Desconto de Selfie de Capacete
Um ciclista toca em Verificar capacete antes do desbloqueio, a app captura um selfie ao vivo, o sistema armazena, e o ciclista recebe um desconto na taxa de desbloqueio. A verificacao tambem alimenta a pontuacao por viagem como o sinal "capacete verificado".
Nota critica de nome
A tabela de selfies de capacete e rider_helmet_selfies. Foi renomeada de helmet_verifications para evitar colisao com a tabela do pipeline de visao computacional (um conceito diferente). Se voce esta lendo documentos internos mais antigos que referenciam helmet_verifications no contexto de Pontuacao, trate esse nome como obsoleto - a tabela canonica e rider_helmet_selfies.
Como funciona para o ciclista
- No desbloqueio, a app verifica uma verificacao ativa de capacete.
- Se nao existe ou expirou, a tela mostra botao Verificar capacete com previa do desconto.
- Tocar abre a camera. O ciclista se captura com capacete.
- O selfie sobe para o bucket privado e uma linha
rider_helmet_selfiese criada compassed_at=now()(v3.0 confia na captura ao vivo; v3.1 adicionara verificacao CV). - O desconto e aplicado imediatamente na taxa de desbloqueio.
O que e armazenado
| Campo | Valor |
|---|---|
id | UUID PK |
customer_uuid | FK clientes |
ride_uuid | FK opcional para a viagem |
storage_path | Caminho no bucket helmet-verifications |
passed_at | Timestamp de aceitacao |
ttl_expires_at | Quando para de ser valida |
consumed_at | Quando o desconto foi aplicado |
method | self_capture (v3.0) ou cv_verified (v3.1+) |
Nota novamente: o nome da tabela e rider_helmet_selfies, nao helmet_verifications. O bucket de storage e helmet-verifications, o que e ok - o bucket e a tabela sao deliberadamente nomeados diferentemente.
TTL e reuso
- TTL padrao: 24 horas, editavel.
- Um selfie verificado permanece usavel para varios desbloqueios ate
ttl_expires_at, a menos queconsumed_atesteja definido (modo uso unico). - Apos
ttl_expires_at + 30 dias, o arquivo de imagem e removido pelo cron a menos que um recurso aberto o referencie.
Integracao com precos
O desconto e aplicado na camada de taxa de desbloqueio atraves do pipeline padrao de precos. A funcao ponte apply-uplift.ts e o lugar unico onde modificadores de preco relacionados a pontuacao sao computados.
| Configuracao de subconta | Efeito |
|---|---|
helmet_discount_unlock_fee_cents | Centavos de desconto na taxa de desbloqueio |
helmet_ttl_hours | Janela de validade |
helmet_single_use | Se verdadeiro, a verificacao e consumida no primeiro desbloqueio |
Ciclistas Iniciantes
Um selfie bem-sucedido durante o nivel Iniciante (viagens 1-3) desbloqueia vantagens de nivel Prata para o ciclista pelo resto do periodo de Iniciante.
O que a formula de pontuacao faz com o sinal
O termo "capacete verificado" vale 10 pontos de 100. Isso e adicional ao desconto - os dois efeitos sao deliberadamente independentes.
Armazenamento e privacidade
- Selfies vivem em bucket Supabase privado.
- Nao executamos reconhecimento facial.
- Imagens sao excluidas 30 dias apos
ttl_expires_at. - A Levy nunca compartilha selfies com seguradoras, cidades ou autoridades exceto por mandado.
v3.0 vs v3.1
| Aspecto | v3.0 (hoje) | v3.1 (planejado) |
|---|---|---|
| Verificacao | Confia em metadados de captura ao vivo | Executa pass de CV na imagem |
| Risco | Mais facil de fraudar | Mais dificil de fraudar |
Superficie de API
| Endpoint | Proposito |
|---|---|
POST /api/mobile/rider/helmet-selfie | Subir selfie |
GET /api/cron/helmet-verification-cleanup | Purga de TTL+30d |
O que o operador pode fazer
- Visualizar verificacoes ativas no perfil do ciclista.
- Forcar-expirar uma verificacao.
- Ajustar desconto e TTL em Configuracoes > Selfie de capacete.
O que o ciclista nao pode fazer
- Reusar selfie de outro ciclista - chaveado por
customer_uuid. - Subir imagem da galeria - fluxo forca camera ao vivo.
- Pular fluxo de capacete se limite de acelerador (passo 4) ou bloqueio (passo 6) esta ativo.
Proximo
Veja Niveis de Recompensa para como o desconto complementa vantagens de nivel.