Cancellation conditions
Make it flexible
Cancellation conditions basics
- Configure cancellation policies per apartment
- If you have the same cancellation policies for each apartment, they can be configured on your account level.
- To update the cancellation policies, you need to push the entire object, partially updates are not possible.
How to use cancellation policies
- There has to be at least one cancellation policy defined with
"daysBeforeArrival":0
, which is the fee that needs to be paid in case the customer is not showing up. - We recommend to not configure more than 3 different policies in order to keep the structure clear and understandable for the customer.
- Be aware that your payment rates and cancellation policies are configured in sync.
The object cancellation policy
Field | Type | Required | Usage |
---|---|---|---|
"daysBeforeArrival" | int32 | YES | Number of days before arrival before which this cancellation policy is valid |
"cancellationFeeInPercent" | double | YES | A percentage of the booking amount that is cancellation fee, meaning this percentage need to be paid by the customer |
Examples
No free cancellation offered
The apartment doesn't offer a free cancellation option and the total booking amount is 1000€.
[
{
"daysBeforeArrival": 30,
"cancellationFeeInPercent": 50
},
{
"daysBeforeArrival": 7,
"cancellationFeeInPercent": 80
},
{
"daysBeforeArrival": 0,
"cancellationFeeInPercent": 100
}
]
- If the customer cancels the booking before 30 days of check-in (from the day of booking until 31 days before check-in day) then the cancellation fee that the customer has to pay is 50% of the total booking amount (500€).
- If the customer cancels the booking before 7 days of check-in (from 30 days until 8 days before check-in day) then the cancellation fee that the customer has to pay is 80% of the total booking amount (800€).
- If the customer cancels the booking when the day to check-in is 7 days or less (from 7 days to check-in until the day of check-in) then the customer has to pay the total booking amount 100% (1000€) as the cancellation fee.
Free cancellation offered
The apartment offeres a free cancellation option and the total booking amount is 1000€.
[
{
"daysBeforeArrival": 60,
"cancellationFeeInPercent": 0
},
{
"daysBeforeArrival": 30,
"cancellationFeeInPercent": 50
},
{
"daysBeforeArrival": 7,
"cancellationFeeInPercent": 80
},
{
"daysBeforeArrival": 0,
"cancellationFeeInPercent": 100
}
]
- If the customer cancels the booking before 60 days to check-in (from the day of booking until 61 days before check-in day) then the cancellation fee the customer has to pay is 0% of the total booking amoung (0€).
- If the customer cancels the booking before 30 days to check-in (from 60 days until 31 days before check-in day) then the cancellation fee that the customer has to pay is 50% of the total booking amount (500€).
- If the customer cancels the booking before 7 days of check-in (from 30 days until 8 days before check-in day) then the cancellation fee that the customer has to pay is 80% of the total booking amount (800€).
- If the customer cancels the booking when the day to check-in is 7 days or less (from 7 days to check-in until the day of check-in) then the customer has to pay the total booking amount 100% (1000€) as the cancellation fee.
Requirements for Holidu Payment
- When you work with Holidu Payment it is necessary that you set 100% cancellation fee at least for the check-in date. Until 1 day before checkin date cancellation fee can be any percentage (from 0 to 100%).
Using rateId
with Cancellation Conditions
rateId
with Cancellation Conditionsa) Delete Cancellation Conditions for an apartment (DELETE /v2/cancellation-conditions
)
You can delete cancellation conditions for a specific rate by adding rateId in your DELETE request:
Example Request:
DELETE /v2/cancellation-conditions?providerApartmentId=ABC123&rateId=NON_REFUNDABLE
Notes:
- If
rateId
is provided, only cancellation conditions for that specific rate will be deleted. - If
rateId
is omitted, the default/main cancellation conditions will be affected.
b) Get Cancellation Conditions for an apartment (GET /v2/cancellation-conditions
)
You can retrieve cancellation conditions for a specific rate by including rateId
:
Example Request:
GET /v2/cancellation-conditions?providerApartmentId=ABC123&rateId=NON_REFUNDABLE
Response:
- You will receive cancellation conditions filtered for the provided rateId.
- If
rateId
is omitted, you will get the default/main cancellation conditions.
c) Create or Update Cancellation Conditions for an apartment (POST /v2/cancellation-conditions
)
When creating or updating cancellation conditions, you can assign conditions to a specific rate by including rateId in the body:
Example Request Body:
{
"rateId": "NON_REFUNDABLE",
"cancellationConditions": [
{
"from": "2025-04-01T00:00:00Z",
"to": "2025-04-10T23:59:59Z",
"penalty": {
"type": "PERCENTAGE",
"value": 50
}
},
{
"from": "2025-04-11T00:00:00Z",
"to": "2025-04-15T23:59:59Z",
"penalty": {
"type": "FULL_STAY"
}
}
]
}
Field | Type | Description |
---|---|---|
"rateId" | string | Identifier of the rate |
"cancellationConditions" | array | List of cancellation rules |
"from" | datetime | Start datetime for condition |
"to" | datetime | End datetime for condition |
"penalty.type" | string | Type of penalty (PERCENTAGE, FULL_STAY, etc.) |
"penalty.value" | number (optional) | Value of the penalty if applicabl |
✅ If you provide rateId
→ only affect that rate’s cancellation conditions.
✅ If you omit it → affect the default/main one.
Updated 15 days ago