Coupon support

Full support for coupons minus the actual use of the coupon