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.
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.
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 your stay:
The bag is kept in the guest's browser. It is a shortlist, not a payment: nothing is charged until they book.
An upsell set to Guests pick → A date in their stay (cooking class, banquet, photoshoot) sells at checkout. When the guest switches it on, the booking page asks for a Preferred day and lists the days of their stay, leaving out arrival or departure day and any blackout dates you set. They cannot continue until they pick one.
The day is a request. The guest pays for the item with the stay, and you confirm the day afterwards:
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 |
|---|---|---|
| Require my approval before charging is on | Nothing is charged until you approve, and no stay exists yet | Switch it off under More settings → Stay timing & approval |
| Pricing is Request a quote | There is no amount to charge | Change Pricing to a fixed price (Flat, Per guest, Per night) 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.
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 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.
/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:
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.
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.
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):
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.
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.
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).
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.
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.
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; guests never buy it on your site, and it does not appear on the property page, at checkout, or in the guidebook. See Branded Merchandise.
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