View proposed arrangements
Compare optimiser alternatives for a service occurrence and preload one table arrangement into the schedule as a temporary draft before saving.
In this article
Proposed arrangements help reservation and floor managers review the optimiser's table-allocation options for a specific service before changing the live table schedule.
In the GB demo, this guide uses Harbor Demo Group, Harbor Soho and the Soho lunch service. The action opens from the service detail, shows optimiser alternatives, then preloads one option into the table schedule for review.
Before you start
- You are signed in with Harbor Demo Group and Harbor Soho selected.
- The service occurrence is open from `LocationReservationOccurrenceDetail / reservations/:occurrenceId`.
- The occurrence is a `service` for the selected location and has a layout, tables, table combinations and an `optimization_config_id`.
- To open the detail screen, you need `reservation:view` or `reservation:manage`.
- To generate or view optimiser runs, the backend also requires optimiser or reservation permissions plus `reservation-automatic:use`.
- To save the preloaded draft, you need `reservation:manage`.
- If there is no fresh cached optimiser run, the external optimisation service must be available.
Instructions
- 1.
Open the service detail
Open the Harbor Soho service occurrence from the reservations calendar or with the `BOOKING_SOLUTIONS_OCCURRENCE_ID` deeplink. Wait for the occurrence, reservations, current assignments, layout and optimisation configuration to load.
- 2.
Open proposed arrangements
Open Configuration and choose Proposed arrangements. Antylogic checks whether it can reuse a fresh optimiser run or needs to calculate a new one.
- 3.
Wait for optimiser results
A new run is forced when the service is in manual mode, the optimisation cache is not fresh, or there is no `optimization_last_run_id`. Otherwise, the latest fresh run is reused.
- 4.
Compare alternatives
Review the modal options by label, score, objective value, split count and reservation-to-table assignments. The selected option starts from `selected_solution_index` when available; otherwise the first solution is selected.
- 5.
Preload into the schedule
Choose Preload into schedule for the arrangement you want to inspect. The modal closes and the Tables schedule opens with the optimiser assignment loaded as temporary table changes.
- 6.
Review before saving
Check the schedule banner and table assignments before committing. The board only loads assignments for reservations that still exist and tables that are present in the current layout.
- 7.
Save or revert
Save persists each modified reservation through the normal table-assignment path. Revert clears the temporary draft. Preloading itself does not save changes.
Validations and limits
- If `selectedOrgId`, `selectedLocationId` or `occurrenceId` is missing, the detail screen resolves to not found.
- If the user has neither `reservation:view` nor `reservation:manage`, the detail screen shows no access.
- If the service has no `optimization_config_id`, Antylogic shows an unavailable message and does not call the backend.
- If the optimiser returns no solutions, the modal does not open.
- Backend permissions can deny the optimiser request even when the reservation detail screen is visible.
- Unsaved table-assignment drafts trigger a guard before opening the modal.
- Preload into schedule is a draft action only; saving from the board stores manual table assignments and does not preserve optimiser `source_run_id`.
Expected result
The operator can inspect optimiser proposals, preload one into the table schedule, then either save the reviewed table changes or revert them before they affect the service.