价格和销售限制条款
接入方获取酒店一段时间内房价和销售限制条款,返回结果为数组,数组顺序与日期对应
#
请求方式POST
uri: /ari/daily/offers
Content-Type: application/json
#
请求参数说明#
RequestHeader#
RequestBody参数 | 类型 | 是否必填 | 最大长度 | 示例 | 描述 |
---|---|---|---|---|---|
hotelId | String | Y | 32 | 12**567 | 华住酒店ID |
startDate | Date | Y | - | 2021-10-01 | 开始日期,格式 yyyy-MM-dd |
endDate | Date | Y | - | 2021-10-02 | 结束日期,格式 yyyy-MM-dd (查询出的ARI包含这一天),一次最大支持开始结束间隔30天的报价,即endDate-startDate=29 |
checkinType | String | Y | 16 | DAY | 入住类型,区分大小写,取值参考枚举 |
productCandidates | List<ProductCandidate> | N | - | 传则查询指定商品 不传则查询酒店在开始至结束日期内的全部房价和销售限制条款信息 |
#
ProductCandidate参数 | 类型 | 是否必填 | 最大长度 | 示例 | 描述 |
---|---|---|---|---|---|
roomTypeCode | String | Y | 64 | DR1 | 房型Code |
rateCode | String | Y | 64 | Base-NTR | 房价码 |
#
响应参数说明#
content参数 | 类型 | 是否必填 | 最大长度 | 示例 | 描述 |
---|---|---|---|---|---|
hotelId | String | Y | 32 | 华住酒店ID | |
startDate | String | Y | - | 2021-10-01 | 开始日期,格式 yyyy-MM-dd |
endDate | String | Y | - | 2021-10-02 | 结束日期,格式 yyyy-MM-dd (查询出的房价、销售限制条款包含这一天),一次最大支持开始结束间隔30天的报价,即endDate-startDate=29 |
dailyOffers | List<DailyOffers> | Y | - | 房价、销售限制条款列表 |
#
DailyOffers参数 | 类型 | 是否必填 | 最大长度 | 示例 | 描述 |
---|---|---|---|---|---|
roomTypeCode | String | Y | 64 | DR1 | 房型Code |
rateCode | String | Y | 64 | Base-NTR | 房价码[引用] |
currencyCode | String | Y | 8 | CNY | 价格对应的币种,目前国内只有CNY,参考国际标准: ISO-4217 |
rates | List<RateInfo > | Y | - | 包含endDate,几人价(每日房价信息) | |
mealPlanType | String | Y | 8 | 餐饮类型 | |
mealPlanCounts | List<Integer> | Y | - | 对应餐饮类型每天数量 | |
restriction | RestrictionInfo | Y | - | 包含endDate,每日限制条款信息 | |
guaranteePolicies | List<GuaranteePolicy > | Y | - | 包含endDate,担保政策,按照预定入住日规则为准进行下单 | |
cancelPolicies | List<CancelPolicy > | Y | - | 包含endDate,取消政策,按照预定入住日规则为准进行下单 |
#
RateInfo参数 | 类型 | 是否必填 | 最大长度 | 示例 | 描述 |
---|---|---|---|---|---|
rackRate | List<BigDecimal> | N | - | [ 110, 130] | 门市价,门市价可能为空 |
amountBeforeTax | List<BigDecimal> | N | - | [ 100, 120] | 不含税价 |
amountAfterTax | List<BigDecimal> | Y | - | [ 100, 130] | 含税价 |
maxAdultCount | Integer | Y | - | 1 | 最大成人数,小于等于maxAdultCount的价格与此节点对应,如maxAdultCount为2,则2人 1人都可用2人价 |
maxChildCount | Integer | N | - | 2 | 最大儿童数,为null表示不限制 |
childAges | List<Integer> | N | - | 长度为2的list | 儿童年龄段,长度需与最大儿童数量保持一致,为null表示不限制 |
#
GuaranteePolicy参数 | 类型 | 是否必填 | 最大长度 | 示例 | 描述 |
---|---|---|---|---|---|
code | String | Y | 32 | 担保政策code,取值参考枚举 |
#
CancelPolicy参数 | 类型 | 是否必填 | 最大长度 | 示例 | 描述 |
---|---|---|---|---|---|
code | String | Y | 64 | 取消政策code,取值参考code规则 |
#
RestrictionInfo参考说明示例:销售条款示例
参数 | 类型 | 是否必填 | 最大长度 | 示例 | 描述 |
---|---|---|---|---|---|
close | List<Boolean> | Y | - | 每日关房状态,true:关房, false:未关房,元素为null表示开 | |
minStayArrival | List<Integer> | Y | - | 每日最小连住天数,针对订单入住首日生效,元素为null表示不限制 | |
maxStayArrival | List<Integer> | Y | - | 每日最大连住天数,针对订单入住首日生效,元素为null表示不限制 | |
minStayThrough | List<Integer> | Y | - | 每日穿过最小连住天数,针对订单经过那天生效,元素为null表示不限制 | |
maxStayThrough | List<Integer> | Y | - | 每日穿过最大连住天数,针对订单经过那天生效,元素为null表示不限制 | |
minAdvanceDay | List<Integer> | Y | - | 每日最小提前预订天数,针对订单入住首日生效,元素为null表示不限制 | |
maxAdvanceDay | List<Integer> | Y | - | 每日最大提前预订天数,针对订单入住首日生效,元素为null表示不限制 | |
cta | List<Boolean> | Y | - | 每日是否可到达Close To Arrival (CTA),针对订单入住首日生效,true:可以; false:不可到达,元素为null表示不限制 | |
ctd | List<Boolean> | Y | - | 每日是否可离店Close To Departure (CTD),针对订单离店日生效,true:可以; false:不可离店,元素为null表示不限制 | |
fplos | List<String> | Y | - | 每日全程连住天数限制Full Patten LOS,每日设置最长31位,元素为null或空字符串表示不限制 |
#
响应码异常码 | 异常类型 | 说明 |
---|---|---|
1000 | Success | |
4201 | Invalid hotel Id | 酒店Id不存在 |
4202 | Hotel is closed | 酒店停业 |
4203 | Start date and end date does not match the rules | 开始结束日期不符合规则 |
4204 | End date is invalid | 结束日期无效 |
4205 | Start date is invalid | 开始日期无效 |
4206 | No match found | 未找到与条件匹配的数据 |
其他 | 全局异常码 | 全局异常[引用] |
#
报文示例#
Case1: 查询酒店下ARI#
请求示例{ "hotelId":"12**567", "startDate":"2021-10-06", "endDate":"2021-10-07", "checkinType":"DAY"}
#
响应成功示例{ "code":1000, "content":{ "hotelId":"12**567", "startDate":"2021-10-06", "endDate":"2021-10-07", "dailyOffers":[ { "roomTypeCode":"ERX1", "rateCode":"Base-NTR", "currencyCode":"CNY", "rates":[ { "maxAdultCount":2, "rackRate":[ 330, 330 ], "amountAfterTax":[ 328, 328 ], "amountBeforeTax":[ 309, 309 ] } ], "mealPlanType":"BB", "mealPlanCounts":[ 1, 1 ], "guaranteePolicies":[ { "code":"PL" }, { "code":"PN" } ], "cancelPolicies":[ { "code":"AD0_0" }, { "code":"AD100_6PM0D1N_1N" } ], "restriction":{ "close":[ false, false ], "cta":[ false, false ], "ctd":[ false, false ], "maxAdvanceDay":[ 999, 999 ], "maxStayArrival":[ 999, 999 ], "maxStayThrough":[ 0, 0 ], "minAdvanceDay":[ 3, 3 ], "minStayArrival":[ 5, 5 ], "minStayThrough":[ 0, 0 ], "fplos": [ "0000000", "1110111" ] } } ] }}
#
响应失败示例{ "code":4206, "message":"No match found"}