Seazone · Sapron · API v1 · Manutenção Recorrente

Check-list para o desenvolvedor

7 gaps entre a API /maintenance/ e o Processo v2.1. Cada item indica se a origem do problema está no Sistema (Sapron não implementa) ou no Processo (regra ainda em aberto). Cada gap tem botão ✦ Enviar ao Claude — abre uma conversa nova com todo o contexto e os critérios de aceite prontos pra virar código.

v1.4 · 25/09/2026 4 críticos 2 médios 1 leve + 9 backlog
Progresso 0 / 7
P1 · trava ciclo P2 · gera retrabalho P3 · nice-to-have origem Sistema · Sapron não implementa origem Processo · regra em aberto
01

Gaps para implementar

Ordem de prioridade. Marque cada item conforme resolver — o progresso salva no navegador.

01 Gate "12 meses de ativação" não existe na API P1 · trava ciclo Sistema
Referência no processoSeção 02 · "Primeira execução" e "Ativado durante o bloqueio"
Como é hojeCruzamento externo com listing_status.activation_date — feito no data-lake, não no Sapron
RiscoImóvel ativado em jul/26 pode ser cobrado em set/26 sem ter 12m
Endpoint sugeridoGET /api/v1/maintenance/?property_min_age_months=12 como filtro nativo
Critério de aceite
02 Sem motor único das 4 perguntas do gate P1 · trava ciclo Sistema
Referência no processoSeção 03 · "Já foi lançado? — 4 perguntas, nessa ordem"
Como é hojeCada pergunta consulta fonte diferente sem orquestração. Reflexo: 74% de cancelamento no monitor da Central
Perguntas1) idade · 2) item no cadastro · 3) despesa no ciclo · 4) manutenção sem despesa
Endpoint sugeridoPOST /api/v1/maintenance/preview-cycle retorna quem entra, quem barra e em qual pergunta parou
Critério de aceite
03 Cadência ter-qui-sáb não é disparada pelo sistema P1 · trava ciclo Sistema Processo
Referência no processoSeção 04 · "3 · Cadença de comunicação"
Como é hojeManual do BackOffice. Não tem garantia de que a franquia recebeu antes do card abrir
Regra do processoTer (comunicado) · Qui (reforço) · Sáb (alerta) · 1ª seg útil (abertura). 1 mensagem por franqueado com lista de imóveis no corpo
Endpoint sugeridoPOST /api/v1/maintenance/notifications/dispatch agrupado por franchise_id
Critério de aceite
04 SLA da franquia não congela quando Manutenção atrasa P1 · trava ciclo Sistema
Referência no processoSeção 07 · "2 dias úteis · Manutenção valida — estourou, o relógio da franquia congela"
Como é hojeFranquia perde dias por atraso interno da Seazone. Não existe pausa de relógio
Regra do processoManutenção tem 2 du para validar. Após estourar, relógio da franquia pausa até devolução sair. Devolvida, mantém prazo original com piso de 3 du
Endpoint sugeridoPATCH /api/v1/maintenance/{id}/pause + campo sla_paused_at no card
Critério de aceite
05 Escalonamento D+7 / D+14 / D+21 sem regra codificada P2 · retrabalho Processo Sistema
Referência no processoSeção 05 · "Passou do prazo"
Como é hojeAPI só grava timestamp. Escalonamento é acionado no olho pelo BackOffice
BloqueioDecisão 3 do processo ainda em aberto (o que acontece depois do D+21). Sem regra, não dá pra automatizar 100%
Endpoint sugeridoGET /api/v1/maintenance/overdue?bucket=d7|d14|d21|post + webhook por bucket
Critério de aceite
06 Validação de certificado (CNPJ + RT) é 100% humana P2 · retrabalho Sistema
Referência no processoSeção 06 · "Documento regulado · RDC 52/2009 · Portaria nº 5/2017"
Como é hojeManutenção confere olho no olho. Certificado com CNPJ inativo passa se ninguém pegar
Itens obrigatóriosCaixa d'água · Dedetização — anexo com CNPJ ativo + responsável técnico registrado no conselho + data dentro do ciclo + imóvel identificado
Endpoint sugeridoPOST /api/v1/maintenance/{id}/validate-certificate — bate CNPJ na Receita e RT no conselho
Critério de aceite
07 Próxima entrada +12m: agendamento não confirmado P3 · nice-to-have Sistema
Referência no processoSeção 08 · "próxima entrada agendada no mesmo mês do ano seguinte"
Como é hojePode ser que dependa do cron mensal recriar o card. Confirmar com o dev
ObjetivoFechar um card já deixa o próximo agendado, com data prevista visível no cadastro do imóvel
Endpoint sugeridoAo mover card para finalizado, criar entrada em maintenance_schedule com due_date = today + 12 meses
Critério de aceite
02

Contexto de referência

Documentos que o dev precisa ao lado.

Fontes

Processo de Manutenção Recorrente v2.1 · 17/09/2026 — autoria Ray, revisão técnica Vinicius

API atual: https://api.sapron.com.br/api/v1/maintenance/ — hoje retorna 401 sem token

Tabela do lake que já resolve o gate 1: sirius.saprondata.listing_status — campos activation_date, churn, code (id_seazone)

Categoria de despesa conhecida: financial_expenses cat 2 (Enxoval), subcat 12 (REPOSIÇÃO), 13 (DANO). Mapear categorias de manutenção item a item

Decisões em aberto no processo (não são do dev)

Filtro de água + caixa d'água (semestral vs revisão/troca) · Cadência de comunicação (canal, remetente, texto) · O que acontece depois do D+21 · Rateio e reembolso · Fechadura eletrônica · Troca de pilhas · Regulação estadual. Enquanto essas 7 não fecharem, itens 3 e 5 do check ficam parciais.

03

Backlog adicional · análise 25/09

Achados complementares aos 7 gaps da seção 01. Aqui não há critério de aceite ainda — cada item tem botão ✦ Enviar ao Claude que abre uma conversa nova pra transformar o achado em desenho técnico (Sistema) ou rascunho de decisão de retro (Processo).

Sistema · para avaliar com o dev

Reconhecidos no §11 do processo v2.1 como "onde o sistema ainda não acompanha", mais alguns achados novos.

S1Agente de fechamento por despesa (rodando de hora em hora)

Reconhecido no §11. Despesa lançada com o item da regra deveria fechar o card em minutos, não em varredura diária. Impacto: o report da sexta sempre mostra cards "presos" que já foram executados e pagos — falso gargalo. Sugestão técnica: trigger no financial_expenses (ou webhook) que casa despesa ↔ card aberto do mesmo item/imóvel/ciclo e move pra "Finalizado".

S2Upload de evidência com campos estruturados

Antes de agente de visão computacional (§11), uma etapa intermediária mais barata: no upload, exigir tipo=conclusão|parcial, data_servico e cnpj_prestador. Faz 70% da conferência humana virar checklist e alimenta o gap 06 (validação de certificado).

S3Anexo NÃO deve mover card sozinho para "Aguardando aprovação"

Hoje qualquer arquivo (§6, "Atenção") joga o card na fila de aprovação, mesmo serviço pela metade. Consequência: Manutenção precisa devolver muita coisa que nunca deveria ter chegado. Sugestão: botão explícito "concluído" separado do upload — anexo sem esse clique fica em "Em execução".

S4Bloqueio 01/12 – 31/03 nativo no calendário

§11 admite: "varredura roda o ano inteiro; contorno = pausar as regras em 01/12 e reativar em 01/04". Sem flag nativa isso vira exceção manual todo ano. Sugestão: campo maintenance_rule.freeze_window que bloqueia abertura e vencimento no intervalo definido.

S5Fonte única de elegibilidade (Airbnb vs. cadastro de amenities)

Dupla verdade hoje: cadastro do Sapron (78% falso, §11) vs. anúncio do Airbnb (fonte real, §7.4). Deprecar o campo de amenities para manutenção recorrente ou sincronizar automático via data lake (listing_status) toda madrugada. Enquanto existirem duas fontes, indefinidos vão continuar aparecendo.

S6Métricas de saúde do ciclo dentro do Sapron

Hoje o report da sexta é montado fora do sistema. Faltam nativos: tempo médio abertura→evidência por franquia, tempo médio evidência→aprovação, % de ciclos concluídos por item. Sugestão: endpoint GET /api/v1/maintenance/metrics?franchise_id=&cycle=.

S7Itens "Pendente" ganham visibilidade sem virar card

Senha de fechadura, pilhas, filtro de água, caixa d'água (§7.1) hoje somem porque não abrem card — não existe métrica de "eventos ignorados". Sugestão: contador leve no cadastro do imóvel (checkouts desde a última troca de senha, meses desde o último alerta de bateria). Sem card, mas visível.

S8Régua de atraso: envio automático até D+21 (não só D+7)

Complemento do gap 05 da seção 01. Hoje o §9 diz que D+7 é lembrete automático do Sapron, mas D+14 (BackOffice aciona o gestor) e D+21 (Coordenação assume) dependem de alguém ver o report da sexta. Enquanto o processo não fecha a tratativa do D+21 (decisão 3), pelo menos os disparos de notificação nos buckets deviam ser nativos.

S9Simulação de carga: setembro tem ~3.300 cards em 1 semana

Cálculo rápido: 3 itens simultâneos em setembro (AC · filtro exaustor · filtro água) × ~1.100 imóveis pós-gate = ~3.300 cards abertos numa única segunda-feira. Pedido ao dev: confirmar se a UX de listagem (filtro, busca, paginação, permissões por franquia) e o backend aguentam esse pico antes do escalar. Se não, priorizar antes de setembro/2027.

Processo · para próxima retro (não é do dev)

Compartilhado com o dev só como contexto — enquanto essas decisões não fecharem, alguns gaps da seção 01 ficam parciais.

P1Levantamento municipal da RDC 52/2009 e Portaria nº 5/2017

§11: "ninguém checou a exigência praça a praça". Risco jurídico latente pra Seazone, não pra franquia. Varredura por município nas cidades top-10 antes da próxima retro tira o processo do escuro.

P2Interface com Central de Ocorrências para franquias reincidentes

Franquia que estoura prazo repetidamente hoje não gera ocorrência. Sem consequência real depois do D+21, a régua de atraso é cosmética. Retro decide: reincidência = ocorrência Média? Grave? Direta?

P3Tratativa do D+21 (decisão 3 em aberto)

§9 diz "Coordenação assume o caso" — sem definir como. Liga, escala, reatribui, multa? Sem padrão, cada caso vira negociação. Bloqueio direto do gap 05 da seção 01.

P4SLA de resposta do gestor da franquia após D+14

BackOffice aciona o gestor no D+14, mas o processo não define quantos dias o gestor tem pra destravar. No D+21 ninguém sabe se ele foi omisso ou se estava tratando.

P5Cadência ter-qui-sáb pode ser overkill pra franquia pequena

3 avisos por franqueado antes de abrir card faz sentido pra quem tem 30 imóveis. Quem tem 1-2 recebe spam. Vale testar: cadência única (só sábado) pra franquia com <5 imóveis e medir se atrasa mais.

P6Fluxo financeiro quando o custo é do proprietário

§7.8: "segue o caminho de qualquer manutenção do imóvel". Mas isso não fecha o card automaticamente, porque a despesa não é de manutenção recorrente. Regra precisa ser explícita — hoje esse caso trava o gap S1 (agente de fechamento).

P773 imóveis "indefinidos" só no ar-condicionado

§7.4 aceita indefinido sem tratativa. Multiplicando por 10 itens do ano = ~700 pontos-cegos/ano. Retro decide: quem cura indefinido, em quanto tempo, com que fonte?

P8Report da sexta: só Ray e Carol veem

§10. Se Carol viaja e Ray está em call, ninguém age até segunda. Cópia pra Coordenação (dona das regras) + SLA de leitura resolvem sem custo.

P9Sem KPI de cabeceira para o processo

Qual é a meta? % de ciclos completos no mês? Tempo médio? Sem número, "está indo bem" é opinião. Sugestão: definir 2 KPIs na próxima retro e ligar no hub de KPIs.

v1.4 · 25/09/2026 · Ray (BackOffice Franquias) · complemento técnico ao Processo de Manutenção Recorrente v2.1. · Seção 03 adicionada em 25/09 (análise de melhorias sistema × processo).