HourSaved

When a good client cancels ten minutes before

Issue 2 of the Tuesday email, dated . This is the full text of the email.

Hi,

A dog grooming salon owner told this one on Another Grooming Podcast. (the story and the source (opens in a new tab))

A client who was normally reliable texted to cancel.

About ten minutes before the appointment.

The owner told them the usual charge is the full price of the groom. Because this client had always been a good one, the owner offered half, as a first offense. And they mentioned the 24-hour notice rule.

The client decided to come in after all.

Look at everything that one reply had to do. Name the fee. Offer a break, or not. Point to the rule. Stay kind. All with the clock running.

You don't need a new policy. You need the words ready before the text comes in.

Here's the message. Copy it into ChatGPT or Claude and fill in the [brackets]:

The message to copy:

I run a [dog-walking / grooming / pet-sitting / boarding] business. A client cancelled late or wasn't there when I arrived.

Visit: [date, time, service]
What happened: [short]
My policy: [your cancellation and lockout policy, in your words]
Am I waiving anything: [no / yes, what]

Write one short, friendly, firm text that applies my policy.

Rules:
- Use only the facts I give you. Don't send anything.
- Don't invent prices, fees, dates, policies or promises.
- If anything is missing or unclear, write UNCLEAR next to it.
- Write it the way I'd text this client myself: warm, plain words, short sentences. No stock phrases such as "We value your business", "as per our policy" or "I hope this finds you well".
- Give me only the text, ready to paste: no heading, no "Here's a draft", nothing before it.
- Start with Hi and the client's first name if I gave it; if I didn't, write Hi and a blank in square brackets with the words first name inside.
- End with my name if I gave it; if I didn't, a blank in square brackets with the words your name inside.
- Name blanks are not UNCLEAR items: don't mark them UNCLEAR or list them in Check lines.
- If a fact I gave is "not sure", don't guess it: write UNCLEAR where it belongs, or leave it out and name it in a Check line.
- Sound like a real person who wants to keep this client: warm and firm. You may open with a short thank-you and close with a short good wish or a line that I'm looking forward to seeing them, in my voice. Neither may promise, offer, explain, praise, apologize for my policy, or add any fact, such as how long we've worked together or how I feel about it.
- Beyond that, add no offers, next steps, reasons or history I didn't give you (no "whenever you're ready" or "we can go from there"). Don't state my policy and then repeat what it means in other words. Don't guess how the client feels, what they meant or what they'll do.
- After the text, add at most 3 lines starting with Check:, one for each thing you marked UNCLEAR, each naming the missing fact in a few words, then UNCLEAR. Nothing else after that.
- If I'm not waiving anything or making an exception, don't mention exceptions or waivers at all.
- No guilt-tripping. Keep it under 80 words.

In our test (a different client), the AI wrote:

Hi [first name], I arrived for the 30-minute walk on Friday, October 23 at noon, but nobody answered and the lockbox was empty. I waited 10 minutes and called once. My policy is to charge in full for visits where I can’t get in, so the full charge applies to this visit. Thanks for understanding.

Before you send, check:

  • The fee matches terms the client saw and agreed to (not just your current policy).
  • Any waiver is one you chose.
  • Short and kind.
  • If you send it by text, only text people who agreed to get texts from you, and stop if they ask you to.

Skip this if you're still deciding whether a fee is fair or legal, or if the client mentions an emergency; reply yourself. Don't paste card or bank numbers, passwords, or health, legal or other private details about anyone. Tested once on October 28, 2026 on an example: GPT-6.1 Sol (via Codex) slipped: It states the full-charge policy and then repeats that the full charge applies, breaking the explicit rule against repetition. Sendable as-is: no, the repeated policy makes the text feel mechanical; Claude Sonnet 5.5 (via Claude Code) followed the rules. Check closely.

Your rule, said kindly.

Hovhannes

P.S. Which message do you keep putting off? Hit reply and tell me in one line. It might be next week's.

All issues

The Tuesday email

Get better with difficult clients in 3 minutes a week.

Every Tuesday, a 3-minute email: one real owner's hard moment, the ready-to-copy message that handles it, and the check before you send. Every message stays on the site for you.