Pular para o conteúdo

A nossa plataforma de localização GPS funciona agora no Odoo 19 – desenvolvimento próprio, novamente integrado

18 de setembro de 2026 por
A nossa plataforma de localização GPS funciona agora no Odoo 19 – desenvolvimento próprio, novamente integrado
Alexander Biringer | Biricon IT Services GmbH

Há muitos anos que operamos, para os nossos clientes, uma plataforma própria de localização GPS: veículos e dispositivos comunicam a sua posição ao nosso servidor de tracking, os clientes veem a sua frota em direto no mapa, mantêm registos de viagens, definem geozonas e são notificados em caso de alarmes. A interface correspondente era uma aplicação PHP crescida organicamente, com gestão de utilizadores própria, faturação própria e relatórios próprios – em paralelo com tudo o resto que utilizamos na empresa.

Mudámos isso agora. A localização é, a partir de já, um módulo no nosso Odoo 19 Community e, portanto, parte do mesmo sistema em que funcionam também clientes, contratos, faturas e suporte. Para os nossos clientes de localização, isto significa: um início de sessão, uma interface, e a fatura da localização encontra-se onde se encontram também todas as outras faturas.

Porque trouxemos a localização para o Odoo

Dois sistemas separados significam dados mestre duplicados. Cada cliente existia uma vez na localização e uma vez no ERP, cada alteração de morada tinha de ser feita duas vezes, e a execução de faturação da localização gerava documentos que depois passavam manualmente para a contabilidade.

Com a mudança para o Odoo, aplica-se agora um princípio simples: dados mestre no Odoo, dados em massa fora. Clientes, utilizadores, trackers, grupos, geozonas, produtos e preços estão no Odoo e aí ligados à contabilidade, ao portal e à gestão de permissões. Os dados de posição – o verdadeiro fluxo de dados dos dispositivos, 24 horas por dia – permanecem num armazenamento de posições próprio. Uma base de dados de ERP não é o local adequado para milhões de pontos GPS, e não tem de o ser.

O servidor de tracking que recebe os dispositivos não é afetado pela migração. Foi precisamente isso que tornou a reestruturação realista: a interface pôde ser criada de novo sem tocar na receção de dados.

O que os nossos clientes têm agora no portal

Os clientes de localização iniciam sessão no portal de clientes Odoo e encontram aí a área Localização. Quem utiliza exclusivamente a localização vai parar, após o início de sessão, diretamente ao mapa e não vê outros conteúdos do portal.

Mapa em direto

O mapa mostra todos os veículos próprios e partilhados com estado (em movimento, parado, offline), velocidade, direção de marcha e morada resolvida. As posições chegam em tempo real através de uma ligação WebSocket ao servidor de tracking – uma única ligação para toda a instalação, e não uma por cada navegador aberto – e são distribuídas de forma filtrada: cada cliente recebe apenas os veículos que lhe pertencem ou que foram partilhados com ele. Os veículos deslocam-se de forma fluida entre duas mensagens, em vez de saltarem.

Como mapas base, estão disponíveis OpenStreetMap, um mapa de relevo, o basemap oficial austríaco com imagem aérea e um mapa a preto e branco; o relevo e os edifícios 3D podem ser ativados como camadas. A vista com que o mapa abre – tipo de mapa, enquadramento, grupo predefinido – é memorizada pelo Odoo por utilizador.

Registo de viagens Biricon - GPSSpot
Registo de viagens Biricon - GPSSpot


Registo de viagens com viagens profissionais e privadas

As viagens são detetadas no servidor, não no navegador: uma viagem ocorre mesmo que ninguém tenha o mapa aberto. Início, fim, morada de partida e de destino, conta-quilómetros, distância e duração são registados por viagem.

Cada viagem pode ser classificada como viagem profissional ou viagem privada – por viagem, e não por veículo, porque o mesmo automóvel vai de manhã ao cliente e à noite para casa, e a distinção é fiscalmente relevante na Áustria. No início da viagem, a janela de classificação aparece diretamente no mapa; quem a faz mais tarde encontra a viagem no registo de viagens, com campo de notas. Os condutores são reconhecidos através de chaves iButton, se o veículo estiver equipado com elas.

Estão disponíveis duas avaliações, ambas em PDF e Excel:

  • Registo de viagens individual – as viagens de um veículo no período escolhido, com percurso, classificação e nota
  • Registo de viagens da frota – uma linha por veículo com tempo de condução, distância, a separação em quilómetros profissionais e privados e o consumo extrapolado, além de totais por grupo e totais gerais


 

Geozonas e alarmes

As geozonas são desenhadas diretamente no mapa – como círculo, quadrado ou polígono livre – ou adotadas a partir de modelos partilhados, como “Áustria” ou “Viena”. Para cada zona e veículo, é possível definir se há alarme à entrada ou à saída e para onde: por SMS, e-mail, webhook ou como mensagem para o nosso call center.

Os alarmes – mudança de zona, velocidade, ignição, perda de tensão, chamada de emergência, movimento, offline – surgem como registos próprios no Odoo, com data e hora, posição e estado de tratamento.


Pesquisa: que veículo esteve aqui?

Chega uma multa, o local do radar está indicado – mas que veículo foi? A pesquisa no histórico de percursos responde precisamente a isso: escolher um ponto no mapa ou uma morada, delimitar o raio e o período, e a localização mostra que veículos lá estiveram. Os radares de velocidade do OpenStreetMap já se encontram, para isso, como camada no mapa.

Gestão pelo próprio cliente

O que antes tinha de ser delegado em nós, os clientes tratam agora no portal:

  • Ativar trackers – digitar o IMEI do autocolante do dispositivo, escolher o grupo ou criar um novo, pronto
  • Trackers e grupos – designações, símbolos, atribuição a grupos, abastecimentos com quantidade e preço, avaliações por veículo
  • Permissões – partilhar veículos com outros utilizadores ou empresas, com direito de leitura ou escrita e a possibilidade de ocultar campos individuais, como a morada ou o conta-quilómetros
  • Geozonas – desenhar, editar, definir os alarmes
  • iButtons – atribuir aos chips de chave os nomes dos condutores

O que mudou internamente para nós

No backend do Odoo existe a área Localização, com mapa em direto, gestão de trackers, alarmes, viagens, dados mestre (grupos, geozonas, tipos de dispositivo, fabricantes) e faturação.

Gestão de trackers. Cada dispositivo tem IMEI, número de telefone do SIM, tipo de dispositivo, entradas e saídas (ignição, imobilização do motor, aquecimento auxiliar e outras), calibração, correção do conta-quilómetros, limiar de offline e os parâmetros do registo de viagens. O histórico do chatter do Odoo regista cada alteração.

SMS para dispositivos. Os trackers são configurados por SMS. O envio é agora feito a partir do Odoo, é registado sem lacunas e está protegido contra erros de operação: um limite máximo por operação de envio impede que um clique desencadeie centenas de mensagens pagas, e os números de telefone incompletos nem sequer são transmitidos.

Call center. As comunicações de roubo e de acidente surgem como processos, com dados do veículo, dados de contacto do proprietário e um fluxo guiado: proprietário contactado? Falso alarme? Outras medidas? Cada passo é registado e os responsáveis pelo tratamento são notificados por push.

Faturação. A execução de faturação considera todos os trackers cuja próxima data de faturação foi atingida e gera a partir deles rascunhos de fatura no Odoo – com preço de cliente final ou de parceiro. A aprovação fica deliberadamente na contabilidade: a execução não lança nada, apenas prepara. O intervalo de faturação, o produto e a próxima data estão no tracker; após a execução, as linhas de fatura ficam diretamente no dispositivo.

A arquitetura por trás

Dispositivos GPS
    │
    ▼
Servidor de tracking  ──►  Armazenamento de posições     Odoo 19 Community
(inalterado)               hoje:  base de dados            ├─ Dados mestre (trackers, clientes, geozonas)
                                  existente                ├─ Portal de clientes  /my/ortung
                           mais tarde: PostGIS             ├─ Backend  Localização / …
                                  ▲                        ├─ Faturação (rascunhos de fatura)
                                  └── só leitura ──────────┘

O acesso às posições faz-se exclusivamente através de uma interface substituível. Hoje, o Odoo lê da base de dados de localização existente, que o servidor de tracking continua a preencher sem alterações. A passagem para um servidor PostGIS próprio é, assim, uma alteração de configuração, e não uma reestruturação – avaliações espaciais, como as verificações de geozonas, são então calculadas pelo próprio PostGIS. Para desenvolvimento e formação existe, adicionalmente, um armazenamento de demonstração com dados sintéticos, com o qual o módulo funciona mesmo sem servidor de tracking.

As moradas são resolvidas através de um geocoder próprio e guardadas em cache no Odoo, arredondadas a cerca de onze metros: um veículo parado não é resolvido de novo a cada ruído de GPS, e o mapa não depende do tempo de resposta de um serviço externo.

Como decorreu a migração

Não fizemos a migração de uma só vez, mas passo a passo, segundo o padrão Strangler: o sistema antigo manteve-se operacional, um reverse proxy decidia, por caminho, quem respondia, e o novo mapa funcionou primeiro para um grupo-piloto, em paralelo com o antigo.

A transferência dos dados mestre foi a parte mais delicada. Um script de migração lê clientes, utilizadores, trackers, grupos e geozonas da aplicação antiga e cria-os no Odoo – repetível como execução delta, com o identificador antigo como chave. Como muitos clientes de localização já existiam há muito no Odoo como parceiros, um assistente propõe associações que têm de ser confirmadas uma a uma: uma empresa associada incorretamente passaria a ver veículos alheios, e isso é mais caro do que um duplicado.

O que deliberadamente não foi transferido: a base de código duplicada para desktop e móvel (o frontend do Odoo é responsivo), a tabela de traduções própria, a gestão própria de permissões e sessões e uma boa dúzia de relatórios que, na prática, já ninguém abria.

O que isto significa para si como cliente

Se é nosso cliente de localização, já recebeu o seu acesso ao portal ou recebê-lo-á nas próximas semanas. Os seus veículos, grupos, geozonas e permissões foram transferidos; o registo de viagens continua sem interrupções.

Num só portal, encontra a sua localização, as suas faturas e os seus pedidos de suporte. E, se quiser mais do que localização – helpdesk, contratos de manutenção, faturação de projetos – é o mesmo sistema.

Teremos todo o gosto em responder a perguntas sobre a migração. E quem procura, para a sua própria empresa, uma localização de veículos ligada ao ERP, em vez de ao lado dele: fale connosco.