{
  "_": "Приложение 1 к договору-оферте «Ранг»: названия тарифов и фиксированные цены. Единственный источник правды для оферты, страниц тарифов, входа и кабинета. Сверяется с кодом products/ege/app/subscription.py скриптом legal/check-offer-sync.py (работа F31-W4).",
  "offer_version": "offer-rang-r4",
  "offer_date": "17 октября 2026 года",
  "currency": "RUB",
  "trial_days": 7,
  "after_trial": {
    "long": "Автоматического перехода в платный тариф нет. На 8-й день доступ сам сужается до бесплатной части — списаний ноль.",
    "short": "После 7 дней останется бесплатная часть, оплата — по желанию."
  },
  "free_part": {
    "_": "Состав бесплатной части с 8-го дня и лимиты бесплатного режима. Источник правды — products/ege/app/subscription.py (FREE_PART_INCLUDES, FREE_PART_LIMITS); сторож legal/check-offer-sync.py не даёт разойтись коду, этому приложению и витринам (работа F31-W46).",
    "day": 8,
    "plan_code": "freemium",
    "includes": [
      "задачи и проверка ответов",
      "разбор ступенями",
      "диагностика и план до экзамена"
    ],
    "limits": [
      "ИИ-наставник — на платном тарифе",
      "недельный отчёт родителю — на платном тарифе",
      "списаний нет: карта не привязывается, автоперехода в платный не существует"
    ],
    "line": "С 8-го дня остаётся бесплатная часть: задачи и проверка ответов, разбор ступенями, диагностика и план до экзамена. Лимиты бесплатного режима: ИИ-наставник — на платном тарифе; недельный отчёт родителю — на платном тарифе; списаний нет: карта не привязывается, автоперехода в платный не существует."
  },
  "include": {
    "_": "Одна строка перед </body> — и страница показывает текст «после пробного» из этого приложения. Разметку добавлять не нужно: включение само создаёт абзац в узлах из data-into. Ставится в зоне самой страницы (вход и кабинет — F31-W5, тарифы корня — F31-W2); установщик legal/install-trial-notice.py делает это одной командой.",
    "script": "/legal/trial-notice.js",
    "snippet": "<script src=\"/legal/trial-notice.js\" data-into=\"{into}\" data-kind=\"{kind}\" defer></script>"
  },
  "plans": [
    {
      "code": "freemium",
      "title": "Бесплатно",
      "price_rub": 0,
      "billing": "бессрочно",
      "price_label": "0 ₽",
      "description": "Базовые задания и знакомство с Рангом."
    },
    {
      "code": "self",
      "title": "Сам",
      "price_rub": 2900,
      "billing": "в месяц",
      "price_label": "2 900 ₽ / мес",
      "description": "Полный доступ к тренажёру для одного ученика и еженедельный отчёт родителю.",
      "trial_days": 7
    },
    {
      "code": "with_sotym",
      "title": "С ИИ-наставником",
      "price_rub": 4900,
      "billing": "в месяц",
      "price_label": "4 900 ₽ / мес",
      "description": "Всё из «Сам» плюс ИИ-наставник.",
      "trial_days": 7
    },
    {
      "code": "before_exam",
      "title": "До экзамена",
      "price_rub": 27400,
      "billing": "разово",
      "price_label": "27 400 ₽",
      "description": "Разовая оплата. Доступ до конца основной волны ЕГЭ, продлений нет."
    },
    {
      "code": "class",
      "title": "Класс",
      "price_rub": 1490,
      "billing": "за ученика в месяц",
      "price_label": "1 490 ₽ / ученик · мес",
      "description": "Для школ и групп от 15 учеников, оплата по счёту; кабинет учителя — после пилота, по заявке."
    }
  ],
  "discounts": {
    "trio": "«Тройка» — −20 % при оплате трёх мест месячного тарифа (три ученика). Пример: 3 × 2 900 ₽ = 8 700 ₽ без скидки, со скидкой — 6 960 ₽ в месяц"
  },
  "promo": {
    "_": "Акция запуска — та же скидка, что применяет касса. Источник правды — products/ege/app/promo_launch.py (PROMO_*), строка условий — promo_launch.offer_line(); сторож legal/check-offer-sync.py не даёт этому блоку разойтись с кодом и с витриной «Тарифы» (работа F31-W261). Основание акции — решение владельца, паспорт F31-W179.",
    "code": "launch30",
    "title": "Акция запуска",
    "percent": 30,
    "months": 1,
    "pay_window_days": 2,
    "scope": "первый месяц любого платного тарифа, один раз",
    "starts_at": "2026-11-03T00:00:00+03:00",
    "ends_at": "2026-12-01T00:00:00+03:00",
    "last_day": "2026-11-30",
    "last_day_ru": "30 ноября 2026",
    "plans": [
      "self",
      "with_sotym",
      "before_exam",
      "class"
    ],
    "line": "Акция запуска: скидка 30 % на первый месяц любого платного тарифа при оплате в первые 2 дня пробной недели; акция действует до 30 ноября 2026 включительно.",
    "in_offer": true,
    "offer_note": "Условие акции внесено в прозу оферты пунктом 2.1 (редакция offer-rang-r3 от 17 октября 2026 года, слово владельца 17.10.2026); in_offer=true — сторож check-offer-sync.py сверяет прозу с кодом как расхождение зоны."
  },
  "showcase": {
    "_": "Единый текст тарифных витрин «Тарифы» (/pricing/) и «Родителям» (/parents.html, /v3/parents.html) — работа F31-W204. Названия, цены, подписи периода, имя бесплатного периода и условие «Тройки» берутся ОТСЮДА и нигде не сочиняются заново. Сторож pricing/check-tariff-sync.py не даёт страницам разойтись между собой, с этим приложением и с офертой.",
    "pages": [
      "pricing/index.html",
      "parents.html",
      "v3/parents.html"
    ],
    "trial": {
      "_": "Имя бесплатного периода — одно на всех витринах. Оферта §3: «Пробная неделя (пробный период) — семь дней без оплаты».",
      "name": "пробная неделя, без оплаты",
      "tag": "Бесплатно · пробная неделя, без оплаты",
      "price_label": "0 ₽",
      "per": "7 дней полного доступа",
      "what": "Диагностика, план до экзамена и разборы ступенями. Карта не нужна.",
      "cta": "Начать пробную неделю — без оплаты",
      "lead": "Пробная неделя, без оплаты: семь дней полного доступа, карта не привязывается. Автоматического перехода в платный тариф нет.",
      "forbidden": [
        "Пробные 7 дней",
        "Попробовать 7 дней",
        "пробный — 7 дней",
        "Пробный период без карты",
        "пробных 7 дней",
        "пробный 7 дней"
      ]
    },
    "plans": {
      "self": {
        "name": "Сам",
        "price_label": "2 900 ₽",
        "per": "в месяц · один ученик · «Сам»",
        "what": "План до экзамена по неделям, разборы ступенями, повторы 1 · 3 · 7 · 14 · 30, недельный отчёт родителю."
      },
      "with_sotym": {
        "name": "С ИИ-наставником",
        "price_label": "4 900 ₽",
        "per": "в месяц · один ученик · «С ИИ-наставником»",
        "what": "Всё из «Сам» и ИИ-наставник."
      },
      "before_exam": {
        "name": "До экзамена",
        "price_label": "27 400 ₽",
        "per": "разово, без продлений · «До экзамена»",
        "what": "Всё из «С ИИ-наставником» до конца основной волны ЕГЭ. Списаний больше нет."
      },
      "class": {
        "name": "Класс",
        "price_label": "1 490 ₽",
        "per": "за ученика в месяц, от 15 учеников",
        "what": "Школам и группам: оплата по счёту, кабинет учителя — после пилота, по заявке."
      },
      "_": "Подпись периода НАЗЫВАЕТ тариф рядом с ценой: сторож pricing/check-prices-v4.py сверяет пару «сумма — ближайшее имя», а SVG-метка карточки отодвигает тег от цены."
    },
    "trio_line": "−20&nbsp;% от базовой стоимости при оплате трёх мест месячного тарифа (три ученика); других скидочных ступеней нет. Пример: три места тарифа «Сам» — 3&nbsp;×&nbsp;2&nbsp;900&nbsp;₽&nbsp;=&nbsp;8&nbsp;700 без скидки, со скидкой — 6&nbsp;960 рублей в месяц.",
    "class_line": "<strong>1 490 ₽</strong> · за ученика в месяц, от 15 учеников · оплата по счёту · кабинет учителя — после пилота, по заявке",
    "after_trial_line": "Автоматического перехода в платный тариф нет. На 8-й день доступ сам сужается до бесплатной части — списаний ноль."
  },
  "catalog_url": "/pricing/",
  "offer_url": "/legal/offer.html"
}
