amadeus - 航班提供的定价在添加行李后会产生意想不到的结果
问题描述
我尝试按照本指南https://developers.amadeus.com/blog/add-baggage-amadeus-flight-booking-api检索航班报价。
在第一次请求定价端点后,我得到:
"included": {
"bags": {
"1": {
"quantity": 1,
"name": "CHECKED_BAG",
"price": {
"amount": "1637",
"currencyCode": "NOK"
},
"bookableByItinerary": true,
"segmentIds": [
"3",
"21"
],
"travelerIds": [
"0",
"1"
]
},
"2": {
"quantity": 1,
"name": "CHECKED_BAG",
"price": {
"amount": "655",
"currencyCode": "NOK"
},
"bookableByItinerary": true,
"segmentIds": [
"3",
"21"
],
"travelerIds": [
"0",
"1"
]
}
}
},
老实说,我不确定如何解释。"1"
和"2"
键在这里代表什么?是我在请求中发送的第一个和第二个航班报价吗?
无论如何,在收到此响应后,我将分配1
给travelerPricings.fareDetailsBySegment.additionalServices.chargeableCheckedBags.quantity
每个航班报价(其中 2 个)中的每个航段(ID“3”和“21”)。
我期望在第二次请求的响应中获得不同的价格,但我得到了同样的结果,并且在对航班报价定价的第二次响应中从未提及其他服务。
难道我做错了什么?
我还尝试为一个部分添加袋子,同样的事情发生了。
我正在寻找 JFK<->MAD 航班(2020-10-20 -> 2020-10-30)。
解决方案
“1”和“2”是包提供的ID。在这种情况下,API 以 1637 NOK 的价格返回带 1 袋的报价 1,以 655 挪威克朗的价格返回带 1 袋的报价 2。价格差异意味着一个行李比另一个大,即使航空公司没有明确提供此信息。每个bag offer中的segmentId保证了哪个bag offer可以应用于哪个segment。现在,在这种情况下,两个行李报价具有相同的数量 = 1。为了选择要在航班中添加的行李报价(因为两个报价具有相同的数量),您可以手动更新航班报价的价格您选择的袋子之一,因此系统将知道要添加哪个袋子。
如果在航班优惠中添加行李后返回的价格相同,则表示无法添加行李。这可能与以下几件事有关:由于测试环境数据及其限制,此行李不适用于特定航段,在航班中确认报价时无法提供行李数量,或特定航空公司仅允许一个每个人的行李,甚至特定航班都达到了行李容量的极限,因为没有无限量的空间。
推荐阅读
- windows - Selenium 如何点击 Ctrl + p
- crashlytics - 我在哪里可以找到 Fabric setUserIdentifier 键值?
- mysql - SQL 附加列或多对一关系
- r - RTVS 绘图断开 R 会话
- memory - Ubuntu 不使用非活动内存并进行交换。为什么?
- javascript - Reactjs/Javascript 是将二维数组打印到表格中的最有效方法
- google-chrome - 如何在applescript上向下滚动?
- python - 用相同的值填充列,除了组内的第一行
- c# - Crystal Report 在导出为 PDF 时更改拼写
- shell - 从 AWS EC-2 服务器调用 API 的 CURL 命令:日文数据在数据库中出现乱码