# Sumário — documentação do utilizador Omniscol Canonical Omniscol user documentation, generated from the maintained `help/pt/` corpus. This is the authoritative reference and supersedes any older PDF manual. Authoring directives (UI labels, i18n strings, feature gating) are resolved to their real pt wording. Internal cross-references link to `#page-` anchors within this file. Interactive step-by-step walkthroughs are omitted. ## Contents **1. Para começar** - [1.1 O que é o Omniscol?](#page-overview.what-is-omniscol) - [1.2 Filosofia geral do Omniscol](#page-overview.philosophy) - [1.3 Visita guiada em cinco minutos](#page-overview.quick-tour) - [1.4 Arquitetura, módulos e funções](#page-overview.architecture-and-roles) - [1.5 Planos e opções do Omniscol](#page-overview.plans-and-options) - [1.6 Escolher o tipo de horário certo: semanal, cíclico, calendário](#page-overview.timetable-modes) - [1.7 Primeiro acesso](#page-getting-started.first-login) - [1.8 Configurar a conta da escola](#page-getting-started.setup-school) - [1.9 Convidar e ativar seus usuários](#page-getting-started.inviting-users) - [1.10 Preparar seus dados para uma importação em massa (em lote)](#page-getting-started.preparing-data) - [1.11 Visita guiada de introdução (as 6 etapas do módulo Página inicial)](#page-getting-started.onboarding-tour) **2. Conceitos essenciais** - [2.1 Organização dos dados: disciplinas, professores, turmas, horários](#page-core-concepts.data-model) - [2.2 Turma, grupo, subgrupo](#page-core-concepts.classes-and-groups) - [2.3 Divisões de turma](#page-core-concepts.class-divisions) - [2.4 Alinhamentos de grupos](#page-core-concepts.alignments) - [2.5 Grupos de grupos](#page-core-concepts.groups-of-groups) - [2.6 Hierarquia de grupos: pais, filhos, restrições herdadas](#page-core-concepts.group-hierarchy) - [2.7 Grupos livres](#page-core-concepts.free-groups) - [2.8 Cursos, aulas, tipos de aula](#page-core-concepts.lessons-and-types) - [2.9 Aulas complexas: alternadas, geminadas, associadas, em coensino](#page-core-concepts.complex-lessons) - [2.10 Campus, locais, salas, recursos, várias salas](#page-core-concepts.sites-rooms-resources) - [2.11 Grade horária, faixas horárias e durações](#page-core-concepts.timetable-grid) - [2.12 Especializações de salas de aula](#page-core-concepts.classroom-specializations) - [2.13 Disponibilidades e restrições horárias dos professores](#page-core-concepts.wishes-and-availability) - [2.14 Restrições horárias: turmas, disciplinas, grupos, salas e grade](#page-core-concepts.time-constraints) - [2.15 Ano letivo, semanas alternadas, férias](#page-core-concepts.school-year) - [2.16 Linha do tempo e navegação temporal](#page-core-concepts.timeline-navigation) - [2.17 Pesquisar e filtrar nas listas](#page-core-concepts.search-and-filter) - [2.18 Colaboração entre administradores](#page-core-concepts.collaboration) **3. Criação de um horário (módulo Gestão de horários letivos)** - [3.1 Vista geral do módulo Gestão de horários letivos](#page-timetables.overview) - [3.2 Pré-requisitos para criar um horário](#page-timetables.prerequisites) - [3.3 Modo calendário — opções avançadas](#page-timetables.calendar-mode) - [3.4 Disponibilidades e restrições no modo calendário](#page-timetables.calendar-wishes) - [3.5 Janelas de datas](#page-timetables.date-windows) - [3.6 Etapa 1 — Configurações gerais](#page-timetables.general-settings) - [3.7 Etapa 2 — Sites, grades horárias, salas, recursos](#page-timetables.sites-rooms) - [3.8 Etapa 3 — Atribuir os professores](#page-timetables.assigning-teachers) - [3.9 Etapa 4 — Criar as turmas e os seus grupos](#page-timetables.creating-classes) - [3.10 Etapa 5 — Alinhamentos e grupos de grupos](#page-timetables.alignments-and-groups-of-groups) - [3.11 Etapa 6 — Distribuir as horas e criar as aulas](#page-timetables.hour-distribution) - [3.12 Atribuição automática das salas](#page-timetables.auto-room-assignment) - [3.13 Etapa 6 bis — Importação em massa dos cursos via folha de cálculo](#page-timetables.mass-import) - [3.14 Etapa 7 — Geração automática](#page-timetables.generation) - [3.15 Etapa 8 — Publicar (ativar) um horário](#page-timetables.publication) - [3.16 Vários horários ativos em paralelo](#page-timetables.multiple-active-timetables) - [3.17 Posicionamento manual das aulas](#page-timetables.manual-placement) - [3.18 Edição de uma aula](#page-timetables.lesson-edit) - [3.19 Aulas e turmas fora da grelha horária](#page-timetables.off-grid-lessons) - [3.20 Bloquear o posicionamento de uma aula](#page-timetables.lesson-lock) - [3.21 Detetar e resolver os conflitos (na geração)](#page-timetables.conflicts) - [3.22 Diagnosticar uma geração que falha](#page-timetables.diagnosing-generation) - [3.23 Visualizar, duplicar, reorganizar um horário](#page-timetables.visualize-duplicate) - [3.24 Preparar o próximo ano letivo](#page-timetables.next-school-year) **4. Painel** - [4.1 Visão geral do módulo Painel](#page-dashboard.overview) - [4.2 Utilizar as tabelas e os gráficos](#page-dashboard.tools-and-filters) - [4.3 Estatísticas de professores](#page-dashboard.teachers) - [4.4 Estatísticas de salas](#page-dashboard.classrooms) - [4.5 Estatísticas de disciplinas](#page-dashboard.subjects) - [4.6 Estatísticas de turmas](#page-dashboard.classes) - [4.7 Estatísticas de alunos e recursos](#page-dashboard.students-resources) **5. Uso diário (módulo Horário)** - [5.1 Consultar e filtrar os horários](#page-schedules.consult-and-filter) - [5.2 Exibição dos horários: grade, lista, tabela, visão geral, mês, lado a lado](#page-schedules.schedule-display) - [5.3 Alterações pontuais de um horário publicado](#page-schedules.ad-hoc-changes) - [5.4 Eventos pontuais (fora do horário)](#page-schedules.events) - [5.5 Imprimir e compartilhar](#page-schedules.print-and-export) - [5.6 Compartilhar um horário por link público](#page-schedules.share-link) **6. Ausências e substituições** - [6.1 Visão geral do módulo Gestão de ausências](#page-absences.overview) - [6.2 Declarar uma ausência (administrador / professor / aluno)](#page-absences.declaring) - [6.3 Políticas de substituição](#page-absences.substitution-policies) - [6.4 Substituição pontual de uma aula](#page-absences.single-lesson-replacement) - [6.5 Ausências de vários dias](#page-absences.multi-day) - [6.6 Ausências de turmas e alunos](#page-absences.class-and-student-absences) - [6.7 Acompanhamento e exportação das ausências](#page-absences.statistics) **7. Serviço do pessoal** - [7.1 Visão geral da Gestão de pessoal](#page-staffing.overview) - [7.2 Construir uma grade de serviço](#page-staffing.building-grids) - [7.3 Definir as tarefas a cobrir](#page-staffing.assignments) - [7.4 Atribuir o pessoal](#page-staffing.planner) - [7.5 Criar e compartilhar as escalas de serviço](#page-staffing.roster) **8. Administração** - [8.1 Usuários e papéis](#page-admin.users-and-roles) - [8.2 Gerir os administradores](#page-admin.admins) - [8.3 Papéis personalizados de administração](#page-admin.customroles) - [8.4 Gerir os professores](#page-admin.teachers) - [8.5 Gerir os alunos](#page-admin.students) - [8.6 Gerir os membros do pessoal](#page-admin.staff) - [8.7 Gerir as disciplinas (oficiais e personalizadas)](#page-admin.subjects) - [8.8 Tipos de aula](#page-admin.lesson-types) - [8.9 Ano letivo e férias](#page-admin.school-year) - [8.10 Configurações gerais da escola](#page-admin.parameters) - [8.11 Configurações avançadas e personalização](#page-admin.advanced-parameters) - [8.12 Restrições de visibilidade e de acesso](#page-admin.visibility-restrictions) - [8.13 Importação e exportação](#page-admin.import-export) - [8.14 Pontos de backup](#page-admin.snapshots) - [8.15 Registros de atividades (logs)](#page-admin.logs) **9. Integrações** - [9.1 Visão geral das integrações](#page-integrations.overview) - [9.2 iCal — assinatura e link dinâmico](#page-integrations.ical) - [9.3 API Omniscol — tokens de autenticação](#page-integrations.api-tokens) - [9.4 OAuth2 / OIDC — conectar um serviço ao Omniscol](#page-integrations.oauth-server) - [9.5 Personalização de API: substituições de pontos de acesso e hooks](#page-integrations.api-customization) - [9.6 Modelo de dados completo: entidades JSON, relações e ontologia](#page-integrations.data-model-full) - [9.7 MCP — conectar um agente IA externo ao Omniscol](#page-integrations.mcp) - [9.8 Assistente IA integrado](#page-integrations.ai-assistant) - [9.9 OIDC / SSO — login via provedor de identidade](#page-integrations.oauth2) - [9.10 Sincronização com sistemas externos (ERP)](#page-integrations.extsync) - [9.11 OneRoster (1.2 e grupos avançados)](#page-integrations.oneroster) - [9.12 Contas vinculadas e recursos compartilhados](#page-integrations.linked-accounts) **10. Portais** - [10.1 Portal do aluno](#page-portal.student-portal) - [10.2 Portal do professor](#page-portal.teacher-portal) - [10.3 Portal de convidado (links públicos)](#page-portal.guest-portal) - [10.4 Links de compartilhamento públicos](#page-portal.share-links) **11. Painéis de afixação** - [11.1 Configurar um painel de display para um saguão ou um corredor](#page-panels.lobby-panel) - [11.2 Configurar um painel de display diante de uma sala](#page-panels.room-panel) - [11.3 Personalização visual dos painéis de display](#page-panels.customization) **12. Migração a partir de outro programa** - [12.1 Migração a partir de outro programa — Visão geral](#page-migration.overview) - [12.2 Migrar a partir do Hyperplanning (Index Education)](#page-migration.from-hyperplanning) - [12.3 Migrar a partir do EDT / PRONOTE (Index Education)](#page-migration.from-edt) - [12.4 Migrar a partir do aSc Timetables](#page-migration.from-asc) - [12.5 Migrar a partir do ADE / ADE Campus](#page-migration.from-ade) - [12.6 Migrar a partir de uma planilha Excel caseira](#page-migration.from-spreadsheet) **13. Particularidades do ensino superior** - [13.1 Especificidades do ensino superior — visão geral](#page-higher-ed.overview) - [13.2 Sessões, promoções, programa, percursos](#page-higher-ed.sessions-and-tracks) - [13.3 Intervenientes externos (professores contratados, visitantes)](#page-higher-ed.external-faculty) - [13.4 Salas desdobradas e exames em várias salas](#page-higher-ed.multi-room-exams) - [13.5 Coensino e rotação de intervenientes](#page-higher-ed.co-teaching) - [13.6 Modo calendário para formações não recorrentes](#page-higher-ed.calendar-mode) - [13.7 Ligações de videoconferência por curso](#page-higher-ed.videoconference-links) - [13.8 Vários sites no ensino superior](#page-higher-ed.multi-site) **14. Particularidades do primário / secundário (escolar)** - [14.1 Especificidades do primário / secundário — visão geral](#page-k12.overview) - [14.2 Meias-turmas e opções em divisão de turma](#page-k12.half-classes-and-options) - [14.3 Estudos e estudos dirigidos (escolar)](#page-k12.study-halls) - [14.4 Turmas multisseriadas](#page-k12.multi-grade-classes) **15. Cenários de casos de uso** - [15.1 Cenários de casos de uso — visão geral](#page-use-cases.overview) - [15.2 Cenários — Criação e geração de horários](#page-use-cases.creation-and-generation) - [15.3 Cenários — Posicionamento e modificação no dia a dia](#page-use-cases.placement-and-modification) - [15.4 Cenários — Multigrupo, multissala, multi-interveniente](#page-use-cases.multi-entities) - [15.5 Cenários — Operações em massa](#page-use-cases.mass-operations) - [15.6 Cenários — Exames e eventos](#page-use-cases.exams-and-events) - [15.7 Cenários — Ausências e substituições](#page-use-cases.absences-and-substitutions) - [15.8 Cenários — Relatórios e estatísticas](#page-use-cases.reporting-and-stats) - [15.9 Cenários — Divulgação e partilha](#page-use-cases.diffusion-and-sharing) **16. FAQ — perguntas frequentes** - [16.1 FAQ — questões gerais](#page-faq.general) - [16.2 FAQ — Criação de horários](#page-faq.timetables) - [16.3 FAQ — Importação de dados](#page-faq.data-import) - [16.4 FAQ — Comportamento do algoritmo de geração](#page-faq.solver-behavior) - [16.5 FAQ — Exibição e interface](#page-faq.display-and-ux) - [16.6 FAQ — casos de uso no ensino superior](#page-faq.higher-ed-cases) - [16.7 FAQ — casos particulares e configurações avançadas](#page-faq.edge-cases) - [16.8 FAQ — Segurança e alojamento](#page-faq.security-and-hosting) - [16.9 FAQ — Preços e licenças](#page-faq.pricing-and-licenses) - **[Glossário](#chapter-glossary)** (51 terms) - **[Index](#chapter-index)** --- ## 1. Para começar ### 1.1 O que é o Omniscol? *Source: `help/pt/overview/what-is-omniscol.md` · id: overview.what-is-omniscol · Updated: 2026-06-13* O Omniscol é um **software on-line de planejamento sob restrições**, concebido para instituições que vão do ensino primário ao ensino superior e à formação continuada. Ele permite criar horários semanais, cíclicos ou de calendário (datados, não recorrentes), e depois publicá-los para os usuários envolvidos. O produto combina a entrada manual, o diagnóstico de conflitos e a geração automática por [algoritmo de geração](#page-glossary.solver). Os detalhes de negócio estão documentados nas páginas especializadas. #### Como funciona, de modo geral O fluxo de trabalho padrão com o Omniscol: ``` 1. Inserir os dados (usuários, disciplinas, sites/salas, turmas) ↓ 2. Configurar o horário (volumes horários, alinhamentos, restrições) ↓ 3. Gerar ou posicionar (geração automática ou posicionamento manual) ↓ 4. Verificar e arbitrar (conflitos, ajustes, bloqueios) ↓ 5. Publicar (o horário fica visível para os usuários) ↓ 6. Conviver com o horário (alterações diárias, ausências, substituições) ``` Cada etapa tem um módulo dedicado. As etapas 1 a 5 são pontuais (antes de um início de ano letivo, de um semestre ou de uma reformulação). A etapa 6 corresponde ao uso diário. #### Os tipos de horário O Omniscol oferece suporte a **três tipos** de horário. A disponibilidade de cada tipo depende do plano contratado. - **Semanal** — aulas recorrentes numa semana padrão, com ou sem alternância A/B. É o caso padrão do ensino primário e secundário. Disponível em todos os planos. - **Cíclico** — aulas recorrentes num ciclo de N dias numerados (normalmente 6 ou 8), diferente da semana de 5 ou 7. Comum nos sistemas norte-americanos. Disponível nas contas Premium. - **Calendário** — aulas datadas uma a uma, sem recorrência. Modo privilegiado do ensino superior e da formação continuada. Disponível nas contas Premium. Numa conta Premium, os três tipos podem ser utilizados. E graças a [Vários horários ativos em paralelo](#page-timetables.multiple-active-timetables), uma funcionalidade incluída no Premium, eles podem até ser combinados nos mesmos períodos. Consulte [Escolher o tipo de horário certo](#page-overview.timetable-modes) para ajudar na decisão. #### Filosofia: os dados em primeiro lugar O Omniscol parte de uma constatação: um horário não é um quadro a preencher, é um **problema de otimização sob restrições**. O software foi concebido em torno de cinco princípios: 1. **Os dados antes do cálculo**: sites, salas, professores, turmas, grupos, disciplinas e volumes horários devem ser confiáveis antes de iniciar uma geração. 2. **Separação estrutura / cotidiano**: construir um horário e gerir as alterações do dia a dia são duas atividades diferentes, com interfaces diferentes. 3. **Restrições explícitas**: as impossibilidades são sinalizadas na forma de [conflitos](#page-glossary.conflict) ou de aulas não posicionadas; o usuário mantém a decisão de negócio. 4. **Rascunhos e versões**: um horário não publicado pode ser testado, duplicado ou reconstruído sem alterar o que os usuários veem. 5. **Controle dos dados**: exportação em JSON ou por planilha interna e reversibilidade. Página de referência: [Filosofia geral do Omniscol](#page-overview.philosophy). #### Dados de entrada / saída Do lado da **entrada**, o Omniscol aceita: - a entrada unitária na interface; - a importação em massa por copiar e colar a partir de uma planilha, com verificação antes da aplicação; - migrações acompanhadas conforme as exportações disponíveis do lado da origem; - conectores ERP/SI por meio da [sincronização com sistemas externos](#page-integrations.extsync) (Aurion, Auriga; adição de um novo ERP como projeto); - a [API Omniscol](#page-integrations.api-tokens) conforme os direitos e as opções da conta; - o [OIDC / SSO](#page-integrations.oauth2) conforme o contrato e a configuração. Do lado da **saída**: - consulta web responsiva; - assinaturas [iCal](#page-integrations.ical); - links públicos assinados e com expiração; - painéis de exibição; - exportações Excel / CSV / PDF / JSON conforme as telas; - API REST documentada, com escopo limitado pelos endpoints e opções autorizados; - [MCP](#page-integrations.mcp) para agentes de IA compatíveis nas contas Premium. #### Organização modular O software está organizado em duas famílias de módulos. ##### Módulos do cotidiano - **Página inicial** — visão sintética do dia e checklist de introdução. - **Horário** — consulta e alterações pontuais. - **Painel** — estatísticas de ocupação e de serviço. - **Gestão de ausências e substituições** — declarações de indisponibilidade e atribuição de substitutos. ##### Módulos de configuração - **Gestão de horários letivos** — criação, configuração, geração e publicação dos horários. - **Administração** — usuários, disciplinas, anos letivos, configurações, importação / exportação e integrações. - **Gestão de pessoal** — planejamento de pessoal por tarefas quando o módulo está ativo; também pode ser vendido como oferta autônoma. #### Papéis e acesso Quatro perfis estruturam o acesso do lado da escola. Os **Administradores** (responsáveis pelo planejamento, direção, DSI) configuram a conta e constroem os horários. Os **Professores** consultam o seu horário, inserem as suas disponibilidades e declaram as suas ausências. Os **Alunos** consultam o seu horário pessoal. O **Pessoal** (vida escolar, supervisores) atua quando a Gestão de pessoal é utilizada. Links de compartilhamento assinados oferecem, adicionalmente, um acesso sem conta a um escopo preciso. Os papéis são cumuláveis: um professor que participa do planejamento pode ser ao mesmo tempo Professor e Administrador. O detalhamento dos papéis é apresentado em [Arquitetura e funções](#page-overview.architecture-and-roles). A opção [Papéis personalizados](#page-admin.customroles) permite restringir os direitos de uma conta de administrador módulo a módulo e operação a operação. #### Planos e opções O Omniscol oferece vários planos: **Lite** (autônomos, formadores individuais, instituições muito pequenas), **Staffing** (apenas a Gestão de pessoal), **Standard** (estabelecimento escolar clássico), **Standard Plus** (Standard + Gestão de pessoal) e **Premium** (ensino superior, formação continuada, organizações multi-sites complexas). Algumas funcionalidades estão incluídas de base no Premium — tipos de horário cíclico e calendário, disponibilidades de calendário, vários horários ativos — enquanto outras se ativam conforme o contrato (snapshots, logs, colaboração em tempo real, contas vinculadas, papéis personalizados…). O detalhamento dos planos, das opções e do seu modo de ativação está centralizado em [Planos e opções do Omniscol](#page-overview.plans-and-options). #### Pontos de diferenciação - **Geração automática**: o algoritmo de geração posiciona as aulas respeitando as restrições estritas e otimizando as preferências. - **Controle manual**: o usuário pode sempre inspecionar, mover, bloquear ou arbitrar. - **Difusão multissuporte**: web, iCal, exportações, links públicos e painéis de exibição. - **Relatórios**: painéis e exportações para acompanhar as horas, a ocupação das salas e os indicadores úteis para auditorias. #### Arquitetura e hospedagem Os elementos de arquitetura, de segurança e de hospedagem estão descritos em [Arquitetura e funções](#page-overview.architecture-and-roles) e [FAQ — Segurança e alojamento](#page-faq.security-and-hosting). #### A seguir - Para uma visita interativa: [Visita guiada em cinco minutos](#page-overview.quick-tour). - Para configurar a sua conta: [Primeiro acesso](#page-getting-started.first-login) e depois [Configurar a conta da escola](#page-getting-started.setup-school). - Para compreender os conceitos de negócio: [Turma, grupo, subgrupo](#page-core-concepts.classes-and-groups). - Para criar o seu primeiro horário: [Módulo Gestão de horários letivos](#page-timetables.overview). - Para as perguntas frequentes: [FAQ geral](#page-faq.general). #### Ver também - [Filosofia geral do Omniscol](#page-overview.philosophy) - [Arquitetura e funções](#page-overview.architecture-and-roles) - [Escolher o tipo de horário certo: semanal, cíclico, calendário](#page-overview.timetable-modes) - [Planos e opções do Omniscol](#page-overview.plans-and-options) - [Visita guiada em cinco minutos](#page-overview.quick-tour) ### 1.2 Filosofia geral do Omniscol *Source: `help/pt/overview/philosophy.md` · id: overview.philosophy · Updated: 2026-06-13* Antes das funcionalidades, alguns princípios estruturam a experiência Omniscol e explicam por que o software toma certas decisões em vez de outras. #### O contexto de negócio O horário não é uma simples tabela a preencher. É um **problema de otimização sob restrições**: - restrições numerosas e muitas vezes implícitas; - restrições por vezes contraditórias; - forte desafio operacional: o início do ano letivo, o semestre ou o período tem de funcionar. O Omniscol foi concebido como um **assistente de planejamento sob restrições**: acelera o trabalho, assinala as impossibilidades e deixa o arbitramento de negócio para o usuário. #### O que o Omniscol não é | Categoria | O que faz | Omniscol? | | --- | --- | --- | | ERP escolar / SIS | Registos administrativos, matrículas | Não. O Omniscol consome ou sincroniza esses dados. | | Ambiente digital / LMS | Pedagogia, conteúdos de curso, comunicação | Não. | | Notas / presenças | Avaliações, assinaturas, diário de classe | Não. | | Omniscol | Organização do tempo: quem, o quê, onde, quando | Sim. | O Omniscol destina-se a interligar-se com outros sistemas via importações, exportações, iCal, API REST documentada, OIDC / SSO conforme o contrato e [sincronização com sistemas externos](#page-integrations.extsync). Não procura substituir as ferramentas de negócio que cobrem outros perímetros. Consulte também [integrations.partners](#page-integrations.partners). #### Os cinco princípios fundadores ##### 1. O dado antes do cálculo Não é possível gerar um horário confiável sem dados consistentes: sites, salas, professores, turmas, grupos, disciplinas, volumes horários, disponibilidades e restrições. ##### 2. Separação estrutura / vida quotidiana Construir um horário e conviver com um horário publicado são duas atividades diferentes. A primeira faz-se sobretudo em [Gestão de horários letivos](#page-timetables.overview), a segunda em [Horário](#page-schedules.consult-and-filter), [Gestão de ausências](#page-absences.overview) e [Painel](#page-dashboard.overview). ##### 3. Restrições rígidas e restrições de otimização Certas restrições tornam um horário inválido e são tratadas como restrições estritas: um professor num único local ao mesmo tempo, uma turma sem colisão salvo grupos numa divisão de turma, uma sala padrão atribuída a uma única aula, as indisponibilidades, as capacidades, os recursos materiais e os deslocamentos entre sites. Outras restrições servem para melhorar a solução: disponibilidades indesejáveis, buracos, equilíbrio dos dias, ordem pedagógica entre disciplinas, máximos ou mínimos de horas, número de dias de presença. São avaliadas como penalizações que a geração automática procura reduzir. ##### 4. Rascunhos e versões Um horário não publicado não tem impacto no que os usuários veem. Você pode duplicar, testar, comparar, bloquear certas aulas, relançar uma geração e publicar apenas quando o resultado convém. Os snapshots, quando estão ativos, acrescentam uma rede de segurança para voltar atrás ou restaurar certos dados. ##### 5. O usuário permanece dono do dado O Omniscol permite a exportação JSON completa, as exportações de negócio conforme as telas e a reversibilidade. As automatizações não substituem a decisão humana. #### Os conflitos são uma informação, não um erro Na entrada manual, o Omniscol assinala os conflitos mas deixa o usuário arbitrar. Isto é útil para os casos particulares reais: sala de tempo suplementar, ultrapassagem assumida de uma capacidade teórica, atribuição de uma sala fora da especialização por uma razão local. Na geração automática, o algoritmo de geração não produz voluntariamente colisão maior. Se nenhuma solução completa for encontrada, conserva o melhor horário calculado e deixa as aulas impossíveis de posicionar na lista de post-its não posicionados. O [bloqueio de uma aula](#page-timetables.lesson-lock) permite ancorar um posicionamento pretendido: a geração seguinte ajusta as outras aulas em torno desse bloqueio. #### Multi-horário como princípio de modelagem O Omniscol é nativamente **multi-horário**. Vários horários podem coexistir para uma mesma instituição: - anos letivos distintos; - semestres ou períodos; - separação lógica por campus, departamento ou ciclo; - combinação de tipos diferentes, por exemplo semanal recorrente e calendário datado. Em Premium, vários horários podem estar [ativos em paralelo](#page-timetables.multiple-active-timetables) — uma ativação específica é também possível em certas contas Standard. Uma escola pode ter um ciclo preparatório em dois horários semanais para cada semestre, um ciclo de grande escola em calendário não recorrente e, simultaneamente, um programa ExecMBA de 18 meses, que começa e termina em defasagem em relação aos outros planejamentos e ao ano letivo. Com o Omniscol, é possível criar cada horário separadamente, mas beneficiar da gestão dos conflitos cruzados durante o planejamento, depois ativar tudo em paralelo, simultaneamente, para que o resultado final seja uma vista fundida, transparente para os usuários finais. #### IA de otimização e agentes externos O [algoritmo de geração](#page-glossary.solver) é uma IA de otimização **metaheurística Monte-Carlo neuro-simbólica**. O motor explora posicionamentos sob restrições, procura uma solução válida e depois otimiza as penalizações, com uma rapidez impressionante (ex.: menos de um minuto para uma escola de 16 turmas). Se uma solução válida não for encontrada, um sistema de relaxamento sacrifica as aulas de forma inteligente e procede na mesma à otimização do resultado. O Omniscol é uma empresa AI-first, nascida de uma longa fase de I&D "deeptech". O Omniscol dispõe também de outros algoritmos do tipo IA simbólica, para verificar os conflitos, detectar as inconsistências de configuração, fazer propostas de melhoria ou alertas de configuração, pré-filtrar a melhor solução numa lista de propostas, ou ainda alocar automaticamente um subconjunto de salas a um subconjunto de aulas, tudo no navegador, imediatamente. O Omniscol expõe também ferramentas de API a agentes compatíveis via [MCP](#page-integrations.mcp) quando a opção e os direitos estão ativos. Isto permite interagir com o Omniscol em linguagem natural, para estender as possibilidades fornecidas pela interface gráfica, indo buscar diretamente os dados pertinentes no servidor do Omniscol. Estes agentes atuam no perímetro do token fornecido; os usos de consulta são os mais seguros, e qualquer ação de escrita deve permanecer verificada pelo usuário. Atualmente, o melhor agente de IA para interagir com o Omniscol é o Claude, na versão Desktop. #### Ver também - [O que é o Omniscol?](#page-overview.what-is-omniscol) - [Arquitetura e funções](#page-overview.architecture-and-roles) - [Escolher o tipo de horário certo](#page-overview.timetable-modes) - [Conflito](#page-glossary.conflict) - [Geração automática](#page-glossary.solver) - [Vários horários ativos em paralelo](#page-timetables.multiple-active-timetables) ### 1.3 Visita guiada em cinco minutos *Source: `help/pt/overview/quick-tour.md` · id: overview.quick-tour · Updated: 2026-06-25* Esta visita guiada leva você pelos principais módulos do Omniscol em poucos minutos. Se você está conhecendo o software, este é o lugar certo. #### O menu de módulos à esquerda À esquerda de cada tela, um menu vertical lista os módulos disponíveis para o seu papel. De cima para baixo, na ordem de uso diário: 1. **Página inicial** (o ícone [house]) — guia de introdução enquanto nenhum horário ainda estiver publicado, caso contrário uma tela inicial personalizada. 2. **Horário** — a sua vista principal no dia a dia. 3. **Painel** — estatísticas. 4. **Gestão de ausências** — gestão das ausências e substituições. 5. **Gestão de horários letivos** — criação e estrutura dos horários. 6. **Administração** — usuários, disciplinas, configurações. Conforme o seu contrato, outros módulos podem aparecer, por exemplo **Gestão de pessoal** (grades de tarefas e de supervisão, para as equipes de vida escolar). #### A linha do tempo No alto da maioria das telas, uma **linha do tempo** (por semanas ou por meses) representa o ano letivo. Ela permite que você navegue no tempo e veja de relance os períodos em que há horários publicados (semanas coloridas) e as férias (semanas em cinza). Esta linha do tempo é rica em opções e usos. Ela pode se transformar em vista por meses ou anos (ou até: de data a data, explicitamente). Na gestão dos horários, ela se colore conforme os horários publicados — as lacunas são as semanas em branco. Ao exibir um horário do tipo calendário, indicações azul-claras, no alto, assinalam onde se encontram as aulas nas vistas de planejamento exibidas na tela. As setas `◀` e `▶︎` nas extremidades alternam entre anos letivos. #### Siga o guia! Bem-vindo ao Omniscol. Esta visão geral apresenta os módulos do software e como eles se articulam. 1. O **botão de ajuda** no canto superior direito abre esta ajuda a qualquer momento, em qualquer tela. Ele sabe em que tela você está e sugere a página mais pertinente. Ao lado, o botão de legendas exibe uma descrição dos elementos na tela. 2. **Página inicial** (ícone [house]): enquanto você não tiver publicado o seu primeiro horário, este módulo o orienta passo a passo. Siga [as etapas](#page-getting-started.setup-school), marque as caixas e volte quando quiser. 3. **Horário**: a consulta no dia a dia. Todos os filtros (turma, professor, sala, grupo, disciplina, aluno). Vários modos de exibição: grade padrão, lista, tabela tipo planilha, planejamento, planejamento por horas, dia, mês e frente a frente. Um planejamento só é exibido depois de publicado um primeiro horário contendo aulas posicionadas. 4. **Painel**: as estatísticas do horário efetivo (operacional). Horas por professor, por turma, por sala, por disciplina. Filtrável por período. Exportável em CSV e Excel. API com ainda mais detalhe. 5. **Ausências**: gestão centralizada. Declarações pelos professores ou pelos alunos (com validação administrativa), ou pela administração diretamente. Atribuição de substitutos aos professores ausentes. Ausência de turma (estágio, saída escolar...). 6. **Gestão de horários letivos**: a criação dos horários em si. Sites, turmas, grupos, professores, disciplinas, aulas. Geração automática ou posicionamento manual. Publicação, para que um horário teórico se torne operacional. 7. **Gestão de pessoal** (se o módulo estiver ativado): o planejamento dos supervisores. Definição das tarefas e das suas especificidades, atribuição do pessoal. Folha de serviço a distribuir. 8. **Administração**: usuários, disciplinas, anos letivos, configurações, importação/exportação. Sobretudo no início do uso da conta. #### A seguir - Para configurar a sua conta do zero: [Primeiro acesso](#page-getting-started.first-login). - Para compreender os conceitos de negócio (turma, grupo, divisão de turma, alinhamento, etc.): [Conceitos de negócio](#page-core-concepts.classes-and-groups). - Para criar o seu primeiro horário: [Vista geral do módulo Gestão de horários letivos](#page-timetables.overview). - Para ver como o Omniscol se integra ao seu SI: [Visão geral das integrações](#page-integrations.overview). #### Ver também - [O que é o Omniscol?](#page-overview.what-is-omniscol) - [Arquitetura e funções](#page-overview.architecture-and-roles) ### 1.4 Arquitetura, módulos e funções *Source: `help/pt/overview/architecture-and-roles.md` · id: overview.architecture-and-roles · Updated: 2026-06-13* Esta página resume a arquitetura aplicacional do Omniscol e as funções visíveis do lado da escola. Os compromissos contratuais precisos (disponibilidade, backups, retenção, supervisão) constam dos documentos jurídicos ou comerciais validados. #### Hospedagem e confiabilidade O Omniscol está hospedado na União Europeia, mais especificamente na AWS Paris e na Scaleway Paris. O produto utiliza mecanismos de backup, de supervisão e de isolamento lógico entre as contas das instituições; os detalhes aplicáveis a uma conta dependem do contrato e do ambiente em causa. Consulte [FAQ — Segurança e alojamento](#page-faq.security-and-hosting) para o detalhe do lado do usuário. #### Arquitetura de software - **Aplicação web**: a aplicação é carregada uma vez e, em seguida, as telas são renderizadas dinamicamente com trocas REST/JSON (Single Page Application). - **CouchDB** como base de dados principal. - **Redis** como base de dados para a sincronização do lado da aplicação e para os logs. - **TypeScript** para a interface (webapp). - **Backend Node.js / Express** que orquestra os engines internos (api, webapp, portal, panel, ical, mcp, oauth2, etc.). - **C++** para o algoritmo de geração, executado em VMs dedicadas iniciadas sob demanda. #### Segurança - **HTTPS** para as comunicações expostas. - **Cloudflare** como porta de entrada exclusiva (proteção anti-DDOS). - **Senhas pré-hasheadas do lado do cliente com scrypt**, depois re-hasheadas e salgadas do lado do servidor. Não são armazenadas nem transmitidas em texto claro. - **Autenticação JWT** com chaves de assinatura e tempo de vida curto; uma rotação ou revogação de chave pode invalidar os tokens assinados. - **[Links de compartilhamento](#page-glossary.share-link)** assinados, expiráveis, associados à conta que os gerou e invalidáveis por mudança de senha ou desativação dessa conta. - **[Tokens de API](#page-glossary.api-token)** com chave raiz e tokens derivados, escopos de endpoints e expirações. - **OIDC / SSO** disponível conforme o contrato e a configuração da conta. - **Exportação e backups internos em JSON** para a reversibilidade dos dados. #### Funções de usuário O Omniscol distingue várias funções do lado da escola: | Função | Uso típico | | --- | --- | | Administrador | Responsáveis de planejamento, direção, TI | | Professor | Professores, palestrantes, formadores | | Aluno | Alunos, estudantes, aprendizes | | Pessoal | Vida escolar, coordenadores, monitores, inspetores se o Gestão de pessoal estiver ativo | | Link de compartilhamento | Acesso por URL assinada a um perímetro preciso | A correspondência entre estes rótulos e os identificadores técnicos das funções está detalhada em [Usuários e papéis](#page-admin.users-and-roles). Um mesmo usuário pode **acumular várias funções**. Por exemplo, um professor que participa no planejamento pode ser ao mesmo tempo Professor e Administrador. A função Link de compartilhamento não corresponde a uma conta de usuário clássica. Trata-se de links assinados: os links web de horário são de leitura apenas, ao passo que certos links direcionados podem autorizar uma ação limitada, como a inserção das disponibilidades de um professor até uma data de expiração. Existem também funções internas reservadas às equipes do Omniscol: administração da plataforma, tradução, ações comerciais e parceiros redistribuidores. Algumas destas contas estão autorizadas a conectar-se às contas das escolas, por razões de manutenção. Intervêm então como superadministradores da escola, com mais possibilidades do que um administrador: importação de dados brutos na base de dados, ativação ou desativação de opções pagas, conexão em nome de um usuário. Estes acessos disparam alertas de conexão visíveis e os seus tokens expiram muito depressa. Grandes poderes implicam grandes responsabilidades. > _Option: Papéis personalizados_ #### Funções personalizadas A opção [Papéis personalizados](#page-admin.customroles) permite restringir os direitos de uma conta de administrador módulo a módulo e operação a operação. Serve para delegar parte da administração sem conceder todos os direitos globais. #### Módulos Os módulos visíveis numa conta padrão: - **Página inicial** (`home`) — página de entrada e síntese do dia. - **Horário** (`schedules`) — consulta e alterações pontuais. - **Painel** (`dashboard`) — estatísticas de ocupação e de serviço. - **Gestão de ausências** (`absences`) — declarações e substituições. - **Gestão de horários letivos** (`timetables`) — construção, geração e publicação dos horários. - **Administração** (`admin`) — usuários, configurações, importação / exportação e integrações. Conforme o contrato, podem surgir outros módulos, nomeadamente **Gestão de pessoal** para o planejamento das tarefas de vida escolar e de supervisão. #### Multiescola Cada escola está isolada logicamente do lado do servidor e acessa o seu próprio domínio. Os dados de uma escola não são visíveis pelas outras escolas a partir da aplicação. Em contrapartida, mediante pedido, é possível ativar um canal de comunicação entre as contas distintas, para compartilhar os conflitos de ocupação de salas e de professores. Isto é muito útil no âmbito de edifícios compartilhados, ou para um grupo de escolas que compartilha recursos. #### Ver também - [Apresentação geral](#page-overview.what-is-omniscol) - [Visita guiada](#page-overview.quick-tour) - [Usuários e papéis](#page-admin.users-and-roles) - [Papéis personalizados](#page-admin.customroles) - [Planos e opções do Omniscol](#page-overview.plans-and-options) - [Segurança e alojamento](#page-faq.security-and-hosting) ### 1.5 Planos e opções do Omniscol *Source: `help/pt/overview/plans-and-options.md` · id: overview.plans-and-options · Updated: 2026-06-13* O Omniscol vende-se segundo um modelo simples: **vários planos**, **funções Premium de base**, certas **ativações contratuais** e uma oferta autônoma **Gestão de pessoal**. O preço e o perímetro exato dependem do contrato com a sua instituição. #### Os planos | Plano | Para quem? | Incluído | | --- | --- | --- | | **Lite** | Instituições muito pequenas, independentes, formadores solo, testes | Geração de horário e impressão. **Sem publicação, sem anos letivos, sem multissite, sem gestão de alunos**, recursos limitados. Módulos visíveis: Gestão de horários letivos + Administração mínima. | | **Staffing** | Instituições que só precisam da gestão de pessoal | Apenas o módulo Gestão de pessoal, para a supervisão, as permanências e o enquadramento | | **Standard** | Instituição clássica (escola primária, ensino básico, ensino secundário), equipe de planejamento única, horário semanal | Lite + publicação, anos letivos, multissite, gestão dos alunos, planejamento diário, ausências, painel, painéis de exibição, iCal, API limitada em leitura | | **Standard Plus** | Instituições que precisam do Standard e da Gestão de pessoal | Standard + Gestão de pessoal | | **Premium** | Ensino superior, formação continuada, organizações multissite ou multipercurso mais complexas | Horário do tipo semanal, cíclico ou calendário, disponibilidades datadas, vários horários ativos, mais opções de configuração (estado das aulas, posicionamento fora da grade, eventos pontuais, modalidade de aula, links de videoconferência...), API completa por tokens, MCP, OIDC / SSO, sincronização externa, opções avançadas conforme o contrato (colaboração, snapshots, funções personalizadas). | As funcionalidades não se ativam todas da mesma maneira: - certas funções estão **incluídas de base no Premium** (modo calendário, disponibilidades calendário, vários horários ativos); - outras são **ativadas conforme o seu contrato**, na maioria das vezes em contas Premium; - alguns casos permanecem **excepcionalmente ativáveis** numa conta Standard quando há uma necessidade precisa; - a **Gestão de pessoal** segue também a sua própria lógica, uma vez que pode ser vendida isoladamente. #### Oferta autônoma Gestão de pessoal O módulo Gestão de pessoal também é comercializado **sem o resto do Omniscol** para as instituições que só precisam da gestão de supervisão / enquadramento. A conta expõe então apenas o módulo Gestão de pessoal, as ausências do pessoal atribuível e as telas de usuário necessárias. Sem horário, sem painel pedagógico, sem painéis de exibição. Consulte [Visão geral da Gestão de pessoal](#page-staffing.overview). #### Ativações contratuais | Função | Descrição | Ativação | | --- | --- | --- | | Funções personalizadas | Funções personalizadas com matriz de permissões finas. | Conforme o contrato da conta | | Snapshots | Pontos de backup, digest, restauração e rotação conforme quota contratual ativada pelo Omniscol. | Conforme o contrato da conta | | Colaboração | Colaboração entre administradores, presença em tempo real conforme configuração. | Conforme o contrato da conta | | Logs | Tela de consulta dos registros com profundidade de conservação ativada pelo Omniscol conforme o contrato. | Conforme o contrato da conta | | Contas ligadas | Diferentes contas Omniscol ligadas para compartilhar ocupações de salas, professores ou turmas entre instituições que dispõem cada uma de um subdomínio Omniscol separado. | Mediante pedido, após enquadramento | | Vários horários ativos numa conta Standard | Caso excepcional para certas contas escolares realmente separadas (por exemplo ensino básico-secundário autônomo ou primário-básico-secundário). | Ativação específica, com enquadramento e faturamento adaptados | | Atribuição direta dos alunos às turmas e grupos nos horários | Habitualmente, as escolas planejam sem ter a lista precisa dos alunos e das suas atribuições. Trabalham portanto com as turmas e grupos por um número teórico de alunos esperados, precisando as lógicas organizacionais; uma vez terminado o horário, os alunos são (eventualmente) atribuídos às turmas e grupos, a posteriori. Contudo, existe outro caso de funcionamento, frequente nos organismos de formação, em que se precisa da lista precisa dos alunos em cada turma e cada grupo, a priori, na concepção do horário; a lógica de não conflito entre os grupos (exclusão mútua) é então automaticamente deduzida pelo Omniscol. Isto muda o modelo de dados e o modo de funcionamento, e só é portanto ativável por opção pela equipe Omniscol. | Mediante pedido, após avaliação da maneira de planejar particular | | Gestão de pessoal | Módulo de gestão da supervisão / enquadramento (exames, permanências). Também vendido em oferta autônoma. | Em oferta autônoma, em Standard Plus ou conforme o contrato | | Módulos complementares | Módulos suplementares eventuais. | Conforme o módulo e o contrato | #### Funcionalidades notáveis explicadas ##### Modo calendário Permite posicionar as aulas **data a data** em vez de numa semana tipo. É uma função **incluída de base no Premium**, indispensável para o ensino superior, a formação continuada, os centros de formação. Consulte [Modo calendário](#page-glossary.calendar-mode). ##### Grupos de grupos Reagrupar vários grupos — de uma mesma turma ou de turmas diferentes — numa entidade planejável de um bloco. **Disponível em todas as contas, seja qual for o plano**, e em todos os tipos de horário (semanal, cíclico, calendário); nenhuma ativação particular é exigida. Consulte [Grupos de grupos](#page-core-concepts.groups-of-groups). ##### Vários horários ativos em paralelo Publicar vários horários simultaneamente nas mesmas semanas, fundidos dinamicamente. Está incluído de base no Premium. O Omniscol pode também ativá-lo excepcionalmente em certas contas Standard ou escolares mistas quando a necessidade e o faturamento o justificam. Consulte [Vários horários ativos em paralelo](#page-timetables.multiple-active-timetables). ##### Contas ligadas Ligar várias contas Omniscol para compartilhar as ocupações de recursos comuns: professores, salas, edifícios ou turmas conforme os casos. A ativação faz-se mediante pedido pelo Omniscol, pois é preciso enquadrar as contas ligadas e os recursos compartilhados. Consulte [Contas vinculadas e recursos compartilhados](#page-integrations.linked-accounts). ##### Funções personalizadas Limitar de forma fina os direitos de uma conta de administrador — módulo a módulo, com escolha das operações (consulta / modificação / supressão) e corte de um módulo inteiro num clique. Consulte [Papéis personalizados](#page-admin.customroles). ##### Pontos de backup Guardar o estado da conta num instante T e restaurá-lo mais tarde. Precioso antes de uma operação arriscada (reformulação massiva, importação volumosa, início de ano). Consulte [Pontos de backup](#page-admin.snapshots). ##### Colaboração em tempo real Vários administradores podem trabalhar na mesma conta com indicadores de presença quando a opção está ativa. Consulte [Colaboração em tempo real](#page-core-concepts.collaboration). ##### MCP O **MCP** permite ligar um agente de IA compatível como o Claude (recomendado), com a sua identificação de conta via OAuth2. Consulte [MCP](#page-integrations.mcp). ##### Logs Quando a opção está ativada pelo Omniscol, a tela Logs permite consultar e exportar as entradas registadas pelo Omniscol. Não deve ser apresentada como uma auditoria completa com diff antes/depois ou reprodução das requisições. Consulte [Registros de atividades (logs)](#page-admin.logs). ##### Sincronização ERP A sincronização com sistemas externos decorre de uma ativação contratual, geralmente em contas Premium, quando um conector está configurado. Os conectores Aurion e Auriga existem; a adição de um novo ERP trata-se por projeto, com API documentada, sandbox e enquadramento do mapeamento. Consulte [Sincronização com sistemas externos](#page-integrations.extsync). ##### Gestão de pessoal autônoma O módulo Gestão de pessoal está disponível separadamente, incluindo em oferta autônoma (sem o resto do Omniscol). Consulte [Visão geral da Gestão de pessoal](#page-staffing.overview). #### Como saber que plano e que opções estão ativos Visível em Configurações — rubrica no fundo do painel, que exibe o plano ativo e as opções contratadas. O plano + as opções determinam quais módulos estão disponíveis no menu da esquerda. #### Ver também - [Vários horários ativos em paralelo](#page-timetables.multiple-active-timetables) - [Contas vinculadas e recursos compartilhados](#page-integrations.linked-accounts) - [Modo calendário](#page-timetables.calendar-mode) - [Papéis personalizados](#page-admin.customroles) - [Snapshots](#page-admin.snapshots) - [Colaboração em tempo real](#page-core-concepts.collaboration) - [MCP — conectar um agente IA externo](#page-integrations.mcp) ### 1.6 Escolher o tipo de horário certo: semanal, cíclico, calendário *Source: `help/pt/overview/timetable-modes.md` · id: overview.timetable-modes · Plan: premium · Updated: 2026-06-13* > **Premium** > _Premium_ Numa conta Premium, você tem a escolha entre três tipos de horário no momento da criação. A distinção fundamental opõe a **recorrência** (Semanal e Cíclico: um padrão se repete) à **não recorrência** (Calendário: cada aula é datada individualmente). A escolha estrutura tudo o que vem a seguir; é portanto importante compreendê-la antes de criar um horário. A **geração automática** por algoritmo de geração está disponível para os três tipos; as vantagens e os limites próprios de cada tipo estão descritos abaixo. #### Em uma frase | Tipo | Recorrência | Quando utilizar | | --- | --- | --- | | **[Semanal](#page-glossary.weekly-timetable)** | Recorrente (semana padrão) | Aulas recorrentes numa **semana padrão**. Ensino primário / secundário. | | **[Cíclico](#page-glossary.cyclic-timetable)** | Recorrente (ciclo de N dias) | Aulas recorrentes num **ciclo de N dias** (diferente da semana de 5 ou 7). Sistemas norte-americanos, escolas internacionais. | | **[Calendário](#page-glossary.calendar-mode)** | Não recorrente | Aulas **datadas uma a uma**, sem recorrência. Ensino superior, formação continuada. | #### Semanal — o caso padrão É o modo padrão. Ele convém a qualquer escola cujas aulas sigam uma **semana padrão recorrente**, com ou sem alternância A/B. Vantagens: - Lógica simples: você insere uma semana padrão e depois escolhe as semanas em que ela se aplica. - Férias retiradas automaticamente. Limites: - Não adaptado a estabelecimentos onde cada semana é diferente (aulas pontuais, colaboradores externos alternando). - As aulas que ocorrem uma única vez (conferência, exame em data precisa) devem ser adicionadas como alterações pontuais ou por meio de um horário separado. #### Cíclico — para os ciclos não semanais O modo cíclico convém aos estabelecimentos que organizam as aulas num **ciclo de N dias** (normalmente 6 ou 8) diferente da semana de 5 ou 7 — comum nos sistemas norte-americanos e em certas escolas internacionais. O funcionamento é próximo do semanal, com um ciclo de N dias numerados (Dia 1, Dia 2…). O mapeamento ciclo ↔ dias da semana se constrói dinamicamente a partir da **publicação do horário**, ou seja, no momento da escolha das semanas em que o ciclo se aplica. #### Calendário — para o ensino superior e a formação continuada O modo calendário difere sensivelmente dos outros dois: cada aula é posicionada numa **data precisa**, sem recorrência. É o modo privilegiado de: - ensino superior (escolas de negócios, escolas de engenharia, universidades), - formação continuada, - centros de formação onde as aulas não retornam a cada semana. Em relação a uma agenda clássica ou a um ERP/software de vida escolar, você se beneficia então das especificidades típicas do ensino superior (consulte [modo calendário](#page-timetables.calendar-mode) para os detalhes): - **Ajuda à entrada muito completa** — conflitos em tempo real, filtros de salas, disponibilidades consolidadas… - **Disponibilidades consolidadas em tempo real** — as alterações de disponibilidade dos colaboradores são imediatamente refletidas como conflitos potenciais ou confirmados. - **Publicação binária** — o horário está publicado ou não, sem escolha de intervalos. Limite atual — a **semi-recorrência**: certas escolas têm semanas globalmente semelhantes, mas pontuadas por irregularidades (aulas que terminam antes das outras, feriados, colaboradores pontuais…). Botões permitem que você **duplique manualmente** uma aula sobre um padrão recorrente, mas o algoritmo de geração ainda não oferece suporte a esse caso; a geração automática permanece plenamente disponível em calendários sem padrão recorrente subjacente, ou, ao contrário, para os horários totalmente recorrentes (semanais). **Geração parcial** — a geração automática pode ser restrita a um subconjunto do perímetro por meio do painel de opções. Três filtros estão disponíveis: - **Turmas**: seleção das turmas a gerar. - **Disciplinas**: seleção das disciplinas a gerar. - **Intervalo de datas**: próprio do modo Calendário. Permite tratar um período de cada vez (por exemplo, o trimestre seguinte). Isso é particularmente útil no Calendário: pode-se construir o horário **por iterações sucessivas** — um trimestre, depois o seguinte; um percurso, depois os outros; e assim por diante. #### Escolher o seu modo: guia rápido ```mermaid flowchart TD Q1{{"As suas aulas seguem
um padrão recorrente?"}} Q2{{"O padrão é a semana
(5 a 7 dias)?"}} H([Semanal]) Cy([Cíclico]) Ca([Calendário]) Q1 -->|Sim| Q2 Q1 -->|Não| Ca Q2 -->|Sim| H Q2 -->|Não| Cy ``` #### Transformar um horário em outro tipo Se você deseja converter um horário existente de um tipo para outro, você pode **duplicá-lo transformando-o** por meio da ação Duplicar da lista de horários, no módulo Gestão de horários letivos. As seis conversões têm suporte: Semanal ↔ Cíclico, Semanal ↔ Calendário, Cíclico ↔ Calendário. Conforme o tipo de destino, um parâmetro adicional é solicitado: - **Calendário**: intervalo de datas (início / fim) sobre o qual implantar as aulas. A janela propõe por padrão a primeira e a última semana do ano letivo. - **Cíclico**: comprimento do ciclo, em dias (por padrão 12). - **Semanal**: nenhum parâmetro adicional. O que é remapeado durante a transformação: - **Posições das aulas** — cada posição é traduzida do sistema de origem para o sistema de destino (dia da semana ↔ número de ciclo ↔ data). - **Semanal → Calendário**: cada aula é multiplicada por todas as datas correspondentes do intervalo de destino, e os **volumes horários das disciplinas** são multiplicados pelo número de semanas para preservar o total. A **alternância A/B** é aplicada automaticamente a cada data materializada. - **Disponibilidades horárias**: conservadas e migradas apenas a partir de uma origem **Semanal**. Uma origem Cíclica ou Calendário as suprime — as disponibilidades datadas ou em números de ciclo não se reprojetam de forma limpa sobre uma semana padrão ou outro ciclo. O resultado é um **horário autônomo**, independente do original — você pode retrabalhá-lo à parte, publicá-lo sozinho ou em paralelo à versão de origem. #### Combinar os modos Você pode **publicar simultaneamente vários horários de tipos diferentes** nas mesmas semanas. Casos típicos: - **Tronco comum recorrente + eventos pontuais**: um horário semanal para as aulas regulares + um horário [calendário](#page-timetables.calendar-mode) para as masterclasses, conferências ou provas datadas. - **Ritmos diferentes nas mesmas turmas**: um horário semanal para as manhãs (disciplinas fundamentais muito regulares) + um horário calendário para as tardes (esporte, clubes, oficinas que mudam de uma semana para a outra). - **Funcionamento diferente conforme as turmas**: um curso preparatório integrado semanal, versus um ciclo de grande escola não recorrente com muitos colaboradores externos ensinando a mesma aula durante vários dias seguidos aos mesmos alunos. Se vários horários publicados compartilham um professor ou uma sala, o Omniscol **mescla dinamicamente as vistas** do lado da consulta. Ao editar um horário, quando outro horário já está publicado, o Omniscol leva em conta, por padrão, as ocupações dos professores, salas e turmas por esse horário publicado (esta funcionalidade pode ser desativada). #### Ver também - [Semanal](#page-glossary.weekly-timetable) - [Cíclico](#page-glossary.cyclic-timetable) - [Calendário](#page-glossary.calendar-mode) - [Vista geral do módulo Gestão de horários letivos](#page-timetables.overview) - [Vários horários ativos em paralelo](#page-timetables.multiple-active-timetables) ### 1.7 Primeiro acesso *Source: `help/pt/getting-started/first-login.md` · id: getting-started.first-login · Updated: 2026-05-10* Para acessar o Omniscol, vá até a URL da sua escola — em geral no formato `https://.omniscol.com`. A página de acesso solicita um nome de usuário e uma senha. #### Credenciais Suas credenciais foram fornecidas pela sua instituição. A sintaxe padrão é `nome.sobrenome` ou `sobrenome.nome` (conforme a configuração da escola em [Configurações gerais](#page-admin.parameters)), mas também pode ser um número de matrícula. #### Senha esquecida Clique em Senha esquecida? Informe o seu identificador de acesso. Se houver um endereço de e-mail cadastrado, você receberá um link de redefinição. Siga as instruções. Se você não recebeu o e-mail: - verifique se o identificador informado corresponde exatamente ao definido no Omniscol (em caso de dúvida, entre em contato com o administrador da sua escola), - procure na caixa de spam / lixo eletrônico, - verifique se a sua instituição cadastrou o seu e-mail na ficha de usuário da sua conta. #### Primeiro acesso Se este for o seu primeiro acesso, o sistema pode solicitar imediatamente que você **altere a sua senha**. Escolha uma senha forte e exclusiva (o Omniscol não tem como recuperá-la — ela é tornada ilegível antes mesmo de ser transmitida). #### Acesso por um provedor de identidade Se a sua instituição utiliza [OIDC / SSO](#page-integrations.oauth2) (Google Workspace, Azure AD/Microsoft Entra, Keycloak, provedor SSO interno), um botão específico aparece na página de acesso. Clique e autentique-se pelo seu serviço de identidade habitual. #### Restrições por perfil O administrador pode decidir **bloquear o acesso** de determinados perfis (por exemplo, desativar o acesso do aluno durante o ano letivo, ou desativar uma conta de professor específica). Se o seu perfil estiver restrito, você verá uma mensagem informando isso. Consulte Restrição de acesso à aplicação. #### Ver também - [Configurar a conta da escola](#page-getting-started.setup-school) - [Convidar e ativar seus usuários](#page-getting-started.inviting-users) - [OIDC / SSO](#page-integrations.oauth2) ### 1.8 Configurar a conta da escola *Source: `help/pt/getting-started/setup-school.md` · id: getting-started.setup-school · Audience: admin · Updated: 2026-05-10* Quando a sua conta Omniscol é criada, a tela inicial orienta você passo a passo. Siga a ordem sugerida: é o caminho mais fluido. Esta página resume a sequência da **direita para a esquerda** no menu Administração (quanto menos frequente for um acesso, mais à direita ele fica). #### Etapa 1 — Configurações O módulo Configurações contém toda a configuração da conta. Muitos valores são pré-preenchidos de acordo com o **país** da sua escola, com base nos hábitos locais observados pela Omniscol — normalmente você tem apenas alguns ajustes a fazer. Verifique com prioridade: - Nome da escola — exibido na página de login. - **Níveis de turma** (7.º ano, 8.º ano, L1, M2…) — servem de referência em toda parte. Adapte-os à sua própria nomenclatura. - **Modo de registro das disponibilidades dos professores** — semanal, calendário (nas contas Premium), calendário + semanal (nas contas Premium), ou desativado. - **Restrição de visibilidade dos horários pelos alunos** — quantas semanas de antecedência os alunos podem ver o seu horário (útil para adiar a divulgação de um horário ainda não finalizado). - **Identificador de login** — o formato de geração automática dos logins (`prenom.nom`, `nom.prenom`, matrícula…). - Primeiro dia da semana — importante para os países que começam no domingo (países árabes, Israel). - Semanas alternadas (para os horários semanais) — A/B, 1/2 (ou seja, modo de exibição em letras ou em números), ou desativado. - **Logotipo da escola** — exibido no lugar do logotipo Omniscol na página de login e no cabeçalho superior. Para os detalhes, consulte [Configurações gerais](#page-admin.parameters). #### Etapa 2 — Ano letivo Antes de poder publicar um horário, você deve ter pelo menos **um ano letivo** declarado em Anos escolares. A preencher: - **Nome** — por convenção, as datas: «2025-2026». - **Datas de início e de fim**. - **Férias** — seja copiando e colando de uma planilha, seja importando as datas pré-preenchidas para o seu país (oferecidas na criação), seja manualmente. - **Ano em curso** — designar o ano atualmente em uso. É o que aparece por padrão e o único que é divulgado. Consulte [Ano letivo e férias](#page-admin.school-year). #### Etapa 3 — Disciplinas Se a Omniscol já pré-preenche uma **base de disciplinas comuns** para o seu país, talvez você não tenha nada a fazer. Caso contrário, ou para as disciplinas específicas da sua instituição: - Crie as **disciplinas personalizadas** em Criar. - Defina os **tipos de aula** (por exemplo aula, oficina, exame, palestra) em Criar se a sua nomenclatura pedagógica os utilizar. - Opcional: configure as **famílias de disciplinas** para agrupar as disciplinas relacionadas. ⚠ **Atenção à ortografia** das disciplinas personalizadas: a Omniscol faz uma cópia interna no momento da atribuição a um horário, e uma correção posterior não se propaga aos horários já configurados no passado (somente aos horários do presente, do futuro e não publicados). #### Etapa 4 — Usuários É aqui que se criam os professores, os alunos e os administradores. Consulte [Convidar e ativar seus usuários](#page-getting-started.inviting-users) para os detalhes. Ao final desta etapa, você poderá criar o seu primeiro horário. Siga então [Vista geral do módulo Gestão de horários letivos](#page-timetables.overview). #### Ver também - [Configurações gerais](#page-admin.parameters) - [Ano letivo](#page-admin.school-year) - [Gerir as disciplinas](#page-admin.subjects) - [Convidar e ativar seus usuários](#page-getting-started.inviting-users) - [Preparar seus dados para uma importação em massa](#page-getting-started.preparing-data) ### 1.9 Convidar e ativar seus usuários *Source: `help/pt/getting-started/inviting-users.md` · id: getting-started.inviting-users · Audience: admin · Updated: 2026-06-13* Quatro papéis de usuário do lado da escola estruturam a implantação: **Administrador**, **Professor**, **Aluno** e **Pessoal**. Cada papel dá acesso a um escopo diferente. #### Qual tela para qual papel | Papel | Tela | Obrigatório? | | --- | --- | --- | | Administrador | Administradores | Ao menos o administrador principal. | | Professor | Professores | Essencial, para poder criar e publicar aulas com os professores. | | Aluno | Alunos | Opcional: o Omniscol pode funcionar sem conhecer os alunos e sem lhes dar acesso ao portal de consulta. | | Pessoal | Pessoal | Útil apenas se o módulo Gestão de pessoal for utilizado. | O detalhe dos direitos de cada papel e a sua correspondência técnica estão descritos em [Usuários e papéis](#page-admin.users-and-roles). #### Criação individual ou criação em massa (em lote) **Individual**: botão Adicionar na tela do papel em questão. Você abre o formulário de um único usuário e preenche as suas informações básicas. **Em massa (em lote)**: botão Importar dados na tela do papel em questão. Você cria ou modifica várias linhas em uma tabela, a partir de um arquivo preparado no Excel, Google Sheets, Numbers ou Calc. Consulte [Preparar seus dados para uma importação em massa](#page-getting-started.preparing-data). #### Ativação de um usuário Um usuário ativo pode acessar, figurar nas telas que lhe dizem respeito e receber atribuições. Para tornar um usuário inativo sem excluí-lo, utilize a sua ficha ou a ação em massa. Uma conta inativa não pode mais acessar nem ser atribuída a novos horários, mas o seu histórico permanece disponível para consulta. #### Convidar por e-mail O botão Convidar um usuário, sobre uma seleção de usuários, envia um e-mail a cada destinatário com um link de primeiro acesso. Verifique antes se os e-mails estão preenchidos; caso contrário, o convite não pode ser enviado. #### Definir senhas iniciais Se o convite por e-mail não for adequado, você pode definir senhas manualmente com Alterar senha. Melhor reservar isso para contas piloto, contas de serviço ou situações em que a instituição gerencia ela mesma a distribuição das credenciais. A senha definida manualmente dessa forma (eventualmente com o auxílio do botão de geração aleatória) é, na verdade, temporária: no primeiro acesso, o usuário deverá informar uma nova senha, personalizada. #### Colocar os alunos nas turmas e grupos As alocações são gerenciadas a partir da tela Alunos: 1. Em Alunos, selecione os alunos em questão. 2. Clique em Atribuir a uma turma. 3. Escolha o ano letivo, a turma e as datas, se necessário. 4. Use Grupos para os grupos (idiomas, disciplinas eletivas, aulas práticas, meias turmas). As alocações podem ser feitas em várias etapas, por exemplo por nível ou conforme as matrículas chegam. Existe uma opção para que os alunos sejam atribuídos diretamente às turmas e aos grupos no nível dos horários, previamente, e não no módulo Administração, posteriormente. Entre em contato com a equipe Omniscol se você tiver interesse nesse modo de funcionamento. > _Option: Papéis personalizados_ #### Papéis personalizados A opção **Papéis personalizados** permite restringir os direitos de uma conta de administrador módulo por módulo e operação por operação. Consulte [Papéis personalizados](#page-admin.customroles). #### Procedimento — Implantação dos usuários no início do ano letivo 1. Prepare os arquivos ou tabelas de usuários: administradores, professores, alunos e pessoal, se necessário. 2. Importe ou crie as contas a partir das telas do módulo Administração. 3. Verifique os e-mails, os logins e os papéis. 4. Envie os convites com Convidar um usuário. 5. Coloque os alunos nas suas turmas e grupos assim que um primeiro horário for publicado no ano letivo. 6. Ao final do ano, desative as contas que não devem mais acessar, em vez de excluir imediatamente o histórico. #### Ver também - [Configurar a conta da escola](#page-getting-started.setup-school) - [Preparar seus dados para uma importação em massa](#page-getting-started.preparing-data) - [Usuários e papéis](#page-admin.users-and-roles) - [Gerir os professores](#page-admin.teachers) - [Gerir os alunos](#page-admin.students) ### 1.10 Preparar seus dados para uma importação em massa (em lote) *Source: `help/pt/getting-started/preparing-data.md` · id: getting-started.preparing-data · Audience: admin · Updated: 2026-06-03* Inserir manualmente várias centenas ou milhares de linhas (professores, alunos, salas, aulas…) raramente é sensato. O Omniscol oferece **importações em massa** por copiar e colar a partir de qualquer planilha (Excel, Google Sheets, Numbers, Calc…), no formato CSV ou TSV. Essas importações são realizadas clicando nos botões [table], geralmente no topo das listagens de entidades. Alguns servem apenas para exportar os dados, mas a maioria aceita a importação. #### O que pode ser importado? | Entidade | Tela | Volume típico | | --- | --- | --- | | **Professores** | Exportar dados para o formato CSV | 10 - 1000 | | **Alunos** | Exportar dados para o formato CSV | 50 - 10 000 | | **Salas** | Exportar dados para o formato CSV | 10 - 500 | | **Disciplinas personalizadas** | Exportar dados para o formato CSV | 10 - 1000 | | **Aulas de um horário** | Exportar dados para o formato CSV | 100 - 10 000 | #### Preparar seus arquivos **Regras de ouro**: 1. **Uma linha = uma entidade.** Sem linhas mescladas, sem cabeçalhos de várias linhas. 2. **Respeitar a ordem das colunas esperada pelo Omniscol.** A tela de importação exibe o modelo com as colunas na ordem de destino e você pode **reorganizar essas colunas** do lado do Omniscol para corresponder à ordem da sua planilha de origem — o que torna o copiar e colar do Excel ou do Google Sheets limpo, sem reescrever o seu arquivo. 3. **Algumas colunas são somente leitura.** Elas ficam então acinzentadas, destinadas unicamente à exportação dos dados. A primeira coluna é geralmente o identificador do dado já registrado no banco de dados. 4. **As colunas marcadas com um "*" são obrigatórias.** Se faltar um campo obrigatório, a linha é ignorada (não importada na criação, ou excluída se já existia no banco de dados). 5. **Os separadores internos de uma célula são livres** nas listas (multiprofessor, multigrupo, multissala de uma aula): vírgula, ponto e vírgula, barra. 6. **A IA integrada limpará os dados**, mas até certo ponto: procure ter dados limpos e não ambíguos, caso contrário você poderá ter algumas surpresas desagradáveis. #### Campos típicos por entidade ##### Professores - Nome, Sobrenome (obrigatórios). - E-mail (recomendado para os convites). - Matrícula / ID externo (opcional, mas útil para rastreabilidade). - Disciplinas lecionadas (lista, separadores livres). - Serviço horário (número de horas semanais previstas). - Campus principal (se multicampus). ##### Alunos - Nome, Sobrenome (obrigatórios). - E-mail (recomendado). - Matrícula SIS (útil para evitar homônimos). - Nível / Turma. - Grupos (eletiva, subgrupo). - Status (ativo, em pré-matrícula, inativo). ##### Salas - Nome (obrigatório). - Campus (obrigatório se multicampus — caso contrário, o Omniscol atribui ao campus padrão). - Capacidade. - Especializações (lista). - Prédio (livre). - Tags / comentários. ##### Aulas - Turma + disciplina (no mínimo). - Duração (caso contrário, deduzida dos horários de início/fim). - Dia, hora de início, hora de fim (para pré-posicionar; caso contrário, deixe vazio e posicione depois). - Grupo (opcional). - Tipo de aula (aula prática, laboratório, aula teórica, prova…). - Professor(es) (separadores livres). - Sala(s) (separadores livres — sim, [várias salas](#page-glossary.multi-room) em uma mesma aula são suportadas). - Recurso(s). - Semanas alternadas (formato `A/B`, `1/2`, etc.). - Comentário livre. #### Após a preparação O fluxo de importação depende da tela de destino. Geralmente, a tela é atualizada integralmente com os novos dados. Para as **aulas de um horário**, consulte [Importação em massa dos cursos via folha de cálculo](#page-timetables.mass-import), que documenta o assistente dedicado em quatro etapas. #### Exportação O mesmo procedimento de planilha interna permite extrair os dados. Para isso, há várias opções: - Copiar e colar em uma planilha externa (formato TSV, automático). - Usar os botões inferiores para exportar diretamente para um arquivo PDF, CSV ou Excel (XLSX). #### Reimportação A importação não se limita a uma importação inicial. É possível importar em massa em várias etapas. A primeira coluna, rotulada "id", contém o identificador somente leitura de cada entidade no banco de dados, que pode ser encontrado nas URLs. Se você modificar uma linha correspondente a um identificador dado, os dados da entidade são modificados. Para adicionar novos dados, basta ir até o final da planilha, onde há sempre algumas linhas vazias, sem identificador atribuído. Colar novos dados, como na importação inicial, aumenta a tabela na mesma medida. As entidades reimportadas podem conter dados complexos, que não são elegíveis à importação/exportação (às vezes, é possível ter uma coluna somente leitura que serve unicamente à exportação desses dados). É por exemplo o caso das restrições horárias sobre os professores, as salas, as turmas, etc. Nesse caso, a reinjeção idêntica é automática. Esse sistema permite assim importar em massa em várias vezes sem perder dados enriquecidos das entidades existentes, podendo ainda criar novas ou excluir outras. #### Exclusão em massa Como visto na reimportação, a primeira coluna "id" serve para identificar as diferentes entidades. Se você excluir uma linha, no mínimo as colunas obrigatórias marcadas com um "*", então a importação excluirá as entidades esvaziadas. Como é possível selecionar várias linhas e colunas, como em uma planilha comum, basta pressionar a tecla excluir do teclado para apagar quantas linhas desejar, e assim excluir do banco de dados as entidades correspondentes, em massa. #### Ver também - [Importação e exportação](#page-admin.import-export) - [Importação em massa das aulas de um horário](#page-timetables.mass-import) - [Migração a partir de outro software](#page-migration.overview) ### 1.11 Visita guiada de introdução (as 6 etapas do módulo Página inicial) *Source: `help/pt/getting-started/onboarding-tour.md` · id: getting-started.onboarding-tour · Audience: admin · Updated: 2026-05-10* Quando você acessa pela primeira vez uma conta em branco, o módulo **Página inicial** apresenta uma **checklist de seis etapas** — cada uma marcada automaticamente quando a sua pré-condição é atendida (✓ verde) ou assinalada como bloqueante (✗ vermelho) enquanto nada foi ainda preenchido. As etapas seguem uma ordem lógica fortemente recomendada, mas você sempre pode pular uma etapa e retornar a ela mais tarde. Em algum momento, faltará um dado que o obrigará a voltar atrás. Esta página de ajuda detalha a mesma sequência, etapa por etapa; uma **visita guiada clicável** a recapitula no fim da página. #### Visão geral — mensagem de boas-vindas > Bem-vindo ao Omniscol, o software on-line para gerar e gerenciar horários! Se você vir essa mensagem, este é o seu primeiro login ou ainda não entrou na primeira configuração. Siga as etapas listadas abaixo para suas primeiras etapas no software. A ordem apresentada é recomendada, mas você sempre pode voltar às várias etapas. > **Dica de organização**: o módulo Página inicial se oculta > automaticamente assim que o seu **primeiro horário é publicado**. Enquanto > ele estiver visível, é ele a sua bússola. O link > exibir novamente o mostra de novo, se necessário, > após a publicação: > > > Sua conta está configurada e funcional. No entanto, você pode exibir as etapas de configuração novamente. #### Etapa 1 — Preencher os usuários > Primeiro entre os usuários: professores e alunos. A entrada do aluno é opcional, você pode criar horários, simplesmente, indicando o número de alunos em turmas e grupos. Você também pode inseri-los mais tarde e atribuí-los a turmas e grupos. > Dica: você pode inserir dados em massa, copiando e colando de uma planilha, como o Excel, clicando no ícone. **Ação**: - Entre os professores *(obrigatório — marca vermelha enquanto nenhum professor for criado)* - Entre estudantes *(opcional — sem marca vermelha, apenas um círculo se não preenchido)* Consulte [Convidar e ativar seus usuários](#page-getting-started.inviting-users) para o detalhe (criação individual vs importação em massa, convites por e-mail, senhas iniciais, operações em massa). #### Etapa 2 — Informar os parâmetros > Preencha as configurações da sua conta, incluindo os níveis das turmas. **Ação**: Preencha os parâmetros Consulte [Configurações gerais](#page-admin.parameters). A adaptar com prioridade: níveis de turma, modo das disponibilidades, primeiro dia da semana (para os países que começam no domingo), sintaxe de identificador. A maior parte dos demais valores já vem preenchida para o seu país. #### Etapa 3 — Criar um primeiro ano letivo > Um ano letivo é um período compreendido entre datas de início e fim, incluindo as férias, durante o qual os horários serão publicados. É indispensável para acessar os módulos de utilização diária (consulta de horários, painéis, gestão de ausências, etc.). **Ação**: Criar o primeiro ano letivo Consulte [Ano letivo e férias](#page-admin.school-year). Dê a ele um nome («2025-2026»), datas de início e fim, e importe as férias já preenchidas para o seu país, se oferecidas. É a etapa que desbloqueará o acesso à publicação no módulo de gestão de horários. #### Etapa 4 — Criar as disciplinas personalizadas (opcional) > Defina as disciplinas ensinadas específicos que já não estarão em nosso banco de dados de disciplinas predefinidas. Este passo é opcional. **Ação**: Crie disciplinas personalizadas Consulte [Gerir as disciplinas](#page-admin.subjects). A base de disciplinas comuns por país já vem preenchida; aqui você cria apenas as disciplinas **específicas da sua instituição** que não estão na base. #### Etapa 5 — Criar (e depois configurar) um horário A etapa 5 tem duas variantes conforme o estado da conta: ##### 5a — Enquanto nenhum horário for criado > Crie um novo horário. Recomendamos prosseguir passo a passo preenchendo cada guia da esquerda para a direita. No final, clique no botão Gerar. **Ação**: Criar um horário Clique em Criar um horário no módulo [Gestão de horários letivos](#page-timetables.overview). Se a sua conta oferecer vários modos, escolha o [modo de horário](#page-overview.timetable-modes) (semanal, cíclico, calendário). ##### 5b — Uma vez o horário criado, durante a configuração > Está sendo configurado um horário, mas ainda não gerado. Aconselhamos terminar a configuração passo a passo preenchendo cada guia da esquerda para a direita. No final, clique no botão de geração. **Ação**: Retomar a configuração do horário Percorra as guias do horário **da esquerda para a direita**: [Geral](#page-timetables.general-settings) → [Campus](#page-timetables.sites-rooms) → [Professores](#page-timetables.assigning-teachers) → [Turmas](#page-timetables.creating-classes) → [Alinhamentos](#page-timetables.alignments-and-groups-of-groups) → [Distribuição das horas](#page-timetables.hour-distribution) → [Geração](#page-timetables.generation). #### Etapa 6 — Distribuir (publicar) o horário > Uma vez que o horário está totalmente configurado e gerado, ele deve ser distribuído durante toda ou parte das semanas do ano letivo. Clique no botão de distribuição na tela de gestão de horário. Esta tela também permite que você encontre os horários na fase de configuração ou já gerados. **Ação**: Gerenciar horários Consulte [Publicar (ativar) um horário](#page-timetables.publication). É a etapa mais frequentemente esquecida: enquanto o horário não for distribuído nas semanas do ano letivo, ele permanece um rascunho invisível para os usuários finais. A publicação é necessária para que os módulos de uso diário (consulta, painéis, ausências) fiquem plenamente operacionais. Ela também ativa as eventuais exportações em tempo real para fora da aplicação: iCal, softwares externos conectados, etc. #### O que vem a seguir Uma vez a checklist verde de ponta a ponta, com um horário inteiramente configurado e publicado: - **Atribuir os alunos** às suas turmas / grupos (cf. [Convidar e ativar seus usuários](#page-getting-started.inviting-users)). - **Convidar os usuários** por e-mail (Convidar o usuário). - **Configurar os painéis de exibição** nas dependências (cf. [Painéis de exibição](#page-panels.lobby-panel)). - **Implementar as assinaturas iCal** dos professores e dos alunos (cf. [iCal](#page-integrations.ical)). - **Testar o acesso do aluno** a partir de uma conta de teste. - **Configurar as integrações** (vida escolar, ERP…) se aplicável (cf. [Visão geral das integrações](#page-integrations.overview)). #### Ver também - [Visita guiada em cinco minutos](#page-overview.quick-tour) - [Primeiro acesso](#page-getting-started.first-login) - [Configurar a conta da escola](#page-getting-started.setup-school) - [Convidar e ativar seus usuários](#page-getting-started.inviting-users) - [Vista geral do módulo Gestão de horários letivos](#page-timetables.overview) - [Publicar (ativar) um horário](#page-timetables.publication) --- ## 2. Conceitos essenciais ### 2.1 Organização dos dados: disciplinas, professores, turmas, horários *Source: `help/pt/core-concepts/data-model.md` · id: core-concepts.data-model · Audience: admin · Updated: 2026-06-13* O Omniscol distingue dois níveis de organização: um **repositório da escola** mantido pelo módulo Administração (disciplinas, usuários, anos letivos…), que descreve a sua instituição a longo prazo, e **horários** que consomem os seus elementos para construir uma planificação coerente sobre um período determinado. Compreender essa dualidade é a chave para gerir com tranquilidade as mudanças (renomear uma disciplina, atualizar um professor, arquivar um horário) sem quebrar o histórico. #### Visão geral: dois níveis, duas lógicas ```mermaid flowchart LR subgraph A["Nível escola — módulo Administração"] AS["Disciplinas"] AU["Usuários professores"] end subgraph E["Nível horário — planificação"] C["Turmas"] G["Grupos
(opcionais)"] M["Cursos
= disciplinas das turmas
(cópia local, tipada)"] T["Professores do horário
cópia parcial"] S["Aulas
duração, turma, grupo opcional,
professores, sala, posição"] end AS -.->|serve de modelo| M AU -.->|serve de modelo| T C -->|contém| G C -->|disciplinas atribuídas| M T -->|professores atribuídos| M M -->|disciplina lecionada| S C -->|turma envolvida| S G -.->|grupo opcional| S T -->|professores da aula| S ``` **Nível escola**: um repositório global, com longa vida útil, gerido no módulo Administração. Contém o que é verdadeiro para a instituição independentemente de um horário específico — o calendário dos anos letivos, o catálogo das disciplinas (comuns ao país + personalizadas da escola), e o diretório dos usuários (com os seus papéis). **Nível horário**: uma planificação coerente sobre um período. Cada horário tem a sua própria lista de professores, de turmas, de grupos, de disciplinas atribuídas às turmas e de aulas. Esses objetos não são simples referências ao repositório da escola: são **cópias locais**, que podem ser enriquecidas sem modificar o repositório. Inversamente, o repositório de nível escola pode evoluir (exclusão de disciplinas, de professores) sem quebrar os horários do passado. O que se segue detalha cada tipo de vínculo. #### O ano letivo: o quadro temporal O **ano letivo** define um intervalo `data de início → data de fim` e a lista de férias (ver [Ano letivo](#page-core-concepts.school-year)). Ele não "contém" os horários diretamente: são os horários que **se desdobram** sobre semanas (modo semanal / cíclico) ou datas (modo calendário) pertencentes a um ano letivo. Isso permite várias configurações: - **Um único horário por ano letivo** (caso padrão): o horário cobre todas as semanas úteis do ano. - **Vários horários sucessivos** dentro do mesmo ano: um horário por trimestre, por exemplo, que passam o testemunho nas datas de transição. - **Vários horários em paralelo** sobre o mesmo período (função incluída no Premium; em algumas contas Standard, pode ser ativada num quadro contratual adaptado), por exemplo: - um horário para o tronco comum recorrente - um horário calendário para as masterclasses, mesclados na consulta. Ver [Vários horários ativos em paralelo](#page-timetables.multiple-active-timetables). O ano letivo permanece, portanto, um quadro — não um contêiner. Modificar os seus limites ou as suas férias atualiza o calendário usado pelos horários que lhe estão vinculados, sem modificar o seu conteúdo. #### As disciplinas: do catálogo da escola às aulas de uma turma ```mermaid flowchart TD CatM["Catálogo das disciplinas
ex. Matemática"] CatT["Tipos de aula
ex. aula teórica, aula prática, laboratório"] Classe["Turma no horário
ex. 9.º A"] Prof["Professores do horário
ex. Prof.ª Martins"] MC["Disciplina de turma (= curso)
Matemática [Aula prática]
carga horária, professores,
restrições, sala especializada"] S["Aulas
duração, data/faixa horária,
grupo eventual, sala,
professor(es)"] CatM -->|disciplina escolhida| MC CatT -->|tipo eventual| MC Classe -->|turma envolvida| MC Prof -->|professores atribuídos| MC MC -->|serve para criar| S Prof -->|pode ser ajustado em| S ``` ##### Nível 1 — O catálogo no módulo Administração No nível escola, duas origens coexistem: - **Disciplinas comuns**: o repositório do Omniscol para o país configurado (códigos oficiais, rótulos normalizados). O catálogo é somente leitura para a escola. - **Disciplinas personalizadas**: o que a escola cria por si mesma, gerido a partir da [tela Disciplinas](#page-admin.subjects). Cada disciplina personalizada tem um nome, um código (curto), e opcionalmente: um nome curto, uma cor específica, uma disciplina pai, uma família. Esse catálogo nada diz sobre as turmas que lecionam essas disciplinas — ele diz apenas que elas existem. As famílias de disciplinas podem vir também de um repositório compartilhado por país, somente leitura, ou de um repositório personalizado, local à escola. ##### Nível 2 — Atribuição a uma turma (com ou sem tipo) Quando você **atribui uma disciplina a uma turma** num horário, uma **cópia local** da disciplina é criada na turma, enriquecida com campos próprios da planificação (carga horária visada, peso pedagógico, incompatibilidades, professores por padrão, especialização de sala…). Se você atribuir a disciplina **com um tipo de aula** (`aula teórica`, `aula prática`, `laboratório`, `exame` — ver [Tipos de aula](#page-admin.lesson-types)), cada tipo cria uma **entrada distinta** na turma: | Disciplina na turma | Origem | Tipo | | --- | --- | --- | | Matemática | Matemática | nenhum | | Matemática [Aula teórica] | Matemática | aula teórica | | Matemática [Aula prática] | Matemática | aula prática | Isso é intencional: cada variante (Matemática teórica, Matemática prática) torna-se uma cópia local distinta, com a sua própria carga horária, os seus próprios professores e as suas próprias incompatibilidades. O vínculo com o catálogo não é uma dependência forte: a cópia local conserva a origem da disciplina enquanto esta ainda existir no catálogo. Se a disciplina for excluída do catálogo, as cópias locais dos horários permanecem válidas. ##### Nível 3 — Dos parâmetros de curso às aulas No Omniscol, o que se chama correntemente de [curso](#page-glossary.course) corresponde geralmente a uma disciplina atribuída a uma turma, eventualmente associada a um tipo de aula (aula teórica, aula prática, laboratório…), depois enriquecida com informações de planificação: carga horária, professores, grupos, restrições de posicionamento, salas ou recursos. Essa definição indica o que deve ser planificado. As **aulas** são as ocorrências realmente posicionadas no horário, sobre uma semana ou uma data determinada. Exemplo: uma disciplina de turma como **Matemática [Aula prática]** pode definir uma carga horária, professores, grupos, restrições de posicionamento e preferências de sala. As aulas são em seguida criadas a partir dessa definição. Ver [Cursos, aulas, tipos de aula](#page-core-concepts.lessons-and-types). #### Os professores: repositório da escola → cópia enriquecida no horário ```mermaid flowchart LR U["Usuário (módulo Administração)
papel teacher
nome · login · e-mail · disponibilidades globais"] Aff{Atribuição a um horário} T["Professor no horário
nome (copiado) · idnumber
serviço horário (copiado, sobreponível)
disponibilidades próprias do horário · sala preferida"] Se["Aulas atribuídas"] U --> Aff Aff -->|cópia parcial enriquecida| T T --> Se ``` ##### O professor no nível escola No nível escola, um professor é um **usuário** dotado do papel `teacher` (um mesmo usuário pode acumular vários papéis — ver [Usuários e papéis](#page-admin.users-and-roles)). Gerido a partir da [tela Professores](#page-admin.teachers), ele carrega as informações identificadoras duráveis: nome, sobrenome, login, e-mail, número de identificação, bem como as suas **disponibilidades globais** (recorrentes) e o seu serviço horário de referência. ##### O professor atribuído a um horário Quando você atribui esse professor a um horário, o Omniscol cria uma **cópia parcial enriquecida** no horário. A cópia retoma apenas uma seleção de campos do repositório da escola e lhes acrescenta campos próprios da planificação: | Campo | Nível escola (repositório) | Nível horário (cópia) | | --- | --- | --- | | Identificador | o identificador do usuário | idêntico (vínculo implícito) | | Nome, sobrenome, nome do meio | fonte | copiado na atribuição | | Número de identificação | fonte | copiado na atribuição | | E-mail, telefone, login | fonte | **não copiado** (permanece apenas no módulo Administração) | | Serviço horário de referência | fonte | copiado, **sobreponível por horário** | | Sala preferida | não gerido no repositório | próprio do horário | | Disponibilidades | "disponibilidades globais" do usuário | modo recorrente: cópia local validada ou relaxada; modo calendário: fonte compartilhada, consultável e modificável a partir da Administração ou dos horários envolvidos | Essa dualidade é importante: o **mesmo professor** pode ter um **serviço horário diferente** conforme o perímetro planificado, ou uma **sala preferida diferente** num dado momento (por exemplo por motivo de invalidez temporária). Para as disponibilidades, a lógica depende do modo de planificação: - no modo recorrente, as disponibilidades inseridas pelo professor passam por uma fase de aceitação pela administração. Elas podem ser adaptadas localmente no horário, por exemplo transformando uma indisponibilidade estrita numa faixa horária não desejada; - no modo calendário, as disponibilidades do professor são consideradas como uma única fonte de verdade, nomeadamente para os professores externos. Elas podem ser consultadas e modificadas a partir da ficha do usuário ou de qualquer horário calendário ao qual o professor esteja atribuído. Em ambos os casos, alguns parâmetros permanecem próprios do horário e podem enriquecer localmente essas disponibilidades. ##### Os professores virtuais Uma variante: pode-se criar num horário um **professor virtual** — um posto a preencher, sem usuário real por trás ("o futuro professor de matemática"). Ele não tem contrapartida no nível escola. No momento do recrutamento, você pode substituir esse professor virtual por um usuário professor real (ver [Atribuir os professores a um horário](#page-timetables.assigning-teachers)). #### O princípio de cópia local, em síntese A mesma lógica rege as disciplinas numa turma e os professores num horário: **uma cópia local é criada no momento da atribuição**, e é essa cópia local que carrega os campos específicos do horário. Por que essa escolha de concepção: - **Independência temporal.** Um horário encerrado no ano passado não deve ser modificado quando você renomeia uma disciplina ou um professor este ano. As cópias locais garantem a **integridade histórica**: o que foi planificado permanece exatamente como na época. - **Enriquecimento contextual.** Um professor não tem as mesmas disponibilidades nem o mesmo serviço horário conforme o perímetro planificado; uma disciplina não tem o mesmo peso nem as mesmas incompatibilidades conforme a turma que a leciona. A cópia local é o lugar natural para carregar essas variações. - **Limpeza sem quebra.** Excluir ou reformular uma disciplina no nível escola não apaga os horários que a utilizavam — as suas cópias locais permanecem válidas. Em contrapartida, as renomeações do lado da escola não se propagam silenciosamente por toda parte. É o objeto da seção seguinte. #### Consequências práticas: renomeações, exclusões, histórico Quando você modifica uma entidade no nível escola, o Omniscol aplica uma regra clara de propagação: | Ação no nível escola | Horários passados (encerrados) | Horários em curso / futuros | | --- | --- | --- | | Renomear uma disciplina personalizada (nome, código curto, código) | **Inalterados** — histórico preservado | Nome propagado nas cópias locais correspondentes | | Alterar a cor de uma disciplina personalizada | **Inalterados** | Cor atualizada se a cor anterior não tiver sido sobreposta localmente | | Renomear um professor (nome, sobrenome) | **Inalterados** | Nome propagado nas cópias locais | | Modificar o e-mail ou o telefone de um professor | Sem efeito (não copiado) | Sem efeito (não copiado) | | Modificar as disponibilidades globais de um professor | Sem efeito | Modo recorrente: indicador de atualização se as disponibilidades já tiverem sido aceitas; modo calendário: atualização da fonte compartilhada das disponibilidades | | Excluir uma disciplina personalizada | Cópias locais preservadas | Cópias locais preservadas; a disciplina desaparece apenas do catálogo | | Desativar o papel `teacher` de um usuário | Inalterados | As cópias nos horários permanecem em vigor | A distinção "passados" / "em curso ou futuros" faz-se em relação à **data do dia**: um horário publicado cuja última semana ativa é anterior a hoje é considerado passado e não é mais modificado pelas renomeações. ##### Quando propagar manualmente A propagação automática permanece **deliberadamente estreita**: nome, código e cor das disciplinas; nome e identificador dos professores. O nome e o código de uma disciplina copiada localmente não se modificam no horário; apenas a sua cor pode ser redefinida localmente. Os outros campos (incompatibilidades, peso pedagógico, serviço horário, disponibilidades por horário…) não se sincronizam, porque são **por natureza próprios do horário**. Se uma mudança mais profunda deve aplicar-se a vários horários existentes (por exemplo: rever o serviço horário de um professor em todos os horários ativos, ou acrescentar uma nova incompatibilidade de disciplina por toda parte), é preciso intervir horário por horário. Para as operações em massa, a ferramenta mais rápida continua a ser a **importação por copiar-colar a partir de planilha** na tela envolvida de cada horário. #### Ver também - [Ano letivo](#page-core-concepts.school-year) - [Turma, grupo, subgrupo](#page-core-concepts.classes-and-groups) - [Curso (definição de glossário)](#page-glossary.course) - [Cursos, aulas, tipos de aula](#page-core-concepts.lessons-and-types) - [Gerir as disciplinas](#page-admin.subjects) - [Gerir os professores](#page-admin.teachers) - [Tipos de aula](#page-admin.lesson-types) - [Vista geral do módulo Gestão de horários letivos](#page-timetables.overview) ### 2.2 Turma, grupo, subgrupo *Source: `help/pt/core-concepts/classes-and-groups.md` · id: core-concepts.classes-and-groups · Updated: 2026-05-20* As turmas representam conjuntos distintos de alunos que partilham o mesmo percurso escolar e que geralmente assistem às suas aulas em conjunto (as mesmas disciplinas, professores e salas de aula), com uma única exceção: a divisão em grupos, ou seja, subconjuntos personalizados com um percurso marginalmente adaptado (subdivisão por opções, níveis, sexo, ordem alfabética…). Duas turmas distintas nunca têm alunos em comum. No Omniscol, parte-se sempre da **turma** e, dentro de cada uma, criam-se **grupos** quando toda a turma não segue a mesma aula. Os **subgrupos** servem para refinar essa divisão quando um grupo precisa, por sua vez, de ser subdividido: um grupo associado a outro grupo, numa relação pai-filho, torna-se um subgrupo. As noções de **divisão de turma**, **alinhamento de grupos** e **grupo de grupos** não são níveis adicionais na hierarquia. São formas de organizar ou de relacionar grupos conforme o caso de uso. #### Visão geral ```mermaid %%{init: {"flowchart": {"defaultRenderer": "elk"}}}%% flowchart TB subgraph C1["Turma 9º ano A"] direction TB A1["Grupo Espanhol"] A2["Grupo Alemão"] P["Grupo Laboratório-A"] Q["Grupo Laboratório-B"] P1["Subgrupo Laboratório-A1"] P2["Subgrupo Laboratório-A2"] P --> P1 P --> P2 end subgraph C2["Turma 9º ano B"] direction TB B1["Grupo Alemão"] B2["Grupo Italiano"] B4["Grupo Tecnologia 1 (20 alunos)"] B5["Grupo Tecnologia 2 (10 alunos)"] B3["Grupo Latim"] end subgraph C3["Turma 9º ano C"] direction TB C4G["Grupo Espanhol"] C5G["Grupo Italiano"] C2G["Grupo Tecnologia 1 (20 alunos)"] C3G["Grupo Tecnologia 2 (10 alunos)"] C1G["Grupo Latim"] end A1 -. "divisão" .- A2 P -. "divisão" .- Q B1 -. "divisão" .- B2 B4 -. "divisão" .- B5 C2G -. "divisão" .- C3G C4G -. "divisão" .- C5G A2 <== "alinhamento" ==> B1 B5 <== "alinhamento" ==> C3G B3 <== "alinhamento" ==> C1G linkStyle 0,1 stroke:#475569,stroke-width:1.5px linkStyle 2,3,4,5,6,7 stroke:#15803d,stroke-width:1.8px linkStyle 8,9,10 stroke:#1d4ed8,stroke-width:2.8px ``` Leia-se assim: - uma **turma** contém grupos; - um **grupo** pode conter **subgrupos**; - uma **divisão de turma** organiza grupos de uma mesma turma que repartem os alunos entre si; - um **alinhamento de grupos** relaciona grupos de turmas diferentes para uma aula comum; - um **grupo de grupos** serve para construir um agrupamento explícito e reutilizável, sobretudo quando o agrupamento precisa evoluir. Neste esquema, veem-se várias turmas, com vários grupos, alguns em divisão de turma, outros alinhados, por vezes ambos. A segunda língua estrangeira é uma opção exclusiva: um aluno assiste ou à aula de alemão, ou à de espanhol, ou à de italiano. É por isso que as diferentes opções de língua são declaradas em divisão de turma: é possível planejá-las em simultâneo (desde que sejam professores diferentes a lecionar cada uma das línguas). Há poucos alunos em alemão no 9º ano A e no 9º ano B: reúnem-se, então, para que sigam as mesmas aulas — é o objetivo do alinhamento; as aulas são criadas em espelho em cada uma das turmas, para que sejam planejadas em simultâneo. O mesmo se aplica aos alunos de latim do 9º ano B e do 9º ano C. Este esquema ilustra também um caso clássico de economia de recursos, os **"3 grupos em 2 turmas"**: as turmas 9º ano B e 9º ano C estão cada uma dividida em Tecnologia 1 (20 alunos) e Tecnologia 2 (10 alunos). Ao **alinhar** as duas Tecnologia 2, a instituição reúne os dois grupos pequenos para ter apenas **três aulas de tecnologia** em vez de quatro — todas com efetivo equivalente (20 alunos), com um professor e uma sala de aula a menos para mobilizar. #### Turma: o nível de base Uma [turma](#page-glossary.class) é a entidade de referência por defeito. Consoante os contextos, pode representar: - uma turma escolar, - uma promoção, - uma coorte, - uma sessão, - um percurso. Quando uma aula diz respeito a **toda a turma**, não é necessário nenhum grupo adicional: a aula é simplesmente associada à turma. #### Grupo: subdivisão de uma turma Um [grupo](#page-glossary.group) é sempre uma **subdivisão de uma mesma turma**. Todos os seus alunos permanecem alunos da turma-mãe. Exemplos clássicos: - `Grupo A` / `Grupo B` para uma repartição alfabética; - `Laboratório-A` / `Laboratório-B` para meios-grupos de trabalhos práticos; - `Espanhol` / `Alemão` / `Italiano` para opções exclusivas de segunda língua; - `Inglês avançado` / `Inglês intermédio` / `Inglês básico` se a instituição trabalhar com grupos de nível; - `Rapazes` / `Raparigas` nos contextos em que essa divisão existe; - `Elective Marketing`, `Elective Finance`, `Elective Data` num conjunto de opções do ensino superior. **Recomendação forte**: crie um grupo por uso pedagógico claro, mesmo que os alunos sejam por vezes os mesmos. Por exemplo, é melhor ter `Latim` e `Grego` do que reutilizar um grupo genérico `Opções`. Caso contrário, a leitura dos horários, os diagnósticos e os agrupamentos interturmas tornam-se rapidamente ambíguos. > _Premium_ #### Subgrupo: subdivisão de um grupo Um **subgrupo** é um grupo-filho associado a um grupo-pai. Exemplo: - a turma é separada em `Laboratório-A` e `Laboratório-B`; - depois `Laboratório-A` é, por sua vez, dividido em `Laboratório-A1` e `Laboratório-A2` para rotações mais finas. ```mermaid flowchart TD C["Turma BTS 1"] A["Laboratório-A"] B["Laboratório-B"] A1["Laboratório-A1"] A2["Laboratório-A2"] B1["Laboratório-B1"] B2["Laboratório-B2"] B3["Laboratório-B3"] C --> A C --> B A --> A1 A --> A2 B --> B1 B --> B2 B --> B3 ``` Consequências importantes: - os subgrupos permanecem no perímetro da turma; - herdam a lógica do seu grupo-pai; - são úteis quando você tem vários níveis de subdivisão; - só fazem sentido se a estrutura permanecer legível. Os subgrupos são muito práticos quando são também usados com as divisões de turma: - grupos A e B em divisão de turma; - grupos A1 e A2 em divisão de turma; - grupos B1, B2 e B3 em divisão de turma. Automaticamente, A1 e B3 ficam em divisão de turma, tal como A2 e B1, etc. Essa relação é deduzida da dupla lógica entre divisões de turma e pais-filhos. Os subgrupos são grupos que foram arrastados e largados sobre um grupo-pai. A página [Hierarquia de grupos](#page-core-concepts.group-hierarchy) aprofunda os usos avançados: divisões de turma herdadas, restrições herdadas e máscaras horárias. #### Divisão de turma: repartir uma mesma turma em grupos exclusivos Uma [divisão de turma](#page-glossary.class-division) usa-se entre grupos de **uma mesma turma** quando os alunos se repartem por vários grupos exclusivos. Sendo o Omniscol um software de planejamento sob restrições, presume-se por defeito que os grupos têm potencialmente pelo menos um aluno em comum: a declaração de uma divisão de turma entre grupos levanta essa restrição. Explicitamente, os grupos de uma mesma divisão de turma não estão em conflito. A ideia a reter: - todo aluno deve pertencer apenas a **um só (ou a nenhum)** grupo da divisão de turma; - esses grupos podem então ter aulas diferentes em paralelo; - o Omniscol sabe que não se trata de um conflito de aluno. Exemplos: - `Laboratório-A` e `Laboratório-B` fazem dois trabalhos práticos diferentes ao mesmo tempo; - `Espanhol`, `Alemão` e `Italiano` partilham a mesma faixa horária de opções; - `Grupo A` e `Grupo B` alternam atividades em simultâneo em duas salas de aula; - `Inglês avançado`, `Inglês intermédio`, `Inglês básico` seguem três aulas diferentes em paralelo. ```mermaid flowchart LR subgraph CL["Turma 8º ano B"] E["Espanhol"] A["Alemão"] I["Italiano"] end E -. "divisão" .- A A -. "divisão" .- I E -. "divisão" .- I ``` Para uma mesma turma, a divisão de turma é, portanto, a ferramenta certa quando você quer dizer: «estes grupos repartem os alunos entre si, podem ser colocados em paralelo». Nota: existe um funcionamento do Omniscol, por opção, em que os alunos são diretamente afetados às turmas e grupos ao nível dos horários. Nesse caso, as divisões de turma podem ser deduzidas automaticamente (nenhuma interseção de alunos entre grupos = divisão de turma). ##### Subgrupos e divisão de turma Com subgrupos, a lógica de divisão de turma propaga-se ao longo da hierarquia. Se `Laboratório-A` e `Laboratório-B` estiverem em divisão de turma, os subgrupos de `Laboratório-A` e os de `Laboratório-B` herdam essa separação entre ramos. Exemplo: - `Laboratório-A` e `Laboratório-B` estão em divisão de turma; - `Laboratório-A1` e `Laboratório-A2` são subgrupos de `Laboratório-A`. O Omniscol sabe então que uma aula em `Laboratório-A1` não entra em conflito com uma aula em `Laboratório-B`, sem que você tenha de voltar a declarar cada combinação à mão. Em contrapartida, se você quiser subdividir `Laboratório-A` em vários ramos que também repartem os alunos entre si, é necessário definir explicitamente essa subdivisão na hierarquia e, se preciso, a sua própria divisão de turma. #### Alinhamento de grupos: uma aula comum entre várias turmas Um [alinhamento de grupos](#page-glossary.alignment) serve quando vários grupos de **turmas diferentes** seguem, na realidade, **a mesma aula**, na **mesma faixa horária**, com o **mesmo professor** e na **mesma sala de aula**. Exemplo clássico: os alunos de `Latim` de `7º ano A`, `7º ano B` e `7º ano C` têm uma única aula de latim comum. ```mermaid flowchart LR subgraph A["Turma 7º ano A"] GA["Latim"] end subgraph B["Turma 7º ano B"] GB["Latim"] end subgraph C["Turma 7º ano C"] GC["Latim"] end COURSE["Uma única aula de latim"] GA --> COURSE GB --> COURSE GC --> COURSE ``` O alinhamento é muito útil para as opções ou eletivas interturmas, mas é mais rígido do que um simples grupo: tudo o que está alinhado vive em conjunto. Condição importante: tem de tratar-se da **mesma disciplina** entre as turmas envolvidas. Por outras palavras, se você quiser uma aula comum entre várias turmas, é preciso que essas turmas partilhem efetivamente a disciplina usada por essa aula. Exemplo: - `Marketing` comum a várias turmas: sim; - `Marketing B3` numa turma e `Marketing M1 opção` noutra: não, não se forem duas disciplinas distintas na estrutura do horário. No ensino superior, isto leva muitas vezes a evitar disciplinas demasiado específicas de um único percurso quando se sabe que haverá aulas partilhadas. É preferível prever uma disciplina comum às turmas que devem partilhar aulas. Os alinhamentos são mais adequados às escolas do ensino secundário: trata-se de criar aulas em espelho e de indicar a lógica de agrupamento dinâmico. A desvantagem é ter de respeitar esse espelho: é preciso criar tantas aulas quantos os grupos no alinhamento, com os grupos certos afetados em cada turma, e tudo tem de ser simétrico: professor(es), sala de aula, recursos, etc. Se uma aula com um grupo de um alinhamento for posicionada, tem de existir uma aula em espelho em cada turma, com o seu grupo alinhado correspondente. A vantagem é a possibilidade de criar aulas complexas com os alinhamentos. É possível ter uma aula de latim comum na semana A, e uma aula não agrupada diferente em cada turma. Se essas restrições não forem compensadas pelas vantagens, é preferível considerar os grupos de grupos. #### Grupo de grupos: agrupamento explícito e modificável O [grupo de grupos](#page-glossary.groups-of-groups) serve para reunir vários grupos num agrupamento nomeado, modificável e reutilizável. O grupo de grupos usa-se então como qualquer outro grupo. É particularmente útil: - no ensino superior e na formação contínua; - quando a composição de um agrupamento pode evoluir; - quando você quer manter uma estrutura legível e rastreável. Exemplo: um seminário comum reúne alunos de `M1 Marketing`, `M1 Finance` e `Elective Data`. As aulas são planejadas com o grupo de grupos e, mais tarde, um quarto grupo junta-se ao dispositivo: basta adicioná-lo ao grupo de grupos para que todas as aulas lhe fiquem associadas. Tal como acontece com os alinhamentos, é preciso que as aulas comuns assentem numa **disciplina comum** entre as turmas envolvidas. O grupo de grupos permite reunir os públicos; não substitui a coerência da disciplina usada para a aula. Se você precisar de reunir **turmas inteiras**, crie primeiro em cada turma um grupo que represente essa turma inteira e, depois, use esses grupos no alinhamento ou no grupo de grupos. Não se alinham diretamente turmas sem passar por grupos. #### Afetar vários grupos diretamente a uma aula É possível afetar **vários grupos diretamente a uma aula**, sem criar previamente um grupo de grupos nomeado. Isto é útil: - para uma necessidade pontual; - para testar rapidamente um agrupamento; - para uma aula excecional que não justifica uma estrutura dedicada. Mas não é a melhor escolha como modelação de fundo: - é menos legível ao longo do tempo; - é menos rastreável do que um agrupamento nomeado; - torna-se mais difícil compreender a intenção pedagógica se esse esquema se repete com frequência. Na prática: - para um uso duradouro, prefira um **grupo de grupos** explícito; - para uma necessidade pontual, a afetação direta de vários grupos é muito prática. ```mermaid flowchart LR subgraph X["Grupos existentes"] G1["M1 Marketing - Elective Data"] G2["M1 Finance - Elective Data"] G3["M2 Controle de gestão - Elective Data"] end S["Aula pontual Data"] G1 --> S G2 --> S G3 --> S ``` Evite, em contrapartida, misturar, numa mesma aula, um **grupo-pai** e um dos seus **subgrupos**: geralmente, não é uma modelação limpa do público envolvido. #### Tabela-resumo | Conceito | Perímetro | Para que serve | Exemplo | | --- | --- | --- | --- | | [**Turma**](#page-glossary.class) | Conjunto de referência | Ter as aulas seguidas por todos | `6º ano A`, `BTS 1`, `M1 Marketing` | | [**Grupo**](#page-glossary.group) | Subdivisão de uma turma | Isolar um subconjunto de alunos | `Laboratório-A`, `Latim`, `Espanhol` | | [**Subgrupo**](#page-core-concepts.group-hierarchy) | Subdivisão de um grupo | Refinar uma organização já dividida | `Laboratório-A1`, `Laboratório-A2` | | [**Divisão de turma**](#page-glossary.class-division) | Grupos de uma mesma turma | Repartir alunos exclusivos por aulas em paralelo | `Laboratório-A` / `Laboratório-B`, `Alemão` / `Espanhol` | | [**Alinhamento de grupos**](#page-glossary.alignment) | Grupos de turmas diferentes | Fazer seguir uma única aula comum | `Latim` de várias turmas | | [**Grupo de grupos**](#page-glossary.groups-of-groups) | Vários grupos, mesma ou diferentes turmas | Construir um agrupamento explícito e modificável | Seminário comum multipercurso | | **Multigrupos** | Vários grupos, mesma ou diferentes turmas | Afetação dinâmica de vários grupos, ao momento | Aula pontual que interessa a públicos variados | | [**Grupo livre**](#page-glossary.free-group) | Composição aberta | Gerir inscrições não fixadas | Oficina, clube, atividade aberta | #### Ver também - [Divisões de turma](#page-core-concepts.class-divisions) - [Alinhamentos de grupos](#page-core-concepts.alignments) - [Grupos de grupos](#page-core-concepts.groups-of-groups) - [Hierarquia de grupos](#page-core-concepts.group-hierarchy) - [Grupos livres](#page-core-concepts.free-groups) - [Casos de uso no ensino superior](#page-faq.higher-ed-cases) ### 2.3 Divisões de turma *Source: `help/pt/core-concepts/class-divisions.md` · id: core-concepts.class-divisions · Updated: 2026-05-20* Uma **divisão de turma** declara ao algoritmo de geração que vários [grupos](#page-glossary.group) de uma mesma [turma](#page-glossary.class) podem estar na **mesma faixa horária** sem entrar em conflito — porque nenhum aluno faz parte de mais de um desses grupos. #### Porque é necessário — a filosofia «tudo é conflito por defeito» O Omniscol é um software de planeamento **sob restrições**. Consequência direta: **tudo o que pode ser fonte de conflito é assim considerado por defeito**, salvo se o utilizador indicar explicitamente o contrário. - Entre **duas turmas distintas**: nenhum aluno em comum por hipótese, portanto nenhum conflito a assinalar. (As aulas transversais / partilhadas modelam-se à parte através dos [alinhamentos](#page-core-concepts.alignments) ou dos [grupos de grupos](#page-core-concepts.groups-of-groups).) - Dentro de **uma mesma turma**, o algoritmo de geração não tem **qualquer meio lógico** de adivinhar quais grupos podem coexistir na mesma faixa horária sem se sobrepor. Trata portanto dois grupos de uma mesma turma como **suscetíveis de ter alunos em comum**. Sem declaração de divisão, planear duas aulas na mesma faixa horária para dois grupos da mesma turma levanta um conflito. Cabe ao autor do horário **dizer ao algoritmo de geração**: «estes grupos são mutuamente exclusivos, pode planeá-los simultaneamente». A divisão de turma é essa declaração. O algoritmo de geração tentará o mais possível posicionar simultaneamente as aulas com grupos numa divisão, mas pode não o conseguir devido a outras restrições (falta de sala, restrições horárias incompatíveis entre professores ou disciplinas, entidade comum como a sala especializada ou o professor em comum entre as aulas). Nesse caso, o algoritmo de geração detetará que uma parte da turma não tem aula e aplicará uma penalização proporcional (opção por defeito: reduzir os intervalos vazios para os alunos), levando-o a planear essas aulas logo no início ou no final do dia, ou ainda durante a pausa do almoço se possível. #### Casos de uso típicos - **Meias-turmas alfabéticas**: grupos A e B (segundo ordem alfabética ou sorteio) — um aluno está num OU no outro, nunca nos dois. - **Meias-turmas por nível**: grupos Inglês Reforçado vs Inglês Padrão; um aluno está num OU no outro. - **Meias-turmas por sexo** (caso particular de certos estabelecimentos para a educação física, por exemplo). - **Disciplinas optativas exclusivas**: Francês segunda língua / Espanhol segunda língua / Italiano segunda língua — um aluno escolhe **apenas uma** das três línguas. - **Conjuntos de disciplinas optativas simultâneas**: um leque de optativas em que o estabelecimento decide planear todas as disciplinas optativas na mesma faixa horária bloqueada (`Sexta 14h-16h = faixa de optativas`), e os alunos escolhem a sua optativa no conjunto — todas exclusivas no sentido «um aluno segue uma única optativa». - **Aulas práticas / laboratórios em meios-grupos**: Laboratório-A e Laboratório-B na mesma faixa horária em duas salas diferentes com dois professores. #### Criação Etapas: 1. Vá à página dos grupos de uma turma (separador Grupos). 2. Selecione os grupos envolvidos. 3. Clique em Criar uma divisão. 4. Valide. Podem coexistir várias divisões numa mesma turma: uma para os laboratórios de ciências (Laboratório-A, Laboratório-B), uma para as línguas (Francês segunda língua, Espanhol segunda língua), uma para as optativas de especialidade (Filosofia de especialidade, História-Geografia de especialidade, Matemática de especialidade). Cada divisão é independente das outras. Quando um grupo está numa divisão, aparece em todos os ecrãs pertinentes com um ícone [link-slash]. #### Segurança por defeito: um grupo numa só divisão Por defeito, a interface aplica uma segurança simples: um grupo pertence apenas a uma única divisão. É o caso mais frequente, e isso evita muitos erros. Esta filtragem pode, no entanto, ser levantada quando a realidade dos públicos o justifica. Exemplo: - apenas os alunos de `Espanhol segunda língua` também fazem `Latim`; - os alunos de `Francês segunda língua` não fazem `Latim`. Pode então criar: - uma divisão `Espanhol segunda língua` / `Francês segunda língua`; - uma divisão `Latim` / `Francês segunda língua`. O interesse é dar mais liberdade ao motor para colocar certas aulas frente a frente e reduzir os intervalos vazios para uma parte da turma. A utilizar com rigor: é necessário que a distribuição real dos alunos esteja perfeitamente dominada. #### Critério de validade **Nenhum aluno deve pertencer a dois grupos da mesma divisão.** É a definição matemática de uma partição — os conjuntos são disjuntos. Se um aluno figurar em dois grupos de uma mesma divisão, o Omniscol emite um alerta de coerência (o algoritmo de geração não o pode enviar para dois sítios ao mesmo tempo). #### Consequência no algoritmo Com uma divisão declarada, o algoritmo de geração: - **autoriza** o planeamento simultâneo dos grupos da divisão (quando de outra forma seria um conflito), - **verifica ainda assim os outros recursos**: são necessárias tantas salas diferentes quantos os grupos simultâneos, tantos professores diferentes. A divisão levanta apenas o conflito de aluno — não os conflitos de sala / professor, que permanecem estritos. #### Erro frequente — três aulas na mesma faixa horária numa turma Se quiser **três aulas diferentes em simultâneo** numa turma (Filosofia, História-Geografia, Matemática de especialidade) porque os seus alunos têm optativas exclusivas, crie **três grupos** (Filosofia, HG, Matemática-esp) e coloque-os numa divisão. Não três aulas sem grupo — caso contrário o algoritmo de geração não terá qualquer informação sobre as restrições de simultaneidade, e cada uma será colocada em separado, em horários diferentes. #### Diferença com outra construção | Pretende… | Utilize | | --- | --- | | Vários grupos de **uma mesma turma** na mesma faixa horária (aulas diferentes, alunos disjuntos) | **Divisão de turma** (esta página) | | Vários grupos de **turmas diferentes** na mesma faixa horária (mesma aula, mesmo professor, mesma sala) através de uma lógica que liga grupos simples | [Alinhamento](#page-core-concepts.alignments) | | Idem alinhamento, mas facilmente modificável a posteriori, criando uma entidade autónoma de reagrupamento | [Grupo de grupos](#page-core-concepts.groups-of-groups) | | Um grupo de composição não fixa (oficina, inscrição livre) | [Grupo livre](#page-core-concepts.free-groups) | #### Ver também - [Turma, grupo, subgrupo](#page-core-concepts.classes-and-groups) - [Alinhamentos](#page-core-concepts.alignments) - [Grupos de grupos](#page-core-concepts.groups-of-groups) - [Grupos livres](#page-core-concepts.free-groups) - [Divisão de turma](#page-glossary.class-division) ### 2.4 Alinhamentos de grupos *Source: `help/pt/core-concepts/alignments.md` · id: core-concepts.alignments · Updated: 2026-05-20* Um **alinhamento** liga vários [grupos](#page-glossary.group) pertencentes a **turmas diferentes**: eles devem seguir **a mesma aula**, na **mesma faixa horária**, na **mesma sala de aula**, com o **mesmo professor**. Condição importante: este alinhamento deve assentar na **mesma disciplina** nas diferentes turmas. Se duas turmas tiverem disciplinas distintas, mesmo muito próximas do ponto de vista pedagógico, o alinhamento não constitui uma boa modelação. Concretamente, enquanto uma [divisão de turma](#page-glossary.class-division) permanece dentro de uma turma, o alinhamento atravessa várias turmas. #### Casos de uso Os alinhamentos servem para criar aulas transversais em que várias turmas têm um número reduzido de alunos a reagrupar (alinhar) para uma aula comum específica, que seguirão em conjunto. É por exemplo o caso de: - **Latinistas** da 5A, 5B e 5C que seguem a aula de latim em comum. - **Disciplinas optativas entre turmas** no ensino secundário: Ciências Políticas, História da Arte, terceira língua estrangeira, etc. - **Disciplinas de especialidade**. - **Tronco comum multipercurso** no ensino superior: uma aula de introdução comum a vários mestrados. Se precisar de alinhar **turmas inteiras**, crie primeiro em cada turma um grupo que represente essa turma inteira e depois alinhe esses grupos. #### Criação 1. Crie primeiro, em cada turma envolvida, **um grupo**, de preferência com o nome idêntico (exemplo: «Latinistas» na 5A, na 5B e na 5C). 2. Vá ao separador Alinhamento de grupos. 3. Clique em Adicionar um alinhamento e selecione os grupos das diferentes turmas. Quando um grupo está envolvido num alinhamento, passa a aparecer em todos os ecrãs pertinentes, com um ícone de ligação [link]. #### Consequências Uma vez alinhado, o grupo de cada turma fica **ligado** à aula comum. Concretamente: - As aulas devem ser criadas nas turmas em espelho, com nomeadamente a **mesma duração**, o **mesmo professor** e eventualmente a **mesma sala de aula**. - Se uma aula de uma turma com grupo alinhado for posicionada num dia e numa hora, então todas as outras turmas do alinhamento devem ter a mesma aula em espelho, cada uma com o grupo alinhado correspondente, na mesma posição. - Os volumes horários e a divisão em aulas com os diferentes grupos alinhados devem ser **estritamente idênticos** na disciplina em causa — caso contrário o Omniscol emite um diagnóstico de incoerência. - Uma alteração (deslocação, mudança de sala, mudança de professor, adição de uma nota) feita numa aula **deve ser propagada** a todas as turmas alinhadas (o sistema tenta adivinhar quais aulas estão em espelho para tornar isto o mais automático possível). #### Diagnóstico — incoerências frequentes O alinhamento é sensível aos desvios. Diagnósticos típicos: - **Volume horário divergente**: o grupo «Latinistas» da 8A tem 3 aulas de uma hora de latim, o da 8B tem 2. Ou se harmoniza (3 em todas), ou se desalinha (2 horas alinhadas, uma hora noutro grupo de latinistas não alinhado). - **Sala diferente numa aula alinhada**: um alinhamento implica uma única sala. Se forçar manualmente uma sala diferente numa turma para a sua aula, o diagnóstico é assinalado. - **Professor diferente**: idem. #### Dica — um grupo por aula/disciplina Como os alinhamentos são muito sensíveis à obrigação de criação em perfeito espelho, é extremamente recomendável criar um grupo por disciplina ou aula em causa de cada turma a alinhar. Por outras palavras: não reutilize um grupo genérico (tipicamente: grupos A/B) para disciplinas diferentes, com uma lógica forte de alinhamento. Caso contrário obtém alinhamentos ambíguos que o algoritmo de geração não consegue desambiguar. Crie antes grupos especializados, que poderá ligar entre si sem receio de efeitos secundários indesejáveis. #### Ver também - [Turma, grupo, subgrupo](#page-core-concepts.classes-and-groups) - [Divisões de turma](#page-core-concepts.class-divisions) - [Grupos de grupos](#page-core-concepts.groups-of-groups) - [Curso transversal](#page-glossary.transverse-course) - [Alinhamento de grupos](#page-glossary.alignment) ### 2.5 Grupos de grupos *Source: `help/pt/core-concepts/groups-of-groups.md` · id: core-concepts.groups-of-groups · Updated: 2026-05-20* Um **grupo de grupos** é um supergrupo que reúne vários [grupos](#page-glossary.group) — que podem vir da **mesma turma** ou de **turmas diferentes**. Outros programas de planeamento empregam o termo «agrupamento» para o mesmo conceito. Tal como num alinhamento, as aulas comuns devem assentar numa **disciplina comum** entre as turmas envolvidas. Ao contrário dos alinhamentos, que indicam uma lógica entre grupos, o grupo de grupos é uma entidade autónoma que se pode utilizar como um grupo. Pode vê-lo como um contentor nomeado dinâmico de grupos. #### Em que é mais flexível do que um alinhamento | Aspeto | [Alinhamento](#page-core-concepts.alignments) | **Grupo de grupos** | | --- | --- | --- | | Composição | Modificável a posteriori, mas implica criar as aulas em espelho | Modificável a posteriori com muita facilidade | | Modo de horário | Muito adaptado ao semanal e cíclico do secundário | Utilizável em todos os tipos de horário; particularmente prático quando os agrupamentos evoluem | | Retirada da aula | Requer um clone não alinhado do grupo | Modificação direta da aula, cuja pertença ficará fixada a uma turma, com necessidade de recriar as aulas das outras turmas envolvidas | | Caso de uso | Curso comum recorrente, para currículo de turmas paralelas | Cursos transversais, agrupamentos pontuais | O grupo de grupos foi concebido para o ensino superior e a formação contínua, onde: - a composição dos agrupamentos evolui muitas vezes (um percurso que se junta a outro, um subgrupo que se destaca para um projeto), - os cursos comuns são datados individualmente em vez de recorrentes, - os conferencistas ou os visiting professors intervêm junto de um público compósito em datas precisas. Um grupo de grupos é mais flexível e fácil de acompanhar do que um alinhamento. A sua limitação situa-se nos cursos complexos, com alternâncias assimétricas de semanas. Requer apenas que se estruturem bem as nomenclaturas (por exemplo: "Marketing transversal Mestrado"). #### Criação e utilização Criação a partir do separador Grupo de grupos do horário. O grupo de grupos pode ser atribuído a um curso **como se fosse um grupo comum** — a diferença é que agrega vários grupos membros. Se quiser agrupar **turmas inteiras**, crie primeiro em cada turma um grupo que represente a turma inteira e depois utilize esses grupos no seu grupo de grupos. Um curso atribuído a um grupo de grupos aparece em **todas** as turmas pai dos grupos membros. E pode editá-lo a partir de qualquer uma delas. Os grupos de grupos aparecem em todos os ecrãs relevantes com um ícone específico [sitemap]. #### Modificar a composição posteriormente Os grupos membros podem ser adicionados ou retirados a qualquer momento. Os cursos já atribuídos adaptam-se automaticamente (o âmbito alarga-se ou reduz-se consoante os grupos adicionados / retirados). É isto que faz o valor do conceito: pode começar um semestre com uma composição, ajustá-la ao longo do percurso, sem quebrar a estrutura. #### Considerações técnicas Tecnicamente, uma aula com um grupo de grupos é armazenada uma única vez, de forma transversal às turmas, portanto não atribuída a uma turma precisa. Ao passo que uma aula sem grupo de grupos (incluindo com grupos alinhados) é armazenada na sua turma. Com um alinhamento sobre 3 grupos, há 3 aulas armazenadas, uma em cada turma; com um grupo de grupos, uma única aula é armazenada à parte das turmas, mas apresentada em cada turma. Quando um grupo de grupos é retirado de uma aula, o sistema adivinha ou pergunta qual é a turma de ligação da aula. É mais fácil modificar os outros campos de uma aula com um grupo de grupos do que com um alinhamento: o armazenamento único permite mudar a sala ou o professor de forma imediata, sem repercussão "em espelho". #### Consolidação das indisponibilidades Um grupo de grupos **consolida as indisponibilidades** de todos os seus grupos membros. Uma indisponibilidade colocada em **qualquer** grupo membro — ou na turma desse grupo — aplica-se à aula comum. A regra vale tanto na geração automática como no ecrã durante a edição. Os níveis flexíveis (Indesejado, vermelho) consolidam-se da mesma forma; e quando vários níveis se encontram numa mesma faixa horária, **o mais forte prevalece** — uma Indisponível (preto) prima sobre uma Indesejado (vermelho). Veja [Restrições horárias (sistema geral)](#page-core-concepts.time-constraints) para o editor e os níveis. Como um grupo de grupos atravessa muitas vezes várias turmas, esta consolidação reúne as indisponibilidades de **cada turma abrangida**: uma turma fechada à sexta-feira à tarde fecha essa faixa para qualquer aula do grupo de grupos que a inclua, mesmo quando as outras turmas permanecem livres. ```mermaid flowchart TD CX["Turma X — indisponível segunda-feira à tarde"] --> GA["Grupo A (turma X)"] CY["Turma Y — indisponível sexta-feira de manhã"] --> GB["Grupo B (turma Y)"] GA --> GG["Grupo de grupos"] GB --> GG GG --> SE["Aula: indisponível segunda-feira à tarde E sexta-feira de manhã"] ``` No grupo de grupos, a aplicação apresenta uma **pré-visualização consolidada, não modificável**, destas indisponibilidades: visualizam-se de uma só vez as restrições de todos os membros. **Modificam-se nos grupos membros** (ou nas suas turmas), onde têm um sentido próprio — o grupo de grupos não tem um editor de restrições distinto. > _Premium_ Cada grupo membro traz as suas **próprias** restrições de grupo, bem como as que **herda** da sua turma e dos seus grupos pais (veja [Hierarquia de grupos](#page-core-concepts.group-hierarchy)). A consolidação retoma-as todas: quanto mais membros o grupo de grupos agrega, mais se aperta a janela de posicionamento. Para reabrir uma faixa apesar de uma restrição herdada, o nível **Aulas autorizadas** reautoriza-a localmente, sem modificar a fonte. No ecrã, estas restrições consolidadas veem-se **no posicionamento**: as faixas candidatas e o painel de diagnóstico assinalam o conflito e nomeiam o **grupo membro** e a **turma** em causa, para remontar diretamente à fonte (veja [Conflitos e diagnóstico](#page-timetables.conflicts)). #### Procedimento — Criar um grupo transversal para conferência convidada 1. **Uma conferência convidada para um público compósito** (alunos de três turmas, duas opções): o conceito Omniscol que lhe corresponde é o **grupo de grupos**. 2. **Pré-requisito**: os grupos membros já existem no seio das suas turmas respetivas. Identifique os grupos a agregar (`M1 marketing`, `M1 finanças`, `Opção empreendedorismo`). 3. **Abra o separador** Grupo de grupos do horário. Botão Adicionar um grupo de grupos. Dê-lhe um nome elucidativo: `Conferência convidada Prof.ª Lambert — público M1 + opções`. 4. **Adicione os grupos membros**: selecione os grupos das três turmas / opções na lista. Sem limite de composição. Sem restrição de exclusividade dos grupos membros entre si (no pior dos casos, o aluno que pertence a dois grupos verá o curso uma única vez). 5. **Crie o curso** (a conferência) a partir de uma das turmas envolvidas e **atribua-lhe o grupo de grupos** como se fosse um grupo comum. Uma única introdução, e o curso aparece em **todas as turmas pai** dos grupos membros. 6. **Modificações a posteriori**: se a composição evoluir (um grupo sai, outro junta-se), modifique a composição do grupo de grupos — os cursos atribuídos adaptam-se automaticamente (o âmbito alarga-se ou reduz-se). É isto que distingue este conceito de um alinhamento clássico (composição fixa). Veja também [Alinhamentos](#page-core-concepts.alignments) para o caso semanal. #### Alternativa mais flexível: atribuição múltipla direta de grupos Por vezes, para aulas pontuais, criar um grupo de grupos dedicado revela-se uma operação penosa. Nesse caso, se a falta de estruturação dos dados não for um obstáculo, você pode associar diretamente vários grupos de uma ou várias turmas a uma aula. Internamente, o tratamento é semelhante a um grupo de grupos anónimo, com um armazenamento único transversal às turmas, mas você não tem de se preocupar com isso. #### Ver também - [Alinhamentos](#page-core-concepts.alignments) - [Restrições horárias (sistema geral)](#page-core-concepts.time-constraints) - [Curso transversal](#page-glossary.transverse-course) - [Modo calendário](#page-glossary.calendar-mode) - [Grupo de grupos](#page-glossary.groups-of-groups) ### 2.6 Hierarquia de grupos: pais, filhos, restrições herdadas *Source: `help/pt/core-concepts/group-hierarchy.md` · id: core-concepts.group-hierarchy · Audience: admin · Plan: premium · Updated: 2026-05-20* > **Premium** > **Funcionalidade Premium.** A hierarquia de grupos e as restrições > horárias de grupos estão incluídas nas funcionalidades Premium. > _Premium_ Para além do modelo plano «turma → grupos», o Omniscol permite organizar os grupos de uma turma numa **hierarquia pai / filho** e associar **restrições horárias** que se propagam por herança. É útil quando a turma se estrutura em vários níveis sucessivos de subdivisões. #### Criar uma hierarquia por arrastar e largar Na página dos grupos de uma turma, o arrastar e largar define a hierarquia: - **Arrastar um grupo sobre outro** → o filho fica ligado ao pai. - **Arrastar um filho sobre o topo da lista dos grupos** → o filho é retirado da sua hierarquia e volta a ser um grupo direto da turma. Sem limite de profundidade. Você pode ter cadeias pai → filho → neto se a sua divisão o justificar. #### Exemplo canónico Hierarquia típica: ```mermaid flowchart TD C[Turma 8A] A[A — pai] A1[A1 — filho de A] A2[A2 — filho de A] B[B — pai] B1[B1 — filho de B] B2[B2 — filho de B] C --> A C --> B A --> A1 A --> A2 B --> B1 B --> B2 ``` Divisões declaradas: - `(A, B)` — A e B são exclusivos ao nível do pai. - `(A1, A2)` — sob A, A1 e A2 são exclusivos. - `(B1, B2)` — sob B, B1 e B2 são exclusivos. **Consequência automática**: o Omniscol autoriza o posicionamento simultâneo de grupos pertencentes a ramos diferentes — por exemplo, `A1` e `B2` podem estar na mesma faixa horária, porque nenhum aluno está nos dois (A1 ⊂ A, B2 ⊂ B, e A ∩ B = ∅). Não é preciso voltar a declarar a divisão `(A1, B2)`: a herança calcula-a. #### Herança das restrições horárias Para além das divisões, você pode associar **restrições horárias** (disponibilidades, incompatibilidades) a um grupo. Com a hierarquia, estas restrições **herdam-se** dos pais para os filhos — através de um sistema de **máscara** que os filhos podem sobrepor. ##### Exemplo: faixa horária reservada para Educação Física Caso típico: - A turma `8A` está **indisponível na segunda-feira à tarde** (faixa global bloqueada para atividades coletivas). - Por herança, **todos os grupos** da turma ficam indisponíveis na segunda-feira à tarde. - **Exceto** o grupo `Sport`: **inverte-se** a sua máscara para autorizar a segunda-feira à tarde e proibir todo o resto. Todas as atividades desportivas deste grupo passarão então a cair automaticamente nesta faixa protegida. O mecanismo é poderoso: **uma máscara no pai + uma exceção no filho** basta para modelar de forma limpa faixas dedicadas, sem ter de duplicar a restrição em cada curso. ##### Outro exemplo: um pai `Electifs` que comporta as faixas autorizadas Outro caso muito útil: o estabelecimento quer que todas as optativas caiam apenas em algumas faixas reservadas, por exemplo: - segunda-feira de manhã, - quarta-feira antes das 10:00, - sexta-feira de manhã. Pode então: - criar um grupo pai `Electifs` que não será ele próprio atribuído a cursos; - exprimir neste pai as faixas autorizadas pintando as restrições horárias; - criar por baixo tantos subgrupos quantos os necessários: `Elective Marketing`, `Elective Finance`, `Elective Data`, etc. Todos estes subgrupos herdam então as mesmas faixas autorizadas. Se a regra mudar, altera-se um único ponto: o pai `Electifs`. ```mermaid flowchart TD E["Electifs — grupo pai"] E1["Elective Marketing"] E2["Elective Finance"] E3["Elective Data"] S["Faixas autorizadas: segunda-feira de manhã, quarta-feira antes das 10:00, sexta-feira de manhã"] S --> E E --> E1 E --> E2 E --> E3 ``` ##### Regras de herança - Um grupo filho **herda por defeito** as restrições horárias do seu pai. - O filho pode **sobrepor** estas restrições: adicionar restrições próprias ou inverter a máscara. - As **divisões do pai** aplicam-se automaticamente aos filhos: se A e B estiverem numa divisão, os filhos de A são exclusivos dos filhos de B sem declaração explícita. ##### Restrições herdadas e grupos de grupos Um grupo pode também ser membro de um **grupo de grupos**. As suas restrições — as próprias e as herdadas da sua turma e dos seus grupos pais — são então **consolidadas** com as dos outros grupos membros: a aula do grupo de grupos respeita todas estas indisponibilidades reunidas. A herança desce, pois, a hierarquia, e depois a consolidação reúne os membros do grupo de grupos. ```mermaid flowchart TD C["Turma — indisponível segunda-feira à tarde"] --> P["Grupo pai"] P --> E["Grupo filho — herda do pai"] E --> GG["Grupo de grupos"] M["Outro grupo membro (outra turma)"] --> GG GG --> SE["Aula: indisponibilidades consolidadas"] ``` Veja [Grupos de grupos](#page-core-concepts.groups-of-groups) para o detalhe da consolidação. #### Quando utilizar uma hierarquia - **Conjuntos de opções**: uma turma com línguas estruturadas em níveis (Inglês Reforçado > A1-Conversação, A1-Civilização, A2-…). - **Aulas práticas com sub-rotações**: duas meias-turmas para a aula prática, cada uma subdividida em subgrupos para os ensaios. - **Percursos diferenciados**: um percurso principal com módulos opcionais distintos que se posicionam dentro do percurso. - **Desporto**: um grupo global que reúne todos os alunos, com uma máscara dedicada para as faixas de desporto. - **Optativas em faixas reservadas**: um grupo pai `Electifs` comporta as faixas autorizadas, e os seus subgrupos correspondem às optativas reais. #### Quando não utilizar - Para turmas simples sem subdivisão hierárquica — a hierarquia acrescenta complexidade. - Para misturar alunos de turmas diferentes — esse é o papel dos [alinhamentos](#page-core-concepts.alignments) ou dos [grupos de grupos](#page-core-concepts.groups-of-groups), não da hierarquia intra-turma. - Para inscrições abertas — utilize os [grupos livres](#page-core-concepts.free-groups). #### Procedimento — Construir uma hierarquia pai/filho 1. **A hierarquia de grupos** organiza os grupos de uma turma em pais e filhos, com **herança** das restrições horárias. 2. **Crie primeiro os grupos em plano** na página dos grupos da turma: `A`, `A1`, `A2`, `B`, `B1`, `B2`, mais um grupo transversal `Sport`. Nesta fase, estão todos ao mesmo nível, ligados diretamente à turma. 3. **Arrastar e largar para hierarquizar**: arraste `A1` para `A` → `A1` torna-se filho de `A`. O mesmo para `A2`, `B1`, `B2`. Obtém dois ramos `A → A1, A2` e `B → B1, B2`. Sem limite de profundidade. Para retirar um filho: arraste-o para o **topo da lista** dos grupos da turma. 4. **Declare as divisões**: `(A, B)` ao nível do pai (exclusivos), `(A1, A2)` sob A, `(B1, B2)` sob B. Não é preciso voltar a declarar `(A1, B2)`: o Omniscol calcula por herança que `A1 ⊂ A` e `B2 ⊂ B` são compatíveis (posicionáveis na mesma faixa horária). 5. **Coloque a máscara do pai**: na turma, marque **segunda-feira à tarde como indisponível**. Todos os grupos a herdam automaticamente. Verifique consultando a grelha de cada grupo: a faixa está bloqueada em todo o lado. 6. **Inverta a máscara em `Sport`**: na ficha do grupo Sport, inverta a restrição horária — autorize a segunda-feira à tarde, proíba todo o resto. Todas as atividades desportivas caem automaticamente nesta faixa dedicada, sem ter de a voltar a declarar em cada curso. 7. **Tem agora uma hierarquia ativa** com herança das divisões e máscara horária dedicada. O algoritmo de geração usa-a durante a geração automática e os conflitos herdados são assinalados em tempo real. #### Ver também - [Turma, grupo, subgrupo](#page-core-concepts.classes-and-groups) - [Divisões de turma](#page-core-concepts.class-divisions) - [Grupos livres](#page-core-concepts.free-groups) - [Disponibilidades, restrições horárias e incompatibilidades](#page-core-concepts.wishes-and-availability) ### 2.7 Grupos livres *Source: `help/pt/core-concepts/free-groups.md` · id: core-concepts.free-groups · Plan: premium · Updated: 2026-05-12* > **Premium** > _Premium_ Um **grupo livre** é um **grupo de trabalho semiautônomo**: uma parte da turma avança no seu trabalho em paralelo à aula principal, muitas vezes na mesma sala e com o mesmo professor — um **grupo satélite** da aula. Ele posiciona-se na grade sem gerar conflito, e a sua composição não precisa de ser fixada antecipadamente. É a **carta curinga** do Omniscol: a usar quando o modelo estrito turma + subgrupos em divisão não se ajusta. Muito frequente em: - **escolas de arte** (oficinas de inscrição livre, projetos transversais), - **projetos em semiautonomia** — pequeno grupo de alunos que trabalha em conjunto sob a supervisão **leve** de um professor que se ocupa principalmente da sua turma ao lado e que passa regularmente para ver em que ponto estão, - **conferências entre turmas**, masterclasses, seminários convidados, - **aulas de apoio** e **clubes** voluntários, - **projetos de pesquisa e estágios curtos** de inscrição livre. #### Comportamento Um grupo livre está **vinculado a uma turma** como todo grupo, com um efetivo e, conforme a configuração da conta, uma lista de alunos ou estudantes. O que muda é a maneira como o Omniscol verifica os conflitos. Numa aula de um grupo livre, o Omniscol **desativa três tipos de verificações**: - conflito com o resto da turma na mesma faixa horária, - conflito com outra aula do mesmo professor, - conflito com uma sala já ocupada. É isso que permite ao grupo livre funcionar como um **grupo satélite** na grade da turma principal: a aula principal ocorre, e a aula do grupo livre posiciona-se em paralelo sem disparar alerta. As aulas de um grupo livre **aparecem explicitamente** no horário dos estudantes envolvidos, como todas as outras aulas. #### Quando usar um grupo livre vs um grupo clássico | Situação | Grupo clássico | Grupo livre | | --- | --- | --- | | Composição fixada antecipadamente | ✓ | ✓ (como um grupo comum: efetivo, lista de alunos facultativa) | | Detecção dos conflitos turma / professor / sala | ✓ estrita | — desativada | | Modelagem de optativas em divisão de turma | ✓ | — não | | Aula satélite, em paralelo à aula principal | — | ✓ | #### Precaução de uso — limite real > **Antes de tudo: prefira os verdadeiros subgrupos em > [divisão](#page-core-concepts.class-divisions)** quando puder. > O grupo livre é uma **carta curinga de uso parcimonioso**, > reservada aos casos em que nenhuma outra solução limpa funciona. A razão: a colocação em paralelo deve na prática ser **gerida pelo planificador humano**. O algoritmo de geração automática não tem qualquer meio de saber que tal grupo em semiautonomia deve ser planificado **em paralelo a uma aula principal precisa da turma**. Se você o deixar rodar, as aulas do grupo livre podem cair a qualquer momento — sem coerência com o que faz o resto da turma. **Boa prática**: posicionar manualmente a aula do grupo livre **em frente** à aula principal visada, depois **bloquear a sua posição** para que a geração automática não lhe toque mais. Ver [Bloquear uma aula](#page-timetables.lesson-lock). #### Criação No momento de criar o grupo (em Adicionar um grupo), marque a opção Grupo livre. Um ícone [right-left] marca em seguida esses grupos nas listas para não os confundir com os grupos comuns. #### Efeitos da desativação dos conflitos Concretamente, numa aula de um grupo livre: - se Alice (estudante da turma) assiste a essa aula enquanto uma outra aula principal ocorre para o resto da turma na mesma faixa horária, o Omniscol não emite **qualquer alerta** (embora ela esteja em teoria esperada em dois lugares ao mesmo tempo); - o professor pode ser atribuído a outra aula na mesma faixa horária sem alerta também; - a sala pode já estar ocupada pela aula principal sem alerta. Essa tolerância é **assumida**. Cabe a você (planificador) garantir que a coabitação tem um sentido pedagógico (tipicamente: o professor passa apenas de tempos em tempos para ver em que ponto está o grupo em semiautonomia; os estudantes do grupo saem da aula principal sem causar problema; a sala acolhe ambas as atividades). #### Ver também - [Turma, grupo, subgrupo](#page-core-concepts.classes-and-groups) - [Divisões de turma](#page-core-concepts.class-divisions) - [Bloquear uma aula](#page-timetables.lesson-lock) - [Grupo livre](#page-glossary.free-group) ### 2.8 Cursos, aulas, tipos de aula *Source: `help/pt/core-concepts/lessons-and-types.md` · id: core-concepts.lessons-and-types · Updated: 2026-06-13* Três objetos ligados mas distintos que convém diferenciar bem no Omniscol: o **curso** (a unidade pedagógica abstrata), a **aula** (uma instância concreta do curso, numa data precisa) e o **tipo de aula** (a classificação: aula teórica, aula prática, laboratório…). #### Curso Um **curso** é a unidade atómica de ensino: uma disciplina, uma turma ou um grupo, um professor, uma sala, uma duração, um número de ocorrências semanais (ou um calendário de datas no modo calendário). Exemplo: *«Matemática na 6.ª A, pelo Sr. Durand, 4 horas por semana na sala B204».* O curso comporta a **lógica pedagógica**: quem aprende o quê com quem. É o que se constrói no módulo Gestão de horários letivos. Veja também a definição do glossário: [Curso](#page-glossary.course). #### Aula Uma **aula** é uma **ocorrência** concreta de um curso, com data e hora. A partir do curso *Matemática na 6.ª A, 4h/semana*, o Omniscol gera 4 aulas por semana ao longo das semanas ativas (por exemplo, segunda-feira 8:00-9:00, terça-feira 10:00-11:00, quarta-feira 14:00-15:00, sexta-feira 9:00-10:00). É a aula que fica visível no módulo Horário, nos portais e nas exportações iCal. É também sobre a aula que incidem as alterações pontuais (mover, cancelar, substituir). É o termo adotado pela interface para a unidade colocada na grelha: o que você coloca, move, bloqueia, edita, cancela ou substitui é uma **aula** (ou «aula de um curso» quando a precisão ajuda). #### Tipo de aula Um **tipo de aula** classifica cada curso para além da sua disciplina: aula teórica, aula prática, laboratório, exame, ensino à distância, visita de estudo. O tipo serve para: - a **lógica de negócio** (um exame não se trata como uma aula prática), - as **estatísticas** (horas de aula prática vs horas de aula teórica por professor), - a **legibilidade** (apresentação nos horários). Veja [Tipos de aula (aula prática, laboratório, exame, aula teórica, etc.)](#page-admin.lesson-types) para a gestão detalhada dos tipos. #### Onde vivem os cursos na estrutura Consoante a complexidade da estrutura das turmas, os cursos ficam ligados quer **à sua turma** (caso padrão), quer **de forma transversal às turmas** (quando são utilizados grupos de grupos ou quando uma aula tem vários grupos em simultâneo). Isto é transparente para o utilizador — o Omniscol alterna automaticamente consoante a estrutura. Veja [Grupos de grupos](#page-core-concepts.groups-of-groups). #### Cursos simples vs complexos Um curso pode ser **simples** (um professor, uma turma, uma disciplina, uma sala, uma recorrência regular) ou **complexo**: alternância de semanas A/B, concatenações (aulas duplas), associações (rotação entre grupos), coanimações (vários professores). Veja [Aulas complexas](#page-core-concepts.complex-lessons). #### Ver também - [Aula / Sessão](#page-glossary.lesson) - [Tipo de aula](#page-glossary.lesson-type) - [Tipos de aula (aula prática, laboratório, exame, aula teórica, etc.)](#page-admin.lesson-types) - [Aulas complexas](#page-core-concepts.complex-lessons) ### 2.9 Aulas complexas: alternadas, geminadas, associadas, em coensino *Source: `help/pt/core-concepts/complex-lessons.md` · id: core-concepts.complex-lessons · Updated: 2026-06-13* Muitas aulas são simples: um público, um professor, uma sala, uma faixa horária recorrente. Mas o Omniscol também gere configurações mais sofisticadas, combináveis entre si. As aulas complexas são aulas de uma mesma turma ligadas entre si por uma configuração especial. Existem vários tipos. #### 1. Aulas alternadas (semanas A/B/...) Aulas que **não voltam toda semana**, mas se alternam. O caso clássico: uma aula na semana A, outra na semana B, na mesma faixa horária. Essa configuração é muito comum na França e nos sistemas escolares que nela se inspiraram, mas muito rara fora deles. **Pré-requisito**: ativar as semanas alternadas em Configurações (módulo Administração). Você pode escolher a nomenclatura (letras A/B/C ou números 1/2/3). **Deslocamento pelas férias**: a alternância pode se reajustar após um período de férias. Esse ajuste é feito na linha do tempo da tela [ano letivo](#page-admin.school-year). **Criação**: 1. Passe o cursor sobre a aula a alternar. Um ícone [plus] aparece no canto superior direito da aula; clique. 2. Uma faixa livre é adicionada para a semana alternada. 3. Crie a aula correspondente a essa nova faixa. 4. Posicione-a com o botão de alfinete [thumbtack] e, em seguida, clique na faixa horária dia/hora desejada entre as pastilhas coloridas. Você pode repetir para acrescentar outras semanas (alternância em 3, 4 ou mais). #### 2. Aulas geminadas (consecutivas) Duas aulas que devem **se suceder no mesmo dia**, sem intercalação. Casos típicos: - sucessão de aulas práticas de dois grupos diferentes (o professor tem certeza de vir para uma meia-jornada completa), - aula teórica + aula prática em sequência (aula teórica de introdução e depois aula prática de aplicação), - sessão dupla de prova. **Criação**: arraste e solte uma aula sob outra na visão de distribuição de horas. As duas aulas ficam então geminadas, e são consideradas um bloco único. É possível geminar quantas aulas quiser, mas evidentemente pode acontecer de não caber mais na grade de horários, se a duração total for grande demais. **Desmembrar**: um botão de "tesoura" aparece ao passar o cursor entre as duas aulas geminadas. Ele separa a geminação. **Por que não uma aula única mais longa?** Porque as duas aulas podem ter: - **tipos** diferentes (aula teórica e depois aula prática), - **professores** diferentes (o titular para a aula teórica, um assistente para a aula prática), - **salas** diferentes. Se todos os atributos forem idênticos, prolongar uma única aula é mais simples — a geminação traz flexibilidade nos demais casos. #### 3. Aulas associadas (alternância de meios-grupos) Duas aulas simultâneas em **meios-grupos que se permutam** entre si, formando quatro. O caso arquetípico: ``` Faixa horária 1: grupo A em biologia, grupo B em física Faixa horária 2: grupo A em física, grupo B em biologia ``` Ao fim das duas faixas horárias, os dois meios-grupos viram as duas disciplinas, mas em uma ordem diferente. A permutação exige, portanto, dois professores (um de biologia, um de física) que "rodam". Essa configuração é bastante comum no ensino fundamental na França e muito comum nos países francófonos da África. Parece bem mais rara em outros lugares, mas pode-se encontrá-la no Brasil, por exemplo. **Criação**: 1. Crie duas aulas [geminadas](#2-aulas-geminadas-consecutivas) (uma sob a outra). 2. Passe o cursor sobre a fronteira entre as duas: um botão de Associação de aulas aparece. 3. Clique e indique os **dois grupos** que devem se alternar. Idealmente, os dois grupos devem estar declarados como [divisão de turma](#page-core-concepts.class-divisions) na turma. É possível ir além de duas aulas/dois grupos, mas esse caso permanece mais teórico do que encontrado na vida real. #### 4. Coensino Dois ou mais professores que ministram **a mesma aula**, na **mesma sala**, **simultaneamente**. Casos típicos: - acompanhamento reforçado (titular + assistente), - *visiting professor* em dupla com o titular durante algumas aulas, - módulo pluridisciplinar (um médico + um especialista em informática para "informática para a saúde"), - cotitulares ao longo de um semestre inteiro. **Criação**: na tela de atribuição dos professores ao curso, selecione **vários responsáveis**. Cada um é creditado da aula em suas estatísticas e em seu serviço horário. #### 5. Combinações Essas complexidades se **combinam**. Exemplos: - **Alternada + geminada** — uma aula na semana A é um bloco duplo geminado, na semana B é outro bloco duplo. - **Alternada + em coensino** — semana A com o titular, semana B com o visiting professor (alternância de responsáveis). - **Geminada + associada** — alternância de meios-grupos em uma faixa horária dupla (o caso mais comum das aulas práticas de ciências em meias-turmas). Na França, encontra-se tipicamente uma maneira de declarar as meias-horas suplementares de francês e matemática ao mesmo tempo em que se resolve o problema das três horas de esporte (fazer 1 h em média por meio de 2 h a cada duas semanas, além de 2 h todas as semanas). | Semana A | Semana B | | --- | --- | | Francês | Esporte | | Matemática | Esporte | #### Casos fora do padrão Se a sua necessidade não se enquadra em nenhuma dessas categorias, contate o suporte Omniscol — é provável que se consiga modelá-la, mas isso pode exigir um pouco de ajuda para identificar a melhor abordagem. #### Procedimento — Criar uma aula prática em meios-grupos associados 1. **O caso arquetípico**: uma aula prática de ciências em duas faixas horárias, onde o meio-grupo A faz biologia e depois física enquanto o meio-grupo B faz física e depois biologia. Geminação + associação. 2. **Pré-requisito**: na turma em questão, declare os dois meios-grupos como **divisão de turma**, por exemplo `(A, B)`. Veja [Divisões de turma](#page-core-concepts.class-divisions). É isso que permite ao Omniscol considerá-los exclusivos e, portanto, permutáveis. 3. **Crie a primeira aula** (por exemplo, biologia para o meio-grupo A) na primeira faixa horária, na visão de distribuição de horas. Professores e sala de biologia. 4. **Arraste e solte a segunda aula** (física para o meio-grupo B) **diretamente sob a primeira** (um espaço aparece no momento de soltar a aula, que fica geminada). 5. **Passe o cursor sobre a fronteira** entre as duas aulas geminadas: um botão de Associação de aulas aparece. Clique. Indique os dois grupos (`A` e `B`) que devem se alternar. O Omniscol cria automaticamente a **rotação**: faixa horária 1 → A em biologia + B em física; faixa horária 2 → A em física + B em biologia. Dois professores simultâneos, duas salas, dois meios-grupos que rodam, quatro aulas ao todo. 6. **Para ajustar**: um botão de tesoura entre as duas aulas geminadas separa a associação. Você também pode combinar com **alternância A/B** (aula prática diferente na semana A vs B) ou **coensino** (dois professores na mesma aula). Veja [Distribuir as horas e criar as aulas](#page-timetables.hour-distribution) para o contexto completo. #### Ver também - [Aulas alternadas](#page-glossary.alternate-lessons) - [Aulas geminadas](#page-glossary.concatenated-lessons) - [Aulas associadas](#page-glossary.associated-lessons) - [Coensino](#page-glossary.co-teaching) - [Distribuir as horas e criar as aulas](#page-timetables.hour-distribution) ### 2.10 Campus, locais, salas, recursos, várias salas *Source: `help/pt/core-concepts/sites-rooms-resources.md` · id: core-concepts.sites-rooms-resources · Updated: 2026-06-13* Esta página reúne a modelação **organizacional e física** de uma instituição no Omniscol: quais campus estruturam as turmas, onde decorrem as aulas, em que salas, com que equipamentos móveis. > _Premium_ #### Campus — a malha organizacional Um [campus](#page-glossary.campus) permite distinguir várias implantações, faculdades ou polos dentro de uma mesma conta. É uma noção de organização interna: serve para agrupar turmas segundo a estrutura da instituição e para facilitar certas filtragens. Esta noção é **opcional**. Torna-se sobretudo útil quando a noção de local não coincide bem com a organização lógica da instituição, ou quando você quer manter as duas em paralelo. O campus é transversal ao local. Um local descreve antes uma realidade geográfica ou física: lugar, grade horária, salas, tempo de deslocação. As duas noções não se sobrepõem necessariamente. É precisamente nesse caso que se tornam mais úteis. Por exemplo: - uma faculdade pode utilizar vários locais; - um local físico pode acolher vários campus ou polos; - várias faculdades podem partilhar os mesmos edifícios; - várias escolas de um grupo podem partilhar vários locais de forma cruzada; - um campus pode servir sobretudo de filtro de análise, sem alterar os tempos de deslocação. Mesmo que campus e local se sobreponham quase totalmente, manter os dois pode continuar a ser útil para os filtros, os agrupamentos e certas análises. Os campus criam-se nos [configurações gerais](#page-admin.parameters), sob os níveis de turma. Podem depois ser registados nas turmas. O diagnóstico dos conflitos pode utilizá-los para filtrar os alertas por perímetro organizacional. #### Locais — a malha geográfica Cada [local](#page-glossary.site) representa um lugar físico ou geográfico distinto. Pelo menos um local é obrigatório. Se todas as suas aulas decorrem no mesmo lugar, crie um único local. Se a sua instituição é multilocal com intervenientes ou alunos que se deslocam, crie tantos locais quantos necessário **e registe os tempos de deslocação** entre eles. Cada local tem a sua própria **grade horária** (horas de início/fim das faixas horárias, pausas, almoço, encerramentos) — os locais podem ter grades diferentes (por exemplo um edifício principal e uma extensão com outros horários). O multilocal é uma prática comum no **ensino superior** (vários campus, extensões em regiões), mas também no **ensino escolar** (2.º e 3.º ciclos no mesmo agrupamento com edifícios separados, escola com anexo de pré-escolar, etc.). > O multilocal não está incluído no plano **Lite**. Está > disponível a partir do plano Standard. #### Multilocal: política e tempos de deslocação Caso típico: um professor termina uma aula no local A às 10:00, tem de estar no local B às 10:30, a deslocação demora 15 minutos. Na grade horária com uma pausa entre aulas de 30 minutos, tudo bem. Com uma pausa de apenas 10 minutos, não dá. ##### Registar os tempos de deslocação No ecrã **Locais** do módulo Gestão de horários letivos, o botão Distância entre locais abre uma janela que apresenta os tempos de deslocação sob a forma de **meia matriz triangular**: N locais = N×(N−1)/2 células a preencher (sem diagonal, sem duplicados — a matriz é simétrica). Introduza as durações em minutos para cada par, valide com Salvar. Sem este registo, a geração automática considera que nenhuma deslocação é necessária entre os locais — poderá teletransportar os professores, o que evidentemente não funciona na prática. ##### Política de professores: mudança de local automática Um **professor** pode mudar de local automaticamente de uma aula para a seguinte — é o algoritmo que gere. Você não tem nada a declarar do lado do professor: basta que os tempos de deslocação entre locais estejam registados. ##### Política de turmas: local por defeito + forçagem manual Uma **turma** está associada por defeito a um local (o seu local de inscrição). Todas as suas aulas decorrem por defeito nesse local. Mas você pode **associar manualmente uma sala de outro local** a uma aula da turma — por exemplo «aula de educação física no ginásio da extensão». Nesse caso: - a **sala pré-atribuída** é mantida pelo algoritmo (ele não procura substituí-la por uma sala do local por defeito); - a geração automática calcula os **tempos de deslocação** em relação às aulas que precedem ou seguem (consoante o seu local: por defeito o local da turma, caso contrário o local da sala imposta nessas aulas). Se **nenhuma sala for indicada** numa aula, o algoritmo escolhe uma sala do **local da turma**. É o valor por defeito. ##### Restrição bloqueante, ao minuto A restrição entre locais é **bloqueante** no algoritmo de geração automática. Se faltar que seja um minuto entre o fim de uma aula num local e o início de uma aula noutro local, a colocação é **recusada** — sem relaxamento automático. Verificação precisa na **grade horária efetiva**: se duas faixas horárias se seguem com 15 minutos de intervalo e é necessário 10 minutos de deslocação, dá; se forem necessários 16 minutos de deslocação, não dá. ##### Pausa de almoço numa mudança de local Quando uma mudança de local cai na pausa de almoço, o tempo de deslocação é **subtraído ao tempo de almoço real** disponível. O algoritmo tem em conta uma duração mínima de almoço para os professores e para os alunos (calibrada ao nível do local); se a deslocação reduzir esse tempo abaixo do mínimo, a colocação é recusada. Consequência prática: declarar corretamente os tempos de deslocação e as durações de almoço por local evita os horários teoricamente válidos mas impossíveis de cumprir fisicamente. ##### Consequência no diagnóstico Se você vir «impossível» em colocações multilocais, verifique em prioridade: - os **tempos de deslocação** declarados (não teletransportados, nem sobrestimados de forma ridícula), - as **pausas entre aulas** na grade horária, - a eventual **pausa de almoço** na faixa horária em causa, - as **salas pré-atribuídas**: se uma turma tem uma sala imposta noutro local, é ela que fixa a restrição. Em posicionamento manual, a restrição aparece a laranja, e você pode sempre forçar. Mas a menos que as aulas estejam bloqueadas, executar o algoritmo de geração automática a posteriori terá por consequência deslocar a aula ou as aulas para resolver este conflito. ##### Caso de uso: atividades exteriores Para além dos campus permanentes, o mecanismo multilocal cobre naturalmente as **atividades exteriores recorrentes**: - **visita de hotel ou de restaurante** para uma escola de hotelaria / restauração; - **visita de museu** ou de atelier para uma escola de arte ou de design; - **saída em empresa** recorrente (visitas em alternância); - **estágio de terreno** num local externo (obra, exploração agrícola, laboratório parceiro). Crie um local dedicado para cada lugar exterior recorrente, com o seu tempo de deslocação a partir do seu local principal. A restrição bloqueante aplica-se normalmente: se a deslocação não couber no tempo disponível entre duas aulas, a colocação é recusada. ##### Para ir mais longe: ensino superior O multilocal é particularmente comum no superior (vários campus, extensões em regiões, intervenientes que circulam). Casos específicos (um horário por local graças aos vários horários ativos — incluído em Premium —, locais virtuais para a videoconferência, etc.) em [Vários sites no ensino superior](#page-higher-ed.multi-site). #### Salas — os espaços As [salas](#page-glossary.classroom) estão associadas a um local, que tem a sua realidade física: lugar, grade horária, tempos de deslocação. Uma sala tem: - um **nome**, - uma **capacidade** (número de alunos; campo crítico para a geração automática), - eventualmente uma **[especialização](#page-glossary.classroom-specialization)** (rótulo livre: química, informática, desporto…), - eventualmente um **número máximo de turmas simultâneas**, para as **[salas grandes](#page-glossary.large-room)** capazes de acolher várias aulas em paralelo (sala de exame, ginásio, piscina, espaço exterior); este campo só aparece depois de uma especialização estar definida, - eventualmente **tags** ou comentários livres, - eventualmente um **edifício**, - eventualmente **horários de abertura** específicos. ##### Várias salas: uma aula em várias salas O Omniscol **suporta** a atribuição de várias salas a uma mesma aula. Casos de uso: - **Exames em anfiteatros desdobrados** — um exame de 200 candidatos repartido por três anfiteatros (capacidade 70 + 60 + 80) com um único interveniente responsável. A capacidade total é calculada como a **soma** das salas atribuídas. - **Aula magistral retransmitida** — uma aula magistral num anfiteatro principal, retransmitida por videoconferência para uma sala satélite (noutro local, ou mesmo numa turma inteiramente à distância). - **Aulas práticas desdobradas** — uma aula prática de 30 estudantes repartida por duas salas vizinhas (15 + 15) com o mesmo professor que circula. Limitação: se a soma das capacidades continuar **inferior** ao efetivo do grupo, o Omniscol exibe um conflito. Cabe ao administrador decidir resolvê-lo (adicionando uma sala, reduzindo o grupo, ou aceitando o conflito se for deliberado — por exemplo, se se sabe que nem todos os inscritos virão). ##### Especializações de salas As **[especializações](#page-glossary.classroom-specialization)** (química, informática, desporto, ginásio, multimédia, sala de estudo vigiado) são rótulos **livres** opcionais definidos pela instituição. Você cria as especializações que correspondem à sua nomenclatura, para distinguir certas salas que estão dedicadas a aulas específicas (um ginásio para desporto, uma piscina para a natação, um laboratório para uma aula prática de química, etc.). A geração automática respeita estritamente as especializações: se uma disciplina requer «química», apenas as salas com exatamente essa especialização serão utilizadas. Cada sala tem **no máximo uma especialização**. Para uma sala polivalente entre dois usos especializados, utilize um rótulo abrangente (por exemplo «informática-multimédia») e associe esse mesmo rótulo às disciplinas em causa. Ver [Especializações de salas de aula](#page-core-concepts.classroom-specializations). ##### Sala dedicada a uma turma Muitas configurações de ensino básico/secundário associam uma sala a cada turma (as aulas decorrem aí por defeito, apenas os professores se deslocam). É configurável na turma — o motor prioriza então essa sala para as aulas da turma (com uma prioridade superior à sala preferida do professor, se estiver definida). ##### Salas em dois locais virtuais Se você tem dois locais virtuais para um lugar físico único (típico de 2.º e 3.º ciclos que partilham as instalações), uma sala só pode pertencer a um local de cada vez. Para a tornar utilizável nos dois contextos, duplique-a nos dois locais e registe horários de abertura exclusivos («livre de manhã para o 2.º ciclo, à tarde para o 3.º ciclo») para evitar as duplas atribuições. #### Recursos — os equipamentos móveis Um [recurso](#page-glossary.resource) é um equipamento **móvel** não associado a uma sala específica: três projetores portáteis, uma mala de tablets, um kit de microfones, etc. Cada recurso tem: - um **nome**, - uma **quantidade disponível** (a mala conta como 1, não como 30 — introduza o número de malas, não de tablets individuais). A geração automática garante que, numa mesma faixa horária, o número de aulas que solicitam o recurso não excede a quantidade disponível. Não vale a pena modelar os recursos de que você tem «sempre o suficiente» — faça-o apenas para os verdadeiros limites partilhados. #### Caso particular — videoconferência e ligações por aula O formato de uma aula — presencial, à distância, híbrido ou em autonomia — é dado pela sua **[modalidade](#page-glossary.lesson-modality)** (Premium): é ela que determina se a aula mobiliza uma sala física. Para uma aula à distância ou híbrida, você pode associar uma **ligação de videoconferência** à aula (Zoom, Teams, Meet…). Ver [Ligações de videoconferência por curso](#page-higher-ed.videoconference-links). É mais fino do que a ligação de videoconferência na turma, que é uma ligação geral por defeito em todas as aulas. #### Ver também - [Especialização de sala](#page-core-concepts.classroom-specializations) - [Sites, grades horárias, salas, recursos](#page-timetables.sites-rooms) - [Exames em várias salas no ensino superior](#page-higher-ed.multi-room-exams) - [Ligações de videoconferência por curso](#page-higher-ed.videoconference-links) - [Modalidade](#page-glossary.lesson-modality) ### 2.11 Grade horária, faixas horárias e durações *Source: `help/pt/core-concepts/timetable-grid.md` · id: core-concepts.timetable-grid · Audience: admin/teacher/staff · Plan: standard · Updated: 2026-06-13* A **grade horária** descreve as faixas horárias de um site: horas de início, horas de fim, intervalos, intervalo do almoço e encerramentos. Serve tanto para a apresentação, como para o controlo das disponibilidades e a geração automática. #### Armazenamento padrão: a faixa horária, não a hora escrita Por predefinição, uma aula posicionada está associada a uma **faixa horária da grade**. O Omniscol conserva a posição na grade e depois recalcula as horas apresentadas a partir da grade do site. Consequência útil: se um dia a campainha de início passar de `08:15` para `08:10`, as aulas colocadas nessa faixa seguem a nova grade sem ser necessário modificar cada aula uma a uma. #### Modo de apresentação da grade O **modo de apresentação** determina a apresentação da coluna das horas, sem alterar nada no posicionamento das aulas: - **Horas de aula** — cada linha exibe o horário real da faixa (8:15 – 9:10, 9:15 – 10:15…), tal como definido pela grade do site. - **Períodos** — cada linha exibe um número de período (P0, P1, P2…), convenção difundida nos estabelecimentos anglo-saxónicos. - **Diário** — apresentação por calendário com horas redondas (8:00, 9:00, 10:00…), independente da grade: cada aula coloca-se à sua hora real sobre um fundo horário contínuo. #### Duração de base da aula A **duração de base da aula** é a duração de referência de uma faixa horária. Pode incluir o intervalo entre aulas se o estabelecimento o contabilizar assim. Exemplos: - aulas de 55 minutos com 5 minutos de intervalo entre elas: duração de base de `60` minutos; - aulas regulares de 1h30: duração de base de `90` minutos; - aulas maioritariamente de uma hora, com algumas aulas de 1h30: duração de base de `60` minutos e um fracionamento adequado. Esta duração serve para os volumes horários configurados e para a geração. As horas reais de início e de fim podem variar na grade: um intervalo pode fazer com que uma faixa apresentada dure 55 minutos, mantendo-se associada a uma duração de referência de 60 minutos. Na interface, este parâmetro chama-se Duração da faixa horária e define-se no separador **Geral** da edição do horário (ver [Configurações gerais](#page-timetables.general-settings)). As durações típicas, por ordem de popularidade, são: 60, 45, 50, 120, 90, 30, 180. Por vezes, nos estabelecimentos do ensino superior, as aulas duram sempre várias horas, mas podem começar aleatoriamente às 8h ou às 9h, ou então podem durar 6 ou por vezes 5 horas. Nesse caso, é o maior divisor comum que prevalece, e será geralmente uma duração de base de 60 minutos. #### Fracionamento O **fracionamento** indica em quantas subpartes a duração de base pode ser dividida. É o passo horário mínimo. Eis alguns exemplos: - `1`: apenas aulas de uma duração de base completa; - `1/2`: passo de 30 minutos se a duração de base for 60 minutos; - `1/4`: passo de 15 minutos se a duração de base for 60 minutos. Escolha a granularidade mais simples que cubra as necessidades reais. Um fracionamento mais fino permite mais flexibilidade, mas aumenta o número de possibilidades a testar durante a geração. Na interface, este parâmetro ajusta-se no separador **Geral** através de Fracionamento da faixa horária. Na maioria dos sistemas escolares do mundo, não há subdivisão da grade horária. Em França, é geralmente 1/2 no ensino secundário (algumas aulas duram 1h30). Em certos organismos de formação, pode descer-se a 10 minutos de precisão: é, portanto, 60 minutos de duração de base, mas 1/6 de fracionamento. #### Posição e duração: um armazenamento em passos horários Uma aula não é registada com horas «fixas», mas como um **número de passos horários** na grade. O **passo** é a duração de base dividida pelo fracionamento: uma duração de base de 60 minutos com um fracionamento 1/2 dá um passo de 30 minutos. Uma aula de 1h ocupa então 2 passos, uma aula de 1h30 ocupa 3. Coexistem três noções, sem se confundirem: - a **duração de referência** (a duração de base) serve para contar os volumes horários e para **apresentar a duração** de uma aula; - as **horas reais** apresentadas (início e fim) provêm da **grade do site**, faixa a faixa; - o **armazenamento** faz-se em **passos horários**, à precisão do fracionamento. É por isso que uma mesma faixa pode apresentar 8:15 – 9:10 (horas reais) contando ao mesmo tempo como 1h (duração de referência). #### Proibições globais de faixas horárias Certas faixas horárias devem permanecer **proibidas para todo o estabelecimento**: quarta-feira à tarde, faixa de reunião, período reservado. Estas proibições definem-se **diretamente na grade do site**, marcando a faixa como **indisponível**: nenhuma aula será colocada aí, nem na apresentação nem na geração. Trata-se de uma **restrição horária transportada pela grade**. O mesmo mecanismo permite também, nas contas Premium, restrições flexíveis (faixas a evitar sem as fechar). Ver [Restrições horárias (sistema geral)](#page-core-concepts.time-constraints). #### Intervalo do almoço e desfasamentos O intervalo do almoço descreve-se por um **período** (por exemplo 12:00 – 14:00) e uma **duração** de almoço a preservar. Quando a duração a preservar é **mais curta** do que o período, o Omniscol autoriza uma aula **numa parte** do intervalo, desde que a duração do almoço continue a ser possível — antes ou depois da aula intercalada. É muito frequente o intervalo do almoço durar duas horas, mas ser permitido posicionar uma aula de uma hora, geralmente opções em que toda a turma não está presente, ou aulas transversais em que é complexo sincronizar várias turmas. As partes da turma que não têm aula não são consideradas como estando em sala de estudo (para o algoritmo, não é um buraco). O intervalo do almoço é também o único caso em que uma faixa irregular é tratada como um conjunto de passos horários distintos. Com um passo horário de 30 minutos, uma duração de base da aula de 1h e um período de intervalo das 12:00 às 13:30, o programa considera que se trata de 3 × 30 minutos. Pode declarar-se ou uma faixa única de 1h30, ou 1h + 30 minutos, ou 30 minutos + 1h, não importa. Neste caso, as aulas da tarde ficam desfasadas em meia hora. Se declarar então uma duração de almoço de meia hora mínima, isso deixa a possibilidade de colocar uma aula de uma hora sobre o intervalo, permitindo aos alunos em causa almoçar antes ou depois da aula. Também se pode indicar que a **cantina abre mesmo antes** do intervalo oficial: um «buraco» nessa faixa não conta então como tempo perdido para os alunos. O importante é modelar a regra pretendida: faixas abertas, faixas fechadas, intervalo do almoço flexível, disponibilidades ou indisponibilidades. A grade deve refletir o que o estabelecimento realmente aceita. > _Premium_ #### Horários personalizados numa aula Uma aula pode receber um **horário personalizado**: início e fim precisos, que não correspondem necessariamente aos limites exatos de uma faixa horária. Este caso existe em todos os tipos de horário. A aula é apresentada fora da grade, com as suas horas reais: pode começar ou terminar fora dos limites da faixa apresentada. O Omniscol utiliza estas horas personalizadas para calcular a sua sobreposição real. Qualquer entidade afetada à aula — professor, sala, turma, grupo ou recurso — é considerada ocupada assim que o horário personalizado invade uma faixa horária. Para a geração automática, uma aula com horário personalizado é tratada como imóvel: a sua posição é bloqueada automaticamente. > _Premium_ #### Turma fora da grade A **turma fora da grade** é outro caso: as aulas da turma são armazenadas com horários precisos, independentemente da grade do site. Esta funcionalidade diz respeito apenas aos horários do tipo calendário. Serve sobretudo para as formações contínuas ou programas muito flexíveis que partilham as instalações e os professores com a formação inicial, sem seguir a mesma grade horária. O estabelecimento escolhe então um passo horário por predefinição, por exemplo o quarto de hora, e as aulas são armazenadas com as suas horas de início e de fim. > _Premium_ #### Durações personalizadas Uma aula também pode ter **durações personalizadas**: - **Duração calculada**: duração deduzida das horas personalizadas da aula; - **Duração real**: duração utilizada prioritariamente nos painéis de controlo; - **Duração contabilizada**: duração utilizada para a faturação ou o processamento salarial do professor. Exemplo: um exame ocupa uma sala das `08:30` às `11:30` porque é necessário preparar a sala antes e libertá-la depois. O painel pode contar apenas 2h de exame em duração real, ao passo que a duração contabilizada do professor vigilante pode ser mais elevada se o estabelecimento integrar aí uma compensação de correção. #### Ver também - [Configurações gerais](#page-timetables.general-settings) - [Sites, grades horárias, salas, recursos](#page-timetables.sites-rooms) - [Aulas fora da grelha](#page-timetables.off-grid-lessons) ### 2.12 Especializações de salas de aula *Source: `help/pt/core-concepts/classroom-specializations.md` · id: core-concepts.classroom-specializations · Updated: 2026-06-13* Nem todas as salas de aula são equivalentes: um laboratório de química não pode acolher uma aula de educação física, uma sala de informática só faz sentido para as disciplinas que utilizam os seus postos, um ginásio está reservado ao desporto. A **especialização de sala** no Omniscol permite declarar essas afinidades para que a geração automática e os diagnósticos respeitem as restrições físicas. #### Como funciona: um rótulo partilhado entre salas de aula e disciplinas A especialização assenta num **rótulo livre**, definido pela instituição segundo a sua nomenclatura, que relaciona duas declarações: - **Do lado da sala de aula** — cada sala de aula tem **no máximo uma especialização** («química», «informática», «ginásio»…). A maioria das salas de aula não tem nenhuma. - **Do lado da disciplina** — uma disciplina afetada a uma turma pode exigir uma sala de aula especializada através do seu campo Sala de aula especial. O valor deve corresponder **exatamente** ao rótulo atribuído a pelo menos uma sala de aula. O vínculo é estrito nos dois sentidos: uma disciplina que exige «química» só é colocada numa sala de aula com esse rótulo, e uma sala de aula especializada é **reservada** às disciplinas que pedem o seu rótulo — não é utilizada para as aulas comuns. A **capacidade** da sala de aula continua a ser uma verificação distinta: qualquer que seja a especialização, o efetivo previsto deve caber na sala de aula. #### Efeito na geração Durante a geração automática, o algoritmo apenas considera, para cada aula, as salas de aula **compatíveis**: rótulo de especialização exigido pela disciplina (se aplicável) e capacidade suficiente para o efetivo. Se não houver nenhuma sala de aula compatível disponível, a geração sinaliza-o e o diagnóstico identifica a disciplina, a turma e a especialização envolvidas. Cabe a você decidir: acrescentar o rótulo a outra sala de aula, retirar a exigência atribuída à disciplina, ou rever os efetivos. #### Salas de aula polivalentes Uma sala de aula tem apenas **um único** rótulo de especialização. Para uma sala de aula que deve servir dois usos especializados — por exemplo, a informática e o multimédia — crie um rótulo abrangente («informática-multimédia») e indique esse mesmo rótulo em todas as disciplinas envolvidas. #### Salas de aula genéricas As salas de aula **genéricas** (sem especialização) acolhem todas as disciplinas que não exigem uma sala de aula especializada. É o caso mais comum; acrescente uma especialização apenas quando você quiser restringir. #### Sala grande: várias aulas ao mesmo tempo Uma sala de aula especializada acolhe normalmente **uma aula de cada vez**. Você pode transformá-la numa **[sala grande](#page-glossary.large-room)** ao indicar o seu **número máximo de turmas em simultâneo**: ela acolhe então várias aulas diferentes em paralelo (professores e grupos distintos), desde que a soma dos efetivos caiba na sua capacidade. É o caso de uma sala de exames, de um ginásio, de uma piscina ou de um espaço exterior. Esta configuração só aparece **depois** de ter atribuído uma especialização à sala de aula. #### Boas práticas - **Comece amplo** — no momento da configuração inicial, não coloque demasiadas restrições, pois corre o risco de bloquear a geração. - **Refine após o primeiro diagnóstico** — quando você vir o resultado da geração, identifica os casos em que uma especialização em falta teria evitado uma má colocação. - **Documente do lado da equipe** — os professores e os agentes de sala devem compreender por que razão uma dada sala está restrita; caso contrário, contornam-na à mão. #### Procedimento — Configurar um laboratório de ciências 1. **Configurar uma sala de aula especializada** (laboratório de ciências, sala de informática, ginásio) para que a geração automática não se engane. 2. **Abra a sala de aula** na tela Sites / Salas de aula / Recursos do horário. Preencha a sua **especialização**: escolha um rótulo existente ou crie-o (por exemplo `Ciências`). Uma sala de aula tem apenas um único rótulo. 3. **Capacidade**: número de lugares. A geração verifica que o efetivo do grupo afetado permanece ≤ capacidade. ⚠ Seja realista — demasiado estrito bloqueia a geração, demasiado amplo leva a sobrelotações. 4. **Do lado da disciplina**: na ou nas disciplinas envolvidas de cada turma (Ciências da vida e da terra, Biologia…), preencha o campo Sala de aula especial com o mesmo rótulo `Ciências`. A correspondência deve ser exata — é ela que reserva a sala de aula a essas disciplinas. 5. **Comece amplo** na configuração inicial — menos restrições = menos risco de bloquear a geração. Você vai **refinar após o primeiro diagnóstico** quando vir os casos em que uma especialização em falta teria evitado uma má colocação. 6. **Para uma sala de aula não restrita** (genérica), não preencha nenhuma especialização: a sala de aula acolhe então todas as disciplinas sem exigência particular. É o padrão mais simples — acrescente a especialização apenas quando você quiser restringir. #### Ver também - [Especialização de sala](#page-glossary.classroom-specialization) - [Sala grande](#page-glossary.large-room) - [Sites, salas de aula, recursos, várias salas](#page-core-concepts.sites-rooms-resources) - [Gerir as disciplinas](#page-admin.subjects) ### 2.13 Disponibilidades e restrições horárias dos professores *Source: `help/pt/core-concepts/wishes-and-availability.md` · id: core-concepts.wishes-and-availability · Updated: 2026-06-21* As **disponibilidades** de um professor indicam ao programa as faixas horárias que são **impossíveis**, **indesejáveis** ou **preferidas** para ele. A geração automática respeita estritamente as impossibilidades e tenta otimizar as restantes preferências. No ensino secundário fala-se também de **votos** — é o mesmo conceito. #### Quatro níveis | Cor | Significado | Efeito | | --- | --- | --- | | **Preto** | Impossível | Restrição rígida: a geração automática nunca coloca uma aula aí | | **Vermelho** | Indesejável | Restrição flexível: a geração automática evita se possível | | **Verde** | Preferido | A geração automática favorece esta faixa se houver várias válidas | Um período não marcado é **neutro** — disponível sem preferência. #### Ativar a introdução das disponibilidades O modo de introdução escolhe-se nos [configurações gerais](#page-admin.parameters), no parâmetro Disponibilidades dos professores: - **Desativado** — sem introdução de disponibilidades pelos professores. - **Semanal** — disponibilidades introduzidas numa semana-tipo. Para os horários semanais e cíclicos. - **Calendário** — disponibilidades introduzidas data a data. Para os horários de calendário, nas contas Premium. - **Calendário + Semanal** — as duas introduções coexistem, nas contas Premium, quando horários recorrentes e de calendário coabitam, ou simplesmente para dar uma possibilidade mais simples aos professores de indicarem que nunca estão disponíveis num determinado dia da semana, seja qual for a data (podem, no entanto, ser indicadas exceções). #### Introdução pelo próprio professor Os professores podem introduzir as suas próprias disponibilidades a partir da sua conta [heart]. Grande poupança de tempo para a administração. Se a escola não pretender que o professor inicie sessão, você também lhe pode **enviar uma ligação de partilha** direta para o seu próprio ecrã de disponibilidades, em modo de edição, gerada a partir de Baixar com data de expiração. O professor introduz as suas disponibilidades sem sequer ter autorização para iniciar sessão na sua conta. Na prática, esta ligação é frequentemente enviada numa mensagem personalizada com as disciplinas previstas, o volume horário, as deslocações ou restrições particulares, e uma data-limite explícita. O Omniscol não faz uma impressão em série dedicada a este caso: cada ligação insere-se na comunicação já preparada para o professor correspondente. #### Validação administrativa no horário Num horário semanal: - As disponibilidades introduzidas pelo professor estão por predefinição **a aguardar validação**. - O planeador verifica e **valida** (potencialmente após modificação — por exemplo, eliminando uma disponibilidade demasiado restritiva, ou alterando o preto para vermelho). - Qualquer modificação posterior do professor passa novamente para aguardar validação. No ensino secundário, as disponibilidades podem ser abertas várias semanas antes do planeamento. De facto, são introduzidas numa grade horária genérica, e a fase de validação adapta-as à verdadeira grade horária das aulas do horário: a fase de validação serve também para adaptar corretamente essa transposição. As disponibilidades dos professores virtuais são registadas diretamente. Isto permite, por exemplo, dar por predefinição a quarta-feira. Em modo de calendário ([Premium](#page-overview.plans-and-options)): - As disponibilidades são **consolidadas em tempo real**. - Os conflitos são detetados diretamente. De facto, considera-se que, em modo de calendário, há menos restrições na grade (uma vez que existe uma multiplicidade de datas), e os professores são autónomos, ou mesmo externos à escola, acumulando cargos e responsabilidades: não se trata de um voto, mas de uma disponibilidade real. De forma excecional, os dados das disponibilidades dos professores em modo de calendário são, por isso, modificáveis tanto a partir do ecrã do módulo de administração como a partir de um horário. #### Conflito de disponibilidades na geração Se as disponibilidades de um professor forem **demasiado restritivas** para permitir posicionar as suas aulas, a geração falha com um diagnóstico explícito. Ver [Diagnosticar uma geração que falha](#page-timetables.diagnosing-generation). Soluções: - Flexibilizar as disponibilidades (passar um período a vermelho em vez de preto). - Redistribuir as aulas (um professor com 18h e apenas 12 faixas horárias livres não tem margem suficiente). - Recrutar (caso extremo — mas por vezes é o diagnóstico correto). #### Procedimento — Recolher e validar as disponibilidades dos professores 1. **As disponibilidades** indicam à geração automática que faixas horárias são **impossíveis** (preto — restrição rígida), **indesejáveis** (vermelho — flexível) ou **preferidas** (verde). A geração automática respeita estritamente o preto e otimiza as restantes. 2. **Ative o modo de introdução** nos parâmetros gerais (parâmetro Disponibilidades dos professores): **desativado**, **semanal** (disponibilidades numa semana-tipo, modo clássico), ou **calendário** (nas contas Premium, disponibilidades data a data — cumulável com o semanal). Escolha consoante o seu tipo de horário. 3. **Abra a introdução** aos professores. Duas opções: - iniciam sessão e introduzem a partir das suas contas [heart]; - você gera uma **ligação de partilha direta** através de Baixar com data de expiração — sem necessidade de o professor iniciar sessão na sua conta — e envia-a a cada pessoa em causa. 4. **Do lado do professor**: ele inicia sessão ou clica na ligação, vê a sua grade, marca as faixas horárias a preto (impossível), vermelho (indesejável), verde (preferido). Gravação direta. O gesto é rápido. 5. **Validação do lado do administrador (modo semanal)**: as disponibilidades introduzidas chegam **a aguardar validação**. Verifique e depois valide — pode modificar pelo caminho. Qualquer modificação posterior do professor volta a passar para aguardar validação. Em modo de calendário, é consolidado em tempo real. ⚠ Se um professor marcar demasiado preto, a geração automática não conseguirá posicionar as suas aulas — o diagnóstico assinalá-lo-á (ver [Diagnosticar uma geração que falha](#page-timetables.diagnosing-generation)). #### Ver também - [Restrições horárias (sistema geral)](#page-core-concepts.time-constraints) - [Disponibilidades dos professores (desejos)](#page-glossary.wishes) - [Incompatibilidade (entre disciplinas)](#page-glossary.incompatibility) - [Geração automática](#page-glossary.solver) - [Disponibilidades em modo de calendário](#page-timetables.calendar-wishes) ### 2.14 Restrições horárias: turmas, disciplinas, grupos, salas e grade *Source: `help/pt/core-concepts/time-constraints.md` · id: core-concepts.time-constraints · Audience: admin · Updated: 2026-06-27* As **restrições horárias** indicam à geração automática as faixas horárias a **evitar** ou a **privilegiar**. O mesmo editor serve para as **disponibilidades de um professor** e para as restrições associadas a uma **turma**, uma **disciplina**, um **grupo**, uma **sala** ou a própria **grade**. Cada superfície só expõe os níveis que fazem sentido para ela. Para o detalhe do caso do professor (registo pelo professor, ligação de partilha, validação), ver [Disponibilidades dos professores](#page-core-concepts.wishes-and-availability). #### Os quatro níveis Uma faixa horária pinta-se com um destes níveis, identificados por uma cor: | Cor | Nível | Efeito na geração | | --- | --- | --- | | ⚫ **Preto** | Indisponível | Restrição dura: a geração automática nunca coloca uma aula aí | | 🔴 **Vermelho** | Indesejado | Restrição flexível forte: a geração automática evita tanto quanto possível | | 🟠 **Laranja** | Pouco desejado | Restrição flexível ligeira: a evitar se o resto o permitir | | 🟢 **Verde** | Preferencial | Preferência positiva: a geração automática favorece esta faixa horária | Uma faixa horária não pintada é **neutra**. A [eraser] Apagar apaga um nível posto e volta ao neutro. #### Quem carrega quais níveis Nem todos dão acesso aos quatro níveis: - **Professor** — Indisponível, Indesejado, Preferencial (preto, vermelho, verde). São as suas **disponibilidades**. - **Turma** (Restrições horárias da turma), **disciplina** ([clock]), **sala** (Disponibilidade) — Indisponível e Indesejado (preto, vermelho). Descreve-se aí as faixas horárias onde não se quer, ou antes não se quer, que a turma trabalhe / a disciplina seja posta / a sala seja utilizada. - **Grupo** (Disponibilidade) — mesmos níveis preto e vermelho, função Premium (ver mais abaixo). - **Grade horária** (o local) — é a **única** superfície que propõe o nível **laranja** (Pouco desejado). Ver abaixo. O acesso faz-se em todo o lado através do **pequeno relógio** [clock] posto sobre a entidade (sobre cada turma, cada disciplina da turma, cada sala…). O relógio **colore-se** quando já há restrições registadas. #### Restrições postas na grade Na grade de um local, pintam-se diretamente as **restrições globais**, válidas para **toda a instituição**: - pintar uma faixa horária de **preto** **fecha-a** para toda a gente — é assim que se proíbe globalmente uma faixa horária (quarta-feira à tarde, pausa, faixa horária de reunião…). > _Premium_ Em Premium, a grade aceita além disso restrições **flexíveis**: **vermelho** (Indesejado) e **laranja** (Pouco desejado), para desencorajar uma faixa horária sem a fechar. Ver [Grade horária, faixas horárias e durações](#page-core-concepts.timetable-grid) para a estrutura da grade (faixas horárias, durações, pausas). #### O editor de restrições O editor é comum a todas as entidades, e tudo se faz com um clique. **Escolha primeiro um nível** na barra em cima (os níveis propostos dependem da entidade). Torna-se o «pincel» ativo e aplica-se a cada faixa horária que você toca: - **Clique numa célula** para pintar essa única faixa horária; **clique e depois arraste** sobre várias células para as pintar num só gesto. - **Clique no cabeçalho de um dia** para pintar **toda a coluna** (o dia inteiro); **clique no cabeçalho de uma hora** para pintar **toda a linha** (essa faixa horária em todos os dias). É a forma mais rápida de cobrir amplos intervalos. - A [eraser] Apagar é um pincel como os outros: selecione-a, depois clique ou arraste para voltar ao neutro. ##### Semana padrão e vista de calendário Para um horário semanal ou cíclico, as restrições registam-se sobre uma **semana padrão**. > _Premium_ Para um horário do tipo calendário (Premium), uma barra de navegação permite alternar entre **semanas**, **meses**, **todo o ano** e **semana padrão**: registam-se restrições datadas, e também se pode declarar uma restrição recorrente na semana padrão. As [janelas de datas](#page-timetables.date-windows) restringem além disso os períodos em que certas aulas podem ser planeadas. Na **semana padrão**, cada faixa horária **consolida** as restrições de todas as datas correspondentes do período (todas as segundas-feiras às 8:00, por exemplo). Quando essas datas divergem, a faixa horária exibe uma **faixa de cores proporcional** — a largura de cada cor reflete o número de dias em causa — e a sua **dica** dá a contagem por nível (quantos dias indisponíveis, indesejados, etc.). **Clicar nesta faixa horária força o nível escolhido em todas essas datas** de uma vez: é a forma genérica de decidir para todo o dia padrão. #### Opções complementares > _Premium_ Sob o editor, uma restrição de turma ou de grupo pode ter **limites** (Premium): - Número máximo de horas de ensino num dia — no formato `HH:MM`; - Número máximo de horas de ensino numa semana — em modo calendário. A geração automática respeita estes limites como restrições de otimização. Do lado do professor, um **comentário** livre permite comunicar uma observação sobre as suas disponibilidades (deslocações, restrição particular). #### Herança entre níveis > _Premium_ Um **grupo** herda as restrições da sua **turma** e dos seus **grupos superiores** (ver [Hierarquia de grupos](#page-core-concepts.group-hierarchy)). Quando é preciso **autorizar** localmente uma faixa horária apesar de uma restrição herdada, o nível **Aulas autorizadas** neutraliza a restrição herdada **sem modificar a origem**. #### Efeito na geração As restrições **pretas** são **bloqueantes**: uma aula nunca será posta numa faixa horária indisponível. Os níveis vermelho e laranja são **penalizações** que a geração automática procura minimizar; o verde é um **bónus**. Se as restrições tornarem uma aula impossível de colocar, a geração assinala-o — ver [Diagnosticar uma geração que falha](#page-timetables.diagnosing-generation). #### Ver também - [Disponibilidades dos professores](#page-core-concepts.wishes-and-availability) - [Hierarquia de grupos](#page-core-concepts.group-hierarchy) - [Grade horária, faixas horárias e durações](#page-core-concepts.timetable-grid) - [Janelas de datas](#page-timetables.date-windows) - [Disponibilidades dos professores (desejos)](#page-glossary.wishes) ### 2.15 Ano letivo, semanas alternadas, férias *Source: `help/pt/core-concepts/school-year.md` · id: core-concepts.school-year · Plan: standard · Updated: 2026-05-12* O **ano letivo** é o enquadramento temporal em que decorrem os horários. Coloca três questões estruturantes: quando começa e termina o ano, quando são as férias e — se o estabelecimento utilizar semanas alternadas — como a sua alternância se ajusta a este calendário. Também se lhe chama calendário académico. #### Ano letivo e limites Um ano letivo tem uma **data de início** e uma **data de fim**. Neste intervalo, as semanas são numeradas. A publicação de um horário aplica-se a um subconjunto ou à totalidade destas semanas. Um horário do tipo calendário pode mesmo ser publicado sobre um período superior ao ano letivo (tipicamente um EMBA de 18 meses), mas só as datas declaradas nos anos letivos serão tidas em conta. Sem um ano letivo ativo, o Omniscol não disponibiliza os módulos do dia a dia (horário, painel de controlo, ausências) — é um pré-requisito. Veja [Ano letivo e férias](#page-admin.school-year). Os anos letivos não podem partilhar datas. Geralmente, um período de férias separa-os, mas é perfeitamente possível encadeá-los. Alguns estabelecimentos de formação não estão sujeitos a um ciclo académico: o ano letivo é então simplesmente o ano civil, de 1 de janeiro a 31 de dezembro. #### Férias As **férias** são intervalos de datas **inativos**: sem aulas, sem eventos, sem contabilização. Duas origens: - **Férias comuns** — provenientes do calendário oficial do país (Todos os Santos, Natal, inverno, primavera). O Omniscol pode propor-lhas consoante o país configurado, cabendo-lhe a si a escolha de importação. - **Férias específicas** — próprias do estabelecimento (dia pedagógico, exames, ponte local). Você adiciona-as manualmente. Os dois tipos acumulam-se indistintamente. Em contrapartida, as férias são globais a todo o estabelecimento. Se apenas algumas turmas estiverem em causa, utilize uma ausência de turma ou um período de indisponibilidade da turma (potencialmente reutilizável para várias turmas, por exemplo turmas que se encontram no estrangeiro). #### Semanas alternadas (A/B e mais) Algumas escolas têm cursos que só funcionam de duas em duas semanas (ou até menos): Educação Física em aula dupla, direção de turma em alternância, opções. O Omniscol trata isto por **contagem das semanas**: as semanas do ano não são etiquetadas, são contadas em contínuo. Cada curso, por sua vez, funciona no seu próprio ciclo — uma semana em cada duas (A/B), uma em cada três (A/B/C), etc. Uma mesma faixa horária acolhe então aulas diferentes consoante a posição da semana no ciclo, por exemplo uma aula nas semanas ímpares e outra nas semanas pares, no mesmo dia e à mesma hora. Como o cálculo é dinâmico, cursos em A/B e cursos em A/B/C podem coexistir numa mesma turma. A **ativação** das semanas alternadas e o **formato de apresentação** da alternância (`A/B`, `1/2`…) definem-se nos [configurações gerais](#page-admin.parameters). O ecrã do [ano letivo](#page-admin.school-year) serve depois para **forçar, na linha do tempo, os pontos onde a contagem recomeça na semana A** — por exemplo para retomar de forma limpa após as férias; para se manter legível, a linha do tempo só apresenta a alternância em A/B. Para **declarar aulas alternadas** numa faixa horária, veja [Aulas complexas](#page-core-concepts.complex-lessons). #### Vários anos em paralelo O Omniscol gere **vários anos letivos em paralelo** na mesma conta: por exemplo, o ano atual 2026-2027 e o ano seguinte 2027-2028 em preparação. A noção de **ano letivo atual** determina o que os utilizadores veem no dia a dia; os restantes permanecem acessíveis para gestão / consulta administrativa. #### Ver também - [Ano letivo](#page-glossary.school-year) - [Aulas alternadas](#page-glossary.alternate-lessons) - [Ano letivo e férias](#page-admin.school-year) - [Publicação de um horário](#page-timetables.publication) - [Aulas complexas](#page-core-concepts.complex-lessons) ### 2.16 Linha do tempo e navegação temporal *Source: `help/pt/core-concepts/timeline-navigation.md` · id: core-concepts.timeline-navigation · Updated: 2026-05-12* Todos os ecrãs do Omniscol que apresentam um horário ou estatísticas exibem uma **linha do tempo** (a «faixa») no topo da página. É através dela que você **navega no tempo**: escolher o ano letivo, o período apresentado e — em certos ecrãs — passar de uma vista semanal para uma vista mensal ou anual. Esta página explica os princípios comuns; cada módulo tem as suas especificidades, que encontra na respetiva página dedicada. #### Botões da linha do tempo A linha do tempo apresenta **setas para a esquerda / para a direita** em ambos os lados opostos: - a **seta para a esquerda** ← regressa ao **ano letivo anterior**, - a **seta para a direita** → avança para o **ano letivo seguinte** (ano letivo seguinte em preparação, por exemplo). O ano (ou o período) **atualmente apresentado** é geralmente indicado de forma clara acima da linha do tempo. #### O esquecimento clássico: a seta para a direita > O módulo **Gestão de horários letivos** apresenta **por predefinição o ano letivo > em curso**. Quando um planeador prepara o início do ano seguinte, > tem de **clicar explicitamente na seta para a direita** da > linha do tempo para passar ao ano letivo seguinte antes de > poder distribuir / publicar o seu horário nele. Também é possível > navegar de um ano para outro, neste ecrã específico, clicando > no ano letivo. O ano em curso aparece a verde, o seguinte a laranja. #### Vistas temporais consoante o módulo Nem todos os módulos apresentam as mesmas granularidades: | Módulo | Vista predefinida | Outras vistas | | --- | --- | --- | | **Horário** | Semana | Dia, mês | | **Painel** | Semana | Mês, ano, intervalo livre de data a data | | **Gestão de ausências** | Semana | Mês, ano, intervalo livre de data a data | | **Gestão de pessoal** | Semana | Dia | | **Gestão de horários letivos** | Ano letivo completo | | | **Edição de um horário de calendário** | Semana | Mês | | **Disponibilidades horárias por calendário** | Semana | Mês, ano letivo, semana-tipo | Os **botões de mudança de vista** situam-se ao lado da linha do tempo, em geral acima e à esquerda. As vistas `ano` e `intervalo livre de data a data` estão sobretudo presentes no **painel**, onde servem para as estatísticas entre períodos. #### Ano letivo apresentado por predefinição O **ano letivo em curso** (configurado em [Administração](#page-admin.school-year)) é **apresentado por predefinição** em todos os módulos para todos os utilizadores. - Os professor e aluno em consulta do horário veem **apenas o ano em curso**. Não têm acesso aos anos anteriores ou preparatórios do lado do portal. É intencional: para eles, o horário é o de hoje. - As **ausências** só podem ser declaradas **no ano letivo em curso**. Você não pode declarar retroativamente uma ausência num ano passado, nem antecipar sobre o ano seguinte. - Os **administradores**, por sua vez, podem **navegar** entre anos através da linha do tempo — daí o interesse em compreender as setas. O ano letivo em curso é também o que é considerado para as exportações e a sincronização com os programas externos. #### Quando se muda o ano letivo em curso Sequência típica: 1. **Ano N em curso**. Você trabalha em paralelo no ano N+1 em [Gestão de horários letivos](#page-timetables.overview), através da seta para a direita. Todos os utilizadores continuam a ver o ano N nos seus portais e nas suas ausências. 2. **Preparação final** do início do ano N+1: o horário N+1 é publicado nas semanas correspondentes (mas o ano em curso permanece N). 3. **Mesmo antes do início do ano letivo**, quando você está pronto para que todos passem para N+1: alteração do ano letivo em curso em [Administração → Ano letivo](#page-admin.school-year). 4. **Efeito imediato**: todos os utilizadores passam a ver N+1 por predefinição. Os professor e aluno acedem ao seu novo horário. As ausências passam a ser declaradas em N+1. O momento exato da mudança depende do seu estabelecimento — frequentemente **na véspera do início do ano**, quando tudo está validado, por vezes **na manhã do início do ano** para deixar uma margem de controlo. Sem pressa: você mantém o acesso em consulta ao ano passado como histórico. #### Ano letivo ≠ ano civil Um **ano letivo** no Omniscol não está necessariamente alinhado com setembro → agosto. Casos particulares frequentes: - **Organismos de formação contínua** — frequentemente alinhados com o **ano civil** (1 de janeiro → 31 de dezembro). Defina o seu ano letivo com estas datas em [Administração → Ano letivo](#page-admin.school-year); tudo funciona da mesma forma. - **Universidades** com semestres desfasados ou ciclos longos (módulos intensivos ao longo de 18 meses) — você pode definir anos letivos com uma duração não padronizada. #### Ver também - [Ano letivo](#page-core-concepts.school-year) - [Ano letivo e férias](#page-admin.school-year) - [Publicar (ativar) um horário](#page-timetables.publication) - [Preparar o próximo ano letivo](#page-timetables.next-school-year) ### 2.17 Pesquisar e filtrar nas listas *Source: `help/pt/core-concepts/search-and-filter.md` · id: core-concepts.search-and-filter · Audience: admin/teacher/staff · Plan: standard · Updated: 2026-06-27* A mesma barra de pesquisa acompanha a maioria das listas do Omniscol (salas, professores, turmas, disciplinas, recursos, alunos…): ela combina uma pesquisa **textual** e, sempre que existe um valor numérico, uma condição **numérica**. Nas **salas**, esta condição incide sobre a **capacidade** — é o uso mais completo, detalhado aqui. Você encontra esta barra no separador Salas do Painel tal como no **seletor de sala** de uma aula, quando você atribui ou altera uma sala no horário (Atribuir uma sala de aula). #### Pesquisa textual A pesquisa textual funciona em **todas estas listas**. Nas salas, incide sobre o nome da sala, o local, o edifício, a especialização ou as tags registadas no Omniscol; nas outras listas, sobre os campos exibidos (nome, código, etc.). Exemplos: - `nord` exibe as salas cujas informações contêm `nord`. - `laboratoire chimie` exibe as salas que correspondem aos dois termos. - `amphi, gymnase` exibe as salas correspondentes a `amphi` ou a `gymnase`. #### Filtro de capacidade (salas) Nas listas de salas, os comparadores numéricos filtram pela capacidade da sala: - `>50`: capacidade estritamente superior a 50; - `>=50`: capacidade de pelo menos 50; - `<25`: capacidade estritamente inferior a 25; - `<=100`: capacidade de no máximo 100; - `=30`: capacidade exatamente igual a 30; - `50-100`: capacidade entre 50 e 100; - `50-`: capacidade igual ou superior a 50; - `-25`: capacidade igual ou inferior a 25. #### Combinações úteis Os espaços adicionam critérios a respeitar em conjunto. As vírgulas separam alternativas. - `>50 site nord`: salas com mais de 50 lugares associadas ao local nord. - `<=30 laboratoire`: salas pequenas do tipo laboratório. - `amphi, >100`: salas que contêm `amphi` ou salas com mais de 100 lugares. - `bâtiment A informatique`: salas associadas ao edifício A e à informática. #### Por que registar bem as salas Os filtros tornam-se mais precisos quando os locais, edifícios, especializações e tags são mantidos atualizados. Estas informações melhoram as pesquisas no horário, as estatísticas de salas e as análises de ocupação dos edifícios. #### Ver também - [Estatísticas de salas](#page-dashboard.classrooms) - [Utilizar as tabelas e os gráficos](#page-dashboard.tools-and-filters) - [Campus, salas e recursos](#page-timetables.sites-rooms) ### 2.18 Colaboração entre administradores *Source: `help/pt/core-concepts/collaboration.md` · id: core-concepts.collaboration · Audience: admin · Feature: collab · Updated: 2026-06-13* > **Premium** A opção **Colaboração em tempo real** permite que vários administradores trabalhem simultaneamente na mesma conta Omniscol: cada um vê a presença dos outros ao vivo, e o servidor mescla as ações concorrentes. #### A presença em tempo real No topo da tela, um indicador em forma de **disco com iniciais** aparece para cada outro administrador conectado à conta ao mesmo tempo que você (o seu é azul-claro, e os discos se sobrepõem quando são muitos). Passe o cursor sobre eles: uma dica de contexto mostra o nome de cada pessoa e **a tela que ela tem aberta no momento**. Um indicador fica **vermelho** quando outro administrador abre a **mesma tela de edição** que você — construção de um horário (campus, turmas, grupos, distribuição de horas), reorganização, gestão de pessoal, usuários, disciplinas ou configurações. É o sinal de um **risco de modificação simultânea**. Nada o bloqueia por isso: o servidor **mescla as ações concorrentes** o máximo possível, para que cada um conserve suas modificações sem sobrescrita silenciosa. No entanto, modificar exatamente o mesmo campo de um usuário ou de uma aula, ou ainda importar dados em massa, leva inevitavelmente a um conflito: a última modificação prevalece. O indicador vermelho é um convite a se coordenar para não trabalhar de maneira concorrente no mesmo lugar, sobre os mesmos dados, ao mesmo tempo. #### Quando usar - **Escola grande com vários gestores** — cada um cuida de um departamento, de uma turma de entrada ou de um campus, mas todos trabalham no Omniscol ao mesmo tempo. - **Períodos intensos** — construção do início do ano letivo, transição de uma sessão de exames, tratamento de uma onda de ausências. - **Coordenação em reunião** — a equipe se reúne em torno de uma decisão e vários participantes fazem modificações em seus computadores: os discos de presença permitem distribuir as áreas. #### Limite de sincronização Os discos de presença são retransmitidos em tempo real. Em contrapartida, a visão de trabalho aberta por outro usuário não é necessariamente atualizada automaticamente após o seu salvamento. Se um colega acaba de modificar um dado que você está consultando, recarregue a visão ou reabra o objeto antes de tomar uma decisão sobre ele. #### Boas práticas - **Definir os perímetros**: quem cuida do quê. O perímetro pode ser informal (por e-mail), ou concretizado por meio dos [papéis personalizados](#page-admin.customroles). - **Comunicar fora do aplicativo** — mantenha um canal de coordenação separado para as decisões operacionais; os indicadores de presença não substituem uma instrução de trabalho. - **Evitar editar a mesma estrutura ao mesmo tempo**: se vocês forem dois a mexer na lista de alunos de uma turma no mesmo momento, o risco de conflito aumenta. Divida as subtarefas por perímetro. #### Procedimento — Coordenar um início de ano letivo com três administradores 1. **Nas escolas grandes**, a construção do início do ano letivo mobiliza vários administradores em paralelo. A opção **Colaboração em tempo real** acrescenta a presença em tempo real e a fusão das ações concorrentes. 2. **Defina os perímetros** com antecedência (em reunião ou por e-mail): quem gere qual departamento / turma de entrada / campus. Você pode complementar essa organização com os [papéis personalizados](#page-admin.customroles), que limitam os módulos e as operações acessíveis a cada conta; a distribuição por departamento ou por campus continua sendo uma convenção de equipe. 3. **Todos se conectam** à conta Omniscol. No topo da tela, **os indicadores com as iniciais** dos outros administradores conectados aparecem em tempo real. Ao passar o cursor, o nome e a tela atual de cada um. 4. **Sinal de conflito**: um indicador fica **vermelho** quando dois administradores abrem a mesma tela de edição (as mesmas turmas, a mesma reorganização…). É o sinal de um risco de modificação simultânea, visível por todos os administradores envolvidos. 5. **O servidor mescla** as ações concorrentes: nada o bloqueia durante a edição e cada um conserva suas modificações, o máximo possível. O indicador vermelho o convida a se coordenar antes de mexer no mesmo lugar. 6. **Boas práticas**: mantenha um canal de coordenação separado e divida as subtarefas por perímetro (um administrador por departamento). Evitem, em dois, editar a mesma estrutura (lista de alunos de uma turma, por exemplo) no mesmo momento. Após uma modificação feita por um colega, recarregue a visão em questão antes de considerar os dados exibidos como atualizados. #### Ver também - [Planos e opções do Omniscol](#page-overview.plans-and-options) - [Usuários e papéis](#page-admin.users-and-roles) - [Papéis personalizados](#page-admin.customroles) --- ## 3. Criação de um horário (módulo Gestão de horários letivos) ### 3.1 Vista geral do módulo Gestão de horários letivos *Source: `help/pt/timetables/overview.md` · id: timetables.overview · Audience: admin · Updated: 2026-06-13* O módulo **Gestão de horários letivos** é o coração do Omniscol: é aqui que se criam os horários, se configuram, se geram e se publicam. Para um horário do tipo recorrente (semanal/cíclico), é utilizado **ocasionalmente** (normalmente antes do início do ano, no momento de criar um trimestre ou semestre diferente, e aquando de alterações estruturais), não diariamente (para isso, existe o módulo [Horário](#page-schedules.consult-and-filter)). Para um horário do tipo calendário, no ensino superior, é, pelo contrário, o ecrã principal de trabalho de toda a equipa de planeamento, no quotidiano. #### Fluxo de planeamento Construir um horário não é uma linha reta: após a criação e a configuração, o núcleo é um **ciclo** — colocar algumas aulas, gerar, analisar, ajustar, repetir — antes de uma sequência linear que arranca na **publicação** (o início do ano). ```mermaid flowchart LR A["Criação"] --> B["Configuração
campus, salas, professores,
turmas, grupos, aulas"] B --> M["Colocação manual
âncoras, bloqueios"] M --> G["Geração
automática/manual,
parcial ou completa"] G --> J["Análise,
ajustes específicos"] J -->|repetir| G J --> P["Publicação
= início do ano letivo"] P --> E["Utilização corrente"] E --> Mod["Alterações
ao longo do ano"] Mod -.->|exceção| J ``` Você regressa atrás a qualquer momento, guarda pelo caminho, duplica um horário para criar uma variante. O núcleo do ciclo está detalhado em [Geração automática](#page-timetables.generation) e [Posicionamento manual](#page-timetables.manual-placement); após o início do ano, os retoques passam por [Alterações pontuais](#page-schedules.ad-hoc-changes). #### Vários horários em paralelo Você pode ter vários horários na sua conta: - **rascunhos** não publicados (para preparar o início do ano enquanto o ano em curso funciona), - horários para **períodos** diferentes (S1, S2…), - em Premium, horários **simultaneamente ativos** nas mesmas semanas (por exemplo, um horário semanal de manhã + um horário calendário à tarde) — ver [Vários horários ativos em paralelo](#page-timetables.multiple-active-timetables). Esta possibilidade pode também ser aberta contratualmente em certas contas Standard. #### Etapas detalhadas Cada uma é objeto de uma página dedicada: O **pré-requisito**: [Pré-requisitos para criar um horário](#page-timetables.prerequisites). Em seguida, oito etapas: 1. [Configurações gerais](#page-timetables.general-settings) 2. [Sites, grades horárias, salas, recursos](#page-timetables.sites-rooms) 3. [Atribuir os professores](#page-timetables.assigning-teachers) 4. [Criar as turmas e os seus grupos](#page-timetables.creating-classes) 5. [Alinhamentos e grupos de grupos](#page-timetables.alignments-and-groups-of-groups) 6. [Distribuir as horas e criar as aulas](#page-timetables.hour-distribution) 7. [Geração automática](#page-timetables.generation) 8. [Publicar (ativar) um horário](#page-timetables.publication) A qualquer momento, você pode: - **Visualizar** um horário (modo apenas de leitura), para verificação. - **Reorganizar** um horário (modo de edição rápida), para ajustar as posições das aulas. - **Duplicar** um horário (criar um rascunho a partir de um horário existente). - **Importar** ou **exportar** a configuração das aulas numa folha de cálculo (cf. [Importação em massa](#page-timetables.mass-import)). #### Começar rapidamente Se este é o seu primeiro horário: 1. Verifique primeiro que a sua [conta está configurada](#page-getting-started.setup-school) (definições, ano letivo, disciplinas, utilizadores). 2. Clique em Criar um horário no canto superior direito. 3. Escolha o [modo de horário](#page-overview.timetable-modes) (semanal, cíclico, calendário). 4. Siga as etapas pela ordem. Se já tem dados numa folha de cálculo (Excel, Google Sheets, exportação de outro programa), passe diretamente pela [importação em massa](#page-timetables.mass-import): o Omniscol cria a estrutura por si e você finaliza em seguida. #### Ver também - [Escolher o tipo de horário certo](#page-overview.timetable-modes) - [Preparar seus dados para uma importação em massa](#page-getting-started.preparing-data) - [Casos de uso no ensino superior](#page-faq.higher-ed-cases) - [Casos particulares e configurações avançadas](#page-faq.edge-cases) ### 3.2 Pré-requisitos para criar um horário *Source: `help/pt/timetables/prerequisites.md` · id: timetables.prerequisites · Audience: admin · Updated: 2026-05-10* Antes de criar um horário, três elementos têm de existir ao nível da escola: #### 1. Pelo menos um ano letivo Sem ano letivo, não há linha do tempo e, por conseguinte, nenhuma publicação possível. Criação em Anos escolares. Ver [Ano letivo e férias](#page-admin.school-year). #### 2. As disciplinas utilizadas O Omniscol pré-preenche a base de disciplinas comuns para o seu país. Para as disciplinas específicas, crie as **disciplinas personalizadas** em Criar. ⚠ Cuide da ortografia: o Omniscol faz uma cópia interna no momento da atribuição a um horário, e uma correção não se propaga para os horários já publicados no presente ou no passado. Ver [Gerir as disciplinas](#page-admin.subjects). #### 3. Os professores Crie todos os professores em Administração > Professores (um a um ou em massa através de [importação](#page-getting-started.preparing-data)). Preencha pelo menos o nome próprio, o apelido e o e-mail. As disciplinas lecionadas e o serviço horário são opcionais mas úteis. Ver [Gerir os professores](#page-admin.teachers). #### Opcional mas útil - **Alunos** — não necessários para a criação do horário, mas úteis para os horários individuais após a publicação. - **Tipos de aula** (aula prática, laboratório, aula teórica…) — se a sua nomenclatura pedagógica os utiliza, crie-os em Criar. - **Níveis** — verifique que Administração > Configurações contém os níveis de turma que irá utilizar. #### Pode começar mesmo sem tudo O Omniscol é **flexível**. Se não tem todos os professores ou todas as disciplinas no momento de criar o horário, pode começar e completar pelo caminho. É menos linear, mas funciona. No entanto, o **ano letivo**, esse sim, é realmente indispensável antes da publicação. #### Começar Uma vez estes pré-requisitos (pelo menos parcialmente) reunidos: 1. Vá ao módulo Gestão de horários letivos. 2. Clique em Criar um horário. 3. Escolha o [modo de horário](#page-overview.timetable-modes). 4. Chega à página das [configurações gerais](#page-timetables.general-settings). 5. Atribua-lhe um rótulo (ex. «Horário 2025-2026», «S1 2025») e uma descrição. #### Procedimento — Verificar os pré-requisitos antes de criar um horário 1. **Três elementos têm de existir ao nível da escola** antes de um horário poder ser criado: um ano letivo, as disciplinas, os professores. 2. **Ano letivo**: abra Anos escolares. Verifique que pelo menos um ano está definido, com as suas datas de início e fim e as férias. Sem ano, não há linha do tempo, nem publicação. Ver [Ano letivo e férias](#page-admin.school-year). 3. **Disciplinas**: o Omniscol pré-preenche a base para o seu país. Se o seu estabelecimento tem disciplinas específicas (`Economia doméstica`, `Robótica`, `Mandarim avançado`), crie-as através de Criar. ⚠ Cuide da ortografia: o Omniscol copia o nome para cada horário, e uma correção após a criação não se propagará para as publicações do passado e do presente. 4. **Professores**: abra Professores. Para cada professor, no mínimo o nome próprio, o apelido e o e-mail. Disciplinas lecionadas e serviço horário são opcionais mas úteis. Para muitos professores: importação em massa (cf. [Preparar os dados](#page-getting-started.preparing-data)). 5. **Opcional mas útil**: tipos de aula (aula prática, laboratório, aula teórica…) através de Criar se a sua nomenclatura os utiliza. Níveis de turma a verificar nas configurações gerais (Criar). 6. **Você está pronto**: módulo **Gestão de horários letivos**, botão Criar um horário. Escolha o modo ([modos de horário](#page-overview.timetable-modes)), atribua um rótulo (`Horário 2026-2027`, `S1 2026`) e uma descrição. Etapa seguinte: [configurações gerais](#page-timetables.general-settings). #### Ver também - [Configurar a conta da escola](#page-getting-started.setup-school) - [Etapa seguinte — Configurações gerais](#page-timetables.general-settings) ### 3.3 Modo calendário — opções avançadas *Source: `help/pt/timetables/calendar-mode.md` · id: timetables.calendar-mode · Audience: admin · Plan: premium · Updated: 2026-06-13* > **Premium** > _Premium_ O **modo calendário** é um dos três tipos de horário suportados pelo Omniscol, ao lado do modo semanal e do modo cíclico. Ele é usado quando o horário não segue uma recorrência regular: cada aula tem uma data precisa, sem esquema semanal repetitivo. A criação de um horário calendário está incluída na oferta Premium, no mesmo nível que as [disponibilidades em modo calendário](#page-timetables.calendar-wishes) e a publicação de [vários horários ativos em paralelo](#page-timetables.multiple-active-timetables): em uma conta Premium, essas funções estão disponíveis sem ativação específica. #### O que o modo calendário permite especificamente - criar um horário cujas aulas são datadas individualmente; - definir um intervalo de datas de início e de fim; - usar restrições de datas quando elas estão configuradas; - gerar apenas uma janela-alvo mais curta que o intervalo total do horário; - pedir à geração automática que compacte as aulas no início do período, no fim do período ou sem preferência de posição; - exibir, publicar e consultar as aulas como os outros horários mas em um intervalo de datas; - usar o modo fora-de-grade em turmas calendário, com horas de início e de fim explícitas em cada aula. #### Funções complementares Outras funções, descritas nas suas páginas dedicadas, complementam naturalmente um horário calendário: - [Vários horários ativos em paralelo](#page-timetables.multiple-active-timetables) para publicar vários horários em um mesmo período; - [Disponibilidades em modo calendário](#page-timetables.calendar-wishes) para coletar disponibilidades datadas; - [Grupos de grupos](#page-core-concepts.groups-of-groups) para trabalhar com grupos transversais. #### Quando preferir o calendário ao semanal - **Formações não recorrentes**: módulos intensivos, seminários, conferências com datas variáveis. - **Formação contínua**: sessões que não seguem um ano acadêmico regular. - **Colaboradores externos**: cada colaborador tem um calendário próprio, não uma carga semanal fixa. - **Aulas de fim de curso**: projetos, defesas, bancas. Veja [Modo calendário](#page-higher-ed.calendar-mode) para os casos típicos do ensino superior. #### Procedimento — Criar um horário calendário 1. **Crie um novo horário** em Gestão de horários letivos. Na tela de seleção do tipo, escolha **modo calendário**. Indique as datas de início e de fim, depois confirme. 2. **Configure o calendário**: rótulo, descrição, dias úteis e estrutura horária. Você também pode declarar **[janelas de datas](#page-timetables.date-windows)** reutilizáveis, aplicadas às restrições horárias das salas, turmas, disciplinas e grupos. 3. **Insira as aulas** em datas precisas: data, horários, grupo ou turma, professor(es) e sala(s). Se uma turma estiver em fora-de-grade, informe horas de início e de fim explícitas. 4. **Inicie a geração** se você usar a geração automática neste horário. As restrições disponíveis dependem dos dados informados: professores, salas, datas, disponibilidades e restrições de calendário. Para um teste ou uma construção progressiva, use as opções avançadas para limitar a janela de datas gerada; ative o compactamento se você não quiser que o algoritmo espalhe as aulas por todo o período disponível. 5. **Publique e combine**: você pode publicar este calendário em paralelo a um horário semanal regular. As pessoas envolvidas veem as aulas fundidas na consulta. Veja [Vários horários ativos em paralelo](#page-timetables.multiple-active-timetables). #### Ver também - [Modo calendário](#page-glossary.calendar-mode) - [Escolher o tipo de horário certo](#page-overview.timetable-modes) - [Disponibilidades em modo calendário](#page-timetables.calendar-wishes) - [Janelas de datas](#page-timetables.date-windows) - [Vários horários ativos em paralelo](#page-timetables.multiple-active-timetables) - [Modo calendário para formações não recorrentes](#page-higher-ed.calendar-mode){append=(ensino superior)} ### 3.4 Disponibilidades e restrições no modo calendário *Source: `help/pt/timetables/calendar-wishes.md` · id: timetables.calendar-wishes · Audience: admin/teacher · Plan: premium · Updated: 2026-06-20* > **Premium** > _Premium_ No **modo calendário**, o planeamento é feito em **datas específicas** em vez de numa semana-tipo recorrente. Isso muda a forma como se expressam as **restrições horárias**, em dois planos distintos: - as **restrições internas** das salas de aula, turmas, disciplinas e grupos; - as **disponibilidades dos professores**. No calendário, falamos de **disponibilidades**: o termo *preferências* permanece reservado à introdução de dados por um professor numa semana-tipo, a montante do planeamento, e sujeita à validação do planificador. #### Restrições horárias das salas de aula, turmas, disciplinas e grupos Assim que um horário é do tipo calendário, as restrições horárias **internas** dessas entidades passam a ser expressas automaticamente **por data**, e já não numa semana-tipo. Você pode ainda indicar uma **recorrência na semana-tipo** quando uma restrição se repete de forma idêntica de uma semana para a outra. Para períodos reutilizáveis — sessões de exames, férias próprias de certas turmas, faixas horárias autorizadas — aplique uma [janela de datas](#page-timetables.date-windows) como camada sobre essas restrições. #### Disponibilidades dos professores Numa semana-tipo, um professor declara uma regra constante — *«não estou disponível às quartas-feiras à tarde»*. No calendário, a disponibilidade declara-se **data a data**, o que capta situações mais precisas: - *«estou indisponível apenas na manhã de quarta-feira, 12 de março»*, - *«só posso dar uma aula entre 20 e 30 de janeiro»*, - *«estou disponível 3 meios-dias por semana, a escolher consoante as semanas»*. É o modo a privilegiar quando as disponibilidades variam consoante as semanas — típico do ensino superior, dos professores contratados e da formação contínua. ##### Definir o modo de introdução Do lado dos professores, defina o parâmetro Disponibilidades dos professores (parâmetros gerais da escola) como **calendário** ou **calendário + semanal** para acompanhar um planeamento em datas específicas. O modo combinado permite ainda ao professor indicar simplesmente que **nunca está disponível num determinado dia da semana**, seja qual for a data (exceções pontuais continuam possíveis) — o equivalente, do lado dos professores, à recorrência na semana-tipo das restrições internas. ##### Níveis de disponibilidade O ecrã de introdução utiliza uma **vista de calendário**. O planificador ou o professor clica nas datas em causa e qualifica a faixa horária: - **Indisponível**: indisponibilidade bloqueante — a geração automática não colocará aí nenhuma aula; - **Indesejado**: restrição forte, a evitar tanto quanto possível; - **Preferencial**: preferência positiva; - **Apagar**: apaga as disponibilidades já definidas na zona coberta. A introdução pode ser feita ao dia, ao meio-dia ou à faixa horária, consoante a granularidade configurada para a escola. ##### Para quem - **Professores contratados e intervenientes externos** — não têm um serviço semanal fixo. Ver [Intervenientes externos (professores contratados, visitantes)](#page-higher-ed.external-faculty). - **Professores com meio-horário terapêutico ou adaptação específica** — semanas variáveis. - **Aulas em formação contínua** — cada sessão é pontual. - **Professores em ano de mobilidade parcial** — disponíveis apenas em certas semanas. #### Procedimento — Recolher as disponibilidades de um professor contratado no calendário 1. **Para um professor contratado que não tem um serviço semanal fixo** (um interveniente externo, por exemplo), a introdução numa semana-tipo não basta. O modo **calendário** capta as disponibilidades data a data. 2. **Ative o modo adequado**: defina o parâmetro Disponibilidades dos professores (parâmetros gerais da escola) como **calendário** ou **calendário + semanal**, consoante a necessidade da conta. 3. **Abra a introdução** ao professor contratado. Ou ele inicia sessão com a sua conta de professor, ou você gera uma **ligação de partilha direta** para o seu ecrã de disponibilidades (cf. [Disponibilidades dos professores](#page-core-concepts.wishes-and-availability)). A ligação direta evita criar uma conta dedicada quando este fluxo é utilizado. Qualquer administrador pode também introduzir as disponibilidades por si próprio. 4. **Do lado do professor contratado**: ele vê um **calendário anual** em vez de uma grelha semanal. Ele clica nas datas (ou meios-dias, ou faixas horárias consoante a granularidade da escola) e qualifica a zona com os níveis de disponibilidade propostos. 5. **Verifique a consolidação** do lado da administração. As disponibilidades registadas são relidas pelos ecrãs de horário e pelos diagnósticos que consultam as restrições. 6. **Lance a geração automática** nas aulas do professor contratado: o algoritmo de geração combina as prioridades de disponibilidade com as outras restrições da aula. Casos de uso cobertos: professores contratados, meio-horário terapêutico, formação contínua, professores em mobilidade parcial. #### Ver também - [Disponibilidades dos professores](#page-core-concepts.wishes-and-availability) - [Modo calendário](#page-timetables.calendar-mode) - [Janelas de datas](#page-timetables.date-windows) - [Escolher o tipo de horário certo](#page-overview.timetable-modes) ### 3.5 Janelas de datas *Source: `help/pt/timetables/date-windows.md` · id: timetables.date-windows · Audience: admin · Plan: premium · Updated: 2026-06-20* > **Premium** > _Premium_ Uma **janela de datas** é um período de **inclusão** ou de **exclusão** de datas, **reutilizável**, que restringe os períodos durante os quais certas aulas podem ser planeadas. Você a define uma vez e, em seguida, aplica-a como uma **camada** sobre as restrições horárias de várias entidades — turmas, grupos, disciplinas ou salas de aula. Esta funcionalidade só diz respeito aos **horários de tipo calendário**. #### Dois tipos: autorização ou exclusão - **Aulas autorizadas** — as aulas **só** podem ser planeadas durante essas datas. - **Aulas excluídas** — as aulas **não** podem ser planeadas durante essas datas. #### Como se combinam Várias janelas podem aplicar-se a uma mesma entidade: - as janelas autorizadas somam-se entre si; - as janelas excluídas somam-se entre si; - em caso de sobreposição, **uma exclusão prevalece sobre uma autorização**. #### Casos de uso típicos - **Turmas com o mesmo ritmo de alternância** — várias turmas só frequentam certos cursos em semanas precisas (ou apenas no início ou no fim de semanas). Uma janela *autorizada* que descreva essas semanas, aplicada a todas essas turmas, evita reintroduzir o ritmo turma a turma. - **Períodos de exames** — uma janela *excluída* que cubra a época de exames bloqueia temporariamente as salas de aula em causa, ou as turmas, para que nenhuma aula ordinária aí seja planeada. - **Férias próprias de certas turmas** — num campus no estrangeiro, um conjunto de turmas segue um calendário de férias diferente do resto do estabelecimento. Uma janela *excluída* sobre essas datas, aplicada apenas a essas turmas, neutraliza o período sem afetar as outras. #### Definir uma janela de datas No ecrã de edição de um horário calendário, na secção Janelas de datas: 1. Adicionar abre o seletor de datas. 2. Dê um **rótulo** e escolha o tipo — autorização ou exclusão. 3. Selecione as datas na grade do calendário: clicar e arrastar, semana inteira, coluna de um dia, atalhos de semanas pares / ímpares, ou inversão da seleção. 4. Guarde: a janela junta-se à lista reutilizável do horário. #### Aplicar uma janela Uma vez definida, a janela fica disponível nas restrições horárias das **turmas, grupos, disciplinas e salas de aula**: selecione aí uma ou várias janelas. A mesma janela pode servir para tantas entidades quantas forem necessárias — é toda a vantagem da camada reutilizável. #### Na geração O algoritmo de geração trata as janelas como restrições: só coloca uma aula nas datas autorizadas, e nunca nas datas excluídas. #### Ver também - [Modo calendário](#page-timetables.calendar-mode) - [Disponibilidades no modo calendário](#page-timetables.calendar-wishes) - [Disponibilidades dos professores](#page-core-concepts.wishes-and-availability) - [Geração automática](#page-timetables.generation) - [Posicionamento manual](#page-timetables.manual-placement) ### 3.6 Etapa 1 — Configurações gerais *Source: `help/pt/timetables/general-settings.md` · id: timetables.general-settings · Audience: admin · Updated: 2026-05-18* Na aba **Geral**, você define os parâmetros globais que estruturam o horário. Os valores pré-preenchidos vêm dos [parâmetros da escola](#page-admin.parameters), que você também pode ajustar de antemão. #### Campos a preencher 1. **Rótulo** — nome do horário («Horário 2025-2026», «S1 2025»…). Visível em toda parte. Editável. 2. **Descrição** — texto livre, útil quando você tem vários horários. 3. **Modo de exibição** — por padrão, uma linha por faixa horária com os horários à esquerda. Você pode escolher um estilo anglo-saxão com períodos numerados, ou uma exibição em calendário com horas cheias. 4. **Duração unitária da aula** — duração de referência de uma faixa horária, eventualmente incluindo o intervalo entre aulas. Se as suas aulas duram 55 min com 5 min de intervalo, insira **60 min**. Se as suas aulas regulares duram 1h30, insira **90 min**. 5. **Divisão unitária** — em quantas subpartes a duração unitária pode ser dividida? Para poder criar aulas de 1h, 1h30 ou 2h com uma duração unitária de 60 min, escolha **1/2**. Para descer ao quarto de hora, escolha **1/4**. - **Dica**: não desça mais fino do que o necessário. Quanto mais fina for a divisão, mais longo será o cálculo da geração automática. 6. **Dias úteis** — marque os dias de aula. Por padrão, de segunda a sexta-feira (salvo configuração de país diferente — países árabes, Israel…). 7. **Para horários cíclicos** — número de dias do ciclo. 8. **Para horários em calendário** — datas de início e de fim (editáveis mais tarde) e, eventualmente, janelas de datas. #### Salvar O botão Salvar na parte inferior salva a configuração. #### E depois Uma vez validados esses parâmetros, passe para a etapa seguinte: [Campus, salas, recursos](#page-timetables.sites-rooms). > **Dica.** Se você está migrando de sistema ou simplesmente deseja > testar rapidamente o Omniscol, para grandes criações em massa de aulas > (centenas de uma vez), a [Importação em massa via planilha](#page-timetables.mass-import) > é mais rápida do que a inserção tela por tela. No entanto, quanto mais > dados estruturais você inserir de antemão, melhor será a importação. #### Procedimento — Configurar os parâmetros gerais de um horário 1. **Etapa 1 da criação do horário**: definir rótulo, duração-tipo das aulas, divisão unitária, dias úteis. Essas escolhas estruturam duradouramente o horário — vale a pena defini-las bem desde o início. 2. **Rótulo e descrição**: um nome expressivo (`Horário 2026-2027`, `S1 2026 — turma M2 comércio`) e uma descrição livre. Visível em toda parte na interface. Editável, mas evite renomear em produção. 3. **Modo de exibição**: linha por faixa horária (padrão) ou períodos numerados (estilo anglo-saxão) ou calendário com horas cheias. Siga a cultura da sua instituição. 4. **Duração unitária da aula**: a duração de referência de uma faixa horária. Aulas de 55 min com 5 min de intervalo → **60 min**. Aulas regulares de 1h30 → **90 min**. Se você mantiver uma duração unitária de 60 min, a divisão unitária permite ainda assim aulas de 1h30. 5. **Divisão unitária**: em quantas subpartes a duração unitária pode se dividir? **1/2** para passos de 30 min com uma duração unitária de 60 min, **1/4** para passos de 15 min. Quanto mais fina, mais possibilidades a geração automática tem a testar. 6. **Dias úteis**: marque de segunda a sexta-feira (padrão). Países árabes, Israel: de domingo a quinta-feira. Para horários **cíclicos**: número de dias do ciclo. Para horários **em calendário**: datas de início e de fim (editáveis em seguida). 7. **Salve** via Salvar. Etapa seguinte: [Campus, salas, recursos](#page-timetables.sites-rooms). Para grandes criações em massa, veja [Importação em massa via planilha](#page-timetables.mass-import). #### Ver também - [Grade horária, faixas horárias e durações](#page-core-concepts.timetable-grid) - [Etapa anterior — Pré-requisitos](#page-timetables.prerequisites) - [Etapa seguinte — Campus](#page-timetables.sites-rooms) - [Configurações gerais da escola](#page-admin.parameters) ### 3.7 Etapa 2 — Sites, grades horárias, salas, recursos *Source: `help/pt/timetables/sites-rooms.md` · id: timetables.sites-rooms · Audience: admin · Updated: 2026-06-13* É na aba **Locais** que você modela a dimensão física da sua instituição. #### Criar os sites Se todas as suas aulas ocorrem no mesmo lugar: um site basta. Clique em Criar um local, dê-lhe um nome. Se você tiver vários sites: crie um site por local físico distinto. Informe os **tempos de deslocamento** entre os sites (matriz das durações). Isto é essencial — sem esses tempos, a geração automática pode colocar um professor das 9:00 às 10:00 no site A e às 10:05 no site B, distante 5 km, o que é fisicamente impossível. Não confunda site e campus: um [campus](#page-glossary.campus) é um agrupamento organizacional configurado nos parâmetros gerais; um site carrega a grade horária, as salas e os tempos de deslocamento. Consulte [Site](#page-glossary.site) para os casos de uso e limites (dois sites virtuais para um mesmo lugar, escolha entre vários sites e várias contas, etc.). #### Configurar a grade horária Cada site carrega a sua própria **grade horária**: - horários de início / fim das faixas horárias, - pausas, - pausa do meio-dia, - fechamentos (quarta-feira à tarde, sábado…). As aulas padrão são vinculadas às faixas horárias dessa grade. Se você alterar em seguida o horário de uma faixa horária, as aulas colocadas nela seguem a nova grade. Os horários personalizados e as turmas fora da grade são casos particulares descritos em [Grade horária, faixas horárias e durações](#page-core-concepts.timetable-grid). O Omniscol adivinha automaticamente a grade a partir das informações inseridas, mas releia-a e personalize-a — isso é importante para a exibição e para o algoritmo. As faixas horárias deveriam corresponder à duração unitária da aula informada na tela anterior. Se você indicou 60 minutos, por exemplo, para uma aula padrão, então cada faixa horária será considerada como tendo 1 hora, independentemente dos horários efetivamente informados — às vezes 50 ou 55 minutos, o que pode variar marginalmente por causa das pausas. Se o desvio entre teoria e prática for grande demais, em uma dada faixa horária, os horários poderiam passar a vermelho para avisar você de uma configuração incorreta. Não declare as pausas como faixas horárias! Toda faixa horária pode acolher aulas (a menos que se indique o período como indisponível). Um erro frequente é acreditar que os horários têm um impacto direto: não é o caso; o Omniscol coloca as aulas em faixas horárias e as exibe em seguida com os horários informados para cada faixa horária em causa. #### Inserir as salas Para cada site, crie as [salas](#page-glossary.classroom). Campos: - **Nome** (obrigatório), - **Capacidade** (obrigatória — sem esse campo, a geração automática não pode verificar o dimensionamento), - **[Especializações](#page-glossary.classroom-specialization)** (química, informática, educação física… livres), - Número máximo de turmas para uma **[sala grande](#page-glossary.large-room)** (sala de exame, teatro, ginásio, piscina, exterior). Esse campo só aparece após uma especialização ser informada, - **Um ou vários campus** se a sala deve ser privilegiada para um polo, uma faculdade ou uma escola na atribuição automática, e para certos filtros, - **Edifício** (opcional), - **Restrições horárias** (útil para as salas compartilhadas com outra instituição, ou as quadras esportivas externas), - **Tags / comentário** (flip chart, tomadas, computadores… livres). A associação de uma sala a um ou vários campus permanece uma **preferência de distribuição**. Se nenhuma sala do campus for compatível ou estiver disponível, o Omniscol pode atribuir outra. Você pode criar as salas **em massa** por copiar e colar a partir de uma planilha. > _Premium_ ##### Várias salas O Omniscol permite atribuir várias salas a uma mesma aula, com capacidade total = soma das salas. Consulte [Várias salas](#page-glossary.multi-room) para os casos de uso típicos (exames em anfiteatros desdobrados, aulas magistrais retransmitidas, laboratórios desdobrados, etc.). ##### Especializações As **especializações** (campo livre) servem para indicar que uma disciplina requer um tipo de sala particular. A geração automática respeita estritamente. ##### Sala grande Uma sala especializada pode se tornar uma **[sala grande](#page-glossary.large-room)**: informe o seu Número máximo de turmas para que ela acolha várias aulas diferentes ao mesmo tempo (professores e grupos distintos), no limite desse número e da sua capacidade. É o caso das salas de exame, teatros, ginásios, piscinas ou espaços externos. O campo só aparece após ter dado uma especialização à sala. #### Inserir os recursos Os [recursos](#page-glossary.resource) são os equipamentos móveis não vinculados a uma sala particular (projetores portáteis, maletas de tablets, kits…). Para cada recurso: - **Nome**, - **Quantidade disponível**. Uma maleta de 30 tablets conta como 1 (não 30) — você insere o número de maletas. Não é preciso modelar os recursos dos quais você tem «sempre o suficiente» — faça-o apenas para os verdadeiros limites compartilhados. > _Premium_ Os **sites**, **salas** e **recursos** podem ser sincronizados a partir de um sistema externo — cada lista oferece então o seu botão de sincronização (Sincronizar, Sincronizar, Sincronizar). Consulte [Sincronização com sistemas externos](#page-integrations.extsync). #### E em seguida Etapa seguinte: [Atribuir os professores](#page-timetables.assigning-teachers). #### Procedimento — Criar um site e a sua grade horária 1. **Um site** modela um local físico distinto, com a sua própria grade horária (faixas horárias, pausas, almoço). Ao menos um site é obrigatório. Este procedimento descreve a criação de um site e as suas dependências mínimas (salas, recursos). 2. **Clique em Criar um local** e dê-lhe um nome (`Bâtiment principal`, `Antenne Paris`…). Se você começa com um único site, um só site basta. Para vários sites, acrescente tantos quantos forem os locais físicos a distinguir. 3. **Configure a grade horária**: horários de início / fim das faixas horárias, pausas entre aulas, pausa do meio-dia, fechamentos (quarta-feira à tarde, sábado…). 4. **Insira as salas**: nome, capacidade (campo crítico para a geração automática), especializações (química, informática, educação física…), horários de abertura, campus se sua organização os utiliza. O campus em uma sala serve para privilegiá-la para certas turmas, sem bloquear as demais salas compatíveis. Uma sala pertence a um único site — para uma sala utilizada por vários sites virtuais, consulte [Sites, salas, recursos — conceitos](#page-core-concepts.sites-rooms-resources). 5. **Insira os recursos** (equipamentos móveis): nome + quantidade disponível. Modele apenas os recursos com verdadeiro limite compartilhado (projetores móveis, maleta de tablets, kit de microfones), não aqueles dos quais você tem «sempre o suficiente». 6. **Se você tiver vários sites, informe os tempos de deslocamento** por meio da popup distâncias (meia-matriz triangular). Sem esses tempos, a geração automática teletransporta — consulte [Vários sites: política e tempos de deslocamento](#page-core-concepts.sites-rooms-resources) para as nuances. #### Ver também - [Sites, salas, recursos — conceitos](#page-core-concepts.sites-rooms-resources) - [Campus](#page-glossary.campus) - [Grade horária, faixas horárias e durações](#page-core-concepts.timetable-grid) - [Várias salas](#page-glossary.multi-room) - [Especialização de sala](#page-glossary.classroom-specialization) ### 3.8 Etapa 3 — Atribuir os professores *Source: `help/pt/timetables/assigning-teachers.md` · id: timetables.assigning-teachers · Audience: admin · Updated: 2026-06-13* Na aba **Professores**, você indica quais professores estão **mobilizados** neste horário — por oposição aos que estão simplesmente declarados no nível da escola. #### Atribuir Clique em Atribuir professores. A lista dos professores disponíveis é exibida. Selecione os envolvidos. Você pode **atribuir por etapas**: começar com os professores definitivamente contratados, depois adicionar os novos à medida das contratações. > _Premium_ Os professores podem ser sincronizados a partir de um sistema externo: Sincronizar abre a reconciliação. Veja [Sincronização com sistemas externos](#page-integrations.extsync). #### Professores virtuais O botão Virtual cria um **professor virtual** para representar provisoriamente um cargo a preencher. Prático para preparar o início do ano letivo sem esperar que as contratações estejam finalizadas. Um ícone [ghost] aparece ao lado do nome. Quando a contratação é finalizada, o botão Transformar no fim da linha «concretiza» o professor virtual: escolha o professor real na lista, e todas as suas referências passam para ele — as atribuições às disciplinas nas turmas assim como todas as aulas. O professor virtual desaparece então definitivamente. **A ação é irreversível.** #### Substituição definitiva de um professor O mesmo botão Transformar aplica-se também a um professor **real**: ele transfere a totalidade das suas aulas para outro professor da lista — já atribuído a este horário ou simplesmente declarado no nível da escola — depois retira o professor de origem do horário. É o gesto da **substituição definitiva**, útil quando um professor previsto falta, é transferido ou tem de abandonar as suas aulas: todas as aulas e atribuições passam para o substituto em uma única operação. **A ação é irreversível.** #### Disponibilidades Se você tiver ativado a entrada das disponibilidades pelo parâmetro Disponibilidades dos professores (cf. [Disponibilidades dos professores](#page-core-concepts.wishes-and-availability)), é aqui que você **verifica e valida** as disponibilidades informadas pelos professores. Você também pode: - modificar a **carga horária** (número de horas semanais previstas, retomada nos novos horários), - atribuir uma **sala preferida** (usada como prioridade pela geração automática para as aulas do professor, exceto se a turma tiver a sua própria sala dedicada). #### Distinção escola / horário Importante: a ficha do professor **no nível da escola** carrega as informações identificadoras (nome, e-mail, login) e permanece estável. A ficha do professor **no nível do horário** carrega as informações *ligadas a este horário* (disponibilidades, sala preferida, carga horária). Consequência: se você corrigir o nome de um professor em Professores após a criação de um horário, o horário mantém o nome histórico. É uma escolha deliberada para a rastreabilidade, mas pressupõe que o nome esteja corretamente escrito no momento da criação do horário. #### Colaboradores externos (professores externos) Para os colaboradores externos, veja o [glossário](#page-glossary.external-teacher). Eles são criados como professores comuns. > _Premium_ O marcador **Professor externo** da ficha de usuário adiciona um pequeno ícone [user-tie] que distingue os professores externos dos permanentes em certas telas. Para os professores visitantes que intervêm pontualmente (uma ou duas aulas), você pode, conforme o caso: - adicioná-los como coanimador de uma aula (cf. [Coensino](#page-glossary.co-teaching)), - criar uma aula separada para a sua intervenção (modo calendário sobretudo). #### E depois Etapa seguinte: [Criar as turmas e os seus grupos](#page-timetables.creating-classes). #### Procedimento — Atribuir os professores a um horário 1. **Etapa 3 da criação do horário**: indique quais professores estão **mobilizados** neste horário (por oposição a todos os declarados no nível da escola). 2. **Atribua os professores definitivamente contratados** por meio de Atribuir professores. A lista dos professores declarados no nível da escola é exibida. Selecione os envolvidos neste horário. Você pode **atribuir por etapas**: comece com os permanentes, adicione os novos à medida das contratações. 3. **Para todo cargo a preencher**, crie um **professor virtual** por meio de Virtual. Um ícone [ghost] o distingue. Prático para preparar o início do ano letivo sem travar nas contratações. Quando a contratação é finalizada, o botão Transformar no fim da linha passa todas as suas referências para o professor real escolhido na lista. As aulas já posicionadas são conservadas. O mesmo botão serve à **substituição definitiva** de um professor real por outro (transferência, desistência…). **Especifique as disciplinas lecionadas** pelo professor virtual neste horário: ele será proposto com prioridade para essas disciplinas nas atribuições. 4. **Disponibilidades**: para um horário semanal, você **verifica e valida** as entradas. Para qualquer tipo de horário, você pode **consultar e informar** todas as disponibilidades. Veja [Disponibilidades dos professores](#page-core-concepts.wishes-and-availability). 5. **Sala preferida** (opcional): se o professor tiver uma sala dedicada, atribua-a aqui por meio de [location-pin]. A geração automática a prioriza para as suas aulas, exceto se a turma já tiver a sua própria sala dedicada (prioridade turma > prioridade professor). 6. **Etapa seguinte**: [criar as turmas e os seus grupos](#page-timetables.creating-classes). #### Ver também - [Disponibilidades dos professores](#page-core-concepts.wishes-and-availability) - [Gerir os professores no nível da escola](#page-admin.teachers) - [Professor](#page-glossary.teacher) - [Professor externo](#page-glossary.external-teacher) ### 3.9 Etapa 4 — Criar as turmas e os seus grupos *Source: `help/pt/timetables/creating-classes.md` · id: timetables.creating-classes · Audience: admin · Updated: 2026-05-10* Esta é a etapa mais estruturante. No separador **Turmas**, você cria as turmas, os seus grupos e informa os volumes horários por disciplina. #### 1. Criar as turmas Clique em Crie uma turma. Para cada turma: - **Nome** (obrigatório), - **Nível** (entre os níveis existentes; clique em Criar para adicionar um), - **Campus**, se o seu estabelecimento usar esta organização, - **Local** predefinido (o algoritmo de geração só procura entre as salas de aula desse local, salvo atribuição explícita de uma aula a outro local), - **Sala de aula dedicada** (opcional — as aulas decorrem aí por predefinição), - **Efetivo teórico** (opcional, mas recomendado para o dimensionamento das salas de aula). O campus e o local respondem a duas perguntas diferentes: o campus indica a que entidade do estabelecimento pertence a turma; o local indica onde ela está fisicamente situada e que salas de aula são usadas por predefinição. ⚠ Se você esquecer de atribuir o local, as aulas não poderão ser posicionadas (por falta de salas de aula e de grade horária). Um alerta lembra-o disso. #### 2. Criar os grupos de cada turma Clique no botão Adicionar um grupo de uma turma. Crie tantos grupos quantas forem as aulas em que os alunos não estão em turma inteira. Para cada grupo: - **Nome** e **código** (combine os dois para identificar facilmente), - **Efetivo teórico**, - Se vários grupos devem ou podem estar na **mesma faixa horária** (Laboratório-A e Laboratório-B, ou Francês segunda língua e Espanhol segunda língua), crie uma [divisão de turma](#page-core-concepts.class-divisions) através de Criar uma divisão. Dica: se os grupos de uma turma forem (quase) idênticos aos de outra, use o botão Importação de outra turma para importar a configuração e ajustá-la. > _Premium_ As **turmas** e os **grupos** podem ser sincronizados a partir de um sistema externo: Sincronizar e Sincronizar abrem a reconciliação. Ver [Sincronização com sistemas externos](#page-integrations.extsync). #### 3. Configurar as disciplinas por turma (os cursos) Vá ao separador **Disciplinas** (ou ao botão Cursos de uma turma). Cada disciplina que você atribui a uma turma desta forma — com o seu volume horário e, eventualmente, o seu tipo (aula prática, laboratório, aula teórica…) — constitui um **[curso](#page-glossary.course)**: a unidade de base da sua oferta pedagógica («a matemática no 9.º A, 4 h por semana, como aula prática»). A interface fala de «disciplinas» neste ponto, mas é de facto a noção de curso que você constrói; o conjunto dos cursos de uma turma forma o seu **programa** (a sua matriz curricular, o seu plano). As [aulas](#page-glossary.lesson) que você colocará depois na grade são as suas ocorrências. Para cada curso, indique: - **Número de horas** por semana, - **Tipo de aula** eventual (aula prática, laboratório, aula teórica…), - **Professor(es)** atribuído(s), - **Peso pedagógico** (o algoritmo de geração tenta equilibrar a disciplina ao longo dos dias), - **Sala especial exigida** (entre as [especializações de sala](#page-glossary.classroom-specialization) do local), - **Preferências de posicionamento** (evitar a matemática ao fim do dia, o desporto nas horas mais quentes…). Dica: use Importação de outra turma para reutilizar uma configuração de disciplinas de outra turma. A caixa de diálogo permite mesmo importar uma turma de outro horário, e pode-se estender o âmbito: com ou sem substituição da lista existente, e com ou sem os professores associados, os grupos, as incompatibilidades, as restrições horárias da turma. Pode-se ir até duplicar a repartição em aulas, aqui também escolhendo a extensão da importação. No que diz respeito às posições das aulas, num horário de tipo calendário, é possível deslocar os dias (isso recalcula então a sucessão segundo os dias úteis da origem e do destino). É muito prático para os organismos que têm sessões completas recorrentes, por exemplo de seis ou oito semanas consecutivas, várias vezes no ano. #### 4. Incompatibilidades entre disciplinas Uma [incompatibilidade](#page-glossary.incompatibility) proíbe uma disciplina de **seguir** outra. A regra é **orientada**: «a disciplina A não deve ser seguida da disciplina B» não é a mesma coisa que o inverso. O caso típico: «nada de matemática logo a seguir ao desporto». Declare-as no separador **Incompatibilidades** da turma. No momento de criar a regra, escolha a **janela** de aplicação: - **Consecutivo** — não na aula que se segue imediatamente, no mesmo dia. Ex.: não encadear uma disciplina exigente sobre uma disciplina extenuante, «nada de matemática logo a seguir ao desporto». - **Meio dia** — não mais tarde no mesmo meio dia. Ex.: alternar as línguas, «nada de espanhol depois do inglês» — e, para uma exclusão mútua, acrescente a regra inversa «nada de inglês depois do espanhol». - **Dia** — não mais tarde no mesmo dia. Ex.: distribuir as aprendizagens artísticas, «nada de desenho depois da música no mesmo dia». Para este tipo de equilíbrio, o **peso pedagógico** da disciplina é muitas vezes uma opção mais simples. - **Semana** — não mais tarde na mesma semana. Ex.: respeitar a ordem aula teórica e depois trabalhos práticos, «nada de trabalhos práticos de química antes da aula teórica de química». - **Sempre** *(horário calendário)* — nunca depois, em todo o período: a ferramenta de **sequenciamento** dos pré-requisitos. Ex.: «nada de C++ antes do C», «nada de finanças antes da contabilidade». Alguns pontos de referência para não se enganar na configuração: - **Uma disciplina que não deve ser colocada num momento preciso** («nada de matemática na primeira hora», «nada de desporto a meio do dia») **não** é uma incompatibilidade: use as **restrições horárias da disciplina** ([clock]), que incidem sobre o posicionamento absoluto de uma única disciplina. - **Impedir que uma disciplina volte duas vezes no mesmo dia** resolve-se mais simplesmente com a opção global de **autoincompatibilidade** do que com regras duas a duas. - Uma incompatibilidade é uma restrição **flexível** (uma penalização que o algoritmo de geração procura eliminar), não um bloqueio: ela pode subsistir no horário gerado, onde o [diagnóstico](#page-glossary.diagnostic) a assinala. Evite acumulá-las — cada uma reduz a liberdade do algoritmo de geração. #### E a seguir Etapa seguinte: [Alinhamentos e grupos de grupos](#page-timetables.alignments-and-groups-of-groups), se você tiver cursos comuns entre turmas ([cursos transversais](#page-glossary.transverse-course)). Caso contrário, passe diretamente a [Repartir as horas](#page-timetables.hour-distribution). #### Procedimento — Criar uma turma com os seus grupos e divisões de turma 1. **Uma turma** reúne os alunos de um mesmo percurso. Ela decompõe-se em **grupos** (meias turmas, opções, níveis), com **divisões de turma** para declarar os grupos mutuamente exclusivos dentro da turma. 2. **Clique em Adicionar uma turma.** Informe o nome (`9.º A`, `L1-Informática`…), o nível (entre os configurados), o campus se você o usar, o local predefinido, eventualmente uma sala de aula dedicada + efetivo teórico. Sem local, as aulas não poderão ser posicionadas — alerta explícito. 3. **Crie os grupos** da turma. Um grupo por uso pedagógico distinto: `Laboratório-A`, `Laboratório-B` (meias turmas de laboratório), `Francês segunda língua`, `Espanhol segunda língua` (opções), `Inglês Reforçado`, `Inglês Padrão` (níveis). Recomendação forte: **um grupo por curso distinto**, mesmo que os alunos sejam os mesmos. 4. **Declare as divisões de turma** — grupos mutuamente exclusivos. Selecione os grupos (ex. `Francês segunda língua` + `Espanhol segunda língua`), clique em Criar uma divisão. Sem divisão de turma, o algoritmo de geração trata dois grupos de uma mesma turma como potencialmente conflituosos. 5. **Configure as disciplinas por turma**: volumes horários semanais, professores atribuídos, tipo de aula predefinido. As disciplinas são selecionadas a partir do referencial da escola (oficiais ou personalizadas). 6. **Etapa seguinte**: [Alinhamentos e grupos de grupos](#page-timetables.alignments-and-groups-of-groups) se você tiver cursos comuns entre várias turmas, caso contrário diretamente [Repartir as horas](#page-timetables.hour-distribution). #### Ver também - [Turma, grupo, subgrupo](#page-core-concepts.classes-and-groups) - [Divisões de turma](#page-core-concepts.class-divisions) - [Campus](#page-glossary.campus) - [Turma](#page-glossary.class) - [Grupo](#page-glossary.group) ### 3.10 Etapa 5 — Alinhamentos e grupos de grupos *Source: `help/pt/timetables/alignments-and-groups-of-groups.md` · id: timetables.alignments-and-groups-of-groups · Audience: admin · Updated: 2026-05-10* Esta etapa é **opcional** — pule-a se você não tiver aulas comuns entre turmas. Ela é necessária assim que alunos de turmas diferentes precisam assistir a **uma mesma aula juntos** (latinistas de várias turmas, opcionais entre turmas, especializações, etc.). #### Alinhamentos Utilizáveis em **todos** os tipos de horário, mas sobretudo pertinentes para os horários **recorrentes** (semanal / cíclico) com turmas paralelas de estrutura idêntica. Veja a página de referência: [Alinhamentos de grupos](#page-core-concepts.alignments). Síntese: - Crie primeiro, em cada turma envolvida, um **grupo** com o nome idêntico («Latinistas» na 8A, na 8B, na 8C). - Depois, na aba **Alinhamento de grupos**, clique em Adicionar um alinhamento e vincule os grupos das três turmas. - Verifique se os **volumes horários são idênticos** entre os grupos alinhados (caso contrário, o Omniscol emitirá um diagnóstico de incoerência). #### Grupos de grupos Veja a página de referência: [Grupos de grupos](#page-core-concepts.groups-of-groups). Síntese: - Aba **Grupo de grupos**. - Crie o grupo de grupos selecionando os grupos membros (da mesma turma ou de turmas diferentes). - Em seguida, atribua as aulas ao grupo de grupos — elas aparecerão em todas as turmas de origem. - Modificável a qualquer momento (adição / remoção de grupos membros). #### Atribuição direta de vários grupos a uma aula Existe também um atalho para **atribuir vários grupos diretamente a uma aula**, sem criar um grupo de grupos nomeado. Este modo é prático para uma necessidade **pontual** ou exploratória: - você marca vários grupos no seletor de grupo da aula; - a aula fica então compartilhada entre esses grupos sem criar uma entidade nomeada dedicada; - você pode em seguida voltar a um grupo simples, ou formalizar o caso em grupo de grupos se a necessidade se tornar duradoura. Por outro lado, é **menos legível** e **menos reutilizável** que um grupo de grupos nomeado: perde-se a intenção de negócio explícita e é mais difícil localizar, reeditar ou reaplicar o mesmo agrupamento em várias aulas. #### Quando usar um ou outro | Situação | Ferramenta | | --- | --- | | Aula comum recorrente em modo semanal / cíclico | **Alinhamento** | | Aula comum pontual ou evolutiva | **Grupo de grupos** | | Composição sujeita a mudanças | **Grupo de grupos** | | Necessidade pontual sem estrutura nomeada | **Atribuição direta de vários grupos** | | Configuração fixa definitiva | **Alinhamento** ou **grupo de grupos** | #### Armadilhas clássicas - **Volumes diferentes entre os grupos alinhados.** Se um grupo tem 3h de latim e outro 2h, o alinhamento emite um diagnóstico. Ou se harmoniza, ou se desalinha. - **Aula comum a apenas 2 turmas** de 3 alinhadas. Para que uma das turmas tenha sua aula independente nessa faixa horária, é preciso duplicar seu grupo e desalinhar o clone. - **Alunos com dupla inscrição** (por exemplo, um aluno que faz latim na 8A mas está inscrito na 8B). Solução: criar um grupo «Latinistas» na 8A *e* na 8B com o mesmo aluno em ambos, depois alinhar. #### E depois Etapa seguinte: [Distribuir as horas e criar as aulas](#page-timetables.hour-distribution). #### Procedimento — Criar um alinhamento entre turmas 1. **Um alinhamento** declara que vários grupos de **turmas diferentes** devem assistir a uma mesma aula, no mesmo horário, na mesma sala, com o mesmo professor. Caso típico: os latinistas da 8A, 8B, 8C. 2. **Pré-requisito**: crie primeiro, **em cada turma envolvida**, um grupo com o **mesmo nome lógico** (`Latinistes` na 8A, na 8B, na 8C). Veja [Criar uma turma com seus grupos](#page-timetables.creating-classes). 3. **Aba Alinhamento de grupos** → clique em Adicionar um alinhamento. Selecione os grupos das turmas envolvidas (`Latinistes 8A`, `Latinistes 8B`, `Latinistes 8C`). Confirme. 4. **Verifique os volumes horários**: eles devem ser idênticos entre os grupos alinhados (3 h de latim em toda parte, por exemplo). Caso contrário, o Omniscol emite um diagnóstico de incoerência. 5. **Modo calendário**: prefira os [grupos de grupos](#page-core-concepts.groups-of-groups) que são mais flexíveis (modificáveis a posteriori, adição / remoção de grupos sem duplicar). Botão Adicionar um grupo de grupos na aba dedicada. Se a necessidade for **pontual**, você também pode atribuir vários grupos diretamente à aula pelo seletor de grupo, sem criar um grupo de grupos nomeado. 6. **Etapa seguinte**: [Distribuir as horas e criar as aulas](#page-timetables.hour-distribution). #### Ver também - [Alinhamentos de grupos](#page-core-concepts.alignments) - [Grupos de grupos](#page-core-concepts.groups-of-groups) - [Curso transversal](#page-glossary.transverse-course) - [Alinhamento de grupos](#page-glossary.alignment) - [Grupo de grupos](#page-glossary.groups-of-groups) ### 3.11 Etapa 6 — Distribuir as horas e criar as aulas *Source: `help/pt/timetables/hour-distribution.md` · id: timetables.hour-distribution · Audience: admin · Updated: 2026-06-25* Você já declarou os volumes horários por disciplina em cada turma (etapa 4). É aqui que se decompõem esses volumes em **aulas individuais**. O ecrã organiza-se em duas partes: - **À esquerda**: a lista das turmas e dos seus **cursos** (as disciplinas da turma, eventualmente subdivididas por tipo), com um contador dinâmico de horas já criadas por curso. - **À direita**: as aulas criadas para a turma selecionada. #### Três modos de exibição O painel da direita trabalha-se em **três modos**, que se alternam com o seletor no canto superior esquerdo desse painel. Cada um tem a sua razão de ser, e passa-se de um para o outro **sem perder o trabalho em curso**. ##### Notas autocolantes (predefinido) As aulas surgem como **cartões** ordenados por disciplina ou por data (para os horários do tipo calendário). É o modo detalhado em todo o resto desta página: duplo clique para criar, arrastar a margem para a duração, ícones do cartão para os atributos. - **Vantagens**: muito visual; ideal para **criar** as aulas, decompor os volumes, ajustar as durações ao arrastar e manipular os cursos complexos (alternados, geminados…) diretamente no cartão. - **Desvantagens**: pouco prático para atuar sobre **muitas** aulas de uma vez, para obter uma visão global finamente filtrada, ver os posicionamentos e posicionar rapidamente as aulas. ##### Horários (reorganização) As aulas apresentam-se numa disposição próxima do horário, prontas a serem **reorganizadas em lote**. - **Seleção**: um clique seleciona uma aula e abre uma ficha interativa. - **Seleção múltipla**: **Shift+clique** estende a seleção a um **intervalo**. As aulas selecionadas editam-se então **em conjunto** numa ficha comum (duração em massa, atributos comuns…). - **Filtros dinâmicos** e **escolha dos dias a exibir** restringem a exibição àquilo que está a tratar. - **Filtros «em espera»**: isole as aulas **à espera de sala** ou **à espera de professor** para concluir as afetações em falta; sinais de aviso assinalam o que resta completar. - Uma **alternância dias / entidades** reorienta o eixo do planeamento consoante o que estiver a comparar. - **Vantagens**: colocação manual muito eficaz, vistas cruzadas (turma + professor, por exemplo), reorganização de muitas aulas, filtragem direcionada para tratar as lacunas, edição **em lote** rápida diretamente num calendário. - **Desvantagens**: menos direto do que as notas autocolantes para a criação inicial, sem criação de cursos complexos, menos filtragem fina para a visão e a edição em lote. ##### Listagem Uma **vista de tabela** das aulas: uma **linha por aula**, uma **coluna por informação** (estado, turma, disciplina, duração, posição, semana alternada, professor, grupo, sala, efetivo, recurso, memorando). - **Ordenação**: **cada coluna** é ordenável — clique no seu cabeçalho para ordenar por ela, volte a clicar para inverter o sentido (ascendente / descendente). - **Filtragem por coluna**: sob cada cabeçalho, um **menu suspenso de escolha múltipla** filtra a coluna (por vezes **dois** menus para uma coluna composta como dia + hora; um campo de intervalos `>=10, <5, 10-20` para o efetivo). Vários valores num **mesmo menu** combinam-se em **OU**, exceto se forem valores de tipos diferentes (por exemplo, nas salas: entre as etiquetas, a videoconferência, o tamanho e o nome), caso em que é um **E**; filtros colocados em **várias colunas** acumulam-se em **E**. Um botão reinicia todos os filtros. - **Paginação**: para os grandes volumes, a lista pagina-se; o tamanho de página **ajusta-se automaticamente** (de algumas centenas a alguns milhares de linhas) para se manter fluido. - **Edição massiva simplificada**: assinale as aulas pretendidas (coluna de seleção) e depois utilize o **botão de ação no cabeçalho** da coluna (duração, professor, grupo, sala…) para a aplicar **de uma só vez** a toda a seleção. - **Alocação automática das salas**: escolha um **conjunto de aulas** e um **conjunto de salas**; o algoritmo propõe uma **afetação ótima** (efetivos, restrições de salas, disponibilidades), que você **ajusta linha a linha** antes de confirmar. Ver [Atribuição automática das salas](#page-timetables.auto-room-assignment). - **Vantagens**: visão de conjunto ordenável, **filtragem fina por coluna**, edição e afetação de salas **em massa**. - **Desvantagens**: menos contexto visual temporal do que os outros dois modos, sem criação de cursos complexos. #### Criar uma aula Uma *aula* é uma ocorrência individual de um **curso** (a sua disciplina, uma duração, por vezes um grupo, geralmente um professor e uma sala), posicionada em seguida no horário. Selecione uma turma e depois **faça duplo clique num curso**: uma aula da disciplina é criada com os valores predefinidos (duração = unidade de tempo da turma, professor(es) do curso, sala predefinida se aplicável). Nasce **sem posição** e junta-se às **aulas ainda não colocadas**, pronta a ser posicionada pelo algoritmo ou manualmente. O duplo clique funciona nos três modos; a lista dos cursos está simplesmente num local diferente: ao centro nas notas autocolantes, **sob cada turma no painel da esquerda** nos horários e na listagem. Para depois **regular** a aula (duração, grupo, professor, sala, recurso), a interface depende da forma como se exibe: - **Enquanto for um cartão** — nas notas autocolantes, ou ainda não colocada na vista horários — arraste a **margem inferior** para a duração e clique nos **ícones** do cartão para os atributos. - **Uma vez colocada no calendário, ou na listagem**, as regulações passam por um **menu suspenso**: a ficha *Modificação do curso* (clique na aula do calendário), ou os menus de linha e de coluna da listagem — estes últimos permitindo além disso a edição **em massa**. #### Decompor um volume horário Exemplo: as 4 h semanais de um curso de matemática podem dar: - 4 aulas de 1 h, ou - 2 aulas de 2 h, ou - 1 aula de 2 h + 2 aulas de 1 h. Cabe-lhe escolher consoante o seu ritmo pedagógico. O contador do curso segue o seu progresso continuamente (ver mais abaixo). ##### Distribuição automática O menu Ações propõe uma **Distribuição automática** que preenche de uma só vez o **volume em falta** de cada curso: acrescenta aulas da duração escolhida (1 ou 2 faixas horárias da grelha, 3 e 4 em calendário — o valor em horas depende portanto da duração da faixa horária do horário) e termina com uma aula mais curta se o resto não for inteiro. Respeita as aulas já criadas, coloca os professores e a sala predefinida, e deixa tudo **não posicionado**. Atua apenas sobre os **cursos visíveis**: combine-a com o **filtro** (Filtrar) por disciplina ou por tipo para distribuir, por exemplo, apenas os «Cursos teóricos». Na **listagem**, trata **todas as turmas** de uma vez; noutros locais, a **turma selecionada**. #### O contador de horas por curso Cada curso, à esquerda, tem um contador que opõe as **horas criadas** ao **volume-alvo** declarado na etapa 4 (por exemplo `3 h / 4 h`). É o **aspeto do cartão** que assinala o seu progresso: - **Abaixo do volume**: aspeto normal — restam horas a criar. - **Exatamente no volume**: o cartão **esbate-se** (opacidade reduzida), sinal de que está concluído. - **Acima do volume**: **margem vermelha** — criou horas a mais. O sinal do contador, por seu lado, retoma simplesmente a **cor da disciplina** (pode portanto ser verde, azul… sem relação com o progresso); ao passar o rato, o cartão sublinha-se com a cor de destaque da interface. Passar o rato exibe também um balão que detalha a **discriminação** das aulas criadas (durações, tipos, semanas alternadas, rascunhos / cancelados). ##### Subgrupos e indicador de equilíbrio Quando um curso é repartido numa **divisão de turma** (vários subgrupos que têm aula **ao mesmo tempo**, tipicamente um desdobramento), o contador não **multiplica** pelo número de grupos: uma divisão de turma conta **uma só vez** — caso contrário o total mostraria `n × volume`, que não teria sentido. Resta verificar que todos os subgrupos recebem de facto o mesmo volume: é o papel do ícone [scale-balanced] que surge então à direita do curso. - **Balança verde** — *Grupos em divisão de turma em equilíbrio*: todos os subgrupos têm o mesmo número de horas. - **Balança laranja** — *Grupos em divisão de turma em desequilíbrio*: um subgrupo tem mais ou menos horas do que os outros. Passar o rato sobre o ícone lista o **detalhe por grupo** (horas de cada subgrupo), para identificar imediatamente aquele que é preciso recuperar. #### Duplicar uma aula Coexistem dois níveis de duplicação. **Clone rápido.** O ícone Duplicar — presente no cartão de nota autocolante tal como em cada linha da listagem — cria **uma cópia** da aula na **zona temporária** (não posicionada), atributos incluídos. Ideal para encadear aulas idênticas. **Duplicação avançada.** Na ficha da aula (janela *Modificação do curso*), o botão de cópia com divisa abre um menu bem mais rico, aproveitado sobretudo na vista **horários / calendário**. Escolhe-se primeiro **quantas** cópias (1 a 999) — ou, num horário do tipo calendário, **até uma data** — e depois **como** as colocar: - **Nova aula na zona temporária** — cópias deixadas não posicionadas. - **Mesma faixa horária** — repete a aula na mesma faixa horária. - **Próxima(s) faixa(s) horária(s) livre(s)** — procura automaticamente as faixas horárias compatíveis com a duração. - **Dia(s) seguinte(s)** / **anterior(es)** — desloca para os dias vizinhos. - **Semana(s) seguinte(s)** / **anterior(es)** — *(apenas calendário)* transfere de uma semana para a outra. - **Escolher as faixas horárias** — você mesmo aponta as faixas horárias livres no planeamento. Nas opções por dia ou por semana, um botão **«livre(s)»** restringe a procura apenas às faixas horárias desocupadas. Em calendário, esta procura pode até estender-se para além do horário atual quando uma comparação entre horários está ativa. #### Memorandos Você pode anexar um **memorando** (comentário livre) a uma aula através do ícone Comentário. São possíveis vários memorandos, com **níveis de visibilidade** diferentes: - apenas administradores, - administradores + professores, - toda a gente (visível para os alunos e no painel de exibição). Os memorandos surgem nos balões ao passar o rato sobre as aulas nos horários. #### Cursos complexos Para as configurações sofisticadas, ver a página dedicada: [Aulas complexas](#page-core-concepts.complex-lessons). Em síntese: - **Alternados** (semana A/B) — Adicionar uma semana no canto superior direito da aula, acrescenta uma semana alternada. - **Geminados** (consecutivos) — arrastar e largar uma aula sob outra. - **Associados** (alternância de meias turmas) — botão que surge entre duas aulas geminadas. - **Coanimados** (vários professores na mesma aula) — seleção multiprofessor em Designar professores. #### Ações em massa O menu Ações no canto superior direito dá acesso às operações massivas: - **Anular o posicionamento** de todas as aulas (exceto as bloqueadas), - **Anular os bloqueios** de posicionamento, - **Limpar as afetações de salas**, - **Afetar as salas pré-configuradas** (da turma ou do professor predefinido, exceto salas especiais), - **Distribuição automática** das aulas por 1 ou 2 períodos, - **Importação / exportação em folha de cálculo** (ver [Importação massiva](#page-timetables.mass-import)), - **Eliminar todas as aulas** de uma turma ⚠. #### Deteção dinâmica dos erros A cada modificação, o Omniscol verifica a coerência e exibe os alertas no topo do ecrã e nas turmas / aulas em causa. Ver [Diagnóstico](#page-glossary.diagnostic). #### Guardar ⚠ A eliminação de uma aula é **imediata e definitiva** (exceto se ainda não tiver guardado). Guarde regularmente com Salvar. Não existe uma função Anular / Refazer global neste ecrã. Antes de guardar, releia as eliminações e as ações em massa. #### E a seguir Etapa seguinte: [Geração automática](#page-timetables.generation). #### Procedimento — Distribuir as horas de um curso 1. **Você declarou os volumes horários de cada curso** nas suas turmas na etapa 4. Esta etapa **decompõe** esses volumes em aulas individuais (uma aula = uma faixa horária colocada em seguida pelo algoritmo ou manualmente). 2. **Selecione uma turma à esquerda.** O painel da direita exibe as aulas já criadas para essa turma, agrupadas por curso. O contador de cada curso opõe as horas criadas ao volume-alvo (`3 h / 4 h`): o cartão esbate-se quando o volume é atingido, passa a margem vermelha se for ultrapassado. 3. **Faça duplo clique num curso** para acrescentar uma aula com os parâmetros predefinidos (duração, tipo). Arraste a **margem inferior** da aula para ajustar a duração. Clique nos **ícones** do cartão para modificar grupo, professor, sala, recursos. 4. **Decomponha o volume como quiser**: um curso de 4 h = 4 aulas de 1 h, ou 2 aulas de 2 h, ou uma mistura. O cartão do curso esbate-se assim que estiver exatamente no volume-alvo. Numa divisão de turma (subgrupos simultâneos), um ícone [scale-balanced] verde / laranja assinala se todos os subgrupos recebem o mesmo volume. 5. **Para aulas idênticas em série**, crie a primeira e depois **duplique**: clone rápido para a zona temporária através de Duplicar, ou duplicação avançada a partir da ficha (mesma faixa horária, dias / semanas vizinhos, faixas horárias livres…), sobretudo na vista calendário. 6. **Cursos complexos** (alternados A/B, geminados em período duplo, associados com rotação, coanimados por vários professores): ver os ícones dedicados no cartão da aula e a página [Aulas complexas](#page-core-concepts.complex-lessons). 7. **Etapa seguinte**: [Geração automática](#page-timetables.generation). #### Ver também - [Aulas complexas](#page-core-concepts.complex-lessons) - [Importação em massa dos cursos via folha de cálculo](#page-timetables.mass-import) - [Curso](#page-glossary.course) - [Aula / Sessão](#page-glossary.lesson) ### 3.12 Atribuição automática das salas *Source: `help/pt/timetables/auto-room-assignment.md` · id: timetables.auto-room-assignment · Audience: admin · Updated: 2026-06-27* A **atribuição automática das salas** atribui **de uma vez** uma sala a um conjunto de aulas selecionadas. Você escolhe um **conjunto de salas candidatas**, o algoritmo propõe uma atribuição ótima, e você **valida após revisão** — linha por linha se necessário. É uma ferramenta de **distribuição das salas apenas**. Ela não desloca as aulas no tempo, não altera a sua duração, não atribui recursos e não reinicia a geração completa do horário. Para que as salas sejam posicionadas **durante** a geração, veja antes [Geração automática](#page-timetables.generation). #### Onde encontrá-la Esta ferramenta vive no **modo listagem** da tela [Distribuir as horas e criar as aulas](#page-timetables.hour-distribution) (a vista em tabela, uma linha por aula). 1. Exiba as aulas no **modo listagem**. 2. **Marque** pelo menos duas aulas (coluna de seleção). Se necessário, use a **ordenação** e os **filtros por coluna** para isolar as aulas a tratar — por exemplo, aquelas **aguardando sala**. 3. Abra a ação de sala em grupo do cabeçalho, Atribuir uma sala de aula. 4. No seletor de salas, ative o modo Atribuição automática de salas. As aulas em **ensino a distância** ou em **autonomia** (conforme a sua [modalidade](#page-glossary.lesson-modality)) são ignoradas: elas não precisam de sala física. As aulas **híbridas** continuam sendo consideradas. Deixe **fora da seleção** as aulas cuja sala está **bloqueada**: a ferramenta não força um bloqueio. #### Escolher o conjunto de salas candidatas No modo automático, o seletor exibe as salas agrupadas por **local** e depois por **edifício**, com caixas de seleção em três níveis: - marcar um **local** toma todas as suas salas elegíveis; - marcar um **edifício** toma todas as salas desse edifício; - marcar uma **sala** a adiciona individualmente. As salas já atribuídas às aulas selecionadas ficam **pré-marcadas**. Uma sala cuja **especialização** não corresponde a nenhuma aula selecionada, ou **pequena demais** para todas as aulas compatíveis, fica **desativada**. A capacidade passa a **vermelho** quando a sala não pode acomodar nenhuma das aulas compatíveis, a **laranja** quando acomoda apenas uma parte delas. Confirme o conjunto para iniciar o cálculo. #### O que o algoritmo faz A partir do conjunto escolhido, o algoritmo atribui **uma sala por aula** respeitando **regras estritas** e otimizando o resto: - a **especialização** exigida pela disciplina da aula; - a **capacidade** da sala face ao efetivo da aula; - a **ocupação existente** da sala na faixa horária — aulas de outros horários ou de outras contas vinculadas, eventos, restrições horárias de sala, [salas grandes](#page-glossary.large-room) compartilhadas; - uma **preferência pelo local** de referência da aula; - as **semanas alternadas**: duas aulas que nunca caem na mesma semana podem reutilizar a mesma sala. O algoritmo pode **reorganizar as salas entre as aulas selecionadas** para alojá-las melhor, e prefere a **menor sala que serve**. Quando a sala atual já serve e outra traria apenas um ganho marginal, ele a **conserva** em vez de produzir uma mudança inútil. Se **nenhuma** sala do conjunto serve, a aula é deixada **sem solução**. #### Revisar, ajustar, aplicar O cálculo abre uma **janela de pré-visualização**: enquanto ela estiver aberta, o horário real **não é modificado**. Cada linha traz um **status** — atribuída, inalterada, sem solução, ou ajustada manualmente — bem como a sala **antes** e a sala **proposta**. - **Ajustar uma linha**: clique na sua sala proposta para abrir o seletor clássico. A escolha manual **não fica limitada** ao conjunto candidato inicial; a linha passa ao status «ajustada» e os eventuais conflitos são recalculados imediatamente em todas as linhas. - **Redefinir**: um botão restabelece a proposta do algoritmo nas linhas ajustadas. - **Desmarcar** uma linha a **exclui** da aplicação. - **Validar** aplica as linhas marcadas ao horário; **Cancelar** fecha sem alterar nada. Após a aplicação, as aulas modificadas **piscam** e um resumo indica o **número de aulas modificadas, inalteradas e sem solução**. #### A observar - Uma aula que trazia **várias salas** pode ser reduzida a **uma só** pela atribuição automática. - Uma aula **sem faixa horária posicionada** pode mesmo assim receber uma sala (por conjunto, especialização, capacidade e local), mas nenhum conflito horário pode então ser verificado para ela. - Para apenas **posicionar as salas padrão** (da turma ou do professor, fora as salas especiais) ou **apagar** atribuições, o menu Ações oferece ações em massa dedicadas — veja [Distribuir as horas e criar as aulas](#page-timetables.hour-distribution). #### Ver também - [Distribuir as horas e criar as aulas](#page-timetables.hour-distribution) - [Sites, grades horárias, salas, recursos](#page-timetables.sites-rooms) - [Especializações de salas de aula](#page-core-concepts.classroom-specializations) - [Sala grande](#page-glossary.large-room) ### 3.13 Etapa 6 bis — Importação em massa dos cursos via folha de cálculo *Source: `help/pt/timetables/mass-import.md` · id: timetables.mass-import · Audience: admin · Updated: 2026-06-02* Se você já tem a lista dos seus cursos numa folha de cálculo — uma exportação do seu SIS, um planeamento preparado previamente no Excel, ou até uma exportação de outro programa como o Hyperplanning ou o Aurion — pode **copiá-la e colá-la** diretamente no Omniscol. #### Aceder à importação No menu Ações (no ecrã de distribuição das horas), escolha **«Tabela - importação / exportação»**. Se ainda não tiver sido criada nenhuma turma, também está disponível um link direto. A importação decorre em **quatro etapas**. #### Etapa 1 — Colar a tabela Abre-se uma zona editável com um **modelo de colunas predefinido** pelo Omniscol. As colunas são tipadas por posição (3.ª coluna = disciplina, etc.); você pode **reorganizar as colunas do modelo** para que correspondam à ordem da sua folha de cálculo de origem — o que torna limpa a operação de copiar e colar a partir do Excel ou do Google Sheets, sem reescrever o seu ficheiro. Campos reconhecidos: - **Turma** + **disciplina** (no mínimo, para que um curso seja válido), - **Duração**, ou **hora de início + hora de fim** (e **dia** para as aulas pré-posicionadas), - **Grupo** (separadores livres para vários grupos), - **Tipo de aula** (aula prática, laboratório, aula teórica…), - **Professor(es)** (separadores livres), - **Local** + **Sala(s)** (várias salas por aula são possíveis, ver [multissalas](#page-glossary.multi-room)), - **Recurso(s)**, - **Semanas alternadas** (formato `A/B`, `1/2`…), - **Comentário**. Você também pode importar a **lista dos cursos já criados** (o que faz a exportação) se quiser retrabalhá-los no Excel e reimportar. #### Etapa 2 — Verificação da agenda e dos locais O Omniscol exibe as horas detetadas (ainda editáveis). Se forem inferidos vários locais, você pode **arrastar e largar** as turmas, salas e recursos mal atribuídos para o local correto. Se tiver sido criado um local supérfluo, esvazie-o e ele desaparecerá. #### Etapa 3 — Desambiguação Após a análise dos valores importados, a tabela reaparece com **menus suspensos** nos campos ambíguos. Verifique e corrija as correspondências propostas. É aqui que se decide, por exemplo: - «Matemática» = qual a disciplina exata (com ou sem tipo)? - «Sr. Dupont» = qual dos três Sr. Dupont? - «A102» = a sala A102 do local de Lyon, do local de Avignon, ou outra? #### Etapa 4 — Criação das entidades desconhecidas Se a importação detetou entidades que não existem na base (turmas, grupos, grupos de grupos, professor, disciplina personalizada, tipo de aula, local, sala, recurso…), uma última etapa pede-lhe: - para **validar a criação** no horário, - para as **disciplinas personalizadas** e certos **professores**, para solicitar se necessário uma criação do lado da **Administração** para os tornar disponíveis em toda a escola. #### Limites A importação automatiza a preparação, mas não substitui uma verificação humana: - Os **cursos complexos** (alternâncias múltiplas, concatenações, associações) são por vezes reconstruídos de forma imperfeita — conte com uma passagem manual de acabamento. - Em nomenclaturas internas muito específicas, algumas colunas continuarão ambíguas — você decidirá na etapa 3. - Para **migrações dedicadas** a partir de um programa específico (Aurion, ASC…), existem [adaptadores especializados](#page-migration.overview). #### Procedimento — Preparar e depois importar os cursos 1. **Antes de clicar em Importar**, dedique 10 minutos a preparar o ficheiro de origem. Um ficheiro limpo = uma importação sem idas e vindas. No Excel ou no Google Sheets, elimine as linhas fundidas, os cabeçalhos de várias linhas e os subtotais. **Uma linha = uma aula.** Mantenha designações coerentes para as turmas, disciplinas, professores, grupos, locais, salas e recursos. 2. **Abra o ecrã de importação** a partir do ecrã de distribuição das horas, menu *Ações → Tabela - importação / exportação*. Reorganize as colunas do modelo para que correspondam à ordem da sua folha de cálculo, depois **cole a tabela** na zona editável. É a etapa 1. 3. **Etapa 2 — verificação da agenda e dos locais.** O Omniscol exibe as horas detetadas e os locais inferidos. Se necessário, arraste e largue as turmas, salas e recursos para o local correto, ou esvazie um local supérfluo para o fazer desaparecer. 4. **Etapa 3 — desambiguação.** A tabela reaparece com menus suspensos nos campos ambíguos: disciplina exata, professor homónimo, sala homónima, etc. Você decide aqui. 5. **Etapa 4 — criação das entidades desconhecidas.** Valide as criações propostas de acordo com o seu ficheiro: turmas, grupos, grupos de grupos, professores, disciplinas e tipos, locais, salas, recursos. Para as disciplinas personalizadas e certos professores, você também pode solicitar uma criação do lado da Administração. Os cursos são depois injetados no horário. 6. **No final**, você obtém um horário parcialmente configurado. Conte com uma passagem manual de acabamento para os casos complexos (alternâncias múltiplas, concatenações, associações) que a importação nem sempre reconstitui totalmente. Para as migrações a partir de outro programa, ver [Migração a partir de outro programa](#page-migration.overview). #### Ver também - [Preparar seus dados para uma importação em massa](#page-getting-started.preparing-data) - [Migração a partir de outro programa](#page-migration.overview) - [Etapa anterior — Distribuir as horas](#page-timetables.hour-distribution) - Etapa seguinte — [Geração automática](#page-timetables.generation) ### 3.14 Etapa 7 — Geração automática *Source: `help/pt/timetables/generation.md` · id: timetables.generation · Audience: admin · Updated: 2026-06-24* Uma vez criadas as aulas, você as posiciona na grade. Construir um horário é, na prática, um **ciclo**, não um gesto único: 1. você **posiciona algumas aulas manualmente** — para ancorar elementos imutáveis ou bloquear restrições fortes (intervenções datadas, exames, ajustes); 2. você **gera** (tudo ou parte) para que o algoritmo posicione o restante sob restrições; 3. você **ajusta nas margens** — corrigir um caso particular, deslocar uma aula, mudar de ideia; 4. e isso **pode recomeçar**: você regenera ao longo do processo (aulas adicionadas, ou — em modo calendário — por intervalos de datas, por lotes de turmas ou de campi). Você também pode fazer tudo **100% manualmente**, sem a geração automática. O posicionamento manual (posicionar, deslocar, bloquear, uma a uma ou em lote) tem sua página dedicada: [Posicionamento manual](#page-timetables.manual-placement). Para o fluxo de conjunto, veja [Vista geral do módulo](#page-timetables.overview). Esta página cobre a **geração automática**. #### Disponibilidade Disponível nos horários [semanais](#page-glossary.weekly-timetable), [cíclicos](#page-glossary.cyclic-timetable) e [em calendário](#page-glossary.calendar-mode). Em modo calendário, as aulas são posicionadas em datas reais e as opções podem limitar a faixa de datas a gerar. #### Preparação Antes de clicar em Gerar um horário: - expanda a aba **Geração** (denominada Verificação em um horário em calendário) para verificar as estatísticas globais, - corrija os **alertas críticos** (vermelhos) — eles bloqueiam a geração, - releia os **avisos** (laranja) — eles não bloqueiam, mas sinalizam um risco (disponibilidades demasiado restritivas, capacidade no limite, etc.). A tela também indica: - número de aulas criadas vs aulas posicionadas, - volumes horários inseridos vs horas de serviço dos professores, - grupos atribuídos a pelo menos uma aula (para identificar os grupos esquecidos ou não utilizados). #### Lançamento Clique em Gerar um horário. O Omniscol inicia um ambiente de cálculo dedicado e paralelizado. A duração depende do tamanho do horário, do número de restrições e das opções escolhidas. Não há fila de espera a gerenciar do lado da escola; a inicialização leva frequentemente cerca de uma dezena de segundos antes de o cálculo começar realmente. O cálculo é **limitado a vinte minutos**, mas isso está, na prática, bem além do necessário: um horário de cerca de 200 aulas responde frequentemente em cerca de vinte segundos — o algoritmo é quase instantâneo, é sobretudo a inicialização da máquina que pesa — e ~600 aulas em cerca de um minuto. Para um estabelecimento muito grande que se aproximasse desse limite, a equipe Omniscol pode aumentar a potência da máquina de cálculo, mediante solicitação. #### Opções de geração Por padrão, a geração posiciona todas as aulas criadas e não posicionadas. Ela também pode deslocar aulas já posicionadas se isso melhorar o horário. As aulas bloqueadas mantêm sua posição. O menu de opções permite, em particular: - gerenciar as salas com três escolhas: atribuição otimizada por padrão, verificação apenas, ou desconsideração completa das salas; - selecionar apenas certas turmas ou certas disciplinas; - restringir um horário em calendário a uma janela de datas alvo; - ignorar as salas já atribuídas ou os posicionamentos atuais; - atribuir apenas as salas sem recalcular todo o posicionamento; - lançar uma geração rápida sem otimização; - autorizar o posicionamento flexível nas subfaixas da grade horária quando o horário usa subfaixas. Os parâmetros avançados de otimização permitem também reduzir as lacunas, evitar duas aulas da mesma disciplina no mesmo dia, distribuir as aulas, definir mínimos ou máximos de horas, ou escolher o número de dias de presença dos professores. Os usos variam conforme os países: na França, alguns estabelecimentos procuram reduzir o número de dias de presença dos professores; em outros contextos, pode-se, ao contrário, preferir distribuir esses dias, por exemplo para organizar outras missões no local. #### Opções específicas do modo calendário Em modo calendário, as opções avançadas podem limitar a geração a uma **janela de datas alvo** mais curta do que a faixa total do horário. Isso é útil para gerar apenas uma parte do ano: teste em um mês, construção progressiva de um semestre, ou retomada de um período já preparado. A outra opção importante é a **compactação dos dias** para as turmas. Por padrão, a geração automática tende a buscar um equilíbrio nos dias disponíveis; se você gerar apenas uma parte das aulas do ano, esse comportamento pode espalhar artificialmente as aulas. A compactação permite solicitar um agrupamento: - no início da janela; - no fim da janela; - sem preferência de início ou fim, mas mantendo os dias tão compactos quanto possível. #### Como a geração trabalha Compreender a lógica da geração automática ajuda a antecipar o que ela posicionará, o que ela sacrificará e como orientá-la. Ela persegue **dois objetivos, nesta ordem**: 1. **Fazer tudo caber** — a prioridade absoluta: posicionar *todas* as aulas respeitando as restrições rígidas. 2. **Otimizar a qualidade** — uma vez que tudo cabe, reduzir as lacunas, suavizar os dias, honrar as preferências. Ela parte de um estado limpo (as aulas **bloqueadas** mantêm seu lugar, as outras são reprocessadas) e posiciona **da aula mais difícil à mais fácil**. A dificuldade decorre sobretudo da **estreiteza das restrições**: uma aula cujo professor só está disponível uma tarde por semana, ou um **bloco de quatro horas** a encaixar de uma só vez, passa à frente. Em igualdade de dificuldade, ela alterna as disciplinas e trata **as mais raras antes das mais comuns**, para distribuir equitativamente as chances de cada uma. ##### Quando nem tudo cabe: o sacrifício Se o horário está restrito demais para encaixar tudo, a geração automática **não desiste**: ela escolhe o menor conjunto de aulas a **deixar de lado** para que o restante caiba, e depois otimiza esse horário parcial. As aulas sacrificadas permanecem na barra dos post-its a posicionar. Como a triagem priorizou o mais difícil e o mais raro, são sobretudo aulas **fáceis e numerosas** que cedem: a 5ª hora de uma disciplina de grande volume antes da hora única de uma disciplina rara. Você mantém o controle sobre essas decisões: **bloqueie** as aulas que nunca devem se mover — posicionadas com prioridade, elas não são sacrificadas — e **relaxe a sobre-restrição** (faixas horárias abertas, disponibilidades) onde for possível, para que o conjunto caiba. ##### Restrições rígidas e restrições flexíveis Nem todas as restrições têm o mesmo peso: - **Rígidas** — nunca violadas: a **ocupação** (um professor, uma turma, um grupo, uma sala ou um recurso não é usado duas vezes no mesmo momento), as faixas marcadas **Indisponível** (em preto) em um professor, uma turma, uma sala, uma disciplina ou um grupo, a **ausência de sala ou de recurso livre** na faixa horária, os **dias fechados**, as **posições bloqueadas** e os **alinhamentos**. - **Flexíveis** — todo o restante, que a geração automática pode **infringir** ao preço de uma penalidade para conseguir encaixar tudo: as faixas marcadas **Indesejado** (em vermelho — a evitar, não proibidas) e as preferências de otimização (compacidade, distribuição, agrupamento por dia…). Uma restrição de prioridade *alta* pesa mais do que uma de prioridade *baixa*, mas nenhuma é bloqueante. A geração automática tenta também flexibilizações pontuais (posicionamento nas subfaixas da grade…) quando esse é o preço a pagar para não sacrificar nenhuma aula. ##### Verificar sem otimizar A opção de **geração rápida** (sem otimização) lança uma passagem aligeirada que responde sobretudo a uma pergunta: *tudo cabe?* Útil para testar a viabilidade de uma configuração antes de investir o tempo de uma otimização completa. #### Resultado - **Faixa verde**: geração bem-sucedida. As aulas do perímetro solicitado puderam ser posicionadas e o resultado pode ser inspecionado. - **Faixa vermelha**: nenhuma solução completa foi encontrada. O melhor horário calculado permanece visualizável e as aulas não posicionadas aparecem na barra dos post-its para diagnóstico. Veja [Diagnosticar uma geração que falha](#page-timetables.diagnosing-generation). #### Consolidar ou copiar Após uma geração bem-sucedida, o Omniscol propõe duas opções: - **Consolidar** no horário em curso (o posicionamento substitui o existente). - **Criar uma cópia** (o horário atual permanece intacto, o resultado otimizado torna-se um novo horário). Se você prevê regenerar mais tarde (porque constrói incrementalmente, por exemplo), **não consolide**: senão as aulas já posicionadas seriam pontos de partida para a nova geração. #### Bloquear uma aula antes de relançar uma geração Em uma aula já posicionada, use o **cadeado** de posição para bloqueá-la. A próxima geração não a deslocará, mas ajustará as outras aulas ao seu redor. Prático para ancorar as aulas «imutáveis» (intervenções externas fixadas, exames datados, ajustes manuais…). Detalhes completos em [Bloquear uma aula](#page-timetables.lesson-lock): bloqueio em massa, efeitos no diagnóstico (vermelho → laranja), comportamento do algoritmo. #### Exportar um horário em JSON O botão [download] exporta **apenas o horário atual** em formato JSON. Não é a exportação completa da conta documentada em [Importação e exportação](#page-admin.import-export). Casos típicos: - conservar um registro de um rascunho ou de um cenário antes da exclusão; - arquivar um estado intermediário antes de uma reorganização importante; - transmitir esse horário preciso à equipe Omniscol no âmbito do suporte. Como para a exportação completa da conta escolar em JSON, a reinjeção não é um uso padrão livremente acessível do lado da escola. #### E depois Etapa final: [Publicar (ativar) um horário](#page-timetables.publication). #### Procedimento — Lançar uma geração automática 1. **A geração automática** posiciona as aulas na grade respeitando dezenas de restrições (disponibilidades, capacidades, alinhamentos, especializações, alternâncias). Disponível em horários semanal, cíclico e em calendário. 2. **Verifique a aba Geração.** As estatísticas globais aparecem nela: aulas criadas vs posicionadas, volumes horários inseridos vs serviços dos professores, alertas críticos (vermelho — bloqueiam), avisos (laranja — previnem sem bloquear). 3. **Corrija os alertas vermelhos** antes de lançar. Enquanto restarem, a geração não pode iniciar — salvo forçar via o menu «mais opções», mas isso não é recomendado. Os laranjas devem ser arbitrados, mas não impedem a geração. 4. **Ajuste as opções de geração** se necessário: salas a atribuir, verificar apenas ou ignorar; turmas ou disciplinas alvo; geração rápida sem otimização; ignorar as salas já atribuídas ou posições atuais. Em modo calendário, as opções avançadas permitem também restringir a janela de datas gerada e compactar as aulas no início do período, no fim do período ou sem preferência. 5. **Clique em Gerar um horário.** O processamento roda em segundo plano; a tela indica o estado da geração e permite inspecionar o resultado quando ele está disponível. 6. **Salve** quando a nota lhe convier. O horário está posicionado. Etapa seguinte: passe em revista os eventuais conflitos, ajuste manualmente os casos particulares (veja [Posicionamento manual](#page-timetables.manual-placement)), depois publique. 7. **E depois**: [Publicar (ativar) um horário](#page-timetables.publication). #### Ver também - [Posicionamento manual](#page-timetables.manual-placement) - [Diagnosticar uma geração que falha](#page-timetables.diagnosing-generation) - [Geração automática](#page-glossary.solver) - [Detectar e resolver os conflitos](#page-timetables.conflicts) ### 3.15 Etapa 8 — Publicar (ativar) um horário *Source: `help/pt/timetables/publication.md` · id: timetables.publication · Audience: admin · Plan: standard · Updated: 2026-06-13* ⚠ Etapa **frequentemente esquecida**: um horário gerado **não é publicado automaticamente**. Enquanto não for publicado, é um rascunho — visível apenas no módulo Gestão de horários letivos pelos administradores. É somente após a publicação que o horário aparece no módulo [Horário](#page-schedules.consult-and-filter) consultado por todos os usuários autorizados. #### Como publicar Na página inicial do módulo Gestão de horários letivos: 1. Selecione o **ano letivo** desejado na **linha do tempo no topo**. Por padrão, o **ano letivo corrente** é exibido. Se você estiver preparando o próximo ano letivo, clique na **seta para a direita da linha do tempo** para passar para o ano N+1 — do contrário, você tentará publicar sobre as semanas do ano corrente, onde as semanas já estão atribuídas ao horário atual. Consulte [Linha do tempo e navegação temporal](#page-core-concepts.timeline-navigation) para o conceito geral. 2. Clique em Distribuição do horário (Distribuição do horário). 3. Uma grade aparece: os horários em linhas, as semanas em colunas. 4. Para cada horário, **selecione as semanas** em que ele se aplica (clique ou arraste sobre a faixa de semanas). O botão Adicionar um período acrescenta um intervalo adicional para um horário. 5. Salve com Salvar. #### Conta padrão: um horário por semana Com uma conta padrão, **apenas uma publicação** por semana é permitida. Se você quiser publicar dois horários diferentes, eles devem abranger intervalos disjuntos (semestre 1 vs semestre 2, por exemplo). > _Option: Vários horários ativos em paralelo_ #### Publicações simultâneas Quando sua conta dispõe dessa capacidade (incluída no Premium), você pode publicar **vários horários em paralelo** nas mesmas semanas. O mecanismo funde dinamicamente as vistas: se dois horários publicados compartilham um professor ou uma sala, seu horário consolidado mostra as aulas dos dois horários. Caso de uso típico: um horário semanal para as aulas recorrentes do tronco comum + um horário calendário para as masterclasses pontuais. #### Horário calendário: publicação binária Um horário em modo [calendário](#page-glossary.calendar-mode) não se publica por intervalos de semanas (as aulas já estão datadas individualmente). A publicação é binária — o horário está publicado, ou não está. #### Horário semanal / cíclico: publicação por intervalos Para os horários semanais e cíclicos, você acrescenta **um ou vários intervalos** de publicação e, em seguida, salva. As alterações em curso aparecem tracejadas para os acréscimos e transparentes para as supressões. #### Semanas alternadas: quais aulas em quais datas Quando um horário com semanas alternadas entra em operação, cada semana real conserva apenas a aula cuja posição no ciclo corresponde à **contagem das semanas**. As férias podem deslocar essa contagem: a **linha do tempo** da tela [ano letivo](#page-admin.school-year) permite forçar os pontos em que ela recomeça na semana A, para que as aulas alternadas corretas sejam mantidas em cada data. #### Atribuir os alunos após a publicação Uma vez publicado o horário para o ano letivo corrente, você pode **atribuir os alunos às suas turmas e grupos**: 1. Módulo Alunos. 2. Selecione os alunos desejados. 3. Atribuir a uma turma. Os alunos só verão o seu horário personalizado após feita essa atribuição — e após a mudança do ano corrente se você estiver preparando o próximo. #### Procedimento — Publicar um horário em 5 etapas 1. **Publicar torna um horário visível** no módulo Horário de todos os usuários autorizados. Enquanto não for publicado, o horário permanece um rascunho visível apenas para os administradores. 2. **Verifique o ano letivo exibido** na linha do tempo no topo. Por padrão, é o ano corrente. Para publicar sobre o próximo ano, clique na **seta para a direita da linha do tempo** para passar para N+1 antes de continuar. 3. **Clique em Distribuição do horário.** Uma grade aparece com os horários em linhas e as semanas do ano letivo em colunas. 4. **Selecione as semanas** em que o horário deve se aplicar. Clique ou arraste sobre a faixa de semanas. As semanas escolhidas aparecem coloridas; as demais permanecem brancas. 5. **Salve a publicação.** O horário passa imediatamente para produção: torna-se visível no módulo Horário de todos os usuários autorizados. 6. **Etapa seguinte: atribuir os alunos** às suas turmas e grupos. Essa atribuição só pode ser feita após uma primeira publicação. Os alunos verão então o seu horário personalizado. #### Ver também - [Publicação / Ativação de um horário](#page-glossary.publication) - [Vários horários ativos em paralelo](#page-timetables.multiple-active-timetables) - [Preparar o próximo ano letivo](#page-timetables.next-school-year) ### 3.16 Vários horários ativos em paralelo *Source: `help/pt/timetables/multiple-active-timetables.md` · id: timetables.multiple-active-timetables · Audience: admin · Options: multiple-active-timetables · Updated: 2026-06-13* > **Option: Vários horários ativos em paralelo** No patamar padrão, **um único horário** pode ser publicado de cada vez num dado período. É suficiente para o funcionamento clássico de uma escola do 2.º ou 3.º ciclo. Em certos contextos — tipicamente ensino superior, formações modulares, escolas com percursos múltiplos —, surge a necessidade de **publicar vários horários em paralelo** que se complementam. Esta capacidade está incluída de base nas contas Premium. Em certas contas escolares mistas, por exemplo do ensino básico ao secundário, com vários horários realmente separados, o Omniscol pode ativar esta capacidade especificamente. O enquadramento e a faturação são então adaptados à necessidade real. #### Porquê vários horários em paralelo Alguns cenários típicos: - **Tronco comum + especializações** — um horário semanal cobre o tronco comum (disciplinas partilhadas por todas as turmas), horários por especialidade ou por percurso acrescentam-se por cima com as suas próprias restrições. - **Regular + calendário pontual** — um horário semanal regular contém a maioria dos cursos, um horário de calendário contém as aulas com data marcada (conferências, exames, júris). - **Vários locais** — um horário por local com gestão local, fusão na consulta para os estudantes que passam de um local para outro. - **Programas de durações diferentes** — por exemplo um percurso EMBA de 18 meses, um ciclo de Grande École em semestres de calendário e uma preparação semanal, com professores e salas partilhados. Sem esta opção, estes casos obrigam a fundir toda a complexidade num único horário, o que rapidamente se torna ingerível. #### Funcionamento Você cria vários horários no módulo Gestão de horários letivos, como habitualmente. No momento da **publicação** nas semanas, o ecrã de distribuição aceita vários horários nas mesmas semanas em vez de um só. Do lado do consumo (portais, painéis de exibição, iCal, API), os horários publicados numa semana são **fundidos dinamicamente**: um estudante vê todas as aulas que lhe dizem respeito, seja qual for o horário de que provêm. Dentro de uma mesma conta, os horários ativos em paralelo partilham as ocupações dos recursos envolvidos: salas, professores e, nos casos em que é pertinente, turmas. Isso permite evitar que um mesmo professor ou uma mesma sala seja reservado duas vezes por dois horários ativos. O caso das turmas partilhadas entre vários horários também existe, mas mantém-se mais marginal e depende fortemente da organização pedagógica. #### Deteção de conflitos entre horários Dois mecanismos complementam-se, consoante o local onde você trabalha. ##### Durante a construção do horário Quando você constrói ou reorganiza um horário em Gestão de horários letivos, o botão Sincronização (barra de ferramentas da reorganização, tal como da edição de um horário de calendário, nas **datas partilhadas**) confronta o seu trabalho com os **outros horários publicados**. Ele considera automaticamente aqueles cujas **datas se sobrepõem** às do horário em curso e que partilham pelo menos um **professor**, uma **sala** ou uma **turma** — localmente (mesma conta) tal como com as **[contas ligadas](#page-integrations.linked-accounts)**. Ele ativa-se, portanto, por si próprio assim que existem recursos comuns (laranja = ativo). Este acoplamento automático liga os horários **com data (calendário)**. Uma exceção bem-vinda: ele **ignora uma simples cópia** do horário em curso (mesmas aulas). Você pode assim trabalhar num **rascunho duplicado** sem entrar em conflito consigo próprio. A ocupação desses horários entra então no motor de conflitos: - as **faixas horárias candidatas** ao posicionamento (marcadores coloridos) passam a laranja ou vermelho se o professor ou a sala já estiverem ocupados noutro lugar; - o **diagnóstico** assinala as reservas duplas entre horários. O conflito assinalado indica então claramente que provém de um horário externo com a sua referência precisa. O menu suspenso do botão lista os horários e as contas considerados: desmarque aqueles que você não quer monitorizar, por exemplo para assumir uma sobreposição. ##### Na consulta (horário operacional) Uma vez publicados, os horários **fundem-se** num horário **operacional** único — a vista de consulta no Omniscol (o módulo Horário), e tudo o que consome o horário (portais, painéis de exibição, iCal, API). Os conflitos entre horários leem-se aí naturalmente: um professor (ou uma sala) ocupado em duas aulas simultâneas provenientes de dois horários publicados vê-as sobrepostas na grade fundida. É a lógica da fusão: ela forma o horário realmente vivido, **de todos os tipos combinados** (incluindo um horário semanal e um horário de calendário). Na vista de reorganização, isso cria um conflito. Nos dois casos, a resolução continua a ser uma ação de planeamento: deslocar, adaptar ou aceitar o conflito consoante o caso. #### Procedimento — Publicar um horário regular + um horário de calendário em paralelo 1. **O caso híbrido clássico**: um horário **semanal** regular para a maioria dos cursos, mais um horário de **calendário** para as aulas com data marcada (conferências convidadas, exames, júris). 2. **Requisito prévio**: dois horários criados em Gestão de horários letivos — um semanal com os cursos regulares, um de calendário com as aulas com data marcada. Configure-os independentemente. Ver também [Modo calendário](#page-timetables.calendar-mode). 3. **Lance a geração** em cada horário separadamente se você utilizar a geração automática. Verifique primeiro os conflitos próprios de cada horário. 4. **Publique o horário semanal** nas semanas pretendidas (tipicamente: todo o ano). Ver [Publicação](#page-timetables.publication). Depois **publique o segundo horário** (calendário) nas **mesmas semanas**. O ecrã de distribuição aceita vários horários em paralelo (vs um só no patamar padrão). 5. **Verifique a fusão**: abra o portal do estudante ou do professor — as aulas dos dois horários aparecem na mesma grade, fundidas dinamicamente. O iCal, a API e os painéis de exibição veem o mesmo. 6. **Conflitos entre horários**: entre um horário semanal e um horário de calendário, a sobreposição vê-se sobretudo no **horário operacional fundido** (consulta, portais) — se uma conferência (calendário) cair na faixa horária de um curso regular (semanal) para o mesmo professor ou a mesma sala, as duas aulas sobrepõem-se aí. Resolução como um conflito comum: deslocar, adaptar ou aceitar. #### Ver também - [Publicação de um horário](#page-timetables.publication) - [Modo calendário](#page-timetables.calendar-mode) - [Contas vinculadas e recursos compartilhados](#page-integrations.linked-accounts) - [Planos e opções do Omniscol](#page-overview.plans-and-options) ### 3.17 Posicionamento manual das aulas *Source: `help/pt/timetables/manual-placement.md` · id: timetables.manual-placement · Audience: admin · Updated: 2026-06-23* Posicionar uma aula **manualmente** é escolher você mesmo a sua faixa horária, em vez de deixar o algoritmo decidir. Isso combina-se quase sempre com a [Geração automática](#page-timetables.generation): a construção de um horário é um **ciclo** (posicionar algumas aulas → gerar → ajustar), descrito em [Vista geral do módulo](#page-timetables.overview). #### Quando posicionar manualmente - **Fixar os elementos imutáveis antes de gerar** — uma intervenção com data marcada, um exame, um encaixe imposto: posiciona-se (e muitas vezes **bloqueia-se**, ver [Bloquear uma aula](#page-timetables.lesson-lock)) para que a geração construa *em torno*. - **Corrigir pontualmente após uma geração** — deslocar uma aula, resolver um caso particular, mudar de ideias quanto a uma faixa horária. - **Construir totalmente à mão** — num horário pequeno, ou quando você prefere manter o controlo do início ao fim (ver mais abaixo). #### O gesto: alfinete e depois faixa horária colorida Posicionar uma aula **nunca é arrastar e largar**. Clique no botão de posicionamento (alfinete, Preencher no horário) da aula — no seu cartão adesivo, na sua linha de listagem, ou na sua ficha (Preencher no horário) se ela já estiver posicionada. O Omniscol exibe então **todas as faixas horárias possíveis**, coloridas consoante o nível de conflito: - **verde** — nenhum conflito; - **amarelo** e depois **laranja** — conflitos ligeiros a moderados (a razão é exibida); - **vermelho** — conflito bloqueante. O detalhe de cada nível e a lista completa das deteções estão em [Conflitos e diagnóstico](#page-timetables.conflicts). As faixas horárias aparecem na turma **e** no professor ou professores envolvidos, com as outras aulas já posicionadas para ajudar a escolher. **Clique na faixa horária escolhida** para nela colocar a aula. Para a retirar, dê duplo clique numa aula já posicionada (ela regressa à zona das aulas não posicionadas, sem ser eliminada). #### Posicionar em lote — vista de agenda Clique em Grade: a agenda das turmas / professores é exibida, prática para encadear os posicionamentos. O gesto não muda — alfinete [thumbtack] de uma aula, depois clique numa faixa horária colorida. É útil no modo calendário para encaixar datas impostas ou retomar localmente o resultado de uma geração. #### Bloquear para fixar um posicionamento manual Uma aula posicionada manualmente permanece, por predefinição, deslocável pela próxima geração. Para que ela **deixe de se mover**, bloqueie a sua posição (cadeado): a geração constrói então em torno dela. Detalhes (bloqueio em massa, efeito no diagnóstico): [Bloquear uma aula](#page-timetables.lesson-lock). #### Fazer tudo manualmente (sem geração) Nada obriga a lançar a geração automática. Num horário semanal de pequena dimensão, ou quando o posicionamento é muito restringido por escolhas humanas, você pode posicionar **cada aula** uma a uma (ou em lote na vista de agenda) e nunca gerar. O diagnóstico em tempo real permanece ativo: os conflitos (professor, sala, turma, recurso) são assinalados à medida que avança, tal como na geração. Depois você publica normalmente. Para as aulas que saem da grade (horários explícitos, exames alargados), ver [Aulas fora da grelha](#page-timetables.off-grid-lessons). #### E a seguir Assim que o horário estiver posicionado — manualmente, por geração, ou ambos — [Publicar (ativar) um horário](#page-timetables.publication). #### Ver também - [Geração automática](#page-timetables.generation) - [Bloquear uma aula](#page-timetables.lesson-lock) - [Aulas fora da grelha](#page-timetables.off-grid-lessons) - [Distribuir as horas e criar as aulas](#page-timetables.hour-distribution) ### 3.18 Edição de uma aula *Source: `help/pt/timetables/lesson-edit.md` · id: timetables.lesson-edit · Audience: admin · Updated: 2026-06-12* Uma vez criada a aula (ver [Distribuir as horas e criar as aulas](#page-timetables.hour-distribution)), você ajusta os seus **campos** um a um: disciplina, grupo, professor, sala, recursos, duração, memorando, e — consoante a sua oferta — estado e modalidade. Esta página recapitula **todos os campos** de uma aula e como os modificar. #### Onde se edita uma aula Os mesmos campos regulam-se de **três formas**, consoante o modo de exibição da distribuição (ver [Três modos de exibição](#page-timetables.hour-distribution)): - **Notas autocolantes**: cada cartão de aula tem uma fila de **ícones** (um por campo); um clique abre o seletor correspondente. - **Reorganização**: um clique numa aula abre uma **ficha de curso** que reúne esses mesmos campos; uma seleção múltipla edita-os em lote. - **Listagem**: uma **coluna por campo**, com edição massiva a partir do cabeçalho de coluna nas aulas assinaladas. Seja qual for o caminho, é a **mesma aula** que você modifica: os valores são coerentes de um modo para o outro, e nada é publicado enquanto você não guardar. #### Campos padrão Disponíveis em todas as ofertas: - **Disciplina** Editar — a disciplina associada à aula, entre as declaradas na turma. - **Grupo** Designar um grupo — o grupo ou subgrupo em causa quando a turma está dividida. - **Professor** Designar professores — o ou os professores. Selecionar **vários** professores na mesma aula corresponde à **coanimação** (ver [Aulas complexas](#page-core-concepts.complex-lessons)). - **Sala** Atribuir uma sala de aula — escolha a sala principal da aula; as variantes avançadas são detalhadas mais abaixo consoante as funções ativas na conta. - **Recursos** Designar recursos — o material mobilizado (videoprojetor, tablets, etc.), com controlo de disponibilidade. - **Duração** — arraste a **margem inferior** do cartão (modo notas autocolantes) para alongar ou encurtar a aula. - **Posição e bloqueio** Preencher no horário — fixe uma aula para que a geração não a desloque (ver [Bloquear uma aula](#page-timetables.lesson-lock)). - **Memorando** Comentário — um comentário livre, com níveis de visibilidade (ver [Memorandos](#page-timetables.hour-distribution)). #### Sala e afetação A afetação de uma sala Atribuir uma sala de aula está aberta a todas as ofertas: escolha uma sala na lista, ou deixe o **modo automático** propor uma sala compatível (capacidade, etiquetas, disponibilidade). > _Premium_ #### Funções avançadas da aula ##### Estado da aula O **estado** Estado indica em que ponto está uma aula no ciclo de planeamento. Quatro valores: - **Planeado** — o estado normal de uma aula posicionada. - **Rascunho** — aula **ocultada** e **ignorada pela geração automática**: útil para preparar uma aula sem a impor ainda ao horário. - **Cancelado** — aula **exibida como cancelada** mas conservada para memória; é **ignorada pela geração**. - **Realizado** — aula **realizada**, tida em conta nos painéis de controlo e na faturação. Este estado é proposto nos horários do tipo calendário, onde o acompanhamento das aulas efetivas faz sentido. O estado é atribuído à **aula inteira** (e não a uma variante de semana alternada). Muda-se aula a aula, ou **em massa** a partir do modo listagem. ##### Modalidade A **modalidade** especifica como decorre a aula: - **Presencial**; - **A distância**; - **Híbrido**; - **Estudo autónomo**. A modalidade escolhe-se no seletor de sala, ao lado da afetação. Tem um efeito concreto: uma aula **a distância** ou em **estudo autónomo** não pede **sala**, e a geração não lha exige. O ícone da aula reflete a modalidade escolhida. ##### Várias salas Uma mesma aula pode receber **várias salas**: mantenha **Shift ⇧** premido ao clicar para estender a seleção. Prático quando uma coorte se reparte por duas salas vizinhas, ou quando uma aula ocupa um espaço duplicado. As salas escolhidas são todas reservadas e participam nos conflitos. ##### Durações e horários personalizados Para além da duração lida na grelha, uma aula pode ter **durações personalizadas** (duração real para os painéis de controlo, duração contabilizada para a faturação) e um **horário fora da grelha** (horas de início e de fim explícitas). Estas regulações, bem como as turmas fora da grelha, são detalhadas na sua página dedicada: [Aulas fora da grelha](#page-timetables.off-grid-lessons). #### Editar várias aulas ao mesmo tempo Para aplicar um mesmo valor a um lote de aulas: - em **reorganização**, **Shift+clique** estende a seleção a um intervalo; a ficha comum edita então todas as aulas em conjunto; - em **listagem**, assinale as aulas pretendidas e depois utilize o **botão de ação no cabeçalho** da coluna (duração, professor, grupo, sala, estado…). É a via rápida para, por exemplo, mudar um conjunto de aulas para **Rascunho** ou atribuir-lhes uma sala comum. #### Eliminar uma aula O ícone Remover retira a aula. A eliminação torna-se **definitiva** ao guardar: antes de guardar, releia as eliminações, pois não há anulação global neste ecrã. #### Procedimento — Alterar o estado de uma aula 1. Abra a distribuição da turma ([Etapa 6](#page-timetables.hour-distribution)). 2. Clique no ícone de **estado** Estado da aula (ou abra a sua ficha em modo reorganização). 3. Escolha o estado pretendido — por exemplo **Rascunho** para a ocultar da geração. 4. Para tratar um lote, passe para **listagem**, assinale as aulas e aplique o estado a partir do cabeçalho da coluna. 5. **Guarde** para publicar as alterações. #### Ver também - [Distribuir as horas e criar as aulas](#page-timetables.hour-distribution) - [Aulas fora da grelha](#page-timetables.off-grid-lessons) - [Bloquear uma aula](#page-timetables.lesson-lock) - [Aulas complexas](#page-core-concepts.complex-lessons) - [Sites, grades horárias, salas, recursos](#page-timetables.sites-rooms) - [Detetar e resolver os conflitos](#page-timetables.conflicts) ### 3.19 Aulas e turmas fora da grelha horária *Source: `help/pt/timetables/off-grid-lessons.md` · id: timetables.off-grid-lessons · Audience: admin · Plan: premium · Updated: 2026-06-13* > **Premium** > _Premium_ Uma **aula fora da grelha horária** é uma aula colocada com horas de início e de fim explícitas, em vez de seguir exatamente os limites de uma faixa horária da grelha. Esta possibilidade existe nos horários semanais, cíclicos e calendário. A **turma fora da grelha** é um parâmetro distinto: é uma propriedade da turma, disponível para os horários do tipo calendário. #### Aula com horário personalizado Utilize um horário personalizado quando uma aula pontual não coincide exatamente com a grelha: um exame que começa às `08:30`, uma intervenção ao fim do dia, uma aula que invade uma pausa, uma reserva que começa antes da aula propriamente dita. A aula permanece visível no horário e continua a participar na deteção de conflitos. Qualquer entidade utilizada pela aula — professor, sala, turma, grupo ou recurso — é considerada ocupada assim que o horário personalizado invade uma faixa horária. Para a geração automática, a aula é tratada como imóvel: a sua posição é bloqueada automaticamente. #### Quando utilizar um evento em vez de uma aula Utilize antes um [evento pontual](#page-schedules.events) se a necessidade não for uma aula do horário: uma reunião, uma reserva simples, a manutenção de uma sala, um dia especial sem volume pedagógico a contabilizar. Mantenha uma aula quando o volume tiver de permanecer associado a um curso, a uma disciplina, a uma turma, a um professor, a um grupo ou a um painel pedagógico. #### Turma fora da grelha A turma fora da grelha serve para os programas cujas aulas têm todas de ser armazenadas com horários precisos, independentemente da grelha do campus. Configura-se ao criar ou ao modificar a turma, apenas nos horários do tipo calendário. Caso típico: uma formação contínua utiliza as mesmas salas e os mesmos professores que a formação inicial, mas funciona com horários muito diferentes. A turma pode então ser configurada fora da grelha, com um passo horário predefinido, por exemplo o quarto de hora. Neste modo, as aulas da turma indicam diretamente as suas horas de início e de fim. Elas **reservam** os professores, salas, turmas, grupos e recursos envolvidos: uma sobreposição com outra aula é assinalada como **conflito** — não bloqueia a colocação manual, mas a geração automática, essa, não coloca nada numa faixa horária em conflito. #### Durações personalizadas Uma aula pode também indicar durações personalizadas: - **Duração calculada**: duração deduzida das horas de início e de fim; - **Duração real**: duração utilizada prioritariamente nos painéis; - **Duração contabilizada**: duração utilizada para a faturação ou o pagamento do professor. Exemplo: para um exame, pode reservar a sala antes e depois da prova, contabilizando apenas a duração real do exame no Painel. Para um vigilante, a duração contabilizada pode ser mais elevada se o estabelecimento compensar também a correção das provas. #### Pontos de atenção - Uma aula com horário personalizado pode sobrepor-se a uma pausa ou a uma faixa horária normalmente livre; verifique que é mesmo essa a intenção. - Como a aula está bloqueada para a geração, pode condicionar fortemente as colocações automáticas em seu redor. - Uma turma fora da grelha é estruturante: deve ser escolhida antes de criar em massa as aulas da turma. - As **aulas complexas** (alternâncias, aulas geminadas, aulas associadas) ficam **desativadas** assim que existem horários explícitos ou uma turma fora da grelha: a funcionalidade não está disponível nesse caso. #### Procedimento — Criar uma aula com horário personalizado 1. Coloque ou abra a aula no horário. 2. Abra a edição do horário personalizado da aula. 3. Introduza a hora de início e a hora de fim. 4. Verifique os conflitos nos professores, salas, turmas, grupos e recursos envolvidos. 5. Reinicie a geração se necessário: a aula permanecerá bloqueada e o algoritmo colocará o resto em seu redor. #### Ver também - [Grade horária, faixas horárias e durações](#page-core-concepts.timetable-grid) - [Configurações gerais](#page-timetables.general-settings) - [Sites, grades horárias, salas, recursos](#page-timetables.sites-rooms) - [Geração automática](#page-timetables.generation) - [Eventos pontuais](#page-schedules.events) ### 3.20 Bloquear o posicionamento de uma aula *Source: `help/pt/timetables/lesson-lock.md` · id: timetables.lesson-lock · Audience: admin · Updated: 2026-06-13* **Bloquear uma aula** significa bloquear a sua **posição** no horário. A aula continua a ser considerada pela geração automática, mas esta já não a pode deslocar. O indício visual esperado é um **cadeado fechado** [lock]. Ao contrário, um **cadeado aberto** [unlock] indica que a posição ainda pode ser deslocada por uma geração ou por uma operação de reorganização. A não confundir: o ícone de **posicionamento** [thumbtack] serve para colocar uma aula no horário. Ele abre ou ativa o posicionamento; não é o marcador de bloqueio. #### Quando bloquear uma aula Casos típicos: - **Interveniente externo** cujo horário é imposto. - **Exame com data marcada** cuja faixa horária ou sala já estão definidas. - **Saída escolar ou visita** agendada para uma faixa horária muito precisa. - **Sala externa com horário imposto** (ginásio, piscina…): possível por bloqueio, mas muitas vezes é preferível recorrer às **restrições horárias da sala**, que orientam a geração automática sem fixar cada aula uma a uma. - **Aula de um [grupo livre](#page-core-concepts.free-groups)** colocada manualmente ao lado de uma aula principal. - **Posição obtida por uma geração anterior** que você quer conservar antes de relançar uma geração mais ampla. #### Como bloquear 1. Posicione a aula no horário se ainda não o fez. 2. Abra o detalhe de posição da aula. 3. Ative o **cadeado fechado** para bloquear a posição. 4. Verifique se a aula apresenta um cadeado na sua posição. Para libertar a posição, utilize o **cadeado aberto**. A aula pode então ser deslocada por uma geração ou por certas operações de reorganização. #### Ações em massa Na distribuição das horas, o menu Ações propõe também operações globais: - Bloquear todas as posições da aula bloqueia as aulas já posicionadas; - Desbloquear todas as posições da aula remove o bloqueio sem retirar a posição; - Cancelar todas as posições da aula remove o bloqueio e retira a posição. Esta última opção é útil antes de uma nova geração limpa, quando você quer partir de aulas não posicionadas. #### Efeitos na geração e no diagnóstico Uma aula bloqueada permanece uma restrição forte para a geração automática. As outras aulas têm de se posicionar em torno dela. Consequência importante: se você bloquear uma aula numa faixa horária muito restrita, o Omniscol respeita essa decisão. Os conflitos ou avisos continuam visíveis, mas o bloqueio indica que a posição é intencional. No diagnóstico, um problema associado a uma aula bloqueada é assim rebaixado de alerta bloqueante (vermelho) para aviso (laranja): o Omniscol assinala o ponto sem já o impor como bloqueio a corrigir. #### A não confundir - **Bloqueio da posição de uma aula**: a aula mantém a sua faixa horária durante a geração. - **Bloqueio colaborativo**: mecanismo ligado à edição simultânea por vários administradores. Ver [Colaboração em tempo real](#page-core-concepts.collaboration). - **Posição sem sala bloqueada**: caso particular em que uma aula deve permanecer sem sala atribuída automaticamente, através de Bloquear. #### Boa higiene - Antes de relançar uma geração, verifique as aulas bloqueadas: demasiadas posições fixas reduzem a margem de otimização. - Depois de uma fase de testes, desbloqueie o que não deve ser conservado. - Para os grupos livres, coloque a aula manualmente e depois bloqueie a sua posição. Ver [Grupos livres](#page-core-concepts.free-groups). #### Ver também - [Geração automática](#page-timetables.generation) - [Diagnosticar uma geração que falha](#page-timetables.diagnosing-generation) - [Grupos livres](#page-core-concepts.free-groups) - [Detetar e resolver conflitos](#page-timetables.conflicts) - [Geração automática](#page-glossary.solver) ### 3.21 Detetar e resolver os conflitos (na geração) *Source: `help/pt/timetables/conflicts.md` · id: timetables.conflicts · Audience: admin · Plan: standard · Updated: 2026-06-23* O Omniscol deteta os conflitos **de forma contínua** durante a **preparação** de um horário e a cada **posicionamento manual**. O diagnóstico distingue os **conflitos bloqueantes** das **restrições não cumpridas** e dos **avisos** que exigem uma arbitragem, e codifica essa gravidade por uma **cor** — nas faixas horárias candidatas e nas listas de seleção quando você coloca uma aula, e em cada linha do painel de diagnóstico. A **geração automática** é um cálculo separado (o algoritmo de geração coloca sob restrições, ou deixa uma aula por posicionar): o seu diagnóstico é tratado em [Diagnosticar uma geração que falha](#page-timetables.diagnosing-generation). #### O que o diagnóstico verifica - **Ocupação (reserva dupla)** — um professor, uma turma, um grupo, um aluno, uma sala de aula ou um recurso não pode servir a duas aulas que se sobreponham, salvo modelação explícita (grupos compatíveis, divisões, salas grandes). - **Disponibilidades e restrições horárias** — período declarado indisponível, ou restrição horária não cumprida (professor, turma, grupo, sala de aula, disciplina, site), graduada consoante a prioridade da restrição. Uma janela de datas imposta, essa, é sempre bloqueante. - **Capacidade e serviço** — sobrelotação de uma sala de aula, recurso pedido em demasiados exemplares, sala de aula inadequada (capacidade, especialização, site), ou horas de serviço de um professor ultrapassadas. - **Excedente de grelha** — as horas de aula a colocar ultrapassam, ou aproximam-se, do número de faixas horárias abertas da grelha, para um professor ou para uma turma inteira. - **Locais e deslocações** — tempo de deslocação insuficiente entre dois sites para um professor ou uma turma, ou duas disciplinas declaradas incompatíveis colocadas ao mesmo tempo. - **Calendário** — aula colocada numa ausência (professor ou turma), num dia fechado / férias, ou num evento incompatível. - **Modelação** — alinhamento quebrado (grupos alinhados sem aula comum), número de aulas diferente entre grupos de uma mesma divisão ou de um mesmo alinhamento, professor ou sala de aula em falta, ou configuração incompleta (site, grelha, parâmetro necessário antes da geração). #### Níveis de gravidade A mesma escala de gravidade — verde, amarelo, laranja, vermelho — colore vários pontos da edição. **Nas faixas horárias candidatas**, quando você posiciona uma aula (ver [Posicionamento manual](#page-timetables.manual-placement)). **E em cada opção das listas de seleção**: quando você escolhe um professor, uma sala de aula, um recurso, um grupo ou participantes para uma aula, cada entrada apresenta um ícone de calendário colorido consoante o seu nível na faixa horária visada — verde se a entidade está livre, vermelho se está ocupada — com o detalhe ao passar o cursor. Só uma indisponibilidade **vermelha** (ocupado, período fechado) impede a escolha; uma sala de aula demasiado pequena ou mal especializada continua selecionável, com aviso. | Cor | Significado | | --- | --- | | **verde** | nenhum conflito — a entidade está livre (ou um recurso permanece abaixo do seu limite) | | **amarelo** | incómodo ligeiro, não bloqueante (restrição horária de prioridade média, ausência inteiramente substituída, sala de aula correta mas não ideal) | | **laranja** | restrição forte (restrição horária de prioridade elevada, sala de aula preenchida até 110 % da sua capacidade, horas de serviço até 110 %, deslocação entre sites demasiado curta, disciplinas incompatíveis, dia fechado) | | **vermelho** | conflito bloqueante (reserva dupla, restrição horária obrigatória ou janela de datas imposta, sala de aula acima de 110 % da sua capacidade, ausência não coberta, alinhamento quebrado) | **No painel de diagnóstico.** Cada problema listado apresenta um nível, retomado pelo filtro. O painel agrupa o laranja e o amarelo sob um único nível «importante», e acrescenta um nível «conselho» para as informações não bloqueantes: | Nível | Sentido | Cores de faixa horária correspondentes | | --- | --- | --- | | **vermelho** | Conflito bloqueante | vermelho | | **amarelo** | Restrição não cumprida / Aviso | laranja + amarelo | | **azul** | Conselho / Limite próximo | pressão de grelha, divisões | Quando a opção Bloqueio de escolhas em conflito (restrições fortes) está ativa, o Omniscol impede as escolhas que criariam uma restrição forte; caso contrário, o alerta permanece visível para que o administrador arbitre. ##### Excedente e pressão de grelha O Omniscol compara permanentemente as **horas de aula a colocar** com o **número de faixas horárias abertas** da grelha — para cada professor (por turma e por site) e para cada turma inteira. A mensagem indica os dois valores, por exemplo «18 h / 16 h». Três patamares, consoante o preenchimento: | Patamar | Preenchimento | Leitura | | --- | --- | --- | | **azul** — pressão | grelha preenchida a 90–100 % | os limites serão em breve atingidos; o posicionamento já está tenso | | **laranja** — excedente ligeiro | 100–110 % (horas > faixas horárias até 110 %) | um horário válido será *provavelmente* impossível | | **vermelho** — excedente forte | acima de 110 % | um horário válido será *quase certamente* impossível | Este cálculo só corre se pelo menos um site estiver configurado, e não sinaliza nada enquanto a grelha permanecer abaixo de 90 %. Mede as horas requeridas face às faixas horárias disponíveis — a não confundir com o **excesso de horas de serviço** de um professor (horas lecionadas face às horas contratuais), que partilha as mesmas cores mas continua a ser uma deteção distinta. ##### Todas as deteções | Deteção | Família de filtro | Nível | | --- | --- | --- | | Professor, turma ou grupo já ocupado | Conflitos | vermelho | | Sala de aula já ocupada | Conflitos | vermelho | | Alinhamento quebrado (grupos alinhados sem aula comum) | Conflitos | vermelho (laranja se só a sala de aula ou o recurso diferir) | | Restrição horária não cumprida (professor, turma, grupo, sala de aula, disciplina, site) | Restrições horárias | obrigatória → vermelho, elevada → laranja, média → amarelo (janela de datas → sempre vermelho) | | Sobrelotação de uma sala de aula | Capacidade | laranja até 110 % da capacidade, vermelho acima | | Recurso em excesso | Capacidade | laranja | | Sala de aula inadequada (capacidade, especialização, site) | Capacidade | amarelo — forçável | | Horas de serviço de um professor ultrapassadas | Capacidade | laranja até 110 %, vermelho acima | | Excedente / pressão de grelha | Excedente de grelha | azul → laranja → vermelho (ver acima) | | Tempo de deslocação insuficiente entre sites (professor, turma) | Distância | laranja | | Disciplinas incompatíveis ao mesmo tempo | Compatibilidade | laranja | | Nenhuma sala de aula disponível entre as salas autorizadas | Sala de aula em falta | amarelo (vermelho se nenhuma) | | Professor em falta (aula sem professor atribuído) | Professor em falta | amarelo | | Sala de aula em falta (aula colocada sem sala de aula requerida) | Sala de aula em falta | amarelo | | Número de aulas diferente entre grupos de uma divisão | Divisões | azul (indicativo) | | Número de aulas diferente entre grupos alinhados | Alinhamentos | vermelho (configuração bloqueante) | | Professor ausente na sua aula | Ausências | não coberto → vermelho, substituído → amarelo, parcial (coensino) → laranja | | Turma ausente | Ausências | vermelho | | Aula num dia fechado / férias | Calendário | laranja (por vezes forçado a vermelho) | | Configuração incompleta (site, grelha, parâmetro) | — | bloqueante antes da geração | ##### Navegar a partir de um alerta Cada linha do painel é **clicável**: a lupa [magnifying-glass] conduz diretamente à aula, ao grupo ou à turma em causa — a forma mais rápida de isolar o contexto de um conflito. Para um conflito de **grupos** (divisão, alinhamento), o ícone [link] mantém apenas os grupos em relação, o que faz sobressair a restrição quando o diagnóstico bruto não basta. > _Premium_ #### Filtrar o diagnóstico O botão Filtros de diagnóstico (triângulo de aviso, no topo do painel) abre um menu para manter apenas os alertas úteis à análise em curso. O seu ícone passa a laranja enquanto um filtro permanecer ativo. Nele define-se: - **Níveis** — mostrar ou ocultar o vermelho (bloqueante), o amarelo (importante / a verificar), o azul (conselho / limite próximo). - **Entidades** — turmas, professores, salas de aula, recursos, grupos, e os tipos de eventos de calendário (eventos, férias, ausências). - **Níveis de turma**, **campus**, **sites** — restringir a um perímetro. O campus isola uma entidade organizacional (unidade, faculdade, polo); o site refere-se ao local físico. - **Motivos** — ativar ou desativar cada família de deteção: restrições horárias, conflitos, capacidade, distância, professor em falta, sala de aula em falta, compatibilidade, divisões, alinhamentos. - **Intervalo** (horário calendário) — limitar às próximas semanas ou meses, e ocultar o passado. - **Comportamento** — Bloqueio de escolhas em conflito (restrições fortes) impede ativamente os posicionamentos que criariam um conflito forte. - **Reiniciar** — voltar a mostrar tudo. Um filtro não resolve um conflito: apenas oculta o que não ajuda a análise em curso. #### Resolver um conflito As correções mais frequentes são: - deslocar uma aula; - mudar de professor, sala de aula ou recurso; - ajustar uma restrição demasiado forte; - corrigir uma indisponibilidade ou uma ausência introduzida por engano; - criar ou corrigir os grupos, divisões ou alinhamentos; - acrescentar uma sala de aula compatível, uma capacidade ou uma especialização; - bloquear uma aula que deve permanecer fixa antes de relançar uma geração. Se a geração não encontrar uma solução completa, pode devolver um horário parcial: as aulas não posicionadas permanecem na barra dos autocolantes das aulas por colocar. Corrija os diagnósticos prioritários, depois relance ou posicione manualmente os casos restantes. #### Casos que exigem uma arbitragem Alguns sinais correspondem a uma decisão de gestão em vez de a um erro de introdução. Exemplos: - exame com uma sala principal e uma sala de tempo suplementar; - capacidade declarada superior aos lugares introduzidos quando a instituição sabe que uma parte dos inscritos não estará presente; - sala anexa não modelada no Omniscol. Nesses casos, é preferível modelar explicitamente a situação quando possível: multi-salas, grupos adaptados, capacidade corrigida ou evento separado. Deixar um alerta voluntário deve permanecer uma decisão conhecida da equipa, não um ruído permanente. #### Procedimento 1. Abra o diagnóstico do horário. 2. Filtre se necessário por nível, campus, site, entidade ou tipo de problema. 3. Trate primeiro os conflitos bloqueantes. 4. Abra o detalhe do problema para identificar as aulas e recursos envolvidos. 5. Corrija a aula, a restrição ou a modelação. 6. Relance o diagnóstico ou a geração para verificar que o problema desapareceu. #### Ver também - [Conflito](#page-glossary.conflict) - [Diagnóstico](#page-glossary.diagnostic) - [Campus](#page-glossary.campus) - [Geração automática](#page-timetables.generation) - [Posicionamento manual](#page-timetables.manual-placement) - [Diagnosticar uma geração que falha](#page-timetables.diagnosing-generation) ### 3.22 Diagnosticar uma geração que falha *Source: `help/pt/timetables/diagnosing-generation.md` · id: timetables.diagnosing-generation · Audience: admin · Updated: 2026-06-24* A geração «falha» quando o algoritmo de geração não consegue **encaixar tudo**: devolve o melhor horário parcial encontrado, e as aulas que teve de **sacrificar** ficam na barra dos post-its por colocar (uma faixa vermelha resume o bloqueio). O problema é quase sempre uma **sobrecarga de restrições**: aulas a mais para as faixas horárias abertas, ou restrições demasiado apertadas para encaixarem. O remédio consiste em **aliviar** o que puder ser aliviado — é o objeto desta página. Para compreender como o algoritmo de geração prioriza e o que sacrifica, ver [Geração automática](#page-timetables.generation); para o catálogo dos conflitos num horário já posto, ver [Conflitos e diagnóstico](#page-timetables.conflicts). #### O diagnóstico é uma pista, não um veredito Quando uma aula não pode ser posicionada, o Omniscol destaca **a entidade que colocou mais problemas** ao longo das tentativas — «este professor não tem faixas horárias suficientes», «esta turma não cabe na sua grade». **É uma heurística**: a entidade assinalada é a que volta mais vezes nos bloqueios, não necessariamente *a* causa única. As restrições estão **cruzadas** — aliviar noutro sítio pode desbloquear tudo. Tome portanto a mensagem como uma **direção de pesquisa**: o verdadeiro remédio é muitas vezes **atenuar a sobrecarga geral de restrições** (um pouco mais de faixas horárias, disponibilidades menos estritas) em vez de insistir na entidade apontada. #### Causas mais frequentes ##### 1. Disponibilidades demasiado restritivas Um professor marcou tantos períodos como **impossíveis** que já não restam faixas horárias suficientes para posicionar as suas aulas. **Diagnóstico**: examine o ecrã das disponibilidades do professor em causa. Conte as faixas horárias livres e compare com o seu volume horário. **Resoluções**: - Flexibilizar certos períodos (passar do preto ao vermelho — indesejável mas não impossível), - Redistribuir os cursos (atribuir uma parte a outro professor), - Conversar com o professor se a disponibilidade for negociável. ##### 2. Nenhuma sala de aula compatível Uma disciplina requer uma **especialização** para a qual nenhuma sala de aula foi criada, ou todas as salas de aula correspondentes estão ocupadas nas únicas faixas horárias possíveis. **Resoluções**: - Criar a especialização em falta numa sala de aula adequada, - Reduzir a restrição de especialização, - Acrescentar uma sala de aula. ##### 3. Capacidade insuficiente O efetivo de um grupo / de uma turma ultrapassa a capacidade de todas as salas de aula candidatas. **Resoluções**: - Atribuir uma sala de aula maior, - Atribuir [várias salas](#page-glossary.multi-room) a um mesmo curso (a capacidade total é a soma), - Dividir a turma / o grupo. ##### 4. Alinhamento estruturalmente impossível Os volumes horários dos grupos alinhados diferem, ou as turmas mães têm grades horárias incompatíveis, ou um professor alinhado só pode estar num único sítio. **Resoluções**: - Harmonizar os volumes horários entre os grupos alinhados, - Desalinhar e criar um curso por turma, - Verificar que os locais das turmas alinhadas partilham uma grade horária comum na faixa horária alvo. ##### 5. Aulas de curso a mais para a grade Quando uma turma ou um professor tem manifestamente mais horas do que faixas horárias abertas, um **aviso assinala-o a montante** (separador **Geração**, contadores horas vs faixas horárias). O caso perverso é mais traiçoeiro: tomado isoladamente, nenhum transbordo evidente, mas a **acumulação** das restrições entre professores e turmas — e os seus **cruzamentos** — acaba por já não caber. **Resoluções**: - Reduzir os volumes horários introduzidos, - Estender a grade horária (abrir a quarta-feira à tarde, por exemplo), - Flexibilizar algumas indisponibilidades, visando as **faixas que muitas entidades evitam ao mesmo tempo**: a acumulação satura a grade. ##### 6. Incompatibilidades demasiado numerosas Empilhar restrições «não X depois de Y» pode criar um sistema sem solução. **Resolução**: substituir certas incompatibilidades por **pesos pedagógicos** mais flexíveis. ##### 7. Salas de aula insuficientes (estrangulamento) Muito frequente: mesmo que cada sala de aula sirva, o seu **número** não chega para absorver a procura no mesmo momento. As aulas de curso empilham-se nas mesmas faixas horárias e a falta de salas de aula torna-se o **estrangulamento** que impede o conjunto de caber. **Resoluções**: - Acrescentar salas de aula (ou partilhá-las entre turmas), - Distribuir a procura alargando a grade horária, - Reduzir as restrições que concentram os cursos em poucas faixas horárias. ##### 8. Vários locais: as deslocações consomem as horas Com vários locais, os **tempos de deslocação** entre implantações reduzem as faixas horárias realmente utilizáveis por um professor (ou uma turma): mudar de local custa tempo, que deixa de estar disponível para colocar uma aula. As disponibilidades efetivas apertam-se e o quebra-cabeças complica-se. **Resoluções**: - Agrupar os cursos de um professor no mesmo local ao longo do dia, - Verificar os tempos de deslocação declarados entre locais, - Limitar as idas e voltas entre locais no mesmo dia. #### Lista de verificação antes de relançar uma geração - Todas as turmas têm um local atribuído? - Todas as turmas têm as suas disciplinas e os seus professores? - Todos os grupos usados em cursos têm um efetivo teórico ou uma capacidade gerível? - As disponibilidades de todos os professores estão validadas? - Nenhum alerta crítico (vermelho) no separador **Geração**? #### Ferramentas de diagnóstico integradas - **Separador Geração** — *a montante*: estatísticas (cursos / horas por professor, por turma, por local) e avisos (horas vs faixas horárias, alertas críticos a corrigir antes de lançar). - **Aulas não colocadas** (post-its, à direita) — *após uma falha*: a saída de uma geração incompleta. O botão de posicionamento (pino) em cada uma mostra, através das faixas horárias coloridas, por que motivo nenhum lugar serve. - **Deteção de grupos esquecidos**: grupos definidos mas sem nenhum curso atribuído. #### Procedimento — Diagnosticar uma geração que falha 1. **Quando a geração falha**, o Omniscol exibe uma faixa vermelha, mantém o horário parcial visível, e coloca as aulas que não conseguiu encaixar na **barra dos post-its**, à direita. 2. **Leia a faixa**: ela dá uma **direção** (heurística, cf. acima), não um veredito. 3. **Parta das aulas não colocadas, não dos «conflitos».** A geração nunca cria um conflito: apenas deixa de lado o que não cabe. Pegue numa aula nos post-its e clique no seu botão de posicionamento (pino, Preencher no horário). 4. **Leia as faixas horárias coloridas.** O Omniscol exibe todas as faixas horárias candidatas; para uma aula impossível de colocar, estão todas bloqueadas. Procure **porquê**, na ordem dos três bloqueios habituais: o **professor** ocupado ou indisponível, a **turma** (ou o grupo) ocupada, ou **nenhuma sala de aula** livre e compatível. A razão aparece ao passar o cursor sobre a faixa horária. 5. **Alivie a restrição que bloqueia** — conforme o caso: flexibilizar as disponibilidades, acrescentar ou libertar uma sala de aula, harmonizar um alinhamento, alargar a grade (cf. as causas acima) — e depois relance. 6. **Antes de relançar**, percorra a lista de verificação acima (locais atribuídos, disciplinas e professores no lugar, efetivos informados, disponibilidades validadas, nenhum alerta crítico no separador **Geração**). #### Ver também - [Geração automática](#page-timetables.generation) - [Conflitos e diagnóstico](#page-timetables.conflicts) - [Diagnóstico](#page-glossary.diagnostic) - [Conflito](#page-glossary.conflict) - [Casos particulares e configurações avançadas](#page-faq.edge-cases) ### 3.23 Visualizar, duplicar, reorganizar um horário *Source: `help/pt/timetables/visualize-duplicate.md` · id: timetables.visualize-duplicate · Audience: admin · Updated: 2026-06-25* Uma escola tem frequentemente **vários horários** em fases diferentes: o horário ativo do ano corrente, um rascunho para o início do ano letivo seguinte, um cenário de teste para explorar uma reorganização. Esta página resume como gerir estas múltiplas versões sem confusão e para que servem os ecrãs **Visualizar** e **Reorganizar** uma vez gerado um horário. #### Ver a lista de horários O módulo **Gestão de horários letivos** abre na lista dos horários da conta: ativos e rascunhos. Para cada horário, você vê: - o seu **rótulo** (`Ano 2026-2027`, `Rascunho início 2027`, `Cenário fusão 7.º/8.º ano`), - o seu **estado** (publicado ou não publicado), - o **intervalo de semanas** em que está publicado (quando aplicável), - as **estatísticas rápidas** (número de turmas, número de aulas, número de professores). As ações disponíveis permitem nomeadamente abrir, duplicar ou eliminar um horário. A eliminação está desativada num horário publicado. #### Visualizar um horário gerado O botão Visualizar abre o horário em modo **somente leitura**: você observa o horário final sem poder modificá-lo. É o ecrã a privilegiar para **reler** antes da publicação, **verificar** uma semana ou uma sequência de aulas, **mostrar** o horário sem dar acesso às funções de edição, **exportar** ou **partilhar**. ##### Uma inspeção sem risco O ecrã retoma o motor de exibição habitual dos horários, mas em modo **seguro**: sem deslocação de aula, sem gravação, sem correção involuntária. Você encontra aí os filtros de exibição, o seletor de dias, os diferentes modos de exibição (grelha, lista, tabela, planeamento, dia, mês, frente a frente — detalhados em [Exibição dos horários](#page-schedules.schedule-display)) e o fecho rápido de vários calendários abertos lado a lado. ##### Semanas alternadas e variantes Isto é particularmente útil quando o horário gere **semanas alternadas**: você exibe a vista **Todas as semanas** e depois as **variantes** uma a uma através dos separadores dedicados (A/B, 1/2, etc.). É muitas vezes a forma mais simples de verificar que um horário recorrente é coerente em todas as suas variantes, sem o ruído das ferramentas de edição. ##### Partilhar em somente leitura A partir deste ecrã, você abre a função de **partilha**: você difunde o planeamento teórico completo em modo somente leitura a um terceiro (parceiro externo, direção, responsável de local), através de uma ligação web, sem abrir o acesso à conta Omniscol. Para um horário do tipo calendário, uma ligação **iCal** também está disponível. Detalhes em [Compartilhar um horário por link público](#page-schedules.share-link). ##### Exportar (PDF, Excel, impressão) O ecrã Visualizar é o ponto natural para produzir um ficheiro do horário exibido: - Exportar dados para o formato PDF para gerar um **PDF**, - Exportar dados para o formato Excel para exportar em **Excel / XLSX**, - Imprimir para a **impressão**. Para os horários de turmas e de professores, é geralmente o mais direto para produzir um documento limpo para transmitir. #### Reorganizar rapidamente um horário finalizado O botão Reorganizar abre o mesmo horário em modo de **edição rápida**. A ideia não é refazer toda a construção do horário, mas corrigir rapidamente casos marginais num planeamento já concluído. Casos típicos: - deslocar uma aula já gerada, - alterar uma sala, uma faixa horária ou uma afetação pontual, - adicionar uma aula isolada, - corrigir alguns conflitos residuais sem repassar por toda a cadeia **distribuição das horas → geração**. Neste ecrã, você encontra a grelha, os filtros, o painel das faixas horárias disponíveis, o botão Adicionar e o botão Salvar para gravar as modificações. Se a modificação se tornar **estrutural** (turmas, grupos, disciplinas, volumes horários, restrições globais), volte antes às etapas de construção do horário ou duplique o horário para trabalhar num rascunho. #### Duplicar um horário Três casos típicos: - **Preparar o ano seguinte** a partir do horário ativo — ver [Preparar o próximo ano letivo](#page-timetables.next-school-year). - **Criar um cenário de teste** a partir do horário ativo para explorar uma modificação estruturante sem risco (fusão de turmas, reorganização dos locais, adição de uma nova via de ensino). - **Recomeçar a partir de um horário antigo conservado na conta** — recuperar uma estrutura de um ano passado como base para uma nova. A ação Duplicar abre um diálogo. A cópia criada é sempre um **rascunho não publicado**: só se torna ativa quando você a publica explicitamente. O diálogo apresenta uma árvore de caixas **todas assinaladas por predefinição**: deixar tudo assinalado produz uma cópia idêntica; desmarcar uma caixa retira o elemento correspondente da cópia. ##### Escolher o que é retomado A árvore segue a estrutura do horário; desmarque um ramo para o reconstruir de novo: - **Locais** — com as suas salas e os seus recursos. Desmarcar os locais retira também as salas e os recursos associados às aulas **e os posicionamentos das aulas**: a cópia parte então de uma grelha a reposicionar. - **Professores** — o conjunto de professores do horário. Desmarcar o conjunto retira ao mesmo tempo as afetações professor-turma-disciplina e os professores associados às aulas. - **Turmas** — com os seus grupos, as suas disponibilidades, as suas incompatibilidades e a distribuição das horas. Cada subramo desmarca-se separadamente: grupos, disponibilidades de turma, incompatibilidades, ou o detalhe das aulas (grupos, salas, recursos, modalidade, comentário, posições…). - **Posições das aulas** — desmarcada isoladamente, a cópia conserva toda a estrutura mas **a grelha fica vazia**: é a forma limpa de clonar uma preparação para relançar uma geração do zero. As dependências são aplicadas automaticamente: você não pode manter uma sala numa aula retirando ao mesmo tempo o conjunto dos locais, por exemplo. E qualquer que seja o nível de detalhe desmarcado, a Omniscol limpa as referências que se tornaram órfãs — uma turma que apontava para um local retirado, por exemplo. ##### Transformar o tipo de horário > _Premium_ A mesma caixa de diálogo pode **converter** a cópia para um tipo diferente do original. O seletor propõe apenas os dois **outros** tipos. Converter reajusta as aulas à nova representação. - **Para um calendário** (a partir de um semanal ou de um cíclico) — você indica um **período** (data de início e de fim). Cada aula recorrente é **implantada numa aula datada para cada dia útil correspondente** do período; os feriados, encerramentos e ausências são saltados. O volume horário de cada disciplina é ajustado ao número de semanas do período, e as semanas alternadas são resolvidas data a data na variante correta (A/B, A/B/C…). - **Para um ciclo** — você indica a **duração do ciclo** em dias úteis; cada posição torna-se um número de dia no ciclo. - **Para um semanal** (a partir de um cíclico ou de um calendário) — cada aula recai no seu **dia da semana**. Converter para um semanal ou um ciclo é voluntariamente simplificador: várias aulas que caíam no mesmo dia da semana agrupam-se numa mesma faixa horária, e as disponibilidades datadas de um calendário não são reportadas. Reserve a conversão para um calendário aos casos em que você quer realmente datas explícitas. > _Premium_ ##### Deslocar as datas (horário calendário) Para um horário do tipo **calendário**, a duplicação pode **reajustar todas as aulas** para uma nova data de início — prático para reproduzir a mesma organização no ano seguinte. Você assinala a opção de deslocação, indica a nova data de início, e a Omniscol desloca o período e depois realinha cada aula. O princípio: a Omniscol **conserva a sucessão dos dias de aula**. O Nᵉ dia de aula do período de origem torna-se o Nᵉ dia de aula do novo período — o realinhamento segue os dias úteis, e não a data de calendário bruta. Uma aula pode assim **mudar de dia da semana**, por duas razões. Primeiro porque a nova data de início não cai necessariamente no mesmo dia que a antiga: se a origem começa numa segunda-feira e o destino numa quarta-feira, tudo desliza dois dias. Depois — e é o caso mais frequente — porque os feriados e os encerramentos dos dois períodos não coincidem. As aulas que caem fora do novo período **voltam a ficar não posicionadas**: as aulas e todos os seus detalhes permanecem, apenas o posicionamento se perde. #### Reorganizar uma escola na Omniscol Para uma reorganização estruturante (passagem de um funcionamento em turmas tradicionais para um modo por grupos, fusão de níveis, abertura de um novo local), trabalhe num **horário de rascunho** dedicado: 1. Duplique o horário ativo para `Cenário reorganização 2027-2028`. 2. Modifique a estrutura (turmas, grupos, locais) no rascunho. 3. Lance o diagnóstico e a geração para medir a viabilidade. 4. Itere sem tocar na conta de produção. 5. Quando o cenário estiver validado, você pode passar à publicação. A vantagem: enquanto o cenário permanecer rascunho, os utilizadores finais (aluno, professor) não veem nada. Apenas os administradores têm acesso ao rascunho. #### Eliminar um rascunho inútil Um horário não publicado pode ser eliminado a partir da lista. Para conservar um registo antes da eliminação, abra primeiro o horário e depois exporte-o em JSON através de [download]. Detalhes em [Geração automática](#page-timetables.generation). Um horário publicado não deve ser eliminado diretamente: retire primeiro a sua publicação na grelha de distribuição se você tiver realmente de o retirar do operacional. #### Procedimento — Criar um cenário de teste a partir de um horário ativo 1. **Para explorar uma reorganização** (fusão de turmas, novo local, passagem a grupos) sem tocar na conta de produção: trabalhe num **rascunho de cenário** duplicado a partir do horário ativo. Os utilizadores não veem nada enquanto permanecer rascunho. 2. **Abra o módulo Gestão de horários letivos**: a lista exibe os horários da conta com o seu estado publicado/não publicado, os seus intervalos de semanas e as suas estatísticas rápidas (turmas, aulas, professores). 3. **Clique em [copy] Duplicar** no horário ativo. Diálogo: assinale o que é retomado — **locais** (salas, recursos), **professores**, **turmas** (grupos, disponibilidades), **aulas** e os seus detalhes. Para um cenário, mantenha frequentemente estrutura e aulas, desmarcando as afetações de professores a refazer. 4. **Dê um rótulo elucidativo**: `S1 26-27`, `T3 2027`, `Teste novo local Lisboa`, `Reorga grupos opções`. Quanto mais explícito for o rótulo, menos você arrisca confundir daqui a 3 meses. 5. **Modifique a estrutura no rascunho**: crie ou funda as turmas, adicione o local, reorganize os grupos. **Lance a geração** para medir a viabilidade. Itere tranquilamente — zero impacto no horário ativo. 6. **Se o cenário estiver validado**, passe à publicação (ver [Publicação](#page-timetables.publication)). Caso contrário, mantenha-o como rascunho ou exporte-o em JSON antes da eliminação. #### Ver também - [Vista geral do módulo Gestão de horários letivos](#page-timetables.overview) - [Exibição dos horários](#page-schedules.schedule-display) - [Compartilhar um horário por link público](#page-schedules.share-link) - [Preparar o próximo ano letivo](#page-timetables.next-school-year) - [Publicação de um horário](#page-timetables.publication) ### 3.24 Preparar o próximo ano letivo *Source: `help/pt/timetables/next-school-year.md` · id: timetables.next-school-year · Audience: admin · Plan: standard · Updated: 2026-06-25* A construção de um horário para o ano seguinte pode começar seis a nove meses antes, em paralelo com o funcionamento corrente. O princípio consiste em duplicar o horário ativo para criar um rascunho e, depois, trabalhar sobre esse rascunho sem modificar o horário publicado. #### Três elementos a transpor Três famílias a retomar do ano corrente para o ano seguinte: 1. **Estrutura** — campus/salas, turmas, grupos, divisões de turma, alinhamentos de grupos, grupos de grupos. Muitas vezes reutilizável em 80-90 % de um ano para o outro, com ajustes marginais. 2. **Aulas** — a lista das aulas a programar (disciplina, turma, professor, duração, número de ocorrências semanais). Reutilizável em 70-80 %, tendo em conta a evolução dos programas. 3. **Atribuições professor-turma-disciplina** — quem ensina o quê. Mais volátil (saídas, chegadas, alterações de serviço). #### Iniciar a duplicação A partir do módulo Gestão de horários letivos, utilize a ação Duplicar sobre o horário que servirá de base. A caixa de diálogo assinala tudo por predefinição; desmarque aquilo que preferir reconstruir: - **Campus** — com as respetivas salas e recursos. - **Professores** — a atribuição dos professores ao horário; as suas disponibilidades acompanham-nos. Consoante a sua política, num horário recorrente, pode preferir voltar a pedir-lhes as disponibilidades para o novo ano em vez de retomar as antigas. - **Turmas** — com as respetivas aulas, grupos, alinhamentos, disponibilidades e incompatibilidades. - **Aulas** (distribuição de horas) — com o detalhe a conservar ou não: atribuições dos professores às aulas, grupos, salas, recursos, posições. Muitas vezes convém rever, pois os professores e os alunos vão mudar. O rascunho criado não é publicado: não afeta o horário ativo do ano corrente. Para os horários semanais ou cíclicos, a publicação nas semanas do ano seguinte faz-se depois na grelha de distribuição. A duplicação pode também, de passagem, **deslocar as datas** das aulas (num horário calendário) ou **transformar o tipo de horário**: estas duas opções e os seus efeitos — nomeadamente o realinhamento das aulas e os reagrupamentos — estão detalhados em [Visualizar, duplicar, reorganizar](#page-timetables.visualize-duplicate). #### Trabalhar sobre o rascunho O horário preparado aparece na lista como rascunho. Renomeie-o com um rótulo explícito, por exemplo `S1 27-28`. Pode: - abri-lo para modificar as turmas, adicionar os novos professores, retirar os que saíram, - pedir aos professores em funções as suas disponibilidades para o novo ano (envio em massa através do módulo Administração), - iniciar a geração automática para verificar a viabilidade, - iterar com calma durante meses. #### Publicação no início do ano Quando o horário rascunho está pronto e o novo ano letivo chega, você **publica-o** nas semanas pretendidas. Ver [Publicação](#page-timetables.publication). O rascunho torna-se o horário ativo e o horário anterior permanece consultável como histórico. #### Procedimento — Preparar o ano letivo N+1 1. **Começar o N+1 em paralelo com o funcionamento corrente**: o Omniscol isola o rascunho do horário corrente. Você itera com tranquilidade durante meses sem estragar nada. 2. **Pré-requisito**: crie o ano letivo N+1 em [Administração → Ano letivo](#page-admin.school-year) com as respetivas datas e férias. Será necessário no momento de publicar nas semanas desse ano. 3. **No módulo Gestão de horários letivos**, utilize a ação Duplicar sobre o horário de referência. Tudo está assinalado por predefinição; desmarque aquilo que será reconstruído: - **Campus**, salas e recursos. - **Professores** atribuídos ao horário (as suas disponibilidades acompanham-nos) — muitas vezes convém rever, ou até voltar a pedir para o ano novo. - **Turmas**, grupos e alinhamentos — reutilizáveis em 80-90 %. - **Aulas** e os respetivos detalhes (atribuições, salas, posições…) — a rever, pois professores e alunos vão mudar. 4. **O rascunho está criado**. Renomeie-o claramente, abra-o e, depois, ajuste as turmas (chegadas, saídas, fusões), adicione os novos professores e retire os anteriores. 5. **Peça as disponibilidades** aos professores em funções através de envio em massa a partir de Administração. **Inicie a geração automática** para verificar a viabilidade o mais cedo possível — itere sobre as restrições, os volumes, os professores. 6. **Quando estiver pronto no início do ano**, **publique** o rascunho nas semanas pretendidas (ver [Publicação](#page-timetables.publication)). O rascunho torna-se o horário ativo no N+1 e o horário N anterior permanece consultável como histórico. ⚠ Não se esqueça da **seta para a direita** da linha do tempo ou de mudar de ano através do seletor, caso contrário permanece no ano N (cf. [Linha do tempo e navegação temporal](#page-core-concepts.timeline-navigation)). #### Ver também - [Ano letivo e férias](#page-admin.school-year) - [Vista geral do módulo Gestão de horários letivos](#page-timetables.overview) - [Publicação de um horário](#page-timetables.publication) - [Visualizar, duplicar, reorganizar](#page-timetables.visualize-duplicate) --- ## 4. Painel ### 4.1 Visão geral do módulo Painel *Source: `help/pt/dashboard/overview.md` · id: dashboard.overview · Audience: admin/teacher/staff · Plan: standard · Updated: 2026-06-25* O módulo **Painel** (ícone [gauge-high] no menu à esquerda) reúne as estatísticas calculadas sobre o horário operacional (aulas realmente posicionadas e publicadas, tendo em conta as [ausências](#page-glossary.absence) e as [substituições](#page-glossary.substitution)). É uma ferramenta de **relatórios** e de **pilotagem**: quantas horas cada professor lecionou, qual a ocupação das salas, que volume horário por disciplina por turma, quantos dias de presença por aluno. #### Indicadores disponíveis Seis eixos de análise, acessíveis pelos separadores do módulo: - Professores — disciplinas lecionadas, número de turmas, horas contabilizadas, horas extraordinárias, horas anuladas. - Salas — horas ocupadas, dias de abertura, horas por dia, alunos acolhidos. - Recursos — horas de utilização, dias de utilização, quantidade por dia. - Disciplinas — horas de aula, dias, aulas, detalhe por turma. - Turmas — horas totais (com a proporção por grupo), dias, detalhe por disciplina e por professor. - Alunos — aulas, horas, dias de presença, detalhe por disciplina. #### Período de análise Filtrável por **semana**, **mês**, **ano letivo** ou **intervalo de datas personalizado**. A linha do tempo no topo serve para navegar temporalmente. #### Exportação O botão Imprimir abre uma tabela copiável, imprimível ou exportável em CSV. Para transmitir estes valores, consulte [Link de compartilhamento](#page-glossary.share-link). Um link iCal não faz sentido aqui: o Painel contém apenas estatísticas, não aulas datadas. #### Partilha O botão Compartilhamento gera um link público só de leitura sobre as estatísticas do período. Útil para os auditores externos, os responsáveis pedagógicos sem conta Omniscol, etc. #### Ver também - [Painel](#page-glossary.dashboard) - [Estado](#page-glossary.lesson-status) - [Consultar e filtrar](#page-schedules.consult-and-filter) - [Gestão de horários letivos](#page-timetables.overview) ### 4.2 Utilizar as tabelas e os gráficos *Source: `help/pt/dashboard/tools-and-filters.md` · id: dashboard.tools-and-filters · Audience: admin/teacher/staff · Plan: standard · Updated: 2026-05-18* Os separadores do **Painel** combinam uma tabela e gráficos. A tabela serve para controlar o detalhe; os gráficos servem para visualizar rapidamente a distribuição ou os valores extremos. #### Pesquisa e gráficos A pesquisa filtra as linhas da tabela. Os gráficos são recalculados com base nas linhas visíveis: se pesquisar uma disciplina, um campus ou um professor, os gráficos refletem apenas esse âmbito. A pesquisa é tolerante a maiúsculas, a acentos e a espaços supérfluos. Várias palavras na mesma pesquisa são interpretadas como critérios a respeitar em conjunto. Uma vírgula permite pesquisar várias possibilidades. Exemplos: - `math durand` apresenta as linhas que contêm ao mesmo tempo `math` e `durand`. - `amphi, laboratoire` apresenta as linhas correspondentes a um ou outro termo. - `site nord >50` pode servir, numa lista de salas, para isolar as salas do campus norte cuja capacidade excede 50 lugares. #### Ordenação das colunas Os cabeçalhos de coluna ordenáveis permitem reordenar a tabela: ordem alfabética para os nomes, ordem numérica para os contadores, ordem cronológica para as durações. Clique novamente no mesmo cabeçalho para inverter a ordenação. A ordenação é útil antes de uma exportação: pode, por exemplo, fazer subir os professores com mais horas adicionais, as salas mais ocupadas ou as turmas com o maior volume horário. #### Copiar um gráfico Para reutilizar um gráfico num documento, numa mensagem de correio eletrónico ou numa apresentação: 1. filtre a tabela se necessário; 2. verifique se o gráfico apresenta o âmbito correto; 3. clique com o botão direito no gráfico; 4. escolha **Copiar imagem** no navegador. O gráfico copiado corresponde ao estado apresentado no ecrã. #### Exportar ou partilhar O botão Imprimir abre as opções de cópia, de impressão ou de exportação disponibilizadas para a tabela apresentada. Consoante o separador, a exportação pode servir para preparar um ficheiro Excel para a contabilidade, para transmitir um extrato a um responsável pedagógico ou para conservar um registo para auditoria. O botão Compartilhamento cria uma ligação de partilha apenas de leitura. O destinatário consulta as estatísticas do período sem poder modificar o horário. #### Ver também - [Pesquisa e filtros](#page-core-concepts.search-and-filter) - [Estatísticas de professores](#page-dashboard.teachers) - [Estatísticas de salas](#page-dashboard.classrooms) ### 4.3 Estatísticas de professores *Source: `help/pt/dashboard/teachers.md` · id: dashboard.teachers · Audience: admin/teacher/staff · Plan: standard · Updated: 2026-06-13* O separador Professores consolida as horas realmente contabilizadas no período apresentado. Serve para o acompanhamento do serviço, para a preparação da folha de pagamento, para as exportações contabilísticas e para o controlo das substituições. #### Indicadores principais - **Horas contabilizadas**: volume considerado para o acompanhamento administrativo e, consoante a organização da instituição, para a folha de pagamento. - **Horas adicionais** (Horas adicionais): horas resultantes de uma substituição no módulo Gestão de ausências ou de um acréscimo manual numa aula datada de um horário recorrente. - **Horas canceladas** (Horas canceladas): horas retiradas por uma ausência ou pela eliminação manual de uma aula datada de um horário recorrente. - **Turmas e disciplinas**: âmbito de ensino do professor no período. - **Tipos de aula**: detalhe dos volumes por tipo de aula quando as aulas têm tipo definido. As horas adicionais e canceladas permitem distinguir o serviço previsto do serviço efetivamente realizado no período. #### Detalhe por tipo de aula O detalhe por tipo de aula é útil quando a contabilização depende do formato pedagógico: aula teórica, aula prática, laboratório, acompanhamento, seminário ou qualquer outra tipologia configurada pela instituição. Este detalhe ajuda a verificar os volumes pagáveis, as regras internas de valorização e as necessidades de justificação junto da contabilidade ou de um organismo de auditoria. #### Exportação, partilha e contabilidade A tabela pode ser copiada, impressa ou exportada para tratamento no Excel ou numa ferramenta de contabilidade. A ligação de partilha apenas de leitura permite transmitir um extrato sem dar acesso à edição do horário. Para uma ligação recorrente com um programa de contabilidade, um fluxo ETL ou uma integração dedicada pode retomar estas estatísticas conforme o formato esperado pela instituição. > _Premium_ Numa conta **Premium**, a exportação desta tabela acrescenta duas colunas provenientes do acompanhamento detalhado das aulas: **Duração real** (duração realmente cumprida, distinta da duração contabilizada) e **Realizado** (volume cuja aula está marcada como realizada). Prático para conciliar serviço previsto, serviço contabilizado e serviço efetivamente prestado. Pelo contrário, as aulas em **Rascunho** ou **Cancelado** são excluídas destes valores. Ver [Estado](#page-glossary.lesson-status). #### Pontos de controlo Antes de utilizar estes valores para a folha de pagamento, verifique se o período está correto, se as ausências foram validadas, se as substituições estão devidamente registadas e se as aulas datadas acrescentadas ou retiradas refletem a realidade operacional. #### Ver também - [Acompanhamento e exportação das ausências](#page-absences.statistics) - [Estado](#page-glossary.lesson-status) - [Utilizar as tabelas e os gráficos](#page-dashboard.tools-and-filters) - [Visão geral do módulo Painel](#page-dashboard.overview) ### 4.4 Estatísticas de salas *Source: `help/pt/dashboard/classrooms.md` · id: dashboard.classrooms · Audience: admin/teacher/staff · Plan: standard · Updated: 2026-06-13* O separador Salas analisa a utilização real das salas no período apresentado. Serve para identificar as salas subutilizadas, as salas demasiado solicitadas e os desequilíbrios por campus ou edifício. #### Indicadores acompanhados A tabela apresenta, nomeadamente, o número de aulas, as horas ocupadas, os dias de utilização, as horas por dia e os efetivos acolhidos. Quando os dados estão preenchidos, as colunas de campus, edifício, especialização e etiquetas facilitam as análises por zona ou por tipo de sala. Os gráficos ajudam a visualizar a distribuição da ocupação, os volumes de horas e as diferenças de afluência. #### Subutilização e sobreutilização Uma sala muito pouco preenchida em relação à sua capacidade pode indicar uma má atribuição, uma sala especializada mal aproveitada ou um reequilíbrio possível. As salas utilizadas a menos de 25 % da sua capacidade merecem geralmente uma verificação. Ao contrário, uma sala utilizada para além da sua capacidade indica um risco operacional: efetivo demasiado elevado, sala mal atribuída ou dados de capacidade a corrigir. #### Análise dos edifícios O separador permite responder a questões como: - que edifícios concentram a ocupação; - que salas continuam pouco utilizadas; - que especializações de salas faltam ou estão sobredimensionadas; - que campi poderiam ser reorganizados. Para análises mais detalhadas, por exemplo comparar as horas ocupadas com os horários de abertura de um edifício ou com as faixas horárias de aula possíveis, a instituição pode exportar a tabela e trabalhá-la numa ferramenta externa, ou consultar a conta a partir de um agente de IA externo ligado por [MCP](#page-integrations.mcp), consoante o perfil, os direitos e as ferramentas expostas. #### Filtrar as salas A pesquisa aceita os comparadores de capacidade (`>50`, `<=100`, etc.) e os termos de campus, edifício, especialização ou etiquetas. Os gráficos recalculam-se sobre as salas filtradas. #### Ver também - [Pesquisa e filtros](#page-core-concepts.search-and-filter) - [Utilizar as tabelas e os gráficos](#page-dashboard.tools-and-filters) - [Campi, salas e recursos](#page-timetables.sites-rooms) ### 4.5 Estatísticas de disciplinas *Source: `help/pt/dashboard/subjects.md` · id: dashboard.subjects · Audience: admin/teacher/staff · Plan: standard · Updated: 2026-05-18* O separador Disciplinas mostra como os volumes de ensino se distribuem no período apresentado: globalmente, por turma, por professor e por tipo de aula quando essa informação está preenchida. #### O que a página permite verificar - o volume total dedicado a cada disciplina; - a distribuição por turma; - a distribuição por professor; - a parte de cada tipo de aula, por exemplo trabalhos práticos, aulas teórico-práticas, aulas expositivas ou ateliês; - as eventuais modalidades utilizadas pela instituição. #### Análise pedagógica Esta vista ajuda a controlar que os volumes realmente programados se mantêm coerentes com os planos curriculares, os compromissos de formação e as distribuições esperadas entre tipos de ensino. É particularmente útil para responder a questões como: quantas horas de trabalhos práticos foram planeadas, que turma recebe o maior número de horas numa disciplina, ou que professores asseguram uma disciplina no período. #### Gráficos e filtros A pesquisa permite isolar uma disciplina, uma turma, um professor ou um tipo de aula. Os gráficos recalculam-se sobre as linhas visíveis, o que permite produzir rapidamente uma vista direcionada antes de copiar ou exportar. #### Ver também - [Estatísticas de turmas](#page-dashboard.classes) - [Estatísticas de professores](#page-dashboard.teachers) - [Utilizar as tabelas e os gráficos](#page-dashboard.tools-and-filters) ### 4.6 Estatísticas de turmas *Source: `help/pt/dashboard/classes.md` · id: dashboard.classes · Audience: admin/teacher/staff · Plan: standard · Updated: 2026-05-18* O separador Turmas consolida os volumes acompanhados por cada turma no período apresentado. Serve para controlar a carga real de formação, as distribuições por disciplina e os comprovativos exigidos em acreditações ou certificações. #### Indicadores acompanhados A página permite, nomeadamente, acompanhar: - as horas totais da turma; - o número de alunos teórico e real quando os grupos estão preenchidos; - os dias de aula; - a distribuição por disciplina; - a distribuição por professor; - o detalhe por tipo de aula; - os grupos e subgrupos envolvidos. #### Acreditações e certificações As estatísticas de turmas ajudam a documentar os volumes ministrados num programa. Podem ser úteis para procedimentos como Qualiopi ou CTI em França, ou AMBA, EQUIS e AACSB a nível internacional, quando a instituição tem de justificar os volumes, formatos e distribuições de ensino. #### Qualidade dos dados A precisão depende da qualidade das turmas, dos grupos, das disciplinas, dos tipos de aula e das atribuições de professores no horário. Os grupos bem preenchidos permitem obter valores mais fiáveis sobre os volumes realmente acompanhados pelos alunos em causa. #### Ver também - [Estatísticas de disciplinas](#page-dashboard.subjects) - [Estatísticas de professores](#page-dashboard.teachers) - [Utilizar as tabelas e os gráficos](#page-dashboard.tools-and-filters) ### 4.7 Estatísticas de alunos e recursos *Source: `help/pt/dashboard/students-resources.md` · id: dashboard.students-resources · Audience: admin/teacher/staff · Plan: standard · Updated: 2026-05-18* Os separadores Alunos e Recursos completam a análise do Painel. São mais direcionados do que as vistas de professores, salas, disciplinas ou turmas, mas continuam úteis para controlar os dados operacionais. #### Alunos O separador Alunos apresenta as aulas, horas e dias acompanhados por aluno no período apresentado. Quando as turmas, os grupos e os subgrupos estão corretamente preenchidos, as estatísticas refletem com mais precisão os volumes realmente respeitantes a cada aluno. As ausências são tidas em conta com colunas dedicadas, nomeadamente o número de horas, de aulas e de dias de ausência. Esta vista ajuda a identificar as situações individuais que exigem uma verificação ou um acompanhamento administrativo. #### Recursos O separador Recursos acompanha a utilização dos recursos materiais: horas de utilização, dias de utilização e quantidade mobilizada por dia. Serve sobretudo para verificar que um equipamento partilhado é efetivamente utilizado e para identificar os períodos ou recursos pouco solicitados. #### Exploração Como nos outros separadores, a pesquisa filtra as linhas visíveis, os gráficos adaptam-se ao âmbito apresentado e os dados podem ser copiados, impressos, exportados ou partilhados só de leitura. #### Ver também - [Estatísticas de turmas](#page-dashboard.classes) - [Ausências de turmas e alunos](#page-absences.class-and-student-absences) - [Utilizar as tabelas e os gráficos](#page-dashboard.tools-and-filters) --- ## 5. Uso diário (módulo Horário) ### 5.1 Consultar e filtrar os horários *Source: `help/pt/schedules/consult-and-filter.md` · id: schedules.consult-and-filter · Audience: admin/teacher/student/staff · Plan: standard · Updated: 2026-06-26* O módulo **Horário** (ícone [calendar-days] no menu à esquerda) é o ecrã de consulta do dia a dia. Apresenta os horários publicados no período selecionado, com todos os filtros e todas as vistas úteis. #### Filtros disponíveis - **Turma**, **professor**, **grupo** (com ou sem a turma inteira), - **Sala**, **recurso**, - **Professores por disciplina**, **equipa pedagógica** (todos os professores de uma turma), **disciplina**, - **Tipo de aula** (aula prática, trabalho de laboratório, exame, aula teórica…) se estiver configurado, - **Aluno** (se os alunos estiverem introduzidos e atribuídos a turmas). Você pode **empilhar vários horários em sequência**: prático para ter diante dos olhos a turma e um professor específico, ou várias turmas em paralelo. #### Vistas O componente de apresentação combina dois níveis: - um **modo de renderização**: **grelha**, **lista** ou **tabela** tipo folha de cálculo; - uma **organização temporal**: **semana**, **dia**, **mês**, **planeamento** (e **planeamento por horas**) ou **frente a frente**. A grelha é a vista de calendário padrão. A tabela, por seu lado, serve para apresentar a vista atual num formato tabular mais próximo de uma folha de cálculo; não é a vista de base. Ver [Exibição dos horários](#page-schedules.schedule-display). #### Linha de tempo e navegação A **linha de tempo** no topo indica: - as **férias** em barras horizontais cinzentas, - o **período selecionado** (semana, mês, por vezes ano letivo) numa zona verde com as datas sobrepostas, - a **navegação**: teclas esquerda/direita do teclado, deslizar no smartphone, ou botões `◀ ▶︎`. Os botões `◀` e `▶︎` nas **extremidades** da linha de tempo permitem **mudar de ano letivo**. #### Cache e desempenho O Omniscol tira partido intensivo da cache do navegador. A aplicação só recarrega os horários quando você muda de semana — clicar novamente na semana ativa **força uma atualização**. Isto permite ao Omniscol funcionar mesmo com uma ligação 2G (Edge) e continuar a funcionar durante microcortes de internet (os pedidos são reenviados quando a ligação regressa). #### Modo de edição O botão Reorganização faz passar para o modo de edição: ver [Alterações pontuais](#page-schedules.ad-hoc-changes). #### Exportar / partilhar - Imprimir — imprimir a seleção atual (ou guardá-la em PDF através do navegador). - Compartilhamento — abrir a janela de partilha: [ligação web](#page-glossary.share-link) pública, subscrição [iCal](#page-glossary.ical) ou representação JSON (API) conforme os seus direitos. #### Ver também - [Alterações pontuais](#page-schedules.ad-hoc-changes) - [Conflitos e diagnóstico](#page-timetables.conflicts) - [Exibição dos horários](#page-schedules.schedule-display) - [Estado](#page-glossary.lesson-status) - [Imprimir e compartilhar](#page-schedules.print-and-export) ### 5.2 Exibição dos horários: grade, lista, tabela, visão geral, mês, lado a lado *Source: `help/pt/schedules/schedule-display.md` · id: schedules.schedule-display · Audience: admin/teacher/student/staff · Plan: standard · Updated: 2026-06-26* Esta página descreve a **exibição comum dos horários** no Omniscol. Você a encontra em **Horário**, na tela **Distribuição de horas** quando alterna para a visão de **horários**, nas telas **Visualizar** e **Reorganizar** de **Gestão de horários letivos**, e, de forma mais ampla, nas outras telas que abrem um calendário de horário com o mesmo motor de exibição. As mesmas aulas podem ser lidas em várias apresentações sem alterar os dados exibidos: você muda a exibição, não o horário. #### Mudar de exibição Os ícones de transformação estão associados a **cada horário exibido**. Para fazê-los aparecer, **passe o cursor sobre o título do horário**: a barra de título revela então os ícones de transformação da visão. Clique naquele que você quiser: - [calendar] para a **grade**, [table-list] para a **lista**, [table] para a **tabela** (reservada aos administradores, no computador); - em uma **visão geral por horas**, [up-down] **inverte os dias e as colunas**. A barra de título também contém o compartilhamento e o fechamento do calendário. Como cada horário mantém a sua própria exibição, em vários calendários empilhados você pode ler um em lista e outro em grade. #### Três modos de renderização para um mesmo horário O primeiro nível de alternância diz respeito à **renderização** das mesmas aulas. ##### Grade A **grade** (Visão em grade) é a visão de calendário padrão: dias em colunas, faixas horárias ou horas em linhas, aulas dispostas em suas células. É a visão de referência para ler um horário semana a semana. É particularmente útil para: - identificar imediatamente os vãos, as sobreposições e as amplitudes, - comparar visualmente uma turma, um professor ou uma sala, - editar ou reler um horário em uma referência temporal familiar. ##### Lista A **lista** (Visão em lista) exibe as aulas umas abaixo das outras, em ordem cronológica. É particularmente útil para: - percorrer rapidamente um período longo em telas pequenas, - pesquisar uma aula específica com os filtros, - reler sequencialmente os horários, as salas e as atribuições. ##### Tabela A **tabela** é uma **renderização tipo planilha** da visão atual. Serve para auditar, imprimir, copiar os dados para uma planilha ou, conforme a tela, iniciar diretamente uma exportação de arquivo. **Não** é a visão de calendário padrão. Conforme o contexto, ela pode reproduzir: - uma grade dias × faixas horárias em um formato mais tabular, - ou uma aula por linha quando a exibição de origem já está em lista. É particularmente útil para: - controle administrativo, - copiar e colar para um software de planilha, - exportação direta em **PDF**, **CSV** ou **Excel / XLSX** quando a tela oferece, - verificações linha a linha. #### Alcance temporal: semana, dia, mês O segundo nível de alternância diz respeito ao **período exibido**. - **Semana**: visão padrão na maioria dos casos. - **Dia**: mesma lógica da grade padrão, mas concentrada em um único dia para ler com mais precisão uma agenda carregada. - **Mês**: visão de longo alcance. No modo calendário, a exibição assume a forma de uma grade mensal matricial; no modo tabela, você permanece em uma renderização tabular do mesmo conteúdo. O seletor Escolha dos dias para exibir permite ainda ocultar ou exibir certos dias nas visões pertinentes. #### Visão geral Uma **visão geral** é composta a partir do menu de filtros: ela justapõe várias entidades ou vários dias em uma mesma visão, para raciocinar sobre conjuntos. Duas variantes, conforme o eixo que você quer ler: - **Adicione um horário** (ícone [table-cells]) coloca uma **entidade por linha** (turma, professor, sala, disciplina) e as horas de cada dia em colunas — para comparar várias entidades em um mesmo dia. - **Adicione um horário por horas** (ícone [table-columns]) coloca as **horas no eixo vertical** (na escala do tempo) e uma **coluna por entidade e por dia** — para ler a ocupação e os encadeamentos em uma verdadeira escala horária. Um botão [up-down] inverte, quando necessário, os dias e as colunas. A visão geral serve, em particular, para: - exibir **várias entidades lado a lado em um mesmo dia**, - exibir **vários dias para uma ou várias entidades**, - ler a ocupação por mês, - controlar os encadeamentos, as transições ou as disponibilidades. Ela complementa a grade de calendário e responde a outras perguntas: escolha-a para raciocinar sobre conjuntos de entidades ou de dias. #### Lado a lado A função Tela dividida abre uma visão **lado a lado**: de dois a quatro horários exibidos um ao lado do outro, cada um mantendo os seus próprios filtros e o seu próprio modo de exibição. É útil para: - comparar duas turmas ou dois professores, - encaixar uma aula comum ou uma supervisão compartilhada, - verificar se uma faixa horária livre existe simultaneamente dos dois lados. #### O que permanece idêntico quando você muda de exibição Alternar de um modo para outro não modifica as aulas. Você mantém a mesma base de dados, com, conforme o caso: - os mesmos filtros de entidades, - o mesmo período selecionado, - os mesmos conflitos ou ausências visíveis, - as mesmas ações de impressão, exportação ou compartilhamento conforme os direitos do usuário. #### Procedimento — Escolher a exibição certa conforme a tarefa 1. **Para ler rapidamente um horário**: parta da **grade**. É a visão de calendário padrão, a mais legível para uma semana de aulas. 2. **Para percorrer as aulas uma a uma**: passe para a **lista**. Útil em telas pequenas ou para reencontrar uma aula específica. 3. **Para copiar, imprimir, exportar ou auditar no modo planilha**: use a **tabela**. É uma renderização tabular da visão atual, não a visão de base do horário. 4. **Para dar zoom em um único dia**: escolha o alcance **dia**. 5. **Para ter uma visão mais ampla sobre várias semanas ou várias datas**: passe para **mês** ou abra uma **visão geral** conforme a pergunta a tratar. 6. **Para cruzar várias entidades ou vários dias em uma mesma leitura**: adicione uma **visão geral** (ou uma **visão geral por horas** para uma escala horária). 7. **Para comparar dois horários separados**: use o **lado a lado**. #### Ver também - [Consultar e filtrar](#page-schedules.consult-and-filter) - [Visualizar, duplicar, reorganizar](#page-timetables.visualize-duplicate) - [Modo de exibição do horário](#page-glossary.schedule-view-mode) ### 5.3 Alterações pontuais de um horário publicado *Source: `help/pt/schedules/ad-hoc-changes.md` · id: schedules.ad-hoc-changes · Audience: admin · Plan: standard · Updated: 2026-06-26* O Omniscol é um gerador de horários para o período que antecede o ano letivo, mas também uma ferramenta operacional para gerir as alterações diárias ao longo do ano. #### Ativar o modo de edição Clique em Reorganização. Todos os calendários abertos passam para o modo de reorganização. Os calendários abertos posteriormente também ficam diretamente editáveis. Posicione-se na semana que pretende alterar (linha de tempo no topo). #### Alterar uma aula Clique numa aula: aparece um painel (que você pode deslocar ou tornar semitransparente) com todos os atributos editáveis: - professor(es), - grupo, se existir, - recursos, - sala(s) (ver [multissala](#page-glossary.multi-room)), - memorandos. #### Alterar várias aulas ao mesmo tempo No modo de reorganização, **Shift+clique** em várias aulas seleciona-as em conjunto (a partir de duas, ficam realçadas). O painel torna-se então uma **ficha comum**: a sala, o professor ou os professores, os recursos, o memorando ou a duração que você definir aplicam-se a **todas as aulas selecionadas** ao guardar — prático para mudar de sala um bloco de aulas de uma só vez. Ver [Edição de uma aula](#page-timetables.lesson-edit). Em vez de clicar em cada aula, o menu Seleção da ficha **alarga a seleção** com um único clique: - por **janela temporal** — todo o **dia**, a **semana** ou o **mês** (conforme o tipo de horário); - por **similaridade** — as **aulas seguintes semelhantes** (mesma turma, disciplina, grupo e faixa horária: a recorrência de uma aula); - por **partição** — as aulas do mesmo grupo em partição. Cada entrada indica o número de aulas que acrescenta, e um seletor restringe o âmbito ao horário atual ou alarga-o a **todos** os calendários abertos. O menu de **duplicação** vizinho ([copy]) copia a aula ou as aulas — em vários exemplares, ou até uma data num horário de calendário. O seu funcionamento detalhado é descrito em [Distribuir as horas e criar as aulas](#page-timetables.hour-distribution). #### Desanexar ou remover uma aula Para **desanexar** uma aula da grelha, clique no ícone [scissors] do painel ou faça duplo clique na aula. Passa para a zona das aulas não posicionadas, à direita, onde também a pode alterar. Para a **remover**, abra o seu painel e clique em Remover: enquanto a desanexação mantém a aula na zona a reposicionar, a remoção retira-a do horário. Como qualquer alteração, aparece na lista de alterações, onde a pode anular (ver mais abaixo). #### Mover uma aula Abra a aula e clique no seu botão de posicionamento (Preencher no horário, o alfinete): as faixas horárias possíveis surgem como pastilhas coloridas (verde → vermelho conforme os conflitos). Clique na nova faixa horária. Para mover entre semanas, há duas opções: - **vista mensal** — visualize várias semanas ao mesmo tempo e depois reposicione a aula na faixa horária pretendida; - **desanexar / mudar de semana / reposicionar** — extraia a aula, mude a semana ativa, reposicione. #### Diferença face aos horários de calendário Num horário [de calendário](#page-glossary.calendar-mode), uma alteração **afeta diretamente a aula datada** (já única para essa data). Num horário [semanal](#page-glossary.weekly-timetable) ou [cíclico](#page-glossary.cyclic-timetable), uma alteração pontual **não** quebra a semana-tipo — fica registada como uma exceção na data em causa. As restantes semanas continuam a seguir a semana-tipo. #### Ver e anular as alterações O botão Ver a lista de mudanças feitas lista as alterações em curso no período. Você pode anulá-las individualmente. Num horário **semanal ou cíclico**, uma alteração pontual fica registada como uma exceção na sua data: permanece anulável **a qualquer momento** a partir desta lista. ⚠ Num horário **de calendário**, pelo contrário, as alterações são **consolidadas definitivamente ao guardar**: anule-as **antes de guardar**. Estas alterações incidem sobre **uma data precisa**, não sobre a estrutura do horário. A estrutura — turmas, grupos, **semana-tipo** — altera-se na **construção do horário**, não aqui. Editar uma data **passada** corrige, portanto, o histórico dessa única data: faça-o com plena consciência. #### Deteção de conflitos A deteção de conflitos funciona no modo de edição tal como no módulo Gestão de horários letivos: assim que você move ou altera uma aula, o Omniscol verifica em tempo real as reservas duplas, os excessos de capacidade, as restrições horárias e as ausências. No calendário, uma aula em conflito apresenta um **duplo contorno colorido** — vermelho para um conflito bloqueante, laranja ou amarelo para um incómodo a arbitrar. O detalhe (tipo de conflito, aulas envolvidas e, por exemplo, uma sala em falta) aparece na **dica de contexto** ao passar o cursor sobre a aula. A lista completa dos tipos de conflito, os níveis de gravidade e o painel de diagnóstico são descritos em [Conflitos e diagnóstico](#page-timetables.conflicts). #### Ver também - [Consultar e filtrar os horários](#page-schedules.consult-and-filter) - [Conflitos e diagnóstico](#page-timetables.conflicts) - [Eventos pontuais](#page-schedules.events) ### 5.4 Eventos pontuais (fora do horário) *Source: `help/pt/schedules/events.md` · id: schedules.events · Plan: premium · Updated: 2026-06-13* > **Premium** > _Premium_ Um **evento pontual** é uma aula que não faz parte da estrutura regular do horário: uma reunião excecional, uma saída escolar, um exame num dia, um dia aberto, um conselho de turma. Em vez de tocar na estrutura regular das aulas, você cria um evento datado que se coloca **por cima** da grelha num intervalo preciso. A criação de eventos pontuais está disponível nas contas **Premium**. #### Quando criar um evento em vez de uma aula - **Aula regular**: repete-se todas as semanas (ou de duas em duas semanas) ao longo do ano. Gerida no módulo Gestão de horários letivos, integrada na geração automática. - **Evento pontual**: tem lugar num intervalo datado, sem lógica de recorrência regular. Gerido diretamente no módulo Horário. Regra prática: se você o escreveria à mão num calendário em vez de na grelha semanal, trata-se de um evento. #### Criar um evento — a agenda de eventos Um evento não se introduz num formulário isolado: traça-se **diretamente na agenda**, como num calendário. Na grelha de eventos, **clique e arraste** para desenhar um intervalo num dia (surge uma pré-visualização durante o traçado). Ao soltar, abre-se uma ficha, ancorada na seleção, com as datas e horas **já pré-preenchidas**; você completa: - **Título** — `Reunião de turma do 8.º B`, `Visita ao museu de ciência`, `Simulado de exame de português`. - **Início** e **Fim** — data, hora de início, hora de fim. - **Participantes** — turmas, grupos, professores, alunos, ou participantes em **texto livre**. - **Local** — sala conhecida do Omniscol ou local introduzido em **texto livre**. - **Recursos** — material ou recurso a reservar, se necessário. - Ligação de videoconferência — opcional, para acompanhar o evento à distância. - **Comentário** — nota livre que aparece com o evento. - **Cor** — auxílio visual para o distinguir na grelha. A seleção com o rato mantém-se **contida num mesmo dia**. ##### Onde se encontra a agenda - **No módulo Horário**. Apresente o filtro **Eventos**: a agenda só é editável (traçado com o rato ativo) no modo de **reorganização**; em consulta simples, permanece só de leitura. - **Na edição de um horário de tipo calendário.** O filtro **Eventos** só é proposto aí para um horário **de tipo calendário**; não aparece num horário em grelha semanal. #### Uma gravação direta, em paralelo com o horário Um evento grava-se **de imediato e separadamente**, assim que você valida a sua ficha: criar, mover ou remover um evento desencadeia logo a sua própria gravação (confirmada por uma notificação). Você **não precisa** do botão **Salvar** global da reorganização nem da edição do horário — os eventos já estão guardados. Reciprocamente, guardar a reorganização ou a distribuição horária de um horário incide sobre as **aulas**, não sobre os eventos: é um subsistema paralelo, persistido continuamente. #### Conflitos com as aulas do horário Um evento referencia **as mesmas entidades** que o horário — professores, turmas, grupos, salas, recursos — o que permite ao Omniscol detetar as sobreposições com as aulas regulares. Quando você preenche a ficha, cada participante e cada sala ou recurso é testado contra o que já está colocado no intervalo: - para um **professor**, uma **turma** ou um **grupo**, o evento é comparado com as aulas **e com os outros eventos**; - as **salas** e os **recursos** são testados para detetar uma ocupação já existente na faixa horária. Estas verificações alimentam as indicações de disponibilidade nos seletores e surgem como conflitos na vista de reorganização. O evento sobrepõe-se à grelha: **assinala** o conflito, mas não liberta por si só as aulas que sobrepõe. Trate-as separadamente (deslocação, alteração pontual, ausência…). #### Participantes: todo mundo, ou qualquer pessoa Para além dos participantes designados nominalmente, existem dois participantes especiais — e não se comportam da mesma maneira perante os conflitos: - **Todo mundo** — o evento diz respeito a **toda a escola**, a título **obrigatório**. Aparece em todos os horários **e entra em conflito** com as aulas existentes: a opção a considerar para um dia aberto ou um evento que mobilize realmente todo o estabelecimento. - **Qualquer pessoa** — o evento está aberto a quem o desejar, a título **facultativo**. Também aparece em todos os horários, mas **não gera qualquer conflito**: para uma proposta opcional que não deve bloquear a grelha de ninguém. Ambos aparecem em toda a parte; apenas **Todo mundo** provoca conflitos, porque torna a presença obrigatória. #### Projeção nos horários Uma vez criado, um evento é **projetado em cada horário em causa**: aparece no horário de cada um dos seus professores, turmas, grupos e alunos participantes, bem como no de cada sala e recurso retido (e em toda a parte, para **Todo mundo** e **Qualquer pessoa**). É o mesmo evento visto sob vários ângulos — é, portanto, normal encontrá-lo ao mesmo tempo no horário da turma, do professor e da sala; não são duplicados. Um evento não tem campo «tipo»: distingue-se de uma aula regular pelo seu título, pelas suas datas, pelos seus participantes e pela sua eventual cor. #### Mover, encaixar, libertar os horários Na agenda de eventos, ao contrário das aulas, um evento **move-se e redimensiona-se por arrastar e largar**. O **intervalo horário apresentado** pela agenda segue o **horário de funcionamento** do estabelecimento: estende-se da abertura mais matinal ao fecho mais tardio configurados, e recai sobre 07:00 – 20:00 se nada estiver definido. A ficha inclui também um botão de **alfinete**: passa ao posicionamento por faixas horárias livres, e um clique na faixa retida transfere a sua data e as suas horas para a ficha — uma alternativa ao traçado com o rato para encaixar corretamente o evento. Por fim, as horas de início e de fim são **inteiramente livres**: não são obrigadas a cair nas faixas horárias da grelha. Um evento pode começar às 09:50 e terminar às 11:34 mesmo que as aulas regulares estejam encaixadas em faixas completas: é essa toda a vantagem de um evento colocado por cima da grelha. #### Alterar ou anular O evento altera-se tal como foi criado: deslocá-lo no tempo, mudar de sala, adicionar ou retirar participantes. #### Procedimento — Criar um evento pontual 1. **Um evento pontual** coloca-se **por cima** da grelha num intervalo datado: conselho de turma, saída, exame simulado, dia aberto, reunião. Sem recorrência regular a modelar. 2. **Clique e arraste na agenda de eventos** para traçar o intervalo (no modo de reorganização). A ficha abre-se com as datas pré-preenchidas; preencha o título (`Reunião de turma do 8.º B`, `Visita ao museu de ciência`). 3. **Selecione os participantes**: as turmas, grupos e professores em causa, alunos se disponíveis, ou participantes livres. 4. **Adicione o local, os recursos, a ligação de videoconferência e o comentário** se necessário. Estes campos descrevem o evento; não transformam as aulas regulares. 5. **Guarde.** O evento aparece nos horários em causa. Se o Omniscol assinalar um conflito com aulas regulares, corrija as aulas em causa na vista Reorganização. #### Ver também - [Aulas fora da grelha](#page-timetables.off-grid-lessons) - [Alterações pontuais](#page-schedules.ad-hoc-changes) - [Consultar e filtrar os horários](#page-schedules.consult-and-filter) - [FAQ — casos particulares](#page-faq.edge-cases) ### 5.5 Imprimir e compartilhar *Source: `help/pt/schedules/print-and-export.md` · id: schedules.print-and-export · Plan: standard · Updated: 2026-06-25* Todos os horários que você pode consultar no módulo Horário podem ser **impressos** ou **compartilhados** em vários formatos. A escolha depende do destinatário: papel para uso off-line, PDF para distribuição por e-mail, iCal para uma agenda eletrônica, link web para consulta direta. Para uma análise numérica dos volumes em planilha, o **Painel** agrega as horas e as exporta em CSV / XLSX. #### Imprimir O botão Imprimir (no alto da visão) abre a pré-visualização de impressão com um layout otimizado para papel: - as aulas ficam **vazadas**: o Omniscol imprime apenas o **contorno colorido** sobre fundo branco, para economizar tinta mantendo a referência visual das cores, - as margens, a orientação e o tamanho são adaptados ao formato A4 / Letter, - o cabeçalho contém o nome da instituição, o rótulo do horário consultado (aluno, turma, sala…) e o intervalo de datas. A pré-visualização usa o sistema de impressão do navegador — portanto, tudo o que ele sabe fazer (exportação de PDF nativa, seleção de impressora, frente e verso etc.) está acessível. #### Exportar em PDF O Omniscol oferece **botões de exportação de PDF dedicados**, que diagramam um horário de forma limpa. O mais completo fica na tela Visualizar de Gestão de horários letivos (veja [Visualizar, duplicar, reorganizar](#page-timetables.visualize-duplicate)). A visão **tabela** de um horário (veja [Exibição dos horários](#page-schedules.schedule-display)) também oferece uma exportação em PDF, ao lado do CSV e do Excel. Na falta disso, na maioria dos navegadores modernos, a impressão sabe gerar um PDF (`Microsoft Print to PDF`, `Save as PDF`, `Imprimir para um arquivo`). Boa prática: use o PDF para comunicações pontuais (o envio de um horário semanal a um responsável, por exemplo) e o link de compartilhamento para comunicações recorrentes (o PDF é fixo, o link acompanha as alterações). #### Analisar em uma planilha (CSV / XLSX) Dois caminhos levam à planilha. **A partir da tela de consulta**, transforme a visão do horário em **tabela** (veja [Exibição dos horários](#page-schedules.schedule-display)): essa renderização tipo planilha se imprime, se copia e cola e se exporta diretamente em **CSV**, **Excel / XLSX** ou **PDF**. **Para uma análise agregada dos volumes**, passe pelo **Painel**, que calcula as horas por professor, por disciplina, por turma ou por sala no período escolhido e oferece a mesma exportação em **CSV** (universal) ou **XLSX** (pré-formatado para Excel). Usos típicos dessa exportação em planilha: - contar as horas realizadas por professor, por disciplina, por turma; - alimentar uma ferramenta de RH externa (folha de pagamento, controle de jornada); - identificar diferenças entre serviço previsto e serviço realizado. Veja [Utilizar as tabelas e os gráficos](#page-dashboard.tools-and-filters) e [Estatísticas de professores](#page-dashboard.teachers). Para recuperar as próprias aulas em formato legível por máquina, o compartilhamento oferece uma representação **JSON (API)**; veja [Compartilhar um horário por link público](#page-schedules.share-link). #### Exportar em iCal Para compartilhar dinamicamente um horário com uma agenda eletrônica (Google Calendar, Apple Calendar, Outlook), use a **assinatura iCal** em vez de uma exportação pontual. O destinatário vê as alterações de forma contínua. Veja [iCal — assinatura e link dinâmico](#page-integrations.ical). A janela de compartilhamento também exibe um **QR code** pronto para ser lido: o destinatário aponta o telefone para a tela do computador para assinar a agenda sem digitar um endereço. Se você ainda assim quiser um arquivo `.ics` fixo para arquivamento, a exportação pontual também está disponível na janela de compartilhamento. #### Filtrar antes de exportar As exportações respeitam os **filtros ativos** da visão atual: se você filtrou por uma turma ou um intervalo de datas preciso, a exportação conterá apenas esse perímetro. Para uma exportação mais ampla (todo o ano, todas as turmas), ajuste os filtros conforme necessário antes de iniciar a exportação. #### Procedimento — Imprimir ou compartilhar um horário 1. **Duas saídas a partir da tela de consulta**: a impressão (PDF) para uma distribuição fixa, e o compartilhamento (Web, iCal, JSON) para uma distribuição dinâmica. A análise numérica em planilha, por sua vez, passa pelo Painel. 2. **Filtre primeiro** a visão conforme o perímetro desejado: turma, professor, sala, intervalo de datas, tipo de aula. A impressão e o compartilhamento respeitam os filtros ativos — um filtro estreito = uma saída estreita. 3. **Para um PDF** (envio por e-mail, arquivamento): o mais completo é a exportação em PDF da tela Visualizar (cf. [Visualizar, duplicar, reorganizar](#page-timetables.visualize-duplicate)); a partir da consulta, o botão Imprimir abre a pré-visualização de impressão (aulas vazadas, cabeçalho da instituição + rótulo do horário + intervalo de datas), da qual também se pode gerar um PDF. 4. **Na caixa de impressão do navegador**, selecione **Save as PDF** / **Microsoft Print to PDF** / **Imprimir para um arquivo**. O PDF é fixo: ele não acompanha as alterações futuras do horário. Para algo dinâmico, prefira o **link de compartilhamento** (veja [Links de compartilhamento públicos](#page-schedules.share-link)). 5. **Para uma análise em planilha**: alterne o horário para **tabela** para uma exportação direta (CSV / XLSX / PDF, cf. [Exibição dos horários](#page-schedules.schedule-display)), ou abra o **Painel** para os volumes agregados — horas por professor / disciplina / turma — e depois exporte em CSV ou XLSX (cf. [Estatísticas de professores](#page-dashboard.teachers)). 6. **Para uma agenda eletrônica**, prefira a **assinatura iCal** ao arquivo fixo: o destinatário vê as atualizações de forma contínua (cf. [iCal](#page-integrations.ical)). #### Ver também - [Exibição dos horários](#page-schedules.schedule-display) - [Visualizar, duplicar, reorganizar](#page-timetables.visualize-duplicate) - [iCal — assinatura e link dinâmico](#page-integrations.ical) - [Compartilhar um horário por link público](#page-schedules.share-link) - [Importação e exportação](#page-admin.import-export) ### 5.6 Compartilhar um horário por link público *Source: `help/pt/schedules/share-link.md` · id: schedules.share-link · Audience: admin/teacher · Plan: standard · Updated: 2026-05-15* O módulo **Horário** oferece um botão Compartilhamento que gera URLs assinadas para o horário consultado. O destinatário abre o link web e vê o horário em modo somente leitura, sem precisar fazer login. É o caminho mais rápido para comunicar um horário a alguém que não tem conta no Omniscol — normalmente um responsável por um aluno, um parceiro externo ou um setor administrativo. #### Formatos gerados pelo compartilhamento Conforme o contexto e os seus direitos, o modal de compartilhamento pode oferecer várias URLs: - **página web responsiva** — exibição navegável tipo portal, com visões semana / dia / lista, - **fluxo iCal `.ics`** — para assinar a partir do Google Calendar, do Apple Calendar, do Outlook, - **JSON (API)** — para desenvolvedores e integrações máquina a máquina, quando esse formato é permitido. O destinatário escolhe o que lhe convém: um responsável abrirá a página web ou assinará em iCal, um desenvolvedor usará o JSON. #### O que é possível compartilhar? O compartilhamento não se limita à tela de consulta dos horários: o mesmo ícone Compartilhamento aparece em muitas telas do Omniscol. **Em modo somente leitura**, você pode compartilhar: - o **horário individual** de um aluno ou de um professor, - o **horário de uma turma** completa, de uma **sala** ou de uma **disciplina**, - os **quadros de serviço** do módulo Gestão de pessoal, - o **painel** e o **acompanhamento das ausências**, - as telas de **visualização** e de **reorganização** de um horário. **Em modo leitura e escrita** — caso único — você pode compartilhar a tela de **preenchimento das disponibilidades** dos professores (e do pessoal): o link dedicado permite que cada um informe as suas disponibilidades até a data de expiração, **sem conta nem senha** do Omniscol. É o único compartilhamento que autoriza um preenchimento, e não uma simples consulta. Cada URL assinada carrega o perímetro solicitado e uma data de expiração. #### Criar o link A partir da tela de consulta, clique em Compartilhamento na barra de ferramentas. O modal oferece: - **Data de expiração** — data até a qual os links gerados permanecem válidos. - **Abas Web, iCal e JSON** — visíveis conforme os formatos gerados para a seleção atual. Você então copia a URL desejada. Para os links web e iCal, o modal também pode exibir um **QR code** imprimível. #### Limitar um compartilhamento Escolha uma data de expiração curta para os usos pontuais. Um link é vinculado à conta que o gerou. Para invalidar os links existentes gerados por uma conta, use os mecanismos reais: - alterar ou redefinir a senha da conta portadora; - desativar ou excluir a conta portadora. Dica: para os compartilhamentos geridos por uma equipe de planejamento, pode-se usar uma **conta de serviço claramente identificada** (por exemplo `diffusion-planning`) em vez da conta pessoal de um colega. Essa conta passa então a responder pelos links emitidos; os seus acessos e a sua senha devem ser geridos como um acesso administrativo. Os links web são somente leitura, exceto o link de **preenchimento das disponibilidades** dos professores descrito acima, que autoriza o preenchimento até a data de expiração sem dar acesso à conta do Omniscol. #### Segurança - O link contém um token assinado altamente seguro. - Ele dá acesso **apenas ao recurso compartilhado** (horário ou tela), não à conta global. - A validade é limitada pela data de expiração escolhida. - Os links são invalidados se a senha da conta portadora for alterada, mesmo que a nova senha seja idêntica em texto claro. - Os links deixam de funcionar se a conta portadora for desativada ou excluída. - Qualquer pessoa que possua a URL pode consultar o perímetro compartilhado até a expiração ou a invalidação. #### Diferença em relação a uma conta Omniscol limitada Para compartilhar os dados entre as equipes, por exemplo com um setor de contabilidade, as duas opções podem parecer concorrentes. - **Link público assinado** = sem identificação, acesso simples, compartilhamento rápido. - **Conta Omniscol limitada** = identificação dedicada, duração mais longa, gestão de uma conta de usuário, com a opção dos [papéis personalizados](#page-admin.customroles). Prefira o link para os usos pontuais e uma conta limitada para os usos estruturados ao longo do tempo. #### Procedimento — Criar um link de compartilhamento 1. **Um link de compartilhamento** dá acesso a um horário em modo somente leitura sem login. Ideal para um responsável, um parceiro externo, um setor administrativo. 2. **Abra o horário a compartilhar** no módulo Horário: aluno, turma, sala, professor ou disciplina. A página de consulta é o ponto de partida. 3. Clique em Compartilhamento na barra de ferramentas. Um modal se abre com as opções do compartilhamento. 4. **Escolha a data de expiração.** Quanto mais amplamente o link circular, mais próxima essa data deve ser. 5. **Copie o formato útil.** Web para uma consulta direta, iCal para uma assinatura de agenda, JSON se a integração via API estiver prevista. A URL é utilizável imediatamente: a pessoa que a abre vê o perímetro compartilhado em modo somente leitura, sem login. 6. **Em caso de difusão indesejada**, crie um novo link mais limitado com outra conta e invalide os links vinculados à conta de origem alterando a sua senha ou desativando-a, se for apropriado. #### Ver também - [Links de compartilhamento públicos](#page-portal.share-links) - [iCal — assinatura e link dinâmico](#page-integrations.ical) - [Portal de convidado (links públicos)](#page-portal.guest-portal) --- ## 6. Ausências e substituições ### 6.1 Visão geral do módulo Gestão de ausências *Source: `help/pt/absences/overview.md` · id: absences.overview · Audience: admin/teacher/student/staff · Plan: standard · Updated: 2026-06-13* O módulo **Gestão de ausências** centraliza a declaração e o acompanhamento das indisponibilidades que devem alterar a exibição dos horários: professores, turmas, alunos e, se o Gestão de pessoal estiver ativo, membros do pessoal. #### Entidades geridas | Entidade ausente | Efeito no horário | | --- | --- | | **Professor** | Aula **cancelada** quando o professor ausente é o seu único interveniente, salvo se um **substituto** for designado (ele aparece então ao lado do titular riscado). Em **coensino**, a aula é **mantida**: apenas o professor ausente é retirado, e o ou os outros intervenientes a asseguram. | | **Turma** | As aulas da turma ausente são retiradas da exibição no período em questão. | | **Aluno** | As aulas permanecem no lugar para a turma; a ausência diz respeito à visão e ao acompanhamento do aluno. | | **Pessoal** | Disponível apenas quando a Gestão de pessoal está ativa; funciona como uma ausência de entidade de planejamento de pessoal. | As férias escolares do ano não são inseridas como ausências: são geridas no ano letivo. #### Documentos comprovativos O módulo não gere o **envio de comprovante**: a gestão dos horários não tem como finalidade conservar dados sensíveis (atestados médicos, sigilos profissionais), ela concentra-se no planejamento. Se ainda assim você precisar anexar um documento, deposite-o no seu espaço de armazenamento habitual e cole o **link no campo comentário** da ausência. #### Status - **aceito**: a ausência está validada e considerada nas exibições. - **pendente**: solicitação declarada pelo usuário em questão, a validar por um administrador. - **rejeitado**: solicitação recusada. - **abortado**: solicitação abandonada pelo seu declarante. Apenas as ausências com o status **aceito** produzem efeito: elas alteram a exibição dos horários, marcam as aulas afetadas (canceladas quando aplicável) e alimentam as **estatísticas** e as **exportações** de ausências (cf. [Acompanhamento e exportação das ausências](#page-absences.statistics)). Os outros status — pendente, rejeitado, abortado — permanecem sem efeito no horário. #### Organização das telas O módulo expõe abas por tipo de entidade: - **Professores**: ausências de professores e gestão das substituições. - **Turmas**: ausências de turmas, geridas pelos administradores. - **Alunos**: ausências individuais de alunos. - **Pessoal**: ausências de pessoal, se a Gestão de pessoal estiver ativa. Cada tela apresenta as ausências do período, o seu status, as aulas afetadas quando a informação está disponível, uma navegação temporal e uma lista exportável para os administradores. #### Pré-requisitos - Pelo menos um horário publicado no ano letivo em questão. - Para as ausências de professores: os professores devem estar afetados a aulas. - Para as ausências de alunos: os alunos devem estar afetados a turmas. - Para as ausências de pessoal: a Gestão de pessoal deve estar ativa. #### Procedimento — Descobrir o módulo Gestão de ausências 1. Abra o módulo **Gestão de ausências** a partir da navegação principal. 2. Escolha a aba correspondente à entidade em questão: professores, turmas, alunos ou pessoal conforme os módulos ativos. 3. Use Declare uma ausência para abrir o formulário: entidade ausente, datas, faixa horária, motivo, comentário e status conforme os seus direitos. 4. Numa ausência de professor aceita, abra Gestão de substituição para ver as aulas em questão e atribuir substitutos pontuais ou regras de substituição. 5. Para os administradores, o botão Tabela permite exportar a tabela exibida. #### Ver também - [Declarar uma ausência](#page-absences.declaring) - [Políticas de substituição](#page-absences.substitution-policies) - [Ausência](#page-glossary.absence) - [Substituição / Reposição](#page-glossary.substitution) ### 6.2 Declarar uma ausência (administrador / professor / aluno) *Source: `help/pt/absences/declaring.md` · id: absences.declaring · Audience: admin/teacher/student/staff · Plan: standard · Updated: 2026-06-13* #### Quem pode declarar? | Papel | Para quem? | Status inicial | | --- | --- | --- | | **Administrador** | Professor, turma, aluno ou membro do pessoal | aceito por padrão, editável | | **Professor** | Apenas a si próprio | pendente | | **Aluno** | Apenas a si próprio | pendente | | **Pessoal** | Apenas a si próprio, se o Gestão de pessoal estiver ativo | pendente | As ausências de turmas são operações administrativas: as rotas de criação e de modificação são reservadas aos administradores. #### Campos do formulário O botão Declare uma ausência abre o formulário. O salvamento faz-se com Adicionar. - **Entidade**: visível para os administradores; os outros papéis só podem declarar a própria ausência. - **Intervalo de datas**: data de início e data de fim. Para uma ausência de um dia, use a mesma data. Se a fim não for preenchida pela interface, o Omniscol assume o fim do ano letivo como limite técnico: não a utilize para documentar uma ausência realmente em aberto. - **Faixa horária**: dia todo por padrão, ou faixas horárias precisas. - **Filtros opcionais**: - **Turma** para restringir uma ausência de professor a certas turmas. - **Disciplina** para visar apenas as aulas de uma disciplina dada. - **Atribuição** para as ausências de pessoal, se a Gestão de pessoal estiver ativa. - **Motivo**: escolhido na lista proposta; os administradores também podem inserir um motivo personalizado. - **Comentário**: texto livre curto. - **Status**: apenas os administradores podem definir livremente o status (status **aceito** por padrão). Para os outros papéis, a solicitação recebe o status **pendente** e aguarda a validação de um administrador; o declarante pode, no entanto, passar a própria solicitação ao status **abortado** para abandoná-la. #### Procedimento — Primeira ausência de professor 1. Abra a aba Professores do módulo Gestão de ausências. 2. Clique em Declare uma ausência. 3. Selecione o professor em questão se você for administrador. Um professor que declara a própria ausência não tem acesso ao seletor de outros professores. 4. Informe as datas. Para um único dia, coloque a mesma data no início e no fim. 5. Deixe **dia todo** ou defina as faixas horárias em questão se a ausência abranger apenas parte do dia. 6. Escolha o motivo, acrescente um comentário se necessário e depois salve com Adicionar. 7. Se a ausência for aceita e disser respeito a um professor, abra a gestão de substituições com Gestão de substituição para atribuir um substituto ou definir uma regra de substituição. #### Validação de uma solicitação pendente Quando um professor, um aluno ou um membro do pessoal declara a própria ausência, a solicitação fica pendente. Os administradores podem aceitá-la ou recusá-la a partir dos atalhos aceito e rejeitado, ou abrindo a ficha. #### Modificações posteriores - Um administrador pode modificar as datas, os horários, o motivo, o comentário e o status. - O declarante pode modificar uma ausência futura que lhe pertence; a modificação volta a passar pelo status pendente. - O declarante pode abandonar a própria solicitação. #### Visibilidade O fato de uma entidade estar ausente pode ser visível nos horários ou no módulo Gestão de ausências conforme os direitos de consulta. O detalhe do motivo, do comentário, dos metadados de criação e do status não é exposto da mesma maneira a todos os papéis: os usuários não administradores não veem necessariamente os detalhes das ausências alheias. #### Ver também - [Políticas de substituição](#page-absences.substitution-policies) - [Substituição pontual de uma aula](#page-absences.single-lesson-replacement) - [Ausência](#page-glossary.absence) ### 6.3 Políticas de substituição *Source: `help/pt/absences/substitution-policies.md` · id: absences.substitution-policies · Audience: admin · Plan: standard · Updated: 2026-06-13* Uma **política de substituição** cobre várias aulas afetadas pela mesma ausência de professor. Poupa-lhe a tarefa de escolher um substituto aula a aula quando uma regra simples é suficiente. #### Acesso Na linha de uma ausência de professor, abra Gestão de substituição. O painel mostra as aulas afetadas pela ausência e as regras de substituição já salvas. As aulas sem substituto permanecem marcadas como afetadas pela ausência do professor titular. #### Dois níveis de regra ##### Substituição pontual Numa aula específica, Atribuir um substituto permite escolher um substituto apenas para essa aula. Esta atribuição tem prioridade sobre as políticas longas. ##### Política longa Na secção Substituições longas do painel, o botão Atribuir um substituto cria uma regra de substituição. Para cada regra, você preenche: - o **substituto**; - uma **data de início** e uma **data de fim** de validade; - **faixas horárias**, se a regra não abranger o dia inteiro; - eventualmente **disciplinas**; - eventualmente **turmas**; - um **comentário** interno. Várias regras podem coexistir. Aplicam-se pela ordem apresentada; reordene-as por arrastar e soltar se a prioridade mudar. #### Leitura do painel A lista das aulas mostra qual substituto cobre cada uma delas. Se uma regra não corresponder a nenhuma aula da ausência, o painel exibe um aviso sobre essa regra: corrija as datas, as faixas horárias, as disciplinas ou as turmas. #### Caso típico: ausência longa com compartilhamento Para uma ausência de várias semanas: 1. Crie uma primeira regra com o substituto principal, sem filtro de disciplina nem de turma. 2. Acrescente uma segunda regra mais específica, por exemplo limitada a uma disciplina ou a uma faixa horária. 3. Coloque a regra mais específica antes da regra geral se ela deve prevalecer. #### Procedimento — Compartilhar uma ausência longa 1. Abra a ausência de professor com Gestão de substituição. 2. Clique em Atribuir um substituto. 3. Escolha o substituto principal, defina as datas de validade e, em seguida, salve. 4. Acrescente uma regra complementar se algumas aulas tiverem de ser asseguradas por outro substituto. 5. Verifique a lista das aulas afetadas. Elas devem apresentar o substituto esperado; as aulas não cobertas permanecem visíveis como não substituídas. 6. Valide o painel com Atribuir. #### Ver também - [Declarar uma ausência](#page-absences.declaring) - [Substituição pontual de uma aula](#page-absences.single-lesson-replacement) - [Substituição / Reposição](#page-glossary.substitution) ### 6.4 Substituição pontual de uma aula *Source: `help/pt/absences/single-lesson-replacement.md` · id: absences.single-lesson-replacement · Audience: admin · Plan: standard · Updated: 2026-06-13* Uma **substituição pontual** atribui um substituto a uma única aula afetada por uma ausência de professor. Configura-se no painel de gestão de substituições da ausência. Este mecanismo não desloca a aula, não gera notificação por si só e não propõe vários cenários de cancelamento. Ele acrescenta um substituto à aula em questão; o titular ausente permanece visível como professor substituído. #### Acesso 1. Abra a aba Professores do módulo Gestão de ausências. 2. Na ausência em questão, clique em Gestão de substituição. 3. Na lista de aulas afetadas, use Atribuir um substituto na aula a substituir. O painel mostra as aulas cobertas pela ausência e as regras de substituição já definidas. #### Efeito da substituição pontual - O substituto escolhido é aplicado apenas a essa aula. - A sala, a turma, a data e o horário da aula não são alterados por esta ação. - A substituição pontual prevalece sobre as regras gerais de substituição da mesma ausência. - Se nenhum substituto for atribuído, a aula permanece afetada pela ausência do professor. #### Escolher o substituto A lista de seleção baseia-se nos professores disponíveis para a faixa horária em questão. Verifique manualmente se a escolha é coerente com a disciplina, o campus e a organização interna da instituição antes de confirmar. #### Remover uma substituição pontual Se uma substituição pontual foi adicionada por engano, use [xmark]. A aula volta então à regra de ausência longa aplicável, ou permanece sem substituto se nenhuma regra corresponder. #### Procedimento — Substituir uma aula 1. Crie ou abra uma ausência de professor aceita. 2. Clique em Gestão de substituição. 3. Localize a aula a tratar na lista de aulas afetadas. 4. Clique em Atribuir um substituto, escolha o substituto e valide o painel com Atribuir. 5. Verifique a exibição da aula: o titular ausente deve permanecer riscado e o substituto deve aparecer na aula. #### Ver também - [Políticas de substituição](#page-absences.substitution-policies) - [Declarar uma ausência](#page-absences.declaring) - [Ausências de vários dias](#page-absences.multi-day) - [Substituição / Reposição](#page-glossary.substitution) ### 6.5 Ausências de vários dias *Source: `help/pt/absences/multi-day.md` · id: absences.multi-day · Audience: admin · Plan: standard · Updated: 2026-06-13* Uma **ausência de vários dias** é uma ausência declarada com uma data de início e uma data de fim. Ela permite cobrir um período contínuo sem criar uma ausência por aula. O Omniscol determina então quais aulas caem dentro do período. Para uma ausência de professor, essas aulas podem ser deixadas sem substituto, cobertas por uma política de substituição, ou ajustadas com substituições pontuais. #### Declarar o período Na aba Professores do módulo Gestão de ausências: - selecione o professor em questão; - informe a data de início e a data de fim; - deixe o dia todo ou especifique as faixas horárias em questão; - escolha o motivo; - acrescente um comentário se necessário; - salve com Adicionar. #### Tratar as aulas afetadas Após a declaração: - abra Gestão de substituição; - verifique a lista de aulas afetadas pela ausência; - crie uma ou mais regras com Atribuir um substituto se uma lógica de substituição se repetir; - use Atribuir um substituto numa aula específica para as exceções aula por aula. As **regras de substituição** são o mecanismo previsto para as ausências longas. Uma regra **sem filtro** aplica-se a **todas** as aulas do período; acrescente uma turma, uma disciplina, faixas horárias ou datas para visar apenas um subconjunto. Para **deixar tudo sem substituição**, não crie nenhuma regra: as aulas em que o professor ausente é o único interveniente são então canceladas no período. #### Ausência em faixas horárias recorrentes Uma ausência que afeta apenas certas faixas horárias de um longo período — por exemplo, todas as segundas-feiras de manhã durante dois meses — declara-se de **uma só vez**: indique um intervalo de datas amplo e depois especifique as **faixas horárias** em questão (e, se necessário, uma turma ou uma disciplina). O Omniscol seleciona então, em todo o período, apenas as aulas que caem nessas faixas horárias: não é preciso inserir cada ocorrência. #### Acompanhamento e exportação A tabela de ausências permite aos administradores exportar as linhas exibidas com Tabela. Para o acompanhamento disponível no módulo, consulte [Acompanhamento e exportação das ausências](#page-absences.statistics). #### Procedimento — Gerir uma ausência longa 1. Declare a ausência com uma data de início e uma data de fim. 2. Se a ausência não cobrir dias inteiros, especifique as faixas horárias em questão. 3. Salve a declaração. 4. Abra Gestão de substituição. 5. Acrescente as regras de substituição necessárias e depois controle a lista de aulas afetadas. 6. Use as substituições pontuais apenas para as aulas que devem se afastar das regras gerais. #### Ver também - [Declarar uma ausência](#page-absences.declaring) - [Políticas de substituição](#page-absences.substitution-policies) - [Substituição pontual de uma aula](#page-absences.single-lesson-replacement) - [Acompanhamento e exportação das ausências](#page-absences.statistics) ### 6.6 Ausências de turmas e alunos *Source: `help/pt/absences/class-and-student-absences.md` · id: absences.class-and-student-absences · Audience: admin/teacher/staff · Plan: standard · Updated: 2026-06-13* O módulo Gestão de ausências distingue as ausências de **turmas inteiras** e as ausências de **alunos individuais**. As duas usam o mesmo princípio de declaração, mas o seu efeito no horário não é o mesmo. #### Ausência de uma turma inteira Casos típicos: saída escolar, viagem, estágio coletivo, dia de provas. As ausências de turmas são geridas pelos administradores. Na aba Turmas, o formulário permite informar: - a turma em questão; - o intervalo de datas; - a faixa horária se a ausência não cobrir o dia todo; - eventualmente uma disciplina para limitar o efeito às aulas em questão; - um motivo; - um comentário. Para um horário recorrente, uma ausência de turma aceita retira as aulas dessa turma da exibição no período em questão. #### Ausência de um aluno individual Casos típicos: doença, consulta médica, motivo familiar, ausência justificada ou não justificada. Uma ausência de aluno: - diz respeito ao aluno selecionado; - marca as aulas do período como **canceladas** no horário do aluno, sem retirar as da turma nem as dos professores; - pode ser declarada por um administrador ou pelo aluno em questão conforme os seus direitos; - fica pendente quando é declarada pelo próprio aluno. #### Visibilidade Os administradores dispõem da visão completa. Os outros papéis veem uma versão limitada conforme os seus direitos: a existência de uma ausência pode ser visível sem expor o motivo, o comentário ou os metadados de validação. #### Procedimento — Declarar uma ausência de turma 1. Abra a aba Turmas do módulo Gestão de ausências. 2. Clique em Declare uma ausência. 3. Selecione a turma, as datas e os horários em questão. 4. Acrescente o motivo e, se necessário, um comentário. 5. Salve. As aulas dessa turma são retiradas da exibição no período aceito; as outras turmas conservam as suas aulas. #### Procedimento — Declarar uma ausência de aluno 1. Abra a aba **Alunos**. 2. Selecione o aluno em questão se você for administrador. 3. Informe as datas, os horários, o motivo e o comentário. 4. Salve. Se o aluno criou a solicitação por conta própria, ela permanece pendente até a validação. 5. Uma vez aceita, as aulas do período são marcadas como **canceladas** no horário do aluno e contabilizadas no seu acompanhamento e nas suas estatísticas. Os outros alunos da turma não são afetados. #### Ver também - [Declarar uma ausência](#page-absences.declaring) - [Acompanhamento e exportação das ausências](#page-absences.statistics) - [Ausências de vários dias](#page-absences.multi-day) - [Eventos pontuais](#page-schedules.events) ### 6.7 Acompanhamento e exportação das ausências *Source: `help/pt/absences/statistics.md` · id: absences.statistics · Audience: admin · Plan: standard · Updated: 2026-06-13* O acompanhamento das ausências está disponível em vários locais complementares: o módulo Gestão de ausências para o acompanhamento operacional, o **Painel** para as estatísticas agregadas e o módulo Administração para o histórico de um aluno. Estas duas últimas telas contabilizam apenas as ausências com o status **aceito**. #### Acompanhamento no módulo Ausências Conforme a aba e o período escolhido, a tela mostra: - as entidades ausentes no período; - os status das solicitações, com contadores; - as aulas afetadas pelas ausências com o status aceito; - uma navegação por semana, mês, ano letivo ou intervalo de datas; - a lista tabular das ausências. Para uma ausência de professor, a gestão das substituições (Gestão de substituição) acrescenta as aulas afetadas e os substitutos designados. Os administradores exportam a tabela apresentada com Tabela: entidade, datas, horários, disciplina eventual, motivo, comentário e status conforme os seus direitos — prático para um balanço interno ou um reprocessamento fora do Omniscol. #### Estatísticas no Painel Para os **volumes e as taxas**, abra o **Painel**. A aba Alunos totaliza, por aluno e ao longo do período, as **horas**, **aulas** e **dias de ausência**, bem como a **porcentagem de ausência** correspondente, exportável em CSV / XLSX (ver [Estatísticas de alunos e recursos](#page-dashboard.students-resources)). No lado dos **professores**, a aba Professores reflete o efeito das ausências sobre o serviço: a coluna **Horas canceladas** contabiliza as horas retiradas (uma ausência não substituída cancela a aula) e **Horas adicionais** as horas adicionais. Cada coluna indica o número de aulas em questão e apresenta uma dica de contexto que as detalha (disciplina, turma, dia e hora); para uma aula cancelada por uma ausência, o motivo consta ali quando está preenchido. Esta aba também é exportada em CSV / XLSX (ver [Estatísticas de professores](#page-dashboard.teachers)). #### Histórico na Administração No módulo Administração, a ficha de um **aluno**, tal como a de um **professor**, resume as suas ausências do ano letivo e disponibiliza a sua própria exportação de tabela — prática para um acompanhamento individual ou um compartilhamento (com a família, no caso de um aluno; com o interessado, no caso de um professor). #### Limites a conhecer - Apenas as ausências com o status **aceito** contam na apresentação e nas estatísticas; as que têm o status **pendente**, **rejeitado** ou **abortado** permanecem informativas. - Os motivos e comentários podem ser ocultados conforme o papel do leitor. #### Procedimento — Produzir uma exportação de acompanhamento 1. Abra a aba em questão do módulo Gestão de ausências. 2. Selecione o período a controlar. 3. Verifique os status e as aulas afetadas se necessário. 4. Clique em Tabela. 5. Utilize o arquivo exportado para os seus controles internos ou reprocessamentos. 6. Para **volumes e uma porcentagem de ausência** por aluno, abra o Painel, aba Alunos (cf. [Estatísticas de alunos e recursos](#page-dashboard.students-resources)). #### Ver também - [Visão geral do módulo Gestão de ausências](#page-absences.overview) - [Ausências de turmas e alunos](#page-absences.class-and-student-absences) - [Políticas de substituição](#page-absences.substitution-policies) - [Estatísticas de alunos e recursos](#page-dashboard.students-resources) --- ## 7. Serviço do pessoal ### 7.1 Visão geral da Gestão de pessoal *Source: `help/pt/staffing/overview.md` · id: staffing.overview · Audience: admin/staff · Options: staffing · SKU: omniscol/staffing-only · Updated: 2026-06-13* > **Option: Gestão de pessoal** O módulo **Gestão de pessoal** serve para planificar o pessoal **por tarefas** em vez de por aula: raciocinar em termos de «quem cobre que posto e em que momento» em vez de «quem ensina o quê». Complementa os horários pedagógicos quando a instituição precisa de gerir a vida escolar, supervisões, salas de estudo, exames ou atividades de enquadramento. #### Caso de uso principal: vida escolar e assistentes educativos O módulo foi criado para responder à necessidade histórica das equipas de vida escolar: coordenadores, assistentes educativos, monitores e pessoal que assegura uma multiplicidade de postos ao longo do dia, independentemente das aulas. Exemplos: - vigiar os corredores; - filtrar as entradas e saídas da instituição; - assegurar a receção; - vigiar o recreio durante os intervalos; - vigiar o refeitório ao meio-dia; - assegurar as salas de estudo e a sala de trabalho; - animar ou vigiar a biblioteca, a sala comum ou um espaço de trabalho; - acompanhar os alunos no exterior, por exemplo numa saída de educação física confiada apenas às pessoas habilitadas; - cobrir os intervalos pontuais entre aulas; - enquadrar exames, concursos ou dias especiais. Uma tarefa descreve uma necessidade de presença. Não tem matéria, programa pedagógico ou grupo de alunos obrigatório como uma aula. A grade é muitas vezes muito mais fina do que um horário pedagógico: na vida escolar, o quarto de hora é comum. A necessidade pode variar fortemente ao longo do dia: 0 pessoas no recreio durante as aulas, 3 pessoas ao meio-dia, 1 pessoa na biblioteca toda a tarde. #### Os ecrãs do módulo ##### Grade A grade define o quadro temporal do serviço: dias úteis, faixas horárias — muitas vezes mais finas do que uma grade de aulas — e períodos do ano em que se aplica. Serve de modelo de trabalho antes de nomear as pessoas. Os locais e as suas distâncias declaram-se no mesmo sítio: servem para assinalar as atribuições incompatíveis entre locais distantes. Consulte [Construir uma grade de serviço](#page-staffing.building-grids). ##### Atribuições O ecrã Atribuições define os postos ou tarefas a cobrir: rótulo, número de pessoas requerido e ideal, prioridade, local, pessoal autorizado e compatibilidades entre tarefas — por exemplo dois corredores vizinhos que uma mesma pessoa pode cobrir numa faixa horária calma, com efetivo reduzido. As necessidades podem variar faixa a faixa. Consulte [Definir as tarefas a cobrir](#page-staffing.assignments). ##### Planeador O planeador atribui os membros do pessoal às tarefas reais de uma semana ou de um intervalo de datas. A atribuição faz-se por seleção, deslocação, duplicação e correção manual. As ausências, indisponibilidades, conflitos e atribuições de pessoas não autorizadas surgem como alertas. Consulte [Atribuir o pessoal](#page-staffing.planner). ##### Escala A escala de serviço dá a cada pessoa a sua lista de tarefas ou a sua semana sob a forma de grade. Pode ser impressa, exportada ou partilhada consoante os direitos e o modo de difusão escolhido pela instituição. Apresenta os totais úteis à leitura da semana e conserva os sinais de ausência ou de indisponibilidade. Consulte [Escalas de serviço](#page-staffing.roster). #### O que o módulo verifica - disponibilidade das pessoas; - ausências declaradas; - carga de trabalho atribuída; - pessoal autorizado em cada tarefa; - conflitos com outras tarefas ou presenças; - coerência das necessidades por local e por faixa horária, tendo em conta as distâncias entre locais. A planificação do pessoal é **manual**: a grade, os alertas e as ferramentas de correção orientam cada atribuição, que você mantém sob controlo. O Omniscol não coloca o pessoal automaticamente. #### Benefício operacional O ganho vem sobretudo da centralização: - uma grade de necessidades partilhada em vez de uma folha de cálculo isolada; - atribuições modificáveis semana a semana; - a duplicação das semanas estáveis; - as ausências visíveis no planeamento do pessoal; - escalas de serviço imprimíveis ou partilháveis; - menos idas e vindas entre a vida escolar, as pessoas atribuídas e a administração. Numa instituição de cerca de mil alunos, o retorno de experiência indica cerca de 20 horas de trabalho administrativo poupadas por semana. > «Escolhemos o Omniscol para digitalizar a gestão dos planeamentos do > nosso serviço de Vida escolar (o horário dos assistentes educativos). > A solução revelou-se intuitiva, completa e perfeitamente adaptada às > nossas necessidades. Cada pessoa vê claramente onde está atribuída.» > > — Jeanne Weeber, Diretora adjunta, Collège Sévigné (fundado em 1880), Paris #### Outros usos - **Supervisão de exames**: sessões de provas intercalares, exames finais, concursos, vários dias, várias salas, necessidades de supervisores por prova. - **Salas de estudo e estudo acompanhado**: postos de supervisão variáveis consoante o número de alunos esperados. - **Enquadramento Montessori e pedagogias ativas**: atividades ou ateliês a cobrir sem impor a estrutura de uma aula clássica. - **Planeamentos de animadores e de tarefas**: centro de tempos livres, atividades extraescolares, internato, planeamento organizado por missão. - **Enquadramento de saídas**: viagem escolar, saída pedagógica, visita a uma instituição. - **Presenças pontuais**: receção de pais, dia de portas abertas, conselho de turma. #### Diferença em relação a uma aula Uma aula tem uma matéria, um grupo de alunos e um professor qualificado. Uma tarefa da Gestão de pessoal tem uma **necessidade de presença**: é preciso alguém neste posto, com a disponibilidade certa e, se necessário, a autorização para o assegurar. Esta diferença explica por que razão o módulo funciona com grades de necessidades, atribuições de pessoas e escalas de serviço, em vez de partir de uma distribuição matéria / turma / professor. #### Âmbito do módulo Uma conta com Gestão de pessoal inclui: - o módulo Gestão de pessoal: grades, tarefas, planeador, escalas de serviço; - o módulo Gestão de ausências para o pessoal atribuível; - os ecrãs de administração necessários às contas e aos perfis; - a pesquisa transversal, consoante os direitos da conta. #### Perfil *Pessoal* O perfil **Pessoal** foi concebido para as equipas de vida escolar (coordenadores, assistentes educativos, monitores, contínuos). Consoante os direitos da conta, dá acesso à Gestão de pessoal, ao planeamento pessoal e às ausências do pessoal, sem abrir toda a configuração global da escola. Um mesmo utilizador pode acumular vários perfis: por exemplo, um professor envolvido numa pedagogia ativa pode ser ao mesmo tempo professor e membro do pessoal planificado por tarefas. #### Ver também - [Construir uma grade de serviço](#page-staffing.building-grids) - [Definir as tarefas a cobrir](#page-staffing.assignments) - [Atribuir o pessoal](#page-staffing.planner) - [Escalas de serviço](#page-staffing.roster) - [Visão geral do módulo Gestão de ausências](#page-absences.overview) - [Gestão de pessoal](#page-glossary.staffing) - [Estudos e estudos dirigidos (escolar)](#page-k12.study-halls) ### 7.2 Construir uma grade de serviço *Source: `help/pt/staffing/building-grids.md` · id: staffing.building-grids · Audience: admin/staff · Options: staffing · SKU: omniscol/staffing-only · Updated: 2026-06-26* > **Option: Gestão de pessoal** Uma **grade de serviço** define o quadro temporal do serviço: os dias úteis, as faixas horárias e os períodos do ano em que se aplica. É a etapa que se faz **antes** de nomear as pessoas — você fixa o quadro, as tarefas a cobrir descrevem-se depois no ecrã Atribuições, e o preenchimento faz-se no planeador. Combinada com as necessidades declaradas em cada tarefa, a grade responde a perguntas como «quantas pessoas no recreio às 10:00?» ou «que faixas horárias deve a vida escolar cobrir esta semana?». #### Criar uma grade O separador Grade da Gestão de pessoal apresenta as grades existentes e a sua distribuição ao longo do ano. Para cada grade, você preenche: - o **nome** — curto e reconhecível, por exemplo `Semana tipo`, `Exames T1`, `Férias`; - os **Dias úteis** — por exemplo de segunda a sexta para a semana tipo, ou uma seleção específica para uma semana de exames; - a **Grade horária** — as faixas horárias da grade, que você define livremente. Na vida escolar, o quarto de hora é comum, e estas faixas podem ser mais finas do que a grade das aulas pedagógicas. O botão Distribuição das grades atribui depois cada grade às semanas ou aos intervalos de datas do ano que ela cobre. Na primeira abertura, é proposta uma grade vazia. Para criar uma grade suplementar, duplique uma grade existente com Duplicar, renomeie-a e adapte-a a seguir. #### Definir as tarefas e as suas necessidades As próprias tarefas — rótulo, número de pessoas, local, pessoal autorizado — definem-se no ecrã Atribuições: consulte [Definir as tarefas a cobrir](#page-staffing.assignments). Para cada tarefa, o editor de necessidades precisa depois, faixa a faixa na grade, quantas pessoas são esperadas (0 = nenhuma necessidade). A necessidade pode variar fortemente consoante a hora: 0 pessoas no recreio durante as aulas, 3 pessoas ao meio-dia para o refeitório, 1 pessoa na biblioteca toda a tarde. #### Locais e distâncias Se a sua instituição tiver vários locais, declare-os no fundo do ecrã Grade com as suas distâncias. Uma tarefa localizada num local distante desencadeia um alerta se a mesma pessoa for esperada noutro sítio sem tempo de deslocação suficiente. #### Compatibilidades com efetivo reduzido Quando o efetivo disponível é mais curto do que o ideal (caso frequente: ausências em cascata, períodos de exames), você pode declarar **compatibilidades** entre tarefas vizinhas: uma mesma pessoa pode então cobrir duas tarefas em paralelo. Exemplo típico: `corredor 2` + `corredor 3` são fundíveis — a mesma pessoa pode vigiar os dois. Você declara-o na tarefa, no ecrã Atribuições, para orientar as decisões de atribuição. Não declare uma compatibilidade para ocultar de forma duradoura um efetivo reduzido. A compatibilidade deve corresponder a uma situação que a instituição aceita realmente no terreno. #### Modelos de grade Se gerir a mesma estrutura de planeamento todas as semanas, você pode **duplicar uma grade existente** para partir de uma base. Casos recorrentes: - **Semana tipo** — a grade de referência (do início ao fim do ano). - **Semana de férias** — menos tarefas, equipa reduzida. - **Semana de exames** — supervisão de anfiteatros que se acrescenta às tarefas correntes. - **Dia especial** — portas abertas, saída, evento interno, conselho ou receção particular. #### Verificar a coerência antes de atribuir Antes de passar à etapa de atribuição, utilize a grade como uma lista de verificação operacional: - as tarefas cobrem de facto cada período útil? - as necessidades são realistas em relação à equipa disponível? - os postos multilocal têm em conta os tempos de deslocação? - as restrições de pessoal autorizado correspondem às pessoas realmente habilitadas? - as compatibilidades entre tarefas permanecem aceitáveis mesmo com efetivo reduzido? Assim que a grade estiver validada, passe à etapa de **atribuição**. Consulte [Atribuir o pessoal](#page-staffing.planner). #### Procedimento — Construir uma grade de serviço 1. **Uma grade de serviço** descreve o quadro do serviço ao longo do ano: dias úteis, faixas horárias, locais. 2. **Crie uma grade.** Dê-lhe um nome curto (`Semana tipo`). Selecione os dias úteis e defina depois as faixas horárias — tipicamente ao quarto de hora para os assistentes educativos. Você também pode duplicar uma grade existente para partir de uma base. 3. **Distribua a grade ao longo do ano** com Distribuição das grades: cada grade cobre as semanas ou os intervalos de datas em que se aplica (semana tipo, exames, férias). 4. **Declare os locais** se a sua instituição tiver vários. As distâncias entre locais permitem assinalar as atribuições incompatíveis. 5. **Guarde a grade** e descreva depois as tarefas e as suas necessidades faixa a faixa no ecrã Atribuições. Consulte [Definir as tarefas a cobrir](#page-staffing.assignments). 6. **Etapa seguinte: atribuir o pessoal** no planeador. Consulte [Atribuir o pessoal](#page-staffing.planner). #### Ver também - [Visão geral da Gestão de pessoal](#page-staffing.overview) - [Definir as tarefas a cobrir](#page-staffing.assignments) - [Atribuir o pessoal](#page-staffing.planner) ### 7.3 Definir as tarefas a cobrir *Source: `help/pt/staffing/assignments.md` · id: staffing.assignments · Audience: admin/staff · Options: staffing · SKU: omniscol/staffing-only · Updated: 2026-06-13* > **Option: Gestão de pessoal** O ecrã Atribuições serve para definir as tarefas ou postos que a Gestão de pessoal terá de cobrir. É uma etapa de configuração: descrevem-se as necessidades antes de atribuir as pessoas no [Planeador](#page-staffing.planner). A **difusão** ao pessoal vem a seguir, através da Escala (consulte [Escalas de serviço](#page-staffing.roster)). #### O que uma tarefa descreve Uma tarefa pode ter: - um rótulo claro: `Receção`, `Recreio`, `Refeitório`, `Supervisão de exame anfiteatro A`; - um número mínimo de pessoas requerido e um número ideal; - um nível de prioridade; - um local ou um sítio; - a lista específica dos membros do pessoal autorizados a assegurá-la (vazio = todo o pessoal); - regras de compatibilidade com outras tarefas; - necessidades detalhadas faixa a faixa na grade de serviço. A tarefa deve ser suficientemente precisa para ser compreendida no planeador e na escala de serviço entregue ao pessoal. Exemplos frequentes: - `Corredor 2`; - `Receção portão norte`; - `Recreio`; - `Refeitório`; - `Sala de estudo B12`; - `Supervisão de exame anfiteatro A`; - `Saída de educação física estádio Charcot`. #### Necessidades e pessoal autorizado As necessidades indicam quantas pessoas devem cobrir uma tarefa, faixa a faixa na grade de serviço (0 = nenhuma necessidade), além do mínimo requerido e do efetivo ideal da tarefa. A lista do pessoal autorizado limita as pessoas elegíveis: reserve-a para os postos que exigem uma habilitação ou uma competência específica — saída de educação física, supervisão específica, receção particular, acesso a um local. Estas informações evitam que a atribuição se transforme numa simples lista de nomes: o Omniscol mantém a ligação entre o posto, a necessidade e as pessoas autorizadas a cobri-lo. Para uma tarefa sensível, limite o pessoal autorizado em vez de contar com uma instrução verbal: o planeador assinala então qualquer atribuição de uma pessoa não autorizada. #### Compatibilidades entre tarefas Certas tarefas próximas podem ser cobertas pela mesma pessoa se a instituição o autorizar. Exemplo: dois corredores vizinhos durante uma faixa horária calma. Declare estas compatibilidades apenas quando correspondem a uma regra operacional real. Uma compatibilidade demasiado ampla torna o planeamento menos legível e pode ocultar um efetivo reduzido. Caso a evitar: fundir postos distantes apenas porque falta alguém. #### Importação e reutilização de estrutura Quando já existem muitas tarefas, o ecrã permite poupar tempo com as ferramentas de importação e de reutilização de estrutura disponíveis no módulo. Após a importação, verifique os rótulos, as necessidades e o pessoal autorizado antes de passar ao planeador. Uma importação limpa deve produzir rótulos diretamente legíveis pelas pessoas atribuídas. Se importar códigos internos, renomeie-os antes da difusão. #### Por que razão separar tarefas e planeador A separação evita misturar duas decisões: - **definir a necessidade**: que postos existem, onde, com que regras; - **atribuir as pessoas**: quem cobre esses postos numa dada semana ou período. Quando a estrutura muda pouco, esta separação permite reutilizar as mesmas tarefas e modificar apenas as pessoas ou as exceções. #### Procedimento 1. Abra Gestão de pessoal > Atribuições. 2. Crie ou importe as tarefas a cobrir. 3. Verifique os rótulos visíveis pela equipa. 4. Preencha as necessidades, os locais e o pessoal autorizado. 5. Declare apenas as compatibilidades realmente aceites. 6. Guarde e abra depois o planeador para nomear as pessoas. #### Ver também - [Construir uma grade de serviço](#page-staffing.building-grids) - [Atribuir o pessoal](#page-staffing.planner) - [Escalas de serviço](#page-staffing.roster) - [Visão geral da Gestão de pessoal](#page-staffing.overview) - [Visão geral do módulo Gestão de ausências](#page-absences.overview) ### 7.4 Atribuir o pessoal *Source: `help/pt/staffing/planner.md` · id: staffing.planner · Audience: admin/staff · Options: staffing · SKU: omniscol/staffing-only · Updated: 2026-06-13* > **Option: Gestão de pessoal** O Planeador serve para nomear as pessoas que cobrem as tarefas definidas na grade de serviço. É o ecrã de trabalho operacional: escolher uma semana, preencher as células, corrigir os alertas e guardar em seguida. #### Atribuição manual Para cada faixa horária e cada tarefa, você coloca os membros do pessoal disponíveis na célula correspondente. O Omniscol assinala as situações a verificar: - pessoa ausente; - indisponibilidade ou restrição declarada; - pessoa já atribuída noutro sítio; - pessoa não autorizada na tarefa; - carga semanal a vigiar. O planeador foi pensado para os casos reais de vida escolar: assistentes educativos que também são estudantes e cujas disponibilidades mudam, períodos de exames, ausências declaradas de manhã, postos a cobrir novamente com rapidez e equipas a repartir equitativamente. A planificação é **manual**: os alertas, a duplicação e as ferramentas de correção orientam a construção do planeamento. O Omniscol não coloca o pessoal automaticamente. #### Ler os alertas As cores e as dicas indicam por que razão uma atribuição merece uma verificação: ausência, indisponibilidade, outra tarefa na mesma faixa horária, pessoa não autorizada ou ultrapassagem do serviço horário. O resumo semanal permite regressar à célula em causa. Os alertas graduam-se por gravidade: um conflito vermelho exige uma correção imediata; um aviso assinala uma situação a arbitrar consoante as regras da instituição. #### Ferramentas de correção O planeador permite nomeadamente: - navegar por semana e por dia; - apresentar um dia ou toda a semana consoante a necessidade; - duplicar uma semana para outra quando a estrutura se repete, filtrando se necessário os dias ou as tarefas copiados; - ativar um modo borracha para apagar uma célula, uma linha ou uma coluna; - anular uma correção recente; - guardar as alterações. As pessoas bloqueadas numa célula permanecem fixas nas correções manuais seguintes. #### Duplicar sem começar do zero Quando a estrutura é estável, duplique a semana anterior e corrija apenas as exceções: ausência, indisponibilidade pontual, mudança de exame, saída ou necessidade reforçada num posto. É o método corrente para evitar reconstruir toda a vida escolar à mão a cada semana. Para as semanas atípicas, utilize uma grade adaptada: férias, exames, portas abertas ou período com equipa reduzida. #### Ausências As ausências de pessoal declaradas no módulo Gestão de ausências são tidas em conta na atribuição. Uma pessoa ausente pode surgir em alerta nas tarefas já colocadas, o que permite identificar os postos a cobrir novamente. As ausências tornam o problema visível no sítio certo: o administrador ou o coordenador reatribui então a tarefa com pleno conhecimento da situação. #### Carga de trabalho O planeador calcula informações de serviço por pessoa e por dia, nomeadamente os períodos cobertos e as durações. Utilize estas indicações para evitar que uma pessoa absorva demasiadas faixas horárias, ou que as tarefas penosas sejam sempre concentradas na mesma equipa. #### Partilha O planeador pode ser partilhado consoante as opções de partilha disponíveis na conta. Para transmitir o planeamento individual a cada pessoa, utilize antes a [escala de serviço](#page-staffing.roster), mais legível e prevista para a impressão ou a difusão. #### Procedimento 1. Abra Gestão de pessoal > Planeador. 2. Escolha a semana ou o intervalo a trabalhar. 3. Verifique que a grade de serviço certa está ativa. 4. Atribua as pessoas às células. 5. Trate os alertas de disponibilidade, de ausência ou de pessoa não autorizada. 6. Duplique a semana se a estrutura se repetir. 7. Guarde e abra depois a escala de serviço para difusão. #### Ver também - [Construir uma grade de serviço](#page-staffing.building-grids) - [Definir as tarefas a cobrir](#page-staffing.assignments) - [Escalas de serviço](#page-staffing.roster) - [Visão geral do módulo Gestão de ausências](#page-absences.overview) ### 7.5 Criar e compartilhar as escalas de serviço *Source: `help/pt/staffing/roster.md` · id: staffing.roster · Audience: admin/staff · Options: staffing · SKU: omniscol/staffing-only · Updated: 2026-05-18* > **Option: Gestão de pessoal** A Escala apresenta as tarefas atribuídas a uma pessoa ou ao conjunto do pessoal no período selecionado. Serve para divulgar a programação após o trabalho de atribuição. É a tela destinada a responder de forma simples à pergunta: «onde devo estar, a que horas e para qual tarefa?» #### Duas visões - **Visão em lista**: tarefas classificadas por dia e em ordem cronológica, com as informações úteis à leitura individual. - **Visão em grade**: a semana em tabela, com as faixas horárias nas linhas e os dias nas colunas. As ausências, indisponibilidades e comentários úteis permanecem visíveis para evitar divulgar uma escala incoerente. A visão em lista exibe os totais por dia e por semana. #### Impressão e exportação A escala de serviço pode ser impressa. A visão em grade também oferece uma exportação em tabela legível, com a possibilidade de gerar um PDF a partir da janela de exportação. Conforme a organização da instituição, a escala pode ser: - impressa para afixação; - exportada em PDF; - enviada por e-mail fora do Omniscol; - consultada diretamente pelo pessoal conectado; - compartilhada por link quando essa opção é utilizada na conta. A impressão continua frequente para uma equipe de apoio escolar; a mesma tela serve também para preparar um PDF nominal, para transmitir uma visão a uma pessoa, ou para deixar o pessoal consultar sua programação com sua própria conta. #### Compartilhamento e calendário O compartilhamento pode incluir um link web e uma assinatura iCal conforme as opções disponíveis. Assim como para os demais links de compartilhamento, defina uma data de expiração adequada ao período transmitido. Para uma comunicação nominal, verifique sempre se a pessoa selecionada é a correta antes de imprimir, exportar ou compartilhar. #### Todo o pessoal ou uma pessoa Você pode consultar uma pessoa específica ou o conjunto do pessoal. A visão individual é adequada à divulgação nominal; a visão global serve mais para o controle interno antes da divulgação. #### Procedimento 1. Abra Gestão de pessoal > Escala. 2. Escolha uma pessoa ou o conjunto do pessoal. 3. Selecione o período. 4. Escolha Visão em lista ou Visão em grade. 5. Verifique as ausências e os eventuais alertas. 6. Imprima, exporte ou compartilhe conforme o modo de divulgação previsto. #### Ver também - [Atribuir o pessoal](#page-staffing.planner) - [Definir as tarefas a cobrir](#page-staffing.assignments) - [Links de compartilhamento públicos](#page-glossary.share-link) --- ## 8. Administração ### 8.1 Usuários e papéis *Source: `help/pt/admin/users-and-roles.md` · id: admin.users-and-roles · Audience: admin · Updated: 2026-05-15* A administração de usuários reúne as contas que podem se conectar ao Omniscol. As visões principais são os administradores, os professores, os alunos e, se a Gestão de pessoal estiver ativa, o pessoal. #### Papéis principais | Papel técnico | Rótulo da interface | Uso | | --- | --- | --- | | `admin` | Administrador | Administração da conta da escola. | | `teacher` | Professor | Portal do professor, disponibilidades, horário pessoal, ausências próprias. | | `student` | Aluno | Portal do aluno, horário pessoal, ausências próprias. | | `staff` | Pessoal | Pessoal planejado pela Gestão de pessoal, se esse módulo estiver ativo. | Um usuário pode acumular vários papéis. O menu exibe então os módulos correspondentes ao conjunto dos direitos dele. O papel técnico `share` existe para certos links assinados. Não é uma conta de usuário comum: ele serve para abrir um perímetro específico, muitas vezes em somente leitura, a partir de uma URL de compartilhamento. #### Telas disponíveis - Administradores: contas de administradores. - Pessoal: pessoal da instituição (se o módulo estiver ativo). - Professores: professores e colaboradores. - Alunos: alunos, estudantes ou aprendizes conforme o vocabulário da instituição. - Todos os usuários: visão consolidada de todas as contas. #### Campos comuns O formulário de usuário gere, entre outras coisas: - nome, sobrenome e gênero; - data de nascimento; - e-mail e telefone; - identificador externo / matrícula; - login, gerado conforme as configurações da conta; - papéis; - comentário. Campos adicionais aparecem conforme o papel: horas de serviço, disciplinas e status externo para os professores; posicionamentos nas turmas e nos grupos para os alunos; parâmetros de serviço para o pessoal. #### Ações de lista Conforme o papel selecionado, a tela oferece: - Importar dados para a importação ou a modificação em massa; - Convidar um usuário para enviar convites; - Alterar senha para definir senhas; - Enviar um e-mail para enviar uma mensagem; - Atribuir a uma turma e Grupos para os alunos. As ações visíveis dependem das APIs disponíveis, do tipo de conta e dos direitos do usuário conectado. > _Option: Papéis personalizados_ #### Papéis personalizados A opção **Papéis personalizados** adiciona papéis de administração restritos para as contas de administradores. Ela permite excluir certos módulos ou certas operações para uma conta que deve administrar apenas uma parte do perímetro. Consulte [Papéis personalizados](#page-admin.customroles). #### Links de compartilhamento Os links públicos e os compartilhamentos assinados não implicam necessariamente a criação de uma conta de usuário. Os links web de horário são em somente leitura; alguns links direcionados podem, no entanto, autorizar uma ação limitada, por exemplo a entrada das disponibilidades de um professor até uma data de expiração. #### Procedimento — Convidar um grupo de usuários 1. Abra a tela adequada ao papel: professores, alunos, pessoal ou todos os usuários. 2. Selecione as linhas em questão. 3. Clique em Convidar um usuário. 4. Verifique se cada usuário tem um login e um e-mail. 5. Envie os convites. Os usuários definem em seguida a senha deles pelo link recebido. #### Ver também - [Arquitetura e funções](#page-overview.architecture-and-roles) - [Convidar e ativar seus usuários](#page-getting-started.inviting-users) - [Papéis personalizados](#page-admin.customroles) - [Gerir os membros do pessoal](#page-admin.staff) ### 8.2 Gerir os administradores *Source: `help/pt/admin/admins.md` · id: admin.admins · Audience: admin · Updated: 2026-05-14* O ecrã **Administradores** é a vista filtrada dos utilizadores que detêm o papel de administrador (consulte a tabela de papéis em [Usuários e papéis](#page-admin.users-and-roles)). Este papel dá acesso às operações de configuração da escola: utilizadores, horários, ausências, configurações, importações, exportações e publicação. #### Criar um administrador Utilize Adicionar um administrador a partir da lista. O formulário é o mesmo utilizado para os utilizadores: - nome próprio e apelido; - género; - e-mail e telefone, se úteis; - identificador externo / número de matrícula, se a instituição utilizar um; - login gerado de acordo com as configurações da conta; - papel de administrador; - comentário. A conta criada já possui um identificador de login. Para ativar o acesso da pessoa, abra a sua ficha na lista de utilizadores: pode **definir uma senha** (Senha), **enviar-lhe um e-mail** (Enviar um e-mail) e **ativar ou desativar** a conta (Ativar). A ligação por fornecedor de identidade (SSO) continua a ser uma alternativa, consulte [OIDC / SSO](#page-integrations.oauth2). #### Acumular vários papéis Uma mesma conta pode deter vários papéis. Um coordenador pode ser ao mesmo tempo professor e administrador: mantém o seu portal de professor e acede também aos ecrãs de administração. Os papéis personalizados permitem limitar um administrador a um perímetro mais preciso. Sem papel personalizado, o papel de administrador permanece global. #### Retirar um acesso de administrador Para retirar os direitos de administração, edite a conta e retire o papel de administrador. Evite criar uma segunda conta para a mesma pessoa salvo restrição real: a acumulação de papéis num único utilizador está prevista para este caso. Mantenha sempre pelo menos uma conta de administrador operacional antes de alterar os direitos dos outros administradores. #### Procedimento — Criar um administrador 1. Abra Administradores. 2. Clique em Adicionar um administrador. 3. Preencha a identidade, o e-mail se pretender enviar-lhe uma mensagem, e depois verifique que o papel de administrador está presente. 4. Guarde. Deve introduzir a **sua** senha de administrador, para confirmar qualquer criação ou modificação de uma conta de administrador, por medida de segurança. 5. Se necessário, selecione a conta na lista para **definir a sua senha**, **enviar-lhe um e-mail** ou **ativar / desativar** o acesso, consoante o seu modo de implementação. #### Ver também - [Usuários e papéis](#page-admin.users-and-roles) - [Papéis personalizados](#page-admin.customroles) - [OIDC / SSO](#page-integrations.oauth2) ### 8.3 Papéis personalizados de administração *Source: `help/pt/admin/customroles.md` · id: admin.customroles · Audience: admin · Options: customroles · Updated: 2026-06-13* > **Option: Papéis personalizados** Os **papéis personalizados** permitem restringir os direitos de uma conta de administrador. O princípio é subtrativo: parte-se de um perímetro de administração e retiram-se depois os módulos ou as operações que a pessoa não deve poder utilizar. É a opção a ativar para delegar uma parte da administração sem conceder todos os direitos globais. #### Porquê não conceder todos os direitos de administração? O papel de administrador padrão concede todos os direitos sobre a conta da escola. Para muitas funções de coordenação, é demasiado: - um coordenador de ausências deve ver e gerir as ausências, mas não modificar os horários nem as configurações globais; - um gestor de horários deve construir os horários sem necessariamente aceder à importação / exportação; - um serviço de RH pode precisar de modificar as fichas dos professores sem mexer nas aulas; - um serviço técnico pode consultar salas, painéis ou recursos sem gerir os utilizadores. #### O que o formulário permite O ecrã **Papéis personalizados** propõe: - um **nome de papel**; - permissões por módulo; - permissões por operação, consoante o que cada módulo expõe. As permissões incidem sobre os módulos e as suas operações, não sobre os dados em si: um papel personalizado não restringe o acesso a uma turma, a um site, a uma disciplina ou a um período em particular. Ele delimita o que a pessoa pode fazer, não os dados sobre os quais ela pode atuar. #### Atribuir um papel personalizado Uma vez criado, o papel aparece nos seletores de papéis das fichas de utilizadores. Atribui-o a uma conta de administrador como qualquer outro papel. Um utilizador pode acumular vários papéis padrão e personalizados. Obtém então a união das permissões restantes. #### Casos de utilização típicos - **Vida escolar / vigilantes** — direitos sobre as ausências, o Gestão de pessoal e a consulta dos horários, sem acesso à configuração. - **Coordenadores pedagógicos** — direitos sobre os ecrãs de horário úteis, sem configurações globais. - **Serviço técnico** — acesso às salas, painéis ou recursos consoante as operações autorizadas. - **Assistentes administrativos** — gestão dos alunos ou professores sem acesso às configurações sensíveis. #### Auditabilidade As ações efetuadas com um papel personalizado aparecem nos registos quando a opção de registos está ativa e a rota em questão está registada. Consulte [Registros de atividades (logs)](#page-admin.logs). #### Procedimento — Criar um papel «Coordinateur absences» 1. Abra **Papéis personalizados** na administração. 2. Crie um papel com o nome `Coordinateur absences`. 3. Autorize as ações necessárias no módulo Gestão de ausências. 4. Mantenha a leitura dos horários se o coordenador precisar de contextualizar uma ausência, mas retire a modificação. 5. Exclua os módulos que não devem estar acessíveis, nomeadamente Gestão de horários letivos, configurações globais ou importação / exportação se não for o seu perímetro. 6. Guarde e, em seguida, atribua o papel às contas de administrador em causa. 7. Se os registos de atividade estiverem ativos, controle as ações a partir de [Registros de atividades (logs)](#page-admin.logs). #### Ver também - [Usuários e papéis](#page-admin.users-and-roles) - [Gerir os administradores](#page-admin.admins) - [Restrições de visibilidade](#page-admin.visibility-restrictions) - [Registros de atividades (logs)](#page-admin.logs) ### 8.4 Gerir os professores *Source: `help/pt/admin/teachers.md` · id: admin.teachers · Audience: admin · Updated: 2026-05-15* A tela **Professores** lista os usuários que têm o papel de professor. Conforme o contexto da instituição, eles também são chamados de docentes, colaboradores ou formadores. Esta tela serve para criar as contas, gerir as informações, as disciplinas e as disponibilidades de cada um, além da consulta do horário deles. #### Campos da ficha Uma ficha de professor contém os campos comuns de um usuário e campos próprios dos professores: - nome, sobrenome e gênero; - data de nascimento; - e-mail e telefone; - identificador externo / matrícula; - login; - horas de serviço; - disciplinas lecionadas; - status externo para os colaboradores ou professores externos; - disponibilidades e restrições de horário; - comentário. A aba **Horário** reúne o horário completo do professor, ao longo de todos os anos letivos, com as suas disponibilidades consolidadas ao fundo. É uma visão de consulta: as atribuições pedagógicas são feitas nos horários. A partir da ficha, o botão **Compartilhamento** abre a tela de compartilhamento, que fornece, entre outras coisas, uma assinatura iCal própria do professor, válida em todos os anos letivos. #### Disciplinas lecionadas As disciplinas vinculadas a um professor servem para filtrar ou preparar as atribuições. Elas são escolhidas no referencial de disciplinas oficiais ou personalizadas. #### Disponibilidades A aba **Disponibilidade** permite ao administrador digitar ou corrigir as disponibilidades de um professor. Conforme a configuração da escola, a entrada é feita em modo semanal, calendário, misto ou desativada. O professor também pode informar as suas próprias disponibilidades a partir do portal dele, se a instituição o permitir. #### Ações em massa Ao selecionar professores na lista principal, você também pode convidá-los, definir uma senha para eles ou enviar-lhes uma mensagem, conforme as funções ativadas para a conta. Você pode filtrá-los previamente. O botão **Importar dados** abre uma grade do tipo planilha: nela você adiciona, corrige ou exclui vários professores de uma vez, e exporta a lista. Duas colunas ficam em somente leitura, destinadas apenas à exportação: - **Disponibilidade**: restituídas em texto, tal como foram registradas; - **Turmas**: aquelas em que o professor tem aulas, consolidadas a partir dos horários ativos do ano em curso. > _Premium_ Os professores podem ser sincronizados a partir de um sistema externo: Sincronizar abre a reconciliação com esse sistema. Consulte [Sincronização com sistemas externos](#page-integrations.extsync). #### Procedimento — Criar um professor 1. Abra Professores. 2. Clique em Adicionar um professor. 3. Preencha a identidade, o e-mail, o login ou o identificador externo conforme a sua regra interna. 4. Adicione as disciplinas lecionadas. 5. Preencha as horas de serviço se elas forem utilizadas pela sua instituição. 6. Salve e, em seguida, convide o professor se quiser que ele se conecte. #### Ver também - [Usuários e papéis](#page-admin.users-and-roles) - [Gerir os alunos](#page-admin.students) - [Gerir as disciplinas](#page-admin.subjects) - [Disponibilidades dos professores](#page-core-concepts.wishes-and-availability) - [Professores externos (docentes contratados)](#page-higher-ed.external-faculty) ### 8.5 Gerir os alunos *Source: `help/pt/admin/students.md` · id: admin.students · Audience: admin · Plan: standard · Updated: 2026-05-15* A tela **Alunos** lista os usuários que têm o papel aluno. Conforme o contexto da instituição, eles também são chamados de estudantes ou aprendizes. Esta tela serve para criar as contas, acompanhar o status de cada uma e gerir os posicionamentos nas turmas e nos grupos, ano letivo por ano letivo. #### Campos da ficha Uma ficha de aluno contém os campos comuns de um usuário: - nome, sobrenome e gênero; - data de nascimento; - e-mail e telefone; - identificador externo / matrícula; - login; - comentário. Os responsáveis legais, os comprovantes e as notificações aos pais não são campos desta ficha. #### Posicionamentos nas turmas e nos grupos As atribuições pedagógicas são geridas na aba de posicionamento do aluno. Um posicionamento indica, entre outras coisas: - a turma principal; - o ano letivo em questão; - as datas de início e de fim, se o posicionamento não cobrir todo o ano; - os grupos frequentados, semana a semana se necessário; - as eventuais sobreposições a corrigir. Um aluno pode ter vários posicionamentos ao longo de um ano letivo, por exemplo após uma mudança de turma, um percurso parcial ou uma repetição parcial. #### Ações em massa Ao selecionar alunos na lista principal, você pode atribuí-los a uma turma com **Atribuir a uma turma** ou a grupos com **Grupos** (se forem da mesma turma), convidá-los, definir uma senha para eles, enviar-lhes uma mensagem, desativá-los quando deixam a instituição ou excluí-los definitivamente. Você pode filtrá-los previamente, em especial pela turma de atribuição. O botão **Importar dados** abre uma grade do tipo planilha: nela você adiciona ou corrige vários alunos de uma vez, e exporta a lista (CSV, Excel, PDF). Para cada ano letivo, duas colunas ficam em somente leitura, destinadas apenas à exportação: - **Turmas**: a turma ou as turmas em que o aluno está posicionado no ano atual e nos seguintes; - **Grupos**: os grupos frequentados no ano atual e nos seguintes. #### Repetições e fora de currículo Uma repetição parcial — um aluno que frequenta aulas distribuídas por dois níveis — é gerida posicionando-o nas duas turmas em questão no mesmo período: o horário dele reúne então as aulas das duas turmas. O Omniscol não verifica as sobreposições de horários entre elas, cabe a você conferi-las. #### Procedimento — Criar e posicionar um aluno 1. Abra Alunos. 2. Crie o aluno ou importe-o em massa. 3. Abra a ficha dele e, em seguida, a aba de posicionamento do ano letivo em questão. 4. Adicione uma turma, confira as datas e, depois, selecione os grupos frequentados se necessário. 5. Salve os posicionamentos. 6. Convide o aluno se quiser que ele se conecte ao portal. #### Ver também - [Usuários e papéis](#page-admin.users-and-roles) - [Turma, grupo, subgrupo](#page-core-concepts.classes-and-groups) - [Importação e exportação](#page-admin.import-export) ### 8.6 Gerir os membros do pessoal *Source: `help/pt/admin/staff.md` · id: admin.staff · Audience: admin · Options: staffing · SKU: omniscol/staffing-only · Updated: 2026-06-25* > **Option: Gestão de pessoal** A tela **Pessoal** lista os usuários que têm o papel **Pessoal**. Ela só aparece nas contas dotadas do módulo **Gestão de pessoal**: é aí que você declara as pessoas (monitores, supervisores, assistentes educativos…) que você planejará em seguida na [Gestão de pessoal](#page-staffing.overview). Esta aba serve para criar as contas, gerir as suas informações e as suas horas de serviço. **A atribuição às tarefas** (plantões, supervisões, exames…) faz-se, essa, no módulo Gestão de pessoal — ver [Atribuições](#page-staffing.assignments). #### Campos da ficha Uma ficha de membro do pessoal contém os campos comuns de um usuário e alguns campos próprios do pessoal: - nome, sobrenome e gênero; - data de nascimento; - e-mail e telefone; - identificador externo / matrícula; - login; - **horas de serviço** (volume de referência para o acompanhamento); - papéis e comentário. Uma **ficha detalhada** está acessível a partir da lista (Detalhes) para consultar e completar essas informações membro por membro. #### Membro do pessoal e Gestão de pessoal A separação é intencional: **aqui** você gere as *pessoas* (o diretório dos membros), **na [Gestão de pessoal](#page-staffing.overview)** você gere o seu *planejamento* — grades, tarefas e atribuições. Um membro criado nesta tela torna-se selecionável como supervisor autorizado nas [atribuições](#page-staffing.assignments). #### Ações de lista A partir da lista, Adicionar um membro do pessoal adiciona um membro, e Importar dados abre a criação ou a correção **em massa**. As ações de seleção também permitem convidar os membros, definir senhas, ativar as contas ou excluí-las, conforme as API disponíveis. #### Procedimento — Criar um membro do pessoal 1. Abra Pessoal. 2. Clique em Adicionar um membro do pessoal. 3. Informe a identidade, o e-mail, o login ou o identificador externo conforme a sua regra interna. 4. Informe as **horas de serviço** se o seu estabelecimento fizer o acompanhamento delas. 5. Salve, depois convide o membro se você quiser que ele se conecte ao seu portal. 6. Planeje em seguida as suas tarefas na [Gestão de pessoal](#page-staffing.assignments). #### Ver também - [Usuários e papéis](#page-admin.users-and-roles) - [Gerir os professores](#page-admin.teachers) - [Gestão de pessoal — visão geral](#page-staffing.overview) - [Atribuições](#page-staffing.assignments) - [Gestão de pessoal](#page-glossary.staffing) ### 8.7 Gerir as disciplinas (oficiais e personalizadas) *Source: `help/pt/admin/subjects.md` · id: admin.subjects · Audience: admin · Updated: 2026-05-14* A tela **Disciplinas** gere as disciplinas personalizadas da escola e, se o referencial comum estiver ativo, permite pesquisar disciplinas oficiais do país configurado. #### Disciplinas comuns e personalizadas - As **disciplinas comuns** vêm do referencial Omniscol para o país da escola. Elas podem ser pesquisadas e adicionadas quando esse referencial não está desativado. - As **disciplinas personalizadas** pertencem à escola. Elas abrangem os títulos locais, módulos, opções ou unidades que não estão no referencial comum. #### Campos de uma disciplina personalizada | Campo | Obrigatório? | Função | | --- | --- | --- | | **código** | Sim | Codificação curta da disciplina, em par com o nome (que pode ser longo, sobretudo no ensino superior). Muitas vezes uma referência oficial — por exemplo os códigos de disciplina dos ministérios da educação (França, Itália) — geralmente em maiúsculas e/ou números. | | **nome** | Sim | Rótulo completo da disciplina, exibido nos seletores de aula, no horário e nas exportações. | | **nome curto** | Não | Rótulo abreviado para exibição no horário, mais curto do que o nome completo. | | **disciplina superior** | Não | Vincula a disciplina a outra disciplina para construir uma hierarquia de disciplinas. | | **família** | Não | Agrupa as disciplinas. O seletor propõe as famílias padrão do referencial do país e as famílias próprias da conta. | | **cor** | Não | Cor de identificação visual. Na criação, você escolhe em uma paleta de tons legíveis na tela; caso contrário, uma cor é calculada automaticamente a partir do nome. | O código e o nome são ambos solicitados na criação. Evite alterar o código depois que ele passa a servir de referência nas suas importações, exportações ou trocas com um sistema externo. #### Criação e modificação em massa O botão [table] abre a criação e a modificação **em massa** das disciplinas personalizadas: digitar ou substituir várias disciplinas em uma única operação, em uma grade do tipo planilha. Excluir uma linha da grade e depois confirmar remove a disciplina correspondente do catálogo: a grade substitui o conjunto das disciplinas personalizadas pelo seu conteúdo. Nessa grade, a cor aceita um valor hexadecimal livre, sem a paleta de tons proposta na criação — ao risco de uma exibição menos legível. Uma disciplina personalizada pode ser excluída mesmo que tenha sido usada em horários passados ou publicados. Assim, você pode limpar o catálogo de disciplinas de um ano para o outro sem afetar esses horários: cada turma conserva uma cópia local do rótulo da disciplina (nome, nome curto, código), e o horário mantém a cor que lhe foi atribuída. A disciplina continua, portanto, a ser exibida após a sua exclusão do catálogo. Consulte [Modelo de dados completo](#page-integrations.data-model-full) para o princípio da cópia local. > _Premium_ Se a sincronização com um sistema externo estiver configurada, Sincronizar abre a reconciliação com esse sistema. Consulte [Sincronização com sistemas externos](#page-integrations.extsync). #### Tipos de aula A mesma tela também exibe a lista simples dos tipos de aula. Consulte [Tipos de aula](#page-admin.lesson-types). > _Premium_ Os tipos de aula também podem ser sincronizados a partir de um sistema externo: Sincronizar abre a reconciliação. Consulte [Sincronização com sistemas externos](#page-integrations.extsync). #### Procedimento — Adicionar uma disciplina 1. Abra Disciplinas. 2. Para uma disciplina comum, use a pesquisa do referencial se ela estiver disponível. 3. Para uma disciplina própria da instituição, clique em **Criar** com Criar. 4. Preencha o código e o nome, ambos obrigatórios, e depois complete o nome curto, a família, a disciplina superior ou a cor se necessário. 5. Salve. A disciplina fica disponível nos seletores de aula e nas fichas de professor. #### Ver também - [Tipos de aula](#page-admin.lesson-types) - [Gerir os professores](#page-admin.teachers) - [Disciplina](#page-glossary.subject) ### 8.8 Tipos de aula *Source: `help/pt/admin/lesson-types.md` · id: admin.lesson-types · Audience: admin · Updated: 2026-05-14* No módulo **Administração**, um **tipo de aula** é um rótulo curto associado às aulas para distinguir formatos como `aula teórica`, `aula prática`, `laboratório`, `exame` ou `projeto`. Os tipos de aula formam uma lista de rótulos textuais, sem cor nem ícone associados. #### Onde geri-los A lista dos tipos de aula gere-se a partir do ecrã **Disciplinas** e a partir do ecrã **Configurações**, na secção **Tipo de aula**. Os botões utilizados são: - **Criar** para adicionar um novo tipo; - **Salvar** para guardar a lista. A ordem de apresentação reorganiza-se por arrastar e largar. #### Parâmetro “Tipo de aula obrigatório” O parâmetro Tipo de aula obrigatório configura-se no ecrã **Configurações**. Quando está ativado, a introdução de uma aula, ou seja, uma disciplina atribuída a uma turma num horário, deve incluir um tipo. É útil quando exporta as aulas para um ERP que exige esta informação. #### Boas práticas - Mantenha uma lista curta e estável. - Evite renomear um tipo utilizado em produção sem verificar as importações e exportações que dele dependem. - Utilize os tipos para distinguir formatos pedagógicos, não para substituir as disciplinas ou as modalidades de aula (presencial/à distância). #### Procedimento — Adicionar um tipo 1. Abra o ecrã **Disciplinas**. 2. Na secção **Tipo de aula**, clique em **Criar**. 3. Introduza o rótulo do tipo. 4. Reordene a lista se necessário. 5. Guarde com **Salvar**. #### Ver também - [Cursos, aulas, tipos de aula](#page-core-concepts.lessons-and-types) - [Gerir as disciplinas](#page-admin.subjects) ### 8.9 Ano letivo e férias *Source: `help/pt/admin/school-year.md` · id: admin.school-year · Audience: admin · Plan: standard · Updated: 2026-06-26* No módulo **Administração**, a tela **Anos escolares** define os períodos sobre os quais os horários, férias, ausências e alocações dos alunos são interpretados. Fala-se também de ano acadêmico. #### Criar um ano letivo Um ano letivo contém: - um **nome**; - uma **data de início**; - uma **data de fim**. Na criação, a Omniscol pode propor a importação das férias comuns do país configurado quando há dados disponíveis para o intervalo escolhido. Você pode desmarcar as que não lhe dizem respeito. #### Ano letivo atual O seletor **Ano letivo atual** indica o ano exibido por padrão na aplicação e nos portais. Alterar este valor faz mudar o contexto padrão dos usuários. É também o único ano acessível aos alunos. Mantenha o ano atual no ano realmente utilizado no dia a dia. Preparar o ano seguinte faz-se criando um novo ano e depois trabalhando os horários correspondentes sem defini-lo cedo demais como ano atual. #### Férias Cada ano letivo contém uma lista de férias: - nome; - data de início; - data de fim. Você pode adicioná-las uma a uma, modificá-las, excluí-las ou geri-las em tabela com **Tabela**. #### Semanas alternadas Se as semanas alternadas estiverem ativadas nas configurações gerais, a tela exibe uma linha do tempo que permite ajustar as alternâncias do ano. A gravação faz-se com **Salvar**. O formato das etiquetas (`A, B, ...`, `1, 2, ...`, ou desativado) ajusta-se nas configurações gerais. **Deslocamento pelas férias**: se você estava na semana A logo antes das férias e quer retomar na semana B depois, clique nas semanas em questão da linha do tempo para criar um **deslocamento virtual**. A alternância recalibra-se então sobre a continuação do calendário. #### Procedimento — Preparar o ano seguinte 1. Abra a tela **Anos escolares**. 2. Crie o ano seguinte com o seu nome, a sua data de início e a sua data de fim. 3. Importe ou insira as férias. 4. Configure as semanas alternadas se o seu estabelecimento as utilizar. 5. Crie ou duplique em seguida os horários no módulo **Gestão de horários letivos**. 6. Só altere o ano letivo atual no momento em que os usuários devem ver esse ano por padrão. #### Ver também - [Ano letivo](#page-core-concepts.school-year) - [Ano letivo](#page-glossary.school-year) - [Publicar (ativar) um horário](#page-timetables.publication) - [Preparar o próximo ano letivo](#page-timetables.next-school-year) ### 8.10 Configurações gerais da escola *Source: `help/pt/admin/parameters.md` · id: admin.parameters · Audience: admin · Updated: 2026-05-14* No módulo **Administração**, a tela **Configurações** contém a configuração global da escola. Algumas configurações aplicam-se imediatamente a toda a conta e outras servem de valor padrão para os futuros horários. #### Configurações principais A tela permite, entre outras coisas, ajustar: - **nome da escola**; - **fuso horário**; - **ano letivo atual**; - **níveis de turma** com Criar; - **horários de funcionamento** para as contas que utilizam o Gestão de pessoal; - **modo de inserção das disponibilidades dos professores**; - **restrição de visibilidade do aluno**; - **restrição de visibilidade do professor**; - **restrição de acesso por papel**; - **gestão do nome do meio**; - **regra de capitalização dos nomes**; - **sintaxe de login**; - **primeiro dia da semana**; - **formato das semanas alternadas**; - **caráter obrigatório ou não do tipo de aula**; - **ativação ou desativação do repositório comum de disciplinas**; - **logotipo da escola**. As cotas de pontos de backup ou a profundidade de conservação dos logs não são configurações comuns desta tela. Elas são ativadas ou adaptadas pela Omniscol conforme o contrato do estabelecimento. #### Níveis Os **níveis** servem para classificar as turmas por progressão pedagógica: 7.º ano, 8.º ano, Bachelor, Master, ano 1, ano 2, etc. Eles fazem parte das configurações **gerais** da conta. Você pode criá-los, excluí-los e reordená-los a partir desta tela. Em seguida, eles são utilizados nas turmas, em certos filtros e em várias visualizações de diagnóstico. #### Configurações de visibilidade e de acesso As configurações Restrição de consulta de horários por parte dos estudantes, Restrição de consulta de horários por parte dos professores e Restrição de acesso à aplicação estão documentadas em [Restrições de visibilidade](#page-admin.visibility-restrictions). #### Tipos de aula e disciplinas comuns A configuração Tipo de aula obrigatório força ou não a presença de um tipo ao inserir uma aula. A configuração das disciplinas comuns controla o acesso ao repositório oficial do país. #### Logotipo O logotipo carregado é armazenado na conta e utilizado pela interface quando o contexto o prevê, nomeadamente nas telas de conexão e na aplicação. #### Procedimento — Configurar a conta 1. Abra **Configurações**. 2. Verifique o nome da escola, o fuso horário e o ano letivo atual. 3. Configure os níveis, o primeiro dia da semana e as semanas alternadas antes de criar os horários. 4. Ajuste as restrições de visibilidade e de acesso conforme a sua política de estabelecimento. 5. Salve as configurações gerais com Salvar. #### Ver também - [Configurar a conta da escola](#page-getting-started.setup-school) - [Ano letivo e férias](#page-admin.school-year) - [Gerir as disciplinas](#page-admin.subjects) - [Restrições de visibilidade](#page-admin.visibility-restrictions) - [Configurações avançadas e personalização](#page-admin.advanced-parameters) ### 8.11 Configurações avançadas e personalização *Source: `help/pt/admin/advanced-parameters.md` · id: admin.advanced-parameters · Audience: admin · Plan: premium · Updated: 2026-06-13* > **Premium** > _Premium_ No módulo **Administração**, o ecrã **Configurações** reúne, nas contas Premium, definições **avançadas** para além das configurações gerais. Esta página documenta essas funções avançadas; para as configurações de base, consulte [Configurações gerais da escola](#page-admin.parameters). #### Campus Os **campi** servem para organizar as turmas por estrutura interna: implantação, faculdade, polo, programa ou outro perímetro próprio da instituição. Esta noção é **facultativa** e permanece distinta dos sites: um site é um local físico, com a sua grelha horária, as suas salas e os seus tempos de deslocação, ao passo que um campus é uma simples malha de organização lógica. O campus torna-se sobretudo útil quando a geografia não se ajusta bem à sua organização lógica: várias faculdades nos mesmos edifícios, ou várias escolas de um grupo que partilham vários sites de forma cruzada. Mesmo quando campus e site se sobrepõem, esta malha pode continuar a ser útil para os filtros e os agrupamentos. Crie com **Criar** apenas os campi que sirvam realmente para organizar ou filtrar o trabalho. Ficam depois disponíveis nos ecrãs de criação das turmas e em determinados filtros de diagnóstico. #### Redefinições de tradução e de terminologia O ecrã permite também **redefinir traduções** para adaptar o vocabulário apresentado à sua instituição. Esta zona serve para personalizar os rótulos visíveis na interface, sem modificar a estrutura funcional do produto. Existem dois mecanismos distintos: - Regras de substituição de traduções: substituem um termo por outro num conjunto de rótulos; - Redefinições de traduções: substituem diretamente o valor de uma tradução precisa. ##### Regras de substituição As regras de substituição servem para harmonizar um vocabulário em numerosos rótulos ao mesmo tempo. Exemplos típicos: - substituir `Professeur` por `Intervenant`; - substituir `Élève` por `Étudiant`; - adaptar determinados termos à cultura da instituição. As regras são **ordenadas**. A ordem importa: uma regra colocada mais acima aplica-se antes das seguintes. O ecrã permite: - introduzir um texto de origem e um texto de destino, e depois confirmar com **Adicionar**; - pré-visualizar os rótulos abrangidos; - reordenar as regras; - eliminar uma regra. As opções disponíveis servem para precisar o tipo de substituição: - `Aa`: distinção alfabética / maiúsculas e minúsculas; - `ab` sublinhado: correspondência completa; - `.*`: expressão regular. Utilize as regras quando pretender alterar um termo de forma coerente em vários ecrãs. As regras guardam-se **na sua própria zona**: adição, eliminação e reordenação são registadas separadamente das outras configurações da página. ##### Redefinições de chaves completas As redefinições de chaves completas servem para corrigir ou reescrever um rótulo **caso a caso**. O ecrã permite: - pesquisar uma tradução existente; - adicioná-la à lista de redefinições; - introduzir a sua própria versão; - guardar ou eliminar esta redefinição. Utilize este modo quando uma regra geral seria demasiado ampla, ou quando pretende reescrever uma frase inteira em vez de um simples termo. Cada redefinição de chave guarda-se **linha por linha** com o seu próprio botão de gravação ou de eliminação. ##### Boa utilização As regras e as redefinições servem para personalizar o **vocabulário apresentado**. Não alteram os conceitos de negócio subjacentes, nem os identificadores internos, nem os comportamentos da aplicação. Prefira: - uma **regra** para uma renomeação recorrente; - uma **redefinição de chave** para uma exceção local ou um rótulo completo. Evite as substituições demasiado amplas ou ambíguas que tornariam a ajuda, as pesquisas ou a terminologia incoerentes de um ecrã para outro. #### Procedimento 1. Abra **Configurações** no módulo **Administração**. 2. Localize a zona avançada correspondente à sua necessidade: campus ou redefinições de tradução. 3. Para os campi, crie e ordene os rótulos úteis à sua organização. 4. Para as traduções, escolha entre regra global e redefinição pontual consoante o perímetro da alteração. 5. Guarde cada zona com o seu próprio mecanismo: as regras são registadas no seu bloco, e as redefinições de chaves confirmam-se linha por linha. #### Ver também - [Configurações gerais da escola](#page-admin.parameters) - [Restrições de visibilidade](#page-admin.visibility-restrictions) - [Campus](#page-glossary.campus) - [Conflitos e diagnóstico](#page-timetables.conflicts) ### 8.12 Restrições de visibilidade e de acesso *Source: `help/pt/admin/visibility-restrictions.md` · id: admin.visibility-restrictions · Audience: admin · Plan: standard · Updated: 2026-05-14* No módulo **Administração**, a tela **Configurações** reúne algumas restrições específicas: um horizonte de consulta para os alunos, a ocultação dos horários entre professores e o bloqueio de acesso por papel. #### Restrição do lado dos alunos O parâmetro Restrição de consulta de horários por parte dos estudantes define o número de semanas futuras, incluída a semana em curso, durante as quais os horários publicados permanecem visíveis para os alunos. Você o regula em um número de semanas ou em **Ilimitado**. Esta restrição incide sobre a janela temporal aberta aos alunos: cada um consulta os horários publicados até o horizonte escolhido. #### Restrição do lado dos professores O parâmetro Restrição de consulta de horários por parte dos professores oculta os horários dos outros professores. Ele age sobre os filtros e as visões de consulta: um professor encontra o próprio horário, sem acessar o dos colegas. #### Restrição de acesso O parâmetro Restrição de acesso à aplicação bloqueia o acesso dos perfis selecionados: **Professores**, **Pessoal** ou **Alunos**. Um usuário que acumula vários papéis se conecta enquanto ao menos um dos papéis dele permanecer autorizado. #### Procedimento — Limitar a visibilidade do aluno 1. Abra a tela **Configurações**. 2. Localize Restrição de consulta de horários por parte dos estudantes. 3. Escolha **Ilimitado** ou um número de semanas. 4. Confirme com **Salvar**. #### Ver também - [Configurações gerais](#page-admin.parameters) - [Usuários e papéis](#page-admin.users-and-roles) - [Portal do aluno](#page-portal.student-portal) - [Portal do professor](#page-portal.teacher-portal) ### 8.13 Importação e exportação *Source: `help/pt/admin/import-export.md` · id: admin.import-export · Audience: admin · Updated: 2026-06-03* No módulo **Administração**, o ecrã **Importação / Exportação** reúne as operações de transferência de dados da conta: exportação JSON, trocas aSc, backups, sincronização com sistemas externos e opções de API ativadas na conta. Tudo depende do país; pode haver também as trocas com os protocolos padrão. Para as instituições sob tutela do Ministério da Educação francês, as trocas próprias de França (STS, UnDeuxTemps, École Directe) estão descritas em [admin.french-formats](#page-admin.french-formats). #### Exportação JSON O botão **Baixar** inicia uma exportação JSON completa da conta. Este ficheiro contém os dados da conta e deve ser tratado como um backup sensível. A exportação JSON está disponível para todos os administradores. Se pretender restringir o acesso, é necessária a opção dos [Papéis personalizados](#page-admin.customroles). #### Importação JSON A importação JSON completa utiliza o mesmo formato que a exportação. Continua reservada à equipa Omniscol no âmbito do suporte: a reinjeção faz-se a seu pedido, e não como uma operação corrente do ecrã de administração. Para uma restauração de conta, privilegie os backups quando estiverem ativados, ou contacte a Omniscol se for necessária uma reinjeção JSON. Antes de qualquer importação destrutiva, crie um ponto de backup se a funcionalidade estiver ativa. #### aSc Timetables O ecrã contém também uma secção aSc Timetables: - importação de um ficheiro XML aSc; - exportação XML aSc com opções. Esta troca incide sobre um ficheiro completo aSc. Para adicionar aulas a partir de uma folha de cálculo, utilize antes [Importação em massa dos cursos via folha de cálculo](#page-timetables.mass-import). #### Pontos de backup Se os **pontos de backup** estiverem ativados, o botão **Pontos de backup** abre a sua gestão. Consulte [Pontos de backup](#page-admin.snapshots). #### Sincronização com sistemas externos e opções de API > _Premium_ O ecrã propõe também: - a configuração de sincronização com sistemas externos com **Configurar**; - a partilha global / OpenAPI; - as definições de API; - a configuração MCP; - a gestão OAuth2 / OIDC. #### Procedimento — Exportar a conta 1. Abra **Importação / Exportação**. 2. Clique em **Baixar**. 3. Guarde o ficheiro num local seguro. 4. Se o objetivo for uma operação arriscada, crie antes um backup além da exportação. #### Ver também - [Preparar seus dados para uma importação em massa](#page-getting-started.preparing-data) - [Importação em massa dos cursos via folha de cálculo](#page-timetables.mass-import) - [Pontos de backup](#page-admin.snapshots) - [Visão geral](#page-migration.overview) - [Sincronização com sistemas externos](#page-integrations.extsync) - [admin.french-formats](#page-admin.french-formats) ### 8.14 Pontos de backup *Source: `help/pt/admin/snapshots.md` · id: admin.snapshots · Audience: admin · Plan: premium · Feature: snapshots · Updated: 2026-05-15* > **Premium** > _Premium_ Um **ponto de backup** ou *snapshot* é um instantâneo da conta Omniscol. A função só está disponível se a equipe Omniscol tiver ativado uma cota de pontos de backup para a conta, conforme o contrato do estabelecimento. Essa cota é definida com a Omniscol conforme a necessidade da escola (backups manuais, automatizações, retenção esperada) e pode ser ajustada mediante solicitação. Ela não é definida diretamente pelo administrador a partir deste painel. #### Abrir os pontos de backup No módulo **Administração**, abra **Importação / Exportação** depois clique em **Pontos de backup**. O painel lista os pontos de backup existentes, a cota utilizada e, quando ele está disponível, um **resumo** do conteúdo: volumes de usuários, anos letivos, painéis, eventos, horários e principais contadores de negócio. #### Ações disponíveis Conforme os seus direitos, você pode: - criar um ponto de backup com **Criar**; - exportar um ponto de backup em JSON com **Baixar**; - excluir um ponto de backup com **Remover**; - bloquear um ponto de backup para evitar a sua exclusão; - definir ou modificar uma data de expiração; - inspecionar o resumo para identificar rapidamente o que contém o ponto de backup; - restaurar um ponto de backup (total ou parcialmente) com **Restaurar**. Os pontos de backup são conservados em um armazenamento replicado. Cada ponto de backup pode ser exportado em JSON para uma análise ou uma comparação conduzidas com as suas próprias ferramentas. #### Restauração A restauração exige uma confirmação reforçada. O painel propõe três modos, conforme as famílias de dados selecionadas: - **Sobrescrever os dados**: os dados selecionados são substituídos pelo estado do ponto de backup. É o modo de reversão; - **Restaurar apenas os dados excluídos**: a Omniscol reinsere apenas os elementos ausentes quando o modo é suportado, por exemplo após uma exclusão involuntária de usuários; - **Restaurar sem sobrescrever**: a Omniscol restaura sob a forma de cópia quando isso é suportado, a fim de comparar ou de reintegrar manualmente sem substituir o estado atual, por exemplo quando um horário divergiu e não se quer sobrescrever o que foi feito desde o momento em que o ponto de backup foi criado. Podem, portanto, aparecer duplicatas. A restauração pode incidir sobre toda a conta ou sobre subconjuntos como os horários, eventos, painéis, ausências, usuários, disciplinas, anos letivos ou configuração. #### Automatizações O botão **Automação** permite configurar criações automáticas de pontos de backup. O ritmo depende da configuração adotada para a conta: diário, semanal, em plena madrugada — você decide a política adaptada ao seu estabelecimento. As datas de expiração e o bloqueio pilotam a retenção: - um ponto de backup expirado pode ser excluído automaticamente, exceto se estiver bloqueado; - um ponto de backup bloqueado está protegido contra a exclusão manual e contra a limpeza automática; - quando um backup automático deve entrar em uma cota já atingida, a Omniscol exclui o mais antigo ponto de backup automático não bloqueado para abrir espaço. Se nenhum ponto de backup puder ser excluído (todos bloqueados), o novo backup falha. Este funcionamento fornece um histórico de backups próximo de um Time Machine em ambiente Apple: útil para voltar atrás, recuperar dados apagados por engano ou restaurar uma cópia para comparação. Ele permanece limitado pela cota definida com a Omniscol, ajustável mediante solicitação. #### A definir antes da ativação Antes de ativar ou de estender a opção, verifique com a Omniscol: - a cota de pontos de backup e a margem desejada para os backups manuais; - o ritmo dos backups automáticos que você desejará configurar; - a duração de conservação esperada; - as famílias de dados afetadas pelas restaurações parciais; - o formato de exportação esperado para os controles externos. Cada ponto de backup pode ser exportado em JSON. #### Procedimento — Criar um ponto de backup antes de uma operação arriscada 1. Abra **Importação / Exportação**. 2. Clique em **Pontos de backup**. 3. Clique em **Criar**. 4. Verifique que o novo ponto de backup aparece na lista. 5. Inicie em seguida a importação, a reorganização ou a alteração de configuração prevista. Em caso de problema grave, você poderá voltar atrás no tempo. #### Ver também - [Importação e exportação](#page-admin.import-export) - [Registros de atividades (logs)](#page-admin.logs) ### 8.15 Registros de atividades (logs) *Source: `help/pt/admin/logs.md` · id: admin.logs · Audience: admin · Feature: logs · Updated: 2026-05-15* > **Premium** No módulo **Administração**, a tela **Registro de atividades** exibe as entradas de registro disponíveis para a conta quando a opção de logs está ativa. A profundidade de conservação é definida com a equipe Omniscol conforme o contrato do estabelecimento e pode ser ajustada mediante solicitação. O painel serve para consultar e exportar os rastros presentes no fluxo de logs. #### O que é registrado O registro documenta as ações que modificam a conta, não cada consulta. - **Cada modificação** dos dados (ficha de usuário, horário, configurações…) — criação, atualização ou exclusão — gera uma entrada com o seu autor, a ação e a data e hora. - **As conexões** — cada tentativa de conexão registra o identificador utilizado. - **As ações sobre as senhas** — definição, alteração, exclusão ou redefinição são rastreadas: a ação e o seu autor, jamais a senha em si. - **As exportações** — a exportação JSON da conta é registrada. As simples consultas (abrir uma tela, listar dados) não são registradas, à parte algumas operações sensíveis. O registro responde portanto a «quem fez o quê e quando», não a «quem consultou o quê». #### O que a tela exibe Cada linha pode conter: - uma data e hora; - a ação efetuada; - a rota resolvida quando ela é conhecida; - os parâmetros e extras registrados; - o método HTTP; - a URL web associada; - o usuário em questão. O conteúdo exato depende do que foi registrado pela Omniscol: a tela reflete os rastros presentes no fluxo de logs da conta. #### Pesquisa e exportação Quando a lista contém entradas suficientes, uma pesquisa local permite filtrar a tabela. O botão **Carimbo de data/hora** abre uma visualização exportável das linhas. #### Alcance dos registros - Cada linha fornece a ação efetuada, a rota, os parâmetros e o usuário em questão; o detalhe cobre o que a Omniscol registrou. - A retenção depende da opção ativada na conta e da limpeza periódica dos logs. - Os registros consultam-se e exportam-se a partir desta tela; a Omniscol não os transmite automaticamente a uma ferramenta de supervisão externa. Para reconstituir de forma precisa o estado de uma conta em uma data determinada, combine os registros com os pontos de backup. #### A verificar em um contrato A profundidade de conservação, as obrigações de auditoria e as exportações esperadas dependem do contrato e dos documentos de segurança fornecidos mediante solicitação. Esta página não substitui esses documentos. #### Ver também - [Pontos de backup](#page-admin.snapshots) - [Usuários e papéis](#page-admin.users-and-roles) --- ## 9. Integrações ### 9.1 Visão geral das integrações *Source: `help/pt/integrations/overview.md` · id: integrations.overview · Audience: admin · Updated: 2026-06-13* O Omniscol integra-se ao seu sistema de informação por várias vias, conforme a necessidade. Para exemplos de ferramentas de terceiros e parceiros regularmente conectados ao Omniscol, veja também [integrations.partners](#page-integrations.partners). #### Visão sintética | Mecanismo | Para que serve | Sentido do fluxo | | --- | --- | --- | | [iCal](#page-integrations.ical) | Permitir que professores / alunos vejam o seu horário na agenda pessoal | Omniscol → agenda | | [Links de partilha](#page-glossary.share-link) | Divulgar um horário somente leitura ou abrir uma entrada de dados específica conforme o contexto | Omniscol → web público | | [Iframe](#page-portal.share-links) | Incorporar um horário numa página no **mesmo domínio** que o Omniscol; bloqueado num site externo (segurança) | Omniscol → mesmo domínio | | [API Omniscol](#page-integrations.api-tokens) | Integrações sistema a sistema conforme os direitos e as opções da conta | Conforme a configuração | | [MCP](#page-integrations.mcp) | Conectar um agente de IA compatível com MCP ao Omniscol | Agente de IA ↔ Omniscol | | [OAuth2 / OIDC (servidor)](#page-integrations.oauth-server) | Conectar um serviço de terceiros identificado por cliente registado + consentimento + token com escopo (base do MCP e do OneRoster) | Serviço ↔ Omniscol | | [OIDC / SSO (login)](#page-integrations.oauth2) | Autenticação dos utilizadores via provedor de identidade (Google Workspace, Microsoft Entra ID, OIDC genérico) | Conforme a configuração | | [Sincronização com sistemas externos](#page-integrations.extsync) | Framework de conectores ERP: Aurion, Auriga, novos conectores por projeto | Bidirecional | | [Painéis de exibição](#page-panels.lobby-panel) | Exibir o horário em ecrãs públicos | Omniscol → ecrãs | #### Escolher a integração adequada - **Divulgar um horário a um professor / aluno** — assinatura [iCal](#page-integrations.ical). - **Conceder acesso de leitura a um pai / uma auditoria** — [link de partilha](#page-glossary.share-link). - **Sincronizar os alunos a partir do seu ERP / SI** — veja [Sincronização com sistemas externos](#page-integrations.extsync) que lista os conectores disponíveis. Se o seu ERP não constar da lista, a adição de um conector é definida com o suporte Omniscol. - **Autenticação única** — [OIDC / SSO](#page-integrations.oauth2). - **Assistente de IA externo** na conta, se a opção estiver ativada — [MCP](#page-integrations.mcp) para os clientes compatíveis. - **Exibição pública nas instalações** — [painéis de exibição](#page-panels.lobby-panel). #### Boas práticas de segurança - Utilizar **OIDC / SSO**, quando a opção estiver ativada, para autenticar utilizadores reais. - Reservar os **tokens de API** para integrações sistema a sistema, com escopo mínimo e rotação periódica. - Definir **datas de expiração** curtas nos links de partilha. - Não colocar um token de API num repositório Git público. #### Ver também - [iCal](#page-integrations.ical) - [API Omniscol](#page-integrations.api-tokens) - [MCP](#page-integrations.mcp) - [OAuth2 / OIDC (servidor)](#page-integrations.oauth-server) - [OIDC / SSO (login)](#page-integrations.oauth2) - [Sincronização com sistemas externos](#page-integrations.extsync) - [integrations.partners](#page-integrations.partners) ### 9.2 iCal — assinatura e link dinâmico *Source: `help/pt/integrations/ical.md` · id: integrations.ical · Plan: standard · Updated: 2026-05-15* O formato **iCal** (`.ics`) é o padrão de compartilhamento de calendários entre aplicativos. O Omniscol expõe cada horário (individual, de turma, de sala, de professor) na forma de **link de assinatura iCal** que o usuário pode colar no Google Calendar, no Apple Calendar, no Outlook, no Thunderbird ou em qualquer outro aplicativo que consuma calendários padronizados. #### Link de assinatura vs exportação pontual Dois usos bem diferentes: - **Link de assinatura** (recomendado) — URL HTTPS que aponta para o Omniscol. O aplicativo cliente a consulta regularmente (a cada hora, todos os dias conforme os parâmetros do cliente) e mantém o calendário do usuário atualizado continuamente. Quando uma aula é deslocada no Omniscol, o usuário a vê na sua agenda sem fazer nada. - **Exportação pontual** — download de um arquivo `.ics` em um instante determinado. Prático para arquivar, compartilhar por e-mail ou injetar em um sistema que não sabe assinar. Mas fica congelado: se o horário muda, o arquivo não é atualizado. Prefira o link de assinatura quando o cliente final é um aplicativo moderno que sabe atualizar um calendário remoto (Google Calendar, Apple Calendar, Outlook). #### Recuperar o seu link de assinatura A partir das telas em que o compartilhamento está disponível, o botão Compartilhamento abre uma janela modal que pode oferecer: - uma ou mais URLs de assinatura iCal assinadas, - um botão «Copiar a URL», - um QR code para escanear, - um download de arquivo `.ics`. A URL contém um token secreto: não a compartilhe — quem quer que a obtenha pode ver o horário incluído no escopo do link até a expiração ou a invalidação. #### Onde gerar um iCal Os principais pontos de entrada são: - **No topo do módulo Horário** — o botão Compartilhamento pode gerar um iCal de todos os horários exibidos, um iCal combinado que os reúne em uma única assinatura e, em seguida, os iCals individuais. Esses links são limitados pelo ano letivo exibido. - **Em cada horário exibido** — a barra de título do horário dá acesso, ao passar o cursor, a um compartilhamento atômico desse horário. O link cobre o ano letivo em questão. - **Na ficha de um professor** — em **Administração**, o botão Compartilhamento da ficha gera o iCal pessoal do professor, concebido para permanecer válido ao longo do tempo enquanto o link, a conta portadora e a expiração escolhida o permitirem. - **Na pré-visualização de um horário calendário** — em **Gestão de horários letivos**, o botão Compartilhamento da pré-visualização gera o iCal do que está exibido, mesmo que esse horário ainda não esteja ativado ou publicado. A cada geração, o usuário pode definir uma data de invalidação. Essa data é codificada no token da URL: ela não se altera depois. Para mudar a expiração, é preciso gerar um novo link. Como os outros links de compartilhamento, o iCal também está vinculado à conta que o gerou: mudança de senha, desativação ou exclusão da conta portadora invalidam os links associados. #### Link público para uma turma ou uma sala O administrador pode gerar um link de assinatura para uma **turma** ou uma **sala** (por exemplo, para compartilhar com os pais ou com um serviço externo). Esses links são assinados e portam uma data de expiração. Consulte também [Compartilhar um horário por link público](#page-schedules.share-link) que descreve o conjunto das opções de compartilhamento (iCal, página web responsiva, JSON via API). #### Configuração no lado do cliente ##### Google Calendar 1. No Google Calendar, à esquerda, ao lado de **Outras agendas**, clique no **+** > **Usar URL**. 2. Cole a URL de assinatura do Omniscol. 3. O calendário aparece com um rótulo indicativo e uma cor padrão — modificáveis. O Google atualiza a assinatura aproximadamente a cada 8-24 horas. Modificações urgentes: prever um atraso. ##### Apple Calendar (macOS, iOS) 1. **Arquivo > Nova assinatura de calendário**. 2. Cole a URL do Omniscol. O link iCal do Omniscol está parametrizado para uma atualização automática a cada meia hora. ##### Outlook (Microsoft 365) 1. **Adicionar calendário > Da Internet**. 2. Cole a URL do Omniscol. O Outlook atualiza em frequência variável conforme as versões; para o desktop antigo, prever atrasos. #### Limitações - As modificações no lado do cliente (deslocar um evento no Google Calendar) não são refletidas no Omniscol — a assinatura é somente leitura. - O usuário deve ter uma conta ativa no Omniscol para gerar a sua URL pessoal. - A expiração do link está inscrita na URL gerada: ela não se prolonga depois; gere um novo link se necessário. - Os eventos fora do horário são incluídos somente se o compartilhamento ou o filtro iCal os incluir. #### Procedimento — Assinar o seu horário a partir do Google Calendar 1. **A assinatura iCal** sincroniza o seu horário do Omniscol com a sua agenda pessoal (Google Calendar, Apple Calendar, Outlook). Atualização automática contínua: nada de copiar-colar a refazer a cada mudança de horário. 2. **A partir da sua tela do Omniscol** (aluno, professor ou vista compartilhada), clique em Compartilhamento quando o botão estiver disponível. Uma janela modal abre com as URLs geradas para o seu escopo. 3. **Copie a URL de assinatura** (botão Copiar). Não a compartilhe: quem quer que a tenha pode ver o escopo incluído no link até a expiração ou a invalidação. 4. **No Google Calendar**: painel esquerdo, **Outras agendas → + → Usar URL**, colar, confirmar. A agenda aparece com rótulo e cor (modificáveis). **No Apple Calendar**: `Arquivo → Nova assinatura de calendário`, colar. **No Outlook M365**: `Adicionar calendário → Da Internet`, colar. 5. **Importante**: assinatura = **somente leitura**. Modificações na sua agenda pessoal não refletidas no Omniscol. As modificações no lado do Omniscol chegam à sua agenda na próxima sincronização no lado do cliente. #### Ver também - [iCal (exportação de agenda)](#page-glossary.ical) - [Compartilhar um horário por link público](#page-schedules.share-link) - [Visão geral das integrações](#page-integrations.overview) ### 9.3 API Omniscol — tokens de autenticação *Source: `help/pt/integrations/api-tokens.md` · id: integrations.api-tokens · Audience: admin · Plan: premium · Updated: 2026-06-13* > **Premium** > _Premium_ A **API Omniscol** é uma API REST documentada em OpenAPI. Ela serve às integrações sistema a sistema: painel de controle externo, exibição sob medida, sincronização ERP/SI, ou agente IA via MCP. Os tokens de API administráveis a partir da interface estão disponíveis nas contas que oferecem esta integração. Um token derivado dá acesso unicamente aos pontos de acesso de API selecionados na sua geração; não presuma que ele cobre toda a API. #### Chave e token: dois objetos distintos O Omniscol distingue dois objetos que não se deve confundir. Uma **chave** é um objeto persistente, conservado do lado do Omniscol. Ela reúne: - um **identificador** curto, gerado aleatoriamente, público: é ele que a lista exibe, e ele viaja em cada token para designar a chave a verificar; - um **rótulo** descritivo, modificável a qualquer momento; - uma **data de expiração** facultativa, modificável a qualquer momento; - um **segredo aleatório** longo, sorteado do lado do servidor, que serve de chave de assinatura criptográfica. O identificador, o rótulo e a data de expiração são informações de administração: o identificador é apenas uma referência pública, não um elemento secreto. O **segredo**, por sua vez, é o único material de assinatura: gerado aleatoriamente na criação da chave, permanece do lado do servidor, não é modificável, e **nunca é exibido nem devolvido** — nem na criação, nem na lista das chaves. E mesmo se ele vazasse, não bastaria para forjar um token: a assinatura o combina com um **sal próprio à conta** e a um **segredo do servidor** que, também eles, nunca saem do Omniscol. Um **token** é um **JWT** (JSON Web Token) autônomo, assinado com o segredo da chave. É ele que você transmite ao sistema externo. O seu conteúdo assinado carrega a conta em questão, a lista dos pontos de acesso autorizados, a chave da qual ele deriva e a sua própria data de expiração. Em outras palavras: **uma chave assina, um token é assinado.** Uma mesma chave pode assinar vários tokens — todos verificáveis com o mesmo segredo, portanto todos revogados juntos se a chave desaparecer. O Omniscol não armazena o token: ele o gera, o exibe uma vez, depois o reverifica a cada chamada reconstituindo a sua assinatura a partir do segredo da chave (HMAC SHA-256). Nenhuma autorização carregada pelo token pode, portanto, ser alterada sem esse segredo. #### Criar um token A tela Compartilhamento está disponível em Administração → Importação / Exportação nas contas Premium. A criação faz-se em dois tempos: cria-se primeiro uma **chave**, depois **gera-se um token** a partir dessa chave. 1. **Criar uma chave** — informe um rótulo esclarecedor e, se o acesso for temporário, uma data de expiração. O seu rótulo e a sua expiração permanecem modificáveis depois; o seu segredo de assinatura, não. 2. **Gerar um token** — selecione a chave, marque os pontos de acesso autorizados, escolha eventualmente uma data de expiração própria ao token, depois gere o JWT. Na geração, o Omniscol exibe o token **uma única vez**. Copie-o imediatamente para um gerenciador de segredos: ele não será mais reexibido. A expiração do token está inscrita no seu conteúdo assinado: ela não se modifica a posteriori. Para alterar essa data, gere um novo token. Há, portanto, dois níveis de expiração, independentes um do outro: - **expiração da chave** — modificável a partir da lista das chaves; quando ela é atingida, **todos** os tokens derivados dessa chave são recusados (a chamada falha com um 401); - **expiração do token** — fixada na geração, inscrita no JWT, e não modificável em seguida. #### Pontos de acesso autorizados Um token dá acesso **apenas aos pontos de acesso marcados na sua geração**: nunca presuma que ele cobre toda a API. A lista autorizada é transportada no token e verificada a cada chamada; uma chamada a um ponto de acesso não autorizado é recusada (401). Além dos pontos de acesso individuais, a lista de seleção propõe **atalhos por módulo**: - a entrada de um módulo sozinha autoriza **todos** os seus pontos de acesso; - as variantes por operação — **leitura**, **modificação**, **criação**, **exclusão** — restringem o módulo a um único tipo de chamada. Marcar « **Horário** [leitura] » concede assim toda a leitura dos horários sem abrir a mínima escrita, sem marcar cada ponto de acesso um a um. Fique no mais justo: conceda apenas os módulos e as operações estritamente necessárias à integração. #### Utilizar um token Duas maneiras usuais de enviar o token à API: - **Cabeçalho HTTP**: `Authorization: Bearer ` (recomendado). - **Query string**: `?auth=` (prático para o debug, mas aparece nos logs HTTP — a evitar em produção). Exemplo `curl`, a adaptar com um ponto de acesso real extraído do OpenAPI: ```bash curl -H "Authorization: Bearer $TOKEN" \ https://sua-escola.omniscol.com/api// ``` #### Documentação OpenAPI A tela Importação / Exportação exibe um link **OpenAPI 3.1** que abre a especificação disponível para a conta no Swagger Editor. Você aí encontrará: - a lista dos pontos de acesso de API expostos, - os esquemas dos dados trocados, - os métodos e parâmetros, - as respostas esperadas. A especificação também é servida diretamente pela sua conta, sem autenticação: - `/api/guest/openapi.json` — especificação no formato JSON; - `/api/guest/openapi.yaml` (ou `/api/guest/openapi?yaml=true`) — mesmo conteúdo no formato YAML; - `/api/guest/school_schema.json` — esquema JSON dos dados da conta. #### A ajuda completa para o seu assistente de IA O portal também publica toda a ajuda do Omniscol em um único arquivo de texto, pronto para servir de base de conhecimento a um assistente de IA (projeto Claude, GPT personalizado…): - [omniscol.com/pt/llms-full.txt](https://www.omniscol.com/pt/llms-full.txt) — o guia completo em Markdown, disponível em cada idioma da ajuda (`/en/llms-full.txt`, `/fr/llms-full.txt`…); - [omniscol.com/llms.txt](https://www.omniscol.com/llms.txt) — o índice no padrão `llms.txt`, descoberto automaticamente pelos motores de IA. #### Revogar um acesso A revogação faz-se ao nível da **chave**, não do token individual. A tela lista as **chaves** que serviram para gerar tokens. **Excluir uma chave** apaga o seu segredo de assinatura do lado do Omniscol: a partir daí, nenhuma assinatura derivada desse segredo pode mais ser verificada, e toda chamada que apresente um token oriundo dessa chave falha com um **401**. É a ausência do segredo que invalida os tokens, não uma lista de revogação. Para o departamento de TI, duas consequências: - **Não há revogação token por token.** O Omniscol não conserva os JWT emitidos e não pode desativar um isoladamente: um token já gerado permanece válido até a sua própria expiração, ou até que a sua chave seja excluída ou expirada. - **Modificar a expiração de uma chave** age imediatamente sobre todos os seus tokens: adiantar essa data corta o acesso do conjunto dos tokens oriundos da chave. Boa prática: exclua sem esperar toda chave cujo vazamento você suspeite, depois recrie uma chave de substituição com um rótulo esclarecedor. ##### Uma chave por alvo e por uso Já que a revogação é por chave, **dedique uma chave a cada integração** (um software externo = uma chave). O segredo de uma chave só assina os seus próprios tokens: excluir essa chave só invalida os acessos da integração em questão, sem tocar nos outros. Ao contrário, uma chave única compartilhada entre vários sistemas torna toda revogação abrupta: excluir a chave comprometida corta de uma vez todos os sistemas que a usavam. #### Para quais integrações A API é tipicamente utilizada para: - **sistemas de signage** personalizados (além dos painéis de exibição Omniscol nativos; veja [Personalização dos painéis](#page-panels.customization)), - **dashboards externos** consolidando o Omniscol e outras fontes, - **conectores ou sincronizações** com um ERP ou um SI de negócio, - **agentes IA compatíveis com MCP** consumindo o Omniscol via o servidor MCP; veja [MCP — conectar um agente IA externo](#page-integrations.mcp). Para um acesso delegado a um **serviço terceiro identificado** (token com escopo, consentimento do usuário, revogável desativando o cliente), prefira o servidor OAuth2 do Omniscol: veja [OAuth2 / OIDC (provedor)](#page-integrations.oauth-server). #### Procedimento — Gerar um token de API 1. **Um token de autenticação** permite a um sistema externo (painel de controle, signage, agente IA via MCP) consultar os pontos de acesso de API que você selecionou. 2. **Vá em Administração → Importação / Exportação**, depois abra a tela de compartilhamento com Compartilhamento. Você aí vê as chaves existentes, os seus rótulos e as suas datas de expiração eventuais. 3. **Crie uma chave** se necessário. Informe um rótulo esclarecedor (`Painel de controle finanças`, `Signage saguão principal`, `Agente IA Claude desktop`) e uma expiração se a integração for temporária. Você poderá modificar essa expiração de chave mais tarde. 4. **Selecione a chave**, depois marque os pontos de acesso de API que o token deve poder chamar. Mantenha a lista o mais curta possível. Escolha também a expiração do token se o acesso deve ser delimitado. 5. **Gere o token**, depois copie imediatamente o JWT exibido. Ele não será mais reexibido e a sua expiração não poderá ser modificada. Utilize-o em seguida no cabeçalho HTTP `Authorization: Bearer `. 6. **Para revogar o acesso**, exclua a chave correspondente. Os tokens derivados dessa chave tornam-se inválidos. #### Ver também - [Visão geral das integrações](#page-integrations.overview) - [MCP — conectar um agente IA externo](#page-integrations.mcp) - [OAuth2 / OIDC (provedor)](#page-integrations.oauth-server) - [Personalização dos painéis](#page-panels.customization) ### 9.4 OAuth2 / OIDC — conectar um serviço ao Omniscol *Source: `help/pt/integrations/oauth-server.md` · id: integrations.oauth-server · Audience: admin · Plan: premium · Updated: 2026-06-29* > **Premium** > _Premium_ Esta página destina-se ao **departamento de tecnologia da informação**. Ela descreve o Omniscol no seu papel de **servidor de autorização OAuth2 / OpenID Connect**: como um serviço terceiro se registra como **cliente**, como um usuário **consente** em lhe dar acesso, e como o serviço recebe um **token** limitado aos **escopos** concedidos. #### O que o Omniscol faz como servidor OAuth2 Um serviço externo — um agente IA, um conector, um painel de controle — torna-se um **cliente** declarado na sua conta; um usuário da escola **aprova** o seu acesso por meio de uma tela de consentimento; o serviço recebe então um **token de acesso** de curta duração, cujo perímetro é limitado aos **escopos** concedidos e aos direitos do usuário. Este mecanismo é distinto do **SSO de usuário** descrito em [OIDC / SSO](#page-integrations.oauth2), onde o Omniscol é, ao contrário, **cliente** do seu provedor de identidade para conectar os seus usuários. Aqui, o Omniscol está do lado **servidor**: são serviços que se conectam a ele. Duas integrações Omniscol consomem este servidor: - **MCP** — a autenticação padrão de um agente IA passa por este servidor OAuth2 (veja [MCP — conectar um agente IA externo](#page-integrations.mcp)); - **OneRoster** — o produtor OneRoster autentica-se por um token OAuth2 de máquina a máquina emitido por este mesmo servidor (veja [OneRoster](#page-integrations.oneroster)). Qualquer outro serviço conforme a OAuth2 / OIDC pode conectar-se da mesma maneira. #### Descoberta e pontos de acesso do protocolo O Omniscol publica os seus **metadados de descoberta** nos endereços padrão `.well-known`, servidos na raiz do domínio da sua conta (por exemplo `https://sua-escola.omniscol.com`). Um cliente conforme ali encontra sozinho todos os pontos de acesso, sem configuração manual: - `/.well-known/oauth-authorization-server` — metadados do servidor de autorização (RFC 8414); - `/.well-known/openid-configuration` — metadados OpenID Connect (conteúdo idêntico ao anterior); - `/.well-known/jwks.json` — chaves públicas de verificação (JWKS), que permitem verificar a assinatura dos `id_token`; - `/.well-known/oauth-protected-resource` — metadados de recurso protegido (RFC 9728). Esses metadados anunciam os pontos de acesso do protocolo: - `/oauth/authorize` — pedido de autorização (tela de conexão depois de consentimento); - `/oauth/token` — troca do código por um token, e renovação; - `/oauth/register` — **registro dinâmico de clientes** (RFC 7591); - `/oidc/userinfo` — informações sobre o usuário conectado (OIDC); - `/oauth/revoke` — revogação de um token (RFC 7009). Esses pontos de acesso do protocolo são **públicos**: eles não são reservados às contas Premium e não precisam ser abertos manualmente. Apenas a **tela de gestão dos clientes** descrita mais abaixo faz parte do Premium. #### Os fluxos de autorização O Omniscol suporta três fluxos OAuth2: - **Código de autorização com PKCE** — o fluxo por padrão para um serviço que age **em nome de um usuário**. O serviço redireciona o usuário para `/oauth/authorize`; após conexão e consentimento, o Omniscol devolve um **código de autorização** (válido por 5 minutos) que o serviço troca em `/oauth/token`. O método PKCE adotado é o **S256**, e o único `response_type` aceito é o `code`. - **Renovação (`refresh_token`)** — para prolongar um acesso delegado sem repassar pelo consentimento. - **Client credentials** — fluxo de **máquina a máquina**, sem usuário, utilizado em particular pelos consumidores **OneRoster**. O cliente autentica-se diretamente e recebe um token de acesso. Na troca, o servidor emite um **token de acesso** (`Bearer`, válido por **1 hora**) e, para os fluxos de usuário, um **token de renovação** (válido por **30 dias**). Quando o escopo `openid` é solicitado, um **`id_token`** OIDC assinado é também emitido; a sua assinatura verifica-se via `/.well-known/jwks.json`. O fluxo `client_credentials` só emite um token de acesso, sem renovação nem `id_token`. O token de acesso apresenta-se em seguida no cabeçalho HTTP `Authorization: Bearer `. A cada chamada, o Omniscol verifica a sua assinatura, controla que o cliente continua **ativo**, que o usuário ainda existe e possui o papel exigido, e que os **escopos** do token cobrem bem o ponto de acesso chamado — sem o que a chamada é recusada. #### Os escopos e o consentimento Os escopos que você gerencia num cliente são: - **`read:basic`** — leitura dos horários, painéis de controle e consultas (módulos Página inicial, Horário, Painel, Gestão de horários letivos); - **`read:user`** — leitura da lista dos usuários; - **`write:data`** — escrita nesses mesmos módulos de consulta; - **`admin`** — acesso de administração (módulos Administração, Gestão de ausências, Gestão de horários letivos). O servidor conhece também os escopos OIDC (`openid`, `email`, `profile`) e os escopos **OneRoster** em leitura apenas (prefixo `imsglobal.org`). Esses últimos são **privilegiados**: um cliente **não** pode autoatribuí-los pelo registro dinâmico; eles devem ser provisionados por um administrador na ficha do cliente. O escopo efetivamente concedido é a **interseção** daquilo que o cliente solicita e daquilo que lhe está registrado: um cliente nunca obtém mais do que o que consta na sua ficha. Durante o fluxo de usuário, a **tela de consentimento** (`/oauth/consent`) exibe o **nome** e o **logotipo** do serviço solicitante bem como a **lista legível** dos escopos solicitados, com os botões **Aceitar** e **Recusar**. Aprovar emite o código de autorização e devolve o usuário ao serviço; recusar o devolve com um erro `access_denied`. #### O registro dinâmico de clientes O ponto de acesso `/oauth/register` implementa o **registro dinâmico** (Dynamic Client Registration, RFC 7591): um serviço conforme pode **declarar-se sozinho** como cliente, sem intervenção manual prévia. É isso que permite a um agente MCP configurar-se a partir apenas da URL do servidor. O registro dinâmico **não** pode atribuir-se escopo privilegiado (os escopos OneRoster): esses são silenciosamente descartados, e se nenhum escopo válido subsistir, o `read:basic` é concedido por padrão. Os escopos privilegiados permanecem reservados a um provisionamento por um administrador. #### A tela de gestão dos clientes OAuth2 Nas contas **Premium**, você administra os clientes a partir de **Administração → Importação / Exportação**, seção **OAuth2**, com o botão OAuth2. O acesso exige primeiro a **senha de administrador** — uma confirmação suplementar antes de abrir a tela. A tela lista os clientes registrados e, para cada um, exibe o seu **estado** (ativo / inativo), o seu **nome**, os seus **escopos**, os seus **contatos** e as suas **URIs** (site, logotipo, URIs de redirecionamento). Você pode: - **Registrar um cliente** — informe o nome, um `software_id` facultativo, os escopos, os contatos, o site, o logotipo e as URIs de redirecionamento. Na criação, o Omniscol exibe **uma única vez** o `client_id` e o `client_secret`. - **Modificar** um cliente — apenas campos seguros são modificáveis: nome, escopos, contatos, site e logotipo. As URIs de redirecionamento, o `software_id` e o segredo não se modificam aqui. - **Ativar ou desativar** um cliente — um cliente desativado vê os seus tokens recusados já na chamada seguinte. - **Excluir** um cliente — a exclusão é **definitiva**. ##### O segredo do cliente O `client_secret` é exibido **uma única vez**, no registro. O Omniscol conserva ao seu lado apenas uma **impressão** do segredo, nunca o segredo em claro: ele **não** pode ser reexibido nem recuperado depois. Copie-o imediatamente para um gerenciador de segredos. O `client_id`, por sua vez, é **determinístico**: ele deriva do nome da conta, do nome do cliente e de uma impressão dos seus metadados técnicos. Dois registros estritamente idênticos recaem assim sobre o mesmo identificador. ##### Renovar o segredo (rotação) A **rotação** do segredo existe: ela emite um novo segredo, conserva apenas a nova impressão, e só devolve esse novo segredo **uma vez**. Ela efetua-se via o ponto de acesso de gestão do registro dinâmico (`/oauth/register//rotation`) e supõe apresentar o **token de registro** entregue ao cliente no seu registro dinâmico. Ela **não** é, portanto, acionada a partir da tela de gestão acima, que não manipula esse token. #### OAuth2 ou chave de API: qual escolher O Omniscol propõe dois mecanismos de acesso de máquina, com modelos de confiança diferentes: - **OAuth2** (esta página) — um **terceiro registrado** obtém, após **consentimento** de um usuário, um token de **curta** duração (1 h), limitado aos escopos concedidos, **renovável** e **revogável** (ao desativar o cliente). O fluxo `client_credentials` cobre além disso a máquina a máquina sem usuário. É o modo adaptado a um serviço terceiro identificado, ao MCP e ao OneRoster. - **Chave de API** (veja [API Omniscol](#page-integrations.api-tokens)) — um **token autônomo** assinado pelo servidor, que embarca uma **lista de pontos de acesso** autorizados e que você mesmo entrega ao sistema externo: sem terceiro registrado, sem tela de consentimento, sem renovação. É uma delegação, pelo administrador, dos seus próprios direitos a um sistema que ele domina. Em resumo: a **chave de API** convém quando você mesmo entrega um acesso a um sistema que você controla; o **OAuth2** convém quando um serviço terceiro identificado deve obter um acesso delegado, com escopo e revogável, ou quando o protocolo o impõe (MCP, OneRoster). #### Procedimento — Registrar um cliente OAuth2 1. **Abra a tela OAuth2.** Em **Administração → Importação / Exportação**, seção OAuth2, clique em OAuth2, depois digite a senha de administrador. 2. **Registre o cliente.** Informe o seu nome, os seus escopos (`read:basic`, `read:user`, `write:data`, `admin`), as suas URIs de redirecionamento e, se útil, contatos, site e logotipo. Os escopos OneRoster não se atribuem aqui pelo registro dinâmico; eles dependem de um provisionamento pelo administrador. 3. **Copie o `client_id` e o `client_secret`** exibidos. O segredo só aparece **uma única vez**: conserve-o num gerenciador de segredos. 4. **Do lado do serviço**, configure o cliente com esses identificadores e a URL do servidor; um cliente conforme descobre sozinho os pontos de acesso via `/.well-known/`. 5. **Para cortar um acesso**, volte à tela e **desative** ou **exclua** o cliente. #### Ver também - [MCP — conectar um agente IA externo](#page-integrations.mcp) - [API Omniscol](#page-integrations.api-tokens) - [OneRoster](#page-integrations.oneroster) - [OIDC / SSO](#page-integrations.oauth2) - [Visão geral das integrações](#page-integrations.overview) ### 9.5 Personalização de API: substituições de pontos de acesso e hooks *Source: `help/pt/integrations/api-customization.md` · id: integrations.api-customization · Audience: admin · Plan: premium · Updated: 2026-06-27* > **Premium** > _Premium_ A **Personalização de API** é uma tela técnica destinada ao **departamento de TI**. Ela permite adaptar o comportamento da API do Omniscol para a sua conta segundo **três alavancas**: - uma **configuração geral** (cabeçalhos HTTP comuns); - a **substituição de um ponto de acesso** — redirecionar a aplicação web para outra URL, ou desativar um ponto de acesso; - os **hooks** — chamadas de saída (webhooks) que o Omniscol emite para o seu sistema quando uma operação ocorre. #### Onde encontrá-la Módulo **Administração**, tela **Importação / Exportação**, seção **API tweaks**, botão **API**. A tela é **reservada às contas Premium** e protegida por uma **autenticação reforçada**: o Omniscol pede novamente a senha do administrador antes de abrir a janela. Como toda ação nesta tela toca no contrato técnico da sua integração, a sua implantação é feita em articulação com o Omniscol. #### Configuração geral Aqui você define **cabeçalhos HTTP** (formato `chave1:valor1;chave2:valor2`) aplicados a **todos os hooks**. É o lugar natural para carregar um **token de autenticação** para o seu próprio servidor (por exemplo um `Authorization: Bearer …` que o seu servidor espera). Para uma **substituição**, a autenticação vai, ao contrário, nos cabeçalhos próprios ao ponto de acesso (veja abaixo). #### Substituição de um ponto de acesso Uma **substituição** redefine um ponto de acesso da API do Omniscol para que a **aplicação web** chame **outra URL** em seu lugar. Três usos, do mais poderoso ao mais simples. ##### Servir um dado ao vivo a partir do seu sistema de informação É o uso mais poderoso. Você redireciona um ponto de acesso **em leitura** para uma **URL externa** — tipicamente um **ETL** que faz a interface com o **sistema de informação interno** do seu estabelecimento. A aplicação web vai então buscar o dado **ao vivo** nesse sistema, em vez da cópia local mantida pelo Omniscol. Concretamente: quando a URL de redirecionamento é um **endereço externo absoluto**, a aplicação web a chama diretamente, sem passar de novo pelos servidores do Omniscol, e **consome a resposta tal como está** — exatamente como se ela viesse do Omniscol. A única restrição é que o seu sistema responda no **formato esperado pelo Omniscol** para esse ponto de acesso (mesma estrutura JSON): não há nenhuma transcodificação intermediária. Para esse ponto de acesso, a cópia local do Omniscol não é mais consultada; o dado exibido é aquele, vivo, do seu sistema. Exemplo: o **catálogo de disciplinas** do estabelecimento servido em tempo real a partir do seu sistema de informação, de modo que qualquer atualização do lado da escola fique imediatamente visível no Omniscol, sem reimportação. A autenticação para o seu sistema vai aqui nos **cabeçalhos próprios ao ponto de acesso** (por exemplo um `Authorization: Bearer …`), inseridos na linha da substituição. O **método** HTTP também pode ser imposto por ponto de acesso. Religar um ponto de acesso da própria aplicação a uma fonte externa viva é uma possibilidade tão poderosa quanto exigente: deve ser conduzida com o seu departamento de TI, e em articulação com o Omniscol. ##### Intercalar o seu próprio servidor ou um proxy Você também pode fazer as chamadas passarem pelo **seu próprio servidor** ou por um **proxy** — por exemplo para autorizar o compartilhamento de recursos entre origens (CORS), ou para intercalar uma lógica própria entre a aplicação web e o Omniscol. ##### Desativar um ponto de acesso Você **desativa** um ponto de acesso não lhe atribuindo **nenhuma URL de redirecionamento** (método `null`). Avalie o efeito na interface. O Omniscol é uma **aplicação web de página única** (SPA) cujos elementos de interface são pilotados pelos **pontos de acesso disponíveis**: botões, abas e menus só aparecem se o ponto de acesso do qual dependem existir. Desativar um ponto de acesso **faz assim desaparecer dinamicamente**, na próxima exibição, os elementos de interface que dele dependem — e se você desativar todos os pontos de acesso de um módulo, é o **módulo inteiro** que desaparece da navegação. Esses elementos são retirados, não apenas ocultados, e tudo se faz **sem nenhuma intervenção no código**: basta modificar a configuração e recarregar a aplicação. A tabela lista, por ponto de acesso: a sua **chave** (o código interno da operação), a sua **URL de origem**, o **método** HTTP, a **nova URL** de redirecionamento e **cabeçalhos** específicos. Um campo de pesquisa permite encontrar o ponto de acesso a substituir. #### Hooks (chamadas de saída) Um **hook** pede ao Omniscol para **enviar uma requisição HTTP à sua URL** **depois** que uma operação foi bem-sucedida. É o mecanismo para **manter um sistema externo informado em tempo real** — um painel de exibição, um ambiente virtual de aprendizagem, um sistema de recursos humanos, uma sincronização própria… Um hook liga-se de duas maneiras: - a um **ponto de acesso preciso** (a chave da operação); - a um **evento agrupado**, que cobre de uma vez uma família de operações. Existem três eventos agrupados: - **alteração de horário** (criação, deslocamento ou exclusão de aulas, ativação de um horário, e ausências de professor ou de turma assim que uma data é tocada); - **alteração de um professor** (adição, atualização ou exclusão); - **alteração de uma disciplina** (disciplinas personalizadas). Para cada hook, você preenche a **URL de retorno**, o **método** HTTP, a caixa **« com dados »** (é preciso anexar o corpo da requisição de origem?) e **cabeçalhos** próprios. ##### O que o seu servidor recebe A chamada é enviada em `application/json` e carrega, além dos seus cabeçalhos: - o **corpo da requisição de origem** se a opção « com dados » estiver ativada; - um bloco de **metadados** Omniscol: a URL chamada, o código do ponto de acesso, o método, os parâmetros, o token de autenticação do usuário e o identificador do estabelecimento; - cabeçalhos de rastreabilidade: `X-OS-original-query`, `X-OS-original-endpoint`, `X-OS-auth` e `X-School`. Para o evento **alteração de horário**, quando a opção « com dados » está ativa, a chamada inclui ainda um **diferencial das aulas** (aulas adicionadas, alteradas, excluídas) — prático para propagar apenas o que mudou. ##### Comportamento Os hooks partem **em segundo plano**, **depois** que a operação do usuário chegou a bom termo: eles não deixam a interface mais lenta e **não a bloqueiam** em caso de falha do seu servidor. Uma chamada de saída que não chega a bom termo é **registrada em log**, sem interromper o trabalho no Omniscol. Cada chamada tem um tempo-limite curto (alguns segundos): o seu servidor deve **confirmar o recebimento rápido** e tratar o restante do seu lado. #### Bom saber - A API do Omniscol expõe um **subconjunto** de operações; uma substituição ou um hook só se aplica aos pontos de acesso realmente expostos. Veja [API Omniscol](#page-integrations.api-tokens) para a lista e a autenticação. - Para uma **integração com um pacote de software** (ERP, SIRH, ambiente virtual de aprendizagem), a sincronização dedicada é muitas vezes mais adequada — veja [Sincronização com sistemas externos](#page-integrations.extsync). Internamente, o mesmo sistema de hook é utilizado. - Para que um **agente IA** consulte os seus dados sem desenvolvimento, veja [MCP — conectar um agente IA externo](#page-integrations.mcp). #### Ver também - [API Omniscol](#page-integrations.api-tokens) - [MCP — conectar um agente IA externo](#page-integrations.mcp) - [Sincronização com sistemas externos](#page-integrations.extsync) ### 9.6 Modelo de dados completo: entidades JSON, relações e ontologia *Source: `help/pt/integrations/data-model-full.md` · id: integrations.data-model-full · Audience: admin · Status: stable · Updated: 2026-06-18* Esta página descreve o **modelo de dados completo** de uma conta Omniscol: as entidades, os seus campos principais e as suas relações. Ela prolonga a página conceitual [Organização dos dados](#page-core-concepts.data-model), que explica o *porquê* (referencial da escola ↔ horário, cópias locais); aqui, o objetivo é o *quê* — um mapa estrutural utilizável, em particular para **relacionar o modelo com um referencial externo** (software de gestão, diretório, sistema de informação). > **Página técnica.** Esta referência destina-se à integração e ao > emparelhamento com um sistema externo. Ela **não é necessária ao uso > corrente** do Omniscol: para compreender a organização dos dados no > lado funcional, ver [Organização dos dados](#page-core-concepts.data-model). Todos os dados de um estabelecimento são organizados em forma de árvore. As entidades descritas abaixo (utilizadores, anos letivos, horários, ausências, eventos, etc.) correspondem aos diferentes ramos desta estrutura. A referência normativa é o **schema JSON** da conta. Ele consulta-se sob duas formas: - a **fonte bruta** (o schema JSON tal como é), servida pela conta no endereço `https://api.omniscol.com/api/guest/school_schema.json`; - o **visualizador em árvore** legível em [omniscol.com/pt/datamodel](https://www.omniscol.com/pt/datamodel) (e a referência de API correspondente em [omniscol.com/pt/developers](https://www.omniscol.com/pt/developers)). Este schema descreve exatamente o armazenamento físico na base, em forma de documento JSON. Esta página fornece uma leitura organizada e estável ao longo do tempo. #### O documento escola: a raiz O documento raiz reúne o referencial duradouro do estabelecimento e todas as suas planificações. Os seus subarvores de primeiro nível: | Chave raiz | Entidade | Papel | | --- | --- | --- | | `config` | `SchoolConfig` | Parâmetros da conta (país, opções, fuso, sincronização externa) | | `subjects_custom` | dicionário de `SubjectFull` | Matérias personalizadas da escola | | `families_custom` | dicionário de `Family` | Famílias de matérias personalizadas | | `users` | dicionário de `User` | Diretório dos utilizadores (todos os papéis) | | `school_years` | tabela de `SchoolYear` | Anos letivos e férias | | `timetables` | dicionário de `Timetable` | Horários | | `absences` | agrupamento de `Absence*` | Ausências (professores, turmas, monitores, alunos) | | `staffing` | `Staffing` | Módulo de membros do pessoal e de vigilância | | `panels` | dicionário de `Panel` | Painéis de exibição | | `events` | dicionário de `Event` | Eventos do tipo agenda | | `api`, `snapshots`, `jobs`, `translations`, `logo` | diversos | Configurações técnicas e históricos | Os subarvores expressos como «dicionário» são objetos JSON cujas **chaves são identificadores estáveis** (o pivô de todo o mapeamento externo — ver a seção final). ```mermaid erDiagram SCHOOL ||--|| CONFIG : "config" SCHOOL ||--o{ SUBJECT : "subjects_custom" SCHOOL ||--o{ FAMILY : "families_custom" SCHOOL ||--o{ USER : "users" SCHOOL ||--o{ SCHOOL_YEAR : "school_years" SCHOOL ||--o{ TIMETABLE : "timetables" SCHOOL ||--o| STAFFING : "staffing" SCHOOL ||--o{ ABSENCE : "absences" SCHOOL ||--o{ PANEL : "panels" SCHOOL ||--o{ EVENT : "events" SCHOOL { string _id "domínio do estabelecimento" string name "nome da conta" string country "país da conta" string current_school_year "ano letivo corrente" } ``` #### Campos transversais: `_extids` e `wishes` Dois campos surgem em numerosas entidades. Para não os repetir em cada schema, eles são descritos uma única vez aqui. - **`_extids`** (`ExternalIds`) — tabela dos identificadores da entidade nos sistemas externos, por exemplo `{ "auriga": "12345" }`. Presente nas entidades sincronizáveis (matérias, famílias, utilizadores, campi, salas, recursos, professores, turmas, grupos…). É o **ponto de ancoragem de um emparelhamento com um referencial externo** (ver a seção final). - **`wishes`** — **restrições horárias**: disponibilidades, faixas horárias desejadas ou a evitar, volume horário máximo, sala preferida… Presente na maioria das entidades planificáveis: utilizadores, professores e matérias de um horário, grupos, turmas, salas, faixas horárias de campus, grades de vigilância. Conforme o perímetro, estas restrições são globais (nível escola) ou próprias de um horário. #### Nível 1 — O referencial escola O referencial escola contém o que é verdadeiro para o estabelecimento, independentemente de um horário: o catálogo das matérias, o diretório dos utilizadores, o calendário dos anos letivos. ```mermaid erDiagram FAMILY ||--o{ SUBJECT : "family" SUBJECT ||--o{ SUBJECT : "parent" USER ||--o{ PLACEMENT : "colocações por ano" PLACEMENT ||--o{ PLACEMENT_GROUP : "groups" SCHOOL_YEAR ||--o{ HOLIDAY : "holidays" SUBJECT { string name string short "rótulo curto (exibição)" string code string parent "matéria parente" string family "família" string color object _extids "identificadores externos" } FAMILY { string name string code } USER { string login string first_name string middle_name "(se pertinente para o país)" string last_name string idnumber "identificador oficial" array roles "admin teacher staff student" string customrole "Papel personalizado" int servicehours "carga horária de referência" bool external "professor externo" object subjects "matérias lecionadas" object wishes "disponibilidades globais" object _extids } PLACEMENT { string class "turma atribuída" string date_start string date_end array groups "grupos atribuídos" } PLACEMENT_GROUP { string group "grupo groupset ou virtual" array weeks "intervalos de semanas" } SCHOOL_YEAR { string name string date_start string date_end array altweeks "semanas alternadas" } HOLIDAY { string name string begin string end } ``` ##### Matérias — `SubjectFull` / `Subject` / `Family` Uma matéria personalizada (`SubjectFull`) estende a matéria de base (`Subject`: `name`, `short`, `code`, `type`, `_extids`) com `parent`, `family` e `color`. Duas origens coexistem ao nível escola: as **matérias comuns** ao país (somente leitura) e as **matérias personalizadas** do estabelecimento. Detalhes funcionais: [Gerir as disciplinas](#page-admin.subjects). ##### Utilizadores — `User` (incluindo os professores) Um `User` é a **entidade única** do diretório: identidade (nome, apelido, `idnumber`, contacto), autenticação (`login`), `roles`, carga horária de referência (`servicehours`), disponibilidades globais (campo `wishes`) e `placements`. Um **professor** não é uma entidade distinta: é um `User` que tem `teacher` entre os seus `roles` (um mesmo utilizador pode acumular vários papéis). O campo `placements` (indexado por ano letivo) vincula um **aluno** a uma `class` e a `groups` durante um período. Detalhes: [Gerir os professores](#page-admin.teachers). ##### Anos letivos — `SchoolYear` / `Holiday` Um `SchoolYear` define `date_start → date_end`, a lista de `holidays` e as `altweeks` (semanas alternadas). É um **quadro temporal**, não um contêiner: os horários desdobram-se dentro dele sem estarem nele aninhados. Ver [Ano letivo](#page-core-concepts.school-year). #### Nível 2 — O horário Um `Timetable` é uma unidade de planificação coerente. Ele carrega a sua própria cópia local dos professores, turmas, grupos e matérias — ver o princípio de cópia local em [Organização dos dados](#page-core-concepts.data-model). ```mermaid erDiagram TIMETABLE ||--|| TIMETABLE_CONFIG : "config" TIMETABLE ||--o{ TIMETABLE_SITE : "sites" TIMETABLE ||--o{ TIMETABLE_TEACHER : "teachers" TIMETABLE ||--o{ TIMETABLE_CLASS : "classes" TIMETABLE ||--o{ LESSON : "lessons (grupos de grupos, multigrupo)" TIMETABLE_SITE ||--o{ TIMETABLE_CLASSROOM : "classrooms" TIMETABLE_SITE ||--o{ TIMETABLE_RESOURCE : "resources" TIMETABLE_CLASS ||--o{ TIMETABLE_CLASS_SUBJECT : "subjects" TIMETABLE_CLASS ||--o{ TIMETABLE_CLASS_GROUP : "groups" TIMETABLE_CLASS ||--o{ LESSON : "courses" TIMETABLE_CLASS_GROUP ||--o{ TIMETABLE_CLASS_GROUP : "parent (hierarquia)" TIMETABLE_CLASS_SUBJECT }o--|| SUBJECT : "origem (cópia local parcial)" TIMETABLE_CLASS_SUBJECT }o--o{ TIMETABLE_TEACHER : "professores por defeito" TIMETABLE_TEACHER }o--o| USER : "cópia local parcial e vínculo implícito por identificador" GROUPSET_ITEM }o--o{ TIMETABLE_CLASS_GROUP : "grupos constitutivos" TIMETABLE { bool active "publicado?" array lessons "aulas transversais" } TIMETABLE_CONFIG { string type "week cycle calendar" int time_period "duração da faixa horária" int time_unit "subdivisão da faixa horária" array weekdays "dias úteis" string displaymode "hours periods agenda" int cycle "comprimento do ciclo" array dates "limites se calendar" object date_windows "janelas de geração" } TIMETABLE_SITE { string name object distances "distâncias entre campi" object hours "grades horárias" } TIMETABLE_CLASSROOM { string name int capacity string specialisation "especialização livre" int maxclasses "turmas simultâneas" string building string description "descrição livre" array tags "etiquetas de características ou materiais" } TIMETABLE_RESOURCE { string name int number "quantidade disponível" } TIMETABLE_TEACHER { string first_name string last_name string virtual_name "posto a preencher" array subjects "matérias do posto virtual" string idnumber int servicehours "sobrescrevível por horário" string classroom "sala preferida" } TIMETABLE_CLASS { string name string level string campus array sites "apenas um campus considerado" int studentsnb "número de alunos teóricos (para cálculo de sala adequada)" string classroom "sala por defeito" bool offgrid "fora da grade (calendar)" string videolink "link de videoconferência por defeito em todas as aulas" string resourcelink "link de recurso (LMS) por defeito em todas as aulas" } TIMETABLE_CLASS_SUBJECT { string code "herdado de Subject" array incompatibilities "incompatibilidades" number pweight "peso pedagógico" array teachers "professores por defeito" number minutes "volume horário visado" string specialisation "sala requerida" } TIMETABLE_CLASS_GROUP { string name string code bool free "grupo livre" string parent "grupo parente" int studentsnb "número de alunos teóricos (para cálculo de sala adequada)" } GROUPSET_ITEM { string name string code array groups "identificadores de grupos" } ``` ##### Configuração — `TimetableConfig` O campo determinante é `type`: `week` (semanal repetido), `cycle` (ciclo multidia, ver `cycle`) ou `calendar` (datas reais, ver `dates`). `time_period` e `time_unit` definem a trama da grade; `weekdays` os dias úteis; `date_windows` as janelas de restrição para a geração automática. ##### Campi, salas, recursos Um `TimetableSite` (campus) contém as suas `classrooms` (`TimetableClassroom`: `capacity`, `specialisation`, `maxclasses`, `building`) e os seus `resources` (`TimetableResource`: `number` = quantidade disponível, cuja não-sobrerreserva o sistema garante). `distances` modela os tempos de deslocamento entre campi. Ver [Campi, salas e recursos](#page-core-concepts.sites-rooms-resources) e [Especializações de salas de aula](#page-core-concepts.classroom-specializations). ##### Professores do horário — `TimetableTeacher` Cópia parcial enriquecida de um `User`: apenas alguns campos identificadores são recopiados (`first_name`, `last_name`, `idnumber`), aos quais se juntam campos próprios da planificação (`servicehours` sobrescrevível, `classroom` preferida, `wishes` por horário). Um `virtual_name` não vazio designa um **professor virtual** (posto a preencher, sem `User` real por detrás). ##### Turmas, matérias de turma, grupos - **`TimetableClass`**: `name`, `level`, `campus`/`sites`, `studentsnb`, e três subarvores-chave — `subjects`, `groups`, `courses`. - **`TimetableClassSubject`**: cópia local de uma matéria (estende `Subject`) enriquecida para a planificação — `minutes` (volume visado), `pweight` (peso pedagógico), `incompatibilities`, `teachers` por defeito, `specialisation` de sala. Atribuir uma matéria **com um tipo de aula** cria uma entrada distinta por tipo. Ver [Cursos, aulas, tipos de aula](#page-core-concepts.lessons-and-types). - **`TimetableClassGroup`**: um subconjunto de uma turma. `free=true` desativa os conflitos com o resto da turma ([grupo livre](#page-core-concepts.free-groups)); `parent` estabelece a [hierarquia de grupos](#page-core-concepts.group-hierarchy). ##### Regras entre grupos — divisões, alinhamentos, grupos de grupos As relações entre grupos são portadas pelo subarvore `groups` do horário, sob três formas: | Schema | Entidade | Sentido | Página | | --- | --- | --- | --- | | `TimetableGroupTimeset` | divisão de turma | Grupos de uma **mesma turma** mutuamente exclusivos, colocados em paralelo (meias turmas, opções) | [Divisões de turma](#page-core-concepts.class-divisions) | | `TimetableGroupSpaceset` | alinhamento de grupos | Grupos de **turmas diferentes** que trabalham juntos em faixas horárias espelhadas | [Alinhamentos](#page-core-concepts.alignments) | | `TimetableGroupGroupset` | grupo de grupos | Metagrupo (`GroupsetItem`: `name`, `code`, `groups[]`) que reúne vários grupos | [Grupos de grupos](#page-core-concepts.groups-of-groups) | Ver também a visão geral [Turma, grupo, subgrupo](#page-core-concepts.classes-and-groups). #### Nível 3 — As aulas Uma **aula** (`Lesson`) é a unidade de ensino realmente colocada no horário: duração, matéria, grupo, professor(es), sala, recursos, posição e estado. Ela é gerada a partir de uma matéria de turma (ver nível 2) e vinculada **quer a uma turma** (`class.courses`), **quer diretamente ao horário** (`timetable.lessons`) — este último caso para os grupos de grupos e as aulas multigrupo, transversais a várias turmas. ```mermaid erDiagram TIMETABLE_CLASS ||--o{ LESSON : "courses (aulas de uma turma)" TIMETABLE ||--o{ LESSON : "lessons (grupos de grupos, multigrupo)" LESSON ||--o{ LESSON : "assoc · concat · weekalt (aulas complexas)" LESSON }o--o| TIMETABLE_CLASS_GROUP : "group" LESSON }o--o{ TIMETABLE_TEACHER : "teachers" LESSON }o--o| TIMETABLE_CLASSROOM : "classroom" LESSON }o--o{ TIMETABLE_RESOURCE : "resources" LESSON ||--o{ MEMO : "memos" LESSON ||--|| POSITION : "position" LESSON { int duration "em número de períodos" int duration_actual "minutos reais" int duration_accounted "minutos faturados" string modality "in_person remote hybrid self_study" string subject "identificador de matéria" string group "identificador de grupo" array teachers "null força nenhum professor" string classroom "null força nenhuma sala" string status "planned draft canceled done" string _id "identidade estável da aula" string _osrev "revisão (bloqueio otimista)" } MEMO { string comment string pub "visibilidade do comentário" string owner int tstp "carimbo de data/hora" } POSITION { string day "data, dia da semana ou nº de dia de ciclo" int period "índice da faixa horária na grade" string start "hora de início exata HH:MM (apenas para fora da grade)" string end "hora de fim exata HH:MM (apenas para fora da grade)" bool fixed "aula fixada (congelada na geração)" } ``` ##### Núcleo de uma aula Uma aula contém os campos de planificação — `duration` (em períodos), `duration_actual` / `duration_accounted` (minutos reais / faturados), `modality`, `subject`, `group`, `teachers`, `classroom`, `resources` — aos quais se juntam a sua `position`, o seu `status`, os seus `memos` e uma identidade (`_id`, `_osrev`). Colocar `teachers` ou `classroom` em `null` **força explicitamente** a ausência de professor ou de sala. ##### Aulas complexas Uma aula pode **reagrupar outras**: - `assoc` — aulas **associadas**: os grupos permutam juntos. - `concat` — aulas **concatenadas**: estritamente consecutivas. - `weekalt` — **semanas alternadas**: uma variante de aula por semana. Estes mecanismos cobrem as **aulas complexas** — ver [Aulas complexas: alternadas, associadas, concatenadas](#page-core-concepts.complex-lessons). ##### Posição de uma aula A `position` é um **objeto** que coloca a aula no tempo. Ela reúne os seguintes campos: - **`position.day`** — o dia da aula, **polimorfo conforme o modo do horário**: um nome de dia (`monday`…`sunday`) em modo semanal, um **número de dia de ciclo** (`"1"`, `"2"`…) em modo cíclico, ou uma **data** `YYYY-MM-DD` em modo calendário. É um único e mesmo campo que muda de forma conforme o modo; está sempre presente. - **`position.period`** — o **índice da faixa horária** na grade horária. Uma aula sem `period` nem `start`/`end` corresponde a um feriado. - **`position.start`** / **`position.end`** — horas exatas de início e de fim (`HH:MM`), para as aulas **fora da grade** ou em modo calendário que não se alinham com uma faixa horária padrão. - **`position.fixed`** — booleano (falso por defeito): uma aula **fixada**, que a **geração automática não deslocará**. As aulas de uma turma vivem em `class.courses`; a tabela `timetable.lessons` contém as aulas **transversais** ligadas aos grupos de grupos. ##### Identidade de uma aula Cada aula contém dois campos técnicos de identidade, **presentes nas contas Premium**: - **`_id`** — identificador **estável**, atribuído na criação da aula e imutável em seguida (ele combina um carimbo de data/hora e uma impressão do conteúdo). É a **chave de uma aula** para a edição colaborativa e para uma ferramenta externa que acompanha as aulas ao longo do tempo. Para as **ocorrências recorrentes** de um horário calendário (semanas alternadas, concatenações, associações), o `_id` de cada ocorrência é **derivado** do da aula de base, que permanece reconhecível. - **`_osrev`** — token de **revisão** (bloqueio otimista), incrementado a cada modificação (carimbo de data/hora + índice de modificação), de maneira estritamente ordenada alfabeticamente (o que permite facilmente saber se uma revisão é mais recente do que outra). Ele permite à edição colaborativa **detectar e fundir as modificações concorrentes**: uma revisão de cliente desatualizada sinaliza um conflito, que o servidor resolve ou funde em vez de sobrescrever silenciosamente. #### Ausências As ausências partilham uma base comum (`Absence`: `date_start`, `date_end`, `reason`, `hours`, `comment`, estado) especializada por tipo. ```mermaid erDiagram ABSENCE ||--o{ ABSENCE_TEACHER : "teachers" ABSENCE ||--o{ ABSENCE_CLASS : "classes" ABSENCE ||--o{ ABSENCE_STAFF : "staff" ABSENCE ||--o{ ABSENCE_STUDENT : "students" ABSENCE_TEACHER ||--o{ SUBSTITUTE : "substitutes" ABSENCE_TEACHER { string date_start string date_end string reason "chave de tradução ou rótulo" array subjects "matérias em causa" array classes "turmas em causa" string status } SUBSTITUTE { string substitute "nome do substituto" string date_start "início da regra (data)" string date_end "fim da regra (data)" array hours "faixas horárias em causa (begin/end em minutos, day)" array classes "turmas em causa" array subjects "matérias em causa" string comment "comentário" } ABSENCE_STUDENT { string date_start string reason array subjects "matérias excluídas" string status } ``` Uma `AbsenceTeacher` pode ser restringida a certas `subjects`/`classes` e contém um **conjunto de regras de substituição** (`substitutes`, cada uma um `AbsenceTeacherSubstitute`: substituto, período, faixas horárias, turmas e matérias cobertas). Os estados diferem consoante o tipo (por exemplo `ok`/`aborted` para uma turma). Ver o glossário [Substituição / Reposição](#page-glossary.substitution) e o módulo **Gestão de ausências**. #### Membros do pessoal Módulo distinto (vendido também de forma autônoma) para a vigilância e os serviços de acompanhamento. ```mermaid erDiagram STAFFING ||--o{ STAFFING_GRID : "grids" STAFFING ||--o{ STAFFING_ASSIGNMENT : "assignments" STAFFING ||--o{ STAFFING_STAFF_MEMBER : "staff" STAFFING ||--|| STAFFING_SCHEDULE : "schedule" STAFFING_ASSIGNMENT ||--o{ STAFFING_NEED_SPAN : "needs" STAFFING_GRID { array dates "intervalos de atividade" array days array periods "faixas horárias" } STAFFING_ASSIGNMENT { string name int req "mínimo de monitores" int ideal "efetivo desejado" string site string priority "high normal low" array allowed_staff } STAFFING_NEED_SPAN { string day "dia ou data" string begin "HH:MM" string end "HH:MM" int headcount "efetivo requerido" } STAFFING_STAFF_MEMBER { string first_name string last_name string virtual_name "posto a preencher" string color } STAFFING_SCHEDULE { object dates "turnos por data" } ``` Uma `StaffingGrid` é o gabarito (dias, períodos); os `assignments` descrevem os postos (`req`/`ideal`, `priority`, `needs` detalhados por faixa horária via `StaffingNeedSpan`); o `schedule` materializa os turnos efetivos por data. Ver o módulo Gestão de pessoal. #### Eventos Um **`Event`** é uma entrada de **agenda posta por cima da grade**: algo que acontece no estabelecimento **sem ser uma aula regular** — um conselho de turma, uma reunião de pais e professores, um exame de um dia, uma saída, um dia de portas abertas. Os eventos são arrumados no dicionário `events` (chaves `event-`) e fazem parte das funcionalidades Premium. Campos de um `Event` (obrigatórios: `title`, `start`, `end`): - **`title`** — título exibido. - **`start`** / **`end`** — início e fim, no formato `YYYYMMDDTHHmmSS`. - **`rrule`** — regra de **recorrência** eventual. - **`attendees`** — participantes: um utilizador, uma turma, um grupo, um rótulo livre (`custom`), ou então todo o estabelecimento (`everybody`) / toda pessoa voluntária (`anyone`). - **`location`** — local(is): uma sala do horário ou um rótulo livre. - **`resources`** — recursos reservados para o evento. - **`videolink`** — link de videoconferência para assistir à distância. - **`memos`** — comentários; **`color`** — cor (hexadecimal). O funcionamento no lado do uso (criação, colocação na grade, campos da interface) é descrito em [Eventos pontuais](#page-schedules.events). #### Painéis de exibição Um **`Panel`** é um **painel de exibição** das aulas do dia (hall, sala, ecrã de acolhimento…). Ele define a seleção das `columns`, a `topline`, os `filters`/`exclusions` e configurações de aparência. Ver o glossário [Painel de display](#page-glossary.panel). #### Identificadores, cópias locais e mapeamento para um ERP Para ligar o modelo Omniscol a um referencial externo, três princípios prevalecem: 1. **As chaves de dicionário são os identificadores estáveis.** As matérias, utilizadores, professores, turmas, grupos, salas, recursos são indexados por um identificador imutável (a chave JSON), e não pelo seu rótulo. É esse pivô — nunca o `name` — que se deve utilizar para toda a correspondência. 2. **O campo `_extids` (`ExternalIds`) contém os identificadores externos.** Presente nas entidades sincronizáveis (`Subject`, `Family`, `TimetableSite`, `TimetableClassroom`, `TimetableResource`, `TimetableTeacher`, `TimetableClass`, `TimetableClassGroup`, `User`…), ele associa a cada entidade os seus identificadores nos sistemas de terceiros, por exemplo `{ "auriga": "12345", "aimaira": "67890" }`. É o ponto de ancoragem canônico de um emparelhamento bidirecional. 3. **A cópia local escola ↔ horário é deliberada.** Uma matéria de turma ou um professor de horário é uma cópia enriquecida, não uma referência viva. Um referencial externo deve, portanto, decidir a que nível ele se emparelha: o **referencial escola** (catálogo duradouro) ou um **horário** preciso (planificação datada). O detalhe das regras de propagação figura em [Organização dos dados](#page-core-concepts.data-model). A configuração de sincronização vive em `config.extsync` (`SchoolConfigExtsync`): `systems` (conectores configurados), `sync` (sentido e entidades), `export` e `schedules`, bem como tabelas de correspondência (`mappings`) por chave e identificador Omniscol. No lado do acesso programático, a API REST e os tokens são descritos em [Tokens de API](#page-integrations.api-tokens); os conectores de sincronização em [Sincronização externa](#page-integrations.extsync). > A forma exata e exaustiva de cada campo permanece definida pelo schema > JSON de referência da conta > (`https://api.omniscol.com/api/guest/school_schema.json`, > visualizador legível em > [omniscol.com/pt/datamodel](https://www.omniscol.com/pt/datamodel)). Em caso > de divergência entre esta página e o schema, **o schema prevalece**. #### Ver também - [Organização dos dados](#page-core-concepts.data-model) - [Turma, grupo, subgrupo](#page-core-concepts.classes-and-groups) - [Divisões de turma](#page-core-concepts.class-divisions) · [Alinhamentos](#page-core-concepts.alignments) · [Grupos de grupos](#page-core-concepts.groups-of-groups) - [Cursos, aulas, tipos de aula](#page-core-concepts.lessons-and-types) · [Aulas complexas](#page-core-concepts.complex-lessons) - [Campi, salas e recursos](#page-core-concepts.sites-rooms-resources) - [Ano letivo](#page-core-concepts.school-year) - [Tokens de API](#page-integrations.api-tokens) · [Sincronização externa](#page-integrations.extsync) ### 9.7 MCP — conectar um agente IA externo ao Omniscol *Source: `help/pt/integrations/mcp.md` · id: integrations.mcp · Audience: admin · Plan: premium · Updated: 2026-06-13* > **Premium** > _Premium_ O **Model Context Protocol (MCP)** é um padrão aberto que permite a um assistente IA compatível com MCP consumir ferramentas de negócio expostas por um serviço externo. O Omniscol expõe uma grande parte da sua API sob a forma de **servidor MCP**: um agente IA pode consultar a sua conta com os pontos de acesso de API ou as permissões autorizadas, uma vez autenticado — por OAuth2, o modo padrão do MCP, ou por um token. #### O que o agente pode fazer O agente MCP funciona muito bem nas **perguntas de consulta** em que o dado está no Omniscol: - *« Dê-me a taxa de ocupação das salas em relação aos horários de funcionamento esta semana. »* - *« Encontre-me uma sala disponível três segundas-feiras de outubro na mesma faixa horária de 2 horas. »* - *« Quantas horas de aula Jean Dupont deu ao longo do ano letivo em curso? »* - *« Quais são todas as aulas de matemática de hoje? »* - *« Liste os professores que realizaram menos de 70% das suas horas de serviço neste trimestre. »* Essas consultas cruzam tipicamente várias ferramentas: horário, painéis de controle de estatísticas, disponibilidades calculadas, fichas de professores. O agente orquestra as chamadas e formula a resposta em linguagem natural. #### As ferramentas expostas O servidor MCP constrói as suas ferramentas a partir das rotas de API do Omniscol autorizadas para o MCP. As rotas explicitamente ignoradas, e certos módulos técnicos (por exemplo, relativos à autenticação dos usuários) não se tornam ferramentas. A lista reflete, portanto, a API exposta ao MCP, não a integralidade interna da aplicação. É, no entanto, uma grande parte. Além disso, existe um certo número de rotas dedicadas ao MCP e não utilizadas pelo próprio Omniscol. É o caso de ferramentas de busca avançada para que o texto livre que designa uma entidade ("professor Jean Dupont", "turma 6A") seja encontrado pelo Omniscol com o seu identificador técnico, que serve em seguida para consultar precisamente os dados. É também o caso de ferramentas complexas em que o Omniscol não possui interface gráfica, porque isso se presta melhor ao prompt: a busca de ocupação e de disponibilidade de entidade, por exemplo ("encontre-me uma sala disponível por 2 horas à tarde 3 segundas-feiras seguidas", "há algum professor de matemática disponível na semana de 14 de outubro por 3 horas?"). As ferramentas cobrem em particular: - módulo **Administração** (usuários, disciplinas, anos letivos, parâmetros), - módulo **Gestão de horários letivos** (configuração, campi, salas, turmas, aulas), - módulo **Horário** (planejamento, painéis de controle, buscas), - módulo **Gestão de ausências** (declaração, estatísticas), - busca global. As rotas de leitura são as mais adaptadas a um uso agêntico. Certas operações de escrita podem existir no catálogo, conforme os direitos do token e a API disponível, mas elas devem permanecer supervisionadas: uma consulta que modifica vários objetos de negócio deve ser verificada por um usuário antes de ser considerada confiável. #### Ativar o servidor MCP O servidor MCP está disponível nas contas **Premium**. Tudo parte da **tela MCP**, aberta a partir do módulo **Administração** com **Configurar**: ela exibe a **URL do servidor** conforme o perímetro escolhido (global ou restrito a um módulo) e fornece, prontos para copiar, os elementos de configuração do seu cliente. **A autenticação padrão do MCP é OAuth2.** Um cliente compatível (como o Claude) conecta-se simplesmente à URL do servidor, descobre ali a configuração OAuth2 da conta, e o usuário aprova o acesso por meio de uma tela de consentimento: **não há nada a fornecer além da URL**. O perímetro concedido segue os direitos da conta e as suas restrições de visibilidade. O servidor OAuth2 do Omniscol, a sua tela de gestão dos clientes e o detalhe do consentimento estão descritos em [OAuth2 / OIDC (provedor)](#page-integrations.oauth-server). Para um cliente que não gerencia OAuth2, a mesma tela gera um **token** (chave de API, expiração, usuário associado opcional, direitos de escrita a marcar) depois propõe, prontos para colar, os formatos úteis conforme o caso: cabeçalho `Authorization: Bearer`, URL com token, bloco de configuração **Claude Desktop** (modo gratuito) e comando de proxy local. O token apoia-se no sistema de chaves descrito em [API Omniscol](#page-integrations.api-tokens). #### Boas práticas de segurança - **Autenticação OAuth2** — mais prática e a preferir quando o seu agente a suporta (Claude versão paga). - **Token dedicado à IA** — crie um token com um rótulo esclarecedor (`Agente IA — Claude desktop`) que você pode revogar se necessário. - **Perímetro mínimo** — com um token de API, selecione apenas os pontos de acesso de API necessários. Com um token OAuth, limite os escopos ao necessário real. - **Registros de atividade (logs)** — uma chamada aparece nos registros associados ao token quando a rota em questão é registrada. Esses registros rastreiam a chamada; eles não conservam nem o detalhe dos dados devolvidos nem o conteúdo reproduzível da requisição. - **Restrições de visibilidade** — o agente vê aquilo que o Omniscol lhe devolve. Se você configurou restrições de visibilidade estritas para o papel do token, elas se aplicam. #### Procedimento — Conectar o Claude ao Omniscol A via recomendada é a **autenticação OAuth2**: você conecta o Claude ao servidor MCP pela sua URL, sem manipular token. 1. **Ative o servidor MCP** na sua conta Premium e recupere a sua URL (tipicamente `https://sua-escola.omniscol.com/mcp`). A tela MCP (módulo **Administração**, botão **Configurar**) exibe-a conforme o perímetro escolhido, com um botão de cópia. 2. **Adicione o Omniscol como conector no Claude.** Nas configurações de conectores do Claude, adicione um conector personalizado e cole a URL do servidor MCP do Omniscol. 3. **Aprove o acesso.** O Claude redireciona você para a tela de consentimento do Omniscol: conecte-se e autorize o acesso. O perímetro concedido segue os direitos da sua conta e as restrições de visibilidade eventuais. 4. **As ferramentas aparecem no Claude**, que as chama quando a sua consulta se presta a isso. 5. **Primeiro teste**: *« Quantas horas de aula Jean Dupont deu este ano? »* — O Claude cruza os dados acessíveis e responde em linguagem natural. **Método alternativo por token.** Para um cliente MCP que não gerencia OAuth2, gere um token dedicado a partir da tela MCP (rótulo esclarecedor, pontos de acesso limitados ao necessário real, direitos de escrita marcados explicitamente) e transmita-o no cabeçalho `Authorization: Bearer`. A tela MCP fornece o bloco de configuração correspondente. Prefira o OAuth2 assim que o seu cliente o suportar. #### Ver também - [Assistente IA integrado](#page-integrations.ai-assistant) - [API Omniscol](#page-integrations.api-tokens) - [OAuth2 / OIDC (provedor)](#page-integrations.oauth-server) - [Visão geral das integrações](#page-integrations.overview) ### 9.8 Assistente IA integrado *Source: `help/pt/integrations/ai-assistant.md` · id: integrations.ai-assistant · Audience: admin · Status: stable · Updated: 2026-06-28* O **assistente IA integrado** é a superfície de conversa do Omniscol para fazer uma pergunta em linguagem natural a partir da interface. Ele abre na aba **Assistente IA** do painel de ajuda, reservada aos administradores. O assistente apoia-se no corpus de ajuda e, conforme o contrato da conta, nas ferramentas Omniscol expostas ao agente. O alcance depende da conta: um assistente documental responde a partir da ajuda em linha, e as contas cujo contrato o prevê acrescentam o acesso a ferramentas de negócio que consultam os dados da conta. Para conectar um agente IA externo à sua conta, use [MCP — conectar um agente IA externo](#page-integrations.mcp). #### O que o assistente cobre O assistente foi concebido para duas famílias de solicitações: - **perguntas documentais** — encontrar um procedimento, explicar um conceito, apontar para a página de ajuda certa; - **perguntas operacionais** — consultar os dados da conta por meio das ferramentas autorizadas, por exemplo sobre as aulas, salas, professores, ausências ou estatísticas. Exemplos: - *« Como publicar um horário? »* - *« Onde configurar os links iCal? »* - *« Quais aulas de matemática estão previstas hoje? »* - *« Por que esta geração automática de horário deixa aulas não posicionadas? »* #### Direitos e alcance O assistente não tem acesso ilimitado à conta. As suas respostas e as suas ações dependem: - do contrato da conta, que determina se as ferramentas de negócio estão ativadas; - dos direitos do administrador conectado; - das ferramentas efetivamente expostas ao agente; - dos dados disponíveis no Omniscol. Uma ação que altera dados de negócio passa por uma confirmação explícita antes de ser aplicada. Para as integrações agênticas externas, use [MCP — conectar um agente IA externo](#page-integrations.mcp) e tokens dedicados. #### Boas práticas - Verifique as ações propostas antes de aplicá-las. - Não copie dados sensíveis para uma conversa se eles não forem necessários à solicitação. - Para um agente externo, crie um token dedicado com um alcance mínimo e uma expiração adequada. #### Ver também - [MCP — conectar um agente IA externo](#page-integrations.mcp) - [API Omniscol](#page-integrations.api-tokens) - [Planos e opções do Omniscol](#page-overview.plans-and-options) ### 9.9 OIDC / SSO — login via provedor de identidade *Source: `help/pt/integrations/oauth2.md` · id: integrations.oauth2 · Audience: admin · Plan: premium · Updated: 2026-06-13* > **Premium** > _Premium_ O OpenID Connect (OIDC), construído sobre o OAuth2, permite que os seus utilizadores acedam ao Omniscol **com a conta da organização** em vez de uma senha dedicada do Omniscol. Três benefícios: uma única senha para memorizar, desativação centralizada na chegada / na saída de um colaborador, e aplicação automática da política de segurança (MFA, comprimento da senha, expiração…) gerida no lado do sistema de informação. Esta página descreve o **SSO de utilizador**: o acesso das pessoas ao Omniscol via o seu provedor de identidade. O caso inverso — o Omniscol como **servidor** OAuth2 / OIDC ao qual serviços de terceiros se conectam, com o seu ecrã de gestão de clientes — é tratado em [OAuth2 / OIDC (provedor)](#page-integrations.oauth-server). #### Provedores suportados O Omniscol é compatível com: - **Google Workspace**, - **Microsoft Entra ID** (anteriormente Azure AD), - **Keycloak**, - um provedor **OIDC genérico** via o seu issuer / discovery URL (qualquer provedor conforme com OIDC). #### Configurar no lado do Omniscol Em **Administração** → **Configurações**, na seção **Segurança**, o botão **Configurar** abre o ecrã de configuração OIDC, que permite declarar o provedor: - **Nome exibido** — o rótulo que aparecerá no botão de login (por exemplo `Continuar com o Google`). - **Tipo de provedor** — Google, Microsoft Entra ID (Azure AD), Keycloak ou OIDC genérico. - **Tenant / issuer** — tenant Microsoft para o Entra ID, ou URL issuer para o Keycloak e os provedores OIDC genéricos. Os metadados OIDC são em seguida descobertos pela aplicação. - **Client ID** e **Client secret** — obtidos ao criar uma aplicação no lado do provedor (consulte a documentação do provedor). - **Scopes** — por defeito `openid profile email`. Adicione os scopes específicos do provedor, se necessário. - **Domínios autorizados** — lista opcional de domínios de e-mail aceites no login SSO; se deixada vazia, nenhuma filtragem por domínio é aplicada. - **URL de redirecionamento** — o Omniscol dá-lhe o valor exato a copiar para a configuração no lado do provedor (bem como o URL de redirecionamento pós-logout se o provedor o solicitar). - Login apenas por SSO — uma vez o SSO validado, esta opção recusa o login por senha do Omniscol, exceto para as **contas de emergência** descritas abaixo. A configuração SSO atual é definida ao nível da conta da escola. #### Acesso de emergência (break-glass) No modo **Login apenas por SSO**, o login por senha do Omniscol é recusado: todos passam pelo provedor de identidade. Se esse provedor ficar indisponível — falha, segredo expirado, erro de configuração — o acesso ao Omniscol ficaria bloqueado para todos. A **conta de emergência (« break-glass »)** é a salvaguarda contra esse bloqueio: uma conta de **administrador** autorizada a aceder por senha do Omniscol mesmo enquanto o modo SSO exclusivo está ativo. - No registo de uma conta de **administrador**, quando a opção **Login apenas por SSO** está ativa, uma caixa **Break-glass (SSO only)** aparece. Marcá-la autoriza esta conta a aceder por senha se o provedor de identidade estiver indisponível. Apenas contas de administrador podem sê-lo. - O suporte Omniscol mantém, além disso, um acesso de emergência independente. Designe pelo menos uma conta de emergência **antes** de ativar o modo SSO exclusivo, e guarde a sua senha em local seguro: é a sua rede de proteção se o provedor de identidade ficar indisponível. #### Configurar no lado do provedor (exemplos) ##### Google Workspace 1. Consola Google Cloud > **APIs & Services > Credentials**. 2. **Criar um identificador OAuth 2.0**, tipo **Aplicação Web**. 3. Cole o URL de redirecionamento fornecido pelo Omniscol em **Authorized redirect URIs**. 4. Recupere o **Client ID** e o **Client secret** para os colar no Omniscol. ##### Microsoft Entra ID 1. Portal Azure > **Entra ID > App registrations**. 2. **New registration**, tipo **Web**, URL de redirecionamento do Omniscol. 3. **Certificates & secrets** > criar um client secret. 4. **API permissions** > adicionar `openid`, `profile`, `email`. 5. Recupere **Application (client) ID** e o segredo. ##### Keycloak 1. Realm > **Clients > Create client**, tipo **OpenID Connect**. 2. **Valid redirect URIs**: URL fornecido pelo Omniscol. 3. **Credentials** > recuperar o client secret. #### Fazer a ligação com as contas Omniscol Quando um utilizador clica no botão SSO, o Omniscol: 1. Redireciona-o para o provedor, 2. Recupera o seu endereço de e-mail após a autenticação, 3. Procura uma conta Omniscol com **o mesmo endereço de e-mail**. Se a conta existir e estiver ativa, o utilizador é autenticado. Caso contrário, o acesso é recusado. Consequência: para que o SSO funcione, os utilizadores devem existir no Omniscol com o endereço de e-mail correto — a criação não é automática no lado do Omniscol por defeito. #### Provisionamento automático das contas A criação automática de contas no primeiro login SSO (`just-in-time provisioning`) não é o comportamento por defeito do ecrã de configuração. Se esse modo for necessário, deve ser definido com o Omniscol. #### Procedimento — Configurar um provedor OIDC / SSO 1. **OIDC / SSO** permite que os seus utilizadores acedam com a conta da organização (Google Workspace, Microsoft Entra ID, Keycloak, Okta…). A parte no lado do provedor depende do provedor. 2. **No lado do provedor**, crie primeiro uma aplicação OIDC **Aplicação Web**: recupere o **Client ID** e o **Client secret**, copie o **URL de redirecionamento** fornecido pelo Omniscol para os *Authorized redirect URIs* do provedor. 3. **No lado do Omniscol**, abra as configurações e depois a configuração OIDC. Preencha o **nome exibido** (rótulo do botão de login), o tipo de provedor, o issuer ou o tenant conforme o caso, o Client ID, o Client secret e os **scopes** (por defeito: `openid profile email`). 4. **Clique em Testar.** Verifique se a configuração funciona. O Omniscol faz uma ida e volta OIDC; em caso de erro de discovery, de segredo ou de redirecionamento, a mensagem de erro é explícita. 5. **Guarde.** O botão de login SSO aparece na página de login quando a configuração está ativa. 6. **Importante: as contas devem existir** no Omniscol com o endereço de e-mail correto. O login SSO corresponde por e-mail; sem provisionamento automático por defeito. #### Ver também - [Primeiro acesso](#page-getting-started.first-login) - [Usuários e papéis](#page-admin.users-and-roles) - [OAuth2 / OIDC (provedor)](#page-integrations.oauth-server) - [Visão geral das integrações](#page-integrations.overview) ### 9.10 Sincronização com sistemas externos (ERP) *Source: `help/pt/integrations/extsync.md` · id: integrations.extsync · Audience: admin · Plan: premium · Updated: 2026-06-13* > **Premium** > _Premium_ O Omniscol interconecta-se com os ERPs e sistemas de informação externos dos estabelecimentos por meio de um framework unificado de **sincronização**. Nele, o Omniscol desempenha o papel de **ponto central**: é ele que conduz as importações e as exportações, enquanto o sistema externo continua sendo a fonte de verdade administrativa. A sincronização com sistemas externos está disponível nas contas **Premium**, quando um conector está configurado para a conta. O que se trata **em projeto** é a adição de um novo ERP ou de um novo sistema de informação ainda não suportado, com a definição do mapeamento e dos fluxos. #### Modelo de fluxo O framework abrange dois sentidos de circulação: - **Entidades (entrada)** — o Omniscol pode recuperar do ERP os professores, disciplinas, salas de aula, turmas, alunos e seus identificadores externos, conforme o conector e a configuração. As referências ext-id são conservadas no Omniscol para os emparelhamentos. - **Aulas (saída)** — o Omniscol envia ao ERP as aulas produzidas pelo seu planejamento, com as referências ext-id corretas. Conforme o conector, a exportação pode ser acionada sob demanda, agendada ou reexecutada em lote completo para recuperar divergências. O Omniscol orquestra as importações e exportações configuradas, conserva os identificadores externos, gerencia as passagens de sincronização e expõe telas de verificação para conciliar os dados entre o Omniscol e o sistema externo. #### Origem e direitos de criação local Para cada tipo de entidade (professores, disciplinas, salas, etc.), você seleciona o sistema de origem e indica se a criação local e a atualização local continuam autorizadas. A tela também expõe um botão de **Associação** para emparelhar uma entidade local do Omniscol com uma entidade do ERP quando ambas já existem. #### Ponte entre ontologias Cada ERP tem o seu próprio vocabulário (por exemplo, «disciplina» no Omniscol = **Unité Pédagogique** no Auriga = **Cours** no Aurion). O framework cuida do **mapeamento**: é o Omniscol que liga os conceitos de um lado aos do outro, e você não precisa reescrever a sua nomenclatura. #### Conectores disponíveis ##### Disponíveis - **Aurion** — conector disponível em produção. ERP **editado pela empresa Auriga**, particularmente usado no ensino superior francês (escolas de engenharia, de negócios). Consulte [integrations.aurion](#page-integrations.aurion). - **Auriga** — conector disponível em produção. O **Auriga, o software**, é a evolução full-web do Aurion, pela mesma empresa. Consulte [integrations.auriga](#page-integrations.auriga). ##### Padrão de diretório - **OneRoster** — em vez de um conector próprio de um editor, o Omniscol oferece suporte ao padrão internacional **OneRoster** (1.2 e grupos avançados) para trocar um diretório escolar com um SIS, um ENT ou um LMS compatível. A importação de um diretório OneRoster faz parte dessa sincronização Premium; a exportação, por sua vez, é servida em modo somente leitura e controlada por escopos OAuth2. Consulte [OneRoster](#page-integrations.oneroster). ##### Sob demanda Qualquer ERP / sistema de informação que exponha uma **API documentada** para as ações de importação / exportação e uma **sandbox** de trabalho pode ser integrado em projeto. Contate o suporte do Omniscol para definir a adição de um novo conector. #### Diferença em relação aos sistemas que consultam o Omniscol Alguns sistemas também podem consumir o Omniscol pelos pontos de acesso **GET** da API pública: nesse caso, o Omniscol não orquestra uma sincronização de ERP, o sistema terceiro apenas consulta os dados aos quais o seu token dá acesso. Esse modelo é diferente da sincronização orquestrada pelo Omniscol: | Modelo | Quem orquestra? | Sentido | Exemplo | | --- | --- | --- | --- | | **Sincronização com sistemas externos** | Omniscol | Bidirecional (entidades in, aulas out) | Auriga, Aurion | | **Partner pull** | O parceiro | O parceiro faz um GET | Conector terceiro via API | O modelo partner-pull não precisa de configuração de sincronização com sistemas externos: a API pública e os tokens de autenticação bastam. Consulte [API Omniscol](#page-integrations.api-tokens). #### Configuração Uma configuração de sincronização com sistemas externos exige tipicamente uma sessão com o suporte do Omniscol para: 1. **Listar os objetos a sincronizar** — usuários, turmas, instrutores, disciplinas, salas, etc. 2. **Calibrar o mapeamento ontológico** — qual conceito do ERP corresponde a qual conceito do Omniscol. 3. **Definir a exclusividade** por tipo de entidade. 4. **Programar a frequência** das passagens (sob demanda, horária, diária, mais para a recuperação das divergências). 5. **Testar em uma sandbox** de ERP antes da entrada em serviço. #### Verificações e operações correntes - **Verificação** dos favoritos ou datasets configurados, conforme o conector. - **Acionamento manual** de uma exportação de aulas a partir da tela de administração. - **Exportação completa agendada** quando a opção está configurada no bloco de exportação. - **XML Pivot Aurion** quando o conector Aurion é usado. - **Verificação dos emparelhamentos**: as telas de associação sinalizam as entidades a emparelhar ou a corrigir. #### Procedimento — Verificar e acionar uma sincronização 1. **Uma vez a sincronização configurada** pelo suporte do Omniscol, as operações correntes são feitas a partir da tela de administração: verificar os favoritos/datasets, emparelhar as entidades, acionar uma exportação pontual, baixar o pivot Aurion se disponível, ou purgar o estado de exportação em caso de troca. 2. **Na configuração do sistema**, use os botões **Verificar** dos favoritos ou datasets preenchidos. O Omniscol recupera os dados do conector e sinaliza os erros de configuração ou de formato quando o conector os retorna. 3. **Para enviar imediatamente** as aulas ao ERP sem esperar a próxima passagem agendada, clique em **Acionar**. Útil após uma modificação urgente. 4. **Com o Aurion**, o botão **XML Pivot** baixa um arquivo que o administrador do ERP injeta manualmente pelo console do ERP quando esse modo é adotado. 5. **Em caso de troca importante** (mudança de estrutura, fim de ano), o botão **Purge Omniscol** apaga **no lado do ERP** todas as aulas que o Omniscol exportou para lá, para recomeçar do zero. A ação visa o conector selecionado e é **irreversível**: só deve ser usada após um acordo com o suporte. #### Ver também - [integrations.aurion](#page-integrations.aurion) - [integrations.auriga](#page-integrations.auriga) - [OneRoster](#page-integrations.oneroster) - [API Omniscol](#page-integrations.api-tokens) - [Importação e exportação](#page-admin.import-export) - [Visão geral das integrações](#page-integrations.overview) ### 9.11 OneRoster (1.2 e grupos avançados) *Source: `help/pt/integrations/oneroster.md` · id: integrations.oneroster · Audience: admin · Plan: standard · Updated: 2026-06-29* O OneRoster é um padrão internacional de troca de listas escolares (publicado pela 1EdTech): descreve, num formato comum, as **organizações**, os **anos letivos**, os **cursos**, as **turmas**, as **matrículas** e os **utilizadores** de uma escola. Serve para ligar um SIS, um ENT ou um LMS a outra ferramenta sem reintrodução de dados nem formato proprietário. Esta página destina-se à **direção dos sistemas de informação (a SI)** da instituição. Descreve o que o Omniscol expõe e consome em OneRoster, a autenticação esperada, e o âmbito real de cada sentido de troca. #### Versões suportadas O Omniscol suporta o **OneRoster 1.2 Rostering** — a base (Org, AcademicSession, Course, Class, Enrollment, User, Demographics) — bem como a camada **OR-Groups (Advanced Groups Service)**, o padrão de grupos aditivo que acrescenta três entidades (Group, GroupMembership, GroupAssociation) por cima da 1.2. A camada OR-Groups é um **padrão em curso de publicação**. É estritamente aditiva sobre a 1.2: um Group apenas **referencia** as entidades Class / User / Org / AcademicSession da 1.2, em somente leitura. A versão 1.3 do OneRoster está anunciada para tornar Class uma especialização de Group — orientação com a qual a implementação do Omniscol já converge. #### Omniscol produtor (Omniscol → ENT / LMS) Como **produtor**, o Omniscol expõe a lista da instituição em **somente leitura**, via uma API REST conforme com OneRoster, para que um ENT ou um LMS a leia. - A base Rostering 1.2 é servida em `/ims/oneroster/rostering/v1p2/…` (por exemplo `/orgs`, `/schools`, `/academicSessions`, `/courses`, `/classes`, `/enrollments`, `/users`, `/teachers`, `/students`, `/demographics`, cada um com as suas variantes aninhadas). - A camada de grupos é servida em `/ims/oneroster/groups/v1p0/…` (`/groups`, `/groupMemberships`, `/groupAssociations` e as suas variantes aninhadas). - O âmbito é o ano letivo **atual** por defeito; um parâmetro permite visar outro ano ou cobrir todos os anos. Os dados refletem o planeamento consolidado do Omniscol (horários ativos / publicados). O produtor é **somente leitura por opção**: nenhuma escrita (PUT / DELETE) é exposta — um sistema remoto não comanda a criação ou a eliminação de entidades no Omniscol. ##### Autenticação do produtor Os pontos de acesso do produtor são protegidos por **OAuth2 no fluxo `client_credentials`** (token de máquina a máquina, sem utilizador), emitido pelo servidor OAuth2 do Omniscol. **Não** estão reservados às contas Premium: o acesso é controlado pelos **scopes** OAuth2, não pela oferta. Cada scope é específico de um serviço, e o acesso aos dados demográficos está compartimentado dentro da 1.2: | Pontos de acesso | Scopes aceites | | --- | --- | | Rostering 1.2 (exceto demografia) | `https://purl.imsglobal.org/spec/or/v1p2/scope/roster-core.readonly`, `https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly` | | Rostering 1.2 `/demographics` | `https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly`, `https://purl.imsglobal.org/spec/or/v1p2/scope/roster-demographics.readonly` | | OR-Groups (todos) | `https://purl.imsglobal.org/spec/or-groups/v1p0/scope/roster-group.readonly` | Um token OR-Groups não dá acesso à base Rostering, e reciprocamente. Nenhum scope de escrita é anunciado. Os scopes privilegiados são atribuídos pela administração Omniscol no momento do registo do cliente OAuth2; um cliente não pode autoatribuí-los. A gestão dos clientes OAuth2 e dos tokens é descrita em [OAuth2 / OIDC (provedor)](#page-integrations.oauth-server) e [API Omniscol](#page-integrations.api-tokens). ##### O âmbito dos alunos é conduzido pela camada de grupos Escolha estruturante: a lista dos alunos de uma turma ou de um grupo é exposta via **OR-Groups** (GroupMembership), não pela base 1.2 sozinha. Um consumidor que apenas lê a Rostering 1.2 obtém o catálogo (Courses, Classes), as matrículas professor → curso e a lista dos utilizadores, mas **não** a pertença dos alunos. Para saber quem está em que turma ou em que grupo, o consumidor deve implementar a camada OR-Groups. Esta escolha reflete o modelo francês: um aluno está matriculado numa **turma** ou num **grupo**, e não disciplina por disciplina. O produtor expõe-se em REST. O formato **bundle CSV OneRoster** (arquivo zip de um ficheiro por coleção), por sua vez, é suportado no lado da importação, para os fornecedores que entregam a sua lista por ficheiro em vez de por API — veja a seção do consumidor abaixo. #### Omniscol consumidor (SIS → Omniscol) > _Premium_ Como **consumidor**, o Omniscol importa a lista de um SIS conforme com OneRoster e reconcilia-a na instituição. Esta configuração de consumo faz parte da **sincronização com sistemas externos**: está disponível nas contas **Premium** e é definida por projeto com a equipa Omniscol (veja [Sincronização com sistemas externos](#page-integrations.extsync)). - **Transporte** — seja a **API REST** do fornecedor (o endereço de base é configurado, a paginação padrão OneRoster é seguida), com autenticação OAuth2 no fluxo `client_credentials` contra o servidor do fornecedor; seja um **bundle CSV** (arquivo zip). - **Perfil** — um perfil de configuração indica a extensão a ler: base 1.2 sozinha, camada de grupos, ou correspondência francesa para o ensino escolar. Um fornecedor puramente 1.2, sem serviço de grupos, importa-se corretamente. - **Aplicação controlada** — a importação segue o mesmo princípio que os outros conectores: o Omniscol recupera e depois reconcilia os dados, e um **administrador valida** a aplicação à instituição. O sistema remoto nunca insere diretamente no Omniscol. - **Reimportações idempotentes** — as correspondências de identificadores externos são conservadas, de modo que uma reimportação não cria duplicados mesmo quando o fornecedor renomeia um rótulo. #### Perfil francês (ensino escolar) O **perfil francês para o ensino escolar** faz corresponder as noções francesas com o modelo OneRoster: uma **divisão de turma** (a turma no sentido efetivo) torna-se um Group do tipo organizacional principal; um **grupo** torna-se um Group de difusão pedagógica; um **grupo de grupos** um Group transversal; as **partições** e os **alinhamentos** tornam-se associações de grupos; uma afetação de um **professor** a um curso torna-se uma matrícula de professor. Os identificadores como o INE ou o identificador do agente são transportados nos `userIds` do utilizador. #### Identificadores e confidencialidade Cada entidade exposta transporta um identificador estável, o `sourcedId`. - Os identificadores **estruturais** (instituição, ano, curso, turma, grupo) são estáveis e imutáveis de uma exportação para a outra: um consumidor pode confiar neles para correlacionar os dados ao longo do tempo. - O identificador do **utilizador** é **anonimizado**: o Omniscol nunca coloca o seu próprio identificador nominativo no fio. O token colocado no fio é derivado por uma função de sentido único (HMAC) própria da conta; as matrículas e as pertenças reutilizam este token sem nunca expor o identificador de origem. #### Estado - **Produtor** — disponível e demonstrável sem parceiro remoto (a exportação basta-se a si mesma). Rostering 1.2 e a camada OR-Groups são servidos em somente leitura, com autenticação OAuth2. - **Consumidor** — a configuração de importação faz parte da sincronização Premium. A colocação em serviço de uma sincronização **ao vivo** com um SIS depende do fornecedor e, se aplicável, dos calendários ministeriais: é definida **sob pedido**, conector a conector. Não se trata de uma sincronização chave na mão imediata. #### Ver também - [Sincronização com sistemas externos](#page-integrations.extsync) - [OAuth2 / OIDC (provedor)](#page-integrations.oauth-server) - [API Omniscol](#page-integrations.api-tokens) - [Modelo de dados completo](#page-integrations.data-model-full) - [integrations.partners](#page-integrations.partners) ### 9.12 Contas vinculadas e recursos compartilhados *Source: `help/pt/integrations/linked-accounts.md` · id: integrations.linked-accounts · Audience: admin · Updated: 2026-06-13* As **contas vinculadas** conectam **várias contas Omniscol distintas — portanto vários estabelecimentos** — que compartilham, na realidade, **professores e salas**. O vínculo torna visível, de uma conta a outra, a **ocupação** desses recursos comuns: quando você consulta ou constrói um horário, o Omniscol traz as aulas das contas vinculadas que envolvem um professor ou uma sala que você compartilha, e as sinaliza como já ocupadas. Assim você evita reservar duas vezes a mesma pessoa ou a mesma sala, sem ter que ligar para o outro estabelecimento. É uma opção ativada sob demanda pela equipe do Omniscol. Cada conta permanece **totalmente autônoma**: mantém os seus usuários, os seus parâmetros, os seus anos letivos e o seu escopo administrativo. #### O que o vínculo compartilha - **Compartilhado**: a **ocupação** dos professores e das salas presentes em ambas as contas. É ela que alimenta as vistas de ocupação e a detecção de conflitos entre contas. - **Fora do compartilhamento**: os usuários, os alunos, as turmas, os parâmetros e os dados administrativos próprios de cada conta. Ver uma faixa horária ocupada não abre acesso ao detalhe da outra conta. O emparelhamento é **automático**: o Omniscol reconhece um mesmo professor pelo seu nome (a data de nascimento desempata os homônimos) e uma mesma sala pelo nome do seu campus e da sala. Para que ele funcione, esses professores e essas salas devem, portanto, ter os **mesmos rótulos** em cada conta. #### Casos de uso Todos envolvem **vários estabelecimentos distintos**, cada um com a sua própria conta Omniscol: - Um **grupo de escolas** que compartilham professores ou salas — por exemplo, uma rede de estabelecimentos de uma mesma cidade. - **Estabelecimentos juridicamente separados** instalados no mesmo prédio, e que compartilham, portanto, as salas. - Um campus onde **várias entidades** (escola de engenharia, escola de negócios…), geridas em contas distintas, usam os mesmos anfiteatros e os mesmos instrutores. #### Ativação As contas vinculadas são definidas com a equipe do Omniscol, pois é preciso decidir em conjunto: - quais contas estão vinculadas; - quais recursos comuns — professores, salas — são compartilhados; - a harmonização dos rótulos dos professores e das salas comuns, nos quais se baseia o emparelhamento automático; - qual conta permanece responsável por cada dado; - como tratar os conflitos detectados entre escopos. Uma vez a opção ativa, a ocupação compartilhada aparece nas vistas de ocupação e alimenta a detecção de conflitos entre contas, sem outra manipulação da sua parte. #### Ativar ou desativar uma sincronização Quando um horário está sincronizado com outros horários ativos — da mesma conta ou de contas vinculadas — um botão **Sincronização** aparece: em **modo reorganização** de um horário, assim como na **edição de um horário calendário**, nas **datas compartilhadas**. Ele abre a lista dessas sincronizações: cada **outro horário ativo** da conta e cada **conta vinculada** que compartilha professores ou salas. Todas estão **ativas por padrão**. Desmarque uma para **deixar de levar em conta** a ocupação desse horário ou dessa conta na vista corrente, e depois marque-a novamente para reativá-la. O botão só aparece quando existe pelo menos uma sincronização a gerenciar. #### Caso vizinho: vários horários ativos em uma única conta As contas vinculadas coordenam estabelecimentos distintos; a mesma necessidade também se apresenta **dentro de uma única conta**, quando um estabelecimento faz funcionar **vários horários ativos em paralelo**. O mesmo princípio de ocupação compartilhada impede então que uma sala, um professor ou uma **turma** seja reservado duas vezes por dois horários simultâneos. É tipicamente o caso de uma **organização multiprogramas** com ritmos diferentes — um EMBA de 18 meses, uma Grande École em semestres calendários, uma turma preparatória em horário semanal — que compartilha salas e instrutores entre os seus programas; ou de uma **turma repartida entre dois calendários**, com uma organização recorrente de manhã e pontual à tarde. Essa coordenação está incluída de base no **Premium** e pode, excepcionalmente, ser ativada em uma conta Standard após definição com o Omniscol. Consulte [Vários horários ativos em paralelo](#page-timetables.multiple-active-timetables). #### Ver também - [Vários horários ativos em paralelo](#page-timetables.multiple-active-timetables) - [Locais, salas, recursos](#page-core-concepts.sites-rooms-resources) - [Sincronização com sistemas externos](#page-integrations.extsync) --- ## 10. Portais ### 10.1 Portal do aluno *Source: `help/pt/portal/student-portal.md` · id: portal.student-portal · Audience: student/admin · Plan: standard · Updated: 2026-06-13* O **portal do aluno** é a interface dedicada aos aprendizes. Mais simples e mais direcionada que a interface do administrador, ela expõe exatamente o que um aluno precisa no dia a dia: seu horário pessoal, o da sua ou das suas turmas, suas ausências e o compartilhamento do seu calendário. #### Horário pessoal Ao abrir, o aluno vê **o seu próprio horário** na semana atual: disciplinas, horários, salas, professores. Três vistas clássicas são oferecidas: - **Semana** — grade padrão de 5 ou 7 dias conforme a configuração da instituição. - **Dia** — agenda cronológica, útil no celular. - **Lista** — vista sequencial das próximas aulas, sem grade. As mudanças de última hora (deslocamento de aula, mudança de sala, cancelamento) são consideradas: o aluno vê o estado atualizado a cada abertura ou recarregamento da vista. #### Consultar o horário da turma Além do seu horário pessoal, o aluno pode consultar o **horário da sua ou das suas turmas** e o dos **grupos** dessas turmas. Seu acesso para por aí: ele não consulta nem o horário de outra turma, nem o de um professor, nem o de uma sala. O administrador pode limitar o **horizonte de consulta** dos alunos: um parâmetro define o número de semanas futuras visíveis, ou ajusta o acesso para **Ilimitado**. Consulte [Restrições de visibilidade](#page-admin.visibility-restrictions). #### Sincronizar com uma agenda pessoal O ícone de compartilhamento Compartilhamento da vista de horário abre a janela Compartilhamento. A sua aba **iCal** fornece a URL de assinatura pessoal, para colar no Google Calendar, Apple Calendar ou Outlook. A URL pode ser copiada, baixada em arquivo `.ics` ou lida por meio de um QR code. Consulte [iCal — assinatura e link dinâmico](#page-integrations.ical) para os detalhes. O aplicativo de agenda atualiza a assinatura em intervalos regulares: quando o horário evolui no Omniscol, a alteração aparece na agenda do aluno. #### Declarar uma ausência Se a instituição autorizar, o aluno pode declarar a sua própria ausência a partir do portal: datas, horários eventuais, motivo e comentário. Consulte [Declarar uma ausência](#page-absences.declaring). A solicitação aparece no módulo Gestão de ausências com um estado pendente até a validação por um administrador. O formulário não contém envio de comprovante. #### Idioma da interface O idioma da interface segue o idioma do navegador do usuário. O aluno pode escolher outro a partir da entrada Idioma do menu do usuário; essa escolha é memorizada na sua conta para as conexões seguintes. #### Ver também - [Portal do professor](#page-portal.teacher-portal) - [Portal de convidado (pais, observadores)](#page-portal.guest-portal) - [iCal — assinatura e link dinâmico](#page-integrations.ical) - [Declarar uma ausência](#page-absences.declaring) - [Restrições de visibilidade](#page-admin.visibility-restrictions) ### 10.2 Portal do professor *Source: `help/pt/portal/teacher-portal.md` · id: portal.teacher-portal · Audience: teacher/admin · Plan: standard · Updated: 2026-06-26* O **portal do professor** é a interface dedicada aos professores. Ela cobre as três necessidades diárias de um professor: consultar seu horário, registrar suas disponibilidades, declarar suas ausências. Por padrão, ela também dá acesso aos horários dos colegas, das turmas e das salas. #### Horário do professor O professor vê na semana atual as **aulas que ministra**: disciplina, turma, grupo, sala, horários. Três vistas disponíveis: - **Semana** — vista de grade padrão. - **Dia** — vista de agenda cronológica. - **Lista** — sequência cronológica sem grade, prática no celular. As alterações de horário (deslocamento ou cancelamento de uma aula, acréscimo de uma aula excepcional) são consideradas: o professor vê o estado atualizado a cada abertura ou recarregamento da vista. #### Registrar suas disponibilidades Se a instituição ativou o registro das disponibilidades, o professor abre sua ficha pessoal por meio da entrada **Informações** do menu do usuário; a aba **Disponibilidade** apresenta uma grade onde ele declara suas preferências para a próxima construção do horário: - faixas horárias **Indisponível** — restrição bloqueante, o algoritmo nunca coloca uma aula ali, e o planejador manual criaria um conflito nela, - faixas horárias **Indesejado** — o algoritmo evita colocar uma aula ali, sem proibição absoluta, e o planejador manual vê um alerta nela, - faixas horárias **Preferencial** — o algoritmo favorece essas faixas. As faixas não marcadas permanecem neutras: disponíveis, sem preferência. Consulte [Disponibilidades dos professores](#page-core-concepts.wishes-and-availability) para a semântica exata das cores e as boas práticas de registro. O professor também pode acrescentar **comentários livres** (`sem aulas na sexta-feira devido a outro compromisso profissional`) que ajudam a administração a entender o contexto. #### Declarar uma ausência O botão **Declare uma ausência** permite ao professor sinalizar a sua própria indisponibilidade: - datas em questão; - dia inteiro ou faixas horárias precisas; - motivo; - comentário curto. A solicitação aparece no módulo **Gestão de ausências** com um estado **pendente** até a validação por um administrador. As substituições são geridas em seguida nesse mesmo módulo; o formulário do portal não desloca as aulas e não anexa comprovante. Consulte [Declarar uma ausência](#page-absences.declaring). #### Consultar os horários dos colegas e das turmas Por padrão, o professor pode consultar os horários dos outros professores (útil para marcar reuniões), das turmas (para identificar uma faixa horária livre onde inserir uma saída escolar) e das salas. Um ajuste estrito (consulte [Restrições de visibilidade](#page-admin.visibility-restrictions)) oculta os horários dos **outros professores**; ele incide apenas sobre esses horários entre colegas, permanecendo aberto o acesso aos horários das turmas e das salas. #### Sincronizar com uma agenda pessoal Como no lado do aluno, o ícone de compartilhamento **Compartilhamento** da vista de horário abre a janela **Compartilhamento**, cuja aba **iCal** fornece a URL de assinatura pessoal para colar no Google Calendar, Apple Calendar ou Outlook. Consulte [iCal — assinatura e link dinâmico](#page-integrations.ical). Prático para os professores que querem ver suas aulas na mesma agenda que suas reuniões e sua vida pessoal. #### Ver também - [Portal do aluno](#page-portal.student-portal) - [Disponibilidades dos professores](#page-core-concepts.wishes-and-availability) - [iCal — assinatura e link dinâmico](#page-integrations.ical) - [Declarar uma ausência](#page-absences.declaring) - [Restrições de visibilidade](#page-admin.visibility-restrictions) ### 10.3 Portal de convidado (links públicos) *Source: `help/pt/portal/guest-portal.md` · id: portal.guest-portal · Plan: standard · Updated: 2026-05-15* O **portal de convidado** designa aqui a consulta de um horário por uma pessoa que não tem conta Omniscol na instituição. O caso comum é o link público assinado: uma URL limitada a um perímetro preciso, aberta em modo somente leitura. #### Modos de acesso Conforme a necessidade, escolha entre: - **Link público assinado** — uma URL contendo um token secreto dá acesso a um horário preciso (um aluno, uma turma, uma sala, um professor) sem autenticação. Prático para compartilhar com um responsável: um único link, sem senha para memorizar. Consulte [Links de compartilhamento públicos](#page-portal.share-links). - **Conta Omniscol limitada** — se a pessoa precisar de um acesso duradouro, autenticado ou com vários perímetros, crie antes uma conta com o papel e os direitos adequados. Não apresente esse caso como um link público anônimo. #### O que um convidado vê O convidado vê o horário em modo **estritamente somente leitura**: - nenhuma alteração possível, - nenhuma declaração de ausência, - nenhum registro de disponibilidades, - nenhum acesso a horários além do perímetro incluído no link. O link abre a tela de consulta prevista, em modo somente leitura. Para um **horário**, a exibição é automaticamente simplificada — sem a faixa superior nem o menu do aplicativo — o que dá uma página centrada apenas no calendário. Essa apresentação corresponde ao parâmetro `raw=true` da URL: aplicado por padrão nos links de horário, opcional nas outras telas, e que um usuário experiente pode acrescentar manualmente. Ele não altera nem a autenticação nem o perímetro do link. Alguns links de compartilhamento servem para uma ação específica em vez de uma consulta: o link de registro das disponibilidades dos professores autoriza apenas o formulário previsto, até a sua data de validade. #### Caso de uso: responsável de aluno (ensino básico e médio) O cenário típico no ensino fundamental e médio: 1. O administrador (ou o próprio aluno) gera o link de compartilhamento do horário do aluno. 2. O link é enviado ao responsável por e-mail. 3. O responsável abre o link: vê o horário do filho. 4. A partir desse mesmo link, pode assinar em iCal e ter o horário diretamente no Google Calendar / Apple Calendar. Sem conta a criar, sem senha a gerenciar. #### Caso de uso: observador permanente Se um orientador pedagógico externo precisar acompanhar um programa durante todo o ano, evite por padrão o link público anônimo. Crie uma conta Omniscol limitada ao perímetro necessário, ou configure um compartilhamento assinado com validade curta e renovação controlada. #### Segurança - Um link público assinado permanece utilizável até a sua data de validade. Ele é invalidado se a senha da conta à qual está vinculado mudar (ou se essa conta for desativada); um link iCal também é invalidado pela rotação da chave de acesso da instituição. - Uma conta Omniscol limitada pode ser desativada como as outras contas de usuário. - Um acesso por link público não deve ser tratado como um usuário interno autenticado. #### Ver também - [Links de compartilhamento públicos](#page-portal.share-links) - [Portal do aluno](#page-portal.student-portal) - [iCal — assinatura e link dinâmico](#page-integrations.ical) - [Compartilhar um horário por link público](#page-schedules.share-link) ### 10.4 Links de compartilhamento públicos *Source: `help/pt/portal/share-links.md` · id: portal.share-links · Audience: admin · Plan: standard · Updated: 2026-06-13* Um **link de compartilhamento público** é uma URL assinada que dá acesso a uma tela de consulta — na maioria das vezes um horário — em modo somente leitura sem login. É o canal mais simples para divulgar um calendário a alguém que não tem (e não terá) conta Omniscol: um responsável, um parceiro externo, um setor administrativo. #### Formatos disponíveis Conforme o contexto e os direitos do usuário que compartilha, o Omniscol pode gerar várias URLs assinadas: - **Página web responsiva** — exibição navegável no estilo portal, com vistas semana / dia / lista. É o que vê quem abre o link em um navegador. - **Fluxo iCal (`.ics`)** — assinatura dinâmica para Google Calendar, Apple Calendar, Outlook. Consulte [iCal — assinatura e link dinâmico](#page-integrations.ical). - **JSON (API)** — para os desenvolvedores e as integrações máquina a máquina, quando esse formato é permitido. Esses formatos não são uma promessa universal: a janela modal exibe as abas realmente geradas para a seleção atual. #### O que é possível compartilhar? O compartilhamento não se limita à tela de consulta dos horários: o mesmo ícone de compartilhamento **Compartilhamento** aparece na maioria das telas do Omniscol. **Em modo somente leitura**, você pode compartilhar: - o **horário de uma entidade** — aluno, turma, professor, sala ou disciplina: o caso mais comum (pais, colegas, professores externos, setores técnicos); - a **tela de horário completa** do módulo **Horário**; - os seis **painéis de controle** (professores, salas, recursos, disciplinas, turmas, alunos); - as telas de **acompanhamento das ausências** (professores, turmas, alunos, pessoal); - as **escalas de serviço** do módulo **Gestão de pessoal** (grade, atribuições, planejamento, folha de presença); - as telas de **visualização**, de **reorganização** e de **diagramação** de um horário; - a tela de detalhes de um professor ou de um membro do pessoal. **Em modo leitura e escrita** — os dois únicos casos — você compartilha o **registro das disponibilidades** de um professor ou de um membro do pessoal: o link dedicado permite à pessoa em questão informar e validar suas disponibilidades, e editar seu perfil, até a data de validade, **sem conta nem senha** Omniscol. O link é vinculado à sua identidade e só é oferecido na sua própria ficha. As disponibilidades de turma, de sala, de grupo ou de disciplina permanecem telas de edição internas: elas não são coletadas por link de compartilhamento. Cada URL assinada carrega o perímetro solicitado e uma data de validade. #### Criar um link de compartilhamento No módulo **Horário**, selecione o horário a compartilhar (aluno, turma, sala…) e clique no ícone de compartilhamento **Compartilhamento**. A janela **Compartilhamento** que se abre oferece: - **Data de validade** — data até a qual as URLs geradas permanecem válidas. - **Abas Web, iCal e JSON** — visíveis conforme os formatos gerados para o compartilhamento. Em seguida você copia a URL desejada. A janela modal pode exibir um QR code para os links destinados a uma consulta humana. #### Limitar ou invalidar um link O compartilhamento público não mantém um registro dos links emitidos: o Omniscol não fornece nem lista consolidada dos links já transmitidos, nem contador de acessos, nem revogação link por link. A invalidação passa portanto pela conta titular (senha, desativação) e pela data de validade. Para limitar o risco: - escolha uma data de validade curta; - compartilhe apenas o perímetro necessário; - utilize, para as divulgações de equipe, uma **conta de serviço identificada** em vez de uma conta pessoal; - em caso de divulgação indesejada, altere ou redefina a senha da conta titular, ou desative essa conta se necessário. A alteração da senha invalida os links vinculados a essa conta, mesmo que a nova senha seja idêntica em texto claro, porque o hash armazenado muda. A desativação ou exclusão da conta titular também corta o acesso. #### Segurança - A URL contém um token assinado e difícil de adivinhar. - O link expõe **apenas as telas inscritas no seu token**, não o restante da conta. Para um **horário de entidade** (e para qualquer fluxo **iCal**), o filtro fica fixado no token: o destinatário permanece restrito a essa entidade — um responsável que dispõe do link do horário do filho não pode alcançar o horário de outro aluno. Um compartilhamento de **tela de horário completa**, por sua vez, reflete os **direitos da conta que o gerou**: para uma divulgação externa específica, compartilhe o horário da entidade precisa em vez da tela inteira. - A validade é limitada pela data de validade. - A validade depende também da conta titular: alteração de senha, desativação ou exclusão invalidam os links associados. - Qualquer pessoa que possua a URL pode consultar o perímetro compartilhado até a expiração ou invalidação. #### Incorporar um horário em uma página (iframe) **Hoje, isso não é possível em outro site.** Para se proteger contra o sequestro de clique, o Omniscol impede ser exibido em um quadro (`iframe`) hospedado em um domínio diferente do seu. Se você tentar incorporar um horário no seu ambiente virtual de aprendizagem, na sua intranet ou no seu site público, o navegador **recusa** exibir o quadro. Esse bloqueio de segurança é imposto pelo Omniscol e não pode ser alterado a partir da conta da instituição. A única exceção, rara na prática, é uma página servida em exatamente o mesmo domínio que a sua instância Omniscol. Para divulgar mesmo assim um horário em um site externo, três soluções simples: - **um link** para a URL de compartilhamento: o leitor abre o horário em uma nova aba, sem quadro incorporado; - **uma assinatura iCal**, para que o horário apareça na agenda da pessoa (Google Agenda, Outlook…) — consulte [iCal — assinatura e link dinâmico](#page-integrations.ical); - **um painel de display**, para uma tela pública nas dependências — consulte [Painel de display](#page-panels.lobby-panel). #### Procedimento — Criar um link para pais com validade 1. **Para compartilhar o horário de uma turma com os pais** sem criar contas para eles: um link público assinado, limitado no tempo. 2. **Abra o horário alvo** no módulo **Horário**: selecione a turma em questão. O ícone de compartilhamento **Compartilhamento** encontra-se na faixa de título da vista. 3. **Janela de compartilhamento**: escolha a **data de validade**. Para um compartilhamento com pais, use no máximo o fim do período escolar em questão. 4. **Copie o formato útil.** Web para uma consulta direta, iCal para uma assinatura de agenda, JSON apenas se uma integração API estiver prevista. O Omniscol também pode exibir um QR code para uma divulgação impressa. 5. **Transmita o link** pelo canal previsto: reunião de pais, newsletter, ambiente virtual de aprendizagem, intranet ou mensagem específica. 6. **Se o link circular fora do círculo desejado**, crie um novo link mais limitado e invalide os links vinculados à conta anterior se necessário: alteração de senha, desativação ou exclusão da conta titular. #### Ver também - [Portal de convidado (pais, observadores)](#page-portal.guest-portal) - [iCal — assinatura e link dinâmico](#page-integrations.ical) - [Compartilhar um horário por link público](#page-schedules.share-link) --- ## 11. Painéis de afixação ### 11.1 Configurar um painel de display para um saguão ou um corredor *Source: `help/pt/panels/lobby-panel.md` · id: panels.lobby-panel · Audience: admin · Plan: standard · Updated: 2026-05-12* Um **painel de display** é uma página web para carregar em tela cheia em um navegador, em uma TV, um monitor ou um tablet, a fim de difundir ao público da instituição as aulas e os eventos do dia. É o módulo a usar para uma tela de acolhimento, uma tela em um corredor, diante de um laboratório ou de um anfiteatro: o conteúdo depende apenas do que você filtra, não do local onde a tela é instalada. Você pode criar quantos painéis quiser, cada um com o seu próprio filtro e a sua própria URL de acesso. #### Criar um novo painel No módulo **Horário**, o botão **Painel de display** abre a tela de configuração. A lista à esquerda mostra os painéis existentes; o botão **Adicionar** (verde) cria um novo painel vazio. Você também pode **duplicar** um painel existente com **Duplicar**, o que é mais rápido se você gerencia uma frota de telas que compartilham a sua identidade visual. Cada painel tem um **Título**, para encontrá-lo na lista, e um **Título**, exibido no alto da tela pública. Os dois podem diferir: `Saguão principal — campus A` do lado da administração, `Bem-vindo à Escola X — campus A` do lado da tela. #### Filtrar as aulas exibidas O filtro principal — a propriedade **Mostrar** — escolhe o que vai para a tela. Quatro eixos complementares: - **Níveis** — todas as turmas de um nível de uma vez (por exemplo todas as turmas do 6º ano). - **Turmas** — seleção explícita de uma ou várias turmas. - **Sites** — todas as salas de um site (útil para uma tela instalada no saguão de um site específico). - **Salas** — seleção explícita de uma ou várias salas (útil para um painel que cobre uma ala de um prédio). Filtro vazio = todas as aulas. É o padrão adequado para uma tela de saguão central que deve mostrar o que acontece em toda a escola. Uma segunda lista — **Ocultar** — permite excluir pontualmente aulas do fluxo mantido: - **Matérias** a ocultar (por exemplo não exibir a educação física se ela ocorre longe do prédio principal), - **Tipos de aula** a ocultar (por exemplo ocultar as provas que não devem ser anunciadas ao público). Filtro e máscara se combinam: mantém-se tudo o que corresponde ao filtro e, em seguida, retira-se o que corresponde à máscara. #### Ajustar a faixa horária exibida A propriedade **Intervalo de tempo** controla quantas aulas à frente o painel mostra: - **Fim do dia** (padrão) — percorre as aulas em curso e as próximas de hoje (a aula em curso permanece exibida até o seu horário de término). Apropriado para uma tela que funciona o dia todo. - **janela deslizante** — em passos de 30 min até **+ 2 h**, depois de hora em hora até **+ 12 h**. O painel só mostra o que começa dentro da janela escolhida a partir do horário atual. Útil para uma tela de saguão muito movimentada em que se quer evitar o muro de informação: mostrar apenas as duas próximas horas, por exemplo. A atualização é automática no navegador, sem recarregamento manual; quando o horário atual avança, as aulas passadas saem da janela e as seguintes entram. #### Adicionar mensagens temporárias A seção **Informações** permite exibir uma ou várias mensagens de texto no painel, cada uma com a sua própria faixa horária. Casos típicos: - anunciar um evento (`Reunião de pais e professores na sala B204 às 17h30`), - avisar de uma perturbação (`Obras na ala sul, acesso pela entrada dos fundos`), - difundir uma mensagem de boas-vindas (`Bem-vindo ao dia de portas abertas`). Cada mensagem tem um texto livre, um horário de início e um horário de término. Fora dessa faixa, a mensagem desaparece automaticamente — você não precisa ir removê-la depois. #### Recuperar a URL pública do painel Uma vez salvo, cada painel tem uma **URL única** para abrir em tela cheia no dispositivo de destino. A URL contém um hash secreto que autoriza o acesso sem login — é o que permite a uma TV não autenticada exibir o conteúdo. Enquanto o hash não for divulgado publicamente, o painel não fica acessível. Boa prática: abrir essa URL em um navegador em modo **quiosque em tela cheia** (Chrome `--kiosk`, Firefox F11), de preferência em um mini-PC ou um dispositivo de sinalização acoplado à tela. O navegador cuida sozinho da atualização e da rolagem. #### Procedimento — Criar um painel de display 1. **Um painel de display é uma página web** para carregar em tela cheia em uma TV ou um monitor a fim de difundir as aulas do dia. 2. **Clique em** **Adicionar** para criar um novo painel vazio. Você também pode duplicar um painel existente para partir de uma base — ganho de tempo se você gerencia uma frota de telas com a mesma identidade visual. 3. **Preencha o rótulo** (**Título** — do lado da administração, para você se orientar na lista) e o **título** (exibido no alto da tela pública). Por exemplo: `Saguão principal — campus A` do lado da administração, `Bem-vindo à Escola X` do lado da tela. 4. **Escolha o filtro das aulas** na propriedade **Mostrar**: níveis, turmas, sites ou salas. Filtro vazio = todas as aulas. Para um painel de saguão central, geralmente fica vazio. Para uma tela diante de uma sala, selecione essa sala. 5. **Adicione eventualmente mensagens temporárias** com a sua faixa horária (reunião, perturbação, acolhimento). Fora da faixa, a mensagem desaparece automaticamente da exibição. 6. **Salve.** Você recupera a URL única do painel, para abrir em tela cheia no dispositivo de destino (Chrome `--kiosk`, Firefox F11). A atualização é depois automática. #### Ver também - [Painel de display](#page-glossary.panel) - [Painel diante de uma sala](#page-panels.room-panel) - [Personalização dos painéis](#page-panels.customization) ### 11.2 Configurar um painel de display diante de uma sala *Source: `help/pt/panels/room-panel.md` · id: panels.room-panel · Audience: admin · Plan: standard · Updated: 2026-06-13* Um **painel diante de uma sala** é um caso particular do painel de display: a configuração é a mesma de um painel de saguão, mas o filtro mira **uma única sala** em vez de um site ou de um nível. A tela exibida ao lado de uma porta mostra apenas a ocupação da sala correspondente, o que responde à pergunta que as pessoas no corredor se fazem: *«o que acontece nesta sala agora e em seguida?»* Casos típicos: - uma porta de anfiteatro, - a entrada de um laboratório ou de uma sala de informática, - uma sala polivalente compartilhada por vários cursos, - um estúdio ou uma oficina (música, design, vídeo). #### Configuração O módulo **Horário** oferece o mesmo botão **Painel de display** que para um painel de saguão. A diferença está no filtro: na seção **Mostrar**, escolha **Salas** e selecione a única sala correspondente. Os demais ajustes são idênticos aos do painel de saguão: - **Rótulo** do lado da administração (por exemplo `Porta B204`), **título** do lado da tela (por exemplo `Sala B204 — Ciências experimentais`). - **Faixa horária**: prefira **+ 2 h** ou **+ 4 h** em vez do dia inteiro — para uma sala, o usuário quer sobretudo saber a aula em curso e a seguinte. - **Tamanho da fonte**: **Grande** costuma ser apropriado para uma tela lida a 1-2 metros em um corredor, menor se a tela estiver próxima. - **Mensagens**: práticas para anunciar uma reserva pontual (`Sala reservada para o conselho de classe às 14h`) ou uma indisponibilidade (`Sala em manutenção até as 15h`). #### Várias salas na mesma tela Se uma tela cobre várias salas vizinhas (uma ala de prédio, as salas de um mesmo laboratório), você pode selecionar várias salas no filtro. As aulas de todas as salas mantidas são então **fundidas em uma única lista ordenada por horário**; se ela ultrapassa a tela, o painel a **pagina** (rolagem de páginas). Ele não alterna sala por sala. Para uma exibição realmente distinta por sala, crie um painel por sala — cada um tem a sua própria URL. Um mesmo mini-PC pode exibir vários painéis alternando várias abas em tela cheia, pela função de quiosque do navegador ou do sistema (isso não é um ajuste do Omniscol). #### URL e implantação Cada painel tem a sua URL única, sem login, para abrir em modo quiosque em tela cheia no dispositivo instalado ao lado da porta. A atualização é automática, por consulta periódica: a exibição se re-filtra conforme o horário atual cerca de uma vez por minuto, e os dados são recarregados a cada cinco minutos — nenhuma ação manual, mas a atualização não é instantânea. #### Procedimento — Criar um painel diante de uma sala 1. **Um painel diante de uma sala** exibe a ocupação dessa sala nas próximas horas. Diferença em relação ao painel de saguão: filtro de uma única sala, faixa horária curta, tamanho de fonte adaptado a uma leitura de corredor. 2. Clique em **Adicionar** no módulo **Horário** para criar um novo painel (ou duplique um painel de saguão existente e ajuste). 3. **Preencha rótulo e título.** Rótulo do lado da administração (`Porta B204`), título do lado da tela (`Sala B204 — Ciências experimentais`). O título é o que as pessoas no corredor veem. 4. **Filtro: seção Mostrar → Salas**, selecione **a sala correspondente**. Para uma tela que cobre uma ala (várias salas vizinhas), selecione todas — as suas aulas são fundidas em uma lista ordenada por horário, paginada se necessário. 5. **Ajustes específicos de porta de sala:** - **Faixa horária**: prefira `+ 2 h` ou `+ 4 h` em vez do dia inteiro — o usuário quer saber a aula em curso e a seguinte. - **Tamanho da fonte**: `Grande` para uma tela lida a 1-2 m. - **Mensagens**: útil para anunciar uma reserva pontual ou uma indisponibilidade. 6. **Salve.** Recupere a URL única do painel, para abrir em quiosque em tela cheia no dispositivo instalado ao lado da porta. Atualização automática por consulta periódica (re-filtragem cerca de uma vez por minuto, recarregamento dos dados a cada cinco minutos). #### Ver também - [Painel de display](#page-glossary.panel) - [Painel de display](#page-panels.lobby-panel) - [Personalização dos painéis](#page-panels.customization) ### 11.3 Personalização visual dos painéis de display *Source: `help/pt/panels/customization.md` · id: panels.customization · Audience: admin · Plan: standard · Updated: 2026-05-12* Os painéis de display do Omniscol são concebidos para se integrar visualmente à sua identidade visual. Há dois níveis de personalização possíveis: (1) os ajustes **na interface** (suficientes para a maioria dos casos), (2) a **substituição integral** da página web que exibe o painel (para as implantações com forte identidade visual). #### Ajustes na interface No módulo **Horário**, o botão **Painel de display** abre a tela de configuração dos painéis. Essa tela expõe as seguintes opções de exibição, que você pode alterar sem tocar no código: - **Tamanho da fonte** — pequeno, médio ou grande. A exibição usa unidades relativas ao tamanho da janela (`vmin`), de modo que a legibilidade se mantém coerente qualquer que seja o formato da tela (`16:9`, `4:3`, vertical). - **Cores** — cor de fundo, cor do texto, cores das linhas pares e ímpares da grade das aulas. Todos os códigos hexadecimais são aceitos; você pode reproduzir a paleta da sua identidade visual. - **Faixa de cabeçalho** — combinação ordenada de: **título**, **logotipo**, **data do dia**. Você escolhe o que aparece no cabeçalho e em que ordem. - **Colunas da grade** — seleção e ordem entre: **sala**, **turmas**, **professores**, **matéria**, **horários**. Ocultar uma coluna (por exemplo os professores em um painel público na entrada) ou reordená-la é imediato. - **Formato do nome dos professores** — nome-sobrenome, sobrenome-nome, título + sobrenome (Sra. Durand), título + nome. Os títulos `Sr.` e `Sra.` seguem automaticamente o idioma da interface; o que se ajusta por painel é o **formato** adotado. - **Logotipo** — o logotipo da instituição carregado na configuração da escola pode ser exibido na faixa de cabeçalho. Esses ajustes são registrados na configuração do painel. Atenção: ao contrário das aulas e das mensagens, que se atualizam sozinhas, essas opções **visuais** (cores, tamanho, colunas, cabeçalho, formato dos nomes) são incorporadas à página no momento em que ela carrega. Depois de salvá-los, **recarregue as abas** já abertas nas telas (F5 ou reinício da página de quiosque) para que adotem a nova exibição. #### Substituição integral do modelo (licença MIT) O modelo que exibe a página do painel está explicitamente sob **licença MIT** e pode ser copiado e depois adaptado para personalizar um painel de uma instituição. Isso abre vários cenários para as instituições que querem ir além dos ajustes: - **Reformulação visual completa** — reescrever o HTML/CSS do modelo para se alinhar a uma identidade visual forte (fonte proprietária, animações específicas, layout fora do padrão). - **Integração a uma sinalização existente** — embarcar o conteúdo de um painel do Omniscol em uma página de exibição global que multiplexa aulas, meteorologia, notícias da escola, vídeos… - **Vistas específicas de negócio** — criar uma exibição, por exemplo, para os supervisores (quem deve fazer o quê), para um serviço técnico (ocupação das salas com necessidades de material), etc. Para isso, há duas abordagens complementares: 1. **Fork do modelo** — se você hospeda o Omniscol por conta própria, duplique `panel.dot`, modifique-o e implante a sua versão. A licença MIT autoriza explicitamente as modificações, as redistribuições e os usos comerciais. 2. **API JSON do painel** — se você quer manter o Omniscol como fonte de dados mas exibir o painel do lado de um terceiro, a URL do painel também expõe uma variante JSON (`GET /panels/:accesshash/lessons`). Ela retorna a lista das aulas filtradas conforme a configuração do painel, prontas para serem consumidas por um sistema de sinalização de terceiros (Yodeck, Xibo, ScreenCloud, um painel de controle próprio). Essa URL abre com a chave de acesso do painel, sem token adicional. Para integrações sistema a sistema mais amplas, a API REST do Omniscol está descrita em [API Omniscol](#page-integrations.api-tokens). #### Recomendações práticas Alguns pontos que aparecem com frequência nas implantações: - **Contraste** — um fundo escuro + texto claro descansa mais a vista, em uma tela que funciona 12 h por dia, do que um fundo branco. - **Tamanho de fonte «Grande»** assim que a tela for lida a mais de 2 m (típico de um saguão de entrada). Manter «Médio» para as telas de porta de sala, vistas de mais perto. - **Logotipo na faixa de cabeçalho** — sempre útil para a identificação rápida quando vários painéis coexistem em um grande campus. - **Data na faixa de cabeçalho** — útil no saguão (os visitantes conferem a data), menos útil diante de uma sala (o contexto é evidente). - **Ocultar a coluna dos professores** nos painéis públicos se a sua instituição tiver regras internas sobre a exibição nominal. #### Procedimento — Reproduzir a identidade visual da escola em um painel 1. **Dois níveis de personalização**: (1) ajustes na interface (suficientes 90 % das vezes), (2) substituição integral do modelo MIT para as identidades visuais fortes. 2. **Abra a configuração do painel** no módulo **Horário**, pelo botão **Painel de display**. A tela mostra as opções de exibição: cores, tamanho, faixa de cabeçalho, colunas, formato dos nomes. 3. **Alinhe as cores à sua identidade visual**: cor de fundo, cor do texto, cores das linhas pares/ímpares. Códigos hexadecimais aceitos. Para uma tela que funciona 12 h/dia, prefira **fundo escuro + texto claro** (descansa mais a vista). 4. **Faixa de cabeçalho**: escolha a ordem de **logotipo**, **título**, **data**. Logotipo útil assim que houver vários painéis em um campus. Data útil no saguão, dispensável diante de uma sala. 5. **Colunas da grade**: selecione e reordene entre sala, turmas, professores, matéria, horários. Para um painel **público na entrada** em que o seu regulamento proíbe a exibição nominal, oculte a coluna **professores**. **Formato dos nomes** (se mantido): nome-sobrenome, sobrenome-nome, título+sobrenome, título+nome. 6. **Tamanho da fonte**: grande assim que for lido a mais de 2 m (saguão), médio para porta de sala (vista de perto). Unidades relativas em `vmin` — a legibilidade se mantém coerente qualquer que seja o formato da tela. 7. **Salve e depois recarregue as telas.** Esses ajustes visuais são incorporados à página no carregamento: recarregue (F5) as abas já abertas nos painéis para que adotem a nova exibição. **Para ir mais longe** (reformulação completa, integração a sinalização de terceiros Yodeck/Xibo/ScreenCloud): o modelo `panel.dot` está sob **licença MIT**, fork autorizado. A variante JSON da URL do painel (`GET /panels/:accesshash/lessons`) expõe o dado pronto para ser consumido por um sistema externo, com a chave de acesso do painel. Para a API REST mais ampla, ver [API Omniscol](#page-integrations.api-tokens). #### Ver também - [Painel de display](#page-panels.lobby-panel) - [Painel diante de uma sala](#page-panels.room-panel) - [Painel de display](#page-glossary.panel) - [API Omniscol](#page-integrations.api-tokens) --- ## 12. Migração a partir de outro programa ### 12.1 Migração a partir de outro programa — Visão geral *Source: `help/pt/migration/overview.md` · id: migration.overview · Audience: admin · Updated: 2026-05-10* Você está chegando ao Omniscol vindo de outro programa de gestão de horários? Existem vários caminhos, conforme o programa de origem e a riqueza da exportação disponível. #### Abordagens disponíveis ##### 1. Importadores de formato nativo Para dois programas, o Omniscol lê diretamente o arquivo de exportação nativo, sem passar por uma planilha intermediária: você seleciona o arquivo ou os arquivos na tela de Importação / Exportação (a importação UnDeuxTEMPS, composta por vários arquivos `.DBF`, encontra-se na seção dos formatos franceses). | Programa de origem | Formato lido diretamente | Página dedicada | | --- | --- | --- | | ASC Timetables | arquivo XML aSc | [A partir do aSc Timetables](#page-migration.from-asc) | | UnDeuxTEMPS | arquivos UDT (`.DBF`) | [migration.from-undeuxtemps](#page-migration.from-undeuxtemps) | Para os outros programas (Hyperplanning, EDT / Pronote, ADE), a recuperação passa pela **importação em massa** por planilha descrita no ponto 2: você exporta seus dados a partir do programa de origem, organiza-os em uma planilha e, em seguida, importa-os. Cada página abaixo detalha as correspondências e as armadilhas específicas do programa em questão: - [A partir do Hyperplanning (Index Education)](#page-migration.from-hyperplanning) - [A partir do EDT / PRONOTE (Index Education)](#page-migration.from-edt) - [A partir do ADE / ADE Campus](#page-migration.from-ade) > **Aurion e Auriga** são **ERPs** (gestão administrativa > escolar), e não programas de planejamento. O Omniscol integra-se a > eles, mas não os substitui. Consulte > [integrations.aurion](#page-integrations.aurion) e > [integrations.auriga](#page-integrations.auriga) para os modos de > integração. ##### 2. Importação genérica por planilha Se o seu programa de origem não tem um importador nativo, ou se você prefere controlar a formatação: extraia seus dados para uma planilha (Excel, Google Sheets, Numbers, Calc) e utilize a **importação em massa** do Omniscol. Consulte [Importação em massa dos cursos via folha de cálculo](#page-timetables.mass-import). ##### 3. API direta Para uma migração **automatizada** (por exemplo, se você quiser sincronizar durante um período de transição entre dois programas), você pode escrever um script que envie os dados por meio da API do Omniscol. Consulte [API Omniscol](#page-integrations.api-tokens). ##### 4. Reentrada manual Para estabelecimentos pequenos ou migrações parciais, a entrada manual continua possível. Reserve de algumas horas a alguns dias, conforme o tamanho. #### Estratégia de migração recomendada 1. **Mapear seus dados** — antes de tudo, faça o inventário do que você quer transferir: professores, alunos, salas, disciplinas, estrutura das turmas, horário atual, disponibilidades, ausências. 2. **Definir o escopo** — muitas vezes, nem tudo é transferido. Os alunos podem permanecer no SIS e ser sincronizados depois. Os horários históricos podem permanecer arquivados à parte. 3. **Fazer uma importação parcial de teste** — sobre um subconjunto (uma turma, uma promoção) para validar a qualidade da transferência. 4. **Determinar o cronograma** — muitas vezes, a mudança acontece no **início do ano letivo seguinte** em vez de no meio do ano, para evitar a gestão da continuidade. 5. **Formar os usuários** — o Omniscol tem convenções diferentes dos programas concorrentes. Reserve tempo de formação, sobretudo nos conceitos do domínio ([Divisão de turma](#page-glossary.class-division), [Alinhamento de grupos](#page-glossary.alignment), [Grupo de grupos](#page-glossary.groups-of-groups)). #### Especificidades terminológicas conforme o programa de origem | Termo do programa concorrente | Equivalente no Omniscol | | --- | --- | | «recurso» no sentido do Hyperplanning (professor, sala, turma…) | Várias entidades conforme o caso | | «cours» no sentido do EDT/Pronote (a unidade posicionada) | [Aula / Sessão](#page-glossary.lesson) | | «cours» no sentido pedagógico (disciplina de turma) | [Curso](#page-glossary.course) | | «prédio» | Tag ou prédio na [Sala de aula](#page-glossary.classroom) | | «formação» no ensino superior | [Turma](#page-glossary.class) ou conjunto de turmas | | «UE / EC / ECUE» | [Disciplina](#page-glossary.subject) com convenção de nomenclatura | #### Ver também - [Preparar seus dados para uma importação em massa](#page-getting-started.preparing-data) - [Importação em massa dos cursos via folha de cálculo](#page-timetables.mass-import) - [API Omniscol](#page-integrations.api-tokens) - [FAQ — casos de uso no ensino superior](#page-faq.higher-ed-cases) - [FAQ — casos particulares e configurações avançadas](#page-faq.edge-cases) ### 12.2 Migrar a partir do Hyperplanning (Index Education) *Source: `help/pt/migration/from-hyperplanning.md` · id: migration.from-hyperplanning · Audience: admin · Updated: 2026-06-30* O Hyperplanning (Index Education) é o programa de gestão de horários mais difundido no ensino superior francês. Migrar para o Omniscol exige recuperar seus dados existentes (usuários, estruturas, horários em curso) e adaptá-los aos conceitos do Omniscol. Esta página resume as correspondências e as armadilhas conhecidas. #### O que se transpõe diretamente | Hyperplanning | Omniscol | | --- | --- | | Promoção (tronco comum) | Turma | | Partição de uma promoção | Grupos disjuntos; **divisão de turma** se esses grupos compartilham a mesma faixa horária (aulas práticas/laboratórios simultâneos) | | Grupo de aula prática (oriundo de uma partição) | Grupo de uma divisão de turma | | Opção | Grupo | | Agrupamento | Grupo de grupos (ou alinhamento entre turmas/promoções diferentes) | | Curso | Curso (e as suas aulas) | | Disciplina / módulo (UE, EC) | Disciplina (frequentemente personalizada) | | Calendário / períodos | Modo calendário (horário datado, Premium); janelas de datas para a inclusão/exclusão de períodos | | Sala | Sala de aula (especialização a recuperar) | | Interveniente externo / colaborador | Professor marcado como «externo» (opção Premium) | #### O que exige atenção - **Alinhamentos**: no Hyperplanning, fazer com que as aulas práticas ou as opções de várias promoções assistam a um mesmo curso ao mesmo tempo passa por um **curso comum** (muitas vezes montado com o auxílio de um agrupamento). Quando esse curso compartilhado impõe a mesma faixa horária, a mesma sala de aula e o mesmo professor a grupos de turmas diferentes, isso é o **alinhamento** do Omniscol. Consulte [Alinhamentos de grupos](#page-core-concepts.alignments). - **Agrupamentos**: um agrupamento do Hyperplanning reúne vários grupos para assistir a um mesmo curso; no Omniscol, isso é um **grupo de grupos** (disponível em todos os planos). Consulte [Grupos de grupos](#page-core-concepts.groups-of-groups). Conforme o caso, um agrupamento entre turmas ou promoções diferentes também pode corresponder ao **alinhamento** acima. - **Aulas associadas** (alternância de meios-grupos): o Omniscol gerencia isso nativamente por meio das **aulas associadas**. Consulte [Aulas complexas](#page-core-concepts.complex-lessons). - **Serviço de ensino**: a continuidade pedagógica (os mesmos recursos de uma aula para a outra) reproduz-se mantendo o mesmo professor e a mesma sala de aula nas aulas de um curso — não existe uma entidade dedicada. - **Cursos em calendário**: se você usa o Hyperplanning em modo calendário para módulos com datas precisas, o Omniscol cobre as mesmas necessidades com o seu [modo calendário](#page-timetables.calendar-mode), incluído no plano Premium. - **Hyperplanning vs Aurion**: se o seu estabelecimento usa o Hyperplanning **e** o Aurion, a migração diz respeito apenas ao planejamento; o Aurion continua a alimentar a estrutura administrativa. Consulte [Sincronização com sistemas externos](#page-integrations.extsync). #### Procedimento 1. **Recuperar os dados** do Hyperplanning para uma planilha — listas dos intervenientes, estudantes, salas e cursos. Conforme a sua versão, isso é feito por copiar e colar de uma lista ou por sua exportação; consulte a documentação do Hyperplanning. 2. **Preparar os arquivos do Omniscol** no formato de importação: usuários em CSV, cursos em CSV. Consulte [Preparar seus dados para uma importação em massa](#page-getting-started.preparing-data). 3. **Criar uma conta Omniscol de teste** para testar a importação sem risco. 4. **Importar em várias passagens**: - usuários (professores, estudantes), - turmas e grupos, - disciplinas, - cursos por meio da [importação em massa por planilha](#page-timetables.mass-import). 5. **Reconstruir os cursos complexos** (alinhamentos, associados, alternados) manualmente se a importação os achatou. 6. **Verificar o diagnóstico** e corrigir as inconsistências detectadas. 7. **Executar uma geração de teste** para validar a viabilidade. 8. **Fazer um backup** antes de mudar para a conta de produção. #### Migrar os usuários com tranquilidade Boa prática: importar os usuários no Omniscol em modo **inativo** primeiro. Você valida os dados, muda a configuração (SSO se aplicável) e ativa as contas em uma única passagem quando tudo estiver pronto. Isso evita que os usuários recebam um convite prematuro. #### O que não é migrado - **Histórico do Hyperplanning** além dos horários em curso — para conservar o histórico, mantenha o Hyperplanning somente para leitura como arquivo em vez de migrar tudo. - **Personalizações visuais** do Hyperplanning — refaça-as no Omniscol de acordo com a sua identidade visual. Consulte [Personalização dos painéis](#page-panels.customization). #### Procedimento — Migração Hyperplanning → Omniscol 1. **Migrar a partir do Hyperplanning**: a sequência em 8 passagens segue a ordem exportar → preparar → conta de teste → importação em várias passagens → correção dos cursos complexos → diagnóstico → geração de teste → mudança. 2. **Passagem 1 — Recuperação a partir do Hyperplanning**: extraia as listas (intervenientes, estudantes, salas, cursos) para uma planilha. Conforme a versão, por copiar e colar de uma lista ou por sua exportação — consulte a documentação do Hyperplanning. Quanto mais limpo do lado da origem, mais rápido é o resto. 3. **Passagens 2-3 — Preparar + conta de teste**: adapte as colunas ao modelo do Omniscol (consulte [Preparar seus dados](#page-getting-started.preparing-data)). Crie uma **conta Omniscol de teste** para testar a importação sem risco sobre a produção. 4. **Passagem 4 — Importação em várias passagens** na ordem: **usuários** → **turmas e grupos** → **disciplinas** → **cursos** por meio da [importação em massa](#page-timetables.mass-import). A ordem importa: os cursos referenciam as turmas e os professores, que devem preexistir. 5. **Passagem 5 — Cursos complexos**: alinhamentos (cursos comuns a várias promoções do lado do Hyperplanning → alinhamentos do Omniscol), associados (alternância de meios-grupos), alternados A/B. A importação frequentemente os achata — reconstrua manualmente por meio dos ícones complexos no cartão do curso. 6. **Passagens 6-7 — Diagnóstico + geração de teste**: deixe o diagnóstico rodar, corrija as inconsistências. Execute uma **geração automática** para verificar a viabilidade global antes de migrar para a produção. 7. **Passagem 8 — Mudança**: crie um **backup** antes de mudar. Ative as contas de usuário (importadas como inativas até aqui). Publique. Mantenha o Hyperplanning somente para leitura como arquivo — a migração não leva o histórico além dos horários em curso. Se você também tem o **Aurion**: a migração diz respeito apenas ao planejamento, o Aurion permanece a fonte administrativa. Consulte [Sincronização com sistemas externos](#page-integrations.extsync). #### Ver também - [Visão geral da migração](#page-migration.overview) - [Preparar seus dados para uma importação em massa](#page-getting-started.preparing-data) - [Importação em massa dos cursos via folha de cálculo](#page-timetables.mass-import) - [Sincronização com sistemas externos](#page-integrations.extsync) ### 12.3 Migrar a partir do EDT / PRONOTE (Index Education) *Source: `help/pt/migration/from-edt.md` · id: migration.from-edt · Audience: admin · Updated: 2026-06-30* O **EDT** e o **PRONOTE** (Index Education) são as ferramentas mais difundidas no ensino secundário francês — escolas do 2.º e 3.º ciclos, públicas e privadas. A dupla cobre o horário (EDT) e a vida escolar — notas, boletins, sumário digital (PRONOTE). Migrar para o Omniscol diz respeito, antes de mais, à parte do horário; para a vida escolar avançada (notas, boletins, comunicações com os encarregados de educação), o PRONOTE pode ficar em paralelo. #### O caminho mais direto: a exportação STSweb O EDT constrói as suas estruturas a partir do **STSweb**: os **serviços** (um docente assegura um volume horário de uma disciplina numa turma) vêm do STSweb e a ele regressam no fim da preparação. É uma boa notícia para a migração, porque **o Omniscol importa diretamente uma exportação STSweb** (ficheiro STS) a partir do ecrã [Importação e exportação](#page-admin.import-export). Esta importação reconstitui de uma só vez os dados de estrutura: instituição (código UAI), ano letivo, **disciplinas**, **níveis** (MEF) e a sua grelha horária regulamentar, **turmas** (divisões), **grupos**, **docentes** e os **serviços** — que se tornam **cursos** Omniscol. O detalhe dos formatos franceses suportados está descrito em [admin.french-formats](#page-admin.french-formats). A folha de cálculo mantém-se útil para o que o STSweb não comporta (salas, agrupamentos particulares, desejos detalhados): veja a importação em massa abaixo. #### O que se retoma de outra forma - **Salas, sites distantes**: o STSweb não descreve as salas ao pormenor. Retome-as na folha de cálculo ou reintroduza-as, e depois reconstitua os sites. Para um conjunto de salas intercambiáveis (o equivalente a um «grupo de salas» do EDT), utilize uma **especialização** partilhada que o algoritmo de geração respeitará. Veja [Especializações de salas de aula](#page-core-concepts.classroom-specializations). - **Desejos e indisponibilidades dos docentes**: a granularidade difere da do EDT; preveja uma reintrodução (envio dos links de preenchimento antes do início do ano) ou uma importação aproximada a ajustar. - **Férias e calendário escolar**: definem-se na configuração do ano letivo (modelo do país ou introdução manual), e não através da exportação. #### O que fica no PRONOTE O Omniscol não retoma (e pode deixá-los no PRONOTE): - notas, avaliações, boletins, competências; - sumário digital, trabalhos de casa; - vida escolar em sentido lato (comunicações com os encarregados de educação, sondagens); - as ausências podem ficar no PRONOTE, ou ser acompanhadas no Omniscol, se preferir transferi-las para lá. #### Correspondências principais | EDT / STSweb | Omniscol | | --- | --- | | Turma (divisão) | Turma | | Parte de turma | Grupo; **divisão de turma** para a relação de exclusividade na mesma faixa horária | | Grupo (necessidades, especialidades, opção, língua) | Grupo (intraturma); alinhamento ou grupo de grupos se interturmas | | Serviço (STSweb) | Curso (as aulas decorrem dele no posicionamento) | | Disciplina | Disciplina | | Sala / grupo de salas | Sala; conjunto intercambiável = sala não fixada (atribuição automática) ou especialização partilhada | | Site distante | Site (com tempo de deslocação) | | Desejo / indisponibilidade de docente | Disponibilidades (desejos); nível «impossível» (preto) para uma indisponibilidade | | Alternância Q1 / Q2 (quinzenas) | Semanas alternadas A / B | | Sala de estudo / biblioteca (CDI) | Gestão de pessoal (vigilância) + um «curso de estudo» para o grupo sem aula | #### Procedimento 1. **Obter a exportação STSweb** (ficheiro STS) da instituição — é a fonte oficial das estruturas e dos serviços. 2. **Importar o ficheiro STS** para uma conta Omniscol experimental, a partir de [Importação e exportação](#page-admin.import-export). A estrutura (instituição, ano, disciplinas, níveis, turmas, grupos, docentes, serviços → cursos) reconstitui-se de uma só vez. Veja [admin.french-formats](#page-admin.french-formats). 3. **Completar na folha de cálculo** o que o STSweb não comporta (salas, especializações, agrupamentos particulares) através da importação em massa. Veja [Importação em massa dos cursos via folha de cálculo](#page-timetables.mass-import) e [Preparar seus dados para uma importação em massa](#page-getting-started.preparing-data). 4. **Verificar a alternância das semanas**: a convenção Q1/Q2 do EDT deve corresponder às semanas alternadas **A/B** do Omniscol. 5. **Retomar os desejos e as indisponibilidades** dos docentes — reintrodução ou importação aproximada a ajustar. 6. **Lançar o diagnóstico** do Omniscol e, depois, uma geração automática de teste. 7. **Snapshot** antes de mudar para a conta de produção. #### Coexistência EDT + Omniscol durante a transição Durante um período transitório (muitas vezes um trimestre), é frequente manter o PRONOTE para a vida escolar e passar o horário para o Omniscol. O PRONOTE recebe normalmente o seu horário a partir do EDT; se pretender continuar a exibir nele horários geridos noutro lado, verifique com a Index Education o que o PRONOTE sabe consumir — não presuma que um fluxo externo será retomado tal e qual. #### Migração escolar típica Caso padrão de uma escola do 2.º ou 3.º ciclo que passa do EDT para o Omniscol: - exportação STSweb em junho, - importação e testes no Omniscol durante o verão, - mudança no início do ano letivo em setembro, - PRONOTE conservado para a vida escolar se a instituição o desejar. #### Procedimento — Migração escolar típica junho → setembro 1. **O caso típico de uma instituição** que passa do EDT/PRONOTE para o Omniscol: exportação em junho, testes durante o verão, mudança no início do ano letivo. PRONOTE conservado para a vida escolar se desejado. 2. **Junho — Exportação STSweb**: obtenha o ficheiro STS da instituição (a fonte oficial das estruturas e dos serviços). Na sua falta, exporte as listas do EDT (cursos, serviços, turmas) para uma folha de cálculo — consoante a sua versão, por exportação de listas ou copiar-colar; veja a documentação do EDT. 3. **Julho — Conta experimental Omniscol**: importe o ficheiro STS a partir de [Importação e exportação](#page-admin.import-export) (veja [admin.french-formats](#page-admin.french-formats)). A estrutura reconstitui-se de uma só vez. Pode testar sem pressão: se algo não convier, pode iterar com calma. 4. **Agosto — Completar na folha de cálculo** o que o STSweb não comporta (salas, especializações de salas, agrupamentos) através da importação em massa (veja [Importação em massa dos cursos via folha de cálculo](#page-timetables.mass-import)). Alinhe a **alternância das semanas** (Q1/Q2 do EDT → A/B do Omniscol). 5. **Agosto — Desejos e disponibilidades** dos docentes: a granularidade difere. Preveja ou uma **reintrodução** (envio dos links de preenchimento antes do início do ano) ou uma **importação aproximada** a ajustar depois. 6. **Fim de agosto — Diagnóstico** do Omniscol para detetar as incoerências (disciplinas em falta, conflitos, disponibilidades não transpostas). Lance uma **geração automática de teste** sobre as semanas de início do ano para validar a viabilidade. 7. **Setembro — Mudança**: snapshot antes, depois publicação dos horários. **PRONOTE conservado** para a vida escolar se o desejar. #### Ver também - [Visão geral](#page-migration.overview) - [A partir do Hyperplanning (Index Education)](#page-migration.from-hyperplanning) - [admin.french-formats](#page-admin.french-formats) - [Importação em massa dos cursos via folha de cálculo](#page-timetables.mass-import) ### 12.4 Migrar a partir do aSc Timetables *Source: `help/pt/migration/from-asc.md` · id: migration.from-asc · Audience: admin · Updated: 2026-06-30* O **aSc Timetables** (Eslováquia) é um programa de geração de horários antigo e muito difundido, nomeadamente nas escolas internacionais e em vários países da Europa Central. Boa notícia: o Omniscol lê e escreve diretamente o ficheiro nativo do aSc Timetables, sem folha de cálculo intermédia nem remapeamento manual das estruturas. #### Um ficheiro, nos dois sentidos O aSc Timetables guarda um horário num ficheiro **XML** (formato «aSc Timetables 2012»). O Omniscol sabe: - **ler** este ficheiro para reconstituir um horário completo (turmas, grupos, professores, disciplinas, salas, cursos); - **reescrever** um ficheiro do mesmo tipo a partir de um horário Omniscol, para o reabrir no aSc ou no Edupage (solução de vida escolar da mesma editora). Tudo se faz a partir do ecrã [Importação e exportação](#page-admin.import-export), sem manipulação técnica: para exportar, o botão Exportar dados para o formato aSc (.xml); para importar, basta selecionar o ficheiro XML produzido pelo aSc. A ida e volta é **reversível**: exportar e depois reimportar devolve a mesma estrutura do lado do Omniscol, salvo pelas convenções de nomenclatura. #### O que é transposto Retomado automaticamente na leitura do ficheiro: - **Turmas** e os seus **grupos** (incluindo as divisões para os laboratórios). - **Disciplinas** com os seus códigos. - **Salas** com a sua capacidade. - **Professores** (apelido, nome próprio, contactos). - **Cursos** (disciplina, volume, professor) e as suas **aulas** posicionadas (dia, faixa horária, sala). - **Recreios e pausas** do dia. - **Semanas alternadas** (A/B) se estiverem configuradas no aSc. #### O que merece um olhar após a importação - **Restrições complexas** próprias do aSc (restrições de sequência, sala condicional, anti-encadeamento muito específico): o Omniscol converte-as o melhor possível, mas certas regras exprimem-se de outra forma e merecem uma releitura. A sala condicional decorre antes das [Especializações de salas de aula](#page-core-concepts.classroom-specializations); as outras, das [Disponibilidades dos professores](#page-core-concepts.wishes-and-availability) e das [Restrições horárias (sistema geral)](#page-core-concepts.time-constraints). - **Cursos partilhados por várias turmas** (uma disciplina comum a várias turmas): convertidos em [Grupos de grupos](#page-core-concepts.groups-of-groups). Verifique que o resultado corresponde à sua intenção. - **Renomeação e ida e volta**: o Omniscol não conserva os identificadores internos do aSc; quando reescreve um ficheiro aSc, reconstrói as correspondências a partir das entidades, em particular do seu **nome**. Na prática, se tenciona reexportar para o aSc, evite renomear entretanto as turmas, os professores e as disciplinas, sob pena de as correspondências se desfasarem. #### Procedimento 1. **No aSc**: guarde o seu horário no formato **XML** (versão 2012 ou a mais próxima proposta pelo seu aSc). 2. **Crie uma conta Omniscol experimental** para testar sem risco. 3. **Importe o ficheiro** a partir do ecrã [Importação e exportação](#page-admin.import-export): selecione o ficheiro XML aSc e valide. 4. **Leia o diagnóstico** do Omniscol para detetar as incoerências (cursos sem sala, disponibilidades não transpostas, etc.). 5. **Ajuste as restrições complexas** que não tenham podido ser convertidas automaticamente. 6. **Lance uma geração automática de teste** para verificar que as restrições produzem um resultado conforme ao que tinha no aSc. 7. **Faça um snapshot** antes de mudar para a conta de produção. #### Continuar a alimentar o aSc em paralelo Se mantiver o aSc durante uma transição, a exportação inversa permite continuar a alimentá-lo a partir do Omniscol — útil, por exemplo, quando instituições parceiras ainda consultam o aSc. O ficheiro produzido reabre-se no aSc Desktop (versão 2012 ou posterior). #### Pontos de atenção - **Caracteres acentuados**: se alguns acentos surgirem mal após uma ida e volta, é uma questão de codificação de ficheiro. A exportação do Omniscol utiliza por predefinição a codificação esperada pelo aSc Desktop; basta verificar que um nome acentuado sobrevive à ida e à volta. - **Algoritmos de geração diferentes**: o aSc e o Omniscol não têm o mesmo perfil de algoritmo de geração. Um horário que se gerava facilmente no aSc pode exigir alguns ajustes no Omniscol, e vice-versa. - **Versões do aSc**: a leitura visa o formato 2012. Versões mais antigas podem não ser diretamente compatíveis — nesse caso, passe por um registo no formato 2012 a partir do aSc Desktop. #### Procedimento — Ida e volta XML aSc ↔ Omniscol 1. **O Omniscol lê e escreve o ficheiro nativo do aSc Timetables 2012**: ida e volta direta, sem folha de cálculo intermédia. 2. **Do lado do aSc**: guarde o horário no formato **XML 2012** (ou a versão mais próxima) e conserve o ficheiro no seu posto. 3. **Do lado do Omniscol experimental**: abra [Importação e exportação](#page-admin.import-export) e selecione o ficheiro XML aSc. A importação reconstitui turmas, grupos, disciplinas, salas, professores, cursos, semanas alternadas e recreios. 4. **Verifique o diagnóstico**: cursos sem sala, disponibilidades não transpostas, cursos multiturma convertidos em [Grupos de grupos](#page-core-concepts.groups-of-groups). Lembrete: para uma ida e volta limpa, não renomeie turmas, professores e disciplinas se tenciona reexportar — o Omniscol apoia-se no seu nome para reconstruir as correspondências. 5. **Ajuste as restrições complexas** próprias do aSc (sequências, anti-encadeamento muito específico): a conversão faz o melhor possível, certas regras exprimem-se de outra forma no Omniscol. Veja [Disponibilidades dos professores](#page-core-concepts.wishes-and-availability). 6. **Lance uma geração automática de teste** no Omniscol para verificar que o resultado é conforme. ⚠ O aSc e o Omniscol não têm o mesmo perfil de algoritmo de geração; um horário fácil no aSc pode exigir ajustes no Omniscol, e reciprocamente. 7. **Exportação inversa** (se mantiver o aSc em paralelo): botão Exportar dados para o formato aSc (.xml) em [Importação e exportação](#page-admin.import-export). O ficheiro reabre-se no aSc Desktop 2012+; a ida e volta preserva a estrutura (perdas menores apenas nas convenções de nomenclatura). #### Ver também - [Visão geral](#page-migration.overview) - [Importação e exportação](#page-admin.import-export) - [Disponibilidades dos professores](#page-core-concepts.wishes-and-availability) - [Grupos de grupos](#page-core-concepts.groups-of-groups) ### 12.5 Migrar a partir do ADE / ADE Campus *Source: `help/pt/migration/from-ade.md` · id: migration.from-ade · Audience: admin · Updated: 2026-06-30* **ADE** (da editora Adesoft), frequentemente utilizado na sua versão web **ADE Campus**, é comum no ensino superior, em particular nas universidades e nas grandes escolas. O ADE é **centrado na atividade** (a «sessão de curso») e sincroniza-se com frequência com o sistema de informação da instituição (Apogée, Pegase, Aurion, UNIT4…). A passagem para o Omniscol diz respeito, antes de mais, à planificação; a sincronização com o seu sistema de informação fica por reconfigurar do lado do Omniscol. #### Âmbito O que é transposto: - **programas** (PGE, CPGE, BBA…) e os seus grupos (grupos utilitários, meias-turmas); - **intervenientes** (permanentes, não permanentes, colaboradores externos); - **atividades** (sessões de curso) com o seu tipo, a sua duração e o seu número de repetições; - **salas e equipamentos** (por edifício e por piso, com a sua capacidade); - **disponibilidades e indisponibilidades** dos recursos. O ADE e o Omniscol têm modelos globalmente compatíveis, mas as convenções de nomenclatura diferem. Preveja um mapeamento inicial. #### Correspondências | ADE (ADE Campus) | Omniscol | | --- | --- | | Programa (PGE, CPGE, BBA…) | Várias turmas (uma **promoção**/ano = uma turma) | | Grupo utilitário / meia-turma | Grupo; **divisão de turma** se duas meias-turmas seguirem aulas diferentes na mesma faixa horária | | Interveniente | Professor | | Atividade (sessão de curso) | Curso (e as suas aulas) | | Tipologia de atividade (aula teórica, aula prática, laboratório…) | Tipo de aula | | Modalidade (presencial, à distância…) | Modalidade (atributo Premium) | | Limite / inscritos | Efetivo teórico — sem limite distinto (o número de lugares vem da capacidade da sala) | | Sala / equipamento (edifício, piso, capacidade) | Sala (site, capacidade); apenas o equipamento **móvel** se torna um recurso | | Disponibilidade / indisponibilidade (escala de cores) | Disponibilidades (desejos): 4 níveis — impossível / indesejável / preferido / neutro | | Associação de atividades | Consoante a ligação: alinhamento, concatenação ou aulas associadas | | Código CURSUS / UNIT4 | Identificador externo (registo da sincronização com o SI) | #### Procedimento 1. **Obter os dados** a partir do ADE — programas, intervenientes, salas, atividades. O ADE apresenta os dados em **listas configuráveis** (vistas Listagem, escolha das colunas) que pode imprimir ou exportar para uma folha de cálculo através do menu **Impressão**. 2. **Preparar os ficheiros Omniscol** a partir dessas exportações (veja [Preparar seus dados para uma importação em massa](#page-getting-started.preparing-data)). 3. **Importar a partir de uma folha de cálculo** para um horário de teste (veja [Importação em massa dos cursos via folha de cálculo](#page-timetables.mass-import)). 4. **Reconstituir as ligações**: alinhamentos (as associações de atividades do lado do ADE), alternâncias, divisões de meias-turmas — o ADE e o Omniscol não usam exatamente as mesmas primitivas. 5. **Lançar uma geração automática de teste**. #### Pontos de atenção - **O ADE planifica em datas precisas**: a vista **Posicionamento** (semana, dia, início, fim) e a barra das semanas fazem do ADE uma ferramenta do tipo calendário. Para reproduzir este comportamento, utilize o modo calendário do Omniscol, incluído na oferta Premium (veja [Modo calendário](#page-timetables.calendar-mode)). - **Meias-turmas e grupos utilitários**: um programa divide-se frequentemente em grupos utilitários e em meias-turmas. Do lado do Omniscol, as meias-turmas correspondem a uma **divisão de turma** da turma; pense na granularidade dos grupos logo no arranque. - **Salas impostas ou «à escolha»**: no ADE, uma sala pode ser imposta a uma atividade ou deixada à escolha do algoritmo. Do lado do Omniscol, uma sala imposta é conservada tal e qual pelo algoritmo; para uma sala «à escolha», deixe a aula sem sala precisa — o algoritmo escolhe uma no site, respeitando a capacidade e a eventual **especialização** exigida (um conjunto de salas intercambiáveis modela-se através de uma especialização partilhada). Veja [Locais, salas, recursos](#page-core-concepts.sites-rooms-resources) e [Atribuição automática das salas](#page-timetables.auto-room-assignment). - **Disponibilidades graduadas**: o ADE gere disponibilidades em vários níveis (do verde ao vermelho, mais uma camada dinâmica). O Omniscol utiliza **disponibilidades (desejos)** com 4 níveis (impossível, indesejável, preferido, neutro) — retome sobretudo os extremos (impossível e preferido); os níveis intermédios trabalham-se a seguir. - **Responsável pedagógico**: o ADE associa um responsável pedagógico a cada atividade. O Omniscol não comporta esse papel ao nível do curso; conserve a informação através de uma convenção de nomenclatura ou de um memorando, se lhe for útil. - **Fluxos iCal**: o ADE publica frequentemente os horários em fluxos iCal. A importação do Omniscol não lê o iCal; uma exportação iCal terá primeiro de ser convertida numa tabela. - **Sincronização com o sistema de informação**: se o ADE estava sincronizado com o seu SI (Apogée, Pegase, Aurion, UNIT4…), terá de reconfigurar essa sincronização do lado do Omniscol — muitas vezes através da API ou da sincronização com sistemas externos. O campo **Código CURSUS / UNIT4** do ADE é o seu registo do lado da origem. Veja [Sincronização com sistemas externos](#page-integrations.extsync). #### Procedimento — Migração ADE → Omniscol (ensino superior) 1. **O ADE (Adesoft), frequentemente na versão ADE Campus**, é comum no ensino superior. A migração diz respeito, antes de mais, à planificação; a sincronização com o sistema de informação (Apogée, Pegase, Aurion, UNIT4) fica por reconfigurar do lado do Omniscol. 2. **Obtenção dos dados do ADE**: programas, intervenientes, salas, atividades (com tipo, duração, repetições, limite). O ADE apresenta estes dados em listas configuráveis (vistas Listagem) que se imprimem ou exportam através do menu **Impressão**. Um fluxo iCal terá primeiro de ser convertido numa tabela (a importação não lê o iCal). Se planificar em datas precisas, conserve também esse aspeto. 3. **Mapeamento inicial**: o ADE e o Omniscol têm modelos compatíveis mas convenções de nomenclatura diferentes. Prepare os ficheiros segundo o modelo Omniscol (veja [Preparar seus dados para uma importação em massa](#page-getting-started.preparing-data)). Pense na granularidade dos **grupos de alunos** (meias-turmas, grupos utilitários) logo no arranque — é o ponto delicado no ensino superior. 4. **Importação a partir de uma folha de cálculo** para um horário de teste: intervenientes, programas, disciplinas, salas, depois atividades (veja [Importação em massa dos cursos via folha de cálculo](#page-timetables.mass-import)). A folha de cálculo dos cursos não comporta coluna de identificador externo; para os futuros emparelhamentos com o seu sistema de informação, preveja antes a sincronização externa (veja [Sincronização com sistemas externos](#page-integrations.extsync)). 5. **Reconstituição das ligações**: alinhamentos multiprogramas (as **associações** de atividades do lado do ADE), alternâncias, divisões de meias-turmas. Retome também as salas deixadas «à escolha», deixando o algoritmo atribuí-las (através de uma especialização partilhada, se necessário). O ADE e o Omniscol não usam exatamente as mesmas primitivas — conte com uma passagem manual de acabamento. Se o ADE planificava em datas precisas, utilize o **modo calendário** do Omniscol (incluído no Premium) para preservar esse comportamento (veja [Modo calendário](#page-timetables.calendar-mode)). 6. **Geração automática de teste** no Omniscol para validar a viabilidade. Diagnóstico, correções, iteração. Quanto mais testar antes da mudança, menos corrige depois. 7. **Reconfiguração do sistema de informação**: se o ADE estava sincronizado com o Apogée, o Pegase, o Aurion ou o UNIT4, terá de reconfigurar essa sincronização do lado do Omniscol através da API (veja [API Omniscol](#page-integrations.api-tokens)) ou da sincronização com sistemas externos (veja [Sincronização com sistemas externos](#page-integrations.extsync)). Para o Aurion especificamente, veja [integrations.aurion](#page-integrations.aurion) — 3 modos possíveis. #### Ver também - [Visão geral](#page-migration.overview) - [API Omniscol](#page-integrations.api-tokens) - [Sincronização com sistemas externos](#page-integrations.extsync) - [Modo calendário](#page-timetables.calendar-mode) ### 12.6 Migrar a partir de uma planilha Excel caseira *Source: `help/pt/migration/from-spreadsheet.md` · id: migration.from-spreadsheet · Audience: admin · Updated: 2026-05-12* Muitos estabelecimentos — sobretudo as pequenas estruturas, as escolas privadas, as formações curtas — ainda gerenciam seu horário em uma planilha Excel caseira. Migrar para o Omniscol é, nesse caso, especialmente simples: nenhum formato proprietário a decodificar, apenas um pouco de disciplina para estruturar os dados. #### Antes de começar: fazer a triagem Uma planilha de horário costuma acumular várias «guias» de naturezas diferentes: a lista dos professores, a das turmas, a das disciplinas, a grade do horário, notas diversas. Antes da importação, esclareça: - a **lista dos professores** (uma guia limpa), - a **lista dos alunos** (uma guia limpa, se ela existir), - a **lista das turmas** e de seus efetivos, - a **lista das salas**, - os **cursos**: para cada linha, turma, disciplina, professor, sala, dia, hora, duração. Se a sua planilha não separa essas informações, faça-o agora — de qualquer forma isso é necessário para a importação. #### Formato de importação esperado A importação é feita por **copiar e colar** a partir da sua planilha (Excel, Google Sheets, Numbers, Calc…), em um modelo de colunas documentado. As colunas são reconhecidas pela sua **posição** (você reorganiza o modelo para que ele corresponda ao seu arquivo), não pelo nome do cabeçalho. Consulte [Preparar seus dados para uma importação em massa](#page-getting-started.preparing-data) para os detalhes (ordem das colunas, formatos de datas, códigos de disciplinas, etc.). Para os cursos, a [Importação em massa dos cursos via folha de cálculo](#page-timetables.mass-import) é a ferramenta dedicada: você **copia e cola** diretamente as linhas da sua planilha em uma área editável, com uma estrutura linha = curso. #### Procedimento 1. **Limpar** a planilha de origem: remover as colunas inúteis, harmonizar os rótulos (um professor não deve aparecer com três grafias diferentes). 2. **Preparar uma guia por tipo de entidade**: professores, alunos, turmas, salas, cursos — você colará cada guia por sua vez. 3. **Conta Omniscol de teste** para validar a importação sem risco. 4. **Importações sucessivas**, começando pelos referenciais (professores, salas, disciplinas) antes dos cursos que se referem a eles. 5. **Verificar o diagnóstico** do Omniscol para detectar o que não foi interpretado corretamente. 6. **Executar uma geração de teste** (mesmo que você mantenha o posicionamento manual da sua planilha) para validar a viabilidade. #### Vantagens da migração - **Uma única ferramenta** reúne a planilha, os PDFs de horário e as atualizações que circulavam por e-mail. - **Atualização em tempo real**: cada um vê a última versão assim que ela muda. - **Difusão automática**: iCal, painéis de exibição, portais de alunos e de professores. - **Diagnóstico**: o Omniscol detecta os conflitos que a sua planilha deixa passar. #### Manter a planilha somente para leitura como arquivo Não é preciso excluir a sua planilha histórica. Mantenha-a somente para leitura como arquivo (por exemplo, em uma pasta compartilhada) — ela pode servir se você quiser recuperar uma configuração antiga. O Omniscol torna-se então a fonte de verdade operacional; a planilha permanece um registro histórico. #### Procedimento — Migrar um horário Excel caseiro 1. **O caso mais simples**: um horário gerenciado em um Excel caseiro. Nenhum formato proprietário a decodificar, apenas disciplina para estruturar os dados antes da importação. 2. **Antes da importação — fazer a triagem** na planilha de origem. Se o seu arquivo mistura professores, turmas, salas, cursos na mesma guia, separe primeiro em guias temáticas: professores, alunos, turmas, salas, cursos. 3. **Limpe** cada guia: nenhuma coluna inútil, **harmonize os rótulos** (um professor não deve aparecer sob três grafias diferentes), remova as linhas mescladas. Uma linha = uma entidade. 4. **Conta de teste Omniscol**: crie uma conta de teste antes de tocar na produção. Você valida as importações sem risco. 5. **Importações sucessivas**, na ordem das dependências: **referenciais primeiro** (professores, salas, disciplinas), **cursos em seguida** (que se referem a eles). Utilize a [Importação em massa dos cursos via folha de cálculo](#page-timetables.mass-import) para os cursos — você cola nela suas linhas diretamente a partir da planilha. 6. **Diagnóstico**: o Omniscol detecta as inconsistências (cursos sem sala, professores desconhecidos, conflitos) que a sua planilha não vê. Corrija antes de mudar. 7. **Geração de teste** (opcional — se você quiser manter o posicionamento manual) para validar a viabilidade. **Mudança**: o seu antigo Excel permanece somente para leitura como arquivo; o Omniscol torna-se a fonte de verdade, com difusão automática (iCal, painéis, portais) e atualização em tempo real. #### Ver também - [Visão geral](#page-migration.overview) - [Preparar seus dados para uma importação em massa](#page-getting-started.preparing-data) - [Importação em massa dos cursos via folha de cálculo](#page-timetables.mass-import) --- ## 13. Particularidades do ensino superior ### 13.1 Especificidades do ensino superior — visão geral *Source: `help/pt/higher-ed/overview.md` · id: higher-ed.overview · Updated: 2026-06-13* O ensino superior, a formação contínua e os centros de formação têm restrições muito diferentes das do ensino básico e secundário. Esta secção reúne as páginas que cobrem essas especificidades. #### Características típicas - **Modo [calendário](#page-glossary.calendar-mode)** em vez de semanal — o ensino raramente é recorrente durante todo o ano; as aulas são antes marcadas uma a uma. - **Muitos intervenientes externos** — professores contratados, professores convidados, especialistas. Ver [Intervenientes externos](#page-higher-ed.external-faculty). - **Turmas paralelas** em vez de turmas únicas — um mestrado pode ter vários percursos que partilham alguns cursos, com especializações em comum mas projetos próprios. - **Coensino** frequente (pares de docentes, dupla especialidade). - **Exames em várias salas** (anfiteatros desdobrados). Ver [Exames em várias salas](#page-higher-ed.multi-room-exams). - **Ligações de videoconferência por curso** (cursos híbridos, ensino parcialmente a distância). Ver [Ligações de videoconferência por curso](#page-higher-ed.videoconference-links). - **Alunos em repetição ou fora do percurso** a gerir. #### Recomendações de configuração - **Conta [Premium](#page-overview.plans-and-options)** — inclui o modo calendário, as disponibilidades datadas, vários horários ativos e os **eventos pontuais** (defesas de dissertação, júris, dias abertos). A qualificação a distância / híbrida das aulas — a sua **[modalidade](#page-glossary.lesson-modality)** — também faz parte dela; a **ligação de videoconferência** por si só continua disponível em todas as contas. - **Modo calendário** para o horário ou horários principais, indispensável na maioria dos casos do ensino superior. - **Vários horários ativos em paralelo** se combinar cursos recorrentes e cursos pontuais, ou se a sua instituição abranger várias faculdades independentes, ou se se tratar de um grupo de escolas. - **Grupos de grupos** para os agrupamentos evolutivos. - **Registo das disponibilidades em modo calendário** — disponibilidades registadas data a data pelos intervenientes, consolidadas em tempo real. - **API + integrações** com o seu SIS ou ERP — muitas vezes [a sincronização com sistemas externos](#page-integrations.extsync) nas escolas de negócios e de engenharia. Sincroniza as entidades (professores, salas) e o catálogo da oferta, e comunica as aulas como intervenções ao sistema central, a fonte de verdade da instituição. #### Vocabulário Aquilo a que as instituições de ensino superior chamam **matriz curricular**, **plano de curso**, **programa** ou **syllabus** corresponde, do lado do Omniscol, ao **conjunto de [cursos](#page-glossary.course)** de uma turma ou de uma formação — sendo cada curso uma disciplina tipada, atribuída a uma turma, com o seu volume horário e as suas restrições. As suas **[aulas](#page-glossary.lesson)** são as ocorrências planeadas. Os restantes termos do ensino superior designam entidades Omniscol mais genéricas, documentadas no glossário: **aprendiz** e **participante** remetem para o [aluno](#page-glossary.student); **interveniente**, **professor contratado**, **professor efetivo** e **especialista** para o [professor](#page-glossary.teacher); **promoção**, **sessão** e **coorte** para a [turma](#page-glossary.class). #### Casos de uso do ensino superior - [FAQ — casos de uso no ensino superior](#page-faq.higher-ed-cases) - [FAQ — casos particulares e configurações avançadas](#page-faq.edge-cases) #### Ver também - [Modo calendário](#page-glossary.calendar-mode) - [Grupos de grupos](#page-core-concepts.groups-of-groups) - [Intervenientes externos](#page-higher-ed.external-faculty) - [Exames em várias salas](#page-higher-ed.multi-room-exams) - [Ligações de videoconferência por curso](#page-higher-ed.videoconference-links) ### 13.2 Sessões, promoções, programa, percursos *Source: `help/pt/higher-ed/sessions-and-tracks.md` · id: higher-ed.sessions-and-tracks · Updated: 2026-05-12* No ensino superior, a estrutura pedagógica é menos linear do que no ensino escolar. Um aluno pertence a uma **promoção** (a sua coorte temporal), mas também a **percursos** ou **programas** (a sua especialização) e a **grupos** de aulas práticas ou de laboratório. Por vezes segue várias coortes ao mesmo tempo (menor, duplo currículo). Esta página resume como o Omniscol modela estas situações. #### Promoção = turma Omniscol A **promoção** (familiarmente «a promo») corresponde à turma Omniscol no sentido administrativo, por exemplo *«L3 Informática 2026»* ou *«M2 Finanças 2025-2027»*. É a entidade que reúne a coorte de alunos que ingressou na mesma sessão. As turmas são designadas sem ambiguidade, com a data de ingresso para os grandes currículos: - `L1 SI 2026` — Licenciatura 1 em Ciências para a Engenharia, ingresso 2026, - `M1 Marketing 2026-2028` — Mestrado 1, dois anos. #### Percursos e especializações Um **percurso** é uma orientação pedagógica dentro de uma promoção ou transversal a várias: *«opção Data»*, *«menor em Empreendedorismo»*, *«duplo diploma XYZ»*. A modelação no Omniscol depende da complexidade: - **Percurso simples** dentro de uma promoção — um **grupo** dentro da turma (por exemplo `L3-Info 2026-Parcours Data`). - **Percurso transversal** a várias promoções — um **grupo de grupos** que reúne os grupos correspondentes de várias turmas. Ver [Grupos de grupos](#page-core-concepts.groups-of-groups). - **Duplo currículo** (alunos que seguem dois percursos completos) — caso particular em que um mesmo aluno recebe **duas atribuições de turma** ao longo do ano. É a exceção à regra geral segundo a qual duas turmas não partilham aprendizes. #### Sessões Uma **sessão** é um período de ensino definido: um semestre, um trimestre, um módulo intensivo de 2 semanas. O Omniscol gere as sessões através: - dos **intervalos de publicação** dos horários (um horário por sessão, publicado nas semanas correspondentes), - dos **anos letivos** (um ano letivo pode abranger várias sessões). Para as formações curtas ou não recorrentes (seminários, módulos de formação contínua), prefira o **modo calendário** (incluído no plano Premium) à grelha semanal clássica. Ver [Modo calendário](#page-higher-ed.calendar-mode). #### Alunos com percursos atípicos Casos frequentes no ensino superior: - **Repetentes** que validam certas unidades curriculares e outras não. - **Alunos em mobilidade** (Erasmus, intercâmbio) — atribuídos a uma turma de acolhimento com ajustes de percurso. - **Alunos em alternância** — alternam semanas de escola / semanas de empresa; ritmo modelado através das semanas alternadas ou de um horário calendário dedicado. #### Ver também - [Visão geral](#page-higher-ed.overview) - [Turma, grupo, subgrupo](#page-core-concepts.classes-and-groups) - [Grupos de grupos](#page-core-concepts.groups-of-groups) - [Modo calendário](#page-higher-ed.calendar-mode) ### 13.3 Intervenientes externos (professores contratados, visitantes) *Source: `help/pt/higher-ed/external-faculty.md` · id: higher-ed.external-faculty · Audience: admin · Updated: 2026-06-13* O ensino superior recorre largamente a **intervenientes externos**: professores contratados setoriais, profissionais que intervêm pontualmente, professores convidados de outras instituições (visitantes). A sua gestão é diferente da dos permanentes: poucas horas, um horário sofrido pela escola em vez de escolhido, por vezes contratação à hora. #### Marcar um interveniente como externo Na ficha de professor ([Gerir os professores](#page-admin.teachers)), o interruptor **Professor externo** (disponível com o plano Premium) permite distinguir os professores contratados dos permanentes. O marcador tem dois efeitos concretos: - um **ícone** [user-tie] antes do nome do interveniente nas listas e nas dicas de contexto das aulas, - uma **coluna dedicada** nas vistas em tabela e nas exportações de folha de cálculo, para isolar os professores contratados (por exemplo, para acompanhar as horas realizadas por permanentes vs externos). #### Introdução das disponibilidades A disponibilidade de um professor contratado é muitas vezes **calendária** em vez de semanal: aceita intervir na terça-feira 12 de março e na terça-feira 19 de março, mas não em todas as terças-feiras. Para este caso, a introdução das [disponibilidades em modo calendário](#page-timetables.calendar-wishes), incluída no plano Premium, é a solução natural. Sem o plano Premium, introduza **disponibilidades semanais** aproximadas (terça-feira à tarde) e depois bloqueie as aulas uma a uma manualmente. #### Carga horária e contratação Os professores contratados têm em geral um **volume de horas** definido no recrutamento (`30 horas ao longo do ano`, `um módulo de 15 horas`). O campo **Carga horária** na ficha permite registar o volume; o diagnóstico assinala se as horas planeadas o excederem. Para a contratação à hora (pagamento por aula em vez de por mês), a exportação das estatísticas por professor alimenta o processo de folha de pagamento / faturação externa. #### Comunicação Os professores contratados têm menos ligações à aplicação do que um permanente. Três casos de uso: - **Conta completa** — o professor contratado recebe as suas credenciais e consulta o seu horário, introduz as suas disponibilidades, declara as suas ausências a partir do portal do professor. - **Apenas ligação iCal** — sem conta, apenas uma ligação de subscrição iCal para sincronizar as suas aulas com a sua agenda pessoal. - **Lembrete por e-mail (fora da aplicação)** — o administrador avisa o professor contratado por e-mail antes das suas intervenções; o professor contratado nunca se liga. Este lembrete é manual: o Omniscol não envia notificação automática por aula. Um lembrete deste tipo desenvolve-se facilmente fora do Omniscol através da API de obtenção dos horários, filtrando pelos professores. Um tratamento semanal, por exemplo, constrói um resumo injetado num modelo próprio da escola e depois envia-o através do serviço de correio da instituição. Passar por este serviço preserva a reputação de remetente e limita os falsos positivos anti-spam. A calibrar consoante o perfil (um consultor sénior não tem tempo para gerir mais uma conta; um doutorando que ensina algumas horas adaptar-se-á facilmente). #### Procedimento — Integrar um professor contratado 1. **Um professor contratado que intervém 15 horas ao longo do ano**: marcação externa, disponibilidades calendárias, volume de horas, modo de comunicação adequado. 2. **Crie a ficha de professor** em **Professores**. Preencha o nome próprio, o apelido, o e-mail, e ative **Professor externo**. O marcador acrescenta o ícone [user-tie] antes do nome e uma coluna dedicada nas vistas em tabela e nas exportações. 3. **Volume de horas**: campo **Carga horária**, indique o volume contratual (`15`). O diagnóstico assinala se as horas planeadas o excederem. Prático para a folha de pagamento à hora e o acompanhamento do contrato. 4. **Disponibilidades**: numa conta Premium, o professor contratado introduz as suas disponibilidades **data a data** através das [disponibilidades em modo calendário](#page-timetables.calendar-wishes) — adequa-se perfeitamente a um horário sofrido. Caso contrário, **disponibilidades semanais aproximadas** + bloqueio das aulas uma a uma manualmente. 5. **Modo de comunicação** — escolha consoante o perfil: - **Conta completa** — para um doutorando que ensina algumas horas; credenciais, portal do professor, disponibilidades, ausências; - **Apenas ligação iCal** — para um consultor sénior demasiado ocupado para mais uma conta; apenas a subscrição da agenda; - **Lembrete por e-mail (fora da aplicação)** — o administrador avisa o professor contratado por e-mail, manualmente (o Omniscol não envia lembrete automático por aula); o professor contratado nunca se liga. 6. **Exportação de estatísticas** no fim do mês ou do semestre para a **folha de pagamento/faturação externa**: horas realizadas por aula, disciplina, turma. Ver [Imprimir e compartilhar](#page-schedules.print-and-export). A coluna Externo das exportações permite isolar os professores contratados. #### Ver também - [Gerir os professores](#page-admin.teachers) - [Disponibilidades no calendário](#page-timetables.calendar-wishes) - [Professor externo](#page-glossary.external-teacher) - [Visão geral](#page-higher-ed.overview) ### 13.4 Salas desdobradas e exames em várias salas *Source: `help/pt/higher-ed/multi-room-exams.md` · id: higher-ed.multi-room-exams · Audience: admin · Updated: 2026-06-13* No ensino superior, certas aulas ocupam **várias salas em simultâneo**. Uma prova parcial reúne um ano de 200 estudantes repartidos por 5 anfiteatros. Uma aula expositiva desdobrada decorre em 2 anfiteatros sincronizados por vídeo. Um júri mobiliza 3 salas em paralelo. O Omniscol gere estes casos através do conceito de **várias salas**. #### Várias salas: princípio Uma aula (ou um evento) pode ter **várias salas**. Todas essas salas ficam então ocupadas na faixa horária, e todas as restrições (capacidade, especialização, disponibilidade) são verificadas em paralelo. As várias salas estão disponíveis em **todos os modos de horário** (semanal, cíclico, calendário). Ver [Locais, salas, recursos](#page-core-concepts.sites-rooms-resources). > _Premium_ Os cenários de exame e de júri abaixo apoiam-se em **eventos pontuais** (aulas datadas colocadas por cima da grelha), disponíveis nas contas **Premium**. As **várias salas** numa aula regular continuam, por sua vez, disponíveis em todas as contas. #### Caso de uso típico: exame em várias salas Um ano `L1 Info 2026` (200 estudantes) faz uma prova parcial de algoritmia. Nenhum anfiteatro da escola tem 200 lugares, por isso o exame decorre em simultâneo em: - `Amphi A` (80 lugares), - `Amphi B` (70 lugares), - `Amphi C` (50 lugares). Modelação Omniscol: - criar um **evento exame** na data e no horário em causa (ver [Eventos pontuais](#page-schedules.events)), - em participantes: a turma `L1 Info 2026`, - em salas: `Amphi A`, `Amphi B`, `Amphi C` (várias salas), - em supervisão: 1 a 3 supervisores por sala através do módulo **Gestão de pessoal** (ver [Visão geral da Gestão de pessoal](#page-staffing.overview)). Verifique que a capacidade acumulada dos anfiteatros (80 + 70 + 50 = 200) cobre o efetivo. Para um exame modelado como **evento**, o Omniscol não calcula este acumulado automaticamente: o diagnóstico de capacidade incide apenas sobre as aulas regulares colocadas na grelha. #### Aula desdobrada por vídeo Uma aula expositiva muito procurada pode ser projetada por vídeo a partir de um anfiteatro principal para um anfiteatro de transbordo. Modelação: - uma única aula com duas salas, - o professor está fisicamente no anfiteatro principal, - a **ligação de videoconferência** da aula contém o URL de retransmissão para o anfiteatro secundário (uma nota pode especificar a organização). #### Júri de defesas Um júri que audita 10 doutorandos em paralelo em 3 salas (rotação por terços): - um evento por sessão de júri, - várias salas para cada sessão, - **Gestão de pessoal** para os membros do júri afetos a cada sala. #### Distribuição automática dos estudantes O Omniscol não atribui automaticamente que estudante vai para que anfiteatro. A distribuição continua a ser uma decisão da instituição (ordem alfabética, nível, tipo de prova, regras internas). É feita manualmente, ou através de uma exportação para folha de cálculo transmitida aos supervisores. #### Procedimento — Programar uma prova parcial em 3 anfiteatros 1. **O caso típico do ensino superior**: uma prova parcial de 200 estudantes em 3 anfiteatros em simultâneo. As várias salas, o evento e o módulo **Gestão de pessoal** bastam. 2. **Crie o evento exame**: no módulo **Horário**, apresente o filtro **Eventos** (modo de reorganização) e **clique e arraste** na agenda para traçar a faixa datada. Título: `Partiel algorithmique L1 Info`, depois datas e horas de início e de fim. Ver [Eventos pontuais](#page-schedules.events). 3. **Participantes**: adicione a turma `L1 Info 2026` (200 estudantes). Todos os estudantes em causa ficam automaticamente no evento, independentemente do anfiteatro onde farão a prova fisicamente. 4. **Salas — é aqui que entram as várias salas**: adicione os 3 anfiteatros (`Amphi A` 80, `Amphi B` 70, `Amphi C` 50). Os 3 anfiteatros ficam então ocupados em simultâneo na faixa horária. Verifique você mesmo que a capacidade acumulada (200) cobre o efetivo (200): num evento, este acumulado não é diagnosticado automaticamente. 5. **Supervisores**: abra o módulo **Gestão de pessoal** e crie as tarefas de supervisão para cada anfiteatro (1 a 3 supervisores por sala consoante a sua política). Ver [Visão geral da Gestão de pessoal](#page-staffing.overview). 6. **Distribuição dos estudantes pelos anfiteatros**: o Omniscol não o faz automaticamente. Esta escolha depende das suas regras internas (ordem alfabética, nível, equilíbrio). Exporte a lista dos estudantes em formato de folha de cálculo, faça a distribuição manualmente ou segundo as suas regras, e depois transmita-a aos supervisores. Ver [Imprimir e compartilhar](#page-schedules.print-and-export). #### Ver também - [Várias salas](#page-glossary.multi-room) - [Modalidade](#page-glossary.lesson-modality) - [Locais, salas, recursos](#page-core-concepts.sites-rooms-resources) - [Visão geral da Gestão de pessoal](#page-staffing.overview) - [Eventos pontuais](#page-schedules.events) ### 13.5 Coensino e rotação de intervenientes *Source: `help/pt/higher-ed/co-teaching.md` · id: higher-ed.co-teaching · Audience: admin · Updated: 2026-06-13* Duas situações comuns no ensino superior: - **coensino** — dois professores (ou mais) dinamizam em conjunto a mesma aula. Caso típico: um teórico + um prático num curso de estratégia, um professor efetivo + um professor externo especialista num caso de estudo. - **rotação de intervenientes** — um curso ao longo de um período (um módulo, um semestre) é assegurado à vez por vários professores que se revezam. Caso típico: um módulo setorial decomposto em aulas temáticas, cada uma confiada a um especialista diferente. Ambos os mecanismos são geridos nativamente pelo Omniscol. #### Coensino (docência partilhada) Uma aula pode ter **vários professores em simultâneo**. No módulo **Gestão de horários letivos**, o seletor de professor **Designar professores** aceita várias entradas numa mesma aula. Os horários individuais dos professores envolvidos apresentam a aula como partilhada. Consequências: - As **disponibilidades** de todos os professores em coensino devem ser compatíveis na faixa horária. - Do lado da **carga horária**, a aula aparece **por inteiro** no horário de cada professor em coensino. Se a sua política reparte a hora proporcionalmente entre os professores em coensino, esse cálculo é feito no momento da exportação (folha de pagamento, faturação). Ver [Aulas complexas](#page-core-concepts.complex-lessons) para o detalhe técnico dos cursos em coensino. #### Rotação de intervenientes num módulo Mais complexo: 12 aulas de um módulo, cada uma assegurada por um professor diferente. Duas abordagens: ##### Abordagem A — Uma disciplina, vários cursos Crie **um curso por interveniente** no módulo, cada um com o seu professor titular. A introdução é morosa, mas o resultado permanece claro do lado dos intervenientes: cada um vê as suas aulas no seu horário e o módulo aparece como uma disciplina com vários cursos. ##### Abordagem B — Modo calendário com datas precisas Se as aulas têm datas precisas conhecidas, utilize o [modo calendário](#page-timetables.calendar-mode), incluído no plano Premium: - uma disciplina `Module Stratégie d'entreprise`, - N aulas datadas com um interveniente por aula, - o algoritmo respeita as disponibilidades de cada interveniente. Esta abordagem é mais compacta e natural para os módulos intensivos. #### Nota para descrever o encadeamento Pode adicionar uma **nota** Comentário em cada aula explicando o lugar da aula no módulo (`Séance 3 / 12 — Stratégie financière`). A nota aparece nos horários e ajuda os estudantes a orientarem-se. #### Procedimento — Módulo com 12 intervenientes em rotação 1. **O caso do módulo setorial**: 12 aulas, cada uma confiada a um especialista diferente. Combinam-se aqui dois mecanismos: a **abordagem calendário** para datar as aulas que se revezam, e o **coensino** apenas nas aulas asseguradas em dupla. 2. **Para esta variante com datas precisas**: horário em **modo calendário**. Todos os intervenientes externos são marcados como **Externo** nas suas fichas de professor. Ver [Intervenientes externos](#page-higher-ed.external-faculty). 3. **Crie a disciplina única** `Module Stratégie d'entreprise`. É o invólucro pedagógico do módulo. **Tipo de aula** adequado: muitas vezes uma mistura de aulas expositivas + estudos de caso. 4. **Introduza as 12 aulas** em datas precisas, cada uma com **o seu interveniente**. Título da aula + o seu tema (`Séance 3/12 — Stratégie financière`) na nota para ajudar os estudantes a orientarem-se na progressão. 5. **Para as aulas em dupla** (teórico + prático num caso), utilize o **coensino**: na aula em causa, selecione **vários intervenientes** em **Designar professores**. Os horários individuais dos professores envolvidos apresentam a aula como partilhada. 6. **Carga horária**: a aula aparece **por inteiro** no horário de cada professor em coensino. Uma repartição proporcional entre os professores em coensino é tratada no momento da exportação (folha de pagamento, faturação), não no Omniscol. 7. **Verificação**: abra o portal do estudante para verificar a apresentação do módulo — as 12 aulas aparecem no horário com os respetivos intervenientes. As notas de progressão (`Séance N/12`) ficam visíveis ao passar o cursor. #### Ver também - [Coensino](#page-glossary.co-teaching) - [Aulas complexas](#page-core-concepts.complex-lessons) - [Intervenientes externos](#page-higher-ed.external-faculty) - [Modo calendário](#page-timetables.calendar-mode) ### 13.6 Modo calendário para formações não recorrentes *Source: `help/pt/higher-ed/calendar-mode.md` · id: higher-ed.calendar-mode · Audience: admin · Plan: premium · Updated: 2026-06-13* > **Premium** > _Premium_ O ensino superior nem sempre segue uma **recorrência semanal**: módulos intensivos ao longo de 2 semanas, seminários de 3 dias, sessões de defesa repartidas por um mês, ateliês pontuais dinamizados por intervenientes externos. Para estes casos, o **modo calendário** do Omniscol é mais natural do que uma grelha semanal repleta de exceções. #### Quando preferir o modo calendário Indicadores: - as aulas têm **datas precisas** em vez de uma faixa horária semanal repetida, - os **intervenientes variam** de uma aula para a seguinte, - os **locais variam** (saída de campo, visita a uma empresa, videoconferência), - o **ritmo** não é semanal (ora 3 aulas em 2 dias, ora nada durante 3 semanas). Se descrever o módulo com um calendário em vez de uma grelha semanal, o modo calendário é feito para si. #### Casos de uso típicos no ensino superior - **Módulos intensivos** — um seminário de 3 dias inteiros ou um intensivo ao longo de 2 semanas. - **Formação contínua** — sessões pontuais não renováveis numa grelha anual. - **Seminários de investigação** — aulas pontuais com convidados diferentes a cada semana. - **Defesas e júris** — repartidos por algumas semanas, datas precisas, salas precisas. - **Trabalho de campo / projetos** — fases curtas, locais variáveis. #### Modelação Define **uma lista ordenada de aulas datadas**, sem passar por uma grelha semanal: - **data e hora** precisas, - **duração** (livre), - **local**, - **interveniente** (pode variar de uma aula para a seguinte), - **público**: turma(s), grupo(s), grupos de grupos. O modo calendário consome a mesma estrutura de turmas / grupos que o modo semanal — não perde nenhuma ferramenta de organização. A [geração automática](#page-timetables.generation) funciona também em modo calendário: o algoritmo de geração coloca as aulas numa janela de datas alvo e pode compactar os dias de aulas no início ou no fim do período. Ver [Modo calendário](#page-timetables.calendar-mode). #### Combinação com um horário semanal Pode ter **um horário semanal** para o tronco comum recorrente da manhã e **um horário calendário** para as aulas pontuais da tarde, ambos publicados em paralelo para as mesmas turmas; ou os primeiros anos em modo semanal, e as turmas de especialização do último ano em modo calendário (ver [Vários horários ativos em paralelo](#page-timetables.multiple-active-timetables)). #### Disponibilidades dos intervenientes em modo calendário A introdução das [disponibilidades em modo calendário](#page-timetables.calendar-wishes) é particularmente útil aqui: os professores contratados introduzem a sua disponibilidade nas datas exatas, não num ritmo semanal. #### Ver também - [Modo calendário — vista de produto](#page-timetables.calendar-mode) - [Escolher o tipo de horário certo](#page-overview.timetable-modes) - [Intervenientes externos](#page-higher-ed.external-faculty) - [Vários horários ativos em paralelo](#page-timetables.multiple-active-timetables) - [Disponibilidades em modo calendário](#page-timetables.calendar-wishes) ### 13.7 Ligações de videoconferência por curso *Source: `help/pt/higher-ed/videoconference-links.md` · id: higher-ed.videoconference-links · Audience: admin · Plan: premium · Updated: 2026-06-13* > **Premium** > _Premium_ No ensino superior, muitos cursos são **a distância** ou **híbridos** (alguns alunos em presença, outros ligados). Cada aula tem então uma **ligação de videoconferência** (Zoom, Teams, Google Meet, Jitsi) que deve aparecer no horário para que todos saibam onde clicar. #### Como associar uma ligação Numa aula de curso ou num evento, o campo Ligação de videoconferência aceita um URL. Para uma aula, preenche-se na janela de seleção da sala. Uma vez preenchido, o horário apresenta a ligação com um ícone [video]; a ligação abre-se num novo separador. A ligação aparece: - no portal do aluno e do professor sobre a aula, - na exportação iCal através das propriedades de conferência ou de URL quando a ligação está presente, - na API JSON. #### Cursos a distância ou híbridos O campo **[Modalidade](#page-glossary.lesson-modality)** da aula qualifica o seu formato: **Presencial**, **A distância**, **Híbrido** ou **Estudo autónomo**. Preenche-se na mesma janela que a sala e a ligação de videoconferência. Para um curso **integralmente a distância**, escolha a modalidade **A distância**, preencha a ligação de videoconferência e não force uma sala física se o curso não a mobilizar. Para um curso **híbrido** (presencial + videoconferência em paralelo), escolha **Híbrido**, mantenha a sala física e preencha também a ligação. #### Ligações permanentes vs ligações por aula Consoante a sua ferramenta de videoconferência: - **Ligação permanente** — Zoom pessoal, reunião Teams recorrente. A mesma ligação serve para todas as aulas de um curso. Introduza-a uma só vez no curso (todas as suas aulas a herdam), ou diretamente na turma para aplicar uma ligação predefinida a todas as suas aulas. - **Ligação por aula** — cada aula tem o seu próprio URL, introduzido na aula (na mesma janela que a sala). Reserve este caso para as aulas cuja ligação muda de cada vez (reunião Zoom gerada na hora, por exemplo). #### Segurança Algumas boas práticas: - **Sem ligação pública em cursos sensíveis** — para um curso privado / exame com vigilância, configure a sala de videoconferência em acesso autenticado (e não por ligação direta). - **Ligação no iCal** — o iCal pode ser consultado por qualquer pessoa que tenha a ligação de partilha. Uma ligação de videoconferência colocada na aula difunde-se, portanto, através do iCal — verifique se é mesmo isso que pretende. - **Renovação** — se uma ligação permanente for comprometida, renove-a do lado do Zoom / Teams e propague a atualização no Omniscol (o curso ou a turma, não cada aula). #### Ver também - [Modalidade](#page-glossary.lesson-modality) - [Tipos de aula](#page-admin.lesson-types) - [iCal — assinatura e link dinâmico](#page-integrations.ical) - [FAQ — casos de uso no ensino superior](#page-faq.higher-ed-cases) ### 13.8 Vários sites no ensino superior *Source: `help/pt/higher-ed/multi-site.md` · id: higher-ed.multi-site · Audience: admin · Updated: 2026-06-13* Os vários sites são uma capacidade **disponível a partir do plano Standard** (desativada apenas no Lite); os princípios gerais estão descritos em [Sites, salas, recursos, várias salas](#page-core-concepts.sites-rooms-resources). Esta página lista as **especificidades frequentes no ensino superior**, onde os vários sites são quase a norma: escolas de engenharia em vários campus, business schools regionais, universidades com vários sites. Atenção, no Omniscol, o [campus](#page-glossary.campus) é uma noção organizacional distinta do [site](#page-glossary.site). Os dois sobrepõem-se frequentemente (um campus por site, com as suas turmas dedicadas). Quando é preciso gerir uma grelha horária, salas ou tempos de deslocação, modele o local como um site. > Estes casos aplicam-se também no ensino básico e secundário quando a instituição está > geograficamente distribuída (escola básica + secundária separadas, escola com > anexo de pré-escolar, etc.). #### Caso típico: um site principal + delegações regionais Caso frequente numa escola de engenharia ou de comércio: - 1 **site principal** (tipicamente a sede), - 1 a N **delegações regionais** onde anos descentralizados seguem uma parte do currículo, - **intervenientes** que fazem a ligação entre os sites. Modelação Omniscol: um site por local, tempos de deslocação declarados por par (os comboios rápidos / voos / deslocações de carro entre os sites). Ver [Política de vários sites](#page-core-concepts.sites-rooms-resources) para a mecânica exata (restrições bloqueantes ao minuto, pausa de almoço reduzida pelo tempo de deslocação, etc.). #### Horário separado por site ou horário global Duas filosofias consoante a organização interna: - **Horário global consolidado** — um único horário cobre todos os sites. Adequado quando as equipas de planeamento estão centralizadas e os intervenientes circulam muito. O diagnóstico cruza tudo numa única passagem. - **Um horário por site** — graças aos [vários horários ativos em paralelo](#page-timetables.multiple-active-timetables), incluídos no plano Premium. Cada site tem a sua equipa local, o seu próprio horário ativo nas mesmas semanas; na consulta, as vistas são fundidas dinamicamente para os estudantes ou intervenientes que passam por vários sites. #### Sites virtuais e aulas à distância Caso particular: uma aula **retransmitida por vídeo** de um site principal para um ano inteiramente à distância. Modelação possível: - criar um **site virtual** «À distância» sem tempo de deslocação em relação ao site de retransmissão, o que elimina qualquer restrição temporal de deslocação, - aí colocar uma sala «Vídeo» por coorte à distância, - associar essa sala à aula em várias salas com o anfiteatro de origem. > Esta modelação permanece limitada se tiver **muitas > coortes à distância**: multiplicar as salas virtuais > «Vídeo» torna-se pesado de manter e a gestão da sua capacidade > não faz verdadeiramente sentido. Nesse caso, documente a necessidade como > específica e privilegie a ligação de videoconferência diretamente na > aula (ou, em Premium, por defeito na turma), sem criar uma sala > virtual por coorte. Ver [Exames em várias salas](#page-higher-ed.multi-room-exams) para a mecânica das várias salas, e [Ligações de videoconferência por curso](#page-higher-ed.videoconference-links) para as ligações Zoom / Teams / Meet associadas. #### Filtros e estatísticas por site Os ecrãs do Omniscol expõem filtros **por site**, para isolar um local físico. Útil para: - apresentar o horário de um local preciso, - gerir a ocupação de salas de uma delegação separadamente, - gerar estatísticas por site (horas lecionadas, taxa de ocupação). #### Painéis de exibição por site Um [painel de display](#page-panels.lobby-panel) pode filtrar por um site preciso, o que corresponde geralmente a um painel instalado **no hall** de um site. Ver [Configurar um painel para um hall ou um corredor](#page-panels.lobby-panel). #### Ver também - [Locais, salas, recursos](#page-core-concepts.sites-rooms-resources) - [Site](#page-glossary.site) - [Vários horários ativos em paralelo](#page-timetables.multiple-active-timetables) - [Exames em várias salas](#page-higher-ed.multi-room-exams) - [Ligações de videoconferência por curso](#page-higher-ed.videoconference-links) - [Modalidade](#page-glossary.lesson-modality) - [Configurar um painel de exibição](#page-panels.lobby-panel) - [Vista geral do ensino superior](#page-higher-ed.overview) --- ## 14. Particularidades do primário / secundário (escolar) ### 14.1 Especificidades do primário / secundário — visão geral *Source: `help/pt/k12/overview.md` · id: k12.overview · Updated: 2026-06-13* Esta secção reúne as páginas que cobrem as especificidades do primário e do secundário (escola primária, ensino básico, ensino secundário). #### Características típicas - **Horário [semanal](#page-glossary.weekly-timetable)** — a semana tipo recorrente é a norma, com ou sem [semanas alternadas](#page-glossary.alternate-lessons) (A/B). - **Salas dedicadas por turma** — muitas escolas funcionam com uma sala associada a cada turma; são os professores que se deslocam. - **Meias-turmas / grupos de opção** — geridos através de [divisões de turma](#page-core-concepts.class-divisions) dentro de uma mesma turma. - **Latinistas / helenistas / especialidades do secundário** — geridos através de [alinhamentos](#page-core-concepts.alignments) entre turmas. - **Geração automática** — o algoritmo de geração funciona, e é o cerne do valor no ensino escolar. - **Estudos** — faixas horárias em que os alunos estão na escola sem aula atribuída. Ver [Estudos e estudos dirigidos](#page-k12.study-halls). - **Turmas multisseriadas** — típicas das pequenas escolas rurais. Ver [Turmas multisseriadas](#page-k12.multi-grade-classes). #### Recomendações de configuração - **Conta padrão** é suficiente para a maioria dos casos (o nível Premium não é necessário no ensino escolar padrão). - **Modo semanal** por defeito. - **Ativar a introdução das disponibilidades dos professores** no modo semanal; a introdução pode ser feita ou revista pela administração. - **Uma sala dedicada por turma** quando aplicável — introduzida na turma. - **Cuidado com os níveis** no módulo **Administração**, via **Criar** (1.º ano, 2.º ano, …, 7.º ano, 8.º ano, …, 10.º ano, 11.º ano, 12.º ano, etc.). - **Férias oficiais do país** — na criação do ano letivo, o Omniscol propõe importar as férias comuns do país. Ver [Ano letivo e férias](#page-admin.school-year). #### Casos de uso escolares A base histórica do Omniscol é o secundário (ensino básico e secundário): muitas convenções por defeito vêm daí. Os cenários passo a passo aplicáveis ao ensino escolar estão reunidos nos [cenários de casos de uso](#page-use-cases.overview) e na [FAQ de criação de horários](#page-faq.timetables). #### Ver também - [O que é o Omniscol](#page-overview.what-is-omniscol) - [Escolher o tipo de horário certo](#page-overview.timetable-modes) - [Meias-turmas e opções em divisão de turma](#page-k12.half-classes-and-options) - [Estudos e estudos dirigidos](#page-k12.study-halls) - [Turmas multisseriadas](#page-k12.multi-grade-classes) ### 14.2 Meias-turmas e opções em divisão de turma *Source: `help/pt/k12/half-classes-and-options.md` · id: k12.half-classes-and-options · Audience: admin · Updated: 2026-06-13* No ensino escolar, a gestão de uma turma complica-se rapidamente com as **meias-turmas** (trabalhos práticos / laboratório com efetivo reduzido) e as **opções** que repartem os alunos de uma mesma turma em vários subgrupos simultâneos. O conceito Omniscol que estrutura isso é a **divisão de turma**: subgrupos que devem ter aula ao mesmo tempo, mas com conteúdos diferentes. #### Meias-turmas para trabalhos práticos Caso típico nos primeiros anos do secundário: 28 alunos em turma inteira na maior parte do tempo, divididos em 2 grupos de 14 para os trabalhos práticos de ciências. Os dois meios-grupos devem ter os trabalhos práticos ao mesmo tempo (caso contrário, não poderiam ter outra aula em paralelo), cada um com o seu professor e a sua sala. Modelagem no Omniscol: - criar dois **grupos** `6A-TP1` e `6A-TP2` na turma `6A`, - declará-los em **divisão de turma**: o Omniscol garante que estão ocupados simultaneamente, - criar **duas aulas de trabalhos práticos de ciências**, cada uma com o seu grupo, o seu professor e a sua sala, na mesma faixa horária semanal. O algoritmo respeita a divisão de turma: é impossível que `6A-TP1` tenha ciências enquanto `6A-TP2` está em francês. #### Opções em divisão de turma Caso típico nos últimos anos do secundário inferior: numa mesma faixa horária, alguns alunos fazem Latim, outros Alemão reforçado, outros não fazem nada (estudo). Três grupos simultâneos dentro de uma mesma turma. Modelagem: - grupos `8A-Latim`, `8A-Francês`, `8A-Estudo` na turma `8A`, - declarados em **divisão de turma** (os três são simultâneos), - uma aula por grupo na mesma faixa horária, com professor / sala próprios. #### Alunos que mudam de opção durante o ano Uma opção pode evoluir durante o ano (um aluno abandona o latim para juntar-se ao estudo, por exemplo). A atribuição aos grupos gere-se **semana a semana** na ficha do aluno: as semanas já decorridas conservam a atribuição anterior, as semanas seguintes assumem a nova. #### Divisão de turma + alinhamento Para as línguas que se fazem em **várias turmas** (por exemplo latim aberto às 4A, 4B, 4C), combine: - uma **divisão de turma** por turma (`8A-Latim` / `8A-Outra-opção`, `8B-Latim` / `8B-Outra-opção`, etc.), - um **alinhamento** entre os três grupos de Latim para que fiquem na mesma faixa horária, na mesma sala, com o mesmo professor. Ver [Alinhamentos de grupos](#page-core-concepts.alignments). #### Procedimento — Criar uma faixa horária de Latim/Francês/Estudo para uma turma 1. **O caso típico do fim do secundário inferior**: numa mesma faixa horária, alguns fazem Latim, outros Alemão, outros nada (estudo). Três grupos simultâneos. A divisão de turma Omniscol gere isso sem dificuldade. 2. **Crie três grupos** na turma `8A`: `8A-Latim`, `8A-Francês`, `8A-Estudo`. Atribua cada aluno ao seu grupo conforme a sua escolha de opção. 3. **Declare a divisão de turma** `(8A-Latim, 8A-Francês, 8A-Estudo)`: os três grupos são **exclusivos e simultâneos**. O Omniscol garantirá que estão ocupados na mesma faixa horária. 4. **Crie três aulas** na mesma faixa horária semanal: - Latim para `8A-Latim` com professor de Latim e sala adequada; - Francês para `8A-Francês` com professor de Francês; - estudo para `8A-Estudo` com um vigilante (ou deixar sem professor conforme a sua política). O algoritmo de geração respeita a divisão de turma: os três terão obrigatoriamente a mesma faixa horária. 5. **Para as opções abertas a várias turmas** (Latim nas 8A + 8B + 8C com um único professor e uma única sala): combine **divisão de turma por turma** (`8A-Latim` exclusivo dos outros grupos 8A, o mesmo para 8B, 8C) **+ alinhamento** entre os três grupos de Latim. Ver [Alinhamentos de grupos](#page-core-concepts.alignments). 6. **Mudanças durante o ano** (um aluno abandona o latim para juntar-se ao estudo): modifique a sua pertença de grupo na sua ficha de aluno, a partir da semana da mudança. As semanas passadas conservam a atribuição anterior. #### Ver também - [Divisões de turma](#page-core-concepts.class-divisions) - [Turma, grupo, subgrupo](#page-core-concepts.classes-and-groups) - [Alinhamentos de grupos](#page-core-concepts.alignments) - [Turmas multisseriadas](#page-k12.multi-grade-classes) ### 14.3 Estudos e estudos dirigidos (escolar) *Source: `help/pt/k12/study-halls.md` · id: k12.study-halls · Audience: admin/staff · Updated: 2026-06-13* Os **estudos** (ou **estudos dirigidos**) são faixas horárias durante as quais os alunos sem aula são acolhidos numa sala de estudo sob vigilância. É uma instituição típica do ensino básico e secundário francês: os alunos cuja opção não decorre nessa faixa, os que estão dispensados de educação física, os que têm o professor ausente. #### Por que não apenas uma aula clássica? Um estudo não se gere exatamente como uma aula: - **sem disciplina** no sentido clássico, - **público variável** de uma faixa horária para outra (quem não tem aula), - **vigilância em vez de ensino** — o encarregado não ensina, vigia, - **forte exigência de equidade**: a carga de vigilância deve ser repartida entre os professores (e o pessoal de vida escolar / vigilantes) segundo uma regra de equidade. É por isso que o Omniscol propõe a **Gestão de pessoal** dedicada a este tipo de gestão. Ver [Visão geral da Gestão de pessoal](#page-staffing.overview). Este módulo é uma **opção** da conta: sem ele, modele os estudos com um **grupo de estudo** (secção abaixo); a grelha de vigilância, essa, pertence ao módulo. #### Modelagem com a **Gestão de pessoal** Os estudos traduzem-se em grelhas de serviço: - uma **grelha semanal** das faixas horárias em que os alunos podem estar em estudo, - para cada faixa horária, um ou mais **postos** de vigilância (conforme o número de alunos previstos e o rácio vigilante / alunos pretendido), - **atribuição** dos vigilantes (assistentes de educação, ou professores com o papel **Pessoal**) a cada posto. Ver [Construir uma grade de serviço](#page-staffing.building-grids) e [Atribuir o pessoal](#page-staffing.planner). #### Ligação com os horários dos alunos Quando um aluno não tem aula numa faixa horária (a sua turma está em opção ou metade da turma está em trabalhos práticos), o seu horário individual mostra simplesmente uma **faixa horária livre**: o Omniscol não exibe automaticamente uma aula «Estudo». Para fazer aparecer o estudo no horário dos alunos em causa, crie uma **aula de estudo** para o grupo que não tem aula na faixa horária, com a sala de estudo — é o esquema do grupo `4A-Étude` descrito em [Meias-turmas e opções em divisão de turma](#page-k12.half-classes-and-options). A cobertura da vigilância, essa, gere-se do lado da **Gestão de pessoal** — ver [Visão geral da Gestão de pessoal](#page-staffing.overview). #### Estudos dirigidos vs estudos livres Distinção útil: - **Estudo dirigido** — um encarregado está presente, os alunos trabalham em silêncio. Caso clássico da **Gestão de pessoal**. - **Estudo livre** (sala de convívio, espaço de trabalho autónomo) — sem encarregado dedicado, apenas um lugar onde os alunos podem esperar. Não é preciso a **Gestão de pessoal**: modele-o como uma sala dedicada; uma **especialização de sala** pode, se necessário, impedir que as aulas ordinárias sejam colocadas ali (sem por isso reservar a sala para o próprio estudo, que não tem disciplina). Ver [Especializações de salas de aula](#page-core-concepts.classroom-specializations). #### Ver também - [Visão geral da Gestão de pessoal](#page-staffing.overview) - [Construir uma grade de serviço](#page-staffing.building-grids) - [Atribuir o pessoal](#page-staffing.planner) - [Meias-turmas e opções em divisão de turma](#page-k12.half-classes-and-options) ### 14.4 Turmas multisseriadas *Source: `help/pt/k12/multi-grade-classes.md` · id: k12.multi-grade-classes · Audience: admin · Updated: 2026-06-13* As **turmas multisseriadas** reúnem alunos de vários níveis na mesma sala, sob a responsabilidade de um mesmo professor. É a realidade das **pequenas escolas rurais** no primário, por vezes das **escolas especializadas** ou das **escolas internacionais** com efetivo reduzido. #### Por que o Omniscol gere estes casos O modelo Omniscol — que separa turma (administrativa) e grupos (subconjuntos pedagógicos) — cobre nativamente as turmas multisseriadas. A mesma turma administrativa `2.º-3.º ano` pode conter dois grupos `2.º ano` e `3.º ano`, por vezes com aula comum, por vezes com aulas separadas por nível. #### Modelagem Duas abordagens conforme a natureza das aulas ministradas: ##### Abordagem A — uma turma administrativa, dois grupos pedagógicos - Turma administrativa: `2.º-3.º ano` (para a gestão dos alunos, a lista dos pais, a sala). - Grupos pedagógicos: `2.º ano` e `3.º ano`. - As **aulas comuns** (música, educação física, vida de turma) são atribuídas à turma inteira `2.º-3.º ano`. - As **aulas separadas** (leitura / matemática ao nível de cada grupo) usam os grupos `2.º ano` e `3.º ano`, declarados em **divisão de turma** para que decorram simultaneamente (o professor único ensina a um enquanto o outro trabalha de forma autónoma). ##### Abordagem B — duas turmas administrativas, professor único - Turmas administrativas separadas: `2.º ano` e `3.º ano`. - O professor único é atribuído às aulas das duas turmas. - Como um professor não pode ministrar duas aulas ao mesmo tempo, o Omniscol assinala um conflito se as suas aulas de 2.º ano e 3.º ano forem colocadas na mesma faixa horária. A abordagem B é mais rara porque complica a gestão administrativa (duas turmas distintas para o que é, na prática, um mesmo grupo de alunos) e não oferece um mecanismo tão direto quanto a divisão de turma para organizar a alternância entre níveis. #### Três níveis e mais O mecanismo estende-se a três níveis ou mais (caso das muito pequenas escolas: do 1.º ao 5.º ano na mesma sala). O Omniscol não impõe limite numérico — a complexidade vem da organização pedagógica, não da modelagem. #### Estudos e trabalho autónomo Quando o professor único está com um nível, o outro nível trabalha de forma autónoma na mesma sala. Não é preciso modelar isso como um estudo — é intrínseco ao funcionamento da turma multisseriada e não constitui uma tarefa de vigilância distinta. #### Procedimento — Modelar uma turma mista do 2.º/3.º ano 1. **O caso típico da escola rural**: uma turma `2.º-3.º ano` com um professor único que alterna entre os dois níveis. Abordagem A (recomendada): uma turma administrativa, dois grupos pedagógicos. 2. **Crie a turma administrativa** `2.º-3.º ano` em **Turmas**. É ela que contém a lista dos alunos, os pais, a sala, as comunicações. Nível: atribua o nível mais representativo ou crie um nível dedicado `Multisseriado primário`. 3. **Crie os dois grupos pedagógicos** `2.º ano` e `3.º ano` dentro da turma. Atribua os alunos ao seu grupo respetivo. Os dois grupos juntos = a turma inteira. 4. **Declare os grupos em divisão de turma** `(2.º ano, 3.º ano)`: a divisão **autoriza** a sua colocação **simultânea** (levanta o conflito que de outro modo a proibiria) e o algoritmo de geração **procura** colocar as aulas do 2.º ano e do 3.º ano nas mesmas faixas horárias. A sala e o professor permanecem atribuídos aula a aula. Ver [Divisões de turma](#page-core-concepts.class-divisions). 5. **Aulas comuns** (música, educação física, vida de turma): atribua-as à turma inteira `2.º-3.º ano`. Todos os alunos as frequentam juntos. 6. **Aulas separadas por nível** (leitura, matemática): crie uma aula por grupo `2.º ano` e `3.º ano`, na mesma faixa horária (a divisão de turma obriga). Atribua o professor à aula que ele ministra e deixe a outra aula sem professor (trabalho autónomo): um mesmo professor atribuído a duas aulas simultâneas desencadearia um conflito. Não é preciso modelar um estudo, a autonomia é intrínseca ao funcionamento multisseriado. 7. **Para as muito pequenas escolas** (do 1.º ao 5.º ano na mesma sala), o mecanismo estende-se sem limite. Você cria tantos grupos quantos níveis, declarados em divisão de turma. A complexidade vem da organização pedagógica, não da modelagem Omniscol. #### Ver também - [Turma, grupo, subgrupo](#page-core-concepts.classes-and-groups) - [Divisões de turma](#page-core-concepts.class-divisions) - [Meias-turmas e opções em divisão de turma](#page-k12.half-classes-and-options) --- ## 15. Cenários de casos de uso ### 15.1 Cenários de casos de uso — visão geral *Source: `help/pt/use-cases/overview.md` · id: use-cases.overview · Updated: 2026-06-13* Esta secção responde a um pedido recorrente das grandes instituições: dispor de uma **lista de cenários operacionais** em formato *user story*, com uma explicação concreta de "como se faz no Omniscol". Cada cenário disponível remete para uma página de referência ou para uma visita guiada existente; os cenários ainda em estudo são acompanhados separadamente e não figuram nesta lista. Os cenários provêm de retornos reais de clientes e potenciais clientes (escolas de negócios, escolas de engenharia, universidades, formação contínua), anonimizados e formulados de forma genérica. #### Formato Cada cenário segue o formato Agile clássico: > **Enquanto** *(papel de utilizador)* > **pretendo** *(ação)* > **para** *(objetivo de negócio)* Seguido de uma **solução Omniscol**: texto curto, ligação para a página de referência detalhada, e visita interativa apenas quando já existe uma visita guiada fiável. #### Estados Cada cenário tem um estado de implementação: | Estado | Significado | | --- | --- | | ✓ **Disponível** | Funcionalidade em produção, testada e validada. | | ◐ **Parcial** | Cobertura incompleta; existe uma solução alternativa ou a funcionalidade aplica-se apenas a certos modos. | | △ **Roadmap** | Não disponível na interface atual; necessidade identificada ou plano de produto separado. | | — **Fora do âmbito** | Assegurado por outra ferramenta do ecossistema, ou fora do âmbito funcional do Omniscol. | #### Índice temático - [Criação e geração de horários](#page-use-cases.creation-and-generation) - [Posicionamento e modificação no dia a dia](#page-use-cases.placement-and-modification) - [Multigrupo, multissala, multi-interveniente](#page-use-cases.multi-entities) - [Operações em massa](#page-use-cases.mass-operations) - [Exames e eventos](#page-use-cases.exams-and-events) - [Ausências e substituições (cenários)](#page-use-cases.absences-and-substitutions) - [Relatórios e estatísticas](#page-use-cases.reporting-and-stats) - [Divulgação e partilha](#page-use-cases.diffusion-and-sharing) #### Visitas e vídeos Quando um cenário contém uma visita guiada validada, o mesmo conteúdo pode alimentar várias superfícies: - um **popover no painel de ajuda** (modo interativo, o utilizador clica passo a passo), - uma **legenda incrustada no vídeo** (modo passivo, leitura linear), - um **ficheiro WebVTT** associado, se for produzido um vídeo. As legendas estão sincronizadas com o encadeamento dos passos: uma única fonte produz os três formatos. Um cenário sem passos verificados permanece uma simples página de referência, sem visita guiada nem vídeo associado. #### Como ler um cenário Uma página de cenário típica contém: ```markdown ## Nome curto do cenário > **Enquanto** **, **pretendo** **, **para** > **. **Estado**: ✓ Disponível **Solução no Omniscol.** Texto explicativo, curto, operacional. [Ligação para a página de referência detalhada](id:timetables.publication) `` ``` Os cenários com estado ✓ ou ◐ são **utilizáveis hoje**. Os cenários com estado △ Roadmap são acompanhados separadamente e não estão listados aqui. #### Ver também - [FAQ — casos de uso no ensino superior](#page-faq.higher-ed-cases) - [FAQ — casos particulares e configurações avançadas](#page-faq.edge-cases) - [Especificidades do ensino superior — visão geral](#page-higher-ed.overview) ### 15.2 Cenários — Criação e geração de horários *Source: `help/pt/use-cases/creation-and-generation.md` · id: use-cases.creation-and-generation · Updated: 2026-06-13* Criação inicial, geração automática, sandbox e duplicação de horários para testes e comparações. Para o formato de leitura e a legenda dos estados, consulte [Cenários — visão geral](#page-use-cases.overview). #### Executar uma geração automática de horário > **Enquanto** planejador, **quero** executar uma geração automática de horário, **para que** uma primeira base utilizável seja produzida rapidamente. **Estado**: ✓ Disponível **Solução no Omniscol.** A geração automática está disponível para os três tipos de horário — semanal, cíclico e calendário. O algoritmo de geração posiciona as aulas criadas e ainda não posicionadas e pode reposicionar aulas já colocadas se isso melhorar o resultado, com exceção das aulas bloqueadas. Se nenhuma solução completa existir, o Omniscol devolve o melhor horário calculado e deixa as aulas restantes na lista dos post-its não posicionados. [Geração automática](#page-timetables.generation) #### Reexecutar uma geração após alteração das restrições > **Enquanto** planejador, **quero** reexecutar uma geração após alteração das restrições, **para que** diferentes configurações possam ser testadas sem recomeçar do zero. **Estado**: ✓ Disponível **Solução no Omniscol.** Ajuste as disponibilidades, as restrições ou os bloqueios e, em seguida, reexecute a geração a partir da mesma tela. As aulas bloqueadas mantêm a sua posição; as outras podem ser reposicionadas se isso melhorar o resultado. Para comparar várias configurações, trabalhe em cópias do horário («Trabalhar numa cópia (sandbox) de um horário»). [Diagnosticar uma geração que falha](#page-timetables.diagnosing-generation) #### Trabalhar numa cópia (sandbox) de um horário > **Enquanto** planejador, **quero** trabalhar numa cópia (sandbox) de um horário, **para que** possa fazer experiências sem afetar a versão oficial. **Estado**: ✓ Disponível **Solução no Omniscol.** Duplique o horário a partir do módulo **Gestão de horários letivos** e trabalhe na cópia: enquanto ela não estiver ativada, a versão oficial continua a ser a que os usuários veem. Ative a cópia quando estiver pronta. [Visualizar, duplicar, reorganizar](#page-timetables.visualize-duplicate), [Publicar (ativar) um horário](#page-timetables.publication) #### Ver também - [Cenários — visão geral](#page-use-cases.overview) - [Vista geral do módulo Gestão de horários letivos](#page-timetables.overview) - [Geração automática](#page-timetables.generation) - [Geração automática](#page-glossary.solver) ### 15.3 Cenários — Posicionamento e modificação no dia a dia *Source: `help/pt/use-cases/placement-and-modification.md` · id: use-cases.placement-and-modification · Updated: 2026-06-13* Procura de salas e de professores disponíveis, posicionamento e modificação de aulas, deteção de conflitos e omissões. Para o formato de leitura e a legenda dos estados, ver [Cenários — visão geral](#page-use-cases.overview). #### Encontrar uma sala disponível adequada a uma aula (capacidade, tipo, site) e atribuí-la > **Enquanto** planificador, **pretendo** encontrar uma sala disponível adequada a uma aula (capacidade, tipo, site) e atribuí-la a uma intervenção, **para** posicionar rapidamente uma aula sem conflitos. **Estado**: ✓ Disponível **Solução no Omniscol.** O seletor de sala aceita uma procura textual e filtros de capacidade (`>20`, `<=50`, `=30`, `20-30`). Vários critérios separados por um espaço são interpretados como um E lógico; vários valores separados por uma vírgula como um OU lógico. A mesma procura aceita "ok" (vs "ko") para manter apenas as salas livres na faixa horária. #### Encontrar um professor disponível que lecione a disciplina > **Enquanto** planificador, **pretendo** encontrar um professor disponível que lecione a disciplina, **para** substituir ou completar uma atribuição facilmente. **Estado**: ✓ Disponível **Solução no Omniscol.** A seleção de um professor tem em conta a disciplina lecionada e as suas disponibilidades. Consoante o ecrã, a substituição faz-se diretamente a partir da aula ou a partir da lista de aulas. #### Identificar as faixas horárias disponíveis para uma turma ou um grupo > **Enquanto** planificador, **pretendo** identificar as faixas horárias disponíveis para uma turma ou um grupo, **para** posicionar uma aula manualmente de forma eficaz. **Estado**: ◐ Parcial **Solução no Omniscol.** Sobreponha os horários da turma ou do grupo nas vistas de consulta multientidade para localizar as faixas horárias livres (ver "Visualizar os horários"). #### Modificar rapidamente uma aula (sala, professor, horário) > **Enquanto** planificador, **pretendo** modificar rapidamente uma aula (sala, professor, horário), **para** ajustar o planeamento em tempo real. **Estado**: ✓ Disponível **Solução no Omniscol.** Abra a aula para alterar a sala, o professor ou o horário na sua janela de modificação, ou reposicione-a através do botão de pino [thumbtack] (clique numa faixa horária colorida) na vista de planeamento. Uma **seleção múltipla** (Shift+clique em várias aulas) abre a mesma janela em modo agrupado: reposicionar, desafixar ou eliminar todas as aulas retidas numa única operação. [Alterações pontuais](#page-schedules.ad-hoc-changes) #### Detetar as aulas sem professor ou sem sala > **Enquanto** planificador, **pretendo** detetar as aulas sem professor ou sem sala, **para** corrigir imediatamente as omissões críticas. **Estado**: ✓ Disponível **Solução no Omniscol.** O diagnóstico do horário lista explicitamente as aulas posicionadas sem sala e as aulas sem professor; as vistas de planeamento também as assinalam. [Conflitos e diagnóstico](#page-timetables.conflicts) #### Ser alertado em caso de incoerência (ausência de sala, de professor, conflito) > **Enquanto** planificador, **pretendo** ser alertado em caso de incoerência (ausência de sala, de professor, conflito), **para** garantir a qualidade do planeamento. **Estado**: ◐ Parcial **Solução no Omniscol.** As incoerências são assinaladas nos diagnósticos e nas vistas de planeamento: aula sem sala, sem professor, conflitos de sala, de turma ou de professor. O painel de diagnóstico **filtra-se de forma detalhada** — por gravidade, por tipo de alerta, por entidade (turma, professor, sala), por nível, site ou campus, e por intervalo de datas em modo calendário (funcionalidade Premium; ver [Conflitos e diagnóstico](#page-timetables.conflicts)). **Solução alternativa (sem Premium).** Utilize a lista cronológica dos alertas e os filtros de consulta disponíveis para isolar as aulas em causa. Corrija os conflitos bloqueantes antes da difusão ou antes da reinjeção para um sistema terceiro. #### Visualizar rapidamente os conflitos remanescentes > **Enquanto** planificador, **pretendo** visualizar rapidamente os conflitos remanescentes, **para** finalizar um planeamento fiável antes da difusão. **Estado**: ✓ Disponível **Solução no Omniscol.** O diagnóstico do horário e as vistas de planeamento assinalam os conflitos remanescentes. Trate prioritariamente os conflitos bloqueantes antes da publicação. [Conflitos e diagnóstico](#page-timetables.conflicts) #### Recolher as disponibilidades / preferências dos intervenientes > **Enquanto** planificador, **pretendo** recolher as disponibilidades / preferências dos intervenientes. **Estado**: ✓ Disponível **Solução no Omniscol.** Os professores introduzem as suas disponibilidades e indisponibilidades a partir do seu espaço; o planificador também pode introduzi-las por eles. Estas disponibilidades ficam visíveis durante o posicionamento manual e são tidas em conta pela geração automática. [Disponibilidades dos professores](#page-core-concepts.wishes-and-availability) #### Gerir as faixas horárias / grades horárias / fora da grade > **Enquanto** planificador, **pretendo** gerir as faixas horárias / grades horárias / fora da grade. **Estado**: ✓ Disponível **Solução no Omniscol.** As grades horárias definem, site a site, as faixas horárias abertas ao posicionamento, pausas incluídas. > _Premium_ As [aulas fora da grelha](#page-timetables.off-grid-lessons) cobrem as aulas que não correspondem a nenhuma faixa horária da grade. [Grade horária, faixas horárias e durações](#page-core-concepts.timetable-grid) #### Gerir as pausas / fora da grade > **Enquanto** planificador, **pretendo** gerir as pausas / fora da grade. **Estado**: ✓ Disponível **Solução no Omniscol.** Ver "Gerir as faixas horárias / grades horárias / fora da grade": as pausas definem-se na grade horária de cada site, e o fora da grade cobre as aulas fora das faixas horárias. #### Visualizar os horários (seleção múltipla, vistas personalizadas, sobreposição) > **Enquanto** planificador, **pretendo** visualizar os horários (seleção múltipla, vistas personalizadas, sobreposição, visibilidade, exportação). **Estado**: ✓ Disponível **Solução no Omniscol.** As vistas de consulta cobrem a vista semana, dia, mês, lista, frente a frente e vários modos de comparação. A consulta multientidade permite apresentar vários horários lado a lado, por coluna ou em grade consoante o contexto. Não disponíveis na interface atual: informação enriquecida com o código da disciplina, ocultação automática das semanas sem aulas, vista fundida única sem coluna distintiva. #### Mostrar apenas as salas disponíveis > **Enquanto** planificador, **pretendo** mostrar apenas as salas disponíveis, **para** ganhar tempo ao atribuir as salas. **Estado**: ✓ Disponível **Solução no Omniscol.** Utilize o filtro de disponibilidade no seletor de sala para ocultar as salas já ocupadas na faixa horária (ver também "Encontrar uma sala disponível adequada a uma aula"). #### Ver também - [Cenários — visão geral](#page-use-cases.overview) - [Consultar e filtrar](#page-schedules.consult-and-filter) - [Alterações pontuais](#page-schedules.ad-hoc-changes) - [Conflitos e diagnóstico](#page-timetables.conflicts) ### 15.4 Cenários — Multigrupo, multissala, multi-interveniente *Source: `help/pt/use-cases/multi-entities.md` · id: use-cases.multi-entities · Updated: 2026-06-13* Partilha de aulas entre vários grupos, várias salas, vários intervenientes: coanimação, alinhamentos, grupos de grupos. Para o formato de leitura e a legenda dos estados, ver [Cenários — visão geral](#page-use-cases.overview). #### Partilhar aulas (1 aula para 2 grupos na mesma data/hora e na mesma sala) > **Enquanto** planificador, **pretendo** partilhar aulas (1 aula para 2 grupos na mesma data/hora e na mesma sala). **Estado**: ✓ Disponível **Solução no Omniscol.** Modele a partilha com um [alinhamento](#page-core-concepts.alignments) ou um [grupo de grupos](#page-core-concepts.groups-of-groups): a aula comum reúne os grupos na mesma faixa horária, na mesma sala, com o mesmo professor. #### Posicionar uma aula com vários intervenientes (coanimação) > **Enquanto** planificador, **pretendo** posicionar uma aula com vários intervenientes (coanimação). **Estado**: ✓ Disponível **Solução no Omniscol.** Uma aula pode ter vários professores: adicione os cointervenientes no seletor de professor **Designar professores** da ficha da aula. [Coensino](#page-higher-ed.co-teaching) #### Posicionar uma aula com várias salas > **Enquanto** planificador, **pretendo** posicionar uma aula com várias salas. **Estado**: ✓ Disponível **Solução no Omniscol.** Atribua várias salas à mesma aula a partir do seletor de sala **Atribuir uma sala de aula**. [Exames em várias salas](#page-higher-ed.multi-room-exams) #### Posicionar uma aula com vários grupos > **Enquanto** planificador, **pretendo** posicionar uma aula com vários grupos. **Estado**: ✓ Disponível **Solução no Omniscol.** Pode **associar diretamente vários grupos** — de uma mesma turma ou de turmas diferentes — a uma mesma aula. Para agrupamentos duradouros ou recorrentes, estruture-os antes com um [grupo de grupos](#page-core-concepts.groups-of-groups) ou um [alinhamento](#page-core-concepts.alignments), conforme o caso. #### Posicionar as aulas por grupo em massa > **Enquanto** planificador, **pretendo** poder posicionar as aulas por grupo em massa, **para** poder atribuir os grupos em massa, com um clique. **Estado**: ✓ Disponível **Solução no Omniscol.** Dois mecanismos cobrem o posicionamento em massa. - **Seleção múltipla e, depois, o pino.** Selecione várias aulas de uma só vez — com **Shift+clique**, ou através do menu **Alargar a seleção** (por dia, semana, mês, dia da semana, disciplina ou partição de grupos). O **pino** apresenta então as faixas horárias compatíveis com toda a seleção: um único clique posiciona-as em conjunto na mesma faixa horária. - **Geração automática.** Para posicionar de uma só vez o conjunto das aulas na grade, deixe a geração automática distribuí-las respeitando as restrições (ver [Geração automática](#page-timetables.generation)). Para reunir vários grupos numa mesma aula, ver "Posicionar uma aula com vários grupos" acima; para acompanhar os volumes posicionados, apoie-se na [distribuição de horas](#page-timetables.hour-distribution). #### Ver também - [Cenários — visão geral](#page-use-cases.overview) - [Várias salas](#page-glossary.multi-room) - [Coensino](#page-glossary.co-teaching) - [Divisões de turma](#page-core-concepts.class-divisions) - [Alinhamentos de grupos](#page-core-concepts.alignments) - [Grupos de grupos](#page-core-concepts.groups-of-groups) ### 15.5 Cenários — Operações em massa *Source: `help/pt/use-cases/mass-operations.md` · id: use-cases.mass-operations · Updated: 2026-06-28* Atribuições em massa, filtros avançados e automações para gerir rapidamente as salas, as capacidades e os programas. Para o formato de leitura e a legenda dos estados, consulte [Cenários — visão geral](#page-use-cases.overview). #### Atribuir em massa apenas as salas não atribuídas > **Enquanto** planejador, **quero** atribuir em massa apenas as salas não atribuídas. **Estado**: ✓ Disponível **Solução no Omniscol.** No modo listagem da tela **Gestão de horários letivos**, ordene ou filtre as colunas para isolar as aulas **aguardando sala**, marque-as e, em seguida, execute a atribuição automática das salas sobre a seleção. A geração automática oferece também um modo limitado às salas: executada ignorando as salas já atribuídas, ela completa apenas as aulas que não têm nenhuma, sem recalcular o posicionamento. [Atribuição automática das salas](#page-timetables.auto-room-assignment) #### Atribuir em massa todas as salas com >115 lugares para os eventos > **Enquanto** planejador, **quero** atribuir em massa todas as salas com >115 lugares para os eventos, **para que** a gestão das salas seja otimizada. **Estado**: ✓ Disponível **Solução no Omniscol.** Identifique as grandes salas nas estatísticas de salas, onde a pesquisa aceita os comparadores de capacidade (por exemplo `>115`). Em seguida, selecione as aulas em questão no modo listagem da tela **Gestão de horários letivos** e execute a atribuição automática das salas: no seletor de salas candidatas, marque apenas as salas desejadas, sendo a capacidade de cada uma exibida para orientar a escolha. #### Restringir a atribuição das salas a um edifício ou a um andar > **Enquanto** planejador, **quero** restringir a atribuição em massa das salas a um edifício ou andar determinado, **para que** as aulas sejam agrupadas no mesmo local e os deslocamentos sejam limitados. **Estado**: ✓ Disponível **Solução no Omniscol.** Na atribuição automática, o seletor de salas candidatas agrupa as salas por **campus** e depois por **edifício**: marque um campus ou um edifício inteiro para autorizar apenas as suas salas, e o algoritmo escolhe entre elas. Consulte [Atribuição automática das salas](#page-timetables.auto-room-assignment). #### Reatribuir as salas conforme os efetivos reais > **Enquanto** planejador, **quero** reatribuir em massa as salas conforme os efetivos reais (eletivos, línguas, grupos), **para que** o tamanho das salas seja ajustado ao número de inscritos. **Estado**: ✓ Disponível **Solução no Omniscol.** Isole as aulas em questão no modo listagem (ordenação e filtros por coluna) e, em seguida, execute a atribuição automática: o algoritmo confronta a **capacidade** de cada sala com o **efetivo** da aula e retém a menor sala que convém. Consulte [Atribuição automática das salas](#page-timetables.auto-room-assignment). #### Ver também - [Cenários — visão geral](#page-use-cases.overview) - [Atribuição automática das salas](#page-timetables.auto-room-assignment) - [Estatísticas de salas](#page-dashboard.classrooms) - [Distribuir as horas e criar as aulas](#page-timetables.hour-distribution) - [Alterações pontuais](#page-schedules.ad-hoc-changes) ### 15.6 Cenários — Exames e eventos *Source: `help/pt/use-cases/exams-and-events.md` · id: use-cases.exams-and-events · Updated: 2026-06-13* Criação de aulas específicas: exames (presenciais ou remotos, configurações especiais), concursos, operações de manutenção. Para o formato de leitura e a legenda dos estados, consulte [Cenários — visão geral](#page-use-cases.overview). #### Criar um evento (concurso) > **Enquanto** planejador, **quero** criar um evento (concurso), **para que** as salas sejam reservadas e as estatísticas estejam disponíveis. **Estado**: ✓ Disponível **Solução no Omniscol.** Crie um [evento pontual](#page-schedules.events) datado, com as suas salas, participantes e recursos: as ocupações concorrentes de uma sala, de uma turma ou de um professor são sinalizadas como conflitos assim que o evento envolve os participantes em questão. Os eventos pontuais dependem das contas **Premium**. #### Criar uma aula específica de exame (1 lugar em cada 2, gestão de tempo adicional, etc.) > **Enquanto** planejador, **quero** criar uma aula específica de exame (1 lugar em cada 2, gestão de tempo adicional, etc.), **para que** as salas sejam reservadas e as estatísticas estejam disponíveis. **Estado**: ✓ Disponível **Solução no Omniscol.** Crie uma aula ou um evento dedicado com as salas e a duração adaptadas à configuração da prova. [Exames em várias salas](#page-higher-ed.multi-room-exams) #### Criar um evento (manutenção) > **Enquanto** planejador, **quero** criar um evento (manutenção), **para que** as salas sejam reservadas e as estatísticas estejam disponíveis. **Estado**: ✓ Disponível **Solução no Omniscol.** Crie um [evento](#page-schedules.events) na faixa horária em questão e adicione-lhe a sala ou o recurso a imobilizar: este fica então ocupado na faixa horária e sai das disponibilidades. #### Criar um exame (remoto ou presencial, 1h30 ou 3h e outros, eletivo ou obrigatório) > **Enquanto** planejador, **quero** criar um exame (remoto ou presencial, 1h30 ou 3h e outros, eletivo ou obrigatório), **para que** as provas sejam planejadas. **Estado**: ✓ Disponível **Solução no Omniscol.** Um exame é criado como uma aula do tipo **exame** (consulte [Tipos de aula](#page-admin.lesson-types)): duração livre (1 h 30, 3 h…), presencial ou remoto conforme a sua [modalidade](#page-glossary.lesson-modality), em uma ou [várias salas](#page-glossary.multi-room). O caráter eletivo é modelado por meio de um [grupo](#page-glossary.group) em vez da turma inteira. #### Ver também - [Cenários — visão geral](#page-use-cases.overview) - [Eventos pontuais](#page-schedules.events) - [Aulas fora da grelha](#page-timetables.off-grid-lessons) ### 15.7 Cenários — Ausências e substituições *Source: `help/pt/use-cases/absences-and-substitutions.md` · id: use-cases.absences-and-substitutions · Updated: 2026-06-13* Declaração de ausências e gestão das substituições de professores em períodos curtos ou longos. Para o formato de leitura e a legenda dos estados, consulte [Cenários — visão geral](#page-use-cases.overview). #### Declarar a ausência de um professor > **Enquanto** secretaria escolar, **quero** declarar a ausência de um professor, **para que** as aulas afetadas sejam sinalizadas e as substituições necessárias possam ser organizadas. **Estado**: ✓ Disponível **Solução no Omniscol.** Declare a ausência a partir do módulo **Gestão de ausências** (o professor também pode declará-la ele próprio, sujeita a validação). O Omniscol identifica as aulas afetadas e permite-lhe organizar as substituições. [Declarar uma ausência](#page-absences.declaring) #### Substituir um professor por outro durante um período determinado > **Enquanto** secretaria escolar, **quero** substituir um professor por outro durante um período determinado, **para que** as mudanças estruturais (doença, saída…) sejam tratadas. **Estado**: ✓ Disponível **Solução no Omniscol.** Declare uma ausência de vários dias com uma data de início e uma data de fim: o Omniscol calcula as aulas afetadas, que podem ser deixadas sem substituto, cobertas por uma política de substituição ou ajustadas com substituições pontuais. [Ausências de vários dias](#page-absences.multi-day), [Políticas de substituição](#page-absences.substitution-policies) #### Ver também - [Cenários — visão geral](#page-use-cases.overview) - [Visão geral do módulo Gestão de ausências](#page-absences.overview) - [Declarar uma ausência](#page-absences.declaring) - [Políticas de substituição](#page-absences.substitution-policies) ### 15.8 Cenários — Relatórios e estatísticas *Source: `help/pt/use-cases/reporting-and-stats.md` · id: use-cases.reporting-and-stats · Updated: 2026-06-13* Estatísticas de ocupação, controlo da carga docente, rácios a distância/presencial, volumes horários por grupo e disciplina. Para o formato de leitura e a legenda dos estados, ver [Cenários — visão geral](#page-use-cases.overview). #### Visualizar as tensões de ocupação das salas > **Enquanto** planificador, **pretendo** visualizar as tensões de ocupação das salas, **para** antecipar os pontos de saturação. **Estado**: ✓ Disponível **Solução no Omniscol.** As **estatísticas de salas** do **Painel** (ver [Estatísticas de salas](#page-dashboard.classrooms)) fornecem as taxas de ocupação por sala e por período; o módulo **Horário** mostra, por sua vez, o planeamento de ocupação de cada sala (faixas horárias ocupadas). #### Verificar o número de horas lecionadas por um professor > **Enquanto** responsável pedagógico, **pretendo** verificar o número de horas lecionadas por um professor, **para** controlar a carga e a conformidade. **Estado**: ◐ Parcial **Solução no Omniscol.** Durante a edição de um horário no módulo **Gestão de horários letivos**, a soma das horas do professor apresenta-se e atualiza-se em direto; o **Painel** fornece o total das horas no período. **Solução alternativa.** Para controlar um semestre específico, selecione o intervalo de datas correspondente no **Painel**: o total das horas recalcula-se no período escolhido, sem subtração manual. #### Extrair estatísticas de atividade (horas, ocupação, distribuição) > **Enquanto** responsável pela qualidade, **pretendo** extrair estatísticas de atividade (horas, ocupação, distribuição), **para** responder às exigências de uma auditoria de qualidade ou de certificação. **Estado**: ◐ Parcial **Solução no Omniscol.** As exportações do **Painel** e das vistas de planeamento fornecem os volumes disponíveis. Por si só, não constituem um relatório de certificação completo: o enquadramento de negócio e documental continua a cargo da instituição. > _Country: FR_ Em França, estas exportações alimentam nomeadamente o acompanhamento **Qualiopi**. #### Analisar a ocupação das salas e dos recursos > **Enquanto** direção, **pretendo** analisar a ocupação das salas e dos recursos, **para** otimizar a utilização das infraestruturas. **Estado**: ✓ Disponível **Solução no Omniscol.** O **Painel** fornece a ocupação das salas e dos recursos; as exportações retomam esses volumes. #### Visualizar a taxa a distância / presencial por programa/turma > **Enquanto** planificador, **pretendo** visualizar a taxa a distância / presencial por programa/turma, **para** aplicar as regras (máx. 20% a distância, mín. 20% faixas horárias indesejáveis ao sábado). **Estado**: ◐ Parcial > _Premium_ **Solução no Omniscol.** O **Painel** expõe repartições por **Modalidade** sobre as turmas e as disciplinas quando as aulas têm uma modalidade (ver [Edição de uma aula](#page-timetables.lesson-edit)) — **Presencial**, **A distância**, **Híbrido** ou **Estudo autónomo**. O Omniscol não fornece um controlo regulamentar automático dos limiares (por exemplo "20% de ensino a distância no máximo"). #### Acompanhar o volume horário planeado e o que resta planear > **Enquanto** responsável pedagógico, **pretendo** acompanhar o volume horário planeado e o que resta planear, **para** controlar a coerência com o plano curricular. **Estado**: ✓ Disponível **Solução no Omniscol.** Durante a edição, a [distribuição de horas](#page-timetables.hour-distribution) apresenta em direto, disciplina a disciplina, o volume já posicionado e o **tempo restante por posicionar**. O **Painel** dá o acompanhamento a posteriori, por turma, disciplina e grupo. #### Ver também - [Cenários — visão geral](#page-use-cases.overview) - [Painel](#page-glossary.dashboard) - [Visão geral do módulo Painel](#page-dashboard.overview) - [Distribuir as horas e criar as aulas](#page-timetables.hour-distribution) ### 15.9 Cenários — Divulgação e partilha *Source: `help/pt/use-cases/diffusion-and-sharing.md` · id: use-cases.diffusion-and-sharing · Updated: 2026-06-13* Exportação de dados, assinatura iCal para intervenientes e aprendizes, link público somente leitura, reserva de recursos. Para o formato de leitura e a legenda dos estados, consulte [Cenários — visão geral](#page-use-cases.overview). #### Exportar os dados de horário > **Enquanto** secretaria escolar, **quero** exportar os dados de horário, **para que** possam ser reutilizados em outras ferramentas (ERP, relatórios…). **Estado**: ✓ Disponível **Solução no Omniscol.** As telas de horário e o Painel oferecem exportações; a API do Omniscol permite automatizar a recuperação dos dados. [Imprimir e compartilhar](#page-schedules.print-and-export), [API Omniscol](#page-integrations.api-tokens) #### Consultar o seu horário por meio de um link web seguro sem autenticação > **Enquanto** professor, **quero** consultar o meu horário por meio de um link web seguro sem autenticação, **para que** eu possa acessar facilmente as minhas aulas. **Estado**: ✓ Disponível **Solução no Omniscol.** O link de partilha é assinado e concede acesso somente leitura, sem login; pode ter uma data de expiração e permanece vinculado à conta que o criou (desativar essa conta ou alterar a sua senha invalida o link). [Compartilhar um horário por link público](#page-schedules.share-link) #### Assinar o seu horário por meio de um fluxo iCal > **Enquanto** professor ou aluno, **quero** assinar o meu horário por meio de um fluxo iCal, **para que** o horário seja integrado automaticamente à minha agenda pessoal. **Estado**: ✓ Disponível **Solução no Omniscol.** Cada usuário pode assinar o seu horário por meio de um link iCal dinâmico, compatível com as agendas usuais (Google Agenda, Outlook, Apple Calendar); a agenda é atualizada ao ritmo das suas próprias sincronizações. [iCal — assinatura e link dinâmico](#page-integrations.ical) #### Exportar o horário de um professor ou de um grupo em formato Excel > **Enquanto** secretaria escolar, **quero** exportar o horário de um professor ou de um grupo em formato Excel, **para que** os dados possam ser partilhados ou reprocessados. **Estado**: ✓ Disponível **Solução no Omniscol.** Consulte [Imprimir e compartilhar](#page-schedules.print-and-export). #### Divulgar os horários por meio de um link público controlado > **Enquanto** instituição, **quero** divulgar os horários por meio de um link público controlado, **para que** a comunicação com os intervenientes e aprendizes seja simples. **Estado**: ✓ Disponível **Solução no Omniscol.** Os links de partilha públicos são assinados, somente leitura e **têm uma data de expiração** (por padrão o fim do ano letivo, ou +90 dias, ajustável). Para uma divulgação institucional, associe os links a uma conta de serviço identificada, responsável pela partilha, em vez de uma conta pessoal. [Links de compartilhamento públicos](#page-portal.share-links) #### Reservar um recurso (sala, interveniente, aula, ou outro) > **Enquanto** usuário, **quero** reservar um recurso (sala, interveniente, aula, ou outro), **para que** as salas sejam reservadas e as estatísticas estejam disponíveis. **Estado**: ◐ Parcial **Solução no Omniscol.** Nenhum módulo de reserva dedicado existe atualmente. **Alternativa (contas Premium).** Para bloquear um recurso em uma faixa horária específica, crie um [evento](#page-schedules.events); para torná-lo indisponível durante todo um **período**, use uma [janela de datas](#page-glossary.date-windows). #### Ver também - [Cenários — visão geral](#page-use-cases.overview) - [iCal — assinatura e link dinâmico](#page-integrations.ical) - [Link de compartilhamento](#page-glossary.share-link) - [Links de compartilhamento públicos](#page-portal.share-links) - [Imprimir e compartilhar](#page-schedules.print-and-export) --- ## 16. FAQ — perguntas frequentes ### 16.1 FAQ — questões gerais *Source: `help/pt/faq/general.md` · id: faq.general · Updated: 2026-06-13* Questões gerais mais frequentemente feitas pelos potenciais clientes e pelos novos usuários. Para questões mais específicas, consulte as FAQs especializadas: [Criação de horários](#page-faq.timetables), [Importação de dados](#page-faq.data-import), [Comportamento do algoritmo](#page-faq.solver-behavior), [Exibição e UX](#page-faq.display-and-ux), [Segurança e alojamento](#page-faq.security-and-hosting), [Preços e licenças](#page-faq.pricing-and-licenses). #### A Omniscol funciona com uma conexão de internet limitada? Sim, desde que se disponha de uma conexão suficiente no momento dos carregamentos e dos salvamentos. O aplicativo web armazena em cache dados já consultados no navegador, o que torna a consulta mais tolerante a interrupções curtas. As modificações, importações, exportações e operações de administração exigem, por outro lado, um acesso de rede disponível no momento da ação. #### Quais navegadores são suportados? O Chrome é recomendado. O Firefox, o Safari e o Edge funcionam igualmente. O Internet Explorer não é suportado. #### É necessário instalar um cliente? Não. Tudo funciona no navegador. Nenhuma instalação local é exigida. #### Meus dados são salvos? Sim. A Omniscol apoia-se em backups e mecanismos de redundância descritos no âmbito contratual e nos documentos de segurança da conta. Consulte [Segurança e alojamento](#page-faq.security-and-hosting). Para backups manuais, uma **exportação completa no formato JSON** está disponível a partir de Importação / Exportação. Em caso de problema maior, esse arquivo pode ser devolvido à equipe Omniscol para reinjeção. #### Posso ter vários horários ao mesmo tempo? Sim. Em conta Standard, sobre faixas de semanas disjuntas (por exemplo semestre 1 vs semestre 2). Em conta [Premium](#page-overview.plans-and-options), vários horários podem ser publicados **simultaneamente** sobre as mesmas semanas, com fusão dinâmica das visualizações — isso está incluído de base. Essa possibilidade também pode ser ativada contratualmente em algumas contas Standard (caso excepcional, com enquadramento adaptado). Consulte [Vários horários ativos em paralelo](#page-timetables.multiple-active-timetables). #### Quantos administradores podem trabalhar ao mesmo tempo? O número de sessões simultâneas depende do seu contrato e do seu uso. Com a opção Colaboração em tempo real, os administradores veem a presença dos outros usuários conectados (um disco vermelho sinaliza um risco de modificação simultânea). As visualizações de trabalho nem sempre são atualizadas automaticamente após um salvamento feito por um colega. Consulte [Colaboração entre administradores](#page-core-concepts.collaboration). #### Como compartilhar um horário com alguém que não tem conta? O botão Compartilhamento na tela do horário gera um [link de compartilhamento](#page-glossary.share-link) somente leitura, com data de expiração obrigatória. Para uma assinatura de agenda dinâmica (sincronização automática), a opção iCal está disponível no compartilhamento. Consulte [iCal — assinatura e link dinâmico](#page-integrations.ical). #### Quais línguas são suportadas? Até hoje: francês, inglês, alemão, espanhol, italiano, português, neerlandês, polonês, russo, chinês simplificado, árabe, hebraico, cazaque, vietnamita. As línguas escritas da direita para a esquerda (árabe, hebraico) contam com uma interface adaptada (RTL). #### Minha escola está em um país não listado. Posso usar a Omniscol? Sim. Os parâmetros pré-preenchidos por país são uma comodidade, não uma restrição. No caso mais desfavorável, você personaliza manualmente os níveis, a grade horária, as férias e as disciplinas. #### Como recuperar meus dados se eu deixar a Omniscol? Exportação JSON completa a partir de Importação / Exportação. Inclui todos os dados da escola, em um formato reutilizável. Você permanece proprietário dos seus dados, em conformidade com o RGPD. #### Qual é a diferença entre os módulos **Horário** e **Gestão de horários letivos**? - **Gestão de horários letivos** serve para **criar, configurar, gerar e publicar** os horários. Uso ocasional (antes do início do ano letivo, modificações estruturais). - **Horário** serve para **consultar e modificar pontualmente** os horários publicados. Uso diário. Consulte [Vista geral do módulo Gestão de horários letivos](#page-timetables.overview) e [Consultar e filtrar](#page-schedules.consult-and-filter). #### Ver também - [Criação de horários](#page-faq.timetables) - [Importação de dados](#page-faq.data-import) - [Comportamento do algoritmo](#page-faq.solver-behavior) - [Segurança e alojamento](#page-faq.security-and-hosting) - [FAQ — casos de uso no ensino superior](#page-faq.higher-ed-cases) - [FAQ — casos particulares e configurações avançadas](#page-faq.edge-cases) ### 16.2 FAQ — Criação de horários *Source: `help/pt/faq/timetables.md` · id: faq.timetables · Updated: 2026-06-25* Perguntas frequentes sobre a criação e a configuração dos horários. Para o detalhe de cada etapa, ver [Vista geral do módulo Gestão de horários letivos](#page-timetables.overview). #### Que tipo de horário escolher: semanal, cíclico ou calendário? A escolha depende do ritmo do seu estabelecimento: - **Semanal** — aulas recorrentes ao longo de uma semana tipo. Adequado ao ensino primário e secundário. - **Cíclico** — aulas recorrentes ao longo de um ciclo de N dias, diferente da semana de 5 ou 7 (típico dos sistemas norte-americanos). - **Calendário** — aulas datadas individualmente, sem recorrência (típico do ensino superior e da formação contínua). Disponível nas contas Premium. A geração automática funciona para todos os tipos de horário. Ver [Escolher o tipo de horário certo](#page-overview.timetable-modes). #### É possível criar vários horários em paralelo? Sim. Vários horários podem coexistir na mesma conta (rascunhos, versões, semestres, períodos). Numa conta Standard, as publicações devem incidir sobre intervalos de semanas disjuntos. Numa conta Premium, vários horários podem ser publicados **simultaneamente** sobre as mesmas semanas, com fusão dinâmica — uma ativação contratual equivalente permanece possível em certas contas Standard. Ver [Vários horários ativos em paralelo](#page-timetables.multiple-active-timetables). #### Qual é a ordem recomendada para configurar um horário? A ordem das **etapas**: Geral, Sites, Professores, Turmas (com os seus grupos), Alinhamento de grupos, Distribuição de horas, Geração e, por fim, Publicação. As sete primeiras são as abas do editor de horários (da esquerda para a direita); a **publicação**, por sua vez, faz-se a partir do ecrã de gestão do horário. O detalhe de cada etapa está documentado na secção «Criação de um horário» do sumário. #### A geração automática tem limites? A geração automática é potente mas respeita estritamente as restrições que lhe são dadas. Se uma configuração for estruturalmente impossível (disponibilidades contraditórias, capacidade insuficiente, alinhamentos incoerentes), a Omniscol devolve o melhor horário calculado, deixa as aulas em falta na lista dos post-its não posicionados e fornece um diagnóstico explícito. Ver [Diagnosticar uma geração que falha](#page-timetables.diagnosing-generation). #### Quanto tempo demora uma geração? A duração depende do tamanho do horário, do número de aulas e das restrições. Cada geração inicia um ambiente de cálculo dedicado e paralelizado; a inicialização demora frequentemente cerca de uma dezena de segundos antes do cálculo efetivo. A janela pode ser fechada durante o cálculo; uma notificação é exibida no final. Para as ordens de grandeza, ver [Comportamento do algoritmo](#page-faq.solver-behavior). #### Um horário gerado é publicado automaticamente? Não. A publicação («distribuição») é uma etapa distinta que deve ser efetuada explicitamente após verificação. Sem publicação, o horário permanece um rascunho não visível para os utilizadores finais. Ver [Publicar (ativar) um horário](#page-timetables.publication). #### É possível voltar a um estado anterior de um horário? Sim, sob duas formas: - **Duplicação** de horário — cada modificação estrutural pode ser feita sobre uma cópia, servindo o original de referência (disponível em todos os patamares). - **Snapshots** — pontos de cópia de segurança restauráveis da conta inteira, automatizados ou manuais (opção Snapshots, consoante o contrato). Ver [Pontos de backup](#page-admin.snapshots). #### Como gerir as semanas alternadas (A/B)? A funcionalidade é ativada em [Configurações gerais](#page-admin.parameters), secção **Semanas alternadas** (letras A/B/C ou algarismos 1/2/3, cadência livre ao longo de tantas semanas quantas as necessárias). Numa aula, Adicionar uma semana acrescenta um intervalo para uma nova semana alternada. Ver [Aulas alternadas](#page-glossary.alternate-lessons). #### Ver também - [Vista geral do módulo Gestão de horários letivos](#page-timetables.overview) - [Diagnosticar uma geração que falha](#page-timetables.diagnosing-generation) - [Escolher o tipo de horário certo](#page-overview.timetable-modes) - [Comportamento do algoritmo](#page-faq.solver-behavior) - [FAQ — casos particulares e configurações avançadas](#page-faq.edge-cases) ### 16.3 FAQ — Importação de dados *Source: `help/pt/faq/data-import.md` · id: faq.data-import · Updated: 2026-05-10* #### Quais formatos de importação são suportados? CSV e TSV, por copiar e colar a partir do Excel, do Google Sheets, do Numbers ou do Calc. A **exportação JSON** completa da conta está acessível ao administrador (backup); a **reimportação** de uma conta JSON completa, por sua vez, é uma operação de restauração realizada pela Omniscol, não uma ação corrente da tela de administração. Para migrações dedicadas, consulte [Visão geral](#page-migration.overview). #### O identificador é gerado pelo sistema? Sim. Ao importar alunos, professores ou turmas, a Omniscol gera um identificador interno estável: para as pessoas ele deriva do nome e do sobrenome, para um grupo ele inclui a turma pai (`:`). O padrão do **nome de usuário** (nome-sobrenome, sobrenome-nome ou número de identificação) é definido nas [Configurações gerais](#page-admin.parameters), campo **Nome de usuário**. Você também pode informar a sua própria referência por meio do campo **identificador externo / matrícula** — útil para a rastreabilidade com o seu sistema de informação escolar e para distinguir os homônimos. #### Para os grupos, é sempre necessário referenciar a turma? Sim. Um grupo é sempre uma subdivisão de uma turma. O ID de um grupo inclui a turma pai. Nos arquivos de importação de aulas, as colunas «turma» e «grupo» funcionam em conjunto. Consulte [Turma, grupo, subgrupo](#page-core-concepts.classes-and-groups). #### A ordem das colunas da tabela é importante? A tela de importação abre um **modelo de colunas** tipadas por posição (a disciplina, o professor, a sala… ocupam cada um uma coluna esperada). Você **reorganiza as colunas do modelo** para que elas correspondam à ordem da sua planilha de origem: o copiar e colar permanece então limpo, sem reescrever o seu arquivo. Consulte [Importação em massa dos cursos via folha de cálculo](#page-timetables.mass-import). #### Quais separadores para as listas (multiprofessor, multigrupo, etc.)? Os separadores comuns são reconhecidos dentro de um mesmo campo: vírgula, ponto e vírgula, barra, barra vertical, sinal de mais, e comercial ou quebra de linha. O mecanismo de importação detecta a convenção empregada no campo. #### O que acontece se a tabela contiver disciplinas desconhecidas? Na etapa 4 da importação, a Omniscol propõe a **criação das entidades desconhecidas**. Para as disciplinas personalizadas e alguns professores, você pode solicitar uma criação no lado da **Administração** a fim de torná-las disponíveis em toda a escola. Os rótulos são corrigidos na etapa 3, durante a desambiguação. #### As aulas complexas são importadas corretamente? Parcialmente. O mecanismo de importação reconhece bem: - as aulas simples (disciplina + turma + professor + sala + faixa horária), - as aulas em alternância básica (`A/B`), - as aulas multiprofessor (coensino), - as aulas multissalas. Ele reconhece menos bem, e por isso exige um acabamento manual: - as aulas associadas (alternância de meios grupos), - as concatenações complexas, - os grupos de grupos, - as aulas fora da grade com horários precisos. #### O que fazer se a importação falhar em um arquivo volumoso? - Verifique a ausência de linhas vazias ou de células mescladas. - Divida o arquivo em subconjuntos (por turma, por campus, por semestre). - Prefira uma **exportação completa** da conta de origem, muitas vezes mais limpa do que uma exportação parcial manual. #### Ver também - [Preparar seus dados para uma importação em massa](#page-getting-started.preparing-data) - [Importação em massa dos cursos via folha de cálculo](#page-timetables.mass-import) - [Visão geral](#page-migration.overview) - [Casos de uso no ensino superior](#page-faq.higher-ed-cases) ### 16.4 FAQ — Comportamento do algoritmo de geração *Source: `help/pt/faq/solver-behavior.md` · id: faq.solver-behavior · Updated: 2026-05-15* Perguntas frequentes sobre o comportamento do motor de geração automática. Para a descrição da própria geração automática, ver [Geração automática](#page-glossary.solver); para o detalhe operacional, ver [Geração automática](#page-timetables.generation). #### Em que tipos de horário funciona a geração automática? Nos horários [semanais](#page-glossary.weekly-timetable), [cíclicos](#page-glossary.cyclic-timetable) e [calendário](#page-glossary.calendar-mode). No modo calendário, as aulas são colocadas em datas reais e as opções de geração incluem limites de datas. #### Como funciona o algoritmo? A Omniscol lança um processamento de resolução em segundo plano. A geração automática avalia as aulas a colocar, as restrições declaradas e as preferências de geração. O resultado depende sobretudo da qualidade dos dados: volumes horários, professores, salas, grupos, disponibilidades, incompatibilidades e restrições intersítios. Cada geração inicia um ambiente de cálculo dedicado e paralelizado. Não há qualquer fila de espera a gerir do lado da escola; a inicialização demora frequentemente cerca de uma dezena de segundos antes de o cálculo efetivo começar. No módulo **Gestão de horários letivos**, o botão **Gerar um horário** lança o cálculo, acompanha o seu estado e permite inspecionar o resultado. O motor é uma IA de otimização **metaheurística Monte-Carlo neurossimbólica**: pesquisa estocástica, restrições simbólicas e otimização progressiva das pontuações. Não é uma promessa de êxito num conjunto de restrições impossível; nesse caso, a Omniscol devolve um diagnóstico. #### Quanto tempo demora uma geração? A duração depende do tamanho do horário, do número de aulas, do número de restrições e das opções escolhidas. A título de ordem de grandeza, uma escola de cerca de 550 alunos, 45 professores e 16 turmas, com muitas disponibilidades, pode obter em menos de um minuto um horário completo, com muito poucos ou nenhuns intervalos vazios, quando os dados são coerentes. Um caso mais denso, muito restringido ou com otimizações dispendiosas pode demorar bastante mais tempo. #### A geração automática respeita todas as restrições? As **restrições duras** são respeitadas estritamente: - um professor num único lugar ao mesmo tempo; - uma turma sem duplo posicionamento, exceto grupos em divisão; - disponibilidades e faixas horárias marcadas como **indisponíveis**; - sala padrão ocupada por uma única aula de cada vez; - sala grande utilizada apenas dentro dos seus limites de capacidade e de número de turmas; - salas especializadas, capacidades, recursos materiais e deslocações intersítios compatíveis; - aulas bloqueadas conservadas no seu lugar. As **restrições flexíveis** (disponibilidades indesejáveis, preferências, ponderação pedagógica, equilíbrio dos dias, número de dias de presença, intervalos vazios nos horários) são otimizadas o melhor possível. Criam penalizações: a geração automática procura a solução que acumula o menor número delas, mas pode conservar algumas se for o melhor compromisso compatível com as restrições duras. #### O que fazer se a geração falhar? Quando nenhuma solução completa é encontrada, a Omniscol devolve o melhor horário calculado e deixa as aulas não posicionadas na barra dos post-its. O horário parcial permanece consultável para compreender o que foi colocado e, em seguida, corrigir as restrições ou reposicionar manualmente algumas aulas. As causas mais frequentes estão descritas na página [Diagnosticar uma geração que falha](#page-timetables.diagnosing-generation). #### É possível forçar manualmente a posição de uma aula? Sim, através do **bloqueio** de uma aula após o posicionamento manual. A geração automática não desloca uma aula bloqueada numa nova geração, mas ajusta as outras à sua volta. Útil para fixar as aulas imutáveis (intervenções externas com data fixa, exames datados). #### Porque é que a geração automática não propõe várias soluções? A geração automática otimiza segundo as restrições e preferências declaradas e devolve **a melhor solução encontrada**. Para obter várias soluções a comparar, duplique o horário antes de cada geração e ajuste ligeiramente as restrições ou ponderações entre duas passagens. #### A geração automática tem em conta as ausências declaradas? A geração automática aplica-se ao horário **estrutural**, independentemente das ausências. As ausências são geridas **a posteriori** no módulo **Gestão de ausências** (ver [Visão geral do módulo Gestão de ausências](#page-absences.overview)), com impacto na exibição do horário publicado e nas estatísticas do [Painel](#page-glossary.dashboard) (não na estrutura subjacente). #### Conflito voluntário e conflito bloqueante Nem todos os conflitos são equivalentes: - **Conflitos não bloqueantes** — podem ser deixados como estão se for uma escolha deliberada (por exemplo, uma sala cujo efetivo exibido excede a capacidade porque se sabe que nem todos os inscritos comparecerão). O alerta permanece visível mas não bloqueia. - **Conflitos bloqueantes** — impedem a geração automática de ser bem-sucedida (nenhuma sala compatível, alinhamento incoerente, etc.). O botão Gerar um horário permanece desativado enquanto estes conflitos subsistirem. Ver [Conflito](#page-glossary.conflict). #### Ver também - [Geração automática](#page-glossary.solver) - [Geração automática](#page-timetables.generation) - [Diagnosticar uma geração que falha](#page-timetables.diagnosing-generation) - [Conflito](#page-glossary.conflict) - [Diagnóstico](#page-glossary.diagnostic) ### 16.5 FAQ — Exibição e interface *Source: `help/pt/faq/display-and-ux.md` · id: faq.display-and-ux · Updated: 2026-06-25* Perguntas frequentes sobre a exibição, as visualizações e a experiência do usuário da interface Omniscol. #### Quais visualizações estão disponíveis para consultar um horário? O componente de exibição combina: - **modos de renderização**: **grade** (calendário padrão), **lista**, **tabela** em estilo planilha; - **variantes de leitura**: **dia**, **mês**, **agenda** (e **agenda por horas**), **lado a lado**. A agenda serve para cruzar várias entidades ou vários dias em uma mesma visualização; a agenda por horas faz o mesmo em uma escala horária. A tabela é uma renderização tabular da visualização em curso. Consulte [Exibição dos horários](#page-schedules.schedule-display) e [Consultar e filtrar](#page-schedules.consult-and-filter). #### Uma exibição vertical de horário está disponível? No módulo **Horário**, o componente de exibição dos horários não oferece visualização vertical. Uma visualização vertical equivalente existe no módulo **Gestão de pessoal** (cf. [Visão geral da Gestão de pessoal](#page-staffing.overview)) para contextos relacionados (grades de vigilância). #### A interface é responsiva (celular, tablet)? Sim, a interface se adapta a telas de todos os tamanhos. No smartphone, o deslize horizontal percorre o período exibido (a semana por padrão, o dia na visualização Dia). #### Quais parâmetros de exibição dos nomes estão disponíveis? Os nomes passam por uma função de formatação parametrizada segundo a configuração da escola: - Ordem nome/sobrenome (segundo as convenções do país). - Realce em negrito do principal (variável segundo os países — tratamento do *nome do meio* para as convenções americanas, vietnamitas, árabes). - Capitalização do nome, do segundo nome se ativo, e/ou do sobrenome por meio do parâmetro de capitalização dos nomes. #### A interface é acessível às pessoas com deficiência? Uma auditoria de acessibilidade (RGAA, WCAG) está em vigor. Um relatório de conformidade pode ser fornecido mediante solicitação. As melhorias identificadas são tratadas de forma contínua. Para as necessidades específicas (leitor de tela, contraste reforçado, navegação por teclado), entre em contato com o suporte. #### As línguas escritas da direita para a esquerda são suportadas? Sim. O árabe e o hebraico dispõem de uma interface da direita para a esquerda adaptada. As 14 línguas suportadas estão listadas em [Questões gerais](#page-faq.general). #### Como imprimir um horário? O botão **Imprimir** do módulo **Horário** inicia a impressão. A renderização é otimizada para o papel (sem elementos interativos, layout adaptado). #### Como exportar um horário para o Excel ou para um calendário externo? - Exportação Excel / CSV por meio de **Tabela**. - Exportação / assinatura iCal por meio de **Baixar** (cf. [iCal — assinatura e link dinâmico](#page-integrations.ical)). - Link de compartilhamento público somente leitura (cf. [Link de compartilhamento](#page-glossary.share-link)). #### O modo escuro está disponível? Não na interface atual: a Omniscol não oferece tema escuro e não alterna automaticamente com a configuração escura do sistema operacional. A interface leva em conta, no entanto, as preferências de acessibilidade do sistema, como o contraste reforçado. #### Posso personalizar as cores das disciplinas? Sim. Cada disciplina (cf. [Disciplina](#page-glossary.subject)) pode receber uma cor específica por meio de **Colorpicker**. Os tipos de aula permanecem como simples rótulos de texto, sem cor nem ícone associados. #### Ver também - [Consultar e filtrar](#page-schedules.consult-and-filter) - [FAQ — casos particulares e configurações avançadas](#page-faq.edge-cases) - [Painel de display](#page-panels.lobby-panel) - [Imprimir e compartilhar](#page-schedules.print-and-export) ### 16.6 FAQ — casos de uso no ensino superior *Source: `help/pt/faq/higher-ed-cases.md` · id: faq.higher-ed-cases · Updated: 2026-06-13* Perguntas frequentes de instituições de ensino superior (escolas de negócios, escolas de engenharia, escolas de arte e design, universidades, centros de formação continuada). As respostas aplicam-se de forma transversal a essas tipologias; para os detalhes do domínio, consulte [Especificidades do ensino superior](#page-higher-ed.overview). #### Vários horários, cada usuário vê apenas o seu **P.** Como gerir vários horários em paralelo de modo que cada usuário veja, no seu calendário, apenas as aulas que lhe dizem respeito? **R.** Três mecanismos cooperam: - Do lado do administrador, vários horários podem ser publicados em paralelo nas mesmas semanas, com fusão dinâmica — incluída de base em uma conta Premium (consulte [Vários horários ativos em paralelo](#page-timetables.multiple-active-timetables)). - Por padrão, cada usuário vê apenas as aulas que lhe dizem respeito — a sua turma, os seus grupos ou as suas próprias aulas, no caso de um professor. Os filtros são aplicados automaticamente ao acessar, conforme o seu papel. - Para consultar outro escopo (outra turma, outro professor…), o usuário aplica manualmente um filtro, desde que o seu papel o autorize. As [restrições de visibilidade](#page-admin.visibility-restrictions) permitem, por exemplo, ocultar dos professores o horário dos seus colegas. #### Sincronização iCal após a alteração de um horário **P.** Quando uma aula é alterada no Omniscol, o feed iCal é atualizado automaticamente? **R.** Sim, desde que você utilize um **link de assinatura iCal** (e não um download estático). O link de assinatura é dinâmico; o aplicativo de calendário busca novamente o feed em intervalos regulares, com um atraso que vai de alguns minutos a várias horas, conforme o aplicativo e a sua configuração. É o aplicativo de calendário que decide a frequência de atualização, não o Omniscol. Consulte [iCal](#page-glossary.ical) e [iCal — assinatura e link dinâmico](#page-integrations.ical). #### Notificação a cada alteração **P.** É possível enviar uma notificação a cada alteração do horário? **R.** Não há notificação automática a cada alteração: o volume seria incontrolável para os destinatários. Abordagem atual: publicar as alterações em lote por meio de um e-mail de resumo à seleção dos usuários envolvidos (Enviar um e-mail). #### Sala dentro de um macrotipo / categoria de salas **P.** Como indicar que uma aula deve ocorrer em uma sala específica pertencente a um macrotipo — conforme se queira forçar uma sala precisa ou deixar o algoritmo escolher dentro do grupo? **R.** Por meio das [**especializações de salas**](#page-glossary.classroom-specialization), que são campos livres: - Crie uma especialização correspondente ao macrotipo (por exemplo «ATELIÊ», «SALA-INFO», «LABO-QUÍMICA»). - Atribua essa especialização às salas envolvidas. - Na aula, indique a especialização exigida. O Omniscol propõe prioritariamente as salas especializadas e o algoritmo de geração escolhe uma entre as disponíveis. - Para **forçar uma sala precisa**, indique-a diretamente (além da especialização, ou no lugar dela). O algoritmo de geração respeita a imposição. Na importação em massa, você pode indicar apenas a especialização; o algoritmo de geração encarrega-se da atribuição final. #### Verificar a ocupação das salas antes da geração **P.** Existe um relatório que permita verificar, antes da geração, se as horas atribuídas a uma sala ou a um macrotipo de salas cabem no total de horas disponíveis? **R.** A aba Geração executa um diagnóstico prévio: controles de capacidade (número de aulas a posicionar em comparação com a capacidade da grade horária) e controles de compatibilidade das especializações de salas. Um aviso é emitido em caso de sobredimensionamento. O [painel de controle](#page-glossary.dashboard) posterior à publicação dá o detalhe efetivo (levando em conta as ausências e as substituições). #### Duração por aula individual na importação **P.** No arquivo de importação, a coluna «duração» contém o total de horas de uma atividade, que pode agrupar várias aulas. Onde indicar a duração individual de cada aula? **R.** Uma **linha de importação corresponde a uma aula**. A duração informada é a dessa aula, não a do módulo. Para um módulo composto por várias aulas de durações diferentes, é necessária, portanto, uma linha de importação por aula. Se a fonte agregar («Álgebra = 30 h no total»), é preciso decompor antes da importação — ou utilizar a [distribuição automática](#page-timetables.hour-distribution) para repartir um volume de horas em aulas individuais. #### Aulas apenas em determinadas semanas **P.** Como indicar que uma aula ocorre apenas em determinadas semanas específicas do ano acadêmico? **R.** Depende do modo: - No modo [semanal](#page-glossary.weekly-timetable), as [semanas alternadas](#page-glossary.alternate-lessons) cobrem o caso em que uma aula só se repete uma semana em cada N. Para uma aula que só ocorre em algumas semanas específicas do ano, o modo calendário é mais adequado. - No modo [calendário](#page-glossary.calendar-mode), cada aula é posicionada individualmente na sua data: é nativo. - Na importação, informe a **data** de cada aula na coluna prevista (formato `AAAA-MM-DD`), ou deixe-a vazia para uma aula a ser posicionada manualmente mais tarde. #### Aulas interturmas / entre programas **P.** Como modelar aulas em que, na mesma faixa horária e na mesma sala, participam vários grupos de uma mesma turma ou de turmas diferentes, às vezes para disciplinas diferentes, às vezes em campi diferentes? **R.** Conforme o caso: - **Vários grupos de uma mesma turma na mesma faixa horária, mesma disciplina, mesmo professor, mesma sala** — uma única aula atribuída a um supergrupo. Composição fixa → [divisão de turma](#page-glossary.class-division) se aplicável. Composição evolutiva → [grupo de grupos](#page-glossary.groups-of-groups), disponível em todas as contas e em todos os tipos de horário. - **Várias turmas diferentes na mesma faixa horária, mesma disciplina, mesmo professor, mesma sala** — um [alinhamento](#page-glossary.alignment) quando a composição é fixa, ou um [grupo de grupos](#page-glossary.groups-of-groups) (disponível em todas as contas, todos os tipos de horário) quando o agrupamento deve permanecer evolutivo. - **Disciplinas diferentes na mesma faixa horária e mesma sala** (caso raro) — são necessárias duas aulas distintas. Cada aluno vê, no seu horário, a disciplina do seu próprio grupo. - **Entre dois sites** (duas turmas de locais diferentes que compartilham uma aula) — suportado, desde que a sala comum ou a videoconferência esteja modelada corretamente (cf. [sites virtuais](#page-glossary.site)). #### Alternância de docentes em uma mesma faixa horária **P.** Como indicar que dois professores se alternam na mesma faixa horária, no mesmo dia da semana, com a mesma turma / disciplina / grupo — um em uma semana, o outro na seguinte? **R.** Trata-se de uma **alternância de docentes**, e não de um [coensino](#page-glossary.co-teaching) em sentido estrito (que implica dois professores simultaneamente na mesma aula). Duas implementações, conforme a cadência: - **Alternância regular no modo semanal** — utilize as [semanas alternadas](#page-glossary.alternate-lessons) com um professor diferente em cada semana. - **Alternância em datas específicas no modo calendário** — crie uma aula por sessão com o professor correspondente. Mais trabalhoso, mas mais flexível: cada aula pode ser ajustada individualmente. #### Coanimação pontual (visiting professor) **P.** Como indicar que, apenas para uma ou algumas aulas, um visiting professor coanima uma aula com o professor titular? **R.** No modo [calendário](#page-glossary.calendar-mode), crie as aulas comuns apenas com o professor titular; depois, para as aulas em que o visiting participa, adicione-o como [coanimador](#page-glossary.co-teaching) na aula específica. Cada professor é creditado nas suas próprias estatísticas. #### Link de videoconferência por aula **P.** O link de videoconferência só pode ser vinculado a uma turma inteira, ou pode ser associado a um curso ou a uma aula específica? **R.** Um link de videoconferência pode ser definido em três níveis: na **turma** (aplica-se então por padrão a todas as suas aulas), em um **curso** específico, ou em uma **aula individual** no modo calendário. Isso é adequado às sessões híbridas em que apenas alguns cursos são remotos. Consulte [Ligações de videoconferência por curso](#page-higher-ed.videoconference-links). #### Alunos repetentes e fora do currículo **P.** Como gerir um aluno que precisa cursar uma disciplina de outro ano (repetência, nivelamento, *fuori corso*, etc.)? **R.** Um aluno pode ser vinculado a várias turmas simultaneamente e restrito a determinados grupos de uma turma. Quatro casos típicos: 1. **Uma outra turma inteira + um grupo específico de uma terceira** — vincular às duas e escolher o grupo. 2. **Vários grupos de outra turma sem toda a turma** — vincular diretamente aos grupos. 3. **Uma única disciplina de outra turma por meio de um grupo específico** — criar um grupo dedicado na outra turma e vincular o aluno apenas a esse grupo. 4. **Aluno fora do currículo refazendo uma disciplina isolada** — a mesma lógica com um grupo dedicado. #### ID do SIS como identificador único **P.** É possível utilizar o identificador de aluno ou professor proveniente do nosso SIS como identificador único no Omniscol, para evitar homônimos? **R.** Sim, por meio do campo **Matrícula / ID externo** na ficha do usuário — é essa a sua finalidade. Informe-o na importação e o Omniscol o utilizará como chave de identificação. Particularmente útil para as sincronizações bidirecionais com o seu SIS (consulte [a sincronização com sistemas externos](#page-integrations.extsync) para Aurion / Auriga ou [API Omniscol](#page-integrations.api-tokens) para uma integração específica). #### Vários endereços de e-mail por usuário **P.** É possível importar dois endereços de e-mail para um mesmo professor (institucional e pessoal)? **R.** Não na interface atual: um e-mail principal por usuário. Se um segundo endereço precisar ser conservado a título informativo, utilize o campo Comentário da ficha do usuário. Esse campo não é utilizado como endereço de envio. #### Aprendizes, estudantes, participantes — qual entidade? **P.** O nosso referencial distingue **aprendiz** (termo geral), **estudante** (formação inicial), **participante** (formação continuada). Como essas nuances se mapeiam? **R.** Todos se reduzem à entidade Omniscol [aluno](#page-glossary.student) (papel `student`). A distinção entre formação inicial e continuada é gerida por um atributo opcional na ficha (matrícula do SIS, status), e não por entidades separadas. #### Docentes: efetivos, temporários, especialistas, visiting **P.** O nosso referencial distingue **professor efetivo** (contrato permanente, tempo repartido), **temporário** (contrato pontual), **especialista** (prestador externo raro), **visiting professor** (acadêmico convidado). Todos correspondem à mesma entidade Omniscol? **R.** Sim, todos se reduzem à entidade [professor](#page-glossary.teacher) (papel `teacher`). O **marcador nominal «externo / temporário»** que os distingue dos efetivos é uma opção **Premium** (cf. [professor externo](#page-glossary.external-teacher)); sem Premium, os quatro perfis permanecem uma mesma entidade professor, sem marcação dedicada. Os papéis de «responsável de curso» e «responsável de programa» são **papéis de negócio** internos à sua instituição. O Omniscol não os modela como tais, mas pode representá-los por meio dos [papéis personalizados](#page-admin.customroles). #### Programas, cursos, percursos pedagógicos **P.** A nossa oferta hierarquiza-se em **programas** (PGE, MBA, MsC, PhD, etc.), **cursos de gestão** (UE / EC / ECUE), **atividades pedagógicas** (sessões). Como isso se mapeia no Omniscol? **R.** Mapeamento recomendado: | Conceito de negócio | Entidade Omniscol | | --- | --- | | **Programa** | Uma [turma](#page-glossary.class) (ou um conjunto de turmas para os programas paralelos) | | **Curso / módulo / UE / EC** | Uma [disciplina](#page-glossary.subject) (com ou sem [tipo de aula](#page-glossary.lesson-type)) | | **Sessão / atividade pedagógica** | Uma [aula](#page-glossary.lesson) — ocorrência individual posicionada de um curso | Para as nomenclaturas hierárquicas (UE → EC → ECUE), uma convenção de nomenclatura nas disciplinas («UE3-EC2-ECUE1 Álgebra linear») ou o uso das **famílias de disciplinas** permite representar o agrupamento. #### Mobilidade, intercâmbios, dupla diplomação **P.** Como gerir a mobilidade de entrada e de saída (intercâmbios acadêmicos, dupla diplomação, *free movers*, *study abroad*)? **R.** Do lado do horário, esses aprendizes são **alunos comuns vinculados a turmas específicas**. A gestão administrativa (convênios, créditos, ECTS, status) cabe ao SIS da instituição; o Omniscol concentra-se na questão «quem assiste a qual aula, quando, onde». #### Recomendações de configuração para o ensino superior Para uma conta de ensino superior, considere: - **Conta Premium**: o modo calendário, as disponibilidades de calendário e os vários horários ativos estão incluídos de base, assim como o MCP (conexão de um assistente de IA compatível). A complementar conforme a necessidade com as opções contratuais: papéis personalizados, snapshots, colaboração em tempo real. (Os **grupos de grupos**, por sua vez, estão disponíveis em todas as contas.) - **Modo calendário** para a maioria dos horários (aulas datadas individualmente, docentes ao sabor das sessões). - **Vários horários ativos em paralelo** por programa (um horário por mestrado, fundidos dinamicamente quando há aulas em comum). - **Grupos de grupos** para os agrupamentos transversais evolutivos (tronco comum multipercurso). - **Várias salas** para as provas em anfiteatros desdobrados ou as aulas expositivas retransmitidas. - **Papéis personalizados** para modelar os responsáveis de curso ou de programa com permissões direcionadas ao seu escopo. - **Integração com o SIS** ([a sincronização com sistemas externos](#page-integrations.extsync) para Aurion / Auriga, ou [API Omniscol](#page-integrations.api-tokens) para uma integração específica) para sincronizar os aprendizes. - **OIDC / SSO** no provedor de identidade da instituição (Google Workspace, Microsoft Entra ID, Keycloak, etc.). #### Ver também - [Especificidades do ensino superior — visão geral](#page-higher-ed.overview) - [Várias salas](#page-glossary.multi-room) - [Modalidade](#page-glossary.lesson-modality) - [Coensino](#page-glossary.co-teaching) - [Modo calendário](#page-glossary.calendar-mode) - [Grupos de grupos](#page-core-concepts.groups-of-groups) - [FAQ — Criação de horários](#page-faq.timetables) - [FAQ — Importação de dados](#page-faq.data-import) ### 16.7 FAQ — casos particulares e configurações avançadas *Source: `help/pt/faq/edge-cases.md` · id: faq.edge-cases · Updated: 2026-06-13* Perguntas relativas a configurações atípicas ou a casos particulares: aulas que não respeitam a grade horária, gestão fina das salas e de suas especializações, conflitos não bloqueantes, exibições específicas, rastreabilidade das inconsistências. #### Aula com horário personalizado **P.** Uma parte das aulas do nosso estabelecimento (cerca de 20 %) não respeita a grade horária padrão: duração precisa de prova, horários deslocados para alguns trabalhos práticos. Como posicionar uma aula que deve começar às 13:10 em uma grade com passo de 10 minutos, e obter uma hora de término coerente? **R.** Sim. Uma aula pode ser inserida com um horário de início e de término próprios, sem respeitar exatamente os limites da grade padrão. Na aula posicionada, utilize o botão Horário personalizado (Horário personalizado) e em seguida informe o início e o término. A aula continua a ser considerada nos conflitos: professor, sala, turma, grupo e recurso são considerados ocupados assim que o horário personalizado se sobrepõe a uma faixa horária. Para a geração automática, essa posição fica bloqueada. A configuração **Fora da grade** de uma turma é um caso diferente: ela serve às turmas em modo calendário configuradas fora da grade cujas aulas devem todas ser armazenadas com horários precisos. Consulte [Aulas fora da grelha](#page-timetables.off-grid-lessons) para o detalhe. #### Criação de disciplinas com pai e família existentes **P.** Ao criar uma disciplina personalizada, é possível selecionar uma **disciplina pai** já criada e uma **família** existente, sem ter de passar por uma reinjeção externa? **R.** Sim. A janela de criação ou de modificação de uma disciplina personalizada permite selecionar diretamente uma disciplina pai existente (campo Disciplina pai) e uma família existente (campo Família), sem reinjeção externa. Consulte [Gerir as disciplinas](#page-admin.subjects). #### Modificar ou excluir uma especialização de sala **P.** Por que a modificação ou a exclusão direta de uma especialização de sala não está disponível (por exemplo para corrigir um erro de ortografia)? **R.** A lista das especializações é calculada **dinamicamente** a partir das salas. Para fazer desaparecer uma especialização: - Retire-a de todas as salas que a possuem. No próximo salvamento, ela desaparece do repositório automaticamente. - Para **renomeá-la**, crie a nova especialização com o rótulo correto, substitua nas salas envolvidas; a antiga desaparece em seguida por si só. A interface não oferece, portanto, botão de modificação ou de exclusão direta de uma especialização. Consulte [Especialização de sala](#page-glossary.classroom-specialization). #### Filtro de horário por disciplina: distinção disciplina simples / com tipo **P.** Quando filtro os horários por disciplina, algumas aulas não aparecem embora estejam bem visíveis quando eu filtro por turma. Qual é a causa? **R.** O par **(disciplina, tipo de aula)** é tratado como uma entrada independente da disciplina isolada. Consequências: - «Álgebra» sem tipo e «Álgebra — Aula prática» correspondem a **duas entradas diferentes** no horário. - Para filtrar sobre os dois ao mesmo tempo, não especifique tipo no filtro. - Se você precisar auditar todos os tipos de uma mesma disciplina, utilize os filtros disponíveis na visualização e depois verifique os resultados na lista das aulas. #### Exibição do sobrenome em maiúsculas **P.** É possível exibir os sobrenomes em maiúsculas? Útil sobretudo quando o sobrenome também é um nome comum (por exemplo «Martin Pierre» vs «Martin PIERRE»). **R.** Sim. O parâmetro de capitalização dos nomes é definido nos parâmetros da escola. Ele pode aplicar-se ao nome, ao segundo nome se a opção estiver ativa, e/ou ao sobrenome segundo a ordem dos nomes configurada para o estabelecimento. #### Bloqueio de aula que não aparece em todas as visualizações **P.** O bloqueio do posicionamento de uma aula não é exibido sistematicamente quando se muda de visualização (post-it ↔ lista). **R.** O marcador de bloqueio depende da visualização e da natureza da aula. Nas visualizações de distribuição e em algumas linhas de curso, o bloqueio é exibido por um ícone [lock]. Se uma visualização não o mostrar, verifique o detalhe da aula antes de concluir que ela é modificável pelo algoritmo. #### Atribuição de sala: campus favorito e especializações prioritárias **P.** Na atribuição de uma sala, as salas de outro campus aparecem primeiro embora o campus favorito esteja marcado. Por quê? **R.** A ordenação toma por padrão o **campus vinculado à turma**, não o campus favorito do usuário. É um comportamento deliberado: a turma direciona a escolha da sala. Se a ordem proposta não for a esperada, verifique se a turma está bem vinculada ao campus desejado em Editar. Para as **especializações**, verifique as salas propostas e seus alertas de compatibilidade no seletor. Não presuma uma ordenação prioritária pela melhor compatibilidade. #### Capacidade total = soma das salas (multissalas) **P.** Quando várias salas são atribuídas a uma mesma aula, a Omniscol calcula corretamente a **capacidade total** como a soma das capacidades individuais, evitando assim os falsos alertas de sobrecapacidade? **R.** Sim. A capacidade total é calculada como a **soma** das capacidades das salas atribuídas. Se o grupo cabe na soma, nenhum alerta é disparado. Esse recurso está disponível **em todos os tipos de horário**: semanal, cíclico, calendário. Se a soma permanecer inferior ao grupo, o conflito é sinalizado. O administrador pode então: - adicionar uma sala suplementar, - reduzir o grupo, - aceitar o conflito se ele for deliberado (caso típico: sabe-se que nem todos os inscritos comparecerão). Consulte [Várias salas](#page-glossary.multi-room). #### Detectar as inconsistências de grupos em divisão de turma **P.** A Omniscol sinaliza «número diferente de aulas para os grupos em divisão de turma» sem precisar em quais disciplinas as inconsistências se encontram. Como investigar em detalhe? **R.** O painel de **estatísticas avançadas** da tela de distribuição das horas permite a inspeção detalhada, especialmente isolando os grupos que interagem nas faixas horárias envolvidas. Para os estabelecimentos onde os desequilíbrios são numerosos e intencionais, uma heurística limita a exibição dos alertas além de um limiar a fim de evitar uma lista incontrolável. Permanece possível exportar os cursos e filtrar em uma planilha para um diagnóstico exaustivo. #### Vários comentários com restrições diferentes **P.** Em uma mesma aula, é possível adicionar dois comentários com restrições de publicação distintas (um para os administradores somente, o outro para os professores)? **R.** Sim. Cada comentário possui a sua própria restrição de publicação: administradores, professores, ou todos os usuários. Utilize o botão Comentário para adicionar vários comentários e definir a sua visibilidade separadamente. #### Exibição vertical de um horário (carga semanal) **P.** Para visualizar a carga de um grupo ou a ocupação de um tipo de salas ao longo de uma semana completa, a exibição horizontal obriga a usar a rolagem. Uma exibição vertical está disponível? **R.** No módulo **Horário**, a exibição dos horários se faz na horizontal. Uma visualização vertical equivalente existe no módulo **Gestão de pessoal** para contextos relacionados (grades de vigilância). Consulte [Visão geral da Gestão de pessoal](#page-staffing.overview) e [Exibição e UX](#page-faq.display-and-ux). #### Estatísticas: aulas posicionadas vs cursos criados **P.** O contador da tela «distribuição das horas» indica quantos cursos são criados. Onde ver quantas horas estão efetivamente **posicionadas** no horário (vs criadas sem posicionamento)? **R.** Duas telas dão duas medidas complementares: - O **Painel** trabalha sobre o **horário operacional** (aulas realmente posicionadas, eventual fusão de vários horários publicados, consideração das ausências). As porcentagens exibidas são relativas («93 % das horas desta turma»), não uma taxa de posicionamento. - A tela de **distribuição das horas** mede os cursos declarados e os volumes criados. Se você precisar da taxa de posicionamento, verifique os cursos na visualização de agenda ou exporte a lista para filtrar as aulas sem posição. #### Contratado / colaborador externo visível no horário **P.** O ícone que distingue os contratados dos efetivos aparece ao lado do nome do professor nas visualizações de horário? **R.** Conforme a visualização: - **Visualização em grade** — o espaço é restrito e os nomes podem estar aí abreviados ou truncados em texto simples; o ícone não aparece aí sistematicamente. - **Listas, dicas de ferramenta e seletores** — em todos os lugares onde o nome completo é renderizado, um ícone [user-tie] precede o nome dos colaboradores cuja ficha possui o marcador Professor externo. Esse marcador «externo» é uma opção **Premium**; sem ele, nenhum ícone distingue os contratados. Consulte [Professor externo](#page-glossary.external-teacher). > _Premium_ #### Eventos pontuais: esclarecimentos frequentemente solicitados Alguns esclarecimentos sobre a tela de eventos (cf. [Eventos pontuais](#page-schedules.events)): - **Horários propostos** — o intervalo horário de um evento segue os Horário de funcionamento do campus; se ele for muito curto (evento noturno, por exemplo), amplie esses horários na ficha do campus. - **Modificação de horário no lugar** — o horário de um evento se modifica diretamente, com um clique no evento. - **Participantes** — a lista dos participantes propõe as turmas e os grupos, bem como os professores e os alunos individualmente. #### Ver também - [Aulas fora da grelha](#page-timetables.off-grid-lessons) - [Eventos pontuais](#page-schedules.events) - [Várias salas](#page-glossary.multi-room) - [Especialização de sala](#page-glossary.classroom-specialization) - [Exibição e UX](#page-faq.display-and-ux) - [Comportamento do algoritmo](#page-faq.solver-behavior) ### 16.8 FAQ — Segurança e alojamento *Source: `help/pt/faq/security-and-hosting.md` · id: faq.security-and-hosting · Updated: 2026-05-10* Esta página resume os pontos mais frequentes em matéria de segurança e alojamento. Para uma descrição exaustiva, a Omniscol fornece, mediante pedido (ou sob NDA, consoante os casos), os documentos oficiais: - `SECURITY_OVERVIEW.md` — visão geral pública, - `SECURITY_ONE_PAGER.md` — síntese para CISO, - `SECURITY_FULL.md` — documentação completa (governança, infraestrutura, controlos, conformidade, resposta a incidentes), - `ISO27001_MAPPING.md` — mapeamento para os controlos ISO 27001, - `SSI_QUESTIONNAIRE_STANDARD.md` — respostas ao questionário de segurança da informação padrão. Para qualquer questão de segurança: **[security@omniscol.com](mailto:security@omniscol.com)**. #### Onde estão alojados os meus dados? As menções legais indicam um alojamento na União Europeia, na AWS Paris e na Scaleway. Os compromissos precisos de redundância, cópia de segurança, retenção e disponibilidade dependem do quadro contratual aplicável à sua conta. #### A Omniscol está em conformidade com o RGPD? A Omniscol foi concebida para uma utilização conforme ao RGPD. Consequências práticas: - Alojamento exclusivo na UE (França). - **Isolamento lógico** por cliente: nenhum acesso cruzado é possível entre contas. - Nenhuma **definição de perfil**, nenhuma **revenda** de dados, nenhuma **utilização secundária** dos conteúdos da sua escola. - **Reversibilidade**: exportação completa em JSON a partir de **Baixar**. - Tratamento dos pedidos dos titulares dos dados de acordo com o quadro contratual e regulamentar aplicável. #### A Omniscol é certificada ISO 27001? Não é certificada até à data, mas **as práticas estão alinhadas** com os princípios do referencial e seguem uma abordagem baseada nos riscos e continuamente revista. O detalhe dos controlos pode ser fornecido no âmbito do quadro contratual ou de segurança adequado. #### Como são protegidas as palavras-passe? A Omniscol protege as palavras-passe da seguinte forma: - **Pré-cálculo do hash do lado do cliente** com **scrypt** — a sua palavra-passe em texto simples nunca chega aos servidores. - Armazenamento no servidor sob a forma de hash com sal. - Nenhuma palavra-passe em texto simples é alguma vez transmitida ou armazenada. - Nenhum administrador Omniscol pode ler, recuperar ou obter uma palavra-passe de utilizador. Em caso de dúvida sobre o comprometimento de uma conta, a alteração da palavra-passe invalida os acessos derivados que dependem deste segredo, nomeadamente as ligações de partilha associadas à palavra-passe de quem as criou. #### As comunicações são cifradas? Os acessos aplicacionais públicos passam por HTTPS. A configuração de exposição na rede depende da implementação escolhida e deve ser verificada no âmbito de segurança ou contratual da conta em causa. #### Como funciona a autenticação? As sessões Omniscol utilizam tokens assinados com um tempo de vida limitado; o acesso é renovado enquanto o utilizador trabalha na interface. As ligações de partilha e os tokens de API seguem regras separadas: - uma ligação de partilha pode ter uma data de expiração e depende também da conta que a criou; alterar a palavra-passe dessa conta ou desativá-la invalida os acessos em causa; - um token de API depende de uma chave criada na interface; eliminar essa chave ou atingir a sua data de expiração invalida os tokens associados. Ver também [Link de compartilhamento](#page-glossary.share-link) e [API Omniscol](#page-integrations.api-tokens). #### API: chaves e tokens O acesso à API gere-se a partir da interface com dois objetos visíveis: 1. **Chave** — criada com um rótulo e, se necessário, uma data de expiração. Esta expiração pode ser alterada mais tarde. 2. **Token** — gerado a partir de uma chave, com uma lista de pontos de acesso à API autorizados e uma expiração própria. Esta expiração não se altera após a geração; é preciso criar um novo token. Boa prática: uma chave por integração, com um rótulo explícito e uma expiração adaptada à necessidade. Em caso de dúvida, elimine a chave e crie uma nova. Ver [API Omniscol](#page-integrations.api-tokens). #### Os meus utilizadores podem usar a conta da sua empresa (SSO)? Sim, através de [OIDC / SSO](#page-integrations.oauth2), quando a configuração está ativada na conta. A Omniscol é compatível com o Google Workspace, o Microsoft Entra ID e os fornecedores OIDC genéricos. Cada utilizador liga-se então com a sua identidade empresarial e conserva os direitos configurados na Omniscol. #### Que proteções existem contra tentativas de ligação abusivas? - As respostas de autenticação falhada são deliberadamente atrasadas. - Os ecrãs de administração beneficiam de proteções reforçadas. - A Omniscol não indica se o identificador existe ou não: a mensagem permanece genérica. #### Ciclo de vida das contas de utilizador - **Desativação sem eliminação** — uma conta desativada já não se pode ligar, mas os dados a ela associados são preservados. - **Alteração obrigatória no primeiro acesso** — quando uma palavra-passe é definida manualmente, o utilizador deve alterá-la na primeira ligação. - **Reinicialização** — um administrador pode desencadear uma reposição sem conhecer a palavra-passe existente. #### Segurança de rede e operação Os documentos de segurança fornecidos mediante pedido detalham o alojamento, a separação de rede, as regras de acesso aos dados e os procedimentos operacionais aplicáveis à conta em causa. #### Existe um registo de auditoria? Sim, quando a opção de registos e a retenção correspondente estão ativadas para a conta. O perímetro visível depende das operações registadas e da profundidade configurada pela Omniscol. Ver [Registros de atividades (logs)](#page-admin.logs). #### OWASP Top 10 A Omniscol aplica controlos alinhados com os riscos do OWASP Top 10: controlo de acesso, cifragem, validação das entradas, configuração segura, acompanhamento das dependências, proteção das sessões e registo. O perímetro exato pode ser detalhado nos documentos de segurança fornecidos mediante pedido. #### Testes de segurança automatizados Controlos automatizados estão integrados no processo de desenvolvimento e de implementação da Omniscol. O seu perímetro evolui com o produto; os elementos detalhados podem ser fornecidos no âmbito de segurança adequado. #### Como efetuar uma cópia de segurança manual? O botão **Baixar** transfere uma exportação completa da conta no formato JSON. O ficheiro deve ser conservado com cuidado: contém os hashes das palavras-passe e o conjunto dos dados pessoais. Em caso de incidente grave, este ficheiro pode ser reenviado à equipa da Omniscol para reinjeção. Se a opção **Snapshots** estiver ativada na conta, pode também automatizar a criação de pontos de cópia de segurança restauráveis. Ver [Pontos de backup](#page-admin.snapshots). #### Histórico de incidentes No recenseamento mais recente (fevereiro de 2026): - **0 violações de dados de clientes** (histórico acumulado). - **0 incidentes de segurança** em 2025. Estes números são publicados no `SECURITY_ONE_PAGER.md`, documento revisto trimestralmente. #### Ver também - [Arquitetura e funções](#page-overview.architecture-and-roles) - [Link de compartilhamento](#page-glossary.share-link) - [Token de API](#page-glossary.api-token) - [API Omniscol](#page-integrations.api-tokens) - [OIDC / SSO](#page-integrations.oauth2) - [Cópias de segurança e snapshots](#page-admin.snapshots) - [Registros de atividades (logs)](#page-admin.logs) ### 16.9 FAQ — Preços e licenças *Source: `help/pt/faq/pricing-and-licenses.md` · id: faq.pricing-and-licenses · Updated: 2026-06-13* Perguntas frequentes sobre os planos de assinatura, as funções incluídas e as opções à la carte, bem como a faturação. Para o detalhe das funcionalidades por plano / opção, consulte [Planos e opções do Omniscol](#page-overview.plans-and-options). #### Quais planos de assinatura existem? Três planos principais, além de um catálogo de opções à la carte: | Plano | Público-alvo | | --- | --- | | **Lite** | Instituições muito pequenas, autônomos, formadores solo, testes — geração de horário e impressão apenas (sem publicação nem gestão de alunos) | | **Standard** | Instituição clássica (escola, ensino fundamental, ensino médio), equipe de planejamento única, horário semanal | | **Premium** | Ensino superior, formação continuada, grandes volumes, multissites complexos | A eles somam-se o **Standard Plus** (Standard acrescido do módulo **Gestão de pessoal**) e a oferta autônoma **Gestão de pessoal** (gestão de supervisão sem o restante do Omniscol). Consulte [Planos e opções do Omniscol](#page-overview.plans-and-options) para o detalhe das funcionalidades. #### Quais funções estão incluídas no Premium? Por padrão em uma conta Premium: - Modo calendário — horários datados aula por aula; - Disponibilidades de calendário — disponibilidades informadas data por data; - Vários horários ativos — publicações simultâneas nas mesmas semanas. (Os **grupos de grupos** não são uma função Premium: estão disponíveis em todas as contas, seja qual for o plano.) #### Quais opções podem ser contratadas à la carte? As opções contratuais restantes podem ser ativadas conforme a necessidade da conta, em complemento ao plano escolhido: - Vários horários ativos em conta Standard — caso excepcional de ativação contratual, com enquadramento e faturação adaptados (a função está incluída de base no Premium); - Contas vinculadas — contas vinculadas e compartilhamento de ocupações de recursos, ativado a pedido pela Omniscol; - Papéis personalizados — papéis personalizados com matriz de permissões; - Pontos de backup — estados da conta restauráveis; - Colaboração — edição colaborativa em tempo real; - **Gestão de pessoal** — módulo de supervisão / acompanhamento (também disponível como oferta autônoma sem o restante do Omniscol); - Sincronização com sistemas externos — sincronização com um ERP / SI externo (Aurion, Auriga, ou conector adicionado sob projeto); - Registros de atividade — consulta dos registros quando a profundidade de retenção está configurada na conta; - Módulos complementares — módulos opcionais adicionais, conforme o módulo e o contrato. #### Existe uma oferta «Gestão de pessoal isolada»? Sim. Para as instituições que precisam apenas da gestão de supervisão / acompanhamento, o módulo **Gestão de pessoal** é também comercializado sem o restante do Omniscol. A conta expõe então somente o módulo **Gestão de pessoal** e as telas de usuário mínimas. #### Onde encontrar os preços? Os preços não são exibidos nesta documentação: dependem do contrato com a sua instituição (tamanho, funcionalidades, duração, acompanhamento). Entre em contato com **[contact@omniscol.com](mailto:contact@omniscol.com)** para um orçamento. #### Como saber o plano da minha conta? O plano ativo e as opções contratadas não são expostos na interface de administração corrente (a rubrica correspondente de **Configurações** é reservada à Omniscol). Para saber o plano de uma conta, entre em contato com a equipe Omniscol. #### É possível mudar de plano ou adicionar opções no decorrer do ano? Sim. A adição de uma opção é efetiva imediatamente, sem interrupção de serviço. A passagem do Standard ao Premium segue o mesmo princípio. A desativação de uma opção exige que as funcionalidades correspondentes já não sejam utilizadas na conta (por exemplo, nenhum compartilhamento de recursos entre contas se as contas vinculadas forem removidas, ou nenhuma publicação simultânea se os vários horários ativos forem removidos de uma conta Standard afetada). #### Existe um período de avaliação? Sim. Um período de avaliação é geralmente oferecido às novas contas, com acompanhamento da equipe Omniscol para a configuração inicial. Condições sob consulta. #### Como funciona a faturação? A faturação é anual por padrão, com compromisso pela duração escolhida. As condições específicas (ritmo de faturação, formas de pagamento) são definidas no contrato. #### O que acontece ao final do contrato? Os seus dados permanecem acessíveis durante um período de transição definido contratualmente, durante o qual a exportação JSON completa permanece disponível. A reversibilidade é garantida por contrato (RGPD). #### Ver também - [Planos e opções do Omniscol](#page-overview.plans-and-options) - [O que é o Omniscol?](#page-overview.what-is-omniscol) - [Segurança e alojamento](#page-faq.security-and-hosting) --- ## Glossário **Glossário** — 51 terms - [Alinhamento de grupos](#page-glossary.alignment) - [Aluno / Estudante / Aprendiz](#page-glossary.student) - [Ano letivo](#page-glossary.school-year) - [Aula / Sessão](#page-glossary.lesson) - [Aulas alternadas / Semanas A-B](#page-glossary.alternate-lessons) - [Aulas associadas (alternância de meio-grupos)](#page-glossary.associated-lessons) - [Aulas geminadas](#page-glossary.concatenated-lessons) - [Ausência](#page-glossary.absence) - [Campus](#page-glossary.campus) - [Coensino](#page-glossary.co-teaching) - [Conflito](#page-glossary.conflict) - [Curso](#page-glossary.course) - [Curso transversal](#page-glossary.transverse-course) - [Diagnóstico](#page-glossary.diagnostic) - [Disciplina](#page-glossary.subject) - [Disponibilidades dos professores (desejos)](#page-glossary.wishes) - [Divisão de turma](#page-glossary.class-division) - [Especialização de sala](#page-glossary.classroom-specialization) - [Estado de uma aula](#page-glossary.lesson-status) - [Férias](#page-glossary.holidays) - [Geração automática / Algoritmo de geração](#page-glossary.solver) - [Gestão de pessoal](#page-glossary.staffing) - [Grupo](#page-glossary.group) - [Grupo de grupos](#page-glossary.groups-of-groups) - [Grupo livre](#page-glossary.free-group) - [Horário](#page-glossary.timetable) - [Horário cíclico](#page-glossary.cyclic-timetable) - [Horário semanal](#page-glossary.weekly-timetable) - [iCal (exportação de agenda)](#page-glossary.ical) - [Incompatibilidade (entre disciplinas)](#page-glossary.incompatibility) - [Janela de datas](#page-glossary.date-windows) - [Linha do tempo](#page-glossary.timeline) - [Link de compartilhamento](#page-glossary.share-link) - [Modalidade de uma aula](#page-glossary.lesson-modality) - [Modo calendário](#page-glossary.calendar-mode) - [Modo de exibição do horário](#page-glossary.schedule-view-mode) - [Nível](#page-glossary.level) - [Painel](#page-glossary.dashboard) - [Painel de display](#page-glossary.panel) - [Professor / Colaborador](#page-glossary.teacher) - [Professor externo / Colaborador externo](#page-glossary.external-teacher) - [Publicação / Ativação de um horário](#page-glossary.publication) - [Recurso](#page-glossary.resource) - [Sala de aula](#page-glossary.classroom) - [Sala grande (várias aulas simultâneas)](#page-glossary.large-room) - [Site](#page-glossary.site) - [Substituição / Reposição](#page-glossary.substitution) - [Tipo de aula](#page-glossary.lesson-type) - [Token de API](#page-glossary.api-token) - [Turma](#page-glossary.class) - [Várias salas (uma aula em várias salas)](#page-glossary.multi-room) ### Alinhamento de grupos *Source: `help/pt/glossary/alignment.md` · id: glossary.alignment · Updated: 2026-06-26* *Also known as : agrupamento transversal* Um **alinhamento** reúne vários [grupos](#page-glossary.group) oriundos de **turmas diferentes** que devem compartilhar **a mesma faixa horária, o mesmo professor e a mesma sala**. O exemplo clássico: os latinistas de 8A, 8B e 8C têm juntos uma única aula de latim. Em vez de criar três aulas em paralelo (que disputariam professor e sala), você cria um **grupo «Latinistas»** em cada uma das três turmas e depois os **alinha**. A geração automática coloca então uma única aula, vinculada aos três grupos simultaneamente. Casos típicos: - LE1 / LE2 entre turmas (grupos de Inglês reunidos de várias turmas), - disciplinas optativas entre turmas (Latim, Grego, Ciências Políticas), - disciplinas de especialidade no ensino médio francês (desde a reforma), - comódulos no ensino superior (uma mesma disciplina de tronco comum para vários percursos). #### Poder e restrições O alinhamento é extremamente poderoso — evita a duplicação, garante a coerência das alterações (uma aula deslocada é deslocada em todo lugar) e simplifica a consulta. **Mas também é muito restritivo**: - Uma vez alinhado, um grupo não pode mais ter aula independente nessa faixa horária específica: se uma turma entre as três tiver uma aula em exceção, é preciso **duplicar** o seu grupo e desalinhar o clone. - Todos os grupos alinhados devem ter, nas suas respectivas turmas, exatamente o mesmo volume horário e a mesma configuração. Um desequilíbrio produz um alerta de coerência (ver a aba Geração). - As alterações (acrescentar uma aula, mudar a sala) devem ser feitas uma única vez, no alinhamento — o Omniscol propaga. Mas editar a aula por meio de uma única das turmas pode produzir efeitos colaterais. #### Diferenças importantes | Conceito | Âmbito | Restrição | | --- | --- | --- | | [Partição](#page-glossary.class-division) | Grupos de **uma** turma | Mesma faixa horária, professor/sala **diferentes** | | **Alinhamento** | Grupos de **várias** turmas | Mesma faixa horária, **mesmo** professor, **mesma** sala | | [Grupo de grupos](#page-glossary.groups-of-groups) | Iguais aos do alinhamento | Mesma faixa horária, professor/sala únicos, **edição flexível a posteriori** | #### No modo calendário Num horário em modo [calendário](#page-glossary.calendar-mode), prefere-se o [grupo de grupos](#page-glossary.groups-of-groups) ao alinhamento: mais fácil de editar, é possível adicionar ou retirar um grupo à medida que se avança sem precisar recriar a estrutura. #### Ver também - [Grupo](#page-glossary.group) - [Partição](#page-glossary.class-division) - [Grupos de grupos](#page-glossary.groups-of-groups) - [Curso transversal](#page-glossary.transverse-course) - [Alinhamentos de grupos](#page-core-concepts.alignments) ### Aluno / Estudante / Aprendiz *Source: `help/pt/glossary/student.md` · id: glossary.student · Updated: 2026-05-14* *Also known as : participante · formando* Um **aluno** no Omniscol é um indivíduo inscrito numa [turma](#page-glossary.class), que assiste a aulas e eventualmente membro de um ou vários [grupos](#page-glossary.group) dentro dessa turma. **Aluno** é o termo canónico da interface; conforme o contexto da instituição, o vocabulário corrente muda: - **Ensino básico / secundário** — «aluno», - **Ensino superior** — «estudante», - **Formação contínua** — «aprendiz», «participante», «formando». Todos remetem para a mesma entidade Omniscol. #### Os alunos são **opcionais** Ponto importante: o Omniscol funciona muito bem **sem nenhum aluno inserido**. Os horários, as disponibilidades dos professores, a geração e as estatísticas do painel funcionam ao nível turma / grupo / professor. O interesse de inserir os alunos individualmente: - **Horários personalizados** — cada estudante vê o seu próprio horário após a autenticação, filtrado pela sua turma e pelos seus grupos. - **Estatísticas detalhadas** — painel por estudante (horas de aula, dias de presença). - **Ausências** — um estudante pode declarar as suas próprias ausências (com validação administrativa). - **Estudantes em repetição / fora do currículo** — gestão dos estudantes que devem assistir a aulas de uma turma diferente da sua. Se você não precisar destas funcionalidades, não insira os estudantes — não perde nada de essencial. #### Atribuição a uma turma e a grupos A atribuição de um estudante à sua turma e aos seus grupos faz-se em Alunos, após a publicação do primeiro horário do ano. Você também pode atribuir em massa através da operação Atribuir a uma turma sobre uma seleção múltipla. #### Caso da repetição e do fora do currículo Um estudante pode ser atribuído a várias turmas (por exemplo, um estudante do 3.º ano que deve também assistir a um módulo do 2.º ano) ou ser atribuído apenas a certos grupos de uma turma (um *fuori corso* que refaz apenas uma disciplina). Estes casos são geridos através da seleção multiturma / multigrupo do ecrã de atribuição. #### Ver também - [Turma](#page-glossary.class) - [Grupo](#page-glossary.group) - [Gerir os alunos](#page-admin.students) ### Ano letivo *Source: `help/pt/glossary/school-year.md` · id: glossary.school-year · Updated: 2026-05-10* *Also known as : ano universitário · ano acadêmico · exercício* Um **ano letivo** no Omniscol é o período de referência sobre o qual horários são publicados. É um objeto declarado ao nível da escola em Anos escolares. #### Por que é obrigatório Você precisa ter ao menos **um** ano letivo declarado para poder publicar um horário. O ano letivo materializa a **linha do tempo** sobre a qual você ativará em seguida os horários para faixas específicas. #### Convenções de nomenclatura Para uma exibição clara, nomeie seus anos pelas suas datas: «2025-2026» em vez de «Ano atual». Assim você pode conservar o histórico dos anos passados e preparar o seguinte em paralelo. #### Férias Você pode preencher as férias do ano letivo: - **por copiar e colar** uma tabela (a partir do Excel, Numbers, etc.), - **por importação automática** das datas pré-preenchidas para o seu país (proposta na criação do ano se o banco de dados as conhecer), - **inserindo manualmente** os períodos. As férias são retiradas da linha do tempo — os horários publicados não se aplicam a elas. #### Desvios de alternância Se a sua escola usa [semanas alternadas](#page-glossary.alternate-lessons) (A/B), as férias podem perturbar a alternância. Você pode criar um **desvio virtual** para tratar esses casos (clique nas semanas em questão na linha do tempo). #### Vários anos em paralelo A qualquer momento, você pode ter vários anos letivos definidos: o ano atual, o ano anterior (histórico) e o próximo em preparação. O botão Ano letivo seguinte (▶︎) na linha do tempo alterna entre anos. O **ano letivo atual** é definido em Ano letivo atual. É ele que determina o que os usuários veem por padrão. #### Ver também - [Aulas alternadas / semanas A/B](#page-glossary.alternate-lessons) - [Gerenciar um ano letivo](#page-admin.school-year) - [Preparar o próximo ano letivo](#page-timetables.next-school-year) ### Aula / Sessão *Source: `help/pt/glossary/lesson.md` · id: glossary.lesson · Updated: 2026-06-13* *Also known as : tempo letivo · período de aula · faixa horária* Uma **aula** (ou *aula de um curso*) é a unidade planejada posicionada na grade de um horário: é ela que você posiciona, desloca, bloqueia, altera, cancela ou substitui. Uma aula possui: - uma **turma** ou um [grupo](#page-glossary.group) (o público), - uma **disciplina** ([subject](#page-glossary.subject)), - um ou vários **professores** ([coensino](#page-glossary.co-teaching)), - uma ou várias **salas** (ver [várias salas](#page-glossary.multi-room)), - um ou vários **recursos** (videoprojetor móvel, mala de tablets…), - uma **duração** (geralmente 1 ou 2 unidades de tempo da grade do site), - eventualmente um **tipo** (aula prática, laboratório, aula teórica, exame etc., definido em Criar), - eventualmente um **memorando** (comentário livre, com restrição de publicação: apenas administradores, administradores + professores, ou todos). #### Aula ou curso? A interface do Omniscol usa «aula» para a unidade posicionada na grade. O **[curso](#page-glossary.course)** continua a ser a palavra certa para o ensino em si — a disciplina ensinada a uma turma, com o seu volume e os seus atributos: fala-se do curso de inglês, das horas de curso, dos dias de curso, e um mesmo curso dá lugar a uma ou várias aulas no horário. O rótulo Tipo de aula classifica cada aula pelo seu formato, e a noção de [aulas complexas](#page-core-concepts.complex-lessons) conserva igualmente a palavra «curso». #### Vocabulário conforme o contexto - **Aula** — termo da interface para a unidade planejada, seja qual for o tipo de estabelecimento. - **Lição** — sinônimo corrente no ensino fundamental e médio. - **Intervenção** — termo usual do ensino superior: o palestrante realiza uma intervenção (uso adotado pelos conectores Auriga e Aurion). - **Faixa horária** — designa antes a posição horária na grade do que a aula que a ocupa. - Uma **prestação** designa uma aula ministrada por um professor contratado por hora (por oposição a um efetivo); não é um tipo de curso diferente, é apenas o palestrante que muda. #### Aulas simples, cursos complexos Uma aula simples = um público, um professor, uma sala, em uma faixa horária. Os **cursos complexos** combinam várias aulas: - **[Concatenados](#page-glossary.concatenated-lessons)** — duas aulas que se sucedem (uma aula prática de 2 h = uma aula prática de 1 h concatenada com outra aula prática de 1 h). - **[Associados](#page-glossary.associated-lessons)** — alternância de grupos em duas aulas consecutivas (grupo A em biologia e depois em física, grupo B em física e depois em biologia). - **[Alternados](#page-glossary.alternate-lessons)** — aulas que só voltam uma semana a cada duas (semana A vs. semana B), uma semana a cada três, etc. Configurado em Salvar. #### Aulas e turmas fora da grade horária Por padrão, as aulas alinham-se às faixas horárias da grade horária do site. Mas o Omniscol também gerencia as aulas que não cabem nela (um exame de 2 h começando às 10:20 numa grade de passo de 50 min). Ver [aulas de curso e turmas fora da grade](#page-timetables.off-grid-lessons). #### Ver também - [Curso](#page-glossary.course) - [Tipo de aula (aula prática, laboratório, aula teórica…)](#page-glossary.lesson-type) - [Status de uma aula](#page-glossary.lesson-status) - [Modalidade de uma aula](#page-glossary.lesson-modality) - [Disciplina](#page-glossary.subject) - [Aulas complexas](#page-core-concepts.complex-lessons) - [Várias salas](#page-glossary.multi-room) ### Aulas alternadas / Semanas A-B *Source: `help/pt/glossary/alternate-lessons.md` · id: glossary.alternate-lessons · Updated: 2026-05-10* *Also known as : semanas alternadas · semanas A/B · semana par ímpar · alternância semanal* As **aulas alternadas** são aulas que não voltam a cada semana, mas alternam com outras aulas na mesma faixa horária. O caso clássico: uma aula na semana A, outra na semana B, no mesmo dia à mesma hora. #### Configuração da cadência A alternância é configurada em Salvar. Três opções: - **Desativada** — sem alternância. - **Letras** — semana A, B (e C, D… se você acrescentar mais). - **Números** — semana 1, 2 (e 3, 4… se você estender). O Omniscol não impõe um ciclo de 2 — você pode alternar em 3, 4 ou mais semanas. #### Criação de uma aula alternada No momento de configurar a distribuição de horas: 1. Posicione o mouse sobre a aula a alternar. Um ícone [plus] aparece no canto superior direito; clique. 2. Uma nova faixa livre é adicionada para a semana alternada. 3. Crie a aula correspondente a essa nova faixa. 4. Posicione-a com o seu botão de fixação [thumbtack] e depois clique no horário dia/hora desejado entre as marcações coloridas. Você pode repetir para adicionar outras semanas alternadas à mesma aula. #### Combinação com outras complexidades Uma aula alternada pode ser: - **simples** — alternância pura entre duas aulas, - **[concatenada](#page-glossary.concatenated-lessons)** — uma aula que alterna e que também é uma dupla faixa horária, - **[associada](#page-glossary.associated-lessons)** — combinada com aulas associadas (permutação de grupos: A em biologia depois física, B em física depois biologia). A permutação de grupos é uma complexidade **distinta** da alternância A/B, mas pode combinar-se com ela. #### Deslocamento pelas férias Se você estava na semana A logo antes das férias e quer retomar na semana B depois, crie um **deslocamento virtual** na linha do tempo das semanas do ano (ver [ano letivo](#page-glossary.school-year)). Sem deslocamento, a alternância simplesmente retoma o seu ciclo normal. #### Ver também - [Aula / Sessão](#page-glossary.lesson) - [Aulas complexas](#page-core-concepts.complex-lessons) - [Ano letivo e férias](#page-glossary.school-year) ### Aulas associadas (alternância de meio-grupos) *Source: `help/pt/glossary/associated-lessons.md` · id: glossary.associated-lessons · Updated: 2026-05-10* *Also known as : alternância grupo a/b · swap* As **aulas associadas** são duas aulas simultâneas em meio-grupos que **alternam consecutivamente**. O caso típico: ``` Faixa horária 1: grupo A em biologia, grupo B em física Faixa horária 2: grupo A em física, grupo B em biologia ``` Os dois grupos viram as duas disciplinas ao fim das duas faixas horárias, mas numa ordem diferente. Essa estrutura é muito difundida em ciências experimentais (aula prática de biologia + aula prática de física com dois professores especialistas que fazem «rodízio»), nas artes (um meio-grupo na prática, o outro na teoria, depois permutação), etc. #### Criação 1. Crie primeiro duas aulas [concatenadas](#page-glossary.concatenated-lessons) (uma sob a outra). 2. Passe o mouse sobre a fronteira entre as duas: um botão «associação» aparece. 3. Clique e designe os **dois grupos** que devem alternar — idealmente declarados em [partição](#page-glossary.class-division). #### Coerência com os grupos Os grupos utilizados numa associação devem ser declarados em **partição** na turma — senão a geração automática emite um alerta de coerência (um grupo não pode estar em dois lugares ao mesmo tempo). #### Ver também - [Aulas geminadas](#page-glossary.concatenated-lessons) - [Divisão de turma](#page-glossary.class-division) - [Aulas complexas](#page-core-concepts.complex-lessons) ### Aulas geminadas *Source: `help/pt/glossary/concatenated-lessons.md` · id: glossary.concatenated-lessons · Updated: 2026-05-10* *Also known as : aulas coladas · aulas consecutivas · aulas duplas · aulas encadeadas* **Aulas geminadas** são duas aulas que devem ser posicionadas **consecutivamente** no dia. A geração automática garante que elas se encadeiem sem nada intercalado. Casos típicos: - **aula prática de 2h** a partir de dois blocos de 1h, - **aula teórica + aula prática** em sequência (aula teórica de introdução, depois aula prática de aplicação), - **sessão dupla de exame** de 2h em uma faixa horária de 1h × 2. #### Criação Arraste e solte uma aula sob outra na visualização de distribuição de horas. As duas aulas aparecem então **coladas** uma sob a outra, formando um bloco único. #### Separar O botão «tesoura» que aparece ao passar o cursor entre duas aulas geminadas permite **separar** a geminação. As duas aulas voltam então a ser independentes. #### Por que não criar uma única aula mais longa? Boa pergunta. Duas razões principais para geminar em vez de alongar: 1. As aulas podem ter **tipos diferentes** (aula teórica geminada com aula prática), ou **professores diferentes**, ou **salas diferentes**. 2. Você quer contar nas estatísticas duas aulas distintas (duas entradas de registro de conteúdo) em vez de uma. Se todos os atributos forem idênticos, alongar uma única aula é mais simples. A geminação traz flexibilidade onde ela é necessária. #### Ver também - [Aulas associadas](#page-glossary.associated-lessons) - [Aulas complexas](#page-core-concepts.complex-lessons) ### Ausência *Source: `help/pt/glossary/absence.md` · id: glossary.absence · Updated: 2026-05-14* *Also known as : indisponibilidade · licença · afastamento · ausência pontual* Uma **ausência** no Omniscol é a declaração de que uma entidade não estará presente durante um período determinado. As entidades geridas são os professores, as turmas, os alunos e, se o Gestão de pessoal estiver ativo, os membros do pessoal. Uma ausência aceita pode alterar a exibição das aulas: - **professor ausente sem substituto**: aula marcada como impactada, com o professor riscado; - **professor ausente com [substituto](#page-glossary.substitution)**: substituto exibido ao lado do titular riscado; - **turma ausente**: aulas da turma retiradas da exibição durante o período; - **aluno ausente**: acompanhamento vinculado ao aluno, sem alterar as aulas da sua turma. #### Situações de uma ausência - **aceito**: a ausência é validada e considerada. - **pendente**: solicitação declarada pelo usuário em questão, a ser validada por um administrador. - **rejeitado**: solicitação rejeitada. - **abortado**: solicitação cancelada por quem a declarou. Apenas as ausências com a situação **aceito** impactam a exibição dos horários. #### Campos de uma ausência - **Entidade**: professor, turma, aluno ou pessoal se a Gestão de pessoal estiver ativa. - **Intervalo de datas**: início e fim. Uma ausência realmente em aberto deve ser acompanhada explicitamente; o fim do ano letivo pode servir de limite técnico caso nenhum fim seja informado. - **Intervalo de horário**: dia inteiro ou faixas horárias precisas. - **Filtros**: turmas, disciplinas ou atribuições conforme o tipo de entidade. - **Motivo**: escolhido na lista proposta; um administrador pode inserir um motivo personalizado. - **Comentário**: texto livre curto. - **Situação**: aceito, pendente, rejeitado ou abortado. #### Ver também - [Substituição / suplência](#page-glossary.substitution) - [Módulo Ausências — visão geral](#page-absences.overview) - [Declarar uma ausência](#page-absences.declaring) ### Campus *Source: `help/pt/glossary/campus.md` · id: glossary.campus · Plan: premium · Updated: 2026-06-13* > **Premium** *Also known as : unidade · faculdade · polo* > _Premium_ Um **campus** permite distinguir várias unidades, faculdades ou polos dentro de uma mesma conta Omniscol. A noção de campus é **reservada às contas Premium** e permanece opcional: crie campi apenas se realmente ajudarem a refletir sua organização. A noção é **organizacional**. Ela não substitui o [local](#page-glossary.site), que descreve antes uma realidade geográfica ou física: lugar, grade horária, salas, tempo de deslocamento. O campus torna-se particularmente útil quando a noção de local não coincide com sua organização lógica. Exemplos: - várias faculdades compartilham os mesmos edifícios; - várias escolas de um mesmo grupo compartilham vários locais, de forma cruzada; - um mesmo local físico acolhe vários polos ou programas. Mesmo quando campus e local coincidem amplamente, a noção pode permanecer interessante para facilitar os filtros e os agrupamentos. #### Para que serve um campus Um campus serve principalmente para: - agrupar turmas segundo uma mesma organização; - facilitar certos filtros e agrupamentos, especialmente no diagnóstico dos conflitos. O campus não define por si só uma grade horária, um tempo de deslocamento ou uma restrição de posicionamento estrita. Esses comportamentos permanecem sustentados pelos locais, pelas salas, pelos recursos e pelas restrições do horário. #### Onde configurá-lo Os campi são criados nos [configurações gerais](#page-admin.parameters), abaixo dos níveis de turma. Cada turma pode em seguida ser vinculada a um campus, o que alimenta os filtros e agrupamentos correspondentes. #### Ver também - [Site](#page-glossary.site) - [Sala de aula](#page-glossary.classroom) - [Turma](#page-glossary.class) - [Nível](#page-glossary.level) - [Detectar e resolver os conflitos](#page-timetables.conflicts) ### Coensino *Source: `help/pt/glossary/co-teaching.md` · id: glossary.co-teaching · Updated: 2026-05-10* *Also known as : docência compartilhada · ensino em dupla · professor principal e secundário* O **coensino** designa uma aula ministrada simultaneamente por **dois ou mais professores**, na mesma sala, com o mesmo público de alunos. O Omniscol modela esse caso de forma simples: uma aula pode ter **vários professores**. Cada um é creditado com a aula em suas estatísticas e em seu serviço horário. #### Casos típicos - **Supervisão reforçada** — um professor titular + um auxiliar, dois professores para um efetivo numeroso. - **Professor visitante pontual** — uma aula cuja sessão do dia é coministrada por um professor externo (cf. [professor externo](#page-glossary.external-teacher)). - **Corresponsáveis** — módulo ensinado em dupla ao longo de todo o semestre. - **Dupla especialidade** — um módulo multidisciplinar (por exemplo «informática para a saúde» com um médico e um cientista da computação). #### Diferença em relação à alternância O coensino são **dois professores ao mesmo tempo na mesma aula**. A **alternância** ([aulas alternadas](#page-glossary.alternate-lessons)) são **dois professores na mesma faixa horária, mas em semanas diferentes**. Se os seus dois professores se alternam todas as semanas, mas nunca estão juntos, trata-se de aulas alternadas, não de coensino. Se um deles intervém apenas em algumas aulas pontuais, o mais simples é criar uma aula separada para essas datas específicas com o professor visitante, além da aula principal — sobretudo no modo [calendário](#page-glossary.calendar-mode). #### Ver também - [Aula / Sessão](#page-glossary.lesson) - [Professor externo](#page-glossary.external-teacher) - [Coensino no ensino superior](#page-higher-ed.co-teaching) ### Conflito *Source: `help/pt/glossary/conflict.md` · id: glossary.conflict · Updated: 2026-06-25* *Also known as : alerta · incompatibilidade detectada · sobreposição · colisão* Um **conflito** no Omniscol é uma situação em que duas restrições não podem ser satisfeitas simultaneamente. Exemplos: - um professor atribuído a duas aulas na mesma faixa horária, - uma sala reservada por duas aulas ao mesmo tempo, - um grupo de alunos que deveria estar em dois lugares ao mesmo tempo, - uma aula que não respeita a especialização exigida por sua disciplina, - uma aula cuja capacidade total (soma das salas atribuídas) é inferior ao efetivo do grupo, - um alinhamento em que os grupos alinhados têm volumes horários diferentes. #### Detecção em tempo real O Omniscol detecta os conflitos **à medida que você preenche os dados**, não apenas no momento da geração: - faixa vermelha no topo da tela de distribuição de horas, - ícone [triangle-exclamation] nas aulas e nas turmas envolvidas, - lista de conflitos clicável (a «lupa» leva ao detalhe). #### Conflitos intencionais Nem todos os conflitos devem ser resolvidos. Alguns são intencionais: - o mesmo grupo em um exame + uma sala de tempo adicional (a mesma coorte de alunos é esperada em duas salas conforme as condições), - efetivo > capacidade da sala quando você sabe que nem todos os inscritos virão. Você pode **deixar o conflito**; o alerta permanece exibido, mas não bloqueia o funcionamento. #### Conflitos bloqueadores Certas incoerências impedem que a **geração automática** seja bem-sucedida: - nenhuma sala compatível com uma disciplina + um volume horário, - disponibilidades de um professor totalmente incompatíveis com suas aulas, - alinhamento estruturalmente impossível. Esses conflitos são marcados como **críticos**; enquanto existirem, o botão Gerar um horário permanece indisponível. #### Ver também - [Diagnóstico](#page-glossary.diagnostic) - [Geração automática](#page-glossary.solver) - [Detectar e resolver os conflitos](#page-timetables.conflicts) ### Curso *Source: `help/pt/glossary/course.md` · id: glossary.course · Updated: 2026-06-26* *Also known as : disciplina da turma · curso da turma · linha de curso* Um **curso** é o ensino de uma [disciplina](#page-glossary.subject) a uma [turma](#page-glossary.class) (ou a um de seus [grupos](#page-glossary.group)), ao longo de um período determinado. É a unidade de base da sua **oferta pedagógica**: o que deve ser ensinado, a quem e em que volume — independentemente do momento em que isso ocorrerá no horário. Um curso possui: - uma **disciplina** (a matéria ensinada), - eventualmente um **[tipo de aula](#page-glossary.lesson-type)** (aula teórica, aula prática, laboratório, exame…) — o par `(disciplina, tipo)` forma um curso distinto, - um **volume horário** pretendido (horas por semana, ou número de aulas), - um ou vários **professores** atribuídos, - eventualmente **restrições**: peso pedagógico, sala especializada exigida, incompatibilidades, preferências de posicionamento. #### Curso, disciplina, aula: não confundir - A [disciplina](#page-glossary.subject) é a matéria pura (a matemática), no catálogo da escola. - O **curso** é essa disciplina *aplicada a uma turma*, com um volume e atributos: «matemática no 9.º A, 4 h por semana, como aula prática». - As [aulas](#page-glossary.lesson) são as **ocorrências** concretas que implementam o curso na grade (as quatro faixas horárias semanais efetivamente posicionadas). Um curso dá lugar, portanto, a uma ou várias aulas; excluir uma aula não exclui o curso. #### Um conceito implícito na interface A interface não diz «curso» nesse ponto: você o constrói **atribuindo uma disciplina a uma turma** (guia Cursos de uma turma), e depois informando volume, tipo e professores. A noção continua útil para raciocinar — particularmente no ensino superior, onde se distingue claramente o curso (a definição) de suas aulas (as ocorrências). #### O conjunto dos cursos: o programa O conjunto dos cursos de uma turma — ou de uma formação — constitui o seu **programa**. Conforme o nível e o vocabulário da instituição, também se fala em **currículo**, **plano de ensino**, **matriz curricular** ou **ementa**. O Omniscol não impõe esse vocabulário: ele manipula cursos (disciplinas de turma, tipadas); a soma deles *é* a matriz curricular. #### Ver também - [Disciplina](#page-glossary.subject) - [Aula / Sessão](#page-glossary.lesson) - [Tipo de aula](#page-glossary.lesson-type) - [Cursos, aulas, tipos de aula](#page-core-concepts.lessons-and-types) - [Organização dos dados: disciplinas, turmas, horários](#page-core-concepts.data-model) - [Configurar as disciplinas por turma](#page-timetables.creating-classes) ### Curso transversal *Source: `help/pt/glossary/transverse-course.md` · id: glossary.transverse-course · Updated: 2026-06-21* *Also known as : cursos transversais · curso comum · curso compartilhado · disciplina comum · tronco comum · ensino transversal* Um **curso transversal** reúne estudantes de **várias turmas, percursos ou coortes** em torno de um mesmo curso — tronco comum, minors, optativas inter-percursos, conferências inter-coortes. No Omniscol, ele é modelado na maioria das vezes com um **[grupo de grupos](#page-glossary.groups-of-groups)** (outros softwares falam de «agrupamento»): você agrega os grupos envolvidos em uma única entidade, sobre a qual você posiciona o curso. Ele aparece então em todas as turmas parentes e permanece **modificável a posteriori** — você adiciona ou remove um grupo sem alterar a estrutura. É a opção a privilegiar, em particular no ensino superior e em modo calendário. Para uma necessidade **pontual**, sem criar uma entidade nomeada, você também pode **atribuir vários grupos diretamente à aula** a partir do seu seletor de grupo. Mais rápido, mas menos legível e menos reutilizável. Quando as turmas são **paralelas e de estrutura idêntica** (mesmos volumes de horas), sobretudo em horário semanal ou cíclico, o **[alinhamento](#page-glossary.alignment)** continua pertinente: uma única aula compartilhada entre os grupos, mesma faixa horária, mesmo professor, mesma sala — ao custo de uma composição fixa. #### Ver também - [Grupo de grupos](#page-glossary.groups-of-groups) - [Alinhamento de grupos](#page-glossary.alignment) - [Alinhamentos e grupos de grupos](#page-timetables.alignments-and-groups-of-groups) - [Grupos de grupos](#page-core-concepts.groups-of-groups) ### Diagnóstico *Source: `help/pt/glossary/diagnostic.md` · id: glossary.diagnostic · Updated: 2026-06-26* *Also known as : verificação · controlo · alerta de configuração · alerta de coerência* Um **diagnóstico** no Omniscol é uma verificação de coerência executada de forma contínua pelo sistema, que assinala os problemas de configuração do horário antes que estes façam a geração falhar ou produzam um resultado incorreto. #### Níveis de gravidade - **Crítico** (vermelho, bloqueante) — impede a geração de ser bem-sucedida: alinhamento estruturalmente impossível, capacidade total insuficiente, professor sem qualquer faixa horária livre… - **Aviso** (laranja) — pode ser deixado tal como está, mas assinala um risco ou uma incoerência a validar: desequilíbrio nos volumes alinhados, sala ligeiramente subdimensionada, disponibilidade muito restritiva. - **Informação** (azul) — nota não bloqueante: «algumas salas nunca são utilizadas», «um professor tem um serviço muito inferior ao dos seus colegas». #### Onde ver os diagnósticos - No **banner superior** do ecrã de distribuição de horas e da visualização do horário. - Junto ao **nome da turma** ou do professor em causa nas listas. - Detalhados no separador Geração (ou verificação consoante o modo do horário) com uma explicação contextual para cada diagnóstico. #### Diagnósticos frequentes | Diagnóstico | Causa típica | Como resolver | | --- | --- | --- | | Sem sala compatível | Especialização exigida sem sala correspondente | Criar a sala ou retirar a especialização | | Volume horário incoerente num alinhamento | Uma turma tem 2h, a outra 3h no mesmo grupo alinhado | Alinhar os volumes, ou desalinhar | | Capacidade insuficiente | Efetivo > capacidade da sala | Atribuir uma sala maior, ou várias salas ([várias salas](#page-glossary.multi-room)) | | Disponibilidade sem faixa horária possível | Todas as faixas horárias estão marcadas como impossíveis para este professor | Flexibilizar as disponibilidades ou redistribuir as aulas | | Aula fora do período de ausência | Aula posicionada num intervalo em que o professor está ausente | Deslocar a aula ou retirar a ausência | #### Ver também - [Conflito](#page-glossary.conflict) - [Geração automática](#page-glossary.solver) - [Diagnosticar uma geração que falha](#page-timetables.diagnosing-generation) ### Disciplina *Source: `help/pt/glossary/subject.md` · id: glossary.subject · Updated: 2026-05-10* *Also known as : matéria · unidade curricular · módulo* Uma **disciplina** é a matéria lecionada por um [curso](#page-glossary.course): matemática, física, inglês, direito contábil, machine learning, metodologia de projeto… A disciplina é a matéria pura; o curso é essa disciplina aplicada a uma turma específica. Para cada país, o Omniscol fornece um **catálogo de disciplinas comuns** (por vezes algumas centenas, por vezes alguns milhares consoante as nomenclaturas oficiais), pré-preenchido ao nível da conta. Se faltar uma disciplina, você cria uma **disciplina personalizada** em Criar. #### Vocabulário no ensino superior As nomenclaturas pedagógicas do ensino superior francês utilizam níveis de agregação diferentes: - **UE** (unidade de ensino) — conjunto de cursos / módulos, - **EC** (elemento constitutivo) — subunidade de uma UE, - **ECUE** (elemento constitutivo de uma UE) — ainda mais fino, - **módulo** — termo genérico na formação contínua. Todos estes níveis remetem para a entidade Omniscol «disciplina». Se você precisar de representar a própria hierarquia pedagógica (UE → EC → ECUE), faça-o através de uma convenção de nomenclatura (por exemplo, prefixando os códigos: `UE3-EC2-ECUE1 Algèbre linéaire`) ou através das [famílias de disciplinas](#page-admin.subjects). #### Disciplina copiada para o horário Quando você atribui uma disciplina a uma turma num horário, o Omniscol faz uma **cópia interna** da disciplina na estrutura do horário. É uma escolha deliberada: se você posteriormente eliminar ou renomear a disciplina ao nível da escola, os horários existentes conservam a sua versão histórica. Por conseguinte, **cuide da ortografia** das disciplinas personalizadas antes de as utilizar em horários — uma correção posterior não se propaga aos horários já configurados. #### Tipo de aula associado No momento de atribuir uma disciplina a uma turma, você pode especificar um **[tipo de aula](#page-glossary.lesson-type)** (aula prática, laboratório, prova, aula teórica…). O par `(disciplina, tipo)` constitui um identificador independente: por exemplo, o «curso de matemática» e a «aula prática de matemática» são duas entradas independentes na estrutura do horário. #### Especialização de sala requerida Uma disciplina pode **requerer uma especialização de sala** (química → laboratório de química, desporto → ginásio). Esta restrição é respeitada estritamente pela geração automática. Consulte [especialização de sala](#page-glossary.classroom-specialization). #### Ponderação pedagógica Você pode definir um **peso pedagógico** sobre uma disciplina numa turma: a geração automática procurará então equilibrar a disciplina ao longo dos dias da semana em vez de concentrar tudo. #### Ver também - [Curso](#page-glossary.course) - [Tipo de aula](#page-glossary.lesson-type) - [Aula / Sessão](#page-glossary.lesson) - [Gerir as disciplinas](#page-admin.subjects) - [Especialização de sala](#page-glossary.classroom-specialization) ### Disponibilidades dos professores (desejos) *Source: `help/pt/glossary/wishes.md` · id: glossary.wishes · Updated: 2026-06-21* *Also known as : indisponibilidades · preferências · disponibilidade do professor* As **disponibilidades** de um professor indicam ao software quais faixas horárias são **impossíveis** (preto, restrições rígidas), **indesejáveis** (vermelho, restrições flexíveis) ou **preferidas** (verde). No ensino secundário fala-se também de **desejos** — é o mesmo conceito, quando o professor indica as suas disponibilidades teóricas semanais e a instituição as utiliza para a geração do horário (possivelmente depois de as ter alterado ou ponderado). A geração automática respeita **estritamente** as impossibilidades e procura respeitar da melhor forma possível as indesejáveis / preferidas em função das outras restrições. #### Dois modos conforme o tipo de horário - **Horário semanal** — disponibilidades indicadas na semana-tipo, validadas pela administração antes da geração. Uma alteração posterior é sinalizada, mas não interfere. - **Horário calendário** (nas contas Premium) — disponibilidades indicadas data a data, consolidadas em tempo real. Os conflitos são detetados à medida que surgem. #### Indicação pelo próprio professor Os professores podem indicar as suas próprias disponibilidades a partir da sua conta ([portal do professor](#page-portal.teacher-portal)) — uma economia de tempo importante para a administração. Podem também receber um **link de partilha direto para o ecrã das disponibilidades** (sem necessidade de iniciar sessão), gerado a partir de Baixar com uma data de expiração. #### Ver também - [Professor](#page-glossary.teacher) - [Geração automática](#page-glossary.solver) - [Disponibilidades e restrições horárias dos professores](#page-core-concepts.wishes-and-availability) - [Disponibilidades no modo calendário](#page-timetables.calendar-wishes) ### Divisão de turma *Source: `help/pt/glossary/class-division.md` · id: glossary.class-division · Updated: 2026-05-10* *Also known as : partição de turma · partição de grupos* Uma **divisão de turma** reúne vários [grupos](#page-glossary.group) de **uma mesma turma** que devem **compartilhar a mesma faixa horária**. Concretamente: como os alunos não são desdobrados (um mesmo aluno não pode estar em dois lugares ao mesmo tempo), se seus meios-grupos Laboratório-A e Laboratório-B devem fazer duas práticas diferentes simultaneamente, a geração automática precisa saber que eles constituem uma divisão. O motor sabe então: - posicionar as duas práticas na mesma faixa horária, - com duas salas diferentes, - com dois professores diferentes, - sem disparar um alerta de conflito. #### Quando criar uma divisão de turma Sempre que uma mesma faixa horária deve hospedar aulas diferentes para subconjuntos disjuntos de uma turma: - meios-grupos de prática (Laboratório-A vs Laboratório-B, meia-turma Matemática vs Francês, etc.), - grupos de línguas (Francês segunda língua vs Espanhol segunda língua), - optativas exclusivas (Latim vs Grego moderno), - meios-grupos de informática (porque só há 15 postos na sala de informática). O critério de validade: **nenhum aluno deve pertencer a dois grupos da mesma divisão**. Caso contrário, você está em um alinhamento em vez de uma divisão (o que de todo modo não é possível se os grupos fazem parte da mesma turma). #### Como criar uma divisão de turma Na página dos [grupos de uma turma](#page-core-concepts.classes-and-groups), selecione os grupos em questão e clique em Criar uma divisão. Várias divisões podem coexistir em uma mesma turma (uma para as práticas de ciências, uma para as línguas, uma para as optativas de filosofia). #### Diferença em relação a um alinhamento Uma **divisão de turma** = grupos de **uma única turma** que devem estar na mesma faixa horária. Um [**alinhamento**](#page-glossary.alignment) = grupos de **turmas diferentes** que devem estar na mesma faixa horária, **com o mesmo professor e a mesma sala**. #### Ver também - [Grupo](#page-glossary.group) - [Alinhamento de grupos](#page-glossary.alignment) - [Página completa sobre as divisões de turma](#page-core-concepts.class-divisions) ### Especialização de sala *Source: `help/pt/glossary/classroom-specialization.md` · id: glossary.classroom-specialization · Updated: 2026-05-10* *Also known as : tipo de sala · sala especializada · sala dedicada a disciplina* Uma **especialização de sala** indica que uma sala é dedicada a um certo tipo de atividade: laboratório de química, sala de informática, ginásio, sala multimídia, sala de provas supervisionadas, ateliê de arte, estúdio de música, etc. É um campo **livre** — você cria as especializações de que precisar, com sua própria nomenclatura. Sem lista fechada imposta pelo Omniscol. #### Comportamento da geração automática Quando uma disciplina requer uma especialização, a geração automática atribui **apenas** as salas que têm essa especialização. Uma sala de laboratório de química nunca será usada para uma aula de literatura se você tiver requerido «química» na disciplina de prática. Forçar uma atribuição incoerente (dar manualmente a uma aula de química uma sala que não tem a especialização química) **não bloqueia**, mas exibe um alerta. #### Organizar ou excluir uma especialização Uma especialização existe enquanto for usada por ao menos uma sala. Para excluí-la, retire-a de todas as salas que a têm — no próximo salvamento, ela desaparece do referencial. Para **renomear**, crie a nova especialização com o nome correto, substitua-a nas salas, e a antiga desaparecerá automaticamente (desde que não seja mais referenciada em lugar nenhum, inclusive do lado das disciplinas). #### Ver também - [Sala de aula](#page-glossary.classroom) - [Disciplina](#page-glossary.subject) - [Especializações de salas de aula](#page-core-concepts.classroom-specializations) ### Estado de uma aula *Source: `help/pt/glossary/lesson-status.md` · id: glossary.lesson-status · Plan: premium · Updated: 2026-06-25* > **Premium** *Also known as : estado de aula · estado de curso · planeado · rascunho · aula cancelada · aula realizada* > _Premium_ Nas contas **Premium**, o **Estado** indica o ponto de situação de uma [aula](#page-glossary.lesson) no ciclo de planeamento. Regula-se aula a aula — a partir do ícone Estado — ou **em massa** a partir do modo listagem. Quatro valores: - **Planeado** — Estado padrão para aulas programadas. É o estado de uma aula comum, colocada na grelha. - **Rascunho** — aula em preparação, **ignorada pela geração automática** e pelos **painéis**. Prática para preparar uma aula sem ainda a impor ao horário nem à [geração automática](#page-glossary.solver). - **Cancelado** — a aula continua **apresentada como cancelada** (conservada para memória futura), mas é também **ignorada pela geração automática** e pelos **painéis**. - **Realizado** — a aula é marcada como **realizada**, o que a integra com esse detalhe no **painel** dos professores, para a **faturação**. #### Apresentação Quando apresentadas na grelha de planeamento, estas aulas reconhecem-se pela sua representação: - uma aula **Rascunho** tem um **contorno laranja a tracejado** e permanece ligeiramente esbatida; - uma aula **Cancelado** aparece **rasurada** e fortemente esbatida — volta a ficar legível ao passar o cursor, o que permite conservá-la para memória futura sem sobrecarregar a grelha. #### Efeito na geração As aulas **Rascunho** e **Cancelado** são postas de parte pela [geração automática](#page-glossary.solver): não as coloca, e não pesam nos conflitos (ocupação das salas, colisões de professores, capacidades). As aulas **Planeado** continuam a ser as aulas reais que a geração posiciona. #### «Realizado»: apenas no modo calendário O estado **Realizado** só é proposto nos horários do tipo **[calendário](#page-glossary.calendar-mode)**: é aí, em aulas datadas, que marcar uma aula como efetivamente assegurada faz sentido. Alimenta então o **acompanhamento das horas realmente dadas pelos professores** (painel dos professores) e a sua **faturação**. Num horário semanal ou cíclico, este estado não aparece. #### Ver também - [Edição de uma aula](#page-timetables.lesson-edit) - [Modalidade](#page-glossary.lesson-modality) - [Aula / Sessão](#page-glossary.lesson) - [Modo calendário](#page-glossary.calendar-mode) ### Férias *Source: `help/pt/glossary/holidays.md` · id: glossary.holidays · Updated: 2026-06-26* *Also known as : pausas letivas · feriados · férias escolares* As **férias** são períodos de encerramento do estabelecimento associados a um [ano letivo](#page-glossary.school-year): férias escolares, pontes e feriados. Cada uma tem um nome, uma data de início e uma data de fim. Ao criar um ano letivo, o Omniscol pode propor a importação das férias comuns do país configurado, quando existem dados para a faixa escolhida. A lista completa-se e ajusta-se depois manualmente. #### Efeito no horário O efeito de um período de férias depende do tipo de horário: - **Horário recorrente (semanal ou cíclico)**: na publicação, as férias anulam as aulas dos dias em causa — as aulas recorrentes não têm lugar nesses dias e as estatísticas têm isso em conta. - **Horário calendário**: uma aula pode ser posicionada num dia de férias, mas isso cria um conflito; a geração automática reserva então o direito de reposicionar essa aula se não estiver bloqueada. As férias descrevem um encerramento **geral** do estabelecimento. Para neutralizar um período num perímetro mais restrito: - uma [ausência de turma](#page-absences.class-and-student-absences) retira uma turma durante um período determinado; - no horário calendário, as [janelas de datas](#page-glossary.date-windows) restringem o período de atividade de uma aula específica. #### Onde configurá-las As férias gerem-se por ano letivo, nos [anos letivos](#page-admin.school-year), uma a uma ou em tabela. #### Ver também - [Ano letivo](#page-glossary.school-year) - [Janela de datas](#page-glossary.date-windows) - [Anos letivos](#page-admin.school-year) ### Geração automática / Algoritmo de geração *Source: `help/pt/glossary/solver.md` · id: glossary.solver · Updated: 2026-06-13* *Also known as : gerador de horários* A **geração automática** do Omniscol calcula automaticamente o posicionamento das aulas de um horário [semanal](#page-glossary.weekly-timetable), [cíclico](#page-glossary.cyclic-timetable) ou [calendário](#page-glossary.calendar-mode). Ela posiciona as aulas criadas que ainda não foram posicionadas, pode mover as aulas já posicionadas se isso melhorar o horário e mantém as aulas bloqueadas em seu lugar. #### Como funciona Quando você inicia uma geração, o Omniscol inicia um ambiente de cálculo dedicado e paralelizado. Não há fila de espera para gerir do lado da escola; a inicialização costuma levar cerca de dez segundos antes dos primeiros cálculos visíveis. O resultado depende da qualidade dos dados inseridos: campus, salas, professores, grupos, volumes horários, disponibilidades e incompatibilidades. Quanto mais numerosas ou contraditórias forem as restrições, mais longa pode ser a geração ou mais parcial pode ser o resultado. O motor é uma IA de otimização **metaheurística Monte-Carlo neuro-simbólica**: combina busca estocástica, regras de negócio simbólicas e pontuação das restrições. O ponto importante é operacional: o algoritmo de geração foi concebido para casos muito restritos, sinalizando ao mesmo tempo as situações impossíveis em vez de ocultar os conflitos. #### Restrições rígidas O algoritmo de geração respeita estritamente as restrições que tornariam o horário inválido: - um professor não pode estar em dois lugares ao mesmo tempo; - uma turma não pode assistir a duas aulas ao mesmo tempo, exceto no caso previsto por grupos em divisão de turma; - as disponibilidades e restrições de nível **indisponível** bloqueiam o posicionamento; - uma sala padrão não pode receber duas aulas no mesmo momento; - uma sala grande pode receber várias aulas apenas dentro dos limites de capacidade e de número de turmas configurados; - as salas especializadas, capacidades, recursos materiais e deslocamentos entre campus devem permanecer compatíveis; - uma aula bloqueada mantém sua posição. #### Restrições de otimização As restrições flexíveis servem para pontuar e melhorar as soluções encontradas. Elas não são ignoradas: tornam-se penalidades que o algoritmo de geração procura reduzir. Exemplos frequentes: - disponibilidades ou restrições **indesejáveis** para um professor, uma sala, uma disciplina, um grupo ou uma turma; - incompatibilidades pedagógicas entre disciplinas, por exemplo evitar uma aula prática antes da aula teórica correspondente, evitar o desporto logo após uma aula muito densa ou impor a ordem de uma progressão; - evitar ter duas vezes a mesma disciplina no mesmo dia para uma turma; - mínimo ou máximo de horas de aula por dia ou por semana; - equilíbrio dos dias; - redução das lacunas nos horários das turmas e dos professores; - número de dias de presença dos professores, conforme os usos da instituição ou do país. A busca por uma solução válida é a primeira etapa. A otimização das penalidades pode em seguida tornar-se a parte mais longa do cálculo. #### Disponibilidade - **Horários semanais** — disponível. - **Horários cíclicos** — disponível. - **Horários calendário** — disponível com aulas datadas e um intervalo de datas. #### O que fazer se a geração falhar Se nenhuma solução completa for encontrada, o Omniscol mantém o melhor horário calculado e deixa as aulas impossíveis de posicionar na lista de post-its não posicionados. Você pode então inspecionar o horário parcial, ler o diagnóstico e corrigir as restrições. Causas frequentes: - disponibilidades demasiado restritivas (um professor não tem nenhuma faixa horária livre compatível), - número insuficiente de salas ou nenhuma sala especializada disponível, - alinhamento incoerente (volumes horários diferentes entre os grupos alinhados), - incompatibilidades demasiado numerosas ou demasiado estritas, - efetivo teórico da turma > capacidade de todas as salas candidatas. Consulte [Diagnosticar uma geração que falha](#page-timetables.diagnosing-generation). #### Forçar o posicionamento de uma aula Você pode **bloquear** a posição de uma aula antes de reiniciar a geração: o algoritmo de geração deixa então de movê-la, mas ajusta as demais ao seu redor. Prático para fixar as aulas «imutáveis» (intervenções externas fixadas por contrato, exames datados, etc.). #### Ver também - [Horário semanal](#page-glossary.weekly-timetable) - [Disponibilidades](#page-glossary.wishes) - [Diagnóstico e conflitos](#page-glossary.conflict) - [Geração automática](#page-timetables.generation) ### Gestão de pessoal *Source: `help/pt/glossary/staffing.md` · id: glossary.staffing · Options: staffing · SKU: omniscol/staffing-only · Updated: 2026-06-13* > **Option: Gestão de pessoal** *Also known as : supervisão · escala de pessoal · plano de vigilância · alocação de pessoal* O **Gestão de pessoal** planeia o **pessoal por tarefas** em vez de por aula. Foi concebido originalmente para a vida escolar: equipas de monitores, supervisores e pessoal equivalente que cobrem, ao longo do dia, o pátio, a receção, os corredores, a biblioteca, o refeitório, as saídas de educação física, as salas de estudo, etc. O módulo gere igualmente: - a **vigilância de exames** (sessões de provas parciais, exames finais, concursos), - os **acompanhamentos pontuais** (saídas, viagens, conselhos de turma), - as **pedagogias ativas** (Montessori), em que os professores são planeados por atividade em vez de por aula. #### Modelo de dados - **Tarefas** = necessidades a preencher, definidas por local + faixa horária + número de pessoas + eventual lista do pessoal autorizado. - **Grelha** = conjunto das tarefas ao longo de um intervalo de datas, com granularidade tipicamente de um quarto de hora. - **Atribuição** = associar um membro do pessoal a uma célula da grelha. - **Tabela de serviço** = vista por pessoa das suas tarefas. #### Independência em relação às aulas A Gestão de pessoal pode ser utilizada: - em **complemento** aos horários pedagógicos (as tarefas dos monitores somam-se às aulas na contagem); - como **oferta autónoma**, sem gestão de horário pedagógico. #### Papel Pessoal O papel **Pessoal** foi concebido para a equipa de vida escolar (supervisores, monitores, contínuos): acesso à Gestão de pessoal, às suas próprias ausências e ao seu planeamento pessoal; sem acesso à configuração global. Pode ser acumulado com o papel Professor quando a mesma pessoa é ao mesmo tempo docente e planeada na Gestão de pessoal. Consulte [Usuários e papéis](#page-admin.users-and-roles). #### Ver também - [Visão geral da Gestão de pessoal](#page-staffing.overview) - [Construir uma grade de serviço](#page-staffing.building-grids) - [Definir as tarefas a cobrir](#page-staffing.assignments) - [Atribuir o pessoal](#page-staffing.planner) - [Escalas de serviço](#page-staffing.roster) ### Grupo *Source: `help/pt/glossary/group.md` · id: glossary.group · Updated: 2026-05-10* *Also known as : subgrupo · meia-turma · grupo de opção · td-a · td-b* No Omniscol, um **grupo** é uma **subdivisão de uma turma**. Todos os alunos de um grupo são também alunos da turma-mãe. Cria-se um grupo sempre que um subconjunto de alunos de uma turma deve seguir uma aula diferente do resto da turma — mesmo temporariamente, para uma única aula. Exemplos: - meios-grupos de laboratório («Laboratório-A», «Laboratório-B»), - grupos de opção («Latinistas», «Helenistas», «Francês segunda língua», «Espanhol segunda língua»), - grupos de nível («Inglês Reforçado», «Inglês Padrão»). #### Recomendação forte: um grupo por aula Ainda que os latinistas e os helenistas de uma turma sejam, na prática, os mesmos alunos, **crie dois grupos distintos**. Caso contrário, os [alinhamentos](#page-glossary.alignment) com outras turmas tornam-se ambíguos e os conflitos ficam difíceis de diagnosticar. Inversamente: não vale a pena criar um grupo «Toda a turma». Quando uma aula se destina a toda a turma, não se associa nenhum grupo; a aula é simplesmente atribuída à turma. #### Efetivo teórico Indique o número de alunos previsto no grupo. Campo opcional mas recomendado: serve ao [algoritmo de geração](#page-glossary.solver) para escolher as [salas](#page-glossary.classroom) de capacidade adequada. #### Para misturar alunos de várias turmas O conceito de grupo termina no perímetro de uma turma. Para misturar os latinistas de 8A, 8B e 8C que têm aula em conjunto: - crie um grupo «Latinistas» em cada uma das três turmas, - depois crie um [alinhamento](#page-glossary.alignment) que associe os três. Também pode utilizar um [grupo de grupos](#page-glossary.groups-of-groups), mais flexível na edição quando o agrupamento tem de evoluir. #### Grupos livres Para inscrições abertas (oficinas ao final do dia, opções não condicionadas por turma), consulte a noção de [grupo livre](#page-glossary.free-group) — a composição não é fixada de antemão, os alunos podem juntar-se ou sair sem gerar conflito. #### Ver também - [Turma](#page-glossary.class) - [Divisão de turma](#page-glossary.class-division) - [Alinhamento de grupos](#page-glossary.alignment) - [Grupos de grupos](#page-glossary.groups-of-groups) - [Grupo livre](#page-glossary.free-group) ### Grupo de grupos *Source: `help/pt/glossary/groups-of-groups.md` · id: glossary.groups-of-groups · Updated: 2026-05-10* *Also known as : supergrupo · agrupamento de grupos* Um **grupo de grupos** é um agrupamento, mais flexível do que um [alinhamento](#page-glossary.alignment), de vários [grupos](#page-glossary.group) provenientes da mesma turma ou de turmas diferentes. Disponível como mecanismo de agrupamento de base no Omniscol. #### Diferença-chave face ao alinhamento O alinhamento é **fixado na criação**: a lista dos grupos alinhados está definida e qualquer desalinhamento obriga a clonar o grupo. Um grupo de grupos, por sua vez, **modifica-se a posteriori**. Pode adicionar ou retirar grupos sem ter de recriar a estrutura. É isso que o torna valioso no ensino superior, onde a composição dos agrupamentos evolui com frequência ao longo do ano (um novo percurso que se junta a uma aula comum, um subgrupo que se destaca para um projeto). #### Quando utilizá-lo - Aulas comuns a vários percursos (escola de engenharia ou de gestão), - Conferências interturmas, seminários transversais, - Aulas de tronco comum em formação contínua, - Eventos pedagógicos abertos (visita, intervenção externa). Uma aula atribuída a um grupo de grupos é visível (e editável) a partir de cada uma das turmas-mãe dos grupos membros. #### Particularidade O grupo de grupos é sobretudo útil quando a composição do público evolui ao longo do ano ou quando pretende evitar as restrições de simetria de um alinhamento. #### Ver também - [Alinhamento de grupos](#page-glossary.alignment) - [Curso transversal](#page-glossary.transverse-course) - [Modo calendário](#page-glossary.calendar-mode) - [Grupos de grupos](#page-core-concepts.groups-of-groups) ### Grupo livre *Source: `help/pt/glossary/free-group.md` · id: glossary.free-group · Updated: 2026-06-13* *Also known as : grupo satélite · grupo semiautónomo · grupo aberto · grupo com inscrições* Um **grupo livre** é um **grupo de trabalho semiautónomo**: uma parte da turma trabalha de forma autónoma, geralmente **na mesma sala e com o mesmo professor** que a aula principal, em paralelo com esta — uma espécie de **grupo satélite** da aula. O planificador quer **fazê-lo constar no horário** sem montar, ao lado, uma divisão de grupos formal. É daí que vem a palavra **livre**: como este subgrupo partilha a sala e o professor da aula de que provém, um [grupo](#page-glossary.group) clássico (mesmo numa divisão) desencadearia um **conflito de sala e de professor**. O grupo livre é o **coringa** que **desativa todos os conflitos** — nem com o resto da turma, nem com o professor, nem com a sala. Coexiste, portanto, com a sua aula de origem. Esta necessidade surge sobretudo nas **escolas de arte** e nas **formações em trabalho social**, onde parte do tempo decorre em **trabalho autónomo supervisionado**: um subgrupo avança no seu projeto num canto da sala enquanto o resto da turma acompanha a aula. De forma mais ampla, o grupo livre modela qualquer grupo cuja composição **não seja fixa**, sem gerar conflitos. #### Diferença face a um grupo clássico Um grupo clássico é tido em conta pela geração automática: verifica que os seus alunos não estão reservados em duplicado (duas aulas ao mesmo tempo) e que tanto a sua **sala** como o seu **professor** estão livres. É exatamente isso que impediria o grupo satélite: a sala e o professor da aula principal já estão ocupados. Um grupo livre **suspende esses controlos**. A sua aula pode, assim, partilhar a sala e o professor da aula de que provém; e um aluno pode pertencer a vários grupos livres que se sobrepõem sem que nenhum alerta seja acionado. #### Na prática: posicionamento manual A geração automática **contempla** os grupos livres, mas é recomendável **não** a utilizar neste caso: **posicione e bloqueie manualmente** a aula principal e a sua aula satélite na faixa horária pretendida. O algoritmo de geração não sabe qual é a principal e qual é o satélite — deixadas à geração, poderiam cair em qualquer lado. Dado o seu caráter muito pontual e específico, o grupo livre é de **uso manual**. #### Criação No momento de criar o grupo, assinale a opção «grupo livre» em Adicionar um grupo. Visualmente, estes grupos estão marcados na interface para não serem confundidos com os grupos condicionados. > _Premium_ Os grupos livres são uma funcionalidade das contas Premium. #### Ver também - [Grupo](#page-glossary.group) - [Grupos livres](#page-core-concepts.free-groups) ### Horário *Source: `help/pt/glossary/timetable.md` · id: glossary.timetable · Updated: 2026-06-13* *Also known as : horário escolar · grade horária · quadro de horários · horário letivo · agenda de aulas* Um **horário** no Omniscol representa a organização completa das aulas de uma escola ao longo de um período. É o objeto central do software. Um horário reúne: - [turmas](#page-glossary.class) com seus [grupos](#page-glossary.group) e suas [divisões de turma](#page-glossary.class-division), - [professores](#page-glossary.teacher) atribuídos, - [campi](#page-glossary.site) com suas grades horárias, salas e recursos, - restrições (disponibilidades, incompatibilidades, alinhamentos), - [aulas](#page-glossary.lesson) (posicionadas ou não). #### Três modos de horário No momento de criar um horário, você escolhe o seu modo: - **[Semanal](#page-glossary.weekly-timetable)** — as aulas seguem uma semana-tipo, recorrente. Típico do ensino primário e secundário. - **[Cíclico](#page-glossary.cyclic-timetable)** — as aulas são recorrentes ao longo de um número arbitrário de dias (5, 6, 7… conforme o seu ciclo). Típico dos sistemas norte-americanos. - **[Calendário](#page-glossary.calendar-mode)** — as aulas são datadas individualmente, como em uma agenda. Típico do ensino superior (escolas de engenharia, formação continuada). #### Vários horários por escola Você pode ter vários horários em paralelo na mesma conta: - **rascunhos** não publicados, - horários para **períodos** diferentes (S1 vs S2, preparação do início do próximo ano letivo vs horário em vigor), - no Premium (ou, excepcionalmente, em uma conta Standard com uma ativação regida por contrato), horários **ativos simultaneamente** sobre as mesmas semanas (por exemplo, um horário matinal recorrente + um horário vespertino em modo calendário) — ver [Vários horários ativos em paralelo](#page-timetables.multiple-active-timetables). #### Ciclo de vida de um horário ``` Criação → Configuração → (Geração automática?) → Visualização → Publicação → Alterações diárias ``` - **Criação** — escolha do modo, rótulo, parâmetros básicos. - **Configuração** — campi, salas, professores, turmas, grupos, disciplinas, aulas. - **Geração** — automática por meio do algoritmo de geração (disponível nos três modos: semanal, cíclico, calendário) ou posicionamento manual. - **Visualização** — verificação antes da publicação. - **Publicação** — o horário torna-se o horário ativo nas semanas escolhidas do ano letivo. Visível no módulo *Horário* por todos os usuários autorizados. - **Alterações diárias** — ao longo do ano (deslocamentos de aulas, mudanças de sala, gestão das ausências) sem passar novamente pela fase de geração. #### Ver também - [Semanal vs cíclico vs calendário](#page-overview.timetable-modes) - [Criação de um horário](#page-timetables.overview) - [Publicar um horário](#page-timetables.publication) ### Horário cíclico *Source: `help/pt/glossary/cyclic-timetable.md` · id: glossary.cyclic-timetable · Updated: 2026-05-10* *Also known as : ciclo · dias numerados* Um **horário cíclico** define aulas recorrentes ao longo de um número arbitrário de dias (Day 1, Day 2, … Day 6, etc.), não necessariamente alinhado com a semana de 5 ou 7 dias. É usado normalmente nos **sistemas norte-americanos** (ciclos de 6 ou 8 dias), em algumas escolas internacionais e, mais raramente, na Europa. #### Diferença em relação ao modo semanal | Aspeto | Semanal | Cíclico | | --- | --- | --- | | Unidade de repetição | Semana (5-7 dias) | Ciclo de N dias | | Numeração | Segunda-feira, terça-feira… | Day 1, Day 2… | | Na publicação | Escolhem-se as semanas ativas | Escolhem-se os dias da semana em que o ciclo se aplica | | Geração automática | Sim | Sim | #### Quando usar Se o seu estabelecimento funciona com um ciclo de 6 dias (por exemplo Day 1 na segunda-feira, Day 2 na terça-feira, Day 3 na quarta-feira, Day 4 na quinta-feira, Day 5 na sexta-feira, Day 6 na segunda-feira seguinte, Day 1 na terça-feira seguinte…), o modo semanal não é adequado — o modo cíclico foi concebido para este caso. Se está na Europa com um ciclo de 5 dias estritamente alinhado com a semana, mantenha-se no modo semanal — é mais simples de configurar e de publicar. #### Ver também - [Horário](#page-glossary.timetable) - [Escolher o tipo de horário certo](#page-overview.timetable-modes) ### Horário semanal *Source: `help/pt/glossary/weekly-timetable.md` · id: glossary.weekly-timetable · Updated: 2026-05-15* *Also known as : semana-tipo · horário recorrente* Um **horário semanal** apoia-se em uma **semana-tipo**: as aulas são definidas como recorrentes nos dias da semana. Na publicação, escolhem-se as **faixas de semanas** do ano em que a semana-tipo se aplica. É o modo usado em: - ensino primário e secundário (escolas, ginásios, liceus), - primeiro ciclo universitário em algumas faculdades, - centros de formação linguística com horários fixos. #### Geração automática O algoritmo de geração automática funciona neste modo. Ele procura o posicionamento ótimo das aulas na semana-tipo respeitando: - disponibilidades dos professores, - especializações de sala exigidas, - divisões de turma, alinhamentos, incompatibilidades, - ponderação pedagógica (equilíbrio das disciplinas ao longo dos dias). Ver [Geração automática](#page-glossary.solver). #### Semanas alternadas Com a função [semanas alternadas](#page-glossary.alternate-lessons), você pode ter aulas que aparecem apenas uma semana em cada duas (ou uma em cada três, etc.) — semanas A/B, 1/2, etc. Configurado em Salvar. #### Férias e alternância As férias escolares podem perturbar a alternância A/B. Se você estava em semana A logo antes das férias e quer retomar em semana B depois, você pode criar um **deslocamento virtual** na linha do tempo (clique nas semanas envolvidas). #### Disponibilidades validadas previamente As disponibilidades dos professores são validadas antecipadamente (antes da geração). Qualquer modificação posterior de um professor é sinalizada, mas não interfere no horário já calculado. Isso é diferente do modo [calendário](#page-glossary.calendar-mode), em que as disponibilidades são consolidadas em tempo real. #### Ver também - [Horário](#page-glossary.timetable) - [Escolher o tipo de horário certo](#page-overview.timetable-modes) - [Geração automática](#page-glossary.solver) - [Aulas alternadas](#page-glossary.alternate-lessons) ### iCal (exportação de agenda) *Source: `help/pt/glossary/ical.md` · id: glossary.ical · Updated: 2026-05-15* *Also known as : ics · subscrição de calendário · ligação ical · exportação ical* O **iCal** (extensão `.ics`) é o formato padrão de troca de calendários, lido por todas as aplicações de agenda do mercado: Apple Calendar, Google Calendar, Outlook, Thunderbird, Fastmail, etc. O Omniscol propõe dois tipos de exportação iCal: #### 1. Descarregamento estático Botão Baixar sobre um horário selecionado. Recebe um ficheiro `.ics` para importar para a sua agenda. **Instantâneo** no momento do descarregamento: não é atualizado se o horário for alterado depois. Útil para partilhar um horário pontual por e-mail. #### 2. Ligação de subscrição dinâmica O botão Baixar sobre um horário (ou um ecrã de professor, etc.) gera um URL de subscrição iCal. Uma vez copiado para a sua aplicação de agenda como **subscrição**, a agenda atualiza-se automaticamente à medida que o horário evolui no Omniscol. É assim que cada professor e cada aluno sincroniza o seu horário Omniscol com a sua agenda pessoal, sem ter de voltar a descarregar um ficheiro a cada alteração. As ligações iCal do Omniscol são assinadas, expiráveis e associadas à conta que as gerou. A expiração está inscrita no token do URL; para a alterar, é preciso gerar uma nova ligação. Uma alteração de palavra-passe, uma desativação ou uma eliminação da conta portadora invalida as ligações associadas. #### Sincronização e atualizações O iCal de subscrição é **atualizado pela aplicação de agenda**, a uma cadência variável consoante o cliente: - Apple Calendar: 5-15 min em geral. - Google Calendar: até 24h no pior caso (mas muitas vezes mais rápido). - Outlook: variável. Esta latência é inerente ao protocolo iCal e não depende do Omniscol — uma alteração no horário Omniscol aparece na agenda subscrita assim que esta volta a obter o fluxo. #### Ver também - [Link de compartilhamento](#page-glossary.share-link) - [iCal — assinatura e link dinâmico](#page-integrations.ical) ### Incompatibilidade (entre disciplinas) *Source: `help/pt/glossary/incompatibility.md` · id: glossary.incompatibility · Updated: 2026-06-13* *Also known as : exclusão · encadeamento proibido · proibição de sequência* Uma **incompatibilidade** é uma restrição pedagógica que impede uma disciplina de **se seguir** a outra. É uma regra **orientada**: você declara que «a disciplina A não deve ser seguida da disciplina B» — o sentido conta, A-depois-B e B-depois-A são duas regras distintas. O caso típico: «sem aula de matemática logo depois de educação física». Configurada ao nível da turma no separador Incompatibilidades do horário atual. #### Âmbito da proibição Você escolhe a janela em que a proibição se aplica no momento de criar a regra: - **Consecutivo** — não na aula que se segue imediatamente, no mesmo dia. - **Meio período** — não mais tarde no mesmo meio período. - **Dia** — não mais tarde no mesmo dia. - **Semana** — não mais tarde na mesma semana. - **Sempre** *(horário cíclico ou de calendário)* — nunca depois, ao longo de todo o período. É a ferramenta de **sequenciamento**: terminar um módulo antes de passar àquele que dele depende. À parte: a opção de **autoincompatibilidade** de uma disciplina (parâmetro global) impede que uma mesma disciplina volte a aparecer duas vezes no dia para um aluno — muitas vezes mais simples do que uma multidão de regras aos pares. #### Diferença face às restrições horárias de disciplina Não confundir com as **restrições horárias** de uma disciplina ([clock]), que fixam a posição **absoluta** de uma única disciplina na grelha. A incompatibilidade, por sua vez, incide na ordem **relativa** de duas disciplinas. | Restrição | Incide em | Exemplo | | --- | --- | --- | | **Incompatibilidade** | a **ordem** de duas disciplinas | «sem matemática depois de educação física» | | Restrição horária de disciplina | a **posição** absoluta de uma disciplina | «sem matemática no primeiro tempo» | | Especialização | a **sala** exigida por uma disciplina | «a química exige um laboratório» | #### Uma restrição de otimização, não um bloqueio Uma incompatibilidade não é uma restrição bloqueante: a geração automática trata-a como uma penalização que procura eliminar, tal como as disponibilidades indesejáveis. Se as outras restrições não deixarem nenhuma alternativa, uma incompatibilidade pode, portanto, subsistir no horário gerado; o [diagnóstico](#page-glossary.diagnostic) assinala-a então para que você possa arbitrar. Evite a avalanche de incompatibilidades: cada uma reduz a liberdade da geração automática e prolonga o cálculo. Para equilibrar uma disciplina ao longo da semana, a ponderação pedagógica da disciplina é muitas vezes mais eficaz. #### Ver também - [Disciplina](#page-glossary.subject) - [Geração automática — como arbitra as restrições](#page-glossary.solver) ### Janela de datas *Source: `help/pt/glossary/date-windows.md` · id: glossary.date-windows · Plan: premium · Updated: 2026-06-20* > **Premium** *Also known as : janelas de datas · janela de inclusão · janela de exclusão · camada de datas* > _Premium_ Uma **janela de datas** é um período de **inclusão** ou de **exclusão** de datas, **reutilizável**, que restringe quando certas aulas podem ser planeadas. Definida uma vez no ecrã de edição de um horário de calendário, aplica-se depois como uma **camada** sobre as restrições horárias de várias entidades — turmas, grupos, disciplinas ou salas. Reservada aos **horários de tipo calendário**, nas contas **Premium**. #### Dois tipos - **Aulas autorizadas** — as aulas só podem ser planeadas durante estas datas. - **Aulas excluídas** — as aulas não podem ser aí planeadas. Várias janelas acumulam-se; em caso de sobreposição, uma exclusão prevalece sobre uma autorização. #### Ver também - [Janelas de datas](#page-timetables.date-windows) - [Modo calendário](#page-glossary.calendar-mode) ### Linha do tempo *Source: `help/pt/glossary/timeline.md` · id: glossary.timeline · Updated: 2026-06-29* *Also known as : barra de tempo · barra de navegação temporal · faixa temporal · faixa de semanas* A **linha do tempo** é a faixa horizontal presente no topo de toda tela que exibe um horário ou estatísticas. É com ela que você **navega no tempo**: escolher o ano letivo, o período exibido e, conforme a tela, alternar entre uma visão de semana, mês ou ano. Suas **setas esquerda / direita** fazem recuar ou avançar um ano letivo inteiro. O ano (ou o período) exibido é nomeado de forma explícita acima da linha do tempo. [Linha do tempo e navegação temporal](#page-core-concepts.timeline-navigation) ### Link de compartilhamento *Source: `help/pt/glossary/share-link.md` · id: glossary.share-link · Updated: 2026-06-13* *Also known as : link compartilhado · link público · compartilhamento por token* Um **link de compartilhamento** no Omniscol é uma URL assinada que dá acesso a um recurso sem conexão prévia: - o horário de uma turma ou de um professor, - uma tela de preenchimento direcionada, por exemplo de disponibilidades, - o módulo Gestão de ausências em consulta, - uma visão específica para uma equipe externa (auditoria, comunicação). Para os horários públicos, o acesso é somente leitura. Alguns links de compartilhamento internos podem, no entanto, autorizar uma ação limitada, como o preenchimento de um formulário específico. O caso típico é o link de preenchimento das disponibilidades dos professores: a instituição pode enviá-lo a um professor com um prazo, sem criar para ele um login Omniscol. #### Segurança Cada link embarca um **JWT** assinado. Para os links web e API, a assinatura depende da conta que gerou o link e do hash da sua senha. Para os links iCal, o hash de verificação é construído sobre o mesmo princípio. Quatro consequências: 1. **Data de expiração obrigatória** — o link expira automaticamente na data escolhida. É uma proteção importante: nenhum link eterno. 2. **Invalidação na alteração de senha** — se a conta portadora altera a sua senha (ou a redefine para o mesmo valor, o que altera o sal aleatório), todos os links que ela gerou são invalidados imediatamente. 3. **Invalidação pela conta portadora** — se essa conta for desativada ou excluída, os links que ela portava deixam de funcionar. 4. **Perímetro limitado** — o link abre apenas a visão ou a ação prevista. Não o descreva como um acesso global à conta. Para uma difusão coletiva, use uma conta de serviço claramente identificada em vez de uma conta pessoal. A conta de serviço torna-se a portadora administrativa dos links emitidos e pode ser rotacionada ou desativada se uma campanha de compartilhamento precisar ser invalidada. #### Diferença em relação a um token de API | Aspecto | Link de compartilhamento | [Token de API](#page-glossary.api-token) | | --- | --- | --- | | Público | Humano em um navegador | Software de terceiros | | Permissão | Perímetro delimitado, muitas vezes somente leitura | Conforme endpoints selecionados | | Caso de uso | Difusão pontual | Integração de software | | Autenticação | JWT na URL | JWT no cabeçalho `Authorization` | | Nível exigido | Papel do criador | Direitos de administração | #### Criação de um link O botão Compartilhamento aparece nas telas compartilháveis (horários, disponibilidades, ausências). Clique, escolha uma data de expiração e copie a URL no formato desejado. #### Ver também - [Token de API](#page-glossary.api-token) - [Compartilhar um horário](#page-schedules.share-link) - [Links de compartilhamento públicos](#page-portal.share-links) ### Modalidade de uma aula *Source: `help/pt/glossary/lesson-modality.md` · id: glossary.lesson-modality · Plan: premium · Updated: 2026-06-25* > **Premium** *Also known as : em presencial · aula a distância · híbrido · estudo autónomo · videoconferência* > _Premium_ Nas contas **Premium**, a **Modalidade** indica **como** decorre uma [aula](#page-glossary.lesson). Escolhe-se no seletor de sala Atribuir uma sala de aula, ao lado da afetação. Quatro valores, cada um com o seu próprio ícone na aula: - **Presencial** — a aula tem lugar numa [sala](#page-glossary.classroom) (o caso predefinido). - **A distância** — a aula decorre a distância (ícone [video]); não é exigida nenhuma sala. - **Híbrido** — a aula tem lugar em sala **e** é transmitida a distância (por exemplo, uma aula magistral difundida em videoconferência): ocupa, portanto, uma sala e precisa de uma ligação. - **Estudo autónomo** — trabalho conduzido em autonomia, sem sala exigida. É equivalente ao bloqueio na ausência de sala (que desativa o alerta quando uma sala não é atribuída à aula). #### Efeito na sala e na geração A modalidade tem um efeito concreto no planeamento: uma aula **A distância** ou em **Estudo autónomo** **não exige sala**. A [geração automática](#page-glossary.solver) não lhe reserva nenhuma, e a afetação automática das salas ignora-a. As aulas **Presencial** e **Híbrido**, pelo contrário, exigem uma sala. #### Ligação de videoconferência Para as aulas a distância ou híbridas, você pode indicar uma **ligação de videoconferência** no mesmo seletor de sala. Uma ligação também pode ser definida por predefinição na turma e aplicar-se então às suas aulas. Na ausência de ligação, é apresentado um alerta. #### Estatísticas por modalidade O [diagnóstico](#page-glossary.diagnostic) propõe uma tabela de distribuição **por modalidade**: totaliza o tempo de ensino assegurado em presencial, a distância, em híbrido e em estudo autónomo. É útil para medir, por exemplo, a parte de ensino a distância de uma formação. Quando a modalidade não é indicada explicitamente, o Omniscol **deduz**-na dos elementos presentes: uma sala **e** uma ligação de videoconferência dão uma aula híbrida; uma sala só, presencial; uma ligação de videoconferência só, a distância; uma aula explicitamente sem sala, estudo autónomo. Uma escolha explícita prevalece sempre sobre esta dedução. #### Ver também - [Edição de uma aula](#page-timetables.lesson-edit) - [Estado](#page-glossary.lesson-status) - [Aula / Sessão](#page-glossary.lesson) - [Sala de aula](#page-glossary.classroom) ### Modo calendário *Source: `help/pt/glossary/calendar-mode.md` · id: glossary.calendar-mode · Plan: premium · Updated: 2026-06-13* > **Premium** *Also known as : modo agenda · horário datado · sem recorrência* > _Premium_ Um horário em **modo calendário** organiza as aulas **por data**, sem semana típica recorrente. Cada aula é posicionada individualmente em uma data precisa, como em uma agenda. É o modo preferencial de: - **ensino superior** (escolas de engenharia, escolas de negócios, universidades), - **formação continuada** (sessões pontuais, programas curtos), - **centros de formação** onde as aulas não voltam a cada semana. Modo disponível nas contas **Premium**. #### Diferenças em relação ao modo semanal | Aspecto | Semanal | Calendário | | --- | --- | --- | | Recorrência | Semana típica | Data por data | | Geração automática | Sim | Sim (com janela de datas e compactação dos dias) | | Disponibilidades | Validadas com antecedência | Consolidadas em tempo real | | Edição de uma aula | Afeta todas as semanas ativas | Afeta uma data precisa | | Grupos de grupos | Sim | Sim | | Distribuição | Sobre faixas de semanas | Binária (distribuído ou não) | | Exibição padrão | Vista semana | Vista semana ou mês | | Limpeza por férias | Automática | Nenhuma (as aulas já estão datadas) | #### Geração automática em modo calendário A geração automática também funciona em modo calendário: ela posiciona as aulas não posicionadas nas datas disponíveis, respeitando as mesmas restrições (um professor ou uma turma não podem estar em dois lugares ao mesmo tempo, salas compatíveis, disponibilidades bloqueantes). A tela de geração expõe, além disso, ajustes próprios do calendário: uma **janela de datas-alvo** para limitar o cálculo a um período, e a **compactação dos dias** (agrupar no início ou no fim da janela, ou deixar o algoritmo de geração decidir). A assistência ao posicionamento manual permanece disponível em paralelo: conflitos detectados em tempo real, sugestões de sala filtradas, disponibilidades levadas em conta instantaneamente. #### Disponibilidades em modo calendário Em um horário calendário, as disponibilidades dos intervenientes externos podem evoluir ao longo do tempo. O Omniscol consolida em tempo real e emite alertas de conflitos à medida que as disponibilidades mudam. Veja [Disponibilidades em modo calendário](#page-timetables.calendar-wishes). #### Combinar semanal + calendário em uma mesma escola No Premium, você pode **distribuir simultaneamente** um horário semanal (as aulas recorrentes da manhã, ciclo preparatório integrado) e um horário calendário (as masterclasses pontuais da tarde, ciclo de grande escola) sobre as mesmas semanas, graças a [vários horários ativos em paralelo](#page-timetables.multiple-active-timetables). Se os dois horários compartilham entidades (professores, salas), o Omniscol mescla dinamicamente as vistas e detecta seus conflitos cruzados. #### Ver também - [Horário](#page-glossary.timetable) - [Escolher o tipo de horário certo](#page-overview.timetable-modes) - [Modo calendário](#page-timetables.calendar-mode) - [Grupos de grupos](#page-glossary.groups-of-groups) ### Modo de exibição do horário *Source: `help/pt/glossary/schedule-view-mode.md` · id: glossary.schedule-view-mode · Updated: 2026-06-13* *Also known as : visão em grade · visão em lista · visão em tabela · alternar a visão* Três representações intercambiáveis das mesmas aulas no mesmo horário, escolhidas pelos botões da faixa de título: - **Grade** (Visão em grade): visão de calendário clássica, aulas posicionadas em uma grade dia × hora. Modo padrão para a consulta rápida. - **Lista** (Visão em lista): sucessão cronológica das aulas, uma por linha, com dia, horários, duração, turma, grupo, disciplina, professores, site e sala. Prática para percorrer sequencialmente. - **Tabela** (Tabela): renderização tipo planilha da visão atual — dias em colunas e faixas horárias em linhas (ou o inverso), ou uma aula por linha quando a visão em lista está ativa. Útil para uma auditoria, uma cópia para uma planilha ou uma exportação de arquivo conforme a tela (PDF, CSV, Excel / XLSX). Esse modo é reservado aos administradores, no computador. Os três modos operam sobre o **mesmo conjunto de dados**; alternar não modifica nem filtra, é estritamente uma apresentação diferente. A escolha não é registrada: vale para a exibição atual. ### Nível *Source: `help/pt/glossary/level.md` · id: glossary.level · Updated: 2026-06-21* *Also known as : nível de turma · ano* Um **nível** organiza as [turmas](#page-glossary.class) por **progressão pedagógica**: 7.º ano, 8.º ano, 9.º ano no ensino básico; L1, L2, L3 na licenciatura; Bacharelado, Mestrado, ano 1, ano 2… conforme o estabelecimento. É um **rótulo de organização**, não uma restrição de posicionamento: o nível não impõe nada à geração automática. Serve para **organizar e localizar** as turmas — nas telas de turmas, em vários filtros e em algumas visualizações de diagnóstico. #### Onde configurá-lo Os níveis fazem parte das configurações **gerais** da conta. A partir das [configurações gerais](#page-admin.parameters), em **Níveis**, você pode criá-los por meio de Criar, excluí-los e **arrastar e soltar para reordená-los** — a ordem traduz a progressão. Cada turma recebe em seguida um nível no momento da sua criação (cf. [Criar as turmas](#page-timetables.creating-classes)). #### Nível, campus e site Três noções vizinhas que não se devem confundir: - o **nível** situa a turma em uma **progressão** (em que ponto do currículo a turma se encontra); - o [campus](#page-glossary.campus) a vincula a uma **entidade organizacional** (faculdade, polo, unidade); - o [site](#page-glossary.site) fornece o seu **local físico** e as salas utilizadas por padrão. Uma mesma turma geralmente possui os três: um nível, eventualmente um campus, e um site por padrão. #### Ver também - [Turma](#page-glossary.class) - [Campus](#page-glossary.campus) - [Site](#page-glossary.site) - [Criar as turmas e os seus grupos](#page-timetables.creating-classes) - [Configurações gerais](#page-admin.parameters) ### Painel *Source: `help/pt/glossary/dashboard.md` · id: glossary.dashboard · Updated: 2026-05-18* *Also known as : dashboard · estatísticas · indicadores* O módulo **Painel** fornece estatísticas calculadas sobre o horário efetivo (aulas posicionadas, ausências tidas em conta, substituições aplicadas) ao longo de um período escolhido: semana, mês, ano letivo ou intervalo de datas personalizado. #### Indicadores disponíveis As estatísticas são organizadas por eixos de análise: professores, salas, recursos, disciplinas, turmas e alunos. A página completa do módulo detalha os indicadores disponíveis para cada eixo. #### Casos de uso - **Relatório de RH** — registo das horas lecionadas para os salários, as certificações, as acreditações. - **Otimização de salas** — detetar as salas subutilizadas ou sobrecarregadas. - **Controlo de recursos** — verificar a utilização efetiva do material móvel. - **Auditoria pedagógica** — verificar que todos os volumes previstos foram efetivamente lecionados. #### Exportação O botão Imprimir abre uma tabela que se pode copiar e colar, imprimir ou exportar em CSV para um tratamento externo (Excel, Power BI, etc.). #### Cálculo Importante: o Painel trabalha sobre o **horário operacional** (as aulas realmente posicionadas e publicadas, fundindo [vários horários ativos em paralelo](#page-timetables.multiple-active-timetables) quando aplicável) e **tem em conta as ausências validadas e as substituições**. É um cálculo da realidade, não da configuração prevista. #### Ver também - [Visão geral do módulo Painel](#page-dashboard.overview) - [Utilizar as tabelas e os gráficos](#page-dashboard.tools-and-filters) - [Estatísticas de professores](#page-dashboard.teachers) - [Estatísticas de salas](#page-dashboard.classrooms) - [Estatísticas de disciplinas](#page-dashboard.subjects) - [Estatísticas de turmas](#page-dashboard.classes) ### Painel de display *Source: `help/pt/glossary/panel.md` · id: glossary.panel · Updated: 2026-06-13* *Also known as : painel de exibição · tela de entrada · tela do saguão · painel informativo* Um **painel** no Omniscol é uma tela de exibição pública, configurada para mostrar continuamente um horário filtrado. Casos típicos: - **painel de saguão** — tela na entrada da escola, percorre as aulas do dia de todas as turmas, - **painel ao lado de uma sala** — tela fixada junto a uma porta, exibindo a ocupação dessa sala ao longo do dia, - **painel de anfiteatro / laboratório** — exibição das próximas aulas em um espaço especializado. #### Uma URL única para cada painel Cada painel criado tem uma **URL única** para abrir em tela cheia em um navegador. A rolagem e a atualização acontecem automaticamente. #### Personalização No momento de definir um painel, você configura: - **filtro das aulas exibidas**: qual(is) nível(is), qual(is) turma(s), qual(is) site(s), qual(is) sala(s), - **faixa de horário** exibida, - **tamanho da fonte**, - **faixa de informações** (texto rolante, logotipo), - **cores e tema**. Para as implantações com forte identidade visual, também é possível substituir integralmente a página web que exibe o painel, a fim de integrá-la a um dispositivo de sinalização digital existente. Ver [Personalização visual](#page-panels.customization). #### Ver também - [Painel de saguão](#page-panels.lobby-panel) - [Painel diante de uma sala](#page-panels.room-panel) - [Personalização visual](#page-panels.customization) ### Professor / Colaborador *Source: `help/pt/glossary/teacher.md` · id: glossary.teacher · Updated: 2026-05-10* *Also known as : docente · instrutor · formador · colaborador externo · educador* No Omniscol, **professor** designa qualquer pessoa que assegura a condução pedagógica de uma aula. O termo abrange: - os **professores permanentes** (efetivos, faculty), - os **colaboradores externos** (professores externos pontuais), - os **visiting professors** (acadêmicos convidados, conferencistas), - os **formadores** (formação continuada, oficinas), - os **especialistas** (colaboradores pontuais contratados por sua especialização). Conforme a cultura da sua instituição, você falará de «professor», de «docente», de «instrutor», de «formador» — o Omniscol adapta-se ao seu vocabulário por meio dos rótulos (ver as configurações), mas, internamente, todos são representados pela mesma entidade. #### Criação Os professores são criados no nível da escola em Professores. Você preenche: - nome, sobrenome, login, senha, - e-mail (usado para o convite e para a recuperação de senha), - opcionalmente, um identificador externo (matrícula, ID SIS), - as **disciplinas lecionadas** (facilita a atribuição às aulas depois), - a **carga horária** (número de horas semanais previstas, retomado por padrão nos novos horários). #### Atribuição a um horário Uma vez criados no nível da escola, os professores devem ser **atribuídos a um horário** a partir de Atribuir professores. Essa etapa distingue o «pessoal disponível» (no nível da escola) do «pessoal mobilizado neste horário» (no nível do horário). #### Disponibilidades Um professor pode informar suas [disponibilidades](#page-glossary.wishes) (faixas indisponíveis, indesejadas, preferidas). Para os horários semanais, elas exigem uma validação administrativa; para os horários em modo calendário, elas são consolidadas em tempo real. No ensino secundário, também se fala de **desejos**. #### Colaboradores externos (professores externos) Para os **colaboradores externos**, veja a entrada dedicada: [Professor externo / colaborador externo](#page-glossary.external-teacher). #### Professor virtual O botão Virtual cria um *professor virtual* — um registro provisório para um cargo a ser preenchido, que aparece com um fantasma ao lado do seu nome. Uma vez recrutada a pessoa real, você converte o registro em um professor efetivo por meio do botão na sua linha. Prático para preparar o início do ano letivo antes que todas as contratações estejam concluídas. #### Ver também - [Professor externo (colaborador externo)](#page-glossary.external-teacher) - [Disponibilidades](#page-glossary.wishes) - [Gerir os professores](#page-admin.teachers) - [Atribuir os professores a um horário](#page-timetables.assigning-teachers) ### Professor externo / Colaborador externo *Source: `help/pt/glossary/external-teacher.md` · id: glossary.external-teacher · Updated: 2026-06-13* *Also known as : colaborador ocasional · professor convidado · visiting professor* Um **professor externo** (ou *colaborador externo*, *professor convidado*, *especialista* consoante os contextos) é um professor cuja relação contratual com o estabelecimento é temporária ou ocasional. Do ponto de vista do algoritmo de geração, um professor externo é um [professor](#page-glossary.teacher) como qualquer outro — mesmas disponibilidades, mesmas atribuições. A distinção é principalmente **administrativa**: - contrato curto (à hora, à aula, à missão), - volume de horas mais reduzido do que o dos efetivos, - utilizador muitas vezes não alojado nos mesmos sistemas que os efetivos (e-mail diferente, sem acesso às mesmas ferramentas internas). > _Premium_ O marcador dedicado Professor externo, assinalado na ficha do utilizador, está reservado às contas Premium. Serve para identificar explicitamente os colaboradores externos e alimenta a apresentação específica descrita a seguir. #### Apresentação específica Um ícone [user-tie] distingue os professores externos dos efetivos em certos ecrãs (nomeadamente a dica de contexto da aula e a vista em lista dos horários). Na grelha horária principal, a apresentação predefinida não faz a distinção por razões de espaço, mas a informação permanece legível na dica de contexto ao passar o cursor. #### Caso particular: professor convidado para algumas aulas Para uma aula pontual em que um professor convidado coanima com o colaborador principal sem alternar, ver [coensino](#page-glossary.co-teaching). Para uma alternância semanal de dois colaboradores na mesma faixa horária, ver [aulas alternadas](#page-glossary.alternate-lessons). #### Ver também - [Professor](#page-glossary.teacher) - [Coensino](#page-glossary.co-teaching) - [Colaboradores externos no ensino superior](#page-higher-ed.external-faculty) ### Publicação / Ativação de um horário *Source: `help/pt/glossary/publication.md` · id: glossary.publication · Updated: 2026-06-13* *Also known as : entrada em serviço · ativar um horário · semanas ativas* **Publicar** (ou *ativar*) um horário é torná-lo **visível** no módulo Horário consultado por todos, nas **semanas do ano letivo** que você escolher. Um horário gerado **não é publicado automaticamente**. Enquanto não for publicado, ele é um rascunho: visível apenas no módulo Gestão de horários letivos pelos administradores. #### Como publicar Na página inicial do módulo Gestão de horários letivos: 1. Selecione o ano letivo em questão. 2. Clique em Adicionar um período (Distribuição do horário). 3. Na grade que aparece, escolha as semanas de cada horário. 4. Salve. #### Uma única publicação por semana (conta padrão) Com uma conta padrão, **apenas uma publicação** por semana é permitida. Se você quiser publicar dois horários diferentes, eles devem abranger intervalos de semanas disjuntos. #### Publicações simultâneas No Premium — ou, excepcionalmente, em uma conta Padrão com uma ativação enquadrada por contrato — vários horários podem ser publicados nas mesmas semanas e mesclados na consulta. Esse caso é detalhado em [Vários horários ativos em paralelo](#page-timetables.multiple-active-timetables) e na página completa sobre a publicação. #### Horário calendário: publicação binária Um horário em modo [calendário](#page-glossary.calendar-mode) não é publicado por intervalos de semanas (as suas aulas já estão datadas individualmente): a publicação é binária — o horário está publicado, ou não está. #### Ver também - [Horário](#page-glossary.timetable) - [Ano letivo](#page-glossary.school-year) - [Publicar um horário — página completa](#page-timetables.publication) - [Vários horários ativos em paralelo](#page-timetables.multiple-active-timetables) ### Recurso *Source: `help/pt/glossary/resource.md` · id: glossary.resource · Updated: 2026-05-10* *Also known as : material · equipamento móvel · projetor · mala · kit* Um **recurso** no Omniscol é um equipamento **móvel**, não vinculado a uma sala específica. Cada recurso tem um **nome** e uma **quantidade disponível**. Exemplos: três projetores portáteis, uma mala de 30 tablets (a mala conta como 1, não como 30 — você informa a quantidade de malas, não a quantidade de tablets), um kit de microfones, um conjunto de manequins de primeiros socorros. #### Como é utilizado Ao configurar uma aula, você indica os recursos de que ela necessita. A geração automática garante que **aulas simultâneas nunca solicitam mais recursos do que existem**: se você tem 3 projetores portáteis, nunca mais de 3 aulas simultâneas poderão solicitar um cada. #### Diferença em relação às salas Uma [sala de aula](#page-glossary.classroom) está vinculada a um [site](#page-glossary.site) e não sai dele. Um recurso não está vinculado a nenhuma sala (mas está vinculado a um site, o que impede usar uma mala do site A para uma aula do site B). #### Casos típicos em que não se usa recurso Muitas aulas não têm nenhum recurso declarado — esse é o padrão. Declare um recurso apenas se ele constituir **um limite real**: se você tem 30 projetores portáteis e no máximo 4 aulas simultâneas, não há motivo para modelar; se você tem 3 e várias aulas que solicitam um, você quer que a geração automática arbitre. #### Ver também - [Site](#page-glossary.site) - [Sala de aula](#page-glossary.classroom) ### Sala de aula *Source: `help/pt/glossary/classroom.md` · id: glossary.classroom · Updated: 2026-06-13* *Also known as : local · anfiteatro · auditório · sala dedicada* Uma **sala de aula** no Omniscol é um espaço físico no qual uma aula pode acontecer. Cada sala está vinculada a um [local](#page-glossary.site). Uma sala possui: - um **nome** («A102», «Amphi Newton», «Lab. Chimie 3»), - uma **capacidade** (número de alunos que podem ser acolhidos; campo essencial para a geração automática), - eventualmente um Número máximo de turmas quando se trata de uma **[sala grande](#page-glossary.large-room)** capaz de acolher várias aulas ao mesmo tempo (sala de exame, teatro, ginásio, piscina, espaço exterior), - eventualmente uma **[especialização](#page-glossary.classroom-specialization)** (química, informática, educação física, multimídia, etc. — um único rótulo por sala), - eventualmente **tags** ou comentários livres (quadro branco, projetor fixo, tomadas elétricas para os alunos, etc.), - eventualmente um **edifício**, - **horários de funcionamento** (útil para as salas compartilhadas com outra instituição, ou para as salas abertas apenas em certos dias). #### Atribuição às aulas Uma aula pode ter uma ou [várias salas](#page-glossary.multi-room). Quando você atribui manualmente uma sala, o Omniscol: - **pré-filtra** as salas inadequadas (especialização incorreta, capacidade insuficiente, indisponibilidade, local incorreto), exibindo-as em semitransparência, - **ordena** as salas compatíveis por adequação (estrelas: ocupação ideal, etc.), - permite que você force uma atribuição incoerente, mas emite um alerta. #### Capacidade e dimensionamento A capacidade é um campo crítico. Em caso de dúvida e se você tiver certeza de que a sala será grande o suficiente, informe um número elevado. Se você subdimensionar, a geração automática recusará configurações válidas ou emitirá alertas. #### Sala grande: várias aulas simultâneas O campo **Número máximo de turmas** transforma uma sala em **[sala grande](#page-glossary.large-room)**: ela pode então acolher várias aulas diferentes ao mesmo tempo (professores e grupos distintos), dentro do limite desse número e de sua capacidade total — tipicamente uma sala de exame, um teatro, um ginásio, uma piscina ou um espaço exterior. Esse ajuste só aparece em uma sala dotada de uma **[especialização](#page-glossary.classroom-specialization)**. Deixado vazio, a sala acolhe apenas uma aula por vez. #### Especialização A **especialização** (química, informática, educação física, multimídia, sala de estudo supervisionado…) é um rótulo livre, único por sala. Ela serve depois para indicar, no momento da atribuição de uma disciplina a uma turma, que uma sala portando exatamente esse rótulo é exigida. O motor respeita estritamente essa restrição. #### Sala dedicada a uma turma Muitas configurações de ensino fundamental/médio associam uma sala a cada turma (as aulas acontecem ali por padrão, apenas os professores se deslocam). Você pode configurar isso na turma (cf. [criação de turma](#page-timetables.creating-classes)). #### Salas em dois locais virtuais Se você criou dois [locais](#page-glossary.site) virtuais para um mesmo lugar físico (tipicamente um ensino fundamental e um ensino médio que compartilham as instalações), uma sala só pode pertencer a um dos dois locais de cada vez. Para torná-la utilizável no lado do ensino fundamental **e** no lado do ensino médio, duplique-a nos dois locais e **informe horários de funcionamento exclusivos**. O Omniscol não distingue uma mesma sala compartilhada entre dois locais de duas salas homônimas: portanto, ele não cruza automaticamente as duas entradas, e cabe a você evitar uma reserva dupla do espaço físico real. #### Ver também - [Site](#page-glossary.site) - [Campus](#page-glossary.campus) - [Especialização de sala](#page-glossary.classroom-specialization) - [Várias salas](#page-glossary.multi-room) - [Sala grande](#page-glossary.large-room) - [Recurso](#page-glossary.resource) ### Sala grande (várias aulas simultâneas) *Source: `help/pt/glossary/large-room.md` · id: glossary.large-room · Updated: 2026-06-25* *Also known as : número máximo de turmas · sala de exame · teatro · ginásio · piscina · exterior* Uma **sala grande** é uma [sala](#page-glossary.classroom) que pode acolher **várias aulas diferentes ao mesmo tempo**, com professores diferentes e grupos sem relação entre si. Você declara-a preenchendo o campo **Número máximo de turmas** na sala: esse número fixa quantas aulas distintas podem decorrer nela em paralelo. Exemplos típicos: uma **sala de exame**, um **átrio**, um **espaço exterior** (pátio, teatro, campo de desporto, museu...), um **ginásio**, uma **piscina** — outros tantos locais onde várias atividades independentes coexistem. #### Reservado a salas especializadas O campo Número máximo de turmas só aparece numa sala dotada de uma **[especialização](#page-glossary.classroom-specialization)**. É preciso, portanto, dar primeiro uma especialização à sala (desporto, exame, piscina, exterior…) e depois indicar o seu número máximo de turmas simultâneas. É coerente: uma sala grande partilhada é sempre um espaço especializado para uma atividade específica, e a especialização serve, assim, também para orientar as disciplinas certas para ela. #### Como o Omniscol a utiliza Em cada faixa horária, a [geração automática](#page-glossary.solver) e a deteção de conflitos permitem colocar na sala tantas aulas quantas o Número máximo de turmas permitir, desde que a soma dos seus efetivos se mantenha dentro da **[capacidade](#page-glossary.classroom)** da sala. Para além de um ou outro destes limites — demasiadas aulas em paralelo, ou capacidade ultrapassada — o Omniscol assinala um conflito. Uma sala deixada sem Número máximo de turmas comporta-se como uma sala comum: uma só aula de cada vez. #### Sala grande ou várias salas? As duas noções jogam com o par sala ↔ aula, em dois sentidos opostos: - uma **sala grande** reúne **várias aulas numa mesma sala**; - uma aula em **[várias salas](#page-glossary.multi-room)** ocupa, pelo contrário, **várias salas para uma mesma aula** (a sua capacidade é então a soma das salas afetadas). #### Ver também - [Sala de aula](#page-glossary.classroom) - [Especialização de sala](#page-glossary.classroom-specialization) - [Várias salas](#page-glossary.multi-room) - [Sites, grades horárias, salas, recursos](#page-timetables.sites-rooms) ### Site *Source: `help/pt/glossary/site.md` · id: glossary.site · Updated: 2026-05-10* *Also known as : local · prédio principal · unidade* Um **site** no Omniscol representa um local físico onde ocorrem aulas. Um site abriga [salas de aula](#page-glossary.classroom) e [recursos](#page-glossary.resource). Não o confunda com o [campus](#page-glossary.campus), que é uma noção organizacional: unidade, faculdade, polo ou agrupamento interno. O site carrega os horários, as salas e os tempos de deslocamento; o campus serve antes para classificar e filtrar. Cada horário tem ao menos um site. Se todos os seus prédios estão no mesmo local geográfico, um único site basta. Se a sua instituição tem vários sites com profissionais ou alunos que se deslocam, crie tantos sites quantos forem necessários — e **informe o tempo de deslocamento entre eles**, senão a geração automática corre o risco de teletransportar seus professores ou seus alunos. #### Grade horária no nível do site Cada site tem a sua própria **grade horária** (horários de aula, intervalos, almoço, fechamentos). Ela é deduzida automaticamente a partir das informações inseridas, mas deve ser personalizada acrescentando os intervalos, a pausa do meio-dia, os fechamentos (quarta-feira à tarde, sábado). #### Caso prático: dois sites virtuais para um mesmo local Configuração às vezes útil (mas rara): criar dois «sites virtuais» para um local físico único compartilhado entre duas entidades (ensino fundamental + ensino médio) que não têm a mesma grade horária mas têm professores em comum. O tempo de deslocamento entre os dois sites virtuais é então zero. Atenção para duplicar as salas compartilhadas nos dois sites e para informar horários de abertura exclusivos (cf. [sala de aula](#page-glossary.classroom)). #### Quando preferir duas contas em vez de dois sites Se duas instituições distintas não têm **nenhum profissional em comum** (ou se os raros professores comuns são alocados sequencialmente a um site e depois ao outro em dias bem definidos), muitas vezes é mais simples usar duas contas Omniscol separadas. Os sites múltiplos se impõem assim que há uma verdadeira circulação dos profissionais ou dos alunos a modelar. No **Premium**, outra opção é publicar **dois horários ativos simultaneamente** na mesma conta (ver [Vários horários ativos em paralelo](#page-timetables.multiple-active-timetables)), correspondendo cada um a um site, em vez de configurar dois sites em um mesmo horário. Seja com várias contas ou com vários horários em paralelo, é possível compartilhar as ocupações dos professores e das salas, com uma detecção de conflitos cruzados (que pode ser desativada pelo planejador). Se se tratar de várias contas, é preciso entrar em contato com a equipe da Omniscol para configurar o vínculo entre elas. Apenas os horários operacionais, publicados, servem de fonte para determinar as ocupações das entidades comuns. #### Ver também - [Sala de aula](#page-glossary.classroom) - [Recurso](#page-glossary.resource) - [Campus](#page-glossary.campus) - [Multi-sites para o ensino superior](#page-higher-ed.multi-site) ### Substituição / Reposição *Source: `help/pt/glossary/substitution.md` · id: glossary.substitution · Updated: 2026-05-14* *Also known as : professor substituto* Uma **substituição** designa a atribuição de outro professor a uma aula cujo titular está [ausente](#page-glossary.absence). #### Substituição pontual Para uma aula específica, o administrador abre a gestão dos substitutos da ausência e utiliza Atribuir um substituto. Esta atribuição vale unicamente para a aula escolhida e tem prioridade sobre as regras de longa duração. #### Regra de substituição Para uma ausência longa, o administrador cria uma ou várias regras com Atribuir um substituto. Uma regra pode especificar: - o substituto; - datas de validade; - faixas horárias; - disciplinas; - turmas; - um comentário. As regras aplicam-se pela ordem apresentada. Se nenhuma regra abranger uma aula, esta permanece afetada pela ausência do titular. #### Apresentação das substituições No horário, o professor substituído permanece visível como titular ausente e o substituto aparece na aula. Os detalhes do motivo e do comentário da ausência dependem dos direitos de consulta. #### Ver também - [Ausência](#page-glossary.absence) - [Políticas de substituição](#page-absences.substitution-policies) - [Substituição pontual de uma aula](#page-absences.single-lesson-replacement) ### Tipo de aula *Source: `help/pt/glossary/lesson-type.md` · id: glossary.lesson-type · Updated: 2026-05-10* *Also known as : tipo de curso · aula teórica · aula teórico-prática · aula prática · exame · conferência* Um **tipo de aula** qualifica o formato pedagógico de uma aula. Exemplos canónicos: - **Aula teórica** — aula lecionada para toda a turma, - **Aula teórico-prática** — trabalho orientado em pequenos grupos, - **Aula prática** — trabalho prático em laboratório, - **Exame** — prova avaliada, - **Conferência** — orador convidado externo, - **Oficina**, **Seminário**, **Fórum**, **Defesa de tese**… Os tipos de aula são definidos ao nível da escola em Criar. Você pode criar tantos quantos a sua nomenclatura pedagógica exigir (as instituições de ensino superior têm por vezes 25-30 tipos). #### Combinação disciplina + tipo Um tipo de aula atribui-se a uma aula, além da sua [disciplina](#page-glossary.subject). O par `(disciplina, tipo)` é tratado como um identificador independente: por exemplo, nas estatísticas ou nos filtros, a «aula teórica de matemática» e a «aula prática de matemática» aparecem separadamente. Se você quiser consultar ambas ao mesmo tempo (sem distinção de tipo), utilize um filtro aberto que não especifique o tipo. #### Filtragem e apresentação - **Filtro no módulo Horário** — seleção de um tipo para ver apenas as aulas práticas, ou apenas as aulas teóricas. - **Estatísticas** — contagem das horas de aulas teórico-práticas vs práticas vs teóricas por turma ou por professor. - **Apresentação** — cor ou marcador visual por tipo na grelha, consoante os parâmetros de apresentação. #### Ver também - [Curso](#page-glossary.course) - [Disciplina](#page-glossary.subject) - [Aula / Sessão](#page-glossary.lesson) - [Configurar os tipos de aula](#page-admin.lesson-types) ### Token de API *Source: `help/pt/glossary/api-token.md` · id: glossary.api-token · Updated: 2026-05-15* *Also known as : token api · chave api · token de autenticação* Um **token de API** permite que um software terceiro chame os pontos de acesso de API do Omniscol em nome da escola, em leitura e, se pontos de acesso de API de escrita forem selecionados, em escrita. É poderoso — portanto, deve ser manuseado com cuidado. #### Geração Um token é gerado em Compartilhamento (Importação / Exportação > Compartilhamento). Você fornece: - uma chave (gerada no Omniscol, com rótulo e expiração eventual; a sua data de expiração pode ser alterada depois), - um escopo: a lista de pontos de acesso de API que esse token poderá chamar (conceda apenas o que for estritamente necessário), - eventualmente uma **expiração do token**. Essa data é inscrita no JWT gerado e não pode ser alterada em seguida. Excluir a chave, ou atingir a sua expiração, revoga imediatamente os tokens derivados. Para alterar a expiração de um token individual, gere um novo JWT. #### Utilização O token é transmitido no cabeçalho HTTP `Authorization: Bearer `, ou (menos recomendado para produção) na URL via `?auth=`. #### Boas práticas - **Uma chave por integração** — facilita a revogação independente. - **Escopo mínimo** — marque apenas as APIs necessárias, não tudo por padrão. - **Expiração no nível certo** — use a expiração da chave para conduzir uma integração ao longo do tempo; use a expiração do token para um acesso temporário não modificável. - **Rotação periódica** — regenere a chave a cada 6-12 meses. - **Fora do Git** — o token não deve acabar versionado num repositório público. Use as variáveis de ambiente do seu servidor. #### Diferença em relação a OIDC / SSO Para conectar usuários reais com a sua identidade institucional, use [OIDC / SSO](#page-integrations.oauth2). O token de API destina-se a integrações técnicas servidor a servidor, não à conexão diária dos usuários. #### Ver também - [Link de compartilhamento](#page-glossary.share-link) - [API Omniscol](#page-integrations.api-tokens) - [MCP — conectar um agente IA externo](#page-integrations.mcp) ### Turma *Source: `help/pt/glossary/class.md` · id: glossary.class · Updated: 2026-07-05* *Also known as : classe · coorte · série · sessão* No Omniscol, uma **turma** é a entidade principal que reúne alunos que seguem um mesmo currículo em uma mesma escola, em um período determinado. É a destinatária das aulas: uma aula destina-se a uma turma (por inteiro, ou por meio de um [grupo](#page-glossary.group) que é uma subdivisão dela), não o contrário. Uma turma tem: - um **nome** (por exemplo «8.º A», «1.º ano Ciências», «Coorte 2028»), - um **nível** (os níveis são definidos em Criar — por exemplo 7.º/8.º/9.º ano no ensino básico, 1.º/2.º/3.º ano na licenciatura), - eventualmente um **campus** (opção Premium; unidade, faculdade, polo ou outro agrupamento organizacional), - um **local** padrão (lugar físico e salas usadas por padrão), - eventualmente uma **sala dedicada** na qual as aulas ocorrerão por padrão, - um **efetivo teórico** (número de alunos esperado; opcional mas útil ao dimensionamento das salas). #### Vocabulário conforme o contexto A palavra «turma» assume nuances muito diferentes conforme o tipo de instituição. Todas remetem à mesma entidade Omniscol: - **Ensino fundamental / médio** — «turma» no sentido escolar clássico: um grupo estável de alunos associado a um ano ou a uma seção (por exemplo «8.º A», «10.º Ciências», «5.º B»). - **Ensino superior** — muitas vezes «turma de ingresso», «coorte», «sessão», às vezes «percurso» ou «especialização». Uma turma de ingresso de 200 alunos é uma turma; os subgrupos de exercícios/práticas são [grupos](#page-glossary.group), não turmas. - **Formação continuada** — «sessão», «coorte», «grupo de aprendizes». > _Premium_ No ensino superior, «turma» designa aqui um grupo estável de estudantes ou alunos que compartilha o mesmo horário ou o mesmo percurso global. Isso costuma corresponder a uma coorte, a um grupo de formação ou às vezes a um percurso. Não deve ser confundida com uma disciplina, uma unidade curricular ou um módulo. Quando você lê «turma» no Omniscol, leia «a coorte que segue este percurso neste período», não «o local físico» (que é uma [sala](#page-glossary.classroom)). #### Distinção turma vs grupo Uma armadilha clássica: confundir uma turma e um grupo. Os grupos são **sempre** subdivisões de uma turma. Se você precisa misturar alunos vindos de várias turmas (por exemplo os alunos de Latim das turmas 8.º A, 8.º B e 8.º C que seguem uma mesma aula de latim), você não cria uma nova turma: você usa um [alinhamento de grupos](#page-glossary.alignment) ou um [grupo de grupos](#page-glossary.groups-of-groups). #### Ver também - [Grupo](#page-glossary.group) - [Nível](#page-glossary.level) - [Divisão de turma](#page-glossary.class-division) - [Alinhamento de grupos](#page-glossary.alignment) - [Campus](#page-glossary.campus) - [Site](#page-glossary.site) - [Turma, grupo, subgrupo](#page-core-concepts.classes-and-groups) ### Várias salas (uma aula em várias salas) *Source: `help/pt/glossary/multi-room.md` · id: glossary.multi-room · Updated: 2026-06-13* *Also known as : salas múltiplas · múltiplas salas · desdobramento de sala · multissalas · mais de uma sala* O Omniscol permite atribuir **várias salas** a uma mesma aula. Este recurso está disponível **em todos os tipos de horário**: [semanal](#page-glossary.weekly-timetable), [cíclico](#page-glossary.cyclic-timetable) e [calendário](#page-glossary.calendar-mode). #### Casos de uso típicos - **Exames em anfiteatros desdobrados** — um exame de 200 candidatos distribuído por três anfiteatros (capacidade 70 + 60 + 80) com um único responsável. A capacidade é calculada como a soma das salas atribuídas. - **Aula teórica retransmitida** — uma aula teórica em um anfiteatro principal, retransmitida por videochamada para uma sala satélite (por exemplo em outro site, ou mesmo a partir de uma turma inteiramente a distância). - **Aulas práticas desdobradas sem desdobramento de grupo** — quando uma aula prática de 30 estudantes não cabe em nenhuma sala de informática única, mas pode ser supervisionada simultaneamente em duas salas vizinhas (15 + 15) pelo mesmo professor. #### Capacidade total = soma das salas Quando você atribui várias salas a uma aula, o Omniscol soma as suas capacidades para verificar se o grupo cabe. Nenhum falso alerta de excesso de capacidade é gerado enquanto a soma for suficiente. > **Dica.** Se você vir alertas de excesso de capacidade desaparecerem > após adicionar uma segunda sala, esse é exatamente o comportamento > esperado: a soma cobre o efetivo. #### Limitação a conhecer Se a soma das capacidades permanecer **inferior** ao grupo, o Omniscol ainda exibe um conflito — cabe ao administrador decidir como resolvê-lo (adicionando uma sala, reduzindo o grupo ou aceitando o conflito se ele for deliberado, por exemplo quando se sabe que nem todos os inscritos comparecerão). #### Ver também - [Sala de aula](#page-glossary.classroom) - [Exames em várias salas no ensino superior](#page-higher-ed.multi-room-exams) - [Site](#page-glossary.site) --- ## Index ### A - **Alinhamento de grupos** — [Definition](#page-glossary.alignment) · [Alinhamentos de grupos](#page-core-concepts.alignments) · [Alinhamentos e grupos de grupos](#page-timetables.alignments-and-groups-of-groups) · [Casos de uso no ensino superior](#page-faq.higher-ed-cases) · [Grupos de grupos](#page-core-concepts.groups-of-groups) · [Modelo de dados completo](#page-integrations.data-model-full) · [Turma, grupo, subgrupo](#page-core-concepts.classes-and-groups) · [Visão geral](#page-k12.overview) - **Aluno / Estudante / Aprendiz** — [Definition](#page-glossary.student) · [Arquitetura e funções](#page-overview.architecture-and-roles) · [Convidar e ativar seus usuários](#page-getting-started.inviting-users) · [Estatísticas de alunos e recursos](#page-dashboard.students-resources) · [O que é o Omniscol](#page-overview.what-is-omniscol) · [OneRoster](#page-integrations.oneroster) · [Preparar seus dados para uma importação em massa](#page-getting-started.preparing-data) · [Usuários e papéis](#page-admin.users-and-roles) · [Visita guiada](#page-getting-started.onboarding-tour) - **Ano letivo** — [Definition](#page-glossary.school-year) · [Configurações gerais](#page-admin.parameters) · [Configurar a conta da escola](#page-getting-started.setup-school) · [Modelo de dados completo](#page-integrations.data-model-full) · [OneRoster](#page-integrations.oneroster) · [Organização dos dados](#page-core-concepts.data-model) · [Pré-requisitos](#page-timetables.prerequisites) · [Publicar (ativar) um horário](#page-timetables.publication) · [Visita guiada](#page-getting-started.onboarding-tour) - **Aula / Sessão** — [Definition](#page-glossary.lesson) · [Alterações pontuais](#page-schedules.ad-hoc-changes) · [Aulas fora da grelha](#page-timetables.off-grid-lessons) · [Bloquear uma aula](#page-timetables.lesson-lock) · [Casos particulares e configurações avançadas](#page-faq.edge-cases) · [Consultar e filtrar](#page-schedules.consult-and-filter) · [Distribuir as horas e criar as aulas](#page-timetables.hour-distribution) · [Edição de uma aula](#page-timetables.lesson-edit) · [Grade horária, faixas horárias e durações](#page-core-concepts.timetable-grid) · [Importação em massa dos cursos via folha de cálculo](#page-timetables.mass-import) · [Modelo de dados completo](#page-integrations.data-model-full) · [O que é o Omniscol](#page-overview.what-is-omniscol) · [Organização dos dados](#page-core-concepts.data-model) · [Posicionamento manual](#page-timetables.manual-placement) · [Preparar seus dados para uma importação em massa](#page-getting-started.preparing-data) · [Visita guiada em cinco minutos](#page-overview.quick-tour) - **Aulas alternadas** — [Definition](#page-glossary.alternate-lessons) · [Aulas complexas](#page-core-concepts.complex-lessons) · [Configurações gerais](#page-admin.parameters) · [Distribuir as horas e criar as aulas](#page-timetables.hour-distribution) - **Aulas associadas** — [Definition](#page-glossary.associated-lessons) · [Aulas complexas](#page-core-concepts.complex-lessons) · [Distribuir as horas e criar as aulas](#page-timetables.hour-distribution) - **Aulas geminadas** — [Definition](#page-glossary.concatenated-lessons) · [Aulas complexas](#page-core-concepts.complex-lessons) · [Distribuir as horas e criar as aulas](#page-timetables.hour-distribution) - **Ausência** — [Definition](#page-glossary.absence) · [Declarar uma ausência](#page-absences.declaring) · [Estatísticas de alunos e recursos](#page-dashboard.students-resources) · [Estatísticas de professores](#page-dashboard.teachers) · [Políticas de substituição](#page-absences.substitution-policies) · [Visão geral do módulo Gestão de ausências](#page-absences.overview) ### C - **Campus** — [Definition](#page-glossary.campus) · [Configurações avançadas e personalização](#page-admin.advanced-parameters) · [Conflitos e diagnóstico](#page-timetables.conflicts) · [Criar as turmas e os seus grupos](#page-timetables.creating-classes) · [Locais, salas, recursos](#page-core-concepts.sites-rooms-resources) · [Sites, grades horárias, salas, recursos](#page-timetables.sites-rooms) - **Coensino** — [Definition](#page-glossary.co-teaching) · [Aulas complexas](#page-core-concepts.complex-lessons) · [Casos de uso no ensino superior](#page-faq.higher-ed-cases) - **Conflito** — [Definition](#page-glossary.conflict) · [Alterações pontuais](#page-schedules.ad-hoc-changes) · [Bloquear uma aula](#page-timetables.lesson-lock) · [Casos particulares e configurações avançadas](#page-faq.edge-cases) · [Comportamento do algoritmo](#page-faq.solver-behavior) · [Conflitos e diagnóstico](#page-timetables.conflicts) · [Diagnosticar uma geração que falha](#page-timetables.diagnosing-generation) · [Filosofia geral do Omniscol](#page-overview.philosophy) · [Geração automática](#page-timetables.generation) · [O que é o Omniscol](#page-overview.what-is-omniscol) - **Curso** — [Definition](#page-glossary.course) - **Curso transversal** — [Definition](#page-glossary.transverse-course) ### D - **Diagnóstico** — [Definition](#page-glossary.diagnostic) · [Comportamento do algoritmo](#page-faq.solver-behavior) · [Conflitos e diagnóstico](#page-timetables.conflicts) · [Diagnosticar uma geração que falha](#page-timetables.diagnosing-generation) · [Geração automática](#page-timetables.generation) - **Disciplina** — [Definition](#page-glossary.subject) · [Criar as turmas e os seus grupos](#page-timetables.creating-classes) · [Estatísticas de disciplinas](#page-dashboard.subjects) · [Estatísticas de turmas](#page-dashboard.classes) · [Modelo de dados completo](#page-integrations.data-model-full) · [OneRoster](#page-integrations.oneroster) · [Organização dos dados](#page-core-concepts.data-model) · [Pré-requisitos](#page-timetables.prerequisites) · [Preparar seus dados para uma importação em massa](#page-getting-started.preparing-data) · [Visão geral do módulo Painel](#page-dashboard.overview) · [Visita guiada](#page-getting-started.onboarding-tour) - **Disponibilidades dos professores (desejos)** — [Definition](#page-glossary.wishes) · [Atribuir os professores](#page-timetables.assigning-teachers) · [Disponibilidades dos professores](#page-core-concepts.wishes-and-availability) · [Grupos de grupos](#page-core-concepts.groups-of-groups) · [Modelo de dados completo](#page-integrations.data-model-full) · [Restrições horárias (sistema geral)](#page-core-concepts.time-constraints) - **Divisão de turma** — [Definition](#page-glossary.class-division) · [Alinhamentos de grupos](#page-core-concepts.alignments) · [Casos de uso no ensino superior](#page-faq.higher-ed-cases) · [Casos particulares e configurações avançadas](#page-faq.edge-cases) · [Criar as turmas e os seus grupos](#page-timetables.creating-classes) · [Divisões de turma](#page-core-concepts.class-divisions) · [Hierarquia de grupos](#page-core-concepts.group-hierarchy) · [Modelo de dados completo](#page-integrations.data-model-full) · [OneRoster](#page-integrations.oneroster) · [Turma, grupo, subgrupo](#page-core-concepts.classes-and-groups) · [Visão geral](#page-k12.overview) ### E - **Especialização de sala** — [Definition](#page-glossary.classroom-specialization) · [Atribuição automática das salas](#page-timetables.auto-room-assignment) · [Casos particulares e configurações avançadas](#page-faq.edge-cases) · [Locais, salas, recursos](#page-core-concepts.sites-rooms-resources) · [Modelo de dados completo](#page-integrations.data-model-full) · [Sites, grades horárias, salas, recursos](#page-timetables.sites-rooms) - **Estado** — [Definition](#page-glossary.lesson-status) ### F - **Férias** — [Definition](#page-glossary.holidays) ### G - **Geração automática** — [Definition](#page-glossary.solver) · [Bloquear uma aula](#page-timetables.lesson-lock) · [Comportamento do algoritmo](#page-faq.solver-behavior) · [Criação de horários](#page-faq.timetables) · [Diagnosticar uma geração que falha](#page-timetables.diagnosing-generation) · [Disponibilidades dos professores](#page-core-concepts.wishes-and-availability) · [Filosofia geral do Omniscol](#page-overview.philosophy) · [Geração automática](#page-timetables.generation) · [O que é o Omniscol](#page-overview.what-is-omniscol) · [Posicionamento manual](#page-timetables.manual-placement) · [Restrições horárias (sistema geral)](#page-core-concepts.time-constraints) - **Gestão de pessoal** — [Definition](#page-glossary.staffing) · [Modelo de dados completo](#page-integrations.data-model-full) - **Grupo** — [Definition](#page-glossary.group) · [Alinhamentos de grupos](#page-core-concepts.alignments) · [Alinhamentos e grupos de grupos](#page-timetables.alignments-and-groups-of-groups) · [Aulas fora da grelha](#page-timetables.off-grid-lessons) · [Casos de uso no ensino superior](#page-faq.higher-ed-cases) · [Criar as turmas e os seus grupos](#page-timetables.creating-classes) · [Distribuir as horas e criar as aulas](#page-timetables.hour-distribution) · [Divisões de turma](#page-core-concepts.class-divisions) · [Edição de uma aula](#page-timetables.lesson-edit) · [Estatísticas de alunos e recursos](#page-dashboard.students-resources) · [Estatísticas de turmas](#page-dashboard.classes) · [Grupos de grupos](#page-core-concepts.groups-of-groups) · [Grupos livres](#page-core-concepts.free-groups) · [Hierarquia de grupos](#page-core-concepts.group-hierarchy) · [Modelo de dados completo](#page-integrations.data-model-full) · [OneRoster](#page-integrations.oneroster) · [Turma, grupo, subgrupo](#page-core-concepts.classes-and-groups) - **Grupo de grupos** — [Definition](#page-glossary.groups-of-groups) · [Alinhamentos de grupos](#page-core-concepts.alignments) · [Alinhamentos e grupos de grupos](#page-timetables.alignments-and-groups-of-groups) · [Casos de uso no ensino superior](#page-faq.higher-ed-cases) · [Casos particulares e configurações avançadas](#page-faq.edge-cases) · [Grupos de grupos](#page-core-concepts.groups-of-groups) · [Modelo de dados completo](#page-integrations.data-model-full) · [OneRoster](#page-integrations.oneroster) · [Planos e opções do Omniscol](#page-overview.plans-and-options) · [Visão geral](#page-higher-ed.overview) - **Grupo livre** — [Definition](#page-glossary.free-group) · [Grupos livres](#page-core-concepts.free-groups) · [Modelo de dados completo](#page-integrations.data-model-full) ### H - **Horário** — [Definition](#page-glossary.timetable) · [Aulas fora da grelha](#page-timetables.off-grid-lessons) · [Configurações gerais](#page-timetables.general-settings) · [Consultar e filtrar](#page-schedules.consult-and-filter) · [Criação de horários](#page-faq.timetables) · [Escolher o tipo de horário certo](#page-overview.timetable-modes) · [Estatísticas de professores](#page-dashboard.teachers) · [Estatísticas de salas](#page-dashboard.classrooms) · [Exibição dos horários](#page-schedules.schedule-display) · [Exibição e UX](#page-faq.display-and-ux) · [Filosofia geral do Omniscol](#page-overview.philosophy) · [Grade horária, faixas horárias e durações](#page-core-concepts.timetable-grid) · [O que é o Omniscol](#page-overview.what-is-omniscol) · [Pesquisa e filtros](#page-core-concepts.search-and-filter) · [Publicar (ativar) um horário](#page-timetables.publication) · [Utilizar as tabelas e os gráficos](#page-dashboard.tools-and-filters) · [Visão geral do módulo Painel](#page-dashboard.overview) · [Visita guiada](#page-getting-started.onboarding-tour) · [Visita guiada em cinco minutos](#page-overview.quick-tour) · [Vista geral do módulo](#page-timetables.overview) - **Horário cíclico** — [Definition](#page-glossary.cyclic-timetable) · [Criação de horários](#page-faq.timetables) · [Escolher o tipo de horário certo](#page-overview.timetable-modes) - **Horário semanal** — [Definition](#page-glossary.weekly-timetable) · [Comportamento do algoritmo](#page-faq.solver-behavior) · [Criação de horários](#page-faq.timetables) · [Escolher o tipo de horário certo](#page-overview.timetable-modes) · [Visão geral](#page-k12.overview) · [Vista geral do módulo](#page-timetables.overview) ### I - **iCal (exportação de agenda)** — [Definition](#page-glossary.ical) · [Visão geral das integrações](#page-integrations.overview) - **Incompatibilidade (entre disciplinas)** — [Definition](#page-glossary.incompatibility) · [Restrições horárias (sistema geral)](#page-core-concepts.time-constraints) ### J - **Janela de datas** — [Definition](#page-glossary.date-windows) ### L - **Linha do tempo** — [Definition](#page-glossary.timeline) · [Linha do tempo e navegação temporal](#page-core-concepts.timeline-navigation) - **Link de compartilhamento** — [Definition](#page-glossary.share-link) · [Arquitetura e funções](#page-overview.architecture-and-roles) · [Segurança e alojamento](#page-faq.security-and-hosting) · [Visão geral das integrações](#page-integrations.overview) ### M - **Modalidade** — [Definition](#page-glossary.lesson-modality) - **Modo calendário** — [Definition](#page-glossary.calendar-mode) · [Casos de uso no ensino superior](#page-faq.higher-ed-cases) · [Criação de horários](#page-faq.timetables) · [Escolher o tipo de horário certo](#page-overview.timetable-modes) · [Planos e opções do Omniscol](#page-overview.plans-and-options) · [Visão geral](#page-higher-ed.overview) · [Vista geral do módulo](#page-timetables.overview) - **Modo de exibição do horário** — [Definition](#page-glossary.schedule-view-mode) ### N - **Nível** — [Definition](#page-glossary.level) ### P - **Painel** — [Definition](#page-glossary.dashboard) · [Estatísticas de alunos e recursos](#page-dashboard.students-resources) · [Estatísticas de disciplinas](#page-dashboard.subjects) · [Estatísticas de professores](#page-dashboard.teachers) · [Estatísticas de salas](#page-dashboard.classrooms) · [Estatísticas de turmas](#page-dashboard.classes) · [Utilizar as tabelas e os gráficos](#page-dashboard.tools-and-filters) · [Visão geral do módulo Painel](#page-dashboard.overview) - **Painel de display** — [Definition](#page-glossary.panel) · [Exibição e UX](#page-faq.display-and-ux) · [Modelo de dados completo](#page-integrations.data-model-full) - **Professor** — [Definition](#page-glossary.teacher) · [Arquitetura e funções](#page-overview.architecture-and-roles) · [Atribuir os professores](#page-timetables.assigning-teachers) · [Aulas fora da grelha](#page-timetables.off-grid-lessons) · [Convidar e ativar seus usuários](#page-getting-started.inviting-users) · [Disponibilidades dos professores](#page-core-concepts.wishes-and-availability) · [Edição de uma aula](#page-timetables.lesson-edit) · [Estatísticas de disciplinas](#page-dashboard.subjects) · [Estatísticas de professores](#page-dashboard.teachers) · [Estatísticas de turmas](#page-dashboard.classes) · [Modelo de dados completo](#page-integrations.data-model-full) · [O que é o Omniscol](#page-overview.what-is-omniscol) · [OneRoster](#page-integrations.oneroster) · [Organização dos dados](#page-core-concepts.data-model) · [Pré-requisitos](#page-timetables.prerequisites) · [Preparar seus dados para uma importação em massa](#page-getting-started.preparing-data) · [Usuários e papéis](#page-admin.users-and-roles) · [Visão geral do módulo Painel](#page-dashboard.overview) · [Visita guiada](#page-getting-started.onboarding-tour) · [Visita guiada em cinco minutos](#page-overview.quick-tour) - **Professor externo** — [Definition](#page-glossary.external-teacher) · [Atribuir os professores](#page-timetables.assigning-teachers) · [Casos de uso no ensino superior](#page-faq.higher-ed-cases) · [Visão geral](#page-higher-ed.overview) - **Publicação / Ativação de um horário** — [Definition](#page-glossary.publication) · [Criação de horários](#page-faq.timetables) · [Publicar (ativar) um horário](#page-timetables.publication) · [Visita guiada](#page-getting-started.onboarding-tour) ### R - **Recurso** — [Definition](#page-glossary.resource) · [Edição de uma aula](#page-timetables.lesson-edit) · [Estatísticas de alunos e recursos](#page-dashboard.students-resources) · [Locais, salas, recursos](#page-core-concepts.sites-rooms-resources) · [Modelo de dados completo](#page-integrations.data-model-full) · [Sites, grades horárias, salas, recursos](#page-timetables.sites-rooms) ### S - **Sala de aula** — [Definition](#page-glossary.classroom) · [Atribuição automática das salas](#page-timetables.auto-room-assignment) · [Aulas fora da grelha](#page-timetables.off-grid-lessons) · [Edição de uma aula](#page-timetables.lesson-edit) · [Estatísticas de disciplinas](#page-dashboard.subjects) · [Estatísticas de salas](#page-dashboard.classrooms) · [Importação em massa dos cursos via folha de cálculo](#page-timetables.mass-import) · [Locais, salas, recursos](#page-core-concepts.sites-rooms-resources) · [Pesquisa e filtros](#page-core-concepts.search-and-filter) · [Preparar seus dados para uma importação em massa](#page-getting-started.preparing-data) · [Sites, grades horárias, salas, recursos](#page-timetables.sites-rooms) · [Visão geral do módulo Painel](#page-dashboard.overview) - **Sala grande** — [Definition](#page-glossary.large-room) · [Atribuição automática das salas](#page-timetables.auto-room-assignment) · [Locais, salas, recursos](#page-core-concepts.sites-rooms-resources) · [Sites, grades horárias, salas, recursos](#page-timetables.sites-rooms) - **Site** — [Definition](#page-glossary.site) · [Atribuição automática das salas](#page-timetables.auto-room-assignment) · [Grade horária, faixas horárias e durações](#page-core-concepts.timetable-grid) · [Locais, salas, recursos](#page-core-concepts.sites-rooms-resources) · [Modelo de dados completo](#page-integrations.data-model-full) · [Sites, grades horárias, salas, recursos](#page-timetables.sites-rooms) - **Substituição / Reposição** — [Definition](#page-glossary.substitution) · [Estatísticas de professores](#page-dashboard.teachers) · [Modelo de dados completo](#page-integrations.data-model-full) · [Políticas de substituição](#page-absences.substitution-policies) · [Visão geral do módulo Gestão de ausências](#page-absences.overview) ### T - **Tipo de aula** — [Definition](#page-glossary.lesson-type) · [Modelo de dados completo](#page-integrations.data-model-full) · [Organização dos dados](#page-core-concepts.data-model) - **Token de API** — [Definition](#page-glossary.api-token) · [Segurança e alojamento](#page-faq.security-and-hosting) · [Visão geral das integrações](#page-integrations.overview) - **Turma** — [Definition](#page-glossary.class) · [Arquitetura e funções](#page-overview.architecture-and-roles) · [Criar as turmas e os seus grupos](#page-timetables.creating-classes) · [Estatísticas de turmas](#page-dashboard.classes) · [Modelo de dados completo](#page-integrations.data-model-full) · [O que é o Omniscol](#page-overview.what-is-omniscol) · [OneRoster](#page-integrations.oneroster) · [Organização dos dados](#page-core-concepts.data-model) · [Turma, grupo, subgrupo](#page-core-concepts.classes-and-groups) · [Visita guiada em cinco minutos](#page-overview.quick-tour) ### V - **Várias salas** — [Definition](#page-glossary.multi-room) · [Casos de uso no ensino superior](#page-faq.higher-ed-cases) · [Casos particulares e configurações avançadas](#page-faq.edge-cases) · [Importação em massa dos cursos via folha de cálculo](#page-timetables.mass-import) · [Locais, salas, recursos](#page-core-concepts.sites-rooms-resources) · [Sites, grades horárias, salas, recursos](#page-timetables.sites-rooms) · [Visão geral](#page-higher-ed.overview)