> 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/offers.md).

# Offers

Worst-case offer stacking simulations. See what a guest pays at each level of the stack, and what you keep after discounts, commission and partner markups.

Offers is a **simulation**. You describe the worst-case stack of discounts, commission and markups a rate can be subjected to. Revhero then shows you two things for any rate on the [Yielding Board](/revhero-docs/setting-your-rates/yielding-board.md):

1. **What the guest pays** at each level of the stack, as each discount comes off.
2. **What you keep** once commission is taken, or once a partner has marked your rate up and sold it at their own price.

You build up to 5 **offer groups**. Each group describes one commercial agreement — an online channel, a contract, a tour operator, your direct channel. Mark a group active and its result sits next to the send rate on the board. Change the rate and the result moves as you type.

{% hint style="warning" %}
Offers does not distribute anything. It is not the place where special offers are created, and it does not push promotions to your channels. That work stays in your channel manager. Offers tells you what will happen **before** you distribute a rate.
{% endhint %}

![What a €200 rate is worth through each channel](https://272652298-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FnzEa7YGji6t92Mfc0ZJ1%2Fuploads%2Fgit-blob-3e79a7aaf2a249210583e653be4d5c7c31ab4278%2Fwhat-a-rate-is-worth-per-channel.svg?alt=media)

*The same €200 keeps €200 direct and €137.70 through a channel carrying two discounts and commission.*

## Why you would use it

| The question                                                            | How the simulation answers it                                                                                                                                        |
| ----------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| *Will this rate still protect my contract rate?*                        | Enter the contract's markup, discount and commission once. Any send rate is checked against it in a second. This is the fastest benchmark a contracted property has. |
| *What will this rate look like after the channel has finished with it?* | The stack shows the rate the guest sees at each discount level, not only the rate you typed.                                                                         |
| *What do I actually keep?*                                              | The result is the amount left after commission, or after a partner markup and the contracted discount.                                                               |
| *Can I afford this cut?*                                                | Read the result before you send. A cut that looks small on the headline can be large on the weakest agreement.                                                       |
| *Which channel should fill this date?*                                  | Compare the same send rate through every active group, side by side.                                                                                                 |

The point is speed. You are answering these questions in the moment you are about to send a rate, not in a spreadsheet afterwards.

## Worked example 1 — an online channel

Your send rate is €200. The channel can apply a 10% loyalty discount and a 10% mobile discount to the same booking, and its commission is 15%.

| Level of the stack    | What happens                     | The rate |
| --------------------- | -------------------------------- | -------- |
| Your send rate        | The rate you publish             | €200.00  |
| Loyalty discount, 10% | The guest now sees this price    | €180.00  |
| Mobile discount, 10%  | The guest books at this price    | €162.00  |
| Commission, 15%       | The channel takes its commission | €137.70  |

**The guest pays €162. You keep €137.70.** Neither number is the €200 you typed.

Two 10% discounts do not remove 20%. They remove 19%, because the second applies to what the first left. The commission then applies to the discounted price, not to your published rate.

## Worked example 2 — protecting a contract rate

Your contract reads: *22% off the published rate, and the partner may mark the rate up by 10%.* You have agreed you will not go below €165 on this contract.

| Your send rate | After the 10% markup | After the 22% discount | Is the contract protected? |
| -------------- | -------------------- | ---------------------- | -------------------------- |
| €200           | €220.00              | €171.60                | Yes                        |
| €195           | €214.50              | €167.31                | Yes                        |
| €190           | €209.00              | €163.02                | **No**                     |

The simulation tells you the answer before the rate leaves Revhero. A €10 cut on the headline is still safe. A €15 cut breaks the agreement. Without the simulation you would find that out from the partner, weeks later.

This is why contracted properties keep a group per contract. One group, one contract, one number to check.

## What a group carries

| Field               | What it controls                                                                                                                                                 |
| ------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Group Name**      | The label in the table and on the board — use the name your team actually says                                                                                   |
| **Stacking Method** | Whether discounts come straight off the rate, or a markup is applied first — see [How offers stack](/revhero-docs/setting-your-rates/offers/stacking-methods.md) |
| **Offers**          | The individual discounts that stack inside this group, each with a name and a percentage                                                                         |
| **Commission**      | Optional, one percentage per group, applied at the end of the stack                                                                                              |
| **Active**          | Whether this group takes part in the simulation on the board                                                                                                     |

Use the **worst case** in each group: every discount the agreement allows on one booking, at the highest commission it allows. A simulation built on the best case protects nothing.

5 groups covers your main online channels, a contract or wholesale agreement, and your direct channel, without the board becoming a wall of columns.

## The screen

Offers is one table, one row per group:

| Column         | What it shows                                                      |
| -------------- | ------------------------------------------------------------------ |
| **Group Name** | Click it to open the group for editing                             |
| **Offers**     | The stacked discounts, summarised                                  |
| **Commission** | The percentage, or blank if there is none                          |
| **Active**     | The toggle that includes or excludes the group from the simulation |
| **Actions**    | The three-dot menu — Edit or Delete                                |

**Create New** at the top of the table opens the group builder. The **Active** toggle is your fastest way to change what you are simulating: turn a group off to read the board without it, turn it back on to restore it.

## Where the simulation appears

Active groups show their result on **both** Yielding Board views.

| View              | How you read it                                                                                 |
| ----------------- | ----------------------------------------------------------------------------------------------- |
| **Table View**    | The result sits beside the send rate, one column per active group. Use it while you edit rates. |
| **Calendar View** | Open a day and its drawer carries the offer stack for that day. Use it while you scan a month.  |

See [Offers on the Yielding Board](/revhero-docs/setting-your-rates/offers/yielding-board-integration.md) for the detail.

## Setting it up

1. **Create a group for each agreement that matters.** Name it, choose the stacking method that matches how that agreement pays you, enter the worst-case discounts, set the commission, save.
2. **Add a group for each contract** you have to protect — tour operator, wholesale, corporate.
3. **Add a direct group** with no commission and minimal discounts. This is your reference point. Everything else is measured against it.
4. **Mark them active** and open the Yielding Board to confirm the results read sensibly.

Then, in daily use: before you yield, check which groups are active. Edit a send rate and watch the results move. If your weakest agreement falls below your cost per room at the new rate, you have gone too low. Send when every active group reads acceptably, not only the headline.

Once a season, reopen each group and confirm the discounts and commission still match the agreement. When a channel or a partner renegotiates, one field changes and every cell on the board follows.

## Should you list discounts separately or as one number?

Both work, and both produce the same result. Listing them separately means you can see why the result is what it is, and you can change one discount when a channel moves it. Collapsing the stack into a single percentage is faster to maintain if you have already done the arithmetic elsewhere. List separately unless you have a reason not to.

## Common questions

**Does this create or send an offer?** No. Offers simulates. Promotions are created and distributed in your channel manager. Revhero sends your send rate, never a simulated figure.

**What is not included?** Tax, VAT, city tax and environmental tax are not part of the offer stack — they follow your published [Pricing](/revhero-docs/setting-your-rates/pricing.md) structure. Restrictions and availability are not included either: the simulation tells you what 1 booking is worth at this rate, not how many bookings you will get.

**Are groups shared between properties?** No. Each property carries its own set of groups. Switching property loads that property's list.

**What if I turn every group off?** The results disappear from the board and the send rate is untouched. Your group definitions are kept, so it is a safe way to switch the simulation off.

**Deactivate or delete?** Deactivate for anything temporary — a seasonal agreement, a what-if test. Deleting is permanent and confirmed once. Recovering a deleted group means rebuilding it from the contract.

## Related

* [Offer groups](/revhero-docs/setting-your-rates/offers/offer-groups.md)
* [How offers stack](/revhero-docs/setting-your-rates/offers/stacking-methods.md)
* [Offers on the Yielding Board](/revhero-docs/setting-your-rates/offers/yielding-board-integration.md)
* [Yielding Board](/revhero-docs/setting-your-rates/yielding-board.md)
* [Pricing](/revhero-docs/setting-your-rates/pricing.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%20offers%2FREADME.md) and quote this page: `offers/README.md`. Say what you expected to find — that is the part we can fix.
