Машины (паспорт авто)
Раздел «Машины» — это реестр всех автомобилей, которые когда-либо обслуживались в вашем сервисе. Здесь хранится паспорт каждой машины: номер, VIN, пробег, дата техосмотра, индекс здоровья по системам, фотографии, документы (OBD-отчёты и прочие), история нарядов и рекомендации механика. Данные копятся автоматически — каждый новый наряд обновляет историю авто.
Как открыть
В нижней навигации кабинета → вкладка Ещё → пункт Машины (URL /vehicles).
Карточка конкретного авто открывается из:
- списка машин (тап по строке),
- карточки клиента (вкладка «Авто»),
- любого наряда (поле «Автомобиль» → тап по названию авто).
Что на экране
Список «Машины» (/vehicles)
Страница состоит из трёх зон сверху вниз:
- Баннер «Просрочено по ТО» — жёлтая плашка с количеством машин, у которых ТО просрочено, и именем самой просроченной. Скрыта, если всё в порядке.
- Строка поиска — фильтрует список на экране по номеру, марке, модели или VIN.
- Список авто — каждая строка: миниатюра фото (или иконка-заглушка), название («Марка Модель»), госномер · год, значок отзывной кампании (если есть), цветной кружок с индексом здоровья (зелёный ≥80 / жёлтый ≥60 / красный <60).
Карточка авто (/vehicle/:id)
Прокручиваемая страница, секции сверху вниз:
| Секция | Что внутри |
|---|---|
| Кольцо здоровья | Большой анимированный круг с числом 0–100 и подписью «Отличное» (≥90) / «Хорошее» (≥70) / «Требует внимания» (≥40) / «Критично» (<40); тап — задать вручную |
| Чип «Следование ТО» | Процент выполненных рекомендаций (зелёный/жёлтый/красный); появляется при наличии данных |
| Здоровье по системам | Карточка с полосами прогресса по каждой системе (Тормозная, Двигатель, Подвеска и т. д.); иконка-карандаш открывает редактор |
| Строка «Следующее ТО» | Дата и пробег следующего ТО; красная если просрочено |
| Строка статистики | Число визитов и суммарная выручка по авто |
| Название авто | Марка + Модель крупно |
| Владельцы | Список клиентов, привязанных к авто; звёздочка — основной владелец |
| Рекомендации | Аккордеон с невыполненными рекомендациями этого авто |
| Отзывные кампании | Строка «не проверялось» с кнопкой «Проверить»; после проверки — список кампаний или «не найдено» |
| Фотографии | Горизонтальная лента миниатюр; тап — полноэкранный просмотр |
| Документы | Чипы-фильтр «Все / OBD-диагностика / Документы» + список файлов |
| Данные | Таблица: Гос. номер, VIN, Год, Двигатель, Топливо, Цвет, Пробег, Техосмотр до |
| Ценообразование | Надбавка к ставке труда (только если есть право просматривать цены) |
| История обслуживания | Список нарядов по этому авто со статусом |
Каждая кнопка и действие
Экран «Список авто»
| Элемент | Где | Что делает | Кому доступно |
|---|---|---|---|
| Строка поиска «Поиск: номер, марка, VIN» | Вверху списка | Фильтрует авто на экране (не запрос к серверу) по госномеру, марке, модели или VIN | Все |
| Тап по строке авто | Список | Открывает карточку авто /vehicle/:id | Все |
| Долгое нажатие на строку авто | Список | Включает режим множественного выбора: строка выделяется, в заголовке появляется счётчик «Выбрано: N» | Все |
| Тап по строке в режиме выбора | Список | Добавляет/снимает выбор с авто | Все |
| Иконка корзины в заголовке (режим выбора) | AppBar | Открывает диалог подтверждения массового удаления | customers:update |
| Иконка × «Отмена» в заголовке (режим выбора) | AppBar | Выходит из режима выбора без удаления | Все |
| Кнопка «+ Авто» (FAB) | Правый нижний угол | Открывает форму добавления нового авто | customers:update |
| Баннер «Просрочено по ТО» | Вверху, над поиском | Тап переходит на карточку самого просроченного авто | Все |
| Кнопка «Показать ещё» | Внизу списка | Загружает следующую страницу авто (серверная пагинация) | Все |
| Значок отзывной кампании (мегафон) | В строке авто, справа от названия | Только индикатор (не кнопка); подсказка «Авто под отзывной кампанией» при долгом нажатии | Все |
| Кнопка «Повторить» | Экран ошибки загрузки | Перезагружает список | Все |
| Свайп-обновление (pull-to-refresh) | Список | Перезагружает список с сервера | Все |
Карточка авто — заголовок и меню
| Элемент | Где | Что делает | Кому доступно |
|---|---|---|---|
| Кнопка-принтер Флаер авто | AppBar, справа (classic-скин) | Открывает экран печати PDF-флаера /flyers/vehicle/:id | Все |
| Меню «⋮» → Объединить дубликат | AppBar, справа (classic-скин) | Открывает пикер авто для объединения дубликатов; выбранное авто «поглощается» текущим (история переносится) | customers:update |
| Кнопка Записать (aurora-скин) | Hero-блок карточки | Открывает экран записи клиента /booking-admin | Все |
| Кнопка Флаер авто (aurora-скин) | Hero-блок карточки | Открывает экран печати PDF-флаера /flyers/vehicle/:id | Все |
Карточка авто — кольцо здоровья и системы
| Элемент | Где | Что делает | Кому доступно |
|---|---|---|---|
| Тап по кольцу здоровья | Центр экрана | Открывает диалог «Индекс здоровья» (ввод числа 0–100 вручную) | Все |
| Иконка-карандаш (если системы оценены) / иконка-диаграмма «Оценить по системам» (если нет) в блоке Здоровье по системам | Карточка систем | Открывает панель «Здоровье по системам» (редактор состояния каждой системы) | Все |
| Тап по фото системы в ленте | Блок систем | Открывает полноэкранный просмотр фото | Все |
Карточка авто — владельцы
| Элемент | Где | Что делает | Кому доступно |
|---|---|---|---|
| Кнопка Владелец (+ человек) | Карточка «Владельцы» | Открывает пикер клиентов для привязки владельца к авто | customers:update |
| Тап по имени владельца | Строка владельца | Переходит на карточку клиента /client/:id | Все |
| Иконка телефона у владельца | Строка владельца | Запускает звонок на номер клиента | Все |
| Кнопка «+ Клиент» в пикере владельцев | Диалог выбора клиента | Открывает форму создания нового клиента прямо внутри пикера | customers:update |
Карточка авто — рекомендации
| Элемент | Где | Что делает | Кому доступно |
|---|---|---|---|
| Тап по аккордеону «Рекомендации» | Карточка рекомендаций | Раскрывает/скрывает список рекомендаций | Все |
| Иконка галочки у рекомендации | Строка рекомендации | Отмечает рекомендацию выполненной; исчезает из карточки авто | Все |
| Тап по строке рекомендации | Строка рекомендации | Переходит на экран «Рекомендации» с фильтром по этому авто | Все |
| Кнопка Все рекомендации авто | Низ аккордеона | Переходит на экран «Рекомендации» с фильтром по этому авто | Все |
Карточка авто — отзывные кампании
| Элемент | Где | Что делает | Кому доступно |
|---|---|---|---|
| Кнопка Проверить | Строка «Отзывные кампании не проверялись» | Запрашивает сервер и базу NHTSA (по VIN); показывает список кампаний или «Открытых отзывных кампаний не найдено» | Все |
| Тап по кампании (заголовок) | Список отзывных кампаний | Раскрывает подробности: описание, способ устранения, дата, источник | Все |
| Кнопка Проверить при ошибке | Строка «Не удалось проверить отзывные кампании» | Повторяет запрос | Все |
Карточка авто — фотографии
| Элемент | Где | Что делает | Кому доступно |
|---|---|---|---|
| Кнопка Добавить (фото авто) | Заголовок секции «Фотографии» | Открывает панель загрузки фото (выбор из галереи / камера) | customers:update |
| Тап по миниатюре фото | Лента фото | Открывает полноэкранный просмотр; можно листать все фото авто свайпом | Все |
| Долгое нажатие по миниатюре фото | Лента фото | Открывает диалог подтверждения удаления фото | customers:update |
| Кнопка «Отметить на фото» в полноэкранном просмотре | Галерея | Открывает редактор аннотаций (рисование/пометки поверх фото) | customers:update |
| Свайп влево/вправо в полноэкранной галерее | Галерея | Переключает между фото авто | Все |
Карточка авто — документы
| Элемент | Где | Что делает | Кому доступно |
|---|---|---|---|
| Кнопка Добавить (документ) | Заголовок секции «Документы» | Открывает выбор категории (OBD-отчёт / Документ), затем файловый пикер | customers:update |
| Чип-фильтр Все | Фильтры документов | Показывает все документы | Все |
| Чип-фильтр OBD-диагностика | Фильтры документов | Показывает только OBD-отчёты | Все |
| Чип-фильтр Документы | Фильтры документов | Показывает только обычные документы | Все |
| Тап по строке документа | Список документов | Открывает документ во внешнем приложении/новой вкладке браузера | Все |
| Иконка корзины у документа | Строка документа (при праве) | Открывает диалог подтверждения удаления документа | customers:update |
| Иконка «Открыть» у документа | Строка документа (без права редактирования) | Открывает документ во внешнем приложении | Все |
Карточка авто — данные (характеристики)
| Элемент | Где | Что делает | Кому доступно |
|---|---|---|---|
| Иконка-карандаш Изменить данные | Рядом с заголовком «Данные» | Открывает диалог редактирования всех полей авто (марка, модель, год, VIN, номер, двигатель, цвет, топливо) | customers:update |
| Кнопка Записать пробег | Рядом с заголовком «Данные» | Открывает диалог ввода текущего пробега; единица (км/мили) — по единице одометра этой машины | customers:update |
Карточка авто — ценообразование и история
| Элемент | Где | Что делает | Кому доступно |
|---|---|---|---|
| Кнопка Изменить (ценообразование) | Заголовок секции «Ценообразование» | Открывает панель «Ценообразование» — надбавка к ставке труда авто | pricing_settings:update + доступ к ценам |
| Тап по строке наряда в истории | Список «История обслуживания» | Переходит на карточку наряда /order/:id | Все |
Форма создания авто
| Элемент | Где | Что делает | Кому доступно |
|---|---|---|---|
| Поле Клиент · Необязательно | Форма «Новое авто», верх | Тап — открывает пикер клиентов; выбранный клиент станет владельцем авто | customers:update |
| Кнопка «+ Клиент» в пикере | Пикер клиентов | Создаёт нового клиента прямо внутри пикера, сразу привязывает | customers:update |
| Поле Гос. номер | Форма «Новое авто» | Ввод госномера; буквы переводятся в заглавные | customers:update |
| Иконка-лупа «Найти по гос-номеру» | Справа в поле «Гос. номер» | Ищет авто в реестре Transpordiamet (только при активном EE-модуле); заполняет марку/модель/год/VIN/топливо/техосмотр | customers:update, модуль ee.transport |
| Поле VIN · Необязательно | Форма «Новое авто» | Ввод VIN; 17 символов — автоматически запускает декодирование | customers:update |
| Иконка камеры «Сканировать VIN камерой» | Справа в поле VIN | Открывает камеру для сканирования VIN-кода; автозаполняет поле и декодирует | customers:update |
| Иконка «Декодировать по VIN» | Справа в поле VIN | Вручную запускает декодирование VIN → заполняет марку/модель/год/госномер | customers:update |
| Поле Марка | Форма «Новое авто» | Ввод марки (Toyota, BMW…) | customers:update |
| Поле Модель | Форма «Новое авто» | Ввод модели (Camry, X5…) | customers:update |
| Поле Год · Необязательно | Форма «Новое авто» | Ввод года выпуска (числом) | customers:update |
| Поле Пробег | Форма «Новое авто» | Ввод текущего пробега; суффикс единицы («км»/«мили») соответствует выбранной ниже единице одометра | customers:update |
| Переключатель Единица одометра — км / мили | Форма «Новое авто», под полем «Пробег» | Единица как на щитке машины (мильный щиток в км-сервисе и наоборот). По умолчанию — единица организации; числа не пересчитываются. Подпись: «Как на щитке; по умолчанию — как в настройках сервиса» | customers:update |
| Раскрытие Дополнительно | Форма «Новое авто» | Показывает дополнительные поля: Двигатель, Цвет, Топливо, Техосмотр до, Фото авто | customers:update |
| Поле Двигатель | «Дополнительно» | Ввод объёма или типа двигателя | customers:update |
| Поля Цвет и Топливо | «Дополнительно» | Цвет кузова и вид топлива | customers:update |
| Поле Техосмотр до | «Дополнительно» | Тап — открывает выбор даты (календарь); × справа — очищает дату | customers:update |
| Плитка «+ Фото авто» (камера) | «Дополнительно» | Открывает загрузку фото; фото сохранятся в авто после его создания | customers:update |
| Иконка × на превью фото | Каждое предпросматриваемое фото | Удаляет это фото из очереди загрузки (авто ещё не создано) | customers:update |
| Кнопка Создать | Низ формы | Создаёт авто; при совпадении номера с существующим — диалог дубликата | customers:update |
| Свайп вниз по форме (drag handle) | Верх панели | Закрывает форму без сохранения | Все |
Экран «Отзывные кампании» (Recall Campaigns)
Доступен через настройки / навигацию платформы.
| Элемент | Где | Что делает | Кому доступно |
|---|---|---|---|
| Кнопка Новая кампания (FAB) | Правый нижний угол | Открывает форму создания кампании | customers:update |
| Свайп-обновление (pull-to-refresh) | Список кампаний | Перезагружает список | Все |
| Поле Заголовок | Форма «Новая кампания» | Название кампании (обязательно) | customers:update |
| Поле Марка | Форма | Марка затронутых авто (обязательно) | customers:update |
| Поле Модель · Необязательно | Форма | Модель (если кампания затрагивает конкретную модель) | customers:update |
| Поля Год с и Год по | Форма | Диапазон годов выпуска затронутых авто | customers:update |
| Поле Описание · Необязательно | Форма | Текст пояснения к кампании | customers:update |
| Сегментная кнопка Инфо / Важно / Критично | Форма | Выбор серьёзности кампании | customers:update |
| Кнопка Сохранить | Низ формы | Создаёт кампанию; авто с совпадающими марка/модель/год автоматически получают значок кампании | customers:update |
Диалоги и подэкраны
Диалог «Индекс здоровья» (ручная установка)
Открывается тапом по кольцу здоровья в карточке авто.
- Поле «Балл 0–100» — ввод числа. Принимает только целые от 0 до 100; любое другое значение диалог проигнорирует.
- Кнопка «Отмена» — закрывает без сохранения.
- Кнопка «Сохранить» — сохраняет балл; кольцо обновляется.
Панель «Здоровье по системам»
Открывается иконкой-карандашом / «+ Оценить» в блоке «Здоровье по системам». Занимает 85–95% экрана.
Системы (12 штук): Тормозная система, Рулевое управление, Шины и колёса, Подвеска, Двигатель, Трансмиссия, Топливная система, Система охлаждения, Электрика, Освещение, Выхлопная система, Кузов.
Для каждой системы:
- Три точки-статуса (зелёная / жёлтая / красная) — выбор состояния: Норма / Внимание / Критично. Тап по точке переключает.
- Иконка «В рекомендации» (лампочка) — появляется только при статусе «Внимание» или «Критично»; тап создаёт рекомендацию из этой системы. Если рекомендация уже есть — снек «Уже в рекомендациях».
- Поле заметки «Описание состояния (необязательно)» — текстовое поле для описания проблемы, 1–3 строки.
- Лента фото системы + плитка с иконкой камеры — тап по плитке открывает загрузку фото для этой системы; тап по существующему фото — полноэкранный просмотр; кнопка × на фото — диалог подтверждения удаления фото.
- Кнопка «Сохранить» (внизу панели) — сохраняет все статусы и заметки; общий индекс здоровья пересчитывается на сервере.
Диалог «Записать пробег»
Открывается кнопкой Записать пробег в секции «Данные».
- Поле «Пробег» с суффиксом единицы одометра машины («км»/«мили») — вводится число. Принимает только неотрицательное целое.
- Кнопка «Отмена» — закрывает без сохранения.
- Кнопка «Сохранить» — записывает пробег; поле «Пробег» в данных авто обновляется.
Диалог «Изменить данные» авто
Открывается иконкой-карандашом рядом с заголовком «Данные».
Поля: Марка, Модель, Год (числовое), Гос. номер, VIN, Двигатель, Цвет, Топливо, Единица одометра (переключатель км / мили — как на щитке машины; по умолчанию совпадает с единицей организации).
- Кнопка «Отмена» — закрывает без сохранения.
- Кнопка «Сохранить» — сохраняет изменения.
Пустое поле = удалить значение (сервер примет null).
Панель «Ценообразование» авто
Открывается кнопкой Изменить в секции «Ценообразование» (видна только при наличии права и доступа к ценам).
- Поле «Надбавка к ставке труда» — процент (например, +15 = надбавка 15%, −10 = скидка 10%). Значение аддитивное: складывается с базовой ставкой сервиса.
- Кнопка «Отмена» — закрывает без сохранения.
- Кнопка «Сохранить» — сохраняет процент.
Диалог дубликата (при создании авто)
Появляется автоматически, если авто с таким госномером уже есть в базе.
- Показывает: госномер и название найденного авто.
- Кнопка «Отмена» — возвращает в форму без действий.
- Кнопка «Всё равно добавить» — создаёт второе авто с тем же номером (потом можно объединить).
- Кнопка «Использовать его» — закрывает форму и возвращает существующее авто как выбранное.
Диалог «Объединить дубликат»
Открывается через меню «⋮» → Объединить дубликат в AppBar карточки авто.
- Появляется пикер — выбираете авто-дубль из списка.
- Диалог подтверждения: «Перенести все наряды/записи/осмотры этого авто в выбранное и удалить дубликат?»
- Кнопка «Отмена» — отменяет. - Кнопка «Объединить дубликат» — переносит историю, дубль удаляется.
Диалог «Добавить владельца»
Открывается кнопкой Владелец в карточке «Владельцы».
Пикер со списком клиентов (имя, телефон). Можно найти нужного прокруткой или создать нового:
- «+ Клиент» — открывает форму создания клиента; после создания клиент сразу предлагается для привязки.
- Тап по клиенту в списке — привязывает его к авто. Первый привязанный становится основным (звёздочка).
Диалог удаления (общий)
Используется для удаления: выбранных авто, фото, документа.
- Заголовок с вопросом (например, «Удалить фото?», «Удалить документ?»).
- Кнопка «Отмена» — закрывает без удаления.
- Кнопка «Удалить» — безвозвратно удаляет объект.
Диалог массового удаления авто
Открывается иконкой корзины в режиме множественного выбора.
- Заголовок «Удалить выбранные» + текст «Удалить N авто?»
- Кнопка «Отмена» — отменяет.
- Кнопка «Удалить» — удаляет все выбранные авто.
Панель выбора категории документа
Открывается при нажатии Добавить в секции «Документы».
- OBD-отчёт — для файлов диагностики OBD (PDF или фото).
- Документ — для прочих документов (PDF или фото).
- Свайп вниз или drag-handle — закрывает без выбора.
После выбора категории открывается системный файловый пикер (форматы: PDF, JPG, PNG).
Экран «Флаер авто» (/flyers/vehicle/:id)
Открывается кнопкой-принтером в AppBar карточки авто. Показывает PDF-флаер с индексом здоровья и данными авто для передачи клиенту. Содержит кнопки выбора дизайна и печати/отправки.
Что если…
Список авто пуст («Авто пока нет»)
Никто ещё не добавил автомобили. Нажмите + Авто и введите хотя бы госномер или VIN.
Список пуст после поиска («ничего не найдено»)
Поисковый запрос не совпал ни с одним авто. Попробуйте другой номер или часть марки. Поиск работает только по уже загруженному списку — прокрутите до нужного авто или нажмите Показать ещё.
Кольцо здоровья показывает «Индекс здоровья пока не рассчитан»
Для авто ещё не проводился осмотр (DVI) и не выставлялся балл вручную. Нажмите на кольцо, чтобы задать балл, или откройте «Здоровье по системам» и расставьте статусы систем — индекс посчитается сам.
«Владелец не привязан» в карточке авто
Авто создано без клиента. Нажмите кнопку Владелец и выберите или создайте клиента.
«Не удалось загрузить авто» на экране карточки
Нет соединения с сервером. Нажмите Повторить.
«По VIN ничего не найдено»
VIN не распознан базой декодирования. Введите марку, модель и год вручную.
«Не удалось проверить отзывные кампании»
Нет интернета или сервис NHTSA недоступен. Нажмите Проверить ещё раз позже.
Вопрос-ответ
В: Как добавить новый автомобиль? О: Нажмите кнопку + Авто в правом нижнем углу экрана «Машины». Введите хотя бы госномер или VIN — остальные данные можно заполнить позже. Если в Эстонии включён модуль транспортного реестра, номер подтянет марку/модель/год автоматически.
В: Как привязать авто к клиенту? О: Откройте карточку авто → секция «Владельцы» → кнопка Владелец → выберите клиента из списка. Можно привязать несколько клиентов (например, муж и жена). Первый привязанный автоматически становится основным.
В: Что такое индекс здоровья? О: Число от 0 до 100, которое показывает общее состояние машины. Рассчитывается по результатам осмотров: механик выставляет статус каждой системы (Норма / Внимание / Критично), сервер взвешивает и выводит итог. Чем ближе к 100 — тем лучше. Вы также можете задать его вручную, нажав на кольцо.
В: Как удалить несколько авто сразу? О: Удерживайте палец на любой строке в списке — список переключается в режим выбора. Отметьте нужные авто тапом, затем нажмите иконку корзины в верхней панели и подтвердите удаление.
В: Откуда берутся отзывные кампании? О: Из двух источников: реестр вашего сервиса (кампании, которые вы создали сами) и международная база NHTSA (по VIN авто). Нажмите Проверить в карточке авто — система сравнит VIN и марку/модель/год с обоими реестрами.
В: Зачем объединять дубликаты? О: Иногда одно и то же авто заводится дважды (например, при сканировании с ошибкой). Функция Объединить дубликат переносит всю историю нарядов и записей из дубля в основное авто и удаляет копию — список очищается, история сохраняется.
В: У машины мильный щиток, а сервис в километрах. Что выбрать? О: В форме добавления авто (или в диалоге «Изменить данные») есть переключатель Единица одометра — поставьте «мили». Пробег этой машины будет показываться и вводиться в милях, как на щитке; остальные машины продолжат считаться в единице организации. Числа не пересчитываются — вы вводите значения сразу в нужной единице. По умолчанию единица берётся из настроек сервиса.