What are housekeeping room status codes?
A room status code is a two-letter shorthand that tells everyone in the hotel what state a room is in right now: is it occupied, is it clean, can it be sold. The codes exist because two departments — front desk and housekeeping — need to agree on the same room without picking up a phone every time.
Most properties in Egypt and the wider region use a version of the same core set, inherited from older PMS platforms and still taught in hotel schools. The exact letters can vary by property, but the logic behind them does not: occupancy status (is a guest in the room) is tracked separately from housekeeping status (is the room clean), and the two combine into what front desk actually sees.
The core codes: VC, VD, OC, OD, VI
These five codes cover almost every room on a normal day. They are built from two independent signals — occupied vs. vacant, and clean vs. dirty — plus one extra state for a room that has been checked after cleaning.
| Code | Meaning | Can front desk sell it? |
|---|---|---|
| VC | Vacant Clean | Yes, ready for check-in |
| VD | Vacant Dirty | No, needs cleaning first |
| OC | Occupied Clean | No, guest is staying |
| OD | Occupied Dirty | No, guest is staying, room not yet serviced |
| VI | Vacant Inspected | Yes, cleaned and verified by a supervisor |
VI is the code most new front-office managers skip, and it is the one that saves the most complaints. A room that goes straight from VD to VC on a housekeeper's say-so has been cleaned but not checked. VI means a supervisor walked in, looked at the bathroom, the minibar and the amenities, and signed off. On a busy arrival day, only VI rooms should go to VIP guests, return guests or anyone flagged for a room-check requirement — the ten minutes a supervisor spends inspecting is cheaper than a relocation at 11pm.
Departure day multiplies this. A room checking out at 12:00 might need to be VC by 14:00 for the next arrival. That two-hour window is exactly what a housekeeping board or a live status screen exists to protect — every minute the room sits at VD past its target time is a minute front desk is one arrival away from an apology and a discount.
OOO vs OOS: the difference that protects your revenue
This is the pair that gets confused most often, and confusing them is what causes overselling.
- OOO (Out of Order) — the room is physically unsellable: broken AC, plumbing leak, safety issue, renovation. It is pulled from inventory and MUST be blocked from availability, or the property will oversell on a night it cannot actually deliver.
- OOS (Out of Service) — the room is sellable but held back for an operational reason: deep-cleaning schedule, pest control, a management decision to rest a room. It usually still counts toward maintenance planning but the block on availability is a choice, not a physical fact.
The operational discipline that matters here is date-scoping. An OOO room is not a flag on the room forever — it is a block for specific dates, often open-ended when there is no confirmed repair date and closed the moment the fix is verified. A property that marks a room OOO and forgets to set an end date quietly loses that room from inventory indefinitely, which shows up months later as unexplained lost revenue nobody can trace back to a single decision. In Mukeem, an OOO or OOS period is entered against specific dates and is enforced directly against availability, so the room cannot be booked or walked into for those nights by mistake — and it is visible as a block, not a note someone has to remember to check.
DND, sleep-out and skipper: the codes that protect the guest and the hotel
Beyond the clean/dirty and OOO/OOS pairs, three more codes handle situations where the room status itself is not in doubt but something about the stay needs tracking.
- DND (Do Not Disturb) — the guest has asked not to be serviced or entered. Housekeeping should skip the room and log the DND rather than knock repeatedly. Most properties set a policy for how many consecutive DND days trigger a courtesy call or a welfare check, since a DND that runs for several days can also be the first sign something is wrong.
- Sleep-out — the guest is registered and paying for the room but did not physically occupy it last night (bed not slept in, luggage still there). This matters for occupancy reporting and for housekeeping priority: a sleep-out room usually does not need a full service, just a light check.
- Skipper — the guest has left without checking out and, in the worst case, without settling the folio. This is a front-office and finance concern first: housekeeping flags the room as vacant with belongings gone, front desk closes the reservation and the outstanding balance moves to whatever collection or write-off process the property uses.
How front desk and housekeeping stay in sync
The codes only work if both departments are looking at the same status at the same time. The traditional way — a paper housekeeping board updated by radio call — breaks down exactly on the days it matters most: full-house departures, group check-ins, back-to-back turnovers. A status change made on a housekeeper's phone or tablet needs to reach the front desk screen in seconds, not at the next shift briefing.
The second half of staying in sync is assignment logic, not just visibility. Rooms should be assigned to housekeepers by section and by priority — arrivals before stayovers, VIP and early check-in requests first — and that assignment should update automatically as new checkouts land through the morning rather than being planned once at 8am and manually patched all day.
Discrepancy reports: catching the mismatches before a guest does
A discrepancy is any room where the front desk system and the physical room disagree — the system says occupied but housekeeping finds it empty, or the reverse. Discrepancies are not rare; they are the normal residue of early departures, late check-ins that never showed, and guests who moved rooms without anyone updating the record.
- Housekeeping runs a physical room check each shift (typically once in the morning, once in the evening) and records what they actually see: occupied, vacant, or "no luggage but marked occupied", "luggage but marked vacant", and similar.
- The system compares that physical check against the current reservation status for every room.
- Every mismatch is listed on a discrepancy report — not to blame housekeeping or front desk, but so someone with authority resolves each line before the next shift starts.
- Common resolutions: an early departure that was not checked out in the system, a walk-in that was roomed but not yet posted, or a guest who moved rooms informally.
Setting up room status codes for your property
None of this requires a large property to matter. A 20-room guesthouse and a 300-room resort run the exact same logic; the resort just needs more automation to keep the same accuracy at higher volume. A few practical starting points:
- Decide your VI policy explicitly — which room types or guest flags require supervisor inspection before VC, rather than leaving it to habit.
- Set a written rule for OOO vs OOS so any manager on duty applies the same test, not a personal judgment call each time.
- Put a DND consecutive-day threshold in writing, even a simple one, so it is a policy decision and not something noticed by accident.
- Run the discrepancy check at every shift handover, not once a day, on any property doing same-day turnovers.
