Escolhe a competição e a fase, faz upload do HTML da página de classificação da federação (no browser: abre a página com a tabela visível, Ctrl+S → "Página Web, só HTML"), analisa e guarda. As fases criam-se em Competições.
Competição
Fase
Ficheiro HTML
Classificação atual da fase escolhida
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
Notificações push
Recebe um aviso no telemóvel/computador quando houver novidades (pagamentos em atraso, respostas de suporte, alertas em Em Direto).
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 (época atual)
PNG/JPG. Usado no dashboard e nos PDFs.
Sem logótipo
Funcionalidades (ativar / desativar)
As funcionalidades marcadas "em breve" ainda não estão implementadas — a flag fica guardada para quando forem.
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.
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).
Powered by
Comprovativo
Incidente
Título *
Gravidade
Estado
Descrição (visível ao público)
Criar nova época
Ano *
Equipa *
Ativar agora?
Jogadoras a transitar (ativas da época atual)
Treinadores a transitar
Gerir época —
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 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
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.
Jogo
Data *
Hora
Adversário *
Nome oficial do adversário
Competição
Pavilhão
Nº Jogo
Fase
Local
Tipo
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).
Links das jogadoras
Cada jogadora acede à sua área pessoal por este link (não precisa de password). Copia e envia-lhe.