Перейти к содержимому

Продлить или перенести сессию в IZI

Опубликовано: · Обновлено: (13 дней назад)· IZI Team

В IZI CRM администратор управляет сессией (отрезком времени игры на конкретном устройстве) в одно-два касания прямо из экрана Зала. Есть два ключевых сценария: продление — добавить время к текущей сессии без её остановки, и перенос — переместить игрока на другой ПК с сохранением остатка. Оба действия требуют права SESSION_EDIT и работают только с активными сессиями (статус ACTIVE или STARTED). Продление добавляет новый тариф встык к уже купленному покрытию (mutation extendSession), перенос переключает устройство внутри той же сессии (mutation switchSessionDevice) — данные игрока и время не теряются.

Бизнес-польза для владельца: меньше потерянной выручки на «забытых» сессиях, меньше конфликтов при поломке ПК, выше средний чек за счёт своевременного предложения продления.


  • Клиент хочет продолжить игру, но купленное время подходит к концу.
  • На карточке ПК в Зале появился жёлтый или красный индикатор покрытия (coverageStatus: NEEDS_ATTENTION).
  • Клиент пополнил баланс в мобильном приложении, и вы хотите добавить ему время.

1. Откройте карточку ПК в Зале. Перейдите в раздел Зал. Найдите карточку нужного ПК — та, у которой идёт активная сессия. Нажмите на карточку, откроется боковая панель сессии.

2. Нажмите «Продлить». В боковой панели нажмите кнопку Продлить (i18n-ключ sessions.entity.actions.extend.title). Если до следующей брони на этом ПК остаётся меньше одной целой минуты, кнопка неактивна — система покажет подсказку об ограничении.

3. Выберите тариф для продления. Откроется каталог купленных тарифов этого игрока. Выберите нужный playerTariff — это может быть тот же тариф, что и при старте, или другой. Если у тарифа есть расписание, система покажет доступные временные окна. Если свободное окно до следующей брони меньше одной единицы тарифа, IZI автоматически ограничит длительность и предупредит об этом.

4. При необходимости задайте длительность. Для тарифов с выбором длины укажите durationSeconds или оставьте maxAllowed — тогда система сама возьмёт максимально доступное время с учётом расписания и бронирований других клиентов.

5. Выберите способ оплаты и подтвердите. Нажмите Оформить и перейти к оплате. Деньги списываются с баланса или принимаются наличными/картой. Таймер на карточке ПК немедленно обновляется — игрок продолжает играть без паузы.

IZI добавляет запись SessionPlayerTariff — новый отрезок покрытия — встык к предыдущему (или к текущему моменту, если предыдущий уже закончился). Для сессий в режиме FINITE система автоматически сдвигает plannedEndAt вперёд. После подтверждения MQTT-команда уходит на ПК, снимается DeviceHold типа PROTECTED_OPS, и реалтайм-подписка обновляет карточку Зала у всех открытых вкладок одновременно.

СитуацияЧто происходит
До следующей брони < 1 минКнопка «Продлить» недоступна
Тариф не подходит для зоны текущего ПКТариф не отображается в каталоге
Расписание тарифа закрыто в это времяТариф помечен как недоступный
У игрока нет купленных тарифовКаталог пуст — нужно сначала оформить заказ

  • ПК сломался или завис — нужно быстро пересадить клиента.
  • Клиент хочет занять освободившееся место в VIP-зоне.
  • Администратор переставляет игроков для оптимизации зала.

1. Откройте карточку ПК с активной сессией. В Зале найдите ПК, с которого нужно перенести игрока. Нажмите на карточку.

2. Нажмите «Пересадить на другой ПК». В боковой панели нажмите кнопку Пересадить на другой ПК (i18n-ключ sessions.entity.actions.switch.title). Откроется диалог выбора устройства.

3. Выберите целевой ПК. В поле Новый ПК выберите свободное устройство из списка. IZI показывает только доступные ПК: занятые другой сессией и офлайн-устройства в списке неактивны. Если тариф привязан к конкретной зоне, ПК из других зон также будут недоступны — IZI проверяет совместимость зон автоматически.

4. Нажмите «Пересадить». Подтвердите операцию кнопкой Пересадить (i18n-ключ sessions.entity.actions.switch.submit). Исходный ПК освобождается (карточка становится зелёной), на целевом ПК запускается та же сессия с тем же остатком времени. Скажите игроку пересесть — его место уже разблокировано.

IZI завершает запись SessionDevice на исходном ПК (actualEndAt = now) и создаёт новую на целевом. Для уже запущенной сессии (STARTED) за точку отсчёта берётся текущий момент; для не начатой резервированной сессии — plannedStartAt, если он в будущем. После транзакции система отправляет MQTT-команды на оба устройства и публикует обновление сессии через sessionUpdates — реалтайм-подписку видят все администраторы клуба.

СитуацияЧто происходит
Целевой ПК занятНе появляется в списке выбора
Целевой ПК офлайнНе появляется в списке выбора
Тариф не поддерживает зону целевого ПКОшибка DEVICE_ZONE_MISMATCH
Устройство типа POD (кабина)Перенос запрещён: игрок физически внутри (DEVICE_NOT_SWITCHABLE)

Автопродление: когда администратор не нужен

Заголовок раздела «Автопродление: когда администратор не нужен»

IZI поддерживает автопродление (Автопродление — механизм, при котором следующий тариф добавляется к сессии до её окончания без участия администратора). Настройка находится прямо в боковой панели активной сессии — переключатель Автоматическое продление. Если включено, система сама добавит тариф за несколько минут до конца покрытия. Для open-ended (безлимитных) сессий с постоплатой автопродление включено принудительно.

Автопродление удобно для постоянных клиентов с привязанной картой или достаточным балансом. Если баланс недостаточен в момент продления, сессия завершится автоматически.


Оба действия — продление и перенос — требуют разрешения SESSION_EDIT на уровне клуба. Разовый гость (One-time-аккаунт) без номера телефона управляется так же, как обычный игрок: его сессию можно продлить и перенести теми же шагами. Подробнее о правах — в разделе Управление залом в реальном времени.


Частые вопросы

Сессия прерывается при продлении?

Нет. ПК продолжает работать без перерыва — меняется только таймер и списывается оплата.

Можно продлить сессию на другой тариф?

Да. При продлении выбирается купленный тариф (playerTariff) — он может отличаться от исходного. Продление добавляется встык к текущему покрытию, без разрыва.

Что произойдёт, если до следующей брони на этом ПК осталась меньше 1 минуты?

IZI заблокирует кнопку «Продлить» и покажет подсказку: время учитывается в целых минутах, и неполная минута не даёт права на продление.

Таймер останавливается при переносе на другой ПК?

На время самой операции — доли секунды. После подтверждения сессия продолжается на новом ПК с тем же остатком времени.

Можно ли перенести игрока в другую зону — например, из Standard в VIP?

Только если тариф поддерживает целевую зону. IZI проверяет зону автоматически: ПК из несовместимой зоны недоступны для выбора.

Что делать, если нужный ПК занят или офлайн?

Выбрать другой: IZI подсвечивает только доступные устройства. Недоступные ПК (занятые или офлайн) неактивны в списке выбора.