Event registration with code and limited bookings per code

Hey guys, I had this use case: Client wants to have the events module enhanced so users have to enter a code to do a booking. Each code should only be usable for a limited amount of bookings and the client wants to be able to create a list of different codes with different quotas to be sent to their stakeholders. Client said they could to it with Eventbrite but rather use their own website, so I took the challenge.

To lock an event detail page or any other page with a generic code is something I did before with Liquid. Here is a video on how I did that: https://www.loom.com/share/5e4f6f0f58204de4936ff2de8fdc7ef7

I refined that approach with a seperate custom module holding the list of codes and the number of bookings available per code. After the booking form is send, the user is forwarded to a page with a hidden custom module edit form which autofills the new value for the used code, submits on page load and forwards to the actual confirmation page: Check it out here: https://www.loom.com/share/4b854d9a77f947f4aa818650a09d28de

I was thinking about a better way to do this with eCommerce features (vouchers, discount codes) or using event groups but this seems to be the most user friendly way for the client. I just wish I wouldn’t have to use the hidden secure zone login and edit form to manipulate the data in the custom module after a booking form has been sent of though. Any ideas?

Thinking out loud here… but we have access to Cases via component tag so theoretically you could evaluate how many Cases (Event submissions) have been submitted using any particular code.
So you wouldn’t need to resubmit and additional data after the Event subscription at all, hopefully.

https://docs.treepl.co/component-types/cases

My hope was on the cases component, too. Also for other reasons. Unfortunately it seems as if this component does not hold form submission data for event registration forms, at least not for users who are not logged in with their credentials. That’s kind of conclusive as there’s also no submissions for event bookings registered in CRM/Form Submissions and in CRM/Contacts/Form Submissions :frowning:

A component to access event bookings is indeed desperately needed as I would like to shift the whole event administration to a secured page on the front end to improve UX for my client …

It’s also possible I do something wrong with my syntax:

{% component type: “cases”, currentMemberOnly: “false”, collectionVariable: “cases” %}

{{cases}}

is giving me "items": [] as results. (All contacts with booking submission have “Allow listing my contact data in the CMS (GDPR)” ticked, it’s part of the booking form.)

Try removing the currentMemberOnly: “false” param altogether.

Noop, same results. I really think booking form results are not logged as regular form submission hence don’t show up as cases.

Yeah, you’re right.
I was confused with the test site I was working with as I had form submissions from a form called ‘Event’ which had been submitted as a regular form…
So yes, currently Event Bookings are not accessible :frowning:

I think I have somewhat of a workaround though using Advanced CRM Groups… but it’s not all that efficient and probably has some limitations.
If you’re interested perhaps we can discuss it further via Zoom later.
PM me if you like.

Also, are you assigning the GDPR setting to a contact via an Event rego form? does that work?

Yes, Users have to click it, made it a required property. But users over here are used to that anyway. Usually clikcing a box like that is mandatory before someone can submit a form with personal data. In this use case subscribers are not only confirming their approval to data storage but also to be photographed on the venue :slight_smile:

Yeah let’s have a Zoom. I made some interesting experiences with that project, was just fixing some things on that page last night again. I’ll text you on Slack :-).