FOR LEARNING CENTER & COURSE OWNERS
Bukujanji is learning center management software and a class booking system for course providers, tutoring centers, training institutes (LKP), and studios in Indonesia. You build the weekly timetable once and it keeps running, capacity is counted per session, and a parent registers from their own account while the participant on record is their child — date of birth included. A full class no longer loses interested families, because they join a waitlist, and specific classes can be locked so only membership holders may book them. Attendance is recorded per participant per session, so you know who actually showed up. One subscription per outlet from Rp 249,000/month, with no per-transaction fees — however many families enroll, the bill stays the same.
Every new student means dozens of WhatsApp chats: schedule questions, a Google Form link, then another confirmation, then a transfer receipt to check by hand. Your admin spends hours copying data into a spreadsheet, and one message that sank means a lost enrollment or a duplicate record.
Schedules kept on a whiteboard or in Excel clash easily — two classes fighting over one room, a teacher double-booked. Meanwhile parents keep asking "what time is class tomorrow?" because there is nowhere they can check the schedule themselves.
Without an automatic seat counter one session overflows while another runs with two students. Worse, when a class is genuinely full, interested parents get a "sorry, it's full" reply and vanish — nowhere recorded, nobody to call back when a seat opens up next week.
The right column isn't a roadmap promise — every line is a feature that exists today.
The old way
After moving to Bukujanji
Registration over WhatsApp chats and Google Forms, then retyped into a spreadsheet.
Parents register from your class link; student and booking data lands in one database.
The schedule lives on a whiteboard or in Excel; every day someone asks “what time is class tomorrow?”
An online weekly timetable parents can check anytime.
Seats counted by hand — one class overflows while another runs half-empty.
Capacity per session; once full, booking closes by itself.
When a class is full, interested parents get a “sorry, we're full” and vanish.
They join a waitlist; when a seat opens, the first in line is notified and your admin gets a follow-up list.
Attendance ticked in a notebook, re-tallied at month's end.
QR check-in at the door, attendance per participant per session, exportable reports.
Transfer receipts checked one by one in a phone gallery.
Online payments (QRIS, bank transfer) confirmed automatically.
Case study
“We run many kinds of classes: cooking, sensory, even chess. We thought it would get complicated, but handling customer bookings with Bukujanji turned out to be really easy. A website with our own domain also makes our brand look more professional and trusted.”
Define a class once — piano on Monday afternoons, phonics on Wednesday mornings — as a weekly recurring pattern, and sessions appear on the timetable by themselves. Edit the pattern and upcoming sessions follow; you can also reschedule a single session, swap the instructor, or move it to another room.
A parent keeps one account and saves each of their children as a participant, then picks who is attending at booking time. The attendance sheet shows the child's name, and you can require a date of birth plus set an age range for the class.
Accept QRIS, GoPay, and bank transfers via BCA, BNI, BRI, Mandiri, and Permata, with payment status confirmed automatically. Sell an 8-session package or a monthly membership from the same system — and lock certain classes so only membership holders can book them.
Your learning center gets a profile page on bukujanji.com with your timetable and a registration button, while every student and booking lives in one database behind a sales dashboard and analytics.
Mark attendance per participant per session — including QR check-in at the door — then open the class attendance report with a summary and an export. This sits in the core system; no add-on required.
Once a session hits capacity, booking closes by itself and interested parents can join the waitlist instead. When a seat is released, the first in line is notified automatically, and your admin gets a follow-up worklist to record how each one ended.
You lay out the weekly recurring pattern once and it keeps running: capacity is counted per session, a full session opens a waitlist, and specific classes can be locked to membership holders.
Class A
09.00 · quota 8/10
Class B
16.00 · quota 5/12
Class C
10.00 · FULL — waitlist 2
Class A
09.00 · quota 6/10
Class D
19.00 · members only
Class B
16.00 · quota 9/12
Class C
10.00 · quota 4/10
Class A
09.00 · quota 10/12
Class B
13.00 · quota 7/12
Closed
An illustration of a weekly schedule pattern — not live data from any outlet. Class names, times, and quotas are examples only.
Book a 30-minute demo with our team at merchant.bukujanji.com/demo. After the demo, your learning center's account is created the same day, ready to be configured.
Add your classes, set weekly recurring sessions, and define capacity per session plus an age range where it matters. Add session packages or memberships if you sell them.
Complete outlet verification and register one bank account, then switch online payments on — until you do, class prices stay hidden and parents cannot finish a registration by themselves.
Send the link through WhatsApp, Instagram, or a brochure. Parents pick a schedule, register their child as the participant, and pay online — anytime, 24/7.
New bookings, payment status, which sessions are full and which are quiet, who is on the waitlist, and attendance per session all sit in one place — across every branch.
Bukujanji's core system — the weekly class timetable, capacity and waitlist, participant records, attendance and class attendance reports, online payments, the dashboard, and your profile page on bukujanji.com — comes in one subscription per outlet: Starter at Rp 249,000/month for a single location, or Rp 199,000/month billed yearly. Nothing is skimmed from your transactions, so a term with a full intake never inflates your bill. Learning centers with several branches use Pro at Rp 549,000/month per outlet, with no limit on outlets, and subscriptions start with a demo with our team.
Every add-on below is optional and priced outside the plan — a website on your own domain is already part of the subscription. Add only what your institution needs: automatic WhatsApp schedule reminders, HR attendance for your teaching staff, or per-branch accounting.
Automatic lesson reminders on WhatsApp, plus a heads-up when a child's membership or remaining sessions are close to running out — so parents renew before the next class slips by. Tokens are prepaid and spent only on messages actually sent.
Send announcements to your parent database — a new term opening for registration, an extra class, or a school-holiday program.
An official WhatsApp Business number in your institution's name, with an AI assistant answering from it 24/7. The questions that flood your chat — is there still room in Saturday ballet, what time is guitar this week, how many sessions are in the package — get answered from your own outlet data (classes, prices, schedules, promos, memberships), and the assistant then shows a button that walks the parent through finishing the registration in the same conversation. Reminders and blasts go out from that number too, 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.
Most learning centers, course providers, and tutoring businesses in Indonesia still take registrations through WhatsApp and Google Forms. It feels cheap, but the cost is hidden: admins spend hours answering the same questions, student data scatters across chats and spreadsheets, and enrollments get lost simply because a message sank. The pattern repeats across the board — tutoring centers and training institutes (LKP), music courses, dance classes, children's gymnastics, art classes, chess, coding and robotics, sensory and baby-and-me classes, and language courses. A class booking system moves the whole process onto one online calendar, where a parent picks a schedule, fills in participant details, and pays right away.
Then there is the schedule itself. As long as it lives on a whiteboard or in an Excel file, room and teacher clashes are almost guaranteed — and parents will keep asking what time class starts because they have nowhere to check. With an online class booking app, the weekly timetable sits on a page anyone can open at any hour, each session has a capacity limit, and full sessions close themselves. You stop being the human middleman between a whiteboard and a hundred WhatsApp threads, and teachers can simply teach.
As learning center management software, Bukujanji is built around the weekly class timetable. You create a class once — beginner guitar every Tuesday and Thursday afternoon, say — as a recurring weekly pattern, and the system generates the sessions for you. Change the pattern and the upcoming sessions follow, while a single session can still be rescheduled, handed to a different instructor, or moved to another room. Memberships can be valid across branches, so a group with several locations still runs from one account.
Every registration quietly builds your student database: who attends which class, when they last booked, and how their payments look. Attendance belongs here too — you mark it per participant per session, use QR check-in at the door, and open a class attendance report with a summary and an export when a parent asks how many sessions their child actually attended. That is part of the core system, not an add-on.
For day-to-day operations at the front desk, every account also includes Bukukasir at no extra cost — a mobile POS app with a transaction calendar, transaction history, and a customer list. When a parent walks in and registers on the spot, your admin records the transaction from a phone and it lands in the same database as your online bookings. There are no two sets of books to reconcile at closing time.
In almost every other booking system, whoever holds the account is whoever attends. That breaks the moment the customer is a parent. Bukujanji separates the two: a parent keeps one account, saves each child as a participant, and chooses who is attending at booking time. The name on your attendance sheet is the child's, and each child takes a seat of their own — so a parent enrolling two children books two seats and produces two attendance rows, instead of one booking you have to decode later. Quota, attendance, and remaining sessions are all counted per child, not per account.
Because a child's age is what decides whether a class fits, a class can require a participant's date of birth at booking and carry an age range of its own. That range is stored in months, so "6 to 18 months" or "18 months to 3 years" can be stated exactly rather than rounded into "toddlers", and parents can filter your class list by their child's age. The system records and displays it — it does not silently reject anyone, so the final call on an in-between case stays with you and your teacher.
Capacity is set per session, and once it is reached online booking for that session closes by itself. No more counting sign-ups by hand, and no more discovering that two admins accepted registrations for the same last seat.
What happens next is the part most systems skip. Instead of a dead end, a full session takes a waitlist: the parent joins the queue with a waiting status, and if a seat is released — a cancellation, a reschedule — the first in line by registration time is notified automatically and their entry is marked as notified, while stale entries are marked expired. Your admin gets a worklist on top of that: mark who has been contacted, record the outcome as joined or declined with a reason, and the resulting booking stays linked to the waitlist entry, so you can see how much of that "sorry, it's full" demand actually turned into revenue. An admin can also add someone to the waitlist manually, for the parent who called instead of using the app.
The second gate is membership. A class can be flagged members-only, and that is enforced rather than merely announced: a booking attempt without an active membership is rejected by the system, whether it comes from the online page or from your own front desk. The honest trade-off is that a members-only class carries no per-session price of its own — the price lives in the membership — so your class page tells parents the way in is the membership first. It is a real pattern, not a theoretical one: at one learning center running on Bukujanji, 13 of 15 classes are locked this way, which makes membership the gate into the program rather than an upsell tacked on at checkout.
Course providers and tutoring centers rarely sell single sessions — they sell packages. As a course management app, Bukujanji lets you sell a quota of N sessions with a validity period, or a monthly membership, straight from the system, and those can be valid across all your branches. Bundling helps too: the second and subsequent purchases in one cart can carry an automatic discount, which is exactly what a parent enrolling two children is hoping for. Teacher pay can be handled as a commission per transaction — note that a flat fee per session taught is not part of the system.
Payments run online — QRIS, GoPay, and bank transfers via BCA, BNI, BRI, Mandiri, and Permata — with status confirmed automatically, so you can retire the ritual of matching transfer receipts by hand. One thing to plan for: online payment is not on by default. Your outlet has to be verified and have one active bank account before you can switch it on, and until it is on, class prices stay hidden and parents cannot complete a registration themselves — your page still works as a showcase and an enquiry channel, but the self-service part starts the day you enable it.
Not every business selling classes teaches a school subject. Dance studios, ballet schools, music teachers, art studios, and children's activity centres sell exactly the same shape as a tutoring centre — a repeating weekly session, a limited quota, a package of so many meetings — but the parent chooses on different grounds. The measure is not an exam target; it is whether the child is interested and whether the hour fits the family's week. So what has to be legible in the catalogue is not a syllabus but the class name, its level, the day and time, the age range, and how many places are left.
The mechanics are already there, with no special adaptation. The level goes in the class name — Foundation, Beginner, or whatever grade naming your studio uses — so one studio can run children's ballet, teen hip hop, and traditional dance side by side without them blurring into each other. Age limits are entered in months for toddler classes, and parents register the child along with a date of birth rather than just a name. The Saturday-morning class everyone competes for can hold a waitlist, and session packages are sold with a validity period so the remaining balance always has a definite answer.
Two things are worth raising early so nobody is disappointed later. First, the annual recital or showcase — including ticketing and costume fees — is not a feature of its own here; what the system manages is the regular class. Second, the trial class that dance studios lean on to attract newcomers can certainly be sold as a single class or a short package, but the system does not itself enforce that one person may only take it once. That restriction still has to be watched manually.
Winning a new student costs far more than keeping one. That is where reminders earn their keep: with the WhatsApp Reminder add-on (prepaid tokens), lesson schedules go out automatically on WhatsApp, along with a nudge when a membership or a remaining-session quota is running low — parents renew in time and seats don't sit empty for no reason. Session packages and memberships give students a reason to keep coming back, while reviews on your profile page become social proof for the next family deciding between you and the studio down the road.
Your free profile page on bukujanji.com gives your institution an online address people can find through Google — complete with your timetable, packages, and a registration button. When you want your own brand front and centre, the outlet website included in your subscription puts your site on your own domain. And when a parent asks a question in chat, the Easy Booking by WhatsApp add-on can answer from your outlet data and walk them through registering — even while your admin is teaching.
One parent account can hold several children. The name on the attendance sheet is the child's — not the account holder's.
Parents use their own account and save each child as a participant; a class can require a date of birth.
Each class can carry an age range (counted down to the month). At booking, the child's date of birth is matched against it.
Attendance is recorded per participant 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 teachers' hands.