School Timetabling, Engineered for Real Academic Complexity.
Coordinate multi-level class hierarchies, co-teaching, synchronized elective blocks, and room specifications. Powered by the mathematical certainty of Google OR-Tools CP-SAT.
Hard Feasibility
Mathematical non-overlap guarantees for teachers, groups & rooms
Soft Constraints
Configurable 0–100% priority sliders for teacher welfare & pedagogy
Student Hierarchy
Year → Group → Subgroup trees with parallel elective splits
Conflict Diagnosis
Minimal conflicting set reporting when requirements clash
Built for Modern School Operations
Every tool administrators need to model complex academic structures, generate conflict-free schedules, and empower teaching staff.
Multi-Tier Student Structure
Structure students into arbitrary-depth trees: Year levels, whole Class Groups, and specialized Subgroups (e.g., German vs. French electives). Sibling subgroups schedule in parallel while parent groups correctly conflict.
Co-Teaching & Synchronized Blocks
Assign multiple teachers to a single lesson with simultaneous conflict prevention. Link parallel activities into shared blocks that are mathematically guaranteed to start at the same time in separate rooms.
Interactive Drag-and-Drop & Re-Solve
Need to tweak a generated schedule? Drag lessons to move or swap them with instant client-side hard constraint validation. Lock desired placements and let the CP-SAT engine re-optimize only the unlocked lessons.
360° Grid Views & Export
Switch views between Class Groups, Teachers, and Rooms seamlessly. Export full schedule datasets to formatted calendar-order CSV or produce clean print/PDF sheets with preserved subject color-coding.
CSV Bulk Import & Templates
Onboard an entire school in minutes. Download pre-formatted CSV templates for Teachers, Rooms, Subjects, Class Hierarchies, and Lessons. Validate and import hundreds of records with full error feedback.
Dedicated Teacher Portals
Multi-tenant cloud architecture with role-based access. Send email invitations to staff so teachers can log into their own personalized, mobile-friendly schedule dashboard with upcoming classes and room assignments.
Mathematical Constraint Programming
Timetables aren't built on guesswork or fragile heuristics. Our engine implements Google OR-Tools CP-SAT to rigorously enforce hard requirements while optimizing quality trade-offs.
9 Inviolable Hard Constraints
Every timetable is guaranteed 100% conflict-free
- Resource Uniqueness: Zero double-booking for any teacher, class group, or room across any period.
- Room Suitability & Tags: Enforces room capacity $\ge$ class size and matches required tags (e.g. Science Labs, Gym).
- Teacher Unavailability: Respects individual unavailable periods for part-time teachers and external duties.
- Break & Lunch Schedules: Universal break enforcement preventing lessons during designated school breaks.
- Department Meeting Windows: Automatically frees all department members during dedicated meeting slots.
- Fixed Lessons & Blocks: Pins pre-assigned assemblies and locks parallel elective groups to start together.
11 Weighted Soft Constraints
Fine-tune pedagogical quality with 0–100% priority sliders
- Teacher Welfare: Penalize exceeding maximum consecutive periods, daily load, and room changes.
- Subject Distribution: Spread subjects across days to avoid fatigue (or bunch consecutive lab periods).
- Student Gap Minimization: Eliminate "Swiss-cheese" idle slots in student timetables.
- Days & Span Limits: Configure min/max days per week and maximum first-to-last period span per day.
- Preferred Start Slots: Guide lessons toward optimal candidate time slots without strict locking.
- Per-Constraint Weighting: Independently adjust weights from 0% (disabled) to 100% (full priority).
From Data to Master Timetable in 4 Steps
A streamlined workflow designed to save academic coordinators hundreds of hours each semester.
Model Your School
Define your period grid, break times, and import teachers, rooms, subjects, and multi-tier class hierarchies via CSV or interactive forms.
Configure Rules
Set up co-teaching, parallel elective blocks, department meeting slots, teacher unavailabilities, and fine-tune soft constraint weights.
Generate with CP-SAT
Launch cloud generation. The CP-SAT solver computes an optimal, zero-conflict schedule, or returns exact conflict diagnostics.
Refine & Distribute
Drag-and-drop tweaks with "Lock & Re-solve", export to calendar CSV and print-to-PDF, and publish individual teacher schedules.
In-Depth Guides for School Administrators
Everything from setting up your first period template to handling elective blocks and diagnosing impossible constraints is documented directly inside the app.
Recommended setup sequence for new schools
Comprehensive breakdown of all 9 feasibility rules
Balancing workload limits and subject spreads
Drag-and-drop validation and instance locking
Templates and formatting rules for batch uploads
Answers to common edge cases and solver questions
Got Questions? We Have Answers.
How does Timetabler guarantee zero conflicts?
Unlike heuristic or genetic algorithm tools that might settle for "mostly working" schedules, Timetabler uses Google OR-Tools CP-SAT (Constraint Programming with Satisfiability). Hard constraints—such as teacher, room, and class non-overlap, capacity, and breaks—are mathematical boundaries. A timetable is only generated if every single hard constraint is strictly satisfied.
Can we schedule parallel electives or language splits?
Yes. Using our Simultaneous Activity Blocks and multi-tier student hierarchy, you can split a class into subgroups (e.g. 10A-French and 10A-German) and assign them to the same Block. The solver will synchronize their start slots exactly, while ensuring they are assigned distinct rooms and teachers.
What happens if our school requirements are mathematically impossible?
If your inputs cannot be solved (for instance, if a teacher is required to teach more hours than available slots, or if room capacity is exceeded), the system will not hang or give a generic error. The built-in Diagnoser isolates the minimal conflicting set of constraints and reports exactly which teacher, room, or lesson is causing the bottleneck.
Can we make manual adjustments to a generated timetable?
Absolutely. The interactive timetable editor lets you drag lessons to move or swap them on the grid. Every move is instantly verified against hard constraints to prevent accidental conflicts. You can also pin specific lessons and run "Lock & Re-solve" to let CP-SAT re-optimize only the remaining unpinned periods.
How do constraint weights work?
Soft constraints (like avoiding consecutive teaching periods, minimizing student gaps, or spreading subjects evenly across the week) each have an independent 0–100% weight slider. Setting a weight to 0% disables its penalty entirely, while 100% enforces full optimization priority.
Can teachers see their personal schedules?
Yes. School administrators can send invite links to teachers. Each teacher gets access to a dedicated mobile-friendly portal displaying their personal weekly schedule, room assignments, and upcoming lessons.