{
  "schema_version": 1,
  "call": {
    "id": "2995ab9f-617c-424b-990f-f2d8ecb0e29f",
    "created_at": "2026-06-28T18:24:37",
    "original_filename": "sipuni_1782659986_466830",
    "audio_path": null,
    "audio_size_bytes": null,
    "duration_seconds": 297.504,
    "debtor_hash": null,
    "debtor_timezone": "Europe/Moscow",
    "stage": "Контакт установлен",
    "bucket": null,
    "product": "Autocad для инженеров",
    "deal_id": "46302696",
    "crm_source": "sipuni",
    "utm_source": "avito28",
    "utm_medium": "8009932827",
    "utm_campaign": "AutoCAD_MPP_AR1_avito28_8009932827",
    "lead_category": "BBB",
    "transcript_status": "done",
    "analytics_status": "done",
    "last_error": null,
    "prompt_version": "eduson-v5.10",
    "processed_at": "2026-06-28T23:30:50.639455"
  },
  "operator": {
    "id": "4c3af9eb-e1e1-4747-9076-ca4b28def09e",
    "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МЕНЕДЖЕР: Да, там просто основная ценность какая -то, что вы получаете полный комплект инженера под ключ, проектирование, понимание строительных процессов, автоматизация, рутинные задачи, и, то есть, получается, вместо одного инструмента, потому что Автокад все -таки – это всего лишь инструмент, у (КЛИЕНТ: Да.) вас системная профессия (КЛИЕНТ: Спасибо.) плюс ускорение работы за счет нейросистемы. Просто становитесь более востребованными специалистами, потому что мы сейчас видим, как растет спрос, прям приходят и собственники строительных компаний, девелопменты часто обращаются. И вот как раз системная база, профессия, понимаем, разбираемся Состроительные процессы, документация, смета, логика работы на объектах — это фундамент, без которого (КЛИЕНТ: Угу.) просто автокад остается программой. Нейросети — это автоматизация расчетов, документов, рутинных задач, потому что нейросети сейчас экономят десятки часов времени и снижают количество ошибок. Но, естественно, автокад, он все равно нужен в ежедневной работе, и здесь вы его просто получаете как без доплаты, как по условиям акций он в подарок идет.\nМЕНЕДЖЕР: быть, три курса, да, но единственное, что, да, чуть подлительнее будет курс, вот, но опять же напоминаю, что вы здесь учитесь в то время, которое вам удобно.\nМЕНЕДЖЕР: [наложение] Олимпийская\nКЛИЕНТ: [наложение] Я специалисту объясняю, сейчас я пойму, с какого я там момента начну работать, ну, во сколько я буду приезжать с работы,\nКЛИЕНТ: Насколько я могу уже, ну, как -то будет для меня чуть -чуть понятно, чтобы, да, я там не сегодня начал, а, может, там через неделю начну.\nКЛИЕНТ: Ну, уже курсы в отношениях,\nКЛИЕНТ: просто (МЕНЕДЖЕР: смотрите,) меньше понимания поверить (МЕНЕДЖЕР: да,) не надо.\nМЕНЕДЖЕР: поэтому здесь каким образом можно Образом вообще обучения выстраиваются, ну, здесь у Вас получается где -то три -четыре месяца, но опять же, все зависит от того, сколько времени Вы выделяете.\nМЕНЕДЖЕР: Обучение на интерактивных стимуляторах, то есть вместо скучных видео Вы используете уникальный софт -интерактив, то есть Вы не просто смотрите, как там тикер чертит, например, в Автокаде, Вы сами кликаете по элементам внутри, встроенного в платформу, тренажер -стимулятор программы, ошибки подсвечиваются. Здесь уникальный блок от экспертов -практиков, посвященный тому, как инженеры пытаются юридически защитить строительную компанию, как правильно фиксировать долг работы, чтобы заказчик их оплатил, как сдать исполнительную документацию с первого раза без бесконечных правок со стороны техназора. Поэтому здесь у вас такой формат, когда вы можете в свободное время, условно говоря, видео лекцию посмотреть, практическое ожидание на симуляторе, когда появится, и уже инженерные кейсы, схемы водопровода, исполнительные схемы, где и провязка там объекта выпуска...\nКЛИЕНТ: Аппарат абонента выключен или наоборот. находятся вне зоны действия сети. The subscriber's phone is switched off or out of the coverage.\n",
    "redacted_text": "МЕНЕДЖЕР: Алло!\nКЛИЕНТ: Алло, да связь пропадает, позвоню (МЕНЕДЖЕР: [ФИО],) же.\nМЕНЕДЖЕР: а где вы находитесь территориально?\nКЛИЕНТ: так, ты край.\nМЕНЕДЖЕР: Да оно у вас обрывается, просто через минуту сорвалось. Я даже не поняла, что вы без связи, (КЛИЕНТ: Ну,) а через какое (КЛИЕНТ: по) -то\nКЛИЕНТ: всей стране проблемы такие, не (МЕНЕДЖЕР: Ну) только у меня.\nМЕНЕДЖЕР: да, да, ну просто так вот прям в диалоге бывает плохо слышно, прям слышно, ну вот чтоб разрывалась связь так (КЛИЕНТ: У) часто.\nКЛИЕНТ: нас это постоянно.\nМЕНЕДЖЕР: Скажите, пожалуйста, мне вопрос, тут указано, что вы работаете\nМЕНЕДЖЕР: какой должности работаете?\nМЕНЕДЖЕР: Вы прораб, а получается, в автокаде вам просто нужно освежить знания, правильно?\nКЛИЕНТ: ну я просто давно когда -то работал в видео, ну, немного таких каких -то там делал, небольшие там какие -то, знаете, как, не в поинте там что -то делать, а, ну, более видео там, вот, так что почти считаю это знаний никаких [ФИО] такая да.\nМЕНЕДЖЕР: вы сейчас переходите в другую должность. почему вообще автока[адрес].\nКЛИЕНТ: Мне надо освежить память по челькижам, но когда я буду в них работать, я уже буду понимать, откуда складываются.\nМЕНЕДЖЕР: [наложение] Я просто хотела бы Вам сказать, что у нас есть программа «Инженер ПТО плюс нейросети в строительстве», и сейчас акция, что автокад идет в подарок. Вы нейросети начали использовать? У нас прямо узкопрофильное обучение по нейросетям там именно только для строителей, то есть для обычного человека они подходят, потому что там, ну, мы работаем со специализированными нейросетями, ну, и помогает это очень сильно строительству. Вам вообще как бы интересно такой курс?\nКЛИЕНТ: [наложение] ну да, интересное направление.\nМЕНЕДЖЕР: Да, там просто основная ценность какая -то, что вы получаете полный комплект инженера под ключ, проектирование, понимание строительных процессов, автоматизация, рутинные задачи, и, то есть, получается, вместо одного инструмента, потому что [ФИО] все -таки – это всего лишь инструмент, у (КЛИЕНТ: Да.) вас системная профессия (КЛИЕНТ: Спасибо.) плюс ускорение работы за счет нейросистемы. Просто становитесь более востребованными специалистами, потому что мы сейчас видим, как растет спрос, прям приходят и собственники строительных компаний, девелопменты часто обращаются. И вот как раз системная база, профессия, понимаем, разбираемся [ФИО] процессы, документация, смета, логика работы на объектах — это фундамент, без которого (КЛИЕНТ: Угу.) просто автокад остается программой. Нейросети — это автоматизация расчетов, документов, рутинных задач, потому что нейросети сейчас экономят десятки часов времени и снижают количество ошибок. Но, естественно, автокад, он все равно нужен в ежедневной работе, и здесь вы его просто получаете как без доплаты, как по условиям акций он в подарок идет.\nМЕНЕДЖЕР: быть, три курса, да, но единственное, что, да, чуть подлительнее будет курс, вот, но опять же напоминаю, что вы здесь учитесь в то время, которое вам удобно.\nМЕНЕДЖЕР: [наложение] Олимпийская\nКЛИЕНТ: [наложение] Я специалисту объясняю, сейчас я пойму, с какого я там момента начну работать, ну, во сколько я буду приезжать с работы,\nКЛИЕНТ: Насколько я могу уже, ну, как -то будет для меня чуть -чуть понятно, чтобы, да, я там не сегодня начал, а, может, там через неделю начну.\nКЛИЕНТ: Ну, уже курсы в отношениях,\nКЛИЕНТ: просто (МЕНЕДЖЕР: смотрите,) меньше понимания поверить (МЕНЕДЖЕР: да,) не надо.\nМЕНЕДЖЕР: поэтому здесь каким образом можно Образом вообще обучения выстраиваются, ну, здесь у Вас получается где -то три -четыре месяца, но опять же, все зависит от того, сколько времени Вы выделяете.\nМЕНЕДЖЕР: Обучение на интерактивных стимуляторах, то есть вместо скучных видео Вы используете уникальный софт -интерактив, то есть Вы не просто смотрите, как там тикер чертит, например, в [адрес], Вы сами кликаете по элементам внутри, встроенного в платформу, тренажер -стимулятор программы, ошибки подсвечиваются. Здесь уникальный блок от экспертов -практиков, посвященный тому, как инженеры пытаются юридически защитить строительную компанию, как правильно фиксировать долг работы, чтобы заказчик их оплатил, как сдать исполнительную документацию с первого раза без бесконечных правок со стороны техназора. Поэтому здесь у вас такой формат, когда вы можете в свободное время, условно говоря, видео лекцию посмотреть, практическое ожидание на симуляторе, когда появится, и уже инженерные кейсы, схемы водопровода, исполнительные схемы, где и провязка там объекта выпуска...\nКЛИЕНТ: Аппарат абонента выключен или наоборот. находятся вне зоны действия сети. The subscriber's phone is switched off or out of the coverage.\n",
    "segments": [
      {
        "start": 1.35,
        "end": 2.23,
        "text": "Алло!",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 3.04,
        "end": 5.76,
        "text": "Алло, да связь пропадает, позвоню же.",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 5.88,
        "end": 7.7,
        "text": "а где вы находитесь территориально?",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 9.59,
        "end": 10.13,
        "text": "так, ты край.",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 10.77,
        "end": 16.53,
        "text": "Да оно у вас обрывается, просто через минуту сорвалось. Я даже не поняла, что вы без связи, а через какое -то",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 16.88,
        "end": 19.7,
        "text": "всей стране проблемы такие, не только у меня.",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 19.53,
        "end": 24.95,
        "text": "да, да, ну просто так вот прям в диалоге бывает плохо слышно, прям слышно, ну вот чтоб разрывалась связь так часто.",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 25.08,
        "end": 26.32,
        "text": "нас это постоянно.",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 27.0,
        "end": 29.98,
        "text": "Скажите, пожалуйста, мне вопрос, тут указано, что вы работаете",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 30.88,
        "end": 32.32,
        "text": "какой должности работаете?",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 34.98,
        "end": 40.94,
        "text": "Вы прораб, а получается, в автокаде вам просто нужно освежить знания, правильно?",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 43.06,
        "end": 62.38,
        "text": "ну я просто давно когда -то работал в видео, ну, немного таких каких -то там делал, небольшие там какие -то, знаете, как, не в поинте там что -то делать, а, ну, более видео там, вот, так что почти считаю это знаний никаких [ФИО] такая да.",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 62.69,
        "end": 68.7,
        "text": "вы сейчас переходите в другую должность. почему вообще автока[адрес].",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 69.0,
        "end": 76.54,
        "text": "Мне надо освежить память по челькижам, но когда я буду в них работать, я уже буду понимать, откуда складываются.",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 77.28,
        "end": 107.6,
        "text": "Я просто хотела бы Вам сказать, что у нас есть программа «Инженер ПТО плюс нейросети в строительстве», и сейчас акция, что автокад идет в подарок. Вы нейросети начали использовать? У нас прямо узкопрофильное обучение по нейросетям там именно только для строителей, то есть для обычного человека они подходят, потому что там, ну, мы работаем со специализированными нейросетями, ну, и помогает это очень сильно строительству. Вам вообще как бы интересно такой курс?",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 106.66,
        "end": 108.38,
        "text": "ну да, интересное направление.",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 108.58,
        "end": 175.3,
        "text": "Да, там просто основная ценность какая -то, что вы получаете полный комплект инженера под ключ, проектирование, понимание строительных процессов, автоматизация, рутинные задачи, и, то есть, получается, вместо одного инструмента, потому что [ФИО] все -таки – это всего лишь инструмент, у вас системная профессия плюс ускорение работы за счет нейросистемы. Просто становитесь более востребованными специалистами, потому что мы сейчас видим, как растет спрос, прям приходят и собственники строительных компаний, девелопменты часто обращаются. И вот как раз системная база, профессия, понимаем, разбираемся [ФИО] процессы, документация, смета, логика работы на объектах — это фундамент, без которого просто автокад остается программой. Нейросети — это автоматизация расчетов, документов, рутинных задач, потому что нейросети сейчас экономят десятки часов времени и снижают количество ошибок. Но, естественно, автокад, он все равно нужен в ежедневной работе, и здесь вы его просто получаете как без доплаты, как по условиям акций он в подарок идет.",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 176.3,
        "end": 191.02,
        "text": "быть, три курса, да, но единственное, что, да, чуть подлительнее будет курс, вот, но опять же напоминаю, что вы здесь учитесь в то время, которое вам удобно.",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 191.84,
        "end": 193.12,
        "text": "Олимпийская",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 192.3,
        "end": 201.44,
        "text": "Я специалисту объясняю, сейчас я пойму, с какого я там момента начну работать, ну, во сколько я буду приезжать с работы,",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 202.24,
        "end": 211.32,
        "text": "Насколько я могу уже, ну, как -то будет для меня чуть -чуть понятно, чтобы, да, я там не сегодня начал, а, может, там через неделю начну.",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 212.74,
        "end": 214.56,
        "text": "Ну, уже курсы в отношениях,",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 215.96,
        "end": 217.9,
        "text": "просто меньше понимания поверить не надо.",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 218.5,
        "end": 229.06,
        "text": "поэтому здесь каким образом можно Образом вообще обучения выстраиваются, ну, здесь у Вас получается где -то три -четыре месяца, но опять же, все зависит от того, сколько времени Вы выделяете.",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 229.9,
        "end": 285.34,
        "text": "Обучение на интерактивных стимуляторах, то есть вместо скучных видео Вы используете уникальный софт -интерактив, то есть Вы не просто смотрите, как там тикер чертит, например, в [адрес], Вы сами кликаете по элементам внутри, встроенного в платформу, тренажер -стимулятор программы, ошибки подсвечиваются. Здесь уникальный блок от экспертов -практиков, посвященный тому, как инженеры пытаются юридически защитить строительную компанию, как правильно фиксировать долг работы, чтобы заказчик их оплатил, как сдать исполнительную документацию с первого раза без бесконечных правок со стороны техназора. Поэтому здесь у вас такой формат, когда вы можете в свободное время, условно говоря, видео лекцию посмотреть, практическое ожидание на симуляторе, когда появится, и уже инженерные кейсы, схемы водопровода, исполнительные схемы, где и провязка там объекта выпуска...",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 285.32,
        "end": 294.85,
        "text": "Аппарат абонента выключен или наоборот. находятся вне зоны действия сети. The subscriber's phone is switched off or out of the coverage.",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      }
    ],
    "word_count": 687,
    "duration_seconds": 297.504,
    "pii_redacted_count": 6,
    "created_at": "2026-06-28T23:30:00.175168"
  },
  "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": "fail",
        "quote": null,
        "timecode": null,
        "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": "fail",
        "quote": null,
        "timecode": null,
        "rationale": "Цель звонка не уточнена.",
        "applicable": true
      },
      {
        "item_no": 5,
        "item_code": "program_acquaintance",
        "title": "Озвучен блок «знакомство»",
        "section": "Программирование",
        "block": "2",
        "weight": 1,
        "is_critical": false,
        "is_conditional": false,
        "severity": "desirable",
        "status": "fail",
        "quote": null,
        "timecode": null,
        "rationale": "Нет анонса блока знакомства/выявления.",
        "applicable": true
      },
      {
        "item_no": 6,
        "item_code": "program_presentation",
        "title": "Озвучен блок «презентация программы»",
        "section": "Программирование",
        "block": "2",
        "weight": 1,
        "is_critical": false,
        "is_conditional": false,
        "severity": "desirable",
        "status": "fail",
        "quote": null,
        "timecode": null,
        "rationale": "Не анонсирован блок презентации.",
        "applicable": true
      },
      {
        "item_no": 7,
        "item_code": "program_questions",
        "title": "Озвучен блок «ответы на вопросы клиента»",
        "section": "Программирование",
        "block": "2",
        "weight": 1,
        "is_critical": false,
        "is_conditional": false,
        "severity": "desirable",
        "status": "fail",
        "quote": null,
        "timecode": null,
        "rationale": "Не анонсирован блок вопросов.",
        "applicable": true
      },
      {
        "item_no": 8,
        "item_code": "program_payment_option",
        "title": "Озвучен блок «варианты оплаты»",
        "section": "Программирование",
        "block": "2",
        "weight": 1,
        "is_critical": false,
        "is_conditional": false,
        "severity": "desirable",
        "status": "fail",
        "quote": null,
        "timecode": null,
        "rationale": "Не анонсирован блок оплаты.",
        "applicable": true
      },
      {
        "item_no": 9,
        "item_code": "need_occupation",
        "title": "Чем занимается клиент",
        "section": "Выявление потребностей",
        "block": "3",
        "weight": 3,
        "is_critical": false,
        "is_conditional": false,
        "severity": "mandatory",
        "status": "pass",
        "quote": "Вы прораб",
        "timecode": "00: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:50",
        "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:50",
        "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": "n/a",
        "quote": null,
        "timecode": null,
        "rationale": "Курс инструментальный (AutoCAD), критерий неприменим.",
        "applicable": false
      },
      {
        "item_no": 14,
        "item_code": "need_topics_pains",
        "title": "Какие темы интересуют, какие сложности есть сейчас",
        "section": "Выявление потребностей",
        "block": "3",
        "weight": 3,
        "is_critical": false,
        "is_conditional": false,
        "severity": "mandatory",
        "status": "pass",
        "quote": "надо освежить память по чертежам",
        "timecode": "00:50",
        "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:35",
        "rationale": "Менеджер спросил, нужно ли освежить знания, клиент рассказал о прошлом опыте.",
        "applicable": true
      },
      {
        "item_no": 17,
        "item_code": "need_has_experience",
        "title": "У клиента есть опыт работы по интересующей специальности",
        "section": "Выявление потребностей",
        "block": "3",
        "weight": 1,
        "is_critical": false,
        "is_conditional": false,
        "severity": "desirable",
        "status": "pass",
        "quote": "давно когда-то работал в видео, небольшие чертежи",
        "timecode": "00:40",
        "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": "pass",
        "quote": "в автокаде вам просто нужно освежить знания, правильно?",
        "timecode": "00:35",
        "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:10",
        "rationale": "Менеджер объяснил ценность комплексного курса.",
        "applicable": true
      },
      {
        "item_no": 21,
        "item_code": "upsale_options",
        "title": "Предложил несколько различных тарифов",
        "section": "Upsale",
        "block": "5",
        "weight": 2,
        "is_critical": false,
        "is_conditional": true,
        "severity": "desirable",
        "status": "fail",
        "quote": null,
        "timecode": null,
        "rationale": "Предложен только один вариант – Инженер ПТО + нейросети.",
        "applicable": true
      },
      {
        "item_no": 22,
        "item_code": "upsale_choice_check",
        "title": "Уточнил, на чём остановился клиент, что ему подходит",
        "section": "Upsale",
        "block": "5",
        "weight": 2,
        "is_critical": false,
        "is_conditional": false,
        "severity": "mandatory",
        "status": "fail",
        "quote": null,
        "timecode": null,
        "rationale": "Вопрос о выборе не задан.",
        "applicable": true
      },
      {
        "item_no": 23,
        "item_code": "upsale_course_proposed",
        "title": "Какой курс предложен в качестве Upsale (метаполе)",
        "section": "Upsale",
        "block": "5",
        "weight": 1,
        "is_critical": false,
        "is_conditional": true,
        "severity": "desirable",
        "status": "n/a",
        "quote": "Инженер ПТО плюс нейросети в строительстве",
        "timecode": "01:05",
        "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": "pass",
        "quote": "основная ценность – полный комплект инженера под ключ, нейросети экономят время",
        "timecode": "01:10",
        "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": "обучение на интерактивных стимуляторах, 3-4 месяца",
        "timecode": "02:00",
        "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": "pass",
        "quote": "сейчас я пойму... может через неделю начну",
        "timecode": "02:20",
        "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": "Засчитано 1 возражение.",
        "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": "Возражение отработано (1).",
        "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": "pass",
        "quote": "зависит от того, сколько времени Вы выделяете",
        "timecode": "02:30",
        "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": "fail",
        "quote": null,
        "timecode": null,
        "rationale": "Попытка закрытия в моменте отсутствует.",
        "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": "fail",
        "quote": null,
        "timecode": null,
        "rationale": "Рассрочка не предлагалась и не оформлялась.",
        "applicable": true
      },
      {
        "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": "fail",
        "quote": null,
        "timecode": null,
        "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": "здесь каким образом можно обучения выстраиваются, зависит от времени",
        "timecode": "02:30",
        "rationale": "Менеджер отвечает на реплики клиента.",
        "applicable": true
      },
      {
        "item_no": 40,
        "item_code": "prof_no_rude",
        "title": "Консультант не грубил, не проявлял обиду к клиенту",
        "section": "Профессионализм",
        "block": "11",
        "weight": 5,
        "is_critical": true,
        "is_conditional": false,
        "severity": "prohibited",
        "status": "pass",
        "quote": null,
        "timecode": null,
        "rationale": "Грубости не зафиксировано.",
        "applicable": true
      },
      {
        "item_no": 41,
        "item_code": "active_lead",
        "title": "Менеджер активно вёл диалог",
        "section": "Активная позиция менеджера",
        "block": "12",
        "weight": 3,
        "is_critical": false,
        "is_conditional": false,
        "severity": "mandatory",
        "status": "pass",
        "quote": null,
        "timecode": null,
        "rationale": "Менеджер задавал вопросы, презентовал.",
        "applicable": true
      },
      {
        "item_no": 42,
        "item_code": "active_engaged",
        "title": "Проявлял заинтересованность в общении",
        "section": "Активная позиция менеджера",
        "block": "12",
        "weight": 2,
        "is_critical": false,
        "is_conditional": false,
        "severity": "desirable",
        "status": "pass",
        "quote": null,
        "timecode": null,
        "rationale": "Менеджер проявлял интерес.",
        "applicable": true
      },
      {
        "item_no": 43,
        "item_code": "active_persuade",
        "title": "Консультант пытался убедить клиента принять решение",
        "section": "Активная позиция менеджера",
        "block": "12",
        "weight": 4,
        "is_critical": false,
        "is_conditional": false,
        "severity": "mandatory",
        "status": "fail",
        "quote": null,
        "timecode": null,
        "rationale": "Попытка убедить отсутствует.",
        "applicable": true
      },
      {
        "item_no": 44,
        "item_code": "crm_followup",
        "title": "Перезвонил в согласованное время / соблюдал договорённости",
        "section": "Корректность заполнения по клиенту в CRM",
        "block": "13",
        "weight": 2,
        "is_critical": false,
        "is_conditional": true,
        "severity": "mandatory",
        "status": "n/a",
        "quote": null,
        "timecode": null,
        "rationale": "Договорённостей не было.",
        "applicable": false
      },
      {
        "item_no": 45,
        "item_code": "crm_no_personal_channel",
        "title": "Не ориентировал клиента на личные каналы связи",
        "section": "Корректность заполнения по клиенту в CRM",
        "block": "13",
        "weight": 3,
        "is_critical": false,
        "is_conditional": false,
        "severity": "mandatory",
        "status": "pass",
        "quote": null,
        "timecode": null,
        "rationale": "Личные каналы не упоминались.",
        "applicable": true
      }
    ],
    "section_scores_json": {
      "1": {
        "pass_count": 1,
        "fail_count": 3,
        "applicable_count": 4,
        "total_count": 4,
        "percent": 0.25
      },
      "2": {
        "pass_count": 0,
        "fail_count": 4,
        "applicable_count": 4,
        "total_count": 4,
        "percent": 0.0
      },
      "3": {
        "pass_count": 6,
        "fail_count": 2,
        "applicable_count": 8,
        "total_count": 9,
        "percent": 0.75
      },
      "4": {
        "pass_count": 1,
        "fail_count": 1,
        "applicable_count": 2,
        "total_count": 2,
        "percent": 0.5
      },
      "5": {
        "pass_count": 1,
        "fail_count": 2,
        "applicable_count": 3,
        "total_count": 4,
        "percent": 0.3333
      },
      "6": {
        "pass_count": 2,
        "fail_count": 0,
        "applicable_count": 2,
        "total_count": 2,
        "percent": 1.0
      },
      "7": {
        "pass_count": 2,
        "fail_count": 0,
        "applicable_count": 2,
        "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": 0,
        "fail_count": 2,
        "applicable_count": 2,
        "total_count": 3,
        "percent": 0.0
      },
      "10": {
        "pass_count": 0,
        "fail_count": 2,
        "applicable_count": 2,
        "total_count": 2,
        "percent": 0.0
      },
      "11": {
        "pass_count": 2,
        "fail_count": 0,
        "applicable_count": 2,
        "total_count": 2,
        "percent": 1.0
      },
      "12": {
        "pass_count": 2,
        "fail_count": 1,
        "applicable_count": 3,
        "total_count": 3,
        "percent": 0.6667
      },
      "13": {
        "pass_count": 1,
        "fail_count": 0,
        "applicable_count": 1,
        "total_count": 2,
        "percent": 1.0
      }
    },
    "overall_score": 0.548,
    "confidence": "medium",
    "summary": "Менеджер установил контакт, выяснил должность клиента (прораб), потребность (освежить знания AutoCAD) и предложил комплексный курс 'Инженер ПТО + нейросети'. Звонок прервался из-за плохой связи. Не обсуждались цена, способы оплаты, не сделана попытка закрытия, не назначен следующий шаг.",
    "client_info_json": {
      "interest": "освежить знания по AutoCAD для работы",
      "past_experience": "давно работал с чертежами, немного делал в AutoCAD",
      "motivation": "нужно для работы прорабом, понимать чертежи",
      "learning_goals": "освежить память по чертежам",
      "preferred_payment_method": "unknown",
      "course_tariff": "Инженер ПТО плюс нейросети в строительстве",
      "company_knowledge": null,
      "learning_preferences": null,
      "client_questions": [],
      "lead_category": "BBB",
      "conversion_action": "Нет КД",
      "objections": [
        "Нужно время на принятие решения"
      ],
      "relevant_experience": "has",
      "company_familiarity": null,
      "age": null,
      "gender": "M",
      "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"
      },
      {
        "code": "rf_no_next_step"
      }
    ],
    "coaching_tip": "В начале звонка обязательно представляться по имени и компании. После выявления потребностей анонсировать структуру разговора. Обязательно обсуждать стоимость и варианты оплаты, делать попытку закрытия в моменте и назначать точное время следующего контакта.",
    "needs_human_review": true,
    "review_reason": "red_flag",
    "llm_latency_ms": null,
    "llm_cost_usd": null,
    "input_tokens": 18098,
    "output_tokens": 6859,
    "created_at": "2026-06-28T23:30:50.391560",
    "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:10",
        "rationale": "Менеджер объяснил ценность комплексного курса."
      },
      {
        "item_no": 21,
        "item_code": "upsale_options",
        "block": "5",
        "section": "Upsale",
        "title": "Предложил несколько различных тарифов",
        "weight": 2,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": true,
        "applicable": true,
        "status": "fail",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Предложен только один вариант – Инженер ПТО + нейросети."
      },
      {
        "item_no": 22,
        "item_code": "upsale_choice_check",
        "block": "5",
        "section": "Upsale",
        "title": "Уточнил, на чём остановился клиент, что ему подходит",
        "weight": 2,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": true,
        "status": "fail",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Вопрос о выборе не задан."
      },
      {
        "item_no": 23,
        "item_code": "upsale_course_proposed",
        "block": "5",
        "section": "Upsale",
        "title": "Какой курс предложен в качестве Upsale (метаполе)",
        "weight": 1,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": true,
        "applicable": false,
        "status": "n/a",
        "score": 0.0,
        "quote": "Инженер ПТО плюс нейросети в строительстве",
        "timecode": "01:05",
        "rationale": "Менеджер предложил данный курс как апсейл."
      },
      {
        "item_no": 41,
        "item_code": "active_lead",
        "block": "12",
        "section": "Активная позиция менеджера",
        "title": "Менеджер активно вёл диалог",
        "weight": 3,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": true,
        "status": "pass",
        "score": 3.0,
        "quote": null,
        "timecode": null,
        "rationale": "Менеджер задавал вопросы, презентовал."
      },
      {
        "item_no": 42,
        "item_code": "active_engaged",
        "block": "12",
        "section": "Активная позиция менеджера",
        "title": "Проявлял заинтересованность в общении",
        "weight": 2,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": true,
        "status": "pass",
        "score": 2.0,
        "quote": null,
        "timecode": null,
        "rationale": "Менеджер проявлял интерес."
      },
      {
        "item_no": 43,
        "item_code": "active_persuade",
        "block": "12",
        "section": "Активная позиция менеджера",
        "title": "Консультант пытался убедить клиента принять решение",
        "weight": 4,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": true,
        "status": "fail",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Попытка убедить отсутствует."
      },
      {
        "item_no": 9,
        "item_code": "need_occupation",
        "block": "3",
        "section": "Выявление потребностей",
        "title": "Чем занимается клиент",
        "weight": 3,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": true,
        "status": "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:50",
        "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:50",
        "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": false,
        "status": "n/a",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Курс инструментальный (AutoCAD), критерий неприменим."
      },
      {
        "item_no": 14,
        "item_code": "need_topics_pains",
        "block": "3",
        "section": "Выявление потребностей",
        "title": "Какие темы интересуют, какие сложности есть сейчас",
        "weight": 3,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": true,
        "status": "pass",
        "score": 3.0,
        "quote": "надо освежить память по чертежам",
        "timecode": "00:50",
        "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:35",
        "rationale": "Менеджер спросил, нужно ли освежить знания, клиент рассказал о прошлом опыте."
      },
      {
        "item_no": 17,
        "item_code": "need_has_experience",
        "block": "3",
        "section": "Выявление потребностей",
        "title": "У клиента есть опыт работы по интересующей специальности",
        "weight": 1,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": true,
        "status": "pass",
        "score": 1.0,
        "quote": "давно когда-то работал в видео, небольшие чертежи",
        "timecode": "00:40",
        "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": "fail",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Приблизительное время не согласовано."
      },
      {
        "item_no": 30,
        "item_code": "price_discount_focus",
        "block": "8",
        "section": "Обсуждение цены и формата оплаты",
        "title": "Презентовал стоимость с акцентом на скидке клиента",
        "weight": 3,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": true,
        "status": "fail",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Стоимость не обсуждалась."
      },
      {
        "item_no": 31,
        "item_code": "price_payment_method",
        "block": "8",
        "section": "Обсуждение цены и формата оплаты",
        "title": "Уточнил, какой метод оплаты удобен клиенту",
        "weight": 3,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": true,
        "status": "fail",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Метод оплаты не уточнялся."
      },
      {
        "item_no": 32,
        "item_code": "price_discount_size",
        "block": "8",
        "section": "Обсуждение цены и формата оплаты",
        "title": "Назвал размер скидки",
        "weight": 2,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": true,
        "status": "fail",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Размер скидки не назван."
      },
      {
        "item_no": 33,
        "item_code": "price_before_after",
        "block": "8",
        "section": "Обсуждение цены и формата оплаты",
        "title": "Презентовал цену до скидки и после",
        "weight": 3,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": true,
        "status": "fail",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Цена не презентована."
      },
      {
        "item_no": 34,
        "item_code": "close_in_moment",
        "block": "9",
        "section": "Предложил ли оплату в моменте",
        "title": "Предложил оформление в моменте",
        "weight": 4,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": true,
        "applicable": true,
        "status": "fail",
        "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": true,
        "status": "fail",
        "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": "pass",
        "score": 4.0,
        "quote": "основная ценность – полный комплект инженера под ключ, нейросети экономят время",
        "timecode": "01:10",
        "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": "обучение на интерактивных стимуляторах, 3-4 месяца",
        "timecode": "02:00",
        "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": "fail",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "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": "fail",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Цель звонка не уточнена."
      },
      {
        "item_no": 5,
        "item_code": "program_acquaintance",
        "block": "2",
        "section": "Программирование",
        "title": "Озвучен блок «знакомство»",
        "weight": 1,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": true,
        "status": "fail",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Нет анонса блока знакомства/выявления."
      },
      {
        "item_no": 6,
        "item_code": "program_presentation",
        "block": "2",
        "section": "Программирование",
        "title": "Озвучен блок «презентация программы»",
        "weight": 1,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": true,
        "status": "fail",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Не анонсирован блок презентации."
      },
      {
        "item_no": 7,
        "item_code": "program_questions",
        "block": "2",
        "section": "Программирование",
        "title": "Озвучен блок «ответы на вопросы клиента»",
        "weight": 1,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": true,
        "status": "fail",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Не анонсирован блок вопросов."
      },
      {
        "item_no": 8,
        "item_code": "program_payment_option",
        "block": "2",
        "section": "Программирование",
        "title": "Озвучен блок «варианты оплаты»",
        "weight": 1,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": true,
        "status": "fail",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Не анонсирован блок оплаты."
      },
      {
        "item_no": 39,
        "item_code": "prof_listens",
        "block": "11",
        "section": "Профессионализм",
        "title": "Консультант слышит клиента и отвечает по сути",
        "weight": 4,
        "section_weight": 0.0,
        "is_critical": true,
        "is_conditional": false,
        "applicable": true,
        "status": "pass",
        "score": 4.0,
        "quote": "здесь каким образом можно обучения выстраиваются, зависит от времени",
        "timecode": "02:30",
        "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": "02:20",
        "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": "Засчитано 1 возражение."
      },
      {
        "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": "Возражение отработано (1)."
      },
      {
        "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": "зависит от того, сколько времени Вы выделяете",
        "timecode": "02:30",
        "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": "pass",
        "score": 2.0,
        "quote": "в автокаде вам просто нужно освежить знания, правильно?",
        "timecode": "00:35",
        "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": "M",
      "city": null,
      "sphere": "строительство",
      "role": "прораб"
    },
    "motivation_json": {
      "interest": "освежить знания по AutoCAD для работы",
      "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": "давно работал с чертежами, немного делал в AutoCAD",
      "company_knowledge": null,
      "company_familiarity": null,
      "relevant_experience": "has",
      "lead_category": "BBB",
      "conversion_action": "Нет КД",
      "client_questions": [],
      "decision_maker": true
    },
    "created_at": "2026-06-28T23:30:50.640861"
  }
}