Product documentation

A full tour of the guest storefront, all four role dashboards, the versioned API underneath them and the demo accounts you can use to try every route live.

Guest storefront
Admin
Manager
Waiter
Kitchen
Access & tenancy
Guest storefront
Admin
Manager
Waiter
Kitchen
Access & tenancy

one-click · pre-filled

The application is shipped with a fully seeded demo database. Use any of the accounts below to land in a different role — you'll see exactly the screens, permissions, and data that someone in that role sees on a normal day.

  • Org
    Saffron & Salt
  • Demo tenant
    saffron-salt.globalsofthub.com
  • Plan
    Growth · 14-day trial
  • Sign-in
    /sign-in

Admin

recommended
  • Full access to every dashboard and module
  • Manage members, roles, invitations and billing
  • Superuser access to Manager, Waiter and Kitchen panels
Email
admin@saffronandsalt.test
Password
demo-password-123
Sign in as Admin

Manager

  • Live orders, floor, payments and guest calls
  • Menu availability and service controls
  • Activity log; no identity or billing access
Email
manager@saffronandsalt.test
Password
demo-password-123
Sign in as Manager

Waiter

  • Seat guests and open table sessions
  • Send orders, serve ready items and take payment
  • Guest-call queue
Email
waiter@saffronandsalt.test
Password
demo-password-123
Sign in as Waiter

Kitchen

  • Kitchen display grouped by station
  • Start preparing and mark items ready
  • No floor, payment or admin access
Email
kitchen@saffronandsalt.test
Password
demo-password-123
Sign in as Kitchen

Ready to try it?

The sign-in form is at /sign-in. After signing in you'll land on your role's dashboard: /admin, /manager, /waiter or /kitchen.

Open sign-in

Tip — switch between Admin, Manager, Waiter, and Kitchen to see how the same workspace changes shape for each role.

Chapter7 routes

Order from the table or for takeaway

The tenant host is the guest-facing app: a live menu, an offer strip, a persistent cart, server-priced checkout, order tracking and one-tap service calls.

Guest menu

https://saffron-salt.globalsofthub.com/

Open

Live menu, offers and a persistent cart for the tenant host.

ForGuests

Use cases

  • Browse the menu from a table QR code or a takeaway link.
  • See sold-out items disappear without a manual refresh.

What you'll see

  • Restaurant name and brand colour
  • Category tabs and item cards with station badges
  • Cart badge and running subtotal

How to use

  1. 1Open the tenant host (for example saffron-salt.localhost:3000).
  2. 2Pick a category tab, then add a dish with the Add button.
  3. 3Follow the cart badge or the sticky subtotal to checkout.

Cart and quote

https://saffron-salt.globalsofthub.com/cart

Open

Quantities, offer code and a server-calculated quote.

ForGuests

Use cases

  • Change quantities or remove a line before paying.
  • Apply a promo code and see the discount before checkout.

What you'll see

  • Line items with unit prices
  • Subtotal, discount, tax, service and total
  • Offer input and validation message

How to use

  1. 1Add an item from the menu and open the cart.
  2. 2Use − / + to adjust quantities; the quote refreshes.
  3. 3Enter an offer code and press Apply.

Notes

  • Prices come from the server at quote time, never from the client.

Checkout

https://saffron-salt.globalsofthub.com/checkout

Open

Place a takeaway order or a dine-in order tied to a table.

ForGuests

Use cases

  • Order for pickup without a table.
  • Scan a table QR and attach the order to that table session.

What you'll see

  • Contact fields and kitchen note
  • Priced line summary and total
  • Dine-in or takeaway context

How to use

  1. 1Review the quote and optionally add name, phone and a kitchen note.
  2. 2Press Place order once; retries reuse the same idempotency key.
  3. 3Continue to the order tracking page.

Order tracking

https://saffron-salt.globalsofthub.com/orders/[reference]

Pattern

Timeline, items and service-call buttons for one order.

ForGuests

Use cases

  • Watch the order move through accepted, ready, served and completed.
  • Call a waiter for water, cutlery, assistance or the bill.

What you'll see

  • Order reference, status and total
  • Progress timeline with timestamps
  • Items and service buttons

How to use

  1. 1Place an order from the device that should track it.
  2. 2Open the saved order from My orders.
  3. 3Tap a service button to notify the floor.

Notes

  • Tracking requires the device token created with the order; the token is never put in the URL.

My orders

https://saffron-salt.globalsofthub.com/orders

Open

Orders saved on this device, newest first.

ForGuests

Use cases

  • Reopen an order placed earlier on the same phone.
  • Find an order reference without creating an account.

What you'll see

  • Reference, total and date per order
  • Empty state on a fresh device

How to use

  1. 1Open My orders from the storefront header.
  2. 2Select an order to return to its tracking page.

Staff login

https://saffron-salt.globalsofthub.com/login

Open

Host-scoped sign-in for every staff role.

ForStaff

Use cases

  • Sign in on a tenant subdomain and land on your home dashboard.
  • Accept a one-time handoff token from the apex sign-in page.

What you'll see

  • Email and password fields
  • Inline error for bad credentials
  • Workspace-branded header

How to use

  1. 1Open the tenant /login page.
  2. 2Enter the demo email and password.
  3. 3The role layout routes you to Admin, Manager, Waiter or Kitchen.

Staff signup

https://saffron-salt.globalsofthub.com/signup

Open

Self-registration for Waiter and Kitchen accounts, pending Admin approval.

ForStaff

Use cases

  • Request access to a workspace without an invitation.
  • Create a Kitchen or Waiter account and wait for approval.

What you'll see

  • Role selector (Waiter / Kitchen)
  • Full name, email and password fields
  • A pending-approval screen after signing in before approval

How to use

  1. 1Open the tenant /signup page.
  2. 2Choose Waiter or Kitchen, then submit name, email and password.
  3. 3Wait for an Admin to approve you from Staff roles, then sign in on /login.

Notes

  • Admin and Manager cannot be self-assigned; an Admin grants them from Staff roles.
  • New accounts start inactive and cannot read panel data until approved.
Chapter15 routes

Ownership, catalog, people and money

The Admin panel is the full control surface: live overview, orders, KDS monitor, floor records, menu, staff roles, customers, employees, inventory, finance, reports, offers and billing settings.

Admin overview

https://saffron-salt.globalsofthub.com/admin

Open

Live KPIs, open-order pipeline, guest calls and low stock.

ForAdminsOwners

Use cases

  • Start a shift by checking gross sales, order count and open calls.
  • Jump directly to the screen that can act on an alert.

What you'll see

  • Gross, orders, average order and open orders
  • Recent orders list
  • New orders / guest calls / low stock cards

How to use

  1. 1Sign in as an Admin and open /admin.
  2. 2Read the 7-day KPI strip and the open-order total.
  3. 3Use the Orders, Guest calls or Low stock cards to drill in.

Admin orders

https://saffron-salt.globalsofthub.com/admin/orders

Open

Every order with status filters and an audited cancel action.

ForAdmins

Use cases

  • Find an order by status or reference.
  • Cancel an order with a recorded reason.

What you'll see

  • Reference, status, payment and age
  • Item count and total
  • Cancel action with a reason dialog

How to use

  1. 1Open /admin/orders and pick a status filter.
  2. 2Select the order reference to open its detail.
  3. 3Use Cancel order and enter a reason.

Admin order detail

https://saffron-salt.globalsofthub.com/admin/orders/[orderId]

Pattern

Items, totals, payment state and cancellation for one order.

ForAdmins

Use cases

  • Inspect a disputed order line by line.
  • Cancel an order after investigating a guest complaint.

What you'll see

  • Status and payment badges
  • Item table and money breakdown
  • Cancel action and cancellation reason

How to use

  1. 1Open an order from Admin orders.
  2. 2Review items, station, status and totals.
  3. 3Cancel with a reason if the order can still be changed.

Admin KDS monitor

https://saffron-salt.globalsofthub.com/admin/kds

Open

Read-only station board for accepted and preparing items.

ForAdminsManagers

Use cases

  • Monitor kitchen load without touching the line's screen.
  • See which station has the oldest ticket.

What you'll see

  • Station columns with tickets
  • Item status badges and live age
  • No Start/Ready controls

How to use

  1. 1Open /admin/kds.
  2. 2Read the open-item count and station groups.
  3. 3Use the Kitchen panel to actually transition items.

Admin tables

https://saffron-salt.globalsofthub.com/admin/tables

Open

Floor-plan records, seats and open-session state.

ForAdmins

Use cases

  • Add a new table before opening the patio.
  • Check which tables have open sessions.

What you'll see

  • Table cards with status badges
  • Open-session indicator
  • Add/Edit/Delete actions

How to use

  1. 1Open /admin/tables.
  2. 2Add or edit label, zone and seat count.
  3. 3Delete only when no session is open.

Notes

  • The API rejects deleting a table that has an open session.

Admin menu

https://saffron-salt.globalsofthub.com/admin/menu

Open

Categories, dishes, prices, stations and availability.

ForAdmins

Use cases

  • Add a seasonal category and its dishes.
  • Take an item off sale without deleting it.

What you'll see

  • Category chips and item table
  • Price, station and availability badge
  • Edit/Delete and availability actions

How to use

  1. 1Open /admin/menu and select or create a category.
  2. 2Add an item with name, price, station and category.
  3. 3Use Mark sold out / Mark available during service.

Notes

  • A category with items cannot be deleted until the items are moved or removed.

Staff roles

https://saffron-salt.globalsofthub.com/admin/roles

Open

Grant Admin, Manager, Waiter and Kitchen roles; invite staff.

ForAdmins

Use cases

  • Give a shift lead Manager access alongside Waiter.
  • Invite a teammate and assign a role after acceptance.

What you'll see

  • Member table with role chips
  • Quick presets (Admin + Mgr / Floor + Kitchen)
  • Pending invitations and Revoke

How to use

  1. 1Open /admin/roles.
  2. 2Toggle a role chip for a member.
  3. 3Use the invitation panel to invite or revoke by email.

Notes

  • The last Admin cannot be demoted; the API returns STATE_CONFLICT.

Customers

https://saffron-salt.globalsofthub.com/admin/customers

Open

Guest profiles, consent, visits and lifetime spend.

ForAdmins

Use cases

  • Look up a guest by name, phone or email.
  • Record notes and marketing consent.

What you'll see

  • Search and result table
  • Visit count and lifetime spend
  • Edit dialog with consent checkbox

How to use

  1. 1Open /admin/customers.
  2. 2Search and select a row, then press Edit.
  3. 3Save name, notes and consent.

Notes

  • Guest orders store contact details on the order; they do not currently create a CRM row automatically.

Employees

https://saffron-salt.globalsofthub.com/admin/employees

Open

HR records: role title, employment type and status.

ForAdmins

Use cases

  • Add a new hire to the team roster.
  • Deactivate a departing employee without touching panel access.

What you'll see

  • Name, role title, type and status
  • Deactivate/Activate and Delete
  • Create dialog

How to use

  1. 1Open /admin/employees.
  2. 2Press Add employee and fill the HR fields.
  3. 3Use Deactivate/Activate or Delete.

Notes

  • Employee records are separate from Member roles; they do not grant dashboard access.

Inventory

https://saffron-salt.globalsofthub.com/admin/inventory

Open

Ingredients, stock ledger, low stock and menu recipes.

ForAdmins

Use cases

  • Receive a delivery and record a stock movement.
  • Attach a recipe so accepting an order deducts stock.

What you'll see

  • Ingredient stock and reorder state
  • Movements ledger with type filters
  • Recipe editor

How to use

  1. 1Open /admin/inventory and use the Ingredients tab.
  2. 2Press Movement to record a receipt, waste or adjustment.
  3. 3Use the Recipes tab to select an item and save quantities.

Finance

https://saffron-salt.globalsofthub.com/admin/finance

Open

Gross, net, tax, tips and payment-method mix.

ForAdmins

Use cases

  • Check today's collected cash/card split.
  • Compare a range before reconciling the till.

What you'll see

  • Gross / net / tax / tips
  • Payment mix by method
  • Refunded and discounted totals

How to use

  1. 1Open /admin/finance.
  2. 2Choose Today, 7 days or 30 days.
  3. 3Read the KPI cards and payment mix.

Reports

https://saffron-salt.globalsofthub.com/admin/reports

Open

Daily sales and top menu items for a chosen range.

ForAdmins

Use cases

  • Identify the best-selling dishes over 7 or 30 days.
  • Check daily gross sales for a week.

What you'll see

  • KPI strip
  • Payment mix
  • Daily sales table and top menu items

How to use

  1. 1Open /admin/reports.
  2. 2Switch the range preset.
  3. 3Read the daily table and item leaderboard.

Offers

https://saffron-salt.globalsofthub.com/admin/offers

Open

Discount codes with percent/fixed value, minimums and caps.

ForAdmins

Use cases

  • Launch a 15% weekday promotion.
  • Pause a code without deleting its history.

What you'll see

  • Code, value, minimum and redemptions
  • Active/Paused state
  • Create dialog whose submit validates the value

How to use

  1. 1Open /admin/offers and press Create offer.
  2. 2Fill code, title, type, value and optional limits.
  3. 3Pause/Activate or Delete from the table.

Service requests

https://saffron-salt.globalsofthub.com/admin/service-requests

Open

Water, bill, assistance and cutlery calls from guests.

ForAdminsManagers

Use cases

  • Watch the open queue during a busy service.
  • Acknowledge and resolve a call.

What you'll see

  • Call type, table label, note and age
  • Status badge
  • Acknowledge and Resolve

How to use

  1. 1Open /admin/service-requests.
  2. 2Filter Open / Acknowledged / Resolved.
  3. 3Acknowledge, then Resolve the request.

Settings and billing

https://saffron-salt.globalsofthub.com/admin/settings

Open

Workspace profile, timezone, currency and plan details.

ForAdmins

Use cases

  • Rename the workspace or change its reporting timezone.
  • Check the trial/renewal date on the current plan.

What you'll see

  • Editable workspace fields and read-only slug
  • Plan, status and renewal/trial date
  • Save confirmation

How to use

  1. 1Open /admin/settings.
  2. 2Edit name, timezone or currency and save.
  3. 3Read Plan & billing below the form.
Chapter9 routes

Run the shift in real time

Managers accept and cancel orders, clear tables, toggle availability, pause ordering, watch payments and work the guest-call queue. Every mutation is audited.

Manager overview

https://saffron-salt.globalsofthub.com/manager

Open

Open orders, awaiting acceptance, guest calls and occupied tables.

ForManagers

Use cases

  • See the shift at a glance before walking the floor.
  • Jump into live orders or guest calls.

What you'll see

  • Four live KPI cards
  • Recent orders list
  • Open live orders action

How to use

  1. 1Sign in as Manager and open /manager.
  2. 2Read the four KPI cards.
  3. 3Open Live orders for the full queue.

Live orders

https://saffron-salt.globalsofthub.com/manager/orders

Open

Accept submitted orders and cancel with a reason.

ForManagers

Use cases

  • Accept a new guest or waiter order.
  • Cancel an order when the kitchen cannot fulfil it.

What you'll see

  • Order cards with status and age
  • Accept / Cancel actions
  • Live 10-second refresh

How to use

  1. 1Open /manager/orders.
  2. 2Filter by status.
  3. 3Press Accept or Cancel; cancellation requires a reason.

Manager order detail

https://saffron-salt.globalsofthub.com/manager/orders/[orderId]

Pattern

Items, totals, accept and cancel for one order.

ForManagers

Use cases

  • Inspect the item list before accepting a large order.
  • Cancel after confirming with the kitchen.

What you'll see

  • Status/payment badges
  • Item and totals tables
  • Accept and Cancel controls

How to use

  1. 1Open the detail route from the order context.
  2. 2Review items and totals.
  3. 3Use Accept order or Cancel.

Floor

https://saffron-salt.globalsofthub.com/manager/floor

Open

Occupancy stats and per-table session state.

ForManagers

Use cases

  • Find the longest-running table session.
  • Clear a table once guests have left.

What you'll see

  • Occupied/free/cleaning counts
  • Guest count and session age
  • Clear table action

How to use

  1. 1Open /manager/floor.
  2. 2Scan the occupancy cards.
  3. 3Press Clear table and confirm.

Guest calls

https://saffron-salt.globalsofthub.com/manager/service-requests

Open

Manager view of the guest service queue.

ForManagers

Use cases

  • Cover the floor when waiters are busy.
  • Resolve a call that was acknowledged earlier.

What you'll see

  • Call type, table and age
  • Status filter chips
  • Acknowledge / Resolve

How to use

  1. 1Open /manager/service-requests.
  2. 2Filter by status.
  3. 3Acknowledge and/or Resolve.

Payments

https://saffron-salt.globalsofthub.com/manager/payments

Open

Captured payments and refunds, newest first.

ForManagers

Use cases

  • Verify that a table was actually paid.
  • Check the day's captured/refunded totals.

What you'll see

  • Reference and order id
  • Type, method and amount
  • Captured/refunded summary

How to use

  1. 1Open /manager/payments.
  2. 2Read the reference, method and amount.
  3. 3Use the Admin refund API for refunds.

Availability

https://saffron-salt.globalsofthub.com/manager/menu/availability

Open

Sell out or restore menu items during service.

ForManagers

Use cases

  • Mark the last portion of a dish sold out.
  • Restore an item when a new batch is ready.

What you'll see

  • Category sections and items
  • Availability badge
  • Sell out / Restore action

How to use

  1. 1Open /manager/menu/availability.
  2. 2Find the item in its category.
  3. 3Press Sell out or Restore.

Notes

  • Changes are visible to guests and waiters immediately.

Service controls

https://saffron-salt.globalsofthub.com/manager/operations

Open

Accepting-orders switch, ETA override and service notice.

ForManagers

Use cases

  • Pause new orders during a kitchen backlog.
  • Set a temporary ETA or publish a service notice.

What you'll see

  • Accepting-orders checkbox
  • ETA override and notice fields
  • Save confirmation

How to use

  1. 1Open /manager/operations.
  2. 2Uncheck Accepting orders to pause ordering.
  3. 3Set an ETA/notice and press Save controls.

Notes

  • Pausing ordering makes storefront order creation return STATE_CONFLICT.

Activity log

https://saffron-salt.globalsofthub.com/manager/operations/activity-log

Open

Audited changes across the workspace, newest first.

ForManagers

Use cases

  • Confirm who accepted or cancelled an order.
  • Filter to a specific action while investigating.

What you'll see

  • Action, entity, actor and time
  • Action filter input
  • 15-second refresh

How to use

  1. 1Open /manager/operations/activity-log.
  2. 2Type an action such as order.accepted.
  3. 3Press Filter to narrow the feed.
Chapter3 routes

Floor service and table workspaces

Waiters seat guests, send orders, serve ready items, capture full or partial payments and clear tables. The table workspace is the main service screen.

Waiter floor

https://saffron-salt.globalsofthub.com/waiter

Open

Your tables, status and open sessions.

ForWaiters

Use cases

  • Find a free table to seat new guests.
  • Open a table workspace for an existing session.

What you'll see

  • Table cards with status
  • Guest count and session age
  • Open/occupied summary

How to use

  1. 1Sign in as Waiter and open /waiter.
  2. 2Read the table cards and session age.
  3. 3Tap a table to open its workspace.

Table workspace

https://saffron-salt.globalsofthub.com/waiter/table/[tableId]

Pattern

Seat, order, serve, pay and clear one table.

ForWaiters

Use cases

  • Seat a walk-in and send the first order.
  • Serve ready items and capture a full or partial payment.

What you'll see

  • Seat panel or open session
  • Menu picker and cart subtotal
  • Order cards with Serve and Pay actions

How to use

  1. 1Open a table from the floor.
  2. 2Seat guests with a guest count if the table is free.
  3. 3Add menu items, send the order, then serve/pay/clear.

Notes

  • Sending an order uses a client-generated idempotency key.
  • Clearing a table closes the session but does not take payment.

Waiter guest calls

https://saffron-salt.globalsofthub.com/waiter/requests

Open

The floor's water, cutlery, bill and assistance queue.

ForWaiters

Use cases

  • Pick up the next guest call.
  • Resolve a call after delivering the request.

What you'll see

  • Call type, table and age
  • Open/acknowledged/resolved filters
  • Acknowledge / Resolve

How to use

  1. 1Open the Requests tab.
  2. 2Acknowledge the call.
  3. 3Resolve it once handled.
Chapter1 route

A station-aware KDS

Accepted and preparing orders appear as station-grouped tickets, oldest first, with live age timers. Cooks move items from pending → preparing → ready.

Kitchen display

https://saffron-salt.globalsofthub.com/kitchen

Open

Station-grouped tickets with Start and Ready transitions.

ForKitchen

Use cases

  • Cook tickets oldest first by station.
  • Mark an item ready so the waiter can serve it.

What you'll see

  • Station columns with tickets
  • Age timer and item status badges
  • Start / Ready buttons

How to use

  1. 1Sign in as Kitchen and open /kitchen.
  2. 2Press Start on a pending item.
  3. 3Press Ready when the dish leaves the pass.

Notes

  • Only accepted, preparing and ready orders appear; submitted orders are not tickets yet.
Chapter3 routes

Workspaces, roles and subscription gates

Each workspace lives on its own subdomain. Better Auth sessions are host-scoped; roles gate every panel and API; lapsed subscriptions and suspended workspaces are blocked.

Create workspace

/create-workspace

Open

Self-serve tenant signup with a 14-day trial.

ForOwners

Use cases

  • Create a new restaurant workspace and subdomain.
  • Start a trial without a credit card.

What you'll see

  • Plan cards (Starter/Growth/Pro)
  • Workspace name + slug with validation
  • Owner email/password fields

How to use

  1. 1Open /create-workspace.
  2. 2Choose a plan, workspace name, slug and owner account.
  3. 3Submit and continue to the tenant dashboard.

Accept invitation

https://saffron-salt.globalsofthub.com/invitations/accept?id=[invitationId]

Pattern

Accept a workspace invitation while signed in.

ForInvited staff

Use cases

  • Join a workspace after an Admin invites your email.
  • Land in the workspace so an Admin can assign a role.

What you'll see

  • Accepting invitation state
  • Success redirect or an error with sign-in retry

How to use

  1. 1Open the link from the invitation.
  2. 2Sign in with the invited email if prompted.
  3. 3An Admin grants your role from Staff roles.

Access and billing states

https://saffron-salt.globalsofthub.com/subscription-inactive

Open

Clear screens for forbidden access and inactive subscriptions.

ForStaff

Use cases

  • Understand why a panel is blocked.
  • Have an Admin renew a lapsed subscription.

What you'll see

  • Access denied explanation
  • Subscription inactive explanation
  • Back-to-sign-in links

How to use

  1. 1Open a panel your role does not own to see /forbidden.
  2. 2Open a dash panel while billing is lapsed to see /subscription-inactive.

Notes

  • Admins keep access during a lapse so they can repair billing.

62 endpoints

Screens call these versioned route handlers through the shared API client. Paths with a bracket segment are patterns reached from their parent list. Click any row to copy its path.

admin/audit

admin/customers

admin/employees

admin/finance

admin/identity

admin/inventory

admin/invitations

admin/kds

admin/menu

admin/offers

admin/orders

admin/payments

admin/reports

admin/service

admin/settings

admin/tables

auth

health

kitchen

manager/activity

manager/floor

manager/menu

manager/operations

manager/orders

manager/payments

manager/service

storefront

waiter/floor

waiter/menu

waiter/orders

waiter/payments

waiter/service

workspaces

Documentation auto-generated from the route table at components/docs/docs-data.tsx. 38 routes, 6 chapters.