Duty Roster Builder

Post-based allocation · multi-skilled staff · DS / ES / NS roster

Day Shift (DS) · 8:00 AM–6:00 PM Evening Shift (ES) · 12:00 PM–10:00 PM Night Shift (NS) · 6:00 PM–8:00 AM Available, not rostered Leave / weekly off
01

Skills

The vocabulary everything else is built from.

A skill is anything a post can require and a person can hold — Nursing, Pharmacy, Reception, Casualty, X-Ray. Click a skill to rename or remove it.

02

Posts to fill

A post needs all the skills you tick on it.
CodePostShift Needs all ofFallback coverHeads
weekday
Heads
Sunday
Minimum
OK
Can double
up
Keep full
strength
Must stay
free
Cover is
normal
Adjust on
the day
Emergency
fallback call-in
Shift
adjustment

Needs all of — the skills a person must hold to take this post properly. Tick two and it takes one person holding both.

Fallback cover — used when nobody qualified for the post is free. Normally someone already on duty that shift holding the fallback skill absorbs it as extra duty. These show as * on the roster and are counted separately.

Emergency fallback call-in — permits a person holding the fallback skill to be rostered as an extra person solely to cover this post when normal on-duty cover is impossible. Hard rules still apply: no booked leave, no day + night on the same date, correct shift eligibility, no approved leave, and no breaking a strict block/off day. Enabled by default only for night Pharmacy, so a pharmacy-cover-trained nurse may be called in as the extra night nurse.

Can double up — a person on this post may also hold another double-up post in the same shift as a normal assignment.

Keep full strength — if someone on this post ends up covering elsewhere, roster an extra head so the required number stays free. Ticked on nursing, day and night: two nurses stay on the ward even when a third is carrying pharmacy, because one person cannot hold ward, casualty and pharmacy at once.

Shift adjustment — tick this for a small department that covers for itself. Their block still runs as all days or all nights, but the off day that ends it can move when a colleague is away. Ticked on reception, laboratory and housekeeping; nursing and pharmacy keep the strict cycle.

Adjust on the day — tick this where a shortfall is handled by moving someone around on the day rather than by the roster. Those shifts are listed for you as actions instead of counted as failures, and the roster will not break a cycle chasing them. Ticked on reception (day), laboratory, housekeeping and pharmacy.

Cover is normal — tick this only if you formally approve fallback cover as a routine arrangement. The default Pharmacy cover is treated as an exception and shown in the coverage report.

Minimum = hard floor. The roster will not be generated or printed if any post falls below its configured minimum on any date or shift. Preferred heads may be higher than minimum; Day housekeeping still prefers 2 and accepts 1.

Must stay free — how many people on this post must be left with no extra duty. Set to 1 on nursing, so a nurse only ever covers pharmacy when a second nurse is on that shift to hold the ward and casualty. With one nurse rostered, no cover is possible and the shortfall is reported instead.

03

Staff register

Tick every skill a person is actually cleared for.
NameSkills heldEligible for Emergency onlyNS exemption
avoid + exclude from peer balance
Fixed weekly offNS cap
hard maximum 10; 0 = use 10

Pharmacy team: the default setup uses 3 regular Pharmacy staff who can rotate across day and night. Keep nurse Pharmacy-cover skills for true emergency use only.

NS exemption — enabled for Reception 3 by default. The planner reduces this person’s NS duties and excludes them from peer-load comparisons. DS/ES-only, NS-only, resident and Emergency-only staff are also excluded automatically. With only three receptionists, eliminating every Reception 3 NS duty still requires another NS-qualified worker.

Emergency only — use this for standby/cover staff. They are excluded from the full-utilisation cycle and receive duty only when an enabled fallback post actually needs them.

04

Period & rules

Every one of these is a dial.
Flexible scheduling plans four ordinary off dates per calendar month.

Always enforced: nobody gets a DS/ES post and an NS post on the same date; nobody is rostered on a date marked leave; nobody is placed on a post whose skills they don't hold.

Flexible blocks — blocks may be shorter. At most six consecutive working days and five consecutive nights are allowed. A DS/ES-to-NS change may occur inside a work stretch; the total consecutive-work count continues across that change. NS-to-DS/ES changes require an off day. A dated management approval may allow one extra duty, followed by an off day.

NS fairness — comparable staff in each department must have equal NS totals, or differ by at most one NS duty per calendar month. No staff member may exceed 10 NS duties in a calendar-month roster. NS-exempt, fixed-shift, resident and Emergency-only staff remain excluded from peer comparison, but the 10-night hard maximum still applies. Generate one calendar month at a time; use weekly printing for weekly rosters.

Shorter blocks — NS blocks may contain one to five NS duties. A real off date is required before returning to DS/ES duty.

Exemptions — fixed-shift staff keep their eligibility. Receptionist 3 remains NS-exempt from the fairness comparison and receives the lowest NS target found by the search.

Peer-load fairness — after hard coverage and safety rules, the planner minimises the difference between the highest and lowest day-side (DS+ES) totals and NS totals among comparable rotating staff in each department. NS spread must be 0–1 per month in every comparable group, including Nursing. day-side (DS+ES) totals are also balanced when leave and eligibility permit. Exempt staff are not used to judge fairness.

Four-off rule — four ordinary off dates are planned per month, including ordinary requested leave. Approved additional leave is separate (AL). Worked dates never reset the consecutive-work counter. If availability or prior-month work makes these rules incompatible, generation reports a conflict.

Nursing — six nurses receive balanced NS totals with flexible blocks. Mondays and Fridays still require at least three day-side nurses. On any date with more than two nurses on the day side, exactly one is assigned ES (12:00 PM–10:00 PM); the others remain DS (8:00 AM–6:00 PM). ES counts as one normal 10-hour duty. The two nurses with Pharmacy-cover skill are kept on different rostered shifts; if both must work on the day side under the 10-NS monthly cap, one is assigned ES. NS Nursing prefers two; one is the emergency minimum and cannot take extra cover.

Pharmacy coverage — hard rule — three regular Pharmacy staff are scheduled first. Trained nurse cover is used only if a Pharmacy worker cannot cover that shift, and each occurrence is identified. An uncovered Pharmacy shift blocks the roster.

Locked minimum: Pharmacy requires 1 person on DS/ES and 1 person on NS. This floor cannot be reduced below 1 in Setup; a roster with 0 Pharmacy staff on either shift is rejected.

⚙

Setup

One-time. Once it's right, save it and you never come back here.

Set this up once with your real staff and shift needs, then press Save setup file on the Roster tab. Each month after that: load the file, mark leave, generate.

01

Month & leave

Set the month, mark who's off, then go to step 2.
Automatically uses the whole month when the start date is its first day.
Add leave

Leave one day blank to mark a single day.

Maximum ordinary off: 4 days per staff member in each calendar month. If the 6-day/5-night cycle would create a fifth ordinary off, the roster converts that date to a clearly marked MC monthly-cap duty for management review. Manager-approved additional leave is shown separately as AL and is the only permitted reason for total time off to exceed four days.

Month-to-month cycle: Save the setup file after generating the current roster and load that file next month. It carries the previous month's final shifts and cycle offs forward. The first month needs a review of the preceding month because no prior roster is available to this file.

Start-of-month handoff

Enter the previous shift, consecutive shifts of that type, and total consecutive working days (including any DS/ES-to-NS change). Day-side off / NS off mean rest following that shift type, including shorter blocks. A saved previous roster supplies continuity wherever this is blank. Set first-week availability below.

Approved work on a cycle off

An individual, dated management approval can permit one extra DS/ES or NS duty on the cycle off after six day-side duties or five NS duties. The following day is still a mandatory rest day. This option never changes booked leave.

Day numbers of the roster month, or ranges like 8-14. Keywords: leave, day-only, night-only.

06

Roster

Letters in each cell are post codes.

DS — Day Shift: 8:00 AM–6:00 PM (10h) · ES — Evening Shift: 12:00 PM–10:00 PM (10h) · NS — Night Shift: 6:00 PM–8:00 AM (14h). Monday and Friday require at least three day-side nurses. On any date with more than two nurses rostered on the day side, exactly one nurse is rotated to ES. No staff member may exceed 10 NS duties in the month.

Staff month roster — A4 landscape wall sheet for the whole month. Weekly staff roster — one readable A4 landscape page per seven-day period, with every staff member, shift, post and weekly total. Day-by-day — larger text on weekly A4 portrait pages for the duty register. Staff slips — individual duty lists for printing or WhatsApp.

The buttons normally open your browser's print dialog — choose Save as PDF as the destination. On a phone: Share → Print → Save as PDF. If nothing opens (preview panes and some in-app browsers block printing), tick the box above. You'll get a small file that opens its own print dialog the moment you double-click it.

No roster yet. Check your posts and staff, then press Generate roster.
07

Load per staff

Generate a roster to see workload distribution.
08

Daily shift staffing

Headcount and names in every department, by shift.
Generate a roster to see the daily department staffing report.

Count is the number of unique people assigned to that department on the shift. A cross-department or fallback worker is labelled cover. Green meets preferred staffing; amber meets the hard minimum but is below preferred; red is below minimum and blocks roster issue.

Staff 0 Days 0 Post-slots to fill 0 Uncovered —