It is 8:04am. A patient has texted to say they cannot make their 2pm. Reception has read it between checking in the first arrival of the day and taking a call about parking.
You have six hours to put someone else in that slot. This guide is about how to actually do that, and about the specific ways the obvious approaches fail.
First, understand what you are working against
The instinct is to treat this as a demand problem. Do enough patients want an earlier appointment? For most clinics the answer is yes, and the slot still goes empty, which tells you the constraint is somewhere else.
There are three real constraints, and they are all about time.
The patient's attention is not available on demand. Your six-hour window is not six hours of contactable patients. People are at work, driving, in a meeting, or have their phone in a bag. A message sent at 8:05 might be read at 8:07 or at 12:30, and you have no way to know which. This means a process that requires several sequential attempts needs each attempt to be cheap, or you run out of window.
Your team's attention is not available either. The cancellation arrives during clinic hours, which is exactly when nobody at the front desk has a free ten minutes. Filling a slot is important but never urgent in the way a person at the desk is urgent, so it loses every time the two compete. This is the single biggest reason slots go unfilled, and it is not solved by telling staff to try harder.
The slot's value decays. A 2pm slot offered at 8am is attractive. The same slot offered at 1pm is nearly worthless, because almost nobody can rearrange their day at an hour's notice. Whatever you do has to happen early in the window, not eventually.
Build the list before you need it
The worst moment to work out who might want a slot is the moment one comes free. That decision needs to have been made already.
Most clinics have a waiting list in the loosest sense: reception knows roughly who is keen. That is a memory, not a list, and it fails whenever the person holding it is busy, off, or has simply forgotten one of the four people who asked last week.
A list that actually works records, for each patient, four things:
- What they need. Which appointment type, and with which practitioner. A slot with a practitioner they have never seen is often not a real offer.
- When they can come. This is the field almost everyone omits, and it is the most valuable one. A patient who wants an earlier appointment but only has Tuesdays and Thursdays free is not a candidate for a Wednesday slot, and finding that out by contacting them costs you one of your few usable attempts.
- How keen they are, and how urgent it is. A patient in acute pain waiting three weeks is a different proposition from someone who would take an earlier slot if it happened to suit.
- When they asked. Fairness matters to patients, and length of wait is the tiebreaker most people accept as reasonable.
The moment to capture all of this is when the patient asks to be told about earlier appointments, not later. It takes reception about twenty seconds at the desk and saves several minutes under time pressure, which is the trade you want.
One discipline worth enforcing: prune the list. A waiting list of people who genuinely want to come sooner is an asset. One that has silently accumulated everyone who ever expressed mild interest is a liability, because the hit rate collapses and your team learns to expect the process not to work. If someone has already been seen, or declined the last three offers, take them off.
The approach most clinics reach for, and what it costs
When a slot frees up, the obvious move is to tell everybody at once. Message the whole waiting list, first to reply gets it. It is fast, it needs no judgement, and it maximises the chance somebody says yes.
It also has two failure modes that get worse the better it works.
Most of the people you contacted are now disappointed. If twelve people get the message and one gets the slot, eleven have been offered something that was already gone by the time they replied. Do that a few times and you have taught your patients that your messages are not worth acting on quickly, which degrades the response rate on every future offer, including the ones where they would have been the winner.
Two people can say yes at once. Replies arriving seconds apart mean somebody has to be told the slot has gone after they accepted it. That is a materially worse experience than never being asked, and it lands on reception to resolve.
There is a third, quieter cost. Broadcasting removes your ability to prioritise. If the slot goes to whoever happens to be holding their phone, it does not go to the patient in most clinical need, or the one who has waited longest. For a lot of clinics that is an uncomfortable way to allocate care, even when the alternative is an empty room.
None of this means broadcasting never makes sense. If the slot is in ninety minutes and you have nothing to lose, casting wide is rational. But as a default it trades a durable asset, your patients' willingness to respond quickly, for speed on a single slot.
The alternative: one at a time, with a deadline
The other approach is to work through your candidates in order, offering the slot to one person at a time and giving each a limited window to respond before moving to the next.
The trade-off is obvious. It is slower per candidate, and if you allow each person too long you will run out of window before you run out of list. Get the timing wrong in the other direction and patients feel rushed.
What makes it work is that each step has to be genuinely quick, which means two things in practice.
The offer has to arrive somewhere the patient will see it fast. For most clinics that means a text message, because it is read within minutes far more reliably than email.
Accepting has to take one action. This is where more slots are lost than anywhere else. If saying yes requires ringing back during opening hours, the slot's fate now depends on your phone line and on the patient being free to call. If it requires a portal login, a meaningful proportion will not bother. The bar is a single unambiguous action that works from a phone, in a corridor, in thirty seconds: one tap, one reply, one click.
Given those two things, a short expiry per candidate is workable, and the ordering question becomes the interesting one. Clinical urgency first is defensible and most patients would agree with it. Length of wait is the fairest tiebreaker. Attendance history is a reasonable input, on the grounds that a slot offered to someone who has reliably turned up before is more likely to be a slot actually used. And any candidate whose stated availability does not cover the slot should be skipped entirely rather than contacted and asked.
Keep the diary decision with a person
Whichever approach you take, there is one line worth holding: the appointment should not appear in the practitioner's diary without someone at the clinic being satisfied it is right.
A system that writes bookings unattended will eventually put the wrong patient in the wrong slot, and the first anyone knows about it is when they arrive. The cost of that is not just the wasted slot but the trust of the practitioner whose day was changed without their knowledge, which is hard to get back.
The good version separates the two halves. The patient's acceptance should be instant, because their window is short. The booking should be a confirmation step at the clinic, ideally one click on something that is already prepared and waiting. That keeps the speed where speed matters and the control where control matters.
The pieces that make it work
Pulled together, a clinic that reliably fills last-minute cancellations has:
- A list built in advance, including availability, not assembled at the moment of crisis.
- Something that notices the cancellation immediately, rather than depending on a busy person spotting it.
- A deliberate order for who gets offered the slot, decided in advance and applied consistently.
- An offer on a channel patients read quickly, with acceptance in one action.
- A human confirmation before anything reaches the diary.
- A fill rate you actually measure, so you know whether any of it is working.
That last one deserves more attention than it gets. Count the cancellations in a month, count how many of those slots were later booked by someone else, divide. Almost no clinic knows this number, which means almost no clinic can tell whether a change helped. It is also the number that tells you what the whole exercise is worth: multiply your unfilled cancellations by what a slot is genuinely worth to you, which is more than the fee alone and is worked through in what an empty appointment slot really costs a clinic.
How ShowUp approaches this
Slot recovery is what ShowUp is built around, on top of the SMS reminders it already provides to UK private clinics. For the wider picture of where this sits, including prevention and the economics, see our guide on how to recover revenue from cancelled appointments.
The design principles follow the reasoning above. A cancellation should start the process by itself, because the front desk cannot be relied on to notice within minutes. Patients should be approached in a considered order rather than all at once, so that nobody is offered a slot that has already gone. Accepting should take one action on a phone. And the booking should require a person at the clinic to confirm it, because an automated system quietly rearranging a practitioner's day is not a trade worth making.
If you want to compare notes on how your clinic handles this today, send us an email.
About the author
Will Kirk is the founder of ShowUp Software Ltd, a UK company that makes ShowUp: software that helps private healthcare clinics recover revenue from cancelled and missed appointments by offering freed slots to a waiting list by SMS, with automated appointment reminders included. ShowUp works alongside Cliniko. Based in Nottingham. ICO Registered: ZC159538. Company Number: 17228859.
Sources
- British Journal of General Practice: Text message reminders for healthcare appointments: a systematic review
- NHS England: Outpatient attendance and DNA data