Duve has integrated with IglooHome, using the DuveConnect outgoing webhooks API, to automate and enhance access code management for properties utilizing smart locks. This integration streamlines room access for guests by syncing Duve reservations with IglooHome via IglooBridge, generating PIN codes for each reservation. With real-time updates, hosts can manage access codes seamlessly, providing a fully automated and efficient guest check-in and check-out experience.
Overview
By integrating with IglooHome through DuveConnect, Duve automates this process using outgoing webhooks that correspond to key reservation events. This ensures that access codes are securely generated and delivered to guests, improving operational efficiency and enhancing the guest experience. The integration extends Duve’s capacity to handle smart locks via real-time data transfer to IglooHome, enabling a smooth and secure room access process.
Duve will send all the events to Igloohome, and Igloohome will send the access code to the guest's reservation.
Pricing:
The integration is a paid feature for 2 eur per unit/month. Reach out to your Customer Success Manager or to Duve's Support Team to request to enable Igloohome integration.
How to Set Up the DuveConnect-IglooHome Integration
Setup Steps
- Create an Additional Field for where the code should be sent.
- Access Webhook Settings: In the Duve dashboard, navigate to Settings > Connections > DuveConnect.
-
Set Up Webhooks: Click on "Create New Connection" to add IglooHome as an integration.
- Pre Check-In Done
- Pre Check-Out Done
- New Reservation Created
- Room Changed
- Reservation Status Changed
- ETA and ETD Updates
- Create a new Incoming Connection: Create a new connection, named Igloohome, in order for Igloohome to send the codes correctly to Duve.
Create an Additional Field for the Reservation, Type = Text
Outgoing Webhooks
Each outgoing webhook corresponds to a specific reservation event. Below is a structured list of webhooks, their triggers, and the data payload format.
1. Pre Check-In Done
Description:
This webhook triggers when the pre check-in process for a guest is completed. It includes details of the guest’s estimated check-in time, identification, and other reservation-related data.
Endpoint:
Event Type:
preCheckInDone
Payload Format:
{
"accountId": "string",
"event": "preCheckInDone",
"resource": {
"id": "string",
"estimatedCheckInTime": "string",
"verifiedFirstName": "string",
"verifiedLastName": "string",
"passportUploaded": "boolean",
"guestsInfo": [
{
"firstName": "string",
"lastName": "string",
"email": "string",
"phone": "string",
"isPrimary": "boolean"
}
],
"externalId": "string",
"company": "string",
"externalPropertyId": "string",
"startDate": "string",
"endDate": "string",
"estimatedCheckInDateTime": "string"
}
}
2. Pre Check-Out Done
Description:
This webhook triggers when a guest completes the pre check-out process, containing information such as the estimated check-out time and guest details.
Endpoint:
Event Type:
preCheckOutDone
Payload Format:
{
"accountId": "string",
"event": "preCheckOutDone",
"resource": {
"id": "string",
"estimatedCheckOutDateTime": "string",
"verifiedFirstName": "string",
"verifiedLastName": "string",
"guestsInfo": [],
"externalId": "string",
"company": "string",
"estimatedCheckOutTime": "string"
}
}
3. New Reservation Created
Description:
This webhook triggers when a new reservation is created. It provides essential reservation details, including check-in and check-out times, start and end dates, and apartment number.
Endpoint:
Event Type:
reservationRoomAssign
Payload Format:
{
"accountId": "string",
"event": "reservationRoomAssign",
"resource": {
"id": "string",
"externalId": "string",
"startDate": "string",
"endDate": "string",
"apartmentNumber": "string",
"company": "string",
"externalPropertyId": "string",
"estimatedCheckInTime": "string",
"estimatedCheckOutTime": "string"
}
}
4. Room Changed on Reservation
Description:
This webhook triggers when a reservation is updated with a room change. It sends data on the updated apartment number and associated reservation details.
Endpoint:
Event Type:
reservationRoomAssign
Payload Format:
{
"accountId": "string",
"event": "reservationRoomAssign",
"resource": {
"id": "string",
"externalId": "string",
"startDate": "string",
"endDate": "string",
"apartmentNumber": "string",
"company": "string",
"externalPropertyId": "string",
"estimatedCheckInTime": "string",
"estimatedCheckOutTime": "string"
}
}
5. Reservation Status Changed
Description:
This webhook triggers whenever there is a status update on a reservation (e.g., from "Checked In" to "Checked Out"). It includes reservation timing and status data.
Endpoint:
Event Type:
updateReservationStatus
Payload Format:
{
"accountId": "string",
"event": "updateReservationStatus",
"resource": {
"id": "string",
"externalId": "string",
"bookingStatus": "string",
"externalPropertyId": "string",
"estimatedCheckInTime": "string",
"estimatedCheckOutTime": "string",
"startDate": "string",
"endDate": "string"
}
}
6. ETA Updated
Description:
This webhook triggers when the estimated time of arrival (ETA) is updated for a reservation. It contains updated check-in and check-out times.
Endpoint:
Event Type:
reservationDetailsUpdated
Payload Format:
{
"accountId": "string",
"event": "reservationDetailsUpdated",
"resource": {
"id": "string",
"externalId": "string",
"startDate": "string",
"endDate": "string",
"apartmentNumber": "string",
"estimatedCheckInTime": "string",
"estimatedCheckOutTime": "string"
}
}
7. ETD Updated
Description:
This webhook triggers when the estimated time of departure (ETD) for a reservation is updated. It includes updated check-out time and reservation period.
Endpoint:
Event Type:
reservationDetailsUpdated
Payload Format:
{
"accountId": "string",
"event": "reservationDetailsUpdated",
"resource": {
"id": "string",
"externalId": "string",
"startDate": "string",
"endDate": "string",
"estimatedCheckInTime": "string",
"estimatedCheckOutTime": "string"
}
}
8. Stay Dates Updated
Description:
This webhook triggers when the stay dates (start and end dates) are updated for a reservation. It provides the revised start and end dates along with other reservation details.
Endpoint:
Event Type:
reservationDetailsUpdated
Payload Format:
{
"accountId": "string",
"event": "reservationDetailsUpdated",
"resource": {
"id": "string",
"externalId": "string",
"startDate": "string",
"endDate": "string",
"apartmentNumber": "string",
"estimatedCheckInTime": "string",
"estimatedCheckOutTime": "string",
"bookingStatus": "string"
}
}
Setup Incoming Connection
Click 'Add New Connection' and add the name Igloohome.
Add the Additional Field created under Scope. Adjust the description if needed
Add the Primary Code under Access Scopes:
Copy the Access Token and the Request Example and send these to Igloohome's team. They will complete the setup and let you know when it is live.
Common Error - Missing Estimated Check-In Time
Error Description:
A frequent error encountered during webhook triggers is the missing estimatedCheckInTime field in the payload, leading to a failed webhook request.
Sample Error Response:
{
"IsSuccess": false,
"Message": "Missing required fields in resource : estimatedCheckInTime"
}
Resolution:
Ensure that the estimatedCheckInTime field is populated in the payload to prevent webhook failure.
Comments
0 comments
Please sign in to leave a comment.