Booking site settings is where you design the public booking pages your customers use to browse events and reserve slots. You can run multiple templates from a single account, each with its own URL, styling, event list, checkout configuration, and confirmation experience. One template is marked as your main template and is served at your base booking URL.
Getting started
Navigate to Bookings > Booking site settings from the sidebar. You'll see a list of your templates. Click a row to edit, or click Create new template to start fresh.
How it works
A template is a self-contained booking page with its own URL slug, visual styling, event selection, customer-info fields, checkout rules, and confirmation experience. Changes are saved per section, not all at once, so you can work on one section at a time and publish changes incrementally.
Templates have two tabs:
- Publish: URL slug, main-template toggle, embed code
- Content: six sections in a left-column nav covering everything the customer sees on the page
Custom fields (checkboxes, text inputs, dropdowns) are defined once in the central library at Settings > Custom fields, then attached to each template from the Customer info section. Each attachment carries its own per-venue toggles for Required, Requires user interaction, and Creates alert — so the same field can be required at one venue and optional at another. Updating a field's label, type, or options in the library still applies to every template it's linked to.
Reference
Template list columns (Active tab)
| Column | Description |
|---|---|
| Template info | Mini preview (logo/icon), template name, description |
| Status | main badge (if this template is your main), plus Live (active) or Draft (inactive) |
| Events | Count of linked events |
| Last modified | Relative time ("Today", "Yesterday", "3 days ago", etc.) |
| Actions | Three-dot menu (see below) |
Switch to the Archived tab to see deactivated templates. Archived rows have a single Restore action.
Template list actions (three-dot menu)
| Action | Description |
|---|---|
| Edit template | Opens the template editor |
| Go to booking site | Opens the live booking URL in a new tab |
| Set as main | Marks this template as the default at your base booking URL. Confirms before applying |
| Duplicate | Creates a copy of the template and opens the editor for the new copy |
| Activate / Deactivate | Toggles whether the template is live. Activating requires a configured payment gateway |
| Archive | Moves the template to the Archived tab. Archived templates are hidden from the active list |
In the Archived tab, the only action is Restore, which returns the template to the active list.
Publish tab
| Field | Description |
|---|---|
| Template name | Display name for the template |
| Description | Optional internal description (not shown to customers) |
| URL slug | Sets the page address (e.g., private-events → /book/yourcode/private-events) |
| Main template toggle | Make this the default at your base booking URL |
| Embed code | HTML snippet for embedding the booking widget on your own website |
Content tab sections
The Content tab has six sections, selectable via the left-column section nav:
- General settings — header, colors, typography, logo
- Event selection — layout, events list, display options, time slots and calendar
- Event details — event detail page configuration
- Customer info — custom fields that appear during checkout
- Checkout & payment — promo codes, cart timeouts
- Confirmation — post-booking messages and redirect
Each section saves independently via the Save changes button at the bottom of the section. A live schematic preview on the right of the editor updates as you adjust the currently-active section.
Section 1 — General settings
Three collapsible sections:
Header
| Field | Description |
|---|---|
| Title | Page title shown at the top of the booking site |
| Subtext | Smaller text under the title |
| Display progress bar | Toggle the step indicator across the booking flow |
| Display progress bar section titles | Toggle whether each step shows a text label |
Colors and typography
| Target | Fields |
|---|---|
| Page | Font family, Text color, Background color |
| Cards | Font family, Text color, Link color, Button color, Background color |
Logo
| Field | Description |
|---|---|
| Show logo | Toggle logo visibility |
| Logo height / Logo width | Dimensions in pixels |
| Logo fit | Contain, cover, fill, or equivalent CSS fit modes |
| Upload button | Accepts image files |
| Preview | Shows the uploaded logo |
Section 2 — Event selection
Four collapsible sections:
Layout
Pick Cards (grid) or List (board style). For list layout, configure image size and position.
Events
| Element | Description |
|---|---|
| Add event dropdown | Add any event from your library to this template |
| Events table (draggable) | Reorder by dragging. Row actions include removing an event |
| Gift cards toggle | Enable gift card purchases on this template |
Event display
| Field | Description |
|---|---|
| Auto rotate images | Cycle through event images automatically |
| Show event title | Display the event name |
| Show number of players | Display player count |
| Show event difficulty | Display the difficulty rating |
| Show event duration | Display how long the event takes |
| Display details on image | Cards layout only; overlays details on the event image |
Time slots & calendar
| Field | Description |
|---|---|
| Hide date selection (display mode) | Hide the date picker and navigation, auto-advance at midnight. Use on venue screens |
| Include link to calendar view | Add a link from the booking page to a month-view calendar |
| Real-time availability updates | Live-update availability without page refresh |
| Default calendar date | First-available / Today + days ahead / Specific date |
| Days ahead (conditional) | 1-365 days; shown when default is "Today + N days" |
| Specific date (conditional) | Date picker; shown when default is "Specific date" |
| Calendar slot colors | Pick background and text colors for Available, Call to book, and Sold out slots (when the calendar view link is enabled) |
| Show sold out and blocked slots on booking site | Toggle. When off, only available slots render |
| Hide custom slot messages on sold out slots | Toggle, conditional on Show sold out and blocked slots. When on, any per-slot custom message (badge or text) is automatically hidden the moment a slot is sold out, so promotional badges (like "Last Slot!") don't show alongside the SOLD OUT label. Only affects sold out slots — blocked and call-to-book slots still show their messages. Off by default for every existing and new template |
| Custom text for sold out slots | Override the default sold-out label. Conditional on Show sold out and blocked slots |
| Custom text for blocked slots | Override the default blocked label. Conditional on Show sold out and blocked slots |
| Custom text for slots marked as Call To Book | Override the default call-to-book label |
| Show available ticket count | Public bookings only; show remaining availability on each slot |
Section 3 — Event details
One collapsible section:
Pricing
| Field | Description |
|---|---|
| Show event pricing with taxes and fees included | Toggle whether displayed prices are tax-inclusive |
Section 4 — Customer info
One collapsible section: Custom fields.
Active custom fields render as a draggable list of cards (same style as the waiver editor). Each card carries its own per-venue behavior toggles so the same library field can be configured differently for each booking site template.
| Card element | Notes |
|---|---|
| Drag handle | Tim-icons rank icon at the far left. Drag to reorder. Tooltip: "Drag to reorder" |
| Type icon | Checkbox, input field, or dropdown icon based on the field's type |
| Field label | The label from the library, in white text |
| Type badge | Uppercase type name: CHECKBOX, INPUT FIELD, or DROPDOWN |
| Required (toggle) | El-switch. Shown on input field and dropdown types. When on, the booking site shows a red asterisk and blocks submission until the field is filled. Tooltip: "Make field required" |
| Requires user interaction (toggle) | El-switch. Shown on checkbox types. When on, the customer must tick the box before the booking submits (used for terms-and-conditions confirmations). Tooltip: "Requires user interaction" |
| Creates alert (toggle) | El-switch. Available on all field types. When on, the customer's response triggers a warning icon on the calendar and inside the booking drawer. Tooltip: "Show alert on booking calendar when filled out" |
| Saving spinner | A small loading icon appears on the card while the toggle change saves |
| Remove button | X icon at the far right. Removes the field from this template only; the field stays in the library |
The toggles save in place — flip a switch and the new value persists on refresh. No modal confirmations; toast notifications confirm each change.
| Control | Notes |
|---|---|
| Add custom field dropdown | "+ Add custom field" picker showing library fields not yet attached. Each option shows the field label and a type badge aligned right |
| Empty state — no library fields | Panda illustration directing you to Settings > Custom fields to create one |
| Empty state — library fields exist but none attached | "No custom fields added to the customer info section. Use the dropdown above to add one." |
To create or edit the field itself (label, type, options), go to Settings > Custom fields. The Required, Requires user interaction, and Creates alert behaviors are no longer in the central library — they live on each venue's attachment of the field.
Section 5 — Checkout & payment
Two collapsible sections:
Promo codes
| Field | Description |
|---|---|
| Show promo code field | Toggle whether customers can enter a promo code |
| Promo code field placeholder text | Placeholder in the input (e.g., "Promo code") |
| Show custom error message for invalid promos | Toggle whether to override the default error |
| Invalid promo code error message | Custom error text |
Cart & timeouts
| Field | Description |
|---|---|
| "In Cart" expiration | Toggle auto-clearing of stale carts |
| Cart timeout | Value + period (minutes, hours, days) when expiration is on |
| Unblock bookings with incomplete payments | Toggle whether to release slots that weren't paid within a window |
| Incomplete booking timeout | Value + period when unblocking is on |
The Add another booking button section is temporarily unavailable while being rebuilt. It will return in a future release.
Section 6 — Confirmation
Two collapsible sections:
Messages
| Field | Description |
|---|---|
| Confirmation page message | Shown to customers after they complete a booking. Supports [Company Name] and [Company Group Name] variables |
| Insufficient resource error message | Shown when a customer tries to book and resources aren't available |
Redirect & links
| Field | Description |
|---|---|
| Redirect link | URL the customer goes to after booking (defaults to https://offthecouch.io) |
| Redirect button text | Label for the redirect button (shown when auto-redirect is off) |
| Automatically redirect the user when a booking has been completed | Toggle |
| Redirect delay (seconds) | 1-1000 seconds; shown when auto-redirect is on |
| Include waiver link on booking confirmation | Toggle whether to surface the waiver link on the confirmation page |
Step-by-step guide
Create a template
- Open Bookings > Booking site settings
- Click Create new template
- The editor opens; go to the Publish tab
- Enter Template name, optional Description, and set a URL slug
- Click Save changes
Configure the Content tab
- Go to the Content tab
- Click each section in the left-column nav in order (General settings → Event selection → Event details → Customer info → Checkout & payment → Confirmation)
- Expand collapsible subsections and update fields
- Click Save changes at the bottom of each section before switching
The schematic preview on the right reflects your current section's settings.
Link custom fields to a template
- Create or edit the field at Settings > Custom fields
- Return to the template's Content > Customer info section
- Use the + Add custom field dropdown to attach the field
- Drag cards to reorder how fields appear on the booking form
- Flip Required (or Requires user interaction for checkbox fields) on if the customer must fill it in to submit
- Flip Creates alert on if you want responses to surface as a warning icon on the calendar and booking drawer
- Remove a field from this template by clicking the X on the card
Toggles save in place per template; switching them on one venue does not affect any other venue. Field label, type, and options are still updated in the library and apply to every template the field is linked to.
Activate a template
- On the template list, open the three-dot menu on the template
- Click Activate
- If no payment gateway is configured, activation is blocked with an error. Configure your gateway first in Settings, then retry
Set a template as the main one
- On the template list, open the three-dot menu
- Click Set as main
- Confirm the prompt
The main template is served at your base booking URL. Other templates are reachable at the URL slug you set in the Publish tab.
Duplicate a template
- On the template list, open the three-dot menu
- Click Duplicate
- The editor opens on the new copy, ready for changes
Archive and restore a template
- On the template list, open the three-dot menu
- Click Archive
- The template moves to the Archived tab
- In the Archived tab, open the three-dot menu on any row and click Restore to bring it back
Preview the live page
- On the template list, open the three-dot menu
- Click Go to booking site
- The live public page opens in a new tab at the template's URL
Good to know
- Payment gateway is required before you can activate a template. If you try to activate without one, the action is blocked.
- Setting a new main template does not deactivate the previous main. You can keep multiple templates live; only one is served at the base URL.
- The Cards and List layouts affect how customers browse events. Cards is best for small event catalogs with strong imagery; List is better when you have many events and customers scan by name.
- Real-time availability updates is useful during high-traffic periods where multiple customers may be viewing the same slot.
- The schematic preview is a quick visual reference, not a pixel-perfect rendering. Use Go to booking site to see the real page.
- Custom fields are managed once and reused everywhere. If you need the same field with different visibility per template, create separate fields for each scenario.
- The Add another booking button is currently unavailable in the editor while being rebuilt. Existing booking sites still show the default behavior.
FAQ
Q: How many templates can I have?
A: There's no fixed limit. Create one per audience, campaign, or event type. Each has its own URL slug.
Q: Can I embed the booking page on my website?
A: Yes. On the Publish tab, copy the embed code and paste it into your site's HTML.
Q: How do I add a custom field to a template?
A: Create the field once at Settings > Custom fields, then attach it from the template's Content > Customer info section using the + Add custom field dropdown. The same field can be linked to any number of templates, with different Required and Creates alert settings per venue.
Q: How do custom field alerts work?
A: Each attached field has its own Creates alert toggle on its card. When on, the customer's response triggers a warning icon on the booking calendar, resource calendar, kanban view, and inside the booking drawer. Use it for special requests, accessibility needs, or anything staff should review on sight. The alert state is captured as a snapshot at the time of booking — changing the toggle later only affects new bookings, not historical ones.
Q: Can I make the same custom field required at one venue and optional at another?
A: Yes. The Required, Requires user interaction, and Creates alert toggles live on each venue's attachment of the field, not on the field itself. Flip them differently per template; the library field is shared but the behavior is per-venue.
Q: A customer ticked-required checkbox stopped enforcing on my booking site. What changed?
A: That was a known bug — checkbox fields with Requires user interaction turned on weren't blocking submission. It's been fixed. Required checkboxes now show the red asterisk and block submission until the customer ticks them. If you had a previously-required checkbox that silently stopped enforcing, re-toggle Requires user interaction on for that field on the template.
Q: My booking site shows "Last Slot!" next to a SOLD OUT label. Can I clean that up?
A: Yes. In Content > Event selection > Time slots & calendar, turn on Hide custom slot messages on sold out slots. Any custom message on a slot is then hidden the moment that slot sells out. Only sold out slots are affected — messages on blocked and call-to-book slots stay visible (so notices like "Closed for Christmas" on a manually blocked slot are unaffected).
Q: What happens if I archive my main template?
A: Your base booking URL will show no active template until you set another as main. Set a new main template before archiving the current one.
Q: Why can I not activate my template?
A: Activation requires a configured payment gateway. Set up your gateway in Settings, then return and try again.
Q: Why is the "Add another booking" button section missing?
A: It's temporarily removed from the editor while being rebuilt. Existing templates continue to behave as configured until it returns.