{
  "version": "1.0.0",
  "lastUpdated": "2024-11-24",
  "description": "Unified form configuration for all Moon inquiry forms",

  "flows": {
    "request-router": {
      "id": "request-router",
      "name": "Submit a Request",
      "description": "Let us know how we can help you",
      "submitEndpoint": "https://script.google.com/macros/s/AKfycbxMmfZBeb-NJYnKxxXAkmc2tBXfuimvCsJgu6Xk0YV2XmBJ0eG6SQLpdeRp4VheqS9H/exec",
      "formSource": "Request",
      "requiresIntent": false,
      "steps": ["step1_contact", "step2_inquiry_type", "step3a_feature_request"]
    },

    "vip-limits-request": {
      "id": "vip-limits-request",
      "name": "VIP Account Limits Request",
      "description": "Request increased transaction, daily, monthly, or balance limits",
      "submitEndpoint": "https://script.google.com/macros/s/AKfycbxMmfZBeb-NJYnKxxXAkmc2tBXfuimvCsJgu6Xk0YV2XmBJ0eG6SQLpdeRp4VheqS9H/exec",
      "formSource": "Request VIP Limits",
      "requiresIntent": false,
      "steps": ["step1_contact", "step2a_account_type"],
      "branches": {
        "individual": {
          "branchId": "vip-individual",
          "steps": [
            "step1_contact",
            "step2a_account_type",
            "step3d_individual_limits",
            "step4_5_sof",
            "step5_verification"
          ],
          "sofThreshold": 10000,
          "verificationFields": "kyc_individual"
        },
        "enterprise": {
          "branchId": "vip-enterprise",
          "steps": [
            "step1_contact",
            "step2a_account_type",
            "step3e_enterprise_limits",
            "step4_5_sof",
            "step5_verification"
          ],
          "sofThreshold": 10000,
          "verificationFields": "kyb_enterprise"
        }
      }
    },

    "merchant-access-request": {
      "id": "merchant-access-request",
      "name": "Merchant Access Request",
      "description": "Request access to restricted merchants",
      "submitEndpoint": "https://script.google.com/macros/s/AKfycbxMmfZBeb-NJYnKxxXAkmc2tBXfuimvCsJgu6Xk0YV2XmBJ0eG6SQLpdeRp4VheqS9H/exec",
      "formSource": "Request Merchant Access",
      "requiresIntent": false,
      "steps": [
        "step1_contact",
        "step2a_account_type",
        "step3_merchants",
        "step4_5_sof",
        "step5_verification"
      ],
      "branches": {
        "individual": {
          "branchId": "unblock-individual",
          "step3Config": "step3f_individual_merchants",
          "sofThreshold": 10000,
          "verificationFields": "kyc_individual"
        },
        "enterprise": {
          "branchId": "unblock-enterprise",
          "step3Config": "step3g_enterprise_merchants",
          "sofThreshold": 10000,
          "verificationFields": "kyb_enterprise"
        }
      }
    },

    "api-access-request": {
      "id": "api-access-request",
      "name": "API Access / Whitelabel Request",
      "description": "Partner inquiry for resale, whitelabel, or API access",
      "submitEndpoint": "https://script.google.com/macros/s/AKfycbxMmfZBeb-NJYnKxxXAkmc2tBXfuimvCsJgu6Xk0YV2XmBJ0eG6SQLpdeRp4VheqS9H/exec",
      "formSource": "Partner Inquiry",
      "requiresIntent": false,
      "steps": [
        "step1_contact_partner",
        "step2a_account_type",
        "step3a1_business",
        "step3a2_marketing",
        "step4_5_sof",
        "step5_contract"
      ],
      "branches": {
        "individual": {
          "branchId": "service",
          "sofThreshold": 10000,
          "verificationFields": "kyc_individual"
        },
        "enterprise": {
          "branchId": "service",
          "sofThreshold": 10000,
          "verificationFields": "kyb_enterprise"
        }
      }
    },

    "vendor-inquiry": {
      "id": "vendor-inquiry",
      "name": "Vendor / Service Provider Inquiry",
      "description": "Inquiry from vendors or service providers",
      "submitEndpoint": "https://script.google.com/macros/s/AKfycbxMmfZBeb-NJYnKxxXAkmc2tBXfuimvCsJgu6Xk0YV2XmBJ0eG6SQLpdeRp4VheqS9H/exec",
      "formSource": "Partner Inquiry",
      "requiresIntent": false,
      "steps": ["step1_contact_partner", "step3h_vendor"]
    },

    "new-feature-request": {
      "id": "new-feature-request",
      "name": "New Feature Request",
      "description": "Request a new feature or product",
      "submitEndpoint": "https://script.google.com/macros/s/AKfycbxMmfZBeb-NJYnKxxXAkmc2tBXfuimvCsJgu6Xk0YV2XmBJ0eG6SQLpdeRp4VheqS9H/exec",
      "formSource": "Request",
      "requiresIntent": false,
      "steps": ["step1_contact", "step3a_feature"]
    },

    "risk-controls-questionnaire": {
      "id": "risk-controls-questionnaire",
      "name": "Risk Controls Questionnaire",
      "description": "Risk assessment and compliance questionnaire",
      "submitEndpoint": "https://script.google.com/macros/s/AKfycbxMmfZBeb-NJYnKxxXAkmc2tBXfuimvCsJgu6Xk0YV2XmBJ0eG6SQLpdeRp4VheqS9H/exec",
      "formSource": "Partner Risk Controls",
      "requiresIntent": true,
      "steps": ["step2_operations", "step3_compliance", "step4_documentation"]
    },

    "more-info-questionnaire": {
      "id": "more-info-questionnaire",
      "name": "Additional Information",
      "description": "Additional information collection for existing inquiries",
      "submitEndpoint": "https://script.google.com/macros/s/AKfycbxMmfZBeb-NJYnKxxXAkmc2tBXfuimvCsJgu6Xk0YV2XmBJ0eG6SQLpdeRp4VheqS9H/exec",
      "formSource": "Partner More Info",
      "requiresIntent": true,
      "steps": ["step1_verification"]
    }
  },

  "sharedSteps": {
    "step1_contact": {
      "id": "step1",
      "title": "Contact Information",
      "description": "Let us know how to reach you",
      "submitOnComplete": true,
      "fields": ["contactName", "contactEmail", "user_sub"]
    },

    "step2_inquiry_type": {
      "id": "step2",
      "title": "What can we help you with?",
      "description": "Select the type of request",
      "submitOnComplete": true,
      "fields": ["inquiryType"],
      "navigationLogic": {
        "type": "redirect_or_advance",
        "field": "inquiryType",
        "routes": {
          "vip-limits": "redirect:https://paywithmoon.com/request-vip-limits",
          "unblock": "redirect:https://paywithmoon.com/request-merchant-access",
          "feature": "step3a_feature_request"
        }
      }
    },

    "step3a_feature_request": {
      "id": "step3",
      "title": "Feature Request Details",
      "description": "Tell us about the feature you'd like to see",
      "submitOnComplete": false,
      "finalStep": true,
      "fields": [
        "featureTitle",
        "featureCategory",
        "featureDescription",
        "featureUseCase",
        "featurePriority",
        "featureAlternatives",
        "featureAdditionalInfo",
        "featureEstimatedSpend"
      ]
    },

    "step3d_individual_limits": {
      "id": "step3",
      "title": "VIP Limit Request",
      "description": "Tell us about the limits you need",
      "submitOnComplete": true,
      "fields": [
        "contactEmail_d",
        "useOfCards_d",
        "monthlySpending_d",
        "limit_transaction_d_amount",
        "limit_daily_d_amount",
        "limit_monthly_d_amount",
        "limit_balance_d_amount",
        "newCardsPerDay",
        "newCardsPerMonth",
        "additionalInfo_d"
      ],
      "customValidation": "validateVIPLimits"
    },

    "step3e_enterprise_limits": {
      "id": "step3",
      "title": "VIP Limit Request",
      "description": "Tell us about the limits you need",
      "submitOnComplete": true,
      "fields": [
        "businessEmail_e",
        "businessWebsite_e",
        "businessOverview_e",
        "useOfCards_e",
        "monthlyVolume_e",
        "limit_transaction_e_amount",
        "limit_daily_e_amount",
        "limit_monthly_e_amount",
        "limit_balance_e_amount",
        "newCardsPerDay",
        "newCardsPerMonth",
        "linkedIn_e",
        "twitter_e",
        "facebook_e",
        "instagram_e",
        "additionalInfo_e"
      ],
      "customValidation": "validateVIPLimits"
    },

    "step1_contact_partner": {
      "id": "step1",
      "title": "Contact Information",
      "description": "Let us know how to reach you",
      "submitOnComplete": true,
      "fields": ["name", "email", "company", "user_sub"]
    },

    "step2a_account_type": {
      "id": "step2a",
      "title": "Account Type",
      "description": "Select your account type",
      "submitOnComplete": true,
      "fields": ["accountType"],
      "navigationLogic": {
        "type": "branch",
        "field": "accountType",
        "routes": {
          "individual": "step3_branch_individual",
          "enterprise": "step3_branch_enterprise"
        }
      }
    },

    "step4_5_sof": {
      "id": "step4_5",
      "title": "Source of Funds",
      "description": "Help us understand your funding sources",
      "submitOnComplete": true,
      "conditionalDisplay": {
        "function": "shouldShowSourceOfFunds",
        "param": "totalMonthlySpend",
        "threshold": 10000
      },
      "fields": {
        "individual": [
          "sof_description",
          "sof_salary",
          "sof_business",
          "sof_investment",
          "sof_rental",
          "sof_retirement",
          "sof_inheritance",
          "sof_assets",
          "sof_trust",
          "sof_other"
        ],
        "enterprise": [
          "sof_description",
          "sof_investor_capital",
          "sof_founder_capital",
          "sof_business_revenue",
          "sof_investment_ent",
          "sof_other"
        ]
      }
    },

    "step5_verification": {
      "id": "step5",
      "title": "Identity Verification",
      "description": "Please provide verification information to complete your application",
      "submitOnComplete": false,
      "finalStep": true,
      "fields": {
        "individual": [
          "fullLegalNameIndividual",
          "countryOfResidenceIndividual",
          "countryOfNationalityIndividual",
          "phoneIndividual"
        ],
        "enterprise": [
          "fullLegalBusinessName",
          "countryOfIncorporation",
          "authorizedSignerName",
          "authorizedSignerResidence",
          "authorizedSignerNationality",
          "authorizedSignerEmail",
          "phoneEnterprise"
        ]
      }
    }
  },

  "fields": {
    "contactName": {
      "id": "contactName",
      "name": "contactName",
      "type": "text",
      "label": "Name",
      "placeholder": "First Last",
      "requiredIn": [
        "vip-limits-request",
        "merchant-access-request",
        "new-feature-request"
      ],
      "validation": {
        "minLength": 2,
        "maxLength": 100
      },
      "cssClasses": ["mf-group"],
      "urlParamAliases": ["name", "contactName"]
    },

    "contactEmail": {
      "id": "contactEmail",
      "name": "contactEmail",
      "type": "email",
      "label": "Login Email with Moon",
      "placeholder": "your@email.com",
      "requiredIn": [
        "vip-limits-request",
        "merchant-access-request",
        "new-feature-request"
      ],
      "validation": {
        "type": "email",
        "pattern": "^[^@]+@[^@]+\\.[^@]+$"
      },
      "cssClasses": ["mf-group"],
      "urlParamAliases": ["email", "contactEmail"]
    },

    "name": {
      "id": "name",
      "name": "name",
      "type": "text",
      "label": "Name",
      "placeholder": "First Last",
      "requiredIn": ["api-access-request", "vendor-inquiry"],
      "validation": {
        "minLength": 2,
        "maxLength": 100
      },
      "cssClasses": ["mf-group"],
      "urlParamAliases": ["name", "contactName"]
    },

    "email": {
      "id": "email",
      "name": "email",
      "type": "email",
      "label": "Email",
      "placeholder": "your@email.com",
      "requiredIn": ["api-access-request", "vendor-inquiry"],
      "validation": {
        "type": "email",
        "pattern": "^[^@]+@[^@]+\\.[^@]+$"
      },
      "cssClasses": ["mf-group"],
      "urlParamAliases": ["email", "contactEmail"]
    },

    "company": {
      "id": "company",
      "name": "company",
      "type": "text",
      "label": "Company",
      "placeholder": "Your Company Name",
      "requiredIn": ["api-access-request"],
      "optionalIn": ["vendor-inquiry"],
      "validation": {
        "minLength": 2,
        "maxLength": 100
      },
      "cssClasses": ["mf-group"],
      "urlParamAliases": ["company"]
    },

    "user_sub": {
      "id": "user_sub",
      "name": "user_sub",
      "type": "hidden",
      "requiredIn": [],
      "urlParamAliases": ["user", "sub", "user_sub"]
    },

    "inquiryType": {
      "id": "inquiryType",
      "name": "inquiryType",
      "type": "select",
      "label": "Type of Request",
      "requiredIn": ["request-router"],
      "options": [
        { "value": "", "label": "Select..." },
        {
          "value": "vip-limits",
          "label": "VIP Limits - Increase my account limits"
        },
        {
          "value": "unblock",
          "label": "Merchant Access - Request access to blocked merchants"
        },
        {
          "value": "feature",
          "label": "New Feature - Suggest a new feature or improvement"
        }
      ],
      "cssClasses": ["mf-group"],
      "autoSubmit": false,
      "urlParamAliases": ["inquiry", "inquiryType"]
    },

    "featureTitle": {
      "id": "featureTitle",
      "name": "featureTitle",
      "type": "text",
      "label": "Feature Title",
      "placeholder": "Brief title for the feature",
      "requiredIn": ["request-router", "new-feature-request"],
      "validation": {
        "minLength": 3,
        "maxLength": 200
      },
      "cssClasses": ["mf-group"]
    },

    "featureCategory": {
      "id": "featureCategory",
      "name": "featureCategory",
      "type": "select",
      "label": "Category",
      "requiredIn": ["request-router", "new-feature-request"],
      "options": [
        { "value": "", "label": "Select..." },
        { "value": "cards", "label": "Virtual Cards" },
        { "value": "limits", "label": "Account Limits" },
        { "value": "merchants", "label": "Merchant Support" },
        { "value": "integrations", "label": "Integrations & API" },
        { "value": "security", "label": "Security & Privacy" },
        { "value": "ui", "label": "User Interface" },
        { "value": "billing", "label": "Billing & Payments" },
        { "value": "other", "label": "Other" }
      ],
      "cssClasses": ["mf-group"]
    },

    "featureDescription": {
      "id": "featureDescription",
      "name": "featureDescription",
      "type": "textarea",
      "label": "Feature Description",
      "placeholder": "Describe the feature in detail",
      "helpText": "What would this feature do? How would it work?",
      "requiredIn": ["request-router", "new-feature-request"],
      "validation": {
        "minLength": 10,
        "maxLength": 2000
      },
      "cssClasses": ["mf-group"],
      "rows": 5
    },

    "featureUseCase": {
      "id": "featureUseCase",
      "name": "featureUseCase",
      "type": "textarea",
      "label": "Use Case",
      "placeholder": "How would you use this feature?",
      "helpText": "Describe a specific scenario where this feature would be helpful",
      "requiredIn": ["request-router", "new-feature-request"],
      "validation": {
        "minLength": 10,
        "maxLength": 1000
      },
      "cssClasses": ["mf-group"],
      "rows": 4
    },

    "featurePriority": {
      "id": "featurePriority",
      "name": "featurePriority",
      "type": "select",
      "label": "Priority",
      "helpText": "How important is this feature to you?",
      "requiredIn": ["request-router", "new-feature-request"],
      "options": [
        { "value": "", "label": "Select..." },
        { "value": "critical", "label": "Critical - Blocking my use of Moon" },
        {
          "value": "high",
          "label": "High - Would significantly improve my experience"
        },
        { "value": "medium", "label": "Medium - Nice to have" },
        { "value": "low", "label": "Low - Not urgent" }
      ],
      "cssClasses": ["mf-group"]
    },

    "featureAlternatives": {
      "id": "featureAlternatives",
      "name": "featureAlternatives",
      "type": "textarea",
      "label": "Current Alternatives (Optional)",
      "placeholder": "How do you currently work around this limitation?",
      "requiredIn": [],
      "validation": {
        "maxLength": 1000
      },
      "cssClasses": ["mf-group"],
      "rows": 3
    },

    "featureAdditionalInfo": {
      "id": "featureAdditionalInfo",
      "name": "featureAdditionalInfo",
      "type": "textarea",
      "label": "Additional Information (Optional)",
      "placeholder": "Any other details, examples, or context",
      "requiredIn": [],
      "validation": {
        "maxLength": 2000
      },
      "cssClasses": ["mf-group"],
      "rows": 4
    },

    "featureEstimatedSpend": {
      "id": "featureEstimatedSpend",
      "name": "featureEstimatedSpend",
      "type": "currency",
      "label": "Estimated Monthly Spend (Optional)",
      "placeholder": "$0",
      "helpText": "If this feature would increase your spending on Moon, by how much?",
      "requiredIn": [],
      "cssClasses": ["mf-group"]
    },

    "accountType": {
      "id": "accountType",
      "name": "accountType",
      "type": "select",
      "label": "Account Type",
      "requiredIn": [
        "vip-limits-request",
        "merchant-access-request",
        "api-access-request"
      ],
      "options": [
        { "value": "", "label": "Select..." },
        { "value": "individual", "label": "Individual" },
        { "value": "enterprise", "label": "Enterprise" }
      ],
      "cssClasses": ["mf-group"],
      "autoSubmit": true,
      "urlParamAliases": ["account", "accountType"]
    },

    "contactEmail_d": {
      "id": "contactEmail_d",
      "name": "contactEmail",
      "type": "email",
      "label": "Email",
      "placeholder": "your@email.com",
      "requiredIn": ["vip-limits-request"],
      "visibleWhen": { "branch": "individual" },
      "cssClasses": ["mf-group"],
      "disabled": true
    },

    "useOfCards_d": {
      "id": "useOfCards_d",
      "name": "useOfCards",
      "type": "textarea",
      "label": "How will you use your Moon cards?",
      "placeholder": "Describe your intended use case",
      "requiredIn": ["vip-limits-request"],
      "visibleWhen": { "branch": "individual" },
      "cssClasses": ["mf-group"],
      "rows": 4
    },

    "monthlySpending_d": {
      "id": "monthlySpending_d",
      "name": "monthlySpending",
      "type": "currency",
      "label": "Expected Monthly Spending",
      "placeholder": "$50,000",
      "helpText": "Your expected total monthly spending across all cards",
      "requiredIn": ["vip-limits-request"],
      "visibleWhen": { "branch": "individual" },
      "cssClasses": ["mf-group"],
      "validation": {
        "min": 0,
        "sofTrigger": 10000
      }
    },

    "limit_transaction_d_amount": {
      "id": "limit_transaction_d_amount",
      "name": "limit_transaction_amount",
      "type": "currency",
      "label": "Per-Transaction Limit",
      "placeholder": "$0",
      "helpText": "Maximum amount per single transaction",
      "requiredIn": [],
      "visibleWhen": { "branch": "individual" },
      "cssClasses": ["mf-group"]
    },

    "limit_daily_d_amount": {
      "id": "limit_daily_d_amount",
      "name": "limit_daily_amount",
      "type": "currency",
      "label": "Daily Limit",
      "placeholder": "$0",
      "helpText": "Maximum total spending per day",
      "requiredIn": [],
      "visibleWhen": { "branch": "individual" },
      "cssClasses": ["mf-group"]
    },

    "limit_monthly_d_amount": {
      "id": "limit_monthly_d_amount",
      "name": "limit_monthly_amount",
      "type": "currency",
      "label": "Monthly Limit",
      "placeholder": "$0",
      "helpText": "Maximum total spending per month",
      "requiredIn": [],
      "visibleWhen": { "branch": "individual" },
      "cssClasses": ["mf-group"]
    },

    "limit_balance_d_amount": {
      "id": "limit_balance_d_amount",
      "name": "limit_balance_amount",
      "type": "currency",
      "label": "Card Balance Limit",
      "placeholder": "$0",
      "helpText": "Maximum balance across all cards",
      "requiredIn": [],
      "visibleWhen": { "branch": "individual" },
      "cssClasses": ["mf-group"]
    },

    "newCardsPerDay": {
      "id": "newCardsPerDay",
      "name": "newCardsPerDay",
      "type": "text",
      "label": "New Cards Per Day",
      "placeholder": "0",
      "helpText": "How many new cards do you need to create per day?",
      "requiredIn": [],
      "cssClasses": ["mf-group"]
    },

    "newCardsPerMonth": {
      "id": "newCardsPerMonth",
      "name": "newCardsPerMonth",
      "type": "text",
      "label": "New Cards Per Month",
      "placeholder": "0",
      "helpText": "How many new cards do you need to create per month?",
      "requiredIn": [],
      "cssClasses": ["mf-group"]
    },

    "additionalInfo_d": {
      "id": "additionalInfo_d",
      "name": "additionalInfo",
      "type": "textarea",
      "label": "Additional Information (Optional)",
      "placeholder": "Any other relevant details",
      "requiredIn": [],
      "visibleWhen": { "branch": "individual" },
      "cssClasses": ["mf-group"],
      "rows": 3
    },

    "businessEmail_e": {
      "id": "businessEmail_e",
      "name": "businessEmail",
      "type": "email",
      "label": "Business Email",
      "placeholder": "business@company.com",
      "requiredIn": ["vip-limits-request"],
      "visibleWhen": { "branch": "enterprise" },
      "cssClasses": ["mf-group"]
    },

    "businessWebsite_e": {
      "id": "businessWebsite_e",
      "name": "businessWebsite",
      "type": "text",
      "label": "Business Website",
      "placeholder": "https://yourcompany.com",
      "requiredIn": ["vip-limits-request"],
      "visibleWhen": { "branch": "enterprise" },
      "cssClasses": ["mf-group"],
      "validation": {
        "pattern": "[a-zA-Z0-9][a-zA-Z0-9\\-\\.]*\\.[a-zA-Z]{2,}[a-zA-Z0-9\\-\\.]*"
      }
    },

    "businessOverview_e": {
      "id": "businessOverview_e",
      "name": "businessOverview",
      "type": "textarea",
      "label": "Business Overview",
      "placeholder": "Describe your business",
      "requiredIn": ["vip-limits-request"],
      "visibleWhen": { "branch": "enterprise" },
      "cssClasses": ["mf-group"],
      "rows": 4
    },

    "useOfCards_e": {
      "id": "useOfCards_e",
      "name": "useOfCards",
      "type": "textarea",
      "label": "How will you use your Moon cards?",
      "placeholder": "Describe your intended use case",
      "requiredIn": ["vip-limits-request"],
      "visibleWhen": { "branch": "enterprise" },
      "cssClasses": ["mf-group"],
      "rows": 4
    },

    "monthlyVolume_e": {
      "id": "monthlyVolume_e",
      "name": "monthlyVolume",
      "type": "currency",
      "label": "Expected Monthly Volume",
      "placeholder": "$1,500,000",
      "helpText": "Your expected total monthly spending across all cards",
      "requiredIn": ["vip-limits-request"],
      "visibleWhen": { "branch": "enterprise" },
      "cssClasses": ["mf-group"],
      "validation": {
        "min": 0,
        "sofTrigger": 10000
      }
    },

    "limit_transaction_e_amount": {
      "id": "limit_transaction_e_amount",
      "name": "limit_transaction_amount",
      "type": "currency",
      "label": "Per-Transaction Limit",
      "placeholder": "$0",
      "requiredIn": [],
      "visibleWhen": { "branch": "enterprise" },
      "cssClasses": ["mf-group"]
    },

    "limit_daily_e_amount": {
      "id": "limit_daily_e_amount",
      "name": "limit_daily_amount",
      "type": "currency",
      "label": "Daily Limit",
      "placeholder": "$0",
      "requiredIn": [],
      "visibleWhen": { "branch": "enterprise" },
      "cssClasses": ["mf-group"]
    },

    "limit_monthly_e_amount": {
      "id": "limit_monthly_e_amount",
      "name": "limit_monthly_amount",
      "type": "currency",
      "label": "Monthly Limit",
      "placeholder": "$0",
      "requiredIn": [],
      "visibleWhen": { "branch": "enterprise" },
      "cssClasses": ["mf-group"]
    },

    "limit_balance_e_amount": {
      "id": "limit_balance_e_amount",
      "name": "limit_balance_amount",
      "type": "currency",
      "label": "Card Balance Limit",
      "placeholder": "$0",
      "requiredIn": [],
      "visibleWhen": { "branch": "enterprise" },
      "cssClasses": ["mf-group"]
    },

    "linkedIn_e": {
      "id": "linkedIn_e",
      "name": "linkedIn",
      "type": "text",
      "label": "LinkedIn Profile",
      "placeholder": "linkedin.com/in/yourprofile",
      "helpText": "Enter your LinkedIn profile URL or username",
      "requiredIn": [],
      "visibleWhen": { "branch": "enterprise" },
      "cssClasses": ["mf-group", "mf-linkedin"]
    },

    "twitter_e": {
      "id": "twitter_e",
      "name": "twitter",
      "type": "text",
      "label": "Twitter Handle",
      "placeholder": "@yourhandle",
      "requiredIn": [],
      "visibleWhen": { "branch": "enterprise" },
      "cssClasses": ["mf-group"]
    },

    "facebook_e": {
      "id": "facebook_e",
      "name": "facebook",
      "type": "text",
      "label": "Facebook Page",
      "placeholder": "facebook.com/yourpage",
      "requiredIn": [],
      "visibleWhen": { "branch": "enterprise" },
      "cssClasses": ["mf-group", "mf-facebook"]
    },

    "instagram_e": {
      "id": "instagram_e",
      "name": "instagram",
      "type": "text",
      "label": "Instagram Handle",
      "placeholder": "@yourhandle",
      "requiredIn": [],
      "visibleWhen": { "branch": "enterprise" },
      "cssClasses": ["mf-group"]
    },

    "additionalInfo_e": {
      "id": "additionalInfo_e",
      "name": "additionalInfo",
      "type": "textarea",
      "label": "Additional Information (Optional)",
      "placeholder": "Any other relevant details",
      "requiredIn": [],
      "visibleWhen": { "branch": "enterprise" },
      "cssClasses": ["mf-group"],
      "rows": 3
    },

    "fullLegalNameIndividual": {
      "id": "fullLegalNameIndividual",
      "name": "fullLegalName",
      "type": "text",
      "label": "Full Legal Name",
      "placeholder": "First Middle Last",
      "requiredIn": ["vip-limits-request", "merchant-access-request"],
      "visibleWhen": { "branch": "individual" },
      "cssClasses": ["mf-group"]
    },

    "countryOfResidenceIndividual": {
      "id": "countryOfResidenceIndividual",
      "name": "countryOfResidence",
      "type": "country",
      "label": "Country of Residence",
      "placeholder": "Start typing country name...",
      "requiredIn": ["vip-limits-request", "merchant-access-request"],
      "visibleWhen": { "branch": "individual" },
      "cssClasses": ["mf-group"]
    },

    "countryOfNationalityIndividual": {
      "id": "countryOfNationalityIndividual",
      "name": "countryOfNationality",
      "type": "country",
      "label": "Country of Nationality",
      "placeholder": "Start typing country name...",
      "requiredIn": ["vip-limits-request", "merchant-access-request"],
      "visibleWhen": { "branch": "individual" },
      "cssClasses": ["mf-group"]
    },

    "phoneIndividual": {
      "id": "phoneIndividual",
      "name": "phone",
      "type": "phone",
      "label": "Phone Number (Optional)",
      "placeholder": "(555) 123-4567",
      "requiredIn": [],
      "visibleWhen": { "branch": "individual" },
      "cssClasses": ["mf-group"]
    },

    "fullLegalBusinessName": {
      "id": "fullLegalBusinessName",
      "name": "fullLegalBusinessName",
      "type": "text",
      "label": "Full Legal Business Name",
      "placeholder": "Company Name Inc.",
      "requiredIn": ["vip-limits-request", "merchant-access-request"],
      "visibleWhen": { "branch": "enterprise" },
      "cssClasses": ["mf-group"]
    },

    "countryOfIncorporation": {
      "id": "countryOfIncorporation",
      "name": "countryOfIncorporation",
      "type": "country",
      "label": "Country of Incorporation",
      "placeholder": "Start typing country name...",
      "requiredIn": ["vip-limits-request", "merchant-access-request"],
      "visibleWhen": { "branch": "enterprise" },
      "cssClasses": ["mf-group"]
    },

    "authorizedSignerName": {
      "id": "authorizedSignerName",
      "name": "authorizedSignerName",
      "type": "text",
      "label": "Authorized Signer Name",
      "placeholder": "First Last",
      "requiredIn": ["vip-limits-request", "merchant-access-request"],
      "visibleWhen": { "branch": "enterprise" },
      "cssClasses": ["mf-group"]
    },

    "authorizedSignerResidence": {
      "id": "authorizedSignerResidence",
      "name": "authorizedSignerResidence",
      "type": "country",
      "label": "Authorized Signer Country of Residence",
      "placeholder": "Start typing country name...",
      "requiredIn": ["vip-limits-request", "merchant-access-request"],
      "visibleWhen": { "branch": "enterprise" },
      "cssClasses": ["mf-group"]
    },

    "authorizedSignerNationality": {
      "id": "authorizedSignerNationality",
      "name": "authorizedSignerNationality",
      "type": "country",
      "label": "Authorized Signer Country of Nationality",
      "placeholder": "Start typing country name...",
      "requiredIn": ["vip-limits-request", "merchant-access-request"],
      "visibleWhen": { "branch": "enterprise" },
      "cssClasses": ["mf-group"]
    },

    "authorizedSignerEmail": {
      "id": "authorizedSignerEmail",
      "name": "authorizedSignerEmail",
      "type": "email",
      "label": "Authorized Signer Email",
      "placeholder": "signer@company.com",
      "requiredIn": [],
      "visibleWhen": { "branch": "enterprise" },
      "cssClasses": ["mf-group"]
    },

    "phoneEnterprise": {
      "id": "phoneEnterprise",
      "name": "phone",
      "type": "phone",
      "label": "Business Phone Number (Optional)",
      "placeholder": "(555) 123-4567",
      "requiredIn": [],
      "visibleWhen": { "branch": "enterprise" },
      "cssClasses": ["mf-group"]
    },

    "sof_description": {
      "id": "sof_description",
      "type": "description",
      "content": {
        "individual": "Help us understand from what activities you receive your personal funds to be used in Moon payments",
        "enterprise": "Help us understand the sources of your business capital and revenue"
      }
    },

    "sof_salary": {
      "id": "sof_salary",
      "name": "sof_salary",
      "type": "currency",
      "label": "Salary/Employment Income",
      "placeholder": "$0",
      "requiredIn": [],
      "cssClasses": ["mf-group", "sof-individual"],
      "visibleWhen": { "branch": "individual" }
    },

    "sof_business": {
      "id": "sof_business",
      "name": "sof_business",
      "type": "currency",
      "label": "Business/Self-Employment Income",
      "placeholder": "$0",
      "requiredIn": [],
      "cssClasses": ["mf-group", "sof-individual"],
      "visibleWhen": { "branch": "individual" }
    },

    "sof_investment": {
      "id": "sof_investment",
      "name": "sof_investment",
      "type": "currency",
      "label": "Investment Income (dividends, interest, capital gains)",
      "placeholder": "$0",
      "requiredIn": [],
      "cssClasses": ["mf-group", "sof-individual"],
      "visibleWhen": { "branch": "individual" }
    },

    "sof_rental": {
      "id": "sof_rental",
      "name": "sof_rental",
      "type": "currency",
      "label": "Rental Property Income",
      "placeholder": "$0",
      "requiredIn": [],
      "cssClasses": ["mf-group", "sof-individual"],
      "visibleWhen": { "branch": "individual" }
    },

    "sof_retirement": {
      "id": "sof_retirement",
      "name": "sof_retirement",
      "type": "currency",
      "label": "Retirement Income (pension, 401k, IRA, Social Security)",
      "placeholder": "$0",
      "requiredIn": [],
      "cssClasses": ["mf-group", "sof-individual"],
      "visibleWhen": { "branch": "individual" }
    },

    "sof_inheritance": {
      "id": "sof_inheritance",
      "name": "sof_inheritance",
      "type": "currency",
      "label": "Inheritance or Gifts",
      "placeholder": "$0",
      "requiredIn": [],
      "cssClasses": ["mf-group", "sof-individual"],
      "visibleWhen": { "branch": "individual" }
    },

    "sof_assets": {
      "id": "sof_assets",
      "name": "sof_assets",
      "type": "currency",
      "label": "Sale of Assets",
      "placeholder": "$0",
      "requiredIn": [],
      "cssClasses": ["mf-group", "sof-individual"],
      "visibleWhen": { "branch": "individual" }
    },

    "sof_trust": {
      "id": "sof_trust",
      "name": "sof_trust",
      "type": "currency",
      "label": "Trust/Estate Distributions",
      "placeholder": "$0",
      "requiredIn": [],
      "cssClasses": ["mf-group", "sof-individual"],
      "visibleWhen": { "branch": "individual" }
    },

    "sof_investor_capital": {
      "id": "sof_investor_capital",
      "name": "sof_investor_capital",
      "type": "currency",
      "label": "Investor Capital Raised",
      "placeholder": "$0",
      "requiredIn": [],
      "cssClasses": ["mf-group", "sof-enterprise"],
      "visibleWhen": { "branch": "enterprise" }
    },

    "sof_founder_capital": {
      "id": "sof_founder_capital",
      "name": "sof_founder_capital",
      "type": "currency",
      "label": "Founder Contributed Capital (Bootstrapped)",
      "placeholder": "$0",
      "requiredIn": [],
      "cssClasses": ["mf-group", "sof-enterprise"],
      "visibleWhen": { "branch": "enterprise" }
    },

    "sof_business_revenue": {
      "id": "sof_business_revenue",
      "name": "sof_business_revenue",
      "type": "currency",
      "label": "Business Revenue",
      "placeholder": "$0",
      "requiredIn": [],
      "cssClasses": ["mf-group", "sof-enterprise"],
      "visibleWhen": { "branch": "enterprise" }
    },

    "sof_investment_ent": {
      "id": "sof_investment_ent",
      "name": "sof_investment_ent",
      "type": "currency",
      "label": "Investment Income (dividends, interest, capital gains)",
      "placeholder": "$0",
      "requiredIn": [],
      "cssClasses": ["mf-group", "sof-enterprise"],
      "visibleWhen": { "branch": "enterprise" }
    },

    "sof_other": {
      "id": "sof_other",
      "name": "sof_other",
      "type": "currency",
      "label": "Other sources",
      "placeholder": "$0",
      "requiredIn": [],
      "cssClasses": ["mf-group"]
    }
  },

  "componentTypes": {
    "currency": {
      "wrapperClass": "mf-curr",
      "prefix": "$",
      "formatOnBlur": true,
      "unformatOnSubmit": true
    },
    "country": {
      "component": "countryAutocomplete",
      "dataSource": "VALID_COUNTRIES_LIST",
      "maxResults": 10,
      "sortBy": "popularityRank",
      "inlineStyles": true
    },
    "phone": {
      "component": "phoneField",
      "countryCodePrefix": true,
      "format": "international"
    },
    "expandableCheckboxGroup": {
      "component": "expandableSection",
      "toggleFunction": "toggleSection",
      "expandIcon": "mf-icon",
      "contentClass": "mf-content"
    }
  },

  "validationFunctions": {
    "shouldShowSourceOfFunds": {
      "description": "Returns true if total monthly spend >= $10,000",
      "logic": "sum all spend fields from step3, compare to threshold"
    },
    "validateMerchantSelection": {
      "description": "Requires at least one merchant category selected",
      "logic": "check for any checked checkbox in merchant sections"
    },
    "validateVIPLimits": {
      "description": "Requires at least one limit field > 0",
      "logic": "check transaction, daily, monthly, balance limits"
    },
    "validateSOFTotal": {
      "description": "Requires total SOF > $0",
      "logic": "sum all SOF fields, must be greater than zero"
    }
  },

  "legacyParameterMapping": {
    "inquiry": {
      "vip-limits": "vip-limits-request",
      "unblock": "merchant-access-request",
      "service": "api-access-request",
      "vendor": "vendor-inquiry",
      "feature": "new-feature-request",
      "product": "new-feature-request",
      "partnership": "partnership-inquiry"
    },
    "inquiryType": {
      "vip-limits": "vip-limits-request",
      "unblock": "merchant-access-request",
      "service": "api-access-request",
      "vendor": "vendor-inquiry",
      "feature": "new-feature-request"
    }
  },

  "pathFlowMapping": {
    "/request-vip-limits": "vip-limits-request",
    "/request-merchant-access": "merchant-access-request",
    "/partner-inquiry": "api-access-request",
    "/partner-inquiry-risk-controls": "risk-controls-questionnaire",
    "/partner-inquiry-more-info": "more-info-questionnaire",
    "/request": "request-router"
  }
}
