Custom Booking Forms

Events Manager Pro adds a high degree of flexibility to your booking forms by allowing you to add various types of fields and gather specific information from your attendees.

You can edit your forms from within the Events > Form Editor in your admin area.

Each form editor contains a set of fields which you can add/remove/edit. You can also drag these fields in order to change the ordering. Each row in the editor represents a single field and can have the following collumns:

  • Label - This is what your users will see next to the input fields
  • Field ID - Automatically generated, useful if using placeholders like #_BOOKINGFORMCUSTOM{field_id}
  • Type - Determines what type of field this is, for further information on types, see further down.
  • Required - Is this field required?
  • ‘Options’ Link - The options link expands the row to show advanced options for your chosen field type.
  • ‘Remove’ Link - Remove the field from the form.

The Forms

Booking Form

This is the form shown to users below the ticket selection. Aside from user field types, the information collected from this form will be stored on a per-booking basis and will be requested on every booking. For more information on user fields, see the next section.

The above image is an example default custom booking form. When you first activate Events Manager Pro, custom booking forms will be enabled and the default name/email/address/comments structure will be used. You can start editing immediately, or if you just want to leave things the way they are, that’s fine too.

The only required field here is the user email, which is used to create a user account and email the user information about their booking.

User Fields

Information collected from User Fields on booking forms are stored as user information rather than just for the specific booking.  User fields you add here will also be available when viewing and editing user profiles within your WP admin area. You can see this by clicking on Users > Your Profile.

User fields are created the same way as creating a booking form field, you assign it a lable, decide on the type of field (e.g. text, checkbox, etc.), and add any extra options relevant to that field type.

These fields must be created first in order to be available in your booking editor. If a user is logged in, these fields disappear in the booking form, however, you can choose whether to display the values and/or make them editable by visiting your Settings > Booking Options tab :

Common User Fields for Gateways

Since many payment gateways require personal information from users (e.g. for address verification), Events Manager provides a way to associate your custom User fields with a set of commonly used fields. Using this method, all gateways that accept extra user information can access this information regardless of what you actually call your user fields.

You will find your common user fields at the bottom of the Form Editor page, below your booking form and user fields editors. By default, Events Manager Pro should automatically create these common user fields and associate them. In many cases you could leave these as is.

One thing to bear in mind is that if your gateway does require these address fields, you may want to consider adding them to your booking form to ensure that new users enter this information.

Customizable Field Types

Below is a list of all available custom field types and their subsequent options.

html

Enter HTML into this field type to add custom information to your forms.

  • Content - The html to be displayed

checkbox

Shows a single checkbox item, which results as Yes/No whether filled or not.

  • Checked by default? – Force the box to be checked by default.
  • Error Message – Shown if this field is required and not checked (e.g. you must agree to our terms and conditions).

text

Simple text input, used for things like names, phone numbers, etc.

textbox

A multiple lined textbox, suitable for longer texts such as comments or a list of names.

  • Regex - This accepts regular expressions, e.g. ^[A-Z]+$ would only accept capital letters. See http://www.regular-expressions.info/quickstart.html for more info on regular expressions.
  • Error Message - This error is shown when the above regex fails.

checkboxes

Multiple checkboxes where you can select more than one option, e.g. interests.

  • Options – A list of available options, one per line.
  • Error Message – Shown if this field is required and not checked (e.g. you must agree to our terms and conditions).

radio

Multiple options, but only one can be chosen.

  • Options - A list of available options, one per line.
  • Error Message - Shown if this field is required and not checked (e.g. you must agree to our terms and conditions).

select

A single drop down menu can be shown with a list of given values. Users can choose one of these options.

  • Options – A list of available options, one per line.
  • Use Default? – If checked, the first value in the options list above will be pre-selected. Supercedes default text.
  • Default Text – If you want to have a default value that can’t be used as a value (e.g. “please choose from this list”) you can enter this here.
  • Error Message – Shown if this field is required and a value is not selected.

multiselect

Much like a select box, but larger and allows users to select more than one field by keeping the Ctrl key (or command key in macs) pressed whilst choosing.

  • Options - A list of available options, one per line.
  • Use Default? - If checked, the first value in the options list above will be pre-selected. Supercedes default text.
  • Default Text - If you want to have a default value that can’t be used as a value (e.g. “please choose from this list”) you can enter this here.
  • Error Message - Shown if this field is required and a value is not selected.

captcha

This field helps prevents spammers from successfully filling your form. This uses Google’s reCaptcha service, which is free to sign up for and requires API keys from when you register your domain on their website. This field is always required.

  • Private/Public Keys – The keys provide to you by Google.
  • Error Message – Shown when the CAPTCHA is incorrectly entered.

country

This is essentially a pre-populated select field with the list of countries.

  • Error Message - Shown if this field is required and a value is not selected.

Registration Fields

All registration fields are considered to be text fields and correspond directly with the native WordPress user profile values. For this reason we will only explain some specific registration fields available to you:

Email

This is the only required field in the form. This is because we need to have an email to send event information to and create an account with so users can access their booking information.

Name vs First/Last Name

You can only use one or the other, as using Name with the other two may cause unpredictable behaviour. The name field is the equivalent of using the first and last name fields, and the name is split into first/last by the first space. This means that “John James Smith” would have first name “John” and last name “James Smith”.

Username Login

By default if this field is not used a username is created for new registrants automatically based on their email address. You can allow users to select their own username with this field.

Accessing/Viewing Booking Information

Once a booking has been made, these field values are stored along with the other booking information and can be accessed by viewing a single booking. To view a single booking, visit the bookings dashboard or a single event booking management page and click the ‘view/edit’ link next to the relevant booking. You will see the booking information within the Booking Details window.

Note that registration information isn’t shown here as it is available on the user information fields.

Further Customizations

Please note that this is a recently updated feature, therefore more fields and options will be added over time. Some of the things we certainly have in store:

  • display custom field columns in booking list tables (e.g. show smoking preference)
  • controlling what user information is displayed in booking views

If you find we’re missing something, feel free to make a feature request.