Table of Contents

Classes and Camps

Basic Context and Concepts

Classes and camps educational programs with regular, multi-day commitments. They are similar in terms of data collection in the following ways:

  • Need to capture the same key information for both: parent info, child info, emergency contact info.
  • Need a flexible system for creating custom fields depending on the needs of the Class. (For instance, sometimes we need to collect a child's t-shirt size, sometimes we don't.)
  • All class/camp information needs to be able to be compiled on a roster for the teacher to refer to.
  • Both a Parent and a Child contact record should be updated (or created) during the registration process, with the parent's contact record containing the contribution and the child's contact record having the participant record. We might need to also capture a "non-attending" participant record type on the parent's contact record, TBD.

The three class/camp variations are:

Weekly Classes

Classes are typically help over several weeks, usually meeting one day/evening per week. Single day or "drop ins" to a class are not offered, participants are expected to attend all sessions i.e. register for the whole class, the assumption being that they attend every day of class.. We expect that registration for Classes can be handled mostly out-of-the-box by Open Tickets/WooCommerce, with information synced back to CiviCRM in much the same method that ticket purchase information will be synced. You register for a class that typically happens once a week for multiple weeks.

Summer Camps (or Session-Based Camps)

Like a Weekly Class, except instead of one day a week for multiple weeks, it's every day for a 1-3 week period. You register for the whole camp, the assumption being that you attend every day of camp.

Winter/Spring Break Camps (or Day Camps)

These type of camps are held during break times from school, are typically a week long, and each day of the camp is (essentially) an independent event. Rather than register for a full week-long period, the attendee is registered for only the days they are interested in attending. From the buyer's perspective, they should be able to select all of the days they'd like their child to attend within a particular camp schedule, but only have to enter their registration information once i.e., I'm registering my daughter for camp on Monday, Thursday, and Friday, but not Tuesday or Wednesday. The requirements here are that:

  • BACT needs their registration information for all camp events/days they are registered for, but would like them to only fill out the registration form once i.e. select what days they want to attend on a single form.
  • A roster for each day of the camp needs to be accurate as to who will be attending that day's camp i.e. the teacher should be able to access the roster for each individual day of the camp.
  • Full Course/Camp Registration and Daily purchases must have integrated inventory.
    • We're not sure this will actually be an issue, as there might not be a "Full Course" purchase available in the new system implemented in OpenTickets.
    • Need full specifications from BACT.
    • What limitations should there be on single-day tickets?
    • Can a class be over-booked? Are single ticket sale dates more restrictive than full-course tickets?

General/Global Requirements

  1. Allow for a child to "drop-in" to a single day of a week-long (or other) camp (not applicable to classes)
  2. If a parent is registering her child for multiple "drop in" days of a camp, she should be able to register for all desired days in one registration event i.e. one reg form
  3. Registration process (for both classes and camps):
    • Parent registers child
    • Parent and child contact records are created if they don't already exist
    • Child has the participant record
    • Relationship is created between parent and child
    • The contribution is captured on the parent contact record in CiviCRM
  4. Fields required during class/camp signup:
    • From the Registering Parent/Guardian
      • Name
      • Phone
      • Email
    • For each Child Being Registered
      • Name
      • Sex
      • Age
      • Grade
      • Allergies / Medications
      • Medical Insurance
      • Doctor Name and Phone
      • Medical Release
      • Photo Release
    • Other Parent/Guardian Information -- If it's possible for these fields to create/match a contact record that is related to the Child record, that would be ideal. The need typically comes up in cases of separated couples, where we'd like to be sending emails to both households, rather than just the parent who did registering.
      • Additional Parent/Guardian Name**
      • Additional Parent/Guardian Phone**
      • Additional Parent/Guardian Email**
    • Emergency Contact Information -- These are likely custom fields stored on the participant record
      • Emergency Contact Name/Relationship
      • Emergency Contact Phone
      • 2nd Emergency Contact Name/Relationship (optional)
      • 2nd Emergency Contact Phone (optional)