Attendance, prepaid lesson bundles, invoices and online booking for tennis, padel, squash and badminton academies. In your country, your currency, your own database. Every feature exists because a coach was annoyed about something on court.
No signup. The demos are the real product with sample data.
This is the screen a coach actually uses. Tap who turned up, say whether the session happened, save. Everything else — balances, invoices, the waitlist — follows from that one action.
You send your student list. We hand back a working system on your own domain, in your currency. The handover call is an hour.
Publish your weekly slots and share the link. Requests land in the panel for you to confirm — no marketplace, no commission.
Who came, who didn't, and whether rain or you cancelled it. It saves with no signal and syncs when you get some.
Prepaid lessons count down, empty bundles get flagged, invoices come off real attendance. A cancelled session costs nobody a lesson.
Most booking software is a calendar with a payment button bolted on. These are the details that decide whether the numbers still add up at the end of the month.
Attendance records why a session didn't happen. Rained off and coach cancelled are separate outcomes, and neither one spends a prepaid lesson.
Prepaid lessons count down when you take attendance. Delete a session by mistake and the exact students it charged get their lesson back — not a guess at who was probably there.
A balance with no end date is a debt with no end date. Every bundle carries an expiry, and the panel warns you before it lapses.
Group sessions have a cap, four by default. Nobody past the cap is silently dropped — they're held in the order you picked them.
Publish your weekly slots and share one link. Players pick a time and a date, you confirm in the panel. It's a page on your own domain, not a listing on someone else's marketplace.
Courts have bad reception. Failed writes queue on the device and drain when the connection returns. A server rejection is reported instead of retried, so a lost change never hides.
Anyone already marked for a date disappears from the roster. Marking twice would spend a second lesson for a session that happened once.
Raise an invoice, send it, mark it paid by hand. No card processing and no recurring billing — which in most of the world is what a coach actually wants.
Every academy gets a separate database. Not a shared table with a filter on it. These records hold children's names, dates of birth and parents' phone numbers, so the boring safe option wins.
These are the same software, built seven times with different settings — different currency, date format and prices, no code changed. Open any of them: it's the real panel with sample data, running entirely in your browser. Add a student, take attendance, watch a bundle count down.
Tennis and padel. Fourteen players, six weeks of attendance, an overdue invoice and a session that was rained off.
Open demo →Spanish number formatting, euro pricing. Same panel, nothing rewritten.
Open demo →Tennis, padel and badminton on the same timetable. Asia-Pacific formatting throughout.
Open demo →Rand pricing at local rates, not a currency conversion of an American price list.
Open demo →Squash first, tennis alongside it. Court capacity and bundles behave exactly the same.
Open demo →Naira pricing, Nigerian phone formats. One config file's difference from Houston.
Open demo →Same system, no code change: it says Lane instead of Court and starts groups at eight. Config, not a fork.
Open demo →
Sample data only. Nothing you type is sent anywhere, and Reset puts it back.
Each demo also has its booking page at /book.html.
Most academy software charges by member count, which fines you for growing. Sign up thirty juniors in September and your software bill shouldn't move.
Any of them. The panel is built per academy with your currency, date format and language settings, and your database is created in the region closest to you. The six demos above are the US, Spain, Singapore, South Africa, Egypt and Nigeria, and none of them required a code change — only a config file. We price in fourteen currencies and will quote in yours if it isn't listed.
You publish your weekly slots in the panel, and you get a booking page on your own domain. Send that one link to anyone. Players pick a slot and a date and send a request; you confirm it in the panel. It's a request, not a payment, so nothing is charged and no balance moves until you say so.
Yes, whenever you want, without asking. The panel exports everything — students, attendance, invoices, sessions, sponsors — as a single file. It's your database; we just set it up.
You keep the domain, because you own it, and you take an export of your data with you. We'd rather you leave cleanly than feel trapped.
No, deliberately. You raise an invoice and mark it paid when the money arrives — bank transfer, cash, mobile money, whatever your players already use. Card processing would mean fees and compliance work that most academies outside the US and Europe don't want, and it would make us pick one payment provider for the whole world.
Honestly, no. Anything we build goes into the product so every academy gets it, or we don't build it. That rule is the only reason the price can stay where it is — the moment we maintain a special version for one club, everyone pays for it.
About a day, and we do it. You send your student list, we hand you a working system on your own domain. The handover call is an hour, because it's built not to need a manual.
No. It was built in a tennis academy, and it fits padel, squash and badminton with nothing changed — same lessons, same bundles, same court capacity problems. Beyond racquet sports, the words and defaults move: a swim school gets Lane instead of Court and groups of eight, a football academy gets Pitch. That is a setting, not a different version of the software. The swim academy in the demos above is the same build as the tennis ones. If you coach something that runs on scheduled sessions, registers and prepaid blocks, it fits.
Send us your student list and we'll set up a working system for you to look at, in your currency. If it isn't better than what you're doing now, you've lost an email.