The originating product owns event state; notification services own delivery receipt; the receiving application revalidates identity and entitlement.
Notification, deep link and cross-surface continuation
Deliver versioned, purpose-scoped alerts and journey links across owner, EV, rider, driver and support applications.
Name the source—and name what it cannot prove.
The same message can be observation, projection, plan, receipt or physical evidence. This contract keeps those meanings separate.
Expired, revoked, unknown-version or unentitled links fail non-destructively; delivery gaps do not mutate source state.
Notification queued or delivered does not imply opened, understood, accepted, paid or physically completed.
Producer and consumer responsibilities are explicit.
A product can appear on both sides when it transforms one authority into another; each transformation retains its own evidence.
Choose transport after semantics are fixed.
The program can select one or more transports without changing the source authority or failure contract.
Compatibility vector
- schema or ABI version
- producer release
- consumer release
- policy and entitlement revision
- content/configuration revision
- territory/platform profile
Acceptance evidence
- contract compatibility
- nominal and negative scenarios
- ordering, replay and idempotency
- latency, capacity and resource bounds
- security, privacy and role enforcement
- offline, recovery and rollback
- target or operational acceptance
Freeze the Notification, deep link and cross-surface continuation contract before integration.
Allocate owners, transport, schema, releases, policy, content, degradation, replay and target acceptance in one controlled baseline.