# Roteiro de demonstração — TotalEnergies Angola

**Reunião:** segunda-feira, 19 de Outubro de 2026
**Duração da demonstração:** cerca de 25 minutos (mais 10 a 15 de perguntas)
**Mensagem central:** *"A plataforma corre no vosso ambiente, com as vossas identidades e as vossas chaves. A Xamariz entrega o código e o suporte, mas não vê os dados dos vossos colaboradores."*

---

## 0. Preparação (antes de a reunião começar)

1. Abrir uma janela de terminal na pasta do projecto e arrancar o servidor local:
   ```
   powershell -NoProfile -ExecutionPolicy Bypass -File .claude/serve.ps1 -Port 5500
   ```
2. Abrir `http://localhost:5500` no Chrome ou Edge e carregar em **"Repor dados da demonstração"** no topo do hub.
3. Abrir os separadores por esta ordem, para saltar entre eles sem escrever endereços:

   | # | Separador | Endereço |
   |---|---|---|
   | 1 | Hub | `http://localhost:5500` |
   | 2 | Convite (vista telemóvel) | `/participante/convite.html` |
   | 3 | Login do back-office | `/admin/login.html` |
   | 4 | Scanner de check-in | `/checkin/scanner.html` |
   | 5 | Votar (telemóvel) | `/votacao/votar.html` |
   | 6 | Ecrã de projecção | `/votacao/ecra.html` (em ecrã inteiro com F11, de preferência no segundo monitor) |

4. Para as páginas do participante, usar as ferramentas de programador do browser (F12 → ícone de telemóvel) com um iPhone ou Android. Assim parecem mesmo uma app.
5. Ter este roteiro aberto noutro ecrã ou impresso.

> **Lembrete:** todos os dados são fictícios. O QR Code é ilustrativo e não pode ser lido por um scanner real. Dizer isto logo no início evita perguntas desnecessárias.

---

## 1. Abertura — o problema e o princípio (2 min)

**Mostrar:** hub (`localhost:5500`).

**Dizer:**
- "Ouvimos três coisas: querem gerir convites, transporte e entradas sem andar com listas em Excel; querem algo mais completo do que a Ticket.ao; e não querem que um fornecedor externo tenha acesso aos dados dos colaboradores."
- "Desenhámos a plataforma a partir desse terceiro ponto. Antes de escolhermos tecnologia, decidimos onde ficam os dados e quem os controla."
- "Isto é um protótipo navegável com dados fictícios, não um produto pronto. Serve para validarmos convosco a jornada e as regras."

---

## 2. A jornada do participante (5 min)

**Separador 2 — Convite.** Vista de telemóvel.

| Passo | Ecrã | O que mostrar | Frase-chave |
|---|---|---|---|
| 1 | Convite | Logótipo, data, local, condições (1 acompanhante, prazo 20 Nov) | "O convite chega por email corporativo, com um link pessoal." |
| 2 | Confirmar presença → RSVP | Nome e email **só de leitura**; pedir só o telefone | "O nome e o email vêm do vosso directório. O colaborador não os escreve e nós não os importamos." |
| 3 | Acompanhante → Sim | Só o nome do acompanhante | "Pedimos o mínimo necessário: o nome, para a lista de entrada." |
| 4 | Transporte → Sim → um ponto de embarque | Três pontos com horários | |
| 5 | Confirmar → aceitar a política → Enviar | Resumo antes de enviar | "Consentimento explícito, com indicação de que os dados são eliminados depois do evento." |
| 6 | Confirmação | QR Code + código curto + "Válido para 2 pessoas" | "**O QR Code não contém dados pessoais.** É um token aleatório validado no servidor." |
| 7 | Separador **Evento** (barra inferior) | Contagem decrescente, programa, local | |
| 8 | Separador **Transporte** | Shuttle, horários de ida e volta | |
| 9 | Separador **Acesso** | QR que se **renova a cada 30 segundos** | "Uma fotografia do QR deixa de servir passados 30 segundos. Resolve o problema de partilha de códigos que tinham com a Ticket.ao." |

**Opcional, se houver tempo:** voltar ao convite e mostrar "Não poderei ir" (o estado de recusa).

**Se perguntarem pelos casos difíceis** (hub → P8, P9, P10):
- **Lista de espera** (`espera.html?estado=vaga`): "Quando abre uma vaga, a pessoa tem 48 horas para aceitar. Se não responder, a vaga passa automaticamente para a seguinte."
- **Convite expirado ou partilhado** (`convite-invalido.html`): "Cada link é pessoal e funciona num só telemóvel. Se alguém reencaminhar o convite, o outro aparelho vê este ecrã."
- **Política de privacidade** (link no convite e no formulário): "Escrita em linguagem simples, com uma tabela de quem vê o quê. É um texto de exemplo para o vosso Data Privacy validar."
- **Acompanhante** (Acesso → "Enviar acesso ao acompanhante" → WhatsApp → "Ver o que o acompanhante recebe"): "O acompanhante recebe um bilhete próprio, com o seu QR. Pode entrar sozinho, sem conta e sem instalar nada. Dele só guardamos o nome."
- **Inglês** (botão **EN** no topo de qualquer página do participante): "Os colaboradores expatriados e os acompanhantes podem ver tudo em inglês. A escolha fica guardada."

---

## 3. O back-office da organização (6 min)

**Separador 3 — Login.**

| Passo | Ecrã | O que mostrar | Frase-chave |
|---|---|---|---|
| 1 | Login | Só o botão SSO, **sem campo de palavra-passe** | "A entrada é feita com a conta corporativa e MFA. A plataforma não guarda palavras-passe." |
| 2 | Entrar → número MFA → Simular aprovação | | |
| 3 | Dashboard | Indicadores, gráfico com o efeito do lembrete de 7 Out, ocupação dos transportes | "Este painel só mostra números agregados." Passar o rato no gráfico. |
| 4 | Convidados | Matrículas mascaradas (•••561), filtros | "Mesmo a Solange vê a matrícula mascarada." |
| 5 | Clicar num convidado | Painel de detalhe → nota no fundo | "**Esta consulta acabou de ficar registada na auditoria.**" |
| 6 | Seleccionar 3 → Exportar | Justificação obrigatória | "Não há exportações anónimas. Quem exporta tem de dizer porquê." |
| 7 | Importar lista → ficheiro de exemplo | Validação: duplicados, emails em falta | "Se a integração com o directório não estiver pronta a tempo de Dezembro, este é o plano B: a vossa equipa importa, nós não tocamos no ficheiro." |
| 8 | Inscrições → Lista de espera → Promover | Vagas actualizam | "Pode ser manual ou automático. A regra é vossa." |
| 9 | Comunicações → Nova comunicação | Modelo, destinatários, pré-visualização de email e SMS | "Os envios saem pelo vosso serviço de email, não por uma plataforma de marketing externa." |
| 10 | Logística | Rotas, autocarros, mover um passageiro | "A logística só vê nome e rota. Não vê telefone nem matrícula." |

**Formulários que funcionam, se pedirem para ver mais** (os dados são fictícios e voltam ao início ao recarregar a página):
- **Convidados → Adicionar convidado**: pesquisar "Ma" no directório e escolher alguém. "Os dados vêm do directório: ninguém escreve nomes à mão." Também há a opção de convidado externo.
- **Logística → Nova rota**: se a chegada for antes da partida, o formulário avisa. A rota nova aparece logo com os seus autocarros.
- **Votação → Nova categoria**: são precisos pelo menos 2 candidatos. A categoria fica "Preparada" até a régie a abrir.
- **Utilizadores → Adicionar**: escolher o perfil Recepção. "O acesso fica activo só no dia do evento, e sem palavras-passe."

---

## 4. O dia do evento — check-in (3 min)

**Separador 4 — Scanner.** Idealmente num tablet ou com o browser em tamanho de tablet.

| Passo | Acção | Frase-chave |
|---|---|---|
| 1 | Simular QR válido → Confirmar entrada | O contador sobe. "Entrada registada com hora e porta." |
| 2 | Simular já usado | "Um QR só entra uma vez. O sistema diz quando e por onde entrou." |
| 3 | Simular inválido | "Código revogado ou de outro evento." |
| 4 | Carregar em **Online** (passa a Offline) → registar outra entrada | "Se a internet falhar, as entradas ficam em fila no dispositivo e sincronizam depois." **Atenção:** dizer que o modo offline **vai ser testado** antes de ser prometido. |
| 5 | Pesquisa manual → escrever "helena" | "Para quem esqueceu o telemóvel. A recepção só vê nome, direcção e número de pessoas." |
| 6 | Presenças | Gráfico de chegadas, entradas por porta | |

Voltar a carregar em **Offline** para ficar Online.

**Se perguntarem pelos transportes** (hub → C4, ou Logística → "Modo motorista ↗"): o motorista escolhe o autocarro e lê o QR de cada passageiro. "Ele sabe quem falta antes de partir. Se alguém tentar entrar no autocarro errado, o sistema avisa. O motorista vê só nomes e lugares." Mostrar "Simular outra rota" e depois "Iniciar viagem" com passageiros em falta.

**Depois do evento** (Relatórios → Satisfação, ou hub → B8b): "Os resultados do questionário são anónimos e agregados. Grupos com menos de 10 respostas não aparecem, e nos comentários os nomes são removidos." Se a resposta de teste do pós-evento (P7) tiver sido enviada antes, aparece assinalada a tracejado.

---

## 5. Performance Awards — votação (3 min)

1. **Separador 6 — Ecrã** (projector): mostrar as barras a mexer em tempo real.
2. **Separador 5 — Votar:** escolher um candidato → Votar → Confirmar. "O voto é anónimo: o sistema sabe que a Ana votou, mas não em quem."
3. **Ecrã:** carregar na tecla **2** ("Ocultar resultados") → "suspense para a cerimónia". Depois tecla **3** ("Encerrar e revelar") → vencedor.
4. Mencionar a página de gestão (`/admin/votacao.html`): abrir, encerrar e publicar cada categoria; os resultados ficam ocultos até à própria organização enquanto a votação está aberta.

**Frase-chave:** "Propomos a votação como módulo adicional. Não é obrigatória para o evento de Dezembro."

---

## 6. Segurança e privacidade — o ponto decisivo (3 min)

**Back-office → Utilizadores e perfis.**

| O que mostrar | Frase-chave |
|---|---|
| **Matriz de permissões**, com a coluna "Suporte Xamariz" destacada | "Olhem para esta coluna: a Xamariz não tem acesso a dados pessoais. Nem para ver, nem para exportar." |
| **Acessos excepcionais**: aprovar o AE-007 | "Se precisarmos de intervir, pedimos. A vossa equipa de IT aprova, o acesso é limitado, expira sozinho e fica auditado." |

**Back-office → Auditoria.**
- Filtrar por "Negado" → aparece a tentativa de exportação da logística e a entrada sem MFA.
- Abrir um registo → hash encadeado: "o registo não pode ser alterado sem se notar."

**Eventos → Dia da Família 2026** (encerrado): "Trinta dias depois do evento, os dados pessoais são eliminados. Ficam só as estatísticas."

---

## 7. Fecho e próximos passos (2 min)

**Dizer:**
- "O que viram é o desenho. Para avançarmos precisamos de respostas da vossa equipa de IT." Entregar as **10 perguntas** do documento técnico (identidade, alojamento, email, APIs, residência dos dados, modelo de suporte, avaliações obrigatórias, prazos de aprovação).
- "Propomos um MVP em duas entregas: convites, RSVP e QR Code até meados de Novembro; check-in e relatórios até ao início de Dezembro. Transportes, lista de espera automática e votação podem ficar para uma segunda fase."
- "O calendário depende sobretudo do tempo de aprovação de Cybersecurity e Data Privacy, por isso propomos começar essa revisão já esta semana."

**Pedir no fim:**
1. Um contacto na equipa de IT e outro em Cybersecurity / Data Privacy.
2. Validação da jornada pela Solange.
3. O brand book oficial e o logótipo em formato vectorial (SVG).

---

## Perguntas prováveis e respostas curtas

| Pergunta | Resposta |
|---|---|
| "Onde ficam os dados?" | "Preferimos no vosso ambiente (Azure ou servidor aprovado por vocês). Se não for possível a tempo, numa subscrição cloud **detida pela TotalEnergies**, onde a Xamariz só faz deploy por pipeline aprovado." |
| "A Xamariz consegue ver os dados?" | "Por defeito, não. Não temos contas de produção, as chaves são vossas e qualquer acesso excepcional é aprovado por vós e auditado." Evitar dizer "é impossível". |
| "Integra com o nosso directório / SSO?" | "Sim, se a vossa equipa de IT o autorizar. Está desenhado para Microsoft Entra ID, mas precisamos de confirmar o que usam." |
| "E se não houver internet no local?" | "O check-in tem um modo de contingência e a pesquisa manual por código. Vamos testá-lo no ensaio antes do evento." |
| "Cumpre a lei angolana de protecção de dados?" | "O desenho segue os princípios (minimização, consentimento, retenção limitada). A conformidade formal tem de ser validada com o vosso Data Privacy e o jurídico; não a prometemos antes dessa avaliação." |
| "Está pronto para Dezembro?" | "O prazo é exigente. Com decisões de IT nas próximas duas semanas, o MVP em duas entregas é realista. Sem elas, não seria responsável prometer." |
| "Quanto custa?" | Remeter para a proposta comercial; não improvisar números na demonstração. |

---

## O que **não** dizer

- Que a plataforma está pronta ou em produção.
- Que a segurança ou a conformidade são "garantidas" ou "absolutas".
- Que o modo offline está testado.
- Que a Azure é a infraestrutura deles (é uma hipótese a confirmar).
