Files
walkies/docs/features/time-off.md

36 lines
2.1 KiB
Markdown

# Feature: Time Off Management
**Source:** VSMS Functional Requirements v1.1, Section 4
---
## Volunteer Time Off
| FR ID | Requirement | Notes |
|-------|-------------|-------|
| **FR-T01** | Volunteers (including Trainees) can add time off for a single day or a date range. An optional reason can be provided. | |
| **FR-T02** | Volunteers can edit or delete their own **future** time off. | Past time off cannot be edited by volunteers. |
| **FR-T03** | If a volunteer submits time off that covers a day they are assigned to a shift, the system displays a clear warning before submission. On confirmation, the volunteer is automatically removed from those shift instances and Admin is notified. | |
| **FR-T04** | If Admin deletes a volunteer's time off, the volunteer is automatically re-added to any shift instances from which they were removed due to that time off. Admin is shown which shifts will be affected before confirming. | |
---
## Admin Time Off Controls
| FR ID | Requirement | Notes |
|-------|-------------|-------|
| **FR-T05** | Admin can add, edit, and delete time off for any user. | |
| **FR-T06** | The system blocks Admin from assigning a volunteer to a shift if that volunteer has approved time off on that date. A clear warning is displayed. **The block cannot be overridden** — the time off must be removed first. | |
| **FR-T07** | If a volunteer attempts to claim an open shift that conflicts with their own time off, the system warns them to delete their time off first. They cannot claim the shift until the conflict is resolved. | |
---
## Conflict Rules Summary
| Scenario | Behaviour |
|----------|-----------|
| Volunteer submits time off overlapping an assigned shift | Warning shown → on confirm, removed from shift, Admin notified |
| Admin tries to assign volunteer with time off on that date | Hard block — must remove time off first |
| Volunteer tries to claim open shift with conflicting time off | Blocked with prompt to resolve time off first |
| Admin deletes volunteer's time off | Volunteer re-added to affected shifts; Admin sees impact preview first |