Executive Preamble
Purpose
This glossary defines the core business concepts that drive Rockbot's operations, revenue, and customer relationships. It serves as the authoritative reference for consistent terminology across all teams—from board presentations to daily operations.
Use this document to
- Ensure accurate reporting and metrics
- Prevent costly data misunderstandings
- Onboard new team members quickly
- Align cross-functional communication
The Three Questions Every Executive Asks
| Question | Answer | Key Insight |
|---|---|---|
| "How many customers do we have?" | Count of Contracting Customers | Billing entities are not customers. Contracting Customer count is much smaller than billing arrangement count. Use Consuming Customer count for utilization metrics. |
| "What's our total ARR?" | Sum of Contracted ARR | Use Contracted ARR for forecasting. Consumed ARR shows utilization. Never add them together. |
| "Who pays for what?" | Billing Entity → Subscription → Zone | The company relationship (Account) is separate from who receives invoices (Billing Entity). |
Critical Distinctions
| These Are Different | Why It Matters |
|---|---|
| Account vs. Billing Entity | One customer can have many invoicing arrangements |
| Location vs. Zone | One address can have multiple hardware units |
| Contract vs. Subscription | What we agreed vs. what we're actually delivering |
| Contracted vs. Consumed ARR | Promise vs. reality—especially in franchise deals |
| Brand vs. Operator vs. Owner | Three different companies can be involved in one location |
| Contracting Customer vs. Consuming Customer | Who signs vs. who uses—critical for franchise reporting |
Core Business Entities
Account
The business we do business with.
An Account represents a single legal business entity—the company behind the relationship, regardless of how many locations they operate, contracts they sign, or ways they pay. One company = one Account, always.
System of Record: Salesforce (primary), synced to NetSuite and Admin PlatformWhy It Matters
Account is the foundation of all customer metrics. When we count "customers," we count Accounts. When we measure customer health, retention, or lifetime value, we measure at the Account level. Getting this wrong inflates customer counts and distorts strategic decisions.
Key Attributes
| Attribute | Description |
|---|---|
| Name | Legal business entity (e.g., "Planet Fitness Holdings LLC") |
| Record Type | Customer, Partner, or Franchisor |
| Contracted ARR | Total value committed across all contracts |
| Consumed ARR | Actual revenue being generated |
| Location Count | Physical sites associated with this account |
| Contract Count | Number of active contracts |
| Customer Status | Active, Inactive, or Former (derived) |
Business Rules
- One Account per legal entity—never duplicate for payment or contract changes
- Record type determines available fields and processes
- Parent-child relationships only between same record type
- Contracted ARR and Consumed ARR tracked separately (differ in franchise scenarios)
Common Confusion
- Account is not Billing Entity — Who pays invoices is tracked separately
- Account is not Payment Method — Changing credit cards doesn't create a new Account
- One company with 50 franchises = ONE Account, not 50
Example
Planet Fitness is one Account. They have thousands of locations, multiple franchisors operating under their brand, and dozens of different billing arrangements—but in our system, Planet Fitness is a single Account with significant Contracted ARR.
Location
A physical place where Rockbot delivers service.
A Location is a real-world address—a gym, restaurant, retail store, or any brick-and-mortar site with Rockbot hardware installed. Locations exist independently of who owns, operates, or brands them.
System of Record: Salesforce (Physical_Location__c custom object)Why It Matters
Location count is a key operational metric. It answers "How many places do we serve?" and drives hardware deployment, support coverage, and market penetration analysis. Locations also reveal the complex relationships in franchise businesses.
Key Attributes
| Attribute | Description |
|---|---|
| Physical Address | Street, city, state, postal code (required) |
| Location Type | Single-Tenant, Multi-Tenant, Shared-Facility, or Mobile |
| Brand | The brand customers see (e.g., Planet Fitness) |
| Operator | Who manages daily operations (e.g., Blackduck Partners) |
| Owner | Property owner, if tracked |
| Primary Account | Formula field: returns Brand if populated, else Operator, else Owner |
| Guidelines | Brand standards applied to this location |
| Zone Count | Hardware units installed at this address |
| Total ARR | Revenue generated from this location |
| Status | Active, Inactive, Pending, or Closed |
The Three Location Relationships
| Relationship | Question It Answers | Required | Example |
|---|---|---|---|
| Brand | "What brand do customers see?" | Yes | Planet Fitness |
| Operator | "Who runs this location?" | No | Blackduck Partners |
| Owner | "Who owns the property?" | No | Main Street Properties LLC |
Business Rules
- Location defined by physical address, not Account ownership
- At least one of Brand, Operator, or Owner should be populated
- Brand typically populated for franchise locations; Operator for franchisee management
- Every Zone must have a parent Location
- One Location can have Zones from multiple Subscriptions (split billing)
Common Confusion
- Location is not Account — A location is a place, not a company
- One location can involve multiple Accounts (Brand, Operator, Owner)
- Locations are defined by address, not by business relationship
Example
The Planet Fitness gym at 123 Main St, Boston is one Location.
| Brand | Planet Fitness (the customer sees Planet Fitness branding) |
| Operator | Blackduck Partners (the franchisor running this gym) |
| Owner | Not tracked |
This single Location has 4 Zones (cardio, weights, lobby, locker room), each generating monthly revenue.
Zone
Individual hardware delivering Rockbot services.
A Zone is a single hardware unit—a screen or media player—installed at a specific area within a Location. It's where service actually happens: the TV in the cardio area, the display behind the front desk. Zone also functions as a junction object connecting physical Locations with billing Subscriptions.
System of Record: Salesforce (Zone__c, master), synced to NetSuite (billing) and Admin PlatformNote: "Venue" is deprecated legacy terminology for Zone. All new documentation should use "Zone" exclusively.
Why It Matters
Zones are the atomic unit of service delivery and billing. ARR flows up from Zones. When we ask "What are we charging for?", the answer is Zones. Each Zone connects a physical Location to one or more billing Subscriptions.
Business Rules
- Every Zone must belong to exactly one Location
- One Zone can have multiple Subscriptions (e.g., music subscription + digital signage subscription)
- One Location can have multiple Zones under different Subscriptions
- Zone ARR = sum of Product Line Item monthly values across all its Subscriptions
Common Confusion
- Zone is not Location — Multiple zones can exist at one location
- Zone is not Subscription — One zone can have multiple subscriptions for different services
Contract
The formal agreement defining what we'll deliver and at what price.
A Contract is the legal agreement between Rockbot and a customer Account. It defines the rates, terms, duration, and scope of services we've committed to provide. Contracts establish the financial relationship; Subscriptions fulfill it.
System of Record: Salesforce (source of truth), PandaDoc (document creation)Why It Matters
Contracts are the source of Contracted ARR—the revenue we've promised. They determine pricing for all downstream billing. When rates need to change, we modify Contracts. When we want to know "what did we agree to?", we look at Contracts.
Key Attributes
| Attribute | Description |
|---|---|
| Account | The customer this contract belongs to |
| Start Date / End Date | Contract term |
| Status | Draft, Active, Expired, Terminated |
| Contract Line Items | Specific products and rates included |
| Contracted ARR | Total annual value committed |
Common Confusion
- Contract is not Subscription — Contract = what we agreed; Subscription = what we're delivering
- One Contract can have multiple Subscriptions as zones are added over time
Contract Line Item
A specific product or service with its contracted rate.
Contract Line Items are the individual lines within a Contract that specify which products the customer has purchased and at what price. They're the pricing source for Product Line Items on Subscriptions.
System of Record: Salesforce, synced to NetSuiteKey Attributes
| Attribute | Description |
|---|---|
| Contract | Parent contract |
| Product | The service being provided |
| Monthly Rate | Price per month |
| Quantity | Number of units contracted |
Subscription
The billing arrangement that collects revenue for delivered services.
A Subscription is the billing mechanism that connects a Contract to actual service delivery. It groups Zones together for invoicing purposes and tracks what's actually being consumed versus what was contracted.
System of Record: NetSuite (NetSuite_Subscription__c, primary), synced to SalesforceZone-Subscription Relationship
Zones and Subscriptions have a many-to-many relationship. One Zone can have multiple Subscriptions (e.g., a single screen receiving both music service and digital signage). One Subscription can cover multiple Zones (e.g., a single billing arrangement for all zones at a location).
Current System Constraint
NetSuite Limitation: NetSuite currently forces a one-to-one relationship between Subscriptions and Zones. When a Zone needs multiple services or a different billing entity, operations creates separate Subscriptions as a workaround. The Salesforce architecture is designed to eventually support the correct many-to-many model.
Why It Matters
Subscriptions are where revenue actually happens. They track Consumed ARR—what we're billing for right now. The gap between Contracted ARR (from Contracts) and Consumed ARR (from Subscriptions) reveals ramp-up progress or utilization issues.
Key Attributes
| Attribute | Description |
|---|---|
| Contract | Parent contract defining rates |
| Billing Entity | Who receives invoices |
| Zones | Hardware units covered by this subscription |
| Product Line Items | Actual services being delivered and billed |
| Status | Active, Suspended, Cancelled |
| Consumed ARR | Annual revenue from active Product Line Items |
Common Confusion
- Subscription is not Contract — Many Subscriptions can exist under one Contract
- Subscription is not Billing Entity — Subscription is what; Billing Entity is who
Product Line Item
A specific service being delivered and billed on a Subscription.
Product Line Items represent the actual services being delivered to a specific Zone under a Subscription. They inherit rates from Contract Line Items and generate the charges that appear on invoices.
System of Record: NetSuite, synced to SalesforceBusiness Rules
- Rates must reference Contract Line Items—never enter manually
- Product Line Item ARR rolls up to Subscription and Account Consumed ARR
- Each Product Line Item connects to one Zone
Billing Entity Profile
Who receives invoices and makes payments.
A Billing Entity represents an invoicing arrangement—a specific entity that receives bills and makes payments. One Account can have multiple Billing Entities (different divisions, franchisees, or payment arrangements), but each Billing Entity belongs to one Account.
System of Record: NetSuite (primary), synced to SalesforceWhy It Matters
Billing Entity separates "who is our customer" (Account) from "who pays the bills" (Billing Entity). This distinction is critical: our customer count (Accounts) is far smaller than our billing arrangement count (Billing Entities).
Business Rules
- Billing Entity is about who, not how—payment method changes don't create new Billing Entities
- One Account can have multiple Billing Entities
- Each Billing Entity has one or more Payment Methods
Common Confusion
- Billing Entity is not Customer — Billing entity count ≠ customer count
- Billing Entity is not Account — Many Billing Entities can exist under one Account
- Card expired? Update Payment Method, don't create new Billing Entity
Payment Method
How a Billing Entity pays their invoices.
Payment Method tracks the specific instrument used to pay—credit card, ACH, check, etc. Payment Methods belong to Billing Entities and can change without affecting the billing relationship.
System of Record: NetSuite + PaystandKey Point
When a credit card expires or a customer switches banks, we update the Payment Method—not the Billing Entity or Account. This preserves invoice history and reporting continuity.
ARR (Annual Recurring Revenue)
The annual value of recurring revenue, measured two ways.
Contracted ARR
The total annual value committed in signed Contracts. Use for forecasting, investor reporting, and capacity planning. Source: Contract Line Items.
Consumed ARR
The actual annual revenue being generated by active Subscriptions. Use for cash flow analysis and utilization tracking. Source: Product Line Items (via NetSuite_Subscription__c.ARR__c).
ARR Date Semantics
ARR calculations depend on understanding three distinct dates that often differ—especially in enterprise and franchise deals:
| Date Type | Source Field | Definition | Use For |
|---|---|---|---|
| Contract Date | Contract__c.StartDate | Date the agreement was legally executed | Forecasting, "deals closed" reporting, Contracted ARR start |
| Service Billing Start | NetSuite_Subscription__c.Start_Date__c | Date billing charges begin (first invoice date) | Cash flow, MRR/ARR recognition, Consumed ARR start |
| Activation Date | Zone__c.Activation_Date__c | Date hardware went live and service began | Utilization tracking, consumption metrics |
Why Date Distinctions Matter
In enterprise and franchise deals, these dates routinely differ by weeks or months:
- Contract signed = Committed ARR starts counting toward pipeline/forecast
- Billing starts = Recognized revenue begins (financial reporting)
- Activation = Consumed ARR counts toward utilization metrics
Example: Planet Fitness signs a master contract on January 15 (Contracted ARR: $1M added to forecast). First locations begin billing on March 1 (MRR recognition begins). Last locations activate June 30 (Full Consumed ARR achieved).
Critical Rule
- Never add Contracted and Consumed ARR together — They measure different things
- Gap between them = ramp-up remaining or over-utilization
- In franchise deals, one Account's Contracted ARR may be consumed by many Operator Accounts
- Use Contract Date for forecasting, Service Billing Start for revenue recognition
Guidelines
Formerly known asLogo__c in Salesforce
Brand-specific content rules applied to Locations.
Guidelines define what content can play at a Location—the music genres, video types, and messaging approved by the Brand. They ensure consistency across all locations operating under a brand's standards.
System of Record: Salesforce, synced to Admin PlatformDomain
A web identity used for lead routing and account deduplication.
A Domain represents website ownership tied to an Account. Domains serve two critical operational functions: routing inbound leads to the correct Account, and preventing duplicate account creation when prospects use secondary or redirect URLs.
System of Record: Salesforce (Domain__c)Key Fields
| Field | Purpose | Example |
|---|---|---|
| Domain_URL__c | Raw input as entered | https://www.planetfitness.com/locations |
| Clean_Domain__c | Normalized, unique External ID for matching | planetfitness.com |
Business Rules
- One Account can have many Domains (redirects, regional sites, etc.)
- One Domain can only exist on one Account
- When a lead comes in via any Domain, it routes to the associated Account
Why It Matters
Without proper Domain mapping, inbound leads from secondary websites would create duplicate accounts. For example, if a prospect fills out a form on a regional redirect URL, the Domain object ensures they're matched to the existing parent Account rather than creating a new record.
Relationship Concepts
Brand / Operator / Owner
The three ways an Account can relate to a Location.
Every Location can have up to three Account relationships, each answering a different question about who's involved with that physical site.
| Role | Question | Typical Use |
|---|---|---|
| Brand | "What name is on the door?" | Franchise parent (e.g., Planet Fitness) |
| Operator | "Who manages day-to-day?" | Franchisee running the location (e.g., Blackduck Partners) |
| Owner | "Who owns the property?" | Real estate owner, if relevant |
Example
A Planet Fitness location in Boston might have:
- Brand: Planet Fitness (national brand)
- Operator: Blackduck Partners (regional franchise operator)
- Owner: Not tracked (not relevant to our business)
Contracting Account vs. Consuming Account
Who signs the deal vs. who uses the service.
Contracting Account
The Account that signs the Contract and commits to the ARR. This is where Contracted ARR is tracked.
Consuming Account
The Account(s) that actually use the service at Locations. Consumed ARR rolls up here.
Example
Planet Fitness signs a master contract for a large ARR commitment (Contracting Account). But the actual service is delivered to locations operated by various franchisors like Blackduck Partners (Consuming Accounts). Planet Fitness holds the Contracted ARR; each franchisor has Consumed ARR proportional to their locations.
Contract Inheritance and Termination
When a master contract is terminated, consuming entities must transition their service. Typical outcomes include:
- Independent contract activation: The consuming entity signs their own contract at their locations, becoming both contracting and consuming party
- Service discontinuation: Locations under the terminated contract are deactivated
- Contract transfer: A new contracting party assumes the master agreement (requires legal renegotiation)
The transition path depends on whether the consuming entity has an existing Account relationship and their willingness to contract directly.
Business Roles
Customer
An Account with Record Type = Customer.
Customers are the businesses that contract for Rockbot services. They can be the contracting party, the consuming party, or both. Customer count = Account count where Record Type = Customer.
Common Confusion
- Customer is not Billing Entity — Customer count is far smaller than billing entity count
- One customer can have hundreds of locations — Planet Fitness is one customer with thousands of locations
Contracting Customer
A Customer Account that has signed a contract with Rockbot.
Contracting Customers are the entities with purchasing authority—they sign contracts, commit to ARR, and control upgrades, downgrades, and renewals. Use this count when reporting on contractual relationships or forecasting.
Use For
Sales pipeline reporting, ARR forecasting, customer acquisition metrics, renewal tracking.
Key Distinction
A Contracting Customer may have no active Zones if they're in ramp-up or have churned operationally while maintaining a contract.
Consuming Customer
A Customer Account that is actively using Rockbot services at one or more Locations.
Consuming Customers have active Zones delivering service. They may or may not be the same entity as the Contracting Customer. Use this count when reporting on service delivery or utilization.
Use For
Utilization reporting, support coverage planning, operational metrics, consumption analysis.
Key Distinction
A Consuming Customer may not have a direct contract if service is delivered under a master agreement held by a different entity (common in franchise scenarios).
Active Customer
A Customer Account that has both an active contract AND active service consumption.
Active Customers represent the healthiest customer relationships—they've committed contractually AND are actively using the service. This is typically the most meaningful customer count for retention and health metrics.
Formula: Active Customer = Contracting Customer ∩ Consuming Customer (has both)
Use For
Customer health dashboards, retention analysis, executive reporting, board presentations.
Partner
An Account with Record Type = Partner.
Partners are businesses that resell or distribute Rockbot services. They bring us customers but aren't the end users. Partners earn commissions or referral fees tracked through Partner attribution.
Partner Attribution
When a Partner sources a deal, the Contract or Subscription tracks the Partner Account for commission and reporting purposes.
Franchisor
An Account with Record Type = Franchisor.
Franchisors are operating entities that manage multiple locations under one or more brand licenses. In Rockbot's simplified model, the Franchisor is typically the contracting party for locations they operate—they sign contracts and commit ARR on behalf of their location portfolio.
System of Record: Salesforce (Account object with Record Type = Franchisor)Alternative Terminology
Some franchise systems use different terms for this role. In Subway's franchise model, this entity is called a "Development Agent"—the company that holds development rights for a territory and manages franchisees within it. Regardless of the industry term used, Rockbot tracks these entities as Franchisor accounts.
Why It Matters
Franchisors are often the primary business relationship in franchise scenarios. A single franchisor may operate hundreds of locations across multiple brands, making them significant contracting partners.
Business Rules
- Franchisors typically contract ARR for their locations
- One Franchisor can operate locations across multiple Brands
- Franchisor appears on Location records as the Operator
- Use Franchisor record type to differentiate from standard Customer accounts
Example: Hamra Enterprises
Hamra operates Panera Bread, Wendy's, and Noodles & Company locations. In Rockbot's system:
- Hamra = Franchisor Account (Record Type: Franchisor)
- Each brand = separate Brand Account relationship on Locations
- Hamra contracts ARR and manages service for all their locations regardless of brand
Common Confusion
- Franchisor is not Partner — Franchisors don't sell for us; they operate locations and contract services
- Franchisor IS typically the contracting party — They sign contracts for their location portfolio
- One Franchisor, multiple Brands — A franchisor account relates to multiple brands through their locations, not through account hierarchy
Franchisee (Location Characteristic)
A Location operated by a franchisor on behalf of a brand.
Franchisee is not a separate object or Account type—it's a characteristic of a Location. Any Location where Brand and Operator are different Accounts is a franchised location. The Operator in this scenario is typically a Franchisor account.
Formula: Brand + different Operator = Franchised Location
Important
While "franchisor" and "franchisee" are sometimes used interchangeably in casual conversation, they refer to different things in Rockbot's data model. Franchisor is an Account Record Type; Franchisee is a Location characteristic. Do not use these terms interchangeably in reporting or system documentation.
Quick Reference
Common Mistakes to Avoid
| Wrong | Right | Why |
|---|---|---|
| Creating new Account when payment method changes | Add new Payment Method to existing Billing Entity | Preserves relationship history |
| "We have X billing entities as customers" | "We have Y customers with X billing arrangements" | Billing Entity is not Customer |
| Contract = Subscription | Contract defines rates; Subscription = consumption | Different concepts, different purposes |
| Manually entering rates on Product Line Items | Reference Contract Line Item | Ensures billing matches contract |
| Using "Venue" in new documentation | Use "Zone" | Venue is deprecated terminology |
| Assuming franchisors don't contract | Franchisors typically DO contract ARR | They're often the primary contracting party |
| Using "franchisor" and "franchisee" interchangeably | Franchisor = Account type; Franchisee = Location characteristic | Different objects in the data model |
| Using Contract Date for revenue recognition | Use Service Billing Start Date | Contract Date ≠ when billing begins |
| Counting Contracted ARR as revenue | Only Consumed ARR is recognized revenue | Contracted is commitment; Consumed is actuals |
System of Record vs. Source of Truth
These terms are often conflated but serve different purposes in Rockbot's architecture.
Definitions
System of Record: Where content is created. The system where data originates and is initially captured.
Source of Truth: Where systems go to access authoritative data. The reference point all other systems use for that information.
Example
Contracts: PandaDoc is the system of record (where documents are created and signed), but Salesforce is the source of truth (where all systems reference contract data).
Subscriptions: NetSuite is currently the system of record, but Salesforce subscriptions should eventually drive NetSuite subscription creation—reversing the flow.
Entity Reference
| Entity | Primary System | Salesforce Object | Syncs To |
|---|---|---|---|
| Account | Salesforce | Account | NetSuite, Admin Platform |
| Location | Salesforce | Physical_Location__c | Admin Platform |
| Zone | Salesforce | Zone__c | NetSuite, Admin Platform |
| Contract | Salesforce | Contract__c | NetSuite |
| Contract Line Item | Salesforce | Contract_Line_Item__c | NetSuite |
| Subscription | NetSuite | NetSuite_Subscription__c | Salesforce |
| Product Line Item | NetSuite | — | Salesforce |
| Billing Entity | NetSuite | NetSuite_Billing_Account__c | Salesforce |
| Payment Method | NetSuite + Paystand | — | — |
| Guidelines | Salesforce | Guidelines__c | Admin Platform |
| Domain | Salesforce | Domain__c | — |
The Four Data Paths
Understanding how data flows helps interpret reports correctly:
Deprecated Terminology
| Legacy Term | Current Term | Notes |
|---|---|---|
| Venue | Zone | "Venue" too easily confused with "Location" |
| Ultimate_Parent | Top_Level_Parent__c | Use Top_Level_Parent__c for hierarchy calculations |