API allows the customer to cancel the reservation at any time before the check-in date. However, some cancellation attempts would occur a penalty based on the cancellation policy.
Each <cancel_penalties> node may contain <amount>, <percent>, or <nights> individually, or combinations of <amount> & <nights> or <amount> & <percent>.
In case the total cancellation penalty amount is higher than the booking value, the hotel will only charge 100% of the booking value.
The <nights> mode policy is always accumulating the penalty from the first night. When a rate component can break down into nights, each child array of <occupancies.nightly> returns the breakdown in the sequence of consecutive calendar dates. For example, the first array refers to the first night of stay, and the second array refers to the second night, etc. This breakdown will help you to estimate the cancellation penalty when the hotel charges <stay> rate, which is not able to divide into nights.
The timeline of the policy window is in extended ISO 8601 format, with ±hh:mm timezone offset.
For regions where shifting the summertime and wintertime, API returns multiple timezones when the policy window is covering the shifting period. Example:
| ... ... "cancel_penalties": [
], ... ...
Exact refund amount
Manage Booking API provides the exact refund amount for all active bookings in real-time, within the API element <rate.cancel_refund>. The test environment booking returns only a static value for the testing purpose.
The value of <rate.cancel_refund> is always a negative amount. In the case where <refundable=false> or <cancel_refund.amount=0> returned, the cancellation will be fully non-refundable. You can utilize this info and build a double confirmation experience when the customer is trying to cancel the reservation. Example: