OnSeasonChannel API

Cancel a reservation

Cancel a booking, read the charge, and handle PMSs that cancel manually.

To cancel a booking, send DELETE /api/v1/reservation/{id} with the OnSeason reservation id. Don't use providerReservationID.

curl --request DELETE \
  "https://zepl-staging.calry.app/api/v1/reservation/9fa05abc-daf0-4ee4-a9e6-f959c2e8a421" \
  --header "x-calry-api-key: <API_KEY>"

The request has no body. You can cancel only reservations that you created with your API key and that are in CONFIRMED status.

Read the result

The response has the new status, the cancellation time, and the charge under the booked terms:

statusMeaningWhat to do
CANCELLEDThe PMS cancelled the booking and the dates are free again.Confirm the cancellation to the guest.
CANCELLATION_PENDINGThe property's PMS has no cancellation API. OnSeason recorded the cancellation and flagged it for a person to cancel in the PMS.Treat the booking as cancelled for the guest. The status moves to CANCELLED once the PMS confirms.

In both cases cancelledBy is CHANNEL and cancellationCharge holds the penalty and the refund at the moment OnSeason received your request. See What happens when you cancel.

Cancel safely

  • A repeat cancel of a CANCELLATION_PENDING reservation returns its current state with 200. It changes nothing.
  • A repeat cancel of a CANCELLED reservation returns 400, because the reservation is no longer CONFIRMED.
  • If a cancel request times out, don't send it again blindly. Get the reservation first and check status.

Show the outcome to the guest

Show the refund from cancellationCharge.refundAmount in cancellationCharge.currency, and the penalty if there is one. The API records the figures but doesn't move money. Refunds follow your commercial agreement with OnSeason.

On this page