BarberSlotâs multi-tenant architecture allows you to manage multiple shop locations, assign administrators, and view aggregated analytics across your entire chain.
Understanding Multi-Tenancy
Hierarchy
Tenant (Organization)
âââ Shops (Locations)
âââ Barbers (Staff)
âââ Bookings (Appointments)
Tenant: Your organization (e.g., âMarioâs Barber Chainâ) Shop: Individual location (e.g., âDowntown Locationâ, âSuburbs Locationâ) Barbers: Staff working at specific shops
Roles
Tenant Owner (You)
- Access to all shops
- Create/delete shops
- Assign shop managers
- View aggregate analytics
- MUST enable 2FA (compliance)
Tenant Admin
- Manage all shops (no deletion)
- Assign shop managers
- View all data
- Canât change tenant settings
Shop Owner
- Full control of one shop
- Manage barbers
- Configure shop settings
- View shop analytics
Shop Manager
- Manage one shop (limited permissions)
- Create bookings
- View customers
- Canât change settings
Barber
- Manage own schedule
- View own bookings
- Manage own customers
- Canât see other barbersâ data (unless shared)
Tenant Dashboard
Access comprehensive overview of all locations.
Aggregate Stats
See combined metrics:
- Total bookings across all shops this week/month
- Total revenue (if tracking enabled)
- Occupancy rate per shop (% of available slots booked)
- New customers organization-wide
- Top performers (barbers with most bookings)
Comparison view: See which shops are performing best.
Shop List
View all your locations:
- Shop name
- Address
- Active barbers count
- Bookings this week
- Status (active/inactive)
Quick actions:
- Click shop to view shop-specific dashboard
- Edit shop settings
- View shop calendar
Trend Analysis
Visualize performance:
- Bookings per shop (bar chart)
- Revenue over time (line graph)
- Occupancy heatmap (best/worst days)
- Customer growth (month-over-month)
Use insights to:
- Identify underperforming locations
- Replicate successful strategies
- Optimize staffing levels
- Plan expansion
Creating Shops
Add New Location
- Tenant Dashboard â âAdd Shopâ
- Fill details:
- Shop Name: e.g., âDowntown Locationâ
- Address: Full street address
- Timezone: Local timezone for that shop
- Language: Default language
- Phone: Shop contact number
- Email: Shop email address
- Branding (optional):
- Logo
- Primary color
- Custom booking page URL
- Save
Shop is created and appears in your shop list.
Shop Configuration
Each shop can have:
- Independent branding: Different logos/colors
- Different services: Location-specific offerings
- Different prices: Adjust for local market
- Different hours: Match local demand
- Different policies: Cancellation rules, booking windows
Example:
- Downtown shop: Premium pricing, longer hours
- Suburban shop: Family-friendly, weekend focus
Assigning Administrators
Delegate management to trusted staff.
Tenant Admin
Give someone access to ALL shops:
- Tenant Dashboard â âTeamâ
- Click âAdd Tenant Adminâ
- Enter email address
- Set role: TENANT_ADMIN
- Send invitation
They receive:
- Email invitation
- Account creation link
- Access to tenant dashboard
Limitations:
- Canât delete shops
- Canât change tenant-level settings
- Canât remove tenant owner
Shop Admin
Assign manager to specific shop:
- Select shop
- Shop Settings â âTeamâ
- Click âAdd Adminâ
- Enter email
- Choose role:
- SHOP_OWNER: Full control
- SHOP_MANAGER: Limited control
- Send invitation
Shop owner can:
- Manage all barbers in shop
- Edit shop settings
- View all bookings
- Access analytics
Shop manager can:
- Create bookings
- Manage customers
- View schedule
- Canât edit shop settings
Managing Barbers Across Shops
Assigning Barbers to Shops
Barbers belong to specific shops:
- Shop dashboard â âBarbersâ
- Click âAdd Barberâ
- Enter barber details
- Barber receives invitation
- Sets up account and schedule
One barber, one shop (default). Future: Multi-shop barbers.
Transferring Barbers
Move barber to different shop:
- Tenant Dashboard â âTeamâ
- Find barber
- Click âTransferâ
- Select destination shop
- Confirm
What happens:
- Past bookings preserved
- Future bookings cancelled (or transferred)
- Schedule reset to new shop
- Customers notified
Shop-Specific Services
Each shop can customize services.
Inheriting Tenant Services
Option 1: Use tenant-level templates
- Define services once at tenant level
- All shops inherit same services
- Update centrally
Option 2: Shop-specific services
- Each shop creates own services
- Prices and names can differ
- More flexibility, more management
Recommended: Hybrid approach
- Core services inherited (e.g., âHaircutâ)
- Shop adds unique offerings (e.g., âKids Cut with Balloonâ)
Price Overrides
Override tenant pricing per shop:
- Shop Settings â Services
- Select inherited service
- Click âOverride Priceâ
- Set shop-specific price
- Save
Example:
- Tenant price: âŹ25
- Downtown override: âŹ30 (premium location)
- Suburban override: âŹ20 (competitive market)
Data Isolation
Critical for GDPR and privacy:
Shop isolation:
- Shop A canât see Shop Bâs customers
- Shop A canât see Shop Bâs bookings
- Shop A canât access Shop Bâs analytics
Tenant owner sees all (but should respect privacy).
Querying Data
When pulling reports:
- Always filter by shop
- Donât combine customer data across shops (privacy)
- Aggregate metrics OK (counts, averages)
Exception: If customer books at multiple shops, they consent to data sharing.
Multi-Shop Analytics
View combined performance metrics.
Consolidated Reports
Weekly Summary:
Shop A: 150 bookings, âŹ3,750 revenue, 85% occupancy
Shop B: 120 bookings, âŹ2,400 revenue, 68% occupancy
Shop C: 180 bookings, âŹ4,500 revenue, 92% occupancy
Total: 450 bookings, âŹ10,650 revenue, 82% avg occupancy
Top Performers:
- Marco (Shop C): 45 bookings
- Luca (Shop A): 42 bookings
- Giovanni (Shop B): 38 bookings
Service Breakdown:
- Haircut: 60% of bookings
- Beard Trim: 25%
- Color: 10%
- Other: 5%
Comparison Views
Side-by-Side:
| Metric | Shop A | Shop B | Shop C |
|---|---|---|---|
| Bookings | 150 | 120 | 180 |
| Revenue | âŹ3,750 | âŹ2,400 | âŹ4,500 |
| Avg Price | âŹ25 | âŹ20 | âŹ25 |
| No-Shows | 5% | 8% | 3% |
Use to identify:
- Best practices at high-performing shops
- Training needs at underperforming shops
- Staffing inefficiencies
Branding Per Shop
Customize booking experience for each location.
Custom Booking URLs
Each shop gets unique booking link:
- Shop A:
barberslot.com/book/downtown - Shop B:
barberslot.com/book/suburbs - Shop C:
barberslot.com/book/westside
Customers see: Branding for that specific shop.
White-Label Option (Business Plan)
Completely custom domain:
- Shop A:
book.mariosbarbershop.com - Shop B:
book.suburbancuts.com
Requires: Business plan + custom domain setup.
Compliance & Security
2FA Enforcement
Tenant owners MUST enable 2FA within 30 days.
Cannot be disabled for tenant owners (compliance).
Audit Logs
Tenant dashboard tracks:
- Shop creation/deletion
- Admin assignments
- Permission changes
- Data access logs
GDPR requirement: Maintain audit trail.
Data Access Permissions
Control who sees what:
Tenant Owner: Everything Tenant Admin: All shops, limited tenant settings Shop Owner: One shop, all data Shop Manager: One shop, limited data Barber: Own schedule and customers only
Scaling Your Business
Adding Locations
Checklist for new shop:
- â Create shop in BarberSlot
- â Configure branding and settings
- â Add shop admin
- â Onboard barbers
- â Configure services (inherit or custom)
- â Set schedules
- â Test booking flow
- â Launch!
Franchise Model
If franchising:
Tenant = Franchisor Shops = Franchisees
Each franchisee gets:
- Shop owner account
- Custom branding
- Own pricing
- Own team
You (franchisor) maintain:
- Oversight access
- Aggregated analytics
- Quality control
Troubleshooting
Problem: âCanât see other shopsâ
- Verify youâre tenant owner/admin (not shop-specific role)
- Check permissions
- Refresh tenant dashboard
Problem: âShop admin canât access shopâ
- Verify invitation was accepted
- Check role assignment
- Confirm shop is active
Problem: âAnalytics donât matchâ
- Check date range
- Verify timezone settings across shops
- Ensure all shops reporting correctly
Problem: âService changes not reflecting in shopâ
- Check if shop has price override
- Verify shop inherited service
- Refresh shop settings
Best Practices
Doâs â
- Standardize core processes across shops
- Allow local customization (pricing, hours)
- Monitor performance weekly
- Share best practices between locations
- Train shop managers properly
- Use aggregate data for strategic decisions
Donâts â
- Donât micromanage individual shops
- Donât force identical pricing (local markets differ)
- Donât ignore underperforming shops
- Donât share customer data between shops without consent
- Donât skip 2FA (security risk)
Next Steps
- Understand GDPR compliance: GDPR Guide
- Configure shop settings: Settings Guide
- Secure your account: Authentication Guide
Questions about multi-shop? Email support@barberslot.com