{
  "_template": {
    "slug": "event-registration-form",
    "name": "Event Registration Form",
    "version": 2,
    "specVersion": 1,
    "source": "https://www.regform.com/form-templates/event-registration-form"
  },
  "form": {
    "title": "Event Registration Form",
    "nav": {
      "mode": "free",
      "backLabel": "Back",
      "nextLabel": "Next",
      "submitLabel": "Register",
      "showProgress": true,
      "validatePerStep": true
    },
    "steps": [
      {
        "id": "step-attendee",
        "title": "Attendee Information",
        "fields": [
          {
            "id": "f-first-name",
            "key": "first_name",
            "type": "text",
            "label": "First Name",
            "required": true,
            "hidden": false,
            "options": []
          },
          {
            "id": "f-last-name",
            "key": "last_name",
            "type": "text",
            "label": "Last Name",
            "required": true,
            "hidden": false,
            "options": []
          },
          {
            "id": "f-email",
            "key": "email",
            "type": "email",
            "label": "Email Address",
            "required": true,
            "hidden": false,
            "options": [],
            "description": "Your confirmation and receipt are sent here.",
            "placeholder": "you@example.com"
          },
          {
            "id": "f-mobile-phone",
            "key": "mobile_phone",
            "type": "phone",
            "label": "Mobile Phone",
            "required": false,
            "hidden": false,
            "options": [],
            "description": "Only needed if you plan to send day of text updates.",
            "placeholder": "+1 555 0100"
          },
          {
            "id": "f-job-title",
            "key": "job_title",
            "type": "text",
            "label": "Job Title",
            "required": false,
            "hidden": false,
            "options": []
          },
          {
            "id": "f-organization",
            "key": "organization",
            "type": "text",
            "label": "Organization",
            "required": false,
            "hidden": false,
            "options": [],
            "description": "Prints on the badge."
          }
        ]
      },
      {
        "id": "step-registration",
        "title": "Registration Details",
        "fields": [
          {
            "id": "f-registration-type",
            "key": "registration_type",
            "type": "item_select",
            "label": "Registration Type",
            "required": true,
            "hidden": false,
            "options": [],
            "description": "Replace these tiers and prices with your own.",
            "pricingMode": "single",
            "hiddenItemIds": [],
            "selectionMode": "single"
          },
          {
            "id": "f-attendance-format",
            "key": "attendance_format",
            "type": "radio",
            "label": "Attendance Format",
            "required": false,
            "hidden": false,
            "options": [
              {
                "label": "In person",
                "value": "In person"
              },
              {
                "label": "Virtual",
                "value": "Virtual"
              }
            ]
          },
          {
            "id": "f-sessions",
            "key": "sessions",
            "type": "checkbox",
            "label": "Sessions or Workshops",
            "required": false,
            "hidden": false,
            "options": [
              {
                "label": "Opening keynote",
                "value": "Opening keynote"
              },
              {
                "label": "Morning workshop A",
                "value": "Morning workshop A"
              },
              {
                "label": "Morning workshop B",
                "value": "Morning workshop B"
              },
              {
                "label": "Afternoon panel",
                "value": "Afternoon panel"
              },
              {
                "label": "Closing reception",
                "value": "Closing reception"
              }
            ],
            "description": "Replace with your program. Cap each one in the cart if seats are limited."
          },
          {
            "id": "f-promo-code",
            "key": "promo_code",
            "type": "text",
            "label": "Promo or Member Code",
            "required": false,
            "hidden": false,
            "options": []
          }
        ]
      },
      {
        "id": "step-additional",
        "title": "Additional Information",
        "fields": [
          {
            "id": "f-dietary",
            "key": "dietary",
            "type": "checkbox",
            "label": "Dietary Restrictions",
            "required": false,
            "hidden": false,
            "options": [
              {
                "label": "Vegetarian",
                "value": "Vegetarian"
              },
              {
                "label": "Vegan",
                "value": "Vegan"
              },
              {
                "label": "Gluten free",
                "value": "Gluten free"
              },
              {
                "label": "Dairy free",
                "value": "Dairy free"
              },
              {
                "label": "Nut allergy",
                "value": "Nut allergy"
              },
              {
                "label": "None",
                "value": "None"
              }
            ]
          },
          {
            "id": "f-accessibility",
            "key": "accessibility",
            "type": "textarea",
            "label": "Accessibility Requests",
            "required": false,
            "hidden": false,
            "options": [],
            "placeholder": "Optional"
          },
          {
            "id": "f-emergency-name",
            "key": "emergency_name",
            "type": "text",
            "label": "Emergency Contact Name",
            "required": false,
            "hidden": false,
            "options": []
          },
          {
            "id": "f-emergency-phone",
            "key": "emergency_phone",
            "type": "phone",
            "label": "Emergency Contact Phone",
            "required": false,
            "hidden": false,
            "options": []
          },
          {
            "id": "f-how-heard",
            "key": "how_heard",
            "type": "dropdown",
            "label": "How Did You Hear About This Event",
            "required": false,
            "hidden": false,
            "options": [
              {
                "label": "Email",
                "value": "Email"
              },
              {
                "label": "Colleague",
                "value": "Colleague"
              },
              {
                "label": "Social media",
                "value": "Social media"
              },
              {
                "label": "Website",
                "value": "Website"
              },
              {
                "label": "Past attendee",
                "value": "Past attendee"
              },
              {
                "label": "Other",
                "value": "Other"
              }
            ],
            "multiple": false
          }
        ]
      },
      {
        "id": "step-consent",
        "title": "Consent",
        "fields": [
          {
            "id": "f-photo-release",
            "key": "photo_release",
            "type": "checkbox",
            "label": "I consent to photography and video at this event",
            "required": false,
            "hidden": false,
            "options": []
          },
          {
            "id": "f-terms",
            "key": "terms",
            "type": "legal",
            "label": "Terms and Cancellation Policy",
            "required": true,
            "hidden": false,
            "options": [],
            "legalMode": "text",
            "legalText": "<p>Replace this with your event terms, refund window and cancellation policy.</p>",
            "agreementLabel": "I agree"
          },
          {
            "id": "f-marketing-optin",
            "key": "marketing_optin",
            "type": "checkbox",
            "label": "Send me updates about future events",
            "required": false,
            "hidden": false,
            "options": []
          }
        ]
      }
    ],
    "cart": {
      "enabled": true,
      "currencyCode": "USD",
      "items": [
        {
          "id": "reg-member",
          "name": "Member Registration",
          "price": 295,
          "active": true
        },
        {
          "id": "reg-nonmember",
          "name": "Non Member Registration",
          "price": 395,
          "active": true
        },
        {
          "id": "reg-student",
          "name": "Student Registration",
          "price": 95,
          "active": true
        },
        {
          "id": "reg-speaker",
          "name": "Speaker",
          "price": 0,
          "active": true
        },
        {
          "id": "reg-staff",
          "name": "Staff",
          "price": 0,
          "active": true
        }
      ],
      "fees": [],
      "requireEmail": true,
      "paymentProviders": [
        "stripe"
      ],
      "promoStackingMode": "none",
      "buyerEmailFieldKey": "email"
    },
    "theme": "light",
    "cookieNotice": {
      "enabled": true,
      "privacyPolicyUrl": ""
    },
    "integrations": [
      {
        "key": "stripe",
        "enabled": true,
        "settings": {
          "testCheckout": false,
          "paymentMethodTypes": [
            "card"
          ],
          "paymentMethodExtraFees": {
            "card": [],
            "us_bank_account": []
          }
        }
      },
      {
        "key": "confirmation_email",
        "enabled": true,
        "settings": {
          "bodyHtml": "<p>You are registered. Check the date, location and cancellation policy below and keep this email handy.</p>",
          "includeCalendarLinks": true,
          "includeSessionIcsFile": false,
          "includeEventCalendarLink": true
        }
      }
    ],
    "notifications": {
      "emailOwnerOnSubmission": true
    },
    "thankYouMessage": "You are registered. A confirmation and receipt are on the way.",
    "showLanguageSelector": false
  },
  "rules": [
    {
      "id": "rule-virtual-hides-logistics",
      "actions": [
        {
          "action": "hide_field",
          "target": "dietary"
        },
        {
          "action": "hide_field",
          "target": "emergency_name"
        },
        {
          "action": "hide_field",
          "target": "emergency_phone"
        }
      ],
      "conditions": [
        {
          "fact": "attendance_format",
          "value": "Virtual",
          "operator": "equal"
        }
      ],
      "logicType": "all",
      "description": "Virtual attendees do not need catering or emergency contact questions",
      "evaluationMode": "immediate"
    }
  ]
}