Skip to main content

多主体专用接口列表


“多主体”:一般指该公司的主体实体不止一家,可以是由两个或两个以上的公司或组织共同组成的,这些公司或组织彼此独立,但又通过某种合作关系或股权结构相互联系。这种形式的公司通常有一定的法律和财务关系,但经营活动和财务报表等方面可能会有所不同,在具体情况下,需要通过查看公司的注册信息、授权认证、股权结构等方面的信息。

注意事项:
1、由企业客户向华住商旅商务申请多主体应用功能使用,后续由华住商旅中台运营配置生效后才可使用。
2、目前仅支持API总对总客户,暂不支持TMC客户和API现付客户

下单(多主体客户适用)

注意:

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

  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

请求参数说明:
参数名参数类型备注是否必填示例值
cardIdString公司卡号VCENTCRM0002220001
cardPassWordString公司卡密码TestPassword
bookerIdString预订人公司卡ID
isGroupBool是否总对总
false:现付订单
true:总对总订单,包括预付和信用
true
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分钟内自动取消。所以建议因公现付客户或者因私订单不要使用活动价,而是使用企业协议价下单。
1、到付和预付区别
a、guaranteeMode是NONE,则支持到店付或者预付
b、guaranteeMode是FIRST_NIGHT或者FULL_AMOUNT,则必须预付
2、担保模式使用
a、企业协议价按照企业卡的担保模式(运营开卡时确认的担保模式)
b、活动价按照房价码担保模式,判断房量房价接口中的BookDTO中的guaranteeMode(担保模式)(房量房价接口中activityId不为空就是活动房价码;活动价下单时,验价及下单接口必须要传activityId,否则默认为会员价)
3、现付客户不能使用活动价注意事项
由于活动价的担保模式都是需预付,导致因公现付或者因私订单,下单后会在5分钟内自动取消。所以建议因公现付客户或者因私订单不要使用活动价,而是使用企业协议价下单。
apiTypeStringAPI 类型
INTERFACE:接口下单
DIRECT:直连H5下单
INTERFACE
requestNoString下单请求号
outerRefIdString关联号(OA Id)
personInfoListList< PersonInfoDTO>下单接口人员信息(包括预订人、联系人、入住人)预订人信息必传
adultsInt一间房的入住人数,用于获取多人价(举例:一人价、两人价等);
入住人数:1-5,目前不支持大于5人(不涉及儿童数量,价格只根据成人数量计算,举例:两大一小,数量传2)
不传值,默认是2
childsInt儿童数
travelLevelString差旅档次和级别
travelTypeString差旅类型
COMPANY:因公
PERSON:因私 (当企业总对总支付订单时,必传企业:COMPANY)
PERSON
hotelIdString酒店Id2000505
roomTypeIdString房型DR
checkInTypeString入住类型
DAY:天
HOUR:小时
DAY
checkInDateDateTime入住日期2020/1/1
checkOutDateDateTime离店日期2020/1/2
arriveTimeDateTime抵达时间
roomCountInt房间数量,>=1
remarkString客人备注
dailyPriceListList<DailyPriceParameter>每日房价列表
rateCodeString房价码
activityIdString活动Id会员价非必填 活动价必填
isNeedBool是否需要一次性用品,H5新加字段,接口上还未实现
invoiceNoString纳税人识别号当是总对总订单并且有多组开票信息时,必传
bookerPriceTypeString预订价格类型
个人:PERSON
企业:COMPANY
当企业总对总支付订单时,必传企业:COMPANY
PERSON
customerDictionaryString企业对账单的扩展字段,需提前找运营在后台配置对应扩展字段;
外部客户调用接口时可传递对应的扩展字段,扩展字段将呈现在华住商旅后台下载的企业对账单中,方便用于对账使用等。
扩展字段如下:
Department:员工部门 ;
ApplicationRemark:申请单备注 ;
EmpUniqueId:员工唯一标识 ;
OrderType:订单类型 ;
ApplicationCostCenter:申请单成本中心 ;
ReqUniqueId:下单标识 ;
Subsidiary:子公司 ;
PayCompanyName:发薪公司 ;
传值规则:{ "ReqUniqueId":"DS10001", "OrderType":"CREDIT", "Department":"CK" }
OrderType枚举: (CREDIT:信用 ADVANCE:预付 OTHER:其他)
PersonInfoDTO
参数名参数类型备注是否必填示例值
ustomerTypeString客户类型预订人传1 ;
联系人传2 ;
入住人传3
employeeNoString员工编号
但预订人必传此字段;
firstNameString国内酒店传值时,此字段表示“联系人姓名”或“联系人的名“
海外酒店传值时,此字段表示“联系人的名”
海外酒店传值时,请传英文或者拼音

但预订人必传此字段;
lastNameString联系人的姓(海外酒店必传)
海外酒店传值时,请传英文或者拼音;
phoneNumberString手机号
但预订人必传此字段;
emailString邮箱否,
但非中国内地酒店(包含港澳台酒店)此字段为必填;
roomNoString同一个值则表示为同一房间入住人;否,
但入住人必传此字段;
multiBodyCodeString企业主体code,
若企业主体扩展code为空,则订单中记录此code值;
此企业主体code信息是由客户侧提交申请配置给到华住商旅商务,再由华住商旅中台配置完成生效后才可使用。

但预订人必传此字段;
multiBodyAssignCodeString企业主体扩展code,
若此字段有值则订单中优先使用此code;
此企业主体code信息是由客户侧提交申请配置给到华住商旅商务,再由华住商旅中台配置完成生效后才可使用。
DailyPriceParameter:
参数名参数类型备注是否必填示例值
bizDateDateTime营业日
afterTaxPriceDecimal房价(税后价)
afterTaxCNYPriceDecimal人民币房价(税后价)非中国内地酒店(包含港澳台酒店)总对总下单必填
couponNoString优惠券码

请求参数示例:

{
"cardId": "VCENTCRM0002224829",
"cardPassWord": "123321a",
"bookerId": "string",
"isGroup": true,
"guaranteeMode": "NONE",
"apiType": "INTERFACE",
"requestNo": "string",
"outerRefId": "string",
"personInfoList": [
{
"ustomerType": "1",
"employeeNo": "num001",
"firstName": "三",
"lastName": "张",
"phoneNumber": "187827651342",
"email": "zhangsan@xx.com",
"multiBodyCode": "company001",
"multiBodyAssignCode": "company002"
},
{
"ustomerType": "2",
"employeeNo": "num002",
"firstName": "四",
"lastName": "张",
"phoneNumber": "187827651341",
"email": "zhangsi@xx.com"
},
{
"ustomerType": "3",
"employeeNo": "num003",
"firstName": "五",
"lastName": "张",
"phoneNumber": "187827651340",
"email": "zhangwu@xx.com",
"roomNo": "1"
},
{
"ustomerType": "3",
"employeeNo": "num004",
"firstName": "六",
"lastName": "张",
"phoneNumber": "187827651346",
"email": "zhangliu@xx.com",
"roomNo": "1"
}
],
"adults": 0,
"childs": 0,
"travelLevel": "string",
"travelType": "COMPANY",
"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"
}
返回参数说明
参数名参数类型备注
codecode状态码
200 成功!
500 应用程序繁忙,请稍后再试!
521 企业V卡号或者验证码错误!
messageString响应消息
contentOrderInfoOrderInfo
OrderInfo:
参数名参数类型备注
orderIdcode华住订单号
bookStatusString订单预订状态
P:处理中(中间态)
R:预订成功
E:完成
X:取消

返回参数示例

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

企业多主体查询接口

功能描述:查询企业多主体信息

接口地址:/multiBody/queryPage

请求方式:POST

请求参数说明
参数名参数类型备注是否必填示例值
cardIdString公司卡号VCENTCRM0002220001
cardPassWordString公司卡密码TestPassword
pageIndexInteger分页起始页
pageCountInteger分页大小
最大限制20
multiBodyCodeString多主体编码
multiBodyNameString多主体名称
bodyStatusString多主体状态
主体状态:
0:正常
1:异常-发票未配置
2:异常-禁止下单
3:异常-停用
invoiceNoString发票号
invoiceNameString发票抬头

请求参数示例:

{
"cardId": "VCENTCRM0002224829",
"cardPassWord": "123321a",
"pageIndex": 1,
"pageCount": 20,
"multiBodyCode": "company001",
"multiBodyName": "张江店",
"bodyStatus": "0",
"invoiceNo": "",
"invoiceName": ""
}
返回参数说明
参数名参数类型备注
codecode状态码
200 成功!
500 应用程序繁忙,请稍后再试!
521 企业V卡号或者验证码错误!
messageString响应消息
contentPagingResult< CompanyMultiBodyDTO>多主体分页数据
PagingResult:
参数名参数类型备注
pageIndexInteger当前页
pageCountInteger页行数
totalPagesInteger总页数
totalRowsInteger总行数
rowsList< CompanyMultiBodyDTO>多主体信息
CompanyMultiBodyDTO:
参数名参数类型备注
cardMultiBodyStatusString主体数量:
0未开启
1单主体
1以上多主体
companyBodyCodeString企业主体code
companyBodyNameString企业主体名称
invoiceNameString发票抬头
invoiceNoString发票税号
invoiceTypeString发票类型:
P普票
V专票
registerAddressString企业地址
registerTelephoneString企业电话
bankDepositString开户银行
bankCardNoString开户行账号
hasEnabledString是否启用:
1(启用)
0(禁用)
isDefaultBodyString是否默认主体:
1(是)
0(否)
isSupportOrderString是否支持下单:
1(是)
0(否)
bodyStatusString主体状态:
0:正常
1:异常-发票未配置
2:异常-禁止下单
3:异常-停用
bodyStatusDescString主体状态描述

返回参数示例

{
"code": "200",
"message": "string",
"content": {
"pageIndex": 1,
"pageCount": 20,
"totalPages": 3,
"totalRows": 60,
"rows": [
{
"cardMultiBodyStatus": "3",
"companyBodyCode": "compnay001",
"companyBodyName": "企业主体名称",
"invoiceName": "XXX企业",
"invoiceNo": "xxxxxxx",
"invoiceType": "P",
"registerAddress": "xx市xx路",
"registerTelephone": "135xxxx9824",
"bankDeposit": "工商银行",
"bankCardNo": "321829374324321",
"hasEnabled": 1,
"isDefaultBody": 1,
"isSupportOrder": 1,
"bodyStatus": 0,
"bodyStatusDesc": "这是一个描述"
}
]
}
}