HOW TO USE THE GLADSTONE INTEGRATION

What to expect from the Fisikal integration to Gladstone

Fisikal has a direct integration to the Gladstone Plus 2 API.

The Integration performs the following tasks:

  • When a member is added or changed in Gladstone then their client record in Fisikal is created or updated too.
  • When a member purchases a subscription in Gladstone then a corresponding Package is created in Fisikal. Likewise if a subscription expires in Gladstone then the Package is expired in Fisikal too.
  • When a member accesses a door in Gladstone then a corresponding door access is recorded in Fisikal too. This can be used to automatically trigger a booking to be marked as Attended.
  • Allows a mobile App to make a call to Fisikal using a user's Gladstone username and password to authorise into a Fisikal session. This avoids confusion by allowing users to use their Gladstone credentials to use Fisikal features so they do not need to be issued with additional Fisikal ones. This requires a custom feature of the Fisikal app to be enabled.
  • Allows an App to make a call to Fisikal using only an encrypted Member ID to authorise into a Fisikal session. This allows a third-party app that already is connected to the Gladstone system to open the Fisikal app and log in. This is a convenience feature to allow the Fisikal app to be used alongside an existing app and not require the user to need new login credentials. It requires an enhancement to be made to the existing app and a custom feature of the Fisikal app to be enabled.

Note: Fisikal also has an indirect integration to the Gladstone system via the Egym app. Click here to find out more.

What is not a feature of the integration?

The Gladstone to Fisikal integration is one way, data flows from Gladstone into Fisikal, but not the other way. So the integration does NOT support:

  • Client updates in Fisikal are not sent back to Gladstone. Because of this we recommend that the profile editing features in Fisikal are turned off using permissions.
  • Packages purchased directly in Fisikal are not sent back to Gladstone

 

What client data is exchanged between Gladstone and Fisikal?

Client records

These fields of a client record in Fisikal are created and updated when they change in Gladstone.

  • Name
  • Email
  • Date of Birth
  • Home Location (Site in Gladstone)
  • Active/Inactive status based on the Gladstone StatusID field mappings, see below.
  • Alt_ID (Member ID in Gladstone)

Status

Clients in Fisikal are either Active or Inactive. The decision on what status they have is made based on the StatusID field in their Gladstone record.

Gladstone  StatusID values that result in Active clients in Fisikal can be configured in the Integration settings.

All other Gladstone StatusID values result in Inactive clients in Fisikal.

Package Creation

When a new subscription is created in Gladstone a corresponding Package is created in Fisikal based on the value in the Subscription > SubTypeID.

If the value in the SubTypeID exactly matches to a package Alt_ID in Fisikal then that package will be assigned.

Package values:

  • The value in the Subscription > StartDate field in Gladstone is used as the Start Date of the package in Fisikal.
  • The value in the Subscription >SubscriptionRef field in Gladstone is used as the alt_id of the client service package in Fisikal. This allows the package to be updated again if there are further changes.
  • The value in the Subscription > SiteID field in Gladstone is used as the Location of the package in Fisikal.

Optional Location Restrictions

Additionally a Location Tier can be assigned based on the 5th and 6th digits of the SubTypeID using the following logic:

  • If the 5th character of the SubTypeID is a 0 then assign the Fisikal Location tier that has an Alt ID that matches the 5th and 6th characters of the SubTypeID.

For example: If the SubTypeID = PTPK then the package with Alt_ID of PTPK in Fisikal will be assigned, and no Location Tier will be applied.

For example: If the SubTypeID = PTPK02 then the package with Alt_ID of PTPK01 in Fisikal will be assigned, and Location Tier with Alt_ID of 02 will be applied.

For example: If the SubTypeID = INITIALPK then the package with Alt_ID of INITIALPK in Fisikal will be assigned, and no Location Tier will be applied.

 

The location tiers require config, see the 

Package Expiry

If a subscription becomes expired in Gladstone (the endDate is in the past) then any active package in Fisikal with an Alt_ID that matches the Subscription > SubscriptionRef field is also expired.

 

How to enable the Gladstone Integration?

  1. Log into Fisikal as a Manager
  2. Click Settings > Integrations
  3. Click ➕ to add a new integration and select Gladstone from the list.
  4. Enter the details of the integration as described below and click Add to start syncing.

Field Description
Active

While the Integration is active then syncing will occur every few minutes and client login is enabled.

If Inactive then the config remains, but syncing stops and clients cannot log in.

Base URL

The base URL of the Gladstone API to connect to.

For example:

https://book.mywebsite.com/plus2memberwebservice/

Note: The trailing slash is important.

App Name

A valid application name that is sent with every API call to indicate the sender.

Usually this is the word 'Fisikal', but this must be registered in the Gladstone instance and given access to the required information. A Gladstone engineer must perform this task.
Username

Username and Password of a user with permission to make calls to the API.

Usually this requires a Gladstone engineer to provide
Password
Active subscription status list 

A comma separated list of Status values in Gladstone that will result in a client being 'Active' in Fisikal.

Any status not in this list will be treated as an Inactive status.

Clients received for the first time with an Inactive status will not be created.

Clients received with an Inactive status but which do already exist in Fisikal will be made Inactive.

SubscriptionTypeGroupIDs filter list for valid SubTypeIDs

Sometimes only certain packages are of interest to Fisikal. For example, Personal Training packages may be used in Fisikal, but not access packages.

Fisikal will assign any package where the Gladstone SubTypeID matches with the Fisikal Package Alt ID.

If there is no match then no package will be assigned.

But it could be the case that a user creates a new SubTypeID in Gladstone and neglects to create the matching package in Fisikal. This setting allows Fisikal to identify when that situation may have occurred.

A SubscriptionTypeGroupID entered here will be used to query once a day the list of valid SubTypeIDs that Fisikal is expecting, and if a client is received that has what should be a valid package, but a match does not exist in Fisikal then it will trigger a notification email to alert of the configuration mismatch.

The SubscriptionTypeGroupID  is limited to 5 characters, so in all examples the value has been: FISIK

Minimum clients age

Data received for clients below this age will be ignored. Young clients received will not be created.

Clients that have their date of birth changed after they have been created will exist in Fisikal.

Leave this value empty to ignore age.

List of Emails for notifications

 Enter a list of email addresses to be notified of issues with the Gladstone sync.

Note: The integration can trigger a high volume of emails, particularly when it is first enabled. We recommend using a service account.

Validation Type

Gladstone has 3 options available for allowing members to log in. Select the correct option for your installation.

The SecurePassword option corresponds to the UseStrongPassword option in Gladstone.

Delete on IsDeleted = True

Enable this option if Fisikal should apply the delete function to a client if they are deleted in Gladstone.

If this is not enabled then the member is usually changed to an Inactive status in Gladstone and is made Inactive in Fisikal, but their record remains, and can be found an made active again.

 

 

Authorisation features

Normally users of Fisikal require credentials ( their email as a username and a password) to access the Fisikal app.

If the Gladstone integration is enabled then there are two options available to app developers to allow users to log in to Fisikal using their existing Gladstone credentials.

  • If there is no existing mobile app then an enhancement to the Fisikal app is possible to enable authentication using the client's Gladstone username and password.
  • If there is an existing mobile app that already uses the Gladstone credentials to log in, then it is possible to enhance that app so that it can send an encrypted message containing a member ID to open the Fisikal app and trigger an automatic login for that member.

Please discuss these options with your Fisikal project manager for suitability in your integration project.

Please note that the feature that allows an app to authenticate in Fisikal using only an encrypted Member ID relies on the security setting in Gladstone to be such that the response to the RetrieveMember API call includes the ConnectAndKiosk section and the password field within it in an unencrypted format, ie the UseStrongPassword option is disabled. This may or may not be possible in your Gladstone instance.

If this feature is required then it should be mentioned at the outset of the project and verified as possible using the Postman API collection available from the Fisikal support team.

 

Configuration tasks required for Gladstone Integration

In addition to normal configuration tasks required when setting up a new Fisikal club:

  • Service config: Staff users, Trainers, Activities, Categories, Services, Packages and Bundles
  • Settings: Club settings, payment settings, user permissions, app setup, notifications etc.

The following additional steps are required for the Gladstone integration to operate:

  • Edit the Location Alt ID of each location to the SiteID of the site in Gladstone.
  • Create one Door for each location with the SiteID of the club as the unique Nomical Door ID.
  • Edit the Alt ID of each package to the Subscription > SubTypeID of the matching purchase in Gladstone
    • Tip: You can query the full possible list using the SubscriptionTypeGroupIDs value to filter the GetSubscriptionTypes Gladstone API call using Postman. Please ask if that sentence needs explanation 🙂
  • For the Memberships option:
    • Create Location Memberships to represent Tiers and set the Alt ID of the membership to the matching 2 digit code that will appear in the 5th and 6th positions of the Subscriptions > SubTypeID in Gladstone. The code does not need to be a number, but must start with a 0; for example:   00, 01, 02, ... 09, 0A, 0B, 0C, ..., 0X, 0Z.