Своё приложение для доставки: что нужно клиенту, курьеру и диспетчеру и сколько это стоит
Короткий ответ: своя доставка — это не одно приложение, а система из трёх частей: приложение клиента, приложение курьера и диспетчерская в браузере, связанные общим сервером и учётом. Её стоит строить, когда у вас свои курьеры и свой процесс; если курьеров нет, дешевле агрегатор. По нашему прайсу мобильное приложение для iOS и Android стоит от 200 000 ₽ и от 2 недель, а точный состав и смету называем после брифа.
Текст для владельцев ресторанов, магазинов, аптек, цветочных и производственных компаний, у которых есть свои курьеры или водители. Подключение сторонних служб доставки к интернет-магазину — отдельная тема, здесь речь о собственной доставке.
Из каких частей состоит система доставки?
Из трёх интерфейсов и одного сервера. Клиент оформляет заказ и следит за ним, курьер получает заказы и меняет статусы, диспетчер распределяет заказы и разбирает проблемы. Сервер хранит заказы, статусы и историю и обменивается данными с учётом: кассой, складом, 1С.
- Приложение клиента. Каталог или меню, корзина, адрес, время доставки, оплата, отслеживание заказа, история и повтор заказа. Часто его роль выполняет сайт.
- Приложение курьера. Список заказов на смену, адреса, звонок клиенту, смена статусов, фото и подтверждение вручения, приём оплаты.
- Диспетчерская. Веб-панель: очередь заказов, назначение курьеров, карта или список «кто где», проблемные заказы, отчёты по смене.
- Сервер и обмен. Заказы приходят с сайта, из приложения и по телефону, а статусы и оплаты уходят в учётную систему.
Самая частая ошибка на старте — начинать с приложения для клиента. Деньги в доставке теряются на стыках: заказ потерян между оператором и кухней, курьер не дозвонился, оплату нельзя сверить. Эти стыки закрывают приложение курьера и диспетчерская, поэтому с них разумно начинать.
Агрегатор, готовый сервис или своё приложение?
Своё приложение нужно, когда у вас свои курьеры, повторные клиенты и процесс, который не ложится в чужие настройки. Если курьеров нет или заказов мало, агрегатор или готовый сервис обойдутся дешевле: вы платите комиссией или подпиской, а не разработкой.
Сигналы, что пора делать своё: вы ведёте заказы в двух-трёх местах одновременно, диспетчер сверяет оплаты вручную в конце смены, клиенты звонят спросить «где курьер», а готовый сервис не умеет нужный вам статус или обмен с учётом. Сигналы, что пока рано: меньше нескольких десятков заказов в день, один-два курьера, процесс ещё меняется каждую неделю. В этом случае сначала стабилизируйте процесс на простом инструменте. Четыре варианта по признакам сравнили в таблице ниже.
| Вариант | Когда подходит | Чем платите | Главное ограничение |
|---|---|---|---|
| Агрегатор доставки или маркетплейс | Нужно быстро получить заказы и курьеров, своей логистики нет | Комиссией с заказа по условиям площадки | Клиент и его история остаются на площадке, правила меняет она |
| Готовый сервис для служб доставки | Процесс типовой: принять заказ, назначить курьера, закрыть доставку | Подпиской за курьера или за заказ | Свои статусы, роли и обмен с учётом — в пределах настроек сервиса |
| Telegram-бот для курьеров | Пять-десять курьеров, заказы назначает один диспетчер | Разработкой бота, от 16 000 ₽ | Геолокация — только если курьер сам включил трансляцию в Telegram; нет работы без связи и своих экранов |
| Своя система: приложения и диспетчерская | Свои курьеры, свой процесс, нужна связка с учётом и данные у вас | Разработкой и поддержкой | Дольше старт, нужна поддержка после запуска |
Что должно быть в приложении курьера?
Всё, что курьер делает за смену, с минимумом нажатий: увидеть свои заказы, построить маршрут, позвонить клиенту, сменить статус, подтвердить вручение и принять оплату. Каждое действие оставляет след в системе — это и есть ценность приложения для владельца.
Обязательный набор для первой версии:
- Смена. Начало и конец смены, список заказов на сегодня, новые назначения — push-уведомлением. Без разрешения на уведомления курьер не узнает о новом заказе, поэтому его запрашивают при первом входе.
- Карточка заказа. Адрес с подъездом, этажом и комментарием, состав, сумма к оплате, телефон клиента, окно доставки. Кнопка «Открыть в навигаторе» передаёт адрес в приложение карт на телефоне — встраивать свою карту для этого не нужно.
- Статусы. Короткая цепочка, где каждый статус ставит понятный человек и каждый что-то показывает клиенту; пример цепочки — в таблице в конце раздела.
- Подтверждение вручения. Фото у двери, код из сообщения клиенту или подпись на экране. Код удобнее всего для дорогих заказов: курьер не закроет доставку, не встретив клиента.
- Фотоотчёт. Снимок посылки при передаче и у двери, если клиента нет. Фото привязывается к заказу со временем съёмки и решает большую часть споров «не привезли».
- Причины недоставки. Список вместо свободного текста: «не открыли», «неверный адрес», «отказ». По нему потом видно, где теряются заказы.
- Работа при плохой связи. Статусы и фото сохраняются на телефоне и уходят на сервер, когда сеть вернётся. В перечне тарифа офлайн-режима нет, его объём оцениваем на брифе.
Курьерское приложение обычно не нужно публиковать для всех: доступ к нему получают только ваши сотрудники по приглашению. Это упрощает дизайн, но не отменяет требований магазинов приложений к геолокации — о них ниже.
| Статус | Кто ставит | Что видит клиент | Что фиксирует система |
|---|---|---|---|
| Принят | Система или оператор | Номер заказа и ожидаемое время | Время приёма, состав, адрес |
| Собран | Склад или кухня | Заказ готов к передаче курьеру | Кто собрал, фото комплектации при необходимости |
| Передан курьеру | Курьер, сканом или кнопкой | Имя курьера, push «заказ в пути» | Время передачи, курьер |
| В пути | Курьер | Ориентир по времени или точка на карте | Точки маршрута, если включена геолокация |
| Доставлен | Курьер, после кода или подписи | Чек и просьба оценить доставку | Фото, код, время, способ оплаты |
| Не доставлен | Курьер с указанием причины | Сообщение и вариант новой даты | Причина, фото у двери, попытка звонка |
Что нужно клиенту: заказ, оплата, отслеживание
Клиенту нужно быстро повторить заказ, заплатить удобным способом и понимать, когда приедет курьер. Карта с движущимся курьером приятна, но для первой версии хватает статусов с push-уведомлениями и ориентира по времени: именно они снимают звонки «где мой заказ».
Что важно в клиентской части:
- Адрес и зона доставки. Проверка, что адрес входит в зону, и окно доставки, которое вы реально выдерживаете. Неверная зона — самый дорогой вид отмены.
- Повтор заказа. Для еды, воды, цветов и расходников это основной сценарий: история и кнопка «Повторить» важнее красивого каталога.
- Онлайн-оплата. Правила App Store требуют, чтобы оплата физических товаров и услуг, получаемых вне приложения, шла не через встроенные покупки, а другими способами — например, картой (App Review Guidelines, 3.1.3(e)). Для доставки это эквайринг вашего банка или платёжного сервиса.
- Оплата при получении. Наличными или картой у двери. Здесь важна касса — о ней следующий абзац.
- Отслеживание. Статусы, имя курьера, ориентир по времени; карта — следующим шагом, когда понятно, что клиентам она нужна.
Про кассу. Расчёты с покупателями по общему правилу проводятся с применением контрольно-кассовой техники (54-ФЗ, ст. 1.2), и оплата у двери — не исключение. Схему выбирают до разработки вместе с бухгалтером: мобильная касса у курьера, оплата по ссылке с электронным чеком или предоплата онлайн. От выбора зависят экраны курьера и обмен с кассой, поэтому это вопрос брифа, а не доработки после запуска. Как устроен приём оплаты с онлайн-кассой на сайте, мы подробно разбирали в отдельной статье.
Отдельное клиентское приложение оправдано, когда покупают часто и повторно. Если клиент заказывает раз в квартал, ему хватит сайта с отслеживанием по ссылке из сообщения; плюсы и минусы этого выбора — в статье веб-приложение или мобильное.
Диспетчерская: распределение заказов и маршрутов
Диспетчерская — веб-панель для оператора: очередь заказов, назначение курьера, статусы в реальном времени и проблемные заказы наверху. В первой версии курьеров назначают вручную или по зонам; автоматическое построение маршрутов подключают позже, когда накопилась статистика.
Что в ней действительно нужно с первого дня:
- Единая очередь. Заказы с сайта, из приложения и телефонные — в одном списке, с источником и временем.
- Назначение. Перетащить заказ на курьера или выбрать из списка свободных; курьер сразу получает push.
- Проблемные заказы. Просроченные окна, недоставки и отмены подсвечиваются, а не ищутся глазами.
- Сверка смены. Сколько заказов, сколько оплат наличными, картой и онлайн у каждого курьера — чтобы закрыть смену без тетради.
- Отчёты. Время доставки, доля недоставок по причинам, нагрузка по часам.
Автоматическое распределение и оптимизация маршрутов — отдельный блок. Его делают либо своими правилами (ближайший свободный курьер, зона, вес заказа), либо через сторонний сервис маршрутизации по API; сервис оплачивается по его тарифам. Правила разумнее писать по данным первых месяцев работы, а не заранее. Диспетчерская по сути — веб-приложение с ролями, поэтому считается по тарифу веб-приложений.
Геолокация в фоне: ограничения iOS и Android
Точка курьера на карте, когда приложение свёрнуто, — самая сложная часть системы. Обе платформы ограничивают фоновую геолокацию ради батареи и приватности, а магазины приложений проверяют, зачем она нужна. Часто достаточно фиксировать координаты в момент смены статуса — это проще и честнее по отношению к курьеру.
Android. По документации Android, начиная с версии 8.0 приложение в фоне получает обновления местоположения лишь несколько раз в час (Android Developers). Для постоянного трекинга используют службу переднего плана с типом location: начиная с Android 14 (API 34) этот тип и разрешение FOREGROUND_SERVICE_LOCATION нужно объявить в манифесте, а у приложения должно быть разрешение на геолокацию (типы служб). Доступ «Разрешить всегда» на Android 11 и новее не предлагается в системном окне — пользователь включает его в настройках, а приложение должно заранее объяснить зачем (документация).
Google Play. Фоновая геолокация допускается только для основной функции приложения. Нужно заполнить декларацию в Play Console с описанием одной функции, приложить короткое видео и показать в приложении заметное уведомление до системного запроса (справка Google Play). Без одобрения обновления могут не пройти.
iOS. Система вскоре после ухода приложения в фон приостанавливает большинство приложений, и обновления местоположения копятся до следующего запуска. Чтобы получать их сразу, в проекте включают фоновую возможность Location updates; с разрешением «При использовании» приложение запускает фоновую сессию, пока оно на экране, и система показывает индикатор (документация Apple). Правила App Store разрешают фоновые службы только по назначению и требуют объяснить цель использования геолокации и получить согласие (разделы 2.5.4 и 5.1.5).
Что из этого следует для заказчика:
- Решите, что именно нужно: точка при смене статуса, трек во время доставки или маршрут за всю смену. Первое почти не требует фоновой работы.
- Трекинг включайте только на время активной доставки, а не на всю смену: меньше расход батареи и проще объяснить цель.
- Местоположение курьера — его персональные данные; что учесть для сотрудников, мы разбирали в статье о приложениях для выездных сотрудников.
- Проверяйте на реальных телефонах курьеров: некоторые производители Android дополнительно ограничивают фоновую работу режимами экономии энергии.
Сколько стоит и с чего начать?
Нижние границы по прайсу: мобильное приложение — от 200 000 ₽ и от 2 недель, диспетчерская как веб-приложение — от 160 000 ₽ и от 10 дней, обмен с кассой или 1С — от 32 000 ₽ и от 2 дней. Суммы «от» нельзя просто сложить: итог зависит от ролей, оплат и геолокации, его называем после брифа.
Что входит в тариф мобильного приложения: iOS и Android из одного кода или PWA, до 6–8 экранов, регистрация и вход, push-уведомления, оплаты, подключение к вашему API или простой сервер на нашей стороне, публикация в App Store и Google Play под вашими аккаунтами. Отдельно оцениваются карты, чаты, сложная бизнес-логика; аккаунты разработчика Apple и Google Play оплачиваете вы. Подробный разбор сметы — в статье сколько стоит мобильное приложение.
Разумный порядок запуска своей доставки:
- Процесс на бумаге. Статусы, кто их ставит, причины недоставки, схема оплаты и кассы, откуда приходят заказы.
- Курьер и диспетчер. Приложение курьера с фото и статусами плюс простая диспетчерская. Клиенты пока заказывают на сайте или по телефону.
- Обмен с учётом. Заказы и оплаты автоматически попадают в кассу или 1С по тарифу интеграций.
- Клиентское приложение. Когда есть повторные клиенты и понятно, что им нужно кроме сайта.
- Карта и маршруты. Трекинг в реальном времени и автоназначение — по данным первых месяцев.
Если курьеров пять-десять, начать можно ещё проще: Telegram-бот для курьеров стоит от 16 000 ₽ и делается за 1–2 дня. Он выдаст заказ, примет статус и фото и отправит их диспетчеру. Ограничения честные: местоположение бот получит, только если курьер сам включит трансляцию геопозиции в Telegram, а надёжной работы без связи и своих экранов у бота нет — когда они понадобятся, пора переходить на приложение.
Условия работы — по типовому договору: 50 % предоплата и 50 % после акта, на приёмку 5 рабочих дней, до 2 раундов правок на прототипе и до 2 на готовой сборке, 14 дней бесплатной поддержки после публикации и гарантия 30 календарных дней с даты акта. Исключительное право на код остаётся у исполнителя, вы получаете лицензию на весь срок действия права: исходники в вашем репозитории, любой сервер, любые подрядчики. Исполнитель освобождён от НДС по п. 1 ст. 145 НК РФ.
Какие ошибки делают при заказе приложения доставки?
Почти все дорогие ошибки — это решения, принятые до разработки или пропущенные на брифе. Их проще закрыть одной встречей, чем переделкой после запуска.
- Начинать с красивого клиентского приложения. Без курьерской части и диспетчерской клиент увидит статус, который никто не обновляет.
- Не решить кассу. Схема оплаты у двери меняет экраны курьера и обмен с учётом; найденная после запуска, она превращается в доработку.
- Включать трекинг на всю смену «на всякий случай». Это лишние согласования с магазинами приложений, жалобы на батарею и вопросы от сотрудников.
- Слишком много статусов. Курьер, которому нужно нажать восемь кнопок на заказ, перестанет их нажимать. Пять-шесть статусов хватает почти всем.
- Автоматизировать распределение заранее. Правила, придуманные до первых недель работы, обычно приходится переписывать.
- Забыть про поддержку. Новые версии iOS и Android, обновления требований Google Play и смена телефонов у курьеров — работа после запуска, её стоит заложить сразу.
Для брифа подготовьте: число курьеров и заказов в день, откуда приходят заказы сейчас, как курьеры получают оплату, какая у вас касса и учётная система, какие причины недоставки встречаются чаще всего и что вы хотите видеть в отчёте по смене. С этим списком состав первой версии и смету можно назвать на первой встрече.
Короткие ответы на частые вопросы
Сколько стоит своё приложение для доставки?
Нижняя граница по нашему прайсу — от 200 000 ₽ и от 2 недель за мобильное приложение для iOS и Android из одного кода, до 6–8 экранов. Диспетчерская в браузере считается по тарифу веб-приложений (от 160 000 ₽), обмен с учётной системой — по тарифу интеграций (от 32 000 ₽). Итог называем после брифа и фиксируем в договоре.
Нужно ли делать отдельные приложения для клиента и курьера?
Чаще да: у клиента и курьера разные экраны, разрешения и сценарии, а курьерское приложение обычно не публикуют для всех. Если клиентам хватает сайта, первым делают только приложение курьера и диспетчерскую.
Можно ли следить за курьером, когда приложение свёрнуто?
Технически да, но обе платформы это ограничивают: на Android с версии 11 доступ «Разрешить всегда» включается только в настройках, а Google Play требует декларацию и видео; на iOS нужна фоновая возможность Location updates и понятное объяснение для пользователя. Часто хватает геолокации при смене статуса.
Как принимать оплату при получении?
Оплата у двери — это расчёт, на который распространяется закон о кассовой технике: покупатель должен получить кассовый чек. Схему — касса у курьера или ссылка на оплату с электронным чеком — выбирают вместе с бухгалтером, приложение подстраивается под неё.
С чего начать, если курьеров пять?
С проверки процесса на простом инструменте: Telegram-бот для курьеров стоит от 16 000 ₽ и делается за 1–2 дня. Если через пару месяцев понятны статусы, узкие места и нужна фоновая геолокация или работа без связи, переходите к приложению.
Услуги и кейсы по теме: мобильные приложения · веб-приложения и SaaS · цены и сроки
Расскажите, что и куда вы доставляете, сколько у вас курьеров и заказов в день и где сейчас живут заказы, — предложим состав первой версии, цену и срок после брифа.
Рассчитать проект →Оценку срока и цены по брифу делаем бесплатно, обычно отвечаем в течение часа в рабочее время. Типовой договор — посмотреть до оплаты.
