The rate engine is used in many places to generate charges and quote prices, including quoting on hosted websites and book now widgets, quote creation, and booking creation. It's a rules based engine, driven by seasons, rates, surcharges, discounts, add-ons and taxes -- which is why it's one of the more complex things to set up.
This article walks through the different concepts used in the rates engine and drills into how rates are calculated.
However, before you read the rest of this article, take a few minutes to watch the following videos. This first overview video is a special high-level video that walks you across many areas of the system pertaining to rates and their impact, and the others are specific to things you'll need for finding and adjusting rate settings.
- Video - Rates Overview
- Video - Setting Seasonal Rates
- Video - Using the Rate Calendar
- Video - Taxes Overview
There are also detailed articles on specific concepts like the rate editors, common scenarios for surcharges and discounts, and testing:
- Seasonal rates editor
- Spot rates editor
- Common scenarios for surcharges and discounts
- Testing rates
Seasons define a period of time based on a date range.
- Recurring seasons specify a month/day to month/day period that repeats every year.
- Specific Dates seasons specify a month/day/year to month/day/year period that does not repeat.
Recurring seasons are useful if your rates don't change on a yearly basis. Specific Dates seasons are useful if your rates do change every year, or if you want to apply rates to specific periods inside a year that have slightly different dates every year -- like holiday weeks.
Seasonal rates tie directly to seasons. Other amounts (surcharges, discounts, add-ons, taxes) can be configured to only apply during a specific season, or to apply to all seasons.
Seasons also allow control over rules that can be applied to bookings, like minimum number of nights and changeover days.
Seasonal Rates control your base rent on a nightly basis -- either for all nights or for nights and weekend nights separately. They're basically your seasonal defaults.
Spot Rates complement Seasonal Rates by "painting on top" of the seasonal rates to override the nightly rate and optionally minimum nights rule for the applicable nights.
Spot Rates are only used for the specific dates they apply to. Any surrounding seasonal rates for dates not covered by Spot Rates will be used normally.
You can still set seasonal rules like minimum nights, days of week, second payment days etc. for any time covered by Spot Rates (and even seasonal rates for dates not covered by Spot Rates). Any taxes or surcharges like guest fees or cleaning fees will apply based on season as well.
Dynamic pricing integrations like PriceLabs use Spot Rates to set rates based on their demand based pricing rules.
👉 Discounts are still applied to Spot Rates!
If you use a pricing tool to set Spot Rates, make sure to remove any last minute discounts etc. so you don't double discount.
Surcharges, discounts, and add-ons add or subtract an amount or percentage from your base rent, handling things like guest fees, pet fees, cleaning fees, repeat guest discounts, last minute discounts, optional upsells, pool heat, etc. They can be applied per night, per stay, or multiple times based on number of guests, adults, pets etc. via the multiplier setting. They are all configured in the same Surcharges & Discounts section. Surcharges and discounts can both be applied automatically, optionally (an Add-On), or manually -- those modes are controlled by the Applied setting on the surcharge.
Taxes configure a percentage or amount due to the taxing authorities in your area. Every other amount (rates, surcharges, discounts, add-ons) has an is taxable flag that controls whether tax will be calculated on that amount. Multiple taxes can be configured with different percentages. The percentages are accurate to 4 decimal places to accommodate all tax calculations.
When generating a quote, everything is based on the dates and property selected for the quote. The rate engine first finds the season or seasons that match the property and dates, then uses the amounts (rates, surcharges, discounts, add-ons, taxes) that match the property and season to generate charges.
The season selection mode is controlled by the Select By configuration in Season Settings. Split Across is the default mode, which looks through each night of a booking and finds a matching season. This can match multiple seasons for a booking if it crosses seasons. You can also switch to Arrival Date or Departure Date mode, which selects a single season for the quote based on arrival date or departure date.
While multiple seasons can apply to a booking, only one season can apply to each night. If multiple seasons apply to one night, the most specific season will be selected. Specific Dates seasons always take precedence over Recurring seasons, even if the Specific Dates season is for a longer period of time. Shorter seasons take precedence over longer seasons, bearing in mind that a shorter Recurring season will not take precedence over a longer Specific Date season..
Once seasons have been selected, rates are calculated by using either the seasonal rate or spot rate applicable for each date.
After charges for rates are generated, all matching surcharges, discounts, and taxes are selected and applied. All items where the properties and seasons configured match the property and at least one season of the booking will be added.
Surcharges and discounts have two additional forms of criteria: Multipliers and Booking criteria.
Multiplier criteria allows you to configure surcharges that apply based on the number of Guests, Adults, Children, or Pets. If a Per Multiplier or Per Night & Multiplier setting is used, the item will only be added if the number matches the criteria you set. You can set an interval that will be used (for example: per 1 guest, 2 guests etc.) as well as minimum that will be checked (for example: after the first 2 guests). If the criteria matches, the Amount of the item will be multiplied by the multiplier you've chosen, and number of nights (if you choose Per Night & Multiplier).
For example, you could create a pet fee surcharge of $50 per multiplier, calculated per 1 after the first 0 pets. That would apply $50 per pet per stay.
Or you could create a guest fee surcharge of $25 per night and multiplier, calculated per 1 after the first 2 guests. That would apply $25 per guest per night, to guests over 2.
Booking criteria allows you to select criteria (days in future of the booking, number of nights, number of guests) and a formula (equal to 5, greater than 7, etc). If you add multiple critera, they all must match the booking for the item to be applied.
For example, you could create a last minute discount with an amount of -10% and a booking criteria of Arrival Date is Less Than 7 days away.
Or you could create a one night stay surcharge with an amount of $100 and a booking criteria of Number of Nights is Equal To 1.
Add-Ons (optionally selected surcharges) won't show in the quote. They are available to be selected by the guest at checkout. You can also configure a detailed information section for each add-on that guests can view during checkout.
Both seasons and surcharges/discounts/taxes have property criteria. If you define a season X that matches property A, and a surcharge/discount/tax Y that matches property B and season X, it will not apply to property A at all. If you run into a situation where you think you have configured a surcharge/discount/tax for a property but aren't seeing it show up in a quote, check the season properties to make sure they match as well.
To control the position of items in a quote, you can assign their position value. This is important because percentage-based items only apply to charges above them.
Rent items are always added first, then surcharges/discounts, then taxes last. These items have position settings which controls which order that charges will appear in the quote. Lower positions (or blank positions) appear earlier in the quote, while higher positions appear later. For example, a position 5 would appear after a blank position, but a position 10 would appear after the position 5.
If you have a percentage-based surcharge or discount that should apply to other surcharges/discounts, give it a high priority. For example, if you have a per guest fee and a last-minute discount, leave the priority blank on the guest fee but give the last-minute discount a priority of 10 so it shows after the guest fee and applies to it as well as rent.
Taxes are added at the end and apply to all items above them with the Is Taxable flag set. If you have a surcharge or discount that's not taxable, you can optionally place it after the tax items by using the "Place this below tax line items" option.