After many hours of discussion, we've decided to try CiviEvent for the registration process. To do this, we will create a proof of concept registration form. Currently this form can be viewed here.
The steps of this process are as follows:
- Create a registration form using CiviEvent UI
- Allow for both organizational and individual registrations.
- Form should allow multiple individuals registered under a single organization.
- Automatically tally registration costs based on the type of organization and the number of individuals registered.
- Create individual contacts for each registrant.
- Associate individuals with the organization under which they are registered.
- Additional Functionality
- The organizational 'administrator' will be able to modify or add registrant information under their organization.
After testing the registration capabilities on community.sandbox.ussf2010.org, everything on the above list seems within the scope of what CiviEvent can do. Development steps and some details below. I've attached some screen captures of the process and the confirmation email.
1. Prototype is [here]. Note some of the registration fields itemized on the Registration Process wiki page are missing. It seems there is still some discussion to be had about what from this list to include in the registration process and what to include on organize.ussf2010.org.
1. a. CiviEvent allows for the creation of price sets for varying payment levels, which allows flexibility for fee requirements within a single event. The form handling can be open text fields (that has an associated unit price), check boxes, radio buttons or select lists. Organization, individual, university/business and foundation prices have been setup according to the above wiki page. The sliding scale / additional donation requirements will need further discussion about the best way to handle this. What is on the registration form now are only potential solutions to the pricing scheme.
1. c. CiviEvent does this. Registration for each participant includes the fee as a part of the form; the confirmation screen tallies the total for all participants registered. The price set, however, shows all the options on the each registrant form, and these forms do not contain the registration data of the first or previous registrants. We'll need to customize the passing of this information to the next registration screen as the assumption is that if the first registrant chooses to register an organization, all the subsequent registrants will be under that organization registration and therefore not need to see the other fees. Each registrant form is numbered so if the price structure allows only three registrants for the initial organization fee, then we can offer a different price for the fourth and subsequent registrants.
1. d. The fields for participant registration, as its currently setup, are Individual and Contact data fields, which means that a registrant has both an Individual and a Participant record created upon completion. CiviEvent allows this as its been prototyped. Once the list of information for registration is finalized, determining whether the data will be stored under the Individual or Participant record might be relevant to searching and running reports by USSF admins.
1. e. This is largest remaining piece to be developed. CiviEvent doesn't allow Profiles for the registration form to contain both Individual and Organization fields, thus the relationship established between the registering Individual and the Organization they may be registering on behalf of has to be done through CiviCRM's hooks. The form currently shows organization data as Custom Data fields in the Participant data set. The Custom Data fields will be stored in the Individual's participant record. The hooks should allow us to push this Custom Data into an Organization record, both new and existing, and establish a Relationship between the Individual and the Organization.
2. a. Editing the registration could be possible with configuration. As an admin, my account already allows this feature. We will need to setup registrant permissions to see if this is possible. The Relationship establish in 1. e. could allow the registering participant editing rights over the Organizational record. Additional Relationships between the registering Participant and the other Participants could also allow this, but that means further customization. This last feature should be discussed.