# Пакетный биллинг

# Пакетный биллинг

Пакетный биллинг позволяет предлагать курсы с оплатой за пакет занятий (например, 10 уроков) вместо ежемесячной подписки. Подходит для коротких курсов (свадебный танец, мастер-классы и пр.).

---

## Типы биллинга курса

В настройках курса (вкладка «Цена») доступен выбор типа биллинга:

| Тип | Описание |
|-----|----------|
| **Подписка** (SUBSCRIPTION) | Стандартный ежемесячный биллинг. По умолчанию |
| **Пакет** (PACKAGE) | Только пакетные опции, подписка недоступна |
| **Смешанный** (MIXED) | Студент выбирает подписку или пакет при регистрации |

---

## Настройка пакетных опций

1. Откройте курс → вкладка **Цена**
2. Выберите тип биллинга **Пакет** или **Смешанный**
3. В разделе «Пакетные опции» добавьте варианты:
   - **Количество занятий** — сколько занятий входит в пакет
   - **Цена** — стоимость пакета
   - **Название** — отображаемое название (на каждом языке)
4. Опции можно сортировать перетаскиванием

---

## Настройки срока действия пакета

На вкладке «Цена» задайте срок действия пакета:

| Режим | Описание |
|-------|----------|
| **До конца курса** (COURSE_END) | Пакет действует до даты окончания курса |
| **Фиксированная дата** (FIXED_DATE) | Пакет действует до указанной даты |
| **Плавающий срок** (FLOATING_MONTHS) | Пакет действует N месяцев с момента покупки |

---

## Автоматическое закрытие

Когда все занятия пакета использованы или срок действия истёк, заявление автоматически закрывается.

- Команда `package:close-exhausted` запускается ежедневно в 01:00
- Параметр `package_autoclose_days` задаёт дополнительный льготный период (в днях) после истечения пакета

---

## Регистрация студента

При регистрации на курс с типом **Пакет** или **Смешанный**:

1. Студент видит доступные пакетные опции (количество занятий и цену)
2. Выбирает подходящий пакет
3. После подтверждения заявления выставляется **один счёт** на полную стоимость пакета (без пропорционирования)

---

## Отслеживание прогресса

В карточке заявления отображается прогресс использования пакета:

- Всего занятий в пакете
- Посещённых занятий
- Оставшихся занятий
- Срок действия пакета