Swim schools break most booking systems in the same three places: one parent pays for two children in different stages, a class fills at four in one lane and eight in the next, and the whole thing is sold by the term rather than the session. None of that is exotic — it's just not what a generic class timetable was built for.
Mostly admin, and mostly caused by the shape of the software rather than the size of the school.
Two children, two stages, two different nights, one parent paying. Systems that assume one person per account push schools into fake accounts, shared emails and manual invoice merging. A parent record holding several swimmers — each with their own stage, register and progress — removes an entire category of weekly admin.
A beginner lane at four-to-one and an improver lane at eight are different products in the same pool at the same time. Capacity has to be per class and per lane, and it has to be enforced when the booking is made — because the moment it becomes a conversation at poolside, it becomes a compliance risk.
A term is a dated block with half-terms, bank holidays and pool closures cut out of it, sold as one price. Set those exclusions once on the calendar and the schedule, the register and the invoice all agree. Rebuild the term by hand every time and they eventually won't.
Swim schools live or die on how many families come back next term. Knowing who is due to progress, who has stopped attending and who hasn't re-enrolled yet — before the term ends — is worth more than any acquisition campaign. That's segmentation on your own attendance data, which is included on every plan.
Set up in that order and the rest follows.
Lanes as resources with their own capacity, so parallel classes at different ratios don't collide.
Each stage as a class with its own ratio, instructor and progression path.
Dated blocks with half-terms and closures excluded once, applied to schedule and price together.
Parent accounts holding multiple swimmers, one invoice, payment through your own gateway.
Yes, and it needs to. One paying adult can hold several swimmers, each with their own stage, class, attendance record and progression, while the invoice and the payment method stay on the adult. A system that only knows about one person per account forces you into fake accounts and duplicate emails.
Classes are set up per stage with their own capacity and ratio, and a swimmer is enrolled into a stage rather than into a single lesson. When they progress, they move to the next stage's class and the term billing follows them, so nobody has to cancel and re-enrol.
Yes. Capacity is set per class and per lane, so a beginner stage running four-to-one fills at four while an improver class in the next lane fills at eight. The limit is enforced at booking, which is what keeps you compliant when a parent tries to add one more on the day.
A term is a block of dated sessions billed as one enrolment, paid up front or monthly through your own payment gateway. Half-term breaks and closures are set once on the calendar so they are excluded from the schedule and the price.
Full stages hold a waiting list, and a place released before the term starts is offered onward automatically. Make-up lessons are booked into a spare place in an equivalent stage, so the child stays at the right level rather than being slotted into whichever lesson had room.
Free to start. No card needed, no commission on your bookings.