Confirming you are not an automated visitor. This takes a moment and happens once per browser session.
Everyone who should appear on the roster. Rotational people cycle through Morning, Evening and Night; GeneralOnly people stay on General every working day. Level is a free-text note (L1, L2, Lead) — it is not used by the generator.
| Name | Shift Group | Level | Remove |
|---|
People who have asked for a particular shift, week-off day or comp-off date. Anyone listed here is placed on the roster before everyone else, and among them the earliest request wins — so the Submitted time is what settles a clash. Everybody not listed is filled in around them. Leave this empty if nobody has asked for anything.
Comp-off is a single earned day off, so it is a date rather than a weekday. Put it here when the person asked for it — the request keeps its place in the priority order. Use Overrides instead for a comp-off you are imposing, or for more than one day in a row. Someone owed two separate comp-offs gets a second row.
| Name | Week 1 | Week 2 | Week 3 | Week 4 | Week 5 | Week-Off 1 | Week-Off 2 | Comp-Off | Submitted | Remove |
|---|
Vacation, comp-off, unpaid leave, training — anything that pins a person's day no matter what the generator would otherwise do. Overrides beat preferences. For a single day just fill in Start Date. Editing a cell directly on the Roster grid writes an override here too.
| Name | Start Date | End Date | Code | Remove |
|---|
The minimum is a floor the generator will pull people in to reach. The maximum is a ceiling — a full shift turns requests away and stops taking the rotation, so people spill onto the next shift with room. Leave a maximum at 0 for no ceiling.
Caps back-to-back nights. 0 = no cap. Gives way only if a shift would otherwise be left short.
What next month looks like if nothing changes — the same team, preferences and settings, run forward a month. Leave and comp-off dated next month are already applied, so book them on Overrides and they show up here. Click any day to set it, exactly as on the Roster.
Requests come first, then the default rotation, then whoever is needed to keep a shift above its minimum. How the generator works →
Who the generator placed first, and why. Times Moved shows where someone was pulled off their own block shift to keep another shift above its minimum — each move is listed with the day and the change.
Every day of the month is filled in the same order. Later steps never undo an earlier one, so the list below is also the order of precedence.
One rule overrides everything: nobody works a Morning the day after a Night. A request that would break it is moved to Evening, and the roster tells you each time that happened.
If Max nights in a row is set in Config, anyone reaching it is rotated off nights early rather than waiting for their block to end. It gives way only when a shift would otherwise be left short — leaving a night uncovered is worse than one extra night for one person.
If a shift still cannot reach its minimum after all that, the day is reported as a shortfall rather than quietly under-staffed.