Volunteer Scheduling Application
Product Description
Overview
The Volunteer Scheduling Application (VSA) is a web-based scheduling tool that enables individuals to schedule themselves into role-specific, capacity-limited activities on a shared weekly calendar. VSA is ideal for organizations that coordinate volunteers or staff across events and recurring activities and struggle with the maintenance, staffing, and coordination that scheduling involves. Unlike generic sign-up sheets, spreadsheets, or shared calendars, VSA enforces per-activity limits, role-based visibility, and private/public access — so schedulers manage only their own activities, supervisors see the complete roster, and administrators maintain control.
Who it's for
- Churches & ministries — greeters, worship team, nursery, ushers.
- Food banks & nonprofits — recurring shifts and event slots.
- Schools & PTAs — parent volunteers for events and classroom help.
- Sports clubs & teams — coaches, snack duty, field setup.
- Community & one-time events — coordinating numerous volunteers across single or multiple days.
VSA is not limited to these organizations — it is a flexible application that can accommodate many types of organizations with scheduling needs.
How it works
Volunteers and staff schedule their time for planned activities within a Job/Event. A Job is a general category (e.g. Kitchen, Greeter); an Event is a set of specific dates for planned activities (e.g. Art Fair). Each Job/Event contains one or more activities (e.g. Serving Breakfast, Fair Check-in). (The "Job" label is configurable — for example, Department, Skill Type, Ministry, or Team.) Jobs/Events may be private or public: to view or schedule a private one, an account must be assigned to it, while public ones are available to all registered accounts.
The calendar view shows the logged-in account, its role, and a pulldown to select assigned
private and listed public Jobs/Events. A 3-month navigator on the left highlights the selected
week; the schedule on the right can be shown as a week grid or a single
day, with arrows to step forward and back by day or week and an adjustable row
height — and it defaults to the day view on phones. Each activity shows a name, the current
number of people scheduled, the maximum allowed (max: * means no limit), the
assigned people's names, and status symbols. Colors convey status:
- Gray — in the past; cannot be modified.
- Olive — assigned count is at the maximum.
- Blue — assigned count is below the maximum.
- Orange — (Scheduler) your assigned people equal your account's number of associated people.
- Gray, name struck through ("Cancelled") — the occurrence has been cancelled for that day/time and takes no assignments.
Roles
- Administrator — creates accounts; creates Jobs/Events and their activity plans (the recurring templates that generate the calendar's activities); assigns Schedulers and Viewers to private Jobs/Events; and adds people to a Scheduler account. Administrators do not schedule people, but can open the calendar to lock or cancel/restore individual activity occurrences on any Job/Event, public or private (see below; each is configurable).
- Scheduler ("Scheduler/User") — views, adds, and removes associated people on activities. An account may hold one or more associated people (a family) or be a group account (a contact/group lead plus members). This role sees and manages only the people associated with the account. A self-service profile panel lets the Scheduler edit their contact name and add, rename, or remove their own people (configurable).
- Viewer ("Viewer/Supervisor") — like a supervisor, sees everyone assigned to an activity but cannot add or remove people. A Viewer can also manage access for the private Jobs/Events it is assigned to — granting or revoking which Scheduler accounts may see and schedule them (configurable). When enabled, a Viewer can also create its own Jobs/Events and their activities; a private one it creates is automatically assigned to it, so it can immediately manage that item's access (private and public creation are each independently configurable). A Viewer can also lock or cancel/restore individual activity occurrences on the private Jobs/Events it is assigned to (see below; each is configurable).
Locking & cancelling occurrences
Beyond scheduling people, VSA can control a single activity occurrence on a specific day and time (today or in the future) without changing the recurring plan behind it:
- Lock / Unlock — freeze an occurrence so no additional people can be assigned, while everyone already assigned stays (and can still be removed). A padlock marks a locked activity — useful when a shift is already staffed enough.
- Cancel / Restore — make a single occurrence unavailable, for when a regularly scheduled activity should be skipped on a particular day/time. A cancelled occurrence shows gray with its name struck through and takes no assignments; it can be cancelled only when no one is assigned, and Restore brings it back. The rest of the recurring schedule is untouched.
Each capability is independently configurable per role: a Viewer can lock and/or cancel occurrences on the private Jobs/Events it is assigned to, and an Administrator can do so on any Job/Event, public or private.
Sign-in & registration
The application supports username/password and/or email-link ("magic link") sign-in; the available methods depend on configuration. "Forgot Password" uses an email link to verify the account and set up a password reset. It can also be configured to let people self-register from the Home page, with the allowed roles controlled by configuration.
Accessing the live demo
There are two ways to sign in to the live demo:
- Register (self-serve, needs your email) — Open the demo and click Register. Enter a name, pick Scheduler/User (schedule yourself into activities) or Viewer/Supervisor (see the full roster, read-only), and enter your email. Click the verification link we email you and you're signed in.
-
Quick sign-in, no email (shared demo accounts) — Log in with one of the
accounts below; the password for both is
test:betty— Scheduler/User, the "Bicycle Club" group account with 10 people. Add several people to an activity and watch a slot fill to its maximum (Blue → Olive), and see the Orange state.mike— Viewer/Supervisor. See the full roster read-only, and note that the private Board Committee Job appears in mike's pulldown — it's hidden from accounts not assigned to it. mike can also use Add Job/Event (top-right) to create its own Job or Event with activities. On its own private items (such as Board Committee), click a current or upcoming activity to Lock it against new assignments or Cancel/Restore that occurrence.- Administrator — not shared publicly; email Russ McFadden for access to see the Administrator role's capabilities (creating accounts, Jobs/Events, and activity plans).
The demo accounts are shared — please be courteous, as others use them too. Activities in the past show Gray and cannot be modified.
What's in the demo
Use the calendar's Job/Event pulldown to explore the seeded content:
- Kitchen (public Job) — daily meal and prep shifts.
- Greeter (public Job) — Sunday greeter and info-table activities.
- Summer Concert (public Job) — weekend stage setup, musicians, and equipment teardown, recurring Saturdays and Sundays through the summer.
- Board Committee (private Job) — visible only to assigned accounts; sign in
as
miketo see it. Illustrates private-vs-public access. - Summer Art Fair (public Event) — a multi-day event with setup, check-in, and teardown activities.
Security
Built with layered, industry-standard security. Passwords are never stored in readable form, sign-ins are protected against guessing and abuse, and every action is permission-checked on the server based on your role.
- Passwords hashed (never stored in readable form); optional passwordless email sign-in with expiring links.
- Signed-token sessions that expire automatically; protection against session theft (XSS); logout clears cached data.
- Role-based access control enforced server-side; private Jobs/Events visible only to assigned users.
- Rate limiting against brute-force and email-spam abuse; security HTTP headers; input validation and injection guards.
- Information transmitted over HTTPS when deployed behind TLS.
Configuration & branding
- Branding — application name/title, home page, color scheme, logo/symbols.
- Terminology — the "Job" label to fit your organization (Department, Skill Type, Ministry, etc.).
- Sign-in & registration — which methods and which self-registration roles are allowed.
- Password rules — length and required character types.
- Allowed admin actions — add/edit/delete for users, Jobs/Events, and activity plans.
Getting started
Getting started begins with a conversation. Contact us and we'll walk through your organization's needs, gather a short configuration & branding checklist, choose hosting, provision and brand your instance, and hand it off with admin guidance.
Hosting & pricing
- Software — free. There is no software-license cost.
- Self-hosted — you host and manage it on your own infrastructure, with our onboarding help.
- Managed hosting — we set up and run your instance for you. Costs are pass-through infrastructure only (app hosting, database, and email): typically about $10–40/month for most organizations depending on size and email volume, and up to roughly $60–100/month for larger organizations needing dedicated resources. A one-time setup/installation fee (typically $150–500) is currently waived for nonprofits and early adopters — you cover only the third-party hosting/email costs.
- Open-source licensing — the app is built on open-source components, each under its own license; a complete list is displayed within the application.