SABSUS

ЖУРНАЛ ПРАВ НА ПОСЕЩЕНИЯ

Пакет услуг: как учитывать резерв, расход и возврат посещений

Клиент купил восемь занятий, два посетил, ещё три забронировал. Администратору нужны как минимум два ответа: сколько посещений ещё не использовано и сколько можно записать дополнительно. Один показатель «остаток» легко смешивает эти вопросы. Журнал операций пакета позволяет отдельно видеть выданные права, действующие резервы, подтверждённый расход и исправления, сохраняя связь с конкретным визитом.

Редакция SABSUS · · Источники проверены 9 октября

Определите, что именно продаёт пакет

Начните с единицы: посещение определённой услуги, час, фиксированная сумма или набор разных прав. Пакет на восемь часовых занятий нельзя автоматически применять к восьми занятиям по полтора часа. Если бизнес разрешает обмен по коэффициенту, это отдельное согласованное правило с версией и понятным объяснением клиенту.

Сохраните владельца пакета, допустимые услуги, количество, условия использования и срок, если он предусмотрен. Покупатель и получатель подарка могут быть разными людьми. Продажа пакета, поступление денег и выдача права на услуги — связанные события, но их подтверждения имеют разные источники.

Общий клиентский контекст описан в статье о повторных визитах в SPA. Здесь задача уже: обеспечить воспроизводимый баланс посещений. Руководство не определяет правомерность условий истечения, неявки или возврата денег; применимые условия нужно установить отдельно.

Четыре операции вместо ручного изменения остатка

Выдача создаёт исходное количество прав по конкретному пакету. Резерв связывает доступное право с будущей записью. Подтверждённый расход отражает предусмотренное условиями использование. Освобождение резерва возвращает возможность записаться, если будущий визит отменён без расхода по принятому правилу.

При выполнении визита резерв должен перейти в расход. Если просто добавить расход и оставить прежний резерв активным, одно посещение будет учтено дважды. Перенос времени сохраняет связь с тем же правом либо заменяет резерв по контролируемой операции; он не должен создавать новый расход.

Рекомендуемая формула для действующего пакета: доступно к новой записи = выданные права + разрешённые корректировки − чистый подтверждённый расход − активные резервы. Чистый расход означает расход с учётом связанных исправлений. Не вычитайте исправление дважды, одновременно изменяя расход и добавляя ту же сумму как независимую корректировку.

Отдельно показывайте неиспользованные права: они включают и свободную часть, и будущие резервы. Клиент с шестью неиспользованными посещениями и пятью записями располагает только одним свободным посещением для дополнительной брони.

Не копируйте чужую логику отмены без проверки

Продукты связывают код пакета с записью по-разному. В Acuity пакетный код можно применить при создании или к существующей записи. В описанной документацией отмене без отметки no-show стоимость возвращается к коду; при отметке no-show возврата не происходит. Acuity: Redeeming package codes.

Это пример конкретной реализации, а не рекомендация удерживать посещение за любую неявку. Для своего бизнеса задайте события и полномочия явно. Расход за состоявшуюся услугу и расход по условию отмены должны иметь разные основания, чтобы отчёт о посещаемости не считал их одинаково выполненными услугами.

Изменение отметки «неявка» после разбирательства требует проверки связанной операции. Простая смена статуса визита может не исправить баланс или, наоборот, повторно вернуть уже восстановленное право. Каждому исправлению нужен исходный идентификатор и проверка, было ли оно ранее выполнено.

Учебный пример: восемь прав и последовательность событий

Все записи условные. Пакет P8 содержит восемь одинаковых посещений; денежных расчётов в примере нет. После выдачи доступны 8, зарезервировано 0, чистый расход 0.

Клиент записался на три визита. Теперь доступны 5, зарезервировано 3, расход 0: 5 + 3 + 0 = 8. Первые два визита состоялись и прошли подтверждение. Резервы этих двух записей закрыты, расход увеличен на 2. Получаем 5 доступных + 1 резерв + 2 использованных = 8.

Третий визит отменён по правилу, которое освобождает право без расхода. Резерв уменьшается до нуля, доступны 6, расход остаётся 2. Отмена не увеличивает исходный размер пакета: 6 + 0 + 2 = 8.

Допустим, сотрудник ошибочно провёл ещё один расход на одну единицу: баланс стал 5 + 0 + 3 = 8. После проверки добавлена связанная обратная операция именно к ошибочному расходу. Чистый расход снова равен 2, доступны 6. Повторная обработка того же исправления не должна давать седьмое свободное посещение.

Затем клиент зарезервировал пять будущих визитов. Доступно 1, резерв 5, расход 2. Два администратора одновременно пытаются записать ещё по одному визиту на последнее право. Только один запрос может получить подтверждённый резерв; второму нужен понятный отказ или разбор. Правильный итог — 0 + 6 + 2 = 8. Итог «−1 доступно» означает, что проверка при фиксации не защитила баланс.

Что хранить в журнале операций

Минимальная запись должна объяснять изменение без обращения к памяти администратора:

  • Идентификатор пакета, его владелец и версия условий
  • Уникальный идентификатор операции и её источник
  • Вид события: выдача, резерв, освобождение, расход, исправление
  • Количество и единица права, связанная услуга
  • Идентификатор визита и исходной операции для обратного действия
  • Время факта и время регистрации
  • Автор, согласующий и основание ручного изменения
  • Состояние обработки и результат проверки баланса

Журнал должен сохранять историю исправлений. Удаление ошибочной строки лишает следующую смену объяснения, почему клиент ранее видел другой остаток. Связанное обратное событие показывает обе стороны: что произошло и как это исправили.

Не храните полный код доступа к пакету в открытых комментариях или массовых выгрузках, если он позволяет постороннему использовать услуги. Для отчёта достаточно безопасного идентификатора; доступ к исходным кодам определяется рабочей ролью.

Изменение условий и особые случаи

Новый тариф не должен молча менять уже выданный пакет. Сохраняйте версию условий покупки и отдельное решение об изменении. Acuity предупреждает, что правки кодов бывает трудно исправить; редактирование исходного предложения может затронуть ранее купивших его клиентов. Acuity: Managing package orders.

При заморозке определите, останавливается ли только возможность новой записи, меняется ли срок и что происходит с уже подтверждёнными визитами. При истечении различайте неиспользованные права и будущие резервы, созданные раньше. Статья не задаёт единый исход: сотрудник должен применить проверенные условия и сохранить основание решения.

Передача другому получателю, замена услуги и денежный возврат требуют отдельных правил и полномочий. Возврат денег сам по себе не доказывает, что права уже аннулированы; отмена права не подтверждает фактическую денежную операцию. В журнале должна оставаться связь между этими результатами, а не одно неясное поле «закрыто».

Чек-лист приёмки пакета услуг

  1. Повторная доставка события покупки не выдаёт второй пакет.
  2. Резерв уменьшает свободную часть, сохраняя неиспользованное право.
  3. Подтверждение визита переводит резерв в расход ровно один раз.
  4. Перенос не создаёт второго расхода или потерянного резерва.
  5. Отмена следует выбранному правилу, а её причина остаётся видимой.
  6. Исправление ссылается на исходный расход и не выполняется дважды.
  7. Два одновременных запроса на последнюю единицу не создают отрицательный остаток.
  8. Новая версия тарифа не меняет старые условия незаметно.
  9. Отчёт различает оказанные услуги и иные основания расхода.
  10. Сотрудник и клиент видят объяснимые свободные и зарезервированные посещения.

Проверьте сценарий через контекст SABSUS записи, CRM и клиентского приложения. Это модель приёмки; наличие пакетного журнала, резервирования и обратных операций необходимо подтвердить в вашей конфигурации.

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

Почему остаток пакета отличается от числа доступных записей?

Часть неиспользованных посещений может быть зарезервирована на будущие визиты. Показывайте свободную часть и резервы отдельно, с возможностью открыть связанные записи.

Можно просто прибавить посещение после жалобы?

Нужно различать исправление ошибочного расхода и выдачу дополнительного права по отдельному решению. У них разные основания, хотя свободный остаток может увеличиться одинаково.

Списание посещения означает признание выручки?

Этот журнал описывает право на услугу. Порядок финансового учёта, налогов и признания выручки определяется отдельно и не выводится из одного статуса посещения.

Источники

Источники проверены 9 октября 2026 года. Схема журнала и пример являются учебными.