Tablefor

A booking site for a restaurant. Guests pick a slot and get a QR pass for the door; the host seats tonight's parties on a floor timeline and adds walk-ins; the kitchen gets full-screen tickets in real time. A rule stops a slot being overbooked and an hourly sweep marks no-shows.

Guests sign up and book. Hosts run the floor. Chefs work the kitchen display.

Tablefor on desktopTablefor on a phone

What's inside

Menu, opening hours and a slot picker. Bookings with a QR code for the door. Host floor timeline and walk-ins. Full-screen kitchen tickets.

Tables

  • guest name, email, phone
  • host name, title
  • chef name, station
  • dish name, description, price, category, photo, tags
  • opening_hour day, opens, closes, note, sort
  • slot time, service, capacity, sort
  • slot_load slot_id, date, seats
  • booking guest_id, guest_name, slot_id, date, time, starts_at, party_size, status, …
  • ticket booking_id, table_label, covers, items, course, note, status

Roles

  • guest Guest, consumer
  • host Host, staff
  • chef Chef, staff

Pages

  • /book Fig & Ember (guest)
  • /kitchen Kitchen (chef)
  • /team Team & access (host)
  • /floor Floor (host)
  • /reserve Book a table (guest)
  • /my-bookings My bookings (guest)

Components

  • TableforLogin Branded candle-lit sign-in / create-account screen with Google
  • GuestApp Guest experience: restaurant and menu with AI dish picks, booking flow, my bookings with QR door pass
  • HostFloor Host: tonight's floor timeline, seating, walk-ins, check-in by code, send orders to the kitchen
  • KitchenBoard Chef: full-screen dark live kitchen display of tickets

Rules on every write

  • booking That slot is full for your party size.

How its workflows run

Each one is a server workflow in your project: it runs on its trigger, with retries, and its runs show in the builder's log.

  1. New booking → host

    When a row changes: booking created. Then: Notify host.

  2. Count seats in slot

    When a row changes: booking created. Then: Look up slot_load, then Update slot_load, then Create slot_load.

  3. Free seats on cancel

    When a row changes: booking updated, when status is cancelled. Then: Look up slot_load, then Update slot_load.

  4. Table seated → kitchen

    When a row changes: booking updated, when status is seated. Then: Notify chef.

  5. Ticket ready → host

    When a row changes: ticket updated, when status is ready. Then: Notify host.

  6. Hourly no-show sweep

    On a schedule: schedule hourly over booking. Then: Look up booking, then Update booking.

Set it up

It starts a new project, with its data, roles and sign-in ready.

  1. Start the project

    Use the button above, or ask your coding agent with the Appbricx MCP server connected (quickstart).

  2. Sign in as each role

    The demo logins open each role's home. Change what you like in plain words or in the contract.

  3. Deploy

    When dev looks right, deploy. Production gets a snapshot first, so you can roll back.

Use it with your coding agent

The agent creates the project, builds it and signs in as each role.

Prompt
Start a new Appbricx project from the Tablefor template (slug "tablefor") with use_template. Call it "My Tablefor", then sign in as each role, verify it and tell me what to change first.
MCP call
{
  "tool": "use_template",
  "arguments": {
    "slug": "tablefor",
    "name": "My Tablefor"
  }
}
CLI
appbricx templates use tablefor --name "My Tablefor"

Make it yours in plain words.