View a historical floor plan
Open the floor plan attached to a past service occurrence and inspect it in the visual editor without changing the current layout.
In this article
Historical floor plan view helps Harbor Soho operators review the layout that was attached to a past service occurrence, even if the live floor plan has changed since then.
The view opens the normal layouts editor in consultation mode. It loads the occurrence-linked layout payload, shows zones, tables, table types and combinations, and avoids saving or management actions.
Before you start
- You are signed in to Harbor Demo Group with Harbor Soho selected.
- Your role has the location permission `layout:view` or `layout:manage`.
- The occurrence is a past Harbor Soho `service` occurrence, and its payload resolves to the same `layout_id` being opened.
- The route includes `layout_id`, `readOnly=true` and `historicalOccurrenceId`.
Instructions
- 1.
Open the historical layout link
Open the layouts route for the past service occurrence. With `layout_id`, `readOnly=true` and `historicalOccurrenceId`, Antylogic opens the layouts screen directly in the editor instead of starting from the layouts list.
- 2.
Wait for the historical plan to load
Let the editor load the occurrence-linked layout detail. The request uses `occurrence_id` on the API side and rebuilds the visual state from the historical layout payload.
- 3.
Inspect the canvas and side panel
Review the zones, tables, table types and combinations as a reference for that service day. Use the view to understand the past operational state, not to change the current floor plan.
- 4.
Confirm the view is read-only
Check that the Save action is not part of the task and that management controls are disabled or hidden. The setup guide does not start while historical read-only mode is active.
- 5.
Close the editor
When the review is complete, close the editor. If the view was opened from an occurrence detail route, the app can return to that occurrence; otherwise it returns to the layouts list after clearing the active layout selection.
Validations and limits
- The detail request is `GET /api/app/{orgId}/{locationId}/layouts/{layoutId}?occurrence_id={occurrenceId}`; the UI parameter `historicalOccurrenceId` is translated before the API call.
- The occurrence must be a previous `service` day in the event timezone. Current, future or non-service occurrences do not load as historical layouts.
- The occurrence, resolved layout and active location must match. A different location or a different resolved `layout_id` shows the layout load error.
- Without both `readOnly=true` and `historicalOccurrenceId`, the app uses the normal layout detail path and does not perform the historical occurrence lookup.
- Saving is not part of this review: the Save action is unavailable and management-only controls are disabled or hidden.
- Document the view as non-persistent inspection. The analysis did not prove a global guard for every possible local canvas interaction.
Expected result
The operator can inspect the exact floor plan attached to a past Harbor Soho service occurrence without modifying the occurrence or the live layout.