The waiver page lets customers read, acknowledge, and sign your liability waiver digitally. It supports multiple participants, QR code pre-fill, multi-language translations, dependent minors, and works seamlessly on mobile devices. The waiver is accessible at /waiver with booking context passed via URL parameters or PIN entry.
Access methods
| Method | Description |
|---|---|
| Direct link | URL from booking confirmation email with pre-filled booking context |
| QR code scan | Scan a QR code at the dock to open the waiver with booking details pre-populated |
| PIN entry | Enter a numeric PIN on a kiosk numpad to load the waiver (used for walk-up customers) |
| Check-in flow | Waiver step within the kiosk check-in process |
| Next steps page | Waiver action item on the post-booking next steps page |
Signing flow
Step 1: Personal information
The customer enters their contact details:
- First name and last name (required)
- Email address (required, validated)
- Phone number (optional, validated for 10-15 digits)
- Address (optional, with Mapbox autocomplete)
- Date of birth
If the waiver is accessed via a booking link or QR code, these fields are pre-populated from the booking data.
Step 2: Dependents (optional)
For group bookings or customers with minors, the signer can add dependent participants:
- First name, last name, and date of birth for each dependent
- Relationship type: child or ward
- Add or remove dependents using the inline controls
Step 3: Waiver content
The waiver content is displayed using a template system that supports multiple section types:
| Section type | Description |
|---|---|
| Text | Read-only informational text (rendered as sanitized HTML) |
| Acknowledgment checkbox | A statement the customer must agree to by checking a box |
| Signature | A signature pad where the customer draws their signature |
| Multiple choice | Radio button selection from predefined options |
| Checkbox group | Multiple checkboxes for selecting multiple items |
Sections can span multiple pages. The waiver uses a stepper to navigate between pages.
Step 4: Signature
A full-width signature pad where the customer draws their signature:
- Touch-optimized for mobile and tablet devices
- Clear button to reset and redraw
- Signature is captured as an image and stored securely
Step 5: Submission
After completing all required sections and signing, the customer submits the waiver. A confirmation screen is displayed.
Multi-language support
The waiver system supports multiple languages:
- A language selector appears at the top of the waiver page
- The primary language is set in the waiver template
- Additional language translations can be configured in the waiver template editor
- When a translation is selected, the title, description, and all section content switch to the translated version
Waiver templates
Templates are created and managed in the admin dashboard waiver editor. Each template includes:
| Field | Description |
|---|---|
| Title | Display name of the waiver |
| Description | Optional introductory text |
| Sections | Ordered list of content sections (text, acknowledgment, signature, etc.) |
| Assign to | Which inventory items or categories this waiver applies to |
| Primary language | The default language for the waiver |
| Translations | Additional language versions of the waiver content |
Section configuration
Each section has:
- Content -- the text or question displayed to the customer (supports HTML for text sections)
- Type -- text, acknowledgment, signature, multiple choice, or checkbox group
- Options -- for multiple choice and checkbox sections, the list of available choices
- Required -- whether the section must be completed
- Page -- which page of the waiver the section appears on
QR code pre-fill
Generate QR codes that link to pre-populated waiver forms:
- The QR code encodes a URL with the booking ID and customer information
- When scanned, the waiver form auto-fills personal information fields
- The customer only needs to read, acknowledge, and sign
Kiosk PIN entry
For walk-up customers at a kiosk:
- A numeric keypad is displayed on the kiosk screen
- The customer enters a PIN associated with their booking
- The waiver loads with their booking information pre-filled
Keep waiver content concise -- long legal text increases abandonment. Test the full signing flow on a mobile device before going live. Set up a kiosk with QR codes at your dock for walk-in customers. Signed waivers are stored in the booking detail and available for download. Use the multi-language feature if you serve international customers.
Signature not saving -- Make sure the customer draws a clear mark on the signature pad. A single dot may not register. If the pad is unresponsive, try reloading the page.
Cannot scroll through waiver -- On mobile, swipe to scroll. Pinch-to-zoom is supported for small text. Ensure the browser is not in a zoomed state that blocks scrolling.
Signed but still showing as unsigned -- Clear the browser cache and refresh the page. The waiver status update may take a moment to propagate to the booking record.
QR code not working -- Verify the QR code has not expired and contains a valid booking URL. Test by scanning with a standard QR reader app first.
Wrong language showing -- Check the primary language setting in the waiver template. If translations are configured, use the language selector at the top of the waiver page.
Dependent section not appearing -- Multi-participant support must be enabled in the waiver template settings.

