API测试>>

酒店

国内酒店-预订数据更新时间:2026/02/28 10:05

方法名称

hotel.data.booking

使用说明

本接口用于获取某个产品的存在性及其价格库存等信息,同时也可以检验产品的五大对象(HotelId、HotelCode、Room、RoomType和RatePlan)的状态,其任意一种不可用则产品不可用。

与本接口的功能相近的还有hotel.data.validate接口,差异是hotel.data.validate入参要传入TotalPrice、DayPriceList,我们会验证总价及每日价格,但是hotel.data.validate出参比当前接口少很多字段。

  1. 调用本接口请使用version大于等于1.13;

  2. 用于进入订单填写页面,获取实时的数据进行校验

  3. 价格是原始价格,需要自己计算DRR,返回的价格信息用法同hotel.data.rate;如果传入入参IsRatesWithDRR,可以得到计算后可卖的价格;

输入参数

节点名称类型可为空说明
ArrivalDate入住日期DateN要求使用yyyy-MM-dd格式, 其他格式不保证永久可用,例如:2022-12-09,其他格式不保证持续支持
DepartureDate离店日期DateN要求使用yyyy-MM-dd格式, 其他格式不保证永久可用,例如:2022-12-09,其他格式不保证持续支持
HotelId酒店编号String(8)N
HotelCode酒店编码String(8)N
RoomId展示房型编号String(10)Y允许为空,当传入时会校验房型编号绑定关系
RoomTypeID销售房型编码String(10)N
RatePlanId产品编号IntN
PaymentType支付类型EnumNSelfPay--前台自付
Prepay--预付
IsRatesWithDRR返回的价格是否通过DRR计算促销后的BooleanY默认为false;如果为true则返回的Rates节点里面的价格为DRR计算后的促销后的,false则为原始价格。促销产品调用时,需要透传该字段。可全部产品传true
MethodType调用监控
IntY

正常用户调用不用传,批量调用传入32,方便艺龙方对接口进行监控。

正常用户调用指的是由用户下单流程触发的校验接口调用,批量调用、非正常用户调用指分销商自己进行踩雷策略或其他操作引起的校验接口调用。
LittleMajiaId马甲IdStringY

从hotel.detail接口获取,用于促销,促销产品调用时,需要透传该字段;

新接入搜索模式必传;建议历史已接入搜索模式分销商也将此字段全部传回国内酒店马甲Id不再有30分钟限制

搜索模式所有产品必传

GoodsUniqId商品唯一标示StringY

从hotel.detail接口获取,用于促销,促销产品调用时,需要透传该字段;

新接入搜索模式必传;建议历史已接入搜索模式分销商也将此字段全部传回

搜索模式所有产品必传

NumberOfRooms房间数量IntY当促销产品调用时,需要传如具体房间数量
EarliestArrivalTime最早到店时间DateTimeY请传入最早到店时间和最晚到店时间(不传时默认逻辑是:当天预订时,当前时间>=23点,最早最晚到店时间赋值为当天的23点59分,当前时间<23点时,最早到店时间为当前时间+30分钟,最晚到店时间为当前时间+60分钟;非当天预订时,最早到店时间为入住日的14点,最晚到店时间为入住日的15点). 要求使用yyyy-MM-dd HH:mm:ss格式 其他格式不保证永久可用,注意最早到店时间需要在hotel.static.info接口的ArrivalTime和LatestArrivalTime之间
LatestArrivalTime最晚到店时间DateTimeY请传入最早到店时间和最晚到店时间,请注意保证搜索时传入此参数与试单和成单时一致,否则对应担保规则结果会不尽相同,到店时间更改,担保类型为到店时间担保的订单取消规则和担保规则均可能发生变化. 要求使用yyyy-MM-dd HH:mm:ss格式 其他格式不保证永久可用注意最早到店时间需要在hotel.static.info接口的ArrivalTime和LatestArrivalTime之间且小于最早到店时间


响应结果

节点名称类型可为空说明
RatePlan产品信息RatePlanY参考RatePlan
WeekendStart周末价格起始日IntY为0表示周末设置从周一开始
为0表示到周日结束,但是两个都为0表示无周末设置; 如果开始为3,结束为1,表示从周三到下周1都是周末设置
1代表周一,7代表周日
WeekendEnd周末价格结束日IntY
BookingRules预订规则BookingRule[]Y参考BookingRule
Inventories库存Inventory[]Y参考Inventory
Rates价格Rate[]Y参考Rate
ObjectEffectiveStatus对象状态ObjectEffectiveStatusYv1.26新增。参考ObjectEffectiveStatus节点
meals到天餐食结果表格MealsY参考hotel.detail#Meals,注意:此为移位后餐食结果表格。根据餐食原始规则,当入住日期内全部为固定餐食或入住日期内全部为半固定餐食且固定餐食类型一样时,固定餐食中的早餐、午餐会向后移一天展示;动态餐食分别与入住日期对应,不会后移一天。hasMealTable为true,表示存在餐食表格。
PrepayResult预付规则结果PrepayResultY
参考PrepayResult
GuaranteeResult现付规则结果GuaranteeResultY
参考GuaranteeResult
DataSource数据来源EnumY

v1.32新增,特定情况使用,一般可忽略不管

DB-数据库

DC-直连

TotalRate
总卖价DecimalY


BookingRule节点

节点名称类型可为空说明
TypeCode规则类型EnumNNeedNationality:务必提供客人国籍
PerRoomPerName:您预订了N间房,请您提供不少于N的入住客人姓名
ForeignerNeedEnName:此酒店要求外宾务必留英文拼写 ,港澳台酒店出现这个字段的时候,所有人都需要填写英文名或姓名拼音
RejectCheckinTime:几点到几点酒店不接受预订 , 此处校验的是下单时的当前时间
NeedPhoneNo:务必提供联系人手机号(请加在联系人结点Contact上)
RoomTypeIds关联的销售房型IdString(500)Yall 表示所有房型
Description描述String(255)N
DateType日期类型EnumYBookDay –预订日期(订单的创建日期)
StartDate开始日期DateY
EndDate结束日期DateY
StartHour每天开始时间TimeY针对日期段内每天生效, 当TypeCode 为RejectCheckinTime时表示当前预订时间在StartHour到EndHour   区间内酒店不接受预订。当EndHour小于StartHour的时候是表示第二天的几点,如2:00表示第二天的2点。
EndHour每天结束时间TimeY

RatePlan节点

节点名称类型可为空说明
RatePlanId产品编号IntN

RatePlanName产品名称String(50)N

CustomerType(已废弃)宾客类型EnumV1.01新增。
All=统一价;
Chinese =内宾价,需提示客人“须持大陆身份证入住”;
OtherForeign =外宾价,需提示客人“须持国外护照入住”;

HongKong   =港澳台客人价,需提示客人“须持港澳台身份证入住”;

ChinaGuest =中宾价,需提示客人“须持中国身份证、护照入住”;

注意统一价并不是下面几种宾客类型的合集,而是对所有宾客统一售价







guestType适用人群StringY

宾客类型的适用人群:

0:不限

1:持中国身份证的居民

2:持回乡证的港澳人士

3:持台胞证的台湾人士

4:持中国护照的侨胞

5:持大陆工作证/居留许可的外籍人士

6:持非中国护照的外籍人士

7:其他


guestTypeExtendCh其他StringY适用人群中其他的内容
HotelCode对应的酒店编码String(8)N


PaymentType付款类型EnumN SelfPay-前台现付、Prepay-预付,具体信息参看使用说明
RoomTypeIds关联的房型编码String(255)N多个房型编码时以英文逗号分隔
ProductTypes产品特性类型String(20)YV1.01新增。可逗号分隔,目前取值:
3-限时抢购
4-钟点房

5-手机专享

6-铂涛产品,下单需提供入住人身份证Identification字段已包含此逻辑,涉及到身份信息验证的可统一按照Identification字段来处理

17-景酒打包产品,只能与景点门票打包销售,默认不吐出

25-床位房(床位房类型此处已无效,判断床位房请解析RatePlanName或者Room节点的Name字段,其中只要有一个字段包含“床位”字样即为床位房

99-未知,艺龙内部使用,一般代理可忽略





NeedIdNo是否需要提供身份证号BooleanY如果是铂涛产品,不能通过此字段判断,不管true还是false,都要传入身份证。如果不是铂涛产品,指该RatePlan在下单的时候,是否需要传入入住人的身份证号信息,如果该字段不为空且为true,则在成单时必须传入身份证号(将来废弃,新字段请参考身份信息验证类型【Identification】)
Identification身份信息验证类型IntN0-无特殊验证要求(默认值)
1-整个订单至少传一个身份证
2-订单中每个房间至少传一个证件
3-订单中每个房间至少传一个身份证
4-每个客人传一个身份证
5-整个订单至少传一个身份证且需预订本人入住
(后续可能会继续增加其他验证类型,建议接入时将非文档中给出类型的产品做过滤处理)

sellChannels分销渠道String(20)YV1.51新增。可逗号分隔,目前取值:
1-分销专享,艺龙内部使用,一般代理可忽略

IsLimitTimeSale是否是今日特价(尾房)BooleanYV1.01新增。
如果为true,则要校验当前时间是否在StartTime和EndTime的范围内,从而决定这个RP是否显示在可销售产品中。


StartTime尾房每天预订开始时间TimeY默认值:00:00。仅在尾房情况下有效。
EndTime尾房每天预订结束时间TimeY默认值:23:59。仅在尾房情况下有效。
如果结束时间是00:00至6:00,则表示是次日。当EndTime大于24点的时候是表示第二天的几点加上了24小时,如26:00表示第二天的2点。


MinAmount预订最少数量IntY默认值:1
MinDays最少入住天数IntY默认值:1
MaxDays最多入住天数IntY默认值:365

MaxCheckinRooms最多预订间数Int

版本v1.35新增,规定了每个订单最多预订多少间

存在下单订多间不通过,但是一间一间的下单可以下多单的情况,这种情况就是此字段造成的。

为0时默认按照10间处理

默认值:9999


MinAdvHours最少提前预订小时数IntN按checkInDate的23:59:59(一般认为24点)来计算
MaxAdvHours最多提前预订小时数IntN
GuaranteeRules担保规则GuaranteeRule[]Y参考 GuaranteeRule节点
PrepayRules预付规则PrepayRule[]Y参考PrepayRule节点
PrepayRuleExtends新预付规则
PrepayRuleExtend[]Y
参考PrepayRuleExtend节点
GuaranteeRuleExtends新担保规则
GuaranteeRuleExtend[]Y
参考GuaranteeRuleExtend节点
ValueAdds增值服务ValueAdd[]Y参考ValueAdd节点
Meals新餐食节点Meal[]Y参考Meals节点
相较增值服务中的早餐,拓展了午餐、晚餐和动态餐食,去掉了无用字段。

DrrRules(已废弃)促销规则DrrRule[]Y

参考DrrRule节点, DRR例子请参考DrrRule


Coupon(已废弃)Coupon信息CouponYCoupon和入住日期相关,本处返回仅供参考。
参考Coupon节点


serviceTimePolicyInfo
产品提供服务的时间
serviceTimePolicyInfoY

酒店或供应商能处理订单的时间,无数据(即不返回这个字段)代表全天服务

预订当天入住且预订时间不在服务时间范围内的产品不可展示销售给客人,避免不必要的投诉。参看serviceTimePolicyInfo节点


BookingChannels产品可以展示销售的渠道StringYv1.20新增,同时需要 Options入参传入1后才能返回。
逗号分隔的数字列表:
1---线上(普通的PC访问的Web)
2---线下(呼叫中心、门店)
3---手机(Mobile App、H5)





IsPriceLimitProduct是否为限价产品BooleanN

表示本RatePlan是否为限价产品,限价产品必须按照艺龙给出的售价进行售卖,即按照hotel.data.rate接口指定的价格卖给客人。不同限价类型约束规则不同,详见下面PriceLimitedType字段,接入完成后通知商务变更,新校验规则生效。

false --- 非限价

true --- 限价

(版本1.36新增)

判断限价时与hotel.data.rate接口中IsPriceLimit字段为或关系,两者有其一为true,均为限价。


PriceLimitedType限价类型IntN

二进制bit位分别表示各个限价条件,0为非限价,详见


CustomerLevel可售会员等级Int[]YV1.25新增。选值:
0-非会员 1-普通会员 2-贵宾会员 3-龙萃会员   4-钻石龙萃


InvoiceMode预付产品发票模式StringN

v1.31新增

仅用于预付产品的发票开具模式。

Elong-艺龙开发票、Hotel-酒店开发票
前台自付产品都是酒店开发票,这里的过滤是针对预付产品。
需要注意Elong艺龙开发票其实是艺龙可以提供代开发票服务,如果需要开通,请联系商务,否则可能需要自行开具发票

CooperationType
酒店签约类型
int
Y
v1.27 1为直签,2为非直签,0为未知
earliestToliveTime可住开始时间String(6)Y
V1.32新增。
1、钟点房产品特有字段。
2、可住时长stayTime为客人实际可住时长最大值,客人实际的可住时长需要代理根据可住结束时间减去当前时间进行计算

3、建议实际可住时长不足一小时时不要再展示给客人

4、当结束时间小于开始时间时表示第二天结束

5、注意钟点房是有可售时间范围的,可售开始时间为earliestToliveTime,可售结束时间为latestToliveTime减去stayTime,在可售时间范围外试单不能通过,即最晚入住时间为可售结束时间。

V1.61版本开始支持钟点房跨天

latestToliveTime大于24时即为钟点房跨天产品(前端具体展示格式可参考同程旅行官网)


latestToliveTime可住结束时间String(6)Y

stayTime可住时长String(2)Y

timeRushRuleList限时抢规则timeRushRule[]Y

参考timeRushRule节点


xStayPeopleNum可入住人数StringY房型补充说明
xStaySex可入住性别StringY
xBedType床型StringY
xFloor楼层StringY
xOrientation朝向StringY
xUserDefined自定义说明StringY
SupportSpecialInvoice是否支持专票BooleanYtrue 支持专票,false 不支持


Inventory节点

节点名称类型可为空说明
HotelID酒店IDString(8)N这几个属性是业务主键。
Date表示的是某天的库存。
HotelCode关联搜索接口的RatePlan.HotelCode
RoomTypeId房型IDString(10)N
HotelCode酒店编码String(8)N
Date库存时间DateN
Status库存状态BooleanNFalse-不可用 True-可用
Amount库存数量IntN剩余的可知库存数量
OverBooking超售状态IntN0---可超售,1—不可超售。可超售的时候即使Amount等于0也是可以继续销售的。
StartDate可用开始日期DateN库存可用开始日期
EndDate可用结束日期DateN库存可用结束日期
StartTime可用开始时间TimeN预订当天库存,须校验库存可用开始时间
EndTime可用结束时间TimeN预订当天库存,须校验库存可用结束时间; 若为23:59:59则为无限制;
IsInstantConfirm当天库存是否支持即时确认BooleanY

V1.22新增,具体使用请见接口使用说明。

注意:此三个字段已无效,是否即时确认请以创建订单接口的返回值或者订单详情中的即时确认相关字段为准。

IC_BeginTime预订当天即时确认可用开始时间TimeY
IC_EndTime预订当天即时确认可用结束时间TimeY


Rate节点

节点名称类型可为空说明
HotelID酒店编号String(8)N这几个属性是业务主键
RoomTypeId房型编号String(10)N
RateplanId产品编号IntN
StartDate开始时间DateN
EndDate结束时间DateN
HotelCode酒店编码String(8)Yv1.13新增
Status状态BooleanNfalse--无效、true--有效
Member平日卖价DecimalN-1代表此房无价,无价和满房都不能进行预订
Weekend周末卖价DecimalN同上,在周末时使用此价格,周末设置参考hotel.data.rp接口
MemberCost平日结算价DecimalN同上,开通了结算价模式的接入方才可以使用
WeekendCost周末结算价DecimalN同上,开通了结算价模式的接入方才可以使用
AddBed加床价DecimalYV1.01新增
-1代表不能加床,0-免费加床,大于0表示加床的费用
PriceID价格IDLongYV1.08新增
CurrencyCode货币类型StringYV1.08新增
参考Currency
UsedPromotionDayRoomValues每间的同程促销明细UsedPromotionDayRoomValue[]Y每间的同程促销明细,参考 UsedPromotionDayRoomValue节点


ObjectEffectiveStatus对象状态

节点名称类型可为空说明
HotelIdStatusHotelId 对应对象的状态BooleanNtrue --有效,false--无效
RoomStatusRoomId对应对象的状态BooleanN
RatePlanStausRatePlanI对应对象的状态BooleanN
HotelCodeStatusHotelCode对应对象的状态BooleanN
RoomTypeStatusRoomTypeId对应对象的状态BooleanN
ProductRelationRoomTypeId和RatePlanId是否存在绑定关系BooleanN


UsedPromotionDayRoomValue

节点名称类型可为空说明
RoomNumber房间号StringY
PromotionDetailList促销明细
PromotionDetail[]Y此间促销明细


PromotionDetail

节点名称类型可为空说明
Amount促销金额DecimalY
PromotionType促销类型IntY促销类型 9:立减


常见错误码

错误码解释解决方案
H001083获取产品信息失败,可能酒店、房型和RatePlan无效或未关联,也可能无对应库存或房价遇到这个问题,首先检查HotelId、RoomTypeId和RatePlanId对应关系是否正确(HotelId不要传HotelCode,RoomTypeId不要传RoomId)。如果对应正确,那么可能是库存失效导致的,大部分原因是因为数据更新不及时,用户搜索得到结果后过了一段时间才下单,此时数据已发生变化,无库存、满房、无价、不符合预定规则。该问题不可能完全杜绝,离线数据模式可以通过及时更新数据来减少。
H001083-1对象状态无效通过ObjectEffectiveStatus属性确认哪个对象已经无效,就可以将本地的改对象进行关闭
H008008酒店挂牌等级不符酒店挂牌等级已经发生了变化
H009001获取的产品信息RatePlan无效限价产品被过滤