Skip to content
Box management

A fair waitlist: why the fastest should not always win

Opening at a fixed time, a draw in the first seconds and places offered with time to confirm: how to share out the classes that fill up.

Wodmark team Updated 8 Nov 2026 6 min read

The 7 pm problem

Every box has a class that fills up in seconds. Booking opens a week ahead at a fixed time, and whoever has their phone in hand at that moment gets in. Whoever was driving, working or with the kids does not. Over time the same people are always left out, and some of them leave.

Three things help stop that: an opening that is the same for everyone, first seconds that are not a race, and a waitlist that actually works.

The same opening for everyone

If each phone's clock decides when booking opens, whoever has theirs running fast wins. The server has to set the time, and the countdown each athlete sees has to come from that time, not from their phone. It sounds like a detail; in a class that fills in ten seconds, it is not.

A draw for the first seconds

Even with the same time for everyone, the gap between getting in and missing out can be half a second. An option for the busiest classes: whoever taps during the first seconds after opening enters a draw for the places, with the same chance as everyone else. After that window, booking goes in normal order.

Not every class needs it. A draw makes sense for the classes that fill as soon as they open. For the rest, first come, first served is perfectly fair.

In Wodmark the draw is turned on per class type, choosing how many seconds it lasts. Leave it at zero and there is no draw.

A waitlist that moves

When someone cancels, their place has to reach someone else. There are two sensible ways to do it:

  • In order, with time to confirm. The place is offered to the first on the list, who has a few minutes to accept it. If they do not answer, it goes to the next. It is the fairest for whoever has waited longest.
  • To everyone at once. The whole list is told and the place goes to whoever takes it first. It works better when the class starts soon and there is no time for turns.

Whatever the mode, the athlete has to see their position. «You are on the list» does not help them decide whether waiting is worth it; «you are 2nd» does.

What you see has to be what there is

The last piece is the screen. If an athlete looks at the schedule and it says «2 left», and when they tap there are none, it feels unfair even though nobody did anything wrong. Places and bookings have to update by themselves while the screen is open, and if the last place goes at that moment, the app has to say so and offer the waitlist instead of an error.

Rules worth writing down

No tool replaces clear rules at the box. The ones that prevent the most arguments:

  1. Until when you can cancel without losing the class.
  2. What happens to someone who books and does not turn up.
  3. How many classes each plan can have booked at once.

Post them where athletes will see them, and let the app apply them the same way to everyone.