当前位置: 首页 > 知识库问答 >
问题:

如何使用Amadeus API设置航班报价搜索中的maxFlightTime?

归誉
2023-03-14

我正在Amadeus API上发布航班优惠。

我正在尝试设置maxFlightTime参数。

API文档说明:

maxFlightTime数字示例:200此选项允许修改经过飞行时间(EFT)主Pricer选项的值

  • https://developers.amadeus.com/self-service/category/air/api-doc/flight-offers-search/api-reference

我的问题是:这个参数期望什么?留档说一个数字,并提供200作为示例。

这个数字代表什么?是分钟、小时还是其他什么?

共有1个答案

叶富
2023-03-14

使用maxFlightTime有点复杂。该数字是一个百分比,表示您希望查找的航班与这些搜索条件下存在的最短航班相比的时间。

让我们举一个例子:我们正在使用航班报价搜索的后endpoint搜索从MAD到SFO的航班(为了示例,我们只返回一个报价):

JSON正文:

json prettyprint-override">{
    "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响应,您将看到报价是MAD到IST(持续时间PT4H15M-so 4h15)和IST到SFO(持续时间PT13H20M-so 13h20M),总持续时间为17h35。请注意,此API始终返回给定条件下最便宜的航班报价。

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

我们可以使用这个JSON主体

json prettyprint-override">{
    "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": {
            "maxFlightTime": 110,
            "cabinRestrictions": [
                {
                    "cabin": "ECONOMY",
                    "coverage": "MOST_SEGMENTS",
                    "originDestinationIds": [
                        "1"
                    ]
                }
            ]
        }
    }
}

这是您将得到的响应:MAD到DFWPT10H35M(10h35),然后是DAL(另一个达拉斯机场?)持续时间为PT4H4M(4h04),因此总持续时间为14h39。

这就是为什么最大飞行时间只能在100到999之间。

API规范对此参数不是很清楚,我们将很快更新它。

 类似资料:
  • 我需要参数来获取包含数组的数据。我尝试了大约100种不同的组合,但我没有得到任何在结果中返回数组的响应。 如果有人知道如何做到这一点,请提供您的答案。 谢谢。

  • 我是一个node js编程,在amadeus网站上测试自助api调用。 我知道整个流程:航班提供搜索- PS.“创建订单”实际上是如何创建航班订单的?我没有看到预订机票的url链接,就像skyscanner的api一样。我得到的只是 客户如何根据此信息预订机票? PPS:是否可以在流程中跳过航班报价价格?如果没有,来自航班报价价格的响应作为创建订单的输入有效多长时间? 提前感谢。

  • 获取航班低价搜索API的请求(例如:https://test.api.amadeus.com/v1/shopping/flight-offers?origin=NYC API中有什么变化?我怎样才能解决这个问题? 航班低票价搜索API-返回500错误

  • 我需要有经验的程序员对Amadeus飞行API。现在我必须将这三个API结合起来。显示搜索结果,我可以很容易地做到。我如何确定/获取旅行者选择的航班id,将其提供给航班服务API,并最终将其提供给航班预订API?这对一些人来说可能很容易,但我正在努力克服它。我很乐意得到第一手的想法。 谢谢

  • 使用Java SDK,在执行航班优惠搜索时,最大结果是多少?在返回的数组中循环时,似乎长度始终为5,并且似乎没有分页(尝试转到下一页时会出现NullPointerException)。 此外,有没有办法找出航班优惠搜索的参数?我尝试搜索留档和Amadeus jar,但没有找到任何东西。具体来说,我正在寻找搜索特定路线和选择特定航空公司的能力,如果自助服务API提供此功能的话。 提前感谢您的帮助。

  • 我正在尝试使用endpoint Flight低价搜索,我意识到它没有按maxPrice正确过滤。 例如,以maxPrice=100到达下一个endpoint。 https://test.api.amadeus.com/v1/shopping/flight-offers?origin=MAD 我得到了以下结果,因此我认为有一个错误: