AvailabilityPeer(推模式)
编辑于: 2023-07-04 16:53
作为我们设计更新的一部分,应用截图目前正在修订中。
TABLE OF CONTENTS
介绍
AvailabilityPeer 是由渠道实现,供 GO 从渠道系统同步酒店列表、产品列表以及推送房价、房态及库存数据到其系统的一组接口。
AvailabilityPeer 支持两种类型的价格模型:Daily 和 LOS,并根据酒店房价模型推送相应 ARI 数据到渠道
- ping(/ping)- 用于GO调用此接口来验证渠道系统是否正常工作。
- 酒店API - 用于渠道返回最新的上线酒店列表以及售卖产品列表。GO 定时调用此接口从渠道同步这些信息,并作为 ARI 推送的依据之一。
- 酒店列表(/hotels/{supplierId})- 渠道返回最新的酒店列表
- 酒店产品(/Hotel/{supplierId}/{hotelId}) - 渠道返回已激活(已上线)的产品列表
- ARI推送API - 用于渠道接收 GO 推送的 ARI 数据,并缓存到系统。
- Daily ARI 推送(/ari/daily/push)- 渠道接收 GO 推送的 Daily ARI 数据
- LOS ARI 推送(/ari/LOS/push)- 渠道接收 GO 推送的 LOS ARI 数据
Ping
用于GO调用此接口来验证渠道系统是否正常工作。
GET /ping HTTP/1.1 URL: {{endpoint}}/ping Authorization:Bearer 53ac07777cdffac2d53000002d698728ce964432d7167596bc005c5fc Accept-Encoding: gzip Content-Encoding: gzip Content-Type: application/json;charset=utf-8
响应示例
成功响应(HTTP状态200)
"ok"
错误响应(HTTP状态401)
{ "error": "Key not authorised" }
错误响应(HTTP状态500)
{ "errorCode": "InvalidField", "errorMessage": "Invalid Message" }
酒店列表
渠道通过此接口返回最新的酒店列表,GO 将定时同步此列表,并根据酒店状态判定是否推送其酒店的 ARI 数据。
GET /hotels/{supplierId} HTTP/1.1 URL: {{endpoint}}/hotels/{supplierId} Authorization:Bearer 53ac07777cdffac2d53000002d698728ce964432d7167596bc005c5fc Accept-Encoding: gzip Content-Encoding: gzip Content-Type: application/json;charset=utf-8
请求参数
名称 | 描述 | 必传字段? | 类型 | 示例 |
---|---|---|---|---|
supplierId | 酒店集团 ID | Yes | string | HILTON |
响应示例
成功响应(HTTP状态200)
[ { "supplierId": "HILTON", "hotelId": "GATHI", "status": "Actived" } ]
错误响应(HTTP状态401)
{ "error": "Key not authorised" }
错误响应(HTTP状态500)
{ "errorCode": "InvalidField", "errorMessage": "Invalid Message" }
响应规范
属性 | 类型 | 必传字段? | 描述 | 示例 |
---|---|---|---|---|
supplierId | string | Yes | 酒店集团 ID | HILTON |
hotelId | string | Yes | 酒店代码 | GATHI |
status | enum | Yes | 枚举:[Activted,Deactived] 酒店激活/停用状态 | Actived |
酒店产品
渠道返回已激活(已上线)的产品列表,GO 将定时调用此接口从渠道同步。当 ARI Push 当并根据产品列表及状态来推送 ARI 数据。
GET /hotel/{supplierId}/{hotelId} HTTP/1.1 URL: {{endpoint}}/hotel/{supplierId}/{hotelId} Authorization:Bearer 53ac07777cdffac2d53000002d698728ce964432d7167596bc005c5fc Accept-Encoding: gzip Content-Encoding: gzip Content-Type: application/json;charset=utf-8
请求参数
名称 | 描述 | 必传字段? | 类型 | 示例 |
---|---|---|---|---|
supplierId | 酒店集团 ID | Yes | string | HILTON |
hotelId | 酒店代码 | Yes | string | GATHI |
响应示例
成功响应(HTTP状态200)
{ "supplierId": "HILTON", "hotelId": "GATHI", "status": "Actived", "settings": { "additionalProp1": "string", "additionalProp2": "string", "additionalProp3": "string" }, "ariType": "Daily", "rateType": "AmountBeforeTax", "products": [ { "roomId": "K1", "rateId": "CBAR", "status": "Actived", "roomName": "Double Room", "rateName": "Bar Rate", "occupancy": { "maxAdult": 3, "maxChild": 2, "maxOccupancy": 3 } } ] }
错误响应(HTTP状态401)
{ "error": "Key not authorised" }
错误响应(HTTP状态500)
{ "errorCode": "InvalidField", "errorMessage": "Invalid Message" }
响应规范
属性 | 类型 | 必传字段? | 描述 | 示例 |
---|---|---|---|---|
supplierId | string | Yes | 酒店集团 ID | HILTON |
hotelId | string | Yes | 酒店代码 | GATHI |
status | enum | Yes | 枚举:[Actived, Deactived] 酒店状态 | Actived |
settings | object | Yes | 用于传输扩展字段或额外属性等 | "settings": { |
ariType | enum | Yes | 枚举:[ Daily, LOS ] 指示 ARI API 推送时的 ARI 类型。 | Daily |
rateType | enum | Yes | 枚举:[AmountBeforeTax、AmountAfterTax、Both] 标示 ARI 和预订中使用的价格类型。 AmountBeforeTax:GO 推送税前价给渠道,并且渠道发送预订请求时传送税前价给 GO AmountAfterTax:GO 推送税后价给渠道,并且渠道发送预订请求时传送税后价给 GO Both:GO 推送税前价和税后价给渠道,并且渠道发送预订请求时传送税前价和税后价给 GO | AmountBeforeTax |
products | array | Yes | / | / |
@roomId | string | Yes | 房型代码 | King |
@rateId | string | Yes | 价格计划代码 | BAR |
@status | enum | Yes | 枚举: [ Actived, Deactived] | Actived |
@roomName | string | No | 房间类型名称 | King Room |
@rateName | string | No | 价格计划名称 | Best Available Rate |
products/occupancy | object | Yes | / | / |
@maxAdult | integer | Yes | 最大成人数 | 3 |
@maxChild | integer | Yes | 最大小孩数 | 2 |
@maxOccupancy | integer | Yes | 最大入住人数 | 3 |
Daily ARI 推送
GO 调用此接口推送 Dialy ARI 到渠道系统
POST /ari/daily/push HTTP/1.1 URL: {{endpoint}}/ari/daily/push Authorization:Bearer 53ac07777cdffac2d53000002d698728ce964432d7167596bc005c5fc Accept-Encoding: gzip Content-Encoding: gzip Content-Type: application/json;charset=utf-8
请求示例
Occupancy Rate
{ "header": { "supplierId": "HILTON", "distributorId": "GTA", "version": "v4", "token": "18393849028490234" }, "messageType": "Delta", "hotelId": "GATHI", "dateRange": { "startDate": "2018-01-01", "endDate": "2018-01-04" }, "currency": "USD", "dailyAris": [ { "roomId": "K1", "rateId": "BARB", "mealPlans": [ "BB", "BB", "BB", "BB" ], "inventories": [ 9, 0, 9, 9 ], "rates": { "type": "OccupancyRate", "rates": [ { "adultCount": 2, "childCount": 1, "amountBeforeTax": [ 502.19, 502.19, 502.19, 502.19 ], "amountAfterTax": [ 623.23, 623.23, 623.23, 623.23 ] } ] }, "availStatuses": { "close": [ false, false, false, false ], "minStayArrival": [ 0, 2, 0, 0 ], "maxStayArrival": [ 0, 2, 0, 0 ], "minStayThrough": [ 0, 2, 0, 0 ], "maxStayThrough": [ 0, 2, 0, 0 ], "minAdvanceDay": [ 0, 2, 0, 0 ], "maxAdvanceDay": [ 365, 365, 365, 365 ], "cta": [ false, false, false, true ], "ctd": [ false, false, false, true ], "fplos": [ "1111111", "1001111", "1000001", "0000000" ] }, "rateChangeIndicators": [ true, false, true, false ] } ] }
带小孩价的Occupancy Rate模型
{ "header": { "supplierId": "HILTON", "distributorId": "GTA", "version": "v4", "token": "18393849028490234" }, "messageType": "Delta", "hotelId": "GATHI", "dateRange": { "startDate": "2018-01-01", "endDate": "2018-01-04" }, "currency": "USD", "dailyAris": [ { "roomId": "K1", "rateId": "BARB", "mealPlans": [ "BB", "BB", "BB", "BB" ], "inventories": [ 9, 0, 9, 9 ], "rates": { "extraChildRates": [ { "amountAfterTax": [ 50.00, 50.00, 50.00, 50.00 ], "amountBeforeTax": [ 40.00, 40.00, 40.00, 40.00 ], "maxAge": 2, "minAge": 0 }, { "amountAfterTax": [ 60.00, 60.00, 60.00, 60.00 ], "amountBeforeTax": [ 50.00, 50.00, 50.00, 50.00 ], "maxAge": 8, "minAge": 3 }, { "amountAfterTax": [ 70.00, 70.00, 70.00, 70.00 ], "amountBeforeTax": [ 60.00, 60.00, 60.00, 60.00 ], "maxAge": 17, "minAge": 9 } ], "type": "OccupancyRate", "rates": [ { "adultCount": 1, "amountBeforeTax": [ 502.19, 502.19, 502.19, 502.19 ], "amountAfterTax": [ 623.23, 623.23, 623.23, 623.23 ] }, { "adultCount": 2, "amountBeforeTax": [ 520.19, 520.19, 520.19, 520.19 ], "amountAfterTax": [ 641.23, 641.23, 641.23, 641.23 ] } ] }, "availStatuses": { "close": [ false, false, false, false ], "minStayArrival": [ 0, 2, 0, 0 ], "maxStayArrival": [ 0, 2, 0, 0 ], "minStayThrough": [ 0, 2, 0, 0 ], "maxStayThrough": [ 0, 2, 0, 0 ], "minAdvanceDay": [ 0, 2, 0, 0 ], "maxAdvanceDay": [ 365, 365, 365, 365 ], "cta": [ false, false, false, true ], "ctd": [ false, false, false, true ], "fplos": [ "1111111", "1001111", "1000001", "0000000" ] }, "rateChangeIndicators": [ true, false, true, false ] } ] }
- 补全成人与儿童组合价
Notes: 如果酒店集团的小孩入住政策为免费,但是酒店并没有提供完整的成人与儿童组合价。此时GO支持补全这些组合价。例如:酒店的最大入住人数为4,最大入住成人数为3,最大入住儿童数为2,儿童入住免费。但是酒店只提供了成人价,并没有提供完整的成人与儿童组合价,此时GO支持补全组合价如:3A1C、3A0C、2A2C、2A1C、2A0C、1A1C、1A0C *** 该功能会增加 ARI 推送流量,默认关闭。如果您想启用它,请联系您的客户经理了解更多详细信息。
{ "header": { "supplierId": "HILTON", "distributorId": "GTA", "version": "v4", "token": "18393849028490234" }, "messageType": "Delta", "hotelId": "GATHI", "dateRange": { "startDate": "2018-01-01", "endDate": "2018-01-04" }, "currency": "USD", "dailyAris": [ { "roomId": "K1", "rateId": "BARB", "mealPlans": [ "BB", "BB", "BB", "BB" ], "inventories": [ 9, 0, 9, 9 ], "rates": { "type": "OccupancyRate", "rates": [ { "adultCount": 1, "childCount": 0, "amountBeforeTax": [ 502.19, 502.19, 502.19, 502.19 ], "amountAfterTax": [ 523.23, 523.23, 523.23, 523.23 ] }, { "adultCount": 1, "childCount": 1, "amountBeforeTax": [ 502.19, 502.19, 502.19, 502.19 ], "amountAfterTax": [ 523.23, 523.23, 523.23, 523.23 ] }, { "adultCount": 2, "childCount": 0, "amountBeforeTax": [ 502.19, 502.19, 502.19, 502.19 ], "amountAfterTax": [ 523.23, 523.23, 523.23, 523.23 ] }, { "adultCount": 2, "childCount": 1, "amountBeforeTax": [ 502.19, 502.19, 502.19, 502.19 ], "amountAfterTax": [ 523.23, 523.23, 523.23, 523.23 ] }, { "adultCount": 2, "childCount": 2, "amountBeforeTax": [ 502.19, 502.19, 502.19, 502.19 ], "amountAfterTax": [ 523.23, 523.23, 523.23, 523.23 ] }, { "adultCount": 3, "childCount": 0, "amountBeforeTax": [ 502.19, 502.19, 502.19, 502.19 ], "amountAfterTax": [ 523.23, 523.23, 523.23, 523.23 ] }, { "adultCount": 3, "childCount": 1, "amountBeforeTax": [ 502.19, 502.19, 502.19, 502.19 ], "amountAfterTax": [ 523.23, 523.23, 523.23, 523.23 ] } ] }, "availStatuses": { "close": [ false, false, false, false ], "minStayArrival": [ 0, 2, 0, 0 ], "maxStayArrival": [ 0, 2, 0, 0 ], "minStayThrough": [ 0, 2, 0, 0 ], "maxStayThrough": [ 0, 2, 0, 0 ], "minAdvanceDay": [ 0, 2, 0, 0 ], "maxAdvanceDay": [ 365, 365, 365, 365 ], "cta": [ false, false, false, true ], "ctd": [ false, false, false, true ], "fplos": [ "1111111", "1001111", "1000001", "0000000" ] }, "rateChangeIndicators": [ true, false, true, false ] } ] }
请求规范
属性 | 类型 | 必传字段? | 描述 | 示例 |
---|---|---|---|---|
header | object | Yes | / | / |
@supplierId | string | Yes | 最大长度:32 酒店集团 ID | HILTON |
@distributorId | string | Yes | 最大长度:32 渠道 ID | GTA |
@version | string | Yes | 最大长度:20 API版本 | v4 |
@token | string | Yes | 最大长度:64 用于标识请求和响应的唯一ID,通常应为UUID | 18393849028490234 |
messageType | enum | No | 枚举:[Delta(增量),Overlay(全量)] 默认类型为全量推送 | Delta |
hotelId | string | Yes | 酒店代码 | GATHI |
dateRange | object | Yes | 日期范围 | / |
@startDate | string | Yes | 开始日期,格式为yyyy-MM-dd | 2018-01-01 |
@endDate | string | Yes | 结束日期,格式为yyyy-MM-dd | 2018-01-04 |
currency | string | Yes | 币种代码[ISO-4217] | USD |
dailyAris | array | Yes | 日期范围内的每日价和房间库存 | / |
@roomId | string | Yes | 房型代码 | 10000101 |
@rateId | string | Yes | 价格计划代码 | 123456 |
@mealPlans | array[string] | No | 餐食计划 | [ "BB", "BB", "BB", "BB" ] |
@inventories | array[integer] | Yes | 房量/库存 | [ 9, 0, 9, 9 ] |
dailyAris / rates | / | Yes | / | / |
@type | enum | Yes | 枚举:[OccupancyRate,CommonRate] 指示要使用的费率模型 | / |
rates / rates | array[object] | Yes | 如果是“CommonRate”,则不会显示该节点 | / |
@adultCount | integer | No | 如果是“CommonRate ”,则不会显示该节点 | / |
@childCount | integer | No | CommonRate,则不会显示该节点 | / |
@amountBeforeTax | array[number] | No | / | [ 502.19, 502.19, 502.19, 502.19 ] |
@amountAfterTax | array[number] | No | / | [ 623.23, 623.23, 623.23, 623.23 ] |
dailyAris / availStatuses | / | / | / | / |
@close | array[boolean] | Yes | 是否关房 true 表示房态为关房 false 表示房态为可住 | [ false, false, false, false ] |
@minStayArrival | array[integer] | No | 最少入住天数,0 值表示无限制 | [ 0, 2, 0, 0 ] |
@maxStayArrival | array[integer] | No | 最大入住天数,0 值表示无限制 | [ 0, 2, 0, 0 ] |
@minStayThrough | array[integer] | No | 如果入住跨越此天,最少入住天数,0 值表示无限制 | [ 0, 2, 0, 0 ] |
@maxStayThrough | array[integer] | No | 如果入住跨越此天,最大入住天数,0 值表示无限制 | [ 0, 2, 0, 0 ] |
@minAdvanceDay | array[integer] | No | 最少提前几天预订,0 值表示无限制 | [ 0, 2, 0, 0 ] |
@maxAdvanceDay | array[integer] | No | 最大提前几天预订,0 值表示无限制 | [ 365, 365, 365, 365 ] |
@cta | array[boolean] | No | Closed to Arrival, 如果为true, 表示当天不可预订 | [ false, false, false, true ] |
@ctd | array[boolean] | No | 如果为true, 表示当天不可离店 | [ false, false, false, true ] |
@fplos | array[string] | No | Full Pattern Length of Stay, 表示连住几晚是否可住 0值 表示不可住 | [ "1111111", "1001111", "1000001", "0000000" ] |
dailyAris / rateChangeIndicators | array[boolean] | No | 房价变化标识 | [ true, false, true, false ] |
响应示例
成功响应(HTTP状态200)
{ "header": { "supplierId": "HILTON", "distributorId": "GTA", "version": "v4", "token": "18393849028490234" }, "hotelId": "GATHI", "updateDateRange": { "startDate": "2018-01-01", "endDate": "2018-01-04" } }
错误响应(HTTP状态403)
{ "errorCode": "InvalidField", "errorMessage": " Unauthorized token" }
错误响应(HTTP状态500)
{ "errorCode": "InvalidField", "errorMessage": "Invalid Message" }
响应规范
属性 | 类型 | 必传字段? | 描述 | 示例 |
---|---|---|---|---|
header | object | Yes | / | / |
@supplierId | string | Yes | 最大长度:32 酒店集团 ID | HILTON |
@distributorId | string | Yes | 最大长度:32 渠道 ID | GTA |
@version | string | Yes | 最大长度:20 API版本 | v4 |
@token | string | Yes | 最大长度:64 用于标识请求和响应的唯一ID,通常应为UUID | 18393849028490234 |
hotelId | string | Yes | 酒店代码 | GATHI |
updateDateRange | object | Yes | 日期范围 | / |
@startDate | string | Yes | 开始日期,格式为yyyy-MM-dd | 2018-01-01 |
@endDate | string | Yes | 结束日期,格式为yyyy-MM-dd | 2018-01-04 |
LOS 价格推送
GO 调用此接口推送 LOS ARI 到渠道系统
POST /ari/los/push HTTP/1.1 URL: {{endpoint}}/ari/los/push Authorization:Bearer 53ac07777cdffac2d53000002d698728ce964432d7167596bc005c5fc Accept-Encoding: gzip Content-Encoding: gzip Content-Type: application/json;charset=utf-8
请求示例
- Occupancy Rate
{ "header": { "supplierId": "HILTON", "distributorId": "GTA", "version": "v4", "token": "18393849028490234" }, "messageType": "Delta", "hotelId": "GATHI", "dateRange": { "startDate": "2018-01-01", "endDate": "2018-01-04" }, "currency": "USD", "losAris": [ { "roomId": "K1", "rateId": "BARB", "los": 1, "mealPlans": [ "BB", "BB", "RO", "BB" ], "inventories": [ 9, 0, 9, 9 ], "rates": { "type": "OccupancyRate", "rates": [ { "adultCount": 2, "childCount": 1, "amountBeforeTax": [ 502.19, 502.19, 502.19, 502.19 ], "amountAfterTax": [ 623.23, 623.23, 623.23, 623.23 ] } ] } } ] }
- 带小孩价的Occupancy Rate模型
{ "header": { "supplierId": "HILTON", "distributorId": "GTA", "version": "v4", "token": "18393849028490234" }, "messageType": "Delta", "hotelId": "GATHI", "dateRange": { "startDate": "2018-01-01", "endDate": "2018-01-04" }, "currency": "USD", "losAris": [ { "roomId": "K1", "rateId": "BARB", "los": 1, "mealPlans": [ "BB", "BB", "RO", "BB" ], "inventories": [ 9, 0, 9, 9 ], "rates": { "extraChildRates": [ { "minAge": 0, "maxAge": 2, "amountAfterTax": [ 50.00, 50.00, 50.00, 50.00 ], "amountBeforeTax": [ 40.00, 40.00, 40.00, 40.00 ] }, { "minAge": 3, "maxAge": 8, "amountAfterTax": [ 60.00, 60.00, 60.00, 60.00 ], "amountBeforeTax": [ 50.00, 50.00, 50.00, 50.00 ] }, { "minAge": 9, "maxAge": 17, "amountAfterTax": [ 70.00, 70.00, 70.00, 70.00 ], "amountBeforeTax": [ 60.00, 60.00, 60.00, 60.00 ] } ], "type": "OccupancyRate", "rates": [ { "adultCount": 2, "childCount": 0, "amountBeforeTax": [ 200.00, 200.00, 200.00, 200.00 ], "amountAfterTax": [ 220.00, 220.00, 220.00, 220.00 ] }, { "adultCount": 1, "childCount": 0, "amountBeforeTax": [ 160.00, 160.00, 160.00, 160.00 ], "amountAfterTax": [ 192.00, 192.00, 192.00, 192.00 ] } ] } }, { "roomId": "K1", "rateId": "BARB", "los": 2, "mealPlans": [ "BB", "BB", "RO", "BB" ], "inventories": [ 9, 0, 9, 9 ], "rates": { "extraChildRates": [ { "minAge": 0, "maxAge": 2, "amountAfterTax": [ 100.00, 100.00, 100.00, 100.00 ], "amountBeforeTax": [ 80.00, 80.00, 80.00, 80.00 ] }, { "minAge": 3, "maxAge": 8, "amountAfterTax": [ 120.00, 120.00, 120.00, 120.00 ], "amountBeforeTax": [ 100.00, 100.00, 100.00, 100.00 ] }, { "minAge": 9, "maxAge": 17, "amountAfterTax": [ 140.00, 140.00, 140.00, 140.00 ], "amountBeforeTax": [ 120.00, 120.00, 120.00, 120.00 ] } ], "type": "OccupancyRate", "rates": [ { "adultCount": 2, "childCount": 0, "amountBeforeTax": [ 400.00, 400.00, 400.00, 400.00 ], "amountAfterTax": [ 440.00, 440.00, 440.00, 440.00 ] }, { "adultCount": 1, "childCount": 0, "amountBeforeTax": [ 320.00, 320.00, 320.00, 320.00 ], "amountAfterTax": [ 384.00, 384.00, 384.00, 384.00 ] } ] } } ] }
- All possible occupancy combination补全成人与儿童组合价
Notes: 如果酒店集团的小孩入住政策为免费,但是酒店并没有提供完整的成人与儿童组合价。此时GO支持补全这些组合价。例如:酒店的最大入住人数为4,最大入住成人数为3,最大入住儿童数为2,儿童入住免费。但是酒店只提供了成人价,并没有提供完整的成人与儿童组合价,此时GO支持补全组合价如:3A1C、3A0C、2A2C、2A1C、2A0C、1A1C、1A0C *** 该功能会增加 ARI 推送流量,默认关闭。如果您想启用它,请联系您的客户经理了解更多详细信息。
{ "header": { "supplierId": "HILTON", "distributorId": "GTA", "version": "v4", "token": "18393849028490234" }, "messageType": "Delta", "hotelId": "GATHI", "dateRange": { "startDate": "2018-01-01", "endDate": "2018-01-07" }, "currency": "USD", "losAris": [ { "roomId": "NCAA", "rateId": "LHGKX", "los": 1, "mealPlans": [ "BB", "BB", "BB", "BB", "BB", "BB", "BB" ], "inventories": [ 0, 0, 0, 0, 1, 1, 1 ], "rates": { "rates": [ { "adultCount": 1, "childCount": 0, "amountBeforeTax": [ 183.01, 141, 166, 176, 176, 158, 182 ] }, { "adultCount": 1, "childCount": 1, "amountBeforeTax": [ 183.01, 141, 166, 176, 176, 158, 182 ] }, { "adultCount": 2, "childCount": 0, "amountBeforeTax": [ 183.01, 141, 166, 176, 176, 158, 182 ] }, { "adultCount": 2, "childCount": 1, "amountBeforeTax": [ 183.01, 141, 166, 176, 176, 158, 182 ] }, { "adultCount": 2, "childCount": 2, "amountBeforeTax": [ 183.01, 141, 166, 176, 176, 158, 182 ] }, { "adultCount": 3, "childCount": 0, "amountBeforeTax": [ 191.85, 149.87, 175.07, 184.84, 184.84, 166.83, 190.84 ] }, { "adultCount": 3, "childCount": 1, "amountBeforeTax": [ 191.85, 149.87, 175.07, 184.84, 184.84, 166.83, 190.84 ] } ], "type": "OccupancyRate" } } ] }
请求规范
属性 | 类型 | 必传字段? | 描述 | 示例 |
---|---|---|---|---|
header | object | Yes | / | / |
@supplierId | string | Yes | 最大长度:32 酒店集团 ID | HILTON |
@distributorId | string | Yes | 最大长度:32 渠道 ID | GTA |
@version | string | Yes | 最大长度:20 API版本 | v4 |
@token | string | Yes | 最大长度:64 用于标识请求和响应的唯一ID,通常应为UUID | 18393849028490234 |
messageType | enum | No | 枚举:[Delta(增量),Overlay(全量)] 省略属性表示消息类型为全量推送 | Delta |
hotelId | string | Yes | 酒店代码 | GATHI |
dateRange | object | Yes | 日期范围 | / |
@startDate | string | Yes | 开始日期,格式为yyyy-MM-dd | 2018-01-01 |
@endDate | string | Yes | 结束日期,格式为yyyy-MM-dd | 2018-01-04 |
currency | string | Yes | 币种代码[ISO-4217] | USD |
losAris | array | Yes | 表示连住几晚的价格和房量。如果没有可用的价格,则表示酒店已关闭。如果可用房价仅适用于某些房型,则意味着其他房型已关闭。 | / |
@roomId | string | Yes | 房型代码 | 10000101 |
@rateId | string | Yes | 价格计划代码 | 123456 |
@los | integer | Yes | 表示连住 | 1 |
@mealPlans | array[string] | No | 每日期餐食计划 | [ "BB", "BB", "BB", "BB" ] |
@inventories | array[integer] | Yes | 每日房量/库存 | [ 9, 0, 9, 9 ] |
losAris / rates | / | Yes | / | / |
@type | enum | Yes | 枚举:[OccupancyRate,CommonRate] 指示要使用的价格模型:OccupancyRate或CommonRate。 | / |
rates / rates | array[object] | Yes | 如果该节点是“CommonRate”,则不会显示该节点。 | / |
@adultCount | integer | No | 如果该节点是“CommonRate”,则不会显示该节点。 | / |
@childCount | integer | No | 如果该节点是“CommonRate”,则不会显示该节点。 | / |
@amountBeforeTax | array[number] | No | / | [ 502.19, 502.19, 502.19, 502.19 ] |
@amountAfterTax | array[number] | No | / | [ 623.23, 623.23, 623.23, 623.23 ] |
rates / extraChildRates | object | No | byAge 类型的儿童价是由 OccupancyRate的子节点 extraChildRates 来提供。且酒店必须提供最大儿童年龄信息(maxChildAge) | / |
@minAge | integer | Yes | 最小儿童年龄,值大于或等于零 | 0 |
@maxAge | integer | Yes | 最大儿童年龄,值小于或等于maxChildAge | 2 |
@amountBeforeTax | array[number] | No | / | [ 40, 40 ] |
@amountAfterTax | array[number] | No | / | [ 40, 40 ] |
extensions | object | No | 用于额外属性或设置等 | / |
响应示例
成功响应(HTTP状态200)
{ "header": { "supplierId": "HILTON", "distributorId": "GTA", "version": "v4", "token": "18393849028490234" }, "hotelId": "GATHI", "updateDateRange": { "startDate": "2018-01-01", "endDate": "2018-01-04" } }
错误响应(HTTP状态403)
{ "errorCode": "InvalidField", "errorMessage": " Unauthorized token" }
错误响应(HTTP状态500)
{ "errorCode": "InvalidField", "errorMessage": "Invalid Message" }
响应规范
属性 | 类型 | 必传字段? | 描述 | 示例 |
---|---|---|---|---|
header | object | Yes | / | / |
@supplierId | string | Yes | 最大长度:32 酒店集团 ID | HILTON |
@distributorId | string | Yes | 最大长度:32 渠道 ID | GTA |
@version | string | Yes | 最大长度:20 API版本 | v4 |
@token | string | Yes | 最大长度:64 用于标识请求和响应的唯一ID,通常应为UUI。 | 18393849028490234 |
hotelId | string | Yes | 酒店代码 | GATHI |
updateDateRange | object | Yes | 日期范围 | / |
@startDate | string | Yes | 开始日期,格式为yyyy-MM-dd | 2018-01-01 |
@endDate | string | Yes | 结束日期,格式为yyyy-MM-dd | 2018-01-04 |
此回答是否有所帮助? 是 否
Send feedback