Full classes and waitlists in Dojo Manager

How Dojo Manager handles full classes: a fair rule for places, a waitlist that books the next person, cancelled classes and late cancellations.

Dojo Manager is the app I’m building to run our karate dojo, Sunshine Coast Karate, and when it’s ready it will also be offered to other karate dojos as an online service. This part is about class bookings: what happens when a class is full, how a class waitlist works, and what to do when you have to cancel a class. Every screenshot comes from a test dojo filled with made-up students.

Bookings sound simple until a popular kids’ class fills up on a Monday afternoon. Who gets the next place? Can a parent book a fourth trial class for the same child? What happens to twelve bookings when the instructor calls in sick? These are the questions this part answers.

A week on the Dojo Manager calendar: kids and adults classes, sparring, and a Saturday Open Mat shown struck through because it's cancelled.
A demo week. The Saturday Open Mat has been cancelled for a public holiday, so it stays on the calendar, struck through.

A full class means full

Before this, Dojo Manager only stopped members and the check-in tablet from overbooking a class. Staff could book any number of people into it, and the free trial places a class offers were only checked for being “more than none”: a class with one trial place would take as many trials as you booked. Now there’s one rule for places, and it’s the same whether a member books on their phone, a parent books for their child, someone checks in at the tablet, or a new family books a free trial from the dojo’s website.

The rule is checked at the moment the place is taken, not just when the screen loads. If two parents press Book for the last place at the same second, one gets it and the other is told the class has just filled.

Staff still have the final say. When a class is full, the booking screen says so, offers the waitlist, and offers Book anyway (over the limit) behind a tick and a confirmation. It’s recorded in the student’s history, so you can see later who was squeezed in.

Confirm Booking for a full Kids Karate class: 8 of 8 places booked, with Add to the waitlist instead ticked and Book anyway (over the limit) offered.
Ivy can’t have a place, so she goes on the waitlist as number 3. Staff could squeeze her in instead.

The same tab also handles trial classes and waivers. A dojo can limit how many free trials one person gets however they’re booked, keep trials for people who’ve never been members, and require a signed waiver before anyone trains. A parent’s waiver covers their children. Without one, the check-in tablet sends them to the front desk, and the instructor’s class list marks them No waiver.

A waitlist that books the next person

I had to choose how a waitlist should behave when a place frees up. One option was to email everyone waiting and let the fastest person grab the place. The other was to book the first person in line automatically. I chose the second: it’s fair, nobody has to watch their inbox, and the place doesn’t sit empty because nobody clicked. The person is told by email that they’re in, and the message can be changed like any other.

The dojo’s rules still apply at that moment. If the first person in line is on a membership hold that day, or has used all their classes for the week, they’re skipped for the next person and keep their place in the queue. Staff see the waitlist under the class, in order, and can move someone up, take them off, or book them straight in.

A class list showing 8 of 8 places taken and a waitlist of two: Archie first, Ella second, each with Book now.
The class is full. Archie and Ella are waiting, in order.
My Schedule on a phone: Kids Karate full with a Join waitlist button, Ella on Waitlist #2 with Leave, Adults Karate booked, and a cancelled Saturday class with its reason.
Sophie’s phone: Ella is second in line, and Saturday’s cancellation shows its reason.

Members and parents join a waitlist themselves from My Schedule, which shows their place in line and lets them leave. The hardest part to get right was quiet: around forty places in the app counted “not cancelled” as “booked”. Every one of them would have counted people on the waitlist towards attendance, class limits, reminders and reports. Each was checked and changed.

Cancelling a class without the chaos

Deleting a class used to be the only way to cancel it, which also made it vanish from everyone’s schedule with no explanation. Now a class can be cancelled instead. It stays on the calendar struck through, with an optional reason that members see in the app and on the dojo’s public timetable. Everyone’s booking is cancelled, any make-up class they’d used on it is given back, and the waitlist is cleared. Nobody can book it, not even staff.

The Cancel Class dialog: a reason, a note that five bookings will be cancelled and make-ups returned, and a tick to write to the people who were booked.
One step: cancel it, then write to the five people who were booked.
The dojo's public timetable on a phone, with the Saturday Open Mat marked Cancelled and the reason underneath.
The public timetable says so too, so nobody turns up to a locked door.

The dialog then takes you straight to a message to the people who were booked. The class keeps a list of who had been booked, so you can call anyone who doesn’t read email. If the instructor recovers, Put the class back restores everyone’s booking, as long as there are still places.

A cancelled class's page: the reason, a Put the class back button, and the eight people who were booked when it was cancelled.
Eight people were booked. Put it back and their bookings return.

Booking windows and late cancellations

Most dojos want one rule for how far ahead members can book and how late they can cancel, and that’s the default. Some classes are different, though. You might want sparring to close three hours before it starts so the instructor can plan pairs, or a black belt class that only opens a week ahead. Each class can now set its own times, and staff are never held to them.

A class's optional booking window: opens (days ahead), closes 3 hours before, and cancel up to 12 hours before.
Sparring closes three hours before it starts. Members cancelling must do it twelve hours ahead.

A late cancellation is one a member makes after that cut-off. Each dojo chooses what that means: either it’s simply recorded, or it still counts as one of their classes for the week. Either way it can start an automation, such as a friendly reminder of the policy. When staff cancel on someone’s behalf, it’s never counted against them.

There’s also an option to mark people absent when nobody checked them in. A set number of hours after a class ends, anyone still showing as “booked” is marked absent, exactly as if an instructor had done it. That means make-up classes are earned and “we missed you” messages go out without anyone remembering to do it.

Dojo Settings, Bookings tab: booking and cancelling windows, late cancellation policy, auto-mark absent after 12 hours, the instructor email, trial class limits, waitlists and waivers.
Every booking rule for the dojo, in one place.

Reminders, confirmations and a morning email for instructors

Booking confirmations and the day-before reminder could have been two more settings. Instead they’re ready-made automations: switch them on, and change the wording, timing, or email or SMS like any other automation. The same goes for the “you’re in” email when someone gets a place from the waitlist.

Instructors get something simpler: one email each morning listing the classes they’re teaching that day. It shows how many people are booked, how many are trials, who’s waiting, and anything that’s been cancelled. It’s the summary an instructor would otherwise have to look up before leaving home.

The instructor's morning email: three classes today with 8 of 8 booked and 2 waiting, 9 of 16 booked with 1 trial, and 5 of 10 booked.
Aiko’s morning email: Kids Karate is full with two waiting, and Adults has a trial.

What’s next

This finishes the booking rules. It was built in four parts, each checked by its own set of automated tests (94 checks in all), with earlier tests run again each time. A few problems only showed up while taking these screenshots: a cancelled class hid who had been booked, and the instructor’s email repeated its own heading. Both were fixed before this post.

Next come some smaller pieces, then push notifications on members’ phones. If you missed it, the first look at grading in Dojo Manager covers belts, theory tests and grading day. If you run a dojo and would like to hear when Dojo Manager is ready, get in touch.

martin Avatar

Written by

Previous post

More from the blog