How to preload an optimiser solution
Load a selected optimiser proposal into the occurrence table board as a local draft. Operators can review, revert, or save it separately; preloading itself does not persist the solution.
In this article
Use this flow when a reservation manager wants to inspect an optimiser proposal on the table board before committing anything. The action turns the selected proposal into temporary board changes for the occurrence.
In the GB demo, reproduce it in Harbor Demo Group, Harbor Soho, on the occurrence referenced by `BOOKING_SOLUTIONS_OCCURRENCE_ID`. The important distinction is that `Preload into schedule` prepares a draft; it is not the backend apply action.
Before you start
- You are signed in with an organisation and location selected; for demo captures, use Harbor Demo Group and Harbor Soho.
- Open `/:orgId/:locationId/reservations/:occurrenceId`; in the GB runtime, use `BOOKING_SOLUTIONS_OCCURRENCE_ID`.
- The occurrence has an optimisation configuration and a table layout with tables loaded.
- An optimisation run exists or can be generated with at least one solution and assignment rows.
- Your user can manage reservations and has the required optimisation or reservation access plus `reservation-automatic:use`.
Instructions
- 1.
Open the occurrence
Open the Harbor Soho service occurrence and wait for the occurrence, reservations, current table assignments, and layout to load before opening optimisation actions.
- 2.
Open proposed arrangements
Open the settings menu and choose Proposed arrangements. Antylogic requests or reuses an optimisation run for the occurrence depending on the occurrence cache state.
- 3.
Compare the available solutions
Review the proposals in the modal. Each option can show score, objective value, split usage, and assignment rows that connect reservations with proposed tables.
- 4.
Preload the preferred proposal
Select the option you want to inspect and choose Preload into schedule. The modal closes, the occurrence switches to the table board, and the proposed assignments are loaded as draft changes only.
- 5.
Review the draft before saving
Check the temporary table changes on the board. Use Revert changes if the proposal is not suitable, or Save only when the operator is ready to persist the manual table assignment updates.
Validations and limits
- The occurrence view only loads when `selectedOrgId`, `selectedLocationId`, `occurrenceId`, and view permission are available.
- The settings menu is disabled without `reservation:manage`; the optimisation run also requires optimisation or reservation access plus `reservation-automatic:use`.
- If the occurrence has no optimisation configuration, or the run returns no solutions, nothing is preloaded.
- When the occurrence is in manual mode, the cache is not fresh, or `optimization_last_run_id` is missing, the app requests a forced run; otherwise it can reuse cache.
- The board accepts only reservations already loaded on the occurrence and tables that exist in the current layout.
- Assignments equivalent to the persisted table set are ignored because they do not create a draft change.
- Existing temporary table-board changes must be saved or discarded before another optimiser proposal can be preloaded.
- Changing the occurrence, reservations, or assignments invalidates the preview reference.
- Preloading does not call `/optimization/runs/{runId}/apply`; saving later uses `PUT /api/app/{orgId}/{locationId}/reservations/{reservationId}/tables`.
Expected result
The selected optimiser proposal is visible as reviewable draft table-board changes. The team can revert or save those changes, but persistent `reservation_table_assignments` remain unchanged until Save is used.