Skip to main content
DoneThat

AI Adoption GuideHospitalityPrepare

Guest preference-based room setup

Guest profile data, such as pillow, minibar, and temperature preferences, is retrieved and turned into a setup checklist sent automatically to housekeeping.

Hospitality processBookConfirmPrepareArriveStayDepartReviewReturn

By Don, DoneThat’s AI coach · updated

What the checklist is allowed to contain

A preference-based room setup is a housekeeping work order. Each setup line names one action, one item, and the confirmed guest-profile field it came from. If the profile is silent on pillows, minibar stock, or temperature, that line stays empty. Housekeeping still enters the room and sets what the list actually contains. The list never marks the room ready.

That last rule is the quality bar. Generation proves you had profile data. It does not prove pillows were placed, cola was pulled, or the thermostat was touched. Treating the checklist as cleaned is a failure mode: the property management system can show Inspected while the attendant has not been in the room. Keep room status on the same path you already use for ordinary cleans.

The preference fields usually live in the same stay systems you already run: Oracle Hospitality, Mews, Cloudbeds, or Agilysys, plus any loyalty or notes layer those records already trust. The products differ in screens and field names. They do not change the rule. Confirmed preference in, cited line out. Silence stays blank. Do not paste guest-facing copy onto this list. Welcome wording belongs with the personalized welcome message generator. This page is for the attendant who has to place a pillow or leave extra stock alone.

Load confirmed preferences before anyone enters the room

Start from the current guest profile and stay record, not from memory or last week's occupancy. Pull only fields the property has already confirmed: pillow type, extra pillows, minibar likes and dislikes, a stated temperature or range, extra towels, and layout notes that change how the room is set.

Treat booking comments as a separate stream. Free-text notes are useful, but they are not confirmed until someone has extracted and verified them. Run that work through preference extraction from booking notes before a comment becomes a checklist line. Loyalty history can supply a recurring request stored on the membership record. Load that through loyalty context retrieval and still require a cite to the loyalty field, not to "a returning guest."

Confirm stay dates and room assignment before you generate. Preferences written for a suite with a sofa bed do not automatically apply to a king. If the profile assumes a room type you are not assigning, flag the mismatch on the checklist header. Do not silently map "extra sofa pillows" onto a room that has no sofa.

One pass through a real assignment looks like this. A returning guest is due tomorrow in 412. The profile, last confirmed at check-out on a prior stay, lists hypoallergenic pillows and a minibar without cola. The thermostat field is empty. The booking note says "quiet room" and nothing about pillows. Load the two confirmed items. Leave temperature blank. Do not promote "quiet room" into a setup line unless that note has already been extracted and confirmed as a setup instruction. Do not copy extra water from a partner's stay last year. Occupants change. If the current profile does not carry an item, it does not belong on this list.

Loading last stay's setup as if it were this stay's profile is the same class of error as inventing a pillow. The source of truth is the confirmed record for this arrival, not the last time someone liked the room.

Write each setup line with a source cite

Every line the attendant will act on needs three parts: the action, the item, and the cite. A usable shape is: "Place hypoallergenic pillows (guest profile, pillow type, confirmed 12 Mar 2026)." The date and source type matter more than polish. Attendants need to know why they are moving stock. Supervisors need to audit why a line appeared.

Name the record, not a person and not the generator. "Profile field: pillow type" or "Loyalty preference: hypoallergenic" is enough. If you cannot name the field or the verified note ID, you do not have a confirmed preference. A setup line with no preference cite is not a setup line. Drop it or send it back. "Standard pillows" with no cite is house default, not a guest request. House defaults belong on the room-type SOP, not here.

Group lines the way the room is actually set: bedding, minibar, climate, extras. Keep the group even when it has no action lines. An empty Temperature group is information. Deleting the group because it has no lines hides the silence and invites someone to fill it from habit.

Do not invent a pillow. If the profile lists firm and the linen closet only has medium, the line still says firm, with the cite, plus a stock flag for the supervisor. Substituting medium without a cite turns a preference setup into a guess. The attendant can record the substitution after they set the room. The generated list cannot pre-write that substitution.

Minibar lines follow the same rule. "Do not stock cola (guest profile, minibar, confirmed 12 Mar 2026)" is a valid line. "Stock sparkling water and dark chocolate" is not, unless those items are on the profile. Inventing minibar items is a common failure: the generator completes a typical fridge, the attendant stocks it, and the guest who asked for an empty fridge finds product they did not want. Likes and dislikes are not a license to fill remaining shelves with a standard assortment.

Leave the line blank when the profile is silent

Silence is not a default. If temperature is empty, do not write 21°C, "comfortable," or last occupancy's setting. Leave the temperature line blank. The attendant follows the room-type SOP for climate, which is a different document.

The same applies to pillows and minibar. No pillow field means no pillow line. No minibar likes or dislikes means no minibar preference lines. Standard restock against the room-type par is still housekeeping work. It is not preference work. Mixing the two makes it look as if the guest requested the par list.

When a field is present but old, treat it as a supervisor decision, not an auto-fill. A pillow preference confirmed years ago with no later stay may still be valid, or it may not. Keep the cite and add a "confirm with desk" flag. Do not delete the cite, and do not silently drop the line.

If two sources conflict, such as a profile that says extra pillows and a verified note that says no extra pillows, do not pick a winner on the checklist. Show both cites and stop. Front desk or the guest resolves it. Generating a single line would hide the conflict.

Blank lines should survive export. Some task formats strip empty fields. If export would drop Temperature entirely, add an explicit "Temperature: no preference on file" row so the silence remains visible. That row is not a setup instruction. It is a guard against filling the gap from habit.

Housekeeping sets the room; status does not move on generate

The checklist is input to the attendant, not proof that the room is done. Sequence: generate the cited list, attach it to the room's next clean, the attendant sets what is listed and follows the SOP for everything else, then the attendant or inspector marks the room ready.

Do not auto-mark ready when the list is generated, when it is sent, or when every line has a cite. Those events only prove the profile was read. They do not prove the room was set.

Treating the checklist as cleaned is the failure that reaches the guest. A vacant room can show Inspected while the preference sheet is still in a locker. Keep Ready, Dirty, and Inspected on the path you already use. If you already inspect loyalty or VIP rooms, keep that inspect. This list does not replace it.

Timing still belongs to the schedule. Pair the task with the housekeeping schedule optimizer so the room sits with other departs and stays, but do not let schedule pressure skip the cite rule. A rushed "set it like last time" is the same as inventing a pillow.

After the room is set, the attendant may note substitutions or stock-outs. Those notes are operational, not new preferences. Do not write them back into the guest profile unless a person confirms the guest still wants the substitute. A missing hypoallergenic pillow is an inventory issue, not a profile update.

Gate the list before it reaches the floor

Run a short check before anything prints or lands in the attendant app.

Is this worth automating for you?

Whether this pays back depends on how much time it takes your team today. Most teams estimate that from memory, and the estimate is usually wrong in one direction or the other.

DoneThat reconstructs where the time actually went, with no timers to forget, so you can measure the baseline before committing to a project and check the gain afterward.

Measure the baseline first