Skip to content

Floor plan — write

Add tables to the restaurant’s floor plan — the fastest way to set up a dining room from chat. Use when an owner says ‘add 10 tables that seat 4’ or ‘we got 3 more two-tops’. Creates a ‘Main Floor’ plan automatically if none exists. Tables are numbered sequentially and laid out in a grid (you can rearrange them visually in the dashboard later). This is what makes table assignment + capacity work.

Required scope: floor-plan.write

Parameter Type Required Description
brand string no Brand slug. Optional in JWT mode.
count number yes How many tables to add.
seats number no Seats per table (max party). Default 4.
shape enum no Table shape for the visual plan. Default rectangle.
plan string no Floor-plan name to add to (defaults to the first plan, or creates “Main Floor”).
idempotencyKey string no

Add a dining area / section (e.g. ‘Patio’, ‘Bar’, ‘Main Room’) to a floor plan. Use when an owner wants to group tables into areas guests can be seated in or request. Add tables first with add_tables, then move them into areas in the dashboard.

Required scope: floor-plan.write

Parameter Type Required Description
brand string no Brand slug. Optional in JWT mode.
name string yes Area name, e.g. “Patio”.
tag string no Optional short tag/label.
description string no
plan string no Floor-plan name (defaults to the first plan / “Main Floor”).
idempotencyKey string no

Remove a table from the floor plan by its name (e.g. ‘12’) or id. Use when a table is retired. If the table is in a table-combination or has upcoming reservations, the save is blocked with an explanation (nothing is silently unassigned).

Required scope: floor-plan.write

Parameter Type Required Description
brand string no Brand slug. Optional in JWT mode.
table string yes Table name (e.g. “12”) or id.
idempotencyKey string no

Change properties of EXISTING table(s) — minimum/maximum party size, name, shape, or which dining area they’re in. Use when an owner says ‘make tables 1–4 seat a minimum of 2’, ‘table 12 now seats up to 8’, ‘rename table 5 to Bar 1’, or ‘move these tables into the Patio’. Pass the table name(s) or id(s) and only the fields to change. (To ADD new tables use add_tables; this edits ones that already exist.)

Required scope: floor-plan.write

Parameter Type Required Description
brand string no Brand slug. Optional in JWT mode.
tables array yes Existing table name(s) or id(s) to edit, e.g. [“1”,“2”,“3”,“4”].
minParty number no New minimum party size.
maxParty number no New maximum party size (seats).
rename string no New name — only valid when editing a SINGLE table.
shape enum no New shape.
area string no Move the table(s) into this dining area, by name (must already exist — see add_dining_area).
idempotencyKey string no