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
| Field | Description |
|---|---|
| Title | The form name, e.g. "Liability Waiver" or "Health Intake Form" |
| Description | Optional instructions shown to the student before filling out the form |
| When to Show | When the form is presented to the student (see triggers below) |
| Require Signature | Whether the student must draw an e-signature to submit |
Triggers
| Trigger | Behavior |
|---|---|
| During Registration | Shown when a new student registers for the studio |
| Before Booking | Shown before a student can complete a class booking |
| At Check-in | Shown when staff checks the student in, if they haven't signed yet |
| Manual Only | Only 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 Type | Description |
|---|---|
| Short Text | Single-line text input |
| Long Text | Multi-line textarea |
| Checkbox | Yes/no toggle |
| Date | Date picker |
| Dropdown | Select from a list of options (comma-separated) |
| Email address input with validation | |
| Phone | Phone number input |
| Number | Numeric input |
| Section Heading | Display-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:
- Section Heading — "Liability Release"
- Long Text — waiver text (read-only, or use the Description field)
- Checkbox (required) — "I acknowledge that I participate at my own risk"
- Checkbox (required) — "I confirm that I am in good health and fit to participate"
- 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.
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
| Endpoint | Method | Description |
|---|---|---|
/api/forms | GET | List all studio forms (owner/admin) |
/api/forms | POST | Create a form (owner/admin) |
/api/forms/:id | GET | Get a single form |
/api/forms/:id | PATCH | Update a form (owner/admin) |
/api/forms/:id | DELETE | Delete a form and submissions (owner/admin) |
/api/forms/:id/submissions | GET | List submissions for a form (owner/admin) |
/api/forms/submit | POST | Submit a completed form |
/api/forms/unsigned | GET | Get forms the user hasn't signed yet |
/api/forms/submissions/:id | GET | View a single submission (owner/admin) |