Разработан интерактивный React-компонент для виджета бронирования, встраиваемого на сайт студии или сервиса с почасовой арендой. Компонент позволяет пользователю выбрать один или несколько временных слотов на неделю, видеть актуальные цены и рассчитывать стоимость аренды с учётом промокодов и режима предоплаты.
При клике на свободный слот выполняется асинхронный запрос к серверу, после чего отображается актуальная цена. Слоты можно добавлять или убирать, при этом автоматически пересчитывается сумма. Предусмотрена логика ограничения: например, если выбран промежуточный слот, он снимает выбор со всех других. Также доступна смена режима предоплаты (50% / 100%) и проверка промокода.
Интерфейс адаптирован под мобильные устройства и точно выверен по сетке. Для обеспечения отзывчивости убраны лишние задержки — например, устранены микролаги от логов в консоли. Все элементы (инпуты, переключатели, кнопки) подогнаны пиксель в пиксель к макету.
https://eugeny11.github.io/booking-widget-app/