Set Expected Return Date When Pausing
When a peer mentor initiates a pause they should have the option to provide an expected return date. This date helps coordinators plan contact assignments and enables the system to send a proactive reminder to the peer mentor as the return date nears. The date picker should be optional and easy to skip; the mentor should also be able to update or clear it later. The coordinator notification should include the expected return date when one is set.
User Story
Audience Summaries
This story directly addresses mentor retention and coordinator efficiency — two of the most operationally expensive challenges in peer mentorship programs. By allowing peer mentors to communicate a planned return date when pausing, the platform reduces uncertainty for coordinators, enabling smarter temporary contact redistribution rather than costly permanent reassignments. The proactive reminder notification two days before the expected return date significantly increases the probability that mentors follow through on returning, reducing churn and protecting the investment made in recruiting and certifying each mentor. Coordinators receiving timestamped, date-enriched pause notifications can plan team capacity with confidence, reducing reactive scrambling.
The optional nature of the date picker ensures the feature is never a barrier to pausing, maintaining mentor trust and platform adoption. This capability supports engagement KPIs, coordinator satisfaction scores, and overall program continuity.
This is a medium-complexity story with dependencies on the existing pause/reactivation flow (story-peer-mentor-pause-reactivation-peer-mentor-001), which must be completed and stable before development begins. Effort spans mobile UI work (date picker component, skip action, edit flow), notification service integration (coordinator push/email enrichment), and a scheduled reminder job triggered two days before the stored return date. Cross-functional involvement includes mobile developers, backend engineers for the scheduler, and QA for testing time-based reminder logic. UAT must cover six distinct acceptance criteria including edge cases like retroactive date addition and coordinator notification content validation.
Rollout risk is low due to the optional nature of the feature. The main delivery risk is scheduler reliability in staging — dedicated integration tests for the reminder trigger are essential. Timeline estimate: 1–2 sprint cycles depending on existing date picker component availability.
Implementation requires modifications across three layers. On the mobile side, the pause confirmation dialog needs a conditional date picker component with a 'Skip' path that bypasses date selection; the date must be stored on the mentor's pause record. The profile screen requires a read/edit flow for the return date that does not re-trigger the full pause initiation sequence — a lightweight PATCH endpoint on the pause record is the correct approach. On the backend, the coordinator notification service must be updated to conditionally append the expected return date field when present.
A scheduled job (cron or event-driven) must evaluate active paused records daily and enqueue a push notification for mentors whose return date is exactly two days away — idempotency is critical here to prevent duplicate reminders. The data model for pause records needs a nullable `expected_return_date` datetime field. Edge cases include timezone normalization for the two-day threshold and handling records where the return date is set retroactively after pause creation.
Acceptance Criteria
- Given the pause confirmation dialog is open, when I tap 'Set expected return date', then a date picker appears allowing me to select a future date
- Given I have selected a return date and confirmed the pause, when the coordinator notification is sent, then it includes my name and the expected return date
- Given I have set a return date, when the current date is two days before the expected return date, then I receive a push notification reminding me that my planned return date is approaching and prompting me to reactivate
- Given I am currently paused with a return date set, when I navigate to my profile, then I can see and edit the expected return date without triggering a full re-pause flow
- Given the date picker is shown, when I tap 'Skip', then the pause is saved without a return date and no date appears in the coordinator notification
- Given I am paused with no return date, when I open my profile, then I can add a return date retroactively using the same date picker
Business Value
Expected return dates allow coordinators to make informed decisions about redistributing contacts temporarily rather than permanently. This reduces the operational burden on coordinators and increases the likelihood that paused mentors return, as their coordinator can maintain appropriate expectations and outreach timing.
Components
- Pause Confirmation Dialog ui
- Expected Return Date Picker ui
- Mentor Status Service service
- Coordinator Notification Service service
- Mentor Status Repository data
- Mentor Status BLoC infrastructure
- Pause Management Service service
- Peer Mentor Status Repository data
- Pause Notification Orchestrator service
- Pause Notification Payload Builder service
- Pause Status Record Repository data