Volunteer

Convention volunteers. Volunteers are accessed via /api/volunteer.

Properties

See "Object Properties" in Introduction for basic shared properties.

Complete details in VolunteerProperties. It also has these extra read-only properties:

name

The Volunteer's firstname and lastname joined by a space, e.g. if firstname is "Joe", and lastname is "Volunteer", name is "Joe Volunteer".

Related Objects

See "Related Objects" in Introduction for how to use them.

convention

The Convention this Volunteer belongs to.

user

The User this Volunteer belongs to.

Relationships

See "Relationships" in Introduction for how to use them.

shifts

The list of Shifts applied for by the Volunteer (via their "volunteershifts").

volunteershifts

The list of VolunteerShifts associated with the Volunteer.

Qualifiers
status
shift_id
shift.conventionday_id

The conventionday_id field in the VolunteerShift's related Shift record. You must include parameter _include_related_objects=shift with the request for this to work.

Includes

See "Includes" in Introduction for how to use them.

has_scheduled_shifts

Returns a "1" or a "0" (zero). "1" means the Volunteer has scheduled shifts, "0" means the Volunteer has no scheduled shifts.

scheduled_shifts

Returns the list of shifts for which the Volunteer is scheduled.

Services

The services used to fetch and manipulate Volunteers.

Search Volunteers

Searching across all conventions is not enabled. To search within a single convention's Volunteers, see "Relationships" in Convention.

Create Volunteer

 POST /api/volunteer
Required Params
session_id
user_id

This is automatically set to the current session's user's id. Users cannot create Volunteer records for others. Convention organizers can create volunteers with the "Administratively Create Volunteer" service.

convention_id
firstname
lastname

A Volunteer's name must be unique for the convention.

email_address
phone_number

Returns the same as a normal read.

Read Volunteer

 GET /api/volunteer/xxx

Returns:

 {
   "id" : "xxx",
   "firstname" : "Joe",
   "lastname" : "Volunteer",
   ...
 }

Update Volunteer

 PUT /api/volunteer/xxx

Returns the same as a normal read.

Delete Volunteer

 DELETE /api/volunteer/xxx

You cannot delete a Volunteer who has scheduled shifts.

Returns:

 {
   "success" : 1
 }

Submit Volunteer Application

 POST /api/volunteer/xxx/submit

Alerts organizers with the volunteers privilege that there is a new volunteer application.

Message Volunteer Managers

 POST /api/volunteer/xxx/message-managers

Sends an email message to all convention Volunteer Managers.

Required Params
subject

The subject of the email message

body

The message body for the email.

Optional Params
send_test

Sends the message to the volunteer's contact email as a test.

Returns:

 {
   "success" : 1
 }

Administratively Create Volunteer

 POST /api/volunteer/by-organizer

This will create a volunteer record for another user (not the organizer).

Required Params

Same as a normal volunteer creation.

Using the email field, one of two things will happen. If the email address is already in use by one of Tabletop.Events users, the volunteer record will be attached to that user account. If the email address is not in user by a user, then an account with that email address will be created and the user will be emailed asking them to set a password for their account.

Note that the email address a person uses in a volunteer application can be different from their user account email address. If the email address is already in use by a volunteer for the convention, the volunteer creation will fail (and no user account will be generated).

Returns the same as a normal read.