Cancel a Ticket (NDC)

When canceling an NDC ticket, you have options to void the ticket within the allowed time window, cancel a ticket with a refund, or cancel but retain the ticket value using the following workflow:

  1. Create a workbench.
  2. Request a quote for any refund applicable per below.
  3. Send a cancel request per below and set the RetainFlag header parameter flag to indicate the type of operation. The options are:
    1. Void or cancel with refund: Set the RetainFlag header parameter to false:

      • The ticket is voided if within the allowed void period for the airline (generally within the same day it was issued, usually up to midnight local agency time).

      • If canceled outside the void period and the ticket is eligible for a refund, a refund will be issued to the original form of payment.

    2. Cancel and retain ticket value: Set RetainFlag parameter to true to cancel itinerary but retain ticket value.

      Currently supported only for Qantas (QF).

Both the ticket and the itinerary are canceled in all of the above scenarios.
To cancel a GDS itinerary, see Voiding a Ticket for GDS.

In this topic:

Request Refund Quote

After creating a workbench, the next step is to request a refund quote.

The Request Refund Quote determines what if any refund value may be available.

Query Parameters

None.

POST Request

Send the POST request to the following resource:

POST book/offer/reservationworkbench/{workbenchID}/offers/canceloffer

Send the workbench identifier returned for the workbench when created.

Base path:

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

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

Payload

Send the message payload per the example below. For @value below, send the offer identifier returned in the Create Workbench response in Offer/Identifier @value.

{
 "OfferQueryCancelOffer": {
  "BuildFromOffer": {
   "@type": "BuildFromOfferAir",
   "OfferIdentifier": {
    "Identifier": {
     "value": "QUEwMDEzRjZCOTJDNHxQb1BDQzQxOTIxMS1CQ0I3LTQ5NEYtOUFBMy
0xLTF8UG9QQ0M0MTkyMTEtQkNCNy00OTRGLTlBQTMtMS0y"
    }
   }
  }
 }
}

The response returns in the PriceDifference object any refund that may be available.

A negative number indicates the ticket is outside the void period and no refund is available. A positive number indicates the amount of the available refund, which will be credited to the original form of payment.

Cancel Ticket

After creating a workbench and requesting a refund quote, cancel the ticket by sending a POST request and setting the RetainFlag header parameter as follows:

  • To either void the ticket or cancel the ticket with a refund, set RetainFlag to false:

    • 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.

    • If the ticket is outside the void period, the ticket will be cancelled and no refund or only a partial refund issued.

  • To cancel the segments but retain the ticket value, set RetainFlag to true. Currently supported only for Qantas (QF).

POST Request

Send the POST request to the following resource:

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 in Offer/identifier/value returned as part of the PNR details when the workbench was created.

Base path:

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

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

Example request

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

Payload

None.

Cancel Response Examples

In all cancel scenarios, a successful cancellation is indicated by the return of the Cancellation object with a type of CancellationHold and the carrier Locator code per the example excerpt below.

    "Cancellation": {
     "@type": "CancellationHold",
     "Locator": {
      "source": "F1",
      "value": "AA0013F6B92C4"
     }

For all cancel requests, the response includes an instance of ReceiptID/Document, in which @type indicates the type of operation. Possible values are:

  • DocumentTicketVoid: Ticket was canceled within the void period and a full refund issued.

  • DocumentTicketRefund: Ticket was canceled after the void period either a partial or no refund issued.

  • DocumentTicketRetained: Segments were canceled but the ticket value retained

Additional information and examples follow.