Booking Notification Body
Hurray, you got a booking!
In the booking notification, you will find the following parameters, fields marked as required will always be present, and other fields may only be present if applicable to the specific booking.
Parameter | Type | Required | Usage |
---|---|---|---|
providerApartmentId | String | Yes | The id of the apartment in your system |
provider | String | Yes | The provider identifier at Holidu |
arrival | LocalDate:YYYY-MM-DD | Yes | The arrival date of the guests |
departure | LocalDate:YYYY-MM-DD | Yes | The departure date of the guests |
guests | Array of objects | Yes | List of guests' ages |
guest.age | Integer | Yes | Age of the guest |
customer | Object | Yes | Guest's personal information |
customer.gender | String | Yes | Gender |
customer.firstName | String | Yes | First name |
customer.lastName | String | Yes | Last name |
customer.street | String | Yes | Street name |
customer.zip | String | Yes | ZIP code |
customer.city | String | Yes | City of the guest |
customer.country | String | Yes | Country of the guest |
customer.language | String | Yes | The language that the guest speaks |
customer.phone | String | Yes | Phone number of the guest |
customer.email | String | Yes | Email address of the guest |
specialCustomerRequest | String | The special requests of the guest during the booking | |
guestReceipt | Object | Yes | Breakdown of all the amounts paid or to be paid by the guest |
guestReceipt.bareRentalPrice | Object | Yes | Price based on LOS or rates without extra costs |
guestReceipt.bareRentalPrice.amount | Number | Yes | Price of the property |
guestReceipt.bareRentalPrice.currency | String | Yes | Currency used |
guestReceipt.discount | object | Discount object as defined through the discount endpoint | |
guestReceipt.discount.discountName | String | Name of the used discount | |
guestReceipt.discount.discountPercent | Number | Percentage of the discount | |
guestReceipt.discount.discountAmount | object | The amount discounted calculated based on the base price of the property | |
guestReceipt.discount.discountAmount.amount | Number | Amount | |
guestReceipt.discount.discountAmount.currency | String | Currency | |
guestReceipt.costs | array of objects | Objects that were pushed in the extra cost endpoint and applied to the booking | |
guestReceipt.costs.id | String | Unique id for every extra cost on your system, same as you pushed | |
guestReceipt.costs.name | String | Name of the extra cost ( from Holidu's list ) | |
guestReceipt.costs.basisOfCalculation | String | Defining how the extra cost is calculated | |
guestReceipt.costs.paymentTime | String | Payment time of the extra cost | |
guestReceipt.costs.pricePerUnit | Object | The price of one unit | |
guestReceipt.costs.type | String | Defining if the extra cost is MANDATORY , SELECTABLE or ON_USAGE as explained in the extra costs API | |
guestReceipt.costs.pricePerUnit.amount | Number | Amount | |
guestReceipt.costs.pricePerUnit.currency | String | Currency | |
guestReceipt.costs.unitsSelected | Integer | Number of units selected | |
guestReceipt.costs.totalPrice | Object | The total price of all the units selected | |
guestReceipt.costs.totalPrice.amount | Number | Amount | |
guestReceipt.costs.totalPrice.currency | String | Currency | |
guestReceipt.deposits | Array | NO | |
guestReceipt.deposits.name | String | REFUNDABLE_SECURITY_DEPOSIT | |
guestReceipt.deposits.price | Object | ||
guestReceipt.deposits.price.amount | Number | Cost of deposit | |
guestReceipt.deposits.price.currency | String | Currency | |
guestReceipt.deposits.paymentTime | String | ONSITE | |
paymentProcessing | Object | Yes | JSON object describing payment handling/processing |
paymentProcessing.paymentWithBooking | Object | Yes | JSON object describing payment handling of costs with the booking |
paymentProcessing.paymentWithBooking. paymentHandler | String | Yes | The entity which is handling the payment. HOLIDU or PARTNER |
paymentProcessing.paymentWithBooking. paymentMethod | String | Yes | Payment method used |
paymentProcessing.paymentWithBooking. creditCardData | Object | Only present in case of PCI integration with Holidu | |
paymentProcessing.paymentWithBooking. paymentTotalWithBooking | Object | Yes | JSON object describing the total amount which needs to be paid |
paymentProcessing.paymentWithBooking. paymentTotalWithBooking.amount | Number | Yes | The total cost of the booking |
paymentProcessing.paymentWithBooking. paymentTotalWithBooking.currency | String | Yes | The currency used |
paymentProcessing.paymentWithBooking. paymentRates | Array | Yes | JSON array describing the payment setup of the booking |
paymentProcessing.paymentWithBooking. paymentRates.value | Object | Yes | JSON object describing the amounts |
paymentProcessing.paymentWithBooking. paymentRates.value.amount | Number | Yes | The amount which needs to be paid |
paymentProcessing.paymentWithBooking. paymentRates.value.currency | String | Yes | The currency used |
paymentProcessing.paymentWithBooking. paymentRates.dueDate | LocalDate:YYYY-MM-DD | Yes | The due date of the payment described above |
paymentProcessing.paymentOnsite | Array of objects | Yes | |
paymentProcessing.paymentOnsite. paymentOnsite.amount | Number | Total amount which needs to be paid on site | |
paymentProcessing.paymentOnsite. paymentOnsite.currency | String | The currency |
{
"providerApartmentId": "externalApartmentID",
"provider:":"XXX"
"arrival": "2022-04-29",
"departure": "2022-05-04",
"guests": [
{
"age": 25
},
{
"age": 25
},
{
"age": 25
},
{
"age": 12
},
{
"age": 8
}
],
"customer": {
"gender": "MALE",
"firstName": "First Name",
"lastName": "Last Name",
"street": "Street and number",
"zip": "Zip code",
"city": "City",
"country": "Iso country code",
"language": "Language of the customer",
"phone": "phone number of customer",
"email": "email of cusomter"
},
"specialCustomerRequest": "special request of the guest during booking",
"guestReceipt": {
"bareRentalPrice": {
"amount": 705.88,
"currency": "EUR"
},
"discount": {
"discountName": "LastMinute",
"discountPercent": 10,
"discountAmount": {
"amount": 70.51,
"currency": "EUR"
}
},
"costs": [
{
"id": "46323572_781803181",
"name": "CLEANING",
"basisOfCalculation": "PER_STAY",
"paymentTime": "WITH_RATES",
"type": "MANDATORY",
"pricePerUnit": {
"amount": 60.00,
"currency": "EUR"
},
"unitsSelected": 1,
"totalPrice": {
"amount": 60.00,
"currency": "EUR"
}
},
{
"id": "46323572_781803181",
"name": "PET",
"basisOfCalculation": "PER_PET",
"paymentTime": "WITH_RATES",
"type": "SELECTABLE",
"pricePerUnit": {
"amount": 20.00,
"currency": "EUR"
},
"unitsSelected": 2,
"totalPrice": {
"amount": 40.00,
"currency": "EUR"
}
},
{
"id": "46323572_781803181",
"name": "BEDLINEN",
"basisOfCalculation": "PER_UNIT",
"paymentTime": "ONSITE",
"type": "ON_USAGE",
"pricePerUnit": {
"amount": 10.00,
"currency": "EUR"
},
"unitsSelected": null,
"totalPrice": {
"amount": 0.00,
"currency": "EUR"
}
},
{
"id": "46323572_781803181",
"name": "PARKING",
"basisOfCalculation": "PER_STAY",
"paymentTime": "ONSITE",
"type": "SELECTABLE",
"pricePerUnit": {
"amount": 50.00,
"currency": "DKK"
},
"unitsSelected": 1,
"totalPrice": {
"amount": 50.00,
"currency": "DKK"
}
},
{
"id": "243234234",
"name": "TOURIST_OR_CITY_TAX",
"basisOfCalculation": "PER_STAY",
"paymentTime": "WITH_RATES",
"type": "MANDATORY",
"pricePerUnit": {
"amount": 50.00,
"currency": "EUR"
},
"unitsSelected": 1,
"totalPrice": {
"amount": 50.00,
"currency": "EUR"
}
}
],
"deposits":[
{
"name":"REFUNDABLE_SECURITY_DEPOSIT",
"price":{
"amount":700.00,
"currency":"EUR"},
"paymentTime":"ONSITE"
}
]
},
"paymentProcessing": {
"paymentWithBooking": {
"paymentHandler": "PARTNER", // HOLIDU
"paymentMethod": "CREDIT_CARD",
"creditCardData": { // only present in booking notification with PCI
},
"paymentTotalWithBooking": {
"amount": 785.37,
"currency": "EUR"
},
"paymentRates": [
{
"value": {
"amount": 628.30,
"currency": "EUR"
},
"dueDate": "2022-01-31"
},
{
"value": {
"amount": 157.07,
"currency": "EUR"
},
"dueDate": "2022-03-25"
}
]
},
"paymentOnsite": [
{
"amount": 50.00,
"currency": "DKK"
}
]
}
}
Updated about 1 year ago