Overview
The Volunteer API manages volunteer opportunities and tracks participation with GPS/QM verification. Activities can be verified at levels 30-100, with higher verification requiring location check-in and QR code scanning.Endpoints
Create Opportunity
POST/api/volunteer/opportunities
Create a new volunteer opportunity.
Request Body:
List Opportunities
GET/api/volunteer/opportunities
Retrieve volunteer opportunities with optional date filtering.
Query Parameters:
startDate: Start date (ISO 8601)endDate: End date (ISO 8601)limit: Max results (default: 100)
Check In
POST/api/volunteer/check-in
Check in to a volunteer activity with GPS verification.
Request Body:
- Location must be within 100 meters of opportunity location
- Accuracy must be better than 50 meters
- QR code optional but increases verification level
Check Out
POST/api/volunteer/check-out
Check out from a volunteer activity.
Request Body:
- Hours volunteered calculated from check-in/check-out times
- Verification level based on GPS accuracy and QR usage
Verification Levels
| Level | Requirements | Evidence |
|---|---|---|
| 30 | Basic check-in/out | Time tracking only |
| 50 | GPS verification | Location within 100m |
| 70 | QR code scan | Digital check-in |
| 90 | Photo evidence | Activity documentation |
| 100 | Supervisor verification | Manager confirmation |
Skill Matching
Opportunities can specify required skills for better matching:Business Rules
- GPS Required: Activities over level 30 require location verification
- Time Tracking: Hours automatically calculated from check-in/check-out
- Duplicate Prevention: Users cannot check in multiple times to same opportunity
- Capacity Limits: Opportunities respect max participants setting
- Caching: Opportunity lists cached for 5 minutes
