Skip to main content

Digital Waivers & Forms

Create liability waivers, health intake forms, and other documents that students must complete and sign electronically. Forms can be triggered automatically during registration, booking, or check-in — or presented manually by staff.

Creating a form

Go to Settings → Waivers and click Create Form.

Form settings

FieldDescription
TitleThe form name, e.g. "Liability Waiver" or "Health Intake Form"
DescriptionOptional instructions shown to the student before filling out the form
When to ShowWhen the form is presented to the student (see triggers below)
Require SignatureWhether the student must draw an e-signature to submit

Triggers

TriggerBehavior
During RegistrationShown when a new student registers for the studio
Before BookingShown before a student can complete a class booking
At Check-inShown when staff checks the student in, if they haven't signed yet
Manual OnlyOnly shown when explicitly requested by staff

A student only needs to sign each form once. If they have already submitted a form, it will not be shown again for the same trigger.

Building form fields

The form builder lets you add fields of various types. Click Add Field to add a new row, then configure:

Field TypeDescription
Short TextSingle-line text input
Long TextMulti-line textarea
CheckboxYes/no toggle
DateDate picker
DropdownSelect from a list of options (comma-separated)
EmailEmail address input with validation
PhonePhone number input
NumberNumeric input
Section HeadingDisplay-only heading to organize the form into sections

Each field can be marked as Required, which means the student must fill it in before submitting.

Example: Liability Waiver

A typical liability waiver might include:

  1. Section Heading — "Liability Release"
  2. Long Text — waiver text (read-only, or use the Description field)
  3. Checkbox (required) — "I acknowledge that I participate at my own risk"
  4. Checkbox (required) — "I confirm that I am in good health and fit to participate"
  5. Date (required) — "Date"

With Require Signature enabled, the student must also draw their signature on a canvas pad.

E-signatures

When a form has Require Signature enabled, the student is presented with a drawing canvas after filling in all fields. They can sign using:

  • Mouse on desktop
  • Finger or stylus on mobile/tablet

The signature is captured as an image and stored with the submission. Each submission records:

  • All field responses
  • Signature image
  • Date and time signed
  • IP address and browser (for legal audit trail)

Managing forms

Activating / deactivating

Toggle a form's Active status in the forms table. Deactivated forms are no longer shown to students, but existing submissions are preserved.

Viewing submissions

Click the submission count on any form to view all completed submissions. For each submission you can see:

  • Student name and email (or "Guest" for unregistered users)
  • Date submitted
  • Full responses to each field
  • Signature image (if applicable)

Deleting a form

Deleting a form also deletes all its submissions. This action cannot be undone.

caution

Deleting a form with existing submissions permanently removes those signed documents. Consider deactivating the form instead if you need to retain records.

How students experience forms

During registration

If you have forms with the During Registration trigger, new students see them as part of the sign-up flow. They must complete and sign all required forms before their registration is finalized.

Before booking

Forms with the Before Booking trigger appear when a student tries to book a class. The booking cannot proceed until all unsigned forms are completed.

At check-in

When staff checks a student in, the system checks for any At Check-in forms the student hasn't signed. If unsigned forms exist, they are presented before the check-in is confirmed.

API reference

EndpointMethodDescription
/api/formsGETList all studio forms (owner/admin)
/api/formsPOSTCreate a form (owner/admin)
/api/forms/:idGETGet a single form
/api/forms/:idPATCHUpdate a form (owner/admin)
/api/forms/:idDELETEDelete a form and submissions (owner/admin)
/api/forms/:id/submissionsGETList submissions for a form (owner/admin)
/api/forms/submitPOSTSubmit a completed form
/api/forms/unsignedGETGet forms the user hasn't signed yet
/api/forms/submissions/:idGETView a single submission (owner/admin)