酒店-详情
基本信息
Path: /hotel/detail
Method: POST
使用说明
- 本接口用于获取酒店的静态信息(酒店简介、房型简介、图片等)和动态信息(库存、价格、产品计划等),可用于向客户展示酒店信息;
- 创建订单接口和订单校验接口需要传入单个HotelId、RoomTypeId和RatePlanId(可以通过本接口获取);
- 支付方式: 预付
- 预付:预付都是全额预付,也要考虑取消的情况。
请求参数
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 是 | ||
| x-lvcang-api-account | 开放平台分配 | 是 | aaa.test |
Body
| 名称 | 类型 | 是否必须 | 备注 |
|---|---|---|---|
| arrivalDate | string | 必须 | 入住日期 使用yyyy-MM-dd格式,例如:2022-12-09 |
| departureDate | string | 必须 | 离店日期 使用yyyy-MM-dd格式,例如:2022-12-09 |
| hotelId | string | 必须 | 酒店ID 传入一个酒店id |
| roomTypeId | string | 非必须 | 房型编号 当RatePlanId传值的时候不能为空。 |
| ratePlanId | integer | 非必须 | 产品编码 默认请传0 |
| invoiceMode | string | 非必须 | 预付发票模式 Elong-平台开发票、Hotel-酒店开发票、NoSense-全部 前台自付产品都是酒店开发票,这里的过滤是针对预付产品。预付订单的发票有两种开具方式:收款方开具或酒店开具。收款方开具发票的,平台可提供代开服务,需联系商务开通相关权限。 |
| paymentType | string | 非必须 | 支付方式 默认为All,All-不限、SelfPay-现付、Prepay-预付 |
| options | string | 必须 | 其他条件 仅单酒店有效,可逗号分割 1.酒店详情 2.房型 3.图片 4.当前不可销售的rp不出现在结果里(该选项多个酒店也有效) 5. 每日价格数组输出未DRR计算的原始价格 7. 返回汇率信息ExchangeRateList 8. 经纬度返回百度坐标 9. 仅返回钟点房 11.同时返回钟点房和其他产品 12.如果是现付产品则返回GuaranteeResult,如果是预付产品则返回PrepayResult 13.支持多间,传入时请保证已兼容多间预定逻辑:从一间变多间时价格、规则等产品信息可能发生变化,当房量变化时可以调用hotel.room.change或hotel.data.booking获取最新产品相关信息;不传时某些产品MaxCheckinRooms为1,多间预定可能会失败 14.返回PrepayRuleExtend、GuaranteeRuleExtend 一般情况下传入1,2,4 请按需传入,多返回信息会影响报文长度和响应时间,在调用大的情况下,静态信息(1,2,3)建议使用静态相关接口增量落地(hotel.static.list、hotel.static.info) |
| saveMajiaId | boolean | 非必须 | 是否保存Littlemajiaid 国际特有字段, 当需要请求可定时,该字段设置为true,才能进行可定验证 |
| numberOfAdults | integer | 必须 | 成人数(国际特有字段) |
| numberOfRooms | integer | 非必须 | 房间数量(国际特有字段) |
| childAges | integer [] | 非必须 | 儿童年龄(国际特有字段) |
| sugOrientation | integer | 非必须 | 0:国内,1国际 传入1会返回国际酒店特有字段 |
返回数据
| 名称 | 类型 | 是否必须 | 备注 |
|---|---|---|---|
| code | string | 必须 | 返回码 0:请求成功 3000:请求失败 5000:请求异常 |
| message | string | 必须 | 返回描述 |
| success | boolean | 必须 | 请求是否成功 |
| data | object | 非必须 | 返回内容 |
| ├─ hotelInfo | object | 非必须 | 酒店基本信息 |
| ├─ hotelId | string | 必须 | 酒店编号 |
| ├─ lowRate | string | 必须 | 最低价格 返回的是该酒店中所有符合查询条件的产品的最低价 |
| ├─ hotelName | string | 必须 | 酒店名称 |
| ├─ starRate | number | 必须 | 挂牌星级 酒店对外的挂牌星级(国家旅游局规定)。0-无星级;1-一星级;2-二星级;3-三星级;4-四星级;5-五星级。当为0时对外显示可用Category的值,但请进行图标区分。 |
| ├─ category | number | 必须 | 艺龙推荐级别 艺龙推荐星级,而非酒店挂牌星级。对应值含义为:0,1,2:客栈;3:舒适;4:高档;5:豪华;A:公寓 |
| ├─ thumbNailUrl | string | 非必须 | 封面图片 |
| ├─ city | string | 非必须 | 城市ID |
| ├─ cityName | string | 非必须 | 城市名称 |
| ├─ district | string | 非必须 | 行政区ID |
| ├─ districtName | string | 非必须 | 行政区名称 |
| ├─ businessZone | string | 非必须 | 商业区ID |
| ├─ businessZoneName | string | 非必须 | 商业区名称 |
| ├─ address | string | 非必须 | 地址 |
| ├─ latitude | string | 非必须 | 纬度 Google坐标系 |
| ├─ longitude | string | 非必须 | 经度 Google坐标系 |
| ├─ description | string | 非必须 | 酒店描述 酒店的简介、描述 |
| ├─ phone | string | 非必须 | 前台电话 |
| ├─ checkInTime | string | 非必须 | 到店时间 |
| ├─ checkOutTime | string | 非必须 | 离店时间 |
| ├─ facilities | string | 非必须 | 酒店设施 1 免费wifi 2 收费wifi 3 免费宽带 4 收费宽带 5 免费停车场 6 收费停车场 7 免费接机服务 8 收费接机服务 9 室内游泳池 10 室外游泳池 11 健身房 12 商务中心 13 会议室 14 酒店餐厅 15 叫醒服务 16 行李寄存 17 双床 18 大床 以上是本接口返回的简略设施信息,与静态信息中获取的设施id并不对应。 |
| ├─ hotelImages | object [] | 非必须 | 封面图片 |
| ├─ sizeType | number | 必须 | 图片规格 1:jpg图片,固定长边350,固定长边350缩放图片(用于详情页图片展示) 7:png图片,固定长边640放缩图片 8:1080x800规格的图片 9:1140x640规格的图片 10:800x600规格的图片 11:960x640规格的图片 12:375x200规格的图片 |
| ├─ waterMark | boolean | 必须 | 是否有水印 默认为有水印图片 |
| ├─ url | string | 必须 | 图片地址 |
| ├─ type | number | 必须 | 图片类型 1 - 餐厅 (Restaurant) 2 - 休闲 (Recreation Facilities) 3 - 会议室 (Meeting/Conference) 5 - 外观 (Exterior) 6 - 大堂/接待台 (Lobby/ Reception) 8 - 客房 (Guest Room) 10 - 其他 (Other Facilities) 11 - 公共区域 (Public Area) 12 - 周边景点 (Nearby Attractions) |
| ├─ giftPackages | object [] | 非必须 | 礼包 |
| ├─ pkgProductId | number | 非必须 | 礼包套餐ID |
| ├─ pkgType | string | 非必须 | 礼包套餐类型 |
| ├─ pkgProductName | string | 非必须 | 礼包套餐名字 |
| ├─ ruleDescriptionAdditional | string | 非必须 | 礼包套餐特别说明 |
| ├─ pictures | object [] | 非必须 | 礼包套餐图片 |
| ├─ imgIndex | integer | 非必须 | 礼包图片顺序 |
| ├─ imgUrl | string | 非必须 | 礼包图片链接 |
| ├─ xProducts | object [] | 非必须 | 礼包套餐类型 |
| ├─ xProductId | number | 非必须 | X产品ID |
| ├─ xProductName | string | 非必须 | X产品名字 |
| ├─ typeName | string | 非必须 | X产品类型 |
| ├─ quantity | string | 非必须 | X产品数量 |
| ├─ receptionTimes | string | 非必须 | X产品接待时间 |
| ├─ capacity | string | 非必须 | X产品适用人数 |
| ├─ bookingPhone | string | 非必须 | X产品预订电话 |
| ├─ appointPolicy | string | 非必须 | X产品预订规则 |
| ├─ hotelNameEn | string | 必须 | 酒店英文名(国际特有字段) |
| ├─ addressEn | string | 必须 | 英文地址(国际特有字段) |
| ├─ hotelCountryName | string | 必须 | 国家名称(国际特有字段) |
| ├─ HotelCountryCode | string | 必须 | 国家编码(国际特有字段) |
| ├─ hotelCountryId | integer | 必须 | 国家id(国际特有字段) |
| ├─ HotelPolicy | string | 必须 | 酒店政策(国际特有字段) |
| ├─ hotelRooms | object [] | 非必须 | 酒店房型信息 |
| ├─ roomId | string | 必须 | 展示房型编号 |
| ├─ name | string | 必须 | 房型名称 |
| ├─ imageUrl | string | 非必须 | 图片地址 |
| ├─ bedType | string | 非必须 | 床型 |
| ├─ area | string | 非必须 | 面积 |
| ├─ floor | string | 非必须 | 楼层 |
| ├─ capcity | string | 非必须 | 可容纳人数 |
| ├─ windosType | string | 非必须 | 窗户类型描述 |
| ├─ bedDesc | string | 非必须 | 床型描述 入参Options传入2时返回 |
| ├─ description | string | 非必须 | 房间描述 |
| ├─ ratePlans | object [] | 非必须 | |
| ├─ ratePlanId | number | 必须 | 产品编号 |
| ├─ ratePlanName | string | 必须 | 产品编号名称 |
| ├─ status | boolean | 必须 | 销售状态 该产品产品、价格是否有效的状态,这里为false就表示这个产品不能卖了。如果为true,那么还需要依次判断NightlyRate数组中每个节点的状态,只有这些全部都为true,这个产品才可售 ,详见。 false--不可销售(可能是产品无效、部分日期缺少价格) true--可销售 |
| ├─ roomTypeId | string | 必须 | 销售房型编号 |
| ├─ xBedType | string | 非必须 | 床型 |
| ├─ invoiceMode | string | 非必须 | 预付产品发票模式 |
| ├─ supportSpecialInvoice | boolean | 非必须 | 是否支持专票 true 支持 false 不支持 |
| ├─ cancelType | number | 非必须 | 取消类型 1:免费取消;2:收费取消,3:限时取消,4:不可取消 |
| ├─ cancelDescription | string | 非必须 | 取消规则 |
| ├─ nightlyRates | object [] | 非必须 | 每天价格数组 |
| ├─ date | string | 非必须 | 当天日期 |
| ├─ member | number | 非必须 | 会员价【建议售价】 |
| ├─ cost | number | 非必须 | 结算价 |
| ├─ breakfastCount | number | 非必须 | 早餐数量 同一房型同一产品不同天数的早餐数量可能不一致,是由于特殊早餐问题造成的 |
| ├─ status | boolean | 非必须 | 库存状态 |
| ├─ tax | number | 非必须 | 每晚每间税费(国际特有字段) |
| ├─ littlemajiaid | string | 非必须 | 产品唯一标识(API成单使用) 产品唯一标识,通过hotel.order.create接口成单时使用(国内酒店马甲Id不再有30分钟限制) 请求为国际酒店时,用于标识产品 |
| ├─ goodsUniqId | string | 非必须 | 商品唯一标识 商品唯一标识,通过hotel.order.create接口成单时使用 请求为国际酒店时,用于标识产品 |
| ├─ majia_id | string | 非必须 | 产品唯一标识 产品唯一标识,H5或小程序跳转模式需使用,需要联系商务开通权限, 注意不要把这个值传入到Littlemajiaid |
| ├─ isPromotion | boolean | 非必须 | 是否促销 是否是促销产品(臻选特惠),为true时,试单、成单需要LittleMajiaId、GoodsUniqId传入 |
| ├─ needMajiaId | boolean,null | 非必须 | 是需要回传马甲 产品NeedMajiaId为true时,试单、成单需要LittleMajiaId、GoodsUniqId传入 |
| ├─ identification | integer | 必须 | 身份信息验证类型 0-无特殊验证要求(默认值) 1-整个订单至少传一个身份证 2-订单中每个房间至少传一个证件 3-订单中每个房间至少传一个身份证 4-每个客人传一个身份证 5-整个订单至少传一个身份证且需预订本人入住 (后续可能会继续增加其他验证类型,建议接入时将非文档中给出类型的产品做过滤处理) |
| ├─ cooperationType | integer | 非必须 | 酒店签约类型 1为直签,2为非直签,0为未知 |
| ├─ prepayResult | object | 必须 | 预付规则 |
| ├─ cancelDescription | string | 必须 | 取消规则 |
| ├─ cancelType | string | 必须 | 取消类型 1:免费取消;2:收费取消,3:限时取消,4:不可取消 |
| ├─ cancelTimeLeft | string | 必须 | |
| ├─ cacnelTimeRight | string | 必须 | |
| ├─ ladderParseList | object | 必须 | |
| ├─ beginTime | number | 必须 | 开始时间 |
| ├─ endTime | number | 必须 | 结束时间 |
| ├─ cutType | integer | 必须 | 扣费类型 0:不扣费;1:金额;2:比例;3:首晚房费; |
| ├─ cutValue | number | 必须 | 扣费值 原始币种 |
| ├─ amount | number | 必须 | 扣费值 国际现付的是原币,预付对客的是人民币,预付对酒店的是原币。 |
| ├─ shortDesc | string | 非必须 | 短文案 |
| ├─ amountRmb | number | 必须 | 人民币 |
| ├─ exchangeRate | number | 非必须 | |
| ├─ meals | object | 必须 | |
| ├─ hasMealTable | boolean | 必须 | 是否存在餐食表格 为true代表取“dayMealTable”餐食表格字段,查看每天的餐食情况 |
| ├─ mealCopyWriting | string | 必须 | 餐食文案描述 总餐食描述 |
| ├─ dayMealTable | object [] | 必须 | 每日餐食表格 |
| ├─ date | string | 必须 | 餐食的日期 yyyy-MM-dd格式,例如2021-08-12 |
| ├─ useDynamicMeal | boolean | 必须 | 是否使用动态餐食 为true取dynamicMealDesc; 为false取breakfastDesc、lunchDesc、dinnerDesc; |
| ├─ dynamicMealDesc | string | 非必须 | 动态餐食描述 例如:3种餐食(3选2 |
| ├─ breakfastShare | integer | 必须 | 早餐数量 例如:0 |
| ├─ breakfastDesc | string | 非必须 | 早餐描述 |
| ├─ lunchShare | integer | 必须 | 午餐数量 例如:1 |
| ├─ lunchDesc | string | 非必须 | 午餐描述 例如:1份午餐 |
| ├─ dinnerShare | integer | 必须 | 晚餐数量 例如:2 |
| ├─ dinnerDesc | string | 非必须 | 晚餐描述 例如:2份晚餐 |
| ├─ dayMealDesc | string | 非必须 | 到天餐食描述 例如:2份早餐/间 |
| ├─ isPriceLimittedProduct | boolean | 必须 | 是否为限价产品 表示本RatePlan是否为限价产品,不同限价类型约束规则不同,详见下面PriceLimitedType字段,接入完成后通知商务变更,新校验规则生效。 false --- 非限价 true --- 限价 |
| ├─ priceLimitedType | integer | 必须 | 限价类型 hotel.detail增加出参限价类型PriceLimitedType,Integer类型不可为空,用二进制bit位分别表示各个限价条件 那么从右往左从一开始的三位分别是: 第一位:0表示不需要展示卖价,1表示不可抬价 第二位:0表示可立减,1表示不可立减 第三位:0表示可返现,1表示不可返现 判断限价类型成立的方法: PriceLimitedType&1==1时限价条件“不可抬价”成立 PriceLimitedType&2==2时限价条件“不可立减”成立 PriceLimitedType&4==4时限价条件“不可返现”成立 将来新增限价条件种类,之前限价条件判断方式不会变化。 订单环节:hotel.order.create。 入参客人实付金额CustomerPrice的必填校验不变,否则返回异常码:H001173|限价产品CustomerPrice不能为空; 若当前产品“不可立减”时,需要CustomerPrice大于等于限价产品卖价Member,否则返回异常码:H001184|客人实付金额CustomerPrice需不可小于当前限价产品卖价; 若当前产品“不可抬价”时,需要CustomerPrice小于等于限价产品卖价Member,即对客销售金额不可超过限价产品卖价,否则返回异常码:H001180|客人实付金额CustomerPrice需不可大于当前限价产品卖价。 |
| ├─ supplierId | string | 非必须 | 供应商id(国际特有字段) |
| ├─ subSupplierId | string | 非必须 | 二级供应商id(国际特有字段) |
| ├─ shopperProductId | string | 非必须 | 商品库shopperid(国际特有字段) |
| ├─ adultOccupancyPerRoom | integer | 非必须 | 房间最大可住成人数 国际特有字段 |
| ├─ internetFilter | integer | 非必须 | 网络标准化(国际特有字段) |
| ├─ boardFilter | integer | 非必须 | 早餐标准化(国际特有字段) |
| ├─ roomSquareMetres | string | 非必须 | 房间面积(国际特有字段) |
| ├─ bedDescription | string | 非必须 | 床型描述(国际特有字段) |
| ├─ bedTypeAssociationalFilter | string | 非必须 | 床型标准化描述(国际特有字段) |
| ├─ hasWindow | boolean | 非必须 | 是否有窗(国际特有字段) |
| ├─ smokingDesc | string | 非必须 | 吸烟偏好描述(国际特有字段) |
| ├─ board | object | 非必须 | 膳食(国际特有字段) |
| ├─ breakfastIncluded | boolean | 非必须 | 是否含早(国际特有字段) |
| ├─ halfboardIncluded | boolean | 非必须 | 是否半膳(国际特有字段) |
| ├─ fullboardIncluded | boolean | 非必须 | 是否全膳(国际特有字段) |
| ├─ field_10 | object [] | 非必须 | 膳食明细(国际特有字段) |
| ├─ description | string | 非必须 | 描述(国际特有字段) |
| ├─ field_14 | integer | 非必须 | 膳食数量(国际特有字段) |
| ├─ count | integer | 非必须 | 膳食类型 1:早餐;2:午餐;3:晚餐;0:未知餐型;(国际特有字段) |
| ├─ boardDesc | string | 非必须 | 膳食描述(国际特有字段) |
| ├─ roomChildAge | integer | 非必须 | 房间可住儿童年龄(国际特有字段) |
| ├─ roomMaxPax | integer | 非必须 | 房间最大入住人数(国际特有字段) |
| ├─ childrenOccupancyPerRoom | integer | 非必须 | 房间最大可住儿童数(国际特有字段) |
| ├─ checkInInstructions | string | 非必须 | 入住需知(国际特有字段) |
| ├─ extraPersonFee | number | 非必须 | 额外人员费用(附加费) (国际特有字段) |
| ├─ extraPersonFeeRMB | number | 非必须 | 额外人员费用(附加费人民币) (国际特有字段) |
| ├─ bedGroups | object [] | 非必须 | 床型信息(国际特有字段) |
| ├─ bedGroupId | string | 非必须 | 床型信息id(国际特有字段) |
| ├─ bedGroupDesc | string | 非必须 | 床型信息描述(国际特有字段) |
| ├─ bedTypes | object [] | 非必须 | 床类型(国际特有字段) |
| ├─ bedTypeId | string | 非必须 | 床类型id(国际特有字段) |
| ├─ bedTypeName | string | 非必须 | 床类型名称(国际特有字段) |
| ├─ bedType | string | 非必须 | 床类型(国际特有字段) |
| ├─ count | integer | 非必须 | 床数(国际特有字段) |
| ├─ size | string | 非必须 | 床大小(国际特有字段) |
| ├─ internetDesc | string | 非必须 | 网络描述(国际特有字段) |
| ├─ additionalTax | object | 非必须 | 另付税和服务费(国际特有字段) |
| ├─ totalAmountRmb | number | 非必须 | 另付税和服务费总额 |
| ├─ additionalTaxItems | object [] | 非必须 | 另付税和服务费明细 |
| ├─ description | string | 非必须 | 另付税和服务费明细描述 |
| ├─ amount | number | 非必须 | 另付税和服务费明细金额 |
| ├─ pkgProductIds | string | 非必须 | 礼包套餐ID |
