School timetabling, solved
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
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
Add teachers, rooms and room types, subjects and classes — by hand or from a spreadsheet. Set your bell times and cycle (weekly or fortnightly).
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.
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.
View by class, teacher or room. Nudge anything by hand with live clash-checking, then publish the finished timetable.
The solver
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.
Rooms that matter
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.
Get set up fast
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.
Built for
Stop hand-resolving clashes. Generate a working draft, then fine-tune the bits only you understand.
A defensible, preference-aware timetable you can explain — with a score that shows the trade-offs.
From a single campus to 80+ staff. Pick your size on signup; the solver scales with you.
Questions
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.
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.
Yes. Set your cycle to 5 days, 10 days, or whatever your school runs — the solver schedules across the full cycle, including double periods.
Instead of a vague failure, Orua tells you why — the conflicting requirements, the missing rooms or staff — so you know exactly what to relax.
Create your school, add your staff and rooms, and generate a clash-free timetable today.