You make a table for records, and a table for customers.
Customer Table includes following columns:
Name, Address, Phone, Email, Pref Contact method (phone or email) etc etc, then you have several columns that refer to the record table, a link to record column, then many look up columns, you use the link to record column for the look up then you pick info from the record table that you want available in the customer table record, basically the majority of the record tables info is going to be duplicated column by column with look ups.
Record Table includes the following columns:
Date of inspection/visit, ph level, check box for activities like if the pool was cleaned, if the strainer was checked, etc.
Then you create a customer column, and the column will be a link to record type and link to the customer table
After you create these two tables and have the majority of the information in the record table duplicated into the customer table via look ups, you want to create 2 views of the customer table. One for customer info, and one for customer visit record info.
I am trying to create a more complex base myself that has this functionality incorporated. The issue comes into play when the records are piling up but you don’t need so much info in the past on a routine look into your base. For this you can get into complex formulas etc, or you can simply create filters on views, so a filter to show the records for the past week etc.
My father has been in this database stuff for a long time but unfortunately only lends me a few minutes here and there. He summarized airtable as being a database of lists of which you then apply filters.
So you will have two lists, customer and records, if linking the two lists creates too much data then you simply filter it!
I am still learning how to share these airtable bases and things. Otherwise I could try and create a mock up rather quickly of what I think you would be desiring.
Best of luck!