How do I customize booking form fields?
Booking forms in Hubhus can show any fields you’ve defined in the campaign. This guide explains how to add, remove, and configure fields – and how to control which ones are required.
On this page
Jump to any section using the links below
Booking forms in Hubhus can show any fields you’ve defined in the campaign. This guide explains how to add, remove, and configure fields – and how to control which ones are required.
Where booking form fields are configured
Go to the relevant campaign.
Open Booking forms in the left menu.
Click the form you want to change (if it is on an existing bookingform, go to Part 3: Confirmation.
You’ll configure fields in two main places:
The field selection area (which fields are part of the form, new forms only)
The content editor (Use ctrl+k or cmd+k to open op the placeholder modal and search for @input to add fields.)
1. Adding and removing form fields
In the booking form settings you’ll typically see options like:
Add form inputs for (event title, location, description, etc.)
Fields (campaign fields such as name, phone, email, notes)
Select fields (select lists like source, service type, region)
Files (file upload fields)
To customize:
Open the booking form configuration.
In the “Add fields to form” area, select which Fields and Select fields you want to include.
Save the form.
These settings control which inputs are available for use in the form content (Part 1–4).
2. Required vs. optional fields
There are two levels of “required” behaviour:
A. System-level required fields (hard validation)
Some fields are configured as required in the campaign or in the booking form settings. If a field is required here:
The form cannot be submitted until it has a valid value.
This is the safest way to ensure critical data (e.g. phone, email) is always present.
Use this for key identifiers or data that must exist when the lead is created.
B. Required in the form markup (@input[slug; required])
For more fine-grained control, you can mark specific inputs as required directly in the form content, for example:
This is useful when:
A field is only required on some forms (but not others)
You want to enforce stricter rules for a specific channel (e.g. online booking vs. internal creation)
Be careful when working with external partners: overly strict requirements (e.g. full validated address or strict phone formatting) can cause more rejected bookings if their systems don’t send exactly what you expect.
3. Field types and validation
The validation depends on the field type you chose when creating the field in the campaign:
Text – free-form text; can be checked with simple rules or regex if needed.
Number – must be numeric; good for ZIP codes, amounts, etc.
Date / DateTime – must match date/time formats.
Select – must be one of the predefined options.
File – must be a supported file type and within size limits.
For phone numbers and emails, use dedicated email/phone fields where possible, as they benefit from built-in format checks.
4. Conditional fields (show only when needed)
You can use conditional logic to show different text or hints based on values, for example:
Common uses:
Show extra fields or instructions only for certain visit types.
Display different messages for commercial vs. private customers.
Provide special instructions for specific services.
Conditional logic is processed when the email/page is rendered – it does not hide the HTML input itself, but controls the surrounding content and messaging.
5. Editing form messages (validation and booking errors)
Each booking form has a Form messages section where you can define the texts shown when something prevents booking, for example:
Unsupported postal code
“It is unfortunately not possible to book in postal code %booking_postal_city%.”
Address too far from base (max transport exceeded)
“The address %booking_location% is too far away to be booked through this form.”
No available times found
“No available times were found before [date]. Please try another date or contact us.”
Use these messages to give clear guidance instead of just “no times available”.
6. Testing field behaviour
Before using a booking form in production:
Open the public URL of the form.
Try submitting with missing required fields to verify error messages.
Try invalid values (wrong email format, unsupported postal code, etc.).
Confirm that the resulting lead and event have all the fields filled as expected.
Best practices
Keep forms as short as possible – only ask for what you truly need.
Make important fields required at system level so they’re always present.
Use
@input[slug; required]only when you’re sure all channels can provide the data.Use clear Form messages so customers understand why a booking cannot be completed.
? Common searches
booking setup • calendar setup • appointment scheduling • booking configuration
? Also known as
appointment • scheduling • reservation • calendar event
Was this article helpful?
That’s Great!
Thank you for your feedback
Sorry! We couldn't be helpful
Thank you for your feedback
Feedback sent
We appreciate your effort and will try to fix the article