Reservations and online booking

Take restaurant table reservations

Turn any table on your restaurant floor plan into an online-reservable table. Customers open a shared link, pick a date, time, and party size, and get an instant confirmation — no deposit today, they pay for the meal at the restaurant.

Uses the same booking cockpit as spa/salon appointments — one page manages both.

Before you start

  • The table must already exist on your floor plan. If not, add it under Setup → Tables first.
  • Decide which tables are online-bookable. Not every table should be — small counter seats, staff tables, and outdoor overflow often aren't. Only tables you mark bookable will show in the public list.

Steps — one-time setup per table

  1. Open Setup → Tables and edit the table you want to make reservable.
  2. Turn on Bookable (this is the on/off switch — leave off for POS-only tables).
  3. Set the Seat count — how many people the table seats. Used to politely reject a party of 6 trying to book a 2-top.
  4. Optionally set the Default booking duration (minutes) — customers can override, but this seeds their picker (120 min is a good default for dinner service).
  5. Optionally set the Cancellation window (hours) — how many hours before the reservation a customer can cancel for free.
  6. Optionally set Max concurrent bookings to more than 1 if you deliberately overbook (a 4-seater accepting two 2-tops on the same dinner window is realistic).
  7. Save.

Repeat for each table you want reservable.

Two forms of link work:

  • https://{your-subdomain}.bsensor.app/book-table — customer sees a picker of ALL your bookable tables. Good for a homepage link.
  • https://{your-subdomain}.bsensor.app/book-table/{tableId} — the specific table. Good for a QR sticker on the table itself, or for a "book this window seat" campaign.

Print QR codes for the specific tables you want to promote; paste the general link in your Instagram bio.

Steps — day-of

Table reservations show up in Front office → Bookings alongside your spa/salon appointments. Filter by kind if you want to see only tables. When the party arrives, click Check in on their row; when they leave, click Complete. If they never show up, click No-show.

Tips

  • Overbook cautiously — a Max concurrent of 2 on a 4-seater lets two parties of 2 sit at the same table window. Great for high-turnover; a disaster if the first party lingers. Only use it if your front-of-house can actively manage the flow.
  • Duration is the customer's guess — they'll often say "2 hours" even for a quick lunch. If your restaurant is quiet enough this doesn't matter; if it's tight, consider setting a shorter default and adjusting expectations.
  • No email required — table reservations only need name + phone. Email is optional (unlike spa/salon bookings, which need it for the deposit receipt).
  • Test your own link — open /book-table/{tableId} on your phone. Try to book a slot that's already booked — you should see the "someone just booked that slot" warning; you shouldn't be able to double-book yourself.

Common problems

  • Public page says "No tables are available for online reservation right now" → no tables have Bookable ticked. Go to Setup → Tables and opt at least one in.
  • "This table seats up to N. Try a different table…" → party size exceeds SeatCount. Either customer picks a bigger table or the operator adjusts SeatCount on the table.
  • "Someone just booked that slot" (409 error at submit) → the slot got taken between when this customer loaded the page and clicked Reserve. The system re-loads availability and the customer picks a new time. Double-book protection working.
  • Customer reserved but the front-of-house didn't see it → either they haven't refreshed the Bookings page (it auto-refreshes every 30s), or the reservation is for a table your front-of-house isn't watching. Check the filter isn't hiding TableLayout kind bookings.
  • "Not in the future" → customer picked a time in the past. Reservations must be for future slots — check the date/time inputs.

See it working on your own business

Start a 45-day free trial — no card needed — and follow this guide in your own practice company.