School timetabling, solved

The timetable that builds itself.

Tell Orua your teachers, rooms and their preferences. It generates a complete, clash-free school timetable in minutes — and fixes the conflicts you'd spend weeks chasing by hand.

CP-SAT solver · weekly & fortnightly cycles

Mon
Tue
Wed
Thu
Fri
1
English
Maths
Science
Music
2
Maths
History
Science
PE
3
English
Art
PE
Geography
4
Science
Maths
History
English
✓ 0 clashes5-day cyclelive preview

0

Hard-constraint violations, guaranteed

Minutes

To generate, not weeks by hand

3-way

View by class, teacher or room

CSV

Import & export

How it works

From a list of teachers to a published timetable.

01

Describe your school

Add teachers, rooms and room types, subjects and classes — by hand or from a spreadsheet. Set your bell times and cycle (weekly or fortnightly).

02

Set the rules & preferences

Which teacher takes what, who needs Fridays off, max consecutive periods, which subjects need a lab or a gym. Hard rules are non-negotiable; preferences are optimised.

03

Generate

The CP-SAT solver searches millions of arrangements and returns a complete, clash-free timetable in minutes — with a score showing how well it honoured every preference.

04

Adjust & publish

View by class, teacher or room. Nudge anything by hand with live clash-checking, then publish the finished timetable.

The solver

A real constraint engine, not a guessing game.

Under the hood is Google OR-Tools CP-SAT — the same class of solver used for industrial scheduling. It separates the rules that must hold from the preferences it should optimise, then finds the best arrangement it can within your time budget.

Every result is re-checked by an independent validator before it's saved, and the database rejects any double-booking outright. A clashing timetable can't be stored — ever.

Hard rulesnever broken
  • ▪No teacher in two rooms at once
  • ▪No room booked twice in a period
  • ▪No class scheduled against itself
  • ▪Specialist subjects only in matching rooms
  • ▪Teachers only teach their subjects
  • ▪Every required period actually placed
Preferencesoptimised
  • ▪Preferred periods & days off
  • ▪Cap on consecutive lessons
  • ▪Minimise idle gaps between classes
  • ▪Spread a subject across the week
  • ▪Keep a class in the same room
  • ▪Balance load across staff

Rooms that matter

Specialist rooms, handled.

Science needs a lab. PE needs the gym. Music, art and tech each need their own space. Tell Orua which rooms are which, and specialist subjects will only ever be scheduled where they can actually run.

Science labGymnasiumMusic roomArt studioTech workshopComputer labGeneral

Get set up fast

Import from a spreadsheet.

Bring your existing staff, classes and student lists in from a CSV in minutes — no manual re-entry. Export the finished timetable back out the same way.

CSV→Orua→Published

Built for

The person who actually has to make the timetable work.

Timetablers

Stop hand-resolving clashes. Generate a working draft, then fine-tune the bits only you understand.

Deputy principals

A defensible, preference-aware timetable you can explain — with a score that shows the trade-offs.

Small & large schools

From a single campus to 80+ staff. Pick your size on signup; the solver scales with you.

Questions

Good to know.

How is this different from doing it in a spreadsheet?+

A spreadsheet can't tell you that moving one class creates three clashes elsewhere. Orua treats the timetable as a constraint problem and solves the whole thing at once — then guarantees no hard rule is ever broken.

What does “clash-free by construction” actually mean?+

The solver can only produce schedules that satisfy every hard constraint. On top of that, each result is independently re-validated before it's saved, and the database itself rejects any double-booking. A clashing timetable is impossible to store.

Does it handle fortnightly / multi-week cycles?+

Yes. Set your cycle to 5 days, 10 days, or whatever your school runs — the solver schedules across the full cycle, including double periods.

What if no valid timetable exists?+

Instead of a vague failure, Orua tells you why — the conflicting requirements, the missing rooms or staff — so you know exactly what to relax.

Build next term's timetable this afternoon.

Create your school, add your staff and rooms, and generate a clash-free timetable today.