Общее описание задачи
Необходимо разработать мобильное приложение (iOS / Android) для массажного салона. Главная цель — создать сервис для онлайн-бронирования услуг, управления работой мастеров, формирования статистики и повышения лояльности клиентов. Система должна объединять три роли: клиент, администратор и мастер. Требуется поддержка реального времени, гибкая настройка расписания и отправка push-уведомлений.
Функционал по ролям
Клиент
- Регистрация и вход в приложение
- Каталог услуг с ценами и описаниями
- Выбор конкретного мастера
- Онлайн-запись через встроенный календарь
- Просмотр, перенос и отмена своих записей
- Push-уведомления (подтверждение бронирования, напоминания)
Администратор
- Управление списком услуг и ценообразованием
- Управление мастерами: добавление, удаление, настройка рабочего графика
- Общий календарь со всеми записями клиентов
- Подтверждение либо отмена бронирований
- Статистика: количество записей, загрузка мастеров, рейтинг популярных услуг
- Возможность отправлять персональные push-уведомления любому клиенту
Мастер
- Личный календарь с отображением предстоящих записей
- Просмотр собственного расписания и истории оказанных услуг
Модуль календаря и бронирования
- Генерация свободных окон строго в реальном времени
- Автоматическая блокировка занятых слотов, предотвращающая двойные бронирования
- Возможность индивидуальной настройки рабочих часов для каждого мастера
Технические требования
- Серверная часть (backend) на выбранном языке + реляционная или NoSQL база данных (предпочтения исполнителя)
- Интеграция push-уведомлений (для iOS через APNs/уведомления Firebase, для Android через FCM)
- Разграничение доступа на уровне ролей (права пользователя)
- Готовность к публикации в App Store и Google Play: подготовка иконок, соблюдение требований магазинов
Дополнительно (пост-MVP)
Функции, которые могут быть реализованы после базовой версии: онлайн-оплата банковскими картами, абонементы, система отзывов и рейтингования, программа лояльности для постоянных клиентов.
Сроки и стоимость
Исполнитель в своем предложении обязан указать конечную цену и реалистичные сроки выполнения каждого из этапов, исходя из описанного функционала.