eCommerce enhancements

I think we prefer singular terms for class/model names, i.e. `Coupon` not `Coupons`