Escolhe a competição e a fase. As fases criam-se em Competições. A classificação pode vir de duas fontes — usa a que tiveres disponível em cada semana: upload do HTML oficial da federação, ou a lista "Jogos da fase" mais abaixo (preenchida à mão + os teus jogos automaticamente). Atenção: cada uma substitui a classificação por inteiro — a última que gravares é que fica.
Competição
Fase
Ficheiro HTML
Classificação atual da fase escolhida
Jogos da fase
Jornada
Data
Casa
Fora
Parciais (25-18 23-25 ...)
Introduz aqui os jogos da fase à medida que o calendário sai do sorteio (todos os confrontos, não só os teus). Os teus próprios jogos preenchem-se sozinhos quando os gravas em Jogos; a classificação é recalculada automaticamente sempre que gravas.
Adicionar documento
Título
Ficheiro (só PDF)
📄 Arrasta o PDF para aqui ou clica para escolher
Documentos desta época
Título
Ficheiro
Data
Todas as equipas
Equipa
Clube
Jogadoras ativas
Acessos totais
Vistas no Mural
Última atividade
Por jogadora (esta época)
Jogadora
Último acesso
Acessos totais
Última vez no Mural
Vezes no Mural
"Mural" é o separador onde a jogadora vê avisos e sondagens — entrar nele conta como ter visto.
Catálogo da loja
Artigo
Preço
Tamanhos
Stock
Estado
Encomendas
#
Atleta
Artigo
Tam.
Qt
Valor
Estado
A atleta encomenda na sua área; o clube atualiza o estado: Recebida → Em tratamento → Entregue.
Espaços
Espaço
Tipo
Estado
Pavilhões, campos ou salas do clube. Não é um sistema de aluguer — é alocação interna de horários a escalões.
Disponibilidade & Alocações
Disponibilidade (a janela que o clube TEM neste espaço)
Dia
Início
Fim
Notas
Alocações (que escalão fica com que parte da janela)
Dia
Início
Fim
Escalão
Notas
Escolhe um espaço para ver/editar a disponibilidade e as alocações.
Tipos de sócio
Tipo
Quota
Periodicidade
Estado
Sócios
Nº
Nome
Tipo
Contacto
Estado
Sócio é pessoa do clube (pode nunca ter jogado) — diferente das quotas de atletas em Pagamentos.
Quotas
Sócio
Período
Valor
Vencimento
Estado
Clubes (super-admin)
Cada clube é isolado. Ao criar, defines o nome e o 1º Admin de Clube (email + password) que vai gerir esse clube.
Equipas (escalões)
Cria a equipa/escalão uma vez (ex.: Cadetes, Juvenis). Depois associas uma época (ano) a cada equipa.
Épocas
Utilizadores / Acessos
Cria contas (treinador / admin de clube) e associa cada treinador às suas épocas. A chave-mestra continua a funcionar como Admin de Clube.
Muda o idioma da aplicação (aplica de imediato). Também é o idioma por defeito do clube.
Fuso horário
Contacto (email)
Moeda
Telefone do clube
Pessoa responsável pela aplicação
Nome
Função
Email
Telefone
Comunicação por email
Email de envio (remetente)
Nome do remetente
Requer chave Resend no Cloudflare (RESEND_API_KEY) e domínio do remetente verificado.
Motor de IA
Motor
Chave API Claude (Anthropic)
O motor grátis usa Cloudflare Workers AI (sem custo). O motor Premium usa a Claude da Anthropic — qualidade superior, mas precisas da tua própria chave API e a Anthropic cobra-te diretamente pelo uso.
Pagamentos online (quotas e loja)
Fornecedor
Chave API (da tua conta)
Segredo do webhook (assinatura)
URL de webhook a colar na tua conta:
O dinheiro das atletas/loja vai diretamente para a TUA conta Stripe/IfThenPay — a SportOS nunca o recebe nem o guarda. Sem fornecedor escolhido, a área de Pagamentos continua com o registo manual de sempre.
Aparência
Cor primária
Cor secundária
Logótipo do clube
PNG/JPG. Usado no dashboard e nos PDFs.
Sem logótipo
Utilização / Licenciamento
a calcular...
Base para o licenciamento futuro (por nº de atletas/treinadores). As fotos das atletas são guardadas no R2.
📅 Resumo semanal (agente)
Pré-visualizar gera o texto SEM enviar nada. "Enviar agora" gera e envia mesmo a notificação a todo o clube (ignora a proteção de 1x/semana). O envio automático é tratado pelo worker de cron.
Biblioteca de exercícios
Exercícios reutilizáveis para construir os planos de treino. (Plano Pro/Ultra) — só visíveis para o teu clube.
Periodização (plano de época)
Mesociclos/microciclos: período, foco e carga ao longo da época. (Plano Pro/Ultra)
Clubes — controlo financeiro
Clube
Plano
Estado
Atletas
Treinadores
Equipas
Épocas
Mensal
Pago
Devido
Saldo
Devido = meses desde o início × mensalidade. Saldo = devido − pago (vermelho = em dívida). Pagamento automático será ligado na fase seguinte.
O R2 dá 10GB grátis por mês. Recalcula-se sozinho uma vez por dia; usa "Recalcular agora" para veres o valor mais recente.
Erros do servidor (últimos 100)
Testes completos (isolamento multi-clube, etc.)
Incidentes (visíveis na página pública)
Manutenção
Percorre todos os clubes e troca fotos de jogadoras, artigos da loja, comprovativos de pagamento e logótipos que ainda estejam em base64 na base de dados por ficheiros no bucket R2. Só precisa de correr uma vez (ficheiros já em R2 são ignorados).
Comprovativo
Incidente
Título *
Gravidade
Estado
Descrição (visível ao público)
Criar nova época
Ano *
Equipa *
Ativar agora?
Jogadoras a transitar
Treinadores a transitar
Gerir época —
Ano *
Jogadoras (0 ativas)
Treinadores (0)
Desativar mantém a jogadora na listagem geral e no histórico, mas remove-a das convocatórias/escolhas desta época.
Novo artigo
Nome *
Preço (€)
Descrição
Tamanhos (sep. por vírgula)
Stock (vazio = ilimitado)
Estado
Fotografia (opcional)
Novo espaço
Nome *
Tipo
Notas
Estado
Janela de disponibilidade
Dia da semana
Início
Fim
Notas
Alocação a um escalão
Dia da semana
Início
Fim
Escalão
Notas
Novo tipo de sócio
Nome *
Quota (€)
Periodicidade
Estado
Novo sócio
Nome *
Nº de sócio
Tipo
Estado
Email
Telefone
NIF
Data de adesão
Morada
Notas
Gerar quotas do período
Tipo de sócio *
Período (rótulo) *
Data de vencimento
Gera uma quota pendente para cada sócio ativo desse tipo. Sócios que já tenham uma quota com este rótulo são ignorados.
Pedido de suporte
Assunto *
Mensagem *
Novo exercício
Nome *
Categoria
Duração (min)
Nº jogadoras
Skill
Material
Descrição
Tradução
Importar jogadoras (JSON)
Cola um array JSON de objetos com os campos name_short, full_name, number, nome_boletim, email, phone. Ficam na época atual, com os consentimentos marcados. Podes editar cada uma depois para acrescentar os dados em falta.
Importar fotografias
Escolhe todos os ficheiros de uma vez (ex.: "Diana Matos.jpg") — associo automaticamente a cada jogadora pelo nome no ficheiro. As que não conseguir associar aparecem na lista para tratares à mão.
Importar exercícios (JSON)
Cola um array JSON de objetos com os campos name, category, skill, material, description, duration, num_players. Ficam só visíveis para o teu clube.
Importar diagramas (JSON)
Cola um array JSON de objetos {"name": "...", "diagram": [...]} — o nome tem de corresponder exatamente ao exercício já existente na biblioteca. Só atualiza o diagrama, não toca nos outros campos.
Bloco de periodização
Nome do bloco *
Início
Fim
Carga
Foco
Diagrama de campo
Toca para selecionar e arrasta para mover. Na seta, arrasta as pontas.
Exercício
Planear treino
Objetivo da sessão
Blocos — total 0 min
Notas
Novo clube
Nome do clube *
1º Admin de Clube
Nome
Email *
Password *
Plano / Faturação
Plano
Mensalidade (€)
Estado
Início
Pagamentos
Data
Valor (€)
Nota
Cobrança automática da mensalidade — pagamentos confirmados aparecem aqui sozinhos.
Nova equipa
Nome *
Escalão
Funcionalidades da equipa
Desmarcado = escondido só para esta equipa. Sem nada marcado, é tudo visível como hoje.
Treinador (dashboard)
Atleta (área da jogadora)
Adicionar
Novo utilizador
Preencher a partir de treinador existente
Nome
Email *
Password
Papel
Épocas a que tem acesso (treinador)
Nova Competição
Nome *
Tipo
Notas
Fases (formato e objetivo são por fase)
As classificações de cada fase importam-se na aba Classificações. Os jogos aparecem na fase conforme a competição/fase que escolheres em cada jogo.
Disponibilidade
Jogo
Tipo de jogo *
Data *
Hora
Adversário *
Nome oficial do adversário
Pavilhão
Local
Competição
Tipo
Nº Jogo
Fase
Sets EFL
Sets Adv.
Parciais (25-18 23-25)
Importar ficheiro de estatísticas
Ficheiro de estatísticas (CSV — ex.: Huld)
Data *
Adversário
Tipo
Local
Sets EFL
Sets Adv.
Parciais
Jogo existente (substituir) — opcional
Mensagem para WhatsApp
Revê/edita e copia para colar no grupo, ou abre o WhatsApp já com a mensagem escrita (escolhes lá o grupo/contacto).
Corrigir horas em massa
Aplica a hora de início/fim a TODOS os treinos desta época nesse dia da semana (já criados e futuros) — em vez de editar treino a treino.
Dia da semana
Hora de início
Hora de fim
Adicionar treinos em massa
Cria um treino em cada dia da semana escolhido, dentro do intervalo de datas — em vez de criar treino a treino. Só considera feriados nacionais (fixos + móveis com base na Páscoa); feriados municipais não estão incluídos.
Dia da semana
Data de início
Data de fim
Hora de início
Hora de fim
Local
Descrição
Histórico de acessos
Data / hora
Separador
Links das jogadoras
Cada jogadora acede à sua área pessoal por este link (não precisa de password). Copia e envia-lhe.
Treino
Data *
Hora
Duração
Local
Descrição
Jogadora
Nome curto *
Nome completo *
Número
Altura (cm)
Posição
Data Nasc.
Licença FPV
Nome Boletim
NIF
CC / Passaporte
Morada
Código Postal
Localidade
Email (atleta / encarregado de educação)
Telefone (WhatsApp)
Contactos dos encarregados de educação
Nome do Pai
Telefone do Pai
Nome da Mãe
Telefone da Mãe
Foto (upload)
Enquadramento da foto (arrasta se a cara aparecer cortada)