酒店 API
按城市代码(IATA 风格,例如 DXB)或您从我们目录中保存的酒店代码搜索 1.5M+ 家住宿,读取包含餐食类型和取消政策的房型级价格,完成验证与预订,并按政策取消。
搜索
POST /v1/hotels/search with a destination and check-in/out dates and one to eight rooms (adults and child ages per room). The destination is a cityCode (IATA-style, e.g. "DXB" — GET /v1/content/cities lists them), a list of hotelCodes from the catalogue you store on your side (GET /v1/content/hotels per city), or a geo circle. Name matching is yours to do against your stored list; availability is always asked by code.
使用 wait=true 可获得完整结果集;使用 wait=false 则得到一个 searchId,用 GET /v1/hotels/search/{searchId} 轮询——请传入相同的日期和房间数,以确保价格密钥仍可预订。每家酒店都包含其内容信息(名称、星级、地址、地理位置、主图、设施)以及每个房型的最低价格,附带不透明的 rateKey、总价和每晚价格、餐食类型、是否可退款以及取消截止时间。
房型与价格
GET /v1/hotels/{hotelCode}/rooms?rateKey=… 列出某家酒店在所搜索入住期间的所有房型和价格:床型、入住人数、餐食、政策、分项列出的税费,以及价格是否可退款。
价格核验
POST /v1/hotels/rates/{rateKey}/check 确认价格仍可预订,并返回最终价格和政策。请在预订前立即执行:在此处遇到 409 price_changed 或 rate_expired,代价远低于一次失败的预订。
预订
POST /v1/hotels/bookings,传入 rateKey、预订人、每间房的入住客人和联系人,并附上 Idempotency-Key。响应为预订记录,包含参考号、供应商确认号和凭证数据。可随时通过 GET /v1/hotels/bookings/{bookingId} 再次获取。
取消
GET /v1/hotels/bookings/{bookingId}/cancellation-quote 返回当前时刻按政策计算的罚金;POST /v1/hotels/bookings/{bookingId}/cancel(必须提供 Idempotency-Key)执行取消。