> ## Documentation Index
> Fetch the complete documentation index at: https://faq.exode.biz/llms.txt
> Use this file to discover all available pages before exploring further.

# Запуск и тарифы

> Потоки (запуски) курса, тарифные планы, даты старта продаж и типы оплаты

Продажа курса устроена через **запуски** (потоки) и **тарифы** внутри них. Запуск определяет период продаж и обучения, а тарифы — конкретные условия оплаты и доступа. Раздел находится в `Manage/Courses/Launches`.

## Запуски (потоки)

Запуск (`ProductLaunch`) — это отдельный поток курса со своими датами и тарифами. Один курс может иметь несколько запусков (например разные потоки в разное время года).

### Настройки запуска

| Параметр                  | Поле           | Ограничение    | Описание                                                     |
| ------------------------- | -------------- | -------------- | ------------------------------------------------------------ |
| Название запуска          | `name`         | до 65 символов | Название потока                                              |
| Начало продаж / записи    | `saleStartAt`  | дата и время   | Когда открывается продажа (или запись для бесплатного курса) |
| Окончание продаж / записи | `saleFinishAt` | дата и время   | Когда продажа закрывается                                    |
| Архивация                 | `archivedAt`   | —              | Перевод запуска в архив                                      |

<Note>
  Для бесплатного курса поля называются «Начало записи» и «Окончание записи» вместо «Начало/окончание продаж». Даты соответствуют вашему часовому поясу.
</Note>

### Статусы запуска

Запуск имеет статус публикации (`ProductLaunchStatus`):

| Статус        | Значение                                        |
| ------------- | ----------------------------------------------- |
| `Draft`       | Черновик — запуск ещё не отправлен на модерацию |
| `OnCheck`     | На проверке модераторами                        |
| `Published`   | Опубликован — доступен в каталоге               |
| `Declined`    | Отклонён модерацией                             |
| `Unpublished` | Снят с публикации                               |

Дополнительно рассчитывается статус по датам (`ProductLaunchByDateStatus`): активен (`Active`), будущий (`Future`), прошедший (`Past`), нет актуальных цен (`NoActualPrices`), готов к публикации (`ReadyToPublish`) и другие.

<img src="https://mintlify.s3.us-west-1.amazonaws.com/exode-faq/images/online-schools/courses/launch-settings.png" alt="Настройки запуска курса" />

## Тарифы

Внутри запуска создаются тарифы (`ProductPrice`) — конкретные варианты оплаты, которые видит ученик. У одного запуска может быть несколько тарифов.

### Типы тарифов

При создании тарифа выбирается его тип (`ProductPriceType`):

| Тип            | Название       | Описание                                                                                                     |
| -------------- | -------------- | ------------------------------------------------------------------------------------------------------------ |
| `OneTime`      | Разовая оплата | Ученик оплачивает всю сумму сразу одним платежом                                                             |
| `Installment`  | Рассрочка      | Внутренняя рассрочка школы: оплата частями по заданным условиям, доступ сохраняется при своевременной оплате |
| `Subscription` | Подписка       | Регулярные автоматические списания с карты; при отмене доступ теряется                                       |
| `ExternalLink` | Внешняя ссылка | Ученик перенаправляется на внешнюю ссылку оплаты, доступ выдаётся вручную или по интеграции                  |

<Note>
  Тип `Demo` — служебный внутренний тип и не выбирается вручную при создании тарифа.
</Note>

### Параметры тарифа

| Параметр             | Поле                      | Описание                                                                  |
| -------------------- | ------------------------- | ------------------------------------------------------------------------- |
| Название             | `title`                   | Название тарифа (до 65 символов)                                          |
| Описание             | `description`             | Короткое описание (до 65 символов)                                        |
| Текущая цена         | `amount`                  | Стоимость тарифа                                                          |
| Старая цена          | `previousAmount`          | Зачёркнутая цена «до скидки»                                              |
| Иконка               | `icon`                    | Иконка тарифа                                                             |
| Группа после оплаты  | `groupId`                 | В какую группу попадёт ученик после покупки (можно создать новую)         |
| Опции и преимущества | `tags`                    | Список пунктов, показываемых в тарифе                                     |
| Активность           | `active`                  | Включён/выключен тариф                                                    |
| Скрытый тариф        | `hidden`                  | Доступен только по прямой ссылке                                          |
| Период действия      | `activeFrom` / `activeTo` | Даты, когда тариф активен                                                 |
| Дней доступа         | `accessDays`              | Срок доступа к курсу после покупки                                        |
| Ссылка на оплату     | —                         | Готовая ссылка вида `/pay/{productId}/{priceId}` для существующего тарифа |

<img src="https://mintlify.s3.us-west-1.amazonaws.com/exode-faq/images/online-schools/courses/price-form.png" alt="Форма создания тарифа" />

<Tip>
  Скрытый тариф (`hidden`) удобен для индивидуальных предложений: он не показывается в общем списке, но доступен по прямой ссылке — можно отправить его конкретному ученику.
</Tip>

## Бесплатные курсы

Если курс бесплатный, тарифы недоступны — вместо них показывается заглушка: «Это бесплатный курс. Тарифы доступны только для платных курсов». Для бесплатного курса настраиваются только даты записи в запуске.

## Как это работает вместе

<Steps>
  <Step title="Создайте запуск">
    Задайте название потока и, при необходимости, даты продаж.
  </Step>

  <Step title="Добавьте тарифы">
    Создайте один или несколько тарифов с нужным типом оплаты и ценой.
  </Step>

  <Step title="Активируйте хотя бы один тариф">
    Без активного тарифа запуск нельзя опубликовать (условие `hasActualPrice`).
  </Step>

  <Step title="Опубликуйте запуск">
    Отправьте запуск на модерацию — см. [Создание курсов](/online-schools/courses/creating-courses).
  </Step>
</Steps>

<Warning>
  Для публикации запуска необходим хотя бы один активный тариф. Если тарифов нет или все выключены, платформа покажет ошибку «Нет активных тарифов» на экране публикации.
</Warning>
