Design to track payments for exercise classes

New to Airtable of course, trying to understand how to structure a base to track my exercise class payments by student.
In a spreadsheet, the data looks like this:

I understand this will be at least two linked tables: a student table and a class table.
The intended usage is that on any given date & time I will be giving one of two or more different classes, and after each class, I will want to enter payments from each student who attended, the amount each paid & payment method used.

How is this structured? How many tables are actually necessary? How many Junction Tables? Would a form be necessary for entering the student payments after each class?
This seems like such a simple use, but I can’t find any equivalent tables to use as an example to set up my own.
Any help is appreciated, thank you.

Welcome to the community, @nick_gibson! :smiley: I would suggest three tables: [Classes], [Students], and [Payments]. Here’s how I set them up, beginning with [Students]:

Screen Shot 2020-05-16 at 11.06.13 PM

Nothing spectacular about that. Basic student info that you want to track. Next, [Classes]:

Screen Shot 2020-05-16 at 11.07.12 PM

The primary field is a formula that combines the class type and its date and time, primarily for easy reference in the third table, [Payments]:

Again, the primary field mashes together the class name and student chosen from their respective fields, so you have an at-a-glance view of who has paid for which class.

You can enter directly into Airtable if you wish via the mobile app. If you prefer form-based entry, you could make a form, save the link as a shortcut to your mobile device’s home screen, and use that, using the full mobile app only for review purposes.

One thing the Airtable mobile app won’t let you do, which you may wish to do, is create groups. This would make it easier to visually separate payments from different classes, rather than having them all in one massive list.

Does that help?

1 Like

Thank you very much for the explanation, it is very helpful. I believe I now understand the structure, so I just have a couple more questions then about entering the data. I do plan on only using the desktop version, so hopefully not limited by the mobile app:

  1. For each day I teach a class, I first need to go to the Classes table and enter it there, then to the Payments table to so that I can select the newly created class and then the people & payments. Is that the correct method?

  2. Is it possible to create a desktop form such that the new class and people/payment info can be entered in the same step/page? Or would it still need to be a two-step process? Because, of course, I’m looking to streamline the entry for other possible users as well.

Thank you again in advance for your help!


It would still be a two-step process. The class is a linked record from the [Payments] table, and Airtable forms don’t let you make new linked records. You can only pick from existing records. However, you don’t have to make each class record on the day of the class. I’m guessing that you know your schedule in advance to a certain degree, so you can set aside some time periodically to make class records for the next several days/weeks/???. That way you only have to enter payment records on the day of each class.

Another way to streamline things, primarily if your class schedule is extremely consistent, is to enlist the help of an integration service like Zapier or Integromat to make class records for you automatically. Or you could write some code in the Scripting block to make new class records X days/weeks out from the day you run the script. Either way, the creation of class records would be mostly/completely hands-off, so that all you need to think about are the payment records.

1 Like

Thank you for your suggestions, that’s great!

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.