OmniPM

Availability

Whether a room can be booked is derived, never typed in.

A unit's availability is derived from the reservations against it. There is no "available" switch to flip. Change a move-out date and availability moves with it; cancel a booking and the room frees itself.

That is deliberate: a manually-set flag is a second source of truth, and the moment it disagrees with the bookings, one of them is lying and nobody can tell which.

The states

StateMeaning
Available nowBookable today.
Available from dateConfirmed free from a known date — a filed move-out.
ReservedSomeone has it, or has it from a date.
Possibly available from dateSoft, and the important one — see below.
OccupiedIn use, with no known end.

A confirmed date that has already passed reads as available now, not as a stale future date.

Confirmed versus possible

Confirmed means a move-out notice has been filed. It is a commitment: billing, settlement and the successor booking all key off it.

Possible means a resident has told someone they intend to leave, without filing. It is recorded as an expected departure, and it does exactly one thing — advertises the unit as possibly available from that date, for waitlist purposes.

An expected departure is never read by billing or occupancy. It cannot free a room, cannot end a tenancy, and cannot be relied on for a start date you promise a new resident. It is a lead, not a fact. It clears itself automatically once a real notice is filed.

External occupancy

Some units are blocked by things that are not reservations in this system — an imported rent roll, a channel calendar, an owner using their own unit. Those blocks are real, and the availability view shows them.

External blocks must never be fed to the double-booking detector. They are not reservations and they do not carry the same identity, so treating them as such produces phantom conflicts on rooms that are perfectly fine — and the noise trains people to ignore the detector, which is worse than not having one.

Owner residents

An owner living in their own unit occupies it, but is not a normal tenancy: no refundable deposit, no ordinary rent roll treatment. Availability views can be filtered to exclude them.

Two things about that filter behave in a way worth knowing:

  • Absent means excluded. With no filter specified, owner residents are left out. That is the default because it is the common case.
  • Explicitly clearing the filter is a distinct state from not setting it — it means "exclude nobody", and it is how you deliberately see everything.

Degrading safely

Availability labels render on every public property card. A single corrupt date — the kind an external rent-roll sync can introduce — falls back to the plain no-date label rather than breaking the page. If a unit shows "Occupied" with no date where you expected one, a bad source date is worth ruling out.

See also Contract dates, The tenancy lifecycle and the Rent Roll chapter for the availability grid itself.

On this page