
票务系统优化建议
※※※※※※※※ 一. 家庭票或亲子票 ※※※※※※※※
24赛季的新票务政策将每个人的购票数量限制由三张降低到了两张,作为一个经常带两个孩子看球的球迷,我非常的不理解,这给我这样的球迷家庭,或者更常见的两大一小全家一起看球的球迷家庭带来了极大的困扰,因为再也没有可能买到一家人坐在一起的连号座了,最糟的情况甚至是三个人分布在三个不同的看台。
建议俱乐部提供家庭票或亲子票,其中18岁以下的未成年人不计入购票张数限制,或者干脆就和国家政策同步,国家的政策允许几胎,那么单个订单的限制就是最多两大几小。这个改动的研发投入应该非常小,无论是客户端实现还是服务端实现,都可以非常简单的通过身份证号,判断当前订单的购票人数是否合规。
※※※※※※※※ 二. 选择购票人界面细节优化 ※※※※※※※※
目前小程序购票流程里,在选择购票人的那个界面有一个小小的需要优化的地方,上赛季我绑定没有抢票经验的朋友帮他抢散票时,由于我自己是年票会员,所以只需要购买一张票,选择购票人界面打开时默认选中的是主帐号(我自己),这种情况下,必须要先点自己取消掉选中,才能点选其他人,不然的话会看起来是其他人一直没法选,我相信不少球迷都被这里坑过。
客户端在这里的实现是否可以略微优化一下,在只买一张票时,购票人列表那里应该是单选框(Radio)逻辑,而不是复选框(Checkbox)逻辑。这个改动的研发投入应该非常小。
※※※※※※※※ 三. 散票订单排座算法优化 ※※※※※※※※
根据上赛季的观察,大致可以猜测目前的排座算法,是把所有可用(去除已售,套票,赠票等等后还可用的)座位,按从前排到后排,从小座号到大座号的顺序依次寻找满足当前订单人数需要的座位。这种办法在大部分情况下是没问题的,但是存在一个边界情况,如果当前订单是一个双人购票的订单,按上述算法找到的第一个可用座位是某一排的最后一个座位,下一个可用座位是后一排的第一个座位,这种情况在上述算法里“看起来”是一个两连坐,可以满足当前订单的需要,但是实际上两个一起看球的朋友一个坐在最这头一个坐在最那头。
所以说,目前排列座位的算法是走的一个Z字型,建议改成S字型,如果第一个可用座位是某一排的最后一个座位,下一个座位应该反过来寻址,是看下一排的最后一个座位空不空,而不是看第一个座位,这样至少能保证两个人是前后连座,也算是坐在一起。这个改动的研发投入应该不大,大约是寻址时在合适的地方反转一下原有列表。
※※※※※※※※ 四. 反作弊 ※※※※※※※※
这个可能是目前小程序的票务系统被舆论诟病最多的地方,俱乐部去年确实投入了不少资源来尝试解决这个问题。作为一个有些相关经验的软件开发从业者,也确实看得到小程序在反作弊方面的数次优化,从最开始完全不设防的“裸奔”,到现在已经有数道关卡来拦截科技手段的作弊订单。
但是,俗话说,道高一尺魔高一丈。拦,永远是拦不住的。以目前的系统而言,依然还是可以使用数种科技手段突破限制,包括不限于,在还未开售时直接进入指定看台的最终付款界面,在已售罄后使用脚本同时蹲守多个指定看台的退票。这些科技手段,催生了一个单场比赛利润就数万甚至更高的黄牛代抢市场,一个代抢订单,黄牛收取费用两百的三百的,甚至更贵的都有,这对于绝大部分球迷来说是极不公平的。
光靠升级技术手段去拦,无疑是个无底洞,腾讯在反作弊上的投入已经超过十个亿,我们俱乐部显然不可能投入这么大的成本去升级反作弊手段,所以建议我们俱乐部和大部分互联网公司的做法看齐,应该有一定程度上的惩罚机制。
从技术角度来看,判定是不是科技票的手段其实也非常简单,订单创建时间距离开售时间过短的,百分之一百科技票无疑,正常抢票是绝对没有可能一两秒内就点最终的那个付款按钮的,五秒都算相当的神速了。黄牛之所以敢收这个钱,就是因为他们可以依靠科技手段在未开售时就进入最终的付款界面,看台,购票人,这些全部都提前已经选好,一到时间就直接点最后那个按钮。所以黄牛是不敢多等的,一旦并发高峰来临,靠科技提前进入最终页面的优势就没有了。
对于被判定为科技票的订单,不光是提交订单的主帐号,所有购票人都应该予以惩罚,这里举个可能不太恰当的例子,拐卖妇女儿童是不是重罪?是。那为什么这么多年还是屡禁不止?因为相对于卖家,对买家的惩罚几乎可以忽略不计。所以对于我们票务系统而言,作弊的买和卖也应该同罚。至于具体如何罚,这个完全看俱乐部了,比如说,当前场次订单撤销,并予以红牌停赛(禁止购票)三到五场的惩罚。久而久之,铤而走险找黄牛代抢的人会越来越少,黄牛得不到足够的利润,也就无法支持他们持续升级技术以对抗俱乐部官方小程序的技术升级。
另外一个方面,靠科技自动蹲守退票的作弊手段,从技术上来看要解决会需要一定的研发成本。目前的蹲退票,是一旦有人退票,这张票会立即进入票池,供所有人抢购。由于时间的不确定性,看上去拼的是运气,但是对于那些第一波没抢到票但是非常想到现场支持球队,手动蹲守退票的球迷来说,拼的其实也是体力。我见过不少为了蹲守退票,就一直在那里点按钮点了八九个小时点到手软的球迷。而另外一边,黄牛依靠科技,自动蹲守(无需反复手动点击),而且是同时蹲守多个指定的看台,无疑极大程度的提高了成功率,这对那些辛辛苦苦手动蹲退票,出了哪个看台就是哪个看台没得挑的球迷是非常非常不公平的。
要解决这个问题,小程序的票务系统需要一个类似12306上买火车票的候补功能。下午两点的第一波统一放票,每个购票失败的球迷都可以得到一个提示,询问要不要进入当前欲购看台的候补队列。错过两点第一波放票的球迷,之后也随时可以在小程序里查看到每个看台候补队列的排队人数,并自行选择一个进入队列排队。所以一旦有用户退票,也不再直接放出来全部人抢购,而是自动发售给所属看台的候补队列里的球迷,并以短消息的方式通知球迷付款,白天时段一个小时支付超时,订单取消,这张票自动发售给候补队列里下一个人。凌晨时段退票触发的候补订单不设一个小时超时时限,早上九点统一触发短消息通知,十点超时。
这种被12306这样全国性的大型购票系统验证过的候补功能,无疑是对所有人最公平的解决方案。而且由于整个过程全部发生在服务端内部,不由客户端触发,可以完美的斩断科技蹲守退票的作弊手段。这个新功能需要的研发投入不会很小,当然也不会像12306那么大,毕竟12306这样一个巨型系统,面对的情况要比我们复杂得多。
※※※※※※※※ 五. 退票收取手续费 ※※※※※※※※
目前的票务政策对于退票可以说约等于没有任何限制,这导致了部分其实不看球的人也参与抢票,而导致真正想看球的球迷买不到票。举例来说,有不少人就抱着抢着玩儿,试试自己手速快不快的想法。今年推出1288VIP票后,还有些人是抱着抢一张发朋友圈炫耀的想法,反正开赛六个小时之前随时可以退,没有任何的成本。甚至还有部分不怀好意的人,就卡着截止时间退票妄图以此来降低我们的上座率。
个人建议,应该参考火车票和机票那样,收取一定的退票手续费,甚至都不需要分时段阶梯手续费这么复杂的政策,就统一收取5%的手续费,5%不会给确实计划有变的球迷造成过大的损失,另外一方面,5%看着虽然不多,但这是从无到有的质变,足以劝退绝大部分“抢着玩儿”的人了。






