Skip to main content
DoneThat

AI Adoption GuideHospitalityPrepare

Cross-department task orchestrator

Agentic system coordinates pre-arrival tasks, such as flowers, cot, or transfer, across departments with deadline tracking.

Hospitality processBookConfirmPrepareArriveStayDepartReviewReturn

By Don, DoneThat’s AI coach · updated

A task only counts if it cites the request and the department

A usable pre-arrival task names two things: the guest request it came from, and the department that must act. If either is missing, the line is not ready for assignment. Flowers, a cot, or a transfer are not work until they are tied to a booking note and an owner department.

The quality bar is narrow on purpose. Empty stays empty when the booking is silent. Do not invent a cot because the reservation looks like a family stay, and do not invent a transfer because the guest is arriving from another city. A rooms-division or guest-services coordinator still assigns every real task. The generated list is a draft of cited work, not a completed operation.

Special requests, traces, and arrival comments already live in property management systems of this class, including Oracle Hospitality, Mews, Cloudbeds, and Agilysys. The orchestrator reads those fields. It does not replace the PMS, and it does not assume extra modules those products may or may not have at a given property.

Load booking requests before you create any work

Open the reservation first. Pull the special-request text, any traces already on the file, and comments that mention setup, amenities, or transport. Do not open a blank task board and fill it from memory of what that kind of guest usually wants.

If notes are messy, run preference extraction from booking notes so the raw phrases are visible before anyone creates department work. Extraction is not assignment. It only makes the request text usable.

Load one booking at a time when you are checking quality. Batch loads are fine for a night-before sweep, as long as each task still points at a specific reservation and a specific sentence or field. A task that cannot show that pointer is a failure mode: it looks like work, but nobody can prove the guest asked for it.

Skip fields that are empty. An empty special-request box is a result. It means no pre-arrival task for that booking unless another cited field (a trace, a comment, a connected booking note) actually contains a request.

Watch for duplicate traces. If housekeeping already has a rollaway trace and the special-request field also mentions a cot, create one cited task, not two competing lines. Point both source fields in the cite so the assignee can see they agree.

Write each task with a cite, a department, and a deadline

Create a task only after you can complete three fields.

Cite: quote or point to the request. Take this booking as the working example. Reservation 48291, two adults and one child, arrival tomorrow. Special requests read: "Please place a travel cot in the room and a small bouquet at turn-down. We will make our own way from the airport." That paragraph is the source of truth. Nothing else on the file asks for transport or extra amenities.

Department: pick the team that executes, not a catch-all guest-services bucket unless that team actually does the work. A cot usually belongs to housekeeping or laundry, depending on how the property stores rollaways. Flowers usually belong to concierge, a florist liaison, or the team that places amenities. A transfer belongs to concierge or a transport desk if, and only if, the booking asked for one.

Deadline: set the latest moment the work must be done relative to arrival, not a vague "before check-in." A cot needs to be in the room before the guest opens the door. Flowers need a cut-off that matches delivery and placement. A transfer, when requested, needs a pickup time tied to the stated flight or arrival window.

On that same booking the orchestrator should produce two tasks, not three. Task 1, housekeeping: place travel cot in the assigned room, cite the special-request sentence, deadline two hours before stated arrival. Task 2, concierge or amenities: place small bouquet at turn-down, cite the same sentence, deadline turn-down of arrival night. There is no transfer task. The guest wrote that they will make their own way. Adding a car would invent work the file does not support.

If you cannot fill the cite, do not create the task. A line that says "cot, housekeeping, 14:00" with no booking pointer is the first failure mode. It will be treated as fact on a busy arrival day, and nobody will know which file to check when the room is wrong.

Room setup that follows stored preferences is a different job. Use guest preference-based room setup when the work is pillow type, floor, or view already on the profile. Do not copy those preferences into this orchestrator as if they were today's special request.

Housekeeping capacity is also a different job. Once a cited cot task exists, housekeeping schedule optimizer can help fit the placement into the room's clean sequence. Optimization does not create the cot. The request does.

Leave blanks empty; do not invent a cot or a transfer

Silence is not a prompt. If the booking has no request for a cot, the cot field stays blank. If nobody asked for flowers, there is no florist task. If transport is not mentioned, do not add a transfer to be safe.

The next failure mode is inventing a transfer, a cot, or an amenity from context that is not a request. A family with a child is not a cot request. An international arrival is not a transfer request. An anniversary comment is not automatically flowers unless the note asks for them.

Compare a second file sitting next to 48291. Same date, two adults, empty special requests, no traces. The correct output is no pre-arrival tasks. Do not borrow the cot from the neighboring booking. Do not add flowers because the rate code sounds celebratory. Empty stays empty.

When a note is ambiguous ("maybe a cot if you have one"), do not promote it to a firm task. Leave the row empty and flag the booking for a coordinator read, still without creating a fake line. Empty is auditable. An invented line is not.

After arrival, new asks belong on a different path. Route those through in-room service request router rather than backfilling pre-arrival tasks as if the guest had asked at booking.

Assign in the coordinator queue; the list is not done

A coordinator still assigns. The orchestrator proposes cited tasks. It does not close them, and it does not decide who is on shift.

Read each proposed line. Confirm the cite matches the file. Confirm the department is the one that actually performs the work at this property. Then assign a named person or a named shift board. Unassigned cited tasks are visible work. Assigned tasks are owned work. Generated-and-ignored tasks are neither.

The last failure mode is treating the list as done. A board full of unassigned cot and flower lines is not a completed pre-arrival plan. If nobody accepted the housekeeping cot, the room can still open without one. Deadline tracking only helps if an assignee exists and status is watched through the deadline.

When a department rejects a task, do not delete the cite. Reassign or cancel with a reason. Cancelling a cited task is a decision. Quietly dropping it makes the next arrival look as if the request never existed.

Close the loop on arrival day. Each assigned task is either complete against the cite, or it is escalated. Do not mark complete because the list was generated. Mark complete because the cot is in the room, the bouquet is placed, or the requested transfer was handed to the team that runs cars.

If a guest later says they never asked for flowers, the cite is what you check. Without it, you cannot defend the task.

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. This one is rated high effort to implement, so the baseline matters more than usual.

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