Recipe for handling youth registration with CiviCRM

Do you need to allow parents to register their children? Tired of using custom data fields on a child to collect information about their parents and emergency contacts?    Would you like the information collected during the registration to create (or update) the various contact records needed in the back-office?  Then this blog post is for you. This recipe creates a contact record for each child, each parent, each emergency contact, the household contact, and also builds the appropriate relationships between each contact.

A new CiviCRM Q&A resource needs YOUR help to get started

This goes out to CiviCRM users (yes YOU too!), admins and developers.

A key productivity tool in my day to day life is a set of Q&A websites called Stack Exchange. They have different sites for all sorts, from programming through to parenting(!). Typically, I'm on the programming ones usually, but stay with me, this isn't about to get technical.

New custom search for event participants

Pogstone has created a new custom search that should help anyone dealing with events, pricesets and/or custom participant data. This search has the following features:
  - you can filter/view individual priceset options. (Such as search on participants who registered for a certain priceset session.)
  - Choice of 3 layouts: one row per participant, or one row per line item, or summary totals for each line item option. 
  - Choose which columns to include in the results

Pogstone releases extension for parents registering children for events

There is a new native extension available for allowing parents to register their children for events within CiviEvent.  Tired of using custom data fields on a child to collect information about their parents and emergency contacts?    Would you like the information collected during the event registration to create ( or update ) the various contact records needed in the back-office?  Then this is the extension for you.

Camp Registration - Streamlining with Webform Civi Integration


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.


New extension for creating relationships durring event registration

I blogged a while ago about "Putting the R back in CRM" about the limits on relationships in the self-service areas.   Well I am happy to have an update.  I  (Pogstone Inc) have sponsored the creation of a new extension ( along with JMA Consulting).  This extension is taking advantage of the CiviCRM extension framework for modules, so it should work under Drupal, Joomla or Word Press.

Lets put the R back in CRM

Since CRM stands for Constituent Relationship Management, one would expect to have robust capabilies for dealing with relationships. This expectation is met when using the staff areas of CiviCRM.

However, in any of the self-service areas such as event registration profiles, membership profiles, and stand-alone profiles then relationships are missing.  Each profile can only be used to collect information about a single contact.


This lack of support for relationships causes headaches in the following situations:


Pushing the Envelope with CiviCase

A few months ago as our organization was just starting to use CiviCRM, Dave Greenberg recommended that we look at CiviCase as a solution for our admissions team to keep track of prospective students. As a collection of activities associated with a client, CiviCase looked like a great way to record our interactions with potential students as we made initial contact, followed up, received communication from them, sent more info, and then accepted their applications. From a DB point of view, yes, it is a nearly perfect way to store that information. But from a UI point of view, we had a long way to go before our admissions team would be able to painlessly get the data in, work with and update it once it was there, and then be able to get it back out in the form of reports. Here's what we did to make that happen (and more!):

CiviSchool - Application form for Admissions

A school needed an online admission application process to be developed and integrated with CiviSchool. The application form is a different workflow from the online family forms. Web Access helped convert this idea to working application as part of the CiviSchool Project. I have been working with Web Access on this project and we have completed most of it. Now seemed to be a good time to let everyone know about what we have done so far. Here is how the admission workflow is -
  • Parent account setup : A parent goes to the school site and uses a civicrm registration profile to create an account and enters the site. The account automatically gets assigned a "Applicant Parent" subtype.
  • Filling admission application forms : From the dashboard parent fills admission application forms for an applicant (child). Parent can apply for 1 or more applicants. All applicants are assigned a "Applicant" subtype.
  • Submitting a payment : Depending on whether financial aid is taken or not, parent submits a payment for an applicant. The payment is done via contribution page with contribution type - "Application Fee". Since parent is the one making the payment, to keep track of which applicant the payment is being done for, an extra argument is passed to the payment/contribution url. We using a hook to make all the checks and link the payment to the applicant.
  • Scheduling appointments : Once the application is complete and payment is made (if needed), parent can schedule a child visit or a parent interview. A school tour could be booked at any stage of the process.