Fill the tables: 10 AI skills for bookings, no-shows and quiet nights
reminder-sequence
the two messages before the table, timed
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: reminder-sequence description: Produces the two reminder messages that go out before a table, timed to your own service and your own cancellation deadline, with the send rules, the reply handling and the suppression list, as files you can hand to whoever runs the diary. Use when bookings are made weeks ahead, when guests forget, or when you are about to switch reminders on and want them to reduce no-shows rather than annoy people. --- # Get the table cancelled in time, or filled You give this your booking channels, your cancellation deadline, your service times and one week of real bookings with their booking dates on them. You get back two messages, the exact hour each one goes out relative to that specific booking, the rules for when not to send, and what happens when somebody replies. The first message exists to catch the party that is not coming while you can still resell the table. The second exists to catch the one that is coming and has the wrong time. They are different jobs and the skill will not merge them into one. ## What it does 1. **Time the first message to your cancellation deadline, not to a round number of days.** If the guest can cancel free until 48 hours before, the first reminder goes out at 52 to 54 hours before, so there is a waking window in which they can act on it. If your deadline is noon the day before, the reminder goes the previous afternoon. The anchor is always the deadline, because the entire commercial purpose of this message is to convert a silent no-show into a cancellation with enough notice to resell the cover. A reminder that lands after the free-cancellation deadline has passed does the opposite of its job: it tells the guest they are now liable, which makes some of them go quiet rather than reply. 2. **Time the second message to service, and make it the one that is almost never wrong.** Send it on the day, between three and five hours before the sitting, and never before 8am. For a 7.30pm table that is mid-afternoon, when people are still at work and can act. Avoid the hour before service, because a guest who is already on a train cannot help you and a host who is setting up cannot answer a reply. The second message asks for confirmation and gives the address, and that is all. It is the one that catches the party who has the right day and the wrong time, and the one that produces the last-minute cancellation you can still sell to a walk-in. 3. **Put the deadline in message one as a date and a clock time, and say the consequence in money.** "Free to cancel until 8pm this Thursday. After that we keep the £26 deposit." Not "48 hours". Not "terms apply". The Competition and Markets Authority's unfair contract terms guidance says a term can be "grammatically simple and precise, and therefore readable" and still fail the transparency test because "its practical effects and implications cannot be understood". A notice period the guest has to calculate is exactly that, and it is also the sentence they will dispute later. The amount stated here must match the booking page and the confirmation to the penny, and the skill checks all three against each other. 4. **Give one reply route, and decide in advance what each reply does.** Write the four handling rules before the messages go out: a reply cancelling, a reply changing the numbers, a reply changing the time, and a reply asking a question. Each gets a named owner and a response time. If the channel is SMS, decide whether a bare "CANCEL" cancels the booking or triggers a call back, and say which in the message. The CMA's guidance treats a financial sanction as more likely to be fair where "the consumer can easily avoid the sanction becoming due", so a reminder that says "reply to cancel" and goes to an unmonitored number is worse for the venue than sending nothing, because it creates a record of a guest trying to do the right thing. 5. **Write the suppression rules before the messages, because the damage is done by the ones that should not have gone.** Do not send to a booking already cancelled, to a party that has already confirmed, to the same number twice in one day, to a booking made inside the reminder window, or to anyone who has asked not to be texted. Add a rule for the party of one person who booked four tables, so they get one message and not four. Every reminder system that annoys people annoys them through a suppression failure rather than through its content, and the diary owner needs this list on one side of paper before the first send. 6. **Keep both messages service messages, and audit them line by line.** The Information Commissioner's Office describes a service message as 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". Both of these messages are appointment reminders and terms reminders. But the ICO is unambiguous about what breaks it: "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." One line about the new cocktail list converts a message you are entitled to send into one you are not. Branding is safe: "if your service message contains general branding or logos, this doesn't count as direct marketing". 7. **Separate the marketing question and answer it honestly, once.** If the venue does want to send offers to these numbers later, that is a different permission. The ICO's PECR guidance 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'", available where the person is "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". So the output includes a single line stating whether the venue currently meets that condition at the point the number is collected, and if it does not, it says so rather than quietly assuming it does. 8. **Set quiet hours, a send cap and a stop switch.** No sends before 8am or after 9pm. No more than two reminder messages per booking, ever, plus the confirmation. One named person who can stop all sends within five minutes, and the instructions for doing it written down where they will be found on a Saturday night by somebody else. Write the stop procedure as three steps that do not require the person who built the system. The single worst outcome available here is a loop that texts four hundred guests at 3am, and the only thing standing between a venue and that is a cap and a switch decided in advance. 9. **Produce the files, not the advice.** Four artefacts. A schedule file that takes each booking and computes the two send times from its own date, time and deadline. A message library with the two messages in a text version and an email version, each with the merge fields named. A suppression rules sheet, one rule per line, in the order they are applied. A one-page printable for the host station covering what each reply means and who handles it. Every timestamp on the schedule is derived from the booking's own details, never from a fixed rule like "the day before", so that a Sunday lunch and a Friday dinner get different send times without anyone doing the sums. ## Then it checks 1. Every send time on the schedule is computed from that booking's own date, time and cancellation deadline, and no two bookings with different deadlines have the same offset applied. 2. The first message is scheduled to arrive before that booking's free-cancellation deadline, with at least four waking hours in hand, and the check fails loudly rather than sending late. 3. The deposit amount and the deadline in message one match the booking page and the confirmation exactly, compared value by value. 4. Neither message contains an offer, a menu, a promotion, an event, a review request or a social follow. Venue branding is permitted and does not fail this check. 5. The suppression sheet contains a rule for already cancelled, already confirmed, duplicate number, booking made inside the window, and opted out, and the schedule shows the count of bookings each rule removed. 6. No send time falls before 8am or after 9pm in local time, and no booking has more than two reminders scheduled against it. 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 inside the message body, not only in the sender ID. - Never put marketing in a reminder. The ICO's position is that any direct marketing element makes the whole message direct marketing "even if that is not the main purpose of your message", and the practical cost is that a venue loses the ability to send the reminders that were working. - Never schedule a third reminder. Two messages plus the confirmation is the cap, and a venue that adds a fourth touch is training its guests to ignore all of them, including the one carrying the cancellation deadline. - Never send a reminder that arrives after the free-cancellation deadline has passed. It cannot recover the cover, and it converts a message the guest would have acted on into a demand for money. - Never run the sequence without the stop switch from step 8 tested by someone other than the person who built it. - This output is a working document prepared for the owner's solicitor or data protection adviser to check before it runs at volume, particularly the service message classification and the handling of phone numbers. It drafts messages and a schedule; it is not legal advice and it is not a data protection 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 service message definition that covers appointment reminders and terms updates, and the rule that any marketing element converts the message, which set 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 consent rule and the soft opt-in conditions, which is the question step 7 forces the venue to answer out loud instead of assuming. - 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 and 4.34 behind writing the deadline as a date in step 3, and 6.65 on a sanction being easily avoidable, behind the single monitored reply 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: 76% of the 175 surveyed venues affected by no-shows, an 8% average no-show rate and £3,621 average annual loss, which is what a resold cover is worth and why step 1 anchors the first message to the deadline rather than to a round number of days. - ResDiary, "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, read 14 September 2026: the vendor recommendation to send a confirmation plus one reminder the day before, which the skill follows in shape and departs from in timing, anchoring on the cancellation deadline instead.
Prompt for Codex
# Booking reminder schedule builder
## You are given
A UK hospitality venue's bookings, as a CSV, an XLSX export, or a pasted list. Column names will be inconsistent. Expect at minimum a guest name, a contact number or email, a booking date, a booking time and a party size. Plus four settings, in a config file or the prompt: the free-cancellation deadline in hours before the booking, the deposit per head in pounds, the venue name with its street address, and the one reply route.
## Produce
Write all files into an output folder named `reminder-sequence-output`.
1. `reminder-schedule.csv` with exactly these columns, in this order:
`booking_ref,guest_name,contact,channel,booking_datetime,party_size,cancellation_deadline,message_1_send_at,message_2_send_at,suppressed,suppression_reason`
Datetimes are `YYYY-MM-DD HH:MM` local time. `channel` is `sms` or `email`, from whether the contact parses as a phone number. `cancellation_deadline` is the booking datetime minus the configured hours. `message_1_send_at` is 4 hours before that deadline. `message_2_send_at` is 4 hours before the booking time on the day. `suppressed` is `yes` or `no`.
2. `message-library.csv`, columns `message_id,channel,subject,body,merge_fields`. Four rows: messages 1 and 2, each in an `sms` and an `email` version. SMS bodies under 300 characters once merge fields hold the longest value in the data. Placeholders are `{guest_name}`, `{booking_datetime}`, `{party_size}`, `{cancellation_deadline}`, `{deposit_total}`, `{venue_name}`, `{venue_address}`, `{reply_route}`.
3. `suppression-rules.csv`, columns `order,rule_name,description,bookings_removed`. One row per rule, in the order applied, with the real count from this data.
4. `host-sheet.md`, one printed page: what each reply means, who handles it, the quiet hours, and the three-step stop procedure.
## Rules
- Compute every send time from that booking's own date, time and deadline. Never apply one fixed offset to all rows.
- Never emit a send time later than that booking's cancellation deadline. If `message_1_send_at` falls after the deadline, or before the booking was made, set `suppressed=yes`, reason `booked_inside_window`.
- Clamp every send time into 08:00 to 21:00 local, moving it to the nearest boundary on the same side of the deadline. If that passes the deadline, suppress the row instead.
- Suppress with a reason from: `already_cancelled`, `already_confirmed`, `duplicate_contact_same_day`, `booked_inside_window`, `opted_out`. Apply in that order and record the count for each.
- No message body may contain an offer, a promotion, a menu, an event, a review request or a social media handle. The venue name and address are required.
- Never invent a deposit amount, a deadline or a venue detail. Leave a missing setting visible as a placeholder and list it at the top of `host-sheet.md`.
- Do not send anything. Produce files only.
- British English. Pounds as `£26`. No em dash characters.
## Return
One paragraph, under 120 words: the four file paths, bookings read, bookings scheduled, bookings suppressed with the count per reason, and any setting left as a placeholder.
Built from the best public work on this
Sources for reminder-sequence
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 enforces the Privacy and Electronic Communications Regulations, and this page draws the line between a message you may send to a phone number a customer gave you for a booking, and a message you may not. It sets out the PECR definition of direct marketing, "the communication (by whatever means) of advertising or marketing material which is directed to particular individuals", and then describes the category a reminder falls into.
The passage that matters: "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." Both messages in this sequence are appointment reminders and both restate contract terms.
And the line that shapes the check: "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 page illustrates it with a mobile company texting about a data limit, which is a service message, and the same text with an offer attached, which is not. It also gives the borderline 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."
Where the skill departs: the ICO is drawing a boundary, not writing a reminder. It has no view on send times, message count, suppression or reply handling, and nothing in steps 1, 2, 5 or 8 comes from it. The skill also goes further in one place, capping reminders at two per booking. That is not a PECR rule and the skill does not pretend it is. It is a judgement that a venue sending more is training guests to ignore the message carrying the cancellation deadline.
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 saying the guidance is under review following the Data (Use and Access) Act and may change.
This is the rule the venue is trying to stay on the right side of. In brief: "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'." The detailed condition is that the recipient is "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". The page adds: "You must not disguise or conceal your identity, and you must provide a valid contact address so they can opt out or unsubscribe."
Two things follow. First, the reminders are built to stay outside this regime entirely, which is source 1's job. Second, step 7 exists because most venues quietly assume they have the soft opt-in and have never met its second limb, the opt-out offered at the moment the number was collected. The skill makes the venue write down, in one line, whether the booking form or the host script offers that opt-out.
The page also defines the reach of the rules, wider than most owners expect: the same rule "applies to emails, texts, picture messages, video messages, voicemails, direct messages via social media or any similar message that is stored electronically", with electronic mail 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". That is why the message library produces an SMS and an email version and applies identical content rules to a WhatsApp or Instagram send.
Where the skill departs: none of this page's consent machinery is built into the output. The skill does not produce a marketing sequence, an opt-in flow or a preference centre, because the moment a reminder carries offers it stops reducing no-shows and starts being the thing guests block.
3. Competition and Markets Authority, "Unfair contract terms, CMA37"
https://assets.publishing.service.gov.uk/media/5a7f8b58ed915d74e33f716e/Unfair_Terms_Main_Guidance.pdf, dated 22 July 2026 on its title page, read 14 September 2026.
Used for two paragraphs, both about whether a guest can understand and act on what they are told. Paragraph 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." Paragraph 4.34 adds the failure mode: a term may be "grammatically simple and precise, and therefore readable" yet not comprehensible "if its practical effects and implications cannot be understood".
That is what "48 hours' notice" is in a text on a Tuesday about a Saturday table. Step 3 converts the deadline into a weekday, date and clock time per booking, which is why the schedule file computes per booking rather than applying a fixed offset.
Paragraph 6.65 lists the features making a financial sanction more likely to be fair, including that "the consumer can easily avoid the sanction becoming due". Step 4's one monitored reply route with named owners comes from there. A reminder saying "reply CANCEL" that lands in an unwatched inbox is a venue manufacturing evidence against itself.
Where the skill departs: CMA37 is guidance about contract terms, and a reminder is not a contract term. The skill does not claim a well-timed text makes a deposit fair. It uses the transparency reasoning as a writing standard, and check 3 stops the message restating the terms differently from the booking page.
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.
A booking-platform vendor's annual survey of 175 venue representatives and 595 diners in the UK and Ireland, reporting on the previous year. It states that "a whopping 76% of venues were impacted by no-shows last year, with an average of 8% of all bookings not turning up", with "the average loss in revenue as a result of no-shows totalling £3,621 per venue last year".
The only thing this did for the sequence is establish that a recovered cover has real money attached, which is why step 1 anchors the first message to the free-cancellation deadline rather than to a tidy "three days before". A reminder that arrives after the deadline may still get a cancellation, but it gets it too late to resell, so it converts a loss into an argument about a deposit instead of a filled table.
Where the skill departs: it is a vendor survey with an interest in venues buying booking technology, the sample is small, and it covers two countries. No figure from it appears in any message the skill produces, and no parameter in the schedule is set from it. The venue's own cancellation deadline and service times drive every timestamp.
5. ResDiary, "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, read 14 September 2026.
The same vendor's operational article, reporting that "1 in 20 UK restaurant bookings in January and February of this year have resulted in no-shows" and that the average restaurant lost £1,325 across those two months. Its recommendation is to send a confirmation and one reminder the day before, setting out no-show terms clearly in both.
The skill agrees with the shape and departs from the timing, which is the substantive difference between this skill and the common advice. "The day before" is a fixed offset, and a fixed offset lands after the deadline for any venue whose free-cancellation window is longer than a day, which includes most venues taking deposits on large parties. Anchoring on the deadline is the whole point of step 1, and check 2 fails the run rather than sending a message that cannot do its job.
More broadly, both ResDiary sources treat reminders as a feature of a booking platform. This skill is written for a venue taking bookings by phone, by Instagram DM and on paper, and its outputs are files a person can work from, which is why step 9 produces a printable host sheet alongside the schedule.
Best public prompt we found for this job
The closest public artefact is the `email-sequence` skill in Anthropic's `knowledge-work-plugins` repository, at https://raw.githubusercontent.com/anthropics/knowledge-work-plugins/main/marketing/skills/email-sequence/SKILL.md. The repository has 24,015 stars, read from api.github.com on 14 September 2026. It designs multi-email drip campaigns with timing, branching and exit conditions. The line worth copying is its treatment of what stops a sequence:
do not send if the recipient is already in another active sequence, has unsubscribed from marketing, or has contacted support in the last 48 hours
Suppression as a first-class part of the design, rather than an afterthought, is the right instinct and it is why step 5 in this skill comes before the messages are written rather than after. Almost every reminder system that irritates guests does so through a suppression failure, not through its copy.
What was not copied, and the difference is the whole skill. `email-sequence` is a marketing artefact: it asks for a sequence type from a list including lead nurture, win-back and upsell, produces two or three subject line options per email varying "curiosity, benefit-driven, urgency", and supplies a benchmark table of expected open, click and conversion rates. Every one of those would break a booking reminder. Urgency-framed subject lines on a message about a deposit read as pressure, A/B testing the wording of a contract term means two guests are told different things, and a conversion rate is the wrong measure for a message whose best outcome is often a cancellation. It also has no notion of the ICO service message boundary, the single constraint deciding whether a UK restaurant may send these at all. So the timing here is anchored to a legal deadline rather than to engagement, the copy is fixed, and the success measure is covers resold, not opens.
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.
Foxera