Resto (restaurant floor)
Floor plan, tickets, kitchen, reservations, takeaway, digital menu / ordering portal, and table checkout in Sarah.
Last updated: 2026-08-04
Resto
Experimental beta. This module may change, have bugs, or incomplete data. Requires Pro plan and enabling it under Settings → Company. Use it to try the dining-room flow; it is not a critical production floor replacement yet.
The Resto module (/restaurant) runs the dining room alongside retail POS: floor plan, tickets, kitchen, reservations, takeaway, and table payment.
What’s in beta
- Floor / layout: tables by zone, layout editor (admin), join/move tables, bar seats.
- Tickets: per table or seat, catalog attributes (same
products.attributesas POS) plus free-text notes, send to kitchen. - Quick dish (admin / cashier): create a menu item from Orders (name, price, category, photo, and options) without opening Inventory.
- Kitchen (KDS): one board with 3 columns (new → preparing → ready); priority; “Served” archives the ticket.
- Reservations: agenda and table assignment; the floor highlights bookings in the next 2 hours.
- Takeaway / delivery: no-table orders with statuses new → kitchen → ready → picked up (staff or online portal).
- Digital menu / portal (
/restaurant/portal): public menu, table QR, pickup/delivery orders with OTP, branding, and distance-based fees. - Checkout: precuenta, partial or full charge via POS, tips; closing is blocked while a balance remains.
- Realtime: floor, kitchen, and payments stay aligned across devices for the same store.
Routes
| Screen | Path |
|---|---|
| Floor | /restaurant |
| Orders | /restaurant/orders |
| Kitchen | /restaurant/kitchen |
| Reservations | /restaurant/reservations |
| Takeaway | /restaurant/takeaway |
| Menu / portal | /restaurant/portal |
Alias: /resto redirects to /restaurant.
Digital menu and ordering portal
One catalog (products.enable_resto_menu) powers three public entry points:
| Entry | URL |
|---|---|
| Menu | /{slug}/menu or {slug}.sarah.ar/menu |
| Order (pickup / delivery) | /{slug}/pedir or {slug}.sarah.ar/pedir |
| Table QR | /m/{token} |
Under Resto → Menu / QR you can:
- Enable public menu, portal, pickup, and delivery.
- Brand the experience (theme, colors with live preview, cover, tagline).
- Set the store pin + minimum fee + per-km rate + radius (haversine distance; guests use GPS and can tweak the pin on OpenStreetMap).
- Choose menu products and print QRs (menu, order, and tables).
On the public menu / ordering site, the store address opens Google Maps.
Online orders create a takeaway/delivery session with source portal, go to the kitchen, and show on the takeaway board. Guests pay on pickup or cash on delivery. History and “reorder” live at /{slug}/pedir/mis-pedidos after WhatsApp OTP.
Minimum permissions
| Permission | Who |
|---|---|
| Access / kitchen | Roles 1–4 |
| Charge | Admin, cashier, seller |
| Edit layout | Admin only |
Demo
Demo company 5, store 2 (resto seed).
Not in this release
Resy-style waitlist/host stand, multi-station KDS, hospitality CRM, WhatsApp from reservations, table self-order with payment, bidirectional iFood Orders sync, and Rappi/PedidosYa remain deferred.
Configurable menu (BR delivery)
Dishes can carry menu_config (JSONB): required/optional sections, per-option photos, priceDelta, combos (min/max), ingredient removals, and upsell. The /{slug}/pedir portal opens a delivery-style configurator (Delivery 1 / Delivery 2 themes under Appearance). Integrations under Resto → Menu → Integrations: Mercado Pago BR (PIX/card), one-way iFood catalog import, and SC NFC-e via partner APIs (Spedy / Focus / PlugNotas).