In this article, please see examples of what information is received in each webhook sent from Duve based on the event which is set up.
Each Webhook sent to a Third Party via DuveConnect is a POST.
Reservation Created
{
"accountId": null,
"event": "reservationCreated",
"resource": {
"id": "63bd5f817c1f40e0b093c706",
"sId": "-FaCfxErX",
"externalId": "123467890",
"preCheckInLink": "https://x.duve.co/p/-FaCfxErX",
"preCheckOutLink": "https://x.duve.co/c/-FaCfxErX",
"guestAppLink": "https://x.duve.co/g/-FaCfxErX"
}
}
Pre Check-in Done
- Pre Check-in Summary
- Custom Questions
{
"accountId": "dummy23",
"event": "preCheckInDone",
"resource": {
"id": "6368c383e44d30f1705bd53a",
"externalId": "27e19639-ede9-4649-b6aa-aede00c069ce",
"estimatedCheckInTime": "22:30",
"link": "https://x.duve.com/reservations/6368c383e44d30f1705bd53a",
"humanReadable": "Guest Check-in info by Duve\n\n1. Arrival Details\nEstimated check in time: 14 Jan 2023 10:30 PM\nCheck-in method: Reception Check-In\n\nArriving by Car \n\n2. Guest updated details\nVerified number of guests\n2 adults, 0 children, 0 babies\n\nVerified email: bsmith@gmail.com\nVerified phone number: +1 (435) 364-7744\n\n3. Addition information\nGuest scanned passport'\nFind in your email be searching 'Documents Received - Bobby Smith''\nWhat country are you from?: United States\nCheckbox question test: Yes\nYour new question: no\nPurpose of Stay: Family Vacation\nPurpose of Stay: Business\nWhat country are you from, part 2?: Albania\n\n\nView on Duve:\nhttps://x.duve.com/reservations/6368c383e44d30f1705bd53a\n",
"src": "6368c35588d770ea9b0ae2e1",
"company": "6005bbe2d49fc91dbd0ed12e",
"clientExternalId": "66b4b616-cb1e-4011-85bc-aedc015bc209",
"pmsExternalId": "14205",
"externalPropertyId": "eeb095d1-e8ed-40e9-9b4f-f5a91bf85bc4",
"tz": "Europe/Paris",
"customFieldsAnswers": [
{
"fId": "irPpIm-hlO",
"question": "What country are you from?",
"answer": "United States",
"fieldType": "multipleChoice",
"fieldMatch": "country",
"isAnswerEncrypted": false
},
{
"fId": "08H9for69eI",
"question": "Checkbox question test",
"answer": "Yes",
"fieldType": "checkBox",
"fieldMatch": "",
"isAnswerEncrypted": false
},
{
"fId": "vJwrVYtJnPy",
"question": "Your new question",
"answer": "no",
"fieldType": "multipleChoice",
"fieldMatch": "",
"answerId": "6370c157afcfccc1680db882",
"isAnswerEncrypted": false
},
{
"fId": "OVm7DEiLL",
"question": "Purpose of Stay",
"answer": "Family Vacation",
"fieldType": "multipleChoice",
"fieldMatch": "",
"answerId": "63b6c6f363f73edb469f6baf",
"isAnswerEncrypted": false
},
{
"fId": "p6lM-Vx39d",
"question": "Purpose of Stay",
"answer": "Business",
"fieldType": "multipleChoice",
"fieldMatch": "",
"answerId": "63519f02276ec389464e0cba"
},
{
"fId": "zw3YV2TY7D",
"question": "What country are you from, part 2?",
"answer": "Albania",
"fieldType": "multipleChoice",
"fieldMatch": ""
},
{
"fId": "vJwrVYtJnPy",
"question": "Your new question",
"answer": "yes",
"fieldType": "multipleChoice",
"fieldMatch": "",
"answerId": "6370c157afcfccc1680db881",
"isAnswerEncrypted": false
}
],
"estimatedCheckInDateTime": "2023-01-14 22:30",
"verifiedAdults": 2,
"verifiedChildren": 0,
"verifiedBabies": 0,
"verifiedEmail": "bsmith@gmail.com",
"verifiedPhone": "+1 (435) 364-7744",
"verifiedFirstName": "Bobby",
"verifiedLastName": "Smith",
"creditCardUploaded": false,
"passportUploaded": true,
"arrivalMethod": "Car",
"needTransport": false,
"checkInOption": {
"currency": "EUR",
"name": "Reception Check-In"
},
"signDocumentName": "5F0Ypwr8q59abc3dfffbb717e3afaef75054e7fe9b_signed.pdf",
"uploadedPassport": true,
"preferredLanguage": "en",
"guestCountry": "",
"guestsInfo": [
{
"country": "United States",
"countryCode": "US",
"countryIso3": "USA",
"isPrimary": true
},
{
"firstName": "test"
}
],
"guestProfiles": [
{
"firstName": "Bobby",
"lastName": "Smith",
"email": "bsmith@gmail.com",
"phone": "+1 (435) 364-7744",
"customFieldsAnswers": [
{
"fId": "irPpIm-hlO",
"question": "What country are you from?",
"answer": "United States",
"fieldType": "multipleChoice",
"fieldMatch": "country",
"isAnswerEncrypted": false
},
{
"fId": "08H9for69eI",
"question": "Checkbox question test",
"answer": "Yes",
"fieldType": "checkBox",
"fieldMatch": "",
"isAnswerEncrypted": false
},
{
"fId": "vJwrVYtJnPy",
"question": "Your new question",
"answer": "no",
"fieldType": "multipleChoice",
"fieldMatch": "",
"answerId": "6370c157afcfccc1680db882",
"isAnswerEncrypted": false
},
{
"fId": "OVm7DEiLL",
"question": "Purpose of Stay",
"answer": "Family Vacation",
"fieldType": "multipleChoice",
"fieldMatch": "",
"answerId": "63b6c6f363f73edb469f6baf",
"isAnswerEncrypted": false
},
{
"fId": "p6lM-Vx39d",
"question": "Purpose of Stay",
"answer": "Business",
"fieldType": "multipleChoice",
"fieldMatch": "",
"answerId": "63519f02276ec389464e0cba",
"isAnswerEncrypted": false
},
{
"fId": "zw3YV2TY7D",
"question": "What country are you from, part 2?",
"answer": "Albania",
"fieldType": "multipleChoice",
"fieldMatch": "",
"isAnswerEncrypted": false
}
],
"allowOptInMarketing": true
},
{
"firstName": "test",
"customFieldsAnswers": [
{
"fId": "vJwrVYtJnPy",
"question": "Your new question",
"answer": "yes",
"fieldType": "multipleChoice",
"fieldMatch": "",
"answerId": "6370c157afcfccc1680db881",
"isAnswerEncrypted": false
}
],
"allowOptInMarketing": false
}
],
"lastName": "Smith"
}
}
Pre Check-out Updated
After the first step of the Pre Check-out completed, the following webhook sends:
{
"accountId": "dummy23",
"event": "preCheckOutUpdated",
"resource": {
"id": "6368c383e44d30f1705bd53a",
"externalId": "27e19639-ede9-4649-b6aa-aede00c069ce",
"link": "https://x.duve.com/reservations/6368c383e44d30f1705bd53a",
"humanReadable": "Guest Check-out info by Duve\n\n1. Check out details\nEstimated Check out time: 15 Jan 2023 11:00 AM\n\n2. Guest experience \n\nPre check out ratings\nStaff - not filled\nCleanliness - not filled\nOverall - not filled \n\nView on Duve:\nhttps://x.duve.com/reservations/6368c383e44d30f1705bd53a\n",
"src": {
"_id": "6368c35588d770ea9b0ae2e1",
"apiType": 23,
"apiUser": "dummy23",
"apiEnableTwoWay": true,
"apiExtraConfig": {
"allowUpdateReservationStatus": true
}
},
"company": "6005bbe2d49fc91dbd0ed12e",
"bookingStatus": "Confirmed",
"clientExternalId": "66b4b616-cb1e-4011-85bc-aedc015bc209",
"pmsExternalId": "14205",
"estimatedCheckOutTime": "11:00",
"estimatedCheckOutDateTime": "2023-01-15 11:00"
}
}
Pre Checkout Done
{
"accountId": "dummy23",
"event": "preCheckOutDone",
"resource": {
"id": "6368c383e44d30f1705bd53a",
"externalId": "27e19639-ede9-4649-b6aa-aede00c069ce",
"link": "https://x.duve.com/reservations/6368c383e44d30f1705bd53a",
"humanReadable": "Guest Check-out info by Duve\n\n1. Check out details\nEstimated Check out time: 15 Jan 2023 11:00 AM\n\n2. Guest experience \n\nPre check out ratings\nStaff - 3 Stars\nCleanliness - 4 Stars\nOverall - 4 Stars\n\nCheck out review: test\n\nView on Duve:\nhttps://x.duve.com/reservations/6368c383e44d30f1705bd53a\n",
"src": {
"_id": "6368c35588d770ea9b0ae2e1",
"apiType": 23,
"apiUser": "dummy23",
"apiEnableTwoWay": true,
"apiExtraConfig": {
"allowUpdateReservationStatus": true
}
},
"company": "6005bbe2d49fc91dbd0ed12e",
"bookingStatus": "Confirmed",
"clientExternalId": "66b4b616-cb1e-4011-85bc-aedc015bc209",
"pmsExternalId": "14205",
"checkOutScore": {
"cleanScore": 4,
"propertyScore": 4,
"staffScore": 3
},
"checkOutReview": "test",
"estimatedCheckOutTime": "11:00",
"estimatedCheckOutDateTime": "2023-01-15 11:00"
}
}
Guest Document Uploaded
dtype:
- 0 - Required Documents
- 1 - Credit Card Upload?
- 2 - E-Signature
{
"accountId": "dummy23",
"event": "guestDocumentUploaded",
"resource": {
"id": "6368c383e44d30f1705bd53a",
"externalId": "27e19639-ede9-4649-b6aa-aede00c069ce",
"link": "https://x.duve.com/reservations/6368c383e44d30f1705bd53a",
"src": "6368c35588d770ea9b0ae2e1",
"company": "6005bbe2d49fc91dbd0ed12e",
"companyName": "Duve Hotel",
"documents": [
{
"name": "5F0Ypwr8q59abc3dfffbb717e3afaef75054e7fe9b_signed.pdf",
"uploadDate": "2023-01-11T08:40:09.419Z",
"dtype": "2",
"isSecureUpload": true,
"gId": "T3BxiwPvv",
"_id": "63be75e9a7a234d1d1e9b793",
"originalIndex": 0
},
{
"name": "5F0Ypwr8q5658e1ebe6c4ffdfd9ced7531c1b10ae0_signed.pdf",
"uploadDate": "2023-01-11T08:40:40.361Z",
"dtype": "2",
"isSecureUpload": true,
"gId": "T3BxiwPvv",
"_id": "63be76087383d7109de737f5",
"originalIndex": 1
},
{
"name": "5F0Ypwr8q5eabe279a5bb8e13abf1a19e8a6331a4b_signed.pdf",
"uploadDate": "2023-01-11T08:41:11.155Z",
"dtype": "2",
"isSecureUpload": true,
"gId": "5T7ot1sUIC",
"_id": "63be7627531f382cd978642a",
"originalIndex": 2
},
{
"name": "5F0Ypwr8q5dd3d43712bf107a4b5b337053252f303.jpeg",
"uploadDate": "2023-01-11T08:41:46.722Z",
"dtype": "0",
"tb": "dd3d43712bf107a4b5b337053252f303_tb.jpg",
"_id": "63be764ad5705fba64e314cc",
"originalIndex": 3
}
],
"uploadedDocsEmailSentIndex": [
3
],
"externalPropertyId": "eeb095d1-e8ed-40e9-9b4f-f5a91bf85bc4",
"clientExternalId": "66b4b616-cb1e-4011-85bc-aedc015bc209"
}
}
Guest Link Opened
{
"accountId": "",
"event": "guestLinkOpened",
"resource": {
"id": "6368c383e44d30f1705bd53a",
"externalId": "27e19639-ede9-4649-b6aa-aede00c069ce",
"guestLink": "https://t.duve.co/p/5F0Ypwr8q5",
"clientExternalId": "66b4b616-cb1e-4011-85bc-aedc015bc209"
}
}
Order Created
- Order Request and Order Confirmed will send this webhook
{
"accountId": "6368c35588d770ea9b0ae2e1",
"event": "orderCreated",
"resource": {
"id": "6368c383e44d30f1705bd53a",
"externalId": "27e19639-ede9-4649-b6aa-aede00c069ce",
"pmsExternalId": "14205",
"startDate": "2023-01-14T14:00:00.000Z",
"endDate": "2023-01-15T10:00:00.000Z",
"firstName": "Bobby",
"lastName": "Smith",
"extraCharges": [],
"bookingStatus": "Confirmed",
"guestExternalId": "66b4b616-cb1e-4011-85bc-aedc015bc209",
"paidReservations": [
"6368c383e44d30f1705bd53a"
],
"src": "6368c35588d770ea9b0ae2e1",
"link": "https://x.duve.com/reservations/6368c383e44d30f1705bd53a",
"order": {
"id": "63be7b757c2370fadee27bd1",
"orderId": 16800,
"status": 0,
"chargeAmount": 90,
"requiresApproval": true,
"currency": "USD",
"numOfRefundsMade": 0,
"orderedAt": "2023-01-11T09:03:49.671Z",
"deliveryAt": "2023-01-17T00:45:00.000Z",
"isCash": true,
"creditCardType": "",
"cardLastDigits": "",
"cardExpiredYear": "",
"cardExpiredMonth": "",
"company": "6005bbe2d49fc91dbd0ed12e",
"service": {
"type": 5,
"id": "99bOjkn9R",
"name": "Swedish Massage"
},
"actionByGuest": false,
"refundTransactions": [],
"isOfflineTerminal": false,
"bookingDetails": {
"selectedDate": "2023-01-17",
"selectedTime": "01:45",
"hasSpecialRequest": false,
"specialRequest": "",
"customFieldsAnswers": [],
"selectedVariables": [
{
"name": "Units",
"price": 90,
"amount": 1,
"calculateType": 1
}
]
}
},
"product": {
"id": "60ae393967c756144385c5c5",
"name": "Swedish Massage"
},
"isParent": true,
"isChild": false,
"company": {
"name": "Duve Hotel",
"preferredLanguage": "en",
"country": "FR",
"tz": "Europe/Paris"
},
"externalPropertyId": "eeb095d1-e8ed-40e9-9b4f-f5a91bf85bc4",
"clientExternalId": "66b4b616-cb1e-4011-85bc-aedc015bc209",
"humanReadable": "Guest order info by Duve - Created\n\nService name: Swedish Massage (#16800)\nDelivery at: 17 Jan 2023 01:45 AM\nSpecial requests: -\nCustom Q/A: -\n\nView on Duve:\nhttps://x.duve.com/reservations/6368c383e44d30f1705bd53a",
"humanReadableComment": "Booked - Swedish Massage #16800 - 2023-01-17 (US$90), payment by CASH\nhttps://x.duve.com/orders/63be7b757c2370fadee27bd1"
}
}
Order Cancelled
{
"accountId": "6368c35588d770ea9b0ae2e1",
"event": "orderCancelled",
"resource": {
"id": "6368c383e44d30f1705bd53a",
"externalId": "27e19639-ede9-4649-b6aa-aede00c069ce",
"pmsExternalId": "14205",
"startDate": "2023-01-14T14:00:00.000Z",
"endDate": "2023-01-15T10:00:00.000Z",
"firstName": "Bobby",
"lastName": "Smith",
"extraCharges": [],
"bookingStatus": "Confirmed",
"guestExternalId": "66b4b616-cb1e-4011-85bc-aedc015bc209",
"paidReservations": [
"6368c383e44d30f1705bd53a"
],
"src": {
"_id": "6368c35588d770ea9b0ae2e1",
"apiType": 23,
"apiUser": "dummy23",
"apiEnableTwoWay": true
},
"link": "https://x.duve.com/reservations/6368c383e44d30f1705bd53a",
"order": {
"id": "63be7b757c2370fadee27bd1",
"orderId": 16800,
"status": 3,
"chargeAmount": 90,
"requiresApproval": true,
"currency": "USD",
"refundTotal": 0,
"numOfRefundsMade": 0,
"orderedAt": "2023-01-11T09:03:49.671Z",
"deliveryAt": "2023-01-17T00:45:00.000Z",
"isCash": true,
"creditCardType": "",
"cardLastDigits": "",
"cardExpiredYear": "",
"cardExpiredMonth": "",
"company": "6005bbe2d49fc91dbd0ed12e",
"service": {
"type": 5,
"id": "99bOjkn9R",
"name": "Swedish Massage"
},
"actionByGuest": true,
"refundTransactions": [],
"isOfflineTerminal": false,
"bookingDetails": {
"selectedDate": "2023-01-17",
"selectedTime": "01:45",
"hasSpecialRequest": false,
"specialRequest": "",
"customFieldsAnswers": [],
"selectedVariables": [
{
"name": "Units",
"price": 90,
"amount": 1,
"calculateType": 1
}
]
}
},
"product": {
"id": "60ae393967c756144385c5c5",
"name": "Swedish Massage"
},
"refundPercentage": null,
"isParent": true,
"isChild": false,
"company": {
"preferredLanguage": "en",
"country": "FR",
"tz": "Europe/Paris"
},
"externalPropertyId": "eeb095d1-e8ed-40e9-9b4f-f5a91bf85bc4",
"clientExternalId": "66b4b616-cb1e-4011-85bc-aedc015bc209",
"humanReadable": "Guest order info by Duve - Cancelled\n\nService name: Swedish Massage (#16800)\nDelivery at: 17 Jan 2023 01:45 AM\nSpecial requests: -\nCustom Q/A: -\n\nView on Duve:\nhttps://x.duve.com/reservations/6368c383e44d30f1705bd53a",
"humanReadableComment": "Cancelled - Swedish Massage #16800 "
}
}
Guest Message
{
"accountId": "[companyId]",
"event": "chatMessageSent",
"resource": {
"id": "[converstationChatId]",
"externalId": "007002964",
"clientExternalId": "Doe Test",
"verifiedEmail": "test@gogo.Com",
"verifiedPhone": "7189726000",
"messageContent": "Hello", // Only the text body if there is an image just write "Attachment Sent"
"author": "Host" | "Guest Name"
"sentAt": "YYYY-MM-DDTHH:mm:ss", // ISO String
"sentVia": "WA|Chat|SMS",
"guestChatLink": "https://thebarbiehotel.duve.co/g/-k_nTFngC?id=chat"
}
}
Order Refunded
{
"accountId": "6368c35588d770ea9b0ae2e1",
"event": "orderRefunded",
"resource": {
"id": "6368c383e44d30f1705bd53a",
"externalId": "27e19639-ede9-4649-b6aa-aede00c069ce",
"pmsExternalId": "14205",
"startDate": "2023-01-14T14:00:00.000Z",
"endDate": "2023-01-15T10:00:00.000Z",
"firstName": "Bobby",
"lastName": "Smith",
"extraCharges": [],
"bookingStatus": "Confirmed",
"guestExternalId": "66b4b616-cb1e-4011-85bc-aedc015bc209",
"paidReservations": [
"6368c383e44d30f1705bd53a"
],
"src": "6368c35588d770ea9b0ae2e1",
"link": "https://x.duve.com/reservations/6368c383e44d30f1705bd53a",
"order": {
"id": "63be7cfb7c2370fadee28251",
"orderId": 16805,
"status": 0,
"chargeAmount": 75,
"currency": "EUR",
"refundTotal": 100,
"numOfRefundsMade": 1,
"orderedAt": "2023-01-11T09:10:19.136Z",
"deliveryAt": "2023-01-17T23:00:00.000Z",
"creditCardType": "visa",
"cardLastDigits": "4242",
"company": "6005bbe2d49fc91dbd0ed12e",
"service": {
"type": 5,
"id": "oz7Rl2aPE",
"name": "Local Wine Tasting"
},
"actionByGuest": false,
"refundTransactions": [],
"isOfflineTerminal": false,
"bookingDetails": {
"selectedDate": "2023-01-18",
"selectedTime": "",
"hasSpecialRequest": false,
"specialRequest": "",
"customFieldsAnswers": [],
"selectedVariables": [
{
"name": "Wine Tasting",
"price": 45,
"amount": 1,
"calculateType": 1
},
{
"name": "Cheese Platter",
"price": 30,
"amount": 1,
"calculateType": 1
}
]
}
},
"product":
Comments
0 comments
Please sign in to leave a comment.