{
  "proof": {
    "id": 100,
    "buyerLabel": "Разработка для питомников и тепличных хозяйств",
    "deliverableTitle": "Предзаказы по партиям и срокам готовности",
    "deliverableDescription": "Доступное количество и готовность партии проверяются отдельно; перенос затрагивает связанные запросы.",
    "pilotInputs": [
      "Каталог одной группы с сортами и размерами",
      "Партии, остатки, резервы и плановая готовность",
      "Правила подтверждения и переноса предзаказов"
    ],
    "pilotAcceptance": "При переносе готовности видны затронутые запросы; изменение количества не создаёт реальный резерв.",
    "scenario": {
      "title": "Количество есть, партия не готова к дате",
      "before": "РАСТ-100: 120 шт., резерв 35, доступно 85; учебная новая заявка З-80 на 80 шт. к 01.11.",
      "conflict": "По количеству остаётся 5 шт., но готовность партии перенесена с 30.10 на 07.11.",
      "decision": "Отметить З-80 как затронутую и запросить у покупателя согласие на 07.11 без автоматического подтверждения.",
      "after": "З-80: «Ожидает решения по дате»; доступно 85, реальный новый резерв не создан, арифметический остаток после возможных 80 — 5."
    }
  },
  "version": "0.4",
  "status": "Проект для согласования",
  "solutionId": 100,
  "slug": "nursery-preorders",
  "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": "number",
      "unit": "шт.",
      "example": "120",
      "rule": "Правило и обязательность подтверждаются на ваших исходниках."
    },
    {
      "field": "Подтверждённый резерв",
      "type": "number",
      "unit": "шт.",
      "example": "35",
      "rule": "Правило и обязательность подтверждаются на ваших исходниках."
    },
    {
      "field": "Новая заявка",
      "type": "number",
      "unit": "шт.",
      "example": "90",
      "rule": "Правило и обязательность подтверждаются на ваших исходниках."
    }
  ],
  "flow": [
    {
      "label": "Ваши исходники",
      "text": "Сорта и размеры"
    },
    {
      "label": "Правила и интерфейс",
      "text": "Сроки готовности и резерв"
    },
    {
      "label": "Проверка сотрудником",
      "text": "Ответственный за объект и проверяющий"
    },
    {
      "label": "Результат в работе",
      "text": "План отгрузки"
    }
  ],
  "scope": [
    "Сезонный каталог",
    "Учёт резервов",
    "План отгрузки"
  ],
  "inputs": [
    "Сорта и размеры",
    "Партии и количества",
    "Условия резерва и доставки"
  ],
  "acceptance": [
    "Резерв уменьшает доступное количество",
    "Неподтверждённая заявка отделена от заказа",
    "Перенос готовности показывает затронутые резервы"
  ],
  "boundary": "Срок готовности является планом хозяйства; фитосанитарные документы и оплата согласуются отдельно.",
  "budgets": [
    [
      35,
      70
    ],
    [
      100,
      220
    ],
    [
      220,
      450
    ]
  ],
  "group": "web",
  "openQuestions": [
    "Как подтверждается резерв покупателя?",
    "Где учитываются количество и готовность партии?",
    "Какие системы, версии и способы выгрузки используются сейчас?",
    "Кто подтверждает результат и кому разрешено менять правила?"
  ],
  "failureCases": [
    "Неполные или некорректные вводные: показать конкретные поля, не выдавать успешный результат.",
    "Неоднозначное соответствие или редакция: передать ответственному на проверку.",
    "Повторная отправка: исключить повторное создание по согласованному идентификатору.",
    "Недоступный внешний источник: сохранить состояние, показать ошибку и согласованный повтор.",
    "Изменение подтверждённых вводных: новая редакция и повторное подтверждение."
  ],
  "rights": [
    "Просмотр — только разрешённые записи и результаты.",
    "Исполнение — ввод и исправление в пределах назначенных задач.",
    "Согласование — подтверждение результата и возврат с причиной.",
    "Администрирование — пользователи, справочники и версии правил."
  ],
  "custom": "Возможна разработка отдельного решения под уникальный процесс, собственные правила, интерфейсы и инфраструктуру компании."
}