Skip to content

Part 5 of 7 · Shift swap broker series ~5 min read

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

What happens when a manager approves a shift swapA vertical chain of five steps entered by a box labelled Approve tapped, signed and single-use. Step one asks whether the swap is still open using a conditional write against its state; a second tap exits to Already decided, which shows what happened. Step two writes the rota so the shift changes hands. Step three moves both people's hour totals, which matters for the next overtime check. Step four increments the taker's swap counter. Step five tells both people and closes the loop. A note says the hour totals matter, because without them the next swap's overtime check is wrong.AWS ACCOUNTApprove tappedsigned, single-useStill open?conditional writeThe swapstate = acceptedAlready decidedshow what happenedsecond tapWrite the rotathe shift changes handsMove both hour totalsfor overtime next timeIncrement the countersthe taker's swap countTell both peopleand close the loopThe hour totals matter: without them, the next swap's overtime check is wrong.
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

FieldExampleWhy
ShiftThu 24 Jul, 18:00–23:00, till 2What moved
Gave up / tookash@ / rae@Who
Eligibility at the timequalified, free, 31h, 3 swapsWhy it was allowed then
Approved bymanager@Who decided
Overridenone, or the rule and the reasonWhat was set aside, if anything
Offered to3 people, 2 batchesHow 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

One month of shift swaps summarised in five numbersA horizontal row of five boxes. Requested: thirty-four swaps. Covered: twenty-nine. Nobody eligible: three. Overrides: two, both for training reasons. Spread: the top taker had five of the twenty-nine. A note says the third number is a training gap and the fifth is whether the ordering is working.ONE MONTH OF SWAPSRequested34 swapsCovered29Nobody eligible3Overrides2, both trainingSpreadtop taker: 5 of 29The third number is a training gap. The fifth is whether the ordering is working.
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.

Next: what all of this costs to run.

All posts