An empty booked slot is not the same as a slow afternoon. A job that ran long still paid at the end of it. A no-show cost you the hour, the drive, the phone calls, and the work you could have sold to somebody else that week — and none of it appears anywhere in your accounts.

What does a no-show actually cost?

Four separate things, and almost everybody counts only the first.

  • The job you did not do, and the margin on it.
  • The drive to an empty property, and the fuel or diesel that cost you.
  • The admin: the phone call, the rebooking, the second quote you never sent.
  • The chance. That slot was a fixed opening. You cannot sell it twice.

Do not estimate this. Calculate it, from numbers your own records already hold:

Margin lost = average job value × gross margin % × (no-show count ÷ booked count)
Total monthly cost = margin lost
                     + (drive-outs × cost per drive)
                     + (no-show count × admin minutes each ÷ 60 × your hourly rate)

Three inputs, none of them a guess. The count comes out of a log, the job value and the margin come out of your accounting software, and the drive cost is your own card slips.

A worked example

Sample Plumbing Co books about 60 slots a month at an average of R8 500 a job and a 55% gross margin. Last month three slots came up empty. Six of those no-shows each became a drive-out, and every one of them ate about 35 minutes of office time.

Margin: R8 500 × 0.55 × 3            = R14 025
Fuel:   R45 × 6                      = R270
Admin:  3 × (35 ÷ 60) × R120         = R210
Month total                          = R14 505

Now look at where it went. Two thirds of the loss is margin on work that never happened. A third is fuel and admin that a single phone call before leaving would have removed.

Why does a booked slot end up empty?

  • The booking was taken in a rush and never written down anywhere that the person attending can see.
  • The confirmation only fired at the moment of booking, which may have been three weeks earlier.
  • Nobody was told what the slot was for, so it never felt like an appointment. It was a slot, and slots are optional.
  • The address was captured from memory and the suburb is wrong.
  • Nobody asked for the gate code, the access contact, or the make and model, so there was nothing to confirm on the day.
  • The reminder went out from a number the customer had blocked, or from a personal number that has since changed.
  • The reminder read "your appointment is tomorrow" with no time, no name of the person attending, and no way to reschedule without feeling guilty.
  • They cancelled at 06:40, after you had already loaded the van.
  • They simply forgot they had booked anything, because nothing asked them to remember it again.

Most of these are failures in the booking, not in the customer. A customer who cancels early is doing you a favour.

What is the difference between a confirmation and a reminder?

A confirmation proves the booking exists. A reminder forces the customer to hold on to it. They are different messages, at different times, and most businesses send only the first.

MomentJob of the messageWhat it must contain
At bookingConfirm it exists and set the expectationDate, time window, what happens next, who is coming
48 hours beforeTurn it into a real appointmentExact time, name of the person attending, one way to reschedule
Morning ofCatch the people who forgotTime, address, access detail, and "reply NO if you cannot make it"
Before you leaveLast chance to cancel cheaply"Leaving for [suburb] at [time]. Reply now if this will not work."

That last one is the cheapest message you will ever send. It costs nothing and it converts an hour of driving into a two-minute phone call.

Send them as messages with a reply route, not as one-way texts with no way to answer. And check that each one arrived. A reminder that failed silently is worse than no reminder, because you now believe the customer was told.

How do you make the booking itself harder to ghost?

A booking with nothing attached to it is a suggestion. These are the small commitments that cost a customer nothing and make them think twice:

  • Ask for the gate code, the access contact, or the model number while you are still on the phone. Nobody forgets a gate code.
  • Send the address back to them in writing, suburb included, and ask them to correct it if it is wrong. Now they have read it.
  • Take card details and hold them, and say plainly in the message what you will and will not charge. Most arguments about card holds are caused by silence.
  • Take a small deposit on anything above a value you name in advance. It does not have to be meaningful income. It only has to be enough that cancelling now costs the customer a phone call.
  • Ask one question at booking that a person with no intention of turning up would not bother to answer — in proportion to the value of the job.

Be proportionate. A R400 visit does not need a deposit. A R90 000 installation does, and most customers expect to be asked.

Should you ask for a reason, or for a deposit?

Both, for different purposes, and the reason is not the one that matters.

The deposit changes behaviour. That is its only job. Keep it proportionate to the value of the slot and give it back as stated, every time, without negotiation, or it becomes a source of the very complaints you are trying to avoid.

The reason tells you what to fix. Nobody who has a genuine problem with you cancels twice for the same reason. Write the reasons as plain words in your log rather than as categories — "forgot we were booked" and "someone else did it cheaper" are two different fixes, and a drop-down list will flatten them before you read them.

How do you fill the slot when someone does not turn up?

The pattern that works is knowing who is available in that window before you need to know.

When a 14:00 slot opens at 09:00, you have five hours to do something about it. Keep a short standing list of work that could start the same afternoon, and answer three questions about each entry: does it need a part we already hold, will it fit inside the window, and does the margin beat whatever else you could be doing.

  • Work the list from the top down, from best margin to least.
  • Offer the slot to the next person on the waiting list first, if you keep one. They asked earlier; they are the cheapest to convert.
  • Then post it on the channel the work actually comes from, with honest detail: "14:00 today, [suburb], about 90 minutes." No discount needed. Somebody who needs a slot at short notice will pay the same rate, and they will remember that you had one.

The window is the whole point. The moment you find out you are free is the only moment you can act on it. After about 10:00 the list is stale and the labour is gone.

What do you write in a no-show log?

Six fields, one row each: date, customer, appointment slot, minutes lost, reason given, follow-up sent. Nothing else. The point is that it is short enough that you will actually keep it.

No-show log — Sample Plumbing Co (example)

Date    | Customer   | Slot          | Mins | Reason given        | Follow-up sent
2026-09-08 | Nadia K | Tue 09:00 Bellair | 90 | Forgot, work ran long | Yes, 11:00 same day
2026-09-17 | Johan P | Thu 14:00 Umhlanga | 120 | Cancelled 06:40, van loaded | Yes, 06:55 same day

Keep it for a full month before you change anything. Three data points is not a pattern, and acting on three data points is how a good idea turns into a policy that irritates everybody.

Two numbers come out of it. The rate, which is no-shows divided by slots booked. And the money, which is the formula above. Put the money number next to your monthly margin figure, because that is the comparison people understand.

Then review the reasons monthly, as words, in a column. The top reason on most lists is not dishonesty. It is forgetting, and forgetting is a message problem, not a character problem.

Where do you start this week?

  1. Find last month's bookings and count how many did not happen. One evening of work, and it is the number everything else depends on.
  2. Send this week's customers the 48-hour and morning reminders by hand, today, before you change anything else.
  3. Add the "before you leave" message to your normal leave-the-yard routine. It is four lines of typing.
  4. Start the log, even if it is a notebook.
  5. Decide about deposits for one value threshold only — the point where a no-show would actually hurt — and test it for a month.

Not sure where to start? Book a free 30-minute strategy session and we will name the one gap worth fixing first: https://agentcy.co.za/#book-audit