Event registration with multiple events, waitlist

Hello,

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.

Internal needs:

  1. A way to view each a list of people registered for each class
  2. A way to view all people, with information on their registrations, a way to keep track of payments received (happening outside of Airtable).
  3. A way to see people who have waitlisted for a class by date added, so they can be registered if spots open up.

External needs

  1. A signup form, where people can register with their personal information and choose from all open classes. We’d prefer to do this in one form, where they can choose from a multi-select field, but if that’s more difficult I think it would work to do this as one form submission per signup. I do have access to miniextensions, if that helps.
  2. A way to contact registrants at regular intervals with “amount due” invoice messages

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.

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

attendance with waitlist

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 Participation record’s 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 Participation table

If a Participation record’s 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!

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!

Happy to anwer any questions!