Domain 11 — Notifications
notifications [CORE]
Role: In-app notifications (no push at launch); data_json carries a typed payload for front-end navigation. Why polled, not pushed: push is out of MVP scope; a retention job hard-deletes read notifications older than 90 days to bound growth. Fields unchanged. Relations: N:1 → users.
support_alerts [CORE]
Role: Internal-only alerts (low ratings, EVV no-shows, expired verification steps, EVV location mismatch, payment anomalies), with an owner and resolution trail. Why distinct from notifications: these are staff worklist items, never shown to users. Fields unchanged. Relations: polymorphic (entity_type,entity_id) — validated at the application layer; consider nullable typed FKs (booking_id,review_id) for the common cases.