Welcome toVigges Developer Community-Open, Learning,Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
758 views
in Technique[技术] by (71.8m points)

soap - How to guarantee air price quote after PNR creation on Sabre API?

I'm trying to create a PNR with "Time to think/Fare lock" option offered by airlines like AF, KLM, LH and more. The idea is to create the PNR to temporarily "block" the price until the time limit is reached (48~72hs) but I don't know how.

I'm able to create the PNR, with CreatePassengerNameRecord, without problems and it returns the retained PriceQuote but the fare is not guaranteed until ticketed and the system will re-price the itinerary with the current fare before ticketing.

Request/response example CreatePassengerNameRecordRQ

"CreatePassengerNameRecordRQ" : {
"version" : "2.2.0",
"haltOnAirPriceError" : true,
"TravelItineraryAddInfo" : {
    "AgencyInfo" : {
        "Address" : {
            "AddressLine" : "TEST",
            "CityName" : "TEST",
            "CountryCode" : "FR",
            "PostalCode" : "99999",
            "StreetNmbr" : "TEST 123"
        },
        "Ticketing" : {
            "PseudoCityCode" : "L4GJ",
            "TicketType" : "7TAW"
        }
    },
    "CustomerInfo" : {
        "ContactNumbers" : {
            "ContactNumber" : [ 
                {
                    "Phone" : "99999999",
                    "PhoneUseType" : "A"
                }
            ]
        },
        "CustLoyalty" : [],
        "Email" : [ 
            {
                "Address" : "[email protected]"
            }, 
            {
                "Address" : "[email protected]"
            }
        ],
        "PersonName" : [ 
            {
                "NameNumber" : "1.1",
                "PassengerType" : "ADT",
                "GivenName" : "TEST",
                "Surname" : "TEST"
            }
        ]
    }
},
"AirBook" : {
    "HaltOnStatus" : [ 
        {
            "Code" : "HL"
        }, 
        {
            "Code" : "KK"
        }, 
        {
            "Code" : "LL"
        }, 
        {
            "Code" : "NN"
        }, 
        {
            "Code" : "NO"
        }, 
        {
            "Code" : "UC"
        }, 
        {
            "Code" : "US"
        }
    ],
    "OriginDestinationInformation" : {
        "FlightSegment" : [ 
            {
                "DepartureDateTime" : "2021-02-17T13:15:00",
                "ArrivalDateTime" : "2021-02-17T13:45:00",
                "FlightNumber" : "1780",
                "NumberInParty" : "1",
                "ResBookDesigCode" : "G",
                "Status" : "NN",
                "DestinationLocation" : {
                    "LocationCode" : "LHR"
                },
                "MarketingAirline" : {
                    "Code" : "AF",
                    "FlightNumber" : "1780"
                },
                "OriginLocation" : {
                    "LocationCode" : "CDG"
                }
            }, 
            {
                "DepartureDateTime" : "2021-02-26T11:30:00",
                "ArrivalDateTime" : "2021-02-26T13:50:00",
                "FlightNumber" : "1581",
                "NumberInParty" : "1",
                "ResBookDesigCode" : "X",
                "Status" : "NN",
                "DestinationLocation" : {
                    "LocationCode" : "CDG"
                },
                "MarketingAirline" : {
                    "Code" : "AF",
                    "FlightNumber" : "1581"
                },
                "OriginLocation" : {
                    "LocationCode" : "LHR"
                }
            }
        ]
    }
},
"AirPrice" : [ 
    {
        "PriceComparison" : {
            "AcceptablePriceDecrease" : {
                "Amount" : 125.3,
                "HaltOnNonAcceptablePrice" : true
            },
            "AcceptablePriceIncrease" : {
                "Amount" : 5,
                "HaltOnNonAcceptablePrice" : true
            },
            "AmountSpecified" : 125.3
        },
        "PriceRequestInformation" : {
            "Retain" : true,
            "OptionalQualifiers" : {
                "MiscQualifiers" : {
                    "BaggageAllowance" : []
                },
                "FOP_Qualifiers" : {
                    "BasicFOP" : {
                        "Type" : "CK"
                    }
                },
                "PricingQualifiers" : {
                    "ItineraryOptions" : {
                        "SegmentSelect" : [ 
                            {
                                "Number" : "1",
                                "RPH" : "1"
                            }, 
                            {
                                "Number" : "2",
                                "RPH" : "2"
                            }
                        ]
                    },
                    "PassengerType" : [ 
                        {
                            "Quantity" : "1",
                            "Code" : "ADT"
                        }
                    ],
                    "SpecificFare" : [ 
                        {
                            "FareBasis" : "GS50OALG",
                            "RPH" : "1"
                        }, 
                        {
                            "FareBasis" : "XS50OALG",
                            "RPH" : "2"
                        }
                    ]
                }
            }
        }
    }
],
"SpecialReqDetails" : {
    "SpecialService" : {
        "SpecialServiceInfo" : {
            "AdvancePassenger" : [],
            "SecureFlight" : [ 
                {
                    "PersonName" : {
                        "NameNumber" : "1.1",
                        "DateOfBirth" : "1991-01-13",
                        "Gender" : "M",
                        "GivenName" : "TEST",
                        "Surname" : "TEST"
                    }
                }
            ],
            "Service" : [ 
                {
                    "SSR_Code" : "CTCM",
                    "PersonName" : {
                        "NameNumber" : "1.1"
                    },
                    "Text" : "0033142890939"
                }, 
                {
                    "SSR_Code" : "CTCE",
                    "PersonName" : {
                        "NameNumber" : "1.1"
                    },
                    "Text" : "TEST"
                }
            ]
        }
    }
},
"PostProcessing" : {
    "RedisplayReservation" : {
        "waitInterval" : 1000
    },
    "EndTransaction" : {
        "Email" : {
            "eTicket" : {
                "PDF" : {
                    "Ind" : false
                },
                "Ind" : false
            },
            "Ind" : true
        },
        "Source" : {
            "ReceivedFrom" : "TEST"
        }
    }
}

} }

CreatePassengerNameRecordRS (partial)

"CreatePassengerNameRecordRS" : {
"ApplicationResults" : {
    "status" : "Complete",
    "Success" : [ 
        {
            "timeStamp" : "2020-11-19T06:29:15.342-06:00"
        }
    ],
    "Warning" : [ 
        {
            "type" : "BusinessLogic",
            "timeStamp" : "2020-11-19T06:29:14.016-06:00",
            "SystemSpecificResults" : [ 
                {
                    "Message" : [ 
                        {
                            "code" : "WARN.SWS.HOST.WARNING_RESPONSE",
                            "content" : "EndTransactionLLSRQ: TTY REQ PEND"
                        }
                    ]
                }
            ]
        }
    ]
},
"ItineraryRef" : {
    "ID" : "HOKJCQ"
},
"AirBook" : {
    "OriginDestinationOption" : {
        "FlightSegment" : [ 
            {
                "ArrivalDateTime" : "02-17T13:45",
                "DepartureDateTime" : "02-17T13:15",
                "eTicket" : true,
                "FlightNumber" : "1780",
                "NumberInParty" : "001",
                "ResBookDesigCode" : "G",
                "Status" : "NN",
                "DestinationLocation" : {
                    "LocationCode" : "LHR"
                },
                "MarketingAirline" : {
                    "Code" : "AF",
                    "FlightNumber" : "1780"
                },
                "OriginLocation" : {
                    "LocationCode" : "CDG"
                }
            }, 
            {
                "ArrivalDateTime" : "02-26T13:50",
                "DepartureDateTime" : "02-26T11:30",
                "eTicket" : true,
                "FlightNumber" : "1581",
                "NumberInParty" : "001",
                "ResBookDesigCode" : "X",
                "Status" : "NN",
                "DestinationLocation" : {
                    "LocationCode" : "CDG"
                },
                "MarketingAirline" : {
                    "Code" : "AF",
                    "FlightNumber" : "1581"
                },
                "OriginLocation" : {
                    "LocationCode" : "LHR"
                }
            }
        ]
    }
},
"AirPrice" : [ 
    {
        "PriceCompariso

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)
等待大神答复

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to Vigges Developer Community for programmer and developer-Open, Learning and Share
...