Promotion¶
aggregate-root promotion
Promotional rule or offer evaluated during basket, checkout, pricing, or selling interactions.
Business Purpose: Support promotion evaluation and application across commerce processes.
Identity¶
| Type | Field | Description |
|---|---|---|
global |
promotion-id |
Globally unique promotion identifier, stable across its publishing lifecycle. |
Attributes¶
| Attribute | Description |
|---|---|
promotion-id Promotion ID |
Stable promotion identifier. |
promotion-name Promotion Name |
Promotion display name. |
status Status |
Current promotion state. |
starts-at Starts At |
Promotion start date and time. |
ends-at Ends At |
Promotion end date and time. |
Lifecycle¶
draft → active → suspended → expired → retired
Invariants¶
stable-promotion-id— Promotion ID must remain stable for the lifetime of the promotion.validity-range-consistent— An active promotion must have a valid start date not after its end date.
Relationships¶
| Type | Target |
|---|---|
applies-to |
basket basket |
applies-to |
basket-line basket-line |
uses |
coupon coupon |
uses |
voucher voucher |
Events¶
| Event | Classification | Terminal |
|---|---|---|
PromotionApplied |
transitioned | — |
PromotionEvaluated |
calculated | — |
Used by Capabilities¶
- promotions Promotions
Used by Processes¶
Used by Applications¶
- Promotion Engine
promotion-engine
Semantic Constraints¶
| Constraint | Type | Rule |
|---|---|---|
promotion-in-promotion-domain |
domain-containment |
The Promotion Business Object is owned by the Promotion domain. |
Note
Aligned with existing promotion object and promotion services.