Cada ordem de serviço no TradelyHQ passa por quatro status. As transições são registradas em audit_log para que você possa responder "quem mudou o quê e quando" sem precisar fazer SSH no banco de dados.
Aberta
O estado padrão na criação. Sem técnico atribuído ainda. Visível para:
- Administrador (atribuindo técnico)
- Cliente (sabe que você recebeu a solicitação)
Saia de Aberta atribuindo um técnico e mudando o status para progress (Ativa na UI).
Em espera
Use isso para "sabemos, não estamos trabalhando ativamente" — esperando peças, esperando acesso, atraso por tempo, aprovação pendente do cliente. Visível para todas as partes; conta como "em progresso" mas é marcado diferente nos painéis.
OS em Em espera por > 7 dias aparecem na aba Relatórios do administrador como um resumo "precisa de atenção".
Ativa (status='progress')
O técnico está a caminho, no local ou trabalhando. Fluxo do portal do técnico nesse status:
- Pré-chegada: fotos de entrada opcionais, instruções de direção
- Chegada: o check-in por GPS carimba lat/lng + timestamp na OS
- No local: campos de diagnóstico e reparo de conclusão, captura de despesas, upload de fotos
- Saída: captura da assinatura do cliente, fotos finais de conclusão, valor opcional de link de pagamento
- Marca (opcional): "Cotação Necessária" se o serviço vai exceder o NTE
Completa
O técnico marcou o trabalho como concluído. Disparos:
- Timestamp
completed_atdefinido - Se o modelo de pagamento do técnico é "payment_link" e ele inseriu um valor final, um rascunho de fatura é criado automaticamente em Aguardando Revisão para o proprietário autorizar
- Caso contrário, a OS aparece na sua fila Fatura Pendente para rascunho manual
- O cliente tem 3 dias úteis para assinar o relatório de conclusão (área de assinatura no portal dele). Depois disso, a OS trava automaticamente; o cliente não pode mais reabrir
Cancelada (booleano separado, não um status)
Se um serviço é cancelado antes da conclusão, defina cancelled=true com um motivo. A OS permanece na trilha de auditoria (você não apaga) mas sai das filas ativas.
Reaberta
Um cliente pode pedir revisita em uma OS concluída se for dentro de 3 dias úteis. Isso define reopened_at + reopened_reason e volta o status para progress. Após 3 dias úteis, a OS está travada e o pedido teria que virar uma OS totalmente nova.
Por que o trava de 3 dias úteis?
Para evitar o modo de falha "o cliente nunca assina o relatório de conclusão → limbo indefinido". Sem a trava, um cliente insatisfeito poderia deixar uma OS num estado nunca confirmado para sempre, bloqueando faturamento e travando relatórios de auditoria. Após 3 dias úteis, o TradelyHQ automaticamente marca a assinatura como waived e trata a OS como totalmente fechada.