{
  "_template": {
    "slug": "golf-outing-registration-form",
    "name": "Golf Outing Registration Form",
    "version": 1,
    "specVersion": 1,
    "source": "https://www.regform.com/form-templates/golf-outing-registration-form"
  },
  "form": {
    "title": "Golf Outing Registration Form",
    "nav": {
      "mode": "free",
      "backLabel": "Back",
      "nextLabel": "Next",
      "submitLabel": "Complete Registration",
      "showProgress": true,
      "validatePerStep": true
    },
    "steps": [
      {
        "id": "step-contact",
        "title": "Your Details",
        "fields": [
          {
            "id": "f-contact-first",
            "key": "contact_first",
            "type": "text",
            "label": "Your First Name",
            "required": true,
            "hidden": false,
            "options": []
          },
          {
            "id": "f-contact-last",
            "key": "contact_last",
            "type": "text",
            "label": "Your Last Name",
            "required": true,
            "hidden": false,
            "options": []
          },
          {
            "id": "f-contact-email",
            "key": "contact_email",
            "type": "email",
            "label": "Your Email Address",
            "required": true,
            "hidden": false,
            "options": [],
            "description": "Receives the summary, the receipt and the edit link.",
            "placeholder": "you@example.com",
            "editableAfterSubmit": true
          },
          {
            "id": "f-contact-phone",
            "key": "contact_phone",
            "type": "phone",
            "label": "Your Mobile Phone",
            "required": true,
            "hidden": false,
            "options": [],
            "placeholder": "+1 555 0100",
            "editableAfterSubmit": true
          },
          {
            "id": "f-company",
            "key": "company",
            "type": "text",
            "label": "Company or Organization",
            "required": false,
            "hidden": false,
            "options": []
          },
          {
            "id": "f-is-playing",
            "key": "is_playing",
            "type": "radio",
            "label": "Are You Playing",
            "required": false,
            "hidden": false,
            "options": [
              {
                "label": "Yes",
                "value": "Yes"
              },
              {
                "label": "No, I am registering others",
                "value": "No"
              }
            ]
          }
        ]
      },
      {
        "id": "step-players",
        "title": "Players",
        "fields": [
          {
            "id": "f-golfer-intro",
            "key": "golfer_intro",
            "type": "text_block",
            "label": "",
            "required": false,
            "hidden": false,
            "options": [],
            "content": "<p>Set the number of golfers and complete the details for each one. Four or more registered together receive the foursome rate automatically.</p>"
          },
          {
            "id": "f-golfers",
            "key": "golfers",
            "type": "item_select",
            "label": "Golfers",
            "required": false,
            "hidden": false,
            "options": [],
            "description": "Each golfer gets their own set of questions.",
            "pricingMode": "quantity",
            "selectionMode": "single",
            "visibleItemIds": [
              "golf-player"
            ]
          },
          {
            "id": "f-foursome-note",
            "key": "foursome_note",
            "type": "text_block",
            "label": "",
            "required": false,
            "hidden": true,
            "options": [],
            "content": "<p><strong>Foursome rate applied.</strong> The discounted per player price is reflected in your total below.</p>"
          },
          {
            "id": "f-dinner-guests",
            "key": "dinner_guests",
            "type": "item_select",
            "label": "Dinner Only Guests",
            "required": false,
            "hidden": false,
            "options": [],
            "description": "Dinner and awards only, for guests who are not golfing.",
            "pricingMode": "quantity",
            "selectionMode": "single",
            "visibleItemIds": [
              "golf-dinner"
            ]
          },
          {
            "id": "f-pairing-request",
            "key": "pairing_request",
            "type": "textarea",
            "label": "Pairing Request",
            "required": false,
            "hidden": false,
            "options": [],
            "description": "We pair incomplete groups. Tell us if you would like to play with a particular group.",
            "placeholder": "Optional"
          }
        ]
      },
      {
        "id": "step-sponsorship",
        "title": "Sponsorship and Extras",
        "fields": [
          {
            "id": "f-sponsorships",
            "key": "sponsorships",
            "type": "item_select",
            "label": "Sponsorships",
            "required": false,
            "hidden": false,
            "options": [],
            "description": "Each sponsorship is limited to what exists on the day.",
            "pricingMode": "quantity",
            "selectionMode": "multi",
            "visibleItemIds": [
              "spon-hole",
              "spon-cart",
              "spon-dinner",
              "spon-title"
            ]
          },
          {
            "id": "f-sign-text",
            "key": "sign_text",
            "type": "text",
            "label": "Hole Sign Text",
            "required": false,
            "hidden": true,
            "options": [],
            "description": "Exactly as it should appear on the sign. Keep it short.",
            "editableAfterSubmit": true
          },
          {
            "id": "f-sponsor-logo",
            "key": "sponsor_logo",
            "type": "text",
            "label": "Sponsor Logo Link",
            "required": false,
            "hidden": true,
            "options": [],
            "description": "Link to a high resolution file for signage and event materials.",
            "placeholder": "https://",
            "editableAfterSubmit": true
          },
          {
            "id": "f-extras",
            "key": "extras",
            "type": "item_select",
            "label": "Extras",
            "required": false,
            "hidden": false,
            "options": [],
            "pricingMode": "quantity",
            "selectionMode": "multi",
            "visibleItemIds": [
              "extra-mulligan",
              "extra-raffle"
            ]
          }
        ]
      },
      {
        "id": "step-agreement",
        "title": "Terms",
        "fields": [
          {
            "id": "f-terms",
            "key": "terms",
            "type": "legal",
            "label": "Terms and Weather Policy",
            "required": true,
            "hidden": false,
            "options": [],
            "legalMode": "text",
            "legalText": "<p>Replace this with your terms. State clearly what happens if play is cancelled for weather, whether entry fees are refundable, whether the dinner proceeds regardless, the refund and substitution window, and the course dress code.</p>",
            "agreementLabel": "I agree to the terms and weather policy"
          },
          {
            "id": "f-photo-release",
            "key": "photo_release",
            "type": "checkbox",
            "label": "I consent to photography during the event",
            "required": false,
            "hidden": false,
            "options": []
          },
          {
            "id": "f-cart-rules",
            "key": "cart_rules",
            "type": "checkbox",
            "label": "All players in my group will observe course rules and cart restrictions",
            "required": true,
            "hidden": false,
            "options": []
          }
        ]
      }
    ],
    "cart": {
      "enabled": true,
      "currencyCode": "USD",
      "items": [
        {
          "id": "golf-player",
          "name": "Golfer",
          "price": 375,
          "active": true,
          "subForm": {
            "mode": "per_unit",
            "fields": [
              {
                "id": "f-player-first",
                "key": "player_first",
                "type": "text",
                "label": "First Name",
                "hidden": false,
                "options": [],
                "required": true
              },
              {
                "id": "f-player-last",
                "key": "player_last",
                "type": "text",
                "label": "Last Name",
                "hidden": false,
                "options": [],
                "required": true
              },
              {
                "id": "f-player-email",
                "key": "player_email",
                "type": "email",
                "label": "Email Address",
                "hidden": false,
                "options": [],
                "required": true,
                "description": "Each player gets their own confirmation and tee time."
              },
              {
                "id": "f-player-company",
                "key": "player_company",
                "type": "text",
                "label": "Company",
                "hidden": false,
                "options": [],
                "required": false
              },
              {
                "id": "f-player-handicap",
                "key": "player_handicap",
                "type": "text",
                "label": "Handicap",
                "hidden": false,
                "options": [],
                "required": false,
                "description": "Leave blank if you do not have one."
              },
              {
                "id": "f-player-shirt",
                "key": "player_shirt",
                "type": "dropdown",
                "label": "Shirt Size",
                "hidden": false,
                "options": [
                  {
                    "label": "S",
                    "value": "S"
                  },
                  {
                    "label": "M",
                    "value": "M"
                  },
                  {
                    "label": "L",
                    "value": "L"
                  },
                  {
                    "label": "XL",
                    "value": "XL"
                  },
                  {
                    "label": "2XL",
                    "value": "2XL"
                  },
                  {
                    "label": "3XL",
                    "value": "3XL"
                  }
                ],
                "multiple": false,
                "required": false
              },
              {
                "id": "f-player-dietary",
                "key": "player_dietary",
                "type": "checkbox",
                "label": "Dietary Restrictions",
                "hidden": false,
                "options": [
                  {
                    "label": "Vegetarian",
                    "value": "Vegetarian"
                  },
                  {
                    "label": "Vegan",
                    "value": "Vegan"
                  },
                  {
                    "label": "Gluten free",
                    "value": "Gluten free"
                  },
                  {
                    "label": "Nut allergy",
                    "value": "Nut allergy"
                  },
                  {
                    "label": "None",
                    "value": "None"
                  }
                ],
                "required": false
              }
            ],
            "required": true
          },
          "capQuantity": 72,
          "description": "Includes green fee, cart, range balls, lunch and dinner. Four or more registered together receive the foursome rate."
        },
        {
          "id": "golf-dinner",
          "name": "Dinner Only Guest",
          "price": 95,
          "active": true,
          "subForm": {
            "mode": "per_unit",
            "fields": [
              {
                "id": "f-guest-name",
                "key": "guest_name",
                "type": "text",
                "label": "Guest Full Name",
                "hidden": false,
                "options": [],
                "required": true
              },
              {
                "id": "f-guest-dietary",
                "key": "guest_dietary",
                "type": "checkbox",
                "label": "Dietary Restrictions",
                "hidden": false,
                "options": [
                  {
                    "label": "Vegetarian",
                    "value": "Vegetarian"
                  },
                  {
                    "label": "Vegan",
                    "value": "Vegan"
                  },
                  {
                    "label": "Gluten free",
                    "value": "Gluten free"
                  },
                  {
                    "label": "Nut allergy",
                    "value": "Nut allergy"
                  },
                  {
                    "label": "None",
                    "value": "None"
                  }
                ],
                "required": false
              }
            ],
            "required": true
          },
          "capQuantity": 40,
          "description": "Dinner and awards only, no golf. For spouses, guests and board members."
        },
        {
          "id": "spon-hole",
          "name": "Hole Sponsorship",
          "price": 500,
          "active": true,
          "capQuantity": 18,
          "description": "Your sign at one tee box. Sign text collected at checkout."
        },
        {
          "id": "spon-cart",
          "name": "Beverage Cart Sponsorship",
          "price": 1500,
          "active": true,
          "capQuantity": 2,
          "description": "Branding on all beverage carts for the day."
        },
        {
          "id": "spon-dinner",
          "name": "Dinner Sponsorship",
          "price": 3500,
          "active": true,
          "capQuantity": 1,
          "description": "Exclusive. Branding and remarks at the dinner and awards."
        },
        {
          "id": "spon-title",
          "name": "Title Sponsorship",
          "price": 7500,
          "active": true,
          "capQuantity": 1,
          "description": "Exclusive. Top billing on all event materials, one complimentary foursome."
        },
        {
          "id": "extra-mulligan",
          "name": "Mulligan",
          "price": 25,
          "active": true,
          "description": "Four per player maximum, sold on the day as well."
        },
        {
          "id": "extra-raffle",
          "name": "Raffle Ticket Pack",
          "price": 50,
          "active": true,
          "description": "Ten tickets for the prize raffle."
        }
      ],
      "fees": [],
      "holdMinutes": 20,
      "requireEmail": true,
      "paymentProviders": [
        "stripe"
      ],
      "promoStackingMode": "none",
      "buyerEmailFieldKey": "contact_email"
    },
    "theme": "light",
    "editLinkTtl": {
      "unit": "days",
      "value": 90,
      "enabled": true
    },
    "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": "confirmation_email",
        "enabled": true,
        "settings": {
          "bodyHtml": "<p>You are registered. Your players and any sponsorships are listed below. Replace this text with the course address, the shotgun start time, the registration window and your weather policy.</p>",
          "includeCalendarLinks": false,
          "includeSessionIcsFile": false,
          "includeEventCalendarLink": false
        }
      }
    ],
    "notifications": {
      "emailOwnerOnSubmission": true
    },
    "thankYouMessage": "You are registered. Your players, guests and any sponsorships are confirmed, and the details are on their way to your inbox.",
    "showLanguageSelector": false
  },
  "rules": [
    {
      "id": "rule-foursome-rate",
      "actions": [
        {
          "action": "set_item_price",
          "target": "golfers::golf-player",
          "value": 340
        },
        {
          "action": "show_field",
          "target": "foursome_note"
        }
      ],
      "conditions": [
        {
          "fact": "__cart_item_count__:golfers:item:golf-player",
          "value": 4,
          "operator": "greaterThanInclusive"
        }
      ],
      "logicType": "all",
      "description": "Four or more golfers in one order get the foursome rate",
      "evaluationMode": "immediate"
    },
    {
      "id": "rule-hole-sign",
      "actions": [
        {
          "action": "show_field",
          "target": "sign_text"
        },
        {
          "action": "require_field",
          "target": "sign_text"
        },
        {
          "action": "show_field",
          "target": "sponsor_logo"
        }
      ],
      "conditions": [
        {
          "fact": "__cart_item_count__:sponsorships:item:spon-hole",
          "value": 1,
          "operator": "greaterThanInclusive"
        }
      ],
      "logicType": "all",
      "description": "Hole sponsors supply their sign text at purchase",
      "evaluationMode": "immediate"
    }
  ]
}