{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://ordinis.nstart.cloud/schemas/cuod/satellite_type/1.0.0",
  "title": "Satellite Type",
  "description": "Тип КА — классификация по миссии и массовому классу. Используется как FK в spacecraft.satellite_type_code.",
  "type": "object",
  "required": ["code", "name", "mission_category"],
  "additionalProperties": false,
  "properties": {
    "code": {
      "type": "string",
      "description": "Уникальный код типа",
      "pattern": "^[A-Z][A-Z0-9_]{1,31}$"
    },
    "name": {
      "type": "object",
      "x-localized": true,
      "patternProperties": {
        "^[a-z]{2}-[A-Z]{2}$": { "type": "string", "minLength": 1 }
      },
      "required": ["ru-RU"]
    },
    "description": {
      "type": "object",
      "x-localized": true,
      "patternProperties": {
        "^[a-z]{2}-[A-Z]{2}$": { "type": "string" }
      }
    },
    "mission_category": {
      "type": "string",
      "enum": [
        "OPTICAL_HIRES",
        "OPTICAL_MIDRES",
        "OPTICAL_LOWRES",
        "RADAR_SAR",
        "HYPERSPECTRAL",
        "THERMAL",
        "METEO",
        "ATMOSPHERIC",
        "OCEAN",
        "GEODESY"
      ]
    },
    "mass_class": {
      "type": "string",
      "description": "Массовый класс (по конвенциям ESA/NASA)",
      "enum": ["FEMTO", "PICO", "NANO", "MICRO", "MINI", "SMALL", "MEDIUM", "LARGE"]
    },
    "typical_orbit_classes": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": ["LEO", "MEO", "GEO", "HEO", "SSO"]
      },
      "uniqueItems": true
    },
    "typical_resolution_m": {
      "type": "number",
      "description": "Типичное пространственное разрешение, м",
      "minimum": 0
    },
    "typical_revisit_hours": {
      "type": "number",
      "description": "Типичный период повторного покрытия, часов",
      "minimum": 0
    }
  }
}
