🗄️ Avulsas de Etiqueta

Tabela auxiliar que armazena avulsas dos etiquetas.
🔗 Tabela relacionada: etiquetas

📋 9 colunas 🔗 3 relacionamentos 🎮 8 controles 👁️ view_etiquetas_avulsas 📱 QR Code 🔑 PRIMARY KEY 🎮 1 ações externas 📱 GetCollector

📋 Estrutura da Tabela

A tabela etiquetas_avulsas possui 9 colunas.

🔑 Id PRIMARY KEY
🔑 PRIMARY KEY🔒 Somente leitura💾 Grava
Campo Tabela id
Campo VIEW / Exibido id_etiqueta_avulsa 🔹 Alias na VIEW: id_etiqueta_avulsa
Tipo number (readonly - PRIMARY KEY)
Data Table etiquetas_avulsas
Descrição

Campo id

🔑 PRIMARY KEY

Campo na tabela: id

Alias na VIEW: id_etiqueta_avulsa

Readonly: ✅ Gerado automaticamente pelo sistema

Formsearch: ✅ Permite busca avançada

Coleta QR Code: ✅ Permite leitura via QR Code

📱 qrcode: Gerar QR Code Documento
📋 Todos os Atributos
🎨 Formatacao
  • Tipo de dados number
Validacao
  • Somente leitura 🔒 Sim
📊 Dados
  • Campo OndeVou id
  • Alias OndeVou id_etiqueta_avulsa
  • Tabela OndeVou etiquetas_avulsas
🔍 Formsearch
  • {
      "required": ""
    }
🎮 Controls Acao
  • {
      "qrcode": {
        "acao": "getQRcode",
        "messagem": "Gerar QR Code"
      }
    }
  • Alias: id_etiqueta_avulsa
  • Tabelas: etiquetas_avulsas ✅
  • ControlsAcao: ✓
  • FormSearch: ✓
  • 🔑 PRIMARY KEY
  • VIEW: id_etiqueta_avulsa
  • 📋 FormSearch
  • 📱 Coleta QR Code
📋 qrcode
🔒 Somente leitura📋 Somente view📱 QRCode: Etiqueta Avulsa
Campo Tabela qrcode
Campo VIEW / Exibido qrcode ⚠️ (somente view)
Tipo canvas (QR Code: Etiqueta Avulsa)
Data Table qrcode
Descrição

Campo qrcode

📱 QR Code

Tipo: Etiqueta Avulsa (ea)

Texto: Campos

Formato: ondevou_ea_{participante}_{id}

Uso: Identificação física do registro. Clique para imprimir.

Geração: Automática ao salvar o registro. Biblioteca QRious.

📋 Todos os Atributos
🎨 Formatacao
  • Tipo de dados text
  • Tipo de input canvas
Validacao
  • Somente leitura 🔒 Sim
📊 Dados
  • Campo OndeVou qrcode
  • Tabela OndeVou qrcode
  • Tabelas: qrcode (só view)
  • QRCode: Etiqueta Avulsa
📋 Data hora inclusão
🔒 Somente leitura📋 Somente view
Campo Tabela data_hora_inclusao_etiqueta_avulsa
Campo VIEW / Exibido data_hora_inclusao_etiqueta_avulsa ⚠️ (somente view)
Tipo date
Data Table view_etiquetas_avulsas
Descrição

Campo data hora inclusão

📋 Todos os Atributos
🎨 Formatacao
  • Tipo de dados date
Validacao
  • Somente leitura 🔒 Sim
📊 Dados
  • Campo OndeVou data_hora_inclusao_etiqueta_avulsa
  • Tabela OndeVou view_etiquetas_avulsas
  • Tabelas: view_etiquetas_avulsas (só view)
📋 Participante
✅ Obrigatório🔒 Somente leitura💾 Grava
Campo Tabela participante
Campo VIEW / Exibido participante
Tipo text
Data Table etiquetas_avulsas
Descrição

Campo participante

📋 Todos os Atributos
🎨 Formatacao
  • Tipo de dados text
Validacao
  • Obrigatório ✅ Sim
  • Somente leitura 🔒 Sim
⚙️ Comportamento
  • Valor padrão 1
📊 Dados
  • Campo OndeVou participante
  • Tabela OndeVou etiquetas_avulsas
  • Tabelas: etiquetas_avulsas ✅
  • Value: 1
📋 Situação
🔒 Somente leitura💾 Grava🔗 getdata
Campo Tabela id_situacao
Campo VIEW / Exibido nome_situacao (ID: id_situacao)
Tipo number (getdata)
Data Table etiquetas_avulsas
Descrição

Campo situação

📋 Todos os Atributos
🎨 Formatacao
  • Tipo de dados number
Validacao
  • Somente leitura 🔒 Sim
📊 Dados
  • Campo OndeVou nome_situacao
  • ID OndeVou id_situacao
  • ID Default OndeVou 3
  • Tabela OndeVou etiquetas_avulsas
🔗 Getdata
  • {
      "view": "view_cilindros_situacao",
      "data": "view_cilindros_situacao",
      "data-update-full-fields": "sim",
      "text-empty-search": "sim",
      "campo-data-id": "id_situacao",
      "campo-data-value-input": "nome_situacao",
      "campo-data-input-select-view": "nome_situacao",
      "query": {
        "select": "* from view_cilindros_situacao",
        "where": {
          "and": {
            "texto_digitado": {
              "left": "(unaccent(LOWER(concat(id_situacao,` `,nome_situacao))) ilike `%",
              "right": "%`)"
            }
          }
        }
      }
    }
🔍 Formsearch
  • {
      "required": ""
    }
  • ID: id_situacao
  • Tabelas: etiquetas_avulsas ✅
  • Default: 3
  • FormSearch: ✓
📋 Localização
🔒 Somente leitura💾 Grava🔗 getdata
Campo Tabela id_localizacao
Campo VIEW / Exibido nome_localizacao (ID: id_localizacao)
Tipo number (getdata)
Data Table etiquetas_avulsas
Descrição

Campo localização

📋 Todos os Atributos
🎨 Formatacao
  • Tipo de dados number
Validacao
  • Somente leitura 🔒 Sim
📊 Dados
  • Campo OndeVou nome_localizacao
  • ID OndeVou id_localizacao
  • ID Default OndeVou 1
  • Tabela OndeVou etiquetas_avulsas
🔗 Getdata
  • {
      "view": "view_cilindros_localizacao",
      "data": "view_cilindros_localizacao",
      "text-empty-search": "sim",
      "data-update-full-fields": "sim",
      "campo-data-id": "id_localizacao",
      "campo-data-value-input": "nome_localizacao",
      "campo-data-input-select-view": "nome_localizacao",
      "query": {
        "select": "* from view_cilindros_localizacao",
        "where": {
          "and": {
            "texto_digitado": {
              "left": "(unaccent(LOWER(concat(id_localizacao,` `,nome_localizacao))) ilike `%",
              "right": "%`)"
            }
          }
        }
      }
    }
🔍 Formsearch
  • {
      "required": ""
    }
  • ID: id_localizacao
  • Tabelas: etiquetas_avulsas ✅
  • Default: 1
  • FormSearch: ✓
📋 Endereço
🔒 Somente leitura💾 Grava🔗 getdata
Campo Tabela id_endereco
Campo VIEW / Exibido nome_endereco (ID: id_endereco)
Tipo number (getdata)
Data Table etiquetas_avulsas
Descrição

Campo endereço

📋 Todos os Atributos
🎨 Formatacao
  • Tipo de dados number
Validacao
  • Somente leitura 🔒 Sim
📊 Dados
  • Campo OndeVou nome_endereco
  • ID OndeVou id_endereco
  • Tabela OndeVou etiquetas_avulsas
🔗 Getdata
  • {
      "view": "view_cilindros_enderecos",
      "data": "view_cilindros_enderecos",
      "text-empty-search": "sim",
      "campo-data-id": "id_endereco",
      "campo-data-value-input": "id_endereco,referencia_endereco,nome_endereco",
      "campo-data-input-select-view": "id_endereco,referencia_endereco,nome_endereco",
      "query": {
        "select": "* from view_cilindros_enderecos",
        "where": {
          "and": {
            "texto_digitado": {
              "left": "(unaccent(LOWER(concat(id_endereco,` `,referencia_endereco,` `,nome_endereco))) ilike `%",
              "right": "%`) and (participante=`1`)"
            }
          }
        }
      }
    }
🔍 Formsearch
  • {
      "required": ""
    }
  • ID: id_endereco
  • Tabelas: etiquetas_avulsas ✅
  • FormSearch: ✓
📋 Cheio
🔒 Somente leitura📋 Somente view
Campo Tabela cheio
Campo VIEW / Exibido cheio ⚠️ (somente view)
Tipo number
Data Table view_etiquetas_avulsas
Descrição

Campo cheio

📋 Todos os Atributos
🎨 Formatacao
  • Tipo de dados number
Validacao
  • Somente leitura 🔒 Sim
📊 Dados
  • Campo OndeVou cheio
  • Tabela OndeVou view_etiquetas_avulsas
  • Tabelas: view_etiquetas_avulsas (só view)
📋 Vazio
🔒 Somente leitura📋 Somente view
Campo Tabela vazio
Campo VIEW / Exibido vazio ⚠️ (somente view)
Tipo number
Data Table view_etiquetas_avulsas
Descrição

Campo vazio

📋 Todos os Atributos
🎨 Formatacao
  • Tipo de dados number
Validacao
  • Somente leitura 🔒 Sim
📊 Dados
  • Campo OndeVou vazio
  • Tabela OndeVou view_etiquetas_avulsas
  • Tabelas: view_etiquetas_avulsas (só view)
📌 Legenda: 🔑 PRIMARY KEY ✅ Obrigatório 🔒 Somente leitura 👁️ Oculto 💾 Grava 📋 Somente view 🔗 getdata 📝 putdata 🔢 AutoInc 📱 QR Code 📋 Auditoria 📱 GetCollector

🔗 Relacionamentos

Tabelas relacionadas via getdata.

cilindros_situacao · Auxiliar: Situação 📄
cilindros_localizacao · Auxiliar: Localização 📄
cilindros_enderecos · Auxiliar: Endereço 📄

🔍 Filtros (formsearch)

Campos disponíveis para filtragem na busca.

Data Inicial date
Data Final date

🎮 Controles Disponíveis

Ações que o usuário pode realizar na tabela.

📂 Controle
🔘 Info info 🔘 Add add 🔘 Copy copy 🔘 Edit edit 💾 Salvar save 🔘 Delete delete 🔘 Remove remove
📂 Documento
📱 Gerar QR Code qrcode

👁️ View Associada

Nome: view_etiquetas_avulsas

📱 GetCollector - Coleta de Dados

A tabela etiquetas_avulsas possui suporte a coleta de dados via QR Code através do sistema GetCollector.

Configuração (JSON expandido)

{
  "qrcode": {
    "qrcode-type": [
      "ea"
    ]
  },
  "table-setups": {
    "search": "nao",
    "html": "nao",
    "controls": [
      "info",
      "remove"
    ]
  }
}

Tipos de QR Code

  • ea: Etiqueta Avulsa

Detalhes

  • Table Add: addTableColetar_dados_leituras

📱 QR Code

A tabela etiquetas_avulsas possui geração automática de QR Code.

Configuração

'qrcode': {
    'input': {
        'readonly': 'readonly',
        'type': 'canvas',
        'qrcode-type': 'ea',
        'qrcode-text-fields': '—',
        'data-type-ondevou': 'text',
        'data-field-ondevou': 'qrcode',
        'data-table-ondevou': 'qrcode'
    }
}

Como funciona

  • Geração automática: Ao salvar o registro
  • Formato: ondevou_ea_{participante}_{id}
  • Uso: Identificação física do registro

🔑 PRIMARY KEY - Campo Id

O campo Id é a chave primária da tabela etiquetas_avulsas.

Configuração

'Id': {
    'input': {
        'readonly': 'readonly',
        'data-type-ondevou': 'number',
        'data-field-ondevou': 'id',
        "data-field-alias-ondevou": "id_etiqueta_avulsa",
        'data-table-ondevou': 'etiquetas_avulsas'
    }
}

Comportamento

  • 🔒 Readonly: Campo não editável
  • 📊 Tipo: number
  • 🔹 Alias na VIEW: id_etiqueta_avulsa

🎮 Controls-Ação

📂 Documento
qrcode: Gerar QR Code getQRcode

💾 JSON da Tabela

Estrutura completa em JSON para integração com APIs e IAs.

code Clique para ver o JSON completo 7 KB
{
  "table-id": "etiquetas_avulsas",
  "data-table-ondevou": "etiquetas_avulsas",
  "data-table-auditor": "auditor_etiqueta_avulsa",
  "data-field-auditor": "id_etiqueta_avulsa",
  "data-table-update": "nao",
  "readonly": "sim",
  "table-class": "highlight",
  "controls": [
    "info",
    "add",
    "copy",
    "edit",
    "save",
    "qrcode",
    "delete",
    "remove"
  ],
  "html": {
    "div": {
      "before": "",
      "after": ""
    }
  },
  "routines": {
    "add": "49"
  },
  "search": {
    "id_search_etiqueta_avulsa": {
      "data-type-ondevou": "number",
      "texto_label": "Etiqueta avulsa",
      "data-field-ondevou": "id_search_etiqueta_avulsa",
      "data-table-ondevou": "view_etiquetas_avulsas",
      "getdata": "{\"view\":\"view_etiquetas_avulsas\",\"data\":\"view_etiquetas_avulsas\",\"text-empty-search\":\"sim\",\"data-update-full-fields\":\"sim\",\"campo-data-id\":\"id_etiqueta_avulsa\",\"campo-data-value-input\":\"id_etiqueta_avulsa\",\"campo-data-input-select-view\":\"id_etiqueta_avulsa,nome_situacao,nome_localizacao\",\"query\":{\"select\":\"* from view_etiquetas_avulsas\",\"where\":{\"and\":{\"texto_digitado\":{\"left\":\"(unaccent(LOWER(concat(id_etiqueta_avulsa))) ilike `\",\"right\":\"`) and (participante=`1`)\"}}},\"order\":\"id_etiqueta_avulsa desc\"}}",
      "getcollector": "{\"qrcode\":\"{\\\"qrcode-type\\\":[\\\"ea\\\"]}\",\"table-setups\":\"{\\\"search\\\":\\\"nao\\\",\\\"html\\\":\\\"nao\\\",\\\"controls\\\":[\\\"info\\\",\\\"remove\\\"]}\"}"
    }
  },
  "headers": {
    "Id": {
      "width": "7%"
    },
    "qrcode": {
      "width": "100px",
      "align": "left",
      "class": "qrcode"
    },
    "Data hora inclusão": {
      "width": "100px"
    },
    "Participante": {
      "width": "100px"
    },
    "Situação": {
      "width": "110px"
    },
    "Localização": {
      "width": "110px"
    },
    "Endereço": {
      "width": "110px"
    },
    "Cheio": {
      "width": "70px"
    },
    "Vazio": {
      "width": "70px"
    }
  },
  "columns": {
    "Id": {
      "input": {
        "readonly": "readonly",
        "data-type-ondevou": "number",
        "data-field-ondevou": "id",
        "data-field-alias-ondevou": "id_etiqueta_avulsa",
        "data-table-ondevou": "etiquetas_avulsas",
        "controls-acao": {
          "qrcode": {
            "acao": "getQRcode",
            "messagem": "Gerar QR Code"
          }
        },
        "formsearch": {
          "required": "",
          "getcollector": "{\"modal\":\"\",\"qrcode\":\"{\\\"qrcode-type\\\":[\\\"ea\\\"]}\",\"table-add\":\"addTableColetar_dados_leituras\",\"table-setups\":\"{\\\"search\\\":\\\"nao\\\",\\\"html\\\":\\\"nao\\\",\\\"controls\\\":[\\\"info\\\",\\\"remove\\\"]}\"}"
        }
      }
    },
    "qrcode": {
      "input": {
        "readonly": "readonly",
        "type": "canvas",
        "qrcode-type": "ea",
        "data-type-ondevou": "text",
        "data-field-ondevou": "qrcode",
        "data-table-ondevou": "qrcode"
      }
    },
    "Data hora inclusão": {
      "input": {
        "readonly": "readonly",
        "data-type-ondevou": "date",
        "data-field-ondevou": "data_hora_inclusao_etiqueta_avulsa",
        "data-table-ondevou": "view_etiquetas_avulsas"
      }
    },
    "Participante": {
      "input": {
        "readonly": "readonly",
        "required": "required",
        "data-type-ondevou": "text",
        "value": "1",
        "data-field-ondevou": "participante",
        "data-table-ondevou": "etiquetas_avulsas"
      }
    },
    "Situação": {
      "input": {
        "readonly": "readonly",
        "data-type-ondevou": "number",
        "data-id-field-ondevou": "id_situacao",
        "data-id-field-ondevou-default": "3",
        "data-field-ondevou": "nome_situacao",
        "data-table-ondevou": "etiquetas_avulsas",
        "getdata": "{\"view\":\"view_cilindros_situacao\",\"data\":\"view_cilindros_situacao\",\"data-update-full-fields\":\"sim\",\"text-empty-search\":\"sim\",\"campo-data-id\":\"id_situacao\",\"campo-data-value-input\":\"nome_situacao\",\"campo-data-input-select-view\":\"nome_situacao\",\"query\":{\"select\":\"* from view_cilindros_situacao\",\"where\":{\"and\":{\"texto_digitado\":{\"left\":\"(unaccent(LOWER(concat(id_situacao,` `,nome_situacao))) ilike `%\",\"right\":\"%`)\"}}}}}",
        "formsearch": {
          "required": ""
        }
      }
    },
    "Localização": {
      "input": {
        "readonly": "readonly",
        "data-type-ondevou": "number",
        "data-id-field-ondevou": "id_localizacao",
        "data-id-field-ondevou-default": "1",
        "data-field-ondevou": "nome_localizacao",
        "data-table-ondevou": "etiquetas_avulsas",
        "getdata": "{\"view\":\"view_cilindros_localizacao\",\"data\":\"view_cilindros_localizacao\",\"text-empty-search\":\"sim\",\"data-update-full-fields\":\"sim\",\"campo-data-id\":\"id_localizacao\",\"campo-data-value-input\":\"nome_localizacao\",\"campo-data-input-select-view\":\"nome_localizacao\",\"query\":{\"select\":\"* from view_cilindros_localizacao\",\"where\":{\"and\":{\"texto_digitado\":{\"left\":\"(unaccent(LOWER(concat(id_localizacao,` `,nome_localizacao))) ilike `%\",\"right\":\"%`)\"}}}}}",
        "formsearch": {
          "required": ""
        }
      }
    },
    "Endereço": {
      "input": {
        "readonly": "readonly",
        "data-type-ondevou": "number",
        "data-id-field-ondevou": "id_endereco",
        "data-field-ondevou": "nome_endereco",
        "data-table-ondevou": "etiquetas_avulsas",
        "getdata": "{\"view\":\"view_cilindros_enderecos\",\"data\":\"view_cilindros_enderecos\",\"text-empty-search\":\"sim\",\"campo-data-id\":\"id_endereco\",\"campo-data-value-input\":\"id_endereco,referencia_endereco,nome_endereco\",\"campo-data-input-select-view\":\"id_endereco,referencia_endereco,nome_endereco\",\"query\":{\"select\":\"* from view_cilindros_enderecos\",\"where\":{\"and\":{\"texto_digitado\":{\"left\":\"(unaccent(LOWER(concat(id_endereco,` `,referencia_endereco,` `,nome_endereco))) ilike `%\",\"right\":\"%`) and (participante=`1`)\"}}}}}",
        "formsearch": {
          "required": ""
        }
      }
    },
    "Cheio": {
      "input": {
        "readonly": "readonly",
        "data-type-ondevou": "number",
        "data-field-ondevou": "cheio",
        "data-table-ondevou": "view_etiquetas_avulsas"
      }
    },
    "Vazio": {
      "input": {
        "readonly": "readonly",
        "data-type-ondevou": "number",
        "data-field-ondevou": "vazio",
        "data-table-ondevou": "view_etiquetas_avulsas"
      }
    }
  },
  "formsearch": {
    "data-table-ondevou": "view_etiquetas_avulsas",
    "data-view-ondevou": "view_etiquetas_avulsas",
    "data-where-fixed": "participante=`1`",
    "data-where-order": "order by id_etiqueta_avulsa desc",
    "input": {
      "data_inicial": {
        "data-field-ondevou": "data_inicial",
        "data-type-ondevou": "date",
        "type": "date",
        "class": "datepicker",
        "texto_label": "Data Inicial",
        "data-field-where": "data"
      },
      "data_final": {
        "data-field-ondevou": "data_final",
        "data-type-ondevou": "date",
        "type": "date",
        "class": "datepicker",
        "texto_label": "Data Final",
        "data-field-where": "data"
      }
    }
  },
  "url_documentacao": "/docs/ondevou-db-etiquetas_avulsas.html",
  "nome_tabela": "etiquetas_avulsas"
}

📝 SQL CREATE TABLE - Estrutura Completa

Comando SQL COMPLETO para criar a tabela etiquetas_avulsas no PostgreSQL. Esta estrutura foi extraída DIRETAMENTE do banco de dados.

🏗️ Estrutura Completa

📋 6 colunas 🔗 2 constraints 📑 7 índices ⚡ 0 triggers
code Clique para ver o SQL completo ✅ COMPLETO
-- ============================================================
-- ESTRUTURA COMPLETA DA TABELA etiquetas_avulsas
-- Fonte: PostgreSQL - 12/08/2026 10:24:21
-- ============================================================

CREATE TABLE public.etiquetas_avulsas (
    id integer NOT NULL DEFAULT nextval('etiquetas_avulsas_id_seq'::regclass),
    participante integer,
    id_situacao integer,
    id_localizacao integer,
    data timestamp DEFAULT now(),
    id_endereco integer,
    CONSTRAINT etiquetas_avulsas_pkey PRIMARY KEY (id),
    CONSTRAINT 2200_221323_1_not_null CHECK (id IS NOT NULL)
);

-- ============================================================
-- ÍNDICES
-- ============================================================
CREATE UNIQUE INDEX etiquetas_avulsas_pk_id ON public.etiquetas_avulsas USING btree (id);
CREATE INDEX idx_etiquetas_avulsas_id_endereco ON public.etiquetas_avulsas USING btree (id_endereco);
CREATE INDEX idx_etiquetas_avulsas_id_localizacao ON public.etiquetas_avulsas USING btree (id_localizacao);
CREATE INDEX idx_etiquetas_avulsas_id_situacao ON public.etiquetas_avulsas USING btree (id_situacao);
CREATE INDEX idx_etiquetas_avulsas_p_data ON public.etiquetas_avulsas USING btree (participante, data DESC);
CREATE INDEX idx_etiquetas_avulsas_p_id ON public.etiquetas_avulsas USING btree (participante, id DESC);
CREATE INDEX idx_etiquetas_avulsas_participante ON public.etiquetas_avulsas USING btree (participante);

SQL extraído DIRETAMENTE do banco de dados

📊 Comparação: JSON Config vs Banco Real

Verifique se a configuração JSON está sincronizada com a estrutura do banco de dados.

Campo Tipo (JSON) Tipo (Banco) Status
cheio number - ⚠️ Só no JSON
data - timestamp without time zone ❌ Só no banco
data_hora_inclusao_etiqueta_avulsa date - ⚠️ Só no JSON
id number integer ✅ OK
id_endereco - integer ❌ Só no banco
id_localizacao - integer ❌ Só no banco
id_situacao - integer ❌ Só no banco
nome_endereco number - ⚠️ Só no JSON
nome_localizacao number - ⚠️ Só no JSON
nome_situacao number - ⚠️ Só no JSON
participante text integer ✅ OK
qrcode text - ⚠️ Só no JSON
vazio number - ⚠️ Só no JSON

💡 Dica: Use esta comparação para garantir que a configuração JSON está atualizada com a estrutura do banco.
📌 Legenda: ✅ OK = presente em ambos | ⚠️ Só no JSON = pode ser um campo virtual | ❌ Só no banco = falta adicionar ao JSON

💡 Como Popular a Tabela

Exemplo prático usando o padrão OndeVou.

📋 Fluxo completo padrão

// 1. Buscar dados com getData
var dados_retorno = getData({
    'query': `SELECT * FROM view_etiquetas_avulsas WHERE participante = ${globais.dados_fixo.participante}`,
    'view': 'view_etiquetas_avulsas'
});

// 2. Definir painel e slide
var painel = globais.dados_pagina.visivel.painel;
var slide = globais.dados_pagina.visivel.slide;

// 3. Encontrar a tabela no DOM
var idTable = getIdTableFromSlide({ 'table-id': 'etiquetas_avulsas' });

// 4. Resetar a tabela
setTableControlsReset(idTable);

// 5. Popular a tabela
setTableControlsSetValue(idTable, dados_retorno);

🏆 Propriedade Intelectual

OndeVou.com Marca Registrada

Marca Registrada

OndeVou.com®

Propriedade Intelectual Assegurada

Processo INPI:
908765967
Titular:
ONDEVOU.COM TECNOLOGIA LTDA
CNPJ:
17.058.605/0001-36
Classificação:
Classe 42 - Serviços de TI