Skip to content

Subscription

aggregate-root commerce


A recurring purchase agreement between a customer and the retailer, automatically generating orders at a defined frequency without customer intervention.

Business Purpose: Enable recurring revenue through automatic periodic orders, improving customer lifetime value and product replenishment convenience.

Identity

Type Field Description
global subscription-id Unique identifier for the subscription.

Attributes

Attribute Description
frequency Frequency Renewal cadence — weekly, bi-weekly, monthly, quarterly, or annual.
next-order-date Next Order Date Date on which the next recurring order will be created.
start-date Start Date Date from which the subscription is active.
end-date End Date Optional date after which the subscription expires automatically.
payment-method-token Payment Method Token Tokenised payment method used for recurring authorisation.

Lifecycle

draftactivepausedcancelledexpired

Invariants

  • subscription-has-frequency — A Subscription must have a defined frequency before activation.
  • subscription-has-payment-token — A Subscription must have a valid payment method token to generate recurring orders.

Relationships

Type Target
belongs-to customer customer
contains basket basket
creates order order
uses payment payment

Events

Event Classification Terminal
SubscriptionCreated created
SubscriptionActivated transitioned
SubscriptionRenewed transitioned
SubscriptionPaused transitioned
SubscriptionCancelled transitioned
SubscriptionExpired transitioned

Used by Capabilities

  • subscription-management Subscription Management
  • basket-management Basket Management

Used by Processes

Used by Applications

  • eCommerce Platform ecommerce-platform
  • OMS oms

Note

Subscriptions are a commerce-layer concept. Recurring orders are fulfilled through the standard order management flow.


← Back to Commerce Domain