Reservations
The Reservations page is where you manage everything around bookings — see what’s coming up today, browse the full booking history, build the schedules that decide when guests can book, design the public booking page, set up an AI phone assistant to answer your phone, and choose what reminder messages go out to guests.
It lives at Reservations in the left sidebar. The page title bar shows the current location — Reservations are always per location, so the location pill next to the title tells you which one you’re working with. If your account has more than one location, switch to the right one from the sidebar before you do anything.
Five tabs — Overview, All Reservations, Schedules, AI Reservations and AI Calls — only work when a single location is selected (not “All locations”). They show a small lock icon and a “Select a location” message until you pick one. Booking Page and Settings are always available — Booking Page lets you edit any of your venues’ public pages from the account view, and Settings holds messaging templates that apply across the account.
The tabs
Across the top of the page you’ll see five core tabs, plus up to two AI tabs that appear once you turn the AI assistant on:
- Overview — today’s numbers, plus a calendar of bookings in Day or Week view
- All Reservations — the full searchable list of every booking, past and future
- Schedules — the bookable services you offer (Dinner, Brunch, Tasting Menu…)
- Booking Page — design and publish your public booking page
- Settings — confirmation and reminder messages for guests
- AI Reservations — set up the AI phone assistant (only shown when the AI feature is on)
- AI Calls — log of every call the AI handled (only shown once the assistant has a phone number)
Overview tab
The home base — open it first thing in the morning to see how today is shaping up.
The four metric cards
Across the top, four at-a-glance numbers:
- Today’s Reservations — total bookings for today, with a green “X confirmed” pill and an amber “Y pending” pill if there are any booking requests still waiting on you.
- This Week’s Covers — total guests across all confirmed bookings this week (Sunday to Saturday). The smaller text underneath shows the booking count.
- No-show Rate — the percentage of guests who didn’t turn up. The trend line below compares it to last week.
- Most Booked — the schedule (Dinner, Brunch, etc.) with the highest booking count, and how many bookings it has.
The calendar
A big calendar card fills the rest of the screen with two views:
- Day view (default) — vertical lanes, one per active schedule. The left column is a time scale (10:00 to midnight); each booking shows up as a coloured block in its lane at its booking time.
- Green blocks — confirmed
- Amber blocks — pending (a booking request waiting for your decision)
- Blue blocks — anything else (waitlist, walk-in source, etc.)
- Each block shows the guest name, party size and time. Click a block to open the reservation details on the right.
- Week view — a 7-day grid (today highlighted in blue). Each day is a tile listing every active schedule with a count for the day (e.g. Dinner — 8).
A ◀ / ▶ arrow in the top-left of the calendar moves through days (or weeks). The header shows the current date.
Create reservation
The blue + Create reservation button (top-right of the calendar header) opens a small form to add a booking by hand:
Schedule
Pick which schedule the guest is booking (only active schedules are listed).
Date and Time
Calendar picker for the date, time picker for the slot.
Party Size and Seating
Number of guests, and which seating area (room) they’re booking. If the schedule only has one seating area, it’s auto-selected and locked.
Guest details
Name (required), Email, Phone.
Notes
Free text — special requests, allergies, anything else the team should know.
Tap “Create Reservation”
The booking is added with status Confirmed and source Internal. It appears immediately on the calendar and in the All Reservations tab.
Reservation details panel
Click any block in the calendar (or any row in All Reservations) and a panel slides in from the right with the full booking. It’s the same panel in both tabs.
Header — guest name, current status (a coloured pill), and the date and time in a friendly format (“Saturday, 18 April at 19:30”).
Three quick stats — Guests, Seating area, Source (Online / Internal / Phone / AI Call / Walk-in).
Contact Information — guest avatar, name, email (clickable), phone (clickable).
Reservation Details — schedule, date, time, and when the booking was created.
Special Occasion (if set) — badge for the occasion type (birthday, anniversary, business, engagement, graduation, date night, other) plus any free-text detail.
Special Requests (if any) — the guest’s notes, in an amber-bordered box so they stand out.
Internal Note — a free-text box for staff-only notes. Shown on the Overview detail panel so the host can scribble a quick reminder while the booking is live.
Activity — a short timeline of every status change with timestamps (created → confirmed → seated → completed, or any cancellations / no-shows along the way). Shown on the Overview detail panel so you can see at a glance how the booking has progressed.
The buttons at the bottom change with status:
- Pending — green Confirm and red Reject buttons.
- Confirmed — Edit and red Cancel.
- Cancelled — read-only; “This reservation has been cancelled”.
- Waitlist — Confirm from Waitlist.
In the All Reservations panel, the guest name is a link — click it to jump to the full Guest profile with their visit history, tags, VIP status, and lifetime spend.
All Reservations tab
The full table of every booking — past, present, future — for this location.
Filters and search
Across the top of the table:
- Search box — name, email or phone (case-insensitive, partial matches)
- Date picker — show only one specific day (with an X button to clear)
- Schedule dropdown — limit to one schedule (e.g. only Dinner bookings)
- Status dropdown — All / Confirmed / Pending / Waitlist / Cancelled
- Occasion dropdown — All / Has occasion (any) / Birthday / Anniversary / Business / Engagement / Graduation / Date night / Other
All filters stack — e.g. “Everyone called Sarah, on Saturday, with Dinner, who has a birthday”.
The table columns
- Date & Time — date plus 24-hour time, sorted newest first
- Guest — name (clickable if linked to a guest record)
- Party — number of guests
- Schedule — which experience they booked
- Status — coloured icon + label (Confirmed, Pending, Waitlist, Cancelled, Seated, Completed, No-show)
- Occasion — small badge if a special occasion was set
- Seating — the seating area / room
- Source — Online / Internal / Phone / AI Call / Walk-in
Click any row to open the reservation details panel described above. Cancelling from here removes the URL parameter and closes the panel cleanly.
The URL updates with a ?reservationId=… parameter whenever you open a reservation. Copy the URL from your browser and paste it into Slack / email — your teammate will land on the dashboard with that exact reservation open in the detail panel. Handy for “can you have a look at this booking?” messages.
Schedules tab
A schedule is a bookable service — Dinner, Brunch, Saturday Tasting Menu, Live Music Night. Each schedule decides:
- The hours guests can book within
- How long each booking takes (the slot duration)
- How many guests per party (min / max)
- Which rooms the booking can be seated in
- Whether the schedule is sold online (Booking Page) or only entered by staff
- How the schedule accepts bookings — straight in, from a list of fixed slots, or by request
You’ll usually start with two or three schedules (Lunch and Dinner) and add seasonal ones over time.
The schedules list
Each schedule shows up as a row in the list with:
- The name in bold
- A type badge — Full Availability / Preloaded / Request-based
- A green Active badge (or grey Inactive)
- The service hours, party size range and slot duration
- A green Online booking toggle — flick on to make this schedule appear on your public booking page
The ⋮ menu on the right has Edit, Duplicate, and Activate / Deactivate.
A blue + New schedule button (top-right) opens the editor.
If you don’t have any schedules yet, you’ll see an empty-state card with a big Create schedule button instead.
Creating or editing a schedule
The editor is one long page, broken into sections.
Basic Information
- Schedule Name — required (e.g. Dinner Service)
- Booking Type — pick one (the description below the dropdown explains each):
- Full Availability — guests can book any slot inside your service hours, every X minutes (where X is the slot duration).
- Preloaded Slots — only the specific times you list are bookable.
- Request-based — guests submit a preferred time and you confirm or reject each one by hand.
- Description — free text, shown to guests on the booking page.
Party Size & Seating
- Minimum and Maximum Party Size — bookings outside this range can’t pick this schedule. Max must be greater than min.
- Seating Types — pills for every room you set up in Floor Plan. Tap to select / deselect. The schedule will only seat guests in the rooms you pick.
If you haven’t set up rooms in Floor Plan, you’ll see a message saying so. Add at least one room first, otherwise the schedule won’t have anywhere to put guests.
Service Hours & Duration
- Start Time / End Time — when the schedule is open for bookings (e.g. 18:00 – 22:00).
- Slot Duration — how long each booking takes. Pick from 15 min, 30 min, 45 min, 1h, 1.5h or 2h. Used both to space out bookings and to know when a table will be free.
- Buffer Before — minutes blocked off before each booking (for setup).
- Buffer After — minutes blocked off after each booking (for cleanup / turnover).
Slot Preview (Full Availability only)
A small grid of the first eight times guests will be offered — handy sanity check while you tweak start/end and duration.
Request Settings (Request-based only)
- Response Time (hours) — how long you usually take to confirm a request. Shown to the guest as “We usually respond within X hours”.
Booking Rules
- Allow Online Booking — top toggle. If off, this schedule is invisible on the public booking page; staff can still use it from the dashboard.
- Automatically Accept Valid Requests (Request-based only) — auto-confirm requests that fit your availability, instead of needing you to tap Confirm each time.
- Allow Waitlist — when full, guests can join a waitlist instead of being turned away.
- Auto-close at Capacity — close bookings automatically when the schedule hits its limit.
Guest-facing Content
- Guest Instructions — free text shown to the guest at booking time (dress code, parking, arrival notes, etc.)
Status
- Schedule is Active — bottom toggle. Inactive schedules are hidden from both the booking page and from staff-side new-reservation forms.
The buttons at the top: Back to schedules (top-left), Delete (red, only when editing), and Save Changes / Create Schedule (blue, top-right).
The fastest way to add a similar schedule (e.g. weekend Lunch from a weekday Lunch) is to use the Duplicate option in the ⋮ menu — the new schedule starts as Inactive so you can edit and review it before turning it on.
Booking Page tab
This is where you build the public booking page that guests see when they book online — your branded site at book.zavo.io/<your-slug>.
The screen is split in two: a settings panel on the left (tabs for Branding, Content, Colors) and a live preview on the right (Desktop or Mobile).
The top action bar
- Page dropdown — switch the preview between Experience list (the home screen) and Date & Time (what the guest sees after picking an experience).
- Status pill — green Published (with a globe icon) or grey Not published (with a lock icon).
- Copy link (when published) — copies
https://book.zavo.io/<slug>to your clipboard. Turns into a green tick for two seconds. - View live (when published) — opens the booking page in a new tab.
- Unpublish (when published) — opens a confirmation dialog before taking the page offline.
- Save changes — saves whatever you’ve edited in the panel.
- Publish (when not published) — opens the publish dialog where you pick your URL.
Branding tab
- Logo — drag-and-drop or click to upload a PNG/JPG (up to 2 MB). The logo shows in the booking page header. If you don’t upload one — or you flip the “Use text logo only” switch — the page will use your restaurant name in plain text instead. There’s an X button on the uploaded logo to remove it.
- Restaurant Name — overrides the location name in the header. Leave blank to use the location name as-is.
- Return Link — URL and display text for a “Return to website” link at the bottom of the page sidebar (e.g.
https://yourwebsite.comand yourwebsite.com).
Content tab
- Address — address line, city, postcode (shown in the booking page sidebar so guests know where they’re going).
- Contact — phone and email shown in the sidebar’s “CONTACT” block.
- Guest Form — switches that decide which fields the guest sees when booking:
- Require phone number — phone is mandatory at checkout
- Show allergies field
- Show special requests field
- Show special occasion field
- Footer — “Show ‘Powered by Zavo’” toggle for the small credit at the bottom.
Colors tab
- Navigation Panel — background colour (with a colour picker and a hex input) and Text Color (Light for dark backgrounds, Dark for light backgrounds).
- Primary Button — colour for the Book now buttons. Pick something that contrasts well with white.
Live preview
The right side updates as you type. Two device toggles in the top-right of the panel switch between:
- Desktop — full booking page with the branded sidebar on the left and content (experience list or calendar) on the right.
- Mobile — narrow phone preview, header and content stacked.
The dropdown in the top-right of the preview chooses which step you’re previewing — Experience list (the landing screen) or Date & Time (calendar with party-size picker).
Publishing the booking page
The first time you publish, you’ll be asked for a URL slug:
Click “Publish”
A dialog opens.
Pick your URL
The slug goes after book.zavo.io/. Default is your location name in lowercase with dashes. Only lowercase letters, numbers and hyphens are allowed — anything else is stripped out as you type.
Click “Publish” to confirm
The page is now live. The status pill turns green and the Copy link and View live buttons appear.
To take the page offline later, click Unpublish in the top bar — a confirmation dialog will warn that guests can no longer book online.
If none of your schedules have Allow Online Booking turned on, you’ll see an amber warning at the top: “No bookable experiences”. The booking page will publish, but the experience list will be empty for guests. Turn on online booking on at least one schedule first.
AI Reservations tab
Optional add-on: a fully AI-driven phone assistant that answers calls for the location, takes bookings, answers basic questions, handles special requests, and hands the call to your team when needed.
The tab only appears if your account has the AI Reservations feature enabled. (Talk to support if you’d like it turned on.)
First-time setup
The first time you open the tab, you’ll see a welcome screen with six feature cards (Answer Calls 24/7, Take Reservations, Handle Questions, Remember Occasions, Hand Off to Staff, Recommend Times) and a single big blue button: Set Up Your AI Assistant. Click it to start — the rest of the screen unlocks.
Status & Phone Number
The top card has two things:
- AI phone assistant Off / On switch (with green when on). It stays disabled until you have a phone number.
- AI phone line panel — either prompts you to Get phone number (which provisions a fresh phone number for the assistant) or shows the number you already have, with Copy number and (top-right) a small red Release number button.
This is a brand-new number we provision for your restaurant — you can list it on Google, your website and social media, or forward your existing landline to it. Whoever calls hears your AI assistant.
If you flip the assistant on without a phone number, an amber warning appears: “You need to generate a phone number before turning the assistant on.”
Voice & Identity
A grid of available voices. Each tile has the voice name, a short description, gender and accent pills, and (on hover) a small Play / Pause button so you can preview how it sounds. Click anywhere on a tile to select it — a tick appears on the chosen one.
Below the grid:
- Selected Voice — read-out of the chosen name.
- Assistant name — the name your assistant uses to introduce itself. Defaults to “Your restaurant assistant”.
- Preview line — the assistant’s intro shown back to you exactly: “Hello, thank you for calling [Restaurant]. This is [Assistant name]. How can I help you?”
What the Agent Can Do
A list of capabilities — tick the ones you want on:
- Take table reservations — book tables and confirm details.
- Answer basic questions — opening hours, location, parking, menu basics, vegetarian options, etc.
- Handle special occasions — when ticked, a sub-list lets you choose which occasions the assistant should ask about: Birthdays, Anniversaries, Business meetings, Large groups, Other celebrations (with a free-text box for the “other” wording).
- Handle simple complaints — for small issues, the assistant can apologise and offer basic help.
- Recommend alternative times — if the requested time is fully booked, the assistant suggests nearby slots.
A blue Recommended: Keep all options on for the best experience hint sits below.
Reservations Behaviour
- Send confirmations via — radio buttons for SMS, Email, or Both. The assistant will always also confirm the basics (name, phone, date, time, guests) verbally before booking.
- Ask about dietary restrictions / allergies — green toggle. When on, the assistant will ask each caller if anyone has food allergies or dietary restrictions and note it on the booking.
Special Requests & Notes
A grid of common requests the assistant is allowed to say yes to:
- Table by the window
- Quiet table
- High chair / kids
- Wheelchair access
- Birthday dessert / celebration
- Allergies (note it, don’t promise)
Below: Anything else you want the assistant to say ‘yes’ to? — free text for things specific to you (e.g. “We can add a birthday message on the dessert” or “We’ll do our best to seat you on the terrace”).
Anything left unticked or unsaid will be politely declined. Be specific in the free-text box if you want the assistant to handle a niche request.
Human in the Loop
Sometimes callers need a real person. Turn this on to forward complex calls to your staff.
- When should we send the call to a human? — tick the triggers:
- If the assistant doesn’t understand the question
- If the customer is angry or has a serious complaint
- For big bookings (more than N guests — number is editable)
- For VIP customers
- Where should we forward the call? — phone number for the staff. Without one, you get an amber warning.
- What should the assistant say before transferring? — the exact line. Default: “It sounds like this needs a bit more attention. I’ll connect you to a member of our team now.”
Call scripts
- Opening message — what the assistant says when it picks up.
- How should the assistant end the call? — the closing line.
Defaults already use your restaurant name and the assistant name — edit if you want a different tone.
Preview & Test Call
A reminder card: call the AI phone number from your own phone to hear the assistant in action. The number is shown big, with a Copy number button.
Saving changes
A sticky save bar appears at the bottom of the screen as soon as you change anything — it shows “Unsaved changes” with Discard changes and Save changes buttons. After save, a small toast pops up: “Your AI phone assistant has been updated.”
AI Calls tab
Once your AI assistant has a phone number and starts taking calls, every call shows up here. The tab is only visible after the assistant has been provisioned a number.
Filters
- Date — date range picker (defaults to the last 7 days). Use the presets to jump to last 24 hours, last 30 days, etc.
- All outcomes dropdown — Completed / Reservation Made / Transferred / Error / Abandoned.
A small spinner appears next to the filters while calls load.
The calls table
Each row is one call:
- Date & Time — date and 24-hour time the call started
- Caller — name (linked to their guest profile if recognised) plus the phone number underneath
- Duration — minutes and seconds, e.g. 2m 14s
- Outcome — coloured badge:
- Completed (green)
- Reservation Made (emerald) — a booking was created
- Transferred (blue) — handed off to your staff
- Error (red)
- Abandoned (grey) — caller hung up
- No Answer (amber)
- Sentiment — the assistant’s read of the caller’s mood: Positive / Neutral / Negative / Frustrated.
- Summary — short AI-generated description of what the call was about (truncated at 60 characters).
Click any row for the full call detail dialog — see below.
Call detail dialog
Slides open with everything we captured for the call — one of the most powerful views in the dashboard when you want to understand exactly what the assistant said and did:
- Header — caller name (linked to their guest profile if the number matches an existing customer), phone number, full date and time, and the outcome badge.
- Three quick stats — Duration, Sentiment, Cost of the call.
- Reservation link — if the call produced a booking, a small link jumps you straight to that reservation in the Reservations page.
- Summary — the AI-written summary of the call (full length, with a sparkles accent) so you can tell in two lines whether anything needs a follow-up.
- Call Details — Started, Ended, Outcome, Transferred (Yes / No, plus the escalation reason if Yes — “Caller was angry”, “Booking over threshold”, etc.).
- Transcript — the full conversation, split into AI (“Bot” avatar) and Caller (“User” avatar) bubbles. The assistant’s lines are on the left, the caller’s on the right. Scroll through to verify wording, tone, or catch anything the assistant misheard.
- Recording — a built-in audio player to listen back to the call, plus a link to open the recording in a new tab so you can share it with support or training.
This same dialog appears on the Guest profile timeline when a caller matched an existing customer — so a guest’s profile always shows their full call history alongside their visit history.
Settings tab
The settings tab is one card: Notifications & Reminders — what messages go out to guests and when.
Booking Confirmation
Sent the moment a booking is created (whether by you, the guest online, or the AI):
- Send confirmation email — toggle.
- Send confirmation SMS — toggle.
Reminders
Sent before the reservation:
- 24-hour reminder — toggle, plus a channel picker (Email / SMS / Both).
- 2-hour reminder — toggle, plus a channel picker (Email / SMS / Both).
The channel picker is greyed out unless the reminder is on.
Reconfirmation
For asking the guest to confirm they’re still coming, in the run-up to their booking:
- Request reconfirmation — main toggle. Off by default.
- When on, two extra controls appear:
- Send request X hours before reservation — number input (defaults to 24).
- Auto-cancel if no response — toggle. When on, releases the table if the guest doesn’t reply.
- Cancel after X hours with no response — number input that appears under auto-cancel.
Waitlist
- Auto-promote from waitlist — toggle. When on, the next guest on the waitlist gets a notification automatically when a cancellation frees up a slot.
How statuses, sources and occasions are colour-coded
The same conventions appear across the calendar, the table and the detail panel.
Statuses
- Confirmed — green tick — booking is locked in.
- Pending — amber clock — a booking request waiting for you to Confirm or Reject.
- Waitlist — blue people — guest joined a waitlist for a full schedule.
- Cancelled — grey X — the booking was cancelled (by guest or staff).
- Seated — indigo armchair — the host has marked the guest as arrived.
- Completed — emerald tick — service is finished.
- No-show — red X — guest didn’t turn up.
Sources
Where the booking came from:
- Online — the guest booked themselves on your booking page
- Internal — a staff member typed it in from the dashboard
- Phone — manual booking by phone
- AI Call — booked by the AI phone assistant
- Walk-in — created when a guest was seated without a reservation (from the iPad)
Special occasions
- 🎂 Birthday (pink)
- ❤️ Anniversary (red)
- 💼 Business (slate)
- 💍 Engagement
- 🎓 Graduation
- 🌙 Date Night
- ✨ Other — with a free-text field for detail
Quick recap — common tasks
- Check today — Reservations → Overview → glance at the four metric cards and today’s calendar.
- Confirm a booking request — Overview or All Reservations → click the amber pending booking → green Confirm button (or red Reject).
- Add a phone-in booking — Overview → blue + Create reservation button → fill the form → Create.
- Find a guest’s history — All Reservations → search by name → click the row → click the guest’s name in the panel.
- Add a new bookable service — Schedules → blue + New schedule → fill the editor → Create Schedule.
- Sell a schedule online — Schedules → flick the green Online booking toggle on the schedule’s row.
- Change branding on the booking page — Booking Page → Branding tab → upload logo / change name → Save changes.
- Go live with online bookings — Booking Page → blue Publish → choose URL slug → confirm.
- Get an AI phone number — AI Reservations → Get phone number → tweak voice and capabilities → Save changes → flip the green switch.
- See what the AI handled today — AI Calls → date range Today.
- Turn on a 24h reminder — Settings → flick 24-hour reminder on → choose channel.
Next steps
- Floor Plan — set up the rooms that schedules use for seating
- Reception (POS) — what the host stand iPad does with these bookings every shift
- Guest List — guest profiles, visit history, VIP status
- Marketing — campaigns and templates that tie in with bookings