Skip to main content

Booking form

Each service can have its own booking form. Use it to collect the details needed to manage that specific appointment.

For a simple service, name and email can be enough. For a more complex service, add phone number, address, notes, file uploads, or questions about the service.

Build the form​

Open the service and use the form builder: add fields from the Field library, drag them to reorder, and select a field to edit its properties.

The booking form builder, with the field library on the left and the form fields of the service

Every field can be:

  • required or optional;
  • hidden, to keep a field without asking it;
  • conditional (see below);
  • included in notification emails through its placeholder.

The Email field is part of every form: TheBooking uses it to identify the customer.

Field types​

FieldUse it for
Input textA single-line answer, such as a name or a code.
Text areaLonger notes or messages.
CheckboxA consent, or an optional add-on, which can have a price.
NumberA number, with a minimum and a maximum.
DateA date chosen from a calendar.
OptionsOne choice from a list; each choice can have a price.
File uploadAttachments, such as a document to review before the appointment.
ParagraphText that explains something; it asks for nothing.

Conditional fields​

Under Conditional, a field changes depending on another field of the form: it can become visible, hidden, required, or not required. The condition is on:

  • a Checkbox: checked or not checked;
  • a Number: greater than, less than, or equal to a value;
  • an Options field: equal to one of its choices.

For example, show a "Company name" field only when the customer checks "Booking for a company".

A Checkbox and each choice of an Options field can have a Price increment: the amount is added to the price when the customer checks the box or picks the choice.

  • The booking widget shows the amount next to the option, for example +USD 15, and lists it in the review step.
  • The amount counts for every ticket: with two tickets, it is added twice.
  • Campaign promotions discount the price of the tickets, not the paid options.
  • The total that customers pay online includes the paid options. See Service payment settings.

Keep the form focused​

Ask only for information you use. A shorter form is easier for customers to complete and reduces the amount of personal data stored in WordPress.

Good examples:

  • phone number for last-minute contact;
  • address for an on-site visit;
  • notes for accessibility or preparation needs;
  • file upload when the provider must review a document before the appointment.

Customer identity​

Make sure the form captures the customer identity required by your workflow, especially name and email.

Phone fields follow Phone field mode under Settings > Business Model > General:

  • International customers: a phone field with a country selector and international prefixes;
  • Mostly local customers: a simple text field that accepts digits and prefix symbols.

The mode applies to the booking widget, the WordPress admin, and the customer list.

For logged-in customers, fields can start filled with values of their WordPress profile, such as email and name: set the Pre-fill user meta-key of each field, and turn on Pre-populate booking form. See Pre-filled fields.

Translations and notifications​

When translations are enabled, field labels and options can be translated from the internal translation panels.

If a field should appear in an email, configure its notification placeholder in the field settings and insert that placeholder in the template.

A booking-form field with its Translations panel open, to translate its label into another language

Privacy​

Booking-form answers are part of customer data exports and privacy actions. Avoid collecting sensitive information unless it is necessary for the service.