An Offer is a wrapper around a Discount that allows for explicit redemption and usage controls.
Offers lets you reuse discounts: you can give two partners the same underlying discount (e.g., "get a 60-day free trial") and manage redemption constraints independently. Similarly you can create seasonal offers tied to the same discount with different start/end dates.
You must supply an id when creating each offer. This id must be unique for all offers across the entire application. Offers can also be identified by generating single-use codes. If single-use codes are created for an offer, the offer's id cannot be used in the activation flow.