How to create and manage Packages in Fisikal which clients buy to gain credits that allow them to book or access locations.


Packages are what clients purchase in order to gain credits that allow them to book services.

Packages can also grant other membership benefits such as granting access through access control, or adding the owner into a group which can receive content.


When adding a Package there are 6 separate sections that must be completed.


Before you begin

  • You must have configured at least one:
    • Tax rate
    • Location
    • Service (and therefore Activity and Category and assigned at least one Trainer)
    • Access Control Scheme if this package grants access.
    • Other package if you want to limit the visibility of this package based on the ownership of another.



Field Note
Title The package title is displayed to the users and clients. It appears on reports and in Group names.

Use the description to describe what the client receives from the package, for example the quantity of credits and where and how long they are valid for.

Use terminology suitable for your business. For example: "10 one-on-one Personal Training sessions".

The description appears in the app on the product detail page.


This setting specifies the locations where this package is available for sale.

  • All - available in all locations
  • Use Services - available in the locations where the services are available to be booked (ie where there is an active trainer activity assigned)
  • Use Sales Locations - available in the locations where a Sales Location price is set. Prices are set on the Payment Tab by creating a Custom Rate.
  • Specific - choose a single location where the package is available

The locations available are used to determine whether the package is shown in some purchase flows in the member app when a client is purchasing for themselves.

It is possible for a staff member to sell a package regardless of the location availability.

Status Only Active packages appear in the list for sale.
Service Package Image

Image used in some flows for the package. If the logo is set, then that is used in preference.

Logo Image used in some flows for the package.

The selected video file will be uploaded to Vimeo and can be used when viewing this package.

The video does not appear in the Web UI in Fisikal, it is a setting that may be used in the Member App if required. Be sure to mention it when discussing the app design.

Ref (aka Alt ID)

The external reference for this package in a third-party system.

This ID is usually used in integrations to indicate the link between the package in Fisikal and the package equivalent in the other system.


Specify tags to allow this package to be searched for or identified easily.

Note: There are two places that tags can be applied to a package. The tags on this field are for tagging the package itself. The other is on the Credits tab to indicate the services that the package credits can be used on.



The Package Type settings determine whether the package expires once sold or whether it is part of a subscription that is regularly billed.

The options selected build upon each other. So the simplest type: Single has no further options presented, whereas Subscription Installment packages have many options.

Section Field Note
Type Type

Select from the three types of package:

  • Single - once purchased this package remains on the client's profile until all the credits are consumed. It does not repeat.
  • Expirable - once purchased this package will remain on the clients profile until either all the credits are consumed or the package expires. It does not repeat.
  • Subscription - once purchased this package will remain on the client's profile until it expires. A subscription is created at time of purchase too, so that once the current package has expired or nears expiry then a new package will be added. If there is a charge for the package then the payment method used to buy the first package will be re-used.
  Expires after Specify how long after it starts that an expirable package will expire.
  Endless / Limited Define how may times a subscription will repeat
  Payment Plan

Select from the three payment plans available:

  • Regular - Packages that regularly repeat. Regular plans can be cancelled at any  point.
  • Immediate - Packages with a repeating pattern measured in weeks, with Cancellation rules.
  • Installment - Packages with a total cost defined, but paid off in weekly installments
Regular Payment Plan Valid for

Specify how long after it starts that each package in the subscription will expire.

For Regular Payment Plans this can be measured in days, weeks or months.

For Immediate and Installment plans the setting is only in weeks.


Define how long before or after the end of the previous package will the next one start.

Immediate Payment Plan Cancellation period before renewal How long before the end of the current package can the client request a renewal.
  Cancellation period (credits remaining) Minimum number of credits remaining in order for the client to cancel.
Installment Payment Plan Payment taken every

Frequency of charges for an Installment plan in Weeks.

This value should be the same or smaller than the Valid for setting for the package.

  Payment day The day of the week that charges will be taken.
  Bill at The time of day that charges will be taken on the Payment day.
  Allow client to pause package Set whether the client has permission to pause this package.
  Pause Allowance Set the maximum quantity of weeks that this package can be paused for.



Field Note
Create Generic Group?

When enabled then all the clients who own this package will appear in a group with the name of this package.

Use this setting to grant benefits for clients that own this package.

For example you can make other packages that are only available to clients that own this one. Or create content that is only visible to clients that own this package.

Limit per-package number of credits

Define the overall total credits that this package delivers.

For example: 

If the credits for the package are:

  • PT 60 Mins x 10
  • PT 30 Mins x 10

Then if the limit per package is No Limit, the client will receive a total of 20 credits.

If the limit is 10, then the client will receive 10 credits and could choose to spend them on either service.

Note: This option is not available for Installment Plans.

Type of expiration for related credits

Select when the credits in the package expire:

  • Default - The credits in the package expire at the same time as the package
  • Custom - The credits expire after the specified days beyond the end of the package
  • Unexpirable - The credits remain spendable even if the package is expired.
Restrict to occurrences with these tags: The credits from this package can only be used to book an occurrence that is tagged with one of the tags in this list.
Restrict to occurrences with these times: The credits from this package can only be used to book occurrences with a start time in the selected time group.
List of Services and Credits

The list of services that this package provides credits for.

Every package must have at least one service listed and deliver at least one credit.

To add a service:

  • Click Pick Services and pick one or more services from the list.
  • Click the ➕Add button to add the services to the list.
  • Specify the quantity of credits that the package grants for each service.

For Installment Plans:

Enter the Amount to be charged for each Credit on each payment day. The quantity of payment days is displayed based on the settings in the Package Type tab.



Field Note
Grant Access

Choose Yes to indicate that owning this package will grant the user access to the club in the Fisikal Access Control feature.

Typically in order to access the club a client must have either:

  • At least one active package that has Grant Access = Yes
  • Or, a booking close to the time of access

Click here to learn more about the Access Control decision matrix

Access Control Scheme

If the package Grants Access then you must select an Access Control Scheme which defines which locations they are granted access to and at what times during the week.

Click here for more information on creating an Access Control Scheme



Field Note
Visible for

Specify which Roles that this package is visible for.

This affects any user making a request to 'See the packages available', whether through the user interface or API calls, etc.

We recommend that Managers can see ALL packages, as otherwise it is complicated to support the end user.

Visible for Clients Groups

If Clients are defined as a group that can see the Package, then the clients can be further refined by choosing Groups of Clients that can see the Package.

This option is used frequently used to limit the availability of a package to clients with a certain home location.

It can also be used to make packages available only if a client owns another package, using the Create Generic Group option.

Client must complete assessment to purchase

Use this option to force the client to complete a set of questions before they are allowed to purchase the Package.

For example this option can be used to collect fitness information from the client so that it is on the client's record when they commence a set of PT sessions.

The assessments must be created before this option can be enabled. Click here to learn more about Creating Assessments.

Package price

Select whether this package is available for free or must be paid for.

Free packages must still be 'Purchased' using the checkout process.

Choose Paid to set the Default Price for a package.

Select the Hide Price option to indicate that the price should be hidden in the UI. Note that not all apps respect this option.

Select the Tax Rate for this package.

All Paid packages must have a default price, but more complex pricing is available using the Custom Rates feature below.

Select a Payee

Choose which legal entity will receive the payment for this package when it is purchased.

The choice is usually the Club.

But the choice can be for any Self-Employed Trainer in the club that has defined their own payment settings. If a trainer is selected then they will receive payment.

Restrict package credits to be used only with selected trainer

If the payee selected is a trainer, then it is possible to limit the spending of the credits in the package to the trainer who received payment.

Choose Yes to  only allow spending of the credits with the trainer who was paid for them.

If the client attempts to book a session with a different trainer then they will receive the 'not enough credits' message.

Allowed payment providers

By default the package can be purchased using any of the payment methods defined by the Payee.

Use the Allowed payment providers option to limit the choice if necessary for this package.

Custom rates

Use the Custom Rates options to define prices based on:

  • The client purchasing
  • The Location where the sale is taking place
  • Or whether the client is in a group

Please see the Custom Rates section below for more details.


Custom Rates

The Custom Rates section of the Package payment information allows a great deal of variation to be applied to the pricing of a package in Fisikal.

How to create a custom rate:

  1. On the Payment Information tab click, Enable Custom Rates
  2. Choose the type of the rate, either a specific 🧑client, a 📌sales location or a 🧑‍🤝‍🧑client group, click the option and choose from the list.
    You can add multiple rates at once, from different types.
  3. Click the ➕Custom Rates button.
    The choices are added to the list of rates.

    Note: New rates are added with a price of 0.00! You must edit each one otherwise they get it free!
  4. Edit each of the rates and set the price
  5. Update the package

How to review the custom rates

Use the Service Packages report to examine the Custom Rates in your Club.

The Service Packages report does not list every individual rate set, but it does show which packages have custom rates, how many of each type, and the average prices for those rates to help spot errors.

How are Custom Rates selected during purchasing?:

  • If there is a Client Rate specified for the client purchasing then that will be the price used.
  • Otherwise if there is a Sales Location price specified for where the sale is taking place, then that is the price used.
  • Otherwise if the client purchasing is a member of one or more groups that have a Group Rate specified then that will be the price used.
    If the client purchasing is a member of more than one group, then the lowest price possible will be used.
  • Otherwise the default price for the package is used.


The Notifications section determines the messages sent for this Package.

Field Note
Custom ToS

If Custom Terms of Service are enabled, then at the point of sale the client must tick a check box to indicate that they agree to the terms shown in the Terms of Service field below.

The Custom Terms of Service override the Terms of Service defined in the Club Payment Settings.

Expiry Notification

Enable Expiry Notifications so that when the expiry date for the package is reached then a Notification is triggered to to client.

The Email notification uses the template: Service Package Expired .

This setting does not apply to Package Type: Single

Subscribe Notification

Enable Subscribe Notification so that when a Subscription package is added to the client then a notification is triggered to the client.

The email notification uses the template: Service Package Subscription Notification 

The template includes an optional section which will add the content of the Notification field below to the email.


If the package is a Subscription, and if the Subscribe Notification is enabled then the message added here can be included in the email.

Use this field to send a package specific message for the start of a subscription.

The variable in the email template for this text is: {{content}}

See the topic on email templates for more information.

Terms of Service

Enter the text to be displayed as the Terms of Service.

This text is used if the Custom ToS option is enabled.



Once a package has been created then the order that it appears in lists can be specified by setting its position.

The position is useful to make more popular options appear at the top of lists.

If a client is prompted to buy a package because they do not have enough credits then often in the UI they are only shown two or three options, packages that will give them the required credits. The UI uses the position and the services in the package to determine the top 3 options.

How to change the position of a package in the list of packages:

  1. As a Manager, view the list of Packages; click Services > Packages
  2. Locate the package to me moved and click the ⬆️or ⬇️ arrows to move the package up or down the list one row at a time.
  3. Alternatively, enter the desired position in the Move To box and click Move from the options above.
    The package is moved to the new position, which may be on another page.
  4. Alternatively use the Order A to Z button to reset the order to alphabetical order. This removes all the previous position settings.

Propagating Changes to Packages

When a client purchases a package they receive a copy of the package called a Client Service Package (aka CSP). The CSP records the start and expiry dates of the package as set when it was purchased, and holds the current count of credits remaining. The CSP also links back to the package that was bought so that some of the information about what was purchased is determined by the package.

  • For example, if the name of a package changes, then all the client's who own that package will see the updated name.
  • For example, if the expires after setting on the Package is changed, then there is NO EFFECT on the packages owned by clients.

If the credits that a package gives the client changes, then the Propagate Packages setting can be used to update all the packages already sold. See the Propagate Packages setting for details.




The Video tutorials were recorded using an older version of Fisikal.

The information is still valid, however there are small changes and improvements visible in modern instances of Fisikal.