创建订单
创建酒店预订单
#
请求方式POST
uri: /reservation/book
Content-Type: application/json
#
请求参数说明#
RequestHeader#
RequestBody参数 | 类型 | 是否必填 | 最大长度 | 示例 | 描述 |
---|---|---|---|---|---|
hotelId | String | Y | 32 | 12**567 | 华住酒店ID |
checkinType | String | Y | 16 | DAY | 入住类型,区分大小写,取值参考枚举 |
contactPerson | Guest | Y | - | 联系人信息 | |
reservations | List<ReservationInfo> | Y | - | 房单信息,暂只支持单酒店,单产品的预订,集合只需传1个 | |
distributorResId | String | Y | 64 | 渠道订单号,需保证唯一性;接口幂等使用:channelCode+distributorResId,永久幂等 | |
paymentType | String | Y | 16 | 枚举值: 参考枚举 | |
guestComment | String | N | 512 | no smoking | 客人备注, 无可不传,特殊字符不支持“|” 和 “'” |
hotelComment | String | N | 512 | 客人已付款,无需开票 | 订单备注,客人不可见不支持“|” 和 “'” |
mobile | String | N | 32 | 订单预定人手机号;非会员会进行会员注册验 | |
actualTotalPrice | BigDecimal | N | - | couponUseInfos有值时,actualTotalPrice不能为空 订单实际支付金额: 订单总金额(汇总每日价实体)=优惠金额+实际支付金额 | |
paymentCard | PaymentCard | N | - | 担保信用卡信息 |
#
ReservationInfo参数 | 类型 | 是否必填 | 最大长度 | 示例 | 描述 |
---|---|---|---|---|---|
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,传价格不包含离店日,时租入离同一天,一次最大支持入离间隔60天的订单,即checkout-checkin=60 |
rackRate | List<BigDecimal> | N | - | [ 110, 130] | 每日门市价 |
amountBeforeTax | List<BigDecimal> | N | - | [ 100, 120] | 每日不含税价 |
amountAfterTax | List<BigDecimal> | Y | - | [ 100, 130] | 每日含税价 |
currencyCode | String | Y | 8 | CNY | 价格对应的币种,参考国际标准: ISO-4217 |
roomCount | Integer | Y | - | 2 | 房间数量,最多预订3间 |
adultCount | Integer | Y | - | 1 | 每间房成人数, 人数限制依赖酒店详情对应的人数 |
guaranteePolicyCode | String | Y | 32 | 担保政策code,取值参考枚举 | |
cancelPolicyCode | String | Y | 64 | 取消政策code,取值参考code规则 | |
childCount | Integer | N | - | 2 | 每间房儿童数, 人数限制依赖酒店详情对应的人数 |
childAges | List<Integer> | N N | - | 长度为2的list | 儿童年龄段,长度需与儿童数量保持一致 |
estimatedArrivalTime | String | - | 12:00 | 预计到店时间,格式 HH:mm,默认12:00,报价为分时担保政策时,需要必填,暂无此业务可为空。 | |
resGuest | Guest | N | - | 入住人信息,无入住人信息可不填 |
#
Guest参数 | 类型 | 是否必填 | 最大长度 | 示例 | 描述 |
---|---|---|---|---|---|
firstName | String | N | 16 | 三 | 名 |
lastName | String | Y | 16 | 张 | 姓(姓、名无区分时,可把姓名传至此字段) |
String | N | 32 | 001@test.com | 001@test.com邮箱 | |
phone | String | N | 32 | 18917569235 | 手机号 |
countryAccessCode | String | N | 8 | 86 | 国家访问代码 |
#
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 |
#
响应参数说明#
content参数 | 类型 | 是否必填 | 最大长度 | 示例 | 描述 |
---|---|---|---|---|---|
resId | String | Y | 64 | 华住订单号 | |
resCode | String | N | 32 | 华住预订码,非必填值 |
#
响应码异常码 | 异常类型 | 说明 |
---|---|---|
1000 | Success | |
5201 | Checkin and checkout does not match the rules | 入住离店日期不符合规则 |
5202 | End date is invalid | 离店日无效 |
5203 | Start date is invalid | 入住日无效 |
5204 | Invalid guarantee policy code | 校验担保政策失败,具体信息参考响应描述:responseDes |
5205 | Invalid cancel policy code | 校验取消政策失败,具体信息参考响应描述:responseDes |
5206 | Invalid currency code | 不支持的币种 |
5207 | Cannot book - too far in advance | 不可预订,提前预订天数过大 |
5208 | Reservation status invalid | 预订状态错误 |
5209 | Price incorrect for room | 房价校验失败 |
5210 | No rooms available for requested dates | 预订日期房间数量不足 |
5211 | Payment type invalid | 支付类型错误 |
5212 | Credit card number is invalid | 不支持的信用卡 |
5213 | Reservation requires credit card data | 需要信用卡信息才可预订 |
5214 | Invalid number of rooms, exceed max number of room count | 预订房间数超过最大限制 |
5215 | Invalid number of adults, exceed max number of adult count | 成人数超过最大限制 |
5216 | Invalid rate code for requested hotel | 请求的酒店无此房价码 |
5217 | Invalid room type for requested hotel | 请求的酒店无此房型 |
5218 | DistributorResId already exist | 渠道单号已存在 |
5219 | Field exceeded the maximum limit | 参数长度超过最长限制 |
5220 | Parent-child room check failed | 亲子房校验失败,不支持 |
5221 | Repeated request | 重复请求 |
5222 | Coupons unbound or used | 优惠券未绑定或已使用 |
5223 | Price incorrect for coupon | 优惠券金额错误 |
5224 | Multiple nights can not use coupon | 多间夜不可用使用优惠券 |
5225 | Coupon type not support | 不支持的优惠券类型 |
5226 | Coupon use required memberId | 使用优惠券需传会员ID |
5227 | Member info check failed | 会员信息检查失败,详细原因参考:responseDes |
5228 | Current hotel not support lock room | 当前酒店不支持预订锁房 |
5229 | Invalid guarantee policy code | 校验担保政策失败,具体信息参考响应描述:responseDes |
5230 | Invalid cancel policy code | 校验取消政策失败,具体信息参考响应描述:responseDes |
其他 | 全局异常码 | 全局异常[引用] |
#
报文示例#
Case1:正常下单#
请求示例{ "hotelId":"12**567", "checkinType":"DAY", "paymentType":"OPN", "distributorResId":"13248292900", "contactPerson":{ "email":"***@huazhu.com", "firstName":"***", "lastName":"***", "phone":"139****2343", "countryAccessCode":"86" }, "reservations":[ { "rateCode":"BAR1", "roomTypeCode":"TR1", "checkin":"2021-10-06", "checkout":"2021-10-08", "childAges":[ 8, 10 ], "amountBeforeTax":[ 500, 500 ], "amountAfterTax":[ 549, 549 ], "roomCount":1, "adultCount":2, "childCount":2, "currencyCode":"CNY", "estimatedArrivalTime":"18:30", "guaranteePolicyCode": "PN", "cancelPolicyCode": "AD0_0", "resGuest":[ { "email":"***@huazhu.com", "firstName":"***", "lastName":"***", "phone":"139****2343", "countryAccessCode":"86" } ] } ], "guestComment":"我是客人备注", "hotelComment":"我是订单备注,客人看不见"}
#
响应成功示例{ "code":1000, "content":{ "resId":"R12**567**32332", "resCode":"NMPMS23" }}
#
响应失败示例{ "code":5210, "message":"No rooms available for requested dates"}