{
  "schema_version": 1,
  "call": {
    "id": "3048bc87-73e9-444f-8bf2-0f60da7c6b28",
    "created_at": "2026-07-01T18:05:58",
    "original_filename": "comagic_3b240f22f1545270ebbdcbe762a13e55",
    "audio_path": null,
    "audio_size_bytes": null,
    "duration_seconds": 232.776,
    "debtor_hash": null,
    "debtor_timezone": "Europe/Moscow",
    "stage": "Квалифицирован",
    "bucket": null,
    "product": "Менеджер по работе с маркетплейсами",
    "deal_id": "46312876",
    "crm_source": "uis",
    "utm_source": null,
    "utm_medium": null,
    "utm_campaign": null,
    "lead_category": "AAA",
    "transcript_status": "done",
    "analytics_status": "done",
    "last_error": null,
    "prompt_version": "eduson-v5.10",
    "processed_at": "2026-07-02T01:57:17.693348"
  },
  "operator": {
    "id": "41be6755-3909-406f-a025-7f56074d963f",
    "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МЕНЕДЖЕР: Вашей стороны? Да, смотрите, вы когда, получается, проходите курс, там в конце будет такая анкета, там где нужно будет как раз прикрепить фото скана вашего диплома, там серия, номер паспорта, какая дата, все данные. И мы вам тогда, соответственно, как раз направляем оригинал на указанный вами адрес в чате подписи, то есть чтобы получить оригинал. А сейчас нужно будет, в принципе, для регистрации, там получается ваша фамилия и имя, и, соответственно, я вам уже направляю после для контакта и доступа вашего куратора, чтобы вы могли как раз приступить к курсу. Фамилию вашу, я вижу, вы указывали Нагорного, поэтому я ее у вас не уточняла. (КЛИЕНТ: Угу.) (КЛИЕНТ: Угу.) И далее, то есть, соответственно, вам уже сразу дублируют доступ, и там заходите на платформу, регистрируетесь, то есть там нужно будет указать вашу фамилию, имя, телефон, почту и пароль дот, который вам проще заполнить. То есть вы можете заходить с любого устройства, как домашний рабочий, компьютер, ну, без разницы, да. IP не привязывается, процесс сохраняется. Поэтому, в принципе, там будет все у вас доступно.\nКЛИЕНТ: там моя фамилия имя, и поэтому будет доступно.\nМЕНЕДЖЕР: Да, потому что оно идет только для вас. То есть вы в регистре, то (КЛИЕНТ: Угу,) есть у вас в уличный (КЛИЕНТ: угу.) кабинет, никаких сторонних там, то есть только ваш доступ идет. То есть поэтому мы говорим, что вы создаете свой пароль, то есть чтобы вы могли как раз по нему заходить.\nКЛИЕНТ: Ага, все поняла, это уже завтра, мы уже (МЕНЕДЖЕР: Да,) спим почти, (МЕНЕДЖЕР: я) (МЕНЕДЖЕР: понимаю,) да\nМЕНЕДЖЕР: [наложение] что у вас поиск не вечный, да,\nКЛИЕНТ: [наложение] -да\nМЕНЕДЖЕР: мы просто говорили, что вам вечером позвонить, когда там маленького (КЛИЕНТ: -да,) уходите (КЛИЕНТ: Когда) спать, (КЛИЕНТ: он) поэтому... (КЛИЕНТ: спит.)\nМЕНЕДЖЕР: Да, поэтому уточняю. Я вам тогда сейчас, смотрите, указываю, что менеджер поработал с македонскими плюс один, то есть что он второй курс ведет в подарок, как мы с вами обсудили, и, соответственно, вот вам я сейчас ссылочку направляю. Так, ссылку направила вам в чат, и ее же вам сразу дублирую на почту.\nМЕНЕДЖЕР: Должно будет Вам поступить, (КЛИЕНТ: Аккуратор,) допустим?\nКЛИЕНТ: надеюсь, через Марс, да, сейчас всё? (МЕНЕДЖЕР: Да,) (МЕНЕДЖЕР: да,)\nКЛИЕНТ: Перешли (МЕНЕДЖЕР: ну,) все (МЕНЕДЖЕР: мы) на (МЕНЕДЖЕР: направляем) Макс. -то (МЕНЕДЖЕР: все) другое.\nМЕНЕДЖЕР: варианты, получается, там будет, получается, и Telegram, почта, контакт, то есть все возможные варианты. Да, Женя?\nМЕНЕДЖЕР: [наложение] Так, Валерия, я направила Вам также на почту эту же ссылку, то есть протугировала на gmail.com, то есть выгляжу, по ссылке\nКЛИЕНТ: [наложение] Только раз не оплачивать, то есть побыть.\nМЕНЕДЖЕР: переходите, да, через любую карту можете провести через систему быстрых платежей также оплату.\nКЛИЕНТ: ну, это сейчас надо прям, срочно сделать.\nМЕНЕДЖЕР: Можете, да, в ближайшее время провести оплату, я уже начинаю доступ подготовить, чтобы сразу вам всё направить.\nМЕНЕДЖЕР: Хорошо, давай режем тогда подтверждение, напишите все это. Спасибо.\n",
    "redacted_text": "КЛИЕНТ: Алло.\nМЕНЕДЖЕР: [ФИО], здравствуйте, это [ФИО], удобно говорить? Договориться звоните чуть позже.\nКЛИЕНТ: Да, да, кто (МЕНЕДЖЕР: [ФИО],) другой номер, (МЕНЕДЖЕР: я) (МЕНЕДЖЕР: хотела...) что ли? (МЕНЕДЖЕР: Да,)\nКЛИЕНТ: [ФИО].\nМЕНЕДЖЕР: у нас просто многоканально может иногда меняться, да. Подскажите, как вам удалось переговорить с мужем, который взял у вас обучение? Приняли решение?\nКЛИЕНТ: Ну да, там (МЕНЕДЖЕР: Угу.) (МЕНЕДЖЕР: Как) написала (МЕНЕДЖЕР: в) (МЕНЕДЖЕР: таком) вам, (МЕНЕДЖЕР: случае?) угу.\nМЕНЕДЖЕР: Просто мне не поступило еще сообщения, поэтому набрало [ФИО]. Могу тогда сформировать ссылку Вам на оплату и подготовить доступы. Как писали, вот по скидке у Вас получается сорок девять (КЛИЕНТ: Да,) пятьдесят шестьдесят пять за (КЛИЕНТ: угу.) скидку по маркетплейсу. Хорошо. Да, [ФИО], тогда сейчас я Вам подготовлю на почту направлю и в мессенджер протоколирую. Жду тогда от Вас подтверждения, и далее я Вам подтвердил бы.\nКЛИЕНТ: А документы потом надо будут, да, когда, там, курс, послушаю вот это всё, (МЕНЕДЖЕР: А) уроки\nМЕНЕДЖЕР: [наложение] Вы имеете документы с\nКЛИЕНТ: [наложение] сдам. Да.\nМЕНЕДЖЕР: Вашей стороны? Да, смотрите, вы когда, получается, проходите курс, там в конце будет такая анкета, там где нужно будет как раз прикрепить фото скана вашего диплома, там серия, номер паспорта, какая дата, все данные. И мы вам тогда, соответственно, как раз направляем оригинал на указанный вами адрес в чате подписи, то есть чтобы получить оригинал. А сейчас нужно будет, в принципе, для регистрации, там получается ваша фамилия и имя, и, соответственно, я вам уже направляю после для контакта и доступа вашего куратора, чтобы вы могли как раз приступить к курсу. Фамилию вашу, я вижу, вы указывали [ФИО], поэтому я ее у вас не уточняла. (КЛИЕНТ: Угу.) (КЛИЕНТ: Угу.) И далее, то есть, соответственно, вам уже сразу дублируют доступ, и там заходите на платформу, регистрируетесь, то есть там нужно будет указать вашу фамилию, имя, телефон, почту и пароль дот, который вам проще заполнить. То есть вы можете заходить с любого устройства, как [адрес], компьютер, ну, без разницы, да. IP не привязывается, процесс сохраняется. Поэтому, в принципе, там будет все у вас доступно.\nКЛИЕНТ: там моя фамилия [ФИО], и поэтому будет доступно.\nМЕНЕДЖЕР: Да, потому что оно идет только для вас. То есть вы в регистре, то (КЛИЕНТ: [ФИО],) есть у вас в уличный (КЛИЕНТ: угу.) кабинет, никаких сторонних там, то есть только ваш доступ идет. То есть поэтому мы говорим, что вы создаете свой пароль, то есть чтобы вы могли как раз по нему заходить.\nКЛИЕНТ: [ФИО], все поняла, это уже завтра, мы уже (МЕНЕДЖЕР: Да,) спим почти, (МЕНЕДЖЕР: я) (МЕНЕДЖЕР: понимаю,) да\nМЕНЕДЖЕР: [наложение] что у вас поиск не вечный, да,\nКЛИЕНТ: [наложение] -да\nМЕНЕДЖЕР: мы просто говорили, что вам вечером позвонить, когда там маленького (КЛИЕНТ: -да,) уходите (КЛИЕНТ: Когда) спать, (КЛИЕНТ: он) поэтому... (КЛИЕНТ: спит.)\nМЕНЕДЖЕР: Да, поэтому уточняю. Я вам тогда сейчас, смотрите, указываю, что менеджер поработал с македонскими плюс один, то есть что он второй курс ведет в подарок, как мы с вами обсудили, и, соответственно, вот вам я сейчас ссылочку направляю. Так, ссылку направила вам в чат, и ее же вам сразу дублирую на почту.\nМЕНЕДЖЕР: Должно будет Вам поступить, (КЛИЕНТ: [ФИО],) допустим?\nКЛИЕНТ: надеюсь, через [ФИО], да, сейчас всё? (МЕНЕДЖЕР: Да,) (МЕНЕДЖЕР: да,)\nКЛИЕНТ: Перешли (МЕНЕДЖЕР: ну,) все (МЕНЕДЖЕР: мы) на (МЕНЕДЖЕР: направляем) [ФИО]. -то (МЕНЕДЖЕР: все) другое.\nМЕНЕДЖЕР: варианты, получается, там будет, получается, и Telegram, почта, контакт, то есть все возможные варианты. Да, [ФИО]?\nМЕНЕДЖЕР: [наложение] Так, [ФИО], я направила Вам также на почту эту же ссылку, то есть протугировала на gmail.com, то есть выгляжу, по ссылке\nКЛИЕНТ: [наложение] Только раз не оплачивать, то есть побыть.\nМЕНЕДЖЕР: переходите, да, через любую карту можете провести через систему быстрых платежей также оплату.\nКЛИЕНТ: ну, это сейчас надо прям, срочно сделать.\nМЕНЕДЖЕР: Можете, да, в ближайшее время провести оплату, я уже начинаю доступ подготовить, чтобы сразу вам всё направить.\nМЕНЕДЖЕР: Хорошо, давай режем тогда подтверждение, напишите все это. Спасибо.\n",
    "segments": [
      {
        "start": 2.76,
        "end": 3.44,
        "text": "Алло.",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 3.36,
        "end": 8.78,
        "text": "[ФИО], здравствуйте, это [ФИО], удобно говорить? Договориться звоните чуть позже.",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 9.84,
        "end": 12.88,
        "text": "Да, да, кто другой номер, что ли?",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 13.76,
        "end": 14.08,
        "text": "Угу.",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 14.06,
        "end": 21.68,
        "text": "у нас просто многоканально может иногда меняться, да. Подскажите, как вам удалось переговорить с мужем, который взял у вас обучение? Приняли решение?",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 23.01,
        "end": 26.62,
        "text": "Ну да, там написала вам, угу.",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 26.66,
        "end": 47.5,
        "text": "Просто мне не поступило еще сообщения, поэтому набрало [ФИО]. Могу тогда сформировать ссылку Вам на оплату и подготовить доступы. Как писали, вот по скидке у Вас получается сорок девять пятьдесят шестьдесят пять за скидку по маркетплейсу. Хорошо. Да, [ФИО], тогда сейчас я Вам подготовлю на почту направлю и в мессенджер протоколирую. Жду тогда от Вас подтверждения, и далее я Вам подтвердил бы.",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 47.9,
        "end": 54.6,
        "text": "А документы потом надо будут, да, когда, там, курс, послушаю вот это всё, уроки",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 53.04,
        "end": 55.64,
        "text": "Вы имеете документы с",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 54.6,
        "end": 57.54,
        "text": "сдам. [ФИО]",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 55.64,
        "end": 116.96,
        "text": "Вашей стороны? Да, смотрите, вы когда, получается, проходите курс, там в конце будет такая анкета, там где нужно будет как раз прикрепить фото скана вашего диплома, там серия, номер паспорта, какая дата, все данные. И мы вам тогда, соответственно, как раз направляем оригинал на указанный вами адрес в чате подписи, то есть чтобы получить оригинал. А сейчас нужно будет, в принципе, для регистрации, там получается ваша фамилия и имя, и, соответственно, я вам уже направляю после для контакта и доступа вашего куратора, чтобы вы могли как раз приступить к курсу. Фамилию вашу, я вижу, вы указывали [адрес], поэтому я ее у вас не уточняла. И далее, то есть, соответственно, вам уже сразу дублируют доступ, и там заходите на платформу, регистрируетесь, то есть там нужно будет указать вашу фамилию, имя, телефон, почту и пароль дот, который вам проще заполнить. То есть вы можете заходить с любого устройства, как [адрес], компьютер, ну, без разницы, да. IP не привязывается, процесс сохраняется. Поэтому, в принципе, там будет все у вас доступно.",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 119.02,
        "end": 121.54,
        "text": "там моя фамилия [ФИО], и поэтому будет доступно.",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 121.68,
        "end": 135.1,
        "text": "Да, потому что оно идет только для вас. То есть вы в регистре, то есть у вас в уличный кабинет, никаких сторонних там, то есть только ваш доступ идет. То есть поэтому мы говорим, что вы создаете свой пароль, то есть чтобы вы могли как раз по нему заходить.",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 137.0,
        "end": 142.72,
        "text": "Ага, все поняла, это уже завтра, мы уже спим почти, да",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 141.22,
        "end": 142.76,
        "text": "что у вас поиск не вечный, да,",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 142.72,
        "end": 145.96,
        "text": "-да",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 142.78,
        "end": 147.72,
        "text": "мы просто говорили, что вам вечером позвонить, когда там маленького уходите спать, поэтому...",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 148.68,
        "end": 170.1,
        "text": "Да, поэтому уточняю. Я вам тогда сейчас, смотрите, указываю, что менеджер поработал с македонскими плюс один, то есть что он второй курс ведет в подарок, как мы с вами обсудили, и, соответственно, вот вам я сейчас ссылочку направляю. Так, ссылку направила вам в чат, и ее же вам сразу дублирую на почту.",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 172.42,
        "end": 174.34,
        "text": "Должно будет Вам поступить, допустим?",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 174.2,
        "end": 175.74,
        "text": "надеюсь, через [ФИО], да, сейчас всё?",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 176.58,
        "end": 178.68,
        "text": "Перешли все на [ФИО]. -то другое.",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 178.64,
        "end": 189.06,
        "text": "варианты, получается, там будет, получается, и Telegram, почта, контакт, то есть все возможные варианты. Да, [ФИО]?",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 190.92,
        "end": 202.04,
        "text": "Так, [ФИО], я направила Вам также на почту эту же ссылку, то есть протугировала на gmail.com, то есть выгляжу, по ссылке",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 198.76,
        "end": 202.22,
        "text": "Только раз не оплачивать, то есть побыть.",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 202.04,
        "end": 206.82,
        "text": "переходите, да, через любую карту можете провести через систему быстрых платежей также оплату.",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 215.49,
        "end": 217.54,
        "text": "ну, это сейчас надо прям, срочно сделать.",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 217.96,
        "end": 224.02,
        "text": "Можете, да, в ближайшее время провести оплату, я уже начинаю доступ подготовить, чтобы сразу вам всё направить.",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 228.28,
        "end": 231.76,
        "text": "Хорошо, давай режем тогда подтверждение, напишите все это. Спасибо.",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      }
    ],
    "word_count": 640,
    "duration_seconds": 232.776,
    "pii_redacted_count": 16,
    "created_at": "2026-07-02T01:56:05.721974"
  },
  "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": "n/a",
        "quote": null,
        "timecode": null,
        "rationale": "Повторный звонок, приветствие было в первом звонке",
        "applicable": false
      },
      {
        "item_no": 2,
        "item_code": "greet_name",
        "title": "Консультант назвал своё имя",
        "section": "Приветствие и цель звонка",
        "block": "1",
        "weight": 2,
        "is_critical": false,
        "is_conditional": false,
        "severity": "mandatory",
        "status": "n/a",
        "quote": null,
        "timecode": null,
        "rationale": "Повторный звонок",
        "applicable": false
      },
      {
        "item_no": 3,
        "item_code": "greet_company",
        "title": "Консультант озвучил название компании",
        "section": "Приветствие и цель звонка",
        "block": "1",
        "weight": 2,
        "is_critical": false,
        "is_conditional": false,
        "severity": "mandatory",
        "status": "n/a",
        "quote": null,
        "timecode": null,
        "rationale": "Повторный звонок",
        "applicable": false
      },
      {
        "item_no": 4,
        "item_code": "greet_purpose",
        "title": "Консультант уточнил цель звонка",
        "section": "Приветствие и цель звонка",
        "block": "1",
        "weight": 3,
        "is_critical": false,
        "is_conditional": false,
        "severity": "mandatory",
        "status": "n/a",
        "quote": null,
        "timecode": null,
        "rationale": "Повторный звонок",
        "applicable": false
      },
      {
        "item_no": 5,
        "item_code": "program_acquaintance",
        "title": "Озвучен блок «знакомство»",
        "section": "Программирование",
        "block": "2",
        "weight": 1,
        "is_critical": false,
        "is_conditional": false,
        "severity": "desirable",
        "status": "n/a",
        "quote": null,
        "timecode": null,
        "rationale": "Повторный звонок",
        "applicable": false
      },
      {
        "item_no": 6,
        "item_code": "program_presentation",
        "title": "Озвучен блок «презентация программы»",
        "section": "Программирование",
        "block": "2",
        "weight": 1,
        "is_critical": false,
        "is_conditional": false,
        "severity": "desirable",
        "status": "n/a",
        "quote": null,
        "timecode": null,
        "rationale": "Повторный звонок",
        "applicable": false
      },
      {
        "item_no": 7,
        "item_code": "program_questions",
        "title": "Озвучен блок «ответы на вопросы клиента»",
        "section": "Программирование",
        "block": "2",
        "weight": 1,
        "is_critical": false,
        "is_conditional": false,
        "severity": "desirable",
        "status": "n/a",
        "quote": null,
        "timecode": null,
        "rationale": "Повторный звонок",
        "applicable": false
      },
      {
        "item_no": 8,
        "item_code": "program_payment_option",
        "title": "Озвучен блок «варианты оплаты»",
        "section": "Программирование",
        "block": "2",
        "weight": 1,
        "is_critical": false,
        "is_conditional": false,
        "severity": "desirable",
        "status": "n/a",
        "quote": null,
        "timecode": null,
        "rationale": "Повторный звонок",
        "applicable": false
      },
      {
        "item_no": 9,
        "item_code": "need_occupation",
        "title": "Чем занимается клиент",
        "section": "Выявление потребностей",
        "block": "3",
        "weight": 3,
        "is_critical": false,
        "is_conditional": false,
        "severity": "mandatory",
        "status": "n/a",
        "quote": null,
        "timecode": null,
        "rationale": "Повторный звонок, потребности выявлены ранее",
        "applicable": false
      },
      {
        "item_no": 10,
        "item_code": "need_why_direction",
        "title": "Почему выбрано именно это направление",
        "section": "Выявление потребностей",
        "block": "3",
        "weight": 3,
        "is_critical": false,
        "is_conditional": false,
        "severity": "mandatory",
        "status": "n/a",
        "quote": null,
        "timecode": null,
        "rationale": "Повторный звонок",
        "applicable": false
      },
      {
        "item_no": 11,
        "item_code": "need_goal",
        "title": "Цель обучения",
        "section": "Выявление потребностей",
        "block": "3",
        "weight": 4,
        "is_critical": false,
        "is_conditional": false,
        "severity": "mandatory",
        "status": "n/a",
        "quote": null,
        "timecode": null,
        "rationale": "Повторный звонок",
        "applicable": false
      },
      {
        "item_no": 12,
        "item_code": "need_why_now",
        "title": "Почему именно сейчас решил обучиться",
        "section": "Выявление потребностей",
        "block": "3",
        "weight": 3,
        "is_critical": false,
        "is_conditional": false,
        "severity": "mandatory",
        "status": "n/a",
        "quote": null,
        "timecode": null,
        "rationale": "Повторный звонок",
        "applicable": false
      },
      {
        "item_no": 13,
        "item_code": "need_role_understanding",
        "title": "Клиент понимает роль специалиста, на которого оставлена заявка",
        "section": "Выявление потребностей",
        "block": "3",
        "weight": 2,
        "is_critical": false,
        "is_conditional": true,
        "severity": "desirable",
        "status": "n/a",
        "quote": null,
        "timecode": null,
        "rationale": "Повторный звонок",
        "applicable": false
      },
      {
        "item_no": 14,
        "item_code": "need_topics_pains",
        "title": "Какие темы интересуют, какие сложности есть сейчас",
        "section": "Выявление потребностей",
        "block": "3",
        "weight": 3,
        "is_critical": false,
        "is_conditional": false,
        "severity": "mandatory",
        "status": "n/a",
        "quote": null,
        "timecode": null,
        "rationale": "Повторный звонок",
        "applicable": false
      },
      {
        "item_no": 15,
        "item_code": "need_self_told",
        "title": "Клиент сам рассказал про свои потребности",
        "section": "Выявление потребностей",
        "block": "3",
        "weight": 1,
        "is_critical": false,
        "is_conditional": false,
        "severity": "desirable",
        "status": "n/a",
        "quote": null,
        "timecode": null,
        "rationale": "Повторный звонок",
        "applicable": false
      },
      {
        "item_no": 16,
        "item_code": "need_ask_experience",
        "title": "Консультант спросил клиента про опыт",
        "section": "Выявление потребностей",
        "block": "3",
        "weight": 3,
        "is_critical": false,
        "is_conditional": false,
        "severity": "mandatory",
        "status": "n/a",
        "quote": null,
        "timecode": null,
        "rationale": "Повторный звонок",
        "applicable": false
      },
      {
        "item_no": 17,
        "item_code": "need_has_experience",
        "title": "У клиента есть опыт работы по интересующей специальности",
        "section": "Выявление потребностей",
        "block": "3",
        "weight": 1,
        "is_critical": false,
        "is_conditional": false,
        "severity": "desirable",
        "status": "n/a",
        "quote": null,
        "timecode": null,
        "rationale": "Повторный звонок",
        "applicable": false
      },
      {
        "item_no": 18,
        "item_code": "summary_repeat",
        "title": "Повторил / резюмировал потребности клиента",
        "section": "Резюме данных от клиента",
        "block": "4",
        "weight": 2,
        "is_critical": false,
        "is_conditional": false,
        "severity": "mandatory",
        "status": "n/a",
        "quote": null,
        "timecode": null,
        "rationale": "Повторный звонок",
        "applicable": false
      },
      {
        "item_no": 19,
        "item_code": "summary_fit",
        "title": "Подытожил, что курс подойдёт клиенту",
        "section": "Резюме данных от клиента",
        "block": "4",
        "weight": 3,
        "is_critical": false,
        "is_conditional": false,
        "severity": "mandatory",
        "status": "n/a",
        "quote": null,
        "timecode": null,
        "rationale": "Повторный звонок",
        "applicable": false
      },
      {
        "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": "fail",
        "quote": null,
        "timecode": null,
        "rationale": "Не уточнил выбор клиента",
        "applicable": true
      },
      {
        "item_no": 23,
        "item_code": "upsale_course_proposed",
        "title": "Какой курс предложен в качестве Upsale (метаполе)",
        "section": "Upsale",
        "block": "5",
        "weight": 1,
        "is_critical": false,
        "is_conditional": true,
        "severity": "desirable",
        "status": "n/a",
        "quote": null,
        "timecode": null,
        "rationale": "Апсейл не предлагался",
        "applicable": false
      },
      {
        "item_no": 24,
        "item_code": "pres_program",
        "title": "Сделал презентацию программы обучения",
        "section": "Презентация",
        "block": "6",
        "weight": 4,
        "is_critical": false,
        "is_conditional": false,
        "severity": "mandatory",
        "status": "fail",
        "quote": null,
        "timecode": null,
        "rationale": "Не рассказал содержание программы",
        "applicable": true
      },
      {
        "item_no": 25,
        "item_code": "pres_format",
        "title": "Сделал презентацию формата обучения",
        "section": "Презентация",
        "block": "6",
        "weight": 3,
        "is_critical": false,
        "is_conditional": false,
        "severity": "mandatory",
        "status": "fail",
        "quote": null,
        "timecode": null,
        "rationale": "Не рассказал формат обучения",
        "applicable": true
      },
      {
        "item_no": 26,
        "item_code": "obj_detected",
        "title": "У клиента есть сомнения или возражения",
        "section": "Работа с возражениями",
        "block": "7",
        "weight": 1,
        "is_critical": false,
        "is_conditional": false,
        "severity": "mandatory",
        "status": "fail",
        "quote": null,
        "timecode": null,
        "rationale": "Возражений не выявлено",
        "applicable": true
      },
      {
        "item_no": 27,
        "item_code": "obj_count",
        "title": "Количество возражений в звонке",
        "section": "Работа с возражениями",
        "block": "7",
        "weight": 1,
        "is_critical": false,
        "is_conditional": true,
        "severity": "desirable",
        "status": "n/a",
        "quote": null,
        "timecode": null,
        "rationale": "Нет возражений",
        "applicable": false
      },
      {
        "item_no": 28,
        "item_code": "obj_handled_count",
        "title": "Количество отработанных возражений",
        "section": "Работа с возражениями",
        "block": "7",
        "weight": 1,
        "is_critical": false,
        "is_conditional": true,
        "severity": "desirable",
        "status": "n/a",
        "quote": null,
        "timecode": null,
        "rationale": "Нет возражений",
        "applicable": false
      },
      {
        "item_no": 29,
        "item_code": "obj_handled_each",
        "title": "Каждое возражение отработано (да/нет)",
        "section": "Работа с возражениями",
        "block": "7",
        "weight": 5,
        "is_critical": false,
        "is_conditional": true,
        "severity": "mandatory",
        "status": "n/a",
        "quote": null,
        "timecode": null,
        "rationale": "Нет возражений",
        "applicable": false
      },
      {
        "item_no": 30,
        "item_code": "price_discount_focus",
        "title": "Презентовал стоимость с акцентом на скидке клиента",
        "section": "Обсуждение цены и формата оплаты",
        "block": "8",
        "weight": 3,
        "is_critical": false,
        "is_conditional": false,
        "severity": "mandatory",
        "status": "pass",
        "quote": "по скидке у Вас получается сорок девять пятьдесят шестьдесят пять за скидку по маркетплейсу",
        "timecode": null,
        "rationale": "Представил стоимость со скидкой",
        "applicable": true
      },
      {
        "item_no": 31,
        "item_code": "price_payment_method",
        "title": "Уточнил, какой метод оплаты удобен клиенту",
        "section": "Обсуждение цены и формата оплаты",
        "block": "8",
        "weight": 3,
        "is_critical": false,
        "is_conditional": false,
        "severity": "mandatory",
        "status": "fail",
        "quote": null,
        "timecode": null,
        "rationale": "Не спросил про предпочтения по оплате",
        "applicable": true
      },
      {
        "item_no": 32,
        "item_code": "price_discount_size",
        "title": "Назвал размер скидки",
        "section": "Обсуждение цены и формата оплаты",
        "block": "8",
        "weight": 2,
        "is_critical": false,
        "is_conditional": false,
        "severity": "mandatory",
        "status": "fail",
        "quote": null,
        "timecode": null,
        "rationale": "Размер скидки не озвучен",
        "applicable": true
      },
      {
        "item_no": 33,
        "item_code": "price_before_after",
        "title": "Презентовал цену до скидки и после",
        "section": "Обсуждение цены и формата оплаты",
        "block": "8",
        "weight": 3,
        "is_critical": false,
        "is_conditional": false,
        "severity": "mandatory",
        "status": "fail",
        "quote": null,
        "timecode": null,
        "rationale": "Не озвучена цена до скидки",
        "applicable": true
      },
      {
        "item_no": 34,
        "item_code": "close_in_moment",
        "title": "Предложил оформление в моменте",
        "section": "Предложил ли оплату в моменте",
        "block": "9",
        "weight": 4,
        "is_critical": false,
        "is_conditional": true,
        "severity": "mandatory",
        "status": "pass",
        "quote": "Можете, да, в ближайшее время провести оплату, я уже начинаю доступ подготовить",
        "timecode": 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": "pass",
        "quote": "через любую карту можете провести",
        "timecode": null,
        "rationale": "Предложил оплатить полную сумму",
        "applicable": true
      },
      {
        "item_no": 36,
        "item_code": "close_install_now",
        "title": "Если выбрана рассрочка — оформил её на звонке",
        "section": "Предложил ли оплату в моменте",
        "block": "9",
        "weight": 3,
        "is_critical": false,
        "is_conditional": true,
        "severity": "desirable",
        "status": "n/a",
        "quote": null,
        "timecode": null,
        "rationale": "Полная оплата",
        "applicable": false
      },
      {
        "item_no": 37,
        "item_code": "next_exact_time",
        "title": "Согласована точная дата/время следующего звонка",
        "section": "Обозначил следующий шаг",
        "block": "10",
        "weight": 4,
        "is_critical": false,
        "is_conditional": true,
        "severity": "mandatory",
        "status": "fail",
        "quote": null,
        "timecode": null,
        "rationale": "Точное время не согласовано",
        "applicable": true
      },
      {
        "item_no": 38,
        "item_code": "next_approx_time",
        "title": "Согласована приблизительная дата/время следующего звонка",
        "section": "Обозначил следующий шаг",
        "block": "10",
        "weight": 2,
        "is_critical": false,
        "is_conditional": true,
        "severity": "desirable",
        "status": "fail",
        "quote": "в ближайшее время",
        "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": null,
        "timecode": null,
        "rationale": "Отвечал на вопросы клиента по существу",
        "applicable": true
      },
      {
        "item_no": 40,
        "item_code": "prof_no_rude",
        "title": "Консультант не грубил, не проявлял обиду к клиенту",
        "section": "Профессионализм",
        "block": "11",
        "weight": 5,
        "is_critical": true,
        "is_conditional": false,
        "severity": "prohibited",
        "status": "pass",
        "quote": null,
        "timecode": null,
        "rationale": "Нет признаков грубости",
        "applicable": true
      },
      {
        "item_no": 41,
        "item_code": "active_lead",
        "title": "Менеджер активно вёл диалог",
        "section": "Активная позиция менеджера",
        "block": "12",
        "weight": 3,
        "is_critical": false,
        "is_conditional": false,
        "severity": "mandatory",
        "status": "pass",
        "quote": null,
        "timecode": null,
        "rationale": "Активно вёл диалог, инициировал действия",
        "applicable": true
      },
      {
        "item_no": 42,
        "item_code": "active_engaged",
        "title": "Проявлял заинтересованность в общении",
        "section": "Активная позиция менеджера",
        "block": "12",
        "weight": 2,
        "is_critical": false,
        "is_conditional": false,
        "severity": "desirable",
        "status": "pass",
        "quote": null,
        "timecode": null,
        "rationale": "Заинтересован, уточнял детали",
        "applicable": true
      },
      {
        "item_no": 43,
        "item_code": "active_persuade",
        "title": "Консультант пытался убедить клиента принять решение",
        "section": "Активная позиция менеджера",
        "block": "12",
        "weight": 4,
        "is_critical": false,
        "is_conditional": false,
        "severity": "mandatory",
        "status": "pass",
        "quote": 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": 0,
        "fail_count": 0,
        "applicable_count": 0,
        "total_count": 4,
        "percent": 0.0
      },
      "2": {
        "pass_count": 0,
        "fail_count": 0,
        "applicable_count": 0,
        "total_count": 4,
        "percent": 0.0
      },
      "3": {
        "pass_count": 0,
        "fail_count": 0,
        "applicable_count": 0,
        "total_count": 9,
        "percent": 0.0
      },
      "4": {
        "pass_count": 0,
        "fail_count": 0,
        "applicable_count": 0,
        "total_count": 2,
        "percent": 0.0
      },
      "5": {
        "pass_count": 0,
        "fail_count": 1,
        "applicable_count": 1,
        "total_count": 4,
        "percent": 0.0
      },
      "6": {
        "pass_count": 0,
        "fail_count": 2,
        "applicable_count": 2,
        "total_count": 2,
        "percent": 0.0
      },
      "7": {
        "pass_count": 0,
        "fail_count": 1,
        "applicable_count": 1,
        "total_count": 4,
        "percent": 0.0
      },
      "8": {
        "pass_count": 1,
        "fail_count": 3,
        "applicable_count": 4,
        "total_count": 4,
        "percent": 0.25
      },
      "9": {
        "pass_count": 2,
        "fail_count": 0,
        "applicable_count": 2,
        "total_count": 3,
        "percent": 1.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": 3,
        "fail_count": 0,
        "applicable_count": 3,
        "total_count": 3,
        "percent": 1.0
      },
      "13": {
        "pass_count": 1,
        "fail_count": 0,
        "applicable_count": 1,
        "total_count": 2,
        "percent": 1.0
      }
    },
    "overall_score": 0.46,
    "confidence": "medium",
    "summary": "Повторный звонок-закрытие. Менеджер быстро перешёл к оформлению, отправил ссылку на оплату, предложил второй курс в подарок. Не провёл презентацию, не уточнил способ оплаты и размер скидки, не согласовал точное время следующего шага.",
    "client_info_json": {
      "interest": "Менеджер по работе с маркетплейсами",
      "past_experience": null,
      "motivation": null,
      "learning_goals": null,
      "preferred_payment_method": "full",
      "course_tariff": null,
      "company_knowledge": null,
      "learning_preferences": null,
      "client_questions": [
        "А документы потом надо будут?"
      ],
      "lead_category": "AAA",
      "conversion_action": "Согласен оплатить",
      "objections": [],
      "relevant_experience": null,
      "company_familiarity": null,
      "age": null,
      "gender": null,
      "city": null,
      "field": null,
      "role": null,
      "financial_readiness": "high",
      "interest_in_certificate": true,
      "interest_in_employment": null,
      "temperature": "hot",
      "life_circumstances": "Есть маленький ребёнок",
      "decision_maker": true
    },
    "red_flags_json": [
      {
        "code": "rf_no_program_pitch"
      }
    ],
    "coaching_tip": "На повторном звонке стоит кратко напомнить содержание программы и уточнить, всё ли понятно. Также фиксировать точное время оплаты.",
    "needs_human_review": true,
    "review_reason": "red_flag",
    "llm_latency_ms": null,
    "llm_cost_usd": null,
    "input_tokens": 18164,
    "output_tokens": 8828,
    "created_at": "2026-07-02T01:57:17.684387",
    "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": true,
        "status": "fail",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Не уточнил выбор клиента"
      },
      {
        "item_no": 23,
        "item_code": "upsale_course_proposed",
        "block": "5",
        "section": "Upsale",
        "title": "Какой курс предложен в качестве Upsale (метаполе)",
        "weight": 1,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": true,
        "applicable": false,
        "status": "n/a",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Апсейл не предлагался"
      },
      {
        "item_no": 41,
        "item_code": "active_lead",
        "block": "12",
        "section": "Активная позиция менеджера",
        "title": "Менеджер активно вёл диалог",
        "weight": 3,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": true,
        "status": "pass",
        "score": 3.0,
        "quote": null,
        "timecode": null,
        "rationale": "Активно вёл диалог, инициировал действия"
      },
      {
        "item_no": 42,
        "item_code": "active_engaged",
        "block": "12",
        "section": "Активная позиция менеджера",
        "title": "Проявлял заинтересованность в общении",
        "weight": 2,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": true,
        "status": "pass",
        "score": 2.0,
        "quote": null,
        "timecode": null,
        "rationale": "Заинтересован, уточнял детали"
      },
      {
        "item_no": 43,
        "item_code": "active_persuade",
        "block": "12",
        "section": "Активная позиция менеджера",
        "title": "Консультант пытался убедить клиента принять решение",
        "weight": 4,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": true,
        "status": "pass",
        "score": 4.0,
        "quote": 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": false,
        "status": "n/a",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Повторный звонок, потребности выявлены ранее"
      },
      {
        "item_no": 10,
        "item_code": "need_why_direction",
        "block": "3",
        "section": "Выявление потребностей",
        "title": "Почему выбрано именно это направление",
        "weight": 3,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": false,
        "status": "n/a",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Повторный звонок"
      },
      {
        "item_no": 11,
        "item_code": "need_goal",
        "block": "3",
        "section": "Выявление потребностей",
        "title": "Цель обучения",
        "weight": 4,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": false,
        "status": "n/a",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Повторный звонок"
      },
      {
        "item_no": 12,
        "item_code": "need_why_now",
        "block": "3",
        "section": "Выявление потребностей",
        "title": "Почему именно сейчас решил обучиться",
        "weight": 3,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": false,
        "status": "n/a",
        "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": "Повторный звонок"
      },
      {
        "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": false,
        "status": "n/a",
        "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": false,
        "status": "n/a",
        "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": false,
        "status": "n/a",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Повторный звонок"
      },
      {
        "item_no": 17,
        "item_code": "need_has_experience",
        "block": "3",
        "section": "Выявление потребностей",
        "title": "У клиента есть опыт работы по интересующей специальности",
        "weight": 1,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": false,
        "status": "n/a",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Повторный звонок"
      },
      {
        "item_no": 44,
        "item_code": "crm_followup",
        "block": "13",
        "section": "Корректность заполнения по клиенту в CRM",
        "title": "Перезвонил в согласованное время / соблюдал договорённости",
        "weight": 2,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": true,
        "applicable": false,
        "status": "n/a",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Нет данных о предыдущих договорённостях"
      },
      {
        "item_no": 45,
        "item_code": "crm_no_personal_channel",
        "block": "13",
        "section": "Корректность заполнения по клиенту в CRM",
        "title": "Не ориентировал клиента на личные каналы связи",
        "weight": 3,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": true,
        "status": "pass",
        "score": 3.0,
        "quote": null,
        "timecode": null,
        "rationale": "Использовал корпоративные каналы (почта, мессенджер)"
      },
      {
        "item_no": 37,
        "item_code": "next_exact_time",
        "block": "10",
        "section": "Обозначил следующий шаг",
        "title": "Согласована точная дата/время следующего звонка",
        "weight": 4,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": true,
        "applicable": true,
        "status": "fail",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Точное время не согласовано"
      },
      {
        "item_no": 38,
        "item_code": "next_approx_time",
        "block": "10",
        "section": "Обозначил следующий шаг",
        "title": "Согласована приблизительная дата/время следующего звонка",
        "weight": 2,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": true,
        "applicable": true,
        "status": "fail",
        "score": 0.0,
        "quote": "в ближайшее время",
        "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": "pass",
        "score": 3.0,
        "quote": "по скидке у Вас получается сорок девять пятьдесят шестьдесят пять за скидку по маркетплейсу",
        "timecode": null,
        "rationale": "Представил стоимость со скидкой"
      },
      {
        "item_no": 31,
        "item_code": "price_payment_method",
        "block": "8",
        "section": "Обсуждение цены и формата оплаты",
        "title": "Уточнил, какой метод оплаты удобен клиенту",
        "weight": 3,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": true,
        "status": "fail",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Не спросил про предпочтения по оплате"
      },
      {
        "item_no": 32,
        "item_code": "price_discount_size",
        "block": "8",
        "section": "Обсуждение цены и формата оплаты",
        "title": "Назвал размер скидки",
        "weight": 2,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": true,
        "status": "fail",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Размер скидки не озвучен"
      },
      {
        "item_no": 33,
        "item_code": "price_before_after",
        "block": "8",
        "section": "Обсуждение цены и формата оплаты",
        "title": "Презентовал цену до скидки и после",
        "weight": 3,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": true,
        "status": "fail",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Не озвучена цена до скидки"
      },
      {
        "item_no": 34,
        "item_code": "close_in_moment",
        "block": "9",
        "section": "Предложил ли оплату в моменте",
        "title": "Предложил оформление в моменте",
        "weight": 4,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": true,
        "applicable": true,
        "status": "pass",
        "score": 4.0,
        "quote": "Можете, да, в ближайшее время провести оплату, я уже начинаю доступ подготовить",
        "timecode": 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": true,
        "status": "pass",
        "score": 3.0,
        "quote": "через любую карту можете провести",
        "timecode": null,
        "rationale": "Предложил оплатить полную сумму"
      },
      {
        "item_no": 36,
        "item_code": "close_install_now",
        "block": "9",
        "section": "Предложил ли оплату в моменте",
        "title": "Если выбрана рассрочка — оформил её на звонке",
        "weight": 3,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": true,
        "applicable": false,
        "status": "n/a",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Полная оплата"
      },
      {
        "item_no": 24,
        "item_code": "pres_program",
        "block": "6",
        "section": "Презентация",
        "title": "Сделал презентацию программы обучения",
        "weight": 4,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": true,
        "status": "fail",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Не рассказал содержание программы"
      },
      {
        "item_no": 25,
        "item_code": "pres_format",
        "block": "6",
        "section": "Презентация",
        "title": "Сделал презентацию формата обучения",
        "weight": 3,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": true,
        "status": "fail",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Не рассказал формат обучения"
      },
      {
        "item_no": 1,
        "item_code": "greet_hello",
        "block": "1",
        "section": "Приветствие и цель звонка",
        "title": "Консультант поздоровался",
        "weight": 2,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": false,
        "status": "n/a",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "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": false,
        "status": "n/a",
        "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": false,
        "status": "n/a",
        "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": false,
        "status": "n/a",
        "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": false,
        "status": "n/a",
        "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": false,
        "status": "n/a",
        "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": false,
        "status": "n/a",
        "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": false,
        "status": "n/a",
        "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": false,
        "status": "n/a",
        "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": false,
        "status": "n/a",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Повторный звонок"
      }
    ]
  },
  "client_portrait": {
    "demographics_json": {
      "age": null,
      "gender": null,
      "city": null,
      "sphere": null,
      "role": null
    },
    "motivation_json": {
      "interest": "Менеджер по работе с маркетплейсами",
      "motivation": null,
      "learning_goals": null,
      "learning_preferences": null,
      "life_circumstances": "Есть маленький ребёнок"
    },
    "finance_json": {
      "preferred_payment_method": "full",
      "financial_readiness": "high",
      "payment_ready": true,
      "interest_in_certificate": true,
      "interest_in_employment": null
    },
    "objections_json": [],
    "temperature": "hot",
    "life_circumstances": "Есть маленький ребёнок",
    "decision_maker": true,
    "client_questions_json": [
      "А документы потом надо будут?"
    ],
    "extra_json": {
      "past_experience": null,
      "company_knowledge": null,
      "company_familiarity": null,
      "relevant_experience": null,
      "lead_category": "AAA",
      "conversion_action": "Согласен оплатить",
      "client_questions": [
        "А документы потом надо будут?"
      ],
      "decision_maker": true
    },
    "created_at": "2026-07-02T01:57:17.695419"
  }
}