← All articles
Practice

Two shifts, one building: timetabling a double-shift school

Morning classes, afternoon classes, teachers who work both, and one lab that has to serve everyone. What changes when a building runs two shifts, and how to plan it as one timetable instead of two.

Double shiftTeachersRooms

In a double-shift school the building works two shifts. One group of classes arrives early and leaves around midday; a second group arrives as the first one leaves and stays into the late afternoon. In Turkey the arrangement is common enough to have its own vocabulary — ikili öğretim, sabahçı and öğlenci classes — and it appears wherever a school has more students than classrooms.

It is tempting to treat this as two timetables that happen to share an address. That is the mistake this article is about. The classes are separate. The teachers, the labs and the gym are not.

One day, split at a single point

In Bildena a double-shift school has one timetable grid covering the whole day, from the first morning period to the last afternoon one. The school settings hold one extra number: morning periods, the point where the morning shift ends. With 14 periods a day and 7 morning periods, periods 1–7 are the morning and 8–14 the afternoon.

Every class then carries a shift: Morning, Afternoon or Full day. The effect is simple and strict:

Class shiftWhere its lessons can goSlots per week (5 days × 14 periods, split at 7)
MorningPeriods 1–7 only; the afternoon is closed35
AfternoonPeriods 8–14 only; the morning is closed35
Full dayThe whole grid70

A morning class never receives an afternoon lesson, and a double lesson never runs across the handover, because the half it would spill into is closed. Full-day classes can sit in the same plan as the two shifts.

Why one grid rather than two plans? Because a teacher who teaches 9-A in period 3 and 6-C in period 10 is one person, and the lab a morning class uses in period 2 is the same lab an afternoon class needs in period 9. Two separate timetables cannot see each other's conflicts. One grid sees all of them.

Which classes go in which shift

This is the school's decision, not the solver's. Bildena does not choose shifts; it places lessons inside the shifts you set. Transport, local rules and the age of the students usually decide which grades go first.

Many schools swap the two groups at the semester break, so the same students do not always get the early start. In Bildena that is a bulk edit on the class list — select the classes, change the shift — followed by a new generation.

Before any generation, the pre-flight scan counts each class's capacity inside its own half of the day. A morning class with 36 weekly hours in the grid above is flagged straight away — it can hold 35 — instead of producing a failed run. Classes left with very few open slots, because the shift is combined with blocked hours, get a separate warning. The arithmetic behind both is in our article on infeasibility.

Check the split point first. If the morning periods number is off by one, every class in one shift gains or loses five slots a week. In a double-shift school no other single setting reaches as far.

Teachers who work both shifts

This is where double-shift timetables are won or lost. Specialist teachers — languages, music, PE, religious education — often have too few hours in one shift to fill a week, so they teach in both.

There is no special switch for them, and none is needed: on one grid a teacher cannot be in two rooms at once, across both shifts. The problem is not clashes. It is the day in between.

A teacher with lessons in periods 2 and 3 and then 11 and 12 has an eleven-period working day for four lessons. They either commute home and back or spend seven periods in the staffroom — and that is the day they remember when they talk about the timetable.

What the solver already does

Bildena counts a teacher gap the same way in every school: each empty period between a teacher's first and last lesson of the day. Gaps carry a cost in the solver's scoring by default. In a double-shift school that cost does useful work. It pulls a cross-shift teacher's day together — into one shift on that day, or towards the periods either side of the handover, where the last morning lesson and the first afternoon lesson sit back to back with no gap at all.

How hard it pulls against other preferences is a choice, and the trade-offs are the ones described in teacher gaps, student gaps.

The trap: a strict daily gap limit. A hard "maximum gaps per day" is reasonable in a full-day school. For a teacher with morning and afternoon classes on the same day it can be impossible to satisfy — the gap exists by construction unless their lessons meet at the handover. For teachers who work both shifts, leave gaps as a weighted preference or use a generous weekly limit, and keep strict daily limits for teachers who stay in one shift.

What you can tell it

Often the cleanest answer is to give a cross-shift teacher whole days in each shift: mornings on Monday, Wednesday and Friday, afternoons on Tuesday and Thursday. Ordinary availability says this. Mark the other half blocked on each day and the solver treats it as a fact; mark it conditional (?) and those periods stay usable but discouraged — safer when you are not sure the pattern will fit.

The same tool covers teachers shared with another school, a common arrangement for specialist subjects: enter the hours they spend at the other school as blocked, and the plan will not touch them.

The lab that serves everyone

On one grid, rooms need no special treatment: a lab is never overbooked, whichever shift books it. A morning class and an afternoon class can even share one home room without ever meeting — which is the whole point of running two shifts.

The risk is in the counting. A weekly total hides which half of the day the demand sits in. An illustrative case, with a single chemistry lab on the 5 × 14 grid:

Lab hours requestedLab slots availableResult
Morning shift — 10 classes × 4 hours4035Over by 5
Afternoon shift — 6 classes × 4 hours2435Fine
Whole week6470Looks fine

The weekly line says there is room to spare. The morning line says the timetable cannot exist. So count specialist rooms per shift, not per week, before you generate. When one shift is over, the realistic fixes are the ones the building allows: move a class to the other shift, reduce the lab hours for one grade, or open a second room of that type.

The handover

For the solver, the handover is simply two adjacent periods — the natural meeting point for a cross-shift teacher's lessons. What the grid does not know is how long the changeover takes. Clock times live in the bell schedule, and each class can use its own, so the morning and afternoon groups can carry their real start times. Put a genuine break at the handover: one group of students is leaving, the other arriving, and a teacher crossing over has to change rooms through the busiest corridors of the day.

Fairness between shifts

Fairness between shifts is not something you configure; it is something you check. With both shifts in one plan, that is a short review rather than a meeting. Four questions worth asking before you publish:

  • Specialist rooms. Does one shift get the lab mostly at the end of its day?
  • Core subjects. Do the afternoon classes have their mathematics clustered in their last periods?
  • Cross-shift teachers. How many teachers have both shifts on the same day, and on how many days a week?
  • Rotation. If any answer favours one group, is the shift swap at the semester break already planned?

The first two usually point at data — a room type that is short in one shift, a missing distribution preference — which you can fix before the next run. The third is a genuine trade-off, and only the school can decide where that line sits.

A setup order that works

  1. School settings: periods per day covering both shifts, and the morning periods split point.
  2. Classes: a shift for each class. Bulk edit makes this one step.
  3. Teacher facts: hours at other schools, and fixed shift days where a teacher needs them, as blocked availability.
  4. Specialist rooms: requested hours against available slots, per shift.
  5. Generate. If it fails, look first at strict daily gap limits on cross-shift teachers.
  6. Review the fairness questions before publishing.

See it solve your own timetable

Import from aSc, Untis or Excel and run a full generation free — first timetable in 3 minutes.

Start free

Keep reading