Branding
White-label booking page configuration for merchants. BrandingContext allows merchants to customize the appearance of their online booking pages to match their brand identity.
Scope
In Scope:
- Booking page branding (colors, logo, fonts)
- Domain configuration for custom booking URLs
- Basic SEO settings (title, description, favicon)
- Merchant branding assets (logo, business name, colors)
Out of Scope (Not Part of SCP):
- Static pages (content marketing pages)
- Contact forms
- Blog functionality
- Full website management
Features
Booking Page Customization
Merchants can configure their booking page appearance:
Visual Branding:
- Logo upload
- Primary and secondary brand colors
- Font selection
- Custom CSS (advanced users)
- Favicon
Business Information:
- Business name and tagline
- Business description (for SEO)
- Contact information display
- Social media links
Domain Configuration:
- Custom domain support (e.g.,
book.yoursalon.com) - Default subdomain (e.g.,
yoursalon.zoca.app) - SSL certificate management
SEO Settings
Basic search engine optimization:
Meta Tags:
- Page title (e.g., "Book Appointment | Your Salon")
- Meta description
- Open Graph image for social sharing
- Keywords
Analytics Integration:
- Google Analytics tag ID
- Facebook Pixel
- Custom tracking scripts
Booking Page Layout
Components Displayed:
- Service catalog with pricing
- Provider profiles (optional)
- Location information
- Available time slots calendar
- Customer testimonials/reviews
- Business hours
Configurable Elements:
- Show/hide provider selection
- Display service categories
- Show pricing on booking page
- Require customer account for booking
- Enable guest checkout
Implementation
BrandingContext Schema
%Branding{
id: uuid,
merchant_id: uuid,
tenant_id: uuid,
# Visual Branding
logo_url: string,
favicon_url: string,
primary_color: string, # Hex color code
secondary_color: string,
font_family: string,
custom_css_url: string, # Stored in R2/S3
# Domain Configuration
domain_name: string, # Custom domain
subdomain: string, # Default subdomain
# Business Information
business_name: string,
tagline: string,
description: text,
# SEO
meta_title: string,
meta_description: string,
og_image_url: string,
google_analytics_id: string,
# Display Options
show_providers: boolean,
show_pricing: boolean,
require_account: boolean,
enable_guest_checkout: boolean,
# Social Links
social_links: map, # %{facebook: url, instagram: url, etc.}
metadata: map
}
Default Booking Page Flow
When end customers visit the booking page, they see:
-
Landing Section
- Business logo and name
- Hero image or tagline
- "Book Now" call-to-action
-
Service Selection
- List of services with descriptions
- Service pricing (if enabled)
- Service duration
-
Provider Selection (optional)
- Provider photos and bios
- Provider specialties
- "Any available" option
-
Time Slot Selection
- Calendar view
- Available time slots
- Timezone display
-
Customer Information
- Name, email, phone
- Guest checkout or account creation
- Payment method addition
-
Confirmation
- Booking summary
- Deposit payment (if required)
- Confirmation message
URL Structure
Default Subdomain:
https://yoursalon.zoca.app
https://yoursalon.zoca.app/services
https://yoursalon.zoca.app/providers
https://yoursalon.zoca.app/book
Custom Domain:
https://book.yoursalon.com
https://book.yoursalon.com/services
https://book.yoursalon.com/providers
https://book.yoursalon.com/book
Branding Examples
Example 1: Luxury Spa
%Branding{
business_name: "Serenity Spa & Wellness",
tagline: "Relax. Rejuvenate. Restore.",
primary_color: "#2C3E50", # Deep navy
secondary_color: "#E8D5C4", # Warm beige
font_family: "Playfair Display",
show_providers: true,
show_pricing: false, # Don't show pricing publicly
require_account: true
}
Example 2: Modern Barbershop
%Branding{
business_name: "The Modern Barber",
tagline: "Classic Cuts, Modern Style",
primary_color: "#000000", # Black
secondary_color: "#FFD700", # Gold
font_family: "Montserrat",
show_providers: true,
show_pricing: true,
enable_guest_checkout: true
}
Example 3: Fitness Studio
%Branding{
business_name: "CoreFit Studio",
tagline: "Transform Your Body, Transform Your Life",
primary_color: "#FF6B6B", # Energetic red
secondary_color: "#4ECDC4", # Teal
font_family: "Roboto",
show_providers: false, # Class-based, not provider-specific
show_pricing: true,
require_account: false
}
Domain Setup
Custom Domain Configuration
Steps for Merchants:
- Purchase domain (e.g.,
yoursalon.com) - Create CNAME record:
book.yoursalon.com→proxy.zoca.app - Configure in SCP branding settings
- SSL certificate auto-provisioned via Let's Encrypt
DNS Configuration:
Type: CNAME
Host: book
Value: proxy.zoca.app
TTL: 3600
Subdomain Assignment
Auto-Generated Subdomain:
- Based on merchant name
- Format:
merchant-slug.zoca.app - Example: "Serenity Spa" →
serenity-spa.zoca.app
Mobile Responsiveness
All booking pages are mobile-optimized by default:
- Responsive grid layouts
- Touch-friendly buttons and calendars
- Mobile-first design approach
- Fast page load times
Related Capabilities
- Appointments - Appointment booking flow
- Merchant Finance - Payment processing on booking pages
Related API Endpoints
See the API Reference for branding-related endpoints:
GET /api/websites- List website configurationsPOST /api/websites- Create website brandingPUT /api/websites/:id- Update branding settings