Dates, price, and unit type never change. Only the physical unit assignment changes, within the same unit type. You can lock units to be excluded from the calendar optimizer
What you need to know
The calendar optimizer runs automatically, nightly at 04:40 UTC across enabled workspaces, optimizing the next 3 months after the day's calendar changes.
The calendar optimizer can be run on-demand:
Open the required workspace
Go to Inventory then Unit types
Select the required unit type
Go to Calendar
Select a date range (minimum 7 days, default 3 months)
Select Optimize
How it works
Snapshot: the PMS gathers every booking and maintenance block for a unit type and marks what can move
Solve: a dedicated optimization engine finds the arrangement that frees the most whole units with the fewest moves. Every result is re-checked by independent safety validations
Move: approved moves are applied through the standard booking-move flow, fully attributed and auditable, tagged "Optimization"
When would you use it
You can use the calendar optimizer to:
Reduce scattered short gaps between bookings
Create longer, more sellable availability windows
Improve occupancy without manually moving bookings
Re-plan unit assignments after calendar changes
Optimise availability within a specific unit type
Things to note
Booking dates never change. Moves happen in space, never in time
Bookings are never split across units
In-stay guests are never moved. The arrival freeze holds until check-out
Imminent arrivals are frozen. The arrival freeze engages 3 days before check-in
Maintenance blocks stay put
No double-booking, ever. This is enforced by the model and independently re-verified
A locked booking is excluded from the optimizer's relocation logic entirely
Because the optimizer works within a single unit type, guests are only ever reassigned between equivalent units: same product, same rate, same experience.

