Занятость на первом экране
Вместо декоративного слайдера — виджет «свободно сегодня» по трём баням и кнопка, ведущая к ближайшему свободному слоту в одно касание. Самый частый вопрос гостя закрывается до того, как он его задаст.
Сайт с онлайн-бронированием и приёмом оплаты для трёх бань в Челябинской области
с чего начали
У клиента был сайт на Tilda и ни одного способа забронировать баню, не написав в личку. Гость спрашивал «свободно ли в субботу», администратор вручную сверял занятость в таблице excel и отвечал. Предоплаты не было, а каждая неявка при минимальной броне в три часа стоит от 12 000 ₽. Заявки жили в переписке: ни истории, ни статистики, ни повторных продаж.
Аудит действующего сайта добавил к этому одиннадцать дефектов. Три пункта меню вели в никуда. Страница с полным прайсом существовала, но ссылок на неё не было ни с одной страницы. Пять карточек авторских программ парения — самых дорогих позиций — открывали пустые окна.
что сделано
Аудит действующего сайта: 11 дефектов, каждый с описанием и приоритетом
Извлечение контента со старого сайта: 5 страниц и 136 фотографий
Дизайн-система на фирменной палитре комплекса
Прототипы главной, бронирования и админ-панели
Проектирование календаря занятости и расчёта цены
Документы: техническое задание, смета, план работ на 11 этапов
решения
Вместо декоративного слайдера — виджет «свободно сегодня» по трём баням и кнопка, ведущая к ближайшему свободному слоту в одно касание. Самый частый вопрос гостя закрывается до того, как он его задаст.
Три бани названы в честь гор Южного Урала — Юрма, Ицыл, Иремель. Карточки в каталоге подняты по хребту ровно на высоту своей горы: 1003, 1068 и 1582 метра. Навигация стала приёмом бренда, а не сеткой одинаковых блоков.
Второй шаг — чан, программа парения, веники, еда из кафе. Гость с бронью на 7 500 ₽ доводит чек до 13 500 сам, без администратора.
Администратор ведёт брони и видит аналитику: выручку за сегодня, число броней, загрузку бань в процентах и по дням недели, средний чек. Отдельно видно тех, кто выбрал день, но не внёс предоплату, — им можно позвонить самому.
Запрет на пересечение временных интервалов стоит на уровне базы данных: две пересекающиеся брони в одну баню не запишутся, даже если два гостя нажали «оплатить» в одну секунду. Проверками в коде эта гонка не закрывается — только так.
Адреса страниц сохранены, старый сайт отключается последним — после проверки нового.
разработано на основе — next.js, typescript, postgresql, юkassa, telegram bot api
соседние кейсы
Сайт использует Яндекс.Метрику, чтобы я видел, какие страницы читают, а какие пролистывают. Данные обезличены и хранятся в России. Подробнее — в политике обработки персональных данных.