Analytics cookies
We use analytics to understand usage and improve Vesta.
Skip to Content
PricingRate PlansUnderstanding Rate Plans

Overview

Rate plans are the pricing rules that determine what a guest pays per night for a room. They sit between the room type’s base price and the final amount on the booking, and they give you the flexibility to offer different rates for different situations — a standard rate, a member discount, a non-refundable deal, a weekend package, and so on.

Every rate plan is linked to a specific room type and uses that room type’s base price as its starting point (directly or indirectly). When a guest books, Vesta runs the rate plan’s pricing rules to calculate the nightly rate, then locks that price into the booking as a rate snapshot.

Understanding how rate plans work will help you set up pricing that accurately reflects your revenue strategy. For step-by-step creation instructions, see Creating Rate Plans.

Root vs. Derived Rate Plans

There are two kinds of rate plans, and the difference is where they get their starting price.

Root Rate Plans

A root rate plan calculates its price directly from the room type’s base price per night. It has no parent plan.

For example, if your “Deluxe Double” room type has a base price of EUR 120, a root rate plan called “Standard Rate” with a +10% modifier calculates: EUR 120 x 1.10 = EUR 132 per night.

Root plans are your primary pricing tiers — the Standard Rate, the Best Available Rate, the Non-Refundable Rate.

Derived Rate Plans

A derived rate plan calculates its price from a parent rate plan’s calculated price, not directly from the base price. This creates a pricing chain:

Room type base price —> Parent rate plan price —> Derived rate plan price

For example:

  • Room type base price: EUR 120
  • Parent “Standard Rate” (+10%): EUR 120 x 1.10 = EUR 132
  • Derived “Member Discount” (-15%): EUR 132 x 0.85 = EUR 112.20

Derived plans are useful for rates that should always maintain a relationship to another plan — loyalty discounts, corporate rates, or package deals that are always a certain percentage off your standard rate.

:::info Derived rate plans can only go one level deep. You can derive a plan from a root plan, but you cannot derive a plan from another derived plan. This keeps pricing transparent and predictable. :::

Pricing Types

Each rate plan uses one of these pricing types to calculate its price:

Modifier (Percentage Adjustment)

Adjusts the starting price by a percentage. This is the most common type.

  • +10% means the price is 110% of the starting price
  • -15% means the price is 85% of the starting price

Example: Base price EUR 100, modifier +10% = EUR 110/night

Absolute (Fixed Adjustment)

Adds or subtracts a fixed amount from the starting price.

  • +EUR 50 adds fifty to the nightly rate
  • -EUR 20 subtracts twenty from the nightly rate

Example: Base price EUR 100, adjustment +EUR 50 = EUR 150/night

Occupancy-Based (Extra Guest Charges)

Starts with the base price and adds surcharges for guests beyond a base occupancy level.

  • Base occupancy — the number of guests included in the base price (e.g., 2)
  • Extra adult charge — amount added per additional adult per night
  • Extra child charge — amount added per child per night

Example: Base price EUR 100, base occupancy 2, extra adult charge EUR 25, extra child charge EUR 15. A booking for 3 adults and 1 child: EUR 100 + (1 x EUR 25) + (1 x EUR 15) = EUR 140/night

:::tip Occupancy-based pricing is ideal for room types that accommodate families or groups — suites, family rooms, apartments. It lets you set a competitive base price for standard occupancy while fairly charging for additional guests. :::

How Vesta Calculates the Nightly Price

For each night of a stay, Vesta evaluates pricing rules in a specific order. Higher-priority rules override lower ones:

PrioritySourceWhat It Does
1 (highest)Calendar direct priceIf a specific price is set for this date, it is used as the final base price. All other calculations are skipped.
2Calendar modifier/adjustmentA date-specific percentage or fixed adjustment. Replaces the plan’s default modifier for this date.
3Rate plan modifier/adjustmentThe plan’s default pricing rule. Used only if no calendar override exists for this date.
4Base priceThe room type’s base price (root plans) or the parent plan’s calculated price (derived plans).
5 (always last)Day-of-week modifierA percentage adjustment for specific days of the week (e.g., weekends). Applied on top of whatever price was calculated above.

Worked Example

Consider a “Deluxe Double” room type with a base price of EUR 100/night, and these rate plan settings:

  • “Standard Rate” root plan: +10% modifier
  • “Member Discount” derived from Standard: -15% modifier
  • Day-of-week: Saturday +20%
  • Calendar override for Dec 31: direct price EUR 200

A member booking Mon Dec 30 to Thu Jan 2:

NightCalculationResult
Mon Dec 30Standard: EUR 100 x 1.10 = EUR 110. Member: EUR 110 x 0.85EUR 93.50
Tue Dec 31Calendar direct price: EUR 200 (skips plan modifiers)EUR 200.00
Wed Jan 1Same as Dec 30 (no override, not a weekend)EUR 93.50
Thu Jan 2Same as Dec 30EUR 93.50

If Jan 3 were a Saturday, the price would be: EUR 93.50 x 1.20 = EUR 112.20 (day-of-week modifier applied last).

Rate Snapshots

When a booking is created, Vesta calculates the price for every night of the stay and saves the result as a rate snapshot inside the booking. This snapshot is permanent — it will not change even if you later update the rate plan, the base price, or the calendar overrides.

This means:

  • Existing bookings are protected from accidental price changes
  • Historical records are accurate — you can always see exactly what was charged
  • Rate adjustments only affect new bookings going forward

:::warning If you change a rate plan’s modifier or a room type’s base price, double-check your rate calendar to make sure the new prices look correct for upcoming dates before new bookings come in. :::

:::permissions

  • rate_plans:view — Browse rate plans and see pricing details
  • rate_plans:create — Create new rate plans
  • rate_plans:edit — Modify existing rate plans
  • rate_plans:delete — Deactivate rate plans :::