Overview
When a guest buys or cancels an upsell in Duve, Duve already writes a human-readable comment on the matching Opera Cloud reservation. Standardized upsell comments add a second, machine-readable comment in a fixed format next to it, so your system can identify exactly what was purchased without parsing free text.
The standardized comment follows this structure:
DUVE|[CODE]|[PRICE:...]|[CCY:...]|[type-specific fields]
For example, an early check-in bought for 30 EUR with a requested arrival time of 10:00 is written as:
DUVE|ERYCHK|PRICE:30.00|CCY:EUR|TIME:10:00
The feature was built for Accor properties, where Accor's WCO syncs reservation comments to the Accor guest portal and app, so guests can see what they bought through Duve inside Accor's own channels. The standardized comment is added in addition to the existing comment, never instead of it. It is off by default and only runs when you turn on the toggle on the Opera Cloud connection.
Who this is for
Applies to
|
Use cases
- Accor properties that need purchases made in Duve to appear in the Accor guest portal and app through WCO.
- Revenue and front desk teams that want to identify an upsell on the reservation by a fixed code instead of reading a free-text note.
- Properties that report on upsells from Opera Cloud data and need a consistent price and currency format on every comment.
- Properties selling custom or menu products (for example, breakfast or a spa treatment) that want each product to carry its own code in Opera Cloud.
- Teams that need a clear audit trail when an upsell is canceled, with the original purchase comment left intact.
Before you start
- Your Opera Cloud (OHIP) connection must already be set up and syncing in Duve.
- Decide with your Accor or Opera Cloud contact which codes your custom and menu products should use, since Duve does not supply those.
- Make sure the upsell products you want pushed have a billing identifier configured. For everything except transportation, the standardized comment is sent as part of the same push as the folio charge, so a product with no billing identifier gets neither the charge nor the standardized comment.
- Check that the upsells you care about are among the supported service types. These are early check-in, late check-out, room upgrade, check-in transportation, check-out transportation, custom products, and menu products.
How to set it up
Turn on the toggle
- In Duve, open your PMS connections (sync sources) and select the Opera Cloud (OHIP) connection.
- Edit the connection. The switch is only shown when you edit an existing connection, not while you are creating a new one.
- Turn on Push upsells in standardized format.
- Save the connection, then reload it to confirm the switch stayed on.

Setup note: With the switch off, or if it has never been set, nothing changes. Only the existing human-readable comment is pushed.
Add a comment code to custom and menu products
Early check-in, late check-out, room upgrade, and transportation have a fixed code built into Duve. Custom products and menu products do not, so you set the code yourself on each product.
- Go to the Sales page and open the Manage tab, then select the custom or menu product.
- Open the product's Advanced section and find the Custom comment code field. The field appears only on Opera Cloud accounts, and only on Custom and Menu products.
- Enter the code your team uses for that product, for example
MBREAKfor breakfast orSPA60for a 60-minute spa treatment. - Save the product.

Notes on the code itself:
- Leading and trailing spaces are removed automatically.
- A code containing a pipe (
|) or a colon (:) is rejected, because those characters separate the fields in the comment. No standardized comment is sent for that product. - If you leave the field empty, that product gets only the regular human-readable comment.
- A code on an early check-in, late check-out, room upgrade, or transportation product is ignored, since those types always use their built-in code.
What gets written to the reservation
Each supported upsell type produces its own code and its own fields:
- Early check-in: code
ERYCHK, withTIMEfor the requested arrival time. Example:DUVE|ERYCHK|PRICE:30.00|CCY:EUR|TIME:10:00 - Late check-out: code
LATCHK, withTIMEfor the requested departure time. Example:DUVE|LATCHK|PRICE:25.00|CCY:EUR|TIME:14:00 - Room upgrade: code
UPG, withFROMCATfor the original room category (included only when known) andTOCATfor the new one. Example:DUVE|UPG|PRICE:60.00|CCY:EUR|FROMCAT:STD|TOCAT:SUP - Check-in and check-out transportation: code
APT, withTIME,FROM,TO, andPAX. The property's side of the transfer is always written asHOTEL. Example:DUVE|APT|PRICE:85.00|CCY:EUR|TIME:08:30|FROM:CDG-T2|TO:HOTEL|PAX:2 - Custom and menu products: your own comment code, with no type-specific fields. Example:
DUVE|MBREAK|PRICE:28.00|CCY:EUR
Other details of the format:
- The price is always written with two decimals, and the currency is the order's currency code.
- Times are written as
HH:MMin the property's local time. A next-day marker such as(+1)on a late arrival time is removed, so01:30 (+1)is written asTIME:01:30. - For transportation, the number of passengers is taken from the order. When no single passenger count exists, Duve adds up the adult, child, and infant counts.
- If the price or the currency is missing from the order, those fields are left out rather than written as zero or empty.
Cancellations
When a guest cancels a supported upsell, Duve pushes a separate new comment with
STATUS:CANCELLED placed directly after the code, for example:DUVE|ERYCHK|STATUS:CANCELLED|PRICE:30.00|CCY:EUR|TIME:10:00
The original purchase comment stays on the reservation exactly as it was. This is set as the agreed format. Audit trail grays out the original on their side rather than having Duve rewrite it.
Host experience
- Both comments appear on the Opera Cloud reservation: the human-readable comment your team already knows, plus the
DUVE|...comment. - The purchase comment and the cancellation comment are tracked separately, so a cancellation never replaces or edits the purchase comment, and neither is sent twice for the same order.
- A failed comment push is recorded in Duve's OHIP sync log and never fails the rest of the order sync. The charge, package, or payment push is unaffected.
Guest experience
- Guests do not see anything new inside Duve. The standardized comment is written to the reservation in Opera Cloud, not to the Guest app.
- At Accor properties, WCO syncs these comments onward so purchases made in Duve can be shown in Accor's guest portal and app.
Troubleshooting
- Only the regular comment appears on the reservation: Check that Push upsells in standardized format is on for that Opera Cloud connection, and that the upsell is one of the supported service types.
- A custom or menu product gets no standardized comment: The product most likely has no Custom comment code, or the code contains a pipe or a colon. Fix the code on the product and save.
- The Custom comment code field is not on the product: The field is shown only on accounts connected to Opera Cloud, and only on Custom and Menu products. On an early check-in, late check-out, room upgrade, or transportation product, there is nothing to fill in, since those use their built-in code.
- An early check-in or late check-out upsell gets no standardized comment: The requested time is a required field for these types. Without it, Duve skips the comment instead of sending an incomplete record.
- A room upgrade gets no standardized comment: The target room category is required. The original category is optional and is simply left out when unknown.
- A transportation upsell gets no standardized comment: The pickup time, the pickup or drop-off location, and the passenger count are all required. Duve also skips the comment when the pickup details carry no time zone, since the local pickup time cannot be resolved reliably, or when the passenger count is not numeric.
- Nothing was pushed at all, not even the regular comment: For everything except transportation, the comment rides along with the charge push, so confirm the product has a billing identifier mapped to Opera Cloud.
Restrictions and limitations
- The feature is available on Opera Cloud (OHIP) connections only.
- Supported service types are early check-in, late check-out, room upgrade, check-in transportation, check-out transportation, custom products, and menu products. Any other upsell type produces no standardized comment.
- A comment longer than 500 characters is dropped rather than shortened, because cutting a fixed-format record would leave something that still looks valid but is wrong. In practice, this only happens with unusually long room category codes or comment codes.
- Refunds are not covered. Only purchase and cancellation produce a standardized comment.
- Transportation is not otherwise synced to Opera Cloud, so for transportation orders Duve sends the comment alone. This path does not currently check whether the comment was already pushed, so a repeated order-created event can post the transportation comment twice.
- The
NOTEandQTYfields are never filled, and custom products never carry aTIMEfield. - Turning the toggle off returns the behavior to exactly what it was before. It does not remove comments already written to Opera Cloud.
Tips and tricks
- Agree the full list of product codes with your Accor or Opera Cloud contact before you turn the toggle on, so the first comments that reach the reservation are already correct.
- Keep comment codes short and stable. They are read by another system, so renaming one later makes historical reservations harder to match.
- Test with one upsell of each type you sell before switching the toggle on across properties. Buy the upsell, confirm both comments appear, then cancel it and confirm a separate
STATUS:CANCELLEDcomment appears while the original stays. - Breakfast is handled as a regular custom product. Give it a comment code such as
MBREAKand it behaves like any other custom product.
FAQs
Q: Does this replace the comment Duve already writes to Opera Cloud?
A: No. The standardized comment is added alongside the existing human-readable comment. Both are written to the same reservation in the same push.
Q: Is the feature on by default?
A: No. It is off until you turn on Push upsells in standardized format on the Opera Cloud (OHIP) connection.
Q: Why is the switch missing when I create a new connection?
A: The switch is hidden while you are creating a connection. Save the connection first, then edit it, and the switch appears.
Q: Which upsells are covered?
A: Early check-in, late check-out, room upgrade, check-in transportation, check-out transportation, custom products, and menu products.
Q: Where do the codes come from?
A: Early check-in, late check-out, room upgrade, and transportation use fixed codes built into Duve (
ERYCHK, LATCHK, UPG, and APT). Custom and menu products use the code you enter in the Custom comment code field on each product.Q: What happens if I forget to set a comment code on a custom product?
A: That product gets only the regular human-readable comment. Nothing breaks, and nothing else about the order sync changes.
Q: Can I use the same code for several products?
A: Yes, Duve does not require codes to be unique. Keep in mind that whoever reads the comment on the Opera Cloud side will not be able to tell those products apart.
Q: What happens when a guest cancels?
A: Duve pushes a new, separate comment with
STATUS:CANCELLED after the code. The original purchase comment is left untouched.Q: What about refunds?
A: Refunds do not produce a standardized comment. Only purchase and cancellation do.
Q: Can the comment be cut off in Opera Cloud?
A: No. If the assembled comment would go past 500 characters, Duve skips it entirely rather than sending a shortened record.
Q: Will a problem with the comment break my upsell sync?
A: No. A failed comment push is logged to Duve's OHIP sync log and the rest of the order sync continues normally.
Q: Do guests see the standardized comment in Duve?
A: No. It is written to the Opera Cloud reservation. At Accor properties, WCO can then surface the purchase in Accor's guest portal and app.
Q: What happens if I turn the toggle back off?
A: New upsells get only the human-readable comment again. Comments already written to Opera Cloud stay on their reservations.
Comments
0 comments
Article is closed for comments.