如何解决如何在 Sabre API 上创建 PNR 后保证报价?
我正在尝试使用 AF、KLM、LH 等航空公司提供的“思考时间/票价锁定”选项创建 PNR。这个想法是创建 PNR 来临时“阻止”价格,直到达到时间限制(48~72hs),但我不知道如何。
我可以使用 CreatePassengerNameRecord 创建 PNR,没有问题,它返回保留的 PriceQuote,但在出票前无法保证票价,系统将在出票前使用当前票价重新定价行程。
请求/响应示例 创建PassengerNameRecordRQ
"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" : "test@gmail.com"
},{
"Address" : "testRes@gmail.com"
}
],"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","ResBookDesigCode" : "X","DestinationLocation" : {
"LocationCode" : "CDG"
},"FlightNumber" : "1581"
},"OriginLocation" : {
"LocationCode" : "LHR"
}
}
]
}
},"AirPrice" : [
{
"PriceComparison" : {
"AcceptablePriceDecrease" : {
"Amount" : 125.3,"HaltOnNonAcceptablePrice" : true
},"AcceptablePriceIncrease" : {
"Amount" : 5,"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","Surname" : "TEST"
}
}
],"Service" : [
{
"SSR_Code" : "CTCM","PersonName" : {
"NameNumber" : "1.1"
},"Text" : "0033142890939"
},{
"SSR_Code" : "CTCE","Text" : "TEST"
}
]
}
}
},"PostProcessing" : {
"RedisplayReservation" : {
"waitInterval" : 1000
},"EndTransaction" : {
"Email" : {
"eTicket" : {
"PDF" : {
"Ind" : false
},"Ind" : false
},"Ind" : true
},"Source" : {
"ReceivedFrom" : "TEST"
}
}
}
} }
CreatePassengerNameRecordRS(部分)
"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,"NumberInParty" : "001",{
"ArrivalDateTime" : "02-26T13:50","DepartureDateTime" : "02-26T11:30","AirPrice" : [
{
"PriceComparison" : {
"AmountReturned" : "125.30","AmountSpecified" : "125.3"
},"PriceQuote" : {
"MiscInformation" : {
"BaggageInfo" : {
"SubCodeProperties" : [
{
"SolutionSequenceNmbr" : 1,"RPH" : 1,"AncillaryFeeGroupCode" : "BG","CommercialNameofBaggageItemType" : "FREE BAGGAGE ALLOWANCE","EMD_Type" : "4","ExtendedSubCodeKey" : "0DFAAAF"
},{
"SolutionSequenceNmbr" : 1,"RPH" : 2,"CommercialNameofBaggageItemType" : "UPTO50LB 23KG AND62LI 158LCM","DescriptionOne" : {
"Code" : "23","Text" : "UP TO 50 POUNDS/23 KILOGRAMS"
},"DescriptionTwo" : {
"Code" : "6U","Text" : "UP TO 62 LINEAR INCHES/158 LINEAR CENTIMETERS"
},"ExtendedSubCodeKey" : "0GOACAF","SizeWeightInfo" : {
"MaximumSizeInAlternate" : {
"Units" : "C","content" : "158"
},"MaximumSize" : {
"Units" : "I","content" : "62"
},"MaximumWeightInAlternate" : {
"Units" : "K","content" : "23"
},"MaximumWeight" : {
"Units" : "L","content" : "50"
}
}
},"RPH" : 3,"AncillaryService" : {
"SubGroupCode" : "CY","Text" : "CARRY ON HAND BAGGAGE"
},"CommercialNameofBaggageItemType" : "CARRYON HAND BAGGAGE ALLOWANCE","ExtendedSubCodeKey" : "0LNABAF"
},"RPH" : 4,"BookingMethod" : "04","CommercialNameofBaggageItemType" : "CABIN BAGGAGE 12KG 1PC 115CM","DescriptionOne" : {
"Code" : "12","Text" : "UP TO 26 POUNDS/12 KILOGRAMS"
},"DescriptionTwo" : {
"Code" : "4U","Text" : "UP TO 45 LINEAR INCHES/115 LINEAR CENTIMETERS"
},"ExtendedSubCodeKey" : "0MRACAF","content" : "115"
},"content" : "45"
},"content" : "12"
},"content" : "26"
}
}
}
]
},"HeaderInformation" : [
{
"SolutionSequenceNmbr" : "1","DepartureDate" : "2021-02-17","Text" : [
"VALIDATING CARRIER - AF","CAT 15 SALES RESTRICTIONS FREE TEXT FOUND - VERIFY RULES","BAG ALLOWANCE -CDGLHR-NIL/AF","1STCHECKED BAG FEE-CDGLHR-EUR45.00/AF/UP TO 50 POUNDS/23 KILOGR","AMS AND UP TO 62 LINEAR INCHES/158 LINEAR CENTIMETERS","2NDCHECKED BAG FEE-CDGLHR-EUR70.00/AF/UP TO 50 POUNDS/23 KILOGR","BAG ALLOWANCE -LHRCDG-NIL/AF","1STCHECKED BAG FEE-LHRCDG-EUR45.00/AF/UP TO 50 POUNDS/23 KILOGR","2NDCHECKED BAG FEE-LHRCDG-EUR70.00/AF/UP TO 50 POUNDS/23 KILOGR","CARRY ON ALLOWANCE","CDGLHR LHRCDG-01P/AF","01/UP TO 26 POUNDS/12 KILOGRAMS AND UP TO 45 LINEAR INCHES/115","LINEAR CENTIMETERS","CARRY ON CHARGES","CDGLHR LHRCDG-AF-CARRY ON FEES UNKNOWN-CONTACT CARRIER","ADDITIONAL ALLOWANCES AND/OR DISCOUNTS MAY APPLY DEPENDING ON","FLYER-SPECIFIC FACTORS /E.G. FREQUENT FLYER STATUS/MILITARY/","CREDIT CARD FORM OF PAYMENT/EARLY PURCHASE OVER INTERNET,ETC./"
],"ValidatingCarrier" : {
"Code" : "AF"
}
}
],"SolutionInformation" : [
{
"SolutionSequenceNmbr" : "1","BaseFareCurrencyCode" : "EUR","CurrencyCode" : "EUR","GrandTotalEquivFareAmount" : "34.00","GrandTotalTaxes" : "91.30","RequiresRebook" : "false","TicketNumber" : "0","TotalAmount" : "125.30"
}
],"ValidatingCarrier" : [
{
"NewValidatingProcess" : true,"SolutionSequenceNmbr" : "1","SettlementMethod" : "BSP","Ticket" : [
{
"Type" : "ETKTREQ","CarrierCode" : "AF","ValidatingCarrierType" : "Default"
}
]
}
]
},"PricedItinerary" : {
"AlternativePricing" : "false","MultiTicket" : false,"TotalAmount" : "125.30","AirItineraryPricingInfo" : [
{
"SolutionSequenceNmbr" : "1","BaggageProvisions" : [
...
],"FareCalculation" : {
"Text" : "PAR AF LON17.62AF PAR22.33NUC39.95END ROE0.85086"
},"FareCalculationBreakdown" : [
{
"Branch" : {
"PCC" : "N1GJ","FirstJointCarrier" : "AF"
},"Departure" : {
"CityCode" : "PAR","AirportCode" : "CDG","AirlineCode" : "AF","GenericInd" : "O","ArrivalCityCode" : "LON","ArrivalAirportCode" : "LHR"
},"FareBasis" : {
"Code" : "GS50OALG","FareAmount" : "17.62","FarePassengerType" : "ADT","FareType" : "P","FilingCarrier" : "AF","GlobalInd" : "EH","TripTypeInd" : "R","Market" : "PARLON","Cabin" : "Y"
},"FreeBaggageAllowance" : "NONIL","RuleCategoryIndicator" : [
"4","5","6","7","8","9","10","15","16"
]
},{
"Branch" : {
"PCC" : "N1GJ","Departure" : {
"CityCode" : "LON","AirportCode" : "LHR","ArrivalCityCode" : "PAR","ArrivalAirportCode" : "CDG"
},"FareBasis" : {
"Code" : "XS50OALG","FareAmount" : "22.33","16"
]
}
],"ItinTotalFare" : {
"NonRefundableInd" : "N","BaggageInfo" : {
"NonUS_DOT_Disclosure" : {
"Text" : [
"BAG ALLOWANCE -CDGLHR-NIL/AF",ETC./"
]
}
},"BaseFare" : {
"Amount" : "34.00","CurrencyCode" : "EUR"
},"Construction" : {
"Amount" : "39.95","CurrencyCode" : "NUC","RateOfExchange" : "0.850860"
},"Taxes" : {
"TotalAmount" : "91.30","Tax" : [
{
"Amount" : "26.00","TaxCode" : "YQI","TaxName" : "SERVICE FEE - CARRIER-IMPOSED","TicketingTaxCode" : "YQ"
},{
"Amount" : "16.33","TaxCode" : "FR","TaxName" : "CIVIL AVIATION TAX DOMESTIC AN","TicketingTaxCode" : "FR"
},{
"Amount" : "13.09","TaxCode" : "QX","TaxName" : "PASSENGER SERVICE CHARGE INTER","TicketingTaxCode" : "QX"
},{
"Amount" : "1.13","TaxCode" : "IZ","TaxName" : "AIR PASSENGER SOLIDARITY TAX","TicketingTaxCode" : "IZ"
},{
"Amount" : "14.51","TaxCode" : "GB","TaxName" : "AIR PASSENGER DUTY APD","TicketingTaxCode" : "GB"
},{
"Amount" : "18.74","TaxCode" : "UB","TaxName" : "PASSENGER SERVICE CHARGE DEPAR","TicketingTaxCode" : "UB"
},{
"Amount" : "1.50","TaxCode" : "O4","TaxName" : "AIR PASSENGER SOLIDARITY TAX S","TicketingTaxCode" : "O4"
}
]
},"TotalFare" : {
"Amount" : "125.30","CurrencyCode" : "EUR"
}
},"PassengerTypeQuantity" : {
"Code" : "ADT","Quantity" : "1"
},"PTC_FareBreakdown" : [
{
"Cabin" : "Y","Market" : "PARLON"
},"FreeBaggageAllowance" : "NONIL"
},{
"Cabin" : "Y","FreeBaggageAllowance" : "NONIL"
}
]
}
]
}
}
}
],"TravelItineraryRead" : {
"TravelItinerary" : {
"CustomerInfo" : {
...
},"ItineraryInfo" : {
"ItineraryPricing" : {
"PriceQuote" : [
{
"RPH" : "1","MiscInformation" : {
"SignatureLine" : [
{
"ExpirationDateTime" : "00:00","Source" : "SYS","Status" : "ACTIVE","Text" : "N1GJ N1GJ*AWS 1329/19NOV20"
}
]
},"PricedItinerary" : [
{
"DisplayOnly" : false,"InputMessage" : "WPFCK¥S1*ZZGS50OALG¥S2*ZZXS50OALG¥P1ADT¥RQ","RPH" : "1","StatusCode" : "A","TaxExempt" : false,"ValidatingCarrier" : "AF","StoredDateTime" : "2020-11-19T13:29","AirItineraryPricingInfo" : {
"ItinTotalFare" : [
{
"BaseFare" : {
"Amount" : "34.00","CurrencyCode" : "EUR"
},"Taxes" : {
"Tax" : {
"Amount" : "91.30","TaxCode" : "XT"
},"TaxBreakdownCode" : [
{
"TaxPaid" : false,"content" : "26.00YQ"
},{
"TaxPaid" : false,"content" : "16.33FR"
},"content" : "13.09QX"
},"content" : "1.13IZ"
},"content" : "14.51GB"
},"content" : "18.74UB"
},"content" : "1.50O4"
}
]
},"TotalFare" : {
"Amount" : "125.30","Totals" : {
"BaseFare" : {
"Amount" : "34.00"
},"Taxes" : {
"Tax" : {
"Amount" : "91.30"
}
},"TotalFare" : {
"Amount" : "125.30"
}
}
}
],"PassengerTypeQuantity" : [
{
"Code" : "ADT","Quantity" : "01"
}
],"PTC_FareBreakdown" : [
{
"Endorsements" : {
"Endorsement" : [
{
"type" : "PRICING_PARAMETER","Text" : "WPFCK$S1*ZZGS50OALG$S2*ZZXS50OALG$P1ADT$RQ"
},{
"type" : "WARNING","Text" : "VALIDATING CARRIER - AF"
},"Text" : "CAT 15 SALES RESTRICTIONS FREE TEXT FOUND - VERIFY RULES"
}
]
},"FareBasis" : [
{
"Code" : "GS50OALG/XS50OALG"
}
],"FareCalculation" : {
"Text" : [
"PAR AF LON17.62AF PAR22.33NUC39.95END ROE0.85086"
]
},"FareSource" : "ATPC","FlightSegment" : [
{
"ConnectionInd" : "O","SegmentNumber" : "1","Status" : "OK","BaggageAllowance" : {
"Number" : "NIL"
},"FareBasis" : {
"Code" : "GS50OALG"
},"MarketingAirline" : {
"Code" : "AF","FlightNumber" : "1780"
},"OriginLocation" : {
"LocationCode" : "CDG"
},"ValidityDates" : {
"NotValidAfter" : "2021-02-17","NotValidBefore" : "2021-02-17"
}
},{
"ConnectionInd" : "O","SegmentNumber" : "2","FareBasis" : {
"Code" : "XS50OALG"
},"FlightNumber" : "1581"
},"OriginLocation" : {
"LocationCode" : "LHR"
},"ValidityDates" : {
"NotValidAfter" : "2021-02-26","NotValidBefore" : "2021-02-26"
}
},{
"OriginLocation" : {
"LocationCode" : "CDG"
}
}
],"FareComponent" : [
{
"FareBasisCode" : "GS50OALG","FareDirectionality" : "FROM","Amount" : "1762","TicketDesignator" : "","GoverningCarrier" : "AF","FareComponentNumber" : "1","Location" : {
"Origin" : "PAR","Destination" : "LON"
},"Dates" : {
"DepartureDateTime" : "02-17T13:15","ArrivalDateTime" : "02-17T13:45"
},"FlightSegmentNumbers" : {
"FlightSegmentNumber" : [
"1"
]
}
},{
"FareBasisCode" : "XS50OALG","FareDirectionality" : "TO","Amount" : "2233","FareComponentNumber" : "2","Location" : {
"Origin" : "LON","Destination" : "PAR"
},"Dates" : {
"DepartureDateTime" : "02-26T11:30","ArrivalDateTime" : "02-26T13:50"
},"FlightSegmentNumbers" : {
"FlightSegmentNumber" : [
"2"
]
}
}
]
}
]
}
}
],"ResponseHeader" : {
"Text" : [
"FARE - PRICE RETAINED","FARE USED TO CALCULATE DISCOUNT","FARE NOT GUARANTEED UNTIL TICKETED"
]
},"PriceQuotePlus" : {
"DomesticIntlInd" : "I","PricingStatus" : "S","VerifyFareCalc" : false,"ItineraryChanged" : false,"ManualFare" : false,"NegotiatedFare" : false,"SystemIndicator" : "S","NUCSuppresion" : false,"SubjToGovtApproval" : false,"IT_BT_Fare" : "BT","DisplayOnly" : false,"DiscountAmount" : "0","PassengerInfo" : {
"PassengerType" : "ADT","PassengerData" : [
{
"NameNumber" : "01.01","content" : "TEST/TEST"
}
]
},"TicketingInstructionsInfo" : {}
}
}
],"PriceQuoteTotals" : {
"BaseFare" : {
"Amount" : "34.00"
},"Taxes" : {
"Tax" : {
"Amount" : "91.30"
}
},"TotalFare" : {
"Amount" : "125.30"
}
}
},"Ticketing" : [
{
"RPH" : "01","TicketTimeLimit" : "TAWL4GJ19NOV009/"
}
]
},"ItineraryRef" : {
...
},"SpecialServiceInfo" : [
{
"RPH" : "001","Type" : "GFX","Id" : "14","Service" : {
"SSR_Code" : "SSR","SSR_Type" : "DOCS","Airline" : {
"Code" : "AF"
},"PersonName" : [
{
"NameNumber" : "01.01","content" : "TEST/TEST"
}
],"Text" : [
"HK1/DB/13JAN1991/M/TEST/TEST"
]
}
},{
"RPH" : "002","Id" : "15","SSR_Type" : "CTCM","Text" : [
"HK1/0033142890939"
]
}
},{
"RPH" : "003","Id" : "16","SSR_Type" : "CTCE","Text" : [
"TEST"
]
}
}
]
}
}
}
我是否需要在 CreatePassengerNameRecordRQ 中指定一些内容来冻结票价? 是否需要采取任何其他措施才能访问某些航空公司提供的此特殊选项?
谢谢!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。