October 26, 2026 · 3 min read

What to Do When the School Timetable Won't Build

“The timetable could not be built.” On its own, that sentence is useless. The real question is why, and what to change. Here is how Atlas answers it.

Every teacher is in, the lessons are ready, the rules are written. You press the button and one sentence appears: “The timetable could not be built.” Which teacher? Which lesson? Which rule? No answer. In most schools what follows is hours of trial and error: remove a rule, try again; no luck, remove another.

We designed Atlas for exactly this moment. “It didn't work” is not enough; you need to know where it locks up and what would make it work.

The problem is rarely in one place

A teacher who can't come on Friday is not a problem on its own. Neither is a lesson fixed on Tuesday morning, or a full lab. But when all three meet in the same week, a lesson may have nowhere left to go. Rules act on each other. That is why “which rule is wrong?” is usually the wrong question. The right one is: which rules conflict together?

First the pre-check: problems known before trying

Some problems are clear before any timetable is built, and Atlas reports them the moment you press Generate Timetable. If a teacher's weekly lessons exceed their open periods, for example, you see “Teacher availability is insufficient”. A few of the things the pre-check catches:

  • “Teacher's weekly load is too high”
  • “Class load exceeds available capacity”
  • “The block doesn't fit in any day” and “No consecutive window for the block”
  • “A locked lesson is pinned to an unavailable period”
  • “Room category capacity is insufficient”
  • “A pinned lesson is blocking the timetable”

These are marked as a Blocker, and generation can't start until they are fixed. Things that only strain the timetable's quality come as a Warning; they don't stop the build.

When the pre-check is clean but it still won't build

Sometimes no rule is impossible on its own; the problem is the combination. Then Atlas really searches for a timetable. If it finds none, it tells two cases apart, because they are not the same:

  • “Atlas proved it: no timetable exists under these rules.” No timetable exists, and Atlas has proved it.
  • “Atlas did not find a timetable within the time allowed.” That does not mean the timetable is impossible, and Atlas never presents it as the school's fault.

The screen Atlas shows

When a timetable provably can't be built, Atlas breaks the result into four questions:

SectionWhat it tells you
What happened?A short summary of why the timetable was not built.
Main causeThe blocker itself, for example not enough hours for one teacher, or a single rule blocking the timetable.
Contributing conditionsRules and locks that are fine alone but block together.
The smallest fix Atlas verifiedThe smallest change that lets the timetable be built.

The screen has the tabs “What should I change?”, “Why?”, “Proof” and “Other findings”. Each finding comes with links that take you to where you can fix it: “Open the teacher's hours”, “Open the rule”, “Show the locks” and so on.

What a “verified fix” means

Atlas tries a fix before it offers it. The change it suggests, such as removing a lock, moving a locked lesson, opening one of a teacher's closed periods or changing a lesson's block pattern, is run again on the whole timetable. If you see this sentence, the suggestion has been tried:

“Atlas tried this change on the whole timetable: every lesson was placed and no required rule was broken.”

If you like it, Apply this change and build the timetable again. If you don't, pick another one from the “Alternative verified fixes”.

A short checklist

  1. Is there a Blocker in the pre-check? Fix those first.
  2. Was a lock or a rule added recently? The problem is often the latest change.
  3. Do the teachers' open periods leave room for their lessons?
  4. Do block lessons fit into consecutive periods of a day?
  5. If Atlas shows a verified fix, try that first.

We also wrote about why a timetable can be impossible: Why a school timetable cannot be built. For building the whole timetable, see the step-by-step guide.

Frequently asked

How does Atlas know why the timetable failed?

It first runs the pre-check for problems known before trying. Then it really searches for a timetable. If none is found, it removes rules one at a time, tries again, and shows which rules block it together.

Does the suggested fix really work?

If the screen says “Atlas tried this change on the whole timetable”, yes. The suggestion was tried on the whole timetable, every lesson was placed and no required rule was broken.

If time ran out, is the timetable impossible?

No. Atlas only says “no timetable exists under these rules” when it has proved it. When time runs out it says so separately; that does not mean the timetable is impossible.

Read next