Planning Night Shifts With Configurable Rest Rules
Model cross-midnight shifts, minimum rest, consecutive work and weekly limits without assuming one universal fatigue policy.
Night scheduling becomes difficult when a worker finishes after midnight, rotates back to days, reaches a consecutive-work limit or is the only person with a required skill.
Model the actual time interval
An 18:00–06:00 shift crosses midnight. Rest calculations must use the true end time rather than treating both timestamps as belonging to the same calendar day.
Use the rule that applies to your organisation
Minimum rest, maximum consecutive work and weekly limits vary by jurisdiction, agreement and policy. Configure those values rather than relying on a generic industry default.
Explain the resulting gap
If a worker is qualified but cannot take the next night because of the configured rest or consecutive-work rule, the unfilled-position explanation should identify that exact blocker.
Worked cross-midnight rest calculation
Assume a worker starts Monday 5 October at 18:00 and ends Tuesday 6 October at 06:00 in one site's local time zone. The example's configured minimum rest is 12 hours. The earliest next start allowed by that one rule is Tuesday at 18:00. A Tuesday 14:00 assignment provides only eight hours of rest and fails the configured limit, even though the two shifts have different displayed start dates.
| Next start | Rest since Tuesday 06:00 | 12h rest test |
|---|---|---|
| Tuesday 06:00 | 0 hours | Fails |
| Tuesday 14:00 | 8 hours | Fails |
| Tuesday 18:00 | 12 hours | Passes this rule only |
| Wednesday 06:00 | 24 hours | Passes this rule only |
Passing minimum rest does not establish an acceptable full roster. The worker can still fail a consecutive-night limit, total-hours rule, availability restriction or a site policy on recovery when moving between days and nights. Keep these checks separate so the result can explain the actual blocker.
Use full timestamps and a defined time zone
Store the shift's end date, not just an end-clock value. If the end clock is earlier than the start clock, the interval may finish the next day; confirm that this interpretation matches the input format. During a daylight-saving change, a local 18:00–06:00 interval can contain a different elapsed duration from the usual 12 hours. Use the site's time zone and actual instants for elapsed-time calculations, while retaining readable local labels for managers.
Include the previous roster's final assignments in the first day's checks. For example, a Sunday night ending Monday at 06:00 can block a Monday day assignment even if Sunday is outside the week currently displayed. Apply the same check when a worker moves between sites or picks up an additional duty.
Interpret a night-shift gap constructively
If the only qualified worker finishes at 06:00 and is needed again at 14:00, the gap is an eligibility problem under the example policy. An unqualified replacement is not a valid solution. Consider qualified relief, moving a nonessential task or changing the demand where the operation permits. Do not reduce a mandatory rule solely to turn an open shift into a filled box.
Before accepting a proposed swap, examine both adjacent duties, travel or other relevant availability restrictions, the worker's weekly total and consecutive-work count. Keep the original duty and the change reason in the review record. A generated schedule is a proposal for that review rather than a fatigue-risk certification.
Choose applicable guidance and document the policy
The UK government overview of rest rights describes usual adult daily-rest entitlements and links to exceptions. Our 12-hour example is an organizational input, not a statement of universal law. UK HSE's fatigue guidance also considers how work is arranged; hours alone do not describe every risk.
Record the jurisdiction, agreement or policy behind each configured value and obtain the appropriate review for your operation. Then test the same timestamps in minimum-rest scheduling and overnight planning. The worked availability example shows how a local repair can create a second gap.
RELATED RESOURCE
See overnight and rest-rule planning
Try it before you sign up
Build a free schedule and see the result first
Use the free schedule generator to create a 7-day preview. You will see the full roster before we ask for an email. If it is useful, email yourself a copy and carry the same result into Rosterzen without starting over.
No account needed to generate the preview. Email is only requested if you want a copy.