Cancel Bookings

Cancel Booking

To cancel a booking, include the Agoda booking ID in the Cancellation API request. The API will respond with a summary of the cancellation policies and any refund amount. The API allows cancellations up to 1 day before check-in. Cancellations on or after the check-in date require manual escalation. See the sample request and response below.

For detailed request and response samples or a full description of the APIs, click here.

Cancel API - Request Example

{
    "bookingId": 80000610
}

Parameters for Cancel Request Schema (* = Require)

Element
Attribute
Description
CancellationRequestV4 bookingId*
integer
Agoda booking ID.

Cancel API - Response Example (Correct case)

{
  "cancellationSummary": {
    "bookingId": 80000610,
    "reference": 989326276,
    "cancellationPolicy": [
      {
        "language": "en-us",
        "policyText": "Risk-free booking! You can cancel until November 27, 2021 and pay nothing!"
      },
      {
        "language": "en-us",
        "policyText": "Any cancellation received within 3 days prior to the arrival date will be charged for the entire stay."
      },
      {
        "language": "en-us",
        "policyText": "If you fail to arrive or cancel the booking, no refund will be given."
      }
    ],
    "paymentRate": [
      {
        "currency": "USD",
        "inclusive": 551.65
      }
    ],
    "refundRate": [
      {
        "currency": "USD",
        "inclusive": 551.65
      }
    ]
  }
}

Parameters for Cancel Response Schema (Correct case) (* = Require)

Element
Attribute
Description
cancellationSummary bookingId*
integer
Agoda booking ID.

reference*
integer
Agoda’s reference number.
cancellationSummary -> cancellationPolicy language*
string
Please refer to Appendix Language part for language codes.

polictText*
string
Cancellation policy that shown in text format.
cancellationSummary -> paymentRate currency*
string
Payment amount of its currency.

inclusive*
decimal
Inclusive payment amount.

exclusive
decimal


tax
decimal


fees
decimal


taxDueSupplier
decimal


method
string


localCurrency
string


localCurrencyAmount
decimal


agxReferenceCommission
decimal


agpReferenceCommission
decimal

cancellationSummary->refundRate currency*
string
Refundable amount in this currency.

inclusive*
decimal
Inclusive refundable amount.

exclusive
decimal


tax
decimal


fees
decimal


taxDueSupplier
decimal


method
string


localCurrency
string


localCurrencyAmount
decimal


agxReferenceCommission
decimal


agpReferenceCommission
decimal

Cancel API - Response Example (Error case)

{
  "errorMessage": {
    "id": "102",
    "message": "API key 22612E6B-0000-0000-XXXX-XXXXXXXXXXXX is invalid"
  }
}

Parameters for Cancel Response Schema (Error case) (* = Require)

Element
Attribute
Description

cancellationSummary ->

errorMessage
id*
string
Details are on Response Body Part (Appendix).

subId
string


message
string
Details are on Response Body Part (Appendix).

Confirm Cancel Booking

The API allows cancellations up to 1 day before check-in. Cancellations on or after the check-in date require manual escalation.

Confirm Cancel API - Request Example

{
  "bookingId": 80000610,
  "reference": 989326276,
  "cancelReason": 0,
  "refundRate": {
        "currency": "USD",
        "inclusive": 551.65
  }
}

Parameters for Confirm Cancel Request Schema (* = Require)

(download request schema)

Element
Attribute
Description

ConfirmCancellationRequestV4 ->

errorMessage
bookingId*
string
Agoda booking ID.

reference*
integer
Agoda’s reference number

cancelReason*
integer
Possible values for CancelReason field are:  0=None 13=Will book with hotel directly 14=Forced to cancel or postpone trip 15=Decided on a different hotel not offered by Agoda 16=Will book a different hotel through Agoda 17=Found lower price on internet 18=Found lower price through a local agent 19=Did not like payment terms 20=Did not like cancellation terms 22=Concerns about reliability 23=Concerns about safety 25=Booking not confirmed quickly enough 44=Natural disaster

remark
string
Cancellation remarks

ConfirmCancellationRequestV4 > refundRate

currency*
string
Refundable amount of its currency

inclusive*
decimal
Inclusive refundable amount.

Confirm Cancel API - Response Example (Correct case)

{}

Parameters for Confirm Cancel Response Schema (Correct case) (* = Require)

Success response returns status without body message.

Confirm Cancel API - Response Example (Error case)

{
    "errorMessage": {
        "id": "914",
        "message": "Invalid data: Refund amount does not match"
    }
}

Parameters for Confirm Cancel Response Schema (Error case) (* = Require)

Element
Attribute
Description

ConfirmCancellationResponseV4 ->

errorMessage
id*
string
Details are on Response Body Part (Appendix)

subId
string


message
string
Details are on Response Body Part (Appendix)

Confirm Cancel API (Fee Waiver)

Please note the API allows cancellations up to 1 day before check-in. Cancellations on or after the check-in date require manual escalation.

Confirm Cancel API (Fee Waiver)- Request Example

{
  "bookingId": 80000610,
  "requestingFeeWaiver": true,
  "feeWaiverReason": 1
  "remark": "Cancel example" 
}

Parameters for Confirm Cancel(Fee Waiver)Request Schema (* = Require)

Element
Attribute
Description

ConfirmCancellationRequestV4

bookingId*
string
Agoda booking ID.

requestingFeeWaiver
boolean
Identification that the request is for FeeWaiver. 

feeWaiverReason
integer
A number ID for Fee Waiver Reason. 
Please see appendix for detail of available value.

remark
string
Cancellation remarks.

Confirm Cancel API (Fee Waiver)- Response Example (Correct case)

Parameters for Confirm Cancel (Fee Waiver) Response Schema (Correct case) (* = Require)

Confirm Cancel API (Fee Waiver) - Response Example (Error case)

{
    "errorMessage": {
        "id": "914",
        "subId": "100"
        "message": "Internal connection fail"
    }
}

Parameters for Confirm Cancel (Fee Waiver) Response Schema (Error case) (* = Require)

Element
Attribute
Description

ConfirmCancellationResponseV4 ->

errorMessage
id*
string
Details are on Response Body Part (Appendix)

subId
string


message
string
Details are on Response Body Part (Appendix)