第十七个小时,客人拿着那张小条站在缴费机前不肯走,他说自己只停了十六个小时。值守岗把值班长叫过来,两边各有一张时长记录,一张来自场端闸口,一张来自票务系统。停车超时这段到底记不记时长、谁说了算,就在缴费机前面那块地上分出来。
时长由场端算,票务系统只承接展示
先定谁算这段数。进出场时间以场端闸口记录为准,票务系统只做承接展示,字段精度到分钟。这句话定了主从,免费时长和停车超时都从场端那两个时刻里出来,票务系统负责把它们显示在订单详情和售票页上,让客人在手机上看见自己几点进的场。谁也别在系统里另起一套时长算法,两套算法凑到一处,早晚对不齐。

免费时长从进场时刻起算,不从购票时刻起算。这两件事差得很远,客人可能前一天晚上就买好了票,车要到第二天早上才开进场。要是按购票那一刻算,等于把他在家里犹豫的那几个小时也记进停车时长,客人看了时长记录只会来问一句:我人还没到,车怎么就已经停了。售票系统那边也得同频,客人手机上看到的进场时刻要和小条上那行一致。规则写得明白,免费时长以进场时刻起算,最长不超过 24 小时后重新计段,切段这件事要在单子上看得见,不能只在后台悄悄变。
两边差出来,就留一条差异记录
客人说只停了十六个小时,谁说了算,看的是能不能拿两条记录比。动作是这样:调一笔已结案订单,把票务系统里的时长字段抄下来,再到场端闸口日志里抄同一辆车的进场与出场时刻,两边时长差超过 10 分钟时须留一条差异记录。这条差异记录不是拿去跟客人争执的,是给第二天校表用的。比不出差异,说明两边时钟同频;比出了差异又不留痕,下次停车超时还会长在同一个地方。
场端算与票务系统算,谁更经得起比
两条路各摆一遍。时长由场端算,闸口那两台的时钟同步一次就能对齐,缴费机念出来的数和场端日志一模一样,客人当场能翻自己那张进场小条,两边一对就服气。时长由票务系统算,它读的是订单生成时刻和网络回传时刻,链路一抖,停车超时那段就会多算或者少算,客服要重新核,售票系统上的展示跟着对不上,值班长还得补一张更正单。时钟不同步的时候谁更准,答案很清楚,场端胜在它离那两个轮子最近。

只有在道闸故障造出错误时间戳的时候,这套自动的账先让给人。那种时间戳由值班长手工更正,更正留痕,改前的时刻、改后的时刻、依据的现场记录一样都不能省。这时候时长记录不再由场端自动跑,票务系统里的停车超时按更正后的值承接,售票系统跟着刷新一次展示,缴费机那头的数也要重新念一遍给客人听。有人担心手工改会改失真,其实失真不在于改,在于明明错了还不改。
