Fill the tables: 10 AI skills for bookings, no-shows and quiet nights

cancellation-reply

keep the goodwill and keep the date

How the two work together

Claude thinks it through. Paste the Claude prompt into Claude Code, or drop the folder into your skills folder. Claude does the judgement: what to look for, what is worth doing, what is right.

Codex gets it done. At the hand-off point Claude runs Codex on your machine with one command and passes it the Codex prompt. Codex does the mechanical part and hands the result back. Claude checks it before you see it.

No API key to set up: Claude calls the Codex you already have installed. If Codex is not installed, Claude does that half itself and tells you.

Prompt for Claude

---
name: cancellation-reply
description: Writes the reply to a guest who has just cancelled, offering the new date first and handling any deposit the way the rules expect, so you keep the customer and often keep the booking. Use when a cancellation arrives by email, text or phone, or when you are deciding what to do with someone's deposit.
---

# Keep the goodwill and keep the date

You give this the cancellation as it arrived, a screenshot of a text, a forwarded email, a note taken over the phone, plus your booking terms and whether money has changed hands. You get back a reply you can send in under a minute: the new dates offered first, the deposit position stated plainly, and the wording kept inside what the Consumer Rights Act and the Competition and Markets Authority say about keeping a customer's money. It never argues, and it never quietly keeps a deposit it cannot justify.

## What it does

1. **Read the cancellation and pull out the six facts before writing a word.** Who is cancelling, the date and time of the booking, the party size, how much notice they have given in hours, what they paid and when, and the reason if they gave one. Put the notice period in hours rather than days, because a table cancelled at 9am for a 7pm sitting is a very different problem from one cancelled nine days out, and the reply has to be different too. If any of the six is missing, mark it missing in the draft rather than assuming. A reply that guesses at what someone paid is a reply that starts an argument about money on a day the guest was already awkward about ringing you.

2. **Sort the cancellation into one of four boxes, because the reply follows the box.** Free cancellation inside your stated notice period. Late cancellation outside it with money held. Late cancellation outside it with no money held. And a cancellation caused by something you did, a refurbishment, a closure, a booking you took twice. The fourth box is the one owners get wrong, and it is written into the law's list of terms that may be unfair: Schedule 2 of the Consumer Rights Act 2015 names "A term which has the object or effect of permitting the trader to retain sums paid by the consumer where the consumer decides not to conclude or perform the contract, without providing for the consumer to receive compensation of an equivalent amount from the trader where the trader is the party cancelling the contract." If you cancel, the money goes back and you do not need to think about it further.

3. **Lead with two specific alternative dates, not with the cancellation.** The first line of the reply thanks them for letting you know. The second line offers two named dates and times that suit the same party size, taken from your actual diary. Not "let us know when suits", which puts the work back on someone who has already decided not to come. Two options, both real, both bookable, one of them within the next ten days. This is the whole commercial point of the skill: a cancellation answered with a question stays cancelled, and a cancellation answered with "Friday the 26th at 7.30 or Saturday the 4th at 8, both of which I can hold for you until tomorrow evening" gets rebooked a useful share of the time. Say how long you will hold the option, and make it short enough to be true.

4. **State the deposit position in one sentence, before they have to ask.** Never leave the money unmentioned and never bury it at the bottom. If you are returning it, say so and say when it will land. If you are holding it against the new date, say so and say what happens if they cancel again. If you are keeping it, say exactly which term says so and what the money represents. The Competition and Markets Authority's guidance on unfair contract terms says a prepayment is more likely to be fair where "a prepayment is set at a level that reflects the ordinary expenses of the trader when a consumer cancels", and that "A genuine deposit may legitimately be kept in full as long as it operates as a binding reservation and the trader makes clear to the consumer at the earliest opportunity that a deposit is required, and the precise circumstances in which it would be non-refundable." It adds the sentence most restaurants have never read: "such a deposit will not normally be more than a small percentage of the price. A larger prepayment is more likely to be unfair as it may amount to a disguised penalty."

5. **Before keeping a penny, work out what you actually lost, and take off what you saved.** The CMA guidance is explicit that a termination charge is more likely to be unfair if it fails to reflect "any savings for the business associated with no longer having to provide the goods, digital content, or services", "any ability of the business to mitigate (reduce) any loss following the cancellation, for instance by finding another customer", and "any benefit to the business of receiving a payment earlier than it would otherwise have done". So the arithmetic is: the spend you expected, minus the food and drink you did not buy or serve, minus anything you recovered by selling the table to someone else. Write those three figures in the working notes, even though they never appear in the guest's reply. If you refilled the table, you lost very little, and a charge that ignores that is the kind the guidance calls "a disproportionately high sum in compensation".

6. **Check your own term is fair before you rely on it, not after someone complains.** Section 62 of the Consumer Rights Act 2015 states that "An unfair term of a consumer contract is not binding on the consumer", and defines the test: "A term is unfair if, contrary to the requirement of good faith, it causes a significant imbalance in the parties' rights and obligations under the contract to the detriment of the consumer." A term is more defensible when it was shown to the guest at booking, when it uses a sliding scale rather than one flat number, and when the scale is set out clearly. The CMA points to a court decision approving a cancellation scale precisely because of how it was presented, quoting the judgment: "It is shown not in small print but in a very clear form, namely a table of cancellation charges in ascending scale. The layout of the table and ascending nature of the charges introduces clarity and certainty which is desirable in consumer contracts." If your term is a line of small print nobody saw, say so in the working notes and treat the charge as unsafe.

7. **Write it in the owner's voice, at the length a person actually reads.** Six sentences at most, no letterhead, no reference numbers, no "we regret to inform". Use their first name, name the venue, and sign it with a real person's name and role. Say the new dates. Say the money. Say one warm thing that is specific to them if you have anything true to work with, the occasion they had booked for, the fact that they come in often, the dish they always order. A reply from "The Bookings Team" is a reply that reads as a form, and a guest who has just cancelled is exactly the guest deciding whether this is a place run by people.

8. **Produce the three versions, because the same cancellation arrives three ways.** A text of under 320 characters with the two dates in it. An email of six sentences. And a phone script of five lines for the case where ringing back is better, which it usually is for a party of eight or for a regular. All three carry the same two dates, the same deposit sentence, and the same name at the end. Where a deposit is being kept, all three also carry one line saying what to do if they disagree, naming a person and a way to reach them, because a guest who feels stuck complains publicly and a guest who has been given a route complains to you.

9. **Log it, and count the four numbers at the end of the month.** Date cancelled, notice in hours, box it fell into, deposit outcome, rebooked yes or no, and the new date if so. Then total: cancellations received, cancellations rebooked, money returned, money kept. Those four numbers tell you two things nothing else will. If almost nothing rebooks, the alternative dates are not being offered fast enough or are not real. And if the money kept is large while the rebooked count is low, your terms are earning you cash and costing you customers, which is a trade most owners would not make deliberately.

## Then it checks

1. The reply offers two specific dates with times, both taken from the diary, and neither is phrased as an invitation for the guest to suggest something.
2. The deposit position appears in the first half of the reply, states an amount in pounds, and says either when the money returns, what it is held against, or which term allows it to be kept.
3. Where money is being kept, the working notes show the expected spend, the costs saved and anything recovered by reselling the table, and the amount kept is not more than the difference.
4. No version of the reply contains a sentence blaming the guest, explaining the cost of empty tables, or referring to a policy without saying what the policy says.
5. All three versions, text, email and phone script, carry the same two dates, the same amount of money and the same signature, and the text version is under 320 characters.
6. Where a deposit is kept, every version names a person and a way to reach them if the guest disagrees.

Any check fails: name it, redo that step once. Failed twice: say what is wrong and stop.

## Rules
- Public information only.
- Never invent a fact, a number or a quote.
- Anything sent in someone's name says whose name it is.
- Never keep a deposit without writing down the loss it covers and the savings and resale taken off it. A charge that is not worked out is a charge you cannot defend, and the working takes two minutes.
- Never quote a term the guest was not shown before they booked. If the term was not visible at booking, the reply says the money is being returned as a goodwill matter, and the terms get fixed before the next booking.
- Never send a reply that asks the guest to propose a date. The offer moves towards them or the booking is gone.
- Never mention the loss to the business, the difficulty of filling the table, or how late the notice was. It reads as a bill for their inconvenience and it costs the rebooking that the whole reply exists to win.
- This output is a working document prepared for the owner's solicitor or trading standards adviser to check before any deposit is kept or any term is relied on. It quotes published guidance and legislation and applies arithmetic to figures you supplied. It is not legal advice, and it is not a ruling on whether your booking terms are fair.

## Built from
- Consumer Rights Act 2015, Schedule 2, "Consumer contract terms which may be regarded as unfair", https://www.legislation.gov.uk/ukpga/2015/15/schedule/2, read 14 September 2026: paragraph 4 on one-sided retention of sums, which is why step 2 treats a cancellation by the venue as an automatic refund, and paragraphs 5 and 6 on a "disproportionately high sum in compensation", which set the arithmetic in step 5.
- Consumer Rights Act 2015, section 62, "Requirement for contract terms and notices to be fair", https://www.legislation.gov.uk/ukpga/2015/15/section/62, read 14 September 2026: the statement that an unfair term is not binding and the good faith and significant imbalance test, which is the basis for checking your own term in step 6 before relying on it.
- Competition and Markets Authority, "Unfair contract terms CMA37: Guidance on the unfair contract terms provisions in the Consumer Rights Act 2015", https://assets.publishing.service.gov.uk/media/6a609329b00f3323bf1a23f3/unfair_contract_terms_guidance.pdf, 22 July 2026, read 14 September 2026: the conditions under which a deposit may fairly be kept in step 4, the savings, mitigation and early payment deductions in step 5, and the sliding scale and clarity points in step 6 including the quoted judgment on how a cancellation table should be presented.

Prompt for Codex

# cancellation-reply

## You are given
A folder from a UK hospitality venue containing the cancellations as they arrived: forwarded emails, screenshots or text dumps of texts and DMs, notes typed from a phone call. Plus the booking record for each one, the venue's booking terms with the date the term was first shown on the booking page, a payments file or till export showing what was taken and when, an availability extract from the diary for the coming weeks, a spend-per-head figure by day of week, a food and drink cost percentage, and the name and role of the person the replies are signed by. Nothing is consistently named and some cancellations record no notice period at all.

## Produce
Write into an `output/` folder next to the inputs:

1. `cancellations-GUEST-DATA.csv` with these columns in this order: `cancellation_ref`, `booking_ref`, `guest_first_name`, `contact`, `channel`, `booking_datetime`, `party_size`, `cancelled_at`, `notice_hours`, `amount_paid_gbp`, `payment_date`, `instrument`, `reason_given`, `box`, `term_shown_at_booking`, `term_shown_date`. `notice_hours` is whole hours from `cancelled_at` to `booking_datetime`. `instrument` is `deposit`, `card_hold` or `prepayment`, read from the payments file. `box` is `free_cancellation`, `late_money_held`, `late_no_money_held` or `venue_cancelled`. `term_shown_at_booking` is `yes`, `no` or `unknown`.
2. `loss-working.csv` with columns: `cancellation_ref`, `covers`, `spend_per_head_gbp`, `spend_per_head_source`, `expected_spend_gbp`, `cost_of_sales_pct`, `cost_of_sales_saved_gbp`, `table_resold`, `recovered_by_resale_gbp`, `net_loss_gbp`, `amount_held_gbp`, `amount_defensible_gbp`, `amount_held_exceeds_net_loss`. `amount_defensible_gbp` is the lower of `amount_held_gbp` and `net_loss_gbp`.
3. `alternative-dates.csv` with columns: `cancellation_ref`, `option_1_date`, `option_1_time`, `option_2_date`, `option_2_time`, `covers_available`, `hold_expires`, `diary_source_file`. Both options are real rows from the supplied availability extract, and one falls within ten days of the cancellation.
4. `replies-GUEST-DATA/reply-<cancellation_ref>-text.txt`, `-email.txt` and `-phone-script.txt`, one set per cancellation. The text version stays under 320 characters. The email version runs to six sentences or fewer. The phone script runs to five lines.
5. `consistency-check.csv` with columns: `cancellation_ref`, `field`, `text_value`, `email_value`, `phone_script_value`, `match`. One row per cancellation for each of: option 1 date and time, option 2 date and time, money amount, deposit outcome, signature name. Values are extracted from the written files.
6. `decision-log-GUEST-DATA.csv` with columns: `date_cancelled`, `cancellation_ref`, `booking_name`, `notice_hours`, `box`, `deposit_outcome`, `amount_returned_gbp`, `amount_kept_gbp`, `refund_route`, `refund_due_by`, `decided_by`, `rebooked`, `new_date`. `deposit_outcome` is `returned`, `held_against_new_date` or `kept`.
7. `period-totals.csv` with columns: `period_start`, `period_end`, `cancellations_received`, `cancellations_rebooked`, `rebooked_pct`, `money_returned_gbp`, `money_kept_gbp`, `mean_notice_hours`.
8. `exceptions.csv` with columns: `cancellation_ref`, `missing_field`, `what_it_blocks`, `source_file`.
9. `README.md` - the cancellations read, the date range, the count in each box, the total money returned and kept, and every cancellation held.

## Rules
- Write drafts to files only. Never send a text, an email, a DM or a platform message, never open a booking platform or a payments system, and never issue, hold or take a refund. The money moves when the owner moves it.
- Where `box` is `venue_cancelled`, `deposit_outcome` is `returned` in full and `amount_kept_gbp` is `0.00`. No other value is permitted on that row.
- Never set `amount_kept_gbp` above `net_loss_gbp` on the same row. If the supplied terms would keep more, keep the lower figure and name the gap in `exceptions.csv`.
- Every one of the six facts per cancellation must come from a supplied file. A missing amount paid, notice period or spend per head is written as `[MISSING: field name]` and goes in `exceptions.csv`. Never assume what someone paid and never estimate a notice period from a message timestamp you cannot read.
- Both alternative dates must exist in the supplied availability extract with enough covers for that party size. Never propose a date that is not in the extract, and never draft a reply that asks the guest to suggest a date.
- Where `term_shown_at_booking` is `no` or `unknown`, set `deposit_outcome` to `returned` and record the reason. Never quote a term whose first-shown date is not evidenced in the inputs.
- No reply may blame the guest, mention the cost of an empty table, mention how late the notice was, or refer to a policy without stating what the policy says. Scan every drafted file for these and record any hit in `exceptions.csv`.
- Where money is kept, every version names a real person and a way to reach them if the guest disagrees, and every version is signed by the person named in the inputs so it is clear whose name it is sent in.
- Guest names and contact details appear only in the files whose names end `-GUEST-DATA`. Never copy a name, number, email or card detail into `loss-working.csv`, `period-totals.csv` or `README.md`.
- Money in pounds to two decimal places. British English, £, DD Month YYYY dates. No em dashes. No cell may read approximately, circa or tbc.

## Return
The absolute paths of the files written, the cancellations read, the count in each of the four boxes, the number of rows where `amount_held_exceeds_net_loss` is `yes`, the count of `match = no` rows, the total returned and the total kept, and every cancellation held for a missing figure. State that these are drafts for the owner to read and send, that no money has moved, and that the deposit arithmetic and any term relied on are for the owner's solicitor or trading standards adviser to check before a penny is kept.

Built from the best public work on this

Sources for cancellation-reply

Everything below was opened and read on 14 September 2026. Nothing is cited that could not be loaded.

1. Competition and Markets Authority, "Unfair contract terms CMA37"

https://assets.publishing.service.gov.uk/media/6a609329b00f3323bf1a23f3/unfair_contract_terms_guidance.pdf, dated 22 July 2026 on the cover, read 14 September 2026.

This is the CMA's own guidance on the unfair contract terms provisions of the Consumer Rights Act 2015, published on the government's assets service, 134 pages, carrying Crown copyright 2026. The CMA is the UK's competition and consumer protection authority, so this is the regulator explaining how it reads the Act, which is the closest a restaurant owner can get to knowing where the line sits without paying a solicitor. The copy read here is the revised version dated 22 July 2026, not the 2015 original, which matters because the deposit and termination fee sections have been rewritten.

Step 4's deposit rules are taken verbatim from paragraph 6.62. Terms allowing retention of prepayments are more likely to be fair where "a prepayment is set at a level that reflects the ordinary expenses of the trader when a consumer cancels", and where "A genuine deposit may legitimately be kept in full as long as it operates as a binding reservation and the trader makes clear to the consumer at the earliest opportunity that a deposit is required, and the precise circumstances in which it would be non-refundable. Those circumstances must be clear and narrow, so that the trader does not have wide discretion to retain the deposit." The sentence that most changes behaviour is the next one: "But such a deposit will not normally be more than a small percentage of the price. A larger prepayment is more likely to be unfair as it may amount to a disguised penalty." That is why the skill refuses to let a large per-head deposit be defended simply because it was written down somewhere.

Step 5's arithmetic is paragraph 6.63, which lists what a termination payment must reflect: "any savings for the business associated with no longer having to provide the goods, digital content, or services", "any ability of the business to mitigate (reduce) any loss following the cancellation, for instance by finding another customer", and "any benefit to the business of receiving a payment earlier than it would otherwise have done". The same paragraph says a term is unlikely to be fair if it lets the trader claim "all its costs and expenses, not just its net costs resulting directly from the breach". The mitigation limb is the one that matters most in hospitality, because a table cancelled at 10am on a Saturday is often resold by 6pm, and a charge that ignores the resale is the disproportionate sum the Act's grey list describes.

Step 6's presentation point comes from paragraphs 6.64 to 6.67. The guidance accepts that "It may be acceptable for a contract to contain a sliding scale of termination or cancellation charges but there must be no circumstances in which they are likely to be disproportionate or punitive", and then quotes a court decision approving one: "It is shown not in small print but in a very clear form, namely a table of cancellation charges in ascending scale. The layout of the table and ascending nature of the charges introduces clarity and certainty which is desirable in consumer contracts."

Where the skill departs from the source: the CMA is writing about contract terms in general, across every sector, and much of the guidance concerns drafting. The skill does not attempt to redraft anyone's terms, and it does not tell an owner what percentage deposit is safe, because the guidance deliberately does not give a number and inventing one would be exactly the failure this pack refuses. Instead it forces the working to be written down and hands the term itself to the owner's adviser. The skill is also stricter than the guidance in one place: the guidance discusses when money may be kept, while the skill adds a commercial rule that the reply must never mention the venue's loss to the guest at all, which is a judgement about rebooking rather than anything the CMA says.

2. Consumer Rights Act 2015, Schedule 2, "Consumer contract terms which may be regarded as unfair"

https://www.legislation.gov.uk/ukpga/2015/15/schedule/2, read 14 September 2026.

legislation.gov.uk is the official publisher of UK statute. Schedule 2 is the grey list, the indicative catalogue of terms that may be found unfair, and three of its paragraphs speak directly to a restaurant deposit.

Paragraph 4 drives step 2's fourth box: "A term which has the object or effect of permitting the trader to retain sums paid by the consumer where the consumer decides not to conclude or perform the contract, without providing for the consumer to receive compensation of an equivalent amount from the trader where the trader is the party cancelling the contract." A venue that keeps deposits when guests cancel, but offers nothing when it closes for a private hire or a refurbishment, is describing its own terms in the language of the grey list.

Paragraph 5 is the cancellation charge itself: "A term which has the object or effect of requiring that, where the consumer decides not to conclude or perform the contract, the consumer must pay the trader a disproportionately high sum in compensation or for services which have not been supplied." Paragraph 6 covers the no-show rather than the cancellation: "A term which has the object or effect of requiring a consumer who fails to fulfil his obligations under the contract to pay a disproportionately high sum in compensation." Both are why step 5 subtracts costs saved and money recovered before any figure is kept.

Where the skill departs from the source: the grey list is indicative, not a list of automatically banned terms, and whether a specific charge is disproportionate is a question for a court on the facts. The skill never says a term is unfair. It says when a charge is unsafe to rely on, requires the working to be shown, and sends the term to an adviser.

3. Consumer Rights Act 2015, section 62, "Requirement for contract terms and notices to be fair"

https://www.legislation.gov.uk/ukpga/2015/15/section/62, read 14 September 2026.

The operative section behind the grey list, again from the official publisher. Two lines shaped step 6. The consequence: "An unfair term of a consumer contract is not binding on the consumer." And the test: "A term is unfair if, contrary to the requirement of good faith, it causes a significant imbalance in the parties' rights and obligations under the contract to the detriment of the consumer."

The reason this sits in the skill rather than in a footnote is that owners commonly believe a term protects them because it exists. Section 62 says the opposite: an unfair term does not bind the guest at all, so the deposit kept under it was never safely kept. That is what turns "check your term" from a nicety into step 6, before the money is dealt with rather than after a complaint.

Where the skill departs from the source: the section sets a legal test that depends on the whole contract and the circumstances at the time it was made. The skill applies a practical proxy instead, which is whether the term was actually shown to the guest at the point of booking and whether it is a scale rather than a flat sum. That proxy is drawn from the CMA guidance, not from the section, and the skill does not present it as the statutory test.

Best public prompt we found for this job

There is no established public prompt or skill for replying to a booking cancellation, and the search bears that out rather than hiding it. A query to api.github.com for booking cancellation email template repositories, sorted by stars, returned vishwanathray93/Refund_email_template at 0 stars as the leading result, described as "a professional and responsive Refund Email Template designed for Venue Marketplace platforms. It helps businesses send clean, modern, and customer-friendly refund confirmation emails after booking cancellations or payment refunds." Star count read from https://api.github.com/search/repositories?q=booking+cancellation+email+template&sort=stars&order=desc on 14 September 2026. A broader query for customer email reply template repositories returned a result whose metadata was unusable, GitHub documentation content rather than a project description with a star count, so no figure is claimed from it.

The one idea worth keeping from that template repository is that the refund confirmation is treated as a designed, customer-facing moment rather than an afterthought. That is the right instinct and it is the reason step 4 puts the money in the first half of the reply instead of the last line.

What was not copied, and why: the template is a confirmation of a decision already taken, HTML for a marketplace, and it has nothing to say about whether keeping the money was defensible or about winning the booking back. This skill inverts the order. The alternative dates come first because the commercial outcome is a rebooking, the money is settled in one sentence because a guest reading about deposits is a guest who has stopped reading about dates, and the legal position is worked out in notes the guest never sees. None of that exists in any public template found.

Want this running in your business?

I optimise how businesses run — your sales, your visibility, your social media — and build bespoke software where nothing off the shelf fits. The first conversation is free. Work starts from £150 a day.