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"
              }
            ]
          }
        ]
      }
    ]
  }
}