Treat every booking as a clear record
A reservation belongs to a future date and time. It records the guest, party size, any notes and any assigned table while checking restaurant capacity and overlapping table bookings before the record is saved.
Because a saved booking is a promise to the guest, set capacity limits and the largest party size to match the real dining room, not an optimistic version of it.
Make the public journey simple
When public reservations are available, the guest chooses a valid date, time and party size within opening hours and the available capacity, then submits their contact details.
Bookings taken by phone follow the same path: staff enter them from the dashboard with the same details and the same checks, so the diary never depends on who answered the call.
Give each branch one diary
Reservations belong to a branch, and each staff member sees only the bookings of their branches. Clear statuses keep the whole team aligned: pending, confirmed, arrived, no-show or cancelled.
Today's bookings show to the branch cashier, so the team knows which tables to hold and when, without opening another screen.
Communicate without making promises you cannot keep
The team is notified of every new booking, and a confirmation can be linked to an automatic WhatsApp message so the guest knows their table is held.
Reservations also need a consistent team routine: review the upcoming list, check guest notes, assign tables only when useful and update no-shows or cancellations so the record stays trustworthy.
Review what actually happened
Review conflicts, capacity rejections, cancellations and no-shows alongside the busiest booking windows. Use them to tune capacity limits and staffing, not to fill every slot at any cost.
Start with realistic limits, run the full guest journey with your team, and keep one person responsible for status accuracy during each shift. That discipline matters more than any screen.