architecture decision

ADR-016: Keep customer notifications asynchronous

Notification sending is triggered from events and queues so order and subscription workflows are not blocked by notification providers.

Decision RecordFebruary 6, 2025AcceptedNotifications

Context

Order and subscription workflows notify customers through email, SMS, and in-app channels. Provider latency should not determine workflow availability.

Decision

NotificationService consumes events and queue messages asynchronously. Core workflows record intent and continue without waiting for provider delivery.

Consequences

Customer communication can be retried and observed independently. User-facing screens need notification status queries when delivery confirmation matters.