API测试>>

酒店

国内酒店-房态库存更新时间:2024/12/31 10:47

方法名称

hotel.data.inventory

使用说明

本接口对比实时hotel.detail接口缺少折扣优惠,价格竞争力低,非必要尽量不对接此接口。

本接口用于获取所有库存信息,在需要获取所有库存信息或库存信息有变化时使用。

[注意] 本接口不能获取万豪集团酒店的库存数据;万豪集团酒店的报价请使用hotel.detail接口。

库存是否可用的判断

o通过HotelId、HotelCode、RoomTypeId、Date能唯一确定一个库存数据,

o判断Status:

       False:已经售罄,库存不可用

       True:还未售罄。然后判断Amount是否足够,不够再判断是否可以超售

o判断库存使用时间(废弃,见新校验逻辑)

  检查当前时间是否在StartDate、EndDate的区间内

  如果入住日是当天,检查当前时间的小时分钟部分是否在StartTime和EndTime的区间内

关于库存使用时间的新校验逻辑

首先需要根据hotel.data.rp接口获取hotelcode所属的SupplierType,如果SupplierType为空,默认为A

SupplierType为A类供应商判断逻辑如下:

      获取当前的预定日期(年月日)

          判断OverBooking是否可超售

          可超售 EndDate=EndDate+12小时

          不可超售 EndDate不变

          若当前预定日期在StartDate和EndDate之间,则说明日期满足,再判断预定时间,若不满足,则不可定;

       获取当前的预定时间(时分秒)

           如果是当天预定当天,须判断当前的预定时间是否在StartTime和EndTime之间,若在,则说明时间满足,库存可定;否则不可定

           如果不是当天预定当天,无须判断;

SupplierType为B类供应商的判断逻辑如下:

       获取当前的预定日期+时间(年月日时分秒)

       如果EndTime为23:59:59

           EndDate = EndDate +6小时

       否则

           EndDate = EndDate - 1天 + EndTime

        判断当前的预定日期+时间(年月日时分秒) 是否在StartDate和EndDate之前,如果在,则库存可定,如果不在,则不可定。

即时确认的判断逻辑

  如果开始时间比结束时间大,则当天均不可即时确认; 

  开始结束时间的格式为:"00:00","23:59"

输入参数

节点名称类型可为空说明
HotelIds酒店编号StringN最多10个,逗号分隔
HotelCodes酒店编码StringY最多10个,逗号分隔。如果输入这个参数,请确保这些HotelCodes都是HotelIds(只能输入一个)所属的
RoomTypeId供应商房型编号StringYV1.10后 对应搜索接口中的RatePlan.RoomTypeId。 加入了RoomTypeId的过滤返回结果可能对应多个HotelCode的还需要核对使用哪个HotelCode。
StartDate开始日期DateTimeN返回的结果中开始日期和结束日期间只要有一天在此范围内就会返回, 使用yyyy-MM-dd格式,例如:2022-12-09
EndDate结束日期DateTimeN使用yyyy-MM-dd格式,例如:2022-12-09
IsNeedInstantConfirm是否返回即时确认数据BooleanY建议不使用,返回速度会变慢。

响应结果

根节点

节点名称类型可为空说明
Inventories库存集合Inventory[]Y包含多个Inventory节点


Inventory节点

节点名称类型可为空说明
HotelID酒店IDString(8)N这几个属性是业务主键。
HotelCode关联搜索接口的RatePlan.HotelCode
Date表示的是某天的库存。
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库存是否支持即时确认BooleanYV1.22新增,具体使用请见接口使用说明
IC_BeginTime即时确认可用开始时间TimeY
IC_EndTime即时确认可用结束时间TimeY

输入示例

https://api-test.elong.com/rest?timestamp=1489988696&format=json&method=hotel.data.inventory
&signature=d70cd5e12df22e6e0fe8f4ec46ab3fd8&user={userid}&data=
{"Version":"1.28","Local":"zh_CN","Request":
{"StartDate":"2017-3-21","EndDate":"2017-3-22","HotelIds":"40101025"}}

输出示例

{
    "Code":"0",
    "Result":{
        "Inventories":[
            {
                "HotelID":"40101025",
                "RoomTypeId":"1114",
                "HotelCode":"40101025",
                "Date":"2017-03-21T00:00:00 08:00",
                "Status":true,
                "Amount":3,
                "OverBooking":0,
                "StartDate":"2016-04-13T14:07:36 08:00",
                "EndDate":"2017-03-21T23:59:59 08:00",
                "StartTime":"00:00:00",
                "EndTime":"18:00:00"
            }
        ]
    }
    "Guid":"4b59297d-1d60-457c-89f6-c8b2ee730aea"
}

常见错误码

错误码解释解决方法
H000997未知异常重试,反复出现请联系技术支持人员