Event Registration/Ticket Sales System Specifications

Events happening in the community are now at Drupal community events on www.drupal.org.
You are viewing a wiki page. You are welcome to join the group and then edit it. Be bold!

Discuss this wiki here: http://groups.drupal.org/node/19770

Goals

Our goal is to create the best event registration system available.

  1. Simple for the end user to register for an event
  2. Simple for the admin to create an event. Use Case: The church secretary should be able to do it.

The goal of this document is to gather, organize, and clearly express the needs that churches (and others) have regarding event registration.

The User Side

Display Event Description and Details

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.

Record general AND unique user data

Some events will be fine with only general information collected such as Name, email address address, phone, number attending, special requests.

However, other events will need to record unique information that is specific to that event and only that event.
For example: Roommate request. Size for the camp T-shirt. What dish you will bring to the potluck. The Daycare needs to know the ages of the children and if they have any food allergies. Etc.

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.

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.

Adding Product Attributes

Often times an event will have an option for the registrant to order materials or a t-shirt. It would be excellent to add an attribute to add this to the cost and be able to specify a size, color, etc.

Multiple person registration

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

Volunteer/Role Registration

Sign up for certain roles at an event. Limit the number of people that sign up for each role. For example: One leader, One host, Two setup/cleanup, and at least 10 attendees to have an event.

Pay Later

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

Discounts

  • Person/Code Based Discounts - Discounts for certain people are needed. Such as a 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.)
  • Time Based Discounts - Discounts based on time of registration (early bird).
  • Quantity Based Discounts - Discounts based on number of registrants is needed - bulk discounts.

Confirmation Emails

It should be configurable per event. 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...")

Tickets

An option to create a hard copy ticket to bring to event for admittance. Options: Print online. Print confirmation page. Option to send in postal mail? (This isn't necessary for any of my clients (so far) but it may be important for others.)

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.

The Admin Side

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

Reports

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

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.

Additional reminder emails

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

Registration Notifications

Optionally Conference Admin gets emailed notifying of each registrant.

Questions and Issues

  • Should we force users to be a website/Drupal Registered User to register for events? Should anonymous users be able to register?
  • What other reports would admins need?

Next Steps

  1. Recruit more people in the process.
  2. Continue to clean up and organize document.
  3. Add to document
  4. Prioritize specifications
  5. Solidify Requirements
  6. Begin to discuss and research possible solutions
  7. Research and contact appropriate developers
  8. Get estimates
  9. Raise Funds
  10. Etc.

Drupal for Good

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: