Skip to main content
DoneThat

AI Adoption GuideHospitalityBook

Conversational booking agent

LLM-powered chat handles end-to-end booking, including upsell offers, without a human agent, using tools like Asksuite or HiJiffy.

Hospitality processBookConfirmPrepareArriveStayDepartReviewReturn

By Don, DoneThat’s AI coach · updated

What the agent may propose, and what it may not book

A conversational booking agent walks a guest through dates, occupancy, room type, and extras in chat, then produces a proposed hold for a reservations manager. It does not complete a reservation. The quality bar is a hold that cites live availability, a live rate, and the guest's answers in the same record. If inventory is missing, those fields stay empty. The agent does not invent a room. A reservationist still confirms.

Guests treat a fluent thread as a booking. Night audit treats a transcript as proof of sale. Neither is a booking. The only record that should exist in the PMS is the hold a person confirms after checking that every cited field is still true.

Asksuite, HiJiffy, Oracle Hospitality, and Mews sit in the same class as chat or property systems a hotel already uses for messaging and inventory. The product name does not change the operating rule: the model proposes, a person books.

If the thread shows leisure versus corporate language, or a family versus a solo traveler, pass that signal into your guest segment intent classifier so the hold inherits the right rate plan and occupancy rules instead of a generic BAR.

Load inventory and rate before the agent names either

The agent must load the requested dates and occupancy against live inventory, then load the rate plan those answers qualify for, before it names a room type or a price. Sequence matters. A model that talks first and queries second will fill gaps with plausible language.

Inventory load means room type, allotment or restriction for those dates, occupancy limits, and any close-out or minimum stay. Rate load means the plan the guest qualifies for, the amount shown for those dates, inclusions, and cancellation terms. If dynamic demand-based pricing is in force that night, the agent loads the current quoted amount, not last week's BAR printed in a brochure.

Until both loads return, the agent may ask clarifying questions. It may not say a room is available. It may not quote a number.

Propose a hold that cites availability, rate, and guest answers

A proposed hold is a structured draft, not a confirmation email. Every filled field needs a cite from the loads or from the guest's words. Empty stays empty.

The hold record a manager opens should show four blocks: requested dates and occupancy, availability cite (or blank), rate cite (or blank), and guest answers in their words. A fifth block for upsell is optional and only present when a catalog item has loaded.

Availability cite: room type and dates as returned by inventory, including the restriction if the type is closed. Rate cite: plan name and amount as returned by the rate engine, plus inclusions. Guest-answer cite: occupancy, arrival time, extras, and any constraint the guest stated, such as late arrival, adjoining rooms, or an accessible room. If the guest asked for a connecting room and inventory has no connecting pair, the connecting field stays blank. The agent does not substitute two kings down the hall and call it the same thing.

One working picture, not a case study: a couple messages at 21:40 for a king, one night, arriving after 23:00, breakfast included. The agent loads that night for the king. Inventory returns the type as open. The rate engine returns the qualified plan and the amount on screen, breakfast not included. The proposed hold cites the king as available, cites the plan and amount, cites late arrival as the guest stated, and leaves breakfast blank or flags it as requested, not confirmed, because the loaded rate does not include it. Breakfast is an upsell offer only if the add-on exists in the rate or package catalog. If the king is closed, room type and rate stay empty and the agent says the type is not available. It does not offer a similar invented room.

Upsell belongs in the same cite pattern. An offer is valid only when the extra exists in inventory or the package catalog at a loaded price. Asking about breakfast without a loaded breakfast product is not an offer. It is filler.

Leave blanks empty, and stop three failure modes

Missing inventory is not a prompt to be helpful. If the allotment does not return, room type stays empty. If the rate engine does not return an amount, rate stays empty. If the guest never answered occupancy, occupancy stays empty. A half-filled hold is usable. A completed-looking hold with invented fields is not.

Watch for three failure modes that show up in the same night's inbox.

A hold with no availability cite. The thread sounds sure ("I can do a king for those dates") but the hold has no inventory stamp, or the stamp is stale. Treat that hold as unusable until inventory is loaded and written onto the record.

Treating the chat as booked. The guest says they will see you tomorrow. A colleague assigns a room because the transcript looks done. Nothing is booked until a reservationist confirms. If the guest drops off before answers are complete, send the thread to booking abandonment recovery as an incomplete conversation, not as a reservation that needs a reminder.

Inventing a rate. The model rounds, matches a nearby plan, or quotes a number from an earlier turn after the rate changed. Any amount that does not match the current rate-engine return is blank, not estimated. Do not let the agent hold the price in chat unless your rate rules actually allow a written guarantee, and even then the guarantee is a cite, not a guess.

When required fields are still empty after the guest stops talking, route the hold to incomplete reservation flagging so it cannot sit in the arrival list looking like a real booking.

A reservationist confirms before the stay exists

Confirmation is a person opening the proposed hold, re-checking inventory and rate at confirm time, and only then writing the reservation. Re-check is not optional. Between 21:40 and morning, the last king can sell, a restriction can close, or the quoted amount can move.

The reservationist verifies three things against source systems, not against the chat tone: the availability cite still matches inventory, the rate cite still matches the engine, and the guest answers still match what the guest said, including occupancy, dates, and extras. If any cite fails, the hold is declined or rewritten. The guest is told the truth: the type is gone, the rate changed, or a requested extra is not on the books. The agent does not auto-send a confirmation number.

After confirm, the PMS reservation is the source of truth. The chat transcript is an audit trail. Do not dual-write. Do not let the agent update the stay after confirm without another human pass.

If chat runs after the desk closes, queue proposed holds for the first reservationist on. Do not auto-confirm to beat a 6 a.m. cutoff. A missed cutoff is cheaper than a walk.

Staff who cover overnight chat need a one-line rule on the desk: a proposed hold is a draft. A confirmation number comes from a person.

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