[关闭]
@lxx3061313 2018-12-02T14:04:50.000000Z 字数 29250 阅读 386

酒店分销API文档

未分类


酒店分销API文档

1. 【快速接入】

1.1 接入流程

第三方渠道通过API接入商企通-分销平台-酒店分销服务时

接口交互流程如下:

  1. 首先查询酒店id列表, 并调用酒店详情获取酒店静态信息并落库, 进行酒店匹配
  2. 调用酒店产品列表获取各个酒店下的产品信息(预定规则、取消规则、早餐信息、价格等)并落库
  3. 当用户选择某个酒店下的某个产品进行预定时, 调用下单前校验接口, 确认是否可预订(避免第三方渠道落地信息, 如房态、价格等和分销平台不一致)
  4. 确认产品可预订时, 用户在第三方渠道下单并支付后, 调用预约下单进行预定(请确保第三方渠道在分销平台的账户余额充足, 避免资金不足下单失败), 分销平台返回美团订单号供第三方记录
  5. 商家确认订单、用户入住等均会通过订单状态变更接口进行推送
  6. 满足取消规则的情况下, 可以调用取消订单接口进行退款

1.2 请求说明

商企通分销平台API接口为基于HTTP协议、RESTful风格的标准API接口,请求的编码方式为UTF-8编码,请求地址为:http://fenxiao.meituan.com/opdtor/api (正式环境)。

每个请求都需要指定公共请求参数和业务请求参数。公共请求参数为每个向平台发起的请求都需包含的参数,业务请求参数与特定接口相关。

公共请求参数

名称 类型 说明
method String 接口名称,如:hotel.poi.list
version String 分销平台API版本号,目前版本号为1.0
timestamp Long 10位时间戳。若请求发起时间与平台服务端接受请求的时间相差过大,平台将直接拒绝本次请求
nonce Integer 随机32位正整数。与timestamp联合使用以防止重放攻击
partnerId Integer 平台分配给第三方渠道的分销业务ID
accesskey String 平台分配给第三方渠道的安全凭证公钥
signature String 用于验证此次请求合法性的签名(签名方法见下文)

业务请求参数

名称 类型 说明
data String 取值与具体请求接口相关,格式为JSON体的字符串形式。如hotel.poi.list请求的data值可以为"{\"maxId\":0,\"pageSize\":2}"

1.3 响应说明

名称 类型 说明
code Integer 接口返回码(详见下文code映射表)
message String code详细信息
partnerId Integer 分销业务ID
result JSON Object 请求响应数据, 不同请求返回的结构不同

code映射表

code值 含义 说明
0 请求成功 平台已接收请求并返回处理结果
1000 参数错误 可能为如下情况:
1. 请求参数缺失;
2. 请求参数不合法;
3. 请求中的timestamp参数值与分销平台服务端接受请求的时间相差过大
1100 鉴权失败 可能为如下情况:
1. 请求的签名鉴权失败;
2. 请求被判定为重放攻击;
3. 该账号无权访问此次请求的接口, 例如渠道仅开通了门票分销业务, 无权调用酒店分销接口
1200 超过配额 可能为如下情况:
1. 此次请求的接口请求次数超过了配额;
2. 此次请求的接口请求频率超过了限制。
3. 各个接口的每日请求配额和请求频率阈值不满足业务需求时, 请联系分销平台相关对接人员进行沟通调整。
1300 黑名单 请求的产品被加入黑名单,禁止访问。此时建议第三方渠道将相关产品下架。
2000 系统异常 分销平台处理请求时出现系统异常。

1.4 签名方法

接入测试时,需要联系商企通-分销平台商务同学,申请获取partnerId、accessKey、secretKey。
其中partnerId和accessKey填充到公共请求参数中,
通过secretKey对请求参数进行加密,作为signature。

假设分配得到的参数如下:

名称 取值
partnerId 171
accesskey 83dc18c7bf0e37fda2559a5f2f0e28eb
secretkey 901a2004ef7903627fdc6a2b8016f164

下面以调用查询酒店id列表接口为例, 详细描述计算签名的步骤:

1.4.1 查询酒店id列表签名示例

1、参数排序

将请求参数依据参数名称(全部转化为小写)的字典序进行升序排列。参与排序的请求参数包括除signature以外的所有公共请求参数和业务请求参数。若业务请求参数对应的数据为空值或null,则业务请求参数无需参与排序。业务请求参数的数据为JSON对象时,需要将其转化为字符串再参与排序和签名计算。

查询酒店id列表业务请求参数

  1. {
  2. "maxId":0,
  3. "pageSize":2
  4. }

完整的请求参数

名称 取值 含义
method hotel.poi.list 请求业务方法名
version 1.0 分销开放平台API版本号
timestamp 1472027309 发起请求时的时间戳
nonce 547 随机整数
partnerId 171 合作商ID
accesskey 83dc18c7bf0e37fda2559a5f2f0e28eb 安全凭证公钥
data {"maxId":0,"pageSize":2} 业务请求参数
signature 待计算 签名值

则排序后的结果为

  1. {
  2. "accesskey" : "83dc18c7bf0e37fda2559a5f2f0e28eb",
  3. "data" : "{\"maxId\":0,\"pageSize\":2}",
  4. "method" : "hotel.poi.list",
  5. "nonce" : 547,
  6. "partnerId" : 171,
  7. "timestamp" : 1472027309,
  8. "version" : "1.0"
  9. }

2、参数拼接

将排序后的请求参数依照参数名=参数值的形式格式化,然后将各个参数依序用&符号拼接在一起,得到待签名字符串plainText

  1. accesskey=83dc18c7bf0e37fda2559a5f2f0e28eb&data={"maxId":0,"pageSize":2}&method=hotel.poi.list&nonce=547&partnerId=171&timestamp=1472027309&version=1.0

3、生成签名

使用HMAC-SHA1算法对plainText进行加密,再使用Base64对加密后的字节流进行编码,即得到了最终签名signature

  1. signature=base64_encode(hash_hmac('sha1', $plainText, $secretkey, true));

4、构造请求参数

设置Content-Typeapplication/json; charset=utf-8, Acceptapplication/json

  1. curl -v -X POST "http://fenxiao.meituan.com/opdtor/api" -H "Accept: application/json" -H "Content-Type: application/json; charset=utf-8" -d '{"nonce":1216045893,"timestamp":1519745994,"accesskey":"83dc18c7bf0e37fda2559a5f2f0e28eb","version":"1.0","partnerId":171,"signature":"CwiHO26X5cenPgN737JmpRs1XQA=","data":"{\"maxId\":0,\"pageSize\":2}","method":"hotel.poi.list"}'

1.5 测试说明

第三方渠道接入商企通分销平台时,需要联系我们获取测试账号和线上账号信息,测试账号只能用于测试环境,在测试环境测试验证没有问题后,
可以在线上进行功能验证,线上有专用测试酒店,请联系我们获取。禁止在线上环境,随意挑选酒店测试,否者产生的费用将由第三方承担。

2. 【供给接口】

2.1 查询酒店id列表 (hotel.poi.list)

2.1.1 接口说明

名称 描述
功能 获取可分销的酒店ID列表
HTTP方法 POST
请求方 第三方渠道
响应方 商企通分销平台
method hotel.poi.list

2.1.2 业务请求参数

名称 类型 是否必填 示例 说明
maxId Long 0 查询上一页时返回的maxId标记值, 查询第一页时该值为0
pageSize Integer 10 每页酒店个数,取值范围[1,1000]

2.1.3 业务响应

名称 类型 是否非空 说明
maxId Long maxId标记值,用于下一页查询。当maxId为-1时,表示已经查询到最后一页
hotelIds Array<Long> 可分销的酒店ID列表

2.1.4 响应示例

  1. {
  2. "code": 0,
  3. "message": "成功",
  4. "partnerId": 3,
  5. "result": {
  6. "maxId": 10088,
  7. "hotelIds": [
  8. 52786813,158377068
  9. ]
  10. }
  11. }

2.2 查询酒店详情 (hotel.detail)

2.2.1 接口说明

名称 描述
功能 查询酒店静态信息
HTTP方法 POST
请求方 第三方渠道
响应方 商企通分销平台
method hotel.detail

2.2.2 业务请求参数

名称 类型 是否必填 示例 说明
hotelIds Array<Long> [52786813] 需要查询酒店详情的酒店ID列表,一次最多查询20个
strategy Integer 15 查询策略:
1 基础信息
2 扩展信息
4 房型信息
8 图片信息
策略值可进行加和以查询多项信息 如:
5 查询基础信息和图片信息
15 查询全部信息

2.2.3 业务响应

名称 类型 是否非空 说明
hotelDetails Array<HotelDetail> 酒店详情数据
2.2.3.1 酒店详情HotelDetail结构
名称 类型 是否非空 说明
baseInfo HotelBaseInfo 酒店基本信息。
extendInfo HotelExtendInfo 酒店扩展信息。
roomInfos Array<RoomInfo> 酒店房型信息。
poiImages Array<PoiImage> 酒店图片信息。
hotelId Long 酒店ID。
2.2.3.2 酒店基本信息HotelBaseInfo结构
名称 类型 是否非空 说明
hotelId Long 酒店ID。
pointName String 酒店名称。
info String 酒店描述信息。
longitude Integer 高德经度,取值为实际经度值*10的6次方取整。
latitude Integer 高德纬度,取值为实际纬度值*10的6次方取整。
address String 酒店地址。
cityName String 酒店所在城市名,如“上海市”。
cityLocationId Integer 城市ID与城市名、城市行政区ID与行政区名的映射关系列表请联系分销平台获取。
locationName String 酒店所在城市行政区名,如“松江区”。
locationId Integer 城市行政区ID。
bareaName String 酒店所在商圈名。
avgScore Integer 用户评分,10分制,取值为实际值*10。如用户评分为4.2分,则avgScore=42。
phone String 酒店联系电话。
openInfo String 酒店填写的营业时间,无固定格式,如取值可以为“24小时”。
poiSubways String 附近地铁信息。废弃
closeStatus Integer 酒店营业状态:
0 营业中
1 已关门
2 筹建中
3 暂停营业
frontImage String 首图信息,取值为图片的URL地址。
2.2.3.3 酒店扩展信息HotelExtendInfo结构
名称 类型 是否非空 说明
hotelFacilities Map<Integer, String> 酒店设施,key表示酒店设施ID(ID对应设施参看酒店设施),value="0"表示不提供该设施;value="1"表示提供该设施。
hotelService Map<Integer, String> 酒店服务,key表示酒店服务ID(ID对应服务参看酒店服务),value="0"表示不提供该服务;value="1"表示提供该服务。
poiExtInfo PoiExtInfo 酒店门店扩展信息。
2.2.3.4 酒店门店扩展信息PoiExtInfo结构
名称 类型 是否非空 说明
hotelId Long 酒店ID。
openDate String 开业时间,格式为yyyy/MMyyyy/MM/dd
decorationDate String 装修时间,格式为yyyy/MMyyyy/MM/dd
roomNum Integer 酒店房间总数。
floorNum Integer 酒店楼层高度。
hotelStar Integer 酒店星级:
0 国家旅游局颁布五星级证书
1 豪华(按五星级标准建造)
2 国家旅游局颁布四星级证书
3 高档(按四星级标准建造)
4 国家旅游局颁布三星级证书
5 舒适型(按三星级标准建造)
6 经济型
7 低档
poiType String 酒店类型:
0 经济型
1 快捷酒店
2 商务酒店
3 主题酒店
4 情侣酒店
5 公寓
6 客栈
7 民宿
8 青年旅社
9 农家院
10 家庭旅馆
11 招待所
12 度假酒店
13 别墅
最多可同时包含两项酒店类型,两项间以半角逗号分隔,如"9,10"表示该酒店即是农家院又是家庭旅馆。
themeTag String 酒店主题标签:
0 购物便捷
1 培训学习
2 蜜月出行
3 休闲情调
4 交通便利
5 离医院近
6 商旅之家
7 四合院
8 园林庭院
9 安静优雅
10 特色建筑
11 周边美景
12 家有萌宠
13 文艺范儿
14 观景露台
15 古色古香
最多可同时包含三项酒店主题标签,各项间以半角逗号分隔,如"9,13,15"表示该酒店安静优雅又有文艺范儿,还古色古香。
checkinTimeBegin String 登记入住开始时间,格式为HH:mm,取值范围为[06:00, 23:30],半小时为一个取值点,如"06:00"、"06:30"。
checkinTimeEnd String 登记入住截止时间,checkinTimeEnd="0"表示登记入住没有截止时间。非0值则格式为HH:mm,取值范围为[14:30, 23:59],半小时为一个取值点,如"14:30"、"15:00"。当天的最后半个小时特殊处理,表示为"23:59"。
checkoutTime String 离店时间,checkoutTime="0"表示固定小时制离店,即入住checkOutTimeHours小时之后离店;非0值则格式为HH:mm,取值范围为[06:00, 23:59],半小时为一个取值点,如"14:30"、"15:00"。当天的最后半个小时特殊处理,表示为"23:59"。
checkoutTimeHours Float 当checkoutTime="0"时必填,精度为一位小数,如checkoutTimeHours=6.5表示入住6个半小时后离店。
2.2.3.5 房型信息RoomInfo结构
名称 类型 是否非空 说明
roomBaseInfo RoomBaseInfo 房型基本信息。
roomExtendInfo RoomExtendInfo 房型扩展信息。
roomBedInfos Array<RoomBedInfo> 床型基本信息。
2.2.3.6 房型基本信息RoomBaseInfo结构
名称 类型 是否非空 说明
roomId Integer 房型ID。
hotelId Long 酒店ID。
roomType Integer 房型类型:
0 大床间(单间)
1 单人间(单间)
2 双床间(单间)
3 三人间(单间)
4 套房
5 独栋
6 床位房
roomName String 房型名称, 可能为空, 名称非常多样。
roomDesc String 房间特色描述文案,多个文案间以半角逗号分隔,如"刘德华住过的房间,隔音效果佳"。
useableArea String 房间可用面积。
capacity String 房间最大容纳人数。
window Integer 房间窗户情况:
0 有窗
1 部分有窗
2 无窗
windowView String 窗景描述。
windowBad String 窗户不利因素:
0 朝向走廊
1 装饰性假窗
2 天窗
3 窗户较小
4 窗外是墙体
extraBed Integer 加床情况:
0 不可加床
1 可以加床
floor String 房间所在楼层,如"2"、"2-3"
internetWay Integer 房间上网方式:
0 无法上网
1 无线WIFI
2 有线宽带
3 无线WIFI和有线宽带
weekdayPrice Integer 平日参考价,单位为分。
weekendPrice Integer 周末参考价,单位为分。
status Integer 房型状态:
0 无效
1 有效
2.2.3.7 房型扩展信息RoomExtendInfo结构
名称 类型 是否非空 说明
roomFacilities Map<Integer, String> 房间设施,key表示房间设施ID(ID对应设施参看房间设施),value="0"表示不提供该设施;value="1"表示提供该设施。
2.2.3.8 床型信息RoomBedInfo结构
名称 类型 是否非空 说明
roomId Integer 房型ID。
bedType String 床型类型,如"超级大床"、"大床"等(附录给出了一些参考值)。
bedDesc String 床型描述,如"1.5x2.0米"、"1.8x2.0米"等(附录给出了一些参考值)。
bedCount Integer 床数。
2.2.3.9 酒店图片PoiImage结构
名称 类型 是否非空 说明
typeId Integer 图片类型, 1:环境,9:客房,19:配套设施,32:大厅,34:外观,10:其他
typeName String 图片类型名称,如"客房"、"外观"、"公共设施"、"大厅"、"其他"等。
imgDesc String 图片描述。
url String 图片URL地址。
roomId Integer typeId=9时非空,标示本图片对应的房型ID

2.2.4 响应示例

  1. {
  2. "code": 0,
  3. "message": "成功",
  4. "partnerId": 666,
  5. "result": {
  6. "hotelDetails": [
  7. {
  8. "baseInfo": {
  9. "hotelId": 2,
  10. "pointName": "鑫意时尚宾馆",
  11. "info": "鑫意时尚宾馆坐落于中山亭商圈,往西100米即是湘江沿江风光带,往南100米即是五一广场商圈,交通便利,装修精致温馨,共有标间,商务间,麻浆麻,情侣圆床等60余间。",
  12. "longitude": 112973920,
  13. "latitude": 28200817,
  14. "address": "中山路366号(中山亭往西150米)",
  15. "cityName": "长沙市",
  16. "locationName": "开福区",
  17. "bareaName": "开福万达广场",
  18. "locationId": 430105,
  19. "cityLocationId": 430100,
  20. "avgScore": 45,
  21. "phone": "0731-85635666",
  22. "openInfo": "24小时",
  23. "poiSubways": "com.sankuai.meituan.poiop.remote.vo.PoiSubwayView@207a23f0",
  24. "closeStatus": 0,
  25. "frontImage": "http://p1.meituan.net/deal/__9351348__6272478.jpg"
  26. },
  27. "extendInfo": {
  28. "hotelFacilities": {
  29. "101018":"0",
  30. "101023":"0",
  31. "101097":"1"
  32. },
  33. "hotelService": {
  34. "101007": "1",
  35. "101038": "1",
  36. "101045": "1",
  37. "101128": "0",
  38. "101135": "0"
  39. },
  40. "poiExtInfo": {
  41. "hotelId": 2,
  42. "openDate": "2013/01",
  43. "decorationDate": null,
  44. "roomNum": 65,
  45. "floorNum": null,
  46. "hotelStar": 6,
  47. "foregiftType": 1,
  48. "foregift": 20000,
  49. "poiType": null,
  50. "themeTag": null,
  51. "checkinTimeBegin": "14:00",
  52. "checkinTimeEnd": "0",
  53. "checkoutTime": "12:00",
  54. "checkoutTimeHours": 0
  55. }
  56. },
  57. "roomInfos": [
  58. {
  59. "roomBaseInfo": {
  60. "roomId": 23,
  61. "hotelId": 2,
  62. "roomType": 0,
  63. "roomName": "套房2",
  64. "roomDesc": "",
  65. "useableArea": "",
  66. "capacity": "",
  67. "window": 0,
  68. "windowView": "",
  69. "windowBad": "",
  70. "extraBed": 0,
  71. "floor": "",
  72. "internetWay": 2,
  73. "weekdayPrice": 20600,
  74. "weekendPrice": 20600,
  75. "status": 1
  76. },
  77. "roomExtendInfo": {
  78. "roomFacilities": {
  79. "101111": "2",
  80. "101113": "1",
  81. "101125": "1",
  82. "101126": "1"
  83. }
  84. },
  85. "roomBedInfos": [
  86. {
  87. "roomId": 23,
  88. "bedType": "大床",
  89. "bedDesc": "1.8×2.0米",
  90. "bedCount": 1
  91. }
  92. ]
  93. }
  94. ],
  95. "poiImages": [
  96. {
  97. typeId: 9,
  98. typeName: "客房",
  99. imgDesc: "客房",
  100. url: "http://p0.meituan.net/hotel/dc126d5e7aaba5a97003e1908daae75b3578683.jpg",
  101. roomId: 168295
  102. },
  103. {
  104. typeId: 19,
  105. typeName: "配套设施",
  106. imgDesc: "公共设施",
  107. url: "http://p0.meituan.net/deal/__17142481__3368934.jpg",
  108. roomId: null
  109. }
  110. ]
  111. }
  112. ]
  113. }
  114. }

2.3 查询酒店下产品列表 (hotel.goods.rp)

2.3.1 接口说明

名称 描述
功能
指定酒店ID, 查询该酒店下所有产品详细信息列表, 包括产品对应房型
基本信息、取消规则、预订规则、服务条款、使用规则、价格信息等
HTTP方法 POST
请求方 第三方渠道
响应方 商企通分销平台
method hotel.goods.rp

2.3.2 业务请求参数

名称 类型 是否必填 示例 说明
hotelIds Array<Long> [52786813] 请求查询的酒店ID列表,一次最多查询10个
checkinDate String 2017-02-07 入住日期,格式为yyyy-MM-dd,不能早于当前日期。
checkoutDate String 2017-02-08 离店日期,格式为yyyy-MM-dd,与当前日期相差不能超过30天。
goodsType Integer 1 产品类型:
1 全日房
2 钟点房 (目前不开放)

2.3.3 业务响应

名称 类型 是否非空 说明
hotelGoods Array<HotelGoods> 酒店产品详细信息列表。
2.3.3.1 酒店产品列表HotelGoods结构
名称 类型 是否非空 说明
hotelId Long 酒店ID。
goods Array<GoodsInfo> 酒店产品信息列表。
2.3.3.2 酒店产品信息GoodsInfo结构
名称 类型 是否非空 说明
hotelId Long 酒店ID。
goodsId Long 产品ID。
goodsName String 产品名称。
needRealTel Integer 是否需要用户真实手机号
0 不需要
1 需要
goodsStatus Integer 房态:
0 满房
1 可预订
2 不可预订
3 不展示
goodsType Integer 产品类型:
1 全日房
2 钟点房
confirmType Integer 确认类型:
0 不支持即时确认
1 支持即时确认
invRemain Integer 库存情况:
0 无库存
1 有库存
averagePrice Integer 平均价格,单位为分。
originalPrice Integer 市场价格,单位为分。
breakfast Array<Breakfast> 早餐说明。
roomInfoList Array<GoodsRoomInfo> 产品房型信息列表, 每个产品只对应1个房间信息
cancelRules Array<CancelRule> 取消规则。
gifts Array<Gift> 礼包信息。
bookRules Array<BookRule> 预订规则。
invoiceInfo InvoiceInfo 发票信息。
priceModels Array<PriceModel> 产品价格信息列表。
goodsActivityMap Map<String,Integer> 特殊活动标记,值为1表示活动有效,值为2表示活动无效。
lastMinute 今夜特惠
timeLimitedSpecial 限时特惠
holidaySpecial 假日特惠
goodsStatuses Array<DayGoodsStatus> 房态列表。 数量和checkinDate、checkoutDate范围对应 废弃
hourRoomReceptionTime Array<ReceptionTime> 钟点房商家接待时段,空值表示全时段接待 废弃
timeIntervalMin Integer 钟点房时间粒度,单位为分钟,废弃
timeLimitMin Integer 钟点房时长限制,单位为分钟,废弃
2.3.3.3 早餐说明Breakfast结构
名称 类型 是否非空 说明
breakfastType Integer 早餐类型:
0 不含早餐
1 含有breakfastNum份免费早餐
2 收费早餐
breakfastNum Integer 免费早餐数,breakfastType=1时非空。
inStartDate Integer 早餐规则生效开始日期,0表示默认生效规则
inEndDate Integer 早餐规则生效结束日期,0表示默认生效规则
2.3.3.4 产品房型信息GoodsRoomInfo结构
名称 类型 是否非空 说明
roomId Integer 房型ID。
roomName String 房型名称。
cityId Integer 城市ID。
2.3.3.5 产品取消规则cancelCheckRule结构
名称 类型 是否非空 说明
cancelType Integer 取消规则:
0 不可取消
1 可以取消
aheadCancelDays Integer 提前取消天数,aheadCancelDays=0表示入住当日取消。
deductType Integer 提前取消时间类型:
0 时间
1 时间量
aheadCancelHours String 提前取消的时间值或时间量值
deductType=0 格式为"HH:mm:ss", 例如: deductType=0,aheadCancelDays=0,aheadCancelHours="18:00:00",表示入住日18:00前可以取消;
deductType=1 格式为"数字", 例如: deductType=1,aheadCancelDays=0,aheadCancelHours=4表示入住日20:00前可以取消(提前4小时即24 - 4 = 20:00点)。
2.3.3.6 产品礼包Gift结构
名称 类型 是否非空 说明
giveType Integer 赠送方式:
3 只赠送一次
4 每天赠送一次
giftName String 礼包名称。
giftDesc String 礼包详情。
giftPrice Integer 礼包市场价格,单位为分。
availableDateType Integer 礼包生效规则:
0 长期有效
1 预订期间
2 入住期间
3 预订和入住期间
availableDate Array<GiftDate> 可领取礼包时间段。
2.3.3.7 预订规则BookRule结构
名称 类型 是否非空 说明
serialCheckinMin Integer 连续入住最少天数,0表示不限制。
serialCheckinMax Integer 连续入住最多天数,0表示不限制。
roomCountMin Integer 最少预订间数,0表示不限制。
roomCountMax Integer 最多预订间数,0表示不限制。
earliestBookingDays Integer 最早预订天数,空值表示不限制
earliestBookingHours String 最早预订时间,格式为HH:mm:ss, 空值表示不限制
latestBookingDays Integer 最晚预订天数,可能取值-1,0,正数。其中-1表示支持凌晨预定,例如:04-19号入住,latestBookingHours=“06:00:00“,则表示最晚在04-20号凌晨6点前可预定。
latestBookingHours String 最晚预订时间,格式为HH:mm:ss, 空值表示不限制
isDaybreakBooking Integer 是否支持凌晨预定
1 支持,
0 不支持
2.3.3.8 可领取礼包时间段GiftDate结构
名称 类型 是否非空 说明
startDate String 领取礼包开始日期,格式为yyyy-MM-dd
endDate String 领取礼包结束日期,格式为yyyy-MM-dd
2.3.3.9 发票信息InvoiceInfo结构
名称 类型 是否非空 说明
invoiceMode Integer 发票模式:
1 佣金模式 酒店开具发票,可显示文案为:"如需发票,请向酒店前台索取"
2 底价模式 美团开具发票
3 第三方开具发票
supportTypes Array<InvoiceType> 发票类型信息,invoiceMode=2时非空
如果需要美团开具发票,在下单时需要填写收取发票信息
2.3.3.10 发票类型信息InvoiceType结构
名称 类型 是否非空 说明
type Integer 发票类型:
2 增值税普通发票(纸质)
3 增值税电子发票(电子)(开具后发送至邮箱)
4 增值税专用发票(纸质)
postage Integer 发票邮寄金额,单位为分
2.3.3.11 酒店每日房态DayGoodsStatus结构
名称 类型 是否非空 说明
date String 日期,yyyy-MM-dd格式
status Integer 产品状态:
0 满房
1 可预订
2 不可预订
3 不展示
2.3.3.12 钟点房商家接待时段HourRoomReceptionTime结构 废弃
名称 类型 是否非空 说明
startTime String 接待开始时间,格式为HH:mm:ss
endTime String 接待结束时间,格式为HH:mm:ss

2.3.4 响应示例

业务请求参数:

  1. {
  2. "hotelIds": [123, 456],
  3. "checkinDate": "2016-09-02",
  4. "checkoutDate": "2016-09-30",
  5. "goodsType": 1
  6. }

转化为字符串:

  1. data="{\"hotelIds\":[123,456],\"checkinDate\":\"2016-09-02\",\"checkoutDate\":\"2016-09-30\",\"goodsType\":1}"

响应数据:

  1. {
  2. "code":0,
  3. "message":"成功",
  4. "partnerId":111,
  5. "result":{
  6. "hotelGoods":[
  7. {
  8. "hotelId":52786813,
  9. "goods":[
  10. {
  11. "hotelId":52786813,
  12. "goodsId":3870293,
  13. "goodsName":"时尚大床房0913-不含早-入住日18点前可取消",
  14. "goodsStatus":1,
  15. "goodsType":1,
  16. "needRealTel":0,
  17. "confirmType":0,
  18. "invRemain":1,
  19. "averagePrice":30000,
  20. "originalPrice":0,
  21. "breakfast":[
  22. {
  23. "breakfastType":0,
  24. "breakfastNum":0,
  25. "inStartDate":0,
  26. "inEndDate":0
  27. },
  28. {
  29. "breakfastType":0,
  30. "breakfastNum":0,
  31. "inStartDate":20180529,
  32. "inEndDate":20180610
  33. }
  34. ],
  35. "roomInfoList":[
  36. {
  37. "roomId":1212802,
  38. "roomName":"时尚大床房0913",
  39. "cityId":8000
  40. }
  41. ],
  42. "cancelRules":[
  43. {
  44. "cancelType":1,
  45. "aheadCancelDays":0,
  46. "deductType":0,
  47. "aheadCancelHours":"18:00:00"
  48. }
  49. ],
  50. "gifts":[
  51. {
  52. "giveType":3,
  53. "giftName":"套套",
  54. "giftDesc":"只能使用一次",
  55. "giftPrice":3300,
  56. "availableDateType":3,
  57. "availableDate":[
  58. {
  59. "startDate":"2016-09-02",
  60. "endDate":"2016-09-08"
  61. }
  62. ]
  63. }
  64. ],
  65. "bookRules":[
  66. {
  67. "serialCheckinMin":0,
  68. "serialCheckinMax":0,
  69. "roomCountMin":0,
  70. "roomCountMax":0,
  71. "earliestBookingDays":-1,
  72. "earliestBookingHours":null,
  73. "latestBookingDays":6,
  74. "latestBookingHours":"23:59:00",
  75. "isDaybreakBooking":1
  76. }
  77. ],
  78. "priceModels":[
  79. {
  80. "date":"2018-03-08",
  81. "salePrice":30000,
  82. "subPrice":1200,
  83. "subRatio":400,
  84. "dayType":0
  85. }
  86. ],
  87. "invoiceInfo":{
  88. "invoiceMode":2,
  89. "supportTypes":[
  90. {
  91. "type":3,
  92. "postage":0
  93. },
  94. {
  95. "type":2,
  96. "postage":1000
  97. }
  98. ]
  99. },
  100. "goodsActivityMap":{
  101. "lastMinute":1
  102. }
  103. }
  104. ]
  105. }
  106. ]
  107. }
  108. }

2.4 查询库存信息 (hotel.goods.inventory)

2.4.1 接口说明

名称 描述
功能 通过产品ID和房型ID查询产品的库存情况,只可用于判断是否有库存,不能用于判断是否可预订, 不建议调用
HTTP方法 POST
请求方 第三方渠道
响应方 商企通分销平台
method hotel.goods.inventory

2.4.2 业务请求参数

名称 类型 是否必填 示例 说明
goodsId Long 12345 产品ID。
roomId Integer 45678 房型ID
startDate String 2017-09-01 价格日历开始时间(包含),格式为yyyy-MM-dd
endDate String 2017-09-10 价格日历结束时间(不包含),格式为yyyy-MM-dd

2.4.3 业务响应

名称 类型 是否非空 说明
goodsInventory GoodsInventory 产品库存信息。
2.4.3.1 产品库存信息GoodsInventory结构
名称 类型 是否非空 说明
goodsId Long 产品ID。
roomId Integer 房型ID。
remain Integer 库存情况:
0 无库存
1 有库存

2.4.4 响应示例

业务请求参数:

  1. {
  2. "goodsId": 12345,
  3. "roomId": 123,
  4. "startDate": "2016-09-14",
  5. "endDate": "2016-09-18"
  6. }

转化为字符串:

  1. data="{\"goodsId\":12345,\"roomId\":123,\"startDate\":\"2016-09-14\",\"endDate\":\"2016-09-18\"}"

响应数据:

  1. {
  2. "code": 0,
  3. "message": "成功",
  4. "partnerId": 666,
  5. "result": {
  6. "inventory": {
  7. "goodsId": 12345,
  8. "roomId": 123,
  9. "remain": 1
  10. }
  11. }
  12. }

2.5 查询产品价格日历 (hotel.goods.price)

2.5.1 接口说明

名称 描述
功能 查询给定时间范围内的可获取到的价格信息。例如: startDate=“2016-09-01”,endDate="2016-09-10",商家设置的产品价格日历为["2016-08-07", "2016-09-07"],则返回的产品价格日历区间为["2016-09-01", "2016-09-07"] 注意:hotelIds和goodsIds传一个即可,两个都传优先用hotelIds查询,建议使用hotelIds作为查询条件。
HTTP方法 POST
请求方 第三方渠道
响应方 商企通分销平台
method hotel.goods.price

2.5.2 业务请求参数

名称 类型 是否必填 示例 说明
goodsIds Array<Long> [52786813] 需要查询价格日历的产品ID列表,每次最多查询的产品个数为10个。
hotelIds Array<Long> [182024891] 需要查询价格日历的酒店ID列表,每次最多查询的酒店个数为10个。
startDate String 2017-09-01 价格日历开始时间(包含),格式为yyyy-MM-dd
endDate String 2017-09-10 价格日历结束时间(不包含),格式为yyyy-MM-dd

2.5.3 业务响应

名称 类型 是否非空 说明
goodsPrices Array<GoodsPrice> 产品价格日历列表。
2.5.3.1 产品价格日历GoodsPrice结构
名称 类型 是否非空 说明
hotelIds Long 酒店ID。用goodsid作为查询条件此字段为空
goodsId Long 产品ID。
priceModels Array<PriceModel> 产品价格信息列表。
2.5.3.2 产品价格信息PriceModel结构
名称 类型 是否非空 说明
date String 日期,格式为yyyy-MM-dd
salePrice Integer 推荐分销商依此价格进行售卖(售卖价),单位为分。
subPrice Integer 给分销商的佣金,单位为分。
subRatio Integer 分销平台与分销商约定的佣金比率,取值为实际值乘以10000的结果。如佣金比率为4%,则subRatio=400。
dayType Integer 价日类型:
0 平日
1 周末
2 特殊日

2.5.4 响应示例

业务请求参数:

  1. {
  2. "goodsIds": [1234761091],
  3. "startDate": "2017-09-01",
  4. "endDate": "2017-09-10"
  5. }

转化为字符串:

  1. data="{\"goodsIds\":[1234761091],\"startDate\":\"2017-09-01\",\"endDate\":\"2017-09-10\"}"

响应数据:

  1. {
  2. "code": 0,
  3. "message": "成功",
  4. "partnerId": 666,
  5. "result": {
  6. "goodsPrices": [
  7. {
  8. "goodsId": 1234761091,
  9. "priceModels": [
  10. {
  11. "date": "2016-09-01",
  12. "salePrice": 20000,
  13. "subPrice": 500,
  14. "subRatio": 400,
  15. "dayType": 0
  16. },
  17. ...
  18. {
  19. "date": "2016-09-09",
  20. "salePrice": 20000,
  21. "subPrice": 500,
  22. "subRatio": 400,
  23. "dayType": 0
  24. }
  25. ]
  26. }
  27. ]
  28. }
  29. }

2.6 查询产品实时房态 (hotel.goods.status)

2.6.1 接口说明

名称 描述
功能 通过给定的酒店ID查询酒店可分销产品的实时信息,包括产品是否可售卖和平均价格
HTTP方法 POST
请求方 第三方渠道
响应方 商企通分销平台
method hotel.goods.status

2.6.2 业务请求参数

名称 类型 是否必填 示例 说明
hotelId Long 1234567 酒店ID。
checkinDate String 2017-01-11 入住日期,格式为yyyy-MM-dd,最早入住日期为当前日期。
checkoutDate String 2017-01-12 离店日期,格式为yyyy-MM-dd,与当前日期相差不能超过31天。
goodsType Integer 1 产品类型:
1 全日房
2 钟点房

2.6.3 业务响应

名称 类型 是否非空 说明
hotelId Long 酒店ID。
goodsStatuses Array<GoodsStatus> 产品状态列表。
2.6.3.1 酒店产品状态GoodsStatus结构
名称 类型 是否非空 说明
goodsId Long 产品ID。
status Integer 产品状态:
0 满房
1 可预订
2 不可预订
3 不展示
goodsStatuses Array<DayGoodsStatus> 房态列表。 数量和checkinDate、checkoutDate范围对应

2.6.4 响应示例

业务请求参数:

  1. {
  2. "hotelId": 52786813,
  3. "checkinDate": "2017-01-11",
  4. "checkoutDate": "2017-01-12",
  5. "goodsType": 1
  6. }

转化为字符串:

  1. data="{\"hotelId\": 52786813,\"checkinDate\": \"2017-01-11\",\"checkoutDate\": \"2017-01-12\",\"goodsType\": 1}"

响应数据:

  1. {
  2. "code":0,
  3. "message":"成功",
  4. "partnerId":666,
  5. "result":{
  6. "hotelId":52786813,
  7. "goodsStatuses":[
  8. {
  9. "goodsId":3870293,
  10. "status":1,
  11. "goodsStatuses":[
  12. {
  13. "date":"2018-03-08",
  14. "status":1
  15. },
  16. {
  17. "date":"2018-03-09",
  18. "status":1
  19. }
  20. ]
  21. }
  22. ]
  23. }
  24. }

3. 【交易接口】

3.1 下单前校验 (hotel.order.check)

3.1.1 接口说明

名称 描述
功能 分销商下单前调用此接口进行是否可预订校验、库存校验,校验成功时会返回最新价格。
HTTP方法 POST
请求方 第三方渠道
响应方 商企通分销平台
method hotel.order.check

3.1.2 业务请求参数

名称 类型 是否必填 说明
hotelId Integer 分销平台酒店ID。
goodsId Long 分销平台产品ID。
checkinDate String 入住日期,格式为yyyy-MM-dd
checkoutDate String 离店日期,格式为yyyy-MM-dd
roomNum Integer 预订间数。

3.1.3 业务响应

名称 类型 是否非空 说明
code Integer 校验结果码:
0 校验成功
1 校验失败
2 黑名单酒店
3 房态不满足预订
4 三方产品不可售
5 产品不存在
6 产库存不足
desc String 校验失败原因描述
priceModels Array<PriceModel> 最新价格信息列表,校验成功会返回

3.1.4 响应示例

业务请求参数:

  1. {
  2. "hotelId": 888,
  3. "goodsId": 654321,
  4. "checkInDate": "2016-10-01",
  5. "checkOutDate": "2016-10-02",
  6. "roomNum": 1,
  7. }

转化为字符串:

  1. data="{\"hotelId\":888,\"goodsId\":654321,\"checkInDate\":\"2016-10-01\",\"checkOutDate\":\"2016-10-02\",\"roomNum\":1,}"

响应数据:

  1. {
  2. "code": 0,
  3. "message": "成功",
  4. "partnerId": 666,
  5. "result": {
  6. "code":0,
  7. "desc":"校验成功",
  8. "priceModels": [
  9. {
  10. "date": "2016-10-01",
  11. "salePrice": 20000,
  12. "subPrice": 500,
  13. "subRatio": 400,
  14. "dayType": 0
  15. }
  16. ]
  17. }
  18. }

3.2 预约下单 (hotel.order.booking)

3.2.1 接口说明

名称 描述
功能 进行下单预定酒店
HTTP方法 POST
请求方 第三方渠道
响应方 商企通分销平台
method hotel.order.booking

注意:

  1. 调用预约下单接口前,分销商需要对用户提交的下单数据进行校验。校验通过后分销商再调用分销平台的预约下单接口
  2. 当出现请求超时、网络异常、返回异常字符等情况时,分销商可重新调用预约下单接口;
    当分销平台返回明确的响应数据时,分销商根据响应数据中的code值决定是否需要重新调用预约下单接口。
    对预约下单请求进行重试时,请求参数中的distributorOrderId值必须保持一致
  3. 预约下单请求成功后,分销商需要保存分销平台订单号
  4. 下单成功不代表酒店房间已预订成功,预订需要酒店商家进行确认
    分销平台将通过4.1 订单状态变更通知接口将商家确认结果通知分销商,
    分销商也可以通过3.4 查询订单接口主动查询订单最新状态进行同步
  5. 分销平台在接收到预约下单请求后会对总价和结算价进行校验
  6. 只有产品发票信息是美团开发票时,并且需要开发票时,才需要填写相应发票信息。

3.2.2 业务请求参数

名称 类型 是否非空 说明
hotelId Long 分销平台酒店ID。
goodsId Long 分销平台产品ID。
personNames String 入住人姓名列表,各姓名间以英文逗号分隔,如"陈振锋,Avril Lavigne"。
contactName String 联系人姓名。
contactPhone String 联系人电话号码。
arriveDate String 最晚到店时间,格式为yyyy-MM-dd HH:mm:ss
checkinDate String 入住日期,格式为yyyy-MM-dd
checkoutDate String 离店日期,格式为yyyy-MM-dd
roomNum Integer 预订间数。
totalPrice Integer 订单总价,单位为分。总价=预订房间数x预定日期内房间单价。例如,4月1日入住,4月3日离店,预定2间房,则总价=2*(4月1日房价+4月2日房价)
settlePrice Integer 结算价,单位为分。结算价=总价 - 分销商佣金
distributorOrderId String 分销商订单ID,非空
comment String 用户预约下单时填写的备注信息。
needInvoice Integer 是否需要美团开发票:
0 不需要
1 需要
invoice Invoice 发票信息,当needInvoice=1时必填。
3.2.2.1 发票信息Invoice结构
名称 类型 是否非空 说明
item Integer 发票项目:
1 房费
2 代订房费
3 代订住宿费
4 旅游费-酒店款
title String 发票抬头,当item=2或3时必需
kind Integer 发票类型:
2 增值税普通发票(纸质)
3 增值税普通发票(电子)
4 增值税专用发票(纸质)
postage Integer 发票邮资,单位为分
contact InvoiceContact 联系信息
company InvoiceCompany 公司信息,当item=4时必需
memo String 备注
3.2.2.2 发票联系信息InvoiceContact结构
名称 类型 是否非空 说明
name String 联系人姓名,Invoice.item=2或4时必需
phone String 联系人手机号
email String 联系人邮箱,Invoice.item=3时必需
province String 省,Invoice.item=2或4时必需
city String 城市,Invoice.item=2或4时必需
region String 区,Invoice.item=2或4时必需
address String 详细地址,Invoice.item=2或4时必需
3.2.2.3 发票公司信息InvoiceCompany结构
名称 类型 是否非空 说明
name String 公司名称
taxId String 公司税号
address String 注册地址
phone String 公司电话
bankDeposit String 开户银行
bankAccount String 银行账号

3.2.3 业务响应

名称 类型 是否非空 说明
distributorOrderId String 分销商订单ID。
mtOrderId Long 分销平台订单ID,预约下单成功时必传。
code Integer 下单结果码:
0 下单成功
1 系统繁忙,请稍后重试
2 产品已变价
3 重复订单, 对应下单失败
4 产品已售完,扣减库存失败
5 账户扣款失败
10 产品被拉黑, 不允许购买
20 其它
desc String 下单失败原因描述。

3.2.4 响应示例

业务请求参数:

  1. {
  2. "hotelId": 888,
  3. "goodsId": 654321,
  4. "personNames": "张三,李四",
  5. "contactName": "张三",
  6. "contactPhone": "13716668888",
  7. "arriveDate": "2016-10-01 18:30:00",
  8. "checkInDate": "2016-10-01",
  9. "checkOutDate": "2016-10-02",
  10. "roomNum": 1,
  11. "totalPrice": 20000,
  12. "settlePrice": 19000,
  13. "distributorOrderId": "vendorOrder001",
  14. "comment": "请安排靠近楼梯的房间"
  15. }

转化为字符串:

  1. data="{\"hotelId\":888,\"goodsId\":654321,\"personNames\":\"张三,李四\",\"contactName\":\"张三\",\"contactPhone\":\"13716668888\",\"arriveDate\":\"2016-10-01 18:30:00\",\"checkInDate\":\"2016-10-01\",\"checkOutDate\":\"2016-10-02\",\"roomNum\":1,\"totalPrice\":20000,\"settlePrice\":19000,\"distributorOrderId\":\"vendorOrder001\",\"comment\":\"请安排靠近楼梯的房间\"}"

响应数据:

  1. {
  2. "code": 0,
  3. "message": "成功",
  4. "partnerId": 666,
  5. "result": {
  6. "distributorOrderId": "vendorOrder001",
  7. "mtOrderId": 123456,
  8. "code":0,
  9. "desc":"成功"
  10. }
  11. }

3.3 取消订单 (hotel.order.cancel)

3.3.1 接口说明

名称 描述
功能 取消订单
HTTP方法 POST
请求方 第三方渠道
响应方 商企通分销平台
method hotel.order.cancel

注意:

  1. 用户申请退款时,分销商调用取消订单接口。取消订单均是即时确认, 不满足取消规则时, 则取消失败
  2. 用户入住后,无法取消。由于特殊原因,如商家原因导致用户需要退款时,需要客服介入,由美团客服操作退款。
  3. 超过规定时间订单仍未确认预定,此时可以调用取消接口,cancelCheck设置为1,
    如果分销平台收到取消请求时,订单已经确认预定,则返回code=10; 如果订单仍未确认, 则订单取消

3.3.2 业务请求参数

名称 类型 是否非空 说明
distributorOrderId String 分销商订单ID。
mtOrderId Long 分销平台订单ID。
cancelReason String 取消原因文案,如“对酒店相关条件不满意”“价格过高”“通过其它途径预订”“行程变更”“已换酒店”“重单”“其它”等。
cancelCheck Integer 取消策略
0 正常取消
1 未确认预定尝试取消

3.3.3 业务响应

名称 类型 是否非空 说明
distributorOrderId String 分销商订单ID。
mtOrderId Long 分销开放平台订单ID。
code Integer 取消订单返回码:
0 取消成功
1 系统繁忙
2 取消失败(超过最晚可取消时间;用户已入住等原因)
3 订单号不存在
4 取消失败,产品不允许取消
10 订单已经确认
20 其它
desc String 取消结果详细描述。

3.3.4 响应示例

业务请求参数:

  1. {
  2. "distributorOrderId": "vendorOrder001",
  3. "mtOrderId": 123456,
  4. "cancelReason": "计划有变",
  5. "cancelCheck": 0
  6. }

转化为字符串:

  1. data="{\"distributorOrderId\":\"vendorOrder001\",\"mtOrderId\":123456,\"cancelReason\":\"计划有变\",\"cancelCheck\":0}"

响应数据:

  1. {
  2. "code": 0,
  3. "message": "成功",
  4. "partnerId": 666,
  5. "result": {
  6. "mtOrderId": 123456,
  7. "distributorOrderId": "vendorOrder001",
  8. "code": 0,
  9. "desc": "取消成功"
  10. }
  11. }

3.4 查询订单 (hotel.order.query)

3.4.1 接口说明

名称 描述
功能 查询订单详情
HTTP方法 POST
请求方 第三方渠道
响应方 商企通分销平台
method hotel.order.query

注意:

  1. 间夜信息说明,roomNights数量=入住天数*房间数量,
    例如用户预订2间房,入住日期是2017-06-11,离店日期是2017-06-13,则间夜roomNights数量为4,其中2个间夜bizDate=2017-06-11,2个间夜bizDate=2017-06-12。
  2. 订单基本信息中订单状态对应整个订单的状态,如果用户入住,则订单状态是:已入住(50)。目前不支持分销商调用接口退部分间夜,需要美团客服和酒店供应商确认才能操作,当订单状态是:已消费退款(40)时,说明存在部分间夜或全部间夜通过美团客服操作退款,已退款间夜payStatus=2050.
  3. 3.

3.4.2 业务请求参数

名称 类型 是否非空 说明
queryParams Array<OrderQueryItem> 查询订单参数。
3.4.2.1 查询订单参数OrderQueryItem结构
名称 类型 是否非空 说明
distributorOrderId String 分销商订单ID。
mtOrderId Long 分销平台订单ID。

3.4.3 请求响应

名称 类型 是否非空 说明
orderInfos Array<OrderInfo> 订单详情列表。
code Integer 查询结果码:
0 查询成功
1 系统繁忙,请稍后重试
2 查询订单号不存在
20 其它
desc String 描述。
3.4.3.1 订单详情OrderInfo结构
名称 类型 是否非空 说明
baseInfo OrderBaseInfo 订单基本信息。
aptInfo OrderAptInfo 预约单信息。
roomNights Array<RoomNightInfo> 间夜信息。
refundInfos Array<OrderRefundInfo> 退款信息
3.4.3.2 订单基本信息OrderBaseInfo结构
名称 类型 是否非空 说明
mtOrderId Long 分销平台订单ID。
goodsId Integer 产品ID。
totalPrice Integer 订单总价,单位为分。
settlePrice Integer 结算价,单位为分。
createTime String 预约下单时间,格式为yyyy-MM-dd HH:mm:ss
orderStatus Integer 订单状态:
20 预定中 booking
21 预定成功 book_suc
22 预定失败 book_fail
30 取消中 canceling
31 取消成功 cancel_suc
32 取消失败 cancel_fail
40 已消费退款 abort(美团客服介入后才可能出现此状态)
50 已入住 book_checkin
fixRoom Boolean 预留房设置:
false 非预留房
true 预留房
goodsType Integer 产品类型:
1 全日房
2 钟点房
3.4.3.3 预约单信息OrderAptInfo结构
名称 类型 是否非空 说明
mtOrderId Long 分销平台订单ID。
checkinTime String 入住时间,格式为yyyy-MM-dd HH:mm:ss
checkoutTime String 离店时间,格式为yyyy-MM-dd HH:mm:ss
arriveTime String 到店时间,格式为yyyy-MM-dd HH:mm:ss
comment String 用户预约单上填写的备注。
roomName String 房间名称。
roomId Integer 房间ID。
roomCount Integer 入住房间数量。
hotelId Long 酒店ID。
poiName String 酒店名称。
personNames String 入住人姓名列表,各姓名间以英文逗号分隔。
contactName String 联系人姓名。
contactPhone String 联系人电话号码。
3.4.3.4 间夜信息RoomNightInfo结构
名称 类型 是否非空 说明
bizDate String 间夜日期,格式为yyyy-MM-dd
appointmentStatus Integer 预约状态:
1040 商家拒绝 refuse
1050 接受预约 accept
1070 已取消 cancel
1090 美团客服取消 cancel_exception
1110 已消费或已入住 checkin
payStatus Integer 支付状态:
2040 支付成功 pay_suc
2050 已退款 refund_suc
sellPrice Integer 卖价单价,单位为分。
subPrice Integer 给分销商佣金,单位为分。
3.4.3.5 退款信息OrderRefundInfo结构
名称 类型 是否非空 说明
refundId Integer 退款ID
refundPrice Integer 退款金额(退给用户金额)
refundSettlePrice Integer 退结算金额(退分销商金额)
refundTime String 退款时间

3.4.4 响应示例

业务请求参数:

  1. {
  2. "queryParams":[
  3. {
  4. "distributorOrderId": "vendorOrder001",
  5. "mtOrderId": 123456
  6. }
  7. ]
  8. }

转化为字符串:

  1. data="{\"queryParams\":[{\"distributorOrderId\":\"vendorOrder001\",\"mtOrderId\":123456}]}"

响应数据:

  1. {
  2. "code": 0,
  3. "message": "成功",
  4. "partnerId": 666,
  5. "result": {
  6. "orderInfos": [
  7. {
  8. "baseInfo": {
  9. "mtOrderId": 123456,
  10. "goodsId": 654321,
  11. "totalPrice": 20000,
  12. "settlePrice": 19000,
  13. "createTime": "2016-09-29 14:23:52",
  14. "orderStatus": 20,
  15. "goodsType": 1,
  16. "fixRoom": false
  17. },
  18. "aptInfo": {
  19. "mtOrderId": 123456,
  20. "checkInTime": "2016-10-01 00:00:00",
  21. "checkOutTime": "2016-10-02 00:00:00",
  22. "arriveTime": "2016-10-01 18:30:00",
  23. "comment": "请安排靠近楼梯的房间",
  24. "roomName": "标间全日房",
  25. "roomId": 1,
  26. "roomCount": 1,
  27. "hotelId": 6
  28. }
  29. }
  30. ],
  31. "code": 0,
  32. "desc": "成功"
  33. }
  34. }

3.5 酒店催单 (hotel.order.reminder)

3.5.1 接口说明

名称 描述
功能 分销商催单
HTTP方法 POST
请求方 第三方渠道
响应方 商企通分销平台
method hotel.order.reminder

3.5.2 业务请求参数

名称 类型 是否非空 说明
mtOrderId Long 分销平台订单ID。

3.5.3 请求响应

名称 类型 是否非空 说明
mtOrderId Long 分销平台订单ID。
forcastConfirmTime String 催单预计反馈时间。
code Integer 催单结果码:
0 催单成功
1 系统繁忙,请稍后重试
2 催单失败,订单号不存在
3 催单失败,订单非预定中状态
4 催单时限内无法催单
5 已催单,无需重复催单
20 其它
desc String 催单结果描述。

3.5.4 响应示例

业务请求参数:

  1. {
  2. "mtOrderId": 123456
  3. }

转化为字符串:

  1. data="{\"mtOrderId\":123456}"

响应数据:

  1. {
  2. "code": 0,
  3. "message": "成功",
  4. "partnerId": 666,
  5. "result": {
  6. "mtOrderId": 123456,
  7. "createTime": "",
  8. "code": 0,
  9. "desc": "催单成功"
  10. }
  11. }

4. 【变更通知】

  1. 需要分销商将接收状态变更的URL地址提供给分销平台, 建议订单变更接口与其他接口分开, 原因是其他接口回调频次很高, 如果分销商系统处理能力跟不上, 容易导致订单状态变更同步不及时

4.1 订单状态变更通知 (hotel.order.status.change.callback)

4.1.1 接口说明

名称 描述
功能 当订单状态发生变化时,分销平台将通过该接口把最新的订单状态通知给分销商
HTTP方法 POST
请求方 商企通分销平台
响应方 第三方渠道
method hotel.order.status.change.callback

4.1.2 业务请求参数

名称 类型 是否非空 说明
distributorOrderId String 分销商订单ID。
mtOrderId Long 分销平台订单ID。
orderStatus Integer 订单状态:
21 预订成功 book_suc
22 预订失败 book_fail
31 取消成功 cancel_suc
40 美团客服介入退款 abort
50 已入住 book_checkin
desc String 订单状态文案描述。

4.1.3 请求响应数据

名称 类型 是否非空 说明
code Integer 订单状态变更通知接收情况:
0 接收成功
1 已接收但解析异常
message String 接收情况描述。

4.1.4 示例

业务请求参数:

  1. {
  2. "distributorOrderId": "vendorOrder001",
  3. "mtOrderId": 123456,
  4. "orderStatus": 4
  5. }

转化为字符串:

  1. data="{\"distributorOrderId\":\"vendorOrder001\",\"mtOrderId\":123456,\"orderStatus\":4}"

响应数据:

  1. {
  2. "code": 0,
  3. "message": "成功"
  4. }

4.2 房态变更通知 (hotel.rs.change.callback)

4.2.1 接口说明

名称 描述
功能 当房态发生变化时,分放平台将通过该接口把最新的房态变更通知推送给分销商
HTTP方法 POST
请求方 商企通分销平台
响应方 第三方渠道
method hotel.rs.change.callback

4.2.2 业务请求参数

名称 类型 是否非空 说明
rsList Array<RS> 酒店房态RS数组

4.2.2.1 酒店房态RS结构

名称 类型 是否非空 说明
hotelId Integer 酒店ID。
goodsId Long 酒店产品ID。
goodsStatuses Array<DayGoodsStatus> 房态变化列表

4.2.3 业务响应

名称 类型 是否非空 说明
code Integer 房态变更通知接收情况:
0 接收成功
1 已接收但解析异常
message String 接收情况描述。

4.2.4 示例

业务请求参数:

  1. {
  2. "rsList": [
  3. {
  4. "hotelId": 10000,
  5. "goodsId": 123456,
  6. "goodsStatuses": [
  7. {
  8. "date": "2017-06-11",
  9. "status": 1
  10. },
  11. {
  12. "date": "2017-06-16",
  13. "status": 0
  14. }
  15. ]
  16. }
  17. ]
  18. }

转化为字符串:

  1. data="{\"rsList\":[{\"hotelId\":10000,\"goodsId\":123456,\"goodsStatues\":[{\"date\":\"2017-06-11\",\"status\":1},{\"date\":\"2017-06-16\",\"status\":0}]}]}"

响应数据:

  1. {
  2. "code": 0,
  3. "message": "成功"
  4. }

4.3 价格变更通知 (hotel.price.change.callback) 废弃

4.3.1 接口说明

名称 描述
功能 当产品价格发生变化时,分销平台将通过该接口把最新的价格通知给分销商
HTTP方法 POST
请求方 商企通分销平台
响应方 第三方渠道
method hotel.price.change.callback

注意:

  1. 价格变更通知接口暂废弃,不需再接入
  2. 价格信息将通过rp变更通知接口同rp信息一起回传

4.3.2 业务请求参数

名称 类型 是否非空 说明
goodsPrices Array<GoodsPrice> 产品价格日历列表。

4.3.3 请求响应数据

名称 类型 是否非空 说明
code Integer 接收情况:
0 接收成功
1 已接收但解析异常
message String 接收情况描述。

4.3.4 示例

业务请求参数:

  1. {
  2. "goodsPrices": [
  3. {
  4. "goodsId": 5651829,
  5. "hotelId": 123456,
  6. "priceModels": [
  7. {
  8. "date": "2017-07-20",
  9. "salePrice": 6000,
  10. "subPrice": 360,
  11. "subRatio": 600,
  12. "dayType": 0
  13. },
  14. {
  15. "date": "2017-07-21",
  16. "salePrice": 6000,
  17. "subPrice": 360,
  18. "subRatio": 600,
  19. "dayType": 0
  20. },
  21. {
  22. "date": "2017-07-22",
  23. "salePrice": 6000,
  24. "subPrice": 360,
  25. "subRatio": 600,
  26. "dayType": 0
  27. },
  28. {
  29. "date": "2017-07-23",
  30. "salePrice": 5400,
  31. "subPrice": 324,
  32. "subRatio": 600,
  33. "dayType": 0
  34. }
  35. ]
  36. }
  37. ]
  38. }

4.4 RP变更通知 (hotel.rp.change.callback)

4.4.1 接口说明

名称 描述
功能 当价格计划RP发生变化时,分销平台将通过该接口把最新的RP通知给分销商
HTTP方法 POST
请求方 商企通分销平台
响应方 第三方渠道
method hotel.rp.change.callback

4.4.2 业务请求参数

名称 类型 是否非空 说明
goods Array<GoodsInfo> 产品RP变化数组

4.4.3 请求响应数据

名称 类型 是否非空 说明
code Integer 接收情况:
0 接收成功
1 已接收但解析异常
message String 接收情况描述。

4.5 酒店静态信息变更通知 (hotel.poi.change.callback)

4.5.1 接口说明

名称 描述
功能 当酒店静态信息发生变化时,分销平台将通过该接口把发生变化的酒店ID通知给分销商
HTTP方法 POST
请求方 商企通分销平台
响应方 第三方渠道
method hotel.poi.change.callback

4.5.2 业务请求参数

名称 类型 是否非空 说明
hotelList Array<DetailChange> 酒店静态信息变化数组

4.5.2.1 酒店静态信息变更DetailChange结构

名称 类型 是否非空 说明
hotelId Integer 酒店ID。
type Integer 酒店信息变更类型:
1 信息变化
2 酒店下线
3 酒店上线

4.5.3 请求响应数据

名称 类型 是否非空 说明
code Integer 接收情况:
0 接收成功
1 已接收但解析异常
message String 接收情况描述。

5. 【映射关系】

5.1 酒店设施(hotelFacilities)

设施名称 设施编号
前台保险柜 101009
酒吧 101011
温泉 101013
垂钓 101014
采摘园 101015
沙滩 101016
海边娱乐设施 101017
儿童乐园 101018
棋牌室 101019
歌舞厅 101020
宴会厅 101021
桑拿浴室 101022
SPA 101023
美容美发室 101024
按摩保健 101025
足浴/足疗 101026
ATM机 101027
健身中心 101028
卡拉OK 101029
台球室 101030
会议室 101031
乒乓球室 101032
羽毛球场 101033
网球场 101034
保龄球馆 101035
壁球室 101036
电子游戏室 101037
中式餐厅 101092
西式餐厅 101093
日式餐厅 101094
茶室 101095
咖啡厅 101096
室内游泳池 101097
室外游泳池 101098
残疾人设施 101099
商务中心 101100
游戏室 101137
花园 101138

5.2 酒店服务(hotelService)

服务名称 服务编号
停车场 101006
信用卡/银联卡收费 101007
叫醒服务 101038
洗衣服务 101039
送餐服务 101040
24小时前台接待服务 101041
旅游服务 101042
擦鞋服务 101044
行李寄存 101045
外币兑换 101047
专职行李员 101048
医疗支援 101049
接送机服务 101050
自行车租借 101051
多种语言服务人员 101052
雨伞租借服务 101053
租车服务 101101
叫车服务 101102
代订机票 101103
代订火车票 101104
看护小孩服务 101106
公共区域wifi 101128
宠物携带 101135
泊车服务 101170
可加折叠床 101197

5.3 房间设施(roomFacilities)

设施名称 设施编号
拖鞋 101056
电吹风 101057
浴衣/浴袍 101058
浴缸 101059
空调 101060
DVD机 101063
电水壶 101064
小冰箱 101065
保险箱 101066
台式电脑 101067
迷你酒吧 101068
麻将桌 101070
写字台 101072
电话 101074
针线包 101075
电子称 101076
洗衣机 101077
厨房 101079
微波炉 101080
阳台 101081
熨斗 101107
熨衣板 101108
沙发 101109
座椅 101110
暖气 101112
24小时热水 101113
独立卫生间 101114
办公用品(笔、便签) 101115
茶艺工具 101116
电视(卫星频道) 101117
有线电视 101118
淋浴 101125
洗漱用具 101126

5.4 床型信息

注:以下只列出常见床型类型和床型描述,美团床型类型和描述信息商家可以任意增删

5.4.1 床型类型

床型类型
单人床
大床
圆床
上下铺
方形水床
圆形水床

5.4.2 床型描述

床型描述
1.0m*2.0m
1.2m*1.9m
1.2m*2.0m
1.5m*2.0m
1.35m*2.0m
1.5m*1.9m
1.8m*2m
2.0m*2.0m
2.0m*2.2m
直径2.0m
直径2.2m
直径2.4m
直径2.6m
直径2.8m
上铺1.0m*2.0m 下铺1.35m*2.0m
上铺1.0m*2.0m 下铺1.5m*2.0m
上铺1.2m*2.0m 下铺1.5m*2.0
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注