If no-shows are costing you tables every week, you've probably landed on two possible fixes: charge a deposit when the booking is made, or hold a card on file and only charge it if the guest doesn't turn up. They sound similar — both involve a guest's card and both are meant to discourage no-shows — but they work differently, protect against different things, and suit different kinds of restaurants. Here's how to tell which one actually fits your situation.
What a booking deposit does
A deposit is money collected at the time of booking, before the guest has done anything wrong. It's common for large group bookings, set-menu events, degustation nights, and venues with a history of being burned by big-party no-shows. The guest pays something upfront — sometimes a flat amount, sometimes per head — and it's usually credited against the final bill or forfeited if they don't show.
The appeal is obvious: the money is in your account before the booking even happens, so there's no "will the charge actually go through" moment later. The trade-off is just as real. Asking a table of two for a Tuesday dinner to pay upfront before they've even confirmed they like your menu adds friction at exactly the point you're trying to convert a browsing guest into a booked one. For walk-in-style casual dining, that friction can lose you more covers than the no-shows it prevents — a guest comparing three restaurants on a Friday afternoon will often just pick the one that didn't ask for a card number first.
What a no-show fee with a card on file does
The other model collects card details at booking time but doesn't charge anything. The card is only charged after the fact, and only if something actually goes wrong — the guest doesn't show up, or cancels after your cut-off for free cancellation. No booking that proceeds normally ever gets touched.
This removes the "paying before you've even eaten" friction that makes deposits feel heavy-handed for casual bookings, while still giving you a real deterrent and a way to recover lost revenue when a no-show does happen. The trade-off here is timing: you're not guaranteed the money is still collectable days or weeks later the way an already-collected deposit is, and off-session charges can occasionally fail (expired card, bank decline) in a way an upfront payment wouldn't.
The comparison
| Upfront deposit | No-show fee (card on file) | |
|---|---|---|
| When money moves | At booking, before the guest arrives | Only after a confirmed no-show or late cancellation |
| Friction for the guest | Higher — asks for payment before the visit happens | Lower — card is saved, nothing is charged unless something goes wrong |
| Best fit | Large groups, set menus, events, guests with no prior relationship to the venue | Everyday à la carte bookings where you want a deterrent without discouraging casual diners |
| Risk of not collecting the money | None — money was already collected | Low — the charge happens after the fact, so an expired card or bank decline can occasionally cause it to fail |
| Guest perception | Can feel like the restaurant doesn't trust them to show up | Feels closer to a hotel's "we'll hold a card, nothing happens if you turn up" |
Why most casual restaurants land on the no-show fee model
If you're running an à la carte restaurant or cafe rather than a function venue, the no-show fee model usually wins on volume. Most of your bookings are small parties making a normal dinner reservation, not committing to a set-menu event — and for that segment, anything that looks like "pay before you eat" can depress booking conversion more than it saves in recovered no-show revenue. The guests who actually no-show are usually a minority; making every guest pay upfront to deter that minority punishes the majority who were always going to turn up.
Deposits still make sense in specific situations: a 12-top on a Saturday night, a Valentine's Day set menu, a private event booking. In those cases the downside of a no-show is large enough, and the guest's expectation of paying something upfront for a special booking is high enough, that the friction is worth it.
What DiningMate supports today
DiningMate's no-show protection follows the card-on-file model, not the upfront deposit model. And it's entirely optional: it's off by default, each restaurant decides whether to use it, and you can switch it on or off in your booking settings. With it off, guests book without entering any card details at all. When a restaurant turns the feature on, guests save their card details at the time of booking — through Stripe, so DiningMate never sees or stores the card number itself — but nothing is charged at that point. If a guest no-shows or cancels after your configured free-cancellation window, the restaurant can review the booking and manually charge the agreed fee from the admin dashboard. Charging is never automatic: a staff member decides whether to charge, waive it, or adjust the amount down for a particular guest, after seeing what actually happened.
This also means bookings that go normally — which is most of them — never touch the guest's card at all. Nothing is deducted automatically the moment a cut-off passes; a person always makes the call. If a booking is cancelled within your free-cancellation window, the fee is voided and the card detail is released, not quietly held just in case.
DiningMate doesn't currently support collecting an upfront deposit at the time of booking, so if your specific pain point is event-style bookings where you want cash in hand before the night happens — a Christmas function, a long-table degustation — that's a different need the no-show fee model isn't built to cover.
How to decide for your restaurant
Start by being honest about where your no-shows actually come from. If it's mostly small, everyday bookings quietly not turning up, a no-show fee that only charges after the fact protects you without adding friction to the bookings that go fine. If your pain is specifically large groups or set-event bookings falling through, an upfront deposit — collected outside your regular booking flow if your platform doesn't support it natively — is the more direct fix for that specific problem. And if you're not sure either model suits you, you don't have to commit: a card-on-file policy is something you can leave off until you need it.
It's also worth setting your free-cancellation window deliberately rather than defaulting to "none." A guest who cancels two days ahead because their plans changed isn't the problem you're trying to solve, and charging them anyway is a fast way to turn a canceled booking into a one-star review. Give genuine cancellations an out, and reserve the fee for no-shows and truly last-minute cancellations — that's where the actual revenue loss happens.



