This page contains proposed new functionality for CiviEvent - to be implemented for CiviCRM 2.3. Special thanks to Chris Ivens for his contributions in designing and implementing an initial version of the Waitlist feature. Please try to focus your comments on the planned features below. Suggestions for additional features can be made on the forum, or better yet as a code contribution or sponsorship |
New Features
Waitlisting
Events that have a participant limit will be able to have a waitlist, collecting (potential) participants who registered after the event got full. This list will hold registration time, and works like a first-in, first-out queue. The "wait list" message shown to users will be configurable for each event.
When registering for a wait-listed event, users would complete the event level fields (fee or price sets), as well as any profile fields. However, for paid events they would NOT enter payment information - and no payment would be collected on initial registration.
If a registered (or pending) participant cancels from the event, the first person on the waitlist gets an email "invitation" with a link to complete their registration. At that time their status is changed from "Waitlisted" to "Added from waitlist". This process is automated via a cron-job run script. Event admins can be cc'd on these invitations.
When the formerly wait-listed participant returns to the event registration page - they will initially see a page where they can confirm that they want to complete their registration. They will then have a chance to review their registration information on the "normal" registration form - and complete their payment if this is a paid event.
The event administrator will have the power to promote people from the waitlist to "Registered" status 'manually' (i.e. register a VIP from the middle of the waitlist - even if registering them causes maximum participant limit to be exceeded).
Approval Required to Complete Event Registration
Events can be configured to require admin approval for participants (in this version for all roles; at some future time maybe at a per-role basis). The "approval required" message displayed to users will be configurable.
In the case of paid events, the participants would pay only once they're approved. Event admins will get an email notifying them that a participant is waiting review / approval. Approved participants will get an invite with a link to complete their registration. The flow then is the same as for waitlisting.
The event admin decides whether the not-approved people count against the event size or not - i.e., whether an event with max participants of 100, and with 50 approved and 50 unapproved participants is full or half-empty (and so new participants are still accepted).
Waitlist/Approval Interaction
Note: We might punt the ability to have events with both a waitlist and admin approval to CiviCRM 2.4+.
For events with both waitlist and admin approval, people from the waitlist can be pre-approved by the admin, and they would be auto-approved once they're off the waitlist (and finished the registration properly).
Expiry of Pending Registrations
Every event can have an option that expires certain participant statuses after a configured amount of time if the participants in question do not finish their registration (after they get approved, after they get invited off the waitlist, or if they chose pay later, etc.).
Such expired participants would open spots for other people from the waitlist, for example.
Changes to Existing Features
Event Information
Events will have the information (contact_id references) on who created them and who is the event owner (default: creator). These people will be Cc:-ed on (some?) event emails, like when an event gets full (or maybe also stops being full?).
Communication Events
New communication events will be introduced. The participants will be notified when they move off of the waitlist and when they're approved; in either case they'll be required to finish their registration. Admins will get notified of new waitlisted, and awaiting approval participants. They can also be cc'd on all participant emails.
Dedupe Rules
We should make sure that all dedupe-based contact matching works as follows:
- If there's exactly one match, the participant is the matched contact.
- Otherwise (if there are no matches or more than one) the participant is a new contact.
- If there was more than one match, possibly email the event owner (and creator, if different?) that there might be duplicate contacts in the database.
Contact Data Edition
Currently participants are allowed to edit the parts of their own data that are exposed with CiviEvent - and the data they enter stays in the database even when the given participant is rejected. This should be somehow handled in CiviEvent 2.3 (but the actual handing is still subject to discussion).
Participant Statuses
To handle the new features, new participant statuses will be introduced. The list of statuses is not yet finished, but would most probably include ones like "Wait listed", "Added from Wait-list", "Waiting Review", "Approved", "Not Approved" (possibly waiting and approved if we allow mixing waitlist and approval). Some of these statuses would mean that the participants have yet to finish their registration (and if there's a time limit imposed, such participants would be automatically cancelled via cron-job script once that time limit is past).
Activity Records
All participant status changes should be recorded in the given contact's activity history.

20 Comments
Hide/Show CommentsMar 25, 2009
Michael McAndrew
This looks great.
Re Dedupe Rules and contact data edition/editing, i think it is mportant to highlight this process (how dedupe rules are applied, where they can be configured), and also the consequences of letting people access your database to update contacts via profiles (which applies to events, membership sign up and contributions). The questions you need to ask and data security questions should be addressed in the docs (I've started this for event registration) - any system where you allow people to assert they are who they are just by typing in an email and first name last name combination isn't very secure - some options to make it more secure that spring to mind:
Mar 25, 2009
Brian Shaughnessy
Couple additional ideas:
Mar 25, 2009
shawn holt
My vote for Approval! It can be used in a variety of scenarios.
Please consider the ability to cancel registration - that has to be done manually.
Great stuff!
Mar 29, 2009
Carmi Weinzweig
Adding the ability for a user to cancel registration would be great (again it might be that approval is necessary for refunds, etc.).
Mar 25, 2009
Gregory Heller
I'd really like to see "default" and templated values for all of the following:
Event Information:
Online Registration:
Tell A Friend:
The way i imagine this is that for each "section" as in Event Information, online Registration (maybe event the 3 sections within online registration) and tell a friend, the user could choose from a set of predetermined values. Think of it like this: i might have a set of values i use on EVERY fundraiser event, a different set of values for every house party. I would select the template set of values i wanted, they would be "read into" the fields, and i could update them from there.
Mar 26, 2009
shawn holt
yes - templates would significantly enhance usability.
Mar 26, 2009
Donald A. Lobo
template functionality is available in current versions via the following:
1. Create an Event Template
2. Use Copy Event from that Event Template for your real event
I'm not sure adding another mechanism to do the same thing is worth it. We already have a fair number of complaints about multiple ways of doing the same thing
Mar 26, 2009
Shawn Duncan
These features are really good ideas. Brian's point above about customizing emails is probably a global issue in Civi. For example the acknowledgement email sent by CiviMember on new and renewed emails, automated contribution reminders, and so on. All of these would be experienced as more powerful, more welcoming to constituents if the could be customized to the organizations culture/language.
Mar 26, 2009
Casti Cimpian
Can't wait for these new features. Couple of suggestions:
1. Multiple owners for an event
2. Sub type of events. For example our organization has events and courses. Each event or courses can have their own type.
3. Region ACL levels. Like, show me all events or contacts in my region.
4. ACLs for group of events
5. Ability to show custom tabs, if user has permission for the custom data used for the custom tab.
Mar 27, 2009
tabidi
Couple of suggestions for multi registrants
1) Allow for a different profile for secondary registrants - use case is a family registers for an event, the data needed for the primary person might be email, first name/last name, age, city, state, country. But for secondary registrants we might only need first name, last name, age
2) Allow for event fees to be paid at the end, i.e after entering data for all the registrants. This would be more in line with the way typical ecommerce systems work -
a) enter order data details
b) review summary of the order
c) Pay for the order
d) confirmation of order completion
Mar 28, 2009
Leila Johnson
These all sound great. Here are a couple of other ones that our clients have requested:
Thanks for all the great features so far!
Mar 31, 2009
David Sledesky
I agree that a room reservation feature would be very helpful - or a resource reservation feature. Or both. I'm sure there are organizations that have multiple meeting rooms that they'd like to link events to, or resources such as a projector, etc. - I think Eileen is referencing this type of resource booking in her post below.
The other way I see it working is for residential-based organizations that have residential events where they actually book participants into rooms or beds. In this scenario, it would be great to have functionality built in allowing the participant or admin to pick a room or bed and reserve it as part of reserving a space in the event.
I also agree with Brian S below regarding partial payments. Some events only require a down payment to reserve a space with the rest due by a specific date. Along these lines, a reminder e-mail could be generated x days before the due date to remind the participant that the balance is due.
Mar 28, 2009
Eileen McNaughton
This is great to see. And of course, like everyone, I can just think of a few more things I'd like....
1) - Multiple participants. Will people be able to register others without registering themselves? e.g. parent registering children. In a perfect world people it would be configurable whether people could register people they don't already have permissions over or whether they are restricted to those they do (e.g. a company admin can only register people from their company and they would get a drop down box to select the people from those and their details would be pre-filled.
2) Dedupe - I'd like to see a bit more control on e-mail field weightings. At the moment if they have a main e-mail and a billing e-mail in common they get points for both and you can't stop that which can tip the balance when you don't want it to.) Simply only allowing e-mail to count once would be enough in our case (or being allowed to determine who many e-mails can match)
3) Leila;s room reservation could be more of a resource reservation as there are other types of resources that need booking
4) note tabidi's comment about payment processor at the end currently applies to button mode & form I think but notify mode is at the end already
5) tokens available for the event name & maybe some other details that can be put in the e-mails to go out. I think someone mentioned this
6) The bit about setting template defaults by Gregory Heller - I strongly agree. I would like to have the option to set them to be 'default and supressed' meaning that any fields set up like that would have a default and would not be present on the add new event screens at all. This would allow the form to be much compressed (to about 8 fields in our case) in quite a flexible way (I'd also argue for not having so many pages or at least supressing some if all the fields on them are supressed. This also allows admins to prevent those who create events from editing things they don't want them to.
We typically set :
Title
Dates
Description
Pricing
7) Further to Brian's note about configurable confirmation e-mails - I suspect the biggest thing that is a problem for non-technical users is adding enough information for a receipt (ie. GST / VAT no, Charitable donation status, charities number or whatever)
8) One of the biggest problems we have with events is dealing with part-payments and partial refunds. Part-payments could be some negotiated rate or because they have taken it upon themselves to pay in installments. part refunds are always because we choose not to refund the whole fee. Ideally we could make more than one receipt against the same event 'invoice' but failing that at least allowing back end admins to override the price sets or whatever. I don't want to add a free text field to the front end users because the ability to enter non-standard amounts should be an office function
9) Ideally the participant listing page would group different types of participants in different sections - ie speakers separate from attendees. I also think there should be an extra template in the defaults - with status like the new one but without personal information (e-mails). Going into dream mode different confirmation e-mails for different types of attendees would be great
Mar 29, 2009
Brian Shaughnessy
#8 (partial payments) -- +1
The ability to record multiple contributions (payments) against a single event/membership/pledge is much needed. Also the ability to edit event registration pricing -- someone decides to add an option at a later date. Currently if they've paid via credit card, you can't edit the pricing/registration options. We need more flexibility.
Apr 08, 2009
Jenni Simonis
A few things I'd like to see...
I work with some groups that hold events where a person need to be able to register multiple people. For instance, a teacher may be registering herself as well as her team of students. For the students we'd only need their names and nothing else. The cost for the students is less than the cost for the teacher. All would be paid for at once.
The ability to easily add workshops to an event, set the maximum number of participants, and allow people to sign up for those workshops.
These are the two things I've run into the most when helping groups with CiviCRM.
Apr 09, 2009
David Greenberg
The first use case should be well-supported as of 2.2 (and pretty much in 2.1). If "Register multiple participants" is enabled in Configure Event >> Online Registration - the teacher can select the "teacher" fee level and then select the "student" fee level for her students. If you want to discuss how this feature fits (or doesn't fit) your needs further - best to do so on the forums.
Apr 23, 2009
Jenni Simonis
Yea, our issue is that we want the students to not have to give the same info as the teacher. So the teacher would be asked for school name, address, etc., but a student only has to give the school name. I didn't see a way to have that distinction between the two. I'll go dig around and see if I missed something.
If we're able to get the whole workshops thing set up so that people can select a workshop/breakout within the event management and have limits, it would be great if an email could be sent to an admin letting them know that the event is full.
Apr 29, 2009
Sarah Gladstone
How would event sign up work for a parent signing up their children, when no one has an existing contact record? Would a "household" be created with the appropriate household members in it? Ideally if the people sre not in the system, all this would happen automatically. If the household already exists, the parent should be able to register existing kids ( and add new contact info for new children as needed. )
Jun 03, 2009
Sarah Gladstone
What is the status of Brian's suggestion of record multiple contributions (payments) against a single event/membership/pledge? Is it going to be part of the 2.3 version? That is a common scenario for an organization I am working with.
Jun 03, 2009
Donald A. Lobo
Not gotten any contributed code or sponsors for that feature as yet. currently not planned for the 2.3 version. If you are willing to develop/sponsor it let us know