ANALYTICS_SHARED Data Dictionary
This article documents every model in the ANALYTICS_SHARED schema of our Snowflake data warehouse. Each section below covers one model, with notes at the top followed by a full list of columns, their definitions, datatypes, and any column-specific notes.
Models in this article
CUSTOMERS
LINE_ITEMS
EVENT_REGISTRATIONS
LEAGUE_SEASON_REGISTRATIONS
MEMBERSHIP_ATTENDANCE
MEMBERSHIP_MEMBERS
MEMBERSHIP_MEMBERS_DAILY
PAYMENT_FAILURES
PAYMENT_LINE_ITEMS
SESSION_REGISTRATIONS
SLOTS
USER_IN_FAMILY_ACCOUNT
CUSTOMERS
Our Snowflake data warehouse stores all datetime columns in UTC by default. The only exception is when a column name explicitly includes the word "local" — in that case, it reflects local time. If a date-type column doesn't have "local" in its name, assume it's UTC.
That said, when viewing data through our Sigma reports, these UTC columns are automatically adjusted to display in the organization's local time. So while the underlying data model is stored in UTC, Sigma handles the timezone conversion so that end users see times in their local context.
Column Header | Definition | Key? | Link Model | Datatype | Notes |
CUSTOMER_ID | Unique identifier of the customer. Customer: Organization-specific record representing a user's relationship with a particular Organization. The same user can be a customer at multiple organizations. | Primary |
|
|
|
ORGANIZATION_ID | Unique identifier for the organization the customer is associated with. | Foreign | ORGANIZATIONS |
|
|
ENTITY_ID | Unique identifier for the entity, could represent a user, family account or organization. User: A global Bond account with a unique email that can be associated with multiple organizations. | Foreign | USERS/internal FamilyAccounts table/ORGANIZATIONS |
|
|
ADDRESS_ID | Unique identifier for the customer’s address. | Foreign | ADDRESSES |
|
|
CREATOR_OGANIZATION_ID | The unique identifier for the organization that created the customer. Customer: Organization-specific record representing a user's relationship with a particular Organization. The same user can be a customer at multiple organizations. | Foreign | ORGANIZATIONS |
|
|
USER_ID | Unique identifier for the user. User: A global Bond account with a unique email that can be associated with multiple organizations. | Foreign | USERS |
|
|
CREATOR_USER_ID | User Id of the person who created this record. User: A global Bond account with a unique email that can be associated with multiple organizations. | Foreign | USERS |
|
|
CREATOR_ID | General ID of the creator. | Foreign | USERS/ORGANIZATIONS |
|
|
ENTITY_TYPE | The type/category of the entity. |
|
|
| Tells us the table to look at for "Entity Id" |
NAME | The full name customer. |
|
|
|
|
Email address. |
|
|
|
| |
PHONE_NUMBER | Contact phone number. |
|
|
|
|
CREATOR_TYPE | Type/category of the creator. |
|
|
| Tells us the table to look at for "Creator Id" |
FIRST_NAME | Customer’s first name. |
|
|
|
|
LAST_NAME | Customer’s last name. |
|
|
|
|
WAIVER_SIGNED_DATE | Date the customer signed a waiver. |
|
|
|
|
BALANCE | Outstanding balance this customer owes (ie. the sum of the amount due on all unpaid, partially paid, and unfinished scheduled payments for invoices) |
|
|
| Dead column |
STORED_CREDIT | Customer's credit balance at the organization. |
|
|
| Stored credit is the amount of money a customer has available to use toward future purchases. It’s created when you refund a paid invoice and choose the refund method “Credit balance”. |
IMPORTED_ID | "imported Id" is used when we migrate data from other systems into Bond. | No (reference only) | Imported Id is a legacy / external-system reference used for traceability. It is not a foreign key because it identifies records in other systems |
|
|
_CREATED_AT | Timestamp of when the record was first created. |
|
|
|
|
_UPDATED_AT | Timestamp of when the record was last updated. |
|
|
|
|
_DELETED_AT | Timestamp of when the record was soft deleted. |
|
|
|
|
_LOADED_AT | Timestamp of when the record was last loaded into the data warehouse. |
|
|
|
|
LINE_ITEMS
Our Snowflake data warehouse stores all datetime columns in UTC by default. The only exception is when a column name explicitly includes the word "local" — in that case, it reflects local time. If a date-type column doesn't have "local" in its name, assume it's UTC.
That said, when viewing data through our Sigma reports, these UTC columns are automatically adjusted to display in the organization's local time. So while the underlying data model is stored in UTC, Sigma handles the timezone conversion so that end users see times in their local context.
Column Header | Definition | Key? | Link Model | Datatype | Notes |
_DBT_SOURCE_RELATION | _DBT_SOURCE_RELATION — The fully qualified source table reference (database, schema, and model name) that identifies which upstream dbt model the record originated from. Populated automatically by dbt when unioning multiple sources together. |
|
|
| Metadata column that dbt populates automatically to track record lineage. |
LINE_ITEM_ID | Unique identifier for the line item. | Primary |
|
| In LINE_ITEMS, convenience fees are modeled as line items with a long Line Item Id. The columns Type, Product Type, Product Code, and Product Name indicate the fee. |
REFERENCE_LINE_ITEM_ID | Unique identifier for a related line item, if applicable. | Foreign (Self-Referencing) | LINE_ITEMS |
|
|
IS_CONVENIENCE_FEE | Whether this line item is a convenience fee. |
|
|
|
|
INVOICE_ID | Unique identifier of the invoice containing this line item. | Foreign | INVOICES |
|
|
LINE_CREATED_AT | Date/time when the line item was created. |
|
|
|
|
INVOICE_CREATED_AT | Date/time when the invoice was created. |
|
|
|
|
ORGANIZATION_ID | Unique identifier of the organization associated with the line item. | Foreign | ORGANIZATIONS |
|
|
TYPE | Type/category of the line item. |
|
|
|
|
PRODUCT_TYPE | Broad classification of the product. |
|
|
|
|
PRODUCT_SUB_TYPE | More specific classification of the product. |
|
|
|
|
PRODUCT_USER_ID | The unique identifier representing the usage of a product, by user. | Foreign | The table is documented internally as ProductsUsers. It represents ownership / entitlement records that link a user to a product they have purchased, and it is the core way the system determines “what does this user own and can they use it?” |
|
|
PRODUCT_ID | Unique identifier of the product. | Foreign | PRODUCTS |
|
|
PROMO_CODE_ID | Unique identifier of the promo code applied to this line item. | Foreign | PROMO_CODES |
|
|
PAYMENT_STATUS | Status of the payment. |
|
|
|
|
INVOICE_STATUS | Status of the invoice. |
|
|
|
|
PRODUCT_IS_PUNCH_CARD | Whether the product is a punch card. |
|
|
|
|
PRODUCT_IS_ADD_ON | Whether the product is an add-on to another product. |
|
|
|
|
PARTICIPANT_USER_ID | Unique identifier of the user participating in the activity. User: A global Bond account with a unique email that can be associated with multiple organizations. | Foreign | USERS |
|
|
PAYING_USER_ID | Unique identifier of the user who paid for the item. User: A global Bond account with a unique email that can be associated with multiple organizations. | Foreign | USERS |
|
|
PAYING_USER_NAME | Name of the user who paid. User: A global Bond account with a unique email that can be associated with multiple organizations. |
|
|
|
|
PAYING_USER_EMAIL | Email of the user who paid. User: A global Bond account with a unique email that can be associated with multiple organizations. |
|
|
|
|
PRODUCT_CODE_ID | Unique identifier for the product code. | Foreign | Our data warehouse does not currently have a ProductCodes model. There is an internal "GlCodes" table in our Postgres database, but it has not been modeled into Snowflake. |
| We rename "Product Code" columns — as that is what they are labeled in the data warehouse — to "GL Code" in our reports, as it is the preferred terminology for our customers. |
PRODUCT_CODE | Code representing the product. |
|
|
| We rename "Product Code" columns — as that is what they are labeled in the data warehouse — to "GL Code" in our reports, as it is the preferred terminology for our customers. |
PRODUCT_NAME | Name of the product. |
|
|
|
|
ORGANIZATION_NAME | Name of the organization providing the product. |
|
|
|
|
PARENT_ORGANIZATION_NAME | Name of the parent organization (if applicable). |
|
|
|
|
PARENT_ORGANIZATION_ID | Unique identifier of the parent organization (if applicable). | Foreign | PARENT_ORGANIZATIONS |
|
|
PROMO_CODE | The promo/discount code applied. |
|
|
|
|
PROMO_CODE_DISCOUNT_ON | What the promo code discount applies to. |
|
|
|
|
PROMO_CODE_DISCOUNT_DETAILS | Description/details of the discount. |
|
|
|
|
PROMO_CODE_DISCOUNT_ID | Unique identifier of the applied discount. | Foreign | DISCOUNTS |
| A promo code is a redeemable code that links to a discount and applies that discount’s pricing rules during checkout. |
PROGRAM_CODE | Code representing a program. Programs: Private Lesson, League, Camp, Clinic, Class, Club Team. |
|
|
|
|
SESSION_CODE | Code for a specific session within the program. Sessions sit under the program and can be broken down by skill level, season (e.g., Fall, Winter), age group, or other criteria. |
|
|
|
|
SEGMENT_CODE | Code representing a segment. Segments (Optional): Add organization within a session—use to group events (e.g., Mon/Wed vs. Tue/Thu), weekly or monthly registrations, or specific time blocks. |
|
|
|
|
FACILITY_ID | Unique identifier of the facility where the service is provided. | Foreign | FACILITIES |
|
|
FACILITY_NAME | Name of the facility. |
|
|
|
|
FACILITY_CODE | Code representing the facility. |
|
|
|
|
ACTIVITY_CODE | Code for a specific activity. |
|
|
|
|
INVOICE_PAYMENT_STATUS | Payment status of the invoice. |
|
|
|
|
HAS_FAILED_PAYMENTS | Whether any payment attempts have failed. |
|
|
|
|
HAS_PAYMENT_PLAN | Whether there’s a payment plan associated. |
|
|
|
|
ADJUSTMENT_REASON | Reason for any adjustment. |
|
|
|
|
IS_PROMO_CODE_PRIMARY | Indicates whether this is the primary promo code applied. |
|
|
|
|
ORIGINAL_QUANTITY | Quantity originally ordered. |
|
|
|
|
NET_QUANTITY | Final quantity. |
|
|
|
|
DISCOUNT_NON_TAX_AMOUNT | Discount amount excluding tax. |
|
|
|
|
GROSS_NON_TAX_AMOUNT | Gross amount excluding tax. |
|
|
|
|
GROSS_TAX_AMOUNT | Total tax amount before discounts. |
|
|
|
|
GROSS_TOTAL_AMOUNT | Gross amount including tax. |
|
|
|
|
NON_TAX_AMOUNT | Amount excluding tax. |
|
|
|
|
TAX_AMOUNT | Tax amount charged. |
|
|
|
|
TOTAL_AMOUNT | Total charged amount including tax. |
|
|
|
|
VOID_AMOUNT | Amount voided from the line item. |
|
|
|
|
DISCOUNT_AMOUNT | Total discount amount applied. |
|
|
|
|
REFUND_AMOUNT | Total refunded amount. |
|
|
|
|
ADJUSTMENT_AMOUNT | Amount adjusted. |
|
|
|
|
PAYMENT_AMOUNT | Total payment made for the line item. |
|
|
|
|
TAX_PAYMENT_AMOUNT | Portion of payment applied to tax. |
|
|
|
|
NON_TAX_PAYMENT_AMOUNT | Payment amount excluding tax portion. |
|
|
|
|
PAYMENT_AMOUNT_LESS_TRANSACTION_FEE | Payment received after subtracting transaction fees. |
|
|
|
|
BALANCE | Remaining balance for the line item. |
|
|
|
|
PROMO_CODE_USED_AT | When the promo code was applied. |
|
|
| Dead (Always null). |
EVENT_REGISTRATIONS
The event registrations model shows how session registrations break down into events. While users pay for session/segment registrations, they consume the product at the event level. Our Snowflake data warehouse stores all datetime columns in UTC by default. The only exception is when a column name explicitly includes the word "local" — in that case, it reflects local time. If a date-type column doesn't have "local" in its name, assume it's UTC.
That said, when viewing data through our Sigma reports, these UTC columns are automatically adjusted to display in the organization's local time. So while the underlying data model is stored in UTC, Sigma handles the timezone conversion so that end users see times in their local context.
Column Header | Definition | Key? | Link Model | Datatype | Notes |
REGISTRATION_KEY | Unique identifier for each registration record. | Primary |
|
| The event registrations model shows how session registrations break down into events. While users pay for session/segment registrations, they consume the product at the event level. |
CREATED_AT | Date/time the registration was created |
|
|
|
|
INVOICE_ID | Unique identifier of the invoice linked to the registration. | Foreign | INVOICES |
|
|
LINE_ITEM_ID | Unique identifier of the line item on the invoice. | Foreign | LINE_ITEMS |
|
|
ORGANIZATION_ID | Unique identifier of the organization hosting the event. | Foreign | ORGANIZATIONS |
|
|
PRODUCT_USER_ID | The unique identifier representing the usage of a product, by user. User: A global Bond account with a unique email that can be associated with multiple organizations. | Foreign | The table is documented internally as "ProductsUsers". It represents ownership / entitlement records that link a user to a product they have purchased, and it is the core way the system determines “what does this user own and can they use it?” |
|
|
PARTICIPANT_USER_ID | Identifier of the user participating in the activity. User: A global Bond account with a unique email that can be associated with multiple organizations. | Foreign | USERS |
|
|
PAYING_USER_ID | Identifier of the user responsible for payment. User: A global Bond account with a unique email that can be associated with multiple organizations. | Foreign | USERS |
|
|
CUSTOMER_ID | Unique identifier of the customer. Customer: Organization-specific record representing a user's relationship with a particular Organization. The same user can be a customer at multiple organizations. | Foreign | CUSTOMERS |
|
|
PROGRAM_ID | Unique identifier of the program. Programs: Private Lesson, League, Camp, Clinic, Class, Club Team. | Foreign | Our data warehouse does not currently have a Programs model. There is an internal "Programs" table in our Postgres database, but it has not been modeled into Snowflake. |
|
|
SESSION_ID | Unique identifier of the specific session within the program. Sessions sit under the program and can be broken down by skill level, season (e.g., Fall, Winter), age group, or other criteria. | Foreign | Our data warehouse does not currently have a Sessions model. There is an internal "Sessions" table in our Postgres database, but it has not been modeled into Snowflake. |
|
|
SEGMENT_ID | Unique identifier of the segment. Segments (Optional): Add organization within a session—use to group events (e.g., Mon/Wed vs. Tue/Thu), weekly or monthly registrations, or specific time blocks. | Foreign | Our data warehouse does not currently have a Segments model. There is an internal "Segments" table in our Postgres database, but it has not been modeled into Snowflake. |
|
|
PRODUCT_ID | Unique identifier of the product linked to the registration. | Foreign | PRODUCTS |
|
|
FACILITY_ID | Unique identifier of the facility where the event takes place. | Foreign | FACILITIES |
|
|
EVENT_ADDRESS_ID | Unique identifier of the event’s address. | Foreign | ADDRESSES |
|
|
EVENT_ID | Unique identifier of the event. | Foreign | Our data warehouse does not currently have an Events model. There is an internal "Events" table in our Postgres database, but it has not been modeled into Snowflake. Event Id is a foreign key in EVENT_REGISTRATIONS, referencing the primary key of the "Events" table — the primary key of EVENT_REGISTRATIONS is Registration Key. |
|
|
EVENT_NAME | Name of the event. |
|
|
|
|
EVENT_START_DATE | Date/time the event starts. |
|
|
|
|
EVENT_END_DATE | Date/time the event ends. |
|
|
|
|
PARTICIPANTS_LIMIT | This field is non-informative (values are always null or 0) and should be excluded from consideration. |
|
|
|
|
REGISTRATION_STATUS | Status of the registration. |
|
|
|
|
EVENT_ATTENDANCE_STATUS | Attendance status of the participant. |
|
|
|
|
CHECKED_IN_AT | Date/time the participant checked in. |
|
|
|
|
IS_PUNCH_PASS | Whether the registration uses a punch pass. |
|
|
|
|
PUNCH_PASS_QUANTITY | This is the punch pass quantity at the time of the purchase. |
|
|
|
|
INVOICE_STATUS | Status of the invoice linked to the registration. |
|
|
| Only rental products will have invoices with a status of “Draft.” |
INVOICE_CREATED_AT | Date/time the invoice was created. |
|
|
|
|
ORGANIZATION_NAME | Name of the organization hosting the event. |
|
|
|
|
PARTICIPANT_FIRST_NAME | First name of the participant. |
|
|
|
|
PARTICIPANT_LAST_NAME | Last name of the participant. |
|
|
|
|
PARTICIPANT_GENDER | Gender of the participant. |
|
|
|
|
PARTICIPANT_BIRTH_DATE | Date of birth of the participant. |
|
|
|
|
PARTICIPANT_AGE | Age of the participant. |
|
|
|
|
PARTICIPANT_PHONE_NUMBER | Phone number of the participant. |
|
|
|
|
PARTICIPANT_ADDRESS | Street address of the participant. |
|
|
|
|
PARTICIPANT_CITY | City of the participant. |
|
|
|
|
CUSTOMER_FIRST_NAME | First name of the customer (payer). Customer: Organization-specific record representing a user's relationship with a particular Organization. The same user can be a customer at multiple organizations. |
|
|
|
|
CUSTOMER_LAST_NAME | Last name of the customer (payer). Customer: Organization-specific record representing a user's relationship with a particular Organization. The same user can be a customer at multiple organizations. |
|
|
|
|
CUSTOMER_EMAIL | Email address of the customer. Customer: Organization-specific record representing a user's relationship with a particular Organization. The same user can be a customer at multiple organizations. |
|
|
|
|
PROGRAM_NAME | Name of the program. Programs: Private Lesson, League, Camp, Clinic, Class, Club Team. |
|
|
|
|
SESSION_NAME | Name of the session under the program. Sessions sit under the program and can be broken down by skill level, season (e.g., Fall, Winter), age group, or other criteria. |
|
|
|
|
SEGMENT_NAME | Name of the segment under the session. Segments (Optional): Add organization within a session—use to group events (e.g., Mon/Wed vs. Tue/Thu), weekly or monthly registrations, or specific time blocks. |
|
|
|
|
PRODUCT_NAME | Name of the product. |
|
|
|
|
PRODUCT_TYPE | Type of product. |
|
|
|
|
PRODUCT_SUB_TYPE | Subtype of the product. |
|
|
|
|
ACTIVITY_NAME | Name of the activity linked to the registration. |
|
|
| dead column (always null). |
FACILITY_NAME | Name of the facility. |
|
|
|
|
FACILITY_ADDRESS | Address of the facility. |
|
|
|
|
FACILITY_CITY | City where the facility is located. |
|
|
|
|
FACILITY_STATE | State where the facility is located. |
|
|
|
|
PRODUCT_CODE | Code assigned to the product. |
|
|
| We rename "Product Code" columns — as that is what they are labeled in the data warehouse — to "GL Code" in our reports, as it is the preferred terminology for our customers. |
PROGRAM_CODE | Code assigned to the program. Programs: Private Lesson, League, Camp, Clinic, Class, Club Team. |
|
|
|
|
FACILITY_CODE | Code assigned to the facility. |
|
|
|
|
LEAGUE_SEASON_REGISTRATIONS
The central model for leagues, the league season registrations model denotes season registrations by player, ties to the relevant invoice, and give metadata about the League, season, and teams. Our Snowflake data warehouse stores all datetime columns in UTC by default. The only exception is when a column name explicitly includes the word "local" — in that case, it reflects local time. If a date-type column doesn't have "local" in its name, assume it's UTC.
That said, when viewing data through our Sigma reports, these UTC columns are automatically adjusted to display in the organization's local time. So while the underlying data model is stored in UTC, Sigma handles the timezone conversion so that end users see times in their local context.
Column Header | Definition | Key? | Link Model | Datatype | Notes |
_DBT_SOURCE_RELATION | _DBT_SOURCE_RELATION — The fully qualified source table reference (database, schema, and model name) that identifies which upstream dbt model the record originated from. Populated automatically by dbt when unioning multiple sources together. |
|
|
| Metadata column that dbt populates automatically to track record lineage. |
LINE_ITEM_ID | Unique identifier for an individual line item in an invoice. | Foreign | LINE_ITEMS |
|
|
INVOICE_ID | Unique identifier for the related billing record. | Foreign | INVOICES |
|
|
ORGANIZATION_ID | Unique identifier for the organization running the league. | Foreign | ORGANIZATIONS |
|
|
LEAGUE_ID | Unique identifier for the league entity itself. | Foreign | Our data warehouse does not currently have a Leagues model. There is an internal "Leagues" table in our Postgres database, but it has not been modeled into Snowflake. |
|
|
LEAGUE_SEASON_ID | Unique identifier for the specific season of the league. | Foreign | Our data warehouse does not currently have a LeagueSeasons model. There is an internal "LeagueSeasons" table in our Postgres database, but it has not been modeled into Snowflake. |
|
|
QUESTIONNAIRE_ID | Unique identifier linking any registration-related survey or form. | Foreign | Our data warehouse does not currently have a Questionnaires model. There is an internal "Questionnaires" table in our Postgres database, but it has not been modeled into Snowflake. |
|
|
TEAM_ID | Unique identifier for the registered team. | Foreign | Our data warehouse does not currently have a Teams model. There is an internal "Teams" table in our Postgres database, but it has not been modeled into Snowflake. |
|
|
PARTICIPANT_USER_ID | Unique identifier of the user participating. User: A global Bond account with a unique email that can be associated with multiple organizations. | Foreign | USERS |
|
|
PAYING_USER_ID | Unique identifier for the user making the payment. User: A global Bond account with a unique email that can be associated with multiple organizations. | Foreign | USERS |
|
|
FACILITY_ID | Unique identifier of the facility. | Foreign | FACILITIES |
|
|
PARENT_ORGANIZATION_ID | Unique identifier of the parent organization (if applicable). | Foreign | PARENT_ORGANIZATIONS |
|
|
SEASON_NAME | Name of the season. |
|
|
|
|
LEAGUE_NAME | Name of the league. |
|
|
|
|
TEAM_NAME | Name of the team. |
|
|
|
|
FACILITY_NAME | Name of the facility. |
|
|
|
|
SIGNED_UP_AT | Timestamp of when registration occurred. |
|
|
|
|
SEASON_START_DATE | Timestamp of when the season starts. |
|
|
|
|
SEASON_END_DATE | Timestamp of when the season ends. |
|
|
|
|
TOTAL_AMOUNT | Total cost charged for the registration. |
|
|
|
|
BALANCE | Outstanding amount remaining for payment. |
|
|
|
|
PRODUCT_NAME | Name of the product. |
|
|
|
|
PARTICIPANT_FIRST_NAME | Participant’s first name. |
|
|
|
|
PARTICIPANT_LAST_NAME | Participant’s last name. |
|
|
|
|
PARTICIPANT_GENDER | Gender of the participant. |
|
|
|
|
PARTICIPANT_BIRTH_DATE | Participant’s date of birth. |
|
|
|
|
PARTICIPANT_AGE | Age of the participant. |
|
|
|
|
PARTICIPANT_ADDRESS | Participant’s address. |
|
|
|
|
PARTICIPANT_CITY | Participant’s city. |
|
|
|
|
PARTICIPANT_PHONE_NUMBER | Participant’s phone number. |
|
|
|
|
CAPTAIN_EMAIL | Email address of the team captain. |
|
|
|
|
CAPTAIN_FIRST_NAME | First name of the team captain. |
|
|
|
|
CAPTAIN_LAST_NAME | Last name of the team captain. |
|
|
|
|
TEAM_MEMBER_ROLE_NAME | Participant’s role within the team. |
|
|
|
|
ORGANIZATION_NAME | Name of the organization running the league. |
|
|
|
|
PARENT_ORGANIZATION_NAME | Name of the parent organization (if applicable). |
|
|
|
|
USER_ID | Unique identifier for the user. User: A global Bond account with a unique email that can be associated with multiple organizations. | Foreign | USERS |
|
|
MEMBERSHIP_ATTENDANCE
Shows check ins (initiated by a scanning of their Bond ID) at each location and time. Our Snowflake data warehouse stores all datetime columns in UTC by default. The only exception is when a column name explicitly includes the word "local" — in that case, it reflects local time. If a date-type column doesn't have "local" in its name, assume it's UTC.
That said, when viewing data through our Sigma reports, these UTC columns are automatically adjusted to display in the organization's local time. So while the underlying data model is stored in UTC, Sigma handles the timezone conversion so that end users see times in their local context.
Column Header | Definition | Key? | Link Model | Datatype | Notes |
ATTENDANCE_ID | Unique identifier of the attendance record. | Foreign | Our data warehouse does not currently have an Attendance model. There is an internal "Attendance" table in our Postgres database, but it has not been modeled into Snowflake. |
|
|
MEMBERSHIP_ID | Unique identifier of the membership linked to the attendance. | Foreign | MEMBERSHIPS |
|
|
PARTICIPANT_USER_ID | Unique identifier of the participant user who attended. User: A global Bond account with a unique email that can be associated with multiple organizations. | Foreign | USERS |
|
|
ORGANIZATION_ID | Unique identifier of the organization. | Foreign | ORGANIZATIONS |
|
|
FACILITY_ID | Unique identifier of the facility where attendance was recorded. | Foreign | FACILITIES |
|
|
MEMBERSHIP_NAME | Name of the membership associated with the attendance. |
|
|
|
|
MEMBERSHIP_TYPE | Type of membership. |
|
|
|
|
CHECKED_IN_AT | Date/time of when the member checked in. |
|
|
|
|
ORGANIZATION_NAME | Name of the organization. |
|
|
|
|
MEMBERSHIP_MEMBERS
High level view of current membership information including renewals, sign ups, cancellations, and expirations. Use the Range Start/End to see what member is active during what time period. Our Snowflake data warehouse stores all datetime columns in UTC by default. The only exception is when a column name explicitly includes the word "local" — in that case, it reflects local time. If a date-type column doesn't have "local" in its name, assume it's UTC.
That said, when viewing data through our Sigma reports, these UTC columns are automatically adjusted to display in the organization's local time. So while the underlying data model is stored in UTC, Sigma handles the timezone conversion so that end users see times in their local context. NOTE: Range Start/End - no timezone, Pause Start/End dates - no timezone.If you try to sign up for a membership at 8PM in LA on 3/25, our system will actually block you from doing so, as 3/25 will be considered in the past. You would have to select 3/26 as the start date. So, our system does not log a timestamp for sign up, but it is effectively gated by a UTC timezone.
Column Header | Definition | Key? | Link Model | Datatype | Notes |
MEMBERSHIP_MEMBER_ID | Unique identifier of the membership member. | Primary |
|
|
|
MEMBERSHIP_ID | Unique identifier of the membership. | Foreign | MEMBERSHIPS |
|
|
INVOICE_ID | Identifier of the invoice linked to the membership. | Foreign | INVOICES |
|
|
PARTICIPANT_USER_ID | Identifier of the participant user. User: A global Bond account with a unique email that can be associated with multiple organizations. | Foreign | USERS |
|
|
PAYING_USER_ID | Identifier of the paying user. User: A global Bond account with a unique email that can be associated with multiple organizations. | Foreign | USERS |
|
|
ORGANIZATION_ID | Unique identifier of the organization linked to the membership. | Foreign | ORGANIZATIONS |
|
|
MEMBERSHIP_STATUS | Status of the membership. |
|
|
|
|
RENEWAL_STATUS | Renewal status of the membership. |
|
|
|
|
RANGE_START | Date of the membership range starting. |
|
|
|
|
RANGE_END | Date of the membership range ending. |
|
|
|
|
MEMBERSHIP_TYPE | Type of membership. |
|
|
|
|
MEMBERSHIP_NAME | Name of the membership. |
|
|
|
|
MEMBERSHIP_SIGNED_UP_AT | The date/time of sign-up. |
|
|
|
|
MEMBERSHIP_START_DATE | Date/time of the membership starting. |
|
|
|
|
MEMBERSHIP_END_DATE | Date/time of the membership ending. |
|
|
|
|
MEMBERSHIP_EXPIRATION_DATE | Date/time of the membership expiration. |
|
|
|
|
MEMBERSHIP_CANCELLED_AT | Date/time of when the membership was canceled. |
|
|
|
|
MEMBERSHIP_CANCELLATION_STATUS | Status of the membership cancellation. |
|
|
|
|
MEMBERSHIP_PAUSE_START_DATE | Date/time of the membership pause starting. |
|
|
|
|
MEMBERSHIP_PAUSE_END_DATE | Date/time of the membership pause ending. |
|
|
|
|
MEMBERSHIP_DURATION | Duration of the membership. |
|
|
|
|
MEMBERSHIP_RENEWAL_DATE | Date/time of the membership renewal. |
|
|
|
|
MEMBER_NAME | Name of the member. |
|
|
|
|
MEMBER_EMAIL | Email of the member. |
|
|
|
|
MEMBER_DATE_OF_BIRTH | The member’s date of birth. |
|
|
|
|
MEMBER_AGE | Age of the member. |
|
|
|
|
MEMBER_GENDER | Gender of the member. |
|
|
|
|
CUSTOMER_NAME | Name of the customer. Customer: Organization-specific record representing a user's relationship with a particular Organization. The same user can be a customer at multiple organizations. |
|
|
|
|
CUSTOMER_EMAIL | Email of the customer. Customer: Organization-specific record representing a user's relationship with a particular Organization. The same user can be a customer at multiple organizations. |
|
|
|
|
CURRENT_RENEWAL_STATUS | Current renewal status of the membership. |
|
|
|
|
CURRENT_MEMBERSHIP_STATUS | Current status of the membership. |
|
|
|
|
ORGANIZATION_NAME | Name of the organization. |
|
|
|
|
PARENT_ORGANIZATION_NAME | Name of the parent organization (if applicable). |
|
|
|
|
PRODUCT_NAME | Name of the product linked to the membership. |
|
|
|
|
PRODUCT_TYPE | Type of product linked to the membership. |
|
|
| The last [MEMBERSHIP_MEMBERS/Range Start] value, where [MEMBERSHIP_MEMBERS/Product Type] = 'package' is 2024-12-30 00:00:00. Other than that, this column always has a value of 'membership' |
PRODUCT_CODE | Code of the product linked to the membership. |
|
|
| We rename "Product Code" columns — as that is what they are labeled in the data warehouse — to "GL Code" in our reports, as it is the preferred terminology for our customers. |
MEMBERSHIP_MEMBERS_DAILY
Shows Member information trended against dates. Reporting date can be used to view data "as of". Our Snowflake data warehouse stores all datetime columns in UTC by default. The only exception is when a column name explicitly includes the word "local" — in that case, it reflects local time. If a date-type column doesn't have "local" in its name, assume it's UTC.
That said, when viewing data through our Sigma reports, these UTC columns are automatically adjusted to display in the organization's local time. So while the underlying data model is stored in UTC, Sigma handles the timezone conversion so that end users see times in their local context.
Column Header | Definition | Key? | Link Model | Datatype | Notes |
REPORTING_DATE | Date/time the report was generated. |
|
|
|
|
MEMBERSHIP_ID | Unique identifier of the membership. | Foreign | MEMBERSHIPS |
|
|
MEMBERSHIP_MEMBER_ID | Unique identifier of the membership member. | Foreign | MEMBERSHIP_MEMBERS |
|
|
MEMBERSHIP_STATUS | Status of the membership. |
|
|
|
|
RENEWAL_STATUS | Renewal status of the membership. |
|
|
|
|
INVOICE_ID | Unique identifier for the invoice. | Foreign | INVOICES |
|
|
PARTICIPANT_USER_ID | Identifier of the participant user. User: A global Bond account with a unique email that can be associated with multiple organizations. | Foreign | USERS |
|
|
PAYING_USER_ID | Unique identifier of the user responsible for payment. User: A global Bond account with a unique email that can be associated with multiple organizations. | Foreign | USERS |
|
|
ORGANIZATION_ID | Unique identifier of the organization. | Foreign | ORGANIZATIONS |
|
|
MEMBERSHIP_TYPE | Type of membership. |
|
|
|
|
MEMBERSHIP_NAME | Name of the membership associated with the attendance. |
|
|
|
|
MEMBERSHIP_SIGNED_UP_AT | Date/time of sign-up. |
|
|
|
|
MEMBERSHIP_START_DATE | Date/time of the membership start. |
|
|
|
|
MEMBERSHIP_END_DATE | Date/time of the membership end. |
|
|
|
|
MEMBERSHIP_EXPIRATION_DATE | Date/time of the membership expiration. |
|
|
|
|
MEMBERSHIP_CANCELLED_AT | Date/time of the membership cancellation. |
|
|
|
|
MEMBERSHIP_CANCELLATION_STATUS | Status of the membership cancellation. |
|
|
|
|
MEMBERSHIP_PAUSE_START_DATE | Date/time of the membership pause start. |
|
|
|
|
MEMBERSHIP_PAUSE_END_DATE | Date/time of the membership pause end. |
|
|
|
|
MEMBERSHIP_DURATION | The length of the membership. |
|
|
|
|
MEMBERSHIP_RENEWAL_DATE | Date/time of when the membership is scheduled to renew. |
|
|
|
|
MEMBER_NAME | Full name of the member associated with the membership. |
|
|
|
|
MEMBER_EMAIL | Email address of the member. |
|
|
|
|
MEMBER_DATE_OF_BIRTH | Member’s date of birth. |
|
|
|
|
MEMBER_AGE | Age of the member. |
|
|
|
|
MEMBER_GENDER | Gender of the member. |
|
|
|
|
CUSTOMER_NAME | Name of the customer. Customer: Organization-specific record representing a user's relationship with a particular Organization. The same user can be a customer at multiple organizations. |
|
|
|
|
CUSTOMER_EMAIL | Email address of the customer. Customer: Organization-specific record representing a user's relationship with a particular Organization. The same user can be a customer at multiple organizations. |
|
|
|
|
ORGANIZATION_NAME | The name of the organization where the membership is active. |
|
|
|
|
PARENT_ORGANIZATION_NAME | If applicable, the larger parent organization tied to the sub-organization. |
|
|
|
|
PRODUCT_NAME | Name of the product. |
|
|
|
|
PRODUCT_TYPE | The type or category of product. |
|
|
|
|
PRODUCT_CODE | The code assigned to the product. |
|
|
| We rename "Product Code" columns — as that is what they are labeled in the data warehouse — to "GL Code" in our reports, as it is the preferred terminology for our customers. |
PAYMENT_FAILURES
Our Snowflake data warehouse stores all datetime columns in UTC by default. The only exception is when a column name explicitly includes the word "local" — in that case, it reflects local time. If a date-type column doesn't have "local" in its name, assume it's UTC.
That said, when viewing data through our Sigma reports, these UTC columns are automatically adjusted to display in the organization's local time. So while the underlying data model is stored in UTC, Sigma handles the timezone conversion so that end users see times in their local context.
Column Header | Definition | Key? | Link Model | Datatype | Notes |
PAYMENT_FAILURE_ID | Unique identifier for the failed payment attempt. | Primary |
|
|
|
PAYMENT_ID | Unique identifier for the associated payment record. | Foreign | PAYMENTS |
|
|
INVOICE_ID | Unique identifier for the invoice tied to the payment attempt. | Foreign | INVOICES |
|
|
ORGANIZATION_ID | Unique identifier for the organization associated with the payment attempt. | Foreign | ORGANIZATIONS |
|
|
CUSTOMER_NAME | Full name of the customer linked to the failed payment. Customer: Organization-specific record representing a user's relationship with a particular Organization. The same user can be a customer at multiple organizations. |
|
|
|
|
PAYMENT_TYPE | Method of payment attempted. |
|
|
|
|
CREDIT_CARD_LAST_4 | The last four digits of the credit card used in the payment attempt. |
|
|
|
|
PAYMENT_FAILURE_DATE | The date the payment failure occurred. |
|
|
|
|
PAYMENT_FAILURE_TIME | The time the payment failure occurred. |
|
|
|
|
PAYMENT_FAILURE_ERROR_MESSAGE | The specific error message returned by the payment processor. |
|
|
|
|
ORGANIZATION_NAME | Name of the organization associated with the failed payment. |
|
|
|
|
PAYMENT_LINE_ITEMS
Our Snowflake data warehouse stores all datetime columns in UTC by default. The only exception is when a column name explicitly includes the word "local" — in that case, it reflects local time. If a date-type column doesn't have "local" in its name, assume it's UTC.
That said, when viewing data through our Sigma reports, these UTC columns are automatically adjusted to display in the organization's local time. So while the underlying data model is stored in UTC, Sigma handles the timezone conversion so that end users see times in their local context.
Column Header | Definition | Key? | Link Model | Datatype | Notes |
_DBT_SOURCE_RELATION | _DBT_SOURCE_RELATION — The fully qualified source table reference (database, schema, and model name) that identifies which upstream dbt model the record originated from. Populated automatically by dbt when unioning multiple sources together. |
|
|
| Metadata column that dbt populates automatically to track record lineage. |
LINE_ITEM_ID | The unique identifier for a line item. | Foreign | LINE_ITEMS |
|
|
REFERENCE_LINE_ITEM_ID | Unique identifier for a related line item, if applicable. | Foreign | LINE_ITEMS |
|
|
IS_CONVENIENCE_FEE | Whether this line item is a convenience fee. |
|
|
| In LINE_ITEMS, convenience fees are modeled as line items with a long Line Item Id. The columns Type, Product Type, Product Code, and Product Name indicate the fee. |
PAYMENT_ID | Unique identifier for the payment transaction. | Foreign | PAYMENTS |
|
|
INVOICE_ID | Unique identifier for the invoice associated with the payment. | Foreign | INVOICES |
|
|
ORGANIZATION_ID | Unique identifier for the organization receiving the payment. | Foreign | ORGANIZATIONS |
|
|
FACILITY_ID | Unique identifier for the facility where the service/product is offered. | Foreign | FACILITIES |
|
|
PRODUCT_ID | Unique identifier for the product purchased. | Foreign | PRODUCTS |
|
|
PRODUCT_USER_ID | The Unique identifier representing the usage of a product, by user. | Foreign | The table is documented internally as ProductsUsers. It represents ownership / entitlement records that link a user to a product they have purchased, and it is the core way the system determines “what does this user own and can they use it?” |
|
|
PARTICIPANT_USER_ID | Unique identifier of the user participating in the activity. User: A global Bond account with a unique email that can be associated with multiple organizations. | Foreign | USERS |
|
|
PROMO_CODE_ID | Unique identifier for a promo code applied to this line item. | Foreign | PROMO_CODES |
|
|
PROMO_CODE_DISCOUNT_ID | Unique identifier for a discount linked to the promo code. | Foreign | DISCOUNTS |
|
|
PROMO_CODE | Promotional code applied to the purchase. |
|
|
|
|
PROMO_CODE_DISCOUNT_ON | What the promo code discount applies to. |
|
|
|
|
PROMO_CODE_DISCOUNT_DETAILS | Details of the promo code discount. |
|
|
|
|
ADJUSTMENT_REASON | Reason for any adjustment (e.g., Employee discount, Void Balance). |
|
|
|
|
IS_PROMO_CODE_PRIMARY | Indicates whether this is the primary promo code applied. |
|
|
|
|
PAYING_USER_ID | Unique identifier of the user making the payment. User: A global Bond account with a unique email that can be associated with multiple organizations. | Foreign | USERS |
|
|
PAYOUT_ARRIVAL_DATE | Date of the payout arrival. |
|
|
|
|
TAX_PAYMENT_AMOUNT | Portion of the payment that represents taxes. |
|
|
|
|
NON_TAX_PAYMENT_AMOUNT | Payment amount excluding taxes. |
|
|
|
|
PAYMENT_AMOUNT | Total amount of the payment. |
|
|
|
|
TRANSACTION_FEE | Fee charged by the payment processor for this transaction. |
|
|
|
|
PAYMENT_AMOUNT_LESS_TRANSACTION_FEE | Net payment amount after transaction fees are subtracted. |
|
|
|
|
PAYMENT_METHOD | The method used to complete a transaction. |
|
|
|
|
PAYOUT_ID | Unique identifier for the payout batch containing this payment. | Foreign | Links to Stripe Tables |
|
|
STRIPE_AMOUNT_PAID | Total amount processed through Stripe. |
|
|
|
|
STRIPE_FEE | Fee charged by Stripe for processing the payment. |
|
|
|
|
STRIPE_NET | Net amount after Stripe's fees are deducted. |
|
|
|
|
BOND_AMOUNT_PAID | Total amount processed through Bond. |
|
|
|
|
BOND_FEE | Fee charged by Bond for processing the payment. |
|
|
|
|
BOND_NET | Net amount after Bond's fees are deducted. |
|
|
|
|
AMOUNT_IN_TRANSIT | Funds that have been paid but are not yet settled. |
|
|
|
|
DIFF_AMOUNT_PAID | Difference between expected and actual amount paid. |
|
|
|
|
DIFF_TRANSACTION_FEE | Difference between expected and actual transaction fee. |
|
|
|
|
DIFF_NET | Difference between expected and actual net payment. |
|
|
|
|
PAYMENT_NUMBER | Internal ID (system reference). |
|
|
|
|
REAL_PAYMENT_NUMBER | Internal ID (system reference). |
|
|
|
|
PRECEDING_REAL_PAYMENT_COUNT | Internal ID (system reference). |
|
|
|
|
PAYMENT_NOTES | Notes related to the payment. |
|
|
|
|
PAYMENT_METHOD_INFO | Last 4 digits on card, or check number given at time of purchase. |
|
|
|
|
SUB_PAYMENT_METHOD | Debit or credit, etc |
|
|
|
|
CREDIT_CARD_BRAND | Brand of the credit card used for the payment. |
|
|
|
|
CURRENCY | Currency code for the payment. |
|
|
|
|
PAYMENT_STATUS | Current status of the payment. |
|
|
|
|
PRODUCT_CODE | The code assigned to the product. |
|
|
| We rename "Product Code" columns — as that is what they are labeled in the data warehouse — to "GL Code" in our reports, as it is the preferred terminology for our customers. |
PAYING_USER_EMAIL | Email address of the paying user. User: A global Bond account with a unique email that can be associated with multiple organizations. |
|
|
|
|
PAYING_USER_NAME | Name of the paying user. User: A global Bond account with a unique email that can be associated with multiple organizations. |
|
|
|
|
ORGANIZATION_NAME | Name of the organization receiving the payment. |
|
|
|
|
PARENT_ORGANIZATION_ID | Unique identifier of the parent organization (if applicable). | Foreign | PARENT_ORGANIZATIONS |
|
|
PARENT_ORGANIZATION_NAME | Name of the parent organization (if applicable). |
|
|
|
|
FACILITY_NAME | Name of the facility providing the product/service. |
|
|
|
|
PROGRAM_CODE | Code identifying the program linked to the product. |
|
|
|
|
INVOICE_PAYMENT_STATUS | Status of the payment for the invoice. |
|
|
|
|
INVOICE_STATUS | Current status of the invoice. |
|
|
|
|
SESSION_CODE | Code for a specific session within the program. Sessions sit under the program and can be broken down by skill level, season (e.g., Fall, Winter), age group, or other criteria. |
|
|
|
|
PRODUCT_NAME | Name of the product purchased. |
|
|
|
|
PRODUCT_TYPE | Type or category of the product. |
|
|
|
|
SEGMENT_CODE | Code representing a segment. Segments (Optional): Add organization within a session—use to group events (e.g., Mon/Wed vs. Tue/Thu), weekly or monthly registrations, or specific time blocks. |
|
|
|
|
ACTIVITY_CODE | Code for a specific activity. |
|
|
|
|
FACILITY_CODE | Code identifying the facility. |
|
|
|
|
PAYMENT_CREATED_AT | Date/time of when the payment record was created. |
|
|
|
|
INVOICE_CREATED_AT | Date/time of when the invoice record was created. |
|
|
|
|
LINE_CREATED_AT | Date/time of when the line item record was created. |
|
|
|
|
GROSS_NON_TAX_AMOUNT | Total amount before taxes are applied. |
|
|
|
|
TOTAL_AMOUNT | Total billed amount including taxes and fees. |
|
|
|
|
SESSION_REGISTRATIONS
The core model for programming, the session registrations model denotes session and segment registrations by user, ties to the relevant invoice, and gives metadata about the programs and sessions. Our Snowflake data warehouse stores all datetime columns in UTC by default. The only exception is when a column name explicitly includes the word "local" — in that case, it reflects local time. If a date-type column doesn't have "local" in its name, assume it's UTC.
That said, when viewing data through our Sigma reports, these UTC columns are automatically adjusted to display in the organization's local time. So while the underlying data model is stored in UTC, Sigma handles the timezone conversion so that end users see times in their local context.
Column Header | Definition | Key? | Link Model | Datatype | Notes |
REGISTRATION_KEY | Unique identifier for each registration record (see Notes columns). | Primary |
|
| A compound key that uniquely identifies a session registration record, constructed as either a combination of a Segment ID and a Season Attendee ID (e.g., seg_{segment_id}_sa_{season_attendee_id}) for segment-based registrations, or a combination of a Session ID and a Line Item ID (e.g., ses_{session_id}_li_{line_item_id}) for session-based registrations. |
REGISTRATION_STATUS | Status of registration. |
|
|
|
|
INVOICE_ID | Unique identifier of the invoice. | Foreign | INVOICES |
|
|
LINE_ITEM_ID | Unique identifier of the specific line item on the invoice. | Foreign | LINE_ITEMS |
|
|
ORGANIZATION_ID | Unique identifier of the organization. | Foreign | ORGANIZATIONS |
|
|
PARTICIPANT_USER_ID | Unique identifier of the user participating. User: A global Bond account with a unique email that can be associated with multiple organizations. | Foreign | USERS |
|
|
PAYING_USER_ID | Unique identifier of the user responsible for payment. User: A global Bond account with a unique email that can be associated with multiple organizations. | Foreign | USERS |
|
|
CUSTOMER_ID | Unique identifier of the customer. Customer: Organization-specific record representing a user's relationship with a particular Organization. The same user can be a customer at multiple organizations. | Foreign | CUSTOMERS |
|
|
PROGRAM_ID | Unique identifier of the program. Programs: Private Lesson, League, Camp, Clinic, Class, Club Team. | Foreign | Our data warehouse does not currently have a Programs model. There is an internal "Programs" table in our Postgres database, but it has not been modeled into Snowflake. |
|
|
SESSION_ID | Unique identifier of the session. Sessions sit under the program and can be broken down by skill level, season (e.g., Fall, Winter), age group, or other criteria. | Foreign | Our data warehouse does not currently have a Sessions model. There is an internal "Sessions" table in our Postgres database, but it has not been modeled into Snowflake. |
|
|
SEGMENT_ID | Unique identifier of the segment. Segments (Optional): Add organization within a session—use to group events (e.g., Mon/Wed vs. Tue/Thu), weekly or monthly registrations, or specific time blocks. | Foreign | Our data warehouse does not currently have a Segments model. There is an internal "Segments" table in our Postgres database, but it has not been modeled into Snowflake. |
|
|
PRODUCT_ID | Unique identifier of the product. | Foreign | PRODUCTS |
|
|
FACILITY_ID | Unique identifier of the facility. | Foreign | FACILITIES |
|
|
PRODUCT_CODE_ID | Unique identifier of the product code. | Foreign | Our data warehouse does not currently have a ProductCodes model. There is an internal "GlCodes" table in our Postgres database, but it has not been modeled into Snowflake. |
| We rename "Product Code" columns — as that is what they are labeled in the data warehouse — to "GL Code" in our reports, as it is the preferred terminology for our customers. |
PROGRAM_CODE_ID | Internal system code ID for the program. Programs: Private Lesson, League, Camp, Clinic, Class, Club Team. | Foreign | Our data warehouse does not currently have a ProgramCodes model. There is an internal "ProgramCodes" table in our Postgres database, but it has not been modeled into Snowflake. |
|
|
FACILITY_CODE_ID | Unique identifier for the facility code. | Foreign | Our data warehouse does not currently have a ProgramCodes model. There is an internal "FacilityCodes" table in our Postgres database, but it has not been modeled into Snowflake. |
|
|
REGISTERED_AT | Date/Time of when the registration was made. |
|
|
|
|
SESSION_START_DATE | Date of the session starting. Sessions sit under the program and can be broken down by skill level, season (e.g., Fall, Winter), age group, or other criteria. |
|
|
|
|
SESSION_END_DATE | Date of the session ending. Sessions sit under the program and can be broken down by skill level, season (e.g., Fall, Winter), age group, or other criteria. |
|
|
|
|
MAX_PARTICIPANTS | Maximum participants allowed. |
|
|
|
|
MAX_MALE_PARTICIPANTS | Maximum male participants allowed. |
|
|
|
|
MAX_FEMALE_PARTICIPANTS | Maximum female participants allowed. |
|
|
|
|
PRICE | Price charged. |
|
|
|
|
AMOUNT_PAID | Amount paid towards the invoice. |
|
|
|
|
BALANCE | Remaining balance on the invoice. |
|
|
|
|
PAYMENT_PLAN_BALANCE | Outstanding payment plan balance. |
|
|
|
|
MIN_AGE_YEARS | Minimum age allowed to participate (in years). |
|
|
|
|
MAX_AGE_YEARS | Maximum age allowed to participate (in years). |
|
|
|
|
ACTIVITY_NAME | Name of the activity linked to the session. |
|
|
|
|
PROGRAM_NAME | Name of the program. Programs: Private Lesson, League, Camp, Clinic, Class, Club Team. |
|
|
|
|
SESSION_NAME | Name of the session. Sessions sit under the program and can be broken down by skill level, season (e.g., Fall, Winter), age group, or other criteria. |
|
|
|
|
SEGMENT_NAME | Name of the segment. Segments (Optional): Add organization within a session—use to group events (e.g., Mon/Wed vs. Tue/Thu), weekly or monthly registrations, or specific time blocks. |
|
|
|
|
PRODUCT_CODE | The code assigned to the product. |
|
|
| We rename "Product Code" columns — as that is what they are labeled in the data warehouse — to "GL Code" in our reports, as it is the preferred terminology for our customers. |
SESSION_CODE | Code for the session. |
|
|
|
|
PROGRAM_CODE | Code for the program. Programs: Private Lesson, League, Camp, Clinic, Class, Club Team. |
|
|
|
|
FACILITY_CODE | Code for the facility. |
|
|
|
|
INVOICE_STATUS | Status of the invoice. |
|
|
|
|
INVOICE_CREATED_AT | Date/time of when the invoice record was created. |
|
|
|
|
SLOTS
Note, Programs break down into events, which when tied to a physical space, get entered into the calendar and become "Slots". For that reason, the Slots table contains both programming slots, and "reservation" (rental) slots. For programming, the price is determined up top down (via the registration), breaking into events and slots. For rentals, it's the opposite - rentals are composed of slots and can be grouped together into invoices. Because of this, when slots are associated with a Rental, you'll see the specific price of the slot. When they are associated with a program, slots will not show the value of the slot because it's dynamic based on the number of registrations the session might have. Our Snowflake data warehouse stores all datetime columns in UTC by default. The only exception is when a column name explicitly includes the word "local" — in that case, it reflects local time. If a date-type column doesn't have "local" in its name, assume it's UTC. That said, when viewing data through our Sigma reports, these UTC columns are automatically adjusted to display in the organization's local time. So while the underlying data model is stored in UTC, Sigma handles the timezone conversion so that end users see times in their local context.
Column Header | Definition | Key? | Link Model | Datatype | Notes |
SLOT_ID | Unique identifier of the slot. Slots represent distinct events or times (e.g., daily rental times across a week). | Primary |
|
|
|
SPACE_ID | Unique identifier for the space (e.g., specific courts, fields). | Foreign | Our data warehouse does not currently have a Spaces model. There is an internal "Spaces" table in our Postgres database, but it has not been modeled into Snowflake. |
|
|
ORGANIZATION_ID | Unique identifier of the organization. | Foreign | ORGANIZATIONS |
|
|
PARENT_ORGANIZATION_ID | Unique identifier of the parent organization (if applicable). | Foreign | PARENT_ORGANIZATIONS |
|
|
SLOT_TYPE | Classification of the slot. |
|
|
|
|
EVENT_ID | Unique identifier of the event. | Foreign | Our data warehouse does not currently have an Events model. There is an internal "Events" table in our Postgres database, but it has not been modeled into Snowflake. Event Id is a foreign key in EVENT_REGISTRATIONS, referencing the primary key of the "Events" table — the primary key of EVENT_REGISTRATIONS is Registration Key. |
|
|
RENTAL_SEGMENT_ID | Unique identifier of a segment within a rental program or schedule. | Foreign | Our data warehouse does not currently have a Segments model. There is an internal "Segments" table in our Postgres database, but it has not been modeled into Snowflake. |
|
|
EVENT_PARENT_TYPE | Category of the parent entity that owns the event. |
|
|
| Tells us the table to look at for "Event Parent Id" |
EVENT_PARENT_ID | Unique identifier of the parent entity that owns the event. | Foreign | ProgramSeasons,Teams,Reservations |
|
|
RESERVATION_ID | Unique identifier of the reservation occupying the slot. | Foreign | Our data warehouse does not currently have a Reservations model. There is an internal "Reservations" table in our Postgres database, but it has not been modeled into Snowflake. |
|
|
PARENT_SLOT_ID | Unique identifier of the slot this slot is linked to. | Foreign (Self-Referencing) | SLOTS |
| Maintenance slots have parent slots |
PROGRAM_SEASON_ID | Unique identifier of a specific season within a program. | Foreign | Our data warehouse does not currently have a Sessions model. There is an internal "ProgramSeasons" table in our Postgres database, but it has not been modeled into Snowflake. This table is used for relationships between Programs, Sessions, and Segments. |
|
|
PROGRAM_SEASON_PARENT_ID | Unique identifier of the main program the season belongs to. | Foreign | Our data warehouse does not currently have a Sessions model. There is an internal "ProgramSeasons" table in our Postgres database, but it has not been modeled into Snowflake. This table is used for relationships between Programs, Sessions, and Segments. |
|
|
SESSION_ID | Unique identifier of the session. Sessions sit under the program and can be broken down by skill level, season (e.g., Fall, Winter), age group, or other criteria. | Foreign | Our data warehouse does not currently have a Sessions model. There is an internal "Sessions" table in our Postgres database, but it has not been modeled into Snowflake. |
|
|
SEGMENT_ID | Unique identifier of the segment. Segments (Optional): Add organization within a session—use to group events (e.g., Mon/Wed vs. Tue/Thu), weekly or monthly registrations, or specific time blocks. | Foreign | Our data warehouse does not currently have a Segments model. There is an internal "Segments" table in our Postgres database, but it has not been modeled into Snowflake. |
|
|
PROGRAM_ID | Unique identifier of the program. Programs: Private Lesson, League, Camp, Clinic, Class, Club Team. | Foreign | Our data warehouse does not currently have a Programs model. There is an internal "Programs" table in our Postgres database, but it has not been modeled into Snowflake. |
|
|
PRODUCT_ID | Unique identifier of the product. | Foreign | PRODUCTS |
|
|
FACILITY_ID | Unique identifier of the facility. | Foreign | FACILITIES |
|
|
ROUND_ID | Unique identifier of the competition round. | Foreign | Our data warehouse does not currently have a Rounds model. There is an internal "Rounds" table in our Postgres database, but it has not been modeled into Snowflake. |
|
|
SEASON_ID | Unique identifier of the season. | Foreign | Our data warehouse does not currently have a LeagueSeasons model. There is an internal "LeagueSeasons" table in our Postgres database, but it has not been modeled into Snowflake. |
|
|
LEAGUE_ID | Unique identifier of the league. | Foreign | Our data warehouse does not currently have a Leagues model. There is an internal "Leagues" table in our Postgres database, but it has not been modeled into Snowflake. |
|
|
PRODUCT_CODE_ID | Unique identifier of the product code. | Foreign | Our data warehouse does not currently have a ProductCodes model. There is an internal "GlCodes" table in our Postgres database, but it has not been modeled into Snowflake. |
| We rename "Product Code" columns — as that is what they are labeled in the data warehouse — to "GL Code" in our reports, as it is the preferred terminology for our customers. |
PROGRAM_CODE_ID | Internal system code ID for the program. Programs: Private Lesson, League, Camp, Clinic, Class, Club Team. | Foreign | Our data warehouse does not currently have a ProgramCodes model. There is an internal "ProgramCodes" table in our Postgres database, but it has not been modeled into Snowflake. |
|
|
SESSION_CODE_ID | Internal system code ID for the session. Sessions sit under the program and can be broken down by skill level, season (e.g., Fall, Winter), age group, or other criteria. | Foreign | Our data warehouse does not currently have a SessionCodes model. There is an internal "SessionCodes" table in our Postgres database, but it has not been modeled into Snowflake. |
|
|
LINE_ITEM_ID | Unique identifier for the line item. | Foreign | LINE_ITEMS |
|
|
INVOICE_ID | Unique identifier of the invoice. | Foreign | INVOICES |
|
|
ACTIVITY_START_LOCAL | Date/time when the activity starts. |
|
|
|
|
ACTIVITY_END_LOCAL | Date/time when the activity ends. |
|
|
|
|
SLOT_DURATION | Slot Duration (minutes). |
|
|
|
|
BOOKED_ACTIVITY_START | Start date/time of the activity. |
|
|
|
|
BOOKED_ACTIVITY_END | End date/time of the activity. |
|
|
|
|
BOOKED_SLOT_DURATION | Duration of the slot in minutes. |
|
|
|
|
MAINTENANCE_ACTIVITY_START | Date/time the maintenance activity started. |
|
|
|
|
MAINTENANCE_ACTIVITY_END | Date/time the maintenance activity ended. |
|
|
|
|
MAINTENANCE_SLOT_DURATION | Duration of the maintenance activity (minutes). |
|
|
|
|
SLOT_PRICE | Price assigned to the slot. |
|
|
|
|
SLOT_INVOICE_PRICE | Price of the slot as shown on the invoice. |
|
|
|
|
SLOT_COUNT | The number of slots on the calendar. |
|
|
|
|
SLOT_PAYMENT_AMOUNT | Amount paid toward the slot. |
|
|
|
|
SLOT_BALANCE | Remaining unpaid balance for the slot. |
|
|
|
|
ORGANIZATION_NAME | Name of the organization managing the booking. |
|
|
|
|
PARENT_ORGANIZATION_NAME | Name of the parent organization (if applicable). |
|
|
|
|
EVENT_NAME | Name of the event. |
|
|
|
|
PROGRAM_NAME | Name of the program. Programs: Private Lesson, League, Camp, Clinic, Class, Club Team. |
|
|
|
|
RESOURCE_NAME | Resource name associated with the slot (e.g., Community Rink, Field 1). |
|
|
|
|
SLOT_NAME | Name of the slot. |
|
|
|
|
SLOT_APPROVAL_STATUS | Approval status of the slot. |
|
|
|
|
SLOT_PAYMENT_STATUS | Payment status of the slot. |
|
|
|
|
SLOT_RESERVATION_TYPE | Type of reservation occupying the slot. |
|
|
|
|
SLOT_PUBLIC_NOTES | Public-facing notes about the slot. |
|
|
|
|
SLOT_PRIVATE_NOTES | Internal notes about the slot. |
|
|
|
|
LEAGUE_NAME | Name of the league. |
|
|
|
|
RESERVATION_NAME | Name of the reservation. |
|
|
|
|
RESERVATION_TYPE | Category of reservation. |
|
|
|
|
RESERVATION_STATUS | Status of the reservation. |
|
|
|
|
SESSION_NAME | Name of the session. Sessions sit under the program and can be broken down by skill level, season (e.g., Fall, Winter), age group, or other criteria. |
|
|
|
|
SEGMENT_NAME | Name of the segment. Segments (Optional): Add organization within a session—use to group events (e.g., Mon/Wed vs. Tue/Thu), weekly or monthly registrations, or specific time blocks. |
|
|
|
|
PRODUCT_NAME | Name of the product. |
|
|
|
|
PRODUCT_TYPE | Category of the product. |
|
|
|
|
PRODUCT_SUB_TYPE | Subcategory of the product (e.g., rental, Birthday Parties). |
|
|
|
|
LEAGUE_SEASON_NAME | Name of the league season. |
|
|
|
|
FACILITY_NAME | Name of the facility. |
|
|
|
|
RENTAL_SEGMENT_NAME | Name of the rental segment. |
|
|
|
|
ACTIVITY_NAME | Name of the activity. |
|
|
|
|
SESSION_CODE | Code assigned to the session. Sessions sit under the program and can be broken down by skill level, season (e.g., Fall, Winter), age group, or other criteria. |
|
|
|
|
PROGRAM_CODE | Code assigned to the program. Programs: Private Lesson, League, Camp, Clinic, Class, Club Team. |
|
|
|
|
PRODUCT_CODE | The code assigned to the product. |
|
|
| We rename "Product Code" columns — as that is what they are labeled in the data warehouse — to "GL Code" in our reports, as it is the preferred terminology for our customers. |
ACTIVITY_CODE | Code assigned to the activity. |
|
|
|
|
INVOICE_CREATED_AT | Date/time of when the invoice record was created. |
|
|
|
|
INVOICE_STATUS | Status of the invoice. |
|
|
|
|
PAYING_USER_ID | Unique identifier of the user making payment. User: A global Bond account with a unique email that can be associated with multiple organizations. | Foreign | USERS |
|
|
CUSTOMER_ID | Unique identifier of the customer. Customer: Organization-specific record representing a user's relationship with a particular Organization. The same user can be a customer at multiple organizations. | Foreign | CUSTOMERS |
|
|
CUSTOMER_FIRST_NAME | Customer’s first name. Customer: Organization-specific record representing a user's relationship with a particular Organization. The same user can be a customer at multiple organizations. |
|
|
|
|
CUSTOMER_LAST_NAME | Customer’s last name. Customer: Organization-specific record representing a user's relationship with a particular Organization. The same user can be a customer at multiple organizations. |
|
|
|
|
CUSTOMER_EMAIL | Customer’s email address. Customer: Organization-specific record representing a user's relationship with a particular Organization. The same user can be a customer at multiple organizations. |
|
|
|
|
CUSTOMER_PHONE_NUMBER | Customer’s phone number. Customer: Organization-specific record representing a user's relationship with a particular Organization. The same user can be a customer at multiple organizations. |
|
|
|
|
CUSTOMER_ADDRESS_LINE | Address of the customer. Customer: Organization-specific record representing a user's relationship with a particular Organization. The same user can be a customer at multiple organizations. |
|
|
|
|
CUSTOMER_CITY | Customer's city. Customer: Organization-specific record representing a user's relationship with a particular Organization. The same user can be a customer at multiple organizations. |
|
|
|
|
CUSTOMER_STATE | Customer's state. Customer: Organization-specific record representing a user's relationship with a particular Organization. The same user can be a customer at multiple organizations. |
|
|
|
|
CUSTOMER_ZIP | Customer's zip code. Customer: Organization-specific record representing a user's relationship with a particular Organization. The same user can be a customer at multiple organizations. |
|
|
|
|
USER_IN_FAMILY_ACCOUNT
Our Snowflake data warehouse stores all datetime columns in UTC by default. The only exception is when a column name explicitly includes the word "local" — in that case, it reflects local time. If a date-type column doesn't have "local" in its name, assume it's UTC.
That said, when viewing data through our Sigma reports, these UTC columns are automatically adjusted to display in the organization's local time. So while the underlying data model is stored in UTC, Sigma handles the timezone conversion so that end users see times in their local context.
Column Header | Definition | Key? | Link Model | Datatype | Notes |
ID | Unique identifier of the record in the USER_IN_FAMILY_ACCOUNT model. | Primary |
|
| When creating a family account in Bond, you don't need to create a new customer to serve as the admin (primary family member). Instead, navigate to an existing customer and use the 'Link to Account' feature to set up the family account from there. The primary customer acts as the payment holder and has access to all other family members' details. |
FAMILY_ACCOUNT_ID | Unique identifier of the family account. | Foreign | Our data warehouse does not currently have a FamilyAccounts model. There is an internal "FamilyAccounts" table in our Postgres database, but it has not been modeled into Snowflake. |
|
|
USER_ID | Unique identifier for the user. User: A global Bond account with a unique email that can be associated with multiple organizations. | Foreign | USERS |
|
|
IS_ADMIN | Whether or not the user is the primary family member. |
|
|
| The primary family member. The primary customer is the payment holder and can access all other family members' details. |
_CREATED_AT | Timestamp of when the record was first created. |
|
|
|
|
_UPDATED_AT | Timestamp of when the record was last updated. |
|
|
|
|
_DELETED_AT | Timestamp of when the record was soft deleted. |
|
|
|
|
_LOADED_AT | Timestamp of when the record was last loaded into the data warehouse. |
|
|
|
|
