一、背景
在酒店预订流程中,用户在选房、填单环节所展示的担保/预付取消规则,可能因库存、价格等实时因素变化,在实际下单时发生变更,为了减少取消规则收严带来损失,在创建订单环节增加取消规则校验机制,当合作伙伴传入取消规则时同时会进行校验。
二、场景
取消规则收紧(如免费取消变为限时取消)
取消扣费金额变高
免费取消改为不可取消
三、改造方式
3.1 接口变更
hotel.order.create(创建订单接口)新增以下入参:
参数名 | 适用产品类型 | 说明 |
| 预付产品(PaymentType=Prepay) | 取消规则结果,与 hotel.detail / hotel.data.booking / hotel.data.validate 同名节点定义一致 |
| 现付产品(PaymentType=SelfPay) | 担保规则结果,与 hotel.detail / hotel.data.booking / hotel.data.validate 同名节点定义一致 |
3.2 校验逻辑
项目 | 说明 |
校验触发 | 传入即校验 |
变严判定 | 规则收紧、取消扣费变高、免费取消改为限时/不可取消等 |
校验失败 | 成单失败,返回错误码 |
错误码 |
|
3.3 生效方式
接入完成后,需联系同程旅行技术人员打开开关生效。
四、影响点
4.1 接口层面
hotel.order.create新增PrepayResult、GuaranteeResult入参
调用下单接口时需将试单阶段获取的取消规则结果传入新参数
未传入新参数不触发校验;传入后若规则变严,将导致下单失败
4.2 调用链路
需确保
hotel.detail→hotel.data.booking/hotel.data.validate→hotel.order.create完整链路贯通
试单接口返回的规则结果节点需正确传递至下单接口对应入参
4.3 错误处理
新增错误码:
H001044-5046(下单失败,担保/预付规则不匹配)
前端推荐处理方案: 收到报错后引导用户刷新填单页/详情页,重新调用试单接口获取最新价格与取消规则后再下单
