Разработка клиентского приложения на flutter стала последним этапом создания программного комплекса, состоящего из мобильного приложения для клинера, веб-сайта с доступом для клиента, кабинетов администратора и операторов — о них мы расскажем отдельно.
Нужно было сохранить возможности, доступные в вебе. Плюс поработать над интерфейсом, чтобы сделать его интуитивно понятным, на основе best practice из популярных сервисов.
Для разработки выбрали платформу flutter: она позволяет создать одно приложение, которое будет работать и на Android, и на iOS. А значит сократит время и стоимость текущей разработки, плюс доработок в будущем.
В интерфейсе использовали уже согласованные ранее фирменные цвета и элементы дизайна.
При первом запуске приложения пользователь видит онбординг — информацию, которая поможет познакомиться с продуктом.
На основе текстов Заказчика, подготовили несколько вариантов дизайна экранов. Попробуйте угадать, какой из них в итоге был выбран? 😉
Заказчик выбрал 3-ий вариант.
Главный экран помогает клиенту быстро сориентироваться в мобильном приложении.
Если пользователь еще не заказывал уборку через сервис, показываем калькулятор для расчета стоимости. Если запланирован визит клинера — будет открыт блок Активные заказы. А все завершенные хранятся ниже, в Истории.
Давайте попробуем создать новый заказ. Нужно указать адрес, количество часов, дату и время, на которые нужен клинер. При желании, можно выбрать исполнителя из тех, которые уже приходили к клиенту ранее.
Заявка создана! Переходим к оплате. Что происходит в этот момент? Если клиент не выбрал исполнителя сам, сначала подбираем его.
“Умная” система учитывает близость исполнителя к адресу, его режим работы и загруженность другими заявками, время, необходимое, чтобы добраться до клиента, а также рейтинг.
Кстати, подобная система подбора исполнителей на заявку реализована в Программе для автоматизации грузоперевозок.
Выбранный клинер бронируется для этой заявки на некоторое время, чтобы не произошло его переназначение, пока клиент оплачивает заказ.
Дальше ждем визита специалиста в назначенный день. Информация по заказу доступна в любой момент, также здесь выводится история изменения статусов.
Клиент может отменить свой заказ: ему вернут всю или часть суммы, в зависимости от того, сколько времени оставалось до визита. Завершение работ также подтверждается через приложение. В этот момент забронированная на счету клиента сумма перечисляется на баланс сервиса.
Конечно, в жизни бывают разные ситуации: не хватило забронированного времени, исполнитель не пришел, выполнил работу некачественно, или клинер сделал все хорошо, но клиент все равно недоволен. Основные моменты постарались решить внутри приложения. Более индивидуальные или нестандартные ситуации разбирает Администратор.
Авторизация происходит по номеру телефона и паролю, заданному при регистрации. Подтверждение номера телефона — по звонку (нужно ввести последние 4 цифры номер, с которого поступил звонок), такой вариант получился дешевле, чем высылать код по sms.
В Профиле хранятся данные пользователя и ответы на частые вопросы.