Civicrm 5.*, any platform

I will keep looking in documentation, but if someone can give me an answer as to why a unique contact cannot register > 1 time per event, I would appreciate it - I can imagine it may be due to DB Schema issues. I am not talking about registering multiple participants using 1 email address but allowing a contact to register two or more times. I do know it would mess up some of my reports! thanks

  • Are you maybe using events to represent something that is not an actual physical event? – Demerit Oct 9 '19 at 1:17
  • 2
    Similarly curious about the use case. In theory it is trying to reflect reality that you can only personally turn up at an event once unless you have unusual super powers – petednz - fuzion Oct 9 '19 at 2:17
  • Also would like to understand the use case. if its for options at the event, perhaps you can use price sets to allow the participant to book different options. – Mick Kahn Oct 9 '19 at 10:35

You can also set up a Price Set option so one person can buy multiple tickets while only entering their own details once.


This is configurable through t Event Mgmt, Online Registration page.

  • That allows multiple different people to be registered by one person, but not the same person multiple times, which is what is being asked for. – Mick Kahn Oct 9 '19 at 17:02
  • You can set the option to use the same email (same person) multiple times, it is the option underneath the one you mentioned (multiple reg), and is named 'Same email address' which allows the same email to be used > 1x in an event. – Lesley Evensen Nov 16 '19 at 18:50
  • You can set allowing the same email (and I use that because sometimes couples share the same email) but it insists that the First and Last names are not both the same. Maybe you are using a weaker de-duplcation rule. – Mick Kahn Nov 16 '19 at 21:52
  • We do have the flag 'allow same email' set for events, but the code in participant.php isn't checking the value of that flag in Events; the theater wants to allow people to register again to add more seats (using the same name & email) after a first registration. – Lesley Evensen Nov 18 '19 at 17:48

I added this to CRM/Event/Form/Participant.php line 861 $eventId = CRM_Utils_Array::value('event_id', $values);

$sql = 'select allow_same_participant_emails from civicrm_event where id = '.$eventId; $dao = CRM_Core_DAO::executeQuery($sql ); $dao->query($sql); $same_emails = NULL; while ($dao->fetch()) { $same_emails = $dao->allow_same_participant_emails; }

And then at line 878, check the value of $same_emails: if ( !empty($dupeCheck->id) && (empty($same_emails) or ($same_emails < 1)) ) { $errorMsg['event_id'] = ts("This contact has already been assigned to this event."); }

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.