Коротко
Сравнивать парковочные системы по количеству пунктов в презентации опасно. У двух поставщиков могут быть одинаковые слова — «распознавание номеров», «аналитика», «интеграция», «умные табло» — но совершенно разная глубина. В одном случае это скриншот и ручная операция, в другом — связанный контур с журналом, правами, повторной доставкой и проверяемым результатом.
Поэтому начинать нужно не с вопроса «какие функции есть», а с пяти событий, которые должны пройти через будущую систему:
- камера перестала присылать достоверный статус;
- машина заняла место с нарушением;
- зона стала недоступной;
- внешняя СКУД повторила запрос после таймаута;
- оператор вручную изменил состояние или открыл проезд.
Если поставщик может показать полный путь каждого события — источник, решение, состояние интерфейса, аудит и восстановление после сбоя — перед вами система, которую можно проверять. Если ответ ограничивается общими словами, риск проявится уже после монтажа.
Сначала определите класс решения
Под «парковочной системой» рынок объединяет несколько разных продуктов:
- въездные стойки, шлагбаумы, кассы и билеты;
- контроль доступа по ГРЗ, карте или QR;
- платёжный сервис;
- видеоаналитику свободных мест;
- парковочную навигацию;
- операторский центр и диспетчеризацию;
- верхний программный слой, который связывает места, доступ, оборудование и аналитику.
Механизированный паркинг, который физически перемещает автомобиль, — другой класс. Для обычного многоуровневого паркинга нужен точный scope: какие функции остаются у существующей АПС, какие — у СКУД, что делает камера, а что становится источником истины в верхнем ПО.
Запишите границу в одной фразе. Например: «система должна получать готовые результаты камер, вести статус каждого места, информировать водителя, обрабатывать инциденты и отдавать доступность внешней АПС». Такая формулировка полезнее требования «внедрить умную парковку».
Критерий 1. Есть ли модель каждого места
Общий счётчик въезда и выезда отвечает на вопрос «сколько автомобилей прошло через границу». Он не отвечает, где стоит машина, заняла ли она два места, доступно ли место МГН и можно ли доверять остатку при отказе камеры.
Попросите показать карточку конкретного места:
- код, тип, зона и уровень;
- текущий статус и время наблюдения;
- источник статуса;
- связанный кадр;
- история переходов;
- признак «вне эксплуатации»;
- состояние
unknown, которое не подменяется «свободно».
В CShark эта модель подтверждена таблицей ParkingSpot, API мест, историей SpotEvent и операторской картой. Но точность конкретного объекта всё равно зависит от камер и схемы привязки.
Критерий 2. Откуда берётся статус и кто отвечает за распознавание
Не смешивайте три слоя:
- камера или аналитический сервис анализирует изображение;
- адаптер принимает vendor payload и приводит его к общей схеме;
- бизнес-система решает, как изменить состояние, создать инцидент или обновить табло.
Попросите поставщика назвать поддержанные протоколы и показать сырой пример, нормализованное событие и результат. Уточните, где хранится фото и что произойдёт с большим base64 payload.
CShark принимает готовые результаты IPTronic HTTP push, сохраняет тяжёлое медиа в S3 и публикует типизированное событие. Он не должен рекламироваться как самостоятельная нейросеть распознавания.
Критерий 3. Как система ведёт себя при неопределённости
Зрелая парковка различает:
free— есть свежее подтверждение свободы;occupied— есть подтверждение занятости;out_of_service— место административно выведено;unknown/no_data— достоверного наблюдения нет.
Спросите: «Камера молчит 15 минут. Что увидит оператор, водитель и табло?» Неправильный ответ — «место останется свободным». Правильный ответ описывает TTL, health, пересчёт агрегата и публичное представление без технических подробностей.
Критерий 4. Есть ли рабочий процесс инцидента
Красный маркер на схеме — ещё не управление. Нужны состояния, ответственный, SLA, доказательства и история:
новый → в работе → решён/игнорирован.
Проверьте, можно ли восстановить:
- какое событие создало задачу;
- кто и когда взял её;
- что видел оператор;
- почему было принято решение;
- как система поняла, что причина исчезла.
Критерий 5. Одна ли точка правды у API, карты и табло
Если каждое табло считает свободные места самостоятельно, показатели разойдутся. Если внешняя АПС получает другой срез, чем оператор, спор неизбежен.
Проверка проста: одновременно откройте API доступности, операторский интерфейс и экран. Затем:
- займите место;
- переведите другое место в ремонт;
- закройте зону;
- сделайте один проезд недостоверным.
Критерий 6. Как моделируется парковочный маршрут
Стрелка, нарисованная в шаблоне, не равна навигации. Для маршрута нужны узлы, рёбра, направления, стоимость, закрытия и опубликованная версия графа.
Уточните:
- есть ли draft и publish;
- проверяется ли связность;
- как обрабатываются рампы и повороты;
- что произойдёт при закрытом ребре;
- можно ли воспроизвести версию, по которой был выдан маршрут.
CShark хранит версионируемый граф и рассчитывает маршрут к назначенному месту. На реальном объекте граф обязательно калибруется и проходит маршрутную приёмку.
Критерий 7. Отделены ли протоколы оборудования от бизнес-логики
Если ядро знает vendor-поля каждого устройства, замена камеры или табло превращается в переписывание продукта. Более устойчивый вариант — Device Gateway: драйвер понимает производителя, а ядро получает общие события и команды.
Попросите показать:
- каталог классов устройств и драйверов;
- команду с уникальным ID;
- стадии
accepted/executed/failed; - timeout и повтор;
- эмулятор для приёмки без железа;
- процедуру подключения нового vendor.
Критерий 8. Что происходит при обрыве связи
Требуйте отдельные ответы для трёх отказов:
- камера ↔ Gateway;
- Gateway ↔ шина;
- Core ↔ база/интерфейс.
В CShark событие после приёма Gateway сначала фиксируется в SQLite outbox, а затем отправляется в JetStream. При недоступности NATS очередь остаётся на диске и досылается после восстановления. JetStream хранит события для replay; текущая конфигурация задаёт семь суток.
Это не означает бесконечную устойчивость: ёмкость диска, окно replay и RPO/RTO должны стать параметрами проекта.
Критерий 9. Насколько честна интеграция
Слово «API» ничего не говорит без контрактов. Нужны:
- OpenAPI и versioning;
- scopes и отзыв ключа;
- IP allowlist;
- idempotency при повторе;
- webhook delivery log и replay;
- чёткое владение полями;
- negative cases 401/403/404/409/422.
CShark предоставляет API доступности, мест, назначений и внешних сессий. Но готовый generic API не равен сертифицированному connector PERCo, ABLOY или конкретной версии 1С.
Критерий 10. Права, аудит и защита данных
Проверьте не только наличие ролей, но и реальные запреты:
- оператор без
visits:readне видит ГРЗ и исходное фото; - пользователь одного объекта не узнаёт о сущности другого;
- секрет показывается только при выпуске;
- изменение роли инвалидирует старую сессию;
- ручное действие содержит автора, время и объект.
Критерий 11. Можно ли развернуть и восстановить систему
Спросите не только «есть ли Docker», а:
- какая ОС и архитектура поддержаны;
- нужен ли внешний registry в runtime;
- кто и как накатывает миграции;
- создаётся ли backup перед обновлением;
- проверялся ли restore в отдельную БД;
- как возвращается предыдущий код на новую схему;
- где хранятся медиа.
CShark имеет offline-поставку для Ubuntu 24.04 AMD64, раздельные роли БД, подписанный kit и сценарии backup/restore. TLS, firewall и физическая сегментация всё равно настраиваются в проекте.
Критерий 12. Как проходит приёмка
Хорошее ТЗ заканчивается не словом «внедрить», а наблюдаемыми тестами. Минимальная матрица:
- положительный и отрицательный статус места;
- пропавшая камера;
- повтор события;
- недоступная шина;
- закрытая зона;
- неверный API key;
- повтор webhook;
- восстановление из backup;
- права каждой роли;
- одинаковые показания API/UI/табло.
Для каждого теста зафиксируйте вход, ожидаемый результат, метрику времени, источник доказательства и ответственного за приёмку.
Как сравнить поставщиков за две недели
Дни 1–2. Зафиксируйте границу проекта, роли и пять критических событий.
Дни 3–5. Отправьте одинаковую матрицу данных: число объектов/уровней/мест, камеры, проезды, сеть, СКУД/АПС, retention и ограничения ИБ.
Дни 6–8. Проведите сценарное демо на одинаковом наборе: событие, дубль, отказ, восстановление. Не принимайте заранее записанное видео вместо управляемого теста.
Дни 9–10. Проверьте API, права, журналы и документацию поставки.
Дни 11–12. Сформируйте gap list: готово, требует настройки, требует разработки, невозможно/не входит.
Дни 13–14. Согласуйте пилот и критерии выхода. Цена без этой границы несопоставима.
FAQ
Чем Parking BMS отличается от въездной АПС?
АПС обычно управляет допуском, шлагбаумом, билетами и оплатой. Parking BMS связывает внутренние места, зоны, оборудование, инциденты, табло и аналитику. Они могут быть одной системой или интегрированными контурами.
Облако или on-prem?
Выбор зависит от ИБ, связности, компетенций и SLA. On-prem снижает runtime-зависимость от внешнего облака, но переносит на владельца ответственность за сервер, backup, TLS, обновления и мониторинг.
Можно ли оставить существующие камеры и шлагбаумы?
Иногда да, если известны протоколы, версию встроенного ПО и доступна безопасная точка интеграции. Решение принимается после обследования и стендового теста, а не по бренду на корпусе.
Как проверить точность контроля мест?
Сформировать размеченную контрольную выборку по времени суток и условиям, определить классы ошибок, сравнить событие камеры и физическое состояние, отдельно измерить пропуски, ложные изменения и задержку.
Какие данные нужны для первого обследования?
Планы уровней, число и типы мест, перечень камер/контроллеров, схема сети и проездов, роли, интеграции, требования retention/ИБ, журнал типовых проблем и ожидаемые KPI.
Граница применимости к CShark
Материал описывает проверяемый инженерный подход. Конкретный состав CShark зависит от версии, подключённых источников данных, прав, конфигурации и приёмки оборудования на объекте.
Посмотрите, какие возможности CShark доступны водителю и оператору и как они применяются на парковке, на странице возможностей системы.