{
  "schema_version": 1,
  "call": {
    "id": "53522aa0-16e5-473c-b02c-19beb73a5360",
    "created_at": "2026-06-28T10:25:00",
    "original_filename": "comagic_6e1dc8f93e2874d9f2f0ca49efb1aacd",
    "audio_path": null,
    "audio_size_bytes": null,
    "duration_seconds": 134.856,
    "debtor_hash": null,
    "debtor_timezone": "Europe/Moscow",
    "stage": "Взяли в работу",
    "bucket": null,
    "product": "Инженер-сметчик",
    "deal_id": "46303820",
    "crm_source": "uis",
    "utm_source": "yandex",
    "utm_medium": "cpc",
    "utm_campaign": "CostEngr_MPP_MT5_yandex_mc_rf_marquiz-form-126_kval|703205098",
    "lead_category": "BBB",
    "transcript_status": "done",
    "analytics_status": "done",
    "last_error": null,
    "prompt_version": "eduson-v5.10",
    "processed_at": "2026-06-28T21:25:16.969297"
  },
  "operator": {
    "id": "fe75bf80-7a50-4a72-b606-adcbd04cfe56",
    "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КЛИЕНТ: После трёх часов.\nМЕНЕДЖЕР: Угу, да, без проблем, тогда где -то с пятнадцати до шестнадцати Москвы задайте звонка от коллеги, он связывается и подробно расскажет об общих деталях обучения.\nМЕНЕДЖЕР: Хорошего дня!\n",
    "redacted_text": "КЛИЕНТ: Алло.\nМЕНЕДЖЕР: Здравствуйте, меня зовут [ФИО], и следователем звоню по поводу обучения, хотела уточнить. Оставили заявку на курс «Инженер -смечик». Скидку активировали шестьдесят пять процентов на имя [ФИО]. Вы заявку оставляли?\nКЛИЕНТ: Да.\nМЕНЕДЖЕР: отлично. Я задам пару технических вопросов и запишу на детальную консультацию профильному специалисту. Для консультации удобное время подберем.\nМЕНЕДЖЕР: [ФИО], а почему заинтересовались обучением именно по этому направлению?\nКЛИЕНТ: Ну, потому что я хочу поменять работу в этом направлении.\nМЕНЕДЖЕР: сменить работу поняла. А сейчас чем занимаетесь, кем работаете?\nКЛИЕНТ: [адрес].\nМЕНЕДЖЕР: — [ФИО], поняла, а что -то по следам уже изучали, возможно, возможно, самостоятельно или ранее учились в этой сфере? [ФИО], поняла. Но это совсем не препятствие, так как у нас обучение сопостроено таким образом, чтобы даже без любых знаний в этой сфере всё освоить и начать зарабатывать, так как курсы у нас практикоориентированные и научитесь выполнять все необходимые действия для работы инженером -смельчаком. А почему именно сейчас решили учиться?\nКЛИЕНТ: Потому что надо учиться, — странный вопрос, — когда -то есть время подходящее. Крикнула.\nМЕНЕДЖЕР: [наложение] подтолкнул, или уже есть подходящие вакансии, которые вам предложили, или…\nКЛИЕНТ: Но, возможно, будет (МЕНЕДЖЕР: Да,) подходящая (МЕНЕДЖЕР: слушайте,) вакансия, (МЕНЕДЖЕР: да,) поэтому...\nМЕНЕДЖЕР: просто у нас есть программа содействия к трудоустройству, и вы, соответственно, сможете и до окончания курса их воспользоваться. Подскажите, а сегодня с одиннадцати до девятнадцати [адрес] во сколько удобно с профильным специалистом пообщаться для детальной консультации по вариантам программы, стоимости, длительности и нюансов оформления?\nКЛИЕНТ: После трёх часов.\nМЕНЕДЖЕР: [ФИО], да, без проблем, тогда где -то с пятнадцати до шестнадцати [адрес] задайте звонка от коллеги, он связывается и подробно расскажет об общих деталях обучения.\nМЕНЕДЖЕР: Хорошего дня!\n",
    "segments": [
      {
        "start": 0.96,
        "end": 1.66,
        "text": "Алло.",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 2.96,
        "end": 16.52,
        "text": "Здравствуйте, меня зовут [ФИО], и следователем звоню по поводу обучения, хотела уточнить. Оставили заявку на курс «Инженер -смечик». Скидку активировали шестьдесят пять процентов на имя [ФИО]. Вы заявку оставляли?",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 17.83,
        "end": 18.5,
        "text": "Да.",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 21.6,
        "end": 29.68,
        "text": "отлично. Я задам пару технических вопросов и запишу на детальную консультацию профильному специалисту. Для консультации удобное время подберем.",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 30.54,
        "end": 33.88,
        "text": "Подскажите, а почему заинтересовались обучением именно по этому направлению?",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 35.59,
        "end": 38.7,
        "text": "Ну, потому что я хочу поменять работу в этом направлении.",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 40.42,
        "end": 44.04,
        "text": "сменить работу поняла. А сейчас чем занимаетесь, кем работаете?",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 47.14,
        "end": 47.98,
        "text": "[адрес].",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 48.39,
        "end": 82.42,
        "text": "— Ага, поняла, а что -то по следам уже изучали, возможно, возможно, самостоятельно или ранее учились в этой сфере? [ФИО], поняла. Но это совсем не препятствие, так как у нас обучение сопостроено таким образом, чтобы даже без любых знаний в этой сфере всё освоить и начать зарабатывать, так как курсы у нас практикоориентированные и научитесь выполнять все необходимые действия для работы инженером -смельчаком. А почему именно сейчас решили учиться?",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 84.96,
        "end": 92.84,
        "text": "Потому что надо учиться, — странный вопрос, — когда -то есть время подходящее. Крикнула.",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 93.57,
        "end": 98.08,
        "text": "подтолкнул, или уже есть подходящие вакансии, которые вам предложили, или…",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 97.54,
        "end": 102.08,
        "text": "Но, возможно, будет подходящая вакансия, поэтому...",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 102.38,
        "end": 117.84,
        "text": "просто у нас есть программа содействия к трудоустройству, и вы, соответственно, сможете и до окончания курса их воспользоваться. Подскажите, а сегодня с одиннадцати до девятнадцати [адрес] во сколько удобно с профильным специалистом пообщаться для детальной консультации по вариантам программы, стоимости, длительности и нюансов оформления?",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 119.11,
        "end": 120.34,
        "text": "После трёх часов.",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 121.62,
        "end": 130.68,
        "text": "Угу, да, без проблем, тогда где -то с пятнадцати до шестнадцати [адрес] задайте звонка от коллеги, он связывается и подробно расскажет об общих деталях обучения.",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 132.86,
        "end": 133.72,
        "text": "Хорошего дня!",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      }
    ],
    "word_count": 275,
    "duration_seconds": 134.856,
    "pii_redacted_count": 9,
    "created_at": "2026-06-28T21:24:34.218738"
  },
  "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": "Менеджер произнёс приветствие.",
        "applicable": true
      },
      {
        "item_no": 2,
        "item_code": "greet_name",
        "title": "Консультант назвал своё имя",
        "section": "Приветствие и цель звонка",
        "block": "1",
        "weight": 2,
        "is_critical": false,
        "is_conditional": false,
        "severity": "mandatory",
        "status": "pass",
        "quote": "меня зовут [ФИО]",
        "timecode": "00:00",
        "rationale": "Менеджер назвал своё имя (скрыто).",
        "applicable": true
      },
      {
        "item_no": 3,
        "item_code": "greet_company",
        "title": "Консультант озвучил название компании",
        "section": "Приветствие и цель звонка",
        "block": "1",
        "weight": 2,
        "is_critical": false,
        "is_conditional": false,
        "severity": "mandatory",
        "status": "fail",
        "quote": null,
        "timecode": null,
        "rationale": "Название компании не прозвучало.",
        "applicable": true
      },
      {
        "item_no": 4,
        "item_code": "greet_purpose",
        "title": "Консультант уточнил цель звонка",
        "section": "Приветствие и цель звонка",
        "block": "1",
        "weight": 3,
        "is_critical": false,
        "is_conditional": false,
        "severity": "mandatory",
        "status": "pass",
        "quote": "хотела уточнить. Оставили заявку на курс «Инженер-смечик»",
        "timecode": "00:00",
        "rationale": "Уточнена цель звонка: заявка на курс.",
        "applicable": true
      },
      {
        "item_no": 5,
        "item_code": "program_acquaintance",
        "title": "Озвучен блок «знакомство»",
        "section": "Программирование",
        "block": "2",
        "weight": 1,
        "is_critical": false,
        "is_conditional": false,
        "severity": "desirable",
        "status": "pass",
        "quote": "Я задам пару технических вопросов",
        "timecode": "00:20",
        "rationale": "Анонсирован блок знакомства/выявления.",
        "applicable": true
      },
      {
        "item_no": 6,
        "item_code": "program_presentation",
        "title": "Озвучен блок «презентация программы»",
        "section": "Программирование",
        "block": "2",
        "weight": 1,
        "is_critical": false,
        "is_conditional": false,
        "severity": "desirable",
        "status": "fail",
        "quote": null,
        "timecode": null,
        "rationale": "Не анонсирован блок презентации программы.",
        "applicable": true
      },
      {
        "item_no": 7,
        "item_code": "program_questions",
        "title": "Озвучен блок «ответы на вопросы клиента»",
        "section": "Программирование",
        "block": "2",
        "weight": 1,
        "is_critical": false,
        "is_conditional": false,
        "severity": "desirable",
        "status": "fail",
        "quote": null,
        "timecode": null,
        "rationale": "Не анонсирован блок ответов на вопросы.",
        "applicable": true
      },
      {
        "item_no": 8,
        "item_code": "program_payment_option",
        "title": "Озвучен блок «варианты оплаты»",
        "section": "Программирование",
        "block": "2",
        "weight": 1,
        "is_critical": false,
        "is_conditional": false,
        "severity": "desirable",
        "status": "fail",
        "quote": null,
        "timecode": null,
        "rationale": "Не анонсирован блок вариантов оплаты.",
        "applicable": true
      },
      {
        "item_no": 9,
        "item_code": "need_occupation",
        "title": "Чем занимается клиент",
        "section": "Выявление потребностей",
        "block": "3",
        "weight": 3,
        "is_critical": false,
        "is_conditional": false,
        "severity": "mandatory",
        "status": "pass",
        "quote": "А сейчас чем занимаетесь, кем работаете?",
        "timecode": "00:30",
        "rationale": "Менеджер спросил о текущей деятельности клиента.",
        "applicable": true
      },
      {
        "item_no": 10,
        "item_code": "need_why_direction",
        "title": "Почему выбрано именно это направление",
        "section": "Выявление потребностей",
        "block": "3",
        "weight": 3,
        "is_critical": false,
        "is_conditional": false,
        "severity": "mandatory",
        "status": "pass",
        "quote": "почему заинтересовались обучением именно по этому направлению?",
        "timecode": "00:25",
        "rationale": "Выявлен мотив: смена работы.",
        "applicable": true
      },
      {
        "item_no": 11,
        "item_code": "need_goal",
        "title": "Цель обучения",
        "section": "Выявление потребностей",
        "block": "3",
        "weight": 4,
        "is_critical": false,
        "is_conditional": false,
        "severity": "mandatory",
        "status": "pass",
        "quote": "я хочу поменять работу в этом направлении",
        "timecode": "00:25",
        "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": "pass",
        "quote": "а что-то по следам уже изучали... или ранее учились в этой сфере?",
        "timecode": "00:40",
        "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": "pass",
        "quote": "курсы у нас практикоориентированные и научитесь выполнять все необходимые действия",
        "timecode": "00:50",
        "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": "pass",
        "quote": "Скидку активировали шестьдесят пять процентов",
        "timecode": "00:05",
        "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": "pass",
        "quote": "шестьдесят пять процентов",
        "timecode": "00:05",
        "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": "fail",
        "quote": null,
        "timecode": null,
        "rationale": "Согласован временной интервал (15-16), а не точное время.",
        "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": "01:50",
        "rationale": "Согласован примерный интервал для звонка коллеги.",
        "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": "Я задам пару технических вопросов и запишу на детальную консультацию",
        "timecode": "00:15",
        "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": "поняла",
        "timecode": "00:35",
        "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": "Упоминаний личных каналов нет, передача коллеге – в рамках CRM.",
        "applicable": true
      }
    ],
    "section_scores_json": {
      "1": {
        "pass_count": 3,
        "fail_count": 1,
        "applicable_count": 4,
        "total_count": 4,
        "percent": 0.75
      },
      "2": {
        "pass_count": 1,
        "fail_count": 3,
        "applicable_count": 4,
        "total_count": 4,
        "percent": 0.25
      },
      "3": {
        "pass_count": 4,
        "fail_count": 5,
        "applicable_count": 9,
        "total_count": 9,
        "percent": 0.4444
      },
      "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": 1,
        "fail_count": 1,
        "applicable_count": 2,
        "total_count": 2,
        "percent": 0.5
      },
      "7": {
        "pass_count": 0,
        "fail_count": 1,
        "applicable_count": 1,
        "total_count": 4,
        "percent": 0.0
      },
      "8": {
        "pass_count": 2,
        "fail_count": 2,
        "applicable_count": 4,
        "total_count": 4,
        "percent": 0.5
      },
      "9": {
        "pass_count": 0,
        "fail_count": 0,
        "applicable_count": 0,
        "total_count": 3,
        "percent": 0.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": 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.47,
    "confidence": "medium",
    "summary": "Менеджер поздоровался, представился, уточнил цель звонка и задал базовые вопросы о текущей деятельности и мотивации клиента. Выяснил, что клиент хочет сменить работу на инженера-сметчика. Кратко рассказал о формате обучения, упомянул скидку 65% и договорился о консультации со специалистом в интервале 15:00-16:00. Не было полноценной презентации программы, обсуждения тарифов, попытки закрытия или обработки возражений.",
    "client_info_json": {
      "interest": "Инженер-сметчик",
      "past_experience": null,
      "motivation": "Смена работы",
      "learning_goals": "Получить знания для работы инженером-сметчиком",
      "preferred_payment_method": "unknown",
      "course_tariff": null,
      "company_knowledge": "Администратор (текущая работа)",
      "learning_preferences": null,
      "client_questions": [],
      "lead_category": "BBB",
      "conversion_action": "Договорились о повторном звонке",
      "objections": [],
      "relevant_experience": "none",
      "company_familiarity": null,
      "age": null,
      "gender": "unknown",
      "city": null,
      "field": "Строительство/сметное дело",
      "role": "Администратор",
      "financial_readiness": "unknown",
      "interest_in_certificate": null,
      "interest_in_employment": null,
      "temperature": "warm",
      "life_circumstances": null,
      "decision_maker": true
    },
    "red_flags_json": [
      {
        "code": "rf_no_close_attempt"
      }
    ],
    "coaching_tip": "Рекомендуется структурировать разговор: анонсировать блоки (презентация, вопросы, оплата), после выявления потребностей давать развёрнутую презентацию программы, а не сразу передавать специалисту. Также стоит практиковать закрытие на звонке хотя бы с предложением следующего шага с точным временем.",
    "needs_human_review": true,
    "review_reason": "red_flag",
    "llm_latency_ms": null,
    "llm_cost_usd": null,
    "input_tokens": 17286,
    "output_tokens": 6801,
    "created_at": "2026-06-28T21:25:16.951225",
    "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": "Я задам пару технических вопросов и запишу на детальную консультацию",
        "timecode": "00:15",
        "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": "поняла",
        "timecode": "00:35",
        "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": "pass",
        "score": 3.0,
        "quote": "А сейчас чем занимаетесь, кем работаете?",
        "timecode": "00:30",
        "rationale": "Менеджер спросил о текущей деятельности клиента."
      },
      {
        "item_no": 10,
        "item_code": "need_why_direction",
        "block": "3",
        "section": "Выявление потребностей",
        "title": "Почему выбрано именно это направление",
        "weight": 3,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": true,
        "status": "pass",
        "score": 3.0,
        "quote": "почему заинтересовались обучением именно по этому направлению?",
        "timecode": "00:25",
        "rationale": "Выявлен мотив: смена работы."
      },
      {
        "item_no": 11,
        "item_code": "need_goal",
        "block": "3",
        "section": "Выявление потребностей",
        "title": "Цель обучения",
        "weight": 4,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": true,
        "status": "pass",
        "score": 4.0,
        "quote": "я хочу поменять работу в этом направлении",
        "timecode": "00:25",
        "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": "pass",
        "score": 3.0,
        "quote": "а что-то по следам уже изучали... или ранее учились в этой сфере?",
        "timecode": "00:40",
        "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": "Упоминаний личных каналов нет, передача коллеге – в рамках CRM."
      },
      {
        "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": "Согласован временной интервал (15-16), а не точное время."
      },
      {
        "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": "01:50",
        "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": "pass",
        "score": 3.0,
        "quote": "Скидку активировали шестьдесят пять процентов",
        "timecode": "00:05",
        "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": "pass",
        "score": 2.0,
        "quote": "шестьдесят пять процентов",
        "timecode": "00:05",
        "rationale": "Размер скидки озвучен."
      },
      {
        "item_no": 33,
        "item_code": "price_before_after",
        "block": "8",
        "section": "Обсуждение цены и формата оплаты",
        "title": "Презентовал цену до скидки и после",
        "weight": 3,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": true,
        "status": "fail",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Цена до и после скидки не названа."
      },
      {
        "item_no": 34,
        "item_code": "close_in_moment",
        "block": "9",
        "section": "Предложил ли оплату в моменте",
        "title": "Предложил оформление в моменте",
        "weight": 4,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": true,
        "applicable": false,
        "status": "n/a",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Звонок квалификационный, попытка закрытия в моменте не предусмотрена."
      },
      {
        "item_no": 35,
        "item_code": "close_full_today",
        "block": "9",
        "section": "Предложил ли оплату в моменте",
        "title": "Если выбрана полная оплата — предложил оплатить сегодня",
        "weight": 3,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": true,
        "applicable": false,
        "status": "n/a",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Полная оплата не обсуждалась."
      },
      {
        "item_no": 36,
        "item_code": "close_install_now",
        "block": "9",
        "section": "Предложил ли оплату в моменте",
        "title": "Если выбрана рассрочка — оформил её на звонке",
        "weight": 3,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": true,
        "applicable": false,
        "status": "n/a",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Рассрочка не обсуждалась."
      },
      {
        "item_no": 24,
        "item_code": "pres_program",
        "block": "6",
        "section": "Презентация",
        "title": "Сделал презентацию программы обучения",
        "weight": 4,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": true,
        "status": "fail",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Содержательная презентация программы не проведена (передано специалисту)."
      },
      {
        "item_no": 25,
        "item_code": "pres_format",
        "block": "6",
        "section": "Презентация",
        "title": "Сделал презентацию формата обучения",
        "weight": 3,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": true,
        "status": "pass",
        "score": 3.0,
        "quote": "курсы у нас практикоориентированные и научитесь выполнять все необходимые действия",
        "timecode": "00:50",
        "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:00",
        "rationale": "Менеджер произнёс приветствие."
      },
      {
        "item_no": 2,
        "item_code": "greet_name",
        "block": "1",
        "section": "Приветствие и цель звонка",
        "title": "Консультант назвал своё имя",
        "weight": 2,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": true,
        "status": "pass",
        "score": 2.0,
        "quote": "меня зовут [ФИО]",
        "timecode": "00:00",
        "rationale": "Менеджер назвал своё имя (скрыто)."
      },
      {
        "item_no": 3,
        "item_code": "greet_company",
        "block": "1",
        "section": "Приветствие и цель звонка",
        "title": "Консультант озвучил название компании",
        "weight": 2,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": true,
        "status": "fail",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Название компании не прозвучало."
      },
      {
        "item_no": 4,
        "item_code": "greet_purpose",
        "block": "1",
        "section": "Приветствие и цель звонка",
        "title": "Консультант уточнил цель звонка",
        "weight": 3,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": true,
        "status": "pass",
        "score": 3.0,
        "quote": "хотела уточнить. Оставили заявку на курс «Инженер-смечик»",
        "timecode": "00:00",
        "rationale": "Уточнена цель звонка: заявка на курс."
      },
      {
        "item_no": 5,
        "item_code": "program_acquaintance",
        "block": "2",
        "section": "Программирование",
        "title": "Озвучен блок «знакомство»",
        "weight": 1,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": true,
        "status": "pass",
        "score": 1.0,
        "quote": "Я задам пару технических вопросов",
        "timecode": "00:20",
        "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": "unknown",
      "city": null,
      "sphere": "Строительство/сметное дело",
      "role": "Администратор"
    },
    "motivation_json": {
      "interest": "Инженер-сметчик",
      "motivation": "Смена работы",
      "learning_goals": "Получить знания для работы инженером-сметчиком",
      "learning_preferences": null,
      "life_circumstances": null
    },
    "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": null,
    "decision_maker": true,
    "client_questions_json": [],
    "extra_json": {
      "past_experience": null,
      "company_knowledge": "Администратор (текущая работа)",
      "company_familiarity": null,
      "relevant_experience": "none",
      "lead_category": "BBB",
      "conversion_action": "Договорились о повторном звонке",
      "client_questions": [],
      "decision_maker": true
    },
    "created_at": "2026-06-28T21:25:16.970923"
  }
}