{
  "_template": {
    "slug": "training-course-enrollment-form",
    "name": "Training Course Enrollment Form",
    "version": 2,
    "specVersion": 1,
    "source": "https://www.regform.com/form-templates/training-course-enrollment-form"
  },
  "form": {
    "title": "Training Course Enrollment Form",
    "nav": {
      "mode": "free",
      "backLabel": "Back",
      "nextLabel": "Next",
      "submitLabel": "Request Enrollment",
      "showProgress": true,
      "validatePerStep": true
    },
    "steps": [
      {
        "id": "step-learner",
        "title": "Learner 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-work-email",
            "key": "work_email",
            "type": "email",
            "label": "Work Email",
            "required": true,
            "hidden": false,
            "options": [],
            "placeholder": "name@example.com"
          },
          {
            "id": "f-phone",
            "key": "phone",
            "type": "phone",
            "label": "Phone",
            "required": false,
            "hidden": false,
            "options": [],
            "placeholder": "+1 555 0100"
          },
          {
            "id": "f-organization",
            "key": "organization",
            "type": "text",
            "label": "Organization",
            "required": true,
            "hidden": false,
            "options": []
          },
          {
            "id": "f-job-title",
            "key": "job_title",
            "type": "text",
            "label": "Job Title",
            "required": false,
            "hidden": false,
            "options": []
          },
          {
            "id": "f-cost-center",
            "key": "cost_center",
            "type": "text",
            "label": "Department or Cost Center",
            "required": false,
            "hidden": false,
            "options": [],
            "description": "Often needed for internal chargeback even when no external payment is involved."
          },
          {
            "id": "f-learner-id",
            "key": "learner_id",
            "type": "text",
            "label": "Employee or Member ID",
            "required": false,
            "hidden": false,
            "options": [],
            "description": "Ties this enrollment to attendance and certificate records later. Collect it now."
          }
        ]
      },
      {
        "id": "step-course",
        "title": "Course Selection",
        "fields": [
          {
            "id": "f-course",
            "key": "course",
            "type": "item_select",
            "label": "Course",
            "required": true,
            "hidden": false,
            "options": [],
            "description": "Each course carries its own seat count. A full course queues to the waitlist.",
            "pricingMode": "single",
            "hiddenItemIds": [],
            "selectionMode": "single"
          },
          {
            "id": "f-course-date",
            "key": "course_date",
            "type": "dropdown",
            "label": "Course Date and Session",
            "required": true,
            "hidden": false,
            "options": [
              {
                "label": "March 3 to 5",
                "value": "March 3 to 5"
              },
              {
                "label": "April 14 to 16",
                "value": "April 14 to 16"
              },
              {
                "label": "June 9 to 11",
                "value": "June 9 to 11"
              },
              {
                "label": "September 15 to 17",
                "value": "September 15 to 17"
              }
            ],
            "multiple": false
          },
          {
            "id": "f-delivery-format",
            "key": "delivery_format",
            "type": "radio",
            "label": "Delivery Format",
            "required": false,
            "hidden": false,
            "options": [
              {
                "label": "In person",
                "value": "In person"
              },
              {
                "label": "Virtual",
                "value": "Virtual"
              },
              {
                "label": "Self paced",
                "value": "Self paced"
              }
            ]
          }
        ]
      },
      {
        "id": "step-eligibility",
        "title": "Eligibility",
        "fields": [
          {
            "id": "f-prerequisite",
            "key": "prerequisite",
            "type": "dropdown",
            "label": "Prerequisite Course or Certification Held",
            "required": false,
            "hidden": false,
            "options": [
              {
                "label": "Foundations completed",
                "value": "Foundations completed"
              },
              {
                "label": "Equivalent experience",
                "value": "Equivalent experience"
              },
              {
                "label": "None of these",
                "value": "None of these"
              }
            ],
            "multiple": false,
            "description": "Block or flag enrollments that do not meet the requirement."
          },
          {
            "id": "f-license-number",
            "key": "license_number",
            "type": "text",
            "label": "Certification or License Number",
            "required": false,
            "hidden": true,
            "options": []
          },
          {
            "id": "f-experience",
            "key": "experience",
            "type": "dropdown",
            "label": "Years of Experience in This Area",
            "required": false,
            "hidden": false,
            "options": [
              {
                "label": "Less than 1",
                "value": "Less than 1"
              },
              {
                "label": "1 to 3",
                "value": "1 to 3"
              },
              {
                "label": "4 to 7",
                "value": "4 to 7"
              },
              {
                "label": "8 or more",
                "value": "8 or more"
              }
            ],
            "multiple": false
          },
          {
            "id": "f-accommodations",
            "key": "accommodations",
            "type": "textarea",
            "label": "Accommodations or Learning Support Needed",
            "required": false,
            "hidden": false,
            "options": [],
            "placeholder": "Optional"
          }
        ]
      },
      {
        "id": "step-approval",
        "title": "Approval",
        "fields": [
          {
            "id": "f-manager-name",
            "key": "manager_name",
            "type": "text",
            "label": "Approving Manager Name",
            "required": true,
            "hidden": false,
            "options": []
          },
          {
            "id": "f-manager-email",
            "key": "manager_email",
            "type": "email",
            "label": "Approving Manager Email",
            "required": true,
            "hidden": false,
            "options": [],
            "description": "Receives the approval request. The enrollment stays pending until they respond."
          },
          {
            "id": "f-dietary",
            "key": "dietary",
            "type": "checkbox",
            "label": "Dietary Restrictions",
            "required": false,
            "hidden": true,
            "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"
              }
            ],
            "description": "Revealed only for in person sessions with catering."
          }
        ]
      },
      {
        "id": "step-consent",
        "title": "Consent",
        "fields": [
          {
            "id": "f-terms",
            "key": "terms",
            "type": "legal",
            "label": "Cancellation and No Show Policy",
            "required": true,
            "hidden": false,
            "options": [],
            "legalMode": "text",
            "legalText": "<p>Replace with your policy. State the cancellation window and any no show fee clearly.</p>",
            "agreementLabel": "I agree"
          }
        ]
      }
    ],
    "cart": {
      "enabled": true,
      "currencyCode": "USD",
      "items": [
        {
          "id": "course-foundations",
          "name": "Foundations Course",
          "price": 495,
          "active": true,
          "capQuantity": 24
        },
        {
          "id": "course-advanced",
          "name": "Advanced Course",
          "price": 895,
          "active": true,
          "capQuantity": 16
        },
        {
          "id": "course-certprep",
          "name": "Certification Exam Prep",
          "price": 1295,
          "active": true,
          "capQuantity": 12
        },
        {
          "id": "course-internal",
          "name": "Internal Staff Seat",
          "price": 0,
          "active": true,
          "capQuantity": 30
        }
      ],
      "fees": [],
      "requireEmail": true,
      "paymentProviders": [
        "stripe"
      ],
      "promoStackingMode": "none",
      "buyerEmailFieldKey": "work_email"
    },
    "theme": "light",
    "cookieNotice": {
      "enabled": true,
      "privacyPolicyUrl": ""
    },
    "integrations": [
      {
        "key": "stripe",
        "enabled": true,
        "settings": {
          "testCheckout": false,
          "paymentMethodTypes": [
            "card"
          ],
          "paymentMethodExtraFees": {
            "card": [],
            "us_bank_account": []
          }
        }
      },
      {
        "key": "invoice",
        "enabled": true,
        "settings": {
          "autoSendEmail": true,
          "includePaymentLinkInEmail": true
        }
      },
      {
        "key": "waitlist",
        "enabled": true,
        "settings": {
          "mode": "fifo",
          "offerWindow": {
            "unit": "hours",
            "value": 48
          },
          "reviewFieldKeys": [
            "first_name",
            "last_name",
            "organization",
            "course_date"
          ],
          "itemCapacityEnabled": true
        }
      },
      {
        "key": "confirmation_email",
        "enabled": true,
        "settings": {
          "bodyHtml": "<p>Your enrollment request has gone to your manager. Your seat is held until they respond.</p>",
          "includeCalendarLinks": true,
          "includeSessionIcsFile": false,
          "includeEventCalendarLink": true
        }
      }
    ],
    "notifications": {
      "emailOwnerOnSubmission": true
    },
    "thankYouMessage": "Your enrollment request has been sent to your manager for approval. Your seat is held until they respond.",
    "showLanguageSelector": false
  },
  "rules": [
    {
      "id": "rule-prereq-licence",
      "actions": [
        {
          "action": "show_field",
          "target": "license_number"
        },
        {
          "action": "require_field",
          "target": "license_number"
        }
      ],
      "conditions": [
        {
          "fact": "prerequisite",
          "value": "Foundations completed",
          "operator": "equal"
        }
      ],
      "logicType": "all",
      "description": "Ask for the certificate number when a prerequisite is claimed",
      "evaluationMode": "immediate"
    },
    {
      "id": "rule-inperson-catering",
      "actions": [
        {
          "action": "show_field",
          "target": "dietary"
        }
      ],
      "conditions": [
        {
          "fact": "delivery_format",
          "value": "In person",
          "operator": "equal"
        }
      ],
      "logicType": "all",
      "description": "Catering questions only apply to in person sessions",
      "evaluationMode": "immediate"
    }
  ]
}