Data Files samples / Gym and fitness studio
Tannery Yard Fitness
Members on monthly plans, direct debits, classes and bookings, personal training packs and visits for an independent gym.
How the tables are related
A line runs from a field that points at another table's record to that table. Data Files keeps a record from pointing at one that is not there, and a query with both tables joins them by it.
- Members.Plan points at Plans
- Freezes.Member points at Members
- Invoices.Member points at Members
- Invoice Lines.Invoice points at Invoices
- Payments.Invoice points at Invoices
- Class Sessions.Class points at Classes
- Class Sessions.Instructor points at Staff
- Bookings.Session points at Class Sessions
- Bookings.Member points at Members
- Visits.Member points at Members
- PT Packs.Member points at Members
- PT Packs.Trainer points at Staff
- PT Sessions.Pack points at PT Packs
- PT Sessions.Trainer points at Staff
Start Here
The guide to this database: the everyday tasks a step at a time, each step saying which table, form, query, report or print template to open. Open its report, Start Here, to read or print it. Delete the table when you no longer need it; nothing else uses it. (31 records in the sample.)
| Field | Type | What it holds |
|---|---|---|
| ID | AutoNumber | The number Data Files gives each record. Other tables point at a record by it. |
| Order | Whole number | The order the steps are read in. |
| Task | Short text, required | The everyday task the step belongs to. |
| Step | Whole number | The step's number within its task. |
| What To Do | Long text | What to open and what to do there. |
Business
The business's own details, in one record. Every document it prints, an invoice, a receipt, a statement or a letter, takes its name, address and payment details from here, so they are changed in one place. (1 records in the sample.)
| Field | Type | What it holds |
|---|---|---|
| ID | AutoNumber | The number Data Files gives each record. Other tables point at a record by it. |
| Name | Short text, required | The name printed at the top of every document. |
| Address | Short text | The street address. |
| City | Short text | The town or city. |
| Postcode | Short text | The postcode or ZIP code. |
| Country | Short text | The country. |
| Phone | Short text | The phone number customers call. |
| Short text | The address customers write to. | |
| Website | Short text | The website, if there is one. |
| Tax Number | Short text | The VAT or sales tax registration number, printed on invoices. The sample has a placeholder. |
| Company Number | Short text | The registered company number, where the business is a company. The sample has a placeholder. |
| Bank Details | Short text | Where customers pay by transfer: the bank, account name and number. The sample has a placeholder. |
| Payment Terms | Short text | The words printed under an invoice's total, such as "Payment within 30 days". |
| Tax Rate | Number | The usual rate of VAT or sales tax as a fraction: 0.2 is twenty percent. Lines may carry a rate of their own. |
| Currency | Short text | The currency the business trades in, as its three-letter code. |
| Document Footer | Long text | A line or two at the foot of every document: thanks, opening hours, returns policy. |
Plans
The memberships on offer, what each costs and its terms. Enter these first. (4 records in the sample.)
| Field | Type | What it holds |
|---|---|---|
| ID | AutoNumber | The number Data Files gives each record. Other tables point at a record by it. |
| Name | Short text, required, unique | The plan's name, such as Off-peak or Family. Each name is used once. |
| Monthly Fee | Currency | What the plan costs a month, with VAT in it, as the price list shows it. |
| Joining Fee | Currency | The one-off fee paid on joining, with VAT in it; nought for none. |
| Minimum Months | Whole number | How many months a new member pays before they may leave. |
| Notice Months | Whole number | How many months' notice a member gives to cancel. |
| Freeze Fee | Currency | What a member pays a month while their membership is frozen. |
| Access Hours | Short text | When the plan lets a member in, in words that follow "may use the gym": printed on the card, the agreement and the welcome letter. |
| Tax Rate | Number | The VAT in the plan's prices, as a fraction: 0.2 is twenty percent. |
| Description | Short text | Who the plan is for and what it covers. |
Staff
Everyone who works at the gym: the manager, the desk, the class instructors and the personal trainers. (10 records in the sample.)
| Field | Type | What it holds |
|---|---|---|
| ID | AutoNumber | The number Data Files gives each record. Other tables point at a record by it. |
| First Name | Short text | Their first name. |
| Last Name | Short text, required | Their family name. |
| Role | Short text | What they do, such as Class instructor or Personal trainer. |
| Phone | Short text | Their phone number, for the rota and cover. |
| Short text | Their e-mail address. | |
| Class Rate | Currency | What an instructor is paid for each class they teach; empty for staff who teach none. |
| Session Rate | Currency | What a trainer is paid for each personal training session; empty for staff who give none. |
| Started | Date | The day they started. |
Members
One record per member, past and present, with their plan, fee, payment day and where their membership stands. (328 records in the sample.)
| Field | Type | What it holds |
|---|---|---|
| ID | AutoNumber | The number Data Files gives each record. Other tables point at a record by it. |
| Number | Short text, unique | The membership number, printed on the card and quoted when they call: MEM-2026-0042. Given in the order members join, a new run each year. |
| First Name | Short text | Their first name. |
| Last Name | Short text, required | Their family name; lists are sorted by it. |
| Date of Birth | Date | Their date of birth: members must be 16 or over, or 14 on a family plan. |
| Address | Short text | House number and street. |
| City | Short text | The town or city. |
| Postcode | Short text | The postcode. |
| Phone | Short text | A phone number. |
| Short text | Where invoices and booking reminders go. | |
| Plan | Points at Plans, required | The plan they are on. |
| Monthly Fee | Currency | What they pay a month, kept here so a later change to the plan's price does not alter what they agreed. |
| Joined | Date | The day they joined and paid the joining fee. |
| Payment Day | Whole number | The day of the month their fee is collected, the day they joined (the 28th for anyone who joined on the 29th, 30th or 31st). |
| Minimum Term Ends | Date | The last day of their minimum term. |
| Status | Short text | Active (including members working out their notice), Frozen, Cancelled once their notice has run out, or Lapsed when they stopped paying. |
| Cancel Requested | Date | The day they gave notice; empty for a member who has not. |
| Ends | Date | The last day of the membership, once they have given notice or lapsed. |
| Health Declaration | Yes/No | Ticked when they have answered the health questions on joining. |
| Emergency Contact | Short text | Who to call if they are taken ill. |
| Emergency Phone | Short text | That person's phone number. |
| Notes | Long text | Anything staff should know, such as an injury to work around or the others on a family plan. |
Freezes
Each time a member freezes their membership: one to three months from a payment day, at the plan's freeze fee. (44 records in the sample.)
| Field | Type | What it holds |
|---|---|---|
| ID | AutoNumber | The number Data Files gives each record. Other tables point at a record by it. |
| Member | Points at Members, required | The member. |
| Starts | Date | The first day of the freeze, a payment day. |
| Ends | Date | The last day of the freeze. |
| Reason | Short text | Why, such as an injury or travel. |
| Monthly Fee | Currency | The fee charged a month while frozen. |
Invoices
An invoice for each month's fee, raised ten days before the payment day, and one when a member joins with the joining fee and first month. (2,592 records in the sample.)
| Field | Type | What it holds |
|---|---|---|
| ID | AutoNumber | The number Data Files gives each record. Other tables point at a record by it. |
| Number | Short text, unique | The invoice number: INV-2026-0042, given in date order, a new run each year. |
| Member | Points at Members, required | Who it is for. |
| Invoice Date | Date | The day it was raised. |
| Period From | Date | The first day the fee covers. |
| Period To | Date | The last day the fee covers. |
| Due Date | Date | The payment day it is collected on. |
| Net | Currency | The total before VAT. |
| Tax | Currency | The VAT within the total, each line's worked out to the penny and then added up. |
| Total | Currency | What is collected, VAT in it. |
| Status | Short text | Due (not collected yet), Paid, Retry due (the first try failed), Failed (both tries failed, to chase) or Written off. |
| Paid On | Date | The day the money came in; empty until then. |
| Method | Short text | How it was paid: Direct debit, Card on joining, or Card at the desk after a failed collection. |
Invoice Lines
The lines on each invoice. (2,705 records in the sample.)
| Field | Type | What it holds |
|---|---|---|
| ID | AutoNumber | The number Data Files gives each record. Other tables point at a record by it. |
| Invoice | Points at Invoices, required | The invoice the line is on. |
| Description | Short text | What it is for, with the dates it covers. |
| Kind | Short text | Membership, Freeze fee or Joining fee, for counting income by kind. |
| Quantity | Whole number | How many, usually 1. |
| Unit Price | Currency | The price with VAT in it. |
| Tax Rate | Number | The VAT rate in the price, as a fraction, taken from the plan. |
Payments
Every try at taking money for an invoice, collected or not, as the bank reports it: a failed direct debit and its second try are both here. (2,650 records in the sample.)
| Field | Type | What it holds |
|---|---|---|
| ID | AutoNumber | The number Data Files gives each record. Other tables point at a record by it. |
| Invoice | Points at Invoices, required | The invoice it was for. |
| Taken On | Date | The day of the try. |
| Method | Short text | Direct debit, or Card at the desk. |
| Amount | Currency | How much was asked for. |
| Result | Short text | Collected or Failed. |
| Reason | Short text | Why it failed, as the bank gives it; empty when collected. |
Classes
The classes on the timetable, one record each, whatever day they run. (10 records in the sample.)
| Field | Type | What it holds |
|---|---|---|
| ID | AutoNumber | The number Data Files gives each record. Other tables point at a record by it. |
| Name | Short text, required, unique | The class's name, as on the timetable. |
| Description | Short text | What the class is, for the timetable and website. |
| Minutes | Whole number | How long it lasts. |
| Capacity | Whole number | How many places it usually has. |
| Studio | Short text | Where it is usually held. |
Class Sessions
Each time a class runs, past and on the timetable for the fortnight ahead. (1,261 records in the sample.)
| Field | Type | What it holds |
|---|---|---|
| ID | AutoNumber | The number Data Files gives each record. Other tables point at a record by it. |
| Class | Points at Classes, required | The class. |
| Instructor | Points at Staff | Who teaches it, or covers it. |
| Starts | Date and time | The day and time it starts. |
| Studio | Short text | Where it is held. |
| Capacity | Whole number | How many places it has this time. |
| Places Booked | Whole number | How many places are taken, kept up to date as members book and cancel, so free places show at a glance. |
| Instructor Fee | Currency | What the instructor is paid for it, from their class rate on the day. |
| Status | Short text | Scheduled, Held or Cancelled. |
Bookings
Each place a member books in a class. (9,442 records in the sample.)
| Field | Type | What it holds |
|---|---|---|
| ID | AutoNumber | The number Data Files gives each record. Other tables point at a record by it. |
| Session | Points at Class Sessions, required | The class session booked. |
| Member | Points at Members, required | Who booked. |
| Booked At | Date and time | When they booked. |
| Status | Short text | Booked (still to come), Attended, No-show or Cancelled. |
Visits
Every time a member comes through the door, as the door reader records it. (14,276 records in the sample.)
| Field | Type | What it holds |
|---|---|---|
| ID | AutoNumber | The number Data Files gives each record. Other tables point at a record by it. |
| Member | Points at Members, required | Who came in. |
| Visited At | Date and time | The day and time. |
| Entry | Short text | Gym floor, or Class when they came for a class. |
PT Packs
Packs of personal training sessions sold to members, each with a trainer and a use-by date. (100 records in the sample.)
| Field | Type | What it holds |
|---|---|---|
| ID | AutoNumber | The number Data Files gives each record. Other tables point at a record by it. |
| Number | Short text, unique | The receipt number: PT-2026-0042, given in date order, a new run each year. |
| Member | Points at Members, required | Who bought it. |
| Trainer | Points at Staff | The trainer the sessions are with. |
| Bought On | Date | The day it was sold. |
| Sessions | Whole number | How many sessions are in it. |
| Price | Currency | What it cost, VAT in it. |
| Tax Rate | Number | The VAT rate in the price, as a fraction. |
| Paid By | Short text | Card or cash. |
| Expires | Date | The last day its sessions can be used. |
| Sessions Used | Whole number | Sessions given or missed without notice so far, kept up to date as they happen. |
| Status | Short text | Open, Used up or Expired. |
PT Sessions
Each personal training session, given, missed or booked ahead. (834 records in the sample.)
| Field | Type | What it holds |
|---|---|---|
| ID | AutoNumber | The number Data Files gives each record. Other tables point at a record by it. |
| Pack | Points at PT Packs, required | The pack it comes out of. |
| Trainer | Points at Staff | Who gives it. |
| Session At | Date and time | The day and time. |
| Status | Short text | Booked, Done, No-show (missed without notice, so it counts as used) or Cancelled (with notice, so it does not). |
| Trainer Fee | Currency | What the trainer is paid for it, from their session rate. |