Skip to main content

订单相关接口模式

下单前验证是否可定指定房型接口

说明:下单之前的DoubleCheck,用于下单前对一家酒店某个具体房型的房价、房量校验,

检验通过方可下单

接口地址:/hotel/checkAvailability

请求方式:POST

请求参数说明:
参数名 参数类型 备注 是否必填 示例值
cardId String 公司卡号 VCENTCRM0002220001
cardPassWord String 公司卡密码 TestPassword
isGroup Bool 是否对总
false:个人支付
订单
true:企业总对总支付订单,包括预付和信用
true
guaranteeMode String 担保模式
NONE:无
FIRST_NIGHT:首晚担保
FULL_AMOUNT:全额担保
1、到付和预付区别
a、guaranteeMode是NONE,则支持到店付或者预付
b、guaranteeMode是FIRST_NIGHT或者FULL_AMOUNT,则必须预付
2、担保模式使用
a、企业协议价按照企业卡的担保模式(运营开卡时确认的担保模式)
b、活动价按照房价码担保模式,判断房量房价接口中的BookDTO中的guaranteeMode(担保模式)(房量房价接口中activityId不为空就是活动房价码;活动价下单时,验价及下单接口必须要传activityId,否则默认为会员价)
3、现付客户不能使用活动价注意事项
由于活动价的担保模式都是需预付,导致因公现付或者因私订单,下单后会在5分钟内自动取消。所以建议因公现付客户或者因私订单不要使用活动价,而是使用企业协议价下单。
bookerId String 预订人公司卡ID
hotelId String 酒店Id 2000505
roomTypeId String 房型代码 DR
checkInDate DateTime 入住日期 2020/1/1
checkOutDate DateTime 离店日期 2020/1/2
activityId String 活动Id 会员价非必填 活动价必填
rateCode String 房价码
couponNos List<String> 优惠券列表
bookerPersonMobile String 预订人手机号 与优惠券绑定人手机号一致;
若是中国大陆手机号,前缀无需加+86,请直接传11位手机号码
bookerPriceType String 预订价格类型
个人:PERSON
企业:COMPANY
当企业总对总支付订单时,必传企业:COMPANY
PERSON
adultsPerRoom Integer 一间房的入住人数,用于获取多人价(举例:一人价、两人价等);
入住人数:1-5,目前不支持大于5人(不涉及儿童数量,价格只根据成人数量计算,举例:两大一小,数量传2)
不传值,默认是2
注:针对非中国内地酒店(包含港澳台酒店)使用
currencyCode String 币种(当地币种) 非中国内地酒店(包含港澳台酒店)需要传输

请求示例:

{
"cardId": "VCENTCRM0002224829",
"cardPassWord": "123321a",
"bookerId": "VCENTCRM0002224829",
"checkInDate": "2020-08-26",
"checkOutDate": "2020-08-27",
"hotelId": "2000015",
"guaranteeMode": "NONE",
"isGroup": false,
"roomTypeId": "SQ1",
"rateCode": "Base-OCK-STD-BF2",
"activityId": ""
}
返回参数说明:
参数名 参数类型 备注
code code 状态码
200 成功!
500 应用程序繁忙,请稍后再试!
521 企业V卡号或者验证码错误!
message String 响应消息
content CheckAvailabilityDTO 返回对象,此酒店此房型的房量、房价信息
CheckAvailabilityDTO:

房价码返回为空的情况 :
1、此酒店已下架此房价码(需重新拉取房价码信息);
2、没有匹配房价码的售卖规则(如连住时间、售卖时间等),查看房量房价的销售规则(BookDTO) 举例:12360活动(夜宵房活动),需要晚上20点才能预订,在每天20点之前返回数据都是NULL。


参数名参数类型备注
activityIdString活动ID
roomCountCheckAvailabilityRoomCountDTO房量
priceDailyListList<PriceDailyDTO>每日价格
roomCountDailyListList<RoomCountDailyDTO>每日房量
rateCodeInfoListList<RateCodeInfoRespDTO>房价码信息
memberBreakFastBreakFastDTO会员和早餐信息
bookInfoBookInfoDTO预订信息
checkInInfoCheckInInfoDTO入住信息
cancelInfoCancelInfoDTO取消信息
exchangeRateListList<ExchangeRate>汇率信息
otherInfoOtherInfoDTO其他信息
CheckAvailabilityRoomCountDTO:
参数名参数类型备注
roomTypeIdString房型ID
retainCountInt保留房量
shareCountInt共享房量
availableCountInt可用房量
PriceDailyDTO
参数名参数类型备注
roomTypeIdString房型
bizDateDate营业日 yyyy-MM-dd
currencyCodeString币种
marketPriceDecimal门市价
beforeTaxPriceDecimal税前价(净价)
afterTaxPriceDecimal税后价(含税价)
multiPersonInt一人价、两人价
companyToGroupPriceDecimal公司总对总价(含税价+税点差价)
marketCNYPriceDecimal人民币门市价(含税价)
beforeTaxCNYPriceDecimal人民币税前价(净价)
afterTaxCNYPriceDecimal人民币税后价(含税价)
companyToGroupCNYPriceDecimal人民币公司总对总价(含税价+税点差价)
isForbiddenBool是否禁用
isBlackBool是否房型黑名单
RoomCountDailyDTO:
参数名参数类型备注
roomTypeIdString房价码
bizDateDate营业日
retainCountInteger保留房
shareCountInteger共享房
availableCountInteger可售
isForbiddenBoolean是否禁用
isBlackBoolean是否房型黑名单
RateCodeInfoRespDTO:
参数名参数类型备注
rateCodeString房价码
checkInTypeListList<String>入住类型(DAY、HOUR、GROUP、LONGSTAY)
tagList<String>标签 尾房、固定价等
activityIdString子活动id
BreakFastDTO:
参数名参数类型备注
memberLevelString会员级别
breakfastCountIntegerbreakfastCount是指入住人的最大早餐份数
举例说明:
1、中国内地酒店(不含港澳台酒店):
a、若返回breakfastCount=1,则入住人只有1份早餐
b、若返回breakfastCount=2,则入住人最多2份早餐
2、非中国内地酒店(包含港澳台酒店):
a、预订1人价格,若返回breakfastCount=1,则入住人只有1份早餐
b、预订1人价格,若返回breakfastCount=2,则入住人只有1份早餐
c、预订2人价格,若返回breakfastCount=1,则入住人只有1份早餐
d、预订2人价格,若返回breakfastCount=2,则入住人最多2份早餐
companySrcCompanySrc公司来源(枚举,HUAZHU:华住 ACCOR:雅高)
breakFastExtBreakFastExtDTO早餐扩展信息
BreakFastExtDTO:
参数名参数类型备注
multiPersonBreakFastCountListList<MultiPersonDTO>多人入住早餐列表
MultiPersonDTO:
参数名参数类型备注
multiPersonInteger入住人数
breakfastCountIntegerbreakfastCount是指入住人的最大早餐份数
举例说明:
1、中国内地酒店(不含港澳台酒店):
a、若返回breakfastCount=1,则入住人只有1份早餐
b、若返回breakfastCount=2,则入住人最多2份早餐
2、非中国内地酒店(包含港澳台酒店):
a、预订1人价格,若返回breakfastCount=1,则入住人只有1份早餐
b、预订1人价格,若返回breakfastCount=2,则入住人只有1份早餐
c、预订2人价格,若返回breakfastCount=1,则入住人只有1份早餐
d、预订2人价格,若返回breakfastCount=2,则入住人最多2份早餐
BookInfoDTO:
参数名参数类型备注
guaranteeModeString支持的担保模式
NONE:无
FIRST_NIGHT:首晚担保
FULL_AMOUNT:全额担保
1、到付和预付区别
a、guaranteeMode是NONE,则支持到店付或者预付
b、guaranteeMode是FIRST_NIGHT或者FULL_AMOUNT,则必须预付
2、担保模式使用
a、企业协议价按照企业卡的担保模式(运营开卡时确认的担保模式)
b、活动价按照房价码担保模式,判断房量房价接口中的BookDTO中的guaranteeMode(担保模式)(房量房价接口中activityId不为空就是活动房价码;活动价下单时,验价及下单接口必须要传activityId,否则默认为会员价)
3、现付客户不能使用活动价注意事项
由于活动价的担保模式都是需预付,导致因公现付或者因私订单,下单后会在5分钟内自动取消。所以建议因公现付客户或者因私订单不要使用活动价,而是使用企业协议价下单。
holdTimeString最晚保留时间
bookDescString预订说明
CheckInInfoDTO:
参数名参数类型备注
isOneSelfBool是否必须本人本卡
checkInDescString入住说明
CancelInfoDTO:
参数名参数类型备注
isCanCancelBool是否可取消
lastCancelDateString最晚取消时间
cancelDescString取消说明
ExchangeRate
参数名参数类型备注
currencyOriginString原始币种
currencyTargetString目标币种
exchangeRateString汇率
currencyDateString汇率日期 yyyy-MM-dd
timestampLong汇率时间搓
versionNoString汇率版本
OtherInfoDTO:
参数名参数类型备注
isPromotionCodeCanBookBool是否必须使用促销券码才能预订
isCanUseCouponBool是否支持优惠券
otherDescString其他说明

返回示例:

{
"code": "200",
"message": "成功!",
"content": {
"activityId": null,
"roomCount": {
"roomTypeId": "SQ1",
"retainCount": 0,
"shareCount": 16,
"availableCount": 16
},
"priceDailyList": [
{
"roomTypeId": "SQ1",
"bizDate": "2020-08-26",
"currencyCode": "CNY",
"marketPrice": 329,
"beforeTaxPrice": 280,
"afterTaxPrice": 280,
"companyToGroupPrice": 289.38,
"marketCNYPrice": 329,
"beforeTaxCNYPrice": 280,
"afterTaxCNYPrice": 280,
"companyToGroupCNYPrice": 289.38,
"isForbidden": false,
"isBlack": false
}
],
"roomCountDailyList": [
{
"roomTypeId": "SQ1",
"bizDate": "2020-08-26",
"retainCount": 0,
"shareCount": 16,
"availableCount": 16,
"isForbidden": false,
"isBlack": false
}
],
"memberBreakFast": {
"memberLevel": "K",
"breakfastCount": 2
},
"bookInfo": {
"guaranteeMode": "NONE",
"holdTime": null,
"bookDesc": "预订说明:担保方式:NONE,"
},
"checkInInfo": {
"isOneSelf": true,
"checkInDesc": "入住说明:是否必须本人本卡:是"
},
"cancelInfo": {
"isCanCancel": true,
"lastCancelDate": "2020-08-26 18:00:00",
"cancelTime": "2020-08-26 20:00:00",
"cancelDesc": "取消说明:是否可取消:是,最晚取消时间:2020-08-26 18:00:00,"
},
"exchangeRateList": {
"currencyOrigin": "SUD",
"currencyTarget": "CNY",
"exchangeRate": "0.185525936797918143",
"currencyDate": "2023-07-05",
"timestamp": 1688515199,
"versionNo": "a141ef6f5be7481e9db0158641247811"
},
"otherInfo": {
"isPromotionCodeCanBook": false,
"isCanUseCoupon": true,
"otherDesc": "其他说明:是否必须使用促销券码才能预订:否,是否支持优惠券:是,"
}
},
"echoToken": "61173cd8-1089-4cce-83d9-4ef9ddd2b1fe"
}

下单

多主体企业下单接口请查看多主体企业下单接口

注意:

所有使用华住商旅API接口对接的客户(包括TMC),均需要根据以下机制做程序补偿机制

  1. 调用华住商旅下单接口后,没有收到确定的返回结果(如500错误或系统网络超时等), 调用方需使用原下单请求号RequestNo进行重试下单接口(orderadd)或查询接口(queryByRequestNo), 查询建议,下单后的第3分钟后查询第一次,若返回500错误或系统网络超时等,建议第5分钟查询第二次,若再返回500错误或系统网络超时等,建议第10分钟查询第三次;
  • 1)若查询到订单号:
  • a、订单号bookStatus状态为P则代表未处理完成,需按照查询建议继续查询订单状态即可;
  • b、订单号bookStatus状态为R则代表预订成功;
  • c、订单号bookStatus状态为E则代表客户在前台已办理入住;
  • d、订单号bookStatus状态为X则代表订单已取消。
  • 2)如超过10分钟,仍未收到确定结果或者订单号bookStatus状态仍为P,可发到华住商旅企业对接群找华住相关人员确认订单情况,如未重试或未确认可能会产生差异订单,企业需要结算此笔费用。
  1. 总对总结算模式的下单请求,若返回"付款失败(code:3028,message:订单支付失败)", 需要重试下单接口(orderadd)或查询接口(queryByRequestNo)获取到已经生成的订单号, 查询建议,下单后的第3分钟后查询第一次,若返回500错误或系统网络超时等,建议第5分钟查询第二次,若再返回500错误或系统网络超时等,建议第10分钟查询第三次;
  • 1)订单号中查看bookStatus状态
  • a、订单号bookStatus状态为P则代表未处理完成,需按照查询建议继续查询订单状态即可;
  • b、订单号bookStatus状态为R则代表预订成功;
  • c、订单号bookStatus状态为E则代表客户在前台已办理入住;
  • d、订单号bookStatus状态为X则代表订单已取消。(扣款失败会取消订单)。
  • 2)如超过10分钟,订单号bookStatus状态仍为P,可发到华住商旅企业对接群找华住相关人员确认订单情况,如未重试或未确认可能会产生差异订单,企业需要结算此笔费用。

接口地址: order/add

请求方式:POST

请求参数说明:
参数名 参数类型 备注 是否必填 示例值
cardId String 公司卡号 VCENTCRM0002220001
cardPassWord String 公司卡密码 TestPassword
isGroup Bool 是否总对总
false:现付订单
true:总对总订单,包括预付和信用
true
guaranteeMode String 支持的担保模式
NONE:无
FIRST_NIGHT:首晚担保
FULL_AMOUNT:全额担保
1、到付和预付区别
a、guaranteeMode是NONE,则支持到店付或者预付
b、guaranteeMode是FIRST_NIGHT或者FULL_AMOUNT,则必须预付
2、担保模式使用
a、企业协议价按照企业卡的担保模式(运营开卡时确认的担保模式)
b、活动价按照房价码担保模式,判断房量房价接口中的BookDTO中的guaranteeMode(担保模式)(房量房价接口中activityId不为空就是活动房价码;活动价下单时,验价及下单接口必须要传activityId,否则默认为会员价)
3、现付客户不能使用活动价注意事项
由于活动价的担保模式都是需预付,导致因公现付或者因私订单,下单后会在5分钟内自动取消。所以建议因公现付客户或者因私订单不要使用活动价,而是使用企业协议价下单。
1、到付和预付区别
a、guaranteeMode是NONE,则支持到店付或者预付
b、guaranteeMode是FIRST_NIGHT或者FULL_AMOUNT,则必须预付
2、担保模式使用
a、企业协议价按照企业卡的担保模式(运营开卡时确认的担保模式)
b、活动价按照房价码担保模式,判断房量房价接口中的BookDTO中的guaranteeMode(担保模式)(房量房价接口中activityId不为空就是活动房价码;活动价下单时,验价及下单接口必须要传activityId,否则默认为会员价)
3、现付客户不能使用活动价注意事项
由于活动价的担保模式都是需预付,导致因公现付或者因私订单,下单后会在5分钟内自动取消。所以建议因公现付客户或者因私订单不要使用活动价,而是使用企业协议价下单。
apiType String API 类型
INTERFACE:接口下单
DIRECT:直连H5下单
INTERFACE
requestNo String 下单请求号
outerRefId String 关联号(OA Id)
bookerId String 预订人公司卡ID
isNeedRegisterMember Bool 是否为入住人赠送积分
bookerPersonId String 预订人员工编号
bookerPersonFirstName String 国内酒店传值时,此字段表示“预订人姓名”或“预订人的名“
海外酒店传值时,此字段表示“预订人的名”
海外酒店传值时,请传英文或者拼音
bookerPersonLastName String 预订人的姓(海外酒店必传)
海外酒店传值时,请传英文或者拼音
bookerPersonMobile String 预订人手机号 如使用优惠券个人价这个字段必填
使用优惠券,与优惠券绑卷人手机号一致
使用个人价,传个人会员的手机号;
若是中国大陆手机号,前缀无需加+86,请直接传11位手机号码
bookerPersonIDNumber String 预订人证件号 注:预留字段,无需传值
adults Int 一间房的入住人数,用于获取多人价(举例:一人价、两人价等);
入住人数:1-5,目前不支持大于5人(不涉及儿童数量,价格只根据成人数量计算,举例:两大一小,数量传2)
不传值,默认是2
childs Int 儿童数
travelLevel String 差旅档次和级别
travelType String 差旅类型
COMPANY:因公
PERSON:因私 (当企业总对总支付订单时,必传企业:COMPANY)
PERSON
linkFirstName String 国内酒店传值时,此字段表示“联系人姓名”或“联系人的名“
海外酒店传值时,此字段表示“联系人的名”
海外酒店传值时,请传英文或者拼音
linkLastName String 联系人的姓(海外酒店必传)
海外酒店传值时,请传英文或者拼音
linkMobile String 联系人手机
linkEmail String 联系人邮箱 非中国内地酒店(包含港澳台酒店)此字段为必填
hotelId String 酒店Id 2000505
roomTypeId String 房型 DR
checkInType String 入住类型
DAY:天
HOUR:小时
DAY
checkInDate DateTime 入住日期 2020/1/1
checkOutDate DateTime 离店日期 2020/1/2
arriveTime DateTime 抵达时间
roomCount Int 房间数量,>=1
remark String 客人备注
dailyPriceList List<DailyPriceParameter> 每日房价列表
rateCode String 房价码
activityId String 活动Id 会员价非必填 活动价必填
isNeed Bool 是否需要一次性用品,H5新加字段,接口上还未实现
invoiceNo String 纳税人识别号 当是总对总订单并且有多组开票信息时,必传
bookerPriceType String 预订价格类型
个人:PERSON
企业:COMPANY
当企业总对总支付订单时,必传企业:COMPANY
PERSON
customerDictionary String 企业对账单的扩展字段,需提前找运营在后台配置对应扩展字段;
外部客户调用接口时可传递对应的扩展字段,扩展字段将呈现在华住商旅后台下载的企业对账单中,方便用于对账使用等。
扩展字段如下:
Department:员工部门 ;
ApplicationRemark:申请单备注 ;
EmpUniqueId:员工唯一标识 ;
OrderType:订单类型 ;
ApplicationCostCenter:申请单成本中心 ;
ReqUniqueId:下单标识 ;
Subsidiary:子公司 ;
PayCompanyName:发薪公司 ;
传值规则:{ "ReqUniqueId":"DS10001", "OrderType":"CREDIT", "Department":"CK" }
OrderType枚举: (CREDIT:信用 ADVANCE:预付 OTHER:其他)
guestInfoList List<GuestParameter> 入住人信息(整体为空表示不传值,若需传值按照具体规则传值)
settleBodyCode String 会计主体code 开启主体对账时必传
DailyPriceParameter:
参数名 参数类型 备注 是否必填 示例值
bizDate DateTime 营业日
afterTaxPrice Decimal 房价(税后价)
afterTaxCNYPrice Decimal 人民币房价(税后价) 非中国内地酒店(包含港澳台酒店)总对总下单必填
couponNo String 优惠券码
GuestParameter:
参数名 参数类型 备注 是否必填 示例值
guestFirstName String 中国内地酒店(不含港澳台酒店)传值时,此字段表示“入住人姓名”或“入住人的名“
非中国内地酒店(包含港澳台酒店)传值时,此字段表示“入住人的名”
海外酒店传值时,请传英文或者拼音
guestLastName String 入住人的姓(海外酒店必传)
海外酒店传值时,请传英文或者拼音
guestPhone String 入住人手机号 若是中国大陆手机号,前缀无需加+86,请直接传11位手机号码
guestEmail String 入住人邮箱
guestRoomNo Integer 同一个值则表示为同一房间入住人

请求参数示例:

{
"cardId": "VCENTCRM0002224829",
"cardPassWord": "123321a",
"isGroup": true,
"guaranteeMode": "NONE",
"apiType": "INTERFACE",
"requestNo": "string",
"outerRefId": "string",
"bookerId": "string",
"isNeedRegisterMember": false,
"bookerPersonId": "string",
"bookerPersonMobile": "string",
"bookerPersonIDNumber": "string",
"adults": 0,
"childs": 0,
"travelLevel": "string",
"travelType": "COMPANY",
"linkMobile": "string",
"linkEmail": "string",
"hotelId": "string",
"roomTypeId": "string",
"checkInType": "DAY",
"checkInDate": "2020-01-01",
"checkOutDate": "2020-01-02",
"arriveTime": "2020-01-02 14:00:00",
"roomCount": 0,
"remark": "string",
"dailyPriceList": [
{
"bizDate": "2020-01-01",
"afterTaxPrice": 0
}
],
"rateCode": "string",
"activityId": "string",
"invoiceNo": "string",
"guestInfoList": [
{
"guestFirstName": "张三/三",
"guestLastName": "张",
"guestPhone": "13411111111",
"guestEmail": "zhangsan@xx.com",
"guestRoomNo": 1
}
]
}
返回参数说明
参数名 参数类型 备注
code code 状态码
200 成功!
500 应用程序繁忙,请稍后再试!
521 企业V卡号或者验证码错误!
message String 响应消息
content OrderInfo OrderInfo
OrderInfo:
参数名 参数类型 备注
orderId code 华住订单号
bookStatus String 订单预订状态
P:处理中(中间态)
R:预订成功
E:完成
X:取消

返回参数示例

{
"code": "200",
"message": "string",
"content": {
"bookStatus": "string",
"orderId": "string"
}
}

取消订单

接口地址: order/cancel

请求方式:POST

请求参数说明:
参数名 参数类型 备注 是否必填 示例值
cardId String 公司卡号 VCENTCRM0002220001
cardPassWord String 公司卡密码 TestPassword
orderId String 订单号 R20005050001936627
hotelId String 酒店Id 2000505

请求示例:

{
"cardId": "VCENTCRM0002224829",
"cardPassWord": "123321a",
"orderId": "string",
"hotelId": "string"
}
返回参数说明:
参数名 参数类型 备注
code code 状态码
200 成功!
500 应用程序繁忙,请稍后再试!
521 企业V卡号或者验证码错误!
message String 响应消息
content Bool 是否成功

返回示例:

{
"code": "200",
"message": "string",
"content": true
}

查询订单

接口地址:order/query

请求方式:POST

请求参数说明:
参数名 参数类型 备注 是否必填 示例值
cardId String 公司卡号 VCENTCRM0002220001
cardPassWord String 公司卡密码 TestPassword
orderId String 订单号 R20005050001936627
hotelId String 酒店Id 2000505

请求示例:

{
"cardId": "VCENTCRM0002224829",
"cardPassWord": "123321a",
"orderId": "string",
"hotelId": "string"
}
返回参数说明:
参数名 参数类型 备注
code code 状态码
200 成功!
500 应用程序繁忙,请稍后再试!
521 企业V卡号或者验证码错误!
message String 响应消息
content OrderInfo 订单信息
OrderInfo:
参数名 参数类型 备注
requestNo String 外部流水号、下单请求号
orderId String 订单号
breakfastCount Int breakfastCount是指入住人的最大早餐份数
举例说明:
1、中国内地酒店(不含港澳台酒店):
a、若返回breakfastCount=1,则入住人只有1份早餐
b、若返回breakfastCount=2,则入住人最多2份早餐
2、非中国内地酒店(包含港澳台酒店):
a、预订1人价格,若返回breakfastCount=1,则入住人只有1份早餐
b、预订1人价格,若返回breakfastCount=2,则入住人只有1份早餐
c、预订2人价格,若返回breakfastCount=1,则入住人只有1份早餐
d、预订2人价格,若返回breakfastCount=2,则入住人最多2份早餐
adults Int 成人数
childs Int 儿童数
travelLevel String 差旅类型等级、档次 (H5需要)
travelType String 差旅类型,因公(COMPANY),因私(PERSON),(H5需要)
bookerPersonId String 预订人员工编号
linkFirstName String 国内酒店传值时,此字段表示“联系人姓名”或“联系人的名“
海外酒店传值时,此字段表示“联系人的名”
linkLastName String 联系人的姓(海外酒店必传)
linkMobile String 联系人电话
linkEmail String 联系人邮箱(非中国内地酒店(包含港澳台酒店)酒店此字段为必填)
bookerPersonFirstName String 国内酒店传值时,此字段表示“预订人姓名”或“预订人的名“
海外酒店传值时,此字段表示“预订人的名”
bookerPersonLastName String 预订人的姓(海外酒店必传)
hotelId String 酒店Id
hotelName String 酒店名称 (H5需要)
hotelAddress String 酒店地址 (H5需要)
brandCode String 酒店品牌code (H5需要)
brandName String 酒店品牌名称 (H5需要)
roomTypeId String 房型代码
roomTypeName String 房型名称 (H5需要)
checkInType String 入住类型,天(DAY),小时(HOUR)
checkInDate DateTime 预订单入住日期
checkOutDate DateTime 预订单离店日期
lastCheckoutTime DateTime 最晚离店日期
arriveTime DateTime 预订单预计到达时间
roomCount Int 预订房间数
bookStatus String 订单预订状态
P:处理中(中间态)
R:预订成功
E:完成
X:取消
businessType String 业务模式
CASH:现付,例如:到门店付
COMPANY_ADVANCE:企业预付,例如:支付宝立即扣、中航结立即扣CREDIT:信用,例如:担保金月结,担保金离店T+N扣款
guaranteeMode String 担保模式
NONE:无
FIRST_NIGHT:首晚担保
FULL_AMOUNT:全额担保
1、到付和预付区别
a、guaranteeMode是NONE,则支持到店付或者预付
b、guaranteeMode是FIRST_NIGHT或者FULL_AMOUNT,则必须预付
2、担保模式使用
a、企业协议价按照企业卡的担保模式(运营开卡时确认的担保模式)
b、活动价按照房价码担保模式,判断房量房价接口中的BookDTO中的guaranteeMode(担保模式)(房量房价接口中activityId不为空就是活动房价码;活动价下单时,验价及下单接口必须要传activityId,否则默认为会员价)
3、现付客户不能使用活动价注意事项
由于活动价的担保模式都是需预付,导致因公现付或者因私订单,下单后会在5分钟内自动取消。所以建议因公现付客户或者因私订单不要使用活动价,而是使用企业协议价下单。
dailyPriceList List<DailyPriceResponseDTO> 每日房价
currencyCode String 币种
rateCode String 房价码
activityId String 活动Id
isCanCancel Bool 是否可以取消
lastCancelTime DateTime 最晚取消时间 (H5需要)
cancelDesc String 取消政策
lastHoldTime DateTime 最晚保留时间
isSendMessage Bool 预订短信是否已发送 (H5需要)
createTime Date 下单时间
payStatus String 订单付款状态
NONE:未支付
PAY:已支付
REFUND:已退款
注:针对总对总结算订单,下单流程是先下单,下单成功再去扣款,扣款成功,返回订单号,扣款失败会马上取消订单,在取消订单过程中,客户来重试下单或查询订单,会返回bookStatus=R和订单号给客户,但实际在客人没有马上办理入住的情况下会取消订单,造成客人到店无可入住的订单,现可以根据bookStatus=R并且payStatus=PAY判断订单预订并支付成功,如果bookStatus=R并且payStatus=NONE在客人没有马上办理入住的情况下会取消订单,取消成功bookStatus=X(此时不关心payStatus),由于客人办理入住导致取消失败,产生的费用需要正常结算
checkInPolicyDesc String 入住政策,H5新增字段,接口还未实现
outerHotelRefId String 第三方酒店订单ID(雅高)
travelMoney String 差标金额
pmsAdapterOrderStatus String 实际订单状态
R:预订成功
I:入住
O:离店
N:NoShow
E:完成
X:取消
bookerPriceType String 预订价格类型
bookerPersonMobile String 绑券会员手机号或个人价手机号
multiBodyCode String 企业主体code,
企业主体code必须先提交配置信息给到华住商旅商务,再由华住商旅中台配置生效后才可使用。
DailyPriceResponseDTO:
参数名 参数类型 备注
bizDate DateTime 营业日
afterTaxPrice BigDecimal 房价
afterTaxCNYPrice BigDecimal 人民币房价

返回参数示例:

{
"code": "200",
"message": "成功!",
"content": {
"requestNo": "1701222124836",
"orderId": "R2000014133954927001",
"breakfastCount": 2,
"adults": 1,
"childs": 0,
"travelLevel": "",
"travelType": "COMPANY",
"linkMobile": "18302451065",
"linkEmail": "ceshizhuanyong@ceshi.com",
"linkFirstName": "赵七七/七七",
"linkLastName": "赵",
"bookerPersonFirstName": "张三/三",
"bookerPersonLastName": "张",
"hotelId": "2000014",
"hotelName": null,
"hotelAddress": null,
"brandCode": null,
"brandName": null,
"roomTypeId": "DR1",
"roomTypeName": null,
"checkInType": "DAY",
"checkInDate": "2023-11-29",
"checkOutDate": "2023-11-30",
"lastCheckoutTime": "2023-11-30 14:00:00",
"arriveTime": "2023-11-30 18:00:00",
"roomCount": 1,
"bookStatus": "R",
"businessType": "CREDIT",
"guaranteeMode": "FIRST_NIGHT",
"dailyPriceList": [
{
"bizDate": "2023-11-29",
"afterTaxPrice": 373,
"afterTaxCNYPrice": 373
}
],
"currencyCode": "CNY",
"rateCode": "Base-OCK-STD",
"activityId": "",
"isCanCancel": true,
"lastCancelTime": "2023-11-29 00:00:00",
"cancelDesc": "取消说明:是否可取消:是,最晚取消时间:2023-11-29 00:00:00,",
"lastHoldTime": "2023-11-29 20:00:00",
"isSendMessage": false,
"outerHotelRefId": null,
"pmsAdapterOrderStatus": "R",
"bookerPersonMobile": "",
"bookerPriceType": "COMPANY",
"createTime": "2023-11-29 09:42:05",
"bookerPersonId": "",
"travelMoney": "",
"payStatus": "PAY"
},
"echoToken": "e359a589-4138-4b40-b22b-0beb37df24bf"
}

根据下单号查询订单

接口地址:order/queryByRequestNo

请求方式:POST

请求参数说明:
参数名 参数类型 备注 是否必填 示例值
cardId String 公司卡号 VCENTCRM0002220001
cardPassWord String 公司卡密码 TestPassword
requestNo String 下单请求号 hd070808

请求示例:

{
"cardId": "VCENTCRM0002224829",
"cardPassWord": "123321a",
"requestNo": "string"
}
返回参数说明:
参数名 参数类型 备注
code code 状态码
200 成功!
500 应用程序繁忙,请稍后再试!
521 企业V卡号或者验证码错误!
message String 响应消息
content OrderInfo 订单信息
OrderInfo:
参数名 参数类型 备注
requestNo String 外部流水号、下单请求号
orderId String 订单号
breakfastCount Int breakfastCount是指入住人的最大早餐份数
举例说明:
1、中国内地酒店(不含港澳台酒店):
a、若返回breakfastCount=1,则入住人只有1份早餐
b、若返回breakfastCount=2,则入住人最多2份早餐
2、非中国内地酒店(包含港澳台酒店):
a、预订1人价格,若返回breakfastCount=1,则入住人只有1份早餐
b、预订1人价格,若返回breakfastCount=2,则入住人只有1份早餐
c、预订2人价格,若返回breakfastCount=1,则入住人只有1份早餐
d、预订2人价格,若返回breakfastCount=2,则入住人最多2份早餐
adults Int 成人数
childs Int 儿童数
travelLevel String 差旅类型等级、档次 (H5需要)
travelType String 差旅类型,因公(COMPANY),因私(PERSON),(H5需要)
bookerPersonId String 预订人员工编号
linkMobile String 联系人电话
linkEmail String 联系人邮箱
linkFirstName String 国内酒店传值时,此字段表示“联系人姓名”或“联系人的名“
海外酒店传值时,此字段表示“联系人的名”
linkLastName String 联系人的姓(海外酒店必传)
bookerPersonFirstName String 国内酒店传值时,此字段表示“预订人姓名”或“预订人的名“
海外酒店传值时,此字段表示“预订人的名”
bookerPersonLastName String 预订人的姓(海外酒店必传)
hotelId String 酒店Id
hotelName String 酒店名称 (H5需要)
hotelAddress String 酒店地址 (H5需要)
brandCode String 酒店品牌code (H5需要)
brandName String 酒店品牌名称 (H5需要)
roomTypeId String 房型代码
roomTypeName String 房型名称 (H5需要)
checkInType String 入住类型,天(DAY),小时(HOUR)
checkInDate DateTime 预订单入住日期
checkOutDate DateTime 预订单离店日期
lastCheckoutTime DateTime 最晚离店日期
arriveTime DateTime 预订单预计到达时间
roomCount Int 预订房间数
bookStatus String 订单预订状态
P:处理中(中间态)
R:预订成功
E:完成
X:取消
businessType String 业务模式
CASH:现付,例如:到门店付
COMPANY_ADVANCE:企业预付,例如:支付宝立即扣、中航结立即扣CREDIT:信用,例如:担保金月结,担保金离店T+N扣款
guaranteeMode String 担保模式
NONE:无
FIRST_NIGHT:首晚担保
FULL_AMOUNT:全额担保
1、到付和预付区别
a、guaranteeMode是NONE,则支持到店付或者预付
b、guaranteeMode是FIRST_NIGHT或者FULL_AMOUNT,则必须预付
2、担保模式使用
a、企业协议价按照企业卡的担保模式(运营开卡时确认的担保模式)
b、活动价按照房价码担保模式,判断房量房价接口中的BookDTO中的guaranteeMode(担保模式)(房量房价接口中activityId不为空就是活动房价码;活动价下单时,验价及下单接口必须要传activityId,否则默认为会员价)
3、现付客户不能使用活动价注意事项
由于活动价的担保模式都是需预付,导致因公现付或者因私订单,下单后会在5分钟内自动取消。所以建议因公现付客户或者因私订单不要使用活动价,而是使用企业协议价下单。
dailyPriceList List<DailyPriceResponseDTO> 每日房价
currencyCode String 币种
rateCode String 房价码
activityId String 活动Id
isCanCancel Bool 是否可以取消
lastCancelTime DateTime 最晚取消时间 (H5需要)
cancelDesc String 取消政策
lastHoldTime DateTime 最晚保留时间
isSendMessage Bool 预订短信是否已发送 (H5需要)
createTime Date 下单时间
payStatus String 订单付款状态
NONE:未支付
PAY:已支付
REFUND:已退款
注:针对总对总结算订单,下单流程是先下单,下单成功再去扣款,扣款成功,返回订单号,扣款失败会马上取消订单,在取消订单过程中,客户来重试下单或查询订单,会返回bookStatus=R和订单号给客户,但实际在客人没有马上办理入住的情况下会取消订单,造成客人到店无可入住的订单,现可以根据bookStatus=R并且payStatus=PAY判断订单预订并支付成功,如果bookStatus=R并且payStatus=NONE在客人没有马上办理入住的情况下会取消订单,取消成功bookStatus=X(此时不关心payStatus),由于客人办理入住导致取消失败,产生的费用需要正常结算
checkInPolicyDesc String 入住政策,H5新增字段,接口还未实现
outerHotelRefId String 第三方酒店订单ID(雅高)
travelMoney String 差标金额
pmsAdapterOrderStatus String 实际订单状态
R:预订成功
I:入住
O:离店
N:NoShow
E:完成
X:取消
bookerPriceType String 预订价格类型
bookerPersonMobile String 绑券会员手机号或个人价手机号
multiBodyCode String 企业主体code,
企业主体code必须先提交配置信息给到华住商旅商务,再由华住商旅中台配置生效后才可使用。
DailyPriceResponseDTO:
参数名 参数类型 备注
bizDate DateTime 营业日
afterTaxPrice BigDecimal 房价
afterTaxCNYPrice BigDecimal 人民币房价

返回示例:

{
"code": "200",
"message": "成功!",
"content": {
"requestNo": "1701222124836",
"orderId": "R2000014133954927001",
"breakfastCount": 2,
"adults": 1,
"childs": 0,
"travelLevel": "",
"travelType": "COMPANY",
"linkMobile": "18302451065",
"linkEmail": "ceshizhuanyong@ceshi.com",
"linkFirstName": "赵七七/七七",
"linkLastName": "赵",
"bookerPersonFirstName": "张三/三",
"bookerPersonLastName": "张",
"hotelId": "2000014",
"hotelName": null,
"hotelAddress": null,
"brandCode": null,
"brandName": null,
"roomTypeId": "DR1",
"roomTypeName": null,
"checkInType": "DAY",
"checkInDate": "2023-11-29",
"checkOutDate": "2023-11-30",
"lastCheckoutTime": "2023-11-30 14:00:00",
"arriveTime": "2023-11-30 18:00:00",
"roomCount": 1,
"bookStatus": "R",
"businessType": "CREDIT",
"guaranteeMode": "FIRST_NIGHT",
"dailyPriceList": [
{
"bizDate": "2023-11-29",
"afterTaxPrice": 373,
"afterTaxCNYPrice": 373
}
],
"currencyCode": "CNY",
"rateCode": "Base-OCK-STD",
"activityId": "",
"isCanCancel": true,
"lastCancelTime": "2023-11-29 00:00:00",
"cancelDesc": "取消说明:是否可取消:是,最晚取消时间:2023-11-29 00:00:00,",
"lastHoldTime": "2023-11-29 20:00:00",
"isSendMessage": false,
"outerHotelRefId": null,
"pmsAdapterOrderStatus": "R",
"bookerPersonMobile": "",
"bookerPriceType": "COMPANY",
"createTime": "2023-11-29 09:42:05",
"bookerPersonId": "",
"travelMoney": "",
"payStatus": "PAY"
},
"echoToken": "6ed2ec7a-ee57-47c9-93f7-636cd6021712"
}

根据订单查询积分间夜赠送情况

接口地址:/order/getOrderScoreNightInfo

请求方式:POST

请求参数说明:
参数名 参数类型 备注 是否必填 示例值
cardId String 公司卡号 VCENTCRM1016433543
cardPassWord String 公司卡密码 A7A5C7DF-A1B2-469B-8361-A1AF85289571
orderId String 订单号 R2000014065860371001
hotelId String 酒店Id 2000014

请求示例:

{
"cardId": "VCENTCRM0002224829",
"cardPassWord": "123321a",
"orderId": "R2000015071060289001",
"hotelId": "2000015"
}
返回参数说明:
参数名 参数类型 备注
code code 状态码 200 成功! 500 应用程序繁忙,请稍后再试!
message String 响应消息
content HotelOrderScoreNightDTO 入驻码信息

HotelOrderScoreNightDTO:

参数名 参数类型 备注
orderId String 订单号
hotelId Decimal 酒店Id
orderScoreStatus String 积分状态
0 不是会员
1 未下挂或未认证
2 渠道不赠送
3 等待处理
4 处理完成
5 酒店不处理赠送
6 非本人本卡
7 取消订单
8 未获取到房费不赠送
9 下查询不到会员不赠送
10 订单noshow不赠送
11 非托卡不增送
12 账户异常无法赠送积分
13 公司配置不支持赠送所有积分
realCheckInDate Date 入住日期
realCheckOutDate Date 离店日期
realRoomPrice Double 实际房费
realCheckInNight Double 实际入住间夜数
totalScore Integer 总赠送积分
totalNight Double 总累积间夜数

返回示例:

{
"code": "200",
"message": "成功!",
"content": {
"orderScoreStatus": "4",
"orderId": "R2000015071060289001",
"hotelId": "2000015",
"realCheckInDate": "2023-10-01",
"realCheckOutDate": "2023-10-12",
"realRoomPrice": 345,
"realCheckInNight": 11,
"totalScore": 10000,
"totalNight": 11
}
}