Notification Entities¶
Why This Exists¶
This document defines Notification Domain entities with identity.
Owner¶
The owner is the Chief Product Officer and Enterprise Architect.
Business Value¶
Entity definitions ensure notification requests, delivery attempts, preferences, templates, schedules, and history can be managed consistently.
Entity Catalogue¶
| Entity | Purpose | Key attributes | Business rules | Relationships | MVP status |
|---|---|---|---|---|---|
| Notification Request | Captures a request to notify. | RequestId, source domain, source reference, type, reason. | Must include source and recipient rule. | Creates notifications. | MVP |
| Notification | Represents a message instance for a recipient or recipient group. | NotificationId, type, priority, status, source reference. | Must have template and delivery plan. | Has deliveries and read status. | MVP |
| Recipient | Represents the target of a notification. | RecipientId, recipient type, user/role/contact reference. | Must resolve to a channel-eligible target. | Linked to preferences and notifications. | MVP |
| Notification Channel | Represents a delivery channel. | ChannelId, channel type, provider, status. | Must define provider capability and constraints. | Used by delivery attempts. | MVP |
| Notification Preference | Stores channel and timing preferences. | PreferenceId, user/org reference, type, channel settings. | Must respect critical notification policy. | Applied to notifications. | MVP |
| Notification Template | Stores message templates. | TemplateId, type, channel, version, status. | Must be approved before use. | Rendered into notifications. | MVP |
| Notification Schedule | Stores delivery timing. | ScheduleId, timing rule, due time, recurrence, status. | Recurrence must have a stop condition. | Drives reminders. | MVP |
| Reminder | Represents a deadline-relative or scheduled reminder. | ReminderId, source reference, due time, reminder rule. | Must have schedule and recipient. | Creates notifications. | MVP |
| Escalation | Represents an escalation instance. | EscalationId, reason, level, target, status. | Must be policy-driven. | Linked to notification/read/delivery state. | MVP |
| Delivery Attempt | Represents one channel send attempt. | AttemptId, channel, provider status, timestamp. | Must record result. | Belongs to notification. | MVP |
| Communication History Entry | Records a communication event. | HistoryId, notification, event type, timestamp, metadata. | Should be append-only. | Supports audit. | MVP |
| Read Receipt | Records recipient read or acknowledgement state. | ReadReceiptId, recipient, read at, acknowledged at. | Recipient-specific. | May trigger escalation. | MVP |
Entity Design Notes¶
Notification entities must be designed for auditability. Delivery providers may fail, retry, or provide delayed status updates, so delivery attempts and communication history are separate from source business events.