The distinction
that makes everything else work.
Ask a school where its timetable lives and you will usually be shown a grid: levels down one side, days across the top, a teacher's initials in each cell. That grid is a set of slots — repeating facts with no dates. Ask the same school where its attendance lives and you will be shown something else entirely, usually a spreadsheet with dates. The two documents describe the same classes and share nothing, which is why every change has to be made twice and why the question "was she in class on the fourteenth?" takes a minute rather than a second.
Keep both, and generate the second from the first. The slot is what you publish, staff and price; the session is what happens, what is cancelled, what is covered and what carries the register. On SprintUp this is the model: a recurring weekly slot that has no date, and dated sessions — a live video class, or a lesson in the room created by the teacher to record attendance against — that belong to it. You build the slots once in August and the sessions look after themselves.
Five steps,
in August, not in week two.
The order is the same one the language-school timetable guide sets out in more depth, and it holds for any small school: constraints first — the hours students can actually attend, teacher availability collected in writing, room or concurrent-class capacity, and the term calendar with its holidays. Then the cohorts you expect to run, placed inside the hours students can attend rather than the hours that are convenient. Then teachers, assigned against their availability and watching preparations as well as contact hours. Then the practical checks: staggered finish times so the corridor is not a crowd, breaks between long classes, reception staffed at every collection time. Then publish, before enrolment opens, with level, days, times, price and the term dates including the holidays that fall inside them.
A twelve-week course that crosses two public holidays and a mid-term break is a nine-week course. Decide at this point whether those weeks are skipped or made up at the end, put it in the published dates, and you will not have the conversation in November.
One change,
four people who need to know.
The real test of a scheduling system is not how it looks in August but what happens when a Thursday class moves to Friday in week six. Five things are affected, and in most small schools each is updated by a person who has to remember to do it.
The fourth row is the one schools discover late. If a cancelled class leaves an empty register rather than a cancelled session, the attendance report will later show every student as absent that day, and a parent looking at their child's attendance rate will see a mark against them for a class the school itself called off. Cancel the session explicitly, with a reason, and the record stays honest.
Decided in September,
applied in February.
Over a term, teachers will be ill, trains will not run and a family emergency will take somebody out for a week. The decisions to make in advance are: which classes can be covered and which are postponed — a general class can be covered by any competent colleague with the shared materials, an exam class in the fortnight before the exam should not be; who covers what, from a list made when availability was collected; and who tells families, through which channel, by when. Same morning, before students leave home, is the standard families judge you by.
A postponed session is added at the end of term and the end date moves, publicly. Record it as a cancellation with a reason rather than deleting it, because a deleted session leaves no evidence that the school ever owed the class, and the family who asks in June why the course was eleven weeks rather than twelve deserves an answer from the record rather than from memory.
Generate sessions, hold the roster,
and show three views.
For scheduling specifically, the requirements are short. Sessions generated from recurring slots, so that a term is built once. A roster on the class, so that the register has a list to mark. Three views of the same record — the teacher sees their own classes, students and parents see theirs, the office sees everything including the empty capacity. Cancellation as a state rather than a deletion. And, for online classes, the session link produced by the platform rather than pasted into a message, so that a moved class does not leave families following a dead link.
SprintUp does these: classes live in the campus with a teacher, a level and a roster; live online sessions get their link generated per session; students see their own classes in the portal. What it does not do is solve the timetable — the constraints, the cohort thresholds, the fairness rule for the good hours and the cover list are decisions, and they stay with you. Any vendor claiming otherwise is selling you a constraint solver that has never met your strongest teacher's Friday.