How can we help?

    Integration Workflows: ABC DataTrak

    Follow

    What is DataTrak?

    DataTrak is the club management and membership billing system created by ABC Financial, a billing and software development company. The majority of Club OS locations use ABC Financial as their membership management provider, primarily the billing, check-in, and calendar services. 

    Goal of the Integration

    Customers using ABC Financial as their billing provider can use Club OS for Lead Management and PT Sales, and Fitness Tracking. They intend to continue using DataTrak for selling memberships, managing club access, and running reports related to that data.

    Integration Workflow

    Charts and tables contained within this article will aid in both visualizing and comprehending the ABC/Club OS integration process.

    DiagramABC DataTrak.png


    Explanation
    :

    ABC DataTrak syncs the following features to Club OS (ABC > Club OS):

    • Members
      • Note: Members do not not sync in real time. 
    • Profile Photos (Ex. Members, Employees)
    • Membership Agreements
    • Employees
    • Check-Ins
    • Point of Sale (POS) Transactions (Ex. Purchases, Invoices)
    • Recurring Service Agreements
    • Calendar Events (Ex. Orientations, Personal Training)
      • Note: This data is delivered via CSV/Email.
    • Opportunity Data (Ex. PT units left per Member)
    • Marketing Sources
      • Note: This feature is optional.

    Meanwhile, Club OS syncs the following features to ABC DataTrak (Club OS > ABC):

    • Prospects
      • Note: This data is delivered via API.

    DataTrak Integration Details

    A. Members (Including Profile Photo and Membership Agreement)

    • Club OS pulls from DataTrak at each sync time

    B. Employees (Including Profile Photo)

    • Club OS pulls from DataTrak at each sync time

    C. Prospects

    • Club OS pushes to DataTrak when a prospect is added or updated

    Adding new and updating Guest Pass dates will push those changes to DataTrak and directly affect guest pass functions. If a prospect's location changes, Club OS will send a new record for the new location. Prospects will be sent with the very first note that was saved. No additional notes will be sent.

    Note that ABC has some different rules than Club OS does for adding prospects to their system, so some prospects created in Club OS will fail to be pushed to ABC. These cases would be:

    • No first or last name: ABC requires a first and last name.
    • The prospect's city has a period in it: ABC does not accept periods in the city field.

    D. Check-Ins

    • Club OS pulls from DataTrak hourly

    E. Point of Sale Transactions

    • Club OS pulls from DataTrak hourly

    POS Transactions represent invoices, or bills of sale, from the DataTrak system. POS Transactions include products the gym sells on the spot like a water bottle or supplements. They are also generated from recurring service agreements being billed. Those POS Transactions will contain member services like PT, Group Classes and others.

    Club OS will only process POS Transactions if they have a Profit Center configured within Club OS.

    Club OS can send product drip emails to members who purchase products from the DataTrak POS system. To enable product drip emails, DataTrak products (name and UPC code) must be added to Club OS on the Lists -> Products page. They will then be accessible to send in email campaigns.

    F. Recurring Services

    • Club OS pulls from DataTrak hourly

    Recurring Services are very similar to a Club OS PT Billing Agreement. They are services that are billed automatically on a regular basis. Most often, these are PT or Group Class type services.

    G. Calendar Events

    • Club OS pulls from DataTrak between 2 and 4 times per day

    Calendar Event is pulled via csv file from the DataTrak reporting system. Orientation and Personal Training event types are sent in 2 separate files. The types are determined by event name in DataTrak. Club OS must send ABC Financial a list of event types that fall into each category in order for the reports to be configured correctly. Calendar Events can only be added when Club OS can find both the Owner of the event (using an exact first and last name match) as well as the attending Member or Prospect of the event (found by agreement number or email)

    H. Opportunity Data

    • Club OS pulls from DataTrak between 2 and 4 times per day

    This data serves a single purpose, to enable the PT Opportunity Follow-Up status. ABC clubs that use DataTrak for booking PT set up an opportunity level. The report we are sent shows the remaining number of sessions for the PT event types that are configured in the Calendar Event sync setup.

    I. Marketing Sources

    • Club OS pulls from DataTrak hourly
    • Marketing sources are called 'Campaigns' in DataTrak.
    • If a source pulled from DataTrak does not exist in Club OS. it will be added and enabled.
    • If a source exists in Club OS, is not found in DataTrak, the source will be set to disabled in Club OS.
    • If a source exists in Club OS and is set to disabled, and the source is pulled from DataTrak, Club OS will re-enable that source.
    • In order for Club OS to successfully post a prospect with a given campaign, the campaign must have a type selected in DataTrak. Furthermore, the type must be ‘PON’ or ‘PFA’.

    Sync Frequency



    Translations

    Lastly, presented below is a raw representation of the data that gets passed from Club OS to ABC DataTrak and vice versa. If any assistance is needed in translating this data, feel free to reach out to Club OS’ support for clarification. Click each link to jump ahead to its corresponding table.

    From ABC DataTrak:

    MemberEmployeeMember Service Agreement

    InvoiceCheck-In

    To ABC DataTrak:

    Prospect

     

    A. Translation from ABC Member

    Club OS Field

    ABC Field

    Notes

    clubSystemId

    homeClub

     

    firstName

    Personal.firstName

     

    middleName

    Personal.middleInitial

     

    lastName

    Personal.lastName

     

    gender

    Personal.gender

     

    dateOfBirth

    Personal.BirthDate

     

    occupation

    Personal.occupation

     

    email

    Contact.email

     

    mobilePhone

    Contact.cellPhone

     

    homePhone

    Contact.homePhone

     

    workPhone

    Contact.workPhone

     

    addressLine1

    Contact.address

     

    city

    Contact.city

     

    state

    Contact.state

     

    zip

    Contact.zip

     

    marketingSource

    Membership.campaign

     

    group

    group

     

    barcode

    barcode

     

    createdDateTime

    Agreement.Dates.contract if not empty

    Membership.createTimestamp otherwise

     

    joinDate

    Agreement.Dates.sign if not empty

    Club OS createdDateTime otherwise

     

    isProspect

    Agreement.number

    If Agreement.number contains "PROSP"

    Membership.systemId

    Agreement.number

     

    Membership.agreementName

    Membership.type

     

    Membership.agreementType

    Membership.type

     

    Membership.isActive

    Status.active

     

    Membership.isPrimaryAgreement

    Agreement.primaryMember

     

    Membership.isOnlineSignup

    Agreement.stationName

    If Agreement.stationName is "Home"

    Membership.entrySource

    Agreement.EntrySource.name

     

    Membership.recurringPayment

    Agreement.Payment.dues

     

    Membership.downPayment

    Agreement.Payment.downPayment

     

    Membership.pastDueBalance

    Agreement.Payment.pastDueBalance

     

    Membership.startDate

    Agreement.Dates.effective

     

    Membership.endDate

    Agreement.Dates.expiration

     

    Membership.saleDate

    Agreement.Dates.lastRenewal if not empty

    Agreement.Dates.lastRewrite otherwise if not empty

    Agreement.Dates.sign otherwise

     

    Membership.isRenewal

    Agreement.Dates.lastRenewal if not empty

     

    Membership.isRewrite

    Agreement.Dates.lastRewrite if not empty

     

    Membership.isAutoRenew

    true if Agreement.Dates.expiration is empty and Agreement.Payment.dues is not empty and is greater than zero

    true if Agreement.renewalType is not empty and contains "Auto"

     

    Membership.billingStatus

    Agreement.Queue.name if not empty

     

    Membership.billingStatusDate

    Agreement.Queue.entryDate if Agreement.Queue.Name is not empty

     

    Membership.alert

    Status.alert if not empty

     

    Membership.alertDate

    Status.alertDate if Status.alert is not empty

     

    Membership.alertReason

    Status.alertReason if Status.alert is not empty

     

     

    B. Translation from ABC Employee

    Club OS Field

    ABC Field

    Notes

    firstName

    Personal.firstName

     

    middleName

    Personal.middleInitial

     

    lastName

    Personal.lastName

     

    dateOfBirth

    birthDate

     

    email

    Contact.email

     

    mobilePhone

    Contact.cellPhone

     

    homePhone

    Contact.homePhone

     

    workPhone

    Contact.workPhone

     

    addressLine1

    Contact.address

     

    city

    city

     

    state

    state

     

    zip

    zip

     

    barcode

    barcode

     

     

    C. Translation from ABC Member Service Agreement

    Club OS Field

    ABC Field

    Notes

    salesperson

    salesperson

     

    serviceEmployee

    serviceEmployee

     

    member

    member

     

    unitQty

    totalPeriods

     

    unitPrice

    invoiceTotal

     

    description

    serviceItem and recurringTypeDesc

     

    agreementName

    serviceItem

     

    isAutoRenew

    autoRenew

     

    isActive

    active

     

    repeatType

     

    Club OS RepeatType.MONTHLY

    saleDate

    Dates.sale

     

    startDate

    Dates.firstBilling

     

    endDate

    Dates.finalBilling

     


    D. Translation from ABC Invoice

    Club OS Field

    ABC Field

    Notes

    Club OS Field

    ABC Field

    Notes

    systemId

    id

     

    receiptNumber

    receiptNumber

     

    member

    member

     

    salesperson

    employee

     

    IntInvoiceItem.saleDate

    timesstamp

     

    IntInvoiceItem.systemId

    PosTransactionItem.id

     

    IntInvoiceItem.description

    PosTransactionItem.name

     

    IntInvoiceItem.upc

    PosTransactionItem.upc

     

    IntInvoiceItem.unitQty

    PosTransactionItem.quantity

     

    IntInvoiceItem.unitPrice

    PosTransactionItem.unitPrice

     

    IntInvoiceItem.packageQty

    PosTransactionItem.packageQuantity

     

    IntInvoiceItem.subTotal

    PosTransactionItem.subtotal

     

    IntInvoiceItem.tax

    PosTransactionItem.tax

     

    IntInvoiceItem.profitCenter

    PosTransactionItem.profitCenter

     

    IntInvoiceItem.isPaid

    PosTransactionItem.getSale

     

    IntInvoiceItem.systemMemberServiceAgreementId

    PosTransactionItem.RecurringService.id

     

     

    E. Translation from ABC CheckIn

    Club OS Field

    ABC Field

    Notes

    systemClubId

    clubNumber

     

    checkInTimestamp

    checkInTimestamp

     

     

    F.  Translation to ABC Prospect

    Club OS Field

    ABC Field

    Notes

    firstName

    firstName

     

    lastName

    lastName

     

    gender

    gender

     

    dateOfBirth

    dateOfBirth

     

    mobilePhone

    cellPhone

     

    mobilePhone

    primaryPhone

     

    workPhone

    workPhone

     

    email

    email

     

    address1

    street

     

    city

    city

     

    state

    state

     

    zip

    zip

     

    notes

    miscellaneous1

    if notes are greater than 50 characters, first 50 will be stored in miscellaneous1 and the rest in miscellaneous2

    salespersonSystemId

    salesPerson

    salespersonSystemId is the ABC GUID of the Membership Follow-Up Person

    employer

    employer

     

    barcode

    barCode

     

    guestPassStart

    issueDate

     

    guestPassStart

    beginDate

     

    guestPassEnd

    expirationDate

     
    Was this article helpful?
    1 out of 1 found this helpful

    Comments