🧪 OndeVou Cilindros

Sistema completo para gestão de cilindros de gases medicinais e industriais. Cada cilindro tem um QR Code único (como um CPF) 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, garantindo integridade dos dados.

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_scanner

🏷️ QR Code Único (CPF do Cilindro)

Durante o cadastro, cada cilindro recebe um QR Code exclusivo que o acompanha por toda sua vida útil. Todas as operações são registradas vinculadas a este código.

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/Enchimento| C[("🏢 Interno + Cheio")] C -->|3. Carregamento
🚛 Inicia Romaneio| D[("🚚 Rota + Cheio/Vazio")] D -->|4. Entrega| E[("👥 Cliente + Vazio")] E -->|5. Recolhimento| D D -->|9. Retorno
🏁 Finaliza Romaneio| 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 (pode carregar vazio se romaneio permitir)
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 (cortesia, motorista)
7 Conversão para Locação: Escritório transforma empréstimo em contrato → localização muda para 💰 Locado
8 Devolução: Cliente devolve o cilindro (encerra empréstimo ou locação) → Rota + Cheio/Vazio
9 Retorno: Cilindro volta ao estoque → Interno + Cheio/Vazio (fecha o ciclo)

qr_code_scanner 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 (produção, carregamento, entrega...) é registrada
  • 📊 Histórico completo: Data, operação, responsável, localização anterior/nova
// Exemplo de histórico de um cilindro (ID: 12345)
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.

menu_book Funcionalidades do Cadastro: Ver todas as funcionalidades →

Fluxo de Cadastro de Cilindros

graph TD A[Iniciar Cadastro] --> B{Qual a propriedade?} B -->|Próprio| C[Cilindro Próprio
Propriedade = Próprio] B -->|Terceiro| D[Cilindro de Terceiro
Propriedade = Terceiro] C --> E[Atribuir QR Code Único
Gerado automaticamente] D --> E E --> F[Informar Referência
Código do cilindro físico] F --> G[Selecionar Tipo de Gás
Oxigênio, Nitrogênio, CO2...] G --> H[Definir Aplicação
Medicinal / Industrial] H --> I[Escolher Capacidade e Unidade
Ex: 10 M3, 25 KG] I --> J{É de Terceiro?} J -->|Sim| K[Vincular Cliente Proprietário] J -->|Não| L[Marcar como Frota Própria] K --> M[Informar Fabricante] L --> M M --> N[Definir Validade
Opcional] N --> O[Selecionar Endereço
Localização física] O --> P[Finalizar Cadastro] P --> Q[Status Final:
Vazio + Interno] style Q fill:#1e293b,stroke:#ef4444 style C fill:#1e293b,stroke:#22c55e style D fill:#1e293b,stroke:#f97316 style F fill:#1e293b,stroke:#fbbf24
🟢 Próprio 🟠 Terceiro 🔴 Vazio 🏢 Interno ⭐ Referência

Campos do Formulário de Cadastro

📋 Identificação
  • * Referência: Código alfanumérico gravado no cilindro físico (extrair do equipamento)
    🎯 DICA: Para cilindros de terceiros com código ilegível, use CL-TER. Este código pode ser repetido para vários cilindros do mesmo cliente.
  • * QR Code: Gerado automaticamente no sistema
  • * Descrição: Preenchida automaticamente (Tipo + Aplicação + Capacidade)
🔧 Características Técnicas
  • * Tipo: Oxigênio, Nitrogênio, CO2, Argônio, Acetileno...
  • * Aplicação: Medicinal / Industrial
  • * Capacidade: 01, 04, 07, 09, 10, 25...
  • * Unidade: M3, KG, L
🏷️ Propriedade e Origem
  • * Propriedade: Próprio / Terceiro
  • Opcional Proprietário: Cliente dono do cilindro (se for terceiro)
  • * Fabricante: Nome do fabricante do cilindro
📍 Localização e Status
  • Opcional Validade: Data de validade do cilindro
  • Opcional Endereço: Localização física (endereço cadastrado)
  • Padrão Situação: Sempre inicia como Vazio
  • Padrão Localização: Sempre inicia como Interno
Perfis de Cadastro Rápido

Use como referência para agilizar o cadastro:

Próprio Oxigênio Medicinal 10 M3 - Fabricante X Referência: 9300 (código do cilindro)
Terceiro Nitrogênio Industrial 10 M3 - Cliente Y Referência: CL-TER (padrão para terceiros)

📋 Regras

QR Code único gerado automaticamente
ID do cilindro nunca mais muda (CPF do cilindro)
Estado inicial: Vazio + Interno
📌 Referência CL-TER pode ser repetida para cilindros de terceiros
🏭

2. Lote de Produção (Enchimento)

📊 Transição de Estados

Antes: 🔴 VAZIO 🏢 INTERNO
Depois: 🟢 CHEIO 🏢 INTERNO

Pré-requisito: Cilindro deve estar 🔴 VAZIO e 🏢 INTERNO

menu_book Funcionalidades do enchimento: Ver todas as funcionalidades →

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
⚠️ Validade vencida bloqueia enchimento (exceto se configurado)
📦

3. Carregamento

📊 Transição de Estados

Antes: ⚪ Cheio ou Vazio 🏢 INTERNO
Depois: ⚪ Cheio ou Vazio 🚚 ROTA

Muda apenas a localização (de interno para rota)

menu_book Funcionalidades do carregamento: Ver todas as funcionalidades →

Fluxo de Carregamento

graph TD A[Cilindro Interno] --> B{Tipo de carga} B -->|Cheio| C[Carregar normalmente] B -->|Vazio| D{Permite vazio no romaneio?} D -->|Sim| C D -->|Não| E[❌ Bloquear vazio] C --> F{Validade ok?} F -->|Dentro da validade| G[Carregar] F -->|Vencido| H{Permite vencido?} H -->|Sim| G H -->|Não| I[❌ Bloquear vencido] 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 tiver parâmetro "permitir vazio"
⚠️ Carregar VENCIDO: Só se romaneio tiver parâmetro "permitir vencido" (para revalidação/transferência)
📌 Romaneio tem ID único e controla todos os cilindros da viagem
🚚

4. Entrega

📊 Transição de Estados

Antes: ⚪ Cheio ou Vazio 🚚 ROTA
Depois: 🔴 VAZIO 👥 CLIENTE

Cliente recebe cheio e devolve vazio (troca)

menu_book Funcionalidades da entrega: Ver todas as funcionalidades →

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 Entregue: 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
📥

5. Recolhimento

📊 Transição de Estados

Antes: ⚪ Cheio ou Vazio 👥 CLIENTE
Depois: ⚪ Cheio ou Vazio 🚚 ROTA

Recolhe do cliente para o caminhão (volta para rota)

menu_book Funcionalidades do recolhimento: Ver todas as funcionalidades →

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 em Rota + Cheio] E --> F[Cilindro em 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 - sistema pergunta ao recolher
↩️

6. Retorno

📊 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

menu_book Funcionalidades do retorno: Ver todas as funcionalidades →

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: Estoque Interno Cheio] D --> F[Vazios: Estoque 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
📊 Em tese, deveria retornar a mesma quantidade de vazios que saíram cheios

🤝 Empréstimos e Devoluções

Quando o cliente não tem vazio para troca, o sistema gerencia empréstimos e devoluções

🤝

7. Empréstimo

📊 Transição de Estados

Antes: 🟢 CHEIO 🚚 ROTA
Depois: 🟢 CHEIO 🤝 EMPRESTADO

menu_book Funcionalidades do emprestimo: Ver todas as funcionalidades →

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

menu_book Funcionalidades da devolução de emprestimo: Ver todas as funcionalidades →

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

menu_book Funcionalidades do recolhimento para envase: Ver todas as funcionalidades →

Fluxo de Recolhimento para Envase

graph TD A[Cliente quer envase] --> B[Recolher Cilindro Específico] 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
🚚

10. Entrega Pós-Envase

📊 Transição de Estados

Antes: 🟢 CHEIO 🚚 ROTA
Depois: 🟢 CHEIO 👥 CLIENTE

menu_book Funcionalidades da entrega pós-envase: Ver todas as funcionalidades →

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 cilindro?} 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. O sistema rastreia e garante a devolução correta.

🛡️ 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 no lote de produção
  • 🚛 Entrega foi feita mas não foi bipada no app
  • 📍 Cilindro mudou de localização sem registro
  • 🔄 Operador pulou etapas por urgência ou esquecimento
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 para gestão
🔄 Alterar Situação

Corrige quando o cilindro está cheio/vazio mas não foi registrado no fluxo normal.

🔴 VAZIO 🟢 CHEIO
📍 Alterar Localização

Corrige quando o cilindro mudou de lugar sem registro no app.

🏢 INTERNO 🚚 ROTA 👥 CLIENTE 🤝 EMPRESTADO

🔍 Toda correção fica registrada — quem fez, quando, onde (GPS), valores anteriores e novos. Nada se perde.

🎯 A mensagem é simples: O sistema funciona no fluxo ideal, mas também funciona quando o fluxo não é seguido.
Tudo fica registrado. Nada se perde. A gestão tem visibilidade total.

📊 Estoque

🏢

11. Estoque Interno

menu_book Funcionalidades do estoque: Ver todas as funcionalidades →

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

menu_book Funcionalidades do inventário: Ver todas as funcionalidades →

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

ONDEVOU Marca Registrada

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
© ONDEVOU TECNOLOGIA LTDA - Todos os direitos reservados. A reprodução não autorizada desta obra constitui crime.
🏆
10+
anos de proteção