Вступ
Розробка мобільного додатку для паркінгу стикається з основною проблемою: реальна завантаженість парковки — це потік подій, а не статична таблиця. Користувач шукає місце біля торгового центру, карта показує «вільно» — він їде, а парковка повна. Дані застаріли на 15 хвилин. Ми вирішуємо цю проблему через пряму інтеграцію з обладнанням та платіжними системами, забезпечуючи достовірну картину в реальному часі.
Інтеграція з паркувальним обладнанням
Реальні дані про зайнятість місць надходять від шлагбаумів, петлевих детекторів або ультразвукових сенсорів через протокол MQTT або WebSocket до брокера (mosquitto, EMQX). Мобільний додаток підписується на топік парковки та отримує оновлення в реальному часі. Це вимагає persistent connection, яку на мобільних пристроях реалізуємо через Starscream (iOS WebSocket) або OkHttp WebSocket (Android). З'єднання розривається при переході додатку в background — для iOS використовуємо BGProcessingTask, для Android — WorkManager з періодичною перевіркою.
Якщо бюджет не дозволяє інтеграцію з «залізом» — використовуємо дані з платіжної системи: в'їзд фіксується при оплаті в'їзду, виїзд — при оплаті/підйомі шлагбаума. Точність нижча, але дані реальні.
Безшовна оплата
Найкритичніший UX-момент — оплата парковки без черги до терміналу. Три поширені сценарії:
-
Передоплата за номером машини. Користувач вводить номер, вибирає час, платить. На виїзді камера ANPR звіряє номер і відкриває шлагбаум. Інтеграція з російськими системами ANPR (Vocord, ITRIUM) або міжнародними (Genetec, Milestone).
-
Scan & Pay. QR-код на в'їзді, користувач сканує, додаток запам'ятовує час в'їзду, оплата при виїзді. Реалізується через
AVCaptureSession(iOS) абоCameraXзBarcodeScannerз ML Kit (Android) — не потрібне окреме SDK для QR. -
NFC-мітки. Дотик до NFC-мітки на в'їзді/виїзді.
Core NFC(iOS 11+) абоNfcAdapter(Android). Обмеження iOS: NFC працює тільки в foreground, не можна сканувати в background без спеціального entitlement.
Для оплати інтегруємо Stripe, ЮKassa або CloudPayments залежно від географії — усі три надають нативні SDK для iOS/Android.
Порівняння способів оплати — розробка мобільного додатку
| Спосіб | Точність даних | Складність інтеграції | Апаратні вимоги |
|---|---|---|---|
| Передоплата (ANPR) | Висока | Середня | Камери ANPR |
| Scan & Pay (QR) | Середня | Низька | QR-стікер на в'їзді |
| NFC-мітки | Висока | Низька (Android) / Висока (iOS) | NFC-мітки |
Як забезпечити live-статус парковки?
Ключовий елемент — вибір протоколу обміну даними. MQTT або WebSocket з event-driven моделлю. В одному з проєктів для мережі з 8 паркінгів (близько 2000 місць) ми замінили polling (кожні 60 секунд) на event-driven архітектуру з MQTT та WebSocket-проксі. Затримка оновлення впала з 60 до 1–2 секунд, а трафік знизився в 30 разів: 1440 запитів на день проти 10–50 повідомлень. Результат: real-time статус став головним драйвером задоволеності користувачів.
Чому real-time статус критичний у мобільному додатку для паркінгу?
Зазначимо: коли водій бачить вільне місце і приїжджає, а воно зайняте — це втрачений час і довіра до додатку. Поллінг з інтервалом хвилина дає застарілі дані в пікові години. Event-driven архітектура (MQTT/WebSocket) гарантує, що користувач отримує лише актуальні зміни, без паразитного трафіку. Порівняння архітектур: event-driven краще polling в 30 разів за обсягом трафіку і в 30-60 разів за затримкою.
Порівняння навантажень: Polling vs Event-Driven
| Параметр | Polling (кожні 60 сек) | Event-Driven (MQTT) |
|---|---|---|
| Кількість запитів на день на парковку | 1440 | 10–50 |
| Затримка оновлення | до 60 сек | 1–2 сек |
| Трафік на клієнт | 1.4 МБ/день | 45 КБ/день |
Карта та навігація до вільного місця
Карту паркінгу (порівнева схема місць) відображаємо через SVG-рендеринг або кастомний Canvas. Google Maps та MapKit тут не підходять — потрібен indoor layout. Використовуємо SVG з ідентифікаторами на кожен паркувальний бокс, розфарбовуємо залежно від статусу через DOM manipulation або нативний Canvas.drawPath.
Навігація до парковки — стандартний Google Maps / MapKit deep link. Навігація всередині паркінгу (до вільного місця) — опціонально через BLE-маяки (Estimote, Kontakt.io) з Indoor Positioning. Це додає складність і ціну, обґрунтовано лише для великих багаторівневих паркінгів.
Як впровадити real-time статус: покрокова інструкція
- Аудит обладнання парковки (шлагбауми, сенсори, платіжні термінали).
- Вибір протоколу: MQTT або WebSocket залежно від навантажень.
- Налаштування брокера (mosquitto, EMQX) та підписка мобільного додатку на топіки.
- Реалізація persistent connection на мобільній стороні (BGProcessingTask/WorkManager).
- Інтеграція з платіжним шлюзом (Stripe, ЮKassa) для синхронізації в'їздів/виїздів.
- Тестування на реальному обладнанні протягом 2 тижнів.
- Розгортання та моніторинг (Firebase Crashlytics + Sentry).
Що входить у розробку під ключ
- Аудит існуючого обладнання та платіжної інфраструктури
- Проектування інтеграцій (MQTT/REST від контролерів, ANPR, платіжний шлюз)
- Дизайн схеми паркінгу та мобільного інтерфейсу
- Розробка MVP за 6–10 тижнів, повна версія з indoor-навігацією до 4 місяців
- Тестування на реальному обладнанні (шлагбауми, сенсори)
- Публікація в App Store та Google Play, налаштування моніторингу (Firebase Crashlytics + Sentry)
- Гарантійна підтримка 3 місяці, навчання адміністраторів
Етапи та терміни
| Етап | Тривалість |
|---|---|
| Аудит обладнання та платіжної інфраструктури | 1–2 тижні |
| Проектування інтеграцій (MQTT/REST, ANPR, платіжний шлюз) | 1–2 тижні |
| Дизайн схеми паркінгу та мобільного інтерфейсу | 2–3 тижні |
| Розробка MVP | 6–10 тижнів |
| Розробка повної версії (з indoor-навігацією) | до 4 місяців |
| Тестування на реальному обладнанні | 1–2 тижні |
| Публікація та моніторинг (Firebase Crashlytics + Sentry) | 1 тиждень |
Типові помилки при розробці parking app
- Використання polling замість event-driven — призводить до застарілих даних і високого трафіку.
- Ігнорування background-обробки на iOS/Android — втрата з'єднання веде до відсутності оновлень.
- Відсутність fallback-сценаріїв оплати (наприклад, тільки NFC без ANPR/QR).
- Неврахування обмежень NFC на iOS (тільки foreground).
Вартість розраховується індивідуально після аудиту. Ми працюємо вже багато років, реалізували понад 15 проєктів для комерційних паркінгів. Оцінимо ваш проєкт протягом 2 днів — отримайте консультацію та розрахунок термінів під вашу інфраструктуру. Зв'яжіться з нами, щоб обговорити розробку мобільного додатку для вашого паркінгу.







