> ## Documentation Index
> Fetch the complete documentation index at: https://docs.uplifter-curling.com/llms.txt
> Use this file to discover all available pages before exploring further.

# How do I create a waiver?

> Build a liability waiver with pages, choose how members agree to it (full name, click, exact phrase or drawn signature), set validity and age targeting, and require it for leagues, memberships or bookings.

<Note>
  **Must know**

  * Waivers are always visible, even for CCM clubs. They are the one net-new module deliberately left on, because checkout enforces required waivers.
  * **How members agree** applies to a required waiver. A new waiver starts on **Type their full name**, as CCM's "Enter Your Name" box did. Like CCM, the typed name is not matched against the member's account.
  * **Optional** waivers always offer **Accept** / **Decline** and never block registration.
  * Clubs migrated from CCM get their waivers created from their CCM waiver text. The names members typed in CCM come across as history only, so everyone types their name once more. See [Why do members have to sign waivers again after the move?](/ccm/deliberate-differences/waivers-are-real).
</Note>

<Steps>
  <Step title="Create the waiver">
    Go to **Members → Waivers** and click **Create Waiver**. Enter the **Waiver Title** and set its status (**Draft**, **Active**, **Archived**). Only **Active** waivers are offered at signup.
  </Step>

  <Step title="Signature validity">
    Set **Valid for (days)** (empty = never expires), or tick **Reset every season**, which overrides the day count. A per-season waiver must be signed again once the next season starts.
  </Step>

  <Step title="Required, and how members agree">
    Under **Acceptance & targeting**, tick **Required** if the waiver must be agreed to before registration. Then choose **How members agree**:

    * **Type their full name.** The curler types their own full name, or a parent or guardian types theirs for a minor. Any name of 2 to 120 characters with at least one letter is accepted.
    * **Click "I have read and agree".** The curler ticks the box. In the classic sign-up, the Continue button is the agreement.
    * **Type an exact phrase.** The curler types the **Acceptance text to type** exactly, matching case. You must enter that text, or the waiver will not save: "Enter the acceptance text members must type."
    * **Draw a signature at checkout.** The curler draws a signature on a signature pad at checkout.
  </Step>

  <Step title="Age targeting">
    If the waiver only applies to some ages, set **Min age** and **Max age**. Age is measured on the day the curler registers.
  </Step>

  <Step title="Add pages">
    Under **Waiver Pages** click **Add Page** and fill in **Page Title** and **Page Content** for each page of the release.
  </Step>

  <Step title="Require it">
    On a league's **Requirements** step, use **Waiver Requirement**. A membership group and a bookable venue have the same setting.
  </Step>
</Steps>

The list shows Title, Status, Pages, **Signed** and Created. **Signed** counts the curlers with an agreement on file in Uplifter, including ones that have since expired. When the waiver also holds older signings or names imported from CCM, the count adds *(\{n} on record)*. Click the count to open the signer list. See [How do I see who has signed a waiver?](/club/memberships-and-members/how-do-i-see-who-has-signed-a-waiver).

A waiver saved before the agreement choice existed keeps working as before. It shows **Type an exact phrase** if it has acceptance text, and **Draw a signature at checkout** if it does not.

**Related:** [How do I see who has signed a waiver?](/club/memberships-and-members/how-do-i-see-who-has-signed-a-waiver) · [What happens when I edit a waiver that has signatures?](/club/memberships-and-members/what-happens-when-i-edit-a-waiver-that-has-signatures) · [How do I set age limits?](/club/registration-and-signup/how-do-i-set-age-limits) · [What is the registration form builder?](/club/registration-and-signup/what-is-the-registration-form-builder)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.