Start free

Hotel rates: seasons, rate plans, restrictions and cancellation

Seasonal price, a rate plan with meals, derived rates, prices by adults and children, stop sell, closed arrival and departure, cancellation policy

14 min read Open this screen in the demo
On this page 14

Hotel rates: seasons, rate plans, guests, restrictions and cancellation

This article gives step-by-step instructions for room prices: setting a season, creating a rate plan, pricing by number of guests, closing sales on dates and attaching cancellation terms to a rate plan. For an overview of the hotel module, see Hotel: Rooms, PMS and Guest Service.

Who: the hotel owner or a staff member with access to room settings. The location's business type must be "Hotel".

Before you start: create your rooms and room types (Standard, Deluxe and so on) with a base nightly rate — see Room types and rates.


Where rates are set#

  1. Open Rooms.
  2. Select 💲 Rates. The Hotel settings window opens on the Rates & restrictions tab. The neighbouring tab is Rooms & types; the 🏷️ Room types button also leads there.
  3. From top to bottom the tab shows Rate plans, the revenue block, room promo codes, Seasonal rates and late-arrival settings.

Which price wins#

The nightly price comes from the first rule that applies:

  1. the Price and restriction calendar (a price for specific dates);
  2. a derived rate (a percentage of its parent);
  3. the rate plan's own price;
  4. a season for this room type;
  5. a season for "All types";
  6. the rate fixed at check-in;
  7. the room type's base rate.

The key consequence: seasons do not affect a rate plan with its own price. If you sell through rate plans and want a higher price for a holiday, set it in the price calendar (see Close sales on dates) rather than as a season.


Set a seasonal price#

A season suits a hotel that sells at one nightly price without rate plans, or serves as a fallback price for room types that no rate plan covers.

  1. On the Rates & restrictions tab, find Seasonal rates and select Add season.
  2. Fill in From and To — the first and last day of the season.
  3. In Type, choose a room type or All types. A season for a specific type is stronger than an "All types" season on the same dates.
  4. Enter the price in Rate / night. A row with a price of 0 has no effect.
  5. Select Save under the season list.

How to check: in Check the price (see below), pick a date inside the season and the room type — the result says "seasonal price".

If it won't save: the message "Each season needs a valid “From” ≤ “To” date range." means you need to fix the dates in the highlighted row.


Create a rate plan (including one with meals)#

A rate plan is what you actually sell: price, meals, cancellation terms, restrictions and sales channels.

  1. In Rate plans, select Add rate plan or a quick-start button: Flexible, Non-refundable (creates a plan 13% cheaper than the first own-price plan) or Breakfast included.
  2. Name — how the guest will see the plan, for example "Breakfast included".
  3. Room types — which types the plan covers, or All room types.
  4. Meal — Room only, Breakfast, Half board, Full board or All inclusive.
  5. Under Price, keep the mode Own price and enter Base rate per night. There is no separate meal price: it must already be included in this price.
  6. Select Save rate plans. "Saved" should appear.

What the meal setting does. For an in-house guest on such a plan, the till sees a meal package: breakfast; breakfast and dinner on half board; breakfast, lunch and dinner on full board; unlimited on all inclusive. The number of portions of each meal per day equals the number of guests in the booking (at least one). How the cashier deducts them is explained in Breakfast and other meals in the rate.

If Save rate plans is disabled: the list "Fix before saving:" above the button shows what to correct.


Set up a derived rate#

A derived rate is calculated from another one: "Non-refundable = Flexible −13%", "Breakfast = Room only +15%". Change the parent's price and both change.

  1. Open the plan (or create a new one) and under Price set Mode to Derived from another plan.
  2. In Parent plan, choose the plan to calculate from. The parent must use the same currency.
  3. In Modifier, %, enter a percentage: negative is cheaper, positive is more expensive. For example, −13 means 13% below the parent.
  4. Select Save rate plans.

The modifier is a percentage only; the price is rounded to the currency's smallest unit (for example, cents). A chain can be at most two steps deep: a plan derived from a derived plan is allowed, but nothing further.

Common errors:

  • "Parent plan is not selected or unknown" — choose a parent.
  • "Plans derive from each other in a loop" — plan A is derived from B and B from A; break the loop.
  • "Derived chain is too long" — switch one of the plans to Own price.
  • A modifier of −100% or less gives "Invalid price setup".

Set prices by number of guests#

This is the Price by occupancy block of a rate plan. Leave it empty if the price does not depend on the number of guests.

  1. Open the plan and expand Price by occupancy.
  2. Adults covered by base rate — how many adults the base price already includes, for example 2.
  3. Extra adult — how much to add per night for each adult above that number.
  4. Extra bed — the price per night for each extra bed.
  5. If prices for one, two or three guests don't fit "base + surcharge", fill in Fixed price for N adults: select Add row, enter Adults and the price per night.
  6. Select Save rate plans.

How the price is calculated:

  • a table row for the exact number of adults replaces the base price;
  • more adults than the last row — the last row's price plus the surcharge for each extra adult;
  • fewer adults than the first row — the first row's price;
  • no table — the base price plus the surcharge for adults above "covered by base rate". If "covered by base rate" is empty, no surcharge is charged.

Set children's prices by age#

Children's age bands are set in the same Price by occupancy block, under Children.

  1. Select Add age band.
  2. Up to age — the upper age limit of the band, inclusive, for example 5.
  3. Price/night — the surcharge per night for a child in this band; 0 means free.
  4. Add more bands (for example, up to 5 — 0, up to 12 — 20) and select Save rate plans.

A child gets the first band their age fits. A child older than every band pays as an extra adult. If the child's age is not entered, the oldest band applies; with no bands, the extra adult price applies. A child's price is a fixed amount; there is no percentage of the adult price.


Close sales on dates#

Stop sell, minimum stay and prices for specific dates are set in the rate plan manager's Price and restriction calendar.

A date range:

  1. Select Add date range.
  2. Enter From and To.
  3. Choose a room type (or All room types) and a rate plan (or All plans).
  4. Set the Stop sell flag to "on". You can also set Rate, Min stay and the maximum stay here.
  5. Select Save rate plans.

In bulk on the grid: in Bulk edit: rate × date, choose a start date, the number of Days (7, 14 or 30) and a room type, select cells (Shift selects a block), set the values and select Apply to selection. Fields left as "keep as is" don't change. Then select Save rate plans.

Each flag has three values: "Inherit" (take it from the plan), "on" and "off". When ranges overlap, an entry for a specific room type is stronger than an entry for a specific plan; with equal scope the last row wins.

What stop sell does:

  • a guest on the website cannot book any night on closed dates — the server checks this and the guest cannot override it;
  • a staff member creating or editing a booking gets a refusal. A sale is still possible: the form offers Sell anyway, despite the restriction and requires Reason for overriding (required); the booking is marked "Sold despite the restriction" with the reason and author;
  • if no rate plan is selected in a staff booking, rate plan restrictions are not checked.

Close arrival or departure on dates#

Closed arrival (the guest cannot arrive that day) and closed departure (cannot leave) can be set in two ways.

By weekday — in the rate plan:

  1. Open the plan, section Sale restrictions.
  2. In Arrival closed on and Departure closed on, select the weekdays.
  3. Select Save rate plans.

On specific dates — in the calendar: add a date range as described above and set the No arrival or No departure flag to "on". In the bulk edit grid they are marked A (no arrival) and D (no departure).

A calendar entry for a date is stronger than a weekday rule. Closed arrival is checked only on the arrival day and closed departure only on the departure day: a stay that passes through these dates is allowed.

The same section of the plan also has Min stay, nights and Max stay, nights (checked on the arrival date), Book at least, days ahead and Book at most, days ahead, an Access code for a corporate plan (without the code it is hidden from public sale) and Plan is off.


Attach a cancellation policy to a rate plan#

The cancellation policy is part of a rate plan: each plan has its own.

  1. Open the plan and expand Cancellation.
  2. Choose the type:
    • Flexible — free cancellation until a deadline; a penalty after the deadline and on a no-show;
    • Non-refundable — the full stay amount is kept on cancellation;
    • Custom — a penalty on any cancellation.
  3. For Flexible, enter Free until, days before arrival. The deadline is midnight N days before arrival, hotel time. It can only be set in days.
  4. Choose the Penalty ("Penalty after the free-cancellation deadline" for Flexible): First night (default), Percent of stay, Fixed amount or No penalty — and fill in Value.
  5. Select Save rate plans.

The terms are stored in the booking at the moment of sale: changing the plan's policy later does not affect bookings already sold. How the penalty is applied on cancellation is described in Hotel booking actions.

The error "Enter the penalty: percent from 0 to 100, or an amount above 0" means the value is empty or out of range; if no penalty is needed, choose "No penalty".


Check the final price#

At the bottom of the rate plan manager is Check the price. It calculates the price the same way as the nightly charge and online booking, and takes unsaved edits into account.

  1. Enter Date, Room type, Rate plan, the number of Adults and the children's ages, comma separated, in Children.
  2. Read Night rate and where it came from: "from calendar", "seasonal price", "plan base rate", plus guest and weekday surcharges.
  3. If sales are closed on that date, the block shows "Sales closed on this date".

Check two or three typical dates (a weekday, a weekend, a holiday) and guest combinations before opening sales.


The price of a booking already sold#

Everything set on this tab applies to new sales. When a booking is created, the system stores the price of every night, and the nightly charge to the guest folio takes the price from there, not from the current settings.

  • You changed a rate plan, season or the price calendar — bookings already sold are not recalculated.
  • You extended a stay — nights already sold keep their price; added nights are priced at current rates.
  • You changed the guests in a booking — the rate plan price is recalculated for the new party. A negotiated price (entered manually by staff, set by a company contract or received from a channel) does not change with the party.
  • You need to change the nightly rate of a sold booking — a staff member changes Rate per night in the booking card and must fill in Reason for the rate change. The new price applies equally to all nights of the booking, and the booking log gets a "Nightly rate changed" entry with the author and reason. Step by step: Change the dates, room or price of a booking.
  • A price below the hotel minimum. If Do not sell below the minimum without confirmation is on in Revenue, a manual nightly rate below the room type minimum is not saved. The calendar has no window to confirm such a sale yet — see Pricing rules and the Revenue screen.

What is not available#

  • Stop sell for an individual channel — only per room type and rate plan.
  • A fixed-amount modifier for a derived rate — percentage only.
  • A free-cancellation deadline in hours — days only.
  • A child's price as a percentage of the adult price — fixed amount only.
  • Sending prices and restrictions to OTAs: the two-way channel manager currently works only on the provider's test environment — see Bookings and iCal export to OTAs.

FAQ#

I raised the holiday price, but guests who booked earlier still have the old price. Is this a bug?#

No. The nightly price is fixed in the booking at the moment of sale. The new price applies to new bookings and to nights added to a stay later.

Why doesn't a season change the price of my rate plan?#

Seasons do not apply to a rate plan with its own price — seasons come lower in the priority order. For such a plan, set the price on dates in the Price and restriction calendar.

How do I sell a room on dates closed by stop sell?#

A guest on the website cannot. A staff member creating the booking presses Sell anyway, despite the restriction and enters a reason — the booking gets a "Sold despite the restriction" mark.

Can I make a rate plan that only our corporate clients can see?#

Yes. Set an Access code on the rate plan: without the code the plan is not shown in public sales. For regular companies with a contract price and a quota, a contract is more convenient — see Company contract rates and agent commission.

Do prices and stop sell reach Booking.com and Airbnb?#

No. iCal exchange carries only occupied dates. Change prices and restrictions on those platforms in their extranets.