Jun 21, 2022 01:26 PM
I’m looking for advice on setting up an event registration portal. We have a series of 8 classes, each of which have a particular capacity. Each applicant is welcome to sign up for multiple classes. We’d like to also track waitlisted applicants - registrations that happen after a class is full - so they can be registered if a spot opens up.
My current thinking is that this could be done with two tables: Courses and Contacts, where Contacts has a linked field that’s a multiselect of Course names. To handle the waitlist, I plan on making duplicate “WAITLIST” courses in the Courses table - when the regular courses fill up, they will deactivate and an admin can make the WAITLIST versions appear in the form instead.
Is there any reason that I should look into a three table solution (with a junction table joining the two)? Any other advice is appreciated as well.
Jun 22, 2022 09:58 PM
Hi Andre, having that junction table will allow us to automatically track whether an event is full, view payments per person per event, and send emails per person per event
We could…probably(?) do it with just two tables, but it’d get super complicated I think, and would require some manual work such as deactivating events and stuff
I’ve created a working version of what you’re trying to do here with three tables
To view the setup (formulas, automations etc), duplicate the base by clicking the title of the base at the top of the screen, then the three horizontal dots on the right, and then the “Duplicate Base” button.
It’ll automatically update a person’s attendance status based on the number of slots each event has with 3 automations
The first automation will create a record in the
Participation table per event the person has chosen to attend via the multiple select field in the form
The second automation links the
Participation records to the
Events record. This allows us to do a rollup of the Event’s attendance status, i.e. whether it’s full or not
The third automation will update the
Status value to either “Attending” or “Waitlist”, based on whether the event is full or not
For the emails, I’ve created another table called
Emails that is linked to the
Paid value is unchecked, and the
Days since creation / last email value is > 15, then it’ll send an email
Once an email is sent, it’ll create a new reocord in the
Emails table that’s linked back to the
Participation table, and we do a rollup to find out when the latest email was sent, which allows us to power the
Days since creation / last email formula
Let me know if you have any questions!
Jun 23, 2022 10:28 AM
This is amazing, Adam - thank you for your quick and detailed solution! I’m digging in a bit this week and will post back with any other questions or follow ups, but really appreciate the help!
Jun 23, 2022 06:20 PM
Jul 05, 2022 01:20 PM
Hi all! this is a great thread!
I am dealing with a very similar base
I have 3 tables: People, Events and Attendance.
The main difference for me is that people don’t register for events, the Attendance table is currently manually updated after each event based on who shows up. It’s a very tedious process to enter records in the Attendance table considering there are 150 people and 24 events per year.
Do you have any idea how I could pre-populate the Attendance table with all eligible people for each event? After that for each record I will simply update an “Attended” checkbox, much faster than entering all info from scratch. (See screenshot)
I tried with automations but they don’t support bulk creation of records…any other idea?
Jul 05, 2022 11:52 PM
Hi Ambra, I’ve created a base that should solve your problem here that works on the same principles
A word of caution: It features an automation that will run per record created in the
Attendance table to link each one to the respective
People record, and so you might burn through your automation runs really quickly.
You could do this manually by just copy pasting the
Person Name column values into the linked field, or if you find you do not need the link to the
People table at all you can do away with the automation entirely
Do let me know if you have any questions!