Skip to main content

Track Court-Ordered and Community Service Hours

Goal: Capture community service hours the right way — whether they're court-ordered or general community service — so the records you hand back to a court, probation officer, or supervising authority are defensible, complete, and clearly separated from regular volunteering.

What "Hour Purpose" means

When a volunteer registers for an opportunity, an optional Hour Purpose appears on the registration form. It has three values:

  • Regular volunteering (the default) — counts toward engagement reports, milestone recognition, and homeowner sweat equity if the person is a homeowner-applicant
  • Court-Ordered Community Service — the volunteer is working off court-mandated service. Always requires staff approval before the hours count, regardless of event settings
  • General Community Service — non-court community service tracked separately from regular volunteering (e.g., school service requirements)

When Court-Ordered Community Service is selected, three optional fields appear:

  • Court Order Reference — case or order number
  • Court Order Date — when the order was issued
  • Supervising Authority — court, probation office, or supervising entity

All three fields are optional at registration. Volunteers often don't have their paperwork in hand when signing up; staff can fill in the missing fields later from the Review Hours screen.

Where the Hour Purpose select appears

Volunteers and staff both see the same field, on every signup surface:

  • The volunteer's authenticated event details page (/volunteer/events/:id)
  • The public opportunity page (/volunteer/opportunities/:eventId) and the by-invite-token equivalent
  • The embedded volunteer signup widget (the iframe affiliates drop onto their public site)
  • The staff Add Volunteer dialog when manually registering someone for an opportunity

Staff manual entry can also pick a purpose in the Log Hours dialog on the Sweat Equity Approvals page (when the person has a homeowner application).

Court-ordered always lands in Review Hours

Court-ordered hours are highly regulated. Ayuna always routes them to the pending review queue, regardless of the event's "Auto-approve hours on close" setting. A coordinator may have an event configured to auto-approve regular hours; court-ordered registrants on that same event still come through pending so a staff member explicitly signs off.

This applies in every direction:

  • A coordinator closing an event with mixed registrants will see the regular volunteers' hours land approved (if auto-approve is on) and the court-ordered registrants' hours land pending
  • An admin editing a previously-approved hours entry and changing its purpose to court-ordered will see the entry demoted back to pending, with the prior approver and timestamp cleared. The edit dialog warns you before you save.

Where the hours show up

The destination depends on whether the person is also working toward a Habitat home:

PurposePerson has active homeowner application?Volunteer Hours queueSweat Equity Approvals queue
Regular volunteeringNo
Regular volunteeringYes✓ (purpose = Homeowner Sweat Equity)
Court-Ordered Community ServiceNo✓ (always pending)
Court-Ordered Community ServiceYes✓ (always pending)✓ (purpose = Court Ordered, with case fields)
General Community ServiceNo
General Community ServiceYes✓ (purpose = Community Service)

Sweat equity is, by definition, labor a homeowner-applicant is investing toward their own build. Non-homeowner court-ordered or community-service hours never appear on the Sweat Equity Approvals page. They live solely in Review Hours.

For homeowner-applicants who are also working off a court order, the same hours legitimately count toward both the build and the court mandate, so a paired entry is created in both queues.

The two queues stay in sync

When an entry has both a Review Hours record and a Sweat Equity Approvals record, the two are linked:

  • Approving in either queue approves the other — staff don't have to action the same hours twice
  • Rejecting in either queue rejects the other — the rejection reason is mirrored on both records
  • Editing duration, date, activity type, or notes from Review Hours updates the Sweat Equity record — change hours from 8 to 5 in Review Hours and the homeowner's sweat-equity total updates accordingly
  • Changing purpose in the Review Hours edit dialog flows through — switching to court-ordered demotes both records to pending; switching back to regular volunteering removes the sweat-equity record (when there's no application linkage to preserve)

Reopening an event clears its hours

If you reopen a closed event and choose to delete the auto-generated hours, both the volunteer hours and the paired sweat-equity entries for that event are removed. After your changes you can close again and a fresh set will be generated.

Filling in court details after the fact

A volunteer who couldn't produce paperwork at signup can still register; staff complete the case number, order date, and supervising authority later:

  1. Open Volunteering Tab → Review Hours
  2. Filter to Pending and find the entry
  3. Click the pencil to open the edit dialog
  4. Set Hour Purpose to Court-Ordered Community Service (if not already), fill in any of Court Order Reference / Court Order Date / Supervising Authority, save
  5. Approve the entry once the documentation is in order

The Review Hours sidebar item is at /volunteers/hours-review and is gated on volunteers.hours.approve.affiliate (or system-level).

Reporting court-ordered hours back to a court

The Court-Ordered Hours report (Reports → Library) gives you a one-click summary per (volunteer × court order), with approved / pending / total hours, the case number, supervising authority, and date range — exportable as CSV, Excel, or affiliate-branded PDF. See Court-Ordered Hours Report for what it pulls and how to filter it.

Common questions

A volunteer signed up under "Regular volunteering" but the hours should have been court-ordered. Can I fix it? Yes. Open the entry from Review Hours, switch the Hour Purpose to Court-Ordered Community Service, fill in the case fields, save. The system will demote the entry back to pending so a fresh approval is recorded.

Does selecting court-ordered force the volunteer to enter a case number? No. All three court detail fields are optional at registration. Staff can fill them in later from the edit dialog.

Why is a community-service entry not showing on the Sweat Equity Approvals page? That person doesn't have an active homeowner application. Their hours are in Review Hours instead. Sweat equity is reserved for partner-family build labor.

What happens to a previously-approved homeowner sweat-equity row if I change its purpose to court-ordered? It's demoted back to pending in both queues so a reviewer can resign off, and the court-detail fields propagate onto the sweat-equity record so the same row can be reported back to the court.

A homeowner-applicant volunteered, but the hours shouldn't count toward sweat equity. Can I detach them? Yes. Open the entry from Review Hours, uncheck Count toward sweat equity in the edit dialog, and save. The sweat-equity record is removed; the volunteer hours stay so engagement reports and milestones still credit the time. Re-check later to put the entry back on the homeowner's sweat-equity log.