{
  "proof": {
    "id": 6,
    "buyerLabel": "Разработка для бизнеса: гостевым домам, базам отдыха и небольшим отелям",
    "deliverableTitle": "Запрос размещения с проверкой вместимости",
    "deliverableDescription": "Гости, вместимость и запрос администратору без ложного подтверждения брони.",
    "pilotInputs": [
      "Карточки двух типов размещения",
      "Правила вместимости и детей",
      "Порядок подтверждения администратором"
    ],
    "pilotAcceptance": "Дефицит мест не выдаётся за подтверждённую бронь.",
    "scenario": {
      "title": "Пятерым гостям не хватает одного места",
      "before": "БР-014: 5 гостей, доступны два номера по 2 места.",
      "conflict": "Всего 4 места; для пятого гостя размещение не найдено.",
      "decision": "Передать администратору запрос альтернативы без автоматического подтверждения.",
      "after": "БР-014: требуется ещё 1 место; заявка ожидает предложения, бронь не создана."
    }
  },
  "version": "0.4",
  "status": "Проект для согласования",
  "solutionId": 6,
  "slug": "direct-booking",
  "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": "2",
      "rule": "Правило и обязательность подтверждаются на ваших исходниках."
    },
    {
      "field": "Мест в одном номере",
      "type": "number",
      "unit": "места",
      "example": "2",
      "rule": "Правило и обязательность подтверждаются на ваших исходниках."
    },
    {
      "field": "Гостей в запросе",
      "type": "number",
      "unit": "чел.",
      "example": "5",
      "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": "Возможна разработка отдельного решения под уникальный процесс, собственные правила, интерфейсы и инфраструктуру компании."
}