{
  "schema_version": 1,
  "call": {
    "id": "0d7a9976-2cf8-49b7-ada1-4314397fbf02",
    "created_at": "2026-06-28T13:37:06",
    "original_filename": "comagic_c3ff7f9ec92e57fab6c8e5e4850049c9",
    "audio_path": null,
    "audio_size_bytes": null,
    "duration_seconds": 282.528,
    "debtor_hash": null,
    "debtor_timezone": "Europe/Moscow",
    "stage": "Квалифицирован",
    "bucket": null,
    "product": "Нейросети на практике",
    "deal_id": "46302134",
    "crm_source": "uis",
    "utm_source": "ris",
    "utm_medium": "exchange",
    "utm_campaign": "AllCat_Mk_OZ42_flocktory_ai",
    "lead_category": "BBB",
    "transcript_status": "done",
    "analytics_status": "done",
    "last_error": null,
    "prompt_version": "eduson-v5.10",
    "processed_at": "2026-06-28T22:26:17.882450"
  },
  "operator": {
    "id": "46df1201-e763-4f64-8637-926a5e0cf0c8",
    "full_name": "Михайлова Карина",
    "employee_code": "михайлова_карина",
    "department": "sales"
  },
  "transcript": {
    "provider": "okk_dialog_runpod",
    "model": "bzikst/faster-whisper-large-v3-russian",
    "language": "ru",
    "raw_text": "КЛИЕНТ: Добрый день, слушаю вас.\nМЕНЕДЖЕР: Ирина, здравствуй, кстати, меня зовут (КЛИЕНТ: Здравствуйте.) Дарья, я из Eduson звоню по поводу обучения. Вы у нас скидку активировали, восемьдесят одну тысячу на курсы по нейросетям.\nМЕНЕДЖЕР: Верта?\nКЛИЕНТ: Да, было вчера. (МЕНЕДЖЕР: Ага,)\nКЛИЕНТ: Только (МЕНЕДЖЕР: звоню,) я (МЕНЕДЖЕР: чтобы) не (МЕНЕДЖЕР: сдать.) понимаю, (МЕНЕДЖЕР: Да.) что там не было никакой информации в итоге, что же я вас активировала, поэтому хотелось бы как -то понять. Ха -ха (МЕНЕДЖЕР: Да,) -ха!\nМЕНЕДЖЕР: как раз для этого и звоню. Кратко определимся с вами, есть ли у нас подходящая для вас программа. И две следа запиши на детальную консультацию, коллега рассказывает о нюансах программы, стоимости, длительности, нюансах оформления, чтобы вы с полной информацией могли уже принимать взвешенные решения. А в целом, почему заинтересовались обучением и нейросетями?\nКЛИЕНТ: Секундочку, кстати, а (МЕНЕДЖЕР: Поставьте) где тут столб? (МЕНЕДЖЕР: лайки) Угу, да, слушаю.\nМЕНЕДЖЕР: Да, а почему заинтересовались обучением и нейросетями?\nКЛИЕНТ: как бы жизнь такая, что, возможно, мне что -то Кто -то поможет в этой жизни,\nКЛИЕНТ: я сейчас пользуюсь GPT -чатом иногда для составления текстов, для изменения фотографий под свои нужды, да, я риелтор.\nМЕНЕДЖЕР: Реально, да, вот интересно. интересно.\nКЛИЕНТ: Вот и И, соответственно, ну, это я делаю по наитию, что называется, так, поигралась по наитию, что ты сделала, ну, вот мне, конечно, интересно, что я могу, мне интересно, чем мне может помочь, с видео, например, с обработкой, а может, ну, вообще интересно, что я могу с этим сделать И как я могу это в этой жизни использовать? Ну, с этой точки зрения я заинтересовалась этим предложением, только я просто не поняла, что это за предложение. Там ничего не волнотесно.\nМЕНЕДЖЕР: ну, в рекламе обычно баннеры достаточно краткие, не (КЛИЕНТ: Да,) слишком (КЛИЕНТ: давайте) информативные.\nКЛИЕНТ: [наложение] просто поподробнее.\nМЕНЕДЖЕР: Для этого, да, мы перезваниваем, чтобы уже подробнее (КЛИЕНТ: Угу.) рассказать. Но смотрите, из того, что вы сказали, вам подойдут несколько наших вариантов.\nМЕНЕДЖЕР: Это и не расчеты для обработки изображений и видео, и не расчеты на практике, такой более общий курс. Как я и говорила, коллега вам подробнее об этом всем расскажет, и уже окончательно сможете определиться с программой. (КЛИЕНТ: Да,) В целом (КЛИЕНТ: и) (КЛИЕНТ: мне) же, (КЛИЕНТ: надо…) если как… (КЛИЕНТ: Мне) (КЛИЕНТ: интересно,) Да,\nКЛИЕНТ: [наложение] что за скидка или что это у меня появилось.\nМЕНЕДЖЕР: скидка может длиться одна тысяча, то есть, соответственно, вы приобретете курс дешевле по его стоимости, а, соответственно, по выгодной для вас цене. Кроме (КЛИЕНТ: Восемьдесят) того, у нас сейчас (КЛИЕНТ: одна) действует…\nКЛИЕНТ: [наложение] тысяча, интересно же,\nМЕНЕДЖЕР: [наложение] Да,\nКЛИЕНТ: [наложение] сколько это стоит в конкурсе.\nМЕНЕДЖЕР: [наложение] стоимость итогового Курсы будут зависеть от того, какой вариант вы программы выберете. Как уже упомянуло, у нас есть несколько, причем несколько, которые именно вам подойдут для вашей работы.\nМЕНЕДЖЕР: В целом, про обучение. То обучайтесь у нас в свободном темпе, без привязки к распределению, что позволяет заниматься тогда, когда удобно вам.\nМЕНЕДЖЕР: Доступ к материалам курса в личном кабинете.\nМЕНЕДЖЕР: Подписывайтесь на наш Занимайтесь, разбирайте как теорию, так и практику. Если в ходе обучения возникают вопросы, на них на всех отвечает профильный, прошу прощения, личный куратор. А вот уже на деталях обучения сориентируется профильный специалист, который хотел спросить, поскольку будет удобно с ним сегодня пообщаться. До девятнадцати мы с тобой работаем.\nКЛИЕНТ: я тебя слушаю. что он что -то… Предложения -то какие! Хотелось бы услышать и понимать. — Конечно.\nМЕНЕДЖЕР: Профильным специалистам предлагаю пообщаться. Он (КЛИЕНТ: Ну,) рассказывает о (КЛИЕНТ: давайте,) всех вариантах (КЛИЕНТ: давайте) программы, которые вам (КЛИЕНТ: уже) подойдут. (КЛИЕНТ: пообщаемся.) Как раз уточнила, во сколько будет удобно с ним пообщаться.\nКЛИЕНТ: Насколько -то я свободна сегодня. Вот в секрете я свободна пока, потому что потом, может, я уеду. — (МЕНЕДЖЕР: Угу,) Можно (МЕНЕДЖЕР: ближайшее) завтра (МЕНЕДЖЕР: окошко) (МЕНЕДЖЕР: где) пообщаться,\nМЕНЕДЖЕР: [наложение] -то через час.\nКЛИЕНТ: [наложение] можно сегодня, можно завтра. не суть важна? Я…\nМЕНЕДЖЕР: вам удобнее, здесь мы основываемся на том, чтобы вы могли пообщаться, послушать, изучить информацию, задать вопросы.\nКЛИЕНТ: [наложение] травмировала ногу, теперь я дома, теперь есть возможность прочитать и поучить.\nМЕНЕДЖЕР: Поняла. Есть свободное время. Ну, вот ближайшее окошко где -то с четырнадцати тридцати до пятнадцати. (КЛИЕНТ: Отлично.)\nМЕНЕДЖЕР: Хорошо. Отлично. Тогда именно в это время свяжутся с профильными (КЛИЕНТ: Давай.) специалистами, (КЛИЕНТ: Угу.) подробно расскажут о ждать звонка.\nКЛИЕНТ: Спасибо.\nМЕНЕДЖЕР: До свидания.\n",
    "redacted_text": "КЛИЕНТ: Добрый день, слушаю вас.\nМЕНЕДЖЕР: [ФИО], здравствуй, кстати, меня зовут (КЛИЕНТ: Здравствуйте.) [ФИО], я из Eduson звоню по поводу обучения. Вы у нас скидку активировали, восемьдесят одну тысячу на курсы по нейросетям.\nМЕНЕДЖЕР: [ФИО]?\nКЛИЕНТ: Да, было вчера. (МЕНЕДЖЕР: Ага,)\nКЛИЕНТ: Только (МЕНЕДЖЕР: звоню,) я (МЕНЕДЖЕР: чтобы) не (МЕНЕДЖЕР: сдать.) понимаю, (МЕНЕДЖЕР: Да.) что там не было никакой информации в итоге, что же я вас активировала, поэтому хотелось бы как -то понять. Ха -ха (МЕНЕДЖЕР: Да,) -ха!\nМЕНЕДЖЕР: как раз для этого и звоню. Кратко определимся с вами, есть ли у нас подходящая для вас программа. И две следа запиши на детальную консультацию, коллега рассказывает о нюансах программы, стоимости, длительности, нюансах оформления, чтобы вы с полной информацией могли уже принимать взвешенные решения. А в целом, почему заинтересовались обучением и нейросетями?\nКЛИЕНТ: Секундочку, кстати, а (МЕНЕДЖЕР: Поставьте) где тут столб? (МЕНЕДЖЕР: лайки) [ФИО], да, слушаю.\nМЕНЕДЖЕР: Да, а почему заинтересовались обучением и нейросетями?\nКЛИЕНТ: как бы жизнь такая, что, возможно, мне что -то Кто -то поможет в этой жизни,\nКЛИЕНТ: я сейчас пользуюсь GPT -чатом иногда для составления текстов, для изменения фотографий под свои нужды, да, я риелтор.\nМЕНЕДЖЕР: Реально, да, вот интересно. интересно.\nКЛИЕНТ: Вот и И, соответственно, ну, это я делаю по наитию, что называется, так, поигралась по наитию, что ты сделала, ну, вот мне, конечно, интересно, что я могу, мне интересно, чем мне может помочь, с видео, например, с обработкой, а может, ну, вообще интересно, что я могу с этим сделать И как я могу это в этой жизни использовать? Ну, с этой точки зрения я заинтересовалась этим предложением, только я просто не поняла, что это за предложение. Там ничего не волнотесно.\nМЕНЕДЖЕР: ну, в рекламе обычно баннеры достаточно краткие, не (КЛИЕНТ: Да,) слишком (КЛИЕНТ: давайте) информативные.\nКЛИЕНТ: [наложение] просто поподробнее.\nМЕНЕДЖЕР: Для этого, да, мы перезваниваем, чтобы уже подробнее (КЛИЕНТ: Угу.) рассказать. Но смотрите, из того, что вы сказали, вам подойдут несколько наших вариантов.\nМЕНЕДЖЕР: Это и не расчеты для обработки изображений и видео, и не расчеты на практике, такой более общий курс. Как я и говорила, к[ФИО] вам подробнее об этом всем расскажет, и уже окончательно сможете определиться с программой. (КЛИЕНТ: Да,) В целом (КЛИЕНТ: и) (КЛИЕНТ: мне) же, (КЛИЕНТ: надо…) если как… (КЛИЕНТ: Мне) (КЛИЕНТ: интересно,) Да,\nКЛИЕНТ: [наложение] что за скидка или что это у меня появилось.\nМЕНЕДЖЕР: скидка может длиться одна тысяча, то есть, соответственно, вы приобретете курс дешевле по его стоимости, а, соответственно, по выгодной для вас цене. Кроме (КЛИЕНТ: Восемьдесят) того, у нас сейчас (КЛИЕНТ: одна) действует…\nКЛИЕНТ: [наложение] тысяча, интересно же,\nМЕНЕДЖЕР: [наложение] Да,\nКЛИЕНТ: [наложение] сколько это стоит в конкурсе.\nМЕНЕДЖЕР: [наложение] стоимость итогового Курсы будут зависеть от того, какой вариант вы программы выберете. Как уже упомянуло, у нас есть несколько, причем несколько, которые именно вам подойдут для вашей работы.\nМЕНЕДЖЕР: В целом, про обучение. То обучайтесь у нас в свободном темпе, без привязки к распределению, что позволяет заниматься тогда, когда удобно вам.\nМЕНЕДЖЕР: Доступ к материалам курса в личном кабинете.\nМЕНЕДЖЕР: Подписывайтесь на наш [ФИО], разбирайте как теорию, так и практику. Если в ходе обучения возникают вопросы, на них на всех отвечает профильный, прошу прощения, личный куратор. А вот уже на деталях обучения сориентируется профильный специалист, который хотел спросить, поскольку будет удобно с ним сегодня пообщаться. До девятнадцати мы с тобой работаем.\nКЛИЕНТ: я тебя слушаю. что он что -то… Предложения -то какие! Хотелось бы услышать и понимать. — Конечно.\nМЕНЕДЖЕР: Профильным специалистам предлагаю пообщаться. Он (КЛИЕНТ: Ну,) рассказывает о (КЛИЕНТ: давайте,) всех вариантах (КЛИЕНТ: давайте) программы, которые вам (КЛИЕНТ: уже) подойдут. (КЛИЕНТ: пообщаемся.) Как раз уточнила, во сколько будет удобно с ним пообщаться.\nКЛИЕНТ: Насколько -то я свободна сегодня. Вот в секрете я свободна пока, потому что потом, может, я уеду. — (МЕНЕДЖЕР: [ФИО],) Можно (МЕНЕДЖЕР: ближайшее) завтра (МЕНЕДЖЕР: окошко) (МЕНЕДЖЕР: где) пообщаться,\nМЕНЕДЖЕР: [наложение] -то через час.\nКЛИЕНТ: [наложение] можно сегодня, можно завтра. не суть важна? Я…\nМЕНЕДЖЕР: вам удобнее, здесь мы основываемся на том, чтобы вы могли пообщаться, послушать, изучить информацию, задать вопросы.\nКЛИЕНТ: [наложение] травмировала ногу, теперь я [адрес], теперь есть возможность прочитать и поучить.\nМЕНЕДЖЕР: Поняла. Есть свободное время. Ну, вот ближайшее окошко где -то с четырнадцати тридцати до пятнадцати. (КЛИЕНТ: Отлично.)\nМЕНЕДЖЕР: Хорошо. Отлично. Тогда именно в это время свяжутся с профильными (КЛИЕНТ: Давай.) специалистами, (КЛИЕНТ: Угу.) подробно расскажут о ждать звонка.\nКЛИЕНТ: Спасибо.\nМЕНЕДЖЕР: До свидания.\n",
    "segments": [
      {
        "start": 0.0,
        "end": 1.36,
        "text": "Добрый день, слушаю вас.",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 1.24,
        "end": 9.3,
        "text": "[ФИО], здравствуй, кстати, меня зовут [ФИО], я из Eduson звоню по поводу обучения. Вы у нас скидку активировали, восемьдесят одну тысячу на курсы по нейросетям.",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 10.38,
        "end": 10.86,
        "text": "Верта?",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 11.8,
        "end": 13.76,
        "text": "Да, было вчера.",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 14.7,
        "end": 24.12,
        "text": "Только я не понимаю, что там не было никакой информации в итоге, что же я вас активировала, поэтому хотелось бы как -то понять. [ФИО] -ха -ха!",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 24.52,
        "end": 44.58,
        "text": "как раз для этого и звоню. Кратко определимся с вами, есть ли у нас подходящая для вас программа. И две следа запиши на детальную консультацию, коллега рассказывает о нюансах программы, стоимости, длительности, нюансах оформления, чтобы вы с полной информацией могли уже принимать взвешенные решения. А в целом, почему заинтересовались обучением и нейросетями?",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 44.7,
        "end": 48.36,
        "text": "Секундочку, кстати, а где тут столб? [ФИО], да, слушаю.",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 49.54,
        "end": 52.68,
        "text": "Да, а почему заинтересовались обучением и нейросетями?",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 56.13,
        "end": 62.92,
        "text": "как бы жизнь такая, что, возможно, мне что -то Кто -то поможет в этой жизни,",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 63.9,
        "end": 80.08,
        "text": "я сейчас пользуюсь GPT -чатом иногда для составления текстов, для изменения фотографий под свои нужды, да, я риелтор.",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 81.6,
        "end": 83.42,
        "text": "Реально, да, вот интересно. интересно.",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 84.25,
        "end": 119.56,
        "text": "Вот и И, соответственно, ну, это я делаю по наитию, что называется, так, поигралась по наитию, что ты сделала, ну, вот мне, конечно, интересно, что я могу, мне интересно, чем мне может помочь, с видео, например, с обработкой, а может, ну, вообще интересно, что я могу с этим сделать И как я могу это в этой жизни использовать? Ну, с этой точки зрения я заинтересовалась этим предложением, только я просто не поняла, что это за предложение. Там ничего не волнотесно.",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 121.74,
        "end": 127.68,
        "text": "ну, в рекламе обычно баннеры достаточно краткие, не слишком информативные.",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 126.8,
        "end": 128.04,
        "text": "просто поподробнее.",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 127.74,
        "end": 135.3,
        "text": "Для этого, да, мы перезваниваем, чтобы уже подробнее рассказать. Но смотрите, из того, что вы сказали, вам подойдут несколько наших вариантов.",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 136.2,
        "end": 157.34,
        "text": "Это и не расчеты для обработки изображений и видео, и не расчеты на практике, такой более общий курс. Как я и говорила, коллега вам подробнее об этом всем расскажет, и уже окончательно сможете определиться с программой. В целом же, если как… Да,",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 153.18,
        "end": 158.32,
        "text": "что за скидка или что это у меня появилось.",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 157.72,
        "end": 168.66,
        "text": "скидка может длиться одна тысяча, то есть, соответственно, вы приобретете курс дешевле по его стоимости, а, соответственно, по выгодной для вас цене. Кроме того, у нас сейчас действует…",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 167.76,
        "end": 168.84,
        "text": "тысяча, интересно же,",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 168.66,
        "end": 171.26,
        "text": "Да,",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 168.86,
        "end": 172.12,
        "text": "сколько это стоит в конкурсе.",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 171.3,
        "end": 180.9,
        "text": "стоимость итогового Курсы будут зависеть от того, какой вариант вы программы выберете. Как уже упомянуло, у нас есть несколько, причем несколько, которые именно вам подойдут для вашей работы.",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 182.08,
        "end": 189.7,
        "text": "В целом, про обучение. То обучайтесь у нас в свободном темпе, без привязки к распределению, что позволяет заниматься тогда, когда удобно вам.",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 190.54,
        "end": 193.24,
        "text": "Доступ к материалам курса в личном кабинете.",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 194.14,
        "end": 214.6,
        "text": "Подписывайтесь на наш [ФИО], разбирайте как теорию, так и практику. Если в ходе обучения возникают вопросы, на них на всех отвечает профильный, прошу прощения, личный куратор. А вот уже на деталях обучения сориентируется профильный специалист, который хотел спросить, поскольку будет удобно с ним сегодня пообщаться. До девятнадцати мы с тобой работаем.",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 220.0,
        "end": 227.68,
        "text": "я тебя слушаю. что он что -то… Предложения -то какие! Хотелось бы услышать и понимать. — Конечно.",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 229.54,
        "end": 238.16,
        "text": "Профильным специалистам предлагаю пообщаться. Он рассказывает о всех вариантах программы, которые вам подойдут. Как раз уточнила, во сколько будет удобно с ним пообщаться.",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 238.44,
        "end": 247.94,
        "text": "Насколько -то я свободна сегодня. Вот в секрете я свободна пока, потому что потом, может, я уеду. — Можно завтра пообщаться,",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 247.58,
        "end": 248.32,
        "text": "-то через час.",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 248.0,
        "end": 252.63,
        "text": "можно сегодня, можно завтра. не суть важна? Я…",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 252.96,
        "end": 258.6,
        "text": "вам удобнее, здесь мы основываемся на том, чтобы вы могли пообщаться, послушать, изучить информацию, задать вопросы.",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 259.75,
        "end": 265.38,
        "text": "травмировала ногу, теперь я [адрес], теперь есть возможность прочитать и поучить.",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 264.72,
        "end": 270.7,
        "text": "Поняла. Есть свободное время. Ну, вот ближайшее окошко где -то с четырнадцати тридцати до пятнадцати.",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 271.92,
        "end": 277.48,
        "text": "Хорошо. Отлично. Тогда именно в это время свяжутся с профильными специалистами, подробно расскажут о ждать звонка.",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 278.85,
        "end": 279.52,
        "text": "Спасибо.",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 279.76,
        "end": 280.9,
        "text": "До свидания.",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      }
    ],
    "word_count": 716,
    "duration_seconds": 282.528,
    "pii_redacted_count": 8,
    "created_at": "2026-06-28T22:25:04.245560"
  },
  "scoring": {
    "prompt_version": "eduson-v5.10",
    "llm_provider": "deepseek",
    "llm_model": "deepseek-v4-flash",
    "checklist_json": [
      {
        "item_no": 1,
        "item_code": "greet_hello",
        "title": "Консультант поздоровался",
        "section": "Приветствие и цель звонка",
        "block": "1",
        "weight": 2,
        "is_critical": false,
        "is_conditional": false,
        "severity": "mandatory",
        "status": "pass",
        "quote": "[ФИО], здравствуй, кстати, меня зовут [ФИО], я из Eduson звоню по поводу обучения.",
        "timecode": "00:00",
        "rationale": "Консультант поприветствовал клиента.",
        "applicable": true
      },
      {
        "item_no": 2,
        "item_code": "greet_name",
        "title": "Консультант назвал своё имя",
        "section": "Приветствие и цель звонка",
        "block": "1",
        "weight": 2,
        "is_critical": false,
        "is_conditional": false,
        "severity": "mandatory",
        "status": "pass",
        "quote": "меня зовут [ФИО]",
        "timecode": "00:00",
        "rationale": "Консультант назвал своё имя.",
        "applicable": true
      },
      {
        "item_no": 3,
        "item_code": "greet_company",
        "title": "Консультант озвучил название компании",
        "section": "Приветствие и цель звонка",
        "block": "1",
        "weight": 2,
        "is_critical": false,
        "is_conditional": false,
        "severity": "mandatory",
        "status": "pass",
        "quote": "я из Eduson",
        "timecode": "00:00",
        "rationale": "Названа компания.",
        "applicable": true
      },
      {
        "item_no": 4,
        "item_code": "greet_purpose",
        "title": "Консультант уточнил цель звонка",
        "section": "Приветствие и цель звонка",
        "block": "1",
        "weight": 3,
        "is_critical": false,
        "is_conditional": false,
        "severity": "mandatory",
        "status": "pass",
        "quote": "звоню по поводу обучения.",
        "timecode": "00:00",
        "rationale": "Уточнена цель звонка.",
        "applicable": true
      },
      {
        "item_no": 5,
        "item_code": "program_acquaintance",
        "title": "Озвучен блок «знакомство»",
        "section": "Программирование",
        "block": "2",
        "weight": 1,
        "is_critical": false,
        "is_conditional": false,
        "severity": "desirable",
        "status": "fail",
        "quote": null,
        "timecode": null,
        "rationale": "Блок знакомства не анонсирован.",
        "applicable": true
      },
      {
        "item_no": 6,
        "item_code": "program_presentation",
        "title": "Озвучен блок «презентация программы»",
        "section": "Программирование",
        "block": "2",
        "weight": 1,
        "is_critical": false,
        "is_conditional": false,
        "severity": "desirable",
        "status": "fail",
        "quote": null,
        "timecode": null,
        "rationale": "Блок презентации не анонсирован.",
        "applicable": true
      },
      {
        "item_no": 7,
        "item_code": "program_questions",
        "title": "Озвучен блок «ответы на вопросы клиента»",
        "section": "Программирование",
        "block": "2",
        "weight": 1,
        "is_critical": false,
        "is_conditional": false,
        "severity": "desirable",
        "status": "fail",
        "quote": null,
        "timecode": null,
        "rationale": "Блок ответов на вопросы не анонсирован.",
        "applicable": true
      },
      {
        "item_no": 8,
        "item_code": "program_payment_option",
        "title": "Озвучен блок «варианты оплаты»",
        "section": "Программирование",
        "block": "2",
        "weight": 1,
        "is_critical": false,
        "is_conditional": false,
        "severity": "desirable",
        "status": "fail",
        "quote": null,
        "timecode": null,
        "rationale": "Блок вариантов оплаты не анонсирован.",
        "applicable": true
      },
      {
        "item_no": 9,
        "item_code": "need_occupation",
        "title": "Чем занимается клиент",
        "section": "Выявление потребностей",
        "block": "3",
        "weight": 3,
        "is_critical": false,
        "is_conditional": false,
        "severity": "mandatory",
        "status": "pass",
        "quote": "я риелтор.",
        "timecode": "00:36",
        "rationale": "Клиент рассказал, чем занимается.",
        "applicable": true
      },
      {
        "item_no": 10,
        "item_code": "need_why_direction",
        "title": "Почему выбрано именно это направление",
        "section": "Выявление потребностей",
        "block": "3",
        "weight": 3,
        "is_critical": false,
        "is_conditional": false,
        "severity": "mandatory",
        "status": "pass",
        "quote": "мне интересно, чем мне может помочь, с видео, например, с обработкой",
        "timecode": "00:38",
        "rationale": "Клиент объяснил мотив выбора нейросетей.",
        "applicable": true
      },
      {
        "item_no": 11,
        "item_code": "need_goal",
        "title": "Цель обучения",
        "section": "Выявление потребностей",
        "block": "3",
        "weight": 4,
        "is_critical": false,
        "is_conditional": false,
        "severity": "mandatory",
        "status": "pass",
        "quote": "что я могу с этим сделать И как я могу это в этой жизни использовать",
        "timecode": "00:38",
        "rationale": "Цель обучения — применение нейросетей в работе.",
        "applicable": true
      },
      {
        "item_no": 12,
        "item_code": "need_why_now",
        "title": "Почему именно сейчас решил обучиться",
        "section": "Выявление потребностей",
        "block": "3",
        "weight": 3,
        "is_critical": false,
        "is_conditional": false,
        "severity": "mandatory",
        "status": "pass",
        "quote": "травмировала ногу, теперь я [адрес], теперь есть возможность прочитать и поучить.",
        "timecode": "02:45",
        "rationale": "Триггер — травма и свободное время.",
        "applicable": true
      },
      {
        "item_no": 13,
        "item_code": "need_role_understanding",
        "title": "Клиент понимает роль специалиста, на которого оставлена заявка",
        "section": "Выявление потребностей",
        "block": "3",
        "weight": 2,
        "is_critical": false,
        "is_conditional": true,
        "severity": "desirable",
        "status": "n/a",
        "quote": null,
        "timecode": null,
        "rationale": "Курс инструментальный (нейросети), не профессия.",
        "applicable": false
      },
      {
        "item_no": 14,
        "item_code": "need_topics_pains",
        "title": "Какие темы интересуют, какие сложности есть сейчас",
        "section": "Выявление потребностей",
        "block": "3",
        "weight": 3,
        "is_critical": false,
        "is_conditional": false,
        "severity": "mandatory",
        "status": "pass",
        "quote": "с видео, например, с обработкой",
        "timecode": "00:38",
        "rationale": "Клиент назвал конкретную тему — обработка видео.",
        "applicable": true
      },
      {
        "item_no": 15,
        "item_code": "need_self_told",
        "title": "Клиент сам рассказал про свои потребности",
        "section": "Выявление потребностей",
        "block": "3",
        "weight": 1,
        "is_critical": false,
        "is_conditional": false,
        "severity": "desirable",
        "status": "fail",
        "quote": null,
        "timecode": null,
        "rationale": "Потребности раскрыты только в ответ на прямой вопрос.",
        "applicable": true
      },
      {
        "item_no": 16,
        "item_code": "need_ask_experience",
        "title": "Консультант спросил клиента про опыт",
        "section": "Выявление потребностей",
        "block": "3",
        "weight": 3,
        "is_critical": false,
        "is_conditional": false,
        "severity": "mandatory",
        "status": "fail",
        "quote": null,
        "timecode": null,
        "rationale": "Консультант не спросил про опыт.",
        "applicable": true
      },
      {
        "item_no": 17,
        "item_code": "need_has_experience",
        "title": "У клиента есть опыт работы по интересующей специальности",
        "section": "Выявление потребностей",
        "block": "3",
        "weight": 1,
        "is_critical": false,
        "is_conditional": false,
        "severity": "desirable",
        "status": "pass",
        "quote": "я сейчас пользуюсь GPT-чатом иногда для составления текстов, для изменения фотографий",
        "timecode": "00:30",
        "rationale": "Клиент имеет опыт работы с ИИ-инструментами.",
        "applicable": true
      },
      {
        "item_no": 18,
        "item_code": "summary_repeat",
        "title": "Повторил / резюмировал потребности клиента",
        "section": "Резюме данных от клиента",
        "block": "4",
        "weight": 2,
        "is_critical": false,
        "is_conditional": false,
        "severity": "mandatory",
        "status": "fail",
        "quote": null,
        "timecode": null,
        "rationale": "Консультант не повторил потребности клиента.",
        "applicable": true
      },
      {
        "item_no": 19,
        "item_code": "summary_fit",
        "title": "Подытожил, что курс подойдёт клиенту",
        "section": "Резюме данных от клиента",
        "block": "4",
        "weight": 3,
        "is_critical": false,
        "is_conditional": false,
        "severity": "mandatory",
        "status": "fail",
        "quote": null,
        "timecode": null,
        "rationale": "Не подытожено, что курс подойдёт клиенту с обоснованием.",
        "applicable": true
      },
      {
        "item_no": 20,
        "item_code": "upsale_value",
        "title": "Пояснил, в чём ценность более дорогих курсов",
        "section": "Upsale",
        "block": "5",
        "weight": 3,
        "is_critical": false,
        "is_conditional": true,
        "severity": "desirable",
        "status": "fail",
        "quote": null,
        "timecode": null,
        "rationale": "Ценность более дорогих курсов не пояснена.",
        "applicable": true
      },
      {
        "item_no": 21,
        "item_code": "upsale_options",
        "title": "Предложил несколько различных тарифов",
        "section": "Upsale",
        "block": "5",
        "weight": 2,
        "is_critical": false,
        "is_conditional": true,
        "severity": "desirable",
        "status": "fail",
        "quote": null,
        "timecode": null,
        "rationale": "Тарифы не предложены явно.",
        "applicable": true
      },
      {
        "item_no": 22,
        "item_code": "upsale_choice_check",
        "title": "Уточнил, на чём остановился клиент, что ему подходит",
        "section": "Upsale",
        "block": "5",
        "weight": 2,
        "is_critical": false,
        "is_conditional": false,
        "severity": "mandatory",
        "status": "fail",
        "quote": null,
        "timecode": null,
        "rationale": "Не уточнено, на чём остановился клиент.",
        "applicable": true
      },
      {
        "item_no": 23,
        "item_code": "upsale_course_proposed",
        "title": "Какой курс предложен в качестве Upsale (метаполе)",
        "section": "Upsale",
        "block": "5",
        "weight": 1,
        "is_critical": false,
        "is_conditional": true,
        "severity": "desirable",
        "status": "n/a",
        "quote": null,
        "timecode": null,
        "rationale": "Апсейл не выполнялся.",
        "applicable": false
      },
      {
        "item_no": 24,
        "item_code": "pres_program",
        "title": "Сделал презентацию программы обучения",
        "section": "Презентация",
        "block": "6",
        "weight": 4,
        "is_critical": false,
        "is_conditional": false,
        "severity": "mandatory",
        "status": "fail",
        "quote": null,
        "timecode": null,
        "rationale": "Содержание программы не представлено.",
        "applicable": true
      },
      {
        "item_no": 25,
        "item_code": "pres_format",
        "title": "Сделал презентацию формата обучения",
        "section": "Презентация",
        "block": "6",
        "weight": 3,
        "is_critical": false,
        "is_conditional": false,
        "severity": "mandatory",
        "status": "pass",
        "quote": "обучайтесь у нас в свободном темпе, без привязки к распределению... доступ к материалам... личный куратор",
        "timecode": "01:57",
        "rationale": "Формат обучения описан.",
        "applicable": true
      },
      {
        "item_no": 26,
        "item_code": "obj_detected",
        "title": "У клиента есть сомнения или возражения",
        "section": "Работа с возражениями",
        "block": "7",
        "weight": 1,
        "is_critical": false,
        "is_conditional": false,
        "severity": "mandatory",
        "status": "fail",
        "quote": null,
        "timecode": null,
        "rationale": "Явных возражений не было.",
        "applicable": true
      },
      {
        "item_no": 27,
        "item_code": "obj_count",
        "title": "Количество возражений в звонке",
        "section": "Работа с возражениями",
        "block": "7",
        "weight": 1,
        "is_critical": false,
        "is_conditional": true,
        "severity": "desirable",
        "status": "n/a",
        "quote": null,
        "timecode": null,
        "rationale": "Нет возражений.",
        "applicable": false
      },
      {
        "item_no": 28,
        "item_code": "obj_handled_count",
        "title": "Количество отработанных возражений",
        "section": "Работа с возражениями",
        "block": "7",
        "weight": 1,
        "is_critical": false,
        "is_conditional": true,
        "severity": "desirable",
        "status": "n/a",
        "quote": null,
        "timecode": null,
        "rationale": "Нет возражений.",
        "applicable": false
      },
      {
        "item_no": 29,
        "item_code": "obj_handled_each",
        "title": "Каждое возражение отработано (да/нет)",
        "section": "Работа с возражениями",
        "block": "7",
        "weight": 5,
        "is_critical": false,
        "is_conditional": true,
        "severity": "mandatory",
        "status": "n/a",
        "quote": null,
        "timecode": null,
        "rationale": "Нет возражений.",
        "applicable": false
      },
      {
        "item_no": 30,
        "item_code": "price_discount_focus",
        "title": "Презентовал стоимость с акцентом на скидке клиента",
        "section": "Обсуждение цены и формата оплаты",
        "block": "8",
        "weight": 3,
        "is_critical": false,
        "is_conditional": false,
        "severity": "mandatory",
        "status": "fail",
        "quote": null,
        "timecode": null,
        "rationale": "Стоимость не презентована с акцентом на скидке.",
        "applicable": true
      },
      {
        "item_no": 31,
        "item_code": "price_payment_method",
        "title": "Уточнил, какой метод оплаты удобен клиенту",
        "section": "Обсуждение цены и формата оплаты",
        "block": "8",
        "weight": 3,
        "is_critical": false,
        "is_conditional": false,
        "severity": "mandatory",
        "status": "fail",
        "quote": null,
        "timecode": null,
        "rationale": "Способ оплаты не уточнён.",
        "applicable": true
      },
      {
        "item_no": 32,
        "item_code": "price_discount_size",
        "title": "Назвал размер скидки",
        "section": "Обсуждение цены и формата оплаты",
        "block": "8",
        "weight": 2,
        "is_critical": false,
        "is_conditional": false,
        "severity": "mandatory",
        "status": "fail",
        "quote": null,
        "timecode": null,
        "rationale": "Размер скидки не назван чётко.",
        "applicable": true
      },
      {
        "item_no": 33,
        "item_code": "price_before_after",
        "title": "Презентовал цену до скидки и после",
        "section": "Обсуждение цены и формата оплаты",
        "block": "8",
        "weight": 3,
        "is_critical": false,
        "is_conditional": false,
        "severity": "mandatory",
        "status": "fail",
        "quote": null,
        "timecode": null,
        "rationale": "Цена до и после скидки не названа.",
        "applicable": true
      },
      {
        "item_no": 34,
        "item_code": "close_in_moment",
        "title": "Предложил оформление в моменте",
        "section": "Предложил ли оплату в моменте",
        "block": "9",
        "weight": 4,
        "is_critical": false,
        "is_conditional": true,
        "severity": "mandatory",
        "status": "n/a",
        "quote": null,
        "timecode": null,
        "rationale": "Звонок квалификационный, оплата не предлагалась.",
        "applicable": false
      },
      {
        "item_no": 35,
        "item_code": "close_full_today",
        "title": "Если выбрана полная оплата — предложил оплатить сегодня",
        "section": "Предложил ли оплату в моменте",
        "block": "9",
        "weight": 3,
        "is_critical": false,
        "is_conditional": true,
        "severity": "desirable",
        "status": "n/a",
        "quote": null,
        "timecode": null,
        "rationale": "Не применимо.",
        "applicable": false
      },
      {
        "item_no": 36,
        "item_code": "close_install_now",
        "title": "Если выбрана рассрочка — оформил её на звонке",
        "section": "Предложил ли оплату в моменте",
        "block": "9",
        "weight": 3,
        "is_critical": false,
        "is_conditional": true,
        "severity": "desirable",
        "status": "n/a",
        "quote": null,
        "timecode": null,
        "rationale": "Не применимо.",
        "applicable": false
      },
      {
        "item_no": 37,
        "item_code": "next_exact_time",
        "title": "Согласована точная дата/время следующего звонка",
        "section": "Обозначил следующий шаг",
        "block": "10",
        "weight": 4,
        "is_critical": false,
        "is_conditional": true,
        "severity": "mandatory",
        "status": "pass",
        "quote": "с четырнадцати тридцати до пятнадцати",
        "timecode": "03:25",
        "rationale": "Согласовано точное время.",
        "applicable": true
      },
      {
        "item_no": 38,
        "item_code": "next_approx_time",
        "title": "Согласована приблизительная дата/время следующего звонка",
        "section": "Обозначил следующий шаг",
        "block": "10",
        "weight": 2,
        "is_critical": false,
        "is_conditional": true,
        "severity": "desirable",
        "status": "n/a",
        "quote": null,
        "timecode": null,
        "rationale": "Указано точное время.",
        "applicable": false
      },
      {
        "item_no": 39,
        "item_code": "prof_listens",
        "title": "Консультант слышит клиента и отвечает по сути",
        "section": "Профессионализм",
        "block": "11",
        "weight": 4,
        "is_critical": true,
        "is_conditional": false,
        "severity": "mandatory",
        "status": "pass",
        "quote": null,
        "timecode": null,
        "rationale": "Отвечает по сути, нет игнорирования.",
        "applicable": true
      },
      {
        "item_no": 40,
        "item_code": "prof_no_rude",
        "title": "Консультант не грубил, не проявлял обиду к клиенту",
        "section": "Профессионализм",
        "block": "11",
        "weight": 5,
        "is_critical": true,
        "is_conditional": false,
        "severity": "prohibited",
        "status": "pass",
        "quote": null,
        "timecode": null,
        "rationale": "Грубости не было.",
        "applicable": true
      },
      {
        "item_no": 41,
        "item_code": "active_lead",
        "title": "Менеджер активно вёл диалог",
        "section": "Активная позиция менеджера",
        "block": "12",
        "weight": 3,
        "is_critical": false,
        "is_conditional": false,
        "severity": "mandatory",
        "status": "pass",
        "quote": null,
        "timecode": null,
        "rationale": "Ведёт диалог, задаёт вопросы.",
        "applicable": true
      },
      {
        "item_no": 42,
        "item_code": "active_engaged",
        "title": "Проявлял заинтересованность в общении",
        "section": "Активная позиция менеджера",
        "block": "12",
        "weight": 2,
        "is_critical": false,
        "is_conditional": false,
        "severity": "desirable",
        "status": "pass",
        "quote": null,
        "timecode": null,
        "rationale": "Проявляет заинтересованность.",
        "applicable": true
      },
      {
        "item_no": 43,
        "item_code": "active_persuade",
        "title": "Консультант пытался убедить клиента принять решение",
        "section": "Активная позиция менеджера",
        "block": "12",
        "weight": 4,
        "is_critical": false,
        "is_conditional": false,
        "severity": "mandatory",
        "status": "pass",
        "quote": "Профильным специалистам предлагаю пообщаться.",
        "timecode": "02:45",
        "rationale": "Убедил принять следующий шаг.",
        "applicable": true
      },
      {
        "item_no": 44,
        "item_code": "crm_followup",
        "title": "Перезвонил в согласованное время / соблюдал договорённости",
        "section": "Корректность заполнения по клиенту в CRM",
        "block": "13",
        "weight": 2,
        "is_critical": false,
        "is_conditional": true,
        "severity": "mandatory",
        "status": "n/a",
        "quote": null,
        "timecode": null,
        "rationale": "Первый звонок, нет предыдущих договорённостей.",
        "applicable": false
      },
      {
        "item_no": 45,
        "item_code": "crm_no_personal_channel",
        "title": "Не ориентировал клиента на личные каналы связи",
        "section": "Корректность заполнения по клиенту в CRM",
        "block": "13",
        "weight": 3,
        "is_critical": false,
        "is_conditional": false,
        "severity": "mandatory",
        "status": "pass",
        "quote": null,
        "timecode": null,
        "rationale": "Не уводил в личные каналы.",
        "applicable": true
      }
    ],
    "section_scores_json": {
      "1": {
        "pass_count": 4,
        "fail_count": 0,
        "applicable_count": 4,
        "total_count": 4,
        "percent": 1.0
      },
      "2": {
        "pass_count": 0,
        "fail_count": 4,
        "applicable_count": 4,
        "total_count": 4,
        "percent": 0.0
      },
      "3": {
        "pass_count": 6,
        "fail_count": 2,
        "applicable_count": 8,
        "total_count": 9,
        "percent": 0.75
      },
      "4": {
        "pass_count": 0,
        "fail_count": 2,
        "applicable_count": 2,
        "total_count": 2,
        "percent": 0.0
      },
      "5": {
        "pass_count": 0,
        "fail_count": 3,
        "applicable_count": 3,
        "total_count": 4,
        "percent": 0.0
      },
      "6": {
        "pass_count": 1,
        "fail_count": 1,
        "applicable_count": 2,
        "total_count": 2,
        "percent": 0.5
      },
      "7": {
        "pass_count": 0,
        "fail_count": 1,
        "applicable_count": 1,
        "total_count": 4,
        "percent": 0.0
      },
      "8": {
        "pass_count": 0,
        "fail_count": 4,
        "applicable_count": 4,
        "total_count": 4,
        "percent": 0.0
      },
      "9": {
        "pass_count": 0,
        "fail_count": 0,
        "applicable_count": 0,
        "total_count": 3,
        "percent": 0.0
      },
      "10": {
        "pass_count": 1,
        "fail_count": 0,
        "applicable_count": 1,
        "total_count": 2,
        "percent": 1.0
      },
      "11": {
        "pass_count": 2,
        "fail_count": 0,
        "applicable_count": 2,
        "total_count": 2,
        "percent": 1.0
      },
      "12": {
        "pass_count": 3,
        "fail_count": 0,
        "applicable_count": 3,
        "total_count": 3,
        "percent": 1.0
      },
      "13": {
        "pass_count": 1,
        "fail_count": 0,
        "applicable_count": 1,
        "total_count": 2,
        "percent": 1.0
      }
    },
    "overall_score": 0.517,
    "confidence": "high",
    "summary": "Менеджер поздоровался, представился и пояснил цель звонка. Выяснила, что клиент — риелтор, использует GPT, интересуется обработкой видео и фото. Предложила передать профильному специалисту для детальной консультации, согласовала время звонка. Не сделала презентацию программы, не резюмировала потребности, не обрабатывала возражения (их не было), не предлагала оплату. Качество записи среднее, присутствуют наложения.",
    "client_info_json": {
      "interest": "Нейросети для работы, обработка видео и фото",
      "past_experience": "Использует GPT-чат для текстов и фото",
      "motivation": "Интересно, что нейросети могут дать в работе",
      "learning_goals": "Научиться обрабатывать видео, фото и тексты с помощью нейросетей",
      "preferred_payment_method": "unknown",
      "course_tariff": null,
      "company_knowledge": null,
      "learning_preferences": "Свободный темп, дистанционно",
      "client_questions": [
        "Что за скидка?",
        "Сколько стоит курс?",
        "Что входит в программу?"
      ],
      "lead_category": "BBB",
      "conversion_action": "Договорились о повторном звонке",
      "objections": [],
      "relevant_experience": "has",
      "company_familiarity": null,
      "age": null,
      "gender": "F",
      "city": null,
      "field": "Недвижимость",
      "role": "Риелтор",
      "financial_readiness": "unknown",
      "interest_in_certificate": null,
      "interest_in_employment": null,
      "temperature": "warm",
      "life_circumstances": "Травмировала ногу, есть свободное время",
      "decision_maker": true
    },
    "red_flags_json": [
      {
        "code": "rf_no_program_pitch"
      }
    ],
    "coaching_tip": "Рекомендуется глубже выявлять потребности, задавать открытые вопросы, резюмировать их и связывать с конкретными курсами. Также стоит презентовать содержание программы на звонке.",
    "needs_human_review": true,
    "review_reason": "red_flag",
    "llm_latency_ms": null,
    "llm_cost_usd": null,
    "input_tokens": 18342,
    "output_tokens": 8268,
    "created_at": "2026-06-28T22:26:17.875854",
    "items": [
      {
        "item_no": 20,
        "item_code": "upsale_value",
        "block": "5",
        "section": "Upsale",
        "title": "Пояснил, в чём ценность более дорогих курсов",
        "weight": 3,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": true,
        "applicable": true,
        "status": "fail",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Ценность более дорогих курсов не пояснена."
      },
      {
        "item_no": 21,
        "item_code": "upsale_options",
        "block": "5",
        "section": "Upsale",
        "title": "Предложил несколько различных тарифов",
        "weight": 2,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": true,
        "applicable": true,
        "status": "fail",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Тарифы не предложены явно."
      },
      {
        "item_no": 22,
        "item_code": "upsale_choice_check",
        "block": "5",
        "section": "Upsale",
        "title": "Уточнил, на чём остановился клиент, что ему подходит",
        "weight": 2,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": true,
        "status": "fail",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Не уточнено, на чём остановился клиент."
      },
      {
        "item_no": 23,
        "item_code": "upsale_course_proposed",
        "block": "5",
        "section": "Upsale",
        "title": "Какой курс предложен в качестве Upsale (метаполе)",
        "weight": 1,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": true,
        "applicable": false,
        "status": "n/a",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Апсейл не выполнялся."
      },
      {
        "item_no": 41,
        "item_code": "active_lead",
        "block": "12",
        "section": "Активная позиция менеджера",
        "title": "Менеджер активно вёл диалог",
        "weight": 3,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": true,
        "status": "pass",
        "score": 3.0,
        "quote": null,
        "timecode": null,
        "rationale": "Ведёт диалог, задаёт вопросы."
      },
      {
        "item_no": 42,
        "item_code": "active_engaged",
        "block": "12",
        "section": "Активная позиция менеджера",
        "title": "Проявлял заинтересованность в общении",
        "weight": 2,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": true,
        "status": "pass",
        "score": 2.0,
        "quote": null,
        "timecode": null,
        "rationale": "Проявляет заинтересованность."
      },
      {
        "item_no": 43,
        "item_code": "active_persuade",
        "block": "12",
        "section": "Активная позиция менеджера",
        "title": "Консультант пытался убедить клиента принять решение",
        "weight": 4,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": true,
        "status": "pass",
        "score": 4.0,
        "quote": "Профильным специалистам предлагаю пообщаться.",
        "timecode": "02:45",
        "rationale": "Убедил принять следующий шаг."
      },
      {
        "item_no": 9,
        "item_code": "need_occupation",
        "block": "3",
        "section": "Выявление потребностей",
        "title": "Чем занимается клиент",
        "weight": 3,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": true,
        "status": "pass",
        "score": 3.0,
        "quote": "я риелтор.",
        "timecode": "00:36",
        "rationale": "Клиент рассказал, чем занимается."
      },
      {
        "item_no": 10,
        "item_code": "need_why_direction",
        "block": "3",
        "section": "Выявление потребностей",
        "title": "Почему выбрано именно это направление",
        "weight": 3,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": true,
        "status": "pass",
        "score": 3.0,
        "quote": "мне интересно, чем мне может помочь, с видео, например, с обработкой",
        "timecode": "00:38",
        "rationale": "Клиент объяснил мотив выбора нейросетей."
      },
      {
        "item_no": 11,
        "item_code": "need_goal",
        "block": "3",
        "section": "Выявление потребностей",
        "title": "Цель обучения",
        "weight": 4,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": true,
        "status": "pass",
        "score": 4.0,
        "quote": "что я могу с этим сделать И как я могу это в этой жизни использовать",
        "timecode": "00:38",
        "rationale": "Цель обучения — применение нейросетей в работе."
      },
      {
        "item_no": 12,
        "item_code": "need_why_now",
        "block": "3",
        "section": "Выявление потребностей",
        "title": "Почему именно сейчас решил обучиться",
        "weight": 3,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": true,
        "status": "pass",
        "score": 3.0,
        "quote": "травмировала ногу, теперь я [адрес], теперь есть возможность прочитать и поучить.",
        "timecode": "02:45",
        "rationale": "Триггер — травма и свободное время."
      },
      {
        "item_no": 13,
        "item_code": "need_role_understanding",
        "block": "3",
        "section": "Выявление потребностей",
        "title": "Клиент понимает роль специалиста, на которого оставлена заявка",
        "weight": 2,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": true,
        "applicable": false,
        "status": "n/a",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Курс инструментальный (нейросети), не профессия."
      },
      {
        "item_no": 14,
        "item_code": "need_topics_pains",
        "block": "3",
        "section": "Выявление потребностей",
        "title": "Какие темы интересуют, какие сложности есть сейчас",
        "weight": 3,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": true,
        "status": "pass",
        "score": 3.0,
        "quote": "с видео, например, с обработкой",
        "timecode": "00:38",
        "rationale": "Клиент назвал конкретную тему — обработка видео."
      },
      {
        "item_no": 15,
        "item_code": "need_self_told",
        "block": "3",
        "section": "Выявление потребностей",
        "title": "Клиент сам рассказал про свои потребности",
        "weight": 1,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": true,
        "status": "fail",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Потребности раскрыты только в ответ на прямой вопрос."
      },
      {
        "item_no": 16,
        "item_code": "need_ask_experience",
        "block": "3",
        "section": "Выявление потребностей",
        "title": "Консультант спросил клиента про опыт",
        "weight": 3,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": true,
        "status": "fail",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Консультант не спросил про опыт."
      },
      {
        "item_no": 17,
        "item_code": "need_has_experience",
        "block": "3",
        "section": "Выявление потребностей",
        "title": "У клиента есть опыт работы по интересующей специальности",
        "weight": 1,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": true,
        "status": "pass",
        "score": 1.0,
        "quote": "я сейчас пользуюсь GPT-чатом иногда для составления текстов, для изменения фотографий",
        "timecode": "00:30",
        "rationale": "Клиент имеет опыт работы с ИИ-инструментами."
      },
      {
        "item_no": 44,
        "item_code": "crm_followup",
        "block": "13",
        "section": "Корректность заполнения по клиенту в CRM",
        "title": "Перезвонил в согласованное время / соблюдал договорённости",
        "weight": 2,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": true,
        "applicable": false,
        "status": "n/a",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Первый звонок, нет предыдущих договорённостей."
      },
      {
        "item_no": 45,
        "item_code": "crm_no_personal_channel",
        "block": "13",
        "section": "Корректность заполнения по клиенту в CRM",
        "title": "Не ориентировал клиента на личные каналы связи",
        "weight": 3,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": true,
        "status": "pass",
        "score": 3.0,
        "quote": null,
        "timecode": null,
        "rationale": "Не уводил в личные каналы."
      },
      {
        "item_no": 37,
        "item_code": "next_exact_time",
        "block": "10",
        "section": "Обозначил следующий шаг",
        "title": "Согласована точная дата/время следующего звонка",
        "weight": 4,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": true,
        "applicable": true,
        "status": "pass",
        "score": 4.0,
        "quote": "с четырнадцати тридцати до пятнадцати",
        "timecode": "03:25",
        "rationale": "Согласовано точное время."
      },
      {
        "item_no": 38,
        "item_code": "next_approx_time",
        "block": "10",
        "section": "Обозначил следующий шаг",
        "title": "Согласована приблизительная дата/время следующего звонка",
        "weight": 2,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": true,
        "applicable": false,
        "status": "n/a",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Указано точное время."
      },
      {
        "item_no": 30,
        "item_code": "price_discount_focus",
        "block": "8",
        "section": "Обсуждение цены и формата оплаты",
        "title": "Презентовал стоимость с акцентом на скидке клиента",
        "weight": 3,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": true,
        "status": "fail",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Стоимость не презентована с акцентом на скидке."
      },
      {
        "item_no": 31,
        "item_code": "price_payment_method",
        "block": "8",
        "section": "Обсуждение цены и формата оплаты",
        "title": "Уточнил, какой метод оплаты удобен клиенту",
        "weight": 3,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": true,
        "status": "fail",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Способ оплаты не уточнён."
      },
      {
        "item_no": 32,
        "item_code": "price_discount_size",
        "block": "8",
        "section": "Обсуждение цены и формата оплаты",
        "title": "Назвал размер скидки",
        "weight": 2,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": true,
        "status": "fail",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Размер скидки не назван чётко."
      },
      {
        "item_no": 33,
        "item_code": "price_before_after",
        "block": "8",
        "section": "Обсуждение цены и формата оплаты",
        "title": "Презентовал цену до скидки и после",
        "weight": 3,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": true,
        "status": "fail",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Цена до и после скидки не названа."
      },
      {
        "item_no": 34,
        "item_code": "close_in_moment",
        "block": "9",
        "section": "Предложил ли оплату в моменте",
        "title": "Предложил оформление в моменте",
        "weight": 4,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": true,
        "applicable": false,
        "status": "n/a",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Звонок квалификационный, оплата не предлагалась."
      },
      {
        "item_no": 35,
        "item_code": "close_full_today",
        "block": "9",
        "section": "Предложил ли оплату в моменте",
        "title": "Если выбрана полная оплата — предложил оплатить сегодня",
        "weight": 3,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": true,
        "applicable": false,
        "status": "n/a",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Не применимо."
      },
      {
        "item_no": 36,
        "item_code": "close_install_now",
        "block": "9",
        "section": "Предложил ли оплату в моменте",
        "title": "Если выбрана рассрочка — оформил её на звонке",
        "weight": 3,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": true,
        "applicable": false,
        "status": "n/a",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Не применимо."
      },
      {
        "item_no": 24,
        "item_code": "pres_program",
        "block": "6",
        "section": "Презентация",
        "title": "Сделал презентацию программы обучения",
        "weight": 4,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": true,
        "status": "fail",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Содержание программы не представлено."
      },
      {
        "item_no": 25,
        "item_code": "pres_format",
        "block": "6",
        "section": "Презентация",
        "title": "Сделал презентацию формата обучения",
        "weight": 3,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": true,
        "status": "pass",
        "score": 3.0,
        "quote": "обучайтесь у нас в свободном темпе, без привязки к распределению... доступ к материалам... личный куратор",
        "timecode": "01:57",
        "rationale": "Формат обучения описан."
      },
      {
        "item_no": 1,
        "item_code": "greet_hello",
        "block": "1",
        "section": "Приветствие и цель звонка",
        "title": "Консультант поздоровался",
        "weight": 2,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": true,
        "status": "pass",
        "score": 2.0,
        "quote": "[ФИО], здравствуй, кстати, меня зовут [ФИО], я из Eduson звоню по поводу обучения.",
        "timecode": "00:00",
        "rationale": "Консультант поприветствовал клиента."
      },
      {
        "item_no": 2,
        "item_code": "greet_name",
        "block": "1",
        "section": "Приветствие и цель звонка",
        "title": "Консультант назвал своё имя",
        "weight": 2,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": true,
        "status": "pass",
        "score": 2.0,
        "quote": "меня зовут [ФИО]",
        "timecode": "00:00",
        "rationale": "Консультант назвал своё имя."
      },
      {
        "item_no": 3,
        "item_code": "greet_company",
        "block": "1",
        "section": "Приветствие и цель звонка",
        "title": "Консультант озвучил название компании",
        "weight": 2,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": true,
        "status": "pass",
        "score": 2.0,
        "quote": "я из Eduson",
        "timecode": "00:00",
        "rationale": "Названа компания."
      },
      {
        "item_no": 4,
        "item_code": "greet_purpose",
        "block": "1",
        "section": "Приветствие и цель звонка",
        "title": "Консультант уточнил цель звонка",
        "weight": 3,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": true,
        "status": "pass",
        "score": 3.0,
        "quote": "звоню по поводу обучения.",
        "timecode": "00:00",
        "rationale": "Уточнена цель звонка."
      },
      {
        "item_no": 5,
        "item_code": "program_acquaintance",
        "block": "2",
        "section": "Программирование",
        "title": "Озвучен блок «знакомство»",
        "weight": 1,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": true,
        "status": "fail",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Блок знакомства не анонсирован."
      },
      {
        "item_no": 6,
        "item_code": "program_presentation",
        "block": "2",
        "section": "Программирование",
        "title": "Озвучен блок «презентация программы»",
        "weight": 1,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": true,
        "status": "fail",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Блок презентации не анонсирован."
      },
      {
        "item_no": 7,
        "item_code": "program_questions",
        "block": "2",
        "section": "Программирование",
        "title": "Озвучен блок «ответы на вопросы клиента»",
        "weight": 1,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": true,
        "status": "fail",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Блок ответов на вопросы не анонсирован."
      },
      {
        "item_no": 8,
        "item_code": "program_payment_option",
        "block": "2",
        "section": "Программирование",
        "title": "Озвучен блок «варианты оплаты»",
        "weight": 1,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": true,
        "status": "fail",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Блок вариантов оплаты не анонсирован."
      },
      {
        "item_no": 39,
        "item_code": "prof_listens",
        "block": "11",
        "section": "Профессионализм",
        "title": "Консультант слышит клиента и отвечает по сути",
        "weight": 4,
        "section_weight": 0.0,
        "is_critical": true,
        "is_conditional": false,
        "applicable": true,
        "status": "pass",
        "score": 4.0,
        "quote": null,
        "timecode": null,
        "rationale": "Отвечает по сути, нет игнорирования."
      },
      {
        "item_no": 40,
        "item_code": "prof_no_rude",
        "block": "11",
        "section": "Профессионализм",
        "title": "Консультант не грубил, не проявлял обиду к клиенту",
        "weight": 5,
        "section_weight": 0.0,
        "is_critical": true,
        "is_conditional": false,
        "applicable": true,
        "status": "pass",
        "score": 5.0,
        "quote": null,
        "timecode": null,
        "rationale": "Грубости не было."
      },
      {
        "item_no": 26,
        "item_code": "obj_detected",
        "block": "7",
        "section": "Работа с возражениями",
        "title": "У клиента есть сомнения или возражения",
        "weight": 1,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": true,
        "status": "fail",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Явных возражений не было."
      },
      {
        "item_no": 27,
        "item_code": "obj_count",
        "block": "7",
        "section": "Работа с возражениями",
        "title": "Количество возражений в звонке",
        "weight": 1,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": true,
        "applicable": false,
        "status": "n/a",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Нет возражений."
      },
      {
        "item_no": 28,
        "item_code": "obj_handled_count",
        "block": "7",
        "section": "Работа с возражениями",
        "title": "Количество отработанных возражений",
        "weight": 1,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": true,
        "applicable": false,
        "status": "n/a",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Нет возражений."
      },
      {
        "item_no": 29,
        "item_code": "obj_handled_each",
        "block": "7",
        "section": "Работа с возражениями",
        "title": "Каждое возражение отработано (да/нет)",
        "weight": 5,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": true,
        "applicable": false,
        "status": "n/a",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Нет возражений."
      },
      {
        "item_no": 18,
        "item_code": "summary_repeat",
        "block": "4",
        "section": "Резюме данных от клиента",
        "title": "Повторил / резюмировал потребности клиента",
        "weight": 2,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": true,
        "status": "fail",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Консультант не повторил потребности клиента."
      },
      {
        "item_no": 19,
        "item_code": "summary_fit",
        "block": "4",
        "section": "Резюме данных от клиента",
        "title": "Подытожил, что курс подойдёт клиенту",
        "weight": 3,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": true,
        "status": "fail",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Не подытожено, что курс подойдёт клиенту с обоснованием."
      }
    ]
  },
  "client_portrait": {
    "demographics_json": {
      "age": null,
      "gender": "F",
      "city": null,
      "sphere": "Недвижимость",
      "role": "Риелтор"
    },
    "motivation_json": {
      "interest": "Нейросети для работы, обработка видео и фото",
      "motivation": "Интересно, что нейросети могут дать в работе",
      "learning_goals": "Научиться обрабатывать видео, фото и тексты с помощью нейросетей",
      "learning_preferences": "Свободный темп, дистанционно",
      "life_circumstances": "Травмировала ногу, есть свободное время"
    },
    "finance_json": {
      "preferred_payment_method": "unknown",
      "financial_readiness": "unknown",
      "payment_ready": false,
      "interest_in_certificate": null,
      "interest_in_employment": null
    },
    "objections_json": [],
    "temperature": "warm",
    "life_circumstances": "Травмировала ногу, есть свободное время",
    "decision_maker": true,
    "client_questions_json": [
      "Что за скидка?",
      "Сколько стоит курс?",
      "Что входит в программу?"
    ],
    "extra_json": {
      "past_experience": "Использует GPT-чат для текстов и фото",
      "company_knowledge": null,
      "company_familiarity": null,
      "relevant_experience": "has",
      "lead_category": "BBB",
      "conversion_action": "Договорились о повторном звонке",
      "client_questions": [
        "Что за скидка?",
        "Сколько стоит курс?",
        "Что входит в программу?"
      ],
      "decision_maker": true
    },
    "created_at": "2026-06-28T22:26:17.883752"
  }
}