Glossary
Hotel room status codes and KPIs
Room status codes are the short labels hotels use to say whether a room is occupied or vacant, clean or dirty, and whether it can be sold, such as VD for vacant dirty. This glossary explains them, and the operations KPIs hotels use most, with the German and Italian terms for each.
Codes differ between hotels and between PMS: Apaleo and Mews each have their own set of room states. What matters is that everyone in your hotel uses the same list.
Written by the founder of Vedom, who is building it with ten founding hotels. Last updated:
What do hotel room status codes mean?
The codes housekeeping and front office use to agree on the state of each room.
- VCVacant clean#
Nobody is staying in the room and it has been cleaned. Many hotels still inspect it before it counts as ready.
In other languages: German “Frei, sauber” · Italian “Libera pulita”
- VDVacant dirty#
The guest has left and the room has not been cleaned yet. On a busy morning this is the list housekeeping works through first.
In other languages: German “Frei, schmutzig” · Italian “Libera sporca”
- VI / VRVacant inspected (vacant ready)#
Cleaned and checked by a supervisor: ready for the next arrival. The front desk should only assign arrivals to rooms in this state.
In other languages: German “Frei, kontrolliert” · Italian “Libera controllata”
- OCOccupied clean#
A guest is staying and today’s service has been done.
In other languages: German “Belegt, sauber” · Italian “Occupata pulita”
- ODOccupied dirty#
A guest is staying and the room still needs today’s service.
In other languages: German “Belegt, schmutzig” · Italian “Occupata sporca”
- OOOOut of order#
The room can’t be sold because of a bigger problem, such as a leak or a renovation. It is usually taken out of the available rooms in the PMS, which changes occupancy.
In other languages: German “Außer Betrieb (gesperrt)” · Italian “Fuori servizio”
- OOSOut of service#
The room is held back for a short, small job, such as a broken lamp, and stays in inventory. Check how your PMS treats it: the line between out of order and out of service differs between systems.
In other languages: German “Vorübergehend nicht vermietbar” · Italian “Temporaneamente non disponibile”
- DNDDo not disturb#
The guest has asked not to be disturbed. Housekeeping skips the room and follows the hotel’s rule for when to check on it.
In other languages: German “Bitte nicht stören” · Italian “Non disturbare”
- DO / EDDue out (expected departure)#
The guest is due to check out today. Housekeeping plans the departure cleans from this list.
In other languages: German “Abreise heute” · Italian “Partenza prevista”
- COChecked out#
The guest has checked out. The room turns vacant dirty until it is cleaned.
In other languages: German “Abgereist” · Italian “Partito”
- SOStayover#
The guest is staying another night. The room gets stayover service, not a departure clean.
In other languages: German “Bleibe (Bleibezimmer)” · Italian “Fermata”
- SLOSleep out#
The room is registered as occupied but the bed wasn’t used. Worth telling the front desk: it can be a sign of an unregistered departure.
In other languages: German “Nicht übernachtet” · Italian “Non pernottato”
- SKIPSkipper#
The guest has left without checking out or settling the bill. Housekeeping usually spots it first: an empty room that shows as occupied.
In other languages: German “Ohne Abmeldung abgereist” · Italian “Partito senza saldare”
- LCOLate check-out#
The guest may stay past the normal check-out time. Housekeeping moves the room to the end of the list.
In other languages: German “Späte Abreise” · Italian “Late check-out”
- ECIEarly check-in#
A guest arrives before the normal check-in time. The room moves to the top of the list.
In other languages: German “Früher Check-in” · Italian “Early check-in”
- NSNo-show#
A guest with a reservation didn’t arrive and didn’t cancel. Usually recorded at the night audit.
In other languages: German “No-Show (nicht angereist)” · Italian “No-show (mancato arrivo)”
- HUHouse use#
A room used by the hotel itself, for a manager on duty or as storage. Usually not counted as sold.
In other languages: German “Eigennutzung” · Italian “Uso interno”
- COMPComplimentary#
A room given free of charge. It needs the same cleaning, so decide once whether it counts as occupied in your KPIs.
In other languages: German “Freizimmer (kostenlos)” · Italian “Gratuita”
- MURMake up room#
The guest has asked for the room to be serviced, often with a sign or a button at the door.
In other languages: German “Bitte reinigen” · Italian “Rifare la camera”
Which KPIs do hotel operations use?
The common definitions. The Uniform System of Accounts for the Lodging Industry (USALI) is the usual reference for how hotels report them.
- Occupancy#
The share of available rooms that were occupied. Check whether your PMS removes out-of-order rooms from “available”: it changes the result.
Formula: occupied room nights ÷ available room nights × 100
In other languages: German “Belegung (Zimmerauslastung)” · Italian “Tasso di occupazione”
- ADRAverage daily rate#
The average price paid per occupied room night, from rooms revenue only.
Formula: rooms revenue ÷ rooms sold
In other languages: German “Durchschnittlicher Zimmerpreis” · Italian “Prezzo medio camera”
- RevPARRevenue per available room#
Rooms revenue spread over every room you could have sold. It combines price and occupancy in one figure.
Formula: rooms revenue ÷ available room nights = ADR × occupancy
In other languages: German “Logisumsatz pro verfügbarem Zimmer” · Italian “Ricavo per camera disponibile”
- TRevPARTotal revenue per available room#
Like RevPAR, but with all revenue: rooms, food and beverage, spa, parking and the rest.
Formula: total revenue ÷ available room nights
In other languages: German “Gesamtumsatz pro verfügbarem Zimmer” · Italian “Ricavo totale per camera disponibile”
- GOPPARGross operating profit per available room#
Gross operating profit spread over every available room. It shows what is left after operating costs, not just what came in.
Formula: gross operating profit ÷ available room nights
In other languages: German “Bruttobetriebsergebnis pro verfügbarem Zimmer” · Italian “GOP per camera disponibile”
- LCPORLabour cost per occupied room#
What each occupied room night cost in pay, employer on-costs and agency labour. Read it next to occupancy, and compare it with your own months.
Formula: (gross pay + employer on-costs + agency labour) ÷ occupied room nights
In other languages: German “Personalkosten pro belegtem Zimmer” · Italian “Costo del lavoro per camera occupata”
- LCPARLabour cost per available room#
Labour cost spread over every available room night. It doesn’t move with occupancy, so it shows the size of your fixed team.
Formula: labour cost ÷ available room nights
In other languages: German “Personalkosten pro verfügbarem Zimmer” · Italian “Costo del lavoro per camera disponibile”
- CPORCost per occupied room#
All rooms-department costs per occupied room night: labour plus linen, laundry, amenities, cleaning supplies and similar.
Formula: rooms-department costs ÷ occupied room nights
In other languages: German “Kosten pro belegtem Zimmer” · Italian “Costo per camera occupata”
- Labour cost percentage#
The share of revenue spent on labour. Use rooms revenue for the rooms division, total revenue for the whole hotel.
Formula: labour cost ÷ revenue × 100
In other languages: German “Personalkostenquote” · Italian “Incidenza del costo del lavoro”
- ORNOccupied room night#
One room occupied for one night. The unit most room KPIs divide by.
In other languages: German “Belegte Zimmernacht” · Italian “Notte camera occupata”
- Rooms per attendant shift#
How many rooms one room attendant cleans in a shift. Count departures and stayovers separately, or weight stayovers, because they take different time.
Formula: rooms cleaned ÷ attendant shifts
In other languages: German “Zimmer pro Schicht (Reinigungsleistung)” · Italian “Camere per turno”
- Labour hours per occupied room#
Hours worked per occupied room night. Unlike cost, it doesn’t change when pay rates change, so it shows productivity on its own.
Formula: labour hours ÷ occupied room nights
In other languages: German “Arbeitsstunden pro belegtem Zimmer” · Italian “Ore di lavoro per camera occupata”
Which other operations terms come up?
Words you hear at every shift changeover.
- Shift handover#
The written record one shift leaves for the next: what happened, what is open, who owns each open item and by when.
In other languages: German “Schichtübergabe” · Italian “Passaggio di consegne”
- Night audit#
The overnight close of the hotel day in the PMS: charges posted, no-shows recorded, reports run, and the date rolled over.
In other languages: German “Tagesabschluss (Night Audit)” · Italian “Chiusura notturna (night audit)”
- Par level#
The fixed quantity of an item that should be in a room, on a trolley or in a store, such as two bath towels per guest. Restocking brings things back to par.
In other languages: German “Sollbestand” · Italian “Dotazione standard (par)”
- PMSProperty management system#
The hotel’s core system for reservations, rooms, guests and billing. Apaleo and Mews are two examples.
In other languages: German “Hotelsoftware (PMS)” · Italian “Gestionale alberghiero (PMS)”
Vedom is in build
Where to next?
This is the paper version. Vedom is being built to keep room status in step between the floor and your PMS, so the front desk sees a room as ready the moment it has been checked.
I run a hotel
Put your hotel forward for one of ten founding places. Shape how it’s built, and go live first. Founding pilots are targeting early 2027.
I work on the floor
See the phone app as it is designed, with example data. Nothing to sign up for. If you like it, tell your manager.
I build hotel software
See the API before it opens. It’s included in every plan.
Just want the monthly update? Shift handover: one email a month, three parts: done, open, watch out. Get the monthly update