酒店

【国内&国际】下单时取消规则校验更新时间:2026/07/27

系统新增下单实时取消规则强校验能力,针对hotel.order.create创建订单接口增加规则一致性校验逻辑,避免用户选房、填单环节展示的担保/预付取消规则与实际下单时规则发生变更(如规则收紧、取消扣费变高、免费取消改为限时/不可取消等),保障前端展示规则与后端成单规则统一。


接口变更:hotel.order.create 新增入参,PrepayResult(对应预付产品PaymentType=Prepay)、GuaranteeResult(对应现付产品PaymentType=SelfPay),定义与hotel.detail/hotel.data.booking同名节点一致。

使用方法:hotel.detail查询详情、hotel.data.booking/hotel.data.validate试单→hotel.order.create下单,将用户最终看到的取消规则结果节点传入成单新增节点,传入即校验,若规则变严,将会成单失败,并返回错误原因:H001044-5046|下单失败,担保/预付规则不匹配。


注意如果是海外酒店产品,调用hotel.data.validate使用最新规则,hotel.data.validate返回的是RatePlanInfo.CancelPolicyList,需要手动映射字段后组装进PrepayResult.LadderParseList再传入下单接口,具体字段映射关系:

RatePlanInfo.CancelPolicyList.DateFrom(Date类型)转为PrepayResult.LadderParseList.BeginTime(Int64类型,北京时间时间戳,秒);

RatePlanInfo.CancelPolicyList.DateTo(Date类型)转为PrepayResult.LadderParseList.EndTime(Int64类型,北京时间时间戳,秒);

RatePlanInfo.CancelPolicyList.PenaltyRMB(Decimal)转为PrepayResult.LadderParseList.AmountRmb(Decimal);

RatePlanInfo.CancelPolicyList.Penalty(Decimal)转为PrepayResult.LadderParseList.Amount(Decimal)。

国内酒店产品直接透传PrepayResult、GuaranteeResult,无需字段转换


前端推荐处理方案:收到报错后引导用户刷新填单页/详情页,重新调用试单接口获取最新价格与取消规则再下单。

接入过程中需要联系同程人员打开开关生效。