Skip to content

Voucher

aggregate-root promotion


Value or benefit instrument issued, validated, redeemed, or cancelled.

Business Purpose: Support voucher management and voucher redemption across commerce and payment-adjacent flows.

Identity

Type Field Description
global voucher-id Globally unique voucher identifier, stable for the lifetime of the voucher.

Attributes

Attribute Description
voucher-id Voucher ID Stable voucher identifier.
voucher-code Voucher Code Voucher code when applicable.
amount Amount Voucher value when applicable.
status Status Current voucher state.
expires-at Expires At Date and time when the voucher expires.

Lifecycle

issuedactivevalidatedredeemedcancelledexpired

Invariants

  • stable-voucher-id — Voucher ID must remain stable for the lifetime of the voucher.
  • single-redemption — A voucher must not be redeemed more than once unless explicitly configured for multiple use.

Relationships

Type Target
applies-to basket basket

Events

Event Classification Terminal
VoucherIssued created
VoucherValidated calculated
VoucherRedeemed transitioned
VoucherCancelled transitioned

Used by Capabilities

  • voucher-management Voucher Management

Used by Processes

Used by Applications

  • Promotion Engine promotion-engine

Note

Aligned with existing voucher object and voucher-redemption process.

Referenced by APIs

Endpoint Method Role Capability
/vouchers/{code}/validate POST response voucher-management

← Back to Promotion Domain