Haven has native upsells you create and sell yourself: experiences (packages, retreats, and other rich offers) and add-ons (lightweight paid extras). They are first-class Haven features — not a third-party marketplace. Guests pay through the same Stripe checkout as the stay. Haven takes 0% commission on them.
This is the default way to sell extra revenue around a stay: a couples retreat, a chef dinner, late checkout, a hot-tub fee, a welcome hamper, an airport transfer, a wedding package, a yoga weekend, paddleboard rentals, villa provisioning — whatever you actually offer.
Host Co is a separate, optional integration for people who already have (or want) a Host Co store. It is not required, and it is not how native experiences and add-ons work.
Everything lives in one Upsells catalog under Host Dashboard → Grow your brand → Upsells (/host?tab=bundles). The page has an Upsells pill (this catalog), a pill for each PMS that has synced upsells in (see PMS-imported upsells), and Host Co (optional). There is no top-level sidebar row named Upsells. Every item shares the same pricing, scheduling, inventory, and payment pipeline; the presentation decides how guests meet it:
| Experience (card) | Add-on (toggle) | |
|---|---|---|
| Built for | Packages, retreats, and sellable stories | Small paid extras |
| Guest sees | Marketing cards (cover photo, gallery, video, what's included, full write-up) | A short toggle at checkout |
| Typical examples | Couples retreat, chef's table, adventure day, spa package, wedding weekend | Hot-tub fee, late checkout, crib, grocery stock, extra cleaning |
| Styling | Cover photo, gallery, video, what's included, full write-up | A compact one-line toggle with its price |
Presentation is only styling. Where an item appears is set by the three placement toggles below, so an add-on can absolutely live on the property page and an experience can be checkout-only. You can switch the presentation at any time without recreating the item.
Each item has three independent placements. New items start with all three on; turn off any you don't want.
Each item also has an optional Category (under the name in the editor), such as "Coffee Mugs" or "Booking Access". When you set one, the guidebook store and the Experiences section of your website group the item under that heading, with your other items in the same category. Items with no category stay where they are today, listed first with no heading, so leave it blank to keep an item ungrouped. The editor suggests the categories you already use so the spelling stays consistent — two spellings make two headings.
If all three are off, guests will not see the item anywhere. Property page on with both purchase placements off shows the card with a Learn more view and no way to buy — useful for something you quote by hand, confusing otherwise.
One setting overrides the property-page switch: an item whose Who it's for is anything other than Anyone (see Rules) is never shown on the property page or sold from the website store, because nobody has booked yet and so nothing is known about who is coming. It is offered at checkout and in the guidebook Offers tab to the bookings that match.
Some richer purchase options only make sense once a stay exists, so they are guidebook-only: deposits, adult and child prices, approval before charging, quote requests, and time-slot / session scheduling all happen in the Offers tab. Quote-priced items still show in that store for anyone viewing the guide; sending the request needs a confirmed stay. See Provisioning and quote requests.
Guests do not have to wait for checkout. Every property and collection page has a bag (the bag icon in the site header, shown whenever the site offers upsells).
Two things can happen instead of Add to Cart:
The bag is kept in the guest's browser. It is a shortlist, not a payment: nothing is charged until they book.
Items with Sell on the website store without a stay on do not need dates. In the bag they are listed under Ready to buy with a Checkout button: the visitor pays by card on a Stripe Checkout page, and the sale is a store order rather than part of a booking. Any amount you set under Add on top for store orders is included in the item price they see. You are emailed on each paid order. A time-based item sold this way, such as early check-in, is an order with no booking attached, so match it to the guest's stay by hand. A store item can also sell one of your merchandise designs: pick it under Merchandise design in the editor and the card and the bag show the real preview of the design instead of the cover photo.
When a guest picks dates and taps Book or Request to book, and at least one of your upsells is offered at checkout, Haven opens Plan your stay before the payment page. (If nothing is offered at checkout, or the guest is only sending an inquiry, they go straight to checkout.)
The planner shows the stay as a stack of day cards, each with the day's hourly slots, and your offers as a searchable shop beside it: category pills, cards with cover photo, video, price and what's included, and a detail view with the full gallery for each. The guest adds an item by tapping its card and picking a day, or by dragging the card straight onto a day and time on the calendar. For anything that happens on a day they pick the day; a one-off extra with no schedule (a cake, a platter) can also be put on a day, which reaches you as a requested day and time. Extras priced per night or per day cover the whole stay and sit in a Your whole stay lane above the calendar. The same item can go on several days; each day is its own line. A sticky bar shows the running total, and Continue to checkout carries the plan over. Skip for now goes to checkout with nothing added; your offers are still in their guidebook later.
On the checkout page the plan appears as Your plan — a day-by-day summary with an Edit plan link back to the planner. The old list of add-on toggles on the checkout page is gone; the planner is where items are chosen.
The planner has a Plan my stay button. It reads your catalog (names, descriptions, scheduling rules, what's included) and the guest's dates and party, and proposes a plan: a few items placed on sensible days and times, each with a one-line reason. Arrival-day logistics such as an airport pickup land on the arrival day, breakfasts in the morning, a celebration dinner on the last evening.
Before the guest sees it, a deterministic check removes anything your setup cannot honour — items not offered at checkout, days outside the stay or excluded by your blackout dates, times outside your slots, two timed items overlapping, quantity limits, lead time. The guest can Use this plan, Add to my plan, or Try again, and every suggested item becomes an ordinary item they can edit or remove. The reasoning is saved with the booking: you can read it on the reservation under Planned with Haven AI, and admins see it in the property's AI ledger.
Every upsell has a Returning guests setting in the editor (next to Who it's for):
Haven recognises a returning guest from their completed stays with you, matched by their account or the email they book with — there is no code to enter. Gifts show up on the reservation, in the receipt and in the fulfillment queue as a $0 line marked as your gift, so you fulfill them like any other item. An optional note is shown to the guest in both modes.
An upsell set to Guests pick → A date in their stay (cooking class, banquet, photoshoot) sells at checkout. In the planner the guest places it on a day of their stay — arrival or departure day and any blackout dates you set are left out — and can also enter a preferred time. They cannot continue until they pick a day.
The day and time are a request. The guest pays for the item with the stay, and you confirm afterwards:
Items sold as time slots are booked straight into an open slot in the planner, so there is nothing to confirm.
Items pinned to the arrival or departure day (early check-in, late checkout) take that day automatically and never ask.
The switch lives under More settings → Where guests see it in the upsell editor. It greys out when the item is set up in a way checkout cannot sell. The reason, and the change that fixes it, are written in amber directly under the switch. These are all the causes:
| What the item has | Why checkout can't sell it | To sell it at checkout |
|---|---|---|
| Pricing is Request a quote | There is no amount to charge | Change Pricing to a fixed price (Flat, Per guest, Per night, Per day) and enter the amount |
| Pricing is Extra nights | It extends a stay that already exists | Nothing to change — it sells after booking by design |
| Guests pick is A date and time | Checkout asks for a day, not a time | Change Guests pick to A date in their stay, then agree the time with the guest |
| Guests pick is A session you schedule | Seats are held when the guest buys | Change Guests pick to A date in their stay or Nothing to schedule |
| Deposit % | Checkout charges in full | Clear the deposit under More settings → Group & seasonal pricing |
| A Child price | Checkout does not ask for an adult/child split | Clear the child price under More settings → Group & seasonal pricing |
An item that stays greyed out is still sold: guests buy it after booking in the guidebook Offers tab, and on the property page its button reads Request this experience. Guests pick → A date in their stay does not grey the switch out, and neither does Require my approval before charging — see below.
An item with Require my approval before charging on can be offered at checkout too. In Plan your stay it shows a Request badge; the guest puts it on a day (or the whole stay) like anything else, and it sits on their plan with a pending marker. It is not part of the booking total, and checkout says so: requests are charged only if you approve.
Once the booking goes through — paid, or sent as a request to book — each requested item reaches you as its own approval request, at your listed price, with the day, time, options and answers the guest chose. You approve or decline it on the reservation like any other request (for a request to book, separately from the stay itself). Approving charges the card the guest booked with; declining charges nothing. A guest can request each item once per stay.
Every booking on Haven now saves the guest's card for later charges, so an approved request — or anything a guest adds from the guidebook later — is charged without asking for the card again.
Not sure which one applies? Ask the assistant "why is Offer at checkout greyed out?" — it reads your catalog and names the cause for each item.
Native experiences and add-ons are charged through your Stripe Connect account, the same way the stay is. Haven does not support Stripe Global Payouts and does not pay upsells to a different bank than the stay — the one exception is your own cut on a listing that pays an owner, below. Haven does not take a percentage of the upsell. Stripe's usual card processing (and, for some non-US payouts, Stripe's cross-border payout fee) still applies — those are Stripe costs, not a Haven commission.
Host Co is different: those sales complete on Host Co, Host Co fulfills them, and Host Co's marketplace commission applies. See Host Co store.
If a listing's bookings pay an owner or a teammate rather than your own account, you can keep a percentage of every upsell sold on it. Your cut of upsells sits at the top of the Upsells page and only appears once at least one of your listings pays someone else:
Each upsell can override the account default under Group & seasonal pricing → Your cut on this item: a different percentage, its own From the price / On top choice, or 0 to waive your cut on that item.
The guest pays once. Your cut is held back from the owner's payout and transferred to your own Stripe account about a week after the sale; Haven takes none of it. It shows on your Payouts tab under Fees that stay with you, and on the owner's payout details as a Kept by … line. A refund takes the cut back in the same proportion. On a listing that already pays your own account, the setting changes nothing — there is nothing to split.
/host?tab=bundles). /host/experiences opens the same studio.You can also attach items by property: pick a listing and switch its whole catalog on or off.
Changes autosave. The studio includes a live guest preview (property page for experiences, checkout for add-ons).
Open the item and click Duplicate (next to Edit). The copy is named "Name (Copy)", is active straight away, and carries everything over: pricing model and price options, paid extras, seasonal windows, photos and video, scheduling and blackout dates, inventory, guest questions, fulfillment steps and notes, and the same properties and multi-unit sites. Rename or re-price it like any other item.
One exception: a retreat that sells its own dates keeps those dated sessions to itself, because each session holds nights on the property calendar. The copy starts with no sessions — add its own dates.
The help assistant can do the routine catalog work for you rather than explain it. Ask it to duplicate an upsell ("copy my Private Group Yoga Class"), or to edit one ("rename it to Private Yoga for 2 and make it $70, keep everything else the same"), and it finds the item, makes the change, and tells you what it did. It edits names, prices, taglines and descriptions, presentation kind, pricing model, tax and refund flags, minimum nights, lead time, the three placement toggles, "Require my approval before charging", active on/off, and fulfillment notes. Ask it why "Offer at checkout" is greyed out and it reads your catalog and tells you the cause and the fix for each item. Options, photos, scheduling, inventory, guest questions, and where an item is offered still live in the studio. On a PMS-synced upsell the PMS owns the name, price, pricing model, taxable flag, and active state, so change those in the PMS. To set whether a synced upsell is taxed in Haven instead, use its Taxable switch in the studio (see below).
The Upsells studio offers a Suggested add-ons card with the extras almost every host ends up wanting: early check-in, late checkout, mid-stay clean, bring a pet, luggage drop, airport pickup. Pick one, choose the properties, set your price (Haven never suggests an amount), and it lands in your catalog as a normal upsell you can edit like any other. Suggestions you have already built stop appearing.
The two time-shifting ones ask for the exact time they buy — see Early check-in and late checkout.
Any priced upsell can be set to Ask me before charging. The guest sees a Request button at your listed price instead of a buy button, and nothing is charged until you say yes.
How it runs:
The emails the guest gets along the way — Add-on approved or declined, Add-on payment needs the guest, Add-on purchase receipt, and Add-on quote for quote requests — are under Communication → Message automations → Whenever this happens → A guest asks for or buys an add-on, where you can reword or switch off each one.
There is no re-pricing in this flow: the guest already agreed to the price, so you are only ever answering yes or no. If you want to name a price case by case instead, use Request a quote — see Provisioning and quote requests.
Rarely, a bank insists the guest confirm the payment in person (3-D Secure), or the saved card declines. Your approval still stands: Haven emails the guest a payment link for the same purchase at the same price, and the request shows as Approved — check your email to finish paying until they do. If you switched Add-on payment needs the guest off, the message after you approve says no link was emailed; Resend payment link on the request sends it either way.
Cards on file. Guests who booked through Haven save a reusable card the first time they buy anything post-booking, and that card is what approval charges. Guests on an Airbnb / Vrbo / PMS-synced stay, or on a booking made before this existed, save a card the first time they request something. Nothing is stored by Haven itself — the card lives with Stripe.
Complimentary ($0) items. An item priced at $0 — a free late checkout you offer returning guests, say — needs no card. The guest requests it, Approve settles it with nothing charged, and a time it grants takes effect exactly as a paid one does. Bought outright (without approval) or at checkout, it is added to the stay the same way, shown to the guest as Free.
Two upsells change the stay itself, so they are declared explicitly rather than guessed from a name:
12:00, check out by 14:00).Once such an item is paid, that time becomes the guest's real time everywhere: their guidebook check-in and checkout tiles, the reservation details, the calendar file they add to their phone, and the AI chat's answer to "what time can I get in?". A door code Haven manages follows it, a connected PMS booking is updated where the PMS allows it, and a turnover task moves to the new checkout time. Refund or cancel the item and the listing's normal times come back.
A time never makes a stay shorter. If you later move the listing's check-in earlier than an early check-in you already sold, the guest gets the listing's time.
Early check-in and late checkout bought in a connected Host Co store change the reservation the same way. See Host Co store.
Both are approval-gated by default, and should stay that way — whether you can hand over early depends on the previous guest and your cleaner, which is exactly the judgement call approval exists for.
Pricing models (same options for both presentations):
Party-size pricing (for per-guest models and flat packages):
More pricing (under More settings → Group & seasonal pricing):
Other charges and a refundable hold (under More settings → Other charges & hold):
Honest-price disclosures: a "price may change" flag with an optional note (for third-party-operated items), and a guest-visible "not included" line ("Excludes park entrance fees").
Prices use the property's currency. If one item is offered on properties that use different currencies, Haven will not invent a conversion — scope it to properties that share a currency, or create separate items.
Card processing fee. Post-booking upsells follow the same setting as your bookings: if you pass the Stripe processing fee to guests, the fee is added as its own visible line and you net your full price; if you absorb it, the guest pays exactly the listed amount. Whichever applied is frozen onto the purchase, so a receipt always matches what was charged even if you change the setting later.
One upsell can carry a set of choices, so "Cakes" is a single item rather than four. Open the upsell, click Edit, and use the Let guests customise it card. Each part is optional, and guests meet them in this order when they buy. These are the guest's choices; a charge that always applies (delivery, setup, a refundable hold) belongs under More settings → Other charges & hold instead.
Options — the guest picks one. Click Add options, then give each option a photo, a name, an optional detail line and a price. Click a tile's photo area to upload, or use the library button on the tile to pick a photo you already have. Chocolate, Vanilla, Mud and Cheesecake become four photo tiles the guest taps to choose; "Half day" and "Full day" work the same way without photos. The option's price is the price of the offer, so the single Price field steps aside once you add options, and the card guests see reads "From" the cheapest one.
Extras — paid add-ons on top. Click Add extra and choose how each is charged:
Ask the guest — free questions. Click Add question for anything you need to deliver it: the message for the cake, a note for you, a size. A question takes either a written answer or a pick from a list you type in, and you can make it required. For an airport pickup or transfer, Flight details (beside Add question) adds two optional questions in one click: Flight number and Flight arrival time. Guests who do not have them yet can skip them at booking and add or correct them later from their guidebook; the answers appear on the reservation either way. An item set to the arrival day (or departure day) sits on that day in the guest's plan, even when it is not otherwise scheduled.
Guests see a running subtotal as they choose. When the order comes in, the option, the extras (with how many) and the answers are on the order everywhere you look at it: the fulfillment board on the Upsells tab, the reservation, the delivery task, and the purchase email.
Where it sells. Everywhere the upsell does. On the booking page, switching the upsell on opens its options, extras and questions right under it, and the total updates as the guest picks. In the guidebook Offers tab the same choices appear after booking. On your property page, Learn more lists the options (with their photos and prices) and the extras, so guests can see what is on offer before they book.
An upsell with options cannot be paid for until the guest picks one, and a required question has to be answered first. The booking page names the upsell that is holding things up. Options, extras and questions never grey out Offer at checkout.
See Inventory and scheduling for how holds, pools, and sold-out states work.
Items can be pinned in time when guests buy them:
Details in Inventory and scheduling.
Attach questions guests answer at purchase ("Any dietary restrictions?", "Wetsuit size"), free-text or multiple choice, optional or required. Answers freeze onto the purchase and show up in your fulfillment queue.
Want to offer "book 5 nights, get free late checkout" or "weekly stays get a welcome hamper"? Set a Minimum stay under More settings → Who can buy & how many in the editor. It works with every pricing model, including a free Included perk.
Guests see the requirement on the card itself, so it works as an incentive rather than a hidden rule:
This shows on the property page cards, the add-ons list, and at checkout. A stay that does not qualify cannot buy the item at checkout or afterwards in the guidebook.
Example — free late checkout for 5+ nights: create an add-on called "Late checkout", set pricing to Included, set the departure-day scope and the checkout time it grants, and set Minimum stay to 5.
To charge shorter stays for the same thing ("$40, or free at 5+ nights"), create two items: a priced one with no minimum, and an Included one with the minimum stay.
Where it is offered
How experiences appear on the site
Open the gear on the Experiences row in the site editor (Layout tab), or the same gear in the Upsells studio preview. Pick one catalog mode:
From the same dialog you can generate pages from your upsells:
You can still add a dedicated page the long way: + New tab → Experience page, then pick the experience. If you have not created any yet, the modal links you to Grow your brand → Upsells. Rename the tab from Basics → Tab Name like any other page — an Experience badge stays on the row so it is not confused with a generic custom tab. The tab hero works like any other custom tab — a photo you pick in Tab Hero is a still; an auto-derived hero can carousel the package photos. Story sections can sit above or below the Experience details block (dates, what’s included, and booking). Price, photos, and where it is offered stay in Grow your brand → Upsells.
Collection sites use the same gear. Dedicated tabs and custom subset tabs work the same way there.
Rename the guest-facing Offers / store label at the top of Grow your brand → Upsells (Guest Offers name). That name is what guests see on property pages, in the guest portal, and in reservation emails. Leave it blank for the default "Guest Offers" (shown as "Offers" on compact tabs). To give one listing's guidebook Offers tab a name of its own, tap the pencil on the tab in the guide's phone preview, or use Guide layout & tabs → Tab names; see Rename a Tab.
These are general-purpose upsells. Typical uses:
If you fulfill it and want the money to land in your Stripe account with no Haven commission, create it as a native experience or add-on.
Most upsells attach to a stay the guest already has. A retreat is different: buying a seat is the stay.
A retreat still uses the same catalog: photos, what’s included, variants, extras, and a dedicated Experience page if you want a landing page for it.
Sell e-gift cards in your guidebook that guests spend on a future direct booking with you.
How it works:
Every card sold, and every stay credit you give, is listed under Grow your brand → Upsells → Gift cards & credits, with who has it and whether it has been used.
A stay credit is the same kind of card, given by you rather than bought by a guest — a credit note in place of a refund, by hand or automatically when your cancellation policy's Refunds are given as is set to Stay credit. You choose the amount, where it works, and a use-by date; unlike a sold card, any value a booking does not use carries over to a new code, and a signed-in guest's credit is applied automatically when they book with you again. See Give a Stay Credit Instead of a Refund.
Guests ask for breakfast, a transfer, a mid-stay clean. Put each one on their tab as it comes up, and they pay for everything once.
The tab works on direct bookings and on Airbnb, Vrbo and PMS stays synced into Haven, from a month before check-in until a week after checkout. Items on the tab are priced and taxed exactly like guidebook purchases, go straight into your fulfillment queue, count against stock, and a late checkout added to the tab unlocks its time right away.
If a charge doesn't go through (no card, a decline, or a bank asking the guest to confirm), everything stays on the tab, the guest is emailed a link to pay unless you switched Tab payment needs the guest off, and you are told whether they were. Nothing is cancelled. A guest whose only address is a booking-channel relay is never emailed; ask them to pay from Your tab in their guidebook.
Remove an unpaid item with the bin icon. A paid item is refunded from your fulfillment queue like any other line; a refund returns card money only, so give a new stay credit for any part paid with credit.
The guest's stay credits are applied to the tab automatically, the one expiring soonest first, and several can be used together. That covers a credit you gave by hand (an overpayment, a night they no longer need, "$50 toward breakfasts") and one your cancellation policy refunded as credit. The reservation sheet shows how many credits the guest has and what they are worth; expand the list to see where each came from and its use-by date, and Take off one you'd rather save for a later booking. The guest can remove one too. Nothing is spent until the tab is paid, and unused value moves to a new code. Give credit in the same section issues a new one that works on this tab straight away; untick Email the code to the guest there to give it without emailing the guest a code.
Every email the guest gets about the tab — Added to the guest's tab, Tab payment needs the guest and Tab receipt — is under Communication → Message automations → Whenever this happens → Extras go on the guest's tab, where you can reword or switch off each one.
Every sold line in the fulfillment queue has a Refund button, prefilled with the full amount still refundable on it. Send the whole amount and the item is cancelled and drops off your queue; send part of it and the item stays on your queue at a discount. A line that has already been fully refunded shows no button, because there is nothing left to return.
Items bought with the stay refund against the booking's payment; items bought after booking refund against their own. Either way the money comes back out of your payout, and a paid check-in or checkout time is withdrawn along with the refund.
An item's Other charges and its refundable hold are their own lines in the queue, so each has its own Refund button: return the hold on its own once the kayak comes back undamaged, and leave the delivery charge in place. A charge you marked not refundable shows no button.
Guests can also cancel an item themselves when you gave it a self-cancel window — you get an email when they do, so you can take it off your prep list.
If your PMS (Guesty, Hospitable, OwnerRez and others) already has upsells, Haven imports them into the same Upsells catalog and gives each PMS its own tab under Grow your brand → Upsells. The PMS owns the name, price, taxable flag, and whether it is active. Placement, photos, scheduling, inventory, and guest questions stay yours and a sync will not overwrite them.
You can take over whether a synced upsell is taxed. Open it, switch Taxable under Tax, refunds & status, and confirm Set in Haven. The PMS then stops updating that setting for this upsell; its name, price and status keep syncing. To hand it back, click the link next to the switch, such as Use Guesty's setting (it names your PMS), and the PMS's own value applies again. Guests buy them in the guidebook through Haven checkout. They are not Host Co.
Don't want your PMS upsells in Haven? Open that PMS's tab and switch off Offer {PMS} upsells to guests. Every upsell synced from that PMS is hidden from guests at once — the property page, checkout, and the guidebook — without disconnecting the PMS or deleting anything there. They keep syncing in the background, so names and prices are current if you switch it back on, and new upsells you add in the PMS arrive hidden too. Items guests already bought are unaffected.
Only want some of them? Leave that switch on, select the upsell, and turn off Offer in Haven on its card. That one upsell disappears from every guest surface and stays off through future syncs, while the rest keep selling. Turn it back on the same way. If an upsell shows turned off in {PMS}, it is inactive in the PMS itself — reactivate it there and Haven picks it up on the next sync.
Host Co is only for people who want Host Co's own store — local partner products Host Co fulfills, or a Host Co catalog they already run. Connect it under Settings → Integrations, then curate which items show on each property from Grow your brand → Upsells → Host Co. Connected items can appear on the property page and in the guidebook. Host Co handles payment and fulfillment and takes its marketplace cut.
Native experiences and add-ons do not require Host Co.
Grow your brand → Merchandise is branded goods you order for yourself — tees, totes, bottles, mugs, beanies, and caps with your logo — to leave in the property, hand to guests, or ship to a past guest as a thank-you. You pay for it, and a design does not appear on the property page, at checkout, or in the guidebook by itself.
To sell a design to visitors, link it to a store item: in the upsell editor, pick it under Merchandise design (the design must have been opened once on the Merchandise tab so its preview is saved). The store card, the item's detail view, and the bag then show the real preview of the design on the product instead of the cover photo, and you fulfil the order like every other store item. See Selling a design in your website store.
New to Haven?
Haven is the direct booking platform these guides are written for — a branded site, secure payments, and guest relationships you own. Build yours free.
Free to build · No credit card · Private until you publish