房价、房量、可用性
编辑于: 2023-04-13 16:13
目录
概述
PC Integration API 采用三种消息类型交换 ARI(房态、房价、房量)数据,所有这些信息都要实现。
- 更新房价 Update Rate:PMS 推送房价更新。
- 更新库存 Update Inventory:PMS 推送库存更新。
- 更新房态、可用性 Update Availability:PMS 推送房态、可用性更新。本接口设计有四个可用性级别。产品级别是必须提供的,其他级别是可选的。请根据 PMS具备的可用性来开发。
注意事项:
① 更新消息的请求从 PMS 推至德比软件,德比软件将返回响应。因为消息在德比软系统中排队。请注意:为了获得最佳性能,德比软件将异步处理相关消息,这些消息按 FIFO 队列中的接收时间顺序处理。如果您在推送过程中遇到任何错误,主要是因为网络问题,请重试您的请求,确保每个 ARI 更新消息都能被正常推送至德比软件。
② 为了优化性能并减少消息字节,德比软件服务器支持 GZIP 压缩格式。将消息推至德比软件时,建议 PMS 的应用程序将消息压缩为 GZIP。使用这种方式时,您需要在 HTTP 请求头中添加 "Content-Encoding: gzip",以便我们的服务器知道请求消息是以 GZIP
格式发送过来的,并将其自动解码。
更新房价
此 API 用于单个酒店的房型+价格码组合的房价。如果同时修改了多个价格码的房价,您的消息必须分批处理并将其发送到 DerbySoft 以避免过大的单个消息。
POST /pcapigateway/tunnel/{accountId}/rate HTTP/1.1 Authorization: Bearer 53ac07777cdffac2d53000002d698728ce964432d7167596bc005c5fc Accept-Encoding: gzip Content-Encoding: gzip Content-Type: application/json;charset=utf-8
请求
字段 | 类型 | 是否必填 | 描述 | 评论 |
---|---|---|---|---|
hotelId | String | 是 | 酒店代码 | / |
roomId | String | 是 | 房型代码 | / |
rateId | String | 是 | 价格代码 | / |
startDate | Date: yyyy-MM-dd | 是 | 开始日期 - 将在数据库应用更新房价的开始日期 | / |
endDate | Date: yyyy-MM-dd | 是 | 结束日期 - 将在数据库应用更新房价的结束日期 | / |
type | Enum -Delta -Overlay | 是 |
| |
currencyCode | String | 是 | 货币代码以 ISO 4217 为标准 | / |
rates | List[rates] | 是 | / | / |
rates/startDate | Date: yyyy-MM-dd | 是 | 开始日期 | / |
rates/endDate | Date: yyyy-MM-dd | 是 | 结束日期 | / |
rates/baseByGuestAmts | List[baseByGuestAmt] | 是 | / | / |
baseByGuestAmts /ageQualifyingCode | Integer | 是 | “8”=儿童 “10” = 成人 | / |
baseByGuestAmts /numberOfGuests | Integer | 是 | 总人数 | / |
baseByGuestAmts /amountAfterTax | BigDecimal | 否 | 价格(含税) | 税前金额和税后金额少有1个 |
baseByGuestAmts /amountBeforeTax | BigDecimal | 否 | 价格(不含税费) | |
rates/additionalGuestAmounts | List[additionalGuestAmounts] | 否 | ||
additionalGuestAmounts/ageQualifyingCode | Integer | 是 | “8”=儿童 “10” = 成人 | |
additionalGuestAmounts/amountAfterTax | BigDecimal | 否 | 价格(含税) | 税前金额和税后金额少有1个 |
additionalGuestAmounts/amountBeforeTax | BigDecimal | 否 | 价格(不含税费) |
示例
1.1 更新房价
"STD"房型+"BAR"价格在1/23~1/24和2/21~2/23房价有变化,并且有额外jia'ren,其他日期没有变化。
请求
{ "header": { "echoToken": "25c8cb40-52a0-449f-8fc9-0187c6f3f19e", "timeStamp": "2018-06-27T17:09:04.674Z", "version": "0.1" }, "hotelId": "FSDH", "roomId": "King", "rateId": "BAR", "startDate": "2021-01-23", "endDate": "2021-02-23", "type": "Delta", "currencyCode": "USD", "rates": [ { "startDate": "2021-01-23", "endDate": "2021-01-24", "baseByGuestAmts": [ { "ageQualifyingCode": 10, "numberOfGuests": 1, "amountBeforeTax": 100, "amountAfterTax": 120 }, { "ageQualifyingCode": 10, "numberOfGuests": 2, "amountBeforeTax": 200, "amountAfterTax": 220 }, { "ageQualifyingCode": 8, "numberOfGuests": 1, "amountBeforeTax": 20, "amountAfterTax": 22 } ], "additionalGuestAmounts": [ { "ageQualifyingCode": 10, "amountBeforeTax": 100, "amountAfterTax": 120 }, { "ageQualifyingCode": 8, "amountBeforeTax": 20, "amountAfterTax": 22 } ] }, { "startDate": "2021-02-21", "endDate": "2021-02-23", "baseByGuestAmts": [ { "ageQualifyingCode": 10, "numberOfGuests": 1, "amountBeforeTax": 300, "amountAfterTax": 330 }, { "ageQualifyingCode": 10, "numberOfGuests": 2, "amountBeforeTax": 600, "amountAfterTax": 660 } ], "additionalGuestAmounts": [ { "ageQualifyingCode": 10, "amountBeforeTax": 300, "amountAfterTax": 330 } ] } ] }
成功响应
{ "header":{ "echoToken":"25c8cb40-52a0-449f-8fc9-0187c6f3f19e", "timeStamp":"2018-06-27T17:09:04.674Z", "version":"0.1" } }
失败响应
{ "header":{ "echoToken":"25c8cb40-52a0-449f-8fc9-0187c6f3f19e", "timeStamp":"2018-06-27T17:09:04.674Z", "version":"0.1" }, "errorCode":"InvalidField", "errorMessage":"Invalid token" }
1.2 全量推送房价
"STD"房型+"BAR"价格在1/23~2/20和2/21~2/23有2种不同的房价,并全量推送。
请求
{ "header": { "echoToken": "25c8cb40-52a0-449f-8fc9-0187c6f3f19e", "timeStamp": "2018-06-27T17:09:04.674Z", "version": "0.1" }, "hotelId": "FSDH", "roomId": "King", "rateId": "BAR", "startDate": "2021-01-23", "endDate": "2021-02-23", "type": "Overlay", "currencyCode": "USD", "rates": [ { "startDate": "2021-01-23", "endDate": "2021-02-20", "baseByGuestAmts": [{ "ageQualifyingCode": 10, "numberOfGuests": 1, "amountBeforeTax": 100, "amountAfterTax": 120 }, { "ageQualifyingCode": 10, "numberOfGuests": 2, "amountBeforeTax": 200, "amountAfterTax": 220 }, { "ageQualifyingCode": 8, "numberOfGuests": 1, "amountBeforeTax": 20, "amountAfterTax": 22 } ] }, { "startDate": "2021-02-21", "endDate": "2021-02-23", "baseByGuestAmts": [{ "ageQualifyingCode": 10, "numberOfGuests": 1, "amountBeforeTax": 300, "amountAfterTax": 330 }, { "ageQualifyingCode": 10, "numberOfGuests": 2, "amountBeforeTax": 600, "amountAfterTax": 660 } ] } ] }
成功响应
{ "header":{ "echoToken":"25c8cb40-52a0-449f-8fc9-0187c6f3f19e", "timeStamp":"2018-06-27T17:09:04.674Z", "version":"0.1" } }
失败响应
"header":{ "echoToken":"25c8cb40-52a0-449f-8fc9-0187c6f3f19e", "timeStamp":"2018-06-27T17:09:04.674Z", "version":"0.1" }, "errorCode":"InvalidField", "errorMessage":"Invalid token" }
1.3 清除房价
清除"STD"房型+"BAR"价格在1/23~2/23的房价。
请求
{ "header":{ "echoToken":"25c8cb40-52a0-449f-8fc9-0187c6f3f19e", "timeStamp":"2018-06-27T17:09:04.674Z", "version":"0.1" }, "hotelId":"FSDH", "roomId":"STD", "rateId":"BAR", "startDate":"2021-01-23", "endDate":"2021-02-23", "type":"Overlay", "currencyCode":"USD", "rates":[] }
成功响应
{ "header":{ "echoToken":"25c8cb40-52a0-449f-8fc9-0187c6f3f19e", "timeStamp":"2018-06-27T17:09:04.674Z", "version":"0.1" } }
失败响应
{ "header":{ "echoToken":"25c8cb40-52a0-449f-8fc9-0187c6f3f19e", "timeStamp":"2018-06-27T17:09:04.674Z", "version":"0.1" }, "errorCode":"InvalidField", "errorMessage":"Invalid token" }
更新房量
此 API 用于更新单个酒店的一种房型的房量。如果同时修改多个房型,您的消息必须拆分为批处理并将其发送到德比软件以避免过大的单个消息。
POST /pcapigateway/tunnel/{acountId}/inventory HTTP/1.1 Authorization: Bearer 53ac07777cdffac2d53000002d698728ce964432d7167596bc005c5fc Accept-Encoding: gzip Content-Encoding: gzip Content-Type: application/json;charset=utf-8
请求
字段 | 类型 | 是否必填 | 描述 | 说明 |
---|---|---|---|---|
hotelId | String | 是 | 酒店代码 | / |
roomId | String | 是 | 房型代码 | / |
startDate | Date: yyyy-MM-dd | 是 | 开始日期 - 将在数据库应用更新房量的开始日期 | / |
endDate | Date: yyyy-MM-dd | 是 | 结束日期 - 将在数据库应用更新房量的结束日期 | / |
type | Enum - Delta - Overlay | 是 |
| |
inventories | List[DailyInventory] | 是 | / | / |
DailyInventory/startDate | Date: yyyy-MM-dd | 是 | Start date 开始日期 | / |
DailyInventory/endDate | Date: yyyy-MM-dd | 是 | End date 结束日期 | / |
DailyInventory/availableInvCount | Integer | 是 | 可售房量 | / |
示例
2.1 更新房量
"STD"房型在1/23~1/25和2/3~2/23房量有变化,其他日期没有变化。
请求
{ "header":{ "echoToken":"25c8cb40-52a0-449f-8fc9-0187c6f3f19e", "timeStamp":"2018-06-27T17:09:04.674Z", "version":"0.1" }, "hotelId":"FSDH", "roomId":"STD", "startDate":"2021-01-23", "endDate":"2021-02-23", "type":"Delta", "inventories":[ { "startDate":"2021-01-23", "endDate":"2021-01-25", "availableInvCount":10 }, { "startDate":"2021-02-03", "endDate":"2021-02-23", "availableInvCount":50 } ] }
成功响应
{ "header":{ "echoToken":"25c8cb40-52a0-449f-8fc9-0187c6f3f19e", "timeStamp":"2018-06-27T17:09:04.674Z", "version":"0.1" } }
失败响应
{ "header":{ "echoToken":"25c8cb40-52a0-449f-8fc9-0187c6f3f19e", "timeStamp":"2018-06-27T17:09:04.674Z", "version":"0.1" }, "errorCode":"InvalidField", "errorMessage":"Invalid token" }
2.2 全量房量
"STD"房型在1/23~2/20和2/21~2/23价格有2种不同的房量,并全量推送。
请求
{ "header":{ "echoToken":"25c8cb40-52a0-449f-8fc9-0187c6f3f19e", "timeStamp":"2018-06-27T17:09:04.674Z", "version":"0.1" }, "hotelId":"FSDH", "roomId":"STD", "startDate":"2021-01-23", "endDate":"2021-02-23", "type":"Overlay", "inventories":[ { "startDate":"2021-01-23", "endDate":"2021-02-20", "availableInvCount":10 }, { "startDate":"2021-02-21", "endDate":"2021-02-23", "availableInvCount":50 } ] }
成功响应
{ "header":{ "echoToken":"25c8cb40-52a0-449f-8fc9-0187c6f3f19e", "timeStamp":"2018-06-27T17:09:04.674Z", "version":"0.1" } }
失败响应
{ "header":{ "echoToken":"25c8cb40-52a0-449f-8fc9-0187c6f3f19e", "timeStamp":"2018-06-27T17:09:04.674Z", "version":"0.1" }, "errorCode":"InvalidField", "errorMessage":"Invalid token" }
2.3 清除指定房型的量
清除"STD"房型在1/23~2/23的房量。
请求
{ "header":{ "echoToken":"25c8cb40-52a0-449f-8fc9-0187c6f3f19e", "timeStamp":"2018-06-27T17:09:04.674Z", "version":"0.1" }, "hotelId":"FSDH", "roomId":"STD", "startDate":"2021-01-23", "endDate":"2021-02-23", "type":"Overlay", "inventories":[] }
成功响应
{ "header":{ "echoToken":"25c8cb40-52a0-449f-8fc9-0187c6f3f19e", "timeStamp":"2018-06-27T17:09:04.674Z", "version":"0.1" } }
失败响应
{ "header":{ "echoToken":"25c8cb40-52a0-449f-8fc9-0187c6f3f19e", "timeStamp":"2018-06-27T17:09:04.674Z", "version":"0.1" }, "errorCode":"InvalidField", "errorMessage":"Invalid token" }
更新房态和入住限制
此API用于更新单个酒店的四个级别的房态和入住限制。如果同时修改了多个房态和入住限制,PMS必须将消息拆分为分批处理并发送给德比软件,避免单条消息的内容过大。
POST /pcapigateway/tunnel/{acountId}/availability HTTP/1.1 Authorization: Bearer 53ac07777cdffac2d53000002d698728ce964432d7167596bc005c5fc Accept-Encoding: gzip Content-Encoding: gzip Content-Type: application/json;charset=utf-8
请求
字段 | 类型 | 是否必填 | 描述 | 说明 |
---|---|---|---|---|
hotelId | String | 是 | 酒店代码 | / |
roomId | String | 否 | 房型代码 | / |
rateId | String | 否 | 价格代码 | / |
startDate | Date:yyyy-MM-dd | 是 | 开始日期 | / |
endDate | Date:yyyy-MM-dd | 是 | 结束日期 | 包含结束日期 |
type | Enum | 是 |
| 详细信息 |
restrictions | List[DailyRestriction] | 是 | / | / |
DailyRestriction/startDate | / | 是 | / | / |
DailyRestriction/endDate | / | 是 | / | / |
DailyRestriction/restriction | Object[Restriction] | / | / | / |
Restriction/masterClose | Boolean | 是 | / | / |
Restriction/closedToArrival | Boolean | 是 | 不允许入住,表示是否允许当天到达入住 | / |
Restriction/closedToDeparture | Boolean | 是 | 不允许离店,表示是否允许当天离店 | / |
Restriction/maxStayThrough | Integer | 是 | 如果预订的任何部分与具体日期有关,客人可以最多住几晚。 默认情况下0表示对此没有限制。 | / |
Restriction/minStayThrough | Integer | 是 | 如果预订的任何部分与具体日期有关,客人必须停留的最低天数。 默认情况下0表示对此没有限制。 | / |
Restriction/maxStayArrival | Integer | 是 | 限制在某个日期抵店时预订者可以入住的最大入住天数。 默认情况下0表示对此没有限制。 | / |
Restriction/minStayArrival | Integer | 是 | 限制在某个日期抵店时预订者可以入住的最小入住天数。 默认情况下0表示对此没有限制。 | / |
Restriction/maxAdvanceDay | Integer | 是 | 限制在某个日期抵店时预订者提前预订的最大天数。 默认情况下0表示对此没有限制。 | / |
Restriction/minAdvanceDay | Integer | 是 | 限制在某个日期抵店时预订者提前预订的最小天数。默认情况下0表示对此没有限制。 | / |
可用性级别
- 酒店级:设置某个预订限制对整个酒店的产品有效。消息中hotelId必填,roomId和rateId为空。如果您的PMS不支持此级别,则可选。
- 价格级:设置某个预订限制仅针对使用指定价格代码的产品有效。消息中的hotelId和rateId必填,roomId为空。如果您的PMS不支持此级别,则可选。
- 房型级:设置某个预订限制仅针对指定房型有效。消息中的hotelId和roomId必填,rateId为空。如果您的PMS不支持此级别,则可选。
- 产品级 (房型代码+价格代码):设置某个预订限制仅针对指定房型且使用指定价格代码的产品有效。消息中的hotelId、roomId和rateId在消息中都是必填。
注意事项: 德比软件按四个级别分别存储所有可用性,德比软件按四个级别分别存储所有可用性,这种设计是因为一些PMS系统以级别形式管理可用性。请根据您的PMS支持的级别推送。
预订限制 | 酒店级 | 价格级 | 房型级 | 产品级 (房型代码+价格代码) | 计算结果 (产品级实际预订限制) |
---|---|---|---|---|---|
masterClose | $1 | $2 | $3 | $4 | masterClose = $1 || $2 || $3 || $4 (任一级别关房,则关房) |
closedToArrival | $1 | $2 | $3 | $4 | closedToArrival = $1 || $2 || $3 || $4 (任一级别打开,则打开) |
closedToDeparture | $1 | $2 | $3 | $4 | closedToDeparture = $1 || $2 || $3 || $4 (任一级别打开,则打开) |
maxStayThrough | $1 | $2 | $3 | $4 | maxStayThrough = Min($1, $2, $3, $4) (取4个级别的最小值) |
minStayThrough | $1 | $2 | $3 | $4 | minStayThrough = Max($1, $2, $3, $4) (取4个级别的最大值) |
maxStayArrival | $1 | $2 | $3 | $4 | maxStayArrival = Min($1, $2, $3, $4) (取4个级别的最小值) |
minStayArrival | $1 | $2 | $3 | $4 | minStayArrival = Max($1, $2, $3, $4) (取4个级别的最大值) |
maxAdvanceDay | $1 | $2 | $3 | $4 | maxAdvanceDay = Min($1, $2, $3, $4) (取4个级别的最小值) |
minAdvanceDay | $1 | $2 | $3 | $4 | minAdvanceDay = Max($1, $2, $3, $4) (取4个级别的最大值) |
示例
3.1 更新产品级可用性
"STD"房型+"BAR"价格1/23~1/25和2/20~2/23的可用性有变化,其他日期没有变化。
请求
{ "header":{ "echoToken":"25c8cb40-52a0-449f-8fc9-0187c6f3f19e", "timeStamp":"2018-06-27T17:09:04.674Z", "version":"0.1" }, "hotelId":"FSDH", "roomId":"STD", "rateId":"BAR", "startDate":"2021-01-23", "endDate":"2021-02-23", "type":"Delta", "restrictions":[ { "startDate":"2021-01-23", "endDate":"2021-01-25", "restriction":{ "masterClose":true, "closedToArrival":false, "closedToDeparture":false, "maxStayThrough":0, "minStayThrough":0, "maxStayArrival":0, "minStayArrival":0, "maxAdvanceDay":0, "minAdvanceDay":0 } }, { "startDate":"2021-02-20", "endDate":"2021-02-23", "restriction":{ "masterClose":false, "closedToArrival":true, "closedToDeparture":true, "maxStayThrough":0, "minStayThrough":2, "maxStayArrival":0, "minStayArrival":2, "maxAdvanceDay":0, "minAdvanceDay":0 } } ] }
成功响应
{ "header":{ "echoToken":"25c8cb40-52a0-449f-8fc9-0187c6f3f19e", "timeStamp":"2018-06-27T17:09:04.674Z", "version":"0.1" } }
失败响应
{ "header":{ "echoToken":"25c8cb40-52a0-449f-8fc9-0187c6f3f19e", "timeStamp":"2018-06-27T17:09:04.674Z", "version":"0.1" }, "errorCode":"InvalidField", "errorMessage":"Invalid token" }
3.2 全量更新产品级可用性
"STD"房型+"BAR"价格计划1/23~2/20和2/21~2/23有2种不同的可用性,并全量推送。
请求
{ "header":{ "echoToken":"25c8cb40-52a0-449f-8fc9-0187c6f3f19e", "timeStamp":"2018-06-27T17:09:04.674Z", "version":"0.1" }, "hotelId":"FSDH", "roomId":"STD", "rateId":"BAR", "startDate":"2021-01-23", "endDate":"2021-02-23", "type":"Overlay", "restrictions":[ { "startDate":"2021-01-23", "endDate":"2021-02-20", "restriction":{ "masterClose":false, "closedToArrival":false, "closedToDeparture":false, "maxStayThrough":0, "minStayThrough":0, "maxStayArrival":0, "minStayArrival":0, "maxAdvanceDay":0, "minAdvanceDay":0 } }, { "startDate":"2021-02-21", "endDate":"2021-02-23", "restriction":{ "masterClose":false, "closedToArrival":false, "closedToDeparture":false, "maxStayThrough":0, "minStayThrough":2, "maxStayArrival":0, "minStayArrival":2, "maxAdvanceDay":0, "minAdvanceDay":0 } } ] }
成功响应
{ "header":{ "echoToken":"25c8cb40-52a0-449f-8fc9-0187c6f3f19e", "timeStamp":"2018-06-27T17:09:04.674Z", "version":"0.1" } }
失败响应
{ "header":{ "echoToken":"25c8cb40-52a0-449f-8fc9-0187c6f3f19e", "timeStamp":"2018-06-27T17:09:04.674Z", "version":"0.1" }, "errorCode":"InvalidField", "errorMessage":"Invalid token" }
3.3 清除产品级可用性
清除"STD"房型+"BAR"价格在1/23~2/23的可用性。
请求
{ "header":{ "echoToken":"25c8cb40-52a0-449f-8fc9-0187c6f3f19e", "timeStamp":"2018-06-27T17:09:04.674Z", "version":"0.1" }, "hotelId":"FSDH", "roomId":"STD", "rateId":"BAR", "startDate":"2021-01-23", "endDate":"2021-02-23", "type":"Overlay", "restrictions":[ ] }
成功响应
{ "header":{ "echoToken":"25c8cb40-52a0-449f-8fc9-0187c6f3f19e", "timeStamp":"2018-06-27T17:09:04.674Z", "version":"0.1" } }
失败响应
{ "header":{ "echoToken":"25c8cb40-52a0-449f-8fc9-0187c6f3f19e", "timeStamp":"2018-06-27T17:09:04.674Z", "version":"0.1" }, "errorCode":"InvalidField", "errorMessage":"Invalid token" }
3.4 更新房型级可用性
"STD"房型1/23~1/25和2/20~2/23的可用性有变化,其他日期没有变化。
请求
{ "header":{ "echoToken":"25c8cb40-52a0-449f-8fc9-0187c6f3f19e", "timeStamp":"2018-06-27T17:09:04.674Z", "version":"0.1" }, "hotelId":"FSDH", "roomId":"STD", "startDate":"2021-01-23", "endDate":"2021-02-23", "type":"Delta", "restrictions":[ { "startDate":"2021-01-23", "endDate":"2021-01-25", "restriction":{ "masterClose":false, "closedToArrival":false, "closedToDeparture":false, "maxStayThrough":0, "minStayThrough":0, "maxStayArrival":0, "minStayArrival":0, "maxAdvanceDay":0, "minAdvanceDay":0 } }, { "startDate":"2021-02-20", "endDate":"2021-02-23", "restriction":{ "masterClose":true, "closedToArrival":false, "closedToDeparture":false, "maxStayThrough":0, "minStayThrough":0, "maxStayArrival":0, "minStayArrival":0, "maxAdvanceDay":0, "minAdvanceDay":0 } } ] }
成功响应
{ "header":{ "echoToken":"25c8cb40-52a0-449f-8fc9-0187c6f3f19e", "timeStamp":"2018-06-27T17:09:04.674Z", "version":"0.1" } }
失败响应
{ "header":{ "echoToken":"25c8cb40-52a0-449f-8fc9-0187c6f3f19e", "timeStamp":"2018-06-27T17:09:04.674Z", "version":"0.1" }, "errorCode":"InvalidField", "errorMessage":"Invalid token" }
3.5 全量更新房型级可用性
"STD"房型在1/23~1/25和2/22~2/23有2种不同的可用性,并全量推送。
请求
{ "header":{ "echoToken":"25c8cb40-52a0-449f-8fc9-0187c6f3f19e", "timeStamp":"2018-06-27T17:09:04.674Z", "version":"0.1" }, "hotelId":"FSDH", "roomId":"STD", "startDate":"2021-01-23", "endDate":"2021-02-23", "type":"Overlay", "restrictions":[ { "startDate":"2021-01-23", "endDate":"2021-01-25", "restriction":{ "masterClose":true, "closedToArrival":false, "closedToDeparture":false, "maxStayThrough":0, "minStayThrough":0, "maxStayArrival":0, "minStayArrival":0, "maxAdvanceDay":0, "minAdvanceDay":0 } }, { "startDate":"2021-02-22", "endDate":"2021-02-23", "restriction":{ "masterClose":true, "closedToArrival":false, "closedToDeparture":false, "maxStayThrough":0, "minStayThrough":0, "maxStayArrival":0, "minStayArrival":0, "maxAdvanceDay":0, "minAdvanceDay":0 } } ] }
成功响应
{ "header":{ "echoToken":"25c8cb40-52a0-449f-8fc9-0187c6f3f19e", "timeStamp":"2018-06-27T17:09:04.674Z", "version":"0.1" } }
失败响应
{ "header":{ "echoToken":"25c8cb40-52a0-449f-8fc9-0187c6f3f19e", "timeStamp":"2018-06-27T17:09:04.674Z", "version":"0.1" }, "errorCode":"InvalidField", "errorMessage":"Invalid token" }
3.6 清除房型级可用性
清除"STD"房型在1/23~2/23的可用性。
请求
{ "header":{ "echoToken":"25c8cb40-52a0-449f-8fc9-0187c6f3f19e", "timeStamp":"2018-06-27T17:09:04.674Z", "version":"0.1" }, "hotelId":"FSDH", "roomId":"STD", "startDate":"2021-01-23", "endDate":"2021-02-23", "type":"Overlay", "restrictions":[] }
成功响应
{ "header":{ "echoToken":"25c8cb40-52a0-449f-8fc9-0187c6f3f19e", "timeStamp":"2018-06-27T17:09:04.674Z", "version":"0.1" } }
失败响应
{ "header":{ "echoToken":"25c8cb40-52a0-449f-8fc9-0187c6f3f19e", "timeStamp":"2018-06-27T17:09:04.674Z", "version":"0.1" }, "errorCode":"InvalidField", "errorMessage":"Invalid token" }
3.7 更新价格计划级可用性
"BAR"价格计划/23~1/25和2/20~2/23的可用性有变化,其他日期没有变化。
请求
{ "header":{ "echoToken":"25c8cb40-52a0-449f-8fc9-0187c6f3f19e", "timeStamp":"2018-06-27T17:09:04.674Z", "version":"0.1" }, "hotelId":"FSDH", "rateId":"BAR", "startDate":"2021-01-23", "endDate":"2021-02-23", "type":"Delta", "restrictions":[ { "startDate":"2021-01-23", "endDate":"2021-01-25", "restriction":{ "masterClose":false, "closedToArrival":false, "closedToDeparture":false, "maxStayThrough":0, "minStayThrough":0, "maxStayArrival":0, "minStayArrival":0, "maxAdvanceDay":0, "minAdvanceDay":0 } }, { "startDate":"2021-02-20", "endDate":"2021-02-23", "restriction":{ "masterClose":true, "closedToArrival":false, "closedToDeparture":false, "maxStayThrough":0, "minStayThrough":0, "maxStayArrival":0, "minStayArrival":0, "maxAdvanceDay":0, "minAdvanceDay":0 } } ] }
成功响应
{ "header":{ "echoToken":"25c8cb40-52a0-449f-8fc9-0187c6f3f19e", "timeStamp":"2018-06-27T17:09:04.674Z", "version":"0.1" } }
失败响应
{ "header":{ "echoToken":"25c8cb40-52a0-449f-8fc9-0187c6f3f19e", "timeStamp":"2018-06-27T17:09:04.674Z", "version":"0.1" }, "errorCode":"InvalidField", "errorMessage":"Invalid token" }
3.8 全量更新价格计划级可用性
"BAR"价格在1/23~1/25和2/22~2/23有2种不同的可用性,并全量推送。
请求
{ "header":{ "echoToken":"25c8cb40-52a0-449f-8fc9-0187c6f3f19e", "timeStamp":"2018-06-27T17:09:04.674Z", "version":"0.1" }, "hotelId":"FSDH", "rateId":"BAR", "startDate":"2021-01-23", "endDate":"2021-02-23", "type":"Overlay", "restrictions":[ { "startDate":"2021-01-23", "endDate":"2021-01-25", "restriction":{ "masterClose":true, "closedToArrival":false, "closedToDeparture":false, "maxStayThrough":0, "minStayThrough":0, "maxStayArrival":0, "minStayArrival":0, "maxAdvanceDay":0, "minAdvanceDay":0 } }, { "startDate":"2021-02-22", "endDate":"2021-02-23", "restriction":{ "masterClose":true, "closedToArrival":false, "closedToDeparture":false, "maxStayThrough":0, "minStayThrough":0, "maxStayArrival":0, "minStayArrival":0, "maxAdvanceDay":0, "minAdvanceDay":0 } } ] }
成功响应
{ "header":{ "echoToken":"25c8cb40-52a0-449f-8fc9-0187c6f3f19e", "timeStamp":"2018-06-27T17:09:04.674Z", "version":"0.1" } }
失败响应
{ "header":{ "echoToken":"25c8cb40-52a0-449f-8fc9-0187c6f3f19e", "timeStamp":"2018-06-27T17:09:04.674Z", "version":"0.1" }, "errorCode":"InvalidField", "errorMessage":"Invalid token" }
3.9 清除价格计划级可用性
清除"BAR"价格在1/23~2/23的可用性。
请求
{ "header":{ "echoToken":"25c8cb40-52a0-449f-8fc9-0187c6f3f19e", "timeStamp":"2018-06-27T17:09:04.674Z", "version":"0.1" }, "hotelId":"FSDH", "rateId":"BAR", "startDate":"2021-01-23", "endDate":"2021-02-23", "type":"Overlay", "restrictions":[] }
成功响应
{ "header":{ "echoToken":"25c8cb40-52a0-449f-8fc9-0187c6f3f19e", "timeStamp":"2018-06-27T17:09:04.674Z", "version":"0.1" } }
失败响应
{ "header":{ "echoToken":"25c8cb40-52a0-449f-8fc9-0187c6f3f19e", "timeStamp":"2018-06-27T17:09:04.674Z", "version":"0.1" }, "errorCode":"InvalidField", "errorMessage":"Invalid token" }
3.10 更新酒店级可用性
酒店1/23~1/25和2/20~2/23的可用性有变化,其他日期没有变化。
请求
{ "header":{ "echoToken":"25c8cb40-52a0-449f-8fc9-0187c6f3f19e", "timeStamp":"2018-06-27T17:09:04.674Z", "version":"0.1" }, "hotelId":"FSDH", "startDate":"2021-01-23", "endDate":"2021-02-23", "type":"Delta", "restrictions":[ { "startDate":"2021-01-23", "endDate":"2021-01-25", "restriction":{ "masterClose":false, "closedToArrival":false, "closedToDeparture":false, "maxStayThrough":0, "minStayThrough":0, "maxStayArrival":0, "minStayArrival":0, "maxAdvanceDay":0, "minAdvanceDay":0 } }, { "startDate":"2021-02-20", "endDate":"2021-02-23", "restriction":{ "masterClose":true, "closedToArrival":false, "closedToDeparture":false, "maxStayThrough":0, "minStayThrough":0, "maxStayArrival":0, "minStayArrival":0, "maxAdvanceDay":0, "minAdvanceDay":0 } } ] }
成功响应
{ "header":{ "echoToken":"25c8cb40-52a0-449f-8fc9-0187c6f3f19e", "timeStamp":"2018-06-27T17:09:04.674Z", "version":"0.1" } }
失败响应
{ "header":{ "echoToken":"25c8cb40-52a0-449f-8fc9-0187c6f3f19e", "timeStamp":"2018-06-27T17:09:04.674Z", "version":"0.1" }, "errorCode":"InvalidField", "errorMessage":"Invalid token" }
3.11 全量更新酒店级可用性
酒店在1/23~1/25和2/22~2/23有2种不同的可用性,并全量推送。
请求
{ "header":{ "echoToken":"25c8cb40-52a0-449f-8fc9-0187c6f3f19e", "timeStamp":"2018-06-27T17:09:04.674Z", "version":"0.1" }, "hotelId":"FSDH", "startDate":"2021-01-23", "endDate":"2021-02-23", "type":"Overlay", "restrictions":[ { "startDate":"2021-01-23", "endDate":"2021-01-25", "restriction":{ "masterClose":true, "closedToArrival":false, "closedToDeparture":false, "maxStayThrough":0, "minStayThrough":0, "maxStayArrival":0, "minStayArrival":0, "maxAdvanceDay":0, "minAdvanceDay":0 } }, { "startDate":"2021-02-22", "endDate":"2021-02-23", "restriction":{ "masterClose":true, "closedToArrival":false, "closedToDeparture":false, "maxStayThrough":0, "minStayThrough":0, "maxStayArrival":0, "minStayArrival":0, "maxAdvanceDay":0, "minAdvanceDay":0 } } ] }
成功响应
{ "header":{ "echoToken":"25c8cb40-52a0-449f-8fc9-0187c6f3f19e", "timeStamp":"2018-06-27T17:09:04.674Z", "version":"0.1" } }
失败响应
{ "header":{ "echoToken":"25c8cb40-52a0-449f-8fc9-0187c6f3f19e", "timeStamp":"2018-06-27T17:09:04.674Z", "version":"0.1" }, "errorCode":"InvalidField", "errorMessage":"Invalid token" }
3.12 清除酒店级可用性
清除酒店在1/23~2/23的可用性。
请求
{ "header":{ "echoToken":"25c8cb40-52a0-449f-8fc9-0187c6f3f19e", "timeStamp":"2018-06-27T17:09:04.674Z", "version":"0.1" }, "hotelId":"FSDH", "startDate":"2021-01-23", "endDate":"2021-02-23", "type":"Overlay", "restrictions":[] }
成功响应
{ "header":{ "echoToken":"25c8cb40-52a0-449f-8fc9-0187c6f3f19e", "timeStamp":"2018-06-27T17:09:04.674Z", "version":"0.1" } }
失败响应
{ "header":{ "echoToken":"25c8cb40-52a0-449f-8fc9-0187c6f3f19e", "timeStamp":"2018-06-27T17:09:04.674Z", "version":"0.1" }, "errorCode":"InvalidField", "errorMessage":"Invalid token" }
Delta vs Overlay
PMS和德比软件之间交互ARI 消息有两个主要场景。
- Overylay:是PMS 触发的全量更新,比如激活新酒店,或者修复异步问题。在这种情况下,德比将清除在特定日期范围的所有数据并将请求中涉及的信息存储到数据库。
- Delta:主要用于从 PMS 接收ARI更改的常规流程。例如,在我们的数据库中有三种产品A, B和C。如果你的PMS用Overlay推送A和D给我们,我们的系统会清理A, B和C,但只存储A和D到数据库中,这样更新后我们只有A和D产品。如果你用Delta推送A和D给我们,我们的系统会更新A并将D插入到数据库中,这样我们的数据库中就有了A, B, C和D。
此回答是否有所帮助? 是 否
Send feedback