Service Layer medium complexity backend
0
Dependencies
0
Dependents
0
Entities
0
Integrations

Description

Orchestrates the dispatch of email and SMS notifications for critical system events. It receives notification requests from upstream services and routes them through the appropriate channel based on recipient preferences and message priority. Handles retry logic, delivery tracking, and ensures reliable message delivery for time-sensitive alerts such as assignment dispatches, event confirmations, and certification expiry warnings.

Feature: Email/SMS Notifications

email-sms-notification-service

Sources & reasoning

No explicit email/SMS source passage exists, but the follow-up dissatisfaction data (line 116) motivates multi-channel delivery to users without consistent app access. Blueprint marks email-sms-notifications [v1.0]. Second phase ordinal = v1.0.

  • Oppfølging av likepersoner: 40 % var ikke fornøyd med oppfølgingen i spørreundersøkelse. Scenariobaserte push-meldinger og kalendersynkronisering.

Responsibilities

  • Accept notification requests and resolve the appropriate delivery channel (email or SMS) per recipient
  • Invoke NotificationDispatchClient with formatted message payloads for outbound delivery
  • Track delivery status and trigger retries on transient failures
  • Enforce notification preferences and opt-out rules per user role
  • Emit delivery events for audit logging and downstream status updates

Interfaces

sendEmail(recipientId, templateId, context): DeliveryReceipt
sendSms(recipientId, message, priority): DeliveryReceipt
sendBatch(notifications: NotificationRequest[]): DeliveryReceipt[]
getDeliveryStatus(receiptId): DeliveryStatus