Answers.Body: <p>I certainly would investigate the CiviDiscount extension: <a href="https://civicrm.org/extensions/cividiscount" rel="nofollow">https://civicrm.org/extensions/cividiscount</a></p>
  
  <p>It might already bring functionality that would be close to what you need, if not... it has it's own API, so a custom extension that would meet your needs would be smaller with CiviDiscount then without.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-01-09T16:32:50.953Z
Answers.LastActivityDate: 2016-01-09T16:32:50.953Z
Answers.UserDisplayName: Catorghans
Answers.Body: <p>I think both of your questions need custom code, but not a whole lot.</p>
  
  <p>For question 1, use <a href="http://wiki.civicrm.org/confluence/display/CRMDOC/hook_civicrm_validateForm" rel="nofollow">hook_civicrm_validateForm</a>.  Count the number of events they selected and ensure it matches the number of events they paid for.  If not, raise an error.  You can write this in a few lines of code, if you are (or have access to) someone who codes such thing.</p>
  
  <p>For question 2...hmm.  If you're using Civi 4.6+, you can create a recurring event as a way to easily create 10 events at once.  And I can imagine some sort of hook_civicrm_post hook on Participant records.  It could check if your event type is "super event", and if so, parses the values in it and creates Participant records on the "regular" events for those users.  Doing that such that you won't have to edit the code for each new super event is a little trickier; I'm sure it can be done, but might need some clever data structuring.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-01-11T05:02:28.303Z
Answers.Text: The idea of using validateForm seems like it may indeed do what I need but I'm not very experienced with CiviCRM in general. Is there a general HowTo or getting started guide with examples for coding Civi?
Answers.UserDisplayName: carclubadmin
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-01-09T22:15:24.343Z
Answers.LastActivityDate: 2016-01-09T22:15:24.343Z
Answers.UserDisplayName: Jon G - Megaphone Tech
Body: <p>After some wrangling with ideas on how to make registration easier for participants I've come up against a problem and wonder if CiviCRM can even be used to fix the issue without a tremendous amount of custom coding. I'm looking for ideas on how to overcome the issue.</p>
  
  <p>Brief site description
  Our site runs 10 events a year for two groups: Students and Instructors. Members from both groups log in and sign up for events they will attend. Instructors don't pay but Students do. In fact, Students receive a discount if they sign up for more than one event. If they sign up for a single event early, they get a discount but early and 'bulk' discounts are not combined.</p>
  
  <p>Easy Registration
  Rather than create 20 events (10 for students, 10 for instructors) I create 2 'super registration' events (one for students, one for instructors) that allows registration to any or all of the events. In the event I have a checkbox list with 5 choices, of which any number of choice can be selected.</p>
  
  <p>Event 1: Apr 29-30 Event 2: June 1-2, Event 3: July 10-11 etc . . .</p>
  
  <p>Pricing is listed as:</p>
  
  <p>ONE Event: $100
  TWO Events: $180
  THREE Events: $270
   . . . . </p>
  
  <p>Problem 1: I cannot find a method to force the number of event choices to the correct corresponding price. For example, Student picks Event 1 and 3, but then only picks ONE Event for pricing 'accidentally' paying for one, rather than two events. This requires 'administrative intervention' in the form of an email (Dear user so sorry to see you can't count. Pay for the correct number of events or we're only signing you up for the number you paid for). Be great if I could somehow count the number of selected events and force that price. </p>
  
  <p>Is there a way to do this?</p>
  
  <p>Problem 2: While using CiviReports and Excel is fine to manage the two super events I was wonder if I could use CiviCRM to manage all events. I was thinking, create my user accessible 'super event' but also create admin-access only events to track which users are actually going to which event. For example:</p>
  
  <p>Event List
  Student Registration event - allow users to sign up for any number of events
  Student Event 1 (for admins only) - Track whose coming to event 1
  Student Event 2 (for admins only) - Track whose coming to event 2
  Student Event 3 (for admins only) - Track whose coming to event 3</p>
  
  <p>dito for instructors</p>
  
  <p>Is there a way to do this?</p>
  
  <p>I've considered the shopping cart but it still forces users to pick each event, put it in a cart, pay and the bulk pricing becomes tricky as the percentage of discount changes depending on number of events picked. The shopping cart is still a bit creaky too. The 'super event' is pretty popular with users so I'd like to keep it.</p>
  
Tags: <civievent>
Title: Can a contact be registered for an event through another event
ThreadText: # Can a contact be registered for an event through another event
  
  (Asked by: username_0 on 2016-01-09)
  
  After some wrangling with ideas on how to make registration easier for participants I've come up against a problem and wonder if CiviCRM can even be used to fix the issue without a tremendous amount of custom coding. I'm looking for ideas on how to overcome the issue.
  
  Brief site description
  Our site runs 10 events a year for two groups: Students and Instructors. Members from both groups log in and sign up for events they will attend. Instructors don't pay but Students do. In fact, Students receive a discount if they sign up for more than one event. If they sign up for a single event early, they get a discount but early and 'bulk' discounts are not combined.
  
  Easy Registration
  Rather than create 20 events (10 for students, 10 for instructors) I create 2 'super registration' events (one for students, one for instructors) that allows registration to any or all of the events. In the event I have a checkbox list with 5 choices, of which any number of choice can be selected.
  
  Event 1: Apr 29-30 Event 2: June 1-2, Event 3: July 10-11 etc . . .
  
  Pricing is listed as:
  
  ONE Event: $100
  TWO Events: $180
  THREE Events: $270
  . . . .
  
  Problem 1: I cannot find a method to force the number of event choices to the correct corresponding price. For example, Student picks Event 1 and 3, but then only picks ONE Event for pricing 'accidentally' paying for one, rather than two events. This requires 'administrative intervention' in the form of an email (Dear user so sorry to see you can't count. Pay for the correct number of events or we're only signing you up for the number you paid for). Be great if I could somehow count the number of selected events and force that price.
  
  Is there a way to do this?
  
  Problem 2: While using CiviReports and Excel is fine to manage the two super events I was wonder if I could use CiviCRM to manage all events. I was thinking, create my user accessible 'super event' but also create admin-access only events to track which users are actually going to which event. For example:
  
  Event List
  Student Registration event - allow users to sign up for any number of events
  Student Event 1 (for admins only) - Track whose coming to event 1
  Student Event 2 (for admins only) - Track whose coming to event 2
  Student Event 3 (for admins only) - Track whose coming to event 3
  
  dito for instructors
  
  Is there a way to do this?
  
  I've considered the shopping cart but it still forces users to pick each event, put it in a cart, pay and the bulk pricing becomes tricky as the percentage of discount changes depending on number of events picked. The shopping cart is still a bit creaky too. The 'super event' is pretty popular with users so I'd like to keep it.
  
  **Tags:** civievent
  
  
  ---
  
  ## 2 answers
  
  ### Answer by username_1 on 2016-01-09. Score: 1
  
  I certainly would investigate the CiviDiscount extension: <https://civicrm.org/extensions/cividiscount>
  
  It might already bring functionality that would be close to what you need, if not... it has it's own API, so a custom extension that would meet your needs would be smaller with CiviDiscount then without.
  
  
  ---
  
  ### Answer by username_2 on 2016-01-09. Score: 0
  
  I think both of your questions need custom code, but not a whole lot.
  
  For question 1, use [hook\_civicrm\_validateForm](http://wiki.civicrm.org/confluence/display/CRMDOC/hook_civicrm_validateForm). Count the number of events they selected and ensure it matches the number of events they paid for. If not, raise an error. You can write this in a few lines of code, if you are (or have access to) someone who codes such thing.
  
  For question 2...hmm. If you're using Civi 4.6+, you can create a recurring event as a way to easily create 10 events at once. And I can imagine some sort of hook\_civicrm\_post hook on Participant records. It could check if your event type is "super event", and if so, parses the values in it and creates Participant records on the "regular" events for those users. Doing that such that you won't have to edit the code for each new super event is a little trickier; I'm sure it can be done, but might need some clever data structuring.
  
  > **Comments:**
  > **username_0**: The idea of using validateForm seems like it may indeed do what I need but I'm not very experienced with CiviCRM in general. Is there a general HowTo or getting started guide with examples for coding Civi?  
  
  ---
  
  