{
  "schemaVersion": "1.0",
  "FirmRenewalResponse": {
    "type": "object",
    "properties": {
      "firmBillingCode": {
        "type": "string",
        "maxLength": 20,
        "description": "Internal billing code used by the firm for tracking and accounting"
      },
      "individuals": {
        "type": "array",
        "items": {
          "$ref": "#/FirmRenewalIndividual"
        }
      }
    },
    "title": "FirmRenewalResponse",
    "additionalProperties": false
  },
  "FirmRenewalIndividual": {
    "type": "object",
    "properties": {
      "firstName": {
        "type": "string",
        "maxLength": 50,
        "description": "First name of the registered individual"
      },
      "middleName": {
        "type": ["string", "null"],
        "maxLength": 50,
        "description": "Middle name or middle initial of the registered individual"
      },
      "lastName": {
        "type": "string",
        "maxLength": 50,
        "description": "Last name of the registered individual"
      },
      "suffixName": {
        "type": ["string", "null"],
        "maxLength": 10,
        "description": "Name suffix (Jr., Sr., III, etc.)"
      },
      "individualCRD": {
        "type": "string",
        "description": "Central Registration Depository number assigned to the registered individual"
      },
      "renewals": {
        "type": "array",
        "items": {
          "$ref": "#/RenewalItem"
        }
      }
    },
    "required": ["firstName", "lastName", "individualCRD", "renewals"],
    "additionalProperties": false
  },
  "RenewalItem": {
    "type": "object",
    "properties": {
      "regulator": {
        "type": "string",
        "maxLength": 100,
        "description": "Name of the regulatory body or jurisdiction"
      },
      "renewalStatus": {
        "type": "string",
        "maxLength": 20,
        "description": "Current status of the renewal (Renewed, Renewed Not Collected, Not Renewed)"
      },
      "jurisdictionPosition": {
        "type": ["string", "null"],
        "maxLength": 20,
        "description": "Registration type held in the jurisdiction (AG, RA, AG,RA)"
      },
      "regulatorRenewalFee": {
        "type": ["number", "null"],
        "description": "Base renewal fee charged by the regulator"
      },
      "jurisdictionRARenewalFee": {
        "type": ["number", "null"],
        "description": "Registration Agent renewal fee for the specific jurisdiction"
      },
      "jurisdictionRADiscountFee": {
        "type": ["number", "null"],
        "description": "Discounted RA fee amount for the jurisdiction"
      },
      "finraSystemProcessingFee": {
        "type": ["number", "null"],
        "description": "FINRA system processing fee for the renewal"
      },
      "raSystemProcessingFee": {
        "type": ["number", "null"],
        "description": "Registration Agent system processing fee"
      },
      "firmRASoleProprietorWaiverFeeGranted": {
        "type": ["string", "null"],
        "description": "Indicates if firm received sole proprietor waiver for RA fees (Yes/No)"
      },
      "individualRASoleProprietorFeeWaiverGranted": {
        "type": ["string", "null"],
        "description": "Indicates if individual received sole proprietor waiver for RA fees (Yes/No)"
      },
      "sdTier1Fee": {
        "type": ["number", "null"],
        "description": "Security Deposit Tier 1 fee amount"
      },
      "sdTier2Fee": {
        "type": ["number", "null"],
        "description": "Security Deposit Tier 2 fee amount"
      },
      "regulatorCount": {
        "type": ["integer", "null"],
        "description": "Count of regulators associated with this renewal record"
      }
    },
    "required": ["regulator", "renewalStatus"],
    "additionalProperties": false
  }
}
