Comparação de pontos geográficos no postgres

Olá pessoal!

Tenho uma estrutura mais ou menos assim:

Uma tabela veiculo onde armazeno o id e a placa do veiculo.

Uma tabela estacionamento onde armazeno o nome do estacionamento, o id e a area dele (um polígono utilizando o postgis.

Uma tabela ponto de interesse onde capturo a localização atual do meu veículo. (esses dados vão ser inseridos na mão através de um Webservice.

Quando eu envio um ponto de interesse para o banco, preciso criar uma função que verifique se o ponto está dentro de um estacionamento, e caso retorne true, é necessário que se abra uma comanda e grave a data de entrada.

Minha dificuldade consiste no seguinte:

Vou capturando pontos do automóvel, e preciso comparar o ponto atual com o ponto anterior, para saber se ele ainda está dentro do estacionamento ou já saiu, exemplo.

Se ele estava fora e continua fora, não faz nada.
Se ele estava fora e entrou, abre uma comanda.
Se ele estava dentro e continua dentro não faz nada.
Se ele estava dentro e agora está fora, fecha a comanda.
Para verificar se está dentro, estou usando o St_within do postgis, mas para não consegui pensar em como fazer a comparação do ponto anterior com o atual de forma eficaz.

Alguém pode me informar algum norte para que eu possa seguir?