# Guia do Utilizador Rezvy

Bem-vindo ao Rezvy — a plataforma de gestão de reservas para qualquer negócio de serviços (barbearias, salões, clínicas, spas, restaurantes, campos desportivos, escape rooms e muito mais).

# Índice

# Guia do Utilizador Rezvy

Bem-vindo ao Rezvy — a plataforma de gestão de reservas para qualquer negócio de serviços
(barbearias, salões, clínicas, spas, restaurantes, campos desportivos, escape rooms e muito mais).

Este guia leva-o, passo a passo, desde a criação da conta até à gestão diária das marcações e da sua
página pública de reservas. Cada passo tem uma imagem ilustrativa do ecrã correspondente.

> **Contas de demonstração** (para experimentar): `owner@rezvy.com` / `Owner@123` (dono do negócio).

## Índice

1. **Começar** — criar conta, iniciar sessão e conhecer o backoffice.
2. **Configurar a loja** — tipo de agenda, horário, serviços, espaços, colaboradores e menu.
3. **Gerir marcações** — vistas da agenda, criar e editar marcações.
4. **Página pública de reservas** — personalizar e publicar a sua página; como o cliente reserva.
5. **Clientes** — base de clientes, duplicados e anonimização (RGPD).
6. **Mensagens e notificações** — email/SMS, lembretes e créditos.
7. **Pagamentos de clientes** — receber pagamentos no momento da reserva (Stripe).
8. **Planos e faturação** — escolher e gerir a sua subscrição.
9. **Estatísticas** — métricas do negócio.
10. **Multi-loja e equipas** — várias lojas, colaboradores e funções de acesso.
11. **Sincronizar com o telemóvel** — exportar a agenda para o calendário do telefone.
12. **Definições do negócio** — fuso horário, idiomas e dados.
13. **Contacto e suporte**.
14. **Cenários completos por tipo de negócio** — receitas "do zero" (barbearia, clínica, restaurante,
    padel, escape room, spa) + lista de verificação.
15. **Perguntas frequentes (FAQ)**.

## Conceitos rápidos

- **Negócio** — a sua empresa. Pode ter uma ou várias **lojas**.
- **Loja** — um local/unidade. Cada loja tem o seu horário, serviços, colaboradores e agenda.
- **Tipo de agenda** — define como as reservas funcionam na loja (por mesa, por colaborador, por
  espaço ou por serviço). É a definição mais importante — veja o capítulo 2.
- **Plano** — Grátis, Pro, Business ou À medida; define os limites e as funcionalidades disponíveis.

# 1. Começar

Este capítulo leva-o do "ainda não tenho conta" até estar dentro do backoffice, pronto para configurar o negócio. Demora cerca de \*\*5 minutos\*\*.

# Introdução

Este capítulo leva-o do "ainda não tenho conta" até estar dentro do backoffice, pronto para
configurar o negócio. Demora cerca de **5 minutos**.

**Vai precisar de:** o nome do negócio, um email válido (para confirmar a conta) e uma ideia de como
quer organizar as reservas (por colaborador, por mesa, por espaço ou por serviço — explicamos no
capítulo 2).

---

# 1.1 Criar a sua conta

O registo é um **assistente de 3 passos** que cria, de uma só vez, a sua conta de utilizador, o
**negócio** e a **primeira loja**. Não há registos "a meio": tudo é criado num único passo final.

1. Na página inicial, clique em **Criar conta** (ou abra `/Account/Register`).
2. **Passo 1 — Negócio:**
   - **Nome do negócio** (ex. "Barbearia Central"). É o nome que aparece na sua página pública.
   - **Morada** e **telefone** (opcionais, mas recomendados — aparecem aos clientes).
   - **Idioma principal:** o idioma em que a sua **página pública** vai aparecer aos clientes. O
     seletor abre já no idioma em que o site está a ser mostrado; mostra a bandeira e o nome do idioma.
3. **Passo 2 — Agenda e configuração:**
   - **Tipo de negócio:** escolha na lista (barbearia, salão, clínica, restaurante, padel, escape
     room, spa, etc.). A lista está agrupada por categoria com ícones.
   - **Tipo de agenda:** é **sugerido automaticamente** a partir do tipo de negócio (ex. barbearia →
     Por colaborador; restaurante → Por mesa). Só precisa de o escolher manualmente se selecionar
     "Outro".
   - **Incluir dados de exemplo** (ligado por defeito): cria serviços, colaboradores e/ou espaços de
     exemplo adequados ao tipo de negócio, para experimentar de imediato. Pode apagá-los depois.
4. **Passo 3 — Conta:** o seu **nome**, **email** e **palavra-passe** (mínimo 6 caracteres, com
   maiúscula, minúscula, número e símbolo). Clique em **Criar conta**.
5. A conta é criada **por confirmar**. Recebe um **email de confirmação** e é levado para a página
   "Verifique o seu email".

> 📸 **`01-registo-passo1.png`** — Passo 1 do assistente: nome do negócio + seletor de idioma com bandeira.
![Registo — passo 1](images/01-registo-passo1.png)

> 📸 **`01-registo-passo2.png`** — Passo 2: dropdown de tipo de negócio (agrupado), os cartões de tipo de agenda e a opção "Incluir dados de exemplo".
![Registo — passo 2](images/01-registo-passo2.png)

> 📸 **`01-registo-passo3.png`** — Passo 3: nome, email e palavra-passe, com o botão "Criar conta".
![Registo — passo 3](images/01-registo-passo3.png)

> 💡 **Cenário** — *"Tenho duas barbearias."* Crie a conta com uma delas; adiciona a segunda loja
> depois (capítulo 10). Não precisa de duas contas.

---

# 1.2 Confirmar o email

Por segurança, **não consegue iniciar sessão antes de confirmar o email**.

1. Abra o email **"Confirme o seu email"** enviado pelo Rezvy (verifique também o spam).
2. Clique no botão de confirmação.
3. Vê uma página de sucesso com ligação para **iniciar sessão**.

> 📸 **`01-confirmar-email.png`** — Página "Verifique o seu email" com o endereço e o botão de reenvio.
![Confirmar email](images/01-confirmar-email.png)

> ⚠️ **Não recebeu o email?** Na página "Verifique o seu email" há um botão **Reenviar**. Confirme
> que o endereço está correto. Os emails são enviados pelo nosso fornecedor (Brevo) — em alguns
> domínios empresariais podem demorar alguns minutos.

---

# 1.3 Iniciar sessão e recuperar a palavra-passe

1. Abra `/Account/Login`, introduza email e palavra-passe e clique em **Entrar**.
2. **Esqueci-me da palavra-passe:** clique na ligação, indique o email e receberá uma mensagem com um
   link para definir uma nova palavra-passe.
3. **Alterar a palavra-passe** (já autenticado): menu do utilizador → **Perfil** → **Alterar
   palavra-passe**.

> 📸 **`01-login.png`** — Ecrã de início de sessão com a ligação "Esqueci-me da palavra-passe".
![Login](images/01-login.png)

> ⚠️ **"Confirme o seu email" ao tentar entrar:** as credenciais estão certas mas a conta ainda não
> foi confirmada. Use a ligação de reenvio que aparece na mensagem de erro.

---

# 1.4 Conhecer o backoffice

Depois de entrar, é levado diretamente para a **Agenda** (separador Reservas) — é aí que vai passar a
maior parte do tempo. A navegação está numa **barra de topo com duas filas**.

**Fila de cima:**
- **Logótipo** (volta ao início).
- **Seletor de loja** — uma pílula com a loja ativa; só aparece se tiver mais do que uma loja. Clicar
  troca de loja.
- **Menu do utilizador** — mostra o seu nome e o **plano** subscrito; abre um popup com **Perfil**,
  **idioma**, **Ajuda** (se configurada) e **Terminar sessão**.

**Fila de baixo (separadores):**
- **Reservas** — a agenda e as marcações (capítulo 3).
- **Clientes** — a base de clientes (capítulo 5).
- **Colaboradores** — a equipa (capítulo 2.7).
- **Configuração da loja** — submenu: Agenda · Horário · Horário Especial · Serviços · Espaços · Menu.
- **Definições** — submenu: Negócio · Lojas · Página Pública (apenas o dono).

No telemóvel, a barra dá lugar a um ícone de **menu (☰)** que abre uma gaveta com a mesma navegação.

> 📸 **`01-backoffice-topbar.png`** — Barra de topo do backoffice com os separadores e o menu do utilizador aberto.
![Backoffice](images/01-backoffice-topbar.png)

> 📸 **`01-backoffice-mobile.png`** — Versão telemóvel com o menu (☰) e a gaveta de navegação aberta.
![Backoffice mobile](images/01-backoffice-mobile.png)

> 💡 **Quem vê o quê?** O que aparece nos menus depende da **função** do utilizador (Colaborador,
> Admin de loja, Admin do negócio). Veja as funções no capítulo 10.3.

---
**A seguir:** [Configurar a loja](02-configurar-loja.md) — o passo mais importante.

# 2. Configurar a loja

Toda a configuração operacional — horário, serviços, espaços, equipa, menu — pertence a uma \*\*loja\*\*. Se tiver várias lojas, \*\*confirme primeiro qual está ativa\*\* no seletor de loja (canto superior direito) antes de mexer nas definições.

# Introdução

Toda a configuração operacional — horário, serviços, espaços, equipa, menu — pertence a uma **loja**.
Se tiver várias lojas, **confirme primeiro qual está ativa** no seletor de loja (canto superior
direito) antes de mexer nas definições.

> 🧭 **Ordem recomendada:** (1) tipo de agenda → (2) horário → (3) serviços → (4) espaços, se aplicável
> → (5) colaboradores → (6) menu, se aplicável → (7) janela de reservas. Faça por esta ordem que tudo
> "encaixa".

---

# 2.1 Detalhes da loja

1. Vá a **Definições → Lojas** e clique em **Editar** na loja.
2. Preencha **nome, morada, telefone, email**.
3. **Localização no mapa (opcional, recomendado):** clique no mapa ou arraste o marcador para a porta
   da loja. As coordenadas tornam o endereço **clicável** na página pública — o cliente toca e abre o
   Google Maps com direções.
4. **Ativa/Inativa:** uma loja inativa deixa de aparecer na página pública e no seletor, mas mantém o
   histórico. Útil para fecho temporário.
5. Guarde.

> 📸 **`02-loja-editar.png`** — Página de edição da loja com o seletor de mapa (Leaflet/OpenStreetMap).
![Editar loja](images/02-loja-editar.png)

---

# 2.2 Escolher o tipo de agenda

Esta é a **definição mais importante**: controla como as reservas são estruturadas e como a agenda é
desenhada. Vá a **Configuração da loja → Agenda**.

| Tipo | Indicado para | A agenda mostra | A reserva pede |
|---|---|---|---|
| **Por mesa (TimeSlot)** | restaurantes | Gantt horizontal, 1 linha por mesa | mesa + nº de pessoas |
| **Por colaborador (ByStaff)** | barbearias, salões, clínicas | colunas por colaborador | serviço + profissional |
| **Por espaço (ByLocation)** | campos, salas, escape rooms | colunas por espaço | espaço (+ nº de pessoas) |
| **Por serviço (ByService)** | tratamentos sem profissional fixo | colunas por serviço | serviço (profissional opcional) |

1. Clique no **cartão** do tipo adequado.
2. Defina:
   - **Duração do intervalo** (ex. 15 min para barbearia, 30 min para clínica, 60 min para restaurante
     ou padel). É a "grelha" de horas.
   - **Antecedência mínima** — minutos antes de um horário em que ainda se aceita reserva online
     (ex. 120 = não se reserva para daqui a menos de 2 h).
   - **Limite diário** de reservas online (deixe vazio = sem limite).
   - **Antecedência máxima** (dias) — até quando se pode reservar (ex. 60 = dois meses).
3. Guarde.

> 📸 **`02-tipo-agenda.png`** — Página da Agenda com os quatro cartões de tipo de agenda e os campos de configuração.
![Tipo de agenda](images/02-tipo-agenda.png)

> ⚠️ **Mudar de tipo de agenda** numa loja já a funcionar muda a forma como as reservas existentes são
> mostradas. Evite trocar com a agenda cheia.

---

# 2.3 Horário de funcionamento

1. Vá a **Configuração da loja → Horário**.
2. Para cada dia da semana, ligue/desligue **Aberto**.
3. Defina **um ou mais intervalos** por dia. Para uma **pausa de almoço**, crie dois intervalos
   (ex. `09:00–13:00` e `15:00–19:00`) com o botão **+ Período**. O período entre eles fica fechado.
4. Guarde. O sistema **valida** e impede intervalos sobrepostos.

> 📸 **`02-horario.png`** — Grelha semanal com dois intervalos num dia (pausa de almoço).
![Horário](images/02-horario.png)

> 💡 Os horários disponíveis para reserva (online e no backoffice) saem **deste** horário, cruzado com
> o horário de cada colaborador (2.8) e com os conflitos existentes.

---

# 2.4 Horário especial e feriados

Para datas pontuais que fogem ao horário normal (feriados, inventários, eventos):

1. Vá a **Configuração da loja → Horário Especial** e clique em **Adicionar**.
2. Escolha a **data**.
3. Marque **Fechado** (a loja não aceita reservas nesse dia) **ou** defina **intervalos especiais**
   (ex. só de manhã).
4. Opcional: adicione uma **nota** (ex. "Natal", "Feriado Municipal").
5. Guarde.

O horário especial **substitui** o horário normal nessa data — na agenda do backoffice e na página
pública (os dias fechados aparecem bloqueados ao cliente).

> 📸 **`02-horario-especial.png`** — Adicionar um dia especial (fechado / horário personalizado) com nota.
![Horário especial](images/02-horario-especial.png)

---

# 2.5 Serviços

1. Vá a **Configuração da loja → Serviços** e clique em **Novo serviço**.
2. Preencha:
   - **Nome** e **descrição**.
   - **Duração** (minutos) — determina quanto espaço o serviço ocupa na agenda e os horários possíveis.
   - **Preço**.
   - **Cor** — usada para identificar o serviço na agenda (escolha um gradiente).
3. **Grupos (opcional):** crie grupos (ex. "Cabelo", "Barba") e associe os serviços; arraste pelo
   manípulo para **reordenar** serviços e grupos. Os grupos aparecem como cabeçalhos na reserva
   pública e nos seletores do backoffice.
4. Guarde. Pode marcar um serviço como **inativo** para o esconder sem o apagar.

> 📸 **`02-servicos-lista.png`** — Lista de serviços agrupados com cores, duração e preço, e o botão "Novo serviço".
![Serviços](images/02-servicos-lista.png)

> 📸 **`02-servico-editar.png`** — Edição de um serviço (duração, preço, cor, grupo).
![Editar serviço](images/02-servico-editar.png)

> 💡 **Cenário (clínica):** crie "Consulta" (30 min), "Fisioterapia" (45 min), "Nutrição" (30 min). A
> duração diferente faz com que cada serviço ocupe o espaço certo na agenda.

---

# 2.6 Espaços / mesas

Aplica-se às agendas **Por mesa** e **Por espaço**. Vá a **Configuração da loja → Espaços**.

1. Clique em **Novo espaço** e defina:
   - **Nome** (ex. "Mesa 4", "Campo 1", "Sala Egito").
   - **Capacidade** — nº máximo de pessoas (opcional).
   - **Preço** e **modo de preço:** *por reserva* (preço fixo) ou *por pessoa* (preço × nº de pessoas).
   - **Reserva exclusiva:** ligado = uma única reserva ocupa o espaço no intervalo (court, sala);
     desligado = várias reservas partilham até à capacidade (ex. mesa de bar comunitária).
2. Opcional: organize em **grupos** e arraste para reordenar.

> 📸 **`02-espacos.png`** — Lista de espaços/mesas com capacidade, preço e o indicador de exclusividade.
![Espaços](images/02-espacos.png)

> 💡 **Cenário (restaurante):** crie M1–M6 (exclusivas, capacidades 2–8) e "Bar" (partilhada, 4 lugares).
> 💡 **Cenário (padel):** crie "Campo 1–4" (exclusivos, €24/reserva).
> 💡 **Cenário (escape room):** crie as salas com preço **por pessoa** e capacidade (ex. 6/4/8).

---

# 2.7 Colaboradores

Em **Colaboradores → Novo colaborador**:

1. **Nome** e **cor** (usada na agenda para distinguir a coluna do colaborador).
2. **Função (acesso):**
   - **Colaborador** — só vê as reservas; sem acesso às definições; fica fixo à loja atribuída.
   - **Admin de loja** — gere as definições da loja (horário, serviços, agenda); não mexe no negócio
     nem noutras lojas.
   - **Admin do negócio** — acesso total (como o dono).
3. **Lojas:** atribua a uma ou mais lojas. Por loja, defina o **âmbito de serviços**: *Todos*,
   *Selecionados* (escolhe a lista) ou *Nenhum* (atribuído mas não recebe marcações nessa loja).
4. **Serviços:** se o âmbito for *Selecionados*, escolha que serviços o colaborador realiza. Sem
   serviços selecionados = realiza todos.
5. **Conta de acesso (opcional):** associe um **email + palavra-passe** para o colaborador entrar na
   plataforma. Pode desassociar depois.
6. Guarde.

> 📸 **`02-colaborador-editar.png`** — Edição de colaborador: função, lojas atribuídas, âmbito de serviços e conta de acesso.
![Colaborador](images/02-colaborador-editar.png)

> 💡 O dono é automaticamente criado como colaborador com acesso a todas as lojas — por isso no plano
> Grátis (1 profissional) o dono já é esse profissional.

---

# 2.8 Horário de trabalho do colaborador (por loja)

Define em que horas cada colaborador trabalha — útil quando difere do horário da loja.

**Exemplo:** a loja abre das **09:00 às 22:00**, mas a Ana só trabalha das **09:00 às 14:00**. Sem
horário personalizado, o sistema ofereceria slots da Ana a toda a hora; com ele, só oferece 09:00–14:00.

1. Na edição do colaborador, ligue **"Usar horário personalizado"**.
2. Para **cada loja atribuída** aparece uma grelha de **7 dias**. Em cada dia marque **Trabalha** e
   defina os intervalos (suporta vários por dia, ex. manhã + tarde).
3. Guarde.

**Regras importantes:**

- Os horários disponíveis do colaborador são a **interseção** do horário da loja com o seu horário. Se
  definir um horário **maior** que o da loja, só contam as horas em que **ambos** coincidem.
- Quem está atribuído a **2 ou mais lojas é obrigado** a usar horário personalizado (tem de dizer as
  horas em cada loja). O interruptor fica **ligado e bloqueado**.
- Na **agenda diária**, as horas em que o colaborador **não está na loja** aparecem **sombreadas** na
  coluna dele; arrastar uma marcação para essas horas é **recusado**.
- Na **edição/criação manual**, marcar para fora do horário do colaborador mostra um **alerta** e
  **impede** a gravação.

> 📸 **`02-horario-colaborador.png`** — "Usar horário personalizado" ligado, com uma grelha de 7 dias por loja.
![Horário do colaborador](images/02-horario-colaborador.png)

> 📸 **`02-agenda-bloqueio.png`** — Coluna de um colaborador na agenda diária com as horas fora do horário sombreadas.
![Bloqueio na agenda](images/02-agenda-bloqueio.png)

---

# 2.9 Menu

Para negócios com menu (ex. restaurantes), vá a **Configuração da loja → Menu**:

1. Crie **categorias** (ex. "Entradas", "Pratos", "Sobremesas").
2. Dentro de cada categoria, crie **itens** (nome, descrição, preço, **imagem** — carregada e
   recortada no editor).
3. Arraste pelo manípulo para **reordenar** categorias e itens.

O menu pode ser mostrado na página pública (capítulo 4) e está disponível para qualquer tipo de agenda.

> 📸 **`02-menu.png`** — Gestão do menu: categorias e itens com fotos.
![Menu](images/02-menu.png)

---

# 2.10 Janela de reservas (resumo)

Os campos do passo 2.2 controlam **quando** o cliente pode reservar online:

- **Antecedência mínima** — evita reservas "para já".
- **Antecedência máxima (dias)** — até quando se aceita.
- **Limite diário** — trava o nº de reservas por dia.

No dia atual, os horários já passados (e dentro da antecedência mínima) deixam de aparecer
automaticamente.

---
**A seguir:** [Gerir marcações](03-gerir-marcacoes.md).

# 3. Gerir marcações

O separador \*\*Reservas\*\* é o centro do dia-a-dia: mostra a agenda da \*\*loja ativa\*\* e é onde cria, move, confirma e cancela marcações.

# Introdução

O separador **Reservas** é o centro do dia-a-dia: mostra a agenda da **loja ativa** e é onde cria,
move, confirma e cancela marcações.

---

# 3.1 As vistas da agenda

Use a barra de ferramentas no topo (prev/hoje/próximo + seletor de data + seletor de vista) para
alternar:

- **Dia** — a vista de trabalho principal.
  - Para *Por colaborador / serviço / espaço*: uma **grelha** com uma coluna por colaborador/serviço/
    espaço e as horas na vertical. As marcações são barras coloridas (cor do serviço).
  - Para *Por mesa*: um **Gantt horizontal**, uma linha por mesa, as barras posicionadas no tempo.
- **Semana** — visão geral dos 7 dias; cada dia mostra até **50 marcações** (com indicação de "+N
  mais" quando há mais). Clicar numa marcação abre os Detalhes.
- **Mês** — calendário mensal com a contagem de marcações por dia.
- **Lista** — lista cronológica, com **paginação** e os mesmos filtros das outras vistas.

**Barra lateral (esquerda):** mini-calendário para saltar de data + **filtros** por colaborador/
serviço/espaço (clique para esconder/mostrar) + filtro por serviço. Os filtros **persistem** entre as
vistas e entre sessões.

**No telemóvel:** uma faixa de dias no topo + um botão de **filtros**.

> 📸 **`03-agenda-dia.png`** — Vista de Dia (grelha por colaborador) cheia, com a barra lateral de filtros. (Há capturas reais em `design/screenshots/cal*.png`.)
![Agenda — Dia](images/03-agenda-dia.png)

> 📸 **`03-agenda-semana.png`** — Vista de Semana com os filtros e o "+N mais" num dia cheio.
![Agenda — Semana](images/03-agenda-semana.png)

> 📸 **`03-agenda-gantt.png`** — Vista de Dia em Gantt (Por mesa), uma linha por mesa.
![Agenda — Gantt](images/03-agenda-gantt.png)

---

# 3.2 Criar uma marcação

1. Clique em **+ Nova marcação** (ou clique diretamente num espaço livre da agenda — já abre com a
   data/hora/coluna preenchidas).
2. **Data e hora:** os horários oferecidos respeitam o horário da loja, o horário do colaborador
   (2.8), a antecedência mínima e os conflitos. Os indisponíveis aparecem riscados.
3. **Cliente:** nome + **telefone e/ou email** (pelo menos um, se quiser que o cliente receba
   notificações). O cliente é criado/ligado automaticamente ao guardar.
4. **Detalhes da reserva** (conforme o tipo de agenda):
   - *Por colaborador:* **serviço** + **profissional**.
   - *Por serviço:* **serviço** (profissional opcional).
   - *Por espaço / mesa:* **espaço/mesa** + **nº de pessoas**.
5. **Notas** (opcional).
6. Guarde.

**Multi-serviço (Por colaborador):** adicione vários serviços ao mesmo cliente; cada um pode ter um
**profissional diferente** (ou "sem preferência") e são **encadeados em sequência**. Gera uma marcação
por serviço, ligadas como **grupo**.

**Recorrente:** marque a repetição (ex. semanal) e a **data de fim**. (Marcações multi-serviço não
podem ser recorrentes.)

> 📸 **`03-criar-marcacao.png`** — Formulário de criação: cliente, serviço, profissional e a lista de horários disponíveis.
![Criar marcação](images/03-criar-marcacao.png)

> 📸 **`03-multi-servico.png`** — Reserva multi-serviço com vários serviços e profissionais.
![Multi-serviço](images/03-multi-servico.png)

> ⚠️ Se tentar marcar fora do horário do colaborador, ou em conflito com outra marcação, o formulário
> mostra o erro e **não grava** — corrija a hora/profissional.

---

# 3.3 Detalhes da marcação e histórico

Clique numa marcação (na barra da agenda, ou no nome na vista de Lista) para abrir os **Detalhes** —
um ecrã só de leitura com:

- Quando, serviço/profissional (ou mesa/espaço + nº de pessoas), **estado**, **preço/pagamento**,
  contacto do cliente, notas e as **marcações irmãs** do grupo (se for multi-serviço).
- **Histórico de atividade** — linha do tempo: criada, confirmada, cancelada, reaberta, remarcada,
  pagamento recebido — com quem fez a ação ("· Cliente" ou "· Nome (Staff)").
- **Histórico de notificações** — o que foi enviado, quando e por que canal.

A partir daqui: **Confirmar / Cancelar / Reabrir**, **Reenviar confirmação**, ou **Editar**.

> 📸 **`03-detalhes.png`** — Ecrã de Detalhes com a linha do tempo de atividade e o histórico de notificações.
![Detalhes](images/03-detalhes.png)

---

# 3.4 Estados e ações

- **Pendente** — recebida, à espera de confirmação (a menos que a loja tenha confirmação automática).
- **Confirmada** — confirmada por si ou pelo cliente.
- **Cancelada** — pode ser **reaberta**.
- **Aguarda pagamento** — quando há pagamento online por concluir (capítulo 7).

Para marcações de **grupo** (multi-serviço), ao confirmar/cancelar pode escolher fazer só àquela ou ao
**grupo inteiro**.

---

# 3.5 Mover, redimensionar e remarcar

- **Arrastar** uma marcação na grelha muda a **hora**; arrastar para **outra coluna** muda o
  **colaborador / serviço / espaço**.
- **Redimensionar** pela aresta (inferior na grelha, direita no Gantt) muda a **duração**.
- Cada alteração pede **confirmação** e é validada (horário, conflitos, horário do colaborador,
  capacidade/exclusividade dos espaços). Se for inválida, é recusada com uma mensagem.
- Ao remarcar, o cliente é **notificado** ("Alterada") e o lembrete é reagendado.

**No telemóvel:** mantenha o dedo **premido ~0,3 s** sobre a marcação até esta "levantar" (vibra)
antes de arrastar/redimensionar — assim não mexe sem querer quando faz scroll. Um toque rápido abre os
Detalhes.

> 📸 **`03-arrastar.png`** — Marcação a ser arrastada para outra coluna/hora, com o modal de confirmação.
![Arrastar](images/03-arrastar.png)

---

# 3.6 Dicas e resolução de problemas

- **"Não aparecem horários":** o dia pode estar fechado (horário ou horário especial), o colaborador
  pode não estar a trabalhar nesse dia, ou a antecedência mínima/limite diário foram atingidos.
- **"O profissional não pode fazer este serviço":** o âmbito de serviços do colaborador nessa loja não
  inclui o serviço (2.7).
- **Sincronizar com o telemóvel:** exporte a agenda para o calendário do telefone (capítulo 11).

---
**A seguir:** [Página pública de reservas](04-pagina-publica.md).

# 4. Página pública de reservas

A página pública é a "montra" online do seu negócio: os clientes veem as lojas, os serviços, o menu e \*\*reservam sozinhos\*\*, com a sua marca e cores. Cada negócio tem o seu endereço (ex. `rezvy.app/p/o-meu-negocio`).

# Introdução

A página pública é a "montra" online do seu negócio: os clientes veem as lojas, os serviços, o menu e
**reservam sozinhos**, com a sua marca e cores. Cada negócio tem o seu endereço (ex.
`rezvy.app/p/o-meu-negocio`).

---

# 4.1 Abrir o editor

Vá a **Definições → Página Pública** (apenas o **dono**). O editor tem dois lados: à esquerda os
campos, à direita uma **pré-visualização ao vivo** (com alternância **telemóvel / computador** e
ecrãs de loja).

> 📸 **`04-editor-pagina.png`** — Editor da página pública com a pré-visualização temática ao lado.
![Editor da página pública](images/04-editor-pagina.png)

---

# 4.2 Marca e aparência

1. **Título** e **subtítulo** da página.
2. **Logótipo** e **imagem de capa** — carregue e **recorte** as imagens no próprio editor (o logótipo
   serve também de ícone/favicon e da app instalável).
3. **Tema de cor** — escolha um dos temas prontos (40 claros + 10 escuros). A página inteira é colorida
   a partir do tema escolhido.
4. **Redes sociais** e **mensagem de rodapé**.

> 📸 **`04-tema.png`** — Grelha de temas de cor + carregamento de logótipo/capa com recorte.
![Tema](images/04-tema.png)

---

# 4.3 Endereço (slug), subdomínio e QR

1. No cartão **Endereço**, defina o **slug** (2–40 caracteres, minúsculas/hífens). A página fica em
   `.../p/o-slug`. O editor mostra **disponibilidade ao vivo** e valida o formato.
2. **Subdomínio personalizado** (planos **Pro+**): ligue para servir a página também em
   `o-slug.rezvy.app`. (Requer DNS/TLS do lado da plataforma.)
3. O slug pode ser alterado **uma vez por semana** (o editor mostra a data do próximo pedido permitido).
4. Cada loja tem uma **ligação direta** e um **código QR** (botão **QR**) com opções de **Descarregar**
   e **Imprimir** — ideal para balcão, montra ou cartões.

> 📸 **`04-endereco-qr.png`** — Cartão de endereço (slug + interruptor de subdomínio) e o popup do QR.
![Endereço e QR](images/04-endereco-qr.png)

---

# 4.4 Opções por loja

Para **cada loja**, no editor:

- **Mostrar reservas** — permite reservar nessa loja.
- **Mostrar menu** — mostra o menu na página da loja.
- **Capa da loja** — imagem própria.
- **Confirmação automática** — as reservas recebidas ficam logo **Confirmadas** (dispensa a
  confirmação manual).
- **Reordenar** — arraste as lojas para definir a ordem na página.

> 📸 **`04-lojas-toggles.png`** — Lista de lojas no editor com os interruptores e o arrastar-para-ordenar.
![Opções por loja](images/04-lojas-toggles.png)

---

# 4.5 Pré-visualizar, publicar e instalar (PWA)

- Use a **pré-visualização** (telemóvel/computador) para confirmar o aspeto antes de divulgar.
- Quando a página está **publicada**, fica acessível no endereço. Partilhe o link/QR.
- A página pública é **instalável como app (PWA)** no telemóvel do cliente (e da sua equipa) — abre em
  ecrã inteiro a partir do ícone.

---

# 4.6 Como o cliente reserva (o fluxo público)

A página guia o cliente por um **assistente**:

1. **Escolher** — serviço / espaço / nº de pessoas (e, em barbearias, o **profissional** ou "sem
   preferência"). Há um **carrinho** lateral com o resumo e o total.
2. **Horário** — escolhe o dia (faixa de dias) e a hora; **só aparecem horários realmente
   disponíveis** (cruzando horário da loja, do profissional e conflitos).
3. **Confirmar** — preenche nome/contacto e confirma. Se a loja tiver **pagamentos** ativos, segue
   para o checkout do Stripe (capítulo 7).

Depois da reserva, o cliente recebe a confirmação por **email/SMS** e pode **confirmar ou cancelar**
sozinho pelo link `/c/{token}` na mensagem.

> 📸 **`04-fluxo-cliente.png`** — Assistente público no passo do Horário, com o carrinho lateral.
![Fluxo do cliente](images/04-fluxo-cliente.png)

> 📸 **`04-sucesso.png`** — Ecrã de confirmação da reserva (com o resumo/timeline dos serviços).
![Sucesso](images/04-sucesso.png)

> 💡 **A página pública aparece no idioma do negócio** (e nos idiomas adicionais que oferecer), não no
> idioma global do site. Configure os idiomas em Definições → Negócio (capítulo 12).

---

# 4.7 Dicas e resolução de problemas

- **"O link não funciona":** confirme que a página está **publicada** e que a loja tem **Mostrar
  reservas** ligado.
- **"Não recebo reservas":** verifique a janela de reservas (2.2/2.10) e se há horário/colaboradores
  disponíveis.
- **Subdomínio:** disponível só em **Pro+**; sem o plano, a página continua a funcionar em `.../p/slug`.

---
**A seguir:** [Clientes](05-clientes.md).

# 5. Clientes

O separador \*\*Clientes\*\* é a base de clientes do negócio (partilhada entre as lojas do mesmo negócio).

# Introdução

O separador **Clientes** é a base de clientes do negócio (partilhada entre as lojas do mesmo negócio).

# 5.1 Ver e gerir clientes

1. A lista mostra nome, contacto, nº de marcações e última visita, com **pesquisa**, **ordenação**,
   **filtro por loja** e paginação.
2. **Novo cliente:** clique em **Novo** e preencha nome + telefone e/ou email (pelo menos um) e,
   opcionalmente, a morada.
3. **Editar/Apagar:** pelos botões na linha do cliente.

Um cliente é **criado automaticamente** sempre que guarda uma marcação com telefone/email.

> 📸 **`05-clientes-lista.png`** — Lista de clientes com pesquisa e filtro por loja.
![Clientes](images/05-clientes-lista.png)

# 5.2 Duplicados e fusão

Quando o sistema deteta um possível **duplicado** (mesmo telefone/email em registos diferentes),
mostra um aviso. Clique nele para abrir a página de **fusão** e escolher, campo a campo, que valores
manter. As marcações do registo removido passam para o mantido.

> 📸 **`05-fusao.png`** — Página de fusão de dois clientes (escolha campo a campo).
![Fusão de clientes](images/05-fusao.png)

# 5.3 Anonimização (RGPD)

Para cumprir o **direito ao esquecimento**, use **Anonimizar** na linha do cliente: os dados pessoais
(nome, contactos, morada e notas) são apagados de forma irreversível, mas as marcações e estatísticas
mantêm-se (sem identificar a pessoa). O cliente fica marcado como anonimizado.

> 📸 **`05-anonimizar.png`** — Botão de anonimização e o aviso de confirmação.
![Anonimizar](images/05-anonimizar.png)

# 5.4 Dicas e resolução de problemas

- **Cliente sem contacto:** um cliente tem de ter **telefone ou email** (pelo menos um). Sem nenhum
  contacto, a marcação grava na mesma, mas o cliente não é criado/ligado nem recebe notificações.
- **Números de telefone:** são guardados em formato internacional (E.164). Use o seletor de país no
  campo de telefone para garantir o indicativo certo.
- **Clientes não são partilhados entre negócios** — cada negócio tem a sua própria base.

> 💡 **Cenário:** um cliente reservou online com o email e, mais tarde, ligou e marcou pelo telefone.
> O sistema deteta o **duplicado** (mesmo nome/contacto em registos diferentes) e mostra o aviso —
> faça a **fusão** (5.2) para manter o histórico unificado.

---
**A seguir:** [Mensagens e notificações](06-mensagens.md).

# 6. Mensagens e notificações

O Rezvy envia automaticamente mensagens aos clientes (confirmação, alterações, cancelamento e lembretes), por \*\*email\*\* e/ou \*\*SMS\*\*. Configure tudo em \*\*Mensagens\*\* (no menu de Definições).

# Introdução

O Rezvy envia automaticamente mensagens aos clientes (confirmação, alterações, cancelamento e
lembretes), por **email** e/ou **SMS**. Configure tudo em **Mensagens** (no menu de Definições).

# 6.1 Canais e modelos

1. Ligue/desligue os canais **Email** e **SMS**.
2. Para cada **evento** (Criada, Alterada, Cancelada, Lembrete) e canal, edite o **assunto** e o
   **texto** do modelo. Pode usar **marcadores** que são substituídos automaticamente, por exemplo:
   `%NOME%`, `%NOME_NEGOCIO%`, `%DATA%`, `%SERVICO%`, `%COLABORADOR%`, `%LINK_CANCELAR%`.
3. Use **Repor predefinição** para voltar ao modelo original.

> 📸 **`06-modelos.png`** — Página de Mensagens com os modelos de email/SMS e os marcadores.
![Modelos de mensagens](images/06-modelos.png)

# 6.2 Lembretes e confirmação por link

- Defina a **antecedência** dos lembretes (horas antes da marcação).
- Cada mensagem inclui um link `/c/{token}` onde o cliente pode **confirmar ou cancelar** sozinho.
- Um lembrete por SMS pode ser automaticamente **dispensado** se a marcação já estiver confirmada.

# 6.3 Créditos de SMS e Email

O seu plano inclui uma **mensalidade** de emails e SMS. Quando esgota, o envio passa a consumir
**créditos comprados** (que não expiram).

1. A página de **Mensagens** mostra o **saldo** e tem uma ligação **Comprar créditos**.
2. Em **Subscrições** encontra os cartões **"Comprar créditos SMS"** e **"Comprar créditos de email"**:
   escolha um pacote e pague por Stripe; o saldo é creditado automaticamente.

> 📸 **`06-creditos.png`** — Cartões de compra de créditos SMS e Email na página de Subscrições.
![Créditos](images/06-creditos.png)

# 6.4 Remetente de SMS

Pode definir o **nome do remetente** dos SMS na página de Mensagens. Até ser aprovado, os SMS saem com
o remetente predefinido da plataforma.

# 6.5 Dicas e resolução de problemas

- **"As mensagens não saem":** confirme que o **canal** (Email/SMS) está ligado, que o cliente tem o
  contacto desse canal, e que ainda há **mensalidade ou créditos** (6.3). O histórico de notificações
  de cada marcação (3.3) mostra o estado: Enviada / Falhada / **Dispensada** (com o motivo).
- **SMS "Dispensado":** sem saldo, ou o lembrete por SMS foi dispensado porque a marcação já estava
  confirmada à hora do envio.
- **Email vai para spam:** peça aos clientes para adicionarem o remetente aos contactos; o conteúdo é
  enviado num modelo HTML com a sua marca.
- **Sem chaves configuradas (ambiente de teste):** os envios são apenas registados como "Falhada" sem
  enviar — normal sem as chaves de Email/SMS.

> 💡 **Cenário:** quer reduzir faltas. Ative o **Lembrete** por email 24 h antes e, opcionalmente, por
> **SMS** 3 h antes; junte o link `/c/{token}` para o cliente confirmar com um toque.

---
**A seguir:** [Pagamentos de clientes](07-pagamentos.md).

# 7. Pagamentos de clientes

Pode pedir aos clientes que \*\*paguem no momento da reserva\*\*, através do \*\*Stripe\*\*. (Disponível nos planos com pagamentos online — ver capítulo 8.)

# Introdução

Pode pedir aos clientes que **paguem no momento da reserva**, através do **Stripe**. (Disponível nos
planos com pagamentos online — ver capítulo 8.)

# 7.1 Ligar a conta Stripe

1. Vá a **Pagamentos de Clientes** (no menu de Definições).
2. Clique em **Ligar ao Stripe** e siga o processo de onboarding do Stripe (Stripe Connect). Os
   pagamentos vão diretamente para a sua conta Stripe.
3. Quando a conta ficar **Ativa**, pode ativar os pagamentos por loja.

> 📸 **`07-stripe-connect.png`** — Página de Pagamentos com o botão de ligação ao Stripe e o estado da conta.
![Stripe Connect](images/07-stripe-connect.png)

# 7.2 Regras de pagamento por loja

Para cada loja, defina:

- **Pagamentos ativos** — liga/desliga.
- **Exigir pagamento** — obriga a pagar para confirmar, ou deixa o cliente escolher.
- **Valor** — preço do serviço (ou do espaço), ou um **valor fixo**.
- **Moeda**.

> 📸 **`07-regras-pagamento.png`** — Definições de pagamento de uma loja.
![Regras de pagamento](images/07-regras-pagamento.png)

# 7.3 Como o cliente paga

Quando os pagamentos estão ativos, ao confirmar a reserva o cliente é levado para o **checkout do
Stripe**. A marcação fica **Aguarda pagamento** até o pagamento ser confirmado; depois passa a
**Confirmada** e o valor pago fica registado nos detalhes da marcação.

# 7.4 Reembolsos e estados

- O pagamento é registado nos **Detalhes** da marcação (valor, moeda, data).
- A marcação fica **Aguarda pagamento** até o Stripe confirmar; só depois passa a **Confirmada**. Se o
  cliente abandonar o checkout, a reserva fica por concluir (não ocupa o lugar definitivamente).
- Os reembolsos são tratados na sua conta **Stripe** (os fundos vão diretamente para si).

# 7.5 Dicas e resolução de problemas

- **"O botão de Stripe está desativado":** o plano atual não inclui pagamentos online (capítulo 8), a
  conta Stripe ainda não está **Ativa**, ou os pagamentos da loja estão desligados.
- **Onboarding incompleto:** o Stripe pode pedir documentos/dados adicionais; conclua o processo até a
  conta ficar **Ativa**.

> 💡 **Cenário (padel):** exija **pagamento para confirmar** (RequirePayment) os campos ao fim de
> semana, para reduzir no-shows; defina o valor = preço do espaço.

---
**A seguir:** [Planos e faturação](08-planos.md).

# 8. Planos e faturação

O Rezvy tem quatro planos. Os limites são \*\*totais por negócio\*\* (`∞` = ilimitado):

# 8.1 Os planos

O Rezvy tem quatro planos. Os limites são **totais por negócio** (`∞` = ilimitado):

| | Grátis | Pro | Business | À medida |
|---|---|---|---|---|
| €/mês | 0 | 19 | 49 | sob consulta |
| Lojas | 1 | 1 | 5 | * |
| Profissionais | 1 | 5 | 20 | * |
| Serviços | 1 | 10 | 100 | * |
| Espaços | 1 | 10 | 100 | * |
| Emails/mês | 100 | 2 000 | 10 000 | * |
| SMS incluídos/mês | 0 | 100 | 500 | * |
| Pagamentos online | — | ✓ | ✓ | * |
| Subdomínio próprio | — | ✓ | ✓ | * |
| Estatísticas avançadas | — | — | ✓ | * |

Os limites são aplicados **na criação** (se já estiver acima de um limite ao mudar de plano, mantém o
que tem, mas não pode criar mais até ficar abaixo).

# 8.2 Ver e mudar de plano

1. Vá a **Subscrições** (no menu de Definições).
2. Vê o **plano atual**, as **barras de utilização** (lojas, equipa, serviços, espaços, emails e SMS
   do mês) e a **grelha de planos**.
3. Clique em **Upgrade/Downgrade** para o plano desejado, escolha **mensal ou anual** e conclua o
   pagamento por **Stripe**. As mudanças são reconciliadas automaticamente.

> 📸 **`08-subscricoes.png`** — Página de Subscrições com a utilização e a grelha de planos.
![Subscrições](images/08-subscricoes.png)

# 8.3 Reduzir de plano

Se a utilização atual ultrapassar os limites do plano para onde quer ir, o sistema mostra uma
**revisão de downgrade** com os recursos a reduzir e ligações para os gerir. Só pode confirmar depois
de ficar dentro dos limites.

> 📸 **`08-downgrade.png`** — Ecrã de revisão de downgrade (recursos acima do limite).
![Revisão de downgrade](images/08-downgrade.png)

# 8.4 Plano À medida

O plano **À medida** é configurado por um administrador da plataforma (limites e preço anual). Aparece
como **pendente de pagamento** até pagar; entretanto os limites negociados já estão ativos. Pague pelo
botão **"Pagar X/ano"**.

# 8.5 Créditos e portal de faturação

- **Créditos SMS/Email** compram-se nesta página (cartões dedicados) e **não expiram** — são
  consumidos depois de esgotada a mensalidade do plano (capítulo 6.3).
- Se tem uma subscrição ativa, o botão **Gerir faturação** abre o **portal do Stripe** (métodos de
  pagamento, faturas).
- Ao mudar de plano com uma subscrição ativa, o tempo não usado é **creditado** nas faturas seguintes
  (proração do Stripe) — o ecrã explica isso antes de confirmar.

# 8.6 Dicas e resolução de problemas

- **"Não consigo reduzir de plano":** a sua utilização atual ultrapassa os limites do plano-alvo.
  Reduza os recursos em excesso (lojas/equipa/serviços/espaços) e volte a tentar — a revisão de
  downgrade (8.3) indica exatamente o que reduzir.
- **Plano atribuído por admin acima do limite:** mantém o que tem (grandfathering), mas não cria mais
  até ficar abaixo.

> 💡 **Cenário:** abriu a 2.ª loja e precisa de multi-loja → faça **upgrade para Business** (até 5
> lojas). Se for sazonal, pode voltar a **Free/Pro** no fim (respeitando os limites).

---
**A seguir:** [Estatísticas](09-estatisticas.md).

# 9. Estatísticas

A página \*\*Estatísticas\*\* (disponível no plano \*\*Business\*\* ou superior) é um painel de análise do negócio.

# Introdução

A página **Estatísticas** (disponível no plano **Business** ou superior) é um painel de análise do
negócio.

1. Vá a **Estatísticas** (no menu de Definições).
2. Escolha o **âmbito** (loja atual, uma loja específica ou todas as lojas) e o **período** (Hoje, 7,
   30 ou 90 dias, ou um intervalo personalizado).
3. Analise os grupos de métricas:
   - **Marcações e ocupação** — estados, taxas de confirmação/cancelamento, por dia da semana e hora,
     ocupação aproximada.
   - **Clientes** — total, novos, ativos, recorrentes, contactáveis.
   - **Equipa / Serviços / Espaços** — mais usados e não usados.
   - **Receita** — valores recebidos, ticket médio, conversão (quando há pagamentos ativos).
   - **Notificações** — enviadas/falhadas/dispensadas, por evento e canal.
   - **Visitas à página pública e ao menu**.
   - **Insights de reserva** — dia/hora de pico, antecedência média.

Se o seu plano não incluir estatísticas avançadas, a página mostra um cartão de **upgrade**.

> 📸 **`09-estatisticas.png`** — Painel de estatísticas com o seletor de loja/período e os cartões de métricas.
![Estatísticas](images/09-estatisticas.png)

# 9.1 Como ler os números

- A **ocupação** é aproximada (marcações ÷ slots da agenda × colunas) — serve para comparar dias/horas,
  não como contabilidade exata.
- A **receita** só aparece quando uma loja do âmbito tem **pagamentos ativos** (valores realmente
  cobrados, via Stripe).
- As **visitas à página pública/menu** contam **a partir do momento em que a funcionalidade entrou** —
  não há histórico anterior.

# 9.2 Dicas

> 💡 **Cenário:** descobre que **sexta às 18:00** é o pico e **terça de manhã** está vazia. Crie uma
> promoção para terça de manhã (mais serviços/menos preço) e reforce a equipa à sexta à tarde.

- Use o **âmbito "Todas as lojas"** para comparar lojas; use uma loja específica para detalhe.
- Combine com **Notificações** (taxa de cancelamento) e **Clientes** (recorrentes vs. dormentes) para
  decidir campanhas.

---
**A seguir:** [Multi-loja e equipas](10-multi-loja.md).

# 10. Multi-loja e equipas

1\. Crie lojas em \*\*Definições → Lojas → Nova loja\*\*. Cada loja tem o seu horário, serviços, colaboradores, menu e agenda próprios (uma nova loja já vem com uma agenda semanal por preencher). 2. Alterne entre lojas no \*\*seletor de loja\*\* (pílula no canto superior). A loja ativa é guardada entre sessões. 3. \*\*Apagar\*\* uma loja remove tudo o que lhe pertence; o histórico de marcações dessa loja também é removido (há um aviso claro). Não é possível apagar a última loja.

# 10.1 Várias lojas

1. Crie lojas em **Definições → Lojas → Nova loja**. Cada loja tem o seu horário, serviços,
   colaboradores, menu e agenda próprios (uma nova loja já vem com uma agenda semanal por preencher).
2. Alterne entre lojas no **seletor de loja** (pílula no canto superior). A loja ativa é guardada
   entre sessões.
3. **Apagar** uma loja remove tudo o que lhe pertence; o histórico de marcações dessa loja também é
   removido (há um aviso claro). Não é possível apagar a última loja.

> 📸 **`10-seletor-loja.png`** — Seletor de loja aberto na barra de topo.
![Seletor de loja](images/10-seletor-loja.png)

# 10.2 Colaboradores entre lojas

Um colaborador pode estar atribuído a **várias lojas**, com âmbito de serviços diferente em cada uma e
**horário de trabalho por loja** (ver 2.8). Quando tem acesso a mais do que uma loja, vê também o
seletor de loja.

# 10.3 Funções e acessos

| Função | Reservas | Configuração da loja | Negócio / Lojas |
|---|---|---|---|
| **Colaborador** | ✓ | — | — |
| **Admin de loja** | ✓ | ✓ | — |
| **Admin do negócio** (dono) | ✓ | ✓ | ✓ |

O dono é também criado como colaborador com acesso a todas as lojas. Defina a função de cada
colaborador na sua edição (ver 2.7).

# 10.4 Dicas e resolução de problemas

- **Fusos diferentes:** se as lojas estão em fusos horários diferentes, defina o **fuso do negócio**
  correto (capítulo 12) — é a referência de "hoje/agora" e dos lembretes.
- **Um colaborador que não aparece numa loja:** confirme que tem uma atribuição (`StaffMemberStore`)
  para essa loja e que o **âmbito de serviços** não está em *Nenhum*.
- **Não consigo apagar a loja:** não é possível apagar a **última** loja do negócio.

> 💡 **Cenário:** o gestor (Admin do negócio) gere as 3 lojas e alterna no seletor; cada barbeiro
> (Colaborador) só vê a sua loja e as suas reservas. Atribua os barbeiros que trabalham em duas lojas
> às duas, com **horário por loja** (2.8).

---
**A seguir:** [Sincronizar com o telemóvel](11-sincronizar.md).

# 11. Sincronizar com o telemóvel

Pode subscrever a agenda da loja no calendário do telemóvel (Apple, Google, etc.).

# Introdução

Pode subscrever a agenda da loja no calendário do telemóvel (Apple, Google, etc.).

1. Na barra de ferramentas da agenda, clique em **Sincronizar com o telemóvel** (ou abra
   **Exportar Calendário**).
2. Crie um **feed** e escolha o que exportar: a loja toda, um ou vários **colaboradores**, ou um ou
   vários **serviços**. Pode incluir ou ocultar os dados do cliente.
3. Para cada feed tem: **Adicionar ao iPhone** (`webcal://`), **Adicionar ao Google**, **copiar a
   ligação**, **QR**, e transferir um ficheiro **.ics** único.
4. Pode **revogar** um feed a qualquer momento (a ligação deixa de funcionar).

A ligação é privada (contém um código não adivinhável), por isso as apps de calendário conseguem
buscá-la sem início de sessão. Um colaborador comum só exporta a sua própria agenda.

> 📸 **`11-exportar-calendario.png`** — Página de exportação de calendário com um feed e as opções de adicionar.
![Exportar calendário](images/11-exportar-calendario.png)

# 11.1 Dicas

- A subscrição **atualiza-se sozinha** no calendário do telemóvel (não é uma exportação única). Para
  uma cópia estática, use o **download .ics**.
- **Revogue** um feed se a ligação for partilhada por engano — passa a não funcionar de imediato.
- Inclua os **dados do cliente** apenas em feeds privados; para um calendário partilhado com a equipa,
  oculte-os ("Marcação" como bloco ocupado).

> 💡 **Cenário:** cada barbeiro adiciona ao **iPhone** o feed só com a **sua** agenda; o gestor
> adiciona ao **Google** o feed da loja inteira.

---
**A seguir:** [Definições do negócio](12-definicoes-negocio.md).

# 12. Definições do negócio

Em \*\*Definições → Negócio\*\* gere os dados que valem para todo o negócio (todas as lojas).

# Introdução

Em **Definições → Negócio** gere os dados que valem para todo o negócio (todas as lojas).

1. **Dados gerais** — nome, categoria, contactos.
2. **Fuso horário** — escolha o fuso do negócio na lista. É a fonte única de "hoje"/"agora" e da
   conversão de horas em todas as lojas. Importante para lojas em fusos diferentes e para que os
   lembretes saiam à hora certa.
3. **Idiomas** — o idioma principal e os idiomas adicionais que oferece. As **páginas públicas
   aparecem no idioma do negócio**, não no idioma global do site.

> 📸 **`12-definicoes-negocio.png`** — Página de definições do negócio (fuso horário e idiomas).
![Definições do negócio](images/12-definicoes-negocio.png)

# Registo de auditoria

Todas as criações/edições/eliminações feitas por colaboradores ficam registadas. Veja-as em
**Definições → Auditoria**, com filtros por operação, recurso, colaborador, data e texto.

> 📸 **`12-auditoria.png`** — Página de auditoria com filtros.
![Auditoria](images/12-auditoria.png)

# Dicas

- **Mude o fuso antes de criar marcações em escala** — alterar o fuso muda a interpretação de
  "hoje/agora" e a hora a que os lembretes saem.
- Ative só os **idiomas que realmente atende** — a página pública oferece a troca de idioma entre
  esses.

> 💡 **Cenário:** negócio em Lisboa com clientes internacionais → fuso `Europe/Lisbon`, idioma
> principal PT e idiomas adicionais EN/FR/ES; a página pública passa a permitir a escolha desses.

---
**A seguir:** [Contacto e suporte](13-suporte.md).

# 13. Contacto e suporte

\- \*\*Chat ao vivo:\*\* o widget de chat está disponível em todo o site (canto inferior). - \*\*Formulário de contacto:\*\* abra a página \*\*Contacto\*\* (`/Contact`), preencha nome, email e mensagem. A sua mensagem abre uma conversa com a equipa de suporte.

# Falar connosco

- **Chat ao vivo:** o widget de chat está disponível em todo o site (canto inferior).
- **Formulário de contacto:** abra a página **Contacto** (`/Contact`), preencha nome, email e
  mensagem. A sua mensagem abre uma conversa com a equipa de suporte.

> 📸 **`13-contacto.png`** — Página de contacto e o widget de chat.
![Contacto](images/13-contacto.png)

# Páginas legais

No rodapé do site encontra os **Termos**, a **Privacidade** e a secção de **RGPD** (direitos do
titular dos dados).

# Dicas finais

- Comece pelos capítulos 1 e 2 para ter a loja a funcionar; depois publique a **página pública**
  (capítulo 4) para receber reservas online.
- Configure as **mensagens** (capítulo 6) para reduzir faltas com lembretes automáticos.
- Use as **estatísticas** (capítulo 9) para perceber os dias/horas de maior procura.

# 14. Cenários completos por tipo de negócio

Receitas "do zero" para os tipos de negócio mais comuns. Cada cenário junta os passos dos capítulos anteriores numa sequência prática. Use-os como modelo e adapte os valores.

# Introdução

Receitas "do zero" para os tipos de negócio mais comuns. Cada cenário junta os passos dos capítulos
anteriores numa sequência prática. Use-os como modelo e adapte os valores.

---

# 14.1 Barbearia / Salão (Por colaborador)

**Objetivo:** clientes reservam um serviço com um barbeiro específico (ou "sem preferência").

1. **Tipo de agenda:** Por colaborador. **Intervalo:** 15 min. **Antecedência mínima:** 60 min.
   **Máxima:** 30 dias. (2.2)
2. **Horário:** Ter–Sáb `09:00–13:00` + `15:00–19:00` (pausa de almoço). (2.3)
3. **Serviços:** Corte (15 min, €12), Barba (15 min, €8), Corte+Barba (30 min, €18), Degradê (30 min,
   €15) — com cores. (2.5)
4. **Colaboradores:** crie os barbeiros; atribua-os à loja; defina os serviços de cada um (ou deixe
   "todos"). Se algum só trabalha meio-dia, defina o **horário personalizado** (2.8). (2.7/2.8)
5. **Página pública:** tema + logótipo + slug; ligue **Mostrar reservas**. (4)
6. **Mensagens:** ative email + SMS; lembrete 3 h antes. (6)
7. **Pronto:** partilhe o QR no balcão; as reservas entram na agenda **Por colaborador**.

> 📸 **`14-barbearia.png`** — Agenda diária de uma barbearia (colunas por barbeiro) cheia.
![Barbearia](images/14-barbearia.png)

---

# 14.2 Clínica / Consultório (Por colaborador)

**Objetivo:** marcações com profissionais e durações diferentes por especialidade.

1. **Tipo:** Por colaborador. **Intervalo:** 30 min. (2.2)
2. **Horário:** Seg–Sex `09:00–12:00` + `14:00–18:00`; Sáb `09:00–13:00`. (2.3)
3. **Serviços:** Consulta (30 min), Fisioterapia (45 min), Nutrição (30 min), Psicologia (50 min). (2.5)
4. **Colaboradores:** cada profissional com os **seus serviços** (âmbito *Selecionados*). (2.7)
5. **Pagamentos (opcional):** exija pagamento para confirmar primeiras consultas. (7)
6. **Mensagens:** lembrete por email 24 h antes + SMS 2 h antes para reduzir faltas. (6)

> 💡 Use o **Horário Especial** (2.4) para feriados e dias de formação/ausência.

---

# 14.3 Restaurante (Por mesa)

**Objetivo:** reservas de mesa por número de pessoas, com menu visível.

1. **Tipo:** Por mesa. **Intervalo:** 60 min. (2.2)
2. **Horário:** Seg–Sáb `12:00–14:00` (almoço) + `19:00–21:00` (jantar). (2.3)
3. **Mesas (Espaços):** M1/M2 (2p), M3/M4 (4p), M5 (6p), M6 (8p) **exclusivas** + "Bar" (4p)
   **partilhada**. (2.6)
4. **Menu:** categorias + itens com fotos. (2.9)
5. **Página pública:** ligue **Mostrar reservas** e **Mostrar menu**. (4)

A agenda diária é um **Gantt** (uma linha por mesa). As reservas guardam a **mesa** e o **nº de
pessoas** (limitado pela capacidade).

> 📸 **`14-restaurante.png`** — Gantt diário de um restaurante (linhas por mesa) + o menu na página pública.
![Restaurante](images/14-restaurante.png)

---

# 14.4 Padel / Campos (Por espaço)

**Objetivo:** reserva de campos por hora, com pagamento.

1. **Tipo:** Por espaço. **Intervalo:** 60 min. (2.2)
2. **Horário:** Todos os dias `08:00–13:00` + `15:00–22:00`. (2.3)
3. **Espaços:** Campo 1–4, **exclusivos**, **€24/reserva**. (2.6)
4. **Pagamentos:** ligue o Stripe e **exija pagamento** para confirmar. (7)
5. **Janela de reservas:** antecedência máxima 14 dias; antecedência mínima 30 min. (2.10)

A reserva pública pede o **campo** e a **hora**; o pagamento é o preço do campo.

---

# 14.5 Escape Room (Por espaço, preço por pessoa)

1. **Tipo:** Por espaço. **Intervalo:** 60 min. (2.2)
2. **Horário:** Qua–Dom `14:00–22:00`. (2.3)
3. **Salas (Espaços):** preço **por pessoa** (ex. €14–18), capacidades 4/6/8, **exclusivas**. (2.6)
4. **Pagamentos:** o total = preço por pessoa × nº de pessoas. (7)

---

# 14.6 Spa / Estúdio de beleza (Por serviço)

**Objetivo:** reservar tratamentos sem fixar um profissional específico.

1. **Tipo:** Por serviço. **Intervalo:** 30 min (spa) ou 15 min (estúdio). (2.2)
2. **Serviços:** Massagem, Facial, Manicure, Pedicure, Pestanas, Sobrancelhas. (2.5)
3. **Colaboradores (opcional):** pode atribuir terapeutas; o profissional é **opcional** neste tipo.
4. A agenda diária mostra **colunas por serviço**.

---

# 14.7 Lista de verificação rápida (qualquer negócio)

- [ ] Tipo de agenda escolhido e configurado (2.2)
- [ ] Horário de funcionamento + dias especiais (2.3 / 2.4)
- [ ] Serviços com duração, preço e cor (2.5)
- [ ] Espaços/mesas, se aplicável (2.6)
- [ ] Colaboradores + horário por loja (2.7 / 2.8)
- [ ] Menu, se aplicável (2.9)
- [ ] Página pública publicada com slug + tema + QR (4)
- [ ] Mensagens (lembretes) ativas (6)
- [ ] Pagamentos, se aplicável (7)
- [ ] Fuso horário e idiomas do negócio (12)

---
**A seguir:** [Perguntas frequentes](15-faq.md).

# 15. Perguntas frequentes (FAQ)

\*\*Não consigo iniciar sessão — diz para confirmar o email.\*\* A conta existe mas falta confirmar o email. Use a ligação de \*\*reenvio\*\* na mensagem de erro e clique no botão do email de confirmação. (1.2)

# Conta e acesso

**Não consigo iniciar sessão — diz para confirmar o email.**
A conta existe mas falta confirmar o email. Use a ligação de **reenvio** na mensagem de erro e clique
no botão do email de confirmação. (1.2)

**Esqueci-me da palavra-passe.**
Em "Entrar", clique em **Esqueci-me da palavra-passe** e siga a ligação enviada por email. (1.3)

**Como adiciono um colaborador com login próprio?**
Em Colaboradores, associe-lhe um **email + palavra-passe** e defina a **função** (Colaborador / Admin
de loja / Admin do negócio). (2.7 / 10.3)

# Agenda e reservas

**Por que não aparecem horários disponíveis?**
Possíveis causas: dia fechado (horário ou **horário especial**), o colaborador não trabalha nesse dia,
foi atingida a **antecedência mínima/máxima** ou o **limite diário**, ou há conflito. (2.2 / 2.3 / 2.8)

**Posso ter pausa de almoço?**
Sim — defina **dois intervalos** no horário do dia (ex. 09:00–13:00 e 15:00–19:00). (2.3)

**Um profissional trabalha menos horas do que a loja.**
Ligue o **horário personalizado** do colaborador e defina as horas por loja; os slots passam a ser a
**interseção** loja × colaborador. (2.8)

**O colaborador trabalha em duas lojas.**
É **obrigado** a definir horário personalizado por loja (dizer as horas em cada uma). (2.8)

**Como faço uma marcação recorrente?**
No formulário de criação, marque a repetição e a data de fim (não disponível para multi-serviço). (3.2)

**Movi/redimensionei sem querer no telemóvel.**
Mantenha o dedo **premido ~0,3 s** sobre a marcação antes de arrastar/redimensionar. (3.5)

# Página pública

**Qual é o endereço da minha página?**
`.../p/o-seu-slug` (definido no editor). Em **Pro+** pode ativar `o-seu-slug.rezvy.app`. (4.3)

**Em que idioma aparece a página aos clientes?**
No **idioma do negócio** (e nos adicionais que oferecer), não no idioma global do site. (12)

**Posso receber reservas sem pedir pagamento?**
Sim. Os pagamentos são **opcionais** e só nos planos que os incluem. (7 / 8)

# Mensagens e créditos

**Quais os marcadores que posso usar nos modelos?**
Ex.: `%NOME%`, `%NOME_NEGOCIO%`, `%DATA%`, `%SERVICO%`, `%COLABORADOR%`, `%LINK_CANCELAR%`. (6.1)

**Esgotei a mensalidade de SMS/Email — e agora?**
Compre **créditos** (não expiram) na página de Subscrições; são usados após a mensalidade. (6.3)

# Planos e faturação

**Como mudo de plano?**
Em **Subscrições**, escolha o plano e o período (mensal/anual) e pague por Stripe. (8.2)

**Não me deixa reduzir de plano.**
A utilização atual excede os limites do plano-alvo. Reduza os recursos em excesso e confirme. (8.3)

# Dados e privacidade (RGPD)

**Um cliente pediu para apagar os dados.**
Use **Anonimizar** na ficha do cliente: os dados pessoais são apagados de forma irreversível, mas o
histórico/estatísticas mantêm-se sem o identificar. (5.3)

**Há registo de quem fez o quê?**
Sim — **Definições → Auditoria** regista criações/edições/eliminações por colaborador. (12)

# Telemóvel

**Como vejo a agenda no calendário do telemóvel?**
Crie um **feed de calendário** (iCal) e adicione ao iPhone/Google; atualiza-se sozinho. (11)

---

Não encontrou a resposta? Veja **[Contacto e suporte](13-suporte.md)**.