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







