Trip Manager
Android: /ui/manager/ · TripManagementFragment
Visão do gestor sobre as viagens da empresa. Exibe resumo por apólice com validação do status de vencimento e permite ações gerenciais sobre as viagens.
Validação de Apólice
A apólice da empresa é validada ao carregar o módulo. O campo expiration_days (recebido como string — converter para Int) define o estado do semáforo:
| Estado | Condição | Badge | Comportamento |
|---|---|---|---|
| ✓ Válida | expiration_days > 30 | Verde | Todas as ações habilitadas |
| ⚠ Aviso | 0 < expiration_days ≤ 30 | Amarelo | Exibe alerta mas permite continuar |
| ✗ Bloqueada | expiration_days ≤ 0 | Vermelho | Botões de ação desabilitados |
Adaptador e Lista de Viagens
O ManagerAdapter exibe viagens com contexto gerencial: motorista, status, horários e indicadores de alerta. Suporta busca e filtro por status dentro da lista carregada.
Endpoints
GET
/v1/policies
Lista apólices da empresa. O campo
expiration_days vem como string — usar expiration_days.toIntOrNull() ?: 0 para conversão segura.
GET
/v1/trips?policy_id=...
Viagens filtradas pela apólice selecionada. Retorna a lista gerenciada pelo gestor.
Ações Gerenciais
| Ação | Disponível quando |
|---|---|
| Visualizar detalhes da viagem | Sempre |
| Aprovar / Reprovar | Apólice válida ou em aviso |
| Registrar desconsideração | Apólice válida ou em aviso |
| Ações críticas | Bloqueadas com apólice expirada |
SharedPreferences relevantes
| Nome | Chave | Uso |
|---|---|---|
jwt_tokens | jwt_token | Bearer JWT para chamadas v1 |
selected_company | company_id | Empresa ativa — filtra viagens e apólices |