Кабінет клієнта
Кабінет знімає з ресепшена питання, на які клієнт може відповісти собі сам.
Що там є
- залишок абонемента і на які заняття він діє;
- запис на заняття і скасування свого запису;
- прохід по QR — сканував наліпку на дверях, натиснув «Відчинити»;
- продовження і купівля абонемента онлайн.
Адреса кабінету видається проєкту; зал розсилає її клієнтам.
Вхід — по коду на телефон
Пароля немає: клієнт вводить номер, отримує код. Захист тримається не на таємниці коду (чотири цифри перебираються за секунди), а на трьох лічильниках: ліміт спроб, ліміт кодів на номер за годину і строк життя коду.
Відповідь на невідомий номер така сама, як на відомий. Інакше форма входу перетворилась би на перевірку «чи ходить ця людина в цей зал» — довідник клієнтів для будь-кого з телефоном.
Правила ті самі, що на ресепшені
Кабінет не має власної логіки. Запис іде тим самим кодом, що й запис адміністратором; прохід — тим самим, що й турнікет; придатність абонемента рахує те саме правило.
Кабінет додає лише межу: кожен запит звужується до цього клієнта, і жоден ідентифікатор із запиту її не розширює. Чужий запис не знімається — сторінка просто не знайдеться.
Одного клієнту не дозволено навмисно: пустити повз відмову. Обхід правила є на ресепшені, під іменем співробітника, — телефон клієнта не є ресепшеном.
Купівля онлайн
Клієнт обирає тариф і платить. Абонемент народжується лише після підтвердження банку — до цього моменту це намір. Рядок «активний абонемент», зроблений наперед, пускав би в зал того, хто передумав платити на сторінці оплати.
Повторне повідомлення від банку другого абонемента не створить.
Назад до початку роботи.