Поиск парковки — задача с данными в реальном времени. Пользователь хочет знать не «парковка есть по адресу X», а «сколько свободных мест прямо сейчас». Без актуальных данных приложение бесполезно: водитель приедет на парковку и увидит «мест нет». Поэтому первый вопрос при разработке — откуда берутся данные о заполненности. Мы в своей практике сталкивались с разными источниками и гарантируем актуальность через комбинацию методов.
Источники данных о парковках
Умные паркинги с датчиками (ультразвуковые, магнитные) передают данные через IoT-шлюзы. Интеграция через REST API или MQTT. Данные обновляются каждые 30-60 секунд. Это лучший сценарий — точность близка к 100%. Городские API — многие города публикуют данные о муниципальных паркингах через открытые API. Лондон, Берлин, Барселона — есть готовые фиды. Формат обычно JSON REST или CSV. Crowdsourcing — пользователи отмечают «занял место» / «освободил место». Точность низкая (40-60%), подходит как дополнение. Провайдеры данных — ParkWhiz API, SpotHero API, Parkopedia — агрегаторы с данными о паркингах в США/Европе. Платные, но с покрытием.
| Источник | Точность | Обновление | Стоимость |
|---|---|---|---|
| Умные паркинги (датчики) | ~98% | 30-60 с | Интеграция с IoT |
| Городские API | 70-90% | 1-5 мин | Бесплатно/открытые |
| Crowdsourcing | 40-60% | Реальное время | Бесплатно (UGC) |
| Провайдеры (ParkWhiz и др.) | 80-95% | 1-2 мин | Платные API |
Архитектура: сервер агрегирует данные из всех источников, нормализует в единую модель ParkingSpot { id, lat, lng, capacity, available, price, type, schedule }, клиент получает через REST или WebSocket.
Как реализовать карту с индикацией загруженности?
Маркеры на карте цветом показывают заполненность: зелёный (>50% свободно), жёлтый (20-50%), красный (<20%), серый (нет данных). Google Maps SDK GMSMarker с кастомным iconView или Mapbox SymbolLayer с data-driven styling — цвет маркера из available_percent поля GeoJSON. Mapbox с data-driven styling обрабатывает до 10 000 точек без лагов, тогда как Google Maps при 5 000 уже заметно тормозит — Mapbox в 2 раза производительнее на больших датасетах. Real-time данные с датчиков точнее crowd-sourcing в 10 раз, но требуют интеграции с IoT.
Кластеризация при малом zoom: кластер показывает суммарное количество свободных мест из всех парковок внутри. DefaultClusterRenderer (Google Maps Utility) переопределяется для кастомного отображения. При приближении к парковке (tap по маркеру) — bottom sheet с деталями: схема подъезда, цены по часам, режим работы, фото входа.
Поиск по адресу с построением маршрута
Пользователь вводит адрес назначения → приложение показывает парковки в радиусе 300-500 метров от него, отсортированные по расстоянию + наличию мест. Кнопка «Маршрут» → построение маршрута до выбранной парковки через Google Maps SDK openWithBundleId deep link или in-app навигация через Mapbox.
Что делать с бронированием и оплатой?
Pre-booking — резервирование места на конкретное время. Не все парковки это поддерживают, зависит от наличия шлагбаума с дистанционным управлением. Форма бронирования: дата/время въезда и выезда, расчёт стоимости на сервере. Оплата через Stripe, ЮКасса, Apple Pay / Google Pay. После оплаты — подтверждение с QR-кодом для въезда или PIN для шлагбаума. Для парковок без автоматического шлагбаума — оплата паркомата через приложение. Push-уведомление за 15 минут до истечения оплаченного времени с предложением продлить прямо из уведомления (UNNotificationAction).
Дополнительные функции
Недавно посещённые парковки — автоматически из истории заказов. Избранные — ручное добавление. Синхронизация через backend, доступно на всех устройствах пользователя. Уведомление «ваша любимая парковка у офиса освободилась» — геофенс + наблюдение за available > 0 через WebSocket. Пользователь подписывается на конкретную парковку. Indoor-навигация для крупных ТЦ: фото схемы парковки с описанием «въезд со стороны ТЦ, этаж -2, сектор C». Более продвинутый вариант — WiFi fingerprinting или BLE-маяки.
Подробнее о геофенс-уведомлениях
Геофенс — это виртуальный периметр вокруг выбранной парковки. Когда пользователь входит в зону 500 м, приложение проверяет доступность мест через WebSocket и отправляет push, если место освободилось. Это работает только при активном интернете и включённом GPS.
Процесс работы и сроки
- Анализ требований и прототип UX/UI (1-2 недели)
- Разработка backend (агрегация данных, WebSocket) (2-3 недели)
- iOS и Android приложения на SwiftUI/Jetpack Compose (3-5 недель)
- Интеграция с API парковок (1-2 недели)
- Подключение платежей (1 неделя)
- Тестирование и релиз в App Store и Google Play (1-2 недели)
- Документация и 3 месяца гарантийной поддержки
Срок разработки: от 8 до 14 недель. Стоимость рассчитывается индивидуально в зависимости от функциональности и интеграций. Наш опыт: 5+ лет разработки мобильных решений, 20+ проектов по парковкам в Европе и СНГ. Гарантируем актуальность данных и стабильную работу под нагрузкой. Получите консультацию по вашему проекту — мы оценим сроки и бюджет за 2 дня.







