Пакеты времени
Пакеты времени предоставляют участникам предоплаченный минутный баланс. Вместо почасовой оплаты по стандартному тарифу участник может приобрести блок минут заранее и использовать их в нескольких сессиях. Система отслеживает оставшийся баланс и списывает минуты автоматически при использовании ПК или консолей.
Система временных кредитов
Подобно системе кошелька, пакеты времени используют архитектуру на основе кредитов. Каждое добавление минутного баланса создает новый временной кредит. Каждый кредит является независимой записью с собственным минутным балансом, источником, сроком действия и ограничениями по устройствам.
Общее количество доступных минут участника - сумма оставшихся минут по всем активным временным кредитам.
Поля временного кредита
Каждая запись временного кредита содержит:
| Поле | Описание |
|---|---|
| Всего минут | Исходное количество минут при создании кредита. |
| Осталось минут | Текущий баланс неиспользованных минут. Уменьшается при использовании сессий. |
| Тип кредита | Способ создания кредита (см. Типы кредитов ниже). |
| Ограничение устройств | Какие типы устройств могут расходовать этот кредит (см. Ограничения устройств ниже). |
| Статус | Текущее состояние жизненного цикла кредита. |
| Истекает | Необязательная метка времени истечения. После этой даты оставшиеся минуты нельзя использовать. |
| ID покупки | Если кредит создан из покупки пакета акции - ссылка на запись покупки. |
Типы кредитов
Каждый временной кредит отслеживает способ создания:
| Тип кредита | Описание |
|---|---|
| Оплаченный | Участник оплатил эти минуты через прямую покупку или как базовое начисление пакета акции. |
| Бонусный | Промо-минуты, предоставленные как бонус к покупке пакета. Например, "купите 120 минут, получите 30 бонусных минут". |
| Ручной | Минуты, добавленные вручную кассиром или администратором. Для поощрительных кредитов, компенсаций или специальных условий. |
Статус кредита
Каждый временной кредит проходит через следующие состояния:
- Активный: кредит имеет оставшиеся минуты и не истек. Минуты могут расходоваться из этого кредита.
- Истекший: дата истечения кредита прошла. Оставшиеся минуты более недоступны, даже если баланс больше нуля.
- Израсходованный: оставшиеся минуты кредита достигли нуля через нормальное использование.
- Отменен: кредит отменен администратором вручную, оставшиеся минуты аннулированы.
Ограничения по устройствам
Каждый временной кредит имеет ограничение по устройствам, контролирующее какие типы устройств могут его расходовать:
| Ограничение | Значение |
|---|---|
| Клиент | Используется на клиентских ПК. Также на консолях, если явно не ограничен. |
| Консоль | Используется на игровых консолях. Также на ПК, если явно не ограничен. |
| Только ПК | Только на клиентских ПК. Сессии на консолях не могут расходовать этот кредит. |
| Только консоли | Только на игровых консолях. Сессии на ПК не могут расходовать этот кредит. |
| Оба | На любом типе устройств без ограничений. Значение по умолчанию. |
Ограничение по устройствам задается при создании кредита и не может быть изменено позже. Обычно наследуется от определения пакета акции, создавшего кредит.
Отслеживание расхода
При каждом списании минут из временного кредита система создает запись расхода времени:
| Поле | Описание |
|---|---|
| Израсходовано минут | Количество списанных минут. Всегда положительное целое число. |
| Время расхода | Метка времени списания. |
| Контекст | Причина списания (см. ниже). |
| Ссылка | Ссылка на конкретную сессию, кредит или корректировку. |
Типы контекста
| Контекст | Описание |
|---|---|
| Использование сессии | Минуты израсходованы для оплаты активной сессии. Основной путь расхода. |
| Истечение | Минуты списаны при истечении кредита или корректировке оставшихся минут. |
| Возврат | Минуты возвращены на кредит в рамках процесса возврата. |
Интеграция с пакетами акций
Временные кредиты чаще всего создаются через покупки пакетов акций:
- Владелец создает акцию с одним или несколькими пакетами типа "минуты".
- Участник выбирает и покупает пакет (из панели участника на клиенте или через кассира).
- Система создает соответствующие временные кредиты:
- Оплаченный кредит для базового начисления минут (базовая сумма пакета).
- Если пакет определяет бонусный тип "минуты" с бонусной суммой больше нуля, создается отдельный бонусный кредит.
- Кредиты наследуют настройку ограничения по устройствам пакета.
- Если у пакета задан период действия, дата истечения кредита рассчитывается как дата покупки плюс количество дней действия.
Списание времени в сессиях
Когда участник с доступными минутами запускает сессию:
- Система проверяет наличие активных временных кредитов, соответствующих типу устройства сессии.
- Кредиты расходуются в порядке даты истечения (сначала с ближайшим сроком) для минимизации потерь от истекающих кредитов.
- По мере работы сессии минуты периодически списываются из подходящих кредитов.
- Каждое списание создает запись расхода как "Использование сессии".
- Если все временные кредиты исчерпаны до окончания сессии, сессия продолжается, а оставшееся время тарифицируется по стандартной почасовой ставке (оплата при закрытии сессии).
Это означает, что минутный баланс и баланс кошелька участника могут работать совместно. Временные кредиты покрывают столько минут, сколько доступно, а остаток оплачивается из кошелька или наличными.