# Gestão de eventos no painel

**Para quem:** produtor, dono de casa, gerente de organização  
**Última revisão:** 2026-08-15  
**Rota principal:** `/seller/events`

---

## O que é esta tela

A página **Gestão de eventos** (`/seller/events`) é onde você vê todos os eventos das organizações que gerencia — próprios ou como colaborador. Cada evento aparece como um **card visual empilhado** (`SellerEventCard`). Ao expandir o card, você acessa todas as ferramentas operacionais sem sair da lista.

---

## Como chegar

| Caminho | Resultado |
|---------|-----------|
| URL direta | [subcena.com/seller/events](https://subcena.com/seller/events) |
| Hub `/seller` → card da org → **eventos** | Abre a lista geral |
| Hub `/seller` → card da org → nome do evento | Abre com aquele card **já expandido** (`?expand={id}`) |
| Dashboard do evento → link "voltar ao painel" | Retorna para `/seller/events?expand={id}` |
| Ícone de engrenagem → navegar para eventos | Via atalho no card da organização |

### Criar novo evento a partir daqui

No topo da página, o botão **+ evento** leva a `/seller/new-event`.

**Requisito:** Stripe com saques habilitados **ou** ao menos uma organização gerenciada. Sem isso, o botão não aparece.

---

## Como a lista funciona

Os eventos são agrupados em três seções:

| Seção | Critério |
|-------|----------|
| **Eventos em andamento** | Data/hora de início já passou e término ainda não |
| **Próximos eventos** | Ainda não começaram |
| **Eventos passados** | Já encerraram (após última sessão + horário de término) |

Cada seção mostra até **3 cards** empilhados visualmente. Use **ver mais** para ver o restante.

### Expandir e recolher um card

1. **Clique no card** — ele expande e os demais ficam semitransparentes.
2. **Clique em "ver mais"** no rodapé do hero — alternativa para expandir/recolher.
3. **Clique fora** — recolhe o card expandido.

**Dica:** links com `?expand={id}` abrem o card certo automaticamente e rolam até ele — útil ao voltar do dashboard ou ao clicar no atalho do card da organização.

---

## Anatomia do card

### Cabeçalho (sempre visível)

| Elemento | Função |
|----------|--------|
| Imagem de capa | Visual do evento |
| Badge de data(s) | Primeira data, intervalo ou "dd mmm - dd mmm" para eventos longos |
| Badge **Curadoria** | Eventos curados (fluxo simplificado) |
| Nome do evento | Título |
| Seta → | Abre a **página pública** do evento (`/event/{slug}`) |

### Ações rápidas (card expandido, evento ativo)

Linha superior com botões de acesso frequente:

| Botão | Quando aparece | Destino |
|-------|----------------|---------|
| **editar** | Evento não passou e não cancelado | `/seller/events/{id}/edit` |
| **validar tickets** | Evento não passou, não curado, não cancelado | `/seller/validate-ticket/{senha}` |
| **cancelar evento** | Evento não passou e não cancelado | Fluxo de cancelamento + reembolsos |
| **dashboard** | Sempre (exceto se cancelado sem acesso) | `/seller/events/{slug}` — métricas de vendas |

**Eventos passados** mostram apenas **dashboard** nas ações rápidas.  
**Eventos cancelados** exibem aviso "Evento encerrado" em vermelho.

---

## Seção Operação

Disponível para eventos **não curados**. Controle de vendas no dia a dia.

### Status de vendas (`SalesStatusControl`)

| Status | Significado |
|--------|-------------|
| **Abertas** | Compradores podem comprar |
| **Pausadas** | Vendas temporariamente suspensas |
| **Encerradas** | Ninguém mais compra; reabertura exige confirmação digitando "reabrir" |

Também é possível agendar **encerramento automático** das vendas em data/hora específica.

### Virar lote (`VirarLote`)

Encerra um lote ativo (`isActive: false`) para parar as vendas daquele lote. Use quando um lote esgota ou você quer mudar de preço/fase.

No mesmo menu dá para **reabrir** um lote encerrado por engano. A reabertura só desfaz a marcação manual: a capacidade cadastrada não muda. Se o lote realmente esgotou por vendas, ele continua indisponível.

### Cortesias (`GenerateWildcard`)

Distribui ingressos **gratuitos** sem pagamento. O ingresso só é criado quando a pessoa entra na conta e aceita. Três formas:

- **Links individuais**: um link de uso único por pessoa (com ou sem nome), em `/tickets/courtesy-invite/{token}`.
- **Link coletivo**: um único link com N cortesias (ex.: para um grupo de WhatsApp), em `/tickets/courtesy-pool/{token}`. Cada pessoa logada resgata **uma**; quando acabam, o link mostra "esgotado". Dá para pausar, retomar e encerrar (quem já resgatou continua com o ingresso).
- **Por e-mail**: convite enviado para o e-mail; só aceita a conta daquele e-mail.

**Gerar** não baixa nada. O botão **baixar planilha** exporta um `.xlsx` com todos os links (status, quem resgatou e quando), sem criar convites novos. No app, a planilha abre no navegador do celular, que faz o download.

### Cupons (`GenerateCoupon`)

Cria códigos de desconto com:

- nome do cupom;
- percentual (0–100%);
- quantidade (1–200).

### Bar do evento (`EventBarModule`)

Mostra se o bar digital está **aberto** ou **fechado** durante o evento. Quando ativo, link para o painel do bar (`/seller/bar/{org}`). O cardápio é gerenciado pela organização parceira do bar.

**Oculto** quando o evento já passou ou está marcado como **sem ingressos** (`noTickets`).

---

## Seção Produção e parceria

Ferramentas de gestão comercial e relacionamento.

### Produção e parceria (`EventProductionPartnership`)

| Recurso | Descrição |
|---------|-----------|
| **Organização de produção** | Quem produz o evento; link para página pública |
| **Convite de parceiro** | Convidar outra org para dividir produção — guia completo: [08 — Parceria de eventos](08-parceria-de-eventos.md) |
| **Parceiro conectado** | Ver org parceira, definir quem recebe pagamentos, desfazer parceria |
| **Crowdfunding** | Vincular campanha de financiamento coletivo ao evento |

Para eventos **curados**, esta seção vira **Curadoria do evento** — mostra apenas a organização curadora.

### Exportar e-mails de interessados (`ExportUserEmails`)

Baixa planilha `.xlsx` com nome, e-mail e URL de perfil de quem demonstrou interesse no evento. Opcional: enviar lembrete em massa.

### Lista de ingressos (`PrintTicketChecklist`)

Abre checklist imprimível em A4 com todos os ingressos vendidos — útil para conferência na porta ou backup sem celular.

Rota: `/seller/events/{id}/checklist`

---

## Diferenças: evento normal vs. curado vs. passado

| Situação | Ações disponíveis |
|----------|-------------------|
| **Evento normal (ativo)** | Todas as seções e botões |
| **Evento curado** | Sem validação de tickets, sem operação de lotes/cupons; foco em curadoria e dashboard |
| **Evento passado** | Dashboard, exportações, lista de ingressos; sem editar, validar, cupons ou virar lote |
| **Sem ingressos** (`noTickets`) | Sem controles de venda, cortesias, cupons ou lista de ingressos |
| **Cancelado** | Apenas aviso de encerramento |

---

## Fluxo típico do produtor

```mermaid
flowchart LR
  A["Criar evento"] --> B["Abrir /seller/events"]
  B --> C["Expandir card"]
  C --> D{"Vendas abertas?"}
  D -->|Sim| E["Acompanhar no dashboard"]
  D -->|Não| F["Abrir vendas na Operação"]
  E --> G["Dia do evento: validar tickets"]
  G --> H["Pós-evento: dashboard + exportações"]
```

### Antes do evento

1. Confirme dados em **editar**
2. Abra vendas em **Operação → Status de vendas**
3. Gere cupons ou cortesias se necessário
4. Acompanhe **dashboard**
5. Exporte interessados para divulgação

### No dia

1. **validar tickets** — QR ou busca por e-mail ([guia de validação](04-validacao-e-dia-do-evento.md))
2. Monitore bar se ativo
3. Use lista de ingressos impressa como backup

### Depois

1. **dashboard** → seção Fechamento
2. Exportar dados e stories ([guia de exportação](05-exportacao-e-metricas.md))

---

## Problemas comuns

| Sintoma | Causa provável | O que fazer |
|---------|----------------|-------------|
| Card não expande | Clique no hero, não na seta de navegação | Clique na área do card ou em "ver mais" |
| Não vejo validar tickets | Evento curado ou já passou | Normal para esses casos |
| Virar lote não aparece | Evento sem venda de ingressos | Verifique se `noTickets` está desmarcado |
| Evento não na lista | Org de outro usuário | Confirme que você é dono ou colaborador manager/admin |
| Link expand não funciona | ID incorreto | Use o atalho pelo card da organização |

---

## Referências relacionadas

| Guia | Conteúdo |
|------|----------|
| [00 — Hub do produtor](00-hub-do-produtor.md) | Navegação geral |
| [03 — Eventos e ingressos](03-eventos-e-ingressos.md) | Criação, lotes, fila de espera |
| [07 — Dashboards](07-dashboards.md) | Métricas detalhadas do evento |
| [08 — Parceria de eventos](08-parceria-de-eventos.md) | Convidar parceira e permissões |
