School timetabling

Resolving timetable conflicts: kickouts, swaps, and FIT chains

Reading why a lesson will not fit, working swap chains in order, and spotting the conflicts that are structural.

Juho Isola, Smootables founder

A kickout is a lesson that fits in no period: its staff, its students, or both are never all free. The scheduling screen should show why each period is unusable, because the reason decides the fix.

The core tactic is FIT, a musical-chairs interchange of activities. It ranges from a two-step swap to a long chain, and it is ordered work: timetabling is NP-complete, so brute force does not scale, and swapping without reading the clash first just moves the problem.

This guide covers reading a kickout, working a FIT chain, and the signals that a conflict is structural. The control levers it relies on are covered in planner control.

Key takeaways

  • Read why each period is blocked before touching the grid; the reason picks the tactic.
  • FIT chains free a slot by moving other activities, two steps or many.
  • Part-time teacher availability is the single most common clash driver.
  • A conflict that survives ordered swapping is structural: staffing, blocks, or splits have to change.

Read the kickout first

Start with why each period is unusable: a teacher clash, a student clash, or both. A kickout is a specific placement failure with a specific reason per period, and the fix differs by reason. A teacher clash might yield to a staffing change; a student clash usually points at group structure.

Skipping this read is how grids get worse. A swap made against the wrong reason moves the conflict somewhere less visible.

Working a FIT chain

FIT is ordered swap work, not brute force.

  1. Pick the stuck lesson and read why each period is blocked.
  2. Find one activity whose move would free a usable period.
  3. If that activity is blocked too, extend the chain one link at a time.
  4. Check every link keeps its staff and students free.
  5. Apply the chain only when the final placement is valid end to end.
  6. Re-validate the grid so the kickout has not simply moved.

The other tactics

Use the smallest tactic that addresses the reason you read from the kickout.

  • Staffing pins, to stop a chain from reshuffling assignments
  • Teacher swaps, where school policy allows them
  • Moving sixth-form or out-of-block lessons where that structure exists
  • Splitting classes when the structure supports it
  • Reviewing part-time availability when the same clash keeps returning
  • Structural review when no allowed change creates a valid period

How to do this in Smootables: conflicts, Slot insight, and the waiting area

The dialog names the clash before the move lands, which is when the information is still useful.

Moving a lesson into a conflicting slot on Timetables opens a conflicts dialog that lists exactly what would clash, and the choice is explicit: proceed with the conflict recorded, or cancel. Before committing a move, hover a slot and open Slot insight to see the free teachers, rooms, and equipment for that time.

For a stuck lesson, park it in the waiting area, work the chain on the grid (drag one lesson onto another to swap them), and place the parked lesson when a slot opens. The Edit Log records every move and swap, so a chain that went wrong can be read back and unwound step by step.

Why ordering beats effort

Timetabling is NP-complete: a formal way of saying you cannot brute-force a stuck grid. The method that scales is to rank activities by how many others they clash with and place the most-conflicting first, while the grid still has the space they need. Leave them for last and the easy lessons will have taken every slot that would have worked.

The same ranking tells you when to stop swapping. If a lesson's clash count stays high whatever moves you try, the timetable is not the problem: staffing, blocks, or class splits are. Part-time availability drives more of these than anything else; when the same clash keeps returning, the review belongs in part-time teachers, and the repair recipes for the specific errors are a double-booked teacher and a room clash.

Questions planners ask about conflicts

Is a kickout the solver's fault?

Rarely. A kickout reports that no period works for that lesson's staff and students. The cause usually sits in the data or the structure; the solver is the messenger.

How long can a FIT chain get?

From a two-step swap to many steps. The practical limit is explainability: apply a chain only when you can say why every move in it is valid. A chain you cannot explain is a structural signal.

Does swap-based resolution scale to large institutions?

It does, if the order is right. One practitioner working at the scale of roughly 1,800 modules and 350,000 students describes the same method: rank activities by how many others they clash with, and pack the most-conflicting first.

More guides on this topic

See how Smootables fits your school

Book a walkthrough and we will map Smootables to your planning, workload, and timetabling process.