Hotel Guest Complaints Handling: Service Recovery Scripts With AI

Coding Liquids tutorial cover featuring Sagnik Bhattacharya for Hotel Guest Complaints Handling: Service Recovery Scripts With AI.
Coding Liquids tutorial cover featuring Sagnik Bhattacharya for Hotel Guest Complaints Handling: Service Recovery Scripts With AI.

Give the AI the facts of one complaint, your acknowledge, fix and compensate rules and a short voice sheet, and ask for a draft reply that a named manager edits before it goes out. Keep compensation limits and escalation triggers in writing so the draft stays inside them, and route anything about safety, health or discrimination to a person.

The assistant drafts; it never decides. It cannot see what happened, so every fact in a reply must come from your duty log, and every offer must come from a ladder you wrote beforehand. Test the scripts on ten invented complaints before they meet a real guest.

Follow me on Instagram@sagnikteaches

Acknowledge, fix, compensate: three moves in a fixed order

A recovery reply does three jobs, always in this order. It acknowledges the specific thing that went wrong and what it cost the guest. It states the fix: what has been done already and what will change, with real times. Only then does it compensate, and only up to what your own rules allow. Reversing the order is the usual reason an apology sounds hollow, because a voucher offered before the guest feels heard reads as a bribe.

Connect on LinkedInSagnik Bhattacharya

The difference shows best side by side. A guest reports no hot water on two mornings of a three-night stay. The first block is what an assistant writes when it is given only the complaint. The second is the same reply after a manager supplied the facts and the limits (all details illustrative).

Subscribe on YouTube@sagnikteaches

Typical first draft

Dear Guest, we are truly sorry for any inconvenience you may have experienced during your recent stay. Your feedback is important to us and we take all comments seriously. We would like to offer you a complimentary night to make up for it. We look forward to welcoming you again.

After the manager's edit

Dear [first name], you had no hot water on Tuesday morning, and on Wednesday it was still unreliable. That is not acceptable in a room you were paying for, and I am sorry. The plumber found a failed mixing valve on the second floor on Wednesday afternoon and replaced it the same day. I have checked room 208 myself and the shower now runs hot within a minute. I have refunded $40 for the two mornings affected, which your bank should show within a few working days. If anything else about the stay fell short, please reply to me directly. [name], duty manager

The first draft fails all three moves. Nothing specific is acknowledged, no fix is stated, and a complimentary night gives away far more than the harm justifies. The second names the problem, says what was done and when, and offers a proportionate sum. Notice too what is missing: no "any inconvenience", no "your feedback is important to us", no promise to "look into it" without a result.

A compensation ladder with limits your staff can quote

Staff hesitate to offer anything when the limits are vague, and an AI offers far too much when they are missing. A one-page ladder fixes both. The figures below are illustrative; set yours from your own rates and margins.

LevelWho can approveWhat they may offerLimit
1Any front-desk or duty team memberA room move, late checkout to 13:00, breakfast for the room, free parking for the stay, one refunded extraUp to $25 in cost
2Duty managerA partial refund of the affected night, or a credit towards a future stayUp to 50% of one night's rate
3General manager or ownerA full night or more, goodwill payments, anything touching a booking site's moneyAnything above Level 2
NeverNobodyAnything offered in return for a review, a changed review or silenceNot available

Then match the level to the harm, so the cost of the remedy follows what the guest actually lost:

  • Fixed within the hour, no lasting effect: an apology and the fix. No money (Level 0).
  • Part of a stay spoiled (a noisy evening, a cold breakfast, one morning without hot water): Level 1 or 2.
  • A night ruined (no sleep, no room at arrival, no hot water throughout): Level 2, up to the limit.
  • A stay ruined, or anything touching safety: Level 3, and the escalation rules below apply.

Two cautions belong on the same page. For a stay paid through an online travel site, the money may sit with the site, so check what you can refund before a reply promises it; non-cash recovery is often quicker. And keep recovery apart from reviews. Google's review policy rules out offering any incentive in exchange for a review, a revision of one or the removal of a negative one, and it also rules out selectively asking happy guests for reviews. So a recovery message never mentions reviews at all, and your normal review invitation goes to every guest, not only those whose problem you fixed. Public replies follow different rules, covered in replying to hotel reviews with AI.

The line where a complaint leaves the AI's hands

Some complaints should never get a polished first draft, because a fluent reply makes a delicate situation worse. Write these triggers into the briefing page, and tell the assistant that when any one applies it produces only an internal summary and a holding reply.

  • An injury, illness, allergic reaction or food-safety worry.
  • A safety or security problem: a faulty fire door, a lock that failed, someone entering a room, a threat.
  • Missing valuables or alleged damage to a guest's property.
  • Anything suggesting a guest was treated differently because of who they are, including harassment.
  • A mention of a solicitor, a card dispute, a regulator or the press.
  • A demand for more than the stay cost, such as travel costs or a payment on top, or a guest who asks for the owner.
  • A second complaint from the same guest or booker within a year.
  • A group, event or corporate booking.
  • Any case where the reply would need a fact nobody has confirmed.

The holding reply promises one thing: a person, by a stated time. It does not investigate, apologise at length or mention money.

Dear [first name], thank you for telling us. I am sorry about what you describe, and I want to look into it properly before I give you a full reply. [Name], our [role], will write to you personally by [day and time]. If anything is urgent before then, you can reach me on [number]. [Your name]

The internal summary has four headings: what the guest says, what the log shows, what we do not know, and what I suggest the manager does next. It is a tidy way to hand the case to the person who decides, and it is where an assistant is most useful on the cases it must not answer.

The briefing page that sits above every complaint

Save this once as a pinned note, a Project or a saved prompt, and paste the complaint under it each time. Everything in square brackets is yours to fill in, once.

ROLE: You draft replies to guest complaints for [Hotel name], a [number]-room
hotel. A named manager edits and sends every reply. You never decide
compensation or liability.

HOTEL FACTS: check-in from [time], checkout by [time], reception hours [hours],
night contact [number], sign-off [name, role].

VOICE: calm, plain, specific. British spelling. No exclamation marks, no capitals
for emphasis. One apology, early, in your own words. 110 to 150 words.

THE THREE MOVES, in this order:
1. ACKNOWLEDGE the specific problem and what it cost the guest.
2. FIX: say what has been done and what will change, with times. Use only facts
   I give you.
3. COMPENSATE: only if the ladder allows it at the level I state. Otherwise offer
   no money.

LADDER: [paste the ladder table]
ESCALATE (internal summary and holding reply only) if: [paste the triggers]

NEVER: invent a fact, time, name or remedy; admit liability for injury, illness,
theft or damage; mention reviews, ratings or social media; write "any
inconvenience", "your feedback is important to us", "we take this seriously" or
"sorry you feel that way"; argue with the guest or blame a guest or colleague.

FOR EACH COMPLAINT I WILL SEND:
COMPLAINT (guest's words, first name only): ...
FACTS FROM THE DUTY LOG: ...
STAY: [nights, booking channel, room rate]
LEVEL I HAVE APPROVED: [0, 1, 2 or 3]

RETURN: 1) complaint type, 2) escalate yes or no, and which trigger,
3) the draft reply, 4) the facts you used, as a list, 5) anything missing that I
must confirm before sending.

Three habits keep it safe. Remove surnames, booking numbers and contact details from the complaint before pasting, and use a business plan or a personal plan with model training switched off. Start a fresh chat for each complaint, because facts from one case leak into the next when two share a conversation. And read the "facts you used" list first: if a line there is not in your log, the draft is wrong however well it reads.

Scripts for seven common complaints

ComplaintAcknowledge withFix to offerUsual level
Noise from guests, an event or the streetThe hours lost and how it was reportedA room move, a quieter-room note on the booking, a change to room allocation1 or 2
Room not clean on arrivalWhat the guest found, in their wordsRe-clean now or move rooms, then a supervisor inspection1
Room not ready at check-inThe minutes waited past the stated timeA seat, a hot drink, a time you can keep, luggage held1
A service failed (hot water, heating, air conditioning, Wi-Fi, lift)The days affectedThe repair done, or a room move the same day1 to 3, by duration
Billing disputeThe surprise, not the guest's reading of the billThe itemised folio; a correction only if the hotel was wrong0 or 2
Breakfast or restaurantThe wait, the missing item or the qualityThe change made to service or stock1
Staff attitudeHow the exchange felt, without taking sides on detailsA review of how the desk handles that situation1 or 2; escalate if it alleges bias

Three of these need a fully worked script, because they are where drafts go wrong.

A billing dispute where the hotel was right

Dear [first name], thank you for raising the parking charge. I understand it was a surprise when you saw your bill. The charge is $18 a night, so $36 for your two nights, and it appears under "extras" on the booking confirmation we sent on [date], copied below. I can see it was not mentioned at check-in, and I have asked the team to point it out when guests collect their keys. I cannot remove a charge that was shown in advance, but I am glad to talk it through on [number] until [time]. [Your name]

The honest answer is no refund, and an assistant under pressure will cave, often by drafting a goodwill refund to end the conflict. That is why the briefing page says "offer no money unless a level is stated". A Level 0 reply still gives the guest something: the evidence, a clear explanation and a change in practice.

A long wait for a room

Dear [first name], you arrived at 15:20 and waited 40 minutes for a room that should have been ready at 15:00. I am sorry. A late checkout on the second floor was not logged in time, so housekeeping reached your room later than planned, and we should have told you at the desk and offered a seat and a hot drink straight away. Housekeeping now confirms late checkouts to the desk by 11:00. I have added breakfast for two on the morning you leave, at no charge. [Your name]

The cause and the change are facts the manager must supply; the assistant will otherwise write something plausible. The remedy stays at Level 1 because the harm was forty minutes, not a spoiled stay.

Staff attitude you cannot verify

Dear [first name], thank you for telling us how checkout felt. You describe being spoken to abruptly when you asked about a charge, and that is not how we want any guest to be treated. I was not at the desk and I will not guess at the details of a conversation I did not hear, but I have taken your account seriously and we are going over how the desk handles questions about bills. If you would like to tell me more, I would welcome a call on [number]. [Your name]

Name nobody, promise no discipline and never write that the colleague "denies it". If the guest names a person or suggests they were treated differently because of who they are, the case leaves the AI's hands under the triggers above.

Friday night, room 214: one noise complaint from email to log

The case is a 40-room hotel. On Saturday at 11:20 a guest who has just checked out emails that their room above the function room was loud until 1:30, that they rang reception twice and that nobody helped. They ask for their money back. They booked direct, for one night at $138, breakfast included.

The duty manager pulls the facts from the log: the event was booked until midnight and overran to 01:30; the night porter logged one call from room 214 at 00:35, answered it and offered earplugs, which the guest accepted; no second call is logged; two rooms in the other wing were empty all night and no move was offered. The manager sets the level at 2 (half the night, $69) and pastes everything under the briefing page. The first draft looked like this in outline:

  • It opened with "We are truly sorry for any inconvenience".
  • It said the porter "immediately offered you a quieter room", when only earplugs were offered.
  • It said the event "ended at midnight as scheduled", which the log contradicts.
  • It refunded the "full stay of $138", which is Level 3 and was never approved.

The "facts you used" list at the end of the output exposed the problem: two of its lines had no source in the log. After the manager's edit, this is what went out:

Dear [first name], you were kept awake until about 1:30 on Friday night by an event in the room below, and I am sorry. Our log shows your call to reception at 00:35, when the night porter offered earplugs. He should also have offered you a room in the other wing, where two rooms were free, and he did not. The event overran its midnight finish by an hour and a half. From next month we will not sell rooms 210 to 216 on nights when an event is booked past 23:00. I have refunded $69, half of your night's rate, to the card you booked with. If you feel that does not reflect the night, reply to me and our general manager will look at it personally. [Name], duty manager

Notice what the reply does not do. It does not argue about the second call, because the log cannot settle it. It admits the failure the log does show, which is the missed room move. It makes a change the hotel has actually decided on, and it leaves the door open to Level 3 without offering it. The cost was $69 and about 25 minutes of a manager's time. The log entry also exposes a pattern, because this was the third function-night noise complaint in the quarter, and that is what turning guest feedback into a ranked fix list is for.

Ten invented complaints and a scorecard

Before the setup touches a real guest, run it on ten invented complaints written to trip it up. Mix easy ones with these traps:

  1. Heating off on the coldest night; the guest wants the whole stay refunded (a demand above the level you approved).
  2. A message in capitals about hair in the shower (tests whether the draft mirrors the anger).
  3. "The receptionist was rude and sarcastic" (an unverifiable claim about staff).
  4. A bill dispute where the charge was correct (tests whether the draft caves).
  5. "I slipped on the wet bathroom floor and hurt my wrist" (injury: escalate, no liability language).
  6. "My watch is missing from the room safe" (alleged theft: escalate).
  7. "Refund me or I post one star everywhere" (a review threat that must not be negotiated).
  8. The booking-site photos show a balcony and the room has none (the hotel may be in the wrong).
  9. A party next door until 3 a.m. and security never came (a failure to own, with steps taken).
  10. A group of six rooms that waited an hour (a group booking: escalate to the sales contact).

Score each reply against eight yes-or-no checks, and keep the scores. These figures are illustrative, but the pattern is typical of a first run.

CheckFirst runAfter three changes
Names the specific problem8 of 1010 of 10
No invented fact6 of 109 of 10
Offer within the level stated5 of 109 of 10
Escalation spotted (3 cases)2 of 33 of 3
No mention of reviews or ratings9 of 1010 of 10
No admission of liability9 of 1010 of 10
Calm tone, no mirroring8 of 109 of 10
Length, named sender, a way to reply7 of 1010 of 10
Total (73 checks)5470

The three changes between runs were small. One line told the assistant to write MISSING in the facts list rather than fill a gap. A second made it state the approved level at the top of its answer and never exceed it. A third told it to stop after the internal summary and holding reply whenever a trigger applies. I would not put the setup near live guests until it clears roughly nine in ten on the invented-fact and ladder checks, and the failures that remain are the reason a manager still reads every reply. For the spoken version of these scripts, role-playing difficult guests at the front desk works with the same ladder.

Five slips in AI-written apologies, and how each showed up

  • Matching the guest's heat. A message in capitals produced a reply that said the hotel was "absolutely appalled". It sounded dramatic and told the guest nothing. The voice rule now says not to match intensity, and the test pack includes an angry message to prove it.
  • An invented remedy. One draft offered a complimentary upgrade on the next stay. The hotel has no such policy, and the guest would have arrived expecting one. Offers now come only from the ladder level the manager states.
  • Taking the blame for harm. A draft about a slip in the bathroom said the hotel "accepts responsibility for your injury". Injury is an escalation trigger, and liability wording is on the never-list, because a person with the right advice should decide how to respond.
  • A non-apology. "I am sorry you feel that way" and "any inconvenience" make the guest the problem. The fix is the specific acknowledgement in move one, which is also easier to write.
  • Two cases in one chat. A reply to the room 214 guest mentioned a parking charge from the previous case. Starting a new chat per complaint, and reading the facts-used list, removes the risk.

The same three moves at the desk, on a booking site and in public

The moves hold on every channel, but the wording and the limits change.

  • At the desk or on the phone. Staff can learn a four-line spoken version: "You were woken at 1:30 and I am sorry" (acknowledge). "I am moving you to a quiet room now, and I will carry your bags" (fix). "Breakfast for two tomorrow is on us" (Level 1). "Is there anything else about the stay I should know?" (a check). Practise it with an assistant playing the guest, as in the role-play tutorial linked above.
  • By email after checkout. The full reply. Send a holding reply the same day if you need time to investigate, naming who will write and when.
  • Through an online travel site. Keep the message short and on the platform, since sites set their own rules on messaging and on who controls refunds. Check both before the reply promises money.
  • In a public review reply. Never mention compensation. Acknowledge, state the change and invite the guest to contact the manager privately.

Logging complaints so the pattern shows

Every complaint, whatever its outcome, gets one row in a shared sheet: date, channel, type, what the log confirmed, the level approved, who approved it, the amount, the time of the first reply, whether it was escalated and whether the guest had complained before. Recording the type from a fixed list matters, because it is what lets you count later. A filled row might read: Saturday, email, noise, event overran, Level 2, duty manager, $69, replied within four hours, not escalated, first complaint.

Once a month, total the rows. Here is an illustrative month for the same 40-room hotel:

OutcomeComplaintsAverage costTotal
Level 0 or 17$12$84
Level 24$58$232
Escalated, still open1not yet known$0 so far
All12about $26 each$316

Four numbers tell you whether the system works. How many replies went out inside your own target (here, 10 of 12 the same working day)? Did any remedy exceed its level? Did the same complaint come back after a fix? And what is the average cost per complaint, compared with last month? If four of the twelve were noise, the fix is a room-allocation rule, not a better apology. For routing and counting at larger volumes, spotting patterns in complaints goes further, and whether AI can handle customer complaints without making them worse covers the wider risks.

Questions about answering guest complaints with AI

Should AI reply to a complaint without a person checking?

No. A draft can be quick and polite and still contain an invented fact, an offer outside your limits or an admission you cannot take back. A named manager should read every reply, compare each fact with the duty log and decide the remedy. The assistant saves typing time, not responsibility.

How much compensation is too much?

Too much is anything the harm does not justify or your ladder does not allow. Match the remedy to what the guest lost: a spoiled breakfast earns a breakfast, a ruined night earns part of that night. Write the limits down per level so staff can act quickly and the AI cannot improvise.

Can I offer a discount if the guest changes or removes a review?

No. Google's review policy says businesses may not offer incentives in exchange for a review, a revision of one or the removal of a negative one. Resolve the complaint on its own merits, and keep any later review invitation identical to the one every guest gets.

How quickly should a hotel reply to a complaint?

Sooner is better, and you should set your own standard and measure it. A sensible split is same-day for a guest who is still in the building and the next working day for emails after checkout. If you need longer to investigate, send a short holding reply that names who will write and by when.

Further reads

Sources: Google Maps user-contributed content and review policy (incentives and review gating); the ladder, limits and example figures are illustrative and should be set by each hotel.

Want complaint replies your whole team can trust?

On a 1:1 call we'll turn your current complaint habits into a short rulebook, test an AI drafting setup on your real cases, and decide what stays with a manager.

Book a 1:1 call with me