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

# Offer groups

Create, edit, deactivate and delete the offer groups that carry each agreement's worst-case discount stack.

An offer group describes **one commercial agreement** — one online channel, one contract, one tour operator, or your direct channel. It holds the worst-case stack of discounts that agreement allows on a single booking, plus its commission. This page is the step-by-step for building and maintaining them.

Each active group is simulated against your send rate on the [Yielding Board](/revhero-docs/setting-your-rates/yielding-board.md). You see what the guest pays at each level of the stack, and what you keep at the end. A group never sends or distributes anything.

You can have up to 5 groups per property. In practice that covers your main online channels, a contract and your direct channel. More than that becomes maintenance work and crowds the board.

![One group, one channel, one column](https://272652298-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FnzEa7YGji6t92Mfc0ZJ1%2Fuploads%2Fgit-blob-cc8bb9920908c2e3610bab964821d9260ca26962%2Fa-group-is-one-channel-one-column.svg?alt=media)

*Several offers and one commission sit inside a group, and every active group is simulated beside the send rate on the board.*

## The fields

The same fields appear whether you are creating a group or editing one.

| Field               | Required                     | Notes                                                                                                                                                        |
| ------------------- | ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Group Name**      | Yes                          | Free text. Use the name people actually say — it labels the group on the board                                                                               |
| **Stacking Method** | Yes                          | Whether discounts come straight off the rate, or a markup applies first. See [How offers stack](/revhero-docs/setting-your-rates/offers/stacking-methods.md) |
| **Markup %**        | Only on a markup-first group | One percentage, applied before any discount                                                                                                                  |
| **Offers**          | At least one                 | Named discounts, each a percentage — the name and the value are separate fields                                                                              |
| **Commission %**    | Optional                     | One percentage, applied at the end of the stack. Leave it blank for direct                                                                                   |
| **Active**          | —                            | Whether the group takes part in the board simulation                                                                                                         |

## Creating your first group

1. **Open Offers.** On a new property the list is empty.
2. **Click Create New.** The group builder opens.
3. **Name the group** after the agreement it models.
4. **Choose the stacking method** that matches how the agreement pays you. If you are not sure which applies, read [How offers stack](/revhero-docs/setting-your-rates/offers/stacking-methods.md) before you save — the choice changes the result by several percent and nothing warns you if it is wrong.
5. **Add your discounts**, one row per named discount. Use the worst-case stack: every discount the agreement allows on a single booking, applied together.
6. **Set the commission** to the rate in your contract. Leave it blank for a direct group.
7. **Save.** The group appears in the table, active.
8. **Open the Yielding Board** and confirm the group's result reads sensibly beside the send rate.

## Editing a group

Two routes open the same panel: click the **Group Name** in the table, or use the **Actions** menu and choose **Edit**.

| You want to…                             | Change this                             |
| ---------------------------------------- | --------------------------------------- |
| Update a loyalty tier                    | The discount's value in the Offers list |
| Re-base a wholesale group                | The Markup % field                      |
| Apply a renegotiated commission          | The Commission % field                  |
| Add a new channel-side discount          | A new row in the Offers list            |
| Retire a discount that no longer applies | Delete that row from the Offers list    |

Saving applies the change straight away, and the board picks it up on its next refresh. A commission cut of 2 points lifts what you keep on every date — a clear before-and-after when you need to show what a renegotiation was worth.

### A worked edit

A group models a contract at 22% off the published rate, with a 10% partner markup and no commission. The partner renegotiates the discount from 22% to 25%.

| Send rate | Kept at 22% | Kept at 25% |
| --------- | ----------- | ----------- |
| €200      | €171.60     | €165.00     |
| €180      | €154.44     | €148.50     |

You change 1 field. Every date you look at now reflects the new agreement. If your contract floor is €165, the simulation shows that €200 is now exactly on the line, and anything below it is not.

## Deactivate or delete

The **Active** toggle on the row is a reversible off-switch. Revhero asks you to confirm before it removes the group from the board, so a stray click cannot silently change what you are reading.

Use deactivation when you are testing a change and do not want to lose the group, when a group only applies for part of the year, or when you want to compare the board with and without a channel.

**Actions → Delete** removes the group permanently after a confirmation. There is no undo — recovering it means rebuilding it from the contract. Prefer deactivating unless you are certain.

## Testing quickly

Build the groups once with realistic worst-case stacks, then use the toggle and quick edits:

* **Online only** — direct off, everything else on
* **Direct first** — the reverse, to see what the property would keep if volume shifted
* **One agreement at a time** — 1 group on, carrying every discount it could apply at once

Each is a click or two, and nothing gets rebuilt. Keeping a worst-case group alongside your standard one for the same channel is a fair use of a slot. Give the pair names you can tell apart.

Active groups are simulated on both Yielding Board views. **Table View** shows the result beside the send rate while you edit. **Calendar View** carries the offer stack in the day's drawer while you scan a month.

{% hint style="info" %}
The order in which you list discounts inside a group does not change the result. Order them the way the channel applies them so the stack is easy to read and check.
{% endhint %}

## When something does not behave

| What you see                                     | Usually because                                                                          | What to do                                                |
| ------------------------------------------------ | ---------------------------------------------------------------------------------------- | --------------------------------------------------------- |
| Save is disabled                                 | A required value is missing — often no discounts, or a markup-first group with no markup | The field carries a hint; fill it in                      |
| The group saved but nothing appears on the board | The group is inactive, or the board has not refreshed                                    | Confirm the toggle, then reload the board                 |
| The edit panel opens blank                       | The panel did not load the row                                                           | Close it and click the group name again                   |
| A discount field rejects what you typed          | The name and the percentage are separate fields                                          | Put the name in one, the number in the other              |
| A markup does not seem to apply                  | The stacking method may not be what you think                                            | Open the group, confirm the method, save, re-check a cell |

## Common questions

**Does a group distribute anything?** No. A group is a simulation of an agreement. Offers are created and distributed in your channel manager.

**Why can I not create a 6th group?** 5 is the cap, so the board stays readable. Combine related channels into 1 group carrying the worst-case stack, or delete one you no longer use.

**Can I copy a group to another property?** Not from the screen — each property's groups are independent, which is also why they vanish when you switch property and return when you switch back.

**Can 2 groups model the same channel?** Yes, and it is useful: a standard group and a worst-case group side by side in the same simulation.

## Related

* [Offers](/revhero-docs/setting-your-rates/offers.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)

***

**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%2Foffer-groups.md) and quote this page: `offers/offer-groups.md`. Say what you expected to find — that is the part we can fix.
