Заміський клуб із басейном і кав’ярнею. Платний басейн при готелі. Аквапарк на чотири гірки в райцентрі, який працює три місяці на рік. Влаштовані вони по-різному, а вечір у власника однаковий: на вході адміністратор із зошитом — ім’я, час приходу, сплачено; поруч стійка із шапочками й рушниками, трохи далі холодильник із водою та кавовий апарат. Власник приїжджає, забирає гроші й звіряє їх із… нічим. Звіряти нема з чим.

Мова далі саме про такі майданчики — не про міські аквакомплекси з турнікетами на вході й чип-браслетами на руці. Там своя інфраструктура і свої бюджети. Тут же весь облік тримається на одній-двох людях у зміну і рівно настільки, наскільки їм вистачає пам’яті та сумлінності.
У басейні це відчувається гостріше, ніж у будь-якому іншому форматі. Тут продається не річ і не поїздка, а час у воді — а він сам по собі не залишає слідів. Гість прийшов, поплавав, пішов. Єдиний запис про це існує в голові людини на вході.
Три місця, де басейн втрачає гроші
Витоки тут різні за природою, і це важливо: одним інструментом їх не закрити.
- Вхід повз касу. «Свої», «на пів годинки», «він же маленький». Гроші взяли чи не взяли — дізнатися постфактум неможливо.
- Час понад оплачений. Оплачено годину, гість вийшов через дві. Ніхто не помітив, бо ніхто не засікав.
- Прокат і буфет. Рушник, шапочка, кава, вода — дрібниця, яку не записують узагалі. За місяць ця дрібниця складається в окрему зарплату.
Далі — по порядку, чим закривається кожен.
Чому системи «для аквапарків» не підійдуть невеликому майданчику
Пошук за запитом «автоматизація басейну» видає квитково-пропускні комплекси, і влаштовані вони однаково: чип-браслет на руку, турнікети на вході й виході, електронні замки шафок, зчитувачі біля гірок. Вартість майже ніхто не публікує — «розраховується індивідуально».
Такі системи охороняють периметр: вони розв’язують задачу «не пустити того, хто не заплатив». Це розумно для великого аквапарку з тисячею гостей на день і десятком точок проходу. У заміському клубі або в басейні на дві чаші адміністратор бачить і вхід, і воду, стоячи на одному місці. Перекривати нема чого — турнікет тут охороняє двері, у які й так усі проходять у нього на очах.
Справжня задача інша: не пропускати людей, а фіксувати час і зводити гроші. Для цього вистачає телефона або планшета в руках Співробітника.
Браслет із номером: час рахує не людина
У RentOS для цього є режим обліку «Перебування». На вході гість отримує браслет або ключ від шафки з номером, Співробітник тапає «Додати браслет» — і система сама присвоює номер: найменший вільний серед тих, що зараз у роботі. Звільнився третій — наступний гість отримає третій, а не двадцять сьомий. Пул номерів окремий у кожного об’єкта, тому браслет №3 у дитячій чаші та №3 в аквазоні не конфліктують.
Час старту ставить сервер, а не телефон. Застосунок перезапустили, телефон розрядився, змінилася людина на стійці й відкрила екран з іншого пристрою — відлік триває з тієї ж секунди. Кожен браслет — окрема плитка на екрані, і скільки людей зараз у воді, видно, не рахуючи по головах.
Два способи продавати час: за вхід і за фактом
За вхід — набір варіантів «тривалість плюс ціна»: 45 хвилин, година, півтори. Ціна відома заздалегідь, тому оплату запитують одразу на старті, одним потоком: обрали варіант, обрали готівку чи безготівку. Далі йде зворотний відлік, а після завершення часу плитка сигналить — звук, вібрація, пульсація. Сам заїзд при цьому не закривається: система не вигадує за людину, коли та вийшла з води. Закриває Співробітник, коли гість справді вийшов.
За фактом — ціна за хвилину. Сума росте просто в плитці, спосіб оплати запитують на зупинці, коли підсумок уже відомий. Тривалість округлюється вгору, а підсумкову суму за бажанням можна округлювати до цілої одиниці — вмикається перемикачем у зоні, щоб не виставляти рахунок з копійками тому, хто зайшов на пів хвилини.
Вибір тут не про зручність, а про модель бізнесу. Фіксований сеанс дисциплінує потік і зрозумілий гостю заздалегідь. Похвилинно чесніше для вільного плавання, де один плаває двадцять хвилин, а інший півтори години, і продавати їм те саме — означає втрачати на других.
Нікого не забули у воді
Здача підсумків по зоні не відправиться, доки по ній лишаються відкриті браслети — замість кнопки буде «Заверши активні заїзди». Зроблено це заради арифметики: виручку не можна порахувати, доки частина сеансів не закрита. Але на практиці виходить вечірня перевірка: незакритий браслет — це або гість, про якого забули, або гроші, які не взяли.

Коли каса стоїть окремо від води — квитки
Це звична історія навіть для аквапарку на чотири гірки: гроші беруть в одному місці, а пускають в іншому. Правило вибору просте, і воно про людей, а не про воду:
- Гроші бере касир на вході, а у воду пускає інша людина — це «Квитки».
- Та сама людина взяла гроші й сама видала браслет — це «Перебування», квитки лише додадуть зайвий крок.
Замовлення збирається з того, що просить гість: двоє дорослих і троє дитячих. Оплата одна, а гість отримує короткий номер — такий, який легко назвати вголос. Усередині замовлення кожна позиція живе окремим квитком, і гасяться вони поштучно: підійшли троє з п’яти — погасили три. Ціни стоять варіантами на самому об’єкті: «Дорослий», «Дитячий», «Пільговий», і нульова ціна теж припустима, якщо когось пускають безкоштовно. Касир не вводить суму руками — він обирає варіант.
У замовлення може бути строк життя — тоді на квитку друкується, до якої дати він дійсний. Це саме те, що потрібно для подарункового сертифіката в аквапарк: купили в грудні, прийшли в березні. А якщо гасіння не потрібне зовсім, його вимикають: система просто пам’ятає, що було продано, і за номером замовлення піднімає склад і суму — цього досить, щоб закрити суперечку «я платив, а мене не пускають».
Виручка при цьому рахується за продажем, а не за гасінням. Гроші прийшли сьогодні — отже, сьогодні вони й мають бути в касі, незалежно від того, коли гість дійде до води.
Прокат і буфет — друга каса басейну
Це окремий модуль «Товари», і для басейну він не «супутній», а друге за величиною джерело виручки. Позиції бувають трьох сортів, і заводяться вони по-різному:
- Прокат — рушник, шапочка, окуляри, замок. Заводиться без обліку залишку: річ повертається, списувати нема чого, а гроші за послугу враховуються.
- Буфет і витратні матеріали — із залишком по точці, порогом низького залишку й ревізією за категоріями.
- Платні послуги — сауна, фен, шезлонг. Теж позиція каталогу: ціна є, складу немає.

Бар біля води працює через відкладені замовлення: кошик не обов’язково оплачувати одразу. Замовлення відкладається, отримує свій номер і мітку — а в мітку логічно вписати номер браслета, «Браслет 14», або номер шезлонга. На виході касир піднімає замовлення, додає те, що гість дозамовив, і проводить оплату: готівкою, безготівкою, з балансу клієнта або розбивкою між способами. Застереження чесне: єдиний рахунок «усе на браслет №14» система сама не збирає — зв’язок тримається міткою або прив’язкою клієнта за телефоном, а не автоматичним зчепленням із браслетом.
Скасувати проведений продаж Співробітник не може за жодного способу оплати — анулює тільки власник, і це лишається в журналі правок. Продавати теж може не кожен: доступ до розділу вмикається окремо в налаштуваннях Співробітника, і перевіряється він на сервері, а не приховуванням кнопки.
Звірка буфету йде окремо від води
Товари продаються на рівні точки, а не зони, тому в них своя звірка каси, ніяк не пов’язана зі здачею підсумків по чашах. Розрахунок від попередньої звірки показується лише для читання, а готівка й безготівка вводяться руками — без автопідстановки, інакше перевірка перевіряла б систему саму собою. Різниця фіксується й іде в Telegram коротким рядком.
Поруч живе ревізія залишків: фактичні штуки за категорією проти розрахункових, із таблицею розбіжностей та історією. Це дві різні перевірки, і плутати їх не варто — ревізія про товар на полиці, звірка про гроші в шухляді. Ані та, ані інша не прив’язана до часу: звірити касу буфету можна в момент інкасації або коли змінюється бариста.
Сезонники: гаманець замість зошита з позначками
Абонемент тут влаштований як грошовий гаманець клієнта. Співробітник заводить його за номером телефона просто в момент першої оплати, план задає ціну й суму зарахування — тобто «плати менше, отримай більше» налаштовується самим планом. Далі балансом оплачується будь-що: вхід, квиток, рушник, кава. Залишок гість бачить сам, у Telegram-боті, нічого не встановлюючи.
Чому гроші, а не відвідування — питання справедливе, і відповідь у нього практична. Абонемент на вісім відвідувань не працює в буфеті, не ділиться між членами родини й згорає цілим відвідуванням, навіть якщо людина зайшла на двадцять хвилин. Гаманець списує рівно стільки, скільки гість узяв, і покриває весь клуб разом. Якщо ж вам потрібен саме лічильник відвідувань із позначками, скажемо прямо: такого обліку в системі немає.
Рятувальники, тренери, адміністратори
Зміни ведуться або вручну (прийшов — пішов, вводиться постфактум), або відміткою приходу й відходу просто в застосунку, і тоді час фіксує сервер. Нарахування похвилинне за індивідуальною годинною ставкою; зміна ставки діє з дати зміни, минулі зміни не перераховуються.
Аванс і премія — звична річ у сезонному бізнесі, і тут вони не ламають касу. Коли Співробітник бере аванс сам, проходять дві перевірки: не більше залишку каси точки й не більше того, що він уже заробив. Баланс «до видачі» ковзний, окремої події «виплата зарплати» не існує зовсім. Після закриття зміни власнику приходить коротка зведення в Telegram.
Правила, підписані до, а не після
Для басейну й особливо для гірок це не формальність. Модуль «Інструктажі» дає документу публічне посилання та QR-код: людина відкриває сторінку без жодної авторизації, читає, ставить галочку згоди, вводить прізвище, ім’я, телефон і дату народження та розписується пальцем просто на екрані.
Фіксується при цьому більше, ніж підпис: час сервера, IP, пристрій і браузер, скільки людина читала документ і яку саме версію вона підписала. В інструкції можна ввімкнути перевірку чесності — тоді кнопка не активна, доки сторінку не прогорнули до кінця. За кожним підписанням власнику приходить сповіщення, а на будь-який запис із журналу вивантажується PDF: заява, зображення підпису й повний текст тієї версії, яку людина читала.
Персонал — очевидне застосування: техніка безпеки, дії при нещасному випадку, порядок допуску до води. Але підписант у цьому модулі завжди вводить свої дані сам і облікового запису не отримує, тому той самий механізм працює й із гостями: QR на стійці біля гірок — і правила катання підписані до першого спуску, а не після розмови з юристом.
Увечері все сходиться в одному місці
Здача підсумків іде по кожній зоні: система показує розрахункову виручку, Співробітник вносить фактичну касу, і поруч стає «Різниця» — будь-якого знака. У «Перебуваннях» вона видна по кожному об’єкту окремо вже в момент введення, а не потім у звіті. Витрати вносяться тут же, окремими записами з коментарем.
Далі все стікається в єдиний журнал грошей: каса, інкасації, витрати, аванси. Увечері приходить зведення в Telegram або на пошту, окремо — підсумок каси за день. Кілька майданчиків ведуться в одному кабінеті, точки при цьому не змішуються.
Зони різних режимів спокійно уживаються на одній точці: чаша рахується за часом, аквазона — квитками з каси, буфет живе Товарами, а якась господарська ділянка може вестися режимом «Лише каса», де немає ні тарифів, ні об’єктів — тільки гроші.
З чого почати — і чого система не робить
Почати можна з однієї зони в режимі «Перебування», одного об’єкта й одного тарифу. Браслети — найзвичайніші, з номерами; жодних чипів, зчитувачів і монтажу. Браслет тут не перепустка, а спосіб не переплутати гостей.
І чесно про межі, щоб не з’ясовувати це на третій день. Онлайн-бронювання та передоплати в системі немає. Розкладу сеансів і групових занять немає — час продається в момент приходу. Турнікетами й електронними замками шафок RentOS не керує. Фіскальні чеки не пробиває. Абонемент рахує грошима, а не відвідуваннями. Застава за браслет окремою механікою не ведеться.
Якщо ваша задача — продавати місця в розкладі через сайт, потрібен інший інструмент. Якщо задача — знати, скільки часу продано, скільки грошей дійшло до каси і в якому місці вони розійшлися, — цього досить, і починається це без жодного вкладення в обладнання.