{
  "schema_version": 1,
  "call": {
    "id": "5bc0e124-62ee-435f-98b1-55f7bbd8b2a7",
    "created_at": "2026-06-28T11:42:35",
    "original_filename": "comagic_8f66a01b396625ade5b9e8352d40e645",
    "audio_path": null,
    "audio_size_bytes": null,
    "duration_seconds": 184.248,
    "debtor_hash": null,
    "debtor_timezone": "Europe/Moscow",
    "stage": "Контакт установлен",
    "bucket": null,
    "product": "Аналитик данных",
    "deal_id": "46303710",
    "crm_source": "uis",
    "utm_source": "influence",
    "utm_medium": "max",
    "utm_campaign": "AD_An_MV46_influence_typical_buh6",
    "lead_category": "BBB",
    "transcript_status": "done",
    "analytics_status": "done",
    "last_error": null,
    "prompt_version": "eduson-v5.10",
    "processed_at": "2026-06-28T21:55:27.384798"
  },
  "operator": {
    "id": "c8b1682f-95ed-45f3-ba8a-85887542de8b",
    "full_name": "Качегова Даяна",
    "employee_code": "качегова_даяна",
    "department": "sales"
  },
  "transcript": {
    "provider": "okk_dialog_runpod",
    "model": "bzikst/faster-whisper-large-v3-russian",
    "language": "ru",
    "raw_text": "КЛИЕНТ: Продолжаем дозваниваться до абонента. Ожидайте ответа.\nКЛИЕНТ: Алло. (МЕНЕДЖЕР: только) (МЕНЕДЖЕР: день.)\nКЛИЕНТ: Здравствуйте.\nМЕНЕДЖЕР: Здравствуйте, а это даянный Академия Эйдерсон, мы от вас получили заявку на анализ. Вы оставляли, верно? (КЛИЕНТ: Да,) — Здорово. (КЛИЕНТ: верно.) Я предлагаю пообщаться по направлению, обсудить детали, как на это смотрите.\nКЛИЕНТ: Так, а сколько по времени это займётся?\nМЕНЕДЖЕР: Ну, минуток пятнадцать -двадцать. Живите вместе. Все -таки оттого, с какими целями мы пришли, что будем подбирать для вас?\nКЛИЕНТ: Угу, так, ну, давайте, хорошо.\nМЕНЕДЖЕР: перенести, если вам сейчас некомфортно, все -таки чтобы вы тоже со мной в диалоге были.\nКЛИЕНТ: Так,\nКЛИЕНТ: а скажите, пожалуйста, такой вопрос, а вы можете\nКЛИЕНТ: Наобу. по Максу звонить?\nКЛИЕНТ: Ну, потому что дело в том, что, смотрите, дело в том, что я сейчас просто немножко занята, мне очень неудобно разговаривать. Вот, я смогу поговорить с вами завтра, но только по Максу. Такой вариант возможен?\nМЕНЕДЖЕР: В целом, да, Ксения, возможен такой вариант, у нас завтра про связи не будет, насколько я понимаю, да? (КЛИЕНТ: Да,) Верно?\nКЛИЕНТ: да, да, связи не будет, у меня будет только макс, то есть я могу только по вайфаю, по интернету разговаривать, (МЕНЕДЖЕР: Ага.) (МЕНЕДЖЕР: А) поэтому я (МЕНЕДЖЕР: в) (МЕНЕДЖЕР: WhatsApp) и… (МЕНЕДЖЕР: какой) Нет,\nМЕНЕДЖЕР: -то вот что -то такое из мессенджеров (КЛИЕНТ: такого) вознаграждается?\nКЛИЕНТ: нету, у меня только макс. (МЕНЕДЖЕР: Ага,)\nКЛИЕНТ: Ну (МЕНЕДЖЕР: я) (МЕНЕДЖЕР: поняла,) и телеграм (МЕНЕДЖЕР: Ксения.) еще есть, если хотите, можно еще телеграм. (МЕНЕДЖЕР: А,) Но (МЕНЕДЖЕР: ну,) (МЕНЕДЖЕР: в) по (МЕНЕДЖЕР: Telegramе) телеграму (МЕНЕДЖЕР: можно) из (МЕНЕДЖЕР: в) -за (МЕНЕДЖЕР: целом.) випиена, из -за випиена, там, то есть надо подключать випиен, и, соответственно, и просто… Смотрите, випиен же не всегда подключен, да, грубо говоря, он подключается только тогда, когда мне нужен телеграм. И поэтому, если, например, вы меня наберете в Телеграме и без VPN я буду, то мне просто не дойдет ни сообщения, ни звонок. Самый лучший вариант, конечно, Макс. Либо, допустим, вы по Максу можете мне позвонить, а я переключу на VPN и можем поговорить по Телеграму. Вот еще такой вариант.\nМЕНЕДЖЕР: Давайте как поступим тогда, а в течение сегодняшнего дня вообще не будет возможности, да, переговорить пятнадцать -двадцать минут?\nКЛИЕНТ: сегодня точно не будет.\nМЕНЕДЖЕР: А завтра в какое время будете свободны?\nКЛИЕНТ: Так давайте где -нибудь там, в районе часов двенадцати.\nМЕНЕДЖЕР: Все в двенадцати. Может быть, тогда с Вами спишемся просто в телеграмме, например, я (КЛИЕНТ: Ну) Вам напишу по (КЛИЕНТ: давайте,) номеру телефона,\nКЛИЕНТ: [наложение] давайте.\nМЕНЕДЖЕР: и в двенадцать договоримся позвонить непосредственно там. Если будет уж связь не ловить, то уже переключимся на макс. Давайте так (КЛИЕНТ: Все,) поступим тогда, (КЛИЕНТ: хорошо,) договоримся просто.\nКЛИЕНТ: [наложение] хорошо, давайте,\nМЕНЕДЖЕР: Все, тогда договорились, (КЛИЕНТ: угу,) я Вам сейчас напишу в телеграмме. И будем (КЛИЕНТ: угу,) уже все это\nКЛИЕНТ: [наложение] все,\nМЕНЕДЖЕР: лезть там непосредственно. (КЛИЕНТ: хорошо,) (КЛИЕНТ: договорились,)\nМЕНЕДЖЕР: — (КЛИЕНТ: спасибо) (КЛИЕНТ: вам) Договорились, (КЛИЕНТ: большое,) (КЛИЕНТ: извините,) Ксения, да. (КЛИЕНТ: пожалуйста,) Ничего (КЛИЕНТ: ага,) (КЛИЕНТ: до) страшного, (КЛИЕНТ: свиданья,) да, до завтра, (КЛИЕНТ: ага,) вам (КЛИЕНТ: до) хорошего дня, (КЛИЕНТ: свиданья,) до свидания. (КЛИЕНТ: и) — (КЛИЕНТ: вам) (КЛИЕНТ: тоже) Спасибо, (КЛИЕНТ: до) (КЛИЕНТ: свиданья.) до свидания.\n",
    "redacted_text": "КЛИЕНТ: Продолжаем дозваниваться до абонента. Ожидайте ответа.\nКЛИЕНТ: Алло. (МЕНЕДЖЕР: только) (МЕНЕДЖЕР: день.)\nКЛИЕНТ: Здравствуйте.\nМЕНЕДЖЕР: Здравствуйте, а это даянный Академия Эйдерсон, мы от вас получили заявку на анализ. Вы оставляли, верно? (КЛИЕНТ: Да,) — Здорово. (КЛИЕНТ: верно.) Я предлагаю пообщаться по направлению, обсудить детали, как на это смотрите.\nКЛИЕНТ: Так, а сколько по времени это займётся?\nМЕНЕДЖЕР: Ну, минуток пятнадцать -двадцать. Живите вместе. Все -таки оттого, с какими целями мы пришли, что будем подбирать для вас?\nКЛИЕНТ: [ФИО], так, ну, давайте, хорошо.\nМЕНЕДЖЕР: перенести, если вам сейчас некомфортно, все -таки чтобы вы тоже со мной в диалоге были.\nКЛИЕНТ: Так,\nКЛИЕНТ: а скажите, пожалуйста, такой вопрос, а вы можете\nКЛИЕНТ: [ФИО]. по [ФИО] звонить?\nКЛИЕНТ: Ну, потому что дело в том, что, смотрите, дело в том, что я сейчас просто немножко занята, мне очень неудобно разговаривать. Вот, я смогу поговорить с вами завтра, но только по [ФИО]. Такой вариант возможен?\nМЕНЕДЖЕР: В целом, да, [ФИО], возможен такой вариант, у нас завтра про связи не будет, насколько я понимаю, да? (КЛИЕНТ: Да,) Верно?\nКЛИЕНТ: да, да, связи не будет, у меня будет только [ФИО], то есть я могу только по вайфаю, по интернету разговаривать, (МЕНЕДЖЕР: Ага.) (МЕНЕДЖЕР: А) поэтому я (МЕНЕДЖЕР: в) (МЕНЕДЖЕР: WhatsApp) и… (МЕНЕДЖЕР: какой) Нет,\nМЕНЕДЖЕР: -то вот что -то такое из мессенджеров (КЛИЕНТ: такого) вознаграждается?\nКЛИЕНТ: нету, у меня только [ФИО]. (МЕНЕДЖЕР: Ага,)\nКЛИЕНТ: Ну (МЕНЕДЖЕР: я) (МЕНЕДЖЕР: поняла,) и телеграм (МЕНЕДЖЕР: [ФИО].) еще есть, если хотите, можно еще телеграм. (МЕНЕДЖЕР: А,) Но (МЕНЕДЖЕР: ну,) (МЕНЕДЖЕР: в) по (МЕНЕДЖЕР: Telegramе) телеграму (МЕНЕДЖЕР: можно) из (МЕНЕДЖЕР: в) -за (МЕНЕДЖЕР: целом.) випиена, из -за випиена, там, то есть надо подключать випиен, и, соответственно, и просто… Смотрите, випиен же не всегда подключен, да, грубо говоря, он подключается только тогда, когда мне нужен телеграм. И поэтому, если, например, вы меня наберете в Телеграме и без VPN я буду, то мне просто не дойдет ни сообщения, ни звонок. Самый лучший вариант, конечно, [ФИО]. Либо, допустим, вы по [ФИО] можете мне позвонить, а я переключу на VPN и можем поговорить по [ФИО]. Вот еще такой вариант.\nМЕНЕДЖЕР: Давайте как поступим тогда, а в течение сегодняшнего дня вообще не будет возможности, да, переговорить пятнадцать -двадцать минут?\nКЛИЕНТ: сегодня точно не будет.\nМЕНЕДЖЕР: А завтра в какое время будете свободны?\nКЛИЕНТ: Так давайте где -нибудь там, в районе часов двенадцати.\nМЕНЕДЖЕР: Все в двенадцати. Может быть, тогда с Вами спишемся просто в телеграмме, например, я (КЛИЕНТ: Ну) Вам напишу по (КЛИЕНТ: давайте,) номеру телефона,\nКЛИЕНТ: [наложение] давайте.\nМЕНЕДЖЕР: и в двенадцать договоримся позвонить непосредственно там. Если будет уж связь не ловить, то уже переключимся на [ФИО]. Давайте так (КЛИЕНТ: Все,) поступим тогда, (КЛИЕНТ: хорошо,) договоримся просто.\nКЛИЕНТ: [наложение] хорошо, давайте,\nМЕНЕДЖЕР: Все, тогда договорились, (КЛИЕНТ: угу,) я Вам сейчас напишу в телеграмме. И будем (КЛИЕНТ: угу,) уже все это\nКЛИЕНТ: [наложение] все,\nМЕНЕДЖЕР: лезть там непосредственно. (КЛИЕНТ: хорошо,) (КЛИЕНТ: договорились,)\nМЕНЕДЖЕР: — (КЛИЕНТ: спасибо) (КЛИЕНТ: вам) Договорились, (КЛИЕНТ: большое,) (КЛИЕНТ: извините,) [ФИО], да. (КЛИЕНТ: пожалуйста,) Ничего (КЛИЕНТ: ага,) (КЛИЕНТ: до) страшного, (КЛИЕНТ: свиданья,) да, до завтра, (КЛИЕНТ: ага,) вам (КЛИЕНТ: до) хорошего дня, (КЛИЕНТ: свиданья,) до свидания. (КЛИЕНТ: и) — (КЛИЕНТ: вам) (КЛИЕНТ: тоже) Спасибо, (КЛИЕНТ: до) (КЛИЕНТ: свиданья.) до свидания.\n",
    "segments": [
      {
        "start": 1.14,
        "end": 4.8,
        "text": "Продолжаем дозваниваться до абонента. Ожидайте ответа.",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 22.15,
        "end": 23.02,
        "text": "Алло.",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 24.46,
        "end": 25.06,
        "text": "Здравствуйте.",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 25.75,
        "end": 37.48,
        "text": "Здравствуйте, а это даянный Академия Эйдерсон, мы от вас получили заявку на анализ. Вы оставляли, верно? — Здорово. Я предлагаю пообщаться по направлению, обсудить детали, как на это смотрите.",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 39.44,
        "end": 42.02,
        "text": "Так, а сколько по времени это займётся?",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 42.5,
        "end": 48.82,
        "text": "Ну, минуток пятнадцать -двадцать. Живите вместе. Все -таки оттого, с какими целями мы пришли, что будем подбирать для вас?",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 50.34,
        "end": 52.8,
        "text": "Угу, так, ну, давайте, хорошо.",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 53.35,
        "end": 57.3,
        "text": "перенести, если вам сейчас некомфортно, все -таки чтобы вы тоже со мной в диалоге были.",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 58.34,
        "end": 58.42,
        "text": "Так,",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 59.56,
        "end": 62.16,
        "text": "а скажите, пожалуйста, такой вопрос, а вы можете",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 63.06,
        "end": 66.62,
        "text": "Наобу. по [ФИО] звонить?",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 67.9,
        "end": 79.78,
        "text": "Ну, потому что дело в том, что, смотрите, дело в том, что я сейчас просто немножко занята, мне очень неудобно разговаривать. Вот, я смогу поговорить с вами завтра, но только по [ФИО]. Такой вариант возможен?",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 81.12,
        "end": 87.82,
        "text": "В целом, да, [ФИО], возможен такой вариант, у нас завтра про связи не будет, насколько я понимаю, да? Верно?",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 87.92,
        "end": 96.52,
        "text": "да, да, связи не будет, у меня будет только [ФИО], то есть я могу только по вайфаю, по интернету разговаривать, поэтому я и… Нет,",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 94.72,
        "end": 97.24,
        "text": "-то вот что -то такое из мессенджеров вознаграждается?",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 97.02,
        "end": 98.4,
        "text": "нету, у меня только [ФИО].",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 99.46,
        "end": 132.9,
        "text": "Ну и телеграм еще есть, если хотите, можно еще телеграм. Но по телеграму из -за випиена, из -за випиена, там, то есть надо подключать випиен, и, соответственно, и просто… Смотрите, випиен же не всегда подключен, да, грубо говоря, он подключается только тогда, когда мне нужен телеграм. И поэтому, если, например, вы меня наберете в Телеграме и без VPN я буду, то мне просто не дойдет ни сообщения, ни звонок. Самый лучший вариант, конечно, [ФИО]. Либо, допустим, вы по [ФИО] можете мне позвонить, а я переключу на VPN и можем поговорить по [ФИО]. Вот еще такой вариант.",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 133.54,
        "end": 140.28,
        "text": "Давайте как поступим тогда, а в течение сегодняшнего дня вообще не будет возможности, да, переговорить пятнадцать -двадцать минут?",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 141.78,
        "end": 142.92,
        "text": "сегодня точно не будет.",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 143.44,
        "end": 145.88,
        "text": "А завтра в какое время будете свободны?",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 146.6,
        "end": 150.5,
        "text": "Так давайте где -нибудь там, в районе часов двенадцати.",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 150.92,
        "end": 157.32,
        "text": "Все в двенадцати. Может быть, тогда с Вами спишемся просто в телеграмме, например, я Вам напишу по номеру телефона,",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 157.04,
        "end": 158.76,
        "text": "давайте.",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 157.36,
        "end": 166.46,
        "text": "и в двенадцать договоримся позвонить непосредственно там. Если будет уж связь не ловить, то уже переключимся на [ФИО]. Давайте так поступим тогда, договоримся просто.",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 166.06,
        "end": 167.86,
        "text": "хорошо, давайте,",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 167.04,
        "end": 171.4,
        "text": "Все, тогда договорились, я Вам сейчас напишу в телеграмме. И будем уже все это",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 171.24,
        "end": 172.74,
        "text": "все,",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 171.4,
        "end": 172.68,
        "text": "лезть там непосредственно.",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 174.02,
        "end": 181.82,
        "text": "— Договорились, [ФИО], да. Ничего страшного, да, до завтра, вам хорошего дня, до свидания. — Спасибо, до свидания.",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      }
    ],
    "word_count": 527,
    "duration_seconds": 184.248,
    "pii_redacted_count": 13,
    "created_at": "2026-06-28T21:54:33.162363"
  },
  "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": "Здравствуйте",
        "timecode": "00:07",
        "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:12",
        "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": "Академия Эйдерсон",
        "timecode": "00:12",
        "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:15",
        "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": "fail",
        "quote": null,
        "timecode": null,
        "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": "fail",
        "quote": null,
        "timecode": null,
        "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": "fail",
        "quote": null,
        "timecode": null,
        "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": "fail",
        "quote": null,
        "timecode": null,
        "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": "fail",
        "quote": null,
        "timecode": null,
        "rationale": "Тема не поднималась",
        "applicable": true
      },
      {
        "item_no": 14,
        "item_code": "need_topics_pains",
        "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": 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": "fail",
        "quote": null,
        "timecode": null,
        "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": "n/a",
        "quote": null,
        "timecode": null,
        "rationale": "Апсейл не проводился",
        "applicable": false
      },
      {
        "item_no": 21,
        "item_code": "upsale_options",
        "title": "Предложил несколько различных тарифов",
        "section": "Upsale",
        "block": "5",
        "weight": 2,
        "is_critical": false,
        "is_conditional": true,
        "severity": "desirable",
        "status": "n/a",
        "quote": null,
        "timecode": null,
        "rationale": "Тарифы не предлагались",
        "applicable": false
      },
      {
        "item_no": 22,
        "item_code": "upsale_choice_check",
        "title": "Уточнил, на чём остановился клиент, что ему подходит",
        "section": "Upsale",
        "block": "5",
        "weight": 2,
        "is_critical": false,
        "is_conditional": false,
        "severity": "mandatory",
        "status": "n/a",
        "quote": null,
        "timecode": null,
        "rationale": "Выбор не обсуждался",
        "applicable": false
      },
      {
        "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": "fail",
        "quote": null,
        "timecode": null,
        "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": "01:35",
        "rationale": "Согласовано завтра в 12:00",
        "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": "fail",
        "quote": null,
        "timecode": null,
        "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": "Предложила Telegram — рабочий канал",
        "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": 0,
        "fail_count": 9,
        "applicable_count": 9,
        "total_count": 9,
        "percent": 0.0
      },
      "4": {
        "pass_count": 0,
        "fail_count": 2,
        "applicable_count": 2,
        "total_count": 2,
        "percent": 0.0
      },
      "5": {
        "pass_count": 0,
        "fail_count": 0,
        "applicable_count": 0,
        "total_count": 4,
        "percent": 0.0
      },
      "6": {
        "pass_count": 0,
        "fail_count": 2,
        "applicable_count": 2,
        "total_count": 2,
        "percent": 0.0
      },
      "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": 2,
        "fail_count": 1,
        "applicable_count": 3,
        "total_count": 3,
        "percent": 0.6667
      },
      "13": {
        "pass_count": 1,
        "fail_count": 0,
        "applicable_count": 1,
        "total_count": 2,
        "percent": 1.0
      }
    },
    "overall_score": 0.321,
    "confidence": "high",
    "summary": "Короткий первичный звонок. Менеджер поздоровался, представился, уточнил цель. Клиент сообщил, что занят, и предложил перенести разговор на завтра в 12:00. Менеджер согласился, договорился о связи в Telegram. Выявление потребностей, презентация и обсуждение условий не проводились.",
    "client_info_json": {
      "interest": null,
      "past_experience": null,
      "motivation": null,
      "learning_goals": null,
      "preferred_payment_method": "unknown",
      "course_tariff": null,
      "company_knowledge": null,
      "learning_preferences": null,
      "client_questions": [
        "Сколько по времени это займёт?",
        "Можете по видеосвязи звонить?"
      ],
      "lead_category": "BBB",
      "conversion_action": "Договорились о повторном звонке",
      "objections": [],
      "relevant_experience": null,
      "company_familiarity": null,
      "age": null,
      "gender": "F",
      "city": null,
      "field": null,
      "role": null,
      "financial_readiness": "unknown",
      "interest_in_certificate": null,
      "interest_in_employment": null,
      "temperature": "warm",
      "life_circumstances": "Занята, неудобно разговаривать, нет связи, возможен только видео звонок через VPN",
      "decision_maker": null
    },
    "red_flags_json": [
      {
        "code": "rf_no_needs_discovery"
      }
    ],
    "coaching_tip": "Даже при дефиците времени стоит задать 1-2 вопроса о потребностях, чтобы подготовиться к следующему звонку. Например, 'Что вас привело на курс аналитика данных?'",
    "needs_human_review": true,
    "review_reason": "red_flag",
    "llm_latency_ms": null,
    "llm_cost_usd": null,
    "input_tokens": 18075,
    "output_tokens": 7096,
    "created_at": "2026-06-28T21:55:27.377698",
    "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": false,
        "status": "n/a",
        "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": false,
        "status": "n/a",
        "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": false,
        "status": "n/a",
        "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": "fail",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "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": "fail",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "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": "fail",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "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": "fail",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "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": "fail",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "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": true,
        "status": "fail",
        "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": "fail",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "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": "fail",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "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": "Предложила Telegram — рабочий канал"
      },
      {
        "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": "01:35",
        "rationale": "Согласовано завтра в 12:00"
      },
      {
        "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": "fail",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "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": "Здравствуйте",
        "timecode": "00:07",
        "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:12",
        "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": "Академия Эйдерсон",
        "timecode": "00:12",
        "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:15",
        "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": null,
      "role": null
    },
    "motivation_json": {
      "interest": null,
      "motivation": null,
      "learning_goals": null,
      "learning_preferences": null,
      "life_circumstances": "Занята, неудобно разговаривать, нет связи, возможен только видео звонок через VPN"
    },
    "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": "Занята, неудобно разговаривать, нет связи, возможен только видео звонок через VPN",
    "decision_maker": null,
    "client_questions_json": [
      "Сколько по времени это займёт?",
      "Можете по видеосвязи звонить?"
    ],
    "extra_json": {
      "past_experience": null,
      "company_knowledge": null,
      "company_familiarity": null,
      "relevant_experience": null,
      "lead_category": "BBB",
      "conversion_action": "Договорились о повторном звонке",
      "client_questions": [
        "Сколько по времени это займёт?",
        "Можете по видеосвязи звонить?"
      ],
      "decision_maker": null
    },
    "created_at": "2026-06-28T21:55:27.386136"
  }
}