Teachers
Unavailable and less-preferred periods, a maximum of lessons per day, a maximum of consecutive lessons, a maximum of working days, and their own room when a teacher always teaches in the same place.
Campus builds the timetable with a constraint solver: teacher availability, room capacity, class day windows and course blocks are all weighed together. What it cannot satisfy it names — this course, this teacher, this room — instead of reporting a single number.
A project holds the school week: the working days, the lesson and break periods, and more than one week plan when the primary and the high school do not ring the same bell. Everything below is entered against that — per teacher, class, room and course, and per week plan where a school runs several.
Unavailable and less-preferred periods, a maximum of lessons per day, a maximum of consecutive lessons, a maximum of working days, and their own room when a teacher always teaches in the same place.
Closed periods, a minimum and a maximum of lessons a day, and a day window: a class can be told to start no earlier and finish no later than a given period, and to be left with no empty day.
A shared room carries how many lessons may run in it at once. A specialist room declares the subjects it serves, and any room can be closed for a period without leaving the plan.
Lessons a week and the most that may fall on one day, blocks that must sit back to back, courses that must run in parallel across classes, and a room taken from the teacher’s, the class’s, the subject’s or an explicit list — minus the rooms you exclude.
A class splits into divisions and groups, so a language or an elective takes only part of it while the rest of the class is somewhere else in the same period.
Every availability grid has a second layer: a period can be marked less preferred rather than unavailable. The solver pays a small price to use it, and uses it only when every alternative costs more.
Eight steps. A trial is a frozen copy of the whole data set, so the run you review is the run that was solved — editing the project afterwards does not move it.
Declare the working days and the week plans: lesson periods, break periods, and the classes each plan applies to.
Pull classes, teachers, rooms, subjects and courses straight from Campus, or load them from the Excel template the service issues for each of them.
Set availability, preference and limits on every teacher, class, room and course — across a whole grid at once or one entry at a time.
A trial copies the classes, teachers, rooms and courses as they stand and carries its own constraint weights, so two runs can disagree without either editing the project.
A construction heuristic seats every lesson, then tabu search and late acceptance keep improving it — up to an hour, stopping early once fifteen minutes bring no improvement.
Improvements are snapshotted at intervals rather than at every step, so the versions offered differ from one another in ways a person can see. A trial keeps up to ten.
Read the week by class, by teacher or by room, or all three side by side in the panel, with the lessons that found no slot listed separately.
Export any view to Excel, or write the schedule back onto the Campus courses it came from — one course at a time or the whole trial.
Thirty constraints, each with a declared weight at one of three levels. Putting a preference at the top level is what makes every timetable infeasible and the feasibility signal worthless, so the levels are kept apart and mean what they say.
A class, a teacher or a room in two places at once; a lesson placed where the teacher or the room is closed; a lesson left with no room at all. These are the violations that make a timetable infeasible.
The specialist room a subject requires, a class day window, a block that has to stay together, a per-day load limit. They matter, and a timetable that breaks one still runs.
Gaps in a class’s day and in a teacher’s, a teacher kept in one room, less-preferred periods, and technical lessons pulled towards the start of the day rather than the end.
Every constraint carries a default weight and a trial may override it. The solver and the rules it scores read the same table, so a weight cannot be changed in one place and quietly ignored in the other.
The conflict list says what is actually wrong — this course, these lessons, this teacher, this room — in the reader’s own language, and points at the class and the teacher it affects.
Move a lesson and only the periods that are free for its class, its teacher and its room are offered, so an edit cannot re-create a clash the run had just removed.
A project holds the data, trials hold the runs, and nothing is edited in place underneath a schedule people are already reading.
Bring a week plan, a list of classes and the teachers who cannot be there on Friday afternoon. We will solve it with you and read the score together.