Floor plan
A drag-and-drop editor and the live operational view of your dining room.
/app/tables/sections/[id]. Tables are bundled into the Reservations module, no separate price.The floor plan editor lets you describe the physical layout of your restaurant so that Onboard can assign tables intelligently and so that hosts can see at a glance what is happening on the floor. The same canvas is used for editing and for live service — there are no separate "design" and "runtime" modes.
Sections
Tables are grouped into sections such as terrace, bar, main room, or private dining. Each section can have its own opening hours, capacity cap and minimum-spend rules. A common pattern: the terrace closes at 22:00 even though the main room serves until 23:30.
Tables
Each table has the following attributes:
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| Shape | 'round' | 'square' | 'rectangular' | Required | — | Visual shape on the canvas. |
| Min capacity | number | Required | — | Smallest party size that should be assigned to this table. |
| Max capacity | number | Required | — | Largest party size that should be assigned to this table. |
| Modifiers | string[] | — | — | Tags such as wheelchair-accessible, window seat, high-top, booth, outdoor. |
| Combinable with | tableId[] | — | — | Adjacent tables that can be merged for larger parties. Onboard will suggest combinations automatically. |
Status colors
During service, tables are color-coded:
- Green — free.
- Blue — reserved for an upcoming booking, no guests yet.
- Amber — fully reserved across the day, no walk-in capacity left.
- Red — currently occupied (guests seated).
- Amber + bussing badge — just vacated, needs clearing. The badge shows how many minutes ago the last party left.
- Neutral with lock icon — explicitly blocked by a manager (VIP prep, broken chair, deep clean). Shows the reason as a subtitle and auto-releases at the scheduled time if one was set.
- Gray — out of service (maintenance / inactive).
Turn-time tracking
Once a reservation completes, the assigned table is automatically flagged for bussing and stamped with the time it was vacated. The live view then visualises how long it has been waiting in 5/15/30-minute buckets so staff can see at a glance which tables need attention first. Once a busser marks the table as cleared, the flag drops and the table returns to the green pool.
Holding a table
Managers can hold any table with a free-text reason and an optional auto-release time. Use it for VIP prep, a broken chair, deep cleans, or a manager hold while an issue is being investigated. The smart-assignment engine refuses to seat anyone on a held table; once the auto-release time passes, the hold is cleared and the table returns to the pool without staff action.
Build your first plan
- 1
Create your sections
Open the floor plan editor and add a section for each distinct dining area. Give each section a clear name — guests will see these in the widget if you enable section selection. - 2
Drop tables onto the canvas
Drag tables from the toolbar. Snap-to-grid is on by default; holdShiftwhile dragging for free positioning. - 3
Set capacities
For each table, set min and max guests. A 2-top should be 1–2; a 4-top is usually 2–4. Tight bounds give the auto-assigner the best chance to make good decisions. - 4
Mark combinable pairs
Select two adjacent tables and clickMark combinable. The system will then suggest the combination for parties that exceed either table. - 5
Publish
HitPublish. Until you do, the live view continues to use the previously published version, so you can edit safely during service.