GDS Order Change Notification Handling Guide
Currently available in pre-production to all customers. Breaking change subject to customer development. Production release will be available January 14, 2027.
Flight disruptions are airline-initiated flight changes, also known as involuntary changes. These changes result in an Order Change Notification (OCN).
When an airline-initiated flight change occurs, Travelport updates the booking and routes it for processing onto agency back-end queues. The Reservation Retrieve response returns the booking with scheduleChangeInd=true to indicate the change and includes details of the update.
When an airline sends an order change notification (OCN) for a Travelport booking, Travelport updates the affected segments on the booking and routes the booking to a specific back-end queue based on the type of OCN received:
-
Q22: schedule change such as flight number change, route change, time change, partial involuntary cancellation
-
Q23: full involuntary cancellations, TTL (time to ticket limit) expiry, no show, voluntary cancellation
In this topic:
OCN information in the Reservation Retrieve response
The Reservation Retrieve response returns the booking with an Offer object with @type OfferModify and scheduleChangeInd=true to indicate that a change has occurred. The disrupted and new flight segment details are returned depending on the type of disruption.
When the carrier changes the time of a flight:
-
Offer @type=OfferModify/Product/FlightSegment/Flight returns only the updated segment.
-
Receipt/Confirmation/OfferStatus/StatusAir/code returns the updated flight with status code TK and status value Confirmed.
When the carrier cancels and rebooks a flight:
-
Offer @type=OfferModify/Product/FlightSegment/Flight returns the old and new segment/s. Flight/id=Flight_01 indicates the impacted segment and Flight_02 indicates the new segment.
-
Receipt/Confirmation/OfferStatus/StatusAir/code returns the impacted segment with status code UN and value Pending and returns the new segment with status code TK and status value Confirmed.
OCN workflow
-
Retrieve a GDS booking that has a schedule change.
-
The Retrieve response contains information about the schedule change.
-
Offer/scheduleChangeInd=true indicates that a flight change exists.
-
Offer/@type=OfferModify indicates that a pending change exists and that the Product/FlightSegment/Flight contains the new segment information.
-
If a flight segment has a minor change, only the updated flight segment is returned with the new flight details and a status code TK.
-
For major flight changes, the old segment (status code UN) is listed first (Flight/id=Flight_01) and the replacement segment is listed second (Flight/id=Flight_02) with a status code TK.
-
-
Offer/TermsAndConditionsFull @type=TermsAndConditionsFullScheduleChange /ScheduleChangeOptions/options=Accept indicates that the option available is to accept the schedule change using Workbench Commit.
-
Offer/TermsAndConditionsFull @type=TermsAndConditionsFullAir /FareGuaranteePolicy/Code/value=I (invalidated) indicates that the price details are for the old ticket.
-
Receipt/Confirmation @type=ConfirmationHold /OfferStatus/StatusAir/code indicates the status code of the flight segment.
-
UN indicates the old segment.
-
TK indicates the new replacement segment.
-
HX indicates a canceled segment.
-
HK indicates a confirmed/unchanged segment.
-
-
-
Initiate a workbench.
-
To accept the schedule change, send a commit workbench request with ReservationQueryCommitReservation/scheduleChangeAcceptedInd = true.
If you do not want to accept the schedule change, do not send scheduleChangeAcceptedInd or sent it with a value of false. The changed segment remains in pending status.
-
The commit response returns the new flight segment (Offer/Product/FlightSegment) with status code of HK and value Confirmed (Receipt/Confirmation/OfferStatus/StatusAir).
-
When retrieving the reservation after accepting the schedule change, Offer contains the old price details with a status of I (invalidated).
-
Subject to airline participation in Ticket Revalidation – after the schedule change is processed, the ticket can be revalidated. If the airline is not a participant in ticket revalidation, an even exchange has to be initiated.
In retrieve after commit, you may get a confirmation / unpricedFlightSegment reference to a flight that is also showing as confirmed in the Offer object; new work coming that will remove that UnpricedFlightSegment piece, which is being duplicated.
Examples
Example 1: OCN with major flight change
-
The Retrieve response details the schedule change:
-
Offer/@type=OfferModify indicates a pending change
-
Product/FlightSegment/Flight contains the old flight (Flight/id=Flight_01) and the new flight (Flight/id=Flight_02)
-
Offer/TermsAndConditionsFull/ScheduleChangeOptions/options=Accept indicates that the option available is to accept the schedule change using Workbench Commit.
-
Offer/TermsAndConditionsFull/FareGuaranteePolicy/Code/value=I (invalidated) indicates that the price details are for the old ticket.
-
Receipt/Confirmation @type=ConfirmationHold /OfferStatus/StatusAir/code indicates the status of each segment. The old segment (flightRefs=Flight_01) has a status of UN. The new segment (flightRefs=Flight_02) has a status of TK, which indicates the replacement segment.
Show Example Retrieve response
Objects related to the order change notification information are highlighted below. For brevity, non-related objects have been omitted.
{ "ReservationResponse": { "@type": "ReservationResponse", "Reservation": { "@type": "Reservation", "Identifier": { "authority": "Travelport", "value": "b35302b5-6738-482c-80c1-3f3f1c0a38c9" }, "Offer": [ { "@type": "OfferModify", "scheduleChangeInd": true, "id": "offer_1", "Identifier": { "authority": "Travelport", "value": "2a4add97-67c8-451a-b688-13733443409e" }, "ContentSource": "GDS", "Product": [ { "@type": "ProductAir", "id": "product_1", "Identifier": { "authority": "Travelport", "value": "beaf45c8-a38e-4fe3-8ad9-ad817ab0c84d" }, "FlightSegment": [ { "@type": "FlightSegment", "id": "FlightSegment_01", "sequence": 1, "connectionDuration": "PT1H", "boundFlightsInd": true, "Flight": { "@type": "Flight", "duration": "PT1H44M", "carrier": "DL", "number": "2544", "equipment": "221", "id": "Flight_01", "Identifier": { "authority": "Travelport", "value": "e47a6194-98f1-4ae6-8812-c1a927e5f829" }, "Departure": { "@type": "Departure", "location": "DEN", "date": "2026-10-06", "time": "05:20:00" }, "Arrival": { "@type": "Arrival", "location": "SLC", "date": "2026-10-06", "time": "06:56:00" } } }, { "@type": "FlightSegment", "id": "FlightSegment_02", "sequence": 2, "Flight": { "@type": "Flight", "duration": "PT1H44M", "carrier": "DL", "number": "1632", "equipment": "221", "id": "Flight_02", "Identifier": { "authority": "Travelport", "value": "7b531952-7b62-44e0-8010-d5a6e99eb53b" }, "Departure": { "@type": "Departure", "location": "DEN", "date": "2026-10-06", "time": "07:56:00" }, "Arrival": { "@type": "Arrival", "location": "SLC", "date": "2026-10-06", "time": "09:40:00" } } } ], "PassengerFlight": [ ... ], "Price": { ... }, "TermsAndConditionsFull": [ { "@type": "TermsAndConditionsFullScheduleChange", "Identifier": { "authority": "Travelport", "value": "d9eabe50-7121-42d4-b7ad-5b16b0c7650d" }, "ScheduleChangeOptions": [ { "@type": "ScheduleChangeOptions", "options": [ "Accept" ] } ] }, { "@type": "TermsAndConditionsFullAir", "secureFlightPassengerDataRequiredInd": true, "Identifier": { "authority": "Travelport", "value": "082e77c3-92ee-47e9-9b96-57d0913bb112" }, "ExpiryDate": "2026-08-08T13:59:00Z", "BaggageAllowance": [ ... ], "ValidatingAirline": [ ... ], "TicketingAgency": [ ... ], "PaymentTimeLimit": "2026-08-09T13:59:00Z", "PricingAgency": [ { "@type": "PricingAgency", "Code": "XB7" } ], "FareGuaranteePolicy": [ { "@type": "FareGuaranteePolicy", "passengerTypeCodes": [ "ADT" ], "Code": { "value": "I" } } ] }, { "@type": "TermsAndConditionsFullAir", "Restriction": [ { "value": "NONREF" }, { "value": "NOPRE RSVDSEAT" } ] } ] } ], "Traveler": [ ... ], "TravelerProduct": [ ... ], "Receipt": [ { "@type": "ReceiptConfirmation", "Identifier": { "authority": "Travelport", "value": "e51b2bf1-a489-4326-b418-7b90981b60a2" }, "Confirmation": { "@type": "ConfirmationHold", "OfferStatus": { "@type": "OfferStatusAir", "StatusAir": [ { "flightRefs": [ "Flight_02" ], "code": "TK", "value": "Confirmed" }, { "flightRefs": [ "Flight_01" ], "code": "UN", "value": "Pending" } ] }, "Locator": { "source": "1G", "creationDate": "2026-08-07", "value": "H08FF1" } } }, { "@type": "ReceiptConfirmation", "Identifier": { "authority": "Travelport", "value": "e680530e-5016-4c1e-8478-01bc19e04c5e" }, "Confirmation": { "@type": "ConfirmationHold", "OfferStatus": { "@type": "OfferStatusAir", "StatusAir": [ { "flightRefs": [ "Flight_02" ], "code": "TK", "value": "Confirmed" }, { "flightRefs": [ "Flight_01" ], "code": "UN", "value": "Pending" } ] }, "Locator": { "source": "DL", "value": "JKXGRO" } } } ], "ReservationDisplaySequence": { ... } } } } -
-
Initiate a workbench.
-
Commit the workbench with ReservationQueryCommitReservation/scheduleChangeAcceptedInd = true. The commit response returns the new flight segment (Offer/Product/FlightSegment) with status code of HK and value Confirmed (Receipt/Confirmation/OfferStatus/StatusAir).
Show Example Commit Workbench response
Objects related to the order change notification information are highlighted below. For brevity, non-related objects have been omitted.
{ "ReservationResponse": { "@type": "ReservationResponse", "Reservation": { "@type": "Reservation", "Offer": [ { "@type": "Offer", "id": "offer_1", "Identifier": { "authority": "Travelport", "value": "a16c8ec7-2f2c-4d67-ad76-49ba72ada555" }, "ContentSource": "GDS", "Product": [ { "@type": "ProductAir", "id": "product_1", "FlightSegment": [ { "@type": "FlightSegment", "id": "FlightSegment_01", "sequence": 1, "Flight": { "@type": "Flight", "duration": "PT1H44M", "carrier": "DL", "number": "1632", "equipment": "221", "id": "Flight_01", "Departure": { "@type": "Departure", "location": "DEN", "date": "2026-10-06", "time": "07:56:00" }, "Arrival": { "@type": "Arrival", "location": "SLC", "date": "2026-10-06", "time": "09:40:00" } } } ], "PassengerFlight": [ ... ], } ], "Price": { ... }, "TermsAndConditionsFull": [ { "@type": "TermsAndConditionsFullAir", "secureFlightPassengerDataRequiredInd": true, "Identifier": { "authority": "Travelport", "value": "7d766317-83c8-428a-a48e-007c8485f608" }, "ExpiryDate": "2026-08-08T13:59:00Z", "BaggageAllowance": [ ... ], "FareGuaranteePolicy": [ { "@type": "FareGuaranteePolicy", "passengerTypeCodes": [ "ADT" ], "Code": { "value": "I" } } ] }, { ... } ], "Traveler": [ ... ], "Receipt": [ { "@type": "ReceiptConfirmation", "Identifier": { "authority": "Travelport", "value": "2a111dff-ea86-4eb3-a35d-09712e82d440" }, "Confirmation": { "@type": "ConfirmationHold", "OfferStatus": { "@type": "OfferStatusAir", "StatusAir": [ { "flightRefs": [ "Flight_01" ], "code": "HK", "value": "Confirmed" } ] }, "Locator": { "source": "1G", "creationDate": "2026-08-07", "value": "H08FF1" } } }, { "@type": "ReceiptConfirmation", "Identifier": { "authority": "Travelport", "value": "31dfeae4-31ae-445f-bf02-fad2dae011e8" }, "Confirmation": { "@type": "ConfirmationHold", "OfferStatus": { "@type": "OfferStatusAir", "StatusAir": [ { "flightRefs": [ "Flight_01" ], "code": "HK", "value": "Confirmed" } ] }, "Locator": { "source": "DL", "value": "JKXGRO" } } } ], "ReservationDisplaySequence": { ...} } } }
Example 2: OCN with minor flight change
-
The Retrieve response details the schedule change:
-
Offer/@type=OfferModify indicates a pending change
-
This change is a minor time change; therefore, only the affected flight with new details is returned.
-
Offer/TermsAndConditionsFull/ScheduleChangeOptions/options=Accept indicates that the option available is to accept the schedule change using Workbench Commit.
-
Offer/TermsAndConditionsFull/FareGuaranteePolicy/Code/value=I (invalidated) indicates that the price details are for the old ticket.
-
Receipt/Confirmation @type=ConfirmationHold /OfferStatus/StatusAir/code=TK.
Show Example Retrieve response
Objects related to the order change notification information are highlighted below. For brevity, non-related objects have been omitted.
{ "ReservationResponse": { "@type": "ReservationResponse", "Reservation": { "@type": "Reservation", "Identifier": { "authority": "Travelport", "value": "0f7c3599-41b1-4b70-b027-6e87c6d9a665" }, "Offer": [ { "@type": "OfferModify","scheduleChangeInd": true, "id": "offer_1", "Identifier": { "authority": "Travelport", "value": "5a54d6b4-e013-4db6-9106-b727dd5b8c03" }, "ContentSource": "GDS", "Product": [ { "@type": "ProductAir", "id": "product_1", "Identifier": { "authority": "Travelport", "value": "ecfddee1-92b3-48c6-9f1a-6e49ddd601b2" }, "FlightSegment": [ { "@type": "FlightSegment", "id": "FlightSegment_01", "sequence": 1, "Flight": { "@type": "Flight", "duration": "PT1H30M", "carrier": "DL", "number": "1553", "equipment": "221", "id": "Flight_01", "Identifier": { "authority": "Travelport", "value": "0505d78e-aa31-4657-a2a8-47259a621f77" }, "Departure": { "@type": "Departure", "location": "DEN", "date": "2026-10-06", "time": "13:15:00" }, "Arrival": { "@type": "Arrival", "location": "SLC", "date": "2026-10-06", "time": "14:45:00" } } } ], "PassengerFlight": [ ... ], "Price": { ... }, "TermsAndConditionsFull": [ { "@type": "TermsAndConditionsFullScheduleChange", "Identifier": { "authority": "Travelport", "value": "42ad8c9e-80b5-47f2-a41b-5fbc5435f182" }, "ScheduleChangeOptions": [ { "@type": "ScheduleChangeOptions", "options": [ "Accept" ] } ] }, { "@type": "TermsAndConditionsFullAir", "secureFlightPassengerDataRequiredInd": true, "Identifier": { "authority": "Travelport", "value": "cab8805a-db3d-4e32-9136-f78692cdf879" }, "ExpiryDate": "2026-07-09T13:59:00Z", "BaggageAllowance": [ ... ], ... , "FareGuaranteePolicy": [ { "@type": "FareGuaranteePolicy", "passengerTypeCodes": [ "ADT" ], "Code": { "value": "I" } } ] }, { "@type": "TermsAndConditionsFullAir", "Restriction": [ { "value": "NONREF" }, { "value": "NOPRE RSVDSEAT" } ] } ] } ], "Traveler": [ ... ], ], "Receipt": [ { "@type": "ReceiptConfirmation", "Identifier": { "authority": "Travelport", "value": "3c35958d-f789-45af-a0a5-6e64dc0fde83" }, "Confirmation": { "@type": "ConfirmationHold", "OfferStatus": { "@type": "OfferStatusAir", "StatusAir": [ { "flightRefs": [ "Flight_01" ], "code": "TK", "value": "Confirmed" } ] }, "Locator": { "source": "1G", "creationDate": "2026-07-09", "value": "H022TQ" } } }, { "@type": "ReceiptConfirmation", "Identifier": { "authority": "Travelport", "value": "6b4557ad-c176-4d0b-887c-e59f594f56b7" }, "Confirmation": { "@type": "ConfirmationHold", "OfferStatus": { "@type": "OfferStatusAir", "StatusAir": [ { "flightRefs": [ "Flight_01" ], "code": "TK", "value": "Confirmed" } ] }, "Locator": { "source": "DL", "value": "GJ9HRN" } } } ], "ReservationDisplaySequence": { ... } } } } -
-
Initiate a workbench.
-
Commit the workbench with ReservationQueryCommitReservation/scheduleChangeAcceptedInd = true. The commit response returns the new flight segment (Offer/Product/FlightSegment) with status code of HK and value Confirmed (Receipt/Confirmation/OfferStatus/StatusAir).
Show Example Commit Workbench response
Objects related to the order change notification information are highlighted below. For brevity, non-related objects have been omitted.
{ "ReservationResponse": { "@type": "ReservationResponse", "Reservation": { "@type": "Reservation", "Offer": [ { "@type": "Offer", "id": "offer_1", "Identifier": { "authority": "Travelport", "value": "8212c06b-c9d9-419d-8b6c-fe9d145edfe7" }, "ContentSource": "GDS", "Product": [ { "@type": "ProductAir", "id": "product_1", "FlightSegment": [ { "@type": "FlightSegment", "id": "FlightSegment_01", "sequence": 1, "Flight": { "@type": "Flight", "duration": "PT1H30M", "carrier": "DL", "number": "1553", "equipment": "221", "id": "Flight_01", "Departure": { "@type": "Departure", "location": "DEN", "date": "2026-10-06", "time": "13:15:00" }, "Arrival": { "@type": "Arrival", "location": "SLC", "date": "2026-10-06", "time": "14:45:00" } } } ], [ ... ], "Receipt": [ { "@type": "ReceiptConfirmation", "Identifier": { "authority": "Travelport", "value": "ea534243-9cd3-4690-bfb5-b34eb1f1c121" }, "Confirmation": { "@type": "ConfirmationHold", "OfferStatus": { "@type": "OfferStatusAir", "StatusAir": [ { "flightRefs": [ "Flight_01" ], "code": "HK", "value": "Confirmed" } ] }, "Locator": { "source": "1G", "creationDate": "2026-07-09", "value": "H022TQ" } } }, { "@type": "ReceiptConfirmation", "Identifier": { "authority": "Travelport", "value": "e985ebc1-e2c8-445f-8be3-e20cd6a246d2" }, "Confirmation": { "@type": "ConfirmationHold", "OfferStatus": { "@type": "OfferStatusAir", "StatusAir": [ { "flightRefs": [ "Flight_01" ], "code": "HK", "value": "Confirmed" } ] }, "Locator": { "source": "DL", "value": "GJ9HRN" } } } ], "ReservationDisplaySequence": { ... } } } }