01 / Задача
Как связать выбор отдыха с работой владельца?
Гость выбирает место, даты и впечатления. Владелец управляет предложением и календарём. Эти действия должны опираться на согласованные данные о доступности и стоимости.
Одна поездка. Три роли. Общая логика бронирования.
02 / Продуктовое решение
Связали отдельные шаги в цельный маршрут.
Стоимость рассчитывается на сервере. Бронирование выполняется в транзакции с блокировкой объекта и ограничением занятых дат в базе. Сбой отправки уведомления не должен отменять уже созданную бронь.
Найти своё место
Каталог, карта и страницы объектов помогают рассмотреть варианты и перейти к датам поездки.
Управлять предложением
Собрали сценарии работы с объектами, календарём и бронированиями.
Контролировать публикации
Предусмотрели отдельную роль для модерации и контроля заявок.
03 / Интерфейс и фронтенд
Дать человеку ясность на каждом шаге.
Разработали каталог, карту, страницы объектов и мест, избранное и личный кабинет гостя. Для владельца предусмотрены управление объектами, календарь и брони; для администратора — модерация и контроль заявок.
Найти своё место
Каталог, карта и страницы объектов помогают рассмотреть варианты и перейти к датам поездки.
- 01Каталог и карта
- 02Страница объекта
- 03Избранное и кабинет
Схема объясняет сценарий и состав интерфейса.
04 / Серверная часть
За простым действием — согласованная логика.
Собрали серверные маршруты, модель данных в PostgreSQL, проверку доступности дат и расчёт стоимости проживания с дополнительными услугами. Реализованы роли, загрузка изображений и уведомления.
Схема серверной логики
Уведомление отправляется отдельно от создания брони.
- Next.js / React
- TypeScript
- PostgreSQL
- S3 / Telegram
05 / Инженерные решения
Когда двое выбирают одни и те же даты.
Что было сложным
Бронирование — это не просто форма заявки. Два гостя могут выбрать одни даты одновременно, стоимость зависит от календаря и услуг, а разные участники должны видеть только свою часть процесса.
Как решили
Стоимость рассчитывается на сервере. Бронирование выполняется в транзакции с блокировкой объекта и ограничением занятых дат в базе. Сбой отправки уведомления не должен отменять уже созданную бронь.
06 / Результат работы
Разработана основа платформы. Следующий этап — подготовка к запуску.
Разработана основа платформы, связывающая выбор отдыха с работой владельца объекта: каталог, кабинеты и логика бронирования. Проект продолжает развиваться и готовится к запуску.
- 01Каталог, карта и объекты↗
- 02Кабинеты трёх участников↗
- 03Серверная логика бронирования↗