Coupon manager
A coupon is a piece of evidence that a customer is entitled to a promotion. Coupons are managed by the coupon manager, which is a configurable part of the promotion engine.
A promotion can be created such that it requires the presence of a coupon before it can be applied to an order. Coupons must be issued to a customer explicitly. A customer has to explicitly apply a coupon to an order to redeem the coupon. Once redeemed, the coupon is canceled and can no longer be used.
The coupon manager provides APIs that issue coupons, list coupons for a customer or an order, add a coupon to an order, cancel a coupon, delete a coupon, transfer a coupon to a different user, and validate a coupon.