Ми розробляємо мобільні додатки для кур'єрів, які працюють у трьох режимах: піший, вело та авто. Піший кур'єр тримає телефон у руках, велокур'єр — у кишені, автокур'єр — на підставці. Кожен режим висуває свої вимоги до UI, навігації та енергоспоживання. Наш досвід включає проекти для кур'єрських служб із десятками тисяч замовлень на день — ми гарантуємо стабільну роботу додатку протягом усієї зміни. Наш кур'єрський софт перевірено на тисячах змін і допомагає скоротити час доставки на 15%.
Як організовано список завдань?
Кур'єр бачить чергу завдань, відсортовану за маршрутом, а не за часом створення замовлення. Відображення на карті + список — обов'язкова зв'язка. Натискання на завдання у списку центрує карту на точці; натискання на маркер відкриває деталі завдання. Пул завдань може змінюватися в реальному часі: диспетчер додає термінове замовлення по дорозі. Оновлення через WebSocket — нове завдання з'являється в списку з анімацією вставки (DiffUtil на Android / withAnimation у SwiftUI), звуковий сигнал + вібрація. WebSocket дозволяє оновлювати список завдань у 10 разів швидше за Polling, і ми використовуємо його за замовчуванням.
Чому WebSocket, а не Polling?
Polling створює зайве навантаження на сервер і батарею. WebSocket підтримує постійне з'єднання — затримка доставки завдання становить менше 1 секунди. Для кур'єрського додатку це критично: термінове замовлення не повинно чекати.Навігація для пішого кур'єра
Для пішого кур'єра покрокова автомобільна навігація марна — вона веде дорогами. Google Maps SDK підтримує пішохідний режим (travelMode: walking). 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. Замовте розробку додатку та отримайте безкоштовний аудит поточних процесів.







