Executive Preamble

Purpose Three Key Questions Critical Distinctions

Core Business Entities

Account Location Zone Contract Contract Line Item Subscription Product Line Item Billing Entity Profile Payment Method ARR Guidelines Domain

Relationship Concepts

Brand / Operator / Owner Contracting vs. Consuming

Business Roles

Customer Partner Franchisor Franchisee

Quick Reference

Common Mistakes System of Record Four Data Paths Key Principles

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 Platform

Why 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

AttributeDescription
NameLegal business entity (e.g., "Planet Fitness Holdings LLC")
Record TypeCustomer, Partner, or Franchisor
Contracted ARRTotal value committed across all contracts
Consumed ARRActual revenue being generated
Location CountPhysical sites associated with this account
Contract CountNumber of active contracts
Customer StatusActive, Inactive, or Former (derived)

Business Rules

  1. One Account per legal entity—never duplicate for payment or contract changes
  2. Record type determines available fields and processes
  3. Parent-child relationships only between same record type
  4. 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

AttributeDescription
Physical AddressStreet, city, state, postal code (required)
Location TypeSingle-Tenant, Multi-Tenant, Shared-Facility, or Mobile
BrandThe brand customers see (e.g., Planet Fitness)
OperatorWho manages daily operations (e.g., Blackduck Partners)
OwnerProperty owner, if tracked
Primary AccountFormula field: returns Brand if populated, else Operator, else Owner
GuidelinesBrand standards applied to this location
Zone CountHardware units installed at this address
Total ARRRevenue generated from this location
StatusActive, Inactive, Pending, or Closed

The Three Location Relationships

RelationshipQuestion It AnswersRequiredExample
Brand"What brand do customers see?"YesPlanet Fitness
Operator"Who runs this location?"NoBlackduck Partners
Owner"Who owns the property?"NoMain Street Properties LLC

Business Rules

  1. Location defined by physical address, not Account ownership
  2. At least one of Brand, Operator, or Owner should be populated
  3. Brand typically populated for franchise locations; Operator for franchisee management
  4. Every Zone must have a parent Location
  5. 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.

BrandPlanet Fitness (the customer sees Planet Fitness branding)
OperatorBlackduck Partners (the franchisor running this gym)
OwnerNot 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 Platform

Note: "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

  1. Every Zone must belong to exactly one Location
  2. One Zone can have multiple Subscriptions (e.g., music subscription + digital signage subscription)
  3. One Location can have multiple Zones under different Subscriptions
  4. 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

AttributeDescription
AccountThe customer this contract belongs to
Start Date / End DateContract term
StatusDraft, Active, Expired, Terminated
Contract Line ItemsSpecific products and rates included
Contracted ARRTotal 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 NetSuite

Key Attributes

AttributeDescription
ContractParent contract
ProductThe service being provided
Monthly RatePrice per month
QuantityNumber 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 Salesforce

Zone-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

AttributeDescription
ContractParent contract defining rates
Billing EntityWho receives invoices
ZonesHardware units covered by this subscription
Product Line ItemsActual services being delivered and billed
StatusActive, Suspended, Cancelled
Consumed ARRAnnual 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 Salesforce

Business Rules

  1. Rates must reference Contract Line Items—never enter manually
  2. Product Line Item ARR rolls up to Subscription and Account Consumed ARR
  3. 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 Salesforce

Why 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

  1. Billing Entity is about who, not how—payment method changes don't create new Billing Entities
  2. One Account can have multiple Billing Entities
  3. 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 + Paystand

Key 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 TypeSource FieldDefinitionUse 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 as Logo__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 Platform

Domain

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

FieldPurposeExample
Domain_URL__cRaw input as enteredhttps://www.planetfitness.com/locations
Clean_Domain__cNormalized, unique External ID for matchingplanetfitness.com

Business Rules

  1. One Account can have many Domains (redirects, regional sites, etc.)
  2. One Domain can only exist on one Account
  3. 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.

RoleQuestionTypical 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:

  1. Independent contract activation: The consuming entity signs their own contract at their locations, becoming both contracting and consuming party
  2. Service discontinuation: Locations under the terminated contract are deactivated
  3. 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

  1. Franchisors typically contract ARR for their locations
  2. One Franchisor can operate locations across multiple Brands
  3. Franchisor appears on Location records as the Operator
  4. 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

WrongRightWhy
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

EntityPrimary SystemSalesforce ObjectSyncs To
AccountSalesforceAccountNetSuite, Admin Platform
LocationSalesforcePhysical_Location__cAdmin Platform
ZoneSalesforceZone__cNetSuite, Admin Platform
ContractSalesforceContract__cNetSuite
Contract Line ItemSalesforceContract_Line_Item__cNetSuite
SubscriptionNetSuiteNetSuite_Subscription__cSalesforce
Product Line ItemNetSuiteSalesforce
Billing EntityNetSuiteNetSuite_Billing_Account__cSalesforce
Payment MethodNetSuite + Paystand
GuidelinesSalesforceGuidelines__cAdmin Platform
DomainSalesforceDomain__c

The Four Data Paths

Understanding how data flows helps interpret reports correctly:

Contract Path
Account → Contract → Contract Line Items
What was agreed
Physical Path
Account → Location (via Brand/Operator/Owner) → Zone
Where hardware is installed
Billing Path
Account → Billing Entity → Payment Method
How they pay
Service Path
Contract → Subscription → Zone → Product Line Items
What services are delivered

Deprecated Terminology

Legacy TermCurrent TermNotes
Venue Zone "Venue" too easily confused with "Location"
Ultimate_Parent Top_Level_Parent__c Use Top_Level_Parent__c for hierarchy calculations

Key Architectural Principles

One Customer, One Account: Never duplicate accounts for payment changes
Location Has Three Account Fields: Brand, Operator, Owner—use whichever apply
Billing Entity is not Customer: Who gets invoiced is separate from business relationship
Contract is not Subscription: Agreement vs. actual consumption
No Double Counting: Contracted and Consumed ARR tracked separately
Rates Flow from Contracts: Product Line Items inherit rates from Contract Line Items
Zone, not Venue: Use "Zone" in all new documentation—"Venue" is deprecated
Many-to-Many Zone-Subscription: One zone can have multiple subscriptions; one subscription can cover multiple zones
Hierarchy Uses Top_Level_Parent__c: NOT Ultimate_Parent—calculated via batch jobs and formula fields
Three Dates for ARR: Contract Date (forecasting), Service Billing Start (recognition), Activation Date (utilization)