API测试>>

酒店

国内酒店-预订数据更新时间:2024/06/27 18:50

方法名称

hotel.data.booking

使用说明

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

  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则为原始价格。促销产品调用时,需要透传该字段。
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格式
LatestArrivalTime最晚到店时间DateTimeY请传入最早到店时间和最晚到店时间,请注意保证搜索时传入此参数与试单和成单时一致,否则对应担保规则结果会不尽相同,到店时间更改,担保类型为到店时间担保的订单取消规则和担保规则均可能发生变化. 要求使用yyyy-MM-dd HH:mm:ss格式


响应结果

节点名称类型可为空说明
RatePlan产品信息RatePlanY参考hotel.data.rp#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


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无效限价产品被过滤