A swim lesson registration form for parents on a busy week

Updated 2026-10-30

Swim lessons start with a pile of messages. Which level is my child? Is Tuesday full? I would rather send one link that asks the same questions of every family, so I can sort the answers into groups.

About the swimmer and the family

Name, birth date and a parent or guardian with email and phone. The guardian is the contact for every swimmer under 18, and the form asks for the minimum.

About the swimming

Level today, comfort in water, and what the parent wants the lessons to build. A nervous swimmer and a confident one can be at the same level and still need a different start.

About the practical side

Format, days, time of day, and allergies or needs the teacher must act on. A last box has the guardian agree to the pool rules.

Who fills it and who reads it

A parent or guardian fills it, or hands it to their own AI. The pool manager or teacher reads the rows. See forms for gyms and forms for sports clubs.

A parent's AI would ask "How well does your child swim today?" Then "Which days could work?" Then "Is there anything the teacher should act on?" It shows all answers and sends only after a yes. See agent-fillable forms.

One tip

Set a close date and a cap for each term. Related forms: a dance class registration form and a yoga class registration form.

Questions

How do I form groups by level?

Download the CSV and sort by swim_level, then by swimmer_birth_date. Check lesson_days and lesson_time_slot to place each group in a slot that suits most families.

What does the comfort rating add?

It is the parent's view of how at ease the swimmer is. A low score is a cue to start with water confidence, even if the swim level looks higher.

How is a swimmer's health handled?

The form asks only for allergies and needs the teacher must act on. Anything beyond that belongs in a private conversation with the parent, not on the form.

Try the form

Live demo ยท nothing is saved

Sign up for swim lessons

A parent or guardian fills this in for swimmers under 18. Tell us where the swimmer is today, and we will place them in the right group.

How well does the swimmer swim today? (required)
How comfortable is the swimmer in water?

1 is very nervous and 5 is very comfortable.

What would you like the lessons to build?
Which format do you prefer?
Which days could work?
Which time of day suits you?
I am the swimmer's parent or guardian and I agree to the pool rules (required)

Or paste the JSON

Give this to your AI. It needs the AI Form API MCP server or an API key. It makes the form and sends you the link.

text
Create this form with the AI Form API create_form tool (or POST https://aiformapi.com/v1/forms with my API key). Then reply with the public_url.

{
  "title": "Sign up for swim lessons",
  "description": "A parent or guardian fills this in for swimmers under 18. Tell us where the swimmer is today, and we will place them in the right group.",
  "fields": [
    {
      "id": "swimmer_name",
      "label": "Swimmer's name",
      "type": "short_text",
      "required": true,
      "max_length": 150
    },
    {
      "id": "swimmer_birth_date",
      "label": "Swimmer's date of birth",
      "type": "date",
      "required": true
    },
    {
      "id": "guardian_name",
      "label": "Parent or guardian name",
      "type": "short_text",
      "required": true,
      "max_length": 150
    },
    {
      "id": "guardian_email",
      "label": "Parent or guardian email",
      "type": "email",
      "required": true
    },
    {
      "id": "guardian_phone",
      "label": "Parent or guardian phone",
      "type": "phone",
      "required": true
    },
    {
      "id": "swim_level",
      "label": "How well does the swimmer swim today?",
      "type": "single_choice",
      "required": true,
      "options": [
        "Has never been in a pool",
        "Comfortable in shallow water",
        "Can float and kick",
        "Swims a width without help",
        "Swims several lengths"
      ]
    },
    {
      "id": "water_comfort",
      "label": "How comfortable is the swimmer in water?",
      "type": "rating",
      "help": "1 is very nervous and 5 is very comfortable.",
      "min": 1,
      "max": 5
    },
    {
      "id": "lesson_goals",
      "label": "What would you like the lessons to build?",
      "type": "multi_choice",
      "options": [
        "Water confidence",
        "Floating and kicking",
        "Front crawl",
        "Backstroke",
        "Breaststroke",
        "Safe diving",
        "Stamina"
      ]
    },
    {
      "id": "lesson_format",
      "label": "Which format do you prefer?",
      "type": "single_choice",
      "options": [
        "Group lesson",
        "Small group",
        "One to one"
      ]
    },
    {
      "id": "lesson_days",
      "label": "Which days could work?",
      "type": "multi_choice",
      "options": [
        "Monday",
        "Tuesday",
        "Wednesday",
        "Thursday",
        "Friday",
        "Saturday",
        "Sunday"
      ]
    },
    {
      "id": "lesson_time_slot",
      "label": "Which time of day suits you?",
      "type": "single_choice",
      "options": [
        "After school",
        "Evening",
        "Weekend morning",
        "Weekend afternoon"
      ]
    },
    {
      "id": "teacher_needs_to_know",
      "label": "Allergies or needs the teacher should act on",
      "type": "long_text",
      "max_length": 600
    },
    {
      "id": "guardian_confirms",
      "label": "I am the swimmer's parent or guardian and I agree to the pool rules",
      "type": "checkbox",
      "required": true
    }
  ]
}

Or call the API

bash
curl -X POST https://aiformapi.com/v1/forms \
  -H "Authorization: Bearer $AIFORMAPI_KEY" \
  -H "Content-Type: application/json" \
  -d '{"title":"Sign up for swim lessons","description":"A parent or guardian fills this in for swimmers under 18. Tell us where the swimmer is today, and we will place them in the right group.","fields":[{"id":"swimmer_name","label":"Swimmer'\''s name","type":"short_text","required":true,"max_length":150},{"id":"swimmer_birth_date","label":"Swimmer'\''s date of birth","type":"date","required":true},{"id":"guardian_name","label":"Parent or guardian name","type":"short_text","required":true,"max_length":150},{"id":"guardian_email","label":"Parent or guardian email","type":"email","required":true},{"id":"guardian_phone","label":"Parent or guardian phone","type":"phone","required":true},{"id":"swim_level","label":"How well does the swimmer swim today?","type":"single_choice","required":true,"options":["Has never been in a pool","Comfortable in shallow water","Can float and kick","Swims a width without help","Swims several lengths"]},{"id":"water_comfort","label":"How comfortable is the swimmer in water?","type":"rating","help":"1 is very nervous and 5 is very comfortable.","min":1,"max":5},{"id":"lesson_goals","label":"What would you like the lessons to build?","type":"multi_choice","options":["Water confidence","Floating and kicking","Front crawl","Backstroke","Breaststroke","Safe diving","Stamina"]},{"id":"lesson_format","label":"Which format do you prefer?","type":"single_choice","options":["Group lesson","Small group","One to one"]},{"id":"lesson_days","label":"Which days could work?","type":"multi_choice","options":["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"]},{"id":"lesson_time_slot","label":"Which time of day suits you?","type":"single_choice","options":["After school","Evening","Weekend morning","Weekend afternoon"]},{"id":"teacher_needs_to_know","label":"Allergies or needs the teacher should act on","type":"long_text","max_length":600},{"id":"guardian_confirms","label":"I am the swimmer'\''s parent or guardian and I agree to the pool rules","type":"checkbox","required":true}]}'

JSON definition

json
{
  "title": "Sign up for swim lessons",
  "description": "A parent or guardian fills this in for swimmers under 18. Tell us where the swimmer is today, and we will place them in the right group.",
  "fields": [
    {
      "id": "swimmer_name",
      "label": "Swimmer's name",
      "type": "short_text",
      "required": true,
      "max_length": 150
    },
    {
      "id": "swimmer_birth_date",
      "label": "Swimmer's date of birth",
      "type": "date",
      "required": true
    },
    {
      "id": "guardian_name",
      "label": "Parent or guardian name",
      "type": "short_text",
      "required": true,
      "max_length": 150
    },
    {
      "id": "guardian_email",
      "label": "Parent or guardian email",
      "type": "email",
      "required": true
    },
    {
      "id": "guardian_phone",
      "label": "Parent or guardian phone",
      "type": "phone",
      "required": true
    },
    {
      "id": "swim_level",
      "label": "How well does the swimmer swim today?",
      "type": "single_choice",
      "required": true,
      "options": [
        "Has never been in a pool",
        "Comfortable in shallow water",
        "Can float and kick",
        "Swims a width without help",
        "Swims several lengths"
      ]
    },
    {
      "id": "water_comfort",
      "label": "How comfortable is the swimmer in water?",
      "type": "rating",
      "help": "1 is very nervous and 5 is very comfortable.",
      "min": 1,
      "max": 5
    },
    {
      "id": "lesson_goals",
      "label": "What would you like the lessons to build?",
      "type": "multi_choice",
      "options": [
        "Water confidence",
        "Floating and kicking",
        "Front crawl",
        "Backstroke",
        "Breaststroke",
        "Safe diving",
        "Stamina"
      ]
    },
    {
      "id": "lesson_format",
      "label": "Which format do you prefer?",
      "type": "single_choice",
      "options": [
        "Group lesson",
        "Small group",
        "One to one"
      ]
    },
    {
      "id": "lesson_days",
      "label": "Which days could work?",
      "type": "multi_choice",
      "options": [
        "Monday",
        "Tuesday",
        "Wednesday",
        "Thursday",
        "Friday",
        "Saturday",
        "Sunday"
      ]
    },
    {
      "id": "lesson_time_slot",
      "label": "Which time of day suits you?",
      "type": "single_choice",
      "options": [
        "After school",
        "Evening",
        "Weekend morning",
        "Weekend afternoon"
      ]
    },
    {
      "id": "teacher_needs_to_know",
      "label": "Allergies or needs the teacher should act on",
      "type": "long_text",
      "max_length": 600
    },
    {
      "id": "guardian_confirms",
      "label": "I am the swimmer's parent or guardian and I agree to the pool rules",
      "type": "checkbox",
      "required": true
    }
  ]
}