operationsscheduling

Building a timetable that fills rooms instead of pleasing everyone

Most timetables are the accumulated result of individual requests. That is why Tuesday at 5pm is chaos and Thursday at 3pm is empty.

10 March 2026 2 min read

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

  1. Count real capacity first. Rooms times peak slots. This is the ceiling on the whole business, and most owners have never written it down.
  2. Place the biggest classes first, into the biggest rooms, at peak.
  3. Place teacher constraints second. Who genuinely cannot do Thursdays, as opposed to who would rather not.
  4. 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.

Keep reading

Try it with your own students

Import a CSV, build one week of timetable, send one invoice. If it doesn't beat your spreadsheet by the end of the trial, walk away.

Start free for 14 days

No credit card required.