=== Legba Volunteer ===
Contributors: pierreht
Tags: volunteer, shifts, sign up sheet, nonprofit, hours
Requires at least: 6.2
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 0.3.2
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Volunteer management: shifts with limited places, availability by private link, volunteer applications, waitlist, reminders, attendance and hours.

== Description ==

Legba Volunteer replaces the paper sheet and the spreadsheet: you publish what you need help with, people choose their shifts, and you know who is coming, who came and how many hours each person gave.

**Opportunities and shifts**

* An opportunity is a page like any other (text, image, categories) with its place and its contact person.
* Add as many shifts as you want: role or task, date, start, end and number of places. Duplicate a shift in one click.
* Shifts that end after midnight are supported.
* Close the sign-ups of an opportunity when you have enough people.

**Ask people when they are available**

* Switch an opportunity to "Availability": instead of taking a place, people tick all the dates and hours that suit them.
* Make it private: the opportunity is hidden from your lists, the search and search engines, and only people who have the link can answer.
* Copy the link and share it by email, text message or social network.
* People change their answers at any time with their own link.
* Answers are listed by date and hour. Put a person on the schedule in one click: they receive their schedule, with the calendar file and a link to cancel.

**Volunteer application form**

* `[legba_volunteer_apply]` lets anyone offer to help, before any specific opportunity: contact details, weekly availability (days × morning, afternoon, evening), areas of interest, skills and motivation.
* Applications wait for your approval (or are accepted at once), with an email to the person either way.
* Volunteers update their details and their weekly availability from their "My shifts" page.

**Sign-up without an account**

* Volunteers tick one or several shifts and give their name and email. No account, no password.
* Places left are shown on each shift. When a shift is full, new people go on the waitlist and are confirmed automatically, in order, as soon as someone cancels.
* Optional phone number, comment box and consent checkbox with your own text.
* Optionally show the first names of the people already signed up.
* Works without JavaScript, and on cached pages.

**Emails**

* Confirmation with the shifts, an "Add to my calendar" file (.ics) and a link to cancel.
* "A place opened up" email for people on the waitlist.
* Reminder a number of hours before each shift (24 by default).
* Notification to your team, or to the contact person of the opportunity, for each sign-up and cancellation.

**"My shifts" page**

* Each volunteer has a private link (sent by email, no account) that shows the upcoming shifts, with the calendar file and the cancel link, the past shifts and the total hours recorded.
* You can stop online cancellations a number of hours before a shift.

**Attendance and hours**

* Sign-ups screen grouped by shift, with filters by opportunity, period and status.
* Mark people present or absent ("All present" in one click). The hours are filled with the length of the shift and can be corrected.
* Add a person yourself (phone or in-person sign-ups).
* Print the attendance sheet of a shift.
* List of volunteers with the number of shifts and the hours done, the history of each person and private notes for your team.
* CSV exports of sign-ups and of volunteers that open cleanly in Excel (accents kept, spreadsheet-formula injection blocked).

**Privacy**

* Spam protection without puzzles: invisible honeypot, minimum filling time and a limit per visitor.
* WordPress personal data export and erase tools, suggested privacy policy text.
* Data is removed when the plugin is deleted only if you ask for it.
* No outside service: nothing is sent anywhere except the emails of your own site.

**Legba Volunteer Pro**

A separate Pro version adds: reminders by text message (SMS) and WhatsApp with your own Twilio account, a second reminder and "send a reminder now", invitations by email with the list of who answered, the availability grid to make the schedule, messages to the volunteers of a shift, certificates of volunteer hours, several shifts at once, moving all the dates, duplicating an opportunity, a thank-you email and a dashboard widget. Everything described above is in the free version and stays free.

**Use it anywhere**

`[legba_volunteer]` shows all the opportunities with upcoming shifts. `[legba_volunteer id="12"]` shows one, `[legba_volunteer category="festival" limit="5"]` a category. The "Volunteer opportunities" block offers the same options. `[legba_volunteer_apply]` is the volunteer application form and `[legba_volunteer_my]` the "My shifts" page.

Translated in French (France and Canada).

== Installation ==

1. Install and activate the plugin.
2. Go to Volunteers → Add an opportunity: write the text, then add the shifts in the "Shifts" box.
3. Add the "Volunteer opportunities" block or the `[legba_volunteer]` shortcode to a page.
4. Optional: create a page with `[legba_volunteer_my]` and choose it in Volunteers → Settings → "My shifts" page.

== Frequently Asked Questions ==

= Do volunteers need an account? =

No. They sign up with their name and email, and open their "My shifts" page with a private link sent by email.

= What happens when a shift is full? =

New people go on the waitlist. When a confirmed person cancels, the first person waiting is confirmed and receives an email.

= How are hours counted? =

When you mark a person present, the length of the shift is recorded. You can type another number. Only shifts marked "present" count in the totals.

= My emails are not received. =

WordPress sends emails with the server's mail function, which is often blocked or marked as spam. Use a sender address of your own domain in Volunteers → Settings, and an SMTP plugin.

= Can I ask people for their availability without publishing the opportunity on my site? =

Yes. Choose "Availability" and tick "Private: only with the link" in the opportunity, publish it, then share the link. The opportunity does not appear in your lists, in the search or in search engines.

= Who can see the volunteers? =

Editors and administrators. The `legba_volunteer_capability` filter changes it.

== Screenshots ==

1. An opportunity with its shifts, the places left and the sign-up form.
2. The shifts of an opportunity in the editor.
3. Sign-ups by shift, with attendance and hours.
4. The list of volunteers with their hours.
5. The "My shifts" page of a volunteer.
6. An opportunity in "Availability" mode: people tick the dates and hours that suit them.
7. The volunteer application form with the weekly availability.

== Changelog ==

= 0.3.2 =
* Fix: page styles are now added with the WordPress style functions; HTML added by add-ons to the forms is cleaned before it is shown.

= 0.3.1 =
* The plugin is now published under the name Legba Father (https://getlegba.com). No functional change.

= 0.3.0 =
* New: hooks for add-ons (settings, forms, reminders, sign-ups screen).
* Changed: invitations by email, availability grid, messages, certificates, shift generator, duplication, thank-you email and dashboard widget move to Legba Volunteer Pro, which also adds reminders by SMS and WhatsApp.

= 0.2.0 =
* New: "Availability" mode, private opportunities with a link, invitations by email, changing answers, availability grid and schedule.
* New: volunteer application form with weekly availability, approval of applications, filter of volunteers by availability, profile update by the volunteer.
* New: several shifts at once, duplicate an opportunity, move the dates, message to volunteers, certificate of hours, thank-you email, dashboard widget.

= 0.1.0 =
* First version.
