{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://ordinis.nstart.cloud/schemas/cuod/mission/1.0.0",
  "title": "Mission (программа / семейство КА)",
  "description": "Программа ДЗЗ — например Ресурс, Канопус, Sentinel. Группирует семейство spacecraft, общие цели и задачи.",
  "type": "object",
  "required": ["code", "name", "status"],
  "additionalProperties": false,
  "x-id-source": "code",
  "properties": {
    "code": {
      "type": "string",
      "description": "Код программы. UPPER_SNAKE_CASE.",
      "pattern": "^[A-Z][A-Z0-9_]{1,63}$",
      "x-unique": true
    },
    "name": {
      "type": "object",
      "x-localized": true,
      "description": "Краткое наименование программы для UI",
      "patternProperties": {
        "^[a-z]{2}-[A-Z]{2}$": { "type": "string", "minLength": 1 }
      },
      "required": ["ru-RU"]
    },
    "description": {
      "type": "object",
      "x-localized": true,
      "description": "Развёрнутое описание программы",
      "patternProperties": {
        "^[a-z]{2}-[A-Z]{2}$": { "type": "string" }
      }
    },
    "spacecraft_codes": {
      "type": "array",
      "description": "businessKey'и из spacecraft, входящих в эту программу",
      "items": { "type": "string" },
      "uniqueItems": true
    },
    "operator": {
      "type": "object",
      "x-localized": true,
      "description": "Оператор программы",
      "patternProperties": {
        "^[a-z]{2}-[A-Z]{2}$": { "type": "string" }
      }
    },
    "country": {
      "type": "string",
      "description": "ISO 3166-1 alpha-2 код страны",
      "pattern": "^[A-Z]{2}$"
    },
    "status": {
      "type": "string",
      "enum": ["active", "archived", "planned"]
    }
  }
}
