How does occupancy status work and when does it change automatically?
Every tenant-to-local assignment has an occupancy_status that tracks whether the tenant is currently in the unit. The system manages this automatically — you just set the dates.
The three statuses
-
Scheduled: The tenant has a future move_in_date. They are assigned to the unit but haven't moved in yet. They are excluded from cost allocation and billing.
-
Active: The tenant currently occupies the unit. move_in_date is today or in the past, and either move_out_date is not set or is in the future. The tenant is included in cost allocation and billing.
-
Moved Out: The tenant has left the unit. move_out_date is today or in the past. The tenant is excluded from future billing calculations.
Automatic transitions
The platform runs an Occupancy Worker every hour that checks all tenant-local assignments:
- If move_in_date ≤ today AND status is "scheduled" → changes to "active"
- If move_out_date ≤ today AND status is "active" → changes to "moved_out"
What triggers when status changes
- The worker collects all building IDs affected by the change
- For buildings with auto_distribute_common_area enabled, cost allocation factors are automatically recalculated
- The new allocation reflects the updated tenant composition
A tenant can have different statuses per unit. If Company A occupies Office 301 (active) and has Storage B2 scheduled for next month (scheduled), each assignment is tracked independently with its own dates and status.
You cannot manually change occupancy_status — it is derived from the move_in_date and move_out_date fields. To change it, update the dates instead.
Where to check: Tenant Hub → select tenant → their local assignments show the current occupancy status with a colored badge (green = active, yellow = scheduled, grey = moved out).