Use the Waiver Editor
How to build a waiver form using the drag-and-drop editor, configure field properties, set conditional logic, and manage waiver-level settings.
The waiver editor is a three-panel drag-and-drop form builder. The left panel contains the component toolbox, the center panel is your form canvas, and the right panel shows the property editor for the currently selected field. Use it to design the exact form your customers will fill out when signing a waiver.
Before you begin
- You need an existing waiver. If you have not created one yet, see Create a Waiver.
- Every waiver must include at least one Signer Identity component. The editor will prevent you from saving without one.
Opening the editor
- In the sidebar, click Waivers.
- Click the waiver you want to edit.
- On the waiver detail page, click the Edit button to open the editor.
Building the form
- In the left panel (Toolbox), find the component you want to add.
- Drag the component from the toolbox onto the center panel (Canvas). Drop it where you want it to appear in the form.
- Click a component on the canvas to select it. Its configurable properties appear in the right panel (Property Editor).
- Adjust the properties as needed (labels, placeholders, required flags, etc.).
- Repeat until your form is complete.
- Click Save in the top-right corner.
Available components
The toolbox provides the following components. Each one maps to a specific field type in the signed PDF.
Identity and signature
| Component | Description | Key properties |
|---|---|---|
| Signer Identity | Captures the legal name of the person signing. At least one is required per waiver. Supports multiple signers (e.g., parent and minor). | Label, Name Format (full, first_last, first_middle_last), Placeholder, Required, Read Only, Visible |
| Signature | A drawing canvas where the signer provides their handwritten signature. | Label, Required, Canvas Width (px), Canvas Height (px), Read Only, Visible |
| Initials | Captures signer initials, either drawn or typed. Useful for initialing individual clauses. | Label, Input Mode (signed, typed), Required, Read Only, Visible |
Text and content
| Component | Description | Key properties |
|---|---|---|
| Text | Displays static text content such as headings, paragraphs, or legal clauses. Not an input field. | Display Text, Font Size, Font Weight (normal, bold, lighter, bolder), Text Alignment (text-left, text-center, text-right), Visible |
| Rich Text | A rich text block with formatting (bold, italic, lists, links). Ideal for lengthy legal language. | Content (rich text HTML), Visible |
| Line Break | A horizontal divider or spacer to visually separate sections. | Height, Line Style (solid, dashed, dotted, double, none), Line Color, Width, Visible |
Input fields
| Component | Description | Key properties |
|---|---|---|
| Text Input | A single-line text field for short responses. | Label, Placeholder, Required, Read Only, Visible |
| Textarea | A multi-line text field for longer responses. | Label, Placeholder, Required, Rows, Maximum Length, Read Only, Visible |
| Email Input | An email address field with built-in validation. Emails captured here are used for sending waiver copies and linking to customer records. | Label, Placeholder, Required, Read Only, Visible |
| Phone Input | A phone number field with country code support. | Label, Placeholder, Required, Read Only, Visible |
| Date Input | A date picker field. | Label, Required, Minimum Date (YYYY-MM-DD), Maximum Date (YYYY-MM-DD), Read Only, Visible |
| Time Input | A time picker field. | Label, Required, Step (seconds), Read Only, Visible |
| Number Input | A numeric input with optional min/max/step validation. | Label, Placeholder, Required, Minimum Value, Maximum Value, Step, Read Only, Visible |
Selection fields
| Component | Description | Key properties |
|---|---|---|
| Checkbox | A single checkbox for consent or agreement statements. | Label, Checkbox Text, Required, Read Only, Visible |
| Select Dropdown | A dropdown menu for choosing one option from a list. | Label, Options (comma-separated), Placeholder, Required, Read Only, Visible |
| Radio Group | A set of radio buttons for single-choice selection. | Label, Options (comma-separated), Layout (vertical, horizontal), Required, Read Only, Visible |
| Check Grid | A grid of items with checkboxes and optional notes columns. Useful for equipment checklists or multi-item acknowledgments. | Section Label, All Items Required, Checkbox Column Header, Notes Column Header, Grid Items (item list), Read Only, Visible |
Editing field properties
- Click any field on the canvas to select it.
- The right panel displays all configurable properties for that field type.
- Edit the Field Name by clicking the name at the top of the property panel. Names must be unique within the waiver.
- Toggle Required to make a field mandatory.
- Toggle Read Only to lock the field value (useful for pre-filled data).
- Toggle Visible to show or hide the field by default.
- For Rich Text fields, click the content area to open a full rich text editor modal.
- For Select Dropdown, Radio Group, and Check Grid, enter comma-separated options or manage the item list directly.
Conditional logic
You can make any field's visibility or required state depend on the value of another field.
- Select the field you want to make conditional.
- In the right panel, click Conditional Logic.
- Enable conditional logic with the toggle.
- Add one or more Rule Groups. Each group contains rules that are combined with AND or OR.
- For each rule, select:
- Source Field -- the field whose value to watch.
- Operator --
Equals,Not Equals,Contains,Does Not Contain,Greater Than,Less Than,Is Empty, orIs Not Empty. - Value -- the value to compare against (not needed for Is Empty / Is Not Empty).
- Set the Action -- whether to show/hide the field or make it required/optional when conditions are met.
- Save the conditional logic.
Waiver properties
Click the gear icon next to the waiver name in the editor header to open the Waiver Properties modal. These settings control waiver-level behavior.
| Property | Default | Description |
|---|---|---|
| Waiver Name | (set at creation) | The display name for this waiver. Must be unique within your location. |
| Theme | Default Theme | The visual theme applied to the customer-facing signing page. Select from your custom themes or use the default. |
| Append Company Logo | Off | When enabled, your company logo is displayed at the top of the waiver signing page and included in the generated PDF. |
| Sign on Booking Date Only | Off | When enabled, customers who link a booking can only sign the waiver on the calendar date of their reservation. Attempts on other days are blocked with a message. |
| Email Copy to Customer | Off | When enabled, a copy of the signed PDF is automatically emailed to the customer after submission. Requires at least one Email Input field on the form to capture the recipient address. |
| Requires Booking | Off | When enabled, the customer must look up and link a valid booking before they can submit the waiver. Without a booking, submission is blocked. |
| Capture Signer as Customer | Off | When enabled, if the signer's email does not match an existing customer record, a new customer is automatically created from the signer's name, email, and phone number. The source is recorded as "waiver". |
Deleting a field
- Click the field on the canvas to select it.
- Press the Delete key on your keyboard. The field is removed immediately.
- Alternatively, use the delete action in the property panel if available.
Fields can only be deleted when focus is not inside a text input, textarea, or select element.
Saving the waiver
Click Save in the top-right corner. The editor validates that at least one Signer Identity component exists before saving. If the waiver has unsaved changes and you try to navigate away, a confirmation dialog warns you.
Saving updates both the form layout (field JSON) and the waiver properties (name, theme, settings) in a single request.
Tips
- Always include a Signer Identity component. It captures the legal name used in the signed PDF and is required for the waiver to be valid.
- Add an Email Input if you enable "Email Copy to Customer." Without an email field, the system has no address to send the copy to.
- Use Rich Text for legal clauses. The rich text editor supports bold, italic, lists, and links -- perfect for terms and conditions.
- Use Checkboxes for individual consent items. Mark them as required so the customer must explicitly agree before submitting.
- Initials are great for clause-by-clause acknowledgment. Place an Initials component after each major section of your agreement.
- Test your waiver by opening the customer-facing URL in a private browser window before going live.
