Club Speed integration summary

Stitch’s Club Speed integration replicates data using the Club Speed API . Refer to the Schema section for a list of objects available for replication.

Club Speed feature snapshot

A high-level look at Stitch's Club Speed (v1) integration, including release status, useful links, and the features supported in Stitch.

STITCH
Release status

Released on February 1, 2019

Supported by

Singer Community

Stitch plan

Standard

API availability

Available

Singer GitHub repository

singer-io/tap-clubspeed

REPLICATION SETTINGS
Anchor Scheduling

Supported

Advanced Scheduling

Supported

Table-level reset

Unsupported

Configurable Replication Methods

Unsupported

DATA SELECTION
Table selection

Supported

Column selection

Supported

Select all

Supported

TRANSPARENCY
Extraction Logs

Supported

Loading Reports

Supported

Connecting Club Speed

Club Speed setup requirements

To set up Club Speed in Stitch, you need:

  • A Club Speed API key. To use Stitch’s Club Speed integration, you’ll need an API key generated by Club Speed. Reach out to Club Speed support to have them generate this credential for you.

    After you’ve received the API key, you can complete the setup in Stitch.


Step 1: Add Club Speed as a Stitch data source

  1. Sign into your Stitch account.
  2. On the Stitch Dashboard page, click the Add Integration button.

  3. Click the Club Speed icon.

  4. Enter a name for the integration. This is the name that will display on the Stitch Dashboard for the integration; it’ll also be used to create the schema in your destination.

    For example, the name “Stitch Club Speed” would create a schema called stitch_club_speed in the destination. Note: Schema names cannot be changed after you save the integration.

  5. In the Club Speed Subdomain field, enter your Club Speed subdomain. For example: If the full subdomain were stitchdata.clubspeedtiming.com, you’d only enter stitchdata into this field.
  6. In the Club Speed Private Key field, paste your Club Speed private API key. Note: You’ll need to contact Club Speed to obtain this credential.

Step 2: Define the historical replication start date

The Sync Historical Data setting defines the starting date for your Club Speed integration. This means that data equal to or newer than this date will be replicated to your data warehouse.

Change this setting if you want to replicate data beyond Club Speed’s default setting of 1 year. For a detailed look at historical replication jobs, check out the Syncing Historical SaaS Data guide.

Step 3: Create a replication schedule

In the Replication Frequency section, you’ll create the integration’s replication schedule. An integration’s replication schedule determines how often Stitch runs a replication job, and the time that job begins.

Club Speed integrations support the following replication scheduling methods:

To keep your row usage low, consider setting the integration to replicate less frequently. See the Understanding and Reducing Your Row Usage guide for tips on reducing your usage.

Initial and historical replication jobs

After you finish setting up Club Speed, its Sync Status may show as Pending on either the Stitch Dashboard or in the Integration Details page.

For a new integration, a Pending status indicates that Stitch is in the process of scheduling the initial replication job for the integration. This may take some time to complete.

Free historical data loads

The first seven days of replication, beginning when data is first replicated, are free. Rows replicated from the new integration during this time won’t count towards your quota. Stitch offers this as a way of testing new integrations, measuring usage, and ensuring historical data volumes don’t quickly consume your quota.


Club Speed table reference

booking

The booking table contains info about bookings. A booking record exposes a heat to the online booking interface in Club Speed.

Replication Method

Full Table

Primary Key

onlineBookingsId

Useful links

booking schema on GitHub

Join booking with on
booking_availability
booking.onlineBookingsId = booking_availability.products.onlineBookingsId
booking.heatId = booking_availability.heatId
booking.heatId = booking_availability.heatSpotsAvailableCombined
booking.productsId = booking_availability.products.productsId
reservations
booking.onlineBookingsId = reservations.onlineBookingsId
heat_main
booking.heatId = heat_main.heatId
heat_main_details
booking.heatId = heat_main_details.heatId
check_details
booking.productsId = check_details.productId
event_types
booking.productsId = event_types.onlineProductId
products
booking.productsId = products.productId

heatId

INTEGER

isPublic

BOOLEAN

onlineBookingsId

INTEGER

productsId

INTEGER

quantityTotal

INTEGER

booking_availability

The booking_availability table contains info about the current availability for online bookings. These take into account both online and local booking reservations.

Replication Method

Full Table

Primary Key

heatId

Useful links

booking_availability schema on GitHub

Join booking_availability with on
booking
booking_availability.products.onlineBookingsId = booking.onlineBookingsId
booking_availability.heatId = booking.heatId
booking_availability.heatSpotsAvailableCombined = booking.heatId
booking_availability.products.productsId = booking.productsId
reservations
booking_availability.products.onlineBookingsId = reservations.onlineBookingsId
heat_main
booking_availability.heatId = heat_main.heatId
booking_availability.heatSpotsAvailableCombined = heat_main.heatId
booking_availability.heatTypeId = heat_main.type
heat_main_details
booking_availability.heatId = heat_main_details.heatId
booking_availability.heatSpotsAvailableCombined = heat_main_details.heatId
event_heat_types
booking_availability.heatTypeId = event_heat_types.heatTypeId
event_rounds
booking_availability.heatTypeId = event_rounds.heatTypeId
heat_types
booking_availability.heatTypeId = heat_types.heatTypesId
check_details
booking_availability.products.productsId = check_details.productId
event_types
booking_availability.products.productsId = event_types.onlineProductId
products
booking_availability.products.productsId = products.productId

heatDescription

STRING

heatId

INTEGER

heatSpotsAvailableCombined

INTEGER

heatSpotsAvailableOnline

INTEGER

heatSpotsTotalActual

INTEGER

heatStartsAt

DATE-TIME

heatTypeId

INTEGER

isPublic

BOOLEAN

products

ARRAY

onlineBookingsId

INTEGER

price1

NUMBER

productDescription

STRING

productSpotsAvailableOnline

INTEGER

productSpotsTotal

INTEGER

productType

STRING

productsId

INTEGER

check_details

The check_details table contains info about line items and quantity info attached to checks.

Replication Method

Key-based Incremental

Primary Key

checkDetailId

Replication Key

createdDate

Useful links

check_details schema on GitHub

Join check_details with on
gift_card_history
check_details.checkDetailId = gift_card_history.checkDetailId
check_details.checkId = gift_card_history.checkId
check_details.g_CustId = gift_card_history.customerId
check_details.p_CustId = gift_card_history.customerId
check_details.s_CustId = gift_card_history.customerId
check_details.discountUserId = gift_card_history.userId
checks
check_details.checkId = checks.checkId
check_details.g_CustId = checks.customerId
check_details.p_CustId = checks.customerId
check_details.s_CustId = checks.customerId
check_details.discountId = checks.discountId
check_details.discountUserId = checks.discountUserId
check_details.discountUserId = checks.userId
event_reservation_links
check_details.checkId = event_reservation_links.checkId
payments
check_details.checkId = payments.checkId
check_details.g_CustId = payments.customerId
check_details.p_CustId = payments.customerId
check_details.s_CustId = payments.customerId
check_details.discountUserId = payments.userId
check_details.discountUserId = payments.voidUser
payments_voided
check_details.checkId = payments_voided.checkId
check_details.g_CustId = payments_voided.customerId
check_details.p_CustId = payments_voided.customerId
check_details.s_CustId = payments_voided.customerId
check_details.discountUserId = payments_voided.userId
check_details.discountUserId = payments_voided.voidUser
reservations
check_details.checkId = reservations.checkId
check_details.g_CustId = reservations.customersId
check_details.p_CustId = reservations.customersId
check_details.s_CustId = reservations.customersId
event_heat_details
check_details.g_CustId = event_heat_details.customerId
check_details.p_CustId = event_heat_details.customerId
check_details.s_CustId = event_heat_details.customerId
heat_main_details
check_details.g_CustId = heat_main_details.customerId
check_details.p_CustId = heat_main_details.customerId
check_details.s_CustId = heat_main_details.customerId
check_details.discountUserId = heat_main_details.userId
memberships
check_details.g_CustId = memberships.customerId
check_details.p_CustId = memberships.customerId
check_details.s_CustId = memberships.customerId
check_details.discountUserId = memberships.byUserId
discount_types
check_details.discountId = discount_types.discountId
booking
check_details.productId = booking.productsId
booking_availability
check_details.productId = booking_availability.products.productsId
event_types
check_details.productId = event_types.onlineProductId
products
check_details.productId = products.productId
check_details.taxId = products.taxId
taxes
check_details.taxId = taxes.taxId
event_tasks
check_details.discountUserId = event_tasks.completedBy
users
check_details.discountUserId = users.userId
event_reservations
check_details.discountUserId = event_reservations.userId

calculateType

INTEGER

checkDetailId

INTEGER

checkId

INTEGER

createdDate

DATE-TIME

discountApplied

NUMBER

discountDesc

STRING

discountId

INTEGER

discountNotes

STRING

discountUserId

INTEGER

g_CustId

INTEGER

g_Points

NUMBER

gst

NUMBER

m_DaysAdded

INTEGER

p_CustId

INTEGER

p_Points

INTEGER

productId

INTEGER

productName

STRING

qty

INTEGER

r_Points

INTEGER

s_CustId

INTEGER

s_NoOfLapsOrSeconds

INTEGER

s_SaleBy

INTEGER

s_Vol

INTEGER

status

INTEGER

taxId

INTEGER

taxPercent

NUMBER

type

INTEGER

unitPrice

NUMBER

unitPrice2

NUMBER

voidNotes

STRING

checks

The checks table contains info about checks, or financial invoices, that have been closed.

Replication Method

Key-based Incremental

Primary Key

checkId

Replication Key

closedDate

Useful links

checks schema on GitHub

Join checks with on
check_details
checks.checkId = check_details.checkId
checks.customerId = check_details.g_CustId
checks.customerId = check_details.p_CustId
checks.customerId = check_details.s_CustId
checks.discountId = check_details.discountId
checks.discountUserId = check_details.discountUserId
checks.userId = check_details.discountUserId
event_reservation_links
checks.checkId = event_reservation_links.checkId
gift_card_history
checks.checkId = gift_card_history.checkId
checks.customerId = gift_card_history.customerId
checks.discountUserId = gift_card_history.userId
checks.userId = gift_card_history.userId
payments
checks.checkId = payments.checkId
checks.customerId = payments.customerId
checks.discountUserId = payments.userId
checks.userId = payments.userId
checks.discountUserId = payments.voidUser
checks.userId = payments.voidUser
payments_voided
checks.checkId = payments_voided.checkId
checks.customerId = payments_voided.customerId
checks.discountUserId = payments_voided.userId
checks.userId = payments_voided.userId
checks.discountUserId = payments_voided.voidUser
checks.userId = payments_voided.voidUser
reservations
checks.checkId = reservations.checkId
checks.customerId = reservations.customersId
event_heat_details
checks.customerId = event_heat_details.customerId
heat_main_details
checks.customerId = heat_main_details.customerId
checks.discountUserId = heat_main_details.userId
checks.userId = heat_main_details.userId
memberships
checks.customerId = memberships.customerId
checks.discountUserId = memberships.byUserId
checks.userId = memberships.byUserId
discount_types
checks.discountId = discount_types.discountId
event_tasks
checks.discountUserId = event_tasks.completedBy
checks.userId = event_tasks.completedBy
users
checks.discountUserId = users.userId
checks.userId = users.userId
event_reservations
checks.discountUserId = event_reservations.userId
checks.userId = event_reservations.userId

broker

STRING

checkId

INTEGER

closedDate

DATE-TIME

customerId

INTEGER

discount

NUMBER

discountId

INTEGER

discountNotes

STRING

discountUserId

INTEGER

fee

NUMBER

gratuity

NUMBER

invoiceDate

DATE-TIME

isTaxExempt

BOOLEAN

name

STRING

notes

STRING

openedDate

DATE-TIME

status

INTEGER

total

NUMBER

type

INTEGER

userId

INTEGER

customers

The customers table contains info about the customers for a location.

Replication Method

Key-based Incremental

Primary Key

customerId

Replication Key

lastVisited

Useful links

customers schema on GitHub

Address

STRING

Address2

STRING

City

STRING

Country

STRING

Custom1

STRING

Custom2

STRING

Custom3

STRING

Custom4

STRING

LicenseNumber

STRING

State

STRING

Zip

STRING

accountCreated

DATE-TIME

birthdate

DATE-TIME

cardId

INTEGER

company

STRING

creditLimit

NUMBER

creditOnHold

BOOLEAN

customerId

INTEGER

deleted

BOOLEAN

donotemail

BOOLEAN

email

STRING

fax

STRING

firstname

STRING

gender

INTEGER

generalNotes

STRING

howdidyouhearaboutus

INTEGER

ignoreDOB

BOOLEAN

isEmployee

BOOLEAN

isGiftCard

BOOLEAN

lastVisited

DATE-TIME

lastname

STRING

memberShipTextLong

STRING

membershipStatus

INTEGER

membershipText

STRING

mobilephone

STRING

originalId

INTEGER

phoneNumber

STRING

phoneNumber2

STRING

priceLevel

INTEGER

privacy1

BOOLEAN

proskill

INTEGER

racername

STRING

status1

INTEGER

status2

INTEGER

status3

INTEGER

status4

INTEGER

totalRaces

INTEGER

totalVisits

INTEGER

waiver

INTEGER

waiver2

INTEGER

webUserName

STRING

discount_types

The discount_types table contains info about discount types.

Replication Method

Full Table

Primary Key

discountId

Useful links

discount_types schema on GitHub

Join discount_types with on
check_details
discount_types.discountId = check_details.discountId
checks
discount_types.discountId = checks.discountId
product_classes
discount_types.productClassId = product_classes.productClassId
products
discount_types.productClassId = products.productClassId

amount

NUMBER

calculateType

INTEGER

deleted

BOOLEAN

description

STRING

discountId

INTEGER

enabled

BOOLEAN

needApproved

BOOLEAN

productClassId

INTEGER

event_heat_details

The event_heat_details table contains info about customers who have been placed in a queue for a specific event.

Replication Method

Key-based Incremental

Primary Keys

customerId

eventId

Replication Key

added

Useful links

event_heat_details schema on GitHub

Join event_heat_details with on
check_details
event_heat_details.customerId = check_details.g_CustId
event_heat_details.customerId = check_details.p_CustId
event_heat_details.customerId = check_details.s_CustId
checks
event_heat_details.customerId = checks.customerId
gift_card_history
event_heat_details.customerId = gift_card_history.customerId
heat_main_details
event_heat_details.customerId = heat_main_details.customerId
memberships
event_heat_details.customerId = memberships.customerId
payments
event_heat_details.customerId = payments.customerId
payments_voided
event_heat_details.customerId = payments_voided.customerId
reservations
event_heat_details.customerId = reservations.customersId
event_rounds
event_heat_details.eventId = event_rounds.eventId
events
event_heat_details.eventId = events.eventId

added

DATE-TIME

customerId

INTEGER

eventId

INTEGER

proskill

INTEGER

roundLoseNum

INTEGER

totalRaces

INTEGER

event_heat_types

The event_heat_types table contains info about event type classifications, which are used to look up event_rounds when creating events.

Replication Method

Full Table

Primary Key

eventHeatTypeId

Useful links

event_heat_types schema on GitHub

Join event_heat_types with on
booking_availability
event_heat_types.heatTypeId = booking_availability.heatTypeId
event_rounds
event_heat_types.heatTypeId = event_rounds.heatTypeId
heat_main
event_heat_types.heatTypeId = heat_main.type
heat_types
event_heat_types.heatTypeId = heat_types.heatTypesId

cadetsPerHeat

INTEGER

description

STRING

eventHeatTypeId

INTEGER

eventTypeId

INTEGER

heatTypeId

INTEGER

heatsPerRacer

INTEGER

racersPerHeat

INTEGER

roundNumber

INTEGER

The event_reservation_links table contains lists of check and reservation IDs, or checks that are linked to event reservations.

Replication Method

Full Table

Primary Key

eventReservationLinkId

Useful links

event_reservation_links schema on GitHub

event_reservation_types

The event_reservation_types table contains info about the descriptions for event reservation types.

Replication Method

Full Table

Primary Key

eventReservationTypeId

Useful links

event_reservation_types schema on GitHub

Join event_reservation_types with on
event_reservations
event_reservation_types.eventReservationTypeId = event_reservations.typeId

description

STRING

eventReservationTypeId

INTEGER

event_reservations

The event_reservations table contains info about event reservations, which are linked to events.

Replication Method

Key-based Incremental

Primary Key

eventReservationId

Replication Key

startTime

Useful links

event_reservations schema on GitHub

Join event_reservations with on
event_reservation_types
event_reservations.typeId = event_reservation_types.eventReservationTypeId
event_tasks
event_reservations.eventReservationId = event_tasks.eventReservationId
event_reservations.mainId = event_tasks.eventReservationId
event_reservations.userId = event_tasks.completedBy
event_types
event_reservations.eventTypeId = event_types.eventTypeId
events
event_reservations.eventTypeId = events.eventTypeId
check_details
event_reservations.userId = check_details.discountUserId
checks
event_reservations.userId = checks.discountUserId
event_reservations.userId = checks.userId
gift_card_history
event_reservations.userId = gift_card_history.userId
users
event_reservations.userId = users.userId
heat_main_details
event_reservations.userId = heat_main_details.userId
memberships
event_reservations.userId = memberships.byUserId
payments
event_reservations.userId = payments.userId
event_reservations.userId = payments.voidUser
payments_voided
event_reservations.userId = payments_voided.userId
event_reservations.userId = payments_voided.voidUser

allowOnlineReservation

BOOLEAN

deleted

BOOLEAN

description

STRING

endTime

DATE-TIME

eventReservationId

INTEGER

eventTypeId

INTEGER

externalSystemId

INTEGER

isEventClosure

BOOLEAN

mainId

INTEGER

minNoOfAdultsPerBooking

INTEGER

noOfRacers

INTEGER

notes

STRING

ptsPerReservation

INTEGER

repId

INTEGER

startTime

DATE-TIME

status

INTEGER

subject

STRING

typeId

INTEGER

userId

INTEGER

event_rounds

The event_rounds table contains info about event rounds. This table acts as a link between events and their corresponding rounds in the heat_main.

Replication Method

Full Table

Primary Key

eventRoundId

Useful links

event_rounds schema on GitHub

Join event_rounds with on
heat_main
event_rounds.eventRoundId = heat_main.eventRound
event_rounds.heatTypeId = heat_main.type
event_heat_details
event_rounds.eventId = event_heat_details.eventId
events
event_rounds.eventId = events.eventId
booking_availability
event_rounds.heatTypeId = booking_availability.heatTypeId
event_heat_types
event_rounds.heatTypeId = event_heat_types.heatTypeId
heat_types
event_rounds.heatTypeId = heat_types.heatTypesId

cadetsPerHeat

INTEGER

eventId

INTEGER

eventRoundId

INTEGER

heatDescription

STRING

heatTypeId

INTEGER

heatsPerRacer

INTEGER

racersPerHeat

INTEGER

roundNumber

INTEGER

event_statuses

The event_statuses table contains info about event statuses, which are statuses assigned to event_reservations.

Replication Method

Full Table

Primary Key

eventStatusId

Useful links

event_statuses schema on GitHub

colorId

INTEGER

eventStatusId

INTEGER

seq

INTEGER

status

STRING

event_task_types

The event_task_types table contains info about event task types, which are event_tasks to be tracked for completion.

Replication Method

Full Table

Primary Key

eventTaskId

Useful links

event_task_types schema on GitHub

deleted

BOOLEAN

description

STRING

eventTaskId

INTEGER

name

STRING

seq

INTEGER

event_tasks

The event_tasks table contains info about the tasks to be completed for a given event_reservation.

Replication Method

Key-based Incremental

Primary Key

eventTaskId

Replication Key

completedAt

Useful links

event_tasks schema on GitHub

Join event_tasks with on
event_reservations
event_tasks.eventReservationId = event_reservations.eventReservationId
event_tasks.eventReservationId = event_reservations.mainId
event_tasks.completedBy = event_reservations.userId
check_details
event_tasks.completedBy = check_details.discountUserId
checks
event_tasks.completedBy = checks.discountUserId
event_tasks.completedBy = checks.userId
gift_card_history
event_tasks.completedBy = gift_card_history.userId
users
event_tasks.completedBy = users.userId
heat_main_details
event_tasks.completedBy = heat_main_details.userId
memberships
event_tasks.completedBy = memberships.byUserId
payments
event_tasks.completedBy = payments.userId
event_tasks.completedBy = payments.voidUser
payments_voided
event_tasks.completedBy = payments_voided.userId
event_tasks.completedBy = payments_voided.voidUser

completedAt

DATE-TIME

completedBy

INTEGER

eventReservationId

INTEGER

eventTaskId

INTEGER

eventTaskTypeId

INTEGER

event_types

The event_types table contains info about event types.

Replication Method

Full Table

Primary Key

eventTypeId

Useful links

event_types schema on GitHub

Join event_types with on
event_reservations
event_types.eventTypeId = event_reservations.eventTypeId
events
event_types.eventTypeId = events.eventTypeId
booking
event_types.onlineProductId = booking.productsId
booking_availability
event_types.onlineProductId = booking_availability.products.productsId
check_details
event_types.onlineProductId = check_details.productId
products
event_types.onlineProductId = products.productId
heat_types
event_types.trackId = heat_types.trackId

deleted

BOOLEAN

description

STRING

displayAtRegistration

BOOLEAN

enabled

BOOLEAN

eventTypeId

INTEGER

eventTypeName

STRING

eventTypeTheme

INTEGER

memberOnly

BOOLEAN

onlineProductId

INTEGER

ptsPerReservation

INTEGER

trackId

INTEGER

events

The events table contains info about events.

Replication Method

Key-based Incremental

Primary Key

eventId

Replication Key

eventScheduledTime

Useful links

events schema on GitHub

Join events with on
event_reservations
events.eventTypeId = event_reservations.eventTypeId
event_types
events.eventTypeId = event_types.eventTypeId
event_heat_details
events.eventId = event_heat_details.eventId
event_rounds
events.eventId = event_rounds.eventId
event_reservation_links
events.reservationId = event_reservation_links.reservationId
reservations
events.reservationId = reservations.onlineBookingReservationsId

createdHeatSpots

INTEGER

createdHeatTime

DATE-TIME

eventDesc

STRING

eventDuration

INTEGER

eventId

INTEGER

eventNotes

STRING

eventScheduledTime

DATE-TIME

eventTheme

INTEGER

eventTypeId

INTEGER

eventTypeName

STRING

memberOnly

BOOLEAN

reservationId

INTEGER

totalRacers

INTEGER

trackNo

INTEGER

gift_card_history

The gift_card_history table acts as a transactional log for keeping track of each change that occurs with gift cards.

Replication Method

Key-based Incremental

Primary Key

giftCardHistoryId

Replication Key

transactionDate

Useful links

gift_card_history schema on GitHub

Join gift_card_history with on
check_details
gift_card_history.checkDetailId = check_details.checkDetailId
gift_card_history.checkId = check_details.checkId
gift_card_history.customerId = check_details.g_CustId
gift_card_history.customerId = check_details.p_CustId
gift_card_history.customerId = check_details.s_CustId
gift_card_history.userId = check_details.discountUserId
checks
gift_card_history.checkId = checks.checkId
gift_card_history.customerId = checks.customerId
gift_card_history.userId = checks.discountUserId
gift_card_history.userId = checks.userId
event_reservation_links
gift_card_history.checkId = event_reservation_links.checkId
payments
gift_card_history.checkId = payments.checkId
gift_card_history.customerId = payments.customerId
gift_card_history.userId = payments.userId
gift_card_history.userId = payments.voidUser
payments_voided
gift_card_history.checkId = payments_voided.checkId
gift_card_history.customerId = payments_voided.customerId
gift_card_history.userId = payments_voided.userId
gift_card_history.userId = payments_voided.voidUser
reservations
gift_card_history.checkId = reservations.checkId
gift_card_history.customerId = reservations.customersId
event_heat_details
gift_card_history.customerId = event_heat_details.customerId
heat_main_details
gift_card_history.customerId = heat_main_details.customerId
gift_card_history.userId = heat_main_details.userId
memberships
gift_card_history.customerId = memberships.customerId
gift_card_history.userId = memberships.byUserId
event_tasks
gift_card_history.userId = event_tasks.completedBy
users
gift_card_history.userId = users.userId
event_reservations
gift_card_history.userId = event_reservations.userId

checkDetailId

INTEGER

checkId

INTEGER

customerId

INTEGER

giftCardHistoryId

INTEGER

ipAddress

STRING

notes

STRING

points

NUMBER

transactionDate

DATE-TIME

type

INTEGER

userId

INTEGER

heat_main

The heat_main table contains info about finished heat mains, which are instances of races on the standard venue calendar.

Replication Method

Key-based Incremental

Primary Key

heatId

Replication Key

finish

Useful links

heat_main schema on GitHub

Join heat_main with on
event_rounds
heat_main.eventRound = event_rounds.eventRoundId
heat_main.type = event_rounds.heatTypeId
booking
heat_main.heatId = booking.heatId
booking_availability
heat_main.heatId = booking_availability.heatId
heat_main.heatId = booking_availability.heatSpotsAvailableCombined
heat_main.type = booking_availability.heatTypeId
heat_main_details
heat_main.heatId = heat_main_details.heatId
event_heat_types
heat_main.type = event_heat_types.heatTypeId
heat_types
heat_main.type = heat_types.heatTypesId

beginning

DATE-TIME

eventRound

INTEGER

finish

DATE-TIME

heatColor

INTEGER

heatId

INTEGER

lapsOrMinutes

INTEGER

memberOnly

BOOLEAN

notes

STRING

numberOfReservation

INTEGER

pointsNeeded

INTEGER

raceBy

INTEGER

racersPerHeat

INTEGER

scheduleDuration

INTEGER

scheduledTime

DATE-TIME

speedLevel

INTEGER

status

INTEGER

track

INTEGER

type

INTEGER

winBy

INTEGER

heat_main_details

The heat_main_details table contains info about customers that were entered into finished heats.

Replication Method

Key-based Incremental

Primary Keys

customerId

heatId

Useful links

heat_main_details schema on GitHub

Join heat_main_details with on
check_details
heat_main_details.customerId = check_details.g_CustId
heat_main_details.customerId = check_details.p_CustId
heat_main_details.customerId = check_details.s_CustId
heat_main_details.userId = check_details.discountUserId
checks
heat_main_details.customerId = checks.customerId
heat_main_details.userId = checks.discountUserId
heat_main_details.userId = checks.userId
event_heat_details
heat_main_details.customerId = event_heat_details.customerId
gift_card_history
heat_main_details.customerId = gift_card_history.customerId
heat_main_details.userId = gift_card_history.userId
memberships
heat_main_details.customerId = memberships.customerId
heat_main_details.userId = memberships.byUserId
payments
heat_main_details.customerId = payments.customerId
heat_main_details.userId = payments.userId
heat_main_details.userId = payments.voidUser
payments_voided
heat_main_details.customerId = payments_voided.customerId
heat_main_details.userId = payments_voided.userId
heat_main_details.userId = payments_voided.voidUser
reservations
heat_main_details.customerId = reservations.customersId
booking
heat_main_details.heatId = booking.heatId
booking_availability
heat_main_details.heatId = booking_availability.heatId
heat_main_details.heatId = booking_availability.heatSpotsAvailableCombined
heat_main
heat_main_details.heatId = heat_main.heatId
event_tasks
heat_main_details.userId = event_tasks.completedBy
users
heat_main_details.userId = users.userId
event_reservations
heat_main_details.userId = event_reservations.userId

autoNo

INTEGER

customerId

INTEGER

finishPosition

INTEGER

firstTime

BOOLEAN

groupFinishPosition

INTEGER

groupId

INTEGER

heatId

INTEGER

lineUpPosition

INTEGER

pointHistoryId

INTEGER

positionEditedDate

DATE-TIME

proskill

INTEGER

proskillDiff

INTEGER

scores

NUMBER

timeAdded

DATE-TIME

userId

INTEGER

heat_types

The heat_types table contains info about heat types.

Replication Method

Full Table

Primary Key

heatTypesId

Useful links

heat_types schema on GitHub

Join heat_types with on
booking_availability
heat_types.heatTypesId = booking_availability.heatTypeId
event_heat_types
heat_types.heatTypesId = event_heat_types.heatTypeId
event_rounds
heat_types.heatTypesId = event_rounds.heatTypeId
heat_main
heat_types.heatTypesId = heat_main.type
event_types
heat_types.trackId = event_types.trackId

cannotBelow

INTEGER

cannotExceed

INTEGER

cost

INTEGER

deleted

BOOLEAN

enabled

BOOLEAN

heatTypesId

INTEGER

isEventHeatOnly

BOOLEAN

isPracticeHeat

BOOLEAN

lapsOrMinutes

INTEGER

memberOnly

BOOLEAN

name

STRING

raceBy

INTEGER

racersPerHeat

INTEGER

scheduleDuration

INTEGER

speedLevel

INTEGER

trackId

INTEGER

winBy

INTEGER

membership_types

The membership_types table contains info about memberships.

Replication Method

Full Table

Primary Key

membershipTypeId

Useful links

membership_types schema on GitHub

Join membership_types with on
memberships
membership_types.membershipTypeId = memberships.membershipTypeId

description

STRING

enabled

INTEGER

expirationType

INTEGER

expires

BOOLEAN

membershipTypeId

INTEGER

priceLevel

INTEGER

seq

INTEGER

memberships

The memberships table contains info about memberships, which is a pairing of a customer and membership_type.

Replication Method

Key-based Incremental

Primary Keys

customerId

membershipTypeId

Replication Key

changed

Useful links

memberships schema on GitHub

Join memberships with on
check_details
memberships.customerId = check_details.g_CustId
memberships.customerId = check_details.p_CustId
memberships.customerId = check_details.s_CustId
memberships.byUserId = check_details.discountUserId
checks
memberships.customerId = checks.customerId
memberships.byUserId = checks.discountUserId
memberships.byUserId = checks.userId
event_heat_details
memberships.customerId = event_heat_details.customerId
gift_card_history
memberships.customerId = gift_card_history.customerId
memberships.byUserId = gift_card_history.userId
heat_main_details
memberships.customerId = heat_main_details.customerId
memberships.byUserId = heat_main_details.userId
payments
memberships.customerId = payments.customerId
memberships.byUserId = payments.userId
memberships.byUserId = payments.voidUser
payments_voided
memberships.customerId = payments_voided.customerId
memberships.byUserId = payments_voided.userId
memberships.byUserId = payments_voided.voidUser
reservations
memberships.customerId = reservations.customersId
membership_types
memberships.membershipTypeId = membership_types.membershipTypeId
event_tasks
memberships.byUserId = event_tasks.completedBy
users
memberships.byUserId = users.userId
event_reservations
memberships.byUserId = event_reservations.userId

byUserId

INTEGER

changed

DATE-TIME

customerId

INTEGER

expiration

DATE-TIME

membershipTypeId

INTEGER

notes

STRING

payments

The payments table contains info about collected payments.

Replication Method

Key-based Incremental

Primary Key

paymentId

Replication Key

payDate

Useful links

payments schema on GitHub

Join payments with on
check_details
payments.checkId = check_details.checkId
payments.customerId = check_details.g_CustId
payments.customerId = check_details.p_CustId
payments.customerId = check_details.s_CustId
payments.userId = check_details.discountUserId
payments.voidUser = check_details.discountUserId
checks
payments.checkId = checks.checkId
payments.customerId = checks.customerId
payments.userId = checks.discountUserId
payments.voidUser = checks.discountUserId
payments.userId = checks.userId
payments.voidUser = checks.userId
event_reservation_links
payments.checkId = event_reservation_links.checkId
gift_card_history
payments.checkId = gift_card_history.checkId
payments.customerId = gift_card_history.customerId
payments.userId = gift_card_history.userId
payments.voidUser = gift_card_history.userId
payments_voided
payments.checkId = payments_voided.checkId
payments.customerId = payments_voided.customerId
payments.paymentId = payments_voided.paymentId
payments.userId = payments_voided.userId
payments.voidUser = payments_voided.userId
payments.userId = payments_voided.voidUser
payments.voidUser = payments_voided.voidUser
reservations
payments.checkId = reservations.checkId
payments.customerId = reservations.customersId
event_heat_details
payments.customerId = event_heat_details.customerId
heat_main_details
payments.customerId = heat_main_details.customerId
payments.userId = heat_main_details.userId
payments.voidUser = heat_main_details.userId
memberships
payments.customerId = memberships.customerId
payments.userId = memberships.byUserId
payments.voidUser = memberships.byUserId
event_tasks
payments.userId = event_tasks.completedBy
payments.voidUser = event_tasks.completedBy
users
payments.userId = users.userId
payments.voidUser = users.userId
event_reservations
payments.userId = event_reservations.userId
payments.voidUser = event_reservations.userId

cardType

STRING

checkId

INTEGER

customerId

INTEGER

extCardType

STRING

payAmount

NUMBER

payDate

DATE-TIME

payStatus

INTEGER

payTax

NUMBER

payTerminal

STRING

payType

INTEGER

paymentId

INTEGER

transaction

STRING

userId

INTEGER

voidDate

DATE-TIME

voidNotes

STRING

voidTerminal

STRING

voidUser

INTEGER

payments_voided

The payments_voided table contains info about voided payments.

Replication Method

Key-based Incremental

Primary Key

paymentId

Replication Key

voidDate

Useful links

payments_voided schema on GitHub

Join payments_voided with on
check_details
payments_voided.checkId = check_details.checkId
payments_voided.customerId = check_details.g_CustId
payments_voided.customerId = check_details.p_CustId
payments_voided.customerId = check_details.s_CustId
payments_voided.userId = check_details.discountUserId
payments_voided.voidUser = check_details.discountUserId
checks
payments_voided.checkId = checks.checkId
payments_voided.customerId = checks.customerId
payments_voided.userId = checks.discountUserId
payments_voided.voidUser = checks.discountUserId
payments_voided.userId = checks.userId
payments_voided.voidUser = checks.userId
event_reservation_links
payments_voided.checkId = event_reservation_links.checkId
gift_card_history
payments_voided.checkId = gift_card_history.checkId
payments_voided.customerId = gift_card_history.customerId
payments_voided.userId = gift_card_history.userId
payments_voided.voidUser = gift_card_history.userId
payments
payments_voided.checkId = payments.checkId
payments_voided.customerId = payments.customerId
payments_voided.paymentId = payments.paymentId
payments_voided.userId = payments.userId
payments_voided.voidUser = payments.userId
payments_voided.userId = payments.voidUser
payments_voided.voidUser = payments.voidUser
reservations
payments_voided.checkId = reservations.checkId
payments_voided.customerId = reservations.customersId
event_heat_details
payments_voided.customerId = event_heat_details.customerId
heat_main_details
payments_voided.customerId = heat_main_details.customerId
payments_voided.userId = heat_main_details.userId
payments_voided.voidUser = heat_main_details.userId
memberships
payments_voided.customerId = memberships.customerId
payments_voided.userId = memberships.byUserId
payments_voided.voidUser = memberships.byUserId
event_tasks
payments_voided.userId = event_tasks.completedBy
payments_voided.voidUser = event_tasks.completedBy
users
payments_voided.userId = users.userId
payments_voided.voidUser = users.userId
event_reservations
payments_voided.userId = event_reservations.userId
payments_voided.voidUser = event_reservations.userId

cardType

STRING

checkId

INTEGER

customerId

INTEGER

extCardType

STRING

payAmount

NUMBER

payDate

DATE-TIME

payStatus

INTEGER

payTax

NUMBER

payTerminal

STRING

payType

INTEGER

paymentId

INTEGER

transaction

STRING

userId

INTEGER

voidDate

DATE-TIME

voidNotes

STRING

voidTerminal

STRING

voidUser

INTEGER

product_classes

The product_classes table contains info about classes applied to products. Product classes determine how products are aggregated in Club Speed’s reporting system.

Replication Method

Full Table

Primary Key

productClassId

Useful links

product_classes schema on GitHub

Join product_classes with on
discount_types
product_classes.productClassId = discount_types.productClassId
products
product_classes.productClassId = products.productClassId

deleted

BOOLEAN

description

STRING

exportName

STRING

productClassId

INTEGER

products

The products table contains info about products.

Replication Method

Full Table

Primary Key

productId

Useful links

products schema on GitHub

Join products with on
discount_types
products.productClassId = discount_types.productClassId
product_classes
products.productClassId = product_classes.productClassId
booking
products.productId = booking.productsId
booking_availability
products.productId = booking_availability.products.productsId
check_details
products.productId = check_details.productId
products.taxId = check_details.taxId
event_types
products.productId = event_types.onlineProductId
taxes
products.taxId = taxes.taxId

deleted

BOOLEAN

description

STRING

enabled

BOOLEAN

g_Points

NUMBER

p_Points

NUMBER

price1

NUMBER

price2

NUMBER

priceCadet

NUMBER

productClassId

INTEGER

productId

INTEGER

productType

INTEGER

r_Points

NUMBER

taxId

INTEGER

reservations

The reservations table contains info about reservations. Reservations are indications that a customer is looking to purchase a spot in a booking or has already purchased a spot.

Replication Method

Key-based Incremental

Primary Key

onlineBookingReservationsId

Replication Key

createdAt

Useful links

reservations schema on GitHub

Join reservations with on
booking
reservations.onlineBookingsId = booking.onlineBookingsId
booking_availability
reservations.onlineBookingsId = booking_availability.products.onlineBookingsId
check_details
reservations.checkId = check_details.checkId
reservations.customersId = check_details.g_CustId
reservations.customersId = check_details.p_CustId
reservations.customersId = check_details.s_CustId
checks
reservations.checkId = checks.checkId
reservations.customersId = checks.customerId
event_reservation_links
reservations.checkId = event_reservation_links.checkId
reservations.onlineBookingReservationsId = event_reservation_links.reservationId
gift_card_history
reservations.checkId = gift_card_history.checkId
reservations.customersId = gift_card_history.customerId
payments
reservations.checkId = payments.checkId
reservations.customersId = payments.customerId
payments_voided
reservations.checkId = payments_voided.checkId
reservations.customersId = payments_voided.customerId
event_heat_details
reservations.customersId = event_heat_details.customerId
heat_main_details
reservations.customersId = heat_main_details.customerId
memberships
reservations.customersId = memberships.customerId
events
reservations.onlineBookingReservationsId = events.reservationId

checkId

INTEGER

createdAt

DATE-TIME

customersId

INTEGER

expiresAt

DATE-TIME

onlineBookingReservationStatusId

INTEGER

onlineBookingReservationsId

INTEGER

onlineBookingsId

INTEGER

quantity

INTEGER

sessionId

STRING

sources

The sources table contains info about how customers find and register at venues.

Replication Method

Full Table

Primary Key

sourceId

Useful links

sources schema on GitHub

deleted

BOOLEAN

enabled

BOOLEAN

locationId

INTEGER

name

STRING

seq

INTEGER

sourceId

INTEGER

taxes

The taxes table contains info about tax calculations, which are typically applied to products.

Replication Method

Full Table

Primary Key

taxId

Useful links

taxes schema on GitHub

Join taxes with on
check_details
taxes.taxId = check_details.taxId
products
taxes.taxId = products.taxId

amount

NUMBER

deleted

BOOLEAN

description

STRING

gst

NUMBER

taxId

INTEGER

users

The users table contains info about employees and system users. Note: While some employees may also be customers, this table does not contain customer information.

Replication Method

Full Table

Primary Key

userId

Useful links

users schema on GitHub

Join users with on
check_details
users.userId = check_details.discountUserId
checks
users.userId = checks.discountUserId
users.userId = checks.userId
event_tasks
users.userId = event_tasks.completedBy
gift_card_history
users.userId = gift_card_history.userId
event_reservations
users.userId = event_reservations.userId
heat_main_details
users.userId = heat_main_details.userId
memberships
users.userId = memberships.byUserId
payments
users.userId = payments.userId
users.userId = payments.voidUser
payments_voided
users.userId = payments_voided.userId
users.userId = payments_voided.voidUser

cardId

INTEGER

deleted

BOOLEAN

email

STRING

empStartDate

DATE-TIME

enabled

BOOLEAN

firstname

STRING

isSystemUser

BOOLEAN

lastname

STRING

phone

STRING

userId

INTEGER

username

STRING


Questions? Feedback?

Did this article help? If you have questions or feedback, feel free to submit a pull request with your suggestions, open an issue on GitHub, or reach out to us.