How to make a simple booking system
Tips & Tricks

How to make a simple booking system

Make online appointment booking simple for yourself and your clients.

For both clients and service providers, the constant back-and-forth of scheduling and rescheduling appointments can be a huge hassle. Fortunately, you can use Airtable's forms—which already offer a powerful way to conduct surveys, submit ideas, perform data entry, and a whole lot more—to set up your own custom system for booking appointments and meetings.

To create a booking system in Airtable, we're going to use the forms feature, which lets you collect information from anyone and save it automatically to an Airtable base, and a linked record field, which lets you connect records in one table to records in another table.

You'll need two tables for this workflow. The first table will contain records of your available dates and times. This table will then be linked to a second table, which will hold information about individual meetings that have been scheduled via a form submitted by the user. This user-submitted form will contain the information you need to book an appointment—like the client's name and their desired time slot.

You can either build these two tables into an existing base you have, create them from scratch in a new base, or just copy this example into your Airtable account:

In this example, the first table (Availability) contains your availability, where you can create meeting slots that people can book, and the second table (Schedule) contains meetings that have already been scheduled by users who've submitted forms.

Notice that both tables are linked so that people who want to schedule a meeting using the form can choose one of the available slots from the Availability table. However, we don't want any of our clients to accidentally double-book one of the timeslots, so we'll need to take one additional step. Go to the Availability table, then create a new grid view that filters out any records that don't have an empty linked record field that links to the Schedule table. (If you'd like to see what this looks like, you'll find a pre-created view called "Open Times" in the example base above.)

You don't need much to create a working booking system in Airtable, so once you've finished the basics, you should feel free to add any details that suit your needs—like a phone number field or email field for the Schedule table, in which the client can type their contact information, for example.

Next, go to the Schedule table and create a new form. The fields in this form builder will automatically populate based on all the fields in the Schedule table's grid view, so you'll see the field for the client name, the field for available time slots, as well as any other fields you might have added. You can customize the form's appearance to your liking, add help text, change the field names, make certain fields required, and adjust which fields will show in the final form.

The last but most important step is to ensure that only available time slots can be selected from this form. Click into the linked record field for available time slots. You should see a toggle that says “Limit record selection to a view.” Clicking this toggle should bring up a dropdown menu showing all of the different views in the Availability table. Select the view you made that was filtered to only show available time slots. This will make it so that when a client is using your form, they can only select the time slots that haven't already been booked by other clients.

Finally, you can send the share link for the form to people who want to book a meeting with you or embed the form. Whenever a client books a time slot with your form, that slot will not be available for other clients, and whenever you add any new available times to the Availability table, the form from the Schedule table will automatically update to show those new available time slots.

Of course, this setup works for more than just meetings. Using a same technique, you can schedule classes, create an RSVP system for events, and much more.

Have you come up with some other ideas for how to use forms? If so, be sure to share them on the Airtable Community Forums and Airtable Universe!

Sign up for Airtable for free
More for the record