Timetable Generator
🗓️ Admin Timetable Wizard
Complete the four numbered steps. All classes, subjects, teachers, terms and sessions come from platform dropdowns—no spelling variations. Generation is deterministic and checks a teacher is not placed in two classes at the same time.
🔐 Authorized timetable editors
The published timetable, this wizard and the exam timetable are admin-only by default (v9.2 database update). Grant specific staff edit rights here — everyone else can view but never change a published schedule.
🧭 How this wizard works (read once — 1 minute)
You are building the timetable for the WHOLE SCHOOL AT ONCE — not class by class. The wizard already knows each subject's teacher (from the Subjects module) and prevents any teacher from being in two classes at the same time.
- Step 1 — Describe your school day once: how many periods, how long each is, when the breaks fall. Fridays (or any day) can have FEWER periods and SHORTER periods. Click 💾 Save — it is remembered forever.
- Step 2 — Tick the classes you are building (usually Tick all) and pick the term & session.
- Step 3 — Add each subject once: pick the subject (its teacher appears automatically), type how many periods per week, and untick any class that doesn't take it (e.g. Biology → only SSS classes). Repeat for every subject. Nothing is generated yet.
- Step 4 — Click ⚙️ Generate: the engine builds EVERY ticked class's timetable in one go — randomised, clash-free, honouring breaks, reserved slots and part-time teachers. Review the master grid, per-class grids and each teacher's personal timetable, then print.
💡 Generating again gives a fresh random arrangement. Nothing is final until you are happy — regenerate as many times as you like.
🕐 Step 1 · Build the school-day schedule
💡 Want the LAST period(s) to be a fixed “Lesson” slot, or reserve games/assembly? Use Step 3b · Reserve slot below — reserved labels print on the timetable and are never overwritten.
🏫 Step 2 · Select the timetable context
📚 Step 3 · Add each subject (whole school at once)
Add every subject taught in the school ONCE. Its mapped teacher appears automatically. “Periods/week” = how many times it appears Mon–Fri. The class list below starts with ALL your Step-2 classes ticked — just UNTICK the classes that don't take this subject (e.g. Biology → untick JSS classes). Nothing is generated until Step 4.
⛔ Step 3b · Free periods & fixed activities (optional)
Reserve slots the generator must NOT fill — free periods, Sports & Clubs, Assembly, Practicals. "ALL" applies to every class.
🧑🏫 Staff changes — update the timetable without starting over
A teacher joined, left, or changed their available days? Fix it here — every saved subject demand updates in one click, then regenerate. Your classes, periods and subjects stay exactly as saved.
⚙️ Step 4 · Validate and generate the WHOLE school
One click builds every ticked class's grid + the combined master timetable + every teacher's personal timetable. Click again any time for a different random arrangement — nothing is final until you print.