{
  "slug": "event-registration",
  "name": "Event registration",
  "description": "Register attendees with their sessions, their dietary needs, and their consent to be photographed.",
  "page": "https://lazerforms.com/use-cases/event-registration",
  "create_url": "https://lazerforms.com/signup?template=event-registration",
  "fields": [
    {
      "id": "er_name",
      "type": "text",
      "label": "Name as it should appear on your badge",
      "required": true,
      "description": ""
    },
    {
      "id": "er_email",
      "type": "email",
      "label": "Email address",
      "required": true,
      "description": ""
    },
    {
      "id": "er_org",
      "type": "text",
      "label": "Organisation",
      "required": false,
      "description": ""
    },
    {
      "id": "er_city",
      "type": "text",
      "label": "City you are travelling from",
      "required": true,
      "description": ""
    },
    {
      "id": "er_ticket",
      "type": "select",
      "label": "Ticket type",
      "required": true,
      "description": "",
      "options": [
        {
          "label": "Full conference",
          "value": "full_conference"
        },
        {
          "label": "Single day",
          "value": "single_day"
        },
        {
          "label": "Workshop only",
          "value": "workshop_only"
        },
        {
          "label": "Speaker",
          "value": "speaker"
        },
        {
          "label": "Student",
          "value": "student"
        }
      ]
    },
    {
      "id": "er_track",
      "type": "select",
      "label": "Preferred track",
      "required": true,
      "description": "",
      "options": [
        {
          "label": "Practice and case studies",
          "value": "practice_and_case_studies"
        },
        {
          "label": "Research and methods",
          "value": "research_and_methods"
        },
        {
          "label": "Tools and hands on",
          "value": "tools_and_hands_on"
        },
        {
          "label": "No preference",
          "value": "no_preference"
        }
      ]
    },
    {
      "id": "er_day",
      "type": "datepicker",
      "label": "Day you will attend",
      "required": true,
      "description": ""
    },
    {
      "id": "er_diet",
      "type": "select",
      "label": "Dietary requirement",
      "required": true,
      "description": "",
      "options": [
        {
          "label": "None",
          "value": "none"
        },
        {
          "label": "Vegetarian",
          "value": "vegetarian"
        },
        {
          "label": "Vegan",
          "value": "vegan"
        },
        {
          "label": "Halal",
          "value": "halal"
        },
        {
          "label": "Kosher",
          "value": "kosher"
        },
        {
          "label": "Gluten free",
          "value": "gluten_free"
        },
        {
          "label": "Other, described below",
          "value": "other_described_below"
        }
      ]
    },
    {
      "id": "er_access",
      "type": "textarea",
      "label": "Access requirements",
      "required": false,
      "description": ""
    },
    {
      "id": "er_photo",
      "type": "checkbox-simple",
      "label": "I am happy to appear in event photography",
      "required": true,
      "description": ""
    }
  ],
  "structure": [
    {
      "id": "er_h1",
      "type": "heading",
      "label": "",
      "config": {
        "required": false,
        "placeholder": "",
        "description": ""
      },
      "meta": {
        "text": "Your details",
        "level": 2,
        "alignment": "left",
        "color": "#000",
        "font_size": 0,
        "font_weight": "700",
        "margin_top": 24,
        "margin_bottom": 8
      }
    },
    {
      "id": "er_name",
      "type": "text",
      "label": "Name as it should appear on your badge",
      "config": {
        "required": true,
        "placeholder": "",
        "description": ""
      },
      "meta": {
        "minlength": 0,
        "maxlength": 40
      }
    },
    {
      "id": "er_email",
      "type": "email",
      "label": "Email address",
      "config": {
        "required": true,
        "placeholder": "e.g., name@example.com",
        "description": ""
      },
      "meta": {}
    },
    {
      "id": "er_org",
      "type": "text",
      "label": "Organisation",
      "config": {
        "required": false,
        "placeholder": "Leave blank if you are attending independently",
        "description": ""
      },
      "meta": {
        "minlength": 0,
        "maxlength": 0
      }
    },
    {
      "id": "er_city",
      "type": "text",
      "label": "City you are travelling from",
      "config": {
        "required": true,
        "placeholder": "",
        "description": ""
      },
      "meta": {
        "minlength": 0,
        "maxlength": 0
      }
    },
    {
      "id": "er_h2",
      "type": "heading",
      "label": "",
      "config": {
        "required": false,
        "placeholder": "",
        "description": ""
      },
      "meta": {
        "text": "Your programme",
        "level": 2,
        "alignment": "left",
        "color": "#000",
        "font_size": 0,
        "font_weight": "700",
        "margin_top": 24,
        "margin_bottom": 8
      }
    },
    {
      "id": "er_ticket",
      "type": "select",
      "label": "Ticket type",
      "config": {
        "required": true,
        "placeholder": "",
        "description": ""
      },
      "meta": {
        "options": [
          {
            "label": "Full conference",
            "value": "full_conference"
          },
          {
            "label": "Single day",
            "value": "single_day"
          },
          {
            "label": "Workshop only",
            "value": "workshop_only"
          },
          {
            "label": "Speaker",
            "value": "speaker"
          },
          {
            "label": "Student",
            "value": "student"
          }
        ]
      }
    },
    {
      "id": "er_track",
      "type": "select",
      "label": "Preferred track",
      "config": {
        "required": true,
        "placeholder": "",
        "description": ""
      },
      "meta": {
        "options": [
          {
            "label": "Practice and case studies",
            "value": "practice_and_case_studies"
          },
          {
            "label": "Research and methods",
            "value": "research_and_methods"
          },
          {
            "label": "Tools and hands on",
            "value": "tools_and_hands_on"
          },
          {
            "label": "No preference",
            "value": "no_preference"
          }
        ]
      }
    },
    {
      "id": "er_day",
      "type": "datepicker",
      "label": "Day you will attend",
      "config": {
        "required": true,
        "placeholder": "",
        "description": ""
      },
      "meta": {
        "min": "",
        "max": ""
      }
    },
    {
      "id": "er_h3",
      "type": "heading",
      "label": "",
      "config": {
        "required": false,
        "placeholder": "",
        "description": ""
      },
      "meta": {
        "text": "Access and catering",
        "level": 2,
        "alignment": "left",
        "color": "#000",
        "font_size": 0,
        "font_weight": "700",
        "margin_top": 24,
        "margin_bottom": 8
      }
    },
    {
      "id": "er_diet",
      "type": "select",
      "label": "Dietary requirement",
      "config": {
        "required": true,
        "placeholder": "",
        "description": ""
      },
      "meta": {
        "options": [
          {
            "label": "None",
            "value": "none"
          },
          {
            "label": "Vegetarian",
            "value": "vegetarian"
          },
          {
            "label": "Vegan",
            "value": "vegan"
          },
          {
            "label": "Halal",
            "value": "halal"
          },
          {
            "label": "Kosher",
            "value": "kosher"
          },
          {
            "label": "Gluten free",
            "value": "gluten_free"
          },
          {
            "label": "Other, described below",
            "value": "other_described_below"
          }
        ]
      }
    },
    {
      "id": "er_access",
      "type": "textarea",
      "label": "Access requirements",
      "config": {
        "required": false,
        "placeholder": "Step free access, hearing loop, a quiet room, or anything else we should arrange.",
        "description": ""
      },
      "meta": {
        "minlength": 0,
        "maxlength": 0,
        "rows": 3
      }
    },
    {
      "id": "er_photo",
      "type": "checkbox-simple",
      "label": "I am happy to appear in event photography",
      "config": {
        "required": true,
        "placeholder": "",
        "description": ""
      },
      "meta": {
        "defaultValue": "yes"
      }
    },
    {
      "id": "er_note",
      "type": "paragraph",
      "label": "",
      "config": {
        "required": false,
        "placeholder": "",
        "description": ""
      },
      "meta": {
        "text": "Bring the confirmation email. The desk opens an hour before the first session.",
        "alignment": "left",
        "color": "#555",
        "font_size": 0,
        "line_height": "1.55",
        "margin_top": 0,
        "margin_bottom": 14
      }
    }
  ],
  "example_submission": {
    "values": {
      "er_name": "Jordan Ellery",
      "er_email": "person@example.com",
      "er_org": "Leave blank if you are attending independently",
      "er_city": "A short factual answer.",
      "er_ticket": "full_conference"
    },
    "idempotency_key": "event-registration-2026-09-09-001",
    "agent": {
      "name": "your-agent"
    }
  },
  "notes": [
    "Key every value by the field id, never by the label. A label may be renamed.",
    "A fileupload value is {\"base64\", \"filename\", \"content_type\"} or {\"url\"}, capped at 3 MB.",
    "A select value must match one of the option values exactly.",
    "A checkbox-simple value is one of yes, no, or na.",
    "A datepicker value is YYYY-MM-DD.",
    "Send an idempotency_key so a retry cannot store the same submission twice."
  ]
}