{
  "_template": {
    "slug": "speaker-confirmation-form",
    "name": "Speaker Confirmation Form",
    "version": 1,
    "specVersion": 1,
    "source": "https://www.regform.com/form-templates/speaker-confirmation-form"
  },
  "form": {
    "title": "Speaker Confirmation Form",
    "nav": {
      "mode": "free",
      "backLabel": "Back",
      "nextLabel": "Next",
      "submitLabel": "Confirm My Session",
      "showProgress": true,
      "validatePerStep": true
    },
    "steps": [
      {
        "id": "step-session",
        "title": "Your Session",
        "fields": [
          {
            "id": "f-intro",
            "key": "intro",
            "type": "text_block",
            "label": "",
            "required": false,
            "hidden": false,
            "options": [],
            "content": "<p>Congratulations on your acceptance. This takes about eight minutes and collects everything our programme, production and marketing teams need from you.</p>"
          },
          {
            "id": "f-session-title",
            "key": "session_title",
            "type": "text",
            "label": "Session Title",
            "required": true,
            "hidden": false,
            "options": [],
            "prefill": {
              "key": "title",
              "type": "queryParam"
            },
            "description": "Prefilled from the programme. Tell us below if it needs to change."
          },
          {
            "id": "f-session-slot",
            "key": "session_slot",
            "type": "text",
            "label": "Session Slot",
            "required": false,
            "hidden": false,
            "options": [],
            "prefill": {
              "key": "slot",
              "type": "queryParam"
            },
            "description": "Prefilled from the programme."
          },
          {
            "id": "f-confirm-attending",
            "key": "confirm_attending",
            "type": "radio",
            "label": "Can You Present as Scheduled",
            "required": true,
            "hidden": false,
            "options": [
              {
                "label": "Yes, confirmed",
                "value": "Yes"
              },
              {
                "label": "No, I need to withdraw",
                "value": "No"
              },
              {
                "label": "Yes, but I have a scheduling constraint",
                "value": "Constraint"
              }
            ]
          },
          {
            "id": "f-scheduling-constraint",
            "key": "scheduling_constraint",
            "type": "textarea",
            "label": "Scheduling Constraint",
            "required": false,
            "hidden": true,
            "options": [],
            "description": "Tell us the constraint and we will see what we can do."
          }
        ]
      },
      {
        "id": "step-speaker",
        "title": "About You",
        "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": [],
            "placeholder": "you@example.org",
            "editableAfterSubmit": true
          },
          {
            "id": "f-mobile",
            "key": "mobile",
            "type": "phone",
            "label": "Mobile Phone",
            "required": true,
            "hidden": false,
            "options": [],
            "description": "For day of contact only.",
            "placeholder": "+1 555 0100"
          },
          {
            "id": "f-name-for-programme",
            "key": "name_for_programme",
            "type": "text",
            "label": "Name and Credentials for the Programme",
            "required": true,
            "hidden": false,
            "options": [],
            "description": "Exactly as it should appear in the programme and on slides.",
            "editableAfterSubmit": true
          },
          {
            "id": "f-job-title",
            "key": "job_title",
            "type": "text",
            "label": "Job Title",
            "required": true,
            "hidden": false,
            "options": [],
            "editableAfterSubmit": true
          },
          {
            "id": "f-organization",
            "key": "organization",
            "type": "text",
            "label": "Organization",
            "required": true,
            "hidden": false,
            "options": [],
            "editableAfterSubmit": true
          }
        ]
      },
      {
        "id": "step-marketing",
        "title": "Programme and Marketing",
        "fields": [
          {
            "id": "f-bio",
            "key": "bio",
            "type": "textarea",
            "label": "Speaker Biography",
            "required": true,
            "hidden": false,
            "options": [],
            "description": "Up to 120 words, third person. This is what goes in the programme.",
            "editableAfterSubmit": true
          },
          {
            "id": "f-headshot-url",
            "key": "headshot_url",
            "type": "text",
            "label": "Headshot Link",
            "required": false,
            "hidden": false,
            "options": [],
            "description": "Link to a high resolution photo. Swap this for a file upload field in the builder if you prefer.",
            "placeholder": "https://",
            "editableAfterSubmit": true
          },
          {
            "id": "f-session-description",
            "key": "session_description",
            "type": "textarea",
            "label": "Session Description for the Programme",
            "required": true,
            "hidden": false,
            "options": [],
            "description": "Up to 60 words. What attendees will get from your session.",
            "editableAfterSubmit": true
          },
          {
            "id": "f-social-handles",
            "key": "social_handles",
            "type": "text",
            "label": "Social Handles",
            "required": false,
            "hidden": false,
            "options": [],
            "placeholder": "For tagging you in event promotion",
            "editableAfterSubmit": true
          }
        ]
      },
      {
        "id": "step-av",
        "title": "Production Requirements",
        "fields": [
          {
            "id": "f-presentation-format",
            "key": "presentation_format",
            "type": "radio",
            "label": "How Will You Present",
            "required": true,
            "hidden": false,
            "options": [
              {
                "label": "Slides",
                "value": "Slides"
              },
              {
                "label": "Slides plus a live demo",
                "value": "Demo"
              },
              {
                "label": "No slides",
                "value": "No slides"
              },
              {
                "label": "Panel discussion",
                "value": "Panel"
              }
            ]
          },
          {
            "id": "f-demo-details",
            "key": "demo_details",
            "type": "textarea",
            "label": "Demo Requirements",
            "required": false,
            "hidden": true,
            "options": [],
            "description": "Live demos need planning. Tell us what you will be showing and what it depends on."
          },
          {
            "id": "f-av-needs",
            "key": "av_needs",
            "type": "checkbox",
            "label": "AV Requirements",
            "required": false,
            "hidden": false,
            "options": [
              {
                "label": "Projector and screen",
                "value": "Projector and screen"
              },
              {
                "label": "Lapel microphone",
                "value": "Lapel microphone"
              },
              {
                "label": "Handheld microphone",
                "value": "Handheld microphone"
              },
              {
                "label": "Confidence monitor",
                "value": "Confidence monitor"
              },
              {
                "label": "Audio playback from my laptop",
                "value": "Audio playback"
              },
              {
                "label": "Wired internet connection",
                "value": "Wired internet"
              },
              {
                "label": "Flip chart or whiteboard",
                "value": "Flip chart"
              }
            ],
            "description": "Only tick what you genuinely need. Each one is something our production team has to deliver."
          },
          {
            "id": "f-room-setup",
            "key": "room_setup",
            "type": "dropdown",
            "label": "Preferred Room Setup",
            "required": false,
            "hidden": false,
            "options": [
              {
                "label": "Theatre",
                "value": "Theatre"
              },
              {
                "label": "Classroom",
                "value": "Classroom"
              },
              {
                "label": "Rounds for group work",
                "value": "Rounds"
              },
              {
                "label": "No preference",
                "value": "No preference"
              }
            ],
            "multiple": false
          },
          {
            "id": "f-accessibility",
            "key": "accessibility",
            "type": "textarea",
            "label": "Accessibility or Support Needs",
            "required": false,
            "hidden": false,
            "options": [],
            "placeholder": "Optional"
          }
        ]
      },
      {
        "id": "step-travel",
        "title": "Travel and Catering",
        "fields": [
          {
            "id": "f-travel-intro",
            "key": "travel_intro",
            "type": "text_block",
            "label": "",
            "required": false,
            "hidden": false,
            "options": [],
            "content": "<p>Complete this section only if we are covering your travel. Your acceptance letter says whether we are.</p>"
          },
          {
            "id": "f-travel-needed",
            "key": "travel_needed",
            "type": "radio",
            "label": "Do You Need Travel or Accommodation Arranged",
            "required": false,
            "hidden": false,
            "options": [
              {
                "label": "Yes",
                "value": "Yes"
              },
              {
                "label": "No, I am arranging my own",
                "value": "No"
              }
            ]
          },
          {
            "id": "f-arrival-date",
            "key": "arrival_date",
            "type": "date",
            "label": "Arrival Date",
            "required": false,
            "hidden": true,
            "options": []
          },
          {
            "id": "f-departure-date",
            "key": "departure_date",
            "type": "date",
            "label": "Departure Date",
            "required": false,
            "hidden": true,
            "options": []
          },
          {
            "id": "f-travel-notes",
            "key": "travel_notes",
            "type": "textarea",
            "label": "Travel Notes",
            "required": false,
            "hidden": true,
            "options": [],
            "placeholder": "Departure city, any constraints"
          },
          {
            "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": "step-agreement",
        "title": "Agreement and Release",
        "fields": [
          {
            "id": "f-speaker-terms",
            "key": "speaker_terms",
            "type": "legal",
            "label": "Speaker Agreement",
            "required": true,
            "hidden": false,
            "options": [],
            "legalMode": "text",
            "legalText": "<p>Replace this with your speaker agreement. Cover the commitment to present, the asset deadlines, the rules on commercial content in sessions, and what happens if a speaker withdraws late.</p>",
            "agreementLabel": "I agree to the speaker terms"
          },
          {
            "id": "f-recording-release",
            "key": "recording_release",
            "type": "radio",
            "label": "Do You Consent to Your Session Being Recorded and Distributed",
            "required": true,
            "hidden": false,
            "options": [
              {
                "label": "Yes",
                "value": "Yes"
              },
              {
                "label": "No",
                "value": "No"
              }
            ],
            "description": "We record sessions and make them available to registrants afterwards."
          },
          {
            "id": "f-recording-decline-note",
            "key": "recording_decline_note",
            "type": "textarea",
            "label": "Anything We Should Know About Declining",
            "required": false,
            "hidden": true,
            "options": [],
            "description": "Tell us so the production team can stop the recording for your session.",
            "placeholder": "Optional"
          },
          {
            "id": "f-photo-release",
            "key": "photo_release",
            "type": "checkbox",
            "label": "I consent to photography during my session",
            "required": false,
            "hidden": false,
            "options": []
          }
        ]
      }
    ],
    "theme": "light",
    "editLinkTtl": {
      "unit": "days",
      "value": 90,
      "enabled": true
    },
    "cookieNotice": {
      "enabled": true,
      "privacyPolicyUrl": ""
    },
    "integrations": [
      {
        "key": "confirmation_email",
        "enabled": true,
        "settings": {
          "bodyHtml": "<p>Thank you for confirming. Your session details are below. Replace this text with your asset deadline, the rehearsal time and the name of your speaker liaison, and repeat the deadline in every reminder.</p>",
          "includeCalendarLinks": false,
          "includeSessionIcsFile": false,
          "includeEventCalendarLink": false
        }
      }
    ],
    "notifications": {
      "emailOwnerOnSubmission": true
    },
    "thankYouMessage": "Thank you for confirming. Your details are with our programme and production teams, and the edit link in your confirmation lets you update your bio or headshot before the artwork deadline.",
    "showLanguageSelector": false
  },
  "rules": [
    {
      "id": "rule-scheduling-constraint",
      "actions": [
        {
          "action": "show_field",
          "target": "scheduling_constraint"
        },
        {
          "action": "require_field",
          "target": "scheduling_constraint"
        }
      ],
      "conditions": [
        {
          "fact": "confirm_attending",
          "value": "Constraint",
          "operator": "equal"
        }
      ],
      "logicType": "all",
      "description": "Capture the constraint so the programme team can work with it",
      "evaluationMode": "immediate"
    },
    {
      "id": "rule-demo-details",
      "actions": [
        {
          "action": "show_field",
          "target": "demo_details"
        },
        {
          "action": "require_field",
          "target": "demo_details"
        }
      ],
      "conditions": [
        {
          "fact": "presentation_format",
          "value": "Demo",
          "operator": "equal"
        }
      ],
      "logicType": "all",
      "description": "Live demos need production planning",
      "evaluationMode": "immediate"
    },
    {
      "id": "rule-travel-dates",
      "actions": [
        {
          "action": "show_field",
          "target": "arrival_date"
        },
        {
          "action": "show_field",
          "target": "departure_date"
        },
        {
          "action": "show_field",
          "target": "travel_notes"
        }
      ],
      "conditions": [
        {
          "fact": "travel_needed",
          "value": "Yes",
          "operator": "equal"
        }
      ],
      "logicType": "all",
      "description": "Only ask travel dates of speakers whose travel we are arranging",
      "evaluationMode": "immediate"
    },
    {
      "id": "rule-recording-decline",
      "actions": [
        {
          "action": "show_field",
          "target": "recording_decline_note"
        }
      ],
      "conditions": [
        {
          "fact": "recording_release",
          "value": "No",
          "operator": "equal"
        }
      ],
      "logicType": "all",
      "description": "Flag declined recordings to production",
      "evaluationMode": "immediate"
    }
  ]
}