Сервис on-demand массажа

Успех бизнес-модели компании Uber притягивает внимание многих предпринимателей по всему миру. Десятки сервисов построены по принципу on-demand или просто «Uber for X». Сферы деятельности этих компаний разнообразны, от доставки еды и вызова парикмахера, до грузовых перевозок и поиска врача.

В студии stfalcon.com мы разрабатывали on-demand сервис для вызова массажиста. Фронт работ включал проектирование взаимодействия, отрисовку UI, разработку клиентских мобильных приложений под Android и iOS, а также приложения для приема заказов массажистом. Помимо этого, мы разрабатывали бекэнд и API для связи мобильных приложений с серверной частью.

Приложения для сервиса on-demand массажа

Проектирование интерфейса

Идея приложения для вызова массажиста была не новой, поскольку уже имелся ряд похожих сервисов. Но особенностью разрабатываемого приложения был быстрый заказ. Предполагалось что массаж — это такая услуга которая требуется спонтанно, «здесь и сейчас». Поэтому при создании первоначального прототипа мы старались придумать взаимодействие пользователя с системой так, чтобы быстрый заказ стал реальным преимуществом будущего приложения. Также сфера деятельности ограничивалась массажем в офисе или спортзале — в таком случае массажисту не требуется брать с собой массажный стол, что делает сервис по-настоящему быстрым.

Другой особенностью приложения была возможность сделать заказ без регистрации. По аналогии с интернет-магазинами мы получаем все необходимые данные о пользователе во время первого заказа, по окончанию которого имеем готовый личный профиль клиента.

С точки зрения реализации в приложении это выглядит так: при первом запуске, приложение регистрирует на сервере анонимного пользователя. Это позволяет человеку использовать весь функционал зарегистрированного пользователя (история заказов, привязывание заказа к месту, сохранение способа оплаты и т. д.) без самой процедуры регистрации. Если пользователь захочет выполнить полноценную регистрацию, например для того чтобы потом использовать этот же аккаунт на других девайсах, все что ему нужно сделать — это внести данные для авторизации (электронная почта и пароль) или войти с помощью одной из социальных сетей. При этом данные анонимного пользователя сохранятся.

Макеты приложения для заказа массажа

Опции заказа

На стартовом экране находится короткое приветствие, после чего пользователь быстро переходит к экрану заказа. Имея небольшое количество опций, мы вместились в один экран. С логистической точки зрения было важно побуждать клиента к заказу большего времени массажа. Поэтому при смене параметров мы видим как меняется цена и как увеличивается скидка. Ненавязчивый интерактив использовался для наглядности выбора и акцента на изменении цены.

Мы планировали сделать эту форму «умной» и «обучаемой»: когда человек делает повторный заказ мы сверяем его локацию с записями в истории и предзаполняем опции согласно прошлому заказу в этом месте. Например если человек повторно заказывает массаж в спортзале, только открыв приложение он увидит те же опции которые выбирал в прошлый раз. При этом в офисе приложение предложит совершенно другие опции.

В приложении много нестандартных элементов интерфейса, поэтому разработка интерфейса Android-приложения предполагал создание множества своих custom views. Это дает гарантию одинакового отображения элементов на разных версиях ОС, а также возможность использовать эти элементы в будущем.

Поиск массажиста

После выбора опций массажа нужно указать местоположение. Изначально мы получаем данные о местоположении с помощью сервисов геолокации мобильного устройства, но если данные не были получены, то пользователь может ввести адрес вручную или просто передвинуть карту пальцем.

Для того, чтобы уменьшить время поиска массажиста, мы отправляем запрос на поиск уже после получения местоположения. В то время, когда клиент заполняет личные данные (имя, телефон, уточнение адреса) и выбирает способ оплаты, мы уже рассылаем запросы всем ближайшим массажистам.

А когда массажист принимает заказ с помощью своего приложения, сервер отправляет GCM-нотификацию на клиентское приложение, что позволяет получить Realtime-статус заказа без дополнительных перезагрузок данных.

Экраны приложения для заказа массажа

Результаты поиска

В идеальной ситуации, благодаря продуманному поиску, сразу после указания личных данных пользователь получает сообщение о том, что массажист найден и направляется к нему. В деталях по массажу можно увидеть всю важную информацию о заказе, а также запросить дополнительные 30 минут массажа. После окончания процедуры пользователю предлагается оставить отзыв. В будущем рейтинг можно будет использовать для ранжирования массажистов.

Множество элементов интерфейса Android-приложения, например блок отзыва, являются динамическими и меняют свое состояние с анимацией. Для их реализации мы использовали Property Animation. Это позволило значительно уменьшить время на их реализацию, а также сэкономить ресурсы приложения.

Экраны приложения для заказа массажа

Приложение для массажиста

Кроме приложения для заказа мы проектировали и разрабатывали отдельное приложение для исполнителей — массажистов. Это достаточно простое приложение с двумя главными функциями: получение запросов на массаж в ближайшем радиусе и уведомление сервиса о том, что сеанс массаж закончен. Помимо этого ведется статистика выполнения заказов и заработанных денег. С помощью интеграции сервиса Google Maps Navigation мы дали массажисту возможность воспользоваться функцией навигации к точке назначения.

Экран приложения для массажистов с навигацией

Над проектом работали:

  • Юля Кондратюк
    Юля Кондратюк

    Руководитель проектов

  • Максим
    Максим

    Дизайнер

  • Антон
    Антон

    Android разработчик

  • Артем Крыщук
    Артем Крыщук

    Android разработчик

  • Виктор
    Виктор

    iOS разработчик

  • Михаил Вильшанский
    Михаил Вильшанский

    Back-end разработчик