{
  "schema_version": 1,
  "call": {
    "id": "46350c0a-185c-498a-99b4-20c2dd021456",
    "created_at": "2026-06-28T17:53:10",
    "original_filename": "sipuni_1782658171_465933",
    "audio_path": null,
    "audio_size_bytes": null,
    "duration_seconds": 211.968,
    "debtor_hash": null,
    "debtor_timezone": "Europe/Moscow",
    "stage": "Контакт установлен",
    "bucket": null,
    "product": "Excel",
    "deal_id": "46304834",
    "crm_source": "sipuni",
    "utm_source": "cpa",
    "utm_medium": "offer61701",
    "utm_campaign": "wm168126",
    "lead_category": "BBB",
    "transcript_status": "done",
    "analytics_status": "done",
    "last_error": null,
    "prompt_version": "eduson-v5.10",
    "processed_at": "2026-06-28T23:19:46.090743"
  },
  "operator": {
    "id": "36d19bc3-c91b-4613-9061-a1aa08e2d1a3",
    "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МЕНЕДЖЕР: Отлично. И сориентируйтесь, пожалуйста, вообще под какие задачи смотрите обучение? То чем занимаетесь, в какой сфере работаете?\nКЛИЕНТ: Я на IT работаю, как для общего, в развитии, просто иногда приходится, так слегка сталкиваться, а я уже поняла, что забыла с институтом.\nКЛИЕНТ: А Ника про моменты и не знала.\nМЕНЕДЖЕР: Так, поняла. Ну, у Вас какой спектр задач, то аналитика, какие -то таблицы, сложные расчеты, чтобы хотя бы понимать.\nКЛИЕНТ: Аналитика, наверно.\nМЕНЕДЖЕР: Поняла. А по поводу самого онлайн -обучения, какой опыт вообще есть или был?\nКЛИЕНТ: Ужаса нет, не было.\nМЕНЕДЖЕР: Ориентируйте, пожалуйста, вообще, какие критерии для Вас важны, какие пожелания в формате есть?\nКЛИЕНТ: Я хотела бы про программу курса, а я прочитала программу курса. Я хотела бы, вы посмотрите, для себя понять, нужно это общеразвитие на татуационную линию?\nМЕНЕДЖЕР: Просто смотрите, (КЛИЕНТ: есть) (КЛИЕНТ: я) Excel,\nКЛИЕНТ: [наложение] вообще в другую область работаю, я сработаю.\nКЛИЕНТ: [наложение] А это было просто для общего развития, мало ли, решить первые деятельности.\nМЕНЕДЖЕР: Google таблица, они используются в любом случае везде. То есть по данному направлению сейчас курсы варьируются в среднем от двадцати восьми тысяч до тридцати шести. Если брать самый расширенный пакет, там как раз дается и аналитика, и продвинутые функции и так далее. Т.е. саму программу курса вы видели?\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МЕНЕДЖЕР: [ФИО]. И сориентируйтесь, пожалуйста, вообще под какие задачи смотрите обучение? То чем занимаетесь, в какой сфере работаете?\nКЛИЕНТ: Я на IT работаю, как для общего, в развитии, просто иногда приходится, так слегка сталкиваться, а я уже поняла, что забыла с институтом.\nКЛИЕНТ: А [ФИО] про моменты и не знала.\nМЕНЕДЖЕР: Так, поняла. Ну, у Вас какой спектр задач, то аналитика, какие -то таблицы, сложные расчеты, чтобы хотя бы понимать.\nКЛИЕНТ: Аналитика, наверно.\nМЕНЕДЖЕР: [ФИО]. А по поводу самого онлайн -обучения, какой опыт вообще есть или был?\nКЛИЕНТ: Ужаса нет, не было.\nМЕНЕДЖЕР: [ФИО], пожалуйста, вообще, какие критерии для Вас важны, какие пожелания в формате есть?\nКЛИЕНТ: Я хотела бы про программу курса, а я прочитала программу курса. Я хотела бы, вы посмотрите, для себя понять, нужно это общеразвитие на татуационную линию?\nМЕНЕДЖЕР: Просто смотрите, (КЛИЕНТ: есть) (КЛИЕНТ: я) Excel,\nКЛИЕНТ: [наложение] вообще в другую область работаю, я сработаю.\nКЛИЕНТ: [наложение] А это было просто для общего развития, мало ли, решить первые деятельности.\nМЕНЕДЖЕР: Google таблица, они используются в любом случае везде. То есть по данному направлению сейчас курсы варьируются в среднем от двадцати восьми тысяч до тридцати шести. Если брать самый расширенный пакет, там как раз дается и аналитика, и продвинутые функции и так далее. Т.е. саму программу курса вы видели?\nКЛИЕНТ: Ну, да, еще два года стало.\nМЕНЕДЖЕР: По бюджету вообще мы сами проходим? (КЛИЕНТ: Угу.)\nМЕНЕДЖЕР: А вы когда планировали начать обучение, если все подойдет?\nКЛИЕНТ: Желательно в конце июля, потому что я сейчас уезжаю в поездку по [адрес].\nМЕНЕДЖЕР: Ну, вы сейчас можете записаться по скидке по набору группы, то есть в любом случае сама программа, она открывается вам целиком, а начать можно в любое удобное для вас время. Могу предложить формат отложенного старта.\nКЛИЕНТ: какой формат?\nМЕНЕДЖЕР: Формат отложенного старта, то есть сама программа, она в любом случае вам открывается целиком, а начать учиться вы можете в удобное для себя время.\nКЛИЕНТ: хорошо.\nМЕНЕДЖЕР: По поводу самой программы тогда подскажите, пожалуйста, вам ее как удобнее отправить, вы готовы записаться на обучение сейчас?\nКЛИЕНТ: Так, еще раз, вопрос не приняла.\nМЕНЕДЖЕР: Я просто (КЛИЕНТ: Повтори.) так понимаю, что вы где -то в шумном заведении, Может быть, вам удобно перезвонить или вам написать? – Да.\nКЛИЕНТ: Если Вам будет удобно написать в [ФИО], вот (МЕНЕДЖЕР: –) где у\nМЕНЕДЖЕР: [наложение] Хорошо,\nКЛИЕНТ: [наложение] меня есть, А если перезвоните завтра, потому что сейчас я в аэропорту служу, вы правы.\nМЕНЕДЖЕР: тогда давайте начнем максимум.\nКЛИЕНТ: Все, спасибо. Спасибо большое. До свидания.\n",
    "segments": [
      {
        "start": 0.68,
        "end": 1.14,
        "text": "А вы?",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 1.8,
        "end": 7.4,
        "text": "Одавно Добрый вечер. Это [ФИО] из Академии Eduson. Удобно разговаривать? Добавил",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 7.33,
        "end": 8.09,
        "text": "Да, поздравляю тебя.",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 9.33,
        "end": 13.79,
        "text": "Получила от Вас заявку на присуждение порции, что для гугл -таблицы нужно поздно.",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 15.5,
        "end": 16.62,
        "text": "Да, она оставляла.",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 17.24,
        "end": 18.6,
        "text": "Сейчас есть время общаться?",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 20.52,
        "end": 26.36,
        "text": "В первую очередь, тогда у Вас уточнится, вообще обращаетесь как физическое или юридическое лицо.",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 28.52,
        "end": 30.56,
        "text": "Учиться будете именно вы, правильно я понимаю?",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 30.5,
        "end": 31.84,
        "text": "Угу, да.",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 32.36,
        "end": 38.6,
        "text": "Отлично. И сориентируйтесь, пожалуйста, вообще под какие задачи смотрите обучение? То чем занимаетесь, в какой сфере работаете?",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 39.52,
        "end": 47.34,
        "text": "Я на IT работаю, как для общего, в развитии, просто иногда приходится, так слегка сталкиваться, а я уже поняла, что забыла с институтом.",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 48.46,
        "end": 50.68,
        "text": "А [ФИО] про моменты и не знала.",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 52.36,
        "end": 60.86,
        "text": "Так, поняла. Ну, у Вас какой спектр задач, то аналитика, какие -то таблицы, сложные расчеты, чтобы хотя бы понимать.",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 62.06,
        "end": 62.94,
        "text": "Аналитика, наверно.",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 64.78,
        "end": 69.68,
        "text": "Поняла. А по поводу самого онлайн -обучения, какой опыт вообще есть или был?",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 71.83,
        "end": 72.79,
        "text": "Ужаса нет, не было.",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 74.58,
        "end": 78.94,
        "text": "[ФИО], пожалуйста, вообще, какие критерии для Вас важны, какие пожелания в формате есть?",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 82.54,
        "end": 92.26,
        "text": "Я хотела бы про программу курса, а я прочитала программу курса. Я хотела бы, вы посмотрите, для себя понять, нужно это общеразвитие на татуационную линию?",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 94.48,
        "end": 107.64,
        "text": "Просто смотрите, Excel,",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 95.97,
        "end": 98.77,
        "text": "вообще в другую область работаю, я сработаю.",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 100.0,
        "end": 104.62,
        "text": "А это было просто для общего развития, мало ли, решить первые деятельности.",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 107.76,
        "end": 127.88,
        "text": "Google таблица, они используются в любом случае везде. То есть по данному направлению сейчас курсы варьируются в среднем от двадцати восьми тысяч до тридцати шести. Если брать самый расширенный пакет, там как раз дается и аналитика, и продвинутые функции и так далее. Т.е. саму программу курса вы видели?",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 129.78,
        "end": 131.42,
        "text": "Ну, да, еще два года стало.",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 133.0,
        "end": 135.26,
        "text": "По бюджету вообще мы сами проходим?",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 138.63,
        "end": 142.54,
        "text": "А вы когда планировали начать обучение, если все подойдет?",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 144.54,
        "end": 148.6,
        "text": "Желательно в конце июля, потому что я сейчас уезжаю в поездку по [адрес].",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 150.47,
        "end": 161.98,
        "text": "Ну, вы сейчас можете записаться по скидке по набору группы, то есть в любом случае сама программа, она открывается вам целиком, а начать можно в любое удобное для вас время. Могу предложить формат отложенного старта.",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 162.92,
        "end": 163.94,
        "text": "какой формат?",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 164.2,
        "end": 172.26,
        "text": "Формат отложенного старта, то есть сама программа, она в любом случае вам открывается целиком, а начать учиться вы можете в удобное для себя время.",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 173.77,
        "end": 174.15,
        "text": "хорошо.",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 178.02,
        "end": 185.28,
        "text": "По поводу самой программы тогда подскажите, пожалуйста, вам ее как удобнее отправить, вы готовы записаться на обучение сейчас?",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 187.14,
        "end": 189.42,
        "text": "Так, еще раз, вопрос не приняла.",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 190.63,
        "end": 200.6,
        "text": "Я просто так понимаю, что вы где -то в шумном заведении, Может быть, вам удобно перезвонить или вам написать? – Да.",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 197.84,
        "end": 201.32,
        "text": "Если Вам будет удобно написать в [ФИО], вот где у",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 201.28,
        "end": 205.78,
        "text": "Хорошо,",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 201.32,
        "end": 205.68,
        "text": "меня есть, А если перезвоните завтра, потому что сейчас я в аэропорту служу, вы правы.",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 205.78,
        "end": 208.04,
        "text": "тогда давайте начнем максимум.",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 208.72,
        "end": 211.76,
        "text": "Все, спасибо. Спасибо большое. До свидания.",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      }
    ],
    "word_count": 485,
    "duration_seconds": 211.968,
    "pii_redacted_count": 8,
    "created_at": "2026-06-28T23:18:36.788351"
  },
  "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:00",
        "rationale": "LLM пропустил",
        "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": "[ФИО] из Академии Eduson",
        "timecode": "00:00",
        "rationale": "LLM пропустил",
        "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": "LLM пропустил",
        "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:10",
        "rationale": "LLM пропустил",
        "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": "Я на IT работаю",
        "timecode": "00:40",
        "rationale": "LLM пропустил",
        "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": "01:00",
        "rationale": "LLM пропустил",
        "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": "01:00",
        "rationale": "LLM пропустил",
        "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": "n/a",
        "quote": null,
        "timecode": null,
        "rationale": "Курс Excel не является профессией.",
        "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": "01:00",
        "rationale": "LLM пропустил",
        "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": "pass",
        "quote": "какой опыт есть или был?",
        "timecode": "01:00",
        "rationale": "LLM пропустил",
        "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": "pass",
        "quote": "Если брать самый расширенный пакет, там дается аналитика и продвинутые функции",
        "timecode": "01:20",
        "rationale": "LLM пропустил",
        "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": "pass",
        "quote": "курсы варьируются от 28 до 36 тысяч",
        "timecode": "01:20",
        "rationale": "LLM пропустил",
        "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": "pass",
        "quote": "самый расширенный пакет",
        "timecode": "01:20",
        "rationale": "LLM пропустил",
        "applicable": true
      },
      {
        "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:40",
        "rationale": "LLM пропустил",
        "applicable": true
      },
      {
        "item_no": 26,
        "item_code": "obj_detected",
        "title": "У клиента есть сомнения или возражения",
        "section": "Работа с возражениями",
        "block": "7",
        "weight": 1,
        "is_critical": false,
        "is_conditional": false,
        "severity": "mandatory",
        "status": "pass",
        "quote": "Я хотела бы про программу курса... посмотрите, для себя понять",
        "timecode": "00:50",
        "rationale": "LLM пропустил",
        "applicable": true
      },
      {
        "item_no": 27,
        "item_code": "obj_count",
        "title": "Количество возражений в звонке",
        "section": "Работа с возражениями",
        "block": "7",
        "weight": 1,
        "is_critical": false,
        "is_conditional": true,
        "severity": "desirable",
        "status": "pass",
        "quote": "2",
        "timecode": null,
        "rationale": "Потребность посмотреть программу и занятость (поездка).",
        "applicable": true
      },
      {
        "item_no": 28,
        "item_code": "obj_handled_count",
        "title": "Количество отработанных возражений",
        "section": "Работа с возражениями",
        "block": "7",
        "weight": 1,
        "is_critical": false,
        "is_conditional": true,
        "severity": "desirable",
        "status": "pass",
        "quote": "2",
        "timecode": null,
        "rationale": "Предложен отложенный старт и отправка программы.",
        "applicable": true
      },
      {
        "item_no": 29,
        "item_code": "obj_handled_each",
        "title": "Каждое возражение отработано (да/нет)",
        "section": "Работа с возражениями",
        "block": "7",
        "weight": 5,
        "is_critical": false,
        "is_conditional": true,
        "severity": "mandatory",
        "status": "pass",
        "quote": null,
        "timecode": null,
        "rationale": "Оба возражения отработаны.",
        "applicable": true
      },
      {
        "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": "pass",
        "quote": "вы готовы записаться на обучение сейчас?",
        "timecode": "01:50",
        "rationale": "LLM пропустил",
        "applicable": true
      },
      {
        "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": "fail",
        "quote": null,
        "timecode": null,
        "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": "pass",
        "quote": "завтра",
        "timecode": "02:00",
        "rationale": "LLM пропустил",
        "applicable": true
      },
      {
        "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": "01:50",
        "rationale": "LLM пропустил",
        "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": 5,
        "fail_count": 3,
        "applicable_count": 8,
        "total_count": 9,
        "percent": 0.625
      },
      "4": {
        "pass_count": 0,
        "fail_count": 2,
        "applicable_count": 2,
        "total_count": 2,
        "percent": 0.0
      },
      "5": {
        "pass_count": 3,
        "fail_count": 1,
        "applicable_count": 4,
        "total_count": 4,
        "percent": 0.75
      },
      "6": {
        "pass_count": 1,
        "fail_count": 1,
        "applicable_count": 2,
        "total_count": 2,
        "percent": 0.5
      },
      "7": {
        "pass_count": 4,
        "fail_count": 0,
        "applicable_count": 4,
        "total_count": 4,
        "percent": 1.0
      },
      "8": {
        "pass_count": 0,
        "fail_count": 4,
        "applicable_count": 4,
        "total_count": 4,
        "percent": 0.0
      },
      "9": {
        "pass_count": 1,
        "fail_count": 0,
        "applicable_count": 1,
        "total_count": 3,
        "percent": 1.0
      },
      "10": {
        "pass_count": 1,
        "fail_count": 1,
        "applicable_count": 2,
        "total_count": 2,
        "percent": 0.5
      },
      "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.697,
    "confidence": "medium",
    "summary": "Менеджер провёл выявление потребностей (сфера IT, задачи аналитики), предложил два тарифа и вариант отложенного старта. Однако отсутствовало структурирование звонка (программирование блоков), не было резюме потребностей, обоснования пригодности курса, не обсуждались детали цены и способ оплаты. Клиент отложил решение до получения программы, договорились о повторном звонке завтра.",
    "client_info_json": {
      "interest": "Excel/Google таблицы",
      "past_experience": "Нет опыта онлайн-обучения",
      "motivation": "Для общего развития",
      "learning_goals": "Аналитика",
      "preferred_payment_method": "unknown",
      "course_tariff": "от 28 до 36 тыс.",
      "company_knowledge": null,
      "learning_preferences": "Хочет сначала увидеть программу",
      "client_questions": [
        "Про программу курса"
      ],
      "lead_category": "BBB",
      "conversion_action": "Договорились о повторном звонке",
      "objections": [
        "Нужна дополнительная информация",
        "Нет времени на обучение"
      ],
      "relevant_experience": "none",
      "company_familiarity": false,
      "age": null,
      "gender": "F",
      "city": null,
      "field": "IT",
      "role": null,
      "financial_readiness": "medium",
      "interest_in_certificate": null,
      "interest_in_employment": null,
      "temperature": "warm",
      "life_circumstances": "Планирует поездку в конце июля",
      "decision_maker": true
    },
    "red_flags_json": [],
    "coaching_tip": "Рекомендуется анонсировать этапы разговора, резюмировать потребности после выявления, делать мост от потребностей к конкретному тарифу, а также уточнять способ оплаты и размер скидки.",
    "needs_human_review": true,
    "review_reason": "new_manager",
    "llm_latency_ms": null,
    "llm_cost_usd": null,
    "input_tokens": 17741,
    "output_tokens": 8588,
    "created_at": "2026-06-28T23:19:46.085122",
    "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": "pass",
        "score": 3.0,
        "quote": "Если брать самый расширенный пакет, там дается аналитика и продвинутые функции",
        "timecode": "01:20",
        "rationale": "LLM пропустил"
      },
      {
        "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": "pass",
        "score": 2.0,
        "quote": "курсы варьируются от 28 до 36 тысяч",
        "timecode": "01:20",
        "rationale": "LLM пропустил"
      },
      {
        "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": true,
        "status": "pass",
        "score": 1.0,
        "quote": "самый расширенный пакет",
        "timecode": "01:20",
        "rationale": "LLM пропустил"
      },
      {
        "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": "01:50",
        "rationale": "LLM пропустил"
      },
      {
        "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": "Я на IT работаю",
        "timecode": "00:40",
        "rationale": "LLM пропустил"
      },
      {
        "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": "01:00",
        "rationale": "LLM пропустил"
      },
      {
        "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": "01:00",
        "rationale": "LLM пропустил"
      },
      {
        "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": false,
        "status": "n/a",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Курс Excel не является профессией."
      },
      {
        "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": "01:00",
        "rationale": "LLM пропустил"
      },
      {
        "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": "pass",
        "score": 3.0,
        "quote": "какой опыт есть или был?",
        "timecode": "01:00",
        "rationale": "LLM пропустил"
      },
      {
        "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": "Предложил написать в мессенджер (рабочий канал)."
      },
      {
        "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": "fail",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "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": true,
        "status": "pass",
        "score": 2.0,
        "quote": "завтра",
        "timecode": "02:00",
        "rationale": "LLM пропустил"
      },
      {
        "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": true,
        "status": "pass",
        "score": 4.0,
        "quote": "вы готовы записаться на обучение сейчас?",
        "timecode": "01:50",
        "rationale": "LLM пропустил"
      },
      {
        "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:40",
        "rationale": "LLM пропустил"
      },
      {
        "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:00",
        "rationale": "LLM пропустил"
      },
      {
        "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": "[ФИО] из Академии Eduson",
        "timecode": "00:00",
        "rationale": "LLM пропустил"
      },
      {
        "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": "LLM пропустил"
      },
      {
        "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:10",
        "rationale": "LLM пропустил"
      },
      {
        "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": "pass",
        "score": 1.0,
        "quote": "Я хотела бы про программу курса... посмотрите, для себя понять",
        "timecode": "00:50",
        "rationale": "LLM пропустил"
      },
      {
        "item_no": 27,
        "item_code": "obj_count",
        "block": "7",
        "section": "Работа с возражениями",
        "title": "Количество возражений в звонке",
        "weight": 1,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": true,
        "applicable": true,
        "status": "pass",
        "score": 1.0,
        "quote": "2",
        "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": true,
        "status": "pass",
        "score": 1.0,
        "quote": "2",
        "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": true,
        "status": "pass",
        "score": 5.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": "IT",
      "role": null
    },
    "motivation_json": {
      "interest": "Excel/Google таблицы",
      "motivation": "Для общего развития",
      "learning_goals": "Аналитика",
      "learning_preferences": "Хочет сначала увидеть программу",
      "life_circumstances": "Планирует поездку в конце июля"
    },
    "finance_json": {
      "preferred_payment_method": "unknown",
      "financial_readiness": "medium",
      "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": "Нет опыта онлайн-обучения",
      "company_knowledge": null,
      "company_familiarity": false,
      "relevant_experience": "none",
      "lead_category": "BBB",
      "conversion_action": "Договорились о повторном звонке",
      "client_questions": [
        "Про программу курса"
      ],
      "decision_maker": true
    },
    "created_at": "2026-06-28T23:19:46.092071"
  }
}