CiviEvent - Phase 1 Specifications

Draft Specification
This is a draft specification. We are actively soliciting community feedback prior to finalizing the specifications on or around December 7. Please review this document carefully and post feedback and questions as comments on this page. This document reflects feedback and suggestions from many folks in the CiviCRM and Drupal communities. We'd like to especially acknowledge Jeff Porter of The Foundation for Prader-Willi Research, and Dan Robinson of CivicActions for their extensive contributions.

Phase 1 Scope / Assumptions

CiviEvent Phase 1 will support the following functionality:

  • Implement core Event and Participant classes (see schema below).
  • Event "wizard" to create events and online event information and registration pages.
  • Events can be "public" or "private".
  • Upcoming "public" events can be published as an iCal formatted feed.
  • Online event registration forms for both free and paid events.
  • Events can be copied (however, automatically recurring events will not be supported in phase 1).
  • Define one or multiple fee levels with "labels" for paid events (e.g. "Student Admission", "Tier One Seating", etc.).
  • Event location mapping.
  • Define and track participant statuses (e.g. Registered, Attended, No-show, Cancelled).
  • Define and assign participant roles (e.g. Attendee, Volunteer, Host, Speaker, etc.).
  • Define custom fields to extend the core Event and Participant classes. Custom fields are available for import, export, online and offline Event Registration.
  • Event registration pages can be extended with "Profiles" to collect participant roles, custom event and participant info or other contact info.
  • Customizable email confirmation for online registrations (with optional cc: or bcc: to host).
  • Option to enforce maximum number of participants - with a customized message to be presented when event is full.
  • Dashboard to display current event registration status to end-users.
  • Basic Event participant Search/Listings (search and list contacts by event, registration status, participation status and role).
  • Batch update grid to update participant statuses (e.g. record attendance or no-show, add notes, etc.).
  • Import and Export Participant records.
  • Record an Activity History record for event registration, cancellation (and participation, if tracked). This data is then available in the consolidated contact "view". (Activity History display includes drill-down to Event details.)
  • APIs to create, update or delete Events and Participants.
  • Event creation and modification is limited to users with "administer CiviCRM" and "access CiviEvent" permissions.
  • Access control for private event registration pages. (tentatively included)

The following features are NOT part of phase 1:

  • Event creation moderation/approval and delegation of event management for specific event(s) to specific individuals.
  • Moderation/approval of public event participants.
  • Multi-session / nested events (e.g. conferences where user signs up for specific sessions).
  • Built-in bulk communications, including broadcast emails to invitee lists, invite to response tracking, sending event updates to participants, etc. However, sites that have CiviMail installed and running will be able to use CiviMail broadcast email, open-tracking and forwarding tools to send invites and communicate with registered participants.
  • Automatically recurring events. However a "Copy Event" action will be provided.
  • Public Event Finder (search) form. However, APIs will be available to construct search forms and event locations can inlcude postal codes and geocode data (lat and long).
  • Specific screens for Volunteer Management. However, a "Volunteer" role will be defined and custom fields can be defined to collect / store additional volunteer-related info.
  • Event revenue / expense tracking or reporting. We are thinking this functionality belongs at a "Campaign" or "Project" level - implementation TBD.

You can post your organizations Phase 2 requirements here.

Menu / User Interface Elements

Phase 1 UI will include an Event Information page, Online Event Registration form and processing sequence, a CiviEvent Menu with component dashboard, participant Search, and wizard to Import event participants, and administration interfaces to create events and configure online event information and registration pages.

Event Administration

These functions are accessed via a new set of icons in a CiviEvent section of the CiviCRM Admin control panel.

Manage Events

This page lists all current and upcoming events (where End Date is greater than or equal to current date + 1 month) sorted by Start Date DESCENDING. Page includes a link to ">> Show Past Events" - which requeries and displays all Events. (Selector-style paging is provided when number of events exceeds "rows per page").

  • Place link to create new events above the listings table: >> New Event
  • Listing columns:
    • Event (title), Location (city, state), Public?, Dates (start/end), Enabled, Actions
  • Actions = Edit, View, Copy, Disable, Delete.

New Event Wizard / Edit Event

New events are created using a wizard with the steps (screens) shown below. Existing Events are edited by accessing each of the screens from an "Edit Event" menu (this page is a listing of links to each screen - using the same format as the existing "Configure Contribution Page". The steps / screens for creating and editing an event are listed below.

Event Information and Settings

Contains the following fields (refer to schema below for properties and required vs. optional rules)

  • Title
  • Event Summary
  • Full Description
  • Public?
  • Start Date / Time (with date-picker)
  • End Date / Time (with date-picker)
  • Max Number of Participants
    • (if set) Event Full Text
      Enabled?

Event Location

  • Location Name
  • Address Block
  • Contact Email
  • Contact Phone # 1
  • Contact Phone # 2

Event Fees

Contains the following fields (refer to schema above for properties and required vs. optional rules)

  • Paid Event (yes / no)
  • If yes, select Contribution Type
  • If yes, provide matrix to set fee labels, amounts, and default (same as for Contribution Page >> Amounts)

Online Registration

  • Allow Online Registration?
    If enabled:
  • Registration Link Text (text for link to Event Registration form / processing sequence - default is "Register Now")
  • Registration Screen:
    • Registration Intro
    • Registration Footer
    • Custom Fields (group 1) - select a profile to collect contact and participant info.
    • Custom Fields (group 2) - select a second profile to collect contact and participant info.
      NOTE: If this is a fee-based event AND the configured payment service requires collection of billing information - then the second profile is rendered BELOW the billing information block.
  • Confirmation Screen:
    • Title
    • Intro Text (large textarea - 6 rows)
    • Footer Text
  • Send Confirmation Email? (radio yes/no). If yes:
    • Text (small textarea - 2 rows)
    • CC Confirmation To
    • BCC Confirmation To

Copy Event Action

If the user selects Copy (row-level action) from Manage Events, they are taken to a "task" screen which prompts for "Title for Copied Event". Default is existing Event Title. If the click "Continue" - insert a complete copy of the civicrm_event record and the following related records: civicrm_event_page (if one exists for source object), civicrm_custom_option records, uf_join records.

Event Type, Participant Status, and Participant Role

CiviEvent will include a set of default event types (Conference, Dinner, Concert, Tournament), participant statuses (Registered, Cancelled, Attended, No-show), as well as a set of default participant roles (Attendee, Host, Volunteer, Speaker). These control panel items will provide listings and add / edit screens to for the status and role values. Note that the 'Registered' and 'Cancelled' values for participant status will be reserved (can not be modified) - as they are used by the online registration processing logic.

Online Event Registration

Registration Screens

Online event registration will follow a similar flow to online contributions. The primary difference is that users can optionally be directed to a "built-in" Event Information screen prior to the Registration form.

1. Event Information

This is a read-only screen which includes the event title, location (with conditional map block), description, start and end dates and any custom fields (label + value) defined for the event. Depending on the event settings (civicrm_event.is_online_register = TRUE) - a prominent link to the actual Event Registration page is included. If maximum number of participants is set and has been met - then the Event Full message will be displayed below the title. NOTE: This page is available to display event information regardless of whether Online Registration is enabled or not for an event.

2. Event Registration (input form)

Includes title, registration intro message, radio button group to select fee level (if applicable), profile 1 (if applicable), billing block (if applicable), profile 2, and footer message.

3. Confirm Registration

User reviews their registration info (and billing information if applicable).

4. Registration Completed / Thank-you

Displays confirmation title and text as well as registration info (and payment info if applicable).

Registration Processing

Execute the following steps for each SUCCESSFULLY completed online registration:

  • If we have a contact handle (e.g. registration by logged in user), update contact fields as applicable
  • If we don't have a contact handle, check for matching contact record (based on configured duplicate match rules)
    • Insert new contact if no match
    • Else update existing contact
  • Insert Participant record. Set role_id = the participant_role option_value where is_default is true. Set status_id = 1 (s/b reserved id for "Registered")
  • Insert Contribution record if this is a paid event
  • Insert Activity History record
    • entity_table = civicrm_contact
    • entity_id = contact_id
    • activity_type = 'Event Registration'
    • module = CiviEvent
    • callback = (function to display Participant details)
    • activity_id = PK of new Participant record
    • activity_date = current date/time
    • activity_summary = "$event.title - $event.start_date ($participant.role if assigned)"
      EXAMPLES: "Holiday Concert - Dec 12, 2006 (Volunteer)"
  • Generate and send confirmation email (if enabled for this Event). For paid events, this email includes contribution receipt data as generated for "regular" contributions (e.g. Amount, Trxn ID, etc.)

CiviEvent Menu Items

  • CiviEvent Dashboard (default page for the CiviEvent menu)
  • Find Participants
  • Import Participants
  • CiviEvent Administration (CiviEvent section of CiviCRM Administration control panel)
    • Manage Events
    • Participant Status
    • Participant Roles

Find Participants

The CiviEvent search component is available as a separate search form from this menu AND integrated into Advanced Search. Users can search on the following criteria:

  • Contact Name (partial or full)
  • Event Name (using inline auto-complete via dojo ComboBox widget)
  • Event Date : From / To
  • Participant Status: (multi-select checkbox group)

Results (listings) are sortable by each column and include:

  • Name (link to Contact Summary)
  • Event (link to display of "Event Information" page - see below)
  • Fee Level
  • Event Date(s) (Start date/time + line break + End date/time)
  • Participant Status (Status + line break + (Participant Record Last Modified Date))

The following tasks (bulk operations) are supported for search results:

  • Create Smart Group
  • Export
  • Batch Update via Profile
  • Cancel Registration
  • Print

Individual row-level actions are: View, Edit, Cancel, Delete (depending on permissions)

Export Participants

For phase 1 we will have a 'standard' export which will output the following data:

  • Event data: Event ID, Event Name, Event Start, Event End
  • Contact data: Contact ID, Contact name fields (first, middle, last), Primary Location fields (address, email phone)
  • Participant data: all core and custom Participant fields

Batch Update via Profile

Profiles which contain only Participant fields (core and custom) will be available for batch update via a grid form. The functionality is analogous to the Batch Update for Contributions implemented in v1.6 - with the following modifications:

  • Contact Name AND Event Name are presented as read-only data in columns 1 and 2 of the grid.

Import Participants

  • Phase 1 import supports import of Participant data for existing contact records only. Core and custom participant fields are mapped (same flow as current Contact Import Wizard).
  • Import REQUIRES that incoming rows include either the CiviCRM contact_id (primary key) of the participant or email address / name values to match on.

Add / Edit / View Event Registration

New event registrations (civicrm_participant records) can be created manually (offline) for a selected contact from a Contact Summary >> Events tab. Existing event registrations can also be viewed and/or edited (cancelled or modified) depending on permissions.

  • The add/edit screen presents a form for each core Participant field plus any defined custom fields for Participants. Event selection drop-down should display Event Title and Start Date as recurring events may have the same title. By default, only current/future active events are displayed - but there should be a link to "Select Past Events". Since custom fields are linked dynamically by participant role, the Participant Role field should be placed second in the form (immediately after selecting the "Event") with an onchange event to load the applicable custom fields.
  • When an event registration is added or a participant status is modified (e.g. Cancelled, Attended, etc.), a corresponding Activity History record should be inserted (see online registration example below).

CiviEvent Access Control

For Phase 1, we will add the following access control permissions which can be assigned to Roles as needed:

  • access CiviEvent (global access to CiviEvent menus)
  • edit event participants (CRUD access to Participant records)
  • view event participants (read-only access to participant records, includes search and export)

Contact access permissions will intersect with these permissions. So, if user A only has permission to'view contacts in New York Members' group - and they are granted 'view event participants' - they would only see event registrations for contacts in the NY Members group.

Users with access CiviEvent AND administer CiviCRM permissions will be able to Manage Events (CRUD access to Event and related records)

Classes and Schema

Event (civicrm_event)

We will store the following properties for each Event. Note that Location info for an Event is stored in a joined civicrm_location record (and associated address, phone, email records).

  • id : int(10) unsigned NOT NULL auto_increment COMMENT 'Event ID',
  • domain_id : int(10) unsigned NOT NULL default '0' COMMENT 'Event belongs to which Domain?',
  • title : varchar(255) default NULL COMMENT 'Event Title (e.g. Fall Fundraiser Dinner)',
  • summary : text COMMENT 'Brief summary of event. Text and html allowed. Displayed on Event Registration form and can be used on other CMS pages which need an event summary.',
  • description : text COMMENT 'Full description of event. Text and html allowed. Displayed on built-in Event Information screens.',
  • event_type_id : int(10) unsigned NOT NULL default 0 COMMENT 'Event Type ID. Implicit FK to civicrm_option_value where option_group = event_type.',
  • is_public : tinyint(4) NOT NULL default '1' COMMENT 'Public events will be included in the iCal feeds. Access to private event information may be limited using ACLs.',
  • start_date : datetime NOT NULL COMMENT 'Date and time that event starts.',
  • end_date : datetime COMMENT 'Date and time that event ends. May be NULL if no defined end date/time',
  • is_online_registration : tinyint(4) default '1' COMMENT 'If true, include registration link on Event Info page.',
  • registration_link_text : varchar(255) default 'Register Now' COMMENT 'Text for link to Event Registration form whiich is displayed on Event Information screen when is_online_registration is true.',
  • max_participants : int(10) unsigned default NULL COMMENT 'Maximum number of registered participants to allow. After max is reached, a custom Event Full message is displayed. If NULL, allow unlimited number of participants.',
  • event_full_text : text COMMENT 'Message to display on Event Information page and INSTEAD OF Event Registration form if maximum participants are signed up. Can include email address / info about getting on a waiting list, etc. Text and html allowed.',
  • is_monetary : tinyint(4) default '0' COMMENT 'Is this a PAID event? If true, one or more fee amounts must be set and a Payment Processor must be configured for Online Event Registration.',
  • contribution_type_id : int(10) unsigned NOT NULL default '0' COMMENT 'Contribution type assigned to paid event registrations for this event. Required if is_monetary is true.',
  • is_map : tinyint(4) default '0' COMMENT 'Include a map block on the Event Information page when geocode info is available and a mapping provider has been specified?',
  • is_active : tinyint(4) default '0' COMMENT 'Is this Event enabled or disabled / cancelled?',

Online Event Registration (civicrm_event_page)

This class stores properties related to the Online Registration process. For now, there will be a 1 : 1 relationship between Event and Event Page. The Event Page record is only created if online registration is enabled for an event. NOTE: During implementation we may determine that the existing ContributionPage object should be used to store this data as much of it is analogous.

  • id : int(10) unsigned NOT NULL auto_increment COMMENT 'Event Page ID',
  • event_id : int(10) unsigned NOT NULL COMMENT 'Event which this page belongs to.',
  • intro_text : text COMMENT 'Introductory message for Event Registration page. Text and html allowed. Displayed at the top of Event Registration form.',
  • footer_text : text COMMENT 'Footer message for Event Registration page. Text and html allowed. Displayed at the bottom of Event Registration form.',
  • confirm_title varchar(255) default NULL COMMENT 'Title for Confirmation page.',
  • confirm_text : text COMMENT 'Introductory message for Event Registration page. Text and html allowed. Displayed at the top of Event Registration form.',
  • confirm_footer_text : text COMMENT 'Footer message for Event Registration page. Text and html allowed. Displayed at the bottom of Event Registration form.',
  • is_email_confirm : tinyint(4) default '1' COMMENT 'If true, confirmation is automatically emailed to contact on successful registration.',
  • confirm_email_text : text COMMENT 'text to include above standard event info on confirmation email. emails are text-only, so do not allow html for now',
  • confirm_from_name : varchar(255) COMMENT 'FROM email name used for confirmation emails.',
  • confirm_from_email : varchar(255) COMMENT 'FROM email address used for confirmation emails.',
  • cc_confirm : varchar(255) COMMENT 'comma-separated list of email addresses to cc each time a confirmation is sent',
  • bcc_confirm : varchar(255) COMMENT 'comma-separated list of email addresses to bcc each time a confirmation is sent',

Event Locations (civicrm_location...)

Location info for an Event is stored in a joined civicrm_location record (and associated address, phone, email records). Constraints and usage:

  • The UI will support ONE location per event (is_primary is TRUE)
  • The UI will support ONE address, ONE email address and TWO phone numbers for the event location.
  • A reserved location_type_id ('Event') will be automatically assigned to Event locations.
  • Users may optionally populate a Location Name (location_name) while entering the Event location info (e.g. 'Civic Auditorium', 'Grouse Hall', etc.).

Participants (civicrm_participant)

Each contact registered for an event is represented by a Participant record.

  • id : int(10) unsigned NOT NULL auto_increment COMMENT 'Participant Id',
  • contact_id : int(10) unsigned NOT NULL default '0' COMMENT 'FK to Contact ID',
  • event_id : int(10) unsigned NOT NULL default '0' COMMENT 'FK to Event ID',
  • status_id : int(10) unsigned NOT NULL default '1' COMMENT 'Participant status ID. Implicit FK to civicrm_option_value where option_group = participant_status. Default of 1 should map to status = Registered.',
  • role_id : int(10) unsigned NULL default NULL COMMENT 'Participant role ID. Implicit FK to civicrm_option_value where option_group = participant_role.',
  • register_date : datetime default NULL COMMENT 'When did contact register for event?',
  • source : varchar(128) default NULL COMMENT 'Source of this event registration.',
  • event_level : varchar(255) default NULL COMMENT 'Populate with the label (text) associated with a fee level for paid events with multiple levels. Note that we store the label value rather than an FK as the label stored in custom_option may change, but we don't want that to change the label in place at time of this registration.',

Fee Levels (civicrm_custom_option)

Fee levels for paid events are stored as civicrm_custom_option records with entity_table = civicrm_event_page (this is the same storage mechanism as we use for contribution pages).

Participant Statuses (civicrm_option_group / civicrm_option_value)

Statuses will be stored in the existing option_group / option_value tables. Option group = participant_status. Default statuses are loaded by civicrm_data. Registered and Cancelled statuses are "reserved".

Participant Roles (civicrm_option_group / civicrm_option_value)

Roles will be stored in the existing option_group / option_value tables. Option group = participant_role. Default roles are loaded by civicrm_data.

Participant Payments (civicrm_participant_payment)

A participant payment record is generated for each online paid registration. This record links the participant record to a contribution record.

  • id : int(10) unsigned NOT NULL auto_increment COMMENT 'Participant Payment Id',
  • participant_id : int(10) unsigned NOT NULL COMMENT 'Participant Id (FK)',
  • payment_entity_table : varchar(128) NOT NULL COMMENT 'Table being referenced for payment entity (expected usage is civicrm_contribution).',
  • payment_entity_id : int(10) unsigned NOT NULL COMMENT 'FK to table with payment record (e.g. civicrm_contribution.id).',

Participant Notes (civicrm_note)

Participant records may be linked to one or more notes - stored in the existing civicrm_note table (entity_table = 'civicrm_participant').

Logging for Event and Participant Creation and Modification (civicrm_log) (tentative)

Extend current logging logic to insert a log entry when an Event is created or modified AND when a Participant is created or modified. This will give us the ability to keep track of who made changes to Event info, and track changes in Participant status (e.g. Jane Doe registered on 12/15 and cancelled on 12/22). NOTE: If this is implemented, AND we use the 'data' column to encode data modification(s), then it might make sense to eliminate the register_date column in civicrm_participant.

Profiles for Event Registration Pages

Profiles are linked to Event Registration pages using the existing civicrm_uf_join table (this is the same mechanism currently used to link profiles to Online Contribution pages).

Custom Data Enhancements

Custom Data Groups will now be able to 'extend' Event or Participant (in addition to existing options to extend Contact, Individual....Location...). For Participant, a custom data group can be linked dynamically based on Participant Role (e.g. you can extend " — Any --" participant role, or user can select a Participant role to extend, e.g. "Volunteer" or "Speaker" role. For Event, a custom data group can be linked dynamically based on Event Type (e.g. you can extend "- Any --" event, or you can extend a specific type of event, e.g. "Concert").

Issues

  • Online events are "attended" by people in different time-zones. What additional support is needed for time-zones?
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.
  1. Nov 27, 2006

    Thom K says:

    Is it possible to have automatic calendar feeds of events?  Maybe this is ...

    Is it possible to have automatic calendar feeds of events?  Maybe this is what iCal does with VEVENT?

    For example, if you have a national group using CiviEvent and then a bunch of local groups under the national group also using CiviEvent, can there be a sort of RSS equivalent feed of events from the local to the national calendar.  The purpose of this would be so that people finding the national page can locate events near them from a central place.

    1. Nov 28, 2006

      David Greenberg says:

      Thom... Each instance of CiviCRM w/ CiviEvent will publish an iCal formatted fee...

      Thom... Each instance of CiviCRM w/ CiviEvent will publish an iCal formatted feed with public event information. So if the national site is configured with a module / tool that can subscribe to multiple iCal feeds and aggregate them - that should take care of this requirement. If you have or can research info on such tools - please post that info back here.

  2. Nov 27, 2006

    Thom K says:

    Additional Event Fields for Discussion Event_Type - A field that has define...

    Additional Event Fields for Discussion

    Event_Type - A field that has defineable categories like meeting, rally, house party, precinct walking, volunteer opportunity (where everyone is a volunteer like going to a soup kitchen), concert, movie, you get the picture.

    Directions - As someone who rides public transportation, it would be great if organizers were prodded to add directions.  It's great when they say what bus or train stops are close to the event location.  Major roads from the north/south and east/west is also helpful for auto owners.  Parking locations.

     Accessability - Is it accessable for the physically disabled.  Is there sign language interpretation. 

     Language - Will the event be in Spanish, English, or other language. Is interpretation available.

    1. Nov 28, 2006

      David Greenberg says:

      Thom... We'll add the Event_Type property - and add support for defining Custom ...

      Thom...
      We'll add the Event_Type property - and add support for defining Custom Fields for Events based on the Event_Type. This means you can define custom fields used for "Concerts" vs. custom fields used for "House Parties".

      I'm not sure what functionality you would want relative to specifying Event Type - but hopefully this moves in that direction.

      With regard to the other fields, these can be defined in your installation as custom fields for Event, OR this information can be added in the Event Description - which allows HTML formatting. We think this provides needed flexibility for both defining and displaying the Event information.

  3. Nov 27, 2006

    john edstrom says:

    It would help if attachments were allowed.  E.g. PDFs of schedules, present...

    It would help if attachments were allowed.  E.g. PDFs of schedules, presentation abstracts, list of things to bring or material to read before coming.  Etc.

    Maybe I'm misinterpreting something, but I think it would be a mistake to exclude moderation/approval of participants in phase one.  If participant roles include Attendee, Host, Speaker, etc., there has to be some way to enforce that only the host  has the Host role and only invited speakers have the Speaker role.

    1. Nov 28, 2006

      David Greenberg says:

      John... You will be able to define custom fields of type "file" for Events - and...

      John... You will be able to define custom fields of type "file" for Events - and these can then be populated with attachments which will be rendered as links when the event is displayed. Of course you could also embed links to these files in the Event Description.

      With regard to roles and moderation...The way we are looking at this is that Role selection will NOT be exposed automatically in the online registration form (although folks can choose to include it by putting it in a Profile). Online registrants will be automatically assigned to a configurable "default" role (set to "Attendee" - but can be changed by via admin UI). Since "special" roles like HOST and SPEAKER aren't assigned to lots of folks, we felt that this could happen in the "back office". So an authorized person would access those special particpants and set or update their roles.

  4. Dec 02, 2006

    Gerry Mascarenhas says:

    Wish List: Civicrm 1.7 Is there any way to configure repetitive events. We are ...

    Wish List: Civicrm 1.7

    Is there any way to configure repetitive events. We are using civicrm in our Alumni community www.stanislites.org Herer are some feature wishlist:

    1. Repetitive events: configure such events

    2. Repetitiv events :Use the Profile -> Birthday of members to create a Birthday event, again repetative with an option to remind other members via an email. Display either to the group or to the Public.

    3. Profile form at http://www.stanislites.org/?q=user/register : Our list of groups is large and growing. Would like to see a drop down list of groups.

    4.  Same as above but an option to choose a drop down instead of a multiple choice box/buttons  as in Alumni Profile->Alumni Type and Alumni Profile->House

    5. Groups: we have organic groups and civicrm groups -> better  functionility or convergence of the two so that I do not need to have both in myprofile form

    6. Most webhosting companies offer unlimited email addresses.Create a lifetime email address based on profile at the time of "creating a new account" In our context (say)name.graduationyear@stanislites.org this is basically a forwarding mechanism to my real email address which cannot be viewed by others if they wish to contact me or withinmyprofile.

  5. Dec 03, 2006

    Paul Hardwick says:

    CiviEvent (CiviCRM 1.7) Request/Ideas 1 - Event ticket ideas. 1a - Discount for...

    CiviEvent (CiviCRM 1.7) Request/Ideas

    1 - Event ticket ideas.
    1a - Discount for early purchase
    1b - Max tik count for each type of ticket(max for single purchase/per person, and avail for all at event-like inventory)
    1c - Diff levels of tickets (Ex. Seminar / Seminar +Lunch or maybe seat types Front row/reserved/general/standing room)
    1d - Allow single registration to reserve/purchase multiple tickets (Ex purchaser +1) If possible allow the single registration to also include their guests names (needed for admission control in case they don't all arrive together)
    1e - Seat assignment (probably for later round of CiviEvent)
    1f - Maybe allow an added donation field along with ticket purchase, Just in case they'd like to give more than the required amount for the event.
    1g - participant approval for restricted (invite only) events - For later version of CiviEvent
    1h - preference for returning participants - For later version of CiviEvent

    2 - Duplicate(CC or BCC) conf e-mail(listed feature and we need it) Just want to make sure that it is configurable for each event and not a single global. We do multiple events in conjunction with other organizations and need to keep them up to date with registration.

    3 - Would love repeating events but the 'Copy Event' function will keep us happy for starters. I know we can't have everything in round one or it would take for ever to get done

    4 - for participant statuses I'd like to add the status 'Expressed interest' They may want to attend but have not confirmed/paid yet. Even better(maybe round 2) we could have configurable 'participant statuses'

    5 - CiviEvent will include a set of default event types - by phrasing, implication is that we can create more reusable event type. Will the custom fields be just for a single event or will the custom fields be attached to the general event type?

    I know some of the things mentioned can't happen in round one, but I wanted to express interest in the feature just in case, and for long term planning.

  6. Dec 07, 2006

    Jared Chapman says:

    Before selecting Joomla I researched 192 applications and did a feature audit. I...

    Before selecting Joomla I researched 192 applications and did a feature audit. It is quite long so you may want to delete this but here are the features that are commenly found in commercial Event tools:

     

    Resources and Assignments
    Unassigned
    view availability in programs
    create recurring events
    Provide meal options
    Approve an Event
    Create complex events with multiple tracks, activities, times, locations, prerequisite sessions, choose only one activity from a list, mutually exclusive
    create a group of events
    Reuse past event data to generate an new event
    process cancellations
    Conditional branching, allow users different registration paths depending specific information
    identify and eliminate duplicate bookings
    validate participation information like email
    Participant can change their registration online
    Define the capacity of an event and stop registering when cap is reached
    On-line registration forms automatically generated
    Allow participants to register online for sub-activities within an event
    Allow participants to register online for activity tracks within an event
    Verify registering participant against an invitee list
    Sell additional product and services through the registration
    group registration
    sold out and waitlist
    substitutions
    collect expressions of interest
    allow individuals to schedule a time slot with an individual or an event
    allow individuals to choose from several rooms
    Automatically assign people to specific appointments
    Track meetings between individuals
    create an online form
    Birthday/anniversary report
    print membership cards
    member search
    approval process for membership
    multiple clubs or organizations managed by one central group
    individual and group memberships
    Track member profile
    Manage subgroups within a club
    Multiple membership levels
    password protect or public member directory
    log communication with club subsidiaries
    Members only area for web site, customized by member profile
    Create an online member directory with photos and or logos
    Custom requirements for membership
    Club registration with multiple levels of approval (i.e., president, advisors, staff, administrator)
    Email lists to communicate with club members
    levels of membership
    User polls
    Survey analysis tools
    multiple types of questions
    branching logic for surveys
    Send surveys prior to an event to gather participant information
    Import an email list to send surveys to
    Send participants a survey after an event and report the survey response data
    automatically Assign participants to specific housing accommodation units based on criteria like gender
    Track participant progress through certification or educational processes
    Create certification and education programs
    Create class schedules
    Create syllabi
    Create exams and provide automatic test scoring
    equipment checkout follow-up
    Accept volunteers
    assign them to a program
    Track their experiences
    follow-up on their satisfaction
    Communication with them
    Photo gallery
    Comprehensive correspondence to speakers, chairpersons, reviewers and authors 
    Review process management 
    Detailed lists including program, audio visual and room setup 
    Abstract submission via the internet 
    Speakers checklist 
    Stores biographical details of a speaker in HTML format 
    Preview publication for layout, should look nice
    select and notify authors
    Submit to judges without revealing authors
    Manage revision process
    Allow for online editing
    Manage multiple authors
    Stores multiple authors for one paper 
    Product catalog
    Shopping cart
    Customer info (order history, personalized portal)
    Online market place
    Online store
    Inventory management and order fulfillment
    Schedule resources to be available
    schedule room setups
    Schedule rooms
    location management
    floor plans for exhibits
    online booths
    Exhibition can be run in booth or space mode 
    Booth details are stored, including its dimension, sides and fascia name 
    Sophisticated appointment scheduling system 
    Exhibition stand inventory management system 
    Comprehensive exhibitor checklist 
    Work flow manager
    lead track manager
    Travel manager
    Manage FAQ
    Subscription and publication management
    Help desk/feedback functionality
    Place restrictions on which seating or other aspects of the set up
    create floor plans for rooms
    create Seating assignments for participants
    table tents
    automatically create name badges
    modify look and feel of name badges
    edit individual name badges before printing
    Print name badges for participants
    email reminders to team members of specific to do tasks
    Reuse data that automatically adjusts due dates by new date of the event
    assign tasks to specific volunteers
    Provide reminders
    Customer menu generation
    grocery list
    create certificates
    Track speaker requirements and audio visual needs for sessions
    Task lists
    Track event content providers like djs or speakers
    activity plan
    task schedules
    Manage staff and their responsibilities relative to an event
    Create materials list
    Risk management program
    accept volunteer registration
    Schedules/itineraries
    event tools for working with vendors
    online contests
    Create brochures
    manage campaigns and advertising
    Email marketing segmented by participant profile
    Allow participants to send invitations to their friends
    Email marketing
    Email marketing that includes link to calendar
    till software
    Send a bill to a participant
    Print online receipts
    credit card refunds can be processed on-line
    use multiple merchant accounts
    Multiple levels of discounts
    Give discounts though promotional codes or other means
    Collect credit card payments online for an event using service provider's merchant account
    Collect credit card payments online for an event using our merchant account
    Variable pricing based on event packages or groups/collections
    Variable pricing for events based based on time (early-bird) or category (guest, spouse)
    manage cash receipts
    tickets
    powerful filters
    Create custom reports
    Select reports from templates
    View reports as html in a browser
    download reports for view in excel
    Create graphs and charts from data
    Set goals and measure activities against goals
    create reports across organizations/division score cards
    Track participants between events
    Dashboard reporting environment for quick reporting of key metrics
    track payments from participants
    Track payment to suppliers
    create audit trails
    create invoices, receipts
    Budgeting reports: anticipated and actual
    Detailed financial reports
    html emails automatically convert to plain text when required
    opt out options for all email communication
    mail merge
    mailing labels
    alert participants to similar events 
    Copy email information to event coordinator
    Import email lists
    Email communication look and feel can be customized with logos etc.
    Email communication with specific participants, tracking communication
    Email communication with all participants in an event
    Email communication with groups of participants, tracking communication
    Email confirmations with event specific messages
    log communication
    Newsletters
    Can up load files and "add to my calendar" through the calendar
    calendar can filter on category and sub categories
    an embed calendar anywhere in my web site
    can load calendar in preset filter
    Can generate an online calendar of all events: daily, monthly, yearly or list view
    Discussion boards
    duplicate record checking
    Collect data and demographics about an individual and keep and use it between event
    Ability to track notes on an individual
    manage participant follow-up
    Create participant records for groups
    Participant can update their information online
    Create participant records for individuals
    Create and manage detailed profiles for participant names, contact info and customer fields, track all interaction with a participant
    Create an online participant directory of contact information
    Track participant attendance and no shows on past events
    Create/manage groups
    Call center/feedback tool/
    View events participant has attended
    format for print, should look nice
    Archive and reuse
    Allow for online editing
    Templates
    Manage revisions
    Be connected to the planning process
    Levels of approval
    Documentation
    spell checking
    Article/news page
    Version rollback on content managed pages
    Can embed registration pages within a frame on our website
    Content manager for other pages, unrelated to the event
    Able to customize look and feel to match our organizations style guide
    Informational web pages about the event
    Easy to use for non technical people
    Ability to search events by attribute or keyword
    Able to handle multiple organizations serving the same populations, sharing participant data, but separate event management permissions
    Read only views for non administrators to see aspects of an event or program but not make changes
    use our web domain
    Do you work with any third party applications to provide additional features
    pda integration
    Online client and admin pages
    share information between all modules
    Track/log/audit changes to the system and revert to historical views
    Integration with Crystal Reports
    ADA compliant pages
    one click integration with MS Word and Excel
    Be able to archive data for future reference
    allow power users to input html to customize forms and pages
    simple wizard like interface
    Associate a category with an event for filtering
    Associate a status with an event for filtering
    enter off line data
    Can use our logins
    Import and export data from other systems about participants
    interface with existing data
    Can host on our surveys
    Security management
    Manage the database
    Hosted service so that there are no technology requirements other than an internet browser
    Automatic imports of participant data
    Integrated with Outlook/exchange
    Internal messaging system
    Price per transaction
    Yearly costs
    Cost up front
    Charge for credit card transactions
    location of the company
    service contract model and availability
    Number of years in business
    Number of clients
    Client references
    Size of clients
    Currently provide this as a feature
    Currently provide a work around for this feature
    Will be providing this feature in the next 2 months
    Provides that feature through a third party add on
    Can provide this feature at the request of the client as part of the natural upgrade cycle
    Can provide this feature at the request of the client for an additional charge
    This is a worthless feature for us
    This is an interesting feature we might pursue
    This feature would be useful for what we do
    This feature is critical to what we do
    All features use server/browser technology for clients and administration
    Must register applicants for events
    Must have multiple levels/siblings for administration with access controls
    Must be able to provide reports at various administrative levels
    Appointment manager - match people to people or events based on schedule and criteria
    Provide a free trial period
    Robust participant profile tracking events attended and all communication
    Create online forms to collect data
    Club/group/association manager
    Surveys
    Customize look and feel of web pages
    Event planning tools - Budgets, to-do lists, activity plan
    Email communication with participants
    Email blasting
    Online payment
    Thorough on-line help
    Intuitive interface designed for non technical people
    Historical archiving of events and data for future retrieval
    Ability to use historical data to create new events
    ability to record Assessment metrics 
    1. Dec 26, 2006

      Jared Chapman says:

      I realized after I posted above that I had included a lot of cells that were act...

      I realized after I posted above that I had included a lot of cells that were actually notes to myself. I appologize. I don't dare post a different version because it will be so long. Let me know if you have any questions.

  7. Jan 06, 2007

    Cole Ashcraft says:

    Okay... I think I got to this a good bit late, but if you're still soliciting fe...

    Okay... I think I got to this a good bit late, but if you're still soliciting feedback, it would be great if events could be nested / hierarchized. Basically, we have courses which consist of 5 classes. It would be great if people could register for the CERT Class - Fall 2007 and also be registered into all of its children cousres (Personal Prep, SAR, Triage, Ext-Care, HazMat, Fire Supp., etc). I think that might be a little complicated for phase 1, but perhaps later on ?

    1. Jan 07, 2007

      David Greenberg says:

      Cole - We are open to adding support for nested/multi-session/complex events in ...

      Cole - We are open to adding support for nested/multi-session/complex events in a subsequent phase (but you're correct in thinking it's out of scope for phase 1). We've started a wiki page to collect requirements for the [next phase]. You can help ensure that your requirements are met by posting a detailed description of how you want hierarchical events to work (the above is a bit high-level for implementation ).

  8. Oct 20, 2007

    Joe K. says:

    Why is the registrant able to edit their email on the online registration page?&...

    Why is the registrant able to edit their email on the online registration page?  Any edit here affects the registrants global profile.  I don't think a registrant should be able to make profile changes from an online registration form.  Am I missing something here? 

    1. Oct 22, 2007

      David Greenberg says:

      Joe - Can you post this question to the community forum so we can discuss and he...

      Joe - Can you post this question to the community forum so we can discuss and hear other's opinions: http://forum.civicrm.org

      thx!


Creative Commons License
Except where otherwise noted, content on this site is licensed under a Creative Commons Attribution-Share Alike 3.0 United States Licence.