试单
试单会校验商品价格、房间数量、销售条款、支付类型,校验失败时会返回正确的价格、销售条款、剩余的房量,成功仅返回响应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间,正价最多预订10间 |
| 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 | 7132E... | 试单成功凭证,试单成功才返回。下单传入时,如果凭证有效,且试单和下单的请求参数相同,不再重复验价,以凭证的价格为准。 |
| 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 |
| 5123 | No match found | 试单时未找到商品,常见于商品下架,或者房价码绑定一个不可售卖的包等 |
| 其他 | 全局异常码 | 全局异常[引用] |