Introduction
Introduction
In Perfect Gym, the Contract Discounts and Premium Pricing module allows System Administrators to manage various financial incentives or price adjustments for memberships. This feature supports sales processes by enabling promotional offers, waiving fees, or applying price increases, ensuring flexibility in how you attract and retain members.
In this article, you will learn how to create, edit, and manage different types of contract discounts, fee modifications, and commitment extensions.
This article will be helpful for System Administrators and PG Champions.
Before you start
The following permissions is required to use the contract discount module, this is found in PGM->Clubs->System Permissions.
- System administration
- Contract Discounts
- View
- Edit
- Add
- Delete
- Show hidden discounts on the lists
- Adding a new promotion contract
- Contract Discounts
A contract discount cannot be used multiple times on a single contract.
Contract discounts on enrolments (courses) are only available in PGM, not CP2.
Feature description
Go to PGM->Sale->Contract Discounts / Premium pricing to access the contract discount module.
Managing the Discount List
When you enter the module, you will see a list of all configured discounts.
Filters: Use the dropdown menus above the status icons to filter the list by active/inactive or valid/invalid states. You can also use the search bar under Name to find a specific discount.
-
Three Dots Menu: Located next to each contract discount. Here you have the following options:
Edit: Modify the contract discount.
Note that any edits will affect existing contracts using this discount.Activate/Deactivate: Toggle availability without deleting history.
Delete: Only available if the discount has never been assigned to a contract.
Add/Edit contract discount
After pressing Add new contract discount, you will be presented with the following screen allowing you create a new contract discount. A similar screen will be presented for editing an existing contract discount type.
Note: A contract discount cannot be used multiple times on a single contract.
Discount setting
In this section, simply check the boxes for the fees or terms you want to adjust. Checking a box will allow you to define the exact discount rules (like fixed price, amount reduction, or percentage).
Apply to membership fee: Reduce the recurring membership price (e.g., permanently, for the first few months, or as a free interval).
Apply to admin fee: Modify the administration fee.
Apply to joining fee: Modify the initial joining fee.
Apply to prorata fee: Adjust the fee charged for the days between sign-up and the first full billing cycle.
Modify commitment time: Change the duration a member is "locked-in." Use a positive value to extend the commitment or a negative value to shorten it.
For more details on all available settings, check out this article.
Discount availability
This section lets you strictly control when, where, and by whom the discount can be used.
Add validity period: This is a mandatory step. Click this button to set the date range (From/To) during which the discount can be sold.
-
Quick "All" Checkboxes: By default, the system checks boxes like "All current and future payment plans and access rules," "All current and future clubs," "All payment sources," "All employee roles," and "All display sources."
How to restrict: To limit the discount (e.g., to make it only valid for one specific club or only available on the Client Portal), simply uncheck the box. The dropdown menu next to it will become active, allowing you to select your specific choices.
Member Tags: Select specific tags from the dropdown if you want to restrict the offer to certain member groups (e.g., "Corporate" or "VIP").
Is combined with all discounts: If you want to prevent members from stacking multiple promotions, uncheck this box and use the dropdown to specify exactly which other discounts are allowed to be combined with this one.
Add to automatically renewed contracts: Turn this toggle On to ensure the discount carries over automatically when a member's contract auto-renews.
Accounting configuration
Charge Codes: Use the dropdown menus to map your membership, admin, and joining fee discounts to specific accounting charge codes. This ensures your financial reports remain accurate when discounts are applied.
Hints
Unique Names: The discount Name must be unique. The system will show a "Discount with this name already exists" error if you try to save a duplicate.
A contract discount can have one type of membership fee as well as admin fee, joining fee, membership fee during pro-rata and modify commitment time within the same contract discount.
Date Validation: When setting a Valid for periods range, the To date must be later than the From date. You also cannot save date ranges that overlap with existing ranges for the same discount.
Promo Campaigns: You cannot create a "Promo campaign" type discount unless at least one active campaign has been configured in the system first. If none exist, the option will be disabled.
Price Increase (Premium Pricing) Logic: If you select a "price increase" discount type (like Increase by percent since month chosen by user), the system will automatically disable many other settings, including Joining, Admin, and Prorata fees, commitment time changes, payment source limits, and promo codes. It will also force the Only for chosen sources setting to "Web".
Prorata-Affecting Discounts: Certain Membership fee discount types (e.g., those affecting the first interval) will automatically disable the Admin Fee, Joining Fee, and Prorata Fee discount sections.
"All" Checkboxes: Checking All current and future... for Payment Plans or Clubs will disable the corresponding selection lists. To select specific items, you must uncheck this box.
If you are using client portal to automatically apply the contract discount to the contract during registration, only one contract discount can be used, and this will take the oldest contract discount created on system first.
- If you are using voucher codes, only one contract discount can be used for each voucher code.
Use Case Examples
-
Goal: Create a 15% discount for a seasonal sale, activated by a code.
-
Settings:
Name: "Summer Sale 15%"
Is active: Checked
Membership fee: Checked.
Discount Type: "Lower by percent".
Value: 15.
Create Voucher with code "SUMMER15"
Valid for periods: Add a range, e.g., "June 1" to "August 31".
-
-
Goal: Create a "$50 off the first 3 months" discount for new online signups.
-
Settings:
Name: "$50 Off First 3 Months Online"
Is active: Checked
Membership fee: Checked.
Discount Type: "Lower for number of first months".
Value: 50.
Condition: 3.
Visibility: Check
Only for chosen sources. In the list box, check "Client Portal 2" (or the equivalent source for your online portal).
Valid for periods: Add a valid date range.
-
-
Goal: Create a "Buy 12 Months, Get 1 Free" offer.
-
Settings:
Name: "B12G1 Free Month"
Is active: Checked
Membership fee: Checked.
Discount Type: "Free month after".
Value (Number of free months): 1.
Condition (After how many months): 12.
Valid for periods: Add a valid date range.
-
-
Goal: Waive the Joining Fee for all plans at specific clubs.
-
Settings:
Name: "No Joining Fee - City Center, West End"
Is active: Checked
Joining Fee: Checked.
Discount Type: "Set at fixed value".
Value: 0.
Clubs: Uncheck
All current and future clubs. In the dropdown, check "City Center" and "West End".
Valid for periods: Add a valid date range.
-
-
Goal: Create a tiered discount for a specific Payment Plan.
-
Settings:
Name: "Tiered Discount - Gold Plan"
Is active: Checked
Membership fee: Checked.
Discount Type: "Lower since given intervals by amount".
Click the Edit icon.
-
In the popup grid, add rows:
Interval: 1, Value: 30 (for $30 off)
Interval: 2, Value: 20 (for $20 off)
Interval: 3, Value: 10 (for $10 off)
Payment Plans: Uncheck All.... Search for and Assign the "Gold Plan".
-