PNR Cancel
A PNR can be cancelled prior to ticketing. For a GDS itinerary, send a POST request with the record locator.
The segment or segments are then cancelled; however, the PNR can still be retrieved. The PNR retrieve response in this case returns the traveler or travelers but no offer details.
In this topic:
PNR Cancel - GDS
To cancel a PNR, send a POST request that includes the PNR to cancel. There is no message payload.

In the following example response, the Cancellation object returns the cancellation indicator and the PNR.
{
"ReceiptListResponse": {
"ReceiptID": [
{
"@type": "ReceiptCancellation",
"id": "receipt_1",
"Identifier": {
"authority": "Travelport",
"value": "edb57d3d-d1b6-44f4-8147-23e61c58f143"
},
"Cancellation": {
"@type": "CancellationHold",
"Locator": {
"type": "Locator",
"source": "1G",
"sourceContext": "Travelport",
"value": "BWP63K"
}
}
}
]
}
}

The following example response shows the retrieve response for a cancelled PNR. The response is structured similarly to a PNR retrieve of an active PNR except that it does not include the Offer object and other offer-related objects such as OfferIdentifier.
{
"ReservationResponse": {
"Reservation": {
"@type": "Reservation",
"Traveler": [
{
"@type": "Traveler",
"passengerTypeCode": "ADT",
"id": "trav_1",
"Identifier": {
"authority": "Travelport",
"value": "379a9de4-923b-46aa-a805-8e81ff18d19b"
},
"PersonName": {
"@type": "PersonName",
"Given": "FIRST ADTMR",
"Surname": "TRAVELERSR"
},
"Telephone": [
{
"@type": "TelephoneDetail",
"countryAccessCode": "1",
"areaCityCode": "909",
"phoneNumber": "212456122",
"extension": "1243",
"id": "telephone_1",
"cityCode": "ORD",
"role": "Office"
}
]
},
{
"@type": "Traveler",
"passengerTypeCode": "CHD",
"id": "trav_2",
"Identifier": {
"authority": "Travelport",
"value": "8e8ee566-f3a0-44d7-a7a2-d8062467c646"
},
"PersonName": {
"@type": "PersonName",
"Given": "FIRSTCHDMASTER",
"Surname": "TRAVELERCHDJR"
},
"Telephone": [
{
"@type": "TelephoneDetail",
"countryAccessCode": "1",
"areaCityCode": "909",
"phoneNumber": "2124561555",
"extension": "123",
"id": "telephone_1",
"cityCode": "DEN",
"role": "Home"
}
]
},
{
"@type": "Traveler",
"dob": "2017-12-01",
"passengerTypeCode": "INF",
"id": "trav_3",
"Identifier": {
"authority": "Travelport",
"value": "3a55e397-c4f6-4911-a4ba-444eb981be05"
},
"PersonName": {
"@type": "PersonName",
"Given": "FIRST INFMASTER",
"Surname": "TRAVELERJR"
}
}
],
"Receipt": [
{
"@type": "ReceiptConfirmation",
"Identifier": {
"authority": "Travelport",
"value": "45144efc-bd98-4b1b-af4c-f9f6fadc0e79"
},
"Confirmation": {
"@type": "ConfirmationHold",
"Locator": {
"source": "1G",
"value": "L8ZT61"
}
}
},
{
"@type": "ReceiptConfirmation",
"Identifier": {
"authority": "Travelport",
"value": "fac80456-ce60-47ac-a2f5-dc9af19780cf"
},
"Confirmation": {
"@type": "ConfirmationHold",
"Locator": {
"source": "SU",
"value": "GPFYHX"
}
}
}
]
},
"Result": {
"Warning": [
{
"@type": "Warning",
"Message": "NO FARES FOUND"
}
]
}
}
}
Cancel PNR for NDC
The Travelport JSON APIs support canceling a PNR for an NDC itinerary on v9 and later. Canceling a PNR for NDC requires initiating a workbench session followed by a cancel request. In the cancel request, you must set a flag in the header to indicate that the request is canceling the PNR.
Cancel Request
After creating a workbench, send the cancel request with a flag to confirm the cancel request. There is no message payload.
For example:
https://api.pp.travelport.com:443/9/air/receipt/reservations/reservations/1ace440f-66e9-4898-9802-3fc35b24bfd1/receipts?OfferIdentifier=QUEwMDEzRjZCOTJDNHxQb1BDQzQxOTIxMS1CQ0I3LT
Q5NEYtOUFBMy0xLTF8UG9QQ0M0MTkyMTEtQkNCNy00OTRGLTlBQTMtMS0y
Cancel Response
In the response, the Cancellation object returns the status of the cancel request. CancellationHold indicates the PNR was successfully canceled.
{
"ReceiptListResponse": {
"ReceiptID": [
{
"@type": "ReceiptCancellation",
"OfferRef": [
"1"
],
"Cancellation": {
"@type": "CancellationHold",
"Locator": {
"source": "SQ",
"value": "U4YM56"
}
}
},
{
"@type": "ReceiptCancellation",
"id": "receipt_2",
"Identifier": {
"authority": "Travelport",
"value": "60192c3e-10c9-4c72-8c69-cebd7b3ab328"
},
"OfferRef": [
"1"
],
"Cancellation": {
"@type": "CancellationHold",
"Locator": {
"source": "1G",
"value": "EN1SB6"
}
}
}
],
"ReferenceList": [
{
"@type": "ReferenceListOffer",
"Offer": [
{
"@type": "Offer",
"id": "1",
"Identifier": {
"authority": "SQ",
"value": "VTRZTTU2fFNRX1U0WU01Nl9BSVItMS0yfFNRfFNRX1U0WU01Nnxwcm9kdWN0Ml9zMi1TRUcyOnByb2R1Y3QxX3MxLVNFRzF8QURUOlBBWDIsQ0hEOlBBWDM="
},
"Product": [
{
"@type": "ProductAir",
"totalDuration": "PT6H40M",
"id": "product1",
"Identifier": {
"authority": "SQ",
"value": "70b9ebb2-fdbd-42b2-ad38-a256363daa90"
},
"FlightSegment": [
{
"id": "s1",
"sequence": 1,
"Flight": {
"@type": "Flight",
"carrier": "SQ",
"number": "218",
"id": "seg1",
"Identifier": {
"authority": "SQ",
"value": "ac5c8dc1-76e5-49ef-a04f-4a8ffc7ba7ba"
},
"Departure": {
"@type": "DepartureDetail",
"terminal": "2",
"location": "MEL",
"date": "2020-11-18",
"time": "00:35:00"
},
"Arrival": {
"@type": "ArrivalDetail",
"terminal": "2",
"location": "SIN",
"date": "2020-11-18",
"time": "05:15:00"
}
}
}
],
"PassengerFlight": [
{
"passengerQuantity": 1,
"passengerTypeCode": "ADT",
"FlightProduct": [
{
"segmentSequence": [
1
],
"classOfService": "V"
}
]
},
{
"passengerQuantity": 1,
"passengerTypeCode": "CHD",
"FlightProduct": [
{
"segmentSequence": [
1
],
"classOfService": "V"
}
]
}
]
},
{
"@type": "ProductAir",
"totalDuration": "PT8H25M",
"id": "product2",
"Identifier": {
"authority": "SQ",
"value": "396a2414-3b1f-4aaf-aff0-66e396c1efc6"
},
"FlightSegment": [
{
"id": "s2",
"sequence": 2,
"Flight": {
"@type": "Flight",
"carrier": "SQ",
"number": "237",
"id": "seg2",
"Identifier": {
"authority": "SQ",
"value": "c99d3b7f-3c58-48b9-8f2d-8b404ea324e2"
},
"Departure": {
"@type": "DepartureDetail",
"terminal": "3",
"location": "SIN",
"date": "2020-11-25",
"time": "00:25:00"
},
"Arrival": {
"@type": "ArrivalDetail",
"terminal": "2",
"location": "MEL",
"date": "2020-11-25",
"time": "10:50:00"
}
}
}
],
"PassengerFlight": [
{
"passengerQuantity": 1,
"passengerTypeCode": "ADT",
"FlightProduct": [
{
"segmentSequence": [
2
],
"classOfService": "V"
}
]
},
{
"passengerQuantity": 1,
"passengerTypeCode": "CHD",
"FlightProduct": [
{
"segmentSequence": [
2
],
"classOfService": "V"
}
]
}
]
}
],
"Price": {
"@type": "PriceDetail",
"currencyCode": "SGD",
"Base": "973.0",
"TotalTaxes": "290.3",
"TotalFees": "0",
"TotalPrice": "1263.3",
"PriceBreakdown": [
{
"@type": "PriceBreakdownAir",
"quantity": 1,
"requestedPassengerType": "ADT",
"Amount": {
"currencyCode": "SGD",
"Base": "556.0",
"Taxes": {
"@type": "TaxesDetail",
"TotalTaxes": "174.9",
"Tax": [
{
"taxCode": "OP",
"value": 6.1
},
{
"taxCode": "SG",
"value": 35.4
},
{
"taxCode": "AU",
"value": 59.5
},
{
"taxCode": "WG",
"value": 29.5
},
{
"taxCode": "WY",
"value": 44.4
}
]
},
"Total": "730.9"
}
},
{
"@type": "PriceBreakdownAir",
"quantity": 1,
"requestedPassengerType": "CHD",
"Amount": {
"currencyCode": "SGD",
"Base": "417.0",
"Taxes": {
"@type": "TaxesDetail",
"TotalTaxes": "115.4",
"Tax": [
{
"taxCode": "OP",
"value": 6.1
},
{
"taxCode": "SG",
"value": 35.4
},
{
"taxCode": "WG",
"value": 29.5
},
{
"taxCode": "WY",
"value": 44.4
}
]
},
"Total": "532.4"
}
}
]
},
"TermsAndConditionsFull": [
{
"@type": "TermsAndConditionsFullAir",
"ExpiryDate": "2020-10-01T15:00:00Z",
"TextBlock": [
{
"@type": "TextBlockDetail",
"description": "FARE RULES",
"title": "ATC_EXCHANGE_ELIGIBILITY",
"TextFormatted": [
{
"value": "false"
},
{
"value": "PNR_NOT_TICKETED"
}
]
},
{
"@type": "TextBlockDetail",
"description": "FARE RULES",
"title": "ATC_REFUND_ELIGIBILITY",
"TextFormatted": [
{
"value": "false"
},
{
"value": "No e-tickets eligible for refund were found"
}
]
},
{
"@type": "TextBlockDetail",
"description": "FARE RULES",
"title": "VOID_ELIGIBILITY",
"TextFormatted": [
{
"value": "false"
},
{
"value": "No ticket"
}
]
}
]
}
]
}
]
},
{
"@type": "ReferenceListTraveler",
"Traveler": [
{
"@type": "Traveler",
"dob": "1984-12-09",
"passengerTypeCode": "ADT",
"id": "trav_1",
"TravelerRef": "trav_1",
"Identifier": {
"authority": "Travelport",
"value": "QURUfFBBWDI="
},
"PersonName": {
"@type": "PersonName",
"Given": "FIRST ADT",
"Surname": "TRAVELER"
},
"Telephone": [
{
"@type": "Telephone",
"phoneNumber": "212456122",
"id": "telephone_1",
"role": "Work"
}
]
},
{
"@type": "Traveler",
"dob": "2015-12-01",
"passengerTypeCode": "CHD",
"id": "trav_2",
"TravelerRef": "trav_2",
"Identifier": {
"authority": "Travelport",
"value": "Q0hEfFBBWDM="
},
"PersonName": {
"@type": "PersonName",
"Given": "FIRSTCHD",
"Surname": "TRAVELERCHD"
},
"Telephone": [
{
"@type": "Telephone",
"phoneNumber": "2124561555",
"id": "telephone_1",
"role": "Home"
}
]
}
]
}
]
}
}