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

booking-confirmation

the confirmation that stops the no-show

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: booking-confirmation
description: Writes the confirmation message a guest gets straight after booking, in the version for text, email and WhatsApp, carrying the facts they check, the cancellation terms in their own numbers and the allergy question, without turning it into marketing. Use when bookings are taken by phone, DM or a widget and the guest hears nothing back, or when your confirmation is a receipt nobody reads.
---

# Write the confirmation that makes the guest turn up

You give this the way bookings reach you, your cancellation terms, and one real booking with the messy detail on it: a voicemail, an Instagram DM at 11pm, a name spelled two ways. You get back the confirmation message in three lengths, one for text, one for email and one for WhatsApp, with the facts a guest actually checks in the first two lines, the cancellation deadline written as a date and time rather than a number of hours, and one allergy question. It also tells you what you must not put in it, which is the part that gets venues into trouble.

## What it does

1. **Send it inside ten minutes, while the guest still has the phone in their hand.** Fix the send as a rule, not an intention: taken on the phone, sent before the host puts the handset down; taken by DM, sent in the same thread before the conversation closes; taken by a widget, sent automatically. The reason is not politeness. The confirmation is the only moment when the guest is thinking about your restaurant, has their diary open and can correct a date you have misheard. A confirmation that arrives the next morning reaches somebody who has moved on and who now has to work out whether it is worth replying. Build the ten-minute rule into the rota rather than the training: name which job does it on each shift, and what happens to confirmations for bookings taken after close.

2. **Put the six facts a guest checks into the first two lines.** Those are the day of the week, the date, the time, the number of people, the name the booking is under and the venue's street address. Write the day of the week even though the date is there, because "Saturday 20 December" is checked against a memory and "20/12" is not. Write the time in the same form the guest said it. Write the party size as a number and a word. Put the street name in, not just the venue name, because the guest who booked the Fulham site and is standing outside the Clapham one is a no-show in your figures and a furious review in your inbox. Everything else in the message is below these two lines, and nothing is allowed above them.

3. **Restate the cancellation terms in this guest's numbers, converted into a date and a time.** Do not write "48 hours' notice". Write "free to cancel until 8pm on Thursday 18 December". Do not write "a deposit applies". Write "you have paid £26, which comes off the bill on the night". A guest cannot do notice-period arithmetic from a message they read at a bus stop, and a term they cannot work out is a term they will dispute. This also serves the transparency the Competition and Markets Authority describes in its unfair contract terms guidance, which requires that terms "are presented and explained in a way that enables the average consumer to understand their rights and obligations, assess how the contract will operate in practice, and make informed choices". The confirmation is where that happens for a booking taken by phone.

4. **Give one route to change or cancel, and make it the route you actually answer.** One line, one method, and it must be the channel a real person watches. If the booking came in by DM, the cancel route is that thread. If it came by phone, it is the number, with the hours somebody picks it up. Do not offer three routes, because a cancellation sent to the one you do not monitor becomes a no-show with a paper trail proving the guest tried. This is also the practical half of fairness: the CMA's guidance treats a financial sanction as more likely to be fair where "the consumer can easily avoid the sanction becoming due", and a deposit you keep from somebody who emailed an address nobody reads is not that.

5. **Ask the allergy and access question now, in the confirmation, and say what happens next.** One sentence, one reply expected: anything we should know about allergies, intolerances or access. The Food Standards Agency's best practice guidance for non-prepacked food says it is best practice that businesses "should make allergen information easily available in writing for consumers and ensure staff are able to support this with a conversation", and that the written information should be "comprehensive - it should provide information on all 14 allergens". The confirmation is not where you answer the question, it is where you collect it early enough that the kitchen has a day rather than a minute. Say in the message that someone will go through it with the table on the night, because that is what actually has to happen.

6. **Keep it a service message, and know exactly where that line is.** The Information Commissioner's Office describes a service message as one covering communications "that aren't promotional but are for administrative or customer services purposes, such as messages to: remind people how to contact you in case of a problem; check their contact details are correct; confirm or remind them about appointments; or update them on your terms or conditions". A booking confirmation is squarely that. But the ICO is explicit about the trap: "If your service message has elements that are direct marketing, even if that is not the main purpose of your message, then it will count as direct marketing." It adds that "if your service message contains general branding or logos, this doesn't count as direct marketing". So your logo is fine. "While you're here, our Christmas menu is now live" is not, and it converts the whole message into marketing that needs consent you probably do not have.

7. **Name yourself and give a contact address, in every channel.** The ICO's rules on electronic mail marketing state plainly: "You must not disguise or conceal your identity, and you must provide a valid contact address so they can opt out or unsubscribe." Those rules bite on marketing, and this message is not marketing, but the habit costs nothing and the failure is expensive: a text from an unrecognised number with no venue name in it gets deleted as a scam, and a guest who deletes the confirmation has no record of the terms you are relying on. Put the venue name in the first four words of a text, in the sender name of an email, and in the display name on WhatsApp.

8. **Write it three times for three channels, to three lengths.** The text version is under 300 characters and contains the six facts, the cancel deadline and the cancel route, and nothing else. The email version adds the address as a link, the allergy question and the cancellation table. The WhatsApp version reads like a person typed it, because in that channel anything that reads like a system message gets ignored. All three carry the same date, the same time, the same amount and the same deadline, and the skill checks that they do, because three versions drifting apart is how a venue ends up arguing about which one the guest received.

9. **Log what was sent, to whom, when, and in which version.** Five columns: booking reference, channel, timestamp sent, deadline stated, amount stated. This is not admin for its own sake. If you ever keep a deposit, the question that decides it is whether the guest was told the terms before the money was taken, and the log is the only answer you will have in March about a booking made in December. It also shows you, after a month, how many confirmations went out late and which shift is not sending them.

## Then it checks

1. The first two lines of every version contain the day of the week, the date, the time, the party size, the booking name and the street address, with nothing else placed above them.
2. The cancellation deadline appears as a weekday, date and clock time, and the word "hours" does not appear in any version as a way of expressing the deadline.
3. The three versions state the same date, time, party size, money amount and deadline as each other, checked value by value rather than read over.
4. No version contains an offer, a promotion, an upsell, a menu launch, a review request or a social media follow. Branding and the venue logo are allowed and are not counted as a breach of this check.
5. The text version is under 300 characters, contains the venue name within its first four words, and names one cancellation route.
6. Exactly one allergy and access question is asked, and the message says who will go through it on the night.

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: the venue name appears in the message, not just in the phone number it came from.
- Never add a promotion to a confirmation, however small. The ICO's position is that a service message with any direct marketing element in it counts as direct marketing "even if that is not the main purpose of your message", and the cost of that is not a fine in the first instance, it is that your genuinely useful confirmations start needing consent you did not collect.
- Never use the confirmation to ask for a review, a follow or a newsletter sign-up. Those are for after the meal, through a route the guest has agreed to, and putting them here spends the one message the guest was definitely going to read.
- Never state a deposit amount or a deadline in a confirmation that differs from the booking page. If they disagree, stop and fix the booking page first, because the confirmation is the document the guest keeps.
- This output is a working document prepared for the owner's solicitor or adviser to check before it goes out at volume, particularly the wording that restates contract terms and the handling of allergy replies. It drafts messages; it is not legal advice and it is not a food safety assessment.

## Built from
- Information Commissioner's Office, "Identify direct marketing", https://ico.org.uk/for-organisations/direct-marketing-and-privacy-and-electronic-communications/direct-marketing-guidance/identify-direct-marketing/, no publication date shown on the page, read 14 September 2026: the definition of a service message and the rule that any marketing element converts the whole message, which is the whole of step 6 and check 4.
- Information Commissioner's Office, "Electronic mail marketing", https://ico.org.uk/for-organisations/direct-marketing-and-privacy-and-electronic-communications/guide-to-pecr/electronic-and-telephone-marketing/electronic-mail-marketing/, no publication date shown on the page, read 14 September 2026: the identity and contact-address requirement in step 7, and the breadth of "electronic mail", which is why the skill writes a WhatsApp version under the same discipline as a text.
- Food Standards Agency, "Allergen information for non-prepacked foods: best practice", https://www.gov.uk/government/publications/allergen-information-for-non-prepacked-foods-best-practice/allergen-information-for-non-prepacked-foods-best-practice, published 24 February 2025, read 14 September 2026: paragraphs 28 and 29 on written information covering all 14 allergens, and paragraph 50 on re-checking on the day, which set step 5 and the promise the message has to make.
- Competition and Markets Authority, "Unfair contract terms, CMA37", https://assets.publishing.service.gov.uk/media/5a7f8b58ed915d74e33f716e/Unfair_Terms_Main_Guidance.pdf, 22 July 2026, read 14 September 2026: the transparency test at 4.33 behind step 3, and the easily-avoidable test at 6.65 behind the single cancel route in step 4.
- ResDiary, "Beyond the Booking: UK & IE Hospitality Industry Report 2024", https://resdiary.com/industry-insights/uk-ie-hospitality-industry-report-2024, no publication date shown on the page, read 14 September 2026: the 8% average no-show rate across 175 surveyed venues, which is the size of the problem this message exists to reduce and the reason step 1 fixes a ten-minute rule rather than a good intention.

Prompt for Codex

# booking-confirmation

## You are given
A folder from a UK hospitality venue containing any of: a bookings export (CSV, XLSX or a pasted list) with inconsistent column names, screenshots or text dumps of bookings taken by phone, Instagram DM or WhatsApp, the venue's booking terms as a page capture or a document, and a settings file or prompt carrying the venue name, the full street address with postcode, the free-cancellation notice in hours, the deposit per head in pounds, the one reply route, and the name and role of the person the messages are signed by. Names are spelled two ways, times are written six ways, and some bookings have no contact on them at all.

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

1. `confirmations-GUEST-DATA.csv` with these columns in this order: `booking_ref`, `guest_name`, `contact`, `channel`, `booking_datetime`, `day_of_week`, `time_as_the_guest_said_it`, `party_size_number`, `party_size_words`, `booking_name`, `venue_name`, `venue_street_address`, `deposit_paid_gbp`, `cancellation_deadline`, `reply_route`, `sms_char_count`, `marketing_scan`, `status`. `channel` is `sms`, `email` or `whatsapp`, taken from how the contact parses. `cancellation_deadline` is written as weekday, DD Month YYYY and clock time, computed from that booking's own datetime minus the configured notice hours. `marketing_scan` is `clean` or a semicolon-separated list of the banned phrases found. `status` is `drafted` or `held`.
2. `messages-GUEST-DATA/confirmation-<booking_ref>-sms.txt`, `-email.txt` and `-whatsapp.txt`, one set per booking. The first two lines of every file carry the day of the week, the date, the time, the party size, the booking name and the street address, and nothing sits above them.
3. `message-templates.csv` with columns: `template_id`, `channel`, `subject`, `body`, `merge_fields`, `character_limit`, `classification`. Three rows, one per channel. `classification` is `service` for all three. Placeholders are `{day_of_week}`, `{booking_date}`, `{booking_time}`, `{party_size}`, `{booking_name}`, `{venue_name}`, `{venue_street_address}`, `{deposit_paid}`, `{cancellation_deadline}`, `{reply_route}`, `{signed_by}`.
4. `consistency-check.csv` with columns: `booking_ref`, `field`, `sms_value`, `email_value`, `whatsapp_value`, `match`. One row per booking for each of: booking date, booking time, party size, deposit amount, cancellation deadline. `match` is `yes` or `no`, taken by extracting the value out of each written file, never by comparing the template.
5. `send-log-GUEST-DATA.csv` with columns: `booking_ref`, `channel`, `drafted_at`, `deadline_stated`, `amount_stated`, `sent_at`, `sent_by`. `sent_at` and `sent_by` are left empty for the venue to complete.
6. `exceptions.csv` with columns: `booking_ref`, `missing_field`, `what_it_blocks`, `source_file`.
7. `README.md` - the settings read, the bookings counted, the date range, the character-count range of the text versions, and every booking held in `exceptions.csv`.

## Rules
- Write drafts to files only. Never send a text, an email, a WhatsApp message or a platform message, never open a booking platform, a mail client or a messaging API, and never mark anything as sent.
- Compute every cancellation deadline from that booking's own date and time. Never apply one deadline to all rows, and never write the deadline as a number of hours. The word `hours` must not appear in any message as a way of expressing the deadline.
- Every fact in a message must come from the bookings export or the settings file. A missing venue address, deposit or notice period is written as `[MISSING: field name]`, the row status is set to `held`, and it goes in `exceptions.csv`. Never fill a gap with a plausible address, a rounded deposit or a typical notice period.
- No message may contain an offer, a promotion, an upsell, a menu launch, an event, a review request, a newsletter sign-up or a social media handle. Scan every drafted file for these and record the result in `marketing_scan`. The venue name and logo are not a breach.
- Every message names the venue in its first four words and is signed with the real person and role given in the settings, so it is clear whose name it is sent in.
- Exactly one allergy and access question per message, and the message says who will go through it with the table on the night.
- The text version stays under 300 characters once the longest real value in the data is merged in. Measure it against the longest value, not a sample.
- If the deposit amount or the deadline in the settings disagrees with the booking terms capture, write neither, set the row to `held`, and name both figures in `exceptions.csv`.
- Guest names and contact details appear only in the four files whose names end `-GUEST-DATA`. Never copy a name, number, email or card detail into `message-templates.csv`, `README.md` or any summary.
- Use British English, £, and DD Month YYYY dates. No em dashes.

## Return
The absolute paths of the files written, the number of bookings read and drafted, the number held with the reason, the count of `match = no` rows in `consistency-check.csv`, the longest text version in characters, and every booking with a `marketing_scan` other than `clean`. State that these are drafts for the owner to read and send, that nothing has been sent, and that the wording restating the booking terms is for the owner's solicitor or adviser to check before it goes out at volume.

Built from the best public work on this

Sources for booking-confirmation

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

1. Information Commissioner's Office, "Identify direct marketing"

https://ico.org.uk/for-organisations/direct-marketing-and-privacy-and-electronic-communications/direct-marketing-guidance/identify-direct-marketing/, no publication date shown on the page, read 14 September 2026.

The ICO is the UK regulator for data protection and for the Privacy and Electronic Communications Regulations, and this page answers the question every restaurant confirmation raises: is this message marketing or not? It matters because a marketing text to an individual needs consent or the soft opt-in, and a confirmation rarely has either.

The page defines the category the skill aims for: "This type of communication is often referred to as a 'service message'. It covers messages that aren't promotional but are for administrative or customer services purposes, such as messages to: remind people how to contact you in case of a problem; check their contact details are correct; confirm or remind them about appointments; or update them on your terms or conditions." A booking confirmation does three of those four at once.

Then it sets the trap: "If your service message has elements that are direct marketing, even if that is not the main purpose of your message, then it will count as direct marketing. However, if your service message contains general branding or logos, this doesn't count as direct marketing." The worked example is a gym ringing about a failed payment, which is a service message, and the same call mentioning personal training, which is not. It also gives the tone test: "if a message has a neutral tone and simply gives information that they need to know as part of their relationship with you this is more likely to be a service message."

That is step 6, rule four and check 4, and they exist because the commonest thing a restaurant does to a working confirmation is add one line about the Christmas menu. The branding carve-out is quoted deliberately too, because owners over-correct and start sending unbranded texts from unrecognised numbers, which is worse.

Where the skill departs: the ICO describes a legal boundary, not copy. It gives no view on what a confirmation should contain, how long it should be, or when it is sent, so the six facts, the ten-minute rule and the three channel versions come from the operational problem. The skill also applies the discipline to WhatsApp and Instagram threads, which the page does not name, on the basis of the "electronic mail" definition in source 2.

2. Information Commissioner's Office, "Electronic mail marketing"

https://ico.org.uk/for-organisations/direct-marketing-and-privacy-and-electronic-communications/guide-to-pecr/electronic-and-telephone-marketing/electronic-mail-marketing/, no publication date shown on the page, read 14 September 2026. The page carries a notice that the guidance is under review following the Data (Use and Access) Act.

The PECR rules themselves. In brief, the page says: "You must not send marketing emails or texts to individuals without specific consent. There is a limited exception for your own previous customers, often called the 'soft opt-in'." It sets out the soft opt-in condition as an existing customer "who bought (or negotiated to buy) a similar product or service from you in the past, and you gave them a simple way to opt out both when you first collected their details and in every message you have sent."

Two things came from it. First, the identity requirement in step 7: "You must not disguise or conceal your identity, and you must provide a valid contact address so they can opt out or unsubscribe." Second, the breadth of what is covered, defined as "any text, voice, sound or image message sent over a public electronic communications network which can be stored in the network or in the recipient's terminal equipment until it is collected by the recipient and includes messages sent using a short message service", and said elsewhere to apply to "emails, texts, picture messages, video messages, voicemails, direct messages via social media or any similar message that is stored electronically". That is why the skill writes an Instagram or WhatsApp confirmation to the same standard as an email.

Where the skill departs: these rules govern marketing, and the skill is designed to keep the confirmation out of that category, so none of the consent machinery appears in the output. The identity requirement is carried across as a habit rather than a claimed obligation, and step 7 says so. The soft opt-in detail belongs to the reminder-sequence skill in this pack, because a confirmation is never the place to start a marketing relationship.

3. Food Standards Agency, "Allergen information for non-prepacked foods: best practice"

https://www.gov.uk/government/publications/allergen-information-for-non-prepacked-foods-best-practice/allergen-information-for-non-prepacked-foods-best-practice, published 24 February 2025, read 14 September 2026.

The FSA's best practice guidance for cafés, restaurants, takeaways, delis and anyone selling food that is not prepacked. Paragraph 28 states the headline: "It is best practice that food businesses should make allergen information easily available in writing for consumers and ensure staff are able to support this with a conversation." Paragraph 29 gives the four principles the written information should meet, including "comprehensive - it should provide information on all 14 allergens (as opposed to just focusing on a subset, for example those deemed by the FBO as most prevalent or severe)".

The paragraph that shaped the actual wording of the confirmation is 50: "Where food in a restaurant has been pre-ordered (for example, for a large group booking) allergen information should also be discussed with individuals on the day, before the food is served. It may not be sufficient to rely only on information supplied in advance as ingredients could have changed or details been missed in the original order." That is why the skill's step 5 asks the question in the confirmation but explicitly promises a conversation on the night rather than treating the written reply as the end of it.

The guidance is also honest about its own status, and the skill copies that honesty. Paragraph 23 says: "The approach set out in this document represents a change in best practice to meet the expectation for there to be both written allergen information and a conversation. The minimum legislative requirement for information to be provided by any means (with a sign indicating when it will be provided verbally) has not changed."

Where the skill departs: the FSA writes about how allergen information reaches the customer, not a booking confirmation. The skill takes only the timing point, that asking early and re-checking on the day beats either alone, and puts no allergen content into the confirmation. A confirmation that tries to answer an allergy question is a confirmation giving food safety information without the kitchen in the room, which is exactly the failure paragraph 50 is warning about.

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

https://assets.publishing.service.gov.uk/media/5a7f8b58ed915d74e33f716e/Unfair_Terms_Main_Guidance.pdf, 22 July 2026, read 14 September 2026.

Used for two paragraphs. At 4.33: "The transparency test requires that terms are presented and explained in a way that enables the average consumer to understand their rights and obligations, assess how the contract will operate in practice, and make informed choices about whether to enter into the contract." At 4.34 it gives the reason this skill converts notice periods into dates: a term can be "grammatically simple and precise, and therefore readable" and still fail because "its practical effects and implications cannot be understood". A guest reading "48 hours' notice" on a Tuesday does not know what date that is, and step 3 removes that arithmetic.

At 6.65 the guidance lists what makes a financial sanction more likely to be fair, including that "the consumer can easily avoid the sanction becoming due". Step 4's single monitored cancellation route comes from that line: a venue offering three ways to cancel and watching one has made the sanction harder to avoid, not easier.

Where the skill departs: CMA37 is about the terms in the contract, not the message repeating them. The confirmation is not the contract and the skill does not pretend it is, which is why rule six says that if the confirmation and the booking page disagree, the booking page gets fixed first.

5. ResDiary, "Beyond the Booking: UK & IE Hospitality Industry Report 2024"

https://resdiary.com/industry-insights/uk-ie-hospitality-industry-report-2024, no publication date shown on the page, read 14 September 2026.

A booking-software vendor's survey of 175 venues and 595 diners in the UK and Ireland. The number used here sizes the problem: "a whopping 76% of venues were impacted by no-shows last year, with an average of 8% of all bookings not turning up", alongside an average revenue loss of "£3,621 per venue". A second ResDiary article, "How UK Restaurants Can Tackle No-Shows and Reduce Revenue Loss", https://resdiary.com/blog/uk-restaurants-lose-out-to-no-shows, published 30 March 2023 and also read 14 September 2026, reported "1 in 20 UK restaurant bookings in January and February of this year have resulted in no-shows" and recommends sending confirmation and reminder messages ahead of the booking.

Where the skill departs: no figure from either page is quoted to a guest or sets any parameter in the output. They appear only in step 1's justification for treating the send time as a rota item rather than an intention. The ten-minute rule, the six facts and the three channel lengths are not in these sources and are not claimed to be evidence-based. They are operational choices, and the skill says so by putting the reasoning in the step rather than a citation.

Best public prompt we found for this job

The closest public artefact is the `draft-response` skill in Anthropic's `knowledge-work-plugins` repository, at https://raw.githubusercontent.com/anthropics/knowledge-work-plugins/main/customer-support/skills/draft-response/SKILL.md. The repository has 24,015 stars, read from api.github.com on 14 September 2026. It drafts a customer-facing reply tailored to the situation, and the line worth copying is its framing of what to establish before writing a word:

**Channel**: Email, support ticket, chat, or other (adjust formality accordingly)

That is the instinct behind step 8. The same facts in a text, an email and a WhatsApp thread are three different messages, and a venue that writes one and pastes it into all three produces a text nobody reads and a WhatsApp that sounds like a bank.

What was not copied: `draft-response` researches context from connected systems, a CRM, an email history, a support platform, before drafting a bespoke reply to a situation that has already gone wrong. A booking confirmation is the opposite job. It is a template sent hundreds of times by a host who has thirty seconds, it goes out before anything has gone wrong, and its value is in being identical every time so the venue can prove what was said. So this skill produces fixed versions with a check that they agree, rather than a tailored draft, and adds the two things a support-reply skill has no reason to carry: the ICO service message boundary, and a log of what was sent.

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.