Creating a booking system

I’m trying to expand a base we use as a booking system for photography sessions but feeling stuck.

In our current system, users fill out an Airtable form with their contact info and select a time slot (field linked to a table of time slots, filtered by what’s still available). That info generates records in the main Appointments table.

This system has worked well so far, as we’ve only been offering slots with one photographer at one location. We’ve been offering 30 slots per day and about 3 different dates at a time, so at most the user sees 90 options, which is more than ideal but has worked ok.

Now we’d like to offer 5 dates, but more critically, we want to add a second photo station in a different location on the same dates. That means the user will now be selecting a time slot from a field with 300 options, and there will be two slots for each date and time (eg 10A Monday @ Location A vs. 10A Monday @ Location B).

The biggest limitation I’m hitting is I can’t add the same field (time slots) to the form more than once. If I could, I’d use filtered views to show Monday Location A timeslots and Monday Location B timeslots as separate fields on the form.

I also thought I could use conditional logic to pull this off (first on the form, user checkboxes days and locations they’re interested in which filters timeslots on the next section of the form, but can’t figure that out.

Any ideas?

1 Like

Welcome to the Airtable community @David_Markey1 !

Congratulations on building a functional booking system for the single photo station. With the challenge of adding the second photo station and more time slots, my idea is that you may consider testing or adapting the template named No-Conflict Asset Reservations by @Kamille_Parks .

Because it can allow your client to fill up a form to schedule a photography session at a specific day/time and in the photo station of their choice. I hope this template will be of help to you or provide you with clues to design your booking system ! :slight_smile: