Most swimming academies in the UAE start the same way. One coach, one pool, a handful of families, and a WhatsApp group called something like "Dolphins Saturday 9am". It works, and nobody needs software.
Then the academy grows. Two coaches, weekday evening slots after school, a second pool across town. Somewhere around 30 to 50 families the group chat stops being a convenience and becomes the job.
This post is about running a small academy's timetable, make-ups, reminders and monthly fees without living in WhatsApp. It comes from what we have seen building TeamNa with academies in the pilot, not from a consultant's deck. One worked example runs through it: an academy with 120 children across 40 weekly slots, charging AED 600 a month per child.
Why do WhatsApp groups break at 30 to 50 families?
Three things go wrong at roughly the same time.
Schedule changes get missed. You post at 7pm that Tuesday's 5pm group moves to 5:30pm because the pool has a school gala. Twelve parents see it. Four are driving, one has the group muted because it pings 40 times a day. Two families arrive at 5pm to an empty lane. They just did not scroll far enough.
There is no record of who agreed what. A parent asks in a private chat if Sara can swap from Saturday to Sunday. You say "yes, from next month". Six weeks later you are both scrolling through hundreds of messages to find it. Multiply that by make-ups, holds during travel, and "I paid on the 3rd, check your bank". Every agreement lives in someone's phone.
The owner becomes the single point of failure. At 120 children the owner is answering 40 to 80 messages a day, most of them about things a timetable could answer. Take a week off and everything stalls.
None of this is really a WhatsApp problem. The problem is using a chat tool as a timetable, a register, a contract and a ledger at the same time.
What does a fixed weekly slot model actually need?
Kids' swimming is almost always a fixed weekly slot: the same child, the same time, the same lane group, every week for a term. That is far easier to run than open bookings, but it needs four pieces of structure a group chat does not give you.
Term dates. Most UAE academies follow the school calendar: late August to December, January to late March, April to June, then a summer schedule when outdoor pools move to early mornings. Write down each term's start and end, the holidays you close for, and the weeks where hours change (Ramadan evenings, the first week of school). Parents can plan around a calendar, not a Friday-night message.
Lane groups. Each slot is really a set of lane groups: Stage 1 in the shallow end, Stage 3 in lane 2, squad in lanes 3 and 4. The group is what a child belongs to, not the slot. When a child moves up a stage they move group, ideally without moving time.
Instructor ratios. Learn-to-swim at 1:4 or 1:5, improvers at 1:6, squad at 1:8 or more. The ratio is what tells you whether a group is full, and therefore whether you can say yes to a new family or a swap. Without it, "full" is whatever the coach feels on the day.
A register. Someone marks who was in the water. The register drives make-ups (did the child miss, and why), protects you in a fee dispute, and is what a new coach opens on day one.
Here is the worked example written down.
| Item | Worked example |
|---|---|
| Children enrolled | 120 |
| Weekly slots | 40, across 6 days and 2 pools |
| Average children per slot | 3 (range 2 to 8) |
| Lane groups | 55, one to three per slot |
| Ratio, Stage 1 and 2 | 1:4 |
| Ratio, Stage 3 and up | 1:6 |
| Monthly fee per child | AED 600 |
| Monthly fee revenue | AED 72,000 |
Once this exists, most daily questions answer themselves. "Is there space on Thursday at 4pm?" is a look at the ratio, not a call to the coach.
How should make-up lessons and business cancellations work?
Make-ups are where academies lose the most goodwill and the most money. The fix is a written policy with two halves, treated differently.
When the family cancels. Pick a cut-off and stick to it; 24 hours is common and fair. Cancel before it and the child gets a make-up credit. Cancel after it, or no-show, and the lesson is used. If you want to be generous, allow one late cancellation a term and say so up front. Cap make-ups at two a month, to be used within the term, in a slot with space in the right stage. Uncapped make-ups turn into a second timetable you did not plan for.
When the business cancels. Pool maintenance, an instructor off sick with no cover, a lightning warning at an outdoor pool, a July heat advisory that shuts the uncovered lanes at midday. None of that is the parent's fault, so the credit always comes back, no cut-off, no questions. The only decision is how: a make-up in the same term, or a deduction from next month's fee. Pick a default and offer the other on request.
Rule of thumb: the side that cancels carries the cost. A parent who cancels late uses the lesson. A business that cancels for any reason returns the credit, every time, without being asked.
That rule fits on one page that parents sign at enrolment. It is also fixed in TeamNa's policy engine: business cancellations always return the credit; the academy sets its own cut-off and late rule.
Two practical notes. Do not do make-ups by private message; publish a short list of slots with make-up space each week (the ratio tells you which) and let parents pick from it. And expire unused make-ups at term end. A family with nine banked make-ups in June is a liability you have been quietly accumulating.
Which reminders actually reduce no-shows?
Reminders work, but only if they are timed and worded for how parents actually live.
The day-before reminder, around 6pm. After the school run, before bedtime, when the family is planning tomorrow. Child's name, time, pool, one line on what to bring: "Reminder: Omar, tomorrow (Wed) 5:00pm, Stage 2, Al Barsha pool. Goggles and a towel." That is it.
The morning-of reminder for early slots. For 7am and 8am weekend slots, a short message at 6:15am cuts no-shows noticeably. For after-school slots it starts to feel like nagging.
The change message, sent the moment something changes. If a slot moves or a coach is swapped, tell the affected families directly and individually, not as a line in a group. Put the new time in the message, not "see the updated schedule".
Leave out marketing, long paragraphs, and anything that needs a reply. A reminder is a fact, not a conversation.
Parents in the UAE read WhatsApp, and that is fine. The reminder does not have to come from a group; it can come one-to-one, with a push notification as backup. What matters is that it is generated from the register and the timetable, so it is right, and nobody typed it at 6pm on a Tuesday.
How do you collect monthly fees without chasing?
At AED 600 a child and 120 children, the academy in our example invoices AED 72,000 a month. If 15 percent of families pay a week late and 5 percent need repeated reminders, the owner is chasing around AED 14,000 every month. That is a policy problem, not a payment problem.
Fix the invoice date. Bill everyone on the same day, the 25th for the month ahead. One date, not "when they signed up". Parents get used to it, and you can see at a glance who is outstanding.
Set a grace period and a consequence. Seven days is reasonable. After that, the place is held but the child does not swim until the fee clears. This sounds harsh. It is kinder than an awkward poolside conversation, or letting it drift to two months and losing both the money and the family.
Automate the two reminders you would send anyway. One on the invoice date, one when the grace period ends. Neither needs a person.
Take card payment. Bank transfers arrive with reference fields like "swimming" and no name, and someone has to reconcile them. A card link on the invoice removes the reconciliation and most of the "I paid on the 3rd" conversations. In TeamNa, card payments run through a licensed payment provider and TeamNa takes a percentage of each transaction rather than a subscription; the service agreement sets out how that works.
| Fee step | Day | What happens |
|---|---|---|
| Invoice issued | 25th | Automatic message with amount and pay link |
| Reminder | 1st | Only to families not yet paid |
| Grace ends | 2nd | Place held, swimming paused, second automatic reminder |
| Follow-up | 9th | A call from the owner |
| Release the slot | 16th | Place offered to the waitlist |
Applied to the example, chasing drops to a handful of families a month. The money does not change; the timing does.
WhatsApp group vs booking app vs spreadsheet plus WhatsApp
A plain comparison across the jobs an academy owner actually does each week.
| Weekly job | WhatsApp group | Spreadsheet plus WhatsApp | Booking app |
|---|---|---|---|
| Know who is in each slot | Scroll and remember | Look up the sheet | Open the timetable |
| Tell parents about a change | Post and hope | Edit the sheet, then post | Affected families only |
| Mark attendance | Not really | Coach fills a column later | Coach taps on the poolside |
| Handle a make-up request | Private chat, remembered | Private chat, then edit the sheet | Parent picks from open slots |
| Cancel a slot (pool closed) | Post in every group | Post in every group, adjust sheet | Credits returned automatically |
| Send reminders | Type them by hand | Type them by hand | Sent from the register |
| Invoice and chase fees | Message each family | Sheet says who owes, message each | Pay link on the date, then reminders |
| Owner away for a week | Everything stalls | Mostly stalls | Runs |
The spreadsheet column is not a joke. Many well-run academies live there for years, because the sheet becomes the record. Its weakness is that the sheet and the messages are two separate things a person has to keep in sync, and that person is the owner.
What do you tell parents when you move off the group chat?
Parents do not care about your software. They care about when their child swims, what to bring, and not being overcharged. So the message is about that, not about an app.
Send it two weeks before the change, then again the week before:
"From 1 October, lesson reminders, schedule changes and monthly invoices will come to you directly rather than through the group. You will get a reminder the evening before each lesson, an invoice on the 25th, and a direct message if anything changes. To request a make-up or a swap, use the booking link rather than messaging a coach, so nothing gets lost. The group stays open for two more weeks for questions, then we will close it. Our cancellation and make-up policy is attached; nothing in it has changed from what we already do."
Three things matter there: a date, the specific things the parent will now receive, and the reassurance that the rules are the same rules. Most parents are relieved. The ones who push back usually liked asking for exceptions by private message, and a clear policy is the honest answer to that.
Keep one private channel for real conversation, such as a child with an ear infection or one nervous about the deep end, and answer it within the day.
What to do this week
You do not need to change tools this week. You need to write four things down.
- Term dates for the rest of the year, with closures and Ramadan hours.
- Your slot list with lane groups, ratios and a named instructor per group.
- A one-page cancellation and make-up policy using the rule of thumb above.
- An invoice date, a grace period, and what happens on day eight.
Send them to every family as one message. That alone removes most of the questions that make the group chat unbearable, whatever you run it on afterwards.
If you would rather not build the register, reminders and invoicing yourself, TeamNa is in a private pilot with a small number of UAE academies and studios. Fixed weekly slots, the cancellation policy engine, reminders and monthly fees with card payment are all in it today. You can ask for early access and we will tell you honestly whether it fits your setup.