What data is synchronized in the Traction Rec integration and how does it operate with Egym.
Traction Rec is a gym membership management system built on top of SalesForce.
The Traction Rec integration allows Contacts, Memberships, Membership Types and Facility Visit data to be exchanged between Fisikal and Traction Rec. The primary aim of the integration is to ensure that all the data about a member is present in Fisikal already when they come to log into the Egym app.
What does the Traction Rec Integration do?
When enabled the Traction Rec sync can perform four levels of synchronisation.
Membership Types
Fisikal requests from Traction Rec a list of the Membership Types where the Sync to Fisikal option is enabled.
For each one Fisikal looks to see if an equivalent Service Package has already been created, and if so writes back to the Membership Type in Traction Rec to update the Fisikal fields including the name of the Package and the ID.
The result of this is that it is possible to see in Traction Rec which Membership Types have been configured in Fisikal and will be synced.
This sync runs once daily, or can be manually triggered.
Membership and Contacts
In the first phase of the sync Fisikal requests from Traction Rec a list of the Memberships that:
- have a Membership Type that is set to be synced to Fisikal
- have been recently updated
From the list of memberships Fisikal processes each one and either:
- Creates a new Client and assigns them a Client Service Package that matches their Membership
- or Updates an existing Client Service Package
The result of this is that the list of contacts that have Memberships relevant to Fisikal is kept up-to-date and their Memberships are added or ended according to the events that occur in Traction Rec.
In the second phase of the sync Fisikal requests a list of Contacts that:
- already have a Fisikal Client ID
- have been recently updated
In this way the list of Clients in Fisikal is kept up to date with changes in Traction Rec, even if there is no change to the Membership.
This sync includes the Contacts photos if present.
Facility Visits
Fisikal requests a list of the recent Facility Visits that Contacts in Traction Rec that are synced to Fisikal have done.
For each Facility Visit a corresponding Door Access Log is recorded in Fisikal.
The purpose of this sync is to allow Fisikal to automatically mark a client as having attended a class if there is an access log close to the start time of the class.
Punch Pass Decrements
When a Client in Fisikal completes a one-on-one booking then Fisikal sends a Punch Pass Decrement message to Traction Rec to indicate that a paid for punch pass session has been completed.
This is to allow the credit counting in Fisikal to be synchronised to Traction Rec for reporting purposes.
EGYM BMA Integration
The primary aim of the regular Traction Rec sync is to ensure that a Member's complete record, with all their purchased packages is present in Fisikal before they attempt to use the EGYM BMA App.
The moment a user of the app clicks a Fisikal tile in the EGYM app then they are connected to their Fisikal client record. The list of classes displayed by default corresponds to their home membership location, and the classes they can book is determined by their packages assigned in Fisikal.
In order for that click to work a Client record in Fisikal that matches the Member record in Egym must already exist. So Fisikal must keep up to date with contacts in Traction Rec as that is the source of all the users.
In order for the Traction Rec and EGYM App operations to all work there must be two integrations active in Fisikal:
- EGYM - BMA Integration
- Traction Rec
The Traction Rec integration was built with the EGYM BMA Integration in mind, but it is not essential to have both. The Traction Rec integration can be used stand alone or with another app if necessary.
How to prepare for the Traction Rec integration
Pre-requisites
There are some tasks to be performed in Traction Rec prior to enabling the integration
- In Traction Rec create an integration user to run the Fisikal integration
- Fisikal uses the OAuth 2.0 Client Credentials Flow for Server-to-Server Integration
- Please use these instructions to prepare a user in Traction Rec
- You must also:
-
create a Connected app
-
edit the policy to Run As the above user
-
give the above user the API Only permission (so there is no cost for the seat)
-
Record the consumerID and consumerSecret of the user to use below
-
- Configure Membership Types in Traction Rec to be synced to Fisikal
- Only Memberships with a Membership Type that has the Sync to Fisikal option set to True will be synced to Fiskal. Only Contacts that have such a Membership will be synced to Fisikal.
- Prepare Import Data for Contacts and Memberships to be loaded in Fisikal
- Due to the API rate limits imposed by Sales Force Fisikal cannot self-load all the data it needs to start working.
- The Integration in Fisikal will keep track of ongoing changes in Traction Rec, but the historic data prior to the integration being switched on must be loaded in manually.
- Prepare a file to load in the Contacts that should be in Fisikal with the following fields
- Contact ID, Name, Email, BirthDate, Mobile Phone, LocationID (for the client's Home Location, taken from the location linked to their first Membership)
- Prepare a file to load in the Memberships that should be in Fisikal with the following fields:
-
Contact ID, Membership ID, Membership_Type_ID, Starts_at
-
-
- Please work with your Fisikal contact to get these files loaded into Fisikal.
How to enable the Traction Rec integration
- Log into Fisikal as a Manager user
- Create a new Identity to be used to store the Traction Rec ID:
- Click Settings > Identities > ➕
- Enter details:
- Identity Type = Third-party ID
- Display Name = Traction Rec ID
- Max per client = 1
- Minimum days between changes = 0
- Active = Active
- Click Create
- Click Settings > Integrations > ➕
- Enter Details:
- Integration type = Traction Rec
- Active = Active
- Base URL = URL of your Traction Rec instance
- Consumer ID = ID of the user created in your Traction Rec instance for Fisikal API access
- Consumer secret = of the user created in your Traction Rec instance for Fisikal API access
- Select Identity = Choose the Identity created in Step 2 above = Traction Rec ID
- Click Add; the new integration will appear in the integration list.
- Click the ✏️ to edit the integration and set the options, see below for details.Create the integration:
Sync Membership Type Data (daily)
Enable the daily sync on Membership Types so that it is visible in Traction Rec which Membership Types have been correctly configured in Fisikal.
It is required to run this sync at least once to update the Membership Types in Traction Rec so that they start syncing in the Contact and Membership sync.
Use the Perform Membership Type sync button to trigger a run immediately.
Note the Perform Membership Type sync UI has been reused from other integrations. Although it allows you to choose a location and says Start Member Sync it is actually going to sync Membership Types for all locations regardless of selection, and not members.
Sync Contact and Membership Data
Enable the regular sync of Membership and Contact data.
Recommended frequency is 10 mins.
Change the frequency if you require a newly added Contact in Traction Rec to be able to use the EGYM App in less than 10 mins from signing up.
The frequency setting is to allow adjustment because Sales Force enforces a maximum quantity of API calls per day (200k). If you sync every minute then there is a greater chance of hitting this limit.
Sync Facility Visits
Enable the regular sync of door access information.
In order for this option to succeed there must be a door record created for each location, see below for details.
Decrement Punch Pass Memberships
Enable this option so that Fisikal creates a Punch Pass Decrement record for each time that a booked one-to-one session (ie Individual PT session) occurs.
Specify a delay after the End Time of the occurrence to wait to send the decrement message. This gives the Trainer a short delay in which to Cancel the class and refund the credit in case they need to before it becomes a record in Traction Rec.
Next Steps:
- In Fisikal you must create a location that corresponds to each Club in Traction Rec and configure the Traction Rec Location ID for each one.
- If you require the Facility Visit sync to be operational then you must configure a Door in Fisikal for each location.
How to add the Traction Rec Location ID to a Location
- Log in as a Manager user
- Click Services > Locations
- If the location has not been created yet then click the ➕ button or click the ✏️ button to edit an existing location.
- Click the Integrations tab, enter the Traction Rec Location ID
If the Traction Rec Location ID field is not visible please check that the Traction Rec Integration is active and if so then reload the page (Ctrl+F5 or CMD+R) to make it appear.
How to create a Door record for a location
- Log in as a Manager user
- Click Settings > Doors
- Add a new door record by pressing the ➕ button.
- Enter the details of the door
- Enter a useful Title for the door that includes the name of the location
- Enter a unique Nomical door ID, this ID must be unique in the Club.
- Select the specific location option and choose the location of the door from the list.
- Leave the Access Control option Disabled.
- Ensure the Door is Active.
- Click Create