Step 1: gather the inputs
- The bell schedule: periods per day, their start and end times, breaks, and any shorter days.
- For each class and section, the number of periods per week for each subject.
- Who teaches each subject to each section.
- Rooms that are shared or specialised — science labs, the computer lab, the library, the sports ground.
- Each teacher's constraints: part-time days, other duties, and any periods they cannot take.
Step 2: check the arithmetic before placing anything
Add up the periods each teacher is assigned across all their sections and compare the total with the teaching periods in the week. A teacher assigned 38 periods in a 40-period week leaves the timetable almost no room to move; one assigned 44 cannot be timetabled at all. Fix overloads now, by reassigning sections, rather than discovering them when the grid will not close.
Do the same for rooms. If eight sections each need three lab periods a week and there is one lab with 40 periods, the lab is 60% booked before a single period is placed — which tells you how much flexibility is left.
Step 3: place the hardest constraints first
Order matters. Place the periods with the fewest possible slots first and the most flexible ones last:
- Double periods and practicals, which need consecutive slots and a lab.
- Teachers who are part-time, or shared with another campus.
- Subjects taught to split or combined groups at the same time, such as second languages and electives.
- Each section's remaining subjects, spreading any one subject across the week rather than stacking it on one day.
Where the load allows, leave each teacher a few free periods spread through the week. They are what makes substitutions possible later without overloading anyone.
Step 4: check for clashes on every change
Three kinds of clash account for almost every timetable error:
| Clash | Example | The check |
|---|---|---|
| Teacher | One teacher placed in 7-A and 9-C in period 3 on Tuesday | No teacher appears twice in the same period |
| Room | The physics lab booked for 11-A and 11-B in period 5 | No room appears twice in the same period |
| Section | 8-B given maths and English in period 2 on Monday | No section has two subjects in the same period |
On paper these are checked by scanning each column. In software they should be rejected as you make the edit. AcadiFlow's timetable checks all three while you build, and keeps each published timetable as a version so earlier schedules stay on record.
Step 5: review for quality, not just validity
A timetable with no clashes can still be a bad one. Before publishing, look at it from the people's side:
- No section has the same subject more than twice in a day, unless it is a double period.
- Demanding subjects are spread across the week rather than all falling after lunch.
- No teacher has an unreasonable run of consecutive periods without a break.
- Teachers who move between buildings or campuses have time to get there.
Step 6: handle absences with substitutions, not edits
When a teacher is absent it is tempting to edit the timetable. Don't. The timetable should remain the record of the planned schedule; a substitution is an override for one period on one date. Keeping the two apart means you can still say what the schedule was on any given day, and how many periods each teacher covered for absent colleagues this term.
To choose a substitute, look for teachers who are free in that period, have not already covered several periods that day, and ideally teach the same class or subject.
Step 7: change it mid-year with care
Timetables change during the year — a new section opens, a teacher leaves, a lab closes for repairs. Publish each change as a new version from the date it takes effect rather than overwriting the old one. Attendance records, and any dispute about which class was where, then refer to the timetable that was actually in force.
Paper, spreadsheet or software?
Small schools build workable timetables on paper or in a spreadsheet. The limits appear with size. Once there are several sections per class, shared labs and part-time teachers, checking clashes by hand becomes slow and error-prone, and every mid-year change risks introducing a new one. Software that validates each edit, versions each publication and records substitutions removes most of that risk. Automatic generators can produce a first draft, but the draft always needs the review in step 5.
Common questions
What is a timetable clash?
A conflict in the schedule: a teacher placed in two sections in the same period, a room booked twice, or a section given two subjects at once. Each one means somebody is in the wrong place, so clashes should be checked on every change.
How many periods should a school day have?
It depends on the board, the school's hours and the class level; many Indian schools run seven or eight periods a day of 35 to 45 minutes each. The timetable should start from the school's actual bell schedule rather than a default.
Should a substitution change the timetable?
No. Record a substitution as an override for a specific date and period. The timetable stays the record of the planned schedule, and the substitutions give a separate record of who covered which periods.
Can timetable software generate a school timetable automatically?
Some tools generate a first draft from the constraints. It is a starting point: the draft still needs checking for teacher load, subject spread and the school's own preferences, and it will change during the year — so clash checking and versioning matter more than the generator.

