Создать запись имени пассажира - сообщение «Нет платы за использование класса» - PullRequest
0 голосов
/ 26 ноября 2018

Мы используем Bargain Finder Max и Create Passenger Name Record для бронирования рейсов

Мы видим проблему примерно в 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

Как вы можете видеть, мы передаем ResBookDesigCode из B и W,который мы извлекаем из вызова BFM

Вот усеченная деталь, которую мы хотим забронировать из вызова BFM, это возврат на 4 рейса, и мы используем дорогую пару маршрутов, мы не пытаемся использоватьиз одного оцененного Итина и возврата из другого.

...[{
"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
        }
    }
}

}

Я читал ТАК сообщения, в которых говорится: «Вот как это происходит, цены меняются», но если это было так, почему, когда мы снова начинаем процесс, нам предлагают те же цены и доступность при последующих звонках?

...