Волковский п-кт 146 "лит. А" этаж 3

Сервис V.I.P. такси Omcar

Разработка мобильного приложения iOS и Android для клиентов сервиса. Android приложение для водителя такси. Web панель диспетчера

Разработка мобильного приложения iOS и Android для сервиса такси

Кейс о разработке мобильного приложения для сервиса VIP такси Omcar.

К нам, по рекомендации нашего партнера, обратился Заказчик, с просьбой о разработке мобильного приложения для такси. Приложение для клиента должны быть на платформах Android и iOS. Кроме того также должно быть создано приложение водителя под Android. Диспетчерский кабинет с доступом через web браузер.

Обращу особое внимание, на то, что ни одно такси, за исключением Яндекс Такси и Omcar не реализовано на Я.Картах, а с реализованным нами функционалом клиентской части приложения, даже у самого яндекса…..

Итак, поехали….

 

Разработка мобильного приложения iOS и Android для клиентов сервиса и приложения Android для водителей. Мобильное приложение для сервиса такси

Заказчик — действующий бизнес по оказанию пассажирских перевозок (такси). Санкт-Петербург.

Ниша: Пассажирские перевозки. Услуги такси (b2c, b2b).

Сторонние сервисы интеграции: Смс-сервис, банковский эквайринг для приема платежей в приложении.

Год реализации: 2019

Срок реализации проекта «под ключ»: 63 рабочих дня. Можно было уложить в 49 рабочих дней.

Задача

Создать мобильное приложение под iOS и Android для существующего бизнеса предоставления автомобилей VIP класса с водителем, для существующих и новых клиентов Заказчика. Данный сервис должен быть не для всех. Данный сервис не должен быть очередным агрегатором такси.

Кроме самих приложений для заказа такси со стороны клиентов Заказчика, создать приложение под управлением ос Android для водителей сервиса. Создать панель администрирования (диспетчерский пункт) для добавления водителей, бухгалтерии, создания заказов, принятых с телефона, а также изменения и добавления новых тарифов для каждого города в отдельности, поскольку г. Санкт-Петербург — отправная точка, точка старта проекта.

В мобильном приложении должны быть три способа оплаты:

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

Второй — оплата самим пассажиром, с помощью банковской карты в приложении.

Третий — оплата наличными пассажиром.

Все три способа подразумевают, то, что пассажир не может быть «со стороны». Клиентом сервиса можно стать только после того, как с сервисом будет заключен договор оказания услуг перевозок и пройдена проверка клиента.

Также немаловажными требованиями было:

  1. Отображение свободных водителей на карте, по марке и цвету авто, в режиме реального времени.
  2. Возможность заказать именно тот, автомобиль, который ты захотел и не важно, где он сейчас находится, если он доступен для заказа.
  3. Использование я.карт….

Стартовый экран мобильного приложения

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

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

Далее, на следующем экране, мы предлагаем пользователю авторизоваться, введя код компании, который присваивается при заключении Договора. Т.е. на данном этапе мы отсеиваем не нужных перевозчику «посторонних» клиентов. Данный вид авторизации применяется в трех случаях:

  1. Если пользователь запускает приложение в первый раз на своем устройстве.
  2. Если пользователь удалял приложение на устройстве, поставил его заново и совершил, по сути, первый вход.
  3. Если пользователь в настройках нажал кнопку «Выйти» и тем самым «разлогинился» в приложении .

 

Если пользователь или его компания, на текущий момент, не является клиентом компании перевозчика, и не имеет Договора на оказание услуг перевозок, то ему предлагается ввести номер телефона для подключения сервиса. Указанный номер приходит в панель администрирования в раздел «Заявки на подключение» и администратор сервиса (или назначенный на эту роль сотрудник перевозчика) связывается с клиентом и объясняет требования для подключения к сервису.

 

Главный экран мобильного приложения - карта и выбора машины для заказа.

На экране выбора автомобиля для заказа, клиент может видеть, в режиме онлайн все свободные к заказу автомобили.

При этом отображение свободных машин не просто значок, а даже их перемещение, если машина находится в движении.

Отображение авто на карте — иконка марки автомобиля и цвет автомобиля.

Также на данном экране пользователь может применить фильтры для отображения автомобилей по классам тарифов. Для этого пользователю просто нужно переключаться между тарифами VIP, Бизнес, Комфорт. Соответственно при нажатии на выбранный тариф, на карте будут отображаться только свободные автомобили данного тарифа.

Кроме того, у пользователя также есть кнопки «Мои водители» и «Все водители», при нажатии на которые, отображаются или все водители = все машины на карте имеющие статус свободен или только машины водителей, которые добавлены у пользователя в избранное, при условии.ч то эти водители сейчас доступны для заказа.

Если клиент сервиса нажмет, на интересующую его марку авто, которая доступна для заказа, то он, во всплывающем окне увидит информацию:

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

Также, используя данное окно, клиент может заказать именно этого водителя, через кнопку «Выбрать».

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

Клиент может узнать информацию о том или ином тарифе, выбрав  раздел мобильного приложение в боковом слайд — меню «Наши тарифы».

В разделе приложения «Тарифы» пользователь видит информацию и описание того или иного тарифа на поездки, стоимости времени ожидания, а также фото авто класса авто, которые предоставляются на данном тарифе.

В боковом слайд-меню находятся следующие разделы:

  • Краткая информация профиля, а именно — миниатюра фото клиента, его номер телефона, принадлежность клиента к компании или частному заказчику. Клацнув в любом месте, в области своего профиля, пользователь перейдет в раздел редактирования своего профиля.
  • Мои водители — раздел избранные водители, в который попадают все водители, с которыми состоялась поездка, клиент поставил оценку 5 звезд и подтвердил то, что он хочет добавить данного водителя в список избранных водителей.
  • Наши тарифы — подробная информация о тарифах сервиса для различных классов обслуживания.
  • Поддержка — форма обратной связи с администрацией сервиса, а также контактные номера телефонов и почта.
  • Политика конфиденциальности — стандартная политика, требуемая законодателеьством России.
  • FAQ — раздел вопрос-ответ с динамичным поиском и возможностью добавления распространенных вопросов и ответов в данный раздел из панели администрирования.

 

 

Оформление заказа в приложении.

Заказ автомобиля в приложении происходит достаточно просто.

  1. На главном экране (карте) выбирается или конкретный автомобиль или просто нажимается кнопка «Заказать».
  2. Далее указать адрес подачи автомобиля, дату и время подачи. Время выделено не просто так, а по причине того, что минимальное время подачи составляет 35 минут. Также можно указать конкретное время подачи (но не менее 35 мину), в этом случае заказ будет считаться предварительным. Водитель взявший такой заказ будет считаться занятым, с момента «за 45 минут» до времени подачи автомобиля клиенту. Выбрать адрес назначения или же указать, ч то маршрут свободный. Выбрать вариант оплаты — по договору или наличные (в т.ч. оплата картой). Добавить комментарий если требуется, например «Захватите мне кофе латте по дороге» (и водитель его действительно заедет, купит и привезет клиенту).
  3. Уточнение места подачи автомобиля на карте, на случай если требуется его уточнить и кнопки быстрого ввода адреса — «Аэропорты» и «Вокзалы», через которые можно указать откуда поедет клиент, если необходимо забрать с вокзала или аэропорта.
  4. Увидеть все заполненные поля и нажать кнопку «Подтвердить»
  5. После того как заказ принят системой, клиент видит сообщение о том, что заказ принят системой ии происходит поиск автомобиля.
  6. После успешно найденного автомобиля клиент увидит его в своих заказах

Ожидание подачи автомобиля или текущий заказ

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

Клиент также может связаться с водителем, через кнопку «позвонить», расположенную на карте движения автомобиля.

Для того, чтобы увидеть информацию о текущем заказа, клиент может совершить два сценария:

  1. Нажав на автомобиль.
  2. Перейдя в текущий заказа через меню — текущие заказы — заказ.

Экран приложения «текущий заказ» имеет следующий функционал:

  • Подача машины — указаны когда (дата и время) и когда (адрес) подачи машины
  • Информация о водителе — миниатюра фото водителя, фамилия имя отчество водителя и дата его рождения.
  • Кнопки связи — копка «карта» — показывает текущие местоположение подаваемого автомобиля. И кнопка иконка «Позвонить» — связь с водителем по телефону. Стоит особо отметить тот факт, ч то связь идет через сервер ip телефонии в целях сокрытия номера клиента от водителя. Конфиденциальность во всем.
  • Информация о подаваемом автомобиле — марка, государственный регистрационный знак.
  • Фотографии — галерея фотографий подаваемого автомобиля.

Клиент может отменить заказ, нажав кнопку «Отменить заказ». В этом случае, если водитель уже начал его выполнение, то с клиента будет удержана сумма подачи автомобиля, согласно тарифов перевозчика.

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

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

Мобильное приложение для водителей такси

Мобильное приложение для водителей такси. На этапе постановки задачи, требовалось реализовать только под Android.

Вход и авторизация водителя в приложении.

В приложении может авторизоваться водитель, только если он заведен в системе.

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

Получение заказа

Списка заказов, где водитель может посмотреть все заказы — не существует. Согласно требований, сервис Omcar не может отказать клиенту в подаче автомобиля. Заказы распределяются согласно созданных алгоритмов внутри системы, между водителями.

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

Когда появляется новый заказ, то водитель видит информацию о нем, а именно:

  • Информацию о клиенте
  • Вид оплаты
  • Место и время подачи автомобиля
  • Адрес конечного пункта
  • Комментарий к заказу, если он есть.
  • Если выбрали именно данного водителя, то в поле оплата стоит двойная сумма подачи авто + значок, информирующий, что конкретно его заказал клиент.

 

После того, как водитель принял заказ у него появляется возможность проложить маршрут до клиента в приложении.

Для прокладки маршрута в приложении используются Яндекс карты. Хочу отметить тот факт, что при прокалывании маршрута, мобильное приложение водителя не использует сторонних сервисов и навигаторов. Все происходит внутри приложения.  Да, для простого пользователя покажется: «ну, что в этом такого, это нормально», но я скажу так — разработчики поймут почему сделан на этом акцент 🙂

Когда клиент находиться в автомобиле, то водитель может проложить маршрут до конечной точки, как в самом приложении, так и передав адрес пункта назначения в стороннее приложение навигатор.

Во время поездки с пассажиром, если по пути произошла запланированная остановка, то водитель может ее отметить, нажав кнопку «Остановка в пути», в этом случае системой будет просчитан простой автомобиля, согласно тарифного плана.

По завершению поездки, водитель может добавить дополнительные услуги к оплате. например проезд по ЗСД, платная стоянка, либо иной варианты который добавляется из панели администрирования.

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

Сухие итоги по разработке проекта

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

Хороший проект, давший нам отличный опыт как правильно нужно работать с заказчиками.

Общий срок разработки проекта составил 65 рабочих дней

В рамках работы над проектом мы реализовали:

  • Клиентское приложение — мобильное приложение под iOS и Android
  • Приложение водителя — мобильное приложение под Android
  • Back-end (сервер)
  • Панель администрирования и диспетчерский пункт — web/ react native
  • Подключены смс сервис, банковский эквайринг и интегрированы я.карты

 

 

Стек разработки мобильного приложения

Разработка приложения iOS — swift, objective C

Разработка приложения Android — Kotlin

Разработка серверной части приложения — node js

Разработка web панели администрирования — react native, css

Создание дизайна — Sketch, Figma

Команда разработки

Менеджер проекта — 1 чел

Разработчик iOS — 2 чел

Разработчик Android — 2 чел.

Back end разработчик (Серверная часть) — 2 чел

Front end разработчик (верстка web) — 1 чел

Дизайнер-проектировщик — 1 чел.

Тестировщик — 1 чел + вся команда

Общее время разработки мобильного приложения: от заключения Договора, до готовности приложения к публикации в Google Play (Android) и AppStore (iOS), согласно изначального и согласованного технического задания  составило 2 месяца или 47 рабочих дня.

Если Вы хотите создать качественное нативное мобильное приложение под ос iOS и Android для своего бизнеса или Start Up из ниши пассажирские перевозки или такси, мы готовы Вам в этом помочь. Для этого просто оставьте заявку у нас на сайте в форме ниже, мы всегда с Вами найдем общий язык, как по стеку технологий, так и по бюджету.