Approval is one tap and four writes, and the interesting part is what happens when a manager wants to approve something that failed a check — which is not a bug in the design but a feature of every real rota.
Key takeaways
Approval writes the rota, both people’s hours, the swap counters, and the record.
A manager can override a failed check, and the override is recorded with a reason.
An override is never silent. Both people are told which rule was set aside.
The record keeps who gave up, who took, and why they were eligible at the time.
One monthly number matters: how many swaps failed for lack of anybody eligible.
What one tap changes
Fig 1. The four writes behind one tap. Moving both hour totals is easy to forget and makes every subsequent overtime check wrong until somebody notices.
Database
App integration
Machine learning
Security & identity
Management
Analytics
Overrides
A manager will sometimes want to approve a swap that failed a check, and they are usually right. The untrained person is being trained on that station this week. The overtime is fine because a quiet week is coming. The cap can be stretched because somebody asked to work more.
Overrides are allowed. A system that refuses a manager’s judgement gets worked around within a month, and then the swaps happen in the group chat again with no record at all.
They require a reason. One line, free text. Not a dropdown, because the reasons that matter are the ones nobody anticipated.
Both people are told which rule was set aside. Somebody taking a shift they are not signed off on should know that, and so should the person handing it over.
They are counted. Three overrides of the same check in a month is a rule that does not fit the business, and it should be changed rather than routinely ignored.
The record
Field
Example
Why
Shift
Thu 24 Jul, 18:00–23:00, till 2
What moved
Gave up / took
ash@ / rae@
Who
Eligibility at the time
qualified, free, 31h, 3 swaps
Why it was allowed then
Approved by
manager@
Who decided
Override
none, or the rule and the reason
What was set aside, if anything
Offered to
3 people, 2 batches
How the loop ran, for the fairness report
The eligibility snapshot is the field that earns its keep later. “Rae was on 31 hours when this was approved” answers, months afterwards, why a swap that looks wrong now was reasonable at the time — which is the same argument as the basis field in the purchase order approver, and for the same reason.
The monthly numbers
Fig 2. A month of swaps in five numbers. The last two are the ones that lead to a change: a training gap, and whether extra hours are actually spreading.
Machine learning
Management
Analytics
Front-end & mobile
Three swaps failing for lack of anybody eligible is almost always the same story: a station only two people are trained on. Training a third is a half-day and it removes the problem permanently, and the only reason it does not happen is that nobody counts how often it costs something.
The spread number is the check on the ordering from Part 3. One person taking five of twenty-nine is healthy; one person taking eighteen means either the ordering is not working or a lot of people are ineligible, and both are worth looking at.