Collecting Signatures
How customers sign waivers and how to track submission status.
When Customers Sign
Customers can sign waivers at two points:
- During checkout — if the booked activity requires a waiver, the customer is prompted to sign before completing their booking
- At check-in — staff can send a waiver link or have the customer sign on-site
You can also send waiver links proactively using email or SMS templates with the {{waiver_link_booking:<waiver-uuid>}} variable, which generates a signing link pre-linked to the customer's booking.
Sending Waivers
Send waiver signing requests from the dashboard using the booking, waiver page, or check-in board:
From a Booking
- Open the booking and go to the Waivers tab
- Click the Send Waiver button
- Select which waiver to send from the dropdown
- Check the recipients — the booking customer is pre-selected, and any guests with email addresses are also listed
- Click Send Waiver
The signing link in the email will automatically include the booking reference (reservationKey), so the signed waiver is linked to the booking.
From the Waiver Page
- Navigate to Dashboard > Waivers and open a waiver
- Click the Send Waiver button in the action bar
- Choose who to send to:
- Customer: search your CRM or enter an email address or phone number manually. Use this outside of a booking context, for example sending a general liability waiver to a group organizer before they book.
- Booking: pick a booking; its customer and guests are listed as recipients.
- Start time or End time: pick a date and a slot (activity and start or end time); every confirmed or pending booking starting or ending in that slot is listed with its customer and guests. End-time slots use each booking's end date, so multi-day rentals appear on their return day.
- Choose Email or Text (SMS), check the recipients, and click Send Waiver
Booking and time slot sends include each recipient's own booking reference (reservationKey) in the link, so every signed waiver is linked to the correct booking. Text messages use a shortened link and require a connected Twilio number.
From the Check-In Board
Select a departure and stage on the activity check-in board, then use Text unsigned for a required waiver. Choose text message or email and review the count before confirming. Search and readiness filters do not narrow this send.
The board sends one invitation per eligible booking to its customer, with a booking-specific link. Delivery runs in the background and skips bookings that sign, move on, or become inactive. You can close the dialog and reopen it to check counts or resume remaining invitations when offered. Unconfirmed sends are recorded separately and require review before resending.
Use Show QR to display a general signing link instead. See Send Waivers to Customers for instructions. Sending from the board requires booking write permission.
Automated Sending via Workflows
You can also automate waiver delivery using the Send Waiver Sign Request workflow action. For example, automatically send a waiver signing request when a booking is confirmed.
For a delayed reminder at a check-in stage, use Check-in Stage Reached → Wait → Send Check-in Waiver Invite. Select the activity, stage, required waiver, and channel. The action checks the booking again after the delay and skips it if the waiver is satisfied or the booking has moved on. See the reminder example.
Customer Self-Service (Booking Portal)
Customers can also pre-sign required waivers themselves from the booking-management portal, before they arrive. Enable Allow Customers to Pre-Sign Waivers under Settings → Customer Portal, then mark the individual waiver Allow portal signing on the activity's check-in settings. The customer sees the waiver in their portal, signs it (returning to their booking afterward), and the submission clears the check-in requirement automatically.
Regular waivers offered by the portal are collected across all stages. For All guests sign, the full booked roster and each applicable guest's active signature are needed. Known minors are excluded only when Minors exempt is enabled. The separate minor-waiver requirement is not offered in the portal, and required counter-signatures must be completed before the check-in requirement clears.
Signing Process
- The customer opens the waiver (via checkout or a direct link)
- They read the terms and conditions
- They fill in any required fields
- They sign using their finger (mobile) or mouse/trackpad (desktop)
- The signed waiver is stored securely
Finding the Reservation
A waiver that links to a booking has to find that booking first. Links sent from the dashboard, a confirmation email or the customer portal already carry the booking, so the customer is never asked. A customer who opens a general signing link (a QR code at the counter, for example) is asked for the confirmation code from their booking email or text.
The lookup never searches by name, and never by an email address or a phone number on its own: a single detail like that could surface another customer's booking to whoever typed it.
Lookup by Email and Phone
For walk-ups who do not have their code, you can turn on Allow Lookup by Email and Phone in a waiver's properties (it sits under Requires Booking, and is off unless you enable it). The signer then gets a second tab on the lookup screen asking for both their email address and their phone number. Both have to match the same booking — either one alone finds nothing.
This lookup only matches confirmed or pending bookings from yesterday through the next two weeks. Canceled bookings, expired holds and unpaid invoices are never matched. A customer signing well ahead of their trip should use the link in their confirmation email instead.
Whichever way the booking is found, the signing page never displays the customer's name, email address or phone number back to whoever ran the lookup.
There are two fallbacks that need no lookup at all:
- Open the booking in the dashboard and send or show the customer the waiver link from there. That link resolves the booking directly.
- Let them sign without a reservation, then attach the submission to the booking afterwards.
Tipping After Signing
When a waiver has Collect Tips enabled and waiver tipping is turned on for the location, the customer sees a tip prompt after they sign. The prompt opens a tip-only page on your booking site where they can pay with the card on file from their booking or enter a new card. The link behind that prompt is valid for 30 minutes after signing and can only be used to add a tip to that one booking. It does not open the booking-management portal.
What Happens at Submission
When a customer submits a signed waiver, the system:
- Captures the submission data including all field values, the signature image, and signer identity
- Records forensic metadata including IP address, user agent (browser), and a browser fingerprint
- Builds an audit trail logging when the document was opened, when each field was interacted with, when consent was checked, and the exact submission timestamp
- Generates a signed PDF of the completed waiver with all field values, signatures, and audit information embedded
- Hashes the document using SHA-256 to create a tamper-evident record (both the submission data and the PDF file itself are hashed)
- Stores the PDF securely in cloud storage with the storage location recorded
- Links to the booking and customer if a booking reference or customer match is found
- Emails a copy to the customer if the "Email Copy to Customer" setting is enabled on the waiver
- Creates or updates a customer profile if "Capture Signer as Customer" is enabled, using the signer's name, email, and phone
- Adds the signer to the booking's guest list if "Capture Signer as Guest" is enabled and the submission is linked to a booking, unless the signer already matches an existing guest by email or name
Submission Data Recorded
| Field | Description |
|---|---|
| Data Hash | SHA-256 hash of the submitted form data for integrity verification |
| File Hash | SHA-256 hash of the generated PDF file |
| Fingerprint | Browser fingerprint of the signing device |
| IP Address | The signer's IP address at time of signing |
| User Agent | The signer's browser and device information |
| Signer Identity | The name(s) of the person(s) who signed |
| Emails | Email address(es) provided on the waiver |
| Phones | Phone number(s) provided on the waiver |
| Metadata | Additional form metadata (JSON) |
| Metadata Hash | Hash of the metadata for integrity |
| Storage Location | Where the signed PDF is stored |
| Booking | The linked booking (if applicable) |
| Customer | The linked customer profile (if applicable) |
Counter-Signature Required Waivers
If a waiver has Require Counter-Signature turned on, the flow above is paused after step 8. Specifically:
- The submission is created and the customer-signed PDF is generated and stored exactly as usual.
- The customer's "Email Copy to Customer" email is deferred — it does not fire on submit.
- The submission lands in a Pending Counter-Signatures queue on the waiver's dashboard page.
- An admin or user with the
waivers:approvepermission must counter-sign (or reject) the submission before the customer receives anything.
When the operator counter-signs, a separate "both-signed" PDF is generated containing the customer's signature plus an appended counter-signature page, and that PDF is what the customer receives via the deferred email. The original customer-only PDF is preserved untouched as the legal record of customer consent at the moment of signing.
See Counter-Signatures for the full reference and the Counter-Sign a Waiver how-to for the operator workflow.
CAPTCHA Protection
The waiver signing page uses Cloudflare Turnstile to prevent automated or fraudulent submissions. Customers must complete the CAPTCHA challenge before submitting their signed waiver.
Tracking Submissions
From the booking detail view, you can see:
- Whether the required waiver has been signed
- When it was signed
- A link to download the signed copy
From Dashboard > Waivers, you can see all submissions with filtering by:
- Date range
- Activity
- Completion status
Each waiver also tracks a submission count and unread count so you can quickly see how many new signatures have come in.
Attaching a Submission to a Booking
Waivers signed without a reservation context — for example via a QR code at the front desk or a general signing link — are not linked to any booking. You can attach these after the fact:
- Navigate to Dashboard > Waivers and open the waiver
- In the submissions table, find the submission — unlinked submissions show an Attach to booking button in the Booking column
- Click it and search for the booking by customer name, confirmation code, or email
- Select the booking to link the submission
Once attached, the submission appears on the booking's Waivers tab and counts toward the booking's waiver requirements. The Booking column shows the booking's confirmation code as a link to the booking.
A few rules apply:
- A submission already linked to a booking cannot be re-linked to a different one
- Rejected submissions cannot be attached to a booking
Exporting Submissions
You can download a waiver's submissions as a CSV file, for example to hand signer contact details to a mailing tool or to keep an offline record:
- Navigate to Dashboard > Waivers and open the waiver
- Click Export in the page header
- Tick the columns you want. Your selection is remembered on this device for the next export
- If the submissions table is filtered (search or date), choose Current filters to export only the matching rows or All submissions for everything
- Click Export to download the file
Available columns include the submission ID, status, submission time, signer names, emails and phones, the linked customer and booking, covered guests, the signer's IP address and browser, and the counter-signature or rejection details.
A few notes:
- Times are shown in the location's time zone
- The answers to the waiver's own form fields (for example a date of birth or an emergency contact field) are only stored in the signed PDF, so they are not included in the export
- The file opens directly in Excel, Numbers or Google Sheets. Spreadsheets may drop leading zeros from codes, so open the file as text if that matters
- A value that starts with
=,+,-or@(other than a plain number or phone number) is prefixed with an apostrophe so the spreadsheet shows it as text instead of running it as a formula
Downloading Signed Waivers
Signed waivers are stored securely and can be downloaded as PDF files:
- From the booking detail
- From the waiver submissions list
- From the customer profile
The PDF includes the complete waiver text, all filled fields, the digital signature image, signer identity information, and a full audit log showing the document timeline (opened, fields filled, consent checked, submitted).
