Details
-
Type: New Feature
-
Status: Done/Fixed
-
Priority: Major
-
Resolution: Won't Fix
-
Affects Version/s: 2.2.0
-
Fix Version/s: Unscheduled
-
Component/s: CiviEvent
-
Labels:None
Description
In many cases, there are users who register other people for an event but do not attend the event themselves. We need to keep track of the person doing the registering and the people that the person registers for the event. Some use cases are: A parent registering their children for a summer camp, an admin registering people from the company for an event. Here is a proposed implementation:
1. Create a new participant status called "Registrar". This is of type "reserved" and "not counted" (against participant totals)
2. If during event creation, someone chooses the "Additional Participant" option, these additional options are also displayed
- Allow participant to register other people but not themselves
- Allow participant to create / retrieve related contacts of type [ All relationship types of Individual <-> Individual displayed as a select box]
3. During event registration:
- If user chooses additional participant option, they choose if they are attending the event
- If they are not attending the event, then the event fees / priceset div is hidden and the participant status is set to Registrar
- If they are a logged in user, they can choose one of their related contacts if a relationship type is specified (in step 2). This is similar to On Behalf Of Org behavior. This is also independent of the "Registrar" option
- During the final processing, a permissioned relationship is created between the First Participant and all Additional participants
4. In the event tab for a contact, if they are of type Registrar, we also show all the people that they registered for the event.