Manual do calendário (PMS)

Unified Messaging · versão de referência para formação e memória interna · atualizado em março de 2026

1. Visão geral

O calendário mostra disponibilidade e reservas por propriedade, tipo ou unidade. A grelha desloca-se horizontalmente por datas; a coluna da esquerda (propriedade/unidade) fica fixa ao fazer scroll.

2. Barra de ferramentas

3. Cores e cabeçalhos de dia

4. Barras de reserva (“pills”)

Cada reserva aparece como uma barra horizontal com favicon oficial do canal (Airbnb, Booking.com; direto e interno com ícone dedicado) — imagem a cores sem desbotar — e nome do hóspede. Ficheiros em unified_messaging/assets/ota/.

4.1 Alinhamento nos dias (check-in / check-out)

A barra começa ao centro vertical da célula do primeiro dia (entrada) e termina ao centro da célula do último dia com noite (a data de saída no sistema é exclusiva). Assim, duas estadias consecutivas encontram-se a meio da coluna do dia de transição, como num Gantt clássico.

Se o check-in for antes do primeiro dia visível na grelha, a barra encosta à esquerda da célula, fica sem capuz redondo desse lado e mostra uma seta para a esquerda (“continua antes da vista”). Se a estadia prolongar para além do último dia visível, o mesmo na direita, com seta para a direita. Nesses casos a pílula preenche a altura da linha na área da reserva.

4.2 Altura

A barra ocupa cerca de 95% da altura da célula para melhor leitura e espaço para alertas futuros.

4.3 Barra de progresso de pagamento

Quando a reserva tem dados financeiros (ou valores balance / payout na demo):

A largura do trilho do medidor (faixa sob o nome) é proporcional ao número de noites da estadia, com referência máxima de 4 noites: 1 noite ocupa cerca de 25 % da largura máxima possível; 4 ou mais noites usam 100 % dessa referência. O preenchimento verde continua a refletir apenas a percentagem paga dentro desse trilho.

Para reservas de OTA, o saldo mostrado no canal pode referir-se à liquidação pela plataforma (ex. cartão virtual), e não a um pagamento que o hóspede deva fazer diretamente ao alojamento. No menu Canais: cor e liquidação, cada origem pode definir-se como OTA (cartão virtual / plataforma) ou Depende do hóspede. No primeiro caso, sem extras de limpeza agendados na reserva, a barra assume o estado normal (100 %) para a parte inferida só por payout/saldo; com extras, volta a aplicar-se a fração inferida (extras cobrados ao hóspede). Valores explícitos paymentPct, bookingTotal/amountPaid não são alterados por esta regra.

Campos opcionais na reserva (quando existir API): bookingTotal, amountPaid ou paymentPct (0–100) sobrepõem o cálculo estimado.

Bloqueios (ex. etiqueta “Bloqueado”, canal interno) não mostram barra de pagamento — apenas o estilo cinza da reserva interna.

5. Instruções de check-in automáticas

Regra de negócio: para reservas em dívida ou com pagamento incompleto, o sistema não envia automaticamente as instruções de check-in ao hóspede.

Na grelha, quando aplicável, é mostrado um ícone vermelho de trânsito (sentido proibido) junto ao nome: ao passar o rato (ou foco por teclado), surge uma caixa com a explicação. O mesmo aviso aparece no painel de detalhe ao clicar na reserva.

Na demo, “pagamento completo” corresponde à fração calculada ≥ 99,9%. Enquanto estiver abaixo disso, o ícone e o aviso são apresentados.

Em produção, esta regra deve estar alinhada com o motor de mensagens / API (saldo real, pré-autorização, política OTA).

6. Interação na grelha

6.1 Detalhe da reserva (tooltip)

O painel abre junto à barra da reserva (não segue o cursor). Permanece aberto para usar os botões até fechar (Esc, clique fora ou novo clique na mesma reserva).

6.2 Edição de reserva e cálculo automático de preço (demo)

No modal de edição, ao mudar check-in, check-out ou unidade, o campo Valor líquido a receber é recalculado automaticamente com base em:

É mostrada uma linha de ajuda sob o campo; o valor continua editável à mão. Ao guardar, na demo, payout, comissão, taxa de pagamento e saldo são ajustados na mesma proporção que o cálculo automático (para manter coerência com a barra de pagamento na grelha).

Em produção, estes montantes devem alinhar com o motor financeiro / OTA. O comportamento atual serve para formação e protótipo local.

6.3 Arrastar reservas (drag & drop)

Quando a opção estiver ativa na barra do calendário, pode arrastar o bloco da reserva para outra unidade e/ou outras datas. Ao largar na grelha, não se aplica de imediato: abre-se o ecrã Confirmar alteração da reserva com o resumo Antes / Depois para validar ou cancelar.

Arrastar o modal: pode clicar no título, no subtítulo ou na área do aviso (mantendo de fora a tabela e os botões) e arrastar a janela para o lado — assim vê a grelha por baixo enquanto revê as alterações.

Se a nova posição se sobrepuser a outra reserva na mesma unidade, o modal indica conflito e o botão de confirmação fica indisponível até corrigir ou cancelar.

Após confirmar o movimento, o plano de limpeza e os extras guardados para essa reserva acompanham a nova posição na demonstração (mesma reserva, nova chave interna).

Bloqueios e canais que não permitam edição podem não ser arrastáveis consoante as definições atuais.

6.4 Limpeza e extras (toalhas, lençóis, limpeza adicional)

No detalhe da reserva (após clicar na barra), o botão Limpeza e extras abre um ecrã para:

Com extras guardados, a barra da reserva pode mostrar um indicador €+ no calendário.

7. Registos de depósitos e entregas em numerário

Para registo de depósitos bancários ou dinheiro entregue com assinatura no tablet ou telemóvel, use a página dedicada e o respetivo guia:

8. Manutenção deste manual

Ficheiro: unified_messaging/docs/calendario-manual.html. Ao alterar regras de negócio ou UI do calendário, atualize este HTML para manter uma única fonte de verdade para equipa e utilizadores.

Alterações recentes (março 2026): painel de detalhe da reserva mais estável e com Abrir reserva no calendário; modal Confirmar alteração da reserva arrastável; cálculo automático de preço ao editar reserva (demo).