advanced
pontuacao-ciclista
intervencoes
limite-acelerador

Escada de Intervencao

A escada de 7 passos para ciclistas inseguros - do aviso in-app ao banimento permanente, e exatamente como cada passo alcanca o veiculo.

Levy Fleets TeamMay 18, 202612 min read

Escada de Intervencao

Quando a pontuacao de um ciclista cai, o motor de intervencao percorre uma escada de 7 passos. Cada passo e graduado. Configuravel por subconta em Configuracoes > Regras da escada.

O kernel vive em src/lib/rider-score/intervention-engine.ts. O portao pre-desbloqueio e getActiveInterventionState() em src/app/api/mobile/rides/start/route.ts.

Navegacao

Edite limites em Painel > Pontuacao do Ciclista > Configuracoes > Regras da escada.

Os 7 passos

PassoGatilhoAcao
1Pontuacao rolante abaixo de 70Aviso in-app pos-viagem, sem atrito no proximo desbloqueio
22 viagens consecutivas abaixo de 60Push de alerta mais guia "Como melhorar sua pontuacao"
3Pontuacao abaixo de 50 OU nova violacao abertaForca quiz educacional de 5 perguntas antes do proximo desbloqueio
4Pontuacao abaixo de 40Limite de acelerador em modo Iniciante na proxima viagem
5Pontuacao abaixo de 30Aumento de 25% no preco nas proximas 10 viagens
6Pontuacao abaixo de 20 OU 3 violacoes nao pagasBloqueio temporario de 7 dias
7Passo 6 repete em 60 diasBanimento permanente (requer revisao de ops)

Passos 1-3 sao atrito sem impacto de desempenho. Passos 4-7 realmente restringem a viagem.

Como cada passo alcanca o ciclista

Passo 1 - Aviso in-app

Suave. Um banner aparece no detalhamento pos-viagem. Reconhecer limpa a intervencao.

Passo 2 - Push de alerta

Enviado pelo pipeline de push existente. Inclui link para o guia de melhoria.

Passo 3 - Quiz educacional

Antes do proximo desbloqueio, o ciclista deve passar em um quiz aleatorizado de 5 perguntas de um banco de 6. Opcoes embaralhadas. A chave de resposta e retornada como token HMAC-assinado para prevenir manipulacao. Passagem: 4 de 5.

Passo 4 - Limite de acelerador (Modo Iniciante)

Este passo alcanca o veiculo. Apos a criacao da viagem, o hook pos-inicio chama applyThrottleCapToVehicle() que chama src/lib/iot/disable-throttle.ts.

  • OKAI, Segway, Omni 4G: alvos para limite parcial real quando comandos por OEM estao conectados. Hoje a implementacao recai em desativacao total como limite conservador.
  • Veiculos sem suporte a comandos de acelerador pulam passo 4 e saltam para passo 5.
  • O limite e removido automaticamente quando a proxima viagem termina.

Passo 5 - Aumento de preco

Aumento de 25% nas proximas 10 viagens. consumeUpliftForRide() decrementa o contador. O aumento e mostrado claramente no desbloqueio.

Passo 6 - Bloqueio temporario de 7 dias

Portao pre-desbloqueio. O ciclista ve tela de bloqueio com motivo e horario de expiracao. Inicio de viagem bloqueado na camada API (reason='temp_lockout').

Passo 7 - Banimento permanente

Mesmo portao do passo 6, sem expiracao automatica. Passo 7 so dispara se passo 6 disparou nos ultimos 60 dias para o mesmo ciclista. Atrasado por revisao manual de ops por padrao.

Portao pre-desbloqueio

Passos 3, 4, 6 e 7 todos bloqueiam no inicio da viagem:

getActiveInterventionState(customerId, subaccountId)
  -> blocked: 'permanent_ban' | 'temp_lockout' | 'force_quiz_required'
  -> throttleCap: { mode: 'beginner' } | null
  -> upliftPct: 25 | null

Recursos pausam a escada

Apresentar recurso flipa a intervencao vinculada para status='paused_pending_appeal'.

  • Aceito: pontuacao da viagem e sobrescrita, rolante recomputa, intervencao pode fechar.
  • Rejeitado: intervencao reabre com matematica original de expiracao.

Trilha de auditoria

Cada intervencao escreve linha em score_audit_log.

Ajuste por subconta

Voce pode editar limites, contagem de viagens com aumento, duracao de bloqueio, janela de 60 dias. Voce nao pode remover um passo, mas pode efetivamente desativa-lo com limite impossivel.

O que o operador ve

  • Painel > Pontuacao > Intervencoes: lista intervencoes ativas com botao "Levantar".
  • Trilha de Auditoria: historia completa.
  • Recursos: recursos pendentes ligados a intervencoes.

O que o ciclista ve

  • O detalhamento pos-viagem mostra banner se nova intervencao foi aberta.
  • A aba inicial mostra intervencoes ativas com descricao em linguagem clara.
  • A tela pre-desbloqueio bloqueia o inicio de viagem em intervencoes duras.

Proximo

Veja Recursos e Contestacoes para lidar com a resistencia do ciclista.