There is an updated version available of this page

Custom Forms

The standard form used to capture appointment information in a scheduling process offers a limited set of customizable fields. If you need to capture additional information then you can create a custom form, which has room for many more fields and has other advanced features like a larger variety of widgets and formatting options.

A custom form can be used in three different ways:

  1. A form can be used to capture additional information when someone makes a booking. This allows you to collect much more information than on the standard form.
  2. A form can be used to capture additional information when someone registers for an account, this is useful for forms that only need to be filled out once, for example to ask to agree to the terms of service.
  3. A form can be used “stand alone”, outside a booking process. This means you can send someone directly to a form without needing to go through a scheduling step. This is useful for sign up to a single event where you can avoid the scheduling step.

Creating a Custom Form

To create a new form go to the Dashboard page and select “New Form” in the right-hand side menu. You will first be prompted to choose between an “Integrated” form and a “Stand-alone” form. You can easily switch between the two form types later. If you are unsure which one you need then pick the “Integrated” form to start because it’s easier to set up. If you had previously already created a custom form you will also see an option to copy that form as the basis for your new form.

New from designer The next screen will let you design the form. Start by choosing a field type from the pane on the bottom left, for example a “Text Field” or “Radio Buttons”. This will show you a pop-up that allows you to customize the field by giving it a name, a default value and various other options that depend on the type of field you chose. The options can be left blank if you do not want to give a field a label or supporting text and the layout will adjust accordingly.

Most field types offer a “Require” checkbox. This means that the form cannot be submitted if the field is left blank. Some fields may also contain a “Unique” checkbox. This option ensures that each form needs a different value in that field. This can be useful if you want people to pick a unique name, for example. The “Supporting text” field allows you to write some text that will be placed directly next to the field to help the customer with filling it out.

Several fields contain a list of options, for example the “Radio buttons” and the “Drop down menu”. You list each option on a separate line and you can optionally add the text to be stored in the database between square brackets. For example if you offer the option “New York Suite [room 1]” then the interface will show “New York Suite” but if that you download the form it will show “room 1”. As a special case, if you just add brackets to an option it would store nothing in the database, which you can use in combination with the “Require” option to create an option that cannot be selected. A practical use of that is to make the first option of a drop down menu “Please select one [ ]”. Another practical use of the “Require” option is to add it to a field with a single checkbox. This allows you to create an option “Check this box to agree to the terms”. You would typically put the terms above that field in an HTML box.

Each field can be set to “Normal” (the default), “Hidden”, or “Read-Only”. If a field is set to hidden then it will only be visible to superusers and the administrator. This can be useful to add internal comments that you do not want the client to see. Note that there is also an option to hide an entire form elsewhere in the system, in which case you can just leave all fields set to “Normal”. If a field is set to “Read-Only” then everyone can see the field, but only superusers and the administrator can make changes to it. This is useful for things like a membership number that the customer is allowed to see but is not supposed to edit.

After you click “Add Field” the field appears on the form and you can create another one. Note that none of the changes on the form are persisted until you click “Save Changes”. You can also click the button on the form to save the page.

If you are using the form while integrated into a schedule you would typically not want to add any of the standard fields such as “email” on your custom form. Instead use the appropriate field on the standard form for that. The reason is that the system will not know how to send email confirmations or reminders to a custom field that you labeled “email”, instead it will try to use the email field on the standard form. The fields on the standard form can also be shown more easily in list view on the supervise pages in the schedule.

Customizing a Form

When you want to edit a field you can simply click it to get an “Edit field” pop-up and if you want to reorder the fields on the form you can click and drag a field with your mouse. Note that if you delete fields from the form then any information contained in that field in already submitted forms will be lost. The changes will only be made permanent after you save the page.

You can customize the layout of the fields with the buttons in the top left pane. By default fields are listed with the label above the text, but you can change this into a two-column layout with labels on the left and the fields on the right. If you have fields without a label then those would span both columns.

One and two column layout The default “Auto” option for the form width will allow the browser to choose an optimal layout, which typically means the browser sizes the form to be as wide as the largest field, but you can override this with the “S”, “M”, “L” buttons that tell the browser to set the form to be 600, 750 or 900 pixels wide, respectively. If you are using the two column layout you can further tell the browser to set the relative width of the two columns to be “20/80”, “30/70” or “40/60” or leave the setting at “Auto” which will cause the browser to make its own decision based on the column width. In addition you can set a fixed width on text fields and a fixed height on text areas.

You can change the color of the form, the text, and all other elements on the page on the “Layout Settings” page that you can reach from your Dashboard. The HTML field has options to set text and background color for just that field. If you want to include pictures on in the HTML field then those need to be accessible on the internet somewhere, you cannot upload picture from you computer.

After you save the form you end up on the configuration screen. From here you can try out the new form by clicking the blue “Use” button. If you want to change the form you can click the “Configure” button and then the “Design” tab to continue working on it.

Adding a Form to a Booking or Sign Up Process

There are two different places where you can add a form. If you want the form to be filled for each appointment then you would attach it to the booking process. You can add a form to a schedule on the configuration page, “Process” tab. On the other hand, if you want the form to be filled out only once per registration you would typically add the form to the account sign up process. You can add a form to the sign up process on the “Access Control” page. If your customers typically only make one booking, or you are not asking people to log in, then you would want to add the form to the booking process.

The options to attach a form are only visible after you’ve created your first custom form. When you add a form you are asked to select whether the form should be filled out by you or by the user, and whether the form should be visible to them.

The form and the object to which it is attached, either an end-user account or an appointment, only get saved to the database if both are valid. So if someone schedules an appointment and then closes the browser before filling out the attached form then the appointment will not be saved.

If you send a confirmation for newly created appointments or accounts you can attach the form to the confirmation message by including the magic word $form in the email text.

Managing Submitted Forms

The “Supervise” screen lists all submitted forms, regardless of whether they were submitted as part of another process or standalone. If a form was submitted as part of another process it will contain a link to jump directly to the relevant part in that process. A concise version of each form can be viewed in a little pop-up that appears by clicking the form icon in the table, which offers link to delete or edit the full version of the form.

When you delete a form it is moved to the trash. You can view the trash with the link at the top of the table, which allows you to reinstate the form. If a form is attached to another object, like an appointment, it will be automatically moved to the trash if the appointment gets deleted (it will also be automatically be moved out of the trash if the appointment is moved out of the trash). In the case of a repeating appointment one form can be attached to multiple objects. The form will only be moved to the trash if all corresponding appointments have been deleted. Items get removed from the trash automatically after a week.

You can download all forms from the “Supervise” screen by clicking the green downward pointing arrow and choosing the file type. Conveniently, when a form is attached to the sign up process it can be downloaded as part of the user information on the “Export” screen, and if the form is attached to a booking process it can be included as part of the bookings on the supervise page, “Download” tab.

On the “Usage Information” screen that you can reach from the dashboard menu you can see the total number of forms you created and the total number allowed on your package. This screen also allows you to quickly delete outdated forms.

Using a Standalone Form

A standalone form is identical to an integrated form, and can be used as an integrated form, but has additional functionality that allows you to use it by itself. This could be used, for example, to add a contact form to your site.

You can designate a form to be a standalone form when you first create it. Alternatively, you can convert an existing integrated form into a standalone form (and vice versa) on its configuration page, “Overview” tab, with the “Convert” button at the bottom of the screen.

A standalone form will get its own URL through which it can be reached directly. You can modify the URL to include your own domain name as explained in the custom URL tutorial. It also has two additional settings screens: the “Process” tab that allows to customize the form submission process and the “Messages” tab that allows you to customize the messages that are displayed as part of the process. The settings on these tabs have no effect when the form is used as an integrated form; in that case the settings can be modified on the configuration screen of the schedule in which the form has been integrated.

The “Process” tab describes what the process of filling out a form looks like. A flow chart at the bottom updates dynamically as you make changes. The first section allows you to limit who can access the form and when the form is available. For example, you can close the form after a certain number of people have signed up, or after a certain date has been reached, and show a custom message after that happens. This custom message can be defined on the “Messages” tab. That tab also allows you to customize the “Thank you” message shown upon successful sign up, as well as the optional confirmation email.

You can put a link to the form on your own website, or put it inside an iframe, similar to how you would integrate a schedule on your site. After the user fills out the form you can redirect him back to your site or show a “Thank you” message.

If you’ve made use of hidden fields the form will look differently to your customers than to yourself. If you want to see what it looks like to a customer you would need to log out and go back to the page pretending to be a regular visitor or use another browser to look at the form.