Lisa presented this work at the SF Meetup in March. Her presentation slides are here
Three years ago I set up a Drupal-based community site for our children’s K-8 public charter school. As the school’s needs grew, I integrated CiviCRM to enable online enrollment, tour registration, ticket sales, volunteer hour tracking, and other functionality that had previously been accomplished through unwieldy paper forms.
As I began to work more closely with a local arts education non-profit, I realized the lessons I had learned from working on the school site were directly applicable to the organization’s needs. SFArtsED runs a summer camp program for children. Till this year, all registrations were completed on a paper form that was sent, along with a check, via snail mail. The Registrar mailed back four forms to the parent, who filled them out and mailed them back to SFArtsEd, along with a receipt for payment. Last month I set out modernize their camp enrollment process using Drupal, CiviCRM, Ubercart and Webform Integration.
Class Enrollment – The enrollment process now takes place via shopping cart functionality in Ubercart. Each class is set up as a product, as are optional morning and afternoon extended care sessions. Parents can browse the camps offerings, and are instructed to complete a separate order for each child. Each child’s first and last name is added to the user’s UC address information with UC Extra Fields Pane (http://drupal.org/project/uc_extra_fields_pane) to differentiate multiple orders by the same parent for multiple children. The UC Discount Coupons module automatically applies discounts for multiple sessions, and allows the user to take a 10% sibling discount (http://drupal.org/project/uc_coupon).
Forms Completion - With Ubercart/CiviCRM integration (http://drupal.org/project/uc_civicrm) a Civi account is created for the user as soon as they complete a purchase. Through Rules integration, the completion of an order sends them an invoice and a link to a set of Webforms. Once they’ve logged in, their own basic information (name, email, phone, address) is auto-populated into the form. Using Webform CiviCRM Integration (http://drupal.org/project/webform_civicrm), each form is build with three contacts – User 1, an existing contact – the current logged in parent account, User 2, a Summer Camp Student contact subtype, where the parent can add the child’s information, and User 3, fields for a second parent. The parent is guided through four pages of custom fields including emergency contact information, family background, student pick-up authorizations and a liability waiver. Webforms Integration creates the Parent/Child relationships for each submission. All of this information is now available on a single Civi contact screen, instead of across pages of paper in folders.
Reporting – As a non-profit serving children, the organization is often asked to report on student demographics, including race/ethnicity of students, as well as public vs. private school enrollment. In addition, staff keeps notes regarding student’s skills and abilities to help track their creative development. A custom set of fields is available to the camp administrators to help them track and report on these attributes.
Future Enhancements - When I learned the specifics of SFArtEd’s needs for summer camp enrollment, I knew that Drupal/Civi/UC were the perfect way to achive the desired results. But as a non-profit, they have multiple other stakeholders including donors and guest artists. I am hoping to extend Civi to provide an all-encompassing CRM that they can leverage for fundraising, ticket sales, and email blasts to their constituents.
The total concept to launch time for this project was almost exactly a month, time outside of my regular job and parenting responsibilities. I can’t imagine making this happen without Civi, Webforms Integration, Ubercart and a lot of great advice from the Civi Community!