基本流程
实时搜索模式,是指通过艺龙搜索接口获取酒店产品详情、房态库存和产品价格等信息。
下面流程图中使用的不同颜色:黄色代表必选接口,绿色代表备选接口,(第一部分 hotel.list 已废弃,请使用备选接口)

1. 获取符合搜索条件的酒店列表
通过 hotel.static.city 获取城市信息
通过 hotel.static.list 获取每个城市下的酒店
通过 hotel.static.info 获取酒店明细信息,包括房型、图片、设施等
周期调用并将以上信息存储到本地,减少每次调用返回的数据包大小,提升性能。
2. 获取酒店的库存、价格、规则等信息
(可选)通过 hotel.rate.min 接口拉取酒店最小价格,为列表页使用
详情搜索 hotel.detail 接口用来获取产品、库存、价格信息。
3. 订单流程-创建订单之前
订单创建之前进行各项信息校验,是为了及时将错误信息反馈给用户,同时也提高了创建订单时的成功率。
数据校验 hotel.data.validate 是创建订单之前进行订单数据校验的接口。在进入订单填写页之前,调用此接口校验房态库存、总价等信息。
此外还有一些其他校验接口来提升用户体验,确保下单支付的一次性成功率,这些接口都是可选的。
信用卡验证 common.creditcard.validate 也可以在用户输入信用卡时进行异步校验。
hotel.data.validate 用于校验产品价格和库存是否有效,一般用于用户点击下单时,在调用 hotel.order.create 之前使用。
hotel.data.booking 用法和 hotel.data.validate 类似,只是还可以校验产品有效性,也可以用户在填写页增加或减少房间数量时调用,用来展示房间数量变更后的新价格、规则、餐食等信息展示给用户。
4. 订单流程-创建订单
使用 hotel.order.create 接口,相关字段从 hotel.detail 接口的返回值中获取。
创建订单可以选择同时成单及支付,也可以选择仅创建订单。仅创建订单不需要填写支付信息,但是需要在最晚支付时间前调用 hotel.order.pay 接口进行支付。
5. 订单运营
需要调用 hotel.incr.order 实时更新订单状态,以便处理自己的业务或者向用户展示。
hotel.order.create 会返回最晚取消时间,在此之前可以调用 hotel.order.cancel 来取消订单。
订单创建成功后,可以通过 hotel.order.feedback 让用户反馈入住状态(非必须、但建议使用)。
查询订单详情使用hotel.order.detail。当订单详情中出现了确认反馈时间点 ConfirmPoint 的时候,如果觉得这个时间太长,可以使用 hotel.order.promote 进行催确认。
老订单状态变化为特定状态(已结账、删除、NoShow、删除另换酒店)时使用关联订单接口 hotel.order.related 可以查询新的订单信息,关联订单的产生及详细说明查看该接口的文档。
扩展流程
图中 hotel.incr.data 已经废弃

1. 如果想要与自有酒店进行整合,则必须使用静态接口,并周期性更新。通过周期调用(分酒店给予不同周期) hotel.crawl.detail 接口获取产品、价格、库存等动态信息,存储到本地,自建搜索以便与自有酒店的数据整合在一起供用户使用。本地缓存数据做列表页数据可以缓存时间长点,详情页面建议不超过10分钟。(深度阅读:建议抓取策略)
2. 用户选择某一酒店后通过hotel.detail接口实时获取并展现酒店详情及产品、库存、价格等动态信息。同时也可以利用这些信息更新列表本地缓存。
