When your guests use the Duve app to ask for a room cleaning, or to skip one, the dates they pick appear on their booking in Sweeply, and the room shows up on the right day's housekeeping plan. Nobody at the front desk has to type anything. This article shows hotel admins how to connect Duve to Sweeply.
Before you start
You need the Admin role in Sweeply.
Integrations are not part of the Basic plan.
Someone with the Duve Manager role must set up the webhooks in Duve. Only a Duve Manager can edit webhooks.
In Duve, you need a custom product that guests order to request a cleaning and, if you offer it, one to skip a cleaning. Note each product's ID: you find it on the custom product's own settings page in Duve.
Step 1: Create the Duve key in Sweeply
Open Settings and select Integrations.
Find Duve under Add an integration and select Set up, then select Connect.
Read How it connects, then select Create key.
Under Your new Duve API key, select Copy and keep the key somewhere safe for Step 3. The key is shown only once.
The key can only record guests' cleaning requests. It cannot read or change anything else in Sweeply.
Step 2: Tell Sweeply which Duve products are cleaning requests
Under Duve product IDs, enter the IDs in Products that request a cleaning, one per line.
If you offer a product to skip a cleaning, enter its ID in Products that skip a cleaning.
Wait for Saved.
Sweeply only accepts orders for these products. Until you add at least one, every order is turned down. A product cannot both request and skip a cleaning.
Step 3: Set up the webhooks in Duve
The Set up the webhooks in Duve checklist in Sweeply shows everything to copy.
In Duve, create a webhook for when an order is created, for the product that requests a cleaning. Use the Requests a cleaning URL from the Endpoint URL section.
Add the header. Duve has separate boxes for the header name and its value: copy the Name and the Value into their own boxes.
Under Data Points, select External ID, PMS External ID, Order details and Product Details. Deselect everything else: Duve ticks guest details by default, and Sweeply uses none of them.
Under Order Type, use Add Condition to narrow the trigger to your cleaning product. Without it, a breakfast or spa order would be recorded as a cleaning request.
Create a second webhook for Order Cancelled / Order Denied, with the same condition, header and URL, so a guest can take a day back.
If you offer a product to skip a cleaning, create the same two webhooks for it, using the Skips a cleaning URL.
Step 4: Check that it works
Place a test order in Duve for a guest who is staying with you.
In Sweeply, look at Last order received under Duve. It should say the order was received and recorded on the guest's reservation.
Open the guest's booking: the date they picked is there, and the room appears on that day's housekeeping plan.
If Last order received says an order was not used, it tells you what to change, for example a data point to tick in Duve or a product ID to add.
Change the key
Select Rotate key to create a new key. Your current key keeps working while a Duve Manager pastes the new one into every Sweeply webhook in Duve. Once Last order received shows the new key, select Revoke on the old one. Webhooks that still send a revoked key stop working at once.
Good to know
Each order adds one day. A guest who orders three days gets three days on their booking.
Cancelling an order in Duve removes just that day.
The same order sent twice is only recorded once.
The date must be a night of the guest's stay, and the booking must have a room.
A booking cannot have both requested and skipped cleaning days.
Questions
An order did not arrive. What do I check? Look at Last order received first: it says why an order was not used. If it shows nothing, check in Duve that the webhook uses the current key and the right URL. Then contact Sweeply support with your hotel name and the reservation number of the order.
