Event Registration Specifications: What are your church's registration requirements?

bradwade's picture

I've created a wiki for the specifications: http://groups.drupal.org/node/20933
Let's keep the discussion going here.

I'm trying to get some feed back from the community so that we can develop a solid event registration system for churches. What are your event registration needs? Below is a brain dump of specifications that I have come up with. Comments? Suggestions? Other requirements? Do you want to highlight the most important/least important things from the list for your church?

Please don't start talking about or debating solutions yet. I just want to get our needs figured out first.

Event Registration/Ticket Sales System Specifications

*Registrations with Cost and No Cost

We should have a similar process (on admin and end user side) for event registration for events that have costs associated with them and those that don't.

*All Events need to record some common data.

Such as: Name, email address, address, phone, number attending, special requests. Anything else? Anything less? (Some events may want a lighter interface - such as just name and email.)

*Each event may need to record specific data.

Such as: The Church Retreat registration needs to know if you will take the bus or drive on your own. The Tech conference needs to know if you are taking the programming or theming track of classes. The Daycare needs to know the ages of the children and if they have any food allergies. Etc.

*Options selected effect price/product/quantity

The options/attributes selected will effect the price and/or product and/or quantity.

Such as: Choosing a different seating section (orchestra, balcony, etc.) for tickets effect price. Buying two tickets needs to effect quantity (which will effect price). Selecting this weeks show or next weeks could change to an entirely different product.

*Multiple person registration

Optionally need to be able to register multiple people: yourself and your spouse. Your entire youth group.

*Quantity/stock tracking

Need to be able to automatically close registrations/ticket sales based on number of tickets sold. Need to be able to manually adjust stock in case tickets are sold or given away in other ways.

*Admin register without paying

An admin needs to be able to enter data for those who filled out paper registration and paid by cash/check.

*Optionally allow a "will pay later by check/at door" option, where registration can be completed and saved without paying.

*Discounts for certain people. Special code for friends and family to get 20% off. OR For a congregant in financial need, the church will often cover most/all of the costs to attend some event. (Perhaps the same as "will pay at door" option.)

*Discounts based on time of registration (early bird) and number of registrants

*Need to manage status of ticket/registration.

Status: Not Registered. Not Paid. User began a registration... but did not pay. (Should these records be deleted?)

Status: Registered/Paid. Once credit card processed, system needs to update status to paid.

Status: Registered/Unpaid

*Saving and Reusing Registration Data

If the user is a registered user on the web site, we should store basic registration information (address, phone, email, etc.) to make registering again at a later date a much easier process. Should that information be stored in their user profile? Could the info from their profile populate/be the default for the registration page? How would that work with registering multiple people?

*Conference Admin - Reports

List of Names of people to attend with status and other attributes. Other reports?

*Confirmation Emails

User gets an email confirmation containing all registration information and unique event information ("Thanks for registering for this conference. Be sure to pack your pillows this year because...")

*Additional reminder emails

Admins can send out reminder or alert emails to all who have registered.

*Optionally Conference Admin gets emailed notifying of each registrant.

*Question: Should we force users to be a website/Drupal Registered User to register for events? Anonymous users register?

*Event Description

Need to include a lot of information (many fields and taxonomy) to describe event such as general description (Body), begin and end dates, image field, PDF attachment of schedule, etc. Taxonomy/categories for group/dept/ministry to which event is related, topic, etc.

  • Simple as possible process for end user to register

*The easier to create a new event the better.

I'm worried that most clients won't be able to create a custom content type with custom fields, then create a product with certain attributes, then go into another module and link the two together... and have to repeat this process for every event! Also I'm concerned about accumulating too many custom content types and/or products, if we need new ones for each event.

*Tickets - Print online. Print confirmation page. Option to mail? (This isn't necessary for any of my clients (so far) but it may be important for others.)

*Sign up for certain roles at an event - Not as common of a requirement, but some events need people to sign up for roles such as: One leader, One host, Two setup/cleanup, and at least 10 attendees to have an event.

Groups:
Login to post comments

FYI, you've pretty much just

matt2000's picture
matt2000 - Fri, 2009-03-06 17:33

FYI, you've pretty much just listed the features of CiviEvent:

http://civicrm.org/civievent

Now that CiviCRM 2 has Views 2 integration, the fact of Events not being is less of a hindrance. We can now deal with event data in the same way we're used to dealing with other Drupal data.

Best,
Matt

Drupal.org user profile
Portfolio: http://www.NinjitsuWeb.com
Drupal Micro-blogging: http://twitter.com/matt2000


Possible Registration Solutions

bradwade's picture
bradwade - Mon, 2009-03-16 20:11

Some of my notes from the Birds of a Feather discussion at DrupalCon DC on possible methods of implementation. CiviCRM's CiviEvent wasn't mentioned as far as I can remember.

The use case we were trying to find a solution for was having a church secretary (not a geek/programmer/drupal wiz) that needs to add multiple types of events, collecting different data for each event.

UC Node Checkout

http://drupal.org/project/uc_node_checkout
This module allows you to map a node type to an Ubercart product.
Summary: Good for consistent/infrequent registration requirements, but a lot of administrative setup required.

UC Node Checkout may be a good solution when you have many/all registrations that collect the same set of data for all events. So if you only collect Name, Address, Phone, Email for all you different events, this may work.

Cons: However it is not good if you collect specific detailed information for each event (such as: for one event you need to know if the registrant wants a vegetarian lunch, for another event if they will be taking the bus, another event if their child has any allergies, etc) This is because every event would need to be its own content type, a node, and an ubercart product. It is too much and too difficult admin setup.

Ubercart Product

This approach would simply create a registration as an Ubercart product with product attributes to collect registration information.

Cons: Product Attributes are not exposed to views (so difficult to create reports/views of registration info). Even if they were, the attributes interface (as it currently exists) was not recommended by Ryan and Lyle as being easy to use.

Webform

Webform was liked by people in the BOF as being the easiest approach to create registration forms. So it was thought that perhaps a good way forward would be to integrate Webform with Ubercart perhaps completing and extending the Ubercart Webform Productize http://drupal.org/project/uc_webform_productize.


Webform - easy download of registration info

flickerfly's picture
flickerfly - Wed, 2009-03-18 01:44

One of the benefits of Webform is that it already has a way to download the results of all the forms in a CSV format that a secretary can easily bring into Excel, through some formatting and hand to the people at the check-in table. That's pretty simple with Webform, and perhaps CiviEvent (I don't know), but is noted as an issue with Ubercard Product and would also be an issue with anything that requires creating a View because then you're asking the church secretary to learn the Views interface and that's asking for lots of phone calls. :-)


Webform Capabilites

bradwade's picture
bradwade - Sat, 2009-04-04 04:36

Does anyone know if webform has the capability of doing any calculations. For example enter a number in one field and select a drop down from another and it calculates a third field.

And can you assign multiple values to one drop down such as Medium is $20, Large is $25, X-Large is $30???

(I'm realizing this is probably not the best place to ask this... but oh well)


Calculations in Webform

rkdesantos's picture
rkdesantos - Sat, 2009-04-04 17:17

Calculations can't be done directly in fieldtypes in Webform however with some Javascript and php in a "custom" php snippet with your theme it should be possible to do (but I have never tried). See: http://drupal.org/node/342183


Any progress?

skstarkiller - Thu, 2009-03-26 13:57

Has there been any progress on making this a reality. I am ready to chip in some cash to make it happen. I am currently using a 2 step process webform > product to have people register. The problem is they can complete the webform but not pay which makes keeping track of the registrations a real problem for the event coordinator.

Any help on this would be awesome!


Event Registration Requirements Spec

bradwade's picture
bradwade - Sat, 2009-04-04 04:38

Here ya go Phil. At least some progress. I cleaned up the specs and made a wiki: http://groups.drupal.org/node/20933


Just a note

jsnr75 - Fri, 2009-04-03 13:39

Brand new to Drupal, and in over my head. I have used forms for youth ministry event registration for years. One of the things I've found useful is a "T-Shirt Size" option, with S, M, L, XL, XXL, and XXXL as options. Just a thought while we are dreaming right?


For Camp T-shirts?

bradwade's picture
bradwade - Sat, 2009-04-04 04:29

Good idea. I included it as an example in the wiki I created for the specs. http://groups.drupal.org/node/20933


Signup module

andychannelle - Sat, 2009-05-02 10:49

Have you thought about starting (or adding to) the Signup Module. This does a lot of the stuff. I ask for selfish reasons: I am using it, but would like to have options for 'number of seats required' added to an event, and then have this removed from the total available seats. It works for individual signups, but I'm not talented enough to build in the extra options.


I'll Consider Signup Module...

bradwade's picture
bradwade - Wed, 2009-05-06 18:21

I think signup module is worth taking a look at. However my gut reaction is that it is too simple of a tool to handle all the different requirements that I'm putting together. I think the simplicity (ie the limitations) of signup module and it's ease of use is one of its strengths. So adding a bunch of features to it might not be the best thing to do... - Brad


Any updates on what modules

tborrome - Mon, 2009-09-07 14:44

Any updates on what modules you ended up using for your event registration requirements? I'm going through the same dilemma. I'm struggling about what modules to use for event volunteer registration for my church.. and I'm down to the signup and webform modules. But we cant get all the functionality we need with just one of them.

Basically, what we need is the ability for a volunteer to browse events from a calendar and sign up for that event to volunteer but like yours, there are a few specific requirements that make it a little more complex ...

  1. A volunteer should be able to do multiple registrations - like signing up the kids for an event, or signing up others who don't have user accounts or even email addresses, we have a lot of volunteers who don't even use the computer..

  2. Be able to customize the volunteer registration fields for each event.

  3. Be able to export the registration list to Excel.

  4. Be able to set limits for # of volunteers for an event.

  5. be able to open and close an event manually and automatically (when maximum is reached).

  6. Be able to prevent schedule conflicts ... volunteers shouldn't be able to sign up for 2 events for the same time slot.

  7. Be able to restrict sign ups by age (for example, there are volunteer events only for kids less than 12, events that require age > 18 or events for < 18 )

Webform is very nice with customizing registration fields and we can make the webform an event by adding CCK date fields. It also allows multiple registrations and can export the results to delimited formats and Excel. so it addresses 1 to 3 very well but the rest are questionable. Setting limits is possible through a PHP hack but opening and closing the event can only be done by unpublishing the node. I also tried the WebForm Associate module but I gave up on this because of unsolved bugs http://drupal.org/node/358252

Signup is more flexible since it can be assigned for different content types and setting max limits, opening/closing and auto-closing upon reaching limits are all built in functionality. It also has nice features for emailing reminders for signed up events and built in "My Signups" views and blocks. However, it cant handle 2 important requirements - multiple registrations and customizable registration fields... actually you can customize the registration fields in the PHP code as documented, but the customization is site wide.. not per event.

I wish a can just combine the 2! As for preventing schedule conflicts and age-based signups, I still don't have a solution...

I think I've hit a dead end. I don't know if we can achieve the requirements with existing modules.

I'd be interested to hear about your progress on this. thank you for sharing!


Your requirements are fairly

matt2000's picture
matt2000 - Mon, 2009-09-07 17:24

Your requirements are fairly complex. I would do it with Webform + some custom code. Part of that code would go in a custom module, and then there would be the 'Validation PHP' that webform allows to do your age-based sign-up.

Best,

Matt


Sorry. I don't really have

bradwade's picture
bradwade - Tue, 2009-09-08 01:55

Sorry. I don't really have any updates. I've been using webform and Ubercart in a two step process. It's functional for the one of my church's needs, but not the ideal solution. - Brad


Add a Bounty

skstarkiller - Wed, 2009-10-21 13:09

Do you think we could get some traction on this if we put a bounty on it? If so, what would that bounty amount need to be?