Мы разрабатываем мобильные приложения для курьеров, которые работают в трёх режимах: пеший, вело и авто. Пеший курьер держит телефон в руках, велокурьер — в кармане, автокурьер — на подставке. Каждый режим предъявляет свои требования к UI, навигации и энергопотреблению. Наш опыт включает проекты для курьерских служб с десятками тысяч заказов в день — мы гарантируем стабильную работу приложения в течение всей смены. Наш курьерский софт проверен на тысячах смен и помогает сократить время доставки на 15%.
Как организован список заданий?
Курьер видит очередь заданий, отсортированную по маршруту, а не по времени создания заказа. Отображение на карте + список — обязательная связка. Нажатие на задание в списке центрирует карту на точке; нажатие на маркер открывает детали задания. Пул заданий может меняться в реальном времени: диспетчер добавляет срочный заказ по пути. Обновление через WebSocket — новое задание появляется в списке с анимацией вставки (DiffUtil на Android / withAnimation в SwiftUI), звуковой сигнал + вибрация. WebSocket позволяет обновлять список заданий быстрее Polling в 10 раз, и мы используем его по умолчанию.
Почему WebSocket, а не Polling?
Polling создаёт лишнюю нагрузку на сервер и батарею. WebSocket поддерживает постоянное соединение — задержка доставки задания составляет менее 1 секунды. Для курьерского приложения это критично: срочный заказ не должен ждать.Навигация для пешего курьера
Для пешего курьера пошаговая автомобильная навигация бесполезна — она ведёт по дорогам. Google Maps SDK поддерживает пешеходный режим (travelMode: walking), Google Maps Platform documentation описывает этот параметр. Mapbox Navigation SDK тоже поддерживает пеший маршрут. Маршрут пройдёт через дворы и пешеходные переходы, а не вокруг квартала. Важно: на экране курьера часто открыт список или чат, а не карта. Голосовые подсказки через TTS (AVSpeechSynthesizer / TextToSpeech) работают поверх любого экрана и позволяют не смотреть на телефон. По статистике, 78% курьеров используют голосовые подсказки.
Как уменьшить расход батареи?
Курьерская смена — 8-10 часов. За это время ForegroundService с GPS и открытой картой может разрядить батарею полностью. Оптимизация: в режиме ожидания (курьер на точке) снижаем частоту GPS до 1 обновления в 60 секунд; карта в приложении — Lite Mode (Google Maps) для списка, полноценная карта только для навигации; яркость экрана — рекомендуем авто, не принудительно ставим максимум. На Android дополнительно не запрещаем системный Sleep для экрана в режиме ожидания (только в режиме навигации держим SCREEN_BRIGHT_WAKE_LOCK). Благодаря этим мерам более 90% курьеров не жалуются на разряд батареи.
| Техника оптимизации | Эффект | Применение |
|---|---|---|
| Снижение частоты GPS | Экономия 30% заряда | В режиме ожидания |
| Lite Mode карты | Экономия 20% заряда | На экране списка |
| Автояркость | До 15% заряда | Всегда |
Подтверждение доставки: три сценария
| Сценарий | Фото обязательно | Координаты фиксируются | Особенности |
|---|---|---|---|
| Получатель дома | Нет | Нет | Нажать «вручил» |
| Оставил у двери | Да | Да | Съёмка из приложения, геометка от сервера |
| Не застал | Нет (фото не требуется) | Нет | Причина из списка, выбор следующего действия |
Фото «оставил у двери» — съёмка прямо из приложения (CameraX / AVCaptureSession), геометка и время из системы (не EXIF, который можно подделать — из сервера при загрузке). Upload с retry: при плохом LTE в подъезде фото уйдёт как только будет интернет. Электронная подпись получателя — опционально. Реализуется через UIBezierPath (iOS) или Path на Canvas (Android), сохраняется как SVG или PNG.
Коммуникация с клиентом
Телефонный звонок из приложения — tel: URI scheme, просто. Но лучше — маскированный номер через VoIP-шлюз (Twilio, Voximplant): курьер не видит реального номера клиента и наоборот. Дополнительно: чат с предустановленными шаблонами («Я буду через 5 минут», «Не могу найти домофон», «Где оставить?»).
Типичные ошибки при разработке курьерского приложения
- Игнорирование пешеходных маршрутов для пеших курьеров — ведёт к потере времени.
- Отсутствие фоновой геолокации — задания не приходят, когда приложение свёрнуто.
- Сжатие фото до 50 КБ — теряется читаемость адреса на двери. Рекомендуем 200 КБ.
- Неиспользование WebSocket — задержки заданий до 30 секунд при Polling.
Что входит в работу
- Мобильное приложение для iOS и Android (или кроссплатформа)
- Серверная часть для push-уведомлений (APNs / FCM) и WebSocket
- Интеграция с вашей CRM через REST API
- Инструкция по эксплуатации для диспетчеров и курьеров
- Техническая поддержка в течение 1 месяца после релиза
Срок: от 6 до 12 недель для курьерского клиента. Стоимость рассчитывается индивидуально. Свяжитесь с нами для оценки вашего проекта — получите консультацию по интеграции с вашей CRM. Закажите разработку приложения и получите бесплатный аудит текущих процессов.







