Продлить или перенести сессию в IZI
Продлить или перенести сессию в IZI
Заголовок раздела «Продлить или перенести сессию в IZI»В 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 подсвечивает только доступные устройства. Недоступные ПК (занятые или офлайн) неактивны в списке выбора.