Atlas API 订单

OrderAPI会保留库存吗?如果是,保留多长时间?

我们允许您在订单生成后保留库存并保证价格30分钟。如果在这30分钟内未完成支付,价格保证将失效。

我们可以释放我们这边保留的库存吗?

Atlas API在OrderAPI调用后会保留库存。我们有一个内置机制在30分钟后自动释放库存。不同航空公司有不同的库存释放机制,因此我们无法为合作伙伴提供请求释放库存的功能。

预订中可以使用哪个邮箱作为联系方式?

在预订请求中,您可以在所有预订中使用您的邮箱,也可以使用乘客的邮箱。某些航空公司如果发现预订持续来自同一个邮箱,可能会阻止预订。

为了解决航空公司阻止预订的问题,Atlas开发了一个内部流程为客户提供便利。在"order.do" API请求中新增了一个标签,用于指示是否使用Atlas邮箱作为联系信息。

这个标签是"useAtlasMailForContact"。当值为"true"时表示"使用Atlas邮箱作为联系邮箱",当值为"false"时表示"使用客户邮箱作为联系邮箱"。

当收到"useAtlasMailForContact"为"true"的预订请求时,Atlas将为该预订创建一个唯一的邮箱并发送给航空公司。对Atlas创建的邮箱的回复将在ATRIP的"Bookings"部分的"Email List"中提供。Atlas将尽力在ATRIP的"Email List"部分提供来自航空公司的邮件,但Atlas不保证通知,因为Atlas可能不总是从航空公司或邮件服务提供商那里收到这些邮件。

当收到"useAtlasMailForContact"为"false"的预订请求时,Atlas将使用"order.do"请求中收到的邮箱创建预订。如果此类预订被航空公司阻止,Atlas将在其端取消预订。将返回错误代码321,消息为"Contact email is blocked by airline"。

我们可以使用VCC预订由2个单程票价创建的往返行程吗?

当2个单程票价比真实的往返票价便宜时,Atlas使用2个单程票价构建往返行程。当我们的客户使用VCC进行预订时,他们也希望将其用于由2个单程票价构建的返程。

这可以通过以下流程实现:

在"order.do"请求中添加了'allowGenerateMultipleOrders'元素。

**allowGenerateMultipleOrders 布尔型 **可选

true: 允许

false: 不允许(默认)

当在"order.do"请求中发送"allowGenerateMultipleOrders= true"元素用于往返预订时,工作流程如下:

  • Atlas将检查我们是否也可以为此预订发出往返票价。如果可以,那么我们将遵循现有的工作流程和逻辑给您响应。

  • 如果我们不能为此预订发出往返票价,那么我们将为您生成两个订单,订单号格式为"TBASA20220123212500763, KYASA20220123212500764"。请使用逗号分隔订单号。

可以调用"queryOrderDetails"函数获取每个预订的详细信息。"supportCreditTransPayment"标签仍然可以检查以确定此新预订是否接受信用卡。

**supportCreditTransPayment 整型 **必填

1: 仅预付款

3: 信用卡支付和预付款都可用

当客户在您端完成支付后,您可以调用支付函数为两个订单(每个订单一个调用)完成向Atlas的支付并等待出票。

流程如下:

订单

然后,检索预订1 --> 支付1

检索预订2 --> 支付2

订单必须单独检索,然后为每个订单进行支付。检索和支付可以按任何顺序进行,第一个订单不一定是第一个需要支付的订单。

此功能适用于所有往返行程,无论是预付款还是VCC支付,并且适用于同一承运人以及预订中的不同承运人。

当行程有中转点时,如何添加"ancillaries"元素?

当"verify"响应中的"fromSegments"或"toSegments"有2个或更多航段时,订单中的"ancillaries"数组也需要有相同数量的"segmentIndex"元素。

如果不满足此条件,预订将失败。

示例:

fromSegments (verify响应):

{

"fromSegments": [ {

"carrier": "5J",

"flightNumber": "5J580",

"depAirport": "CEB",

"depTime": "202304240000",

"arrAirport": "MNL",

"arrTime": "202304240130",

"stopCities": "",

"duration": 90,

"codeShare": false,

"cabin": "Z",

"cabinClass": 1,

"seatCount": 4,

"aircraftCode": "",

"depTerminal": "",

"arrTerminal": "",

"operatingCarrier": "",

"operatingFlightnumber": "",

"fareFamily": "GO Basic"

},

{

"carrier": "5J",

"flightNumber": "5J018",

"depAirport": "MNL",

"depTime": "202304241025",

"arrAirport": "DXB",

"arrTime": "202304241530",

"stopCities": "",

"duration": 545,

"codeShare": false,

"cabin": "Z",

"cabinClass": 1,

"seatCount": 4,

"aircraftCode": "",

"depTerminal": "",

"arrTerminal": "",

"operatingCarrier": "",

"operatingFlightnumber": "",

"fareFamily": "GO Basic"

}

ancillaries (订单请求):

"ancillaries":[ {

"productCode":"SCI_BAG_1PC_20KG",

"segmentIndex":"1"

},

{

"productCode":"SCI_BAG_1PC_20KG",

"segmentIndex":"2"

}

在上面的示例中,CEB - DXB之间允许20kg附加行李。由于这是一个有中转点的行程,有2个航段,因此"ancillaries"数组中应包含这两个航段,如上所示。

Last updated

Was this helpful?