Custom Form Fields

7 min read

Add custom fields to your booking forms to collect additional information from customers, such as special requests, dietary preferences, or file uploads.

Overview

Custom form fields let you extend the booking form beyond the standard name, email, and phone fields. Collect any additional data you need from customers at the time of booking. Supported capabilities include:

  • Six field types: text, textarea, select dropdown, checkbox, radio buttons, and file upload
  • Mark fields as required or optional
  • Custom placeholder text and help descriptions
  • Drag-and-drop field ordering
  • Per-service field assignment (show different fields for different services)
  • Custom field data visible in admin booking details
  • Use custom field values in email notification templates

Step 1: Access Custom Fields Settings

Navigate to WordPress Admin → Bookings → Settings → Custom Fields. You will see a list of any existing custom fields and a button to add new ones.

Tip: Custom fields are global by default (they appear on all services). You can restrict a field to specific services using the “Applicable Services” setting on each field.

Step 2: Add a New Field

Click the “Add Custom Field” button and configure the field settings:

1

Choose a field type

Select from: Text (single line), Textarea (multi-line), Select (dropdown), Checkbox (multi-select), Radio (single choice), or File Upload.

2

Enter the field label

This is the label customers see on the form (e.g., “Special Requests”, “Dietary Preferences”, “Upload ID Document”).

3

Set placeholder text

Add optional placeholder text that appears inside the field before the customer types (applies to Text and Textarea types).

4

Mark as required (optional)

Check the “Required” box to make this field mandatory. The form cannot be submitted without filling it in.

5

Add options (for Select, Checkbox, Radio)

For choice-based fields, add the list of options. Enter one option per line or use the “Add Option” button to add them individually.

Step 3: Field Type Reference

Here is a summary of each available field type and its use case:

Text

A single-line text input. Best for short answers like names, reference numbers, or brief notes.

Textarea

A multi-line text area. Best for longer responses like special requests, medical notes, or detailed instructions.

Select (Dropdown)

A dropdown menu with predefined options. Best when there are many choices and only one can be selected.

Checkbox

A set of checkboxes allowing multiple selections. Best for "select all that apply" scenarios like add-on services.

Radio Buttons

A set of radio buttons for single selection. Best for a small number of mutually exclusive options (e.g., T-shirt size).

File Upload

A file upload field. Accepts images, PDFs, and documents up to the configured size limit. Best for ID verification or reference documents.

Step 4: Field Ordering

Drag and drop fields in the Custom Fields list to reorder them. The order in the settings page matches the order on the public booking form. Fields appear on the Customer Information step (Step 3) of the booking wizard, below the standard name and email fields.

Adding too many required fields can increase form abandonment. Only mark fields as required if the information is truly essential for the booking.

Step 5: Viewing Custom Field Data

Custom field responses are stored with each booking and accessible in the admin area:

  • Open any booking in WordPress Admin > Bookings. Custom field data appears in a dedicated "Custom Fields" meta box.
  • File uploads are stored in the WordPress media library and linked to the booking. Click the filename to view or download.
  • Export bookings to CSV to include all custom field values as additional columns.
  • Use the booking list filters to search bookings by custom field values.

Step 6: Using Custom Fields in Email Templates

You can include custom field values in your email notification templates using dynamic placeholders:

Use the following placeholder format:

{custom_field_FIELDNAME} — e.g., {custom_field_special_requests} or {custom_field_dietary_preferences}
Tip: The field name used in the placeholder is the “slug” version of the label (lowercase, spaces replaced with underscores). You can find the exact placeholder for each field on the Custom Fields settings page.
Tip: Use {all_custom_fields} to output all custom field labels and values in a formatted list, useful for admin notification emails.