Haven offers a powerful discount system that helps you attract more bookings while maintaining predictable pricing. This guide explains how to set up and manage discounts for your property.
Haven uses a deterministic three-layer discount architecture:
┌─────────────────────────────────────────────────────────────────┐
│ LAYER 1: Night-Level Discounts (per night) │
│ Precedence: PROMOTION > EARLY BIRD > LAST MINUTE │
│ Only ONE can apply to each night │
└─────────────────────────────────────────────────────────────────┘
↓
If ANY night has Layer 1 discount
↓
BLOCK Layer 2
↓
┌─────────────────────────────────────────────────────────────────┐
│ LAYER 2: Stay-Level Discounts (length-based) │
│ Weekly / Monthly / Trip-length tiers │
│ Applied ONLY if ALL nights have NO night-level discount │
└─────────────────────────────────────────────────────────────────┘
These discounts are evaluated for each individual night in a stay.
Create special offers for specific date ranges:
To create a promotion:
Reward guests who plan ahead:
To set up early bird:
Fill last-minute availability gaps:
To set up last minute:
These discounts apply to the entire stay based on length. They only apply if ALL nights in the stay have no night-level discount.
By default they take their percentage off the whole pre-tax total — nightly rates and fees like cleaning and linen. Turn on Nightly rate only (Calendar → Pricing → Discounts, the switch beneath Trip length) and they come off the nightly rate alone, so the cleaning fee and every other fee stay as they are. The switch is yours even when a PMS owns your weekly and monthly percentages. Bookings already made keep the setting they were made with.
A stay only ever gets the single highest length-of-stay tier it qualifies for — the tiers never stack. Weekly starts at 7 nights, Trip length at the number of nights you set, Monthly at 30. So to give 10% at 7 nights and 30% at 28 nights, set Weekly 10% and Trip length 28 nights at 30%; a 28-night stay gets 30%, not 40%.
Encourage week-long stays:
To set up:
Attract long-term guests:
To set up:
Create custom length-based tiers:
To set up:
Discount codes are different from promotions. They are codes that guests enter at checkout (e.g., WELCOME15, SPRING20). They work alongside the layers above—a discount code stacks on top of any promotion or stay discount. These codes live on Haven and work even when nightly pricing is managed by a PMS. If you use OwnerRez, its percentage discount codes are copied into Haven when your account syncs; see OwnerRez discount codes.
Best for:
How it works:
?discount=CODE) rides from your listing page into checkout. Bookings of several rooms at once don't take discount codesTo create and manage discount codes:
One code on several listings: in Sites → Listing settings, tick the listings, click Edit settings, and on the Discount codes row click Manage codes → New code. Each ticked listing gets its own copy of the code, and edits, deactivating or deleting it from there change every copy on those listings at once. See Discount codes for the listings you picked.
If you have a multi-unit site (a collection of listings under one page), you can create a code once for the whole site instead of repeating it on every listing. Go to the site's editor, open the Settings tab, and choose Discount codes. Guests can then redeem that code on any listing that belongs to the site.
Site-wide codes show up on each member listing's Discount codes card with the site's name next to them. They're read-only there — edit, deactivate, or delete them from the site's Settings tab, and the change applies everywhere at once.
A code name can only be used once across a listing and the sites it belongs to. If a listing already has SUMMER20, you can't add a site-wide SUMMER20 that would cover it (and vice versa) — rename one of them, or delete the listing-level code and let the site-wide one take over.
An account-wide code works on every listing you have, now and in the future. Create one from Property settings → Discount codes → New code with Applies to: Account-wide.
If the name you type is already a code on one of your listings or multi-unit sites, the dialog says where it is and the button changes to Make account-wide. Clicking it turns that existing code into the account-wide one with the percentage, label and stay window you entered — its redemption history, and any printed card, popup or email that already uses it, carry over. If the name is on more than one of your listings or sites, delete or rename those codes first.
A listing or site code only works on that listing or site. On any other listing, checkout says Invalid or expired discount code — it never says why, so codes can't be guessed. If a code you know is active is refused, check which listing it belongs to in Property settings → Discount codes.
Tips:
Separately from the layers above, Haven offers an account-wide Direct booking discount that rewards guests for booking on your Haven site instead of an OTA. Unlike the layered discounts, it stacks on top of everything else — it's applied last, after promotions, stay discounts, and any discount code. Set it once from Listings → gear icon → Property settings, and override or disable it per property under Edit Listing → Pricing → Discounts. It is not on the Integrations tab.
See the Direct Booking Discount article for full details.
After a guest selects dates, they see:
Guests only see applied discounts, not potential ones.
The layered discounts do not stack with each other:
The one exception is the Direct Booking Discount, which is intentionally additive — it stacks on top of whichever layered discount (and any discount code) applies, since it represents passing platform-fee savings back to guests who book direct.
If any night in the stay has a promotion, early bird, or last minute discount, the weekly discount will not apply. This is by design - the night-level discount takes precedence.
Not on the same stay. If even one night falls within a promotion period, the weekly discount is blocked. This ensures guests see clear, predictable pricing.
| Discount Type | Suggested Range | Best For |
|---|---|---|
| Weekly | 10-15% | Vacation properties |
| Monthly | 20-30% | Properties near business centers |
| Early Bird | 5-10% | High-demand properties |
| Last Minute | 10-20% | Properties with variable demand |
| Promotions | 10-25% | Seasonal or event-based sales |
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