What This Screen Does
This is where you update an existing personal training membership type. Think of it like editing the details on a product card in a shop — you can change the name, description, pricing rules, access permissions, and more. The system loads the current settings for the personal training type and lets you modify them. Once you save, the changes take effect immediately.
How to Get There
Open the dashboard.
In the left-hand menu, click Personal training type.
Find the personal training type you want to edit in the list.
Click on it to open its details, then click the Edit button (or click the edit action directly from the list).
You are now on the Edit Personal Training Type screen.
Step-by-Step Guide
1. Basic Information
This section covers the name, descriptions, cover image, and contract for the personal training type.
Field | Required | What to Enter |
Name | Yes | The display name of this personal training type. This is what members see when browsing available memberships. |
Short Description | No | A brief summary shown alongside the name in lists and cards. You can write up to a few sentences. |
Cover Image | Yes | Upload an image that represents this training type. Click the upload area, pick a file (JPEG, PNG, or GIF), and crop it to a 4:3 ratio. Only one image is allowed. |
Description | Yes | A full, detailed description of the training type, including benefits and features. Use the rich-text editor to add formatting like bold text, bullet points, or links. |
Contract | Yes | Pick the legal contract template that members must agree to when purchasing. Select one from the dropdown list. |
2. Properties
This section controls how the membership behaves — billing, access, visibility, and more.
Field | Required | What to Enter |
Frequency | Yes | How often members are charged. Choose from options like Monthly, Weekly, Bi-Weekly, One-Time, and others. |
Product Code | No | An internal code for your records and reporting. |
Product SKU | No | A Stock Keeping Unit identifier for inventory management. |
Number of clips | No | How many training sessions this package includes. Enter a whole number. |
Number of seats | No | The maximum number of members that can hold this membership type at the same time. Leave blank for unlimited. |
Account number for bookkeeping | No | The account number used when exporting financial data to your accounting system. |
Publicly available | No | A toggle switch. When turned on, this membership is visible in your online store and member portal. Defaults to on. |
Has access to door system | No | A toggle switch. When turned on, members with this type can unlock doors using the access control system. Defaults to on. |
Limit training hours | No | Only available on Premium or Platinum plans. When turned on, you can restrict which hours members can access the facility (see the Training Hours section below). |
Allows training in all gyms | No | A toggle switch. When turned on, members can train at any gym location in your chain, not just the one they signed up at. |
Counts towards global limit | No | Only shown if a global maximum number of active memberships is configured. When on, this type counts towards that limit. |
Anchor memberships renewal to the 1st day of the month | No | Only shown for certain billing frequencies (e.g. Monthly, Quarterly). Aligns all renewals to the first of the month regardless of purchase date. May be disabled if this is already enforced at the gym level. |
Limit lock access | No | Only shown if locks are configured. When turned on, you can pick specific locks/doors that members with this type can access. |
Lock ID | Conditional | Only shown when Limit lock access is on. Select one or more locks from the list. At least one lock is required if the toggle is enabled. |
3. Training
This section controls class booking permissions and limits.
Field | Required | What to Enter |
Maximum number of active bookings | No | How many upcoming classes a member can be registered for at the same time. Leave blank for unlimited. |
Maximum number of bookings | No | Total number of classes a member can book within the selected training limit period. Leave blank for unlimited. |
Training limit period | Conditional | Only shown when a maximum number of bookings is set. Choose the period over which the limit is calculated (e.g. Monthly, Weekly). |
Allowed classes | No | Select which class types members can book. Leave empty to allow access to all classes. |
4. Training Hours (Conditional)
This section only appears if you turned on Limit training hours in the Properties section. It lets you define specific time windows when members can access the facility.
For each training hour entry:
Field | Required | What to Enter |
Day of week | Yes | Pick a day (Monday through Sunday). |
Open | Yes | The time the facility opens for this membership type on the selected day. Uses 24-hour format. |
Closed | Yes | The time the facility closes for this membership type on the selected day. Uses 24-hour format. |
To add a new time slot, click the Add opening hour button at the bottom of the card.
To remove a time slot, click the red X button next to that row.
If no training hours are set, the system uses the gym’s regular opening hours.
5. Communication
This section configures the automated emails sent to members at different points in their membership lifecycle.
Field | Required | What to Enter |
Welcome email | Yes | The email template sent when a new member purchases this membership. Pick from the list of welcome email templates. |
Cancellation email | No | The email template sent when a member cancels. Pick from the list of cancellation email templates. |
On hold email | No | The email template sent when a membership is put on hold. Pick from the list of on-hold email templates. |
6. Pricing
In edit mode, you cannot change the base price or tax rate (these are managed separately). You can still adjust the setup fee, validity dates, and other pricing settings.
Field | Required | What to Enter |
Setup fee (toggle) | No | When turned on, a one-time fee is charged when a member first purchases this membership. |
Setup fee amount | Conditional | Only shown when the setup fee toggle is on. Enter the one-time fee amount. The VAT is based on the global default in your chain settings. |
Can be purchased from | Yes | The first date this membership type becomes available for purchase. Pick a date from the date picker. |
Can be purchased until | No | The last date this membership type can be purchased. Leave empty if there is no end date. Must be later than the “purchased from” date. |
7. Save Changes
Click the Save Changes button at the bottom-right of the form.
The system will:
Validate all your inputs.
Update the personal training type record with your changes.
Upload the cover image (if you changed it).
Navigate you back to the previous page.
You will see a green “Update success!” notification at the bottom of the screen.
What Happens Behind the Scenes
You click "Save Changes"
|
v
Form validates all fields (Yup schema)
|
v
API call: PersonalTrainingTypesService.edit({ id, body: formData })
|
v
Personal training type record is updated on the server
|
v
API call: PersonalTrainingTypesService.addCoverImage({ id, files: [image] })
|
v
Cover image is uploaded and attached to the record
|
v
Success notification "Update success!" appears
|
v
You are navigated back to the previous page
Troubleshooting
“I filled everything in but the Save Changes button does not work”
Double-check that all required fields are filled. The form will not submit if anything is missing.
Look for small red error messages below the fields — they tell you exactly what is wrong.
Make sure you have selected a contract and a welcome email template.
Make sure the cover image has been uploaded. At least one image is required.
“The ‘Valid to’ date keeps showing an error”
The “Can be purchased until” date must be later than the “Can be purchased from” date.
If you do not need an end date, leave the field empty.
“I do not see the ‘Limit training hours’ toggle”
This feature is only available on Premium or Platinum subscription plans.
If your chain is on a lower plan, this option will not appear. Contact your administrator about upgrading if you need this feature.
“I cannot change the price or tax rate”
In edit mode, the base price and tax rate fields are not shown. These are managed separately through the pricing management area.
You can still adjust the setup fee and validity dates on this screen.
“My cover image did not upload”
The image must be a JPEG, PNG, or GIF.
It must not exceed the maximum file size allowed by the system.
Only one cover image is allowed. If you already have one, the new image replaces it.
If the update succeeded but the image failed, try editing the type again and re-uploading the image.
“I do not see any contracts in the dropdown”
Contracts are loaded when the page opens. If the list is empty, try refreshing the page.
Make sure you have created at least one contract in the system. You can do this under the Contracts section.
“I do not see any email templates in the dropdown”
Email templates are filtered by type. The Welcome email dropdown only shows templates of type “Welcome Email”, and so on.
If none appear, you may need to create the appropriate email template first in the Email Templates section.
Try refreshing the page if templates were recently added.
“I turned on ‘Limit lock access’ but I do not see any locks”
Locks must be configured in your system before they appear here.
If no locks are set up, the lock access section will not appear at all.
Contact your administrator to set up door locks in the Gym settings.
“The ‘Anchor renewal to 1st of month’ toggle is greyed out”
This toggle is disabled when your gym already has a global setting that forces all memberships to renew on the first of the month.
In that case, the toggle is on by default and cannot be changed at the individual membership type level.
“I got an error after clicking Save Changes”
A red error message will appear. Read it carefully — it usually tells you what went wrong.
Common causes: server timeout, validation error on a field you may have missed, or a network issue.
Try again after a moment. If the error persists, contact support with the error message.
