Table Reservations
A reservation holds a table for an agreed time and passes the guest's requests on to the next shift. In cenaly.ge you can receive a storefront request, take a phone booking, confirm a visit and open a linked bill at the till.
What you need to get started#
- Enable reservations in the selected location's website settings. Check that you are working with the right location.
- Add tables to the floor plan. You can accept a booking without a table and assign one later.
- Give the staff member access to the hall. The Host role is available for restaurants, cafes and bars; its workspace opens on the floor plan. Visible sections depend on permissions.
- For the POS hall panel, enable Hall panel chip in POS appearance. Hall management permissions are required.
- To take deposits, connect online payments and set deposit rules. Booking from an incoming call requires configured telephony.
💡 Restaurant tables in a hotel are booked here. Rooms and beds are booked by the night using a separate form in the hotel section.
Where to manage reservations#
| Screen | What you can do |
|---|---|
POS → Hall → Reservations (/pos) |
Create, confirm, edit and seat; switch between List and Timeline |
Floor Plan → Reservations (/tables) |
Assign a table, change status, open Table bill, configure a deposit or refund it |
Calls (/calls) |
Open a booking form with caller details and link the result to the call |
| Guest chat | Link an existing booking to the conversation, confirm, mark arrival/no-show, cancel or request payment |
| Host workspace | Manage the floor plan, bookings and guest reception within the assigned permissions |
Timeline shows tables as rows and time across the screen. Select a day; click an empty spot to book that table and time, or an active reservation bar to edit it. Completed bookings cannot be edited from the timeline.
The booking card in guest chat refers to an existing reservation. You cannot yet create or reschedule a table reservation from this card: use the hall panel to change its time. Requesting payment requires online payments and a deposit amount.
Take a booking by phone#
To keep the details agreed during the call:
- Open POS → Hall → Reservations → + New reservation.
- Enter the date, time, duration and party size. Durations are 60, 90, 120, 180 or 240 minutes; party size is 1–50.
- Choose a table or No table. Enter the guest's name, phone and a comment, such as “Leave room for a stroller”.
- Click Create reservation and check the entry in the list.
Result: a staff booking starts as Confirmed. If no table is selected, assign one before seating the guests.
If it does not work: check the required name and the time — the form does not accept a time in the past. Occupied tables cannot be selected; agree on another time or table. A booking without a table does not hold a specific seat.
Book from an incoming call#
- In the incoming-call card, click Reservation. This opens Calls, the operator workspace and the booking form.
- Check the prefilled name and phone; confirm the date, time, duration, party size and comment.
- Click Create booking. Then find the reservation in the hall panel and assign a table: the call form has no table selector.
Result: the reservation includes the caller's details and is linked to the call. Calls also offers a booking action; after a call, Create booking is offered for a detected booking request that has not yet been linked to a reservation.
If it does not work: use the standard hall-panel form. If creation succeeds but linking to the call fails, check the reservation list first to avoid a duplicate.
Confirm an online request#
The pending-count badge on Reservations indicates new requests. With notifications configured, the owner also receives a push in Cenaly Admin and a message from the location's Telegram bot. The hall panel does not yet play a sound or show a browser notification for a new booking.
- Open the Pending request and check the time, party size and guest's wishes.
- Assign a suitable table. If you need clarification, call the guest or use an existing conversation.
- Click Confirm and check the new status.
Result: the booking becomes Confirmed; an email is sent if the guest supplied an address. A paid deposit booking is confirmed by the payment flow — an already confirmed entry needs no further confirmation.
If it does not work: the server rejects an overlap with a confirmed or seated booking on the same table. Choose another table or time. Several Pending requests can compete for a table: under the server's rule, they do not yet hold it.
Change a reservation#
- In Hall → Reservations, click Edit on an active entry or click its bar on the Timeline.
- Change the date, time, duration, party size, table, name, phone or comment.
- Save and check the entry. The form includes a history of status changes and rescheduling.
Result: the reservation shows the changes; when its time changes, the guest receives an email if an address is available. The Floor Plan reservations window only allows table and status changes — it has no full edit form or history.
If it does not work: a table conflict or a change on another screen may cause the update to be rejected. Reload the entry and agree on a free interval. When a guest reschedules an ordinary confirmed booking, it returns to pending; a deposit booking that is paid or awaiting payment follows a different rule and stays confirmed.
Cancel a reservation with a reason#
- In POS → Hall → Reservations → List, find a pending or confirmed reservation and select Cancel.
- In “Cancel the reservation?”, enter a short reason, such as “Guest changed plans”, then select Cancel reservation. The reason is optional; up to 200 characters are saved.
- Check the result. Use Show past to find the cancelled entry.
Result: the reservation is cancelled and the reason is saved with it for the cancellation entry in its history. If saving fails, reload the list and check the status before repeating the action. Deposit handling follows the booking’s deposit policy; see “Refund a deposit” below.
A large party across several tables#
- Agree on the party size and how guests will be seated across tables.
- Staff must create a separate reservation for each table at the agreed time. A shared event name in the comments helps identify the group.
- Check all entries on the Timeline to make sure the tables are held for the right interval.
Result: the party has several tables, but there is no single group reservation. Edit and cancel the entries individually.
On the storefront, a guest can select several tables at once: the system creates separate reservations and divides the party as evenly as possible. If a deposit is required, the amount for the whole party belongs only to the first reservation.
If it does not work: check which entries were actually created. Cancelling one does not cancel the others; a deposit refund belongs to the entry on which it was paid. Food pre-orders cannot be attached to the group.
Move reservations and banquets from a file#
When the venue moves from a previous system or keeps banquets in a spreadsheet, future reservations can be uploaded as a CSV file.
- Save the reservations as CSV. The first row holds headers. Date and Name are required; Time (or a single "Date and time" column), End or Duration in minutes, Guests, Phone, Table, Comment and Pre-order are optional. Russian headers work too. A template is available via Download sample in the import window.
- In the POS open Hall → Reservations and press Import CSV → Choose CSV file.
- Review the preview. Each row shows a result: Will be created, Duplicate or Error with the reason (date not recognised, no guest name, time in the past). Times are read in the venue time zone; tables are matched by name ("Table 5", "5", "Hall 2"). If a table is not found or is busy at that time, the reservation is created without a table — seat it later.
- Press Create N reservations. Duplicates are skipped by default; tick Create duplicates too to include them.
Result: the reservations appear in the list and on the timeline as confirmed, with the comment and phone from the file. Text from the Pre-order column is appended to the reservation comment as "Предзаказ: …" (pre-order) — it does not become dishes attached to the reservation.
A duplicate is a reservation on the same day starting less than 30 minutes apart with the same phone number (or, without a phone, the same name) — among the venue's existing reservations and among the rows of the file itself. Cancelled reservations do not count, so uploading the same file again will not double the calendar.
If it does not work: "No … column found in the header" — check the first row of the file. Garbled letters — re-save the file as UTF-8 or windows-1251. "Not sent: N" — check the connection and upload the file again: the reservations already created become duplicates and are not repeated. One file holds up to 300 rows; reservations in the past or more than a year ahead are not imported.
When guests arrive or do not turn up#
- Find the reservation and check its table. On a confirmed entry, click Seat; this becomes available 15 minutes before the start.
- When you need to take an order, click Open ticket on the seated booking in the hall panel. Complete the reservation after the visit.
- If the guests do not arrive, check the situation and mark No-show. If they report a delay, first agree on a new time using Edit.
Result: the team sees the actual state of the visit.
| Status | Meaning |
|---|---|
| Pending | The venue has not yet confirmed the request |
| Confirmed | The visit is agreed |
| Seated / Arrived | The guests are at the table; the label varies by screen |
| Completed | The visit has ended |
| Cancelled | The booking was cancelled, including when a deposit was not paid in time |
| No-show | The guests did not arrive |
If it does not work: arrival/no-show actions are unavailable before the permitted time. For guests who have arrived but are waiting for a table, use the waitlist — there is no separate reservation status for this.
In Hall → Reservations → Auto no-show, you can enable release after a set number of minutes from the start. It is off by default. It handles confirmed bookings and never closes a booking with a paid deposit; a staff member decides on the no-show and the money. The check runs when booking data is processed, so release is not guaranteed at the exact second.
Table bills and deposit credit#
On a confirmed or seated booking in the Floor Plan reservations window, click Table bill. The till opens a linked bill; if the table already has an open bill, that bill is used. A paid deposit that is available to apply reduces the balance due.
When opening a table from the hall panel, the till may offer to apply the deposit. Choose that action to link it to the bill, or Not now for ordinary seating. Check the deposit line and remaining balance.
For split payments, the deposit is allocated across parts: equally or in proportion to the selected items/guests. You can adjust the suggested share; the last part takes the remainder. A deposit already applied to another bill cannot be used again.
Refund a deposit#
To refund a paid deposit, including after a late cancellation or forfeiture for a no-show:
- Open Floor Plan → Reservations and find the entry, including past bookings if necessary.
- Check the deposit amount and status. Refund deposit is available only for paid or forfeited deposits.
- Click Refund deposit, confirm the action and check the result.
Result: the payment provider processes the refund request; after success, the deposit is marked refunded. This button is in the Floor Plan reservations window, not the hall panel. Refunding money does not itself replace cancelling the reservation — check its status too.
If it does not work: check the payment state and error message. Do not promise a refund before a successful result. Cancellation within the free window triggers a refund automatically under the deposit policy; for a no-show, the outcome depends on the policy, and an allowed refund may require staff action.
⚠️ On cenaly.ru, for deposits in RUB, the location's fiscal till issues advance-payment and refund receipts under 54-FZ through a task queue. The provider refund and the fiscal receipt are separate steps. If the till is unavailable, the task waits for it to reconnect; the refund receipt depends on the advance-payment receipt. This queue is not created for other currencies.
Guest-side booking#
In the storefront/QR menu, guests enter the date, time, duration and party size, and select tables on the floor plan if one is available. They can filter seats by attributes and view photos. Tables occupied during the selected interval are unavailable; the guest floor plan also takes pending requests into account.
In their bookings, guests can see the status, cancel or reschedule an active booking and add it to their calendar. If the time is taken, they can ask to be notified when it becomes available. A guest rescheduling an ordinary booking needs a new confirmation from the venue.
The widget on your own website accepts a request without table selection — a staff member assigns the table. Guest AI agents can also create bookings through the Guest API; these requests appear in the same list.
Deposit rules depend on days, times and party size: a fixed amount per guest or per booking. Guests see the amount and free-cancellation window before paying. An unpaid deposit holds the booking for a limited time — 30 minutes — after which it is cancelled. Deposits cannot be taken without online payments connected.
Guest notifications#
| What is sent automatically | Channel | When and under what conditions |
|---|---|---|
| Request received | The guest supplied an address; a request requiring a deposit does not receive this email while unpaid | |
| Confirmation, reschedule, cancellation | The corresponding booking change, if the guest's address is available | |
| Confirmation, reschedule, cancellation for a subscribed guest | Telegram | The location's bot is connected and the guest subscribed to the booking |
| A request to confirm the visit with attend/cancel buttons | Telegram | For a subscribed guest; default windows are 24 and 2 hours before, subject to settings and quiet hours |
| Autopilot Booking reminder | The campaign is enabled, the booking is confirmed and an email address is available; channel opt-out is respected |
Enable the email reminder in Commerce → Coupons & discounts → Marketing autopilot → Booking reminder. Remind before the visit accepts 1–168 hours, with 24 as the default; select the Email channel.
Telegram defaults to 24 and 2 hours. Changing these hours is not yet exposed in the restaurant interface: Ask to confirm, hours before exists in service appointment settings, which an ordinary restaurant cannot access. Email autopilot settings do not change Telegram timing.
There is no manual template-send action in a reservation row. To clarify a request, open the existing guest conversation in chat. There is no automatic SMS reminder for this flow.
Limitations#
- There is no customer-database picker in the form; names and phone numbers are entered manually. Dishes for a booking are collected not in the booking itself but as a pre-order in its bill in POS.
- Staff book one table at a time. There is no single group reservation or shared cancellation action for several tables.
- Status and rescheduling history is available in the hall panel's edit form; it is absent from the Floor Plan reservations window.
- The timeline is available at the till, but there is no automatic allocation of a party by table capacity.
- Guest chat handles existing bookings; create and reschedule table reservations in the hall panel.
- There is no VK booking widget or mini-app. There is a widget for your own website, and VK is available as a chat channel.
- There is no separate “arrived, waiting for a table” status; use the waitlist.
Troubleshooting#
| Symptom | Possible cause | What to do |
|---|---|---|
| The guest cannot see booking | Disabled for the location or the widget is disabled | Check the location's website and widget settings |
| No bookings in the panel | Wrong location or date, or past bookings are hidden | Check the location, timeline day and Show past |
| A table cannot be assigned | Overlap with a confirmed/seated booking | Choose another table or agree on a new time |
| The booking stays Pending | The request has not been confirmed, or the guest rescheduled it | Check the details and click Confirm |
| No refund button | You are in the hall panel, or the deposit is not paid/forfeited | Open Floor Plan reservations and check the payment |
| Money refunded, no fiscal receipt | A RUB task is waiting for the till or the advance-payment receipt | Check the location's till connection and fiscal result |
| The guest received no reminder | No email/Telegram subscription, campaign disabled, channel opt-out or quiet hours | Check the relevant channel and settings; contact the guest personally if needed |
| Cannot see the cancellation reason | Cancelled reservations are hidden together with past ones, or no reason was entered | Turn on Show past: the row shows “Cancellation reason: …”; if it is missing, the reason was left empty |
FAQ#
Can guests book without calling?#
Yes, through the storefront, QR menu or your website widget. A request and a confirmed booking are different states; wait for the status to show confirmation.
Can one booking hold several tables?#
A guest can select several tables at once but receives separate reservations. Staff create one booking per table. The guest party's deposit is on the first entry.
What if a guest is running late?#
Agree on a new time and edit the booking in the hall panel. Check overlaps and whether Auto no-show is enabled. Do not mark guests as seated until they take their table.
How do I refund a prepayment after the free window?#
Use Refund deposit in Floor Plan reservations for a paid or forfeited deposit. Check the refund result and, for RUB, the fiscal receipt too.
Why is a booking Pending again?#
This can happen when a guest reschedules an ordinary confirmed booking: the new time needs confirmation. Paid deposit bookings and those awaiting deposit payment are handled differently.
Where did a reservation go?#
Check the location, date and Show past. The booking may have been cancelled when the deposit payment deadline expired, or marked as a no-show automatically. Open its history through Edit if the entry is available to edit.
Is there a dedicated banquet mode?#
No. Create the table reservations you need and describe the arrangements in comments; enter the menu as a pre-order for the reservation — the kitchen gets it when the guests are seated. Banquets from a previous system can be moved with a file — see “Move reservations and banquets from a file”.
Related sections#
- Floor Plan — layout, tables and QR codes
- Hall panel — seating and waitlist
- POS — table bills and payment
- Calls and guest chat — conversations with guests
- Staff — roles and permissions
- Website widgets — requests from your own website