API v1

Veículos — iOS

vehicles/VehiclesViewController · vehicleCell Equivalente Android: GridFragment (vehicles)

Lista de veículos cadastrados na empresa, com busca por placa/cor e seleção de placa para agendar checklist. Distinto do Grid de Viagens — este módulo lista os veículos em si.

Migração pendente para v1: diferente do Android (já em /v1/vehicles), o iOS ainda consome o endpoint legado GET https://api.monisat.online/allVehicles/{company_id}. A chamada v1 (https://api.monisystem.com/v1/vehicles) já existe no arquivo, porém comentada (listAllVehicles()). Item de paridade a concluir.

Arquivos

vehicles/
├── VehiclesViewController.swift  · lista, busca e seleção de placa
└── vehicleCell.swift             · célula da tabela

Fluxo

EtapaDetalhe
CarregamentolistVehicles() usa id_empresa_selected (UserDefaults) e chama o endpoint legado. Skeleton (SkeletonView) enquanto carrega.
ModeloMapeia placa, cor etc. para Vehicle; lista exibida em UITableView.
Seleção de placaseeMoreTapped abre o popup com plates = vehicles.map { $0.plate } para agendar checklist (scheduleChecklist(for:on:)).

Busca por Placa

O UISearchBar filtra a lista em memória por placa (via PlateMatcher.matches) ou cor (contains). A busca de placa trata formato antigo ↔ Mercosul como equivalente (ex.: MSM2020MSM2A20) — mesma lógica do PlateUtils do Android, detalhada em Histórico.

Endpoint

GEThttps://api.monisat.online/allVehicles/{company_id}
Legado (em uso). Campos em português (placa, cor…). A versão v1 (GET /v1/vehicles, campos em inglês) está pronta no código mas comentada.
GET/v1/vehicles
Alvo da migração. Resposta desempacotada de { "data": [...] }, Bearer JWT. type == "V" para veículos, type == "R" para reboques.