click fraud detection
0 800 755 007
(Бесплатно по Украине)

Удобные и прозрачные грузоперевозки: оптимизируем бизнес с помощью кастомного ПО

433
0/ 5stars
0/5

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

Доход компаний, которые занимаются перевозками в США, нельзя назвать сиюминутным. Для регулирования процесса диспетчеры и водители пользуются специальными сервисами и программами: transport management system (TMS), мобильными приложениями для инспекции груза, load boards (что-то вроде доски предложений по перевозке). Во всех сервисах предусмотрена возможность оплаты с отсрочкой от 5 до 45 дней. Вдобавок, брокеры не всегда бывают честны с перевозчиками, например вы договоритесь за перевозку в 45 центов за милю, а в договоре от брокера будет стоять цена 35 центов/милю. Если всё не проверить сразу, потом придется работать в убыток. Плюс всегда нужно контролировать сроки. Это касается и погрузки (Pick up), и доставки (Delivery). Иначе платить будете тоже вы. Об оплате лучше всегда напоминать, иначе потом не добьёшься. А расходы в таком бизнесе каждый день: топливо, амортизация, дорожные налоги, непредвиденные ситуации и многое другое. Однако никто бы не занимался перевозками, если бы они не приносили прибыль: один водитель может зарабатывать для компании до 10 тыс. долларов в месяц.

Сейчас многие двигаются в сторону оптимизации производства, бизнес грузоперевозок в том числе. В этом перевозчикам как раз помогают различные сервисы. А если ваша компания желает развиваться и увеличивать оборот, то без специальной системы точно не обойтись. За пользование логистическими ПО приходиться платить. На стадии роста бизнеса расход на программное обеспечение увеличивается, и затраты становятся более ощутимыми.  Какой может быть выход в таком случае?

Компания X (название изменено в связи с Non-disclosure agreement) нашла решение данной проблемы, и в этом ей помогли мы. 

Знакомство и постановка задачи

В основном, все клиенты из США приходят к нам по рекомендации. В этот раз мы познакомились с заказчиком после визита на роад-шоу. Мы рассказали о себе, ознакомились с их проблемой и в рамках Discovery Stage собрали информацию о деятельности клиента.

Компания X занимается перевозкой транспортных средств по Соединенным Штатам Америки. Её груз – это авто- и мототехника, водный транспорт и тому подобное. Офис находится в Чикаго. На компанию работает 40-60 траков каждый месяц. Есть штат диспетчеров, которые создают заказы и формируют маршруты. 

Когда проект большой, его сложно познать и оценить за один день. Поэтому нужен Discovery Stage, чтобы изучить проект, провести разборку, детализацию задач и оценку. На основании этого мы создаем майндмап и детализи- рованный бэклог с оценкой.

Мобильное приложение водителя

В работе компания постоянно пользовалась популярными среди грузоперевозчиков сервисами. За каждого водителя и диспетчера приходилось вносить ежемесячный платеж. К примеру, одна машина могла стоить 60 долларов в месяц, а аккаунт диспетчера до 150 д/м. Таким образом, расходы на пользование сторонними сервисами в  месяц составляли от 3-х до 5-ти тыс.

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

Разработка ПО в штатах самая дорогостоящая. Стоимость часа работы одного специалиста составляет 50-150 долларов. В результате, общая стоимость проекта на разработку кастомного программного обеспечения может составить полмиллиона. Наше предложение было в 3 раза дешевле.

Задача – адаптировать под свои бизнес-процессы функционал популярного сервиса и оптимизировать затраты на операционное управление.

Сервис для инспекции транспортного средства в телефоне

Система грузоперевозок в телефоне: принцип работы

Прежде чем рассказать о разработке, для начала опишем принцип работы подобного приложения. Диспетчер авторизируется в CRM-системе и создает заказ. В нём он назначает водителя, вносит данные о грузе: вин-код транспорта, модель, год выпуска. Он может отметить стоимость заказа, способ оплаты, и самое главное – где забрать и куда доставить транспортное средство. 

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

Водитель с помощью системы генерирует инвойс и BOL (Bill of Lading) и отправляет их по электронной почте из приложения. Всю собранную водителем информацию диспетчер просматривает в режиме реального времени, а GPS-трекер помогает отслеживать траки и планировать работу наперед.

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

Макет дизайна приложения

Разработка кастомного ПО: решение индивидуальных задач

Наше решение – разработать кастомную CRM-систему и мобильное приложение под Android и IOS с возможностью расширения под Saas-платформу. 

Раньше у нас были похожие проекты – это мобильное приложение для аграрной логистики и усовершенствованный аналог Uber для украинской компании. Опыт разработчиков имеет значение, когда рассчитываются сроки реализации проекта.

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

Майндмап проекта (фрагмент)

В самом начале мы составили детальный mind map, в котором обрисовали всю схему взаимосвязей. Так мы исключили возможные ошибки в дальнейшем. Потом разработали прототип и приступили к дизайну. В проекте мы старались отобразить и в системе, и в дизайне основную мысль, которую компания хочет транслировать своим клиентам – это легкость в совершении перевозок.

В это же время мы начали работу над ядром системы. Уже на этом этапе мы заложили фундамент, чтобы в будущем наш клиент смог расширить ПО под Saas-платформу. Благодаря этому "Перевозчик" выйдет на рынок программного обеспечения с индивидуальным логистическим сервисом и будет получать дополнительный доход.

В процессе разработки многое было просто реализовать, главное – просчитать всё заранее. Такие функции, как навигация, сканирование вин-кода, обмен данными по электронной почте, создание заказов и прочее – всё это технически было несложно. Сложность заключалась в том, чтобы связать все компоненты в одно целое и ничего не упустить. На данный момент одним из сложных логических решений стала реализация платежа частями. 

Платеж должен разбиваться на 3-5 частей. Например, есть такие типы инспекций, при которых платеж проходит либо во время проверки, либо через неделю или две после завершения заказа. И у одного заказа может быть несколько таких платежей. Все это нужно было заставить работать вместе и логично. Чтобы в мобильном приложении нужный экран открывался в нужное время и в CRM тоже. Чтобы можно было добавить нужную информацию, а потом посчитать весь баланс, вывести в отчеты и так далее. Связано вроде всё с одним действием, но оно проходит через различные компоненты системы. Эту взаимосвязь нужно было продумать.

Способы оплаты web

Способы оплаты mobile

На этапе разработки фронтенда тоже было несколько интересных задач. Мы столкнулись с проблемой отображения данных при отсутствии интернет-связи. К примеру, водитель проводит инспекцию и в этот момент у него пропадает интернет. Чтобы не потерять данные мы предусмотрели на устройстве кэширование и синхронизацию данных с сервером, как только связь восстановится. Диспетчер при этом получит уведомление об ошибке. И наоборот, если диспетчер, например, отменит заказ, приложение в телефоне водителя выдаст ошибку после соединения с интернетом. Ещё в разделе “Метки о повреждениях” подключили виджет увеличения меток и их свободное перемещение без отмены. Это помогает быстрее пользоваться сервисом, так как разновидностей меток очень много, где-то 15-20 штук, и каждая обозначает определенный тип повреждения. 

Метки о повреждениях

Тестирование: как сделать быстро и эффективно

Учитывая сложную логическую структуру системы, нужно было надежное решение с тестированием программы. Такое решение нашлось. Мы разработали систему автотестов, которые покрывают подавляющее большинство функционала. Когда мы выгружаем какой-то апдейт, запускается автотест. Он пробегается по всем страницам, функциям, проверяет все ли работает, генерирует отчеты и выкладывает их клиенту в чат-бот Telegram. 

Проект проверяли через автотесты на основе User Stories, создавали проверки на валидации, использовали мануальное тестирование для UI-дизайна. На веб-тестировании проверяли перенос данных в телефон и их выгрузку из телефона в CRM. Серьезных ошибок на этапе тестирования не обнаружили, во многом благодаря структурированной и ясной подготовке на начальном этапе. Популярные ошибки в этом блоке – выгрузка данных с PDF и геолокация. Такие баги легко устраняются. 

Загрузка и отправка документов в приложении

Результаты

Приложение уже готово и находится на бета-тестировании у заказчика. Его результаты можно будет оценить после релиза, как только появится аналитика. Пока что могут быть ещё мелкие доработки, “хотелки” и тому подобное. Но преимущество проекта в том, что клиент отошел от “коробочных” решений и оптимизирует бизнес с помощью кастомного программного обеспечения. Персональная система намного точнее откликается на бизнес-процессы компании, в ней заложен фундамент для  масштабирования, реализована прозрачность в ведении заказов и перевозок. Всё это в дальнейшем повысит эффективность и поможет занять устойчивую позицию среди конкурентов. Уже сейчас видно, что сервис "Перевозчика" отличается от своих аналогов. 

В нем нет лишнего функционала – в мобильном приложении только самое необходимое для работы водителя. Компании легче защитить себя от недобросовестных работников: владельцы могут настраивать уровень доступа водителей и диспетчеров. Заказы, которые компания находит на load boards, копируются в CRM-систему, их не нужно создавать вручную. Вся документация автогенерируемая и сохраняется на едином личном сервере. 

Наш клиент сможет развивать свой бизнес – увеличить количество сотрудников исключив затраты на подписку за каждого нового и действующего работника. А главное – он сможет продавать данное ПО на рынке цифровых продуктов для других логистических компаний.

Мы как разработчики несем ответственность за качество инструментов, которые в будущем будут влиять на успех бизнеса клиента. Поэтому мы работаем с нашими клиентами в одной команде, продумываем и закладываем логику всех процессов, которые будут оцифрованы и представлены в виде IT-продукта. 

Команда проекта: Project Manager web (1), Project Manager mobile (1), UI Design web (1), Design web (1), Frontend/React Developer (2), Backend Developer (1),  DevOps (1), UX/UI designer mobile (2), Android Developer (2), IOS Developer (2), QA web (1), QA mobile (1).

Срок реализации – 1 год. Проектирование и дизайн гайд-лайна – 1,5 месяца, дизайн mobile – 4 месяца, разработка mobile Android – 5 месяцев, IOS – 4,5 месяца, бэкенд- и фронтенд-разработка – на протяжении года.

Стек технологий

Backend: язык PHP, фреймворк Laravel.

Android mobile: язык Kotlin, фреймворк Android SDK, сеть Retrofit 2, асинхронные запросы Coroutines, база данных Room, архитектура MVVM (Model-View-ViewModel), библиотеки и инструменты Jetpack, аналитика Crashlytics и Analytics, push-уведомления FCM (Firebase Cloud Messaging), dependency injection Koin 2.0.

IOS mobile: язык Swift, архитектура MVVM+С, технологии RxSwift, Push-notifications, Moya, QR & Data matrix recognizing.

QA: язык Python, среда тестирования Pytest, библиотека Selenium, фреймворк Scrapy, платформа Browserstack API.

У ВАС ОСТАЛИСЬ ВОПРОСЫ?

Оставьте ваши контактные данные. Наш менеджер свяжется и проконсультирует вас.

ПОЛУЧИТЬ КОНСУЛЬТАЦИЮ

Наш менеджер свяжется с Вами в ближайшее время

0/5
Полезность
Проголосовали 0
Как вам статья?
Wezom
Wezom
Давайте начнем
беседу!
КОММЕНТАРИИ0
ОСТАВИТЬ КОММЕНТАРИЙ К СТАТЬЕ
Возможно
Нативное или гибридное приложение? В чем разница? Преимущества и недостатки каждого вида приложений.
Wezom
Wezom
При выборе дорогой вещи мы руководствуемся здравым смыслом – предложения подешевле от непонятных продавцов вызывают…
Wezom
Wezom
Для большинства людей продвижение в социальных сетях — это в первую очередь продажи: привлечение новых…
Wezom
Wezom
ПОДПИСЫВАЙТЕСЬ НА РАССЫЛКУ АЙТЫЖБЛОГ
ХОТИТЕ ПОЛУЧАТЬ 
ИНТЕРЕСНЫЕ СТАТЬИ?
СЛЕДИТЕ ЗА НАМИ В СОЦИАЛЬНЫХ СЕТЯХ