Мобільний застосунок для аренди автомобілів
Застосунок для аренди автомобілів об'єднує геолокацію, документооборот, платіжну систему та IoT-інтеграцію з самим автомобілем. На останньому пункті ламаються більшість MVP: відкрити машину зі смартфона — звучить просто, на практиці — це BLE, NFC або телематичний блок з нестабільним GPRS.
Карта з доступними автомобілями
Користувач відкриває карту та бачить доступні машини в радіусі. Маркери з іконкою моделі, при натиску — карточка: фото, пробіг, рівень палива/заряду акумулятора (для електрокарів), ціна за годину/день.
Кластеризація обов'язкова для міст з великим парком. Mapbox SymbolLayer + SymbolClustering або Google Maps MarkerClusterManager. При збільшенні кластер розбивається на окремі маркери.
Фільтри: клас автомобіля, тип палива, місткість, спеціальні опції (дитяче крісло, кондиціонер). Фільтрація на сервері через query params, клієнт тільки відображає результат.
Верифікація водія
До першої поїздки — завантаження водійського посвідчення та паспорта. Зйомка документа прямо з застосунку (не галерея — для виключення підробки). CameraX / AVCaptureSession з детекцією документа через MLKit Document Scanner (Android) або Vision + VNDetectRectanglesRequest (iOS) для автоматичного кадрування.
Перевірка даних — на стороні сервісу: Sumsub, Onfido або аналоги. Це сторонні KYC-сервіси з SDK для інтеграції — не потрібно реалізовувати OCR та liveness-check самостійно.
Статус верифікації відображається в профілі. Поки не верифіковано — кнопка аренди заблокована з поясненням.
Відкриття автомобіля зі смартфона
Три підходи в залежності від бюджету та парку:
| Метод | Дальність | Надійність | Вимоги до авто |
|---|---|---|---|
| BLE (Bluetooth Low Energy) | 5-15 метрів | Висока | BLE-модуль (установка) |
| NFC | До 10 см | Дуже висока | NFC-метка |
| Телематика (GPRS/LTE) | Будь-яка відстань | Залежить від мережі | Телематичний блок |
BLE: CoreBluetooth (iOS) / Android BluetoothGatt. Застосунок знаходить пристрій з потрібним UUID service, відправляє зашифровану команду на characteristic unlock. Проблеми: Bluetooth вимкнений у користувача (потрібна перевірка та прохання включити), iOS вимагає NSBluetoothAlwaysUsageDescription, затримка 1-3 секунди до установки з'єднання.
Телематика: команда йде через сервер → MQTT/HTTP → телематичний блок → реле замка. Клієнт чекає підтвердження виконання. Timeout 10-15 секунд (GPRS повільний), spinner з поясненням. Якщо команда не підтверджена — показуємо помилку, не повторюємо автоматично (машина може відкритися з затримкою).
Акт приймання-передачі
Перед поїздкою водій фотографує автомобіль зі всіх сторін прямо в застосунку. Мінімум 4 фото (фасад, зад, лівий бік, правий бік). Геотег та timestamp обов'язкові. Фото завантажуються на сервер, формується цифровий акт.
Кастомний overlay на камері: розмітка кутів куди потрібно помістити машину, зелений індикатор «гарно» / червоний «зсуньте». Реалізується через AVCaptureVideoPreviewLayer з CALayer поверху або CameraX + кастомний PreviewView.
Бронювання та оплата
Вибір часу аренди: date/time picker з підтримкою зон доступності (машина зайнята з 14 до 18 — ці години не можна вибрати). UIDatePicker / Material DateRangePicker або кастомний календар.
Предавторизація карти: Stripe PaymentIntent з capture_method: manual — гроші резервуються, списуються після завершення аренди з реальним розрахунком за фактом часу та пробігу. Депозит — окремий PaymentIntent.
Термін: від 10 до 18 тижнів. Вартість розраховується індивідуально.







