A no-show is not one lost cover — it is an entire turn you cannot resell because you found out 12 minutes too late. By the time the host walks back to the manager and says “they’re not coming,” your waitlist has already walked across the street. This is the playbook we use to flip that script.
The goal is not to eliminate no-shows. That is a fantasy. The goal is to reclaim the table inside 12 minutes, every time.
Why 12 Minutes?
Most full-service restaurants run a 90-minute average turn on dinner service. If a party is 15 minutes late and you still hold their two-top, you have burned a quarter of the next turn before you have even acknowledged they are not coming. The math gets worse the bigger the table — a six-top no-show at 7:30 PM eats roughly $380 in revenue if the seat does not get reclaimed.
The 12-minute window is the sweet spot. It is long enough that genuinely-late guests can text back and keep the table. It is short enough that you can fire a waitlist blast and still seat a walk-in inside that turn.
The Full Sequence
Here is the entire timeline, end to end. Every step is automated through GoHighLevel and tagged so your host stand and your GM see the same picture.
T-24 hours: Confirmation
The first SMS goes out 24 hours before the reservation, not 48. Forty-eight hours is too early — the guest has not committed yet mentally. Twenty-four hours catches them at the planning stage.
“Hi [first_name], it’s [Restaurant]. We have your table for [party_size] tomorrow at [time]. Reply YES to confirm or CANCEL to free up the table. — See you soon.”
A YES tags them confirmed. A CANCEL releases the table immediately and triggers a separate flow that thanks them and offers a rebook link.
T-3 hours: Final Reminder
Three hours out, send the practical details — parking, dress code if applicable, and the host stand phone number.
“You’re booked for [party_size] at [time] tonight. Street parking on Elm, valet at the door. Running late or party size changed? Reply here.”
T+8 minutes: The Hold Tag
This is the inflection point. The host stand checks in arrivals against the reservation system. Any reservation that has not been checked in at T+8 gets auto-tagged no-show-risk and an SMS fires:
“[first_name] — your table is ready. Running a few minutes late? Reply YES and we’ll hold it 10 more minutes.”
Roughly 40% of no-show-risk reservations reply within four minutes. They were stuck in traffic, the babysitter was late, the parking garage was full. The table gets held, the guest arrives, and nothing was lost.
T+12 minutes: The Reclaim
If there is no reply by T+12, the system fires three actions at the same time:
- The reservation is released and the table goes “available” on the floor map.
- An SMS goes to the top 5 waitlisted parties (anyone who tapped “Notify me” on your reservation widget in the last 90 minutes): “Table for [party_size] just opened at [time]. Reply YES to claim it — first reply wins.”
- The no-show guest is tagged
no-show-1(orno-show-2,no-show-3for repeat offenders) and, if you collect deposits, the hold is captured.
Deposit-Hold Logic
Deposits are the backstop, not the strategy. Use them where they make sense and skip them where they hurt walk-in volume.
Use deposits when:
- Party size is 6 or more
- Reservation is for a Friday or Saturday after 6 PM
- The guest has a
no-show-2or higher tag from prior visits - The reservation is for a holiday or special event night
Skip deposits when:
- Party size is 2 and the slot is Tuesday–Thursday before 6 PM
- The guest is a tagged loyalty member with 3+ prior visits
- The reservation is for a daypart you struggle to fill (deposits add friction; you want the friction down)
The hold amount we recommend is $15–25 per cover, captured only on no-show. The “captured only on no-show” framing matters — it removes the psychological barrier of charging up front and keeps your conversion rate on the booking widget high.
The Hold Tag Inside GHL
Inside GoHighLevel, the host stand never touches the reservation system directly. They tap one of three buttons on the host iPad:
- Arrived → removes the
no-show-risktag, fires the table-assignment flow. - Late OK → extends the hold for 10 minutes, suppresses the T+8 SMS.
- No show → manual override; fires the reclaim flow immediately without waiting for T+12.
That third button is the secret weapon. When the host knows for certain a party is not coming (they called, they got into an accident, the kid threw up), you do not wait for the timer — you reclaim the table now and seat the walk-in waiting at the door.
What to Do With Repeat Offenders
Tagging matters. A no-show-1 is a fluke. A no-show-2 is a pattern. A no-show-3 should not be able to book without a deposit, period.
Inside the booking widget, we set a conditional rule: any guest with no-show-2 or higher cannot complete a reservation without a held card. The friction is intentional. You are not trying to win these guests back at the cost of three more no-shows.
Some operators feel weird about this. Do not. The diner who no-shows twice in a quarter is the same diner who will leave a one-star review when you ask them to wait 10 minutes for a table that should have been theirs.
The Numbers, in Practice
Take a 90-seat restaurant doing 220 covers a Friday night with a typical 8% no-show rate. That is roughly 18 covers that walk out the door before they ever sat down — call it $1,400 in lost revenue on a single Friday.
Install this flow and your no-show rate typically drops to 2.5–3.5%. The remaining no-shows mostly get reclaimed within 12 minutes by waitlist blasts. The deposits capture maybe $80–120 a night on the parties that genuinely ghost.
The arithmetic: that single Friday goes from $1,400 in losses to under $200, and you sleep better.
Stop losing tables to no-shows you could have reclaimed.
The hardest part of this playbook is not the technology. It is committing to the 12-minute window and trusting the system to reclaim the table without your GM getting involved. Once your team sees the first waitlisted walk-in seated at a “lost” four-top on a Friday night, they stop fighting the flow and start trusting it.
Every empty seat at 7:42 PM is a seat you can fill by 7:55 PM — if the playbook is already running.