24 October 2026 · 11 min read

How to Offer In-Stay Upsells Without Turning the Stay Into a Funnel

An upsell offered at the wrong moment costs more than the upsell is worth. This walks the calendar of a stay and marks where an offer is welcome and where it is an intrusion, then covers the operational half most hosts skip: you cannot sell a late checkout you have not checked the turnover for.

A guest checks in at 16:20 on a Friday. At 16:34, while they are still working out which of the two keys opens the apartment door and whether the parking space is the one with a bicycle chained across it, a message arrives: "Make your stay special: add a welcome hamper for €35."

Nobody buys the hamper. That is the small cost. The larger one is that the guest has just learned something about the property: there is a machine here, and it wants money. Every message for the rest of the stay is read against that. The genuinely useful one on Saturday evening, the restaurant three streets away that will hold a table if you mention the apartment, now reads as the next pitch.

In-stay upsells are one of the few levers that add revenue without adding a property. Early check-in, late checkout, an extra night, a mid-stay clean, the parking space, the travel cot: all of it is inventory you already own and are mostly not selling. Hosts are not bad at writing offers. The problem is that the offer goes out at a moment chosen by a scheduler rather than by anything happening in the stay.

This article covers the rule that governs the whole category, a moment-by-moment map of where an offer is welcome, the operational check that has to happen before any of it, how to price an hour you already own, and where the whole approach stops working.

The Asymmetry That Governs Everything Else

An upsell has a bounded upside and an unbounded downside, and that single fact decides almost every question below.

The upside is the price. A late checkout sold at €30 is worth €30, once. The downside is not bounded in the same way: a review that says the host "kept trying to sell us things" sits on the listing for as long as the listing exists, gets read by every guest comparing three apartments, and is not answerable: replying to it in public makes it worse. One sentence in one review outweighs a year of €30 sales, and you have no way to buy it back.

The second cost is quieter and hits sooner. Guests read a limited number of your messages properly, and each one spends attention you need later for the thing that matters: the bin day, the door that has to be lifted before the key turns. A stay that opens with a hamper offer has taught the guest to skim.

So the discipline is not writing better offers. It is making fewer of them, at moments where the offer answers a question the guest has already started asking themselves.

The Calendar of a Stay, Marked Up

Walk the stay from booking to departure and the good moments separate from the bad ones cleanly. The pattern underneath is simple: an offer is welcome when the guest is already thinking about that decision, and an intrusion when they are thinking about something else.

Moment Worth offering Do not offer Why
Booking confirmed, weeks out Extra night, parking, cot, airport transfer Anything about checkout The trip is still being planned; additions are cheap decisions now
24-48h before arrival Early check-in, if the turnover allows it Mid-stay clean The guest is planning the travel day at exactly this moment
Arrival day, any hour Nothing Everything Luggage, navigation, a code that has to work
First evening Nothing but answers Any paid extra Settling in; questions are the only welcome traffic
Mid-stay, after a good exchange Extra night, mid-stay clean on long stays Late checkout Far enough in to be trusted, early enough to reprice the calendar
Evening before checkout Late checkout, when tomorrow allows it Extra night The guest is working out the morning right now
Checkout morning Nothing Late checkout Too late to move a cleaner, and it reads as a toll gate
Any time during an open complaint Nothing Everything An offer here reads as billing the guest for your mistake

Two rows do most of the damage. Arrival day is a hard no: anything you send before the guest has put their bag down competes with the door code. And the complaint row lasts longer than the complaint: if the boiler was out on Tuesday night, Wednesday is not the day to sell a mid-stay clean.

The Four Offers and the One Moment Each Belongs In

Early check-in. Offered once, 24 to 48 hours before arrival, and only after you know the previous stay's departure and that the clean can be finished in time. This is the offer guests most want and the one most often promised before it can be delivered. The mechanics of handling the request itself, and of not answering it manually forty times a month, are covered in handling early check-in, late check-out and extension requests without the back-and-forth.

Late checkout. Offered the evening before departure, never on the morning itself, and only when the next arrival and the cleaner's route both allow it. The evening before is when the guest is working out the taxi and the train, so the offer answers a live question. On the morning it arrives after they have already packed to your stated time. How to handle early check-in and late checkout requests over WhatsApp goes through the request side in detail.

An extra night. Offer it as soon as you can see both the calendar gap and some signal that the stay is going well: mid-stay, after the guest has said something appreciative or asked about a second area of town. Never at checkout: by then the guest has a train booked, and the gap in your calendar is a day closer to being unsellable.

A mid-stay clean. Only on stays long enough for it to be a real service, and framed as fresh towels and linen rather than as a comment on how the guest is keeping the place. Around the midpoint, and once.

The Operational Half Nobody Writes About

Every article about upsells stops at the message. The message is the easy half. The hard half is that you cannot offer a late checkout without knowing what happens in that property tomorrow morning, and an offer you have to withdraw is worse than one you never made.

Think about what withdrawal looks like from the guest's side. They accepted at 21:00, told the family they would leave at 13:00 instead of 10:00, and rebooked the taxi. At 08:40 you write back to say the cleaner cannot do it after all. You have created the exact problem the offer was meant to avoid and done it on the morning of departure, which is where reviews get written. A retracted yes costs more than a clean no.

So the sequence runs in one direction only:

  1. Check the calendar for the next arrival in that specific unit, including bookings that landed in the last hour. If reservations reach you by calendar sync, that sync runs on an interval rather than instantly, so leave a margin instead of treating the calendar as live to the minute.
  2. Check the cleaner. Not "the cleaners generally start at 11": the actual person doing that unit tomorrow, who may have three other properties in a fixed route and may be paid for a slot, not a day.
  3. Only then make the offer, with the price and the new time stated explicitly.
  4. Hold the slot from the moment you send, not from the moment they pay. An offer live for two hours is a booking constraint for those two hours.

Back-to-backs are simply out. If someone checks in at 15:00 the same day, late checkout is not a pricing question, it is unavailable, and the honest move is to not send the offer at all. What happens when a booking shifts after the crew is scheduled, which is exactly what an accepted extra night does, is the subject of handling last-minute booking changes when your cleaning crew is already scheduled.

Pricing an Hour You Already Own

The seductive thing about a late checkout is that the marginal cost looks like zero. The guest is already in a room you are not selling that night. Nothing is consumed.

That is wrong in a specific, expensive way. What a late checkout consumes is a cleaning schedule. Three hours of late checkout in a unit with a 15:00 arrival is either a cleaner starting later and finishing under pressure, a cleaner making a second trip across town, or another property in that cleaner's route getting a rushed turn. The cost lands somewhere, usually on the property you did not think about.

Price accordingly:

  • Late checkout should carry a flat price per property that reflects what rearranging that unit's turnover actually costs, including any second-visit or overtime rate you pay. If the honest answer is that it costs you nothing on a day with no arrival, a modest price is fine, but set it once, per property, not per negotiation.
  • Early check-in costs the mirror image: pulling a cleaner earlier, which on a day with a departure at 10:00 may not be possible at any price.
  • An extra night is the one case where the marginal cost genuinely falls, because you skip a turnover entirely. That is not a reason to discount below your nightly rate. The real cost is the night you can no longer sell to someone else, and a night sold cheap to the guest in front of you is still a night sold cheap.
  • A mid-stay clean should be priced at the cleaner's rate plus your coordination, not as a token. A clean sold under cost is a clean your cleaner resents.

Do not improvise these at 21:40 over WhatsApp. Set the price per property, write it down, and let whoever is answering messages quote it without asking you.

Writing the Offer So a No Costs Nothing

The wording matters less than the structure, and the structure has four rules.

One offer per message. A menu is a catalogue, and a catalogue is the funnel feeling you are trying to avoid.

State the price, the exact new time, and the deadline in the message itself. "Late checkout until 13:00 is €30 if you would like it. Let me know tonight and I will hold it." A guest who has to ask what it costs has been given homework.

Treat no reply as a no, permanently. No second message, no "just checking". The single most common way a reasonable upsell programme turns into a pushy one is the follow-up.

Answer the question first if there is one open. If the guest asked about the washing machine at 20:50, the 20:52 message is about the washing machine and nothing else. The offer can wait for its own message, or skip this stay.

Send it wherever the guest already is. A late checkout offer in an email opened next Tuesday is not an offer; WhatsApp, SMS and email compared for guest messaging covers which channel gets read when.

Where This Breaks

The revenue is modest at a small portfolio, and the articles selling you on upsells rarely say so. Take an illustrative operation: six apartments, roughly 320 stays a year between them, a late checkout taken by one stay in eight at €30. That is around €1,200 a year before the time you spend administering it. Those numbers are made up for the sake of the arithmetic, not measured (run your own), but the shape holds. Ancillary revenue is real money at two hundred units and a rounding error at six. It is not the reason to get this right; protecting the review score is.

The downside is not symmetric with the upside, so the correct error is caution. If you are unsure whether a moment is right, the expected value of sending is lower than it looks and the expected value of staying quiet is higher. Most hosts optimise this backwards because the revenue is visible and the damage is not.

Some guests want to be left alone for four days, and you cannot tell which in advance. A useful default is a hard ceiling: at most two paid offers in a stay, and none at all to a guest who has not sent you a single message. Silence from a guest is not a lead to be nurtured.

Automated timing struggles with tone. A rules engine knows the stay is on night three; it does not reliably know that the message two hours ago was a complaint rather than a joke. "The shower is a joke" and "the shower is amazing" are a few characters apart to a keyword filter. Any automation that sends paid offers needs a hard suppression rule tied to an open issue, and you should assume it will occasionally get one wrong.

Money and platform rules are their own problem. Taking payment for an extra night or a late checkout outside the platform the booking came from can run into that platform's terms, and those terms change. Check the current rules for each channel before you build a process around them.

And about Welco specifically. Welco can answer a guest who asks about a late checkout using the rules you have written, and it flags stay extensions, early check-ins and late checkouts to you as escalations with an urgency level. What it does not do is decide the answer for you. It does not know whether your cleaner has the slot, it does not take payment, and it is not an upsell campaign tool that will go out and sell late checkouts on your behalf. The operational judgement stays with you; the assistant removes the part where you type the same reply forty times a month.

The Operational Picture

Upsells done properly are a timing discipline attached to a turnover check, not a revenue programme. Get the sequence right (calendar, cleaner, then offer) and the offers you do make are the ones a guest is glad to receive. For how in-stay messaging fits the rest of the guest journey, the guide to automating guest experience without losing the human touch is the wider view.

Welco is a WhatsApp AI assistant for vacation rental hosts: guests message from their own WhatsApp, it answers from what you have loaded, and it flags the requests that need your judgement (extensions, early check-ins, late checkouts) instead of answering them for you. Access is currently by demo request, and a demo is the right place to ask how the escalation rules would fit the way you run turnovers.