如何使用 Amadeus API 在航班优惠搜索中设置 maxFlightTime?
How to set the maxFlightTime in a flight offers search with the Amadeus API?
我正在向 Amadeus API 发送 POST 航班信息。
我正在尝试设置 maxFlightTime 参数。
API 文档说:
maxFlightTime number example: 200 This option allows to modify the
value for the Elapsed Flying Time (EFT) masterPricer option
我的问题是:
这个参数期望什么?文档说了一个数字,并提供了 200 作为示例。
这个数字代表什么?是分钟、小时还是其他时间?
maxFlightTime
使用起来有点复杂。该数字是一个百分比,表示您希望查找的航班与符合这些搜索条件的最短航班相比,可以提供多长时间。
举个例子:
我们正在使用航班优惠搜索的 POST 端点寻找从 MAD
到 SFO
的航班(为了示例,我们只返回 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 回复,您会看到报价是 MAD
到 IST
(持续时间 PT4H15M
所以 4 小时 15 分)和 IST
到SFO
(持续时间 PT13H20M
所以 13 点 20 分)所以总持续时间为 17 点 35 分。请注意,此 API 始终是 returns 符合给定条件的最便宜航班。
如果现在我们想要执行添加 maxFlightTime
的相同请求,但我们不希望有这么长的旅程,我们希望总持续时间最多比可用的最短航班长 110% .
我们可以用这个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": {
"maxFlightTime": 110,
"cabinRestrictions": [
{
"cabin": "ECONOMY",
"coverage": "MOST_SEGMENTS",
"originDestinationIds": [
"1"
]
}
]
}
}
}
这是您将得到的回复:
MAD
到 DFW
持续时间 PT10H35M
(10h35) 然后 DAL
(另一个达拉斯机场?)到 SFO
持续时间
PT4H4M
(4h04) 所以总时长为 14h39.
这就是为什么maxFlightTime
只能在100到999之间的原因。
API规范对这个参数不是很清楚,我们会尽快更新。
我正在向 Amadeus API 发送 POST 航班信息。
我正在尝试设置 maxFlightTime 参数。
API 文档说:
maxFlightTime number example: 200 This option allows to modify the value for the Elapsed Flying Time (EFT) masterPricer option
我的问题是: 这个参数期望什么?文档说了一个数字,并提供了 200 作为示例。
这个数字代表什么?是分钟、小时还是其他时间?
maxFlightTime
使用起来有点复杂。该数字是一个百分比,表示您希望查找的航班与符合这些搜索条件的最短航班相比,可以提供多长时间。
举个例子:
我们正在使用航班优惠搜索的 POST 端点寻找从 MAD
到 SFO
的航班(为了示例,我们只返回 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 回复,您会看到报价是 MAD
到 IST
(持续时间 PT4H15M
所以 4 小时 15 分)和 IST
到SFO
(持续时间 PT13H20M
所以 13 点 20 分)所以总持续时间为 17 点 35 分。请注意,此 API 始终是 returns 符合给定条件的最便宜航班。
如果现在我们想要执行添加 maxFlightTime
的相同请求,但我们不希望有这么长的旅程,我们希望总持续时间最多比可用的最短航班长 110% .
我们可以用这个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": {
"maxFlightTime": 110,
"cabinRestrictions": [
{
"cabin": "ECONOMY",
"coverage": "MOST_SEGMENTS",
"originDestinationIds": [
"1"
]
}
]
}
}
}
这是您将得到的回复:
MAD
到 DFW
持续时间 PT10H35M
(10h35) 然后 DAL
(另一个达拉斯机场?)到 SFO
持续时间
PT4H4M
(4h04) 所以总时长为 14h39.
这就是为什么maxFlightTime
只能在100到999之间的原因。
API规范对这个参数不是很清楚,我们会尽快更新。