Pular para o conteúdo
Todos os projetos
Proprietário

Ordens de Serviço

A operação de campo — vistorias e instalações — dentro do CRM, com formulários próprios, jornadas configuráveis e agenda checada contra o deslocamento. Levou dezenas de clientes a fazer upgrade de plano.

Papel
Front-end, mais o back-end junto com o CTO
Período
Jun 2025 – Atual
Contexto
Groner · desenvolvido com o CTO
Stack
Vue.js C# Google Maps API SQL Server Quasar TypeScript .NET SQS Lambda S3

Este trabalho é propriedade da Groner. Ele é descrito em nível de arquitetura, sem código-fonte nem dados de clientes.

Resumo

  • Dezenas de clientes migraram para o plano mais caro
  • Comercial e operação no mesmo sistema
  • Agenda checada contra deslocamento e capacidade

Contexto

Depois que a venda de um sistema solar fecha, o trabalho vai para o campo: equipes de vistoria avaliam o local e equipes de instalação montam o sistema.

O problema

Essa operação ficava fora do CRM. Para gerenciá-la, os clientes contratavam uma ferramenta de campo à parte, como Auvo ou Field Control — e o histórico de cada cliente ficava dividido entre dois sistemas.

Meu papel

Construí o front-end do módulo — telas das ordens, formulários personalizados, o quadro de disponibilidade e o planejador de rotas — e atuei no back-end junto com o CTO, que escreveu a maior parte dele. Desenvolvemos o núcleo do módulo numa viagem de negócios à sede da Resolve Energia Solar, um dos maiores clientes da Groner na época, ao lado de quem ia usá-lo.

Arquitetura

Ciclo de vida e agendamento de uma ordem de serviço A ordem de serviço nasce de um negócio fechado, com um tipo de serviço e o seu formulário. Antes do agendamento, uma checagem soma o tempo de serviço (uma fórmula sobre os dados do negócio, como a quantidade de placas), o deslocamento calculado pela Distance Matrix do Google e a disponibilidade do técnico; a ordem só é aceita se couber. O técnico então se desloca, executa e preenche o formulário em campo, e um gestor valida a ordem finalizada. As mudanças de status disparam automações que atualizam o negócio, enviam mensagens no WhatsApp e chamam webhooks. Negócio venda fechada Ordem de serviço tipo · formulário Em campo deslocamento · execução Finalizada validada pelo gestor Checagem de agenda cabe no dia do técnico? Automações negócio · WhatsApp · webhooks Tempo de serviço fórmula: placas, kWp… Deslocamento Google Distance Matrix Disponibilidade expediente − agendamentos se couber mudanças de status
Uma ordem só é agendada se o tempo de serviço mais o deslocamento couber no dia do técnico.
  • Configurável por empresa. Cada tipo de serviço tem o seu formulário — fotos, checklists, assinaturas, localização e fórmulas, com campos condicionais e edição por perfil — e as suas próprias configurações de tempo e custo.
  • Automações em cada mudança de status. Por tipo de serviço e status, uma ordem pode atualizar o negócio, criar a próxima ordem, lançar no financeiro, chamar webhooks ou mandar mensagem ao cliente no WhatsApp.
  • O que é lento fica fora da requisição. Mensagens de WhatsApp, webhooks e relatórios em PDF passam por filas SQS até Lambdas, com os arquivos no S3.

Decisões-chave

  • Status personalizados sobre um ciclo de vida fixo. Cada empresa dá às etapas o nome que quiser, mas cada status corresponde a uma fase fixa — pendente, em deslocamento, no local, em execução, em validação, finalizada —, então medição de tempo, automações e relatórios funcionam igual para todos.
  • Um sistema para vendas e operação. As ordens ficam ligadas ao mesmo negócio em que o comercial trabalha, então o histórico do cliente fica num lugar só e a operação ganha de graça o resto do CRM: permissões, notificações, documentos e automações.

A parte mais difícil

Estimar quanto tempo uma ordem vai levar — e se ela cabe no dia do técnico:

  • Tempo de serviço vem do tipo de serviço: minutos-base mais uma fórmula sobre os dados do próprio negócio — quantidade de placas, potência do sistema em kWp e outros.
  • Deslocamento vem da Distance Matrix do Google, partindo da ordem anterior do técnico no dia, da base dele ou da loja.
  • Capacidade: serviço, espera e deslocamento precisam caber no expediente do técnico ou da equipe, descontado o que já está agendado; ordens que caem em horário bloqueado ou se sobrepõem a outra são recusadas.

Além disso, um planejador de rotas ordena as paradas do dia pelo caminho mais curto, mais rápido ou equilibrado — testando todas as ordens possíveis até oito paradas e usando a heurística do vizinho mais próximo acima disso.

Resultados

  • Dezenas de clientes migraram para o plano mais caro da Groner — na época, o único com Ordens de Serviço — por causa desse módulo.
  • Os clientes passaram a tocar vistorias e instalações no mesmo CRM das vendas, em vez de pagar por uma ferramenta de campo à parte.