Create floor plan
Create a Harbor Soho floor plan from scratch by naming the layout, drawing a zone, adding a valid table, and saving the plan for the location.
In this article
Use this guide when a location manager or floor supervisor needs to create a blank floor plan for Harbor Soho. The workflow starts from the floor plans list and opens the editor in creation mode with an empty canvas.
Saving creates the layout together with its zones, tables, optional table types, optional combinations, and canvas metadata. This guide covers creation from scratch only, not copying an existing layout.
Before you start
- You are signed in to the internal Antylogic application.
- Harbor Demo Group and Harbor Soho are the active organisation and location context.
- You have location permission `layout:view` to open the floor plans screen.
- You have location permission `layout:manage` to see the create action and save the new floor plan.
Instructions
- 1.
Open floor plans
Open `/:orgId/:locationId/location/layouts`. The page lists the location floor plans. Without `layout:view` or `layout:manage`, the page shows a no-access state; without `layout:manage`, the create action is not available.
- 2.
Start a new plan
Select the create action, or open `/:orgId/:locationId/location/layouts?layout_id=new` directly. The editor opens with an empty name, `Default` off, a blank `1200 x 800` canvas, and no zones, tables, table types, or combinations loaded from another layout.
- 3.
Name the layout
Enter a unique floor plan name for the location, such as `Manual docs create`. Turn on `Default` only if this should become Harbor Soho's active default plan.
- 4.
Draw a zone
Create at least one dining-room zone and give it a clear unique name, such as `Main Dining`. A saved zone must contain at least one table, and zones drawn in the editor must be at least `160 x 110`.
- 5.
Add tables
Add at least one table inside the zone, give it a unique name such as `H1`, and set a valid capacity. Capacity must be `0/0` for an auxiliary table or a positive range where the minimum is not greater than the maximum.
- 6.
Add optional combinations
Create table combinations only when at least two tables exist in the same zone. Use them for real operational groupings, not single-table selections.
- 7.
Save the plan
Select `Save`. If validation passes, Antylogic sends `POST /api/app/{orgId}/{locationId}/layouts`, creates the full layout aggregate, closes the editor, and refreshes the floor plans list.
Validations and limits
- The layout name is required and must be unique within the location.
- At least one zone and at least one table are required.
- Zone names, table names, and table type names must be non-empty and unique without case sensitivity in the editor.
- Every table must belong to an existing zone, and every saved zone must contain at least one table.
- A table type assigned to a table must exist in the payload.
- Combinations must use at least two tables from the same zone and a valid positive capacity.
- Invalid editor data prevents the API call; API validation, conflict, permission, or persistence errors keep the editor open and show an error message.
Expected result
The new floor plan is saved for Harbor Soho, the list refreshes, and the layout can be found by name. The saved aggregate includes the layout, zones, tables, optional table types, optional combinations, and `metadata.native_editor` canvas details.