- Applies
- when someone asks to exchange a shift
- Enforcement
- Hard: never broken
- Who sets it
- Fixed in the product
- Family
- Data integrity
- Roster style
- published baseline (shift exchange)
verifiedCompiled from the product source on 12 September 2026
Rule catalogue · Data integrity
Breaking it accepts an exchange of two identical shifts, spending an approval on a change that has no effect.
verifiedCompiled from the product source on 12 September 2026
Not every rule is about people. This family holds the structural invariants: an assignment cannot exist in two places at once, history cannot be rewritten, a swap has to be aligned on both sides. They are mostly fixed in code rather than configurable, because they are not policy choices. They are the difference between a roster and a spreadsheet that looks like one.