> For the complete documentation index, see [llms.txt](https://revhero.gitbook.io/revhero-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://revhero.gitbook.io/revhero-docs/setting-your-rates/pricing/pricing-structure.md).

# Pricing structures

The grid where one base rate and a short list of supplements become an end rate for every room type, board and occupancy.

A **supplement structure** is the pricing engine for a set of dates.

You give it 3 rates: the Base Rate, the Minimum Rate and the Maximum Rate. You then add a short list of supplements. A **supplement** is an amount that raises or lowers a rate, compared to the base rate. The structure produces an **end rate** for every room type, board, rate plan and occupancy the property sells. A **board** is a meal plan, such as room only or half board.

Open **Pricing**, then the **Supplement Structures** tab. It lists every structure, with its status, the periods it covers and the time it was last published. Click a structure to see the grid. To change it, choose **Edit Supplement Structure** from the three-dot menu at the top right.

![Base Rate, Min Rate and Max Rate each pass through the same supplements](https://272652298-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FnzEa7YGji6t92Mfc0ZJ1%2Fuploads%2Fgit-blob-5d887ac0c5a83f2c52cb9b043b79cabdf36ba6f0%2Fbase-min-and-max-each-carry-the-supplements.svg?alt=media)

*Each of the three rates you type passes through the same supplements, so every cell ends up with its own Base, Min and Max.*

## What "Gross" means

The 3 rates you type are labelled **Gross**. A **gross rate** is the full selling rate for the room: the price the guest is quoted and pays, before anyone takes anything off it.

It is the rate your channels display. It is the same basis Revhero reports room revenue on, so the rate you set here and the revenue you read elsewhere in Revhero are comparable.

| A gross rate includes                                                        | A gross rate does not include                                                         |
| ---------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
| The room itself, for that room type                                          | Channel commission                                                                    |
| The board, as priced by your board supplements                               | Channel discounts, such as loyalty or mobile rates                                    |
| Every supplement in the structure — room type, single, extra adult, children | A partner markup, or a contracted discount off your published rate                    |
| Taxes that form part of the selling rate                                     | Anything the guest buys separately at the property, such as spa, parking or transfers |

**Gross is what the guest pays. It is not what you keep.** What you keep depends on the channel the booking arrives through. Use [Offers](/revhero-docs/setting-your-rates/offers.md) to simulate that: it takes a gross rate and shows what the guest pays at each discount level, and what is left after commission or a partner markup.

{% hint style="info" %}
Whether a tax sits inside your selling rate or is collected separately at the property follows how your rates are loaded. If you are not sure which applies to your property, email <support@revhero.com> before you rely on the figure.
{% endhint %}

## The three rate inputs

| Input                    | What it means                                                             |
| ------------------------ | ------------------------------------------------------------------------- |
| **Base Rate (Gross)**    | The full selling rate for 2 adults in the base room on the base board     |
| **Minimum Rate (Gross)** | The bottom of your price range. The Yielding Board marks a rate below it. |
| **Maximum Rate (Gross)** | The top of your price range. The Yielding Board marks a rate above it.    |

The Minimum Rate and the Maximum Rate are a guide, not a gate. Revhero marks a rate outside the range so you can see it. It does not change the rate and it does not block the send.

Each of the 3 rates passes through your supplements on its own. Every cell therefore ends up with its own Base, Min and Max rate.

This matters. The Min Rate you see on the Yielding Board for a family room on half board is your Minimum Rate *with that cell's supplements applied*. It is not the plain 2-adult Minimum Rate.

{% hint style="info" %}
Base Rate appears only when at least 1 room type is set to Per Occupancy. An all-villa property has no shared base rate. Each unit carries its own rate instead.
{% endhint %}

## Reading the grid

Room types run down the side. Each room type opens into the occupancy combinations it sells: 1 adult, 2 adults, 2 adults plus 1 child, 3 adults, and so on.

Boards run across the top. On the Per Occupancy tab, the base board is locked into the first column.

Two tabs split the room types by pricing model.

| Tab               | What is on it                                                                                                                                                                |
| ----------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Per Occupancy** | Room types built from the shared Base Rate                                                                                                                                   |
| **Per Unit**      | Room types priced on their own, such as villas and large suites. Occupancies below the unit's base occupancy are hidden, because a 4-person villa does not sell to 1 person. |

A property with both models sees both tabs. Per Occupancy room types come first.

### The columns

The **Calculation Policies** column on the far left labels each row. It carries 4 things:

| Item in the column                       | What it marks                              |
| ---------------------------------------- | ------------------------------------------ |
| The **Base** tag                         | The room type's base-occupancy row         |
| The **Single Use** tag                   | The 1-adult row                            |
| An **Incomplete** or **Complete** status | Whether that room type is fully filled in  |
| The **Override Charges** dropdown        | Where you set the minimum occupancy charge |

Next comes 1 block of columns per board, in your board hierarchy order.

The base board block carries the Room Type Supplement, the Single Supplement and the extra-adult columns. Every other board block drops those first 2 columns. Instead it adds a **Board Supplement**, with its own extra-occupancy columns and a **+ Child** column.

Every board block ends with 3 end-rate columns: **Base Rate Calculations**, **Min Rate Calculations** and **Max Rate Calculations**. Each one has an information icon. The icon shows exactly which values produced that rate. Use it whenever a rate surprises you. It is the fastest way to explain one.

## A worked example

This example uses a Base Rate of €200, a sea-view room with a Room Type Supplement of €30 per room, and half board at €25 per adult.

| Step | Cell                                | What is added                    | End rate |
| ---- | ----------------------------------- | -------------------------------- | -------- |
| 1    | Base room, base board, 2 adults     | Nothing. This is the Base Rate.  | €200     |
| 2    | Sea-view room, base board, 2 adults | €30 for the room type            | €230     |
| 3    | Sea-view room, half board, 2 adults | €25 for each of 2 adults, so €50 | €280     |

Now change the Base Rate to €220. All 3 end rates move together, because all 3 are built from the same Base Rate.

## Filling a structure in

1. **Set the Base Rate, the Minimum Rate and the Maximum Rate** at the top. The grid recalculates as you type.
2. **Set the Room Type Supplement** for every room type above the base room. See [Supplements](/revhero-docs/setting-your-rates/pricing/supplements.md) for the choice between per room and per person, and between a fixed € amount and a percentage.
3. **Set the other supplements.** These are the [Single Supplement](/revhero-docs/setting-your-rates/pricing/single-supplement.md) on the 1-adult row, the extra adult supplements above base occupancy, the children supplements, and the board supplements on each board above the base board.
4. **Check the result against a cell you know.** Pick a real recent booking, such as 2 adults and 1 child on half board. Confirm revhero produces the rate you expected. If it does not, open that cell's information icon and correct the value that is wrong.
5. **Use Bulk Update** for a supplement that applies across several room types. Pick the room types and a common board, set the values, then click **Apply**. It cannot set Room Type Supplements — those are entered room by room.
6. **Set a Minimum Occupancy Charge** where a room type's break-even sits above its lowest physical occupancy. Smaller parties can still book the room. They pay that rate.
7. **Publish** once the structure is Completed and at least 1 period is linked.

## When a rate is not what you expected

| What you see                                                        | Usually because                                                       | What to do                                                                      |
| ------------------------------------------------------------------- | --------------------------------------------------------------------- | ------------------------------------------------------------------------------- |
| The rate rises steeply as occupancy rises                           | A supplement is set per person where you meant per room               | Change it to per room                                                           |
| The Publish button stays disabled                                   | One occupancy combination on one room type is still empty             | Look for the rows marked Incomplete                                             |
| The Per Unit tab is empty                                           | No room type is set to Per Unit                                       | This is correct. Set the room type's pricing model in Settings.                 |
| The Min Rate on the board is higher than the Minimum Rate you typed | The Minimum Rate passes through the same supplements as the Base Rate | This is correct. Lower the Minimum Rate, or lower the supplements on that cell. |

The values you change are the supplement values and their modes. That is where all your commercial rules live.

## Related

* [Supplements](/revhero-docs/setting-your-rates/pricing/supplements.md)
* [Single supplement](/revhero-docs/setting-your-rates/pricing/single-supplement.md)
* [Periods & seasons](/revhero-docs/setting-your-rates/pricing/periods-and-seasons.md)
* [Publishing to the Yielding Board](/revhero-docs/setting-your-rates/pricing/publish-and-yield.md)
* [Base room & base board](/revhero-docs/your-hotels-setup/settings/base-room-and-board.md)

***

**Was this page helpful?** If something here is wrong, unclear or missing, email [support@revhero.com](mailto:support@revhero.com?subject=Manual%20feedback%20%5Ben%5D%20pricing%2Fpricing-structure.md) and quote this page: `pricing/pricing-structure.md`. Say what you expected to find — that is the part we can fix.
