Skip to content

M14 — Form

Painel lateral reutilizável que apresenta um formulário de contacto ao visitante. Abre-se a partir de qualquer botão da página que aponte para um formulário, deslizando da direita para o centro com o resto da página escurecido. O visitante preenche os campos, aceita os termos de privacidade, submete e recebe uma confirmação visual imediata.

CampoValor
MóduloM14 — Form
EstadoRascunho
Figma DesktopAbrir no Figma
Figma MobileAbrir no Figma
Figma Library (página)Abrir no Figma
Zoho TaskVer tarefa
Criada2026-04-23
Aprovada
Aprovada por
M14 Desktop

Abrir screenshot mobile (375px) em nova janela →</a>

M14 Savoy Palace M14 Saccharum M14 Calheta Beach M14 Hotel Next M14 Savoy Signature

Links Figma: Desktop | Mobile | Savoy Palace | Saccharum | Calheta Beach | Next | Signature


O módulo Form é o formulário universal do site. Aparece como um painel que desliza da direita para o centro do ecrã, com o conteúdo da página atual a ficar escurecido por trás. Serve para qualquer situação em que o hotel quer recolher um contacto ou uma mensagem do visitante — pedidos de informação sobre quartos, reservas de eventos, consultas para casamentos, pedidos do spa, envio de candidaturas espontâneas ou qualquer outro formulário que o hotel precise.

O visitante abre o formulário clicando num botão numa página (por exemplo, “Contactar-nos”, “Pedir orçamento”, “Saber mais”). O painel abre, apresenta o título do formulário, uma pequena descrição e os campos a preencher. O visitante preenche Nome, Email e Mensagem, aceita a política de privacidade e submete. Imediatamente depois vê uma confirmação de que a mensagem foi enviada (ou, em caso de problema técnico, uma mensagem de erro com a possibilidade de tentar de novo sem perder o que já escreveu).

Ao fechar o painel (pelo botão ”×”, por clicar fora, ou pela tecla Escape), o visitante regressa à página onde estava. A mensagem é enviada para o email do hotel configurado no backoffice e, opcionalmente, o visitante recebe também um email de confirmação.

Este mesmo painel é partilhado com o módulo de Newsletter (M33), que usa a mesma mecânica de abertura, os mesmos estados visuais e a mesma experiência — apenas com menos campos. Significa que o visitante encontra uma experiência consistente em todos os pontos de contacto do site.


O módulo apresenta-se em quatro estados visuais distintos, que o visitante vê em sequência durante a utilização.

Variante 1 — Formulário (estado inicial)

Section titled “Variante 1 — Formulário (estado inicial)”

Como visitante, quero preencher um formulário claro e rápido, para enviar uma mensagem ao hotel sem sair da página em que estou.

Elementos visíveis:

  • Botão para fechar (ícone ”×”) no canto superior direito do painel
  • Título principal (exemplo: “Entre em contacto”)
  • Pequeno texto de descrição por baixo do título
  • Campo “Nome” (caixa de texto de uma linha)
  • Campo “Email” (caixa de texto de uma linha)
  • Campo “Mensagem” (caixa de texto maior, com várias linhas, e um contador de caracteres no canto inferior direito — exemplo: “0/100”)
  • Caixa de seleção de aceitação da política de privacidade, com texto legal ao lado (incluindo uma ligação para a página da Política de Privacidade)
  • Botão de submissão (exemplo: “SUBMETER”) no final do painel

Critérios de Aceitação:

  • O painel aparece a deslizar da direita para o centro do ecrã
  • O resto da página fica escurecido e com ligeiro desfoque, mas continua visível por trás do painel
  • O título, a descrição, os rótulos dos campos e o texto do botão estão na língua da página (PT ou EN)
  • Todos os campos (Nome, Email, Mensagem, aceitação de política) são obrigatórios
  • O contador de caracteres da mensagem atualiza-se à medida que o visitante escreve (exemplo: “25/100”)
  • Quando o visitante atinge o limite de caracteres, não é possível escrever mais
  • Ao clicar na ligação dentro do texto de política de privacidade, abre-se a página da Política de Privacidade do hotel (numa nova janela ou na mesma janela, consoante o comportamento habitual do browser)

Variante 2 — Formulário com erros de validação

Section titled “Variante 2 — Formulário com erros de validação”

Como visitante, quero saber exatamente o que falta preencher ou corrigir, para poder completar o formulário sem frustração.

Elementos visíveis:

  • Os mesmos elementos da Variante 1
  • Abaixo de cada campo com erro aparece uma mensagem curta e clara (por exemplo: “Este campo é obrigatório” ou “Por favor indique um email válido”)
  • Os campos com erro destacam-se visualmente (a cor da borda muda para indicar o problema)
  • A caixa de aceitação da política também mostra mensagem de erro se não estiver marcada

Critérios de Aceitação:

  • Quando o visitante tenta submeter sem preencher todos os campos obrigatórios, os erros aparecem junto dos campos em falta
  • Se o email não for válido (ex: falta o ”@”), aparece uma mensagem específica sobre o email
  • Se a aceitação da política não estiver marcada, aparece mensagem específica junto da caixa
  • O visitante não perde o que já escreveu nos outros campos
  • Assim que o visitante começa a corrigir o campo, a mensagem de erro desaparece desse campo
  • As mensagens de erro são lidas por leitores de ecrã

Variante 3 — Mensagem de sucesso (após submissão bem-sucedida)

Section titled “Variante 3 — Mensagem de sucesso (após submissão bem-sucedida)”

Como visitante, quero receber uma confirmação imediata de que a minha mensagem foi recebida, para ter a certeza de que o hotel vai receber o meu pedido.

M14 Variante 3 — Sucesso

Elementos visíveis:

  • Botão para fechar (ícone ”×”) no canto superior direito do painel
  • Ícone decorativo de envelope com marca de verificação (✓)
  • Título de confirmação (exemplo: “Mensagem enviada!”)
  • Pequeno texto de descrição a confirmar que o hotel entrará em contacto em breve
  • Botão para fechar o painel (exemplo: “FECHAR” ou “JOIN THE CLUB”)

Critérios de Aceitação:

  • A mensagem de sucesso substitui o formulário no mesmo painel (sem abrir outra janela)
  • O ícone de envelope com marca de verificação é visível
  • O título e a descrição de sucesso estão na língua da página (PT ou EN)
  • Ao clicar no botão de fechar, o painel fecha e o visitante volta à página onde estava
  • O email de notificação chega ao endereço do hotel configurado no backoffice
  • Se o hotel tiver ativado o envio de confirmação, o visitante recebe também um email com a confirmação da sua submissão

Variante 4 — Mensagem de erro (após falha de submissão)

Section titled “Variante 4 — Mensagem de erro (após falha de submissão)”

Como visitante, quero saber se algo correu mal no envio, para poder tentar de novo sem perder o que já escrevi.

Elementos visíveis:

  • Botão para fechar (ícone ”×”) no canto superior direito do painel
  • Ícone decorativo de envelope com indicação de problema (cruz ou aviso)
  • Título de erro (exemplo: “Algo correu mal”)
  • Pequeno texto a explicar que houve um problema técnico e que o visitante pode tentar de novo
  • Botão “TENTAR NOVAMENTE” que devolve o visitante ao formulário com os dados já preenchidos

Critérios de Aceitação:

  • A mensagem de erro substitui o formulário no mesmo painel
  • O título e a descrição de erro estão na língua da página (PT ou EN)
  • Ao clicar em “TENTAR NOVAMENTE”, o visitante vê de novo o formulário com os dados que tinha preenchido — nada se perde
  • O erro aparece apenas em caso de falha técnica real (problema de rede, servidor temporariamente indisponível) — erros de validação dos campos mostram-se na Variante 2, não aqui

Variante 5 — Botão de abertura (nas páginas do site)

Section titled “Variante 5 — Botão de abertura (nas páginas do site)”

Como editor, quero poder colocar um botão em qualquer página que abra um formulário específico, para que o visitante possa contactar o hotel a partir do contexto onde está.

Elementos visíveis:

  • Botão (em qualquer secção da página — numa banner, num bloco de texto, num cartão, ou como botão fixo no canto do ecrã)
  • Texto do botão definido pelo editor (exemplo: “Contactar-nos”, “Pedir orçamento”, “Saber mais”)

Critérios de Aceitação:

  • Ao clicar no botão, o painel do formulário abre com o formulário correspondente
  • O editor pode escolher qual o formulário (Formulário de Contacto, Formulário de Eventos, etc.) que cada botão abre
  • O mesmo botão pode aparecer várias vezes na página apontando para o mesmo formulário ou para formulários diferentes
  • Se o visitante partilhar uma ligação com ?form=nome-do-formulario no fim, o painel abre automaticamente ao carregar a página

Este módulo é interativo. O visitante pode abrir e fechar o painel, preencher o formulário, submeter e navegar entre os estados visuais.

InteraçãoDescrição
Clicar num botão da página que aponta para o formulárioAbre o painel, animado a deslizar da direita
Clicar no botão ”×” (fechar)Fecha o painel com animação inversa e volta à página
Clicar fora do painel (zona escurecida)Fecha o painel
Premir a tecla EscapeFecha o painel
Premir a tecla TabPercorre pelos campos do formulário pela ordem em que aparecem
Clicar num campo de textoAtiva o campo e permite escrever
Escrever no campo MensagemO contador de caracteres atualiza-se em tempo real
Marcar/desmarcar a caixa de política de privacidadeAtiva/desativa a aceitação necessária para submeter
Clicar no botão de submeterValida o formulário; se tudo estiver correto envia a mensagem; se houver problemas mostra os erros
Clicar em “TENTAR NOVAMENTE” no estado de erroVolta ao formulário com os dados preservados
Clicar no botão de fechar no estado de sucessoFecha o painel e volta à página
Partilhar/abrir uma ligação com ?form=nomeO painel abre automaticamente assim que a página carrega

Conteúdos geridos no backoffice para cada formulário. O mesmo formulário pode ser aberto por vários botões em várias páginas; basta criar o formulário uma vez e ligá-lo aos botões desejados.

ElementoTipoObrigatórioDescrição
TítuloTítuloSimTítulo principal no topo do painel. O editor escolhe o nível de cabeçalho (H1 a H6)
DescriçãoTextoNãoPequeno texto por baixo do título a explicar o propósito do formulário
Rótulo do campo NomeTextoSimTexto que aparece por cima do campo Nome (exemplo: “Nome”, “Seu nome”, “Name”)
Rótulo do campo EmailTextoSimTexto que aparece por cima do campo Email
Rótulo do campo MensagemTextoSimTexto que aparece por cima do campo Mensagem
Rótulo do botãoTextoSimTexto do botão de submissão (exemplo: “SUBMETER”, “ENVIAR”, “SUBMIT”)
Texto de política de privacidadeTexto com formatação (editor rico)SimTexto que aparece ao lado da caixa de seleção. Pode conter ligações (exemplo: para a página de Política de Privacidade)
Email de notificação do hotelTextoSimEndereço de email para onde chegam as submissões do formulário (ex: reservas@hotel.com)
Título de sucessoTextoSimTítulo a apresentar quando a mensagem é enviada com êxito (exemplo: “Mensagem enviada!”)
Descrição de sucessoTextoSimPequeno texto de confirmação (exemplo: “Obrigado pelo seu contacto. Respondemos em breve.”)
Título de erroTextoSimTítulo a apresentar quando ocorre um problema técnico (exemplo: “Algo correu mal”)
Descrição de erroTextoSimPequeno texto a explicar o erro (exemplo: “Não foi possível enviar a mensagem. Por favor, tente de novo.”)
Mensagem de campo obrigatórioTextoSimMensagem apresentada quando um campo obrigatório está vazio (exemplo: “Este campo é obrigatório”)
Mensagem de email inválidoTextoSimMensagem apresentada quando o email não tem formato válido (exemplo: “Indique um email válido”)
Mensagem de política não aceiteTextoSimMensagem apresentada quando a caixa da política não está marcada (exemplo: “Tem de aceitar a política de privacidade”)

Nota: Todos os textos visíveis ao visitante (títulos, descrições, rótulos, mensagens de erro, mensagens de sucesso) são geridos no backoffice e podem ser traduzidos por idioma (PT e EN). O hotel define uma vez por formulário e o módulo usa o texto correspondente à língua da página. Os campos Nome, Email e Mensagem são fixos — o hotel não adiciona nem remove campos no backoffice; a estrutura do formulário é standard para garantir consistência e segurança em todos os pontos de contacto do site.


Opções disponíveis no backoffice para personalizar o comportamento do formulário:

OpçãoValores possíveisValor padrãoDescrição
Ativar formulárioAtivo / InativoAtivoSe inativo, qualquer botão que aponte para este formulário deixa de o abrir
Limite de caracteres da mensagemNúmero (entre 50 e 500)100Define o máximo de caracteres que o visitante pode escrever no campo Mensagem
Enviar email de confirmação ao visitanteSim / NãoNãoSe “Sim”, o visitante recebe um email de confirmação automático após a submissão. Se “Não”, apenas o hotel recebe a notificação

Nota: O limite de caracteres da mensagem controla apenas o campo Mensagem. Nome e Email têm limites fixos adequados à sua natureza (Nome até 100 caracteres, Email até 255). O texto “0/100” que aparece no canto do campo Mensagem atualiza-se automaticamente em função do valor configurado nesta opção.


ElementoEcrã grande (computador)Ecrã pequeno (telemóvel)
Painel do formulárioDesliza da direita e ocupa aproximadamente 1/3 da largura do ecrã (cerca de 360px de largura). O resto da página fica visível e escurecido por trásOcupa toda a largura e altura do ecrã, cobrindo completamente a página por baixo
Título, descrição e camposAlinhados à esquerda com espaçamento confortável dentro do painelAlinhados à esquerda, mas com espaçamento ajustado ao ecrã pequeno e campos mais altos para facilitar o toque
Botão de submeterLargura automática, ajustada ao textoOcupa toda a largura do painel para facilitar o toque
Caixa de política de privacidadeCaixa de seleção à esquerda, texto à direita com quebra de linha automáticaCaixa à esquerda, texto à direita; se o texto for longo quebra para várias linhas
Fecho do painelO resto da página continua visível e escurecido; clicar fora do painel fecha-oO painel cobre toda a página; o botão ”×” e a tecla Escape são as formas principais de fechar

O módulo mantém a mesma estrutura (painel, título, campos, botões) em todos os tamanhos de ecrã. Ajusta-se apenas em dimensões, espaçamento e tamanho dos elementos para garantir uma boa utilização tanto no computador como no telemóvel.


EstadoDescrição
Fechado (inicial)O painel não é visível. A página normal é o que o visitante vê
A abrirO painel desliza da direita para o centro com uma animação suave (cerca de 0,3 segundos)
Aberto — formulárioO painel está totalmente visível com o formulário pronto a preencher
Ao passar o rato num campoO campo fica ligeiramente destacado para indicar que pode ser clicado
Campo selecionadoO campo onde o visitante está a escrever destaca-se com uma borda mais visível
Campo com erroO campo tem uma borda de cor diferente (sinalizando erro) e aparece uma mensagem curta por baixo
A submeterO botão de submissão fica bloqueado e mostra indicação de carregamento enquanto a mensagem está a ser enviada, para evitar submissões duplicadas
Aberto — sucessoO formulário é substituído pela mensagem de confirmação com ícone de envelope com marca de verificação
Aberto — erroO formulário é substituído pela mensagem de erro com ícone de envelope com cruz/aviso e botão “Tentar novamente”
Ao passar o rato no botão de submeterO botão muda ligeiramente de tom para indicar que é clicável
Ao passar o rato no botão ”דO ícone muda ligeiramente de tom para indicar que é clicável
A fecharO painel desliza de volta para a direita com a mesma animação (cerca de 0,3 segundos)
Ao carregar (dados em busca)Enquanto o formulário carrega do backoffice, o painel mostra uma pequena roda de carregamento no centro

  • O painel pode ser utilizado apenas com o teclado: tecla Tab para navegar entre os campos, tecla Enter para submeter, tecla Espaço para marcar a caixa de política, tecla Escape para fechar.
  • Quando o painel está aberto, o teclado fica “preso” dentro do painel — premir Tab nunca leva o visitante para elementos escondidos por trás do painel.
  • Ao abrir o painel, o primeiro elemento interativo fica automaticamente selecionado pelo teclado.
  • Ao fechar o painel, o teclado volta para o botão que abriu o painel, para que o visitante retome a leitura da página no sítio certo.
  • O painel é anunciado pelos leitores de ecrã como uma janela (dialog) — o leitor lê o título do formulário ao abrir.
  • Cada campo do formulário tem o seu rótulo associado explicitamente para leitores de ecrã.
  • As mensagens de erro junto de cada campo são anunciadas pelos leitores de ecrã assim que aparecem.
  • A mensagem de sucesso e a mensagem de erro são anunciadas de forma clara pelos leitores de ecrã.
  • O contador de caracteres da mensagem é acessível a leitores de ecrã (exemplo: “25 de 100 caracteres utilizados”).
  • O botão de fechar ”×” tem uma descrição para leitores de ecrã (“Fechar formulário”).
  • O ícone de envelope nas mensagens de sucesso/erro é puramente decorativo — o significado é transmitido pelo título e descrição.
  • O contraste entre texto, campos e fundo cumpre os requisitos de acessibilidade visual em todos os temas (mínimo 4.5:1).
  • Respeita a preferência do utilizador por movimento reduzido — quando esta opção está ativa no sistema operativo, a animação de abrir/fechar é desativada e o painel aparece e desaparece de forma imediata.
  • Enquanto o painel está aberto, a página por trás fica bloqueada (não rola), para que o visitante possa usar o teclado dentro do painel sem interferências.

O módulo adapta-se visualmente a cada hotel: cor de fundo do painel, cor do título, cor dos campos, cor do botão de submeter e tipografia seguem a identidade visual do hotel.

Os 8 hotéis suportados:

  • Savoy Signature
  • Savoy Palace
  • Royal Savoy
  • Saccharum
  • The Reserve
  • Calheta Beach
  • Gardens
  • Hotel Next

Notas por tema (com base no Figma):

  • Savoy Palace — painel em bege/creme, título em violeta profundo, botão de submeter em dourado escuro com texto branco, campos com fundo muito claro
  • Saccharum — painel em verde natural suave, título em verde escuro, botão de submeter em verde terroso, campos com fundo branco
  • Calheta Beach — painel em areia clara, título em coral, botão de submeter em vermelho/coral com texto branco
  • Hotel Next — painel em azul muito claro, título em azul escuro, botão de submeter em azul profundo com texto branco
  • Savoy Signature — painel em azul-marinho muito escuro, título e textos em bege/creme, botão de submeter em dourado claro com texto escuro

O esquema estrutural (painel lateral, título, campos, caixa de política, botão de submeter, mensagens de sucesso e erro) mantém-se consistente entre todos os hotéis — muda apenas a paleta de cores e a tipografia.


DataEstadoDescrição
2026-04-23RascunhoVersão inicial criada a partir do Figma
2026-04-23PublicadaPublicada no Docmost (nova página)