Validation errors

What to do when lessons exceed the maximum possible

This error means the week does not have enough teaching slots for the lessons you configured. Fix the counts before you tune preferences.

Juho Isola, Smootables founder

Constraint recipe

This error is arithmetic, not timetable quality. A class with 8 periods per day over 5 days has 40 slots; ask for 44 lesson placements and 4 of them can never be placed, no matter how long the generator runs. Recount demand and capacity in the source data, and check for duplicated import rows, before you change any preference.

Key takeaways

  • The week has fewer valid slots than required lesson placements.
  • Recount periods, weeks, lessons, teachers, and rooms before anything else.
  • Imported duplicates are the most common cause of a sudden jump.
  • Preferences like spread and gaps cannot create new teaching periods.

The error is arithmetic

The timetable system is telling you that demand exceeds supply. That can mean too many lessons in the period plan, too few periods in the school day, too much teacher unavailability, or too few rooms for the groups that must run at the same time. Schools migrating from spreadsheets hit this often, because hand-kept data carries duplicated and conflicting rows that only surface when something finally counts them.

Running the generator longer or raising a quality weight cannot fix it. Forty slots hold forty lessons; the forty-first needs a slot to exist first.

Check the arithmetic yourself

Put in your own numbers for one class or teacher. Valid slots are days times periods, minus the slots that are blocked by unavailability, part-time days, or reserved time.

Valid slots: 30

Fits, with 0 slots to spare.

If the check fails for a class, the fix is structural: fewer lessons, more periods, more rooms, or different staffing. If it passes for every class and teacher but generation still fails, the shortage is inside a tighter subset, most often one specialist room or one part-time teacher whose personal arithmetic does not fit.

Where the mismatch usually hides

SymptomLikely causeWhat to do
The count jumped after an importDuplicated rows from a spreadsheet or a copied curriculum lineSearch the source data for repeated class, subject, and teacher combinations, and delete the duplicates.
Every class is slightly overPeriods per day or teaching weeks miscounted, for example an unmodelled exam or training weekRecount the cycle length and periods per day against the real calendar before touching lessons.
Only lessons needing one room type failToo few specialist rooms for the groups that need them at the same timeAdd rooms, stagger the demand across the week, or reduce parallel groups.
One teacher's lessons failTheir assigned lessons exceed what fits in their working days after unavailable timeRebalance the assignment or the availability. A weekly total inside contract can still be unplaceable.

Recount in this order

  1. Recount periods per day, cycle length, and teaching weeks against the real calendar.
  2. Total the required lessons per class, per teacher, and per specialist room pool.
  3. Subtract unavailable time, then compare totals with available slots, as in the checker above.
  4. Search imports for duplicate rows before deleting any legitimate lesson.
  5. Reduce lessons, add rooms or periods, or rebalance staffing until the arithmetic passes.
  6. Run validation again before touching spread, gap, or balance preferences.

What does not work

  • Raising generator time limits when the count is already impossible
  • Relaxing soft preferences, which do not create teaching periods
  • Deleting real lessons when the overload came from a duplicated import

In Smootables

Smootables checks the period plan before it spends time on a full generate run.

When required lessons exceed what your week can hold, Smootables surfaces a capacity problem instead of returning a broken grid. On the period screen, Validation Errors lists issues you must fix before Generate timetable runs, such as a teacher above their weekly maximum hours or not enough rooms for groups that would teach at the same time.

If those checks pass but the plan still cannot fit, the failure report names the shortfall: too few teaching slots on the school-day grid, too few rooms, or both.

  1. Trim duplicate placements or reduce lessons in the period plan.
  2. Add rooms under Resources or extend the school-day schedule if simultaneous groups need more capacity.
  3. Generate again only after Validation Errors clears.

Quick answers

Can a better generator fix too many lessons?

No. If valid slots are fewer than required lessons, the count must change first. Generators place lessons; they do not create periods.

Should I relax soft constraints first?

No. Spread and gap preferences do not create new teaching periods. Fix demand and capacity first.

Why did the error appear right after an import?

Imports commonly duplicate rows. A class that had 30 lessons in the old system can arrive as 45 if curriculum lines were copied twice. Dedupe before deleting anything real.

See how Smootables fits your school's constraints

Book a walkthrough. We will review your teacher load, rooms, and scheduling rules and show how they work in Smootables.