Разработать универсальный виджет бронирования столиков, который можно интегрировать на сайты ресторанов-партнеров нашего приложения, позволяющий гостям быстро и удобно бронировать столики непосредственно на сайте ресторана.
Общие Требования
Виджет отправляет и получает данные через REST API приложения.
Виджет должен поддерживать интеграцию на любых веб-сайтах независимо от платформы (WordPress, Joomla, Shopify, собственные CMS и т.д.).
Для интеграции виджета предоставляется HTML-код, включающий JavaScript и CSS, минимально конфликтующий с существующим кодом сайта.
Ресторан вставляет на свой сайт HTML-код кнопки "Забронировать", содержащий уникальный идентификатор ресторана.
При нажатии на кнопку "Забронировать" появляется модальное окно с виджетом бронирования, без перенаправления на другую страницу.
Функциональные Требования
После открытия виджета отображается:
Название ресторана
Рейтинг
Адрес
Календарь для выбора даты бронирования.
Поле для выбора числа гостей
Список доступных временных слотов на выбранную дату.
Выбор Временных Слотов:
Список доступных временных слотов на выбранную дату.
Интерактивное обновление доступности слотов в зависимости от выбранной даты и количества гостей.
Возможность отображения занятости слотов в реальном времени.
Выбор Стола:
После выбора даты, времени и количества гостей отображается список доступных залов и столов.
Визуальное представление столов (опционально – схема расположения столов в зале).
Возможность выбрать конкретный зал и стол из списка.
После выбора стола
Отображение информации о выбранных параметрах бронирования (дата, время, стол, количество гостей).
Поле для ввода ФИО гостя
Поле для ввода телефона (с верификацией через SMS-код)
Отправка SMS с кодом верификации телефона гостя.
Подтверждение телефона путем ввода полученного кода.
Комментарий к бронированию (опционально)
Валидация введенных данных (например, обязательные поля, формат телефона).
Кнопка "Забронировать" для подтверждения бронирования.
После нажатия кнопки "Забронировать":
Валидация всех данных.
Отправка данных на наш сервер.
Отображение сообщения об успешном бронировании.
Отправка SMS с информацией о брони и ссылкой на скачивание приложения после успешного бронирования.
Создание Профиля/Аккаунта Гостя
После успешного бронирования создается профиль гостя в нашей системе.
Если профиль уже существует, обновление данных при необходимости.
Синхронизация Бронирования
Создание записи о бронировании в нашей системе для управления и аналитики.
Обеспечение синхронизации данных между виджетом и приложением.
Нефункциональные Требования
Совместимость
Поддержка основных браузеров: Chrome, Firefox, Safari, Edge.
Корректное отображение на различных устройствах: десктопы, планшеты, смартфоны.
Адаптивный дизайн интерфейса виджета.
Производительность
Быстрая загрузка виджета без значительного влияния на скорость основного сайта.
Оптимизация кода для минимального размера и быстрой инициализации.
Масштабируемость
Возможность обработки большого количества одновременных запросов.
Легкость добавления новых функций и расширения существующих возможностей.
UX Требования
Интуитивная навигация между шагами.
Понятные подсказки и сообщения об ошибках.
Минимальное количество шагов для завершения бронирования.
Обратная связь на действия пользователя (загрузка, подтверждения и т.д.).
A Quake 2 Remaster dev has rebuilt the game's unique PlayStation port from scratch and released it as a free add-on
The Case of the Golden Idol has done so well that it's getting a free definitive edition upgrade
Metaphor: ReFantazio's ReViews are in, and the Persona follow-up looks like 2024's unanimous RPG hit
Epic Boss Tim Sweeney says Unreal Engine 6 will be a 'metaverse' joining Fortnite and other Unreal games, including an upcoming 'persistent universe' in development with Disney