微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用 Amadeus API 在航班优惠搜索中设置 maxFlightTime?

如何解决如何使用 Amadeus API 在航班优惠搜索中设置 maxFlightTime?

我正在向 Amadeus API 发布航班优惠信息。

我正在尝试设置 maxFlightTime 参数。

API 文档说:

maxFlightTime number 示例:200 此选项允许修改 已用飞行时间 (EFT) masterPricer 选项的值

我的问题是: 这个参数期望什么?文档说明了一个数字,并以 200 为例。

数字代表什么?是几分钟、几小时还是不同的时间?

解决方法

maxFlightTime 使用起来有点复杂。该数字是一个百分比,表示您想要查找的航班可以与这些搜索条件中存在的最短航班相比有多长。

举个例子: 我们正在使用航班优惠搜索的 POST 端点查找从 MADSFO 的航班(为了示例,我们仅返回 1 个优惠):

JSON 正文:

{
    "currencyCode": "EUR","originDestinations": [
        {
            "id": "1","originLocationCode": "MAD","destinationLocationCode": "SFO","departureDateTimeRange": {
                "date": "2021-05-01","time": "10:00:00"
            }
        }
    ],"travelers": [
        {
            "id": "1","travelerType": "ADULT","fareOptions": [
                "STANDARD"
            ]
        }
    ],"sources": [
        "GDS"
    ],"searchCriteria": {
        "maxFlightOffers": 1,"flightFilters": {
            "cabinRestrictions": [
                {
                    "cabin": "ECONOMY","coverage": "MOST_SEGMENTS","originDestinationIds": [
                        "1"
                    ]
                }
            ]
        }
    }
}

如果您检查 JSON 响应,您将看到报价是 MADIST(持续时间 PT4H15M 所以 4h15)和 ISTSFO(持续时间 PT13H20M 所以 13h20M) 所以总持续时间为 17h35。请注意,此 API 始终返回给定条件下最便宜的航班优惠。

如果现在我们想执行添加 maxFlightTime 的相同请求,但我们不想有这么长的旅程,我们希望最大总持续时间比可用的最短航班长 110%。

我们可以使用这个 JSON 正文

{
    "currencyCode": "EUR","flightFilters": {
            "maxFlightTime": 110,"cabinRestrictions": [
                {
                    "cabin": "ECONOMY","originDestinationIds": [
                        "1"
                    ]
                }
            ]
        }
    }
}

这是您将得到的回复: MADDFW 的持续时间为 PT10H35M (10h35),然后 DAL(另一个达拉斯机场?)到 SFO 的持续时间为 PT4H4M (4h04) 所以总持续时间为 14h39。

这就是 maxFlightTime 只能介于 100 和 999 之间的原因。

API规范对这个参数不是很清楚,我们会尽快更新。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。