优惠券系统的核心在于各种券种的管理,发放和使用。
通常的设计角度是从终端用户出发,所谓“所见即所得”,终端用户所见到的形形色色的优惠券,正是开发整个系统的挑战所在。
可以想象,为了配合不同形式的线上、线下活动,优惠券系统势必有较大的改动,如何最大限度的降低改动的成本,成为了最核心的挑战。
就上述问题而言,解决的方法就是:规则与执行相隔离。
规则层,即是各类优惠券的使用限制,以及能达到的效果。
执行层,可以理解为根据规则计算最终成交价格。
对于规则层,笔者并不想将其上升到规则引擎的高度,只做适当的抽象。况且市面上的规则引擎开发框架未必能满足优惠券这一复杂的应用场景。
值得注意的是,优惠券不等同于任何形式的优惠促销活动,但却是整个营销系统的一部分。相较于优惠券,促销活动系统的实现还要更困难。本文旨在阐述怎么开发一个优惠券系统,促销活动的设计与实现不在本文的范畴了。
一、怎么生成优惠券
在生成优惠券之前,我们先来了解一下『优惠券模板』的概念。
顾名思义,按照模板去生成优惠券。
就好比工业生产流水线上的模具,只需注入原材料进行加工,即可制成成品。
因此,模板上携带了大量优惠券相关的信息,包括但不限于名称、时