Notification Lifecycle¶
Why This Exists¶
This document defines lifecycle states for Notification Domain records.
Owner¶
The owner is the Chief Product Officer and Enterprise Architect.
Business Value¶
Lifecycle clarity makes communication state reliable across scheduling, delivery, read tracking, retry, escalation, and archive.
Notification Lifecycle¶
| State | Meaning | Typical transition |
|---|---|---|
| Requested | A notification request has been received. | Created, Rejected. |
| Created | Notification record exists. | Scheduled, Rendered, Cancelled. |
| Scheduled | Notification is waiting for delivery time. | Rendered, Cancelled, Expired. |
| Rendered | Template has been rendered for channel delivery. | Pending Delivery. |
| Pending Delivery | Delivery attempt is queued. | Sent, Failed, Blocked. |
| Sent | Provider accepted the message. | Delivered, Failed, Read. |
| Delivered | Provider confirmed delivery where available. | Read, Acknowledged, Escalated. |
| Read | Recipient has read the notification. | Acknowledged, Dismissed, Archived. |
| Acknowledged | Recipient confirmed required awareness or action. | Archived. |
| Failed | Delivery failed. | Retried, Escalated, Archived. |
| Blocked | Delivery is blocked by preference, consent, or channel issue. | Alternate Channel, Escalated, Archived. |
| Escalated | Escalation was created. | Acknowledged, Archived. |
| Archived | Notification is closed for active workflow. | End state. |
stateDiagram-v2
[*] --> Requested
Requested --> Created
Requested --> Archived: rejected
Created --> Scheduled
Created --> Rendered
Scheduled --> Rendered
Scheduled --> Archived: cancelled/expired
Rendered --> PendingDelivery
PendingDelivery --> Sent
PendingDelivery --> Failed
PendingDelivery --> Blocked
Sent --> Delivered
Sent --> Read
Delivered --> Read
Delivered --> Escalated
Read --> Acknowledged
Read --> Archived
Failed --> PendingDelivery: retry
Failed --> Escalated
Blocked --> PendingDelivery: alternate channel
Blocked --> Escalated
Escalated --> Acknowledged
Acknowledged --> Archived
Archived --> [*]
Template Lifecycle¶
| State | Meaning |
|---|---|
| Draft | Template is being authored. |
| Review | Template is awaiting approval. |
| Approved | Template can be used. |
| Deprecated | Template is replaced but retained for history. |
| Archived | Template is no longer active. |
Preference Lifecycle¶
Preferences move from created to active, updated, suspended, or archived. Preference history must remain auditable because it affects why notifications were sent, delayed, or blocked.