The scenario
An admin creates voucher batches containing multiple vouchers; users redeem eligible vouchers against subscription plans while policies enforce limits and all administrative actions are recorded for audit.
What is in this drawing
Read the decisions behind it.
01
Modelled voucher status and type as enumerations to constrain state and category.
02
Used composition for batch-to-voucher containment and dependency for policy validation.
03
Added audit logging to track admin actions.
Reuse when designing the domain model for voucher or promo code features in streaming subscription platforms.
More like this