Floor & seating
The Tables tile opens the Floor Plan — the live view of the room. A Live pill in the header shows the connection state (it flips to an amber Offline pill when the network drops), and the header carries a compact color legend: Available · Reserved · Seated · Dirty.

The Floor Plan in Map view — tables drawn on the room, states color-coded, zoom controls at the right.
Who can use it
All signed-in staff can read the floor (floor.tables.read); seating from the queue and status changes ride on floor.seat.assign and floor.tables.update_status, which the standard front-of-house roles carry. Opening a sale from a table follows the Orders permissions.
Map view and List view
On venues with a spatial floor plan, a Map / List toggle sits above the floor:
- Map draws tables on the venue's actual floor-plan image — walls, the tasting bar, service areas. Each table node is color-ringed by state and shows its name plus a compact cue: seat count when available, the party's last name when seated, the booking time when reserved, "Bus" when dirty, "Held" when blocked. Tap a node to open its table sheet; long-press an occupied one to peek the guest's profile.
- List shows the same tables as cards grouped by room — one card per table with its name, seat count, the current party (or Empty in italics), and a status badge. It's the denser view for working a big room fast.
Venues without a spatial plan don't get the toggle — they always see the List view.

The List view — the same tables as cards, grouped by room, each with its seat count and status badge.
Rooms (surface chips)
In Map view, chips above the map — e.g. Main Room 4 · Porch — pick which room the map draws; the number on a chip is its table count. On tablets an extra All surfaces chip shows everything at once. In List view rooms appear as stacked sections instead.
Pinch, pan, and zoom
The map is fully gestural — the overlay hint says "Pinch to zoom · drag to pan". Three buttons on the right edge do the same without gestures: + zooms in, − zooms out, and the expand button resets the view. On tablets the map may rotate to landscape to breathe; phones stay portrait.
Table states
The legend under the map covers all five states:
| State | Color | Meaning |
|---|---|---|
| Available | Green | Empty and ready to seat |
| Seated | Indigo | A party is on it — shows how long ago they sat down |
| Reserved | Amber | Held for an upcoming booking — shows the time |
| Dirty | Orange | Needs bussing before it can be seated again |
| Blocked | Gray | Out of service |
A table with an offline-queued action shows a Queued badge (amber outline) until it syncs.
The party-waiting banner

The banner across the top tallies the work: "1 party waiting".
When there's work to do, a banner appears under the header tallying it: "2 parties waiting · 1 table to clear" — parties in the seating queue plus dirty tables. It turns red once any party has been waiting 15 minutes or more. Parties land in the queue from a reservation check-in or from Check-In → Add to Seating Queue.
The table sheet
Tapping any table slides up its sheet: the table name, a status badge, and its seat count ("4 Seats"). What's inside depends on the state.