Skip to content

Floor plan

The floor plan is the dining room rendered as a tappable map. Each table sits where it sits in real life — the four-top by the window, the deuce next to the kitchen pass, the long table in the private room — and each one is coloured by its current state. Green means available; red means a ticket is open; blue means a booking is incoming; yellow means the party just left and the table needs cleaning before the next sitting. The host opens the page at the start of the shift and watches the colours change all night long. Tapping a green tile starts a fresh order on that table; tapping a red one jumps straight into the existing order’s terminal.

This page is for the host who seats parties, the cashier who opens dine-in tickets from the map, the manager who designs the room once at setup. If you’ve never seen the point of sale before, read the overview first — the floor plan is one of the four surfaces. The order-taking side, opened from a green tile here, is the terminal. The till that frames the shift is the cashier dashboard.

Why this page exists

The host’s job at the door of a busy restaurant is to know, in one glance, three things: which tables are free, which ones will be free in five minutes, and which ones are booked. The clipboard with a hand-drawn map and pencilled-in names used to be the answer. It works until somebody crosses out the wrong name, or a server forgets to mention a table’s been cleared, or a booking shows up early and the host can’t find the right four-top quickly.

The floor plan replaces the clipboard with a screen that updates itself. When the server takes the bill at table 7 and taps Close Table on the terminal, table 7’s tile turns green here a second later — the host knows it’s free without anyone telling them. When the cashier opens a new ticket on a tile, that tile turns red and starts counting time-since-seated. The whole room is one live picture.

The other reason the floor plan exists is that opening an order on a table is the single most common action of dine-in service, done dozens of times a night. The floor plan is the fastest path to that action — tap a green tile, type the guest count, the terminal opens. The clipboard couldn’t open a terminal; the floor plan is the terminal.

The rule

The colour of a tile is computed, never stored. The system asks “is there an open order on this table right now?” and paints the tile accordingly. Closing the order on the terminal flips the tile back to green here — no second action needed, no two surfaces to keep in sync.

What you see on the screen

The floor plan has two modes. Live mode is what the host and cashier use during service — the map is read-and-tap, no edits possible. Design mode is what the manager uses once at setup, or after a renovation — tables can be dragged, resized, renamed, added, removed.

Live mode is the default. Across the top of the page, a row of zone tabs — the manager configured these once (typical setup: Main Room, Terrace, Bar Counter, Private Room); tapping a tab swaps the canvas to that zone’s tables. Underneath, the canvas itself — a top-down view of the zone, with tables positioned exactly where the manager put them in design mode, sized and rotated to match their real shape. Each table is a coloured tile with its label inside (“T7”, “Window 2”, “Bar 1”) and, when occupied, a small chip showing the order number and time-since-seated.

The colour rules:

  • Green — available, no order open. Tap to start one.
  • Red — occupied; an order is open on this table. Tap to jump into the terminal on it.
  • Blue — reserved, booking incoming, not yet seated. Long-press to clear the reservation.
  • Yellow — dirty; the order just settled, the table needs clearing before the next sitting. Long-press to mark clean.
  • Slate — out of service; the table won’t be offered for seating.

Design mode is reached by tapping Edit layout in the page header. This opens the editor in full screen — it takes over the whole window, hiding the top bar and the side menu, so the room gets every pixel of the display to work with. On a small laptop or a tablet this is the difference between a cramped strip and a canvas you can actually drag tables around on. The canvas becomes draggable: tables move with a finger drag, resize with a corner handle, rotate with a rotation handle. The header keeps Add table (drops a new tile onto the active zone) and adds a Done button to leave full screen and return to the live map; pressing the Esc key does the same. Manage zones opens a dialog for adding, renaming, and reordering the zone tabs themselves. A side panel slides in when a table is selected, showing its label, seat count, shape, and an Out of service toggle — pressing Esc closes that panel first, then a second Esc leaves the editor.

The manager designs the room here. The host and cashier never touch design mode mid-service — moving tables under the cashier’s fingers during a Saturday rush is exactly the kind of thing that breaks the night.

How to use it

The floor plan opens from the sidebar, or directly at /admin/floor-plan. The host typically pins the page on the maître-d’ tablet for the whole shift.

Seating a party

The party of four walks in. Glance at the floor plan. Find a green tile with the right seat count — table 14, a 4-top in the main room, currently green. Tap it. The Open Table dialog opens, pre-filled with the table’s seat count as the suggested guest count. The host confirms (or adjusts: “we’re a 3 with a child seat”), taps Open. The terminal opens on the new ticket; table 14 flips to red on the floor plan with a chip reading “0:00 ago”. The host walks the party to the table.

Reading the room mid-shift

The manager glances at the floor plan from the bar at 8:15 PM. Sixteen tables, twelve red (occupied), three green (available), one yellow (just settled, dishwashing). The chip on table 5 reads “1:47 ago” — fresh sit, still on the antipasti. The chip on table 9 reads “1:12:00 ago” — a table that’s been there over an hour, probably finishing secondi. The manager can read the rhythm of the room without speaking to anyone.

Closing a table

The server takes the payment at table 14 on the terminal, taps Close Table. The floor plan’s table 14 tile flips yellow (or green, if the venue has skipped the dirty step). The bus station gets a glance at the yellow tile, walks over, clears the plates. Back at the floor plan, the manager long-presses the yellow tile, taps Mark clean. The tile flips green. The host can seat the next party.

Reservations

If the venue has bookings integrated, a future reservation paints the relevant table blue for the window of the booking. The host can long-press a blue tile to clear the reservation (the party didn’t show, or the booking was for a different table). Tapping a blue tile when the party arrives opens the order on it — the reservation becomes the seated order.

Marking a table out of service

A table that lost a leg, or a corner pulled out of the dining room for a special event — the manager switches to Edit layout, taps the table, flips the Out of service toggle in the side panel. The tile turns slate; it stays visible on the map but the host can’t open an order on it.

Designing the floor

The first time the system is set up, the manager spends ten minutes in design mode. Tap Edit layout — the editor opens full screen, giving you the whole display for the canvas. Tap Manage zones, add Main Room, Terrace, Bar. For each zone, tap Add table until every real table is on the canvas, then drag each one to where it sits in real life, type its label, set its seat count and shape. Tap Done (or press Esc) to leave full screen — the layout is already saved as you go. The host’s live view picks up the new layout on the next refresh; the cashier’s terminal shows the same map when the server taps the floor-plan pane.

When the room rearranges — a private event takes over the terrace, or the bar pulls in two extra seats — tap Edit layout again, drag, tap Done. Don’t do it mid-service.

What happens behind the scenes

Each table is a record in the system: which zone it belongs to, its position on the canvas (x, y), its size, its rotation, its shape (round, square, rectangle), its label, its seat count, and an active flag. That’s it. The colour is not stored on the table; it’s computed every time the page renders by asking a different question: “is there a non-closed order on this table right now?”

If yes, the tile is red. If no, the system checks the table’s status flag — reserved, dirty, out of service — and paints accordingly, defaulting to green when no flag is set. This is why closing an order on the terminal instantly turns the tile green on the floor plan; there’s no separate “set table back to available” step because the tile was never separately tracking that — it was reading the order all along.

The dirty step is optional. Venues that want to track which tables need clearing turn it on in venue settings; venues that don’t want the friction skip it, and tiles flip directly from red to green when the order closes. The reservation-blue path requires a booking integration; venues without bookings never see blue.

The floor plan in the terminal’s left pane is the same map, drawn from the same records — the cashier opening a dine-in ticket from inside the terminal sees the same colours the host sees on the maître-d’ tablet, and a long-press on the same tile does the same thing.

Worked example — Saturday seating at 7:30 PM

Saturday, 7:30 PM. The host is at the door with two parties waiting — a 4-top reservation under the name Bianchi, and a 2-top walk-in.

The floor plan, Main Room tab active: nine tables visible, six red (occupied — average dwell about 40 minutes per chip), one blue (table 14, the Bianchi booking starting in two minutes), one yellow (table 9 — the 2-top by the door just settled, plates still on it), one green (table 22, a 6-top in the corner). The bartender is clearing table 9 right now.

The host taps the blue tile for table 14. The Open Table dialog opens, pre-filled with 4 guests (the table’s seat count). The host confirms — “yes, four for Bianchi” — taps Open. The terminal opens on the new ticket A-118; the floor plan’s table 14 flips from blue to red with the chip “0:00 ago”. The host walks the Bianchi party to table 14, hands them the menu, signals the server.

Now the 2-top walk-in. The host glances at the floor plan again — table 9 is still yellow, table 22 is a 6-top that’s overkill for two. The bartender finishes wiping table 9 down, the host long-presses the yellow tile and taps Mark clean — the tile flips green. Tap the green tile, Open Table, guest count 2, Open. The terminal opens on ticket A-119, table 9 flips red. The host walks the 2-top over.

Meanwhile, table 6 — a couple finishing dessert — pays the bill on the server’s terminal. The server taps Close Table. Table 6’s tile on the floor plan flips from red to yellow a second later; the manager glances at it from the bar, walks over with the bus tub, clears the plates. The host long-presses, marks clean. Green again, ready for the next sitting.

The map updated itself at every step. No clipboard, no pencil, no two people checking with each other whether a table was free.

  • POS overview — the four surfaces and how they share one ticket; read first if you’re new to the system
  • POS terminal — what opens when a green tile is tapped; also embeds this same map in its left pane during dine-in service
  • Cashier dashboard — the till that frames the shift; every red tile here is also an open table in the dashboard’s open-tables strip
  • Kitchen display — the line cook’s screen; the table label on a kitchen card matches the tile label here
  • Where your information lives — the dining room is one of the five rooms of the system; the floor plan is its map