🧪 OndeVou Cilindros
Sistema completo para gestão de cilindros de gases medicinais e industriais.
Cada cilindro tem um QR Code único que registra toda sua vida útil:
situação (cheio/vazio) e localização (interno/rota/cliente/emprestado).
🚀 10 Operações
📦 6 Principais
🤝 2 Empréstimos
🔄 2 Envase
🏷️ QR Code Único
📍 4 Localizações
⚪ 2 Situações
📄 App 0006
⚡ Diferenciais Tecnológicos
Tecnologia de ponta para gestão de cilindros
Identificação Única
Cada cilindro recebe um QR Code único (CPF do cilindro) que o acompanha por toda a vida útil.
Operação Offline
Registre operações mesmo sem internet e sincronize ao reconectar.
Rastreabilidade Completa
Histórico de todas as movimentações do cilindro: produção, entregas, recolhimentos e retornos.
📊 Conceitos Fundamentais
🏷️ QR Code Único (CPF do Cilindro)
Cada cilindro recebe um QR Code exclusivo no momento do cadastro. Esse ID nunca muda e acompanha o cilindro por toda sua vida útil.
qr_code_scanner
ID: 12345 • OX-123 • Cadastrado desde 2020
Todas as movimentações são registradas neste ID, criando um histórico completo e rastreável.
🔄 Estados do Cilindro
Todo cilindro tem 2 atributos que mudam conforme as operações:
Situação
🟢 CHEIO
🔴 VAZIO
Localização
🏢 INTERNO
🚚 ROTA
👥 CLIENTE
🤝 EMPRESTADO
💰 LOCADO
📌 REGRA DE OURO: Toda operação altera pelo menos um desses estados.
🔄 Fluxo Operacional Completo
🏷️ QR Code Único (CPF do Cilindro)
Durante o cadastro, cada cilindro recebe um QR Code exclusivo que o acompanha por toda sua vida útil.
Diagrama do Fluxo
🔲 QR Code único
graph TD
subgraph Ciclo["Ciclo Completo do Cilindro"]
A[("📦 Cadastro")] -->|Gera QR Code| B[("🏢 Interno + Vazio")]
B -->|2. Produção/Envase| C[("🏢 Interno + Cheio")]
C -->|3. Carregamento| D[("🚚 Rota + Cheio/Vazio")]
D -->|4. Entrega| E[("👥 Cliente + Vazio")]
E -->|5. Recolhimento| D
D -->|9. Retorno| B
E -.->|6. Empréstimo| F[("🏠 Emprestado")]
F -.->|8. Devolução| D
F -.->|7. Conversão| G[("💰 Locado")]
G -.->|8. Devolução| D
end
style A fill:#1e293b,stroke:#22d3ee,stroke-width:2px
style B fill:#1e293b,stroke:#3b82f6
style C fill:#1e293b,stroke:#22c55e
style D fill:#1e293b,stroke:#f97316
style E fill:#1e293b,stroke:#22c55e
style F fill:#1e293b,stroke:#eab308
style G fill:#1e293b,stroke:#f59e0b
🔲 QR Code único
🟢 Cheio
🔴 Vazio
🏢 Interno
🚚 Rota
👥 Cliente
🏠 Emprestado
💰 Locado
info Ver detalhes das 9 operações
clique para expandir
1
Cadastro + QR Code: Cilindro cadastrado → recebe QR Code único → Interno + Vazio
2
Produção/Enchimento: Enche o cilindro → Interno + Cheio
3
Carregamento: Cilindro sai para rota → Rota + Cheio
4
Entrega: Cliente recebe Cheio, devolve Vazio → Cliente + Vazio
5
Recolhimento: Pega o que o cliente devolveu → Rota + Cheio/Vazio
6
Empréstimo: Cliente não tem vazio → cilindro fica 🏠 Emprestado
7
Conversão para Locação: Escritório transforma empréstimo em contrato → 💰 Locado
8
Devolução: Cliente devolve o cilindro → Rota + Cheio/Vazio
9
Retorno: Cilindro volta ao estoque → Interno + Cheio/Vazio
📱 QR Code - O CPF do Cilindro
qr_code_scanner
Um código, uma vida inteira
Cada cilindro recebe um QR Code único no momento do cadastro. Esse código é como um CPF.
- 🔢 Número único: Gerado no cadastro, nunca mais muda
- 📝 Registro permanente: Todas as movimentações ficam vinculadas a este código
- 🔍 Rastreabilidade total: Qualquer operação é registrada
- 📊 Histórico completo: Data, operação, responsável, localização anterior/nova
2026-03-01 08:30 - Cadastro - Vazio Interno
2026-03-02 10:15 - Enchimento - Cheio Interno
2026-03-03 07:45 - Carregamento - Cheio Rota
2026-03-03 14:20 - Entrega - Vazio Cliente
2026-03-04 09:10 - Recolhimento - Vazio Rota
2026-03-04 18:30 - Retorno - Vazio Interno
🔵 Operações Principais
Ciclo básico do cilindro: do cadastro ao retorno
📋
1. Cadastro de Cilindros
📊 Transição de Estados
Antes:
—
Depois:
🔴 VAZIO
🏢 INTERNO
Observação: O cilindro ganha um QR Code único que nunca mais muda.
Fluxo de Cadastro de Cilindros
graph TD
A[Iniciar Cadastro] --> B{Qual a propriedade?}
B -->|Próprio| C[Cilindro Próprio]
B -->|Terceiro| D[Cilindro de Terceiro]
C --> E[Atribuir QR Code Único]
D --> E
E --> F[Informar Referência]
F --> G[Selecionar Tipo de Gás]
G --> H[Definir Aplicação]
H --> I[Escolher Capacidade]
I --> J{É de Terceiro?}
J -->|Sim| K[Vincular Cliente]
J -->|Não| L[Marcar como Frota Própria]
K --> M[Informar Fabricante]
L --> M
M --> N[Definir Validade]
N --> O[Selecionar Endereço]
O --> P[Finalizar Cadastro]
P --> Q[Status: Vazio + Interno]
style Q fill:#1e293b,stroke:#ef4444
🟢 Próprio
🟠 Terceiro
🔴 Vazio
🏢 Interno
📋 Regras
✅
QR Code único gerado automaticamente
✅
ID do cilindro nunca mais muda (CPF do cilindro)
✅
Estado inicial: Vazio + Interno
🏭
2. Lote de Produção (Enchimento)
📊 Transição de Estados
Antes:
🔴 VAZIO
🏢 INTERNO
Depois:
🟢 CHEIO
🏢 INTERNO
Pré-requisito: Cilindro deve estar 🔴 VAZIO e 🏢 INTERNO
Fluxo de Enchimento
graph TD
A[Cilindro Vazio + Interno] --> B{Cilindro próprio?}
B -->|Sim| C[Pode encher]
B -->|Não| D[Terceiro: verificar autorização]
D -->|Autorizado| C
D -->|Não autorizado| E[❌ Bloquear]
C --> F[Registrar Enchimento]
F --> G[Cilindro Cheio + Interno]
style A fill:#1e293b,stroke:#ef4444
style G fill:#1e293b,stroke:#22c55e
🔴 Vazio
🟢 Cheio
🏢 Interno
📋 Regras
✅
Cilindro deve estar 🔴 VAZIO
✅
Cilindro deve estar 🏢 INTERNO
🔍
Cilindros de terceiros precisam de autorização
📊 Transição de Estados
Antes:
⚪ Cheio ou Vazio
🏢 INTERNO
Depois:
⚪ Cheio ou Vazio
🚚 ROTA
Muda apenas a localização (de interno para rota)
Fluxo de Carregamento
graph TD
A[Cilindro Interno] --> B{Tipo de carga}
B -->|Cheio| C[Carregar normalmente]
B -->|Vazio| D{Permite vazio?}
D -->|Sim| C
D -->|Não| E[❌ Bloquear]
C --> F{Validade ok?}
F -->|Dentro| G[Carregar]
F -->|Vencido| H{Permite vencido?}
H -->|Sim| G
H -->|Não| I[❌ Bloquear]
G --> J[Cilindro em Rota]
style A fill:#1e293b,stroke:#3b82f6
style J fill:#1e293b,stroke:#f97316
🏢 Interno
🚚 Rota
📋 Regras
✅
Cilindro deve estar 🏢 INTERNO
⚡
Carregar VAZIO: Só se romaneio permitir
⚠️
Carregar VENCIDO: Só se romaneio permitir
📊 Transição de Estados
Antes:
⚪ Cheio ou Vazio
🚚 ROTA
Depois:
🔴 VAZIO
👥 CLIENTE
Cliente recebe cheio e devolve vazio (troca)
Fluxo de Entrega
graph TD
A[Cilindro em Rota] --> B[Entregar ao Cliente]
B --> C{Cliente tem vazio?}
C -->|Sim| D[Recolher Vazio]
C -->|Não| E[Criar Empréstimo?]
E -->|Sim| F[Registrar Empréstimo]
E -->|Não| G[Entregar só Cheio]
D --> H[Cilindro: Cliente + Vazio]
F --> H
G --> H
style A fill:#1e293b,stroke:#f97316
style H fill:#1e293b,stroke:#22c55e
🚚 Rota
👥 Cliente
🔴 Vazio
📋 Regras
✅
Cilindro sai de 🚚 ROTA e vai para 👥 CLIENTE
✅
Cliente fica com cilindro 🔴 VAZIO após a troca
🤝
Se cliente não tem vazio, pode gerar empréstimo
📊 Transição de Estados
Antes:
⚪ Cheio ou Vazio
👥 CLIENTE
Depois:
⚪ Cheio ou Vazio
🚚 ROTA
Recolhe do cliente para o caminhão (volta para rota)
Fluxo de Recolhimento
graph TD
A[Cilindro com Cliente] --> B[Recolher do Cliente]
B --> C{Status ao recolher}
C -->|Cheio| D[Registrar como Cheio]
C -->|Vazio| E[Registrar como Vazio]
D --> F[Cilindro: Rota + Cheio]
E --> F[Cilindro: Rota + Vazio]
style A fill:#1e293b,stroke:#22c55e
style F fill:#1e293b,stroke:#f97316
👥 Cliente
🚚 Rota
🟢 Cheio
🔴 Vazio
📋 Regras
✅
Cilindro sai de 👥 CLIENTE e volta para 🚚 ROTA
✅
Pode recolher cheio ou vazio
📊 Transição de Estados
Antes:
⚪ Cheio ou Vazio
🚚 ROTA
Depois:
⚪ Cheio ou Vazio
🏢 INTERNO
Prestação de contas da viagem - todos os cilindros voltam para interno
Fluxo de Retorno
graph TD
A[Cilindros em Rota] --> B[Bipar todos os cilindros]
B --> C[Registrar Retorno]
C --> D[Separar Cheios/Vazios]
D --> E[Cheios: Interno Cheio]
D --> F[Vazios: Interno Vazio]
style A fill:#1e293b,stroke:#f97316
style E fill:#1e293b,stroke:#22c55e
style F fill:#1e293b,stroke:#ef4444
🚚 Rota
🏢 Interno
🟢 Cheio
🔴 Vazio
📋 Regras
✅
Cilindro sai de 🚚 ROTA e volta para 🏢 INTERNO
✅
Mantém a situação (cheio/vazio) com que retornou
🤝 Empréstimos e Devoluções
Quando o cliente não tem vazio para troca, o sistema gerencia empréstimos e devoluções
📊 Transição de Estados
Antes:
🟢 CHEIO
🚚 ROTA
Depois:
🟢 CHEIO
🤝 EMPRESTADO
Fluxo de Empréstimo
graph TD
A[Entrega sem vazio] --> B[Criar Empréstimo]
B --> C[Cilindro Sai Cheio]
C --> D[Cliente Fica com Cheio]
D --> E[Status: Emprestado]
style A fill:#1e293b,stroke:#22c55e
style E fill:#1e293b,stroke:#eab308
🟢 Cheio
🚚 Rota
🤝 Emprestado
🔄
8. Devolução de Empréstimo
📊 Transição de Estados
Antes:
🔴 VAZIO
🤝 EMPRESTADO
Depois:
🔴 VAZIO
🚚 ROTA
Fluxo de Devolução
graph TD
A[Cliente Devolve Vazio] --> B[Registrar Devolução]
B --> C[Cilindro em Rota]
C --> D[Pronto para Retorno]
style A fill:#1e293b,stroke:#eab308
style C fill:#1e293b,stroke:#f97316
🤝 Emprestado
🚚 Rota
🔴 Vazio
🔄 Ciclo de Envase
Processo especial para clientes que querem reabastecer seus próprios cilindros
📥
9. Recolhimento para Envase
📊 Transição de Estados
Antes:
🔴 VAZIO
👥 CLIENTE
Depois:
🔴 VAZIO
🚚 ROTA
Cliente quer reabastecer o próprio cilindro
Fluxo de Recolhimento para Envase
graph TD
A[Cliente quer envase] --> B[Recolher Cilindro]
B --> C[Cilindro em Rota]
C --> D[Transportar para Fábrica]
style A fill:#1e293b,stroke:#22c55e
style C fill:#1e293b,stroke:#f97316
👥 Cliente
🚚 Rota
🔴 Vazio
📊 Transição de Estados
Antes:
🟢 CHEIO
🚚 ROTA
Depois:
🟢 CHEIO
👥 CLIENTE
Fluxo de Entrega Pós-Envase
graph TD
A[Cilindro Cheio na Fábrica] --> B[Carregar para Entrega]
B --> C[Entregar ao Cliente]
C --> D{Devolver mesmo?}
D -->|Sim| E[Cliente recebe o mesmo]
D -->|Não| F[Cliente recebe outro]
E --> G[Status: Cliente + Cheio]
F --> G
style G fill:#1e293b,stroke:#22c55e
🟢 Cheio
🚚 Rota
👥 Cliente
🎯 Opcional: Cliente pode solicitar o MESMO cilindro de volta.
🛡️ Robustez: Quando o Fluxo Ideal Não é Seguido
O sistema não para quando a operação sai do trilho — ele registra, corrige e mantém a rastreabilidade
🎯
O sistema foi projetado para o mundo real.
Se a equipe não executar todas as etapas, o sistema corrige, registra e continua funcionando.
⚠️
Na prática, acontece:
- 📦 Cilindro já está cheio mas não foi registrado
- 🚛 Entrega foi feita mas não foi bipada
- 📍 Cilindro mudou de localização sem registro
- 🔄 Operador pulou etapas por urgência
✅
O sistema permite corrigir:
- 🔄 Alterar situação (CHEIO ↔ VAZIO) manualmente
- 📍 Alterar localização (INTERNO ↔ ROTA ↔ CLIENTE ↔ EMPRESTADO)
- 🔍 Toda alteração fica registrada para auditoria
- 📊 Gera indicador de desvio operacional
🔍
Toda correção fica registrada — quem fez, quando, onde (GPS), valores anteriores e novos.
📊 Estoque
graph TD
A[Estoque Interno] --> B[Cilindros em Localização Interno]
B --> C[Cheios]
B --> D[Vazios]
C --> E[Prontos para Carregamento]
D --> F[Aguardando Enchimento]
style A fill:#1e293b,stroke:#3b82f6
🏢 Interno
🟢 Cheio
🔴 Vazio
🚚
12. Estoque do Romaneio
graph TD
A[Romaneio Ativo] --> B[Cilindros em Rota]
B --> C[Aguardando Entrega]
B --> D[Aguardando Recolhimento]
B --> E[Aguardando Retorno]
style A fill:#1e293b,stroke:#f97316
🚚 Rota
🔄
13. Estoque Recolhidos Envase
graph TD
A[Recolhidos para Envase] --> B[Aguardando Enchimento]
B --> C[Enchimento Concluído]
C --> D[Pronto para Entrega]
style A fill:#1e293b,stroke:#ec4899
🔄 Envase
📝 Inventário
📋
14. Inventário de Cilindros
graph TD
A[Criar Inventário] --> B[ID Único + Descrição]
B --> C[Bipar Cilindros com QR Code]
C --> D[Registrar Situação Atual]
D --> E[Cheio]
D --> F[Vazio]
E --> G[Histórico Salvo]
F --> G
G --> H[Consulta por Inventário]
style A fill:#1e293b,stroke:#0d9488
style H fill:#1e293b,stroke:#0d9488
📝 Inventário
🟢 Cheio
🔴 Vazio
🎯 IMPORTANTE: Inventário NÃO altera estado do cilindro - apenas REGISTRA o momento.
🏆 Propriedade Intelectual
Marca Registrada
OndeVou.com®
Propriedade Intelectual Assegurada
Processo INPI:
908765967
Titular:
ONDEVOU TECNOLOGIA LTDA
CNPJ:
17.058.605/0001-36
Classificação:
Classe 42 - Serviços de TI