Cancellation Penalty & Cancel API

Cancellations use two APIs in sequence. Always fetch the cancellation penalty first and show it to the user before allowing them to cancel. Never let a user cancel without seeing the fee — this is a certification requirement.

Step 1

Cancellation Penalty API

Fetch the penalty amount for this booking using the bookingId. Display it to the user with a confirmation prompt.

GET...bookingcancellationFee?id={bookingId}
Step 2 — after user confirms

Cancel API

User confirms they want to proceed. Call Cancel with the bookingId. Returns the updated booking status.

POST...booking/{bookingId}/cancel
Always show the penalty before cancelling. Fetch the cancellation penalty and display it with a clear confirmation step — "Cancelling this booking will incur a fee of $X. Are you sure?" Never auto-cancel or skip the penalty display. This is reviewed during certification.

About the cancellation penalty

Penalty data is fetched from ZentrumHub's booking database, where it was stored at the time of booking as provided by the supplier. It is not fetched live from the supplier at cancellation time.

The penalty reflects the policy at the time of booking. If the supplier subsequently changed their cancellation terms, the stored policy — not the new one — applies. Contact support if there is a discrepancy between what is shown and what the supplier charged.

Partial cancellations

Partial cancellations are not supported. In a multi-room booking, you cannot cancel individual rooms — only the full booking can be cancelled. Present this limitation clearly in your UI before the user initiates a cancellation.

After cancellation is confirmed

The Cancel API response includes the updated booking status. Use this to update your My Trips page and any booking confirmation communications. If a cancellation confirmation email is part of your flow, trigger it from this response.

Error codes — Cancellation Penalty API

CodeMessage
4001Invalid data in request — refer to fields[] for details
4009Booking not found

Error codes — Cancel API

CodeMessage
4001Invalid data in request — refer to fields[] for details
4009Booking not found
4010Booking is already cancelled
4011Booking cannot be cancelled after the check-in date
5000Unknown system error — contact support with the correlationId