Canceling Air Bookings via the PNR

UniversalRecordReqRsp.xsd
Create Air Booking > Retrieve Air Booking > Cancel Air Booking
There are two ways to cancel one or more air bookings without canceling the entire PNR or Universal Record (UR):
-
By modifying the Universal Record, which contains one or more PNRs from providers.
-
By modifying an individual provider PNR within a Universal Record, which is detailed in this topic.
For more information about canceling an entire trip, or canceling all air, car, hotel segments in a PNR, see Canceling Bookings.
Schema
Located in Universal.xsd:
How To
- Important! Before canceling a booking, the Universal Record for the booking must be retrieved by Universal API to ensure that all of the booking data is current on the system.
-
After the booking is retrieved, one or more air segments in a PNR can be canceled using AirCancelReq.
-
To cancel all air segments in a PNR:
-
Send the reference key of an air segment in AirCancelReq/AirSegmentRef.
-
The key of the segment in the AirReservation is the data needed to specify the segment using @Key.
-
To cancel a selected air segment in the PNR:
-
Send the travel criteria of an air segment in AirCancelReq/AirSegment.
In this scenario, an AirSegment element must be sent with the minimal criteria to uniquely identify it in the AirReservation. The attributes required to identify the segment are: Group, Carrier, Origin, Destination, DepartureTime, ArrivalTime, and FlightNumber.
-
The LocatorCode is required to identify the PNR associated with this segment.
The AirSegment and AirSegmentRef elements are mutually exclusive in the same request. If AirSegment is sent, the Key value of the element is ignored, and only the flight criteria is considered.
-
-
AirCancelReq @Versionis a sequential version number used to identify AirReservation. The version is optional, but is strongly recommended to that ensure modifications are made to the correct version of the AirReservation.
-
AirCancelRsp is returned. The Universal Record is returned with the cancelled air segment or segments. The AirReservation child of UniversalRecord provides the locator code for the associated PNR. If segments in more than one PNR are cancelled, multiple AirReservation child elements may be returned.
Errors
If a segment cannot be canceled by the supplier through Universal API, the following error message is returned for the applicable segment(s): Modifications are not supported for carrier XX/YY/ZZ. Contact the carrier directly to make changes.
Exceptions

-
Universal API does not have a discrete equivalent to an end transact (PNRBFEnd). When a created, modified or canceled booking is submitted, Universal API internally processes the end transact as part of the request. There is also no equivalent functionality to PNRBFIgnore.

For a more complete list of functionality available from various ACH carriers, see ACH Carriers Functionality. Because functionality for carriers may be subject to change, always confirm functionality directly with the ACH carrier before implementation.
Air segments booked through most ACH carriers cannot be canceled because these segments are ticketed and paid when they are booked. An error is returned for all ACH air segments.
Depending on the supplier, ACH bookings may be refunded or exchanged.