---
title: "CancelBooking"
method: POST
path: "/CancelBooking"
tags: ["Bookings"]
---

# CancelBooking

`POST /CancelBooking`

Allows a property to cancel a booking on your OTA from the Cloudbeds side.

*IMPORTANT*: Please contact us to enable this capability for your channel. It
is NOT enabled by default.

The reason why the booking is to be canceled is given in the reason field.
If the booking cannot be canceled the error code should be provided. Here
are possible error codes:

* 4001 - booking has already departed
* 4002 - booking is already canceled
* 4003 - booking cannot be canceled. The reason is provided in the `msg` field.

## Request body

- object
  - `mya_property_id` integer, required — Property ID on the Cloudbeds channel manager
  - `ota_property_id` string, required — Username, login or property ID on the OTA
  - `ota_property_password` string, required — Password for property on your OTA. In case the OTA does not use passwords this will be an empty string.
  - `ota_property_sub_id` string, required — Property ID on the OTA, if OTA supports multiple properties under one `ota_property_id`/`ota_property_password` combination. See `GetSubProperties` for more details.
  - `guid` string, required — Request reference ID, used for debugging and support requests.
  - `shared_secret` string, required — Authentication between the OTA and the channel. Identical for all requests. Not to be shared with customers.
  - `ota_cid` string, required — OTA ID as given by Cloudbeds
  - `verb` 'CancelBooking', required
  - `booking_id` string, required — OTA booking ID of the booking to be cancelled.
  - `reason` string — Free text reason given by property as to why the booking was cancelled.

## Response `200`

CancelBooking

- ResponseSimple
  - `errors` object[] — Array of error objects. Required when `success` is `false`.
    - `id` integer, required — Error code. Check the "Error Codes" section of the specification for valid codes.
    - `msg` string — Optional error string to give more details about the error. Myallocator localises errors into different languages, so this field is generally ignored and only useful for debugging.
  - `success` true | false, required

---

[API](https://skmtc.net/cloudbeds/apis/cloudbeds-api.md) · [All operations](https://skmtc.net/cloudbeds/apis/cloudbeds-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/cloudbeds/cloudbeds-api/revisions/2faa857793e8/schema)
