Pause Status Change Notifications
Feature Detail
Description
When a peer mentor activates or deactivates the pause function (temporary deactivation without leaving the programme), the system immediately notifies their coordinator with the peer mentor's name, the effective date, and optionally a reason if the peer mentor chose to provide one. The notification appears in both push and in-app channels so the coordinator can redistribute open assignments. When the peer mentor unpauses, the coordinator is notified again so they can re-assign or check in. The peer mentor receives a confirmation notification on both state transitions. This flow ensures no assignment is silently dropped during a pause period and supports NHF and HLF's coordination workflows.
Analysis
Addresses the coordination blind spot when peer mentors go on pause. Prevents clients from being left uncontacted and reduces coordinator effort in detecting status changes through manual roster checks.
Trigger notification via Supabase database webhook on status column change in peer_mentor_profiles. Include reason field (optional, max 200 chars). Coordinator lookup via org membership table. Reuse existing FCM dispatch function.
Components (203)
Shared Components
These components are reused across multiple features
User Interface (59)
Service Layer (52)
Data Layer (33)
Infrastructure (54)
User Stories (12)
As a As a Peer Mentor (Likeperson)
I want to configure which types of pause status change notifications I receive and through which channels (push, in-app, or both)
So that I can manage notification volume according to the size of my mentor network and my personal working style without missing critical compliance-driven events
- Given the coordinator opens notification preferences, when they navigate to the pause notifications section, then the notification-preferences-screen shows distinct toggles for: 'Mentor initiates pause', 'Mentor reactivates', 'Certification expiry auto-pause', and 'Reactivation pending acknowledgement'
- Given the coordinator sets 'Mentor initiates pause' to digest mode, when a mentor pauses, then the pause-notification-orchestrator schedules the notification for the next daily digest batch instead of dispatching immediately
- Given the coordinator has enabled digest mode for voluntary pauses, when the daily digest runs, then a single consolidated push notification summarises all voluntary pauses that occurred in the previous 24 hours with mentor names and counts
- +4 more
As a As a Peer Mentor (Likeperson)
I want to view a full chronological history of pause events and their associated notifications for a specific peer mentor from the mentor's detail screen
So that I can understand patterns of availability, document compliance actions taken during certification lapses, and provide accurate information when the organisation or Bufdir requires accountability for mentor engagement continuity
- Given the coordinator opens a peer mentor's detail screen, when they scroll to the pause history section, then a chronological list of all past pause events is displayed with start date, end date, duration in days, and pause reason for each entry
- Given a pause was system-initiated due to certification expiry, when the history entry is rendered, then it is visually distinguished from voluntary pauses with a badge labelled 'Auto-paused – Certificate Expired' using the appropriate accent colour
- Given the coordinator taps on a specific pause history entry, when the detail view opens, then it shows the full notification log for that event: which notifications were sent, to which coordinator, at what timestamp, and the delivery status (delivered, opened, acknowledged)
- +4 more
As a As a Coordinator
I want to configure which types of pause status change notifications I receive and through which channels (push, in-app, or both)
So that I can manage notification volume according to the size of my mentor network and my personal working style without missing critical compliance-driven events
- Given the coordinator opens notification preferences, when they navigate to the pause notifications section, then the notification-preferences-screen shows distinct toggles for: 'Mentor initiates pause', 'Mentor reactivates', 'Certification expiry auto-pause', and 'Reactivation pending acknowledgement'
- Given the coordinator sets 'Mentor initiates pause' to digest mode, when a mentor pauses, then the pause-notification-orchestrator schedules the notification for the next daily digest batch instead of dispatching immediately
- Given the coordinator has enabled digest mode for voluntary pauses, when the daily digest runs, then a single consolidated push notification summarises all voluntary pauses that occurred in the previous 24 hours with mentor names and counts
- +4 more
As a As a Coordinator
I want to view a full chronological history of pause events and their associated notifications for a specific peer mentor from the mentor's detail screen
So that I can understand patterns of availability, document compliance actions taken during certification lapses, and provide accurate information when the organisation or Bufdir requires accountability for mentor engagement continuity
- Given the coordinator opens a peer mentor's detail screen, when they scroll to the pause history section, then a chronological list of all past pause events is displayed with start date, end date, duration in days, and pause reason for each entry
- Given a pause was system-initiated due to certification expiry, when the history entry is rendered, then it is visually distinguished from voluntary pauses with a badge labelled 'Auto-paused – Certificate Expired' using the appropriate accent colour
- Given the coordinator taps on a specific pause history entry, when the detail view opens, then it shows the full notification log for that event: which notifications were sent, to which coordinator, at what timestamp, and the delivery status (delivered, opened, acknowledged)
- +4 more
As a As a Peer Mentor (Likeperson)
I want to access a dedicated paused-mentor roster screen that lists all currently paused peer mentors in my chapter with their pause reasons and expected return dates
So that I can plan workload distribution, identify mentors approaching their expected return date, and proactively contact mentors who have exceeded their expected return date without reactivating
- Given the coordinator navigates to the pause roster, when the screen loads, then the coordinator-pause-roster-screen displays all peer mentors with status 'paused' within the coordinator's access scope, sorted by pause start date descending
- Given a mentor's expected return date has passed, when the roster renders that mentor's row, then the expected-return-date-picker display shows the date in an overdue color accent (rose/red) and appends an 'Overdue' label
- Given the coordinator has chapter-level scope for multiple chapters, when they use the chapter filter, then the roster filters to show only paused mentors from the selected chapter without a full page reload
- +4 more
As a As a Peer Mentor (Likeperson)
I want to receive a notification when a paused peer mentor reactivates themselves and be able to confirm or hold the reactivation before the mentor becomes visible to new contact assignments
So that I can verify the mentor is genuinely ready to resume, restore any previous contact assignments, and update the chapter roster without unintentionally routing contacts to a mentor who activated accidentally
- Given a paused mentor confirms reactivation via the pause-reactivate-toggle, when the mentor-status-service processes the change, then the coordinator receives a push notification labelled 'Peer Mentor Reactivated' within 5 seconds with the mentor's name and prior pause duration
- Given the organisation configuration requires coordinator acknowledgement for reactivation, when the mentor reactivates, then the mentor's status is set to 'pending_reactivation' and they do not appear in active assignment flows until the coordinator acknowledges
- Given the reactivation notification is delivered, when the coordinator views the notification card in the notification centre, then the pause-notification-card renders with an emerald accent to visually distinguish it from pause notifications
- +4 more
As a As a Peer Mentor (Likeperson)
I want to receive an automatic notification when a peer mentor's certification expires and the system automatically transitions them to paused status
So that I am immediately aware of compliance-driven unavailability, can initiate the certification renewal process, and can update contact assignments before any service disruption occurs
- Given the nightly-scheduler runs and the certification-expiry-checker finds a mentor with an expired certification, when the check completes, then the mentor-status-service sets the mentor's status to 'paused' with pause_reason='certification_expired' within the same nightly job execution
- Given a mentor is auto-paused due to certification expiry, when the pause-notification-orchestrator processes the event, then the coordinator receives a push notification with the subject 'Certification Expired – [Mentor Name] auto-paused' and a body that distinguishes it from a voluntary pause
- Given the auto-pause notification is received, when the coordinator taps the notification, then the deep link navigates to the mentor detail screen which shows the certification-expiry-warning-banner prominently at the top of the screen
- +4 more
As a As a Coordinator
I want to access a dedicated paused-mentor roster screen that lists all currently paused peer mentors in my chapter with their pause reasons and expected return dates
So that I can plan workload distribution, identify mentors approaching their expected return date, and proactively contact mentors who have exceeded their expected return date without reactivating
- Given the coordinator navigates to the pause roster, when the screen loads, then the coordinator-pause-roster-screen displays all peer mentors with status 'paused' within the coordinator's access scope, sorted by pause start date descending
- Given a mentor's expected return date has passed, when the roster renders that mentor's row, then the expected-return-date-picker display shows the date in an overdue color accent (rose/red) and appends an 'Overdue' label
- Given the coordinator has chapter-level scope for multiple chapters, when they use the chapter filter, then the roster filters to show only paused mentors from the selected chapter without a full page reload
- +4 more
As a As a Coordinator
I want to receive a notification when a paused peer mentor reactivates themselves and be able to confirm or hold the reactivation before the mentor becomes visible to new contact assignments
So that I can verify the mentor is genuinely ready to resume, restore any previous contact assignments, and update the chapter roster without unintentionally routing contacts to a mentor who activated accidentally
- Given a paused mentor confirms reactivation via the pause-reactivate-toggle, when the mentor-status-service processes the change, then the coordinator receives a push notification labelled 'Peer Mentor Reactivated' within 5 seconds with the mentor's name and prior pause duration
- Given the organisation configuration requires coordinator acknowledgement for reactivation, when the mentor reactivates, then the mentor's status is set to 'pending_reactivation' and they do not appear in active assignment flows until the coordinator acknowledges
- Given the reactivation notification is delivered, when the coordinator views the notification card in the notification centre, then the pause-notification-card renders with an emerald accent to visually distinguish it from pause notifications
- +4 more
As a As a Coordinator
I want to receive an automatic notification when a peer mentor's certification expires and the system automatically transitions them to paused status
So that I am immediately aware of compliance-driven unavailability, can initiate the certification renewal process, and can update contact assignments before any service disruption occurs
- Given the nightly-scheduler runs and the certification-expiry-checker finds a mentor with an expired certification, when the check completes, then the mentor-status-service sets the mentor's status to 'paused' with pause_reason='certification_expired' within the same nightly job execution
- Given a mentor is auto-paused due to certification expiry, when the pause-notification-orchestrator processes the event, then the coordinator receives a push notification with the subject 'Certification Expired – [Mentor Name] auto-paused' and a body that distinguishes it from a voluntary pause
- Given the auto-pause notification is received, when the coordinator taps the notification, then the deep link navigates to the mentor detail screen which shows the certification-expiry-warning-banner prominently at the top of the screen
- +4 more
As a As a Peer Mentor (Likeperson)
I want to receive an immediate push notification and in-app alert when one of my peer mentors initiates a pause on their account
So that I can promptly reassign pending contacts, update the availability roster, and ensure no follow-up activities fall through the cracks during the mentor's absence
- Given a peer mentor confirms a pause via the pause-confirmation-dialog, when the mentor-status-service processes the status change, then a push notification is dispatched to the coordinator's device within 5 seconds via the fcm-notification-dispatcher
- Given the push notification is received, when the coordinator opens the notification, then the notification-deep-link-handler navigates directly to the mentor's detail screen showing the pause-status-banner
- Given the coordinator opens the notification centre, when they view the pause notification card, then the pause-notification-card displays the mentor name, pause start date, expected return date (if set), and a direct link to the coordinator-pause-roster-screen
- +3 more
As a As a Coordinator
I want to receive an immediate push notification and in-app alert when one of my peer mentors initiates a pause on their account
So that I can promptly reassign pending contacts, update the availability roster, and ensure no follow-up activities fall through the cracks during the mentor's absence
- Given a peer mentor confirms a pause via the pause-confirmation-dialog, when the mentor-status-service processes the status change, then a push notification is dispatched to the coordinator's device within 5 seconds via the fcm-notification-dispatcher
- Given the push notification is received, when the coordinator opens the notification, then the notification-deep-link-handler navigates directly to the mentor's detail screen showing the pause-status-banner
- Given the coordinator opens the notification centre, when they view the pause notification card, then the pause-notification-card displays the mentor name, pause start date, expected return date (if set), and a direct link to the coordinator-pause-roster-screen
- +3 more