Find sections across all documentation pages
Configure your booking widget to match your brand and business requirements. All settings can be updated at any time.
The main brand color used for buttons, CTAs, and interactive elements. If your brand color is blue (#0066CC), set this as your primary color so all booking buttons match your website.
The color of text displayed on primary buttons. Use white (#FFFFFF) for dark primary colors, or dark text for light primary colors.
Controls the roundness of buttons and input fields (0-32px): 0px = sharp corners, 8px = slightly rounded, 16px = rounded, 32px = pill-shaped.
The call-to-action text displayed on the main booking button. Defaults to "Book Appointment" if not set. Also used as the default button text in the Button Trigger embed mode.
Tip: The widget settings page includes a live preview that updates in real-time as you adjust colors and border radius.
Dollar amount charged if customer cancels within the notice period (e.g., $25).
Minimum hours of advance notice required to cancel without penalty. Typical values: 24-48 hours.
Maximum minutes late before appointment may be cancelled. Common value: 15 minutes.
How many days in advance customers can book. Set to 90 for 3 months advance booking.
When enabled, customers must provide a phone number during booking. Recommended for appointment confirmations and reminders.
Sends an SMS code to verify the customer's phone number before allowing booking. Helps prevent spam and no-shows. Requires "Require Phone Number" to be enabled.
Collects credit card information to hold the appointment (no charge until service). Reduces no-shows significantly.
Displays service prices in the widget. Disable if you prefer to discuss pricing during the appointment.
Filters services to show only consultation-type appointments. Useful if you want to limit online booking to initial consultations.
Displays service subcategories in the service selection step for better organization.
When enabled, adds a provider/therapist selection step to the booking flow. Customers can choose a specific provider or select "Any Available" for the next opening.
Allows customers to add additional services or enhancements during the booking process.
Adds a checkbox for customers to opt-in to marketing emails. Helps build your email list compliantly. You can customize the consent text using the "Marketing Consent Text" field.
Custom text shown next to the marketing consent checkbox. Use this to describe what customers are opting into.
Custom legal language displayed during the booking confirmation step. Use this for terms the customer must agree to when completing a booking.
When enabled, collects a deposit amount at the time of booking. The deposit is charged immediately and applied toward the final service cost.
The dollar amount to collect as a deposit (e.g., $50). Only applies when Advanced Deposit is enabled.
Link to your gift card purchase page. When set, a gift card link is displayed in the widget for cross-promotion.
Displays a promotional banner at the top of the widget. Use this to highlight special offers or seasonal promotions.
A list of promotional messages to rotate in the promo banner. Add multiple promos to cycle through different offers.
Webhooks send HTTP POST requests to your specified URL when booking events occur. Use this to integrate with your own systems.
The endpoint where webhook events will be sent. Must be a valid HTTPS URL.
Triggered when a customer completes Step 1 (personal information). Useful for tracking booking intent and capturing leads early in the funnel.
Triggered when a booking is successfully completed. Use this to update your CRM, send confirmation emails, or trigger other automations.
Webhook Payload Example
{
"event": "booking_completed",
"timestamp": "2025-01-15T14:30:00.000Z",
"data": {
"sessionId": "abc123...",
"bookingId": "zenoti-booking-id",
"reservationId": "zenoti-reservation-id",
"guestId": "zenoti-guest-id",
"value": 85.00,
"serviceId": "service-123",
"serviceName": "Haircut",
"serviceCategory": "Hair Services",
"date": "2025-01-15",
"startTime": "14:30",
"firstName": "Jane",
"lastName": "Doe",
"guestEmail": "customer@example.com",
"guestPhone": "+1234567890",
"accountName": "your-salon",
"tracking": {
"utm": {
"source": "google",
"medium": "cpc",
"campaign": "summer-promo",
"term": "haircut near me",
"content": null
},
"click_ids": {
"gclid": "abc123...",
"fbclid": null,
"fbc": null,
"fbp": null,
"msclkid": null
},
"referral": {
"referrer": "https://www.google.com",
"landing_page": "https://yoursalon.com/book"
}
}
}
}The tracking object is automatically included when session tracking data is available. It contains UTM parameters, ad platform click IDs (Google, Facebook, Microsoft), and referral information captured when the customer first loaded the widget.
Email address where booking notifications and system alerts will be sent.
When enabled, sends an email notification when a customer begins the booking process (completes Step 1).
When enabled, sends an email notification when a booking is successfully completed.
Displayed in the widget for customer support questions. Also used for error notifications.
Phone number shown in the widget for customer support.
Link to your privacy policy. Displayed in the widget to ensure compliance with data protection regulations.
Link to your terms of service. Shown during the booking process.