Розробка мобільного додатку для служби клінінгу
Клінінговий сервіс — класичний service marketplace: клієнт хоче уборку в конкретний час, виконавець повинен отримати завдання з адресою та інструкціями, диспетчер повинен бачити, хто де та чи все йде за планом. Три інтерфейси, одна логіка призначення та трекінгу.
Архітектура: три додатки чи один
Для клінінгового бізнесу оптимально — один Flutter-додаток з трьома ролями: клієнт, виконавець, адміністратор. Роль визначається при авторизації, інтерфейс змінюється повністю. Це дешевше в утриманні, ніж три окремі додатки, при тому що UI-вимоги у ролей суттєво відрізняються.
Клієнт: вибрати тип уборки (стандартна, генеральна, після ремонту, вікна), вказати площу, вибрати слот, додати інструкції та фото проблемних місць, оплатити. Статус уборки та трекінг виконавця.
Виконавець: розклад на тиждень, деталі поточного завдання з адресою та чек-листом, навігація, фотозвіт після уборки, статуси прибуття/початку/завершення.
Адміністратор: призначення виконавців на заявки, карта з поточними уборками, статистика, управління каталогом послуг.
Динамічна ціна та онлайн-розрахунок
Вартість уборки — функція кількох змінних: тип уборки, площа, додаткові послуги (чищення духовки, холодильника, наявність тварин), терміновість. Форма замовлення показує підсумкову суму в реальному часі при змінені параметрів.
На бекенді — таблиця тарифікації з базовими ставками та коефіцієнтами. Адміністратор змінює ціни в панелі, формула перераховується автоматично. Без хардкоду цін у додатку.
Призначення виконавців
Два режими:
Автоматичне призначення: алгоритм шукає доступного виконавця в зоні доставки на потрібний слот (PostGIS, геозони виконавців), з рейтингом вище порогового значення, без конфліктів за розкладом. Призначає → push виконавцю → прийняти або відхилити.
Ручне призначення: диспетчер бачить список доступних виконавців на потрібний слот та призначає вручну. Для нестандартних ситуацій.
Рейтинг виконавця — середня оцінка від клієнтів за останні N уборок, з урахуванням своєчасності (запізнення > 30 хвилин — автоматичний штраф до рейтингу).
Фотозвіт та приймання роботи
Виконавець робить фото до уборки та після — через камеру прямо у додатку, фото прикріплюються до завдання з timestamp та GPS-меткою. Клієнт бачить фотозвіт у додатку та підтверджує виконання роботи або залишає претензію.
Це знижує кількість спорів: є документальне підтвердження стану об'єкту до та після.
Рекурентні замовлення
«Уборка кожні 2 тижні по п'ятницях» — рекурентне завдання, яке автоматично створює нові заявки за розкладом. Оплата — списання з привязаної карти через YooKassa recurring або ручна оплата кожен раз. Сповіщення за 2 дні до уборки з можливістю перенести або пропустити.
Стек технологій: Flutter 3.x + Bloc, Laravel 10 + PostgreSQL + PostGIS, FCM, YooKassa (включаючи recurring), S3 для фотозвітів, Yandex MapKit для карти та навігації.
Часова шкала
MVP (клієнтський + виконавчий додаток, призначення, трекінг, оплата) — 14–18 тижнів. З рекурентними замовленнями, автопризначенням та розширеною аналітикою — від 22 тижнів.
Вартість розраховується індивідуально після аналізу вимог.







