Perguntas Frequentes (FAQs)

Como funciona o nosso sistema de gestão de cacifos inteligentes.

Como funciona o processo de reserva básico para um cliente?

  1. O utilizador seleciona uma localização, um tamanho e a quantidade de cacifos.
  2. Seleciona o intervalo de datas e horas exatas num calendário interativo.
  3. O sistema verifica a disponibilidade e calcula o preço em tempo real.
  4. O utilizador introduz um email ou telefone de contacto.
  5. Ao confirmar, a reserva é criada com estado confirmed e recebe um código QR único para cada cacifo.

O que acontece se um cliente chegar e o seu cacifo estiver ocupado por um utilizador anterior?

O nosso sistema utiliza uma estratégia de cacifos buffer para garantir o serviço:

  • Uma percentagem de cacifos é mantida em reserva para emergências.
  • Ao scannear o QR, se o sistema detetar uma colisão, reatribui automaticamente um cacifo buffer livre.
  • O cliente recebe a nova atribuição e pode aceder instantaneamente, garantindo uma experiência positiva.

E o que acontece ao cliente que se atrasou?

  • Quando o seu tempo termina, se tentar scannear o QR, o estado da sua reserva muda para overstay.
  • O sistema notifica-o de que deve pagar um valor extra pelas horas de atraso, calculado com uma taxa de penalização configurável.
  • O cacifo só abrirá para recolha final uma vez que este valor seja pago.

Pode um cliente modificar ou cancelar a sua reserva?

Sim, a partir da secção "A minha reserva":

  • Modificar: Pode alterar o tamanho ou as datas. O sistema verifica a nova disponibilidade e calcula o custo da alteração (um custo de gestão + a diferença de preço, se aplicável).
  • Cancelar: Pode cancelar a reserva com uma política de reembolso flexível baseada no pré-aviso.

Qual é o ciclo de vida completo do estado de um cacifo?

O sistema gere automaticamente os estados para otimizar a ocupação:

available → booked → in_use → available
  • booked: É automaticamente definido quando chega a hora de início da reserva.
  • in_use: Muda com o primeiro scan QR do utilizador.
  • available: Regressa a este estado quando o utilizador termina ativamente a reserva.

E qual é o ciclo de vida completo do estado de uma RESERVA?

O estado de uma reserva evolui de acordo com as ações do utilizador. Estes são os principais caminhos:

  • Caminho Normal: confirmed → active → completed
  • Caminho com Atraso (Overstay): confirmed → active → overstay → completed
  • Caminho com Reatribuição (Colisão): confirmed → active_reassigned → completed
  • Caminho com Cancelamento: confirmed → cancelled

Como é que o sistema sabe se um cliente esvaziou realmente o seu cacifo?

Esta é uma das operações mais críticas. O sistema gere-a de duas formas complementares para garantir segurança e maximizar a disponibilidade:

1. Finalização Ativa (O Método Ideal)

O utilizador tem a opção de finalizar ativamente a sua reserva através da secção "A minha reserva".

  • O utilizador pressiona o botão "Abrir para TERMINAR".
  • O sistema abre a porta para uma última recolha.
  • Automaticamente, a reserva muda para <completed>completed</completed> e o cacifo torna-se <available>available</available> para o próximo cliente.
  • Isto dá-nos 100% de certeza de que o cacifo está livre.

2. Gestão Passiva (Quando o Utilizador Sai Sem Avisar)

Se o tempo de uma reserva termina e o utilizador não a finaliza, o sistema não assume que o cacifo está vazio por segurança. Em vez disso, atua de forma reativa:

  • A reserva e o cacifo permanecem num estado intermédio (<active>active</active> / <in_use>in_use</in_use>) mesmo tendo expirado.
  • Se um novo cliente precisar do espaço: O nosso sistema buffer atribui-lhe um cacifo de reserva, protegendo a experiência do novo cliente e deixando o cacifo "em dúvida" para revisão do operador.
  • Se o cliente original voltar atrasado: Ao scannear o seu QR, o sistema deteta que excedeu o tempo, muda a reserva para overstay e inicia o processo de pagamento da penalização antes de permitir a abertura final.

Em resumo, o sistema prioriza sempre não atribuir um cacifo que possa estar ocupado. Só é marcado como 100% disponível quando o utilizador o confirma ativamente.