Overview

The Subscription Service manages the full lifecycle of recurring product subscriptions on the Equinox platform: creating subscriptions, scheduling and processing recurring deliveries (instances/orders), pausing/resuming/cancelling, managing the items inside a subscription, and specialized flavours of subscription — gift subscriptions, prepaid subscriptions, and product swaps. It also stores per-user global preferences (e.g. preferred order-processing day) and multi-tenant instance configuration/attributes.

It is a multi-tenant service: nearly every operation is scoped by an instanceId (a tenant/brand instance), and tenant behaviour can be extended via a plugin/extension mechanism and marketplace integration.

Business Value

Capability Business value
Recurring subscriptions Predictable recurring revenue and automated re-ordering for customers
Pause / resume / skip Reduces churn by letting customers pause instead of cancel; enforces fair-use limits
Gift subscriptions New acquisition channel; redemption codes, fraud/velocity limits, high-value review
Prepaid subscriptions Upfront cash collection; fixed-term plans with renewal and convert-to-recurring
Product swap Lets customers change products between deliveries without cancelling
Bulk operations Operational efficiency for admins managing many subscriptions/instances
Multi-tenant instances + attributes One deployment serves many brands/tenants with per-tenant config

Who Uses It

Consumer How they use it
Storefront / customer app Create/manage subscriptions, pause/skip, gifting, swaps (via authenticated APIs)
Admin / operations tooling Bulk operations, process summaries, transaction audit, instance/attribute config
Cart Service Called by this service during renewal to build a cart and checkout
Marketplace Service App lifecycle events (app.*) consumed via EventBridge/SQS to install/enable tenant extensions
Downstream consumers Subscribe to EventBridge domain events (subscriptionCreated, instanceCompleted, etc.)

Core Features

# Feature Description
1 Subscription CRUD Create, read, update, list, cancel subscriptions
2 Recurring instances (orders) Scheduled delivery instances with retry/skip/process
3 Renewal orchestration Builds a virtual cart and checks out via Cart Service
4 Items management Add/update/remove items, item-level intervals, skip flags
5 User preferences Order-processing date, freeze/notification dates, threshold gating
6 Bulk operations Bulk create, bulk update/delete by user, bulk instance actions
7 Instances & attributes Multi-tenant instance config + attribute schema definitions
8 Process summaries & transactions Audit trail of batch-processing runs and instance transactions
9 Domain-event publishing 40+ EventBridge event types across the domain

Related Resources

  • Cart Service — invoked during renewal to build a virtual cart and check out
  • Marketplace Service — supplies app-lifecycle events that install/enable tenant extensions
  • Auth (AWS Cognito) — issues the JWT Bearer tokens validated on every protected route

Revision History
2026-08-05 | JP – Created the page and added the content.