Integration Details | Field Mapping | Where to Get More Information
Overview
Integrations with Club OS allow clubs to use their designated member management system to keep track of agreements and billing while taking advantage of Club OS’s marketing and sales capabilities. Club OS uses information from the member management system to update prospect and member statuses that allow clubs to send and track targeted, timely Follow-ups and campaigns.In Motionsoft-Integrated clubs, Club OS is typically used for lead management, follow-ups, and fitness tracking. Motionsoft is used for member management, club access, and reporting.
Download this diagram at the bottom of this article.
Motionsoft must authorize Club OS to access its data. Certain optional settings, and the frequency with which Club OS pulls data from the Motionsoft club, are determined during onboarding. Club OS pulls available data from Motionsoft at designated sync times. Motionsoft data is provided to Club OS in reports called “extracts”. Extracts are documents formatted like spreadsheets - Club OS reads and interprets the extracts, and adds or updates users in Club OS as required.
Club OS System Admin:
For clubs with multiple locations, only one club location should have the real cron set up in System Admin. When that cron runs, data for all locations will sync. Dummy crons should be entered for other club locations. (For clubs using this setup, you may see an unusual-looking cron, like 0 0 0 1 JAN ? 2016, and/or the same cron for multiple locations.)
Extracts: Extracts are how Motionsoft sends its data. Motionsoft customers use one of three available versions ( the 2.x, 2.5.x, or 3.x) of the extracts. This is determined during setup and set in the System Admin app in the Integration tab at the club (not location) level.
Certain aspects of system functionality depend on the extract version used by the club. Clubs only use one version of the extracts for all of their Motionsoft data. (In other words, it would not be possible for a club to use 2.x for their member agreements but 3.x for their employees.). If you are not sure which extract version your club uses, please reach out to our support team.
Most current Club OS/Motionsoft integrations only reflect data received after the integration was put in place. For example, users who were members before the integration was set up were not pulled into Club OS as Members, but users who purchased a membership after the integration was set up will have a Member account in Club OS.
Club OS will typically not make changes to basic user profile data (contact and personal information) based on new Motionsoft extracts, except in the case of null (empty) fields, where we will add new information if it becomes available. For example, if a user’s cellphone number is updated in Motionsoft, we will only add it if we do not have a cellphone number on file for that user. Otherwise, we ignore the changes made on their end.
Read on for more details on how data is synced and interpreted. If this document doesn’t answer your questions, you can:
- Consult Motionsoft's documentation
- Submit a ticket to the Club OS support team
Motionsoft 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 Motionsoft 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 and Guest Passes | Members | Membership Agreements | Employees | Check-ins | Calendar Events
Prospects and Guest Passes
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
- In most cases Prospects should be created in Club OS, not Motionsoft. We post prospects to Motionsoft in real time via API.
-
Club OS pushes Prospect data to Motionsoft:
- When a Prospect is added or updated in Club OS
- When a Guest Pass is added or changed in Club OS
- Motionsoft does not technically recognize a separate Prospect user type -- instead, it categorizes these users as Members with a special “non-member” status.
- If an existing Prospect or Member is re-entered with a new location in Club OS, this results in either an updated or new Prospect for that location in Motionsoft, depending on certain implementation settings on the Club OS side. (The updated information could be obtained when the Prospect or Member fills out a DGW, web lead form, or referral form.)
- At some clubs, Prospects can be created in Motionsoft and pushed to Club OS when they are created or purchase a Trial Membership through Motionsoft. Specific keywords attached to the agreement will enable Club OS to recognize it as a Trial Membership (Guest Pass) belonging to a Prospect. (These keywords are hard coded and customized for specific clubs.) If the user does not already exist in Club OS, they will be added as a Prospect and the Trial Membership will show as a Guest Pass.
Guest Passes
Guest Passes can be created either in Motionsoft or Club OS, depending on the Club’s workflow and configuration in Club OS.
- Trial Memberships created in Motionsoft and synced to Club OS (Configuration only available by request, does not affect all clubs). If your club has requested and implemented this configuration: Motionsoft does not have the concept of a free Guest Pass. Instead, we interpret specific types of (paid) Trial Memberships from them as Guest Passes. This is done by recognizing specific keywords (such as “Web Trial”, “Guest”, or “Tryout”) in the name. If a recognized Trial Membership is created in Motionsoft, it will sync to Club OS as a Guest Pass. In most cases, the end/expiration date of the Trial Membership is used to set the Guest Pass length in Club OS. If the Trial Membership is missing an end/expiration date for any reason (this is not common), Club OS will use the default Guest Pass length set in System Admin. The end/expiration date from Motionsoft is honored by default; the Club OS Guest Pass length will only be used if the date from Motionsoft is missing.
- Guest Passes created in Club OS and synced to Motionsoft (Configuration only available by request, does not affect all clubs): Guest Passes can be created directly in Club OS on the Prospect’s profile. If your club has requested and implemented this configuration, they will sync to Motionsoft as Trial Memberships. If a Club has different lengths for different types of Trial Memberships, staff must select the appropriate Guest Pass length in Club OS to create the desired Trial Membership in Motionsoft. A Club's maximum guest pass length is set in Club OS System Admin, but can be overridden by selecting a shorter length when assigning a Guest Pass to a Prospect.
Exceptions/Troubleshooting
- Email is a required field in Motionsoft, but not in Club OS. If no email address is provided by Club OS, Motionsoft may add a dummy email to Prospects it receives. This is passed back to Club OS and added to the user’s profile.
- Address fields are required in Motionsoft, but not in Club OS. If a Prospect is created in Club OS without an address, they will be sent to Motionsoft with those fields blank. If the Prospect account with blank address fields is opened in Motionsoft, the user must fill out those fields in order to exit out of the profile. (If the user address is not available, some clubs will enter their own address as a workaround.)
See Field Mapping below for more detail.
Set the Club's maximum guest pass length in New Prospect/Guest Settings under General --> Global Settings. To configure Guest Passes created in Club OS to be created as Trial Memberships in Motionsoft, submit an Ops ticket with the following information: (1) Trial Agreement ID, (2) Bundle ID(s), and (3) Mapping from available Club OS Guest Pass durations to the available Bundle ID(s). See JIRAs OS-10681 and OS-10877 for examples.
In a guest pass sent to Club OS from Motionsoft, if the agreement from Motionsoft is longer than the default settings in Club OS System Admin we will use the end date in the extract. If no end date appears in the extract, we will use the maximum guest pass length from the admin app.
Motionsoft must assign numbers to specific types of demographic information and provide those numbers to Club OS. The numbers must then be entered in System Admin (Integration → Motionsoft Credentials) to allow that data type to sync:
- Phone Type Mobile
- Phone Type Home
- Phone Type Work
- Email Type Personal
- Address Type Home
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 Motionsoft and maintain accurate records of contact information and membership agreement status, and follow-up status. Email and text marketing campaigns from Club OS can be targeted to Members.
In most current Motionsoft/Club OS integrations, the Member accounts only reflect users who purchased a membership after the integration was put in place. If desired, Club OS can run a one-time process to import pre-existing members with the limited data available for them in the Motionsoft extracts.
- Members are created/converted in Motionsoft, not Club OS.
- Only member profile and agreement information will sync to Club OS.
- Club OS will convert existing Prospects to Members if Motionsoft posts data on a new Agreement purchased by the current Prospect
- If Motionsoft posts data for members with new Agreements in Motionsoft and those users do not have existing Prospect accounts in Club OS, Club OS will create new member accounts.
- In order to identify a Member to sync to Club OS, the user/profile must appear on both the ‘MemberAgreementSales” and “MemberExtract_Active” extracts from Motionsoft received at the same time
-
3.x Only
-
Opt-in/Opt-Out preferences: Motionsoft provides contact preferences for “Email Opt Out” and “Text Message OK”.
- When a new member is added from Motionsoft or an existing prospect account is converted to a member from Motionsoft: Club OS will use the opt out data provided in the Motionsoft record, opting them in or out of email/SMS depending on the user's data.
- When a member's agreement is updated (see Membership Agreements below), we will opt them out in Club OS if they are opted out in MoSo.
-
Opt-in/Opt-Out preferences: Motionsoft provides contact preferences for “Email Opt Out” and “Text Message OK”.
*Clubs only use one version of the extracts for all of their Motionsoft data. (In other words, it would not be possible for a club to use 2.x for their member agreements but 3.x for their employees.). If you are not sure which extract version your club uses, please reach out to our support team.
Exceptions/Troubleshooting
- Member Agreements and Guest Passes from Motionsoft are found in the “MemberAgreementSales” extract. Agreement data will only update a Member account if that user is also present in the “MemberExtract_Active” extract*.
- *For specific clubs, Club OS may also pull guest passes from the agreement extract even if the member does not appear in the member extract.
- Email and mailing address will only sync to Club OS if their type is “Home” or “Personal” in Motionsoft
- When valid phone numbers are received from Motionsoft, Club OS assigns them to the home, work, or mobile phone field depending on Club OS system admin settings
- Motionsoft uses a placeholder “1111111111” in the Phone Number field for accounts that do not have one. This will be synced back into that member’s Club OS account.
Membership Agreements
Club OS uses sales data from Motionsoft’s “MemberAgreementSales” extract to determine the status of new and existing members. Member Agreement data from Motionsoft is used to convert Prospects into Members in Club OS. If there have been changes to the user’s demographic information, that information will also be updated when the user converts.
For clubs using the 3.x version, agreement data is also used to update existing member accounts (in certain cases), and to create new Prospect accounts for users who have purchased a trial membership.
In 3.x systems, changes to Member Agreement data in Motionsoft will also be used to add new agreements or update existing agreements in Club OS (such as updating an expiration/cancellation date or adding a freeze), and will change member follow-up status as appropriate. Member communication preferences can also be added to Club OS based on email and text opt-in/out selections in Motionsoft.
In clubs using the 3.x extracts:
-
Membership Agreements: If Motionsoft has agreed to provide data on both new agreements and any changes to existing agreements in the “MemberAgreementSales” extract (this must be requested), it can be used to update agreement information and member status in Club OS.
- Cancellation date trumps expiration date -- for example, if there is an expiration date two months from today and a cancel date one month from today, we will use the cancel date and set the agreement to Pending Cancel.
- Cancel Date: When this is provided, the member will move into the Member-Pending Cancel follow-up status. Once the cancel date has passed, the Inactive-Canceled follow-up status will be assigned.
- Expiration Date: When this is provided, the agreement/member will remain active but the date will be recorded in Club OS and the member will move into the Member-Agreement Ending status if the club uses that status. Once the expiration (end) date has passed, the Inactive-Canceled follow-up status will be assigned.
- Freeze Date: When this is provided, it will move the Member and their Agreement into a Freeze status.
- Opt-in/Opt-Out Preferences: If a member is currently opted in to email and/or text communication in Club OS, but we get a new agreement from Motionsoft indicating they are opted out, we will opt them out in Club OS.
Updating Agreements for Clubs using 3.x Extracts:
If Motionsoft sends us... |
We map to the agreement alert... |
cancelled |
canceled |
terminated |
canceled |
expired |
expired |
depleted |
expired |
delinquent |
collections |
freeze |
freeze |
hold |
freeze |
Exceptions/Troubleshooting
- Member Agreements and Guest Passes from Motionsoft are found in the “MemberAgreementSales” extract. Agreement data will only update a Member account if that user is also present in the “MemberExtract_Active” extract.
- There is an optional setting in Club OS System Admin allowing the Member-Agreement Ending Status to be triggered if an agreement’s end date falls within a selected date threshold set in Club OS. This is an optional feature that allows clubs to target marketing and communications to members whose agreements will be ending soon. If set, this status will only appear if the end date is within a specified date range. (For example, if an agreement’s end date is 100 days in the future and the threshold is 30 days, the member status won’t change to Agreement Ending until they are within 30 days of their end date.)
- The Agreement Sale Date in Club OS may or may not match the Sale Date in Motionsoft depending on the Motionsoft extract version the club uses for all its data*
- For 2.5.x, 2.x and some 3.x clubs: Club OS will set the Agreement Sale Date as the date the file was posted by Motionsoft.
- For some 3.x clubs: Club OS will set the Agreement Sale Date to match its Start Date.
*Clubs only use one version of the extracts for all of their Motionsoft data. (In other words, it would not be possible for a club to use 2.x for their member agreements but 3.x for their employees.). If you are not sure which extract version your club uses, please reach out to our support team.
Club OS System Admin:
See Field Mapping below for more detail.
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 can also be used to schedule employee availability and assign Event Owners in the Calendar.
- In most cases, Employee accounts should be created in Motionsoft, not Club OS. They will be synced to Club OS under specific circumstances depending on the extract version and other settings.
- Once an employee account is created in Club OS, no further updates will be made based on profile or contact information changes in Motionsoft -- employee profile or contact information must be changed manually in Club OS if needed.
2.x, 2.5 Extracts and 3.x Extract* Without Work Roles Feature Enabled:
- Only employees who have made a membership sale in Motionsoft will be synced to Club OS. This does not include Motionsoft “trial memberships”.
- Upon making the sale, the employee’s data will be synced, and further updates will not be made to that Employee account in Club OS. If their profile or contact information changes in Motionsoft, those changes will not sync to Club OS.
- Employees will be assigned the Salesperson role in Club OS.
3.x Extract* with Work Roles Feature Enabled
Certain clubs use a special feature to enable mapping of work roles from Motionsoft to Club OS so that four Motionsoft employee types (Regional Corporate, General Manager, Manager, Membership Consultant) can be matched to selected Club OS user roles. Once the employee’s account is created in Club OS, no further updates are made based on profile or contact information changes in Motionsoft. Club OS will update role and/or location as needed.
Club OS takes the following steps to sync these employee accounts. Steps are conducted in the order below. If employees do not meet the matching requirements at any step, they will be eliminated from further steps and will not sync to Club OS.
- Club OS looks at the “Grant Access” column in the employee extract from Motionsoft.
- If the value is “true”, the employee will be synced if their account meets other conditions.
- If the value is blank or “false”, the system searches for that employee in Club OS. If their account exists, it will be deleted. If their account does not exist, nothing happens (that employee will not be synced).
- Club OS looks for the employee’s assigned Motionsoft location (Location ID). If the employee’s location does not already exist (have a corresponding Location ID) in Club OS, that employee will not be synced.
- Club OS checks to see if the employee’s Motionsoft Work Role is matched to a Club OS user role in our System Admin settings for that location. If not, that employee will not be synced. Only employees that meet all the above requirements will be assigned a club location and Club OS user role.
- Next, we check to see if the user already exists in Club OS. If they have an existing account but no longer have access to any valid locations and/or no longer have a valid work role, we delete them from Club OS. If the new extract shows that the employee no longer has a valid record for a location that is currently accessible in Club OS, we will remove their access to that location.
- If the user does not already exist in Club OS and meets the above requirements, an account will be created.
- Some employees have access to more than one location based on the data we receive. Employees are assigned a default location based on the first location record processed by Club OS.
- If an employee has multiple roles in Motionsoft that meet our criteria for syncing, they will be assigned the Club OS role with the highest permission settings.
- Employees in 3.x extracts can be passed with the location “Enterprise”. For clubs with work roles enabled, the “Enterprise” location is ignored and the employee will instead be assigned to another location that they have valid access to, according to the process above.
- If the employee is not assigned to any locations other than Enterprise, if their access to a valid location is revoked under “Grant Access”, or if they no longer have a valid work role at a valid location, they will be deleted from Club OS.
- Once an employee is assigned a default location in Club OS, they should update their location (as needed) in Club OS, not Motionsoft.
Exceptions/Troubleshooting
- Duplicate Logic: In an attempt to prevent potential duplicate accounts, Club OS will inspect the synced employee's data to verify that there is no existing Club OS account containing identical info.
- After confirming that the record is valid and has all required fields, Club OS will seek to match the employee's Billing Provider ID to an existing Club OS account.
- If no match exists, Club OS will search for First name, Last Name, Email Address, and Phone Number. If at least three of these four values match, it is considered a duplicate.
- If Club OS does not identify a match at any of these steps, it will create a new Employee account.
*Clubs only use one version of the extracts for all of their Motionsoft data. (In other words, it would not be possible for a club to use 2.x for their member agreements but 3.x for their employees.). If you are not sure which extract version your club uses, please reach out to our support team.
Club OS System Admin:
See Field Mapping below for more detail.
- For clubs without Work Roles enabled, only employees who have sold an agreement of a type not set to “Ignored” in System Admin will be synced to Club OS. This can be found/edited under Lists → Membership Types in the System Admin app.
-
For clubs with Work Roles enabled, sync work roles at the location level in the admin app under Integration → Jobs. ‘Sync Work Roles’ must be checked and Work Roles must be mapped accordingly in order for this to function. For first time setup, follow these steps:
- Check the Sync Work Roles box and save.
- Once the setting is enabled and saved, a hardcoded list of work roles from Motionsoft will display next to a corresponding drop down menu with Club OS employee role types.
- For each Motionsoft work role, select a Club OS role and check the “enable” checkbox, then click “Save”. A Club OS role must be selected for each enabled work role in order for the form to be saved.
Check-Ins
Club OS does not sync check-in information from Motionsoft.
Calendar Events
Motionsoft-integrated clubs can use the Club OS calendar to schedule and modify staff availability and sales events. This helps ensure that the appropriate staff are assigned to sales events and Follow-Ups.
This information will not sync to Motionsoft.
Motionsoft 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
In most cases, Prospects are pushed to Motionsoft from Club OS via API.
In some cases, Club OS will create prospect accounts from Motionsoft based on trial membership purchases or kiosk entries. Note that Motionsoft does not have the concept of a separate Prospect account, but will instead list these users under Members with specific settings.
Club OS Field | Motionsoft Field | Notes |
roleState | Always set to "Prospect" by Club OS | |
status | Always set to "Prospect" by Club OS | |
clubSystemId | Location.code | |
externalSystemId | roleId | |
firstName | partyCharacteristic | partyCharacteristic type is set to "First Name" and partyCharacteristic value is set to firstName |
lastName | partyCharacteristic | partyCharacteristic type is set to "Last Name" and partyCharacteristic value is set to lastName |
gender | partyCharacteristic | partyCharacteristic type is set to "Gender" and partyCharacteristic value is set to gender; If gender doesn't exist in Club OS it is set to "Male" |
dateOfBirth | partyCharacteristic | partyCharacteristic type is set to "Date of Birth" and partyCharacteristic value is set to dateOfBirth; If dateOfBirth doesn't exist in Club OS it is set to "01/01/1900" |
partyCharacteristic | A partyCharacteristic of type "Emergency Contact" and a partyCharacteristic of type "Emergency Phone" are set on Motionsoft prospects with empty values as these are required in Motionsoft | |
occupation | partyCharacteristic | partyCharacteristic type is set to "Occupation" and partyCharacteristic value is set to occupation |
addressLine1 | AddressInformation.address1 | AddressInformation.type is always set to "Home" |
addressLine2 | AddressInformation.address2 | AddressInformation.type is always set to "Home" |
city | AddressInformation.city | AddressInformation.type is always set to "Home" |
state | AddressInformation.stateCode | AddressInformation.type is always set to "Home" |
zip | AddressInformation.postalCode | AddressInformation.type is always set to "Home" |
country | AddressInformation.countryCode | AddressInformation.type is always set to "Home" |
emailAddress | EmailInformation.emailAddress | EmailInformation.type is always set to "Personal"; If no emailAddress is available it is set to "no_email_address@club-os.com" as it is a required field in Motionsoft |
mobilePhone | phoneInformation | phoneInformation phoneNumber is set to mobilePhone; phoneInformation country code is set to "1" by default, unless country is Canada then it is set to "2"; phoneInformation typeId is set to "3"; phoneInformation getIsOptOutSms is set to true if Club OS field textMessageOk is false and vice versa |
homePhone | phoneInformation | phoneInformation phoneNumber is set to homePhone; (A placeholder of "1111111111" is set to homePhone if it doesn't exist in Club OS as this is a required field in Motionsoft); phoneInformation country code is set to "1" by default, unless country is Canada then it is set to "2"; phoneInformation typeId is set to "1" |
workPhone | phoneInformation | phoneInformation phoneNumber is set to workPhone; phoneInformation country code is set to "1" by default, unless country is Canada then it is set to "2"; phoneInformation typeId is set to "2" |
smsOptOut | textMessageOk |
smsOptOut = true, then textMessageOk = false smsOptOut = false, then textMessageOk = true |
emailOptOut | [none] |
We are not currently able to set email opt out in Motionsoft |
Members
Members must appear on both the “MemberAgreementSales” and “MemberExtract_Active” extracts from Motionsoft received at the same time in order to sync to Club OS. (Because the MemberAgreementSales extract contains limited member demographic information, the MemberExtract is read to check for additional information that should be changed or updated on the Member account in Club OS..
This is used to add new member accounts or update a member's personal or contact information if new data is found that does not exist in Club OS.
Club OS Field | Motionsoft Field | Notes | Motionsoft Extract |
externalSystemId | memberId | Both | |
clubSystemId | homeClub | MemberExtract_Active | |
barcode | barcode | MemberExtract_Active | |
firstName | firstName | Both | |
lastName | lastName | Both | |
gender | gender | MemberExtract_Active | |
dateOfBirth | dateOfBirth | MemberExtract_Active | |
isWebLead | memberLeadSource | isWebLead is true if memberLeadSource is "Online", "Internet", or "Web. (This field is only used to determine if the source is a web lead; it is ignored otherwise.) | MemberExtract_Active |
createdDatetime | recordCreateDate | MemberExtract_Active | |
joinDate | recordCreateDate | MemberExtract_Active | |
mobilePhone, homePhone, workPhone | Motionsoft passes three phone numbers with types: If type is "Mobile" or "Cell", mobilePhone is set; If type is "Home" or "Personal" homePhone is set; Otherwise workPhone is set; A member from Motionsoft can have any number or all phone types | MemberExtract_Active | |
addressLine1 | address1 | Address type from Motionsoft must be "Home" or "Personal" | MemberExtract_Active |
addressLine2 | address2 | Address type from Motionsoft must be "Home" or "Personal" | MemberExtract_Active |
city | city | Address type from Motionsoft must be "Home" or "Personal" | MemberExtract_Active |
state | stateCode | Address type from Motionsoft must be "Home" or "Personal" | MemberExtract_Active |
zip | zip | Address type from Motionsoft must be "Home" or "Personal" | MemberExtract_Active |
country | countryCode | Address type from Motionsoft must be "Home" or "Personal" | MemberExtract_Active |
Email type from Motionsoft must be "Home" or "Personal" | MemberExtract_Active | ||
smsOptOut | textMessageOk |
smsOptOut = true, then textMessageOk = false smsOptOut = false, then textMessageOk = true |
MemberExtract_Active |
emailOptOut | emailOptOut |
emailOptOut = true, then emailOptOut = true emailOptOut = false, then emailOptOut = false See notes above; only when adding a new member would a user be opted in based on MoSo data. |
MemberExtract_Active |
Member Agreement
Member Agreement data is sent from Motionsoft in the MemberAgreementSales extract. In clubs using the 2.5x and 3.x extracts, the user/profile must appear on both the ‘MemberAgreementSales” and “MemberExtract_Active” extracts from Motionsoft received at the same time in order to sync to Club OS.
Club OS Field | Motionsoft Field | Notes | Motionsoft Extract |
systemId | memberAgreementId | MemberAgreementSales | |
agreementName | agreement | MemberAgreementSales | |
agreementType | bundleName | MemberAgreementSales | |
isActive | agreementStatus | If agreementStatus is "Active" or "Pending Start" isActive is true; Otherwise isActive is false | MemberAgreementSales |
alert | cancelDate | If cancelDate exists alert is Canceled | MemberAgreementSales |
Alert.reason | cancelReason | If cancelDate exists and cancelReason exists, alert is set to Canceled; and Alert.reason is set to cancelReason | MemberAgreementSales |
isPrimaryAgreement | n/a | Always set to true | Not a field on the Motionsoft extract. Any agreement from Motionsoft that meets Club OS’s other rules for syncing will be set as “isPrimaryAgreement” in Club OS |
downPayment | totalInvoiceAmount | MemberAgreementSales | |
recurringPayment | nextInvoiceAmount | Only used by 3.x customers (not applicable for 2.x extracts) | MemberAgreementSales |
startDate | startDate | MemberAgreementSales | |
saleDate | startDate | Selected clubs only | MemberAgreementSales |
endDate | cancelDate or expirationDate | If cancelDate exists endDate is set to cancelDate; Otherwise endDate is set to expirationDate | MemberAgreementSales |
isAutoRenew | expirationDate | If expirationDate exists isAutoRenew is set to false; Otherwise isAutoRenew is set to true | MemberAgreementSales |
Employees (Work Roles Not Enabled)
For clubs not using the Work Roles feature, Employees are only added when they are sent as the salesperson on an agreement. Club OS looks for the SalesPersonID on the MemberAgreementSales extract and looks for a matching number in roleID on the Employees extract. If there is a match, Club OS adds employee information via API.
Club OS Field | Motionsoft Field | Notes |
externalSystemId | roleId | salesPersonID is first taken from Motionsoft member which is then used to get employee information from Motionsoft. (Only employees who are listed as the salesperson on an agreement will be added to Club OS.) |
clubSystemId | Location.code | |
firstName | name | Split name into two strings on "," then trim leading and trailing whitespaces |
lastName | name | Split name into two strings on "," then trim leading and trailing whitespaces |
gender | characteristics | Characteristic type name equals ignoring case "gender"; If "female" or "F" ignoring case, ClubOS gender is "F"; Otherwise ClubOS gender will default to "M" |
dateOfBirth | characteristics | Characteristic type name equals ignoring case "date of birth" |
occupation | characteristics | Characteristic type name equals ignoring case "occupation" |
emailAddresses | EmailInformation type equals ignoring case "personal" | |
mobilePhone | phoneNumbers | PhoneInformation type equals ignoring case "mobile", "cell", or "personal" |
homePhone | phoneNumbers | PhoneInformation type equals ignoring case "home" |
workPhone | phoneNumbers | PhoneInformation type equals ignoring case "business" |
addressLine1 | address1 | AddressInformation type equals ignoring case "home" or "personal" |
addressLine2 | address2 | AddressInformation type equals ignoring case "home" or "personal" |
city | city | AddressInformation type equals ignoring case "home" or "personal" |
state | stateCode | AddressInformation type equals ignoring case "home" or "personal" |
zip | postalCode | AddressInformation type equals ignoring case "home" or "personal" |
country | countryCode | AddressInformation type equals ignoring case "home" or "personal" |
Employees (Work Roles Enabled)
Sent from Motionsoft in the Employees extract. Club OS processes the data once per 24 hour period using the Employees extract and the BusinessUnit extract (used to map employees to the appropriate location(s)).
Club OS maps the EmployeeWorkRoleLocationID in the Motionsoft Employee extract to the BusinessUnitId in the Motionsoft Business Unit extract, and then map that BusinessUnitId to the BusinessUnitCode (also in the BusinessUnit extract). The BusinessUnitCode is the external location ID that gets mapped to the Club OS location ID.
Add Employee
Club OS Field | Motionsoft Field | Notes |
EXTERNAL_SYSTEM_ID.ID |
roleId | |
TFO_USER.FIRST_NAME |
firstName | |
TFO_USER.LAST_NAME |
lastName | |
TFO_USER.CREATED_DATE |
createdDate | |
TFO_USER.ROLE_ID | employeeWorkRole | If the value in this Motionsoft field is “Enterprise”, we ignore the record. A new employee will only be added if they have another valid location. If the only location for the employee is Enterprise, they will not be added to Club OS (and will be deleted if they already exist). |
TFO_USER.EMAIL | emailAddress | |
TFO_USER.CLUB_LOCATION_ID/ RESTRICTED_LOCATIONS | employeeWorkRoleLocationId | |
Not a Club OS field, but used for verification | grantAccess | We look at this field to determine whether or not to sync the record. If the Grant Access flag is not checked in Motionsoft, we skip the record in the extract and do not create an account in Club OS. We also check to see whether that user has any other valid records in the extract (where grant access = true and all other syncing criteria are met) and, if not, we delete them from Club OS. |
Update Existing Employee
Club OS Field | Motionsoft Field | Notes |
EXTERNAL_SYSTEM_ID.ID | roleId | This is found in Club OS System Admin at the location level (Integration -> Jobs under Work Roles). |
TFO_USER.ROLE_ID | employeeWorkRole | We update this field if the employee's default work role has changed to another role that we map. |
TFO_USER.CLUB_LOCATION_ID/ RESTRICTED_LOCATIONS | employeeWorkRoleLocationId | We update this field if the employee’s location access has changed. |
Not a Club OS field, but used for verification | grantAccess |
We look at this field to determine whether or not to sync the record. If the Grant Access flag is not checked in Motionsoft, we skip the record in the extract and do not create an account in Club OS. If the Grant Access field is checked, we check to confirm that the user has other valid records in the extract and has access to a valid (non-Enterprise) location. If they do not, we do not create a new account for them, and we delete them from Club OS if they already exist. |
Where to get more information and support
- Consult Motionsoft's documentation
- Submit a ticket to the Club OS support team
Download the diagram using the link below.