How an approval writes the rota
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
- 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
- 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.
Next: what all of this costs to run.
All posts