How to write a no-show and cancellation policy customers accept
Policy wording by trade, deposits or card fees, and where the policy has to appear.
A cancellation is only lost if nobody hears about the free slot in time. This guide is the method: who goes on the list, how you choose between them, the text that offers the slot, how long to hold it, and the tools that run it, from a booking tool's own waitlist to a shared sheet.
Updated 29 October 2026, about 8 minutes to read
The short answer
Keep one list with each person's service, the days and times they can do and how much notice they need. When a slot frees up, text the people who match with the time, the service and how long you will hold it. Give it to the first to reply unless need matters more, as with a patient in pain, and tell everyone else it has gone.
Every cancellation list runs the same loop. A booking is cancelled or moved, you find the people on the list who could take that slot, you offer it to them, you hold it for a short time, and you book the person who says yes. Then you tell anyone else you offered it to that it has gone.
In a busy salon it looks like this. At 8.10am a client cancels her 11am cut and colour with Jess. By 8.15, the three people on Jess's list who can do weekday mornings at short notice have a text. One replies YES at 8.22 and gets the slot, and the other two hear at 8.25 that it has gone. The diary is full again before the salon opens.
It pays off when your diary is full and people are waiting for an earlier time: a dentist with a long wait for routine visits, a physio clinic after a referral, a stylist booked weeks ahead, a driving instructor, a popular groomer. If your diary has gaps most weeks, a cancellation list does little. Spend the effort on filling the diary first, and come back to the list when people start asking for earlier times.
A list of names is not enough. To offer a slot in seconds, you need to know who can take it. Record for each person:
Ask at the moment it makes sense, when someone takes a later slot than they wanted: "The first slot with Jess is the 14th. I can book that and put you on our cancellation list, and if something earlier comes up we'll text you. Is that OK?"
Keep the list fresh. Take people off once they are booked, and every few weeks send a one-line text to anyone who has been on it a while: "Still want an earlier appointment? Reply YES to stay on the list."
When a slot frees up, you have two ways to choose, and booking tools offer both. Fresha's waitlist, for example, can notify people first in line, prioritise the highest-value appointment, or offer the slot to everyone so the first to book gets it.
A rule that works for most businesses: for a slot today or tomorrow, offer it to everyone who matches at once. For a slot further away, go in order, with a short hold for each person.
Some businesses need a third rule that comes before both: need. A dental clinic offers a cancellation to the patient in pain before the patient who wants a check-up sooner. A physio clinic may put someone just out of surgery first. Write the order down, so whoever is on the desk applies the same rule and nobody feels skipped.
The offer has to say five things: who it is from, the time, the service or person, how long you will hold it, and how to accept. Texts to adapt:
If accepting means cancelling their later booking, say so, as the dental text does. Never put the reason for the visit or any health detail in the text: "a cancellation tomorrow at 11.30am" is enough.
The closer the slot, the shorter the hold. Each hour you wait for one person is an hour nobody else can take it. As a starting point:
Say the hold in the text as a clock time, "until 6pm today", rather than "for two hours", so nobody has to work it out. And stick to it: if the time passes, offer the slot to the next person, even if the first one replies a minute later.
Two or three people will often reply YES to a group offer. The first reply gets the slot, and everyone else needs a quick, kind answer:
Then confirm the winner the usual way, with the booking tool's normal confirmation, so they get the same reminder and cancellation link as any other booking. Cancel their old booking if they swapped, and take them off the list unless they still want something earlier still.
A list that keeps sending offers people cannot get starts to feel like spam. If someone has answered YES three times and missed out each time, offer them the next one first.
Before you build anything, check whether your booking tool has a waitlist, and switch it on:
A built-in waitlist books the slot in the same calendar it came from, which avoids the double bookings a separate list can cause. If your waitlist and your diary live in different places, read how to stop double bookings first.
If your booking tool has no waitlist, a shared spreadsheet works for a small team. One row per person, with the columns listed above, and one named person who keeps it tidy. When a cancellation comes in, filter by service, staff and days, and text the matches from your business number.
Once that works by hand, it can be automated: when the booking tool reports a cancellation, where its API allows, a workflow finds the matching rows, sends the offer from your number, logs each reply and passes the first YES to a person to book, or books it directly if the tool allows. A careful build alerts someone when a step fails, so a freed slot never sits unoffered. That is the kind of job booking and calendar automation covers, and Zapier, Make or n8n compares the tools for building it yourself.
Offers about openings go to people who asked to hear about them, which is the mildest kind of text. Still record that each person agreed, stop texting anyone who asks you to, and check text message consent rules for your setup.
A cancellation list only works if cancellations reach you while there is still time to offer the slot. Three things help, each covered in its own guide:
Once a month, count three things: how many slots were freed by cancellations, how many the list refilled, and how long the refilled ones took. If slots freed the day before rarely get filled, your offers go out too late or the hold is too long. If people sit on the list for weeks without an offer, their days and times may be too narrow, so ask whether they can widen them.
Look at who keeps missing out on group offers, and at anyone who said YES and then did not turn up. The first group deserve the next offer. The second may need to come off the list.
A list of customers who want an earlier appointment, or a slot that is currently full, and are happy to be contacted at short notice. When someone cancels, the business offers the free slot to the people on the list who can take it, so the time gets used instead of lost.
Search your booking tool's help pages for "waitlist" first. Fresha lets clients join online and can notify them automatically when a slot opens. Square Appointments has a waitlist on its Plus and Premium plans. If your tool has none, a shared spreadsheet with each person's service, days and notice works for a small team.
For a slot in the next day, usually yes: offer it to everyone who matches and say first reply wins, because waiting for one person at a time loses the slot. For slots further away, go in order with a short hold. Put need first where it matters, such as a patient in pain.
The closer the slot, the shorter the hold: no hold for the next few hours, about 30 minutes for later today or tomorrow morning, a couple of hours for later in the week. Give the hold as a clock time in the text, and offer it to the next person when it passes.
They asked to be told about openings, which makes these the mildest kind of business text. Record that each person agreed, say who the text is from, and stop texting anyone who asks you to. Rules differ by country and by how the texts are sent, so check your own setup.
A waitlist is usually for something full, such as a class or a popular stylist's day. A cancellation list is for people who already have a later booking, or none, and want an earlier one. Both work the same way: match, offer, hold, book, and tell the rest.