Лидеры года — новая категория на Workspace Digital Awards! Номинируйте вашу команду, продукты и проекты.
Мобильная разработка

Как запустить доставку продуктов: приложение, 1С и курьеры в одной системе

365 
 

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

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

Разберём, как собрать систему доставки без таких разрывов. В качестве примера возьмём Bakaev Market — проект 13FOX с каталогом более 10 000 товаров, мобильным приложением покупателя, админ-панелью, облачной 1С и отдельным приложением курьера.

Самое важное — провести один заказ через всю систему

До дизайна главной страницы полезно нарисовать путь обычного заказа:

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

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

Товары и остатки должны иметь один «дом»

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

Заранее определите, где хранится актуальная версия каждого типа данных:

  • товары, цены и остатки;

  • фотографии и описания;

  • корзина покупателя;

  • заказ и его статус;

  • зоны и стоимость доставки;

  • положение курьера во время активного заказа.

В Bakaev Market каталог, цены, остатки и изображения приходят из 1С через OData. Изменения, сделанные в админ-панели, также передаются в учётную систему. Если обмен не удался, сотрудник видит ошибку, а не две незаметно разошедшиеся версии товара.

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

Приложение покупателя не должно подключаться к 1С напрямую

Между телефоном и учётной системой нужен сервер. Он проверяет права доступа, приводит данные к удобному формату, создаёт заказы, повторяет неудавшийся обмен и ведёт журнал ошибок.

Это даёт бизнесу сразу несколько преимуществ:

  • реквизиты 1С не попадают в мобильное приложение;

  • изменение учётной системы не заставляет срочно выпускать новую версию приложения;

  • одну и ту же логику могут использовать приложение, сайт и админ-панель;

  • временная недоступность 1С не превращается в непонятную ошибку на телефоне покупателя.

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

Корзину нужно проверить перед оформлением и ещё раз при создании заказа

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

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

  1. Перед оформлением он уточняет цены, акции и доступное количество.

  2. При создании заказа проверяет их ещё раз и защищает остатки от одновременного изменения.

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

В Bakaev Market корзина сохраняется на устройстве и синхронизируется с сервером для авторизованного пользователя. Перед заказом покупатель видит проверенный состав, стоимость товаров, доставку и итоговую сумму.

Адрес доставки — это точка на карте, а не просто строка

Один и тот же адрес можно написать по-разному. Кроме того, соседние дома могут относиться к разным зонам и иметь разную стоимость доставки.

Надёжный сценарий выглядит так:

  1. Покупатель вводит адрес или выбирает точку на карте.

  2. Система получает координаты и нормализованный адрес.

  3. Сервер проверяет, входит ли точка в активную зону.

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

В Bakaev Market администратор рисует зоны на карте и задаёт для них тарифы. Если адрес не удалось распознать автоматически, покупателю предлагают поставить точку вручную, а не разбираться в техническом сообщении об ошибке.

У заказа должна быть понятная история

Когда статус можно менять как угодно, появляются странные ситуации: заказ уже «доставлен», хотя курьер ещё не назначен, или снова «собирается» после завершения.

Для первой версии достаточно простой последовательности:

принят → собирается → назначен курьер → в доставке → доставлен.

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

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


Разместите
тендер бесплатно

Наша система сама подберет вам исполнителей на услуги, связанные с разработкой сайта или приложения, поисковой оптимизацией, контекстной рекламой, маркетингом, SMM и PR.

Заполнить заявку 13752 тендера
проведено за восемь лет работы нашего сайта.


Что нужно сотрудникам магазина

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

Обычно магазину нужны:

  • новые и активные заказы;

  • поиск по номеру, клиенту и адресу;

  • состав заказа и комментарий покупателя;

  • смена статуса по понятным правилам;

  • назначение курьера;

  • контроль каталога и обмена с 1С;

  • зоны и тарифы доставки;

  • список курьеров и журнал ошибок.

Хорошая проверка админ-панели — можно ли провести через неё обычную рабочую смену без участия разработчика.

Что нужно курьеру

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

Минимальный набор включает:

  • вход сотрудника;

  • список назначенных заказов;

  • адрес, состав и контакт покупателя;

  • маршрут на карте;

  • действия «начать доставку» и «завершить»;

  • понятную работу при плохом интернете;

  • уведомление о новом назначении.

В Bakaev Market геопозиция передаётся только во время активной доставки. Диспетчер видит курьеров на общей карте, а покупатель — движение по своему заказу. На Android фоновая передача сопровождается системным уведомлением.

Push помогает, но не заменяет сам заказ

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

Push только сообщает об изменении и ведёт на нужный экран. Его отсутствие не должно останавливать работу магазина или курьера.

Что включить в первую версию

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

Для покупателя: каталог, поиск, карточка товара, корзина, адрес, проверка зоны, оформление и статус заказа.

Для магазина: получение и обработка заказа, статусы, назначение курьера, каталог и контроль обмена с 1С.

Для курьера: назначенные доставки, маршрут, смена статуса и передача позиции во время заказа.

На сервере: пользователи, товары, корзина, заказы, зоны, права доступа, интеграция с 1С, журнал ошибок и сервисные уведомления.

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

Какие ситуации проверить перед публикацией

Обычного теста «товар добавился в корзину» мало. Проведите несколько реальных сценариев:

  1. Цена или остаток меняются в 1С и обновляются в приложении.

  2. Товар заканчивается, пока он лежит в корзине.

  3. Два покупателя заказывают последний экземпляр одновременно.

  4. 1С недоступна во время создания заказа.

  5. Адрес находится за пределами зоны или на границе двух зон.

  6. Заказ отменяют до сборки и после назначения курьера.

  7. Курьер теряет сеть и продолжает доставку после восстановления.

  8. Push не приходит, но новый статус виден во всех интерфейсах.

  9. Заказ проходит весь путь, а остатки и история совпадают во всех системах.

Отдельно проверяйте релизные сборки на реальных устройствах: карты, push и фоновая геолокация могут вести себя иначе, чем в тестовой среде.

Что обсудить до оценки проекта

Срок и стоимость зависят не столько от количества экранов, сколько от ответов на практические вопросы:

  • где сейчас находятся товары, цены, остатки и изображения;

  • какая версия 1С используется и какой обмен она поддерживает;

  • как быстро изменения должны появляться у покупателя;

  • что делать с заказом, если 1С временно недоступна;

  • когда резервируется и списывается товар;

  • кто собирает заказ и где он работает;

  • как назначаются курьеры;

  • какие зоны, тарифы и способы оплаты нужны.

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

В итоге покупатель должен видеть простоту, а бизнес — контроль

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

В Bakaev Market команда 13FOX связала приложение покупателя, админ-панель, облачную 1С и работу курьеров в единую систему.

Если вашему магазину нужен собственный канал онлайн-продаж, пригласите 13FOX в тендер на Workspace или напишите нам в сообщениях площадки. Разберём текущие процессы, определим состав первой версии и предложим поэтапный план запуска.

Выскажите мнение
Авторизуйтесь, чтобы добавить свой комментарий.




365

Лучшие статьи

Поделиться: 0 0 0
Лайки за кейсы:  0 Подписчики:  4

Оцените статью
Спасибо за оценку