Run Every Location as Its Own Business -- From One Platform
Per-location staff, services, pricing, AI personality, SMS / WhatsApp numbers, custom fields, booking rules, and timezone. Cross-location reporting with side-by-side comparison. Each location can have a completely different identity — same backend, same data fabric.
One Platform, Every Location Running Independently
Real multi-location is not a filter on a report. It is every dimension of your business configurable per site, with data isolated at the database level.
Per-location everything
Staff, services, pricing, AI personality, comms, custom fields, and booking rules — each location is fully independent from every other.
Cross-location reporting
Side-by-side comparison of revenue, bookings, staff performance, customers, and inventory. Drill into any location from the company view.
Location-branded comms
Per-location phone numbers, SMS / WhatsApp from-numbers, AI receptionist personalities, and email senders. No shared identity across sites.
True multi-tenancy
Postgres row-level security enforces data isolation at the database layer. Staff at Location A literally cannot see Location B's data.
Per-Location Configuration Depth
Most platforms call themselves "multi-location" if you can filter reports by location. Real multi-location means each location runs as its own mini-business — different staff, different services, different pricing, different AI personality, different SMS number.
Staff & technicians per location
Staff assigned to specific locations with location-scoped availability and commission overrides. A senior technician can have different rates at different sites.
- 6 pre-built roles plus custom roles per location
- Per-location-per-tech commission rates
- Location-aware schedules with separate availability windows
- Audit log of cross-location moves and role changes
- Optional cross-location visibility for managers
Services & pricing per location
The same service can cost a different amount at each location. Per-tech pricing layers on top of per-location pricing, creating a three-tier override hierarchy.
- Per-location price override on any catalog service
- Per-tech-per-service rate on top of location price
- Commission percentage configurable per location
- Tax mode (inclusive / exclusive / exempt) per location
- Online-booking visibility toggle per location
Hours of operation per location
Open / close hours, day-of-week schedule, and timezone are all per-location. No shared calendar that forces every site into the same rhythm.
- Per-day open and close times stored in location timezone
- Day-off and holiday calendar per location
- Special-hours overrides for one-off events
- Integrates with AI receptionist hours-of-operation logic
- Integrates with phone-system Hours and Routing rules
Online booking page per location
Each location gets a separate booking URL with its own brand assets, colors, and booking rules. Embed the widget for any site independently.
- Separate booking URL per location
- Brand assets (logo, colors) configurable per location
- Booking rules per location: min advance, buffer, max window
- Payment-policy settings per location
- Embeddable widget code generated per location
Inventory per location
Central product catalog, per-location stock counts. Transfer products between locations. Reorder points and supplier mappings set per site.
- Per-location stock counts tracked in real time
- Inter-location transfer requests with approval flow
- Per-location reorder points and low-stock alerts
- Location-specific supplier mappings
- Transfer audit log for accountability
Per-location SMS + WhatsApp numbers
Each location can have its own SMS number and WhatsApp Business channel. Customers reply to the location they booked with.
- Dedicated SMS numbers provisioned per location
- WhatsApp Business channels per location
- Per-location SMS template overrides
- Opt-out tracking per location for compliance
- Per-location billing for messaging usage
Per-location AI personality
Different AI receptionist greeting, voice, and behavior per location. Downtown can sound sophisticated; the suburban site can sound warm and neighborly.
- Per-location greeting script
- Voice selection from 6 voices per location
- Per-location behavior tuning and escalation rules
- Per-location knowledge base entries
- Per-location IVR flows and call routing
Per-location custom fields
Capture vertical-specific data at intake. Each location can define its own field set for clients, appointments, and staff profiles.
- 8 field types: text, number, date, dropdown, checkbox, and more
- Validation rules configurable per location
- Visibility rules (staff-only vs. client-facing)
- JSONB storage for flexible schema evolution
- Per-location field set definitions — no shared schema lock-in
Per-location booking rules
Advance notice minimum, buffer between appointments, and max bookable window are all per-location. No-show policy and payment-due policy set per site.
- Advance-notice minimum (e.g., 2 hours before appointment time)
- Per-service buffer between back-to-back bookings
- Max future booking window (e.g., 90 days out)
- No-show policy per location (fee, ban, warning)
- Payment-due policy per location (prepay, deposit, on-day)
Cross-Location Reporting
View metrics across all locations side-by-side OR drill into one location at a time. Revenue, bookings, staff performance, customers, inventory — every report supports location filtering and comparison.
Revenue by location
Total revenue with per-service, per-tech, and per-product breakdowns. Rank locations side-by-side and drill from company level down to a single appointment.
- Side-by-side comparison view across all locations
- Drill from company level to location to service
- Time-range filtering (day, week, month, custom)
- Cross-location ranking by revenue, growth, and margin
- Export to CSV and PDF
Bookings by location
Appointment count, fill rate, no-shows, and cancellations per location. Spot which locations are underperforming before it becomes a revenue problem.
- Per-location booking heatmap by hour and day
- Fill-rate trends over time per location
- No-show rates per service per location
- Cancellation reasons broken down per location
- Peak-hour analysis to optimize staffing
Staff performance by location
Hours worked, appointments per staff, revenue per staff, tips, and commissions — all scoped to location. Compare across locations to benchmark your team.
- Per-staff dashboards scoped to each location
- Cross-location staff comparison for managers
- Productivity metrics: appointments per hour, revenue per hour
- Commission accruals tracked per staff per location
- Training-impact tracking before and after onboarding
Customer + inventory by location
Retention curves, average spend, loyalty segments, and stock turnover — all per location. Know which site retains customers and which needs a loyalty push.
- Per-location retention curves and churn signals
- Per-location loyalty-segment views (new, returning, at-risk)
- Per-location product turnover rates
- Per-location reorder-point alerts from inventory reports
- Per-location customer lifecycle stages
Location-Branded Comms
Every channel can be per-location. Customers calling the downtown location hear the downtown AI greeting in the downtown voice. SMS from the suburban location comes from the suburban number. The integration story collapses — no separate Twilio account per location.
Per-location phone number
Provision SignalWire voice numbers per location. Each location gets its own IVR flow, call queue, and voicemail greeting.
- Approx. 5-minute provisioning via SignalWire
- US + Canada area-code search
- Location-scoped IVR flows and routing rules
- Per-location call queue with hold music
- Per-location voicemail greeting and transcription
Per-location SMS + WhatsApp from-number
Outbound and inbound SMS and WhatsApp per location. Two-way conversations land in the per-location inbox view so the right staff responds.
- A2P 10DLC compliance per number for US carriers
- Two-way conversations land in per-location inbox
- Location-specific SMS templates for reminders and follow-ups
- Per-location opt-out tracking for TCPA compliance
- Per-location TCPA-compliant marketing messaging
Per-location AI receptionist
Different personality, voice, and greeting per location. The downtown location can sound polished and upscale; the neighborhood location can feel warm and familiar.
- Per-location greeting script defined in plain language
- 6-voice selection per location
- Per-location behavior tuning (formal, friendly, terse)
- Per-location knowledge base entries for FAQs
- Per-location escalation and transfer rules
Per-location email sender
Each location sends from its own branded identity. Clients see the location name and domain in the From header — not a generic company address.
- Per-location Gmail sender configuration
- Location name plus domain in the From header
- Per-location email templates for confirmations and reminders
- Per-location email engagement tracking
- Per-location unsubscribe management
True Multi-Tenancy via Postgres RLS
Built on Postgres row-level security. Staff at Location A literally cannot see Location B's data — enforced at the database layer, not at the app layer. SQL injection cannot bypass it.
RLS-enforced data isolation
Every customer-data table is filtered by user_locations membership at query time. The database enforces isolation even if the app layer has a bug.
- Database-level enforcement — not just application checks
- Audit log of access attempts with originating user context
- No opt-out per user — isolation is always on
- Row-level security policies on every customer-facing table
- Cross-location super-admin view requires an explicit elevated role
Location-scoped permissions
A staff member can be Manager at Location A and Staff at Location B. Roles are per-location-staff pairings, not global user roles.
- Granular role per location-staff pairing
- Role inheritance optional — override at any location
- Custom roles can be scoped per location
- Audit log of permission changes with timestamps
- Role changes take effect immediately without re-login
Audit log per location
Every data change is recorded with the originating user and location context. Filter the audit log by location for compliance or investigation.
- Immutable audit log — records cannot be deleted
- Per-location filtering on the audit log view
- Compliance-ready retention settings
- Cross-location audit log tools for super admins
- Export audit log to CSV for external compliance review
Per-Location Subscription Pricing (Coming Soon)
Each location with its own subscription plan and usage limits. Honest scope: this is in design today; we will ship it as soon as the per-location-tier billing infrastructure lands.
Per-location plan selection
Run Pro at Location A and Starter at Location B. Mixed-plan companies pay for what each location actually uses — no forcing every site to the highest tier.
- Independent plan tier per location
- Mixed-plan companies with different tiers per site
- Per-location feature gating based on plan
- Per-location seat counts
- Per-location add-on selection
Per-location usage limits
Each location gets its own staff seat count, SMS allotment, storage quota, and AI minute budget. One busy location does not eat another location's quota.
- Per-location staff seat allocation
- Per-location SMS allotment
- Per-location storage quota
- Per-location API call budget
- Per-location AI receptionist minute allotment
Consolidated or per-location billing
One invoice for the whole company, or separate invoices per location. Mixed billing entities are supported for franchise and multi-owner structures.
- Company-wide billing aggregation option
- Per-location invoicing option
- Mixed billing entities for franchise structures
- Per-location billing contact
- Per-location payment method on file
Multi-Location Connects to the Whole Platform
Per-location configuration flows into every product — team management, catalog pricing, communications, AI agents, and analytics all understand location context natively.
See how multi-location businesses use Booking Pro AI