Hotel Shift Handover Notes With ChatGPT: From Desk Logs to a Daily Report

Coding Liquids tutorial cover featuring Sagnik Bhattacharya for Hotel Shift Handover Notes With ChatGPT: From Desk Logs to a Daily Report.
Coding Liquids tutorial cover featuring Sagnik Bhattacharya for Hotel Shift Handover Notes With ChatGPT: From Desk Logs to a Daily Report.

Log each event as one line (time, room number, category, status), strip guest names and contact details, then paste the day's lines into a ChatGPT Project holding your handover template. Ask for one note per shift plus a manager summary, and check every figure against the property management system before anyone relies on it.

The weak point is usually the log, not the writing: free-text entries with guest names, half-finished sentences and no status, so nothing tells the next shift what is still open. ChatGPT can sort and summarise what is there. It can't know that room 14's leak was fixed at 3 pm if nobody logged it. Fix the log first, then automate the note. Guest-facing replies are a separate job, covered in the tutorial on how small hotels use AI to answer guest messages; this one is about the staff-facing handover.

Follow me on Instagram@sagnikteaches

What the next shift needs that a raw log hides

A handover is a list of unfinished business plus a few facts about tonight. A log records everything that happened, including everything that needs no action, so the useful items are buried among the routine ones. A good note carries eight kinds of item, each one short enough to act on:

Connect on LinkedInSagnik Bhattacharya
  • Open items with an owner and a time. "Room 11 air conditioning: engineer Wednesday 10:00; room out of order until then."
  • Promises made to guests. "Travel cot for room 6, in the room before 15:00."
  • Arrivals still expected tonight, and what is special about them: "Room 22 not yet arrived; held until 22:00."
  • Early starts tomorrow. "Room 8: wake-up 06:00, taxi 06:30."
  • Rooms out of order or not ready. "11 out of order; 17 needs a recheck."
  • Cash, keys and lost property. "Float counted 13:00 and matched."
  • Safety and security events. "Second-floor fire door found wedged open at 22:40; closed."
  • Things not to do. "Don't offer room 17 a move; they asked to stay put."

One rule keeps the list honest: every open item needs an owner and a time. If it has neither, it is a worry, not a task, and the note should say so in a separate line so the manager can assign it.

Subscribe on YouTube@sagnikteaches

Keep guest names out of the log, not just out of the prompt

The cleanest privacy control sits upstream. If staff log by room number and never write a name, nothing needs scrubbing before you paste. That is easier than it sounds, because a room number is what the next shift searches for anyway. Here is what to keep and what to strip:

In the desk logWriteNever write
Guest identity"Rm 14"Name, initials, nationality
Contact details"Guest phoned from room"Phone numbers, email addresses
Booking and payment"Booking ref in PMS"Card numbers, reference codes, ID or passport details
Health, allergy, belief, access needs"See PMS note, rm 9"The detail itself
Children"Family room, rm 12"Names, ages, school
Complaints"Corridor noise after midnight"Quotes with identifying detail
StaffInitialsFull names, personal numbers
Vehicles"Car park full"Registration plates

A caution on vocabulary. I call this "anonymising" because that is the word hotel teams use, but swapping a name for a room number is closer to pseudonymising. Someone with access to the property management system (PMS) can still link room 14 on that date to a guest, so under data-protection law such as the GDPR the information can still count as personal data. The method lowers the risk; it is not a legal clean bill. If you are unsure what your obligations are, ask your data-protection adviser.

Two practical backstops. First, before pasting, take 30 seconds to scan the text for "@", for runs of seven or more digits and for capitalised names. Second, put a guard line in the prompt (you will see it below): if the log contains a name, phone number, email or card number, the model must not repeat it and must list the line number under PRIVACY. That doesn't undo the paste, but it tells you which lines to fix at the source.

A desk log a model can sort: one event, one line

Use one shared sheet, or a simple form that writes to one, with six columns: Time, Room, Category, What happened, Status, Who. The "What happened" cell takes 20 words or fewer. Categories come from a fixed list so that the model, and you, can group by them: Arrival, Departure, Request, Complaint, Maintenance, Housekeeping, Safety, Cash and keys, Group, Other. Status has three values: Open, Done, Passed on.

Status is the single most valuable column. Without it, the model has to guess from the wording whether "engineer booked" means fixed or pending, and guessing is where invented outcomes come from. Three habits help. Lead each entry with the action ("Booked taxi...", "Closed fire door..."). Change a status in the same row rather than adding a new line, so the latest state is the only state. And write "pending" or "not yet" explicitly when something is outstanding. If you want help building the sheet with drop-down lists and a filter for open items, the Google Sheets AI prompts tutorial covers the mechanics.

A Tuesday in a 24-room hotel: the anonymised log

The hotel in this example has 24 rooms, with room 11 out of order, so 23 are sellable. Last night 21 rooms were occupied. Today nine guests depart, eight are due to arrive and one of those never turns up. This is the log for the early and late shifts (illustrative, already anonymised).

TimeRoomCategoryWhat happenedStatusWho
07:1011MaintenanceHousekeeping found air conditioning not cooling in vacant room. Engineer booked Wed 10:00. Room set out of order.OpenA
07:45-HousekeepingLinen delivery short by 6 sets of king sheets. Supplier says Thursday.OpenA
08:304DepartureEarly checkout, key returned, no extras.DoneA
09:1517ComplaintCorridor noise after midnight. Apologised. Manager to follow up by phone.OpenA
10:056RequestArriving today, travel cot requested. Cot in storeroom B, to be placed before 15:00.OpenA
11:203RequestLate checkout to 13:00 agreed, no charge.DoneA
12:4020MaintenanceShower drain slow. Maintenance to look at 14:00.OpenA
13:00-Cash and keysFloat counted, matches till sheet.DoneA
14:108RequestTaxi booked for 06:30 tomorrow. Wake-up call 06:00 requested.OpenA
14:3020MaintenanceDrain cleared. Room fine.DoneA
15:4014ArrivalArrived. Second key card issued.DoneB
16:256ArrivalArrived. Travel cot in room.DoneB
17:50-GroupGroup of five rooms arrives tomorrow about 14:00. Rooming list not yet received. Rooms not yet allocated.OpenB
19:1022ArrivalNot arrived. Phoned twice, no answer. Hold until 22:00.OpenB
22:1522ArrivalMarked no-show in PMS after 22:00. Charge decision for manager.OpenB
22:40-SafetySecond-floor fire door found wedged open with a luggage trolley. Closed, trolley moved.DoneB

Sixteen lines, seven of them closed. A human can read that in a minute, but writing a clear note from it, at 22:55 with a queue at the desk, is where things slip. Notice that two rows describe the same drain (12:40 open, 14:30 done), which matters in a moment.

The shift prompt and the note it gave back

Save this in the Project's instructions so every shift starts from the same rules. Only the log and the figures change from day to day.

You write the shift handover note for a 24-room hotel front desk.

Use ONLY the LOG lines below. Do not add details, causes or outcomes
that are not in the log. If a status is missing, write "status not logged".
Only write "resolved" or "done" where a log line has status Done.
Keep qualifiers such as "not yet", "pending" and "waiting".
If an item appears twice, the later line wins.
Never repeat a guest name, phone number, email address or card number.
If you see one, list the line number under PRIVACY and leave it out.
Do not calculate or estimate any figure. Use the PMS FIGURES as given.

Write the note for the NIGHT shift, in this order:
1. Needs action tonight (open items with a time or owner)
2. Rooms: out of order, not ready, special set-ups
3. Arrivals still expected, and early starts tomorrow
4. Cash, keys, lost property
5. Safety and security events today
6. Open items with no owner or time (for the manager)
Short bullets, room number first. Maximum 220 words.

PMS FIGURES: sellable rooms 23 (room 11 out of order); occupied tonight 19;
arrivals 7 of 8 due (1 no-show); departures 9.
LOG:
[paste the day's rows]

This is what came back (illustrative, with the mistakes left in):

Night handover, Tuesday

1. Needs action tonight

  • Room 22: no-show marked 22:15 after two unanswered calls. Charge decision is with the manager.
  • Room 8: wake-up call 06:00, taxi 06:30.
  • Room 17: noise complaint at 09:15, resolved after apology.
  • Room 20: shower drain slow, maintenance due.

2. Rooms

  • Room 11 out of order (air conditioning). Engineer Wednesday 10:00.
  • Room 6: occupied from 16:25, travel cot in place.

3. Arrivals and early starts

  • Group of five rooms due about 14:00 tomorrow. Rooming list received.

4. Cash and keys

  • Float counted 13:00 and matched.

5. Safety

  • Second-floor fire door found wedged open at 22:40; closed.

6. No owner or time logged

  • Linen delivery short by six sets of king sheets; supplier says Thursday.

Where the first draft went wrong, and where each fix belongs

Most of it is good: the order is right, the no-show is carried correctly, and the linen shortfall landed under "no owner or time", where the manager needs to see it. Three lines are wrong, and each tells you something.

  1. Room 17, "resolved after apology". The log says the agent apologised and the manager is to follow up by phone, status Open. The model turned a to-do into an outcome. That is the most dangerous kind of error, because the next shift will stop worrying. The prompt already says "only write resolved where a log line has status Done", so the model broke a rule it was given. The answer is a human read: whoever sends the note checks every "resolved" and "done" against the log. Anything the model has softened gets restored.
  2. Room 20, "maintenance due". The drain was cleared at 14:30 and the row is Done. The model used the 12:40 line and ignored the later one. The fix at source is to update the original row rather than add a second one. The "later line wins" instruction helps but is not infallible.
  3. The group, "rooming list received". The log says "not yet received". Qualifiers such as "not yet" are easy for a summary to drop, and dropping one flips the meaning. Keep the line asking it to preserve qualifiers (it is in the prompt above), and make the rooming list an explicit open item with an owner.

None of these errors is exotic. They are the ordinary ways a summary goes wrong: it invents an outcome, it uses a stale line, and it drops a "not". The point is not a perfect first draft; it is a draft that is quicker to correct than to write from scratch, plus a rule set that makes the same mistakes less likely tomorrow. The outgoing agent owns the note and reads it against the log for about three minutes before it goes. If that read-through doesn't happen, the note is not finished.

From three shift notes to one manager report

The daily report for the manager is a second prompt in the same Project. Its inputs are the day's corrected shift notes and the figures printed by the PMS night audit. It does not read the raw log again, which keeps it short and keeps your corrections.

You write the daily report for the hotel manager.

Inputs: the corrected shift notes for early, late and night, and the PMS
figures. Use only those. Copy the figures exactly; do not calculate.
Never include guest names or contact details.

Sections, in this order:
1. Figures (copy the PMS block unchanged)
2. What happened (maintenance, housekeeping, guests, safety, cash), 1-2 lines each
3. Still open (with owner and time, or "no owner logged")
4. Needs your decision (numbered; one line each)
5. Tomorrow's risks (arrivals, rooms, early starts, staffing gaps if given)
If a section has nothing, write "Nothing to report". Maximum 300 words.

PMS FIGURES: sellable rooms 23 (11 out of order); occupied 19; occupancy
82.6%; arrivals 7 of 8 due (1 no-show); departures 9; room revenue $2,641;
ADR $139; RevPAR $114.83.
SHIFT NOTES:
[paste the three corrected notes]

A trimmed version of the result (illustrative):

Daily report, Tuesday

Figures. Sellable rooms 23 (room 11 out of order), occupied 19 (82.6%), arrivals 7 of 8 due (1 no-show), departures 9, room revenue $2,641, ADR $139, RevPAR $114.83.

What happened. Maintenance: room 11 air conditioning fault found 07:10, engineer booked Wednesday 10:00; room 20 slow drain cleared 14:30. Housekeeping: linen delivery short by six sets of king sheets, supplier says Thursday. Guests: room 17 noise complaint (corridor, after midnight), apology given, manager phone follow-up pending; room 3 late checkout to 13:00 at no charge. Safety: second-floor fire door found wedged open at 22:40, closed. Cash: float matched at 13:00.

Needs your decision. (1) Charge for the room 22 no-show. (2) Call to room 17. (3) Whether to order emergency linen or rotate stock until Thursday.

Tomorrow's risks. Group of five rooms due about 14:00, rooming list not yet received and rooms not yet allocated. Room 11 out of order until the engineer's 10:00 visit. Wake-up 06:00 and taxi 06:30 for room 8.

Three things to add by hand. Any context the log can't hold ("the guest in 17 has stayed with us four times" belongs in the PMS and in your head, not in ChatGPT). A decision on the fire-door event, since a wedged door is a pattern to act on rather than a line to report. And any figure you doubt. The report's value is that the manager can scan the same five headings every morning and know where to look.

Keep ChatGPT away from the arithmetic

Occupancy, ADR and RevPAR come from the PMS. ADR is room revenue divided by rooms sold; RevPAR is room revenue divided by rooms available. In the example: $2,641 over 19 rooms sold is $139, and $2,641 over 23 sellable rooms is $114.83. Whether out-of-order rooms count as available varies by property, so write your definition into the template once ("sellable = total rooms minus out of order") and use it every day.

Language models can slip on arithmetic, and they can also pick the wrong one of two similar numbers. A realistic failure (illustrative): the report headline said "occupied 21" because last night's figure also sat in the pasted notes. The fixes are simple. Paste one figure per label. Label them clearly ("occupied tonight: 19"). And run a roll-forward check yourself before you send anything: occupied tonight equals occupied last night, minus departures, plus arrivals. Here 21 - 9 + 7 = 19, which matches. If those four numbers don't reconcile, something is wrong in the PMS, the log or the paste, and the report waits.

What never travels by note alone

Some items need a call or a face-to-face word, with the note carrying only a one-line pointer. Write the list into the template so nobody has to decide at 02:00:

  • Injuries, thefts, police or ambulance contact, and anything that may become an insurance claim.
  • Fire alarm faults, flooding, gas smells, and anything touching life safety, including that fire door.
  • Complaints where the guest mentions a refund, a review or legal action.
  • Cash differences above the amount your hotel sets as its threshold.
  • A guest who seems distressed, unwell or vulnerable.

Add a line at the top of every note: "Read by: [initials], [time]". A handover is complete when the incoming agent has read it and initialled it, and if the line is still blank an hour into the shift, the manager asks why. It is also worth being honest about the limits: what ChatGPT can and cannot do at the front desk is a useful read before you hand it any live decision.

Setting it up: a Project, a pasted log and a privacy check

  1. Create the Project. Name it "Front desk handover". Paste the shift prompt and the manager-report prompt into its instructions, with a short rules file that lists your categories, your definition of sellable rooms and the "never by note alone" list.
  2. Don't build a custom GPT. OpenAI has ended creation of new custom GPTs and existing ones stop running on 11 December 2026. A Project is the supported route, and OpenAI says project sharing works on every plan, with business plans adding group and workspace-link sharing.
  3. Use accounts the hotel owns, one per person. Not staff members' personal accounts, which leave with the person, and not one desk login shared by every agent: OpenAI's terms of use say you may not share your account credentials, and its business terms rule out several users sharing one login. Plus is about $20 a month at list price. ChatGPT Business needs at least two seats, so check its current seat price on OpenAI's page. Share the Project with each agent's own account rather than passing a password round the desk.
  4. Check the training setting. On business plans, content isn't used for model training by default. On an individual plan, find the model-training switch in privacy settings and turn it off. Labels change often, so read the current wording.
  5. Run it at fixed times. Early to late at 14:45, late to night at 22:45, manager report at the end of the night shift. Each run is a new chat inside the Project, with the log rows and the PMS figures pasted fresh.

That's it for tooling. Resist the urge to connect everything on day one: the paste route has no integrations to break, and it forces a human to look at the log, which is a benefit in itself.

Odd shifts: night audit, a group arrival and a system outage

Night audit. The auditor's routine in the PMS closes the day and prints the figures. ChatGPT doesn't replace it. Log "Night audit completed 02:10, no variance" as an ordinary line, and if the audit reports a variance, don't ask the AI to explain it; that is a human reconciliation. The tutorial on hotel SOPs for check-in, housekeeping and night audit covers writing that routine down.

Group arrivals. A rooming list is a list of names, so it stays in the PMS. The log says "Group, five rooms, rooming list pending" and the note carries that line, nothing more.

System outage. When the PMS is down, the desk logs on paper. Type it up afterwards, mark those rows "typed from paper, 02:40" and keep the original times. Don't ask the model to infer the order of events; sequence matters for incidents.

Quiet shifts. Given a thin log, a model can pad. Tell it not to: "If there is nothing open, write 'No open items'." A short note on a quiet night is the correct output. If a maintenance fault keeps reappearing in the log, the maintenance requests log approach gives it an owner and a chase date instead of letting it recur in every note.

A two-week trial and how to count what goes wrong

Run the AI note alongside your usual handover for 14 days. The outgoing agent writes the normal note by hand and also produces the AI draft; the incoming agent reads the hand-written one and the manager marks up the difference. Keep a scoring sheet:

DateLog linesMissesInventionsStale statusesMinutes by handMinutes with AI
Tue (example)16021126

A miss is a log line that mattered and isn't in the note. An invention is anything in the note that the log doesn't support (the "resolved" in room 17). A stale status is an item shown as open that was closed, or the reverse. The row above is the Tuesday worked through earlier: two inventions ("resolved" for room 17 and "received" for the rooming list), one stale status (room 20's drain), and six minutes with the AI against twelve by hand. Those minutes are illustrative; time your own.

My suggested rule, which you should adjust before you start: adopt it only when the last seven days show zero inventions and fewer than one miss per 20 log lines. Otherwise, keep writing by hand and improve the log. A hotel whose log is poor gets a poor note however good the prompt, and a week of scoring will show you which of the two is the problem.

Handover notes: questions from small hotel teams

Can ChatGPT read our property management system directly?

That depends on your system's vendor. Some export a day's activity to a spreadsheet or file you can paste, and others offer integrations. Check the vendor's documentation or ask their support, and start with the paste route, which needs nothing from them. Whatever you use, send only what the note needs and keep guest identifiers out of it.

What if a guest has an allergy or access need that staff must know about?

Keep it in the property management system or your normal guest record, where it is already protected, and put only a pointer in the log, such as 'see PMS note, room 9'. Don't paste health, allergy or accessibility details into ChatGPT. If the next shift needs the detail, they read it in the system itself.

How long should a handover note be?

Short enough to read at the desk before the previous agent leaves: roughly a screen, or 150 to 250 words, on a normal day in a small hotel. If it runs longer, either the day was unusual or the log holds too much chatter. Put a word limit in the prompt and the model has to rank the items.

Is this the same as AI guest messaging?

No. A handover note is internal and written for the next member of staff. Guest messaging, meaning answers to enquiries, confirmations and requests, is a different job with different risks and different data. Keep the two in separate Projects and separate prompts so that neither borrows the other's rules.

Further reads

Sources: OpenAI's help pages on ChatGPT Projects, project sharing and data controls, and its custom GPT retirement FAQ (checked October 2026). Occupancy, ADR and RevPAR follow their standard definitions; confirm how your property management system calculates them.

Want a handover your night shift can trust?

On a 1:1 call we'll look at your desk log and property management system, choose the fields worth capturing, and set up a handover prompt and privacy routine your team can run.

Book a 1:1 call with me