方法名称
hotel.data.validate
使用说明
建议在提交订单前调用。当返回的Code为0并且ResultCode为OK的情况下表示可以正常提交订单。
输入参数
节点 | 名称 | 类型 | 可为空 | 说明 |
---|---|---|---|---|
ArrivalDate | 入住日期 | Date | N | 使用yyyy-MM-dd格式,例如:2022-12-09 |
DepartureDate | 离店日期 | Date | N | 使用yyyy-MM-dd格式,例如:2022-12-09 |
EarliestArrivalTime | 最早到店时间 | Date Time | N | 请参考hotel.order.create中的说明 |
LatestArrivalTime | 最晚到店时间 | DateTime | N | |
HourRoomStartTime | 钟点房入住开始时间 | DateTime | Y | 当试单的产品为钟点房时,需要入参该字段,格式为yyyy-MM-dd HH:mm:ss,且应符合钟点房的开始结束时间; v1.55添加,可参照:https://open.elong.com/faq/detail?id=318&plt=2传入则进行验证,不传不进行验证 |
HourRoomEndTime | 钟点房入住结束时间 | DateTime | Y | |
HotelId | 酒店编号 | String(8) | N | |
RoomId | 展示房型编号 | String(10) | Y | 允许为空,当传入时会校验房型编号绑定关系 |
RoomTypeID | 销售房型编号 | String(10) | N | |
RatePlanId | 产品编号 | Int | N | |
TotalPrice | 总价 | Decimal | N | 货币类型为原币种 |
NumberOfRooms | 房间数量 | Int | N | 客人想要预订的房间数量 |
LittleMajiaId | 马甲Id | String | Y | 从hotel.detail接口获取,用于促销,促销产品调用时,需要透传该字段; 新接入搜索模式或者国际酒店请求时,必传;建议历史已接入搜索模式分销商也将此字段全部传回;国内酒店马甲Id不再有30分钟限制 搜索模式所有产品必传 |
GoodsUniqId | 商品唯一标示 | String | Y | 从hotel.detail接口获取,用于促销,促销产品调用时,需要透传该字段; 新接入搜索模式或者国际酒店请求时,必传;建议历史已接入搜索模式分销商也将此字段全部传回 搜索模式所有产品必传 |
ChildAges | 儿童年龄 | Int[] | Y | 仅用于国际及港澳台酒店,大陆酒店无需关注。 |
NumberOfAdults | 成人数 | Int | N | 仅用于国际及港澳台酒店,大陆酒店无需关注。 |
HotelCode | 酒店code | String | N | 仅用于国际及港澳台酒店,大陆酒店无需关注。 |
SupplierId | 供应商id | String | N | 仅用于国际及港澳台酒店,大陆酒店无需关注。 |
SubSupplierId | 二级供应商id | String | N | 仅用于国际及港澳台酒店,大陆酒店无需关注。 |
ShopperProductId | 商品库shopperid | String | N | 仅用于国际及港澳台酒店,大陆酒店无需关注。 |
CurrencyCode | 币种 | Enum | N | 仅用于国际及港澳台酒店,大陆酒店无需关注。 |
Nat | 国籍 | String[] | Y | 非中国大陆特有字段,如果调用该接口试单时可获取到客人国籍,可传入,我们将验证国籍是否符合当前产品;如果调用该接口时获取不到客人国籍,请按照出参中的Nat字段自行验证当前产品的国籍限制与入住人是否符合 |
DayPriceList | 每日价 | DayPrice[] | Y | 每日价透传:用于每日金额校验,避免出现订单部分退艺龙与合作方退款金额不一致现象发生 。DayPriceList节点里每个DayPrice里的Price之和 * NumberOfRooms = TotalPrice |
DayPrice
节点 | 名称 | 类型 | 可为空 | 说明 |
---|---|---|---|---|
Price | 每日价 | BigDecimal | N | 每日价格 |
Date | 日期 | Date | N | 价格对应的日期 |
MinRate | 税后价 | BigDecimal | Y | 国际必传、国内不允许传。对应于NightRate里MinRate,同时Price为NightRate里Rate |
响应结果
节点 | 名称 | 类型 | 可为空 | 说明 |
---|---|---|---|---|
ResultCode | 验证结果 | Enum | N | OK: 正常可预订 Product:产品无效或关房 Inventory:房量不够 Rate:价格不符 |
ErrorMessage | 具体结果信息 | String(255) | Y | V1.02新增 |
GuaranteeRate | 担保金额 | Decimal | Y | 如果是担保订单才有这个值 |
CurrencyCode | 担保金额的货币类型 | Enum | Y | 参考Currency |
CancelTime | 最晚取消时间 | DateTime | Y | 担保订单可取消的时间,如果返回的时间小于当前时间,则代表此订单不可变更取消 |
FreeCancelTime | 免费取消时间 | DateTime | Y | V1.33新增 |
PenaltyAmount | 罚金金额 | Decimal | Y | V1.33新增货币类型为人民币 只代表取消时间处于免费取消时间跟最晚取消时间之间产生的罚金金额,早于免费取消时间不收罚金,晚于最晚取消100%罚金 |
interValidateInfo | 国际验证详情 | Element | N | 参考interValidateInfo节点,仅用于国际及港澳台酒店,大陆酒店无需关注。 |
interValidateInfo节点
节点 | 名称 | 类型 | 可为空 | 说明 |
---|---|---|---|---|
ratePlanInfo | 政策列表信息 | Element | Y | 参考RatePlanInfo节点,仅用于国际及港澳台酒店,大陆酒店无需关注。 |
orderHotel | 酒店信息 | Element | Y | 参考orderHotel节点,仅用于国际及港澳台酒店,大陆酒店无需关注。 |
orderHotel节点
节点 | 名称 | 类型 | 可为空 | 说明 |
---|---|---|---|---|
HotelId | 物理酒店ID | String | N | 仅用于国际及港澳台酒店,大陆酒店无需关注。 |
Name | 酒店名称 | String | N | 仅用于国际及港澳台酒店,大陆酒店无需关注。 |
HotelEnglishName | 酒店英文名称 | String | Y | 仅用于国际及港澳台酒店,大陆酒店无需关注。 |
Address | 地址 | String | Y | 仅用于国际及港澳台酒店,大陆酒店无需关注。 |
AddressEn | 英文地址 | String | Y | 仅用于国际及港澳台酒店,大陆酒店无需关注。 |
Phone | 手机号 | String | Y | 仅用于国际及港澳台酒店,大陆酒店无需关注。 |
CityName | 城市名称 | String | N | 仅用于国际及港澳台酒店,大陆酒店无需关注。 |
HotelCountryName | 国家名称 | String | N | 仅用于国际及港澳台酒店,大陆酒店无需关注。 |
HotelCountryId | 国家ID | String | N | 仅用于国际及港澳台酒店,大陆酒店无需关注。 |
HotelLatitude | 纬度 | String | Y | 仅用于国际及港澳台酒店,大陆酒店无需关注。 |
HotelLongitude | 经度 | String | Y | 仅用于国际及港澳台酒店,大陆酒店无需关注。 |
CityId | 城市ID | String | N | 仅用于国际及港澳台酒店,大陆酒店无需关注。 |
Star | 星级 | Int | Y | 仅用于国际及港澳台酒店,大陆酒店无需关注。 |
RatePlanInfo节点
节点 | 名称 | 类型 | 可为空 | 说明 |
---|---|---|---|---|
ConfirmType | 确认类型 | Int | N | 确认类型,0延迟确认,1立即确认;仅用于国际及港澳台酒店,大陆酒店无需关注。 |
CancelName | 取消名称 | String | Y | 取消名称:限时取消、不可取消、随时取消; 仅用于国际及港澳台酒店,大陆酒店无需关注。 |
CancelDescription | 取消政策说明文案 | String | Y | 仅用于国际及港澳台酒店,大陆酒店无需关注。 |
RateNightlyRateList | 每晚房价 | RoomRateNightlyRate[] | Y | 参考RoomRateNightlyRate节点,仅用于国际及港澳台酒店,大陆酒店无需关注。 |
CancelPolicyList | 取消政策集合 | CancelPolicy[] | Y | 参考CancelPolicy节点,仅用于国际及港澳台酒店,大陆酒店无需关注。 |
OccupancyPerRoom | 房间最大入住人数 | Int | Y | 仅用于国际及港澳台酒店,大陆酒店无需关注。 |
AdultPerRoom | 成人数 | Int | Y | 仅用于国际及港澳台酒店,大陆酒店无需关注。 |
ChildPerRoom | 儿童数 | Int | Y | 仅用于国际及港澳台酒店,大陆酒店无需关注。 |
RoomChildAge | 儿童年龄 | Int | Y | 仅用于国际及港澳台酒店,大陆酒店无需关注。 |
RoomDescription | 房间描述 | String | Y | 仅用于国际及港澳台酒店,大陆酒店无需关注。 |
CheckInInstructions | 入住需知 | String | Y | 仅用于国际及港澳台酒店,大陆酒店无需关注。 |
SmokingPreferences | 客房的可用吸烟偏好 | String | Y | 仅用于国际及港澳台酒店,大陆酒店无需关注。 |
RestInventoryCount | 剩余房间数 | String | Y | 仅用于国际及港澳台酒店,大陆酒店无需关注。 |
ExtraPersonFee | 额外人员费用 | Decimal | Y | 仅用于国际及港澳台酒店,大陆酒店无需关注。 |
ExtraPersonFeeRMB | 额外人员费用(人民币) | Decimal | Y | 仅用于国际及港澳台酒店,大陆酒店无需关注。 |
BedGroups | 床型信息 | BedGroup[] | Y | 参考BedGroup节点,仅用于国际及港澳台酒店,大陆酒店无需关注。 |
AdditionalTax | 另付税和服务费 | AdditionalTax | Y | 参考AdditionalTax节点 仅用于国际及港澳台酒店,大陆酒店无需关注。 |
boardInfo | 餐 | Board | Y | 仅用于国际及港澳台酒店,大陆酒店无需关注。注意兼容首字母的大小写 |
Nat | 国籍限制 | Nat | Y | 为空时,不一定代表一定不限制国籍,也可能是供应商无能力提供标准限制。 如果当前字段不为空,代表产品一定有限制,见Nat节点 |
RoomRateNightlyRate节点
节点 | 名称 | 类型 | 可为空 | 说明 |
---|---|---|---|---|
Rate | 每晚每间房价(含税费) | Decimal | N | 仅用于国际及港澳台酒店,大陆酒店无需关注。 |
MinRate | 最小价(不含税费) | Decimal | N | 仅用于国际及港澳台酒店,大陆酒店无需关注。 |
Date | 日期 | Date | N | 仅用于国际及港澳台酒店,大陆酒店无需关注。 |
CancelPolicy节点
节点 | 名称 | 类型 | 可为空 | 说明 |
---|---|---|---|---|
Penalty | 罚金 | Decimal | N | 仅用于国际及港澳台酒店,大陆酒店无需关注。 |
PenaltyRMB | 罚金(人民币) | Decimal | N | 仅用于国际及港澳台酒店,大陆酒店无需关注。 |
DateFrom | 取消开始时间 | Date | N | 仅用于国际及港澳台酒店,大陆酒店无需关注。 |
DateTo | 取消结束时间 | Date | N | 仅用于国际及港澳台酒店,大陆酒店无需关注。 |
Nat节点
节点 | 名称 | 类型 | 可为空 | 说明 |
---|---|---|---|---|
Type | 类型 | Int | N | 1:不适用;2:适用 |
List | 国籍Code列表 | String[] | N | 例如:["CN",GB"] |
BedGroup节点
节点 | 名称 | 类型 | 可为空 | 说明 |
---|---|---|---|---|
BedGroupId | 床型信息id | String | Y | 仅用于国际及港澳台酒店,大陆酒店无需关注。 |
BedGroupDesc | 床型信息描述 | String | Y | 仅用于国际及港澳台酒店,大陆酒店无需关注。 |
BedTypes | 床类型集合 | BedType[] | Y | 参考BedType节点,仅用于国际及港澳台酒店,大陆酒店无需关注。 |
BedType节点
节点 | 名称 | 类型 | 可为空 | 说明 |
---|---|---|---|---|
BedTypeId | 床类型id | String | Y | 仅用于国际及港澳台酒店,大陆酒店无需关注。 |
BedTypeName | 床类型名称 | String | Y | 仅用于国际及港澳台酒店,大陆酒店无需关注。 |
BedType | 床类型 | String | Y | 仅用于国际及港澳台酒店,大陆酒店无需关注。 |
Count | 床数 | Int | Y | 仅用于国际及港澳台酒店,大陆酒店无需关注。 |
Size | 床大小 | String | Y | 仅用于国际及港澳台酒店,大陆酒店无需关注。 |
Board节点
节点 | 名称 | 类型 | 可为空 | 说明 |
---|---|---|---|---|
IsBreakfastIncluded | 是否含早 | Boolean | Y | 仅用于国际及港澳台酒店,大陆酒店无需关注。注意兼容首字母的大小写 |
halfBoardIncluded | 是否半膳 | Boolean | Y | 仅用于国际及港澳台酒店,大陆酒店无需关注。注意兼容首字母的大小写 |
fullBoardIncluded | 是否全膳 | Boolean | Y | 仅用于国际及港澳台酒店,大陆酒店无需关注。注意兼容首字母的大小写 |
boardDetails | 膳食明细 | Element | Y | 仅用于国际及港澳台酒店,大陆酒店无需关注。注意兼容首字母的大小写 |
BoardDetail节点
节点 | 名称 | 类型 | 可为空 | 说明 |
---|---|---|---|---|
Count | 膳食数量 | Int | Y | 仅用于国际及港澳台酒店,大陆酒店无需关注。 |
type | 膳食类型 | Int | Y | 仅用于国际及港澳台酒店,大陆酒店无需关注。注意兼容首字母的大小写 |
输入示例
https://api-test.elong.com/rest?timestamp=1488771221&format=json &method=hotel.data.validate&signature=c098d1ef0902b7af1aef07674ac496d4 &user={userid}&data={"Version":"1.28","Local":"zh_CN","Request": {"ArrivalDate":"2017-3-7","DepartureDate":"2017-3-8", "EarliestArrivalTime":"2017-3-7 14:00:00","LatestArrivalTime":"2017-3-7 17:00:00", "HotelId":"40101006","RoomTypeID":"1131","RatePlanId":"16774","TotalPrice":"200.0", "NumberOfRooms":"1"}}
输出示例
{ "Code":"0", "Result":{ "ResultCode": "OK", "GuaranteeRate": "200.00", "CurrencyCode": "RMB", "CancelTime": "2017-03-16 14:00:00" } "Guid":"196d84d9-19b1-4aa2-8891-1c699e806a3c" }
注意事项
如返回错误提示是“数据校验接口,如果返回 获取产品信息失败,可能酒店、房型和RatePlan无效或未关联,也可能无对应库存或房价”,解决方案查看本页错误码,注意参考对象有效性判断。
常见错误码
错误码 | 解释 | 解决方法 |
---|---|---|
H001083 | 获取产品信息失败, 可能酒店、房型和 RatePlan无效或未 关联,也可能无对应 库存或房价 | 遇到这个问题,首先检查HotelId、RoomTypeId和RatePlanId对应关系是否正确 (HotelId不要传HotelCode,RoomTypeId不要传RoomId)。 如果对应正确,那么可能是库存失效导致的,大部分原因是因为数据更新不及时, 用户搜索得到结果后过了一段时间才下单,此时数据已发生变化, 无库存、满房、无价、不符合预定规则。该问题不可能完全杜绝, 离线数据模式可以通过及时更新数据来减少。 详细说明请查看常见问题:https://open.elong.com/faq/detail?id=162&plt=2 |
H001188 | 每日价传参异常 |
|
H001189 | 每日价传参异常,{0}价格异常 |
|