NDC Order Cancel API Reference

POST

receipt/reservations/{workbenchID}/receipts?OfferIdentifier={OfferID}

For {workbenchID} send the workbench identifier returned in ReservationResponse/Identifer/value in the workbench create response.

For {OfferID} send the offer identifier from Offer/Identifier/value in the Create Workbench response.

Base path:

Pre-production https://api.pp.travelport.com/11/air/

Production https://api.travelport.com/11/air/

Related Content: NDC Modify, Cancel, and Exchange Guide

NDC only; not supported for GDS.

Use the Order Cancel API to void or cancel tickets or reservations (held bookings not yet ticketed).

When canceling a ticket after the void period and requesting a refund, you must first send the Refund Quote request before the Order Cancel request. For Singapore Airlines (SQ) only, you can cancel specified segments instead of the entire itinerary in the Refund Quote request.

For all options, you must establish a workbench session before sending the Order Cancel request. Sending Order Cancel is the last step in the workflow; a separate workbench commit request is not needed.

See the NDC Modify, Cancel, and Exchange Guide for details on supported options and workflows.

Request

Header Parameters

In addition to the Common Air Headers, for Order Cancel the RetainFlag header parameter determines the type of operation.

Parameter

Description

Required/Optional

RetainFlag

Determines the type of cancel operation. Supported values:

false: Voids or cancels ticket, or cancels reservation. Issues a refund if within the void period for the ticket.

true: For Qantas (QF) only, you can send true to cancel the ticket and the segments but retain the ticket value instead of issuing a refund. Not supported for other airlines.

Required

Query Parameters

Also see note above on the RetainFlag header parameter.

Parameter

Description

Required/Optional

OfferIdentifier

Send the offer identifier for the offer to cancel or void. Returned in Offer/Identifier/value in the Create Workbench response.

Required

Request Body

To cancel a reservation or a ticket, send a POST request to the endpoint above with the RetainFlag header parameter set per above. There is no message payload.

In the HTTP message headers, set the RetainFlag parameter to false to indicate the cancel operation.

Response

The content of the response depends in part on the offer canceled:

  • When RetainFlag is set to false in the request:
    • For a reservation, the booking is canceled. The response does not return a ticket number because no ticket was issued.
    • For a ticket, if the ticket is inside the void period determined by the airline (generally within the same day it was issued, usually up to midnight local agency time), the ticket will be voided and any available refund credited to the original form of payment.
    • For a ticket, if the ticket is outside the void period or not eligible for a full refund, the ticket will be canceled and no refund or only a partial refund issued.
  • When RetainFlag is set to true in the request and the ticket is inside the void period, the ticket and segments are canceled but the ticket value is retained and can be applied to a subsequent booking. Note: Supported only for Qantas (QF).

See the NDC Modify, Cancel, and Exchange Guide for details on supported options.

Example Request

No message body. Example POST request:

https://api.pp.travelport.com/11/air/receipt/reservations/reservations/1ace440f-66e9-4898-9802-3fc35b24bfd1/receipts?OfferIdentifier=QUEwMDEzRjZCOTJDNHxQb1BDQzQxOTIxMS1CQ0I3LT
Q5NEYtOUFBMy0xLTF8UG9QQ0M0MTkyMTEtQkNCNy00OTRGLTlBQTMtMS0y

Example Response

In all cancel scenarios, a successful cancellation returns at least one instance of ReceiptID@type ReceiptCancellation/Cancellation@type CancellationHold:

    "Cancellation": {
     "@type": "CancellationHold",
     "Locator": {
      "source": "SQ",
      "sourceContext": "VendorLocator",
      "value": "5EI5CB"
     }

For tickets, cancel and void requests also return an instance of ReceiptID@type ReceiptPayment in which Document@type indicates the void or refund; see the table above for possible values.

In the following example, the ticket was voided with the allowable refund period (ReceiptID@type ReceiptPayment/Document@type=DocumentTicketVoid and VoidInd=true) and the full ticket value was refunded. The response for a canceled and refunded ticket is similar.

The response for a canceled reservation is also similar but does not return an instance of ReceiptID with @type ReceiptPayment because no payment was made.