- Late Check-Out
- Early Check-In
- Room Upgrade
- Custom product Upsell - single products only; multiple products are not supported
- Menu Products (New!)
Important note: Paid check-in options are not supported.
-
- By default - The upsell will be synced as "Fixed Charge"
- Billing Identifier - must be the transaction code
- When it is 'On' - The upsell will be synced as "Package"
- Package Code should be set in the Billing Identifier set in the Upsell
How to Set It Up
- Select the Transaction Code which is associated with the package
- Click the Checkbox for 'Tax Inclusive' if the amount pushed by Duve should be broken down in Opera to include the tax.

- Configure Posting Type - this determines how the upsell is posted to the folio in OHIP
- Included in Rate - upsell will be posted as included in the Rate
- Add to Rate - Separate Line - will be posted as a separate line item (Preferred)
- Add to Rate - Combined Line - will be posted as a combined line
Check the box for "Sell Separate" for all Upsells
- Calculation Rule - define how the package should be calculated (flat rate, per room, per adult, per child, etc)
- Posting Rhythm - define how it should be posted (Post Every Night, Post on Arrival Night only, etc.
Set up a Package Group in OHIP
If the upsell is a bundle, build it in OPERA as a package group instead of a single package code. Each member product is configured the same way as the package code above, including its transaction code, tax setting, posting type, calculation rule and posting rhythm.
The prices you set on the members are the prices OPERA posts. Duve does not send member prices.
Setup in Duve

Package Groups
When the Billing Identifier holds a package group code, OPERA expands the group and creates one line per member product on the reservation, each tagged with the group.
- On the first purchase, the group code is pushed with the ordered quantity.
- When a second order lands on the same dates as an existing group, the quantity on each member line is raised by the newly ordered quantity. A second set of member lines is not added.
- When a later order falls on different dates, the group is pushed again as a new package for those dates. The two sets sit side by side on the reservation, each with its own quantity.
- On cancellation, the quantity on each member line is lowered by the canceled quantity. When it reaches zero, the whole group is removed from the reservation by its group code.
- A partial cancellation leaves the remaining quantity in place.
Important note: A cancellation is matched on the exact dates the order was pushed with. If no group lines match those dates, the cancellation is skipped and a warning is logged, rather than the wrong lines being reversed.
Note:
- Please ensure that the upsell in Duve is set to a simple product price type.
- If the Price Type is "Calculated per guest" or "Calculated per guest per night" Duve will not be able to support the sync of the upsell back to the PMS, if the guest has purchased the upsell a second time.
- In addition, when the price type is "Calculated per guest per night" the price must match the one you set in your PMS as they must match in order for the sync to show the accurate price.
- When creating a Custom Product upsell, please ensure that the product type is set to "Single Product' in order for it to work.
- Orders pushed before 25 October 2026 have no saved dates, so their cancellation is skipped. Reverse those on the reservation in OPERA.
- Packages included in the rate plan are never raised by a new order and never reversed by a cancellation, even when they belong to the same group. A new order pushes the group separately instead.
- A quantity above 1 on a first push depends on Duve being able to read the hotel's package configuration from OPERA. If OPERA refuses that read, the order still posts, but with quantity 1. Make sure the integration user can read package groups.
- If the member lines of one group hold different quantities, each is still moved by the ordered quantity, which can leave one member at zero while another still has stock.
Comments
0 comments
Article is closed for comments.