Public booking pages are configured as booking links: named URLs with a slug, mode (which services appear), is_active, and a large JSON page_config for branding, copy, contact form fields, and service layout.
Base endpoint:/reservation-booking-links
Public URL pattern (from the app): {origin}/b/{organizationId}/{slug} (path may vary with deployment; use the slug returned by the API).
Top-level fields
Field
Type
Description
organization_id
Number
Required.
name
String
Internal label.
slug
String
URL segment; unique per organization.
mode
String
all_services, single_service, or selected_services.
service_id
Number | null
Required when mode is single_service; otherwise null.
is_active
Boolean
Whether the link is enabled.
page_config
Object
Branding, content, form, and layout (see below).
mode rules
single_service: set service_id to the one bookable service.
selected_services: set page_config.booking_service_ids (array of service IDs) and optionally page_config.booking_service_sections (grouped sections). The app flattens sections into booking_service_ids on save.
all_services: optionally set page_config.booking_all_services_order (array of service IDs) and/or page_config.booking_all_services_sections for grouped display; service-specific section keys are removed on save.
page_config reference
All keys are optional unless noted. Colors are CSS hex strings (e.g. #2563EB).
Content and copy
Key
Type
Description
hero_title
String
Hero title override.
show_hero_title
Boolean
Default true if omitted.
hero_fallback_to_link_name
Boolean
Use link name when hero title empty.
hero_subtitle
String
description
String
Body/description.
instructions
String
Instructions shown on the flow.
thank_you_message
String
Post-booking message.
policy_text
String
Policy / legal footer.
booking_page_copy
Object
Partial string overrides for UI labels (see app BookingPageCopy).
booking_page_copy_preset
String
english or spanish presets in the UI.
Media and layout
Key
Type
Description
logo_url
String
Logo image URL.
cover_image_url
String
Hero cover image URL.
booking_logo_placement
String
e.g. below_cover.
booking_logo_shape
String
e.g. rounded.
booking_logo_size
String
e.g. md.
booking_logo_background_color
String
booking_logo_border_color
String
booking_logo_border_width_px
Number
booking_logo_show_shadow
Boolean
booking_logo_show_ring
Boolean
booking_logo_ring_color
String
booking_logo_ring_width_px
Number
Theme and colors
Key
Type
Description
booking_page_theme
String
custom or preset mode from theme picker.
primary_color
String
background_color
String
text_color
String
heading_color
String
muted_text_color
String
link_color
String
on_primary_color
String
surface_color
String
surface_border_color
String
input_background_color
String
input_border_color
String
hero_title_text_color
String
hero_subtitle_text_color
String
service_icon_text_color
String
summary_banner_color
String
instruction_banner_color
String
instruction_banner_text_color
String
empty_state_background_color
String
empty_state_border_color
String
empty_state_text_color
String
slot_button_background_color
String
slot_button_idle_text_color
String
stepper_inactive_color
String
stepper_connector_color
String
stepper_text_color
String
service_list_background_color
String
service_list_border_color
String
service_list_heading_text_color
String
service_list_primary_text_color
String
service_list_secondary_text_color
String
calendar_panel_background_color
String
calendar_panel_border_color
String
calendar_section_heading_text_color
String
calendar_panel_text_color
String
times_panel_background_color
String
times_panel_border_color
String
times_section_heading_text_color
String
times_panel_secondary_text_color
String
times_panel_text_color
String
details_section_heading_text_color
String
customer_details_text_color
String
confirmation_title_text_color
String
confirmation_body_text_color
String
confirmation_recap_text_color
String
policy_footer_text_color
String
summary_strip_primary_text_color
String
summary_strip_secondary_text_color
String
Service list presentation
Key
Type
Description
service_list_thumbnail_mode
String
color, image, letter, or none.
service_list_layout
String
list or grid.
show_service_description
Boolean
Default true if omitted.
show_powered_by
Boolean
Contact form
Key
Type
Description
booking_contact_fields
Object
Flags for first_name, last_name, email, phone, party_size, notes.
booking_contact_identify_mode
String
email_first or phone_first.
booking_identify_show_heading
Boolean
booking_identify_show_helper
Boolean
booking_default_phone_country_iso
String
e.g. US.
booking_default_phone_country_code
String
e.g. +1.
booking_default_party_size
Number
booking_contact_custom_field_ids
Number[]
Contact custom field IDs to show.
booking_reservation_custom_field_ids
Number[]
Reservation custom field IDs to show.
Service selection (mode-dependent)
Key
Type
Description
booking_service_ids
Number[]
Used for selected_services (flattened list).
booking_service_sections
Array
{ id, title, service_ids: number[] } for grouped services.
booking_all_services_order
Number[]
Optional order for all_services.
booking_all_services_sections
Array
Same section shape for all-services mode.
Upload logo/cover via
POST
/s3-url-signing with types booking-link-logo and booking-link-cover, then set logo_url / cover_image_url in page_config.