闭园通知一贴,票的事才刚开始。已经卖出去的票怎么活过这段停摆,靠的不是补一张新票,是几组字段各动一下。字段动不全就出现两种结果:游客手里那张票已经废了,或者闭园的那几天被算进了有效期里。前者是投诉,后者是超卖,两种都比闭园本身难处置。
一、有效期是起止两个时刻,不是“几天内有效”。停摆延期就是把起点和终点各自加上闭园天数,两个都要加。只加终点不加起点,中间那段仍然是禁用期;只加起点,会让已经用掉一部分的次数票重新可用。加的天数按整天算,边界从 00:00 起算,不要按小时补,也不要出现一半按自然日、一半按小时的情况。跨月的批次单独跑一次,月底那几天最容易算错。
二、绑定时段的票,时段号要显式作废再重开。闭园当天所有未核销的时段号都要作废并重新开放可选,不能只在原时段上顺延。顺延的结果是客人手里拿着一张写着某天某时段的票,而那天根本不开放,闸口读到的仍是那个已停用的时段。重开可选要安排在停摆结束前一天完成,给客人留出改选的时间,至少留 24 小时,不留下限就是逼着所有人挤在复园当天。

三、停摆期间的退改要单独一档标志位。这一段允许无条件退,并且不计入常规退改次数统计。混进常规统计里,会把不可抗力当成主动退单,之后的退改限制就打在没做错的人身上。标志位用单独一个枚举值区分,不要用备注文字——文字在报表里没法分组,季度末想统计这段一共退了多少张,只能靠人工翻。
四、库存置为不可售,但保留挂账数量。闭园当天库存清零,会让“已售未核销”那条数对不上;库存保留,又会被误开成可售。做法是库存状态置为不可售,同时保留已售待核销的挂账数,报表口径明确分成两栏:可售、已售待核销。两栏分别核对,不合成一个库存总数。合成一个数以后,谁也不知道那段停摆期里到底还有多少人等着进。
五、批量执行分段跑,回退只靠快照。不要一把改完。按出票日期分段,每段不超过 1 万张,执行前留快照,执行后随机抽 100 张人工看起止两列和时段列对不对。改错了按段回退,回退只用快照还原,不要反向再算一次天数——反向算在跨月和闰日上一定会出错。执行时间放在 22:00 到 02:00,避开日结与对账任务,两件事不要排在同一段时间里互相挡。

复园当天做一次收口,三件事:确认没有仍指向停摆日期的未核销时段号;确认无条件退那一档已经关闭、标志位回到常规;确认顺延过的票在核销时读到的是新起止。收口由运营和值班负责人各签一次字,事后要能说出这批票是谁改的、什么时候改的、依据哪条通知改的。五组字段里只有两组会直接影响游客能不能进门,其余三组都是为了让这三个问题当天能答上来。
