Configuration
This chapter assumes that you've gone through the event planning chapter and sketched out the type of events you need to configure, along with the event-related data you want to collect and track. Now it's time to actually start configuring CiviEvent and creating events.
If you do not see the Events menu item in your navigation menu bar and you don't see CiviEvent under the Administer menu, you may not have the component enabled. Navigate to Administer > Configure > Global Settings > Enable Components to manage which components are enabled.General CiviEvent configuration
There are a number of "general" configuration tasks for the CiviEvent component that are best to work on first. These settings lay the foundation for creating your events. Review each of the following event-related settings and modify them as needed before you begin creating events.
Event Types
CiviCRM allows you to define different types of events as a categorization mechanism. This is particularly useful when searching through event participants or generating an event listing feed. You can also configure custom fields to store and display additional data about an event by its event type. Take the time to consider what types of events your organization holds and define them in this interface. You can return at any time to add to the list of types or modify an event type label. However, you can not delete event types which have been assigned to one or more events.
Navigate to Administer > CiviEvent > Event Types to review the default list of event types, shown in the following screenshot. You can modify event type labels by clicking Edit on any row. Click "Add Event Type" to create a new category for your events.
Participant Roles
When an individual registers for an event, he or she will be assigned a participant role. This field helps you segment your participants into meaningful categories based on their involvement in the event, such as attendee, volunteer, speaker, or staff (attendee is the default role). You can also define custom fields and assign them to a specific role, which can be helpful when you need to collect certain information relevant only to speakers or another role. When creating a registration page for inclusion on your website, you will select a default participant role which will be assigned to all online registrants.
You can search for participants matching particular roles using the Find Participants and Advanced Search screens.
Navigate to Administer > CiviEvent > Participant Roles to review the default list, shown in the following screenshot. You can modify participant role labels by clicking Edit on any row. Click "Add Participant Role" if you need participant roles that are not in the default list (e.g., audio-visual coordinator, food and beverage manager, etc.).

Participant Statuses
The participant status field allows you to track the individual's registration through your system. This can help you identify pending or canceled registrations, people on a waiting list, no-shows, confirmed attendance, or any other status you define. Participant status is also searchable in the Find Participants and Advanced Search screens.
For organizations that need more of an RSVP workflow, you can rename your statuses to friendly names such as "Yes, I'm Coming", "No, I can't make it", and "Maybe". Then configure, for each of those statuses, which ones are for administrative use only or for public use. This allows you to expose the participant status field via a profile on your registration form, displaying only those with public visibility. For more information on this scenario, visit: http://wiki.civicrm.org/confluence/display/CRM/RSVP-style+Event+Registration

There are also five statuses that are disabled by default (displayed in red). These statuses are used for optional event registration features and must be enabled if you want to use those features.
Waitlists
You can offer a waitlist to users during online registration when an event is full. If a space becomes available, the first participant from the waitlist will be invited to complete their registration. The workflow for this feature is described later in this chapter. Enable the "On waitlist" and "Pending from waitlist" statuses here if you want to use this feature for any of your events.
Approval required to attend event
For certain types of events, you may need to require administrative approval for all the participants who self-register, prior to being able to complete the registration process. The workflow for this feature is described later in this chapter. Enable the "Awaiting approval", "Pending from approval" and "Rejected" statuses here if you want to use this feature for any of your events.
Custom data
CiviCRM provides ample flexibility for you to define and integrate custom fields into your event management process. Custom data are fields that you define and associate with a specific data type. You can then use them to collect information from your contacts as they register for an event, as well as in other ways.
Custom data is managed through Administer > Customize > Custom Data. Begin by creating a new set of custom fields, then designate the objects in which those fields appear. You might assign some fields to events, some fields to participants, and some fields to participants at certain events or participants who take on certain roles (such as speakers). The scope of the custom field set is called its use. Several types of uses are available to CiviEvent tools:
- Events (Event Type): This use type applies to fields that are connected to the event itself, or to a specific event type. For example, your organisation may host a series of training workshops and want to create a custom field to track six common topics covered by events. You could create a checkbox style field with the list of topic options. When creating an event using the "Workshops" type, this field will be available. Note that you are not required to select a specific event type. Leaving the dropdown set to "Any" indicates the field is available to all events, regardless of the type.
- Participants: The Participant use type attaches to the actual registrant record. For example, you may want to know whether a registrant has any dietary restrictions and collect that information when they register.
- Participants (Event Name): This use type is identical to the Participants type, with the exception that it allows you to assign a group of custom fields to a specific event. Returning to the previous example, you may find that the dietary restrictions field is relevant only to an upcoming full-day workshop where lunch will be served, but not to an afternoon workshop series you are planning for the coming month. You could create the field set and assign it to a single event.
- Participants (Role): Additionally, you may create a participants type field and assign it to a single participant role. This is valuable, for example, if you need to collect biographical profile details from your speakers and wish to record it with their event registration. Because that field is applicable to only the Speakers role, you would limit it using this interface.
After creating your set of custom fields, define the actual fields within each set. If you are not familiar with creating custom data, refer to chapter in this book on extending core data before creating your actual fields.
Using Profiles for online event registration
Participant custom data groups and fields will be automatically included in their assigned location when you access the information through the CiviCRM administrative tools. However, they will not be displayed in your online event registration page unless they are first included in a Profile, which is then included when you configure online registration for an event.
Participants always provide an email address when they register for an event in CiviEvent, but most organizations find it useful to collect more personal information during online event registration. This might include basic information such as first and last name, as well as event-specific information such as meal preference. You will need to create a profile containing these additional fields prior to creating your event.
Navigate to Administer > Customize > Profile to set up and edit profiles. The following screenshot offers a typical example of a Profile used for a conference where there is an option to provide childcare. Notice that this profile contains fields belonging to Individuals and Participants.
If you are not already familiar with setting up Profiles, refer to the section on using them.
Registration confirmation and receipting
CiviCRM can send automated confirmation and receipt emails to participants who register online, as well as participants who are registered by your staff or volunteers using back-office screens. The content and layout of these emails are controlled by message templates. Both HTML and Text formats are provided. Your organization may want to modify or add text to these emails, or add branding such as a logo to the HTML versions.
Once you create an event, you can test-drive the online registration process and review the confirmation email. Navigate to Administer > Configure > Message Templates (shown in the following screenshot) and click the System Workflow Message tab to see the list of messages you can modify. Click Edit next to "Events - Registration Confirmation and Receipt" rows to edit the content and layout.
Core settings used by events
Several core CiviCRM settings may play an important role in how you use the event tools:
- Administer > Configure > Global Settings > Outbound Email (SMTP/Sendmail): In order to use the previously mentioned capabilities to send an email receipt, you must complete and test the Outbound Email settings.
- Administer CiviCRM > Configure > Global Settings > Payment Processors: While not required, the event registration process is significantly enhanced by allowing individuals to register and pay for the event with a credit card. CiviCRM can be configured to use several payment processors, all configurable through this interface. Please visit the online documentation for more details on using payment processing (http://tiny.booki.cc/?civicrmpaymentprocessorconfig). Once you have created a payment processor you can select it in the event creation fees page.
Creating an event
You're ready now to create an event. The following sections guide you through a sequence of screens which allow you to control each aspect of the event. As we walk through each step, we will demonstrate the options and their effects on the resulting registration form through screenshots and examples.
It's a good idea to go through each screen in detail as you learn about available options. Later in this chapter we'll discuss how you can streamline the event creation process by creating event templates. These allow you to prefill most options with a single keystroke.
Begin by navigating to Events > New Event.
1. Event Information and Settings
The first page in the event wizard requests basic information about the event:
- What is the type of event (e.g., Conference, Workshop, etc.)?
- What role will participants be assigned to when they register online for this event? Roles distinguish different types of event participants, such as attendees, speakers, and staff. The value placed in this field will be assigned by default when users register online. The most common value is "Attendee."
- Do you want users to see a listing of participants, and how much information about the participants do you want to reveal in the listing? Participant listings are a great way to demonstrate support for an event and generate interest within your constituent community. Note that the options you define in this section only enable participant listings—to display one, you will still need to create a menu item or link to the listing somewhere on your website. Once you've created the event, the participant listings link is displayed on the event configuration page. Refer to the chapter on everyday event tasks for information on promoting your events.
- What is your event title? The title will appear on event information pages, registration pages, event listings, and in the Manage Events administrative page. Be sure to choose a descriptive, well-crafted title to represent your event.

- The next two fields (event summary and complete description) let you describe your event. Both the summary and complete description will be included on event information pages. Use the rich-text editor provided for the description field to include photos and images.
- What is the starting date/time and ending date/time for your event? These will be included on the event information page and event listings.
- CiviCRM lets you set a maximum number of participants for each event. This is important, because online registration lets people sign up without giving your staff a chance to intervene and shut off registrations. Here you can set the maximum number of participants and define a message to be displayed when that number is reached.
- If you've enabled the Waitlisting feature (by enabling the related participant statuses), you can check Offer Waitlist and set the message you want displayed on the event information page when the event is full.
- In today's world, people are increasingly using GPS and web-based mapping tools to get where they are going. CiviCRM integrates this functionality by letting you include Google Maps or Yahoo! maps throughout your site. You will first need to configure your mapping solution through Administer > Configure > Global Settings > Mapping. You can then enable a map link which will generate the location based on the event location.
- Once you have created your event and placed the information and registration pages on your website, you naturally will be looking for ways to promote the event. CiviCRM provides several ways to do that through RSS feeds, iCal files or feeds, and event listing pages. Select the Public Event box to nclude the event in these promotional listings. Techniques for promoting events are described in the everyday tasks section.
- Lastly, you have the option of toggling this event active or inactive. If you anticipate that it will take some time to complete the configuration of your event, consider making it inactive it until it is complete to ensure it is not inadvertently listed on the event listing feeds. You can easily activate the event when you are ready to begin publicizing it.

2. Event Location
The next step in event configuration is to complete the location and contact details for the event. Though optional, it is highly recommended that you take the time to provide these details to your potential participants. If you have enabled a map link in the previous step, make sure that you fully complete the address details on this page (see screenshot).
Once you have entered an event location, you can reuse it for subsequent events by clicking "Use existing location" and selecting from the dropdown list.

You can also list phone numbers and email addresses on the event information page if you want to give registrants a way to contact event organizers directly. If the event is being held off-site from your organization's primary location, you may also want to provide contact information for the meeting location.
Click Save to save your entries and advance to the next step.
3. Event Fees
CiviCRM supports both free and paid events. If this event is free, set the Paid Event radio button to No, then click Save and skip to step 4, Online Registration. If this is a paid event, click Yes. The screen will show the options available (see the following set of screenshots).
Note that if you plan to accept credit card payments through the online registration form, you need to configure a payment processor prior to completing the details in this section (you will see a notice on top of this screen if no payment processors have been configured). Questions you are asked on this screen are:
- What contribution type will be assigned to paid registrations for this event? Although the most common value for this field is simply "Event Fee", CiviCRM provides the flexibility to define multiple contribution types and assign them to different events as needed.
- Do you want to allow registrants to "pay later" by mailing in a check, paying on-site with cash or credit card, or arranging some other payment method? If so, you can enable the Pay Later option and define a label and payment instructions. If you keep this unchecked, registrants will be required to pay by credit card.

- Can you use Regular Fees for this event, or do you need to use a Price Set? Regular fees provide a single set of options and allow the registrant to select a single option. This approach works well for many events and is easy to set up. Each fee amount has a label assigned and you can set a default fee. Here's a simple example:
- Price sets allow you to break event fees into smaller pieces, and set a fee for each piece. Using a price set you can offer optional programs and event features (e.g., an optional post-conference dinner or a book). Examples and steps for creating price sets are covered later in this section. Please take time to review their functionality and understand how they can benefit your event management process.
- You can also configure early bird discounts (discounts determined by signup date). These override regular event fees. This discounting method is available only for the regular fee structure. Implementing other discounting rules or discounts for price sets requires additional programming. You or your developer should refer to the section on extending CiviCRM for more information.
- Discounts are structured in parallel with the base event fees. After creating your list of fee options and enabling the discounts feature, you must create the discount set and add it to the fee table. To help you create a discount set, a new fee table will appear toward the bottom of your page, duplicating the original fee table shown in the previous screenshot. You can now edit the labels and fees to correspond to the discounts offered for each of the original fee options.
- You can even create multiple date-based discount sets for an event. This may be useful if you have a series of early bird dates that progressively increase the cost of registration as the date of the event gets closer.
Click Save to save your entries and advance to the next step.
4. Online Registration
Your organisation may want its staff to register participants manually. However, allowing people to register online (self-service) through your website offers many benefits. Online registration is convenient for your constituents and can save staff time and resources.
If you want to offer online registration for this event, check Allow Online Registration and use the options on this form to configure this feature.
- Define the text to be used as the link to the registration form, and set the starting and ending dates for registration. The link text is used in the event information page, and is most commonly "Register Now" or something similar. The starting and ending dates define when website visitors may register for the event. The registration ending date is likely different from the starting date of the event, as you may want to close registration in advance of the event in order to prepare name tags or perform other administrative functions.

- Very often an organisation may choose to send multiple people to a conference or an individual will bring her partner and wish to register and pay for the registrations in a single process. Enabling "Register multiple participants" lets individuals register as many people as they choose for the event and pay the fees with a single transaction. By default, this option requires a different name and email address for each person registered. Checking "Allow multiple registrations from the same email address" provides the same capabilities, but without requiring distinct email addresses for each registrant. In either case, CiviCRM uses a separate contact record (either an existing one if it's already in the system, or create a new one) for each individual registered.
- The Registration Screen configuration block defines introductory and footer text for your registration page, and the profiles included in the top and bottom regions of the form. If you come to this stage in the wizard and have not created your profile form, you may continue with the event setup process and return to the event configuration page later to select your desired profiles.
- What other data do you want to capture from your participants as they register? By default, the CiviEvent registration page requires only an email address. Organizations typically want to collect additional contact information from the registrant, as well as define fields unique to this particular event (such as meal choice). The custom data fields and profiles used here (see screenshot) must be created before you reach this form, as described earlier in this chapter. Here, you can include up to two profile form snippets in your registration page. It's a good idea to put contact data (name, address, etc.) in one profile snippet, and event related information (e.g. meal choice, childcare requirements, etc.) in the second profile.

- The remaining fields on this page control the text to be displayed on the Confirmation page, Thank-you page, and emailed confirmations / receipts (if enabled). The standard page flow is shown in the following screenshot.

For free events, the Confirmation step is skipped. When completing the Confirmation, Thank-you, and Confirmation Email sections on this page, take care to think about the user experience at each stage in the process. Ensure that the text is appropriate to the point where the registrant will be in the registration process. - For most events you'll want to enable the Send Confirmation Email feature (see following screenshot). For paid events, the confirmation email also acts as a receipt. Make sure that the Confirm From Email address entered is a valid email account on your mail server. Add one or more staff emails (separating multiple email addresses with commas) to the CC Confirmation To field if you want real-time updates on who is registering for your event.

Click Save to save your entries and continue with the next step.
5. Tell-A-Friend
CiviEvent makes it easy to leverage the social networking power of your committed constituents by empowering them to quickly and easily share details about your organization and event with their friends and colleagues. The final step in the event creation is a page where you can enable "Tell-A-Friend" capabilities. You can define the text and links to be included on that page and in the email sent from the tool (see the following screenshot).
A "Tell a friend" activity record will be added to a participant's Activities tab each time he sends mail to his friends. This allows you to track your most active supporters and engage them further. The people who are emailed using this feature are also automatically added to CiviCRM as contacts.
This is the last step in creating an event. Click Save and Done.
Now that you have completed the creation of your event, you should test it. Returning to the Manage Events page, you will see your recently created event listed with any others you have created. From the action list, select Test-drive to test the registration page. Test-drive mode will use the sandbox options for your payment processor, if available, and will create a registrant record with a "test" indication so that it can be reviewed and easily removed. If you have events where anonymous users register for events, you should also test the registration when not logged in. Refer to the Event Permissions information later in this chapter for details.
Using event templates to streamline event creation
If you find that you are setting up a number of events with similar configurations, you can streamline the process using Event templates. Enter all the characteristics your events have in common in the event template. Common characteristics might include location, event fees, online registration settings, tell a friend settings, etc.
Once you've created an event template, you can select that template (as shown in the following screenshot) when you start to create a new event. Your event will be automatically prefilled with all the saved configuration properties.

To create a template, start by navigating to Events > Event Templates and clicking Add Event Template.

The steps for creating event templates are similar to those described earlier for creating an event. The main differences are:
- Assign a Template Title that clearly identifies the type of event this template is used for (e.g., Monthly Community Meetup).
- There are no starting and ending dates in the template form. That information will always be specific to an actual event instance.
Setting permissions for event registration
This section applies to Drupal installations only.
If you've enabled online registration for events on your site you need to review the Drupal user permissions to ensure that visitors are able to view event information and complete the registration forms. Navigate to the Drupal Administer menu and select Users > Permissions.
Most organizations allow anonymous users (users who have not logged in) to view and register for events. If you want to allow this convenience, assign the following CiviCRM module permissions for the anonymous user role:
- access all custom data - required if you are collecting information in custom fields from registrants
- profile create - required if you've included any profiles in your online registration forms
- register for events
- view event info
- view event participants - required if you want to display a listing of registered participants
Alternatively, you can assign these permissions to an authenticated user role if you want to exclude anonymous visitors from viewing or registering online for events. Finally, if you need special access control rules for specific events, you can use the Manage Access Control feature to assign access to specific groups of contacts. If you're not familiar with CiviCRM's built-in ACL (access control list) features, refer to this online documentation:
http://wiki.civicrm.org/confluence/x/Y4C9AQ
Including profiles for an event registration
To collect information about registrants, such as additional contact information or food and lodging preferences, when the registrants register online, the best way is to include profiles in your event configuration. Do this as follows:
- Choose Events > Manage Events.
- Click Configure for this event.
- Click the Online Registration tab or link.
- Choose one profile for "top of page" and another profile for "bottom of page"
Complex event fees with price sets
Price sets play a role similar to custom data fields and profiles, but support options for event fees instead of basic data collection. Here's an example of how a price set looks to a person who is registering for a Conference that includes optional pre-conference training sessions, meals and lodging: 
We saw earlier that step 3 in event creation involves configuring event fees. The standard fees layout form is a very simple structure, allowing you to create a list of fees and their labels. The resulting layout allows the registrant to select one option from the list. Often, this single-option format does not meet the complex demands of your event registration structure. Price sets allow you to create multiple registration fee fields and assign the entire set to an event.
Price sets are created and managed by navigating to Manage Price Sets and choosing the Events link or by navigating to the CiviEvent > Manage Price Sets menu and choosing the Administer link.
Similar to custom data sets, you begin by creating a new price set and then adding specific fields.
Creating a New Price Set
To create a new price set, click "Add Set of Price Fields". In the Price Set form, enter the name of your price set, whether it's used for events or contributions, and a description. Press Save. A form appears for you to create the first field in your price set.
Creating a New Price Field
Begin by entering a name for the event item in the Field Label.
The Input Field Type has a structure similar to custom data fields, with some unique qualities and usage relevant to fee structures.
- Text/Numeric Quantity: Allows you to set a unit price. When the form is presented to the registrant to fill it, it displays a text box where the registrant enters a quantity. The quantity entered is multiplied by the unit value to calculate the fee.
- Select: Displays a drop-down box where the registrant selects one option from the list.
- Radio: Displays multiple options in a list, allowing the registrant to select one fee choice.
- Checkbox: Displays fields in a list where the registrant can select or unselect any number of options.
You can combine these field types to create virtually any fee structure.
Enter a number in the Participant Count field if you want to increment the number of registered participants per unit against the maximum number of participants allowed for this event. For example, if this price field is for a table at a fundraiser which seats eight people, you would set Participant Count to 8.
For Text/Numeric Quantity fields, enter an amount in the Price field. For Select, Radio and Checkbox types you will enter a price for each option in the table of options (shown in the screenshot above).
If you want to display the price next to the event item, check the "Display Amount?" box.
As when creating other custom data, you can enter a description for the Field Help, decide whether the event item is Required, select whether the event item is visible to the public or only to the administrator in the Visibility field, and indicate wheter the event item is Active. These fields are described in the chapter on extending core data.
Next, you can either press Save to finish configuring this event item, or Save and New to create another price field for this price set.
Once you finish configuring your price set, you can add it to your event in step 3 where you configure the event fees. Select the name of your price set in the Price Set field as shown in the following screenshot.

As with custom data fields, it is to your advantage to give thought to the structure of your registration fees and build the price set before creating the event. However, if you begin the event creation process and determine that you needed to construct a price set, you can complete the process, create the price set, and then return to the event configuration page to assign the price set.
Price sets can be reused in multiple events. This is particularly helpful for organizations that run multiple events in a series, such as a regional training seminar program.





