{
  "schema_version": 1,
  "call": {
    "id": "960d89ac-1cb4-479b-af55-4abc98d40a88",
    "created_at": "2026-06-27T18:06:41",
    "original_filename": "comagic_7b7573edfec7716f5c63bc9d6950ad83",
    "audio_path": null,
    "audio_size_bytes": null,
    "duration_seconds": 253.08,
    "debtor_hash": null,
    "debtor_timezone": "Europe/Moscow",
    "stage": "Взяли в работу",
    "bucket": null,
    "product": "Нейросети для разработчиков",
    "deal_id": "46303262",
    "crm_source": "uis",
    "utm_source": "ris",
    "utm_medium": "exchange",
    "utm_campaign": "AllCat_Mk_OZ42_flocktory_ai",
    "lead_category": "BBB",
    "transcript_status": "done",
    "analytics_status": "done",
    "last_error": null,
    "prompt_version": "eduson-v5.10",
    "processed_at": "2026-06-28T21:13:01.118369"
  },
  "operator": {
    "id": "8ceaff62-fe8a-442a-9e1b-a3550f9e6eda",
    "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КЛИЕНТ: [наложение] Не, я просто о том, что я могу на звонок не ответить, чтоб вы мне в телеграмме писали.\nМЕНЕДЖЕР: А, хорошо, я поняла, да, я поняла, что только вам напишут.\nКЛИЕНТ: Только на этот номер эту телеграмму я вам сообщение сейчас кину, юс, или что -нибудь такое.\nКЛИЕНТ: Сможете мне написать чат, чтобы я оскорбил?\nМЕНЕДЖЕР: «Вы хотите сейчас скинуть ваш новый номер, на который можно вам написать в Телеграм. Я правильно поняла?» «Хорошо. Тогда нам писали уже в Максе, конечно. Пришлите. Я тогда запишу (КЛИЕНТ: Ну,) и передам».\nКЛИЕНТ: не номер, а юз.\nМЕНЕДЖЕР: «Что значит «юс»? Я не\nКЛИЕНТ: Изернейм, (МЕНЕДЖЕР: понимаю) (МЕНЕДЖЕР: как».) вы изернейм.\nМЕНЕДЖЕР: [наложение] «У нас просто, смотрите, с целью системы, которая которые рассчитаны только на общение в рамках обучения. Поэтому я не знаю, как вот сейчас это все совместить. Просто давайте завтра с Вами свяжутся, и Вы тогда уже со специалистом сориентируетесь, там и юзерней ему пришлете, если необходимый он, тогда Вам там все расскажет, хорошо?\nКЛИЕНТ: понятно, удачи.\nМЕНЕДЖЕР: Увидимся в этот раз.\n",
    "redacted_text": "КЛИЕНТ: [ФИО] (МЕНЕДЖЕР: этом) (МЕНЕДЖЕР: все.) Субтитры\nМЕНЕДЖЕР: [наложение] Мы также участвовали в обучении по направлению нейросети на практике. Ага,\nКЛИЕНТ: Я по подарку пришел и всеми так же попросил прислать его\nМЕНЕДЖЕР: при покупке курса нейросети на практике вы получаете еще и помощник в подарок, а также акции. Естественно, правда, идет курс в подарок — можете любую курс из любого направления выбрать.Да,\nКЛИЕНТ: А у меня там скидка была еще.\nМЕНЕДЖЕР: конечно, ваша скидка до шестьдесяти пяти процентов на онлайн -курсы. Я как раз и звоню уточнить ваши цели относительно обучения, ну, в целом, вот этими деталями, чтобы перенаправиться уже на более подробную консультацию к нашему прошлому специалисту, он по программам уже вас ориентирует. По (КЛИЕНТ: вы) (КЛИЕНТ: можете) -прежнему, (КЛИЕНТ: мне) (КЛИЕНТ: завтра) это\nКЛИЕНТ: [наложение] позвонить, пожалуйста?\nМЕНЕДЖЕР: буквально на пару минут просто уточню, чтобы завтра уже с Вами связался специалист и проконсультировал на вопросы (КЛИЕНТ: Давайся.) Ваши ответы. Ага, подскажите, Вы не ликвидами уже пользуетесь?\nКЛИЕНТ: да.\nМЕНЕДЖЕР: В целом, в какой сфере планируете применять меры с этим?\nКЛИЕНТ: На уровне приложения, своих сайтов и т.[адрес], не поняла, в приложениях и на сайтах?\nКЛИЕНТ: своих, да.\nМЕНЕДЖЕР: А, на своих, ага, у вас свой сайт есть, правильно я так поняла?\nМЕНЕДЖЕР: [ФИО], а, в разработке, у нас как раз есть программа для\nМЕНЕДЖЕР: нейросети для разработчиков, возможно, сможет вам как раз -таки подойти под рабочие ваши задачи.\nМЕНЕДЖЕР: Может, какие -то ответные, необходимые знания, дополнить в нейросетях, чтобы я тоже выписала и передала социалистам нашему?\nКЛИЕНТ: [наложение] мне бы с нуля вообще квалификацию по этому поводу.\nМЕНЕДЖЕР: [наложение] [ФИО], это да. То есть вы работаете разработчиком, хотите с нуля пройти программу по нейросетям для рабочих задач в этой сфере, верно? Все су[адрес]\nКЛИЕНТ: Да.\nМЕНЕДЖЕР: [ФИО], тогда скажу только то, что курс в итоге останется с Вами навсегда, так как сейчас еще акция «Курс в подарок», то есть еще два курса в итоге у Вас будет, плюс будет куратор, и не будет графика, здесь все в любое одно время занимаетесь. Тогда информацию все передам, подскажите, во сколько Вы говорите, завтра Вам было бы удобнее, чтобы Вы остались перед Вами по программе «Сориентированность».\nМЕНЕДЖЕР: [ФИО], ну, примерно в это же время, правильно я поняла?\nКЛИЕНТ: плюс -минус можете взять мой [ФИО], если вы пользуетесь этим методом.\nМЕНЕДЖЕР: нет, у нас, ну, максимум, ну, вот сейчас «[ФИО]», «Ватсап»… (КЛИЕНТ: ВК?)\nМЕНЕДЖЕР: «[ФИО]», «Ватсап» и «Телеграм» — это вот ВК, к сожалению, мы не сможем с Вами (КЛИЕНТ: Ну,) связаться… (КЛИЕНТ: я) (КЛИЕНТ: заговорил,) А, (КЛИЕНТ: Телеграм.) «Телеграм» просто не слышит. Хорошо, ну, в любом случае, с Вами свяжутся специалисты, И уже тогда все расскажет, пришлю все необходимые информации, если будет нужно.\nКЛИЕНТ: [наложение] Не, я просто о том, что я могу на звонок не ответить, чтоб вы мне в телеграмме писали.\nМЕНЕДЖЕР: А, хорошо, я поняла, да, я поняла, что только вам напишут.\nКЛИЕНТ: Только на этот номер эту телеграмму я вам сообщение сейчас кину, юс, или что -нибудь такое.\nКЛИЕНТ: Сможете мне написать чат, чтобы я оскорбил?\nМЕНЕДЖЕР: «Вы хотите сейчас скинуть ваш новый номер, на который можно вам написать в [адрес]. Я правильно поняла?» «Хорошо. Тогда нам писали уже в [ФИО], конечно. Пришлите. Я тогда запишу (КЛИЕНТ: Ну,) и передам».\nКЛИЕНТ: не номер, а юз.\nМЕНЕДЖЕР: «Что значит «юс»? Я не\nКЛИЕНТ: Изернейм, (МЕНЕДЖЕР: понимаю) (МЕНЕДЖЕР: как».) вы изернейм.\nМЕНЕДЖЕР: [наложение] «У нас просто, смотрите, с целью системы, которая которые рассчитаны только на общение в рамках обучения. Поэтому я не знаю, как вот сейчас это все совместить. Просто давайте завтра с Вами свяжутся, и Вы тогда уже со специалистом сориентируетесь, там и юзерней ему пришлете, если необходимый он, тогда Вам там все расскажет, хорошо?\nКЛИЕНТ: понятно, удачи.\nМЕНЕДЖЕР: [ФИО] в этот раз.\n",
    "segments": [
      {
        "start": 0.71,
        "end": 2.47,
        "text": "А. Субтитры",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 2.12,
        "end": 13.44,
        "text": "Мы также участвовали в обучении по направлению нейросети на практике. Ага,",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 15.22,
        "end": 18.97,
        "text": "Я по подарку пришел и всеми так же попросил прислать его",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 20.78,
        "end": 31.99,
        "text": "при покупке курса нейросети на практике вы получаете еще и помощник в подарок, а также акции. Естественно, правда, идет курс в подарок — можете любую курс из любого направления выбрать.Да,",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 32.8,
        "end": 34.44,
        "text": "А у меня там скидка была еще.",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 35.8,
        "end": 52.64,
        "text": "конечно, ваша скидка до шестьдесяти пяти процентов на онлайн -курсы. Я как раз и звоню уточнить ваши цели относительно обучения, ну, в целом, вот этими деталями, чтобы перенаправиться уже на более подробную консультацию к нашему прошлому специалисту, он по программам уже вас ориентирует. По -прежнему, это",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 52.22,
        "end": 53.46,
        "text": "позвонить, пожалуйста?",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 54.88,
        "end": 64.62,
        "text": "буквально на пару минут просто уточню, чтобы завтра уже с Вами связался специалист и проконсультировал на вопросы Ваши ответы. Ага, подскажите, Вы не ликвидами уже пользуетесь?",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 65.51,
        "end": 66.21,
        "text": "да.",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 67.49,
        "end": 71.0,
        "text": "В целом, в какой сфере планируете применять меры с этим?",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 73.22,
        "end": 78.12,
        "text": "На уровне приложения, своих сайтов и т.д.",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 79.8,
        "end": 82.54,
        "text": "Еще раз, не поняла, в приложениях и на сайтах?",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 84.22,
        "end": 84.96,
        "text": "своих, да.",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 84.96,
        "end": 89.58,
        "text": "А, на своих, ага, у вас свой сайт есть, правильно я так поняла?",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 91.06,
        "end": 94.28,
        "text": "Ага, а, в разработке, у нас как раз есть программа для",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 95.3,
        "end": 100.42,
        "text": "нейросети для разработчиков, возможно, сможет вам как раз -таки подойти под рабочие ваши задачи.",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 101.56,
        "end": 108.26,
        "text": "Может, какие -то ответные, необходимые знания, дополнить в нейросетях, чтобы я тоже выписала и передала социалистам нашему?",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 109.68,
        "end": 114.26,
        "text": "мне бы с нуля вообще квалификацию по этому поводу.",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 112.9,
        "end": 125.3,
        "text": "[ФИО], это да. То есть вы работаете разработчиком, хотите с нуля пройти программу по нейросетям для рабочих задач в этой сфере, верно? Все су[адрес]",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 126.56,
        "end": 126.98,
        "text": "Да.",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 127.91,
        "end": 149.26,
        "text": "Ага, тогда скажу только то, что курс в итоге останется с Вами навсегда, так как сейчас еще акция «Курс в подарок», то есть еще два курса в итоге у Вас будет, плюс будет куратор, и не будет графика, здесь все в любое одно время занимаетесь. Тогда информацию все передам, подскажите, во сколько Вы говорите, завтра Вам было бы удобнее, чтобы Вы остались перед Вами по программе «Сориентированность».",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 151.74,
        "end": 154.48,
        "text": "Ага, ну, примерно в это же время, правильно я поняла?",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 155.74,
        "end": 160.44,
        "text": "плюс -минус можете взять мой [ФИО], если вы пользуетесь этим методом.",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 161.42,
        "end": 166.2,
        "text": "нет, у нас, ну, максимум, ну, вот сейчас «[ФИО]», «Ватсап»…",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 168.9,
        "end": 186.04,
        "text": "«[ФИО]», «Ватсап» и «Телеграм» — это вот ВК, к сожалению, мы не сможем с Вами связаться… А, «Телеграм» просто не слышит. Хорошо, ну, в любом случае, с Вами свяжутся специалисты, И уже тогда все расскажет, пришлю все необходимые информации, если будет нужно.",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 185.76,
        "end": 189.82,
        "text": "Не, я просто о том, что я могу на звонок не ответить, чтоб вы мне в телеграмме писали.",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 190.21,
        "end": 194.1,
        "text": "А, хорошо, я поняла, да, я поняла, что только вам напишут.",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 194.72,
        "end": 201.05,
        "text": "Только на этот номер эту телеграмму я вам сообщение сейчас кину, юс, или что -нибудь такое.",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 203.86,
        "end": 206.66,
        "text": "Сможете мне написать чат, чтобы я оскорбил?",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 208.9,
        "end": 221.82,
        "text": "«Вы хотите сейчас скинуть ваш новый номер, на который можно вам написать в [адрес]. Я правильно поняла?» «Хорошо. Тогда нам писали уже в [ФИО], конечно. Пришлите. Я тогда запишу и передам».",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 221.68,
        "end": 223.08,
        "text": "не номер, а юз.",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 223.97,
        "end": 225.9,
        "text": "«Что значит «юс»? Я не",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 225.76,
        "end": 228.4,
        "text": "Изернейм, вы изернейм.",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 228.2,
        "end": 248.98,
        "text": "«У нас просто, смотрите, с целью системы, которая которые рассчитаны только на общение в рамках обучения. Поэтому я не знаю, как вот сейчас это все совместить. Просто давайте завтра с Вами свяжутся, и Вы тогда уже со специалистом сориентируетесь, там и юзерней ему пришлете, если необходимый он, тогда Вам там все расскажет, хорошо?",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 250.5,
        "end": 251.28,
        "text": "понятно, удачи.",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 251.46,
        "end": 252.2,
        "text": "[ФИО] в этот раз.",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      }
    ],
    "word_count": 624,
    "duration_seconds": 253.08,
    "pii_redacted_count": 13,
    "created_at": "2026-06-28T21:11:25.169737"
  },
  "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": "fail",
        "quote": null,
        "timecode": null,
        "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": "pass",
        "quote": "Я как раз и звоню уточнить ваши цели относительно обучения",
        "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": "pass",
        "quote": "Я как раз и звоню уточнить ваши цели относительно обучения",
        "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": null,
        "rationale": "Клиент подтвердил, что он разработчик",
        "applicable": true
      },
      {
        "item_no": 10,
        "item_code": "need_why_direction",
        "title": "Почему выбрано именно это направление",
        "section": "Выявление потребностей",
        "block": "3",
        "weight": 3,
        "is_critical": false,
        "is_conditional": false,
        "severity": "mandatory",
        "status": "pass",
        "quote": "На уровне приложения, своих сайтов",
        "timecode": null,
        "rationale": "Клиент указал область применения (свои сайты/приложения)",
        "applicable": true
      },
      {
        "item_no": 11,
        "item_code": "need_goal",
        "title": "Цель обучения",
        "section": "Выявление потребностей",
        "block": "3",
        "weight": 4,
        "is_critical": false,
        "is_conditional": false,
        "severity": "mandatory",
        "status": "pass",
        "quote": "хотите с нуля пройти программу по нейросетям для рабочих задач",
        "timecode": null,
        "rationale": "Цель — освоить нейросети для рабочих задач",
        "applicable": true
      },
      {
        "item_no": 12,
        "item_code": "need_why_now",
        "title": "Почему именно сейчас решил обучиться",
        "section": "Выявление потребностей",
        "block": "3",
        "weight": 3,
        "is_critical": false,
        "is_conditional": false,
        "severity": "mandatory",
        "status": "fail",
        "quote": null,
        "timecode": null,
        "rationale": "Явный временной триггер не выявлен; упоминание подарка недостаточно",
        "applicable": true
      },
      {
        "item_no": 13,
        "item_code": "need_role_understanding",
        "title": "Клиент понимает роль специалиста, на которого оставлена заявка",
        "section": "Выявление потребностей",
        "block": "3",
        "weight": 2,
        "is_critical": false,
        "is_conditional": true,
        "severity": "desirable",
        "status": "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": "pass",
        "quote": "мне бы с нуля вообще квалификацию по этому поводу",
        "timecode": null,
        "rationale": "Клиент указал на отсутствие знаний как сложность",
        "applicable": true
      },
      {
        "item_no": 15,
        "item_code": "need_self_told",
        "title": "Клиент сам рассказал про свои потребности",
        "section": "Выявление потребностей",
        "block": "3",
        "weight": 1,
        "is_critical": false,
        "is_conditional": false,
        "severity": "desirable",
        "status": "fail",
        "quote": null,
        "timecode": null,
        "rationale": "Все потребности выявлены через вопросы менеджера, не спонтанно",
        "applicable": true
      },
      {
        "item_no": 16,
        "item_code": "need_ask_experience",
        "title": "Консультант спросил клиента про опыт",
        "section": "Выявление потребностей",
        "block": "3",
        "weight": 3,
        "is_critical": false,
        "is_conditional": false,
        "severity": "mandatory",
        "status": "pass",
        "quote": "Вы не ликвидами уже пользуетесь?",
        "timecode": null,
        "rationale": "Менеджер спросил про опыт работы с нейросетями",
        "applicable": true
      },
      {
        "item_no": 17,
        "item_code": "need_has_experience",
        "title": "У клиента есть опыт работы по интересующей специальности",
        "section": "Выявление потребностей",
        "block": "3",
        "weight": 1,
        "is_critical": false,
        "is_conditional": false,
        "severity": "desirable",
        "status": "pass",
        "quote": "То есть вы работаете разработчиком",
        "timecode": null,
        "rationale": "Клиент имеет опыт разработки, релевантный курсу",
        "applicable": true
      },
      {
        "item_no": 18,
        "item_code": "summary_repeat",
        "title": "Повторил / резюмировал потребности клиента",
        "section": "Резюме данных от клиента",
        "block": "4",
        "weight": 2,
        "is_critical": false,
        "is_conditional": false,
        "severity": "mandatory",
        "status": "pass",
        "quote": "То есть вы работаете разработчиком, хотите с нуля пройти программу по нейросетям для рабочих задач в этой сфере, верно?",
        "timecode": null,
        "rationale": "Менеджер перефразировала потребность клиента",
        "applicable": true
      },
      {
        "item_no": 19,
        "item_code": "summary_fit",
        "title": "Подытожил, что курс подойдёт клиенту",
        "section": "Резюме данных от клиента",
        "block": "4",
        "weight": 3,
        "is_critical": false,
        "is_conditional": false,
        "severity": "mandatory",
        "status": "pass",
        "quote": "у нас как раз есть программа для нейросети для разработчиков, возможно, сможет вам как раз -таки подойти под рабочие ваши задачи.",
        "timecode": null,
        "rationale": "Менеджер связала потребность с подходящим курсом",
        "applicable": true
      },
      {
        "item_no": 20,
        "item_code": "upsale_value",
        "title": "Пояснил, в чём ценность более дорогих курсов",
        "section": "Upsale",
        "block": "5",
        "weight": 3,
        "is_critical": false,
        "is_conditional": true,
        "severity": "desirable",
        "status": "n/a",
        "quote": null,
        "timecode": null,
        "rationale": "Апсейл не проводился",
        "applicable": false
      },
      {
        "item_no": 21,
        "item_code": "upsale_options",
        "title": "Предложил несколько различных тарифов",
        "section": "Upsale",
        "block": "5",
        "weight": 2,
        "is_critical": false,
        "is_conditional": true,
        "severity": "desirable",
        "status": "n/a",
        "quote": null,
        "timecode": null,
        "rationale": "Тарифы не обсуждались",
        "applicable": false
      },
      {
        "item_no": 22,
        "item_code": "upsale_choice_check",
        "title": "Уточнил, на чём остановился клиент, что ему подходит",
        "section": "Upsale",
        "block": "5",
        "weight": 2,
        "is_critical": false,
        "is_conditional": false,
        "severity": "mandatory",
        "status": "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": "pass",
        "quote": "курс в итоге останется с Вами навсегда, ... нет графика, здесь все в любое одно время занимаетесь.",
        "timecode": null,
        "rationale": "Менеджер кратко описала формат: бессрочный доступ, гибкий график",
        "applicable": true
      },
      {
        "item_no": 26,
        "item_code": "obj_detected",
        "title": "У клиента есть сомнения или возражения",
        "section": "Работа с возражениями",
        "block": "7",
        "weight": 1,
        "is_critical": false,
        "is_conditional": false,
        "severity": "mandatory",
        "status": "fail",
        "quote": null,
        "timecode": null,
        "rationale": "Явных возражений не выявлено",
        "applicable": true
      },
      {
        "item_no": 27,
        "item_code": "obj_count",
        "title": "Количество возражений в звонке",
        "section": "Работа с возражениями",
        "block": "7",
        "weight": 1,
        "is_critical": false,
        "is_conditional": true,
        "severity": "desirable",
        "status": "n/a",
        "quote": null,
        "timecode": null,
        "rationale": "Возражений нет",
        "applicable": false
      },
      {
        "item_no": 28,
        "item_code": "obj_handled_count",
        "title": "Количество отработанных возражений",
        "section": "Работа с возражениями",
        "block": "7",
        "weight": 1,
        "is_critical": false,
        "is_conditional": true,
        "severity": "desirable",
        "status": "n/a",
        "quote": null,
        "timecode": null,
        "rationale": "Возражений нет",
        "applicable": false
      },
      {
        "item_no": 29,
        "item_code": "obj_handled_each",
        "title": "Каждое возражение отработано (да/нет)",
        "section": "Работа с возражениями",
        "block": "7",
        "weight": 5,
        "is_critical": false,
        "is_conditional": true,
        "severity": "mandatory",
        "status": "n/a",
        "quote": null,
        "timecode": null,
        "rationale": "Возражений нет",
        "applicable": false
      },
      {
        "item_no": 30,
        "item_code": "price_discount_focus",
        "title": "Презентовал стоимость с акцентом на скидке клиента",
        "section": "Обсуждение цены и формата оплаты",
        "block": "8",
        "weight": 3,
        "is_critical": false,
        "is_conditional": false,
        "severity": "mandatory",
        "status": "fail",
        "quote": null,
        "timecode": null,
        "rationale": "Стоимость не названа, только размер скидки",
        "applicable": true
      },
      {
        "item_no": 31,
        "item_code": "price_payment_method",
        "title": "Уточнил, какой метод оплаты удобен клиенту",
        "section": "Обсуждение цены и формата оплаты",
        "block": "8",
        "weight": 3,
        "is_critical": false,
        "is_conditional": false,
        "severity": "mandatory",
        "status": "fail",
        "quote": null,
        "timecode": null,
        "rationale": "Вопрос об оплате не задавался",
        "applicable": true
      },
      {
        "item_no": 32,
        "item_code": "price_discount_size",
        "title": "Назвал размер скидки",
        "section": "Обсуждение цены и формата оплаты",
        "block": "8",
        "weight": 2,
        "is_critical": false,
        "is_conditional": false,
        "severity": "mandatory",
        "status": "pass",
        "quote": "ваша скидка до шестьдесяти пяти процентов",
        "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": "n/a",
        "quote": null,
        "timecode": null,
        "rationale": "Способ оплаты не выбран",
        "applicable": false
      },
      {
        "item_no": 37,
        "item_code": "next_exact_time",
        "title": "Согласована точная дата/время следующего звонка",
        "section": "Обозначил следующий шаг",
        "block": "10",
        "weight": 4,
        "is_critical": false,
        "is_conditional": true,
        "severity": "mandatory",
        "status": "fail",
        "quote": null,
        "timecode": null,
        "rationale": "Указано только 'примерно в это же время', без точного часа",
        "applicable": true
      },
      {
        "item_no": 38,
        "item_code": "next_approx_time",
        "title": "Согласована приблизительная дата/время следующего звонка",
        "section": "Обозначил следующий шаг",
        "block": "10",
        "weight": 2,
        "is_critical": false,
        "is_conditional": true,
        "severity": "desirable",
        "status": "pass",
        "quote": "примерно в это же время",
        "timecode": 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": "fail",
        "quote": null,
        "timecode": null,
        "rationale": "Менеджер передала консультацию специалисту, не пытаясь закрыть",
        "applicable": true
      },
      {
        "item_no": 44,
        "item_code": "crm_followup",
        "title": "Перезвонил в согласованное время / соблюдал договорённости",
        "section": "Корректность заполнения по клиенту в CRM",
        "block": "13",
        "weight": 2,
        "is_critical": false,
        "is_conditional": true,
        "severity": "mandatory",
        "status": "n/a",
        "quote": null,
        "timecode": null,
        "rationale": "Предыдущих договорённостей не было",
        "applicable": false
      },
      {
        "item_no": 45,
        "item_code": "crm_no_personal_channel",
        "title": "Не ориентировал клиента на личные каналы связи",
        "section": "Корректность заполнения по клиенту в CRM",
        "block": "13",
        "weight": 3,
        "is_critical": false,
        "is_conditional": false,
        "severity": "mandatory",
        "status": "pass",
        "quote": null,
        "timecode": null,
        "rationale": "Менеджер оставалась в рамках CRM, не предлагала личные контакты",
        "applicable": true
      }
    ],
    "section_scores_json": {
      "1": {
        "pass_count": 1,
        "fail_count": 3,
        "applicable_count": 4,
        "total_count": 4,
        "percent": 0.25
      },
      "2": {
        "pass_count": 1,
        "fail_count": 3,
        "applicable_count": 4,
        "total_count": 4,
        "percent": 0.25
      },
      "3": {
        "pass_count": 6,
        "fail_count": 2,
        "applicable_count": 8,
        "total_count": 9,
        "percent": 0.75
      },
      "4": {
        "pass_count": 2,
        "fail_count": 0,
        "applicable_count": 2,
        "total_count": 2,
        "percent": 1.0
      },
      "5": {
        "pass_count": 0,
        "fail_count": 1,
        "applicable_count": 1,
        "total_count": 4,
        "percent": 0.0
      },
      "6": {
        "pass_count": 1,
        "fail_count": 1,
        "applicable_count": 2,
        "total_count": 2,
        "percent": 0.5
      },
      "7": {
        "pass_count": 0,
        "fail_count": 1,
        "applicable_count": 1,
        "total_count": 4,
        "percent": 0.0
      },
      "8": {
        "pass_count": 1,
        "fail_count": 3,
        "applicable_count": 4,
        "total_count": 4,
        "percent": 0.25
      },
      "9": {
        "pass_count": 0,
        "fail_count": 1,
        "applicable_count": 1,
        "total_count": 3,
        "percent": 0.0
      },
      "10": {
        "pass_count": 1,
        "fail_count": 1,
        "applicable_count": 2,
        "total_count": 2,
        "percent": 0.5
      },
      "11": {
        "pass_count": 2,
        "fail_count": 0,
        "applicable_count": 2,
        "total_count": 2,
        "percent": 1.0
      },
      "12": {
        "pass_count": 2,
        "fail_count": 1,
        "applicable_count": 3,
        "total_count": 3,
        "percent": 0.6667
      },
      "13": {
        "pass_count": 1,
        "fail_count": 0,
        "applicable_count": 1,
        "total_count": 2,
        "percent": 1.0
      }
    },
    "overall_score": 0.422,
    "confidence": "high",
    "summary": "Менеджер провел квалификацию клиента, выяснил его потребности и согласовал повторный звонок. Не была проведена презентация программы и попытка закрытия. Клиент заинтересован, но требуется более активная работа с возражениями и оплатой.",
    "client_info_json": {
      "interest": "Нейросети для разработчиков, применение на своих сайтах и приложениях",
      "past_experience": "Работает разработчиком, есть свой сайт",
      "motivation": "Получить квалификацию с нуля для рабочих задач, пришел по акции «курс в подарок»",
      "learning_goals": "Пройти программу по нейросетям с нуля для применения в разработке",
      "preferred_payment_method": "unknown",
      "course_tariff": null,
      "company_knowledge": null,
      "learning_preferences": "Гибкий график, доступ навсегда",
      "client_questions": [
        "Во сколько удобно перезвонить завтра?",
        "Можно ли связаться через Telegram username?"
      ],
      "lead_category": "BBB",
      "conversion_action": "Договорились о повторном звонке",
      "objections": [],
      "relevant_experience": "has",
      "company_familiarity": null,
      "age": null,
      "gender": "unknown",
      "city": null,
      "field": "IT/Разработка",
      "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_program_pitch"
      }
    ],
    "coaching_tip": "Презентуйте содержание программы и формат обучения для повышения ценности. Делайте попытку закрытия на звонке, а не просто передавайте специалисту.",
    "needs_human_review": true,
    "review_reason": "red_flag",
    "llm_latency_ms": null,
    "llm_cost_usd": null,
    "input_tokens": 18066,
    "output_tokens": 10953,
    "created_at": "2026-06-28T21:13:01.112704",
    "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": "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": null,
        "rationale": "Клиент подтвердил, что он разработчик"
      },
      {
        "item_no": 10,
        "item_code": "need_why_direction",
        "block": "3",
        "section": "Выявление потребностей",
        "title": "Почему выбрано именно это направление",
        "weight": 3,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": true,
        "status": "pass",
        "score": 3.0,
        "quote": "На уровне приложения, своих сайтов",
        "timecode": null,
        "rationale": "Клиент указал область применения (свои сайты/приложения)"
      },
      {
        "item_no": 11,
        "item_code": "need_goal",
        "block": "3",
        "section": "Выявление потребностей",
        "title": "Цель обучения",
        "weight": 4,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": true,
        "status": "pass",
        "score": 4.0,
        "quote": "хотите с нуля пройти программу по нейросетям для рабочих задач",
        "timecode": null,
        "rationale": "Цель — освоить нейросети для рабочих задач"
      },
      {
        "item_no": 12,
        "item_code": "need_why_now",
        "block": "3",
        "section": "Выявление потребностей",
        "title": "Почему именно сейчас решил обучиться",
        "weight": 3,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": true,
        "status": "fail",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Явный временной триггер не выявлен; упоминание подарка недостаточно"
      },
      {
        "item_no": 13,
        "item_code": "need_role_understanding",
        "block": "3",
        "section": "Выявление потребностей",
        "title": "Клиент понимает роль специалиста, на которого оставлена заявка",
        "weight": 2,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": true,
        "applicable": 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": true,
        "status": "pass",
        "score": 3.0,
        "quote": "мне бы с нуля вообще квалификацию по этому поводу",
        "timecode": null,
        "rationale": "Клиент указал на отсутствие знаний как сложность"
      },
      {
        "item_no": 15,
        "item_code": "need_self_told",
        "block": "3",
        "section": "Выявление потребностей",
        "title": "Клиент сам рассказал про свои потребности",
        "weight": 1,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": true,
        "status": "fail",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Все потребности выявлены через вопросы менеджера, не спонтанно"
      },
      {
        "item_no": 16,
        "item_code": "need_ask_experience",
        "block": "3",
        "section": "Выявление потребностей",
        "title": "Консультант спросил клиента про опыт",
        "weight": 3,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": true,
        "status": "pass",
        "score": 3.0,
        "quote": "Вы не ликвидами уже пользуетесь?",
        "timecode": null,
        "rationale": "Менеджер спросил про опыт работы с нейросетями"
      },
      {
        "item_no": 17,
        "item_code": "need_has_experience",
        "block": "3",
        "section": "Выявление потребностей",
        "title": "У клиента есть опыт работы по интересующей специальности",
        "weight": 1,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": true,
        "status": "pass",
        "score": 1.0,
        "quote": "То есть вы работаете разработчиком",
        "timecode": null,
        "rationale": "Клиент имеет опыт разработки, релевантный курсу"
      },
      {
        "item_no": 44,
        "item_code": "crm_followup",
        "block": "13",
        "section": "Корректность заполнения по клиенту в CRM",
        "title": "Перезвонил в согласованное время / соблюдал договорённости",
        "weight": 2,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": true,
        "applicable": false,
        "status": "n/a",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Предыдущих договорённостей не было"
      },
      {
        "item_no": 45,
        "item_code": "crm_no_personal_channel",
        "block": "13",
        "section": "Корректность заполнения по клиенту в CRM",
        "title": "Не ориентировал клиента на личные каналы связи",
        "weight": 3,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": true,
        "status": "pass",
        "score": 3.0,
        "quote": null,
        "timecode": null,
        "rationale": "Менеджер оставалась в рамках CRM, не предлагала личные контакты"
      },
      {
        "item_no": 37,
        "item_code": "next_exact_time",
        "block": "10",
        "section": "Обозначил следующий шаг",
        "title": "Согласована точная дата/время следующего звонка",
        "weight": 4,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": true,
        "applicable": true,
        "status": "fail",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Указано только 'примерно в это же время', без точного часа"
      },
      {
        "item_no": 38,
        "item_code": "next_approx_time",
        "block": "10",
        "section": "Обозначил следующий шаг",
        "title": "Согласована приблизительная дата/время следующего звонка",
        "weight": 2,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": true,
        "applicable": true,
        "status": "pass",
        "score": 2.0,
        "quote": "примерно в это же время",
        "timecode": 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": "pass",
        "score": 2.0,
        "quote": "ваша скидка до шестьдесяти пяти процентов",
        "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": false,
        "status": "n/a",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Способ оплаты не выбран"
      },
      {
        "item_no": 24,
        "item_code": "pres_program",
        "block": "6",
        "section": "Презентация",
        "title": "Сделал презентацию программы обучения",
        "weight": 4,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": true,
        "status": "fail",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Содержание программы не раскрыто"
      },
      {
        "item_no": 25,
        "item_code": "pres_format",
        "block": "6",
        "section": "Презентация",
        "title": "Сделал презентацию формата обучения",
        "weight": 3,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": true,
        "status": "pass",
        "score": 3.0,
        "quote": "курс в итоге останется с Вами навсегда, ... нет графика, здесь все в любое одно время занимаетесь.",
        "timecode": null,
        "rationale": "Менеджер кратко описала формат: бессрочный доступ, гибкий график"
      },
      {
        "item_no": 1,
        "item_code": "greet_hello",
        "block": "1",
        "section": "Приветствие и цель звонка",
        "title": "Консультант поздоровался",
        "weight": 2,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": true,
        "status": "fail",
        "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": 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": "pass",
        "score": 3.0,
        "quote": "Я как раз и звоню уточнить ваши цели относительно обучения",
        "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": "pass",
        "score": 1.0,
        "quote": "Я как раз и звоню уточнить ваши цели относительно обучения",
        "timecode": null,
        "rationale": "Анонс блока выявления потребностей"
      },
      {
        "item_no": 6,
        "item_code": "program_presentation",
        "block": "2",
        "section": "Программирование",
        "title": "Озвучен блок «презентация программы»",
        "weight": 1,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": true,
        "status": "fail",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Менеджер не анонсировала презентацию программы"
      },
      {
        "item_no": 7,
        "item_code": "program_questions",
        "block": "2",
        "section": "Программирование",
        "title": "Озвучен блок «ответы на вопросы клиента»",
        "weight": 1,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": true,
        "status": "fail",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Блок ответов на вопросы не анонсирован"
      },
      {
        "item_no": 8,
        "item_code": "program_payment_option",
        "block": "2",
        "section": "Программирование",
        "title": "Озвучен блок «варианты оплаты»",
        "weight": 1,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": true,
        "status": "fail",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Блок вариантов оплаты не анонсирован"
      },
      {
        "item_no": 39,
        "item_code": "prof_listens",
        "block": "11",
        "section": "Профессионализм",
        "title": "Консультант слышит клиента и отвечает по сути",
        "weight": 4,
        "section_weight": 0.0,
        "is_critical": true,
        "is_conditional": false,
        "applicable": true,
        "status": "pass",
        "score": 4.0,
        "quote": null,
        "timecode": null,
        "rationale": "Менеджер отвечала на вопросы и подводила итоги"
      },
      {
        "item_no": 40,
        "item_code": "prof_no_rude",
        "block": "11",
        "section": "Профессионализм",
        "title": "Консультант не грубил, не проявлял обиду к клиенту",
        "weight": 5,
        "section_weight": 0.0,
        "is_critical": true,
        "is_conditional": false,
        "applicable": true,
        "status": "pass",
        "score": 5.0,
        "quote": null,
        "timecode": null,
        "rationale": "Грубости не обнаружено"
      },
      {
        "item_no": 26,
        "item_code": "obj_detected",
        "block": "7",
        "section": "Работа с возражениями",
        "title": "У клиента есть сомнения или возражения",
        "weight": 1,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": true,
        "status": "fail",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Явных возражений не выявлено"
      },
      {
        "item_no": 27,
        "item_code": "obj_count",
        "block": "7",
        "section": "Работа с возражениями",
        "title": "Количество возражений в звонке",
        "weight": 1,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": true,
        "applicable": false,
        "status": "n/a",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Возражений нет"
      },
      {
        "item_no": 28,
        "item_code": "obj_handled_count",
        "block": "7",
        "section": "Работа с возражениями",
        "title": "Количество отработанных возражений",
        "weight": 1,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": true,
        "applicable": false,
        "status": "n/a",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Возражений нет"
      },
      {
        "item_no": 29,
        "item_code": "obj_handled_each",
        "block": "7",
        "section": "Работа с возражениями",
        "title": "Каждое возражение отработано (да/нет)",
        "weight": 5,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": true,
        "applicable": false,
        "status": "n/a",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Возражений нет"
      },
      {
        "item_no": 18,
        "item_code": "summary_repeat",
        "block": "4",
        "section": "Резюме данных от клиента",
        "title": "Повторил / резюмировал потребности клиента",
        "weight": 2,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": true,
        "status": "pass",
        "score": 2.0,
        "quote": "То есть вы работаете разработчиком, хотите с нуля пройти программу по нейросетям для рабочих задач в этой сфере, верно?",
        "timecode": null,
        "rationale": "Менеджер перефразировала потребность клиента"
      },
      {
        "item_no": 19,
        "item_code": "summary_fit",
        "block": "4",
        "section": "Резюме данных от клиента",
        "title": "Подытожил, что курс подойдёт клиенту",
        "weight": 3,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": true,
        "status": "pass",
        "score": 3.0,
        "quote": "у нас как раз есть программа для нейросети для разработчиков, возможно, сможет вам как раз -таки подойти под рабочие ваши задачи.",
        "timecode": null,
        "rationale": "Менеджер связала потребность с подходящим курсом"
      }
    ]
  },
  "client_portrait": {
    "demographics_json": {
      "age": null,
      "gender": "unknown",
      "city": null,
      "sphere": "IT/Разработка",
      "role": "Разработчик"
    },
    "motivation_json": {
      "interest": "Нейросети для разработчиков, применение на своих сайтах и приложениях",
      "motivation": "Получить квалификацию с нуля для рабочих задач, пришел по акции «курс в подарок»",
      "learning_goals": "Пройти программу по нейросетям с нуля для применения в разработке",
      "learning_preferences": "Гибкий график, доступ навсегда",
      "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": [
      "Во сколько удобно перезвонить завтра?",
      "Можно ли связаться через Telegram username?"
    ],
    "extra_json": {
      "past_experience": "Работает разработчиком, есть свой сайт",
      "company_knowledge": null,
      "company_familiarity": null,
      "relevant_experience": "has",
      "lead_category": "BBB",
      "conversion_action": "Договорились о повторном звонке",
      "client_questions": [
        "Во сколько удобно перезвонить завтра?",
        "Можно ли связаться через Telegram username?"
      ],
      "decision_maker": true
    },
    "created_at": "2026-06-28T21:13:01.119685"
  }
}