Skip to content

Flight Cancellation

Flight cancellation flow there are 2 section as given below.

  • Get cancellation charge
  • Cancel the Flight Booking

Special note for pax wise cancellation :

Infant cancellation is allowed only with associated Adult. Infant is not allowed cancel alone or with Child.

Before Start cancellation client can get the relevant cancellation charge base on the booking.

Get cancellation charge

api/v1/reservation/flight-cancellation-charge
Tags Attribute Description
FlightCancellationChargesCriteria (JsonObject)
bookingReferenceId *
(String)
Unique Key for the booking
supplierLocator*
(String)
PNR for the air booking


Flight cancellation charges request
1
2
3
4
{
"bookingReferenceId": "BKR-2022-000012",
"supplierLocator": "RX4TJ6"
}

In get cancellation charges response there are 2 response structures based on what supplier provides. These responses are Generated based on the availability of the supplier.

API cancellation charge providing suppliers are;

API Name Full cancellation
charges supported
Pax type wise cancellation
charges supported
Note
Amadeus(Air GDS) Yes Yes Using premium ATC refund services
Galileo GWS (Air GDS) NA NA
Sabre(Air GDS) NA NA
Gal UAPI (GDS) NA NA
Gal UAPI ACH (LCC) Yes No
TBO Holidays Air Yes No
TBO India Air Yes No
JetStar (LCC) NA NA
Air India Express (LCC) NA NA
Indigo (LCC) Yes No
Go Air (LCC) Yes No
SpiceJet (LCC) Yes No
Air Arabia (LCC) NA NA
Air Asia (LCC) NA NA
Fly Dubai (LCC) NA NA
RegentAir NA NA
SalamAir NA NA
Malindo NA NA
Verteil Yes Yes
Flynas NA NA

Get Cancellation charge response - For Booking

Tags Attribute Description
FlightCancellationChargesResponse (JsonObject)
preCancelChargeStatus *
(Boolean)
status of the cancellation charges response
supplierLocator *
(String)
pnr of the air booking
currency* Applicable currency for cancellation charges
cancellationCharge (JsonObject) Applicable currency for cancellation charges
supplierCancellationCharge *
(Double)
Supplier cancellation charge amount
adminCancellationCharge *
(Double)
Admin cancellation charge amount
totalCancellationCharges *
(Double)
Total cancellation charges
isSupplierRefundApplicable (Boolean) This attribute indicate whether supplier is supporting for refund or not. If any supplier will support for refund then this attribute come as true. Otherwise false. Currently refund flow will support only for Amadeus.
get entire booking cancellation charges response
{
  "meta": {
    "success": true,
    "statusCode": "",
    "statusMessage": "",
    "actionType": "",
    "conversationId": "fe22cb8d-67e9-4c29-92af-e44dffdcb9a9"
  },
  "warnings": [
    {
      "code": "validation_required",
      "documentationUrl": "api-doc/docs/troubleshoot/api-error-codes/index.html",
      "message": "Check In Time' can't be blank",
      "value": "Check In Time might be changed"
    }
  ],
  "errors": [
    {
      "code": "validation_required",
      "documentationUrl": "api-doc/docs/troubleshoot/api-error-codes/index.html",
      "message": "Field 'bookingReferenceNumber' can't be blank",
      "value": "Field 'bookingReferenceNumber' can't be blank",
      "source": {
        "field": "bookingReferenceNumber",
        "pointer": "/BookingCancelCriteria/bookingReferenceNumber"
      },
      "title": "Required field",
      "type": "validation_error"
    }
  ],
  "commonData": {
    "searchKey": "string",
    "productCode": "string",
    "culture": "string"
  },
  "data": {
    "preCancelChargeStatus": true,
    "supplierLocator": "CTCQ5U",
    "currency": "INR",
    "cancellationCharge": [
      {
        "supplierCancellationCharge": 9177.0,
        "adminCancellationCharge": 723.0,
        "totalCancellationCharges": 9900.0,
      }
    ],
    "isSupplierRefundApplicable": "true"
  }
}



Get Cancellation charge response- Pax wise

Tags Attribute Description
FlightCancellationChargesResponse (JsonObject)
preCancelChargeStatus *
(Boolean)
status of the cancellation charges response
supplierLocator *
(String)
pnr of the air booking
currency*
(String)
Applicable currency for cancellation charges
cancellationCharges cancellationCharge (JsonArray) Applicable currency for cancellation charges
cancellationCharge (JsonObject) Applicable currency for cancellation charges
ptc *
(String)
Passenger Type
supplierCancellationCharge *
(Double)
Supplier cancellation charge amount
adminCancellationCharge *
(Double)
Admin cancellation charge amount
totalCancellationCharges *
(Double)
Total cancellation charges
buyingAmount *
(Double)
Buying amount
isSupplierRefundApplicable (Boolean) This attribute indicate whether supplier is supporting for refund or not. If any supplier will support for refund then this attribute come as true. Otherwise false. Currently refund flow will support only for Amadeus.
flight pax wise cancellation charges response
{
  "meta": {
    "success": true,
    "statusCode": "",
    "statusMessage": "",
    "actionType": "",
    "conversationId": "fe22cb8d-67e9-4c29-92af-e44dffdcb9a9"
  },
  "warnings": [
    {
      "code": "validation_required",
      "documentationUrl": "api-doc/docs/troubleshoot/api-error-codes/index.html",
      "message": "Check In Time' can't be blank",
      "value": "Check In Time might be changed"
    }
  ],
  "errors": [
    {
      "code": "validation_required",
      "documentationUrl": "api-doc/docs/troubleshoot/api-error-codes/index.html",
      "message": "Field 'bookingReferenceNumber' can't be blank",
      "value": "Field 'bookingReferenceNumber' can't be blank",
      "source": {
        "field": "bookingReferenceNumber",
        "pointer": "/BookingCancelCriteria/bookingReferenceNumber"
      },
      "title": "Required field",
      "type": "validation_error"
    }
  ],
  "commonData": {
    "searchKey": "string",
    "productCode": "string",
    "culture": "string"
  },
  "data": {
    "supplierLocator": "NJTSJ2",
    "currency": "INR",
    "preCancelChargeStatus": true,
    "cancellationCharge": [
      {
        "ptc": "ADT",
        "supplierCancellationCharge": 0,
        "adminCancellationCharge": 0,
        "totalCancellationCharges": 0,
        "buyingAmount": 37491
      },
      {
        "ptc": "CHD",
        "supplierCancellationCharge": 0,
        "adminCancellationCharge": 0,
        "totalCancellationCharges": 0,
        "buyingAmount": 32051
      }
    ],
    "isSupplierRefundApplicable": "true"
  }
}



Flight Booking cancellation

api/v1/reservation/flight-cancel

Flight Cancellation Overview

Please refer below table to get an understanding on the behaviour of void and cancel

Carrier Scenario Cancel all
passengers
Void only Description
GDS VOID ONLY False True It will be voiding the tickets if it is created on same date otherwise it will give an error outside the voiding limit
VOID & CANCEL True False 1. It will be voiding the tickets if it is created on same date
2. It will be canceling the supplier locator/PNR
CANCEL BOOKING True False 1. It will be voiding the tickets if it is created on same date
2. It will be canceling the supplier locator/PNR
LCC CANCEL BOOKING True False It will be canceling the supplier Locator/PNR
Consolidated VOID ONLY False True It will be voiding the tickets if it is created on same date otherwise it will give an error outside the voiding limit
VOID & CANCEL True False
CANCEL BOOKING True False

Please refer below table to get an understanding of the pax details values for different actions. It is required to pass below values for different use cases.

Use case Action Cancel all
passengers
Void only Pax details required
Entire booking cancellation on same day VOID & CANCEL True False No
Entire booking cancellation on next day CANCEL True False No
Entire booking void - same day VOID ONLY False True No
Pax wise booking Cancellation - same day PAX wise - VOID AND CANCEL False False Yes
Pax wise booking void - same day PAX wise - VOID ONLY False True Yes
PAX wise cancellation - next day PAX wise - CANCEL False False Yes
LCC Cancellation CANCEL True False No
Consolidatir cancellation CANCEL True False No

Flight Booking Cancellation request

Tags Attribute Description
FlightCancellationCriteria (JsonObject)
bookingReferenceId *
(String)
Unique Key for the booking
supplierLocator*
(String)
PNR for the air booking
cancelAllPassengers *
(Boolean)
Cancel pax wise or the whole booking at once
voidOnly *
(Boolean)
doSupplierRefund (Boolean) In this attribute indicate that whether client needs to refund or not. If client need to refund , when booking is cancelling need to send this attribute true . Otherwise this it value should be false. This online charge refund work flow will support only for Amadeus.
This attribute value should be true only when cancellation charge response will give isSupplierRefundApplicable attribute as true.
flightSegments (JsonArray)
Not released yet
passengers (JsonArray) if cancelAllPassengers = false then only passengers section is required.
passenger (JsonObject)
passengerKey *
(String)
Unique key to identify a passenger
ptc *
(String)
Passenger type
nameTitle *
(String)
Name title
givenName *
(String)
First name of the passenger
middleName *
(String)
Middle name of the passenger
surname *
(String)
Last name of the passenger


flight booking cancellation request
{
 "bookingReferenceId": "BKR-2022-000012",
 "supplierLocator": "RX4TJ6",
 "cancelAllPassengers": true,
 "voidOnly": true,
 "doSupplierRefund": true,
 "flightSegments": [],
 "passengers": [
   {
     "passengerKey": "SH4H23B-1",
     "ptc": "ADT",
     "passengerInfo":
        {
            "nameTitle": "Mr",
            "givenName": "Anil",
            "middleName": "",
            "surname": "Kumar"
        }
   }
 ]
}

API cancellation supporting suppliers are;

API Name Full cancellation
supported
Pax wise cancellation
supported
Amadeus(Air GDS) Yes Yes
Galileo GWS (Air GDS) Yes Yes
Sabre(Air GDS) Yes Yes
Gal UAPI (GDS) Yes Yes
Gal UAPI ACH (LCC) Yes No
TBO Holidays Air Yes No
TBO India Air Yes No
JetStar (LCC) Yes No
Air India Express (LCC) Yes No
Indigo (LCC) Yes No
Go Air (LCC) Yes No
SpiceJet (LCC) Yes No
Air Arabia (LCC) No No
Air Asia (LCC) Yes No
Fly Dubai (LCC) No No
RegentAir Yes No
SalamAir Yes No
Malindo Yes No
Verteil Yes Yes
Flynas Yes No

Cancellation response-Entire Booking

Tags Attribute Description
FlightCancellationResponse (JsonObject)
supplierLocator *
(String)
pnr of the air booking
preCancelStatus *
(Boolean)
status of the cancellation response
currency*
(String)
Applicable currency for cancellation charges
isRefundedFromSupplier(Boolean) In this attribute will indicate whether supplier has refunded or not. If supplier has refunded then this values is true otherwise it is false.
cancellationCharge (JsonObject)
supplierCancellationCharge *
(Double)
Supplier cancellation charge amount
adminCancellationCharge *
(Double)
Admin cancellation charge amount
totalCancellationCharges *
(Double)
Total cancellation charges


entire booking cancellation response
{
  "meta": {
    "success": true,
    "statusCode": "",
    "statusMessage": "",
    "actionType": "",
    "conversationId": "fe22cb8d-67e9-4c29-92af-e44dffdcb9a9"
  },
  "warnings": [
    {
      "code": "validation_required",
      "documentationUrl": "api-doc/docs/troubleshoot/api-error-codes/index.html",
      "message": "Check In Time' can't be blank",
      "value": "Check In Time might be changed"
    }
  ],
  "errors": [
    {
      "code": "validation_required",
      "documentationUrl": "api-doc/docs/troubleshoot/api-error-codes/index.html",
      "message": "Field 'bookingReferenceNumber' can't be blank",
      "value": "Field 'bookingReferenceNumber' can't be blank",
      "source": {
        "field": "bookingReferenceNumber",
        "pointer": "/BookingCancelCriteria/bookingReferenceNumber"
      },
      "title": "Required field",
      "type": "validation_error"
    }
  ],
  "commonData": {
    "searchKey": "string",
    "productCode": "string",
    "culture": "string"
  },
  "data": {
    "supplierLocator": "RX4TJ6",
    "pnrCancelStatus": true,
    "currency": "INR",
    "isRefundedFromSupplier": "true",
    "cancellationCharge": {
      "supplierCancellationCharge": 0,
      "adminCancellationCharge": 0,
      "totalCancellationCharges": 0
    },    
  }
}

Cancellation response - Pax wise

Tags Attribute Description
FlightCancellationResponse (JsonObject)
supplierLocator *
(String)
pnr of the air booking
preCancelStatus *
(Boolean)
status of the cancellation response
splitSupplierLocator *
(String)
A new passenger pnr is generated in pax-wise cancellation
currency*
(String)
Applicable currency for cancellation charges
isRefundedFromSupplier(Boolean) In this attribute will indicate whether supplier has refunded or not. If supplier has refunded then this values is true otherwise it is false.
cancellationCharge (JsonObject)
supplierCancellationCharge *
(Double)
Supplier cancellation charge amount
adminCancellationCharge *
(Double)
Admin cancellation charge amount
totalCancellationCharges *
(Double)
Total cancellation charges
passengers (JsonArray)
Not released yet
passenger (JsonObject)
Not released yet
passengerKey(String) Unique key to identify a passenger
Not released yet
ptc (String) Passenger type such as ADT, CHD , INF
Not released yet
status (String) Cancellation status such 'CANCEL'
Not released yet
nameTitle (String) Name title
Not released yet
givenName (String) First name of the passenger
Not released yet
middleName (String) Middle name of the passenger
Not released yet
surname (String) Last name of the passenger
Not released yet


flight booking cancellation paxwise response
{
  "meta": {
    "success": true,
    "statusCode": "",
    "statusMessage": "",
    "actionType": "",
    "conversationId": "fe22cb8d-67e9-4c29-92af-e44dffdcb9a9"
  },
  "warnings": [
    {
      "code": "validation_required",
      "documentationUrl": "api-doc/docs/troubleshoot/api-error-codes/index.html",
      "message": "Check In Time' can't be blank",
      "value": "Check In Time might be changed"
    }
  ],
  "errors": [
    {
      "code": "validation_required",
      "documentationUrl": "api-doc/docs/troubleshoot/api-error-codes/index.html",
      "message": "Field 'bookingReferenceNumber' can't be blank",
      "value": "Field 'bookingReferenceNumber' can't be blank",
      "source": {
        "field": "bookingReferenceNumber",
        "pointer": "/BookingCancelCriteria/bookingReferenceNumber"
      },
      "title": "Required field",
      "type": "validation_error"
    }
  ],
  "commonData": {
    "searchKey": "string",
    "productCode": "string",
    "culture": "string"
  },
  "data": {
    "supplierLocator": "RX4TJ6",
    "pnrCancelStatus": true,
    "splitSupplierLocator": "S1PC0A",
    "currency": "INR",
    "isRefundedFromSupplier": "true",
    "cancellationCharge": {
      "supplierCancellationCharge": 0,
      "adminCancellationCharge": 0,
      "totalCancellationCharges": 0
    },
    "passengers": [
      {
        "passengerKey": "SH4H23B-1",
        "status": "CANCEL",
        "ptc": "ADT",
        "nameTitle": "Mr",
        "givenName": "Anil",
        "middleName": "Kumar",
        "surname": "Kumar"
      }
    ]
  }
}