The Volunteers module extends each event with a controlled volunteer application workflow.
- Logged-in users can apply as volunteers during a configured application window.
- Admins can review, rate, and update each application status.
- Selected volunteers gain access to a private Volunteer Lounge per event.
- Volunteer progression is reflected in private/public profile panels.
applied: application created by member.under_review: admin is actively reviewing the application.selected: member accepted as volunteer.not_selected: member was not accepted.withdrawn: member withdrew their own application.
Applications are immutable by deletion: records are always preserved and status-driven.
- Public/member:
GET /api/events/{eventId}/volunteers/submissions/configPOST /api/events/{eventId}/volunteers/submissionsPUT /api/events/{eventId}/volunteers/submissions/{id}POST /api/events/{eventId}/volunteers/submissions/{id}/withdrawGET /api/events/{eventId}/volunteers/submissions/mineGET /api/events/{eventId}/volunteers/lounge(selected/admin)POST /api/events/{eventId}/volunteers/lounge(selected/admin)
- Admin:
GET /api/events/{eventId}/volunteers/submissionsPUT /api/events/{eventId}/volunteers/submissions/{id}/statusPUT /api/events/{eventId}/volunteers/submissions/{id}/ratingGET /api/events/{eventId}/volunteers/submissions/statsGET|PUT|DELETE /api/events/{eventId}/volunteers/submissions/event-config
- Window-based admission control (
opens_at,closes_at,accepting_submissions). - Strict status-transition validation.
- Optimistic concurrency via
expected_updated_aton moderation actions. - Lounge posting protections:
- max body length: 200 chars
- rate limit: 1 post/minute per user/event
- event capacity: 500 lounge messages
- On admin status change, applicant receives a user notification in Notifications Center:
- title:
Volunteer application update - message includes event title and the new status.
- title:
- Funnel metrics emitted:
volunteer_submitvolunteer_selectedvolunteer_lounge_post- runtime aliases:
volunteer.submission.create,volunteer.submission.status.*,volunteer.lounge.post
- Development Insights ledger emits automatic volunteer capability events:
VOLUNTEER_SUBMITTEDVOLUNTEER_UPDATEDVOLUNTEER_WITHDRAWNVOLUNTEER_STATUS_*VOLUNTEER_RATING_UPDATEDVOLUNTEER_LOUNGE_POSTED
- Initiative key convention:
event-volunteers-<eventId-slug>
- Member can submit and update during window.
- Admin can move status and set ratings.
- Status change generates notification for applicant.
- Selected volunteer can post in lounge; non-selected gets
403. - Funnel rows show volunteer conversion metrics in admin metrics.
- Admin insights event count increases after volunteer actions.