Asynchronous PNR Update
Introduction
When traditional methods of communication with an aggregator supplier fail, there is an additional mechanism in place that enables connection to the supplier using a different path.
You may encounter some instances where the segment data in the Central Reservation System (CRS) of an aggregator supplier does not match Sabre data. For example, a commit transaction may fail and the segment reverts to a PN
status without a confirmation number or the HX
status. In this case, the Asynchronous PNR Update mechanism (also known as a Polling Process) will retrieve the data from the supplier's system and trigger an update if the data does not match.
This mechanism is triggered with Retrieve Itinerary (GetReservationRQ
) by providing the following Subject Areas in the request:
REFRESH_HOTEL_CONTENT
FORCE_OPEN_RES_RETRIEVAL
Workflow
Below is a visual workflow for this type of request:
Asynchronus PNR Updates
Lodging segments are updated if any changes are received during this process, with all updates reflected in the PNR's history. Retrieve Itinerary will return the following warning message:
Lodging product was modified during refresh.
The Asynchronous PNR Update is triggered after receiving a response from the supplier. The update is applied to the last committed state of the PNR, so any changes made in the session should be disregarded and the PNR should be loaded once more; otherwise, the next ET
status may result in the following error:
ET PROCESSING ERROR SIMULTANEOUS CHANGES TO PNR - USE IR TO IGNORE AND RETRIEVE PNR
Example of a forced refresh using Retrieve Itinerary
<RequestType>Stateful</RequestType>
<ReturnOptions>
<SubjectAreas>
<SubjectArea>OPENRESDATA</SubjectArea>
<SubjectArea>REFRESH_HOTEL_CONTENT</SubjectArea>
<SubjectArea>FORCE_OPEN_RES_RETRIEVAL</SubjectArea>
</SubjectAreas>
</ReturnOptions>
</GetReservationRQ>
Changing an HX
status to HK
or UC
In the event the Asynchronous PNR Update fails, you can manually change an HX
status to either HK
or UC
with Update Itinerary (UpdateReservationRQ).
<ns8:RequestType commitTransaction="true" initialIgnore="false">Stateful</RequestType>
<ReturnOptions RetrievePNR="true" IncludeUpdateDetails="true"/>
<ReservationUpdateList>
<ReservationUpdateItem>
<ProductUpdate id="{{productId}}" op="U">
<Product>
<ProductDetails statusCode="{{newStatus}}">
<ProductName type="HHL">Lodging</ProductName>
<Lodging/>
</ProductDetails>
</Product>
</ProductUpdate>
</ReservationUpdateItem>
</ReservationUpdateList>
</ns3:UpdateReservationRQ>
productId
- ID unique to theProduct
that can be found in the Retrieve Itinerary response (GetReservationRS
). Can be used before the Update Itinerary operation.newStatus
- The status the PNR should be changed to. If the existing status is set toHX
, this field can only be changed to either theHK
orUC
status.
Important! If the status is another value instead of
HK
orUC
, an error will be generated in the response:<stl19:UpdateReservationRS Version="1.19.0" xmlns:ns6="http://services.sabre.com/res/orr/v0" xmlns:or114="http://services.sabre.com/res/or/v1_14" xmlns:stl19="http://webservices.sabre.com/pnrbuilder/v1_19" xmlns:raw="http://tds.sabre.com/itinerary" xmlns:ns4="http://webservices.sabre.com/pnrconn/ReaccSearch">
<stl19:Success>FALSE</stl19:Success>
<stl19:Errors>
<stl19:Error UpdateId="">
<stl19:Code>500810</stl19:Code>
<stl19:Message>STATUS CHANGE FROM HX ONLY TO HK OR UC POSSIBLE</stl19:Message>
</stl19:Error>
</stl19:Errors>
<stl19:Results>
<stl19:UpdateResult UpdateId="" Status="FALSE">
<stl19:Item/>
</stl19:UpdateResult>
</stl19:Results>
</stl19:UpdateReservationRS>
Error removal
Polling events stop after three (3) days if the sell event is unconfirmed. Errors added to PNR segments due to these failed cancellations are to be removed from the segment when the status changes from HX
to either HK
or UC
.
Example before error removal
1 HHL 7E HX1 AFW IN18NOV Q-OUT19NOV 1NT 0000000 AMERICAS BE
ST VALUE 1 -1/ 58.65USD/CMN-C/TAC-0.45/AGT99999999/GDPST
VIXXXXXXXXXXXX0006EXP XXXXX-CHRISTOPHER/ID-LOY12345/FT-FLY12345
/NM-CHRISTOPHER COLUMBUS/C06P/ERT-NGHP.ERR.PNRSVC.INTERNALTIME
OUT: CSL SERVICE NOT RESPONDED IN TIME WHILE PROCESSING COMMIT.
/SI-SIM NGHP BOOKING TIMEOUT ET CANCEL-CF-7797430267176-
Example after error removal
1 HHL 7E HX1 AFW IN18NOV Q-OUT19NOV 1NT 0000000 AMERICAS BE
ST VALUE 1 -1/ 58.65USD/CMN-C/TAC-0.45/AGT99999999/GDPST
VIXXXXXXXXXXXX0006EXP XXXXX-CHRISTOPHER/ID-LOY12345/FT-FLY12345
/NM-CHRISTOPHER COLUMBUS/C06P/SI-SIM NGHP BOOKING TIMEOUT ET CANCEL-CF-7797430267176-