Shift Swapping Without the Chaos: Policies That Work
Shift swaps are where roster theory meets real life: the wedding invitation, the sick kid, the exam moved at the last minute. Handled well, swapping is free flexibility — coverage stays whole while the roster bends around actual lives. Handled badly, it's how tidy rosters rot into chaos nobody remembers approving.
Why swaps go wrong
Every failed swap system fails the same four ways. Skill holes: the swap kept headcount but lost the only first-aider on shift. Rule breaches: the swap created a quick return or pushed someone into overtime. Fairness drift: weekends quietly migrate onto whoever says yes — the weekend rotation dies by a thousand favours. Memory failures: the swap lived in a group chat, payroll never heard, and two people showed up for one shift.
The policy that works
Keep the rules few and absolute. Like-for-like eligibility: swaps only between people qualified for each other's shifts. Automatic checks: every swap validated against rest gaps, hour caps and skill minimums — by software, not by a supervisor's memory at 9pm. Visible and logged: proposed in the open, approved on the record, instantly reflected in the published roster and payroll. Fairness counters intact: weekend and night tallies follow the people, so swapped duty still counts. Deadline: swaps close some sensible window before the shift (24-48 h) except genuine emergencies, which go through the manager.
Approval: how much friction?
The mature default is auto-approval within guardrails: if the checks pass, the swap happens, no manager required — that's what makes it feel like real flexibility. Manager review stays for exceptions: rule-breaching requests, emergencies, and patterns (one person sourcing every Saturday off) the counters surface. This is precisely what Tommy's swap flow does: employees propose, the system checks, the roster updates, and managers see the log instead of the queue.
Build this schedule in Tommy
Set the rotation once and Tommy fills the weeks ahead — shift swaps, leave and coverage gaps handled in one place, with your team always seeing the latest version.



