Creating a school timetable doesn't have to take weeks. After building Academic Scheduler and onboarding 200+ schools, we discovered the one thing that separates fast timetabling from days of wasted work — order. This is the exact 5-step framework that works for schools of every size.
Written by the Academic Scheduler Team · Based on 1 year of product development · Insights from 200+ school onboardings · Category: School Management
How to Make a School Timetable: The Step-by-Step Guide That Actually Works
After building Academic Scheduler and onboarding more than 200 schools, one pattern became impossible to ignore: schools were not failing at timetabling because of lack of effort. They were failing because of order. This guide gives you the exact sequence — and the exact steps — to build a complete, conflict-free school timetable the right way.
Why School Timetabling Is Harder Than It Looks
Creating a school timetable looks simple on paper: assign subjects to time slots, make sure teachers and rooms are available, and repeat for every class. Until you are actually doing it.
A secondary school with just 15 classes, 25 teachers, and 8 periods per day across 5 days has more than 1,500 scheduling slots to fill — each one constrained by multiple rules at the same time:
- The assigned teacher must be free — not teaching another class at that moment
- The classroom or specialist room must be available
- No student group can be in two places at once
- The same subject should not appear back-to-back for three consecutive days
- Weekly frequency targets per subject must be met, not exceeded
- Teacher workload must be distributed fairly — no one scheduled for every single period
The biggest errors are rarely the ones you catch while building. They are the ones discovered on the first day of term — when three classes show up for one room, or two teachers are assigned to the same period across different classes.
What we found after onboarding 200+ schools
The schools that completed their timetable fastest — sometimes within a single working day — were not using the most sophisticated tools. They were the ones who followed a specific sequence and had their data organized before they started building. The schools that struggled had the same data. They simply started at the wrong end of the process.
Before You Open Any Tool: Gather These 4 Things First
This is the most skipped step in every guide on school scheduling — and the one responsible for most of the wasted time. Schools that arrive with their information already organized build their timetables in hours. Schools that start without it spend days going back and forth filling in what was missing.
Gather all four of these before touching any spreadsheet or scheduling tool:
How many periods per day? What time does each period start and end? Are breaks fixed or flexible? Does Friday follow a different timetable? Does your school run a modified schedule for certain days?
Every subject taught across every grade — including PE, Art, Assembly, Library, and Free Periods. Decide your naming convention now: "Mathematics" or "Maths"? Choose one and stick with it everywhere, without exception.
Every teacher's full name, contact email, and — critically — the exact subjects they are qualified and authorized to teach. Not their department. The specific subjects. Also note any availability restrictions (e.g., only available Monday–Thursday).
Every class or section (e.g., Grade 7A, Grade 7B, Grade 10 Science Stream), the subjects each class takes, and how many periods per week each subject should appear for that class.
If you can answer every question above, you are ready. If any single item is incomplete — even one — stop and gather it before proceeding. Every missing piece discovered during the scheduling phase costs hours of rework, not minutes.
The 5-Step Framework for Building a School Timetable
Based on patterns observed across 200+ school onboardings, timetable creation works correctly when followed in this exact order. Skip a step, reverse two, or start at Step 5 — and you will almost certainly need to redo work.
Why the order is non-negotiable: Each step depends on the one before it. Your schedule needs your classes. Your classes need your teachers. Your teachers need your subjects. Your subjects need your periods. Skip or reverse any step and you build on missing foundations — guaranteeing rework.
Step 1: Define Your School's Periods
A period is the smallest unit of your timetable — a named time slot with a fixed start time and end time. Before any subject, teacher, or class is added, you need to define every slot in your school day. These are the skeleton onto which everything else attaches.
For each period, define:
- A clear name (Period 1, Period 2 — or meaningful names like Morning Assembly, Study Hall)
- Exact start and end times
- Type: teaching period, or non-teaching slot (break, lunch, administrative time)
- Whether it applies to every day or only specific days of the week
Example period structure for a typical school day:
| Period Name | Start Time | End Time | Type |
|---|---|---|---|
| Period 1 | 8:00 AM | 8:45 AM | Teaching |
| Period 2 | 8:45 AM | 9:30 AM | Teaching |
| Morning Break | 9:30 AM | 9:50 AM | Break |
| Period 3 | 9:50 AM | 10:35 AM | Teaching |
| Period 4 | 10:35 AM | 11:20 AM | Teaching |
| Lunch | 11:20 AM | 12:00 PM | Break |
| Period 5 | 12:00 PM | 12:45 PM | Teaching |
| Period 6 | 12:45 PM | 1:30 PM | Teaching |
⚠ Common mistake at this step
Schools frequently skip breaks and lunch when defining periods. Later, those slots show as scheduling gaps — or subjects accidentally get assigned during lunch breaks. Define every slot in your school day, including all non-teaching periods.
💡 Pro Tip
If your school runs a modified schedule on certain days — shorter periods on Fridays, assembly on Monday mornings — define those differences now. Changing the period structure after your schedule is built means rebuilding the schedule from scratch.
Step 2: List All Subjects — Including the Ones Schools Forget
With periods defined, list every subject that will appear in any timetable across your school. Schools consistently undercount or overcomplicate this step — both cause problems in later stages.
What to include:
- All core academic subjects: Mathematics, English, Science, History, Geography, and so on
- All specialist and elective subjects: Physical Education, Art, ICT, Languages
- Non-academic scheduled activities: Assembly, Library Period, Study Hall, Free Period, Pastoral Time
- Specialist room formats if treated separately: Science Lab (if distinct from classroom Science), Computer Lab session
What NOT to worry about at this step:
- Which teacher teaches which subject — that comes in Step 3
- How many times per week each subject runs — that comes in Step 4
- Which class takes which subject — also Step 4
Real example from a school we onboarded
One school arrived with "Maths," "Math," "Mathematics," and "Applied Maths" all existing as separate subject entries. The same teacher was split across four records. The conflict detection could not recognize this as the same person being double-booked. Untangling this took two hours — time that would have been two minutes if caught at this step. Standardize your naming before you add a single subject.
💡 Naming Convention Rule
Decide right now: "Mathematics" or "Maths"? Write it down. Enforce it for every subject, every teacher entry, and every class. One standard, applied everywhere, without exception. Consistency here prevents hours of confusion later.
Step 3: Set Up Your Teachers — The Most Critical Step
This is where the majority of timetabling projects go wrong. Not because it is technically difficult — but because it is almost always rushed.
Adding a teacher to your timetable is not just entering a name. For scheduling purposes, each teacher entry must include the specific subjects that teacher is qualified and authorized to teach. This assignment is what tells your scheduling process — whether manual or software-based — which teachers are valid options for each subject-class combination.
For each teacher, record:
- Full name — First and last. In any school with more than 10 teachers, duplicate first names are common. Always use full names.
- Contact email — Used for timetable sharing and substitute notifications once the schedule goes live.
- The subjects they teach — Not their department. The exact subject names, matching precisely how you named them in Step 2.
- Availability restrictions — If a teacher is only available Monday through Thursday, or cannot take first period on Fridays, record it now, not later.
Example teacher setup
Mr. John Smith | john@school.com | Subjects: Mathematics, Physics
Ms. Priya Patel | priya@school.com | Subjects: English Language, English Literature
Mr. Carlos Ruiz | carlos@school.com | Subjects: Biology, Chemistry
⚠ Critical mistake — seen in nearly 1 in 3 schools we onboarded
Administrators regularly assign every subject to every teacher "just to keep options open." This completely removes the value of subject-teacher assignment. When every teacher shows as a valid option for every subject, your system cannot filter invalid assignments or catch conflicts. Only assign the subjects each teacher will actually teach — nothing more.
💡 On substitution coverage
If a teacher occasionally covers another subject for emergencies but it is not their regular teaching subject, do not add it here. Handle substitute coverage at the substitution stage. Mixing primary and substitute subjects in the main teacher profile creates confusion during regular scheduling.
Step 4: Create Your Classes and Sections
A class, for timetabling purposes, is a specific group of students who share a schedule. Most schools define these as Grade + Section: Grade 7A, Grade 7B, Grade 10 Science Stream, Year 11 Arts. For each of these, you now need to link together everything set up in the previous three steps.
For each class, define:
- The class name — Use whatever naming convention your school uses elsewhere. Consistency matters more than format.
- The subjects this class takes — Only the subjects relevant to this class. Not every subject at your school.
- The teacher assigned to each subject for this class — Mr. Smith may teach Mathematics to Grade 7A while a different teacher takes Mathematics for Grade 7B. Both assignments happen here, at the class level.
- Weekly period limits per subject — How many times per week each subject should appear in this class's timetable.
That last point — weekly period limits — is the most frequently skipped item in Step 4. It is also the item that causes the most chaos in Step 5.
Why weekly limits matter:
Without limits, you have no target to work toward. You might schedule Mathematics five times in the first half of the week and arrive on Friday to find Physical Education has not appeared once. Limits give you a clear finish line for each subject — and a way to confirm the schedule is complete and balanced before you publish it.
Example subject-limit table for Grade 8A:
| Subject | Periods / Week | Assigned Teacher |
|---|---|---|
| Mathematics | 5 | Mr. Smith |
| English | 5 | Ms. Patel |
| Science | 4 | Mr. Ruiz |
| History | 3 | Ms. Johnson |
| Physical Education | 2 | Mr. Clarke |
| Art | 1 | Ms. Williams |
| Total | 20 |
The total (20 periods in this example) should match the number of available teaching periods in your school week. If your school has 6 teaching periods per day across 5 days — 30 total — and your subject total adds up to 20, you have 10 unallocated slots. These could be free periods, study halls, or assembly. Know this number before you open Step 5.
💡 Only assign what is relevant to each class
If Grade 7A does not take Advanced Chemistry, do not add it to Grade 7A's setup. Every subject you add here becomes an option in Step 5. Extra options create noise, slow down the process, and increase the chance of incorrect assignments. Keep each class's subject list accurate and specific.
Step 5: Build the Schedule Slot by Slot
You have built your foundation. Now comes the actual schedule construction. If you followed Steps 1 through 4 correctly, this step will be far less stressful than most administrators expect — because almost all the decisions have already been made.
The basic process for each class:
- Select a class to start with (begin with your most constrained — usually the one with the most shared teachers)
- Open the empty period grid for that class
- Select a period slot
- Choose a subject from the pre-assigned list for that class
- Confirm the teacher assigned to that subject for this class
- Save, then move to the next slot
- Repeat until all weekly subject limits are reached
Notice what you are not deciding at this stage: what subjects exist, who can teach what, or which rooms exist. You are placing pre-configured combinations into pre-defined time slots. The complexity was handled during setup. Step 5 is execution, not design.
What to schedule first — and why:
- High-frequency subjects first. Subjects that run 5 or more times per week need the most slots and must fit without forcing awkward gaps. Schedule them before anything else.
- Shared teachers across all their classes, together. If Mr. Smith teaches Mathematics to both Grade 8A and Grade 8B, plan his full week across both classes before scheduling anything else. Cross-class teacher conflicts are the most common — and the hardest to fix after the fact.
- Specialist rooms early. If Science Lab periods require a room that only one class can use at a time, schedule all lab periods across all classes first to prevent room conflicts.
- Low-frequency subjects last. Subjects running once or twice per week are flexible and can fill remaining slots without much constraint.
What to Ask If You Are Using Scheduling Software
"Does your system flag teacher conflicts in real-time as I schedule — or only after I run a final check?" Real-time detection saves hours of backtracking. Without it, you may complete 80% of your schedule before discovering that a teacher has been double-booked across 15 slots.
💡 Spread subjects across the week
Do not schedule Mathematics five times in Period 1 on Monday through Friday. Distribute each subject across different days and different positions in the day. Students perform better when high-cognitive subjects appear at consistent, varied times — not concentrated together.
The 5 Timetabling Mistakes That Cost Schools Days of Rework
These are not hypothetical. Every one of these came directly from the schools we worked with — and every one caused significant wasted time.
Mistake 1: Starting with the schedule before completing setup
The single most common error. Administrators open the schedule grid and start filling in periods before teachers have subjects assigned and classes have their subject lists built. Halfway through, they discover a teacher cannot be selected for a subject because it was never assigned. Fixing it requires undoing hours of work and restarting from Step 3. Always complete all setup steps before building anything.
Mistake 2: Assigning all subjects to all teachers "just to keep options open"
When every teacher is assigned every subject, every teacher appears as a valid option for every slot. This removes all meaningful filtering. Teachers end up assigned to subjects they cannot actually teach, and the process loses the ability to catch those invalid assignments or surface true conflicts. Only assign subjects a teacher will genuinely deliver.
Mistake 3: Not setting weekly subject limits
Without limits, there is no way to know when a subject is fully scheduled — or when it has been over-scheduled. Schools routinely end up with Mathematics appearing seven times in one class's week and Art appearing zero times. Set limits for every subject in every class before Step 5 begins.
Mistake 4: Skipping non-teaching periods in the subject structure
Assembly, library sessions, study halls, and break times need to be included in your period and subject structure. Omit them and those slots show as scheduling gaps, making the timetable appear incomplete — or worse, academic subjects accidentally fill those slots.
Mistake 5: Inconsistent naming across subjects, teachers, and classes
"Maths" and "Mathematics" are not the same record. Neither are "Mr. Smith" and "John Smith." Inconsistency breaks filtering, conflict detection, and every report you attempt to generate. Choose your naming standard in Step 2 and enforce it everywhere — no exceptions, no variations.
Pro Tips From the Schools That Got It Right
These tips came directly from administrators who completed their timetable on the first attempt — without any significant rework.
-
Build one class completely before moving to the next.
It is tempting to work across all classes at once. Resist it. Completing one class end-to-end reveals setup issues before you replicate them 20 times over. -
Do a dry run on two sections before building everything.
If your school has 20 classes, build the complete timetable for two sections first. This tests your period and subject data, catches missing assignments, and confirms your period counts are correct — before you discover problems at class 18. -
Build teacher preparation periods in from the very start.
At least one free or preparation period per day for every teacher. In many regions this is a contractual requirement. Build it in during setup — not as an afterthought. If you finalize the schedule and then realize it contains zero free periods for teachers, you have to restructure everything. -
Print and review one teacher's schedule and one class's schedule before publishing.
Even with software managing conflict detection, a physical review of a printed timetable catches layout issues and logical errors that screens miss — especially in the final days before term. -
Keep a change log from day one.
Note every change you make and why. "Moved Mr. Smith from Period 3 Wednesday to Period 4 — conflict with Grade 9 Science." When someone asks about a scheduling decision three weeks later, you will have the answer in seconds. -
Never finalize the timetable during the first week of term.
Aim to complete your schedule two to three weeks before term begins. The first week always brings late teacher confirmations, attendance changes, and room updates. You need that buffer to adapt without disrupting an already-published schedule.
Your Timetable Creation Checklist (Ready to Print or Share)
Use this checklist to verify each phase before moving to the next. Share it with every administrator involved in scheduling at your school.
Phase 1: Setup (Steps 1–4)
- ☐ All periods defined with start times, end times, and type (teaching or non-teaching)
- ☐ Breaks, lunch, and assembly included as named period entries
- ☐ All subjects listed with a single consistent naming standard
- ☐ Non-academic periods (Assembly, Library, Free Period) included as subjects
- ☐ Every teacher added with their specific subjects assigned — not all subjects
- ☐ Teacher availability restrictions recorded where applicable
- ☐ All classes/sections created with subjects, assigned teachers, and weekly limits set
- ☐ Subject period totals per class verified against total available teaching periods per week
Phase 2: Building the Schedule (Step 5)
- ☐ High-frequency and high-constraint subjects scheduled first
- ☐ Shared teachers (same teacher, multiple classes) fully resolved before moving on
- ☐ Each subject spread across different days — not bunched together
- ☐ No teacher scheduled in two places at the same time
- ☐ Teacher preparation/free periods included in every teacher's schedule
- ☐ All weekly subject limits reached for every class
Phase 3: Review Before Publishing
- ☐ Every teacher's individual timetable reviewed
- ☐ Every class's full weekly timetable reviewed
- ☐ Room conflicts checked (if using specialist or shared rooms)
- ☐ Total teacher hours per week verified
- ☐ Schedule reviewed by a second administrator before publishing
- ☐ Backup copy saved before distributing or publishing
Frequently Asked Questions
The Bottom Line: Order Is the Shortcut
After a year of building scheduling software and onboarding more than 200 schools, the insight that surprised us most was not technical. It was this: the schools that struggled most with timetabling were not the largest or most complex. They were the ones that started at Step 5 and tried to work backward.
Timetabling is not a creative challenge. It is a constraint-resolution process. Treat it like one. Define your periods. List your subjects. Set up your teachers with the right subject assignments. Build your classes with weekly limits. Then — and only then — fill in the schedule.
Follow this sequence. Use the checklist. Keep your naming consistent. The schools that do this finish in hours, not weeks — and publish a timetable their staff actually trusts.
Build Your First Conflict-Free Timetable in Under 1 Hours
Academic Scheduler is built around this exact 5-step workflow. Define periods, add subjects and teachers, create classes, and build a complete timetable — all in one place. The 200+ schools on our platform did not need IT support or a training course. Neither do you.
Start Your Free Trial →No credit card required · Works for schools of any size · Your first timetable in under 1 hours





