{
  "proof": {
    "id": 37,
    "buyerLabel": "Сервисным компаниям — разработка календаря обслуживания",
    "deliverableTitle": "План выездов с основанием переноса",
    "deliverableDescription": "Исходная дата обязательства, новая дата, причина и правило следующего цикла.",
    "pilotInputs": [
      "Реестр объектов и регламентов",
      "История последних обслуживаний",
      "Правила переноса и назначения исполнителей"
    ],
    "pilotAcceptance": "Пилот различает календарный месяц и интервал дней; перенос сохраняет исходную дату.",
    "scenario": {
      "title": "Перенос не стирает обязательство",
      "before": "ОБ-037: обслуживание 15.10.2026; интервал именно 30 дней, срок 14.11.2026.",
      "conflict": "На 16.11 срок просрочен на 2 дня; доступ на объект закрыт.",
      "decision": "Назначить выезд 17.11 с причиной «нет доступа»; сохранить срок 14.11.",
      "after": "В плане видны просрочка и перенос; следующий срок согласуется по регламенту, а не автоматически."
    }
  },
  "version": "0.4",
  "status": "Проект для согласования",
  "solutionId": 37,
  "slug": "recurring-service",
  "title": "Календарь регулярного обслуживания",
  "goal": "Планируйте повторные выезды по регламентам объектов",
  "buyer": "Руководитель обслуживания климатической техники или бассейнов",
  "system": "Сервисный учёт / диспетчерская",
  "reviewer": "Диспетчер и инженер",
  "entities": "Объект, оборудование, заявка",
  "phases": [
    {
      "title": "Разобрать ваш процесс",
      "description": "Клиент напоминает о плановом обслуживании раньше, чем его вспоминает диспетчер.",
      "work": "Сверяем исходные примеры, роли и исключения. Фиксируем один сценарий пилота.",
      "result": "Схема процесса и согласованный состав первой версии."
    },
    {
      "title": "Собрать рабочий прототип",
      "description": "План обслуживания на период",
      "work": "Показываем интерфейс и правила на согласованной выборке. Проверяем неоднозначные случаи с вашей командой.",
      "result": "Задания с составом работ"
    },
    {
      "title": "Подключить данные",
      "description": "Реестр объектов и оборудования",
      "work": "Сначала проверяем доступные выгрузки и интерфейсы. Если обмен возможен, согласуем поля, направления и права записи.",
      "result": "Подтверждённый способ обмена либо согласованный импорт. Если интерфейса нет — зафиксированное ограничение и решение о следующем шаге."
    },
    {
      "title": "Проверить в работе",
      "description": "Перенос не меняет правило периодичности незаметно",
      "work": "Проводим контрольные сценарии, обучаем ответственных, передаём документацию и порядок восстановления.",
      "result": "Список переносов и предстоящих продлений"
    }
  ],
  "mapping": [
    {
      "field": "Последнее обслуживание",
      "type": "date",
      "unit": "",
      "example": "2026-10-15",
      "rule": "Правило и обязательность подтверждаются на ваших исходниках."
    },
    {
      "field": "Учебный интервал",
      "type": "number",
      "unit": "дней",
      "example": "30",
      "rule": "Правило и обязательность подтверждаются на ваших исходниках."
    },
    {
      "field": "Дата проверки",
      "type": "date",
      "unit": "",
      "example": "2026-11-16",
      "rule": "Правило и обязательность подтверждаются на ваших исходниках."
    }
  ],
  "flow": [
    {
      "label": "Ваши исходники",
      "text": "Реестр объектов и оборудования"
    },
    {
      "label": "Правила и интерфейс",
      "text": "Календарь и задания"
    },
    {
      "label": "Проверка сотрудником",
      "text": "Диспетчер и инженер"
    },
    {
      "label": "Результат в работе",
      "text": "Список переносов и предстоящих продлений"
    }
  ],
  "scope": [
    "План обслуживания на период",
    "Задания с составом работ",
    "Список переносов и предстоящих продлений"
  ],
  "inputs": [
    "Реестр объектов и оборудования",
    "Периодичность и состав обслуживания",
    "Договорные периоды и контактные лица"
  ],
  "acceptance": [
    "Перенос не меняет правило периодичности незаметно",
    "Закрытая работа связана со следующим обслуживанием",
    "Истёкший договор явно отмечен в плане"
  ],
  "boundary": "Пилот для выбранного набора объектов. Даты задаются по согласованным правилам; самостоятельное изменение технических регламентов не выполняется.",
  "budgets": [
    [
      50,
      100
    ],
    [
      160,
      350
    ],
    [
      350,
      700
    ]
  ],
  "group": "process",
  "openQuestions": [
    "Сколько объектов обслуживаете?",
    "Как задаётся периодичность работ?",
    "Какие системы, версии и способы выгрузки используются сейчас?",
    "Кто подтверждает результат и кому разрешено менять правила?"
  ],
  "failureCases": [
    "Неполные или некорректные вводные: показать конкретные поля, не выдавать успешный результат.",
    "Неоднозначное соответствие или редакция: передать ответственному на проверку.",
    "Повторная отправка: исключить повторное создание по согласованному идентификатору.",
    "Недоступный внешний источник: сохранить состояние, показать ошибку и согласованный повтор.",
    "Изменение подтверждённых вводных: новая редакция и повторное подтверждение."
  ],
  "rights": [
    "Просмотр — только разрешённые записи и результаты.",
    "Исполнение — ввод и исправление в пределах назначенных задач.",
    "Согласование — подтверждение результата и возврат с причиной.",
    "Администрирование — пользователи, справочники и версии правил."
  ],
  "custom": "Возможна разработка отдельного решения под уникальный процесс, собственные правила, интерфейсы и инфраструктуру компании."
}