feat(coupons): add coupon-code feature