Skip Navigation

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 Update Workflow

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

<GetReservationRQ Version="1.19" xmlns="http://webservices.sabre.com/pnrbuilder/v1_19" xmlns:ns2="http://services.sabre.com/res/or/v1_14">
        <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).

<UpdateReservationRQ xmlns="http://webservices.sabre.com/pnrbuilder/v1_19" xmlns="http://webservices.sabre.com/pnrbuilder/v1_19" xmlns="http://services.sabre.com/res/or/v1_14">
    <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 the Product 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 to HX, this field can only be changed to either the HK or UC status.

Important! If the status is another value instead of HK or UC, 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-