0% found this document useful (0 votes)
21 views5 pages

Air Booking Segment Status Validation

This document describes a pattern for validating the status of flight segments booked through Sabre Web Services. It explains that the response to an air booking request does not always confirm acceptance by the airline. To validate segment status, it recommends checking the ActionCode in the response. If not "SS", redisplay the itinerary after a 1.5 second delay using a separate request. Sample code demonstrates retrieving an ActionCode of "SS" after an initial "NN" response. The pattern addresses the need to validate segment status between booking steps.

Uploaded by

rishang.asmadi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
21 views5 pages

Air Booking Segment Status Validation

This document describes a pattern for validating the status of flight segments booked through Sabre Web Services. It explains that the response to an air booking request does not always confirm acceptance by the airline. To validate segment status, it recommends checking the ActionCode in the response. If not "SS", redisplay the itinerary after a 1.5 second delay using a separate request. Sample code demonstrates retrieving an ActionCode of "SS" after an initial "NN" response. The pattern addresses the need to validate segment status between booking steps.

Uploaded by

rishang.asmadi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

Sabre® Web Services

Air Booking Segment Status Validation


Development Pattern
September 15, 2006, Version 1.0

Keywords
OTA_AirBook, air, booking, segment, flight segment, status, confirm, UC, ActionCode

Context
Completing an air booking using Sabre Web Services involves several steps which may
include issuing Sabre Web Services calls for shopping, booking, pricing, and ticketing.

Problem
The response to a Sabre® booking request, such as OTA_AirBookRQ, includes information
about the requested flight similar to the display on a Sabre terminal. However, like the
terminal response, the contents of OTA_AirBookRQ are an acknowledgement of the booking
request and do not always confirm acceptance of the booking by a direct connect (DC)
carrier.

In most cases, the DC carrier's system returns a confirmation acknowledgement in less than
one second, but due to circumstances beyond the control of Sabre, a response may take
longer. When this occurs, it is necessary to retrieve the itinerary separately from the booking
request, similar to an agent redisplaying a PNR on a terminal during booking.

Indications (Optional)
The most common symptom is an unexpected error returned from a subsequent step in the
booking process, after a successful response to an air booking request (OTA_AirBookRS).
This is often demonstrated during attempts to price the itinerary or to end the transaction, but
it may result from any service request that requires all air segments in the itinerary to be
confirmed. The error CODE - UC SEG STATUS NOT ALLOWED returned from a pricing
request is a typical example.
Sabre Web Services Pattern
Air Booking Segment Status Validation

Forces
• By design, Sabre Web Services low level services perform the equivalent of a single
Sabre host command for complexity reduction and maximum performance (lowest
response time). Combining a booking request with a PNR redisplay in a single request
would, therefore, be an aggregate or orchestrated service, which is currently not
supported.
• Response times from DC carriers vary due to a variety of factors (network congestion,
carrier system load, etc.), many of which are beyond Sabre's control.
• The response to a booking request is an acknowledgement of the request rather than an
acknowledgment from the DC carrier which follows the booking request.
• In many cases, a segment status value of NN (ActionCode="NN") will resolve to SS
once a DC carrier responds—but not always; the requested seat/class may, in fact, be
unavailable.
• If complex shopping or quality control logic occurs between booking and pricing or end
transaction, it may be more efficient to execute an extra call to retrieve actual segment
status than to back out of a complex process when pricing fails.

Solution
After issuing a booking request, examine the value returned in the ActionCode attribute in
the FlightSegment node of OTA_AirBookRS. If the value of ActionCode is anything
other than "SS", your application should pause 1,500 ms (1.5 seconds), and issue an
OTA_TravelItineraryReadRQ service call to retrieve the itinerary.

Book Air
Segments
OTA_AirBookRS

ActionCode NO
= “SS”?
Redisplay PNR OTA_TravelItineraryReadRS

YES

Booking YES ActionCode


Process
= “SS”?
Continues

NO

Requested
Segment
Unavailable
Process

Figure 1. Verifying ActionCode in the Booking Process

September 15, 2006 Page 2 of 5


Version 1.0
Sabre Web Services Pattern
Air Booking Segment Status Validation

Consequences
The strategy described above resolves the status of an air segment most of the time, but not
100% of the time.

Infrequently, OTA_AirBookRS returns a value of SS in the ActionCode attribute for a


segment that has not been confirmed. If your business process includes many logical steps
between booking and pricing or ending transaction, it may be more efficient to always follow
a booking request with a short delay and an itinerary redisplay of some sort.

Sample Code
The following code samples illustrate this solution. In Figure 2, OTA_AirBookRS returned a
value in the FlightSegment ActionCode attribute of NN for one of two air segments
booked (LX 3644 23OCT ZRH HAM). After a short delay, retrieving the itinerary with
OTA_TravelItineraryReadRQ returned an ActionCode value of SS, indicating that the
segment has been confirmed (Figure 3).

<OriginDestinationOptions>
<OriginDestinationOption>
<FlightSegment ActionCode="SS" ArrivalDateTime="2006-10-23T07:50:00"
DepartureDateTime="2006-10-22T14:55:00" FlightNumber="3003"
NumberInParty="001" RPH="0" ResBookDesigCode="Y">
<TPA_Extensions>
<eTicket Ind="true"/>
</TPA_Extensions>
<DepartureAirport CodeContext="IATA" LocationCode="DFW"/>
<ArrivalAirport CodeContext="IATA" LocationCode="ZRH"/>
<OperatingAirline Code="LX"/>
</FlightSegment>
<FlightSegment ActionCode="NN" ArrivalDateTime="2006-10-23T11:15:00"
DepartureDateTime="2006-10-23T09:50:00" FlightNumber="3644"
NumberInParty="001" RPH="1" ResBookDesigCode="Y">
<TPA_Extensions>
<eTicket Ind="true"/>
</TPA_Extensions>
<DepartureAirport CodeContext="IATA" LocationCode="ZRH"/>
<ArrivalAirport CodeContext="IATA" LocationCode="HAM"/>
<OperatingAirline Code="LX"/>
</FlightSegment>
</OriginDestinationOption>
</OriginDestinationOptions>

Figure 2. OTA_AirBookRS Response Illustrating the ActionCode Value

September 15, 2006 Page 3 of 5


Version 1.0
Sabre Web Services Pattern
Air Booking Segment Status Validation

<ReservationItems>
<Item>
<Air ActionCode="SS" ArrivalDateTime="2006-10-23T07:50:00"
DepartureDateTime="2006-10-22T14:55:00" FlightNumber="3003"
NumberInParty="01" RPH="0001" ResBookDesigCode="Y">
<DepartureAirport CodeContext="IATA" LocationCode="DFW"/>
<ArrivalAirport CodeContext="IATA" LocationCode="ZRH"/>
<OperatingAirline Code="LX"/>
<TPA_Extensions>
<AirlineRef ID="DCLX"/>
<Meal Code="D"/>
<Meal Code="B"/>
</TPA_Extensions>
</Air>
</Item>
<Item>
<Air ActionCode="SS" ArrivalDateTime="2006-10-23T11:15:00"
DepartureDateTime="2006-10-23T09:50:00" FlightNumber="3644"
NumberInParty="01" RPH="0002" ResBookDesigCode="Y">
<DepartureAirport CodeContext="IATA" LocationCode="ZRH"/>
<ArrivalAirport CodeContext="IATA" LocationCode="HAM"/>
<OperatingAirline Code="LX"/>
<TPA_Extensions>
<AirlineRef ID="DCLX"/>
<Meal Code="S"/>
<Meal Code=" "/>
<Eticket Ind="true"/>
</TPA_Extensions>
</Air>
</Item>
</ReservationItems>

Figure 3. OTA_TravelItineraryReadRQ Issued After a 1,500 ms Delay

Related Patterns
None

Counter-Indications (Anti-Patterns)
This pattern is not intended to contend with all possible changes to an air segment's status
after booking. Some, such as flight cancellations or schedule changes, are entirely beyond
the scope of this pattern (and Sabre), and may result in segment status changes after a PNR
has been created.

Acknowledgments
David Hall
John MacDonald

September 15, 2006 Page 4 of 5


Version 1.0
Sabre Web Services Pattern
Air Booking Segment Status Validation

© 2007 Sabre Inc. All rights reserved.

This documentation is the confidential and proprietary intellectual property of Sabre Inc. Any unauthorized use, reproduction,
preparation of derivative works, performance, or display of this document, or software represented by this document, without the
express written permission of Sabre Inc. is strictly prohibited. Sabre, the Sabre logo design, and Sabre Web Services are trademarks
and/or service marks of an affiliate of Sabre Inc. All other trademarks, service marks, and trade names are owned by their respective
companies.

Disclaimer of Warranty and Limitation of Liability

This software and any compiled programs created using this software are furnished "as is" without warranty of any kind, including but
not limited to the implied warranties of merchantability and fitness for a particular purpose. No oral or written information or advice
given by Sabre, its agents or employees shall create a warranty or in any way increase the scope of this warranty, and you may not rely
on any such information or advice.

Sabre does not warrant, guarantee, or make any representations regarding the use, or the results of the use, of this software, compiled
programs created using this software, or written materials in terms of correctness, accuracy, reliability, currentness, or otherwise. The
entire risk as to the results and performance of this software and any compiled applications created using this software is assumed by
you. Neither Sabre nor anyone else who has been involved in the creation, production or delivery of this software shall be liable for
any direct, indirect, consequential, or incidental damages (including damages for loss of business profits, business interruption, loss of
business information, and the like) arising out of the use of or inability to use such product even if Sabre has been advised of the
possibility of such damages.

September 15, 2006 Page 5 of 5


Version 1.0

You might also like