Skip to Content
Changelog

Changelog

A plain-English log of what’s changed across the Zavo POS and Dashboard — what shipped, when, and where.

Dates are in YYYY-MM-DD (newest first). Each entry calls out the area (Dashboard / POS) it affects.


2026-04-23 — Scheduled menus, service charge rules, and printer overhaul

Dashboard — Menus

  • Scheduled menu publication. Menus now have three states — Draft, Published, and Scheduled. Use Schedule Publication in the ⋯ menu to pick a future date and time; the menu auto-promotes to Published at that moment without any manual step. The sidebar shows a blue Scheduled MM/DD HH:MM badge. Use Change Schedule or Cancel Schedule (back to draft) to adjust.

Dashboard — Service Charge Rules

  • Conditional service charge rules engine. A new Service Charge Rules page under Configuration replaces the single percentage field for venues that need more control. Each rule has a name, a charge type (percentage or fixed £), optional conditions (minimum/maximum guest count, order type — Dine-in / Takeaway / Delivery / Quick order — and subtotal range), a priority, and two toggles: Staff can remove at checkout and Enabled. A live Rule preview panel translates the form into plain English as you type. Multiple rules are evaluated by priority — higher number wins.

POS — Printers

  • Printer management overhaul (v2). The Printers tab in Settings has been rebuilt. Each saved printer is now a card with a gear icon that opens a settings modal — replacing the old inline three-dots menu. The modal adds two new actions: Open Cash Drawer (fires the RJ-12 drawer command instantly) and a Wired to cash drawer toggle to tell the POS which printer has a drawer attached. Connection status now has four states: green (connected), amber (flaky — intermittent), grey wifi (in network — reachable via mesh but not directly), and grey slash (disconnected). Printer discovery is now Wi-Fi only; the Discover WiFi Printers button replaces the old dual Wi-Fi / Bluetooth scan.

2026-04-22 — Reservations overhaul

Big update across both the Dashboard reservations area and the POS reception flow. If a customer asks “what’s new in bookings?”, this is the list.

Dashboard — Reservations

  • Tables, not rooms, now drive schedules. When you build a schedule (Dinner, Brunch, etc.) you now pick the exact tables guests can be seated at — with a live “total covers” counter. Replaces the old “Seating Types” room picker.
    • A new Merge groups card sits under Tables. You can nominate sets of tables that the system is allowed to silently join together for a big party. If every table in the group is free, the group is bookable; otherwise it’s hidden.
    • Each schedule row in the list now shows a “X covers” pill next to party size and slot duration.
    • If a location has no tables yet, the Schedules tab now shows a blue “Set up your tables first → Go to Floor Plan” empty state.
  • Overview tab cleanup. Removed the “No-show Rate” card (the number was mocked, not real). The metric row is now 3 cards: Today’s Reservations · This Week’s Covers · Most Booked. Added a Weekly Summary Chart below the cards so you can see the shape of the week at a glance.
  • All Reservations: new “Created” column + sort. The table now shows when each booking was made and sorts newest-booked first — last-minute bookings rise to the top even when they’re for a date far out.
  • Redesigned booking detail drawer. Cleaner header (guest name + date/time, status pill on the right). Party / Seating / Experience are now three bordered tiles. Contact info is a clickable email/phone list. Seated and Completed reservations now show a short info strip instead of an empty footer. Confirm button is blue (was green).
  • Auto-confirm reservations toggle. New Booking behaviour card in the Settings tab. When on (default), new reservations skip “Pending” and land directly as Confirmed — applies to the public booking page and POS-created bookings. Turn off if the venue prefers to approve each booking by hand.

Dashboard — Booking Page

The public booking page got a top-to-bottom rebuild and so did the editor for it.

  • New public page layout — rotating hero photo carousel, long-form restaurant description, live venue map on the confirmation step, and an Add to calendar dropdown (Google Calendar / Apple Calendar / Outlook / iCal download).
  • Editor sub-tabs renamed from Branding / Content / Colors to Search / Slot confirm / Guest details / Confirmation — each one mirrors a step of the real booking flow.
  • New editor features:
    • Hero images — upload up to 5 photos for the top of the page, reorder with ▲/▼.
    • Menu file — upload a PDF or image menu; surfaces a public View menu button.
    • Slot confirmation popup — optional extra modal between picking a slot and checkout, with per-room copy and image (dress code, “this is our terrace…”, etc.).
    • Checkout photo — dedicated image shown next to the reservation summary on the guest-details step.
    • Booking note — title + body on the checkout step for policies (dress code, cancellation, minimum spend).
    • Custom confirmation message appended to the confirmation email.
    • After-booking button — optional “Back to our website” CTA on the confirmation page.
    • Website URL field added to contact info.
  • Embed to website dialog. New top-bar button (visible when the page is published). Gives restaurants three options:
    1. Direct link — URL to drop on any button or menu link.
    2. iframe snippet — paste into their own site to book inline.
    3. Share with your developer — downloads a multi-page PDF with both methods ready to forward.

Dashboard — AI Reservations

  • Simpler AI setup. Removed the “What the Agent Can Do” capability grid and the “Special Requests & Notes” section. The AI now handles these defaults sensibly without the restaurant having to tick every box. The tab is now: Status & Phone → Voice & Identity → Reservations Behaviour → Human in the Loop → Call scripts → Preview & Test Call.

POS — Reception

  • Per-room time slots. When creating a new reservation on the iPad, the time-slot picker now groups slots by room with horizontal tabs (e.g. Main dining · 8, Patio · 4) when more than one room offers the same time. Previously slots were aggregated, which made it ambiguous which room a guest was being booked into. Picking a slot now locks the booking to the correct room automatically.
  • Stability fixes in both the New reservation and Walk-in forms — the availability check no longer occasionally flickers back to “Experience not found” while Ditto catches up.

2026-04-22 — Zavo Co-Pilot for menus

Zavo Co‑Pilot for menus

  • New side panel in the Menu Builder — opens from the blue Copilot button and edits your menu in plain English. Full docs: Zavo Co‑Pilot.
  • Exposes 30+ tools across menus, categories, items, modifier groups and version history — including bulk updates, duplication, publishing, scheduling and copying menus between locations.
  • House rules baked into the system prompt: Title Case for every new name, palette‑locked colours (no made‑up hex codes), read‑before‑write, bulk over loops, checkpoint before restructuring.
  • Persistent sessions per location with a Chats dropdown for recent conversations. Every turn (and every tool call) is stored server‑side so a page refresh restores the full history.
  • Grouped tool‑call UI — streams of tool calls collapse into a single “Used N tools” card with a chevron, matching the pattern used by modern AI chat products. Expand to see per‑step visual cards (created item tile, before/after diff, bulk‑update summary). A Collapse button appears at the bottom of long lists so you don’t have to scroll back up.
  • Before/after diffs — when the co‑pilot edits an item, the chat shows a per‑field diff (£9.50£10.45) with a colour swatch for colour changes and a dimmed tile for deletes.
  • New Menu history drawer lives in the Menu Builder header. Every edit — by anyone, including the co‑pilot — shows up as a row with an Preview and Revert action. Full docs: Menu history.
  • Clustered by actor + action + 15‑minute window so a bulk update doesn’t flood the timeline. Expand a cluster to see every item it touched.
  • Filter by menu dropdown scopes the timeline to a single menu when you only care about one.
  • Reverts no longer close the drawer — chain as many as you need to land on the right version.
  • Undo a revert from the drawer itself: restore events expose the same Preview + Revert, with tooltips that read “Undo this revert”.
  • Autosave before restore — every revert writes the current state to a checkpoint first, so reverts are themselves reversible.
  • Item grid layout — items now lay out in a responsive 2/3/4‑column grid inside each category. Each tile is a horizontal card with a full‑height colour block on the left and name/price/meta on the right.
  • 86 treatment mirrors the POS — greyscale colour block, red prohibit icon overlay, strikethrough name, “Out of stock” in red, and a soft red ring around the card. An inline Restore button appears next to the dropdown so you can un‑86 without opening any menus.
  • Dashboard 86 now syncs to the iPad — the API now dual‑writes item availability to Ditto Cloud alongside Postgres. 86’ing an item from the Dashboard greyed it out locally, but the POS never noticed until today; now iPads pick up the status in seconds over the mesh.
  • Empty‑state copy on the draft menu banner removed (was: “Draft — not visible on POS devices”).
  • Thinner item cards — tighter padding, smaller thumbnails where still used, smaller title type — so more items fit on screen.

Expanded POS colour palette

  • 41 preset colours (up from 21) in both the Dashboard item editor and the iPad’s Edit panel. The same 41 values appear on both surfaces so button colours stay consistent. New rows cover purples, lavenders, pinks, yellows, golds, corals, turquoise, olive and charcoal — matching the existing palette’s aesthetic (saturated, muted and neutral variants per family).

2026-04-21 — Mobile-responsive Dashboard

Dashboard

  • The Dashboard is now fully mobile-responsive. Every page reflows cleanly on phones and tablets — sidebars collapse, tables scroll horizontally where needed, and dialogs/sheets sit within the viewport. You can now run day-to-day admin (reservations, reports, guests, marketing, permissions, settings…) from a phone.

  • Two exceptions, desktop-only for now:

    • Floor Plan / Table Layout editor — drag-and-drop table placement still requires a larger canvas.
    • Menu editor — multi-column category/item/modifier editing still requires desktop width.

    On both pages, a small notice suggests switching to a desktop or tablet for the best experience.


To add the next entry, copy the heading above, update the date, and list the changes under the same Dashboard / POS buckets. Keep each bullet to one sentence where possible — this page is a skim-read, not a spec.