{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "maxLength": 7,
      "description": "Channel name (max 7 characters)"
    },
    "receiveFrequency": {
      "type": "number",
      "minimum": 136000000,
      "maximum": 174000000,
      "description": "Receive frequency in Hz"
    },
    "transmitFrequency": {
      "type": "number",
      "minimum": 136000000,
      "maximum": 174000000,
      "description": "Transmit frequency in Hz"
    },
    "receiveTone": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "enum": ["CTCSS", "DCS", "NONE"],
          "description": "Tone type"
        },
        "tone": {
          "oneOf": [
            {
              "type": "number",
              "minimum": 67.0,
              "maximum": 254.1,
              "description": "CTCSS frequency in Hz"
            },
            {
              "type": "string",
              "pattern": "^D[0-9]{3}[N|I]$",
              "description": "DCS code (e.g., D023N, D023I)"
            }
          ]
        }
      },
      "required": ["type"],
      "additionalProperties": false
    },
    "transmitTone": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "enum": ["CTCSS", "DCS", "NONE"],
          "description": "Tone type"
        },
        "tone": {
          "oneOf": [
            {
              "type": "number",
              "minimum": 67.0,
              "maximum": 254.1,
              "description": "CTCSS frequency in Hz"
            },
            {
              "type": "string",
              "pattern": "^D[0-9]{3}[N|I]$",
              "description": "DCS code (e.g., D023N, D023I)"
            }
          ]
        }
      },
      "required": ["type"],
      "additionalProperties": false
    }
  },
  "required": ["receiveFrequency", "transmitFrequency"],
  "additionalProperties": false
} 