Question bank › Low-Level Design
Lld Low-Level Design Medium

Multi-Layered Subscription & Discount Engine

Design a billing module for a SaaS platform. Users have different 'SubscriptionStates' (Trial, Active, PastDue, Canceled) which restrict features. Additionally, the system must apply multiple 'Discounts': 'First-Time User' (fixed $ off), 'Seasonal' (% off), and 'Referral' (stackable). Discounts have priority levels and some cannot be combined. The system must calculate the final price and determine which features are currently enabled for the user.

Key concepts

decorator patternstate patternrules engine

Practise this out loud — free

Start a mock interview on THIS exact question — a voice AI interviewer opens with it, pushes back like a real onsite, then hands you an instant scorecard.

🎙 Practise this question now
Part of Praxari's verified interview question bank. We show the prompt and concepts to practise with — never a copy-paste solution.