Skip to content

Setting up the timetable

The timetable generator does the hard work, but only if it is told the truth about the school. Nearly every “the generator produced nonsense” complaint is a setup problem.

Go to Timetable → Dashboard.

The timetable dashboard

The dashboard summarises lessons, classes, teachers, rooms and recent timetable versions.

Setup Screen What it tells the generator
Days Timetable → Days Which days are taught
Slots and bells Timetable → Slots / Bells The periods in a day, and their times
Classes Timetable → Classes Who is being timetabled
Subjects Timetable → Subjects The subjects and their weekly lesson counts
Rooms Timetable → Rooms Where lessons can happen, and capacity
Teachers Timetable → Teachers Who can teach what, and their availability
Constraints Timetable → Constraints The rules it must respect

Set every slot in the day, including breaks, lunch and games. Slots that are not teaching periods are marked as such, so the generator works around them instead of scheduling a Physics lesson over lunch.

Bells attach the actual clock times to the slots. These print on the timetable and, where the school has an automated bell, drive it.

Register the teaching spaces, with capacity and any special type — laboratory, computer room, workshop. A subject that requires a laboratory is then only scheduled where one exists, and two classes are never sent to the same room at once.

Allocation comes from the teacher’s registration record. Confirm it here before generating — the generator can only allocate what it has been told a teacher teaches.

Also record availability: a part-time teacher who is only in on Tuesdays and Thursdays must be marked as such, or the generator will schedule them for Monday.

If a teacher is deactivated while they still have lessons in the selected timetable, they remain visible under Timetable → Teachers with Inactive · unassign only. Open or clear those lesson assignments before generating. An inactive teacher cannot be selected for a new lesson, and disappears from the timetable teacher list after their final allocation in that timetable is removed. Reactivate the registration record first if the teacher should continue teaching.

Open a class, teacher, room or subject and select its availability action to mark times when it cannot be scheduled. Choose the bell schedule you recognise, then select individual teaching cells to cycle between Available, Blocked and Prefer not.

Use Select all to mark every usable teaching cell in the displayed bell schedule as Blocked. Break and unused cells are left unchanged. Use Clear all to remove every selected time-off and make the resource available again, then select Save to apply the change.

For teachers, rooms and subjects, the bell schedule is a convenient way to select clock times; the saved restriction applies at those clock times across the active class bell schedules.

Timetable → Lessons sets how many periods a week each subject gets in each class. This is the single most important number in the setup, and it must be arithmetically possible: the total lessons across all subjects in a class cannot exceed the teaching slots in the week.

Add them up before generating. If the class has 40 teaching slots and the subjects sum to 45, no generator can succeed, and the failure message will be less informative than the addition you could have done first.

Constraints are the rules that make a timetable usable rather than merely valid:

  • A subject that must be a double period.
  • A subject that should be in the morning.
  • A teacher’s maximum consecutive lessons or lessons per day.
  • Games or assembly fixed to a particular slot.
  • A class that must not have the same subject twice in a day.

Engine settings controls how hard the generator works and how it weighs competing constraints.

Timetable engine settings

Engine settings define general, soft, hard and scoring constraints.