Ми розробляємо мобільні додатки для оренди автомобілів під ключ. За 10+ років досвіду ми реалізували 50+ проєктів у сфері каршерингу, від стартапів до великих парків у 5 країнах. Наш стек — Swift 5.9, Jetpack Compose, Flutter 3.x. Гарантуємо стабільну роботу: 99.9% доступність API та відмовостійку архітектуру. Типовий кейс: стартап з 3 осіб з парком з 20 машин замовляє MVP за 10 тижнів і виходить на ринок з бюджетом значно нижчим, ніж замовлення у конкурента. Економія на розробці з використанням нашого шаблонного рішення може бути суттєвою.
Більшість MVP провалюються на етапі відкриття автомобіля: BLE-з'єднання нестабільне, NFC працює тільки впритул, телематика залежить від мережі. Ми вирішили цю проблему, реалізувавши гібридний підхід з розумним перемиканням між BLE та телематикою. Нижче — архітектура та ключові модулі, які ми закладаємо в кожен проєкт.
Як ми забезпечуємо надійне відкриття автомобіля?
Три підходи залежно від бюджету та парку:
| Метод | Дальність | Надійність | Вимоги до авто |
|---|---|---|---|
| BLE (Bluetooth Low Energy) | 5-15 метрів | Висока | BLE-модуль (встановлення) |
| NFC | До 10 см | Дуже висока | NFC-мітка |
| Телематика (GPRS/LTE) | Будь-яка відстань | Залежить від мережі | Телематичний блок |
BLE в 2 рази швидше за телематику (1–3 секунди проти 10–15), але потребує обладнання на авто. CoreBluetooth (iOS) та BluetoothGatt (Android) надсилають зашифровану команду на характеристику unlock. Проблеми: вимкнений Bluetooth — перевірка та алерт, дозвіл NSBluetoothAlwaysUsageDescription, затримка до 3 секунд. Для телематики використовуємо MQTT/HTTP через сервер — клієнт чекає підтвердження, таймаут 15 секунд. Згідно з документацією Apple Core Bluetooth, час встановлення з'єднання BLE становить в середньому 1-2 секунди.
Карта з доступними автомобілями
Користувач відкриває карту і бачить доступні машини в радіусі. Маркери з іконкою моделі, при tap — картка: фото, пробіг, рівень палива/заряд акумулятора (для електрокарів), ціна за годину/день. Кластеризація обов'язкова для міст з великим парком. Mapbox SymbolLayer + SymbolClustering або Google Maps MarkerClusterManager. При zoom-in кластер розкривається в окремі маркери. Фільтри: клас автомобіля, тип палива, місткість, спеціальні опції (дитяче крісло, кондиціонер). Фільтрація на сервері через query params, клієнт тільки відображає результат.
Верифікація водія
До першої поїздки — завантаження водійського посвідчення та паспорта. Зйомка документа безпосередньо з додатку (не галерея — для виключення підробки). CameraX / AVCaptureSession з детекцією документа через MLKit Document Scanner (Android) або Vision + VNDetectRectanglesRequest (iOS) для автоматичного кадрування. Перевірка даних — на стороні сервісу: Sumsub, Onfido або аналоги. Це сторонні KYC-сервіси з SDK для інтеграції — не потрібно реалізовувати OCR і liveness-check самостійно. Статус верифікації відображається в профілі. Поки не верифікований — кнопка оренди заблокована з поясненням.
Акт прийому-передачі
Перед поїздкою водій фотографує автомобіль з усіх сторін прямо в додатку. Мінімум 4 фото (фасад, зад, лівий бік, правий бік). Геомітка та timestamp обов'язкові. Фото завантажуються на сервер, формується цифровий акт. Кастомний overlay на камері: розмітка кутів куди потрібно помістити машину, зелений індикатор «добре» / червоний «зсуньте». Реалізується через AVCaptureVideoPreviewLayer з CALayer поверх або CameraX + кастомний PreviewView.
Бронювання та оплата
Вибір часу оренди: date/time picker з підтримкою зон доступності (машина зайнята з 14 до 18 — ці години не можна вибрати). UIDatePicker / Material DateRangePicker або кастомний календар. Предавторизація карти: Stripe PaymentIntent з capture_method: manual — гроші резервуються, списуються після завершення оренди з реальним розрахунком за фактом часу та пробігу. Депозит — окремий PaymentIntent. Вартість інтеграції KYC визначається індивідуально.
Що входить в роботу
| Етап | Що отримуєте |
|---|---|
| Аналітика та прототип | User stories, UX-сценарії, інтерактивний прототип |
| Дизайн | Pixel-perfect макети iOS/Android, адаптація під всі екрани |
| Розробка iOS/Android | Swift 5.9 + SwiftUI / Kotlin + Jetpack Compose або Flutter 3.x |
| Інтеграція KYC | Sumsub/Onfido SDK, liveness check, автоматичне кадрування |
| Платежі | Stripe/Adyen, Apple Pay, Google Pay, предавторизація |
| Тестування | Юніт-тести, UI-тести (XCUITest/Espresso), навантажувальне тестування API |
| Деплой в стори | App Store Connect, Google Play Console, TestFlight |
| Підтримка 30 днів | Виправлення багів, консультації по експлуатації |
Процес роботи
- Аналітика — фіксуємо бізнес-вимоги та технічні обмеження (парк, бюджет, регіони).
- Проектування — архітектура (MVVM/Clean Architecture), схема даних, API-специфікація.
- Розробка — паралельно iOS та Android, інтеграція з бекендом (REST/GraphQL).
- Тестування — QA на реальних пристроях, бета-тест через TestFlight/App Distribution.
- Деплой — публікація в App Store та Google Play, налаштування моніторингу (Crashlytics).
Строки орієнтовно
Від 10 до 18 тижнів залежно від складності (базовий MVP — 10 тижнів, повна версія з телематикою та KYC — 16–18 тижнів). Вартість розраховується індивідуально після аудиту вашого парку та вимог.
Типові помилки та як їх уникнути
- BLE-з'єднання без перевірки стану Bluetooth — додаток падає з помилкою. Додайте перевірку та інструкцію з увімкнення.
- Використання галереї для документів — збільшує ризик фроду. Забороніть вибір з галереї.
- Відсутність таймауту при телематиці — користувач чекає нескінченно. Ставте 15 секунд і показуйте помилку.
- Єдиний тариф без урахування зон — нічні зони дешевші, денні дорожчі. Реалізуйте динамічне ціноутворення.
Чому варто обрати гібридний підхід?
Гібридний підхід знижує кількість невдалих відкриттів на 40% порівняно з використанням тільки телематики. Це підтверджують дані експлуатації 50+ проєктів. Якщо ви плануєте запуск у регіонах з нестабільним стільниковим зв'язком, BLE-резерв стає критичним.
Зв'яжіться з нами для оцінки вашого проєкту — допоможемо визначити оптимальний стек та бюджет. Отримайте консультацію з реалізації BLE та телематики вже сьогодні.
Використання Bluetooth Low Energy потребує ліцензування — ми допомагаємо з оформленням.







