↩ Blog
9 MIN READ
OPERATIONS

Hotel room status codes: what VC, VD, OC and OOO mean, and the few your team needs

Hotel room status codes for small teams: what each code means, who sets it, whether the room can be sold, how a room moves through the day, and how to handle skippers and sleep-outs.

Add Kiyo to your preferred sources on Google

Hotel room status codes are short labels, such as VC, VD, OC, OD, OOO and OOS, that tell the front desk and housekeeping whether each room is occupied or empty, clean or dirty, and sellable or not. A small hotel or villa needs only a handful of them, as long as everyone updates the same list at the same moments.

Big hotels can use dozens of codes. A 10-room guesthouse does not need that. It needs a short list that everyone understands, one place where the status lives, and a clear rule for who changes it. This guide gives you all three.

It is 14:00 at a small hotel. The desk sees room 5 as vacant and gives it to an early guest. Housekeeping still has it as dirty, because the attendant forgot to update the board. The guest walks into an unmade room. The cleaning was not the problem. The status was.

Try the Kiyo demo

What are hotel room status codes?

A room status code is a short way to say two things at once: is someone staying in the room, and is it ready? Most codes start with V for vacant (empty) or O for occupied (a guest is staying). The second letter says clean or dirty.

Room status is basic knowledge for housekeeping work. Indonesia's national competency standard for hotel staff lists room status as core knowledge for preparing guest rooms. See the national competency standard (SKKNI) decree. The Ministry of Manpower's housekeeping attendant training programme also teaches room status as the way to find which rooms need service.

The codes matter because the desk sells rooms based on them. If a code is wrong, the desk sells a room that is not ready, or keeps a ready room off sale.

The room status code table: who sets it and can it be sold?

This is the one table to print. The "Can it be sold tonight?" column is the question the desk asks most.

CodeMeansWho sets itCan it be sold tonight?Next step
VDVacant dirty: guest has left, room not cleanedFront desk at check-outNot until cleanedHousekeeping cleans it
VCVacant clean: empty and cleanedHousekeepingYes, once checked if you inspect roomsGive it to the next arrival
VR or INSVacant ready or inspected: passed the final checkSupervisor or ownerYesGive it to the next arrival
OCOccupied clean: guest staying, room servicedHousekeepingAlready soldNothing until the next service
ODOccupied dirty: guest staying, room needs serviceHousekeepingAlready soldService when the guest agrees
OOOOut of order: broken, needs repairOwner or managerNo, block itRepair, then set it to VD
OOSOut of service: a short or minor issueManagerYour rule (decide it once)Fix, then check and set to VC
DNDDo not disturb: guest asked for privacyGuest (sign or request)Already soldNote it, try later, follow your policy
SKSkipper: guest left without checking out or payingFront desk with housekeepingCheck firstInvestigate before you sell it
SOSleep-out: guest registered but did not sleep in the roomHousekeeping reports, desk recordsAlready soldNote it, check with the guest if needed

Other codes you may see: DND, DL (double lock), SO (sleep out), SK (skipper), EA/ED (expected arrival/departure), HU (house use), LCO (late check-out). These are general industry codes, not Kiyo statuses. Log them as notes, not daily codes. In Kiyo, rooms are available, occupied, maintenance or blocked, with cleanliness tracked separately.

OOS is the code that varies most from one property to another. Some owners still sell an OOS room with a warning. Others block it. Decide your rule once, write it down and tell the team.

The 6 codes a small property actually needs

Most small hotels, guesthouses and villas can run on six codes:

  1. VD (vacant dirty)
  2. VC (vacant clean)
  3. OC (occupied clean)
  4. OD (occupied dirty)
  5. OOO (out of order)
  6. DND (do not disturb)

Add VR / inspected only if someone checks rooms after cleaning. Add OOS only if you need a short-term block that is different from a repair. Keep skipper and sleep-out as notes, not daily codes. Fewer codes mean fewer mistakes.

If your team speaks the local language better than English, keep the codes but write the meaning next to each one on the board. The code is short; the meaning must be clear.

How does a room move through statuses in one day?

A room changes status several times a day. Here is the normal flow for a room with a check-out and a new arrival.

  1. Morning: OC or OD. The guest is still staying. The room shows as occupied.
  2. Check-out: VD. The desk checks the guest out and sets the room to vacant dirty straight away.
  3. Cleaning starts. Housekeeping cleans the room. Some teams mark "cleaning in progress" so nobody walks in.
  4. Cleaning done: VC. The attendant sets vacant clean only when the room is finished.
  5. Check (if you inspect): VR. A supervisor or the owner checks the room and marks it ready.
  6. Arrival: OC. The desk checks in the new guest and the room becomes occupied.

The two moments that go wrong most often are step 2 and step 4. If the desk forgets to set VD, housekeeping does not know the room is free. If housekeeping sets VC too early, the desk sells a room that is not ready.

For the full turnover clean, the morning cleaning order and the handover to the desk, see our guide to hotel operations. For checking the day's bookings before guests arrive, see how to check hotel bookings before arrival.

See rooms and dates in the demo calendar

OOO vs OOS: how should you block a room?

OOO (out of order) means the room cannot be used until something is repaired, such as a leak, a broken air conditioner or work on the bathroom. OOS (out of service) usually means a shorter or smaller issue, such as a deep clean, a missing item or a room kept for staff.

Rules that keep blocked rooms under control:

  • Only the owner or manager sets OOO. A blocked room is a room you cannot sell, so the decision belongs to someone who sees the bookings.
  • Block the room in your booking system, not just on the board. If the room is still open on your channels, it can still be booked online.
  • Check who is already booked. If a guest holds that room, move them before they arrive.
  • Set an expected return date. Then review it every day.
  • Reopen with a check. After the repair, set the room to VD, clean it and check it before you sell it again.

Our guide to controlling an out-of-service room covers blocking, moving guests and reopening step by step.

Discrepancies: skippers, sleep-outs and what to do

A room discrepancy is when the desk and housekeeping disagree about a room. For example, the desk shows a guest in room 7, but housekeeping finds it empty with no luggage.

Run a quick check twice a day, for example late morning and early evening:

  1. Housekeeping writes down the real status of every room on its round.
  2. The desk compares that list with its own and marks every difference.
  3. Each difference gets checked the same day. Call the guest, check the booking or look at the room again.
  4. Record what you found and fix the status in your system.

Common cases:

  • Skipper. The room is empty, the luggage is gone and the guest has not checked out. Check the booking and payment, try to contact the guest, and follow your policy. Do not sell the room until the case is clear.
  • Sleep-out. The guest is registered and their things are in the room, but the bed was not used. Usually nothing is wrong. Note it, in case it matters later.
  • Occupied but shown vacant. The most dangerous case, because the desk could sell the room again. Fix it at once.

If shifts change during the day, write open discrepancies into the handover. Our front desk handover checklist has a format.

How do you share room status between the desk and housekeeping?

Pick one channel and stick to it. Three common options:

  • A printed board. A list of rooms with the code next to each. Cheap and clear, but it only works if everyone updates it at once.
  • One group chat. Short messages such as "5 VC" or "7 OOO leak". Fast, but old messages get lost.
  • Your booking system. The status lives next to the booking, so the desk sees it when it sells the room.

Whatever you choose, use only one. A board, a chat and a system that all disagree are worse than any one of them alone. Also make sure the people who need the status can see it: the desk, housekeeping and the owner.

How does Kiyo help with room status?

On every plan, Kiyo's mobile day view and Bookings 'Today' list show today's arrivals and departures by name, and the desktop dashboard shows the counts, so the desk and housekeeping plan from the same bookings. Every plan has unlimited team seats, so each attendant and receptionist can have their own login.

  • Room status and out-of-order rooms. Kiyo marks each room available, occupied, maintenance or blocked, with a separate cleanliness status. Where Housekeeping is switched on for your property, you can set one room out of order or out of service for set dates. Connected channels update automatically, and that room type's availability drops by 1.
  • Instant lock on bookings. When a guest books, the room locks on all connected channels within milliseconds. Guest details arrive when payment is confirmed, and the room is held in the meantime.
  • Housekeeping module on the Business plan. It keeps housekeeping work next to the stay record, so the desk and the cleaning team look at the same rooms.
  • 75+ booking channels on every plan.

Bookings taken by WhatsApp, phone or walk-in must be entered right away. Otherwise the room can still be sold online while a guest is on the way.

Kiyo is live and open to all properties. We set it up with you over WhatsApp or a demo call. Plans start from Rp40k per room per month; the pricing page slider shows your exact price.

Open the housekeeping demo

Frequently asked questions

Add Kiyo to your preferred sources on Google