Documentation/Smart Forms

Smart Forms

Create intelligent intake forms with conditional logic, automate delivery based on bookings, and collect customer or staff information.

Overview

Smart Forms is a powerful system service that allows you to create custom intake forms, health questionnaires, consent forms, and more. Forms can be automatically sent to customers or staff based on booking triggers, with intelligent conditional logic to show or hide fields based on previous answers.

Smart Forms must be enabled as a system service before you can create and use forms. Navigate to Settings → System Services to enable it.

Creating Form Templates

Form templates are reusable form structures that can be linked to service groups. Each template includes:

  • Title: The name of the form (e.g., "Health Intake Form", "Consent Waiver")
  • Description: Optional description explaining the form's purpose
  • Fields: The questions and input fields that make up the form
  • Recipient: Whether the form is for customers or staff members

Templates are managed in the Smart Forms section of the dashboard. You can create new templates, edit existing ones, preview them before sending, and delete templates you no longer need.

Available Field Types

Smart Forms supports 15 different field types to collect various types of information:

Text Input Fields

  • Text: Single-line text input for short answers
  • Textarea: Multi-line text input for longer responses
  • Email: Email address with validation
  • Phone: Phone number input
  • URL: Website address with validation
  • Number: Numeric input only

Date & Time Fields

  • Date: Date picker
  • Time: Time picker
  • DateTime: Combined date and time picker

Selection Fields

  • Dropdown: Single selection from a list of options
  • Radio: Single selection displayed as radio buttons
  • Checkbox Group: Multiple checkboxes for selecting multiple options
  • Yes/No: Simple yes or no question

Special Fields

  • Signature: Digital signature capture for consent forms and agreements

Each field can be marked as required or optional, and can include placeholder text, validation rules, and conditional display logic.

Conditional Logic

Smart Forms supports conditional logic, allowing fields to be shown or hidden based on answers to previous questions. This creates dynamic forms that adapt to each respondent.

How Conditional Logic Works

Each field can have one or more conditional rules that determine when it should be displayed. A conditional rule consists of:

  • Depends On Field: The field that this field's visibility depends on
  • Operator: The comparison operator to evaluate
  • Values: The value(s) that trigger the field to be shown

Supported Operators

  • Equals / Not Equals: Check if the answer matches or doesn't match a specific value
  • In / Not In: Check if the answer is or isn't in a list of values
  • Contains / Not Contains: Check if the answer contains or doesn't contain specific text
  • Is Empty / Is Not Empty: Check if the field has been left blank or has any value
  • Answered: Check if the field has been answered at all

Example Use Cases

  • Show allergy details field only if customer answers "Yes" to "Do you have any allergies?"
  • Display pregnancy-related questions only if customer selects "Female" for gender
  • Show medication list field only if customer indicates they take regular medications
  • Display additional consent fields based on the type of treatment selected
Use conditional logic to keep forms concise and relevant. Customers are more likely to complete shorter, personalized forms than long generic ones.

Automation Rules

Forms are automatically sent to recipients based on automation rules configured when linking forms to service groups. Each form link includes two key settings:

Send On (Timing)

Controls when the form is sent relative to the booking time. You can configure:

  • Minutes before booking: Send X minutes before the appointment
  • Hours before booking: Send X hours before the appointment
  • Days before booking: Send X days before the appointment

If the calculated send time has already passed when the booking is created, the form is sent immediately instead.

Send When (Frequency)

Controls how often the form should be sent to the same customer:

  • First Time Only: Send only to first-time customers who have never filled out this form
  • Always: Send the form every time a booking is made
  • Not Filled in Last N Months: Send only if the customer hasn't filled out this form in the specified number of months
Forms are linked to service groups, not individual services. When a customer books any service in a linked service group, the associated forms will be scheduled for sending.

Idempotency

The system prevents duplicate form sending. If a form submission already exists for a specific booking, template, and recipient combination, the form will not be sent again.

Recipient Types

Forms can be sent to two different recipient types:

Customer Forms

Forms sent to customers via email and SMS. These are typically used for:

  • Health intake questionnaires
  • Medical history forms
  • Consent and waiver forms
  • Pre-appointment questionnaires
  • Allergy and medication information

Customers receive a unique link via email and SMS that allows them to fill out the form on any device. The link includes a secure hash that identifies the specific form submission.

Staff Forms

Forms sent to staff members. These can be used for:

  • Internal checklists
  • Treatment notes
  • Post-appointment documentation
  • Staff feedback forms

Staff forms are sent to the staff member assigned to the booking.

Form Delivery

When a form is scheduled to be sent, the system:

  1. Generates a unique hash for the form submission
  2. Creates a form submission record linked to the booking and customer
  3. Sends an email with a link to fill out the form
  4. Sends an SMS notification (optional, will not fail if SMS delivery fails)

Form Filling Experience

Recipients click the link in their email or SMS to access the form. The form is displayed in a web interface where they can:

  • Fill out all required and optional fields
  • See conditional fields appear based on their answers
  • Save progress and return later (for customer forms)
  • Submit the completed form

Preview and Testing

Before linking a form to service groups, you can generate a preview link to test the form. This allows you to:

  • See how the form looks to recipients
  • Test conditional logic
  • Verify field validation
  • Check the overall user experience

Resending Forms

If a customer doesn't receive or loses the form link, you can manually resend it from the dashboard. The same unique link will be sent again.

Viewing Submissions

All completed form submissions are stored and can be accessed in multiple ways:

By Booking

View all form submissions associated with a specific booking. This is useful when reviewing customer information before an appointment.

By Customer

View all form submissions from a specific customer across all their bookings. This provides a complete history of the customer's information over time.

All Submissions

Browse all form submissions in a table view with filtering and search capabilities.

PDF Export

Each form submission can be exported as a PDF for printing, archiving, or sharing. The PDF includes:

  • Form title and description
  • All submitted answers
  • Digital signatures (if included)
  • Submission date and time
  • Customer information
Data Privacy
Form submissions may contain sensitive health information. Ensure you comply with local data protection regulations (GDPR, HIPAA, etc.) when storing and handling this data.