api可视化工具>>

酒店

国内酒店-产品详情更新时间:2023/09/07 14:27

方法名称

hotel.data.rp

使用说明

本接口用于获取酒店的产品详情,在需要获取所有酒店产品和某一个酒店产品更新时使用。

支付方式

    分为现付和预付

    现付:分为担保与非担保:

    担保:分为全额担保和首晚担保,都需要考虑取消的情况,但客户到店依然需要支付房费,担保的费用会退回用户。

    预付:预付都是全额预付,也要考虑取消的情况。

    现付的担保和预付的全款都需要调用支付功能。

输入参数

节点名称类型可为空说明
HotelIds酒店编号列表String(100)N最多10个,逗号分隔
PaymentType付款类型EnumYAll -- 全部
SelfPay -- 前台现付
Prepay -- 预付
Options扩展参数stringY逗号分隔的数字列表。

1 - 返回RatePlan对应的可售卖渠道

2 - 返回结果中包含钟点房产品,1.32新增。

InvoiceMode

发票模式EnumY

NoSense --全部

Elong --艺龙开票

Hotel --酒店开票

注:该字段只过滤预付产品。


响应结果

根节点

节点名称类型可为空说明
Hotels 酒店列表Hotel[]Y包含多个Hotel节点


Hotel节点

节点名称类型可为空说明
HotelId酒店编号String(8)N
Suppliers供应商列表Supplier[]Y包含多个Supplier节点,一个Supplier表示一个供应商,一家酒店可能代理给多个供应商,艺龙也会从其他供应商分销部分产品,所以一个HotelId会对应多个HotelCode来表示不同的供应商酒店
RatePlans产品列表RatePlan[]Y包含多个 RatePlan节点
Gifts礼包Gift[]Y
酒店送礼信息, 礼品信息和预订或入住日期相关。
包含多个Gift节点建议使用GiftPackages节点
GiftPackages
礼包套餐
GiftPackage[]
Y
参考多个GiftPackage节点,参考下方文末礼包套餐(GiftPackage)使用说明


Supplier节点

节点名称类型可为空说明
HotelCode酒店编码String(8)N
WeekendStart周末开始IntN为0表示周末设置从周一开始
WeekendEnd周末结束IntN为0表示到周日结束,但是两个都为0表示无周末设置; 如果开始为3,结束为1,表示从周三到下周1都是周末设置
1代表周一,7代表周日
BookingRules预订规则BookingRule[]Y参考BookingRule节点
Rooms房间对应关系Room[]Y用于产品获取对应房型静态信息
包含多个Room节点
InvoiceMode预付产品发票模式EnumN

建议使用RatePlan节点上的InvoiceMode,该字段之后将不再使用。

仅用于预付产品的发票开具模式。

Elong-艺龙开发票、Hotel-酒店开发票
前台自付产品都是酒店开发票,这里的过滤是针对预付产品。
需要注意Elong艺龙开发票其实是艺龙可以提供代开发票服务,如果需要开通,请联系商务,否则可能需要自行开具发票
hotellevel
酒店等级StringY

V1.34新增

1:特牌 2:金牌 3:银牌 4:蓝牌 0:非挂牌

DCSupplierId直连供应商IDStringY仅表示直连供应商Id
SupplierType供应商类型StringY供应商类型


BookingRule节点

节点名称类型可为空说明
TypeCode规则类型EnumNNeedNationality:务必提供客人国籍 
PerRoomPerName:您预订了N间房,请您提供不少于N的入住客人姓名 
ForeignerNeedEnName:此酒店要求外宾务必留英文拼写 ,港澳台酒店出现这个字段的时候,所有人都需要填写英文名或姓名拼音
RejectCheckinTime:几点到几点酒店不接受预订 , 此处校验的是下单时的当前时间 
NeedPhoneNo:务必提供联系人手机号(请加在联系人结点Contact上)

RoomTypeIds关联的销售房型Idstring(500)Yall 表示所有房型
Description描述String(255)N
DateType日期类型EnumYBookDay –预订日期(订单的创建日期)
StartDate开始日期DateY
EndDate结束日期DateY
StartHour每天开始时间TimeY针对日期段内每天生效, 当TypeCode 为RejectCheckinTime时表示当前预订时间在StartHour到EndHour区间内酒店不接受预订。当EndHour大于24点的时候是表示第二天的几点加上了24小时,如26:00表示第二天的2点。
EndHour每天结束时间TimeY


GuaranteeRule节点

节点名称类型可为空说明
Description描述String(255)N
DateType日期类型EnumNCheckInDay-入住日期
StayDay-在店日期

StartDate开始日期dateN举例:DateType为CheckInDay:表示当前订单的入住日期落在StartDate和EndDate之间,并且入住日期符合周设置时才需要判断其它条件是否担保,否则不需要担保
EndDate结束日期dateN
WeekSet周有效天数, 一般为周一到周日都有效, 判断日期符合日期段同时也要满足周设置的有效 
周一对应为1,周二对应为2, 依次类推;逗号分隔
为空时表示无周末设置
String(20)YDateType为StayDay:表示当前订单的客人只要有住在店里面的日期(ArrivalDate,DepartureDate)落在StartDate和EndDate之间,并且入住日期符合周设置时才需要判断其它条件是否担保,否则不需要担保
IsTimeGuarantee是否到店时间担保BooleanNFalse:为不校验到店时间

True:为需要校验到店时间

此字段与之后的IsAmountGuarantee字段用法比较特殊,请仔细阅读注意事项中关于这两个字段的说明。


StartTime到店担保开始时间TimeY用于IsTimeGuarantee==true进行检查。
EndTime到店担保结束时间TimeY[补充]当EndTime小于StartTime的时候,默认从StartTime到次日6点都需要担保。
IsTomorrow到店担保的结束时间是否为第二天
Boolean
Y0为当天,1为次日
IsAmountGuarantee是否房量担保BooleanNFalse:为不校验房量条件
True:为校验房量条件

Amount担保的房间数,预定几间房以上要担保IntY用于IsAmountGuarantee==true进行检查
GuaranteeType担保类型StringYFirstNightCost为首晚房费担保
FullNightCost为全额房费担保

ChangeRule变更规则EnumY担保规则取消变更规则:
NoChange、不允许变更取消 

NeedSomeDay、允许变更/取消,需在XX日YY时之前通知

NeedCheckinTime、允许变更/取消,需在最早到店时间之前几小时通知

NeedCheckin24hour、允许变更/取消,需在到店日期的24点之前几小时通知

Day日期参数DateYChangeRule=   NeedSomeDay时,对应规则2描述中 “允许变更/取消,需在XX日YY时之前通知” 中的XX日,YY时
Time时间参数TimeY
Hour小时参数IntYChangeRule=   NeedCheckinTime时,对应规则3描述中 “ 允许变更/取消,需在最早到店时间之前几小时通知” 中的几小时
ChangeRule=   NeedCheckin24hour时,对应规则4描述中“ 允许变更/取消,需在到店日期的24点之前几小时通知” 中的几小时


PrepayRule节点

节点名称类型可为空说明
Description描述String(255)N
DateType日期类型EnumNCheckInDay:入住日期(该字段后期下线,可以不用判断)
StartDate开始日期DateY使用离线数据模式需要判断
EndDate结束日期DateY
WeekSet周有效设置String(20)Y
ChangeRule变更规则EnumNPrepayNoChange:不允许变更取消;
PrepayNeedSomeDay:在到店当日24点前Hour小时前按规则看是否可以免费变更取消(一般是不收罚金),在Hour和Hour2之间按规则存在罚金,Hour2之后不能变更取消;
PrepayNeedOneTime:在约定日期时间点(DateNum + Time)前可以免费变更取消

Hour第一阶段提前的几小时IntY用于PrepayNeedSomeDay
Hour2第二阶段提前的几小时IntY
DateNum具体取消时间日期部分dateY用于PrepayNeedOneTime
Time具体取消时间小时部分timeY
DeductFeesBefore在变更时间点前是否扣费IntY用于 PrepayNeedSomeDay的Hour前扣款类型(一般不收罚金)。DeductFeesBefore为1表示扣款,0表示不扣款。
DeductNumBefore时间点前扣费的金额或比例DecimalY
CashScaleFirstAfter时间点后扣款类型EnumYMoney:金额
Percent:比例

FristNight:首晚


DeductFeesAfter在变更时间点后是否扣费IntY用于 PrepayNeedSomeDay的Hour到Hour2之间的扣款类型。DeductFeesAfter为1表示扣款,0表示不扣款。如果CashScaleFirstAfter为FristNight,则返回-1,没有意义
DeductNumAfter时间点后扣费的金额或比例DecimalY
CashScaleFirstBefore时间点前扣款类型EnumYMoney:金额
Percent:比例
FristNight:首晚


PrepayRuleExtend节点

节点名称类型可为空说明
StartDate开始时间
DateN按入住日匹配,入住日在开始时间和结束时间之间,且符合周有效规则,即为命中此规则
EndDate结束时间
DateN
WeekSet周有效设置
String
N
NoshowPenalty取消费用类型
Int
Y
0:跟随取消费用 1:订单全额(目前只有0)
PenaltyRuleList取消规则列表PenaltyWindowType[]N
参见PenaltyWindowType节点;解析示例:点此查看
SubId规则类型Int
Y
1:长期规则;2:特殊规则,优先看特殊规则


GuaranteeRuleExtend节点

节点名称类型可为空说明
StartDate开始时间
DateN按入住日匹配,入住日在开始时间和结束时间之间,且符合周有效规则,即为命中此规则
EndDate结束时间
DateN
WeekSet周有效设置
String
N
GuaranteeType担保类型
Int
N
0:需担保 1:无需担保 2:超时担保 
NoshowPenalty取消费用类型
Int
Y
0:跟随取消费用 1:订单全额 计算担保金额用,0时取PenaltyRuleList计算出的罚金列表中罚金的最大值
GrtLatestCheckTime超时担保时间Int
Y
单位分钟,相对入住日24点的小时偏移量, 范围[0,840]
PenaltyRuleList取消规则列表PenaltyWindowType[]N
参见PenaltyWindowType节点;解析示例:点此查看
SubId规则类型Int
Y
1:长期规则;2:特殊规则,优先看特殊规则


PenaltyWindowType 节点

节点名称类型可为空说明
PenaltyType扣款类型
Int
N0:百分比 1:晚数  2:首晚百分比
PenaltyValue罚金
DoubleN

PenaltyType 为 0,2时,此值为两位小数。

PenaltyType  为1是,此值使用时会取整,按整数处理。

Deadline规则时间分割起始点
String
N单位分钟,第一个点为1439280


ValueAdd节点

节点名称类型可为空说明
TypeCode业务代码String(2)N01-早餐
02-午餐
03-晚餐
04-宽带上网
05-服务费

06-政府税

99-特殊早餐,有效日期内生效,优先级高于01早餐

当99特殊早餐和01早餐同时存在时,需要根据特殊早餐的有效日期判断哪种早餐生效,即在特殊早餐有效日期内99特殊早餐生效,有效日期外01早餐生效。








Description描述String(255)N附加服务描述,代理不想解析的话,可以直接显示该描述
IsInclude是否包含在房费中BooleanNfalse-不包含 true-包含,例如业务代码为早餐时,false即为不含早,true为含早
Amount包含的份数IntY
CurrencyCode货币代码EnumN参考Currency
PriceOption单价默认选项EnumYMoney-金额,Percent-比例,None-无效
Price单价DecimalY视PriceOption表示金额或比例, 比例值保存的百分数,不是最终的小数, 例如 20%, 则该字段保存为20
IsExtAdd是否单加BooleanN目前只有早餐服务该字段有意义
ExtOption单加单价默认选项EnumYMoney-金额,Percent-比例
ExtPrice单加单价DecimalY视 extOption 不同表示金额或比例值, 比例值保存的百分数,不是最终的小数, 例如 20%, 则该字段保存为20
StartDate开始日期DateY特殊早餐有效日期

EndDate结束日期DateY
           
WeekSet周有效设置String(20)Y
           


DrrRule节点

节点名称类型可为空说明
RoomTypeIds关联的房型String(100)Y 版本v1.11新增了节点RoomTypeIds,表示这个DrrRule关联的销售房型
TypeCode产品促销规则类型代码EnumNDRRBookAhead --提前X天预订,每间晚优惠:金额M或比例N%
DRRStayPerRoomPerNight --连住X晚起,每间晚优惠:金额M或比例N%
DRRStayLastNight --连住X晚起,最后Y晚优惠:金额M或比例N%
DRRStayTheNightAndAfter --连住X晚起,第Y晚及以后优惠:金额M或比例N%
DRRStayPerLastNight --每连住X晚起,最后Y晚优惠:金额M或比例N%
DRRStayWeekDay --在店日期包含周X1……X7,订单按周末价或平日价结算
DRRCheckInWeekDay --在周X1至X7入住,订单按周末价或平日价结算
Description描述String(255)Y
DateType日期类型EnumNCheckInDay:入住日期
StayDay:在店日期
BookDay:预订日期
StartDate促销生效开始日期DateY
EndDate促销生效结束日期DateY
DayNum提前几天IntY
CheckInNum连住几天IntY
EveryCheckInNum每连住几晚IntY
LastDayNum最后几天IntY
WhichDayNum第几晚及以后优惠IntY
CashScale按金额或按比例来优惠EnumYCash-金额 Scale-比例  
DeductNum按金额或比例优惠的数值DecimalY当CashScale为Percent时,该值保存的为百分数,例如30%
WeekSet星期有效设置String(20)Y日期符合Weekset中的周设置,才享受 feetype所对应的价格
仅DRRStayWeekDay和DRRCheckInWeekDay的时候使用
FeeType价格类型EnumYWeekendFee -周末价格
WeekdayFee -平日价格


Room节点

节点名称类型可为空说明
RoomTypeId销售房型编号String(8)N
           
关联RatePlan.RoomTypeIds
RoomId展示房型编号String(8)N
           
参考静态xml中的Room@Id
Status销售房型可用状态BooleanY版本V1.11增加;true---该销售房型可销售,false-该销售房型不能销售


RatePlan节点

节点名称类型可为空说明
RatePlanId产品编号IntN
RatePlanName产品名称String(50)N
CustomerType宾客类型EnumV1.01新增。
All=统一价;
Chinese =内宾价,需提示客人“须持大陆身份证入住”;
OtherForeign =外宾价,需提示客人“须持国外护照入住”;

HongKong   =港澳台客人价,需提示客人“须持港澳台身份证入住”;

ChinaGuest =中宾价,需提示客人“须持中国身份证、护照入住”;

注意统一价并不是下面几种宾客类型的合集,而是对所有宾客统一售价







guestType适用人群StringY

宾客类型的适用人群:

0:不限

1:持中国身份证的居民

2:持回乡证的港澳人士

3:持台胞证的台湾人士

4:持中国护照的侨胞

5:持大陆工作证/居留许可的外籍人士

6:持非中国护照的外籍人士

7:其他


guestTypeExtendCh其他StringY适用人群中其他的内容
HotelCode对应的酒店编码String(8)N

PaymentType付款类型EnumN SelfPay-前台现付、Prepay-预付,具体信息参看使用说明
RoomTypeIds关联的房型编码String(255)N多个房型编码时以英文逗号分隔
ProductTypes产品特性类型String(20)YV1.01新增。可逗号分隔,目前取值:
3-限时抢购
4-钟点房

5-手机专享

6-铂涛产品,下单需提供入住人身份证Identification字段已包含此逻辑,涉及到身份信息验证的可统一按照Identification字段来处理

17-景酒打包产品,只能与景点门票打包销售,默认不吐出

25-床位房(床位房类型此处已无效,判断床位房请解析RatePlanName或者Room节点的Name字段,其中只要有一个字段包含“床位”字样即为床位房

99-未知,艺龙内部使用,一般代理可忽略





NeedIdNo是否需要提供身份证号BooleanY如果是铂涛产品,不能通过此字段判断,不管true还是false,都要传入身份证。如果不是铂涛产品,指该RatePlan在下单的时候,是否需要传入入住人的身份证号信息,如果该字段不为空且为true,则在成单时必须传入身份证号(将来废弃,新字段请参考身份信息验证类型【Identification】)
Identification身份信息验证类型IntN0-无特殊验证要求(默认值)
1-整个订单至少传一个身份证
2-订单中每个房间至少传一个证件
3-订单中每个房间至少传一个身份证
4-每个客人传一个身份证
5-整个订单至少传一个身份证且需预订本人入住
(后续可能会继续增加其他验证类型,建议接入时将非文档中给出类型的产品做过滤处理)

sellChannels分销渠道String(20)YV1.51新增。可逗号分隔,目前取值:
1-分销专享,艺龙内部使用,一般代理可忽略

IsLimitTimeSale是否是今日特价(尾房)BooleanYV1.01新增。
如果为true,则要校验当前时间是否在StartTime和EndTime的范围内,从而决定这个RP是否显示在可销售产品中。


StartTime尾房每天预订开始时间TimeY默认值:00:00。仅在尾房情况下有效。
EndTime尾房每天预订结束时间TimeY默认值:23:59。仅在尾房情况下有效。
如果结束时间是00:00至6:00,则表示是次日。当EndTime大于24点的时候是表示第二天的几点加上了24小时,如26:00表示第二天的2点。


MinAmount预订最少数量IntY默认值:1
MinDays最少入住天数IntY默认值:1
MaxDays最多入住天数IntY默认值:365

MaxCheckinRooms最多预订间数Int

版本v1.35新增,规定了每个订单最多预订多少间

存在下单订多间不通过,但是一间一间的下单可以下多单的情况,这种情况就是此字段造成的。

为0时默认按照10间处理

默认值:9999


MinAdvHours最少提前预订小时数IntN按checkInDate的23:59:59(一般认为24点)来计算
MaxAdvHours最多提前预订小时数IntN
GuaranteeRules担保规则GuaranteeRule[]Y参考 GuaranteeRule节点
PrepayRules预付规则PrepayRule[]Y参考PrepayRule节点
PrepayRuleExtends新预付规则
PrepayRuleExtend[]Y
参考PrepayRuleExtend节点
GuaranteeRuleExtends新担保规则
GuaranteeRuleExtend[]Y
参考GuaranteeRuleExtend节点
ValueAdds增值服务ValueAdd[]Y参考ValueAdd节点
Meals新餐食节点Meal[]Y参考Meals节点
相较增值服务中的早餐,拓展了午餐、晚餐和动态餐食,去掉了无用字段。

DrrRules促销规则DrrRule[]Y参考DrrRule节点, DRR例子请参考DrrRule
CouponCoupon信息CouponYCoupon和入住日期相关,本处返回仅供参考。
参考Coupon节点


serviceTimePolicyInfo
产品提供服务的时间
serviceTimePolicyInfoY

酒店或供应商能处理订单的时间,无数据(即不返回这个字段)代表全天服务

预订当天入住且预订时间不在服务时间范围内的产品不可展示销售给客人,避免不必要的投诉。参看serviceTimePolicyInfo节点


BookingChannels产品可以展示销售的渠道StringYv1.20新增,同时需要 Options入参传入1后才能返回。
逗号分隔的数字列表:
1---线上(普通的PC访问的Web)
2---线下(呼叫中心、门店)
3---手机(Mobile App、H5)





IsPriceLimitProduct是否为限价产品BooleanN

表示本RatePlan是否为限价产品限价产品必须按照艺龙给出的售价进行售卖,即按照hotel.data.rate接口指定的价格卖给客人。不同限价类型约束规则不同,详见下面PriceLimitedType字段,接入完成后通知商务变更,新校验规则生效。

false --- 非限价

true --- 限价

(版本1.36新增)

判断限价时与hotel.data.rate接口中IsPriceLimit字段为或关系,两者有其一为true,均为限价。


PriceLimitedType限价类型IntN

二进制bit位分别表示各个限价条件,0为非限价,详见


CustomerLevel可售会员等级Int[]YV1.25新增。选值:
0-非会员 1-普通会员 2-贵宾会员 3-龙萃会员   4-钻石龙萃


InvoiceMode预付产品发票模式StringN

v1.31新增

仅用于预付产品的发票开具模式。

Elong-艺龙开发票、Hotel-酒店开发票
前台自付产品都是酒店开发票,这里的过滤是针对预付产品。
需要注意Elong艺龙开发票其实是艺龙可以提供代开发票服务,如果需要开通,请联系商务,否则可能需要自行开具发票

CooperationType
酒店签约类型
int
Y
v1.27 1为直签,2为非直签,0为未知
earliestToliveTime可住开始时间String(6)Y
V1.32新增。
1、钟点房产品特有字段。
2、可住时长stayTime为客人实际可住时长最大值,客人实际的可住时长需要代理根据可住结束时间减去当前时间进行计算

3、建议实际可住时长不足一小时时不要再展示给客人

4、当结束时间小于开始时间时表示第二天结束

5、注意钟点房是有可售时间范围的,可售开始时间为earliestToliveTime,可售结束时间为latestToliveTime减去stayTime,在可售时间范围外试单不能通过,即最晚入住时间为可售结束时间。

V1.61版本开始支持钟点房跨天

latestToliveTime大于24时即为钟点房跨天产品(前端具体展示格式可参考同程旅行官网)


latestToliveTime可住结束时间String(6)Y
stayTime可住时长String(2)Y
timeRushRuleList限时抢规则timeRushRule[]Y

参考timeRushRule节点


xStayPeopleNum可入住人数StringY房型补充说明
xStaySex可入住性别StringY
xBedType床型StringY
xFloor楼层StringY
xOrientation朝向StringY
xUserDefined自定义说明StringY
DrrRules促销规则DrrRule[]Y参考DrrRule节点, DRR例子请参考DrrRule
SupportSpecialInvoice是否支持专票BooleanYtrue 支持专票,false 不支持


timeRushRule节点

节点名称类型可为空说明
startDate规则生效开始日期DateY

限时抢产品规则,只对产品类型为限时抢的产品生效。

在规则生效日期时间范围内开启限时抢,可抢购时间范围为startTime到endTime。


bookingStartTime规则生效开始时间TimeY
endDate规则生效结束日期DateY
bookingEndTime规则生效结束时间TimeY
startTime限时抢开始时间TimeY
endTime限时抢结束时间TimeY


serviceTimePolicyInfo节点

节点名称类型可为空说明
start_date服务开始日期DateY

酒店或供应商能处理订单的时间,无数据代表全天服务

预订当天入住且预订时间不在服务时间范围内的产品不可展示销售给客人,避免不必要的投诉。


end_date服务结束日期DateY
week_effective服务周有效Integer[]Y

周日:0,周一:1,周二:2,周三:3,周四:4,周五:5,周六:6

在服务开始结束日期范围内,周无效代表不可服务


start_time服务开始时间
TimeY可服务的时间段,如果end_time小于start_time,则end_time表示的是次日的时间
end_time服务结束时间TimeY


Coupon节点

节点名称类型可为空说明
EffectiveDateFrom有效开始日期DateTimeN
EffectiveDateTo有效结束日期DateTimeN
CouponRedemptionUpperLimit最高上限值DecimalN根据用户优惠券的情况实行抵扣,抵扣不能超过这个数额
PromotionType类型IntN1 - 返现
9 - 预付立减
RoomTypeID关联的房型String(8)N
RatePlanID关联的产品IntN

GiftPackage节点

节点名称类型可为空说明
PkgProductId礼包套餐IDLongN
关联RatePlan.PkgProductids
PkgType
礼包套餐类型
Int
N
0:礼包,1:套餐
Status
礼包套餐状态
Int
N
0:无效,1:有效
PkgProductName礼包套餐名字StringN
RuleDescriptionAdditional礼包套餐特别说明StringY
Pictures礼包套餐图片Picture[] Y参考Picture节点
XProductsX产品列表XProduct[]Y参考XProduct节点
RelatedProduct
礼包套餐关联的产品
RelatedProduct
N

XProduct节点

节点名称类型可为空说明
XProductIdX产品IDLongN
X产品即一个具体的礼包
XProductNameX产品名字StringN
Status
X产品状态
Int
N
0:无效,1:有效
TypeNameX产品类型StringY
QuantityX产品数量String Y
ReceptionTimesX产品接待时间StringY
CapacityX产品适用人数StringY
BookingPhoneX产品预订电话StringY
AppointPolicyX产品预订规则StringY

Picture节点


节点名称类型可为空说明
ImgIndex礼包图片顺序IntN
ImgUrl礼包图片链接StringN

RelatedProduct节点

节点名称类型可为空说明
RoomTypeId供应商房型idStringN
RatePlanId价格计划IDIntN



Gift节点

节点名称类型可为空说明
GiftId送礼编号IntN关联RatePlan.GiftId
GiftDescription
礼包副标题
String
Y
关于礼品副标题的描述
Description
描述
String
N
关于礼品的描述
StartDate开始时间DateTimeN
EndDate结束时间DateTimeN
DateType日期类型EnumNCheckinDate:入住日
BookingDate:预订日
StayDate:在店日
WeekSet星期设置String(20)N
GiftContent活动内容String(2000)N
GiftTypes送礼类型String(20)N1.礼品-含果盘
3.礼品-含水果
4.礼品-含饮品
5.礼品-含精美艺品
6.礼品-其他
7.延迟退房-延迟至13点退房
8.延迟退房-延迟至14点退房
9.延迟退房-延迟至15点退房
10.延迟退房-其他
11.餐饮-含午餐
12.餐饮-含晚餐
13.餐饮-含下午茶
14.餐饮-含餐券
15.餐饮-其他
16.旅游门票-含景点门票
17.旅游门票-含演出门票
18.旅游门票-其他
19.折扣/折扣券-含店内折扣/折扣券
20.折扣/折扣券-含外部折扣/折扣券
21.折扣/折扣券-其他
22.交通-含接站
23.交通-含接机
24.交通-含送站
25.交通-含送机
26.交通-含景区直通车
27.交通-其他
28.其他-其他
注意:1.52版本及以后该字段废弃,请使用GiftInfos字段,1.52之前的版本扔使用该字段。
GiftInfos
新的送礼类型
GiftInfo[]
Y
参考GiftInfo字段
HourNumber小时数IntY
HourType小时数的类型EnumYHours24全天24小时都可以送礼品
XhourBefore几点之前送礼品
XHourAfter几点之后送礼品
WayOfGiving送礼方式EnumNEveryRoom-每间房送一回礼品
EveryRoomPerDay-每间房每个晚上送一回礼品
Other-其他,参考下面的描述
WayOfGivingOther其他的送礼具体方式String(20)Y送礼方式为其他的时候,送礼活动的名称
GiftValue礼包价值DoubleY礼包、套餐的预估总价值 


GiftInfo节点

节点名称类型可为空说明
GiftInfo礼包一级编号IntegerN1.含礼品
2.延迟退房
3.含餐饮
4.含旅游门票
5.含折扣/抵扣券
6.含交通
7.其他
GiftSubInfos二级礼包内容GiftSubInfo[]N参考GiftSubInfo节点


GiftSubInfo节点

节点名称类型可为空说明
SubInfo礼包二级编号IntegerN1.含果盘
3.含水果
4.含饮品
5.含精美艺品
6.其他
7.延迟至13点退房
8.延迟至14点退房
9.延迟至15点退房
10.其他
11.含午餐
12.含晚餐
13.含下午茶
14.含餐券
15.其他
16.含景点门票
17.含演出门票
18.其他
19.含店内折扣/抵扣券
20.含外部折扣/抵扣券
21.其他
22.含接站
23.含接机
24.含送站
25.含送机
26.含景区直通车
27.其他
28.其他
注意:1-6对应一级编号的1,7-10对应一级编号的2,11-15对应一级编号的3,16-18对应一级编号的4,19-21对应一级编号的5,22-27对应一级编号的6,28对应一级编号的7


HotelGiftProductRelation节点

节点名称类型可为空说明
RoomTypeIds关联的房型String(500)YAll –表示所有房型(仅限同一个HotelCode)
RatePlanId关联的RatePlanIntN0表示所有


HotelGiftDate节点

节点名称类型可为空说明
StartDate开始日期DateTime N
EndDate结束日期DateTime N


Meals节点

节点名称类型可为空说明
Type餐食类型String(2)N01-默认餐食
02-带有效期范围的餐食
0201同时存在时,入住日在02餐食有效日期内则02餐食生效,入住日在02范围内解析是无餐食也不看01默认餐食了;否则有效日期外01默认餐食生效。
02餐食可能有多条,01默认餐食最多1条。
(注:此节点为餐食的原始规则节点,hotel.detail#Meals为移位后的到天餐食结果表格。以下2种情况需要移位:1、入住日期内全部为固定餐食,2、入住日期内全部为半固定餐食且固定餐食类型一样时,固定餐食早餐、午餐需向后移一天展示;动态餐食分别与入住日期对应,不需要后移一天)
IsInclude是否包含在房费中BooleanNfalse-不包含 true-包含,false即为不含餐食,true为含餐食
NumberOfBreakfast早餐份数IntN
NumberOfLunch午餐份数IntN
NumberOfDinner晚餐份数IntN
NumberOfTypeMeal餐食种类数量IntN表示早餐份数、午餐份数、晚餐份数这三个字段大于0的字段数量之和;最小为0,最大为3
NumberOfOptionalMeal可选餐食种类数量IntNNumberOfTypeMeal>NumberOfOptionalMeal时,表示动态餐食,有以下几种情况:
1、早午晚餐,三选一、三选二
2、早午餐,二选一
3、午晚餐,二选一
4、早晚餐,二选一
当NumberOfTypeMeal=NumberOfOptionalMeal时,表示固定餐食,有以下几种情况
1、早+午+晚
2、早+午
3、早+晚
4、午+晚
5、只有早/午/晚
NumberOfTypeMeal为0或NumberOfOptionalMeal为0,均为无餐食
optionalMeals可选餐食类型StringY

表示可选餐食的类型,多个类型以“,”分割,只有当餐食为固定+动态餐食时才会有值

比如餐食为早餐两份+午餐2份或晚餐2份(到店2选1),该字段有值,为"Lunch,Dinner"

Description描述String(500)N餐食描述
DescribeOfBreakfast早餐描述StringY
DescribeOfLunch午餐描述StringY
DescribeOfDinner晚餐描述StringY
StartDate开始日期DateY02餐食的有效日期;01默认餐食时此字段均为空
EndDate结束日期Date              Y
WeekSet周有效设置String(20)              Y


输入参数示例

https://api-test.elong.com/rest?timestamp=1489987430&format=json
&method=hotel.data.rp&signature=6e21cd0ce89b1784b789d089ae08e2b3
&user={userid}&data={"Version":"1.28","Local":"zh_CN","Request":
{"HotelIds":"40101006","PaymentType":"All"}}

输出参数示例

{
    "Code": "0",
    "Result": {
        "Hotels": [
            {
                "HotelID": "40101006",
                "Suppliers": [
                    {
                        "HotelCode": "90042369",
                        "WeekendStart": 5,
                        "WeekendEnd": 7,
                        "BookingRules": [
                            {
                                "TypeCode": "PerRoomPerName",
                                "RoomTypeIds": "all",
                                "DateType": "BookDay",
                                "StartDate": "2014-02-13T00:00:00 08:00",
                                "EndDate": "2064-02-13T00:00:00 08:00",
                                "StartHour": "00:00",
                                "EndHour": "23:59",
                                "Description": "酒店要求每个房间至少提供一名入住客人的姓名"
                            }
                        ],
                        "Rooms": [
                            {
                                "RoomTypeId": "0001",
                                "RoomId": "1131",
                                "Status": true
                            }
                        ],
                        "InvoiceMode": "Elong"
                    }
                ],
                "RatePlans": [
                    {
                        "HotelCode": "40101006",
                        "RoomTypeIds": "1161,1168,1170,1179",
                        "CustomerType": "All",
                        "IsLimitTimeSale": false,
                        "StartTime": "00:00:00",
                        "EndTime": "23:59:00",
                        "MinAdvHours": 0,
                        "MaxAdvHours": 8760,
                        "GuaranteeRules": [],
                        "ValueAdds": [
                            {
                                "TypeCode": "01",
                                "IsInclude": false,
                                "Amount": 0,
                                "PriceOption": "Money",
                                "Price": 0,
                                "IsExtAdd": true,
                                "ExtOption": "Money",
                                "ExtPrice": 50,
                                "Description": "附加服务:单加1份早餐 50.0 元"
                            }
                        ],
                        "DrrRules": [],
                        "CustomerLevel": [
                            0,
                            1,
                            2,
                            3,
                            4
                        ],
                        "CooperationType": 1,
                        "RatePlanId": 106674,
                        "RatePlanName": "不含早餐",
                        "MinAmount": 1,
                        "MinDays": 1,
                        "MaxDays": 365,
                        "PaymentType": "SelfPay"
                    }
                ],
                "Gifts": [
                    {
                        "HotelGiftId": 1128,
                        "HotelCode": "90042369",
                        "RelatedProducts": [
                            {
                                "RoomTypeIds": "0004",
                                "RatePlanId": 375036
                            },
                            {
                                "RoomTypeIds": "0004",
                                "RatePlanId": 375038
                            },
                            {
                                "RoomTypeIds": "0004",
                                "RatePlanId": 375039
                            }
                        ],
                        "EffectiveDates": [
                            {
                                "StartDate": "2016-08-01T00:00:00 08:00",
                                "EndDate": "2017-08-31T00:00:00 08:00"
                            }
                        ],
                        "DateType": "CheckinDate",
                        "WeekSet": "1,2,3,4,5,6,7",
                        "GiftContent": "礼包测试",
                        "GiftContentEn": "",
                        "GiftTypes": "",
                        "HourNumber": 0,
                        "HourType": "Hours24",
                        "WayOfGiving": "EveryRoom",
                        "WayOfGivingOther": "",
                        "WayOfGivingOtherEn": ""
                    }
                ]
            }
        ]
    },
    "Guid": "e686bd6f-129e-416d-9ee7-982fde323d33"
}

注意事项

说明:担保预付规则,老逻辑是A,新逻辑是B、C;目前老逻辑,容易造成代理对客展示逻辑跟艺龙试单、下单之后的罚金、担保金额、取消时间等不一致,故建议代理按新逻辑进行处理,对客展示,防止双方因逻辑不一致导致赔付。

新增新的规则取消节点PrepayRuleExtends、GuaranteeRuleExtends,若是B类供应商,走新节点的判断逻辑(点此查看),A类供应商的判断逻辑不变;预计8月底开量切换,预计1个月+完成切换,最终B类供应商都会切到新规则,接入、切换过程有问题请联系我们。

A、 担保条件判断优先级说明
    
    找到所有的担保规则 ,  在店日期类型的条件优先级最高,入住日期类型的其次,仅返回一条有效的记录。

    1. 有没有符合条件的在店日期类型的担保条件

    2. 如果有含在店日期类型的担保条件,将所有在店日期依次判断,找到第一条符合星期条件的记录  并返回

    3. 继续找出有没有符合条件的入住日期类型的担保条件

    4. 如果有入住日期类型的担保条件 ,找到第一条符合星期条件的记录 并返回

    5. 担保规则筛选顺序:先判断IsAmountGuarantee和IsTimeGuarantee字段,再根据结果来决定最后判断的字段。IsAmountGuarantee和IsTimeGuarantee字段的详细判断如下:

IsAmountGuaranteeIsTimeGuarantee说明
FALSEFALSE无条件担保订单,即必须担保,不需要判断其他条件
TRUEFALSE房量担保,检查Amount
FALSETRUE到店时间担保,检查StartTime 和EndTime
TRUETRUE房量担保或到店时间担保 。需要检查Amount、StartTime和EndTime,满足一个条件就需要担保


B、担保规则条件判断说明(RatePlan节点下新增SupplierType,根据此字段区分供应商类别)

        A类供应商判别逻辑如下:

               1.1:初步筛选出满足“有效日期”、“日期类型”、“周有效”的担保规则列表。

               1.2:按“日期类型”,优先级:在店日期>入住日期,依次判断日期类型是:在店日期的规则是否命中“担保条件”,如果命中就用该担保规则计算担保金额、取消时间,无需再判断;如果未命中,继续查找,当所有“日期类型”为在店日期都无法满足时,才判断“日期类型”是到店日期的规则,全部过程只需要找到一条满足条件的规则,即可返回。

        B类供应商判别逻辑如下:

                1.1:初步筛选出满足“有效日期”、“日期类型”、“周有效”的担保规则列表。

                1.2:判断每一天,找出满足条件的担保规则列表,对担保金额、取消时间各维度取最严。担保金额:需要担保的日期房费之和(多个首晚不叠加,有全额即全额)。取消时间:为触发的规则列表中取最严从入住日的24点往前推算。


现付规则Case如下:

现付规则列表担保规则1担保规则2担保规则3担保规则4担保规则5
DateTypeCheckInDayStayDayStayDayStayDayStayDay
StartDate2019-10-012019-10-032019-10-052019-10-072019-10-09
EndDate2019-10-022019-10-042019-10-062019-10-082019-10-10
WeekSet1,2,3,4,5,6,71,2,3,4,5,6,71,2,3,4,5,6,71,2,3,4,5,6,71,2,3,4,5,6,7
IsTimeGuaranteetruetruefalsefalsefalse
StartTime18:0015:00
EndTime次日6:00次日6:00次日6:00次日6:00次日6:00
IsTomorrowtruetruetruetruetrue
IsAmountGuaranteefalsefalsetruetruefalse
Amount0
0320
GuaranteeTypeFullNightCostFirstNightCostFirstNightCostFullNightCostFullNightCost
ChangeRuleNeedCheckin24hourNeedCheckin24hourNeedCheckin24hourNeedCheckin24hourNoChange
Day1970-01-01T00:00:00+08:001970-01-01T00:00:00+08:001970-01-01T00:00:00+08:001970-01-01T00:00:00+08:001970-01-01T00:00:00+08:00
Time18:0018:0018:0018:0018:00
Hour641050
Case1(跨规则1、2)A类供应商B类供应商
ArrivalDate2019-10-01命中规则2命中规则1、2命中规则
DepartureDate2019-10-0415:00之前到店不需要担保,15:00~次日6:00到店需要担保15:00之前到店不需要担保,15:00~次日6:00到店需要担保担保条件
FirstNightCostFullNightCost担保金额
入住日24点前4个小时前可以免费取消,之后无法变更取消。
入住日24点前6个小时前可以免费取消,之后无法变更取消。取消时间

说明:1:A类供应商,按在店日期>入住日期,找到满足条件的1条数据,故命中规则2;”担保条件“、”担保金额“、”取消时间“均按规则2进行计算。

2:B类供应商,判断每一天,找到所有命中的规则,故命中规则1、2;对各维度取最严,担保条件:规则2的更严,用规则2数据;担保金额:规则1的更严,使用规则1数据;取消时间:规则1更严,使用规则1数据。

Case2(跨规则2、3)A类供应商B类供应商
ArrivalDate2019-10-03命中规则2

3间房以上(含3间)命中规则2、3;

3间房以下,命中规则2

命中规则
DepartureDate2019-10-0615:00之前到店不需要担保,15:00~次日6:00到店需要担保

3间房以上(含3间),需要担保;

3间房以下,15:00之前到店不需要担保,15:00~次日6:00到店需要担保。

担保条件
FirstNightCost

3间房以上(含3间),FirstNightCost

3间房以下,FirstNightCost

担保金额
入住日24点前4个小时前可以免费取消,之后无法变更取消。

3间房以上(含3间),入住日24点前10个小时前可以免费取消,之后无法变更取消

3间房以下,入住日24点前4个小时前可以免费取消,之后无法变更取消。

取消时间

说明:1:A类供应商,按在店日期>入住日期,找到满足条件的1条数据,故命中规则2;”担保条件“、”担保金额“、”取消时间“均按规则2进行计算。

2:B类供应商,3间房以上命中规则2、3;故“担保条件”、“担保金额”、“取消时间”各维度取最严。

Case3(跨规则3、4)A类供应商B类供应商
ArrivalDate2019-10-05

1间房未命中任何规则;

2间房命中规则4;

3间房以上(含3间)命中规则3;

1间房未命中任何规则;

2间房命中规则4;

3间房以上(含3间)命中规则3、4;

命中规则
DepartureDate2019-10-08

1间房不需要担保;

2间房、3间房以上均需担保,故2间房以上(含2间)需要担保

1间房不需要担保;

2间房、3间房以上均需担保,故2间房以上(含2间)需要担保;

担保条件

1间房无担保金额;

2间房FullNightCost;

3间房FirstNightCost

1间房无担保金额;

2间房FullNightCost;

3间房FullNightCost

担保金额

1间房可以免费取消;

2间房,入住日24点前5个小时可以免费取消,之后无法变更取消;

3间房,入住日24点前10个小时可以变更取消,之后无法变更取消;

1间房可以免费取消;

2间房,入住日24点前5个小时可以免费取消,之后无法变更取消;

3间房,入住日24点前10个小时可以变更取消,之后无法变更取消;

取消时间

说明:1:A类供应商,按在店日期>入住日期,1间房不能命中任何规则;2间房命中可以命中规则4,根据规则4计算担保金额、取消时间;3间房以上命中规则3,根据规则3计算担保金额、取消时间。

2:B类供应商,1间房未命中任何规则;2间房命中规则4,根据规则4计算担保金额、取消时间;3间房以上命中规则3、4,从规则3、4对担保金额、取消时间取最严。

Case4(跨规则4、5)A类供应商B类供应商
ArrivalDate2019-10-07

1间房命中规则5

2间房以上(含2间)命中规则4;

1间房命中规则5;

2间房以上(含2间)命中规则4、5;

命中规则
DepartureDate2019-10-10

1间房需要担保;

2间房以上(含2间)需要担保;

合并:1间房以上均需担保。

1间房需要担保;

2间房以上(含2间)需要担保;

合并:1间房以上均需担保。


担保条件

1间房FullNightCost

2间房以上FullNightCost;

合并:FullNightCost

1间房FullNightCost;

2间房以上FullNightCost;

合并:FullNightCost

担保金额

1间房不可以取消;

2间房以上,入住日24点前5个小时可以免费取消,之后无法变更取消;

1间房不可以取消;

2间房以上,不可以取消

合并:不可变更取消。


取消时间

说明:1:A类供应商,按在店日期>入住日期,1间房命中规则5,故担保金额、取消时间均按规则5计算;2间房以上命中规则4,故担保金额、取消时间按规则4计算。

2:B类供应商,1间房命中规则5,故担保金额、取消时间按规则5计算;2间房以上,命中规则4、5,担保金额、取消时间按规则4、5取最严。

C、预付规则条件判断说明(RatePlan节点下新增SupplierType,根据此字段区分供应商类别)

        A类供应商判别逻辑如下(不校验“日期类型”):

                1.1:只判断第一天是否命中规则,即:拿客人的入住日,判断是否在规则有效期内,同时是否命中“周有效”;

                1.2:如果命中,则使用该规则计算罚金、取消时间。

                1.3:如果未命中,则认为可以免费取消。

        B类供应商判别逻辑如下(不校验“日期类型”)

                1.1:判断每一天,即:拿客人入住日~离店日的每一天,判断是否在规则有效期,是否命中“周有效”;

                1.2:如果命中多条,则对罚金、取消时间取最严,存在“PrepayNoChange”,先用不允许变更取消。

                1.3:如果未命中,则认为可以免费取消。

预付规则Case如下:

预付规则列表预付规则1预付规则2
预付规则3
StartDate2019-10-01T00:00:00+08:002019-10-03T00:00:00+08:002019-10-05T00:00:00+08:00
EndDate2019-10-02T00:00:00+08:00019-10-04T00:00:00+08:002019-10-06T00:00:00+08:00
WeekSet1,2,3,4,5,6,71,2,3,4,5,6,71,2,3,4,5,6,7
ChangeRulePrepayNeedSomeDayPrepayNeedSomeDayPrepayNoChange
DateNum1970-01-01T00:00:00+08:001970-01-01T00:00:00+08:001970-01-01T00:00:00+08:00
Time18:0018:0018:00
CashScaleFirstAfterMoneyPercentFristNight
DeductFeesAfter110
DeductNumAfter300100
CashScaleFirstBeforeFristNightFristNightFristNight
DeductFeesBefore000
DeductNumBefore000
Hour302024
Hour210150
Case1(跨规则1、规则2),客人入参A类供应商B类供应商
ArrivalDate2019-10-02命中规则1命中规则1、2
DepartureDate2019-10-04在到店当日24点前30小时前可以免费取消,在30小时和10小时之间按规则收取罚金300元,10小时后不能变更取消。在到店日24点前30小时可以免费取消,在30小时到15小时之间按规则收取罚金(罚金需要判断规则1、2哪个大,用哪个),15小时后不能变更取消

说明:1:A类供应商,判断第一天,命中规则1,所有逻辑按规则1计算。

2:B类供应商,判断每一天,命中规则1、2,罚金、取消时间取最严;取消时间:取规则1的30小时前可以免费取消,取规则2的15小时后不可变更取消。

罚金:需要判断规则1、规则2哪个罚金多,用哪个。

Case2(跨规则2、规则3),客人入参A类供应商B类供应商
ArrivalDate2019-10-03命中规则2命中规则2、3
DepartureDate2019-10-06在到店日24点前20小时可以免费取消,在20小时和15小时之前按规则取消收取10%罚金,15小时后不能变更取消不能变更取消

说明:1:A类供应商,判断第一天,命中规则2,所有逻辑按规则2计算。

2:B类供应商,判断每一天,命中规则2、3,罚金、取消时间取最严;因规则3是“PrepayNoChange”,故不允许变更取消。

B类供应商新规则节点(PrepayRuleExtends、GuaranteeRuleExtends)解析逻辑

    1.按入住日匹配,入住日在开始时间和结束时间之间,且符合周有效规则,即为命中此规则

    2.当同时存在长期规则和特殊规则时,特殊规则优先(hotel.detail、hotel.data.booking无需考虑,给出的即是命中规则)

    3.Deadline按入住日24点往前推N分钟,是此段规则结果的EndTime,下一段规则结果的BeginTime;第一段1439280表示无穷小起始

    4.预付规则解析时最后一段非扣全额时应虚拟出不可取消段,最后一段为非扣全额且大于0的,将规则算出来的最后一段的结束时间改为入住日次日06:00,即最后一段的deadline-入住日次日06:00定义为付费取消段(如扣50%,左开右闭区间),再虚拟出一段不可取消的,即入住日次日06:00-无穷大,按全额百分比扣100%(case1、2);最后一段为非扣全额且等于0的,将规则算出来的最后一段的结束时间改为入住日24:00,即最后一段的deadline-入住日24:00定义为免费取消段,再虚拟出一段不可取消的,即入住日24:00-无穷大,按全额百分比扣100%(case3)

    5.现付规则解析时,若担保类型为超时担保,需要根据超时担保时间计算出是否需要担保,不需要担保时可以免费取消,需要担保时取消规则按照取消规则列表PenaltyRuleList计算(case5)


    示例:

            条件:"ArrivalDate": "2023-07-20","DepartureDate": "2023-07-22","每晚房费": 100

            case1,限时免费取消,按首晚的50%扣费:

            "PrepayRuleExtends": [

                    {

                        "StartDate": "2023-07-19T00:00:00+08:00",

                        "EndDate": "2099-01-01T00:00:00+08:00",

                        "WeekSet": "1,2,3,4,5,6,7,",

                        "NoshowPenalty": 0,

                        "PenaltyRuleList": [

                            {

                                "PenaltyType": 0,

                                "PenaltyValue": 0,

                                "Deadline": 1439280

                            },

                            {

                                "PenaltyType": 2,

                                "PenaltyValue": 0.5,

                                "Deadline": 600

                            }

                        ]

                    }

            ]

            case1解析结果:

            "PrepayResult": {

                                    "CancelDescription": "您可以在2023年7月20日14:00之前免费取消或变更订单;您在2023年7月21日6:00之前变更或取消,将收取部分房费50元作为违约费用;在2023年7月21日6:00之后变更或取消,将收取全额房费作为违约费用。若您已办理入住,则订单不可变更或取消。",

                                    "CancelTag": "入住日14点前免费取消",

                                    "CancelType": 3,

                                    "LadderParseList": [

                                        {

                                            "BeginTime": 1603512000,

                                            "EndTime": 1689832800,

                                            "CutType": 0,

                                            "CutValue": 0,

                                            "Amount": 0,

                                            "ShortDesc": "免费取消",

                                            "BeginTimeLocal": 1603512000,

                                            "EndTimeLocal": 1689832800,

                                            "AmountRmb": 0,

                                            "ExchangeRate": 1

                                        },

                                        {

                                            "BeginTime": 1689832800,

                                            "EndTime": 1689890400,

                                            "CutType": 1,

                                            "CutValue": 50

                                            "Amount": 50,

                                            "ShortDesc": "¥50",

                                            "BeginTimeLocal": 1689832800,

                                            "EndTimeLocal": 1689890400,

                                            "AmountRmb": 50,

                                            "ExchangeRate": 1

                                        },

                                        {

                                            "BeginTime": 1689890400,

                                            "EndTime": 4102329600,

                                            "CutType": 1,

                                            "CutValue": 200,

                                            "Amount": 200,

                                            "ShortDesc": "不可取消",

                                            "BeginTimeLocal": 1689890400,

                                            "EndTimeLocal": 4102329600,

                                            "AmountRmb": 200,

                                            "ExchangeRate": 1

                                        }

                                    ]

                                }


            case2,限时免费取消,按订单总额比例80%扣费:        

            "PrepayRuleExtends": [

                    {

                        "StartDate": "2023-07-19T00:00:00+08:00",

                        "EndDate": "2099-01-01T00:00:00+08:00",

                        "WeekSet": "1,2,3,4,5,6,7,",

                        "NoshowPenalty": 0,

                        "PenaltyRuleList": [

                            {

                                "PenaltyType": 0,

                                "PenaltyValue": 0,

                                "Deadline": 1439280

                            },

                            {

                                "PenaltyType": 0,

                                "PenaltyValue": 0.8,

                                "Deadline": 360

                            }

                        ]

                    }

                ]

            case2解析结果:

            "PrepayResult": {

                                    "CancelDescription": "您可以在2023年7月20日18:00之前免费取消或变更订单;您在2023年7月21日6:00之前变更或取消,将收取部分房费160元作为违约费用;在2023年7月21日6:00之后变更或取消,将收取全额房费作为违约费用。若您已办理入住,则订单不可变更或取消。",

                                    "CancelTag": "入住日18点前免费取消",

                                    "CancelType": 3,

                                    "LadderParseList": [

                                        {

                                            "BeginTime": 1603512000,

                                            "EndTime": 1689847200,

                                            "CutType": 0,

                                            "CutValue": 0,

                                            "Amount": 0,

                                            "ShortDesc": "免费取消",

                                            "BeginTimeLocal": 1603512000,

                                            "EndTimeLocal": 1689847200,

                                            "AmountRmb": 0,

                                            "ExchangeRate": 1

                                        },

                                        {

                                            "BeginTime": 1689847200,

                                            "EndTime": 1689890400,

                                            "CutType": 1,

                                            "CutValue": 160,

                                            "Amount": 160,

                                            "ShortDesc": "¥160",

                                            "BeginTimeLocal": 1689847200,

                                            "EndTimeLocal": 1689890400,

                                            "AmountRmb": 160,

                                            "ExchangeRate": 1

                                        },

                                        {

                                            "BeginTime": 1689890400,

                                            "EndTime": 4102329600,

                                            "CutType": 1,

                                            "CutValue": 200,

                                            "Amount": 200,

                                            "ShortDesc": "不可取消",

                                            "BeginTimeLocal": 1689890400,

                                            "EndTimeLocal": 4102329600,

                                            "AmountRmb": 200,

                                            "ExchangeRate": 1

                                        }

                                    ]

                                }


            case3,入住日24点前免费取消:

            "PrepayRuleExtends": [

                    {

                        "StartDate": "2023-07-19T00:00:00+08:00",

                        "EndDate": "2099-01-01T00:00:00+08:00",

                        "WeekSet": "1,3,4,5,6,7,",

                        "NoshowPenalty": 0,

                        "PenaltyRuleList": [

                            {

                                "PenaltyType": 0,

                                "PenaltyValue": 0,

                                "Deadline": 1439280

                            }

                        ]

                    }

                ]

            case3解析结果:           

            "PrepayResult": {

                                    "CancelDescription": "您可以在2023年7月20日24点之前免费取消或变更订单;在2023年7月21日0:00之后变更或取消,将收取全额房费作为违约费用。若您已办理入住,则订单不可变更或取消。",

                                    "CancelTag": "入住日24点前免费取消",

                                    "CancelType": 3,

                                    "LadderParseList": [

                                        {

                                            "BeginTime": 1603512000,

                                            "EndTime": 1689868800,

                                            "CutType": 0,

                                            "CutValue": 0,

                                            "Amount": 0,

                                            "ShortDesc": "免费取消",

                                            "BeginTimeLocal": 1603512000,

                                            "EndTimeLocal": 1689868800,

                                            "AmountRmb": 0,

                                            "ExchangeRate": 1

                                        },

                                        {

                                            "BeginTime": 1689868800,

                                            "EndTime": 4102329600,

                                            "CutType": 1,

                                            "CutValue": 200,

                                            "Amount": 200,

                                            "ShortDesc": "不可取消",

                                            "BeginTimeLocal": 1689868800,

                                            "EndTimeLocal": 4102329600,

                                            "AmountRmb": 200,

                                            "ExchangeRate": 1

                                        }

                                    ]

                                }


            case4,不可取消:

            "PrepayRuleExtends": [

                    {

                        "StartDate": "2023-07-19T00:00:00+08:00",

                        "EndDate": "2099-01-01T00:00:00+08:00",

                        "WeekSet": "1,2,3,4,5,6,7,",

                        "NoshowPenalty": 0,

                        "PenaltyRuleList": [

                            {

                                "PenaltyType": 0,

                                "PenaltyValue": 1,

                                "Deadline": 1439280

                            }

                        ]

                    }

                ]

            case4解析结果:        

            "PrepayResult": {

                                    "CancelDescription": "您的订单一经确认,不可变更或取消;如未能如约入住,将收取全额房费作为违约费用。",

                                    "CancelType": 4,

                                    "LadderParseList": [

                                        {

                                            "BeginTime": -28800,

                                            "EndTime": 4102329600,

                                            "CutType": 1,

                                            "CutValue": 200,

                                            "Amount": 200,

                                            "ShortDesc": "不可取消",

                                            "BeginTimeLocal": -28800,

                                            "EndTimeLocal": 4102329600,

                                            "AmountRmb": 200,

                                            "ExchangeRate": 1

                                        }

                                    ]

                                }

            

            case5,按到店时间担保:

            GuaranteeRuleExtends": [

                            {

                                "StartDate": "2023-07-18T00:00:00+08:00",

                                "EndDate": "2023-07-20T00:00:00+08:00",

                                "WeekSet": "1,2,3,4,5,6,7",

                                "NoshowPenalty": 0,

                                "GuaranteeType": 2,

                                "GrtLatestCheckTime": 600,

                                "PenaltyRuleList":

                                [

                                    {

                                        "PenaltyType": 0,

                                        "PenaltyValue": 1.0,

                                        "Deadline": 1439280

                                    }

                                ]

                            }

                        ]


            case5解析结果:  

            当最晚到店时间为14点之前时,不需要担保,免费取消:

            "GuaranteeResult": {

                         "GuaranteeMoney": 0.0

                        "NeedGuarantee": false,

                        "CancelDescription": "办理入住前,您可以随时免费取消或变更订单。",

                        "CancelType": 1,

                        "LadderParseList":

                        [

                            {

                                "BeginTime": 1689651032,

                                "EndTime": 4102329600,

                                "CutType": 0,

                                "CutValue": 0.0,

                                "Amount": 0.0,

                                "ShortDesc": "免费取消",

                                "AmountRmb": 0.0,

                                "ExchangeRate": 1.0

                            }

                        ]

                    }

            当最晚到店时间为14点或之后时,需要担保,不可取消:

            "GuaranteeResult": {

                        "GuaranteeMoney": 200,

                        "NeedGuarantee": true,

                        "CancelDescription": "订单确认后,若您取消或变更订单,将收取全额担保金作为违约费用。",

                        "CancelType": 4,

                        "LadderParseList": [

                            {

                                "BeginTime": -28800,

                                "EndTime": -28800,

                                "CutType": 1,

                                "CutValue": 200,

                                "Amount": 200,

                                "ShortDesc": "不可取消",

                                "AmountRmb": 200,

                                "ExchangeRate": 1

                            }

                        ]

                    }

            

D、 促销DRR条件判断优先级说明

    1. 判断日期优先级:预订日期→入住日期→在店日期。

    2. 判断预订日期的规则:

            如果有:
             符合预订日期:取出此条规则,并计算优惠价。
             不符合预订日期:继续判断下一条预订规则,直到所有预订规则判断结束。
            如果没有:
             结束预订日期规则的判断

    3. 如果没有符合条件的预订日期规则,则需判断入住日期的规则:

            如果有:
                        符合入住日期:取出此条规则,并计算优惠价
                        不符合:继续判断下一条入住规则,直到所有入住日期规则判断结束 。
            如果没有:
                结束入住日期规则的判断

    4. 如果没有符合条件的预订日期规则或入住日期规则,则需判断在店日期的规则:

    只要在店的日期中的任何一天在时间范围内,则表示命中规则可以按规则计算优惠。


  1. 礼包套餐(GiftPackage节点)使用说明:

  2. 在房型产品中取GiftPackage.PkgProducname作为礼包套餐标题展示,在礼包套餐标题前取PkgType字段展示类型(如0,展示为礼包)。
    在礼包套餐详情页中,按类别(TypeName)分别展示每个类别中X产品(XProduct)具体信息:
    取该类型中的每个X产品的XProductName+Qunatity进行拼接作为该类别X产品标题,如"X产品A 1份/天+X产品B 1份一天";在X产品标题前可展示X产品类型(TypeName)。在该类别X产品标题分别展示所含X产品信息,取"XProductName使用说明"作为每个X产品的副标题,如"X产品A使用说明",在每个X产品的副标题下展示其具体内容:"预约规则:AppointPolicy 预约时间: ReceptionTimes 适用人数:Capacity 预约电话:BookingPhone"等内容。如果这些字段返回都为空,则无需展示该X产品
  3. 在X产品展示完之后可取礼包套餐的特别说明(GiftPackage.RuleDescriptionAdditional)进行展示,标题为"特别说明",取图片GiftPackage.Pictures中的ImgUrl字段展示图片,标题为"图文说明",图片按Picture.ImgIndex的大小按顺序展示。

常见错误码

错误码解释解决方法
H000005入住日期不能为空 可能是日期格式错误导致的,支持的日期时间格式:"yyyy-MM-dd",   "yyyy-MM-dd HH:mm:ss"
H000006离店日期不能为空 可能是日期格式错误导致的,支持的日期时间格式:"yyyy-MM-dd",   "yyyy-MM-dd HH:mm:ss"
H002004没有搜索预付产品权限权限不够,联系商务解决。
H004001无预付产品权限权限不够,联系商务解决。