Education / Timetabling

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.

Weekly

The timetable repeats

A poor timetable costs time for every teacher and student, all year long.

3 resources

Must line up for every lesson

Teacher, room, and student group all have to be available at the same time.

Weeks

Of manual work for each new timetable

Often done by a few people who know all the exceptions.

Staff shortages

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.

FAQ

Do you have questions? We have answers.

Isn't timetabling just filling a grid?
+

Placing one lesson is easy. Placing every lesson so that no room, teacher, or student group is double-booked, while teachers keep compact days in one room and students get a varied day, is not. Move one lesson and it can free a slot for one class while creating a clash for a teacher two periods later. That is a constraint problem, not a grid.

What does the model optimize for?
+

Conflicts come first and are never traded away: no room, teacher, or student group is booked twice in the same timeslot. Within that, the model balances three soft goals of equal weight: keep each teacher in the same room, put a teacher's lessons on the same day back to back, and avoid the same subject in consecutive timeslots for a student group.

What happens when the lessons don't fit?
+

The model still returns its best timetable, and the hard score counts every remaining clash. Each one is explained with the two lessons and the room, teacher, or student group they share, so the timetabler sees whether to add a timeslot, a room, or a teacher.

Can it handle a whole school, not just one class?
+

Yes. The model schedules every lesson of every student group, teacher, and room in one dataset. That is the point: clashes and gaps only appear when all lessons compete for the same timeslots and rooms at once.

How long does it take to build a timetable?
+

You choose how long the model may search. It returns a valid timetable quickly when one exists and keeps improving the soft goals for as long as you let it, so you can stop as soon as the result is good enough for your school.

Does this replace our school management system?
+

No. Timefold sits as an optimization layer next to your school management or student information system. It reads lessons, teachers, student groups, rooms, and timeslots, and returns a timeslot and room for every lesson. Your existing system stays the place where timetables are published to staff, students, and parents.

When scheduling works, everything works.

Less waste. More control. Teams that trust the plan.