Product architecture
How ClubArena works
A look at the engines that power enrolment, payments, communications and reporting across the portal.
System overview
Clients
Parent portal
Browser, mobile-first
Coach portal
Sessions & attendance
Admin dashboard
Full club control
Application
ClubArena app
TanStack Start · Edge
Rules engine
Enrol, instalments, retries
Webhook router
Stripe · Brevo · Make.com
Integrations
Airtable
20-table schema · EU
Stripe
Payments & instalments
Brevo
Templated email
Make.com
Workflow automation
Core engines
Enrolment engine
- Class capacity & waitlist logic
- Age-group eligibility checks
- Multi-child basket flow
- Sibling discount rules
Payments engine
- Stripe payment intents
- Pay-in-2 / Pay-in-3 instalments
- Webhook reconciliation
- Auto-retry on failure
Communications engine
- Brevo transactional templates
- Segmented campaigns
- Open & click tracking
- Automated reminders
Automation layer
- Make.com scenarios
- Typeform intake → Airtable
- Scheduled session reminders
- Bulk operations
Enrolment flow
1
Browse
Parent filters classes by sport, age, day.
2
Select
Pick class + child. Capacity check runs.
3
Plan
Choose pay-in-full, 2 or 3. Discounts apply.
4
Pay
Stripe Payment Intent. Webhook confirms.
5
Confirm
Enrolment created in Airtable.
6
Notify
Brevo sends welcome + calendar invite.
Payment & instalment rules
| Rule | Trigger | Action |
|---|---|---|
| Pay in 1 | Any amount | Single charge at checkout |
| Pay in 2 | ≥ £80 | 50% at checkout, 50% in 30 days |
| Pay in 3 | ≥ £150 | Three equal instalments, 30 days apart |
| Sibling discount | 2+ children enrolled | −10% from 2nd child onwards |
| Early-bird | Enrolled 21+ days early | −5% applied automatically |
| Failed payment | Stripe returns failed | Auto-retry after 3 days, then alert admin |
Data model
Members
Parents, coaches, staff
Children
Athletes & medical info
Classes
Scheduled programmes
Sessions
Single instances
Enrolments
Member ↔ class link
Payments
Transactions & invoices
Instalments
Split-pay schedules
Venues
Facilities
Coaches
Staff & assignments
Attendance
Session check-ins
Messages
Member ↔ staff threads
Campaigns
Brevo email batches
Templates
Comms designs
Audit Log
All changes tracked
Settings
Admin-configurable
Notifications
Inbox + push
Refunds
Stripe refunds
Discounts
Sibling, early-bird
Waitlists
Overflow capacity
Reports
Saved views