首页 > 解决方案 > 创建乘客姓名记录 - 消息 NO FARE FOR CLASS USED

问题描述

我们正在使用 Bargain Finder Max 并创建乘客姓名记录来预订航班

我们发现大约 50% 的测试用例存在问题,我们看到 Create PNR 调用返回以下错误

"code":"ERR.SP.PROVIDER_ERROR","content":"Unable to perform air booking step"

其次是

[{"Message":[{"code":"WARN.SWS.HOST.ERROR_IN_RESPONSE", "content":"EnhancedAirBookRQ: NO FARE FOR CLASS USED"}]

我们的 Create PNR 呼叫正在使用来自 BFM 呼叫的响应

如您所见,我们正在传递 B 和 W 的 ResBookDesigCode,我们从 BFM 调用中检索到

这是我们想从 BFM 电话预订的截断细节,它是 4 次返程航班,我们正在使用一对定价的行程,我们不会尝试从一个定价的 Itin 中使用一个 out 并从另一个返回。

...[{
"DepartureDateTime": "2018-12-23T06:00:00",
"ArrivalDateTime": "2018-12-23T08:40:00",
"StopQuantity": 0,
"FlightNumber": "345",
"ResBookDesigCode": "B",
"ElapsedTime": 100,
"DepartureAirport": {
    "LocationCode": "LHR",
    "TerminalID": "2",
    "content": ""
},
"ArrivalAirport": {
    "LocationCode": "ZRH",
    "content": ""
},
"OperatingAirline": {
    "Code": "LX",
    "FlightNumber": "345",
    "content": ""
},
"Equipment": [{
    "AirEquipType": "320",
    "content": ""
}],
"MarketingAirline": {
    "Code": "LX",
    "content": ""
},
"MarriageGrp": "O",
"DepartureTimeZone": {
    "GMTOffset": 0.0
},
"ArrivalTimeZone": {
    "GMTOffset": 1.0
},
"TPA_Extensions": {
    "eTicket": {
        "Ind": true
    },
    "Mileage": {
        "Amount": 491
    }
}

}...

这是我们的创建 PNR 呼叫

{
"CreatePassengerNameRecordRQ": {
    "version": "2.1.0",
    "targetCity": "XXXX",
    "haltOnAirPriceError": true,
    "TravelItineraryAddInfo": {
        "AgencyInfo": {
            "Address": {
                "AddressLine": "XXXXXX",
                "CityName": "XXXXX",
                "CountryCode": "GB",
                "PostalCode": "XXX XXX",
                "StateCountyProv": {
                    "StateCode": "XXXXX"
                },
                "StreetNmbr": "XXXXX"
            },
            "Ticketing": {
                "TicketType": "XXXX"
            }
        },
        "CustomerInfo": {
            "ContactNumbers": {
                "ContactNumber": [{
                    "NameNumber": "1.1",
                    "Phone": "0844 555 5555 ",
                    "PhoneUseType": "B"
                }]
            },
            "CreditCardData": {
                "BillingInformation": {
                    "cardHolderName": "XXXXX",
                    "streetAddress": "XXXX",
                    "city": "Feering",
                    "stateOrProvince": "Essex",
                    "PostalCode": "XXXXX"
                }
            },
            "PersonName": [{
                "NameNumber": "",
                "NameReference": "",
                "PassengerType": "ADT",
                "GivenName": "BOB",
                "Surname": "BOBBINGTON"
            }]
        }
    },
    "AirBook": {
        "HaltOnStatus": [{
            "Code": "NN"
        }, {
            "Code": "HL"
        }, {
            "Code": "KK"
        }, {
            "Code": "LL"
        }, {
            "Code": "NO"
        }, {
            "Code": "UC"
        }, {
            "Code": "US"
        }],
        "OriginDestinationInformation": {
            "FlightSegment": [{
                "DepartureDateTime": "2018-12-23T06:00:00",
                "ArrivalDateTime": "2018-12-23T08:40:00",
                "FlightNumber": "345",
                "NumberInParty": "1",
                "ResBookDesigCode": "B",
                "Status": "NN",
                "InstantPurchase": true,
                "DestinationLocation": {
                    "LocationCode": "ZRH"
                },
                "MarketingAirline": {
                    "Code": "LX",
                    "FlightNumber": "345"
                },
                "MarriageGrp": "O",
                "OriginLocation": {
                    "LocationCode": "LHR"
                }
            }, {
                "DepartureDateTime": "2018-12-23T11:45:00",
                "ArrivalDateTime": "2018-12-23T14:25:00",
                "FlightNumber": "2114",
                "NumberInParty": "1",
                "ResBookDesigCode": "B",
                "Status": "NN",
                "InstantPurchase": true,
                "DestinationLocation": {
                    "LocationCode": "AGP"
                },
                "MarketingAirline": {
                    "Code": "LX",
                    "FlightNumber": "2114"
                },
                "MarriageGrp": "O",
                "OriginLocation": {
                    "LocationCode": "ZRH"
                }
            }, {
                "DepartureDateTime": "2018-12-24T13:00:00",
                "ArrivalDateTime": "2018-12-24T15:40:00",
                "FlightNumber": "2111",
                "NumberInParty": "1",
                "ResBookDesigCode": "W",
                "Status": "NN",
                "InstantPurchase": true,
                "DestinationLocation": {
                    "LocationCode": "ZRH"
                },
                "MarketingAirline": {
                    "Code": "LX",
                    "FlightNumber": "2111"
                },
                "MarriageGrp": "O",
                "OriginLocation": {
                    "LocationCode": "AGP"
                }
            }, {
                "DepartureDateTime": "2018-12-24T20:55:00",
                "ArrivalDateTime": "2018-12-24T21:40:00",
                "FlightNumber": "340",
                "NumberInParty": "1",
                "ResBookDesigCode": "W",
                "Status": "NN",
                "InstantPurchase": true,
                "DestinationLocation": {
                    "LocationCode": "LHR"
                },
                "MarketingAirline": {
                    "Code": "LX",
                    "FlightNumber": "340"
                },
                "MarriageGrp": "O",
                "OriginLocation": {
                    "LocationCode": "ZRH"
                }
            }]
        }
    },
    "AirPrice": [{
        "PriceComparison": {
            "AmountSpecified": 403,
            "AcceptablePriceIncrease": {
                "HaltOnNonAcceptablePrice": true,
                "Amount": 847
            }
        },
        "PriceRequestInformation": {
            "Retain": true,
            "OptionalQualifiers": {
                "FOP_Qualifiers": {
                    "BasicFOP": {
                        "Type": "CK"
                    }
                },
                "PricingQualifiers": {
                    "NameSelect": [{
                        "NameNumber": "1.1"
                    }],
                    "PassengerType": [{
                        "Code": "ADT",
                        "Quantity": "1"
                    }]
                }
            }
        }
    }],
    "MiscSegment": {
        "VendorPrefs": {
            "Airline": {
                "Code": "LX"
            }
        },
        "DepartureDateTime": "12-23",
        "NumberInParty": 1,
        "Text": "TEST OTH MISCELLANEOUS SEGMENT",
        "Type": "OTH",
        "OriginLocation": {
            "LocationCode": "LHR"
        },
        "Status": "GK"
    },
    "SpecialReqDetails": {
        "AddRemark": {
            "RemarkInfo": {
                "FOP_Remark": {
                    "Type": "CASH"
                }
            }
        },
        "SpecialService": {
            "SpecialServiceInfo": {
                "SecureFlight": [{
                    "SegmentNumber": "A",
                    "PersonName": {
                        "DateOfBirth": "1977-07-17",
                        "Gender": "M",
                        "NameNumber": "1.1",
                        "GivenName": "BOB",
                        "Surname": "BOBBINGTON"
                    },
                    "VendorPrefs": {
                        "Airline": {
                            "Hosted": false
                        }
                    }
                }],
                "Service": []
            }
        }
    },
    "PostProcessing": {
        "RedisplayReservation": true,
        "ARUNK": "please do the arunk thing",
        "EndTransaction": {
            "Source": {
                "ReceivedFrom": "SP TEST"
            }
        },
        "PostBookingHKValidation": {
            "waitInterval": 100,
            "numAttempts": 6
        },
        "WaitForAirlineRecLoc": {
            "waitInterval": 100,
            "numAttempts": 6
        }
    }
}

}

我一直在阅读这样的帖子,上面写着“就是这样,价格会发生变化”,但如果是这种情况,为什么当我们再次启动该流程时,我们会在随后的通话中获得相同的定价和可用性?

标签: sabre

解决方案


推荐阅读