FOR SPORTS ACADEMY & CLUB OPERATORS
Bukujanji is sports academy management software for the people running football schools (SSB), tennis and badminton academies, basketball, futsal, padel, swim clubs, and martial arts — karate dojos and taekwondo dojangs alike. Here is what sets it apart from court-finder apps: the age group is the scheduling unit. U-8, U-10, right through U-17 each stand as their own class — with their own weekly schedule, quota, participant roster, and assigned coach, and an age range set per class. Parents register their child along with a date of birth, pay fees via QRIS or bank transfer, and can join a waitlist when the group they want is full. Attendance is recorded per participant per session. One subscription per outlet from Rp 249,000/month, with no per-transaction fees and no per-student fees — the roster grows, the bill doesn't.
U-8 finishes at 16.30, U-12 starts at 16.30, and private sessions squeeze into the gaps — all written on one board or in one chat group. The moment the schedule shifts because of rain, a tournament, or an unavailable coach, nobody knows which version applies, and two groups can show up on the same pitch.
Forms arrive as photos, each child's details get retyped into a spreadsheet, and prospects who missed a seat exist only in the admin's memory. When someone drops out, there is no clear queue order — that empty seat usually goes to waste, even though a queue did exist.
Transfer receipts scatter across phone galleries and the payment recap never matches the student list. It gets worse when a parent asks "how many of the 8 sessions has my child actually used?" — and there is no attendance record to answer with.
The right column isn't a roadmap promise — every line is a feature that exists today.
The old way
After moving to Bukujanji
New-student registration over chat and paper forms.
Parents register their child online — the child's name and date of birth go on record as the participant.
Age-group training schedules re-posted to WhatsApp groups every week.
A weekly timetable per age group, checkable anytime.
A child in the wrong age group is only caught on the pitch.
Each class's age limit is checked automatically against the date of birth at registration.
Session load uncontrolled — one session overcrowded, another empty.
Capacity per session per group; a full session opens a waitlist.
Training attendance scribbled on paper, gone by recap time.
QR check-in, attendance per child per session, exportable attendance reports.
Training packages billed and tracked by hand.
N-session quota packages with a validity period, bought and paid online.
Every group — U-8, U-10, U-12, or your beginner and intermediate classes — is built as its own class with a recurring weekly training pattern, times, pitch or room, and coach. Set it once and sessions publish automatically each week; change the pattern and the change can cascade to the sessions that follow.
Each session carries its own capacity, so a group never gets overloaded. Once it fills up, prospects join a waitlist and your admin can follow up as soon as a seat frees — that queue converts straight into an enrollment. The roster for any session is one click away instead of a manual recap.
Package fees as a monthly plan or a quota pack — 8 sessions with a validity window, for instance. Parents buy and renew on their own via QRIS, GoPay, or bank transfer through BCA, BNI, BRI, Mandiri, and Permata. Specific classes can be locked to active pack holders, and reminders go out automatically when a pack is nearly used up.
Run several training locations from one account, with enrollment and payment recaps per location. Every academy also gets a free profile page on bukujanji.com — carrying the class schedule, packages, and reviews from parents — shareable as a single link.
Attendance is recorded per participant per session, and a class check-in QR can be displayed at the venue for participants to scan on arrival. The class attendance report filters by class, by coach, and by date range, then exports. One honest note: that report counts participants training on a pack or membership.
Two optional add-ons cover the communication side: WhatsApp Reminder sends automatic training-schedule reminders to parents, and Easy Booking by WhatsApp gives you an official WhatsApp Business number in the academy's name plus an AI assistant that answers schedule questions from your own academy data.
One row per age group — U-8, U-10, U-12 — with capacity counted per session. A full session opens a waitlist, so interest that arrives when you're full isn't lost.
16.00
quota 10/14
16.00
quota 12/14
08.00
FULL — waitlist 3
17.30
quota 9/16
16.00
quota 14/16
09.30
quota 11/16
16.00
quota 13/18
17.30
quota 8/18
08.00
quota 16/18
An illustration of a weekly schedule pattern — not live data from any academy. Groups, times, and quotas are examples only.
Book a 30-minute demo with our team at merchant.bukujanji.com/demo. After the demo, your academy account is created the same day — just bring your list of age groups and training schedules.
One class per group: the name (U-10, say), the age range, capacity, coach, then its weekly training pattern. The age range can be entered in years for U-8 through U-17, or in months for early-years classes.
Define a monthly plan or a session-quota pack with its validity window, then switch on online payments. If it helps, lock specific classes to active pack holders only.
Send your academy page link over WhatsApp. Enrollments, waitlist entries, and payments arrive on their own; per-session attendance and the attendance report are there in your dashboard.
Bukujanji's core system — age-group schedules, enrollment, waitlists, per-session attendance, memberships, the student database, and the dashboard — comes in one subscription per outlet: Starter at Rp 249,000/month for a single training location, or Rp 199,000/month billed yearly. Nothing is skimmed from your transactions and there is no per-student fee, so a busy enrollment season never inflates your bill. Academies with several locations use Pro at Rp 549,000/month per outlet, with no limit on outlets, and subscriptions start with a demo with our team.
Everything below is strictly optional and priced outside the plan. A website on your own domain is already part of the subscription, so what remains is all about WhatsApp: switch on only what your academy needs, such as automatic training-schedule reminders on WhatsApp for parents.
Automatic training-schedule reminders sent to parents on WhatsApp, running on prepaid tokens you top up as needed, priced outside the plan.
Announce a new enrollment intake, tournament dates, or a training break to many parents at once in a single campaign.
An official WhatsApp Business number in your academy's name, plus an AI assistant that replies 24/7 from that number. The questions that normally flood your coaches' phones — what time U-10 trains, which pitch, the price of a monthly pack, which classes are pack-holders only — get answered from your own academy data, and the AI then shows a button that walks the parent through completing the enrollment inside the same chat. Schedule-change announcements and training reminders also go out from that number via Meta's official API. AI replies are paid per message with Kreatif AI credits. The add-on is Rp199,000/mo billed yearly. Available on every plan, including Starter.
Coaching is only part of the job. The rest: new intakes arriving over chat, age-group schedules shifting because of rain or a tournament, fees chased family by family, and parent questions arriving every single day. As your participant count grows, that administrative load grows faster than the hours you have — and it is usually the head coach doing it late at night, after the last session.
Most sports apps in Indonesia are built for players hunting an empty court, not for the people running player development. Bukujanji takes the opposite side: enrollment, scheduling, payments, and attendance for operators. The pattern holds across sports — football schools (SSB) and football academies, tennis academies, badminton academies, basketball, futsal, padel, swim clubs, and martial arts: in a karate dojo or a taekwondo dojang, belt levels simply become class names and the scheduling works exactly the same way.
A small academy typically has one or two pitches but five to eight age groups. U-8 and U-10 share the same pitch at different hours, U-15 and U-17 split the evening session, and private classes squeeze into the gaps. As long as all of that lives on a whiteboard and in a WhatsApp group, three things leak routinely: two groups collide on the same hour, one group grows past a healthy coach-to-player ratio, and a child too young for the group trains anyway because nobody checked.
In Bukujanji, each age group stands as its own class. U-8 gets its own weekly training pattern — Mondays and Wednesdays, 16.00 to 17.30, say — along with a per-session quota, a participant roster, and an assigned coach; U-12 gets its own. Because the quota sits on the session, a group stops accepting participants the moment it fills. Because coaches are assigned per class, you can see who handles what without asking. That is what lets one system run six age groups at once without their schedules overwriting each other.
The age range is set on the class itself, and participants are registered with a date of birth — not just a name on a list. You can enter that range in years for U-8 through U-17, or in months for early-years classes where a few months matter. When the schedule shifts because the pitch is booked for a tournament or a coach is unavailable, the session can be rescheduled, the coach swapped, or the location moved — and parents see the latest version on the same page, not in a follow-up message that is easy to miss.
Not every academy sorts its students by year of birth. In a swim club a single class can hold a six-year-old and a ten-year-old who are both still unwilling to let go of the wall, while a classmate of the same age who can already cross the pool moves up a level. Martial arts work the same way through belt grades, and basketball academies usually keep a fundamentals class separate from the squad being prepared to compete. For academies like these, age is only a secondary filter — ability is what defines the group.
Setting that up is just as straightforward: make every level a class of its own and put the level in the class name, exactly the way a dojo does with belts. There is also a built-in difficulty field on a fixed scale running from beginner to master; where the naming your discipline uses does not map onto that scale, such as the level ladder of a swim school, the class name is what carries it. Quota per session keeps the ratio of coaches to students honest — at a pool that is a safety question, not a comfort one. Age limits still work as a filter, expressed in years or in months for the youngest classes.
The limit worth knowing before you commit: Bukujanji does not track level progression for each child and does not issue level certificates. When a student moves up, their registration moves to the next class, but the history of when they went from which level to which is not kept as a record of its own. What the system records is attendance per session. If your swim school issues level certificates, plan a separate route for that.
The popular training hours always fill first — weekday evenings and Saturday mornings. Without a real queue, a prospect who arrives after the seats are gone usually just hears "we'll let you know", then disappears. Yet cancellations keep happening: a child falls ill, a family moves, a pack goes unrenewed.
Bukujanji keeps that queue as a waitlist on the full session. Its status moves from waiting to notified, and your admin can follow up from the merchant side — including adding a parent who called in to the same queue. As soon as a seat frees up, someone in the queue converts into an enrollment without retyping the child's details. The effect is simple: seats that normally go to waste get filled.
This is our most practical difference and the one most often misread, so let us separate it cleanly. Attendance in Bukujanji is recorded per participant per session — not per month, not per class. A class check-in QR can be displayed at the training venue and scanned by participants on arrival, so recording it adds no work for the coach at the touchline.
From those records you get a class attendance report that filters by class, by coach, and by date range — with attended, no-show, and cancelled counts — and then exports for sharing or archiving. One limit worth knowing before you decide: that report counts attendance for participants training on a pack or membership. Participants paying per session (drop-in) are not yet included in it.
What does not exist — and we will not pretend otherwise: progress reports, grades, and per-child skill or milestone tracking. Bukujanji records attendance; it does not assess a player's technical progress. If a per-player technical report card is your main requirement, plan a separate tool for it.
Fees are an academy's financial lifeblood, yet chasing them one chat at a time strains the relationship with parents. In Bukujanji, fees are packaged as memberships or quota packs: a monthly training plan, or a fixed number of sessions with a validity window — 8 sessions to be used within two months, for example. Parents buy and renew online themselves, and the remaining quota drops with each session used, so "how many sessions are left?" finally has an answer.
The honest limit: this is not a subscription that pulls money automatically on a due date, and there is no arrears ledger running by itself. What does exist is an automatic reminder over WhatsApp, email, or app notification when someone's pack is nearly used up or close to expiring — a renewal nudge, not forced collection. For cash paid at the training ground, Bukukasir, included at no extra cost, records the transaction straight from your phone, keeping the daily recap in one place alongside online payments.
What makes a small academy fragile is rarely its student count — it is costs you cannot predict. Three cost models are common in academy management software, and the difference shows up most once the academy gets busy. A per-transaction fee: the provider takes a percentage of every payment that comes in — light at first, but it grows precisely when enrollment finally takes off, and you never know next month's bill.
Per-student fees: the easiest to predict per head, yet they penalise growth — every new child adds to the monthly bill, and it bites hardest at academies with many students on low fees. A subscription per outlet: you pay the same amount whether you have 20 or 120 active participants, so the system's cost goes into the budget once and never needs recalculating each time a new age group opens.
Bukujanji uses the third model: one subscription per outlet from Rp 249,000/month (Rp 199,000/month billed yearly), with no cut per transaction and no per-student fee — the roster grows, the bill doesn't. We will state the consequence plainly: an academy that has just opened with no students yet pays the same figure as one that is full, so do the maths on a realistic first-year headcount. Academies with several locations use Pro at Rp 549,000/month per outlet, with no limit on outlets. The add-on that genuinely is a subscription (Easy Booking by WhatsApp, available on every plan) stays optional and can be switched on later; a website on your own domain is already included.
When an academy adds a second or third training location, multi-branch support keeps it all under one roof: schedules, the student database, and enrollment and payments per location are visible from a single dashboard, and the same pack can be valid across locations so participants may train anywhere. For a tennis school with two venues, this is the foundation of a tennis school management system that does not fracture the day the second venue opens.
Parents' trust is an academy's greatest asset. The free profile page on bukujanji.com carries your class schedule, packages, and reviews from students' parents — a storefront you can share as a single link whenever someone asks. If you want your own identity online, the Outlet Website add-on gives your academy a dedicated website and domain, and as swim club, tennis academy, or football school management software, the same system keeps running behind it.
One parent account, several kids — each child lands on the roster of their own age group.
Parents use their own account and save each child as a participant; registration can require a date of birth.
Each age group carries an age limit (counted down to the month). At registration, the child's date of birth is matched against it.
Attendance is recorded per child per session — including QR check-in — and session capacity counts each child, not each account.
One limit worth knowing: Bukujanji records attendance and quotas — not report cards or grades. Assessing a child's progress stays in your coaches' hands.
Salons, spas, gyms, yoga & pilates studios, learning centers, and other service businesses — one booking platform.
Weekly class schedules, capacity control, parents register their kids & pay online.
Per-court hourly calendar, online deposits via QRIS, zero double bookings.
Run internal or inter-academy tournaments — point-by-point scoring, age groups, and red & orange ball categories.
Book a 30-minute demo with our team at merchant.bukujanji.com/demo — we set up a sample of your age groups and training schedules, and your account is created the same day. Create your first U-8 class, set its age range and quota, lay out its weekly pattern, then start accepting online enrollments. Bukujanji is built by PT Kreatif Sistem Teknologi, Jakarta.