Skip to content

Tables and large parties

A restaurant, a café or a majlis does not book a person for half an hour — it seats a party in a room that holds a certain number of people. That is the table shape, and everything on this page only applies to a venue that chose it.

On /app/bookings, the shape card offers A time with a person and A table. The Restaurant and Café presets already carry the table shape, so picking one of them is enough. The shape is chosen once — after the first save the other card is locked, because every booking already taken was taken under it.

A table venue has Sections instead of people: Families, Majlis, Terrace, whatever you actually call the parts of your room. Each section has a name in both languages and Covers — how many guests it seats in one seating.

Covers are the whole capacity rule. A time is offered to a guest when the parties already seated across that time, plus theirs, still fit inside the section’s covers. Nothing else limits it, and two guests booking the same second cannot both get the last four covers.

Your plan decides how many sections you can have: one on Free, as many as you like on Pro and Business.

Two settings in Bookable slots are the table shape’s own:

  • Seating length — the minutes a table is held for one party. 90 by default, 120 on the Café preset.
  • Largest party online — the biggest party that may simply book. 8 on Restaurant, 6 on Café. Anything larger asks instead, which is the next section.

Seatings start on the same Slots start every grid the rest of Book uses, inside your opening hours, and prayer pauses apply to tables too: a seating never starts inside one.

The booking page opens with party size rather than a service — there is no service to choose. Tapping a party size re-asks for times, so the grid always answers the question the guest actually has: can you seat this many, then? A time shows how many covers are left only when it is getting tight, four or fewer.

Sections appear as chips above the day strip only when you turned on Guests can pick a person and you have more than one. Otherwise the guest picks a time and you decide where to seat them.

A Restaurant venue also asks for an Occasion, so a birthday reaches you before the party does.

Above Largest party online the chips end with More than 8 (or 6), and that opens the large-party form: number of guests, a time, a section if you offer the choice, occasion, phone, name and a note.

A request holds nothing. No covers are counted, so the times it offers include ones that are already full — a full seating is still a time you might be able to make room at. The guest leaves with the same link every booking gets, showing Request sent and their code, and the promise that you will reply on WhatsApp within two days.

You answer from the Requests strip at the top of Today:

  • Approve — the covers are re-checked at that moment and the ask becomes a booking. If the seating filled while the request was waiting, Book refuses and tells you to counter with another time instead.
  • Counter — propose another time, and optionally a smaller party. The guest sees A new time is offered on their link with Accept and Decline, and the same two buttons arrive on WhatsApp.
  • Decline — the ask ends and the guest is told.

Answering a request commits covers, so it is an owner’s or a manager’s call; a staff member does not see the strip. A request nobody answers expires after 48 hours, and the guest gets the same message a decline sends.

A café that runs a cupping, a class or a tasting turns a service into a Session: switch Session on, set Seats, and list the Session dates. Sessions are not a seating window — they are the exact times you listed.

The guest sees a Sessions list above the party chips: the name, the date and time, how many seats are left and a stepper to take more than one. Seats are re-checked when the booking is written, so a session cannot be oversold.

/app/reservations becomes a board of seatings rather than a timeline. Each heading is a seating start with the covers used and the covers you have across every section; the bookings sit under their own section below it, with the party size, the code, the occasion and the note.

The buttons are the ones you already know — Arrived, Start, Done, Cancel, and No-show once enough time has passed. The walk-in sheet asks for a party size and a section instead of a service.

If you also run the Qaema host screen, the host stand can read the same reservations and seat guests from them — no second list to keep.

  1. On /app/api-keys, create a key with the scope Host — reservations and seating. Copy it; it is not shown again.
  2. On the host screen, open the venue and paste it into Reservations under Book API key. It stays on the host server and is never shown again there either.

The host screen then lists today’s reservations, and its Seated action marks the booking Arrived in Book — one guest, one state, both screens. Tapping it twice changes nothing. Today shows a card pointing at the host screen whenever the host screen is switched on for this venue — with or without the key, so the card is not a sign the key took. The host screen’s own reservations list is what confirms that.