beginner
fluxo-troca
operator-app
tecnicos

Fluxo Interno de Troca

Guia passo a passo para tecnicos em tempo integral usando o Swap Queue do operator-app para trocar pacotes em campo

Levy Fleets TeamMay 18, 20267 min read

Fluxo Interno de Troca

Este e o fluxo que tecnicos usam para trocar um pacote em um veiculo em campo. Esta no operator-app sob o tab Swap Queue.

Objetivo: troca em 90 segundos ou menos, sem entrada manual, com trilha de auditoria e mensagem clara se algo der errado.

Antes de Sair

Garanta que voce tem:

  • Um veiculo para trocar - da Swap Queue, com motivo real
  • Um pacote carregado - de um slot ou ja no veiculo
  • operator-app atualizado com o tab Swap Queue (Configuracoes -> Sobre)
  • Conectividade de rede - troca em si tolera offline, mas carga da fila e conclusao precisam de rede

O Tab Swap Queue

Abra operator-app e toque em Swap Queue. Lista ranqueada de veiculos. Cada linha:

  • ID do veiculo e modelo
  • SoC e SoH atuais (ou "n/a")
  • Motivo:
    • Low SoC - bateria abaixo do limite
    • Peak shortfall - modelo preve queda abaixo de 20% no pico
    • SoH rotation - SoH do pacote abaixo de 60
  • Distancia
  • Botao Start Swap

Lista se reordena conforme localizacao e motor de recompensas.

Passo 1: Iniciar a Troca

Toque Start Swap no veiculo proximo.

App abre evento de troca em servidor e destrava o compartimento via comando IoT (ou chave AXA).

Se falhar, ve erro com motivo - normalmente sinal celular. Aguarde e tente novamente, ou chave manual.

Passo 2: Escanear o Pacote Antigo

Tela seguinte pede para escanear o pacote a remover. O QR e o adesivo branco/preto.

App verifica que QR escaneado bate com pacote atribuido. Se errado, "Pack not in vehicle". Troca nao prossegue, compartimento permanece destravado.

Por Que o Scan do Antigo Importa

Garante que o pacote que estamos aposentando do veiculo e realmente o removido. Sem isso, historico SoH perderia precisao.

Passo 3: Trocar Fisicamente

Puxe o antigo. Coloque o carregado. Mecanismo de trava do veiculo permanece inalterado.

Passo 4: Escanear o Novo Pacote

Escaneie o QR do novo pacote instalado.

App verifica dois itens:

  1. Estado charged - se ainda charging ou maintenance, troca rejeita
  2. Nao instalado em outro veiculo - protege contra dupla instalacao

Se ambos passam, botao Complete aparece.

Passo 5: Concluir

Toque Complete.

App escreve linha swap_events, decrementa inventario, atualiza battery_packs.vehicle_id dos dois, recalcula autonomia esperada.

Compartimento retrava. Veiculo volta ao status anterior e some da fila.

Tempo total para troca limpa: cerca de 60-90 segundos.

Comportamento Offline

Se perder celular durante troca:

  • Antes de Start Swap - fila do cache local; navegar mas nao iniciar
  • Apos Start Swap, antes de Complete - sessao mantida no servidor; tap local entra em fila e replica ao reconectar
  • Se outro tecnico trocou enquanto isso - replay falha graciosamente ("Swap superseded")

O Que Acontece com o Pacote Antigo

Apos troca, antigo esta em returned e nao em slot. Opcoes ao voltar:

  • Em slot empty -> charging + plug
  • Defeito -> maintenance
  • SoH caiu abaixo de 40 -> sistema ja roteou para recycled

Lendo um Evento de Troca

Cada troca escreve swap_events, visivel em:

  • Pagina do veiculo -> Historico de Servico
  • Pagina do pacote -> Historico de Trocas
  • Resumo de performance do tecnico

Contem: quem, quando, onde (GPS), duracao, ambos IDs, station_id.

Problemas Comuns

  • "Pack not in vehicle" - QR errado
  • "Pack is in use" - pacote ja em outro veiculo
  • "Pack not charged" - novo nao em charged
  • Comando unlock expirou - celular fraco; espere 60s
  • Troca presa em in_progress - sessao expira em 30 min; inicie nova depois