Сканируй и работай
«Сканируй и работай» — ваша электронная стойка приёмки: подъехала машина, введите её госномер (или наведите камеру), и за секунду на экране появится карточка с именем клиента, уровнем его лояльности, информацией о долге, статусом записи и большой кнопкой «что делать дальше». Не нужно ничего вспоминать и искать вручную — система сама определяет ситуацию (машина в ремонте, ждёт выдачи, приехала по записи или самотёком, незнакомая) и предлагает единственно правильное следующее действие.
Как открыть
Механик: нижняя навигация → вкладка Скан (иконка сканера QR).
Владелец/приёмщик: центральная круглая кнопка Номер в нижней навигации — сразу открывает камеру (на мобайле) или экран ввода (в браузере). Также — нажав вверху экрана дашборда кнопку сканирования.
URL в браузере: /scan
Скин Aurora (оформление, которое можно включить в настройках) показывает тот же функционал в другом облике: «экран камеры» с рамкой-прицелом, анимированной линией-сканером и «выезжающим» листом результата снизу. Данные и кнопки одни и те же.
Что на экране
Классический скин
| Зона | Что там |
|---|---|
| Заголовок | «Сканируй и работай» |
| Строка ввода | Поле Гос. номер + кнопка Найти |
| Под строкой | Кнопка Сканировать камерой |
| Выпадающий список | Подсказки из базы (появляются, пока набираете) |
| Ссылка | Искать по VIN |
| Нижняя область | Карточка результата (или подсказка «введите номер») |
| Карточка: верх | Цветной баннер ситуации (иконка + подпись + текст «что делать») |
| Карточка: середина | Название авто, номер, год, кольцо здоровья, блок клиента, баннер долга, баннер отзывных кампаний, баннер «узкого места», строка наряда, строка записи |
| Карточка: низ | Большая кнопка главного действия + дополнительные кнопки |
Скин Aurora
| Зона | Что там |
|---|---|
| Верхний хедер | Логотип CarsEXP + заголовок «Сканируй и работай» + зелёный чип «Live» |
| «Экран камеры» | Тёмный фон с рамкой-прицелом для номера и бегущей линией-сканером; подзаголовок «Наведите камеру на госномер или VIN» |
| Чип по центру | «Распознаём…» с пульсирующей точкой (пока не найдено) |
| Стеклянная панель (снизу) | Поле номера + круглая белая кнопка-захват (иконка поиска) + подсказки typeahead |
| Две кнопки под полем | Сканировать камерой и Искать по VIN |
| Лист результата (выезжает) | Чип ситуации + строка авто с кольцом здоровья + блок клиента + баннеры (долг/отзыв/узкое место) + контекстные строки (наряд/запись) + кнопки «Сканировать снова» и главного действия + ряд быстрых чипов |
Каждая кнопка и действие
Экран ввода (поиск)
| Элемент | Где | Что делает | Кому доступно |
|---|---|---|---|
| Поле Гос. номер | Верх экрана, слева | Ввод госномера вручную. Пока набираете, через 250 мс появляются подсказки из базы. При точном совпадении — поиск запускается сам. При нажатии Enter — поиск. | Все роли |
| Кнопка Найти | Верх экрана, справа от поля | Запускает поиск авто по введённому номеру. Неактивна, если поле пустое. | Все роли |
| Кнопка Сканировать камерой | Под полем ввода | Открывает полноэкранную камеру-сканер. Распознанный номер автоматически подставляется в поле и запускает поиск. На мобайле (Android/iOS): живой OCR через ML Kit. В браузере: снимок камерой + Tesseract.js. | Все роли (только если есть камера) |
| Ссылка Искать по VIN | Под кнопкой камеры | Открывает диалог ввода VIN. После ввода запускает поиск по VIN: если авто есть в базе — показывает карточку; нет — результат «Нет в базе» с авторитетными данными из NHTSA (марка, модель, год) для быстрого добавления. | Все роли |
| Строка подсказки из списка | Выпадающий список под полем | Нажать = подставить номер этой машины в поле и сразу запустить поиск. Показываются только авто из вашей базы. Список исчезает после выбора или при пустом поле. | Все роли |
Карточка результата — кнопки действий
| Элемент | Где | Что делает | Кому доступно |
|---|---|---|---|
| Большая цветная кнопка главного действия | Низ карточки | Ситуация-зависимое главное действие. Подпись и цвет меняются. Описание ниже по ситуациям. | По роли и настройке матрицы маршрутизации |
| Кнопка Открыть карточку авто | Под главной кнопкой (если авто найдено) | Переходит в полный профиль авто: история, ТО, DVI, заметки. | Все роли (если авто в базе) |
| Кнопка Создать наряд | Под главной (если главная — не создание наряда) | Открывает форму нового наряда с уже подставленными авто и клиентом. | Роли с правом создания нарядов |
| Кнопка Искать по VIN | Под главной (если авто не найдено и сервер подсказывает scan_vin) | Открывает тот же диалог VIN — уточнить машину по VIN для добавления. | Все роли |
| Чип Открыть карточку авто (Aurora, ряд быстрых) | Горизонтальный ряд внизу листа | Переход в профиль авто. Появляется только если авто найдено. | Все роли (если авто в базе) |
| Чип Открыть наряд (Aurora, ряд быстрых) | Горизонтальный ряд внизу листа | Переход в активный наряд. Появляется только если есть активный наряд. | Все роли (если есть наряд) |
| Чип Позвонить (Aurora, ряд быстрых) | Горизонтальный ряд внизу листа | Звонок владельцу авто. Появляется только если известен телефон клиента. | Все роли (если есть телефон) |
| Кнопка Сканировать снова (Aurora) | Лист результата, слева | Закрывает лист, возвращает к «экрану камеры» с анимацией. | Все роли |
Главная кнопка по ситуации
| Ситуация (баннер) | Подпись кнопки | Что открывает |
|---|---|---|
| В ремонте (оранжевый) | Открыть наряд | Текущий активный наряд авто. Механик — с фокусом на своих работах, кладовщик — на запчастях, бухгалтер — на счёте (зависит от роли и матрицы маршрутизации). |
| Готово к выдаче (зелёный) | Открыть наряд | Наряд для финального расчёта и выдачи авто. |
| Запись на сегодня (синий) — авто ещё не принято | Принять | Открывает форму нового наряда с предзаполненными авто, клиентом и привязкой к записи. |
| Запись на сегодня (синий) — уже отмечен приход | Открыть на доске | Переходит на доску заказов к статусу этого авто. |
| Без записи (синий) — авто известно в базе | Принять | Открывает форму нового наряда с предзаполненными авто и клиентом. |
| Нет в базе (красный) | Добавить авто | Открывает форму создания нового авто. Если до этого искали по VIN — марка, модель и год уже заполнены из NHTSA. |
Центральная кнопка «Номер» в нижней навигации
| Элемент | Где | Что делает | Кому доступно |
|---|---|---|---|
| Круглая кнопка Номер (иконка сканера) | Нижняя навигация, по центру | Нажать: на мобайле — сразу открывает камеру-сканер; в браузере — открывает экран ввода. | Владелец, приёмщик (owner-сборка) |
| Долгое нажатие (owner) на кнопку Номер | Нижняя навигация | Открывает шторку «Быстрые действия» с тремя пунктами: Новый наряд, Сканировать, Режим скана. | Только владелец |
| Долгое нажатие (механик) на кнопку Номер | Нижняя навигация | Открывает шторку выбора Режима сканирования: «Автоматически» или «По кнопке». | Только механик (в mechanic-сборке) |
Шторка «Быстрые действия» (owner, долгое нажатие на «Номер»)
| Элемент | Что делает |
|---|---|
| Новый наряд | Открывает форму создания наряда (без авто). |
| Сканировать | Открывает камеру (мобайл) или экран ввода (браузер) — то же, что простое нажатие. |
| Режим скана | Открывает шторку выбора режима камеры (ниже). |
Шторка «Режим сканирования»
| Элемент | Что делает |
|---|---|
| Автоматически (молния) | Камера ловит номер в живом потоке — как только прочитала стабильно 2 кадра подряд, сразу передаёт в поиск. Ничего нажимать не надо. |
| По кнопке (палец) | Камера показывает картинку, распознавание — только по нажатию Распознать. Удобно, если автомат ошибается. |
Камера-сканер номера (полноэкранный режим)
| Элемент | Где | Что делает | Кому доступно |
|---|---|---|---|
| Поток камеры с рамкой-прицелом | Весь экран | Живое изображение с белой рамкой под размер номерного знака. Наводите рамку на номер. | Все роли |
| Иконка-молния Подсветка | Верх экрана, правый угол | Включает/выключает фонарик для подсветки номера в темноте. Появляется только если камера инициализирована. | Все роли (только мобайл) |
| Кнопка Ввести вручную | Верх экрана (AppBar), правый угол | Закрывает камеру и возвращает к ручному вводу номера на экране скана. | Все роли |
| Белая пилюля с номером (авторежим) | Над нижней панелью | Показывает последний кандидат, который камера «видит» прямо сейчас (сам номер без лишних слов). Обновляется в реальном времени. | Все роли |
| Спиннер + текст «Наведите на номер — распознаю автоматически» (авторежим) | Нижняя часть экрана | Подсказка, что делать: камера работает, ждёт стабильного чтения двух одинаковых кадров подряд. Поиск запустится сам. | Все роли |
| Кнопка Распознать (FAB, ручной режим) | Нижняя часть экрана, по центру | Делает снимок и запускает OCR. Над кнопкой — подсказка «Наведите на номер и нажмите «Распознать»». Неактивна во время обработки (крутит индикатор). Только если в настройках выбран режим «По кнопке». | Все роли |
| Пилюля-подсказка «Номер не распознан — наведите чётче и повторите» (ручной режим) | Над кнопкой «Распознать» | Появляется, если снимок сделан, но номер не считан. Нажимать не нужно — просто информация. | Все роли |
| Иконка Нет доступа к камере + текст | Весь экран (замена камеры) | Если нет разрешения на камеру: показывает текст «Нет доступа к камере. Разрешите в настройках или введите номер вручную.» | Все роли |
| Кнопка Ввести вручную (при ошибке камеры) | Под текстом ошибки | Закрывает камеру и возвращает к ручному вводу. | Все роли |
Диалог «Искать по VIN»
| Элемент | Что делает |
|---|---|
| Поле VIN | Ввод VIN-кода (17 символов, вводится заглавными буквами). Подсказка: «WAUZZZ…» |
| Кнопка Искать | Запускает поиск по VIN. Если поле пустое — не реагирует. |
| Крестик (закрыть диалог) | Отменяет ввод, возвращает на экран скана без поиска. |
Экран настройки «Логика сканирования» (/settings/scan-routing)
Открывается из Настройки → Логика сканирования. Только у пользователей с правом org_settings:update.
| Элемент | Где | Что делает | Кому доступно |
|---|---|---|---|
| Кнопка Сохранить | Верхний правый угол | Отправляет изменённую матрицу роль×ситуация→действие на сервер. Неактивна во время сохранения. | Только с правом org_settings:update |
| Переключатель Авто-чек-ин при скане | Верх списка | Если включён: машина, записанная на сегодня, при скане приёмщиком автоматически отмечается как «принята» и сразу открывается наряд. Если выключен — сначала показывается карточка и кнопка «Принять». | Только с правом org_settings:update |
| Радиокнопки «После добавления авто из скана» | Под переключателем | Три варианта: Показать авто и действия (по умолчанию), Сразу новый наряд, Сразу записать приезд. Сохраняется на устройстве сразу при выборе (без кнопки «Сохранить»). | Только с правом org_settings:update |
| Карточка роли (сворачивается) | Список ролей | Нажать — разворачивает/сворачивает матрицу ситуаций для этой роли. В заголовке: имя роли + счётчик изменений или «По умолчанию». | Только с правом org_settings:update |
| Выпадающий список (DropdownButton) в развёрнутой карточке роли | По одному на каждую ситуацию | Выбор действия для пары «роль + ситуация»: Добавить авто и клиента / Открыть новый наряд / Чек-ин + открыть наряд / Отметить приход / Открыть наряд / Открыть мою работу / Открыть запчасти / Открыть счёт/оплату / Показать карточку авто / Позвать приёмщика. Если выбираете дефолт — переопределение убирается. | Только с правом org_settings:update |
Диалоги и подэкраны
Диалог ввода VIN
Открывается кнопкой «Искать по VIN» на экране скана или из карточки «Нет в базе».
- Поле VIN — 17 символов заглавными. Подсказка «WAUZZZ…» показывает формат.
- Кнопка «Искать» — запускает поиск. Пустое поле не пускает.
- Закрыть — крестик или свайп вниз (если диалог модальный).
После поиска: если авто есть в базе — карточка «найдено»; нет — карточка «Нет в базе» с данными из NHTSA (марка, модель, год) → кнопка Добавить авто открывает форму с предзаполненными полями.
Форма «Новое авто» (CreateVehicleSheet)
Открывается кнопкой Добавить авто из карточки «Нет в базе».
- Если перед этим выполнялся поиск по VIN — поля Марка, Модель, Год и VIN уже заполнены из базы NHTSA. Гос. номер заполнен тем, что вводили.
- Если искали по номеру — заполнен только Гос. номер.
- После сохранения: поиск автоматически перезапускается, карточка переключается в состояние «Найдено» со всеми действиями.
- По настройке «После добавления авто из скана»: если выбрано «Сразу новый наряд» или «Сразу записать приезд» — поверх карточки сразу открывается форма создания наряда.
Форма «Новый наряд» (CreateOrderSheet)
Открывается кнопками Принять, Создать наряд, Чек-ин + открыть наряд.
- Авто и Клиент уже подставлены из результата скана.
- Если машина была записана на сегодня — наряд автоматически привязывается к этой записи.
- После создания — сразу открывается экран наряда
/order/<id>.
Шторка «Быстрые действия» (owner, долгое нажатие)
Выезжает снизу. Содержит три пункта-строки: Новый наряд, Сканировать, Режим скана. Закрывается свайпом вниз или нажатием за пределами шторки.
Шторка «Режим сканирования»
Выезжает снизу. Два пункта: Автоматически и По кнопке. Галочка отмечает текущий режим. Выбор сохраняется на устройстве сразу. Закрывается после выбора или свайпом.
Что если…
Номер не находится
Карточка показывает красный баннер «Нет в базе» и кнопку Добавить авто. Если искали по номеру — система подсказывает попробовать Искать по VIN, чтобы уточнить машину через заводскую базу. Если искали по VIN и машины нет — данные из NHTSA (марка, модель, год) подставятся в форму добавления автоматически.
Камера не запускается / нет разрешения
Вместо изображения — иконка «фото запрещено» и текст «Нет доступа к камере. Разрешите в настройках или введите номер вручную.» Кнопка Ввести вручную закроет камеру.
Камера работает, но номер не читается (авторежим)
Пилюля показывает последний видимый кандидат. Подсказка: наведите точнее, убедитесь, что номер не закрыт, протрите его. Переключитесь в ручной режим (долгое нажатие на «Номер» → «Режим скана» → «По кнопке»).
Ошибка запроса к серверу
Вместо карточки — иконка «облако с крестом» и текст «Ошибка запроса. Проверьте вход и сеть.» В скине Aurora — дополнительная кнопка Сканировать снова для повторной попытки.
Сумма долга не видна
У механика и ролей без доступа к финансам вместо суммы показывается только количество неоплаченных счетов («Неоплаченных счетов: 2»). Сумма в евро видна только ролям с правом на финансы. Это сделано специально — данные о деньгах клиента доступны не всем.
Механик видит кнопку «Позвать приёмщика»
Если у роли нет права создавать наряды или принимать авто, главная кнопка карточки говорит Позвать приёмщика — при нажатии появляется уведомление «Сообщите приёмщику» и открывается профиль авто для справки.
Вопрос-ответ
В: Как быстрее всего принять машину, которая просто приехала без записи? О: Нажмите круглую кнопку Номер в нижней панели (на телефоне сразу откроется камера), наведите на номер. Когда номер считается, появится карточка с кнопкой Принять — нажмите её, проверьте данные в форме наряда и сохраните. Весь процесс — 5–10 секунд.
В: Машина у меня в базе, но по номеру не находится — что делать? О: Нажмите Искать по VIN, введите VIN из документов или под лобовым стеклом. Если и по VIN нет — нажмите Добавить авто: форма откроется с данными из заводской базы, проверьте и сохраните. После сохранения карточка обновится и покажет машину.
В: Почему у меня нет кнопки «Сканировать камерой»? О: Вы открываете кабинет в браузере на компьютере или камера заблокирована. В браузере OCR-камера работает иначе: нажмите Сканировать камерой — браузер попросит доступ к камере. На компьютере удобнее вводить номер вручную. Если браузер отказал в доступе — разрешите камеру в настройках браузера.
В: Мне показывает долг клиента, но без суммы. Почему? О: У вашей роли нет доступа к финансовым данным клиентов. Показывается только факт — «есть неоплаченные счета», без суммы. Если нужна сумма — уточните у владельца сервиса.
В: Что значит «узкое место» на карточке? О: Система показывает, что сейчас задерживает выдачу машины. «Готово к выдаче» (зелёное) — можно звонить клиенту. «Ждёт одобрения клиента» (жёлтое) — нужно получить добро на работы. «Ждёт деталей (нужен дозаказ)» (жёлтое) — запчасть ещё не пришла.
В: Как изменить, что открывается при скане для механика — сейчас открывается карточка, а нужен сразу список работ? О: Зайдите в Настройки → Логика сканирования. Разверните карточку роли «Механик», найдите ситуацию «В ремонте» и выберите в выпадающем «Открыть мою работу». Нажмите Сохранить. С этого момента механик при скане машины «В ремонте» сразу попадёт в наряд с фокусом на своих работах.