Manual de operação — dia D do torneio
Plugin: fsrs-gestao (WordPress FSRS)
Público: direção técnica, mesa, árbitros de quadra, árbitro-geral e staff com acesso admin
Formato: um único fluxo linear do dia da competição (papéis indicados inline quando importam)
Este manual cobre apenas a operação no dia do evento. Sorteio, inscrições pré-evento, ranking e cache ficam fora de escopo.
Como usar este documento
- Leia a Seção 1 na véspera ou na manhã, antes de abrir as quadras.
- Na abertura, execute a Seção 2 uma vez.
- Durante o torneio, repita a Seção 3 para cada partida.
- Use as seções 4–8 quando surgir exceção, consulta ou fechamento.
Referência rápida de telas admin (menu FSRS Torneios):
| Tela | Slug admin |
|---|---|
| Painel Torneio (KPIs) | fsrs-torneios-painel |
| Torneios / status | fsrs-config-geral |
| Horários e Quadras | fsrs-disponibilidade |
| Agendamento | fsrs-agendamento |
| Calendário | fsrs-calendario |
| Visual Chaves | fsrs-visual |
| Lista de Jogos | fsrs-lista-jogos |
| Firebase / TV | fsrs-firebase-tv |
1. Antes de abrir as quadras
Objetivo: garantir que o torneio está publicado no site, que o dia D está ativo na súmula e nas TVs, e que a equipa tem impressos e URLs de mesa.
1.1 Status do torneio (modelo atual)
O ciclo oficial está em fgs_torneios.status (não use o conceito legado fgs_torneio_ativo como referência de fase):
| Status | Significado operacional no dia D |
|---|---|
| Preparação | Chaves e agenda em montagem; site ainda não exibe jogos ao público. |
| Publicado | Chaves e cronograma visíveis em consulta-jogos; não aceitar novas inscrições. |
| Em jogo | Competição em andamento; súmula lista o evento em GET /eventos-ativos; operação normal nas quadras. |
| Encerrado | Torneio finalizado; sem arbitragem nova. |
No início do dia D, o torneio deve estar em Publicado (últimos ajustes de agenda) e, antes da primeira partida arbitrada, passar para Em jogo:
- WP Admin → FSRS Torneios → Torneios (
fsrs-config-geral). - No torneio do dia, confirmar badge Publicado.
- Quando a mesa autorizar a abertura das quadras: ação Iniciar competição → status Em jogo.
1.2 Checklist pré-abertura
| # | Item | Responsável | OK |
|---|---|---|---|
| 1 | Torneio em Publicado ou já Em jogo conforme cronograma | Diretor técnico | ☐ |
| 2 | Chaves geradas e agendamento preenchido (dia, hora, quadra) | Diretor técnico | ☐ |
| 3 | Horários e Quadras (fsrs-disponibilidade) com dias ativos e faixas corretas | Diretor técnico | ☐ |
| 4 | Número de quadras do torneio = quadras físicas em uso | Diretor técnico | ☐ |
| 5 | Firebase Produção (prod) em Firebase / TV | Gabriel / TI | ☐ |
| 6 | TVs testadas (painel + placar por quadra) | Staff TV | ☐ |
| 7 | Impressos: Lista de Jogos + Visual Chaves (por categoria/dia necessário) | Mesa | ☐ |
| 8 | URLs de mesa anotadas (secção 6) | Mesa | ☐ |
| 9 | Árbitro-geral e árbitros de quadra briefados (súmula principal, WO, escalonamento) | Árbitro-geral | ☐ |
1.3 Firebase e ambiente RTDB
Em evento oficial, usar sempre o ambiente prod do Firebase Realtime Database:
- FSRS Torneios → Firebase / TV (
fsrs-firebase-tv). - Ambiente RTDB: Produção (prod).
- Salvar.
A súmula grava estado ao vivo em prod/torneio_atual/quadra_N. As TVs leem o mesmo prefixo.
1.4 Impressos operacionais
Gerar antes ou no início do dia:
- Lista de Jogos (
fsrs-lista-jogos) — filtros por categoria, dia e quadra; usar Imprimir do navegador. - Visual Chaves (
fsrs-visual) — uma folha por categoria crítica ou todas, conforme tamanho do evento.
Estes impressos são a referência de mesa quando a rede falhar. A operação primária de resultado continua sendo a súmula.
1.5 URLs para mesa (produção)
| Uso | URL |
|---|---|
| Chaves, cronograma e busca ao vivo | https://www.squashrs.com.br/consulta-jogos/ |
| Status de inscrição (pré/dia — consulta CPF) | https://www.squashrs.com.br/status-da-inscricao/ |
| Painel TV (todas as quadras) | https://www.squashrs.com.br/?tv=painel |
| Placar TV quadra N | https://www.squashrs.com.br/?tv=placar&q=N |
| Súmula quadra N | https://app.squashrs.com.br/?quadra=N |
Substitua N pelo número da quadra (1, 2, 3…).
2. Abertura e monitorização
Executar uma vez ao abrir o complexo ou na primeira rodada.
2.1 Transição para Em jogo
- Torneios → torneio do dia → Iniciar competição.
- Confirmar badge Em jogo.
- Na súmula (
?quadra=N), verificar se o torneio aparece (modo Torneio).
Teste opcional de API:
GET https://www.squashrs.com.br/wp-json/fsrs/v1/eventos-ativos
Deve listar o torneio do dia com "status": "em_jogo".
2.2 Painel e KPIs
- Painel Torneio (
fsrs-torneios-painel) — visão de inscrições pagas/pendentes e, quando disponível, KPIs operacionais (jogos realizados, pendentes, ocupação, conflitos de agenda). - Se o painel não refletir o torneio certo, abrir qualquer subpágina com
t_id={id}na URL ou confirmar status em Torneios.
2.3 TVs
Por cada quadra em uso:
- Abrir https://www.squashrs.com.br/?tv=placar&q=N no monitor da quadra.
- Abrir https://www.squashrs.com.br/?tv=painel na área comum (mesa / árbitro-geral).
- Confirmar nome do torneio e estado livre ou aguardando antes da primeira chamada.
Recarregar (F5) se o Firebase tiver sido reconfigurado na manhã.
3. Por cada jogo (fluxo padrão)
Repita para cada partida com dois atletas reais na quadra (não placeholder Vencedor J# nem BYE).
3.1 Preparar a partida
| Passo | Quem | Ação |
|---|---|---|
| 1 | Mesa / árbitro | Confirmar jogo na Lista de Jogos ou Calendário (hora, quadra, nomes). |
| 2 | Árbitro de quadra | Chamar atletas; registro de presença visual. |
| 3 | Árbitro de quadra | Abrir súmula: https://app.squashrs.com.br/?quadra=N. |
| 4 | Árbitro | Modo Torneio → selecionar o jogo listado (dados vindos de GET /jogos-pendentes). |
Se o jogo não aparecer na súmula:
- Confirmar torneio Em jogo.
- Confirmar agendamento com quadra e horário no WP.
- Confirmar que ambos os slots são atletas reais (não
Vencedor J#). - Escalar mesa/diretor (secção 7).
3.2 Arbitrar na súmula (canal principal)
- Iniciar na súmula → aquecimento → games conforme regulamento da categoria (melhor-de configurado em Config. Técnicas).
- Registrar cada game; a TV da quadra atualiza via Firebase prod.
- Encerrar partida com placar final (ex.:
3x1). - Aguardar confirmação de envio ao WordPress (
POST /fsrs/v1/resultado-jogo).
Durante o jogo, o árbitro-geral pode acompanhar o Painel TV e o Calendário para atrasos nas outras quadras.
3.3 Confirmar no WordPress
Após envio bem-sucedido:
- Visual Chaves (
fsrs-visual) — categoria do jogo: vencedor e placar preenchidos; em eliminatória, slotVencedor J#da fase seguinte atualizado. - Lista de Jogos — jogo marcado como concluído / fora da lista de pendentes.
- consulta-jogos — resultado visível ao público (pode exigir atualizar a página).
Se a súmula indicar erro de envio, não duplicar manualmente no Visual antes de tratar a fila (secção 7.1).
3.4 Próximo jogo na mesma quadra
- Verificar na súmula o próximo jogo
podeArbitrarda quadra. - Se a TV permanecer no jogo anterior, aguardar ciclo do painel ou recarregar placar TV.
- Retomar na etapa 3.1.
4. Fallback manual — Visual Chaves
Usar somente quando a súmula estiver indisponível, a fila de envio falhar de forma persistente, ou for necessário corrigir antes de escalar SQL — e apenas por utilizador com permissão manage_options (diretor técnico ou staff autorizado na quadra com login WP).
4.1 Eliminatória simples
- Visual Chaves → categoria → localizar o jogo.
- Selecionar vencedor (lado 1 ou 2) e placar resumido (ex.:
3x1). - Salvar.
- Conferir preenchimento do confronto seguinte.
Walkover em eliminatória: tratar conforme instrução do árbitro-geral (secção 4.3); se o plugin expuser apenas placar manual, usar placar regulamentar de WO (ex.: 3x0 sem games) alinhado à Config. Técnicas da categoria.
4.2 Round robin (RR)
Na vista RR do Visual Chaves:
- Informar placar por game quando a partida não usou súmula.
- WO: botão WO → escolher lado favorecido → Salvar WO.
- Sem games jogados: vitória por melhor-de (ex.: melhor de 3 →
3x0). - Com games parciais: regras exibidas no painel (crédito de games ao vencedor conforme regulamento CBS no plugin).
- Sem games jogados: vitória por melhor-de (ex.: melhor de 3 →
Empate na classificação (tabela RR): o plugin aplica automaticamente Games Pró → Saldo de Pontos → Confronto direto → Sorteio. Se aparecer indicador ⚠ empate pendente na tabela, a direção técnica resolve confronto direto ou sorteio — não é necessário cálculo manual na mesa.
4.3 Walkover (WO) — regra de campo
| Situação | Decisão |
|---|---|
| Atleta não comparece | Árbitro de quadra declara WO após chamada em voz alta. |
| Dúvida de interpretação | Escalar árbitro-geral. |
| Tempo de tolerância | Referência operacional: ~15 minutos após a chamada oficial (ajustar com árbitro-geral se o regulamento do evento fixar outro valor). |
Registo preferencial: súmula (quando voltar) ou Visual Chaves RR/WO conforme secção 4.2.
5. Consultas e remanejamento durante o dia
5.1 Lista de Jogos
FSRS Torneios → Lista de Jogos (fsrs-lista-jogos):
- Filtrar por categoria, dia (sexta/sábado/domingo/não agendado) e quadra.
- Usar para briefing de árbitros, busca rápida e impressão por quadra.
- Atualizar a página após remanejamentos.
5.2 Calendário por quadra
Calendário (fsrs-calendario):
- Visão grelha por quadra e faixa horária.
- Arrastar e soltar (DnD) — ativo em produção: mover bloco de jogo para outro horário/quadra (confirmação automática via AJAX).
- Criar slot — ativo em produção: clicar espaço vazio na quadra para agendar jogo ainda sem horário.
5.3 Agendamento clássico
Se preferir formulário linha a linha: Agendamento (fsrs-agendamento) — alterar dia, horário e quadra por jogo e salvar.
5.4 Troca de atletas na chave (swap)
Em Visual Chaves, troca de slots entre jogos (feature swap ativa em produção):
- Apenas diretor técnico (perfil com
manage_options). - Só slots ainda sem vencedor e com atleta real (não
BYE/ nãoVencedor J#). - Usar para correção de sorteio antes da partida — não substitui resultado de jogo.
6. Mesa e público
6.1 O que divulgar
| Público | Link | O que encontram |
|---|---|---|
| Atletas e torcedores | https://www.squashrs.com.br/consulta-jogos/ | Chaves, horários, busca por nome (shortcode
) |
| Inscritos (status pagamento) | https://www.squashrs.com.br/status-da-inscricao/ | Consulta por CPF — útil antes e no dia; não substitui chamada de quadra |
Frase sugerida na mesa: “Horários e resultados: consulta-jogos no site squashrs.com.br.”
6.2 O que não prometer na mesa
- Novas inscrições após o torneio Publicado.
- Alteração de resultado já homologado sem passar pela direção técnica.
- Ranking da temporada (fora do escopo deste manual).
6.3 Consulta de inscrição no dia
Se o atleta questionar pagamento: orientar a https://www.squashrs.com.br/status-da-inscricao/ (CPF 11 dígitos).
Problemas não resolvidos → diretor técnico (cadastro em Inscrições no admin, sem abrir nova vaga público).
7. Incidentes
7.1 Erro ou atraso na súmula
| Sintoma | Primeira ação | Escalar se persistir |
|---|---|---|
| Jogo não lista em Torneio | Verificar status Em jogo e agendamento | Diretor técnico |
| Envio HTTP falha / fila vermelha | Anotar jogoId; tentar reenvio na súmula | Gabriel / TI |
| TV sem atualizar | Confirmar Firebase prod; F5 na TV | Gabriel |
| Placar errado antes de gravar no WP | Corrigir na súmula | — |
7.2 Duplicata / jogo já processado
Se a súmula receber already_processed (jogo já tem vencedor no WP):
- Parar tentativas repetidas na súmula para o mesmo
jogoId. - Conferir Visual Chaves — resultado já está correto?
- Se o placar no WP estiver errado, não tentar “sobrescrever” pela súmula → secção 7.4.
7.3 Conflito de horário / sobreposição
- Painel Torneio ou Calendário — identificar conflito.
- Remanejar com DnD ou Agendamento (secção 5).
- Comunicar árbitros das quadras afetadas.
- Atualizar impressos se ainda forem usados na rodada.
7.4 Correção pós-gravação (resultado errado)
Não existe ecrã amigável de “desfazer resultado” para staff comum.
- Árbitro-geral e diretor técnico confirmam o erro (placar, vencedor, WO indevido).
- Escalar para diretor técnico autorizado + intervenção SQL em
fgs_chaves(e slots derivadosVencedor J#), por pessoa habilitada. - Reverter avanço indevido na fase seguinte, se já tiver sido preenchido.
- Re-arbitrar ou registar manualmente o valor correto (Visual Chaves ou nova súmula só se o registo anterior tiver sido revertido no WP).
- Documentar o incidente no relatório do evento (fora do sistema).
7.5 Swap indevido ou troca de atleta
- Antes do jogo: refazer swap em Visual Chaves (diretor).
- Depois do jogo iniciado: tratar como 7.4 se resultado foi afetado.
8. Fechamento do dia
8.1 Pendências
- Lista de Jogos / API
jogos-pendentes— listar jogos sem vencedor ainda arbitráveis. - Decidir: completar ainda hoje, remanejar para outro dia, ou WO regulamentar (árbitro-geral).
- Painel Torneio — rever KPIs de pendentes e conflitos zerados.
8.2 Manter Em jogo vs Encerrar
| Situação | Status recomendado |
|---|---|
| Haverá jogos no(s) próximo(s) dia(s) do mesmo torneio | Manter Em jogo overnight |
| Evento terminou (todas as categorias finalizadas) | Encerrar torneio em Torneios |
| Encerramento porém correção tardia no dia seguinte | Diretor pode Reabrir competição (volta a Em jogo) — uso excepcional |
Ao Encerrar:
- Súmula deixa de listar o evento em
eventos-ativos. - Chaves permanecem visíveis em consulta-jogos (status Encerrado ainda exibe jogos ao público).
- Não iniciar novo torneio oficial no mesmo RTDB sem alinhar Firebase com Gabriel.
8.3 Checklist de saída
| # | Item | OK |
|---|---|---|
| 1 | Todas as partidas do dia com vencedor ou WO registrado | ☐ |
| 2 | TVs desligadas ou em tela neutra conforme local | ☐ |
| 3 | Impressos da manhã arquivados ou descartados | ☐ |
| 4 | Incidentes com SQL anotados para relatório | ☐ |
| 5 | Decisão registrada: Em jogo (continua) ou Encerrado | ☐ |
Apêndice A — Papéis no fluxo
| Papel | Responsabilidades principais no dia D |
|---|---|
| Diretor técnico | Status do torneio, remanejamento, swap, fallback Visual, escalonamento SQL |
| Árbitro-geral | WO em dúvida, ritmo do evento, conflitos entre quadras |
| Árbitro de quadra | Súmula, chamada de atletas, WO local |
| Mesa | Impressos, URLs públicas, orientação a atletas, não altera chaves |
| Gabriel / TI | Firebase prod/dev, falhas súmula/API/TV |
Apêndice B — API REST (referência)
Base: https://www.squashrs.com.br/wp-json/fsrs/v1/
| Método | Endpoint | Uso no dia D |
|---|---|---|
| GET | /eventos-ativos | Súmula lista torneios em_jogo |
| GET | /jogos-pendentes?evento={nome}&categoria={opcional} | Jogos arbitráveis e agenda por quadra |
| POST | /resultado-jogo | Súmula grava vencedor e placar (corpo JSON com jogoId, eventoId, etc.) |
Respostas de erro frequentes: invalid_payload, jogo_nao_encontrado, already_processed, vencedor_invalido, rate_limited.
Apêndice C — Transições de status (admin)
Em Torneios (fsrs-config-geral), ações típicas:
- Publicado → Iniciar competição → Em jogo (abertura dia D).
- Em jogo → Encerrar torneio → Encerrado (fim do evento).
- Em jogo → ← Voltar para publicado (correção excepcional antes de retomar).
- Encerrado → ← Reabrir competição → Em jogo (exceção).
Documento operacional Fase 2 — fsrs-gestao. Revisar após mudanças em status, flags de calendário/swap ou contrato da súmula.