Look at a typical language school timetable and you can read its history. Tuesday and Thursday evenings are stacked three deep. Friday afternoon has one class of five. Saturday morning is the busiest hour of the week and the room allocation makes no sense.
Nobody designed that. It accreted, one reasonable request at a time.
The problem is that peak is real
Parents want after school and weekends. That is not a preference you can market your way out of — it is when children are free.
So capacity at peak is your actual capacity. Everything else is a rounding error, and the school that treats a 9am Wednesday slot as equivalent inventory is going to be disappointed.
Two consequences follow:
Your best rooms belong to your biggest classes at peak. Not to whoever booked first. If your largest room is holding a class of five on Tuesday at 5pm while a class of fourteen is squeezed next door, you are throwing away the only capacity you have.
Off-peak needs a different product, not a discount. Adult conversation classes, exam intensives, one-to-one, corporate groups. A 20% discount on a 3pm slot for schoolchildren does not work, because the constraint is not price.
Build in this order
- Count real capacity first. Rooms times peak slots. This is the ceiling on the whole business, and most owners have never written it down.
- Place the biggest classes first, into the biggest rooms, at peak.
- Place teacher constraints second. Who genuinely cannot do Thursdays, as opposed to who would rather not.
- Fill the gaps last, and treat every remaining peak gap as lost revenue rather than free time.
The clash you cannot see
Teacher double-booking gets noticed within a week, because a human being is standing in the wrong room. Room double-booking often does not, because whoever arrives second quietly moves somewhere else, and it becomes normal.
That silent migration is worth hunting for. It usually points at one room everyone avoids — too small, too hot, next to reception — which means your real capacity is one room lower than your spreadsheet says.
Change it once a term, not once a week
The strongest argument for a stable timetable has nothing to do with efficiency. Families arrange childcare, transport and other activities around your slot. A school that moves classes around is generating withdrawals it never connects to the cause.
Set it at the start of term, hold it, and take the disruption in one planned hit rather than in a trickle.
Schoolory catches teacher and room clashes as you drop a class into place rather than after you save — the classes guide walks through building one.