Automate and optimize school timetabling
Every school has a system that holds its lessons, teachers, and rooms. Few have anything that builds the timetable, so it often falls to one person working for weeks to avoid clashes. Let's solve that.



One solve schedules every lesson, teacher, and room
Timefold assigns a timeslot and a room to every lesson as one optimization problem. Rooms, teachers, and student groups are never double-booked, so every timetable can actually be taught. Within those rules, the model keeps teachers in one room, closes gaps in their day, and spreads subjects so students don't sit through the same one twice in a row.
Where Timefold goes beyond manual timetabling
Four things decide whether a timetable works for the whole school. Timefold bakes them into the model.
Clash-free by construction
Room, teacher, and student group clashes are hard rules, not something to spot after the timetable is published.
Compact days for teachers
Lessons on the same day sit back to back where possible, so teachers lose less time to idle gaps.
Fewer room changes
Teachers keep to one room where they can, instead of carrying materials across the building between periods.
Rebuild in minutes, not weeks
A new teacher or a closed room means re-optimizing from the previous schedule, not starting the puzzle over by hand.
A timetable shapes every school day
Every lesson needs a teacher, a room, and a timeslot, without clashes for any student group. Building that by hand takes weeks, and one late change can undo much of the work.
The timetable repeats
A poor timetable costs time for every teacher and student, all year long.
Must line up for every lesson
Teacher, room, and student group all have to be available at the same time.
Of manual work for each new timetable
Often done by a few people who know all the exceptions.
Leave less room for error
When teachers are scarce, every hour of their time needs to be used well.
Constraints the model expresses today
No double-booked rooms
A room hosts at most one lesson in each timeslot.
No double-booked teachers
A teacher teaches at most one lesson in each timeslot.
No clashes for student groups
A student group attends at most one lesson in each timeslot, so every class can actually attend every lesson on its timetable.
Timeslot and room in one decision
Every lesson gets both a timeslot and a room in the same solve, so a good time never ends up in an impossible room.
Teachers stay in one room
The model keeps each teacher's lessons in as few rooms as possible, so teachers spend less time moving materials between classrooms.
Fewer gaps in a teacher's day
Lessons a teacher gives on the same day are placed back to back where possible, instead of scattered with idle hours in between.
Subject variety for students
A student group avoids the same subject in two consecutive timeslots, so the day mixes subjects instead of stacking them.
Every clash explained
When a timetable still breaks a rule, the score names the two lessons involved and the room, teacher, or student group they clash on.

When scheduling works, everything works.
Less waste. More control. Teams that trust the plan.