Vendor Documentation

Club OS writes and provides technology solutions for the fitness industry. Not only does its software streamline club operation, but its sales and marketing tools will increase retention while driving revenue toward the club simultaneously. Still, despite its easy-to-use interface, its complex features might prove daunting to users who have yet to undergo proper Club OS training. Here is a quick glimpse at Club OS’ core features and how they apply toward daily operations.

Entering the System

The Club OS Experience begins when a Prospect enters a club and inputs their info into the Digital Guest Waiver (DGW). The data the DGW collects will vary depending on a club’s preference, often drawn from the previously administered guest intake form.

Typically, the fields will include First/Last Name, Address, Phone Number, and Email. Each DGW will also include that club’s Liability Waiver. At the moment that a Prospect’s profile is generated in Club OS, it is then also transferred to that club’s billing provider. (Note: Later, when selling a membership, look to this ABC profile to convert the Prospect to Member.)

                              


The Follow-Up Schedules

Depending, first, on such factors as ‘how the lead was acquired’ (ex. Web Lead, Referral) and the outcome of their visit (ex. Active/Missed Guest), this lead will automatically filter into a corresponding status on the Membership Follow-Up Schedule.

           

The Membership Follow-Up Schedule exists to catalog leads while keeping communication flowing in a systematic effort to convert a Prospect into a Member. Follow-ups may be performed via call, email or text.

As you can see, each status can have up to ten stages. (All except Appt Booked -a feature explained below.) Each status, as seen on the left side of the page, indicates a specific “position” a lead may fall within its effort toward conversion. Across the top, are the potential stages one through ten.

If the first follow-up stage displays a ‘0’, then that lead will be contacted on the same day in which they first entered that new status. (In the case of a Lead, an ‘0’ would instruct that the Prospect be contacted on the same day as they entered Club OS.) Each subsequent stage’s number, then, indicates the wait (in days) before that Prospect is meant to be contacted again. If a number occupies the tenth stage, follow-up contact will repeat indefinitely upon every entered number of days. To calculate what total number of days a lead will be followed up with in any given status, simply add together each number in the row.

Appt Booked is the only membership follow-up status that uses alternate logic. There is one follow-up point. This time, the number displayed within the stage indicates how many days prior to the appointment the Prospect is scheduled to be contacted. Here, a ‘0’ signifies contact on the day of the appointment whereas a ‘1’ signifies contacting the day before.

         

When a membership agreement is sold, that Prospect then converts to Member status within Club OS. From here, they are transferred to a second PT Follow-Up Schedule. Much like the Membership Follow-Up Schedule, this table will now seek to sell PT to committed club Members. The logic between the two schedules are identical. (FC Booked runs just like Appt Booked.) If, ever, a club seeks to modify a schedule, this can be accomplished by contacting Club OS.


Syncing

When a club books a PT calendar event, or a membership sale occurs, Club OS will recognize the event and change the follow-up status of the corresponding individual. Changes to prospect profile data should be made in Club OS, which will update the data in the billing provider. Once an agreement is sold, Club OS will sync the latest profile data from the billing provider.

When Club OS syncs is controlled by two factors: Full Cron and Hourly Cron. The Full Cron is the event in which a club’s entire system, except for its Point of Sales transactions and its recurring services, syncs at once. (Only the past thirty days are synced in the case of Point of Sales transactions and recurring services.) Full Cron occurs once a day, every day, at 9pm local time. By contrast, the Hourly Cron syncs data from the last day, only. Also, Hourly Cron occurs at various times each day. By default, the Hourly Cron occurs at 12pm and 5pm (also local time).

                                        

However, by upgrading, a club’s Hourly Cron can occur every hour, on the hour, from 9AM until 8PM, with the Full Cron syncing at 9PM, as shown below.

                                          

Each club syncs at Full Cron as well as during their own designated Hourly Cron times. If uncertain about a club’s sync times, contact Club OS.


Translations

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

Translation to ABC Prospect • Translation from ABC Member • Translation from ABC Employee • Translation from ABC Member Service Agreement • Translation from ABC Invoice • Translation from ABC Check In

 

A. 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

 

 

B. 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

 


C. 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

 

 

D. 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

 

 

E. Translation from ABC Invoice

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

 

 

F. Translation from ABC CheckIn

Club OS Field

ABC Field

Notes

systemClubId

clubNumber

 

checkInTimestamp

checkInTimestamp