How to Run a Sports Academy: Training Schedules, Attendance, and Monthly Fees
A sports academy is a school, not a court rental
Both businesses use the same courts, yet they run in opposite directions. Court rental is a one-off transaction: someone books the 7pm slot, pays, plays, leaves. You do not need to know their name next week. A sports academy is the reverse — a tennis academy, a football school, a badminton academy, a swim club, a basketball academy — with regular students who return for months, grouped by age and level, coached by specific people, and paying fees on a recurring cycle.
That difference changes what you have to record. For court rental, the only question that matters is who has court 2 at 7pm. For an academy, the questions stack up: who is in the U-10 group, who is the parent and what is their WhatsApp number, has this month's fee been paid, how many sessions are left on the 8-session pack, and which coach has that group on Wednesday afternoon. If you manage an academy with a court-rental mindset, your records will be full of transactions and empty of students.
New student enrollment: the form is not the problem, the follow-up is
Almost any academy can build an enrollment form; a Google Form will do. What leaks is everything that happens afterwards. The child's details land in a spreadsheet while the parent's conversation stays buried in WhatsApp. Someone enrolled but has not paid. Someone paid but was never assigned to a training group. Three months later, nobody at the academy can quickly answer the simplest question: how many active students do we actually have?
What you need is not a tidier form but a single student list that also carries payment status and training group. In Bukujanji, enrollment arrives through your academy page: the parent creates the account, the child is registered as the participant inside the booking, and the record is stored in the customer database alongside its payment history. Enrollments keep arriving while you are out on the court, because the booking calendar has no closing time.
Recurring training schedules: built once, not rewritten weekly
The heart of academy operations is a schedule that repeats. U-8 on Monday and Thursday at 4pm with Coach A; the intermediate class on Wednesday at 5.30pm with Coach B; adults on Saturday morning. As long as that schedule lives on paper or in someone's head, every change — rain, a tournament, an unavailable coach — forces you to re-announce it across several WhatsApp groups, and someone always misses it.
Bukujanji's class timetable is built for exactly this pattern: you create recurring sessions per age group and level, each with its coach, time, and capacity. The schedule publishes itself every week on your academy page, and each group's quota is enforced automatically, so a full class never takes an extra student. The underlying pattern is the same one other class-based businesses use; if that angle is closer to your setup, there is a separate page on class booking systems. BloomingHaus in Pluit, North Jakarta, is one example — a learning center running children's classes on Bukujanji.
Student attendance: recorded per session, by QR or marked by hand
Bukujanji records attendance per student per session, not merely per enrollment. There are two ways. First, QR check-in: you generate one permanent QR for the class, print it, and stick it on the door or the court board — the student or parent scans it on arrival, from the app, from WhatsApp, or through a web page. Second, the coach or admin marks each student present from that session's participant list. A student's membership card can also be scanned on site.
It all lands in a class attendance report you can export to Excel, so "who keeps missing sessions this month" no longer means counting rows in a register. One limit worth stating plainly: Bukujanji records present or absent, not progress reports. If you want to grade technique, track physical progress, or score each student, that stays outside the system.
Monthly fees and the 8-session pack: stop chasing one parent at a time
Chasing monthly fees over chat is awkward, and parents who pay late are usually not unwilling — they simply forgot. In Bukujanji, fees are packaged as memberships or session packs: a monthly training plan, or a pack of 8 sessions. Parents buy and renew them online, paying via QRIS, GoPay, ShopeePay, bank transfer (BCA, BNI, BRI, Mandiri, Permata), or credit and debit cards — all processed through Midtrans and recorded automatically against that student's record.
Two of the most tiresome problems get solved at once. First, "who hasn't paid" turns from scrolling through transfer receipts in a phone gallery into simply seeing whose membership is no longer active. Second, the remaining sessions on an 8-pack stop being a source of argument with parents, because the system does the counting. If your academy trains at more than one location, the same pack can be valid across branches — students can attend at any location without you configuring the pack twice.
Reminders for parents, and coaches who know their own schedule
The two loudest sources of noise in an academy are parents asking "is practice still on tomorrow?" and coaches asking "which group do I have on Saturday?".
For parents, manual reminders cost you nothing to send. Once the volume is too large to handle one message at a time, the WhatsApp Reminder add-on runs on prepaid tokens with no monthly fee, so schedule reminders go out automatically. For announcing a new enrollment intake or a tournament schedule to many parents at once, WhatsApp Blast starts at Rp90,000. And if you want an official WhatsApp Business number in your academy's name, staffed by an AI assistant around the clock, Easy Booking by WhatsApp is Rp199,000/mo (Rp149,000/mo billed yearly). To be honest about its limits: that AI answers from your own academy data — schedules, packs, prices, memberships — then guides the parent through buttons until the booking is completed in the same chat. It does not process the booking itself, and it does not know real-time slot availability.
For coaches, employee scheduling in Bukujanji links each coach to the sessions they run, so the schedule stops living inside one admin's head. When your coaching team grows large enough that you need their work attendance and HR records, that is the point where Bukuabsen (from Rp99,000/mo) starts to make sense — not before.
If you have one coach and ten students, manual is still fine
We will not pretend you need a system on day one. With one coach, one group, and ten students, a spreadsheet plus a single WhatsApp group genuinely is enough. You know every name, every parent knows you personally, and asking for the monthly fee still feels like a normal conversation rather than debt collection.
The signs that manual is losing tend to be specific rather than emotional: you run more than three groups on different schedules; you have more than one coach whose availability must be matched; you cannot answer "how many students haven't paid this month" within a minute; or a parent has already disputed how many sessions they had left. If three of those four sound familiar, the administrative cost you are absorbing already exceeds the cost of a system.
Where to start
Bukujanji's core system — the booking calendar, recurring class timetable, memberships and cross-branch session packs, student database, dashboard, plus a free outlet page on bukujanji.com — carries no monthly fee and no setup cost. But let us be clear: this is not a free system. Bukujanji takes a small share of each successful transaction, so a cost only appears once your academy actually gets paid.
The sensible order is this: get one weekly training schedule right first, then build the fee packages, then share the link with parents. Feature-level detail for academies sits on the sports academy booking system page. If your business is really a hybrid — an academy plus hourly court rental, like BALLPOINT in Bandung — look at court booking systems too, and the full picture on the booking system hub.