Duty board
click a name for their detailThese compete with each other:
pushing one up will cost you somewhere else. They are calibrated so that
the same setting means roughly the same amount of effort whichever row
it is on. The blue box shows what each one actually achieved in the last
solve, so you can push a slider and watch that number move.
A slot whose end is at or before its
start runs past midnight, and rest between duties is computed from these
hours. For an on-call slot the hours describe the span the person could be
called into, not a shift they work, so rest either side is not enforced and
those hours do not count towards the weekly ceiling.
Endorsements needed on each duty slot
each is a position that must be mannedLeave a cell empty for no
requirement. Each of these is a position somebody has to man, and
nobody can man two at once, so asking for one ADC and one PAR
means two different people even if one of them holds both
endorsements. ATCO/Shift IC is the exception: it is held alongside a
position rather than instead of one, so it does not need a body of its
own. These are hard requirements — if a date cannot field enough
people the pre-flight says so and names the slot.
Absolute. If they cannot all hold you get INFEASIBLE rather
than a roster that quietly breaks one. A box left empty switches that rule
off for that cadre.
A setup is everything on the
Duty slots, Endorsements, Rules, Priorities and People pages, plus the
dates. Loading one replaces what is on screen and makes it the live
configuration, so the command line uses it too. Each is a plain YAML
file in data/setups, so you can also run one
directly with --rules. Rosters you solve are
not stored here — use Download CSV for those.
A saved roster is the solved
duty board and its headline numbers, kept exactly as it came out.
View opens it read-only without disturbing what you are working
on. Load puts it back on the page along with the setup that
produced it. Setups live separately, on the Setups page.