74 lines
3.7 KiB
Markdown
74 lines
3.7 KiB
Markdown
# Feature: Notifications
|
|
|
|
**Source:** VSMS Functional Requirements v1.1, Section 5
|
|
|
|
---
|
|
|
|
## Delivery
|
|
|
|
- **Email is required** for all notifications in MVP.
|
|
- SMS is nice-to-have for a future release.
|
|
- All Admin notifications are email only.
|
|
|
|
---
|
|
|
|
## Monthly Schedule Publish
|
|
|
|
| FR ID | Requirement | Notes |
|
|
|-------|-------------|-------|
|
|
| **FR-N01** | When Admin publishes a month's schedule, each assigned volunteer receives **a single email** listing all their shifts for that month. | One email per volunteer, not one per shift. |
|
|
| **FR-N02** | The monthly email includes a single **'I've seen my schedule'** acknowledgement button. Clicking it marks the volunteer as acknowledged for that entire month. The email instructs: if they cannot make any shift, they must log in and book time off. | Acknowledgement covers the whole month — not per-shift. |
|
|
| **FR-N03** | Admin can see acknowledged vs. unacknowledged status per volunteer on the schedule view. Unacknowledged volunteers are visually flagged. | |
|
|
|
|
> **✦ Nice to Have (post-MVP):** If a volunteer has not acknowledged within 3 days of the monthly publish email, the system automatically sends them a reminder.
|
|
|
|
---
|
|
|
|
## Open Decisions
|
|
|
|
- **Default acknowledgement state:** If a volunteer never responds to the monthly email, are their shifts treated as acknowledged or unacknowledged? *(⚠ Open Decision)*
|
|
- **Time-off link in monthly email:** Should the email include a direct link to the time-off page for volunteers who know they cannot attend a shift? *(⚠ Open Decision)*
|
|
|
|
---
|
|
|
|
## Shift Reminders
|
|
|
|
| FR ID | Requirement | Notes |
|
|
|-------|-------------|-------|
|
|
| **FR-N04** | **24 hours** and **1 hour** before each shift, all assigned volunteers receive a reminder notification. | |
|
|
| **FR-N05** | The 24-hour reminder includes two actions: **'I'll be there'** and **'Cannot Attend'**. | |
|
|
| **FR-N06** | If a volunteer clicks 'Cannot Attend', they must select a mandatory reason before submitting. | Options: Sick, Emergency, Work conflict, Other (free text) |
|
|
| **FR-N07** | On 'Cannot Attend': the shift spot is marked open, the cancellation reason is recorded, and Admin is notified immediately. | |
|
|
|
|
---
|
|
|
|
## Other Volunteer Notifications
|
|
|
|
| FR ID | Requirement | Notes |
|
|
|-------|-------------|-------|
|
|
| **FR-N08** | When a published shift is edited (assignments or capacity changed), all volunteers assigned to that shift are notified and their acknowledgement status is reset. | |
|
|
| **FR-N09** | When a volunteer is added to a shift mid-month (after publishing), they receive a notification about the newly added shift. | |
|
|
| **FR-N10** | When a published month is retracted (unpublished), all assigned volunteers are notified. | |
|
|
|
|
---
|
|
|
|
## Admin Notifications
|
|
|
|
Each Admin can configure which of the following they receive. All delivered by email, individually per event.
|
|
|
|
| FR ID | Event | Content |
|
|
|-------|-------|---------|
|
|
| **FR-N11** | Volunteer clicks 'Cannot Attend' | Volunteer name, shift details, reason provided |
|
|
| **FR-N12** | Volunteer submits time off | Volunteer name, dates, optional reason |
|
|
| **FR-N13** | Volunteer claims an open shift | — |
|
|
| **FR-N14** | Shift drops below minimum volunteer capacity | One alert per threshold breach |
|
|
| **FR-N15** | Trainee becomes eligible for promotion (2 shifts completed) | Informational only — promotion is always a manual action |
|
|
|
|
> **TBD:** Admin notification configurability — whether this is a simple toggle list or something more complex depends on implementation effort.
|
|
|
|
---
|
|
|
|
## Open Decisions
|
|
|
|
- **Understaffing alert timing:** How many days before a shift should Admin be alerted if it is still below minimum capacity? Admin-configurable — default value TBD. *(⚠ Open Decision)*
|