Integration Details | Field Mapping | Where to Get More Information
Overview
In ABC-Integrated clubs, Club OS is used for reporting, follow-ups with prospects and members, and email and text marketing campaigns. ABC’s Datatrak system is used for member management and scheduling (such as billing, check-in, membership sales, and calendar services).
Download this diagram at the bottom of this article.
ABC must authorize Club OS to access its data (via the REST API). Certain optional settings, and the frequency by which Club OS pulls data from the ABC club, are determined in Club OS System Admin at the time of implementation. In most cases, Club OS performs one complete sync each day (“full cron”), and conducts additional partial syncs according to a schedule chosen by the location (“hourly cron”). Partial syncs from ABC are limited to member data that has been modified since midnight of the current day in the club’s zone. Other data is only obtained from ABC during the daily full sync.
Read on for more details on how data is synced and interpreted. If this document doesn’t answer your questions, you can:
- Consult ABC’s documentation
- Submit a ticket to the Club OS support team
ABC/DataTrak Integration Details
This section will walk you through:
- Each major data type and where it should be created/modified
- How and when it syncs between ABC and Club OS
- What determines if data is added or updated
- Any additional requirements
- How the data is used in Club OS
- Common issues and troubleshooting
Prospects | Members | Employees | Check-ins | Calendar Events | Marketing Sources | POS Transactions | PT Follow-up and Opportunity Data
Prospects
Prospect accounts in Club OS are used to maintain accurate records of contact information, calendar events and follow-up status. Email and text marketing campaigns from Club OS can be targeted to Prospects.
-
Prospects should be created in Club OS, not ABC
- If prospects are created/updated in ABC, the data will not sync to Club OS at all
-
Club OS pushes Prospect data to ABC:
- When a Prospect is added or updated in Club OS
- When a Guest Pass is added or changed in Club OS
- If a Prospect’s location changes in Club OS
- New or updated Guest Pass dates entered in Club OS can affect guest pass functions (including the Prospect’s access to club locations determined by ABC, and/or their Follow-Up status in Club OS)
- If an existing Prospect or Member is re-entered with a new location in Club OS, this will result in either an updated or new Prospect for that location in ABC, depending on certain settings on the Club OS side. (The updated information could be obtained via the Prospect or Member filling out a DGW, web lead form, or referral form.)
- A Mobile Phone entered for a Prospect in Club OS will appear as both the Primary and Cell number in ABC
Exceptions/Troubleshooting
-
The Notes (Account Settings → Prospecting → General → Lead Notes) field in Club OS has a limited sync to ABC.
- Club OS will only send Notes that were added at the time the Prospect account was initially created. Additional Notes added in Club OS will not be pushed to ABC.
- ABC will validate (look for errors/improper formatting) in certain address fields if it identifies incomplete or inaccurate address information. (In other words, you should completely omit address information in Club OS if you are not sure of its accuracy, since it will be validated by ABC. If any of the fields are incorrectly formatted according to ABC’s requirements, the entirety of the address information may be rejected or incorrectly recorded. Find more details below.)
-
The following issues will prevent prospects created in Club OS from being pushed to ABC:
- No first or last name: ABC requires a first and last name.
-
Address validation issues. (ABC will attempt to validate all address fields if Address Line 1 is filled out, and will reject certain types of information.)
- City has a period in it: ABC does not accept periods in the city field.
- Invalid Zip/Postal code: ABC validates that the ZIP/Postal Code field is valid for the prospect's country.
- Marketing Source has incorrect settings in ABC: Marketing Sources in Club OS are called ‘Campaigns’ in ABC. The Campaign must have a ‘PON’ or ‘PFA’ type selected in ABC in order for Club OS to recognize it. If prospects with a particular marketing source are not syncing, look for this issue. (Marketing Sources are optional.)
-
The following may result in incorrect data being created in ABC:
- No state provided in Club OS: ABC will automatically add a value for the state that may not match the prospect’s actual location.
- Assigned followup person does not match an authorized location: If the salesperson assigned to this prospect belongs to a location that ABC has not authorized, the prospect will be re-sent with no salesperson (the field would be empty)
- ABC sets its own limits on guest activity. Club OS determines the length of a guest pass by setting a start date and number of days in length, but ABC sets its own number for permitted check-ins (the default value is 1), which means that a guest may lose access to the club even if their Club OS guest pass is still active. Default check-in limits must be changed in ABC - they cannot be edited in Club OS.
Club OS System Admin:
See Field Mapping below for more detail.
Clubs with multiple locations can customize the way duplicate accounts are handled. (“Duplicate” accounts contain the same contact information, but are considered separate accounts and will not sync to one another.) The following System Admin settings (under Permissions) determine what happens in Club OS if a new Prospect is added that matches an existing Prospect or Member:
- Create Duplicate Prospect if Matching Prospect Exists at Different Location (Allows/denies a Prospect’s ability to have multiple accounts at multiple locations. Example: a Prospect trying out different locations before making a decision.)
- Create Duplicate Prospect if Matching Inactive Member Exists at Different Location (Allows/denies the ability for a person to have different account types at different locations. Example: a Member who has let their membership lapse at one location and wants to try another location.)
- Create Duplicate Prospect if Matching Active Member Exists at Different Location (Allows/denies the ability for an existing Member to be added as a Prospect at a different location. Example: a member visiting a gym in a different city while on vacation)
View the matching logic documentation to see the process we use to identify a matching account.
Members
Member accounts in Club OS are used to keep up with incoming data from ABC and maintain accurate records of contact information, calendar events, membership agreement status, and follow-up status. Email and text marketing campaigns from Club OS can be targeted to Members.
-
Members should be created/converted in ABC, not Club OS
- If Members are converted from Prospect accounts in Club OS, their status will not update in ABC
-
Club OS pulls from ABC at designated sync times
- Club OS will pull records on all active members during the daily full sync, whether or not they have been modified
- Club OS will pull records on inactive members during the daily full sync if those users have been modified in the past 90 days
- Club OS will also pull records on active and inactive members during the partial sync if those users have been modified since midnight of the current day in the club’s time zone
- For Member Service Agreements, Club OS will get records from the time period 30 days prior to midnight on the day the sync is performed (full sync only), according to the sale date on the Member Service Agreement in ABC
- Club OS will automatically convert an existing Prospect to a Member if it locates a new membership agreement for an account with a matching unique ID
- Club OS will create a new Member account if it receives a member profile from ABC that it cannot match to an existing Prospect in Club OS. Note that these accounts may show up on some reports as new leads. (**This is not the recommended workflow, since it may create duplicates or other discrepancies. It is best practice to avoid creating new profiles in ABC. Instead, make sure Prospects are always created in Club OS to ensure a correct sync.**)
- Club OS System Admin contains a list of ABC membership types. If desired, membership types can be set to “ignored” in Club OS. This means that Club OS will not add new Members or convert existing Prospects with that membership type, and they will not show up as membership purchases on KPIs and reporting. Those users will always have a Prospect status in Club OS even if they show up as members in ABC.
- ABC members are limited to one active membership agreement at a time. Club OS looks for an ID and sign date to determine what should be considered the current agreement. If we do not have an agreement matching the ID and sign date we receive, we create a new agreement in Club OS that will be considered the active agreement.
- If other agreements besides the current membership exist for a member in ABC, they may appear in Club OS but will show as inactive.
- To update Member's demographic information, make all updates in DataTrak and those changes will be reflected in Club OS
- Depending on a location's configuration in Club OS System Admin, a member's email/SMS opt-in values from ABC can be updated in Club OS at the time of their membership conversion (a one-time event; opt-in values are not kept in sync after). The default setting is NOT to override the Club OS opt-in values at time of conversion. Enabling the setting requires that the location is actually collecting SMS and email opt-ins from members at the time the membership contract is signed.
Exceptions/Troubleshooting
-
If Club OS is the primary record owner of the Member profile information, the integration will not update Member demographic information unless it is adding information to blank fields. For example, if a phone number is added to a Member profile in ABC, it will sync as additional information to Club OS; but if an existing phone number is changed in ABC, the updates will not sync to Club OS. Changes (not additions) to contact/demographic information or profile picture must be made manually in Club OS if necessary.
-
If ABC is the primary record owner of the Member profile information, it is not possible to update any Member Personal or Contact information in In Club OS. Employees should edit Members’ contact and demographics fields in ABC only. For example, if an employee would like to edit a Member's name, phone number, address or update the profile picture, they can only do it from ABC as those fields will be disabled in Club OS. The integration will update all contact information and the Member's profile pictire from ABC's data. Employees are only be able to edit the Time Zone of a Member in Club OS.
- Renewals and Rewrites: When a member has a recurring membership agreement, the agreement can be renewed or re-written. A renewal refers to repeating the same agreement at the end of its term; a rewrite refers to making an adjustment to the agreement or terms while it is still active. Some clubs want to count these interactions as sales, others don't. This is an option configured in Club OS at the time of implementation. Club OS displays rewrite and renewal info under Club Info -> Club Services -> Membership Agreements.
- Secondary Memberships: Many billing systems allow agreements to have one person paying for the membership, and "secondary" members that can also use the membership, but are not paying for it. The most common use case is a family where the parent pays and their kids can use the facility. Some clubs want to count secondary members as sales, others don't. This is an option configured in Club OS at the time of implementation.
-
In rare cases (members that were created in Club OS prior to 2016) it is possible for a member with an “inactive” ABC agreement to have an Active Member status in Club OS.
- Once a member has an active agreement, they will remain active in Club OS unless we find one of the following alerts in the Personal section of the member’s data: Cancelled, Expired, Return for collections, Pending Cancel, or Freeze.
- If the alert is not found for any reason (for example, if the account/agreement was created before these alerts were being used), the member will continue to display as active in Club OS. Their status can be manually set to “not interested” in Club OS if necessary.
Club OS System Admin:
See Field Mapping below for more detail.
There is a section in system admin for Membership Types (Lists → Membership Types). Club OS will pull all membership types, whether or not they appear on this list. The only membership types that will not sync are those that appear on the list and are set to ignored.
View the matching logic documentation to see the process we use to identify a matching account.
In the System Admin App, under General -> Global Settings → Data Settings (Reports and Dashboard), Club OS provides the following options for configuring renewals, rewrites, and secondary memberships as they pertain to KPIs and reporting:
- Exclude secondary memberships from new agreement stats (enable/disable this option)
- Count renewals as new agreements (enable/disable this option)
- Count rewrites as new agreements (enable/disable this option)
Employees
Employee accounts in Club OS are used to assign Follow-ups for Members and Prospects. They are also used to create employee availability and assign Event Owners in the Calendar.
-
Employees should be created/updated in ABC, not Club OS
- If employees are created/updated in Club OS, the data will not sync to ABC at all
-
Club OS pulls from ABC at designated sync times and will add new employees if found (the employee profile must contain a First name, Last name, and Department, and the Department must exist on the list in Club OS System Admin).
- If an employee has accounts at multiple locations with the same contact information, the accounts will be consolidated into one account in Club OS.
-
Club OS assigns User Roles based on ABC/Datatrak Departments:
- Salesperson (Club OS) = Employee with multiple Departments, or only one Department that is NOT Front Desk or Trainer (Datatrak)
- Front Desk (Club OS) = Employee’s only Department is Front Desk (ABC/Datatrak)
- Trainer (Club OS) = Employee’s only Department is Trainer (ABC/Datatrak)
-
Club OS updates employee access based on the employee's status in ABC.
- If an employee is made inactive, Club OS access will be revoked.
- If an employee is made active, Club OS access will be restored if it was previously revoked.
- If an employee has access to, or accounts at, multiple locations, their Club OS access will be maintained (un-revoked) as long as they are active at at least one location in ABC.
Exceptions/Troubleshooting
- Once an employee profile has been created in Club OS, no further updates will be made to the profile via the integration. If demographic/contact information is changed in ABC it will need to be manually updated in Club OS as needed.
Club OS System Admin:
See Field Mapping below for more detail.
- To ensure accurate syncing, make sure the list of Departments set in Club OS System Admin (Club -> Lists -> Departments) is an exact match to the employee departments in DataTrak. These fields are case sensitive. Employees without a department matching the list in System Admin will not be added to Club OS.
- Employees will not be synced to Club OS if their Department is not found in Club OS or if they have a Commission Level of 0 in Datatrak. If a club determines that certain employees do not need accounts in Club OS, they can set the Commission Level of those employees to 0 to prevent them from syncing.
Check-Ins
Check-ins in Club OS appear in the Check-in Report if your club has it enabled. They can also be used to send targeted email campaigns and Follow-Ups (for example, based on whether a Member has checked in a certain number of times in the last 30 days).
- Club OS pulls from ABC at designated sync times and will get records from the time period beginning on midnight of the most recent day the location was synced for check-ins
- Check-ins can also validate calendar events
Club OS System Admin:
See Field Mapping below for more detail.
Calendar Events
In most ABC-integrated clubs, ABC is used to manage day-to-day scheduling. For clubs that have PT Follow-Up enabled, certain calendar events are synced to Club OS to determine follow-up status and PT opportunity status. ABC must provide a list of approved events and these must be enabled and matched with corresponding Club OS Event Types in order to sync.
Training Events (PT) and Orientation Events (ORT/FA/FC)
-
Should be created and updated in ABC, not Club OS
- If an event is created in Club OS, it will not sync to ABC
- Club OS pulls from ABC at designated sync times and gets records for events in the previous month, current month, and next month
- Club OS will only add a new calendar event if it can find both the Owner of the event as well as the attending Member of the event
Other Event Types (Appointments, Meetings, etc)
-
Should be created and updated in Club OS, not ABC
- If an event is created in Club OS, it will not sync to ABC
Club OS System Admin:
- Event Types are determined by Event Name in ABC. The club must provide Club OS with a list of events that should be matched to either PT or ORT events. Each ABC event must be matched with a Club OS event type in order to sync.
- Event Types can be enabled or disabled in the System Admin app after they are created.
- Event Types and settings are found in the Event Types tab in System Admin. Default Duration, Attendee Reminder timing, and Missed Event Status can also be set up for each event type.
Marketing Sources
Marketing Sources in Club OS appear on a Prospect’s or Member’s profile and can be used for sending targeted marketing campaigns. They will also appear on certain reports.
- If your club has the 'Sync Marketing Sources' option enabled, Marketing Sources should be created in ABC and will be pushed to Club OS. If your club does not have this option enabled, Marketing Sources should be created in Club OS (My Club -> Location Settings -> Marketing Sources). (If you are not sure whether your club has this option enabled, contact Club OS support.)
- Club OS pulls from ABC at designated sync times
- Marketing sources are called 'Campaigns' in ABC.
- In order for Club OS to successfully post a prospect with a given campaign as its marketing source, the campaign must have a ‘PON’ or ‘PFA’ type selected in ABC.
Club OS System Admin:
- Enable ‘Sync Marketing Sources from ABC’ on Integration -> Setup in System Admin.
- Locate the list of sources under Lists → Marketing Sources. Sources may be enabled, disabled, or removed at any time.
Point of Sale Transactions - One-Time and Recurring Purchases
Product sales are used to configure certain types of Drip Email Campaigns that can be set up in the Marketing section of Club OS.
Service sales are used to help determine Follow-up and PT Opportunity status.
- Created in ABC, not Club OS
- Club OS pulls from ABC at designated sync times
- POS Transactions represent invoices, or bills of sale, that include products and services.
- Products: Products the gym sells on the spot like a water bottle or supplements. Club OS can send targeted Product Drip emails to members who purchase products from the DataTrak POS system.
- Services: Member services like PT, Group Classes and others. This can be a one-time purchase or a recurring payment attached to a service agreement.
Club OS System Admin:
See Field Mapping below for more detail.
To ensure the syncing of marketing sources, enable the option in System Admin. Club OS will only process POS Transactions if they have a Profit Center configured in System Admin.
- Products: To make products available for Product Drip email campaigns, DataTrak products (name and UPC code) must be added to Club OS on the Lists -> Products page.
- Services: In order for data to sync correctly, Profit Centers (under Lists -> Profit Centers) must include PT. The club must also have a Personal Training service set up in the Payroll tab. Profit Center type = PT will allow the units in the POS transaction to be used as sessions on the Club OS calendar.
PT Follow-Up and Opportunity Data
Club OS makes updates to PT Follow-up and PT Opportunity status after receiving certain types of event and sales data from ABC.
- A Member’s Follow-Up status in Club OS will be updated based on whether they have booked/attended an Orientation Event.
- Point of Sale Transactions or Agreements that indicate a PT purchase can change a Member’s Follow-Up status to “PT Active”.
- If a Member has an active Agreement and their Session Balance in ABC falls below a certain threshold, their Follow-Up status in Club OS will change to “PT Opportunity”.
Club OS System Admin:
- The thresholds for determining PT Opportunity and PT Inactive status can be customized in System Admin under General -> Follow-Up Settings.
- Personal Training/Orientation Events will only include event types that are requested from ABC and matched to PT or ORT events in Club OS. (See Calendar Events, above, for more detail.)
- PT Orientations: This data enables Club OS to add ORT/FA/FC events to the calendar, and to update the member's ORT status, which is used to identify PT opportunities. We get the event owner from ABC, but we do not get an event creator (i.e. who made the event). Club OS will use the prospect's currently assigned PTFU person in Club OS as the created-by person (that person will get credit for the ORT made). If the prospect does not have a currently assigned PTFU person, the event owner will be set as the event creator.
ABC/Datatrak Field Mapping
When multiple options are listed, that is the order the system will read them to search for a match. The system will stop searching once it determines that there is a match. If the system cannot find a match, the next step depends on the type of data it is looking for. View the matching logic documentation for more information.
Prospects
Club OS Field | ABC Field |
firstName | personal | firstName |
lastName | personal | lastName |
gender | personal | gender |
dateOfBirth | personal | birthDate |
mobilePhone | personal | mobilePhone |
homePhone | personal | primaryPhone |
workPhone | personal | workPhone |
personal | email | |
address1 | personal | addressLine1 |
city | personal | city |
state | personal | state |
zip | personal | postalCode |
country | personal | country |
notes | note | text |
salespersonSystemId | agreement | salesPersonId |
employer | personal | employer |
barcode | personal | barcode |
guestPassStart | agreement | issueDate |
guestPassStart | agreement | beginDate |
guestPassEnd | agreement | expirationDate |
marketingSourceExternalId userOrigin |
agreement | campaignId |
Members
Club OS Field | ABC Field |
clubSystemId | personal|homeClub |
firstName | personal|firstName |
middleName | personal|middleInitial |
lastName | personal|lastName |
gender | personal|gender |
dateOfBirth | personal|birthDate |
occupation | personal|occupation |
personal|email | |
mobilePhone | personal|mobilePhone |
homePhone | personal|primaryPhone |
workPhone | personal|workPhone |
addressLine1 | personal|addressLine1 |
addressLine2 | personal|addressLine2 |
city | personal|city |
state | personal|state |
zip | personal|postalCode |
marketingSource | agreement|campaignName |
group | personal|group |
barcode | personal|barcode |
createdDateTime | agreement|sinceDate? personal|createTimestamp |
joinDate | agreement|signDate? Club OS createdDateTime |
isProspect | personal|joinStatus = “prospect” |
Membership.systemId | personal|homeClub + agreement|agreementNumber |
Membership.agreementName | agreement|membershipType |
Membership.agreementType | agreement|membershipType |
Membership.isActive | personal|isActive |
Membership.isPrimaryAgreement | agreement|isPrimaryMember |
Membership.isOnlineSignup | agreement|stationLocation |
Membership.entrySource | agreement|agreementEntrySource |
Membership.recurringPayment | agreement|nextDueAmount |
Membership.downPayment | agreement|downPayment |
Membership.pastDueBalance | agreement|pastDueBalance |
Membership.startDate | agreement|beginDate |
Membership.endDate | agreement|expirationDate |
Membership.saleDate | agreement|lastRenewalDate agreement|lastRewriteDate agreement|signDate otherwise agreement | sinceDate |
Membership.isRenewal | agreement|lastRenewalDate |
Membership.isRewrite | agreement|lastRewriteDate |
Membership.isAutoRenew |
agreement|expirationDate agreement|nextDueAmount BREAKagreement|renewalType |
Membership.billingStatus | agreement|currentQueue |
Membership.billingStatusDate | agreement|queueTimestamp |
Membership.alert | personal|memberStatus |
Membership.alertDate | personal|memberStatusDate |
Membership.alertReason | personal|memberStatusReason |
Member Service Agreement
Club OS Field | ABC Field |
salesperson | salesPersonId |
serviceEmployee | serviceEmployeeId |
member | memberId |
unitQty | totalPeriods |
unitPrice | invoiceTotal |
description | serviceItem + “ - “ + recurringTypeDesc |
agreementName | serviceItem |
isAutoRenew | autoRenew |
isActive | recurringServiceStatus |
repeatType | frequency |
saleDate | recurringServiceDates|saleDate |
startDate | recurringServiceDates|firstBillingDate |
endDate | recurringServiceDates|finalBillingDate |
Employees
Club OS Field | ABC Field |
firstName | personal|firstName |
middleName | personal|middleInitial |
lastName | personal|lastName |
dateOfBirth | personal|birthDate |
contact|email | |
mobilePhone | contact|cellPhone |
homePhone | contact|homePhone |
workPhone | contact|workPhone |
addressLine1 | contact|address |
city | contact|city |
state | contact|state |
zip | contact|postalCode |
barcode | barcode |
Check-ins
Club OS Field | ABC Field |
systemClubId | member|homeClub |
checkInTimestamp | checkInTimestamp |
Invoices/POS Transactions
Club OS Field | ABC Field |
systemId | transactionId |
receiptNumber | receiptNumber |
member | memberId |
salesperson | employeeId |
IntInvoiceItem.saleDate | transactionTimestamp |
IntInvoiceItem.systemId | items|item|itemId |
IntInvoiceItem.description | items|item|name |
IntInvoiceItem.upc | items|item|upc |
IntInvoiceItem.unitQty | items|item|quantity |
IntInvoiceItem.unitPrice | items|item|unitPrice |
IntInvoiceItem.packageQty | items|item|packageQuantity |
IntInvoiceItem.subTotal | items|item|subtotal |
IntInvoiceItem.tax | items|item|tax |
IntInvoiceItem.profitCenter | items|item|profitCenter |
IntInvoiceItem.isPaid | items|item|sale |
IntInvoiceItem.systemMemberServiceAgreementId | items|item|recurringServiceId |
Where to get more information and support
- Consult ABC’s documentation
- Submit a ticket to the Club OS support team
Download the diagram using the link below.