津渡 JinDu

把渠道卖出的券,摆渡到上游的票与闸口

预售券在渠道成交,船票与座位在上游开出。津渡住在两者之间,负责兑换、核销与履约这三段,也负责三段出错时怎么收场。

三段,各有自己的事务边界

同一张券要走三段。每段的库存语义不同,顺序也不能换。

预售

卖券,不占座

渠道把券卖出去,把支付结果同步过来。券码随后异步下发,因此「已付款、券码未到」是正常状态,不算故障。

兑换

先建单,再核销

用户选好航班,系统先落一张兑换订单,再核销券,最后通知渠道。顺序固定,避免券已消耗却没有票可查。

履约

座位由上游分配

航线与航班透传给上游,锁座时分配座位并回写。船票码与闸口核销由上游回传,状态最终对齐。

三处最容易出钱的地方

接口调通不算本事。这三条处置到位,链路才算能上线。

券核销了,渠道没收到

核销结果可反查,通知失败可重推。用户不会因为一次漏通知而重复兑换。

下单超时,不知道锁没锁座

拿券码与航班回查上游订单,查到就继续,查不清就进人工,绝不重发下单。

出码与核销长期不收敛

按航班维度定时对账,三类差异各自成列,处置动作就是重推、拉码、重新出码。

谁在用

在渠道卖券、又要把用户送到上游的经营方。券在渠道,座位在上游,中间这层兑换与履约原本靠人对齐,津渡把它变成系统动作。