{
  "schema_version": 1,
  "call": {
    "id": "e322eb26-df7e-420b-aaf2-42a1c6827c91",
    "created_at": "2026-07-01T17:41:24",
    "original_filename": "comagic_b67fe75326d04e658e67547c66aed270",
    "audio_path": null,
    "audio_size_bytes": null,
    "duration_seconds": 216.432,
    "debtor_hash": null,
    "debtor_timezone": "Europe/Moscow",
    "stage": "Взяли в работу",
    "bucket": null,
    "product": "Каталог",
    "deal_id": "46312048",
    "crm_source": "uis",
    "utm_source": "reactivation",
    "utm_medium": "sashaai",
    "utm_campaign": "closedlost-jan25ap26-16042026",
    "lead_category": "CCC",
    "transcript_status": "done",
    "analytics_status": "done",
    "last_error": null,
    "prompt_version": "eduson-v5.10",
    "processed_at": "2026-07-02T01:45:28.796081"
  },
  "operator": {
    "id": "bc0f125c-502b-4aad-813a-0702b62dbf8d",
    "full_name": "Яловегин Николай",
    "employee_code": "яловегин_николай",
    "department": "sales"
  },
  "transcript": {
    "provider": "okk_dialog_runpod",
    "model": "bzikst/faster-whisper-large-v3-russian",
    "language": "ru",
    "raw_text": "КЛИЕНТ: Алло.\nМЕНЕДЖЕР: Алло, здравствуйте, это Николай из Академии Eduson. Вам недавно звонила наша ей помощница, должна (КЛИЕНТ: Стены.) была рассказать вам о том, что вы\nКЛИЕНТ: Да, (МЕНЕДЖЕР: обращались) да.\nМЕНЕДЖЕР: по поводу обучения по вайфодингу, но у нас не получилось поступить. А сейчас у нас появилась дополнительная акция для всех людей, кто планировал поступить к учебе в июне, но не успел это сделать по тем или иным причинам. Возможно, поступить к учебе с хорошей дополнительной скидкой, так сказать, закрываем все хвосты.\nМЕНЕДЖЕР: Посмотрите, пожалуйста, актуально ли такое предложение (КЛИЕНТ: я) сейчас?\nКЛИЕНТ: бы послушал ваше предложение.\nМЕНЕДЖЕР: Огонь! Смотрите, стандартная цена по вайткодингу, я напомню, у нас стояла семьдесят три тысячи рублей. Сейчас стоимость обучения на данное направление, вот по данной акции, она у нас снижена. И снижена она у нас, давайте буквально секундочку подскажу, по процентам до пятидесяти пяти тысяч рублей. рублей, то есть такой шаг вниз, и спина двадцать тысяч у нас делается. И данную стоимость обучения также, как и раньше, можно развивать в рассрочку либо оплачивать единоразово, то есть тут уже кому как более комфортно. При этом условия обучения, они не меняются никак, то есть ничего не урегулируется, ничего не уменьшается. Это также будет полный, бессрочный доступ ко всем материалам, также максимально большой объем практики, работа с преподавателями и все необходимые темы, Начиная с того, что мы разбираемся с базой, что такое лайнфординг и какие инструменты есть, как ими пользоваться, заканчивая тем, что полноценно реализуем как несколько внутренних ученических проектов, так и свой конкретный индивидуальный проект, также ученицам с такими проектами управляясь. То есть чтобы не просто его сделать, а также в будущем редактировать и модернизировать.\nКЛИЕНТ: все (МЕНЕДЖЕР: То) понятно, (МЕНЕДЖЕР: есть) (МЕНЕДЖЕР: все) ладно, (МЕНЕДЖЕР: в) хорошо, (МЕНЕДЖЕР: полном) я, (МЕНЕДЖЕР: доступе) я, я (МЕНЕДЖЕР: охране.) подумаю.\nМЕНЕДЖЕР: Данная акция, она у нас сейчас идет с 1 по 3 июля, и, как следствие, попадая в данный срок, вот можно с вашей дополнительной скидкой к обучению приступить. Что думаете, насколько подходят данные условия сейчас?\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МЕНЕДЖЕР: [ФИО], здравствуйте, это [ФИО] из Академии Eduson. Вам недавно звонила наша ей помощница, должна (КЛИЕНТ: Стены.) была рассказать вам о том, что вы\nКЛИЕНТ: Да, (МЕНЕДЖЕР: обращались) да.\nМЕНЕДЖЕР: по поводу обучения по вайфодингу, но у нас не получилось поступить. А сейчас у нас появилась дополнительная акция для всех людей, кто планировал поступить к учебе в июне, но не успел это сделать по тем или иным причинам. Возможно, поступить к учебе с хорошей дополнительной скидкой, так сказать, закрываем все хвосты.\nМЕНЕДЖЕР: Посмотрите, пожалуйста, актуально ли такое предложение (КЛИЕНТ: я) сейчас?\nКЛИЕНТ: бы послушал ваше предложение.\nМЕНЕДЖЕР: Огонь! Смотрите, стандартная цена по вайткодингу, я напомню, у нас стояла семьдесят три тысячи рублей. Сейчас стоимость обучения на данное направление, вот по данной акции, она у нас снижена. И снижена она у нас, давайте буквально секундочку подскажу, по процентам до пятидесяти пяти тысяч рублей. рублей, то есть такой шаг вниз, и спина двадцать тысяч у нас делается. И данную стоимость обучения также, как и раньше, можно развивать в рассрочку либо оплачивать единоразово, то есть тут уже кому как более комфортно. При этом условия обучения, они не меняются никак, то есть ничего не урегулируется, ничего не уменьшается. Это также будет полный, бессрочный доступ ко всем материалам, также максимально большой объем практики, работа с преподавателями и все необходимые темы, Начиная с того, что мы разбираемся с базой, что такое лайнфординг и какие инструменты есть, как ими пользоваться, заканчивая тем, что полноценно реализуем как несколько внутренних ученических проектов, так и свой конкретный индивидуальный проект, также ученицам с такими проектами управляясь. То есть чтобы не просто его сделать, а также в будущем редактировать и модернизировать.\nКЛИЕНТ: все (МЕНЕДЖЕР: То) понятно, (МЕНЕДЖЕР: есть) (МЕНЕДЖЕР: все) ладно, (МЕНЕДЖЕР: в) хорошо, (МЕНЕДЖЕР: полном) я, (МЕНЕДЖЕР: доступе) я, я (МЕНЕДЖЕР: охране.) подумаю.\nМЕНЕДЖЕР: Данная акция, она у нас сейчас идет с 1 по 3 июля, и, как следствие, попадая в данный срок, вот можно с вашей дополнительной скидкой к обучению приступить. Что думаете, насколько подходят данные условия сейчас?\nКЛИЕНТ: [наложение] Я подумал, если я надумал хорошо, [ФИО], я\nМЕНЕДЖЕР: [наложение] Что еще раз?\nКЛИЕНТ: бы напишу вам или вы сами нас находите, если я надумаю.\nМЕНЕДЖЕР: А что сейчас думаете, вы сказали, что интересное для вас предложение, если я правильно понял?\nКЛИЕНТ: Ну, я б послушал.\nКЛИЕНТ: Что (МЕНЕДЖЕР: [ФИО],) (МЕНЕДЖЕР: да,) было, (МЕНЕДЖЕР: поэтому) сейчас (МЕНЕДЖЕР: спрашиваю,) всех.\nМЕНЕДЖЕР: что в целом думаете, насколько подходит, (КЛИЕНТ: рекомендуем.) либо это вне, допустим, бюджета, либо желания?\nКЛИЕНТ: такие вещи сразу не отвечаю.\nМЕНЕДЖЕР: Я не спрашиваю вас про готовность, потому что услышал, что можно немного этому степени рискнуть, но, разумеется, хоть и приятно, но тем не менее снег на голову. Мне в целом, понимаете, насколько интересно данное предложение для вас сейчас?\nМЕНЕДЖЕР: Либо (КЛИЕНТ: Ну,) оно полностью (КЛИЕНТ: интересно,) неинтересно, только если честно,\nКЛИЕНТ: [наложение] но,\nМЕНЕДЖЕР: [наложение] чтобы я закрыл заверку.\nКЛИЕНТ: к сожалению, у меня пока нету этих свободных дене[адрес], в этом случае можно сами воспользоваться расточкой или обучением просто разбить на несколько частей, чтоб по финансам было попроще. Например, (КЛИЕНТ: [адрес],) максимально, насколько можно растянуть,\nКЛИЕНТ: Казахстан. (МЕНЕДЖЕР: это) (МЕНЕДЖЕР: двенадцать) Я (МЕНЕДЖЕР: месяцев.) понимаю, я понимаю, (МЕНЕДЖЕР: Угу.) единственное, что меня удерживает от рассылочки — это стосовая работа через банк.\nКЛИЕНТ: Я (МЕНЕДЖЕР: Да,) с Донком\nМЕНЕДЖЕР: [наложение] что там плохого?\nКЛИЕНТ: и не хочу работать.\nКЛИЕНТ: Ладно, [ФИО], я вас услышал.\nМЕНЕДЖЕР: чем -то же (КЛИЕНТ: Всех) конкретная (КЛИЕНТ: -всех) проблема (КЛИЕНТ: -всех) с банками (КЛИЕНТ: -всех) (КЛИЕНТ: -всех.) или боятся переплаты?\nКЛИЕНТ: Вот. Всего вам доброго. До свиданья.\nМЕНЕДЖЕР: Вы не ответили на мой вопрос.\n",
    "segments": [
      {
        "start": 2.66,
        "end": 3.46,
        "text": "Алло.",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 4.22,
        "end": 11.8,
        "text": "Алло, здравствуйте, это [ФИО] из Академии Eduson. Вам недавно звонила наша ей помощница, должна была рассказать вам о том, что вы",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 12.83,
        "end": 13.27,
        "text": "Да, да.",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 14.16,
        "end": 29.54,
        "text": "по поводу обучения по вайфодингу, но у нас не получилось поступить. А сейчас у нас появилась дополнительная акция для всех людей, кто планировал поступить к учебе в июне, но не успел это сделать по тем или иным причинам. Возможно, поступить к учебе с хорошей дополнительной скидкой, так сказать, закрываем все хвосты.",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 30.46,
        "end": 32.94,
        "text": "Посмотрите, пожалуйста, актуально ли такое предложение сейчас?",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 33.62,
        "end": 36.1,
        "text": "бы послушал ваше предложение.",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 36.62,
        "end": 104.04,
        "text": "Огонь! Смотрите, стандартная цена по вайткодингу, я напомню, у нас стояла семьдесят три тысячи рублей. Сейчас стоимость обучения на данное направление, вот по данной акции, она у нас снижена. И снижена она у нас, давайте буквально секундочку подскажу, по процентам до пятидесяти пяти тысяч рублей. рублей, то есть такой шаг вниз, и спина двадцать тысяч у нас делается. И данную стоимость обучения также, как и раньше, можно развивать в рассрочку либо оплачивать единоразово, то есть тут уже кому как более комфортно. При этом условия обучения, они не меняются никак, то есть ничего не урегулируется, ничего не уменьшается. Это также будет полный, бессрочный доступ ко всем материалам, также максимально большой объем практики, работа с преподавателями и все необходимые темы, Начиная с того, что мы разбираемся с базой, что такое лайнфординг и какие инструменты есть, как ими пользоваться, заканчивая тем, что полноценно реализуем как несколько внутренних ученических проектов, так и свой конкретный индивидуальный проект, также ученицам с такими проектами управляясь. То есть чтобы не просто его сделать, а также в будущем редактировать и модернизировать.",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 106.08,
        "end": 109.16,
        "text": "все понятно, ладно, хорошо, я, я, я подумаю.",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 109.52,
        "end": 122.14,
        "text": "Данная акция, она у нас сейчас идет с 1 по 3 июля, и, как следствие, попадая в данный срок, вот можно с вашей дополнительной скидкой к обучению приступить. Что думаете, насколько подходят данные условия сейчас?",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 122.74,
        "end": 128.74,
        "text": "Я подумал, если я надумал хорошо, [ФИО], я",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 126.62,
        "end": 127.52,
        "text": "Что еще раз?",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 128.74,
        "end": 133.54,
        "text": "бы напишу вам или вы сами нас находите, если я надумаю.",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 133.41,
        "end": 137.46,
        "text": "А что сейчас думаете, вы сказали, что интересное для вас предложение, если я правильно понял?",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 137.3,
        "end": 138.74,
        "text": "Ну, я б послушал.",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 140.8,
        "end": 142.58,
        "text": "Что было, сейчас всех.",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 142.56,
        "end": 147.16,
        "text": "что в целом думаете, насколько подходит, либо это вне, допустим, бюджета, либо желания?",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 148.07,
        "end": 150.84,
        "text": "такие вещи сразу не отвечаю.",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 151.28,
        "end": 162.56,
        "text": "Я не спрашиваю вас про готовность, потому что услышал, что можно немного этому степени рискнуть, но, разумеется, хоть и приятно, но тем не менее снег на голову. Мне в целом, понимаете, насколько интересно данное предложение для вас сейчас?",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 163.52,
        "end": 166.1,
        "text": "Либо оно полностью неинтересно, только если честно,",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 166.0,
        "end": 169.0,
        "text": "но,",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 166.22,
        "end": 167.3,
        "text": "чтобы я закрыл заверку.",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 169.12,
        "end": 175.7,
        "text": "к сожалению, у меня пока нету этих свободных денег.",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 177.08,
        "end": 186.78,
        "text": "Смотрите, в этом случае можно сами воспользоваться расточкой или обучением просто разбить на несколько частей, чтоб по финансам было попроще. Например, максимально, насколько можно растянуть,",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 186.28,
        "end": 198.64,
        "text": "[адрес]. Я понимаю, я понимаю, единственное, что меня удерживает от рассылочки — это стосовая работа через банк.",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 199.54,
        "end": 203.78,
        "text": "Я с [ФИО]",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 200.68,
        "end": 201.54,
        "text": "что там плохого?",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 203.78,
        "end": 204.42,
        "text": "и не хочу работать.",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 205.46,
        "end": 207.12,
        "text": "Ладно, [ФИО], я вас услышал.",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 206.98,
        "end": 209.74,
        "text": "чем -то же конкретная проблема с банками или боятся переплаты?",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      },
      {
        "start": 209.64,
        "end": 211.62,
        "text": "Вот. Всего вам доброго. До свиданья.",
        "channel": 0,
        "speaker": "КЛИЕНТ"
      },
      {
        "start": 211.58,
        "end": 213.12,
        "text": "Вы не ответили на мой вопрос.",
        "channel": 1,
        "speaker": "МЕНЕДЖЕР"
      }
    ],
    "word_count": 594,
    "duration_seconds": 216.432,
    "pii_redacted_count": 7,
    "created_at": "2026-07-02T01:44:12.555936"
  },
  "scoring": {
    "prompt_version": "eduson-v5.10",
    "llm_provider": "deepseek",
    "llm_model": "deepseek-v4-flash",
    "checklist_json": [
      {
        "item_no": 1,
        "item_code": "greet_hello",
        "title": "Консультант поздоровался",
        "section": "Приветствие и цель звонка",
        "block": "1",
        "weight": 2,
        "is_critical": false,
        "is_conditional": false,
        "severity": "mandatory",
        "status": "pass",
        "quote": "[ФИО], здравствуйте",
        "timecode": 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": "pass",
        "quote": "это [ФИО] из Академии Eduson",
        "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": "pass",
        "quote": "из Академии Eduson",
        "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": "fail",
        "quote": null,
        "timecode": null,
        "rationale": "Блок знакомства/выявления не анонсирован.",
        "applicable": true
      },
      {
        "item_no": 6,
        "item_code": "program_presentation",
        "title": "Озвучен блок «презентация программы»",
        "section": "Программирование",
        "block": "2",
        "weight": 1,
        "is_critical": false,
        "is_conditional": false,
        "severity": "desirable",
        "status": "fail",
        "quote": null,
        "timecode": null,
        "rationale": "Нет анонса блока презентации программы.",
        "applicable": true
      },
      {
        "item_no": 7,
        "item_code": "program_questions",
        "title": "Озвучен блок «ответы на вопросы клиента»",
        "section": "Программирование",
        "block": "2",
        "weight": 1,
        "is_critical": false,
        "is_conditional": false,
        "severity": "desirable",
        "status": "fail",
        "quote": null,
        "timecode": null,
        "rationale": "Нет анонса блока ответов на вопросы.",
        "applicable": true
      },
      {
        "item_no": 8,
        "item_code": "program_payment_option",
        "title": "Озвучен блок «варианты оплаты»",
        "section": "Программирование",
        "block": "2",
        "weight": 1,
        "is_critical": false,
        "is_conditional": false,
        "severity": "desirable",
        "status": "fail",
        "quote": null,
        "timecode": null,
        "rationale": "Нет анонса блока вариантов оплаты.",
        "applicable": true
      },
      {
        "item_no": 9,
        "item_code": "need_occupation",
        "title": "Чем занимается клиент",
        "section": "Выявление потребностей",
        "block": "3",
        "weight": 3,
        "is_critical": false,
        "is_conditional": false,
        "severity": "mandatory",
        "status": "fail",
        "quote": null,
        "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": "fail",
        "quote": null,
        "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": "fail",
        "quote": null,
        "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": "fail",
        "quote": null,
        "timecode": null,
        "rationale": "Клиент не называл конкретные темы или сложности.",
        "applicable": true
      },
      {
        "item_no": 15,
        "item_code": "need_self_told",
        "title": "Клиент сам рассказал про свои потребности",
        "section": "Выявление потребностей",
        "block": "3",
        "weight": 1,
        "is_critical": false,
        "is_conditional": false,
        "severity": "desirable",
        "status": "fail",
        "quote": null,
        "timecode": null,
        "rationale": "Клиент не излагал потребности самостоятельно.",
        "applicable": true
      },
      {
        "item_no": 16,
        "item_code": "need_ask_experience",
        "title": "Консультант спросил клиента про опыт",
        "section": "Выявление потребностей",
        "block": "3",
        "weight": 3,
        "is_critical": false,
        "is_conditional": false,
        "severity": "mandatory",
        "status": "fail",
        "quote": null,
        "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": "fail",
        "quote": null,
        "timecode": null,
        "rationale": "Опыт клиента не обсуждался.",
        "applicable": true
      },
      {
        "item_no": 18,
        "item_code": "summary_repeat",
        "title": "Повторил / резюмировал потребности клиента",
        "section": "Резюме данных от клиента",
        "block": "4",
        "weight": 2,
        "is_critical": false,
        "is_conditional": false,
        "severity": "mandatory",
        "status": "fail",
        "quote": null,
        "timecode": null,
        "rationale": "Менеджер не переформулировал потребности клиента.",
        "applicable": true
      },
      {
        "item_no": 19,
        "item_code": "summary_fit",
        "title": "Подытожил, что курс подойдёт клиенту",
        "section": "Резюме данных от клиента",
        "block": "4",
        "weight": 3,
        "is_critical": false,
        "is_conditional": false,
        "severity": "mandatory",
        "status": "fail",
        "quote": null,
        "timecode": null,
        "rationale": "Не сделаны выводы о пригодности курса для клиента.",
        "applicable": true
      },
      {
        "item_no": 20,
        "item_code": "upsale_value",
        "title": "Пояснил, в чём ценность более дорогих курсов",
        "section": "Upsale",
        "block": "5",
        "weight": 3,
        "is_critical": false,
        "is_conditional": true,
        "severity": "desirable",
        "status": "n/a",
        "quote": null,
        "timecode": null,
        "rationale": "Апсейл не производился.",
        "applicable": false
      },
      {
        "item_no": 21,
        "item_code": "upsale_options",
        "title": "Предложил несколько различных тарифов",
        "section": "Upsale",
        "block": "5",
        "weight": 2,
        "is_critical": false,
        "is_conditional": true,
        "severity": "desirable",
        "status": "n/a",
        "quote": null,
        "timecode": null,
        "rationale": "Апсейл не производился.",
        "applicable": false
      },
      {
        "item_no": 22,
        "item_code": "upsale_choice_check",
        "title": "Уточнил, на чём остановился клиент, что ему подходит",
        "section": "Upsale",
        "block": "5",
        "weight": 2,
        "is_critical": false,
        "is_conditional": false,
        "severity": "mandatory",
        "status": "n/a",
        "quote": null,
        "timecode": null,
        "rationale": "Апсейл не производился.",
        "applicable": false
      },
      {
        "item_no": 23,
        "item_code": "upsale_course_proposed",
        "title": "Какой курс предложен в качестве Upsale (метаполе)",
        "section": "Upsale",
        "block": "5",
        "weight": 1,
        "is_critical": false,
        "is_conditional": true,
        "severity": "desirable",
        "status": "n/a",
        "quote": null,
        "timecode": null,
        "rationale": "Апсейл не производился.",
        "applicable": false
      },
      {
        "item_no": 24,
        "item_code": "pres_program",
        "title": "Сделал презентацию программы обучения",
        "section": "Презентация",
        "block": "6",
        "weight": 4,
        "is_critical": false,
        "is_conditional": false,
        "severity": "mandatory",
        "status": "pass",
        "quote": "начиная с того, что разбираемся с базой, что такое лайнфординг и какие инструменты есть... заканчивая тем, что полноценно реализуем... свой конкретный индивидуальный проект",
        "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": "pass",
        "quote": "я подумаю... нету этих свободных денег... стосовая работа через банк",
        "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": "pass",
        "quote": null,
        "timecode": null,
        "rationale": "Зафиксировано 2 возражения: потребность в размышлении и финансовые ограничения.",
        "applicable": true
      },
      {
        "item_no": 28,
        "item_code": "obj_handled_count",
        "title": "Количество отработанных возражений",
        "section": "Работа с возражениями",
        "block": "7",
        "weight": 1,
        "is_critical": false,
        "is_conditional": true,
        "severity": "desirable",
        "status": "pass",
        "quote": null,
        "timecode": null,
        "rationale": "Отработано 1 возражение (предложена рассрочка). Банковское возражение не отработано.",
        "applicable": true
      },
      {
        "item_no": 29,
        "item_code": "obj_handled_each",
        "title": "Каждое возражение отработано (да/нет)",
        "section": "Работа с возражениями",
        "block": "7",
        "weight": 5,
        "is_critical": false,
        "is_conditional": true,
        "severity": "mandatory",
        "status": "fail",
        "quote": null,
        "timecode": null,
        "rationale": "Возражение по банковской процедуре не обработано (клиент завершил звонок).",
        "applicable": true
      },
      {
        "item_no": 30,
        "item_code": "price_discount_focus",
        "title": "Презентовал стоимость с акцентом на скидке клиента",
        "section": "Обсуждение цены и формата оплаты",
        "block": "8",
        "weight": 3,
        "is_critical": false,
        "is_conditional": false,
        "severity": "mandatory",
        "status": "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": "pass",
        "quote": "шаг вниз, и спина двадцать тысяч у нас делается",
        "timecode": null,
        "rationale": "Размер скидки назван (20 тыс. руб.).",
        "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": "pass",
        "quote": "семьдесят три тысячи... до пятидесяти пяти тысяч",
        "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": "Данная акция, она у нас сейчас идет с 1 по 3 июля",
        "timecode": null,
        "rationale": "Указан временной лимит для решения.",
        "applicable": true
      },
      {
        "item_no": 35,
        "item_code": "close_full_today",
        "title": "Если выбрана полная оплата — предложил оплатить сегодня",
        "section": "Предложил ли оплату в моменте",
        "block": "9",
        "weight": 3,
        "is_critical": false,
        "is_conditional": true,
        "severity": "desirable",
        "status": "n/a",
        "quote": null,
        "timecode": null,
        "rationale": "Не было обсуждения полной оплаты.",
        "applicable": false
      },
      {
        "item_no": 36,
        "item_code": "close_install_now",
        "title": "Если выбрана рассрочка — оформил её на звонке",
        "section": "Предложил ли оплату в моменте",
        "block": "9",
        "weight": 3,
        "is_critical": false,
        "is_conditional": true,
        "severity": "desirable",
        "status": "fail",
        "quote": null,
        "timecode": null,
        "rationale": "Оформление рассрочки на звонке не завершено (клиент отказался).",
        "applicable": true
      },
      {
        "item_no": 37,
        "item_code": "next_exact_time",
        "title": "Согласована точная дата/время следующего звонка",
        "section": "Обозначил следующий шаг",
        "block": "10",
        "weight": 4,
        "is_critical": false,
        "is_conditional": true,
        "severity": "mandatory",
        "status": "fail",
        "quote": null,
        "timecode": null,
        "rationale": "Точное время следующего контакта не согласовано.",
        "applicable": true
      },
      {
        "item_no": 38,
        "item_code": "next_approx_time",
        "title": "Согласована приблизительная дата/время следующего звонка",
        "section": "Обозначил следующий шаг",
        "block": "10",
        "weight": 2,
        "is_critical": false,
        "is_conditional": true,
        "severity": "desirable",
        "status": "fail",
        "quote": null,
        "timecode": null,
        "rationale": "Приблизительная дата не назначена.",
        "applicable": true
      },
      {
        "item_no": 39,
        "item_code": "prof_listens",
        "title": "Консультант слышит клиента и отвечает по сути",
        "section": "Профессионализм",
        "block": "11",
        "weight": 4,
        "is_critical": true,
        "is_conditional": false,
        "severity": "mandatory",
        "status": "pass",
        "quote": 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": "Данная акция, она у нас сейчас идет с 1 по 3 июля... Что думаете?",
        "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": 4,
        "fail_count": 0,
        "applicable_count": 4,
        "total_count": 4,
        "percent": 1.0
      },
      "2": {
        "pass_count": 0,
        "fail_count": 4,
        "applicable_count": 4,
        "total_count": 4,
        "percent": 0.0
      },
      "3": {
        "pass_count": 0,
        "fail_count": 8,
        "applicable_count": 8,
        "total_count": 9,
        "percent": 0.0
      },
      "4": {
        "pass_count": 0,
        "fail_count": 2,
        "applicable_count": 2,
        "total_count": 2,
        "percent": 0.0
      },
      "5": {
        "pass_count": 0,
        "fail_count": 0,
        "applicable_count": 0,
        "total_count": 4,
        "percent": 0.0
      },
      "6": {
        "pass_count": 2,
        "fail_count": 0,
        "applicable_count": 2,
        "total_count": 2,
        "percent": 1.0
      },
      "7": {
        "pass_count": 3,
        "fail_count": 1,
        "applicable_count": 4,
        "total_count": 4,
        "percent": 0.75
      },
      "8": {
        "pass_count": 3,
        "fail_count": 1,
        "applicable_count": 4,
        "total_count": 4,
        "percent": 0.75
      },
      "9": {
        "pass_count": 1,
        "fail_count": 1,
        "applicable_count": 2,
        "total_count": 3,
        "percent": 0.5
      },
      "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.597,
    "confidence": "high",
    "summary": "Клиент — повторный контакт по курсу вайб-кодинга. Менеджер предложил акцию (скидка 20 тыс., срок до 3 июля). Клиент сообщил об отсутствии свободных средств и опасениях по рассрочке через банк. После прояснения банковского вопроса менеджер не отработал полностью — клиент завершил звонок без конкретных договорённостей. Не выявлены потребности, нет следующего шага.",
    "client_info_json": {
      "interest": "вайб-кодинг (vibe-coding)",
      "past_experience": null,
      "motivation": null,
      "learning_goals": null,
      "preferred_payment_method": "unknown",
      "course_tariff": "стандартный (дисконтный)",
      "company_knowledge": null,
      "learning_preferences": null,
      "client_questions": [],
      "lead_category": "CCC",
      "conversion_action": "Нет КД",
      "objections": [
        "Нужно время на принятие решения",
        "Финансовые возможности"
      ],
      "relevant_experience": null,
      "company_familiarity": null,
      "age": null,
      "gender": null,
      "city": null,
      "field": null,
      "role": null,
      "financial_readiness": "low",
      "interest_in_certificate": null,
      "interest_in_employment": null,
      "temperature": "cold",
      "life_circumstances": null,
      "decision_maker": null
    },
    "red_flags_json": [
      {
        "code": "rf_no_handling_objection"
      },
      {
        "code": "rf_no_next_step"
      },
      {
        "code": "rf_no_needs_discovery"
      },
      {
        "code": "rf_client_disengaged"
      }
    ],
    "coaching_tip": "Рекомендуется перед презентацией акции провести выявление потребностей клиента (цель, мотивация, сроки). После появления возражения о банке — подробно разобрать процедуру рассрочки, снять страхи, предложить альтернативу. В конце обязательно согласовать следующий шаг (дату/время повторного контакта).",
    "needs_human_review": true,
    "review_reason": "red_flag",
    "llm_latency_ms": null,
    "llm_cost_usd": null,
    "input_tokens": 18056,
    "output_tokens": 8260,
    "created_at": "2026-07-02T01:45:28.783716",
    "items": [
      {
        "item_no": 20,
        "item_code": "upsale_value",
        "block": "5",
        "section": "Upsale",
        "title": "Пояснил, в чём ценность более дорогих курсов",
        "weight": 3,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": true,
        "applicable": false,
        "status": "n/a",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Апсейл не производился."
      },
      {
        "item_no": 21,
        "item_code": "upsale_options",
        "block": "5",
        "section": "Upsale",
        "title": "Предложил несколько различных тарифов",
        "weight": 2,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": true,
        "applicable": false,
        "status": "n/a",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Апсейл не производился."
      },
      {
        "item_no": 22,
        "item_code": "upsale_choice_check",
        "block": "5",
        "section": "Upsale",
        "title": "Уточнил, на чём остановился клиент, что ему подходит",
        "weight": 2,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": false,
        "status": "n/a",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Апсейл не производился."
      },
      {
        "item_no": 23,
        "item_code": "upsale_course_proposed",
        "block": "5",
        "section": "Upsale",
        "title": "Какой курс предложен в качестве Upsale (метаполе)",
        "weight": 1,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": true,
        "applicable": false,
        "status": "n/a",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Апсейл не производился."
      },
      {
        "item_no": 41,
        "item_code": "active_lead",
        "block": "12",
        "section": "Активная позиция менеджера",
        "title": "Менеджер активно вёл диалог",
        "weight": 3,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": true,
        "status": "pass",
        "score": 3.0,
        "quote": 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": "Данная акция, она у нас сейчас идет с 1 по 3 июля... Что думаете?",
        "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": "fail",
        "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": true,
        "status": "fail",
        "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": true,
        "status": "fail",
        "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": 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": "fail",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Клиент не называл конкретные темы или сложности."
      },
      {
        "item_no": 15,
        "item_code": "need_self_told",
        "block": "3",
        "section": "Выявление потребностей",
        "title": "Клиент сам рассказал про свои потребности",
        "weight": 1,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": true,
        "status": "fail",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Клиент не излагал потребности самостоятельно."
      },
      {
        "item_no": 16,
        "item_code": "need_ask_experience",
        "block": "3",
        "section": "Выявление потребностей",
        "title": "Консультант спросил клиента про опыт",
        "weight": 3,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": true,
        "status": "fail",
        "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": true,
        "status": "fail",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Опыт клиента не обсуждался."
      },
      {
        "item_no": 44,
        "item_code": "crm_followup",
        "block": "13",
        "section": "Корректность заполнения по клиенту в CRM",
        "title": "Перезвонил в согласованное время / соблюдал договорённости",
        "weight": 2,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": true,
        "applicable": false,
        "status": "n/a",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Одиночный звонок, повторный не был запланирован."
      },
      {
        "item_no": 45,
        "item_code": "crm_no_personal_channel",
        "block": "13",
        "section": "Корректность заполнения по клиенту в CRM",
        "title": "Не ориентировал клиента на личные каналы связи",
        "weight": 3,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": true,
        "status": "pass",
        "score": 3.0,
        "quote": null,
        "timecode": null,
        "rationale": "Не было предложений уйти на личные каналы."
      },
      {
        "item_no": 37,
        "item_code": "next_exact_time",
        "block": "10",
        "section": "Обозначил следующий шаг",
        "title": "Согласована точная дата/время следующего звонка",
        "weight": 4,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": true,
        "applicable": true,
        "status": "fail",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Точное время следующего контакта не согласовано."
      },
      {
        "item_no": 38,
        "item_code": "next_approx_time",
        "block": "10",
        "section": "Обозначил следующий шаг",
        "title": "Согласована приблизительная дата/время следующего звонка",
        "weight": 2,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": true,
        "applicable": true,
        "status": "fail",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Приблизительная дата не назначена."
      },
      {
        "item_no": 30,
        "item_code": "price_discount_focus",
        "block": "8",
        "section": "Обсуждение цены и формата оплаты",
        "title": "Презентовал стоимость с акцентом на скидке клиента",
        "weight": 3,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": true,
        "status": "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": "pass",
        "score": 2.0,
        "quote": "шаг вниз, и спина двадцать тысяч у нас делается",
        "timecode": null,
        "rationale": "Размер скидки назван (20 тыс. руб.)."
      },
      {
        "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": "pass",
        "score": 3.0,
        "quote": "семьдесят три тысячи... до пятидесяти пяти тысяч",
        "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": "Данная акция, она у нас сейчас идет с 1 по 3 июля",
        "timecode": null,
        "rationale": "Указан временной лимит для решения."
      },
      {
        "item_no": 35,
        "item_code": "close_full_today",
        "block": "9",
        "section": "Предложил ли оплату в моменте",
        "title": "Если выбрана полная оплата — предложил оплатить сегодня",
        "weight": 3,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": true,
        "applicable": false,
        "status": "n/a",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Не было обсуждения полной оплаты."
      },
      {
        "item_no": 36,
        "item_code": "close_install_now",
        "block": "9",
        "section": "Предложил ли оплату в моменте",
        "title": "Если выбрана рассрочка — оформил её на звонке",
        "weight": 3,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": true,
        "applicable": true,
        "status": "fail",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Оформление рассрочки на звонке не завершено (клиент отказался)."
      },
      {
        "item_no": 24,
        "item_code": "pres_program",
        "block": "6",
        "section": "Презентация",
        "title": "Сделал презентацию программы обучения",
        "weight": 4,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": true,
        "status": "pass",
        "score": 4.0,
        "quote": "начиная с того, что разбираемся с базой, что такое лайнфординг и какие инструменты есть... заканчивая тем, что полноценно реализуем... свой конкретный индивидуальный проект",
        "timecode": 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": "pass",
        "score": 2.0,
        "quote": "[ФИО], здравствуйте",
        "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": "pass",
        "score": 2.0,
        "quote": "это [ФИО] из Академии Eduson",
        "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": "pass",
        "score": 2.0,
        "quote": "из Академии Eduson",
        "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": "fail",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Блок знакомства/выявления не анонсирован."
      },
      {
        "item_no": 6,
        "item_code": "program_presentation",
        "block": "2",
        "section": "Программирование",
        "title": "Озвучен блок «презентация программы»",
        "weight": 1,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": true,
        "status": "fail",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Нет анонса блока презентации программы."
      },
      {
        "item_no": 7,
        "item_code": "program_questions",
        "block": "2",
        "section": "Программирование",
        "title": "Озвучен блок «ответы на вопросы клиента»",
        "weight": 1,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": true,
        "status": "fail",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Нет анонса блока ответов на вопросы."
      },
      {
        "item_no": 8,
        "item_code": "program_payment_option",
        "block": "2",
        "section": "Программирование",
        "title": "Озвучен блок «варианты оплаты»",
        "weight": 1,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": true,
        "status": "fail",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Нет анонса блока вариантов оплаты."
      },
      {
        "item_no": 39,
        "item_code": "prof_listens",
        "block": "11",
        "section": "Профессионализм",
        "title": "Консультант слышит клиента и отвечает по сути",
        "weight": 4,
        "section_weight": 0.0,
        "is_critical": true,
        "is_conditional": false,
        "applicable": true,
        "status": "pass",
        "score": 4.0,
        "quote": null,
        "timecode": null,
        "rationale": "Менеджер реагировал на реплики клиента, пытался прояснить позицию."
      },
      {
        "item_no": 40,
        "item_code": "prof_no_rude",
        "block": "11",
        "section": "Профессионализм",
        "title": "Консультант не грубил, не проявлял обиду к клиенту",
        "weight": 5,
        "section_weight": 0.0,
        "is_critical": true,
        "is_conditional": false,
        "applicable": true,
        "status": "pass",
        "score": 5.0,
        "quote": null,
        "timecode": null,
        "rationale": "Грубости или обиды не зафиксировано."
      },
      {
        "item_no": 26,
        "item_code": "obj_detected",
        "block": "7",
        "section": "Работа с возражениями",
        "title": "У клиента есть сомнения или возражения",
        "weight": 1,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": true,
        "status": "pass",
        "score": 1.0,
        "quote": "я подумаю... нету этих свободных денег... стосовая работа через банк",
        "timecode": 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": true,
        "status": "pass",
        "score": 1.0,
        "quote": null,
        "timecode": null,
        "rationale": "Зафиксировано 2 возражения: потребность в размышлении и финансовые ограничения."
      },
      {
        "item_no": 28,
        "item_code": "obj_handled_count",
        "block": "7",
        "section": "Работа с возражениями",
        "title": "Количество отработанных возражений",
        "weight": 1,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": true,
        "applicable": true,
        "status": "pass",
        "score": 1.0,
        "quote": null,
        "timecode": null,
        "rationale": "Отработано 1 возражение (предложена рассрочка). Банковское возражение не отработано."
      },
      {
        "item_no": 29,
        "item_code": "obj_handled_each",
        "block": "7",
        "section": "Работа с возражениями",
        "title": "Каждое возражение отработано (да/нет)",
        "weight": 5,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": true,
        "applicable": true,
        "status": "fail",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Возражение по банковской процедуре не обработано (клиент завершил звонок)."
      },
      {
        "item_no": 18,
        "item_code": "summary_repeat",
        "block": "4",
        "section": "Резюме данных от клиента",
        "title": "Повторил / резюмировал потребности клиента",
        "weight": 2,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": true,
        "status": "fail",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Менеджер не переформулировал потребности клиента."
      },
      {
        "item_no": 19,
        "item_code": "summary_fit",
        "block": "4",
        "section": "Резюме данных от клиента",
        "title": "Подытожил, что курс подойдёт клиенту",
        "weight": 3,
        "section_weight": 0.0,
        "is_critical": false,
        "is_conditional": false,
        "applicable": true,
        "status": "fail",
        "score": 0.0,
        "quote": null,
        "timecode": null,
        "rationale": "Не сделаны выводы о пригодности курса для клиента."
      }
    ]
  },
  "client_portrait": {
    "demographics_json": {
      "age": null,
      "gender": null,
      "city": null,
      "sphere": null,
      "role": null
    },
    "motivation_json": {
      "interest": "вайб-кодинг (vibe-coding)",
      "motivation": null,
      "learning_goals": null,
      "learning_preferences": null,
      "life_circumstances": null
    },
    "finance_json": {
      "preferred_payment_method": "unknown",
      "financial_readiness": "low",
      "payment_ready": false,
      "interest_in_certificate": null,
      "interest_in_employment": null
    },
    "objections_json": [
      "Нужно время на принятие решения",
      "Финансовые возможности"
    ],
    "temperature": "cold",
    "life_circumstances": null,
    "decision_maker": null,
    "client_questions_json": [],
    "extra_json": {
      "past_experience": null,
      "company_knowledge": null,
      "company_familiarity": null,
      "relevant_experience": null,
      "lead_category": "CCC",
      "conversion_action": "Нет КД",
      "client_questions": [],
      "decision_maker": null
    },
    "created_at": "2026-07-02T01:45:28.797771"
  }
}