试单
试单会校验商品价格、房间数量、销售条款、支付类型,校验失败时会返回正确的价格、销售条款、剩余的房量,成功仅返回响应code(10000)。试单成功,下单不一定成功,下单会根据实际的ARI进行最后确认
试单独立于下单之外:利于监测酒店商品及价格库存数据同步的及时性,持续关注该接口的成功率有助于提升分销商侧用户的体验
#
请求方式POST
uri: /reservation/prebook
Content-Type: application/json
#
请求参数说明#
RequestHeader#
RequestBody参数 | 类型 | 是否必填 | 最大长度 | 示例 | 描述 |
---|---|---|---|---|---|
hotelId | String | Y | 32 | 12**567 | 华住酒店ID |
checkinType | String | Y | 16 | DAY | 入住类型,区分大小写,取值参考枚举 |
reservations | List<PreBookReservationInfo> | Y | - | 房单信息,暂只支持单酒店,单产品的预订,集合只需传1个 | |
paymentType | String | Y | 16 | 枚举值: 参考枚举 | |
paymentCard | PaymentCard | N | - | 担保信用卡信息 |
#
PreBookReservationInfo参数 | 类型 | 是否必填 | 最大长度 | 示例 | 描述 |
---|---|---|---|---|---|
roomTypeCode | String | Y | 64 | DR1 | 房型Code |
rateCode | String | Y | 64 | Base-NTR | 房价码 |
checkin | Date | Y | - | 2021-10-01 | 入住日期,格式 yyyy-MM-dd |
checkout | Date | Y | - | 2021-10-02 | 离店日期,格式 yyyy-MM-dd,传价格不包含离店日,时租入离同一天 |
amountAfterTax | List<BigDecimal> | Y | - | [ 100, 130] | 含税价,规则同 amountBeforeTax |
amountBeforeTax | List<BigDecimal> | N | - | [ 100, 120] | 不含税价,根据 stayRange.checkin 至 stayRange.checkout 逐天依次排列,不包含 checkout eg: [101.00,102.00] 代表 checkin 当天价格为101,checkin + 1天的价格为 102 |
currencyCode | String | Y | 8 | CNY | 价格对应的币种,参考国际标准: ISO-4217 |
roomCount | Integer | Y | - | 2 | 房间数量,最多预订3间 |
adultCount | Integer | Y | - | 1 | 每间房成人数,人数限制依赖酒店详情对应的人数 |
childCount | Integer | N | - | 2 | 每间房儿童数,人数限制依赖酒店详情对应的人数 |
childAges | List<Integer> | N | - | 长度为2的list | 儿童年龄段,长度需与儿童数量保持一致 |
hourlyRoom | HourlyRoom | N | - | 时租房信息 |
#
PaymentCard参数 | 类型 | 是否必填 | 最大长度 | 示例 | 描述 |
---|---|---|---|---|---|
cardType | String | Y | 16 | VCC | 卡类型: MA MC VI VCC |
cardHolderName | String | Y | 64 | 持卡人姓名 | |
cardNumber | String | Y | 32 | 卡号 | |
expireDate | String | Y | 32 | 过期时间(月2个数字,年2个数字), 格式: MMYY |
#
HourlyRoom参数 | 类型 | 是否必填 | 最大长度 | 示例 | 描述 |
---|---|---|---|---|---|
hourlyRateStartTime | String | N | 5 | 09:00 | 时租计费开始时间,格式 HH:mm |
hourlyRateEndTime | String | N | 5 | 13:00 | 时租计费结束时间,格式 HH:mm |
#
响应参数说明#
content参数 | 类型 | 是否必填 | 最大长度 | 示例 | 描述 |
---|---|---|---|---|---|
hotelId | String | Y | 32 | 12**567 | 华住酒店ID |
preBookToken | String | N | 64 | 7132E7B17A219A4CCAAF86CD0D9EF1F1 | 试单成功凭证,试单成功才返回,下单可传入 |
reservationsAri | List<ReservationAri> | Y | - | 房价、库存、销售条款信息 |
#
ReservationAri参数 | 类型 | 是否必填 | 最大长度 | 示例 | 描述 |
---|---|---|---|---|---|
checkin | String | Y | - | 2021-10-01 | 入住日期,格式 yyyy-MM-dd |
checkout | String | Y | - | 2021-10-02 | 离店日期,格式 yyyy-MM-dd (查询出的ARI不包含这一天,时租入离同一天取入住日期),一次最大支持入离间隔60天的订单,即checkout-checkin=60 |
roomTypeCode | String | Y | 64 | DR1 | 房型Code |
rateCode | String | Y | 64 | Base-NTR | 房价码Code |
currencyCode | String | Y | 8 | CNY | 价格对应的币种 |
mealPlanType | String | Y | 8 | 餐饮类型 | |
mealPlanCounts | List<Integer> | Y | - | 对应餐饮类型每天数量 | |
inventories | List<Integer> | Y | - | 从checkin至checkout,不包含endDate,每日剩于房量 | |
rates | List<RateInfo> | Y | 不包含endDate,每日房价信息 | ||
restriction | RestrictionInfo | Y | 限制条款信息 | ||
guaranteePolicies | List<GuaranteePolicy > | Y | 包含endDate,担保政策,按照预订入住日规则为准 | ||
cancelPolicies | List<CancelPolicy > | Y | 包含endDate,取消政策,按照预订入住日规则为准 |
#
GuaranteePolicy参数 | 类型 | 是否必填 | 最大长度 | 示例 | 描述 |
---|---|---|---|---|---|
code | String | Y | 16 | 担保code,取值参考枚举 |
#
CancelPolicy参数 | 类型 | 是否必填 | 最大长度 | 示例 | 描述 |
---|---|---|---|---|---|
code | String | Y | 16 | 取消策略code,取值参考枚举 |
#
RateInfo参数 | 类型 | 是否必填 | 最大长度 | 示例 | 描述 |
---|---|---|---|---|---|
rackRate | List<BigDecimal> | N | - | [ 110, 130] | 门市价 |
amountBeforeTax | List<BigDecimal> | N | - | [ 100, 120] | 不含税价 |
amountAfterTax | List<BigDecimal> | Y | - | [ 100, 130] | 含税价 |
maxAdultCount | Integer | Y | - | 1 | 最大成人数,小于等于maxAdultCount的价格与此节点对应 |
maxChildCount | Integer | N | - | 2 | 最大儿童数,为null表示不限制 |
childAges | List<Integer> | N | - | 长度为2的list | 儿童年龄段,长度需与最大儿童数量保持一致,为null表示不限制 |
#
RestrictionInfo参考说明示例:销售条款示例
参数 | 类型 | 是否必填 | 最大长度 | 示例 | 描述 |
---|---|---|---|---|---|
close | List<Boolean> | Y | - | 每日关房状态,true:关房, false:未关房 | |
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 | |
5101 | Checkin and checkout does not match the rules | 入住离店日期不符合规则 |
5102 | End date is invalid | 离店日无效 |
5103 | Start date is invalid | 入住日无效 |
5104 | Invalid hotel Id | 酒店Id不存在 |
5105 | Hotel is closed | 酒店停业 |
5106 | Invalid currency code | 不支持的币种 |
5107 | Too far in advance | 提前预订天数过大 |
5108 | Price incorrect for room | 房价校验失败 |
5109 | No rooms available for requested dates | 预订日期房间数量不足 |
5110 | Invalid number of rooms, exceed max number of room count | 预订房间数超过最大限制 |
5111 | Invalid number of adults, exceed max number of adult count | 成人数超过最大限制 |
5112 | Invalid rate code for requested hotel | 请求的酒店无此房价码 |
5113 | Invalid room type for requested hotel | 请求的酒店无此房型 |
5114 | Payment type invalid | 支付类型错误 |
5115 | Credit card number is invalid | 不支持的信用卡 |
5116 | Reservation requires credit card data | 需要信用卡信息才可预订 |
5117 | Invalid guarantee policy code | 校验担保政策失败,具体信息参考响应描述:responseDes |
5118 | Invalid cancel policy code | 校验取消政策失败,具体信息参考响应描述:responseDes |
5119 | Invalid product for requested hotel | 酒店商品校验失败 |
5120 | Restriction verification failed | 销售条款校验失败,具体信息参考响应描述:responseDes |
5121 | Parent-child room check failed | 亲子房校验失败,不支持 |
5122 | Reservation status invalid | 预订状态错误,具体信息参考响应描述:responseDes |
其他 | 全局异常码 | 全局异常[引用] |