Commerce Layer provides a promotional engine built on top of two main resources: promotions and promotion rules. Promotions are defined by market and — when triggered — are responsible for adding a specific discount to the market orders, based on their type. Within the time window given by their activation and expiration dates, promotions that have not reached their total usage limit are considered active. If no promotion rule is associated with an active promotion, the related discount is applied to all the orders of the market in scope. Otherwise, if one or more promotion rules are defined, the promotion is triggered only when it matches all of them.