# Inhoudsopgave — Omniscol-gebruikersdocumentatie Canonical Omniscol user documentation, generated from the maintained `help/nl/` 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 nl wording. Internal cross-references link to `#page-` anchors within this file. Interactive step-by-step walkthroughs are omitted. ## Contents **1. Aan de slag** - [1.1 Wat is Omniscol?](#page-overview.what-is-omniscol) - [1.2 Algemene filosofie van Omniscol](#page-overview.philosophy) - [1.3 Rondleiding in vijf minuten](#page-overview.quick-tour) - [1.4 Architectuur, modules en rollen](#page-overview.architecture-and-roles) - [1.5 Abonnementen en opties van Omniscol](#page-overview.plans-and-options) - [1.6 Het juiste roostertype kiezen: wekelijks, cyclisch, kalender](#page-overview.timetable-modes) - [1.7 Eerste keer inloggen](#page-getting-started.first-login) - [1.8 Het schoolaccount configureren](#page-getting-started.setup-school) - [1.9 Uw gebruikers uitnodigen en activeren](#page-getting-started.inviting-users) - [1.10 Uw gegevens voorbereiden voor een massale import (in batch)](#page-getting-started.preparing-data) - [1.11 Rondleiding voor de eerste stappen (de 6 stappen van de module Home)](#page-getting-started.onboarding-tour) **2. Kernbegrippen** - [2.1 Organisatie van de gegevens: vakken, docenten, klassen, roosters](#page-core-concepts.data-model) - [2.2 Klas, groep, subgroep](#page-core-concepts.classes-and-groups) - [2.3 Klasverdelingen](#page-core-concepts.class-divisions) - [2.4 Groepsuitlijningen](#page-core-concepts.alignments) - [2.5 Groepen van groepen](#page-core-concepts.groups-of-groups) - [2.6 Groepshiërarchie: ouders, kinderen, overgeërfde beperkingen](#page-core-concepts.group-hierarchy) - [2.7 Vrije groepen](#page-core-concepts.free-groups) - [2.8 Cursussen, lessen, lestypes](#page-core-concepts.lessons-and-types) - [2.9 Complexe lessen: afwisselend, aaneengeschakeld, gekoppeld, samen gegeven](#page-core-concepts.complex-lessons) - [2.10 Campussen, vestigingen, lokalen, resources, meerdere lokalen](#page-core-concepts.sites-rooms-resources) - [2.11 Tijdrooster, tijdsloten en tijdsduur](#page-core-concepts.timetable-grid) - [2.12 Lokaalspecialisaties](#page-core-concepts.classroom-specializations) - [2.13 Beschikbaarheid en tijdsbeperkingen van docenten](#page-core-concepts.wishes-and-availability) - [2.14 Tijdsbeperkingen: klassen, vakken, groepen, lokalen en tijdrooster](#page-core-concepts.time-constraints) - [2.15 Schooljaar, afwisselende weken, vakanties](#page-core-concepts.school-year) - [2.16 Tijdlijn en navigatie in de tijd](#page-core-concepts.timeline-navigation) - [2.17 Zoeken en filteren in lijsten](#page-core-concepts.search-and-filter) - [2.18 Samenwerking tussen beheerders](#page-core-concepts.collaboration) **3. Een rooster maken (module Roosterbeheer)** - [3.1 Overzicht van de module Roosterbeheer](#page-timetables.overview) - [3.2 Vereisten om een rooster te maken](#page-timetables.prerequisites) - [3.3 Kalendermodus — geavanceerde opties](#page-timetables.calendar-mode) - [3.4 Beschikbaarheid en beperkingen in de kalendermodus](#page-timetables.calendar-wishes) - [3.5 Datumvensters](#page-timetables.date-windows) - [3.6 Stap 1 — Algemene instellingen](#page-timetables.general-settings) - [3.7 Stap 2 — Vestigingen, tijdroosters, lokalen, resources](#page-timetables.sites-rooms) - [3.8 Stap 3 — Docenten toewijzen](#page-timetables.assigning-teachers) - [3.9 Stap 4 — Klassen en hun groepen aanmaken](#page-timetables.creating-classes) - [3.10 Stap 5 — Groepsuitlijningen en groepen van groepen](#page-timetables.alignments-and-groups-of-groups) - [3.11 Stap 6 — De uren verdelen en de lessen aanmaken](#page-timetables.hour-distribution) - [3.12 Automatische lokaaltoewijzing](#page-timetables.auto-room-assignment) - [3.13 Stap 6b — Massale import van cursussen via een spreadsheet](#page-timetables.mass-import) - [3.14 Stap 7 — Automatische roostergeneratie](#page-timetables.generation) - [3.15 Stap 8 — Een rooster publiceren (activeren)](#page-timetables.publication) - [3.16 Meerdere actieve roosters naast elkaar](#page-timetables.multiple-active-timetables) - [3.17 Lessen handmatig plaatsen](#page-timetables.manual-placement) - [3.18 Een les bewerken](#page-timetables.lesson-edit) - [3.19 Lessen en klassen buiten rooster](#page-timetables.off-grid-lessons) - [3.20 De positie van een les vergrendelen](#page-timetables.lesson-lock) - [3.21 Conflicten opsporen en oplossen (bij de roostergeneratie)](#page-timetables.conflicts) - [3.22 Een mislukte roostergeneratie diagnosticeren](#page-timetables.diagnosing-generation) - [3.23 Een rooster visualiseren, dupliceren en herordenen](#page-timetables.visualize-duplicate) - [3.24 Het volgende schooljaar voorbereiden](#page-timetables.next-school-year) **4. Dashboard** - [4.1 Overzicht van de module Dashboard](#page-dashboard.overview) - [4.2 Tabellen en grafieken gebruiken](#page-dashboard.tools-and-filters) - [4.3 Docentenstatistieken](#page-dashboard.teachers) - [4.4 Lokaalstatistieken](#page-dashboard.classrooms) - [4.5 Vakstatistieken](#page-dashboard.subjects) - [4.6 Klassenstatistieken](#page-dashboard.classes) - [4.7 Leerling- en resourcestatistieken](#page-dashboard.students-resources) **5. Dagelijks gebruik (module Rooster)** - [5.1 Roosters raadplegen en filteren](#page-schedules.consult-and-filter) - [5.2 Weergave van roosters: raster, lijst, tabel, planning, maand, naast elkaar](#page-schedules.schedule-display) - [5.3 Eenmalige wijzigingen in een gepubliceerd rooster](#page-schedules.ad-hoc-changes) - [5.4 Eenmalige evenementen (los van het rooster)](#page-schedules.events) - [5.5 Afdrukken en delen](#page-schedules.print-and-export) - [5.6 Een rooster delen via een openbare link](#page-schedules.share-link) **6. Afwezigheden en vervangingen** - [6.1 Overzicht van de module Afwezigheidsbeheer](#page-absences.overview) - [6.2 Een afwezigheid melden (beheerder / docent / leerling)](#page-absences.declaring) - [6.3 Vervangingsbeleid](#page-absences.substitution-policies) - [6.4 Eenmalige vervanging van een les](#page-absences.single-lesson-replacement) - [6.5 Meerdaagse afwezigheden](#page-absences.multi-day) - [6.6 Afwezigheden van klassen en leerlingen](#page-absences.class-and-student-absences) - [6.7 Afwezigheden opvolgen en exporteren](#page-absences.statistics) **7. Personeelsinzet** - [7.1 Overzicht van de module Personeelsinzet](#page-staffing.overview) - [7.2 Een inzetrooster opbouwen](#page-staffing.building-grids) - [7.3 De te dekken taken definiëren](#page-staffing.assignments) - [7.4 Het personeel toewijzen](#page-staffing.planner) - [7.5 Dienstroosters aanmaken en delen](#page-staffing.roster) **8. Beheer** - [8.1 Gebruikers en rollen](#page-admin.users-and-roles) - [8.2 Beheerders beheren](#page-admin.admins) - [8.3 Aangepaste rollen voor het beheer](#page-admin.customroles) - [8.4 Planningsdomeinen](#page-admin.planning-domains) - [8.5 Docenten beheren](#page-admin.teachers) - [8.6 Leerlingen beheren](#page-admin.students) - [8.7 Personeelsleden beheren](#page-admin.staff) - [8.8 Vakken beheren (officiële en aangepaste)](#page-admin.subjects) - [8.9 Lestypes](#page-admin.lesson-types) - [8.10 Schooljaar en vakanties](#page-admin.school-year) - [8.11 Algemene schoolinstellingen](#page-admin.parameters) - [8.12 Geavanceerde instellingen en maatwerk](#page-admin.advanced-parameters) - [8.13 Zichtbaarheids- en inlogbeperkingen](#page-admin.visibility-restrictions) - [8.14 Import en export](#page-admin.import-export) - [8.15 Back-uppunten](#page-admin.snapshots) - [8.16 Activiteitenlogboek (logs)](#page-admin.logs) **9. Integraties** - [9.1 Overzicht van de integraties](#page-integrations.overview) - [9.2 Hoe Omniscol werkt — één API, één bron van waarheid](#page-integrations.architecture) - [9.3 iCal — abonnement en dynamische link](#page-integrations.ical) - [9.4 Omniscol-API — authenticatietokens](#page-integrations.api-tokens) - [9.5 OAuth2 / OIDC — een dienst koppelen aan Omniscol](#page-integrations.oauth-server) - [9.6 API-aanpassingen: endpoint-overrides en hooks](#page-integrations.api-customization) - [9.7 Volledig gegevensmodel: JSON-entiteiten, relaties en ontologie](#page-integrations.data-model-full) - [9.8 Geavanceerde queries — de API filteren, projecteren en pagineren](#page-integrations.advanced-queries) - [9.9 De lessen-API — de lessen ophalen voor elke willekeurige datum](#page-integrations.lessons-api) - [9.10 MCP — een externe AI-agent op Omniscol aansluiten](#page-integrations.mcp) - [9.11 Ingebouwde AI-assistent](#page-integrations.ai-assistant) - [9.12 OIDC / SSO — inloggen via een identiteitsprovider](#page-integrations.oauth2) - [9.13 Synchronisatie met externe systemen (ERP)](#page-integrations.extsync) - [9.14 OneRoster (1.2 en geavanceerde groepen)](#page-integrations.oneroster) - [9.15 Gekoppelde accounts en gedeelde resources](#page-integrations.linked-accounts) - [9.16 Edusign-connector](#page-integrations.edusign) **10. Portalen** - [10.1 Leerlingenportaal](#page-portal.student-portal) - [10.2 Docentenportaal](#page-portal.teacher-portal) - [10.3 Gastportaal (openbare links)](#page-portal.guest-portal) - [10.4 Openbare deellinks](#page-portal.share-links) **11. Informatieschermen** - [11.1 Een informatiescherm voor een hal of een gang configureren](#page-panels.lobby-panel) - [11.2 Een informatiescherm bij een lokaal configureren](#page-panels.room-panel) - [11.3 Visuele aanpassing van informatieschermen](#page-panels.customization) **12. Migratie vanuit andere software** - [12.1 Migreren vanuit een ander programma — Overzicht](#page-migration.overview) - [12.2 Migreren vanuit Hyperplanning (Index Education)](#page-migration.from-hyperplanning) - [12.3 Migreren vanuit EDT / PRONOTE (Index Education)](#page-migration.from-edt) - [12.4 Migreren vanuit aSc Timetables](#page-migration.from-asc) - [12.5 Migreren vanuit ADE / ADE Campus](#page-migration.from-ade) - [12.6 Migreren vanuit een zelfgemaakte Excel-spreadsheet](#page-migration.from-spreadsheet) **13. Bijzonderheden hoger onderwijs** - [13.1 Specifieke kenmerken van het hoger onderwijs — overzicht](#page-higher-ed.overview) - [13.2 Onderwijsperiodes, lichtingen, programma, trajecten](#page-higher-ed.sessions-and-tracks) - [13.3 Externe docenten (op uurbasis, visiting professors)](#page-higher-ed.external-faculty) - [13.4 Opgesplitste lokalen en examens in meerdere lokalen](#page-higher-ed.multi-room-exams) - [13.5 Co-teaching en afwisseling van docenten](#page-higher-ed.co-teaching) - [13.6 Kalendermodus voor niet-terugkerende opleidingen](#page-higher-ed.calendar-mode) - [13.7 Videoconferentielinks per cursus](#page-higher-ed.videoconference-links) - [13.8 Meerdere vestigingen in het hoger onderwijs](#page-higher-ed.multi-site) **14. Bijzonderheden basis- en voortgezet onderwijs** - [14.1 Specifieke kenmerken van het basis- en voortgezet onderwijs — overzicht](#page-k12.overview) - [14.2 Halve klassen en keuzevakken in klasverdelingen](#page-k12.half-classes-and-options) - [14.3 Studie-uren en studiezaal (schoolonderwijs)](#page-k12.study-halls) - [14.4 Combinatieklassen](#page-k12.multi-grade-classes) **15. Toepassingsscenario's** - [15.1 Praktijkscenario's — overzicht](#page-use-cases.overview) - [15.2 Scenario's — Roosters aanmaken en genereren](#page-use-cases.creation-and-generation) - [15.3 Scenario's — Dagelijks plaatsen en wijzigen](#page-use-cases.placement-and-modification) - [15.4 Scenario's — Meerdere groepen, meerdere lokalen, meerdere docenten](#page-use-cases.multi-entities) - [15.5 Scenario's — Bulkbewerkingen](#page-use-cases.mass-operations) - [15.6 Scenario's — Examens en evenementen](#page-use-cases.exams-and-events) - [15.7 Scenario's — Afwezigheden en vervangingen](#page-use-cases.absences-and-substitutions) - [15.8 Scenario's — Rapportage en statistieken](#page-use-cases.reporting-and-stats) - [15.9 Scenario's — Verspreiding en delen](#page-use-cases.diffusion-and-sharing) **16. FAQ — veelgestelde vragen** - [16.1 FAQ — algemene vragen](#page-faq.general) - [16.2 FAQ — Roosters maken](#page-faq.timetables) - [16.3 FAQ — Gegevensimport](#page-faq.data-import) - [16.4 FAQ — Gedrag van het algoritme voor roostergeneratie](#page-faq.solver-behavior) - [16.5 FAQ — Weergave en interface](#page-faq.display-and-ux) - [16.6 FAQ — praktijkgevallen hoger onderwijs](#page-faq.higher-ed-cases) - [16.7 FAQ — Bijzondere gevallen en geavanceerde configuraties](#page-faq.edge-cases) - [16.8 FAQ — Beveiliging en hosting](#page-faq.security-and-hosting) - [16.9 FAQ — Tarieven en licenties](#page-faq.pricing-and-licenses) - **[Verklarende woordenlijst](#chapter-glossary)** (54 terms) - **[Index](#chapter-index)** --- ## 1. Aan de slag ### 1.1 Wat is Omniscol? *Source: `help/nl/overview/what-is-omniscol.md` · id: overview.what-is-omniscol · Updated: 2026-06-13* Omniscol is **onlinesoftware voor planning onder beperkingen**, ontworpen voor instellingen van het basisonderwijs tot het hoger onderwijs en de permanente educatie. U maakt er wekelijkse, cyclische of kalenderroosters mee (gedateerd, niet terugkerend) en publiceert ze vervolgens voor de betrokken gebruikers. Het product combineert handmatige invoer, diagnose van conflicten en automatische [roostergeneratie](#page-glossary.solver). De inhoudelijke details staan beschreven op de gespecialiseerde pagina's. #### Hoe het in grote lijnen werkt De standaardwerkwijze met Omniscol: ``` 1. Gegevens invoeren (gebruikers, vakken, vestigingen/lokalen, klassen) ↓ 2. Rooster configureren (urenvolumes, groepsuitlijningen, beperkingen) ↓ 3. Genereren of plaatsen (automatische roostergeneratie of handmatig plaatsen) ↓ 4. Controleren en beslissen (conflicten, aanpassingen, vergrendelingen) ↓ 5. Publiceren (het rooster wordt zichtbaar voor de gebruikers) ↓ 6. Leven met het rooster (dagelijkse wijzigingen, afwezigheden, vervangingen) ``` Elke stap heeft een eigen module. De stappen 1 tot en met 5 zijn eenmalig (vóór de start van een schooljaar, een semester of een herziening). Stap 6 komt overeen met het dagelijkse gebruik. #### De roostertypen Omniscol ondersteunt **drie typen** rooster. Of een type beschikbaar is, hangt af van het gekozen abonnement. - **Wekelijks** — terugkerende lessen over een standaardweek, met of zonder A/B-afwisseling. Dit is het standaardgeval in het basis- en voortgezet onderwijs. Beschikbaar op alle abonnementen. - **Cyclisch** — terugkerende lessen over een cyclus van N genummerde dagen (meestal 6 of 8), anders dan de week van 5 of 7 dagen. Gangbaar in Noord-Amerikaanse systemen. Beschikbaar op Premium-accounts. - **Kalender** — lessen die één voor één een datum krijgen, zonder herhaling. De voorkeursmodus in het hoger onderwijs en de permanente educatie. Beschikbaar op Premium-accounts. Op een Premium-account kunt u alle drie de typen gebruiken. En dankzij [Meerdere actieve roosters naast elkaar](#page-timetables.multiple-active-timetables), een functie die bij Premium is inbegrepen, kunt u ze zelfs over dezelfde periodes combineren. Zie [Het juiste roostertype kiezen](#page-overview.timetable-modes) als hulp bij die keuze. #### Filosofie: eerst de gegevens Omniscol gaat uit van één vaststelling: een rooster is geen tabel om in te vullen, maar een **optimalisatieprobleem onder beperkingen**. De software is opgezet rond vijf principes: 1. **De gegevens vóór de berekening**: vestigingen, lokalen, docenten, klassen, groepen, vakken en urenvolumes moeten betrouwbaar zijn voordat u een roostergeneratie start. 2. **Scheiding tussen structuur en dagelijkse praktijk**: een rooster bouwen en de wijzigingen van de dag beheren zijn twee verschillende bezigheden, met verschillende schermen. 3. **Expliciete beperkingen**: onmogelijkheden worden gemeld als [conflicten](#page-glossary.conflict) of als niet-geplaatste lessen; de inhoudelijke afweging blijft bij de gebruiker. 4. **Concepten en versies**: een niet-gepubliceerd rooster kunt u testen, dupliceren of opnieuw opbouwen zonder te veranderen wat de gebruikers zien. 5. **Grip op de gegevens**: JSON-export of export via de interne spreadsheet, en omkeerbaarheid. Referentiepagina: [Algemene filosofie van Omniscol](#page-overview.philosophy). #### Invoer- en uitvoergegevens Aan de **invoerzijde** accepteert Omniscol: - handmatige invoer per item in de interface; - massale import door kopiëren en plakken vanuit een spreadsheet, met controle vóór toepassing; - begeleide migraties, afhankelijk van de exports die aan de bronzijde beschikbaar zijn; - connectoren naar ERP's en informatiesystemen via de [synchronisatie met externe systemen](#page-integrations.extsync) (Aurion, Auriga, Edusign; een nieuw systeem toevoegen gebeurt op projectbasis); - de [Omniscol-API](#page-integrations.api-tokens), afhankelijk van de rechten en opties van het account; - [OIDC / SSO](#page-integrations.oauth2), afhankelijk van het contract en de instellingen. Aan de **uitvoerzijde**: - responsive raadpleging via het web; - [iCal](#page-integrations.ical)-abonnementen; - ondertekende openbare links met een vervaldatum; - informatieschermen; - exports naar Excel / CSV / PDF / JSON, afhankelijk van het scherm; - een gedocumenteerde REST-API, met een bereik dat beperkt is tot de toegestane endpoints en opties; - [MCP](#page-integrations.mcp) voor compatibele AI-agents op Premium-accounts. #### Modulaire opbouw De software is opgedeeld in twee modulefamilies. ##### Modules voor het dagelijkse werk - **Home** — samenvattend overzicht van de dag en checklist om te starten. - **Rooster** — raadplegen en losse wijzigingen. - **Dashboard** — statistieken over bezetting en diensturen. - **Afwezigheidsbeheer & vervangingen** — meldingen van onbeschikbaarheid en het toewijzen van vervangers. ##### Modules voor de configuratie - **Roosterbeheer** — aanmaken, configureren, genereren en publiceren van de roosters. - **Beheer** — gebruikers, vakken, schooljaren, instellingen, import / export en integraties. - **Personeelsinzet** — planning van het personeel per taak wanneer de module actief is; deze kan ook als zelfstandig aanbod worden verkocht. #### Rollen en toegang Vier profielen bepalen de toegang aan de kant van de school. De **Beheerders** (planningsverantwoordelijken, directie, ICT-afdeling) configureren het account en bouwen de roosters op. De **Docenten** raadplegen hun planning, voeren hun beschikbaarheid in en melden hun afwezigheden. De **Leerlingen** raadplegen hun persoonlijke rooster. Het **Personeel** (leerlingenbegeleiding, toezichthouders) komt in beeld wanneer Personeelsinzet wordt gebruikt. Ondertekende deellinks geven daarnaast zonder account toegang tot een nauwkeurig afgebakend bereik. De rollen zijn combineerbaar: een docent die meewerkt aan de planning kan tegelijk Docent en Beheerder zijn. De rollen worden in detail beschreven in [Architectuur en rollen](#page-overview.architecture-and-roles). Met de optie [Aangepaste rollen](#page-admin.customroles) beperkt u de rechten van een beheerdersaccount module per module en handeling per handeling. #### Abonnementen en opties Omniscol biedt verschillende abonnementen: **Lite** (zelfstandigen, individuele trainers, zeer kleine instellingen), **Staffing** (alleen Personeelsinzet), **Standard** (gewone school), **Standard Plus** (Standard + Personeelsinzet) en **Premium** (hoger onderwijs, permanente educatie, complexe organisaties met meerdere vestigingen). Sommige functies zijn standaard inbegrepen bij Premium — de roostertypen cyclisch en kalender, de kalenderbeschikbaarheid, meerdere actieve roosters — terwijl andere afhankelijk van het contract worden ingeschakeld (back-uppunten, logboeken, realtime samenwerking, gekoppelde accounts, aangepaste rollen…). Alle details over de abonnementen, de opties en de manier waarop ze worden geactiveerd staan gebundeld in [Abonnementen en opties van Omniscol](#page-overview.plans-and-options). #### Onderscheidende punten - **Automatische roostergeneratie**: het algoritme plaatst de lessen met inachtneming van de strikte beperkingen en optimaliseert de voorkeuren. - **Handmatige controle**: de gebruiker kan altijd inspecteren, verplaatsen, vergrendelen of een afweging maken. - **Verspreiding via meerdere kanalen**: web, iCal, exports, openbare links en informatieschermen. - **Rapportage**: dashboards en exports om de uren, de bezetting van de lokalen en de voor audits nuttige indicatoren te volgen. #### Architectuur en hosting De aspecten rond architectuur, beveiliging en hosting worden beschreven in [Architectuur en rollen](#page-overview.architecture-and-roles) en [FAQ — Beveiliging en hosting](#page-faq.security-and-hosting). #### Hoe verder - Voor een interactieve rondleiding: [Rondleiding in vijf minuten](#page-overview.quick-tour). - Om uw account te configureren: [Eerste keer inloggen](#page-getting-started.first-login) en daarna [Het schoolaccount configureren](#page-getting-started.setup-school). - Om de kernbegrippen te doorgronden: [Klas, groep, subgroep](#page-core-concepts.classes-and-groups). - Om uw eerste rooster te maken: [Module Roosterbeheer](#page-timetables.overview). - Voor de veelgestelde vragen: [Algemene FAQ](#page-faq.general). #### Zie ook - [Algemene filosofie van Omniscol](#page-overview.philosophy) - [Architectuur en rollen](#page-overview.architecture-and-roles) - [Het juiste roostertype kiezen: wekelijks, cyclisch, kalender](#page-overview.timetable-modes) - [Abonnementen en opties van Omniscol](#page-overview.plans-and-options) - [Rondleiding in vijf minuten](#page-overview.quick-tour) ### 1.2 Algemene filosofie van Omniscol *Source: `help/nl/overview/philosophy.md` · id: overview.philosophy · Updated: 2026-06-13* Nog vóór de functies zijn er enkele principes die de ervaring met Omniscol structureren en verklaren waarom de software bepaalde keuzes maakt in plaats van andere. #### De praktijkcontext Een rooster is niet zomaar een tabel om in te vullen. Het is een **optimalisatieprobleem onder beperkingen**: - talrijke en vaak impliciete beperkingen; - beperkingen die elkaar soms tegenspreken; - een groot operationeel belang: de start van het schooljaar, het semester of de periode moet werken. Omniscol is opgezet als een **planningsassistent onder beperkingen**: het versnelt het werk, signaleert onmogelijkheden en laat de inhoudelijke afweging aan de gebruiker. #### Wat Omniscol niet is | Categorie | Wat het doet | Omniscol? | | --- | --- | --- | | School-ERP / SIS | Administratieve dossiers, leerlingadministratie | Nee. Omniscol gebruikt of synchroniseert die gegevens. | | Digitale leeromgeving / LMS | Didactiek, lesinhoud, communicatie | Nee. | | Cijfers / aanwezigheidsregistratie | Toetsing, handtekeningen, lesagenda | Nee. | | Omniscol | De organisatie van de tijd: wie, wat, waar, wanneer | Ja. | Omniscol is bedoeld om aan te sluiten op andere systemen via imports, exports, iCal, een gedocumenteerde REST-API, OIDC / SSO afhankelijk van het contract en [synchronisatie met externe systemen](#page-integrations.extsync). Het probeert niet de vakapplicaties te vervangen die andere werkterreinen bestrijken. Zie ook [integrations.partners](#page-integrations.partners). #### De vijf grondbeginselen ##### 1. De gegevens vóór de berekening U kunt geen betrouwbaar rooster genereren zonder deugdelijke gegevens: vestigingen, lokalen, docenten, klassen, groepen, vakken, urenvolumes, beschikbaarheid en beperkingen. ##### 2. Scheiding tussen structuur en dagelijkse praktijk Een rooster bouwen en leven met een gepubliceerd rooster zijn twee verschillende bezigheden. Het eerste gebeurt vooral in [Roosterbeheer](#page-timetables.overview), het tweede in [Rooster](#page-schedules.consult-and-filter), [Afwezigheidsbeheer](#page-absences.overview) en [Dashboard](#page-dashboard.overview). ##### 3. Harde beperkingen en optimalisatiebeperkingen Sommige beperkingen maken een rooster ongeldig en worden als strikte beperkingen behandeld: een docent op maar één plaats tegelijk, een klas zonder botsingen behalve voor groepen in een klasverdeling, een gewoon lokaal dat aan één les is toegewezen, de onbeschikbaarheid, de capaciteiten, de materiële resources en de verplaatsingen tussen vestigingen. Andere beperkingen dienen om de oplossing te verbeteren: ongewenste beschikbaarheid, tussenuren, evenwicht tussen de dagen, pedagogische volgorde tussen vakken, maxima of minima aan uren, aantal aanwezigheidsdagen. Ze worden beoordeeld als strafpunten die de roostergeneratie probeert terug te dringen. ##### 4. Concepten en versies Een niet-gepubliceerd rooster heeft geen invloed op wat de gebruikers zien. U kunt dupliceren, testen, vergelijken, bepaalde lessen vergrendelen, een roostergeneratie opnieuw starten en pas publiceren wanneer het resultaat u bevalt. De back-uppunten voegen, wanneer ze zijn ingeschakeld, een vangnet toe om terug te gaan of bepaalde gegevens te herstellen. ##### 5. De gebruiker houdt de zeggenschap over de gegevens Omniscol biedt de volledige JSON-export, de functionele exports per scherm en de omkeerbaarheid. De automatiseringen vervangen de menselijke beslissing niet. #### Conflicten zijn informatie, geen fout Bij handmatige invoer meldt Omniscol de conflicten, maar laat het de afweging aan de gebruiker. Dat is nuttig voor echte bijzondere gevallen: een lokaal voor leerlingen met verlengde examentijd, een bewuste overschrijding van een theoretische capaciteit, de toewijzing van een lokaal buiten zijn specialisatie om een plaatselijke reden. Bij automatische roostergeneratie levert het algoritme niet met opzet een zware botsing op. Wordt er geen volledige oplossing gevonden, dan bewaart het het beste berekende rooster en laat het de lessen die niet te plaatsen zijn in de lijst met niet-geplaatste post-its staan. Met het [vergrendelen van een les](#page-timetables.lesson-lock) verankert u een gewenste plaatsing: de volgende roostergeneratie past de andere lessen rond die vergrendeling aan. #### Meerdere roosters als modelleringsprincipe Omniscol werkt van huis uit met **meerdere roosters**. Voor dezelfde instelling kunnen er verschillende naast elkaar bestaan: - afzonderlijke schooljaren; - semesters of periodes; - logische scheiding per campus, afdeling of opleidingsfase; - combinatie van verschillende typen, bijvoorbeeld wekelijks terugkerend en kalender op datum. Met Premium kunnen meerdere roosters [tegelijk actief zijn](#page-timetables.multiple-active-timetables) — een specifieke activering is ook mogelijk op bepaalde Standard-accounts. Een instelling kan een voorbereidend traject hebben in twee wekelijkse roosters, één per semester, een masterfase op een niet-terugkerende kalender en tegelijkertijd een ExecMBA-programma van 18 maanden dat verschoven begint en eindigt ten opzichte van de andere planningen en van het schooljaar. Met Omniscol maakt u elk rooster afzonderlijk aan, maar profiteert u tijdens het plannen van het beheer van de conflicten tussen roosters, om daarna alles parallel en gelijktijdig te activeren, zodat het eindresultaat één samengevoegde weergave is, transparant voor de eindgebruikers. #### Optimalisatie-AI en externe agents De [roostergeneratie](#page-glossary.solver) is een optimalisatie-AI van het type **neurosymbolische Monte-Carlo-metaheuristiek**. De motor verkent plaatsingen binnen de beperkingen, zoekt een geldige oplossing en optimaliseert daarna de strafpunten, met indrukwekkende snelheid (bijv. minder dan een minuut voor een middelbare school met 16 klassen). Wordt er geen geldige oplossing gevonden, dan offert een relaxatiesysteem op intelligente wijze lessen op, en gaat het toch over tot de optimalisatie van het resultaat. Omniscol is een AI-first bedrijf, voortgekomen uit een lange R&D-fase in “deeptech”. Omniscol beschikt ook over andere algoritmen van het type symbolische AI, om conflicten te controleren, inconsistenties in de instellingen op te sporen, verbetervoorstellen te doen of configuratiewaarschuwingen te geven, vooraf de beste oplossing uit een lijst met voorstellen te filteren, of automatisch een deelverzameling lokalen aan een deelverzameling lessen toe te wijzen, en dat allemaal onmiddellijk in de browser. Omniscol stelt via [MCP](#page-integrations.mcp) ook API-tools beschikbaar aan compatibele agents, wanneer de optie en de rechten actief zijn. Zo kunt u in natuurlijke taal met Omniscol werken en de mogelijkheden van de grafische interface uitbreiden, doordat de relevante gegevens rechtstreeks op de server van Omniscol worden opgehaald. Deze agents handelen binnen het bereik van het verstrekte token; het raadplegen van gegevens is het veiligst, en elke schrijfactie moet door de gebruiker gecontroleerd blijven. Op dit moment is Claude, in de Desktop-versie, de beste AI-agent om met Omniscol te werken. #### Zie ook - [Wat is Omniscol?](#page-overview.what-is-omniscol) - [Architectuur en rollen](#page-overview.architecture-and-roles) - [Het juiste roostertype kiezen](#page-overview.timetable-modes) - [Conflict](#page-glossary.conflict) - [Roostergeneratie](#page-glossary.solver) - [Meerdere actieve roosters naast elkaar](#page-timetables.multiple-active-timetables) ### 1.3 Rondleiding in vijf minuten *Source: `help/nl/overview/quick-tour.md` · id: overview.quick-tour · Updated: 2026-06-25* Deze rondleiding neemt u in enkele minuten mee langs de belangrijkste modules van Omniscol. Maakt u pas kennis met de software, dan bent u hier aan het juiste adres. #### Het modulemenu links Links op elk scherm staat een verticaal menu met de modules die voor uw rol beschikbaar zijn. Van boven naar beneden, in de volgorde van het dagelijkse gebruik: 1. **Home** (het pictogram [house]) — een startgids zolang er nog geen rooster gepubliceerd is, anders een gepersonaliseerd startscherm. 2. **Rooster** — uw belangrijkste weergave in het dagelijkse werk. 3. **Dashboard** — statistieken. 4. **Afwezigheidsbeheer** — beheer van afwezigheden en vervangingen. 5. **Roosterbeheer** — het aanmaken en de structuur van de roosters. 6. **Beheer** — gebruikers, vakken, instellingen. Afhankelijk van uw contract kunnen er nog andere modules verschijnen, bijvoorbeeld **Personeelsinzet** (taak- en toezichtroosters, voor de teams van de leerlingenbegeleiding). #### De tijdlijn Boven aan de meeste schermen geeft een **tijdlijn** (per week of per maand) het schooljaar weer. Daarmee navigeert u door de tijd en ziet u in één oogopslag in welke periodes er roosters gepubliceerd zijn (gekleurde weken) en wanneer de vakanties vallen (grijze weken). Deze tijdlijn biedt tal van opties en toepassingen. Ze kan overschakelen naar een weergave per maand of per jaar (of zelfs van datum tot datum, expliciet opgegeven). In Roosterbeheer kleurt ze mee met de gepubliceerde roosters — de gaten zijn de witte weken. Bij de weergave van een rooster van het type kalender laten lichtblauwe markeringen bovenaan zien waar er lessen staan in de planningsweergaven op het scherm. Met de pijlen `◀` en `▶︎` aan de uiteinden schakelt u tussen schooljaren. #### Volg de gids! Welkom bij Omniscol. Dit overzicht stelt u de modules van de software voor en laat zien hoe ze samenhangen. 1. De **hulpknop** rechtsboven opent deze hulp op elk moment, op elk willekeurig scherm. Hij weet op welk scherm u zich bevindt en stelt de meest relevante pagina voor. Ernaast toont de knop voor bijschriften een beschrijving van de elementen op het scherm. 2. **Home** (pictogram [house]): zolang u uw eerste rooster nog niet gepubliceerd hebt, begeleidt deze module u stap voor stap. Volg [de stappen](#page-getting-started.setup-school), vink de vakjes af en kom terug wanneer u wilt. 3. **Rooster**: het dagelijkse raadplegen. Alle filters (klas, docent, lokaal, groep, vak, leerling). Verschillende weergavemodi: standaardraster, lijst, tabel in spreadsheetstijl, planning, planning per uur, dag, maand en naast elkaar. Een planning verschijnt pas zodra er een eerste rooster met geplaatste lessen gepubliceerd is. 4. **Dashboard**: de statistieken van het effectieve (operationele) rooster. Uren per docent, per klas, per lokaal, per vak. Filterbaar per periode. Exporteerbaar naar CSV en Excel. Een API met nog meer detail. 5. **Afwezigheidsbeheer**: gecentraliseerd beheer. Meldingen door de docenten of de leerlingen (met administratieve goedkeuring), of rechtstreeks door de administratie. Toewijzing van vervangers aan afwezige docenten. Afwezigheid van een klas (stage, schoolexcursie...). 6. **Roosterbeheer**: het aanmaken van de roosters zelf. Vestigingen, klassen, groepen, docenten, vakken, lessen. Automatische roostergeneratie of handmatige plaatsing. Publicatie, zodat een theoretisch rooster operationeel wordt. 7. **Personeelsinzet** (als de module actief is): het plannen van de toezichthouders. Vaststellen van de taken en hun bijzonderheden, toewijzing van het personeel. Een dienstrooster om uit te delen. 8. **Beheer**: gebruikers, vakken, schooljaren, instellingen, import/export. Vooral bij de start van het account. #### Hoe verder - Om uw account vanaf nul in te richten: [Eerste keer inloggen](#page-getting-started.first-login). - Om de kernbegrippen te begrijpen (klas, groep, klasverdeling, groepsuitlijning enzovoort): [Kernbegrippen](#page-core-concepts.classes-and-groups). - Om uw eerste rooster te maken: [Overzicht van de module Roosterbeheer](#page-timetables.overview). - Om te zien hoe Omniscol in uw IT-systemen past: [Overzicht van de integraties](#page-integrations.overview). #### Zie ook - [Wat is Omniscol?](#page-overview.what-is-omniscol) - [Architectuur en rollen](#page-overview.architecture-and-roles) ### 1.4 Architectuur, modules en rollen *Source: `help/nl/overview/architecture-and-roles.md` · id: overview.architecture-and-roles · Updated: 2026-08-07* Deze pagina vat de applicatiearchitectuur van Omniscol samen en de rollen die aan de kant van de school zichtbaar zijn. De precieze contractuele afspraken (beschikbaarheid, back-ups, bewaartermijn, bewaking) staan in de goedgekeurde juridische of commerciële documenten. #### Hosting en betrouwbaarheid Omniscol wordt gehost in de Europese Unie, meer bepaald op AWS Parijs en Scaleway Parijs. Het product gebruikt mechanismen voor back-up, bewaking en logische isolatie tussen de accounts van de onderwijsinstellingen; welke details op een account van toepassing zijn, hangt af van het contract en van de betrokken omgeving. Zie [FAQ — Beveiliging en hosting](#page-faq.security-and-hosting) voor de details aan gebruikerszijde. #### Softwarearchitectuur - **Webapplicatie**: de applicatie laadt één keer, daarna worden de schermen dynamisch weergegeven met REST/JSON-uitwisselingen (Single Page Application). - **CouchDB** als belangrijkste database. - **Redis** als database voor de synchronisatie aan applicatiezijde en voor de logboeken. - **TypeScript** voor de interface (webapp). - **Node.js- / Express-backend** die de interne engines aanstuurt (api, webapp, portal, panel, ical, mcp, oauth2 enzovoort). - **C++** voor het algoritme van de roostergeneratie, dat draait op speciaal daarvoor bestemde VM's die op aanvraag worden gestart. #### Beveiliging - **HTTPS** voor de communicatie die naar buiten wordt opengesteld. - **Cloudflare** als enige toegangspoort (bescherming tegen DDOS). - **Wachtwoorden die aan de clientzijde vooraf worden gehasht met scrypt** en daarna aan de serverzijde opnieuw worden gehasht en van een salt voorzien. Ze worden niet in leesbare vorm opgeslagen of verstuurd. - **JWT-authenticatie** met ondertekeningssleutels en een korte geldigheidsduur; een sleutel roteren of intrekken kan de ondertekende tokens ongeldig maken. - **[Deellinks](#page-glossary.share-link)** die ondertekend zijn, kunnen vervallen, gekoppeld zijn aan het account dat ze heeft aangemaakt en ongeldig worden door een wachtwoordwijziging of het uitschakelen van dat account. - **[API-tokens](#page-glossary.api-token)** met een hoofdsleutel en afgeleide tokens, endpoint-scopes en vervaldatums. - **OIDC / SSO** beschikbaar afhankelijk van het contract en de instellingen van het account. - **Export en interne back-ups in JSON** voor de omkeerbaarheid van de gegevens. #### Gebruikersrollen Omniscol onderscheidt verschillende rollen aan de kant van de school: | Rol | Typisch gebruik | | --- | --- | | Beheerder | Planningsverantwoordelijken, directie, ICT-afdeling | | Docent | Docenten, gastdocenten, opleiders | | Leerling | Leerlingen, studenten, cursisten | | Personeel | Leerlingenbegeleiding, onderwijsassistenten, toezichthouders als de module Personeelsinzet actief is | | Deellink | Toegang via een ondertekende URL tot een nauwkeurig afgebakend bereik | De koppeling tussen deze labels en de technische identificatiecodes van de rollen wordt in detail beschreven in [Gebruikers en rollen](#page-admin.users-and-roles). Eén gebruiker kan **meerdere rollen combineren**. Een docent die meewerkt aan de planning kan bijvoorbeeld tegelijk Docent en Beheerder zijn. De rol Deellink komt niet overeen met een gewoon gebruikersaccount. Het gaat om ondertekende links: de weblinks naar een rooster zijn alleen-lezen, terwijl bepaalde gerichte links wel een beperkte handeling kunnen toestaan, zoals het invullen van de beschikbaarheid van een docent tot een vervaldatum. Daarnaast bestaan er interne rollen die aan de teams van Omniscol zijn voorbehouden: beheer van het platform, vertaling, commerciële activiteiten en distributiepartners. Sommige van die accounts mogen zich om onderhoudsredenen aanmelden bij de accounts van de scholen. Ze treden dan op als superbeheerder van de school, met meer mogelijkheden dan een beheerder: ruwe gegevens rechtstreeks in de database importeren, betaalde opties in- of uitschakelen, zich aanmelden namens een gebruiker. Dergelijke toegang veroorzaakt zichtbare aanmeldwaarschuwingen en de bijbehorende tokens vervallen zeer snel. Grote macht brengt grote verantwoordelijkheid mee. > _Option: Aangepaste rollen_ #### Aangepaste rollen Met de optie [Aangepaste rollen](#page-admin.customroles) beperkt u de rechten van een beheerdersaccount module per module en handeling per handeling. Zo delegeert u een deel van het beheer zonder alle algemene rechten weg te geven. Dezelfde optie opent de [domeinen](#page-admin.planning-domains): waar de rol de handelingen afbakent, bakent het domein de gegevens af — welke klassen, welke vestigingen, welke roosters een roostermaker mag wijzigen. #### Modules De modules die zichtbaar zijn in een standaardaccount: - **Home** (`home`) — startpagina en overzicht van de dag. - **Rooster** (`schedules`) — raadplegen en losse wijzigingen. - **Dashboard** (`dashboard`) — statistieken over bezetting en diensturen. - **Afwezigheidsbeheer** (`absences`) — meldingen en vervangingen. - **Roosterbeheer** (`timetables`) — opbouw, roostergeneratie en publicatie van de roosters. - **Beheer** (`admin`) — gebruikers, instellingen, import / export en integraties. Afhankelijk van het contract kunnen er nog andere modules verschijnen, met name **Personeelsinzet** voor het plannen van de taken rond leerlingenbegeleiding en toezicht. #### Meerdere scholen Elke school is aan de serverzijde logisch geïsoleerd en werkt op een eigen domein. De gegevens van een school zijn vanuit de applicatie niet zichtbaar voor de andere scholen. Op verzoek kan er wel een communicatiekanaal tussen de afzonderlijke accounts worden geactiveerd, om de bezettingsconflicten van lokalen en docenten te delen. Dat is erg nuttig bij gedeelde gebouwen, of voor een groep scholen die resources deelt. #### Zie ook - [Algemeen overzicht](#page-overview.what-is-omniscol) - [Rondleiding](#page-overview.quick-tour) - [Gebruikers en rollen](#page-admin.users-and-roles) - [Aangepaste rollen](#page-admin.customroles) - [Domeinen](#page-admin.planning-domains) - [Abonnementen en opties van Omniscol](#page-overview.plans-and-options) - [Beveiliging en hosting](#page-faq.security-and-hosting) ### 1.5 Abonnementen en opties van Omniscol *Source: `help/nl/overview/plans-and-options.md` · id: overview.plans-and-options · Updated: 2026-08-07* Omniscol wordt verkocht volgens een eenvoudig model: **meerdere abonnementen**, **standaard inbegrepen Premium-functies**, een aantal **contractuele activeringen** en een zelfstandig aanbod **Personeelsinzet**. De precieze prijs en omvang hangen af van het contract met uw instelling. #### De abonnementen | Abonnement | Voor wie? | Inbegrepen | | --- | --- | --- | | **Lite** | Zeer kleine instellingen, zelfstandigen, individuele trainers, tests | Roostergeneratie en afdrukken. **Geen publicatie, geen schooljaren, geen meerdere vestigingen, geen leerlingenbeheer**, beperkte resources. Zichtbare modules: Roosterbeheer + minimaal Beheer. | | **Staffing** | Instellingen die alleen de personeelsinzet nodig hebben | Alleen de module Personeelsinzet, voor toezicht, studiezaal en begeleiding | | **Standard** | Gewone instelling (basisschool, middelbare school), één planningsteam, weekrooster | Lite + publicatie, schooljaren, meerdere vestigingen, leerlingenbeheer, dagelijkse planning, afwezigheden, dashboard, informatieschermen, iCal, beperkte API alleen-lezen | | **Standard Plus** | Instellingen die zowel Standard als de Personeelsinzet nodig hebben | Standard + Personeelsinzet | | **Premium** | Hoger onderwijs, permanente educatie, complexere organisaties met meerdere vestigingen of meerdere opleidingstrajecten | Roosters van het type wekelijks, cyclisch of kalender, gedateerde beschikbaarheid, meerdere actieve roosters, meer configuratiemogelijkheden (status van de lessen, plaatsing buiten rooster, eenmalige evenementen, modaliteit van de les, videoconferentielinks...), volledige API via API-tokens, MCP, OIDC / SSO, synchronisatie met externe systemen, geavanceerde opties afhankelijk van het contract (samenwerking, back-uppunten, aangepaste rollen). | Niet alle functies worden op dezelfde manier ingeschakeld: - sommige functies zijn **standaard inbegrepen bij Premium** (kalendermodus, kalenderbeschikbaarheid, meerdere actieve roosters); - andere worden **afhankelijk van uw contract ingeschakeld**, meestal op Premium-accounts; - enkele gevallen blijven **bij uitzondering activeerbaar** op een Standard-account wanneer daar een concrete behoefte voor is; - de **Personeelsinzet** volgt bovendien een eigen logica, omdat die module los kan worden verkocht. #### Zelfstandig aanbod Personeelsinzet De module Personeelsinzet wordt ook **zonder de rest van Omniscol** verkocht, voor instellingen die alleen het beheer van toezicht / begeleiding nodig hebben. Het account toont dan alleen de module Personeelsinzet, de afwezigheden van het inzetbare personeel en de noodzakelijke gebruikersschermen. Geen roosters, geen onderwijskundig dashboard, geen informatieschermen. Zie [Overzicht van de module Personeelsinzet](#page-staffing.overview). #### Contractuele activeringen | Functie | Beschrijving | Activering | | --- | --- | --- | | Aangepaste rollen | Aangepaste rollen met een matrix van fijnmazige rechten. | Afhankelijk van het contract van het account | | Planningsdomeinen | Gegevensbereik en bijbehorende rechten die aan een beheerder worden toegekend, om een campus, een opleiding of een instelling te delegeren. | Premium-accounts, afhankelijk van het contract van het account | | Back-uppunten | Back-uppunten, digest, herstel en rotatie volgens het contractuele quotum dat Omniscol inschakelt. | Afhankelijk van het contract van het account | | Samenwerking | Samenwerking tussen beheerders, aanwezigheid in realtime afhankelijk van de configuratie. | Afhankelijk van het contract van het account | | Activiteitenlogboek | Scherm om de logboeken te raadplegen, met een bewaartermijn die Omniscol volgens het contract instelt. | Afhankelijk van het contract van het account | | Gekoppelde accounts | Verschillende gekoppelde Omniscol-accounts om de bezetting van lokalen, docenten of klassen te delen tussen instellingen die elk een eigen Omniscol-subdomein hebben. | Op verzoek, na afbakening | | Meerdere actieve roosters op een Standard-account | Uitzonderlijk geval voor bepaalde schoolaccounts die werkelijk gescheiden zijn (bijvoorbeeld een zelfstandige middelbare school met een eigen onderbouw en bovenbouw, of een scholengemeenschap met basis- en voortgezet onderwijs). | Specifieke activering, met passende afbakening en facturering | | Rechtstreekse toewijzing van leerlingen aan klassen en groepen in de roosters | Meestal plannen scholen zonder over de precieze lijst van leerlingen en hun toewijzingen te beschikken. Ze werken dus met klassen en groepen op basis van een theoretisch aantal verwachte leerlingen en leggen daarbij de organisatorische logica vast; zodra het rooster klaar is, worden de leerlingen (eventueel) achteraf aan de klassen en groepen toegewezen. Er bestaat echter een andere manier van werken, die vaak voorkomt bij opleidingsinstituten, waarbij de precieze lijst van leerlingen per klas en per groep vooraf nodig is, al bij het opstellen van het rooster; Omniscol leidt de logica dat de groepen elkaar niet mogen overlappen (wederzijdse uitsluiting) dan automatisch af. Dat verandert het gegevensmodel en de werkwijze, en is dus alleen als optie door het Omniscol-team te activeren. | Op verzoek, na beoordeling van de bijzondere manier van plannen | | Personeelsinzet | Module voor het beheer van toezicht / begeleiding (examens, studiezaal). Wordt ook als zelfstandig aanbod verkocht. | Als zelfstandig aanbod, in Standard Plus of afhankelijk van het contract | | Aanvullende modules | Eventuele extra modules. | Afhankelijk van de module en het contract | #### Belangrijke functies toegelicht ##### Kalendermodus Hiermee plaatst u de lessen **datum voor datum** in plaats van op een standaardweek. Deze functie is **standaard inbegrepen bij Premium** en onmisbaar voor het hoger onderwijs, de permanente educatie en de opleidingscentra. Zie [Kalendermodus](#page-glossary.calendar-mode). ##### Groepen van groepen Meerdere groepen — uit dezelfde klas of uit verschillende klassen — samenbrengen tot één eenheid die u in één blok inplant. **Beschikbaar op alle accounts, ongeacht het abonnement**, en op alle roostertypen (wekelijks, cyclisch, kalender); er is geen bijzondere activering nodig. Zie [Groepen van groepen](#page-core-concepts.groups-of-groups). ##### Meerdere actieve roosters naast elkaar Meerdere roosters tegelijk publiceren over dezelfde weken, dynamisch samengevoegd. Dat is standaard inbegrepen bij Premium. Omniscol kan het bij uitzondering ook inschakelen op bepaalde Standard-accounts of gemengde schoolaccounts wanneer de behoefte en de facturering dat rechtvaardigen. Zie [Meerdere actieve roosters naast elkaar](#page-timetables.multiple-active-timetables). ##### Gekoppelde accounts Meerdere Omniscol-accounts koppelen om de bezetting van gemeenschappelijke resources te delen: docenten, lokalen, gebouwen of klassen, al naargelang het geval. Omniscol schakelt dat op verzoek in, want de gekoppelde accounts en de gedeelde resources moeten worden afgebakend. Zie [Gekoppelde accounts en gedeelde resources](#page-integrations.linked-accounts). ##### Aangepaste rollen De rechten van een beheerdersaccount nauwkeurig beperken — module per module, met keuze van de handelingen (raadplegen / wijzigen / verwijderen) en de mogelijkheid een hele module met één klik af te sluiten. Zie [Aangepaste rollen](#page-admin.customroles). ##### Planningsdomeinen Aan een beheerder een gegevensbereik toekennen — campussen, vakken, rooster, vestigingen, lokalen, klassen, groepen — en de rechten die hij daarbinnen uitoefent. Elke roostermaker werkt aan zijn eigen deel zonder aan dat van de anderen te komen, terwijl het lezen open blijft. Zie [Domeinen](#page-admin.planning-domains). ##### Back-uppunten De toestand van het account op een bepaald moment vastleggen en later herstellen. Waardevol vóór een riskante ingreep (grootschalige herziening, omvangrijke import, start van het schooljaar). Zie [Back-uppunten](#page-admin.snapshots). ##### Realtime samenwerking Meerdere beheerders kunnen aan hetzelfde account werken, met aanwezigheidsindicatoren wanneer de optie is ingeschakeld. Zie [Realtime samenwerking](#page-core-concepts.collaboration). ##### MCP Met **MCP** sluit u een compatibele AI-agent aan zoals Claude (aanbevolen), met identificatie van het account via OAuth2. Zie [MCP](#page-integrations.mcp). ##### Activiteitenlogboek Wanneer Omniscol de optie inschakelt, kunt u op het scherm Activiteitenlogboek de door Omniscol geregistreerde logvermeldingen raadplegen en exporteren. Het mag niet worden voorgesteld als een volledige audit met een voor-/na-vergelijking of het opnieuw afspelen van de aanroepen. Zie [Activiteitenlogboek (logs)](#page-admin.logs). ##### ERP-synchronisatie De synchronisatie met externe systemen valt onder een contractuele activering, doorgaans op Premium-accounts, zodra er een connector is ingesteld. De connectoren Aurion, Auriga en Edusign bestaan; een nieuw ERP toevoegen gebeurt per project, met gedocumenteerde API, sandbox en afbakening van de mapping. Zie [Synchronisatie met externe systemen](#page-integrations.extsync). ##### Zelfstandige Personeelsinzet De module Personeelsinzet is afzonderlijk verkrijgbaar, ook als zelfstandig aanbod (zonder de rest van Omniscol). Zie [Overzicht van de module Personeelsinzet](#page-staffing.overview). #### Hoe weet u welk abonnement en welke opties actief zijn Zichtbaar in Instellingen — een onderdeel onderaan het paneel dat het actieve abonnement en de afgenomen opties toont. Het abonnement + de opties bepalen welke modules in het linkermenu beschikbaar zijn. #### Zie ook - [Meerdere actieve roosters naast elkaar](#page-timetables.multiple-active-timetables) - [Gekoppelde accounts en gedeelde resources](#page-integrations.linked-accounts) - [Kalendermodus](#page-timetables.calendar-mode) - [Aangepaste rollen](#page-admin.customroles) - [Domeinen](#page-admin.planning-domains) - [Back-uppunten](#page-admin.snapshots) - [Realtime samenwerking](#page-core-concepts.collaboration) - [MCP — een externe AI-agent aansluiten](#page-integrations.mcp) ### 1.6 Het juiste roostertype kiezen: wekelijks, cyclisch, kalender *Source: `help/nl/overview/timetable-modes.md` · id: overview.timetable-modes · Plan: premium · Updated: 2026-06-13* > **Premium** > _Premium_ Op een Premium-account hebt u bij het aanmaken de keuze uit drie roostertypen. Het fundamentele onderscheid stelt de **herhaling** (Wekelijks en Cyclisch: een patroon herhaalt zich) tegenover de **niet-herhaling** (Kalender: elke les wordt afzonderlijk gedateerd). Die keuze bepaalt de rest van het traject; het is dus belangrijk haar te begrijpen voordat u een rooster aanmaakt. De **automatische roostergeneratie** is voor alle drie de typen beschikbaar; de voordelen en de beperkingen die eigen zijn aan elk type staan hieronder beschreven. #### In één zin | Type | Herhaling | Wanneer gebruiken | | --- | --- | --- | | **[Wekelijks](#page-glossary.weekly-timetable)** | Terugkerend (standaardweek) | Lessen die terugkeren in een **standaardweek**. Basis- en voortgezet onderwijs. | | **[Cyclisch](#page-glossary.cyclic-timetable)** | Terugkerend (cyclus van N dagen) | Lessen die terugkeren over een **cyclus van N dagen** (afwijkend van de week van 5 of 7). Noord-Amerikaanse systemen, internationale scholen. | | **[Kalender](#page-glossary.calendar-mode)** | Niet terugkerend | Lessen die **stuk voor stuk gedateerd** zijn, zonder herhaling. Hoger onderwijs, permanente educatie. | #### Wekelijks — het standaardgeval Dit is de standaardmodus. Hij past bij elke school waarvan de lessen een **terugkerende standaardweek** volgen, met of zonder afwisseling A/B. Voordelen: - Eenvoudige logica: u voert één standaardweek in en kiest daarna de weken waarin die geldt. - Vakanties worden automatisch weggehaald. Beperkingen: - Niet geschikt voor instellingen waar elke week anders is (losse lessen, externe docenten die elkaar afwisselen). - Lessen die maar één keer plaatsvinden (een lezing, een examen op een vaste datum) moeten als losse wijzigingen worden toegevoegd of via een apart rooster. #### Cyclisch — voor niet-wekelijkse cycli De cyclische modus past bij instellingen die de lessen over een **cyclus van N dagen** organiseren (doorgaans 6 of 8), afwijkend van de week van 5 of 7 — gangbaar in Noord-Amerikaanse systemen en in sommige internationale scholen. De werking ligt dicht bij die van het wekelijkse rooster, met een cyclus van N genummerde dagen (Dag 1, Dag 2…). De koppeling tussen cyclus en weekdagen wordt dynamisch opgebouwd vanuit de **publicatie van het rooster**, dat wil zeggen bij het kiezen van de weken waarin de cyclus geldt. #### Kalender — voor het hoger onderwijs en de permanente educatie De kalendermodus verschilt duidelijk van de twee andere: elke les wordt op **een precieze datum** geplaatst, zonder herhaling. Dit is de aangewezen modus voor: - het hoger onderwijs (hogescholen, business schools, universiteiten), - de permanente educatie, - de opleidingscentra waar de lessen niet elke week terugkeren. Vergeleken met een gewone agenda of een school-ERP / leerlingadministratie profiteert u dan van de eigenschappen die typisch zijn voor het hoger onderwijs (zie [kalendermodus](#page-timetables.calendar-mode) voor de details): - **Zeer volledige hulp bij de invoer** — conflicten in realtime, filters op lokalen, geconsolideerde beschikbaarheid… - **In realtime geconsolideerde beschikbaarheid** — wijzigingen in de beschikbaarheid van de docenten worden meteen doorvertaald naar mogelijke of daadwerkelijke conflicten. - **Binaire publicatie** — het rooster is gepubliceerd of niet, zonder keuze van reeksen weken. Huidige beperking — de **semi-herhaling**: sommige scholen hebben weken die grotendeels op elkaar lijken maar met onregelmatigheden erin (lessen die eerder ophouden dan de andere, feestdagen, docenten die maar af en toe komen…). Met knoppen kunt u een les **handmatig dupliceren** volgens een terugkerend patroon, maar de roostergeneratie ondersteunt dit geval nog niet; de automatische roostergeneratie blijft volledig beschikbaar voor kalenders zonder onderliggend terugkerend patroon, en omgekeerd voor volledig terugkerende roosters (wekelijks). **Gedeeltelijke roostergeneratie** — de automatische roostergeneratie kan via het optiepaneel tot een deel van het bereik worden beperkt. Er zijn drie filters beschikbaar: - **Klassen**: de klassen kiezen die u wilt genereren. - **Vakken**: de vakken kiezen die u wilt genereren. - **Datumbereik**: eigen aan de kalendermodus. Hiermee behandelt u één periode tegelijk (bijvoorbeeld het volgende trimester). Dat is vooral nuttig in de kalendermodus: u kunt het rooster **in opeenvolgende stappen** opbouwen — eerst het ene trimester, dan het volgende; eerst de ene opleiding, dan de andere; enzovoort. #### Uw modus kiezen: snelle wegwijzer ```mermaid flowchart TD Q1{{"Volgen uw lessen
een terugkerend patroon?"}} Q2{{"Is dat patroon de week
(5 tot 7 dagen)?"}} H([Wekelijks]) Cy([Cyclisch]) Ca([Kalender]) Q1 -->|Ja| Q2 Q1 -->|Nee| Ca Q2 -->|Ja| H Q2 -->|Nee| Cy ``` #### Een rooster naar een ander type omzetten Wilt u een bestaand rooster van het ene type naar het andere overzetten, dan kunt u het **dupliceren en daarbij omzetten** via de actie Dupliceren in de lijst met roosters, in de module Roosterbeheer. Alle zes de conversies worden ondersteund: Wekelijks ↔ Cyclisch, Wekelijks ↔ Kalender, Cyclisch ↔ Kalender. Afhankelijk van het doeltype wordt om een extra gegeven gevraagd: - **Kalender**: het datumbereik (begin / einde) waarover de lessen worden uitgerold. Standaard stelt het dialoogvenster de eerste en de laatste week van het schooljaar voor. - **Cyclisch**: de lengte van de cyclus, in dagen (standaard 12). - **Wekelijks**: geen extra gegeven. Wat tijdens de omzetting opnieuw wordt toegewezen: - **De posities van de lessen** — elke positie wordt vertaald van het oorspronkelijke systeem naar het doelsysteem (weekdag ↔ cyclusnummer ↔ datum). - **Wekelijks → Kalender**: elke les wordt vermenigvuldigd over alle bijbehorende datums van het doelbereik, en de **urenvolumes van de vakken** worden met het aantal weken vermenigvuldigd om het totaal te behouden. De **afwisseling A/B** wordt automatisch op elke gematerialiseerde datum toegepast. - **Beschikbaarheid**: alleen behouden en meegenomen vanuit een **wekelijkse** bron. Een cyclische of kalenderbron verwijdert die — gedateerde beschikbaarheid of beschikbaarheid in cyclusnummers laat zich niet netjes terugprojecteren op een standaardweek of op een andere cyclus. Het resultaat is een **zelfstandig rooster**, onafhankelijk van het origineel — u kunt het apart verder bewerken en het alleen of naast de oorspronkelijke versie publiceren. #### Modi combineren U kunt **meerdere roosters van verschillende typen gelijktijdig publiceren** over dezelfde weken. Typische gevallen: - **Terugkerende gemeenschappelijke kern + losse evenementen**: een wekelijks rooster voor de vaste lessen + een [kalenderrooster](#page-timetables.calendar-mode) voor masterclasses, lezingen of gedateerde examens. - **Verschillende ritmes voor dezelfde klassen**: een wekelijks rooster voor de ochtenden (zeer regelmatige kernvakken) + een kalenderrooster voor de middagen (sport, clubs, workshops die van week tot week veranderen). - **Verschillende werkwijze per klas**: een propedeuse met een wekelijks rooster, tegenover een niet-terugkerende masterfase met veel externe docenten die dezelfde cursus meerdere dagen achter elkaar aan dezelfde studenten geven. Delen meerdere gepubliceerde roosters een docent of een lokaal, dan **voegt Omniscol de weergaven dynamisch samen** aan de raadpleegkant. Bewerkt u een rooster terwijl een ander rooster al gepubliceerd is, dan houdt Omniscol standaard rekening met de bezetting van docenten, lokalen en klassen door dat gepubliceerde rooster (deze functie kan worden uitgeschakeld). #### Zie ook - [Wekelijks](#page-glossary.weekly-timetable) - [Cyclisch](#page-glossary.cyclic-timetable) - [Kalender](#page-glossary.calendar-mode) - [Overzicht van de module Roosterbeheer](#page-timetables.overview) - [Meerdere actieve roosters naast elkaar](#page-timetables.multiple-active-timetables) ### 1.7 Eerste keer inloggen *Source: `help/nl/getting-started/first-login.md` · id: getting-started.first-login · Updated: 2026-05-10* Om bij Omniscol in te loggen, gaat u naar de URL van uw school — meestal in de vorm `https://.omniscol.com`. De inlogpagina vraagt u om een gebruikersnaam en een wachtwoord. #### Inloggegevens Uw inloggegevens hebt u van uw instelling gekregen. De standaardsyntaxis is `voornaam.achternaam` of `achternaam.voornaam` (afhankelijk van de configuratie van de school in de [Algemene instellingen](#page-admin.parameters)), maar het kan ook een numeriek registratienummer zijn. #### Wachtwoord vergeten Klik op Wachtwoord vergeten? Voer uw gebruikersnaam in. Als er een e-mailadres is vastgelegd, ontvangt u een link om uw wachtwoord opnieuw in te stellen. Volg de instructies. Als u geen e-mail hebt ontvangen: - controleer of de ingevoerde gebruikersnaam overeenkomt met de naam die in Omniscol is vastgelegd (neem bij twijfel contact op met de beheerder van uw school), - kijk in de map met ongewenste e-mail / spam, - controleer of uw instelling uw e-mailadres in de gebruikersfiche van uw account heeft ingevuld. #### Eerste keer inloggen Als u voor het eerst inlogt, kan het systeem u meteen vragen om **uw wachtwoord te wijzigen**. Kies een sterk en uniek wachtwoord (Omniscol kan het op geen enkele manier terughalen — het wordt al onleesbaar gemaakt voordat het wordt verzonden). #### Inloggen via een identiteitsprovider Gebruikt uw instelling [OIDC / SSO](#page-integrations.oauth2) (Google Workspace, Azure AD/Microsoft Entra, Keycloak, een interne SSO-provider), dan verschijnt er een aparte knop op de inlogpagina. Klik erop en meld u aan via uw gebruikelijke identiteitsdienst. #### Beperkingen per profiel De beheerder kan besluiten **het inloggen te blokkeren** voor bepaalde profielen (bijvoorbeeld het inloggen van leerlingen tijdens het schooljaar uitschakelen, of een bepaald docentaccount uitschakelen). Is uw profiel beperkt, dan krijgt u daarover een melding te zien. Zie Inlogbeperking voor de applicatie. #### Zie ook - [Het schoolaccount configureren](#page-getting-started.setup-school) - [Uw gebruikers uitnodigen en activeren](#page-getting-started.inviting-users) - [OIDC / SSO](#page-integrations.oauth2) ### 1.8 Het schoolaccount configureren *Source: `help/nl/getting-started/setup-school.md` · id: getting-started.setup-school · Audience: admin · Updated: 2026-05-10* Wanneer uw Omniscol-account wordt aangemaakt, begeleidt het startscherm u stap voor stap. Volg de voorgestelde volgorde: dat is de vlotste weg. Deze pagina vat de volgorde **van rechts naar links** in het menu Beheer samen (hoe minder vaak een onderdeel wordt gebruikt, hoe verder naar rechts het staat). #### Stap 1 — Instellingen De module Instellingen bevat de volledige configuratie van het account. Veel waarden zijn al vooraf ingevuld op basis van het **land** van uw school, volgens de lokale gewoonten die Omniscol heeft waargenomen — meestal hoeft u nog maar weinig aan te passen. Controleer als eerste: - Schoolnaam — wordt getoond op de inlogpagina. - **Onderwijsniveaus** (1 vwo, 3 havo, bachelor 1, master 2…) — die dienen overal als referentie. Pas ze aan uw eigen nomenclatuur aan. - **Invoermodus voor de beschikbaarheid van docenten** — wekelijks, kalender (op Premium-accounts), kalender + wekelijks (op Premium-accounts), of uitgeschakeld. - **Zichtbaarheidsbeperking van de roosters voor leerlingen** — hoeveel weken vooruit leerlingen hun rooster kunnen zien (handig om de verspreiding van een nog niet definitief rooster uit te stellen). - **Inlognaam** — het formaat waarmee de inlognamen automatisch worden gegenereerd (`prenom.nom`, `nom.prenom`, registratienummer…). - Eerste dag van de week — belangrijk voor landen waar de week op zondag begint (Arabische landen, Israël). - Afwisselende weken (voor wekelijkse roosters) — A/B, 1/2 (dat wil zeggen een weergave met letters of met cijfers), of uitgeschakeld. - **Schoollogo** — wordt in plaats van het Omniscol-logo getoond op de inlogpagina en in de bovenste balk. Zie [Algemene instellingen](#page-admin.parameters) voor de details. #### Stap 2 — Schooljaar Voordat u een rooster kunt publiceren, moet er ten minste **één schooljaar** zijn vastgelegd in Schooljaren. In te vullen: - **Naam** — per afspraak de jaartallen: "2025-2026". - **Begin- en einddatum**. - **Vakanties** — hetzij door kopiëren en plakken vanuit een spreadsheet, hetzij door de vooraf ingevulde vakantiedata voor uw land te importeren (aangeboden bij het aanmaken), hetzij met de hand. - **Huidig schooljaar** — wijs het jaar aan dat nu in gebruik is. Dat is het jaar dat standaard te zien is en dat als enige wordt verspreid. Zie [Schooljaar en vakanties](#page-admin.school-year). #### Stap 3 — Vakken Vult Omniscol al een **basis met gemeenschappelijke vakken** in voor uw land, dan hoeft u misschien niets te doen. Zo niet, of voor de vakgebieden die eigen zijn aan uw instelling: - Maak de **aangepaste vakken** aan in Aanmaken. - Bepaal de **lestypen** (bijvoorbeeld les, workshop, examen, hoorcollege) in Aanmaken als uw onderwijskundige nomenclatuur daarvan gebruikmaakt. - Optioneel: stel de **vakgroepen** in om verwante vakken te bundelen. ⚠ **Let op de spelling** van de aangepaste vakken: Omniscol maakt intern een kopie op het moment dat een vak aan een rooster wordt toegewezen, en een latere correctie werkt niet door in de roosters die in het verleden al zijn ingericht (alleen in die van het heden, van de toekomst en in de roosters die niet gepubliceerd zijn). #### Stap 4 — Gebruikers Hier maakt u de docenten, leerlingen en beheerders aan. Zie [Uw gebruikers uitnodigen en activeren](#page-getting-started.inviting-users) voor de details. Na deze stap kunt u uw eerste rooster aanmaken. Volg dan [Overzicht van de module Roosterbeheer](#page-timetables.overview). #### Zie ook - [Algemene instellingen](#page-admin.parameters) - [Schooljaar](#page-admin.school-year) - [Vakken beheren](#page-admin.subjects) - [Uw gebruikers uitnodigen en activeren](#page-getting-started.inviting-users) - [Uw gegevens voorbereiden voor een massale import](#page-getting-started.preparing-data) ### 1.9 Uw gebruikers uitnodigen en activeren *Source: `help/nl/getting-started/inviting-users.md` · id: getting-started.inviting-users · Audience: admin · Updated: 2026-08-07* Vier gebruikersrollen aan de kant van de school bepalen de opstart: **Beheerder**, **Docent**, **Leerling** en **Personeel**. Elke rol geeft toegang tot een ander bereik. #### Welk scherm voor welke rol | Rol | Scherm | Verplicht? | | --- | --- | --- | | Beheerder | Beheerders | Minstens de hoofdbeheerder. | | Docent | Docenten | Essentieel, om lessen met de docenten te kunnen aanmaken en publiceren. | | Leerling | Leerlingen | Optioneel: Omniscol werkt ook zonder de leerlingen te kennen en zonder dat zij toegang krijgen tot het raadpleegportaal. | | Personeel | Personeel | Alleen nuttig als de module Personeelsinzet wordt gebruikt. | De rechten van elke rol en hun technische tegenhanger worden in detail beschreven in [Gebruikers en rollen](#page-admin.users-and-roles). #### Afzonderlijk aanmaken of massaal aanmaken (batch) **Afzonderlijk**: de knop Toevoegen op het scherm van de betrokken rol. U opent het formulier van één gebruiker en vult zijn of haar basisgegevens in. **Massaal (batch)**: de knop Gegevens importeren op het scherm van de betrokken rol. U maakt of wijzigt meerdere regels in een tabel, op basis van een bestand dat u in Excel, Google Sheets, Numbers of Calc hebt voorbereid. Zie [Uw gegevens voorbereiden voor een massale import](#page-getting-started.preparing-data). #### Een gebruiker activeren Een actieve gebruiker kan zich aanmelden, verschijnt op de schermen die hem of haar aangaan en kan toewijzingen krijgen. Om een gebruiker inactief te maken zonder hem of haar te verwijderen, gebruikt u de fiche of de massale actie. Een inactief account kan zich niet meer aanmelden en niet meer aan nieuwe roosters worden toegewezen, maar de geschiedenis blijft raadpleegbaar. #### Uitnodigen per e-mail De knop Gebruiker uitnodigen stuurt elke geselecteerde gebruiker een e-mail met een link voor de eerste aanmelding. Controleer eerst of de e-mailadressen zijn ingevuld; anders kan de uitnodiging niet worden verstuurd. #### Initiële wachtwoorden instellen Als een uitnodiging per e-mail niet geschikt is, kunt u wachtwoorden handmatig instellen met Wachtwoord wijzigen. Reserveer dat liever voor pilotaccounts, serviceaccounts of situaties waarin de instelling de verdeling van de inloggegevens zelf regelt. Het wachtwoord dat u zo handmatig instelt (eventueel met behulp van de knop voor willekeurige generatie) is in werkelijkheid tijdelijk: bij de eerste aanmelding moet de gebruiker een nieuw, persoonlijk wachtwoord invoeren. #### Leerlingen in klassen en groepen plaatsen De plaatsingen beheert u vanaf het scherm Leerlingen: 1. Selecteer op Leerlingen de betrokken leerlingen. 2. Klik op Toewijzen aan een klas. 3. Kies het schooljaar, de klas en zo nodig de datums. 4. Gebruik Groepen voor de groepen (talen, keuzevakken, practica, halve klassen). De plaatsingen kunnen in meerdere rondes gebeuren, bijvoorbeeld per niveau of naarmate de inschrijvingen binnenkomen. Er bestaat een optie om de leerlingen rechtstreeks in de klassen en groepen toe te wijzen op het niveau van de roosters, vooraf, en niet achteraf in de module Beheer. Neem contact op met het team van Omniscol als deze werkwijze u interesseert. > _Option: Aangepaste rollen_ #### Aangepaste rollen Met de optie **Aangepaste rollen** beperkt u de rechten van een beheerdersaccount module per module en handeling per handeling. Zie [Aangepaste rollen](#page-admin.customroles). De optie opent ook de [domeinen](#page-admin.planning-domains), die afbakenen welke gegevens aan een roostermaker worden toevertrouwd — zijn of haar campus, opleiding, rooster. #### Stappenplan — Gebruikers opstarten bij de start van het schooljaar 1. Bereid de bestanden of tabellen met gebruikers voor: beheerders, docenten, leerlingen en zo nodig personeel. 2. Importeer of maak de accounts aan vanaf de schermen van de module Beheer. 3. Controleer de e-mailadressen, de inlognamen en de rollen. 4. Verstuur de uitnodigingen met Gebruiker uitnodigen. 5. Plaats de leerlingen in hun klassen en groepen zodra er een eerste rooster voor het schooljaar is gepubliceerd. 6. Deactiveer aan het einde van het jaar de accounts die zich niet meer mogen aanmelden, in plaats van de geschiedenis meteen te verwijderen. #### Zie ook - [Het schoolaccount configureren](#page-getting-started.setup-school) - [Uw gegevens voorbereiden voor een massale import](#page-getting-started.preparing-data) - [Gebruikers en rollen](#page-admin.users-and-roles) - [Docenten beheren](#page-admin.teachers) - [Leerlingen beheren](#page-admin.students) ### 1.10 Uw gegevens voorbereiden voor een massale import (in batch) *Source: `help/nl/getting-started/preparing-data.md` · id: getting-started.preparing-data · Audience: admin · Updated: 2026-06-03* Honderden of duizenden rijen met de hand invoeren (docenten, leerlingen, lokalen, lessen…) is zelden verstandig. Omniscol biedt **massale imports** via kopiëren en plakken vanuit elke spreadsheet (Excel, Google Sheets, Numbers, Calc…), in CSV- of TSV-formaat. Die imports voert u uit door te klikken op de knoppen [table], meestal boven aan de lijsten met entiteiten. Enkele daarvan dienen alleen om gegevens te exporteren, maar de meeste accepteren ook een import. #### Wat kunt u importeren? | Entiteit | Scherm | Typisch volume | | --- | --- | --- | | **Docenten** | Gegevens exporteren in CSV-formaat | 10 - 1000 | | **Leerlingen** | Gegevens exporteren in CSV-formaat | 50 - 10.000 | | **Lokalen** | Gegevens exporteren in CSV-formaat | 10 - 500 | | **Aangepaste vakken** | Gegevens exporteren in CSV-formaat | 10 - 1000 | | **Lessen van een rooster** | Gegevens exporteren in CSV-formaat | 100 - 10.000 | #### Uw bestanden voorbereiden **Gouden regels**: 1. **Eén rij = één entiteit.** Geen samengevoegde rijen, geen kolomkoppen over meerdere rijen. 2. **Houd de kolomvolgorde aan die Omniscol verwacht.** Het importscherm toont het sjabloon met de kolommen in de doelvolgorde, en u kunt **die kolommen herschikken** aan de kant van Omniscol zodat ze aansluiten op de volgorde van uw eigen spreadsheet — zo verloopt het kopiëren en plakken vanuit Excel of Google Sheets netjes, zonder dat u uw bestand hoeft te herschrijven. 3. **Sommige kolommen zijn alleen-lezen.** Die staan dan grijs en dienen uitsluitend om gegevens te exporteren. De eerste kolom is meestal de identificatie van de gegevens die al in de database staan. 4. **Kolommen met een "*" zijn verplicht.** Ontbreekt er een verplicht veld, dan wordt de rij genegeerd (niet geïmporteerd bij het aanmaken, of verwijderd als die al in de database stond). 5. **De scheidingstekens binnen een cel zijn vrij** in lijsten (meerdere docenten, meerdere groepen, meerdere lokalen bij één les): komma, puntkomma, schuine streep. 6. **De ingebouwde AI ruimt uw gegevens op**, maar tot op zekere hoogte: zorg voor schone, ondubbelzinnige gegevens, anders kunt u voor onaangename verrassingen komen te staan. #### Typische velden per entiteit ##### Docenten - Voornaam, Achternaam (verplicht). - E-mail (aanbevolen voor de uitnodigingen). - Personeelsnummer / extern ID (optioneel, maar handig voor de traceerbaarheid). - Onderwezen vakken (lijst, vrije scheidingstekens). - Diensturen (aantal geplande uren per week). - Hoofdvestiging (bij meerdere vestigingen). ##### Leerlingen - Voornaam, Achternaam (verplicht). - E-mail (aanbevolen). - SIS-nummer (handig om naamgenoten uit elkaar te houden). - Niveau / Klas. - Groepen (keuzevak, subgroep). - Status (actief, in vooraanmelding, inactief). ##### Lokalen - Naam (verplicht). - Vestiging (verplicht bij meerdere vestigingen — anders wijst Omniscol de standaardvestiging toe). - Capaciteit. - Specialisaties (lijst). - Gebouw (vrije tekst). - Labels / opmerkingen. ##### Lessen - Klas + vak (minimaal). - Duur (anders afgeleid uit de begin- en eindtijd). - Dag, begintijd, eindtijd (om vooraf te plaatsen; anders leeg laten en later plaatsen). - Groep (optioneel). - Lestype (werkcollege, practicum, hoorcollege, examen…). - Docent(en) (vrije scheidingstekens). - Lokaal of lokalen (vrije scheidingstekens — ja, [meerdere lokalen](#page-glossary.multi-room) bij dezelfde les worden ondersteund). - Resource(s). - Afwisselende weken (formaat `A/B`, `1/2`, enz.). - Vrije opmerking. #### Na de voorbereiding Hoe de import verloopt, hangt af van het doelscherm. Meestal wordt het scherm volledig ververst met de nieuwe gegevens. Voor de **lessen van een rooster**, zie [Massale import van cursussen via een spreadsheet](#page-timetables.mass-import), waarin de speciale wizard in vier stappen wordt beschreven. #### Export Met dezelfde ingebouwde spreadsheet haalt u de gegevens er ook weer uit. Daarvoor hebt u meerdere mogelijkheden: - Kopiëren en plakken naar een externe spreadsheet (TSV-formaat, automatisch). - De knoppen onderaan gebruiken om rechtstreeks naar een PDF-, CSV- of Excel-bestand (XLSX) te exporteren. #### Opnieuw importeren Een import blijft niet beperkt tot een eerste import. U kunt massaal importeren in meerdere rondes. De eerste kolom, met het label "id", bevat de alleen-lezen identificatie van elke entiteit in de database, die u ook in de URL's terugvindt. Wijzigt u een rij die bij een bepaalde identificatie hoort, dan worden de gegevens van die entiteit gewijzigd. Om nieuwe gegevens toe te voegen, gaat u helemaal onderaan in de spreadsheet, waar altijd een paar lege rijen staan zonder gekoppelde identificatie. Nieuwe gegevens plakken, net als bij de eerste import, breidt de tabel met evenveel rijen uit. De opnieuw geïmporteerde entiteiten kunnen complexe gegevens bevatten die niet in aanmerking komen voor import en export (soms is er een alleen-lezen kolom die uitsluitend dient om die gegevens te exporteren). Dat is bijvoorbeeld het geval bij de tijdsbeperkingen op docenten, lokalen, klassen enzovoort. In dat geval worden die gegevens automatisch ongewijzigd opnieuw ingevoegd. Zo kunt u massaal importeren in meerdere rondes zonder de verrijkte gegevens van bestaande entiteiten kwijt te raken, terwijl u tegelijk nieuwe kunt aanmaken of andere kunt verwijderen. #### Massaal verwijderen Zoals bij het opnieuw importeren dient de eerste kolom "id" om de verschillende entiteiten te herkennen. Maakt u een rij leeg, ten minste de verplichte kolommen met een "*", dan verwijdert de import de leeggemaakte entiteiten. Omdat u meerdere rijen en kolommen kunt selecteren, net als in een gewone spreadsheet, hoeft u alleen op de Delete-toets van het toetsenbord te drukken om zoveel rijen te wissen als u wilt, en zo de bijbehorende entiteiten massaal uit de database te verwijderen. #### Zie ook - [Import en export](#page-admin.import-export) - [Massale import van de lessen van een rooster](#page-timetables.mass-import) - [Migreren vanuit andere software](#page-migration.overview) ### 1.11 Rondleiding voor de eerste stappen (de 6 stappen van de module Home) *Source: `help/nl/getting-started/onboarding-tour.md` · id: getting-started.onboarding-tour · Audience: admin · Updated: 2026-05-10* Wanneer u voor het eerst inlogt op een leeg account, biedt de module **Home** u een **checklist met zes stappen** — elke stap wordt automatisch afgevinkt zodra aan de voorwaarde is voldaan (groene ✓) of gemarkeerd als blokkerend (rode ✗) zolang er nog niets is ingevoerd. De stappen staan in een logische volgorde die sterk wordt aanbevolen, maar u kunt altijd een stap overslaan en er later op terugkomen. Vroeg of laat ontbreekt er dan een gegeven waardoor u een stap terug moet. Deze helppagina beschrijft dezelfde volgorde, stap voor stap; een **klikbare rondleiding** vat het geheel onderaan de pagina samen. #### Overzicht — welkomstbericht > Welkom bij Omniscol, de online software voor roostergeneratie en -beheer! Als u dit bericht ziet, is dit uw eerste keer inloggen of hebt u nog geen roosterconfiguratie aangemaakt. Volg de onderstaande stappen om aan de slag te gaan. De aangegeven volgorde is aanbevolen, maar u kunt op elk moment terugkeren naar een eerdere stap. > **Organisatietip**: de module Home verbergt zichzelf automatisch > zodra uw **eerste rooster is gepubliceerd**. Zolang hij zichtbaar > is, is hij uw kompas. De link > opnieuw weergeven toont hem na > publicatie desgewenst weer: > > > Uw account is geconfigureerd en functioneel. U kunt nog steeds de beginhandleiding weergeven. #### Stap 1 — De gebruikers invoeren > Voer eerst alle gebruikers in: docenten en leerlingen. Het invoeren van leerlingen is optioneel. U kunt later roosters aanmaken door alleen het aantal leerlingen per klas en groep op te geven. U kunt de leerlingen ook later toevoegen en ze vervolgens aan klassen en groepen toewijzen. > Tip: u kunt grote hoeveelheden gegevens toevoegen door te plakken vanuit Excel (of een ander spreadsheetprogramma) via het pictogram. **Actie**: - Docenten invoeren *(verplicht — rood kruis zolang er geen docent is aangemaakt)* - Leerlingen invoeren *(optioneel — geen rood kruis, alleen een rondje als het niet is ingevuld)* Zie [Uw gebruikers uitnodigen en activeren](#page-getting-started.inviting-users) voor de details (afzonderlijk aanmaken versus importeren in bulk, uitnodigingen per e-mail, initiële wachtwoorden, bulkbewerkingen). #### Stap 2 — De instellingen invullen > Vul uw accountinstellingen aan, inclusief de onderwijsniveaus. **Actie**: Instellingen opgeven Zie [Algemene instellingen](#page-admin.parameters). Pas met voorrang aan: de onderwijsniveaus, de modus van de beschikbaarheid, de eerste dag van de week (voor landen waar de week op zondag begint) en de syntaxis van de gebruikersnaam. De meeste overige waarden zijn al voor uw land ingevuld. #### Stap 3 — Een eerste schooljaar aanmaken > Een schooljaar is een periode tussen een begin- en einddatum, inclusief vakanties, waarbinnen roosters worden gepubliceerd. Het is noodzakelijk om toegang te krijgen tot de dagelijkse modules (roosterweergave, dashboard, afwezigheidsbeheer…). **Actie**: Uw eerste schooljaar aanmaken Zie [Schooljaar en vakanties](#page-admin.school-year). Geef het een naam ("2025-2026"), een begin- en einddatum, en importeer de voor uw land vooraf ingevulde vakantiedata als die worden aangeboden. Dit is de stap die de toegang tot de publicatie in de module Roosterbeheer vrijgeeft. #### Stap 4 — De aangepaste vakken aanmaken (optioneel) > Definieer specifieke vakken uit het curriculum die niet zijn opgenomen in de standaardlijst. **Actie**: Aangepaste vakken aanmaken Zie [Vakken beheren](#page-admin.subjects). De database met gangbare vakken per land is al vooraf ingevuld; u maakt hier alleen de vakken aan die **specifiek zijn voor uw instelling** en niet in die database staan. #### Stap 5 — Een rooster aanmaken (en vervolgens configureren) Stap 5 kent twee varianten, afhankelijk van de toestand van het account: ##### 5a — Zolang er nog geen rooster is aangemaakt > Maak een nieuw rooster aan. Het is aan te raden om stap voor stap te werk te gaan en elk veld van de configuratie in te vullen. U kunt op elk moment terugkomen naar een eerdere stap. **Actie**: Een rooster aanmaken Klik op Rooster aanmaken in de module [Roosterbeheer](#page-timetables.overview). Biedt uw account meerdere types aan, kies dan het [roostertype](#page-overview.timetable-modes) (wekelijks, cyclisch, kalender). ##### 5b — Zodra het rooster is aangemaakt en in configuratie is > Er wordt een rooster geconfigureerd maar het is nog niet gegenereerd. Wij adviseren om elk veld van de configuratie stap voor stap in te vullen voordat u het rooster genereert. **Actie**: Roosterconfiguratie hervatten Loop de tabbladen van het rooster **van links naar rechts** door: [Algemeen](#page-timetables.general-settings) → [Vestigingen](#page-timetables.sites-rooms) → [Docenten](#page-timetables.assigning-teachers) → [Klassen](#page-timetables.creating-classes) → [Groepsuitlijningen](#page-timetables.alignments-and-groups-of-groups) → [Urenverdeling](#page-timetables.hour-distribution) → [Roostergeneratie](#page-timetables.generation). #### Stap 6 — Het rooster verdelen (publiceren) > Zodra het rooster volledig is geconfigureerd en gegenereerd, moet het worden verdeeld over alle of een deel van de weken van het schooljaar. Klik op de verdelingsknop in het roosterbeheerscherm. Dit scherm biedt u ook de mogelijkheid om roosters te vinden die in configuratie zijn of reeds gegenereerd. **Actie**: Roosters beheren Zie [Een rooster publiceren (activeren)](#page-timetables.publication). Dit is de stap die vaak wordt vergeten: zolang het rooster niet is verdeeld over de weken van het schooljaar, blijft het een concept dat onzichtbaar is voor de eindgebruikers. De publicatie is nodig om de modules voor dagelijks gebruik (raadplegen, dashboards, afwezigheden) volledig operationeel te maken. Ze activeert ook de eventuele realtime-exports naar buiten toe: iCal, gekoppelde externe software enzovoort. #### Hoe verder Zodra de checklist van begin tot eind groen is, met een volledig geconfigureerd en gepubliceerd rooster: - **De leerlingen plaatsen** in hun klassen / groepen (zie [Uw gebruikers uitnodigen en activeren](#page-getting-started.inviting-users)). - **De gebruikers uitnodigen** per e-mail (Gebruiker uitnodigen). - **De informatieschermen instellen** in de gebouwen (zie [Informatieschermen](#page-panels.lobby-panel)). - **De iCal-abonnementen opzetten** voor de docenten en de leerlingen (zie [iCal](#page-integrations.ical)). - **De leerlingtoegang testen** vanaf een testaccount. - **De integraties configureren** (leerlingadministratie, ERP…) indien van toepassing (zie [Overzicht van de integraties](#page-integrations.overview)). #### Zie ook - [Rondleiding in vijf minuten](#page-overview.quick-tour) - [Eerste keer inloggen](#page-getting-started.first-login) - [Het schoolaccount configureren](#page-getting-started.setup-school) - [Uw gebruikers uitnodigen en activeren](#page-getting-started.inviting-users) - [Overzicht van de module Roosterbeheer](#page-timetables.overview) - [Een rooster publiceren (activeren)](#page-timetables.publication) --- ## 2. Kernbegrippen ### 2.1 Organisatie van de gegevens: vakken, docenten, klassen, roosters *Source: `help/nl/core-concepts/data-model.md` · id: core-concepts.data-model · Audience: admin · Updated: 2026-06-13* Omniscol onderscheidt twee organisatieniveaus: een **schoolregister** dat in de module Beheer wordt bijgehouden (vakken, gebruikers, schooljaren…) en dat uw instelling duurzaam beschrijft, en **roosters** die daar elementen uit betrekken om over een bepaalde periode een samenhangende planning op te bouwen. Wie die tweedeling begrijpt, voert wijzigingen rustig door (een vak hernoemen, een docent bijwerken, een rooster archiveren) zonder de opgebouwde geschiedenis te breken. #### Overzicht: twee niveaus, twee logica's ```mermaid flowchart LR subgraph A["Schoolniveau — module Beheer"] AS["Vakken"] AU["Gebruikers met de docentrol"] end subgraph E["Roosterniveau — planning"] C["Klassen"] G["Groepen
(optioneel)"] M["Cursussen
= vakken van de klassen
(lokale kopie, met type)"] T["Docenten van het rooster
gedeeltelijke kopie"] S["Lessen
duur, klas, optionele groep,
docenten, lokaal, positie"] end AS -.->|dient als sjabloon| M AU -.->|dient als sjabloon| T C -->|bevat| G C -->|toegewezen vakken| M T -->|toegewezen docenten| M M -->|onderwezen vak| S C -->|betrokken klas| S G -.->|optionele groep| S T -->|docenten van de les| S ``` **Schoolniveau**: een globaal register met een lange levensduur, beheerd in de module Beheer. Het bevat wat waar is voor de instelling, los van welk rooster dan ook — de kalender van de schooljaren, de vakkencatalogus (de vakken die gemeenschappelijk zijn voor het land plus de aangepaste vakken van de school) en de gebruikerslijst (met hun rollen). **Roosterniveau**: een samenhangende planning over een periode. Elk rooster heeft zijn eigen lijst met docenten, klassen, groepen, aan klassen toegewezen vakken en lessen. Die objecten zijn geen eenvoudige verwijzingen naar het schoolregister: het zijn **lokale kopieën**, die verrijkt kunnen worden zonder het register te wijzigen. Omgekeerd kan het register op schoolniveau evolueren (vakken of docenten verwijderen) zonder de roosters uit het verleden te breken. Hieronder wordt elk soort verband uitgewerkt. #### Het schooljaar: het tijdskader Het **schooljaar** legt een bereik `begindatum → einddatum` vast en de lijst met vakanties (zie [Schooljaar](#page-core-concepts.school-year)). Het “bevat” de roosters niet rechtstreeks: het zijn de roosters die zich **ontvouwen** over weken (weekmodus / cyclische modus) of over data (kalendermodus) die tot een schooljaar behoren. Dat maakt verschillende opzetten mogelijk: - **Eén enkel rooster per schooljaar** (het standaardgeval): het rooster dekt alle werkweken van het jaar. - **Meerdere opeenvolgende roosters** binnen hetzelfde jaar: bijvoorbeeld één rooster per trimester, die het op de omschakeldatums van elkaar overnemen. - **Meerdere roosters naast elkaar** over dezelfde periode (functie inbegrepen in Premium; op sommige Standard-accounts kan ze binnen een passende contractuele afspraak worden ingeschakeld), bijvoorbeeld: - een rooster voor de terugkerende gemeenschappelijke basis - een kalenderrooster voor de masterclasses, samengevoegd bij het raadplegen. Zie [Meerdere actieve roosters naast elkaar](#page-timetables.multiple-active-timetables). Het schooljaar blijft dus een kader — geen container. Past u de grenzen of de vakanties ervan aan, dan wordt de kalender bijgewerkt die de eraan gekoppelde roosters gebruiken, zonder dat hun inhoud verandert. #### De vakken: van de catalogus van de school naar de lessen van een klas ```mermaid flowchart TD CatM["Vakkencatalogus
bv. Wiskunde"] CatT["Lestypes
bv. Hoorcollege, Werkcollege, Practicum"] Classe["Klas in het rooster
bv. 4A"] Prof["Docenten van het rooster
bv. mevr. Jansen"] MC["Vak van de klas (= cursus)
Wiskunde [Werkcollege]
aantal lesuren, docenten,
beperkingen, gespecialiseerd lokaal"] S["Lessen
duur, datum/tijdslot,
eventuele groep, lokaal,
docent(en)"] CatM -->|gekozen vak| MC CatT -->|eventueel type| MC Classe -->|betrokken klas| MC Prof -->|toegewezen docenten| MC MC -->|dient om te maken| S Prof -->|kan bijgesteld worden op| S ``` ##### Niveau 1 — De catalogus in de module Beheer Op schoolniveau bestaan er twee herkomsten naast elkaar: - **Gemeenschappelijke vakken**: het register van Omniscol voor het ingestelde land (officiële codes, genormeerde labels). Die catalogus is alleen-lezen voor de school. - **Aangepaste vakken**: wat de school zelf aanmaakt, beheerd vanaf [het scherm Vakken](#page-admin.subjects). Elk aangepast vak heeft een naam, een (korte) code en optioneel: een korte naam, een eigen kleur, een bovenliggend vak, een familie. Die catalogus zegt niets over de klassen die deze vakken onderwijzen — hij zegt alleen dat ze bestaan. De vakkenfamilies kunnen eveneens uit een per land gedeeld register komen, alleen-lezen, of uit een aangepast register dat eigen is aan de school. ##### Niveau 2 — Toewijzing aan een klas (met of zonder type) Wanneer u in een rooster **een vak aan een klas toewijst**, wordt er in de klas een **lokale kopie** van het vak aangemaakt, verrijkt met velden die eigen zijn aan de planning (beoogd aantal lesuren, pedagogisch gewicht, incompatibiliteiten, standaarddocenten, specialisatie van het lokaal…). Wijst u het vak toe **met een lestype** (`Hoorcollege`, `Werkcollege`, `Practicum`, `Examen` — zie [Lestypes](#page-admin.lesson-types)), dan maakt elk type een **afzonderlijke vermelding** in de klas: | Vak in de klas | Herkomst | Type | | --- | --- | --- | | Wiskunde | Wiskunde | geen | | Wiskunde [Hoorcollege] | Wiskunde | Hoorcollege | | Wiskunde [Werkcollege] | Wiskunde | Werkcollege | Dat is bewust zo: elke variant (Wiskunde hoorcollege, Wiskunde werkcollege) wordt een afzonderlijke lokale kopie, met een eigen aantal lesuren, eigen docenten en eigen incompatibiliteiten. Het verband met de catalogus is geen harde afhankelijkheid: de lokale kopie bewaart de herkomst van het vak zolang dat nog in de catalogus bestaat. Wordt het vak uit de catalogus verwijderd, dan blijven de lokale kopieën in de roosters geldig. ##### Niveau 3 — Van de instellingen van een cursus naar de lessen Wat men in Omniscol gewoonlijk een [cursus](#page-glossary.course) noemt, komt doorgaans overeen met een vak dat aan een klas is toegewezen, eventueel gekoppeld aan een lestype (hoorcollege, werkcollege, practicum…), en daarna verrijkt met planningsgegevens: aantal lesuren, docenten, groepen, plaatsingsbeperkingen, lokalen of resources. Die definitie geeft aan wat er ingepland moet worden. De **lessen** zijn de voorkomens die daadwerkelijk in het rooster worden geplaatst, in een bepaalde week of op een bepaalde datum. Voorbeeld: een vak van een klas zoals **Wiskunde [Werkcollege]** kan het aantal lesuren, de docenten, de groepen, de plaatsingsbeperkingen en de voorkeuren voor het lokaal vastleggen. De lessen worden vervolgens vanuit die definitie aangemaakt. Zie [Cursussen, lessen, lestypes](#page-core-concepts.lessons-and-types). #### De docenten: schoolregister → verrijkte kopie in het rooster ```mermaid flowchart LR U["Gebruiker (module Beheer)
rol teacher
naam · inlognaam · e-mail · globale beschikbaarheid"] Aff{Toewijzing aan een rooster} T["Docent in het rooster
naam (gekopieerd) · idnumber
diensturen (gekopieerd, overschrijfbaar)
beschikbaarheid eigen aan het rooster · voorkeurslokaal"] Se["Toegewezen lessen"] U --> Aff Aff -->|verrijkte gedeeltelijke kopie| T T --> Se ``` ##### De docent op schoolniveau Op schoolniveau is een docent een **gebruiker** met de rol `teacher` (dezelfde gebruiker kan meerdere rollen combineren — zie [Gebruikers en rollen](#page-admin.users-and-roles)). De fiche wordt beheerd vanaf [het scherm Docenten](#page-admin.teachers) en bevat de duurzame identificerende gegevens: achternaam, voornaam, inlognaam, e-mailadres, identificatienummer, en ook de **globale beschikbaarheid** (terugkerend) en de diensturen ter referentie. ##### De docent die aan een rooster is toegewezen Wanneer u die docent aan een rooster toewijst, maakt Omniscol daarin een **verrijkte gedeeltelijke kopie** aan. De kopie neemt slechts een selectie velden uit het schoolregister over en voegt daar velden aan toe die eigen zijn aan de planning: | Veld | Schoolniveau (register) | Roosterniveau (kopie) | | --- | --- | --- | | Identificatie | de identificatie van de gebruiker | identiek (impliciete koppeling) | | Achternaam, voornaam, tweede voornaam | bron | gekopieerd bij de toewijzing | | Identificatienummer | bron | gekopieerd bij de toewijzing | | E-mail, telefoon, inlognaam | bron | **niet gekopieerd** (blijft alleen in de module Beheer) | | Diensturen ter referentie | bron | gekopieerd, **overschrijfbaar per rooster** | | Voorkeurslokaal | niet beheerd in het register | eigen aan het rooster | | Beschikbaarheid | de “globale beschikbaarheid” van de gebruiker | terugkerende modus: lokale kopie, goedgekeurd of versoepeld; kalendermodus: gedeelde bron, te raadplegen en te wijzigen vanuit Beheer of vanuit de betrokken roosters | Die tweedeling is belangrijk: **dezelfde docent** kan **andere diensturen** hebben naargelang het geplande bereik, of op een bepaald moment een **ander voorkeurslokaal** (bijvoorbeeld wegens tijdelijke arbeidsongeschiktheid). Voor de beschikbaarheid hangt de logica af van de planningsmodus: - in de terugkerende modus doorloopt de beschikbaarheid die de docent invoert een fase van goedkeuring door de beheerders. Ze kan lokaal in het rooster worden aangepast, bijvoorbeeld door een strikte onbeschikbaarheid om te zetten in een niet-gewenst tijdslot; - in de kalendermodus geldt de beschikbaarheid van de docent als één enkele bron van waarheid, met name voor gastdocenten. Ze kan worden geraadpleegd en gewijzigd vanuit de gebruikersfiche of vanuit elk kalenderrooster waaraan de docent is toegewezen. In beide gevallen blijven bepaalde parameters eigen aan het rooster en kunnen ze die beschikbaarheid lokaal verrijken. ##### Virtuele docenten Een variant: u kunt in een rooster een **virtuele docent** aanmaken — een nog in te vullen functie, zonder echte gebruiker erachter (“de toekomstige wiskundedocent”). Die heeft geen tegenhanger op schoolniveau. Zodra de functie is ingevuld, kunt u die virtuele docent vervangen door een echte docentgebruiker (zie [Docenten aan een rooster toewijzen](#page-timetables.assigning-teachers)). #### Het principe van de lokale kopie, samengevat Dezelfde logica geldt voor de vakken in een klas en voor de docenten in een rooster: **op het moment van de toewijzing wordt er een lokale kopie aangemaakt**, en het is die lokale kopie die de velden bevat die eigen zijn aan het rooster. Waarom die ontwerpkeuze: - **Onafhankelijkheid in de tijd.** Een rooster dat vorig jaar is afgesloten, mag niet veranderen wanneer u dit jaar een vak of een docent hernoemt. De lokale kopieën waarborgen de **historische integriteit**: wat gepland was, blijft precies zoals het toen was. - **Contextuele verrijking.** Een docent heeft niet dezelfde beschikbaarheid en niet dezelfde diensturen naargelang het geplande bereik; een vak heeft niet hetzelfde gewicht en niet dezelfde incompatibiliteiten naargelang de klas die het onderwijst. De lokale kopie is de natuurlijke plek voor die verschillen. - **Opschonen zonder breuk.** Een vak op schoolniveau verwijderen of herzien wist de roosters die het gebruikten niet — hun lokale kopieën blijven geldig. Daar staat tegenover dat hernoemingen aan schoolzijde zich niet stilzwijgend overal doorzetten. Dat is het onderwerp van de volgende sectie. #### Praktische gevolgen: hernoemingen, verwijderingen, geschiedenis Wanneer u een entiteit op schoolniveau wijzigt, past Omniscol een duidelijke doorwerkingsregel toe: | Actie op schoolniveau | Roosters uit het verleden (afgesloten) | Lopende / toekomstige roosters | | --- | --- | --- | | Een aangepast vak hernoemen (naam, korte code, code) | **Ongewijzigd** — geschiedenis behouden | Naam doorgevoerd in de bijbehorende lokale kopieën | | De kleur van een aangepast vak wijzigen | **Ongewijzigd** | Kleur bijgewerkt als de vorige kleur niet lokaal was overschreven | | Een docent hernoemen (achternaam, voornaam) | **Ongewijzigd** | Naam doorgevoerd in de lokale kopieën | | Het e-mailadres of het telefoonnummer van een docent wijzigen | Zonder gevolg (niet gekopieerd) | Zonder gevolg (niet gekopieerd) | | De globale beschikbaarheid van een docent wijzigen | Zonder gevolg | Terugkerende modus: melding van bijwerking als de beschikbaarheid al was goedgekeurd; kalendermodus: bijwerking van de gedeelde bron van de beschikbaarheid | | Een aangepast vak verwijderen | Lokale kopieën behouden | Lokale kopieën behouden; het vak verdwijnt alleen uit de catalogus | | De rol `teacher` van een gebruiker uitschakelen | Ongewijzigd | De kopieën in de roosters blijven staan | Het onderscheid tussen “verleden” en “lopend of toekomstig” wordt gemaakt ten opzichte van de **datum van vandaag**: een gepubliceerd rooster waarvan de laatste actieve week vóór vandaag ligt, geldt als verleden en wordt niet meer door hernoemingen gewijzigd. ##### Wanneer u wijzigingen handmatig moet doorvoeren De automatische doorwerking blijft **bewust smal**: naam, code en kleur van de vakken; naam en identificatie van de docenten. De naam en de code van een lokaal gekopieerd vak veranderen niet in het rooster; alleen de kleur ervan kan lokaal opnieuw worden bepaald. De andere velden (incompatibiliteiten, pedagogisch gewicht, diensturen, beschikbaarheid per rooster…) worden niet gesynchroniseerd, omdat ze **van nature eigen zijn aan het rooster**. Moet een ingrijpender wijziging op meerdere bestaande roosters worden toegepast (bijvoorbeeld: de diensturen van een docent op alle actieve roosters herzien, of overal een nieuwe incompatibiliteit van een vak toevoegen), dan moet u rooster per rooster ingrijpen. Voor massale bewerkingen blijft het snelste hulpmiddel het **importeren met kopiëren en plakken vanuit een spreadsheet** op het betreffende scherm van elk rooster. #### Zie ook - [Schooljaar](#page-core-concepts.school-year) - [Klas, groep, subgroep](#page-core-concepts.classes-and-groups) - [Cursus (definitie in de woordenlijst)](#page-glossary.course) - [Cursussen, lessen, lestypes](#page-core-concepts.lessons-and-types) - [Vakken beheren](#page-admin.subjects) - [Docenten beheren](#page-admin.teachers) - [Lestypes](#page-admin.lesson-types) - [Overzicht van de module Roosterbeheer](#page-timetables.overview) ### 2.2 Klas, groep, subgroep *Source: `help/nl/core-concepts/classes-and-groups.md` · id: core-concepts.classes-and-groups · Updated: 2026-05-20* Klassen zijn verzamelingen van verschillende leerlingen die hetzelfde onderwijstraject delen en hun lessen doorgaans samen volgen (dezelfde vakken, docenten en lokalen), met als enige uitzondering de opdeling in groepen, dat wil zeggen op maat gemaakte deelverzamelingen met een licht aangepast traject (opdeling naar keuzevakken, niveau, geslacht, alfabetische volgorde…). Verschillende klassen hebben nooit leerlingen gemeen. In Omniscol vertrekt u altijd vanuit de **klas** en maakt u daarbinnen **groepen** aan zodra niet de hele klas dezelfde les volgt. **Subgroepen** verfijnen die opdeling wanneer een groep zelf onderverdeeld moet worden: een groep die in een ouder-kindrelatie aan een andere groep hangt, wordt een subgroep. De begrippen **klasverdeling**, **groepsuitlijning** en **groep van groepen** zijn geen extra niveaus in de hiërarchie. Het zijn manieren om groepen te organiseren of met elkaar te verbinden, afhankelijk van de situatie. #### Overzicht ```mermaid %%{init: {"flowchart": {"defaultRenderer": "elk"}}}%% flowchart TB subgraph C1["Klas 3A"] direction TB A1["Groep Spaans"] A2["Groep Duits"] P["Groep Practicum A"] Q["Groep Practicum B"] P1["Subgroep Practicum A1"] P2["Subgroep Practicum A2"] P --> P1 P --> P2 end subgraph C2["Klas 3B"] direction TB B1["Groep Duits"] B2["Groep Italiaans"] B4["Groep Techniek 1 (20 leerlingen)"] B5["Groep Techniek 2 (10 leerlingen)"] B3["Groep Latijn"] end subgraph C3["Klas 3C"] direction TB C4G["Groep Spaans"] C5G["Groep Italiaans"] C2G["Groep Techniek 1 (20 leerlingen)"] C3G["Groep Techniek 2 (10 leerlingen)"] C1G["Groep Latijn"] end A1 -. "klasverdeling" .- A2 P -. "klasverdeling" .- Q B1 -. "klasverdeling" .- B2 B4 -. "klasverdeling" .- B5 C2G -. "klasverdeling" .- C3G C4G -. "klasverdeling" .- C5G A2 <== "groepsuitlijning" ==> B1 B5 <== "groepsuitlijning" ==> C3G B3 <== "groepsuitlijning" ==> 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 ``` Zo leest u het schema: - een **klas** bevat groepen; - een **groep** kan **subgroepen** bevatten; - een **klasverdeling** organiseert groepen van dezelfde klas die de leerlingen onder elkaar verdelen; - een **groepsuitlijning** verbindt groepen uit verschillende klassen voor één gezamenlijke les; - een **groep van groepen** dient om een expliciete en herbruikbare groepering op te bouwen, vooral wanneer die groepering nog kan wijzigen. Op dit schema ziet u meerdere klassen met meerdere groepen, sommige in een klasverdeling, andere uitgelijnd, soms allebei. Bij de tweede moderne vreemde taal sluiten de keuzes elkaar uit: een leerling volgt ofwel de les Duits, ofwel Spaans, ofwel Italiaans. Daarom worden de verschillende taalkeuzes als klasverdeling opgegeven: zo kunnen ze gelijktijdig worden ingepland (op voorwaarde dat verschillende docenten elk van de talen geven). In 3A en 3B zitten weinig leerlingen bij Duits: die brengt u dus samen zodat zij dezelfde lessen volgen — dat is het doel van de groepsuitlijning; de lessen worden in elke klas in spiegelbeeld aangemaakt, zodat ze gelijktijdig worden ingepland. Hetzelfde geldt voor de Latijnleerlingen van 3B en 3C. Dit schema toont ook een klassiek patroon uit het voortgezet onderwijs, de **“3 groepen over 2 klassen”**: de klassen 3B en 3C zijn elk met een klasverdeling opgedeeld in Techniek 1 (20 leerlingen) en Techniek 2 (10 leerlingen). Door beide groepen Techniek 2 **uit te lijnen** brengt de school de twee kleine groepen samen en houdt zij nog maar **drie lessen techniek** over in plaats van vier — allemaal met een vergelijkbare bezetting (20 leerlingen), en met één docent en één lokaal minder om in te zetten. #### Klas: het basisniveau Een [klas](#page-glossary.class) is standaard de referentie-eenheid. Afhankelijk van de context kan zij staan voor: - een schoolklas, - een jaargang, - een cohort, - een sessie, - een leertraject. Wanneer een les **de hele klas** betreft, is er geen extra groep nodig: de les wordt gewoon aan de klas gekoppeld. #### Groep: onderverdeling van een klas Een [groep](#page-glossary.group) is altijd een **onderverdeling van één en dezelfde klas**. Al zijn leerlingen blijven leerlingen van de bovenliggende klas. Klassieke voorbeelden: - `Groep A` / `Groep B` voor een alfabetische verdeling; - `Practicum A` / `Practicum B` voor practica in halve groepen; - `Spaans` / `Duits` / `Italiaans` voor elkaar uitsluitende keuzes binnen de tweede moderne vreemde taal; - `Engels verdiept` / `Engels standaard` / `Engels basis` als de school met niveaugroepen werkt; - `Jongens` / `Meisjes` in contexten waar die opdeling bestaat; - `Elective Marketing`, `Elective Finance`, `Elective Data` in een keuzevakkenpakket in het hoger onderwijs. **Sterke aanbeveling**: maak één groep per duidelijk didactisch doel aan, ook al zijn de leerlingen soms dezelfde. Zo werkt u beter met `Latijn` en `Grieks` dan met hergebruik van een generieke groep `Keuzevakken`. Anders worden het lezen van de roosters, de diagnoses en de klasoverstijgende groeperingen al snel dubbelzinnig. > _Premium_ #### Subgroep: onderverdeling van een groep Een **subgroep** is een kindgroep die aan een oudergroep hangt. Voorbeeld: - de klas wordt gesplitst in `Practicum A` en `Practicum B`; - vervolgens wordt `Practicum A` zelf opgedeeld in `Practicum A1` en `Practicum A2` voor fijnere rotaties. ```mermaid flowchart TD C["Klas mbo 1"] A["Practicum A"] B["Practicum B"] A1["Practicum A1"] A2["Practicum A2"] B1["Practicum B1"] B2["Practicum B2"] B3["Practicum B3"] C --> A C --> B A --> A1 A --> A2 B --> B1 B --> B2 B --> B3 ``` Belangrijke gevolgen: - subgroepen blijven binnen het bereik van de klas; - zij erven de logica van hun oudergroep; - zij zijn nuttig wanneer u meerdere niveaus van onderverdeling hebt; - zij hebben alleen zin als de structuur leesbaar blijft. Subgroepen zijn zeer handig wanneer u ze ook met klasverdelingen gebruikt: - groepen A en B in een klasverdeling; - groepen A1 en A2 in een klasverdeling; - groepen B1, B2 en B3 in een klasverdeling. Automatisch zitten A1 en B3 dan in een klasverdeling, net als A2 en B1, enzovoort. Die relatie wordt afgeleid uit de dubbele logica van klasverdelingen en ouder-kindrelaties. Subgroepen zijn groepen die u met slepen en neerzetten op een oudergroep hebt geplaatst. De pagina [Groepshiërarchie](#page-core-concepts.group-hierarchy) gaat dieper in op de geavanceerde toepassingen: overgeërfde klasverdelingen, overgeërfde beperkingen en tijdmaskers. #### Klasverdeling: één klas opdelen in elkaar uitsluitende groepen Een [klasverdeling](#page-glossary.class-division) gebruikt u tussen groepen van **dezelfde klas** wanneer de leerlingen zich over meerdere elkaar uitsluitende groepen verdelen. Omdat Omniscol onder beperkingen plant, geldt voor groepen standaard dat zij mogelijk ten minste één leerling gemeen hebben: door een klasverdeling tussen groepen op te geven, heft u die beperking op. Groepen uit dezelfde klasverdeling staan uitdrukkelijk niet met elkaar in conflict. Onthoud vooral dit: - elke leerling mag tot **slechts één (of geen enkele)** groep van de klasverdeling behoren; - die groepen kunnen dan parallel verschillende lessen dragen; - Omniscol weet dat het niet om een leerlingconflict gaat. Voorbeelden: - `Practicum A` en `Practicum B` doen op hetzelfde moment twee verschillende practica; - `Spaans`, `Duits` en `Italiaans` delen hetzelfde tijdslot voor keuzevakken; - `Groep A` en `Groep B` wisselen gelijktijdige activiteiten af in twee lokalen; - `Engels verdiept`, `Engels standaard` en `Engels basis` volgen parallel drie verschillende lessen. ```mermaid flowchart LR subgraph CL["Klas 2B"] E["Spaans"] A["Duits"] I["Italiaans"] end E -. "klasverdeling" .- A A -. "klasverdeling" .- I E -. "klasverdeling" .- I ``` Binnen één klas is de klasverdeling dus het juiste hulpmiddel wanneer u wilt zeggen: “deze groepen verdelen de leerlingen onder elkaar, ze mogen parallel worden geplaatst”. Let op: Omniscol kent een optionele werkwijze waarbij de leerlingen op het niveau van de roosters rechtstreeks in de klassen en groepen worden geplaatst. In dat geval kunnen de klasverdelingen automatisch worden afgeleid (geen enkele overlap van leerlingen tussen groepen = klasverdeling). ##### Subgroepen en klasverdeling Met subgroepen plant de logica van de klasverdeling zich voort langs de hiërarchie. Zitten `Practicum A` en `Practicum B` in een klasverdeling, dan erven de subgroepen van `Practicum A` en die van `Practicum B` die scheiding tussen de takken. Voorbeeld: - `Practicum A` en `Practicum B` zitten in een klasverdeling; - `Practicum A1` en `Practicum A2` zijn subgroepen van `Practicum A`. Omniscol weet dan dat een les op `Practicum A1` niet in conflict komt met een les op `Practicum B`, zonder dat u elke combinatie met de hand opnieuw moet opgeven. Wilt u `Practicum A` daarentegen onderverdelen in meerdere takken die op hun beurt de leerlingen onder elkaar verdelen, dan moet u die onderverdeling uitdrukkelijk in de hiërarchie vastleggen en zo nodig ook haar eigen klasverdeling. #### Groepsuitlijning: één gezamenlijke les over meerdere klassen Een [groepsuitlijning](#page-glossary.alignment) gebruikt u wanneer meerdere groepen uit **verschillende klassen** in werkelijkheid **dezelfde les** volgen, op **hetzelfde tijdslot**, met **dezelfde docent** en in **hetzelfde lokaal**. Klassiek voorbeeld: de groepen `Latijn` van `4A`, `4B` en `4C` hebben één gezamenlijke les Latijn. ```mermaid flowchart LR subgraph A["Klas 4A"] GA["Latijn"] end subgraph B["Klas 4B"] GB["Latijn"] end subgraph C["Klas 4C"] GC["Latijn"] end LESSON["Eén gezamenlijke les Latijn"] GA --> LESSON GB --> LESSON GC --> LESSON ``` De groepsuitlijning is heel nuttig voor klasoverstijgende keuzevakken of electives, maar zij is strakker dan een gewone groep: alles wat is uitgelijnd, leeft samen. Belangrijke voorwaarde: het moet in de betrokken klassen om **hetzelfde vak** gaan. Met andere woorden: wilt u één gezamenlijke les over meerdere klassen, dan moeten die klassen het vak dat die les gebruikt daadwerkelijk delen. Voorbeeld: - `Marketing` gedeeld door meerdere klassen: ja; - `Marketing B3` in de ene klas en `Marketing M1 keuzevak` in de andere: nee, niet als dat twee verschillende vakken zijn in de structuur van het rooster. In het hoger onderwijs leidt dat er vaak toe dat u vakken vermijdt die te specifiek zijn voor één opleiding, zodra u weet dat er gedeelde lessen komen. Voorzie liever een gemeenschappelijk vak voor de klassen die lessen moeten delen. Groepsuitlijningen passen beter bij het voortgezet onderwijs: u maakt lessen in spiegelbeeld aan en legt de logica van de dynamische groepering vast. Het nadeel is dat u dat spiegelbeeld moet respecteren: u moet evenveel lessen aanmaken als er groepen in de uitlijning zitten, met in elke klas de juiste groepen toegewezen, en alles moet symmetrisch zijn: docent(en), lokaal, resources, enzovoort. Wordt een les met een groep uit een uitlijning geplaatst, dan moet in elke klas een spiegelles te vinden zijn, met de bijbehorende uitgelijnde groep. Het voordeel is dat u met uitlijningen complexe lessen kunt opzetten. Zo kunt u in week A één gezamenlijke les Latijn hebben en in elke klas een andere, niet-gegroepeerde les. Wegen die voordelen niet op tegen deze beperkingen, overweeg dan liever groepen van groepen. #### Groep van groepen: expliciete en aanpasbare groepering De [groep van groepen](#page-glossary.groups-of-groups) dient om meerdere groepen te bundelen in een benoemde, aanpasbare en herbruikbare groepering. De groep van groepen gebruikt u vervolgens als elke andere groep. Hij is bijzonder nuttig: - in het hoger onderwijs en het volwassenenonderwijs; - wanneer de samenstelling van een groepering kan wijzigen; - wanneer u een leesbare en traceerbare structuur wilt behouden. Voorbeeld: een gezamenlijk seminar brengt studenten uit `M1 Marketing`, `M1 Finance` en `Elective Data` samen. De lessen worden met de groep van groepen ingepland; later sluit een vierde groep zich aan: u voegt hem eenvoudigweg toe aan de groep van groepen, en alle lessen worden aan hem gekoppeld. Net als bij de uitlijningen moeten de gezamenlijke lessen op een **gemeenschappelijk vak** tussen de betrokken klassen berusten. De groep van groepen brengt de doelgroepen samen; hij vervangt niet de samenhang van het vak dat voor de les wordt gebruikt. Moet u **hele klassen** samenbrengen, maak dan eerst in elke klas een groep aan die die hele klas voorstelt, en gebruik daarna die groepen in de uitlijning of in de groep van groepen. Klassen worden nooit rechtstreeks uitgelijnd zonder via groepen te gaan. #### Meerdere groepen rechtstreeks aan een les toewijzen U kunt **meerdere groepen rechtstreeks aan een les** toewijzen, zonder vooraf een benoemde groep van groepen aan te maken. Dat is nuttig: - voor een eenmalige behoefte; - om snel een groepering uit te proberen; - voor een uitzonderlijke les die geen eigen structuur rechtvaardigt. Maar als structurele modellering is het niet de beste keuze: - op termijn is het minder leesbaar; - het is minder traceerbaar dan een benoemde groepering; - het wordt lastiger om de didactische bedoeling te begrijpen als dit patroon zich vaak herhaalt. In de praktijk: - voor duurzaam gebruik verdient een expliciete **groep van groepen** de voorkeur; - voor een eenmalige behoefte is de rechtstreekse toewijzing van meerdere groepen zeer handig. ```mermaid flowchart LR subgraph X["Bestaande groepen"] G1["M1 Marketing - Elective Data"] G2["M1 Finance - Elective Data"] G3["M2 Controlling - Elective Data"] end S["Eenmalige les Data"] G1 --> S G2 --> S G3 --> S ``` Vermijd daarentegen om binnen één les een **oudergroep** en een van zijn **subgroepen** te mengen: dat is meestal geen zuivere modellering van de betrokken doelgroep. #### Overzichtstabel | Begrip | Bereik | Waarvoor het dient | Voorbeeld | | --- | --- | --- | --- | | [**Klas**](#page-glossary.class) | Referentiegeheel | De lessen dragen die iedereen volgt | `1A`, `mbo 1`, `M1 Marketing` | | [**Groep**](#page-glossary.group) | Onderverdeling van een klas | Een deelverzameling leerlingen afzonderen | `Practicum A`, `Latijn`, `Spaans` | | [**Subgroep**](#page-core-concepts.group-hierarchy) | Onderverdeling van een groep | Een reeds opgedeelde organisatie verfijnen | `Practicum A1`, `Practicum A2` | | [**Klasverdeling**](#page-glossary.class-division) | Groepen van dezelfde klas | Elkaar uitsluitende groepen leerlingen over parallelle lessen verdelen | `Practicum A` / `Practicum B`, `Duits` / `Spaans` | | [**Groepsuitlijning**](#page-glossary.alignment) | Groepen uit verschillende klassen | Eén gezamenlijke les laten volgen | `Latijn` uit meerdere klassen | | [**Groep van groepen**](#page-glossary.groups-of-groups) | Meerdere groepen, dezelfde of verschillende klassen | Een expliciete en aanpasbare groepering opbouwen | Gezamenlijk seminar over meerdere opleidingen | | **Multigroepen** | Meerdere groepen, dezelfde of verschillende klassen | Dynamische toewijzing van meerdere groepen, ter plekke | Eenmalige les voor uiteenlopende doelgroepen | | [**Vrije groep**](#page-glossary.free-group) | Open samenstelling | Niet-vaste inschrijvingen beheren | Workshop, club, open activiteit | #### Zie ook - [Klasverdelingen](#page-core-concepts.class-divisions) - [Groepsuitlijningen](#page-core-concepts.alignments) - [Groepen van groepen](#page-core-concepts.groups-of-groups) - [Groepshiërarchie](#page-core-concepts.group-hierarchy) - [Vrije groepen](#page-core-concepts.free-groups) - [Praktijkgevallen hoger onderwijs](#page-faq.higher-ed-cases) ### 2.3 Klasverdelingen *Source: `help/nl/core-concepts/class-divisions.md` · id: core-concepts.class-divisions · Updated: 2026-05-20* Een **klasverdeling** geeft aan de roostergeneratie door dat meerdere [groepen](#page-glossary.group) uit dezelfde [klas](#page-glossary.class) op **hetzelfde tijdslot** les kunnen hebben zonder in conflict te komen — omdat geen enkele leerling tot meer dan één van die groepen behoort. #### Waarom dit nodig is — de filosofie “alles is standaard een conflict” Omniscol is planningssoftware die werkt **onder beperkingen**. Rechtstreeks gevolg: **alles wat een conflict kan opleveren, wordt standaard ook als conflict behandeld**, tenzij de gebruiker uitdrukkelijk anders aangeeft. - Tussen **twee verschillende klassen**: er wordt aangenomen dat er geen gemeenschappelijke leerlingen zijn, dus valt er geen conflict te melden. (Klasoverstijgende of gedeelde lessen modelleert u apart via [groepsuitlijningen](#page-core-concepts.alignments) of via [groepen van groepen](#page-core-concepts.groups-of-groups).) - Binnen **één en dezelfde klas** heeft de roostergeneratie **geen enkele logische manier** om te raden welke groepen op hetzelfde tijdslot naast elkaar kunnen bestaan zonder elkaar te overlappen. Zij beschouwt twee groepen van dezelfde klas daarom als groepen die **mogelijk gemeenschappelijke leerlingen hebben**. Zonder aangegeven klasverdeling levert het inplannen van twee lessen op hetzelfde tijdslot voor twee groepen van dezelfde klas een conflict op. Het is aan de roostermaker om **aan de roostergeneratie door te geven**: “deze groepen sluiten elkaar uit, ze mogen gelijktijdig worden ingepland”. De klasverdeling is precies die mededeling. De roostergeneratie probeert de lessen van groepen in een klasverdeling zo veel mogelijk gelijktijdig te plaatsen, maar dat lukt niet altijd door andere beperkingen (tekort aan lokalen, onverenigbare tijdsbeperkingen tussen docenten of vakken, een gedeelde entiteit zoals een gespecialiseerd lokaal of een docent die meer dan één van die lessen geeft). In dat geval stelt de roostergeneratie vast dat een deel van de klas geen les heeft en past zij een evenredige strafscore toe (standaardoptie: tussenuren voor leerlingen beperken), waardoor die lessen helemaal aan het begin of helemaal aan het eind van de dag komen te staan, of zo mogelijk tijdens de middagpauze. #### Typische toepassingen - **Halve klassen op alfabet**: groep A en groep B (op alfabetische volgorde of door loting) — een leerling zit in de ene OF in de andere, nooit in allebei. - **Halve klassen op niveau**: de groepen Engels verdiept en Engels standaard; een leerling zit in de ene OF in de andere. - **Halve klassen op geslacht** (een bijzonder geval op sommige scholen, bijvoorbeeld voor lichamelijke opvoeding). - **Elkaar uitsluitende keuzevakken**: Duits, Spaans of Italiaans als tweede moderne vreemde taal — een leerling kiest **maar één** van de drie talen. - **Blokken met gelijktijdige keuzevakken**: een waaier aan keuzevakken waarbij de school besluit alle opties op hetzelfde geblokkeerde tijdslot te plannen (`vrijdag 14.00–16.00 uur = keuzevakkenblok`), en de leerlingen hun keuzevak uit dat blok kiezen — allemaal elkaar uitsluitend in de zin van “een leerling volgt maar één keuzevak”. - **Practica in halve groepen**: Practicum A en Practicum B op hetzelfde tijdslot, in twee verschillende lokalen en met twee docenten. #### Aanmaken Stappen: 1. Ga naar de groepenpagina van een klas (tabblad Groepen). 2. Selecteer de betrokken groepen. 3. Klik op Een klasverdeling toevoegen. 4. Bevestig. In één klas kunnen meerdere klasverdelingen naast elkaar bestaan: één voor de practica bij de bètavakken (Practicum A, Practicum B), één voor de talen (Duits, Spaans), één voor de profielvakken (Filosofie, Geschiedenis, Wiskunde). Elke klasverdeling staat los van de andere. Zit een groep in een klasverdeling, dan verschijnt hij op alle betrokken schermen met een pictogram [link-slash]. #### Standaardbeveiliging: één groep in één enkele klasverdeling Standaard past de interface een eenvoudige beveiliging toe: een groep hoort bij slechts één klasverdeling. Dat is het meest voorkomende geval en het voorkomt veel fouten. Dat filter kan echter worden opgeheven wanneer de werkelijke samenstelling van de leerlingengroepen daar aanleiding toe geeft. Voorbeeld: - alleen de leerlingen van `Duits` volgen ook `Latijn`; - de leerlingen van `Spaans` volgen geen `Latijn`. U kunt dan het volgende aanmaken: - een klasverdeling `Duits` / `Spaans`; - een klasverdeling `Latijn` / `Spaans`. Zo krijgt de roostergeneratie meer vrijheid om bepaalde lessen gelijktijdig te plaatsen en zo de tussenuren voor een deel van de klas te beperken. Ga hier nauwgezet mee om: u moet de werkelijke verdeling van de leerlingen volledig in de hand hebben. #### Geldigheidscriterium **Geen enkele leerling mag tot twee groepen van dezelfde klasverdeling behoren.** Dat is de wiskundige definitie van een partitie — de verzamelingen zijn disjunct. Staat een leerling in twee groepen van dezelfde klasverdeling, dan geeft Omniscol een consistentiewaarschuwing (de roostergeneratie kan die leerling niet op twee plaatsen tegelijk inplannen). #### Gevolg voor het algoritme Met een aangegeven klasverdeling doet de roostergeneratie het volgende: - zij **staat toe** dat de groepen van de klasverdeling gelijktijdig worden ingepland (wat anders een conflict zou zijn), - zij **controleert de overige resources nog steeds**: er zijn evenveel verschillende lokalen nodig als er gelijktijdige groepen zijn, en evenveel verschillende docenten. De klasverdeling heft alleen het conflict tussen leerlingen op — niet de conflicten rond lokaal of docent, die streng blijven. #### Veelgemaakte fout — drie lessen op hetzelfde tijdslot in één klas Wilt u **drie verschillende gelijktijdige lessen** in één klas (filosofie, geschiedenis, wiskunde) omdat uw leerlingen elkaar uitsluitende keuzevakken hebben, maak dan **drie groepen** aan (Filosofie, Geschiedenis, Wiskunde) en breng die onder in een klasverdeling. Geen drie lessen zonder groep — anders heeft de roostergeneratie geen enkele informatie over de gelijktijdigheidseisen en worden ze elk afzonderlijk geplaatst, op verschillende tijdstippen. #### Verschil met andere constructies | U wilt… | Gebruik | | --- | --- | | Meerdere groepen uit **dezelfde klas** op hetzelfde tijdslot (verschillende lessen, geen gemeenschappelijke leerlingen) | **Klasverdeling** (deze pagina) | | Meerdere groepen uit **verschillende klassen** op hetzelfde tijdslot (dezelfde les, dezelfde docent, hetzelfde lokaal) via een logica die eenvoudige groepen koppelt | [Groepsuitlijning](#page-core-concepts.alignments) | | Hetzelfde als een uitlijning, maar achteraf eenvoudig aan te passen, door een zelfstandige groeperingsentiteit aan te maken | [Groep van groepen](#page-core-concepts.groups-of-groups) | | Een groep met een niet-vaste samenstelling (workshop, vrije inschrijving) | [Vrije groep](#page-core-concepts.free-groups) | #### Zie ook - [Klas, groep, subgroep](#page-core-concepts.classes-and-groups) - [Groepsuitlijningen](#page-core-concepts.alignments) - [Groepen van groepen](#page-core-concepts.groups-of-groups) - [Vrije groepen](#page-core-concepts.free-groups) - [Klasverdeling](#page-glossary.class-division) ### 2.4 Groepsuitlijningen *Source: `help/nl/core-concepts/alignments.md` · id: core-concepts.alignments · Updated: 2026-05-20* Een **groepsuitlijning** verbindt meerdere [groepen](#page-glossary.group) die tot **verschillende klassen** behoren: zij moeten **dezelfde les** volgen, op **hetzelfde tijdslot**, in **hetzelfde lokaal**, met **dezelfde docent**. Belangrijke voorwaarde: die uitlijning moet in de verschillende klassen op **hetzelfde vak** berusten. Gaat het in twee klassen om verschillende vakken, ook al liggen die didactisch dicht bij elkaar, dan is een uitlijning geen goede manier om de situatie te modelleren. Concreet: waar een [klasverdeling](#page-glossary.class-division) binnen één klas blijft, loopt een uitlijning dwars door meerdere klassen heen. #### Toepassingen Groepsuitlijningen dienen om klasoverstijgende lessen op te zetten waarbij meerdere klassen elk een klein aantal leerlingen hebben die u samenbrengt (uitlijnt) voor één bepaalde gezamenlijke les, die zij vervolgens samen volgen. Dat is bijvoorbeeld het geval bij: - **Latijnleerlingen** uit 4A, 4B en 4C die samen de les Latijn volgen. - **Klasoverstijgende keuzevakken** in de bovenbouw: maatschappijwetenschappen, kunstgeschiedenis, een derde moderne vreemde taal, enz. - **Profielvakken**. - **Gemeenschappelijke basis over meerdere opleidingen** in het hoger onderwijs: een inleidende cursus die meerdere masteropleidingen delen. Moet u **hele klassen** uitlijnen, maak dan eerst in elke klas een groep aan die de hele klas voorstelt, en lijn vervolgens die groepen uit. #### Aanmaken 1. Maak eerst in elke betrokken klas **een groep** aan, bij voorkeur met dezelfde naam (voorbeeld: “Latijn” in 4A, in 4B en in 4C). 2. Ga naar het tabblad Groepsuitlijning. 3. Klik op Een groepsuitlijning toevoegen en selecteer de groepen uit de verschillende klassen. Zodra een groep deel uitmaakt van een uitlijning, verschijnt hij op alle betrokken schermen met een koppelingspictogram [link]. #### Gevolgen Eenmaal uitgelijnd is de groep van elke klas **gekoppeld** aan de gezamenlijke les. Concreet: - De lessen moeten in de klassen in spiegelbeeld worden aangemaakt, met name met **dezelfde duur**, **dezelfde docent** en eventueel **hetzelfde lokaal**. - Wordt een les van een klas met een uitgelijnde groep op een dag en een uur geplaatst, dan moeten alle andere klassen van de uitlijning diezelfde les in spiegelbeeld hebben, elk met de bijbehorende uitgelijnde groep, op dezelfde positie. - Het aantal lesuren en de opsplitsing in lessen met de verschillende uitgelijnde groepen moeten voor het betrokken vak **strikt identiek** zijn — anders signaleert Omniscol een inconsistentie in de diagnose. - Een wijziging (verplaatsen, ander lokaal, andere docent, een opmerking toevoegen) op een les **moet worden doorgevoerd** in alle uitgelijnde klassen (het systeem probeert te raden welke lessen elkaars spiegelbeeld zijn, om dat zo automatisch mogelijk te laten verlopen). #### Diagnose — veelvoorkomende inconsistenties Een uitlijning is gevoelig voor afwijkingen. Typische diagnoses: - **Afwijkend aantal lesuren**: de groep “Latijn” van 5A heeft 3 lessen Latijn van een uur, die van 5B heeft er 2. Ofwel harmoniseert u (overal 3), ofwel heft u de uitlijning op (2 uitgelijnde uren, één uur op een andere, niet-uitgelijnde groep Latijn). - **Ander lokaal bij een uitgelijnde les**: een uitlijning veronderstelt één enkel lokaal. Forceert u voor de les van één klas handmatig een ander lokaal, dan wordt dat in de diagnose gemeld. - **Andere docent**: idem. #### Tip — één groep per les/vak Omdat uitlijningen zeer gevoelig zijn voor de eis dat ze in perfect spiegelbeeld worden opgezet, is het sterk aan te raden om in elke uit te lijnen klas één groep per betrokken vak of les aan te maken. Met andere woorden: hergebruik geen generieke groep (typisch: groepen A/B) voor verschillende vakken waarop een strikte uitlijningslogica rust. Anders krijgt u dubbelzinnige uitlijningen die de roostergeneratie niet kan ontwarren. Maak liever gespecialiseerde groepen aan, die u onderling kunt koppelen zonder ongewenste neveneffecten te hoeven vrezen. #### Zie ook - [Klas, groep, subgroep](#page-core-concepts.classes-and-groups) - [Klasverdelingen](#page-core-concepts.class-divisions) - [Groepen van groepen](#page-core-concepts.groups-of-groups) - [Klasoverstijgende cursus](#page-glossary.transverse-course) - [Groepsuitlijning](#page-glossary.alignment) ### 2.5 Groepen van groepen *Source: `help/nl/core-concepts/groups-of-groups.md` · id: core-concepts.groups-of-groups · Updated: 2026-05-20* Een **groep van groepen** is een supergroep die meerdere [groepen](#page-glossary.group) samenbrengt — uit **dezelfde klas** of uit **verschillende klassen**. Zo **zet u meerdere groepen bij elkaar zodat zij samen één les volgen** — verschillende groepen leerlingen worden op dat tijdslot tot één geheel samengevoegd. Andere planningssoftware gebruikt de term “cluster” voor hetzelfde concept. Net als bij een groepsuitlijning moeten de gezamenlijke lessen berusten op een **gemeenschappelijk vak** in de betrokken klassen. Anders dan groepsuitlijningen, die een verband tussen groepen uitdrukken, is de groep van groepen een zelfstandige entiteit die u als een groep kunt gebruiken. Zie het als een benoemde, dynamische container van groepen. #### Waarom dit soepeler is dan een groepsuitlijning | Aspect | [Groepsuitlijning](#page-core-concepts.alignments) | **Groep van groepen** | | --- | --- | --- | | Samenstelling | Achteraf te wijzigen, maar dan moeten de lessen in spiegelbeeld worden aangemaakt | Achteraf heel eenvoudig te wijzigen | | Roostermodus | Zeer geschikt voor het wekelijkse en cyclische rooster van het voortgezet onderwijs | Bruikbaar in alle roostertypes; bijzonder handig wanneer de groeperingen veranderen | | Een les eruit halen | Vereist een niet-uitgelijnde kloon van de groep | Rechtstreekse bewerking van de les, die daarna aan één klas wordt gekoppeld; de lessen van de andere betrokken klassen moeten opnieuw worden aangemaakt | | Toepassing | Terugkerende gezamenlijke les, voor het curriculum van parallelklassen | Klasoverstijgende lessen, eenmalige groeperingen | De groep van groepen is bedoeld voor het hoger onderwijs en het volwassenenonderwijs, waar: - de samenstelling van de groeperingen vaak verandert (een traject dat bij een ander aansluit, een subgroep die zich voor een project afsplitst), - gezamenlijke lessen afzonderlijk worden gedateerd in plaats van terug te keren, - gastsprekers of visiting professors op specifieke data voor een gemengd publiek staan. Een groep van groepen is flexibeler en makkelijker te volgen dan een groepsuitlijning. Zijn beperking ligt bij complexe lessen, met asymmetrisch afwisselende weken. Het enige wat hij vraagt, is een goed doordachte naamgeving (bijvoorbeeld: “Marketing klasoverstijgend Master”). #### Aanmaken en gebruiken Aanmaken gebeurt vanaf het tabblad Groep van groepen van het rooster. De groep van groepen kan aan een les worden toegewezen **alsof het een gewone groep is** — het verschil is dat hij meerdere aangesloten groepen bundelt. Wilt u **hele klassen** samenbrengen, maak dan eerst in elke klas een groep aan die de hele klas voorstelt, en gebruik die groepen vervolgens in uw groep van groepen. Een les die aan een groep van groepen is toegewezen, verschijnt in **alle** ouderklassen van de aangesloten groepen. En u kunt hem vanuit elk van die klassen bewerken. Groepen van groepen verschijnen op alle betrokken schermen met een eigen pictogram [sitemap]. #### De samenstelling achteraf wijzigen Aangesloten groepen kunnen op elk moment worden toegevoegd of verwijderd. De reeds toegewezen lessen passen zich automatisch aan (het bereik wordt ruimer of krapper naargelang de toegevoegde / verwijderde groepen). Daarin zit de waarde van het concept: u kunt een semester met één samenstelling beginnen en die onderweg bijstellen, zonder de structuur aan te tasten. #### Technische overwegingen Technisch gezien wordt een les met een groep van groepen één keer opgeslagen, klasoverstijgend, dus niet toegewezen aan een bepaalde klas. Een les zonder groep van groepen (ook een met uitgelijnde groepen) wordt daarentegen in zijn eigen klas opgeslagen. Bij een uitlijning over 3 groepen worden er 3 lessen opgeslagen, één in elke klas; bij een groep van groepen wordt één enkele les los van de klassen opgeslagen, maar in elke klas getoond. Wordt een groep van groepen van een les gehaald, dan leidt het systeem af aan welke klas de les moet worden gekoppeld, of het vraagt het u. De overige velden van een les zijn makkelijker te wijzigen met een groep van groepen dan met een uitlijning: door de enkelvoudige opslag verandert u het lokaal of de docent onmiddellijk, zonder doorwerking “in spiegelbeeld”. #### Consolidatie van de onbeschikbaarheden Een groep van groepen **consolideert de onbeschikbaarheden** van al zijn aangesloten groepen. Een onbeschikbaarheid die op **welke aangesloten groep dan ook** — of op de klas van die groep — is gezet, geldt voor de gezamenlijke les. De regel geldt zowel bij de roostergeneratie als op het scherm tijdens het bewerken. De zachte niveaus (Ongewenst, rood) worden op dezelfde manier geconsolideerd; en komen er meerdere niveaus op hetzelfde tijdslot samen, dan **wint het sterkste** — Niet beschikbaar (zwart) gaat boven Ongewenst (rood). Zie [Tijdsbeperkingen (algemeen systeem)](#page-core-concepts.time-constraints) voor de editor en de niveaus. Omdat een groep van groepen vaak meerdere klassen bestrijkt, brengt die consolidatie de onbeschikbaarheden van **elke gedekte klas** samen: een klas die op vrijdagmiddag gesloten is, blokkeert dat tijdslot voor elke les van de groep van groepen waarin zij zit, ook als de andere klassen vrij blijven. ```mermaid flowchart TD CX["Klas X — niet beschikbaar op maandagmiddag"] --> GA["Groep A (klas X)"] CY["Klas Y — niet beschikbaar op vrijdagochtend"] --> GB["Groep B (klas Y)"] GA --> GG["Groep van groepen"] GB --> GG GG --> SE["Les: niet beschikbaar op maandagmiddag EN vrijdagochtend"] ``` Op de groep van groepen zelf toont de toepassing een **geconsolideerd, niet-bewerkbaar overzicht** van die onbeschikbaarheden: u ziet in één oogopslag de beperkingen van alle leden. U **wijzigt ze op de aangesloten groepen** (of op hun klassen), waar ze een eigen betekenis hebben — de groep van groepen heeft geen aparte editor voor beperkingen. > _Premium_ Elke aangesloten groep brengt zijn **eigen** groepsbeperkingen mee, plus die welke hij van zijn klas en van zijn oudergroepen **erft** (zie [Groepshiërarchie](#page-core-concepts.group-hierarchy)). De consolidatie neemt ze allemaal over: hoe meer leden een groep van groepen bundelt, hoe krapper het plaatsingsvenster wordt. Om een tijdslot ondanks een overgeërfde beperking weer open te zetten, staat het niveau **Toegestane lessen** het plaatselijk opnieuw toe, zonder de bron te wijzigen. Op het scherm worden die geconsolideerde beperkingen **bij het plaatsen** zichtbaar: de kandidaat-tijdsloten en het diagnosepaneel melden het conflict en noemen de **aangesloten groep** en de **klas** die het veroorzaken, zodat u meteen bij de bron uitkomt (zie [Conflicten en diagnose](#page-timetables.conflicts)). #### Stappenplan — Een klasoverstijgende groep aanmaken voor een gastcollege 1. **Een gastcollege voor een gemengd publiek** (studenten uit drie jaargangen, twee keuzevakken): het passende Omniscol-concept is de **groep van groepen**. 2. **Vooraf**: de aangesloten groepen bestaan al binnen hun eigen klassen. Bepaal welke groepen u wilt bundelen (`M1 marketing`, `M1 finance`, `Keuzevak ondernemerschap`). 3. **Open het tabblad** Groep van groepen van het rooster. Knop Een groep van groepen toevoegen. Geef hem een sprekende naam: `Gastcollege prof. Jansen — publiek M1 + keuzevakken`. 4. **Voeg de aangesloten groepen toe**: selecteer in de lijst de groepen van de drie klassen / keuzevakken. Er geldt geen limiet op de samenstelling. De aangesloten groepen hoeven elkaar onderling niet uit te sluiten (in het slechtste geval ziet een student die in twee groepen zit de les maar één keer). 5. **Maak de les aan** (het gastcollege) vanuit een van de betrokken klassen en **wijs er de groep van groepen aan toe** alsof het een gewone groep is. Eén invoer volstaat: de les verschijnt in **alle ouderklassen** van de aangesloten groepen. 6. **Wijzigingen achteraf**: verandert de samenstelling (een groep haakt af, een andere sluit aan), pas dan de samenstelling van de groep van groepen aan — de toegewezen lessen passen zich automatisch aan (het bereik wordt ruimer of krapper). Dat onderscheidt dit concept van een klassieke groepsuitlijning (vaste samenstelling). Zie ook [Groepsuitlijningen](#page-core-concepts.alignments) voor het wekelijkse geval. #### Een soepeler alternatief: meerdere groepen rechtstreeks toewijzen Voor eenmalige lessen blijkt het aanmaken van een aparte groep van groepen soms een omslachtige klus. Is het gebrek aan datastructuur in dat geval geen bezwaar, dan kunt u meerdere groepen uit een of meer klassen rechtstreeks aan een les koppelen. Intern werkt dat vergelijkbaar met een naamloze groep van groepen, met één enkele klasoverstijgende opslag, maar daar hoeft u zich niet mee bezig te houden. #### Zie ook - [Groepsuitlijningen](#page-core-concepts.alignments) - [Tijdsbeperkingen (algemeen systeem)](#page-core-concepts.time-constraints) - [Klasoverstijgende cursus](#page-glossary.transverse-course) - [Kalendermodus](#page-glossary.calendar-mode) - [Groep van groepen](#page-glossary.groups-of-groups) ### 2.6 Groepshiërarchie: ouders, kinderen, overgeërfde beperkingen *Source: `help/nl/core-concepts/group-hierarchy.md` · id: core-concepts.group-hierarchy · Audience: admin · Plan: premium · Updated: 2026-05-20* > **Premium** > **Premium-functie.** De groepshiërarchie en de tijdsbeperkingen van > groepen horen bij de Premium-functies. > _Premium_ Naast het platte model “klas → groepen” kunt u met Omniscol de groepen van een klas ordenen in een **ouder-kindhiërarchie** en er **tijdsbeperkingen** aan koppelen die zich via overerving voortplanten. Dat is handig wanneer de klas uit meerdere opeenvolgende niveaus van onderverdeling is opgebouwd. #### Een hiërarchie opbouwen met slepen en neerzetten Op de groepenpagina van een klas legt u de hiërarchie vast met slepen en neerzetten: - **Een groep op een andere groep slepen** → het kind wordt onder de ouder gehangen. - **Een kind naar de kop van de groepenlijst slepen** → het kind wordt uit zijn hiërarchie gehaald en is weer een rechtstreekse groep van de klas. Er is geen dieptebeperking. U kunt ketens ouder → kind → kleinkind maken als uw indeling daarom vraagt. #### Standaardvoorbeeld Een typische hiërarchie: ```mermaid flowchart TD C[Klas 8A] A[A — ouder] A1[A1 — kind van A] A2[A2 — kind van A] B[B — ouder] B1[B1 — kind van B] B2[B2 — kind van B] C --> A C --> B A --> A1 A --> A2 B --> B1 B --> B2 ``` Opgegeven klasverdelingen: - `(A, B)` — A en B sluiten elkaar uit op ouderniveau. - `(A1, A2)` — onder A sluiten A1 en A2 elkaar uit. - `(B1, B2)` — onder B sluiten B1 en B2 elkaar uit. **Automatisch gevolg**: Omniscol staat toe dat groepen uit verschillende takken gelijktijdig worden ingepland — `A1` en `B2` kunnen bijvoorbeeld op hetzelfde tijdslot vallen, omdat geen enkele leerling in allebei zit (A1 ⊂ A, B2 ⊂ B, en A ∩ B = ∅). De klasverdeling `(A1, B2)` hoeft u niet opnieuw op te geven: de overerving berekent die. #### Overerving van de tijdsbeperkingen Naast de klasverdelingen kunt u **tijdsbeperkingen** (beschikbaarheid, incompatibiliteiten) aan een groep koppelen. Met de hiërarchie **erven** de kinderen die beperkingen van hun ouders — via een systeem van **maskers** dat zij kunnen overschrijven. ##### Voorbeeld: een tijdslot gereserveerd voor lichamelijke opvoeding Een typisch geval: - Klas `8A` is **niet beschikbaar op maandagmiddag** (een algemeen tijdslot dat voor gezamenlijke activiteiten is geblokkeerd). - Door overerving zijn **alle groepen** van de klas op maandagmiddag niet beschikbaar. - **Behalve** de groep `Sport`: daar **keert** u het masker **om**, zodat de maandagmiddag wordt toegestaan en al het overige verboden. Alle sportactiviteiten van die groep komen dan automatisch op dat beschermde tijdslot terecht. Het mechanisme is krachtig: **één oudermasker plus één uitzondering bij het kind** volstaat om gereserveerde tijdsloten netjes te modelleren, zonder de beperking op elke les te hoeven herhalen. ##### Nog een voorbeeld: een oudergroep `Keuzevakken` die de toegestane tijdsloten draagt Nog een heel bruikbaar geval: de instelling wil dat alle keuzevakken alleen op een paar gereserveerde tijdsloten vallen, bijvoorbeeld: - maandagochtend, - woensdag vóór 10.00 uur, - vrijdagochtend. U kunt dan: - een oudergroep `Keuzevakken` aanmaken die zelf niet aan lessen wordt toegewezen; - op die oudergroep de toegestane tijdsloten aangeven door de tijdsbeperkingen in te tekenen; - daaronder zoveel subgroepen aanmaken als nodig: `Keuzevak Marketing`, `Keuzevak Finance`, `Keuzevak Data`, enzovoort. Al die subgroepen erven dan dezelfde toegestane tijdsloten. Verandert de regel, dan past u één punt aan: de oudergroep `Keuzevakken`. ```mermaid flowchart TD E["Keuzevakken — oudergroep"] E1["Keuzevak Marketing"] E2["Keuzevak Finance"] E3["Keuzevak Data"] S["Toegestane tijdsloten: maandagochtend, woensdag vóór 10.00 uur, vrijdagochtend"] S --> E E --> E1 E --> E2 E --> E3 ``` ##### Overervingsregels - Een kindgroep **erft standaard** de tijdsbeperkingen van zijn ouder. - Het kind kan die beperkingen **overschrijven**: eigen beperkingen toevoegen of het masker omkeren. - De **klasverdelingen van de ouder** gelden automatisch voor de kinderen: zitten A en B in een klasverdeling, dan sluiten de kinderen van A en die van B elkaar uit zonder aparte opgave. ##### Overgeërfde beperkingen en groepen van groepen Een groep kan ook lid zijn van een **groep van groepen**. Zijn beperkingen — zowel de eigen als die welke hij van zijn klas en van zijn oudergroepen erft — worden dan **geconsolideerd** met die van de andere aangesloten groepen: de les van de groep van groepen houdt zich aan al die onbeschikbaarheden samen. De overerving daalt dus af langs de hiërarchie, waarna de consolidatie de leden van de groep van groepen bijeenbrengt. ```mermaid flowchart TD C["Klas — niet beschikbaar op maandagmiddag"] --> P["Oudergroep"] P --> E["Kindgroep — erft van de ouder"] E --> GG["Groep van groepen"] M["Andere aangesloten groep (andere klas)"] --> GG GG --> SE["Les: geconsolideerde onbeschikbaarheden"] ``` Zie [Groepen van groepen](#page-core-concepts.groups-of-groups) voor de details van de consolidatie. #### Wanneer een hiërarchie gebruiken - **Keuzepakketten**: een klas met talen die in niveaus zijn gestructureerd (Engels verdiept > A1-Conversatie, A1-Cultuur, A2-…). - **Practica met subrotaties**: twee halve klassen voor het practicum, elk onderverdeeld in subgroepen voor de proeven. - **Gedifferentieerde leerroutes**: een hoofdroute met afzonderlijke keuzemodules die binnen die route worden ingepland. - **Sport**: een overkoepelende groep met alle leerlingen, met een eigen masker voor de sporttijdsloten. - **Keuzevakken op gereserveerde tijdsloten**: een oudergroep `Keuzevakken` draagt de toegestane tijdsloten, en zijn subgroepen komen overeen met de werkelijke keuzevakken. #### Wanneer geen hiërarchie gebruiken - Voor eenvoudige klassen zonder hiërarchische onderverdeling — de hiërarchie maakt het alleen ingewikkelder. - Om leerlingen uit verschillende klassen te mengen — dat is de rol van [groepsuitlijningen](#page-core-concepts.alignments) of van [groepen van groepen](#page-core-concepts.groups-of-groups), niet van de hiërarchie binnen één klas. - Voor open inschrijvingen — gebruik dan de [vrije groepen](#page-core-concepts.free-groups). #### Stappenplan — Een ouder-kindhiërarchie opbouwen 1. **De groepshiërarchie** ordent de groepen van een klas in ouders en kinderen, met **overerving** van de tijdsbeperkingen. 2. **Maak de groepen eerst zonder hiërarchie aan** op de groepenpagina van de klas: `A`, `A1`, `A2`, `B`, `B1`, `B2`, plus een overkoepelende groep `Sport`. In dit stadium staan ze allemaal op hetzelfde niveau, rechtstreeks onder de klas. 3. **Slepen en neerzetten om de hiërarchie aan te brengen**: sleep `A1` op `A` → `A1` wordt kind van `A`. Doe hetzelfde voor `A2`, `B1` en `B2`. U krijgt twee takken `A → A1, A2` en `B → B1, B2`. Er is geen dieptebeperking. Om een kind eruit te halen: sleep het naar de **kop van de lijst** met groepen van de klas. 4. **Geef de klasverdelingen op**: `(A, B)` op ouderniveau (elkaar uitsluitend), `(A1, A2)` onder A, `(B1, B2)` onder B. `(A1, B2)` hoeft u niet opnieuw op te geven: Omniscol leidt via overerving af dat `A1 ⊂ A` en `B2 ⊂ B` verenigbaar zijn (op hetzelfde tijdslot in te plannen). 5. **Leg het oudermasker vast**: markeer op de klas **maandagmiddag als niet beschikbaar**. Alle groepen erven dat automatisch. Controleer het in het raster van elke groep: het tijdslot is overal geblokkeerd. 6. **Keer het masker om op `Sport`**: keer op de fiche van de groep Sport de tijdsbeperking om — sta de maandagmiddag toe en verbied al het overige. Alle sportactiviteiten komen automatisch op dat eigen tijdslot terecht, zonder dat u het op elke les opnieuw hoeft op te geven. 7. **U hebt nu een actieve hiërarchie** met overerving van de klasverdelingen en een eigen tijdmasker. De roostergeneratie maakt er gebruik van en overgeërfde conflicten worden in realtime gemeld. #### Zie ook - [Klas, groep, subgroep](#page-core-concepts.classes-and-groups) - [Klasverdelingen](#page-core-concepts.class-divisions) - [Vrije groepen](#page-core-concepts.free-groups) - [Beschikbaarheid, tijdsbeperkingen en incompatibiliteiten](#page-core-concepts.wishes-and-availability) ### 2.7 Vrije groepen *Source: `help/nl/core-concepts/free-groups.md` · id: core-concepts.free-groups · Plan: premium · Updated: 2026-05-12* > **Premium** > _Premium_ Een **vrije groep** is een **semi-autonome werkgroep**: een deel van de klas werkt verder aan zijn eigen opdracht, naast de hoofdles, vaak in hetzelfde lokaal en met dezelfde docent — een **satellietgroep** van de les. Hij komt op het rooster te staan zonder een conflict op te leveren, en zijn samenstelling hoeft niet vooraf vast te liggen. Dit is de **jokerkaart** van Omniscol: in te zetten wanneer het strikte model klas + subgroepen in een klasverdeling niet past. Heel gebruikelijk bij: - **kunstacademies** (workshops met vrije inschrijving, vakoverstijgende projecten), - **semi-autonome projecten** — een kleine groep leerlingen die samenwerkt onder **licht** toezicht van een docent die daarnaast vooral met zijn eigen klas bezig is en die geregeld komt kijken hoe ver ze zijn, - **klasoverstijgende lezingen**, masterclasses, gastseminars, - vrijwillige **bijlessen** en **clubs**, - **onderzoeksprojecten en korte stages** met vrije inschrijving. #### Gedrag Een vrije groep is **aan een klas gekoppeld** zoals elke groep, met een groepsgrootte en, afhankelijk van de configuratie van het account, een lijst met leerlingen of studenten. Wat verandert, is de manier waarop Omniscol op conflicten controleert. Op een les van een vrije groep **schakelt Omniscol drie soorten controles uit**: - conflict met de rest van de klas op hetzelfde tijdslot, - conflict met een andere les van dezelfde docent, - conflict met een lokaal dat al bezet is. Precies dat stelt de vrije groep in staat om als **satellietgroep** te werken op het rooster van de hoofdklas: de hoofdles gaat door en de les van de vrije groep komt er parallel naast te staan, zonder dat er een waarschuwing afgaat. De lessen van een vrije groep **verschijnen uitdrukkelijk** in het rooster van de betrokken leerlingen, net als alle andere lessen. #### Wanneer kiest u een vrije groep en wanneer een gewone groep | Situatie | Gewone groep | Vrije groep | | --- | --- | --- | | Samenstelling ligt vooraf vast | ✓ | ✓ (zoals een gewone groep: groepsgrootte, leerlingenlijst facultatief) | | Conflictdetectie klas / docent / lokaal | ✓ streng | — uitgeschakeld | | Keuzevakken modelleren in een klasverdeling | ✓ | — nee | | Satellietles, parallel aan de hoofdles | — | ✓ | #### Gebruiksvoorzorg — de echte beperking > **Eerst en vooral: kies echte subgroepen in een > [klasverdeling](#page-core-concepts.class-divisions)** wanneer dat kan. > De vrije groep is een **jokerkaart die u spaarzaam inzet**, > voorbehouden aan de gevallen waarin geen enkele andere nette > oplossing werkt. De reden: het parallel zetten moet in de praktijk **door de roostermaker zelf worden geregeld**. Het algoritme van de roostergeneratie kan onmogelijk weten dat een bepaalde semi-autonome groep **parallel aan één welbepaalde hoofdles van de klas** moet worden ingepland. Laat u de roostergeneratie haar gang gaan, dan kunnen de lessen van de vrije groep op willekeurige momenten terechtkomen — zonder samenhang met wat de rest van de klas doet. **Goede werkwijze**: plaats de les van de vrije groep handmatig **op hetzelfde tijdslot als** de beoogde hoofdles en **vergrendel dan de positie ervan**, zodat de roostergeneratie er niet meer aan komt. Zie [Een les vergrendelen](#page-timetables.lesson-lock). #### Aanmaken Vink bij het aanmaken van de groep (op Groep toevoegen) de optie Vrije groep aan. Een pictogram [right-left] markeert die groepen daarna in de lijsten, zodat u ze niet met gewone groepen verwart. #### Gevolgen van het uitschakelen van de conflicten Concreet, op een les van een vrije groep: - volgt Alice (leerling van de klas) deze les terwijl er op hetzelfde tijdslot een andere hoofdles voor de rest van de klas plaatsvindt, dan geeft Omniscol **geen waarschuwing** (terwijl zij in theorie op twee plaatsen tegelijk wordt verwacht); - de docent kan zonder waarschuwing aan een andere les op hetzelfde tijdslot worden toegewezen; - het lokaal mag al door de hoofdles bezet zijn, eveneens zonder waarschuwing. Die tolerantie is **bewust gekozen**. Het is aan u (de roostermaker) om te garanderen dat het samengaan pedagogisch zinvol is (typisch: de docent komt alleen af en toe kijken hoe ver de semi-autonome groep is; de leerlingen van de groep verlaten de hoofdles zonder dat dat problemen geeft; het lokaal biedt plaats aan beide activiteiten). #### Zie ook - [Klas, groep, subgroep](#page-core-concepts.classes-and-groups) - [Klasverdelingen](#page-core-concepts.class-divisions) - [Een les vergrendelen](#page-timetables.lesson-lock) - [Vrije groep](#page-glossary.free-group) ### 2.8 Cursussen, lessen, lestypes *Source: `help/nl/core-concepts/lessons-and-types.md` · id: core-concepts.lessons-and-types · Updated: 2026-06-13* Drie verwante maar verschillende objecten die u in Omniscol goed uit elkaar moet houden: de **cursus** (de abstracte onderwijseenheid), de **les** (een concreet voorkomen van de cursus, op een bepaalde datum) en het **lestype** (de indeling: hoorcollege, werkcollege, practicum…). #### Cursus Een **cursus** is de atomaire onderwijseenheid: een vak, een klas of een groep, een docent, een lokaal, een duur en een aantal wekelijkse voorkomens (of een kalender met data in de kalendermodus). Voorbeeld: *“Wiskunde in klas 1A, door dhr. Jansen, 4 uur per week in lokaal B204”.* De cursus draagt de **onderwijskundige logica**: wie leert wat met wie. Dat is wat u opbouwt in de module Roosterbeheer. Zie ook de definitie in de woordenlijst: [Cursus](#page-glossary.course). #### Les Een **les** is een concreet **voorkomen** van een cursus, met datum en tijdstip. Uit de cursus *Wiskunde in klas 1A, 4 uur per week* maakt Omniscol 4 lessen per week aan over de actieve weken (bijvoorbeeld maandag 8-9 uur, dinsdag 10-11 uur, woensdag 14-15 uur, vrijdag 9-10 uur). Het is de les die zichtbaar is in de module Rooster, op de portalen en in de iCal-exports. Ook de incidentele wijzigingen (verplaatsen, annuleren, vervangen) gelden voor de les. Het is de term die de interface hanteert voor de eenheid die in het rooster wordt geplaatst: wat u plaatst, verplaatst, vergrendelt, bewerkt, annuleert of vervangt, is een **les** (of “les van een cursus” wanneer die precisering helpt). #### Lestype Een **lestype** deelt elke cursus verder in dan alleen het vak: hoorcollege, werkcollege, practicum, examen, onderwijs op afstand, uitstapje. Het type dient voor: - de **functionele logica** (een examen wordt niet als een werkcollege behandeld), - de **statistieken** (uren werkcollege tegenover uren hoorcollege per docent), - de **leesbaarheid** (weergave in de roosters). Zie [Lestypes (werkcollege, practicum, examen, hoorcollege enz.)](#page-admin.lesson-types) voor het uitgebreide beheer van de types. #### Waar de cursussen in de structuur zijn ondergebracht Afhankelijk van de complexiteit van de klassenstructuur zijn de cursussen ofwel **aan hun klas** gekoppeld (het standaardgeval), ofwel **klasoverstijgend** ondergebracht (wanneer er groepen van groepen worden gebruikt of wanneer een les meerdere groepen tegelijk omvat). De gebruiker merkt daar niets van — Omniscol schakelt automatisch om naargelang de structuur. Zie [Groepen van groepen](#page-core-concepts.groups-of-groups). #### Eenvoudige tegenover complexe cursussen Een cursus kan **eenvoudig** zijn (één docent, één klas, één vak, één lokaal, een regelmatige herhaling) of **complex**: afwisselende weken A/B, aaneenschakelingen (dubbele lessen), koppelingen (rotatie tussen groepen), co-teaching (meerdere docenten). Zie [Complexe lessen](#page-core-concepts.complex-lessons). #### Zie ook - [Les / Lesmoment](#page-glossary.lesson) - [Lestype](#page-glossary.lesson-type) - [Lestypes (werkcollege, practicum, examen, hoorcollege enz.)](#page-admin.lesson-types) - [Complexe lessen](#page-core-concepts.complex-lessons) ### 2.9 Complexe lessen: afwisselend, aaneengeschakeld, gekoppeld, samen gegeven *Source: `help/nl/core-concepts/complex-lessons.md` · id: core-concepts.complex-lessons · Updated: 2026-06-13* Veel lessen zijn eenvoudig: één doelgroep, één docent, één lokaal, een terugkerend tijdslot. Maar Omniscol kan ook geraffineerdere opzetten aan, die onderling te combineren zijn. Complexe lessen zijn lessen van dezelfde klas die door een bijzondere opzet met elkaar zijn verbonden. Er bestaan verschillende soorten. #### 1. Afwisselende lessen (weken A/B/...) Lessen die **niet elke week** terugkeren, maar elkaar afwisselen. Het klassieke geval: de ene les in week A, de andere in week B, op hetzelfde tijdslot. Deze opzet is zeer gangbaar in Frankrijk en in de schoolsystemen die zich daarop hebben geïnspireerd, maar daarbuiten heel zeldzaam. **Voorwaarde**: schakel de afwisselende weken in bij Instellingen (module Beheer). U kunt de naamgeving kiezen (letters A/B/C of cijfers 1/2/3). **Verschuiving door de vakantie**: de afwisseling kan zich na een vakantieperiode opnieuw uitlijnen. Die instelling doet u op de tijdbalk van het scherm [schooljaar](#page-admin.school-year). **Aanmaken**: 1. Beweeg de muis over de les die u wilt laten afwisselen. Rechtsboven in de les verschijnt een pictogram [plus]; klik daarop. 2. Er wordt een vrije plek toegevoegd voor de afwisselende week. 3. Maak de les aan die bij die nieuwe plek hoort. 4. Plaats de les met de punaiseknop [thumbtack] en klik daarna op het gewenste dag-/uurtijdslot tussen de gekleurde vlakjes. U kunt dit herhalen om meer weken toe te voegen (afwisseling over 3, 4 of meer weken). #### 2. Aaneengeschakelde lessen (opeenvolgend) Twee lessen die **binnen dezelfde dag op elkaar moeten volgen**, zonder iets ertussen. Typische gevallen: - twee practica van twee verschillende groepen achter elkaar (de docent komt dan zeker voor een heel dagdeel), - een hoorcollege gevolgd door een werkcollege (een inleidend hoorcollege, daarna een werkcollege om de stof toe te passen), - een dubbele examenzitting. **Aanmaken**: sleep een les onder een andere in het scherm urenverdeling. De twee lessen zitten dan aan elkaar vast en gelden als één blok. U kunt zoveel lessen aaneenschakelen als u wilt, maar uiteraard past het blok misschien niet meer in het tijdrooster als de totale duur te groot is. **Loskoppelen**: beweegt u de muis tussen de twee aaneengeschakelde lessen, dan verschijnt er een schaarknop. Die verbreekt de aaneenschakeling. **Waarom niet één langere les?** Omdat de twee lessen het volgende kunnen hebben: - verschillende **lestypes** (eerst een hoorcollege, dan een werkcollege), - verschillende **docenten** (de vaste docent voor het hoorcollege, een assistent voor het werkcollege), - verschillende **lokalen**. Zijn alle kenmerken identiek, dan is één les verlengen eenvoudiger — aaneenschakelen biedt soepelheid in de overige gevallen. #### 3. Gekoppelde lessen (afwisseling van halve groepen) Twee gelijktijdige lessen met **halve groepen die onderling wisselen**, zodat er vier ontstaan. Het archetypische geval: ``` Tijdslot 1: groep A biologie, groep B natuurkunde Tijdslot 2: groep A natuurkunde, groep B biologie ``` Na de twee tijdsloten hebben beide halve groepen beide vakken gehad, alleen in een andere volgorde. De wisseling vergt dus twee docenten (één voor biologie, één voor natuurkunde) die “rouleren”. Deze opzet is vrij gangbaar in de onderbouw van het voortgezet onderwijs in Frankrijk en zeer gangbaar in de Franstalige landen van Afrika. Elders lijkt dit veel zeldzamer, al komt u het bijvoorbeeld in Brazilië tegen. **Aanmaken**: 1. Maak twee [aaneengeschakelde](#2-aaneengeschakelde-lessen-opeenvolgend) lessen aan (de ene onder de andere). 2. Beweeg de muis over de grens tussen de twee: er verschijnt een knop Koppeling van lessen. 3. Klik daarop en wijs de **twee groepen** aan die moeten afwisselen. Idealiter zijn die twee groepen in de klas aangegeven als [klasverdeling](#page-core-concepts.class-divisions). U kunt verder gaan dan twee lessen / twee groepen, maar dat geval blijft eerder theoretisch dan dat het in de praktijk voorkomt. #### 4. Co-teaching Twee of meer docenten die **dezelfde les** verzorgen, in **hetzelfde lokaal**, **tegelijkertijd**. Typische gevallen: - extra begeleiding (de vaste docent + een assistent), - een *visiting professor* in duo met de vaste docent voor enkele lessen, - een vakoverstijgende module (een arts + een informaticus voor “informatica voor de zorg”), - twee vaste docenten samen gedurende een heel semester. **Aanmaken**: selecteer op het scherm voor de toewijzing van docenten aan de cursus **meerdere betrokken docenten**. Elk van hen krijgt de les toegerekend in zijn statistieken en zijn diensturen. #### 5. Combinaties Deze complexiteiten laten zich **combineren**. Voorbeelden: - **Afwisselend + aaneengeschakeld** — de les van week A is een aaneengeschakeld dubbelblok, en in week B is het een ander dubbelblok. - **Afwisselend + samen gegeven** — week A met de vaste docent, week B met de visiting professor (afwisseling van docenten). - **Aaneengeschakeld + gekoppeld** — halve groepen die afwisselen over een dubbel tijdslot (het meest voorkomende geval: practica bij de bètavakken in halve klassen). In Frankrijk is dit typisch de manier om de extra halve uren Frans en wiskunde aan te geven en tegelijk het probleem van de drie uur sport op te lossen (gemiddeld 1 uur halen door om de week 2 uur te plannen, bovenop de 2 uur die er elke week zijn). | Week A | Week B | | --- | --- | | Frans | Sport | | Wiskunde | Sport | #### Uitzonderlijke gevallen Past uw behoefte in geen van deze categorieën, neem dan contact op met de ondersteuning van Omniscol — waarschijnlijk valt die wel te modelleren, maar er kan wat hulp nodig zijn om de beste aanpak te bepalen. #### Stappenplan — Een practicum in gekoppelde halve groepen aanmaken 1. **Het archetypische geval**: een practicum bij de bètavakken over twee tijdsloten, waarbij halve groep A biologie en dan natuurkunde doet terwijl halve groep B natuurkunde en dan biologie doet. Aaneenschakeling + koppeling. 2. **Voorwaarde vooraf**: geef op de betrokken klas de twee halve groepen aan als **klasverdeling**, bijvoorbeeld `(A, B)`. Zie [Klasverdelingen](#page-core-concepts.class-divisions). Dat is wat Omniscol in staat stelt ze als onderling uitsluitend en dus verwisselbaar te beschouwen. 3. **Maak de eerste les aan** (bijvoorbeeld biologie voor halve groep A) op het eerste tijdslot, in het scherm urenverdeling. Docenten en lokaal voor biologie. 4. **Sleep de tweede les** (natuurkunde voor halve groep B) **rechtstreeks onder de eerste** (op het moment dat u de les loslaat verschijnt er een plek, en de les komt vast aan de eerste te zitten). 5. **Beweeg de muis over de grens** tussen de twee aaneengeschakelde lessen: er verschijnt een knop Koppeling van lessen. Klik daarop. Wijs de twee groepen (`A` en `B`) aan die moeten afwisselen. Omniscol maakt automatisch de **rotatie** aan: tijdslot 1 → A biologie + B natuurkunde; tijdslot 2 → A natuurkunde + B biologie. Twee docenten tegelijk, twee lokalen, twee halve groepen die rouleren, in totaal vier lessen. 6. **Bijstellen**: een schaarknop tussen de twee aaneengeschakelde lessen verbreekt de koppeling. U kunt dit ook combineren met **afwisseling A/B** (een ander practicum in week A dan in week B) of met **co-teaching** (twee docenten op dezelfde les). Zie [De uren verdelen en de lessen aanmaken](#page-timetables.hour-distribution) voor de volledige context. #### Zie ook - [Afwisselende lessen](#page-glossary.alternate-lessons) - [Aaneengeschakelde lessen](#page-glossary.concatenated-lessons) - [Gekoppelde lessen](#page-glossary.associated-lessons) - [Co-teaching](#page-glossary.co-teaching) - [De uren verdelen en de lessen aanmaken](#page-timetables.hour-distribution) ### 2.10 Campussen, vestigingen, lokalen, resources, meerdere lokalen *Source: `help/nl/core-concepts/sites-rooms-resources.md` · id: core-concepts.sites-rooms-resources · Updated: 2026-06-13* Deze pagina brengt de **organisatorische en fysieke** modellering van een instelling in Omniscol samen: welke campussen de klassen ordenen, waar de lessen plaatsvinden, in welke lokalen en met welke verplaatsbare apparatuur. > _Premium_ #### Campussen — de organisatorische laag Met een [campus](#page-glossary.campus) onderscheidt u meerdere scholen, faculteiten of afdelingen binnen één account. Het is een begrip van interne organisatie: het dient om klassen te groeperen volgens de structuur van de instelling en om bepaalde filters te vergemakkelijken. Dit begrip is **optioneel**. Het wordt vooral nuttig wanneer het begrip vestiging niet goed samenvalt met de logische organisatie van de instelling, of wanneer u beide naast elkaar wilt aanhouden. De campus staat dwars op de vestiging. Een vestiging beschrijft eerder een geografische of fysieke werkelijkheid: plaats, tijdrooster, lokalen, reistijden. De twee begrippen vallen niet noodzakelijk samen. Juist dan worden ze het nuttigst. Bijvoorbeeld: - een faculteit kan meerdere vestigingen gebruiken; - één fysieke vestiging kan meerdere campussen of afdelingen huisvesten; - meerdere faculteiten kunnen dezelfde gebouwen delen; - meerdere scholen van eenzelfde scholengroep kunnen meerdere vestigingen kriskras delen; - een campus kan vooral als analysefilter dienen, zonder de reistijden te veranderen. Zelfs wanneer campus en vestiging vrijwel volledig samenvallen, kan het nuttig blijven om beide aan te houden, voor filters, groeperingen en bepaalde analyses. Campussen maakt u aan in de [algemene instellingen](#page-admin.parameters), onder de klasniveaus. Daarna kunt u ze op de klassen invullen. De conflictdiagnose kan ze gebruiken om waarschuwingen op organisatorisch bereik te filteren. #### Vestigingen — de geografische laag Elke [vestiging](#page-glossary.site) staat voor een afzonderlijke fysieke of geografische plaats. Ten minste één vestiging is verplicht. Vinden al uw lessen op dezelfde plek plaats, maak dan één vestiging aan. Werkt uw instelling met meerdere vestigingen en verplaatsen docenten of leerlingen zich, maak dan zoveel vestigingen aan als nodig **en vul de reistijden ertussen in**. Elke vestiging draagt haar eigen **tijdrooster** (begin- en eindtijden van de tijdsloten, pauzes, middagpauze, sluitingen) — vestigingen kunnen verschillende tijdroosters hebben (bijvoorbeeld een hoofdgebouw en een dependance met andere tijden). Werken met meerdere vestigingen is gangbaar in het **hoger onderwijs** (meerdere campussen, regionale dependances), maar ook in het **basis- en voortgezet onderwijs** (een scholengemeenschap met een onderbouw en een bovenbouw in aparte gebouwen, een basisschool met een dependance, enzovoort). > Werken met meerdere vestigingen is niet inbegrepen in het > **Lite**-abonnement. Het is beschikbaar vanaf het Standard-abonnement. #### Meerdere vestigingen: beleid en reistijden Typisch geval: een docent is om 10.00 uur klaar met een les op vestiging A, moet om 10.30 uur op vestiging B zijn, en de rit duurt 15 minuten. Op een tijdrooster met een pauze van 30 minuten tussen de lessen lukt dat. Met een pauze van slechts 10 minuten niet. ##### De reistijden invullen Op het scherm **Vestigingen** van de module Roosterbeheer opent de knop Afstand tussen vestigingen een pop-up die de reistijden toont als een **driehoekige halve matrix**: N vestigingen = N×(N−1)/2 in te vullen vakjes (geen diagonaal, geen dubbels — de matrix is symmetrisch). Voer de duur in minuten in voor elk paar en bevestig met Opslaan. Zonder die invoer gaat de roostergeneratie ervan uit dat er tussen de vestigingen geen verplaatsing nodig is — ze kan docenten dan teleporteren, wat in de praktijk uiteraard niet werkt. ##### Docentenbeleid: automatische wisseling van vestiging Een **docent** kan van de ene les op de volgende automatisch van vestiging wisselen — het algoritme regelt dat. U hoeft aan de kant van de docent niets vast te leggen: het volstaat dat de reistijden tussen de vestigingen ingevuld zijn. ##### Klassenbeleid: standaardvestiging + handmatig forceren Een **klas** is standaard aan één vestiging gekoppeld (de vestiging waar ze is ingeschreven). Al haar lessen vinden standaard op die vestiging plaats. Maar u kunt **handmatig een lokaal van een andere vestiging koppelen** aan een les van de klas — bijvoorbeeld “les lichamelijke opvoeding in de sportzaal van de dependance”. In dat geval: - houdt het algoritme het **vooraf toegewezen lokaal** aan (het probeert het niet te vervangen door een lokaal van de standaardvestiging); - berekent de roostergeneratie de **reistijden** ten opzichte van de lessen ervoor en erna (op basis van hun vestiging: standaard die van de klas, anders de vestiging van het lokaal dat op die lessen is opgelegd). Is er op een les **geen lokaal opgegeven**, dan kiest het algoritme een lokaal van de **vestiging van de klas**. Dat is de standaardwaarde. ##### Blokkerende beperking, tot op de minuut De beperking tussen vestigingen is **blokkerend** in het algoritme van de automatische roostergeneratie. Ontbreekt er ook maar één minuut tussen het einde van een les op de ene vestiging en het begin van een les op een andere vestiging, dan wordt de plaatsing **geweigerd** — er wordt niet automatisch versoepeld. De controle gebeurt nauwkeurig op het **feitelijke tijdrooster**: volgen twee tijdsloten elkaar op met 15 minuten pauze en duurt de rit 10 minuten, dan lukt het; duurt de rit 16 minuten, dan lukt het niet. ##### Middagpauze bij een wisseling van vestiging Valt een wisseling van vestiging op de middagpauze, dan wordt de reistijd **afgetrokken van de werkelijk beschikbare lunchtijd**. Het algoritme houdt rekening met een minimale lunchduur voor docenten en voor leerlingen (per vestiging ingesteld); brengt de rit die tijd onder het minimum, dan wordt de plaatsing geweigerd. Praktisch gevolg: door de reistijden en de lunchduur per vestiging correct vast te leggen, voorkomt u roosters die theoretisch kloppen maar fysiek niet vol te houden zijn. ##### Gevolg voor de diagnose Ziet u “onmogelijk” staan bij plaatsingen over meerdere vestigingen, controleer dan als eerste: - de opgegeven **reistijden** (niet geteleporteerd, en ook niet belachelijk overschat), - de **pauzes tussen de lessen** in het tijdrooster, - een eventuele **middagpauze** op het betrokken tijdslot, - de **vooraf toegewezen lokalen**: heeft een klas een opgelegd lokaal op een andere vestiging, dan bepaalt dat lokaal de beperking. Bij handmatige plaatsing verschijnt de beperking in oranje en kunt u altijd forceren. Maar tenzij de lessen vergrendeld zijn, zal het achteraf starten van het algoritme van de automatische roostergeneratie de betrokken les of lessen verplaatsen om dat conflict op te lossen. ##### Toepassing: activiteiten buiten de deur Naast de vaste campussen dekt het mechanisme van meerdere vestigingen vanzelf ook **terugkerende activiteiten buiten de deur**: - **bezoek aan een hotel of restaurant** voor een hotelschool; - **museum- of atelierbezoek** voor een kunst- of vormgevingsopleiding; - een terugkerend **bedrijfsbezoek** (bezoeken die elkaar afwisselen); - **veldwerk** op een externe vestiging (bouwplaats, landbouwbedrijf, partnerlaboratorium). Maak voor elke terugkerende externe plaats een aparte vestiging aan, met de reistijd vanaf uw hoofdvestiging. De blokkerende beperking geldt gewoon: past de verplaatsing niet in de tijd die tussen twee lessen beschikbaar is, dan wordt de plaatsing geweigerd. ##### Verder lezen: hoger onderwijs Werken met meerdere vestigingen is bijzonder gangbaar in het hoger onderwijs (meerdere campussen, regionale dependances, docenten die rondreizen). Specifieke gevallen (één rooster per vestiging dankzij meerdere actieve roosters — inbegrepen in Premium —, virtuele vestigingen voor videoconferentie, enzovoort) vindt u in [Meerdere vestigingen in het hoger onderwijs](#page-higher-ed.multi-site). #### Lokalen — waar de lessen plaatsvinden De [lokalen](#page-glossary.classroom) horen bij een vestiging, die hun fysieke werkelijkheid draagt: plaats, tijdrooster, reistijden. Een lokaal draagt: - een **naam**, - een **capaciteit** (aantal leerlingen; een cruciaal veld voor de roostergeneratie), - eventueel een **[specialisatie](#page-glossary.classroom-specialization)** (vrij label: scheikunde, informatica, sport…), - eventueel een **maximumaantal gelijktijdige klassen**, voor **[grote lokalen](#page-glossary.large-room)** die meerdere lessen parallel kunnen huisvesten (examenzaal, sportzaal, zwembad, buitenterrein); dat veld verschijnt pas zodra er een specialisatie is ingevuld, - eventueel vrije **tags** of opmerkingen, - eventueel een **gebouw**, - eventueel specifieke **openingstijden**. ##### Meerdere lokalen: één les in verschillende lokalen Omniscol **ondersteunt** het toewijzen van meerdere lokalen aan dezelfde les. Toepassingen: - **Examens verdeeld over collegezalen** — een examen met 200 kandidaten verdeeld over drie collegezalen (capaciteit 70 + 60 + 80) met één verantwoordelijke docent. De totale capaciteit wordt berekend als de **som** van de toegewezen lokalen. - **Uitgezonden hoorcollege** — een hoorcollege in de hoofdcollegezaal, per videoconferentie uitgezonden naar een satellietlokaal (op een andere vestiging, of zelfs naar een lichting die volledig op afstand volgt). - **Opgesplitste practica** — een practicum met 30 studenten verdeeld over twee naast elkaar gelegen lokalen (15 + 15), met dezelfde docent die heen en weer loopt. Beperking: blijft de som van de capaciteiten **onder** de groepsgrootte, dan toont Omniscol een conflict. Het is aan de beheerder om te beslissen hoe dat wordt opgelost (een lokaal toevoegen, de groep verkleinen, of het conflict aanvaarden als het bewust is — bijvoorbeeld wanneer u weet dat niet alle ingeschrevenen komen opdagen). ##### Lokaalspecialisaties De **[specialisaties](#page-glossary.classroom-specialization)** (scheikunde, informatica, sport, sportzaal, multimedia, studiezaal) zijn optionele **vrije** labels die de instelling zelf bepaalt. U maakt de specialisaties aan die bij uw eigen naamgeving passen, om bepaalde lokalen te onderscheiden die aan specifieke lessen zijn voorbehouden (een sportzaal voor sport, een zwembad voor zwemles, een laboratorium voor een scheikundepracticum, enzovoort). De roostergeneratie houdt zich strikt aan de specialisaties: vereist een vak “scheikunde”, dan worden alleen lokalen met precies die specialisatie gebruikt. Elk lokaal draagt **hoogstens één specialisatie**. Voor een lokaal dat tussen twee gespecialiseerde functies wordt gedeeld, gebruikt u een overkoepelend label (bijvoorbeeld “informatica-multimedia”) en koppelt u datzelfde label aan de betrokken vakken. Zie [Lokaalspecialisaties](#page-core-concepts.classroom-specializations). ##### Vast lokaal voor een klas In veel opstellingen in het basis- en voortgezet onderwijs krijgt elke klas een eigen lokaal (de lessen vinden daar standaard plaats, alleen de docenten verplaatsen zich). Dat stelt u in op de klas — het algoritme geeft dat lokaal dan voorrang voor de lessen van de klas (met een hogere prioriteit dan het voorkeurslokaal van de docent, als dat is ingesteld). ##### Lokalen in twee virtuele vestigingen Hebt u twee virtuele vestigingen voor één fysieke plaats (typisch voor een onderbouw en een bovenbouw die de gebouwen delen), dan kan een lokaal maar bij één vestiging tegelijk horen. Om het in beide contexten bruikbaar te maken, dupliceert u het in beide vestigingen en vult u elkaar uitsluitende openingstijden in (“’s ochtends vrij voor de onderbouw, ’s middags voor de bovenbouw”) om dubbele toewijzingen te voorkomen. #### Resources — de verplaatsbare apparatuur Een [resource](#page-glossary.resource) is **verplaatsbare** apparatuur die niet aan een bepaald lokaal vastzit: drie draagbare beamers, een koffer met tablets, een set microfoons, enzovoort. Elke resource draagt: - een **naam**, - een **beschikbare hoeveelheid** (de koffer telt voor 1, niet voor 30 — voer het aantal koffers in, niet het aantal losse tablets). De roostergeneratie garandeert dat op eenzelfde tijdslot het aantal lessen dat de resource vraagt de beschikbare hoeveelheid niet overschrijdt. Het heeft geen zin om resources te modelleren waarvan u er “altijd genoeg” hebt — doe dat alleen voor wat echt schaars en gedeeld is. #### Bijzonder geval — videoconferentie en links per cursus De vorm van een les — fysiek, op afstand, hybride of zelfstudie — ligt vast in haar **[modaliteit](#page-glossary.lesson-modality)** (Premium): die bepaalt of de les een fysiek lokaal in beslag neemt. Voor een cursus die op afstand of hybride wordt gegeven, kunt u een **videoconferentielink** aan de cursus koppelen (Zoom, Teams, Meet…). Zie [Videoconferentielinks per cursus](#page-higher-ed.videoconference-links). Dat is fijnmaziger dan de videoconferentielink op de klas, die een algemene standaardlink is voor al haar lessen. #### Zie ook - [Lokaalspecialisatie](#page-core-concepts.classroom-specializations) - [Vestigingen, tijdroosters, lokalen, resources](#page-timetables.sites-rooms) - [Examens over meerdere lokalen in het hoger onderwijs](#page-higher-ed.multi-room-exams) - [Videoconferentielinks per cursus](#page-higher-ed.videoconference-links) - [Modaliteit](#page-glossary.lesson-modality) ### 2.11 Tijdrooster, tijdsloten en tijdsduur *Source: `help/nl/core-concepts/timetable-grid.md` · id: core-concepts.timetable-grid · Audience: admin/teacher/staff · Plan: standard · Updated: 2026-07-17* Het **tijdrooster** beschrijft de tijdsloten van een vestiging: begintijden, eindtijden, pauzes, middagpauze en sluitingen. Het dient tegelijk voor de weergave, voor de controle van de beschikbaarheid en voor de automatische roostergeneratie. #### Standaardopslag: het tijdslot, niet de geschreven tijd Standaard hangt een geplaatste les aan een **tijdslot van het tijdrooster**. Omniscol bewaart de positie in het tijdrooster en berekent de weergegeven tijden daarna opnieuw uit het tijdrooster van de vestiging. Nuttig gevolg: verschuift de bel bij aanvang op een dag van `08:15` naar `08:10`, dan volgen de lessen op dat tijdslot het nieuwe tijdrooster, zonder dat u elke les afzonderlijk hoeft aan te passen. #### Weergavemodus van het tijdrooster De **weergavemodus** bepaalt hoe de urenkolom wordt gepresenteerd, zonder iets te veranderen aan de plaatsing van de lessen: - **Lesuren** — elke regel draagt de werkelijke tijden van het tijdslot (8.15 – 9.10 uur, 9.15 – 10.15 uur…), zoals vastgelegd door het tijdrooster van de vestiging. - **Periodes** — elke regel draagt een periodenummer (P0, P1, P2…), een gangbare conventie op Angelsaksische scholen. - **Agenda** — kalenderweergave op hele uren (8.00, 9.00, 10.00 uur…), los van het tijdrooster: elke les staat op haar werkelijke tijd tegen een doorlopende tijdsachtergrond. #### Duur van het tijdslot De **duur van het tijdslot** is de referentieduur van een tijdslot. Die kan de wisseltijd tussen de lessen omvatten, als de instelling zo rekent. Voorbeelden: - lessen van 55 minuten met 5 minuten wisseltijd: duur van het tijdslot `60` minuten; - vaste lessen van anderhalf uur: duur van het tijdslot `90` minuten; - overwegend lessen van een uur, met enkele lessen van anderhalf uur: duur van het tijdslot `60` minuten en een passende onderverdeling. Deze duur dient voor het ingestelde aantal lesuren en voor de roostergeneratie. De werkelijke begin- en eindtijden kunnen binnen het tijdrooster variëren: door een pauze kan een weergegeven tijdslot 55 minuten duren en toch aan een referentieduur van 60 minuten hangen. Deze parameter legt u vast op het tabblad **Algemeen** van de roostereditor (zie [Algemene instellingen](#page-timetables.general-settings)). De gangbare duren zijn, in volgorde van populariteit: 60, 45, 50, 120, 90, 30, 180. In sommige instellingen voor hoger onderwijs duren de lessen altijd meerdere uren, maar kunnen ze willekeurig om 8.00 of om 9.00 uur beginnen, of duren ze 6 of soms 5 uur. In dat geval geeft de grootste gemene deler de doorslag, en dat wordt meestal een duur van het tijdslot van 60 minuten. #### Onderverdeling van het tijdslot De **onderverdeling van het tijdslot** geeft aan in hoeveel deelstukken de duur van het tijdslot kan worden onderverdeeld. Dat is de kleinste tijdstap. Enkele voorbeelden: - `1`: alleen lessen die het hele tijdslot beslaan; - `1/2`: een stap van 30 minuten als het tijdslot 60 minuten duurt; - `1/4`: een stap van 15 minuten als het tijdslot 60 minuten duurt. Kies de eenvoudigste granulariteit die de werkelijke behoeften dekt. Een fijnere onderverdeling geeft meer speelruimte, maar vergroot het aantal mogelijkheden dat de roostergeneratie moet doorrekenen. In de interface stelt u deze parameter in op het tabblad **Algemeen** via Onderverdeling van het tijdslot. In de meeste onderwijsstelsels ter wereld kent het tijdrooster geen onderverdeling. In Frankrijk is dat in het voortgezet onderwijs doorgaans 1/2 (enkele lessen duren anderhalf uur). Bij sommige opleidingsinstituten kan de precisie tot 10 minuten gaan: dat is dan een duur van het tijdslot van 60 minuten met een onderverdeling 1/6. #### Positie en duur: opslag in tijdstappen Een les wordt niet met “harde” tijden opgeslagen, maar als een **aantal tijdstappen** op het tijdrooster. De **stap** is de duur van het tijdslot gedeeld door de onderverdeling: een duur van het tijdslot van 60 minuten met onderverdeling 1/2 geeft een stap van 30 minuten. Een les van een uur beslaat dan 2 stappen, een les van anderhalf uur 3. Drie begrippen bestaan naast elkaar, zonder samen te vallen: - de **referentieduur** (de duur van het tijdslot) dient om het aantal lesuren te tellen en om de **duur van een les weer te geven**; - de weergegeven **werkelijke tijden** (begin en einde) komen uit het **tijdrooster van de vestiging**, tijdslot per tijdslot; - de **opslag** gebeurt in **tijdstappen**, tot op de fijnheid van de onderverdeling. Daarom kan hetzelfde tijdslot 8.15 – 9.10 uur tonen (werkelijke tijden) en toch voor 1 uur meetellen (referentieduur). #### Algemene blokkades van tijdsloten Sommige tijdsloten moeten **voor de hele instelling geblokkeerd** blijven: woensdagmiddag, een vergadermoment, een gereserveerde periode. Die blokkades zet u **rechtstreeks op het tijdrooster van de vestiging**, door het tijdslot als **niet beschikbaar** te markeren: er komt daar geen enkele les, niet in de weergave en niet bij de roostergeneratie. Dit is een **tijdsbeperking die het tijdrooster zelf draagt**. Op Premium-accounts laat hetzelfde mechanisme ook zachte beperkingen toe (tijdsloten die u liever vermijdt zonder ze te sluiten). Zie [Tijdsbeperkingen (algemeen systeem)](#page-core-concepts.time-constraints). #### Middagpauze en verschuivingen De middagpauze beschrijft u met een **venster** (bijvoorbeeld 12.00 – 14.00 uur) en een te vrijwaren **duur** van de lunch. Is de te vrijwaren duur **korter** dan het venster, dan staat Omniscol een les toe **op een deel** van de pauze, zolang de lunchduur mogelijk blijft — vóór of na de tussengeschoven les. Het komt heel vaak voor dat de middagpauze twee uur duurt terwijl er toch een les van een uur op geplaatst mag worden, meestal keuzevakken waarbij niet de hele klas aanwezig is, of klasoverstijgende lessen waarbij het lastig is meerdere klassen op elkaar af te stemmen. De delen van de klas die geen les hebben, worden niet geacht in de studie te zitten (voor het algoritme is dat geen gat). De middagpauze is ook het enige geval waarin een onregelmatig tijdslot als een afwijkend geheel van tijdstappen wordt behandeld. Bij een tijdstap van 30 minuten, een duur van het tijdslot van 1 uur en een pauzevenster van 12.00 tot 13.30 uur beschouwt de software dat als 3 × 30 minuten. U mag dat opgeven als één tijdslot van anderhalf uur, of als 1 uur + 30 minuten, of als 30 minuten + 1 uur — dat maakt niet uit. In die opzet schuiven de lessen van de middag een half uur op. Geeft u dan een minimale lunchduur van een half uur op, dan blijft het mogelijk een les van een uur op de pauze te zetten, waarbij de betrokken leerlingen ofwel vóór ofwel na de les lunchen. U kunt ook aangeven dat de **kantine net vóór** de officiële pauze opengaat: een “gat” op dat tijdslot telt dan niet als verloren tijd voor de leerlingen. Waar het om gaat, is de gewenste regel te modelleren: open tijdsloten, gesloten tijdsloten, een flexibele middagpauze, beschikbaarheid of onbeschikbaarheid. Het tijdrooster moet weergeven wat de instelling werkelijk toestaat. ##### Maaltijden per niveau spreiden om de kantine te ontlasten Kan de kantine niet de hele instelling in één keer aan, dan verdeelt u de niveaus over **twee opeenvolgende shifts**. Het tijdrooster draagt **maar één** gemeenschappelijke middagpauze; de verschuiving regelt u vervolgens **klas per klas** met de tijdsbeperkingen. 1. Geef op het tijdrooster van de vestiging de middagpauze op over het **hele** venster — bijvoorbeeld **12.00 – 14.00 uur** — met een **te vrijwaren lunchduur van één uur**. Op zichzelf genomen zou elke klas dan kunnen lunchen op 12.00 – 13.00 uur of op 13.00 – 14.00 uur. 2. Om de shift van elk niveau **vast te leggen** opent u de tijdsbeperkingen van de klas (Tijdsbeperkingen van de klas) en kleurt u het halve tijdslot dat voor de maaltijd is gereserveerd in **Niet beschikbaar** (zwart). De roostergeneratie plaatst daar geen enkele les: dat moment is gegarandeerd voor de lunch, en de lessen van de klas verhuizen naar het andere halve tijdslot. Voor twee shifts: - **Leerjaar 1, 2 en 3** — niet beschikbaar op **12.00 – 13.00 uur**: zij lunchen in de eerste shift, hun lessen komen op 13.00 – 14.00 uur. - **Leerjaar 4 en 5** — niet beschikbaar op **13.00 – 14.00 uur**: zij lunchen in de tweede shift, hun lessen komen op 12.00 – 13.00 uur. De kantine krijgt zo twee gescheiden stromen in plaats van één. Hetzelfde principe geldt voor drie shifts of meer: verruim het middagvenster en kleur voor elk niveau het halve tijdslot in dat voor zijn maaltijd bestemd is. De editor voor de tijdsbeperkingen wordt beschreven in [Tijdsbeperkingen (algemeen systeem)](#page-core-concepts.time-constraints). > _Premium_ #### Aangepaste tijden voor een les Een les kan een **aangepaste tijd** krijgen: een precieze begin- en eindtijd die niet noodzakelijk samenvalt met de exacte grenzen van een tijdslot. Dat geval bestaat in alle roostertypen. De les verschijnt buiten rooster, met haar werkelijke tijden: zij kan buiten de grenzen van het weergegeven tijdslot beginnen of eindigen. Omniscol gebruikt die aangepaste tijden om de werkelijke overlap te berekenen. Elke entiteit die aan de les is toegewezen — docent, lokaal, klas, groep of resource — geldt als bezet zodra de aangepaste tijd over een tijdslot heen loopt. Voor de automatische roostergeneratie geldt een les met een aangepaste tijd als onverplaatsbaar: de positie ervan wordt automatisch vergrendeld. > _Premium_ #### Klas buiten rooster De **klas buiten rooster** is een ander geval: de lessen van de klas worden met precieze tijden opgeslagen, los van het tijdrooster van de vestiging. Deze functie geldt alleen voor roosters van het type kalender. Zij dient vooral voor bij- en nascholing of zeer flexibele programma's die de lokalen en de docenten delen met het reguliere onderwijs, zonder hetzelfde tijdrooster te volgen. De instelling kiest dan een standaardtijdstap, bijvoorbeeld een kwartier, en de lessen worden met hun begin- en eindtijd opgeslagen. > _Premium_ #### Aangepaste duren Een les kan ook **aangepaste duren** dragen: - **Berekende duur**: duur die uit de aangepaste tijden van de les wordt afgeleid; - **Werkelijke duur**: duur die in de dashboards voorrang krijgt; - **Verrekende duur**: duur die dient voor de facturering of voor de betaling van de docent. Voorbeeld: een examen bezet een lokaal van `08:30` tot `11:30` omdat het lokaal vooraf moet worden klaargezet en achteraf moet worden vrijgemaakt. Het dashboard kan als werkelijke duur maar 2 uur examen tellen, terwijl de verrekende duur van de surveillerende docent hoger kan liggen als de instelling daar een vergoeding voor het nakijken in verwerkt. #### Zie ook - [Algemene instellingen](#page-timetables.general-settings) - [Vestigingen, tijdroosters, lokalen, resources](#page-timetables.sites-rooms) - [Lessen buiten rooster](#page-timetables.off-grid-lessons) ### 2.12 Lokaalspecialisaties *Source: `help/nl/core-concepts/classroom-specializations.md` · id: core-concepts.classroom-specializations · Updated: 2026-06-13* Niet alle lokalen zijn gelijkwaardig: in een scheikundelab kan geen les lichamelijke opvoeding plaatsvinden, een computerlokaal is alleen zinvol voor de vakken die de werkplekken gebruiken, een sportzaal is voorbehouden aan sport. Met de **lokaalspecialisatie** in Omniscol legt u die affiniteiten vast, zodat de roostergeneratie en de diagnoses rekening houden met de fysieke beperkingen. #### Hoe het werkt: één gedeeld label voor lokalen en vakken De specialisatie berust op een **vrij label**, dat de instelling volgens haar eigen naamgeving bepaalt en dat twee gegevens met elkaar verbindt: - **Aan de kant van het lokaal** — elk lokaal draagt **hoogstens één specialisatie** (“scheikunde”, “informatica”, “sportzaal”…). De meeste lokalen hebben er geen. - **Aan de kant van het vak** — een vak dat aan een klas is toegewezen, kan via het veld Speciaal lokaal een gespecialiseerd lokaal vereisen. De waarde moet **exact** overeenkomen met het label van ten minste één lokaal. De koppeling is in beide richtingen strikt: een vak dat “scheikunde” vereist, wordt alleen geplaatst in een lokaal met dat label, en een gespecialiseerd lokaal is **voorbehouden** aan de vakken die om zijn label vragen — het wordt niet gebruikt voor gewone lessen. De **capaciteit** van het lokaal blijft een aparte controle: welke specialisatie ook geldt, het verwachte aantal leerlingen moet in het lokaal passen. #### Effect op de roostergeneratie Bij de roostergeneratie neemt het algoritme voor elke les alleen de **geschikte** lokalen in aanmerking: het specialisatielabel dat het vak eist (indien van toepassing) en voldoende capaciteit voor het aantal leerlingen. Is er geen geschikt lokaal beschikbaar, dan meldt de roostergeneratie dat en wijst de diagnose het betrokken vak, de klas en de specialisatie aan. De afweging is aan u: voeg het label toe aan een ander lokaal, laat de eis bij het vak vervallen, of herzie de aantallen leerlingen. #### Multifunctionele lokalen Een lokaal draagt slechts **één** specialisatielabel. Voor een lokaal dat twee gespecialiseerde functies moet vervullen — bijvoorbeeld informatica en multimedia — maakt u een overkoepelend label aan (“informatica-multimedia”) en zet u datzelfde label op alle betrokken vakken. #### Generieke lokalen **Generieke** lokalen (zonder specialisatie) bieden plaats aan alle vakken die geen gespecialiseerd lokaal vereisen. Dat is het meest voorkomende geval; voeg alleen een specialisatie toe wanneer u wilt beperken. #### Groot lokaal: meerdere lessen tegelijk Een gespecialiseerd lokaal biedt normaal plaats aan **één les tegelijk**. U kunt er een **[groot lokaal](#page-glossary.large-room)** van maken door het **maximumaantal gelijktijdige klassen** in te vullen: het biedt dan plaats aan meerdere verschillende lessen parallel (met afzonderlijke docenten en groepen), zolang de som van de aantallen leerlingen binnen de capaciteit blijft. Dat geldt voor een examenzaal, een sportzaal, een zwembad of een buitenterrein. Deze instelling verschijnt **pas nadat** u het lokaal een specialisatie hebt gegeven. #### Aanbevelingen - **Begin ruim** — leg bij de eerste inrichting niet te veel beperkingen op, anders loopt u het risico de roostergeneratie te blokkeren. - **Verfijn na de eerste diagnose** — zodra u het resultaat van de roostergeneratie ziet, herkent u de gevallen waarin een ontbrekende specialisatie een verkeerde plaatsing had voorkomen. - **Leg het vast voor het team** — docenten en lokaalbeheerders moeten begrijpen waarom een bepaald lokaal beperkt is; anders omzeilen zij het handmatig. #### Stappenplan — Een biologielab inrichten 1. **Richt een gespecialiseerd lokaal in** (biologielab, computerlokaal, sportzaal) zodat de roostergeneratie er niet naast zit. 2. **Open het lokaal** in het scherm Vestigingen / Lokalen / Resources van het rooster. Vul de **specialisatie** in: kies een bestaand label of maak het aan (bijvoorbeeld `BIO`). Een lokaal draagt maar één label. 3. **Capaciteit**: het aantal plaatsen. De roostergeneratie controleert of het aantal leerlingen van de toegewezen groep ≤ capaciteit blijft. ⚠ Wees realistisch — te streng blokkeert de roostergeneratie, te ruim leidt tot overboekingen. 4. **Aan de kant van het vak**: vul op het betrokken vak of de betrokken vakken van elke klas (Biologie, Natuurwetenschappen…) het veld Speciaal lokaal in met hetzelfde label `BIO`. De overeenkomst moet exact zijn — dat is wat het lokaal aan deze vakken voorbehoudt. 5. **Begin ruim** bij de eerste inrichting — minder beperkingen = minder risico dat de roostergeneratie vastloopt. U **verfijnt na de eerste diagnose**, wanneer u de gevallen ziet waarin een ontbrekende specialisatie een verkeerde plaatsing had voorkomen. 6. **Voor een niet-beperkt (generiek) lokaal** vult u geen specialisatie in: het lokaal biedt dan plaats aan alle vakken zonder bijzondere eis. Dat is de eenvoudigste standaardsituatie — voeg de specialisatie alleen toe wanneer u wilt beperken. #### Zie ook - [Lokaalspecialisatie](#page-glossary.classroom-specialization) - [Groot lokaal](#page-glossary.large-room) - [Vestigingen, lokalen, resources, meerdere lokalen](#page-core-concepts.sites-rooms-resources) - [Vakken beheren](#page-admin.subjects) ### 2.13 Beschikbaarheid en tijdsbeperkingen van docenten *Source: `help/nl/core-concepts/wishes-and-availability.md` · id: core-concepts.wishes-and-availability · Updated: 2026-06-21* De **beschikbaarheid** van een docent geeft aan de software door welke tijdsloten voor die docent **onmogelijk**, **ongewenst** of **gewenst** zijn. De roostergeneratie houdt zich strikt aan de onmogelijke tijdsloten en probeert de overige voorkeuren zo goed mogelijk te volgen. In het voortgezet onderwijs spreekt men ook van **wensen** — het is hetzelfde begrip. #### Vier niveaus | Kleur | Betekenis | Effect | | --- | --- | --- | | **Zwart** | Onmogelijk | Harde beperking: de roostergeneratie plaatst hier nooit een les | | **Rood** | Ongewenst | Zachte beperking: de roostergeneratie vermijdt dit indien mogelijk | | **Groen** | Gewenst | De roostergeneratie geeft de voorkeur aan dit tijdslot als er meerdere geldig zijn | Een niet-ingekleurd tijdslot is **neutraal** — beschikbaar, zonder voorkeur. #### De invoer van beschikbaarheid inschakelen De invoermodus kiest u in de [algemene instellingen](#page-admin.parameters), bij de instelling Beschikbaarheid van docenten: - **Uitgeschakeld** — docenten voeren geen beschikbaarheid in. - **Wekelijks** — beschikbaarheid ingevoerd op een standaardweek. Voor week- en cyclische roosters. - **Kalender** — beschikbaarheid ingevoerd per datum. Voor kalenderroosters, op Premium-accounts. - **Kalender + Wekelijks** — beide invoerwijzen bestaan naast elkaar, op Premium-accounts, wanneer terugkerende roosters en kalenderroosters samen voorkomen, of eenvoudigweg om docenten een makkelijkere manier te geven om aan te geven dat zij op een bepaalde dag van de week nooit beschikbaar zijn, ongeacht de datum (uitzonderingen kunnen overigens wel worden opgegeven). #### Invoer door de docent zelf Docenten kunnen hun eigen beschikbaarheid invoeren vanuit hun account [heart]. Een grote tijdwinst voor de administratie. Wil de school niet dat de docent inlogt, dan kunt u hem ook een **deellink** sturen, rechtstreeks naar zijn eigen scherm met beschikbaarheid, in bewerkmodus, aangemaakt vanuit Downloaden met een vervaldatum. De docent voert zijn beschikbaarheid in zonder zelfs maar toestemming te hebben om op zijn account in te loggen. In de praktijk gaat die link vaak mee in een persoonlijk bericht met de geplande vakken, het aantal lesuren, de verplaatsingen of bijzondere beperkingen, en een duidelijke deadline. Omniscol biedt hiervoor geen aparte samenvoegfunctie: elke link neemt u op in de communicatie die u toch al voor de betrokken docent had voorbereid. #### Goedkeuring door de beheerder in het rooster In een weekrooster: - De door de docent ingevoerde beschikbaarheid staat standaard **in afwachting van goedkeuring**. - De roostermaker controleert en **keurt goed** (eventueel na aanpassing — bijvoorbeeld door een te beperkende beschikbaarheid te verwijderen, of door zwart in rood te veranderen). - Elke latere wijziging door de docent komt opnieuw in afwachting te staan. In het voortgezet onderwijs kan de invoer meerdere weken voor de planning worden opengezet. Docenten vullen die dan in op een algemeen tijdrooster, en de goedkeuringsfase zet dat om naar het echte tijdrooster van de lessen in het rooster: de goedkeuringsfase dient er ook toe om die omzetting correct te laten verlopen. De beschikbaarheid van virtuele docenten wordt rechtstreeks opgeslagen. Zo kunt u bijvoorbeeld standaard de woensdag vrij houden. In kalendermodus ([Premium](#page-overview.plans-and-options)): - De beschikbaarheid wordt **in realtime geconsolideerd**. - Conflicten worden meteen gedetecteerd. In kalendermodus gaat men er namelijk van uit dat er minder beperkingen op het tijdrooster liggen (er zijn immers talloze datums) en dat docenten zelfstandig zijn, soms zelfs van buiten de school, met meerdere functies en verantwoordelijkheden tegelijk: het gaat niet om een wens maar om echte beschikbaarheid. Bij wijze van uitzondering is de beschikbaarheid van docenten in kalendermodus daarom te wijzigen vanuit zowel het scherm van de module Beheer als vanuit een rooster. #### Conflict in de beschikbaarheid bij de roostergeneratie Is de beschikbaarheid van een docent **te krap** om zijn lessen te kunnen inplannen, dan mislukt de roostergeneratie met een duidelijke diagnose. Zie [Een mislukte roostergeneratie diagnosticeren](#page-timetables.diagnosing-generation). Oplossingen: - De beschikbaarheid versoepelen (een tijdslot rood maken in plaats van zwart). - De lessen herverdelen (een docent met 18 lesuren en maar 12 vrije tijdsloten redt het niet). - Iemand aannemen (uiterste geval — maar soms is dat de juiste diagnose). #### Stappenplan — Beschikbaarheid van docenten verzamelen en goedkeuren 1. **De beschikbaarheid** geeft aan de roostergeneratie door welke tijdsloten **onmogelijk** zijn (zwart — harde beperking), **ongewenst** (rood — zacht) of **gewenst** (groen). De roostergeneratie houdt zich strikt aan zwart en optimaliseert de rest. 2. **Schakel de invoermodus in** in de algemene instellingen (instelling Beschikbaarheid van docenten): **uitgeschakeld**, **wekelijks** (beschikbaarheid op een standaardweek, de klassieke modus) of **kalender** (op Premium-accounts, beschikbaarheid per datum — te combineren met de wekelijkse modus). Kies op basis van het type rooster dat u gebruikt. 3. **Stel de invoer open** voor de docenten. Twee mogelijkheden: - zij loggen in en voeren hun beschikbaarheid in vanuit hun account [heart]; - u genereert een **rechtstreekse deellink** via Downloaden met een vervaldatum — de docent hoeft niet op zijn eigen account in te loggen — en u stuurt die naar elke betrokkene. 4. **Aan de kant van de docent**: hij logt in of klikt op de link, ziet zijn tijdrooster en markeert de tijdsloten zwart (onmogelijk), rood (ongewenst), groen (gewenst). Meteen opgeslagen. Het is zo gebeurd. 5. **Goedkeuring door de beheerder (wekelijkse modus)**: de ingevoerde beschikbaarheid komt binnen **in afwachting van goedkeuring**. Controleer en keur goed — u kunt meteen aanpassingen doen. Elke latere wijziging door de docent komt opnieuw in afwachting te staan. In kalendermodus wordt dat in realtime geconsolideerd. ⚠ Markeert een docent te veel zwart, dan kan de roostergeneratie zijn lessen niet plaatsen — de diagnose meldt dat (zie [Een mislukte roostergeneratie diagnosticeren](#page-timetables.diagnosing-generation)). #### Zie ook - [Tijdsbeperkingen (algemeen systeem)](#page-core-concepts.time-constraints) - [Beschikbaarheid van docenten (wensen)](#page-glossary.wishes) - [Incompatibiliteit (tussen vakken)](#page-glossary.incompatibility) - [Roostergeneratie](#page-glossary.solver) - [Beschikbaarheid in kalendermodus](#page-timetables.calendar-wishes) ### 2.14 Tijdsbeperkingen: klassen, vakken, groepen, lokalen en tijdrooster *Source: `help/nl/core-concepts/time-constraints.md` · id: core-concepts.time-constraints · Audience: admin · Updated: 2026-06-27* **Tijdsbeperkingen** geven de roostergeneratie door welke tijdsloten zij moet **vermijden** en aan welke zij juist de **voorkeur** moet geven. Dezelfde editor dient voor de **beschikbaarheid van een docent** en voor de beperkingen die aan een **klas**, een **vak**, een **groep**, een **lokaal** of aan het **tijdrooster** zelf hangen. Elk scherm biedt alleen de niveaus die daar betekenis hebben. Voor de details rond de docent (invoer door de docent, deellink, validatie), zie [Beschikbaarheid van docenten](#page-core-concepts.wishes-and-availability). #### De vier niveaus Een tijdslot kleurt u in met een van deze niveaus, elk herkenbaar aan een kleur: | Kleur | Niveau | Effect op de generatie | | --- | --- | --- | | ⚫ **Zwart** | Niet beschikbaar | Harde beperking: de roostergeneratie plaatst hier nooit een les | | 🔴 **Rood** | Ongewenst | Sterke zachte beperking: de roostergeneratie vermijdt dit zoveel mogelijk | | 🟠 **Oranje** | Minder gewenst | Lichte zachte beperking: te vermijden als de rest het toelaat | | 🟢 **Groen** | Voorkeur | Positieve voorkeur: de roostergeneratie kiest dit tijdslot graag | Een niet-ingekleurd tijdslot is **neutraal**. De [eraser] Gum wist een gezet niveau en zet het tijdslot terug op neutraal. #### Wie welke niveaus draagt Niet overal zijn alle vier de niveaus beschikbaar: - **Docent** — Niet beschikbaar, Ongewenst, Voorkeur (zwart, rood, groen). Dit is zijn **beschikbaarheid**. - **Klas** (Tijdsbeperkingen van de klas), **vak** ([clock]), **lokaal** (Beschikbaarheid) — Niet beschikbaar en Ongewenst (zwart, rood). Hier geeft u de tijdsloten aan waarop u niet, of liever niet, wilt dat de klas werkt / het vak wordt ingepland / het lokaal wordt gebruikt. - **Groep** (Beschikbaarheid) — dezelfde niveaus zwart en rood, Premium-functie (zie hieronder). - **Tijdrooster** (de vestiging) — dit is het **enige** scherm dat het niveau **oranje** (Minder gewenst) aanbiedt. Zie hieronder. U bereikt de editor overal via het **kleine klokje** [clock] bij de entiteit (bij elke klas, elk vak van de klas, elk lokaal…). Het klokje **kleurt** zodra er al beperkingen zijn ingevoerd. #### Beperkingen op het tijdrooster Op het tijdrooster van een vestiging kleurt u rechtstreeks de **algemene beperkingen** in, die voor de **hele instelling** gelden: - een tijdslot **zwart** kleuren **sluit** het voor iedereen — zo verbiedt u een tijdslot overal tegelijk (woensdagmiddag, een pauze, een vergaderslot…). > _Premium_ Met Premium accepteert het tijdrooster daarnaast **zachte** beperkingen: **rood** (Ongewenst) en **oranje** (Minder gewenst), om een tijdslot te ontmoedigen zonder het te sluiten. Zie [Tijdrooster, tijdsloten en tijdsduur](#page-core-concepts.timetable-grid) voor de opbouw van het tijdrooster (tijdsloten, duur, pauzes). #### De editor voor tijdsbeperkingen De editor is voor alle entiteiten dezelfde, en alles gaat met een klik. **Kies eerst een niveau** in de balk bovenaan (welke niveaus worden aangeboden, hangt van de entiteit af). Dat niveau wordt het actieve “penseel” en geldt voor elk tijdslot dat u aanraakt: - **Klik op een cel** om alleen dat tijdslot in te kleuren; **klik en sleep** over meerdere cellen om ze in één beweging in te kleuren. - **Klik op de kop van een dag** om **de hele kolom** in te kleuren (de volledige dag); **klik op de kop van een uur** om **de hele rij** in te kleuren (dat tijdslot op alle dagen). Zo dekt u het snelst grote blokken af. - De [eraser] Gum is een penseel als alle andere: selecteer hem en klik of sleep vervolgens om terug te keren naar neutraal. ##### Standaardweek en kalenderweergave Voor een weekrooster of een cyclisch rooster voert u de beperkingen in op een **standaardweek**. > _Premium_ Voor een rooster van het type kalender (Premium) kunt u met een navigatiebalk wisselen tussen **weken**, **maanden**, **het hele jaar** en de **standaardweek**: u voert beperkingen met een datum in, en u kunt daarnaast een terugkerende beperking op de standaardweek opgeven. De [datumvensters](#page-timetables.date-windows) beperken bovendien de perioden waarin bepaalde lessen mogen worden ingepland. Op de **standaardweek** brengt elk tijdslot de beperkingen van alle overeenkomstige datums in die periode **samen** (alle maandagen om 8.00 uur, bijvoorbeeld). Lopen die datums uiteen, dan toont het tijdslot een **evenredige kleurenband** — de breedte van elke kleur weerspiegelt het aantal betrokken dagen — en geeft de **tooltip** het aantal per niveau (hoeveel dagen niet beschikbaar, hoeveel ongewenst, enzovoort). **Klikken op dat tijdslot legt het gekozen niveau in één keer op al die datums op**: dat is de algemene manier om de knoop door te hakken voor de hele dag van de standaardweek. #### Aanvullende opties > _Premium_ Onder de editor kan een beperking van een klas of een groep **maxima** dragen (Premium): - Maximumaantal lesuren per dag — in de notatie `HH:MM`; - Maximumaantal lesuren per week — in kalendermodus. De roostergeneratie houdt zich aan die maxima als optimalisatiebeperkingen. Aan de kant van de docent kan een vrije **opmerking** een toelichting bij zijn beschikbaarheid meegeven (verplaatsingen, een bijzondere beperking). #### Overerving tussen niveaus > _Premium_ Een **groep** erft de beperkingen van zijn **klas** en van zijn **oudergroepen** (zie [Groepshiërarchie](#page-core-concepts.group-hierarchy)). Moet een tijdslot plaatselijk toch worden **toegestaan** ondanks een overgeërfde beperking, dan neutraliseert het niveau **Toegestane lessen** die overgeërfde beperking **zonder de bron te wijzigen**. #### Effect bij de roostergeneratie **Zwarte** beperkingen zijn **blokkerend**: een les komt nooit op een niet-beschikbaar tijdslot terecht. De niveaus rood en oranje zijn **strafpunten** die de roostergeneratie tot een minimum probeert te beperken; groen is een **bonus**. Maken de beperkingen een les onplaatsbaar, dan meldt de roostergeneratie dat — zie [Een mislukte roostergeneratie diagnosticeren](#page-timetables.diagnosing-generation). #### Zie ook - [Beschikbaarheid van docenten](#page-core-concepts.wishes-and-availability) - [Groepshiërarchie](#page-core-concepts.group-hierarchy) - [Tijdrooster, tijdsloten en tijdsduur](#page-core-concepts.timetable-grid) - [Datumvensters](#page-timetables.date-windows) - [Beschikbaarheid van docenten (wensen)](#page-glossary.wishes) ### 2.15 Schooljaar, afwisselende weken, vakanties *Source: `help/nl/core-concepts/school-year.md` · id: core-concepts.school-year · Plan: standard · Updated: 2026-05-12* Het **schooljaar** is het tijdskader waarbinnen de roosters lopen. Het roept drie structurerende vragen op: wanneer het jaar begint en eindigt, wanneer de vakanties vallen, en — als de instelling met afwisselende weken werkt — hoe die afwisseling op deze kalender aansluit. Dit wordt ook de academische kalender genoemd. #### Schooljaar en grenzen Een schooljaar heeft een **begindatum** en een **einddatum**. Over dat bereik worden de weken genummerd. De publicatie van een rooster heeft betrekking op een deel van die weken of op alle weken. Een rooster van het type kalender kan zelfs over een langere periode dan het schooljaar worden gepubliceerd (typisch een EMBA van 18 maanden), maar alleen de datums die op de schooljaren zijn vastgelegd, tellen mee. Zonder actief schooljaar stelt Omniscol de dagelijkse modules niet beschikbaar (rooster, dashboard, afwezigheden) — dat is een vereiste. Zie [Schooljaar en vakanties](#page-admin.school-year). Schooljaren mogen geen datums gemeen hebben. Meestal ligt er een vakantieperiode tussen, maar u kunt ze ook naadloos op elkaar laten aansluiten. Sommige opleidingsinstellingen zijn niet aan een academische cyclus gebonden: het schooljaar is dan gewoon het kalenderjaar, van 1 januari tot en met 31 december. #### Vakanties **Vakanties** zijn **inactieve** periodes: geen lessen, geen evenementen, geen urentelling. Twee bronnen: - **Gemeenschappelijke vakanties** — afkomstig uit de officiële kalender van het land (herfstvakantie, kerstvakantie, voorjaarsvakantie, meivakantie). Omniscol kan ze u voorstellen op basis van het ingestelde land; welke u importeert, kiest u zelf. - **Specifieke vakanties** — eigen aan de instelling (studiedag, examens, plaatselijke vrije dag). Die voegt u met de hand toe. Beide soorten tellen zonder onderscheid mee. Vakanties gelden daarentegen voor de hele instelling. Betreft het maar enkele klassen, gebruik dan een afwezigheid van de klas of een periode van onbeschikbaarheid van de klas (die eventueel voor meerdere klassen te hergebruiken zijn, bijvoorbeeld voor klassen die in het buitenland verblijven). #### Afwisselende weken (A/B en verder) Sommige scholen hebben cursussen die maar om de week terugkomen (of nog minder vaak): lichamelijke opvoeding als dubbele les, een mentoruur om de week, keuzevakken. Omniscol regelt dat via het **tellen van de weken**: de weken van het jaar krijgen geen etiket, ze worden doorlopend geteld. Elke cursus volgt echter zijn eigen cyclus — eens in de twee weken (A/B), eens in de drie weken (A/B/C), enzovoort. In eenzelfde tijdslot staan dan verschillende lessen naargelang de plaats van de week in de cyclus, bijvoorbeeld de ene les in de oneven weken en de andere in de even weken, op dezelfde dag en hetzelfde tijdstip. Omdat de berekening dynamisch is, kunnen cursussen in A/B en cursussen in A/B/C binnen dezelfde klas naast elkaar bestaan. De **activering** van de afwisselende weken en de **weergavevorm** van de afwisseling (`A/B`, `1/2`…) worden ingesteld in de [algemene instellingen](#page-admin.parameters). Het scherm van het [schooljaar](#page-admin.school-year) dient vervolgens om op de tijdlijn **de punten af te dwingen waarop de telling opnieuw bij week A begint** — bijvoorbeeld om na een vakantie netjes te herstarten; om leesbaar te blijven toont de tijdlijn de afwisseling alleen in A/B. Om op een tijdslot **afwisselende lessen vast te leggen**, zie [Complexe lessen](#page-core-concepts.complex-lessons). #### Meerdere jaren tegelijk Omniscol beheert **meerdere schooljaren tegelijk** binnen hetzelfde account: bijvoorbeeld het lopende jaar 2026-2027 en het volgende jaar 2027-2028 in voorbereiding. Het begrip **huidig schooljaar** bepaalt wat de gebruikers dagelijks te zien krijgen; de overige blijven toegankelijk voor administratief beheer en raadpleging. #### Zie ook - [Schooljaar](#page-glossary.school-year) - [Afwisselende lessen](#page-glossary.alternate-lessons) - [Schooljaar en vakanties](#page-admin.school-year) - [Publicatie van een rooster](#page-timetables.publication) - [Complexe lessen](#page-core-concepts.complex-lessons) ### 2.16 Tijdlijn en navigatie in de tijd *Source: `help/nl/core-concepts/timeline-navigation.md` · id: core-concepts.timeline-navigation · Updated: 2026-05-12* Elk Omniscol-scherm dat een rooster of statistieken toont, draagt bovenaan de pagina een **tijdlijn** (de “tijdbalk”). Daarmee **navigeert u door de tijd**: u kiest het schooljaar en de getoonde periode, en op sommige schermen schakelt u van een weekweergave naar een maand- of jaarweergave. Deze pagina beschrijft de gemeenschappelijke principes; elke module heeft zijn eigen bijzonderheden, die op de pagina van die module staan. #### Knoppen van de tijdlijn De tijdlijn heeft aan weerszijden een **pijl naar links** en een **pijl naar rechts**: - de **pijl naar links** ← gaat terug naar het **vorige schooljaar**, - de **pijl naar rechts** → gaat vooruit naar het **volgende schooljaar** (bijvoorbeeld het volgende schooljaar dat in voorbereiding is). Het jaar (of de periode) dat **op dit moment wordt getoond**, staat meestal voluit boven de tijdlijn. #### De klassieke vergissing: de pijl naar rechts > De module **Roosterbeheer** toont **standaard het huidige > schooljaar**. Wanneer een roostermaker de start van het volgende > schooljaar voorbereidt, moet hij of zij **uitdrukkelijk op de pijl > naar rechts** van de tijdlijn klikken om naar dat schooljaar over te > schakelen, voordat het rooster daarop kan worden verdeeld of > gepubliceerd. Op dit specifieke scherm kunt u ook van het ene jaar > naar het andere gaan door op het schooljaar te klikken. Het huidige > staat in het groen, het volgende in het oranje. #### Tijdweergaven per module Niet alle modules bieden dezelfde granulariteit: | Module | Standaardweergave | Andere weergaven | | --- | --- | --- | | **Rooster** | Week | Dag, maand | | **Dashboard** | Week | Maand, jaar, vrij bereik van datum tot datum | | **Afwezigheidsbeheer** | Week | Maand, jaar, vrij bereik van datum tot datum | | **Personeelsinzet** | Week | Dag | | **Roosterbeheer** | Volledig schooljaar | | | **Bewerken van een kalenderrooster** | Week | Maand | | **Beschikbaarheid op de kalender** | Week | Maand, schooljaar, weekpatroon | De **knoppen om van weergave te wisselen** staan naast de tijdlijn, meestal erboven aan de linkerkant. De weergaven `jaar` en `vrij bereik van datum tot datum` vindt u vooral in het **Dashboard**, waar ze dienen voor statistieken over meerdere periodes heen. #### Standaard getoond schooljaar Het **huidige schooljaar** (ingesteld in [Beheer](#page-admin.school-year)) wordt in alle modules en voor alle gebruikers **standaard getoond**. - Een docent of leerling die het rooster raadpleegt, ziet **alleen het huidige jaar**. Aan de portaalkant is er geen toegang tot afgelopen jaren of jaren in voorbereiding. Dat is bewust zo: voor hen gaat het rooster over vandaag. - **Afwezigheden** kunnen **alleen in het huidige schooljaar** worden gemeld. U kunt niet met terugwerkende kracht een afwezigheid voor een afgelopen jaar melden, en evenmin vooruitlopen op het volgende jaar. - **Beheerders** kunnen daarentegen via de tijdlijn tussen de jaren **navigeren** — vandaar het belang van die pijlen. Het huidige schooljaar is ook het jaar waarmee de export en de synchronisatie met externe software rekening houden. #### Wanneer u het huidige schooljaar omschakelt Typisch verloop: 1. **Jaar N loopt**. U werkt daarnaast aan jaar N+1 in [Roosterbeheer](#page-timetables.overview), via de pijl naar rechts. Alle gebruikers zien op hun portaal en bij hun afwezigheden nog steeds jaar N. 2. **Laatste voorbereiding** van de start van jaar N+1: het rooster N+1 wordt op de bijbehorende weken gepubliceerd (maar het huidige jaar blijft N). 3. **Vlak voor de start van het schooljaar**, wanneer u er klaar voor bent dat iedereen op N+1 overgaat: wijzig het huidige schooljaar in [Beheer → Schooljaar](#page-admin.school-year). 4. **Onmiddellijk effect**: alle gebruikers zien voortaan standaard N+1. Elke docent en elke leerling krijgt toegang tot het nieuwe rooster. Afwezigheden worden nu op N+1 gemeld. Het precieze moment van de omschakeling hangt af van uw instelling — vaak **de dag vóór de start van het schooljaar**, wanneer alles is gevalideerd, soms **de ochtend van de eerste dag** om nog wat controlemarge te houden. Geen haast: u houdt raadpleegtoegang tot het afgelopen jaar als historisch overzicht. #### Schooljaar ≠ kalenderjaar Een **schooljaar** in Omniscol valt niet noodzakelijk samen met september → augustus. Veelvoorkomende bijzondere gevallen: - **Instellingen voor bij- en nascholing** — vaak afgestemd op het **kalenderjaar** (1 januari → 31 december). Leg uw schooljaar met die datums vast in [Beheer → Schooljaar](#page-admin.school-year); alles werkt precies hetzelfde. - **Universiteiten** met verschoven semesters of lange cycli (intensieve modules over 18 maanden) — u kunt schooljaren van niet-standaardlengte definiëren. #### Zie ook - [Schooljaar](#page-core-concepts.school-year) - [Schooljaar en vakanties](#page-admin.school-year) - [Een rooster publiceren (activeren)](#page-timetables.publication) - [Het volgende schooljaar voorbereiden](#page-timetables.next-school-year) ### 2.17 Zoeken en filteren in lijsten *Source: `help/nl/core-concepts/search-and-filter.md` · id: core-concepts.search-and-filter · Audience: admin/teacher/staff · Plan: standard · Updated: 2026-06-27* Dezelfde zoekbalk staat in de meeste lijsten van Omniscol (lokalen, docenten, klassen, vakken, resources, leerlingen…): hij combineert een **tekstuele** zoekopdracht en, overal waar een getalswaarde aanwezig is, een **numerieke** voorwaarde. Bij **lokalen** slaat die voorwaarde op de **capaciteit** — het meest volledige gebruik, dat hier wordt beschreven. U vindt deze balk terug op het tabblad Lokalen van het Dashboard en ook in de **keuzelijst met lokalen** van een les, wanneer u in het rooster een lokaal toewijst of wijzigt (Een lokaal toewijzen). #### Zoeken op tekst Zoeken op tekst werkt in **al deze lijsten**. Bij lokalen kijkt het naar de naam van het lokaal, de vestiging, het gebouw, de specialisatie of de tags die in Omniscol zijn ingevuld; bij de andere lijsten naar de weergegeven velden (naam, code, enzovoort). Voorbeelden: - `noord` toont de lokalen waarvan de gegevens `noord` bevatten. - `laboratorium scheikunde` toont de lokalen die aan beide termen voldoen. - `aula, gymzaal` toont de lokalen die overeenkomen met `aula` of met `gymzaal`. #### Capaciteitsfilter (lokalen) In de lijsten met lokalen filteren de numerieke vergelijkingsoperatoren op de capaciteit van het lokaal: - `>50`: capaciteit strikt groter dan 50; - `>=50`: capaciteit van minstens 50; - `<25`: capaciteit strikt kleiner dan 25; - `<=100`: capaciteit van hoogstens 100; - `=30`: capaciteit precies gelijk aan 30; - `50-100`: capaciteit tussen 50 en 100; - `50-`: capaciteit gelijk aan of groter dan 50; - `-25`: capaciteit gelijk aan of kleiner dan 25. #### Nuttige combinaties Spaties voegen criteria toe waaraan samen moet worden voldaan. Komma's scheiden mogelijkheden. - `>50 vestiging noord`: lokalen met meer dan 50 plaatsen die aan de vestiging noord gekoppeld zijn. - `<=30 laboratorium`: kleine lokalen van het type laboratorium. - `aula, >100`: lokalen die `aula` bevatten of lokalen met meer dan 100 plaatsen. - `gebouw A informatica`: lokalen die aan gebouw A en aan informatica gekoppeld zijn. #### Waarom het loont om lokalen goed in te vullen De filters worden nauwkeuriger wanneer vestigingen, gebouwen, specialisaties en tags actueel worden gehouden. Die gegevens verbeteren het zoeken in het rooster, de lokaalstatistieken en de analyses van de gebouwbezetting. #### Zie ook - [Lokaalstatistieken](#page-dashboard.classrooms) - [Tabellen en grafieken gebruiken](#page-dashboard.tools-and-filters) - [Vestigingen, lokalen en resources](#page-timetables.sites-rooms) ### 2.18 Samenwerking tussen beheerders *Source: `help/nl/core-concepts/collaboration.md` · id: core-concepts.collaboration · Audience: admin · Feature: collab · Updated: 2026-06-13* > **Premium** Met de optie **Realtime samenwerking** kunnen meerdere beheerders tegelijk aan hetzelfde Omniscol-account werken: iedereen ziet de aanwezigheid van de anderen live, en de server voegt gelijktijdige handelingen samen. #### Aanwezigheid in realtime Boven aan het scherm verschijnt een indicator in de vorm van een **rondje met initialen** voor elke andere beheerder die tegelijk met u op het account is aangemeld (dat van uzelf is lichtblauw, en bij grote aantallen overlappen de rondjes elkaar). Beweeg de muisaanwijzer erover: een tooltip geeft de naam van elke persoon en **het scherm dat die persoon op dat moment open heeft**. Een indicator wordt **rood** zodra een andere beheerder **hetzelfde bewerkingsscherm** opent als u — het opbouwen van een rooster (vestigingen, klassen, groepen, urenverdeling), herschikking, personeelsinzet, gebruikers, vakken of instellingen. Dat is het signaal van een **risico op gelijktijdige wijziging**. Toch wordt u daardoor niet geblokkeerd: de server **voegt gelijktijdige handelingen samen** voor zover dat mogelijk is, zodat iedereen zijn wijzigingen behoudt zonder dat er stilzwijgend iets wordt overschreven. Precies hetzelfde veld van een gebruiker of van een les wijzigen, of massaal gegevens importeren, loopt echter onvermijdelijk uit op een conflict: de laatste wijziging wint. De rode indicator is een uitnodiging om af te stemmen, zodat u niet tegelijk op dezelfde plek, aan dezelfde gegevens, op hetzelfde moment werkt. #### Wanneer u dit gebruikt - **Grote school met meerdere beheerders** — ieder neemt een afdeling, een lichting of een vestiging voor zijn rekening, maar allemaal werken ze tegelijk in Omniscol. - **Drukke periodes** — het opbouwen van het nieuwe schooljaar, de overgang naar een examenperiode, het verwerken van een golf aan afwezigheden. - **Afstemming tijdens een vergadering** — het team komt samen rond een beslissing en meerdere deelnemers voeren wijzigingen door vanaf hun eigen computer: met de aanwezigheidsrondjes kunt u de werkgebieden onderling verdelen. #### Grens van de synchronisatie De aanwezigheidsrondjes worden in realtime doorgegeven. Het werkscherm dat een andere gebruiker open heeft, wordt daarentegen niet noodzakelijk automatisch ververst nadat u hebt opgeslagen. Heeft een collega net een gegeven gewijzigd dat u aan het bekijken bent, herlaad dan de weergave of open het item opnieuw voordat u er een beslissing op baseert. #### Aanbevolen werkwijze - **Bepaal de werkgebieden**: wie doet wat. Een werkgebied kan informeel zijn (per e-mail) of vastgelegd worden via de [aangepaste rollen](#page-admin.customroles). - **Communiceer buiten de app** — houd een apart kanaal aan voor de afstemming over inhoudelijke beslissingen; de aanwezigheidsindicatoren vervangen geen werkafspraak. - **Bewerk niet tegelijk dezelfde structuur**: werken twee mensen op hetzelfde moment aan de leerlingenlijst van een klas, dan neemt het risico op een conflict toe. Verdeel de deeltaken per werkgebied. #### Stappenplan — Een schooljaarstart met drie beheerders coördineren 1. **Op grote scholen** vraagt het opbouwen van het nieuwe schooljaar de inzet van meerdere beheerders tegelijk. De optie **Realtime samenwerking** voegt daar realtime aanwezigheid en het samenvoegen van gelijktijdige handelingen aan toe. 2. **Leg de werkgebieden vooraf vast** (in een vergadering of per e-mail): wie beheert welke afdeling / lichting / vestiging. U kunt die organisatie aanvullen met de [aangepaste rollen](#page-admin.customroles), die per account de toegankelijke modules en handelingen beperken; de verdeling per afdeling of per vestiging blijft daarentegen een teamafspraak. 3. **Iedereen meldt zich aan** op het Omniscol-account. Boven aan het scherm verschijnen **de indicatoren met de initialen** van de andere aangemelde beheerders in realtime. Bij aanwijzen: de naam en het huidige scherm van elke persoon. 4. **Conflictsignaal**: een indicator wordt **rood** wanneer twee beheerders hetzelfde bewerkingsscherm openen (dezelfde klassen, dezelfde herschikking…). Dat wijst op een risico op gelijktijdige wijziging, zichtbaar voor alle betrokken beheerders. 5. **De server voegt gelijktijdige handelingen samen**: tijdens het bewerken wordt u niet geblokkeerd en behoudt iedereen zijn wijzigingen, voor zover dat mogelijk is. De rode indicator nodigt u uit om af te stemmen voordat u op dezelfde plek aan de slag gaat. 6. **Aanbevolen werkwijze**: houd een apart afstemmingskanaal aan en verdeel de deeltaken per werkgebied (één beheerder per afdeling). Vermijd dat twee mensen dezelfde structuur bewerken (de leerlingenlijst van een klas bijvoorbeeld) op hetzelfde moment. Herlaad na een wijziging door een collega de betrokken weergave voordat u de getoonde gegevens als actueel beschouwt. #### Zie ook - [Abonnementen en opties van Omniscol](#page-overview.plans-and-options) - [Gebruikers en rollen](#page-admin.users-and-roles) - [Aangepaste rollen](#page-admin.customroles) --- ## 3. Een rooster maken (module Roosterbeheer) ### 3.1 Overzicht van de module Roosterbeheer *Source: `help/nl/timetables/overview.md` · id: timetables.overview · Audience: admin · Updated: 2026-06-13* De module **Roosterbeheer** is het hart van Omniscol: hier maakt u de roosters aan, stelt u ze in, genereert u ze en publiceert u ze. Voor een terugkerend rooster (wekelijks/cyclisch) gebruikt u de module **af en toe** (meestal vóór de start van het schooljaar, wanneer u een ander trimester of semester aanmaakt, en bij structurele wijzigingen), niet dagelijks (daarvoor is er de module [Rooster](#page-schedules.consult-and-filter)). Voor een rooster van het type kalender is de module in het hoger onderwijs juist het belangrijkste werkscherm van het hele planningsteam, elke dag. #### Het planningsproces Een rooster bouwen is geen rechte lijn: na het aanmaken en het instellen vormt een **cyclus** de kern — enkele lessen plaatsen, genereren, analyseren, bijstellen, opnieuw doorlopen — vóór een lineaire tijdlijn die begint bij de **publicatie** (de start van het schooljaar). ```mermaid flowchart LR A["Aanmaken"] --> B["Instellen
vestigingen, lokalen, docenten,
klassen, groepen, cursussen"] B --> M["Handmatige plaatsing
ankerpunten, vergrendelingen"] M --> G["Roostergeneratie
automatisch/handmatig,
gedeeltelijk of volledig"] G --> J["Analyse,
gerichte bijstellingen"] J -->|opnieuw doorlopen| G J --> P["Publicatie
= start van het schooljaar"] P --> E["Dagelijks gebruik"] E --> Mod["Wijzigingen
in de loop van het jaar"] Mod -.->|uitzondering| J ``` U keert op elk moment terug naar een eerdere stap, slaat onderweg uw werk op en dupliceert een rooster om er een variant van te maken. De kern van de cyclus wordt uitgewerkt in [Automatische roostergeneratie](#page-timetables.generation) en [Handmatige plaatsing](#page-timetables.manual-placement); na de start van het schooljaar verlopen de bijstellingen via [Eenmalige wijzigingen](#page-schedules.ad-hoc-changes). #### Meerdere roosters naast elkaar U kunt meerdere roosters in uw account hebben: - niet-gepubliceerde **concepten** (om het nieuwe schooljaar voor te bereiden terwijl het lopende jaar gewoon draait), - roosters voor verschillende **periodes** (S1, S2…), - in Premium, roosters die **tegelijk actief** zijn in dezelfde weken (bijvoorbeeld een wekelijks rooster voor de ochtend + een kalenderrooster voor de middag) — zie [Meerdere actieve roosters naast elkaar](#page-timetables.multiple-active-timetables). Deze mogelijkheid kan ook contractueel worden opengesteld voor bepaalde Standard-accounts. #### De stappen in detail Elke stap heeft een eigen pagina: De **vereisten** vooraf: [Vereisten om een rooster te maken](#page-timetables.prerequisites). Daarna acht stappen: 1. [Algemene instellingen](#page-timetables.general-settings) 2. [Vestigingen, tijdroosters, lokalen, resources](#page-timetables.sites-rooms) 3. [Docenten toewijzen](#page-timetables.assigning-teachers) 4. [Klassen en hun groepen aanmaken](#page-timetables.creating-classes) 5. [Groepsuitlijningen en groepen van groepen](#page-timetables.alignments-and-groups-of-groups) 6. [De uren verdelen en de lessen aanmaken](#page-timetables.hour-distribution) 7. [Automatische roostergeneratie](#page-timetables.generation) 8. [Een rooster publiceren (activeren)](#page-timetables.publication) Op elk moment kunt u: - Een rooster **bekijken** (alleen-lezenmodus), ter controle. - Een rooster **herschikken** (snelle bewerkmodus), om de posities van de lessen aan te passen. - Een rooster **dupliceren** (een concept maken op basis van een bestaand rooster). - De configuratie van de cursussen **importeren** of **exporteren** via een spreadsheet (zie [Massale import](#page-timetables.mass-import)). #### Snel aan de slag Als dit uw eerste rooster is: 1. Controleer eerst of uw [account is ingesteld](#page-getting-started.setup-school) (instellingen, schooljaar, vakken, gebruikers). 2. Klik rechtsboven op Rooster aanmaken. 3. Kies het [roostertype](#page-overview.timetable-modes) (wekelijks, cyclisch, kalender). 4. Volg de stappen op volgorde. Staan uw gegevens al in een spreadsheet (Excel, Google Sheets, een export uit een ander programma), begin dan meteen met [de massale import](#page-timetables.mass-import): Omniscol maakt de structuur voor u aan, u werkt die daarna af. #### Zie ook - [Het juiste roostertype kiezen](#page-overview.timetable-modes) - [Uw gegevens voorbereiden voor een massale import](#page-getting-started.preparing-data) - [Praktijkgevallen hoger onderwijs](#page-faq.higher-ed-cases) - [Bijzondere gevallen en geavanceerde configuraties](#page-faq.edge-cases) ### 3.2 Vereisten om een rooster te maken *Source: `help/nl/timetables/prerequisites.md` · id: timetables.prerequisites · Audience: admin · Updated: 2026-05-10* Voordat u een rooster maakt, moeten er drie zaken op schoolniveau bestaan: #### 1. Minstens één schooljaar Zonder schooljaar is er geen tijdlijn, en dus ook geen publicatie mogelijk. U maakt het aan in Schooljaren. Zie [Schooljaar en vakanties](#page-admin.school-year). #### 2. De gebruikte vakken Omniscol vult de basis met gemeenschappelijke vakken voor uw land alvast in. Voor specifieke vakgebieden maakt u de **aangepaste vakken** aan in Aanmaken. ⚠ Let op de spelling: Omniscol maakt intern een kopie op het moment dat een vak aan een rooster wordt toegewezen, en een correctie werkt niet door in roosters die in het heden of het verleden al gepubliceerd zijn. Zie [Vakken beheren](#page-admin.subjects). #### 3. De docenten Maak alle docenten aan in Beheer > Docenten (één voor één of in bulk via [import](#page-getting-started.preparing-data)). Vul minstens voornaam, achternaam en e-mailadres in. De onderwezen vakken en de diensturen zijn optioneel, maar handig. Zie [Docenten beheren](#page-admin.teachers). #### Optioneel maar handig - **Leerlingen** — niet nodig om het rooster te maken, maar wel handig voor de individuele roosters na publicatie. - **Lestypes** (werkcollege, practicum, hoorcollege…) — als uw onderwijsnomenclatuur die gebruikt, maak ze dan aan in Aanmaken. - **Niveaus** — controleer of Beheer > Instellingen de klasniveaus bevat die u gaat gebruiken. #### Beginnen kan ook zonder alles Omniscol is **flexibel**. Hebt u bij het maken van het rooster nog niet alle docenten of alle vakken, dan kunt u toch beginnen en gaandeweg aanvullen. Dat verloopt minder rechtlijnig, maar het werkt. Het **schooljaar** is echter wel degelijk onmisbaar vóór publicatie. #### Aan de slag Zodra deze vereisten (op zijn minst gedeeltelijk) op orde zijn: 1. Ga naar de module Roosterbeheer. 2. Klik op Rooster aanmaken. 3. Kies het [roostertype](#page-overview.timetable-modes). 4. U komt uit op de pagina [algemene instellingen](#page-timetables.general-settings). 5. Geef het een label (bijv. “Rooster 2025-2026”, “S1 2025”) en een beschrijving. #### Stappenplan — De vereisten controleren voordat u een rooster maakt 1. **Er moeten drie zaken op schoolniveau bestaan** voordat u een rooster kunt maken: een schooljaar, de vakken en de docenten. 2. **Schooljaar**: open Schooljaren. Controleer of er minstens één jaar is gedefinieerd, met begin- en einddatum en de vakanties. Zonder jaar geen tijdlijn, geen publicatie. Zie [Schooljaar en vakanties](#page-admin.school-year). 3. **Vakken**: Omniscol vult de basis voor uw land alvast in. Heeft uw instelling specifieke vakken (`Huishoudkunde`, `Robotica`, `Gevorderd Mandarijn`), maak die dan aan via Aanmaken. ⚠ Let op de spelling: Omniscol kopieert de naam in elk rooster; een correctie na het aanmaken werkt niet door in publicaties uit het verleden en het heden. 4. **Docenten**: open Docenten. Voor elke docent minstens voornaam, achternaam en e-mailadres. Onderwezen vakken en diensturen zijn optioneel maar handig. Bij veel docenten: massale import (zie [Uw gegevens voorbereiden](#page-getting-started.preparing-data)). 5. **Optioneel maar handig**: lestypes (werkcollege, practicum, hoorcollege…) via Aanmaken als uw nomenclatuur die gebruikt. Klasniveaus controleert u in de algemene instellingen (Aanmaken). 6. **U bent er klaar voor**: module **Roosterbeheer**, knop Rooster aanmaken. Kies het type ([roostertypes](#page-overview.timetable-modes)), geef een label (`Rooster 2026-2027`, `S1 2026`) en een beschrijving. Volgende stap: [algemene instellingen](#page-timetables.general-settings). #### Zie ook - [Het schoolaccount configureren](#page-getting-started.setup-school) - [Volgende stap — Algemene instellingen](#page-timetables.general-settings) ### 3.3 Kalendermodus — geavanceerde opties *Source: `help/nl/timetables/calendar-mode.md` · id: timetables.calendar-mode · Audience: admin · Plan: premium · Updated: 2026-06-13* > **Premium** > _Premium_ De **kalendermodus** is een van de drie roostertypen die Omniscol ondersteunt, naast de wekelijkse modus en de cyclische modus. U gebruikt hem wanneer het rooster geen regelmatige herhaling volgt: elke les heeft een precieze datum, zonder terugkerend weekpatroon. Het aanmaken van een kalenderrooster is opgenomen in het Premium-aanbod, net als de [beschikbaarheid in de kalendermodus](#page-timetables.calendar-wishes) en de publicatie van [meerdere actieve roosters naast elkaar](#page-timetables.multiple-active-timetables): op een Premium-account zijn deze functies beschikbaar zonder aparte activering. #### Wat de kalendermodus specifiek mogelijk maakt - een rooster aanmaken waarvan de lessen afzonderlijk gedateerd zijn; - een datumbereik met een begin- en een einddatum vastleggen; - datumbeperkingen gebruiken wanneer die zijn ingesteld; - alleen een gericht venster genereren dat korter is dan het volledige bereik van het rooster; - de roostergeneratie vragen de lessen aan het begin van de periode, aan het eind van de periode of zonder voorkeur voor de positie te compacteren; - de lessen weergeven, publiceren en raadplegen zoals bij de andere roosters, maar over een datuminterval; - de modus buiten rooster gebruiken op kalenderklassen, met expliciete begin- en eindtijden op elke les. #### Aanvullende functies Andere functies, beschreven op hun eigen pagina's, vullen een kalenderrooster op natuurlijke wijze aan: - [Meerdere actieve roosters naast elkaar](#page-timetables.multiple-active-timetables) om meerdere roosters over dezelfde periode te publiceren; - [Beschikbaarheid in de kalendermodus](#page-timetables.calendar-wishes) om gedateerde beschikbaarheid te verzamelen; - [Groepen van groepen](#page-core-concepts.groups-of-groups) om met klasoverstijgende groepen te werken. #### Wanneer de kalender de voorkeur verdient boven het wekelijkse rooster - **Niet-terugkerende opleidingen**: intensieve modules, seminars, lezingen op wisselende datums. - **Permanente educatie**: lessen die niet volgens een regelmatig academisch jaar terugkeren. - **Docenten op uurbasis**: elke docent heeft een eigen kalender, geen vaste wekelijkse diensturen. - **Lessen aan het eind van de opleiding**: projecten, verdedigingen, examencommissies. Zie [Kalendermodus](#page-higher-ed.calendar-mode) voor de typische gevallen in het hoger onderwijs. #### Stappenplan — Een kalenderrooster aanmaken 1. **Maak een nieuw rooster aan** in Roosterbeheer. Kies op het scherm waar u het type selecteert voor de **kalendermodus**. Geef de begin- en de einddatum op en bevestig. 2. **Stel de kalender in**: label, beschrijving, werkdagen en tijdstructuur. U kunt ook herbruikbare **[datumvensters](#page-timetables.date-windows)** vastleggen, die worden toegepast op de tijdsbeperkingen van lokalen, klassen, vakken en groepen. 3. **Voer de lessen in** op precieze datums: datum, tijden, groep of klas, docent(en) en lokaal of lokalen. Staat een klas buiten rooster, vul dan expliciete begin- en eindtijden in. 4. **Start de roostergeneratie** als u die op dit rooster inzet. Welke beperkingen beschikbaar zijn, hangt af van de ingevoerde gegevens: docenten, lokalen, datums, beschikbaarheid en kalenderbeperkingen. Voor een test of een stapsgewijze opbouw gebruikt u de geavanceerde opties om het gegenereerde datumvenster te beperken; zet het compacteren aan als u niet wilt dat het algoritme de lessen over de hele beschikbare periode uitsmeert. 5. **Publiceer en combineer**: u kunt deze kalender parallel aan een gewoon wekelijks rooster publiceren. De betrokkenen zien de lessen bij het raadplegen samengevoegd. Zie [Meerdere actieve roosters naast elkaar](#page-timetables.multiple-active-timetables). #### Zie ook - [Kalendermodus](#page-glossary.calendar-mode) - [Het juiste roostertype kiezen](#page-overview.timetable-modes) - [Beschikbaarheid in de kalendermodus](#page-timetables.calendar-wishes) - [Datumvensters](#page-timetables.date-windows) - [Meerdere actieve roosters naast elkaar](#page-timetables.multiple-active-timetables) - [Kalendermodus voor niet-terugkerende opleidingen](#page-higher-ed.calendar-mode){append=(hoger onderwijs)} ### 3.4 Beschikbaarheid en beperkingen in de kalendermodus *Source: `help/nl/timetables/calendar-wishes.md` · id: timetables.calendar-wishes · Audience: admin/teacher · Plan: premium · Updated: 2026-06-20* > **Premium** > _Premium_ In de **kalendermodus** verloopt de planning op **precieze datums** in plaats van op een terugkerende standaardweek. Dat verandert de manier waarop de **tijdsbeperkingen** worden uitgedrukt, op twee afzonderlijke vlakken: - de **interne beperkingen** van lokalen, klassen, vakken en groepen; - de **beschikbaarheid van docenten**. In de kalender spreekt men van **beschikbaarheid**: de term *wensen* blijft voorbehouden aan de invoer door een docent op een standaardweek, voorafgaand aan de planning en onderworpen aan de goedkeuring van de roostermaker. #### Tijdsbeperkingen van lokalen, klassen, vakken en groepen Zodra een rooster van het type kalender is, worden de **interne** tijdsbeperkingen van deze entiteiten automatisch **per datum** uitgedrukt, en niet langer op een standaardweek. Daarnaast kunt u een **herhaling op de standaardweek** opgeven wanneer een beperking zich van week tot week identiek herhaalt. Voor herbruikbare periodes — examenperiodes, vakanties die alleen voor bepaalde klassen gelden, toegestane tijdsloten — legt u een [datumvenster](#page-timetables.date-windows) als laag over deze beperkingen. #### Beschikbaarheid van docenten Op een standaardweek geeft een docent een vaste regel op — *“ik ben op woensdagmiddag niet beschikbaar”*. In de kalender wordt de beschikbaarheid **datum per datum** opgegeven, waardoor fijnere situaties in beeld komen: - *“ik ben alleen op woensdagochtend 12 maart niet beschikbaar”*, - *“ik kan alleen tussen 20 en 30 januari een les verzorgen”*, - *“ik ben 3 dagdelen per week beschikbaar, per week te kiezen”*. Dit is de modus die de voorkeur verdient wanneer de beschikbaarheid van week tot week verschilt — typisch voor het hoger onderwijs, docenten op uurbasis en permanente educatie. ##### De invoermodus instellen Zet aan de kant van de docenten de instelling Beschikbaarheid van docenten (algemene instellingen van de school) op **kalender** of **kalender + wekelijks**, om aan te sluiten bij een planning op precieze datums. In de gecombineerde modus kan de docent bovendien eenvoudig aangeven dat hij **op een bepaalde dag van de week nooit beschikbaar** is, ongeacht de datum (losse uitzonderingen blijven mogelijk) — voor docenten het equivalent van de herhaling op de standaardweek bij de interne beperkingen. ##### Niveaus van beschikbaarheid Het invoerscherm gebruikt een **kalenderweergave**. De roostermaker of de docent klikt op de betrokken datums en geeft aan wat er voor dat tijdslot geldt: - **Niet beschikbaar**: blokkerende onbeschikbaarheid — de roostergeneratie plaatst hier geen enkele les; - **Ongewenst**: sterke beperking, zoveel mogelijk te vermijden; - **Voorkeur**: positieve voorkeur; - **Gum**: wist de beschikbaarheid die al op de aangeduide zone is gezet. De invoer kan per dag, per dagdeel of per tijdslot gebeuren, afhankelijk van de granulariteit die voor de school is ingesteld. ##### Voor wie - **Docenten op uurbasis en externe docenten** — hebben geen vaste wekelijkse diensturen. Zie [Externe docenten (op uurbasis, visiting professors)](#page-higher-ed.external-faculty). - **Docenten met een gedeeltelijke werkhervatting of een aangepaste regeling** — wisselende weken. - **Cursussen in de permanente educatie** — elke les is eenmalig. - **Docenten in een jaar met gedeeltelijke mobiliteit** — slechts bepaalde weken beschikbaar. #### Stappenplan — Beschikbaarheid van een docent op uurbasis in de kalender verzamelen 1. **Voor een docent op uurbasis zonder vaste wekelijkse diensturen** (bijvoorbeeld een externe docent) volstaat de invoer op een standaardweek niet. De **kalendermodus** legt de beschikbaarheid datum per datum vast. 2. **Schakel de passende modus in**: zet de instelling Beschikbaarheid van docenten (algemene instellingen van de school) op **kalender** of **kalender + wekelijks**, naargelang wat het account nodig heeft. 3. **Stel de invoer open** voor de docent op uurbasis. Ofwel logt hij in met zijn docentaccount, ofwel genereert u een **rechtstreekse deellink** naar zijn scherm met beschikbaarheid (zie [Beschikbaarheid van docenten](#page-core-concepts.wishes-and-availability)). Met die rechtstreekse link hoeft u geen apart account aan te maken wanneer u deze werkwijze gebruikt. Elke beheerder kan de beschikbaarheid ook zelf invoeren. 4. **Aan de kant van de docent op uurbasis**: hij ziet een **jaarkalender** in plaats van een weekrooster. Hij klikt op de datums (of dagdelen, of tijdsloten, afhankelijk van de granulariteit van de school) en geeft de zone een van de aangeboden niveaus van beschikbaarheid. 5. **Controleer de consolidatie** aan de kant van het beheer. De opgeslagen beschikbaarheid wordt opnieuw gelezen door de roosterschermen en door de diagnoses die de beperkingen raadplegen. 6. **Start de roostergeneratie** voor de lessen van de docent op uurbasis: die combineert de prioriteiten van de beschikbaarheid met de andere beperkingen van de les. Gedekte gebruiksgevallen: docenten op uurbasis, gedeeltelijke werkhervatting, permanente educatie, docenten met gedeeltelijke mobiliteit. #### Zie ook - [Beschikbaarheid van docenten](#page-core-concepts.wishes-and-availability) - [Kalendermodus](#page-timetables.calendar-mode) - [Datumvensters](#page-timetables.date-windows) - [Het juiste roostertype kiezen](#page-overview.timetable-modes) ### 3.5 Datumvensters *Source: `help/nl/timetables/date-windows.md` · id: timetables.date-windows · Audience: admin · Plan: premium · Updated: 2026-06-20* > **Premium** > _Premium_ Een **datumvenster** is een **herbruikbare** periode die datums **insluit** of **uitsluit**, en die zo beperkt wanneer bepaalde lessen kunnen worden ingepland. U legt het venster één keer vast en past het daarna als een **laag** toe op de tijdsbeperkingen van meerdere entiteiten — klassen, groepen, vakken of lokalen. Deze functie geldt alleen voor **kalenderroosters**. #### Twee types: toegestaan of uitgesloten - **Toegestane lessen** — lessen kunnen **alleen** tijdens deze datums worden ingepland. - **Uitgesloten lessen** — lessen kunnen tijdens deze datums **niet** worden ingepland. #### Hoe ze worden gecombineerd Op eenzelfde entiteit kunnen meerdere vensters van toepassing zijn: - toegestane vensters worden onderling opgeteld; - uitgesloten vensters worden onderling opgeteld; - bij overlap **heeft een uitsluiting voorrang op een toestemming**. #### Typische toepassingen - **Klassen die hetzelfde weekritme volgen** — meerdere klassen volgen bepaalde lessen alleen in welbepaalde weken (of alleen aan het begin of aan het eind van die weken). Eén *toegestaan* venster dat die weken beschrijft en op al die klassen wordt toegepast, voorkomt dat u het ritme klas voor klas opnieuw moet invoeren. - **Examenperiodes** — een *uitgesloten* venster over de examenperiode blokkeert tijdelijk de betrokken lokalen, of de klassen, zodat er geen gewone lessen worden ingepland. - **Vakanties die alleen voor bepaalde klassen gelden** — op een campus in het buitenland volgt een groep klassen een andere vakantiekalender dan de rest van de school. Een *uitgesloten* venster op die datums, alleen op die klassen toegepast, schakelt de periode uit zonder de andere klassen te raken. #### Een datumvenster vastleggen Op het bewerkingsscherm van een kalenderrooster, in de sectie Datumvensters: 1. Toevoegen opent de datumkiezer. 2. Voer een **label** in en kies het type — toegestaan of uitgesloten. 3. Selecteer de datums in het kalenderraster: klikken en slepen, een hele week, de kolom van één dag, snelkeuzes voor even / oneven weken, of de selectie omkeren. 4. Sla op: het venster komt in de herbruikbare lijst van het rooster. #### Een venster toepassen Zodra het venster is vastgelegd, is het beschikbaar in de tijdsbeperkingen van **klassen, groepen, vakken en lokalen**: selecteer daar een of meer vensters. Hetzelfde venster kan voor zoveel entiteiten dienen als nodig — daarin zit het nut van de herbruikbare laag. #### Bij de roostergeneratie De roostergeneratie behandelt de vensters als beperkingen: een les wordt alleen op toegestane datums geplaatst, en nooit op uitgesloten datums. #### Zie ook - [Kalendermodus](#page-timetables.calendar-mode) - [Beschikbaarheid in de kalendermodus](#page-timetables.calendar-wishes) - [Beschikbaarheid van docenten](#page-core-concepts.wishes-and-availability) - [Automatische roostergeneratie](#page-timetables.generation) - [Handmatige plaatsing](#page-timetables.manual-placement) ### 3.6 Stap 1 — Algemene instellingen *Source: `help/nl/timetables/general-settings.md` · id: timetables.general-settings · Audience: admin · Updated: 2026-07-17* Op het tabblad **Algemeen** legt u de globale instellingen vast die het rooster structureren. De vooraf ingevulde waarden komen uit de [schoolinstellingen](#page-admin.parameters), die u ook vooraf kunt aanpassen. #### In te vullen velden 1. **Label** — naam van het rooster (“Rooster 2025-2026”, “S1 2025”…). Overal zichtbaar. Aanpasbaar. 2. **Beschrijving** — vrije tekst, handig als u meerdere roosters hebt. 3. **Weergavemodus** — standaard één regel per tijdslot met de tijden aan de linkerkant. U kunt kiezen voor een Angelsaksische stijl met genummerde periodes, of voor een kalenderweergave op hele uren. 4. **Duur van het tijdslot** — de referentieduur van een tijdslot, eventueel inclusief de pauze tussen de lessen. Duren uw lessen 55 min met 5 min pauze, voer dan **60 min** in. Duren uw reguliere lessen anderhalf uur, voer dan **90 min** in. Duur en onderverdeling worden uitvoerig uitgelegd in [Tijdrooster, tijdsloten en tijdsduur](#page-core-concepts.timetable-grid--slot-duration). 5. **Onderverdeling van het tijdslot** — in hoeveel deelstukken kan de duur van het tijdslot worden opgedeeld? Om lessen van 1 uur, anderhalf uur of 2 uur te kunnen maken met een tijdslot van 60 min, kiest u **1/2**. Om tot op het kwartier te gaan, kiest u **1/4**. - **Tip**: ga niet fijner dan nodig. Hoe fijner de onderverdeling, hoe langer de berekening van de roostergeneratie duurt. 6. **Werkdagen** — vink de lesdagen aan. Standaard maandag tot en met vrijdag (tenzij de landinstelling anders is — Arabische landen, Israël…). 7. **Voor cyclische roosters** — het aantal dagen in de cyclus. 8. **Voor kalenderroosters** — begin- en einddatum (later nog aanpasbaar) en eventueel datumvensters. #### Opslaan De knop Opslaan onderaan slaat de configuratie op. #### En daarna Zodra deze instellingen bevestigd zijn, gaat u door naar de volgende stap: [Vestigingen, lokalen, resources](#page-timetables.sites-rooms). > **Tip.** Migreert u vanuit een ander systeem of wilt u Omniscol gewoon > snel uitproberen, dan gaat het massaal aanmaken van lessen (honderden > tegelijk) sneller met de [Massale import vanuit een spreadsheet](#page-timetables.mass-import) > dan met invoer scherm voor scherm. Maar hoe meer > structurele gegevens u vooraf invoert, hoe beter de import verloopt. #### Stappenplan — De algemene instellingen van een rooster configureren 1. **Stap 1 van het aanmaken van een rooster**: naam, duur van het tijdslot, onderverdeling en werkdagen kiezen. Deze keuzes bepalen het rooster voor lange tijd — leg ze dus meteen zorgvuldig vast. 2. **Label en beschrijving**: een sprekende naam (`Rooster 2026-2027`, `S1 2026 — jaargang master bedrijfskunde`) en een vrije beschrijving. Overal in de interface zichtbaar. Aanpasbaar, maar vermijd hernoemen in productie. 3. **Weergavemodus**: één regel per tijdslot (standaard) of genummerde periodes (Angelsaksische stijl) of een kalender op hele uren. Volg de gewoonte van uw instelling. 4. **Duur van het tijdslot**: de referentieduur van een tijdslot. Lessen van 55 min met 5 min pauze → **60 min**. Reguliere lessen van anderhalf uur → **90 min**. Houdt u een tijdslot van 60 min aan, dan maakt de onderverdeling toch lessen van anderhalf uur mogelijk. 5. **Onderverdeling van het tijdslot**: in hoeveel deelstukken kan de duur van het tijdslot worden verdeeld? **1/2** voor stappen van 30 min bij een tijdslot van 60 min, **1/4** voor stappen van 15 min. Hoe fijner, hoe meer mogelijkheden de roostergeneratie moet doorrekenen. 6. **Werkdagen**: vink maandag tot en met vrijdag aan (standaard). Arabische landen, Israël: zondag tot en met donderdag. Voor **cyclische** roosters: het aantal dagen in de cyclus. Voor **kalenderroosters**: begin- en einddatum (daarna nog aanpasbaar). 7. **Sla op** via Opslaan. Volgende stap: [Vestigingen, lokalen, resources](#page-timetables.sites-rooms). Voor het massaal aanmaken van lessen, zie [Massale import vanuit een spreadsheet](#page-timetables.mass-import). #### Zie ook - [Tijdrooster, tijdsloten en tijdsduur](#page-core-concepts.timetable-grid) - [Vorige stap — Vereisten](#page-timetables.prerequisites) - [Volgende stap — Vestigingen](#page-timetables.sites-rooms) - [Algemene schoolinstellingen](#page-admin.parameters) ### 3.7 Stap 2 — Vestigingen, tijdroosters, lokalen, resources *Source: `help/nl/timetables/sites-rooms.md` · id: timetables.sites-rooms · Audience: admin · Updated: 2026-08-08* Op het tabblad **Vestigingen** modelleert u de fysieke kant van uw instelling. #### De vestigingen aanmaken Vinden al uw lessen op dezelfde plek plaats, dan volstaat één vestiging. Klik op Een vestiging aanmaken en geef de vestiging een naam. Werkt u met meerdere vestigingen, maak dan één vestiging per afzonderlijke fysieke plaats aan. Vul de **reistijden** tussen de vestigingen in (de matrix met tijdsduren). Dat is essentieel: zonder die tijden kan de roostergeneratie een docent van 9.00 tot 10.00 uur op vestiging A plaatsen en om 10.05 uur op vestiging B, vijf kilometer verderop — fysiek onmogelijk. Verwar vestiging en campus niet: een [campus](#page-glossary.campus) is een organisatorische groepering die u in de algemene instellingen vastlegt; een vestiging draagt het tijdrooster, de lokalen en de reistijden. Zie [Vestiging](#page-glossary.site) voor de toepassingen en de grenzen (twee virtuele vestigingen voor eenzelfde plaats, de keuze tussen meerdere vestigingen en meerdere accounts, enzovoort). #### Het tijdrooster instellen Elke vestiging heeft haar eigen **tijdrooster**: - begin- en eindtijden van de tijdsloten, - pauzes, - middagpauze, - sluitingen (woensdagmiddag, zaterdag…). Reguliere lessen hangen aan de tijdsloten van dit tijdrooster. Wijzigt u later de tijd van een tijdslot, dan volgen de lessen die erop staan het nieuwe tijdrooster. Aangepaste tijden en klassen buiten rooster zijn bijzondere gevallen, beschreven in [Tijdrooster, tijdsloten en tijdsduur](#page-core-concepts.timetable-grid). Omniscol leidt het tijdrooster automatisch af uit de gegevens die u hebt ingevoerd, maar loop het na en pas het aan — dat is van belang voor de weergave én voor het algoritme. De tijdsloten horen overeen te komen met de [duur van het tijdslot](#page-core-concepts.timetable-grid--slot-duration) die u in het [vorige scherm](#page-timetables.general-settings) hebt opgegeven. Hebt u bijvoorbeeld 60 minuten voor een reguliere les ingevuld, dan geldt elk tijdslot als één uur, ongeacht de tijden die u werkelijk invoert — soms 50 of 55 minuten, wat door de pauzes marginaal kan verschillen. Loopt het verschil tussen theorie en praktijk op een bepaald tijdslot te ver uiteen, dan kunnen de tijden rood kleuren om u op een verkeerde configuratie te wijzen. Voer pauzes niet in als tijdsloten! Elk tijdslot kan lessen opnemen (tenzij u de periode als onbeschikbaar markeert). Een veelgemaakte fout is denken dat de tijden zelf rechtstreeks doorwerken: dat is niet zo. Omniscol plaatst de lessen op tijdsloten en toont ze daarna met de tijden die voor elk betrokken tijdslot zijn ingevuld. #### De lokalen invoeren Maak voor elke vestiging de [lokalen](#page-glossary.classroom) aan. Velden: - **Naam** (verplicht), - **Capaciteit** (verplicht — zonder dit veld kan de roostergeneratie niet controleren of het lokaal groot genoeg is), - **[Specialisaties](#page-glossary.classroom-specialization)** (scheikunde, informatica, sport… vrij in te vullen), - Maximumaantal klassen voor een **[groot lokaal](#page-glossary.large-room)** (examenlokaal, theater, sportzaal, zwembad, buitenterrein). Dit veld verschijnt pas zodra er een specialisatie is ingevuld, - **Gebouw** (optioneel), - **Tijdsbeperkingen** (handig voor lokalen die u met een andere instelling deelt, of voor buitensportterreinen), - **Tags / opmerking** (flipover, stopcontacten, computers… vrij in te vullen). U kunt lokalen **in bulk** aanmaken door te kopiëren en plakken vanuit een spreadsheet. ##### Campus > _Plan: standard_ De campus van een lokaal geeft aan **welke eenheid van de instelling het bedient**: een faculteit, een afdeling, een school binnen een scholengroep, een traject in de bij- en nascholing. Een lokaal met een campus komt bovenaan te staan voor de klassen die deze campus bij hun lokalen met voorrang hebben opgegeven, en wordt onder die naam filterbaar in de lokaalschermen. Het begrip komt uit het hoger onderwijs, waar het het meest gangbaar is. Het bewijst ook dienst zodra een instelling meerdere onderwijsniveaus onder één dak heeft — een scholengemeenschap waarin elk niveau zijn eigen lokalen houdt, een vestiging waar basis- en voortgezet onderwijs samenkomen. Een lokaal kan aan **meer dan één campus** worden gekoppeld en toch **bij één enkele vestiging** horen. Dat is het geval bij een ruimte die door meerdere faculteiten of door meerdere scholen van dezelfde scholengroep wordt gedeeld. De twee begrippen beantwoorden verschillende vragen en vullen elkaar aan: de campus beschrijft de organisatie, de vestiging beschrijft de plaats en draagt de fysieke beperkingen — tijdrooster, compatibiliteit ter plaatse, reistijd. De lijst met beschikbare waarden voor de campus beheert u in de [accountinstellingen](#page-admin.parameters). > _Premium_ ##### Meerdere lokalen Met Omniscol kunt u meerdere lokalen aan dezelfde les toewijzen; de totale capaciteit is de som van de lokalen. Zie [Meerdere lokalen](#page-glossary.multi-room) voor de typische toepassingen (examens verdeeld over collegezalen, uitgezonden hoorcolleges, practica in twee lokalen, enzovoort). ##### Specialisaties Met **specialisaties** (een vrij in te vullen veld) geeft u aan dat een vak een bepaald type lokaal vereist. De roostergeneratie houdt zich er strikt aan. ##### Groot lokaal Een gespecialiseerd lokaal kan een **[groot lokaal](#page-glossary.large-room)** worden: vul het veld Maximumaantal klassen in zodat het meerdere verschillende lessen op hetzelfde moment kan huisvesten (met verschillende docenten en groepen), binnen de grens van dat aantal en van zijn capaciteit. Dat geldt voor examenlokalen, theaters, sportzalen, zwembaden en buitenterreinen. Het veld verschijnt pas nadat u het lokaal een specialisatie hebt gegeven. #### De resources invoeren [Resources](#page-glossary.resource) zijn de verplaatsbare apparaten die niet aan een bepaald lokaal vastzitten (draagbare beamers, koffers met tablets, kits…). Voor elke resource: - **Naam**, - **Beschikbaar aantal**. Een koffer met 30 tablets telt voor 1 (niet voor 30) — u voert het aantal koffers in. Resources waarvan u “altijd genoeg” hebt, hoeft u niet te modelleren — doe dat alleen voor werkelijk gedeelde schaarste. > _Premium_ **Vestigingen**, **lokalen** en **resources** kunnen vanuit een extern systeem worden gesynchroniseerd — elke lijst krijgt dan haar eigen synchronisatieknop (Synchroniseren, Synchroniseren, Synchroniseren). Zie [Synchronisatie met externe systemen](#page-integrations.extsync). #### En daarna Volgende stap: [Docenten toewijzen](#page-timetables.assigning-teachers). #### Stappenplan — Een vestiging en haar tijdrooster aanmaken 1. **Een vestiging** staat voor een afzonderlijke fysieke plaats, met haar eigen tijdrooster (tijdsloten, pauzes, middagpauze). Minstens één vestiging is verplicht. Deze procedure beschrijft het aanmaken van een vestiging en de minimale bijbehorende gegevens (lokalen, resources). 2. **Klik op Een vestiging aanmaken** en geef de vestiging een naam (`Hoofdgebouw`, `Nevenvestiging Rotterdam`…). Begint u met één vestiging, dan volstaat er één. Werkt u met meerdere vestigingen, voeg er dan zoveel toe als er fysieke plaatsen te onderscheiden zijn. 3. **Stel het tijdrooster in**: begin- en eindtijden van de tijdsloten, pauzes tussen de lessen, middagpauze, sluitingen (woensdagmiddag, zaterdag…). 4. **Voer de lokalen in**: naam, capaciteit (een cruciaal veld voor de roostergeneratie), specialisaties (scheikunde, informatica, sport…), openingstijden en de campus als uw organisatie die gebruikt. De campus op een lokaal zorgt ervoor dat het voor bepaalde klassen voorrang krijgt, zonder de andere geschikte lokalen te blokkeren. Eenzelfde lokaal kan tot meerdere campussen behoren. Een lokaal hoort bij één enkele vestiging — voor een lokaal dat door meerdere virtuele vestigingen wordt gebruikt, zie [Vestigingen, lokalen, resources — concepten](#page-core-concepts.sites-rooms-resources). 5. **Voer de resources in** (verplaatsbare apparatuur): naam en beschikbaar aantal. Modelleer alleen de resources met een echte gedeelde schaarste (mobiele beamers, een koffer met tablets, een microfoonset), niet die waarvan u “altijd genoeg” hebt. 6. **Werkt u met meerdere vestigingen, vul dan de reistijden in** via het afstandenvenster (driehoekige halve matrix). Zonder die tijden teleporteert de roostergeneratie — zie [Meerdere vestigingen: beleid en reistijden](#page-core-concepts.sites-rooms-resources) voor de nuances. #### Zie ook - [Vestigingen, lokalen, resources — concepten](#page-core-concepts.sites-rooms-resources) - [Campus](#page-glossary.campus) - [Tijdrooster, tijdsloten en tijdsduur](#page-core-concepts.timetable-grid) - [Meerdere lokalen](#page-glossary.multi-room) - [Lokaalspecialisatie](#page-glossary.classroom-specialization) ### 3.8 Stap 3 — Docenten toewijzen *Source: `help/nl/timetables/assigning-teachers.md` · id: timetables.assigning-teachers · Audience: admin · Updated: 2026-06-13* Op het tabblad **Docenten** geeft u aan welke docenten in dit rooster worden **ingezet** — in tegenstelling tot de docenten die alleen op schoolniveau zijn vastgelegd. #### Toewijzen Klik op Docenten toewijzen. De lijst met beschikbare docenten verschijnt. Selecteer de betrokken docenten. U kunt **gefaseerd toewijzen**: begin met de docenten die definitief zijn aangenomen en voeg de nieuwe daarna toe naarmate de werving vordert. > _Premium_ Docenten kunnen worden gesynchroniseerd vanuit een extern systeem: Synchroniseren opent de afstemming. Zie [Synchronisatie met externe systemen](#page-integrations.extsync). #### Virtuele docenten De knop Virtueel maakt een **virtuele docent** aan om een openstaande vacature voorlopig weer te geven. Handig om het begin van het schooljaar voor te bereiden zonder te wachten tot de werving rond is. Naast de naam verschijnt een pictogram [ghost]. Zodra de werving rond is, maakt de knop Omvormen aan het einde van de regel de virtuele docent “echt”: kies de echte docent in de lijst, en al zijn verwijzingen gaan naar hem over — zowel de toewijzingen aan de vakken in de klassen als alle lessen. De virtuele docent verdwijnt dan definitief. **De actie is onomkeerbaar.** #### Een docent definitief vervangen Dezelfde knop Omvormen geldt ook voor een **echte** docent: de knop draagt al diens lessen over aan een andere docent uit de lijst — al aan dit rooster toegewezen of alleen op schoolniveau vastgelegd — en haalt de oorspronkelijke docent daarna uit het rooster. Dit is de handeling voor een **definitieve vervanging**, nuttig wanneer een voorziene docent afhaakt, wordt overgeplaatst of zijn lessen moet afstaan: alle lessen en toewijzingen gaan in één handeling over naar de vervanger. **De actie is onomkeerbaar.** #### Beschikbaarheid Hebt u de invoer van de beschikbaarheid ingeschakeld via de instelling Beschikbaarheid van docenten (zie [Beschikbaarheid van docenten](#page-core-concepts.wishes-and-availability)), dan **controleert en valideert** u hier de beschikbaarheid die de docenten hebben ingevoerd. U kunt daarnaast: - de **diensturen** wijzigen (het aantal geplande weekuren, dat wordt overgenomen in nieuwe roosters), - een **voorkeurslokaal** toekennen (dat de roostergeneratie met voorrang gebruikt voor de lessen van de docent, tenzij de klas een eigen lokaal heeft). #### Onderscheid school / rooster Belangrijk: de docentfiche **op schoolniveau** draagt de identificerende gegevens (naam, e-mail, inlognaam) en blijft stabiel. De docentfiche **op roosterniveau** draagt de gegevens *die bij dit rooster horen* (beschikbaarheid, voorkeurslokaal, diensturen). Gevolg: corrigeert u de naam van een docent in Docenten nadat een rooster is aangemaakt, dan houdt het rooster de historische naam. Dat is een bewuste keuze omwille van de traceerbaarheid, maar het veronderstelt wel dat de naam correct is gespeld op het moment dat het rooster wordt aangemaakt. #### Freelancedocenten (externe docenten) Voor freelancedocenten, zie de [woordenlijst](#page-glossary.external-teacher). U maakt ze aan als gewone docenten. > _Premium_ De markering **Externe docent** op de gebruikersfiche voegt een klein pictogram [user-tie] toe dat freelancedocenten in bepaalde schermen van de vaste docenten onderscheidt. Voor visiting professors die incidenteel bijdragen (één of twee lessen) kunt u naargelang het geval: - ze als **tweede docent** aan een les toevoegen (zie [Co-teaching](#page-glossary.co-teaching)), - een aparte cursus aanmaken voor hun bijdrage (vooral in de kalendermodus). #### En daarna Volgende stap: [Klassen en hun groepen aanmaken](#page-timetables.creating-classes). #### Stappenplan — Docenten aan een rooster toewijzen 1. **Stap 3 van het aanmaken van een rooster**: geef aan welke docenten in dit rooster worden **ingezet** (in tegenstelling tot alle docenten die op schoolniveau zijn vastgelegd). 2. **Wijs de definitief aangenomen docenten toe** via Docenten toewijzen. De lijst met docenten die op schoolniveau zijn vastgelegd, verschijnt. Selecteer de docenten die bij dit rooster betrokken zijn. U kunt **gefaseerd toewijzen**: begin met de vaste docenten en voeg de nieuwe toe naarmate de werving vordert. 3. **Voor elke openstaande vacature** maakt u een **virtuele docent** aan via Virtueel. Een pictogram [ghost] onderscheidt hem. Handig om het begin van het schooljaar voor te bereiden zonder vast te lopen op de werving. Zodra de werving rond is, zet de knop Omvormen aan het einde van de regel al zijn verwijzingen over naar de echte docent die u in de lijst kiest. Reeds geplaatste lessen blijven behouden. Dezelfde knop dient voor de **definitieve vervanging** van een echte docent door een andere (overplaatsing, afzegging…). **Geef de vakken op die de virtuele docent** in dit rooster geeft: bij de toewijzingen wordt hij dan met voorrang voorgesteld voor die vakken. 4. **Beschikbaarheid**: voor een wekelijks rooster **controleert en valideert** u de invoer. Voor elk type rooster kunt u alle beschikbaarheid **raadplegen en invullen**. Zie [Beschikbaarheid van docenten](#page-core-concepts.wishes-and-availability). 5. **Voorkeurslokaal** (optioneel): heeft de docent een eigen lokaal, ken het hier toe via [location-pin]. De roostergeneratie geeft het voorrang voor de lessen van die docent, tenzij de klas al haar eigen lokaal heeft (prioriteit klas > prioriteit docent). 6. **Volgende stap**: [klassen en hun groepen aanmaken](#page-timetables.creating-classes). #### Zie ook - [Beschikbaarheid van docenten](#page-core-concepts.wishes-and-availability) - [Docenten op schoolniveau beheren](#page-admin.teachers) - [Docent](#page-glossary.teacher) - [Externe docent](#page-glossary.external-teacher) ### 3.9 Stap 4 — Klassen en hun groepen aanmaken *Source: `help/nl/timetables/creating-classes.md` · id: timetables.creating-classes · Audience: admin · Updated: 2026-08-08* Dit is de meest bepalende stap. Op het tabblad **Klassen** maakt u de klassen en hun groepen aan, en legt u de urenvolumes per vak vast. #### 1. De klassen aanmaken Klik op Klas aanmaken. Voor elke klas: - **Naam** (verplicht), - **Niveau** (uit de bestaande niveaus; klik op Aanmaken om er een toe te voegen), - **Campus** als uw instelling die indeling gebruikt, - standaard **Vestiging** (de roostergeneratie zoekt alleen in de lokalen van die vestiging, tenzij een les uitdrukkelijk aan een andere vestiging wordt toegewezen), - **Vast lokaal** (optioneel — de lessen vinden daar standaard plaats), - **Lokalen met voorrang** (optioneel — geef de Campus en/of de labels aan van de lokalen die voor deze klas met voorrang worden geprobeerd), - **Theoretisch aantal leerlingen** (optioneel, maar aanbevolen om de lokaalgrootte te bepalen). De Campus en de Vestiging beantwoorden twee verschillende vragen: de Campus geeft aan tot welke eenheid van de instelling de klas behoort; de Vestiging geeft aan waar zij zich fysiek bevindt en welke lokalen er standaard worden gebruikt. ##### Lokalen met voorrang Het veld **Lokalen met voorrang** beschrijft de lokalen waar deze klas gewoonlijk zit, zonder ze een voor een op te sommen: u wijst [campus](#page-timetables.sites-rooms--campus), labels of beide aan, en elk lokaal dat een van die kenmerken draagt, hoort bij de verzameling. Een faculteit die in haar eigen lokalen werkt, een afdeling bij- en nascholing die haar twee collegezalen behoudt, een traject verspreid over meerdere vestigingen: de voorkeur ligt vast in een of twee keuzes, en volgt de lokalen die u later toevoegt. Deze verzameling wordt als eerste geprobeerd, zowel bij de automatische toewijzing als bij een handmatige keuze. Is geen van die lokalen vrij, dan kiest Omniscol een ander geschikt lokaal. De **Campus** van de klas dient daarentegen voor ordening en filters. De twee velden vullen elkaar aan — het ene beschrijft tot welke eenheid de klas behoort, het andere waar zij gewoonlijk werkt. ⚠ Vergeet u de vestiging toe te wijzen, dan kunnen de lessen niet worden geplaatst (er zijn dan geen lokalen en geen tijdrooster). Een waarschuwing herinnert u daaraan. #### 2. Voor elke klas de groepen aanmaken Klik bij een klas op de knop Groep toevoegen. Maak zoveel groepen aan als er cursussen zijn waarbij de leerlingen niet met de hele klas samen zitten. Voor elke groep: - **Naam** en **code** (combineer beide om ze gemakkelijk te herkennen), - **Theoretisch aantal leerlingen**, - Moeten of mogen meerdere groepen op **hetzelfde tijdslot** vallen (Practicum A en Practicum B, of de keuzevakken Duits en Spaans), maak dan een [klasverdeling](#page-core-concepts.class-divisions) aan via Een klasverdeling toevoegen. Tip: zijn de groepen van een klas (bijna) gelijk aan die van een andere, gebruik dan de knop Importeren vanuit een andere klas om die configuratie te importeren en aan te passen. > _Premium_ **Klassen** en **groepen** kunnen vanuit een extern systeem worden gesynchroniseerd: Synchroniseren en Synchroniseren openen de afstemming. Zie [Synchronisatie met externe systemen](#page-integrations.extsync). #### 3. De vakken per klas instellen (de cursussen) Ga naar het tabblad **Vakken** (of naar de knop Cursussen van een klas). Elk vak dat u zo aan een klas toewijst — met zijn urenvolume en eventueel zijn lestype (werkcollege, practicum, hoorcollege…) — vormt een **[cursus](#page-glossary.course)**: de basiseenheid van uw onderwijsaanbod (“wiskunde in 3A, 4 uur per week, als werkcollege”). De interface spreekt op die plek van “vakken”, maar wat u opbouwt is wel degelijk het begrip cursus; alle cursussen van een klas vormen samen haar **programma** (het curriculum, de studiegids). De [lessen](#page-glossary.lesson) die u daarna op het rooster plaatst, zijn de uitvoeringen ervan. Geef voor elke cursus op: - **Aantal uren** per week, - eventueel het **lestype** (werkcollege, practicum, hoorcollege…), - de toegewezen **docent(en)**, - het **pedagogisch gewicht** (de roostergeneratie probeert het vak over de dagen te spreiden), - het **vereiste speciale lokaal** (uit de [specialisaties](#page-glossary.classroom-specialization) van de vestiging), - de **plaatsingsvoorkeuren** (wiskunde aan het eind van de dag vermijden, lichamelijke opvoeding niet op de heetste uren…). Tip: gebruik Importeren vanuit een andere klas om een vakkenconfiguratie van een andere klas opnieuw te gebruiken. In het dialoogvenster kunt u zelfs een klas uit een ander rooster importeren, en u kunt de reikwijdte uitbreiden: met of zonder vervanging van de bestaande lijst, en met of zonder de bijbehorende docenten, de groepen, de incompatibiliteiten en de tijdsbeperkingen van de klas. Zelfs de verdeling in lessen kunt u meekopiëren, ook daar door de omvang van de import te kiezen. Wat de posities van de lessen betreft: op een rooster van het type kalender kunt u de dagen verschuiven (de opeenvolging wordt dan herberekend volgens de werkdagen van de bron en van het doel). Dat is bijzonder handig voor instellingen met terugkerende volledige sessies, bijvoorbeeld van zes of acht opeenvolgende weken, meerdere keren per jaar. #### 4. Incompatibiliteiten tussen vakken Een [incompatibiliteit](#page-glossary.incompatibility) verbiedt dat een vak op een ander **volgt**. De regel is **gericht**: “vak A mag niet gevolgd worden door vak B” is niet hetzelfde als het omgekeerde. Het typische geval: “geen wiskunde vlak na lichamelijke opvoeding”. U legt ze vast op het tabblad **Incompatibiliteiten** van de klas. Kies bij het aanmaken van de regel het **tijdvenster** waarin zij geldt: - **Direct aansluitend** — niet in de les die er onmiddellijk op volgt, op dezelfde dag. Bijv.: geen veeleisend vak laten aansluiten op een vermoeiend vak, “geen wiskunde vlak na lichamelijke opvoeding”. - **Halve dag** — niet later op dezelfde halve dag. Bijv.: talen afwisselen, “geen Spaans na Engels” — en voeg voor een wederzijdse uitsluiting de omgekeerde regel toe, “geen Engels na Spaans”. - **Dag** — niet later op dezelfde dag. Bijv.: kunstzinnige vakken spreiden, “geen tekenen na muziek op dezelfde dag”. Voor dat soort spreiding is het **pedagogisch gewicht** van het vak vaak de eenvoudiger keuze. - **Week** — niet later in dezelfde week. Bijv.: de volgorde hoorcollege en dan practicum aanhouden, “geen scheikundepracticum vóór het hoorcollege scheikunde”. - **Altijd** *(kalenderrooster)* — nooit erna, over de hele periode: het instrument voor de **volgordebepaling** van vereiste voorkennis. Bijv.: “geen C++ vóór C”, “geen financiering vóór boekhouden”. Een paar richtsnoeren om de juiste instelling te kiezen: - **Een vak dat niet op een bepaald moment mag vallen** (“geen wiskunde op het eerste tijdslot”, “geen lichamelijke opvoeding midden op de dag”) is **geen** incompatibiliteit: gebruik daarvoor de **tijdsbeperkingen van het vak** ([clock]), die over de absolute plaatsing van één enkel vak gaan. - **Voorkomen dat een vak twee keer op dezelfde dag terugkomt** regelt u eenvoudiger met de algemene optie **zelfincompatibiliteit** dan met paarsgewijze regels. - Een incompatibiliteit is een **zachte** beperking (een strafpunt dat de roostergeneratie probeert weg te werken), geen blokkade: zij kan in het gegenereerde rooster blijven staan, waar de [diagnose](#page-glossary.diagnostic) haar signaleert. Stapel ze niet op — elke regel beperkt de speelruimte van de roostergeneratie. #### En daarna Volgende stap: [Groepsuitlijningen en groepen van groepen](#page-timetables.alignments-and-groups-of-groups), als u gezamenlijke lessen over meerdere klassen hebt ([klasoverstijgende cursussen](#page-glossary.transverse-course)). Zo niet, ga dan rechtstreeks door naar [De uren verdelen](#page-timetables.hour-distribution). #### Stappenplan — Een klas met haar groepen en klasverdelingen aanmaken 1. **Een klas** brengt de leerlingen van eenzelfde opleiding samen. Zij valt uiteen in **groepen** (halve klassen, keuzevakken, niveaus), met **klasverdelingen** om binnen de klas de groepen aan te wijzen die elkaar uitsluiten. 2. **Klik op Klas toevoegen.** Vul de naam in (`3A`, `B1-Informatica`…), het niveau (uit de geconfigureerde niveaus), de campus als u die gebruikt, de standaardvestiging, eventueel een vast lokaal en het theoretische aantal leerlingen. Zonder vestiging kunnen de lessen niet worden geplaatst — met een uitdrukkelijke waarschuwing. 3. **Maak de groepen** van de klas aan. Eén groep per onderscheiden pedagogisch gebruik: `Practicum A`, `Practicum B` (halve klassen in het lab), `Duits`, `Spaans` (keuzevakken), `Engels verdiept`, `Engels standaard` (niveaus). Sterke aanbeveling: **één groep per onderscheiden cursus**, ook als het om dezelfde leerlingen gaat. 4. **Leg de klasverdelingen vast** — groepen die elkaar uitsluiten. Selecteer de groepen (bijv. `Duits` + `Spaans`) en klik op Een klasverdeling toevoegen. Zonder klasverdeling behandelt de roostergeneratie twee groepen van eenzelfde klas als mogelijk strijdig. 5. **Stel de vakken per klas in**: wekelijkse urenvolumes, toegewezen docenten, standaardlestype. De vakken worden gekozen uit de vakkencatalogus van de school (officiële of aangepaste vakken). 6. **Volgende stap**: [Groepsuitlijningen en groepen van groepen](#page-timetables.alignments-and-groups-of-groups) als u gezamenlijke lessen over meerdere klassen hebt, anders rechtstreeks [De uren verdelen](#page-timetables.hour-distribution). #### Zie ook - [Klas, groep, subgroep](#page-core-concepts.classes-and-groups) - [Klasverdelingen](#page-core-concepts.class-divisions) - [Campus](#page-glossary.campus) - [Klas](#page-glossary.class) - [Groep](#page-glossary.group) ### 3.10 Stap 5 — Groepsuitlijningen en groepen van groepen *Source: `help/nl/timetables/alignments-and-groups-of-groups.md` · id: timetables.alignments-and-groups-of-groups · Audience: admin · Updated: 2026-05-10* Deze stap is **optioneel** — sla hem over als u geen klasoverstijgende gezamenlijke lessen hebt. Hij wordt nodig zodra leerlingen uit verschillende klassen **samen dezelfde les** moeten volgen (Latijnleerlingen uit meerdere klassen, klasoverstijgende keuzevakken, profielvakken enz.). #### Groepsuitlijningen Bruikbaar in **alle** roostertypes, maar vooral relevant voor **terugkerende** roosters (wekelijks / cyclisch) met parallelklassen van identieke structuur. Zie de referentiepagina: [Groepsuitlijningen](#page-core-concepts.alignments). Samengevat: - Maak eerst, in elke betrokken klas, een **groep** met een identieke naam aan (“Latijn” in 4A, in 4B en in 4C). - Klik daarna op het tabblad **Groepsuitlijning** op Een groepsuitlijning toevoegen en koppel de groepen van de drie klassen. - Controleer of de **urenvolumes identiek zijn** tussen de uitgelijnde groepen (anders meldt Omniscol een inconsistentie in de diagnose). #### Groepen van groepen Zie de referentiepagina: [Groepen van groepen](#page-core-concepts.groups-of-groups). Samengevat: - Tabblad **Groep van groepen**. - Maak de groep van groepen aan door de aangesloten groepen te selecteren (uit dezelfde klas of uit verschillende klassen). - Wijs vervolgens de lessen aan de groep van groepen toe — ze verschijnen in alle ouderklassen. - Op elk moment te wijzigen (aangesloten groepen toevoegen / verwijderen). #### Meerdere groepen rechtstreeks aan een les toewijzen Er bestaat ook een snelle manier om **meerdere groepen rechtstreeks aan een les toe te wijzen**, zonder een benoemde groep van groepen aan te maken. Deze werkwijze is handig bij een **eenmalige** of verkennende behoefte: - u vinkt meerdere groepen aan in de groepskeuzelijst van de les; - de les wordt dan door die groepen gedeeld, zonder dat er een aparte benoemde entiteit ontstaat; - u kunt daarna terugkeren naar één enkele groep, of het geval formaliseren als groep van groepen wanneer de behoefte blijvend wordt. Daar staat tegenover dat het **minder overzichtelijk** en **minder herbruikbaar** is dan een benoemde groep van groepen: de expliciete functionele bedoeling gaat verloren, en het wordt lastiger om dezelfde groepering over meerdere lessen terug te vinden, opnieuw te bewerken of opnieuw toe te passen. #### Wanneer u wat gebruikt | Situatie | Hulpmiddel | | --- | --- | | Terugkerende gezamenlijke les in wekelijkse / cyclische modus | **Groepsuitlijning** | | Eenmalige of veranderende gezamenlijke les | **Groep van groepen** | | Samenstelling die waarschijnlijk verandert | **Groep van groepen** | | Eenmalige behoefte zonder benoemde structuur | **Meerdere groepen rechtstreeks toewijzen** | | Definitief vastgelegde configuratie | **Groepsuitlijning** of **groep van groepen** | #### Klassieke valkuilen - **Verschillende urenvolumes tussen de uitgelijnde groepen.** Heeft de ene groep 3 uur Latijn en de andere 2 uur, dan meldt de uitlijning een diagnose. Ofwel harmoniseert u, ofwel heft u de uitlijning op. - **Een gezamenlijke les voor slechts 2 klassen** van de 3 uitgelijnde. Wil een van de klassen op dat tijdslot een eigen, zelfstandige les hebben, dan moet u haar groep dupliceren en de kloon uit de uitlijning halen. - **Leerlingen met een dubbele inschrijving** (bijvoorbeeld een leerling die Latijn volgt in 4A maar in 4B is ingeschreven). Oplossing: maak een groep “Latijn” aan in 4A *én* in 4B met daarin dezelfde leerling, en lijn die vervolgens uit. #### En daarna Volgende stap: [De uren verdelen en de lessen aanmaken](#page-timetables.hour-distribution). #### Stappenplan — Een klasoverstijgende groepsuitlijning aanmaken 1. **Een groepsuitlijning** verklaart dat meerdere groepen uit **verschillende klassen** dezelfde les moeten volgen, op hetzelfde tijdstip, in hetzelfde lokaal, met dezelfde docent. Typisch geval: de Latijnleerlingen van 4A, 4B en 4C. 2. **Voorwaarde**: maak eerst, **in elke betrokken klas**, een groep aan met **dezelfde logische naam** (`Latijn` in 4A, in 4B en in 4C). Zie [Een klas met haar groepen aanmaken](#page-timetables.creating-classes). 3. **Tabblad Groepsuitlijning** → klik op Een groepsuitlijning toevoegen. Selecteer de groepen van de betrokken klassen (`Latijn 4A`, `Latijn 4B`, `Latijn 4C`). Bevestig. 4. **Controleer de urenvolumes**: ze moeten identiek zijn tussen de uitgelijnde groepen (bijvoorbeeld overal 3 uur Latijn). Zo niet, dan meldt Omniscol een inconsistentie in de diagnose. 5. **Kalendermodus**: geef de voorkeur aan [groepen van groepen](#page-core-concepts.groups-of-groups), die flexibeler zijn (achteraf te wijzigen, groepen toevoegen / verwijderen zonder te dupliceren). Knop Een groep van groepen toevoegen op het bijbehorende tabblad. Is de behoefte **eenmalig**, dan kunt u ook meerdere groepen rechtstreeks aan de les toewijzen vanuit de groepskeuzelijst, zonder een benoemde groep van groepen aan te maken. 6. **Volgende stap**: [De uren verdelen en de lessen aanmaken](#page-timetables.hour-distribution). #### Zie ook - [Groepsuitlijningen](#page-core-concepts.alignments) - [Groepen van groepen](#page-core-concepts.groups-of-groups) - [Klasoverstijgende cursus](#page-glossary.transverse-course) - [Groepsuitlijning](#page-glossary.alignment) - [Groep van groepen](#page-glossary.groups-of-groups) ### 3.11 Stap 6 — De uren verdelen en de lessen aanmaken *Source: `help/nl/timetables/hour-distribution.md` · id: timetables.hour-distribution · Audience: admin · Updated: 2026-06-25* U hebt de urenvolumes per vak al op elke klas vastgelegd (stap 4). Hier splitst u die volumes op in **afzonderlijke lessen**. Het scherm bestaat uit twee delen: - **Links**: de lijst van klassen en van hun **cursussen** (de vakken van de klas, eventueel uitgesplitst per lestype), met een dynamische teller van de reeds aangemaakte uren per cursus. - **Rechts**: de lessen die voor de geselecteerde klas zijn aangemaakt. #### Drie weergavemodi Het rechterpaneel werkt in **drie modi**, waartussen u schakelt met de keuzeschakelaar linksboven in dat paneel. Elke modus heeft zijn nut, en u gaat van de ene naar de andere **zonder uw lopende werk te verliezen**. ##### Post-its (standaard) De lessen verschijnen als **kaarten**, geordend per vak of per datum (bij roosters van het type kalender). Dit is de modus die in de hele rest van deze pagina wordt beschreven: dubbelklikken om aan te maken, de rand slepen voor de duur, de pictogrammen van de kaart voor de kenmerken. - **Voordelen**: zeer visueel; ideaal om lessen **aan te maken**, de volumes op te splitsen, de duur al slepend aan te passen en complexe lessen (afwisselend, aaneengeschakeld…) rechtstreeks op de kaart te bewerken. - **Nadelen**: weinig praktisch om **veel** lessen in één keer te bewerken, om een fijn gefilterd totaalbeeld te krijgen, om de plaatsingen te zien en om lessen snel te plaatsen. ##### Roosters (herschikking) De lessen verschijnen in een indeling die het rooster benadert, klaar om **in bulk te worden herschikt**. - **Selectie**: één klik selecteert een les en opent een interactieve fiche. - **Meervoudige selectie**: **Shift+klik** breidt de selectie uit tot een **reeks**. De geselecteerde lessen worden dan **samen** bewerkt op één gedeelde fiche (duur in bulk, gemeenschappelijke kenmerken…). - **Dynamische filters** en de **keuze van de te tonen dagen** beperken de weergave tot wat u onder handen hebt. - **Filters “in afwachting”**: isoleer de lessen die **in afwachting van een lokaal** of **in afwachting van een docent** zijn, om de ontbrekende toewijzingen af te ronden; waarschuwingsbadges geven aan wat nog moet worden aangevuld. - Een **schakelaar dagen / entiteiten** draait de as van het rooster om, naargelang wat u vergelijkt. - **Voordelen**: zeer efficiënte handmatige plaatsing, gecombineerde weergaven (bijvoorbeeld klas + docent), herschikking van talrijke lessen, gericht filteren om de gaten weg te werken, snel **in bulk** bewerken rechtstreeks op een kalender. - **Nadelen**: minder direct dan de post-its voor het eerste aanmaken, geen aanmaak van complexe lessen, minder verfijnd filteren voor het overzicht en het bewerken in bulk. ##### Lijstweergave Een **tabelweergave** van de lessen: één **rij per les**, één **kolom per gegeven** (status, klas, vak, duur, positie, afwisselende week, docent, groep, lokaal, aantal leerlingen, resource, memo). - **Sorteren**: **elke kolom** is sorteerbaar — klik op de kolomkop om erop te sorteren, klik nogmaals om de volgorde om te keren (oplopend / aflopend). - **Filteren per kolom**: onder elke kolomkop filtert een **keuzelijst met meerdere opties** die kolom (soms **twee** lijsten voor een samengestelde kolom zoals dag + uur; een intervalveld `>=10, <5, 10-20` voor het aantal leerlingen). Meerdere waarden in **eenzelfde lijst** worden gecombineerd met **OF**, tenzij het waarden van verschillende aard zijn (bijvoorbeeld bij de lokalen: tussen de tags, de videoconferentie, de grootte en de naam), en dan geldt **EN**; filters op **meerdere kolommen** stapelen zich als **EN**. Een knop wist alle filters. - **Paginering**: bij grote aantallen wordt de lijst gepagineerd; de paginagrootte **past zich automatisch aan** (van enkele honderden tot enkele duizenden rijen) om vlot te blijven. - **Vereenvoudigd bewerken in bulk**: vink de gewenste lessen aan (selectiekolom) en gebruik dan de **actieknop in de kolomkop** (duur, docent, groep, lokaal…) om die **in één keer** op de hele selectie toe te passen. - **Automatische lokaaltoewijzing**: kies een **verzameling lessen** en een **verzameling lokalen**; het algoritme stelt een **optimale toewijzing** voor (aantal leerlingen, lokaalbeperkingen, beschikbaarheid), die u **regel voor regel aanpast** voordat u bevestigt. Zie [Automatische lokaaltoewijzing](#page-timetables.auto-room-assignment). - **Voordelen**: sorteerbaar totaaloverzicht, **verfijnd filteren per kolom**, bewerken en lokalen toewijzen **in bulk**. - **Nadelen**: minder visuele tijdscontext dan de twee andere modi, geen aanmaak van complexe lessen. #### Een les aanmaken Een *les* is een afzonderlijke uitvoering van een **cursus** (het vak ervan, een duur, soms een groep, meestal een docent en een lokaal), die daarna in het rooster wordt geplaatst. Selecteer een klas en **dubbelklik vervolgens op een cursus**: er wordt een les van dat vak aangemaakt met de standaardwaarden (duur = tijdseenheid van de klas, docent(en) van de cursus, in voorkomend geval het standaardlokaal). Ze ontstaat **zonder positie** en komt bij de **nog niet geplaatste lessen**, klaar om door het algoritme of met de hand te worden geplaatst. Dubbelklikken werkt in alle drie de modi; de lijst met cursussen staat alleen op een andere plaats: in het midden bij de post-its, **onder elke klas in het linkerpaneel** bij de roosters en bij de lijstweergave. Hoe u de les daarna **instelt** (duur, groep, docent, lokaal, resource), hangt af van de manier waarop ze wordt weergegeven: - **Zolang ze een kaart is** — bij de post-its, of nog niet geplaatst in de roosterweergave — sleept u de **onderrand** voor de duur en klikt u op de **pictogrammen** van de kaart voor de kenmerken. - **Zodra ze op de kalender is geplaatst, of in de lijstweergave**, verlopen de instellingen via een **keuzemenu**: de fiche *Les bewerken* (klik op de les in de kalender), of de rij- en kolommenu's van de lijstweergave — die bovendien bewerken **in bulk** toestaan. #### Een urenvolume opsplitsen Voorbeeld: de 4 wekelijkse uren van een cursus wiskunde kunnen worden: - 4 lessen van 1 uur, of - 2 lessen van 2 uur, of - 1 les van 2 uur + 2 lessen van 1 uur. De keuze is aan u, naargelang uw onderwijsritme. De teller van de cursus volgt uw voortgang doorlopend (zie hieronder). ##### Automatische verdeling Het menu Acties biedt een **Automatische verdeling** die in één keer het **ontbrekende volume** van elke cursus aanvult: ze voegt lessen toe van de gekozen duur (1 of 2 tijdsloten van het tijdrooster, 3 en 4 in kalendermodus — de waarde in uren hangt dus af van de duur van het tijdslot van het rooster) en sluit af met een kortere les als de rest niet geheel is. Ze respecteert de reeds aangemaakte lessen, zet de docenten en het standaardlokaal, en laat alles **ongeplaatst**. Ze werkt alleen op de **zichtbare cursussen**: combineer ze met het **filter** (Filteren) op vak of op lestype om bijvoorbeeld alleen de “Hoorcolleges” te verdelen. In de **lijstweergave** behandelt ze **alle klassen** in één keer; elders de **geselecteerde klas**. #### De urenteller per cursus Elke cursus links draagt een teller die de **aangemaakte uren** afzet tegen het **doelvolume** dat in stap 4 is vastgelegd (bijvoorbeeld `3 u / 4 u`). Het is het **uiterlijk van de kaart** dat uw voortgang aangeeft: - **Onder het volume**: normaal uiterlijk — er moeten nog uren worden aangemaakt. - **Precies op het volume**: de kaart **vervaagt** (wordt halfdoorzichtig), een teken dat ze rond is. - **Boven het volume**: **rode rand** — u hebt te veel uren aangemaakt. De badge van de teller neemt gewoon de **kleur van het vak** over (ze kan dus groen, blauw… zijn, zonder verband met de voortgang); beweegt u de muisaanwijzer over de kaart, dan wordt ze onderstreept met de accentkleur van de interface. Er verschijnt dan ook een tooltip met de **uitsplitsing** van de aangemaakte lessen (duur, lestypes, afwisselende weken, concepten / geannuleerde lessen). ##### Subgroepen en de evenwichtsindicator Wanneer een cursus wordt opgesplitst in een **klasverdeling** (meerdere subgroepen die **op hetzelfde tijdstip** les hebben, typisch een halvering van de klas), **vermenigvuldigt de teller niet** met het aantal groepen: een klasverdeling telt **één keer** — anders zou het totaal `n × volume` tonen, wat onzinnig zou zijn. Rest nog na te gaan of alle subgroepen wel hetzelfde volume krijgen: dat is de rol van het pictogram [scale-balanced] dat dan rechts van de cursus verschijnt. - **Groene weegschaal** — *Groepen in klasverdeling in evenwicht*: alle subgroepen hebben hetzelfde aantal uren. - **Oranje weegschaal** — *Groepen in klasverdeling uit evenwicht*: één subgroep heeft meer of minder uren dan de andere. Beweegt u de muisaanwijzer over het pictogram, dan verschijnt het **detail per groep** (de uren van elke subgroep), zodat u meteen ziet welke groep achterloopt. #### Een les dupliceren Er bestaan twee niveaus van duplicatie naast elkaar. **Snelle kloon.** Het pictogram Dupliceren — zowel op de post-itkaart als op elke rij van de lijstweergave aanwezig — maakt **één kopie** van de les in de **tijdelijke zone** (niet geplaatst), kenmerken inbegrepen. Ideaal om identieke lessen na elkaar aan te maken. **Geavanceerde duplicatie.** In de fiche van de les (pop-up *Les bewerken*) opent de kopieerknop met chevron een veel rijker menu, dat vooral in de weergave **roosters / kalender** wordt gebruikt. U kiest eerst **hoeveel** kopieën (1 tot 999) — of, op een rooster van het type kalender, **tot een datum** — en vervolgens **hoe** u ze plaatst: - **Les toevoegen aan de tijdelijke zone** — kopieën die niet geplaatst blijven. - **Hetzelfde tijdslot** — herhaalt de les op hetzelfde tijdslot. - **Volgende vrije slot(s)** — zoekt automatisch de tijdsloten die bij de duur passen. - **Volgende dag(en)** / **vorige dag(en)** — verschuift naar de aangrenzende dagen. - **Volgende week/weken** / **vorige week/weken** — *(alleen kalender)* draagt over van de ene week naar de andere. - **Kies de tijdsloten** — u wijst zelf de vrije tijdsloten in het rooster aan. Bij de opties per dag of per week beperkt een knop **“vrij”** de zoektocht tot de niet-bezette tijdsloten. In kalendermodus kan die zoektocht zelfs verder reiken dan het huidige rooster wanneer een vergelijking tussen roosters actief is. #### Memo's U kunt via het pictogram Opmerking een **memo** (vrije opmerking) aan een les hangen. Meerdere memo's zijn mogelijk, met verschillende **zichtbaarheidsniveaus**: - alleen beheerders, - beheerders + docenten, - iedereen (zichtbaar voor de leerlingen en op het informatiescherm). De memo's verschijnen in de tooltips wanneer u de muisaanwijzer over de lessen in de roosters beweegt. #### Complexe lessen Voor geavanceerde opstellingen, zie de speciale pagina: [Complexe lessen](#page-core-concepts.complex-lessons). Samengevat: - **Afwisselend** (week A/B) — Week toevoegen rechtsboven op de les, voegt een afwisselende week toe. - **Aaneengeschakeld** (opeenvolgend) — sleep een les onder een andere. - **Gekoppeld** (afwisseling van halve groepen) — knop die tussen twee aaneengeschakelde lessen verschijnt. - **Samen gegeven** (meerdere docenten op dezelfde les) — selectie van meerdere docenten op Docenten toewijzen. #### Bulkacties Het menu Acties rechtsboven geeft toegang tot de bulkbewerkingen: - **De plaatsing ongedaan maken** van alle lessen (behalve de vergrendelde), - **De plaatsingen ontgrendelen**, - **De lokaaltoewijzingen wissen**, - **De vooraf ingestelde lokalen toewijzen** (het standaardlokaal van de klas of van de docent, gespecialiseerde lokalen uitgezonderd), - **Automatische verdeling** van de lessen over 1 of 2 periodes, - **Import / export via spreadsheet** (zie [Massale import](#page-timetables.mass-import)), - **Alle lessen verwijderen** van een klas ⚠. #### Dynamische foutdetectie Bij elke wijziging controleert Omniscol de consistentie en toont het de meldingen boven aan het scherm en op de betrokken klassen / lessen. Zie [Diagnose](#page-glossary.diagnostic). #### Opslaan ⚠ Het verwijderen van een les is **onmiddellijk en definitief** (tenzij u nog niet hebt opgeslagen). Sla regelmatig op met Opslaan. Er is op dit scherm geen globale functie Ongedaan maken / Opnieuw. Lees vóór het opslaan de verwijderingen en de bulkacties na. #### En daarna Volgende stap: [Automatische roostergeneratie](#page-timetables.generation). #### Stappenplan — De uren van een cursus verdelen 1. **U hebt de urenvolumes van elke cursus vastgelegd** op zijn klassen in stap 4. Deze stap **splitst** die volumes op in afzonderlijke lessen (één les = één tijdslot dat daarna door het algoritme of met de hand wordt geplaatst). 2. **Selecteer links een klas.** Het rechterpaneel toont de lessen die al voor die klas zijn aangemaakt, gegroepeerd per cursus. De teller van elke cursus zet de aangemaakte uren af tegen het doelvolume (`3 u / 4 u`): de kaart vervaagt zodra het volume is bereikt en krijgt een rode rand wanneer het wordt overschreden. 3. **Dubbelklik op een cursus** om een les toe te voegen met de standaardinstellingen (duur, lestype). Sleep de **onderrand** van de les om de duur bij te stellen. Klik op de **pictogrammen** in de kaart om groep, docent, lokaal en resources te wijzigen. 4. **Splits het volume op zoals u wilt**: een cursus van 4 uur = 4 lessen van 1 uur, of 2 lessen van 2 uur, of een mengeling. De kaart van de cursus vervaagt zodra u precies op het doelvolume zit. In een klasverdeling (gelijktijdige subgroepen) geeft een groen / oranje pictogram [scale-balanced] aan of alle subgroepen hetzelfde volume krijgen. 5. **Voor identieke lessen in serie** maakt u de eerste aan en **dupliceert** u die: snelle kloon naar de tijdelijke zone via Dupliceren, of geavanceerde duplicatie vanuit de fiche (hetzelfde tijdslot, aangrenzende dagen / weken, vrije tijdsloten…), vooral in de kalenderweergave. 6. **Complexe lessen** (afwisselend A/B, aaneengeschakeld tot een dubbele periode, gekoppeld met rotatie, samen gegeven door meerdere docenten): zie de specifieke pictogrammen op de kaart van de les en de pagina [Complexe lessen](#page-core-concepts.complex-lessons). 7. **Volgende stap**: [Automatische roostergeneratie](#page-timetables.generation). #### Zie ook - [Complexe lessen](#page-core-concepts.complex-lessons) - [Massale import van cursussen via een spreadsheet](#page-timetables.mass-import) - [Cursus](#page-glossary.course) - [Les / Lesmoment](#page-glossary.lesson) ### 3.12 Automatische lokaaltoewijzing *Source: `help/nl/timetables/auto-room-assignment.md` · id: timetables.auto-room-assignment · Audience: admin · Updated: 2026-08-08* De **automatische lokaaltoewijzing** kent **in één keer** een lokaal toe aan een reeks geselecteerde lessen. U kiest een **verzameling kandidaat-lokalen**, het algoritme stelt een optimale toewijzing voor, en u **valideert na nalezing** — regel voor regel indien nodig. Deze functie verdeelt **uitsluitend lokalen**. Ze verschuift de lessen niet in de tijd, verandert hun duur niet, wijst geen resources toe en start de volledige roostergeneratie niet opnieuw. Wilt u de lokalen **tijdens** de roostergeneratie laten plaatsen, zie dan [Automatische roostergeneratie](#page-timetables.generation). #### Waar u de functie vindt Deze functie zit in de **lijstweergave** van het scherm [De uren verdelen en de lessen aanmaken](#page-timetables.hour-distribution) (de tabelweergave, één regel per les). 1. Toon de lessen in de **lijstweergave**. 2. **Vink** ten minste twee lessen aan (selectiekolom). Gebruik zo nodig de **sortering** en de **kolomfilters** om de te behandelen lessen af te zonderen — bijvoorbeeld de lessen **in afwachting van een lokaal**. 3. Open in de kolomkop de bulkactie voor lokalen, Een lokaal toewijzen. 4. Schakel in de lokaalkiezer de modus Automatische lokaaltoewijzing in. Lessen **op afstand** of **in zelfstudie** (volgens hun [modaliteit](#page-glossary.lesson-modality)) worden overgeslagen: zij hebben geen fysiek lokaal nodig. **Hybride** lessen tellen wel mee. Laat lessen met een **vergrendeld** lokaal **buiten de selectie**: de functie doorbreekt geen vergrendeling. #### De verzameling kandidaat-lokalen kiezen In de automatische modus toont de kiezer de lokalen gegroepeerd per **vestiging** en vervolgens per **gebouw**, met selectievakjes op drie niveaus: - een **vestiging** aanvinken neemt al haar in aanmerking komende lokalen mee; - een **gebouw** aanvinken neemt alle lokalen van dat gebouw mee; - een **lokaal** aanvinken voegt dat afzonderlijk toe. De lokalen die al aan de geselecteerde lessen zijn toegewezen, staan **vooraf aangevinkt**. Een lokaal waarvan de **specialisatie** bij geen enkele geselecteerde les past, of dat **te klein** is voor alle compatibele lessen, is **uitgeschakeld**. De capaciteit kleurt **rood** wanneer het lokaal geen van de compatibele lessen kan opvangen, en **oranje** wanneer het er slechts een deel van kan opvangen. Valideer de verzameling om de berekening te starten. #### Wat het algoritme doet Uitgaande van de gekozen verzameling kent het algoritme **één lokaal per les** toe: het houdt zich aan **strikte regels** en optimaliseert de rest: - de **specialisatie** die het vak van de les vereist; - de **capaciteit** van het lokaal tegenover het aantal leerlingen van de les; - de **bestaande bezetting** van het lokaal op het tijdslot — lessen uit andere roosters of uit andere gekoppelde accounts, evenementen, tijdsbeperkingen van het lokaal, gedeelde [grote lokalen](#page-glossary.large-room); - de **lokalen met voorrang** van de klas — de lokalen waarvan de [campus](#page-timetables.sites-rooms--campus) of de labels in haar fiche zijn gekozen — die worden vóór de andere geprobeerd, en zijn ze allemaal bezet, dan gaat het algoritme door met een compatibel lokaal; - een **voorkeur voor de referentievestiging** van de les; - de **afwisselende weken**: twee lessen die nooit in dezelfde week vallen, kunnen hetzelfde lokaal hergebruiken. Het algoritme kan de **lokalen tussen de geselecteerde lessen herschikken** om ze beter onder te brengen, en geeft de voorkeur aan het **kleinste passende lokaal**. Voldoet het huidige lokaal al en levert een ander maar een marginale winst op, dan **behoudt** het dat lokaal in plaats van een nutteloze wijziging te maken. Past **geen enkel** lokaal uit de verzameling, dan blijft de les **zonder oplossing**. #### Nalezen, aanpassen, toepassen De berekening opent een **voorbeeldvenster**: zolang dat openstaat, wordt het echte rooster **niet gewijzigd**. Elke regel draagt er een **status** — toegewezen, ongewijzigd, zonder oplossing, of handmatig aangepast — en toont het lokaal **vóór** en het **voorgestelde** lokaal. - **Een regel aanpassen**: klik op het voorgestelde lokaal om de gewone kiezer te openen. De handmatige keuze is **niet beperkt** tot de oorspronkelijke verzameling kandidaten; de regel krijgt de status “aangepast” en eventuele conflicten worden meteen op alle regels opnieuw berekend. - **Opnieuw instellen**: een knop herstelt het voorstel van het algoritme op de aangepaste regels. - Een regel **uitvinken** houdt die **buiten** de toepassing. - **Valideren** past de aangevinkte regels toe op het rooster; **Annuleren** sluit het venster zonder iets te wijzigen. Na toepassing **knipperen** de gewijzigde lessen en geeft een overzicht het **aantal gewijzigde, ongewijzigde en niet opgeloste lessen** aan. #### Aandachtspunten - Een les die **meerdere lokalen** droeg, kan door de automatische lokaaltoewijzing tot **één enkel** lokaal worden teruggebracht. - Een les **zonder geplaatst tijdslot** kan toch een lokaal krijgen (op grond van de verzameling, de specialisatie, de capaciteit en de vestiging), maar er kan dan geen enkel roosterconflict voor die les worden gecontroleerd. - Wilt u alleen de **standaardlokalen plaatsen** (van de klas of van de docent, gespecialiseerde lokalen uitgezonderd) of toewijzingen **wissen**, dan biedt het menu Acties daarvoor bestemde bulkacties — zie [De uren verdelen en de lessen aanmaken](#page-timetables.hour-distribution). #### Zie ook - [De uren verdelen en de lessen aanmaken](#page-timetables.hour-distribution) - [Vestigingen, tijdroosters, lokalen, resources](#page-timetables.sites-rooms) - [Lokaalspecialisaties](#page-core-concepts.classroom-specializations) - [Groot lokaal](#page-glossary.large-room) ### 3.13 Stap 6b — Massale import van cursussen via een spreadsheet *Source: `help/nl/timetables/mass-import.md` · id: timetables.mass-import · Audience: admin · Updated: 2026-06-02* Staat de lijst van uw cursussen al in een spreadsheet — een export uit uw SIS, een planning die u vooraf in Excel hebt gemaakt, of zelfs een export uit een ander programma zoals Hyperplanning of Aurion — dan kunt u die rechtstreeks in Omniscol **kopiëren en plakken**. #### De import openen In het menu Acties (op het scherm Urenverdeling) kiest u **“Tabel - import/export”**. Is er nog geen enkele klas aangemaakt, dan is er ook een rechtstreekse link beschikbaar. De import verloopt in **vier stappen**. #### Stap 1 — De tabel plakken Er opent een bewerkbare zone met een door Omniscol **vooraf gedefinieerd kolomsjabloon**. Elke positie heeft een vast type (derde kolom = vak, enzovoort); u kunt **de kolommen van het sjabloon herschikken** zodat ze overeenkomen met de volgorde van uw brontabel — daardoor verloopt het kopiëren en plakken vanuit Excel of Google Sheets netjes, zonder dat u uw bestand hoeft te herschrijven. Herkende velden: - **Klas** + **vak** (minimaal nodig om een cursus geldig te maken), - **Duur**, of **begintijd + eindtijd** (en **dag** voor de vooraf geplaatste lessen), - **Groep** (vrije scheidingstekens voor meerdere groepen), - **Lestype** (werkcollege, practicum, hoorcollege…), - **Docent(en)** (vrije scheidingstekens), - **Vestiging** + **Lokaal/lokalen** (meerdere lokalen per les zijn mogelijk, zie [meerdere lokalen](#page-glossary.multi-room)), - **Resource(s)**, - **Afwisselende weken** (formaat `A/B`, `1/2`…), - **Opmerking**. U kunt ook de **lijst van de reeds aangemaakte cursussen** importeren (dat is wat de export oplevert) als u die in Excel wilt bijwerken en opnieuw wilt importeren. #### Stap 2 — Controle van de planning en de vestigingen Omniscol toont de herkende uren (nog altijd bewerkbaar). Worden er meerdere vestigingen vermoed, dan kunt u de verkeerd toegewezen klassen, lokalen en resources naar de juiste vestiging **slepen**. Is er een overbodige vestiging aangemaakt, maak die dan leeg en ze verdwijnt. #### Stap 3 — Dubbelzinnigheden opheffen Na de analyse van de geïmporteerde waarden verschijnt de tabel opnieuw, met **keuzelijsten** op de dubbelzinnige velden. Controleer en corrigeer de voorgestelde overeenkomsten. Hier hakt u bijvoorbeeld de knoop door: - “Wisk.” = welk vak precies (met of zonder lestype)? - “J. Jansen” = wie van de drie docenten Jansen? - “A102” = lokaal A102 van vestiging Utrecht, van vestiging Groningen, of van een andere? #### Stap 4 — Aanmaken van de onbekende entiteiten Heeft de import entiteiten herkend die nog niet in uw gegevens bestaan (klassen, groepen, groepen van groepen, docent, aangepast vak, lestype, vestiging, lokaal, resource…), dan vraagt een laatste stap u: - om **de aanmaak in het rooster te bevestigen**, - om voor **aangepaste vakken** en bepaalde **docenten** zo nodig een aanmaak aan de kant van **Beheer** aan te vragen, zodat ze in de hele school beschikbaar worden. #### Beperkingen De import automatiseert het voorwerk, maar vervangt geen menselijke controle: - **Complexe lessen** (meervoudige afwisselingen, aaneenschakelingen, koppelingen) worden soms onvolledig gereconstrueerd — reken op een handmatige afwerkingsronde. - Bij zeer specifieke interne naamgevingen blijven sommige kolommen dubbelzinnig — daar hakt u in stap 3 de knoop door. - Voor **speciale migraties** vanuit een bepaald programma (Aurion, ASC…) bestaan er [gespecialiseerde adapters](#page-migration.overview). #### Stappenplan — De cursussen voorbereiden en vervolgens importeren 1. **Neem 10 minuten om het bronbestand voor te bereiden** voordat u op Importeren klikt. Een schoon bestand = een import zonder heen-en-weer. Verwijder in Excel of Google Sheets de samengevoegde rijen, de kopteksten over meerdere regels en de subtotalen. **Eén rij = één les.** Houd de labels consistent voor klassen, vakken, docenten, groepen, vestigingen, lokalen en resources. 2. **Open het importscherm** vanaf het scherm Urenverdeling, menu *Acties → Tabel - import/export*. Herschik de kolommen van het sjabloon zodat ze overeenkomen met de volgorde van uw spreadsheet en **plak vervolgens de tabel** in de bewerkbare zone. Dat is stap 1. 3. **Stap 2 — controle van de planning en de vestigingen.** Omniscol toont de herkende uren en de vermoede vestigingen. Sleep zo nodig de klassen, lokalen en resources naar de juiste vestiging, of maak een overbodige vestiging leeg om ze te laten verdwijnen. 4. **Stap 3 — dubbelzinnigheden opheffen.** De tabel verschijnt opnieuw met keuzelijsten op de dubbelzinnige velden: het precieze vak, een docent met dezelfde naam, een lokaal met dezelfde naam, enzovoort. Hier hakt u de knoop door. 5. **Stap 4 — aanmaken van de onbekende entiteiten.** Bevestig wat er op basis van uw bestand moet worden aangemaakt: klassen, groepen, groepen van groepen, docenten, vakken en lestypes, vestigingen, lokalen, resources. Voor aangepaste vakken en bepaalde docenten kunt u ook een aanmaak aan de kant van Beheer aanvragen. De lessen worden vervolgens in het rooster ingevoerd. 6. **Aan het einde** hebt u een gedeeltelijk ingericht rooster. Reken op een handmatige afwerkingsronde voor de complexe gevallen (meervoudige afwisselingen, aaneenschakelingen, koppelingen) die de import niet altijd volledig reconstrueert. Voor migraties vanuit een ander programma, zie [Migreren vanuit een ander programma](#page-migration.overview). #### Zie ook - [Uw gegevens voorbereiden voor een massale import](#page-getting-started.preparing-data) - [Migreren vanuit een ander programma](#page-migration.overview) - [Vorige stap — De uren verdelen](#page-timetables.hour-distribution) - Volgende stap — [Automatische roostergeneratie](#page-timetables.generation) ### 3.14 Stap 7 — Automatische roostergeneratie *Source: `help/nl/timetables/generation.md` · id: timetables.generation · Audience: admin · Updated: 2026-06-24* Zodra de lessen zijn aangemaakt, plaatst u ze op het rooster. Een rooster opbouwen is in de praktijk een **cyclus**, geen eenmalige handeling: 1. u **plaatst enkele lessen met de hand** — om onwrikbare punten te verankeren of sterke beperkingen vast te zetten (externe sprekers op een vaste datum, examens, handmatige afstemmingen); 2. u **genereert** (alles of een deel) zodat het algoritme de rest onder de beperkingen plaatst; 3. u **stelt in de marge bij** — een bijzonder geval corrigeren, een les verplaatsen, van gedachten veranderen; 4. en de cyclus **kan opnieuw beginnen**: u genereert gaandeweg opnieuw (toegevoegde lessen, of — in de kalendermodus — per datumbereik, per reeks klassen of campussen). U kunt ook alles **100 % met de hand** doen, zonder het algoritme. De handmatige plaatsing (plaatsen, verplaatsen, vergrendelen, één voor één of in bulk) heeft een eigen pagina: [Handmatige plaatsing](#page-timetables.manual-placement). Voor de werkwijze in haar geheel, zie [Overzicht van de module](#page-timetables.overview). Deze pagina behandelt de **automatische roostergeneratie**. #### De roostergeneratie plaatst de lessen, ze maakt ze niet aan Het algoritme werkt met lessen die al bestaan. Het zoekt er een tijdslot en een lokaal bij. De docenten zijn degenen die u aan de cursus hebt toegewezen: het algoritme vervangt ze niet en wijst er geen andere aan, het verwerpt alleen een tijdslot waarop ze niet vrij zijn. Vandaar de volgorde die u moet aanhouden: 1. **geef het vak en het urenvolume op** voor elke klas: dat is de *cursus*, een regel met een urenvolume; 2. **maak de lessen aan** uit dat volume, op de stap [De uren verdelen en de lessen aanmaken](#page-timetables.hour-distribution) — dat zijn de lessen die het algoritme plaatst; 3. **en genereer dan pas**. Wie het tabblad voor de roostergeneratie opent voordat de lessen zijn aangemaakt, treft een knop aan die niets doet: er valt niets te plaatsen, en het controlescherm toont **Geen lessen gedefinieerd**. #### Waarom de generatieknop grijs is De knop weerspiegelt de diagnose die er vlak boven staat, op het tabblad Controle. Drie situaties: - **Geen enkele melding, of alleen waarschuwingen** — de knop blijft actief, met een gedempt uiterlijk. Een waarschuwing (geel) wijst op een risico, niet op een onmogelijkheid; blauw is informatief. - **Een blokkerende melding (rood)** — de hoofdknop is uitgeschakeld. De berekening is nog wel te starten via Meer opties, op eigen risico: het algoritme ziet het probleem waarop de melding wijst niet, het levert toch een rooster op, en het resultaat komt voor uw rekening. De melding corrigeren verdient de voorkeur. - **Een onoverkomelijke melding** — zowel de knop **als** het optiemenu zijn uitgeschakeld. Er ontbreekt een gegeven, en zonder dat gegeven heeft de berekening geen zin: geen enkele les, geen enkele bruikbare klas (een klas is bruikbaar zodra ze een vestiging *en* lessen heeft), of een gebruikte vestiging waarvan het tijdrooster niet is vastgelegd. Een instelling waar nog geen enkele vestiging is aangemaakt, valt hieronder: zonder vestiging is geen enkele klas bruikbaar. De statistiek **Aantal geconfigureerde klassen** kleurt in dat laatste geval rood. Elke melding staat in duidelijke taal in de lijst, met vermelding van de betrokken klas, vestiging of docent. Voor de ernstschaal en hoe u die leest, zie [Conflicten en diagnose](#page-timetables.conflicts); voor het verhelpen van een roostergeneratie die niet tot een resultaat komt, [Een mislukte roostergeneratie diagnosticeren](#page-timetables.diagnosing-generation). #### Beschikbaarheid De automatische roostergeneratie is beschikbaar op [weekroosters](#page-glossary.weekly-timetable), [cyclische roosters](#page-glossary.cyclic-timetable) en [kalenderroosters](#page-glossary.calendar-mode). In de kalendermodus worden de lessen op werkelijke datums geplaatst en kunnen de opties het te genereren datumbereik beperken. #### Voorbereiding Voordat u op Rooster genereren klikt: - klap het tabblad **Roostergeneratie** open (op een kalenderrooster heet het Controle) om de globale statistieken te controleren, - corrigeer de **blokkerende meldingen** (rood) — zie de vorige paragraaf over de grijze knop, - lees de **waarschuwingen** (geel) nog eens door — die blokkeren niets, maar wijzen op een risico (te beperkende beschikbaarheid, een capaciteit die tegen de grens aan zit enzovoort). Het scherm toont ook: - het aantal aangemaakte lessen tegenover het aantal geplaatste lessen, - de ingevoerde urenvolumes tegenover de diensturen van de docenten, - de groepen die aan ten minste één cursus zijn toegewezen (om vergeten of ongebruikte groepen op te sporen). #### Starten Klik op Rooster genereren. Omniscol zet een eigen, geparallelliseerde rekenomgeving op. De duur hangt af van de omvang van het rooster, het aantal beperkingen en de gekozen opties. De school hoeft geen wachtrij te beheren; de initialisatie duurt vaak een tiental seconden voordat de berekening echt begint. De berekening is **afgetopt op twintig minuten**, maar dat ligt in de praktijk ruim boven wat nodig is: een rooster met ongeveer 200 cursussen is vaak in een twintigtal seconden klaar — het algoritme werkt bijna onmiddellijk, het is vooral het opstarten van de machine dat tijd kost — en ~600 cursussen in ongeveer een minuut. Voor een zeer grote instelling die deze grens zou naderen, kan het team van Omniscol op verzoek de rekenkracht van de machine verhogen. #### Opties voor de roostergeneratie Standaard plaatst de roostergeneratie alle lessen die zijn aangemaakt maar nog niet geplaatst. Ze kan ook al geplaatste lessen verplaatsen als dat het rooster verbetert. Vergrendelde lessen behouden hun positie. Met het optiemenu kunt u onder meer: - de lokalen beheren met drie keuzes: standaard een geoptimaliseerde toewijzing, alleen controleren, of de lokalen volledig negeren; - alleen bepaalde klassen of bepaalde vakken selecteren; - een kalenderrooster beperken tot een gericht datumvenster; - de al toegewezen lokalen of de huidige plaatsingen negeren; - alleen de lokalen toewijzen zonder de hele plaatsing opnieuw te berekenen; - een snelle generatie zonder optimalisatie starten; - flexibele plaatsing op de onderverdelingen van het tijdrooster toestaan wanneer het rooster met een onderverdeling werkt. Met de geavanceerde optimalisatie-instellingen kunt u ook de gaten verkleinen, twee lessen van hetzelfde vak op dezelfde dag vermijden, de lessen spreiden, een minimum of maximum aantal uren vastleggen, of het aantal aanwezigheidsdagen van de docenten kiezen. De gewoonten verschillen per land: in Frankrijk proberen sommige instellingen het aantal aanwezigheidsdagen van de docenten terug te brengen; in andere contexten geeft men er juist de voorkeur aan die dagen te spreiden, bijvoorbeeld om andere taken op de vestiging te organiseren. #### Opties die eigen zijn aan de kalendermodus In de kalendermodus kunnen de geavanceerde opties de roostergeneratie beperken tot een **gericht datumvenster** dat korter is dan het volledige bereik van het rooster. Dat is handig om maar een deel van het jaar te genereren: een test over één maand, het stapsgewijs opbouwen van een semester, of het opnieuw oppakken van een al voorbereide periode. De andere belangrijke optie is het **compacteren van de dagen** voor de klassen. Standaard zoekt het algoritme eerder een evenwicht over de beschikbare dagen; genereert u maar een deel van de lessen van het jaar, dan kan dat gedrag de lessen kunstmatig uitsmeren. Met het compacteren kunt u om een groepering vragen: - aan het begin van het venster; - aan het eind van het venster; - zonder voorkeur voor begin of eind, maar met dagen die zo compact mogelijk blijven. #### Hoe de roostergeneratie te werk gaat Inzicht in de logica van het algoritme helpt u te voorzien wat het zal plaatsen, wat het zal opofferen en hoe u het kunt sturen. Het streeft **twee doelen na, in deze volgorde**: 1. **Alles erin krijgen** — de absolute prioriteit: *alle* lessen plaatsen met inachtneming van de harde beperkingen. 2. **De kwaliteit optimaliseren** — zodra alles past: de tussenuren beperken, de dagen gladstrijken, de voorkeuren honoreren. Het vertrekt van een schone lei (**vergrendelde** lessen behouden hun plaats, de andere worden opnieuw ingepland) en plaatst **van de moeilijkste les naar de gemakkelijkste**. De moeilijkheid komt vooral voort uit de **krapte van de beperkingen**: een cursus waarvan de docent maar één middag per week beschikbaar is, of een **blok van vier uur** dat in één stuk moet worden ingepast, gaat voorop. Bij gelijke moeilijkheid wisselt het de vakken af en behandelt het **de zeldzaamste vóór de meest voorkomende**, om de kansen eerlijk over alle vakken te verdelen. ##### Wanneer niet alles past: de opoffering Is het rooster te sterk beperkt om alles in te passen, dan **geeft het algoritme het niet op**: het kiest de kleinste verzameling lessen om **opzij te leggen** zodat de rest past, en optimaliseert vervolgens dat gedeeltelijke rooster. De opgeofferde lessen blijven in de balk met te plaatsen post-its staan. Doordat de ordening het moeilijkste en het zeldzaamste voorrang gaf, zijn het eerder **gemakkelijke en talrijke** lessen die het onderspit delven: het vijfde uur van een vak met een groot urenvolume eerder dan het enige uur van een zeldzaam vak. U houdt zelf de regie over deze afwegingen: **vergrendel** de lessen die nooit mogen verschuiven — ze worden bij voorrang geplaatst en niet opgeofferd — en **versoepel de overmaat aan beperkingen** (open tijdsloten, beschikbaarheid) waar dat kan, zodat het geheel past. ##### Harde en zachte beperkingen Niet alle beperkingen zijn gelijkwaardig: - **Hard** — nooit geschonden: de **bezetting** (een docent, een klas, een groep, een lokaal of een resource wordt niet twee keer op hetzelfde moment gebruikt), de tijdvakken die als **Niet beschikbaar** (in het zwart) zijn gemarkeerd op een docent, een klas, een lokaal, een vak of een groep, het **ontbreken van een vrij lokaal of een vrije resource** op het tijdslot, de **gesloten dagen**, de **vergrendelde posities** en de **groepsuitlijningen**. - **Zacht** — al het overige, dat het algoritme mag **overtreden** ten koste van strafpunten om alles ingepast te krijgen: de tijdvakken die als **Ongewenst** (in het rood — te vermijden, niet verboden) zijn gemarkeerd, en de optimalisatievoorkeuren (compactheid, spreiding, groepering per dag…). Een beperking met een *hoge* prioriteit weegt zwaarder dan een met een *lage* prioriteit, maar geen enkele blokkeert. Het algoritme probeert ook gerichte versoepelingen (plaatsing op de onderverdelingen van het tijdrooster…) wanneer dat de prijs is om geen enkele les op te offeren. ##### Controleren zonder te optimaliseren De optie **snelle generatie** (zonder optimalisatie) start een verkorte doorrekening die vooral één vraag beantwoordt: *past alles?* Handig om de haalbaarheid van een configuratie te testen voordat u de tijd voor een volledige optimalisatie investeert. #### Resultaat - **Groene banner**: de roostergeneratie is geslaagd. De lessen van het gevraagde bereik konden worden geplaatst en het resultaat kan worden geïnspecteerd. - **Rode banner**: er is geen volledige oplossing gevonden. Het beste berekende rooster blijft raadpleegbaar en de niet-geplaatste lessen verschijnen voor de diagnose in de balk met post-its. Zie [Een mislukte roostergeneratie diagnosticeren](#page-timetables.diagnosing-generation). #### Consolideren of kopiëren Na een geslaagde roostergeneratie biedt Omniscol twee opties: - **Consolideren** in het lopende rooster (de plaatsing vervangt de bestaande). - **Een kopie maken** (het huidige rooster blijft ongewijzigd, het geoptimaliseerde resultaat wordt een nieuw rooster). Bent u van plan later opnieuw te genereren (omdat u bijvoorbeeld stapsgewijs opbouwt), **consolideer dan niet**: anders zouden de al geplaatste lessen vertrekpunten worden voor de nieuwe roostergeneratie. #### Een les vergrendelen voordat u opnieuw genereert Gebruik op een al geplaatste les het **hangslot** voor de positie om die te vergrendelen. De volgende roostergeneratie verplaatst die les niet, maar past de andere lessen eromheen aan. Handig om “onwrikbare” lessen te verankeren (externe sprekers op een vaste datum, examens met een vaste datum, handmatige afstemmingen…). Alle details staan in [Een les vergrendelen](#page-timetables.lesson-lock): vergrendelen in bulk, gevolgen voor de diagnose (rood → oranje), gedrag van het algoritme. #### Een rooster naar JSON exporteren De knop [download] exporteert **alleen het lopende rooster** in JSON-formaat. Dit is niet de volledige export van het account die in [Import en export](#page-admin.import-export) wordt beschreven. Typische gevallen: - een concept of een scenario vastleggen voordat u het verwijdert; - een tussenstand archiveren vóór een ingrijpende reorganisatie; - juist dit rooster in het kader van support aan het team van Omniscol bezorgen. Net als bij de volledige JSON-export van het schoolaccount is het opnieuw inlezen geen standaardgebruik dat aan schoolzijde vrij beschikbaar is. #### En daarna Laatste stap: [Een rooster publiceren (activeren)](#page-timetables.publication). #### Stappenplan — Een automatische roostergeneratie starten 1. **De automatische roostergeneratie** plaatst de lessen op het rooster met inachtneming van tientallen beperkingen (beschikbaarheid, capaciteiten, groepsuitlijningen, specialisaties, afwisselende weken). Beschikbaar op weekroosters, cyclische roosters en kalenderroosters. 2. **Controleer het tabblad Roostergeneratie.** Daar staan de globale statistieken: aangemaakte tegenover geplaatste lessen, ingevoerde urenvolumes tegenover de diensturen van de docenten, blokkerende meldingen (rood), waarschuwingen (geel — die waarschuwen zonder te blokkeren). 3. **Corrigeer de rode meldingen** voordat u start. Zolang er nog rode meldingen openstaan, kan de roostergeneratie niet beginnen — tenzij u de berekening forceert via het menu "Meer opties", wat niet wordt aanbevolen. Over de gele moet u een afweging maken, maar ze verhinderen de roostergeneratie niet. 4. **Stel zo nodig de opties voor de roostergeneratie in**: lokalen toewijzen, alleen controleren of negeren; gerichte klassen of vakken; snelle generatie zonder optimalisatie; al toegewezen lokalen of huidige posities negeren. In de kalendermodus kunt u met de geavanceerde opties ook het gegenereerde datumvenster beperken en de lessen compacteren aan het begin van de periode, aan het eind van de periode of zonder voorkeur. 5. **Klik op Rooster genereren.** De verwerking loopt op de achtergrond; het scherm toont de status van de roostergeneratie en laat u het resultaat inspecteren zodra het beschikbaar is. 6. **Sla op** wanneer de score u bevalt. Het rooster is geplaatst. Volgende stap: neem de eventuele conflicten door, pas bijzondere gevallen met de hand aan (zie [Handmatige plaatsing](#page-timetables.manual-placement)) en publiceer daarna. 7. **En daarna**: [Een rooster publiceren (activeren)](#page-timetables.publication). #### Zie ook - [Handmatige plaatsing](#page-timetables.manual-placement) - [Een mislukte roostergeneratie diagnosticeren](#page-timetables.diagnosing-generation) - [Roostergeneratie](#page-glossary.solver) - [Conflicten opsporen en oplossen](#page-timetables.conflicts) ### 3.15 Stap 8 — Een rooster publiceren (activeren) *Source: `help/nl/timetables/publication.md` · id: timetables.publication · Audience: admin · Plan: standard · Updated: 2026-06-13* ⚠ Een **vaak vergeten stap**: een gegenereerd rooster wordt **niet automatisch gepubliceerd**. Zolang het niet gepubliceerd is, blijft het een concept — alleen zichtbaar in de module Roosterbeheer, en alleen voor de beheerders. Pas na de publicatie verschijnt het rooster in de module [Rooster](#page-schedules.consult-and-filter) die alle gebruikers met de juiste rechten raadplegen. #### Hoe u publiceert Op de startpagina van de module Roosterbeheer: 1. Selecteer het betreffende **schooljaar** in de **tijdlijn bovenaan**. Standaard wordt het **lopende schooljaar** getoond. Bereidt u het volgende schooljaar voor, klik dan op de **pijl naar rechts van de tijdlijn** om naar jaar N+1 te wisselen — anders probeert u te publiceren op de weken van het lopende jaar, waar de weken al aan het huidige rooster zijn toegewezen. Zie [Tijdlijn en navigatie in de tijd](#page-core-concepts.timeline-navigation) voor het algemene concept. 2. Klik op Roosterverdeling (Roosterverdeling). 3. Er verschijnt een raster: de roosters in rijen, de weken in kolommen. 4. **Selecteer de weken** waarin elk rooster geldt (klik of sleep op de weekbalk). De knop Periode toevoegen voegt een extra periode toe aan een rooster. 5. Sla op met Opslaan. #### Standaardaccount: één rooster per week Met een standaardaccount is **één publicatie** per week toegestaan. Wilt u twee verschillende roosters publiceren, dan moeten die betrekking hebben op periodes die elkaar niet overlappen (bijvoorbeeld semester 1 en semester 2). > _Option: Meerdere actieve roosters naast elkaar_ #### Gelijktijdige publicaties Beschikt uw account over deze mogelijkheid (inbegrepen in Premium), dan kunt u **meerdere roosters naast elkaar** publiceren op dezelfde weken. De motor voegt de weergaven dynamisch samen: delen twee gepubliceerde roosters een docent of een lokaal, dan toont het geconsolideerde rooster van die docent of dat lokaal de lessen uit beide roosters. Typisch gebruiksgeval: een wekelijks rooster voor de terugkerende lessen van de gemeenschappelijke kern + een kalenderrooster voor de losse masterclasses. #### Kalenderrooster: binaire publicatie Een rooster in de [kalendermodus](#page-glossary.calendar-mode) publiceert u niet per periode van weken (de lessen zijn al afzonderlijk gedateerd). De publicatie is binair — het rooster is gepubliceerd, of het is dat niet. #### Wekelijks / cyclisch rooster: publicatie per periode Voor wekelijkse en cyclische roosters voegt u **één of meer publicatieperiodes** toe en slaat u daarna op. De lopende wijzigingen verschijnen gearceerd bij toevoegingen en doorzichtig bij verwijderingen. #### Afwisselende weken: welke lessen op welke datums Gaat een rooster met afwisselende weken in gebruik, dan behoudt elke werkelijke week alleen de les waarvan de positie in de cyclus overeenkomt met de **telling van de weken**. Vakanties kunnen die telling verschuiven: met de **tijdlijn** van het scherm [schooljaar](#page-admin.school-year) legt u de punten vast waarop de telling opnieuw met week A begint, zodat op elke datum de juiste afwisselende lessen worden behouden. #### Leerlingen toewijzen na de publicatie Zodra het rooster voor het lopende schooljaar is gepubliceerd, kunt u de **leerlingen aan hun klassen en groepen toewijzen**: 1. Module Leerlingen. 2. Selecteer de betreffende leerlingen. 3. Toewijzen aan een klas. De leerlingen zien hun persoonlijke rooster pas als die toewijzing is gebeurd — en pas nadat het lopende jaar is gewisseld als u het volgende jaar voorbereidt. #### Stappenplan — Een rooster publiceren in 5 stappen 1. **Publiceren maakt een rooster zichtbaar** in de module Rooster van alle gebruikers met de juiste rechten. Zolang het niet gepubliceerd is, blijft het rooster een concept dat alleen voor de beheerders zichtbaar is. 2. **Controleer het getoonde schooljaar** in de tijdlijn bovenaan. Standaard is dat het lopende jaar. Wilt u op het volgende jaar publiceren, klik dan op de **pijl naar rechts van de tijdlijn** om naar N+1 te wisselen voordat u verdergaat. 3. **Klik op Roosterverdeling.** Er verschijnt een raster met de roosters in rijen en de weken van het schooljaar in kolommen. 4. **Selecteer de weken** waarin het rooster moet gelden. Klik of sleep op de weekbalk. De gekozen weken krijgen een kleur; de andere blijven wit. 5. **Sla de publicatie op.** Het rooster gaat meteen in gebruik: het wordt zichtbaar in de module Rooster van alle gebruikers met de juiste rechten. 6. **Volgende stap: wijs de leerlingen toe** aan hun klassen en groepen. Die toewijzing kan pas na een eerste publicatie. De leerlingen zien dan hun persoonlijke rooster. #### Zie ook - [Publicatie / Activering van een rooster](#page-glossary.publication) - [Meerdere actieve roosters naast elkaar](#page-timetables.multiple-active-timetables) - [Het volgende schooljaar voorbereiden](#page-timetables.next-school-year) ### 3.16 Meerdere actieve roosters naast elkaar *Source: `help/nl/timetables/multiple-active-timetables.md` · id: timetables.multiple-active-timetables · Audience: admin · Options: multiple-active-timetables · Updated: 2026-06-13* > **Option: Meerdere actieve roosters naast elkaar** Op een Standard-account kan er **maar één rooster** tegelijk over een bepaalde periode gepubliceerd worden. Voor de klassieke werking van een middelbare school volstaat dat. In bepaalde contexten — typisch hoger onderwijs, modulaire opleidingen, scholen met meerdere leertrajecten — ontstaat de behoefte om **meerdere roosters naast elkaar te publiceren** die elkaar aanvullen. Op Premium-accounts is deze mogelijkheid standaard inbegrepen. In bepaalde gemengde schoolaccounts met meerdere werkelijk gescheiden roosters — bijvoorbeeld een middelbare school met een eigen onderbouw en bovenbouw, of een scholengemeenschap met basis- en voortgezet onderwijs — kan Omniscol deze mogelijkheid gericht inschakelen. De afbakening en de facturering worden dan op de werkelijke behoefte afgestemd. #### Waarom meerdere roosters naast elkaar Enkele typische scenario's: - **Gemeenschappelijke kern + afstudeerrichtingen** — een wekelijks rooster dekt de gemeenschappelijke kern (vakken die alle jaargangen delen), daarbovenop komen roosters per afstudeerrichting of per traject met hun eigen beperkingen. - **Regulier + losse kalender** — een regulier wekelijks rooster bevat het merendeel van de lessen, een kalenderrooster bevat de gedateerde lessen (lezingen, examens, juryzittingen). - **Meerdere vestigingen** — één rooster per vestiging met lokaal beheer, samenvoeging bij het raadplegen voor leerlingen die van de ene vestiging naar de andere gaan. - **Opleidingen van verschillende duur** — bijvoorbeeld een EMBA-traject van 18 maanden, een masteropleiding in kalendersemesters en een wekelijks voorbereidingstraject, met gedeelde docenten en lokalen. Zonder deze optie dwingen deze gevallen u om alle complexiteit in één enkel rooster samen te brengen, wat al snel onbeheersbaar wordt. #### Hoe het werkt U maakt meerdere roosters aan in de module Roosterbeheer, zoals gewoonlijk. Bij de **publicatie** over de weken accepteert het scherm Roosterverdeling meerdere roosters op dezelfde weken in plaats van één enkel. Aan de gebruikskant (portalen, informatieschermen, iCal, API) worden de roosters die op een week gepubliceerd zijn **dynamisch samengevoegd**: een leerling ziet alle lessen die hem of haar aangaan, uit welk rooster ze ook komen. Binnen hetzelfde account delen de roosters die naast elkaar actief zijn de bezetting van de betrokken resources: lokalen, docenten en, waar dat relevant is, klassen. Zo voorkomt u dat dezelfde docent of hetzelfde lokaal door twee actieve roosters dubbel geboekt wordt. Klassen die door meerdere roosters gedeeld worden, komen ook voor, maar dat blijft marginaler en hangt sterk af van de pedagogische organisatie. #### Conflictdetectie tussen roosters Twee mechanismen vullen elkaar aan, afhankelijk van waar u werkt. ##### Tijdens het opbouwen van het rooster Wanneer u een rooster opbouwt of reorganiseert in Roosterbeheer, legt de knop Synchronisatie (werkbalk van zowel de reorganisatie als het bewerken van een kalenderrooster, op de **gedeelde datums**) uw werk naast de **andere gepubliceerde roosters**. Hij houdt automatisch rekening met de roosters waarvan de **datums overlappen** met die van het huidige rooster en die minstens één **docent**, één **lokaal** of één **klas** delen — lokaal (hetzelfde account) net zo goed als met **[gekoppelde accounts](#page-integrations.linked-accounts)**. Hij schakelt dus vanzelf in zodra er gedeelde resources zijn (oranje = actief). Dit automatisme verbindt de **gedateerde roosters (kalender)**. Een welkome uitzondering: hij **negeert een eenvoudige kopie** van het huidige rooster (dezelfde lessen). Zo kunt u aan een **gedupliceerd conceptrooster** werken zonder met uzelf in conflict te komen. De bezetting van die roosters gaat dan mee in de conflictmotor: - de **kandidaat-tijdsloten** voor de plaatsing (gekleurde bolletjes) worden oranje of rood als de docent of het lokaal elders al bezet is; - de **diagnose** meldt de dubbele boekingen tussen roosters. Het gemelde conflict geeft dan duidelijk aan dat het uit een extern rooster komt, met de precieze verwijzing erbij. Het uitklapmenu van de knop somt de roosters en accounts op waarmee rekening wordt gehouden: vink uit wat u niet wilt bewaken, bijvoorbeeld om een overlap bewust te aanvaarden. ##### Bij het raadplegen (operationeel rooster) Eenmaal gepubliceerd worden de roosters **samengevoegd** tot één **operationeel** rooster — het raadpleegscherm in Omniscol (de module Rooster) en alles wat het rooster afneemt (portalen, informatieschermen, iCal, API). Conflicten tussen roosters leest u daar vanzelf af: staat een docent (of een lokaal) op twee gelijktijdige lessen uit twee gepubliceerde roosters, dan liggen die op het samengevoegde raster over elkaar heen. Dat is de logica van de samenvoeging: ze vormt het rooster zoals het werkelijk beleefd wordt, **alle types door elkaar** (ook een wekelijks rooster en een kalenderrooster). In de reorganisatieweergave levert dat een conflict op. In beide gevallen blijft de oplossing een planningsactie: verplaatsen, aanpassen of het conflict aanvaarden, naargelang het geval. #### Stappenplan — Een regulier rooster en een kalenderrooster naast elkaar publiceren 1. **Het klassieke hybride geval**: een regulier **wekelijks** rooster voor het merendeel van de lessen, plus een **kalenderrooster** voor de gedateerde lessen (gastcolleges, examens, juryzittingen). 2. **Vooraf**: twee roosters aangemaakt in Roosterbeheer — een wekelijks rooster met de reguliere lessen, een kalenderrooster met de gedateerde lessen. Stel ze onafhankelijk van elkaar in. Zie ook [Kalendermodus](#page-timetables.calendar-mode). 3. **Start de roostergeneratie** op elk rooster afzonderlijk als u die gebruikt. Controleer eerst de conflicten die eigen zijn aan elk rooster. 4. **Publiceer het wekelijkse rooster** op de gewenste weken (meestal: het hele jaar). Zie [Publicatie](#page-timetables.publication). **Publiceer daarna het tweede rooster** (kalender) op **dezelfde weken**. Het scherm Roosterverdeling accepteert meerdere roosters naast elkaar (tegenover één enkel op een Standard-account). 5. **Controleer de samenvoeging**: open het leerlingen- of docentenportaal — de lessen van beide roosters verschijnen op hetzelfde raster, dynamisch samengevoegd. iCal, API en informatieschermen zien hetzelfde. 6. **Conflicten tussen roosters**: tussen een wekelijks rooster en een kalenderrooster wordt de overlap vooral zichtbaar op het **samengevoegde operationele rooster** (raadpleging, portalen) — als een lezing (kalender) voor dezelfde docent of hetzelfde lokaal op het tijdslot van een reguliere les (wekelijks) valt, liggen de twee lessen daar over elkaar heen. Oplossing als bij een gewoon conflict: verplaatsen, aanpassen of aanvaarden. #### Zie ook - [Een rooster publiceren](#page-timetables.publication) - [Kalendermodus](#page-timetables.calendar-mode) - [Gekoppelde accounts en gedeelde resources](#page-integrations.linked-accounts) - [Abonnementen en opties van Omniscol](#page-overview.plans-and-options) ### 3.17 Lessen handmatig plaatsen *Source: `help/nl/timetables/manual-placement.md` · id: timetables.manual-placement · Audience: admin · Updated: 2026-06-23* Een les **met de hand** plaatsen betekent dat u haar tijdslot zelf kiest, in plaats van het algoritme te laten beslissen. Dat gaat bijna altijd samen met de [Automatische roostergeneratie](#page-timetables.generation): een rooster opbouwen is een **cyclus** (enkele lessen plaatsen → genereren → bijstellen), beschreven in [Overzicht van de module](#page-timetables.overview). #### Wanneer met de hand plaatsen - **Onwrikbare punten verankeren voordat u genereert** — een interventie op een vaste datum, een examen, een opgelegde afstemming: u plaatst die (en vaak **vergrendelt** u die ook, zie [Een les vergrendelen](#page-timetables.lesson-lock)) zodat de roostergeneratie er *omheen* bouwt. - **In de marge bijstellen na een roostergeneratie** — een les verplaatsen, een bijzonder geval regelen, van gedachten veranderen over een tijdslot. - **Alles met de hand opbouwen** — bij een klein rooster, of wanneer u de regie liever van begin tot eind zelf houdt (zie hieronder). #### De handeling: punaise, dan een gekleurd tijdslot Een les plaatsen is **nooit slepen en neerzetten**. Klik op de plaatsingsknop (punaise, Plaatsen in het rooster) van de les — op haar post-itkaart, haar regel in de lijst, of in haar fiche (Plaatsen in het rooster) als ze al geplaatst is. Omniscol toont dan **alle mogelijke tijdsloten**, gekleurd naar het conflictniveau: - **groen** — geen conflict; - **geel** en vervolgens **oranje** — kleine tot matige conflicten (de reden verschijnt); - **rood** — blokkerend conflict. Het detail van elk niveau en de volledige lijst met detecties staan in [Conflicten en diagnose](#page-timetables.conflicts). De tijdsloten verschijnen bij de klas **en** bij de betrokken docent of docenten, samen met de andere al geplaatste lessen om u te helpen kiezen. **Klik op het gekozen tijdslot** om de les daar te plaatsen. Om ze weer weg te halen, dubbelklikt u op een al geplaatste les (ze keert terug naar de zone met niet-geplaatste lessen, zonder te worden verwijderd). #### In bulk plaatsen — planningweergave Klik op Raster: de planning van de klassen / docenten verschijnt, handig om plaatsingen aaneen te rijgen. De handeling verandert niet — de punaise [thumbtack] van een les, en dan een klik op een gekleurd tijdslot. Dat is nuttig in de kalendermodus om opgelegde datums vast te leggen of om het resultaat van een roostergeneratie plaatselijk bij te stellen. #### Vergrendelen om een handmatige plaatsing vast te zetten Een met de hand geplaatste les blijft standaard verplaatsbaar door de volgende roostergeneratie. Wilt u dat ze **niet meer verschuift**, vergrendel dan haar positie (hangslot): de roostergeneratie bouwt er dan omheen. Details (vergrendelen in bulk, gevolgen voor de diagnose): [Een les vergrendelen](#page-timetables.lesson-lock). #### Alles met de hand doen (zonder roostergeneratie) Niets verplicht u om de roostergeneratie te starten. Op een klein weekrooster, of wanneer de plaatsing sterk wordt bepaald door menselijke keuzes, kunt u **elke les** één voor één plaatsen (of in bulk in de planningweergave) en nooit genereren. De diagnose blijft realtime actief: de conflicten (docent, lokaal, klas, resource) worden gaandeweg gemeld, net als bij een roostergeneratie. Daarna publiceert u gewoon. Voor lessen die uit het tijdrooster vallen (expliciete tijden, verlengde examens), zie [Lessen buiten rooster](#page-timetables.off-grid-lessons). #### En daarna Zodra het rooster is geplaatst — met de hand, via de roostergeneratie, of allebei — [Een rooster publiceren (activeren)](#page-timetables.publication). #### Zie ook - [Automatische roostergeneratie](#page-timetables.generation) - [Een les vergrendelen](#page-timetables.lesson-lock) - [Lessen buiten rooster](#page-timetables.off-grid-lessons) - [De uren verdelen en de lessen aanmaken](#page-timetables.hour-distribution) ### 3.18 Een les bewerken *Source: `help/nl/timetables/lesson-edit.md` · id: timetables.lesson-edit · Audience: admin · Updated: 2026-06-12* Zodra de les is aangemaakt (zie [De uren verdelen en de lessen aanmaken](#page-timetables.hour-distribution)), stelt u de **velden** ervan één voor één in: vak, groep, docent, lokaal, resources, duur, memo en — afhankelijk van uw abonnement — status en modaliteit. Deze pagina zet **alle velden** van een les op een rij en laat zien hoe u ze wijzigt. #### Waar u een les bewerkt Dezelfde velden stelt u op **drie manieren** in, afhankelijk van de weergavemodus van de urenverdeling (zie [Drie weergavemodi](#page-timetables.hour-distribution)): - **Post-its**: elke leskaart draagt een rij **pictogrammen** (één per veld); één klik opent de bijbehorende kiezer. - **Herschikking**: één klik op een les opent een **lesfiche** waarin diezelfde velden zijn samengebracht; met een meervoudige selectie bewerkt u ze in bulk. - **Lijstweergave**: één **kolom per veld**, met bewerken in bulk vanuit de kolomkop op de aangevinkte lessen. Welke weg u ook kiest, u wijzigt **dezelfde les**: de waarden blijven in alle modi consistent, en er wordt niets gepubliceerd zolang u niet hebt opgeslagen. #### Standaardvelden Beschikbaar op alle abonnementen: - **Vak** Bewerken — het vak dat aan de les is gekoppeld, uit de vakken die op de klas zijn vastgelegd. - **Groep** Groep toewijzen — de betrokken groep of subgroep wanneer de klas in klasverdelingen is opgedeeld. - **Docent** Docenten toewijzen — de docent of de docenten. **Meerdere** docenten op dezelfde les selecteren komt neer op **co-teaching** (zie [Complexe lessen](#page-core-concepts.complex-lessons)). - **Lokaal** Een lokaal toewijzen — kies het hoofdlokaal van de les; de geavanceerde varianten komen verderop aan bod, afhankelijk van de functies die op het account actief zijn. - **Resources** Resources toewijzen — het ingezette materiaal (beamer, tablets enzovoort), met controle op de beschikbaarheid. - **Duur** — sleep de **onderrand** van de kaart (in de post-itmodus) om de les langer of korter te maken. - **Positie en vergrendeling** Plaatsen in het rooster — zet een les vast zodat de roostergeneratie ze niet verplaatst (zie [Een les vergrendelen](#page-timetables.lesson-lock)). - **Memo** Opmerking — een vrije opmerking, met zichtbaarheidsniveaus (zie [Memo's](#page-timetables.hour-distribution)). #### Lokaal en toewijzing Het toewijzen van een lokaal Een lokaal toewijzen staat op alle abonnementen open: kies een lokaal in de lijst, of laat de **automatische modus** een geschikt lokaal voorstellen (capaciteit, labels, beschikbaarheid). De lijst houdt een **vaste volgorde** aan — uw favoriete lokalen bovenaan, daarna alfabetisch — en markeert de goede kandidaten zonder ze te verplaatsen: - de **ster** markeert het beste lokaal van dat moment; de **halve ster** markeert de volgende. Beweeg de muisaanwijzer erover om te lezen waarop ze zich onderscheiden: vestiging, bezettingsgraad, specialisatie en in voorkomend geval de voorkeur van de klas; - een **groen bolletje** op de [campus](#page-timetables.sites-rooms--campus) of op een van de labels van het lokaal geeft aan dat het overeenkomt met de lokalen met voorrang van de klas. Dat is dezelfde code als bij de specialisatie, die groen kleurt wanneer ze bij de les past; - de **capaciteit** kleurt oranje en vervolgens rood naarmate het lokaal te klein wordt voor het aantal leerlingen. De ster blijft binnen de lokalen met voorrang van de klas. De halve ster kan daarbuiten vallen wanneer een ander lokaal duidelijk beter bij het aantal leerlingen past: is een lokaal met 60 plaatsen gekozen voor 25 leerlingen, dan wijst de halve ster het nog vrije lokaal met 30 plaatsen aan. > _Premium_ #### Geavanceerde functies van de les ##### Status van de les De **status** Status geeft aan waar een les staat in de planningscyclus. Vier waarden: - **Gepland** — de gewone status van een geplaatste les. - **Concept** — les die **verborgen** is en **door de automatische roostergeneratie wordt genegeerd**: handig om een les voor te bereiden zonder die al aan het rooster op te leggen. - **Geannuleerd** — les die **als geannuleerd wordt getoond** maar voor de goede orde bewaard blijft; ze wordt **door de roostergeneratie genegeerd**. - **Uitgevoerd** — **uitgevoerde** les, die meetelt in de dashboards en de facturering. Deze status wordt aangeboden op roosters van het type kalender, waar het bijhouden van de werkelijk gegeven lessen zin heeft. De status hoort bij de **hele les** (en niet bij een variant van een afwisselende week). U wijzigt hem les voor les, of **in bulk** vanuit de lijstweergave. ##### Modaliteit De **modaliteit** geeft aan hoe de les verloopt: - **Fysiek**; - **Op afstand**; - **Hybride**; - **Zelfstudie**. De modaliteit kiest u in de lokaalkiezer, naast de toewijzing. Ze heeft een concreet effect: een les **op afstand** of in **zelfstudie** vraagt **geen lokaal**, en de roostergeneratie eist er ook geen. Het pictogram van de les weerspiegelt de gekozen modaliteit. ##### Meerdere lokalen Eén les kan **meerdere lokalen** krijgen: houd **Shift ⇧** ingedrukt terwijl u klikt om de selectie uit te breiden. Handig wanneer een cohort over twee naburige lokalen wordt verdeeld, of wanneer een les een verdubbelde ruimte inneemt. De gekozen lokalen worden allemaal gereserveerd en tellen mee in de conflicten. ##### Aangepaste duren en tijden Naast de duur die van het tijdrooster wordt afgelezen, kan een les **aangepaste duren** dragen (werkelijke duur voor de dashboards, verrekende duur voor de facturering) en een **tijd buiten rooster** (expliciete begin- en eindtijd). Deze instellingen, en ook de klassen buiten rooster, worden op hun eigen pagina beschreven: [Lessen buiten rooster](#page-timetables.off-grid-lessons). #### Meerdere lessen tegelijk bewerken Om dezelfde waarde op een reeks lessen toe te passen: - in de **herschikking** breidt **Shift+klik** de selectie uit tot een reeks; de gedeelde fiche bewerkt dan alle lessen samen; - in de **lijstweergave** vinkt u de gewenste lessen aan en gebruikt u vervolgens de **actieknop in de kolomkop** (duur, docent, groep, lokaal, status…). Dat is de snelle weg om bijvoorbeeld een reeks lessen op **Concept** te zetten of er een gemeenschappelijk lokaal aan toe te wijzen. #### Een les verwijderen Met het pictogram Verwijderen haalt u de les weg. De verwijdering wordt **definitief** bij het opslaan: lees de verwijderingen na voordat u opslaat, want op dit scherm bestaat geen algemene ongedaanmaking. #### Stappenplan — De status van een les wijzigen 1. Open de urenverdeling van de klas ([Stap 6](#page-timetables.hour-distribution)). 2. Klik op het pictogram **status** Status van de les (of open haar fiche in de herschikkingsmodus). 3. Kies de gewenste status — bijvoorbeeld **Concept** om ze voor de roostergeneratie te verbergen. 4. Wilt u meerdere lessen in één keer behandelen, ga dan naar de **lijstweergave**, vink de lessen aan en pas de status toe vanuit de kolomkop. 5. **Sla op** om de wijzigingen te publiceren. #### Zie ook - [De uren verdelen en de lessen aanmaken](#page-timetables.hour-distribution) - [Lessen buiten rooster](#page-timetables.off-grid-lessons) - [Een les vergrendelen](#page-timetables.lesson-lock) - [Complexe lessen](#page-core-concepts.complex-lessons) - [Vestigingen, tijdroosters, lokalen, resources](#page-timetables.sites-rooms) - [Conflicten opsporen en oplossen](#page-timetables.conflicts) ### 3.19 Lessen en klassen buiten rooster *Source: `help/nl/timetables/off-grid-lessons.md` · id: timetables.off-grid-lessons · Audience: admin · Plan: premium · Updated: 2026-06-13* > **Premium** > _Premium_ Een **les buiten rooster** is een les die met expliciete begin- en eindtijden wordt geplaatst, in plaats van precies de grenzen van een tijdslot van het tijdrooster te volgen. Die mogelijkheid bestaat in weekroosters, cyclische roosters en kalenderroosters. De **klas buiten rooster** is een aparte instelling: het is een eigenschap van de klas, beschikbaar voor roosters van het type kalender. #### Les met een aangepaste tijd Gebruik een aangepaste tijd wanneer een eenmalige les niet precies op het tijdrooster valt: een examen dat om `08:30` begint, een les in de avonduren, een les die in een pauze doorloopt, een reservering die vóór de eigenlijke les begint. De les blijft zichtbaar in het rooster en blijft meetellen voor de conflicten. Elke entiteit die door de les wordt gebruikt — docent, lokaal, klas, groep of resource — geldt als bezet zodra de aangepaste tijd over een tijdslot heen loopt. Voor de automatische roostergeneratie geldt de les als onverplaatsbaar: de positie ervan wordt automatisch vergrendeld. #### Wanneer u beter een evenement dan een les gebruikt Gebruik liever een [eenmalig evenement](#page-schedules.events) als het niet om een les uit het rooster gaat: een vergadering, een eenvoudige reservering, onderhoud aan een lokaal, een bijzondere dag zonder onderwijsvolume dat moet worden meegeteld. Houd een les aan wanneer het volume gekoppeld moet blijven aan een cursus, een vak, een klas, een docent, een groep of een onderwijskundig dashboard. #### Klas buiten rooster De klas buiten rooster is bedoeld voor opleidingen waarvan alle lessen met precieze tijden moeten worden opgeslagen, los van het tijdrooster van de vestiging. U stelt dit in bij het aanmaken of wijzigen van de klas, uitsluitend in roosters van het type kalender. Typisch geval: een traject in permanente educatie gebruikt dezelfde lokalen en dezelfde docenten als het reguliere onderwijs, maar werkt met heel andere tijden. De klas kan dan buiten rooster worden ingesteld, met een standaardtijdstap, bijvoorbeeld een kwartier. In deze modus dragen de lessen van de klas rechtstreeks hun begin- en eindtijd. Zij **reserveren** de betrokken docenten, lokalen, klassen, groepen en resources: een overlap met een andere les wordt als **conflict** gemeld — niet blokkerend voor handmatige plaatsing, maar de automatische roostergeneratie zet niets op een tijdslot met een conflict. #### Aangepaste duren Een les kan ook aangepaste duren dragen: - **Berekende duur**: duur die uit de begin- en eindtijd wordt afgeleid; - **Werkelijke duur**: duur die in de dashboards voorrang krijgt; - **Verrekende duur**: duur die dient voor de facturering of voor de betaling van de docent. Voorbeeld: voor een examen kunt u het lokaal vóór en na de toets reserveren en toch alleen de werkelijke duur van het examen meetellen in het Dashboard. Voor een toezichthouder kan de verrekende duur hoger liggen als de instelling ook het nakijken van het werk vergoedt. #### Aandachtspunten - Een les met een aangepaste tijd kan een pauze of een normaal vrij tijdslot overlappen; controleer of dat ook de bedoeling is. - Omdat de les voor de roostergeneratie vergrendeld is, kan zij de automatische plaatsingen eromheen sterk beperken. - Een klas buiten rooster is een structurerende keuze: maak die keuze voordat u de lessen van de klas massaal aanmaakt. - **Complexe lessen** (afwisselende weken, aaneenschakelingen, koppelingen) zijn **uitgeschakeld** zodra er expliciete tijden of een klas buiten rooster in het spel zijn: die functie is dan niet beschikbaar. #### Stappenplan — Een les met een aangepaste tijd aanmaken 1. Plaats of open de les in het rooster. 2. Open de bewerking van de aangepaste tijd van de les. 3. Voer de begintijd en de eindtijd in. 4. Controleer de conflicten op de betrokken docenten, lokalen, klassen, groepen en resources. 5. Start zo nodig de roostergeneratie opnieuw: de les blijft vergrendeld en het algoritme plaatst de rest eromheen. #### Zie ook - [Tijdrooster, tijdsloten en tijdsduur](#page-core-concepts.timetable-grid) - [Algemene instellingen](#page-timetables.general-settings) - [Vestigingen, tijdroosters, lokalen, resources](#page-timetables.sites-rooms) - [Automatische roostergeneratie](#page-timetables.generation) - [Eenmalige evenementen](#page-schedules.events) ### 3.20 De positie van een les vergrendelen *Source: `help/nl/timetables/lesson-lock.md` · id: timetables.lesson-lock · Audience: admin · Updated: 2026-06-13* **Een les vergrendelen** betekent dat u haar **positie** in het rooster vergrendelt. Het algoritme houdt nog steeds rekening met de les, maar de roostergeneratie kan haar niet meer verplaatsen. Het visuele signaal waar u op let, is een **gesloten hangslot** [lock]. Een **open hangslot** [unlock] geeft omgekeerd aan dat de positie nog verplaatst kan worden door een roostergeneratie of door een reorganisatie. Niet te verwarren: het pictogram voor het **plaatsen** [thumbtack] dient om een les op het rooster te zetten. Het opent of activeert de plaatsing; het is niet de markering van de vergrendeling. #### Wanneer vergrendelt u een les Typische gevallen: - **Externe spreker** met een opgelegd tijdstip. - **Examen met een vaste datum** waarvan het tijdslot of het lokaal al vastligt. - **Schoolreis of excursie** die op een heel bepaald tijdslot is gepland. - **Extern lokaal met opgelegde uren** (sporthal, zwembad…): dat kan met een vergrendeling, maar vaak kunt u beter de **tijdsbeperkingen van het lokaal** gebruiken, die het algoritme sturen zonder elke les afzonderlijk vast te zetten. - **Les van een [vrije groep](#page-core-concepts.free-groups)** die u handmatig naast een hoofdles hebt geplaatst. - **Positie uit een eerdere roostergeneratie** die u wilt behouden voordat u een bredere roostergeneratie start. #### Hoe u vergrendelt 1. Plaats de les op het rooster als dat nog niet is gebeurd. 2. Open het positiedetail van de les. 3. Activeer het **gesloten hangslot** om de positie te vergrendelen. 4. Controleer of bij de les een hangslot op de positie verschijnt. Gebruik het **open hangslot** om de positie weer vrij te geven. De les kan dan verplaatst worden door een roostergeneratie of door bepaalde reorganisaties. #### Bulkacties In de urenverdeling biedt het menu Acties ook bulkbewerkingen: - Alle ingeplande lessen vergrendelen vergrendelt de lessen die al geplaatst zijn; - Alle ingeplande lessen ontgrendelen haalt de vergrendeling weg zonder de positie te verwijderen; - Alle ingeplande lessen ongedaan maken haalt de vergrendeling weg en verwijdert de positie. Die laatste optie is nuttig vóór een nieuwe roostergeneratie die van een schone lei vertrekt, wanneer u opnieuw met niet-geplaatste lessen wilt beginnen. #### Gevolgen voor de roostergeneratie en de diagnose Een vergrendelde les blijft een sterke beperking voor het algoritme. De andere lessen moeten zich eromheen plaatsen. Belangrijk gevolg: vergrendelt u een les op een tijdslot met veel beperkingen, dan respecteert Omniscol die beslissing. De conflicten of waarschuwingen blijven zichtbaar, maar de vergrendeling geeft aan dat de positie bewust is gekozen. In de diagnose wordt een probleem dat op een vergrendelde les rust daardoor teruggeschaald van blokkerende melding (rood) naar waarschuwing (oranje): Omniscol signaleert het punt nog, maar legt het niet langer op als een blokkade die u moet oplossen. #### Niet te verwarren - **Vergrendeling van de positie van een les**: de les behoudt het tijdslot tijdens de roostergeneratie. - **Samenwerkingsvergrendeling**: mechanisme dat hoort bij het gelijktijdig bewerken door meerdere beheerders. Zie [Samenwerking tussen beheerders](#page-core-concepts.collaboration). - **Positie met vergrendeld “geen lokaal”**: bijzonder geval waarin een les zonder automatisch toegewezen lokaal moet blijven, via Vergrendeling. #### Goede gewoonten - Controleer vóór een nieuwe roostergeneratie welke lessen vergrendeld zijn: te veel vaste posities verkleinen de optimalisatieruimte. - Ontgrendel na een testfase wat niet bewaard hoeft te blijven. - Plaats bij vrije groepen de les handmatig en vergrendel daarna de positie. Zie [Vrije groepen](#page-core-concepts.free-groups). #### Zie ook - [Automatische roostergeneratie](#page-timetables.generation) - [Een mislukte roostergeneratie diagnosticeren](#page-timetables.diagnosing-generation) - [Vrije groepen](#page-core-concepts.free-groups) - [Conflicten opsporen en oplossen](#page-timetables.conflicts) - [Roostergeneratie](#page-glossary.solver) ### 3.21 Conflicten opsporen en oplossen (bij de roostergeneratie) *Source: `help/nl/timetables/conflicts.md` · id: timetables.conflicts · Audience: admin · Plan: standard · Updated: 2026-06-23* Omniscol spoort conflicten **doorlopend** op tijdens de **voorbereiding** van een rooster en bij elke **handmatige plaatsing**. De diagnose onderscheidt **blokkerende conflicten** van **niet-nageleefde beperkingen** en van **waarschuwingen** die een afweging vragen, en ze codeert die ernst met een **kleur** — op de kandidaat-tijdsloten en de keuzelijsten wanneer u een les plaatst, en op elke regel van het diagnosepaneel. De **roostergeneratie** is een aparte berekening (het algoritme plaatst binnen de beperkingen, of laat een les ongeplaatst): haar diagnose komt aan bod in [Een mislukte roostergeneratie diagnosticeren](#page-timetables.diagnosing-generation). #### Wat de diagnose controleert - **Bezetting (dubbele boeking)** — een docent, een klas, een groep, een leerling, een lokaal of een resource kan niet voor twee overlappende lessen dienen, behalve bij expliciete modellering (compatibele groepen, klasverdelingen, grote lokalen). - **Beschikbaarheid en tijdsbeperkingen** — een als onbeschikbaar opgegeven periode, of een niet-nageleefde tijdsbeperking (docent, klas, groep, lokaal, vak, vestiging), waarbij de ernst afhangt van de prioriteit van de beperking. Een opgelegd datumvenster is daarentegen altijd blokkerend. - **Capaciteit en diensturen** — overbezetting van een lokaal, een resource die in te veel exemplaren wordt gevraagd, een ongeschikt lokaal (capaciteit, specialisatie, vestiging), of overschreden diensturen van een docent. - **Overschrijding van het tijdrooster** — de te plaatsen lesuren overschrijden het aantal open tijdsloten van het tijdrooster, of naderen dat aantal, voor een docent of voor een hele klas. - **Plaatsen en verplaatsingen** — onvoldoende reistijd tussen twee vestigingen voor een docent of een klas, of twee als incompatibel opgegeven vakken die op hetzelfde moment staan. - **Kalender** — een les geplaatst op een afwezigheid (docent of klas), op een gesloten dag of tijdens vakanties, of op een onverenigbaar evenement. - **Modellering** — verbroken groepsuitlijning (uitgelijnde groepen zonder gemeenschappelijke les), een verschillend aantal lessen tussen groepen van eenzelfde klasverdeling of van eenzelfde groepsuitlijning, een ontbrekende docent of een ontbrekend lokaal, of een onvolledige configuratie (vestiging, tijdrooster, instelling die vóór de roostergeneratie nodig is). #### Ernstniveaus Dezelfde ernstschaal — groen, geel, oranje, rood — kleurt meerdere plaatsen in het bewerkingsscherm. **Op de kandidaat-tijdsloten**, wanneer u een les plaatst (zie [Handmatige plaatsing](#page-timetables.manual-placement)). **En op elke optie in de keuzelijsten**: wanneer u een docent, een lokaal, een resource, een groep of deelnemers voor een les kiest, draagt elk item een kalenderpictogram dat gekleurd is volgens zijn niveau op het beoogde tijdslot — groen als de entiteit vrij is, rood als ze bezet is — met de details wanneer u de muisaanwijzer erover beweegt. Alleen een **rode** onbeschikbaarheid (bezet, gesloten periode) verhindert de keuze; een te klein of verkeerd gespecialiseerd lokaal blijft selecteerbaar, met een waarschuwing. | Kleur | Betekenis | | --- | --- | | **groen** | geen conflict — de entiteit is vrij (of een resource blijft onder haar limiet) | | **geel** | lichte, niet-blokkerende hinder (tijdsbeperking met gemiddelde prioriteit, volledig vervangen afwezigheid, geschikt maar niet ideaal lokaal) | | **oranje** | sterke beperking (tijdsbeperking met hoge prioriteit, lokaal tot 110 % van zijn capaciteit gevuld, diensturen tot 110 %, te korte reistijd tussen vestigingen, incompatibele vakken, gesloten dag) | | **rood** | blokkerend conflict (dubbele boeking, verplichte tijdsbeperking of opgelegd datumvenster, lokaal boven 110 % van zijn capaciteit, niet-gedekte afwezigheid, verbroken groepsuitlijning) | **In het diagnosepaneel.** Elk vermeld probleem draagt een niveau, dat het filter overneemt. Het paneel brengt oranje en geel onder in één enkel niveau “belangrijk”, en voegt een niveau “advies” toe voor niet-blokkerende informatie: | Niveau | Betekenis | Overeenkomstige tijdslotkleuren | | --- | --- | --- | | **rood** | Blokkerend conflict | rood | | **geel** | Niet-nageleefde beperking / Waarschuwing | oranje + geel | | **blauw** | Advies / Limiet nadert | druk op het tijdrooster, klasverdelingen | Wanneer de optie Conflicterende keuzes blokkeren (harde beperkingen) actief is, verhindert Omniscol de keuzes die een sterke beperking zouden veroorzaken; anders blijft de melding zichtbaar zodat de beheerder een afweging kan maken. ##### Overschrijding en druk op het tijdrooster Omniscol vergelijkt doorlopend de **te plaatsen lesuren** met het **aantal open tijdsloten** van het tijdrooster — voor elke docent (per klas en per vestiging) en voor elke hele klas. De melding toont beide waarden, bijvoorbeeld “18 u / 16 u”. Drie drempels, afhankelijk van de vulgraad: | Drempel | Vulgraad | Interpretatie | | --- | --- | --- | | **blauw** — druk | tijdrooster voor 90–100 % gevuld | de limieten worden binnenkort bereikt; de plaatsing staat al onder spanning | | **oranje** — lichte overschrijding | 100–110 % (uren > tijdsloten tot 110 %) | een geldig rooster zal *waarschijnlijk* onmogelijk zijn | | **rood** — sterke overschrijding | boven 110 % | een geldig rooster zal *vrijwel zeker* onmogelijk zijn | Deze berekening loopt alleen als er ten minste één vestiging is geconfigureerd, en meldt niets zolang het tijdrooster onder 90 % blijft. Ze zet de vereiste uren tegenover de beschikbare tijdsloten — niet te verwarren met de **overschrijding van de diensturen** van een docent (gegeven uren tegenover contractuele uren), die dezelfde kleuren deelt maar een aparte detectie blijft. ##### Alle detecties | Detectie | Filterfamilie | Niveau | | --- | --- | --- | | Docent, klas of groep al bezet | Conflicten | rood | | Lokaal al bezet | Conflicten | rood | | Verbroken groepsuitlijning (uitgelijnde groepen zonder gemeenschappelijke les) | Conflicten | rood (oranje als alleen het lokaal of de resource verschilt) | | Niet-nageleefde tijdsbeperking (docent, klas, groep, lokaal, vak, vestiging) | Tijdsbeperkingen | verplicht → rood, hoog → oranje, gemiddeld → geel (datumvenster → altijd rood) | | Lokaalcapaciteit overschreden | Capaciteit | oranje tot 110 % van de capaciteit, rood daarboven | | Overmatig gebruik van een resource | Capaciteit | oranje | | Ongeschikt lokaal (capaciteit, specialisatie, vestiging) | Capaciteit | geel — forceerbaar | | Diensturen van een docent overschreden | Capaciteit | oranje tot 110 %, rood daarboven | | Overschrijding van of druk op het tijdrooster | Tijdroosteroverschrijding | blauw → oranje → rood (zie hierboven) | | Onvoldoende reistijd tussen vestigingen (docent, klas) | Afstand | oranje | | Incompatibele vakken op hetzelfde moment | Compatibiliteit | oranje | | Geen lokaal beschikbaar binnen de toegestane lokalen | Ontbrekend lokaal | geel (rood als er geen enkel lokaal is) | | Ontbrekende docent (les zonder toegewezen docent) | Ontbrekende docent | geel | | Ontbrekend lokaal (les geplaatst zonder vereist lokaal) | Ontbrekend lokaal | geel | | Verschillend aantal lessen voor groepen in een klasverdeling | Klasverdelingen | blauw (indicatief) | | Verschillend aantal lessen voor groepen in een groepsuitlijning | Groepsuitlijningen | rood (blokkerende configuratie) | | Docent afwezig tijdens zijn eigen les | Afwezigheden | niet gedekt → rood, vervangen → geel, gedeeltelijk (co-teaching) → oranje | | Klas afwezig | Afwezigheden | rood | | Les op een gesloten dag of tijdens vakanties | Kalender | oranje (soms geforceerd naar rood) | | Onvolledige configuratie (vestiging, tijdrooster, instelling) | — | blokkerend vóór de roostergeneratie | ##### Vanuit een melding navigeren Elke regel van het paneel is **aanklikbaar**: het vergrootglas [magnifying-glass] brengt u rechtstreeks naar de betrokken les, groep of klas — de snelste manier om de context van een conflict af te zonderen. Bij een conflict tussen **groepen** (klasverdeling, groepsuitlijning) houdt het pictogram [link] alleen de gerelateerde groepen over, waardoor de beperking zichtbaar wordt wanneer de ruwe diagnose niet volstaat. > _Premium_ #### De diagnose filteren De knop Diagnosefilters (waarschuwingsdriehoek, boven aan het paneel) opent een menu waarmee u alleen de meldingen overhoudt die de lopende analyse dienen. Het pictogram kleurt oranje zolang er een filter actief blijft. U regelt er: - **Niveaus** — rood (blokkerend), geel (belangrijk / te controleren) en blauw (advies / limiet nadert) tonen of verbergen. - **Entiteiten** — klassen, docenten, lokalen, resources, groepen, en de soorten kalenderevenementen (evenementen, vakanties, afwezigheden). - **Klasniveaus**, **campussen**, **vestigingen** — beperken tot een bepaald bereik. De campus zondert een organisatorische eenheid af (scholengroep, faculteit, afdeling); de vestiging betreft de fysieke plaats. - **Redenen** — elke detectiefamilie in- of uitschakelen: tijdsbeperkingen, conflicten, capaciteit, afstand, ontbrekende docent, ontbrekend lokaal, compatibiliteit, klasverdelingen, groepsuitlijningen. - **Periode** (kalenderrooster) — beperken tot de komende weken of maanden, en het verleden verbergen. - **Gedrag** — Conflicterende keuzes blokkeren (harde beperkingen) verhindert actief plaatsingen die een sterk conflict zouden veroorzaken. - **Opnieuw instellen** — alles weer tonen. Een filter lost geen conflict op: het verbergt alleen wat de lopende analyse niet helpt. #### Een conflict oplossen De meest voorkomende correcties zijn: - een les verplaatsen; - van docent, lokaal of resource wisselen; - een te sterke beperking bijstellen; - een onbeschikbaarheid of een afwezigheid corrigeren die per ongeluk is ingevoerd; - de groepen, klasverdelingen of groepsuitlijningen aanmaken of corrigeren; - een passend lokaal, extra capaciteit of een specialisatie toevoegen; - een les vergrendelen die vast moet blijven staan voordat u een nieuwe roostergeneratie start. Vindt de roostergeneratie geen volledige oplossing, dan kan ze een gedeeltelijk rooster teruggeven: de niet-geplaatste lessen blijven in de balk met post-its van de te plaatsen lessen staan. Corrigeer eerst de prioritaire diagnoses, en start daarna opnieuw of plaats de resterende gevallen handmatig. #### Gevallen die een afweging vragen Sommige signalen wijzen eerder op een beleidskeuze dan op een invoerfout. Voorbeelden: - een examen met een hoofdlokaal en een lokaal voor kandidaten met extra tijd; - een opgegeven capaciteit die hoger ligt dan het aantal ingevoerde plaatsen, wanneer de instelling weet dat een deel van de ingeschrevenen niet aanwezig zal zijn; - een extra lokaal dat niet in Omniscol is gemodelleerd. In die gevallen kunt u de situatie beter expliciet modelleren waar dat mogelijk is: meerdere lokalen, aangepaste groepen, gecorrigeerde capaciteit of een apart evenement. Een melding bewust laten staan moet een bij het team bekende beslissing blijven, geen permanente ruis. #### Stappenplan 1. Open de diagnose van het rooster. 2. Filter zo nodig op niveau, campus, vestiging, entiteit of soort probleem. 3. Behandel eerst de blokkerende conflicten. 4. Open het detail van het probleem om de betrokken lessen en resources te identificeren. 5. Corrigeer de les, de beperking of de modellering. 6. Start de diagnose of de roostergeneratie opnieuw om te controleren of het probleem is verdwenen. #### Zie ook - [Conflict](#page-glossary.conflict) - [Diagnose](#page-glossary.diagnostic) - [Campus](#page-glossary.campus) - [Automatische roostergeneratie](#page-timetables.generation) - [Handmatige plaatsing](#page-timetables.manual-placement) - [Een mislukte roostergeneratie diagnosticeren](#page-timetables.diagnosing-generation) ### 3.22 Een mislukte roostergeneratie diagnosticeren *Source: `help/nl/timetables/diagnosing-generation.md` · id: timetables.diagnosing-generation · Audience: admin · Updated: 2026-06-24* De roostergeneratie “mislukt” wanneer het algoritme er niet in slaagt **alles onder te brengen**: het levert het beste gedeeltelijke rooster op dat het gevonden heeft, en de lessen die het heeft moeten **opofferen** blijven in de balk met te plaatsen post-its staan (een rode banner vat de blokkade samen). Het probleem is bijna altijd een **overmaat aan beperkingen**: te veel lessen voor de openstaande tijdsloten, of beperkingen die te strak zijn om in elkaar te passen. De remedie bestaat erin te **versoepelen** wat versoepeld kan worden — daarover gaat deze pagina. Wilt u begrijpen hoe het algoritme prioriteiten stelt en wat het opoffert, zie dan [Automatische roostergeneratie](#page-timetables.generation); voor de catalogus van conflicten op een al opgesteld rooster, zie [Conflicten en diagnose](#page-timetables.conflicts). #### De diagnose is een aanwijzing, geen oordeel Wanneer een les niet geplaatst kan worden, zet Omniscol **de entiteit die tijdens de pogingen de meeste problemen heeft veroorzaakt** op de voorgrond — “deze docent heeft niet genoeg tijdsloten”, “deze klas past niet in haar tijdrooster”. **Dat is een heuristiek**: de gemelde entiteit is degene die het vaakst in de blokkades terugkeert, niet noodzakelijk *de* enige oorzaak. De beperkingen zijn **onderling verweven** — elders versoepelen kan alles vlottrekken. Vat de melding dus op als een **zoekrichting**: de echte remedie is vaak om **de algemene overmaat aan beperkingen te verlichten** (wat meer tijdsloten, minder strikte beschikbaarheid) in plaats van u vast te bijten in de aangewezen entiteit. #### Meest voorkomende oorzaken ##### 1. Te beperkende beschikbaarheid Een docent heeft zoveel tijdvakken als **onmogelijk** gemarkeerd dat er niet genoeg tijdsloten overblijven om zijn lessen te plaatsen. **Diagnose**: bekijk het beschikbaarheidsscherm van de betrokken docent. Tel de vrije tijdsloten en vergelijk die met zijn urenvolume. **Oplossingen**: - Bepaalde tijdvakken versoepelen (van zwart naar rood — ongewenst maar niet onmogelijk), - De lessen herverdelen (een deel aan een andere docent toewijzen), - Met de docent overleggen als de beschikbaarheid bespreekbaar is. ##### 2. Geen passend lokaal Een vak vereist een **specialisatie** waarvoor geen enkel lokaal is aangemaakt, of alle overeenkomstige lokalen zijn bezet op de enige mogelijke tijdsloten. **Oplossingen**: - De ontbrekende specialisatie op een geschikt lokaal aanmaken, - De specialisatiebeperking afzwakken, - Een lokaal toevoegen. ##### 3. Onvoldoende capaciteit Het aantal leerlingen van een groep / een klas overschrijdt de capaciteit van alle in aanmerking komende lokalen. **Oplossingen**: - Een groter lokaal toewijzen, - [Meerdere lokalen](#page-glossary.multi-room) aan dezelfde les toewijzen (de totale capaciteit is de som), - De klas / de groep opsplitsen. ##### 4. Structureel onmogelijke groepsuitlijning De urenvolumes van de uitgelijnde groepen verschillen, of de bovenliggende klassen hebben onverenigbare tijdroosters, of een uitgelijnde docent kan maar op één plaats tegelijk zijn. **Oplossingen**: - De urenvolumes tussen de uitgelijnde groepen gelijktrekken, - De uitlijning opheffen en één les per klas aanmaken, - Controleren of de vestigingen van de uitgelijnde klassen op het beoogde tijdslot een gemeenschappelijk tijdrooster delen. ##### 5. Te veel lessen voor het tijdrooster Wanneer een klas of een docent duidelijk meer uren heeft dan er tijdsloten openstaan, wordt dat **vooraf door een waarschuwing gemeld** (tabblad **Roostergeneratie**, tellers uren tegenover tijdsloten). Het lastige geval is verraderlijker: afzonderlijk bekeken is er geen zichtbare overschrijding, maar de **opeenstapeling** van de beperkingen tussen docenten en klassen — en hun **onderlinge kruisingen** — blijkt uiteindelijk niet meer te passen. **Oplossingen**: - De ingevoerde urenvolumes verlagen, - Het tijdrooster uitbreiden (bijvoorbeeld de woensdagmiddag openstellen), - Enkele onbeschikbaarheden versoepelen, en daarbij mikken op de **tijdvakken die veel entiteiten tegelijk vermijden**: de opeenstapeling verzadigt het tijdrooster. ##### 6. Te veel incompatibiliteiten Beperkingen van het type “geen X na Y” opstapelen kan een systeem zonder oplossing opleveren. **Oplossing**: enkele incompatibiliteiten vervangen door soepelere **pedagogische gewichten**. ##### 7. Te weinig lokalen (knelpunt) Komt heel vaak voor: ook al voldoen alle lokalen afzonderlijk, hun **aantal** volstaat niet om de vraag op hetzelfde moment op te vangen. De lessen stapelen zich op dezelfde tijdsloten op en het tekort aan lokalen wordt het **knelpunt** waardoor het geheel niet meer past. **Oplossingen**: - Lokalen toevoegen (of ze tussen klassen delen), - De vraag spreiden door het tijdrooster te verruimen, - De beperkingen verminderen die de lessen op weinig tijdsloten concentreren. ##### 8. Meerdere vestigingen: de verplaatsingen knagen aan de uren Met meerdere vestigingen verkleinen de **reistijden** tussen de locaties het aantal tijdsloten dat een docent (of een klas) werkelijk kan gebruiken: van vestiging wisselen kost tijd, en die tijd is niet meer beschikbaar om een les te plaatsen. De werkelijke beschikbaarheid wordt krapper en de puzzel wordt ingewikkelder. **Oplossingen**: - De lessen van een docent binnen één dag op dezelfde vestiging bundelen, - De opgegeven reistijden tussen vestigingen controleren, - Het heen en weer reizen tussen vestigingen op dezelfde dag beperken. #### Checklist voordat u de roostergeneratie opnieuw start - Hebben alle klassen een toegewezen vestiging? - Hebben alle klassen hun vakken en hun docenten? - Hebben alle groepen die in lessen worden gebruikt een theoretisch aantal leerlingen of een hanteerbare capaciteit? - Is de beschikbaarheid van alle docenten gevalideerd? - Geen kritieke (rode) melding op het tabblad **Roostergeneratie**? #### Ingebouwde diagnosehulpmiddelen - **Tabblad Roostergeneratie** — *vooraf*: statistieken (lessen / uren per docent, per klas, per vestiging) en waarschuwingen (uren tegenover tijdsloten, kritieke meldingen die u vóór de start moet oplossen). - **Niet-geplaatste lessen** (post-its, rechts) — *na een mislukking*: het resultaat van een onvolledige roostergeneratie. De plaatsingsknop (punaise) op elke les laat via de gekleurde tijdsloten zien waarom geen enkele plaats voldoet. - **Opsporing van vergeten groepen**: groepen die zijn gedefinieerd maar waaraan geen enkele les is toegewezen. #### Stappenplan — Een mislukte roostergeneratie diagnosticeren 1. **Wanneer de roostergeneratie mislukt**, toont Omniscol een rode banner, houdt het gedeeltelijke rooster zichtbaar en zet het de lessen die het niet kon onderbrengen in de **balk met post-its**, rechts. 2. **Lees de banner**: die geeft een **richting** aan (een heuristiek, zie hierboven), geen oordeel. 3. **Vertrek van de niet-geplaatste lessen, niet van “conflicten”.** De roostergeneratie maakt nooit een conflict: ze legt gewoon opzij wat er niet in past. Neem een les uit de post-its en klik op haar plaatsingsknop (punaise, Plaatsen in het rooster). 4. **Lees de gekleurde tijdsloten.** Omniscol toont alle kandidaat-tijdsloten; voor een les die niet te plaatsen is, zijn ze allemaal geblokkeerd. Zoek **waarom**, in de volgorde van de drie gebruikelijke blokkades: de **docent** die bezet of niet beschikbaar is, de **klas** (of de groep) die bezet is, of **geen enkel lokaal** dat vrij en passend is. De reden verschijnt wanneer u de muisaanwijzer over het tijdslot beweegt. 5. **Versoepel de beperking die blokkeert** — afhankelijk van het geval: beschikbaarheid versoepelen, een lokaal toevoegen of vrijmaken, een groepsuitlijning gelijktrekken, het tijdrooster verruimen (zie de oorzaken hierboven) — en start daarna opnieuw. 6. **Loop vóór het opnieuw starten** de checklist hierboven door (vestigingen toegewezen, vakken en docenten aanwezig, aantallen leerlingen ingevuld, beschikbaarheid gevalideerd, geen kritieke melding op het tabblad **Roostergeneratie**). #### Zie ook - [Automatische roostergeneratie](#page-timetables.generation) - [Conflicten en diagnose](#page-timetables.conflicts) - [Diagnose](#page-glossary.diagnostic) - [Conflict](#page-glossary.conflict) - [Bijzondere gevallen en geavanceerde configuraties](#page-faq.edge-cases) ### 3.23 Een rooster visualiseren, dupliceren en herordenen *Source: `help/nl/timetables/visualize-duplicate.md` · id: timetables.visualize-duplicate · Audience: admin · Updated: 2026-06-25* Een school heeft vaak **meerdere roosters** in verschillende stadia: het actieve rooster van het lopende jaar, een concept voor het volgende schooljaar, een testscenario om een reorganisatie te verkennen. Deze pagina vat samen hoe u die versies zonder verwarring beheert, en waar de schermen **Visualiseren** en **Herordenen** voor dienen zodra een rooster gegenereerd is. #### De lijst met roosters bekijken De module **Roosterbeheer** opent met de lijst met roosters van het account: actieve roosters en concepten. Per rooster ziet u: - het **label** (`Jaar 2026-2027`, `Concept schooljaar 2027`, `Scenario samenvoeging 1 vwo/2 vwo`), - de **status** (gepubliceerd of niet gepubliceerd), - het **weekbereik** waarop het gepubliceerd is (als dat van toepassing is), - de **kerncijfers** (aantal klassen, aantal lessen, aantal docenten). Met de beschikbare acties kunt u een rooster onder meer openen, dupliceren of verwijderen. Verwijderen is uitgeschakeld op een gepubliceerd rooster. #### Een gegenereerd rooster visualiseren De knop Visualiseren opent het rooster **alleen-lezen**: u bekijkt het definitieve rooster zonder het te kunnen wijzigen. Dit is het aangewezen scherm om vóór de publicatie te **herlezen**, een week of een opeenvolging van lessen te **controleren**, het rooster te **tonen** zonder toegang te geven tot de bewerkfuncties, te **exporteren** of te **delen**. ##### Een inspectie zonder risico Het scherm hergebruikt de gewone weergavemotor van de roosters, maar in **beveiligde** modus: u verplaatst geen les, u slaat niets op, u corrigeert niets per ongeluk. U vindt er de weergavefilters, de dagenkiezer, de verschillende weergavemodi (raster, lijst, tabel, planning, dag, maand, naast elkaar — beschreven in [Roosterweergave](#page-schedules.schedule-display)) en het snel sluiten van meerdere kalenders die naast elkaar openstaan. ##### Afwisselende weken en varianten Dat is vooral handig wanneer het rooster met **afwisselende weken** werkt: u toont de weergave **Alle weken** en daarna de **varianten** één voor één via de bijbehorende tabbladen (A/B, 1/2 enzovoort). Vaak is dit de eenvoudigste manier om te controleren of een terugkerend rooster over al zijn varianten samenhangend is, zonder de ruis van de bewerkingsgereedschappen. ##### Alleen-lezen delen Vanuit dit scherm opent u de functie **delen**: u verspreidt het volledige theoretische rooster alleen-lezen naar een derde partij (externe partner, directie, verantwoordelijke van een vestiging) via een weblink, zonder toegang tot het Omniscol-account te geven. Voor een rooster van het type kalender is er ook een **iCal**-link. Details in [Een rooster delen via een openbare link](#page-schedules.share-link). ##### Exporteren (PDF, Excel, afdrukken) Het scherm Visualiseren is het natuurlijke vertrekpunt om een bestand van het getoonde rooster te maken: - Gegevens exporteren in PDF-formaat om een **PDF** te genereren, - Gegevens exporteren in Excel-formaat om naar **Excel / XLSX** te exporteren, - Afdrukken om **af te drukken**. Voor de roosters van klassen en docenten is dat doorgaans de kortste weg naar een net document om door te sturen. #### Een afgerond rooster snel herordenen De knop Herordenen opent hetzelfde rooster in de modus **snel bewerken**. Het is niet de bedoeling om de hele opbouw over te doen, maar om randgevallen snel te corrigeren in een rooster dat al af is. Typische gevallen: - een al gegenereerde les verplaatsen, - een lokaal, een tijdslot of een eenmalige toewijzing wijzigen, - een losse les toevoegen, - een paar resterende conflicten oplossen zonder de hele keten **urenverdeling → roostergeneratie** opnieuw te doorlopen. In dit scherm vindt u het raster, de filters, het paneel met de beschikbare tijdsloten, de knop Toevoegen en de knop Opslaan om de wijzigingen op te slaan. Wordt de wijziging **structureel** (klassen, groepen, vakken, urenvolumes, globale beperkingen), keer dan liever terug naar de opbouwstappen van het rooster, of dupliceer het rooster om op een concept te werken. #### Een rooster dupliceren Drie typische gevallen: - **Het volgende jaar voorbereiden** vanuit het actieve rooster — zie [Het volgende schooljaar voorbereiden](#page-timetables.next-school-year). - **Een testscenario maken** vanuit het actieve rooster om zonder risico een ingrijpende wijziging te verkennen (klassen samenvoegen, de vestigingen herindelen, een nieuwe opleidingsrichting toevoegen). - **Opnieuw beginnen vanuit een ouder rooster dat in het account bewaard is** — een structuur van een vorig jaar als basis voor een nieuw jaar. De actie Dupliceren opent een dialoogvenster. De aangemaakte kopie is altijd een **niet-gepubliceerd concept**: ze wordt pas actief wanneer u haar uitdrukkelijk publiceert. Het dialoogvenster toont een boom met selectievakjes die **standaard allemaal aangevinkt** zijn: laat u alles aangevinkt, dan krijgt u een identieke kopie; vinkt u een vakje uit, dan verdwijnt het bijbehorende onderdeel uit de kopie. ##### Kiezen wat er wordt overgenomen De boom volgt de structuur van het rooster; vink een tak uit om die opnieuw op te bouwen: - **Vestigingen** — met hun lokalen en hun resources. Vinkt u de vestigingen uit, dan verdwijnen ook de lokalen en de resources die op de lessen staan **en de plaatsingen van de lessen**: de kopie vertrekt dan vanuit een raster dat opnieuw gevuld moet worden. - **Docenten** — de docentenpool van het rooster. Vinkt u de pool uit, dan verdwijnen meteen ook de toewijzingen docent-klas-vak en de docenten die op de lessen staan. - **Klassen** — met hun groepen, hun beschikbaarheid, hun incompatibiliteiten en de urenverdeling. Elke subtak vinkt u apart uit: groepen, beschikbaarheid van de klas, incompatibiliteiten, of de details van de lessen (groepen, lokalen, resources, modaliteit, opmerking, posities…). - **Posities van de lessen** — vinkt u alleen dit uit, dan behoudt de kopie de volledige structuur maar **is het raster leeg**: dat is de nette manier om een voorbereiding te klonen en de roostergeneratie helemaal opnieuw te starten. De afhankelijkheden worden automatisch toegepast: u kunt bijvoorbeeld geen lokaal op een les behouden terwijl u alle vestigingen weglaat. En op welk detailniveau u ook uitvinkt, Omniscol ruimt de verwijzingen op die verweesd raken — bijvoorbeeld een klas die naar een verwijderde vestiging wees. ##### Het roostertype omzetten > _Premium_ Hetzelfde dialoogvenster kan de kopie **omzetten** naar een ander type dan het origineel. De keuzelijst biedt alleen de twee **andere** types aan. Bij de omzetting worden de lessen volgens het nieuwe roostertype herschikt. - **Naar een kalender** (vanuit een wekelijks of cyclisch rooster) — u geeft een **periode** op (begin- en einddatum). Elke terugkerende les wordt **uitgerold tot een gedateerde les voor elke bijbehorende werkdag** van de periode; feestdagen, sluitingsdagen en afwezigheden worden overgeslagen. Het urenvolume van elk vak wordt aangepast aan het aantal weken van de periode, en de afwisselende weken worden datum voor datum op de juiste variant opgelost (A/B, A/B/C…). - **Naar een cyclus** — u geeft de **lengte van de cyclus** op in werkdagen; elke positie wordt een dagnummer in de cyclus. - **Naar een wekelijks rooster** (vanuit een cyclisch of kalenderrooster) — elke les valt terug op haar **weekdag**. De omzetting naar een wekelijks rooster of een cyclus vereenvoudigt bewust: meerdere lessen die op dezelfde weekdag vielen, komen samen op één tijdslot, en de gedateerde beschikbaarheid van een kalender wordt niet meegenomen. Reserveer de omzetting naar een kalender voor de gevallen waarin u werkelijk expliciete datums wilt. > _Premium_ ##### De datums verschuiven (kalenderrooster) Bij een rooster van het type **kalender** kan de duplicatie **alle lessen verschuiven** naar een nieuwe begindatum — handig om dezelfde organisatie in het volgende jaar over te doen. U vinkt de verschuivingsoptie aan, geeft de nieuwe begindatum op, en Omniscol verschuift de periode en lijnt daarna elke les opnieuw uit. Het principe: Omniscol **behoudt de opeenvolging van de lesdagen**. De N-de lesdag van de oorspronkelijke periode wordt de N-de lesdag van de nieuwe periode — de uitlijning volgt de werkdagen, niet de kale kalenderdatum. Een les kan dus **van weekdag veranderen**, om twee redenen. Ten eerste omdat de nieuwe begindatum niet noodzakelijk op dezelfde dag valt als de oude: begint het origineel op een maandag en het doel op een woensdag, dan schuift alles twee dagen op. Ten tweede — en dat komt het vaakst voor — omdat de feestdagen en de sluitingsdagen van de twee periodes niet samenvallen. Lessen die buiten de nieuwe periode vallen, **worden weer niet-geplaatst**: de lessen en al hun details blijven bestaan, alleen de plaatsing gaat verloren. #### Een school reorganiseren in Omniscol Voor een ingrijpende reorganisatie (de overstap van werken met klassieke klassen naar werken met groepen, het samenvoegen van niveaus, de opening van een nieuwe vestiging) werkt u op een eigen **conceptrooster**: 1. Dupliceer het actieve rooster naar `Scenario reorganisatie 2027-2028`. 2. Wijzig de structuur (klassen, groepen, vestigingen) in het concept. 3. Start de diagnose en de roostergeneratie om de haalbaarheid te meten. 4. Itereer zonder het productieaccount aan te raken. 5. Is het scenario goedgekeurd, dan kunt u overgaan tot publicatie. Het voordeel: zolang het scenario een concept blijft, zien de eindgebruikers (leerling, docent) er niets van. Alleen de beheerders hebben toegang tot het concept. #### Een overbodig concept verwijderen Een niet-gepubliceerd rooster kunt u vanuit de lijst verwijderen. Wilt u het vóór de verwijdering vastleggen, open het dan eerst en exporteer het naar JSON via [download]. Details in [Automatische roostergeneratie](#page-timetables.generation). Een gepubliceerd rooster verwijdert u niet rechtstreeks: haal eerst de publicatie weg in het raster van de roosterverdeling als u het echt uit de operationele werking moet halen. #### Stappenplan — Een testscenario maken vanuit een actief rooster 1. **Om een reorganisatie te verkennen** (klassen samenvoegen, een nieuwe vestiging, de overstap naar groepen) zonder het productieaccount aan te raken: werk op een **scenarioconcept** dat u vanuit het actieve rooster dupliceert. De gebruikers zien er niets van zolang het een concept blijft. 2. **Open de module Roosterbeheer**: de lijst toont de roosters van het account met hun status gepubliceerd/niet gepubliceerd, hun weekbereiken en hun kerncijfers (klassen, lessen, docenten). 3. **Klik op [copy] Dupliceren** bij het actieve rooster. Dialoogvenster: vink aan wat wordt overgenomen — **vestigingen** (lokalen, resources), **docenten**, **klassen** (groepen, beschikbaarheid), **lessen** en hun details. Voor een scenario houdt u vaak de structuur en de lessen, en vinkt u de toewijzingen van docenten uit die u opnieuw wilt doen. 4. **Geef een sprekend label**: `S1 26-27`, `T3 2027`, `Test nieuwe vestiging Rotterdam`, `Reorganisatie keuzegroepen`. Hoe explicieter het label, hoe kleiner de kans dat u over 3 maanden in de war raakt. 5. **Wijzig de structuur in het concept**: maak klassen aan of voeg ze samen, voeg de vestiging toe, herschik de groepen. **Start de roostergeneratie** om de haalbaarheid te meten. Itereer op uw gemak — nul impact op het actieve rooster. 6. **Is het scenario goedgekeurd**, ga dan over tot publicatie (zie [Publicatie](#page-timetables.publication)). Zo niet, bewaar het als concept of exporteer het naar JSON vóór de verwijdering. #### Zie ook - [Overzicht van de module Roosterbeheer](#page-timetables.overview) - [Roosterweergave](#page-schedules.schedule-display) - [Een rooster delen via een openbare link](#page-schedules.share-link) - [Het volgende schooljaar voorbereiden](#page-timetables.next-school-year) - [Een rooster publiceren](#page-timetables.publication) ### 3.24 Het volgende schooljaar voorbereiden *Source: `help/nl/timetables/next-school-year.md` · id: timetables.next-school-year · Audience: admin · Plan: standard · Updated: 2026-06-25* Aan het rooster voor het volgende jaar kunt u zes tot negen maanden van tevoren beginnen, naast het lopende werk. Het principe: u dupliceert het actieve rooster om er een concept van te maken en werkt daarna op dat concept verder, zonder het gepubliceerde rooster aan te raken. #### Drie elementen om over te nemen Drie categorieën die u van het lopende jaar meeneemt naar het volgende jaar: 1. **Structuur** — vestigingen/lokalen, klassen, groepen, klasverdelingen, groepsuitlijningen, groepen van groepen. Vaak voor 80-90 % over te nemen van jaar op jaar, met bijstellingen in de marge. 2. **Lessen** — de lijst met in te plannen lessen (vak, klas, docent, duur, aantal keren per week). Voor 70-80 % over te nemen, met de wijzigingen in het programma. 3. **Toewijzingen docent-klas-vak** — wie wat geeft. Veranderlijker (vertrek, nieuwe aanstellingen, wijzigingen in de diensturen). #### De duplicatie starten Gebruik in de module Roosterbeheer de actie Dupliceren op het rooster dat als basis dient. In het dialoogvenster staat standaard alles aangevinkt; vink uit wat u liever opnieuw opbouwt: - **Vestigingen** — met hun lokalen en hun resources. - **Docenten** — de toewijzing van de docenten aan het rooster; hun beschikbaarheid gaat mee. Afhankelijk van uw beleid kunt u er bij een terugkerend rooster de voorkeur aan geven hun beschikbaarheid voor het nieuwe jaar opnieuw op te vragen in plaats van de oude over te nemen. - **Klassen** — met hun cursussen, groepen, groepsuitlijningen, beschikbaarheid en incompatibiliteiten. - **Lessen** (urenverdeling) — met de details die u wel of niet bewaart: toewijzing van de docenten aan de lessen, groepen, lokalen, resources, posities. Vaak door te nemen, want de docenten en de leerlingen gaan veranderen. Het aangemaakte concept is niet gepubliceerd: het raakt het actieve rooster van het lopende jaar niet. Bij wekelijkse en cyclische roosters gebeurt de publicatie op de weken van het volgende jaar daarna in het raster van de roosterverdeling. De duplicatie kan meteen ook de **datums** van de lessen **verschuiven** (bij een kalenderrooster) of **het roostertype omzetten**: deze twee opties en hun gevolgen — met name het herschikken van de lessen en de groeperingen — worden toegelicht in [Visualiseren, dupliceren, herordenen](#page-timetables.visualize-duplicate). #### Op het concept werken Het voorbereide rooster verschijnt in de lijst als concept. Hernoem het met een duidelijke naam, bijvoorbeeld `S1 27-28`. U kunt: - het openen om de klassen te wijzigen, de nieuwe docenten toe te voegen en de vertrokken docenten te verwijderen, - de zittende docenten om hun beschikbaarheid voor het nieuwe jaar vragen (via een bulkverzending vanuit de module Beheer), - de automatische roostergeneratie starten om de haalbaarheid te toetsen, - maandenlang rustig blijven bijschaven. #### Publicatie bij de start van het schooljaar Is het conceptrooster klaar en breekt het nieuwe schooljaar aan, dan **publiceert** u het op de gewenste weken. Zie [Publicatie](#page-timetables.publication). Het concept wordt het actieve rooster; het oude rooster blijft raadpleegbaar als historie. #### Stappenplan — De start van schooljaar N+1 voorbereiden 1. **Begin met N+1 naast het lopende werk**: Omniscol houdt het concept gescheiden van het lopende rooster. U schaaft maandenlang rustig bij zonder iets stuk te maken. 2. **Vooraf**: maak schooljaar N+1 aan in [Beheer → Schooljaar](#page-admin.school-year), met de bijbehorende datums en vakanties. U hebt het nodig op het moment dat u op de weken van dat jaar publiceert. 3. **In Roosterbeheer** gebruikt u de actie Dupliceren op het referentierooster. Alles staat standaard aangevinkt; vink uit wat opnieuw wordt opgebouwd: - **Vestigingen**, lokalen en resources. - **Docenten** die aan het rooster zijn toegewezen (hun beschikbaarheid gaat mee) — vaak te herzien, of zelfs opnieuw op te vragen voor het nieuwe jaar. - **Klassen**, groepen en groepsuitlijningen — voor 80-90 % over te nemen. - **Lessen** en hun details (toewijzingen, lokalen, posities…) — door te nemen, docenten en leerlingen gaan veranderen. 4. **Het concept is aangemaakt**. Hernoem het duidelijk, open het en stel daarna de klassen bij (nieuwe, vertrokken, samengevoegde), voeg de nieuwe docenten toe en verwijder de vertrokken docenten. 5. **Vraag de beschikbaarheid op** bij de zittende docenten, via een bulkverzending vanuit Beheer. **Start de automatische roostergeneratie** om de haalbaarheid zo vroeg mogelijk te toetsen — stel de beperkingen, de urenvolumes en de docenten bij. 6. **Bent u klaar voor de start van het schooljaar**, dan **publiceert** u het concept op de gewenste weken (zie [Publicatie](#page-timetables.publication)). Het concept wordt het actieve rooster voor N+1; het oude rooster van jaar N blijft raadpleegbaar als historie. ⚠ Vergeet niet de **pijl naar rechts** van de tijdlijn te gebruiken of via de keuzelijst van jaar te wisselen, anders blijft u in jaar N (zie [Tijdlijn en navigatie in de tijd](#page-core-concepts.timeline-navigation)). #### Zie ook - [Schooljaar en vakanties](#page-admin.school-year) - [Overzicht van de module Roosterbeheer](#page-timetables.overview) - [Een rooster publiceren](#page-timetables.publication) - [Visualiseren, dupliceren, herordenen](#page-timetables.visualize-duplicate) --- ## 4. Dashboard ### 4.1 Overzicht van de module Dashboard *Source: `help/nl/dashboard/overview.md` · id: dashboard.overview · Audience: admin/teacher/staff · Plan: standard · Updated: 2026-06-25* De module **Dashboard** (pictogram [gauge-high] in het linkermenu) bundelt de statistieken die op basis van het operationele rooster worden berekend (lessen die daadwerkelijk zijn ingeroosterd en gepubliceerd, rekening houdend met [afwezigheden](#page-glossary.absence) en [vervangingen](#page-glossary.substitution)). Het is een instrument voor **rapportage** en **sturing**: hoeveel uur elke docent heeft lesgegeven, hoe hoog de bezetting van de lokalen is, welk urenvolume per vak en per klas, hoeveel aanwezigheidsdagen per leerling. #### Beschikbare indicatoren Zes analysedimensies, bereikbaar via de tabbladen van de module: - Docenten — onderwezen vakken, aantal klassen, meegetelde uren, overuren, geannuleerde uren. - Lokalen — bezette uren, openingsdagen, uren per dag, ondergebrachte leerlingen. - Resources — gebruiksuren, gebruiksdagen, hoeveelheid per dag. - Vakken — lesuren, dagen, lessen, uitsplitsing per klas. - Klassen — totaal aantal uren (met het aandeel per groep), dagen, uitsplitsing per vak en per docent. - Leerlingen — lessen, uren, aanwezigheidsdagen, uitsplitsing per vak. #### Analyseperiode Te filteren op **week**, **maand**, **schooljaar** of **aangepast datumbereik**. De tijdlijn bovenaan dient om door de tijd te navigeren. #### Export De knop Afdrukken opent een tabel die u kunt kopiëren, afdrukken of als CSV exporteren. Om deze cijfers door te geven, zie [Deellink](#page-glossary.share-link). Een iCal-link heeft hier geen zin: het Dashboard bevat alleen statistieken, geen gedateerde lessen. #### Delen De knop Delen genereert een openbare alleen-lezenlink naar de statistieken van de periode. Handig voor externe auditors, onderwijscoördinatoren zonder Omniscol-account, enzovoort. #### Zie ook - [Dashboard](#page-glossary.dashboard) - [Status](#page-glossary.lesson-status) - [Raadplegen en filteren](#page-schedules.consult-and-filter) - [Roosterbeheer](#page-timetables.overview) ### 4.2 Tabellen en grafieken gebruiken *Source: `help/nl/dashboard/tools-and-filters.md` · id: dashboard.tools-and-filters · Audience: admin/teacher/staff · Plan: standard · Updated: 2026-05-18* De tabbladen van het **Dashboard** combineren een tabel en grafieken. De tabel dient om de details te controleren; de grafieken dienen om de verdeling of de extreme waarden snel in beeld te brengen. #### Zoeken en grafieken De zoekopdracht filtert de rijen van de tabel. De grafieken worden opnieuw berekend op de zichtbare rijen: zoekt u op een vak, een vestiging of een docent, dan tonen de grafieken alleen die selectie. De zoekopdracht is ongevoelig voor hoofdletters, accenten en overbodige spaties. Meerdere woorden in dezelfde zoekopdracht gelden als criteria waaraan samen moet worden voldaan. Met een komma zoekt u naar meerdere mogelijkheden. Voorbeelden: - `wiskunde jansen` toont de rijen die zowel `wiskunde` als `jansen` bevatten. - `aula, laboratorium` toont de rijen die met de ene of met de andere term overeenkomen. - `vestiging noord >50` kan in een lijst met lokalen dienen om de lokalen van de vestiging noord met meer dan 50 plaatsen eruit te lichten. #### Kolommen sorteren Met de sorteerbare kolomkoppen ordent u de tabel opnieuw: alfabetisch voor de namen, numeriek voor de tellers, op tijdswaarde voor de tijdsduur. Klik nogmaals op dezelfde kop om de sortering om te keren. Sorteren is nuttig vóór een export: zo zet u bijvoorbeeld de docenten met de meeste overuren, de drukst bezette lokalen of de klassen met het grootste urenvolume bovenaan. #### Een grafiek kopiëren Om een grafiek opnieuw te gebruiken in een document, een e-mail of een presentatie: 1. filter de tabel indien nodig; 2. controleer of de grafiek de juiste selectie toont; 3. klik met de rechtermuisknop op de grafiek; 4. kies **Afbeelding kopiëren** in de browser. De gekopieerde grafiek komt overeen met wat op het scherm wordt weergegeven. #### Exporteren of delen De knop Afdrukken opent de mogelijkheden om de weergegeven tabel te kopiëren, af te drukken of te exporteren. Afhankelijk van het tabblad kunt u met de export een Excel-bestand voor de boekhouding klaarzetten, een overzicht aan een onderwijscoördinator doorgeven of een bewijsstuk bewaren voor een audit. De knop Delen maakt een alleen-lezenlink om te delen. De ontvanger bekijkt de statistieken van de periode zonder het rooster te kunnen wijzigen. #### Zie ook - [Zoeken en filters](#page-core-concepts.search-and-filter) - [Docentenstatistieken](#page-dashboard.teachers) - [Lokaalstatistieken](#page-dashboard.classrooms) ### 4.3 Docentenstatistieken *Source: `help/nl/dashboard/teachers.md` · id: dashboard.teachers · Audience: admin/teacher/staff · Plan: standard · Updated: 2026-06-13* Het tabblad Docenten bundelt de uren die over de weergegeven periode werkelijk zijn meegeteld. Het dient om de diensturen te volgen, de loonadministratie voor te bereiden, boekhoudkundige exports te maken en de vervangingen te controleren. #### Belangrijkste indicatoren - **Meegetelde uren**: het aantal uren dat wordt aangehouden voor de administratieve opvolging en, afhankelijk van de organisatie van de instelling, voor de loonadministratie. - **Overuren** (Overuren): uren die voortkomen uit een vervanging in de module Afwezigheidsbeheer of uit een handmatige toevoeging op een gedateerde les van een terugkerend rooster. - **Geannuleerde uren** (Geannuleerde lessen): uren die zijn weggevallen door een afwezigheid of door het handmatig verwijderen van een gedateerde les uit een terugkerend rooster. - **Klassen en vakken**: het onderwijsbereik van de docent in de periode. - **Lestypes**: de uitsplitsing van de urenvolumes per lestype wanneer de lessen van een lestype zijn voorzien. De overuren en de geannuleerde uren maken het mogelijk om de geplande diensturen te onderscheiden van de diensturen die in de periode werkelijk zijn gegeven. #### Uitsplitsing per lestype De uitsplitsing per lestype is nuttig wanneer het meetellen van de uren afhangt van de onderwijsvorm: hoorcollege, werkcollege, practicum, begeleiding, workshop of elke andere indeling die de instelling heeft ingericht. Deze uitsplitsing helpt bij het controleren van de uitbetaalbare urenvolumes, de interne waarderingsregels en de bewijsstukken die de boekhouding of een auditinstantie nodig heeft. #### Export, delen en boekhouding De tabel kan worden gekopieerd, afgedrukt of geëxporteerd voor verdere verwerking in Excel of in een boekhoudprogramma. Via de deellink met alleen-lezenrechten geeft u een overzicht door zonder toegang te geven tot het bewerken van het rooster. Voor een terugkerende koppeling met boekhoudsoftware kan een ETL-stroom of een specifieke integratie deze statistieken overnemen in het formaat dat de instelling verwacht. > _Premium_ Op een **Premium**-account voegt de export van deze tabel twee kolommen toe die voortkomen uit de gedetailleerde registratie van de lessen: **Werkelijke duur** (de werkelijk gegeven duur, te onderscheiden van de verrekende duur) en **Uitgevoerd** (het urenvolume waarvan de les als uitgevoerd is gemarkeerd). Handig om geplande, meegetelde en werkelijk gegeven diensturen naast elkaar te leggen. Omgekeerd blijven lessen met de status **Concept** of **Geannuleerd** buiten deze cijfers. Zie [Status](#page-glossary.lesson-status). #### Controlepunten Controleer voordat u deze cijfers voor de loonadministratie gebruikt of de periode klopt, of de afwezigheden zijn gevalideerd, of de vervangingen correct zijn geregistreerd en of de toegevoegde of verwijderde gedateerde lessen de operationele werkelijkheid weergeven. #### Zie ook - [Afwezigheden opvolgen en exporteren](#page-absences.statistics) - [Status](#page-glossary.lesson-status) - [Tabellen en grafieken gebruiken](#page-dashboard.tools-and-filters) - [Overzicht van de module Dashboard](#page-dashboard.overview) ### 4.4 Lokaalstatistieken *Source: `help/nl/dashboard/classrooms.md` · id: dashboard.classrooms · Audience: admin/teacher/staff · Plan: standard · Updated: 2026-06-13* Het tabblad Lokalen analyseert het werkelijke gebruik van de lokalen over de weergegeven periode. Het dient om onderbenutte lokalen, te zwaar belaste lokalen en onevenwichtigheden per vestiging of gebouw op te sporen. #### Gevolgde indicatoren De tabel toont onder meer het aantal lessen, de bezette uren, de gebruiksdagen, de uren per dag en het aantal ondergebrachte leerlingen. Wanneer de gegevens zijn ingevuld, maken de kolommen vestiging, gebouw, specialisatie en tags de analyses per zone of per soort lokaal eenvoudiger. De grafieken helpen om de verdeling van de bezetting, de urenvolumes en de verschillen in gebruiksintensiteit in beeld te brengen. #### Onderbenutting en overbezetting Een lokaal dat in verhouding tot zijn capaciteit zeer weinig gevuld is, kan wijzen op een verkeerde toewijzing, een slecht benut gespecialiseerd lokaal of een mogelijke herverdeling. Lokalen die voor minder dan 25% van hun capaciteit worden gebruikt, verdienen doorgaans een controle. Omgekeerd wijst een lokaal dat boven zijn capaciteit wordt gebruikt op een operationeel risico: te veel leerlingen, een verkeerd toegewezen lokaal of capaciteitsgegevens die gecorrigeerd moeten worden. #### Analyse van de gebouwen Met dit tabblad kunt u vragen beantwoorden als: - in welke gebouwen de bezetting zich concentreert; - welke lokalen weinig gebruikt blijven; - welke specialisaties van lokalen ontbreken of overgedimensioneerd zijn; - welke vestigingen gereorganiseerd zouden kunnen worden. Voor fijnere analyses, bijvoorbeeld om de bezette uren te vergelijken met de openingstijden van een gebouw of met de mogelijke tijdsloten voor lessen, kan de instelling de tabel exporteren en in een externe tool verder bewerken, of het account bevragen vanuit een externe AI-agent die via [MCP](#page-integrations.mcp) is aangesloten, afhankelijk van het profiel, de rechten en de beschikbaar gestelde tools. #### Lokalen filteren De zoekopdracht accepteert vergelijkingsoperatoren voor de capaciteit (`>50`, `<=100`, enzovoort) en termen voor vestiging, gebouw, specialisatie of tags. De grafieken worden opnieuw berekend op basis van de gefilterde lokalen. #### Zie ook - [Zoeken en filters](#page-core-concepts.search-and-filter) - [Tabellen en grafieken gebruiken](#page-dashboard.tools-and-filters) - [Vestigingen, lokalen en resources](#page-timetables.sites-rooms) ### 4.5 Vakstatistieken *Source: `help/nl/dashboard/subjects.md` · id: dashboard.subjects · Audience: admin/teacher/staff · Plan: standard · Updated: 2026-05-18* Het tabblad Vakken laat zien hoe de lesuren over de weergegeven periode zijn verdeeld: in totaal, per klas, per docent en per lestype wanneer die informatie is ingevuld. #### Wat u op deze pagina kunt controleren - het totale aantal uren dat aan elk vak wordt besteed; - de verdeling per klas; - de verdeling per docent; - het aandeel van elk lestype, bijvoorbeeld practicum, werkcollege, hoorcollege of workshop; - de modaliteiten die de instelling eventueel gebruikt. #### Onderwijskundige analyse Deze weergave helpt om te controleren of de werkelijk ingeroosterde uren in lijn blijven met de opleidingsprogramma's, de gemaakte opleidingsafspraken en de verwachte verdeling over de onderwijsvormen. Ze is bijzonder nuttig om antwoord te geven op vragen als: hoeveel uren practicum er zijn ingepland, welke klas de meeste uren in een vak krijgt, of welke docenten een vak in die periode verzorgen. #### Grafieken en filters Met de zoekopdracht zondert u een vak, een klas, een docent of een lestype af. De grafieken worden opnieuw berekend op de zichtbare rijen, waardoor u snel een gerichte weergave samenstelt vóór het kopiëren of exporteren. #### Zie ook - [Klassenstatistieken](#page-dashboard.classes) - [Docentenstatistieken](#page-dashboard.teachers) - [Tabellen en grafieken gebruiken](#page-dashboard.tools-and-filters) ### 4.6 Klassenstatistieken *Source: `help/nl/dashboard/classes.md` · id: dashboard.classes · Audience: admin/teacher/staff · Plan: standard · Updated: 2026-05-18* Het tabblad Klassen bundelt het aantal lesuren dat elke klas in de weergegeven periode volgt. Het dient om de werkelijke onderwijsbelasting, de verdeling per vak en de bij accreditaties of certificeringen gevraagde bewijsstukken te controleren. #### Bijgehouden indicatoren Op deze pagina houdt u onder meer bij: - het totale aantal uren van de klas; - het theoretische en het werkelijke aantal leerlingen wanneer de groepen zijn ingevuld; - de lesdagen; - de verdeling per vak; - de verdeling per docent; - de uitsplitsing per lestype; - de betrokken groepen en subgroepen. #### Accreditaties en certificeringen De klassenstatistieken helpen om de gegeven lesuren binnen een opleidingsprogramma te documenteren. Ze kunnen van pas komen bij trajecten zoals Qualiopi of CTI in Frankrijk, of internationaal AMBA, EQUIS en AACSB, wanneer de instelling het aantal lesuren, de onderwijsvormen en de verdeling van het onderwijs moet verantwoorden. #### Gegevenskwaliteit De nauwkeurigheid hangt af van de kwaliteit van de klassen, groepen, vakken, lestypes en de toewijzingen van docenten in het rooster. Goed ingevulde groepen leveren betrouwbaardere cijfers op over de lesuren die de betrokken leerlingen werkelijk volgen. #### Zie ook - [Vakstatistieken](#page-dashboard.subjects) - [Docentenstatistieken](#page-dashboard.teachers) - [Tabellen en grafieken gebruiken](#page-dashboard.tools-and-filters) ### 4.7 Leerling- en resourcestatistieken *Source: `help/nl/dashboard/students-resources.md` · id: dashboard.students-resources · Audience: admin/teacher/staff · Plan: standard · Updated: 2026-05-18* De tabbladen Leerlingen en Resources vullen de analyse van het Dashboard aan. Ze zijn gerichter dan de weergaven voor docenten, lokalen, vakken of klassen, maar blijven nuttig om de operationele gegevens te controleren. #### Leerlingen Het tabblad Leerlingen toont per leerling de gevolgde lessen, uren en dagen in de weergegeven periode. Wanneer de klassen, groepen en subgroepen correct zijn ingevuld, geven de statistieken nauwkeuriger weer welke volumes werkelijk op elke leerling betrekking hebben. Afwezigheden worden in eigen kolommen meegenomen, met name het aantal uren, lessen en dagen afwezigheid. Deze weergave helpt om individuele situaties op te sporen die om een controle of administratieve opvolging vragen. #### Resources Het tabblad Resources volgt het gebruik van de materiële resources: gebruiksuren, gebruiksdagen en de per dag ingezette hoeveelheid. Het dient vooral om te controleren of gedeeld materiaal daadwerkelijk wordt gebruikt en om periodes of resources met weinig vraag op te sporen. #### Werken met de gegevens Net als in de andere tabbladen filtert de zoekopdracht de zichtbare rijen, passen de grafieken zich aan het weergegeven bereik aan en kunnen de gegevens worden gekopieerd, afgedrukt, geëxporteerd of alleen-lezen gedeeld. #### Zie ook - [Klassenstatistieken](#page-dashboard.classes) - [Afwezigheden van klassen en leerlingen](#page-absences.class-and-student-absences) - [Tabellen en grafieken gebruiken](#page-dashboard.tools-and-filters) --- ## 5. Dagelijks gebruik (module Rooster) ### 5.1 Roosters raadplegen en filteren *Source: `help/nl/schedules/consult-and-filter.md` · id: schedules.consult-and-filter · Audience: admin/teacher/student/staff · Plan: standard · Updated: 2026-06-26* De module **Rooster** (pictogram [calendar-days] in het linkermenu) is het scherm voor de dagelijkse raadpleging. Het toont de gepubliceerde roosters voor de gekozen periode, met alle nuttige filters en weergaven. #### Beschikbare filters - **Klas**, **docent**, **groep** (met of zonder de hele klas), - **Lokaal**, **resource**, - **Docenten per vak**, **pedagogisch team** (alle docenten van een klas), **vak**, - **Lestype** (werkcollege, practicum, examen, hoorcollege…) als dat is ingesteld, - **Leerling** (als de leerlingen zijn ingevoerd en aan klassen zijn toegewezen). U kunt **meerdere roosters onder elkaar stapelen**: handig om de klas en een bepaalde docent samen voor ogen te hebben, of meerdere klassen tegelijk. #### Weergaven De weergavecomponent combineert twee niveaus: - een **weergavemodus**: **raster**, **lijst** of **tabel** in spreadsheetstijl; - een **tijdsindeling**: **week**, **dag**, **maand**, **planning** (en **planning per uur**) of **naast elkaar**. Het raster is de standaardkalenderweergave. De tabel dient om de huidige weergave in tabelvorm te tonen, dichter bij een spreadsheet; het is niet de basisweergave. Zie [Roosterweergave](#page-schedules.schedule-display). #### Tijdlijn en navigatie De **tijdlijn** bovenaan toont: - de **vakanties** als grijze horizontale balken, - de **gekozen periode** (week, maand, soms het schooljaar) als een groene zone met de datums eroverheen, - de **navigatie**: de pijltoetsen links/rechts op het toetsenbord, een veegbeweging op een smartphone of de knoppen `◀ ▶︎`. Met de knoppen `◀` en `▶︎` aan de **uiteinden** van de tijdlijn wisselt u van **schooljaar**. #### Cache en prestaties Omniscol maakt intensief gebruik van de browsercache. De toepassing laadt de roosters alleen opnieuw wanneer u van week wisselt — nogmaals op de actieve week klikken **forceert een verversing**. Daardoor werkt Omniscol zelfs op een 2G-verbinding (Edge) en blijft het werken tijdens korte internetonderbrekingen (de verzoeken worden opnieuw uitgevoerd zodra de verbinding terug is). #### Bewerkingsmodus De knop Herschikking schakelt over naar de bewerkingsmodus: zie [Eenmalige wijzigingen](#page-schedules.ad-hoc-changes). #### Exporteren / delen - Afdrukken — de huidige selectie afdrukken (of via de browser als PDF opslaan). - Delen — het deelvenster openen: openbare [weblink](#page-glossary.share-link), abonnement via [iCal](#page-glossary.ical) of JSON-representatie (API), afhankelijk van uw rechten. #### Zie ook - [Eenmalige wijzigingen](#page-schedules.ad-hoc-changes) - [Conflicten en diagnose](#page-timetables.conflicts) - [Roosterweergave](#page-schedules.schedule-display) - [Status](#page-glossary.lesson-status) - [Afdrukken en delen](#page-schedules.print-and-export) ### 5.2 Weergave van roosters: raster, lijst, tabel, planning, maand, naast elkaar *Source: `help/nl/schedules/schedule-display.md` · id: schedules.schedule-display · Audience: admin/teacher/student/staff · Plan: standard · Updated: 2026-06-26* Deze pagina beschrijft de **gemeenschappelijke roosterweergave** in Omniscol. U vindt die terug in **Rooster**, in het scherm **Urenverdeling** wanneer u naar de weergave **roosters** overschakelt, in de schermen **Visualiseren** en **Herordenen** van **Roosterbeheer**, en meer in het algemeen in de andere schermen die een roosterkalender met dezelfde weergavemotor openen. Dezelfde lessen kunt u in verschillende presentaties lezen zonder dat de getoonde gegevens veranderen: u wijzigt de weergave, niet het rooster. #### Van weergave wisselen De omschakelpictogrammen horen bij **elk getoond rooster**. Om ze zichtbaar te maken, **beweegt u de muis over de titel van het rooster**: de titelbalk toont dan de pictogrammen om de weergave om te schakelen. Klik op het pictogram dat u wilt: - [calendar] voor het **raster**, [table-list] voor de **lijst**, [table] voor de **tabel** (voorbehouden aan beheerders, op een computer); - op een **planning per uur** verwisselt [up-down] **de dagen en de kolommen**. In de titelbalk zitten ook het delen en het sluiten van de kalender. Omdat elk rooster zijn eigen weergave behoudt, kunt u bij meerdere gestapelde kalenders de ene als lijst en de andere als raster lezen. #### Drie weergavemodi voor hetzelfde rooster Het eerste omschakelniveau betreft de **weergavevorm** van dezelfde lessen. ##### Raster Het **raster** (Rasterweergave) is de standaardkalenderweergave: dagen in kolommen, tijdsloten of uren in rijen, lessen geplaatst in hun vakjes. Dit is de referentieweergave om een rooster week na week te lezen. Dat is bijzonder nuttig om: - meteen de tussenuren, de overlappingen en de lengte van de dagen te zien, - een klas, een docent of een lokaal visueel te vergelijken, - een rooster te wijzigen of na te lezen in een vertrouwd tijdskader. ##### Lijst De **lijst** (Lijstweergave) toont de lessen onder elkaar, in chronologische volgorde. Dat is bijzonder nuttig om: - snel een lange periode door te lopen op een klein scherm, - met de filters een bepaalde les op te zoeken, - de tijden, de lokalen en de toewijzingen op volgorde na te lezen. ##### Tabel De **tabel** is een **weergave in spreadsheetstijl** van het scherm dat u nu bekijkt. Ze dient om te controleren, af te drukken, de gegevens naar een spreadsheet te kopiëren of, afhankelijk van het scherm, rechtstreeks een bestandsexport te starten. Het is **niet** de standaardkalenderweergave. Afhankelijk van de context kan ze het volgende tonen: - een raster dagen × tijdsloten in een meer tabelvormige opmaak, - of één les per rij wanneer de bronweergave al een lijst is. Ze is bijzonder nuttig voor: - administratieve controle, - kopiëren en plakken naar een spreadsheetprogramma, - rechtstreekse export naar **PDF**, **CSV** of **Excel / XLSX** wanneer het scherm dat aanbiedt, - controles rij voor rij. #### Tijdsbereik: week, dag, maand Het tweede omschakelniveau betreft de **getoonde periode**. - **Week**: standaardweergave in de meeste gevallen. - **Dag**: dezelfde logica als het standaardraster, maar toegespitst op één enkele dag om een druk bezet rooster gedetailleerder te lezen. - **Maand**: overzicht op lange termijn. In kalendermodus krijgt de weergave de vorm van een maandraster in matrixvorm; in tabelmodus blijft het een tabelvormige weergave van dezelfde inhoud. Met de keuzelijst Selecteer de weer te geven dagen verbergt of toont u daarnaast bepaalde dagen in de betrokken weergaven. #### Planning Een **planning** stelt u samen via het filtermenu: hij zet meerdere entiteiten of meerdere dagen naast elkaar in één weergave, om ze als één geheel te bekijken. Twee varianten, afhankelijk van de as die u wilt lezen: - **Een planning toevoegen** (pictogram [table-cells]) plaatst **één entiteit per rij** (klas, docent, lokaal, vak) en de uren van elke dag in kolommen — om meerdere entiteiten op dezelfde dag te vergelijken. - **Uurrooster toevoegen** (pictogram [table-columns]) plaatst de **uren op de verticale as** (op tijdschaal) en **één kolom per entiteit en per dag** — om de bezetting en de opeenvolging op een echte uurschaal te lezen. Met de knop [up-down] verwisselt u zo nodig de dagen en de kolommen. De planning dient onder meer om: - **meerdere entiteiten naast elkaar voor dezelfde dag** te tonen, - **meerdere dagen voor een of meer entiteiten** te tonen, - de bezetting per maand te lezen, - de opeenvolging, de overgangen of de beschikbaarheid te controleren. De planning vult het kalenderraster aan en beantwoordt andere vragen: kies deze weergave wanneer u meerdere entiteiten of dagen als één geheel wilt bekijken. #### Naast elkaar De functie Gesplitst scherm opent de weergave **naast elkaar**: twee tot vier roosters in hetzelfde scherm, elk met zijn eigen filters en zijn eigen weergavemodus. Dat is nuttig om: - twee klassen of twee docenten te vergelijken, - een gezamenlijke les of gedeeld toezicht in te plannen, - te controleren of aan beide kanten tegelijk een vrij tijdslot bestaat. #### Wat hetzelfde blijft wanneer u van weergave wisselt Van de ene modus naar de andere overschakelen wijzigt de lessen niet. U houdt dezelfde onderliggende gegevens, naargelang het geval met: - dezelfde entiteitsfilters, - dezelfde geselecteerde periode, - dezelfde zichtbare conflicten of afwezigheden, - dezelfde acties om af te drukken, te exporteren of te delen, afhankelijk van de rechten van de gebruiker. #### Stappenplan — De juiste weergave kiezen per taak 1. **Om snel een rooster te lezen**: begin bij het **raster**. Dat is de standaardkalenderweergave, het best leesbaar voor een lesweek. 2. **Om de lessen een voor een door te lopen**: schakel over naar de **lijst**. Handig op een klein scherm of om een bepaalde les terug te vinden. 3. **Om te kopiëren, af te drukken, te exporteren of te controleren in spreadsheetstijl**: gebruik de **tabel**. Dat is een tabelvormige weergave van het huidige scherm, niet de basisweergave van het rooster. 4. **Om op één enkele dag in te zoomen**: kies het bereik **dag**. 5. **Om afstand te nemen over meerdere weken of meerdere datums**: schakel over naar **maand** of open een **planning**, afhankelijk van de vraag die u wilt beantwoorden. 6. **Om meerdere entiteiten of meerdere dagen in één overzicht te combineren**: voeg een **planning** toe (of een **planning per uur** voor een uurschaal). 7. **Om twee afzonderlijke roosters te vergelijken**: gebruik de weergave **naast elkaar**. #### Zie ook - [Raadplegen en filteren](#page-schedules.consult-and-filter) - [Visualiseren, dupliceren, herordenen](#page-timetables.visualize-duplicate) - [Weergavemodus van het rooster](#page-glossary.schedule-view-mode) ### 5.3 Eenmalige wijzigingen in een gepubliceerd rooster *Source: `help/nl/schedules/ad-hoc-changes.md` · id: schedules.ad-hoc-changes · Audience: admin · Plan: standard · Updated: 2026-06-26* Omniscol dient niet alleen om vóór de start van het schooljaar een rooster te genereren — het is ook een operationeel instrument om de dagelijkse wijzigingen in de loop van het jaar te beheren. #### De bewerkingsmodus inschakelen Klik op Herschikking. Alle geopende kalenders schakelen over naar de herschikkingsmodus. Kalenders die u daarna opent, zijn eveneens meteen bewerkbaar. Ga naar de week die u wilt wijzigen (tijdlijn bovenaan). #### Een les wijzigen Klik op een les: er verschijnt een paneel (dat u kunt verplaatsen of halfdoorzichtig maken) met alle bewerkbare kenmerken: - docent(en), - eventuele groep, - resources, - lokaal of lokalen (zie [meerdere lokalen](#page-glossary.multi-room)), - memo's. #### Meerdere lessen tegelijk wijzigen In de herschikkingsmodus selecteert **Shift+klik** meerdere lessen samen (vanaf twee lessen worden ze gemarkeerd). Het paneel wordt dan een **gezamenlijke fiche**: het lokaal, de docent of docenten, de resources, de memo of de duur die u er instelt, gelden bij het opslaan voor **alle geselecteerde lessen** — handig om een blok lessen in één keer naar een ander lokaal te brengen. Zie [Een les bewerken](#page-timetables.lesson-edit). In plaats van elke les afzonderlijk aan te klikken, **verbreedt u de selectie** met één klik via het menu Selectie van de fiche: - per **tijdvenster** — de hele **dag**, de hele **week** of de hele **maand** (afhankelijk van het roostertype); - per **gelijkenis** — de **volgende vergelijkbare lessen** (dezelfde klas, hetzelfde vak, dezelfde groep en hetzelfde tijdslot: de herhaling van eenzelfde les); - per **klasverdeling** — de lessen van dezelfde groep in een klasverdeling. Elke keuze vermeldt hoeveel lessen ze toevoegt, en met een schakelaar beperkt u het bereik tot het huidige rooster of breidt u het uit naar **alle** geopende kalenders. Het naastgelegen menu **Dupliceren** ([copy]) kopieert de les of de lessen — in meerdere exemplaren, of tot een bepaalde datum op een kalenderrooster. De werking ervan staat in detail beschreven in [De uren verdelen en de lessen aanmaken](#page-timetables.hour-distribution). #### Een les losmaken of verwijderen Om een les uit het rooster **los te maken** klikt u op het pictogram [scissors] van het paneel, of dubbelklikt u op de les. De les komt in de zone met niet-geplaatste lessen rechts terecht, waar u ze eveneens kunt wijzigen. Om ze te **verwijderen** opent u het paneel en klikt u op Verwijderen: losmaken bewaart de les in de zone met opnieuw te plaatsen lessen, verwijderen haalt ze uit het rooster. Zoals elke wijziging verschijnt ze in de lijst van wijzigingen, waar u ze ongedaan kunt maken (zie verder). #### Een les verplaatsen Open de les en klik op haar plaatsingsknop (Plaatsen in het rooster, de punaise): de mogelijke tijdsloten verschijnen als gekleurde bolletjes (groen → rood afhankelijk van de conflicten). Klik op het nieuwe tijdslot. Om een les naar een andere week te verplaatsen zijn er twee mogelijkheden: - **maandweergave** — bekijk meerdere weken tegelijk en plaats de les vervolgens op het gewenste tijdslot; - **losmaken / van week wisselen / opnieuw plaatsen** — haal de les uit het rooster, wissel van actieve week en plaats ze opnieuw. #### Verschil met kalenderroosters Op een [kalenderrooster](#page-glossary.calendar-mode) heeft een wijziging **rechtstreeks gevolgen voor de gedateerde les** (die voor die datum al uniek is). Op een [wekelijks](#page-glossary.weekly-timetable) of [cyclisch](#page-glossary.cyclic-timetable) rooster doorbreekt een eenmalige wijziging de standaardweek **niet** — ze wordt opgeslagen als een uitzondering op de betrokken datum. De andere weken blijven de standaardweek volgen. #### Wijzigingen bekijken en ongedaan maken De knop Lijst van wijzigingen bekijken somt de lopende wijzigingen over de periode op. U kunt ze afzonderlijk ongedaan maken. Op een **wekelijks of cyclisch** rooster wordt een eenmalige wijziging opgeslagen als een uitzondering op haar datum: ze blijft **op elk moment** ongedaan te maken vanuit deze lijst. ⚠ Op een **kalenderrooster** worden de wijzigingen daarentegen **definitief vastgelegd bij het opslaan**: maak ze ongedaan **vóór u opslaat**. Deze wijzigingen gelden voor **één precieze datum**, niet voor de structuur van het rooster. De structuur — klassen, groepen, **standaardweek** — wijzigt u bij het **opbouwen van het rooster**, niet hier. Een **voorbije** datum bewerken corrigeert dus de geschiedenis van die ene datum: doe dat weloverwogen. #### Conflictdetectie De conflictdetectie werkt in de bewerkingsmodus net zoals in de module Roosterbeheer: zodra u een les verplaatst of wijzigt, controleert Omniscol in realtime op dubbele reserveringen, overschrijdingen van de capaciteit, tijdsbeperkingen en afwezigheden. Op de kalender krijgt een les met een conflict een **dubbele gekleurde omranding** — rood voor een blokkerend conflict, oranje of geel voor hinder waarover u moet beslissen. De details (het type conflict, de betrokken lessen, en bijvoorbeeld een ontbrekend lokaal) verschijnen in de **tooltip** wanneer u de muisaanwijzer over de les beweegt. De volledige lijst met conflicttypes, de ernstniveaus en het diagnosepaneel worden beschreven in [Conflicten en diagnose](#page-timetables.conflicts). #### Zie ook - [Roosters raadplegen en filteren](#page-schedules.consult-and-filter) - [Conflicten en diagnose](#page-timetables.conflicts) - [Eenmalige evenementen](#page-schedules.events) ### 5.4 Eenmalige evenementen (los van het rooster) *Source: `help/nl/schedules/events.md` · id: schedules.events · Plan: premium · Updated: 2026-08-07* > **Premium** > _Premium_ Een **eenmalig evenement** is een les die geen deel uitmaakt van de vaste structuur van het rooster: een bijzondere vergadering, een excursie, een examen van één dag, een open dag, een rapportvergadering. In plaats van de vaste structuur van de lessen aan te passen, maakt u een gedateerd evenement dat **bovenop** het tijdrooster wordt gelegd, op een precies interval. Het aanmaken van eenmalige evenementen is beschikbaar op **Premium**-accounts. #### Wanneer een evenement, wanneer een les - **Gewone les**: herhaalt zich elke week (of om de week) het hele jaar door. Beheerd in de module Roosterbeheer, meegenomen in de automatische roostergeneratie. - **Eenmalig evenement**: vindt plaats op een gedateerd interval, zonder vaste herhaling. Rechtstreeks beheerd in de module Rooster. Vuistregel: zou u het met de hand in een kalender schrijven in plaats van in het wekelijkse rooster, dan is het een evenement. #### Een evenement aanmaken — de evenementenagenda Een evenement voert u niet in via een los formulier: u tekent het **rechtstreeks op de agenda**, net als in een kalender. Op de evenementenagenda **klikt en sleept** u om een interval binnen één dag te tekenen (tijdens het tekenen ziet u een voorbeeld). Zodra u loslaat, opent er een fiche, verankerd aan uw selectie, met de datums en tijden **al vooraf ingevuld**; u vult aan: - **Titel** — `Rapportvergadering 1B`, `Excursie naar het Rijksmuseum`, `Proefexamen Nederlands`. - **Begin** en **einde** — datum, begintijd, eindtijd. - **Deelnemers** — klassen, groepen, docenten, leerlingen, of deelnemers als **vrije tekst**. - **Locatie** — een lokaal dat Omniscol kent, of een locatie die u als **vrije tekst** invoert. - **Resources** — materiaal of een resource die u zo nodig reserveert. - **Vakken** en **labels** — om het evenement ergens aan op te hangen en het later terug te vinden; zie verderop. - Videoconferentielink — optioneel, om het evenement op afstand te volgen. - **Opmerking** — een vrije notitie die bij het evenement verschijnt. - **Kleur** — een visuele hulp om het in het tijdrooster te onderscheiden. De selectie met de muis blijft **binnen één en dezelfde dag**. ##### Waar u de agenda vindt - **In de module Rooster**. Toon het filter **Evenementen**: de agenda is alleen bewerkbaar (tekenen met de muis actief) in de **herschikkingsmodus**; bij gewoon raadplegen blijft hij alleen-lezen. - **Bij het bewerken van een rooster van het type kalender.** Het filter **Evenementen** wordt daar alleen aangeboden voor een rooster **van het type kalender**; op een wekelijks rooster verschijnt het niet. #### Vakken en labels Twee velden hangen het evenement op aan iets ruimers, en helpen u het daarna terug te vinden. **De vakken.** Een evenement kan aan een of meer vakken worden gekoppeld: een lezing die meetelt voor het vak informatica, een scriptieverdediging die aan de bijbehorende cursus is gekoppeld. Het evenement verschijnt dan in het rooster wanneer u op dat vak filtert, naast de lessen — en het vak komt terug in de benaming, wat helpt om het in één oogopslag te herkennen. Een vak op een evenement verbruikt **geen enkel uur**: het telt niet mee in het urenvolume van het vak en evenmin in de diensturen van de docenten. Een evenement blijft een evenement; de koppeling zegt waar het over gaat, niet dat er wordt lesgegeven. **De labels.** U labelt uw evenementen met uw eigen woorden — `excursie`, `examencommissie`, `zonder handtekening` — herbruikbaar van het ene evenement naar het andere: labels die u al hebt gebruikt, worden u voorgesteld, zodat één idee niet in tien spellingen belandt. Een label doet uit zichzelf niets. Het dient om te sorteren, en vooral om te bepalen wat Omniscol verlaat: de connectoren naar externe systemen kunnen op die labels filteren, bijvoorbeeld om alles te versturen behalve wat u met `zonder handtekening` hebt gemarkeerd. #### Rechtstreeks opslaan, naast het rooster Een evenement wordt **onmiddellijk en apart** opgeslagen zodra u de fiche bevestigt: een evenement aanmaken, verplaatsen of verwijderen wordt meteen op zichzelf weggeschreven (bevestigd door een melding). U hebt de algemene knop **Opslaan** van de herschikking of van het bewerken van het rooster **niet nodig** — de evenementen zijn al opgeslagen. Omgekeerd geldt: de herschikking of de urenverdeling van een rooster opslaan gaat over de **lessen**, niet over de evenementen: het is een parallel subsysteem, dat doorlopend wordt vastgelegd. #### Conflicten met de lessen in het rooster Een evenement verwijst naar **dezelfde entiteiten** als het rooster — docenten, klassen, groepen, lokalen, resources — waardoor Omniscol overlappingen met de gewone lessen kan opsporen. Terwijl u de fiche invult, wordt elke deelnemer en elk lokaal of elke resource getoetst aan wat al op dat interval staat: - bij een **docent**, een **klas** of een **groep** wordt het evenement vergeleken met de lessen **en met de andere evenementen**; - **lokalen** en **resources** worden getoetst om een al bestaande bezetting op het tijdslot op te sporen. Die controles voeden de beschikbaarheidsaanduidingen in de keuzelijsten en komen als conflicten terug in de herschikkingsweergave. Het evenement ligt bovenop het tijdrooster: het **signaleert** het conflict, maar maakt de lessen die het overlapt niet vanzelf vrij. Behandel die apart (verplaatsen, eenmalige wijziging, afwezigheid…). #### Deelnemers: iedereen, of wie wil Naast de bij naam aangewezen deelnemers bestaan er twee bijzondere deelnemers — en zij gedragen zich niet hetzelfde tegenover conflicten: - **Iedereen** — het evenement geldt voor **de hele school**, en wel **verplicht**. Het verschijnt in alle roosters **en komt in conflict** met de bestaande lessen: de juiste keuze voor een open dag of een evenement dat de hele instelling ook echt in beslag neemt. - **Wie wil** — het evenement staat open voor wie eraan wil deelnemen, en wel **vrijblijvend**. Het verschijnt eveneens in alle roosters, maar **veroorzaakt geen enkel conflict**: voor een optioneel aanbod dat niemands rooster mag blokkeren. Beide verschijnen overal; alleen **Iedereen** veroorzaakt conflicten, omdat het de aanwezigheid verplicht maakt. #### Projectie in de roosters Eenmaal aangemaakt wordt een evenement **in elk betrokken rooster geprojecteerd**: het verschijnt in het rooster van elk van zijn deelnemende docenten, klassen, groepen en leerlingen, en ook in dat van elk gekozen lokaal en elke gekozen resource (en overal, bij **Iedereen** en **Wie wil**). Het is hetzelfde evenement vanuit meerdere invalshoeken bekeken — het is dus normaal dat u het tegelijk terugvindt in het rooster van de klas, van de docent en van het lokaal; het zijn geen duplicaten. Een evenement heeft geen veld "type": het onderscheidt zich van een gewone les door zijn titel, zijn datums, zijn deelnemers en zijn eventuele kleur. #### Verplaatsen, vastklikken, tijden vrijlaten Op de evenementenagenda laat een evenement zich, anders dan de lessen, **met slepen en neerzetten verplaatsen en van grootte veranderen**. Het **weergegeven tijdvenster** van de agenda volgt de **openingstijden** van de instelling: het loopt van de vroegst geconfigureerde opening tot de laatst geconfigureerde sluiting, en valt terug op 07.00 – 20.00 uur als er niets is gedefinieerd. De fiche heeft ook een **punaiseknop**: die schakelt over op plaatsing via vrije tijdsloten, en een klik op het gekozen tijdslot neemt de datum en de tijden ervan over in de fiche — een alternatief voor het tekenen met de muis om het evenement netjes vast te klikken. Tot slot zijn de begin- en eindtijd **volledig vrij**: ze hoeven niet samen te vallen met de tijdsloten van het tijdrooster. Een evenement kan om 9.50 uur beginnen en om 11.34 uur eindigen, ook als de gewone lessen netjes op hele tijdsloten vallen: daar is een evenement bovenop het tijdrooster juist voor bedoeld. #### Wijzigen of annuleren Een evenement wijzigt u zoals u het hebt aangemaakt: het in de tijd verplaatsen, van lokaal wisselen, deelnemers toevoegen of weghalen. #### Stappenplan — Een eenmalig evenement aanmaken 1. **Een eenmalig evenement** wordt **bovenop** het tijdrooster gelegd, op een gedateerd interval: rapportvergadering, excursie, proefexamen, open dag, vergadering. Geen vaste herhaling om te modelleren. 2. **Klik en sleep op de evenementenagenda** om het interval te tekenen (in de herschikkingsmodus). De fiche opent met vooraf ingevulde datums; vul de titel in (`Rapportvergadering 1B`, `Excursie naar het Rijksmuseum`). 3. **Selecteer de deelnemers**: de betrokken klassen, groepen en docenten, leerlingen als die beschikbaar zijn, of vrije deelnemers. 4. **Voeg zo nodig locatie, resources, videoconferentielink en opmerking toe.** Deze velden beschrijven het evenement; ze veranderen niets aan de gewone lessen. 5. **Sla op.** Het evenement verschijnt in de betrokken roosters. Signaleert Omniscol een conflict met gewone lessen, corrigeer dan de betrokken lessen in de weergave Herschikking. #### Zie ook - [Lessen buiten rooster](#page-timetables.off-grid-lessons) - [Eenmalige wijzigingen](#page-schedules.ad-hoc-changes) - [Roosters raadplegen en filteren](#page-schedules.consult-and-filter) - [FAQ — bijzondere gevallen](#page-faq.edge-cases) ### 5.5 Afdrukken en delen *Source: `help/nl/schedules/print-and-export.md` · id: schedules.print-and-export · Plan: standard · Updated: 2026-06-25* Alle roosters die u in de module Rooster kunt raadplegen, kunnen in verschillende formaten worden **afgedrukt** of **gedeeld**. De keuze hangt af van de ontvanger: papier voor offlinegebruik, PDF voor verspreiding per e-mail, iCal voor een elektronische agenda, een weblink voor rechtstreekse raadpleging. Voor een cijfermatige analyse van de volumes in een spreadsheet telt het **Dashboard** de uren op en exporteert het die naar CSV / XLSX. #### Afdrukken De knop Afdrukken (boven aan de weergave) opent het afdrukvoorbeeld met een opmaak die voor papier is geoptimaliseerd: - de lessen worden **niet ingekleurd**: Omniscol drukt alleen de **gekleurde omtrek** ervan af op een witte achtergrond, om inkt te besparen en toch het visuele houvast van de kleuren te behouden, - de marges, de afdrukstand en het formaat zijn afgestemd op A4 / Letter, - de kop bevat de naam van de instelling, de aanduiding van het geraadpleegde rooster (leerling, klas, lokaal…) en het datumbereik. Het afdrukvoorbeeld gebruikt het afdruksysteem van de browser — alles wat die kan (eigen PDF-export, printerkeuze, dubbelzijdig afdrukken enzovoort) is dus beschikbaar. #### Exporteren naar PDF Omniscol biedt **speciale knoppen voor PDF-export**, die een rooster netjes opmaken. De meest volledige vindt u in het scherm Visualiseren van Roosterbeheer (zie [Visualiseren, dupliceren, herordenen](#page-timetables.visualize-duplicate)). De **tabelweergave** van een rooster (zie [Roosterweergave](#page-schedules.schedule-display)) biedt eveneens een PDF-export, naast CSV en Excel. Anders kunt u in de meeste moderne browsers via de afdrukfunctie een PDF maken (`Microsoft Print to PDF`, `Save as PDF`, `Afdrukken naar bestand`). Goede werkwijze: gebruik de PDF voor eenmalige mededelingen (het sturen van een weekrooster naar een ouder bijvoorbeeld) en de deellink voor terugkerende mededelingen (de PDF ligt vast, de link volgt de wijzigingen). #### Analyseren in een spreadsheet (CSV / XLSX) Twee wegen leiden naar de spreadsheet. **Vanaf het raadpleegscherm** zet u de weergave van het rooster om in een **tabel** (zie [Roosterweergave](#page-schedules.schedule-display)): die weergave in spreadsheetstijl drukt u af, kopieert en plakt u, en exporteert u rechtstreeks naar **CSV**, **Excel / XLSX** of **PDF**. **Voor een geaggregeerde analyse van de volumes** gaat u via het **Dashboard**, dat de uren per docent, per vak, per klas of per lokaal over de gekozen periode berekent en dezelfde export naar **CSV** (universeel) of **XLSX** (voorgeformatteerd voor Excel) aanbiedt. Typische toepassingen van deze spreadsheetexport: - de gegeven uren per docent, per vak, per klas tellen; - een extern HR-systeem voeden (loonadministratie, urenregistratie); - verschillen opsporen tussen geplande en werkelijk gedraaide diensturen. Zie [Tabellen en grafieken gebruiken](#page-dashboard.tools-and-filters) en [Docentenstatistieken](#page-dashboard.teachers). Om de lessen zelf in machineleesbaar formaat op te halen, biedt het delen een **JSON-weergave (API)**; zie [Een rooster delen via een openbare link](#page-schedules.share-link). #### Exporteren naar iCal Om een rooster dynamisch te delen met een elektronische agenda (Google Calendar, Apple Calendar, Outlook) gebruikt u het **iCal-abonnement** in plaats van een eenmalige export. De ontvanger ziet de wijzigingen doorlopend. Zie [iCal — abonnement en dynamische link](#page-integrations.ical). Het deelvenster toont ook een **QR-code** die klaar is om te scannen: de ontvanger richt de telefoon op het computerscherm om zich op de agenda te abonneren zonder een adres in te typen. Wilt u toch een vast `.ics`-bestand voor archivering, dan is de eenmalige export eveneens beschikbaar vanuit het deelvenster. #### Filteren vóór het exporteren De exports respecteren de **actieve filters** van de huidige weergave: hebt u op een bepaalde klas of op een bepaald datumbereik gefilterd, dan bevat de export alleen die selectie. Voor een ruimere export (het hele jaar, alle klassen) past u de filters daarop aan voordat u de export start. #### Stappenplan — Een rooster afdrukken of delen 1. **Twee soorten uitvoer vanaf het raadpleegscherm**: het afdrukken (PDF) voor een vaste verspreiding, en het delen (web, iCal, JSON) voor een dynamische verspreiding. De cijfermatige analyse in een spreadsheet loopt daarentegen via het Dashboard. 2. **Filter eerst** de weergave op het gewenste bereik: klas, docent, lokaal, datumbereik, lestype. Het afdrukken en het delen respecteren de actieve filters — een smal filter = een smalle uitvoer. 3. **Voor een PDF** (verzending per e-mail, archivering): het meest volledig is de PDF-export van het scherm Visualiseren (zie [Visualiseren, dupliceren, herordenen](#page-timetables.visualize-duplicate)); vanuit de raadpleging opent de knop Afdrukken het afdrukvoorbeeld (lessen zonder kleurvulling, kop met schoolnaam + roosteraanduiding + datumbereik), waaruit u eveneens een PDF kunt maken. 4. **In het afdrukvenster van de browser** kiest u **Save as PDF** / **Microsoft Print to PDF** / **Afdrukken naar bestand**. De PDF ligt vast: hij volgt latere wijzigingen van het rooster niet. Voor iets dynamisch geeft u de voorkeur aan de **deellink** (zie [Openbare deellinks](#page-schedules.share-link)). 5. **Voor een analyse in een spreadsheet**: zet het rooster om in een **tabel** voor een rechtstreekse export (CSV / XLSX / PDF, zie [Roosterweergave](#page-schedules.schedule-display)), of open het **Dashboard** voor de geaggregeerde volumes — uren per docent / vak / klas — en exporteer vervolgens naar CSV of XLSX (zie [Docentenstatistieken](#page-dashboard.teachers)). 6. **Voor een elektronische agenda** geeft u de voorkeur aan het **iCal-abonnement** boven het vaste bestand: de ontvanger ziet de bijwerkingen doorlopend (zie [iCal](#page-integrations.ical)). #### Zie ook - [Roosterweergave](#page-schedules.schedule-display) - [Visualiseren, dupliceren, herordenen](#page-timetables.visualize-duplicate) - [iCal — abonnement en dynamische link](#page-integrations.ical) - [Een rooster delen via een openbare link](#page-schedules.share-link) - [Import en export](#page-admin.import-export) ### 5.6 Een rooster delen via een openbare link *Source: `help/nl/schedules/share-link.md` · id: schedules.share-link · Audience: admin/teacher · Plan: standard · Updated: 2026-05-15* De module **Rooster** biedt een knop Delen die ondertekende URL's genereert voor het rooster dat u raadpleegt. De ontvanger opent de weblink en ziet het rooster alleen-lezen, zonder zich aan te melden. Het is de snelste manier om een rooster te bezorgen aan iemand die geen Omniscol-account heeft — meestal een ouder van een leerling, een externe partner of een administratieve dienst. #### Formaten die bij het delen worden gegenereerd Afhankelijk van de context en uw rechten kan het deelvenster meerdere URL's aanbieden: - **responsieve webpagina** — een doorbladerbare weergave in portaalstijl, met week-, dag- en lijstweergave, - **iCal-feed `.ics`** — om zich te abonneren vanuit Google Calendar, Apple Calendar of Outlook, - **JSON (API)** — voor ontwikkelaars en machine-naar-machine- integraties, wanneer dat formaat is toegestaan. De ontvanger kiest wat hem of haar uitkomt: een ouder opent de webpagina of abonneert zich via iCal, een ontwikkelaar gebruikt de JSON. #### Wat kunt u delen? Delen blijft niet beperkt tot het raadpleegscherm van de roosters: hetzelfde pictogram Delen staat op tal van schermen van Omniscol. **Met alleen-lezenrechten** kunt u het volgende delen: - het **individuele rooster** van een leerling of van een docent, - het **rooster van een volledige klas**, van een **lokaal** of van een **vak**, - de **dienstroosters** van de module Personeelsinzet, - het **dashboard** en het **bijhouden van de afwezigheden**, - de schermen voor **weergave** en **reorganisatie** van een rooster. **Met lees- en schrijfrecht** — het enige geval — deelt u het scherm voor de **invoer van de beschikbaarheid** van docenten (en van het personeel): met de speciale link kan iedereen zijn of haar beschikbaarheid invullen tot aan de vervaldatum, **zonder Omniscol-account en zonder wachtwoord**. Het is de enige deling die invoer toestaat en niet louter raadpleging. Elke ondertekende URL bevat het gevraagde bereik en een vervaldatum. #### De link aanmaken Klik in het raadpleegscherm op Delen in de werkbalk. Het venster biedt: - **Vervaldatum** — de datum tot waarop de gegenereerde links geldig blijven. - **Tabbladen Web, iCal en JSON** — zichtbaar afhankelijk van de formaten die voor de huidige selectie zijn gegenereerd. Daarna kopieert u de gewenste URL. Voor de web- en iCal-links kan het venster ook een afdrukbare **QR-code** tonen. #### Een deling beperken Kies een korte vervaldatum voor eenmalig gebruik. Een link wordt gedragen door het account dat hem heeft gegenereerd. Om de bestaande links van een account ongeldig te maken, gebruikt u de middelen die echt werken: - het wachtwoord van het houderaccount wijzigen of opnieuw instellen; - het houderaccount uitschakelen of verwijderen. Tip: voor delingen die door een roosterteam worden beheerd, kunt u een **duidelijk herkenbaar serviceaccount** gebruiken (bijvoorbeeld `roosterverspreiding`) in plaats van het persoonlijke account van een collega. Dat account draagt dan de verantwoordelijkheid voor de uitgegeven links; de toegang en het wachtwoord ervan moeten als administratieve toegang worden beheerd. Weblinks zijn alleen-lezen, behalve de hierboven beschreven link voor de **invoer van de beschikbaarheid** van docenten, die invoer toestaat tot aan de vervaldatum zonder toegang te geven tot het Omniscol-account. #### Beveiliging - De link bevat een ondertekend token met een hoog beveiligingsniveau. - Hij geeft **uitsluitend toegang tot de gedeelde resource** (rooster of scherm), niet tot het volledige account. - De geldigheid wordt begrensd door de gekozen vervaldatum. - De links worden ongeldig als het wachtwoord van het houderaccount verandert, ook als het nieuwe wachtwoord in leesbare vorm identiek is. - De links werken niet meer als het houderaccount wordt uitgeschakeld of verwijderd. - Iedereen die over de URL beschikt, kan het gedeelde bereik raadplegen tot de vervaldatum of tot de link ongeldig wordt gemaakt. #### Verschil met een beperkt Omniscol-account Als u gegevens tussen teams wilt delen, bijvoorbeeld met de boekhouding, kunnen de twee opties met elkaar lijken te concurreren. - **Ondertekende openbare link** = geen aanmelding, eenvoudige toegang, snel delen. - **Beperkt Omniscol-account** = eigen aanmelding, langere looptijd, beheer van een gebruikersaccount, met de mogelijkheid van [aangepaste rollen](#page-admin.customroles). Geef de voorkeur aan de link voor eenmalig gebruik en aan een beperkt account voor gestructureerd gebruik op langere termijn. #### Stappenplan — Een deellink aanmaken 1. **Een deellink** geeft alleen-lezen toegang tot een rooster zonder aanmelding. Ideaal voor een ouder, een externe partner of een administratieve dienst. 2. **Open het rooster dat u wilt delen** in de module Rooster: leerling, klas, lokaal, docent of vak. Het raadpleegscherm is het vertrekpunt. 3. Klik op Delen in de werkbalk. Er opent een venster met de deelopties. 4. **Kies de vervaldatum.** Hoe breder de link circuleert, hoe dichterbij die datum zou moeten liggen. 5. **Kopieer het nuttige formaat.** Web voor rechtstreekse raadpleging, iCal voor een agenda-abonnement, JSON als er een API-integratie is voorzien. De URL is meteen bruikbaar: wie hem opent, ziet het gedeelde bereik alleen-lezen, zonder aanmelding. 6. **Bij ongewenste verspreiding** maakt u met een ander account een nieuwe, beperktere link aan en maakt u de links van het oorspronkelijke account ongeldig door het wachtwoord ervan te wijzigen of, als dat gepast is, door het uit te schakelen. #### Zie ook - [Openbare deellinks](#page-portal.share-links) - [iCal — abonnement en dynamische link](#page-integrations.ical) - [Gastportaal (openbare links)](#page-portal.guest-portal) --- ## 6. Afwezigheden en vervangingen ### 6.1 Overzicht van de module Afwezigheidsbeheer *Source: `help/nl/absences/overview.md` · id: absences.overview · Audience: admin/teacher/student/staff · Plan: standard · Updated: 2026-06-13* De module **Afwezigheidsbeheer** centraliseert het melden en het opvolgen van de onbeschikbaarheden die de weergave van de roosters moeten wijzigen: docenten, klassen, leerlingen en, als Personeelsinzet is geactiveerd, personeelsleden. #### Beheerde entiteiten | Afwezige entiteit | Effect op het rooster | | --- | --- | | **Docent** | Les **geannuleerd** wanneer de afwezige docent de enige is die de les geeft, tenzij er een **vervanger** wordt aangewezen (die verschijnt dan naast de doorgestreepte vaste docent). Zijn er **onderwijsassistenten** aan de les toegewezen, dan blijft de les **behouden**: alleen de afwezige docent wordt verwijderd, de andere betrokken docenten nemen de les over. | | **Klas** | De lessen van de afwezige klas worden voor de betrokken periode uit de weergave gehaald. | | **Leerling** | De lessen blijven staan voor de klas; de afwezigheid betreft de weergave en de opvolging van de leerling. | | **Personeel** | Alleen beschikbaar wanneer Personeelsinzet actief is; werkt als een afwezigheid van een entiteit uit de personeelsplanning. | De schoolvakanties van het jaar worden niet als afwezigheden ingevoerd: ze worden beheerd in het schooljaar. #### Bewijsstukken De module voorziet niet in het **uploaden van bewijsstukken**: het beheer van roosters is er niet op gericht om gevoelige gegevens te bewaren (medische attesten, beroepsgeheim), het richt zich op de planning. Moet u toch een bewijsstuk koppelen, sla het dan op in uw gebruikelijke opslagruimte en plak de **link in het veld Opmerking** van de afwezigheid. #### Statussen - **geaccepteerd**: de afwezigheid is goedgekeurd en wordt in de weergaven meegenomen. - **in behandeling**: aanvraag gemeld door de betrokken gebruiker, nog goed te keuren door een beheerder. - **afgewezen**: afgewezen aanvraag. - **afgebroken**: aanvraag ingetrokken door de indiener. Alleen afwezigheden met de status **geaccepteerd** hebben effect: ze wijzigen de weergave van de roosters, markeren de getroffen lessen (geannuleerd waar van toepassing) en leveren de gegevens voor de **statistieken** en de **exports** van afwezigheden (zie [Afwezigheden opvolgen en exporteren](#page-absences.statistics)). De overige statussen — in behandeling, afgewezen, afgebroken — blijven zonder effect op het rooster. #### Indeling van de schermen De module biedt tabbladen per entiteitstype: - **Docenten**: afwezigheden van docenten en het beheer van de vervangingen. - **Klassen**: afwezigheden van klassen, beheerd door de beheerders. - **Leerlingen**: individuele afwezigheden van leerlingen. - **Personeel**: afwezigheden van personeel, als Personeelsinzet is geactiveerd. Elk scherm toont de afwezigheden van de periode, hun status, de getroffen lessen wanneer die informatie beschikbaar is, een tijdsnavigatie en een exporteerbare lijst voor de beheerders. #### Vereisten - Minstens één gepubliceerd rooster voor het betrokken schooljaar. - Voor afwezigheden van docenten: de docenten moeten aan lessen zijn toegewezen. - Voor afwezigheden van leerlingen: de leerlingen moeten aan klassen zijn toegewezen. - Voor afwezigheden van personeel: Personeelsinzet moet actief zijn. #### Stappenplan — Kennismaken met de module Afwezigheidsbeheer 1. Open de module **Afwezigheidsbeheer** via de hoofdnavigatie. 2. Kies het tabblad van de betrokken entiteit: docenten, klassen, leerlingen of personeel, afhankelijk van de geactiveerde modules. 3. Gebruik Een afwezigheid melden om het formulier te openen: afwezige entiteit, data, tijdsbereik, reden, opmerking en status, afhankelijk van uw rechten. 4. Open bij een geaccepteerde afwezigheid van een docent Vervangingsbeheer om de betrokken lessen te zien en losse vervangers of vervangingsregels toe te wijzen. 5. Beheerders kunnen met de knop Tabel de getoonde tabel exporteren. #### Zie ook - [Een afwezigheid melden](#page-absences.declaring) - [Vervangingsbeleid](#page-absences.substitution-policies) - [Afwezigheid](#page-glossary.absence) - [Vervanging / Invalbeurt](#page-glossary.substitution) ### 6.2 Een afwezigheid melden (beheerder / docent / leerling) *Source: `help/nl/absences/declaring.md` · id: absences.declaring · Audience: admin/teacher/student/staff · Plan: standard · Updated: 2026-06-13* #### Wie kan een afwezigheid melden? | Rol | Voor wie? | Beginstatus | | --- | --- | --- | | **Beheerder** | Docent, klas, leerling of personeelslid | geaccepteerd standaard, aanpasbaar | | **Docent** | Alleen zichzelf | in behandeling | | **Leerling** | Alleen zichzelf | in behandeling | | **Personeel** | Alleen zichzelf, als Personeelsinzet actief is | in behandeling | Afwezigheden van klassen zijn administratieve handelingen: het aanmaken en het wijzigen ervan zijn voorbehouden aan beheerders. #### Velden van het formulier De knop Een afwezigheid melden opent het formulier. Opslaan doet u met Toevoegen. - **Entiteit**: zichtbaar voor beheerders; de andere rollen kunnen alleen hun eigen afwezigheid melden. - **Datumbereik**: begindatum en einddatum. Voor een afwezigheid van één dag gebruikt u tweemaal dezelfde datum. Wordt het einde niet door de interface ingevuld, dan neemt Omniscol het einde van het schooljaar als technische grens: gebruik die grens niet om een werkelijk openstaande afwezigheid vast te leggen. - **Tijdsbereik**: standaard de hele dag, of specifieke tijdsloten. - **Optionele filters**: - **Klas** om een afwezigheid van een docent tot bepaalde klassen te beperken. - **Vak** om alleen de lessen van een bepaald vak te selecteren. - **Toewijzing** voor afwezigheden van personeel, als Personeelsinzet actief is. - **Reden**: gekozen uit de voorgestelde lijst; beheerders kunnen ook een eigen reden invoeren. - **Opmerking**: korte vrije tekst. - **Status**: alleen beheerders kunnen de status vrij instellen (standaard status **geaccepteerd**). Voor de andere rollen krijgt de aanvraag de status **in behandeling** en wacht die op de goedkeuring van een beheerder; de indiener kan de eigen aanvraag wel op de status **afgebroken** zetten om die in te trekken. #### Stappenplan — Eerste afwezigheid van een docent 1. Open het tabblad Docenten van de module Afwezigheidsbeheer. 2. Klik op Een afwezigheid melden. 3. Selecteer de betrokken docent als u beheerder bent. Een docent die de eigen afwezigheid meldt, heeft geen toegang tot de keuzelijst met andere docenten. 4. Vul de datums in. Voor één dag zet u dezelfde datum als begin en als einde. 5. Laat **Hele dag** staan of bepaal de betrokken tijdsloten als de afwezigheid slechts een deel van de dag betreft. 6. Kies de reden, voeg zo nodig een opmerking toe en sla vervolgens op met Toevoegen. 7. Als de afwezigheid is geaccepteerd en een docent betreft, open dan het vervangingsbeheer met Vervangingsbeheer om een vervanger toe te wijzen of een vervangingsregel te definiëren. #### Een aanvraag in behandeling valideren Wanneer een docent, een leerling of een personeelslid de eigen afwezigheid meldt, staat de aanvraag in behandeling. Beheerders kunnen die accepteren of weigeren via de snelknoppen geaccepteerd en afgewezen, of door het detailscherm te openen. #### Latere wijzigingen - Een beheerder kan de datums, de tijden, de reden, de opmerking en de status wijzigen. - De indiener kan een eigen toekomstige afwezigheid wijzigen; de wijziging zet de aanvraag opnieuw op de status in behandeling. - De indiener kan de eigen aanvraag intrekken. #### Zichtbaarheid Dat een entiteit afwezig is, kan zichtbaar zijn in de roosters of in de module Afwezigheidsbeheer, afhankelijk van de leesrechten. De details van de reden, de opmerking, de aanmaakgegevens en de status worden niet voor alle rollen op dezelfde manier getoond: gebruikers die geen beheerder zijn, zien niet noodzakelijk de details van andermans afwezigheden. #### Zie ook - [Vervangingsbeleid](#page-absences.substitution-policies) - [Eenmalige vervanging van een les](#page-absences.single-lesson-replacement) - [Afwezigheid](#page-glossary.absence) ### 6.3 Vervangingsbeleid *Source: `help/nl/absences/substitution-policies.md` · id: absences.substitution-policies · Audience: admin · Plan: standard · Updated: 2026-06-13* Met een **vervangingsbeleid** dekt u meerdere lessen af die door dezelfde afwezigheid van een docent worden getroffen. Zo hoeft u niet per les een vervanger te kiezen wanneer een eenvoudige regel volstaat. #### Toegang Open Vervangingsbeheer op de rij van een afwezigheid van een docent. Het paneel toont de lessen die door de afwezigheid worden getroffen en de opgeslagen vervangingsregels. Lessen zonder vervanger blijven gemarkeerd als getroffen door de afwezigheid van de vaste docent. #### Twee regelniveaus ##### Eenmalige vervanging Bij een bepaalde les kunt u met Een vervanger toewijzen een vervanger kiezen die alleen voor die les geldt. Deze toewijzing gaat vóór het langlopende beleid. ##### Langlopend beleid In de sectie Langetermijnvervangingen van het paneel maakt u met de knop Een vervanger toewijzen een vervangingsregel aan. Voor elke regel vult u het volgende in: - de **vervanger**; - een **begindatum** en een **einddatum** van de geldigheid; - **tijdsloten** als de regel niet de hele dag geldt; - eventueel **vakken**; - eventueel **klassen**; - een **opmerking** voor intern gebruik. Meerdere regels kunnen naast elkaar bestaan. Ze worden toegepast in de weergegeven volgorde; herschik ze door ze te verslepen als de prioriteit verandert. #### Het paneel lezen De lijst met lessen laat zien welke vervanger elke les afdekt. Komt een regel met geen enkele les van de afwezigheid overeen, dan toont het paneel een waarschuwing bij die regel: corrigeer de datums, de tijdsloten, de vakken of de klassen. #### Typisch geval: langdurige afwezigheid met gedeelde vervanging Bij een afwezigheid van meerdere weken: 1. Maak een eerste regel aan met de hoofdvervanger, zonder filter op vak of klas. 2. Voeg een tweede, gerichtere regel toe, bijvoorbeeld beperkt tot één vak of één tijdslot. 3. Zet de meest specifieke regel vóór de algemene regel als die voorrang moet krijgen. #### Stappenplan — Een langdurige afwezigheid verdelen 1. Open de afwezigheid van de docent met Vervangingsbeheer. 2. Klik op Een vervanger toewijzen. 3. Kies de hoofdvervanger, stel de geldigheidsdatums in en sla de regel vervolgens op. 4. Voeg een aanvullende regel toe als bepaalde lessen door een andere vervanger moeten worden gegeven. 5. Controleer de lijst met getroffen lessen. Bij elke les moet de verwachte vervanger staan; niet-afgedekte lessen blijven zichtbaar als niet vervangen. 6. Bevestig het paneel met Toewijzen. #### Zie ook - [Een afwezigheid melden](#page-absences.declaring) - [Eenmalige vervanging van een les](#page-absences.single-lesson-replacement) - [Vervanging / Invalbeurt](#page-glossary.substitution) ### 6.4 Eenmalige vervanging van een les *Source: `help/nl/absences/single-lesson-replacement.md` · id: absences.single-lesson-replacement · Audience: admin · Plan: standard · Updated: 2026-06-13* Een **eenmalige vervanging** wijst een vervanger toe aan één enkele les die door de afwezigheid van een docent wordt getroffen. U regelt dit in het paneel voor vervangingsbeheer van de afwezigheid. Dit mechanisme verplaatst de les niet, genereert uit zichzelf geen notificatie en biedt geen keuze uit meerdere annuleringsscenario's. Het voegt een vervanger toe aan de betrokken les; de afwezige vaste docent blijft zichtbaar als vervangen docent. #### Toegang 1. Open het tabblad Docenten van de module Afwezigheidsbeheer. 2. Klik bij de betrokken afwezigheid op Vervangingsbeheer. 3. Gebruik in de lijst met getroffen lessen Een vervanger toewijzen bij de les die u wilt vervangen. Het paneel toont de lessen die onder de afwezigheid vallen en de vervangingsregels die al zijn ingesteld. #### Effect van de eenmalige vervanging - De gekozen vervanger geldt alleen voor die ene les. - Het lokaal, de klas, de datum en het tijdstip van de les worden door deze actie niet gewijzigd. - De eenmalige vervanging gaat vóór de algemene vervangingsregels van dezelfde afwezigheid. - Als er geen vervanger wordt toegewezen, blijft de les getroffen door de afwezigheid van de docent. #### De vervanger kiezen De keuzelijst is gebaseerd op de docenten die beschikbaar zijn voor het betrokken tijdslot. Controleer zelf of de keuze past bij het vak, de vestiging en de interne organisatie van de school voordat u bevestigt. #### Een eenmalige vervanging verwijderen Is een eenmalige vervanging per vergissing toegevoegd, gebruik dan [xmark]. De les valt dan terug op de toepasselijke langlopende vervangingsregel, of blijft zonder vervanger als geen enkele regel past. #### Stappenplan — Een les laten vervangen 1. Maak een geaccepteerde afwezigheid van een docent aan of open er een. 2. Klik op Vervangingsbeheer. 3. Zoek de te behandelen les op in de lijst met getroffen lessen. 4. Klik op Een vervanger toewijzen, kies de vervanger en bevestig het paneel vervolgens met Toewijzen. 5. Controleer de weergave van de les: de afwezige vaste docent moet doorgestreept blijven en de vervanger moet op de les verschijnen. #### Zie ook - [Vervangingsbeleid](#page-absences.substitution-policies) - [Een afwezigheid melden](#page-absences.declaring) - [Meerdaagse afwezigheden](#page-absences.multi-day) - [Vervanging / Invalbeurt](#page-glossary.substitution) ### 6.5 Meerdaagse afwezigheden *Source: `help/nl/absences/multi-day.md` · id: absences.multi-day · Audience: admin · Plan: standard · Updated: 2026-06-13* Een **meerdaagse afwezigheid** is een afwezigheid die met een begindatum en een einddatum wordt gemeld. Daarmee dekt u een aaneengesloten periode af zonder voor elke les een afzonderlijke afwezigheid aan te maken. Omniscol bepaalt vervolgens welke lessen binnen de periode vallen. Bij een afwezigheid van een docent kunnen die lessen zonder vervanging blijven, door een vervangingsbeleid worden gedekt, of met eenmalige vervangingen worden bijgestuurd. #### De periode melden Vanuit het tabblad Docenten van de module Afwezigheidsbeheer: - selecteer de betrokken docent; - vul de begindatum en de einddatum in; - laat de hele dag staan of geef de betrokken tijdsloten op; - kies de reden; - voeg zo nodig een opmerking toe; - sla op met Toevoegen. #### De getroffen lessen afhandelen Na de melding: - open Vervangingsbeheer; - controleer de lijst met lessen die door de afwezigheid worden getroffen; - maak een of meer regels aan met Een vervanger toewijzen als dezelfde vervangingslogica zich herhaalt; - gebruik Een vervanger toewijzen op een afzonderlijke les voor uitzonderingen per les. **Vervangingsregels** zijn het mechanisme dat voor lange afwezigheden bedoeld is. Een regel **zonder filter** geldt voor **alle** lessen in de periode; voeg een klas, een vak, tijdsloten of data toe om de regel tot een deel daarvan te beperken. Om **alles zonder vervanging te laten**, maakt u geen enkele regel aan: de lessen waarbij de afwezige docent de enige is die de les geeft, worden dan gedurende de periode geannuleerd. #### Afwezigheid op terugkerende tijdsloten Een afwezigheid die maar bepaalde tijdsloten van een lange periode raakt — bijvoorbeeld elke maandagochtend gedurende twee maanden — meldt u **in één keer**: kies een ruim datumbereik en geef daarna de betrokken **tijdsloten** op (en zo nodig een klas of een vak). Omniscol selecteert dan over de hele periode alleen de lessen die op die tijdsloten vallen: u hoeft niet elke afzonderlijke datum in te voeren. #### Opvolging en export In de afwezigheidstabel kunnen beheerders de weergegeven rijen exporteren met Tabel. Voor de opvolging die in de module beschikbaar is, zie [Afwezigheden opvolgen en exporteren](#page-absences.statistics). #### Stappenplan — Een lange afwezigheid beheren 1. Meld de afwezigheid met een begindatum en een einddatum. 2. Als de afwezigheid niet hele dagen beslaat, geef dan de betrokken tijdsloten op. 3. Sla de melding op. 4. Open Vervangingsbeheer. 5. Voeg de nodige vervangingsregels toe en controleer daarna de lijst met getroffen lessen. 6. Gebruik eenmalige vervangingen alleen voor de lessen die van de algemene regels moeten afwijken. #### Zie ook - [Een afwezigheid melden](#page-absences.declaring) - [Vervangingsbeleid](#page-absences.substitution-policies) - [Eenmalige vervanging van een les](#page-absences.single-lesson-replacement) - [Afwezigheden opvolgen en exporteren](#page-absences.statistics) ### 6.6 Afwezigheden van klassen en leerlingen *Source: `help/nl/absences/class-and-student-absences.md` · id: absences.class-and-student-absences · Audience: admin/teacher/staff · Plan: standard · Updated: 2026-06-13* De module Afwezigheidsbeheer maakt onderscheid tussen afwezigheden van **hele klassen** en afwezigheden van **individuele leerlingen**. Beide volgen hetzelfde meldingsprincipe, maar hun effect op het rooster is niet hetzelfde. #### Afwezigheid van een hele klas Typische gevallen: schooluitstapje, schoolreis, gezamenlijke stage, examendag. Klasafwezigheden worden beheerd door de beheerders. Op het tabblad Klassen kunt u in het formulier het volgende invullen: - de betrokken klas; - het datumbereik; - het tijdsbereik als de afwezigheid niet de hele dag beslaat; - eventueel een vak om het effect te beperken tot de betrokken lessen; - een reden; - een opmerking. Bij een terugkerend rooster haalt een geaccepteerde klasafwezigheid de lessen van die klas voor de betrokken periode uit de weergave. #### Afwezigheid van een individuele leerling Typische gevallen: ziekte, medische afspraak, familieomstandigheden, geoorloofde of ongeoorloofde afwezigheid. Een afwezigheid van een leerling: - betreft de geselecteerde leerling; - markeert de lessen in die periode als **geannuleerd** in het rooster van de leerling, zonder die van de klas of die van de docenten te verwijderen; - kan worden gemeld door een beheerder of door de betrokken leerling, afhankelijk van diens rechten; - krijgt de status in behandeling wanneer de leerling deze zelf meldt. #### Zichtbaarheid Beheerders beschikken over het volledige overzicht. De andere rollen zien een beperkte versie op basis van hun rechten: het bestaan van een afwezigheid kan zichtbaar zijn zonder dat de reden, de opmerking of de metagegevens van de goedkeuring worden getoond. #### Stappenplan — Een klasafwezigheid melden 1. Open het tabblad Klassen van de module Afwezigheidsbeheer. 2. Klik op Een afwezigheid melden. 3. Selecteer de klas, de data en de betrokken tijden. 4. Voeg de reden toe en, indien nodig, een opmerking. 5. Sla op. De lessen van deze klas worden voor de geaccepteerde periode uit de weergave gehaald; de andere klassen behouden hun lessen. #### Stappenplan — Een afwezigheid van een leerling melden 1. Open het tabblad **Leerlingen**. 2. Selecteer de betrokken leerling als u beheerder bent. 3. Vul de data, de tijden, de reden en de opmerking in. 4. Sla op. Als de leerling het verzoek zelf heeft aangemaakt, blijft het in behandeling tot het is goedgekeurd. 5. Zodra het is geaccepteerd, worden de lessen in die periode als **geannuleerd** gemarkeerd in het rooster van de leerling en meegeteld in de registratie en de statistieken van die leerling. De andere leerlingen van de klas worden niet beïnvloed. #### Zie ook - [Een afwezigheid melden](#page-absences.declaring) - [Afwezigheden opvolgen en exporteren](#page-absences.statistics) - [Meerdaagse afwezigheden](#page-absences.multi-day) - [Eenmalige evenementen](#page-schedules.events) ### 6.7 Afwezigheden opvolgen en exporteren *Source: `help/nl/absences/statistics.md` · id: absences.statistics · Audience: admin · Plan: standard · Updated: 2026-06-13* De opvolging van afwezigheden vindt u op verschillende plaatsen die elkaar aanvullen: de module Afwezigheidsbeheer voor de operationele opvolging, het **Dashboard** voor de geaggregeerde statistieken en de module Beheer voor de historie van een leerling. Die laatste twee weergaven tellen alleen afwezigheden met de status **geaccepteerd** mee. #### Opvolging in de module Afwezigheidsbeheer Afhankelijk van het tabblad en de gekozen periode toont het scherm: - de entiteiten die in de periode afwezig zijn; - de statussen van de aanvragen, met tellers; - de lessen die getroffen worden door afwezigheden met de status geaccepteerd; - een navigatie per week, maand, schooljaar of datumbereik; - de lijst met afwezigheden in tabelvorm. Bij een afwezigheid van een docent voegt het vervangingsbeheer (Vervangingsbeheer) de getroffen lessen en de aangewezen vervangers toe. Beheerders exporteren de getoonde tabel met Tabel: entiteit, data, tijdstippen, eventueel het vak, reden, opmerking en status afhankelijk van de rechten — handig voor een intern overzicht of voor verdere verwerking buiten Omniscol. #### Statistieken in het Dashboard Voor **volumes en percentages** opent u het **Dashboard**. Het tabblad Leerlingen telt per leerling en over de periode de **uren**, **lessen** en **afwezigheidsdagen** op, samen met het bijbehorende **afwezigheidspercentage**, exporteerbaar als CSV / XLSX (zie [Leerling- en resourcestatistieken](#page-dashboard.students-resources)). Aan de kant van de **docenten** weerspiegelt het tabblad Docenten het effect van de afwezigheden op de diensturen: de kolom **Geannuleerde lessen** telt de uren die wegvallen (een afwezigheid zonder vervanging annuleert de les) en **Overuren** de extra uren. Elke kolom vermeldt het aantal betrokken lessen en biedt een tooltip die ze in detail toont (vak, klas, dag en uur); bij een les die door een afwezigheid is geannuleerd, staat daar ook de reden, als die is ingevuld. Ook dit tabblad is exporteerbaar als CSV / XLSX (zie [Docentenstatistieken](#page-dashboard.teachers)). #### Historie in Beheer In de module Beheer geven zowel de fiche van een **leerling** als die van een **docent** een overzicht van de afwezigheden van die leerling of docent in het schooljaar en bieden ze hun eigen tabelexport — handig voor een individuele opvolging of voor een gesprek (met het gezin bij een leerling, met de betrokkene bij een docent). #### Beperkingen om rekening mee te houden - Alleen afwezigheden met de status **geaccepteerd** tellen mee in de weergave en de statistieken; die met de status **in behandeling**, **afgewezen** of **afgebroken** blijven louter informatief. - Redenen en opmerkingen kunnen verborgen zijn, afhankelijk van de rol van de lezer. #### Stappenplan — Een export voor de opvolging maken 1. Open het betrokken tabblad van de module Afwezigheidsbeheer. 2. Selecteer de periode die u wilt controleren. 3. Controleer indien nodig de statussen en de getroffen lessen. 4. Klik op Tabel. 5. Gebruik het geëxporteerde bestand voor uw interne controles of uw verdere verwerking. 6. Voor **volumes en een afwezigheidspercentage** per leerling opent u het Dashboard, tabblad Leerlingen (zie [Leerling- en resourcestatistieken](#page-dashboard.students-resources)). #### Zie ook - [Overzicht van de module Afwezigheidsbeheer](#page-absences.overview) - [Afwezigheden van klassen en leerlingen](#page-absences.class-and-student-absences) - [Vervangingsbeleid](#page-absences.substitution-policies) - [Leerling- en resourcestatistieken](#page-dashboard.students-resources) --- ## 7. Personeelsinzet ### 7.1 Overzicht van de module Personeelsinzet *Source: `help/nl/staffing/overview.md` · id: staffing.overview · Audience: admin/staff · Options: staffing · SKU: omniscol/staffing-only · Updated: 2026-06-13* > **Option: Personeelsinzet** De module **Personeelsinzet** dient om het personeel **per taak** te plannen in plaats van per les: denken in “wie dekt welke post op welk moment” in plaats van “wie geeft welk vak”. De module vult de onderwijsroosters aan wanneer de instelling leerlingenbegeleiding, toezicht, studie-uren, examens of begeleidingsactiviteiten moet organiseren. #### Belangrijkste toepassing: leerlingenbegeleiding en onderwijsassistenten De module is ontstaan uit de al lang bestaande behoefte van de teams voor toezicht en begeleiding: leerlingcoördinatoren, onderwijsassistenten, toezichthouders en medewerkers die in de loop van de dag een veelheid aan posten bemannen, los van de lessen. Voorbeelden: - toezicht houden in de gangen; - de in- en uitgangen van de instelling controleren; - de receptie bemannen; - toezicht houden op het schoolplein tijdens de pauzes; - tussen de middag toezicht houden in de kantine; - de studie-uren en de studiezaal verzorgen; - de mediatheek, de leerlingenruimte of een werkplek begeleiden of bewaken; - leerlingen naar buiten begeleiden, bijvoorbeeld bij een sportuitje dat uitsluitend aan bevoegde personen wordt toevertrouwd; - losse wisseltijden tussen de lessen dekken; - examens, toelatingsexamens of bijzondere dagen begeleiden. Een taak beschrijft een aanwezigheidsbehoefte. Anders dan een les heeft ze geen vak, geen lesprogramma en geen verplichte groep leerlingen. Het raster is vaak veel fijner dan een onderwijsrooster: bij toezicht en begeleiding is het kwartier gebruikelijk. De behoefte kan in de loop van de dag sterk wisselen: 0 personen op het schoolplein tijdens de lessen, 3 personen tussen de middag, 1 persoon de hele middag in de mediatheek. #### De schermen van de module ##### Raster Het raster legt het tijdskader van de dienst vast: werkdagen, tijdslots — vaak fijner dan een tijdrooster voor de lessen — en de perioden van het jaar waarin het geldt. Het dient als werkmodel voordat u de namen invult. De vestigingen en hun onderlinge afstanden voert u op dezelfde plek in: ze dienen om onverenigbare toewijzingen tussen ver uit elkaar gelegen plaatsen te signaleren. Zie [Een inzetrooster opbouwen](#page-staffing.building-grids). ##### Toewijzingen Het scherm Toewijzingen definieert de te dekken posten of taken: label, vereist en ideaal aantal personen, prioriteit, vestiging, toegestaan personeel en compatibiliteiten tussen taken — bijvoorbeeld twee aangrenzende gangen die dezelfde persoon tijdens een rustig tijdslot bij onderbezetting kan dekken. De behoeften kunnen per tijdslot verschillen. Zie [De te dekken taken definiëren](#page-staffing.assignments). ##### Planner De planner wijst de personeelsleden toe aan de werkelijke taken van een week of van een datumbereik. Toewijzen gebeurt door te selecteren, te verplaatsen, te dupliceren en handmatig te corrigeren. Afwezigheden, niet-beschikbaarheid, conflicten en toewijzingen van niet-toegestane personen verschijnen als waarschuwingen. Zie [Het personeel toewijzen](#page-staffing.planner). ##### Rooster Het dienstrooster geeft iedere persoon de eigen takenlijst of de eigen week in rastervorm. Het kan worden afgedrukt, geëxporteerd of gedeeld, afhankelijk van de rechten en de verspreidingswijze die de instelling kiest. Het toont de totalen die helpen bij het lezen van de week en behoudt de signalen voor afwezigheid of niet-beschikbaarheid. Zie [Dienstroosters](#page-staffing.roster). #### Wat de module controleert - de beschikbaarheid van de personen; - de gemelde afwezigheden; - de toegewezen werklast; - het toegestane personeel voor elke taak; - conflicten met andere taken of aanwezigheden; - de samenhang van de behoeften per vestiging en per tijdslot, rekening houdend met de afstanden tussen vestigingen. De personeelsplanning is **handmatig**: het raster, de waarschuwingen en de correctiehulpmiddelen begeleiden elke toewijzing, die u zelf in de hand houdt. Omniscol plaatst het personeel niet automatisch. #### Operationeel voordeel De winst komt vooral voort uit de centralisatie: - een gedeeld behoefteraster in plaats van een losstaande spreadsheet; - toewijzingen die per week aanpasbaar zijn; - het dupliceren van stabiele weken; - afwezigheden die zichtbaar zijn in de planning van het personeel; - dienstroosters die afdrukbaar of deelbaar zijn; - minder overleg heen en weer tussen de leerlingenbegeleiding, de toegewezen personen en de administratie. In een instelling met een duizendtal leerlingen wijst de praktijkervaring op ongeveer 20 uur bespaard administratief werk per week. > “Wij hebben voor Omniscol gekozen om het planningsbeheer van onze > afdeling voor toezicht en begeleiding te digitaliseren (het rooster > van de onderwijsassistenten). De oplossing bleek intuïtief, volledig > en perfect afgestemd op onze behoeften. Iedereen ziet duidelijk waar > hij is ingezet.” > > — Jeanne Weeber, adjunct-directeur Collège Sévigné (opgericht in 1880), Parijs #### Andere toepassingen - **Surveillance bij examens**: tentamenperioden, eindexamens, toelatingsexamens, meerdere dagen, meerdere lokalen, behoefte aan surveillanten per toets. - **Studie-uren en studiezaal**: toezichtposten die variëren naargelang het verwachte aantal leerlingen. - **Begeleiding bij montessorionderwijs en actieve onderwijsvormen**: activiteiten of workshops die gedekt moeten worden zonder de structuur van een klassieke les op te leggen. - **Roosters voor begeleiders en taken**: buitenschoolse opvang, naschoolse activiteiten, internaat, planning georganiseerd per opdracht. - **Begeleiding van uitstapjes**: schoolreis, excursie, bezoek aan een instelling. - **Incidentele aanwezigheden**: ouderavond, open dag, rapportvergadering. #### Verschil met een les Een les heeft een vak, een groep leerlingen of studenten en een gekwalificeerde docent. Een taak binnen Personeelsinzet staat voor een **aanwezigheidsbehoefte**: er moet iemand op deze post staan, met de juiste beschikbaarheid en, zo nodig, de bevoegdheid om die post te vervullen. Dit verschil verklaart waarom de module werkt met behoefterasters, toewijzingen van personen en dienstroosters, in plaats van uit te gaan van een verdeling vak / klas / docent. #### Reikwijdte van de module Een account met Personeelsinzet omvat: - de module Personeelsinzet: rasters, taken, planner, dienstroosters; - de module Afwezigheidsbeheer voor het inzetbare personeel; - de beheerschermen die nodig zijn voor accounts en rollen; - de overkoepelende zoekfunctie, afhankelijk van de rechten van het account. #### Rol *Personeel* De rol **Personeel** is bedoeld voor de teams voor toezicht en begeleiding (leerlingcoördinatoren, onderwijsassistenten, toezichthouders, conciërges). Afhankelijk van de rechten van het account geeft de rol toegang tot Personeelsinzet, tot de persoonlijke planning en tot de afwezigheden van het personeel, zonder de volledige algemene configuratie van de school te openen. Eén gebruiker kan meerdere rollen combineren: zo kan een docent die betrokken is bij een actieve onderwijsvorm tegelijk docent en personeelslid zijn, ingepland per taak. #### Zie ook - [Een inzetrooster opbouwen](#page-staffing.building-grids) - [De te dekken taken definiëren](#page-staffing.assignments) - [Het personeel toewijzen](#page-staffing.planner) - [Dienstroosters](#page-staffing.roster) - [Overzicht van de module Afwezigheidsbeheer](#page-absences.overview) - [Personeelsinzet](#page-glossary.staffing) - [Studie-uren en studiezaal (schoolonderwijs)](#page-k12.study-halls) ### 7.2 Een inzetrooster opbouwen *Source: `help/nl/staffing/building-grids.md` · id: staffing.building-grids · Audience: admin/staff · Options: staffing · SKU: omniscol/staffing-only · Updated: 2026-06-26* > **Option: Personeelsinzet** Een **inzetrooster** legt het tijdskader van de dienst vast: de werkdagen, de tijdsloten en de periodes van het jaar waarin het geldt. Dit is de stap die **vóór** het aanwijzen van de personen komt — u zet het kader neer, de af te dekken taken beschrijft u daarna in het scherm Toewijzingen, en het invullen gebeurt in de planner. Samen met de behoeften die op elke taak zijn vastgelegd, beantwoordt het inzetrooster vragen als “hoeveel mensen op het schoolplein om 10 uur?” of “welke tijdsloten moet de leerlingenbegeleiding deze week afdekken?”. #### Een inzetrooster aanmaken Het tabblad Raster van de module Personeelsinzet toont de bestaande inzetroosters en hun verdeling over het jaar. Voor elk inzetrooster vult u in: - de **naam** — kort en herkenbaar, bijvoorbeeld `Standaardweek`, `Toetsweek 1`, `Vakantie`; - de **Werkdagen** — bijvoorbeeld maandag tot en met vrijdag voor de standaardweek, of een specifieke selectie voor een toetsweek; - het **Tijdrooster** — de tijdsloten van het inzetrooster, die u vrij bepaalt. Bij toezicht en begeleiding is het kwartier gebruikelijk, en deze tijdsloten kunnen fijner zijn dan die van de lessen. De knop Roosterverdeling wijst vervolgens elk inzetrooster toe aan de weken of datumbereiken van het jaar die het afdekt. Bij de eerste opening krijgt u een leeg inzetrooster aangeboden. Om een extra inzetrooster aan te maken, dupliceert u een bestaand inzetrooster met Dupliceren, hernoemt u het en past u het aan. #### De taken en hun behoeften vastleggen De taken zelf — label, aantal personen, vestiging, toegestaan personeel — legt u vast in het scherm Toewijzingen: zie [De te dekken taken definiëren](#page-staffing.assignments). Voor elke taak geeft de behoefte-editor daarna tijdslot per tijdslot op het inzetrooster aan hoeveel personen er worden verwacht (0 = geen behoefte). De behoefte kan sterk verschillen per tijdstip: 0 personen op het schoolplein tijdens de lessen, 3 personen tussen de middag voor de kantine, 1 persoon in de mediatheek de hele middag. #### Vestigingen en afstanden Telt uw instelling meerdere vestigingen, leg ze dan onderaan het scherm Raster vast met hun onderlinge afstanden. Een taak op een ver gelegen vestiging geeft een waarschuwing zodra dezelfde persoon elders wordt verwacht zonder voldoende reistijd. #### Compatibiliteiten bij onderbezetting Wanneer de beschikbare bezetting krapper is dan ideaal (een veelvoorkomend geval: opeenvolgende afwezigheden, examenperiodes), kunt u **compatibiliteiten** tussen naburige taken vastleggen: dezelfde persoon kan dan twee taken tegelijk afdekken. Typisch voorbeeld: `gang 2` + `gang 3` zijn samen te voegen — dezelfde persoon kan op beide toezicht houden. U legt dat vast op de taak, in het scherm Toewijzingen, om de afwegingen bij het toewijzen te sturen. Leg geen compatibiliteit vast om een onderbezetting blijvend te verhullen. De compatibiliteit moet overeenkomen met een situatie die de instelling in de praktijk ook echt aanvaardt. #### Sjablonen voor inzetroosters Beheert u elke week dezelfde planningsstructuur, dan kunt u **een bestaand inzetrooster dupliceren** om niet vanaf nul te beginnen. Terugkerende gevallen: - **Standaardweek** — het referentie-inzetrooster (van het begin tot het einde van het schooljaar). - **Vakantieweek** — minder taken, kleiner team. - **Toetsweek** — toezicht in collegezalen dat bovenop de gewone taken komt. - **Bijzondere dag** — open dag, excursie, intern evenement, rapportvergadering of speciale ontvangst. #### De samenhang controleren vóór het toewijzen Voordat u naar de stap van de toewijzing gaat, gebruikt u het inzetrooster als operationele checklist: - dekken de taken werkelijk elke relevante periode af? - zijn de behoeften realistisch ten opzichte van het beschikbare team? - houden de posten over meerdere vestigingen rekening met de reistijden? - komen de beperkingen op toegestaan personeel overeen met de mensen die er daadwerkelijk bevoegd voor zijn? - blijven de compatibiliteiten tussen taken aanvaardbaar, ook bij onderbezetting? Is het inzetrooster eenmaal goedgekeurd, ga dan naar de stap **toewijzing**. Zie [Het personeel toewijzen](#page-staffing.planner). #### Stappenplan — Een inzetrooster opbouwen 1. **Een inzetrooster** beschrijft het kader van de dienst over het jaar: werkdagen, tijdsloten, vestigingen. 2. **Maak een inzetrooster aan.** Geef het een korte naam (`Standaardweek`). Selecteer de werkdagen en bepaal daarna de tijdsloten — doorgaans per kwartier voor de begeleiders. U kunt ook een bestaand inzetrooster dupliceren om niet vanaf nul te beginnen. 3. **Verdeel het inzetrooster over het jaar** met Roosterverdeling: elk inzetrooster dekt de weken of datumbereiken waarin het geldt (standaardweek, toetsweken, vakantie). 4. **Leg de vestigingen vast** als uw instelling er meerdere heeft. Met de afstanden tussen vestigingen kunnen onverenigbare toewijzingen worden gesignaleerd. 5. **Sla het inzetrooster op** en beschrijf daarna de taken en hun behoeften tijdslot per tijdslot in het scherm Toewijzingen. Zie [De te dekken taken definiëren](#page-staffing.assignments). 6. **Volgende stap: het personeel toewijzen** in de planner. Zie [Het personeel toewijzen](#page-staffing.planner). #### Zie ook - [Overzicht van de module Personeelsinzet](#page-staffing.overview) - [De te dekken taken definiëren](#page-staffing.assignments) - [Het personeel toewijzen](#page-staffing.planner) ### 7.3 De te dekken taken definiëren *Source: `help/nl/staffing/assignments.md` · id: staffing.assignments · Audience: admin/staff · Options: staffing · SKU: omniscol/staffing-only · Updated: 2026-06-13* > **Option: Personeelsinzet** Het scherm Toewijzingen dient om de taken of posten te definiëren die de module Personeelsinzet moet dekken. Het is een configuratiestap: u beschrijft de behoeften voordat u de personen toewijst in de [Planner](#page-staffing.planner). De **verspreiding** naar het personeel volgt daarna, via het Rooster (zie [Dienstroosters](#page-staffing.roster)). #### Wat een taak beschrijft Een taak kan het volgende bevatten: - een duidelijk label: `Receptie`, `Schoolplein`, `Kantine`, `Examensurveillance collegezaal A`; - een vereist minimumaantal personen en een ideaal aantal; - een prioriteitsniveau; - een vestiging of een plaats; - de specifieke lijst van personeelsleden die de taak mogen uitvoeren (leeg = al het personeel); - compatibiliteitsregels met andere taken; - gedetailleerde behoeften, tijdslot per tijdslot, op het inzetrooster. De taak moet nauwkeurig genoeg zijn om begrijpelijk te zijn in de planner en in het dienstrooster dat aan het personeel wordt verstrekt. Veelvoorkomende voorbeelden: - `Gang 2`; - `Receptie noordingang`; - `Schoolplein`; - `Kantine`; - `Studiezaal lokaal B12`; - `Examensurveillance collegezaal A`; - `Sportuitje sportpark Noord`. #### Behoeften en toegestaan personeel De behoeften geven aan hoeveel personen een taak moeten dekken, tijdslot per tijdslot op het inzetrooster (0 = geen behoefte), naast de vereiste minimumbezetting en de ideale bezetting van de taak. De lijst met toegestaan personeel beperkt wie in aanmerking komt: reserveer die voor posten die een bevoegdheid of een bijzondere vaardigheid vereisen — een sportuitje, specifiek toezicht, een bijzondere receptietaak, toegang tot een vestiging. Deze gegevens voorkomen dat de toewijzing verwordt tot een simpele namenlijst: Omniscol bewaart het verband tussen de post, de behoefte en de personen die de post mogen dekken. Beperk bij een gevoelige taak het toegestane personeel in plaats van op een mondelinge instructie te vertrouwen: de planner signaleert dan elke toewijzing van een niet-toegestane persoon. #### Compatibiliteiten tussen taken Sommige taken die dicht bij elkaar liggen, kunnen door dezelfde persoon worden gedekt als de instelling dat toestaat. Voorbeeld: twee aangrenzende gangen tijdens een rustig tijdslot. Geef deze compatibiliteiten alleen op wanneer ze overeenkomen met een echte werkafspraak. Een te ruime compatibiliteit maakt de planning minder leesbaar en kan onderbezetting verhullen. Vermijd het samenvoegen van posten die ver uit elkaar liggen alleen omdat er iemand ontbreekt. #### Import en hergebruik van de structuur Wanneer er al veel taken bestaan, kunt u op dit scherm tijd besparen met de functies voor import en hergebruik van de structuur die in de module beschikbaar zijn. Controleer na de import de labels, de behoeften en het toegestane personeel voordat u naar de planner gaat. Een nette import moet labels opleveren die de toegewezen personen meteen kunnen lezen. Als u interne codes importeert, hernoem die dan vóór de verspreiding. #### Waarom taken en planner gescheiden blijven De scheiding voorkomt dat twee beslissingen door elkaar lopen: - **de behoefte definiëren**: welke posten er bestaan, waar, met welke regels; - **de personen toewijzen**: wie deze posten dekt gedurende een bepaalde week of periode. Wanneer de structuur weinig verandert, maakt deze scheiding het mogelijk dezelfde taken opnieuw te gebruiken en alleen de personen of de uitzonderingen aan te passen. #### Stappenplan 1. Open Personeelsinzet > Toewijzingen. 2. Maak de te dekken taken aan of importeer ze. 3. Controleer de labels die voor het team zichtbaar zijn. 4. Vul de behoeften, de vestigingen en het toegestane personeel in. 5. Geef uitsluitend de compatibiliteiten op die daadwerkelijk zijn aanvaard. 6. Sla op en open daarna de planner om de personen te benoemen. #### Zie ook - [Een inzetrooster opbouwen](#page-staffing.building-grids) - [Het personeel toewijzen](#page-staffing.planner) - [Dienstroosters](#page-staffing.roster) - [Overzicht van de module Personeelsinzet](#page-staffing.overview) - [Overzicht van de module Afwezigheidsbeheer](#page-absences.overview) ### 7.4 Het personeel toewijzen *Source: `help/nl/staffing/planner.md` · id: staffing.planner · Audience: admin/staff · Options: staffing · SKU: omniscol/staffing-only · Updated: 2026-06-13* > **Option: Personeelsinzet** De Planner dient om de personen aan te wijzen die de in het inzetrooster vastgelegde taken dekken. Dit is het operationele werkscherm: een week kiezen, de cellen invullen, de waarschuwingen wegwerken en opslaan. #### Handmatige toewijzing Voor elk tijdslot en elke taak plaatst u de beschikbare personeelsleden in de bijbehorende cel. Omniscol signaleert de situaties die controle vragen: - een afwezige persoon; - een opgegeven onbeschikbaarheid of beperking; - een persoon die elders al is toegewezen; - een persoon die niet is toegestaan voor de taak; - een weekbelasting die aandacht vraagt. De planner is ontworpen voor de dagelijkse praktijk van de leerlingenbegeleiding: studenten die als toezichthouder werken en van wie de beschikbaarheid wisselt, examenperiodes, 's ochtends gemelde afwezigheden, posten die snel opnieuw gedekt moeten worden en teams die eerlijk verdeeld moeten worden. Het plannen is **handmatig**: de waarschuwingen, het dupliceren en de correctiehulpmiddelen begeleiden de opbouw van de planning. Omniscol plaatst het personeel niet automatisch. #### De waarschuwingen lezen De kleuren en de tooltips geven aan waarom een toewijzing controle verdient: afwezigheid, onbeschikbaarheid, een andere taak op hetzelfde tijdslot, een niet-toegestane persoon of overschrijding van de diensturen. Via het weekoverzicht keert u terug naar de betrokken cel. De waarschuwingen zijn ingedeeld naar ernst: een rood conflict vraagt om onmiddellijke correctie; een eenvoudige waarschuwing wijst op een situatie die u volgens de regels van de instelling moet afwegen. #### Correctiehulpmiddelen De planner biedt onder meer de mogelijkheid om: - per week en per dag te navigeren; - naar behoefte één dag of de hele week weer te geven; - een week naar een andere week te dupliceren wanneer de structuur zich herhaalt, waarbij u zo nodig filtert welke dagen of taken worden overgenomen; - een gummodus in te schakelen om een cel, een rij of een kolom te wissen; - een recente correctie ongedaan te maken; - de wijzigingen op te slaan. Personen die op een cel zijn vergrendeld, blijven bij de volgende handmatige correcties op hun plaats staan. #### Dupliceren zonder vanaf nul te beginnen Wanneer de structuur stabiel is, dupliceert u de vorige week en corrigeert u alleen de uitzonderingen: een afwezigheid, een eenmalige onbeschikbaarheid, een gewijzigd examen, een excursie of een versterkte behoefte op een post. Dat is de gebruikelijke werkwijze: zo hoeft u niet elke week de hele leerlingenbegeleiding met de hand opnieuw op te bouwen. Gebruik voor afwijkende weken een passend inzetrooster: vakanties, examens, een open dag of een periode met een kleinere bezetting. #### Afwezigheden Afwezigheden van personeel die in de module Afwezigheidsbeheer zijn gemeld, worden bij de toewijzing meegenomen. Een afwezige persoon kan als waarschuwing verschijnen op de al ingeplande taken, waardoor u ziet welke posten opnieuw gedekt moeten worden. Afwezigheden maken het probleem zichtbaar op de juiste plaats: de beheerder of de coördinator wijst de taak vervolgens met kennis van zaken opnieuw toe. #### Werklast De planner berekent per persoon en per dag gegevens over de dienst, met name de gedekte periodes en de duur ervan. Gebruik die aanwijzingen om te voorkomen dat één persoon te veel tijdsloten op zich neemt of dat de zware taken altijd bij hetzelfde team terechtkomen. #### Delen De planner kan worden gedeeld volgens de deelopties die op het account beschikbaar zijn. Om iedere persoon de eigen planning te bezorgen, gebruikt u liever het [dienstrooster](#page-staffing.roster): dat is beter leesbaar en bedoeld om af te drukken of te verspreiden. #### Stappenplan 1. Open Personeelsinzet > Planner. 2. Kies de week of het datumbereik waaraan u werkt. 3. Controleer of het juiste inzetrooster actief is. 4. Wijs de personen toe in de cellen. 5. Behandel de waarschuwingen over beschikbaarheid, afwezigheid of niet-toegestaan personeel. 6. Dupliceer de week als de structuur zich herhaalt. 7. Sla op en open daarna het dienstrooster voor de verspreiding. #### Zie ook - [Een inzetrooster opbouwen](#page-staffing.building-grids) - [De te dekken taken definiëren](#page-staffing.assignments) - [Dienstroosters](#page-staffing.roster) - [Overzicht van de module Afwezigheidsbeheer](#page-absences.overview) ### 7.5 Dienstroosters aanmaken en delen *Source: `help/nl/staffing/roster.md` · id: staffing.roster · Audience: admin/staff · Options: staffing · SKU: omniscol/staffing-only · Updated: 2026-05-18* > **Option: Personeelsinzet** Het Rooster toont de taken die aan één persoon of aan het voltallige personeel zijn toegewezen in de geselecteerde periode. Het dient om de planning te verspreiden nadat het toewijzingswerk is afgerond. Dit is het scherm dat eenvoudig antwoord moet geven op de vraag: “waar moet ik zijn, hoe laat en voor welke taak?” #### Twee weergaven - **Lijstweergave**: taken geordend per dag en in chronologische volgorde, met de informatie die van pas komt bij individuele raadpleging. - **Rasterweergave**: de week in tabelvorm, met de tijdsloten in rijen en de dagen in kolommen. Afwezigheden, niet-beschikbaarheid en nuttige opmerkingen blijven zichtbaar, zodat u geen inconsistent dienstrooster verspreidt. De lijstweergave toont de totalen per dag en per week. #### Afdrukken en export Het dienstrooster kan worden afgedrukt. De rasterweergave biedt daarnaast een export in een leesbare tabel, met de mogelijkheid om vanuit het exportvenster een PDF te maken. Afhankelijk van de organisatie van de instelling kan het dienstrooster: - worden afgedrukt om op te hangen; - als PDF worden geëxporteerd; - per e-mail buiten Omniscol worden verstuurd; - rechtstreeks worden geraadpleegd door het aangemelde personeel; - via een link worden gedeeld wanneer die optie op het account wordt gebruikt. Afdrukken blijft gebruikelijk bij een afdeling voor toezicht en begeleiding; hetzelfde scherm dient ook om een PDF op naam klaar te maken, om een weergave aan één persoon te sturen, of om het personeel de eigen planning met het persoonlijke account te laten raadplegen. #### Delen en kalender Het delen kan een weblink en een iCal-abonnement omvatten, afhankelijk van de beschikbare opties. Stel, net als bij de andere deellinks, een vervaldatum in die past bij de doorgegeven periode. Controleer bij een verspreiding op naam altijd of de geselecteerde persoon de juiste is voordat u afdrukt, exporteert of deelt. #### Al het personeel of één persoon U kunt één bepaalde persoon of het voltallige personeel raadplegen. De individuele weergave is geschikt voor verspreiding op naam; de globale weergave dient eerder voor de interne controle vóór verspreiding. #### Stappenplan 1. Open Personeelsinzet > Rooster. 2. Kies één persoon of het voltallige personeel. 3. Selecteer de periode. 4. Kies Lijstweergave of Rasterweergave. 5. Controleer de afwezigheden en eventuele waarschuwingen. 6. Druk af, exporteer of deel volgens de voorziene verspreidingswijze. #### Zie ook - [Het personeel toewijzen](#page-staffing.planner) - [De te dekken taken definiëren](#page-staffing.assignments) - [Openbare deellinks](#page-glossary.share-link) --- ## 8. Beheer ### 8.1 Gebruikers en rollen *Source: `help/nl/admin/users-and-roles.md` · id: admin.users-and-roles · Audience: admin · Updated: 2026-08-07* Het gebruikersbeheer bundelt de accounts die zich bij Omniscol kunnen aanmelden. De belangrijkste weergaven zijn de beheerders, de docenten, de leerlingen en, als de module Personeelsinzet actief is, het personeel. #### Belangrijkste rollen | Technische rol | Label in de interface | Gebruik | | --- | --- | --- | | `admin` | Beheerder | Beheer van het account van de school. | | `teacher` | Docent | Docentenportaal, beschikbaarheid, persoonlijk rooster, eigen afwezigheden. | | `student` | Leerling | Leerlingenportaal, persoonlijk rooster, eigen afwezigheden. | | `staff` | Personeel | Personeel dat door Personeelsinzet wordt ingepland, als die module actief is. | Eén gebruiker kan meerdere rollen combineren. Het menu toont dan de modules die overeenkomen met het geheel van de toegekende rechten. De technische rol `share` bestaat voor bepaalde ondertekende links. Dat is geen gewoon gebruikersaccount: die rol opent een afgebakend bereik, vaak alleen-lezen, via een deel-URL. #### Beschikbare schermen - Beheerders: de beheerdersaccounts. - Personeel: het personeel van de instelling (als de module actief is). - Docenten: docenten en gastdocenten. - Leerlingen: leerlingen, studenten of cursisten, afhankelijk van de terminologie van de instelling. - Alle gebruikers: geconsolideerde weergave van alle accounts. #### Gemeenschappelijke velden Het gebruikersformulier beheert onder meer: - voornaam, achternaam en geslacht; - geboortedatum; - e-mail en telefoon; - externe identificatie / registratienummer; - inlognaam, gegenereerd volgens de instellingen van het account; - rollen; - opmerking. Er verschijnen extra velden afhankelijk van de rol: diensturen, vakken en de externe status voor de docenten; plaatsingen in de klassen en groepen voor de leerlingen; dienstinstellingen voor het personeel. #### Lijstacties Afhankelijk van de geselecteerde rol biedt het scherm: - Gegevens importeren voor het in bulk importeren of wijzigen; - Gebruiker uitnodigen om uitnodigingen te versturen; - Wachtwoord wijzigen om wachtwoorden in te stellen; - E-mail verzenden om een bericht te versturen; - Toewijzen aan een klas en Groepen voor de leerlingen. Welke acties zichtbaar zijn, hangt af van de beschikbare API's, van het type account en van de rechten van de aangemelde gebruiker. > _Option: Aangepaste rollen_ #### Aangepaste rollen De optie **Aangepaste rollen** voegt beperkte beheerrollen toe voor beheerdersaccounts. Daarmee sluit u bepaalde modules of bepaalde handelingen uit voor een account dat maar een deel van het bereik hoeft te beheren. Zie [Aangepaste rollen](#page-admin.customroles). Om niet de handelingen maar de gegevens af te bakenen — een campus, een opleiding, een rooster — opent dezelfde optie de [domeinen](#page-admin.planning-domains), die u aan het account toekent als een rol en die daarbovenop komen. #### Deellinks Openbare links en ondertekende deellinks vereisen niet noodzakelijk dat u een gebruikersaccount aanmaakt. De weblinks naar een rooster zijn alleen-lezen; sommige gerichte links kunnen toch een beperkte handeling toestaan, bijvoorbeeld het invullen van de beschikbaarheid van een docent tot een vervaldatum. #### Stappenplan — Een groep gebruikers uitnodigen 1. Open het scherm dat bij de rol past: docenten, leerlingen, personeel of alle gebruikers. 2. Selecteer de betrokken regels. 3. Klik op Gebruiker uitnodigen. 4. Controleer of elke gebruiker een inlognaam en een e-mailadres heeft. 5. Verstuur de uitnodigingen. De gebruikers stellen daarna hun wachtwoord in via de ontvangen link. #### Zie ook - [Architectuur en rollen](#page-overview.architecture-and-roles) - [Uw gebruikers uitnodigen en activeren](#page-getting-started.inviting-users) - [Aangepaste rollen](#page-admin.customroles) - [Domeinen](#page-admin.planning-domains) - [Personeelsleden beheren](#page-admin.staff) ### 8.2 Beheerders beheren *Source: `help/nl/admin/admins.md` · id: admin.admins · Audience: admin · Updated: 2026-08-07* Het scherm **Beheerders** is de gefilterde weergave van de gebruikers die de beheerdersrol hebben (zie de rollentabel in [Gebruikers en rollen](#page-admin.users-and-roles)). Deze rol geeft toegang tot de configuratiehandelingen van de school: gebruikers, roosters, afwezigheden, instellingen, import, export en publicatie. #### Een beheerder aanmaken Gebruik Een beheerder toevoegen vanuit de lijst. Het formulier is dat van de gebruikers: - voornaam en achternaam; - geslacht; - e-mail en telefoon, indien nuttig; - externe identificatie / registratienummer, als uw school daarmee werkt; - inlognaam, gegenereerd volgens de instellingen van het account; - beheerdersrol; - opmerking. Het aangemaakte account heeft al een inlognaam. Om die persoon toegang te geven, opent u de bijbehorende fiche in de lijst met gebruikers: u kunt een **wachtwoord instellen** (Wachtwoord), een **e-mail verzenden** (E-mail verzenden) en het account **activeren of deactiveren** (Activeren). Aanmelden via een identiteitsprovider (SSO) blijft een alternatief, zie [OIDC / SSO](#page-integrations.oauth2). #### Meerdere rollen combineren Eén account kan meerdere rollen hebben. Een coördinator kan tegelijk docent en beheerder zijn: die persoon behoudt het docentenportaal en heeft daarnaast toegang tot de beheerschermen. Met aangepaste rollen kunt u de handelingen beperken die een beheerder mag uitvoeren. Zonder aangepaste rol blijft de beheerdersrol onbeperkt. Om de gegevens te beperken waarop een beheerder werkt — een campus, een opleiding, een rooster — kent u het account een [planningsdomein](#page-glossary.planning-domain) toe, naast de rollen. Zie [Domeinen](#page-admin.planning-domains). #### Beheerderstoegang intrekken Om de beheerdersrechten in te trekken, bewerkt u het account en verwijdert u de beheerdersrol. Vermijd het aanmaken van een tweede account voor dezelfde persoon, tenzij het echt niet anders kan: het combineren van rollen op één gebruiker is precies daarvoor bedoeld. Zorg altijd dat er minstens één werkend beheerdersaccount overblijft voordat u de rechten van de andere beheerders wijzigt. #### Stappenplan — Een beheerder aanmaken 1. Open Beheerders. 2. Klik op Een beheerder toevoegen. 3. Vul de identiteitsgegevens in, plus het e-mailadres als u die persoon een bericht wilt sturen, en controleer daarna of de beheerdersrol aanwezig is. 4. Sla op. U moet **uw eigen** beheerderswachtwoord invoeren telkens wanneer u een beheerdersaccount aanmaakt of wijzigt, als veiligheidsmaatregel. 5. Selecteer het account indien nodig in de lijst om **een wachtwoord in te stellen**, **een e-mail te verzenden** of de toegang te **activeren / deactiveren**, afhankelijk van uw uitrolmethode. #### Zie ook - [Gebruikers en rollen](#page-admin.users-and-roles) - [Aangepaste rollen](#page-admin.customroles) - [Domeinen](#page-admin.planning-domains) - [OIDC / SSO](#page-integrations.oauth2) ### 8.3 Aangepaste rollen voor het beheer *Source: `help/nl/admin/customroles.md` · id: admin.customroles · Audience: admin · Options: customroles · Updated: 2026-08-07* > **Option: Aangepaste rollen** Met **aangepaste rollen** beperkt u de rechten van een beheerdersaccount. Het principe werkt aftrekkend: u vertrekt van een beheerbereik en haalt daar vervolgens de modules of de handelingen weg die de betrokkene niet mag gebruiken. Dit is de optie die u activeert om een deel van het beheer te delegeren zonder alle algemene rechten weg te geven. #### Waarom niet alle beheerrechten geven? De standaard beheerdersrol geeft alle rechten op het account van de school. Voor veel coördinerende functies is dat te veel: - een afwezigheidscoördinator moet de afwezigheden kunnen inzien en beheren, maar niet de roosters of de algemene instellingen wijzigen; - een roostermaker moet de roosters kunnen opbouwen zonder daarom toegang te hebben tot Import/Export; - een HR-dienst moet soms de docentfiches kunnen aanpassen zonder aan de lessen te komen; - een technische dienst kan lokalen, informatieschermen of resources raadplegen zonder de gebruikers te beheren. #### Wat het formulier mogelijk maakt Het scherm **Aangepaste rollen** biedt: - een **rolnaam**; - rechten per module; - rechten per handeling, afhankelijk van wat elke module aanbiedt. De rechten gelden voor de modules en hun handelingen, niet voor de gegevens zelf: een aangepaste rol beperkt de toegang niet tot één bepaalde klas, vestiging, vak of periode. Ze bakent af wat de betrokkene mag doen, niet de gegevens waarop die persoon mag werken. #### Aangepaste rol en planningsdomein De gegevens zijn het werk van het [planningsdomein](#page-glossary.planning-domain). De twee begrippen beantwoorden verschillende vragen en worden samen toegekend: - de aangepaste rol bepaalt **welke handelingen** een beheerder uitvoert; - het domein bepaalt **op welke gegevens** dat gebeurt — welke klassen, welke vestigingen, welke lokalen, welke vakken, welke roosters. Zodra een coördinator de eigen campus, opleiding of instelling moet beheren zonder aan die van de collega's te komen, is het het domein dat de beperking draagt. Zie [Domeinen](#page-admin.planning-domains). #### Een aangepaste rol toewijzen Zodra de rol is aangemaakt, verschijnt hij in de rolkeuzelijsten op de gebruikersfiches. U wijst hem aan een beheerdersaccount toe zoals elke andere rol. Een gebruiker kan meerdere standaardrollen en aangepaste rollen combineren. Die krijgt dan de optelsom van de resterende rechten. #### Typische toepassingen - **Leerlingenbegeleiding / toezichthouders** — rechten op de afwezigheden, op Personeelsinzet en op het raadplegen van de roosters, zonder toegang tot de configuratie. - **Pedagogische coördinatoren** — rechten op de nuttige roosterschermen, zonder de algemene instellingen. - **Technische dienst** — toegang tot lokalen, informatieschermen of resources, afhankelijk van de toegestane handelingen. - **Administratieve medewerkers** — beheer van de leerlingen of docenten zonder toegang tot de gevoelige instellingen. #### Controleerbaarheid De handelingen die met een aangepaste rol worden uitgevoerd, verschijnen in de logs wanneer de logoptie actief is en de betrokken route wordt gelogd. Zie [Activiteitenlogboek (logs)](#page-admin.logs). #### Stappenplan — Een rol “Afwezigheidscoördinator” aanmaken 1. Open **Aangepaste rollen** in het beheer. 2. Maak een rol met de naam `Afwezigheidscoördinator` aan. 3. Sta de nodige acties toe op de module Afwezigheidsbeheer. 4. Behoud het leesrecht op de roosters als de coördinator een afwezigheid in context moet plaatsen, maar haal het wijzigingsrecht weg. 5. Sluit de modules uit die niet toegankelijk mogen zijn, met name Roosterbeheer, de algemene instellingen of Import/Export als die niet tot het beheerbereik van die persoon behoren. 6. Sla op en wijs de rol vervolgens toe aan de betrokken beheerdersaccounts. 7. Als het activiteitenlogboek actief is, controleer dan de handelingen vanuit [Activiteitenlogboek (logs)](#page-admin.logs). #### Zie ook - [Domeinen](#page-admin.planning-domains) - [Gebruikers en rollen](#page-admin.users-and-roles) - [Beheerders beheren](#page-admin.admins) - [Zichtbaarheidsbeperkingen](#page-admin.visibility-restrictions) - [Activiteitenlogboek (logs)](#page-admin.logs) ### 8.4 Planningsdomeinen *Source: `help/nl/admin/planning-domains.md` · id: admin.planning-domains · Audience: admin · Plan: premium · Options: customroles · Updated: 2026-08-07* > **Premium · Option: Aangepaste rollen** Een **planningsdomein** geeft een beheerder een **bereik** — de gegevens die deze persoon beheert — en **rechten** — de handelingen die daarbinnen mogelijk zijn. Op een account dat meerdere campussen, opleidingen of instellingen in één rooster samenbrengt, werkt elke roostermaker zo op het eigen deel, zonder te verdwalen in het geheel of aan dat van de collega's te komen. Een beheerder kan één of meerdere domeinen krijgen. Zolang er geen enkel domein is toegewezen, blijft de volledige toegang tot het account behouden: domeinen bakenen de accounts af die u wilt afbakenen, de overige blijven ongewijzigd. #### Domein of aangepaste rol? De [Aangepaste rollen](#page-admin.customroles) en de domeinen beantwoorden twee verschillende vragen, en ze zijn combineerbaar: - een aangepaste rol bepaalt **welke handelingen** een beheerder uitvoert — welke modules, en of dat inzien, wijzigen of verwijderen is; - een domein bepaalt **op welke gegevens** dat gebeurt — welke klassen, welke vestigingen, welke lokalen, welke vakken, welke roosters. Een aangepaste rol maakt geen onderscheid tussen de ene en de andere klas; een domein wel. U kunt beide aan dezelfde persoon toekennen: de rol begrenst de handelingen, het domein begrenst het werkterrein. Domeinen worden geactiveerd op Premium-accounts, met dezelfde optie als de aangepaste rollen. #### De domeinen openen Domeinen beheert u vanuit de lijst met beheerders. Open in Beheer het scherm **Gebruikers**, tabblad van de beheerders, en vervolgens Domeinen. Alleen een onbeperkte beheerder — zonder domein — opent dit scherm en kent de domeinen toe. Het beheer van de beheerdersaccounts zelf blijft eveneens aan deze beheerder voorbehouden: een roostermaker die door een domein wordt afgebakend, maakt geen beheerdersaccount aan en wijzigt er ook geen. #### Het bereik: welke gegevens Het bereik legt u vast in de sectie Filter. Het is opgebouwd uit dimensies, van de breedste tot de fijnste: - **Campus** en **Vakken** filteren dwars door alles heen: ze gelden voor alles wat de roostermaker aanraakt, ongeacht het rooster; - het **rooster**, en daaronder de **vestigingen** (met hun **lokalen**) en de **klassen** (met hun **groepen**), volgen de structuur van een rooster. Een dimensie die op **Alle** blijft staan, legt geen enkele beperking op. Om ze te beperken kiest u een criterium en een waarde: - **Gelijk aan** — de exacte waarde (een vestiging, een niveau…); - **Begint met** — een voorvoegsel, handig wanneer uw vak- of klascodes de opleiding of de module bevatten (`BA-`, `MOD-INF`…); - **Bevat** — een waarde die in het label voorkomt. Numerieke criteria, zoals de capaciteit van een lokaal, vervangen die varianten door drempels **≥** en **≤** — genoeg om de grote auditoria aan een aparte roostermaker toe te vertrouwen, of ze juist buiten een domein te houden. Elk criterium keert u om naar **Uitsluiten** om weg te nemen in plaats van op te nemen. Een knop **+** voegt binnen dezelfde dimensie een alternatief (“of”) toe — meerdere vestigingen, meerdere niveaus — en de dimensies stapelen op elkaar: een les valt binnen het bereik zodra ze aan **alle** beperkte dimensies voldoet. Elke dimensie biedt de criteria die erbij passen: | Dimensie | Criteria | | --- | --- | | Campus | Naam | | Vakken | Naam, Code, Type les, Familie | | Rooster | Label, Gepubliceerd, Begindatum en Einddatum | | Vestigingen | Naam | | Lokalen | Naam, Gebouw, Specialisatie, Labels, Capaciteit | | Klassen | Naam, Niveau, Vestiging | | Groepen | Naam, Code | Bovenaan het filter opent het oog een Overzicht: Overzicht geeft het aantal gedekte entiteiten en een steekproef, zodat u het bereik kunt nakijken voordat u opslaat. Elke regel heeft er een, om één dimensie afzonderlijk te controleren. #### De rechten: welke handelingen De sectie Rechten biedt twee manieren om het bereik toe te passen: - **Beperken** — “Alleen de gegevens binnen het filter blijven bewerkbaar, met de hieronder aangevinkte rechten.” De roostermaker ziet alles, maar wijzigt alleen het eigen bereik, en enkel volgens de toegekende rechten. - **Verbergen** — “Het filter stelt alleen de weergave in: alle rechten blijven behouden.” Het bereik maakt de weergave lichter zonder iets weg te nemen: handig om zich op de eigen campus te concentreren en toch greep te houden op het geheel. In de modus Beperken legt een matrix de rechten vast. Het principe werkt aftrekkend, net als bij de aangepaste rollen: alles is standaard toegekend, u vinkt uit wat het domein verbiedt. Twee tabellen zijn opgebouwd rond Wijziging, Aanmaken en Verwijdering: - de **entiteiten**: Roosterinstellingen (alleen wijziging), Klassen, Docenten, Lokalen, Vakken en Vestigingen; - de **Lessen**: het aanmaken, wijzigen en verwijderen ervan, en vervolgens, voor de fijnere wijzigingen, de posities in het rooster, de docent, het lokaal, de modaliteit, de videoconferentielink, de status, de duur en de opmerking van een les. Het lokaal, de modaliteit en de videoconferentielink delen hetzelfde venster maar blijven drie afzonderlijke rechten: de keuze tussen fysiek en online toevertrouwen opent nog niet de toewijzing van de lokalen. Het lezen blijft daarentegen altijd open: een domein bakent af wat er wordt geschreven, nooit wat er wordt gezien. #### Wat de roostermaker ziet De roostermaker ziet het volledige rooster — dat is wat het mogelijk maakt om een conflict tussen het eigen bereik en dat van een collega op te merken — maar de lijsten met klassen, lokalen of vakken tonen alleen de eigen entiteiten. Waar elementen worden weggefilterd, geeft een markering **Verborgen door uw domeinen** dat aan, en met één klik toont die markering wat verborgen is en door welk domein. Dat is het rechtstreekse antwoord op een “ik zie dat lokaal niet”: de informatie staat op het scherm. Valt een handeling buiten het bereik, dan weigert Omniscol ze en legt uit waarom: naast het filteren van de weergave volgt bij elke opslag een controle. #### Op het lessenscherm Een bedieningselement dat door een recht wordt verboden, blijft **zichtbaar maar inactief** en verdwijnt nooit: de roostermaker ziet dat de functie bestaat en weet dus waar de grens ligt. Dat geldt overal waar een les wordt gewijzigd — in het rooster, in de fiche van een les en in de tabelweergave. Het menu Acties volgt dezelfde regel, handeling per handeling: lokalen in bulk verwijderen hangt af van het recht op het lokaal, de automatische verdeling van het aanmaakrecht, alle lessen verwijderen van het verwijderrecht. Een massale handeling geldt bovendien alleen voor de lessen binnen het bereik: een selectie die daarbuiten treedt, wordt **bijgesneden**, niet in haar geheel geweigerd, en de roostermaker krijgt daar bericht van. ##### Een rooster genereren De roostergeneratie vraagt een eigen recht: veel gedelegeerde roostermakers beheren hun lessen zonder ooit een roostergeneratie te starten. Wanneer het recht is toegekend, is de reikwijdte van de berekening **beperkt tot het bereik** — de roostermaker kan die verder inperken, nooit verruimen. Dat is wat het resultaat toepasbaar maakt: zonder dat zou een roostergeneratie die een les buiten het bereik verplaatst, bij het opslaan geweigerd worden en zou al het werk verloren gaan. De instellingen van de roostergeneratie vormen een uitzondering op een regel: ze worden opgeslagen met het recht om te genereren, ook zonder het recht op de roosterinstellingen. ##### Een lessentabel importeren De kolommen die de roostermaker niet mag wijzigen, verschijnen als alleen-lezen: de gegevens zijn leesbaar, maar niet aanpasbaar. De klas, het vak en de groep vormen een uitzondering, want dat zijn geen gewone velden: een ervan leegmaken verwijdert de les, en er een wijzigen verplaatst de les naar elders. Die drie kolommen gaan dus pas open met de rechten voor aanmaken, wijzigen **én** verwijderen samen. Valt een regel buiten het bereik, dan wordt de hele import geweigerd en worden de betrokken regels aangeduid. Omniscol verstuurt nooit iets anders dan wat is ingevoerd: een uitdrukkelijke weigering is beter dan een stilzwijgend afgeknotte import. #### Een domein toewijzen Een domein wijst u toe vanuit de fiche van een beheerder, net als een rol. U kunt er meerdere toewijzen: de roostermaker combineert dan de bereiken, elk met zijn eigen rechten. Domeinen vullen elkaar aan zonder in elkaar op te gaan — een handeling is toegestaan zodra één domein ze dekt. Een domein aanmaken, dupliceren of verwijderen gebeurt vanuit hetzelfde scherm: Toevoegen voegt een domein toe, Opslaan slaat op. #### Stappenplan — Een domein “Campus Noord” aanmaken 1. Open Beheer → **Gebruikers**, tabblad van de beheerders, en vervolgens Domeinen. 2. Toevoegen en geef het domein de naam “Campus Noord”. 3. Kies in Filter, op de dimensie Campus, de optie Gelijk aan en de waarde van de campus. Laat de andere dimensies op Alle staan. 4. Controleer de dekking met het oog Overzicht. 5. Behoud de modus Beperken. Vink in de matrix uit wat deze roostermaker niet mag doen — bijvoorbeeld het verwijderen van klassen. 6. Sla op met Opslaan. 7. Wijs het domein toe aan het betrokken beheerdersaccount, vanuit zijn fiche. #### Zie ook - [Aangepaste rollen](#page-admin.customroles) - [Gebruikers en rollen](#page-admin.users-and-roles) - [Beheerders beheren](#page-admin.admins) - [Zichtbaarheidsbeperkingen](#page-admin.visibility-restrictions) ### 8.5 Docenten beheren *Source: `help/nl/admin/teachers.md` · id: admin.teachers · Audience: admin · Updated: 2026-05-15* Het scherm **Docenten** somt de gebruikers op die de rol docent hebben. Afhankelijk van de context van de instelling spreekt men ook van leerkrachten, gastdocenten of opleiders. Dit scherm dient om de accounts aan te maken, om hun gegevens, hun vakken en hun beschikbaarheid te beheren, en om hun rooster te raadplegen. #### Velden van de fiche De fiche van een docent bevat de velden die alle gebruikers gemeen hebben, plus velden die eigen zijn aan docenten: - voornaam, achternaam en geslacht; - geboortedatum; - e-mail en telefoon; - externe identificatie / registratienummer; - inlognaam; - diensturen; - onderwezen vakken; - externe status voor gastdocenten of freelancedocenten; - beschikbaarheid en tijdsbeperkingen; - opmerking. Het tabblad **Rooster** brengt het volledige rooster van de docent samen, over alle schooljaren heen, met de geconsolideerde beschikbaarheid op de achtergrond. Het is een weergave om te raadplegen: de toewijzing van de lessen gebeurt in de roosters. Vanuit de fiche opent de knop **Delen** het deelscherm, dat onder meer een iCal-abonnement levert dat eigen is aan de docent en dat geldt voor alle schooljaren. #### Onderwezen vakken De vakken die aan een docent zijn gekoppeld, dienen om te filteren of om de toewijzingen voor te bereiden. U kiest ze in de lijst met officiële of aangepaste vakken. #### Beschikbaarheid Op het tabblad **Beschikbaarheid** kan de beheerder de beschikbaarheid van een docent invoeren of corrigeren. Afhankelijk van de instellingen van de school verloopt het invoeren wekelijks, via de kalender, gemengd, of is het uitgeschakeld. De docent kan zijn of haar beschikbaarheid ook zelf invoeren vanaf het portaal, als de instelling dat toestaat. #### Massale acties Door docenten in de hoofdlijst te selecteren kunt u ze ook uitnodigen, een wachtwoord voor hen instellen of hun een bericht sturen, afhankelijk van de functies die voor het account zijn ingeschakeld. U kunt ze vooraf filteren. De knop **Gegevens importeren** opent een raster in spreadsheetstijl: daarin voegt u meerdere docenten tegelijk toe, corrigeert of verwijdert u ze, en exporteert u de lijst. Twee kolommen zijn daarin alleen-lezen, uitsluitend bedoeld voor de export: - **Beschikbaarheid**: weergegeven als tekst, precies zoals die is vastgelegd; - **Klassen**: de klassen waarin de docent lessen heeft, geconsolideerd uit de actieve roosters van het lopende jaar. > _Premium_ Docenten kunnen worden gesynchroniseerd vanuit een extern systeem: Synchroniseren opent de afstemming met dat systeem. Zie [Synchronisatie met externe systemen](#page-integrations.extsync). #### Stappenplan — Een docent aanmaken 1. Open Docenten. 2. Klik op Docent toevoegen. 3. Vul de identiteitsgegevens, het e-mailadres, de inlognaam of de externe identificatie in, volgens uw interne regel. 4. Voeg de onderwezen vakken toe. 5. Vul de diensturen in als uw instelling die gebruikt. 6. Sla op en nodig de docent daarna uit als u wilt dat hij of zij zich aanmeldt. #### Zie ook - [Gebruikers en rollen](#page-admin.users-and-roles) - [Leerlingen beheren](#page-admin.students) - [Vakken beheren](#page-admin.subjects) - [Beschikbaarheid van docenten](#page-core-concepts.wishes-and-availability) - [Externe docenten (gastdocenten)](#page-higher-ed.external-faculty) ### 8.6 Leerlingen beheren *Source: `help/nl/admin/students.md` · id: admin.students · Audience: admin · Plan: standard · Updated: 2026-05-15* Het scherm **Leerlingen** somt de gebruikers op die de rol leerling hebben. Afhankelijk van de context van de instelling spreekt men ook van studenten of cursisten. Dit scherm dient om de accounts aan te maken, hun status te volgen en hun plaatsingen in klassen en groepen te beheren, schooljaar per schooljaar. #### Velden van de fiche Een leerlingfiche bevat de velden die alle gebruikers gemeen hebben: - voornaam, achternaam en geslacht; - geboortedatum; - e-mail en telefoon; - externe identificatie / registratienummer; - inlognaam; - opmerking. Wettelijke vertegenwoordigers, bewijsstukken en meldingen aan ouders zijn geen velden van deze fiche. #### Plaatsingen in klassen en groepen De onderwijskundige toewijzingen worden beheerd op het plaatsingstabblad van de leerling. Een plaatsing geeft onder meer aan: - de hoofdklas; - het betreffende schooljaar; - de begin- en einddatum als de plaatsing niet het hele jaar beslaat; - de gevolgde groepen, zo nodig week per week; - eventuele overlappingen die u moet corrigeren. Een leerling kan in de loop van een schooljaar meerdere plaatsingen hebben, bijvoorbeeld na een overstap naar een andere klas, bij een gedeeltelijk traject of bij gedeeltelijk doubleren. #### Massale acties Door leerlingen in de hoofdlijst te selecteren kunt u ze aan een klas toewijzen met **Toewijzen aan een klas** of aan groepen met **Groepen** (als ze tot dezelfde klas behoren), ze uitnodigen, een wachtwoord voor hen instellen, hun een bericht sturen, ze deactiveren wanneer ze de school verlaten of ze definitief verwijderen. U kunt de leerlingen vooraf filteren, met name op de klas waarin ze zijn geplaatst. De knop **Gegevens importeren** opent een raster in spreadsheetstijl: daarin voegt u meerdere leerlingen tegelijk toe of corrigeert u ze, en exporteert u de lijst (CSV, Excel, PDF). Per schooljaar zijn daarin twee kolommen alleen-lezen, uitsluitend bedoeld voor de export: - **Klassen**: de klas of klassen waarin de leerling is geplaatst in het lopende jaar en de volgende jaren; - **Groepen**: de groepen die in het lopende jaar en de volgende jaren worden gevolgd. #### Doubleren en trajecten buiten het curriculum Gedeeltelijk doubleren — een leerling die lessen op twee niveaus volgt — regelt u door die leerling in dezelfde periode in beide betrokken klassen te plaatsen: het rooster van de leerling brengt dan de lessen van beide klassen samen. Omniscol controleert niet of de tijden van die klassen elkaar overlappen; dat moet u zelf nakijken. #### Stappenplan — Een leerling aanmaken en plaatsen 1. Open Leerlingen. 2. Maak de leerling aan of importeer de leerlingen massaal. 3. Open de fiche van de leerling en daarna het plaatsingstabblad van het betreffende schooljaar. 4. Voeg een klas toe, controleer de datums en selecteer zo nodig de gevolgde groepen. 5. Sla de plaatsingen op. 6. Nodig de leerling uit als u wilt dat hij of zij zich op het portaal aanmeldt. #### Zie ook - [Gebruikers en rollen](#page-admin.users-and-roles) - [Klas, groep, subgroep](#page-core-concepts.classes-and-groups) - [Import en export](#page-admin.import-export) ### 8.7 Personeelsleden beheren *Source: `help/nl/admin/staff.md` · id: admin.staff · Audience: admin · Options: staffing · SKU: omniscol/staffing-only · Updated: 2026-06-25* > **Option: Personeelsinzet** Het scherm **Personeel** somt de gebruikers op die de rol **Personeel** hebben. Het verschijnt alleen op accounts met de module **Personeelsinzet**: hier legt u de mensen vast (toezichthouders, begeleiders, onderwijsondersteunend personeel…) die u daarna inplant in [Personeelsinzet](#page-staffing.overview). Dit tabblad dient om de accounts aan te maken en om hun gegevens en hun diensturen te beheren. **De toewijzing aan taken** (studiezaaldiensten, surveillances, examens…) gebeurt daarentegen in de module Personeelsinzet — zie [Toewijzingen](#page-staffing.assignments). #### Velden van de fiche De fiche van een personeelslid bevat de velden die alle gebruikers gemeen hebben, plus enkele velden die eigen zijn aan het personeel: - voornaam, achternaam en geslacht; - geboortedatum; - e-mail en telefoon; - externe identificatie / registratienummer; - inlognaam; - **diensturen** (referentieaantal voor de urenregistratie); - rollen en opmerking. Vanuit de lijst opent u een **gedetailleerde fiche** (Details) om die gegevens per personeelslid te bekijken en aan te vullen. #### Personeelslid en Personeelsinzet De scheiding is bewust: **hier** beheert u de *personen* (het bestand van de personeelsleden), **in [Personeelsinzet](#page-staffing.overview)** beheert u hun *planning* — roosters, taken en toewijzingen. Een personeelslid dat u op dit scherm aanmaakt, wordt selecteerbaar als toegestane begeleider in de [toewijzingen](#page-staffing.assignments). #### Lijstacties Vanuit de lijst voegt Een personeelslid toevoegen een personeelslid toe, en opent Gegevens importeren het **massaal** aanmaken of corrigeren. Met de selectieacties kunt u de personeelsleden ook uitnodigen, wachtwoorden instellen, accounts activeren of verwijderen, afhankelijk van de beschikbare API's. #### Stappenplan — Een personeelslid aanmaken 1. Open Personeel. 2. Klik op Een personeelslid toevoegen. 3. Vul de identiteitsgegevens, het e-mailadres, de inlognaam of de externe identificatie in, volgens uw interne regel. 4. Vul de **diensturen** in als uw school die bijhoudt. 5. Sla op en nodig het personeelslid daarna uit als u wilt dat hij of zij zich op het eigen portaal aanmeldt. 6. Plan daarna zijn of haar taken in [Personeelsinzet](#page-staffing.assignments). #### Zie ook - [Gebruikers en rollen](#page-admin.users-and-roles) - [Docenten beheren](#page-admin.teachers) - [Personeelsinzet — overzicht](#page-staffing.overview) - [Toewijzingen](#page-staffing.assignments) - [Personeelsinzet](#page-glossary.staffing) ### 8.8 Vakken beheren (officiële en aangepaste) *Source: `help/nl/admin/subjects.md` · id: admin.subjects · Audience: admin · Updated: 2026-05-14* Op het scherm **Vakken** beheert u de aangepaste vakken van de school en, als het gemeenschappelijke register actief is, zoekt u er officiële vakken van het ingestelde land op. #### Gemeenschappelijke en aangepaste vakken - De **gemeenschappelijke vakken** komen uit het Omniscol-register voor het land van de school. U kunt ze opzoeken en toevoegen zolang dat register niet is uitgeschakeld. - De **aangepaste vakken** zijn van de school zelf. Ze omvatten de lokale benamingen, modules, keuzevakken of onderwijseenheden die niet in het gemeenschappelijke register staan. #### Velden van een aangepast vak | Veld | Verplicht? | Functie | | --- | --- | --- | | **code** | Ja | Korte codering van het vak, samen met de naam (die lang kan zijn, zeker in het hoger onderwijs). Vaak een officiële referentie — bijvoorbeeld de vakcodes van de onderwijsministeries (Frankrijk, Italië) — meestal in hoofdletters en/of cijfers. | | **naam** | Ja | Volledig label van het vak, zichtbaar in de keuzelijsten voor lessen, op het rooster en in de exports. | | **korte naam** | Nee | Verkort label voor de weergave op het rooster, korter dan de volledige naam. | | **bovenliggend vak** | Nee | Koppelt het vak aan een ander vak om een hiërarchie van vakken op te bouwen. | | **familie** | Nee | Groepeert de vakken. De keuzelijst biedt de standaardfamilies uit het register van het land en de families die eigen zijn aan het account. | | **kleur** | Nee | Kleur voor visuele herkenning. Bij het aanmaken kiest u uit een palet met tinten die op het scherm goed leesbaar zijn; kiest u niets, dan wordt automatisch een kleur berekend op basis van de naam. | Zowel de code als de naam zijn verplicht bij het aanmaken. Vermijd het wijzigen van de code zodra die als referentie dient in uw imports, exports of uitwisselingen met een extern systeem. #### Aanmaken en bewerken in bulk De knop [table] opent het **in bulk** aanmaken en bewerken van de aangepaste vakken: meerdere vakken invoeren of vervangen in één enkele bewerking, in een raster in spreadsheetstijl. Verwijdert u een rij uit het raster en bevestigt u daarna, dan verdwijnt het bijbehorende vak uit de vakkencatalogus: het raster vervangt alle aangepaste vakken door zijn eigen inhoud. In dat raster accepteert het kleurveld een vrije hexadecimale waarde, zonder het palet met tinten dat bij het aanmaken wordt voorgesteld — met het risico van een minder leesbare weergave. Een aangepast vak kunt u verwijderen, ook als het in eerdere of gepubliceerde roosters is gebruikt. Zo kunt u de vakkencatalogus van schooljaar tot schooljaar opschonen zonder die roosters aan te raken: elke klas bewaart een lokale kopie van het label van het vak (naam, korte naam, code), en het rooster behoudt de kleur die eraan was toegekend. Het vak blijft dus zichtbaar nadat het uit de catalogus is verwijderd. Zie [Volledig gegevensmodel](#page-integrations.data-model-full) voor het principe van de lokale kopie. > _Premium_ Als de synchronisatie met een extern systeem is geconfigureerd, opent Synchroniseren de afstemming met dat systeem. Zie [Synchronisatie met externe systemen](#page-integrations.extsync). #### Lestypes Hetzelfde scherm toont ook de eenvoudige lijst met lestypes. Zie [Lestypes](#page-admin.lesson-types). > _Premium_ Ook de lestypes kunnen vanuit een extern systeem worden gesynchroniseerd: Synchroniseren opent de afstemming. Zie [Synchronisatie met externe systemen](#page-integrations.extsync). #### Stappenplan — Een vak toevoegen 1. Open Vakken. 2. Gebruik voor een gemeenschappelijk vak de zoekfunctie van het register als die beschikbaar is. 3. Gaat het om een vak dat eigen is aan de instelling, klik dan op **Aanmaken** met Aanmaken. 4. Vul de code en de naam in, allebei verplicht, en vul daarna de korte naam, de familie, het bovenliggende vak of de kleur aan indien nodig. 5. Sla op. Het vak wordt beschikbaar in de keuzelijsten voor lessen en op de docentfiches. #### Zie ook - [Lestypes](#page-admin.lesson-types) - [Docenten beheren](#page-admin.teachers) - [Vak](#page-glossary.subject) ### 8.9 Lestypes *Source: `help/nl/admin/lesson-types.md` · id: admin.lesson-types · Audience: admin · Updated: 2026-05-14* In de module **Beheer** is een **lestype** een kort label dat aan de lessen wordt gekoppeld om onderwijsvormen als `Hoorcollege`, `Werkcollege`, `Practicum`, `Examen` of `Project` te onderscheiden. De lestypes vormen een lijst met tekstlabels, zonder bijbehorende kleur of pictogram. #### Waar u ze beheert De lijst met lestypes beheert u vanuit het scherm **Vakken** en vanuit het scherm **Instellingen**, in de sectie **Type les**. De gebruikte knoppen zijn: - **Aanmaken** om een nieuw type toe te voegen; - **Opslaan** om de lijst op te slaan. De weergavevolgorde herschikt u door de types te verslepen. #### Parameter “Verplicht lestype” De parameter Verplicht lestype stelt u in op het scherm **Instellingen**. Wanneer die is ingeschakeld, moet het invoeren van een cursus, dat wil zeggen een vak dat in een rooster aan een klas is toegewezen, een type bevatten. Dat is nuttig wanneer u de lessen exporteert naar een ERP dat deze informatie vereist. #### Aanbevelingen - Houd de lijst kort en stabiel. - Vermijd het hernoemen van een type dat in productie wordt gebruikt zonder na te gaan welke imports en exports erop steunen. - Gebruik de types om onderwijsvormen te onderscheiden, niet om de vakken of de modaliteiten van de cursus (op locatie/op afstand) te vervangen. #### Stappenplan — Een type toevoegen 1. Open het scherm **Vakken**. 2. Klik in de sectie **Type les** op **Aanmaken**. 3. Voer het label van het type in. 4. Herschik de lijst indien nodig. 5. Sla op met **Opslaan**. #### Zie ook - [Cursussen, lessen, lestypes](#page-core-concepts.lessons-and-types) - [Vakken beheren](#page-admin.subjects) ### 8.10 Schooljaar en vakanties *Source: `help/nl/admin/school-year.md` · id: admin.school-year · Audience: admin · Plan: standard · Updated: 2026-06-26* In de module **Beheer** bepaalt het scherm **Schooljaren** de periodes waarbinnen roosters, vakanties, afwezigheden en plaatsingen van leerlingen worden geïnterpreteerd. Dit wordt ook het academisch jaar genoemd. #### Een schooljaar aanmaken Een schooljaar bevat: - een **naam**; - een **begindatum**; - een **einddatum**. Bij het aanmaken kan Omniscol voorstellen de gemeenschappelijke vakanties van het ingestelde land te importeren, wanneer er voor de gekozen periode gegevens beschikbaar zijn. U kunt de vakanties uitvinken die voor u niet van toepassing zijn. #### Huidig schooljaar De keuzelijst **Huidig schooljaar** geeft aan welk jaar standaard wordt getoond in de toepassing en op de portalen. Wijzigt u deze waarde, dan verschuift de standaardcontext van de gebruikers. Het is ook het enige jaar dat toegankelijk is voor leerlingen. Houd het huidige schooljaar gelijk aan het jaar dat dagelijks daadwerkelijk in gebruik is. Het volgende jaar bereidt u voor door een nieuw schooljaar aan te maken en de bijbehorende roosters uit te werken, zonder dat jaar te vroeg als huidig schooljaar in te stellen. #### Vakanties Elk schooljaar bevat een lijst met vakanties: - naam; - begindatum; - einddatum. U kunt ze één voor één toevoegen, wijzigen of verwijderen, of ze in tabelvorm beheren met **Tabel**. #### Afwisselende weken Zijn de afwisselende weken ingeschakeld in de algemene instellingen, dan toont het scherm een tijdlijn waarmee u de afwisseling van het jaar regelt. Opslaan gebeurt met **Opslaan**. Het formaat van de labels (`A, B, ...`, `1, 2, ...`, of uitgeschakeld) stelt u in bij de algemene instellingen. **Verschuiving over een vakantie heen**: stond u vlak voor de vakantie in week A en wilt u erna verdergaan met week B, klik dan op de betreffende weken in de tijdlijn om een **virtuele verschuiving** aan te maken. De afwisseling wordt dan opnieuw uitgelijnd op de rest van de kalender. #### Stappenplan — Het volgende jaar voorbereiden 1. Open het scherm **Schooljaren**. 2. Maak het volgende jaar aan met een naam, een begindatum en een einddatum. 3. Importeer de vakanties of voer ze zelf in. 4. Stel de afwisselende weken in als uw instelling die gebruikt. 5. Maak of dupliceer daarna de roosters in de module **Roosterbeheer**. 6. Wijzig het huidige schooljaar pas op het moment dat gebruikers dat jaar standaard moeten zien. #### Zie ook - [Schooljaar](#page-core-concepts.school-year) - [Schooljaar](#page-glossary.school-year) - [Een rooster publiceren (activeren)](#page-timetables.publication) - [Het volgende schooljaar voorbereiden](#page-timetables.next-school-year) ### 8.11 Algemene schoolinstellingen *Source: `help/nl/admin/parameters.md` · id: admin.parameters · Audience: admin · Updated: 2026-05-14* In de module **Beheer** bevat het scherm **Instellingen** de algemene configuratie van de school. Sommige parameters gelden onmiddellijk voor het hele account, andere dienen als standaardwaarde voor toekomstige roosters. #### Belangrijkste instellingen Op dit scherm regelt u onder meer: - **naam van de school**; - **tijdzone**; - **lopend schooljaar**; - **klasniveaus** met Aanmaken; - **openingstijden** voor accounts die Personeelsinzet gebruiken; - **invoerwijze voor de beschikbaarheid van docenten**; - **zichtbaarheidsbeperking voor leerlingen**; - **zichtbaarheidsbeperking voor docenten**; - **inlogbeperking per rol**; - **behandeling van de tweede voornaam**; - **regel voor hoofdlettergebruik in namen**; - **loginsyntaxis**; - **eerste dag van de week**; - **formaat van de afwisselende weken**; - **het al dan niet verplicht zijn van het lestype**; - **in- of uitschakelen van het gemeenschappelijke vakkenregister**; - **logo van de school**. De quota's voor back-ups en de bewaartermijn van de logboeken zijn geen gewone instellingen op dit scherm. Omniscol schakelt ze in of past ze aan volgens het contract van de instelling. #### Niveaus De **niveaus** dienen om de klassen te ordenen volgens onderwijskundige progressie: 2 havo, 3 havo, Bachelor, Master, jaar 1, jaar 2 enzovoort. Ze maken deel uit van de **algemene** instellingen van het account. U kunt ze vanaf dit scherm aanmaken, verwijderen en herschikken. Daarna worden ze gebruikt in de klassen, in bepaalde filters en in verschillende diagnoseweergaven. #### Zichtbaarheids- en inloginstellingen De parameters Tijdsbeperkingen voor leerlingenroosters, Beperkingen voor docenten bij het raadplegen van roosters en Inlogbeperking voor de applicatie worden beschreven in [Zichtbaarheidsbeperkingen](#page-admin.visibility-restrictions). #### Lestypes en gemeenschappelijke vakken De parameter Verplicht lestype bepaalt of bij het invoeren van een les een type moet worden opgegeven. De parameter voor de gemeenschappelijke vakken regelt de toegang tot het officiële register van het land. #### Logo Het geüploade logo wordt in het account bewaard en door de interface gebruikt waar de context dat voorziet, met name op de inlogschermen en in de applicatie. #### Stappenplan — Het account instellen 1. Open **Instellingen**. 2. Controleer de naam van de school, de tijdzone en het lopende schooljaar. 3. Stel de niveaus, de eerste dag van de week en de afwisselende weken in voordat u de roosters aanmaakt. 4. Stel de zichtbaarheids- en inlogbeperkingen in volgens het beleid van uw instelling. 5. Sla de algemene instellingen op met Opslaan. #### Zie ook - [Het schoolaccount configureren](#page-getting-started.setup-school) - [Schooljaar en vakanties](#page-admin.school-year) - [Vakken beheren](#page-admin.subjects) - [Zichtbaarheidsbeperkingen](#page-admin.visibility-restrictions) - [Geavanceerde instellingen en maatwerk](#page-admin.advanced-parameters) ### 8.12 Geavanceerde instellingen en maatwerk *Source: `help/nl/admin/advanced-parameters.md` · id: admin.advanced-parameters · Audience: admin · Plan: premium · Updated: 2026-06-13* > **Premium** > _Premium_ In de module **Beheer** brengt het scherm **Instellingen** op Premium-accounts **geavanceerde** instellingen samen, naast de algemene instellingen. Deze pagina beschrijft die geavanceerde functies; zie voor de basisinstellingen [Algemene schoolinstellingen](#page-admin.parameters). #### Campussen **Campussen** dienen om de klassen te ordenen volgens uw interne organisatie: school, faculteit, afdeling, opleiding of een andere indeling die eigen is aan uw instelling. Dit begrip is **optioneel** en staat los van de vestigingen: een vestiging is een fysieke plaats, met een eigen tijdrooster, eigen lokalen en eigen reistijden, terwijl een campus niet meer is dan een logische organisatielaag. De campus komt vooral van pas wanneer de geografie niet goed samenvalt met uw logische organisatie: meerdere faculteiten in dezelfde gebouwen, of meerdere scholen van eenzelfde scholengroep die verschillende vestigingen kriskras delen. Zelfs wanneer campus en vestiging samenvallen, kan deze laag nuttig blijven voor filters en groeperingen. Maak met **Aanmaken** alleen de campussen aan die echt helpen om het werk te ordenen of te filteren. Ze zijn daarna beschikbaar in de schermen voor het aanmaken van klassen en in bepaalde diagnosefilters. #### Vertaal- en terminologieoverschrijvingen Op dit scherm kunt u ook **vertalingen overschrijven** om de getoonde terminologie aan uw instelling aan te passen. In deze zone past u de labels aan die in de interface zichtbaar zijn, zonder de functionele structuur van het product te wijzigen. Er zijn twee afzonderlijke mechanismen: - Vertaalvervangingsregels: deze vervangen een term door een andere in een reeks labels; - Vertaaloverschrijvingen: deze vervangen rechtstreeks de waarde van één bepaalde vertaling. ##### Vervangingsregels Vervangingsregels dienen om terminologie in veel labels tegelijk gelijk te trekken. Typische voorbeelden: - `Docent` vervangen door `Trainer`; - `Leerling` vervangen door `Student`; - bepaalde termen aanpassen aan de cultuur van uw instelling. De regels zijn **geordend**. De volgorde telt: een regel die hoger staat, wordt vóór de volgende toegepast. Op het scherm kunt u: - een brontekst en een doeltekst invoeren en vervolgens bevestigen met **Toevoegen**; - de betrokken labels vooraf bekijken; - de regels herschikken; - een regel verwijderen. Met de beschikbare opties bepaalt u het type vervanging nader: - `Aa`: onderscheid tussen hoofdletters en kleine letters; - onderstreepte `ab`: volledige overeenkomst; - `.*`: reguliere expressie. Gebruik regels wanneer u een term consequent wilt wijzigen over meerdere schermen heen. De regels worden **in hun eigen zone** opgeslagen: toevoegen, verwijderen en herschikken worden apart van de overige instellingen op de pagina bewaard. ##### Overschrijvingen van volledige sleutels Overschrijvingen van volledige sleutels dienen om een label **geval per geval** te corrigeren of te herschrijven. Op het scherm kunt u: - een bestaande vertaling zoeken; - ze aan de lijst met overschrijvingen toevoegen; - uw eigen versie invoeren; - die overschrijving opslaan of verwijderen. Gebruik deze werkwijze wanneer een algemene regel te ruim zou zijn, of wanneer u een volledige zin wilt herschrijven in plaats van één term. Elke sleuteloverschrijving wordt **rij per rij** opgeslagen, met een eigen knop om op te slaan of te verwijderen. ##### Goed gebruik Regels en overschrijvingen dienen om de **getoonde terminologie** aan te passen. Ze wijzigen noch de onderliggende begrippen, noch de interne identificatoren, noch het gedrag van de toepassing. Kies bij voorkeur: - een **regel** voor een terugkerende hernoeming; - een **sleuteloverschrijving** voor een specifieke uitzondering of een volledig label. Vermijd te ruime of dubbelzinnige vervangingen die de help, het zoeken of de terminologie van het ene scherm tot het andere inconsistent zouden maken. #### Stappenplan 1. Open **Instellingen** in de module **Beheer**. 2. Zoek de geavanceerde zone die bij uw behoefte past: campussen of vertaaloverschrijvingen. 3. Maak voor de campussen de labels aan die nuttig zijn voor uw organisatie en zet ze in de juiste volgorde. 4. Kies voor de vertalingen tussen een algemene regel en een gerichte overschrijving, afhankelijk van de reikwijdte van de wijziging. 5. Sla elke zone op met haar eigen mechanisme: de regels worden in hun eigen blok bewaard en de sleuteloverschrijvingen bevestigt u rij per rij. #### Zie ook - [Algemene schoolinstellingen](#page-admin.parameters) - [Zichtbaarheidsbeperkingen](#page-admin.visibility-restrictions) - [Campus](#page-glossary.campus) - [Conflicten en diagnose](#page-timetables.conflicts) ### 8.13 Zichtbaarheids- en inlogbeperkingen *Source: `help/nl/admin/visibility-restrictions.md` · id: admin.visibility-restrictions · Audience: admin · Plan: standard · Updated: 2026-05-14* In de module **Beheer** brengt het scherm **Instellingen** een aantal gerichte beperkingen samen: een raadpleeghorizon voor de leerlingen, het verbergen van roosters tussen docenten en het blokkeren van het inloggen per rol. #### Beperking aan leerlingenzijde De parameter Tijdsbeperkingen voor leerlingenroosters bepaalt het aantal toekomstige weken, de lopende week meegerekend, waarin de gepubliceerde roosters zichtbaar blijven voor de leerlingen. U stelt hem in op een aantal weken of op **Onbeperkt**. Deze beperking betreft het tijdvenster dat voor de leerlingen openstaat: iedereen raadpleegt de gepubliceerde roosters tot aan de gekozen horizon. #### Beperking aan docentenzijde De parameter Beperkingen voor docenten bij het raadplegen van roosters verbergt de roosters van de andere docenten. Hij werkt door in de filters en de raadpleegweergaven: een docent ziet nog steeds het eigen rooster, maar niet dat van collega's. #### Inlogbeperking De parameter Inlogbeperking voor de applicatie blokkeert het inloggen van de geselecteerde profielen: **Docenten**, **Personeel** of **Leerlingen**. Een gebruiker die meerdere rollen combineert, kan inloggen zolang ten minste één van die rollen toegestaan blijft. #### Stappenplan — Zichtbaarheid voor leerlingen beperken 1. Open het scherm **Instellingen**. 2. Zoek Tijdsbeperkingen voor leerlingenroosters op. 3. Kies **Onbeperkt** of een aantal weken. 4. Bevestig met **Opslaan**. #### Zie ook - [Algemene instellingen](#page-admin.parameters) - [Gebruikers en rollen](#page-admin.users-and-roles) - [Leerlingenportaal](#page-portal.student-portal) - [Docentenportaal](#page-portal.teacher-portal) ### 8.14 Import en export *Source: `help/nl/admin/import-export.md` · id: admin.import-export · Audience: admin · Updated: 2026-06-03* In de module **Beheer** bundelt het scherm **Import/Export** de gegevensoverdrachten van het account: JSON-export, aSc-uitwisselingen, back-uppunten, synchronisatie met externe systemen en de API-opties die op het account geactiveerd zijn. Afhankelijk van het land kunnen er ook uitwisselingen via standaardprotocollen zijn. Voor instellingen die onder het Franse ministerie van Onderwijs vallen, worden de uitwisselingen die eigen zijn aan Frankrijk (STS, UnDeuxTemps, École Directe) beschreven in [admin.french-formats](#page-admin.french-formats). #### JSON-export De knop **Downloaden** start een volledige JSON-export van het account. Dit bestand bevat de gegevens van het account en moet als een gevoelige back-up behandeld worden. De JSON-export is beschikbaar voor alle beheerders. Wilt u de toegang beperken, dan hebt u de optie [Aangepaste rollen](#page-admin.customroles) nodig. #### JSON-import De volledige JSON-import gebruikt hetzelfde formaat als de export. Deze blijft voorbehouden aan het Omniscol-team in het kader van de ondersteuning: het terugzetten gebeurt op verzoek van dat team en niet als een gewone handeling op het beheerscherm. Geef voor het herstellen van een account de voorkeur aan de back-uppunten wanneer die geactiveerd zijn, of neem contact op met Omniscol als het terugzetten van een JSON-bestand nodig is. Maak vóór elke destructieve import een back-uppunt aan als de functie actief is. #### aSc Timetables Het scherm bevat ook een onderdeel aSc Timetables: - import van een aSc-XML-bestand; - aSc-XML-export met opties. Deze uitwisseling betreft een volledig aSc-bestand. Om lessen vanuit een spreadsheet toe te voegen, kunt u beter [Massale import van cursussen via een spreadsheet](#page-timetables.mass-import) gebruiken. #### Back-uppunten Als de **back-uppunten** geactiveerd zijn, opent de knop **Back-uppunten** het beheer ervan. Zie [Back-uppunten](#page-admin.snapshots). #### Synchronisatie met externe systemen en API-opties > _Premium_ Het scherm biedt daarnaast: - de configuratie van de synchronisatie met externe systemen via **Configureren**; - het globale delen / OpenAPI; - de API-instellingen; - de MCP-configuratie; - het beheer van OAuth2 / OIDC. #### Stappenplan — Het account exporteren 1. Open **Import/Export**. 2. Klik op **Downloaden**. 3. Bewaar het bestand op een beveiligde plaats. 4. Gaat het om een riskante handeling, maak dan naast de export ook een back-uppunt aan. #### Zie ook - [Uw gegevens voorbereiden voor een massale import](#page-getting-started.preparing-data) - [Massale import van cursussen via een spreadsheet](#page-timetables.mass-import) - [Back-uppunten](#page-admin.snapshots) - [Overzicht](#page-migration.overview) - [Synchronisatie met externe systemen](#page-integrations.extsync) - [admin.french-formats](#page-admin.french-formats) ### 8.15 Back-uppunten *Source: `help/nl/admin/snapshots.md` · id: admin.snapshots · Audience: admin · Plan: premium · Feature: snapshots · Updated: 2026-05-15* > **Premium** > _Premium_ Een **back-uppunt** of *snapshot* is een momentopname van het Omniscol-account. De functie is alleen beschikbaar als het Omniscol-team een quotum aan back-uppunten voor het account heeft geactiveerd, volgens het contract van de instelling. Dat quotum wordt samen met Omniscol bepaald op basis van de behoefte van de school (handmatige back-ups, automatiseringen, verwachte bewaartermijn) en kan op verzoek worden aangepast. De beheerder stelt het niet rechtstreeks in vanuit dit paneel. #### De back-uppunten openen Open in de module **Beheer** het scherm **Import/Export** en klik vervolgens op **Back-uppunten**. Het paneel toont de bestaande back-uppunten, het gebruikte quotum en, indien beschikbaar, een **digest** van de inhoud: aantallen gebruikers, schooljaren, informatieschermen, evenementen, roosters en de belangrijkste tellers per gegevenssoort. #### Beschikbare acties Afhankelijk van uw rechten kunt u: - een back-uppunt aanmaken met **Aanmaken**; - een back-uppunt als JSON exporteren met **Downloaden**; - een back-uppunt verwijderen met **Verwijderen**; - een back-uppunt vergrendelen zodat het niet verwijderd kan worden; - een vervaldatum instellen of wijzigen; - de digest bekijken om snel te zien wat het back-uppunt bevat; - een back-uppunt geheel of gedeeltelijk herstellen met **Herstellen**. De back-uppunten worden op gerepliceerde opslag bewaard. Elk back-uppunt kan als JSON geëxporteerd worden voor een analyse of vergelijking die u met uw eigen tools uitvoert. #### Herstellen Het herstellen vereist een uitdrukkelijke bevestiging. Het paneel biedt drie modi, afhankelijk van de geselecteerde gegevensfamilies: - **Gegevens overschrijven**: de geselecteerde gegevens worden vervangen door de toestand van het back-uppunt. Dit is de modus om terug te draaien; - **Alleen verwijderde gegevens herstellen**: Omniscol voegt alleen de ontbrekende elementen opnieuw toe wanneer deze modus ondersteund wordt, bijvoorbeeld nadat er per ongeluk gebruikers verwijderd zijn; - **Herstellen zonder overschrijven**: Omniscol herstelt als kopie wanneer dat ondersteund wordt, zodat u kunt vergelijken of gegevens handmatig kunt terugzetten zonder de huidige toestand te vervangen, bijvoorbeeld wanneer een rooster is gaan afwijken en u niet wilt overschrijven wat er sinds het aanmaken van het back-uppunt is gedaan. Er kunnen dus duplicaten ontstaan. Het herstellen kan het hele account betreffen of deelverzamelingen zoals roosters, evenementen, informatieschermen, afwezigheden, gebruikers, vakken, schooljaren of configuratie. #### Automatiseringen Met de knop **Automatisering** configureert u de automatische aanmaak van back-uppunten. Het ritme hangt af van de configuratie die voor het account gekozen is: dagelijks, wekelijks, midden in de nacht — u bepaalt het beleid dat bij uw instelling past. Vervaldatums en vergrendeling sturen de bewaartermijn: - een verlopen back-uppunt kan automatisch verwijderd worden, tenzij het vergrendeld is; - een vergrendeld back-uppunt is beschermd tegen handmatige verwijdering en tegen de automatische opschoning; - wanneer een automatische back-up in een quotum moet passen dat al bereikt is, verwijdert Omniscol het oudste niet-vergrendelde automatische back-uppunt om plaats te maken. Kan er geen enkel back-uppunt verwijderd worden (allemaal vergrendeld), dan mislukt de nieuwe back-up. Zo krijgt u een back-upgeschiedenis die dicht bij een Time Machine in een Apple-omgeving komt: handig om terug te gaan in de tijd, per ongeluk gewiste gegevens terug te halen of een kopie te herstellen om te vergelijken. Het blijft begrensd door het quotum dat met Omniscol is afgesproken en dat op verzoek aangepast kan worden. #### Af te stemmen vóór de activering Controleer vóór het activeren of uitbreiden van de optie samen met Omniscol: - het quotum aan back-uppunten en de marge die u voor handmatige back-ups wilt houden; - het ritme van de automatische back-ups dat u wilt instellen; - de verwachte bewaartermijn; - de gegevensfamilies die bij gedeeltelijke herstelbewerkingen betrokken zijn; - het exportformaat dat voor externe controles verwacht wordt. Elk back-uppunt kan als JSON geëxporteerd worden. #### Stappenplan — Een back-uppunt aanmaken vóór een riskante handeling 1. Open **Import/Export**. 2. Klik op **Back-uppunten**. 3. Klik op **Aanmaken**. 4. Controleer of het nieuwe back-uppunt in de lijst verschijnt. 5. Start daarna de geplande import, herschikking of configuratiewijziging. Bij een ernstig probleem kunt u teruggaan in de tijd. #### Zie ook - [Import en export](#page-admin.import-export) - [Activiteitenlogboek (logs)](#page-admin.logs) ### 8.16 Activiteitenlogboek (logs) *Source: `help/nl/admin/logs.md` · id: admin.logs · Audience: admin · Feature: logs · Updated: 2026-05-15* > **Premium** In de module **Beheer** toont het scherm **Activiteitenlogboek** de logvermeldingen die voor het account beschikbaar zijn wanneer de logoptie actief is. De bewaartermijn wordt samen met het Omniscol-team bepaald op basis van het contract van de instelling en kan op verzoek worden aangepast. Het paneel dient om de sporen in de logstroom te raadplegen en te exporteren. #### Wat er wordt gelogd Het logboek registreert de handelingen die het account wijzigen, niet elke raadpleging. - **Elke wijziging** van de gegevens (gebruikersfiche, rooster, instellingen…) — aanmaken, bijwerken of verwijderen — levert een vermelding op met de auteur, de handeling en het tijdstempel. - **Het inloggen** — elke inlogpoging legt de gebruikte inlognaam vast. - **De handelingen op wachtwoorden** — instellen, wijzigen, verwijderen of opnieuw instellen worden vastgelegd: de handeling en de auteur ervan, nooit het wachtwoord zelf. - **De exports** — de JSON-export van het account wordt gelogd. Gewone raadplegingen (een scherm openen, een lijst met gegevens opvragen) worden niet vastgelegd, op enkele gevoelige handelingen na. Het logboek beantwoordt dus de vraag “wie heeft wat gedaan en wanneer”, niet “wie heeft wat geraadpleegd”. #### Wat het scherm toont Elke regel kan het volgende bevatten: - een tijdstempel; - de uitgevoerde handeling; - de herkende route wanneer die bekend is; - de vastgelegde parameters en extra's; - de HTTP-methode; - de bijbehorende web-URL; - de betrokken gebruiker. De exacte inhoud hangt af van wat Omniscol heeft gelogd: het scherm geeft de sporen weer die in de logstroom van het account aanwezig zijn. #### Zoeken en export Zodra de lijst genoeg vermeldingen bevat, kunt u de tabel filteren met een lokale zoekfunctie. De knop **Tijdstempel** opent een exporteerbare weergave van de regels. #### Reikwijdte van de logboeken - Elke regel geeft de uitgevoerde handeling, de route, de parameters en de betrokken gebruiker; de details omvatten wat Omniscol heeft gelogd. - De bewaartermijn hangt af van de optie die op het account is geactiveerd en van de periodieke opschoning van de logs. - De logboeken raadpleegt en exporteert u vanaf dit scherm; Omniscol stuurt ze niet automatisch door naar een externe monitoringtool. Om de toestand van een account op een bepaalde datum nauwkeurig te reconstrueren, combineert u de logboeken met de back-uppunten. #### Wat u in een contract controleert De bewaartermijn, de auditverplichtingen en de verwachte exports vallen onder het contract en onder de beveiligingsdocumenten die op verzoek worden verstrekt. Deze pagina vervangt die documenten niet. #### Zie ook - [Back-uppunten](#page-admin.snapshots) - [Gebruikers en rollen](#page-admin.users-and-roles) --- ## 9. Integraties ### 9.1 Overzicht van de integraties *Source: `help/nl/integrations/overview.md` · id: integrations.overview · Audience: admin · Updated: 2026-06-13* Omniscol koppelt op verschillende manieren aan uw informatiesysteem, afhankelijk van de behoefte. Voorbeelden van tools van derden en van partners die regelmatig op Omniscol worden aangesloten, vindt u ook in [integrations.partners](#page-integrations.partners). #### In één oogopslag | Mechanisme | Waarvoor het dient | Richting van de gegevensstroom | | --- | --- | --- | | [iCal](#page-integrations.ical) | Docenten / leerlingen hun rooster in hun persoonlijke agenda laten bekijken | Omniscol → agenda | | [Deellinks](#page-glossary.share-link) | Een rooster alleen-lezen verspreiden of, afhankelijk van de context, een gerichte invoer openstellen | Omniscol → openbaar web | | [Iframe](#page-portal.share-links) | Een rooster insluiten in een pagina op **hetzelfde domein** als Omniscol; geblokkeerd op een externe site (beveiliging) | Omniscol → hetzelfde domein | | [Omniscol-API](#page-integrations.api-tokens) | Koppelingen van systeem tot systeem, volgens de rechten en de opties van het account | Afhankelijk van de configuratie | | [MCP](#page-integrations.mcp) | Een MCP-compatibele AI-agent op Omniscol aansluiten | AI-agent ↔ Omniscol | | [OAuth2 / OIDC (server)](#page-integrations.oauth-server) | Een externe dienst aansluiten die wordt geïdentificeerd door een geregistreerde client + toestemming + token met beperkte scope (de basis van MCP en OneRoster) | Dienst ↔ Omniscol | | [OIDC / SSO (aanmelding)](#page-integrations.oauth2) | Authenticatie van de gebruikers via een identiteitsprovider (Google Workspace, Microsoft Entra ID, generieke OIDC) | Afhankelijk van de configuratie | | [Synchronisatie met externe systemen](#page-integrations.extsync) | Connectorframework: Aurion, Auriga, Edusign, nieuwe connectoren op projectbasis | Bidirectioneel | | [Informatieschermen](#page-panels.lobby-panel) | Het rooster tonen op openbare schermen | Omniscol → schermen | #### De juiste integratie kiezen - **Een rooster beschikbaar stellen aan een docent / leerling** — een abonnement op [iCal](#page-integrations.ical). - **Leestoegang geven aan een ouder / een audit** — een [deellink](#page-glossary.share-link). - **De lerenden synchroniseren vanuit uw ERP / informatiesysteem** — zie [Synchronisatie met externe systemen](#page-integrations.extsync), waar de beschikbare connectoren staan opgesomd. Staat uw ERP er niet bij, dan wordt het toevoegen van een connector afgestemd met de Omniscol-support. - **Eenmalige aanmelding** — [OIDC / SSO](#page-integrations.oauth2). - **Externe AI-assistent** op het account, als de optie is geactiveerd — [MCP](#page-integrations.mcp) voor compatibele clients. - **Openbare weergave in de gebouwen** — [informatieschermen](#page-panels.lobby-panel). #### Aanbevolen werkwijzen voor de beveiliging - **OIDC / SSO** gebruiken, wanneer de optie is geactiveerd, om echte gebruikers te authenticeren. - De **API-tokens** voorbehouden aan koppelingen van systeem tot systeem, met een minimaal bereik en periodieke rotatie. - Korte **vervaldatums** instellen voor deellinks. - Geen API-token in een openbare Git-repository plaatsen. #### Zie ook - [iCal](#page-integrations.ical) - [Omniscol-API](#page-integrations.api-tokens) - [MCP](#page-integrations.mcp) - [OAuth2 / OIDC (server)](#page-integrations.oauth-server) - [OIDC / SSO (aanmelding)](#page-integrations.oauth2) - [Synchronisatie met externe systemen](#page-integrations.extsync) - [integrations.partners](#page-integrations.partners) ### 9.2 Hoe Omniscol werkt — één API, één bron van waarheid *Source: `help/nl/integrations/architecture.md` · id: integrations.architecture · Audience: admin · Plan: standard · Updated: 2026-07-12* Een paar dingen over de manier waarop Omniscol gebouwd is, zijn het waard om te weten voordat u ermee koppelt — ze verklaren waarom de API zo volledig is, hoe de interface zich aan elke gebruiker aanpast, en één punt over privacy om in gedachten te houden. #### Eén toepassing op één API Omniscol draait als **één webtoepassing** in uw browser. Elk scherm, elke knop en elke tabel wordt getekend door de **publieke API** van Omniscol aan te roepen — dezelfde API die u zelf kunt aanroepen, gedocumenteerd in de interactieve API-referentie van Omniscol, de pagina **Ontwikkelaars** ([omniscol.com/nl/developers](https://www.omniscol.com/nl/developers)). Er is geen verborgen, “echte” API achter de API waarmee u koppelt: wat de interface gebruikt, *is* wat u krijgt. Een paar handelingen gaan de andere kant op — aangeboden voor integratie, maar **niet gebruikt door de toepassing zelf**: bijvoorbeeld de API-endpoints voor **geavanceerd zoeken en entiteitsresolutie** (bedoeld voor een AI-agent via [MCP](#page-integrations.mcp)), of de endpoints waarmee een extern systeem **Omniscol van gegevens kan voorzien** (een ETL die een externe database synchroon houdt). #### operationId — één sleutel, één bron van waarheid Elke handeling is een **combinatie van methode + URL** (bijvoorbeeld `GET /api/schedules/lessons/{datesrange}`), en elke handeling draagt een vaste identificatie: het **operationId** (hier `os_schedules_dates_get`). De naam is gestructureerd: **`os`** (Omniscol), dan de **module** (`schedules`), dan waarop de **handeling** betrekking heeft (`dates` — soms meerdere segmenten verbonden door koppeltekens), en altijd de **HTTP-methode** als laatste (`get`, `post`, `put`, `delete`). Die ene sleutel gebruikt Omniscol overal — om de handeling op de pagina **Ontwikkelaars** te benoemen, om de bijbehorende tool voor [MCP](#page-integrations.mcp) te bouwen, en om ernaar te verwijzen vanuit een API-aanpassing of vanuit deze help. Eén keer gedefinieerd, houdt hij alle onderdelen synchroon: de documentatie, de tools en de interface kunnen niet uit elkaar lopen, want ze lezen allemaal dezelfde definitie. #### De interface volgt uw rechten Een **grafisch element met een actie** — een knop, een tabblad, een menu-item — verschijnt alleen wanneer de handeling die eraan ten grondslag ligt voor u **toegankelijk** is. Dat hangt af van uw rol en van uw [aangepaste rollen](#page-admin.customroles) (zie [Gebruikers en rollen](#page-admin.users-and-roles)), van uw abonnement en van uw opties (zie [Abonnementen en opties van Omniscol](#page-overview.plans-and-options)). Wijzig een van die punten en de interface stelt zich opnieuw samen: elementen, en zelfs hele modules, verschijnen of verdwijnen navenant. Hetzelfde principe geldt ook buiten uw persoonlijke rechten. De ICT-afdeling kan bepaalde handelingen uitschakelen met een **API-aanpassing**, waarna de bijbehorende elementen uit de interface verdwijnen (zie [API-aanpassingen](#page-integrations.api-customization)). Datzelfde gebeurt wanneer gegevens door een **externe synchronisatie** worden bijgehouden: het lokaal aanmaken en wijzigen ervan kan worden uitgeschakeld, en de knoppen daarvoor maken dan plaats voor de synchronisatie (zie [Synchronisatie met externe systemen](#page-integrations.extsync)). Daarom heeft Omniscol **geen apart portaal** voor leerlingen of docenten. Er is één toepassing; iedereen ziet de interface afgestemd op zijn eigen rechten — een leerling, een docent, een beheerder en de houder van een aangepaste rol krijgen precies de handelingen waarop zij recht hebben, en niets anders. #### De interface is gemak, niet het slot Omdat de interface door uw rechten wordt aangestuurd, ligt de verleiding voor de hand om een verborgen knop als een beveiligingsgrens te zien. Dat is het niet. **Elke aanroep wordt op de server opnieuw gecontroleerd** aan de hand van uw identiteit en uw rechten; een handeling waarop u geen recht hebt, wordt daar geweigerd, wat de interface ook toont. De interface past zich aan omwille van de duidelijkheid en het gemak; de echte grens wordt op de server afgedwongen, bij elke aanvraag. #### Tokens en deellinks, hetzelfde model Een [API-token](#page-integrations.api-tokens) of een deellink is **beperkt tot een reeks handelingen** — die u bij het aanmaken toestaat. De server past die beperking bij elke aanroep toe, precies zoals bij een ingelogde gebruiker. Een deellink, een token en een persoon in de interface zijn drie manieren om dezelfde, door rechten gecontroleerde API te bereiken — nooit een achterdeur die eromheen gaat. #### Een verbindingsonderbreking overbruggen Doordat elk scherm de API leest, kan Omniscol de al ontvangen antwoorden ook in uw browser bewaren, zodat een korte netwerkstoring uw raadpleging niet onderbreekt. Die **lokale kopie** staat in een eigen database (IndexedDB), naast de gewone paginacache van de browser. Het is een **leescache**: valt de verbinding weg, dan blijft u zien wat u al had geopend. Hij zet uw wijzigingen **niet** in een wachtrij en speelt ze niet opnieuw af — een wijziging gaat altijd via de server. Die lokale kopie berust op uw **toestemming**. De eerste keer op een browser vraagt Omniscol of u die browser vertrouwt; de kopie begint zodra u akkoord bent gegaan. Het menu-item Offlinecache in het gebruikersmenu schakelt haar daarna op elk moment in of wist haar — een vinkje geeft aan dat ze actief is. Twee dingen om te weten: - **Persoonsgegevens blijven erbuiten.** Alleen geslaagde leesbewerkingen worden bewaard; antwoorden die de server als niet-opslaanbaar markeert (sessie- en authenticatiegegevens) komen nooit in de cache, en de software haalt uit wat er *wel* in de cache komt de contactgegevens van personen weg — e-mail, telefoon, geboortedatum, login, identificatienummer, status van het wachtwoord — en verwijdert de beheerdersaccounts volledig. De lokale kopie bevat de gewone werkgegevens, niet het adresboek met namen. - **Gebruik op een gedeelde computer bij voorkeur een privévenster.** Uitloggen wist die lokale kopie niet (en de gewone browsercache evenmin); een privévenster verwijdert ze allebei zodra u het sluit. Dat is de zorgvuldigheid die elke webtoepassing verdient op een machine die u niet zelf beheert. #### Zie ook - [Overzicht van de integraties](#page-integrations.overview) - [API-aanpassingen](#page-integrations.api-customization) - [Omniscol-API](#page-integrations.api-tokens) - [MCP — een externe AI-agent aansluiten](#page-integrations.mcp) ### 9.3 iCal — abonnement en dynamische link *Source: `help/nl/integrations/ical.md` · id: integrations.ical · Plan: standard · Updated: 2026-05-15* Het formaat **iCal** (`.ics`) is de standaard voor het delen van kalenders tussen toepassingen. Omniscol stelt elk rooster (individueel, klas, lokaal, docent) beschikbaar als **iCal-abonnementslink** die de gebruiker kan plakken in Google Calendar, Apple Calendar, Outlook, Thunderbird of elke andere toepassing die gestandaardiseerde kalenders leest. #### Abonnementslink versus eenmalige export Twee heel verschillende manieren van gebruik: - **Abonnementslink** (aanbevolen) — een HTTPS-URL die naar Omniscol verwijst. De clienttoepassing raadpleegt die regelmatig (elk uur, elke dag, afhankelijk van de instellingen van de client) en houdt de kalender van de gebruiker doorlopend bij. Verschuift een les in Omniscol, dan ziet de gebruiker dat in zijn kalender zonder daar iets voor te hoeven doen. - **Eenmalige export** — download van een `.ics`-bestand op een bepaald moment. Handig om te archiveren, per e-mail te delen of in te voeren in een systeem dat zich niet kan abonneren. Maar het is een momentopname: verandert het rooster, dan wordt het bestand niet bijgewerkt. Geef de voorkeur aan de abonnementslink wanneer de eindclient een moderne toepassing is die een externe kalender kan verversen (Google Calendar, Apple Calendar, Outlook). #### Uw abonnementslink ophalen Op de schermen waar delen beschikbaar is, opent de knop Delen een venster dat het volgende kan aanbieden: - een of meer ondertekende iCal-abonnements-URL's, - een knop “URL kopiëren”, - een QR-code om te scannen, - een download van een `.ics`-bestand. De URL bevat een geheim token: deel hem niet — wie hem in handen krijgt, kan het rooster binnen het bereik van de link inzien tot die verloopt of ongeldig wordt gemaakt. #### Waar u een iCal genereert De belangrijkste ingangen zijn: - **Bovenaan de module Rooster** — de knop Delen kan een iCal van alle getoonde roosters genereren, een gecombineerde iCal die ze in één abonnement samenbrengt, en daarna de afzonderlijke iCal's. Deze links zijn begrensd door het getoonde schooljaar. - **Op elk getoond rooster** — de titelbalk van het rooster geeft, bij het zweven met de muis, toegang tot een losse deellink voor dat rooster. De link dekt het betreffende schooljaar. - **Op de fiche van een docent** — in **Beheer** genereert de knop Delen van de fiche de persoonlijke iCal van de docent, opgezet om op de lange termijn geldig te blijven zolang de link, het houderaccount en de gekozen vervaldatum dat toelaten. - **In de voorbeeldweergave van een kalenderrooster** — in **Roosterbeheer** genereert de knop Delen van de voorbeeldweergave de iCal van wat wordt getoond, ook als dat rooster nog niet geactiveerd of gepubliceerd is. Bij elke generatie kan de gebruiker een vervaldatum vastleggen. Die datum staat gecodeerd in het token van de URL: hij verandert achteraf niet meer. Om de vervaldatum te wijzigen, moet u een nieuwe link genereren. Net als de andere deellinks is ook de iCal gekoppeld aan het account dat hem heeft gegenereerd: een wachtwoordwijziging, een deactivering of een verwijdering van het houderaccount maakt de bijbehorende links ongeldig. #### Openbare link voor een klas of een lokaal De beheerder kan een abonnementslink genereren voor een **klas** of een **lokaal** (bijvoorbeeld om te delen met de ouders of met een externe dienst). Deze links zijn ondertekend en hebben een vervaldatum. Zie ook [Een rooster delen via een openbare link](#page-schedules.share-link), waarin alle deelopties worden beschreven (iCal, responsieve webpagina, JSON via API). #### Configuratie aan clientzijde ##### Google Calendar 1. Klik in Google Calendar links, naast **Andere agenda's**, op de **+** > **Via URL**. 2. Plak de Omniscol-abonnements-URL. 3. De kalender verschijnt met een indicatief label en een standaardkleur — beide te wijzigen. Google ververst het abonnement ongeveer elke 8-24 uur. Bij dringende wijzigingen: houd rekening met een vertraging. ##### Apple Calendar (macOS, iOS) 1. **Archief > Nieuw agenda-abonnement**. 2. Plak de Omniscol-URL. De iCal-link van Omniscol is ingesteld op een automatische verversing om het halfuur. ##### Outlook (Microsoft 365) 1. **Agenda toevoegen > Van internet**. 2. Plak de Omniscol-URL. Outlook werkt bij met een frequentie die per versie verschilt; houd bij oudere desktopversies rekening met vertragingen. #### Beperkingen - Wijzigingen aan clientzijde (een evenement verplaatsen in Google Calendar) komen niet terug in Omniscol — het abonnement is alleen-lezen. - De gebruiker moet een actief Omniscol-account hebben om zijn persoonlijke URL te genereren. - De vervaldatum van de link staat in de gegenereerde URL: die wordt achteraf niet verlengd; genereer zo nodig een nieuwe link. - Evenementen die niet in het rooster staan, worden alleen opgenomen als de deellink of het iCal-filter ze meeneemt. #### Stappenplan — Abonneren op uw rooster vanuit Google Calendar 1. **Het iCal-abonnement** synchroniseert uw Omniscol-rooster met uw persoonlijke kalender (Google Calendar, Apple Calendar, Outlook). Doorlopend automatisch bijgewerkt: geen kopiëren en plakken meer bij elke roosterwijziging. 2. **Klik vanaf uw Omniscol-scherm** (leerling, docent of gedeelde weergave) op Delen wanneer de knop beschikbaar is. Er opent een venster met de URL's die voor uw bereik zijn gegenereerd. 3. **Kopieer de abonnements-URL** (knop Kopiëren). Deel hem niet: wie hem heeft, kan zien wat binnen het bereik van de link valt, tot die verloopt of ongeldig wordt gemaakt. 4. **In Google Calendar**: linkerpaneel, **Andere agenda's → + → Via URL**, plakken, bevestigen. De kalender verschijnt met een label en een kleur (beide te wijzigen). **In Apple Calendar**: `Archief → Nieuw agenda-abonnement`, plakken. **In Outlook M365**: `Agenda toevoegen → Van internet`, plakken. 5. **Belangrijk**: abonnement = **alleen-lezen**. Wijzigingen in uw persoonlijke kalender komen niet terug in Omniscol. Wijzigingen aan de kant van Omniscol bereiken uw kalender bij de volgende synchronisatie aan clientzijde. #### Zie ook - [iCal (kalenderexport)](#page-glossary.ical) - [Een rooster delen via een openbare link](#page-schedules.share-link) - [Overzicht van de integraties](#page-integrations.overview) ### 9.4 Omniscol-API — authenticatietokens *Source: `help/nl/integrations/api-tokens.md` · id: integrations.api-tokens · Audience: admin · Plan: premium · Updated: 2026-06-13* > **Premium** > _Premium_ De **Omniscol-API** is een REST-API die in OpenAPI is gedocumenteerd. Ze is bedoeld voor koppelingen van systeem tot systeem: een extern dashboard, een weergave op maat, synchronisatie met een ERP of informatiesysteem, of een AI-agent via MCP. API-tokens die u vanuit de interface kunt beheren, zijn beschikbaar op de accounts die deze integratie aanbieden. Een afgeleid token geeft alleen toegang tot de API-endpoints die bij het genereren zijn geselecteerd; ga er niet van uit dat het de hele API dekt. #### Sleutel en token: twee verschillende objecten Omniscol onderscheidt twee objecten die u niet mag verwarren. Een **sleutel** is een blijvend object dat aan de kant van Omniscol bewaard blijft. Hij bundelt: - een korte, willekeurig gegenereerde en openbare **identificatie**: die wordt in de lijst getoond en reist mee in elk token om aan te geven welke sleutel gecontroleerd moet worden; - een beschrijvend **label**, dat u op elk moment kunt wijzigen; - een optionele **vervaldatum**, die u op elk moment kunt wijzigen; - een lang, willekeurig **geheim**, aan serverzijde aangemaakt, dat dienstdoet als cryptografische ondertekeningssleutel. De identificatie, het label en de vervaldatum zijn beheergegevens: de identificatie is alleen een openbare verwijzing, geen geheim element. Het **geheim** daarentegen is het enige ondertekeningsmateriaal: het wordt willekeurig gegenereerd bij het aanmaken van de sleutel, blijft aan serverzijde, is niet te wijzigen en **wordt nooit getoond of teruggegeven** — niet bij het aanmaken en niet in de lijst met sleutels. En zelfs als het zou uitlekken, zou het niet volstaan om een token te vervalsen: de handtekening combineert het met een **salt die eigen is aan het account** en met een **servergeheim**, die evenmin ooit buiten Omniscol komen. Een **token** is een op zichzelf staand **JWT** (JSON Web Token), ondertekend met het geheim van de sleutel. Dat is wat u aan het externe systeem doorgeeft. De ondertekende inhoud bevat het betrokken account, de lijst met toegestane endpoints, de sleutel waarvan het is afgeleid en zijn eigen vervaldatum. Met andere woorden: **een sleutel ondertekent, een token wordt ondertekend.** Dezelfde sleutel kan meerdere tokens ondertekenen — allemaal te controleren met hetzelfde geheim, en dus allemaal samen ingetrokken zodra de sleutel verdwijnt. Omniscol bewaart het token niet: het genereert het, toont het één keer en controleert het daarna bij elke aanroep opnieuw door de handtekening te herberekenen op basis van het geheim van de sleutel (HMAC SHA-256). Geen enkele bevoegdheid die het token draagt, kan dus worden gewijzigd zonder dat geheim. #### Een token aanmaken Het scherm Delen vindt u in Beheer → Import/Export op Premium-accounts. Het aanmaken gebeurt in twee stappen: u maakt eerst een **sleutel** aan en **genereert** daarna een **token** op basis van die sleutel. 1. **Een sleutel aanmaken** — vul een sprekend label in en, als de toegang tijdelijk is, een vervaldatum. Het label en de vervaldatum blijven achteraf te wijzigen; het ondertekeningsgeheim niet. 2. **Een token genereren** — selecteer de sleutel, vink de toegestane endpoints aan, kies eventueel een vervaldatum die alleen voor het token geldt, en genereer het JWT. Bij het genereren toont Omniscol het token **één enkele keer**. Kopieer het meteen naar een secretsmanager: het wordt niet opnieuw getoond. De vervaldatum van het token staat in de ondertekende inhoud: die verandert u achteraf niet meer. Genereer een nieuw token om die datum te wijzigen. Er zijn dus twee niveaus van vervaldatum, onafhankelijk van elkaar: - **vervaldatum van de sleutel** — te wijzigen vanuit de lijst met sleutels; zodra die bereikt is, worden **alle** tokens die van deze sleutel zijn afgeleid geweigerd (de aanroep mislukt met een 401); - **vervaldatum van het token** — vastgelegd bij het genereren, opgenomen in het JWT en daarna niet meer te wijzigen. #### Toegestane endpoints Een token geeft alleen toegang **tot de endpoints die bij het genereren zijn aangevinkt**: ga er nooit van uit dat het de hele API dekt. De toegestane lijst reist mee in het token en wordt bij elke aanroep gecontroleerd; een aanroep naar een niet-toegestaan endpoint wordt geweigerd (401). Naast de afzonderlijke endpoints biedt de keuzelijst **snelkoppelingen per module**: - de vermelding van een module op zich geeft toegang tot **al** zijn endpoints; - de varianten per bewerking — **lezen**, **wijzigen**, **aanmaken**, **verwijderen** — beperken de module tot één soort aanroep. Door “**Rooster** [lezen]” aan te vinken geeft u dus volledige leestoegang tot de roosters zonder ook maar iets aan schrijfrechten open te zetten, en zonder elk endpoint één voor één aan te vinken. Houd het zo krap mogelijk: geef alleen de modules en de bewerkingen die strikt noodzakelijk zijn voor de integratie. #### Een token gebruiken Twee gebruikelijke manieren om het token naar de API te sturen: - **HTTP-header**: `Authorization: Bearer ` (aanbevolen). - **Query string**: `?auth=` (handig om te debuggen, maar het verschijnt in de HTTP-logs — vermijd dit in productie). Voorbeeld met `curl`, aan te passen met een echt endpoint uit de OpenAPI: ```bash curl -H "Authorization: Bearer $TOKEN" \ https://uw-school.omniscol.com/api// ``` #### OpenAPI-documentatie Het scherm Import/Export toont een link **OpenAPI 3.1** die de voor het account beschikbare specificatie opent in Swagger Editor. Daar vindt u: - de lijst met aangeboden API-endpoints, - de schema's van de uitgewisselde gegevens, - de methoden en parameters, - de verwachte antwoorden. De specificatie wordt ook rechtstreeks door uw account geleverd, zonder authenticatie: - `/api/guest/openapi.json` — specificatie in JSON-formaat; - `/api/guest/openapi.yaml` (of `/api/guest/openapi?yaml=true`) — dezelfde inhoud in YAML-formaat; - `/api/guest/school_schema.json` — JSON-schema van de gegevens van het account. #### De volledige help voor uw AI-assistent Het portaal publiceert de volledige Omniscol-help ook als één tekstbestand, klaar om als kennisbank te dienen voor een AI-assistent (Claude-project, aangepaste GPT…): - [omniscol.com/nl/llms-full.txt](https://www.omniscol.com/nl/llms-full.txt) — de volledige gids in Markdown, beschikbaar in elke taal van de help (`/en/llms-full.txt`, `/de/llms-full.txt`…); - [omniscol.com/llms.txt](https://www.omniscol.com/llms.txt) — de index volgens de `llms.txt`-standaard, die AI-engines automatisch vinden. #### Toegang intrekken Het intrekken gebeurt op het niveau van de **sleutel**, niet van het afzonderlijke token. Het scherm toont de **sleutels** waarmee tokens zijn gegenereerd. **Een sleutel verwijderen** wist het ondertekeningsgeheim aan de kant van Omniscol: vanaf dat moment kan geen enkele handtekening die van dat geheim is afgeleid nog gecontroleerd worden, en elke aanroep met een token uit die sleutel mislukt met een **401**. Het is de afwezigheid van het geheim die de tokens ongeldig maakt, niet een intrekkingslijst. Voor de ICT-afdeling zijn er twee gevolgen: - **Er is geen intrekking per token.** Omniscol bewaart de uitgegeven JWT's niet en kan er geen enkel afzonderlijk uitschakelen: een token dat al gegenereerd is, blijft geldig tot zijn eigen vervaldatum, of tot zijn sleutel verwijderd of verlopen is. - **De vervaldatum van een sleutel wijzigen** werkt onmiddellijk door op al zijn tokens: die datum vervroegen sluit de toegang af voor alle tokens die uit de sleutel zijn voortgekomen. Aanbevolen werkwijze: verwijder meteen elke sleutel waarvan u vermoedt dat die is uitgelekt, en maak daarna een vervangende sleutel aan met een sprekend label. ##### Eén sleutel per doel en per gebruik Omdat het intrekken per sleutel gebeurt, **wijst u aan elke integratie een eigen sleutel toe** (één externe toepassing = één sleutel). Het geheim van een sleutel ondertekent alleen zijn eigen tokens: die sleutel verwijderen maakt alleen de toegang van de betrokken integratie ongeldig, zonder de andere te raken. Omgekeerd maakt één enkele sleutel die door meerdere systemen wordt gedeeld elke intrekking bruut: de gecompromitteerde sleutel verwijderen legt in één klap alle systemen stil die er gebruik van maakten. #### Voor welke integraties De API wordt doorgaans gebruikt voor: - **signagesystemen** op maat (verder dan de eigen informatieschermen van Omniscol; zie [Aanpassing van informatieschermen](#page-panels.customization)), - **externe dashboards** die Omniscol met andere bronnen samenbrengen, - **koppelingen of synchronisaties** met een ERP of een bedrijfsinformatiesysteem, - **MCP-compatibele AI-agenten** die Omniscol via de MCP-server aanspreken; zie [MCP — een externe AI-agent aansluiten](#page-integrations.mcp). Voor toegang die u delegeert aan een **geïdentificeerde externe dienst** (token met beperkt bereik, toestemming van de gebruiker, in te trekken door de client uit te schakelen) gebruikt u beter de OAuth2-server van Omniscol: zie [OAuth2 / OIDC (aanbieder)](#page-integrations.oauth-server). #### Stappenplan — Een API-token genereren 1. **Een authenticatietoken** stelt een extern systeem (dashboard, signage, AI-agent via MCP) in staat de API-endpoints te bevragen die u hebt geselecteerd. 2. **Ga naar Beheer → Import/Export** en open vervolgens het deelscherm met Delen. Daar ziet u de bestaande sleutels, hun labels en hun eventuele vervaldata. 3. **Maak zo nodig een sleutel aan**. Vul een sprekend label in (`Dashboard financiën`, `Signage centrale hal`, `AI-agent Claude desktop`) en een vervaldatum als de integratie tijdelijk is. Deze vervaldatum van de sleutel kunt u later nog wijzigen. 4. **Selecteer de sleutel** en vink daarna de API-endpoints aan die het token mag aanroepen. Houd de lijst zo kort mogelijk. Kies ook de vervaldatum van het token als de toegang begrensd moet zijn. 5. **Genereer het token** en kopieer het getoonde JWT meteen. Het wordt niet opnieuw getoond en de vervaldatum ervan kan niet meer worden gewijzigd. Gebruik het daarna in de HTTP-header `Authorization: Bearer `. 6. **Om de toegang in te trekken** verwijdert u de bijbehorende sleutel. De tokens die van die sleutel zijn afgeleid, worden ongeldig. #### Zie ook - [Overzicht van de integraties](#page-integrations.overview) - [MCP — een externe AI-agent aansluiten](#page-integrations.mcp) - [Geavanceerde queries](#page-integrations.advanced-queries) - [OAuth2 / OIDC (aanbieder)](#page-integrations.oauth-server) - [Aanpassing van informatieschermen](#page-panels.customization) ### 9.5 OAuth2 / OIDC — een dienst koppelen aan Omniscol *Source: `help/nl/integrations/oauth-server.md` · id: integrations.oauth-server · Audience: admin · Plan: premium · Updated: 2026-06-29* > **Premium** > _Premium_ Deze pagina is bedoeld voor de **ICT-afdeling**. Ze beschrijft Omniscol in zijn rol van **autorisatieserver voor OAuth2 / OpenID Connect**: hoe een externe dienst zich registreert als **client**, hoe een gebruiker **toestemming** geeft om hem toegang te verlenen, en hoe de dienst een **token** ontvangt dat beperkt is tot de toegekende **scopes**. #### Wat Omniscol doet als OAuth2-server Een externe dienst — een AI-agent, een connector, een dashboard — wordt een **client** die in uw account is geregistreerd; een gebruiker van de school **keurt** zijn toegang **goed** via een toestemmingsscherm; daarna ontvangt de dienst een **toegangstoken** met een korte levensduur, waarvan het bereik begrensd is door de toegekende **scopes** en door de rechten van de gebruiker. Dit mechanisme staat los van de **gebruikers-SSO** die op [OIDC / SSO](#page-integrations.oauth2) wordt beschreven, waar Omniscol juist **client** is van uw identiteitsprovider om uw gebruikers aan te melden. Hier staat Omniscol aan de **serverzijde**: het zijn diensten die verbinding maken met Omniscol. Twee Omniscol-integraties maken gebruik van deze server: - **MCP** — de standaardauthenticatie van een AI-agent verloopt via deze OAuth2-server (zie [MCP — een externe AI-agent aansluiten](#page-integrations.mcp)); - **OneRoster** — de OneRoster-producer authenticeert zich met een OAuth2-token van machine tot machine dat door diezelfde server wordt uitgegeven (zie [OneRoster](#page-integrations.oneroster)). Elke andere dienst die aan OAuth2 / OIDC voldoet, kan op dezelfde manier verbinding maken. #### Discovery en endpoints van het protocol Omniscol publiceert zijn **discovery-metadata** op de standaardadressen `.well-known`, die in de root van het domein van uw account worden aangeboden (bijvoorbeeld `https://uw-school.omniscol.com`). Een conforme client vindt daar zelf alle endpoints, zonder handmatige configuratie: - `/.well-known/oauth-authorization-server` — metadata van de autorisatieserver (RFC 8414); - `/.well-known/openid-configuration` — OpenID Connect-metadata (dezelfde inhoud als de vorige); - `/.well-known/jwks.json` — publieke verificatiesleutels (JWKS), waarmee de handtekening van de `id_token` gecontroleerd kan worden; - `/.well-known/oauth-protected-resource` — metadata van de beschermde resource (RFC 9728). Deze metadata kondigen de endpoints van het protocol aan: - `/oauth/authorize` — autorisatieverzoek (aanmeldscherm en vervolgens toestemmingsscherm); - `/oauth/token` — de code inwisselen voor een token, en de vernieuwing; - `/oauth/register` — **dynamische registratie van clients** (RFC 7591); - `/oidc/userinfo` — informatie over de aangemelde gebruiker (OIDC); - `/oauth/revoke` — intrekking van een token (RFC 7009). Deze protocol-endpoints zijn **openbaar**: ze zijn niet voorbehouden aan Premium-accounts en hoeven niet handmatig te worden opengezet. Alleen het **beheerscherm voor clients** dat hieronder wordt beschreven, valt onder Premium. #### De autorisatieflows Omniscol ondersteunt drie OAuth2-flows: - **Autorisatiecode met PKCE** — de standaardflow voor een dienst die **namens een gebruiker** handelt. De dienst stuurt de gebruiker door naar `/oauth/authorize`; na aanmelding en toestemming geeft Omniscol een **autorisatiecode** terug (5 minuten geldig) die de dienst op `/oauth/token` inwisselt. De gebruikte PKCE-methode is **S256** en het enige aanvaarde `response_type` is `code`. - **Vernieuwing (`refresh_token`)** — om gedelegeerde toegang te verlengen zonder opnieuw langs de toestemming te gaan. - **Client credentials** — een flow van **machine tot machine**, zonder gebruiker, die met name door de **OneRoster**-consumers wordt gebruikt. De client authenticeert zich rechtstreeks en ontvangt een toegangstoken. Bij de inwisseling geeft de server een **toegangstoken** uit (`Bearer`, **1 uur** geldig) en, voor de gebruikersflows, een **vernieuwingstoken** (**30 dagen** geldig). Wanneer de scope `openid` wordt gevraagd, wordt ook een ondertekend OIDC-**`id_token`** uitgegeven; de handtekening daarvan controleert u via `/.well-known/jwks.json`. De flow `client_credentials` geeft alleen een toegangstoken uit, zonder vernieuwing en zonder `id_token`. Het toegangstoken geeft u vervolgens mee in de HTTP-header `Authorization: Bearer `. Bij elke aanroep controleert Omniscol de handtekening, gaat het na of de client nog **actief** is, of de gebruiker nog bestaat en de vereiste rol heeft, en of de **scopes** van het token het aangeroepen endpoint wel dekken — zo niet, dan wordt de aanroep geweigerd. #### De scopes en de toestemming De scopes die u op een client beheert, zijn: - **`read:basic`** — het lezen van roosters, dashboards en overzichten (modules Home, Rooster, Dashboard, Roosterbeheer); - **`read:user`** — het lezen van de gebruikerslijst; - **`write:data`** — schrijven in diezelfde raadpleegmodules; - **`admin`** — beheertoegang (modules Beheer, Afwezigheidsbeheer, Roosterbeheer). De server kent ook de OIDC-scopes (`openid`, `email`, `profile`) en de **OneRoster**-scopes voor alleen lezen (voorvoegsel `imsglobal.org`). Die laatste zijn **bevoorrecht**: een client kan ze zichzelf **niet** toekennen via de dynamische registratie; ze moeten door een beheerder op de fiche van de client worden ingericht. De scope die daadwerkelijk wordt toegekend, is de **doorsnede** van wat de client vraagt en wat voor hem is geregistreerd: een client krijgt nooit meer dan wat op zijn fiche staat. In de gebruikersflow toont het **toestemmingsscherm** (`/oauth/consent`) de **naam** en het **logo** van de vragende dienst, evenals de **leesbare lijst** van de gevraagde scopes, met de knoppen **Accepteren** en **Weigeren**. Goedkeuren geeft de autorisatiecode uit en stuurt de gebruiker terug naar de dienst; weigeren stuurt hem terug met een fout `access_denied`. #### De dynamische registratie van clients Het endpoint `/oauth/register` implementeert de **dynamische registratie** (Dynamic Client Registration, RFC 7591): een conforme dienst kan **zichzelf registreren** als client, zonder voorafgaande handmatige tussenkomst. Daardoor kan een MCP-agent zich configureren op basis van alleen de URL van de server. De dynamische registratie kan zichzelf **geen** bevoorrechte scope toekennen (de OneRoster-scopes): die worden stilzwijgend terzijde gelegd, en als er geen geldige scope overblijft, wordt standaard `read:basic` toegekend. Bevoorrechte scopes blijven voorbehouden aan een inrichting door een beheerder. #### Het beheerscherm voor OAuth2-clients Op **Premium**-accounts beheert u de clients vanuit **Beheer → Import/Export**, sectie **OAuth2**, met de knop OAuth2. Voor de toegang is eerst het **beheerderswachtwoord** vereist — een extra bevestiging voordat het scherm opengaat. Het scherm toont de geregistreerde clients en, voor elk daarvan, de **status** (actief / inactief), de **naam**, de **scopes**, de **contactpersonen** en de **URI's** (website, logo, redirect-URI's). U kunt: - **Een client registreren** — vul de naam in, een optionele `software_id`, de scopes, de contactpersonen, de website, het logo en de redirect-URI's. Bij het aanmaken toont Omniscol **één enkele keer** de `client_id` en de `client_secret`. - **Een client wijzigen** — alleen veilige velden zijn te wijzigen: naam, scopes, contactpersonen, website en logo. De redirect-URI's, de `software_id` en het geheim wijzigt u hier niet. - **Een client activeren of deactiveren** — bij een gedeactiveerde client worden de tokens al bij de eerstvolgende aanroep geweigerd. - **Een client verwijderen** — het verwijderen is **definitief**. ##### Het geheim van de client De `client_secret` wordt **één enkele keer** getoond, bij de registratie. Omniscol bewaart aan zijn kant alleen een **vingerafdruk** van het geheim, nooit het geheim in leesbare vorm: het kan daarna **niet** opnieuw worden getoond of opgehaald. Kopieer het meteen naar een secretsmanager. De `client_id` daarentegen is **deterministisch**: die wordt afgeleid van de naam van het account, de naam van de client en een vingerafdruk van zijn technische metadata. Twee volstrekt identieke registraties komen zo op dezelfde identificatie uit. ##### Het geheim vernieuwen (rotatie) De **rotatie** van het geheim bestaat: ze geeft een nieuw geheim uit, bewaart daarvan alleen de nieuwe vingerafdruk en geeft dat nieuwe geheim **maar één keer** terug. Ze verloopt via het beheer-endpoint van de dynamische registratie (`/oauth/register//rotation`) en veronderstelt dat u het **registratietoken** meestuurt dat bij de dynamische registratie aan de client is verstrekt. Ze wordt dus **niet** gestart vanuit het beheerscherm hierboven, dat dit token niet gebruikt. #### OAuth2 of API-sleutel: wat kiest u Omniscol biedt twee mechanismen voor machinetoegang, met verschillende vertrouwensmodellen: - **OAuth2** (deze pagina) — een **geregistreerde derde partij** krijgt, na **toestemming** van een gebruiker, een token met een **korte** levensduur (1 uur), begrensd tot de toegekende scopes, **vernieuwbaar** en **intrekbaar** (door de client te deactiveren). De flow `client_credentials` dekt daarnaast machine tot machine zonder gebruiker. Dit is de werkwijze die past bij een geïdentificeerde externe dienst, bij MCP en bij OneRoster. - **API-sleutel** (zie [Omniscol-API](#page-integrations.api-tokens)) — een **op zichzelf staand token** dat door de server is ondertekend, dat een **lijst met toegestane endpoints** meedraagt en dat u zelf aan het externe systeem doorgeeft: geen geregistreerde derde partij, geen toestemmingsscherm, geen vernieuwing. Het is een delegatie, door de beheerder, van zijn eigen rechten aan een systeem dat hij zelf in de hand heeft. Kortom: de **API-sleutel** past wanneer u zelf toegang verstrekt aan een systeem dat u beheert; **OAuth2** past wanneer een geïdentificeerde externe dienst gedelegeerde toegang moet krijgen die tot bepaalde scopes beperkt en intrekbaar is, of wanneer het protocol dat oplegt (MCP, OneRoster). #### Stappenplan — Een OAuth2-client registreren 1. **Open het OAuth2-scherm.** Klik in **Beheer → Import/Export**, sectie OAuth2, op OAuth2 en voer daarna het beheerderswachtwoord in. 2. **Registreer de client.** Vul zijn naam in, zijn scopes (`read:basic`, `read:user`, `write:data`, `admin`), zijn redirect-URI's en, als dat nuttig is, contactpersonen, website en logo. De OneRoster-scopes worden hier niet via de dynamische registratie toegekend; die vragen om een inrichting door een beheerder. 3. **Kopieer de getoonde `client_id` en `client_secret`.** Het geheim verschijnt **maar één enkele keer**: bewaar het in een secretsmanager. 4. **Aan de kant van de dienst** configureert u de client met deze gegevens en de URL van de server; een conforme client vindt de endpoints zelf via `/.well-known/`. 5. **Om een toegang te beëindigen**, keert u terug naar het scherm en **deactiveert** of **verwijdert** u de client. #### Zie ook - [MCP — een externe AI-agent aansluiten](#page-integrations.mcp) - [Omniscol-API](#page-integrations.api-tokens) - [OneRoster](#page-integrations.oneroster) - [OIDC / SSO](#page-integrations.oauth2) - [Overzicht van de integraties](#page-integrations.overview) ### 9.6 API-aanpassingen: endpoint-overrides en hooks *Source: `help/nl/integrations/api-customization.md` · id: integrations.api-customization · Audience: admin · Plan: premium · Updated: 2026-06-27* > **Premium** > _Premium_ **API-aanpassingen** is een technisch scherm, bestemd voor de **ICT-afdeling**. Daarmee past u het gedrag van de Omniscol-API voor uw account aan via **drie mechanismen**: - een **algemene configuratie** (gemeenschappelijke HTTP-headers); - de **override van een endpoint** — de webapplicatie naar een andere URL omleiden, of een endpoint uitschakelen; - de **hooks** — uitgaande aanroepen (webhooks) die Omniscol naar uw systeem stuurt zodra er een bewerking plaatsvindt. #### Waar u het vindt Module **Beheer**, scherm **Import/Export**, onderdeel **API-aanpassingen**, knop **API**. Het scherm is **voorbehouden aan Premium-accounts** en beschermd door een **aanvullende authenticatie**: Omniscol vraagt het wachtwoord van de beheerder opnieuw op voordat het venster opengaat. Omdat alles wat u op dit scherm doet het technische contract van uw integratie raakt, gebeurt de inrichting ervan in overleg met Omniscol. #### Algemene configuratie Hier definieert u **HTTP-headers** (formaat `sleutel1:waarde1;sleutel2:waarde2`) die op **alle hooks** worden toegepast. Dit is de aangewezen plek om een **authenticatietoken** naar uw eigen server mee te sturen (bijvoorbeeld een `Authorization: Bearer …` die uw server verwacht). Bij een **override** hoort de authenticatie juist thuis in de headers van het endpoint zelf (zie hieronder). #### Override van een endpoint Een **override** herdefinieert een endpoint van de Omniscol-API, zodat de **webapplicatie** in plaats daarvan **een andere URL** aanroept. Drie toepassingen, van de krachtigste naar de eenvoudigste. ##### Gegevens live uit uw informatiesysteem aanleveren Dit is de krachtigste toepassing. U leidt een **leesendpoint** om naar een **externe URL** — meestal een **ETL** die het **interne informatiesysteem** van uw instelling ontsluit. De webapplicatie haalt de gegevens dan **live** uit dat systeem, in plaats van uit de lokale kopie die Omniscol bijhoudt. Concreet: is de omleidings-URL een **absoluut extern adres**, dan roept de webapplicatie die rechtstreeks aan, zonder omweg via de servers van Omniscol, en **verwerkt het antwoord ongewijzigd** — precies alsof het van Omniscol kwam. De enige voorwaarde is dat uw systeem antwoordt in het **formaat dat Omniscol voor dat endpoint verwacht** (dezelfde JSON-structuur): er is geen tussenliggende omzetting. Voor dat endpoint wordt de lokale kopie van Omniscol niet meer geraadpleegd; wat u ziet, zijn de actuele gegevens uit uw systeem. Voorbeeld: de **vakkencatalogus** van de instelling wordt rechtstreeks uit uw informatiesysteem aangeleverd, zodat elke bijwerking aan de kant van de school meteen zichtbaar is in Omniscol, zonder nieuwe import. De authenticatie naar uw systeem gaat hier mee in de **headers van het endpoint zelf** (bijvoorbeeld een `Authorization: Bearer …`), die u op de regel van de override invult. Ook de HTTP-**methode** kan per endpoint worden opgelegd. Een endpoint van de applicatie zelf omleggen naar een live externe bron is even krachtig als veeleisend: doe dit samen met uw ICT-afdeling en in overleg met Omniscol. ##### Uw eigen server of een proxy ertussen plaatsen U kunt de aanroepen ook via **uw eigen server** of een **proxy** laten lopen — bijvoorbeeld om cross-origin resource sharing (CORS) mogelijk te maken, of om eigen logica tussen de webapplicatie en Omniscol te schuiven. ##### Een endpoint uitschakelen U **schakelt** een endpoint **uit** door er **geen omleidings-URL** aan te geven (methode `null`). Weeg het effect op de interface goed af. Omniscol is een **single-page webapplicatie** (SPA) waarvan de interface-elementen worden aangestuurd door de **beschikbare endpoints**: knoppen, tabbladen en menu's verschijnen alleen als het endpoint waarvan ze afhangen bestaat. Een endpoint uitschakelen laat de interface-elementen die ervan afhangen bij de volgende weergave **dus dynamisch verdwijnen** — en schakelt u alle endpoints van een module uit, dan verdwijnt de **hele module** uit de navigatie. Die elementen worden verwijderd, niet alleen verborgen, en dat alles gebeurt **zonder enige ingreep in de code**: u wijzigt de configuratie en herlaadt de applicatie. De tabel toont per endpoint: de **sleutel** (de interne code van de bewerking), de **oorspronkelijke URL**, de HTTP-**methode**, de **nieuwe URL** van de omleiding en specifieke **headers**. Met een zoekveld vindt u het endpoint terug waarvoor u een override wilt instellen. #### Hooks (uitgaande aanroepen) Een **hook** vraagt Omniscol om **een HTTP-verzoek naar uw URL te sturen**, **nadat** een bewerking geslaagd is. Dit is het mechanisme om **een extern systeem realtime op de hoogte te houden** — een informatiescherm, een elektronische leeromgeving, een hr-systeem, een eigen synchronisatie… Een hook sluit u op twee manieren aan: - op een **specifiek endpoint** (de sleutel van de bewerking); - op een **gegroepeerde gebeurtenis**, die in één keer een hele familie bewerkingen dekt. Er bestaan drie gegroepeerde gebeurtenissen: - **roosterwijziging** — een wijziging die het **geldende rooster** raakt, neveneffecten inbegrepen: het opslaan van een rooster, het aanmaken, verplaatsen of verwijderen van lessen, het activeren van een rooster, afwezigheden van een docent of een klas zodra er een datum geraakt wordt, en structurele verwijderingen (een lokaal, een vak…) op een **gepubliceerd (actief)** rooster — een vak verwijderen wist de lessen die het gebruikten, en dat is op zich al een wijziging. Bewerkingen die beperkt blijven tot een inactief conceptrooster activeren de gebeurtenis niet; - **wijziging van een docent** (toevoegen, bijwerken of verwijderen); - **wijziging van een vak** (aangepaste vakken). Voor elke hook vult u de **callback-URL** in, de HTTP-**methode**, het vakje **“met gegevens”** (moet de body van het oorspronkelijke verzoek meegestuurd worden?) en eigen **headers**. ##### Wat uw server ontvangt De aanroep wordt verstuurd als `application/json` en bevat, naast uw eigen headers: - de **body van het oorspronkelijke verzoek** als de optie “met gegevens” aanstaat; - een blok **metagegevens** van Omniscol: de aangeroepen URL, de code van het endpoint, de methode, de parameters, het authenticatietoken van de gebruiker, de identificatie van de instelling en de configuratie van de hook zelf; - headers voor traceerbaarheid: `X-OS-original-query`, `X-OS-original-endpoint`, `X-OS-auth` en `X-School`. Voor de gebeurtenis **roosterwijziging** bevat de aanroep, wanneer de optie “met gegevens” actief is, bovendien een **verschillenlijst van de lessen** (toegevoegde, gewijzigde en verwijderde lessen) — handig om alleen door te geven wat er veranderd is. ##### Gedrag Hooks worden **op de achtergrond** verstuurd, **nadat** de bewerking van de gebruiker geslaagd is: ze vertragen de interface niet en **blokkeren die niet** als uw server het laat afweten. Een uitgaande aanroep die mislukt, wordt **gelogd**, zonder het werk in Omniscol te onderbreken. Elke aanroep heeft een korte time-out (enkele seconden): uw server moet **snel de ontvangst bevestigen** en de rest aan zijn kant afhandelen. #### Goed om te weten - De Omniscol-API stelt een **deel** van de bewerkingen beschikbaar; een override of een hook geldt alleen voor de endpoints die daadwerkelijk beschikbaar zijn. Zie [Omniscol-API](#page-integrations.api-tokens) voor de lijst en de authenticatie. - Voor een **integratie met een softwarepakket** (ERP, hr-systeem, elektronische leeromgeving) is de speciale synchronisatie vaak geschikter — zie [Synchronisatie met externe systemen](#page-integrations.extsync). Intern wordt hetzelfde hooksysteem gebruikt. - Wilt u dat een **AI-agent** uw gegevens raadpleegt zonder ontwikkelwerk, zie dan [MCP — een externe AI-agent aansluiten](#page-integrations.mcp). #### Zie ook - [Omniscol-API](#page-integrations.api-tokens) - [MCP — een externe AI-agent aansluiten](#page-integrations.mcp) - [Synchronisatie met externe systemen](#page-integrations.extsync) ### 9.7 Volledig gegevensmodel: JSON-entiteiten, relaties en ontologie *Source: `help/nl/integrations/data-model-full.md` · id: integrations.data-model-full · Audience: admin · Status: stable · Updated: 2026-06-18* Deze pagina beschrijft het **volledige gegevensmodel** van een Omniscol-account: de entiteiten, hun belangrijkste velden en hun onderlinge relaties. Ze bouwt voort op de conceptuele pagina [Organisatie van de gegevens](#page-core-concepts.data-model), die het *waarom* uitlegt (schoolregister ↔ rooster, lokale kopieën); hier gaat het om het *wat* — een bruikbare structurele kaart, met name om **het model te koppelen aan een extern register** (ERP-pakket, directoryservice, informatiesysteem). > **Technische pagina.** Deze naslag is bedoeld voor integratie en voor > het afstemmen op een extern systeem. Ze is **niet nodig voor het > dagelijkse gebruik** van Omniscol: zie [Organisatie van de gegevens](#page-core-concepts.data-model) > om te begrijpen hoe de gegevens aan de functionele kant zijn geordend. Alle gegevens van een instelling zijn als een boomstructuur georganiseerd. De hieronder beschreven entiteiten (gebruikers, schooljaren, roosters, afwezigheden, evenementen enzovoort) komen overeen met de verschillende takken van die structuur. De normatieve referentie is het **JSON-schema** van het account. Dat is in twee vormen te raadplegen: - de **onbewerkte bron** (het JSON-schema als zodanig), die het account aanbiedt op `https://api.omniscol.com/api/guest/school_schema.json`; - de **leesbare boomweergave** op [omniscol.com/nl/datamodel](https://www.omniscol.com/nl/datamodel) (en de bijbehorende API-referentie op [omniscol.com/nl/developers](https://www.omniscol.com/nl/developers)). Dat schema beschrijft precies de fysieke opslag in de database, in de vorm van een JSON-document. Deze pagina biedt daarvan een geordende lezing die in de tijd stabiel blijft. #### Het schooldocument: de root Het rootdocument bundelt het duurzame register van de instelling en al haar planningen. De deelbomen op het eerste niveau: | Rootsleutel | Entiteit | Rol | | --- | --- | --- | | `config` | `SchoolConfig` | Instellingen van het account (land, opties, tijdzone, externe synchronisatie) | | `subjects_custom` | woordenboek van `SubjectFull` | Aangepaste vakken van de school | | `families_custom` | woordenboek van `Family` | Aangepaste vakkenfamilies | | `users` | woordenboek van `User` | Gebruikerslijst (alle rollen) | | `school_years` | array van `SchoolYear` | Schooljaren en vakanties | | `timetables` | woordenboek van `Timetable` | Roosters | | `absences` | groepering van `Absence*` | Afwezigheden (docenten, klassen, personeel, leerlingen) | | `staffing` | `Staffing` | Module voor personeelsleden en toezicht | | `panels` | woordenboek van `Panel` | Informatieschermen | | `events` | woordenboek van `Event` | Evenementen van het type agenda | | `api`, `snapshots`, `jobs`, `translations`, `logo` | diverse | Technische instellingen en historische gegevens | De deelbomen die als “woordenboek” zijn aangeduid, zijn JSON-objecten waarvan **de sleutels stabiele identificaties zijn** (het draaipunt van elke externe koppeling — zie de slotsectie). ```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 "domein van de instelling" string name "naam van het account" string country "land van het account" string current_school_year "huidig schooljaar" } ``` #### Overkoepelende velden: `_extids` en `wishes` Twee velden komen op veel entiteiten terug. Om ze niet in elk schema te herhalen, worden ze hier één keer beschreven. - **`_extids`** (`ExternalIds`) — tabel met de identificaties van de entiteit in de externe systemen, bijvoorbeeld `{ "auriga": "12345" }`. Aanwezig op de synchroniseerbare entiteiten (vakken, families, gebruikers, vestigingen, lokalen, resources, docenten, klassen, groepen…). Dat is het **ankerpunt voor de koppeling met een extern register** (zie de slotsectie). - **`wishes`** — **tijdsbeperkingen**: beschikbaarheid, gewenste of te vermijden tijdslots, maximaal aantal lesuren, voorkeurslokaal… Aanwezig op de meeste planbare entiteiten: gebruikers, docenten en vakken van een rooster, groepen, klassen, lokalen, openingstijden van een vestiging, inzetroosters. Afhankelijk van het bereik gelden die beperkingen globaal (schoolniveau) of alleen binnen één rooster. #### Niveau 1 — Het schoolregister Het schoolregister bevat wat waar is voor de instelling, los van welk rooster dan ook: de vakkencatalogus, de gebruikerslijst, de kalender van de schooljaren. ```mermaid erDiagram FAMILY ||--o{ SUBJECT : "family" SUBJECT ||--o{ SUBJECT : "parent" USER ||--o{ PLACEMENT : "plaatsingen per jaar" PLACEMENT ||--o{ PLACEMENT_GROUP : "groups" SCHOOL_YEAR ||--o{ HOLIDAY : "holidays" SUBJECT { string name string short "korte naam (weergave)" string code string parent "bovenliggend vak" string family "familie" string color object _extids "externe identificaties" } FAMILY { string name string code } USER { string login string first_name string middle_name "(indien relevant voor het land)" string last_name string idnumber "officiële identificatie" array roles "admin teacher staff student" string customrole "Aangepaste rol" int servicehours "diensturen ter referentie" bool external "externe docent" object subjects "onderwezen vakken" object wishes "globale beschikbaarheid" object _extids } PLACEMENT { string class "toegewezen klas" string date_start string date_end array groups "toegewezen groepen" } PLACEMENT_GROUP { string group "groep, groep van groepen of virtuele groep" array weeks "weekbereiken" } SCHOOL_YEAR { string name string date_start string date_end array altweeks "afwisselende weken" } HOLIDAY { string name string begin string end } ``` ##### Vakken — `SubjectFull` / `Subject` / `Family` Een aangepast vak (`SubjectFull`) breidt het basisvak (`Subject`: `name`, `short`, `code`, `type`, `_extids`) uit met `parent`, `family` en `color`. Op schoolniveau bestaan er twee herkomsten naast elkaar: de **gemeenschappelijke vakken** van het land (alleen-lezen) en de **aangepaste vakken** van de instelling. Functionele details: [Vakken beheren](#page-admin.subjects). ##### Gebruikers — `User` (inclusief de docenten) Een `User` is de **enige entiteit** van de gebruikerslijst: identiteit (achternaam, voornaam, `idnumber`, contactgegevens), authenticatie (`login`), `roles`, diensturen ter referentie (`servicehours`), globale beschikbaarheid (veld `wishes`) en `placements`. Een **docent** is geen afzonderlijke entiteit: het is een `User` met `teacher` bij zijn `roles` (dezelfde gebruiker kan meerdere rollen combineren). Het veld `placements` (geïndexeerd per schooljaar) koppelt een **leerling** aan een `class` en aan `groups` over een bepaalde periode. Details: [Docenten beheren](#page-admin.teachers). ##### Schooljaren — `SchoolYear` / `Holiday` Een `SchoolYear` legt `date_start → date_end` vast, de lijst met `holidays` en de `altweeks` (afwisselende weken). Het is een **tijdskader**, geen container: de roosters ontvouwen zich erbinnen zonder erin genest te zijn. Zie [Schooljaar](#page-core-concepts.school-year). #### Niveau 2 — Het rooster Een `Timetable` is een samenhangende planningseenheid. Het draagt zijn eigen lokale kopie van de docenten, klassen, groepen en vakken — zie het principe van de lokale kopie in [Organisatie van de gegevens](#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 (groepen van groepen, meerdere groepen)" 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 : "lessons" TIMETABLE_CLASS_GROUP ||--o{ TIMETABLE_CLASS_GROUP : "parent (hiërarchie)" TIMETABLE_CLASS_SUBJECT }o--|| SUBJECT : "herkomst (gedeeltelijke lokale kopie)" TIMETABLE_CLASS_SUBJECT }o--o{ TIMETABLE_TEACHER : "standaarddocenten" TIMETABLE_TEACHER }o--o| USER : "gedeeltelijke lokale kopie en impliciete koppeling via identificatie" GROUPSET_ITEM }o--o{ TIMETABLE_CLASS_GROUP : "samenstellende groepen" TIMETABLE { bool active "gepubliceerd?" array lessons "klasoverstijgende lessen" } TIMETABLE_CONFIG { string type "week cycle calendar" int time_period "duur van het tijdslot" int time_unit "onderverdeling van het tijdslot" array weekdays "werkdagen" string displaymode "hours periods agenda" int cycle "lengte van de cyclus" array dates "grenzen bij calendar" object date_windows "datumvensters voor de roostergeneratie" } TIMETABLE_SITE { string name object distances "afstanden tussen vestigingen" object hours "tijdroosters" } TIMETABLE_CLASSROOM { string name int capacity string specialisation "vrije specialisatie" int maxclasses "gelijktijdige klassen" string building string description "vrije omschrijving" array tags "labels voor kenmerken of uitrusting" } TIMETABLE_RESOURCE { string name int number "beschikbaar aantal" } TIMETABLE_TEACHER { string first_name string last_name string virtual_name "in te vullen functie" array subjects "vakken van de virtuele functie" string idnumber int servicehours "overschrijfbaar per rooster" string classroom "voorkeurslokaal" } TIMETABLE_CLASS { string name string level string campus array sites "slechts één vestiging wordt meegerekend" int studentsnb "theoretisch aantal leerlingen (voor de keuze van een passend lokaal)" string classroom "standaardlokaal" bool offgrid "buiten rooster (calendar)" string videolink "standaard videoconferentielink op alle lessen" string resourcelink "standaard resourcelink (LMS) op alle lessen" } TIMETABLE_CLASS_SUBJECT { string code "overgeërfd van Subject" array incompatibilities "incompatibiliteiten" number pweight "pedagogisch gewicht" array teachers "standaarddocenten" number minutes "beoogd aantal lesuren" string specialisation "vereist lokaal" } TIMETABLE_CLASS_GROUP { string name string code bool free "vrije groep" string parent "bovenliggende groep" int studentsnb "theoretisch aantal leerlingen (voor de keuze van een passend lokaal)" } GROUPSET_ITEM { string name string code array groups "identificaties van groepen" } ``` ##### Configuratie — `TimetableConfig` Het bepalende veld is `type`: `week` (wekelijks herhaald), `cycle` (cyclus over meerdere dagen, zie `cycle`) of `calendar` (werkelijke data, zie `dates`). `time_period` en `time_unit` bepalen het stramien van het rooster; `weekdays` de werkdagen; `date_windows` de datumvensters die de automatische roostergeneratie beperken. ##### Vestigingen, lokalen, resources Een `TimetableSite` (vestiging) bevat zijn `classrooms` (`TimetableClassroom`: `capacity`, `specialisation`, `maxclasses`, `building`) en zijn `resources` (`TimetableResource`: `number` = beschikbaar aantal, waarbij het systeem overboeking voorkomt). `distances` modelleert de reistijden tussen vestigingen. Zie [Vestigingen, lokalen en resources](#page-core-concepts.sites-rooms-resources) en [Lokaalspecialisaties](#page-core-concepts.classroom-specializations). ##### Docenten van het rooster — `TimetableTeacher` Verrijkte gedeeltelijke kopie van een `User`: alleen enkele identificerende velden worden overgenomen (`first_name`, `last_name`, `idnumber`), aangevuld met velden die eigen zijn aan de planning (overschrijfbare `servicehours`, `classroom` als voorkeurslokaal, `wishes` per rooster). Een niet-lege `virtual_name` duidt een **virtuele docent** aan (een nog in te vullen functie, zonder echte `User` erachter). ##### Klassen, vakken van de klas, groepen - **`TimetableClass`**: `name`, `level`, `campus`/`sites`, `studentsnb`, en drie belangrijke deelbomen — `subjects`, `groups`, `lessons`. - **`TimetableClassSubject`**: lokale kopie van een vak (breidt `Subject` uit), verrijkt voor de planning — `minutes` (beoogd aantal lesuren), `pweight` (pedagogisch gewicht), `incompatibilities`, standaard `teachers`, `specialisation` van het lokaal. Een vak toewijzen **met een lestype** maakt een afzonderlijke vermelding per type aan. Zie [Cursussen, lessen, lestypes](#page-core-concepts.lessons-and-types). - **`TimetableClassGroup`**: een deelverzameling van een klas. `free=true` schakelt de conflicten met de rest van de klas uit ([vrije groep](#page-core-concepts.free-groups)); `parent` brengt de [groepshiërarchie](#page-core-concepts.group-hierarchy) tot stand. ##### Regels tussen groepen — klasverdelingen, groepsuitlijningen, groepen van groepen De relaties tussen groepen zitten in de deelboom `groups` van het rooster, in drie vormen: | Schema | Entiteit | Betekenis | Pagina | | --- | --- | --- | --- | | `TimetableGroupTimeset` | klasverdeling | Onderling uitsluitende groepen van **dezelfde klas**, parallel geplaatst (halve klassen, keuzevakken) | [Klasverdelingen](#page-core-concepts.class-divisions) | | `TimetableGroupSpaceset` | groepsuitlijning | Groepen uit **verschillende klassen** die samenwerken op gespiegelde tijdslots | [Groepsuitlijningen](#page-core-concepts.alignments) | | `TimetableGroupGroupset` | groep van groepen | Metagroep (`GroupsetItem`: `name`, `code`, `groups[]`) die meerdere groepen samenbrengt | [Groepen van groepen](#page-core-concepts.groups-of-groups) | Zie ook het overzicht [Klas, groep, subgroep](#page-core-concepts.classes-and-groups). #### Niveau 3 — De lessen Een **les** (`Lesson`) is de onderwijseenheid die daadwerkelijk in het rooster wordt geplaatst: duur, vak, groep, docent(en), lokaal, resources, positie en status. Ze wordt aangemaakt vanuit een vak van een klas (zie niveau 2) en hangt **ofwel aan een klas** (`class.lessons`), **ofwel rechtstreeks aan het rooster** (`timetable.lessons`) — dat laatste geval voor de groepen van groepen en voor de lessen met meerdere groepen, die verschillende klassen overstijgen. ```mermaid erDiagram TIMETABLE_CLASS ||--o{ LESSON : "lessons (lessen van een klas)" TIMETABLE ||--o{ LESSON : "lessons (groepen van groepen, meerdere groepen)" LESSON ||--o{ LESSON : "assoc · concat · weekalt (complexe lessen)" 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 "in aantal periodes" int duration_actual "werkelijke minuten" int duration_accounted "gefactureerde minuten" string modality "in_person remote hybrid self_study" string subject "identificatie van het vak" string group "identificatie van de groep" array teachers "bij null uitdrukkelijk geen docent" string classroom "bij null uitdrukkelijk geen lokaal" string status "planned draft canceled done" string _id "stabiele identiteit van de les" string _osrev "revisie (optimistisch vergrendelen)" } MEMO { string comment string pub "zichtbaarheid van de opmerking" string owner int tstp "tijdstempel" } POSITION { string day "datum, weekdag of nummer van de cyclusdag" int period "index van het tijdslot in het tijdrooster" string start "exacte begintijd HH:MM (alleen buiten rooster)" string end "exacte eindtijd HH:MM (alleen buiten rooster)" bool fixed "vergrendelde les (vast bij de roostergeneratie)" } ``` ##### De kern van een les Een les draagt de planningsvelden — `duration` (in periodes), `duration_actual` / `duration_accounted` (werkelijke / gefactureerde minuten), `modality`, `subject`, `group`, `teachers`, `classroom`, `resources` — aangevuld met haar `position`, haar `status`, haar `memos` en een identiteit (`_id`, `_osrev`). `teachers` of `classroom` op `null` zetten **forceert uitdrukkelijk** dat er geen docent of geen lokaal is. ##### Complexe lessen Eén les kan er **meerdere samenbrengen**: - `assoc` — **gekoppelde** lessen: de groepen wisselen samen. - `concat` — **aaneengeschakelde** lessen: strikt op elkaar volgend. - `weekalt` — **afwisselende weken**: één lesvariant per week. Die mechanismen dekken de **complexe lessen** — zie [Complexe lessen: afwisselend, gekoppeld, aaneengeschakeld](#page-core-concepts.complex-lessons). ##### De positie van een les De `position` is een **object** dat de les in de tijd plaatst. Het bundelt de volgende velden: - **`position.day`** — de dag van de les, **polymorf naargelang de modus van het rooster**: een dagnaam (`monday`…`sunday`) in de weekmodus, een **nummer van de cyclusdag** (`"1"`, `"2"`…) in de cyclische modus, of een **datum** `YYYY-MM-DD` in de kalendermodus. Het is telkens hetzelfde veld dat van vorm verandert naargelang de modus; het is altijd aanwezig. - **`position.period`** — de **index van het tijdslot** in het tijdrooster. Een les zonder `period` en zonder `start`/`end` komt overeen met een feestdag. - **`position.start`** / **`position.end`** — exacte begin- en eindtijd (`HH:MM`), voor lessen **buiten rooster** of in kalendermodus die niet op een standaardtijdslot vallen. - **`position.fixed`** — booleaanse waarde (standaard onwaar): een **vergrendelde** les, die **door de automatische roostergeneratie niet wordt verplaatst**. De lessen van een klas staan in `class.lessons`; de array `timetable.lessons` draagt de **klasoverstijgende** lessen die aan de groepen van groepen gekoppeld zijn. ##### De identiteit van een les Elke les draagt twee technische identiteitsvelden, **aanwezig op Premium-accounts**: - **`_id`** — **stabiele** identificatie, toegekend bij het aanmaken van de les en daarna onveranderlijk (ze combineert een tijdstempel en een vingerafdruk van de inhoud). Het is de **sleutel van een les** voor het gezamenlijk bewerken en voor een externe toepassing die de lessen in de tijd volgt. Voor de **terugkerende voorkomens** van een kalenderrooster (afwisselende weken, aaneenschakelingen, koppelingen) is de `_id` van elk voorkomen **afgeleid** van die van de basisles, die herkenbaar blijft. - **`_osrev`** — token van de **revisie** (optimistisch vergrendelen), bij elke wijziging opgehoogd (tijdstempel + wijzigingsindex), in een strikt alfabetische volgorde (waardoor eenvoudig te zien is of de ene revisie recenter is dan de andere). Daardoor kan het gezamenlijk bewerken **gelijktijdige wijzigingen opsporen en samenvoegen**: een verouderde revisie aan clientzijde wijst op een conflict, dat de server beslecht of samenvoegt in plaats van stilzwijgend te overschrijven. #### Afwezigheden De afwezigheden delen een gemeenschappelijke basis (`Absence`: `date_start`, `date_end`, `reason`, `hours`, `comment`, status), per betrokkene uitgewerkt. ```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 "vertaalsleutel of label" array subjects "betrokken vakken" array classes "betrokken klassen" string status } SUBSTITUTE { string substitute "naam van de vervanger" string date_start "begin van de regel (datum)" string date_end "einde van de regel (datum)" array hours "betrokken tijdslots (begin/end in minuten, day)" array classes "betrokken klassen" array subjects "betrokken vakken" string comment "opmerking" } ABSENCE_STUDENT { string date_start string reason array subjects "uitgesloten vakken" string status } ``` Een `AbsenceTeacher` kan beperkt worden tot bepaalde `subjects`/`classes` en draagt een **array met vervangingsregels** (`substitutes`, elk een `AbsenceTeacherSubstitute`: vervanger, periode, tijdslots, gedekte klassen en vakken). De statussen verschillen per betrokkene (bijvoorbeeld `ok`/`aborted` voor een klas). Zie de woordenlijst [Vervanging / Invalbeurt](#page-glossary.substitution) en de module **Afwezigheidsbeheer**. #### Personeelsleden Afzonderlijke module (ook zelfstandig verkocht) voor toezicht en begeleidingstaken. ```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 "activiteitsperiodes" array days array periods "tijdslots" } STAFFING_ASSIGNMENT { string name int req "minimumaantal toezichthouders" int ideal "gewenste bezetting" string site string priority "high normal low" array allowed_staff } STAFFING_NEED_SPAN { string day "dag of datum" string begin "HH:MM" string end "HH:MM" int headcount "vereiste bezetting" } STAFFING_STAFF_MEMBER { string first_name string last_name string virtual_name "in te vullen functie" string color } STAFFING_SCHEDULE { object dates "diensten per datum" } ``` Een `StaffingGrid` is het sjabloon (dagen, periodes); de `assignments` beschrijven de taken (`req`/`ideal`, `priority`, per tijdslot uitgewerkte `needs` via `StaffingNeedSpan`); het `schedule` legt de werkelijke diensten per datum vast. Zie de module Personeelsinzet. #### Evenementen Een **`Event`** is een **agenda-item dat over het rooster heen wordt gelegd**: iets wat in de instelling gebeurt **zonder een gewone les te zijn** — een rapportvergadering, een ouderavond, een examen van één dag, een excursie, een open dag. De evenementen staan in het woordenboek `events` (sleutels `event-`) en horen bij de Premium-functies. Velden van een `Event` (verplicht: `title`, `start`, `end`): - **`title`** — weergegeven titel. - **`start`** / **`end`** — begin en einde, in het formaat `YYYYMMDDTHHmmSS`. - **`rrule`** — eventuele regel voor **herhaling**. - **`attendees`** — deelnemers: een gebruiker, een klas, een groep, een vrij label (`custom`), of de hele instelling (`everybody`) / iedereen die wil (`anyone`). - **`location`** — plaats(en): een lokaal van het rooster of een vrij label. - **`resources`** — resources die voor het evenement zijn gereserveerd. - **`videolink`** — videoconferentielink om op afstand deel te nemen. - **`memos`** — opmerkingen; **`color`** — kleur (hexadecimaal). Hoe dit in de praktijk werkt (aanmaken, op het rooster plaatsen, velden van de interface) wordt beschreven in [Eenmalige evenementen](#page-schedules.events). #### Informatieschermen Een **`Panel`** is een **informatiescherm** met de lessen van de dag (hal, lokaal, ingangsscherm…). Het legt de selectie van `columns` vast, de `topline`, de `filters`/`exclusions` en instellingen voor de weergave. Zie de woordenlijst [Informatiescherm](#page-glossary.panel). #### Identificaties, lokale kopieën en koppeling met een ERP Om het model van Omniscol aan een extern register te koppelen, gelden drie principes: 1. **De sleutels van de woordenboeken zijn de stabiele identificaties.** Vakken, gebruikers, docenten, klassen, groepen, lokalen en resources worden geïndexeerd op een onveranderlijke identificatie (de JSON-sleutel), niet op hun label. Dat draaipunt — nooit de `name` — moet u voor elke overeenkomst gebruiken. 2. **Het veld `_extids` (`ExternalIds`) draagt de externe identificaties.** Aanwezig op de synchroniseerbare entiteiten (`Subject`, `Family`, `TimetableSite`, `TimetableClassroom`, `TimetableResource`, `TimetableTeacher`, `TimetableClass`, `TimetableClassGroup`, `User`…), koppelt het aan elke entiteit haar identificaties in de systemen van derden, bijvoorbeeld `{ "auriga": "12345", "aimaira": "67890" }`. Dat is het canonieke ankerpunt voor een koppeling in twee richtingen. 3. **De lokale kopie school ↔ rooster is een bewuste keuze.** Een vak van een klas of een docent van een rooster is een verrijkte kopie, geen levende verwijzing. Een extern register moet dus beslissen op welk niveau het aanhaakt: het **schoolregister** (duurzame catalogus) of een bepaald **rooster** (gedateerde planning). De doorwerkingsregels staan in detail in [Organisatie van de gegevens](#page-core-concepts.data-model). De configuratie van de synchronisatie staat in `config.extsync` (`SchoolConfigExtsync`): `systems` (geconfigureerde connectoren), `sync` (richting en entiteiten), `export` en `schedules`, plus de koppeltabellen (`mappings`) per sleutel en per Omniscol-identificatie. Voor programmatische toegang worden de REST-API en de tokens beschreven in [API-tokens](#page-integrations.api-tokens); de connectoren voor synchronisatie in [Externe synchronisatie](#page-integrations.extsync). > De exacte en volledige vorm van elk veld blijft bepaald door het > JSON-referentieschema van het account > (`https://api.omniscol.com/api/guest/school_schema.json`, > leesbare weergave op > [omniscol.com/nl/datamodel](https://www.omniscol.com/nl/datamodel)). Wijkt > deze pagina af van het schema, dan **geldt het schema**. #### Zie ook - [Organisatie van de gegevens](#page-core-concepts.data-model) - [Klas, groep, subgroep](#page-core-concepts.classes-and-groups) - [Klasverdelingen](#page-core-concepts.class-divisions) · [Groepsuitlijningen](#page-core-concepts.alignments) · [Groepen van groepen](#page-core-concepts.groups-of-groups) - [Cursussen, lessen, lestypes](#page-core-concepts.lessons-and-types) · [Complexe lessen](#page-core-concepts.complex-lessons) - [Vestigingen, lokalen en resources](#page-core-concepts.sites-rooms-resources) - [Schooljaar](#page-core-concepts.school-year) - [API-tokens](#page-integrations.api-tokens) · [Externe synchronisatie](#page-integrations.extsync) ### 9.8 Geavanceerde queries — de API filteren, projecteren en pagineren *Source: `help/nl/integrations/advanced-queries.md` · id: integrations.advanced-queries · Audience: admin · Plan: premium · Updated: 2026-07-11* > **Premium** > _Premium_ Naast het aanroepen van één endpoint tegelijk biedt de Omniscol-API **drie zoekingangen**. Samen dekken ze het zoeken in de volledige tekst, het herleiden van een voor mensen leesbare naam tot een technische identificatie, en het uitvoeren van een **gefilterde, geprojecteerde en gepagineerde** query over elk lees-endpoint heen — zonder dat u zelf meerdere aanroepen aan elkaar hoeft te rijgen. Dezelfde bouwstenen beantwoorden de vragen die een **intranet**, een reserveringstool of een **ETL** het vaakst stelt — te beginnen met *“welk lokaal of welke docent is vrij op dit tijdslot?”* (zie [Een vrij lokaal of een vrije docent vinden](#een-vrij-lokaal-of-een-vrije-docent-vinden)). #### De drie ingangen in één oogopslag | Endpoint | Wat het doet | Ideaal voor | | --- | --- | --- | | `POST /api/search` | Globale zoekopdracht in de volledige tekst over het hele account. Splitst uw tekst in woorden (hoofdletter- en accentongevoelig) en geeft de JSON-**paden** terug waar elk woord gevonden is. | Snel nagaan “waar komt deze term voor?”. | | `POST /api/search/entity` | Herleidt een naam tot een entiteit. Kan omgaan met accenten, jokertekens en benaderende overeenkomst (Dice-gelijkenis), en geeft het type, de identificatie en de context van de entiteit terug. | `“4V”` omzetten naar de klas, of `“Marieke de Vries”` naar de docent. | | `POST /api/search/query` | **Query-orkestrator**: roept een lees-endpoint aan en past daarna een `where`-filter, een veldprojectie, een sortering en een paginering toe op het resultaat. | De complexe, gefilterde vragen die anders meerdere aanroepen zouden kosten. | Alle drie staan ze in de interactieve API-referentie (de pagina **/developers**), onder de sectie **Search**, en ze vereisen authenticatie — zie [Omniscol-API](#page-integrations.api-tokens). #### Het filter `where` (in Mango-/MongoDB-stijl) `/api/search/entity` en `/api/search/query` accepteren allebei een `where`-clausule: een gestructureerd filter met **operatoren in MongoDB-stijl**. Een veld komt overeen met ofwel een rechtstreekse waarde (impliciete gelijkheid), ofwel een object met operatoren; meerdere operatoren op hetzelfde veld worden gecombineerd met een impliciete **EN**. De veldnamen accepteren de **puntnotatie** om een bovenliggende context te bereiken (bijvoorbeeld `sites.name`). | Operator | Betekenis | | --- | --- | | `$eq` / `$ne` | Gelijk / niet gelijk | | `$gt` `$gte` `$lt` `$lte` | Vergelijkingen | | `$in` / `$nin` | Waarde binnen / buiten een lijst | | `$exists` | Het veld is aanwezig | | `$regex` | Reguliere expressie (hoofdletterongevoelig) | | `$contains` | Een tekenreeks of een array bevat een waarde (hoofdletterongevoelig) | | `$like` | Benaderende overeenkomst, waarbij accenten en leestekens worden genegeerd (Dice) | | `$and` `$or` `$not` | Logische samenstelling | Een paar voorbeelden: ```json { "capacity": { "$gte": 20, "$lte": 50 } } { "level": { "$in": ["vmbo", "havo", "vwo"] } } { "name": { "$regex": "^lab" } } { "city": { "$like": "s hertogenbosch" } } { "$or": [ { "capacity": { "$gte": 50 } }, { "specialisation": "chemistry" } ] } ``` #### Projectie, sortering en paginering Op `/api/search/query` houden nog vier knoppen het antwoord compact en geordend — wat telt voor een dashboard, en nog meer voor een AI-agent die per token wordt afgerekend: - **`project`** — de lijst met velden die u wilt behouden (puntnotatie toegestaan). Al het overige valt af. - **`sort`** — één veld, `asc` of `desc`. Het pseudoveld `_count.` sorteert op de lengte van een arrayveld. - **`limit`** en **`offset`** — pagineren de resultaten. Het antwoord bevat ook een `meta`-blok: hoeveel elementen er vóór het filteren waren, hoeveel er door het filter zijn gekomen, en hoeveel er zijn teruggegeven. #### Een volledig voorbeeld De lokalen met minstens 30 plaatsen zoeken, alleen hun naam en hun capaciteit behouden, van groot naar klein, en de eerste 20 nemen: ```bash curl -X POST "https://uw-school.omniscol.com/api/search/query" \ -H "Authorization: Bearer $OMNISCOL_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "call": "os_dashboard_classrooms_get", "where": { "capacity": { "$gte": 30 } }, "project": ["name", "capacity"], "sort": { "capacity": "desc" }, "limit": 20 }' ``` `call` is de interne naam van het uit te voeren lees-endpoint (zoals het op de pagina **/developers** wordt weergegeven), `params` bevat de parameters die eigen zijn aan dat endpoint, en `extract_path` wijst zo nodig de array aan die binnen het resultaat gefilterd moet worden — hier weggelaten, wordt die automatisch herkend. #### Een vrij lokaal of een vrije docent vinden De meest voorkomende integratie — een intranet, een reserveringstool of een **ETL** voeden — is *“wie of wat is op dat moment vrij?”*. De **availability**-endpoints beantwoorden dat rechtstreeks: ze geven per entiteit alleen de **vrije** tijdslots op de gevraagde datums terug, waarbij de lessen, de afwezigheden en de verplichte beschikbaarheid al zijn meegerekend. De beschikbaarheid vraagt u op twee manieren op: - **Afgebakend** — `GET /api/schedules/availability/{datesrange}/{entity}` (zo nodig `/{entityId}`) voor één entiteitstype — `teachers`, `classrooms`, `groups`, `resources`… - **Expliciet filter** — `GET /api/schedules/availability/{datesrange}` met een `filter`, waarmee u de verzameling inperkt met dezelfde `$where` als hierboven. `{datesrange}` schrijft u als `YYYYMMDD`, en **segmenten gescheiden door komma's vragen losse datums op** — ideaal voor “twee bepaalde maandagen”: `20261005,20261012`. Elk teruggegeven tijdslot bevat `day`, `start`, `end` en `time` (in minuten): “minstens 3 uur” wordt aan uw kant dus een test `time >= 180`. ##### Een docent die vrij is op een bepaald tijdslot *“Welke docenten zijn vrij op maandag 5 oktober?”* — één enkele afgebakende aanroep: ```bash curl -G "https://uw-school.omniscol.com/api/schedules/availability/20261005/teachers" \ -H "Authorization: Bearer $OMNISCOL_TOKEN" \ --data-urlencode "with_entities=true" ``` De vrije tijdslots komen gegroepeerd terug, eerst per soort en dan per docent — bijvoorbeeld `{ "availability": { "teachers": { "d.devries": [ { "day": "2026-10-05", "start": "14:00", "end": "17:00", "time": 180 } ] } } }` — en uw tool kiest het tijdslot dat het gewenste moment dekt. ##### Lokalen van een bepaalde omvang, vrij op twee maandagen Combineer een entiteitsfilter en de beschikbaarheid in één enkele aanroep, met een **nuttige deelverzameling** van de syntaxis — enkel `$where` op de capaciteit: ```bash curl -G "https://uw-school.omniscol.com/api/schedules/availability/20261005,20261012" \ -H "Authorization: Bearer $OMNISCOL_TOKEN" \ --data-urlencode 'filter={"classrooms":[{"$where":{"capacity":{"$gte":30}}}]}' \ --data-urlencode "with_entities=true" ``` Omniscol geeft de vrije tijdslots terug, op beide maandagen, van elk lokaal met minstens 30 plaatsen. Uw ETL houdt vervolgens de lokalen over die op **elk** van de datums een venster van **3 uur** hebben (`time >= 180`) — het samenstellen over meerdere dagen blijft aan uw kant, wat de regel expliciet en controleerbaar houdt. Het `filter` accepteert, per entiteitstype, een eenvoudige lijst met identificaties (`{"classrooms":["A101","B204"]}`), een jokerteken (`{"teachers":"*"}`), een eenvoudige veldovereenkomst (`{"teachers":[{"email":"…"}]}`) of de gestructureerde `$where` die hier getoond wordt. #### De juiste ingang kiezen - **“Waar komt dit woord voor?”** → `POST /api/search`. - **“Met welke entiteit komt deze naam overeen?”** → `POST /api/search/entity`. - **“Geef me de lokalen met meer dan 30 plaatsen, gesorteerd, eerste pagina”** → `POST /api/search/query`. - **“Wie of wat is vrij op dit tijdslot?”** → `GET /api/schedules/availability/…`. #### Voor een AI-agent Deze ingangen bestaan voor een groot deel **voor AI-agenten**. Het zoeken in de volledige tekst en de entiteitsresolutie zetten de formulering van een gebruiker (`“docent Jan de Boer”`, `“klas 4V”`) om in precieze identificaties; de query-orkestrator beantwoordt daarna een gefilterde vraag in één enkele aanroep en geeft alleen de gevraagde velden terug — in plaats van meerdere aanroepen en een veel te groot antwoord. Wanneer u een agent aansluit via [MCP — een externe AI-agent aansluiten](#page-integrations.mcp), horen deze tools bij wat hij kan gebruiken. #### Aansluiten op een intranet, een ETL of een partnertool Dezelfde lees-ingangen zijn wat een externe tool dagelijks aanroept. Gangbare vormen: - **Een ophaalactie naar een intranet of een dashboard** — uw pagina roept de lees-endpoints aan (beschikbaarheid, het [endpoint voor de lessen](#page-integrations.lessons-api), de dashboards) met een beperkt **API-token**, en toont het resultaat. Aan de kant van Omniscol hoeft u niets te installeren. - **Een nachtelijke ETL** — een geplande taak haalt op wat ze nodig heeft (de lessen over een datumvenster, de uren van een docent, de bezetting van de lokalen) en laadt dat in uw informatiesysteem. `search/query` houdt elke ophaalactie gefilterd, geprojecteerd en gepagineerd, voor een compact antwoord. - **Een push vanuit uw systeem** — de omgekeerde richting, om Omniscol afgestemd te houden op uw bron van waarheid: een nachtelijke taak kan klassen en docenten bijwerken (`POST /api/external/classes`, `POST /api/external/teachers`) of een catalogus met aangepaste vakken (`POST /api/admin/subjects/custom`) uit uw database laden. - **Een SIS-/ERP-pakket** — voor Aurion, Auriga en soortgelijke systemen is de daarvoor bedoelde connector de juiste tool — zie [Synchronisatie met externe systemen](#page-integrations.extsync). - **Gebeurtenisgestuurd** — om op de hoogte gebracht te worden van een wijziging in plaats van in een lus te blijven bevragen, registreert u een **hook** — zie [API-aanpassingen](#page-integrations.api-customization). Houd elke integratie **beperkt**: een token dat begrensd is tot de endpoints die werkelijk nuttig zijn, dat regelmatig vernieuwd wordt, en alleen-lezen overal waar de integratie alleen leest. Zie [Omniscol-API](#page-integrations.api-tokens). #### Zie ook - [Lessen-API](#page-integrations.lessons-api) - [Omniscol-API](#page-integrations.api-tokens) - [MCP — een externe AI-agent aansluiten](#page-integrations.mcp) - [Volledig gegevensmodel](#page-integrations.data-model-full) - [Ingebouwde AI-assistent](#page-integrations.ai-assistant) - [Overzicht van de integraties](#page-integrations.overview) ### 9.9 De lessen-API — de lessen ophalen voor elke willekeurige datum *Source: `help/nl/integrations/lessons-api.md` · id: integrations.lessons-api · Audience: admin · Plan: premium · Updated: 2026-07-11* > **Premium** > _Premium_ Wanneer iets buiten Omniscol moet weten *wat er gebeurt, en wanneer*, is dit het endpoint dat wordt aangeroepen: ``` GET /api/schedules/lessons/{datesrange} ``` Het geeft de **gedateerde lessen** uit uw roosters terug — elke les geplaatst op haar werkelijke datum — voor de gevraagde datums en entiteiten. Bijna elke integratie (een intranet, een ETL, een partnertool) begint hier. Deze pagina loopt de parameters langs die er één endpoint van maken voor uiteenlopende toepassingen. #### Lessen versus structuren Twee endpoints, twee rollen: - **`GET /api/schedules/lessons/{datesrange}`** — de **lessen**: elke les geplaatst op een werkelijke datum, met haar vak, docenten, lokaal, groep en duur. Dit is wat u leest om te weten wie waar is, en wanneer. - **`GET /api/schedules/`** — de **structuren**: de gepubliceerde roosters zelf (klassen, vakken, vestigingen, het tijdrooster). Te lezen wanneer u het onderliggende model nodig hebt in plaats van de gedateerde lessen. U kunt de structuren ook in de aanroep van de lessen opnemen met `with_timetables=true` (zie verderop): één enkele aanvraag geeft dan beide terug. #### De datums kiezen `{datesrange}` wordt geschreven als `YYYYMMDD` en is bewust soepel opgezet: | Vorm | Betekenis | | --- | --- | | `20261005` | Eén bepaalde dag | | `20261005-20261011` | Een gesloten interval (een week) | | `20260901-` / `-20260630` | Aan één kant open | | `20261005,20261012,20261019` | **Losse** datums — drie bepaalde maandagen | | `20261005-20261011,20261102-20261108` | Meerdere intervallen tegelijk | | `` of `-` | Alle datums | Dankzij de losse vorm (gescheiden door komma's) wordt een vraag als “deze drie maandagen” één enkele aanroep. #### Precies opvragen wat u nodig hebt Een `filter` beperkt de aanvraag tot de entiteiten die ertoe doen — dezelfde filtergrammatica als bij de beschikbaarheids-endpoints ([Geavanceerde queries](#page-integrations.advanced-queries)): - een eenvoudige lijst met identificaties — `{"classes":["4a","4b"]}`, - een jokerteken — `{"teachers":"*"}`, - een eenvoudige veldovereenkomst — `{"classrooms":[{"site":"noord"}]}`, - of een gestructureerde `$where` — `{"classrooms":[{"$where":{"capacity":{"$gte":30}}}]}`. Het resultaat is gegroepeerd **per filtertype en daarna per entiteitsidentificatie** — bijvoorbeeld `schedules.classes.4a.lessons[]`, `schedules.teachers.d-devries.lessons[]`. Dezelfde array wordt tijdens een overgangsperiode nog steeds aangeboden onder haar oude naam `courses[]`: baseer uw integratie op `lessons[]`. Twee andere parameters bakenen de extractie af, en een laatste stelt er een plafond aan: - **`timetables_restrict`** / **`timetables_exclude`** — roosteridentificaties beperken of uitsluiten (tekenreeks, CSV of array). - **`limit`** — het aantal per filter teruggegeven lessen begrenzen. #### Hoe een les eruitziet Elk item in `lessons[]` is een geplaatste les: ```json { "position": { "day": "2026-10-05", "period": 0, "start": "8:15", "end": "9:10" }, "duration": 2, "subject": "wiskunde", "teachers": ["d-devries"], "classroom": "noord:B12", "class": "4a", "schedid": "3" } ``` - **`position.day`** is de datum van de les. - **`position.period`** is de index van de les op het tijdrooster van het rooster — aanwezig bij lessen die op het tijdrooster staan. Een les buiten rooster (met eigen expliciete `start`/`end`, buiten de gewone tijdslots) draagt in plaats daarvan `start`/`end`, zonder `period`. - **`position.start`** / **`position.end`** (kloktijden) horen altijd bij een les buiten rooster, en komen erbij op de lessen op het tijdrooster wanneer u **`with_hours=true`** meegeeft (vooraf berekende tijden). Zet dit aan wanneer uw doelsysteem de kloktijden nodig heeft in plaats van de index op het tijdrooster. #### Afwezigheden, annuleringen en vervangingen Standaard **verwerkt het endpoint de afwezigheden**: een afwezige docent wordt van de les gehaald, en een les zonder overgebleven docent geldt als geannuleerd en valt weg. Verschillende schakelaars veranderen dat: - **`without_absences`** — de afwezigheden volledig negeren; het ruwe geplande rooster teruggeven. - **`with_absences`** — de ruwe afwezigheden van de periode naast de lessen toevoegen. - **`with_cancelcourses`** — de geannuleerde lessen (alle docenten afwezig) behouden in plaats van ze weg te laten. - **`with_studentcancelcourses`** — alleen de lessen behouden die door de afwezigheid van een leerling geannuleerd zijn. - **`with_removedcourses`** — de verwijderde lessen teruggeven (sluit `with_cancelcourses` uit). - **`without_teacher_consolidation`** — de afwezige docenten in de lijst `teachers` van elke les behouden in plaats van ze eruit te halen. - **`without_holidays`** — de vakanties niet in het bereik invoegen. Wanneer er voor een afwezigheid een vervanger is aangewezen, neemt die standaard **eenvoudigweg de plaats in van de afwezige docent in de lijst `teachers`** van de les — de vervanging verloopt onzichtbaar, zonder extra veld. Geeft u **`with_cancelcourses`** of **`without_teacher_consolidation`** mee, dan draagt de les daarbovenop een blok **`substitutes`** (de identificatie van de vervanger, de reden van de afwezigheid en de afwezigheid die haar heeft opgelegd), zodat u in hetzelfde antwoord ziet wie vervangen is en waarom. #### Structuren en referentielijsten Voeg de nuttige referentiegegevens toe, in dezelfde aanroep: - **`with_timetables=true`** — de ruwe structuren van de roosters die gebruikt zijn om de lessen te berekenen (klassen, vakken, tijdrooster, per identificatie). Zet dit aan om de identificaties te herleiden; laat het uit voor een compact antwoord. - **`with_entities=true`** — lichte naam/code (en de naamvelden van personen) van de entiteiten in het resultaat. - **`with_teachers`** / **`with_all_teachers`** — de docenten die op de lessen gebruikt worden, of alle docenten uit het rooster en de gebruikerslijst. - **`with_students`** — de leerlingen, met hun plaatsingen per datum. - **`with_events=true`** — de evenementen buiten rooster (rapportvergaderingen, ouderavonden…) binnen hetzelfde bereik. #### Een nachtelijke ETL-extractie Een week aan lessen ophalen voor alle klassen, met de kloktijden, en die laden in uw informatiesysteem: ```bash curl -G "https://uw-school.omniscol.com/api/schedules/lessons/20261005-20261011" \ -H "Authorization: Bearer $OMNISCOL_TOKEN" \ --data-urlencode 'filter={"classes":"*"}' \ --data-urlencode "with_hours=true" ``` Het antwoord groepeert de lessen onder `schedules.classes..lessons[]`. De afwezigheden zijn al verwerkt: wat u laadt, weerspiegelt het werkelijke, actuele rooster — voeg `with_absences=true` toe als u ook de reden van een wijziging wilt vastleggen. #### Gegevens naar Omniscol sturen De integratie werkt ook de andere kant op — om Omniscol in lijn te houden met een externe bron van waarheid. Deze endpoints bestaan **uitsluitend** voor die externe synchronisatie; de Omniscol-interface roept ze zelf nooit aan: - **`POST /api/external/classes`** (`os_external_classes_post`) — bestaande klassen bijwerken (naam, vestiging, niveau, lokaal, aantal leerlingen) vanuit gegevens die op klasidentificatie zijn geïndexeerd. Het werkt de bekende klassen bij; het maakt er geen nieuwe aan. Zet een veld op `null` om het te wissen (behalve de naam van de klas — een klas behoudt haar naam). - **`POST /api/external/teachers`** (`os_external_teachers_post`) — docenten invoegen of bijwerken op identificatie, zowel in de roosters als in de gebruikerslijst (waarbij de gebruiker zo nodig wordt aangemaakt met de rol docent en een automatisch gegenereerde login). De `DELETE`-varianten verwijderen een klas of een docent. - **`POST /api/admin/subjects/custom`** (`os_admin_subjects-custom_post`) — een **catalogus met aangepaste vakken** laden. De body is `{ "subjects": [ … ], "replace": false, "nodoubles": true }`: standaard incrementeel, `replace: true` voor een volledige verversing, `nodoubles: true` om bestaande vakken te matchen op externe identificatie, code of naam. Dit is het endpoint voor een nachtelijke push van vakken. Er bestaat ook een bijzonder endpoint dat **alleen als override** werkt, `os_external_classes_get`: Omniscol levert er standaard geen enkele implementatie voor, maar zodra een partner of een leverancier het naar zijn eigen dienst laat wijzen (via [API-aanpassingen](#page-integrations.api-customization)), vult het scherm voor het aanmaken van een klas zich vooraf in vanuit die **gesloten lijst met klassen** in plaats van uit het handmatige formulier. Zonder override doet het eenvoudigweg niets. Voor een SIS- of ERP-pakket (Aurion, Auriga…) verdient de speciale connector de voorkeur boven deze ruwe endpoints — zie [Synchronisatie met externe systemen](#page-integrations.extsync). #### Zie ook - [Geavanceerde queries](#page-integrations.advanced-queries) - [Omniscol-API](#page-integrations.api-tokens) - [Volledig gegevensmodel](#page-integrations.data-model-full) - [Synchronisatie met externe systemen](#page-integrations.extsync) - [API-aanpassingen](#page-integrations.api-customization) - [Overzicht van de integraties](#page-integrations.overview) ### 9.10 MCP — een externe AI-agent op Omniscol aansluiten *Source: `help/nl/integrations/mcp.md` · id: integrations.mcp · Audience: admin · Plan: premium · Updated: 2026-06-13* > **Premium** > _Premium_ Het **Model Context Protocol (MCP)** is een open standaard waarmee een MCP-compatibele AI-assistent functionele tools kan gebruiken die een externe dienst aanbiedt. Omniscol biedt een groot deel van zijn API aan als **MCP-server**: een AI-agent kan uw account bevragen met de toegestane API-endpoints of rechten, zodra hij is geauthenticeerd — via OAuth2, de standaardmanier van MCP, of via een token. #### Wat de agent kan doen De MCP-agent werkt bijzonder goed bij **raadpleegvragen** waarvan het antwoord in Omniscol staat: - *“Geef me de bezettingsgraad van de lokalen ten opzichte van de openingstijden deze week.”* - *“Zoek een lokaal dat drie maandagen in oktober op hetzelfde tijdslot van 2 uur vrij is.”* - *“Hoeveel lesuren heeft Jan de Boer in het lopende schooljaar gegeven?”* - *“Wat zijn alle wiskundelessen van vandaag?”* - *“Geef een lijst van de docenten die dit trimester minder dan 70 % van hun diensturen hebben gedaan.”* Zulke vragen combineren doorgaans meerdere tools: het rooster, de statistische dashboards, de berekende beschikbaarheid, de docentfiches. De agent stuurt de aanroepen aan en formuleert het antwoord in natuurlijke taal. #### De aangeboden tools De MCP-server bouwt zijn tools op uit de Omniscol-API-routes die voor MCP zijn toegestaan. Routes die uitdrukkelijk worden overgeslagen en sommige technische modules (bijvoorbeeld rond de authenticatie van gebruikers) worden geen tool. De lijst weerspiegelt dus de API die aan MCP wordt aangeboden, niet alles wat er intern in de toepassing zit. Toch is het een zeer groot deel. Bovendien bestaat er een aantal routes die specifiek voor MCP zijn gemaakt en die Omniscol zelf niet gebruikt. Dat geldt voor de tools voor geavanceerd zoeken, waarmee Omniscol de vrije tekst die een entiteit aanduidt (“docent Jan de Boer”, “klas 4V”) terugvindt met de technische identificatie die daarna dient om de gegevens precies te bevragen. Dat geldt ook voor complexe tools waarvoor Omniscol geen grafische interface heeft, omdat ze zich beter lenen voor een prompt: het zoeken naar de bezetting en de beschikbaarheid van een entiteit bijvoorbeeld (“zoek een lokaal dat 3 maandagen achter elkaar 2 uur in de middag vrij is”, “is er een wiskundedocent beschikbaar in de week van 14 oktober voor 3 uur?”). De tools bestrijken onder meer: - de module **Beheer** (gebruikers, vakken, schooljaren, instellingen), - de module **Roosterbeheer** (configuratie, vestigingen, lokalen, klassen, lessen), - de module **Rooster** (planning, dashboards, zoekopdrachten), - de module **Afwezigheidsbeheer** (melding, statistieken), - de globale zoekfunctie. De leesroutes lenen zich het best voor gebruik door een agent. Er kunnen ook schrijfbewerkingen in de catalogus staan, afhankelijk van de rechten van het token en de beschikbare API, maar die moeten onder toezicht blijven: een verzoek dat meerdere functionele objecten wijzigt, moet door een gebruiker worden gecontroleerd voordat u het als betrouwbaar beschouwt. #### De MCP-server inschakelen De MCP-server is beschikbaar op **Premium**-accounts. Alles begint bij het **MCP-scherm**, dat u opent vanuit de module **Beheer** met **Configureren**: het toont de **URL van de server** volgens het gekozen bereik (globaal of beperkt tot één module) en levert, klaar om te kopiëren, de configuratiegegevens voor uw client. **De standaardauthenticatie van MCP is OAuth2.** Een compatibele client (zoals Claude) maakt gewoon verbinding met de URL van de server, vindt daar de OAuth2-configuratie van het account, en de gebruiker keurt de toegang goed via een toestemmingsscherm: u hoeft **niets anders op te geven dan de URL**. Het toegekende bereik volgt de rechten van het account en de zichtbaarheidsbeperkingen ervan. De OAuth2-server van Omniscol, het beheerscherm voor de clients en de details van de toestemming staan beschreven op [OAuth2 / OIDC (aanbieder)](#page-integrations.oauth-server). Voor een client die geen OAuth2 ondersteunt, genereert hetzelfde scherm een **token** (API-sleutel, vervaldatum, optionele gekoppelde gebruiker, aan te vinken schrijfrechten) en biedt het daarna, klaar om te plakken, de bruikbare formaten aan naargelang het geval: de header `Authorization: Bearer`, de URL met token, het configuratieblok voor **Claude Desktop** (gratis versie) en het commando voor een lokale proxy. Het token steunt op het sleutelsysteem dat in [Omniscol-API](#page-integrations.api-tokens) wordt beschreven. #### Aanbevolen werkwijzen voor de beveiliging - **OAuth2-authenticatie** — handiger, en te verkiezen zodra uw agent die ondersteunt (Claude in de betaalde versie). - **Een apart token voor de AI** — maak een token aan met een sprekend label (`AI-agent — Claude desktop`) dat u zo nodig kunt intrekken. - **Minimaal bereik** — selecteer bij een API-token alleen de API-endpoints die nodig zijn. Beperk bij een OAuth-token de scopes tot wat echt nodig is. - **Activiteitenlogboeken (logs)** — een aanroep verschijnt in de logboeken van het token wanneer de betrokken route wordt gelogd. Die logboeken registreren de aanroep; ze bewaren niet de inhoud van de teruggegeven gegevens en evenmin de herspeelbare inhoud van de aanvraag. - **Zichtbaarheidsbeperkingen** — de agent ziet wat Omniscol hem teruggeeft. Hebt u strikte zichtbaarheidsbeperkingen ingesteld voor de rol van het token, dan gelden die. #### Stappenplan — Claude op Omniscol aansluiten De aanbevolen weg is **OAuth2-authenticatie**: u sluit Claude via de URL op de MCP-server aan, zonder met een token te hoeven werken. 1. **Schakel de MCP-server in** op uw Premium-account en haal de URL ervan op (doorgaans `https://uw-school.omniscol.com/mcp`). Het MCP-scherm (module **Beheer**, knop **Configureren**) toont die volgens het gekozen bereik, met een kopieerknop. 2. **Voeg Omniscol als connector toe in Claude.** Voeg in de connectorinstellingen van Claude een aangepaste connector toe en plak de URL van de MCP-server van Omniscol. 3. **Keur de toegang goed.** Claude stuurt u door naar het toestemmingsscherm van Omniscol: meld u aan en geef toestemming. Het toegekende bereik volgt de rechten van uw account en de eventuele zichtbaarheidsbeperkingen. 4. **De tools verschijnen in Claude**, dat ze aanroept wanneer uw vraag zich daartoe leent. 5. **Eerste test**: *“Hoeveel lesuren heeft Jan de Boer dit jaar gegeven?”* — Claude combineert de toegankelijke gegevens en antwoordt in natuurlijke taal. **Alternatieve methode met een token.** Voor een MCP-client die geen OAuth2 ondersteunt, genereert u vanuit het MCP-scherm een apart token (sprekend label, endpoints beperkt tot wat echt nodig is, schrijfrechten uitdrukkelijk aangevinkt) en geeft u dat door in de header `Authorization: Bearer`. Het MCP-scherm levert het bijbehorende configuratieblok. Kies voor OAuth2 zodra uw client dat ondersteunt. #### Zie ook - [Ingebouwde AI-assistent](#page-integrations.ai-assistant) - [Omniscol-API](#page-integrations.api-tokens) - [Geavanceerde queries](#page-integrations.advanced-queries) - [OAuth2 / OIDC (aanbieder)](#page-integrations.oauth-server) - [Overzicht van de integraties](#page-integrations.overview) ### 9.11 Ingebouwde AI-assistent *Source: `help/nl/integrations/ai-assistant.md` · id: integrations.ai-assistant · Audience: admin · Status: stable · Updated: 2026-06-28* De **ingebouwde AI-assistent** is de gespreksomgeving van Omniscol om vanuit de interface een vraag in natuurlijke taal te stellen. Hij opent zich in het tabblad **AI-assistent** van het helppaneel en is voorbehouden aan beheerders. De assistent steunt op het helpcorpus en, afhankelijk van het contract van het account, op de Omniscol-tools die aan de agent beschikbaar zijn gesteld. Het bereik hangt af van het account: een documentatieassistent antwoordt op basis van de online help, en accounts waarvan het contract daarin voorziet, krijgen daarnaast toegang tot functionele tools die de gegevens van het account bevragen. Om een externe AI-agent op uw account aan te sluiten, gebruikt u [MCP — een externe AI-agent aansluiten](#page-integrations.mcp). #### Wat de assistent behandelt De assistent is bedoeld voor twee soorten vragen: - **documentatievragen** — een werkwijze terugvinden, een begrip uitleggen, naar de juiste helppagina verwijzen; - **operationele vragen** — de gegevens van het account bevragen via de toegestane tools, bijvoorbeeld over lessen, lokalen, docenten, afwezigheden of statistieken. Voorbeelden: - *“Hoe publiceer ik een rooster?”* - *“Waar stel ik de iCal-links in?”* - *“Welke wiskundelessen staan er vandaag gepland?”* - *“Waarom blijven er na deze roostergeneratie niet-geplaatste lessen over?”* #### Rechten en bereik De assistent heeft geen onbeperkte toegang tot het account. Zijn antwoorden en acties hangen af van: - het contract van het account, dat bepaalt of de functionele tools zijn ingeschakeld; - de rechten van de ingelogde beheerder; - de tools die daadwerkelijk aan de agent beschikbaar zijn gesteld; - de gegevens die in Omniscol beschikbaar zijn. Een actie die functionele gegevens wijzigt, wordt pas toegepast na een uitdrukkelijke bevestiging. Gebruik voor externe integraties met AI-agenten [MCP — een externe AI-agent aansluiten](#page-integrations.mcp) en specifieke tokens. #### Aanbevolen werkwijzen - Controleer de voorgestelde acties voordat u ze toepast. - Neem geen gevoelige gegevens op in een gesprek als die niet nodig zijn voor de vraag. - Maak voor een externe agent een specifiek token aan met een minimaal bereik en een passende vervaldatum. #### Zie ook - [MCP — een externe AI-agent aansluiten](#page-integrations.mcp) - [Omniscol-API](#page-integrations.api-tokens) - [Abonnementen en opties van Omniscol](#page-overview.plans-and-options) ### 9.12 OIDC / SSO — inloggen via een identiteitsprovider *Source: `help/nl/integrations/oauth2.md` · id: integrations.oauth2 · Audience: admin · Plan: premium · Updated: 2026-06-13* > **Premium** > _Premium_ OpenID Connect (OIDC), gebouwd op OAuth2, laat uw gebruikers bij Omniscol inloggen **met hun bedrijfsaccount** in plaats van met een apart Omniscol-wachtwoord. Drie voordelen: één wachtwoord om te onthouden, centraal uitschakelen bij de komst of het vertrek van een medewerker, en de automatische toepassing van het beveiligingsbeleid (MFA, wachtwoordlengte, verloop…) dat aan de kant van het informatiesysteem wordt beheerd. Deze pagina beschrijft de **gebruikers-SSO**: hoe personen via uw identiteitsprovider bij Omniscol inloggen. Het omgekeerde geval — Omniscol als OAuth2- / OIDC-**server** waarmee externe diensten verbinding maken, met het bijbehorende scherm voor het beheer van de clients — komt aan bod op [OAuth2 / OIDC (aanbieder)](#page-integrations.oauth-server). #### Ondersteunde providers Omniscol ondersteunt: - **Google Workspace**, - **Microsoft Entra ID** (voorheen Azure AD), - **Keycloak**, - een **generieke OIDC-provider** via zijn issuer- / discovery-URL (elke OIDC-conforme provider). #### Configureren aan de Omniscol-kant In **Beheer** → **Instellingen**, in de sectie **Beveiliging**, opent de knop **Configureren** het OIDC-configuratiescherm, waar u de provider aangeeft: - **Weergavenaam** — het opschrift dat op de inlogknop verschijnt (bijvoorbeeld `Doorgaan met Google`). - **Type provider** — Google, Microsoft Entra ID (Azure AD), Keycloak of generiek OIDC. - **Tenant / issuer** — de Microsoft-tenant voor Entra ID, of de issuer-URL voor Keycloak en generieke OIDC-providers. De OIDC-metadata worden daarna via discovery door de applicatie opgehaald. - **Client ID** en **Client secret** — verkregen door aan de kant van de provider een applicatie aan te maken (zie de documentatie van de provider). - **Scopes** — standaard `openid profile email`. Voeg zo nodig de providerspecifieke scopes toe. - **Toegestane domeinen** — een optionele lijst van e-maildomeinen die bij het inloggen via SSO worden geaccepteerd; laat u die leeg, dan wordt er niet op domein gefilterd. - **Redirect-URL** — Omniscol geeft u de exacte waarde om in de configuratie aan de kant van de provider te plakken (en ook de redirect-URL na uitloggen, als de provider daarom vraagt). - Alleen SSO-inlog — zodra de SSO is gevalideerd, weigert deze optie het inloggen met een Omniscol-wachtwoord, behalve voor de hieronder beschreven **noodaccounts**. De actuele SSO-configuratie wordt op het niveau van het schoolaccount vastgelegd. #### Noodtoegang (break-glass) In de modus **Alleen SSO-inlog** wordt het inloggen met een Omniscol-wachtwoord geweigerd: iedereen gaat via de identiteitsprovider. Wordt die provider onbereikbaar — een storing, een verlopen secret, een configuratiefout — dan zou de toegang tot Omniscol voor iedereen geblokkeerd zijn. Het **noodaccount (“break-glass”)** is de waarborg tegen die blokkade: een **beheerdersaccount** dat met een Omniscol-wachtwoord mag inloggen, ook wanneer de exclusieve SSO-modus actief is. - In de fiche van een **beheerdersaccount** verschijnt een selectievakje **Break-glass (SSO only)** zodra de optie **Alleen SSO-inlog** actief is. Vinkt u dat aan, dan mag dit account met een wachtwoord inloggen als de identiteitsprovider onbereikbaar is. Alleen beheerdersaccounts komen daarvoor in aanmerking. - De Omniscol-support behoudt daarnaast een eigen, onafhankelijke noodtoegang. Wijs minstens één noodaccount aan **voordat** u de exclusieve SSO-modus inschakelt, en bewaar het wachtwoord ervan op een veilige plek: het is uw vangnet als de identiteitsprovider uitvalt. #### Configureren aan de providerkant (voorbeelden) ##### Google Workspace 1. Google Cloud Console > **APIs & Services > Credentials**. 2. **Een OAuth 2.0-client-ID aanmaken**, type **Webapplicatie**. 3. Plak de door Omniscol verstrekte redirect-URL in **Authorized redirect URIs**. 4. Haal de **Client ID** en het **Client secret** op om ze in Omniscol te plakken. ##### Microsoft Entra ID 1. Azure-portaal > **Entra ID > App registrations**. 2. **New registration**, type **Web**, redirect-URL van Omniscol. 3. **Certificates & secrets** > maak een client secret aan. 4. **API permissions** > voeg `openid`, `profile`, `email` toe. 5. Haal de **Application (client) ID** en het secret op. ##### Keycloak 1. Realm > **Clients > Create client**, type **OpenID Connect**. 2. **Valid redirect URIs**: de door Omniscol verstrekte URL. 3. **Credentials** > haal het client secret op. #### Koppelen aan de Omniscol-accounts Wanneer een gebruiker op de SSO-knop klikt, gaat Omniscol als volgt te werk: 1. het verwijst hem door naar de provider, 2. het haalt na de authenticatie zijn e-mailadres op, 3. het zoekt een Omniscol-account met **hetzelfde e-mailadres**. Bestaat het account en is het actief, dan wordt de gebruiker ingelogd. Zo niet, dan wordt de toegang geweigerd. Gevolg: om SSO te laten werken, moeten de gebruikers in Omniscol bestaan met het juiste e-mailadres — het aanmaken gebeurt aan de kant van Omniscol standaard niet automatisch. #### Automatische provisioning van accounts Het automatisch aanmaken van accounts bij het eerste inloggen via SSO (`just-in-time provisioning`) is niet het standaardgedrag van het configuratiescherm. Is die modus nodig, dan moet hij samen met Omniscol worden afgebakend. #### Stappenplan — Een OIDC- / SSO-provider configureren 1. **OIDC / SSO** laat uw gebruikers inloggen met hun bedrijfsaccount (Google Workspace, Microsoft Entra ID, Keycloak, Okta…). Het deel aan de kant van de provider hangt van de provider af. 2. **Aan de kant van de provider** maakt u eerst een OIDC-applicatie van het type **Webapplicatie** aan: haal de **Client ID** en het **Client secret** op en kopieer de door Omniscol verstrekte **redirect-URL** naar de *Authorized redirect URIs* van de provider. 3. **Aan de kant van Omniscol** opent u de instellingen en daarna de OIDC-configuratie. Vul de **weergavenaam** in (het opschrift van de inlogknop), het type provider, de issuer of de tenant naargelang het geval, de Client ID, het Client secret en de **scopes** (standaard: `openid profile email`). 4. **Klik op Testen.** Controleer of de configuratie werkt. Omniscol doorloopt een OIDC-uitwisseling heen en terug; bij een fout in de discovery, het secret of de redirect is de foutmelding duidelijk. 5. **Sla op.** De SSO-inlogknop verschijnt op de inlogpagina zodra de configuratie actief is. 6. **Belangrijk: de accounts moeten bestaan** in Omniscol met het juiste e-mailadres. Het inloggen via SSO matcht op e-mail; standaard geen automatische provisioning. #### Zie ook - [Eerste keer inloggen](#page-getting-started.first-login) - [Gebruikers en rollen](#page-admin.users-and-roles) - [OAuth2 / OIDC (aanbieder)](#page-integrations.oauth-server) - [Overzicht van de integraties](#page-integrations.overview) ### 9.13 Synchronisatie met externe systemen (ERP) *Source: `help/nl/integrations/extsync.md` · id: integrations.extsync · Audience: admin · Plan: premium · Updated: 2026-06-13* > **Premium** > _Premium_ Omniscol koppelt met de ERP's en externe informatiesystemen van instellingen via één uniform framework voor **synchronisatie**. Omniscol vervult daarbij de rol van **centraal punt**: het stuurt de imports en de exports aan, terwijl het externe systeem de administratieve bron van waarheid blijft. De synchronisatie met externe systemen is beschikbaar op **Premium**-accounts, zodra er voor het account een connector is geconfigureerd. Wat **per project** wordt behandeld, is het toevoegen van een ERP of informatiesysteem dat nog niet wordt ondersteund, met afstemming van de mapping en de gegevensstromen. #### Model van de gegevensstromen Het framework dekt twee richtingen: - **Entiteiten (inkomend)** — Omniscol kan uit het ERP de docenten, vakken, lokalen, klassen, leerlingen en hun externe identificaties ophalen, afhankelijk van de connector en de configuratie. De ext-id-verwijzingen blijven in Omniscol bewaard om de gegevens te kunnen afstemmen. - **Lessen (uitgaand)** — Omniscol stuurt de lessen die uit zijn planning voortkomen naar het ERP, met de juiste ext-id-verwijzingen. Afhankelijk van de connector kan de export op verzoek worden gestart, worden ingepland, of volledig in batch worden overgedaan om verschillen weg te werken. Omniscol orkestreert de geconfigureerde imports en exports, bewaart de externe identificaties, beheert de synchronisatierondes en biedt controleschermen om de gegevens tussen Omniscol en het externe systeem op elkaar af te stemmen. #### Bron en rechten om lokaal aan te maken Voor elk entiteitstype (docenten, vakken, lokalen enzovoort) selecteert u het bronsysteem en geeft u aan of lokaal aanmaken en lokaal bijwerken toegestaan blijven. Het scherm bevat ook een knop **Koppeling** om een lokale Omniscol-entiteit te koppelen aan een ERP-entiteit wanneer beide al bestaan. #### Ontologieën overbruggen Elk ERP heeft zijn eigen vocabulaire (bijvoorbeeld: “vak” in Omniscol = **Unité Pédagogique** in Auriga = **Cours** in Aurion). Het framework verzorgt de **mapping**: Omniscol legt zelf het verband tussen de concepten aan de ene en aan de andere kant, u hoeft uw eigen nomenclatuur niet te herschrijven. #### Beschikbare connectoren ##### Beschikbaar - **Aurion** — connector beschikbaar in productie. ERP **uitgegeven door het bedrijf Auriga**, vooral gebruikt in het Franse hoger onderwijs (ingenieursscholen, business schools). Zie [integrations.aurion](#page-integrations.aurion). - **Auriga** — connector beschikbaar in productie. **Auriga als software** is de volledig webgebaseerde doorontwikkeling van Aurion, van hetzelfde bedrijf. Zie [integrations.auriga](#page-integrations.auriga). ##### Standaard voor schoolgegevens - **OneRoster** — in plaats van een connector die eigen is aan één leverancier, ondersteunt Omniscol de internationale standaard **OneRoster** (1.2 en geavanceerde groepen) om schoolgegevens over personen en groepen uit te wisselen met een standaardconform SIS, ELO of LMS. Het importeren van OneRoster-gegevens valt onder deze Premium-synchronisatie; de export daarentegen wordt alleen-lezen geleverd en is afgeschermd met OAuth2-scopes. Zie [OneRoster](#page-integrations.oneroster). ##### Op aanvraag Elk ERP of informatiesysteem dat een **gedocumenteerde API** voor import- en exportacties en een **sandbox** om in te werken aanbiedt, kan per project worden geïntegreerd. Neem contact op met de Omniscol-support om het toevoegen van een nieuwe connector af te bakenen. #### Verschil met systemen die Omniscol bevragen Sommige systemen kunnen gegevens uit Omniscol ook ophalen via de **GET**-endpoints van de publieke API: in dat geval orkestreert Omniscol geen ERP-synchronisatie, het systeem van derden bevraagt alleen de gegevens waartoe zijn token toegang geeft. Dat model verschilt van de synchronisatie die Omniscol orkestreert: | Model | Wie orkestreert? | Richting | Voorbeeld | | --- | --- | --- | --- | | **Synchronisatie met externe systemen** | Omniscol | In twee richtingen (entiteiten in, lessen uit) | Auriga, Aurion | | **Partner pull** | De partner | De partner doet GET-aanroepen | Connector van derden via de API | Het partner-pullmodel heeft geen configuratie van de synchronisatie met externe systemen nodig: de publieke API en de authenticatietokens volstaan. Zie [Omniscol-API](#page-integrations.api-tokens). #### Configuratie Het opzetten van een synchronisatie met externe systemen vraagt doorgaans een sessie met de Omniscol-support om: 1. **De te synchroniseren objecten te inventariseren** — gebruikers, klassen, docenten, vakken, lokalen enzovoort. 2. **De ontologische mapping af te stellen** — welk ERP-concept overeenkomt met welk Omniscol-concept. 3. **De exclusiviteit vast te leggen** per entiteitstype. 4. **De frequentie van de rondes in te stellen** (op verzoek, per uur, dagelijks, plus een ronde om verschillen weg te werken). 5. **Te testen op een ERP-sandbox** vóór de ingebruikname. #### Controles en routinehandelingen - **Verificatie** van de geconfigureerde favorieten of datasets, afhankelijk van de connector. - **Handmatig starten** van een export van lessen vanuit het beheerscherm. - **Geplande volledige export** wanneer die optie in het exportblok is geconfigureerd. - **XML Pivot van Aurion** wanneer de Aurion-connector wordt gebruikt. - **Controle van de koppelingen**: de koppelingsschermen tonen welke entiteiten nog gekoppeld of gecorrigeerd moeten worden. #### Stappenplan — Een synchronisatie controleren en starten 1. **Zodra de synchronisatie is geconfigureerd** door de Omniscol-support, verlopen de routinehandelingen via het beheerscherm: de favorieten/datasets verifiëren, de entiteiten koppelen, een losse export starten, het Aurion-pivotbestand downloaden als dat beschikbaar is, of de exportstatus wissen bij een overgang. 2. **In de configuratie van het systeem** gebruikt u de knoppen **Verifiëren** van de ingevulde favorieten of datasets. Omniscol haalt de gegevens bij de connector op en meldt fouten in de configuratie of in het formaat wanneer de connector die doorgeeft. 3. **Om de lessen meteen naar het ERP te sturen** zonder op de volgende geplande ronde te wachten, klikt u op **Uitvoeren**. Handig na een dringende wijziging. 4. **Met Aurion** downloadt de knop **XML Pivot** een bestand dat de ERP-beheerder handmatig inleest via de console van het ERP, wanneer voor die werkwijze wordt gekozen. 5. **Bij een ingrijpende overgang** (structuurwijziging, einde van het schooljaar) verwijdert de knop **Purge Omniscol** **aan de ERP-kant** alle lessen die Omniscol daarheen heeft geëxporteerd, om weer van nul te beginnen. De actie geldt voor de geselecteerde connector en is **onomkeerbaar**: gebruik ze alleen na akkoord van de support. #### Zie ook - [integrations.aurion](#page-integrations.aurion) - [integrations.auriga](#page-integrations.auriga) - [OneRoster](#page-integrations.oneroster) - [Omniscol-API](#page-integrations.api-tokens) - [Import en export](#page-admin.import-export) - [Overzicht van de integraties](#page-integrations.overview) ### 9.14 OneRoster (1.2 en geavanceerde groepen) *Source: `help/nl/integrations/oneroster.md` · id: integrations.oneroster · Audience: admin · Plan: standard · Updated: 2026-06-29* OneRoster is een internationale standaard voor de uitwisseling van schooladministraties (uitgegeven door 1EdTech): hij beschrijft, in een gemeenschappelijk formaat, de **instellingen**, de **schooljaren**, de **cursussen**, de **klassen**, de **inschrijvingen** en de **gebruikers** van een school. Hij dient om een SIS, een ELO of een LMS aan een andere toepassing te koppelen zonder overtypen en zonder propriëtair formaat. Deze pagina is bedoeld voor de **ICT-afdeling** van de instelling. Ze beschrijft wat Omniscol in OneRoster beschikbaar stelt en inleest, de verwachte authenticatie en het werkelijke bereik van elke uitwisselingsrichting. #### Ondersteunde versies Omniscol ondersteunt **OneRoster 1.2 Rostering** — de basislaag (Org, AcademicSession, Course, Class, Enrollment, User, Demographics) — en daarnaast de laag **OR-Groups (Advanced Groups Service)**, de additieve groepenstandaard die drie entiteiten (Group, GroupMembership, GroupAssociation) boven op 1.2 toevoegt. De laag OR-Groups is een **standaard die nog wordt gepubliceerd**. Ze is strikt additief op 1.2: een Group **verwijst** alleen naar de Class / User / Org / AcademicSession van 1.2, alleen-lezen. Versie 1.3 van OneRoster is aangekondigd om van Class een specialisatie van Group te maken — een richting waarmee de implementatie van Omniscol nu al convergeert. #### Omniscol als aanbieder (Omniscol → ELO / LMS) Als **aanbieder** stelt Omniscol de schooladministratie van de instelling **alleen-lezen** beschikbaar, via een OneRoster-conforme REST-API, zodat een ELO of een LMS die kan uitlezen. - De basislaag Rostering 1.2 is bereikbaar onder `/ims/oneroster/rostering/v1p2/…` (bijvoorbeeld `/orgs`, `/schools`, `/academicSessions`, `/courses`, `/classes`, `/enrollments`, `/users`, `/teachers`, `/students`, `/demographics`, elk met zijn geneste varianten). - De groepenlaag is bereikbaar onder `/ims/oneroster/groups/v1p0/…` (`/groups`, `/groupMemberships`, `/groupAssociations` en hun geneste varianten). - Het bereik is standaard het **huidige** schooljaar; met een parameter kunt u zich op een ander jaar richten of alle jaren dekken. De gegevens weerspiegelen de geconsolideerde planning van Omniscol (actieve / gepubliceerde roosters). De aanbieder is **bewust alleen-lezen**: er wordt geen enkele schrijfbewerking (PUT / DELETE) beschikbaar gesteld — een extern systeem stuurt het aanmaken of verwijderen van entiteiten in Omniscol niet aan. ##### Authenticatie van de aanbieder De endpoints van de aanbieder zijn beveiligd met **OAuth2 in de flow `client_credentials`** (een token van machine tot machine, zonder gebruiker), uitgegeven door de OAuth2-server van Omniscol. Ze zijn **niet** voorbehouden aan Premium-accounts: de toegang wordt geregeld door de OAuth2-**scopes**, niet door het abonnement. Elke scope is specifiek voor één dienst, en de toegang tot demografische gegevens is binnen 1.2 afgeschermd: | Endpoints | Geaccepteerde scopes | | --- | --- | | Rostering 1.2 (zonder demografie) | `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 (alle) | `https://purl.imsglobal.org/spec/or-groups/v1p0/scope/roster-group.readonly` | Een OR-Groups-token geeft geen toegang tot de basislaag Rostering, en omgekeerd. Er wordt geen enkele schrijfscope bekendgemaakt. De bevoorrechte scopes worden toegekend door de Omniscol-beheerders op het moment dat de OAuth2-client wordt geregistreerd; een client kan ze zichzelf niet toekennen. Het beheer van OAuth2-clients en van tokens staat beschreven op [OAuth2 / OIDC (aanbieder)](#page-integrations.oauth-server) en [Omniscol-API](#page-integrations.api-tokens). ##### Het bereik van de leerlingen wordt gedragen door de groepenlaag Een structurerende keuze: de lijst van leerlingen in een klas of een groep wordt beschikbaar gesteld via **OR-Groups** (GroupMembership), niet door de basislaag 1.2 alleen. Een afnemer die alleen Rostering 1.2 leest, krijgt de catalogus (Courses, Classes), de inschrijvingen docent → cursus en de gebruikerslijst, maar **niet** het lidmaatschap van de leerlingen. Om te weten wie in welke klas of welke groep zit, moet de afnemer de laag OR-Groups implementeren. Deze keuze weerspiegelt het Franse model: een leerling is ingeschreven in een **klas** of een **groep**, niet vak per vak. De aanbieder wordt via REST ontsloten. Het formaat **OneRoster-CSV-bundel** (zip-archief met één bestand per collectie) wordt daarentegen aan importzijde ondersteund, voor leveranciers die hun schooladministratie per bestand aanleveren in plaats van via een API — zie het gedeelte over de afnemer hieronder. #### Omniscol als afnemer (SIS → Omniscol) > _Premium_ Als **afnemer** importeert Omniscol de schooladministratie van een OneRoster-conform SIS en stemt die af in de instelling. Deze afnemersconfiguratie maakt deel uit van de **synchronisatie met externe systemen**: ze is beschikbaar op **Premium**-accounts en wordt per project afgestemd met het Omniscol-team (zie [Synchronisatie met externe systemen](#page-integrations.extsync)). - **Transport** — ofwel de **REST-API** van de leverancier (het basisadres wordt geconfigureerd, de standaardpaginering van OneRoster wordt gevolgd), met OAuth2-authenticatie in de flow `client_credentials` tegen de server van de leverancier; ofwel een **CSV-bundel** (zip-archief). - **Profiel** — een configuratieprofiel geeft aan welk bereik er gelezen wordt: alleen de basislaag 1.2, de groepenlaag, of de Franse mapping voor het basis- en voortgezet onderwijs. Een zuivere 1.2-leverancier, zonder groependienst, laat zich netjes importeren. - **Gecontroleerde toepassing** — de import volgt hetzelfde principe als de andere connectoren: Omniscol haalt de gegevens op en stemt ze vervolgens af, en een **beheerder valideert** de toepassing op de instelling. Het externe systeem schrijft nooit rechtstreeks in Omniscol. - **Idempotente herimports** — de koppelingen van externe identificaties blijven bewaard, zodat een herimport geen dubbele records aanmaakt, zelfs niet wanneer de leverancier een label hernoemt. #### Frans profiel (basis- en voortgezet onderwijs) Het **Franse profiel voor het basis- en voortgezet onderwijs** koppelt de Franse begrippen aan het OneRoster-model: een **divisie** (de klas in de eigenlijke zin) wordt een Group van het primaire organisatorische type; een **groep** wordt een Group voor de onderwijsuitvoering; een **groep van groepen** een overkoepelende Group; de **klasverdelingen** en **groepsuitlijningen** worden groepsassociaties; een toewijzing van een **docent** aan een cursus wordt een inschrijving van de docent. Identificaties zoals het INE of de personeelsidentificatie worden meegedragen in de `userIds` van de gebruiker. #### Identificaties en vertrouwelijkheid Elke beschikbaar gestelde entiteit draagt een stabiele identificatie, de `sourcedId`. - De **structurele** identificaties (instelling, jaar, cursus, klas, groep) zijn stabiel en onveranderlijk van de ene export naar de andere: een afnemer kan erop vertrouwen om gegevens in de tijd te correleren. - De identificatie van de **gebruiker** is **geanonimiseerd**: Omniscol brengt nooit zijn eigen naamsgebonden identificatie naar buiten. Het token dat naar buiten gaat, is afgeleid via een eenwegfunctie (HMAC) die eigen is aan het account; de inschrijvingen en lidmaatschappen hergebruiken dat token zonder ooit de oorspronkelijke identificatie prijs te geven. #### Status - **Aanbieder** — beschikbaar en te demonstreren zonder externe partner (de export volstaat op zichzelf). Rostering 1.2 en de laag OR-Groups worden alleen-lezen beschikbaar gesteld, met OAuth2-authenticatie. - **Afnemer** — de importconfiguratie maakt deel uit van de Premium-synchronisatie. De ingebruikname van een **live** synchronisatie met een SIS hangt af van de leverancier en, in voorkomend geval, van de planningen van het ministerie: ze wordt **op aanvraag** afgestemd, connector per connector. Het gaat niet om een onmiddellijke kant-en-klare synchronisatie. #### Zie ook - [Synchronisatie met externe systemen](#page-integrations.extsync) - [OAuth2 / OIDC (aanbieder)](#page-integrations.oauth-server) - [Omniscol-API](#page-integrations.api-tokens) - [Volledig gegevensmodel](#page-integrations.data-model-full) - [integrations.partners](#page-integrations.partners) ### 9.15 Gekoppelde accounts en gedeelde resources *Source: `help/nl/integrations/linked-accounts.md` · id: integrations.linked-accounts · Audience: admin · Updated: 2026-06-13* **Gekoppelde accounts** verbinden **meerdere afzonderlijke Omniscol-accounts — dus meerdere instellingen** — die in de praktijk **docenten en lokalen** delen. De koppeling maakt van het ene account naar het andere de **bezetting** van die gemeenschappelijke resources zichtbaar: wanneer u een rooster raadpleegt of opbouwt, haalt Omniscol uit de gekoppelde accounts de lessen op van docenten of lokalen die u deelt, en meldt ze als al bezet. Zo voorkomt u dat u dezelfde persoon of hetzelfde lokaal twee keer reserveert, zonder dat u de andere instelling hoeft te bellen. Het is een optie die het Omniscol-team op verzoek inschakelt. Elk account blijft **volledig zelfstandig**: het behoudt zijn gebruikers, zijn instellingen, zijn schooljaren en zijn administratieve bereik. #### Wat de koppeling deelt - **Gedeeld**: de **bezetting** van de docenten en de lokalen die in beide accounts voorkomen. Juist die bezetting voedt de bezettingsweergaven en de detectie van conflicten tussen accounts. - **Niet gedeeld**: de gebruikers, de leerlingen, de klassen, de instellingen en de administratieve gegevens die eigen zijn aan elk account. Een bezet tijdslot zien geeft geen toegang tot de details van het andere account. De onderlinge herkenning verloopt **automatisch**: Omniscol herkent eenzelfde docent aan zijn naam (bij naamgenoten geeft de geboortedatum de doorslag) en eenzelfde lokaal aan de naam van de vestiging en van het lokaal. Om dat te laten werken, moeten die docenten en die lokalen in elk account dus **dezelfde benamingen** dragen. #### Gebruikssituaties In alle gevallen gaat het om **meerdere afzonderlijke instellingen**, elk met een eigen Omniscol-account: - Een **scholengroep** waarvan de scholen docenten of lokalen gezamenlijk gebruiken — bijvoorbeeld een netwerk van instellingen in dezelfde stad. - **Juridisch gescheiden instellingen** in hetzelfde gebouw, die daardoor de lokalen delen. - Eén en hetzelfde terrein waar **meerdere entiteiten** (een technische hogeschool, een business school…), beheerd op afzonderlijke accounts, dezelfde collegezalen en dezelfde docenten gebruiken. #### Activering Gekoppelde accounts worden samen met het Omniscol-team afgebakend, want er moet gezamenlijk worden beslist: - welke accounts worden verbonden; - welke gemeenschappelijke resources — docenten, lokalen — worden gedeeld; - de harmonisatie van de benamingen van de gemeenschappelijke docenten en lokalen, waarop de automatische herkenning berust; - welk account verantwoordelijk blijft voor welke gegevens; - hoe gedetecteerde conflicten tussen de bereiken worden behandeld. Zodra de optie actief is, verschijnt de gedeelde bezetting in de bezettingsweergaven en voedt ze de detectie van conflicten tussen accounts, zonder dat u er verder iets voor hoeft te doen. #### Een synchronisatie in- of uitschakelen Wanneer een rooster is gesynchroniseerd met andere actieve roosters — van hetzelfde account of van gekoppelde accounts — verschijnt er een knop **Synchronisatie**: in de **herschikkingsmodus** van een rooster, en ook bij het **bewerken van een kalenderrooster**, op de **gedeelde datums**. Die knop opent de lijst van die synchronisaties: elk **ander actief rooster** van het account en elk **gekoppeld account** dat docenten of lokalen deelt. Ze zijn allemaal **standaard actief**. Vink er een uit om de bezetting van dat rooster of dat account in de huidige weergave **niet langer mee te tellen**, en vink ze weer aan om ze opnieuw in te schakelen. De knop verschijnt alleen wanneer er minstens één synchronisatie te beheren valt. #### Verwant geval: meerdere actieve roosters in één account Gekoppelde accounts stemmen afzonderlijke instellingen op elkaar af; dezelfde behoefte doet zich ook **binnen één enkel account** voor, wanneer een instelling **meerdere actieve roosters parallel** laat lopen. Hetzelfde principe van gedeelde bezetting voorkomt dan dat een lokaal, een docent of een **klas** door twee gelijktijdige roosters twee keer wordt gereserveerd. Dat is typisch het geval bij een **organisatie met meerdere programma's** met verschillende ritmes — een EMBA van 18 maanden, een bacheloropleiding met kalendersemesters, een schakelprogramma met een wekelijks rooster — die lokalen en docenten tussen haar programma's deelt; of bij een **klas die twee kalenders overspant**, met een terugkerende opzet in de ochtend en een incidentele in de middag. Deze coördinatie is standaard inbegrepen bij **Premium** en kan bij hoge uitzondering op een Standard-account worden ingeschakeld, na afbakening met Omniscol. Zie [Meerdere actieve roosters naast elkaar](#page-timetables.multiple-active-timetables). #### Zie ook - [Meerdere actieve roosters naast elkaar](#page-timetables.multiple-active-timetables) - [Vestigingen, lokalen, resources](#page-core-concepts.sites-rooms-resources) - [Synchronisatie met externe systemen](#page-integrations.extsync) ### 9.16 Edusign-connector *Source: `help/nl/integrations/edusign.md` · id: integrations.edusign · Audience: admin · Plan: premium · Updated: 2026-08-14* > **Premium** > _Premium_ In een instelling die **Omniscol** en **Edusign** gebruikt, hebben de twee tools niet dezelfde rol. **Omniscol** bereidt de lessen voor: het beheert het rooster, de beperkingen, de beschikbaarheid, de klasverdelingen en de klasoverstijgende cursussen. **Edusign** komt pas in beeld zodra de les vaststaat: het moet weten **wanneer** die plaatsvindt, **wie** die geeft en **wie** erbij aanwezig is, om de aanwezigheidsregistratie voor te bereiden en de handtekeningen te verzamelen. De connector dient er juist toe die dubbele invoer te vermijden. Omniscol stuurt dus de te ondertekenen lessen naar Edusign, omdat de instelling ze in Omniscol voorbereidt en corrigeert. De vastgestelde aanwezigheid raadpleegt u daarentegen in Edusign: dat systeem stelt die vast en is daarvoor doorslaggevend. De Edusign-connector maakt deel uit van het framework [Synchronisatie met externe systemen](#page-integrations.extsync); deze pagina beschrijft wat er specifiek aan is. #### Wat wel en wat niet wordt verstuurd De connector verstuurt in de eerste plaats de **lessen**. Elke les wordt een Edusign-cursus en draagt het Omniscol-identificatienummer als externe referentie. Daardoor kan de connector die les daarna terugvinden, bijwerken of verwijderen zonder er een aparte koppeltabel op na te houden. De **evenementen** uit de kalender kunnen dezelfde weg volgen: een lezing, een scriptieverdediging of een introductiedag kan eveneens ter ondertekening naar Edusign vertrekken. Wilt u niet alles versturen, dan kunt u de export ook met filters beperken — daar komen we verderop op terug. Ook de **docenten** en de **groepen** kunnen worden verstuurd, op twee manieren: ter plekke aangemaakt tijdens de export van de lessen als u die optie inschakelt, of in bulk gesynchroniseerd vanaf het tabblad Entiteiten exporteren, waarbij Omniscol dan leidend is. De **leerlingen** worden daarentegen nooit automatisch doorgestuurd: dat gebeurt uitsluitend na een handmatige start, om de redenen die verderop worden uitgelegd. Eén belangrijk punt: **combineer geen twee manieren om de presentielijsten aan te maken**. Ofwel ontstaan uw lessen in Omniscol en maakt de connector ze aan in Edusign: dat is de meest consistente keuze als uw rooster verandert, want correcties, afwezigheden en vervangingen volgen dan mee. Ofwel maakt u cursussen rechtstreeks in Edusign aan. Dat kan, maar die cursussen leven dan buiten Omniscol om: de connector laat ze met rust en uw roosterwijzigingen werken er niet in door. Het veiligst is dus om meteen te kiezen aan welke kant u uw presentielijsten laat ontstaan, en u daaraan te houden. Zo voorkomt u dat u met twee versies van dezelfde les blijft zitten. #### Vóór de eerste export Voor Edusign is een les zonder docent onbruikbaar: het moet duidelijk zijn wie de presentielijst draagt. Het vervolg hangt af van één vraag: hebben uw docenten al een Edusign-account? **Ze bestaan al, met aan beide kanten hetzelfde e-mailadres.** Dan hoeft u niets te doen: de afstemming verloopt automatisch. Dit is het meest voorkomende geval, en de reden waarom het adres in Omniscol ingevuld en betrouwbaar moet zijn — het dient als sleutel voor de afstemming en is tegelijk het aanmeldadres voor Edusign. Delen twee docenten in Omniscol hetzelfde adres, dan probeert de connector ze op hun naam uit elkaar te houden: de sectie hieronder beschrijft wat hij dan doet en wat er kan blokkeren. **Ze bestaan al, maar de e-mailadressen komen niet overeen.** Daarvoor dient de **koppeling**: het koppelscherm zet uw docenten tegenover de Edusign-accounts, en elke gelegde koppeling is doorslaggevend, vóór elke afstemming op adres. Ook voor de dubbelzinnige gevallen grijpt u hierop terug, wanneer een gedeeld adres zich niet op naam laat ontwarren. **Ze bestaan nog niet in Edusign.** Twee opties: - **het ter plekke aanmaken** — vink het aanmaken op afstand aan in de systeemconfiguratie, tabblad Systeemconfiguratie, en de connector maakt elk account aan op het moment dat een les het nodig heeft; - **het synchroniseren van de docenten** — stuur ze in één keer door vanaf het tabblad Entiteiten exporteren, zodat de accounts al bestaan vóór de eerste les, waarbij Omniscol leidend is. Zowel ter plekke als in bulk reserveert Edusign elk e-mailadres voor één enkel account. Is het adres al bezet, dan mislukt het aanmaken en vertrekken de lessen van die docent evenmin; wordt het in Omniscol door twee docenten gedeeld, dan maakt de connector er geen enkel aan — ook niet het eerste, want dat zou het adres willekeurig aan een van beiden binden — en wachten hun lessen tot ieder een eigen adres heeft. Het aanmaken is dus bedoeld voor accounts die er echt niet zijn — voor een docent die al in Edusign staat, houdt u het bij de afstemming of de koppeling. Let ook op het volgende voordat u het aanmaken vanuit Omniscol naar Edusign aanzet: afhankelijk van de configuratie van uw Edusign-account kan het aanmaken van een gebruiker die persoon meteen zijn inloggegevens per e-mail sturen. Uw docenten zouden de nieuwe tool dan al bij de eerste export ontdekken, zonder daarop te zijn voorbereid. Wilt u de opening van de accounts liever zelf aankondigen, controleer die instelling dan aan de kant van Edusign voordat u de export start. Blijft de docent onvindbaar, dan wordt de les **niet verstuurd**. De connector telt die les en meldt dat uitdrukkelijk: een ontbrekende presentielijst is het soort probleem dat u anders nooit op het juiste moment ontdekt. #### De afstemming op e-mailadres Voor een docent zonder gelegde koppeling, van wie het account niet door de connector is aangemaakt, verloopt de afstemming via het e-mailadres, ongeacht de voor- en achternamen aan weerszijden. Dat adres moet dus kloppen: een verkeerd adres blokkeert de les, en twee verwisselde adressen zouden de presentielijsten van twee docenten omwisselen. De voor- en achternaam komen alleen in beeld om een dubbele vermelding te ontwarren: twee docenten die in Omniscol met hetzelfde e-mailadres zijn opgevoerd — een secretariaatspostbus, een gedeeld adres voor gastdocenten. De connector vergelijkt dan de namen met die van de Edusign-accounts. Dat volstaat vrijwel altijd: iedereen vindt zijn account terug en de lessen vertrekken. Twee volledige naamgenoten op hetzelfde adres zijn naar alle waarschijnlijkheid één en dezelfde persoon die bij u twee keer is ingevoerd. De presentielijst draagt de juiste naam, het juiste vak en de juiste klas, welk account ook wordt gekozen: de les vertrekt, en het logboek van de integratie houdt de dubbele vermelding bij, om bij gelegenheid op te ruimen. Blijft het geval over waarin geen enkele naam past. Misschien heeft de docent helemaal geen account, en willekeurig doorsturen zou de aanwezigheid op de lijst van iemand anders laten ondertekenen: die lessen **vertrekken niet**. Het overzicht van de export geeft de betrokken namen en het betrokken adres — tot en met de persoon die de dubbele vermelding veroorzaakt zonder zelf les te geven, en op wie u anders lang geen verdenking zou hebben. De duurzame uitweg is iedereen een eigen e-mailadres geven. Leg in de tussentijd de koppeling met de hand: zodra die koppeling er ligt, is het identificatienummer doorslaggevend. #### De verzending filteren op campussen De campus is een organisatorisch begrip: hij groepeert klassen binnen uw account, los van de vestigingen en de lokalen. Hebt u campussen aangemaakt, dan kunt u alleen de lessen van bepaalde campussen versturen. Die keuze maakt u op het tabblad Entiteiten exporteren, onder het gedeelte met de lessen. Een les vertrekt zodra **minstens één** van haar klassen op een geselecteerde campus zit: een les die over twee campussen wordt gedeeld, wordt dus maar één keer verstuurd. Zodra u op bepaalde campussen filtert, blijft een klas zonder toegewezen campus er echter buiten: omdat ze tot geen van de geselecteerde campussen behoort, kan de connector haar niet meenemen. Beperkt u de selectie later, dan worden de lessen die er niet meer in thuishoren uit Edusign verwijderd — **behalve de lessen die al hebben plaatsgevonden**, waarvan de aanwezigheidsregistratie vaststaat. Niets selecteren komt neer op alles versturen. #### De exporthorizon Edusign dient om **toekomstige** lessen te laten ondertekenen. Een les die voorbij is, hoeft niet meer voor de aanwezigheidsregistratie te worden voorbereid, en Edusign vergrendelt haar. De horizon stelt u in de systeemconfiguratie in, in de vorm van een aantal dagen terug en vooruit rond vandaag. In de praktijk volstaan enkele dagen terug: die dienen alleen om een correctie op te vangen die vlak na de les is gemaakt. **Een les die buiten de horizon valt, wordt nooit verwijderd.** Ze heeft plaatsgevonden, Edusign bewaart de aanwezigheidsregistratie ervan, en die registratie laat zich niet opnieuw samenstellen. Alleen een les die daadwerkelijk in Omniscol is verwijderd, wordt uit Edusign gehaald — en alleen als ze nog niet heeft plaatsgevonden. #### Realtime en inhaalslag Twee mechanismen bestaan naast elkaar, met twee verschillende rollen. De **realtime-modus** stuurt elke wijziging door zodra ze wordt gemaakt. Dat is de normale werking: Edusign blijft daarmee vrijwel onmiddellijk bij. Maar u moet dit zien als een handig kanaal, niet als een absolute garantie: een aanvraag kan mislukken, een proces kan opnieuw opstarten. De **geplande volledige export** dient om beide kanten regelmatig met elkaar in overeenstemming te brengen. Hij verstuurt de hele horizon, leest terug wat Edusign bevat en verwijdert vervolgens de lessen die bij u niet meer bestaan maar die de realtime-modus heeft gemist. Dat is het vangnet: zonder die export zou een netwerkstoring of een herstart een stil verschil achterlaten. #### De leerlingen Leerlingen worden alleen **na een handmatige start** verstuurd, en met bijzondere voorzichtigheid. Edusign kan een leerling alleen afstemmen op de externe referentie die wij daar hebben geplaatst — niet op het e-mailadres en niet op het interne identificatienummer. Een leerling die al in Edusign staat zonder die referentie, is dus **onbereikbaar**: doorsturen zou een tweede record met hetzelfde adres opleveren. De connector ziet er dus liever van af dan een dubbele vermelding aan te maken. Hij leest eerst de leerlingen terug die al in Edusign staan, maakt alleen de leerlingen aan die er echt ontbreken, en zet de rest opzij. Leerlingen zonder e-mailadres vallen om dezelfde reden af: zij laten zich op geen enkele manier afstemmen. Aan het eind van de handmatige start vertelt een overzicht u precies welke leerlingen niet zijn aangemaakt, met hun gegevens aan beide kanten, zodat u geval per geval kunt beslissen. Het activiteitenlogboek houdt dat bij. In de praktijk zijn de leerlingen alleen onmisbaar als u presentielijsten op naam wilt. De aanwezigheidsregistratie werkt ook zonder hen, zolang de les haar docent en haar groep draagt. #### De evenementen Een lezing, een scriptieverdediging, een proefexamen: wat u buiten de lessen om in de kalender zet, kan eveneens naar Edusign vertrekken. De evenementen hebben hun eigen onderdeel op het tabblad Entiteiten exporteren, vlak onder de lessen, met eigen filters en een eigen verzendbeleid. Een evenement draagt dezelfde gegevens als een les: de datum, de deelnemers, het lokaal. Onder de genodigden dragen de docenten de presentielijst; de klassen en de groepen vormen het publiek. U hoeft niet alles te versturen. De connector filtert op de **labels** die u op uw evenementen plaatst — zie [Eenmalige evenementen](#page-schedules.events): alleen de evenementen met een bepaald label versturen, of net andersom, alles versturen behalve de evenementen die er een dragen. **Uitsluiting wint altijd**, wat de handigste regel mogelijk maakt: alles versturen, behalve wat u met *zonder handtekening* hebt gemarkeerd (bijvoorbeeld). #### Wanneer er al een ERP in het landschap staat Het eenvoudigste geval is dat van een school die haar lessen in Omniscol beheert en ze vervolgens in Edusign laat ondertekenen. Dat is het meest rechtstreekse gebruik van de connector. In instellingen die al rond een ERP als [Aurion](#page-integrations.aurion) of [Auriga](#page-integrations.auriga) zijn opgebouwd, is de architectuur meestal een ster met dat ERP in het midden. Het stuurt zijn referentiegegevens naar Omniscol — docenten, lokalen, vakken, groepen en zelfs studenten — en Omniscol stuurt de lessen terug die het heeft geproduceerd. Vanaf daar sluit Edusign meestal op het ERP aan, niet rechtstreeks op Omniscol. Afhankelijk van de gekozen inrichting geeft het ERP de lessen door aan Edusign, zo nodig via een ETL, of leest Edusign ze regelmatig terug uit het ERP. In die topologie vervangen de externe referenties elkaar niet: ze stapelen zich op naargelang de uitwisselingen die u moet verzorgen. Eén en dezelfde docent kan zo een ERP-referentie in Omniscol dragen en, indien nodig, een aparte Edusign-referentie. Op het tabblad Entiteiten synchroniseren blijft elk geconfigureerd systeem afzonderlijk gekoppeld, voor dezelfde entiteiten. #### Opnieuw beginnen De opschoonknop haalt **de lessen die uit Omniscol komen** voor het lopende schooljaar uit Edusign. Hij raakt de docenten niet aan, de groepen niet en de cursussen die rechtstreeks in Edusign zijn aangemaakt evenmin: hij is bedoeld om op te ruimen wat de connector heeft doorgestuurd, niet om de rest van uw omgeving te wissen. Edusign beperkt het verwijderingstempo sterk: elke doorloop haalt hooguit enkele honderden lessen weg. Blijven er over, start de opschoning dan opnieuw — het activiteitenlogboek geeft na elke doorloop aan hoeveel er nog resteren. Wat de connector in Edusign aanmaakt, wordt niet altijd in strikte zin gewist: het verwijderen van een docent is daar een archivering. Schakel het aanmaken dus met kennis van zaken in. --- ## 10. Portalen ### 10.1 Leerlingenportaal *Source: `help/nl/portal/student-portal.md` · id: portal.student-portal · Audience: student/admin · Plan: standard · Updated: 2026-06-13* Het **leerlingenportaal** is de interface die op lerenden is toegesneden. Eenvoudiger en gerichter dan de interface van de beheerder toont het precies wat een leerling dagelijks nodig heeft: het persoonlijke rooster, dat van de eigen klas of klassen, de eigen afwezigheden en het delen van de eigen kalender. #### Persoonlijk rooster Bij het openen ziet de leerling **het eigen rooster** voor de lopende week: vakken, tijden, lokalen, docenten. Er zijn drie gangbare weergaven: - **Week** — standaardraster van 5 of 7 dagen, afhankelijk van de configuratie van de school. - **Dag** — chronologische agenda, handig op mobiel. - **Lijst** — opeenvolgende weergave van de eerstvolgende lessen, zonder raster. Wijzigingen op het laatste moment (een verplaatste les, een ander lokaal, een annulering) worden meegenomen: bij elke opening of herlading van de weergave ziet de leerling de bijgewerkte stand. #### Het rooster van de eigen klas raadplegen Naast het persoonlijke rooster kan de leerling het **rooster van de eigen klas of klassen** raadplegen, en dat van de **groepen** binnen die klassen. Daar houdt de toegang op: het rooster van een andere klas, van een docent of van een lokaal blijft buiten bereik. De beheerder kan de **raadpleeghorizon** van de leerlingen beperken: een parameter bepaalt hoeveel komende weken zichtbaar zijn, of zet de toegang op **Onbeperkt**. Zie [Zichtbaarheidsbeperkingen](#page-admin.visibility-restrictions). #### Synchroniseren met een persoonlijke agenda Het deelpictogram Delen in de roosterweergave opent het venster Delen. Het tabblad **iCal** daarvan geeft de persoonlijke abonnements-URL om te plakken in Google Calendar, Apple Calendar of Outlook. De URL kan worden gekopieerd, als `.ics`-bestand worden gedownload of met een QR-code worden gescand. Zie [iCal — abonnement en dynamische link](#page-integrations.ical) voor de details. De kalendertoepassing ververst het abonnement met regelmatige tussenpozen: verandert het rooster in Omniscol, dan verschijnt de wijziging in de agenda van de leerling. #### Een afwezigheid melden Staat de instelling het toe, dan kan de leerling de eigen afwezigheid vanuit het portaal melden: data, eventuele tijden, reden en opmerking. Zie [Een afwezigheid melden](#page-absences.declaring). De aanvraag verschijnt in de module Afwezigheidsbeheer met de status in behandeling tot een beheerder deze goedkeurt. Het formulier voorziet niet in het uploaden van een bewijsstuk. #### Taal van de interface De taal van de interface volgt de taal van de browser van de gebruiker. De leerling kan via het item Taal in het gebruikersmenu een andere taal kiezen; die keuze wordt op het account bewaard voor de volgende aanmeldingen. #### Zie ook - [Docentenportaal](#page-portal.teacher-portal) - [Gastportaal (ouders, waarnemers)](#page-portal.guest-portal) - [iCal — abonnement en dynamische link](#page-integrations.ical) - [Een afwezigheid melden](#page-absences.declaring) - [Zichtbaarheidsbeperkingen](#page-admin.visibility-restrictions) ### 10.2 Docentenportaal *Source: `help/nl/portal/teacher-portal.md` · id: portal.teacher-portal · Audience: teacher/admin · Plan: standard · Updated: 2026-06-26* Het **docentenportaal** is de interface die op docenten is toegesneden. Het dekt de drie dagelijkse behoeften van een docent: zijn rooster raadplegen, zijn beschikbaarheid invoeren, zijn afwezigheden melden. Standaard geeft het ook toegang tot de roosters van collega's, van de klassen en van de lokalen. #### Rooster van de docent De docent ziet voor de lopende week de **lessen die hij geeft**: vak, klas, groep, lokaal, tijden. Er zijn drie weergaven: - **Week** — de standaard rasterweergave. - **Dag** — chronologische agendaweergave. - **Lijst** — chronologische opeenvolging zonder raster, handig op mobiel. Roosterwijzigingen (het verplaatsen of annuleren van een les, het toevoegen van een extra les) worden meegenomen: de docent ziet bij elke opening of herlading van de weergave de actuele stand. #### De eigen beschikbaarheid invoeren Heeft de instelling de invoer van beschikbaarheid ingeschakeld, dan opent de docent zijn persoonlijke fiche via het item **Informatie** in het gebruikersmenu; het tabblad **Beschikbaarheid** toont een raster waarin hij zijn voorkeuren opgeeft voor de volgende roosteropbouw: - tijdsloten **Niet beschikbaar** — een blokkerende beperking: het algoritme plaatst er nooit een les, en wie handmatig plant, zou er een conflict veroorzaken, - tijdsloten **Ongewenst** — het algoritme vermijdt er een les te plaatsen, zonder absoluut verbod, en wie handmatig plant, ziet er een waarschuwing, - tijdsloten **Voorkeur** — het algoritme geeft de voorkeur aan deze tijdsloten. De niet-gemarkeerde tijdvakken blijven neutraal: beschikbaar, zonder voorkeur. Zie [Beschikbaarheid van docenten](#page-core-concepts.wishes-and-availability) voor de precieze betekenis van de kleuren en de goede werkwijzen bij het invoeren. De docent kan ook **vrije opmerkingen** toevoegen (`geen les op vrijdag wegens een andere beroepsmatige verplichting`) die de administratie helpen de context te begrijpen. #### Een afwezigheid melden Met de knop **Een afwezigheid melden** geeft de docent zijn eigen onbeschikbaarheid door: - de betrokken datums; - de hele dag of specifieke tijdsloten; - de reden; - een korte opmerking. De aanvraag verschijnt in de module **Afwezigheidsbeheer** met de status **in behandeling** tot een beheerder deze goedkeurt. De vervangingen worden vervolgens in diezelfde module geregeld; het formulier van het portaal verplaatst geen lessen en voegt geen bewijsstuk toe. Zie [Een afwezigheid melden](#page-absences.declaring). #### De roosters van collega's en klassen raadplegen Standaard kan de docent de roosters van de andere docenten raadplegen (handig om vergaderingen in te plannen), die van de klassen (om een vrij tijdslot te vinden voor een excursie) en die van de lokalen. Een strikte parameter (zie [Zichtbaarheidsbeperkingen](#page-admin.visibility-restrictions)) verbergt de roosters van de **andere docenten**; die geldt alleen voor de roosters onder collega's, terwijl de toegang tot de roosters van de klassen en de lokalen open blijft. #### Synchroniseren met een persoonlijke agenda Net als aan leerlingenzijde opent het deelpictogram **Delen** in de roosterweergave het venster **Delen**, waarvan het tabblad **iCal** de persoonlijke abonnements-URL levert om te plakken in Google Calendar, Apple Calendar of Outlook. Zie [iCal — abonnement en dynamische link](#page-integrations.ical). Handig voor docenten die hun lessen in dezelfde agenda willen zien als hun vergaderingen en hun privéleven. #### Zie ook - [Leerlingenportaal](#page-portal.student-portal) - [Beschikbaarheid van docenten](#page-core-concepts.wishes-and-availability) - [iCal — abonnement en dynamische link](#page-integrations.ical) - [Een afwezigheid melden](#page-absences.declaring) - [Zichtbaarheidsbeperkingen](#page-admin.visibility-restrictions) ### 10.3 Gastportaal (openbare links) *Source: `help/nl/portal/guest-portal.md` · id: portal.guest-portal · Plan: standard · Updated: 2026-05-15* Het **gastportaal** staat hier voor het raadplegen van een rooster door iemand die geen Omniscol-account bij de instelling heeft. Het gangbare geval is de ondertekende openbare link: een URL die tot een nauwkeurig bereik beperkt is en alleen-lezen opengaat. #### Toegangsvormen Kies, afhankelijk van de behoefte, tussen: - **Ondertekende openbare link** — een URL met een geheim token geeft zonder authenticatie toegang tot één bepaald rooster (een leerling, een klas, een lokaal, een docent). Handig om met een ouder te delen: één enkele link, geen wachtwoord om te onthouden. Zie [Openbare deellinks](#page-portal.share-links). - **Beperkt Omniscol-account** — moet de persoon duurzame, geauthenticeerde toegang of toegang tot meerdere bereiken hebben, maak dan liever een account aan met de passende rol en rechten. Presenteer dat geval niet als een anonieme openbare link. #### Wat een gast ziet De gast ziet het rooster in de modus **strikt alleen-lezen**: - geen wijziging mogelijk, - geen melding van afwezigheid, - geen invoer van beschikbaarheid, - geen toegang tot andere roosters dan het bereik dat in de link zit. De link opent de bedoelde raadpleegweergave, alleen-lezen. Bij een **rooster** wordt de weergave automatisch versoberd — zonder de balk bovenaan en zonder het menu van de toepassing — wat een pagina oplevert die volledig op de kalender is gericht. Die opmaak komt overeen met de parameter `raw=true` in de URL: standaard aanwezig op roosterlinks, optioneel op de andere schermen, en met de hand toe te voegen door een ervaren gebruiker. Die parameter verandert niets aan de authenticatie en niets aan het bereik van de link. Sommige deellinks dienen voor een gerichte handeling in plaats van voor een raadpleging: de link voor het invoeren van de beschikbaarheid van docenten laat uitsluitend het daarvoor bedoelde formulier toe, tot aan de vervaldatum. #### Gebruiksscenario: ouder van een leerling (schoolonderwijs) Het typische scenario in het voortgezet onderwijs: 1. De beheerder (of de leerling zelf) genereert de deellink naar het rooster van de leerling. 2. De link wordt per e-mail naar de ouder gestuurd. 3. De ouder opent de link: het rooster van zijn of haar kind verschijnt. 4. Vanuit diezelfde link kan hij of zij zich via iCal abonneren en het rooster rechtstreeks in Google Calendar / Apple Calendar krijgen. Geen account om aan te maken, geen wachtwoord om te beheren. #### Gebruiksscenario: vaste waarnemer Moet een externe onderwijsbegeleider een programma het hele jaar door volgen, vermijd dan standaard de anonieme openbare link. Maak een Omniscol-account aan dat tot het noodzakelijke bereik beperkt blijft, of zet een ondertekende deling op met een korte vervaldatum en een gecontroleerde verlenging. #### Beveiliging - Een ondertekende openbare link blijft bruikbaar tot aan zijn vervaldatum. Hij wordt ongeldig als het wachtwoord verandert van het account waaraan hij hangt (of als dat account wordt uitgeschakeld); een iCal-link wordt dat ook door het roteren van de toegangssleutel van de instelling. - Een beperkt Omniscol-account kan net als de andere gebruikersaccounts worden uitgeschakeld. - Toegang via een openbare link mag niet worden behandeld als een geauthenticeerde interne gebruiker. #### Zie ook - [Openbare deellinks](#page-portal.share-links) - [Leerlingenportaal](#page-portal.student-portal) - [iCal — abonnement en dynamische link](#page-integrations.ical) - [Een rooster delen via een openbare link](#page-schedules.share-link) ### 10.4 Openbare deellinks *Source: `help/nl/portal/share-links.md` · id: portal.share-links · Audience: admin · Plan: standard · Updated: 2026-06-13* Een **openbare deellink** is een ondertekende URL die alleen-lezen toegang geeft tot een raadpleegscherm — meestal een rooster — zonder aanmelding. Het is het eenvoudigste kanaal om een kalender te bezorgen aan iemand die geen Omniscol-account heeft (en ook niet zal krijgen): een ouder, een externe partner, een administratieve dienst. #### Beschikbare formaten Afhankelijk van de context en de rechten van de gebruiker die deelt, kan Omniscol meerdere ondertekende URL's genereren: - **Responsieve webpagina** — een doorbladerbare weergave in portaalstijl, met week-, dag- en lijstweergave. Dit is wat iemand ziet die de link in een browser opent. - **iCal-feed (`.ics`)** — een dynamisch abonnement voor Google Calendar, Apple Calendar en Outlook. Zie [iCal — abonnement en dynamische link](#page-integrations.ical). - **JSON (API)** — voor ontwikkelaars en machine-naar-machine-integraties, wanneer dat formaat is toegestaan. Deze formaten zijn geen universele belofte: het dialoogvenster toont de tabbladen die daadwerkelijk voor de huidige selectie zijn gegenereerd. #### Wat kunt u delen? Delen blijft niet beperkt tot het raadpleegscherm van de roosters: hetzelfde deelpictogram **Delen** staat op de meeste schermen van Omniscol. **Met alleen-lezenrechten** kunt u het volgende delen: - het **rooster van een entiteit** — leerling, klas, docent, lokaal of vak: het meest voorkomende geval (ouders, collega's, gastdocenten, technische diensten); - het **volledige roosterscherm** van de module **Rooster**; - de zes **dashboards** (docenten, lokalen, resources, vakken, klassen, leerlingen); - de schermen voor het **bijhouden van afwezigheden** (docenten, klassen, leerlingen, personeel); - de **dienstroosters** van de module **Personeelsinzet** (raster, toewijzingen, planning, presentielijst); - de schermen voor **weergave**, **reorganisatie** en **opmaak** van een rooster; - het detailscherm van een docent of een personeelslid. **Met lees- en schrijfrecht** — de enige twee gevallen — deelt u de **invoer van de beschikbaarheid** van een docent of een personeelslid: met de speciale link kan de betrokkene zijn of haar beschikbaarheid invullen en bevestigen, en het eigen profiel bewerken, tot aan de vervaldatum, **zonder Omniscol-account en zonder wachtwoord**. De link is aan de identiteit van die persoon gekoppeld en wordt alleen op de eigen fiche aangeboden. De beschikbaarheid van een klas, een lokaal, een groep of een vak blijft een intern bewerkingsscherm: die wordt niet via een deellink verzameld. Elke ondertekende URL bevat het gevraagde bereik en een vervaldatum. #### Een deellink aanmaken Selecteer in de module **Rooster** het rooster dat u wilt delen (leerling, klas, lokaal…) en klik dan op het deelpictogram **Delen**. Het venster **Delen** dat opengaat, biedt: - **Vervaldatum** — de datum tot waarop de gegenereerde URL's geldig blijven. - **Tabbladen Web, iCal en JSON** — zichtbaar afhankelijk van de formaten die voor de deling zijn gegenereerd. Daarna kopieert u de gewenste URL. Het dialoogvenster kan een QR-code tonen voor links die voor menselijke raadpleging bedoeld zijn. #### Een link beperken of ongeldig maken Openbaar delen houdt geen register van uitgegeven links bij: Omniscol levert geen geconsolideerde lijst van reeds verstuurde links, geen toegangsteller en geen intrekking per link. Ongeldig maken verloopt dus via het houderaccount (wachtwoord, uitschakeling) en via de vervaldatum. Om het risico te beperken: - kies een korte vervaldatum; - deel alleen het noodzakelijke bereik; - gebruik voor verspreiding binnen een team een **herkenbaar serviceaccount** in plaats van een persoonlijk account; - wijzig of reset bij ongewenste verspreiding het wachtwoord van het houderaccount, of schakel dat account uit als dat nodig is. Het wijzigen van het wachtwoord maakt de links van dat account ongeldig, ook als het nieuwe wachtwoord in leesbare vorm identiek is, omdat de opgeslagen hash verandert. Het uitschakelen of verwijderen van het houderaccount sluit de toegang eveneens af. #### Beveiliging - De URL bevat een ondertekend token dat moeilijk te raden is. - De link geeft **alleen de schermen vrij die in het token staan**, niet de rest van het account. Bij een **rooster van een entiteit** (en bij elke **iCal**-feed) ligt het filter vast in het token: de ontvanger blijft tot die entiteit beperkt — een ouder die over de link naar het rooster van zijn of haar kind beschikt, kan niet bij het rooster van een andere leerling. Het delen van een **volledig roosterscherm** weerspiegelt daarentegen de **rechten van het account dat de link heeft gegenereerd**: deel voor gerichte externe verspreiding het rooster van de precieze entiteit in plaats van het hele scherm. - De geldigheid wordt begrensd door de vervaldatum. - De geldigheid hangt ook af van het houderaccount: een wachtwoordwijziging, uitschakeling of verwijdering maakt de bijbehorende links ongeldig. - Iedereen die over de URL beschikt, kan het gedeelde bereik raadplegen tot de vervaldatum of tot de link ongeldig wordt gemaakt. #### Een rooster in een pagina insluiten (iframe) **Vandaag de dag kan dat niet op een andere site.** Om zich tegen clickjacking te beschermen, laat Omniscol zich niet weergeven in een frame (`iframe`) dat op een ander domein dan het eigen domein wordt gehost. Probeert u een rooster in uw elektronische leeromgeving, uw intranet of uw publieke website in te sluiten, dan **weigert** de browser het frame te tonen. Dit beveiligingsslot wordt door Omniscol gezet en is niet vanuit het account van de instelling te wijzigen. De enige uitzondering, in de praktijk zeldzaam, is een pagina die op precies hetzelfde domein als uw Omniscol-instantie wordt aangeboden. Om een rooster toch op een externe site te verspreiden, zijn er drie eenvoudige oplossingen: - **een link** naar de deel-URL: de lezer opent het rooster in een nieuw tabblad, zonder ingesloten frame; - **een iCal-abonnement**, zodat het rooster in de agenda van de persoon verschijnt (Google Agenda, Outlook…) — zie [iCal — abonnement en dynamische link](#page-integrations.ical); - **een informatiescherm**, voor een openbaar scherm in het gebouw — zie [Informatiescherm](#page-panels.lobby-panel). #### Stappenplan — Een link voor ouders met vervaldatum aanmaken 1. **Om het rooster van een klas met de ouders te delen** zonder voor hen accounts aan te maken: een ondertekende openbare link, beperkt in de tijd. 2. **Open het gewenste rooster** in de module **Rooster**: selecteer de betrokken klas. Het deelpictogram **Delen** staat in de titelbalk van de weergave. 3. **Deelvenster**: kies de **vervaldatum**. Gebruik voor een deling met ouders hoogstens het einde van de betrokken schoolperiode. 4. **Kopieer het nuttige formaat.** Web voor rechtstreekse raadpleging, iCal voor een agenda-abonnement, JSON alleen als er een API-integratie is voorzien. Omniscol kan ook een QR-code tonen voor verspreiding op papier. 5. **Bezorg de link** via het voorziene kanaal: ouderavond, nieuwsbrief, elektronische leeromgeving, intranet of gericht bericht. 6. **Circuleert de link buiten de bedoelde kring**, maak dan een nieuwe, beperktere link aan en maak zo nodig de links van het oude account ongeldig: wachtwoordwijziging, uitschakeling of verwijdering van het houderaccount. #### Zie ook - [Gastportaal (ouders, waarnemers)](#page-portal.guest-portal) - [iCal — abonnement en dynamische link](#page-integrations.ical) - [Een rooster delen via een openbare link](#page-schedules.share-link) --- ## 11. Informatieschermen ### 11.1 Een informatiescherm voor een hal of een gang configureren *Source: `help/nl/panels/lobby-panel.md` · id: panels.lobby-panel · Audience: admin · Plan: standard · Updated: 2026-05-12* Een **informatiescherm** is een webpagina die u schermvullend in een browser laadt, op een televisie, een monitor of een tablet, om de lessen en de evenementen van de dag aan het publiek van de instelling te tonen. Dit is de module voor een scherm bij de ingang, een scherm in een gang, bij een laboratorium of tegenover een auditorium: de inhoud hangt uitsluitend af van wat u filtert, niet van de plaats waar het scherm hangt. U kunt zoveel informatieschermen aanmaken als u wilt, elk met een eigen filter en een eigen toegangs-URL. #### Een nieuw informatiescherm aanmaken In de module **Rooster** opent de knop **Informatiescherm** het configuratiescherm. De lijst links toont de bestaande informatieschermen; de (groene) knop **Toevoegen** maakt een nieuw, leeg informatiescherm aan. U kunt een bestaand informatiescherm ook **dupliceren** met **Dupliceren**, wat sneller gaat als u een hele reeks schermen met dezelfde huisstijl beheert. Elk informatiescherm draagt een **Label**, om het in de lijst terug te vinden, en een **Titel**, die bovenaan het openbare scherm verschijnt. Die twee mogen verschillen: `Centrale hal — vestiging A` aan de beheerkant, `Welkom bij School X — vestiging A` op het scherm zelf. #### De weergegeven lessen filteren Het hoofdfilter — de eigenschap **Weergeven** — bepaalt wat er op het scherm komt. Vier aanvullende assen: - **Niveaus** — alle klassen van één niveau in één keer (bijvoorbeeld alle klassen van leerjaar 1). - **Klassen** — expliciete selectie van een of meer klassen. - **Vestigingen** — alle lokalen van één vestiging (handig voor een scherm dat in de hal van een bepaalde vestiging staat). - **Lokalen** — expliciete selectie van een of meer lokalen (handig voor een informatiescherm dat een vleugel van een gebouw bestrijkt). Leeg filter = alle lessen. Dat is de juiste standaard voor een scherm in de centrale hal, dat moet tonen wat er overal in de school gebeurt. Een tweede lijst — **Verbergen** — laat u gericht lessen uit de behouden stroom uitsluiten: - **Vakken** die u verbergt (bijvoorbeeld lichamelijke opvoeding niet tonen wanneer die ver van het hoofdgebouw plaatsvindt), - **Lestypen** die u verbergt (bijvoorbeeld examens verbergen die niet openbaar aangekondigd mogen worden). Filter en masker worden allebei toegepast: alles wat aan het filter voldoet blijft staan, daarna verdwijnt alles wat aan het masker voldoet. #### Het weergegeven tijdsbereik instellen De eigenschap **Tijdslot** bepaalt hoe ver vooruit het informatiescherm lessen toont: - **Laatste les van de dag** (standaard) — bladert door de lopende en nog komende lessen van vandaag (de lopende les blijft staan tot het einduur). Geschikt voor een scherm dat de hele dag dienstdoet. - **schuivend venster** — in stappen van 30 min tot **+ 2 u**, daarna per heel uur tot **+ 12 u**. Het informatiescherm toont alleen wat binnen het gekozen venster start, gerekend vanaf het huidige tijdstip. Handig voor een druk halscherm waar u een muur van informatie wilt vermijden: alleen de komende twee uur tonen, bijvoorbeeld. Het verversen gebeurt automatisch in de browser, zonder handmatig herladen; naarmate de tijd vordert, verlaten de voorbije lessen het venster en schuiven de volgende erin. #### Tijdelijke berichten toevoegen In de sectie **Informatie** toont u een of meer tekstberichten op het informatiescherm, elk met een eigen tijdsbereik. Typische gevallen: - een evenement aankondigen (`Ouderavond in lokaal B204 om 17.30 uur`), - waarschuwen voor een verstoring (`Werkzaamheden in de zuidvleugel, toegang via de achteringang`), - een welkomstwoord verspreiden (`Welkom op de open dag`). Elk bericht heeft een vrije tekst, een begintijd en een eindtijd. Buiten dat bereik verdwijnt het bericht vanzelf — u hoeft het achteraf niet zelf weg te halen. #### De openbare URL van het informatiescherm ophalen Zodra het is opgeslagen, heeft elk informatiescherm een **unieke URL** die u schermvullend opent op het doelapparaat. De URL bevat een geheime hash die toegang verleent zonder aanmelden — dat is wat een niet-aangemelde televisie in staat stelt de inhoud te tonen. Zolang die hash niet openbaar wordt verspreid, is het informatiescherm niet toegankelijk. Aanbevolen werkwijze: open die URL in een browser in **schermvullende kioskmodus** (Chrome `--kiosk`, Firefox F11), bij voorkeur op een mini-pc of een narrowcastingkastje aan het scherm. De browser regelt het verversen en het doorbladeren zelf. #### Stappenplan — Een informatiescherm aanmaken 1. **Een informatiescherm is een webpagina** die u schermvullend laadt op een televisie of een monitor om de lessen van de dag te tonen. 2. **Klik op** **Toevoegen** om een nieuw, leeg informatiescherm aan te maken. U kunt ook een bestaand informatiescherm dupliceren om niet vanaf nul te beginnen — tijdwinst als u een hele reeks schermen met dezelfde huisstijl beheert. 3. **Vul het label in** (**Label** — aan de beheerkant, om het in de lijst terug te vinden) en de **titel** (die bovenaan het openbare scherm verschijnt). Bijvoorbeeld: `Centrale hal — vestiging A` aan de beheerkant, `Welkom bij School X` op het scherm zelf. 4. **Kies het filter voor de lessen** in de eigenschap **Weergeven**: niveaus, klassen, vestigingen of lokalen. Leeg filter = alle lessen. Voor een informatiescherm in de centrale hal blijft het meestal leeg. Voor een scherm bij een lokaal selecteert u dat lokaal. 5. **Voeg eventueel tijdelijke berichten toe** met hun tijdsbereik (vergadering, verstoring, welkomstwoord). Buiten dat bereik verdwijnt het bericht vanzelf van het scherm. 6. **Sla op.** U krijgt de unieke URL van het informatiescherm, die u schermvullend opent op het doelapparaat (Chrome `--kiosk`, Firefox F11). Het verversen gaat daarna automatisch. #### Zie ook - [Informatiescherm](#page-glossary.panel) - [Scherm bij een lokaal](#page-panels.room-panel) - [Aanpassing van informatieschermen](#page-panels.customization) ### 11.2 Een informatiescherm bij een lokaal configureren *Source: `help/nl/panels/room-panel.md` · id: panels.room-panel · Audience: admin · Plan: standard · Updated: 2026-06-13* Een **informatiescherm bij een lokaal** is een bijzonder geval van het informatiescherm: de configuratie is dezelfde als bij een informatiescherm in een hal, maar het filter richt zich op **één enkel lokaal** in plaats van op een vestiging of een niveau. Het scherm naast een deur toont alleen de bezetting van het bijbehorende lokaal, en beantwoordt zo de vraag die de mensen op de gang zich stellen: *“wat gebeurt er nu en straks in dit lokaal?”* Typische gevallen: - de deur van een auditorium, - de ingang van een laboratorium of een computerlokaal, - een multifunctioneel lokaal dat door meerdere opleidingen wordt gedeeld, - een studio of een atelier (muziek, design, video). #### Configuratie De module **Rooster** biedt dezelfde knop **Informatiescherm** als voor een halscherm. Het verschil zit in het filter: kies in de sectie **Weergeven** de optie **Lokalen** en selecteer alleen het bijbehorende lokaal. De overige instellingen zijn dezelfde als bij het halscherm: - **Label** aan de beheerkant (bijvoorbeeld `Deur B204`), **titel** op het scherm (bijvoorbeeld `Lokaal B204 — Natuurwetenschappen`). - **Tijdsbereik**: kies liever **+ 2 u** of **+ 4 u** dan de hele dag — bij een lokaal wil de gebruiker vooral weten welke les er nu bezig is en welke daarna volgt. - **Lettergrootte**: **Groot** is vaak passend voor een scherm dat op 1 tot 2 meter afstand in een gang wordt gelezen, kleiner als het scherm dichtbij hangt. - **Berichten**: handig om een eenmalige reservering aan te kondigen (`Lokaal gereserveerd voor de rapportvergadering om 14.00 uur`) of een tijdelijke onbeschikbaarheid (`Lokaal in onderhoud tot 15.00 uur`). #### Meerdere lokalen op hetzelfde scherm Als één scherm meerdere naburige lokalen bestrijkt (een vleugel van een gebouw, de lokalen van hetzelfde laboratorium), kunt u meerdere lokalen in het filter selecteren. De lessen van alle geselecteerde lokalen worden dan **samengevoegd tot één lijst, gesorteerd op tijdstip**; past die niet op het scherm, dan **pagineert** het informatiescherm die (bladeren per pagina). Het toont de lokalen niet om beurten. Wilt u echt een aparte weergave per lokaal, maak dan één informatiescherm per lokaal — elk met een eigen URL. Eén mini-pc kan meerdere informatieschermen tonen door meerdere schermvullende tabbladen te laten rouleren, via de kioskfunctie van de browser of van het besturingssysteem (dat is geen instelling van Omniscol). #### URL en uitrol Elk informatiescherm heeft zijn eigen unieke URL, zonder aanmelding, die u in schermvullende kioskmodus opent op het apparaat naast de deur. Het verversen gebeurt automatisch, door periodiek te bevragen: de weergave wordt ongeveer elke minuut opnieuw op het huidige tijdstip gefilterd en de gegevens worden om de vijf minuten opnieuw geladen — geen enkele handmatige handeling, maar de bijwerking is niet onmiddellijk. #### Stappenplan — Een informatiescherm bij een lokaal aanmaken 1. **Een informatiescherm bij een lokaal** toont de bezetting van dat lokaal voor de komende uren. Verschil met het halscherm: filter op één lokaal, kort tijdsbereik, lettergrootte afgestemd op lezen in een gang. 2. Klik op **Toevoegen** in de module **Rooster** om een nieuw informatiescherm aan te maken (of dupliceer een bestaand halscherm en pas het aan). 3. **Vul label en titel in.** Label aan de beheerkant (`Deur B204`), titel op het scherm (`Lokaal B204 — Natuurwetenschappen`). De titel is wat de mensen op de gang te zien krijgen. 4. **Filter: sectie Weergeven → Lokalen**, selecteer **het bijbehorende lokaal**. Voor een scherm dat een hele vleugel bestrijkt (meerdere naburige lokalen) selecteert u ze allemaal — hun lessen worden samengevoegd tot één lijst, gesorteerd op tijdstip en zo nodig gepagineerd. 5. **Specifieke instellingen voor een scherm bij een lokaaldeur:** - **Tijdsbereik**: kies liever `+ 2 u` of `+ 4 u` dan de hele dag — de gebruiker wil de lopende en de volgende les weten. - **Lettergrootte**: `Groot` voor een scherm dat op 1 tot 2 m wordt gelezen. - **Berichten**: handig om een eenmalige reservering of een tijdelijke onbeschikbaarheid aan te kondigen. 6. **Sla op.** Haal de unieke URL van het informatiescherm op en open die in schermvullende kioskmodus op het apparaat naast de deur. Het verversen gebeurt automatisch door periodiek te bevragen (ongeveer elke minuut opnieuw filteren, gegevens om de vijf minuten opnieuw laden). #### Zie ook - [Informatiescherm](#page-glossary.panel) - [Informatiescherm](#page-panels.lobby-panel) - [Aanpassing van informatieschermen](#page-panels.customization) ### 11.3 Visuele aanpassing van informatieschermen *Source: `help/nl/panels/customization.md` · id: panels.customization · Audience: admin · Plan: standard · Updated: 2026-05-12* De informatieschermen van Omniscol zijn ontworpen om visueel aan te sluiten bij uw huisstijl. Er zijn twee niveaus van aanpassing mogelijk: (1) de instellingen **in de interface** (voor de meeste gevallen voldoende), (2) de **volledige vervanging** van de webpagina die het scherm toont (voor implementaties met een sterke visuele identiteit). #### Instellingen in de interface In de module **Rooster** opent de knop **Informatiescherm** het configuratiescherm van de informatieschermen. Dat scherm biedt de volgende weergaveopties, die u kunt wijzigen zonder de code aan te raken: - **Lettergrootte** — klein, middelgroot of groot. De weergave gebruikt eenheden die relatief zijn aan de venstergrootte (`vmin`), zodat de leesbaarheid consistent blijft, ongeacht het schermformaat (`16:9`, `4:3`, staand). - **Kleuren** — achtergrondkleur, tekstkleur, kleuren van de even en oneven regels van het lessenraster. Alle hexadecimale codes worden geaccepteerd; u kunt het palet van uw huisstijl overnemen. - **Kopbalk** — een geordende combinatie van: **titel**, **logo**, **datum van vandaag**. U kiest wat er in de kop verschijnt en in welke volgorde. - **Kolommen van het raster** — selectie en volgorde uit: **lokaal**, **klassen**, **docenten**, **vak**, **tijden**. Een kolom verbergen (bijvoorbeeld de docenten op een openbaar scherm bij de ingang) of verplaatsen werkt onmiddellijk. - **Notatie van de docentnamen** — voornaam-achternaam, achternaam-voornaam, aanspreektitel + achternaam (Mevr. De Vries), aanspreektitel + voornaam. De aanspreektitels `Dhr.` en `Mevr.` volgen automatisch de taal van de interface; wat u per scherm instelt, is de gekozen **notatie**. - **Logo** — het logo van de school dat in de schoolconfiguratie is geüpload, kan in de kopbalk worden getoond. Deze instellingen worden opgeslagen in de configuratie van het scherm. Let op: anders dan de lessen en de berichten, die zichzelf verversen, worden deze **visuele** opties (kleuren, grootte, kolommen, kopbalk, naamnotatie) in de pagina opgenomen op het moment dat die laadt. Nadat u ze hebt opgeslagen, **herlaadt u de tabbladen** die al op de schermen open staan (F5 of de kioskpagina opnieuw starten), zodat ze de nieuwe weergave overnemen. #### Volledige vervanging van het sjabloon (MIT-licentie) Het sjabloon dat de weergavepagina rendert, staat uitdrukkelijk onder de **MIT-licentie** en mag worden gekopieerd en aangepast om het scherm van een school te personaliseren. Dat opent verschillende scenario's voor scholen die verder willen gaan dan de instellingen: - **Volledige visuele herziening** — de HTML/CSS van het sjabloon herschrijven om aan te sluiten bij een uitgesproken huisstijl (eigen lettertype, specifieke animaties, niet-standaard opmaak). - **Integratie in een bestaand narrowcastingsysteem** — de inhoud van een Omniscol-scherm inbedden in een overkoepelende weergavepagina die lessen, weerbericht, schoolnieuws, video's… combineert. - **Specifieke werkweergaven** — een weergave maken voor bijvoorbeeld de toezichthouders (wie moet wat doen), voor een technische dienst (bezetting van de lokalen met materiaalbehoefte), enzovoort. Daarvoor zijn er twee complementaire benaderingen: 1. **Het sjabloon forken** — als u Omniscol zelf host, dupliceert u `panel.dot`, past u het aan en rolt u uw eigen versie uit. De MIT-licentie staat wijzigingen, herdistributie en commercieel gebruik uitdrukkelijk toe. 2. **JSON-API van het scherm** — wilt u Omniscol als gegevensbron houden maar de weergave bij een derde partij renderen, dan biedt de URL van het scherm ook een JSON-variant (`GET /panels/:accesshash/lessons`). Die geeft de lijst met lessen terug, gefilterd volgens de configuratie van het scherm en klaar om te worden verwerkt door een narrowcastingsysteem van derden (Yodeck, Xibo, ScreenCloud, een zelfgebouwd dashboard). Deze URL opent u met de toegangssleutel van het scherm, zonder extra token. Voor bredere integraties van systeem tot systeem is de REST-API van Omniscol beschreven in [Omniscol-API](#page-integrations.api-tokens). #### Praktische aanbevelingen Een paar punten die bij implementaties vaak terugkomen: - **Contrast** — een donkere achtergrond met lichte tekst is rustiger voor een scherm dat 12 uur per dag aanstaat dan een witte achtergrond. - **Lettergrootte “Groot”** zodra het scherm van meer dan 2 m afstand wordt gelezen (typisch voor een entreehal). Houd “Middelgroot” aan voor schermen bij een lokaaldeur, die van dichterbij worden bekeken. - **Logo in de kopbalk** — altijd nuttig om schermen snel te herkennen wanneer er meerdere naast elkaar staan op een grote vestiging. - **Datum in de kopbalk** — nuttig in de hal (bezoekers controleren de datum), minder nuttig bij een lokaal (de context spreekt voor zich). - **De kolom docenten verbergen** op openbare schermen als uw school interne regels heeft over het tonen van namen. #### Stappenplan — De huisstijl van de school op een scherm overnemen 1. **Twee niveaus van aanpassing**: (1) instellingen in de interface (in 90% van de gevallen voldoende), (2) volledige vervanging van het MIT-sjabloon voor een uitgesproken huisstijl. 2. **Open de configuratie van het scherm** in de module **Rooster**, via de knop **Informatiescherm**. Het scherm toont de weergaveopties: kleuren, grootte, kopbalk, kolommen, naamnotatie. 3. **Stem de kleuren af op uw huisstijl**: achtergrondkleur, tekstkleur, kleuren van de even/oneven regels. Hexadecimale codes worden geaccepteerd. Voor een scherm dat 12 uur per dag aanstaat, kiest u bij voorkeur een **donkere achtergrond met lichte tekst** (rustiger). 4. **Kopbalk**: kies de volgorde van **logo**, **titel**, **datum**. Het logo is nuttig zodra er meerdere schermen op één vestiging staan. De datum is nuttig in de hal, overbodig bij een lokaal. 5. **Kolommen van het raster**: selecteer en herschik uit lokaal, klassen, docenten, vak, tijden. Voor een **openbaar scherm bij de ingang** waar uw huisregels het tonen van namen verbieden, verbergt u de kolom **docenten**. **Naamnotatie** (als u die kolom houdt): voornaam-achternaam, achternaam-voornaam, aanspreektitel+achternaam, aanspreektitel+voornaam. 6. **Lettergrootte**: groot zodra het scherm van meer dan 2 m afstand wordt gelezen (hal), middelgroot bij een lokaaldeur (van dichtbij bekeken). Relatieve eenheden in `vmin` — de leesbaarheid blijft consistent, ongeacht het schermformaat. 7. **Sla op en herlaad daarna de schermen.** Deze visuele instellingen worden bij het laden in de pagina opgenomen: herlaad (F5) de tabbladen die al op de schermen open staan, zodat ze de nieuwe weergave overnemen. **Wilt u verder gaan** (volledige herziening, integratie in narrowcasting van derden zoals Yodeck/Xibo/ScreenCloud): het sjabloon `panel.dot` valt onder de **MIT-licentie**, forken is toegestaan. De JSON-variant van de URL van het scherm (`GET /panels/:accesshash/lessons`) levert de gegevens kant-en-klaar aan een extern systeem, met de toegangssleutel van het scherm. Voor de bredere REST-API, zie [Omniscol-API](#page-integrations.api-tokens). #### Zie ook - [Informatiescherm](#page-panels.lobby-panel) - [Scherm bij een lokaal](#page-panels.room-panel) - [Informatiescherm](#page-glossary.panel) - [Omniscol-API](#page-integrations.api-tokens) --- ## 12. Migratie vanuit andere software ### 12.1 Migreren vanuit een ander programma — Overzicht *Source: `help/nl/migration/overview.md` · id: migration.overview · Audience: admin · Updated: 2026-05-10* Stapt u over naar Omniscol vanuit een ander roosterprogramma? Er bestaan meerdere wegen, afhankelijk van het oorspronkelijke programma en van de rijkdom van de beschikbare export. #### Beschikbare aanpakken ##### 1. Importfuncties voor eigen formaten Voor twee programma's leest Omniscol het eigen exportbestand rechtstreeks, zonder tussenliggende spreadsheet: u selecteert het bestand of de bestanden vanaf het scherm Import/Export (de import van UnDeuxTEMPS, bestaande uit meerdere `.DBF`-bestanden, staat in de sectie met de Franse formaten). | Oorspronkelijk programma | Rechtstreeks gelezen formaat | Bijbehorende pagina | | --- | --- | --- | | ASC Timetables | aSc-XML-bestand | [Vanuit aSc Timetables](#page-migration.from-asc) | | UnDeuxTEMPS | UDT-bestanden (`.DBF`) | [migration.from-undeuxtemps](#page-migration.from-undeuxtemps) | Voor de overige programma's (Hyperplanning, EDT / Pronote, ADE) verloopt de overname via de **massale import** met een spreadsheet, beschreven onder punt 2: u exporteert uw gegevens uit het oorspronkelijke programma, maakt ze in een spreadsheet op en importeert ze vervolgens. Elke pagina hieronder beschrijft de overeenkomstige begrippen en de valkuilen die eigen zijn aan het betreffende programma: - [Vanuit Hyperplanning (Index Education)](#page-migration.from-hyperplanning) - [Vanuit EDT / PRONOTE (Index Education)](#page-migration.from-edt) - [Vanuit ADE / ADE Campus](#page-migration.from-ade) > **Aurion en Auriga** zijn **ERP-systemen** (administratief > schoolbeheer) en geen planningssoftware. Omniscol koppelt eraan, > maar vervangt ze niet. Zie > [integrations.aurion](#page-integrations.aurion) en > [integrations.auriga](#page-integrations.auriga) voor de > integratievormen. ##### 2. Generieke spreadsheetimport Als uw oorspronkelijke programma geen eigen importfunctie heeft, of als u de opmaak liever zelf in de hand houdt: zet uw gegevens vanuit dat programma in een spreadsheet (Excel, Google Sheets, Numbers, Calc) en gebruik de **massale import** van Omniscol. Zie [Massale import van cursussen via een spreadsheet](#page-timetables.mass-import). ##### 3. Rechtstreekse API Voor een **geautomatiseerde** migratie (bijvoorbeeld als u tijdens een overgangsperiode tussen twee programma's wilt synchroniseren) kunt u een script schrijven dat de gegevens via de Omniscol-API doorstuurt. Zie [Omniscol-API](#page-integrations.api-tokens). ##### 4. Handmatige overname Voor kleine instellingen of gedeeltelijke migraties blijft handmatige invoer mogelijk. Reken op enkele uren tot enkele dagen, afhankelijk van de omvang. #### Aanbevolen migratiestrategie 1. **Breng uw gegevens in kaart** — maak allereerst de inventaris op van wat u wilt overzetten: docenten, leerlingen, lokalen, vakken, de structuur van de klassen, het huidige rooster, beschikbaarheid, afwezigheden. 2. **Bepaal de reikwijdte** — vaak wordt niet alles overgezet. De leerlingen kunnen in het SIS blijven staan en daarna gesynchroniseerd worden. Historische roosters kunnen apart gearchiveerd blijven. 3. **Doe een gedeeltelijke testimport** — op een deelverzameling (één klas, één jaargang) om de kwaliteit van de overname te toetsen. 4. **Bepaal het tijdpad** — vaak wordt er overgestapt bij **de start van het nieuwe schooljaar** in plaats van halverwege het jaar, om de continuïteit niet te hoeven beheren. 5. **Leid de gebruikers op** — Omniscol hanteert andere conventies dan de concurrerende programma's. Plan tijd in voor training, vooral op de inhoudelijke begrippen ([Klasverdeling](#page-glossary.class-division), [Groepsuitlijning](#page-glossary.alignment), [Groep van groepen](#page-glossary.groups-of-groups)). #### Terminologische bijzonderheden per oorspronkelijk programma | Term uit het concurrerende programma | Omniscol-equivalent | | --- | --- | | “resource” in de zin van Hyperplanning (docent, lokaal, klas…) | Meerdere entiteiten, afhankelijk van het geval | | “cours” in de zin van EDT/Pronote (de geplaatste eenheid) | [Les / Lesmoment](#page-glossary.lesson) | | “cours” in pedagogische zin (vak van een klas) | [Cursus](#page-glossary.course) | | “gebouw” | Label of gebouw bij het [Lokaal](#page-glossary.classroom) | | “formation” (opleiding) in het hoger onderwijs | [Klas](#page-glossary.class) of een verzameling klassen | | “UE / EC / ECUE” | [Vak](#page-glossary.subject) met een naamgevingsconventie | #### Zie ook - [Uw gegevens voorbereiden voor een massale import](#page-getting-started.preparing-data) - [Massale import van cursussen via een spreadsheet](#page-timetables.mass-import) - [Omniscol-API](#page-integrations.api-tokens) - [FAQ — praktijkgevallen hoger onderwijs](#page-faq.higher-ed-cases) - [FAQ — Bijzondere gevallen en geavanceerde configuraties](#page-faq.edge-cases) ### 12.2 Migreren vanuit Hyperplanning (Index Education) *Source: `help/nl/migration/from-hyperplanning.md` · id: migration.from-hyperplanning · Audience: admin · Updated: 2026-06-30* Hyperplanning (Index Education) is de meest gebruikte tool voor het beheer van roosters in het Franse hoger onderwijs. Overstappen naar Omniscol vraagt dat u uw bestaande gegevens overneemt (gebruikers, structuren, lopende roosters) en ze aanpast aan de begrippen van Omniscol. Deze pagina zet de overeenkomsten en de bekende valkuilen op een rij. #### Wat rechtstreeks overgaat | Hyperplanning | Omniscol | | --- | --- | | Lichting (gemeenschappelijke basis) | Klas | | Opdeling van een lichting | Elkaar uitsluitende groepen; **klasverdeling** als die groepen hetzelfde tijdslot delen (gelijktijdige werkcolleges/practica) | | Werkcollegegroep (uit een opdeling) | Groep binnen een klasverdeling | | Keuzevak | Groep | | Samenvoeging | Groep van groepen (of groepsuitlijning tussen verschillende klassen/lichtingen) | | Cursus | Cursus (en de bijbehorende lessen) | | Vak / module (onderwijseenheid, studieonderdeel) | Vak (vaak een aangepast vak) | | Kalender / periodes | Kalendermodus (gedateerd rooster, Premium); datumvensters om periodes op te nemen of uit te sluiten | | Lokaal | Lokaal (specialisatie mee over te nemen) | | Externe onderwijsgevende / docent op uurbasis | Docent gemarkeerd als “extern” (Premium-optie) | #### Wat aandacht vraagt - **Groepsuitlijningen**: in Hyperplanning laat u werkcollege- of keuzevakgroepen uit meerdere lichtingen tegelijk dezelfde cursus volgen via een **gemeenschappelijke cursus** (vaak opgebouwd met een samenvoeging). Zodra die gedeelde cursus hetzelfde tijdslot, hetzelfde lokaal en dezelfde docent oplegt aan groepen uit verschillende klassen, is dat de **groepsuitlijning** van Omniscol. Zie [Groepsuitlijningen](#page-core-concepts.alignments). - **Samenvoegingen**: een samenvoeging in Hyperplanning brengt meerdere groepen samen om dezelfde cursus te volgen; in Omniscol is dat een **groep van groepen** (beschikbaar op alle abonnementen). Zie [Groepen van groepen](#page-core-concepts.groups-of-groups). Afhankelijk van het geval kan een samenvoeging over verschillende klassen of lichtingen heen ook onder de **groepsuitlijning** hierboven vallen. - **Gekoppelde lessen** (afwisseling van halve groepen): Omniscol regelt dat van huis uit via de **gekoppelde lessen**. Zie [Complexe lessen](#page-core-concepts.complex-lessons). - **Onderwijsopdracht**: de onderwijskundige continuïteit (dezelfde resources van de ene les naar de volgende) bootst u na door dezelfde docent en hetzelfde lokaal aan te houden op de lessen van een cursus — er is geen aparte entiteit voor. - **Cursussen op kalender**: gebruikt u Hyperplanning in kalendermodus voor modules met precieze data, dan dekt Omniscol dezelfde behoeften met zijn [kalendermodus](#page-timetables.calendar-mode), inbegrepen in het Premium-plan. - **Hyperplanning versus Aurion**: gebruikt uw instelling Hyperplanning **én** Aurion, dan betreft de migratie alleen de planning; Aurion blijft de administratieve structuur voeden. Zie [Synchronisatie met externe systemen](#page-integrations.extsync). #### Stappenplan 1. **Haal de gegevens op** uit Hyperplanning naar een spreadsheet — lijsten van onderwijsgevenden, studenten, lokalen en cursussen. Afhankelijk van uw versie gaat dat via kopiëren en plakken van een lijst of via de export ervan; raadpleeg de documentatie van Hyperplanning. 2. **Bereid de Omniscol-bestanden voor** in het importformaat: CSV met gebruikers, CSV met cursussen. Zie [Uw gegevens voorbereiden voor een massale import](#page-getting-started.preparing-data). 3. **Maak een Omniscol-sandboxaccount aan** om de import zonder risico te testen. 4. **Importeer in meerdere rondes**: - gebruikers (docenten, leerlingen), - klassen en groepen, - vakken, - cursussen via de [massale import vanuit een spreadsheet](#page-timetables.mass-import). 5. **Bouw de complexe lessen opnieuw op** (groepsuitlijningen, gekoppelde en afwisselende lessen) met de hand als de import ze heeft platgeslagen. 6. **Controleer de diagnose** en corrigeer de gevonden inconsistenties. 7. **Start een testgeneratie** om de haalbaarheid te toetsen. 8. **Back-uppunt** vóór de overstap naar het productieaccount. #### Gebruikers geleidelijk migreren Aanbevolen werkwijze: importeer de gebruikers eerst **inactief** in Omniscol. U controleert de gegevens, u schakelt de configuratie om (SSO indien van toepassing) en u activeert de accounts in één ronde zodra alles klaar is. Zo voorkomt u dat gebruikers een voortijdige uitnodiging ontvangen. #### Wat niet meegaat - **De geschiedenis in Hyperplanning** verder terug dan de lopende roosters — wilt u die geschiedenis bewaren, houd Hyperplanning dan alleen-lezen als archief aan in plaats van alles te migreren. - **Visuele aanpassingen** in Hyperplanning — maak die in Omniscol opnieuw volgens uw huisstijl. Zie [Aanpassing van informatieschermen](#page-panels.customization). #### Stappenplan — Migratie Hyperplanning → Omniscol 1. **Migreren vanuit Hyperplanning**: de reeks van 8 rondes volgt de volgorde export → voorbereiden → sandbox → import in meerdere rondes → correctie van de complexe lessen → diagnose → testgeneratie → omschakeling. 2. **Ronde 1 — Ophalen uit Hyperplanning**: haal de lijsten (onderwijsgevenden, studenten, lokalen, cursussen) naar een spreadsheet. Afhankelijk van de versie via kopiëren en plakken van een lijst of via de export ervan — zie de documentatie van Hyperplanning. Hoe schoner het aan de bronkant is, hoe sneller het daarna gaat. 3. **Ronde 2-3 — Voorbereiden + sandbox**: pas de kolommen aan het sjabloon van Omniscol aan (zie [Uw gegevens voorbereiden](#page-getting-started.preparing-data)). Maak een **Omniscol-sandboxaccount** aan om de import te testen zonder risico voor de productie. 4. **Ronde 4 — Import in meerdere rondes** in deze volgorde: **gebruikers** → **klassen en groepen** → **vakken** → **cursussen** via [massale import](#page-timetables.mass-import). De volgorde telt: de cursussen verwijzen naar de klassen en docenten, die al moeten bestaan. 5. **Ronde 5 — Complexe lessen**: groepsuitlijningen (cursussen die aan de kant van Hyperplanning door meerdere lichtingen worden gedeeld → groepsuitlijningen in Omniscol), gekoppelde (afwisseling van halve groepen), afwisselende weken A/B. De import slaat ze vaak plat — bouw ze met de hand opnieuw op via de pictogrammen voor complexe lessen op de kaart van de cursus. 6. **Ronde 6-7 — Diagnose + testgeneratie**: laat de diagnose lopen en corrigeer de inconsistenties. Start een **automatische roostergeneratie** om de haalbaarheid in het geheel te toetsen voordat u naar productie migreert. 7. **Ronde 8 — Omschakeling**: maak een **back-uppunt** voordat u omschakelt. Activeer de gebruikersaccounts (tot nu toe inactief geïmporteerd). Publiceer. Houd Hyperplanning alleen-lezen aan als archief — de migratie neemt de geschiedenis niet mee verder terug dan de lopende roosters. Hebt u daarnaast **Aurion**, dan betreft de migratie alleen de planning; Aurion blijft de administratieve bron. Zie [Synchronisatie met externe systemen](#page-integrations.extsync). #### Zie ook - [Overzicht van de migratie](#page-migration.overview) - [Uw gegevens voorbereiden voor een massale import](#page-getting-started.preparing-data) - [Massale import van cursussen via een spreadsheet](#page-timetables.mass-import) - [Synchronisatie met externe systemen](#page-integrations.extsync) ### 12.3 Migreren vanuit EDT / PRONOTE (Index Education) *Source: `help/nl/migration/from-edt.md` · id: migration.from-edt · Audience: admin · Updated: 2026-06-30* **EDT** en **PRONOTE** (Index Education) zijn de meest gebruikte tools in het Franse voortgezet onderwijs — onder- en bovenbouw, zowel op openbare als op bijzondere scholen. Het duo dekt het rooster (EDT) en de leerlingenadministratie — cijfers, rapporten, lesagenda (PRONOTE). De migratie naar Omniscol betreft in de eerste plaats het roostergedeelte; voor de uitgebreide leerlingenadministratie (cijfers, rapporten, oudercommunicatie) kan PRONOTE ernaast blijven bestaan. #### De meest directe weg: de STSweb-export EDT bouwt zijn structuren op vanuit **STSweb**: de **lestaken** (een docent verzorgt een urenvolume van een vak in een klas) komen uit STSweb en gaan daar aan het eind van de voorbereiding weer naartoe. Dat is goed nieuws voor de migratie, want **Omniscol importeert een STSweb-export rechtstreeks** (STS-bestand) vanaf het scherm [Import en export](#page-admin.import-export). Die import reconstrueert de structuurgegevens in één keer: instelling (UAI-code), schooljaar, **vakken**, **niveaus** (MEF) en het bijbehorende wettelijke tijdrooster, **klassen** (divisions), **groepen**, **docenten** en de **lestaken** — die in Omniscol **cursussen** worden. De ondersteunde Franse formaten worden in detail beschreven op [admin.french-formats](#page-admin.french-formats). De spreadsheet blijft nuttig voor wat STSweb niet bevat (lokalen, bijzondere groeperingen, fijnmazige wensen): zie de massale import hieronder. #### Wat u op een andere manier overneemt - **Lokalen, externe vestigingen**: STSweb beschrijft de lokalen niet in detail. Neem ze over via de spreadsheet of voer ze opnieuw in, en bouw daarna de vestigingen weer op. Voor een reeks onderling uitwisselbare lokalen (het equivalent van een “lokaalgroep” in EDT) gebruikt u een gedeelde **lokaalspecialisatie**, waar de roostergeneratie zich aan houdt. Zie [Lokaalspecialisaties](#page-core-concepts.classroom-specializations). - **Wensen en niet-beschikbaarheid van de docenten**: de granulariteit verschilt van die van EDT; houd rekening met opnieuw invoeren (verstuur de invoerlinks vóór de start van het schooljaar) of met een import bij benadering die u daarna bijstelt. - **Vakanties en schoolkalender**: die legt u vast in de instellingen van het schooljaar (landspecifiek sjabloon of handmatige invoer), niet via de export. #### Wat bij PRONOTE blijft Omniscol neemt het volgende niet over (en u kunt het gerust bij PRONOTE laten): - cijfers, beoordelingen, rapporten, competenties; - lesagenda, huiswerk; - leerlingenadministratie in ruime zin (oudercommunicatie, enquêtes); - afwezigheden kunnen in PRONOTE blijven of in Omniscol worden bijgehouden als u ze liever daarheen overbrengt. #### Belangrijkste overeenkomsten | EDT / STSweb | Omniscol | | --- | --- | | Klas (division) | Klas | | Deel van een klas | Groep; **klasverdeling** voor de exclusiviteitsrelatie op hetzelfde tijdslot | | Groep (niveaugroepen, profielvakken, keuzevakken, talen) | Groep (binnen één klas); groepsuitlijning of groep van groepen als het klassen overstijgt | | Lestaak (STSweb) | Cursus (de lessen volgen daaruit bij het plaatsen) | | Vak | Vak | | Lokaal / lokaalgroep | Lokaal; uitwisselbare pool = lokaal niet vastgelegd (automatische toewijzing) of gedeelde lokaalspecialisatie | | Externe vestiging | Vestiging (met reistijd) | | Wens / niet-beschikbaarheid van een docent | Beschikbaarheid (wensen); niveau “onmogelijk” (zwart) voor een niet-beschikbaarheid | | Afwisseling Q1 / Q2 (tweewekelijks) | Afwisselende weken A / B | | Studie-uur / mediatheek (CDI) | Personeelsinzet (toezicht) + een “studieles” voor de groep zonder les | #### Stappenplan 1. **Haal de STSweb-export op** (STS-bestand) van de instelling — dat is de officiële bron van de structuren en de lestaken. 2. **Importeer het STS-bestand** in een Omniscol-sandboxaccount, vanaf [Import en export](#page-admin.import-export). De structuur (instelling, schooljaar, vakken, niveaus, klassen, groepen, docenten, lestaken → cursussen) wordt in één keer gereconstrueerd. Zie [admin.french-formats](#page-admin.french-formats). 3. **Vul via de spreadsheet aan** wat STSweb niet bevat (lokalen, lokaalspecialisaties, bijzondere groeperingen) met de massale import. Zie [Massale import van cursussen via een spreadsheet](#page-timetables.mass-import) en [Uw gegevens voorbereiden voor een massale import](#page-getting-started.preparing-data). 4. **Controleer de weekafwisseling**: de Q1/Q2-conventie van EDT moet overeenkomen met de **afwisselende weken A/B** van Omniscol. 5. **Neem de wensen en niet-beschikbaarheid** van de docenten over — opnieuw invoeren of een import bij benadering die u bijstelt. 6. **Start de diagnose** van Omniscol en daarna een test van de roostergeneratie. 7. **Maak een back-uppunt** voordat u overschakelt naar het productieaccount. #### EDT en Omniscol naast elkaar tijdens de overgang Tijdens een overgangsperiode (vaak één trimester) is het gebruikelijk PRONOTE voor de leerlingenadministratie te behouden en het rooster naar Omniscol over te brengen. PRONOTE krijgt zijn rooster normaal gesproken vanuit EDT; wilt u er roosters blijven tonen die elders worden beheerd, vraag dan bij Index Education na wat PRONOTE kan inlezen — ga er niet van uit dat een externe feed zonder meer wordt overgenomen. #### Typische migratie in het voortgezet onderwijs Standaardgeval van een middelbare school die van EDT naar Omniscol overstapt: - STSweb-export in juni, - import en tests in Omniscol tijdens de zomer, - omschakeling bij de start van het schooljaar in september, - PRONOTE behouden voor de leerlingenadministratie als de instelling dat wenst. #### Stappenplan — Typische schoolmigratie juni → september 1. **Het typische geval van een instelling** die van EDT/PRONOTE naar Omniscol overstapt: export in juni, tests tijdens de zomer, omschakeling bij de start van het schooljaar. PRONOTE behouden voor de leerlingenadministratie als u dat wenst. 2. **Juni — STSweb-export**: haal het STS-bestand van de instelling op (de officiële bron van de structuren en de lestaken). Lukt dat niet, exporteer dan de lijsten uit EDT (cursussen, lestaken, klassen) naar een spreadsheet — afhankelijk van uw versie via een lijstexport of via kopiëren en plakken; zie de documentatie van EDT. 3. **Juli — Omniscol-sandboxaccount**: importeer het STS-bestand vanaf [Import en export](#page-admin.import-export) (zie [admin.french-formats](#page-admin.french-formats)). De structuur wordt in één keer gereconstrueerd. U test zonder tijdsdruk: klopt er iets niet, dan past u het rustig aan. 4. **Augustus — Vul via de spreadsheet aan** wat STSweb niet bevat (lokalen, lokaalspecialisaties, groeperingen) met de massale import (zie [Massale import van cursussen via een spreadsheet](#page-timetables.mass-import)). Stem de **weekafwisseling** af (Q1/Q2 van EDT → A/B van Omniscol). 5. **Augustus — Wensen en beschikbaarheid** van de docenten: de granulariteit verschilt. Kies ofwel voor **opnieuw invoeren** (verstuur de invoerlinks vóór de start van het schooljaar), ofwel voor een **import bij benadering** die u daarna bijstelt. 6. **Eind augustus — Diagnose** in Omniscol om inconsistenties op te sporen (ontbrekende vakken, conflicten, niet overgezette beschikbaarheid). Start een **test van de roostergeneratie** op de eerste schoolweken om de haalbaarheid te controleren. 7. **September — Omschakeling**: eerst een back-uppunt, dan de publicatie van de roosters. **PRONOTE behouden** voor de leerlingenadministratie als u dat wenst. #### Zie ook - [Overzicht](#page-migration.overview) - [Vanuit Hyperplanning (Index Education)](#page-migration.from-hyperplanning) - [admin.french-formats](#page-admin.french-formats) - [Massale import van cursussen via een spreadsheet](#page-timetables.mass-import) ### 12.4 Migreren vanuit aSc Timetables *Source: `help/nl/migration/from-asc.md` · id: migration.from-asc · Audience: admin · Updated: 2026-06-30* **aSc Timetables** (Slowakije) is een al lang bestaand en wijdverbreid programma voor roostergeneratie, vooral op internationale scholen en in verschillende Midden-Europese landen. Goed nieuws: Omniscol leest en schrijft het eigen bestandsformaat van aSc Timetables rechtstreeks, zonder tussenliggende spreadsheet en zonder de structuren handmatig opnieuw toe te wijzen. #### Eén bestand, in beide richtingen aSc Timetables slaat een rooster op in een **XML**-bestand (formaat “aSc Timetables 2012”). Omniscol kan: - dit bestand **lezen** om een volledig rooster te reconstrueren (klassen, groepen, docenten, vakken, lokalen, lessen); - een bestand van hetzelfde type **terugschrijven** vanuit een Omniscol-rooster, om het opnieuw te openen in aSc of Edupage (het leerlingadministratiesysteem van dezelfde leverancier). Alles gebeurt vanaf het scherm [Import en export](#page-admin.import-export), zonder technische ingrepen: voor de export de knop Gegevens exporteren in aSc (.xml)-formaat; voor de import selecteert u eenvoudigweg het XML-bestand dat aSc heeft aangemaakt. De uitwisseling heen en terug is **omkeerbaar**: exporteren en vervolgens opnieuw importeren levert aan de kant van Omniscol dezelfde structuur op, op de naamgevingsconventies na. #### Wat wordt overgenomen Automatisch overgenomen bij het lezen van het bestand: - **Klassen** en hun **groepen** (inclusief de klasverdelingen voor practica). - **Vakken** met hun codes. - **Lokalen** met hun capaciteit. - **Docenten** (achternaam, voornaam, contactgegevens). - **Lessen** (vak, urenvolume, docent) en hun **posities** in het rooster (dag, tijdslot, lokaal). - **Pauzes en onderbrekingen** in de dagindeling. - **Afwisselende weken** (A/B) als die in aSc geconfigureerd zijn. #### Wat na de import aandacht vraagt - **Complexe beperkingen** die eigen zijn aan aSc (volgordebeperkingen, voorwaardelijk lokaal, zeer specifieke verboden op aaneenschakeling): Omniscol zet ze zo goed mogelijk om, maar sommige regels worden anders uitgedrukt en verdienen een tweede blik. Het voorwaardelijke lokaal hoort eerder thuis bij de [Lokaalspecialisaties](#page-core-concepts.classroom-specializations); de overige bij de [Beschikbaarheid van docenten](#page-core-concepts.wishes-and-availability) en de [Tijdsbeperkingen (algemeen systeem)](#page-core-concepts.time-constraints). - **Lessen die door meerdere klassen gedeeld worden** (één vak dat meerdere klassen gemeen hebben): omgezet naar [Groepen van groepen](#page-core-concepts.groups-of-groups). Controleer of het resultaat overeenkomt met wat u bedoelde. - **Hernoemen en uitwisseling heen en terug**: Omniscol bewaart de interne identificatiecodes van aSc niet; wanneer het een aSc-bestand terugschrijft, bouwt het de koppelingen opnieuw op vanuit de entiteiten, en met name vanuit hun **naam**. In de praktijk: hernoem klassen, docenten en vakken in de tussentijd niet als u van plan bent opnieuw naar aSc te exporteren, want anders lopen de koppelingen scheef. #### Stappenplan 1. **In aSc**: sla uw rooster op in het **XML**-formaat (versie 2012, of de versie die uw aSc daar het dichtst bij aanbiedt). 2. **Maak een Omniscol-testaccount aan** om zonder risico te testen. 3. **Importeer het bestand** vanaf het scherm [Import en export](#page-admin.import-export): selecteer het aSc-XML-bestand en bevestig. 4. **Lees de diagnose** van Omniscol om inconsistenties op te sporen (lessen zonder lokaal, niet overgenomen beschikbaarheid enzovoort). 5. **Pas de complexe beperkingen aan** die niet automatisch omgezet konden worden. 6. **Start een roostergeneratie als test** om te controleren of de beperkingen een resultaat opleveren dat overeenkomt met wat u in aSc had. 7. **Maak een back-uppunt** voordat u naar het productieaccount overstapt. #### aSc parallel blijven voeden Als u aSc gedurende een overgangsperiode aanhoudt, kunt u het met de omgekeerde export vanuit Omniscol blijven voeden — handig, bijvoorbeeld wanneer partnerinstellingen aSc nog raadplegen. Het geproduceerde bestand kunt u weer openen in aSc Desktop (versie 2012 of later). #### Aandachtspunten - **Tekens met accenten**: als sommige accenten na een uitwisseling heen en terug verminkt zijn, is dat een kwestie van tekencodering van het bestand. De export van Omniscol gebruikt standaard de codering die aSc Desktop verwacht; controleer eenvoudigweg of een naam met accenten de uitwisseling heen en terug overleeft. - **Verschillende algoritmen voor roostergeneratie**: aSc en Omniscol hebben niet hetzelfde algoritmeprofiel. Een rooster dat in aSc gemakkelijk tot stand kwam, kan in Omniscol enkele aanpassingen vragen, en omgekeerd. - **aSc-versies**: het inlezen richt zich op het formaat 2012. Oudere versies zijn mogelijk niet rechtstreeks compatibel — sla het bestand in dat geval vanuit aSc Desktop eerst op in het formaat 2012. #### Stappenplan — XML heen en terug: aSc ↔ Omniscol 1. **Omniscol leest en schrijft het eigen bestand van aSc Timetables 2012**: rechtstreeks heen en terug, zonder tussenliggende spreadsheet. 2. **Aan de kant van aSc**: sla het rooster op in het formaat **XML 2012** (of de versie die daar het dichtst bij komt) en bewaar het bestand op uw computer. 3. **Aan de kant van het Omniscol-testaccount**: open [Import en export](#page-admin.import-export) en selecteer het aSc-XML-bestand. De import reconstrueert klassen, groepen, vakken, lokalen, docenten, lessen, afwisselende weken en pauzes. 4. **Controleer de diagnose**: lessen zonder lokaal, niet overgenomen beschikbaarheid, klasoverstijgende lessen die omgezet zijn naar [Groepen van groepen](#page-core-concepts.groups-of-groups). Ter herinnering: voor een schone uitwisseling heen en terug hernoemt u klassen, docenten en vakken niet als u van plan bent opnieuw te exporteren — Omniscol baseert zich op hun naam om de koppelingen opnieuw op te bouwen. 5. **Pas de complexe beperkingen aan** die eigen zijn aan aSc (volgordes, zeer specifieke verboden op aaneenschakeling): de omzetting doet wat ze kan, sommige regels worden in Omniscol anders uitgedrukt. Zie [Beschikbaarheid van docenten](#page-core-concepts.wishes-and-availability). 6. **Start een roostergeneratie als test** in Omniscol om te controleren of het resultaat klopt. ⚠ aSc en Omniscol hebben niet hetzelfde algoritmeprofiel; een rooster dat in aSc gemakkelijk is, kan in Omniscol aanpassingen vragen, en omgekeerd. 7. **Omgekeerde export** (als u aSc parallel aanhoudt): de knop Gegevens exporteren in aSc (.xml)-formaat op het scherm [Import en export](#page-admin.import-export). Het bestand kunt u weer openen in aSc Desktop 2012+; de uitwisseling heen en terug behoudt de structuur (uitsluitend kleine verliezen in de naamgevingsconventies). #### Zie ook - [Overzicht](#page-migration.overview) - [Import en export](#page-admin.import-export) - [Beschikbaarheid van docenten](#page-core-concepts.wishes-and-availability) - [Groepen van groepen](#page-core-concepts.groups-of-groups) ### 12.5 Migreren vanuit ADE / ADE Campus *Source: `help/nl/migration/from-ade.md` · id: migration.from-ade · Audience: admin · Updated: 2026-06-30* **ADE** (van uitgever Adesoft), vaak gebruikt in de webversie **ADE Campus**, is wijdverbreid in het hoger onderwijs, met name aan universiteiten en hogescholen. ADE is **activiteitsgericht** (de “cursussessie”) en synchroniseert vaak met het informatiesysteem van de instelling (Apogée, Pegase, Aurion, UNIT4…). De overstap naar Omniscol betreft in de eerste plaats de planning; de synchronisatie met uw informatiesysteem moet u aan de kant van Omniscol opnieuw inrichten. #### Reikwijdte Wat mee overgaat: - **programma's** (bachelor, master, Associate degree…) en hun groepen (hulpgroepen, halve lichtingen); - **onderwijsgevenden** (vast in dienst, tijdelijk, uurdocenten); - **activiteiten** (cursussessies) met hun type, hun duur en hun aantal herhalingen; - **lokalen en uitrusting** (per gebouw en verdieping, met hun capaciteit); - **beschikbaarheid en niet-beschikbaarheid** van de resources. ADE en Omniscol hebben grotendeels compatibele modellen, maar de naamgevingsconventies verschillen. Houd rekening met een initiële mapping. #### Overeenkomende begrippen | ADE (ADE Campus) | Omniscol | | --- | --- | | Programma (bachelor, master, Associate degree…) | Meerdere klassen (één **lichting**/jaar = één klas) | | Hulpgroep / halve lichting | Groep; **klasverdeling** als twee halve lichtingen op hetzelfde tijdslot verschillende lessen volgen | | Onderwijsgevende | Docent | | Activiteit (cursussessie) | Cursus (en de bijbehorende lessen) | | Activiteitstypologie (hoorcollege, werkcollege, practicum…) | Lestype | | Modaliteit (op locatie, op afstand…) | Modaliteit (Premium-attribuut) | | Maximumaantal plaatsen / ingeschrevenen | Theoretisch aantal leerlingen — geen apart maximum (de plaatslimiet volgt uit de capaciteit van het lokaal) | | Lokaal / uitrusting (gebouw, verdieping, capaciteit) | Lokaal (vestiging, capaciteit); alleen **verplaatsbare** uitrusting wordt een resource | | Beschikbaarheid / niet-beschikbaarheid (kleurenschaal) | Beschikbaarheid (wensen): 4 niveaus — onmogelijk / ongewenst / gewenst / neutraal | | Koppeling van activiteiten | Afhankelijk van het verband: groepsuitlijning, aaneenschakeling of gekoppelde lessen | | CURSUS-/UNIT4-code | Externe identificatie (spoor van de synchronisatie met het informatiesysteem) | #### Stappenplan 1. **Haal de gegevens op** uit ADE — programma's, onderwijsgevenden, lokalen, activiteiten. ADE toont de gegevens in **instelbare lijsten** (Listing-weergaven, zelf gekozen kolommen) die u kunt afdrukken of naar een spreadsheet kunt exporteren via het menu **Afdrukken**. 2. **Bereid de Omniscol-bestanden voor** op basis van die exports (zie [Uw gegevens voorbereiden voor een massale import](#page-getting-started.preparing-data)). 3. **Importeer vanuit een spreadsheet** in een testrooster (zie [Massale import van cursussen via een spreadsheet](#page-timetables.mass-import)). 4. **Herstel de verbanden**: groepsuitlijningen (de koppelingen tussen activiteiten aan de kant van ADE), afwisselingen, klasverdelingen van halve lichtingen — ADE en Omniscol gebruiken niet exact dezelfde bouwstenen. 5. **Start een test van de roostergeneratie**. #### Aandachtspunten - **ADE plant op concrete data**: de weergave **Placement** (week, dag, begin, einde) en de wekenbalk maken van ADE een tool van het kalendertype. Wilt u dat gedrag behouden, gebruik dan de kalendermodus van Omniscol, inbegrepen in het Premium-plan (zie [Kalendermodus](#page-timetables.calendar-mode)). - **Halve lichtingen en hulpgroepen**: een programma wordt vaak opgedeeld in hulpgroepen en halve lichtingen. Aan de kant van Omniscol komen de halve lichtingen overeen met een **klasverdeling** van de klas; denk vanaf het begin na over de granulariteit van de groepen. - **Opgelegde of “vrij te kiezen” lokalen**: in ADE kan een lokaal aan een activiteit worden opgelegd of aan de keuze van het algoritme worden overgelaten. Aan de kant van Omniscol houdt het algoritme een opgelegd lokaal ongewijzigd; laat bij een “vrij te kiezen” lokaal de les zonder specifiek lokaal — het algoritme kiest er zelf een op de vestiging, met inachtneming van de capaciteit en van de eventueel vereiste **specialisatie** (een reeks onderling uitwisselbare lokalen modelleert u met een gedeelde specialisatie). Zie [Vestigingen, lokalen, resources](#page-core-concepts.sites-rooms-resources) en [Automatische lokaaltoewijzing](#page-timetables.auto-room-assignment). - **Getrapte beschikbaarheid**: ADE werkt met beschikbaarheid op meerdere niveaus (van groen tot rood, plus een dynamische laag). Omniscol gebruikt **beschikbaarheid (wensen)** met 4 niveaus (onmogelijk, ongewenst, gewenst, neutraal) — neem vooral de uitersten over (onmogelijk en gewenst), de tussenliggende niveaus stelt u daarna bij. - **Onderwijsverantwoordelijke**: ADE koppelt aan elke activiteit een onderwijsverantwoordelijke. Omniscol kent die rol niet op het niveau van de cursus; bewaar die informatie via een naamgevingsafspraak of een memo als u er behoefte aan hebt. - **iCal-feeds**: ADE publiceert de roosters vaak als iCal-feeds. De import van Omniscol leest geen iCal; een iCal-export moet u eerst omzetten naar een tabel. - **Synchronisatie met het informatiesysteem**: als ADE was gesynchroniseerd met uw informatiesysteem (Apogée, Pegase, Aurion, UNIT4…), moet u die synchronisatie aan de kant van Omniscol opnieuw inrichten — vaak via de API of via de synchronisatie met externe systemen. Het veld **CURSUS-/UNIT4-code** van ADE is daarvan het spoor aan de bronkant. Zie [Synchronisatie met externe systemen](#page-integrations.extsync). #### Stappenplan — Migratie ADE → Omniscol (hoger onderwijs) 1. **ADE (Adesoft), vaak in de versie ADE Campus**, is wijdverbreid in het hoger onderwijs. De migratie betreft in de eerste plaats de planning; de synchronisatie met het informatiesysteem (Apogée, Pegase, Aurion, UNIT4) moet u aan de kant van Omniscol opnieuw inrichten. 2. **Gegevens ophalen uit ADE**: programma's, onderwijsgevenden, lokalen, activiteiten (met type, duur, herhalingen, maximumaantal). ADE toont die gegevens in instelbare lijsten (Listing-weergaven) die u afdrukt of exporteert via het menu **Afdrukken**. Een iCal-feed moet u eerst omzetten naar een tabel (de import leest geen iCal). Plant u op concrete data, houd dan ook dat aspect vast. 3. **Initiële mapping**: ADE en Omniscol hebben compatibele modellen, maar verschillende naamgevingsconventies. Bereid de bestanden voor volgens het sjabloon van Omniscol (zie [Uw gegevens voorbereiden voor een massale import](#page-getting-started.preparing-data)). Denk vanaf het begin na over de granulariteit van de **studentengroepen** (halve lichtingen, hulpgroepen) — dat is het lastige punt in het hoger onderwijs. 4. **Import vanuit een spreadsheet** in een testrooster: onderwijsgevenden, programma's, vakken, lokalen en daarna activiteiten (zie [Massale import van cursussen via een spreadsheet](#page-timetables.mass-import)). De spreadsheet met de cursussen heeft geen kolom voor een externe identificatie; reken voor latere afstemming met uw informatiesysteem liever op de externe synchronisatie (zie [Synchronisatie met externe systemen](#page-integrations.extsync)). 5. **De verbanden herstellen**: groepsuitlijningen over meerdere programma's heen (de **koppelingen** tussen activiteiten aan de kant van ADE), afwisselingen, klasverdelingen van halve lichtingen. Neem ook de lokalen die “vrij te kiezen” waren weer op en laat het algoritme ze toewijzen (zo nodig via een gedeelde specialisatie). ADE en Omniscol gebruiken niet exact dezelfde bouwstenen — reken op een handmatige afwerkingsronde. Plande ADE op concrete data, gebruik dan de **kalendermodus** van Omniscol (inbegrepen in Premium) om dat gedrag te behouden (zie [Kalendermodus](#page-timetables.calendar-mode)). 6. **Test van de roostergeneratie** in Omniscol om de haalbaarheid te toetsen. Diagnose, correcties, iteratie. Hoe meer u vóór de overstap test, hoe minder u erna hoeft te corrigeren. 7. **Het informatiesysteem opnieuw inrichten**: als ADE was gesynchroniseerd met Apogée, Pegase, Aurion of UNIT4, moet u die synchronisatie aan de kant van Omniscol opnieuw instellen via de API (zie [Omniscol-API](#page-integrations.api-tokens)) of via de synchronisatie met externe systemen (zie [Synchronisatie met externe systemen](#page-integrations.extsync)). Specifiek voor Aurion, zie [integrations.aurion](#page-integrations.aurion) — 3 mogelijke modi. #### Zie ook - [Overzicht](#page-migration.overview) - [Omniscol-API](#page-integrations.api-tokens) - [Synchronisatie met externe systemen](#page-integrations.extsync) - [Kalendermodus](#page-timetables.calendar-mode) ### 12.6 Migreren vanuit een zelfgemaakte Excel-spreadsheet *Source: `help/nl/migration/from-spreadsheet.md` · id: migration.from-spreadsheet · Audience: admin · Updated: 2026-05-12* Veel instellingen — vooral kleine organisaties, particuliere scholen, korte opleidingen — beheren hun rooster nog in een zelfgemaakte Excel-spreadsheet. Migreren naar Omniscol is in dat geval bijzonder eenvoudig: geen propriëtair formaat om te ontcijferen, alleen een beetje discipline om de gegevens te structureren. #### Voordat u begint: orde scheppen Een roosterspreadsheet stapelt vaak meerdere “tabbladen” van uiteenlopende aard op: de lijst met docenten, die met klassen, die met vakken, het roosterraster, allerlei notities. Breng vóór de import duidelijkheid aan: - de **lijst met docenten** (één schoon tabblad), - de **lijst met leerlingen** (één schoon tabblad, als die bestaat), - de **lijst met klassen** en hun leerlingaantallen, - de **lijst met lokalen**, - de **lessen**: per rij klas, vak, docent, lokaal, dag, tijd, duur. Als uw spreadsheet die gegevens niet scheidt, doe dat dan nu — voor de import is het hoe dan ook nodig. #### Verwacht importformaat De import verloopt via **kopiëren en plakken** vanuit uw spreadsheet (Excel, Google Sheets, Numbers, Calc…), in een gedocumenteerd kolomsjabloon. De kolommen worden herkend aan hun **positie** (u herschikt het sjabloon zodat het aansluit op uw bestand), niet aan de naam van de kolomkop. Zie [Uw gegevens voorbereiden voor een massale import](#page-getting-started.preparing-data) voor de details (kolomvolgorde, datumnotaties, vakcodes enzovoort). Voor de lessen is de [Massale import van cursussen via een spreadsheet](#page-timetables.mass-import) de daarvoor bestemde tool: u **kopieert en plakt** de rijen van uw spreadsheet rechtstreeks in een bewerkbaar gebied, met de structuur één rij = één les. #### Stappenplan 1. **Schoon de bronspreadsheet op**: verwijder overbodige kolommen, maak de benamingen eenduidig (een docent mag niet in drie verschillende schrijfwijzen opduiken). 2. **Maak één tabblad per entiteitstype**: docenten, leerlingen, klassen, lokalen, lessen — u plakt elk tabblad op zijn beurt. 3. **Omniscol-testaccount** om de import zonder risico te valideren. 4. **Opeenvolgende imports**, te beginnen bij de stamgegevens (docenten, lokalen, vakken) vóór de lessen die daarnaar verwijzen. 5. **Controleer de diagnose** van Omniscol om op te sporen wat niet correct is geïnterpreteerd. 6. **Start een roostergeneratie als test** (ook als u de handmatige plaatsing uit uw spreadsheet aanhoudt) om de haalbaarheid te toetsen. #### Voordelen van de migratie - **Eén enkele tool** verenigt de spreadsheet, de rooster-PDF's en de updates die per e-mail rondgingen. - **Bijwerken in realtime**: iedereen ziet de laatste versie zodra die verandert. - **Automatische verspreiding**: iCal, informatieschermen, leerlingen- en docentenportalen. - **Diagnose**: Omniscol spoort de conflicten op die uw spreadsheet laat passeren. #### De spreadsheet alleen-lezen bewaren als archief U hoeft uw oude spreadsheet niet te verwijderen. Bewaar hem alleen-lezen als archief (bijvoorbeeld in een gedeelde map) — hij kan van pas komen als u een oude configuratie wilt terugvinden. Omniscol wordt dan de operationele bron van waarheid; de spreadsheet blijft een historisch document. #### Stappenplan — Een zelfgemaakt Excel-rooster migreren 1. **Het eenvoudigste geval**: een rooster dat in een zelfgemaakt Excel-bestand wordt beheerd. Geen propriëtair formaat om te ontcijferen, alleen discipline om de gegevens vóór de import te structureren. 2. **Vóór de import — orde scheppen** in de bronspreadsheet. Als docenten, klassen, lokalen en lessen in uw bestand door elkaar op hetzelfde tabblad staan, verdeel ze dan eerst over thematische tabbladen: docenten, leerlingen, klassen, lokalen, lessen. 3. **Schoon elk tabblad op**: geen overbodige kolommen, **maak de benamingen eenduidig** (een docent mag niet in drie verschillende schrijfwijzen opduiken), verwijder samengevoegde rijen. Eén rij = één entiteit. 4. **Omniscol-testaccount**: maak een testaccount aan voordat u de productieomgeving aanraakt. Zo valideert u de imports zonder risico. 5. **Opeenvolgende imports**, in de volgorde van de afhankelijkheden: **eerst de stamgegevens** (docenten, lokalen, vakken), **daarna de lessen** (die daarnaar verwijzen). Gebruik de [Massale import van cursussen via een spreadsheet](#page-timetables.mass-import) voor de lessen — daarin plakt u uw rijen rechtstreeks vanuit de spreadsheet. 6. **Diagnose**: Omniscol spoort de inconsistenties op (lessen zonder lokaal, onbekende docenten, conflicten) die uw spreadsheet niet ziet. Corrigeer die voordat u overstapt. 7. **Roostergeneratie als test** (optioneel — als u de handmatige plaatsing wilt aanhouden) om de haalbaarheid te toetsen. **Overstap**: uw oude Excel-bestand blijft alleen-lezen als archief; Omniscol wordt de bron van waarheid, met automatische verspreiding (iCal, informatieschermen, portalen) en bijwerken in realtime. #### Zie ook - [Overzicht](#page-migration.overview) - [Uw gegevens voorbereiden voor een massale import](#page-getting-started.preparing-data) - [Massale import van cursussen via een spreadsheet](#page-timetables.mass-import) --- ## 13. Bijzonderheden hoger onderwijs ### 13.1 Specifieke kenmerken van het hoger onderwijs — overzicht *Source: `help/nl/higher-ed/overview.md` · id: higher-ed.overview · Updated: 2026-06-13* Het hoger onderwijs, de permanente educatie en de opleidingscentra hebben heel andere beperkingen dan het basisonderwijs en het voortgezet onderwijs. Deze sectie bundelt de pagina's die deze specifieke kenmerken behandelen. #### Typische kenmerken - **[Kalendermodus](#page-glossary.calendar-mode)** in plaats van de wekelijkse modus — het onderwijs herhaalt zich zelden het hele jaar door, de lessen krijgen eerder één voor één een eigen datum. - **Veel externe docenten** — docenten op uurbasis, gastdocenten, experts. Zie [Externe docenten](#page-higher-ed.external-faculty). - **Parallelle lichtingen** in plaats van losstaande klassen — een masteropleiding kan meerdere trajecten hebben die bepaalde cursussen delen, met gemeenschappelijke afstudeerrichtingen maar eigen projecten. - **Co-teaching** komt vaak voor (docentenduo's, dubbele expertise). - **Examens in meerdere lokalen** (gesplitste collegezalen). Zie [Examens in meerdere lokalen](#page-higher-ed.multi-room-exams). - **Videoconferentielinks per cursus** (hybride cursussen, deels op afstand). Zie [Videoconferentielinks per cursus](#page-higher-ed.videoconference-links). - **Doublerende studenten en studenten buiten het curriculum** die u moet beheren. #### Configuratieaanbevelingen - **[Premium](#page-overview.plans-and-options)-account** — dat omvat de kalendermodus, de gedateerde beschikbaarheid, meerdere actieve roosters en de **eenmalige evenementen** (scriptieverdedigingen, examencommissies, open dagen). Het aanmerken van lessen als op afstand of hybride — hun **[modaliteit](#page-glossary.lesson-modality)** — hoort daar ook bij; de **videoconferentielink** op zich blijft op alle accounts beschikbaar. - **Kalendermodus** voor het hoofdrooster of de hoofdroosters, in het hoger onderwijs in de meeste gevallen onmisbaar. - **Meerdere actieve roosters naast elkaar** als u terugkerende en losse lessen combineert, als uw instelling meerdere onafhankelijke faculteiten omvat, of als het om een scholengroep gaat. - **Groepen van groepen** voor wisselende groeperingen. - **Invoer van de beschikbaarheid in de kalendermodus** — beschikbaarheid die de docenten datum voor datum invoeren en die in realtime wordt geconsolideerd. - **API + integraties** met uw SIS of ERP — in business schools en technische hogescholen vaak [de synchronisatie met externe systemen](#page-integrations.extsync). Die synchroniseert de entiteiten (docenten, lokalen) en de catalogus van het opleidingsaanbod, en meldt de lessen als opdrachten terug aan het centrale systeem, de bron van waarheid van de instelling. #### Terminologie Wat instellingen voor hoger onderwijs een **onderwijsprogramma**, een **studiegids**, een **programma** of een **syllabus** noemen, komt aan de kant van Omniscol overeen met **het geheel van [cursussen](#page-glossary.course)** van een klas of van een opleiding — waarbij elke cursus een vak met een lestype is, toegewezen aan een klas, met zijn urenvolume en zijn beperkingen. De **[lessen](#page-glossary.lesson)** ervan zijn de geplande uitvoeringen. De overige termen uit het hoger onderwijs verwijzen naar algemenere Omniscol-entiteiten die in de woordenlijst zijn gedocumenteerd: **lerende** en **deelnemer** verwijzen naar de [leerling](#page-glossary.student); **onderwijsgevende**, **docent op uurbasis**, **vaste docent** en **expert** naar de [docent](#page-glossary.teacher); **jaargang**, **lichting** en **cohort** naar de [klas](#page-glossary.class). #### Praktijkgevallen in het hoger onderwijs - [FAQ — praktijkgevallen hoger onderwijs](#page-faq.higher-ed-cases) - [FAQ — Bijzondere gevallen en geavanceerde configuraties](#page-faq.edge-cases) #### Zie ook - [Kalendermodus](#page-glossary.calendar-mode) - [Groepen van groepen](#page-core-concepts.groups-of-groups) - [Externe docenten](#page-higher-ed.external-faculty) - [Examens in meerdere lokalen](#page-higher-ed.multi-room-exams) - [Videoconferentielinks per cursus](#page-higher-ed.videoconference-links) ### 13.2 Onderwijsperiodes, lichtingen, programma, trajecten *Source: `help/nl/higher-ed/sessions-and-tracks.md` · id: higher-ed.sessions-and-tracks · Updated: 2026-05-12* In het hoger onderwijs is de onderwijsstructuur minder lineair dan in het basis- en voortgezet onderwijs. Een student hoort bij een **lichting** (het cohort waarmee die student is ingestroomd), maar ook bij **trajecten** of **programma's** (de afstudeerrichting) en bij **groepen** voor werkcolleges of practica. Soms volgt één student meerdere lichtingen tegelijk (minor, dubbele opleiding). Deze pagina vat samen hoe Omniscol die situaties modelleert. #### Lichting = klas in Omniscol De **lichting** (ook wel “jaargang” of “cohort” genoemd) komt overeen met de klas van Omniscol in administratieve zin, bijvoorbeeld *“Bachelor 3 Informatica 2026”* of *“Master Finance 2025-2027”*. Het is de entiteit die de studenten samenbrengt die in dezelfde onderwijsperiode zijn ingestroomd. Klassen krijgen een ondubbelzinnige naam, met het instroomjaar bij grote opleidingen: - `B1 TW 2026` — Bachelor jaar 1 Technische Wetenschappen, instroom 2026, - `MA Marketing 2026-2028` — Master Marketing, twee jaar. #### Trajecten en afstudeerrichtingen Een **traject** is een onderwijskundige richting binnen één lichting of over meerdere lichtingen heen: *“richting Data”*, *“minor Ondernemerschap”*, *“dubbel diploma XYZ”*. De modellering in Omniscol hangt af van de complexiteit: - **Eenvoudig traject** binnen één lichting — een **groep** binnen de klas (bijvoorbeeld `B3-Info 2026-Traject Data`). - **Klasoverstijgend traject** over meerdere lichtingen — een **groep van groepen** die de bijbehorende groepen van meerdere klassen samenbrengt. Zie [Groepen van groepen](#page-core-concepts.groups-of-groups). - **Dubbele opleiding** (studenten die twee volledige trajecten volgen) — een bijzonder geval waarin dezelfde student **twee klastoewijzingen** in het jaar krijgt. Dit is de uitzondering op de algemene regel dat twee klassen geen lerenden delen. #### Onderwijsperiodes Een **onderwijsperiode** is een afgebakend onderwijsblok: een semester, een trimester, een intensieve module van 2 weken. Omniscol beheert de onderwijsperiodes via: - de **publicatieperiodes** van de roosters (één rooster per onderwijsperiode, gepubliceerd op de bijbehorende weken), - de **schooljaren** (één schooljaar kan meerdere onderwijsperiodes beslaan). Geef voor korte of niet-terugkerende opleidingen (seminars, modules voor bij- en nascholing) de voorkeur aan de **kalendermodus** (inbegrepen in het Premium-plan) boven het klassieke wekelijkse rooster. Zie [Kalendermodus](#page-higher-ed.calendar-mode). #### Studenten met een atypisch traject Veelvoorkomende gevallen in het hoger onderwijs: - **Doublerende studenten** die bepaalde onderwijseenheden wel en andere niet hebben gehaald. - **Studenten op uitwisseling** (Erasmus, internationale mobiliteit) — toegewezen aan een gastklas, met aanpassingen aan hun traject. - **Studenten in een duaal traject** — zij wisselen schoolweken en werkweken af; dat ritme modelleert u met de afwisselende weken of met een eigen kalenderrooster. #### Zie ook - [Overzicht](#page-higher-ed.overview) - [Klas, groep, subgroep](#page-core-concepts.classes-and-groups) - [Groepen van groepen](#page-core-concepts.groups-of-groups) - [Kalendermodus](#page-higher-ed.calendar-mode) ### 13.3 Externe docenten (op uurbasis, visiting professors) *Source: `help/nl/higher-ed/external-faculty.md` · id: higher-ed.external-faculty · Audience: admin · Updated: 2026-06-13* Het hoger onderwijs doet in ruime mate een beroep op **externe docenten**: docenten op uurbasis uit het werkveld, professionals die incidenteel lesgeven, gastdocenten van andere instellingen (visiting professors). Hun beheer verschilt van dat van de vaste docenten: weinig uren, een rooster dat de school ondergaat in plaats van zelf bepaalt, soms een contract op uurbasis. #### Een docent als extern markeren Op de docentfiche ([Docenten beheren](#page-admin.teachers)) maakt de schakelaar **Externe docent** (beschikbaar met het Premium-plan) het onderscheid tussen docenten op uurbasis en vaste docenten. De markering heeft twee concrete gevolgen: - een **pictogram** [user-tie] vóór de naam van de docent in de lijsten en in de tooltips van de lessen, - een **eigen kolom** in de tabelweergaven en in de spreadsheet-exports, om de docenten op uurbasis apart te kunnen zien (bijvoorbeeld om de uren te volgen die door vaste docenten dan wel door externen zijn gegeven). #### Beschikbaarheid invoeren De beschikbaarheid van een docent op uurbasis verloopt vaak **per datum** in plaats van per week: hij stemt ermee in om les te geven op dinsdag 12 maart en dinsdag 19 maart, maar niet elke dinsdag. Voor dat geval is het invoeren van de [beschikbaarheid in kalendermodus](#page-timetables.calendar-wishes), inbegrepen in het Premium-plan, de natuurlijke oplossing. Zonder het Premium-plan voert u bij benadering **wekelijkse beschikbaarheid** in (dinsdagmiddag) en vergrendelt u de lessen daarna een voor een met de hand. #### Diensturen en contractvorming Docenten op uurbasis hebben doorgaans een **urenpakket** dat bij de werving is vastgelegd (`30 uur over het jaar`, `een module van 15 uur`). Met het veld **Diensturen** op de fiche legt u dat pakket vast; de diagnose meldt het wanneer de ingeplande uren het overschrijden. Voor contracten op uurbasis (betaling per les in plaats van per maand) voedt de export van de statistieken per docent het externe proces van salarisadministratie of facturering. #### Communicatie Docenten op uurbasis melden zich minder vaak aan bij de toepassing dan een vaste docent. Drie gebruiksgevallen: - **Volwaardig account** — de docent op uurbasis ontvangt zijn inloggegevens en raadpleegt zijn rooster, voert zijn beschikbaarheid in en meldt zijn afwezigheden vanaf het docentenportaal. - **Alleen een iCal-link** — geen account, alleen een iCal-abonnementslink om zijn lessen met zijn persoonlijke agenda te synchroniseren. - **E-mailherinnering (buiten de toepassing)** — de beheerder brengt de docent op uurbasis per e-mail op de hoogte vóór zijn lessen; de docent zelf meldt zich nooit aan. Die herinnering is handmatig: Omniscol verstuurt geen automatische melding per les. Zo'n herinnering is buiten Omniscol eenvoudig te bouwen met de API voor het ophalen van de roosters, met een filter op de docenten. Een wekelijkse verwerking stelt bijvoorbeeld een overzicht samen, giet dat in een eigen sjabloon van de school en verstuurt het via de maildienst van de instelling. Door die dienst te gebruiken blijft de afzenderreputatie behouden en blijven valse positieven bij spamfilters beperkt. Af te stemmen op het profiel (een senior consultant heeft geen tijd om een zoveelste account te beheren; een promovendus die een paar uur lesgeeft, went daar moeiteloos aan). #### Stappenplan — Een docent op uurbasis onboarden 1. **Een docent op uurbasis die 15 uur over het jaar lesgeeft**: markering als extern, beschikbaarheid per datum, urenpakket, passende communicatiewijze. 2. **Maak de docentfiche aan** in **Docenten**. Vul voornaam, achternaam en e-mail in en zet **Externe docent** aan. De markering voegt het pictogram [user-tie] vóór de naam toe, plus een eigen kolom in de tabelweergaven en in de exports. 3. **Urenpakket**: zet in het veld **Diensturen** het contractuele pakket (`15`). De diagnose meldt het wanneer de ingeplande uren het overschrijden. Handig voor de betaling per uur en voor de opvolging van het contract. 4. **Beschikbaarheid**: op een Premium-account voert de docent op uurbasis zijn beschikbaarheid **datum per datum** in via de [beschikbaarheid in kalendermodus](#page-timetables.calendar-wishes) — perfect geschikt voor een rooster dat de school ondergaat. Zo niet: **wekelijkse beschikbaarheid bij benadering** + de lessen een voor een met de hand vergrendelen. 5. **Communicatiewijze** — kies naargelang het profiel: - **Volwaardig account** — voor een promovendus die een paar uur lesgeeft; inloggegevens, docentenportaal, beschikbaarheid, afwezigheden; - **Alleen een iCal-link** — voor een senior consultant die het te druk heeft voor een zoveelste account; alleen het agenda-abonnement; - **E-mailherinnering (buiten de toepassing)** — de beheerder brengt de docent op uurbasis handmatig per e-mail op de hoogte (Omniscol verstuurt geen automatische herinnering per les); de docent zelf meldt zich nooit aan. 6. **Export van de statistieken** aan het eind van de maand of van het semester voor de **externe salarisadministratie/facturering**: gegeven uren per les, per vak, per klas. Zie [Afdrukken en delen](#page-schedules.print-and-export). Met de kolom Extern in de exports haalt u de docenten op uurbasis eruit. #### Zie ook - [Docenten beheren](#page-admin.teachers) - [Beschikbaarheid in de kalender](#page-timetables.calendar-wishes) - [Externe docent](#page-glossary.external-teacher) - [Overzicht](#page-higher-ed.overview) ### 13.4 Opgesplitste lokalen en examens in meerdere lokalen *Source: `help/nl/higher-ed/multi-room-exams.md` · id: higher-ed.multi-room-exams · Audience: admin · Updated: 2026-06-13* In het hoger onderwijs bezetten sommige lessen **meerdere lokalen tegelijk**. Een deeltentamen brengt een lichting van 200 studenten samen, verdeeld over 5 collegezalen. Een opgesplitst hoorcollege vindt plaats in 2 collegezalen die via videoconferentie met elkaar verbonden zijn. Een examencommissie bezet 3 lokalen parallel. Omniscol vangt deze gevallen op met het begrip **meerdere lokalen**. #### Meerdere lokalen: het principe Aan een les (of een evenement) kunnen **meerdere lokalen** worden toegewezen. Al die lokalen zijn dan bezet op het tijdslot, en alle beperkingen (capaciteit, specialisatie, beschikbaarheid) worden parallel gecontroleerd. Werken met meerdere lokalen is beschikbaar op **alle roostertypen** (wekelijks, cyclisch, kalender). Zie [Vestigingen, lokalen, resources](#page-core-concepts.sites-rooms-resources). > _Premium_ De scenario's voor examens en examencommissies hieronder steunen op **eenmalige evenementen** (gedateerde lessen die bovenop het tijdrooster worden gelegd), beschikbaar op **Premium**-accounts. **Meerdere lokalen** op een gewone les blijven daarentegen op alle accounts beschikbaar. #### Typisch gebruiksgeval: een examen over meerdere lokalen Een lichting `Informatica B1 2026` (200 studenten) legt een deeltentamen algoritmiek af. Geen enkele collegezaal van de instelling telt 200 plaatsen, dus vindt het examen tegelijk plaats in: - `Collegezaal A` (80 plaatsen), - `Collegezaal B` (70 plaatsen), - `Collegezaal C` (50 plaatsen). Modellering in Omniscol: - maak een **examenevenement** aan op de betrokken datum en tijd (zie [Eenmalige evenementen](#page-schedules.events)), - als deelnemers: de klas `Informatica B1 2026`, - als lokalen: `Collegezaal A`, `Collegezaal B`, `Collegezaal C` (meerdere lokalen), - voor het toezicht: 1 tot 3 surveillanten per lokaal via de module **Personeelsinzet** (zie [Overzicht van de module Personeelsinzet](#page-staffing.overview)). Controleer of de totale capaciteit van de collegezalen (80 + 70 + 50 = 200) het aantal deelnemers dekt. Bij een examen dat als **evenement** is gemodelleerd, telt Omniscol die som niet automatisch op: de capaciteitsdiagnose geldt alleen voor gewone lessen die op het tijdrooster staan. #### Opgesplitst hoorcollege via videoconferentie Een hoorcollege met veel belangstelling kan per videoconferentie worden uitgezonden vanuit een hoofdcollegezaal naar een overloopcollegezaal. Modellering: - één enkele les met twee lokalen, - de docent staat fysiek in de hoofdcollegezaal, - de **videoconferentielink** van de les bevat de URL van de uitzending naar de tweede collegezaal (een memo kan de organisatie verduidelijken). #### Examencommissie bij verdedigingen Een examencommissie die 10 promovendi parallel in 3 lokalen hoort (rotatie in drieën): - één evenement per zitting van de examencommissie, - meerdere lokalen voor elke zitting, - **Personeelsinzet** voor de commissieleden die aan elk lokaal zijn toegewezen. #### Automatische verdeling van de studenten Omniscol wijst niet automatisch toe welke student naar welke collegezaal gaat. De verdeling blijft een beslissing van de instelling (alfabetische volgorde, niveau, toetsvorm, interne regels). Ze gebeurt handmatig, of via een export naar een spreadsheet die aan de surveillanten wordt bezorgd. #### Stappenplan — Een deeltentamen in 3 collegezalen inplannen 1. **Het typische geval in het hoger onderwijs**: een deeltentamen met 200 studenten in 3 collegezalen tegelijk. Meerdere lokalen, het evenement en de module **Personeelsinzet** volstaan. 2. **Maak het examenevenement aan**: toon in de module **Rooster** het filter **Evenementen** (herschikkingsmodus) en **klik en sleep** op de agenda om het gedateerde tijdslot te tekenen. Titel: `Deeltentamen algoritmiek Informatica B1`, daarna begin- en einddatum en -tijd. Zie [Eenmalige evenementen](#page-schedules.events). 3. **Deelnemers**: voeg de klas `Informatica B1 2026` (200 studenten) toe. Alle betrokken studenten komen automatisch op het evenement terecht, ongeacht in welke collegezaal ze fysiek zullen zitten. 4. **Lokalen — dit is het principe van meerdere lokalen**: voeg de 3 collegezalen toe (`Collegezaal A` 80, `Collegezaal B` 70, `Collegezaal C` 50). De 3 collegezalen zijn dan tegelijk bezet op het tijdslot. Controleer zelf of de totale capaciteit (200) het aantal deelnemers (200) dekt: op een evenement wordt die som niet automatisch gediagnosticeerd. 5. **Surveillanten**: open de module **Personeelsinzet** en maak de surveillancetaken voor elke collegezaal aan (1 tot 3 surveillanten per lokaal, volgens uw beleid). Zie [Overzicht van de module Personeelsinzet](#page-staffing.overview). 6. **Verdeling van de studenten over de collegezalen**: Omniscol doet dat niet automatisch. Die keuze valt onder uw interne regels (alfabetische volgorde, niveau, evenwichtige verdeling). Exporteer de lijst van studenten als spreadsheet, maak de verdeling handmatig of volgens uw regels, en bezorg ze aan de surveillanten. Zie [Afdrukken en delen](#page-schedules.print-and-export). #### Zie ook - [Meerdere lokalen](#page-glossary.multi-room) - [Modaliteit](#page-glossary.lesson-modality) - [Vestigingen, lokalen, resources](#page-core-concepts.sites-rooms-resources) - [Overzicht van de module Personeelsinzet](#page-staffing.overview) - [Eenmalige evenementen](#page-schedules.events) ### 13.5 Co-teaching en afwisseling van docenten *Source: `help/nl/higher-ed/co-teaching.md` · id: higher-ed.co-teaching · Audience: admin · Updated: 2026-06-13* Twee veelvoorkomende situaties in het hoger onderwijs: - **co-teaching** — twee docenten (of meer) geven samen dezelfde les. Typisch geval: een theoreticus + een practicus bij een cursus strategie, een vaste docent + een expert op uurbasis bij een casestudy. - **afwisseling van docenten** — een cursus die over een periode loopt (een module, een semester) wordt beurtelings verzorgd door meerdere docenten die elkaar aflossen. Typisch geval: een branchemodule die is opgedeeld in thematische lessen, elk toevertrouwd aan een andere expert. Omniscol ondersteunt beide mechanismen standaard. #### Co-teaching (samen lesgeven) Een les kan **meerdere docenten tegelijk** dragen. In de module **Roosterbeheer** aanvaardt de keuzelijst met docenten **Docenten toewijzen** meerdere namen op eenzelfde les. De persoonlijke roosters van de betrokken docenten tonen de les als samen gegeven. Gevolgen: - De **beschikbaarheid** van alle docenten die samen lesgeven moet op het tijdslot verenigbaar zijn. - Wat de **diensturen** betreft, verschijnt de les **volledig** in het rooster van elke betrokken docent. Verdeelt uw beleid dat uur naar rato onder hen, dan gebeurt die berekening bij de export (loonadministratie, facturatie). Zie [Complexe lessen](#page-core-concepts.complex-lessons) voor de technische details van samen gegeven lessen. #### Afwisseling van docenten binnen een module Complexer: 12 lessen van een module, elk verzorgd door een andere docent. Twee benaderingen: ##### Aanpak A — Eén vak, meerdere cursussen Maak **één cursus per docent** aan binnen de module, elk met zijn eigen vaste docent. Het invoeren kost tijd, maar het resultaat blijft helder voor de docenten: ieder ziet zijn lessen in zijn rooster en de module verschijnt als een vak met meerdere cursussen. ##### Aanpak B — Kalendermodus met precieze datums Zijn de datums van de lessen precies bekend, gebruik dan de [kalendermodus](#page-timetables.calendar-mode), inbegrepen in het Premium-plan: - een vak `Module Bedrijfsstrategie`, - N gedateerde lessen met één docent per les, - de roostergeneratie respecteert de beschikbaarheid van elke docent. Deze aanpak is compacter en natuurlijker voor intensieve modules. #### Memo om het verloop te beschrijven U kunt op elke les een **memo** Opmerking zetten die uitlegt welke plaats de les binnen de module inneemt (`Les 3 / 12 — Financiële strategie`). De memo verschijnt in de roosters en helpt de studenten zich te oriënteren. #### Stappenplan — Module met 12 docenten in rotatie 1. **Het geval van de branchemodule**: 12 lessen, elk toevertrouwd aan een andere expert. Hier combineert u twee mechanismen: de **kalenderaanpak** om de elkaar opvolgende lessen te dateren, en **co-teaching** alleen op de lessen die door een duo worden verzorgd. 2. **Voor deze variant met precieze datums**: rooster in **kalendermodus**. Alle externe docenten zijn op hun docentfiche gemarkeerd als **Externe docent**. Zie [Externe docenten](#page-higher-ed.external-faculty). 3. **Maak één enkel vak** `Module Bedrijfsstrategie` aan. Dat vak vormt het pedagogische kader van de module. Kies een passend **Type les**: vaak een mix van hoorcolleges en casestudy's. 4. **Voer de 12 lessen in** op precieze datums, elk met **zijn eigen docent**. Zet de titel van de les en het thema (`Les 3/12 — Financiële strategie`) in de memo om de studenten te helpen het verloop te volgen. 5. **Voor de lessen die door een duo worden verzorgd** (een theoreticus + een practicus bij een casus) gebruikt u **co-teaching**: selecteer op de betreffende les **meerdere docenten** in **Docenten toewijzen**. De persoonlijke roosters van de betrokken docenten tonen de les als samen gegeven. 6. **Diensturen**: de les verschijnt **volledig** in het rooster van elke betrokken docent. Een verdeling naar rato onder hen regelt u bij de export (loonadministratie, facturatie), niet in Omniscol. 7. **Controle**: open het leerlingenportaal om de weergave van de module te controleren — de 12 lessen verschijnen in het rooster met hun respectieve docenten. De memo's over het verloop (`Les N/12`) zijn zichtbaar wanneer u de muisaanwijzer erover beweegt. #### Zie ook - [Co-teaching](#page-glossary.co-teaching) - [Complexe lessen](#page-core-concepts.complex-lessons) - [Externe docenten](#page-higher-ed.external-faculty) - [Kalendermodus](#page-timetables.calendar-mode) ### 13.6 Kalendermodus voor niet-terugkerende opleidingen *Source: `help/nl/higher-ed/calendar-mode.md` · id: higher-ed.calendar-mode · Audience: admin · Plan: premium · Updated: 2026-06-13* > **Premium** > _Premium_ Het hoger onderwijs volgt niet altijd een **wekelijkse herhaling**: intensieve modules over 2 weken, seminars van 3 dagen, verdedigingszittingen gespreid over een maand, losse workshops die door externe docenten worden verzorgd. Voor die gevallen is de **kalendermodus** van Omniscol natuurlijker dan een weekrooster dat bezaaid is met uitzonderingen. #### Wanneer de kalendermodus de voorkeur verdient Aanwijzingen: - de lessen hebben **precieze datums** in plaats van een wekelijks herhaald tijdslot, - de **docenten wisselen** van de ene les op de andere, - de **locaties wisselen** (excursie, bedrijfsbezoek, videoconferentie), - het **ritme** is niet wekelijks (de ene keer 3 lessen in 2 dagen, de andere keer 3 weken lang niets). Beschrijft u de module liever met een kalender dan met een weekrooster, dan is de kalendermodus iets voor u. #### Typische praktijkgevallen in het hoger onderwijs - **Intensieve modules** — een seminar van 3 volle dagen of een intensief programma over 2 weken. - **Permanente educatie** — losse sessies die niet in een jaarrooster terugkeren. - **Onderzoeksseminars** — losse lessen met elke week andere gasten. - **Verdedigingen en examencommissies** — gespreid over enkele weken, precieze datums, precieze lokalen. - **Veldwerk / projecten** — korte fasen, wisselende locaties. #### Modellering U legt **een geordende lijst van gedateerde lessen** vast, zonder de omweg via een weekrooster: - precieze **datum en tijd**, - **duur** (vrij te kiezen), - **locatie**, - **docent** (kan van de ene les op de andere wisselen), - **doelgroep**: klas(sen), groep(en), groepen van groepen. De kalendermodus gebruikt dezelfde structuur van klassen / groepen als de wekelijkse modus — u verliest geen enkel organisatorisch hulpmiddel. De [automatische roostergeneratie](#page-timetables.generation) werkt ook in de kalendermodus: ze plaatst de lessen in een gericht datumvenster en kan de lesdagen aan het begin of aan het eind van de periode compacteren. Zie [Kalendermodus](#page-timetables.calendar-mode). #### Combineren met een wekelijks rooster U kunt **een wekelijks rooster** hebben voor de terugkerende gemeenschappelijke basis in de ochtend en **een kalenderrooster** voor de losse lessen in de middag, allebei parallel gepubliceerd voor dezelfde klassen; of de eerste jaren wekelijks, en de specialisatieklassen in het laatste jaar in de kalendermodus (zie [Meerdere actieve roosters naast elkaar](#page-timetables.multiple-active-timetables)). #### Beschikbaarheid van de docenten in de kalendermodus Het invoeren van de [beschikbaarheid in de kalendermodus](#page-timetables.calendar-wishes) is hier bijzonder nuttig: docenten op uurbasis voeren hun beschikbaarheid in op de exacte datums, niet volgens een wekelijks ritme. #### Zie ook - [Kalendermodus — productoverzicht](#page-timetables.calendar-mode) - [Het juiste roostertype kiezen](#page-overview.timetable-modes) - [Externe docenten](#page-higher-ed.external-faculty) - [Meerdere actieve roosters naast elkaar](#page-timetables.multiple-active-timetables) - [Beschikbaarheid in de kalendermodus](#page-timetables.calendar-wishes) ### 13.7 Videoconferentielinks per cursus *Source: `help/nl/higher-ed/videoconference-links.md` · id: higher-ed.videoconference-links · Audience: admin · Plan: premium · Updated: 2026-06-13* > **Premium** > _Premium_ In het hoger onderwijs worden veel cursussen **op afstand** of **hybride** gegeven (sommige studenten fysiek aanwezig, andere online verbonden). Elke les heeft dan een **videoconferentielink** (Zoom, Teams, Google Meet, Jitsi) die in het rooster moet verschijnen zodat iedereen weet waar hij moet klikken. #### Een link koppelen Op een les of een evenement accepteert het veld Videoconferentielink een URL. Bij een les vult u dat veld in het venster voor de lokaalselectie in. Zodra het is ingevuld, toont het rooster de link met een pictogram [video]; de link opent in een nieuw tabblad. De link verschijnt: - in het leerlingen- en docentenportaal bij de les, - in de iCal-export via de conferentie- of URL-eigenschappen wanneer de link aanwezig is, - in de JSON-API. #### Cursus op afstand of hybride cursus Het veld **[Modaliteit](#page-glossary.lesson-modality)** van de les geeft de vorm ervan aan: **Fysiek**, **Op afstand**, **Hybride** of **Zelfstudie**. Dit veld staat in hetzelfde venster als het lokaal en de videoconferentielink. Kies bij een **volledig op afstand** gegeven cursus de modaliteit **Op afstand**, vul de videoconferentielink in en forceer geen fysiek lokaal als de cursus er geen gebruikt. Kies bij een **hybride** cursus (fysiek + videoconferentie tegelijk) **Hybride**, behoud het fysieke lokaal en vul ook de link in. #### Permanente links versus links per les Afhankelijk van uw videoconferentietool: - **Permanente link** — persoonlijke Zoom-ruimte, terugkerende Teams-vergadering. Dezelfde link geldt voor alle lessen van een cursus. Voer hem één keer in op de cursus (alle lessen daarvan nemen hem over), of rechtstreeks op de klas om een standaardlink op alle lessen van die klas toe te passen. - **Link per les** — elke les heeft een eigen URL, ingevoerd op de les (in hetzelfde venster als het lokaal). Reserveer dit voor lessen waarvan de link telkens verandert (een Zoom-vergadering die ter plekke wordt aangemaakt, bijvoorbeeld). #### Beveiliging Enkele goede werkwijzen: - **Geen publieke link bij gevoelige cursussen** — configureer bij een besloten cursus of een examen onder toezicht de videoconferentieruimte met geauthenticeerde toegang (en niet met toegang via een directe link). - **Link in iCal** — de iCal-feed is raadpleegbaar door iedereen die de deellink heeft. Een videoconferentielink die op de les staat, wordt dus via iCal verspreid — controleer of dat werkelijk uw bedoeling is. - **Vernieuwing** — is een permanente link gecompromitteerd, vernieuw hem dan aan de kant van Zoom / Teams en zet de wijziging door in Omniscol (op de cursus of de klas, niet op elke les). #### Zie ook - [Modaliteit](#page-glossary.lesson-modality) - [Lestypes](#page-admin.lesson-types) - [iCal — abonnement en dynamische link](#page-integrations.ical) - [FAQ — praktijkgevallen hoger onderwijs](#page-faq.higher-ed-cases) ### 13.8 Meerdere vestigingen in het hoger onderwijs *Source: `help/nl/higher-ed/multi-site.md` · id: higher-ed.multi-site · Audience: admin · Updated: 2026-06-13* Werken met meerdere vestigingen is **beschikbaar vanaf het Standard-abonnement** (alleen in Lite uitgeschakeld); de algemene principes staan in [Vestigingen, lokalen, resources, meerdere lokalen](#page-core-concepts.sites-rooms-resources). Deze pagina bespreekt de **bijzonderheden die in het hoger onderwijs vaak voorkomen**, waar meerdere vestigingen zowat de norm zijn: technische hogescholen verspreid over meerdere campussen, business schools met vestigingen in de regio, universiteiten op meerdere plaatsen. Let op: in Omniscol is de [campus](#page-glossary.campus) een organisatorisch begrip, onderscheiden van de [vestiging](#page-glossary.site). De twee vallen vaak samen (één campus per vestiging, met haar eigen klassen). Zodra u een tijdrooster, lokalen of reistijden moet beheren, modelleert u de plaats als een vestiging. > Deze situaties doen zich ook in het basis- en voortgezet onderwijs > voor wanneer de instelling geografisch verspreid ligt (een onderbouw > en een bovenbouw in aparte gebouwen, een basisschool met een > dependance voor de kleuters, enzovoort). #### Typisch geval: één hoofdvestiging + nevenvestigingen in de regio Veelvoorkomend geval bij een technische hogeschool of een business school: - 1 **hoofdvestiging** (doorgaans de hoofdzetel), - 1 tot N **nevenvestigingen in de regio**, waar lichtingen buiten de hoofdvestiging een deel van de opleiding volgen, - **docenten** die tussen de vestigingen heen en weer reizen. Modellering in Omniscol: één vestiging per plaats, met de reistijden per vestigingspaar opgegeven (de treinreizen, vluchten of ritten met de auto tussen de vestigingen). Zie [Beleid voor meerdere vestigingen](#page-core-concepts.sites-rooms-resources) voor de precieze werking (blokkerende beperkingen tot op de minuut, middagpauze die met de reistijd wordt verminderd, enzovoort). #### Eén rooster per vestiging of één globaal rooster Twee benaderingen, afhankelijk van de interne organisatie: - **Eén globaal, geconsolideerd rooster** — één enkel rooster dekt alle vestigingen. Geschikt wanneer de planningsteams centraal werken en de docenten veel heen en weer reizen. De diagnose legt alles in één keer naast elkaar. - **Eén rooster per vestiging** — dankzij [meerdere actieve roosters naast elkaar](#page-timetables.multiple-active-timetables), inbegrepen in het Premium-abonnement. Elke vestiging heeft haar eigen lokale team en haar eigen actieve rooster over dezelfde weken; bij het raadplegen worden de weergaven dynamisch samengevoegd voor studenten of docenten die met meerdere vestigingen te maken hebben. #### Virtuele vestigingen en lessen op afstand Bijzonder geval: een les die **per videoconferentie wordt uitgezonden** vanaf een hoofdvestiging naar een lichting die volledig op afstand studeert. Mogelijke modellering: - maak een **virtuele vestiging** “Op afstand” aan, zonder reistijd naar de uitzendende vestiging, waardoor elke beperking op de verplaatsingstijd vervalt, - plaats daarin één lokaal “Videoconferentie” per cohort op afstand, - koppel dat lokaal via meerdere lokalen aan de les, samen met de oorspronkelijke collegezaal. > Deze modellering stuit op grenzen zodra u **veel cohorten op > afstand** hebt: een groeiend aantal virtuele lokalen > “Videoconferentie” wordt lastig te onderhouden en het beheer van hun > capaciteit heeft weinig zin. Leg de behoefte in dat geval vast als > een specifieke wens en kies liever voor de videoconferentielink > rechtstreeks op de les (of, met Premium, standaard op de klas), > zonder per cohort een virtueel lokaal aan te maken. Zie [Examens in meerdere lokalen](#page-higher-ed.multi-room-exams) voor de werking van meerdere lokalen, en [Videoconferentielinks per cursus](#page-higher-ed.videoconference-links) voor de bijbehorende Zoom-, Teams- of Meet-links. #### Filters en statistieken per vestiging De schermen van Omniscol bieden filters **per vestiging**, om één fysieke plaats af te zonderen. Handig om: - het rooster van een bepaalde plaats weer te geven, - de lokaalbezetting van een nevenvestiging apart te volgen, - statistieken per vestiging te maken (gegeven lesuren, bezettingsgraad). #### Informatieschermen per vestiging Een [informatiescherm](#page-panels.lobby-panel) kan op één bepaalde vestiging filteren, wat meestal overeenkomt met een scherm dat **in de hal** van een vestiging hangt. Zie [Een informatiescherm voor een hal of een gang configureren](#page-panels.lobby-panel). #### Zie ook - [Vestigingen, lokalen, resources](#page-core-concepts.sites-rooms-resources) - [Vestiging](#page-glossary.site) - [Meerdere actieve roosters naast elkaar](#page-timetables.multiple-active-timetables) - [Examens in meerdere lokalen](#page-higher-ed.multi-room-exams) - [Videoconferentielinks per cursus](#page-higher-ed.videoconference-links) - [Modaliteit](#page-glossary.lesson-modality) - [Een informatiescherm configureren](#page-panels.lobby-panel) - [Hoger onderwijs — overzicht](#page-higher-ed.overview) --- ## 14. Bijzonderheden basis- en voortgezet onderwijs ### 14.1 Specifieke kenmerken van het basis- en voortgezet onderwijs — overzicht *Source: `help/nl/k12/overview.md` · id: k12.overview · Updated: 2026-06-13* Deze sectie bundelt de pagina's die de bijzonderheden van het basis- en het voortgezet onderwijs behandelen (basisschool, onderbouw, bovenbouw). #### Typische kenmerken - **[Wekelijks](#page-glossary.weekly-timetable) rooster** — de terugkerende standaardweek is de norm, met of zonder [afwisselende weken](#page-glossary.alternate-lessons) (A/B). - **Eigen lokalen per klas** — veel scholen werken met een lokaal dat aan elke klas is gekoppeld; het zijn de docenten die zich verplaatsen. - **Halve klassen / keuzevakgroepen** — beheerd via [klasverdelingen](#page-core-concepts.class-divisions) binnen eenzelfde klas. - **Latijn en Grieks op het gymnasium / profielvakken in de bovenbouw** — beheerd via klasoverstijgende [groepsuitlijningen](#page-core-concepts.alignments). - **Automatische roostergeneratie** — die werkt, en daarin zit de kern van de meerwaarde in het schoolonderwijs. - **Studie-uren** — tijdvakken waarin de leerlingen op school zijn zonder toegewezen les. Zie [Studie-uren en studiezaal](#page-k12.study-halls). - **Combinatieklassen** — typisch voor kleine plattelandsscholen. Zie [Combinatieklassen](#page-k12.multi-grade-classes). #### Configuratieaanbevelingen - **Een standaardaccount** volstaat in de meeste gevallen (het Premium-plan is niet nodig in het gewone schoolonderwijs). - **Wekelijkse modus** als standaard. - **De invoer van de beschikbaarheid van docenten inschakelen** in de wekelijkse modus; de administratie kan die invoer doen of nakijken. - **Een eigen lokaal per klas** waar dat van toepassing is — vastgelegd op de klas. - **Aandacht voor de niveaus** in de module **Beheer**, via **Aanmaken** (groep 1, groep 2, …, groep 8, 1 vmbo, 2 havo, 3 vwo, …, 6 vwo, enzovoort). - **Officiële landelijke vakanties** — bij het aanmaken van het schooljaar biedt Omniscol aan om de vakantiedata van het land te importeren. Zie [Schooljaar en vakanties](#page-admin.school-year). #### Praktijkgevallen in het schoolonderwijs De historische basis van Omniscol is het voortgezet onderwijs (onderbouw en bovenbouw): veel standaardconventies komen daarvandaan. De stapsgewijze scenario's die voor het schoolonderwijs gelden, zijn gebundeld in de [praktijkscenario's](#page-use-cases.overview) en de [FAQ over roosters maken](#page-faq.timetables). #### Zie ook - [Wat is Omniscol](#page-overview.what-is-omniscol) - [Het juiste roostertype kiezen](#page-overview.timetable-modes) - [Halve klassen en keuzevakken in klasverdelingen](#page-k12.half-classes-and-options) - [Studie-uren en studiezaal](#page-k12.study-halls) - [Combinatieklassen](#page-k12.multi-grade-classes) ### 14.2 Halve klassen en keuzevakken in klasverdelingen *Source: `help/nl/k12/half-classes-and-options.md` · id: k12.half-classes-and-options · Audience: admin · Updated: 2026-06-13* In het basis- en voortgezet onderwijs wordt het beheer van een klas snel ingewikkelder door **halve klassen** (practicum / laboratorium in een kleinere groep) en **keuzevakken** die de leerlingen van eenzelfde klas over meerdere gelijktijdige subgroepen verdelen. Het Omniscol-concept dat daar structuur in brengt, is de **klasverdeling**: subgroepen die op hetzelfde moment les moeten hebben, maar met verschillende inhoud. #### Halve klassen voor practica Een typisch geval in de eerste jaren van het voortgezet onderwijs: 28 leerlingen die het grootste deel van de tijd als hele klas les hebben, opgesplitst in 2 groepen van 14 voor het practicum natuurwetenschappen. De twee halve groepen moeten hun practicum op hetzelfde moment hebben (anders zouden zij er geen andere les naast kunnen volgen), elk met een eigen docent en een eigen lokaal. Modellering in Omniscol: - maak twee **groepen** `1A-Practicum1` en `1A-Practicum2` aan in klas `1A`, - geef ze aan als **klasverdeling**: Omniscol garandeert dat zij gelijktijdig bezet zijn, - maak **twee practicumlessen natuurwetenschappen** aan, elk met een eigen groep, een eigen docent en een eigen lokaal, op hetzelfde wekelijkse tijdslot. Het algoritme respecteert de klasverdeling: het is onmogelijk dat `1A-Practicum1` natuurwetenschappen heeft terwijl `1A-Practicum2` Nederlands volgt. #### Keuzevakken in een klasverdeling Een typisch geval in klas 3 en 4: op hetzelfde tijdslot volgen sommige leerlingen Latijn, andere Duits op verdiept niveau, en weer andere niets (studie-uur). Drie gelijktijdige groepen binnen eenzelfde klas. Modellering: - groepen `4A-Latijn`, `4A-Duits`, `4A-Studie-uur` in klas `4A`, - aangegeven als **klasverdeling** (alle drie zijn gelijktijdig), - één les per groep op hetzelfde tijdslot, met een eigen docent / eigen lokaal. #### Leerlingen die in de loop van het jaar van keuzevak wisselen Een keuzevak kan in de loop van het jaar veranderen (een leerling stopt bijvoorbeeld met Latijn en sluit aan bij het studie-uur). De toewijzing aan de groepen beheert u **week per week** in de leerlingfiche: de reeds verstreken weken behouden de oude toewijzing, de volgende weken nemen de nieuwe over. #### Klasverdeling + groepsuitlijning Voor talen die **klasoverstijgend** worden gegeven (bijvoorbeeld Latijn dat openstaat voor 4A, 4B en 4C), combineert u: - een **klasverdeling** per klas (4A-Latijn / 4A-Overig, 4B-Latijn / 4B-Overig, enzovoort), - een **groepsuitlijning** tussen de drie Latijn-groepen, zodat zij op hetzelfde tijdslot staan, in hetzelfde lokaal en met dezelfde docent. Zie [Groepsuitlijningen](#page-core-concepts.alignments). #### Stappenplan — Een tijdslot Latijn/Duits/Studie-uur aanmaken voor een vierde klas 1. **Het typische geval in klas 3 en 4**: op hetzelfde tijdslot volgen sommigen Latijn, anderen Duits, weer anderen niets (studie-uur). Drie gelijktijdige groepen. De klasverdeling van Omniscol regelt dat moeiteloos. 2. **Maak drie groepen aan** in klas `4A`: `4A-Latijn`, `4A-Duits`, `4A-Studie-uur`. Wijs elke leerling aan zijn groep toe op basis van het gekozen keuzevak. 3. **Geef de klasverdeling aan** `(4A-Latijn, 4A-Duits, 4A-Studie-uur)`: de drie groepen zijn **elkaar uitsluitend en gelijktijdig**. Omniscol garandeert dat zij op hetzelfde tijdslot bezet zijn. 4. **Maak drie lessen aan** op hetzelfde wekelijkse tijdslot: - Latijn voor `4A-Latijn` met de docent Latijn en een geschikt lokaal; - Duits voor `4A-Duits` met de docent Duits; - Studie-uur voor `4A-Studie-uur` met een toezichthouder (of zonder docent laten, afhankelijk van uw beleid). De roostergeneratie respecteert de klasverdeling: de drie krijgen noodzakelijkerwijs hetzelfde tijdslot. 5. **Voor keuzevakken die voor meerdere klassen openstaan** (Latijn in 4A + 4B + 4C met één docent en één lokaal): combineer een **klasverdeling per klas** (`4A-Latijn` sluit de overige 4A-groepen uit, idem voor 4B en 4C) **+ een groepsuitlijning** tussen de drie Latijn-groepen. Zie [Groepsuitlijningen](#page-core-concepts.alignments). 6. **Wijzigingen in de loop van het jaar** (een leerling stopt met Latijn en sluit aan bij het studie-uur): pas zijn groepslidmaatschap aan in zijn leerlingfiche, vanaf de week van de wijziging. De verstreken weken behouden de oude toewijzing. #### Zie ook - [Klasverdelingen](#page-core-concepts.class-divisions) - [Klas, groep, subgroep](#page-core-concepts.classes-and-groups) - [Groepsuitlijningen](#page-core-concepts.alignments) - [Combinatieklassen](#page-k12.multi-grade-classes) ### 14.3 Studie-uren en studiezaal (schoolonderwijs) *Source: `help/nl/k12/study-halls.md` · id: k12.study-halls · Audience: admin/staff · Updated: 2026-06-13* **Studie-uren** (of kortweg **de studie**) zijn tijdvakken waarin leerlingen zonder les onder toezicht in de studiezaal worden opgevangen. Het is een klassieke voorziening in het voortgezet onderwijs: leerlingen van wie het keuzevak niet op dat tijdslot valt, wie vrijgesteld is van lichamelijke opvoeding, wie een afwezige docent heeft. #### Waarom niet gewoon een klassieke les? Een studie-uur beheert u niet precies zoals een les: - **geen vak** in de klassieke zin, - **wisselend publiek** van het ene tijdslot op het andere (wie geen les heeft), - **toezicht in plaats van onderwijs** — de begeleider geeft geen les, maar houdt toezicht, - **sterke behoefte aan billijkheid**: de last van het toezicht moet volgens een billijke verdeelsleutel worden verdeeld over de docenten (en de leerlingcoördinatoren / toezichthouders). Daarom biedt Omniscol de module **Personeelsinzet** aan, die op dit soort beheer is toegesneden. Zie [Overzicht van de module Personeelsinzet](#page-staffing.overview). Deze module is een **optie** van het account: zonder die module modelleert u de studie-uren met een **studiegroep** (zie de sectie hieronder); het toezichtrooster zelf hoort bij de module. #### Modellering met de module **Personeelsinzet** Studie-uren vertalen zich in inzetroosters: - een **wekelijks inzetrooster** van de tijdslots waarop leerlingen in de studie kunnen zitten, - per tijdslot een of meer **toezichtposten** (afhankelijk van het verwachte aantal leerlingen en de gewenste verhouding toezichthouder / leerlingen), - **toewijzing** van de toezichthouders (begeleiders, of docenten met de rol **Personeel**) aan elke post. Zie [Een inzetrooster opbouwen](#page-staffing.building-grids) en [Het personeel toewijzen](#page-staffing.planner). #### Verband met de roosters van de leerlingen Wanneer een leerling op een tijdslot geen les heeft (de klas zit in een keuzevak of de halve klas heeft practicum), staat er in zijn persoonlijke rooster gewoon een **vrij tijdslot**: Omniscol toont daar niet automatisch een les “Studie”. Wilt u de studie toch laten verschijnen in het rooster van de betrokken leerlingen, maak dan een **studieles** aan voor de groep die op dat tijdslot geen les heeft, met de studiezaal als lokaal — dat is het schema van de groep `4A-Studie-uur` dat in [Halve klassen en keuzevakken in klasverdelingen](#page-k12.half-classes-and-options) wordt beschreven. De dekking van het toezicht regelt u vanuit **Personeelsinzet** — zie [Overzicht van de module Personeelsinzet](#page-staffing.overview). #### Begeleide studie versus vrije studie Nuttig onderscheid: - **Begeleide studie** — er is een begeleider aanwezig, de leerlingen werken in stilte. Het klassieke geval voor **Personeelsinzet**. - **Vrije studie** (leerlingenruimte, plek om zelfstandig te werken) — geen vaste begeleider, gewoon een plek waar de leerlingen kunnen wachten. Daarvoor hebt u **Personeelsinzet** niet nodig: modelleer die als een eigen lokaal; een **lokaalspecialisatie** kan zo nodig verhinderen dat er gewone lessen in worden geplaatst (zonder dat het lokaal daarmee voor de studie zelf wordt gereserveerd, want die heeft geen vak). Zie [Lokaalspecialisaties](#page-core-concepts.classroom-specializations). #### Zie ook - [Overzicht van de module Personeelsinzet](#page-staffing.overview) - [Een inzetrooster opbouwen](#page-staffing.building-grids) - [Het personeel toewijzen](#page-staffing.planner) - [Halve klassen en keuzevakken in klasverdelingen](#page-k12.half-classes-and-options) ### 14.4 Combinatieklassen *Source: `help/nl/k12/multi-grade-classes.md` · id: k12.multi-grade-classes · Audience: admin · Updated: 2026-06-13* **Combinatieklassen** brengen leerlingen uit meerdere leerjaren samen in hetzelfde lokaal, onder de verantwoordelijkheid van één en dezelfde docent. Dat is de dagelijkse praktijk van **kleine plattelandsscholen** in het basisonderwijs, en soms ook van **scholen voor speciaal onderwijs** of **internationale scholen** met weinig leerlingen. #### Waarom Omniscol deze gevallen aankan Het model van Omniscol — dat klas (administratief) en groepen (onderwijskundige deelverzamelingen) van elkaar scheidt — dekt de combinatieklas van nature af. Dezelfde administratieve klas `groep 4/5` kan twee groepen `groep 4` en `groep 5` bevatten, met soms een gemeenschappelijke les, soms een aparte les per leerjaar. #### Modellering Twee benaderingen, afhankelijk van de aard van de gegeven lessen: ##### Benadering A — één administratieve klas, twee onderwijskundige groepen - Administratieve klas: `groep 4/5` (voor het beheer van de leerlingen, de ouderlijst, het lokaal). - Onderwijskundige groepen: `groep 4` en `groep 5`. - De **gemeenschappelijke lessen** (muziek, gym, kringgesprek) worden aan de hele klas `groep 4/5` toegewezen. - De **gescheiden lessen** (lezen en rekenen, voor elke groep afzonderlijk) gebruiken de groepen `groep 4` en `groep 5`, aangegeven als **klasverdeling** zodat zij gelijktijdig plaatsvinden (de enige docent geeft les aan de ene groep terwijl de andere zelfstandig werkt). ##### Benadering B — twee administratieve klassen, één docent - Gescheiden administratieve klassen: `groep 4` en `groep 5`. - De enige docent wordt toegewezen aan de lessen van beide klassen. - Omdat een docent niet twee lessen tegelijk kan geven, meldt Omniscol een conflict zodra zijn lessen voor groep 4 en groep 5 op hetzelfde tijdslot komen te staan. Benadering B komt minder vaak voor, omdat ze het administratieve beheer ingewikkelder maakt (twee afzonderlijke klassen voor wat in de praktijk één en dezelfde groep leerlingen is) en geen mechanisme biedt dat zo rechtstreeks is als de klasverdeling om de afwisseling tussen de leerjaren te organiseren. #### Drie leerjaren en meer Het mechanisme geldt ook voor drie leerjaren of meer (het geval van zeer kleine scholen: groep 3 tot en met groep 8 in hetzelfde lokaal). Omniscol legt geen getalsmatige grens op — de complexiteit zit in de onderwijskundige organisatie, niet in de modellering. #### Studie-uren en zelfstandig werken Wanneer de enige docent bij het ene leerjaar is, werkt het andere leerjaar zelfstandig in hetzelfde lokaal. U hoeft dat niet als studie-uur te modelleren — het hoort intrinsiek bij de werking van de combinatieklas en het is geen afzonderlijke toezichtstaak. #### Stappenplan — Een combinatieklas groep 4/5 modelleren 1. **Het typische geval van de plattelandsschool**: een klas `groep 4/5` met één docent die afwisselt tussen de twee leerjaren. Benadering A (aanbevolen): één administratieve klas, twee onderwijskundige groepen. 2. **Maak de administratieve klas** `groep 4/5` aan in **Klassen**. Aan die klas hangen de leerlingenlijst, de oudergegevens, het lokaal en de communicatie. Niveau: wijs het meest representatieve niveau toe of maak een apart niveau `Combinatieklas basisonderwijs` aan. 3. **Maak de twee onderwijskundige groepen** `groep 4` en `groep 5` aan binnen de klas. Wijs de leerlingen aan hun eigen groep toe. De twee groepen samen = de hele klas. 4. **Geef de groepen aan als klasverdeling** `(groep 4, groep 5)`: de klasverdeling **staat toe** dat ze **gelijktijdig** worden geplaatst (daarmee vervalt het conflict dat dit anders zou verhinderen) en de roostergeneratie **probeert** de lessen van groep 4 en groep 5 op dezelfde tijdsloten te zetten. Lokaal en docent blijven per les toegewezen. Zie [Klasverdelingen](#page-core-concepts.class-divisions). 5. **Gemeenschappelijke lessen** (muziek, gym, kringgesprek): wijs die toe aan de hele klas `groep 4/5`. Alle leerlingen volgen ze samen. 6. **Lessen die per leerjaar gescheiden zijn** (lezen, rekenen): maak één les per groep `groep 4` en `groep 5` aan, op hetzelfde tijdslot (daarvoor dient de klasverdeling). Wijs de docent toe aan de les die hij geeft en laat de andere les zonder docent (zelfstandig werken): dezelfde docent toegewezen aan twee gelijktijdige lessen zou een conflict opleveren. U hoeft geen studie-uur te modelleren, het zelfstandig werken hoort intrinsiek bij de werking van een combinatieklas. 7. **Voor zeer kleine scholen** (groep 3 tot en met groep 8 in hetzelfde lokaal) geldt het mechanisme zonder beperking. U maakt evenveel groepen aan als er leerjaren zijn, aangegeven als klasverdeling. De complexiteit zit in de onderwijskundige organisatie, niet in de modellering van Omniscol. #### Zie ook - [Klas, groep, subgroep](#page-core-concepts.classes-and-groups) - [Klasverdelingen](#page-core-concepts.class-divisions) - [Halve klassen en keuzevakken in klasverdelingen](#page-k12.half-classes-and-options) --- ## 15. Toepassingsscenario's ### 15.1 Praktijkscenario's — overzicht *Source: `help/nl/use-cases/overview.md` · id: use-cases.overview · Updated: 2026-06-13* Deze sectie komt tegemoet aan een terugkerende wens van grote instellingen: beschikken over een **lijst met operationele scenario's** in de vorm van een *user story*, met een concrete uitleg van “hoe u dat in Omniscol doet”. Elk beschikbaar scenario verwijst naar een referentiepagina of naar een bestaande rondleiding; scenario's die nog worden onderzocht, worden apart opgevolgd en staan niet in deze lijst. De scenario's komen uit echte feedback van klanten en potentiële klanten (business schools, ingenieursscholen, universiteiten, volwassenenonderwijs), geanonimiseerd en generiek geformuleerd. #### Formaat Elk scenario volgt het klassieke Agile-formaat: > **Als** *(gebruikersrol)* > **wil ik** *(actie)* > **zodat** *(functioneel doel)* Gevolgd door een **oplossing in Omniscol**: een korte tekst, een link naar de uitgebreide referentiepagina, en een interactieve rondleiding alleen wanneer er al een betrouwbare rondleiding bestaat. #### Statussen Elk scenario heeft een implementatiestatus: | Status | Betekenis | | --- | --- | | ✓ **Beschikbaar** | Functie in productie, getest en gevalideerd. | | ◐ **Gedeeltelijk** | Onvolledige dekking; er bestaat een tijdelijke oplossing, of de functie geldt alleen voor bepaalde modi. | | △ **Roadmap** | Niet beschikbaar in de huidige interface; behoefte vastgesteld of apart productplan. | | — **Buiten bereik** | Wordt afgedekt door een andere tool in het ecosysteem, of valt buiten het functionele bereik van Omniscol. | #### Inhoud per thema - [Roosters aanmaken en genereren](#page-use-cases.creation-and-generation) - [Dagelijks plaatsen en wijzigen](#page-use-cases.placement-and-modification) - [Meerdere groepen, meerdere lokalen, meerdere docenten](#page-use-cases.multi-entities) - [Bulkbewerkingen](#page-use-cases.mass-operations) - [Examens en evenementen](#page-use-cases.exams-and-events) - [Afwezigheden en vervangingen (scenario's)](#page-use-cases.absences-and-substitutions) - [Rapportage en statistieken](#page-use-cases.reporting-and-stats) - [Verspreiding en delen](#page-use-cases.diffusion-and-sharing) #### Rondleidingen en video's Bevat een scenario een gevalideerde rondleiding, dan kan dezelfde inhoud op meerdere manieren worden ingezet: - als **popover in het helppaneel** (interactieve modus, de gebruiker klikt stap voor stap door), - als **in de video ingebrande ondertitel** (passieve modus, lineair afspelen), - als bijbehorend **WebVTT-bestand** wanneer er een video wordt gemaakt. De ondertitels lopen synchroon met het verloop van de stappen: één enkele bron levert alle drie de formaten op. Een scenario zonder geverifieerde stappen blijft een gewone referentiepagina, zonder rondleiding of bijbehorende video. #### Een scenario lezen Een typische scenariopagina bevat: ```markdown ## Korte naam van het scenario > **Als** **, **wil ik** **, **zodat** > **. **Status**: ✓ Beschikbaar **Oplossing in Omniscol.** Korte, operationele uitleg. [Link naar de uitgebreide referentiepagina](id:timetables.publication) `` ``` Scenario's met status ✓ of ◐ zijn **vandaag al bruikbaar**. Scenario's met status △ Roadmap worden apart opgevolgd en staan hier niet in de lijst. #### Zie ook - [FAQ — praktijkgevallen hoger onderwijs](#page-faq.higher-ed-cases) - [FAQ — Bijzondere gevallen en geavanceerde configuraties](#page-faq.edge-cases) - [Specifieke kenmerken van het hoger onderwijs — overzicht](#page-higher-ed.overview) ### 15.2 Scenario's — Roosters aanmaken en genereren *Source: `help/nl/use-cases/creation-and-generation.md` · id: use-cases.creation-and-generation · Updated: 2026-06-13* Eerste aanmaak, automatische roostergeneratie, sandbox en duplicatie van roosters voor tests en vergelijkingen. Voor het leesformaat en de legenda van de statussen, zie [Scenario's — overzicht](#page-use-cases.overview). #### Een automatische roostergeneratie starten > **Als** roostermaker **wil ik** een automatische roostergeneratie starten, **zodat** ik snel een eerste bruikbare basis krijg. **Status**: ✓ Beschikbaar **Oplossing in Omniscol.** De automatische roostergeneratie is beschikbaar voor alle drie de roostertypen — wekelijks, cyclisch en kalender. De roostergeneratie plaatst de lessen die zijn aangemaakt maar nog niet geplaatst, en kan al geplaatste lessen verplaatsen als dat het resultaat verbetert, met uitzondering van de vergrendelde lessen. Bestaat er geen volledige oplossing, dan geeft Omniscol het beste berekende rooster terug en laat het de resterende lessen in de lijst met niet-geplaatste post-its staan. [Automatische roostergeneratie](#page-timetables.generation) #### Een roostergeneratie opnieuw starten na wijziging van de beperkingen > **Als** roostermaker **wil ik** een roostergeneratie opnieuw starten na wijziging van de beperkingen, **zodat** ik verschillende configuraties kan testen zonder helemaal opnieuw te beginnen. **Status**: ✓ Beschikbaar **Oplossing in Omniscol.** Pas de beschikbaarheid, de beperkingen of de vergrendelingen aan en start de roostergeneratie daarna opnieuw vanuit hetzelfde scherm. De vergrendelde lessen behouden hun plaats; de andere kunnen worden verplaatst als dat het resultaat verbetert. Wilt u meerdere configuraties vergelijken, werk dan op kopieën van het rooster (“Op een kopie (sandbox) van een rooster werken”). [Een mislukte roostergeneratie diagnosticeren](#page-timetables.diagnosing-generation) #### Op een kopie (sandbox) van een rooster werken > **Als** roostermaker **wil ik** op een kopie (sandbox) van een rooster werken, **zodat** ik wijzigingen kan uitproberen zonder de officiële versie aan te raken. **Status**: ✓ Beschikbaar **Oplossing in Omniscol.** Dupliceer het rooster vanuit de module **Roosterbeheer** en werk op de kopie: zolang die niet is geactiveerd, blijft de officiële versie de versie die de gebruikers zien. Activeer de kopie wanneer die klaar is. [Visualiseren, dupliceren, herordenen](#page-timetables.visualize-duplicate), [Een rooster publiceren (activeren)](#page-timetables.publication) #### Zie ook - [Scenario's — overzicht](#page-use-cases.overview) - [Overzicht van de module Roosterbeheer](#page-timetables.overview) - [Automatische roostergeneratie](#page-timetables.generation) - [Roostergeneratie](#page-glossary.solver) ### 15.3 Scenario's — Dagelijks plaatsen en wijzigen *Source: `help/nl/use-cases/placement-and-modification.md` · id: use-cases.placement-and-modification · Updated: 2026-06-13* Beschikbare lokalen en docenten zoeken, lessen plaatsen en wijzigen, conflicten en omissies opsporen. Voor het leesformaat en de legenda van de statussen, zie [Scenario's — overzicht](#page-use-cases.overview). #### Een beschikbaar lokaal vinden dat bij een les past (capaciteit, type, vestiging) en het toewijzen > **Als** roostermaker **wil ik** een beschikbaar lokaal vinden dat bij een les past (capaciteit, type, vestiging) en het aan die les toewijzen, **zodat** ik snel een les zonder conflict kan plaatsen. **Status**: ✓ Beschikbaar **Oplossing in Omniscol.** De lokaalkiezer accepteert een tekstzoekopdracht en filters op capaciteit (`>20`, `<=50`, `=30`, `20-30`). Meerdere criteria gescheiden door een spatie worden gelezen als een logische EN; meerdere waarden gescheiden door een komma als een logische OF. Dezelfde zoekopdracht accepteert “ok” (tegenover “ko”) om alleen de lokalen te houden die op het tijdslot vrij zijn. #### Een beschikbare docent vinden die het vak geeft > **Als** roostermaker **wil ik** een beschikbare docent vinden die het vak geeft, **zodat** ik een toewijzing gemakkelijk kan vervangen of aanvullen. **Status**: ✓ Beschikbaar **Oplossing in Omniscol.** Bij het kiezen van een docent wordt rekening gehouden met het vak dat hij of zij geeft en met zijn of haar beschikbaarheid. Afhankelijk van het scherm gebeurt de vervanging rechtstreeks vanuit de les of vanuit de lijst met lessen. #### De beschikbare tijdsloten voor een klas of een groep vinden > **Als** roostermaker **wil ik** de beschikbare tijdsloten voor een klas of een groep vinden, **zodat** ik een les efficiënt handmatig kan plaatsen. **Status**: ◐ Gedeeltelijk **Oplossing in Omniscol.** Stapel de roosters van de klas of de groep in de raadpleegweergaven voor meerdere entiteiten om de vrije tijdsloten te vinden (zie “Roosters bekijken”). #### Een les snel wijzigen (lokaal, docent, tijdstip) > **Als** roostermaker **wil ik** een les snel wijzigen (lokaal, docent, tijdstip), **zodat** ik de planning in realtime kan bijsturen. **Status**: ✓ Beschikbaar **Oplossing in Omniscol.** Open de les om het lokaal, de docent of het tijdstip in het wijzigingsvenster aan te passen, of verplaats haar met de punaiseknop [thumbtack] (klik op een gekleurd tijdslot) in de planningweergave. Een **meervoudige selectie** (Shift+klik op meerdere lessen) opent hetzelfde venster in gezamenlijke modus: alle geselecteerde lessen in één handeling verplaatsen, losmaken of verwijderen. [Eenmalige wijzigingen](#page-schedules.ad-hoc-changes) #### Lessen zonder docent of zonder lokaal opsporen > **Als** roostermaker **wil ik** lessen zonder docent of zonder lokaal opsporen, **zodat** ik kritieke omissies meteen kan corrigeren. **Status**: ✓ Beschikbaar **Oplossing in Omniscol.** De roosterdiagnose somt expliciet de geplaatste lessen zonder lokaal en de lessen zonder docent op; de roosterweergaven signaleren ze eveneens. [Conflicten en diagnose](#page-timetables.conflicts) #### Gewaarschuwd worden bij een inconsistentie (ontbrekend lokaal, ontbrekende docent, conflict) > **Als** roostermaker **wil ik** gewaarschuwd worden bij een inconsistentie (ontbrekend lokaal, ontbrekende docent, conflict), **zodat** ik de kwaliteit van de planning kan waarborgen. **Status**: ◐ Gedeeltelijk **Oplossing in Omniscol.** Inconsistenties worden gesignaleerd in de diagnoses en de roosterweergaven: les zonder lokaal, zonder docent, conflicten rond lokaal, klas of docent. Het diagnosepaneel laat zich **fijnmazig filteren** — op ernst, op type waarschuwing, op entiteit (klas, docent, lokaal), op niveau, vestiging of campus, en op datumbereik in de kalendermodus (Premium-functie; zie [Conflicten en diagnose](#page-timetables.conflicts)). **Tijdelijke oplossing (zonder Premium).** Gebruik de chronologische lijst met waarschuwingen en de beschikbare filters in de raadpleegweergaven om de betrokken lessen te isoleren. Corrigeer de blokkerende conflicten vóór de verspreiding of vóór het terugsturen naar een extern systeem. #### De resterende conflicten snel bekijken > **Als** roostermaker **wil ik** de resterende conflicten snel bekijken, **zodat** ik vóór de verspreiding een betrouwbare planning kan afronden. **Status**: ✓ Beschikbaar **Oplossing in Omniscol.** De roosterdiagnose en de roosterweergaven signaleren de resterende conflicten. Pak eerst de blokkerende conflicten aan, vóór de publicatie. [Conflicten en diagnose](#page-timetables.conflicts) #### De beschikbaarheid / voorkeuren van docenten verzamelen > **Als** roostermaker **wil ik** de beschikbaarheid / voorkeuren van docenten verzamelen. **Status**: ✓ Beschikbaar **Oplossing in Omniscol.** Docenten voeren hun beschikbaarheid en onbeschikbaarheid in vanuit hun eigen omgeving; de roostermaker kan ze ook voor hen invoeren. Die beschikbaarheid is zichtbaar tijdens de handmatige plaatsing en wordt meegenomen door de automatische roostergeneratie. [Beschikbaarheid van docenten](#page-core-concepts.wishes-and-availability) #### Tijdsloten / tijdroosters / buiten rooster beheren > **Als** roostermaker **wil ik** tijdsloten / tijdroosters / buiten rooster beheren. **Status**: ✓ Beschikbaar **Oplossing in Omniscol.** De tijdroosters bepalen, vestiging per vestiging, welke tijdsloten openstaan voor plaatsing, pauzes inbegrepen. > _Premium_ De [lessen buiten rooster](#page-timetables.off-grid-lessons) dekken de lessen die met geen enkel tijdslot van het tijdrooster overeenkomen. [Tijdrooster, tijdsloten en tijdsduur](#page-core-concepts.timetable-grid) #### Pauzes / buiten rooster beheren > **Als** roostermaker **wil ik** pauzes / buiten rooster beheren. **Status**: ✓ Beschikbaar **Oplossing in Omniscol.** Zie “Tijdsloten / tijdroosters / buiten rooster beheren”: de pauzes worden vastgelegd in het tijdrooster van elke vestiging, en buiten rooster dekt de lessen buiten de tijdsloten. #### Roosters bekijken (meervoudige selectie, aangepaste weergaven, stapelen) > **Als** roostermaker **wil ik** de roosters bekijken (meervoudige selectie, aangepaste weergaven, stapelen, zichtbaarheid, export). **Status**: ✓ Beschikbaar **Oplossing in Omniscol.** De raadpleegweergaven omvatten de weergaven week, dag, maand, lijst en naast elkaar, en verschillende vergelijkingsmodi. Met de raadpleging van meerdere entiteiten toont u meerdere roosters zij aan zij, per kolom of in een raster, afhankelijk van de context. Niet beschikbaar in de huidige interface: een uitgebreide tooltip met de vakcode, het automatisch verbergen van weken zonder lessen, en één samengevoegde weergave zonder onderscheidende kolom. #### Alleen de beschikbare lokalen tonen > **Als** roostermaker **wil ik** alleen de beschikbare lokalen tonen, **zodat** ik tijd win bij het toewijzen van de lokalen. **Status**: ✓ Beschikbaar **Oplossing in Omniscol.** Gebruik het beschikbaarheidsfilter in de lokaalkiezer om de lokalen te verbergen die op het tijdslot al bezet zijn (zie ook “Een beschikbaar lokaal vinden dat bij een les past”). #### Zie ook - [Scenario's — overzicht](#page-use-cases.overview) - [Raadplegen en filteren](#page-schedules.consult-and-filter) - [Eenmalige wijzigingen](#page-schedules.ad-hoc-changes) - [Conflicten en diagnose](#page-timetables.conflicts) ### 15.4 Scenario's — Meerdere groepen, meerdere lokalen, meerdere docenten *Source: `help/nl/use-cases/multi-entities.md` · id: use-cases.multi-entities · Updated: 2026-06-13* Lessen delen over meerdere groepen, meerdere lokalen en meerdere docenten: co-teaching, groepsuitlijningen, groepen van groepen. Voor het leesformaat en de legenda van de statussen, zie [Scenario's — overzicht](#page-use-cases.overview). #### Lessen delen (1 les voor 2 groepen op dezelfde datum en tijd in hetzelfde lokaal) > **Als** roostermaker **wil ik** lessen delen (1 les voor 2 groepen op dezelfde datum en tijd in hetzelfde lokaal). **Status**: ✓ Beschikbaar **Oplossing in Omniscol.** Modelleer de gedeelde les met een [groepsuitlijning](#page-core-concepts.alignments) of met een [groep van groepen](#page-core-concepts.groups-of-groups): de gemeenschappelijke les brengt de groepen samen op hetzelfde tijdslot, in hetzelfde lokaal, met dezelfde docent. #### Een les met meerdere docenten plaatsen (co-teaching) > **Als** roostermaker **wil ik** een les met meerdere docenten plaatsen (co-teaching). **Status**: ✓ Beschikbaar **Oplossing in Omniscol.** Een les kan meerdere docenten dragen: voeg de mededocenten toe in de keuzelijst met docenten **Docenten toewijzen** in de fiche van de les. [Co-teaching](#page-higher-ed.co-teaching) #### Een les met meerdere lokalen plaatsen > **Als** roostermaker **wil ik** een les met meerdere lokalen plaatsen. **Status**: ✓ Beschikbaar **Oplossing in Omniscol.** Wijs meerdere lokalen aan dezelfde les toe vanuit de keuzelijst met lokalen **Een lokaal toewijzen**. [Examens in meerdere lokalen](#page-higher-ed.multi-room-exams) #### Een les met meerdere groepen plaatsen > **Als** roostermaker **wil ik** een les met meerdere groepen plaatsen. **Status**: ✓ Beschikbaar **Oplossing in Omniscol.** U kunt **rechtstreeks meerdere groepen aan dezelfde les toewijzen** — uit dezelfde klas of uit verschillende klassen. Voor duurzame of terugkerende groeperingen structureert u ze beter met een [groep van groepen](#page-core-concepts.groups-of-groups) of met een [groepsuitlijning](#page-core-concepts.alignments), al naargelang het geval. #### De lessen per groep in bulk kunnen plaatsen > **Als** roostermaker **wil ik** de lessen per groep in bulk kunnen plaatsen, **zodat** ik de groepen in bulk kan toewijzen, met één klik. **Status**: ✓ Beschikbaar **Oplossing in Omniscol.** Twee mogelijkheden dekken de plaatsing in bulk. - **Meervoudige selectie, dan de punaise.** Selecteer meerdere lessen tegelijk — met **Shift+klik**, of via het menu **Selectie uitbreiden** (per dag, week, maand, weekdag, vak of klasverdeling). De **punaise** toont dan de tijdsloten die met de hele selectie verenigbaar zijn: met één klik plaatst u ze samen op hetzelfde tijdslot. - **Roostergeneratie.** Wilt u alle lessen in één keer op het tijdrooster plaatsen, laat het algoritme ze dan verdelen met inachtneming van de beperkingen (zie [Automatische roostergeneratie](#page-timetables.generation)). Om meerdere groepen op één en dezelfde les samen te brengen, zie “Een les met meerdere groepen plaatsen” hierboven; om de geplaatste urenvolumes te volgen, gebruikt u de [urenverdeling](#page-timetables.hour-distribution). #### Zie ook - [Scenario's — overzicht](#page-use-cases.overview) - [Meerdere lokalen](#page-glossary.multi-room) - [Co-teaching](#page-glossary.co-teaching) - [Klasverdelingen](#page-core-concepts.class-divisions) - [Groepsuitlijningen](#page-core-concepts.alignments) - [Groepen van groepen](#page-core-concepts.groups-of-groups) ### 15.5 Scenario's — Bulkbewerkingen *Source: `help/nl/use-cases/mass-operations.md` · id: use-cases.mass-operations · Updated: 2026-06-28* Toewijzingen in bulk, geavanceerde filters en automatiseringen om lokalen, capaciteiten en programma's snel te beheren. Voor het leesformaat en de legenda van de statussen, zie [Scenario's — overzicht](#page-use-cases.overview). #### Alleen de niet-toegewezen lokalen in bulk toewijzen > **Als** roostermaker **wil ik** alleen de niet-toegewezen lokalen in bulk toewijzen. **Status**: ✓ Beschikbaar **Oplossing in Omniscol.** Sorteer of filter de kolommen in de lijstweergave van het scherm **Roosterbeheer** om de lessen **in afwachting van een lokaal** af te zonderen, vink ze aan en start vervolgens de automatische lokaaltoewijzing op de selectie. Ook de roostergeneratie biedt een modus die zich tot de lokalen beperkt: start u die en negeert u daarbij de al toegewezen lokalen, dan vult ze alleen de lessen aan die er geen hebben, zonder de plaatsing opnieuw te berekenen. [Automatische lokaaltoewijzing](#page-timetables.auto-room-assignment) #### Alle lokalen met >115 plaatsen in bulk toewijzen voor de evenementen > **Als** roostermaker **wil ik** alle lokalen met >115 plaatsen in bulk toewijzen voor de evenementen, **zodat** ik het beheer van de lokalen optimaliseer. **Status**: ✓ Beschikbaar **Oplossing in Omniscol.** Spoor de grote lokalen op in de lokaalstatistieken, waar de zoekopdracht vergelijkingsoperatoren voor de capaciteit accepteert (bijvoorbeeld `>115`). Selecteer vervolgens de betrokken lessen in de lijstweergave van het scherm **Roosterbeheer** en start de automatische lokaaltoewijzing: vink in de kiezer van kandidaat-lokalen alleen de gewenste lokalen aan; de capaciteit van elk lokaal wordt getoond om de keuze te sturen. #### De lokaaltoewijzing beperken tot één gebouw of één verdieping > **Als** roostermaker **wil ik** de lokaaltoewijzing in bulk beperken tot een bepaald gebouw of een bepaalde verdieping, **zodat** ik de lessen op dezelfde plek bundel en de verplaatsingen beperk. **Status**: ✓ Beschikbaar **Oplossing in Omniscol.** In de automatische toewijzing groepeert de kiezer van kandidaat-lokalen de lokalen per **vestiging** en vervolgens per **gebouw**: vink een hele vestiging of een heel gebouw aan om alleen de lokalen daarvan toe te staan, en het algoritme kiest daaruit. Zie [Automatische lokaaltoewijzing](#page-timetables.auto-room-assignment). #### De lokalen opnieuw toewijzen op basis van de werkelijke aantallen > **Als** roostermaker **wil ik** de lokalen in bulk opnieuw toewijzen op basis van de werkelijke aantallen (keuzevakken, talen, groepen), **zodat** ik de grootte van de lokalen afstem op het aantal ingeschrevenen. **Status**: ✓ Beschikbaar **Oplossing in Omniscol.** Isoleer de betrokken lessen in de lijstweergave (sortering en filters per kolom) en start vervolgens de automatische toewijzing: het algoritme zet de **capaciteit** van elk lokaal af tegen het **aantal leerlingen** van de les en kiest het kleinste passende lokaal. Zie [Automatische lokaaltoewijzing](#page-timetables.auto-room-assignment). #### Zie ook - [Scenario's — overzicht](#page-use-cases.overview) - [Automatische lokaaltoewijzing](#page-timetables.auto-room-assignment) - [Lokaalstatistieken](#page-dashboard.classrooms) - [De uren verdelen en de lessen aanmaken](#page-timetables.hour-distribution) - [Eenmalige wijzigingen](#page-schedules.ad-hoc-changes) ### 15.6 Scenario's — Examens en evenementen *Source: `help/nl/use-cases/exams-and-events.md` · id: use-cases.exams-and-events · Updated: 2026-06-13* Specifieke lessen aanmaken: examens (fysiek of op afstand, bijzondere opstellingen), toelatingsexamens, onderhoudswerkzaamheden. Voor het leesformaat en de legenda van de statussen, zie [Scenario's — overzicht](#page-use-cases.overview). #### Een evenement aanmaken (toelatingsexamen) > **Als** roostermaker **wil ik** een evenement (toelatingsexamen) aanmaken, **zodat** ik de lokalen kan reserveren en over statistieken kan beschikken. **Status**: ✓ Beschikbaar **Oplossing in Omniscol.** Maak een gedateerd [eenmalig evenement](#page-schedules.events) aan, met zijn lokalen, deelnemers en resources: gelijktijdige bezettingen van een lokaal, een klas of een docent worden als conflicten gemeld zodra het evenement de betrokken deelnemers inzet. Eenmalige evenementen zijn voorbehouden aan **Premium**-accounts. #### Een bijzondere examenles aanmaken (om de andere plaats, beheer van extra tijd, enz.) > **Als** roostermaker **wil ik** een bijzondere examenles aanmaken (om de andere plaats, beheer van extra tijd, enz.), **zodat** ik de lokalen kan reserveren en over statistieken kan beschikken. **Status**: ✓ Beschikbaar **Oplossing in Omniscol.** Maak een aparte les of een apart evenement aan met de lokalen en de duur die bij de opzet van het examen passen. [Examens in meerdere lokalen](#page-higher-ed.multi-room-exams) #### Een evenement aanmaken (onderhoud) > **Als** roostermaker **wil ik** een evenement (onderhoud) aanmaken, **zodat** ik de lokalen kan reserveren en over statistieken kan beschikken. **Status**: ✓ Beschikbaar **Oplossing in Omniscol.** Maak een [evenement](#page-schedules.events) aan op het betrokken tijdslot en voeg er het lokaal of de resource aan toe die u wilt blokkeren: die is dan bezet op het tijdslot en valt buiten de beschikbaarheden. #### Een examen aanmaken (op afstand of fysiek, 1,5 uur of 3 uur en andere duren, keuzevak of verplicht vak) > **Als** roostermaker **wil ik** een examen aanmaken (op afstand of fysiek, 1,5 uur of 3 uur en andere duren, keuzevak of verplicht vak), **zodat** ik de toetsen kan inplannen. **Status**: ✓ Beschikbaar **Oplossing in Omniscol.** Een examen maakt u aan als een les van het lestype **examen** (zie [Lestypes](#page-admin.lesson-types)): vrije duur (1,5 uur, 3 uur…), fysiek of op afstand naargelang de [modaliteit](#page-glossary.lesson-modality), in één of [meerdere lokalen](#page-glossary.multi-room). Dat een vak een keuzevak is, modelleert u met een [groep](#page-glossary.group) in plaats van met de hele klas. #### Zie ook - [Scenario's — overzicht](#page-use-cases.overview) - [Eenmalige evenementen](#page-schedules.events) - [Lessen buiten rooster](#page-timetables.off-grid-lessons) ### 15.7 Scenario's — Afwezigheden en vervangingen *Source: `help/nl/use-cases/absences-and-substitutions.md` · id: use-cases.absences-and-substitutions · Updated: 2026-06-13* Afwezigheden melden en vervangingen van docenten over een korte of lange periode beheren. Voor het leesformaat en de legenda van de statussen, zie [Scenario's — overzicht](#page-use-cases.overview). #### Een afwezigheid van een docent melden > **Als** schooladministratie **wil ik** een afwezigheid van een docent melden, **zodat** ik de getroffen lessen kan markeren en de nodige vervangingen kan organiseren. **Status**: ✓ Beschikbaar **Oplossing in Omniscol.** Meld de afwezigheid vanuit de module **Afwezigheidsbeheer** (de docent kan die ook zelf melden, onder voorbehoud van goedkeuring). Omniscol bepaalt welke lessen getroffen zijn en stelt u in staat de vervangingen te organiseren. [Een afwezigheid melden](#page-absences.declaring) #### Een docent gedurende een bepaalde periode door een andere vervangen > **Als** schooladministratie **wil ik** een docent gedurende een bepaalde periode door een andere vervangen, **zodat** ik structurele wijzigingen (ziekte, vertrek…) kan opvangen. **Status**: ✓ Beschikbaar **Oplossing in Omniscol.** Meld een meerdaagse afwezigheid met een begindatum en een einddatum: Omniscol bepaalt de betrokken lessen, die zonder vervanging kunnen blijven, door een vervangingsbeleid kunnen worden gedekt of met eenmalige vervangingen kunnen worden bijgestuurd. [Meerdaagse afwezigheden](#page-absences.multi-day), [Vervangingsbeleid](#page-absences.substitution-policies) #### Zie ook - [Scenario's — overzicht](#page-use-cases.overview) - [Overzicht van de module Afwezigheidsbeheer](#page-absences.overview) - [Een afwezigheid melden](#page-absences.declaring) - [Vervangingsbeleid](#page-absences.substitution-policies) ### 15.8 Scenario's — Rapportage en statistieken *Source: `help/nl/use-cases/reporting-and-stats.md` · id: use-cases.reporting-and-stats · Updated: 2026-06-13* Bezettingsstatistieken, controle van de lesbelasting van docenten, verhoudingen op afstand / fysiek, urenvolumes per groep en per vak. Voor het leesformaat en de legenda van de statussen, zie [Scenario's — overzicht](#page-use-cases.overview). #### De knelpunten in de bezetting van de lokalen in beeld brengen > **Als** roostermaker **wil ik** de knelpunten in de bezetting van de lokalen in beeld brengen, **zodat** ik verzadigingspunten tijdig zie aankomen. **Status**: ✓ Beschikbaar **Oplossing in Omniscol.** De **lokaalstatistieken** van het **Dashboard** (zie [Lokaalstatistieken](#page-dashboard.classrooms)) geven de bezettingsgraden per lokaal en per periode; de module **Rooster** toont op zijn beurt het bezettingsschema van elk lokaal (bezette tijdslots). #### Het aantal door een docent gegeven lesuren controleren > **Als** onderwijscoördinator **wil ik** het aantal door een docent gegeven lesuren controleren, **zodat** ik de belasting en de naleving bewaak. **Status**: ◐ Gedeeltelijk **Oplossing in Omniscol.** Bewerkt u een rooster in de module **Roosterbeheer**, dan verschijnt de som van de uren van de docent en wordt die live bijgewerkt; het **Dashboard** levert het totaal aantal uren over de periode. **Tijdelijke oplossing.** Wilt u één bepaald semester controleren, selecteer dan het bijbehorende datumbereik in het **Dashboard**: het urentotaal wordt over de gekozen periode herberekend, zonder handmatig rekenwerk. #### Activiteitsstatistieken opvragen (uren, bezetting, verdeling) > **Als** kwaliteitscoördinator **wil ik** activiteitsstatistieken opvragen (uren, bezetting, verdeling), **zodat** ik aan de eisen van een kwaliteits- of certificeringsaudit voldoe. **Status**: ◐ Gedeeltelijk **Oplossing in Omniscol.** De exports van het **Dashboard** en van de roosterweergaven leveren de beschikbare volumes. Op zichzelf vormen zij nog geen volledig certificeringsrapport: de inhoudelijke en documentaire kadering blijft de verantwoordelijkheid van de instelling. > _Country: FR_ In Frankrijk worden deze exports onder meer gebruikt voor de **Qualiopi**-opvolging. #### De bezetting van de lokalen en de resources analyseren > **Als** directie **wil ik** de bezetting van de lokalen en de resources analyseren, **zodat** ik het gebruik van de infrastructuur optimaliseer. **Status**: ✓ Beschikbaar **Oplossing in Omniscol.** Het **Dashboard** geeft de bezetting van de lokalen en de resources; de exports nemen deze volumes over. #### De verhouding op afstand / fysiek per programma of lichting in beeld brengen > **Als** roostermaker **wil ik** de verhouding op afstand / fysiek per programma of lichting in beeld brengen, **zodat** ik de regels toepas (maximaal 20 % op afstand, minimaal 20 % ongewenste tijdslots op zaterdag). **Status**: ◐ Gedeeltelijk > _Premium_ **Oplossing in Omniscol.** Het **Dashboard** toont verdelingen per **Modaliteit** over de klassen en de vakken wanneer de lessen een modaliteit hebben (zie [Een les bewerken](#page-timetables.lesson-edit)) — **Fysiek**, **Op afstand**, **Hybride** of **Zelfstudie**. Omniscol voert geen automatische controle van de wettelijke drempels uit (bijvoorbeeld “maximaal 20 % op afstand”). #### Het geplande en het nog te plannen urenvolume opvolgen > **Als** onderwijscoördinator **wil ik** het geplande urenvolume en wat er nog te plannen valt opvolgen, **zodat** ik de samenhang met het onderwijsprogramma bewaak. **Status**: ✓ Beschikbaar **Oplossing in Omniscol.** Tijdens het bewerken toont de [urenverdeling](#page-timetables.hour-distribution) live, vak voor vak, het al geplaatste volume en de **nog te plaatsen tijd**. Het **Dashboard** geeft de opvolging achteraf, per klas, vak en groep. #### Zie ook - [Scenario's — overzicht](#page-use-cases.overview) - [Dashboard](#page-glossary.dashboard) - [Overzicht van de module Dashboard](#page-dashboard.overview) - [De uren verdelen en de lessen aanmaken](#page-timetables.hour-distribution) ### 15.9 Scenario's — Verspreiding en delen *Source: `help/nl/use-cases/diffusion-and-sharing.md` · id: use-cases.diffusion-and-sharing · Updated: 2026-06-13* Gegevensexport, iCal-abonnement voor onderwijsgevenden en lerenden, openbare link met alleen-lezentoegang, reservering van resources. Voor het leesformaat en de legenda van de statussen, zie [Scenario's — overzicht](#page-use-cases.overview). #### De roostergegevens exporteren > **Als** schooladministratie **wil ik** de roostergegevens exporteren, **zodat** ik ze in andere tools (ERP, rapportage…) kan hergebruiken. **Status**: ✓ Beschikbaar **Oplossing in Omniscol.** De roosterweergaven en het Dashboard bieden exports; met de Omniscol-API automatiseert u het ophalen van de gegevens. [Afdrukken en delen](#page-schedules.print-and-export), [Omniscol-API](#page-integrations.api-tokens) #### Uw rooster raadplegen via een beveiligde weblink zonder authenticatie > **Als** docent **wil ik** mijn rooster raadplegen via een beveiligde weblink zonder authenticatie, **zodat** ik gemakkelijk toegang heb tot mijn lessen. **Status**: ✓ Beschikbaar **Oplossing in Omniscol.** De deellink is ondertekend en geeft alleen-lezentoegang, zonder aanmelding; hij kan een vervaldatum hebben en blijft gekoppeld aan het account dat hem heeft aangemaakt (dat account deactiveren of het wachtwoord ervan wijzigen maakt de link ongeldig). [Een rooster delen via een openbare link](#page-schedules.share-link) #### Abonneren op uw rooster via een iCal-feed > **Als** docent of leerling **wil ik** me op mijn rooster abonneren via een iCal-feed, **zodat** het rooster automatisch in mijn persoonlijke agenda terechtkomt. **Status**: ✓ Beschikbaar **Oplossing in Omniscol.** Elke gebruiker kan zich op zijn rooster abonneren via een dynamische iCal-link, compatibel met de gangbare agenda's (Google Agenda, Outlook, Apple Calendar); de agenda wordt bijgewerkt volgens zijn eigen synchronisatieritme. [iCal — abonnement en dynamische link](#page-integrations.ical) #### Het rooster van een docent of een groep in Excel-formaat exporteren > **Als** schooladministratie **wil ik** het rooster van een docent of een groep in Excel-formaat exporteren, **zodat** ik de gegevens kan delen of verder verwerken. **Status**: ✓ Beschikbaar **Oplossing in Omniscol.** Zie [Afdrukken en delen](#page-schedules.print-and-export). #### De roosters verspreiden via een gecontroleerde openbare link > **Als** onderwijsinstelling **wil ik** de roosters verspreiden via een gecontroleerde openbare link, **zodat** ik eenvoudig met onderwijsgevenden en lerenden kan communiceren. **Status**: ✓ Beschikbaar **Oplossing in Omniscol.** Openbare deellinks zijn ondertekend, alleen-lezen en **hebben een vervaldatum** (standaard het einde van het schooljaar, of +90 dagen, aanpasbaar). Laat de links voor een institutionele verspreiding uitgaan van een herkenbaar serviceaccount dat verantwoordelijk is voor het delen, en niet van een persoonlijk account. [Openbare deellinks](#page-portal.share-links) #### Een resource reserveren (lokaal, onderwijsgevende, les of iets anders) > **Als** gebruiker **wil ik** een resource reserveren (lokaal, onderwijsgevende, les of iets anders), **zodat** ik de lokalen kan reserveren en over statistieken beschik. **Status**: ◐ Gedeeltelijk **Oplossing in Omniscol.** Er bestaat op dit moment geen aparte reserveringsmodule. **Tijdelijke oplossing (Premium-accounts).** Om een resource op een bepaald tijdslot te blokkeren, maakt u een [evenement](#page-schedules.events) aan; om de resource gedurende een hele **periode** onbeschikbaar te maken, gebruikt u een [datumvenster](#page-glossary.date-windows). #### Zie ook - [Scenario's — overzicht](#page-use-cases.overview) - [iCal — abonnement en dynamische link](#page-integrations.ical) - [Deellink](#page-glossary.share-link) - [Openbare deellinks](#page-portal.share-links) - [Afdrukken en delen](#page-schedules.print-and-export) --- ## 16. FAQ — veelgestelde vragen ### 16.1 FAQ — algemene vragen *Source: `help/nl/faq/general.md` · id: faq.general · Updated: 2026-07-24* De algemene vragen die geïnteresseerden en nieuwe gebruikers het vaakst stellen. Voor specifiekere vragen, zie de gespecialiseerde FAQ's: [Roosters maken](#page-faq.timetables), [Gegevensimport](#page-faq.data-import), [Gedrag van het algoritme](#page-faq.solver-behavior), [Weergave en UX](#page-faq.display-and-ux), [Beveiliging en hosting](#page-faq.security-and-hosting), [Tarieven en licenties](#page-faq.pricing-and-licenses). #### Hoe krijg ik een demonstratie? De knop Vraag een demo aan, die boven aan elke pagina van de site omniscol.com staat, reserveert een videogesprek van 30 minuten met het Omniscol-team. De demonstratie gaat uit van situaties die op de uwe lijken: type instelling, aantal leerlingen, organisatie van het onderwijs. U kunt het team ook via de contactpagina een bericht sturen om die afspraak voor te bereiden of om vooraf uw vragen te stellen. Daarna wordt meestal een evaluatieperiode aangeboden, waarin u Omniscol op uw eigen gegevens kunt uitproberen met begeleiding van het team. Zie [Tarieven en licenties](#page-faq.pricing-and-licenses). #### Werkt Omniscol met een beperkte internetverbinding? Ja, mits u over een toereikende verbinding beschikt op het moment van laden en opslaan. De webtoepassing bewaart al geraadpleegde gegevens in de cache van de browser, waardoor het raadplegen beter bestand is tegen korte onderbrekingen. Wijzigingen, imports, exports en beheerhandelingen vergen daarentegen netwerktoegang op het moment van de handeling. #### Welke browsers worden ondersteund? Chrome wordt aanbevolen. Firefox, Safari en Edge werken eveneens. Internet Explorer wordt niet ondersteund. #### Moet ik een client installeren? Nee. Alles werkt in de browser. Er is geen lokale installatie vereist. #### Wordt er een back-up van mijn gegevens gemaakt? Ja. Omniscol steunt op back-ups en redundantiemechanismen die beschreven staan in het contractuele kader en in de beveiligingsdocumenten van het account. Zie [Beveiliging en hosting](#page-faq.security-and-hosting). Voor handmatige back-ups is een **volledige export in JSON-formaat** beschikbaar via Import/Export. Bij een ernstig probleem kan dit bestand naar het Omniscol-team worden teruggestuurd om opnieuw te worden ingelezen. #### Kan ik meerdere roosters tegelijk hebben? Ja. Op een Standard-account, over reeksen weken die elkaar niet overlappen (bijvoorbeeld semester 1 tegenover semester 2). Op een [Premium](#page-overview.plans-and-options)-account kunnen meerdere roosters **gelijktijdig** over dezelfde weken worden gepubliceerd, met dynamische samenvoeging van de weergaven — dat is standaard inbegrepen. Deze mogelijkheid kan op sommige Standard-accounts ook contractueel worden ingeschakeld (uitzonderlijk geval, binnen een passende afspraak). Zie [Meerdere actieve roosters naast elkaar](#page-timetables.multiple-active-timetables). #### Hoeveel beheerders kunnen tegelijk werken? Het aantal gelijktijdige sessies hangt af van uw contract en van uw gebruik. Met de optie Realtime samenwerking zien de beheerders de aanwezigheid van de andere aangemelde gebruikers (een rood rondje wijst op een risico op gelijktijdige wijziging). De werkschermen worden niet altijd automatisch ververst nadat een collega heeft opgeslagen. Zie [Samenwerking tussen beheerders](#page-core-concepts.collaboration). #### Hoe deel ik een rooster met iemand die geen account heeft? De knop Delen op het scherm van het rooster genereert een [deellink](#page-glossary.share-link) met alleen-lezenrechten en een verplichte vervaldatum. Voor een dynamisch kalenderabonnement (automatische synchronisatie) is de iCal-optie bij het delen beschikbaar. Zie [iCal — abonnement en dynamische link](#page-integrations.ical). #### Welke talen worden ondersteund? Op dit moment: Frans, Engels, Duits, Spaans, Italiaans, Portugees, Nederlands, Pools, Russisch, vereenvoudigd Chinees, Arabisch, Hebreeuws, Kazachs, Vietnamees. Talen die van rechts naar links geschreven worden (Arabisch, Hebreeuws) krijgen een aangepaste interface (RTL). #### Mijn school ligt in een land dat niet in de lijst staat. Kan ik Omniscol gebruiken? Ja. De per land vooraf ingevulde instellingen zijn een gemak, geen beperking. In het ongunstigste geval past u de niveaus, het tijdrooster, de vakanties en de vakken handmatig aan. #### Hoe krijg ik mijn gegevens terug als ik Omniscol verlaat? Volledige JSON-export via Import/Export. Bevat alle gegevens van de school, in een herbruikbaar formaat. U blijft eigenaar van uw gegevens, conform de AVG. #### Wat is het verschil tussen de modules **Rooster** en **Roosterbeheer**? - **Roosterbeheer** dient om roosters te **maken, te configureren, te genereren en te publiceren**. Incidenteel gebruik (voorbereiding van het schooljaar, structurele wijzigingen). - **Rooster** dient om de gepubliceerde roosters te **raadplegen en ad hoc te wijzigen**. Dagelijks gebruik. Zie [Overzicht van de module Roosterbeheer](#page-timetables.overview) en [Raadplegen en filteren](#page-schedules.consult-and-filter). #### Zie ook - [Roosters maken](#page-faq.timetables) - [Gegevensimport](#page-faq.data-import) - [Gedrag van het algoritme](#page-faq.solver-behavior) - [Beveiliging en hosting](#page-faq.security-and-hosting) - [FAQ — praktijkgevallen hoger onderwijs](#page-faq.higher-ed-cases) - [FAQ — Bijzondere gevallen en geavanceerde configuraties](#page-faq.edge-cases) ### 16.2 FAQ — Roosters maken *Source: `help/nl/faq/timetables.md` · id: faq.timetables · Updated: 2026-07-10* Veelgestelde vragen over het maken en configureren van roosters. Voor de details van elke stap, zie [Overzicht van de module Roosterbeheer](#page-timetables.overview). #### Welk roostertype kiezen: wekelijks, cyclisch of kalender? De keuze hangt af van het ritme van uw instelling: - **Wekelijks** — terugkerende lessen over een standaardweek. Geschikt voor het basisonderwijs en het voortgezet onderwijs. - **Cyclisch** — terugkerende lessen over een cyclus van N dagen, anders dan de week van 5 of 7 dagen (typisch voor Noord-Amerikaanse systemen). - **Kalender** — afzonderlijk gedateerde lessen, zonder herhaling (typisch voor het hoger onderwijs en de permanente educatie). Beschikbaar op Premium-accounts. De roostergeneratie werkt voor alle roostertypen. Zie [Het juiste roostertype kiezen](#page-overview.timetable-modes). #### Kunt u meerdere roosters naast elkaar maken? Ja. Meerdere roosters kunnen in hetzelfde account naast elkaar bestaan (concepten, versies, semesters, periodes). Op een Standard-account moeten de publicaties betrekking hebben op reeksen weken die elkaar niet overlappen. Op een Premium-account kunnen meerdere roosters **gelijktijdig** over dezelfde weken worden gepubliceerd, met dynamische samenvoeging — een gelijkwaardige contractuele inschakeling blijft op sommige Standard-accounts mogelijk. Zie [Meerdere actieve roosters naast elkaar](#page-timetables.multiple-active-timetables). #### Wat is de aanbevolen volgorde om een rooster te configureren? De volgorde van de **stappen**: Algemeen, Vestigingen, Docenten, Klassen (met hun groepen), Groepsuitlijning, Urenverdeling, Roostergeneratie en daarna Publicatie. De eerste zeven zijn de tabbladen van de roostereditor (van links naar rechts); de **publicatie** gebeurt daarentegen vanuit het beheerscherm van het rooster. De details van elke stap staan in het onderdeel “Een rooster maken” van de inhoudsopgave. #### Waarom blijft de knop voor de roostergeneratie grijs? Omdat de diagnose op het controletabblad een blokkerende waarschuwing (in het rood) meldt. De meest voorkomende aan het begin van de opbouw: er is **geen enkele les om te plaatsen**. De roostergeneratie plaatst bestaande lessen, ze maakt er geen aan — u maakt ze eerst aan vanuit de urenvolumes, in de stap [De uren verdelen en de lessen aanmaken](#page-timetables.hour-distribution). Bij een gewone blokkerende waarschuwing kunt u de berekening nog altijd starten via het optiemenu van de knop, op eigen risico. Bij een onoverkomelijke waarschuwing — geen enkele les, geen bruikbare klas, een vestiging zonder tijdrooster — is ook dat menu uitgeschakeld. Alle gevallen staan beschreven op [Automatische roostergeneratie](#page-timetables.generation). #### Kent de roostergeneratie grenzen? Het algoritme is krachtig, maar houdt zich strikt aan de beperkingen die het meekrijgt. Is een opzet structureel onmogelijk (tegenstrijdige beschikbaarheid, onvoldoende capaciteit, onsamenhangende groepsuitlijningen), dan geeft Omniscol het beste berekende rooster terug, laat het de ontbrekende lessen in de lijst met niet-geplaatste post-its staan en levert het een expliciete diagnose. Zie [Een mislukte roostergeneratie diagnosticeren](#page-timetables.diagnosing-generation). #### Hoe lang duurt een roostergeneratie? De duur hangt af van de omvang van het rooster, het aantal lessen en de beperkingen. Elke roostergeneratie start een eigen, geparallelliseerde rekenomgeving; de initialisatie duurt vaak een tiental seconden voordat de eigenlijke berekening begint. Het venster kan tijdens de berekening worden gesloten; aan het einde verschijnt een melding. Voor de ordes van grootte, zie [Gedrag van het algoritme](#page-faq.solver-behavior). #### Wordt een gegenereerd rooster automatisch gepubliceerd? Nee. De publicatie (“roosterverdeling”) is een aparte stap die na controle uitdrukkelijk moet worden uitgevoerd. Zonder publicatie blijft het rooster een concept dat niet zichtbaar is voor de eindgebruikers. Zie [Een rooster publiceren (activeren)](#page-timetables.publication). #### Kunt u naar een eerdere toestand van een rooster terugkeren? Ja, in twee vormen: - **Duplicatie** van een rooster — elke structurele wijziging kan op een kopie worden uitgevoerd, waarbij het origineel als referentie dient (beschikbaar op alle abonnementen). - **Snapshots** — herstelbare back-uppunten van het volledige account, automatisch of handmatig (optie Snapshots, volgens contract). Zie [Back-uppunten](#page-admin.snapshots). #### Hoe beheert u afwisselende weken (A/B)? De functie wordt ingeschakeld in de [Algemene instellingen](#page-admin.parameters), onderdeel **Afwisselende weken** (letters A/B/C of cijfers 1/2/3, vrij ritme over zoveel weken als nodig). Op een les voegt Week toevoegen een plek toe voor een nieuwe afwisselende week. Zie [Afwisselende lessen](#page-glossary.alternate-lessons). #### Kan de lunchtijd per niveau worden verschoven (twee kantineshifts)? Ja, en dat is de juiste manier om **de kantine te ontlasten**. U geeft een brede, gemeenschappelijke middagpauze op — bijvoorbeeld **12.00 – 14.00 uur** — met een te vrijwaren lunchduur van **één uur**, en **legt** vervolgens de shift van elk niveau **vast** door op het halve tijdslot van de maaltijd een onbeschikbaarheid (**Niet beschikbaar**) in te kleuren, in de tijdsbeperkingen van de klas (Tijdsbeperkingen van de klas). Voorbeeld: leerjaar 1, 2 en 3 niet beschikbaar op 12.00 – 13.00 uur (eerste shift); leerjaar 4 en 5 niet beschikbaar op 13.00 – 14.00 uur (tweede shift). De kantine krijgt zo twee gescheiden stromen. Zie [Tijdrooster, tijdsloten en tijdsduur](#page-core-concepts.timetable-grid) en [Tijdsbeperkingen (algemeen systeem)](#page-core-concepts.time-constraints). #### Zie ook - [Overzicht van de module Roosterbeheer](#page-timetables.overview) - [Een mislukte roostergeneratie diagnosticeren](#page-timetables.diagnosing-generation) - [Het juiste roostertype kiezen](#page-overview.timetable-modes) - [Gedrag van het algoritme](#page-faq.solver-behavior) - [FAQ — Bijzondere gevallen en geavanceerde configuraties](#page-faq.edge-cases) ### 16.3 FAQ — Gegevensimport *Source: `help/nl/faq/data-import.md` · id: faq.data-import · Updated: 2026-05-10* #### Welke importformaten worden ondersteund? CSV en TSV, via kopiëren en plakken vanuit Excel, Google Sheets, Numbers of Calc. De volledige **JSON-export** van het account is beschikbaar voor de beheerder (back-up); het **opnieuw importeren** van een volledig JSON-account is daarentegen een hersteloperatie die Omniscol uitvoert, geen gewone handeling op het beheerscherm. Voor specifieke migraties, zie [Overzicht](#page-migration.overview). #### Wordt de identificatie door het systeem gegenereerd? Ja. Bij de import van leerlingen, docenten of klassen genereert Omniscol een stabiele interne identificatie: voor personen is die afgeleid van de voornaam en de achternaam, voor een groep bevat die de bovenliggende klas (`:`). Het patroon van de **inlognaam** (voornaam-achternaam, achternaam-voornaam of identificatienummer) stelt u in bij de [Algemene instellingen](#page-admin.parameters), veld **Gebruikersnaam**. U kunt ook uw eigen referentie vastleggen via het veld **externe identificatie / registratienummer** — handig voor de traceerbaarheid met uw schoolinformatiesysteem en om naamgenoten uit elkaar te houden. #### Moet bij groepen altijd de klas vermeld worden? Ja. Een groep is altijd een onderverdeling van een klas. De ID van een groep bevat de bovenliggende klas. In de importbestanden voor lessen werken de kolommen “klas” en “groep” met elkaar samen. Zie [Klas, groep, subgroep](#page-core-concepts.classes-and-groups). #### Is de volgorde van de kolommen in de tabel van belang? Het importscherm opent een **kolomsjabloon** waarin elke positie een vast type heeft (het vak, de docent, het lokaal… nemen elk een verwachte kolom in). U **herschikt de kolommen van het sjabloon** zodat ze overeenkomen met de volgorde van uw brontabel: het kopiëren en plakken blijft dan netjes, zonder dat u uw bestand hoeft te herschrijven. Zie [Massale import van cursussen via een spreadsheet](#page-timetables.mass-import). #### Welke scheidingstekens voor lijsten (meerdere docenten, meerdere groepen enzovoort)? De gebruikelijke scheidingstekens worden binnen één veld herkend: komma, puntkomma, schuine streep, verticale streep, plusteken, ampersand of regeleinde. De importmotor herkent de conventie die in het veld gebruikt wordt. #### Wat gebeurt er als de tabel onbekende vakken bevat? In stap 4 van de import stelt Omniscol voor om de **onbekende entiteiten aan te maken**. Voor aangepaste vakken en bepaalde docenten kunt u vragen om ze aan de kant van **Beheer** aan te maken, zodat ze in de hele school beschikbaar zijn. De labels corrigeert u in stap 3, bij het opheffen van de dubbelzinnigheden. #### Worden complexe lessen correct geïmporteerd? Gedeeltelijk. De importmotor herkent goed: - eenvoudige lessen (vak + klas + docent + lokaal + tijdslot), - eenvoudig afwisselende lessen (`A/B`), - lessen met meerdere docenten (co-teaching), - lessen met meerdere lokalen. Minder goed herkent hij het volgende, dat dus handmatig afgewerkt moet worden: - gekoppelde lessen (afwisseling van halve groepen), - complexe aaneenschakelingen, - groepen van groepen, - lessen buiten rooster met precieze tijden. #### Wat te doen als de import op een omvangrijk bestand mislukt? - Controleer of er geen lege regels of samengevoegde cellen zijn. - Splits het bestand op in deelbestanden (per klas, per campus, per semester). - Geef de voorkeur aan een **volledige export** van het bronaccount, vaak netter dan een handmatige gedeeltelijke export. #### Zie ook - [Uw gegevens voorbereiden voor een massale import](#page-getting-started.preparing-data) - [Massale import van cursussen via een spreadsheet](#page-timetables.mass-import) - [Overzicht](#page-migration.overview) - [Praktijkgevallen hoger onderwijs](#page-faq.higher-ed-cases) ### 16.4 FAQ — Gedrag van het algoritme voor roostergeneratie *Source: `help/nl/faq/solver-behavior.md` · id: faq.solver-behavior · Updated: 2026-05-15* Veelgestelde vragen over het gedrag van de automatische roostergeneratie. Voor een beschrijving van het algoritme zelf, zie [Roostergeneratie](#page-glossary.solver); voor de praktische uitwerking, zie [Automatische roostergeneratie](#page-timetables.generation). #### Op welke soorten roosters werkt de roostergeneratie? Op [weekroosters](#page-glossary.weekly-timetable), [cyclische roosters](#page-glossary.cyclic-timetable) en [kalenderroosters](#page-glossary.calendar-mode). In de kalendermodus worden de lessen op werkelijke datums geplaatst en bevatten de opties van de roostergeneratie ook datumgrenzen. #### Hoe werkt het algoritme? Omniscol start een berekening op de achtergrond. Het algoritme beoordeelt de te plaatsen lessen, de opgegeven beperkingen en de voorkeuren voor de roostergeneratie. Het resultaat hangt vooral af van de kwaliteit van de gegevens: urenvolumes, docenten, lokalen, groepen, beschikbaarheid, incompatibiliteiten en beperkingen tussen vestigingen. Elke roostergeneratie start een eigen, geparallelliseerde rekenomgeving. De school hoeft geen wachtrij te beheren; de initialisatie duurt vaak een tiental seconden voordat de eigenlijke berekening begint. In de module **Roosterbeheer** start u met de knop **Rooster genereren** de berekening, volgt u de status ervan en inspecteert u het resultaat. De motor is een optimalisatie-AI van het type **neurosymbolische Monte-Carlo-metaheuristiek**: stochastisch zoeken, symbolische beperkingen en stapsgewijze optimalisatie van de scores. Dat is geen belofte van succes bij een onmogelijke set beperkingen; in dat geval geeft Omniscol een diagnose terug. #### Hoe lang duurt een roostergeneratie? De duur hangt af van de omvang van het rooster, het aantal lessen, het aantal beperkingen en de gekozen opties. Ter indicatie: een middelbare school met ongeveer 550 leerlingen, 45 docenten en 16 klassen, met ruime beschikbaarheid, kan in minder dan een minuut een volledig rooster krijgen, met heel weinig of geen tussenuren, mits de gegevens consistent zijn. Een dichter bezette situatie, met veel beperkingen of met rekenintensieve optimalisaties, kan aanzienlijk langer duren. #### Houdt de roostergeneratie zich aan alle beperkingen? De **harde beperkingen** worden strikt nageleefd: - een docent op maar één plaats tegelijk; - een klas zonder dubbele plaatsing, behalve groepen in een klasverdeling; - beschikbaarheid en tijdsloten die als **niet beschikbaar** zijn gemarkeerd; - een gewoon lokaal dat door maar één les tegelijk wordt bezet; - een groot lokaal dat alleen binnen zijn grenzen voor capaciteit en aantal klassen wordt gebruikt; - passende gespecialiseerde lokalen, capaciteiten, materiële resources en verplaatsingen tussen vestigingen; - vergrendelde lessen die op hun plaats blijven. De **zachte beperkingen** (ongewenste beschikbaarheid, voorkeuren, pedagogisch gewicht, balans van de dagen, aantal aanwezigheidsdagen, tussenuren in de roosters) worden zo goed mogelijk geoptimaliseerd. Ze leveren strafpunten op: het algoritme zoekt de oplossing met de minste strafpunten, maar kan er enkele laten staan als dat het beste compromis is dat verenigbaar is met de harde beperkingen. #### Wat te doen als de roostergeneratie mislukt? Wordt er geen volledige oplossing gevonden, dan geeft Omniscol het beste berekende rooster terug en laat het de niet-geplaatste lessen in de balk met post-its staan. Het gedeeltelijke rooster blijft raadpleegbaar om te zien wat er geplaatst is, en om vervolgens de beperkingen te corrigeren of bepaalde lessen handmatig te verplaatsen. De meest voorkomende oorzaken staan beschreven op de pagina [Een mislukte roostergeneratie diagnosticeren](#page-timetables.diagnosing-generation). #### Kunt u de positie van een les handmatig afdwingen? Ja, via de **vergrendeling** van een les na handmatige plaatsing. Bij een nieuwe roostergeneratie verplaatst het algoritme een vergrendelde les niet, maar past het de andere eromheen aan. Handig om onwrikbare lessen te verankeren (externe sprekers op een vaste datum, examens met een vaste datum). #### Waarom stelt de roostergeneratie niet meerdere oplossingen voor? Het algoritme optimaliseert volgens de opgegeven beperkingen en voorkeuren en levert **de beste gevonden oplossing** op. Wilt u meerdere oplossingen kunnen vergelijken, dupliceer het rooster dan vóór elke roostergeneratie en pas de beperkingen of de gewichten tussen twee berekeningen licht aan. #### Houdt de roostergeneratie rekening met de gemelde afwezigheden? Het algoritme werkt op het **structurele** rooster, los van de afwezigheden. Afwezigheden worden **achteraf** afgehandeld in de module **Afwezigheidsbeheer** (zie [Overzicht van de module Afwezigheidsbeheer](#page-absences.overview)), met gevolgen voor de weergave van het gepubliceerde rooster en voor de statistieken van het [Dashboard](#page-glossary.dashboard) (niet voor de onderliggende structuur). #### Bewust conflict en blokkerend conflict Niet alle conflicten zijn gelijkwaardig: - **Niet-blokkerende conflicten** — mogen zo blijven staan als dat een bewuste keuze is (bijvoorbeeld een lokaal waarvan het getoonde aantal deelnemers de capaciteit overschrijdt omdat u weet dat niet alle ingeschrevenen komen). De waarschuwing blijft zichtbaar, maar blokkeert niets. - **Blokkerende conflicten** — verhinderen dat de automatische roostergeneratie slaagt (geen geschikt lokaal, een inconsistente groepsuitlijning enzovoort). De knop Rooster genereren blijft uitgeschakeld zolang deze conflicten bestaan. Zie [Conflict](#page-glossary.conflict). #### Zie ook - [Roostergeneratie](#page-glossary.solver) - [Automatische roostergeneratie](#page-timetables.generation) - [Een mislukte roostergeneratie diagnosticeren](#page-timetables.diagnosing-generation) - [Conflict](#page-glossary.conflict) - [Diagnose](#page-glossary.diagnostic) ### 16.5 FAQ — Weergave en interface *Source: `help/nl/faq/display-and-ux.md` · id: faq.display-and-ux · Updated: 2026-06-25* Veelgestelde vragen over de weergave, de beschikbare weergaven en de gebruikerservaring van de Omniscol-interface. #### Welke weergaven zijn beschikbaar om een rooster te raadplegen? De weergavecomponent combineert: - **weergavemodi**: **raster** (standaardkalender), **lijst**, **tabel** in spreadsheetstijl; - **leesvarianten**: **dag**, **maand**, **planning** (en **planning per uur**), **naast elkaar**. De planning dient om meerdere entiteiten of meerdere dagen in één weergave te combineren; de planning per uur doet hetzelfde op een uurschaal. De tabel is de huidige weergave in tabelvorm. Zie [Roosterweergave](#page-schedules.schedule-display) en [Raadplegen en filteren](#page-schedules.consult-and-filter). #### Is er een verticale roosterweergave beschikbaar? In de module **Rooster** biedt de weergavecomponent van de roosters geen verticale weergave. Een gelijkwaardige verticale weergave bestaat wel in de module **Personeelsinzet** (zie [Overzicht van de module Personeelsinzet](#page-staffing.overview)) voor verwante contexten (toezichtroosters). #### Is de interface responsive (mobiel, tablet)? Ja, de interface past zich aan schermen van elk formaat aan. Op een smartphone bladert een horizontale veegbeweging door de weergegeven periode (standaard de week, de dag in de weergave Dag). #### Welke parameters zijn er voor de weergave van namen? De namen lopen door een opmaakfunctie die wordt aangestuurd door de configuratie van de school: - Volgorde voornaam/achternaam (volgens de conventies van het land). - Het vet zetten van de hoofdnaam (verschilt per land — verwerking van de *middle name* voor Amerikaanse, Vietnamese en Arabische conventies). - Hoofdletters voor de voornaam, voor de tweede voornaam indien actief, en/of voor de achternaam via de parameter voor namen in hoofdletters. #### Is de interface toegankelijk voor mensen met een beperking? Er is een toegankelijkheidsaudit (RGAA, WCAG) ingericht. Een conformiteitsrapport kan op verzoek worden verstrekt. De vastgestelde verbeterpunten worden doorlopend opgepakt. Neem voor specifieke behoeften (schermlezer, verhoogd contrast, toetsenbordnavigatie) contact op met de ondersteuning. #### Worden talen die van rechts naar links worden geschreven ondersteund? Ja. Voor Arabisch en Hebreeuws is er een aangepaste interface van rechts naar links. De 14 ondersteunde talen staan opgesomd in [Algemene vragen](#page-faq.general). #### Hoe drukt u een rooster af? De knop **Afdrukken** in de module **Rooster** start het afdrukken. De weergave is geoptimaliseerd voor papier (geen interactieve elementen, aangepaste opmaak). #### Hoe exporteert u een rooster naar Excel of naar een externe kalender? - Export naar Excel / CSV via **Tabel**. - iCal-export / -abonnement via **Downloaden** (zie [iCal — abonnement en dynamische link](#page-integrations.ical)). - Openbare deellink met alleen-lezenrechten (zie [Deellink](#page-glossary.share-link)). #### Is er een donkere modus beschikbaar? Niet in de huidige interface: Omniscol biedt geen donker thema en schakelt niet automatisch mee met de donkere instelling van het besturingssysteem. De interface houdt wel rekening met de toegankelijkheidsvoorkeuren van het systeem, zoals verhoogd contrast. #### Kan ik de kleuren van de vakken aanpassen? Ja. Elk vak (zie [Vak](#page-glossary.subject)) kan een eigen kleur krijgen via **Colorpicker**. De lestypen blijven eenvoudige tekstlabels, zonder bijbehorende kleur of pictogram. #### Zie ook - [Raadplegen en filteren](#page-schedules.consult-and-filter) - [FAQ — Bijzondere gevallen en geavanceerde configuraties](#page-faq.edge-cases) - [Informatiescherm](#page-panels.lobby-panel) - [Afdrukken en delen](#page-schedules.print-and-export) ### 16.6 FAQ — praktijkgevallen hoger onderwijs *Source: `help/nl/faq/higher-ed-cases.md` · id: faq.higher-ed-cases · Updated: 2026-06-13* Veelgestelde vragen uit instellingen voor hoger onderwijs (business schools, technische hogescholen, kunst- en designacademies, universiteiten, centra voor permanente educatie). De antwoorden gelden voor al deze soorten instellingen; voor de inhoudelijke details zie [Specifieke kenmerken van het hoger onderwijs](#page-higher-ed.overview). #### Meerdere roosters, elke gebruiker ziet alleen het zijne **V.** Hoe beheert u meerdere roosters naast elkaar, zodat elke gebruiker in zijn kalender alleen de lessen ziet die hem aangaan? **A.** Drie mechanismen werken samen: - Aan de kant van de beheerder kunnen meerdere roosters naast elkaar over dezelfde weken worden gepubliceerd, met dynamische samenvoeging — standaard inbegrepen bij een Premium-account (zie [Meerdere actieve roosters naast elkaar](#page-timetables.multiple-active-timetables)). - Standaard ziet elke gebruiker alleen de lessen die hem aangaan — zijn klas, zijn groepen, of bij een docent zijn eigen lessen. De filters worden bij het aanmelden automatisch toegepast op basis van zijn rol. - Om een ander bereik te bekijken (een andere klas, een andere docent…), past de gebruiker handmatig een filter toe, voor zover zijn rol dat toestaat. Met de [zichtbaarheidsbeperkingen](#page-admin.visibility-restrictions) kunt u bijvoorbeeld voorkomen dat docenten het rooster van hun collega's zien. #### iCal-synchronisatie na een roosterwijziging **V.** Wordt de iCal-feed automatisch bijgewerkt wanneer een les in Omniscol wordt gewijzigd? **A.** Ja, mits u een **iCal-abonnementslink** gebruikt (en geen statische download). De abonnementslink is dynamisch; de kalendertoepassing haalt de feed met regelmatige tussenpozen opnieuw op, met een vertraging van enkele minuten tot meerdere uren, afhankelijk van de toepassing en de configuratie ervan. De kalendertoepassing bepaalt het verversingsritme, niet Omniscol. Zie [iCal](#page-glossary.ical) en [iCal — abonnement en dynamische link](#page-integrations.ical). #### Melding bij elke wijziging **V.** Kan er bij elke roosterwijziging een melding worden verstuurd? **A.** Geen automatische melding bij elke wijziging: het volume zou voor de ontvangers onbeheersbaar zijn. Huidige aanpak: wijzigingen gebundeld publiceren via een samenvattende e-mail aan een selectie van de betrokken gebruikers (E-mail verzenden). #### Lokaal binnen een macrotype / lokaalcategorie **V.** Hoe geeft u aan dat een cursus moet plaatsvinden in een bepaald lokaal dat tot een macrotype behoort — afhankelijk van of u een specifiek lokaal wilt afdwingen of de roostergeneratie binnen de categorie wilt laten kiezen? **A.** Via de [**lokaalspecialisaties**](#page-glossary.classroom-specialization), die vrije velden zijn: - Maak een specialisatie aan die overeenkomt met het macrotype (bijvoorbeeld “ATELIER”, “COMPUTERLOKAAL”, “SCHEIKUNDELAB”). - Ken die specialisatie toe aan de betrokken lokalen. - Geef bij de cursus de vereiste specialisatie op. Omniscol stelt de gespecialiseerde lokalen als eerste voor en de roostergeneratie kiest er een uit de beschikbare. - Om **een specifiek lokaal af te dwingen**, geeft u dat rechtstreeks op (naast de specialisatie, of in plaats daarvan). De roostergeneratie respecteert die keuze. Bij een massale import kunt u alleen de specialisatie opgeven; de roostergeneratie zorgt voor de uiteindelijke toewijzing. #### De lokaalbezetting controleren vóór de roostergeneratie **V.** Bestaat er een rapportage waarmee u vóór de roostergeneratie kunt nagaan of de uren die aan een lokaal of aan een macrotype van lokalen zijn toegewezen, binnen het totaal aan beschikbare uren passen? **A.** Het tabblad Roostergeneratie voert vooraf een diagnose uit: capaciteitscontroles (het aantal te plaatsen lessen vergeleken met de capaciteit van het tijdrooster) en compatibiliteitscontroles op de lokaalspecialisaties. Bij overbezetting verschijnt een waarschuwing. Het [dashboard](#page-glossary.dashboard) na publicatie geeft het werkelijke detail (rekening houdend met afwezigheden en vervangingen). #### Duur per afzonderlijke cursus bij de import **V.** In het importbestand bevat de kolom “duur” het totale urenaantal van een activiteit, die meerdere cursussen kan omvatten. Waar geeft u de individuele duur van elke cursus op? **A.** Eén **importregel komt overeen met één cursus**. De opgegeven duur is die van deze cursus, niet die van de module. Voor een module met meerdere cursussen van verschillende duur is dus één importregel per cursus nodig. Als de bron aggregeert (“Algebra = 30 uur in totaal”), moet u dat vóór de import opsplitsen — of de [automatische verdeling](#page-timetables.hour-distribution) gebruiken om een urenvolume over afzonderlijke cursussen te verdelen. #### Cursussen die alleen in bepaalde weken plaatsvinden **V.** Hoe geeft u aan dat een cursus alleen in bepaalde specifieke weken van het academisch jaar plaatsvindt? **A.** Dat hangt van de modus af: - In de [wekelijkse modus](#page-glossary.weekly-timetable) dekken de [afwisselende weken](#page-glossary.alternate-lessons) het geval waarin een cursus slechts om de N weken terugkeert. Voor een cursus die enkel in een paar specifieke weken van het jaar valt, is de kalendermodus geschikter. - In de [kalendermodus](#page-glossary.calendar-mode) wordt elke les afzonderlijk op haar datum geplaatst: dat zit standaard ingebouwd. - Geef bij de import de **datum** van elke les op in de daarvoor bestemde kolom (formaat `JJJJ-MM-DD`), of laat die leeg voor een les die u later handmatig plaatst. #### Cursussen over klassen en jaargangen heen **V.** Hoe modelleert u cursussen waaraan in hetzelfde tijdslot en hetzelfde lokaal meerdere groepen van dezelfde klas of van verschillende klassen deelnemen, soms voor verschillende vakken, soms op verschillende campussen? **A.** Afhankelijk van het geval: - **Meerdere groepen van dezelfde klas in hetzelfde tijdslot, hetzelfde vak, dezelfde docent, hetzelfde lokaal** — één enkele cursus die aan een supergroep is toegewezen. Vaste samenstelling → [klasverdeling](#page-glossary.class-division) indien van toepassing. Wisselende samenstelling → [groep van groepen](#page-glossary.groups-of-groups), beschikbaar op alle accounts en voor alle roostertypes. - **Meerdere verschillende klassen in hetzelfde tijdslot, hetzelfde vak, dezelfde docent, hetzelfde lokaal** — een [groepsuitlijning](#page-glossary.alignment) wanneer de samenstelling vast is, of een [groep van groepen](#page-glossary.groups-of-groups) (beschikbaar op alle accounts en voor alle roostertypes) wanneer de groepering flexibel moet blijven. - **Verschillende vakken in hetzelfde tijdslot en hetzelfde lokaal** (zeldzaam geval) — daarvoor zijn twee afzonderlijke cursussen nodig. Elke student ziet in zijn rooster het vak van zijn eigen groep. - **Tussen twee vestigingen** (twee klassen op verschillende plaatsen die een cursus delen) — ondersteund, mits het gedeelde lokaal of de videoconferentie correct is gemodelleerd (zie [virtuele vestigingen](#page-glossary.site)). #### Afwisselende docenten in hetzelfde tijdslot **V.** Hoe geeft u aan dat twee docenten elkaar afwisselen in hetzelfde tijdslot, op dezelfde weekdag, met dezelfde klas / hetzelfde vak / dezelfde groep — de een de ene week, de ander de volgende? **A.** Het gaat om een **afwisseling van docenten**, niet om [onderwijsassistentie](#page-glossary.co-teaching) in strikte zin (waarbij twee docenten tegelijk bij dezelfde les betrokken zijn). Twee manieren, afhankelijk van het ritme: - **Regelmatige afwisseling in de wekelijkse modus** — gebruik de [afwisselende weken](#page-glossary.alternate-lessons) met een andere docent per week. - **Afwisseling op vaste data in de kalendermodus** — maak één cursus per les aan met de bijbehorende docent. Omslachtiger, maar flexibeler: elke les kan afzonderlijk worden bijgesteld. #### Incidenteel samen doceren (visiting professor) **V.** Hoe geeft u aan dat een visiting professor slechts voor één of enkele lessen samen met de vaste docent een cursus verzorgt? **A.** Maak in de [kalendermodus](#page-glossary.calendar-mode) de gewone lessen aan met alleen de vaste docent; voor de lessen waarin de visiting professor meedoet, voegt u hem als [onderwijsassistent](#page-glossary.co-teaching) toe aan die specifieke les. Elke docent wordt in zijn eigen statistieken meegeteld. #### Videoconferentielink per cursus **V.** Kan de videoconferentielink alleen aan een hele klas worden gekoppeld, of ook aan een specifieke cursus of les? **A.** Een videoconferentielink kan op drie niveaus worden ingesteld: op de **klas** (hij geldt dan standaard voor al haar lessen), op een specifieke **cursus**, of op een **afzonderlijke les** in de kalendermodus. Dat past bij hybride sessies waarin maar een deel van de cursussen op afstand wordt gegeven. Zie [Videoconferentielinks per cursus](#page-higher-ed.videoconference-links). #### Doublerende studenten en studenten buiten het curriculum **V.** Hoe gaat u om met een student die een vak uit een ander jaar moet volgen (doubleren, bijspijkeren, *fuori corso*, enzovoort)? **A.** Een student kan tegelijkertijd aan meerdere klassen worden toegewezen en binnen een klas tot bepaalde groepen worden beperkt. Vier typische gevallen: 1. **Een volledige andere klas + een specifieke groep uit een derde** — aan beide toewijzen en de groep kiezen. 2. **Meerdere groepen van een andere klas zonder de hele klas** — rechtstreeks aan de groepen toewijzen. 3. **Eén enkel vak uit een andere klas via een specifieke groep** — maak een aparte groep in de andere klas aan en wijs de student alleen aan die groep toe. 4. **Student buiten het curriculum die een los vak overdoet** — dezelfde logica met een aparte groep. #### Het SIS-ID als unieke identificatie **V.** Kunt u de student- of docentidentificatie uit uw SIS gebruiken als unieke identificatie in Omniscol, om naamgenoten uit elkaar te houden? **A.** Ja, via het veld **Registratienummer / externe identificatie** op de gebruikersfiche — daar is het voor bedoeld. Vul het bij de import in en Omniscol gebruikt het als identificatiesleutel. Bijzonder handig voor tweerichtingssynchronisaties met uw SIS (zie [de synchronisatie met externe systemen](#page-integrations.extsync) voor Aurion / Auriga of [Omniscol-API](#page-integrations.api-tokens) voor een specifieke integratie). #### Meerdere e-mailadressen per gebruiker **V.** Kunt u twee e-mailadressen importeren voor dezelfde docent (institutioneel en persoonlijk)? **A.** Niet in de huidige interface: één hoofdadres per gebruiker. Als een tweede adres ter informatie moet worden bewaard, gebruik dan het veld Opmerking van de gebruikersfiche. Dat veld wordt niet als verzendadres gebruikt. #### Lerenden, studenten, deelnemers — welke entiteit? **V.** Ons referentiemodel onderscheidt **lerende** (algemene term), **student** (initiële opleiding) en **deelnemer** (permanente educatie). Hoe worden die nuances afgebeeld? **A.** Alle drie komen uit op de Omniscol-entiteit [leerling](#page-glossary.student) (rol `student`). Het onderscheid tussen initiële opleiding en permanente educatie wordt geregeld met een optioneel kenmerk op de fiche (SIS-registratienummer, status), niet met afzonderlijke entiteiten. #### Docenten: vast, op uurbasis, expert, visiting **V.** Ons referentiemodel onderscheidt **vaste docent** (vast contract, verdeelde uren), **docent op uurbasis** (contract per opdracht), **expert** (incidentele externe dienstverlener) en **visiting professor** (uitgenodigde academicus). Komen die allemaal overeen met dezelfde Omniscol-entiteit? **A.** Ja, ze komen alle uit op de entiteit [docent](#page-glossary.teacher) (rol `teacher`). De **markering “extern / op uurbasis” per docent** die hen van de vaste docenten onderscheidt, is een **Premium**-optie (zie [externe docent](#page-glossary.external-teacher)); zonder Premium blijven de vier profielen één en dezelfde docentenentiteit, zonder eigen markering. De rollen “cursusverantwoordelijke” en “programmaverantwoordelijke” zijn **functionele rollen** binnen uw instelling. Omniscol modelleert ze niet als zodanig, maar kan ze weergeven via de [aangepaste rollen](#page-admin.customroles). #### Programma's, opleidingen, leertrajecten **V.** Ons aanbod is opgebouwd uit **programma's** (PGE, MBA, MSc, PhD enzovoort), **managementcursussen** (UE / EC / ECUE) en **onderwijsactiviteiten** (sessies). Hoe wordt dat in Omniscol afgebeeld? **A.** Aanbevolen mapping: | Functioneel begrip | Omniscol-entiteit | | --- | --- | | **Programma** | Een [klas](#page-glossary.class) (of een reeks klassen voor parallelle jaargangen) | | **Cursus / module / UE / EC** | Een [vak](#page-glossary.subject) (met of zonder [lestype](#page-glossary.lesson-type)) | | **Sessie / onderwijsactiviteit** | Een [les](#page-glossary.lesson) — afzonderlijk geplaatste instantie van een cursus | Voor hiërarchische nomenclaturen (UE → EC → ECUE) kunt u de groepering weergeven met een naamgevingsconventie op de vakken (“UE3-EC2-ECUE1 Lineaire algebra”) of met de **vakgroepen**. #### Mobiliteit, uitwisseling, dubbele diploma's **V.** Hoe beheert u inkomende en uitgaande mobiliteit (academische uitwisselingen, dubbele diploma's, *free movers*, *study abroad*)? **A.** Aan de roosterkant zijn deze lerenden **gewone studenten die aan specifieke klassen zijn toegewezen**. De administratieve afhandeling (overeenkomsten, studiepunten, ECTS, status) hoort bij het SIS van de instelling; Omniscol richt zich op de vraag “wie volgt welke les, wanneer en waar”. #### Configuratieaanbevelingen voor het hoger onderwijs Voor een account in het hoger onderwijs zijn deze punten het overwegen waard: - **Premium-account**: de kalendermodus, de kalenderbeschikbaarheid en meerdere actieve roosters zijn standaard inbegrepen, net als MCP (het aansluiten van een compatibele AI-assistent). Vul dat naar behoefte aan met de contractuele opties: aangepaste rollen, back-ups, realtime samenwerking. (**Groepen van groepen** zijn daarentegen op alle accounts beschikbaar.) - **Kalendermodus** voor de meeste roosters (afzonderlijk gedateerde lessen, docenten die per sessie verschillen). - **Meerdere actieve roosters** naast elkaar per programma (één rooster per masteropleiding, dynamisch samengevoegd wanneer cursussen gedeeld zijn). - **Groepen van groepen** voor wisselende groeperingen over opleidingen heen (gemeenschappelijke basis voor meerdere trajecten). - **Meerdere lokalen** voor examens die over meerdere collegezalen worden gespreid of voor uitgezonden hoorcolleges. - **Aangepaste rollen** om cursus- of programmaverantwoordelijken te modelleren met rechten die op hun bereik zijn toegesneden. - **SIS-integratie** ([de synchronisatie met externe systemen](#page-integrations.extsync) voor Aurion / Auriga, of [Omniscol-API](#page-integrations.api-tokens) voor een specifieke integratie) om de lerenden te synchroniseren. - **OIDC / SSO** met de identiteitsprovider van de instelling (Google Workspace, Microsoft Entra ID, Keycloak, enzovoort). #### Zie ook - [Specifieke kenmerken van het hoger onderwijs — overzicht](#page-higher-ed.overview) - [Meerdere lokalen](#page-glossary.multi-room) - [Modaliteit](#page-glossary.lesson-modality) - [Co-teaching](#page-glossary.co-teaching) - [Kalendermodus](#page-glossary.calendar-mode) - [Groepen van groepen](#page-core-concepts.groups-of-groups) - [FAQ — Roosters maken](#page-faq.timetables) - [FAQ — Gegevensimport](#page-faq.data-import) ### 16.7 FAQ — Bijzondere gevallen en geavanceerde configuraties *Source: `help/nl/faq/edge-cases.md` · id: faq.edge-cases · Updated: 2026-06-13* Vragen over ongebruikelijke configuraties en bijzondere gevallen: lessen die het tijdrooster niet volgen, fijnmazig beheer van lokalen en hun specialisaties, conflicten die niet blokkeren, specifieke weergaven en de traceerbaarheid van inconsistenties. #### Lessen met een aangepaste tijd **V.** Een deel van de lessen bij ons op school (ongeveer 20%) volgt het standaard tijdrooster niet: de exacte duur van een examen, afwijkende tijden voor bepaalde practica. Hoe plaatst u een les die om 13.10 uur moet beginnen op een tijdrooster met stappen van tien minuten, en krijgt u een kloppende eindtijd? **A.** Ja, dat kan. Een les kan met een eigen begin- en eindtijd worden ingevoerd, zonder zich precies aan de grenzen van het standaard tijdrooster te houden. Gebruik in de geplaatste les de knop Aangepaste tijd (Aangepaste tijd) en vul daarna het begin en het einde in. De les telt gewoon mee in de conflicten: docent, lokaal, klas, groep en resource gelden als bezet zodra de aangepaste tijd een tijdslot overlapt. Voor de roostergeneratie is deze positie vergrendeld. De instelling **Buiten rooster** van een klas is iets anders: die is bedoeld voor klassen in kalendermodus die buiten rooster zijn ingesteld en waarvan alle lessen met precieze tijden opgeslagen moeten worden. Zie [Lessen buiten rooster](#page-timetables.off-grid-lessons) voor de details. #### Vakken aanmaken met een bestaand bovenliggend vak en een bestaande familie **V.** Kunt u bij het aanmaken van een aangepast vak een al bestaand **bovenliggend vak** en een bestaande **familie** selecteren, zonder de omweg van een externe herimport? **A.** Ja. In het venster voor het aanmaken of wijzigen van een aangepast vak selecteert u rechtstreeks een bestaand bovenliggend vak (veld Bovenliggend vak) en een bestaande familie (veld Familie), zonder externe herimport. Zie [Vakken beheren](#page-admin.subjects). #### Een specialisatie van een lokaal wijzigen of verwijderen **V.** Waarom is het niet mogelijk om een specialisatie van een lokaal rechtstreeks te wijzigen of te verwijderen (bijvoorbeeld om een spelfout te corrigeren)? **A.** De lijst met specialisaties wordt **dynamisch** berekend op basis van de lokalen. Om een specialisatie te laten verdwijnen: - Haal de specialisatie weg bij alle lokalen die hem hebben. Bij de volgende opslag verdwijnt hij vanzelf uit de referentielijst. - Wilt u hem **hernoemen**, maak dan de nieuwe specialisatie met het juiste label aan en vervang hem op de betrokken lokalen; de oude verdwijnt daarna vanzelf. De interface biedt dus geen knop om een specialisatie rechtstreeks te wijzigen of te verwijderen. Zie [Lokaalspecialisatie](#page-glossary.classroom-specialization). #### Roosterfilter op vak: vak zonder type versus vak met type **V.** Wanneer ik de roosters op vak filter, verschijnen sommige lessen niet, terwijl ze wel zichtbaar zijn wanneer ik op klas filter. Hoe komt dat? **A.** Het paar **(vak, lestype)** wordt behandeld als een ingang die los staat van het vak alleen. Gevolgen: - "Algebra" zonder type en "Algebra — werkcollege" zijn **twee verschillende ingangen** in het rooster. - Wilt u op allebei tegelijk filteren, geef dan geen type op in het filter. - Moet u alle types van eenzelfde vak nalopen, gebruik dan de filters die in de weergave beschikbaar zijn en controleer daarna de resultaten in de lessenlijst. #### Achternamen in hoofdletters weergeven **V.** Kunnen achternamen in hoofdletters worden weergegeven? Dat is vooral handig wanneer de achternaam ook een gangbare voornaam is (bijvoorbeeld "Simon Thomas" tegenover "Simon THOMAS"). **A.** Ja. Het hoofdlettergebruik in namen stelt u in bij de instellingen van de school. Het kan gelden voor de voornaam, voor de tweede voornaam als die optie aanstaat, en/of voor de achternaam, afhankelijk van de naamvolgorde die voor uw school is ingesteld. #### Vergrendeling van een les die niet in alle weergaven verschijnt **V.** De vergrendeling van de positie van een les wordt niet altijd getoond wanneer u van weergave wisselt (post-it ↔ lijst). **A.** De markering van de vergrendeling hangt af van de weergave en van de aard van de les. In de weergaven van de urenverdeling en op bepaalde lesregels wordt de vergrendeling getoond met een pictogram [lock]. Toont een weergave die niet, controleer dan de details van de les voordat u concludeert dat het algoritme de positie mag wijzigen. #### Een lokaal toewijzen: favoriete vestiging en voorrang van specialisaties **V.** Bij het toewijzen van een lokaal verschijnen de lokalen van een andere vestiging bovenaan, terwijl de favoriete vestiging is aangevinkt. Waarom? **A.** De sortering gaat standaard uit van de **vestiging waaraan de klas gekoppeld is**, niet van de favoriete vestiging van de gebruiker. Dat is bewust zo: de klas bepaalt de keuze van het lokaal. Klopt de voorgestelde volgorde niet, controleer dan of de klas wel aan de gewenste vestiging gekoppeld is in Bewerken. Voor de **specialisaties** controleert u de voorgestelde lokalen en hun compatibiliteitswaarschuwingen in de keuzelijst. Ga er niet van uit dat de beste compatibiliteit vooraan wordt gesorteerd. #### Totale capaciteit = de som van de lokalen (meerdere lokalen) **V.** Wanneer er meerdere lokalen aan dezelfde les zijn toegewezen, berekent Omniscol de **totale capaciteit** dan wel als de som van de afzonderlijke capaciteiten, zodat valse waarschuwingen over overschrijding van de capaciteit uitblijven? **A.** Ja. De totale capaciteit wordt berekend als de **som** van de capaciteiten van de toegewezen lokalen. Past de groep binnen die som, dan volgt er geen waarschuwing. Deze functie is beschikbaar **op alle roostertypen**: wekelijks, cyclisch en kalender. Blijft de som kleiner dan de groep, dan wordt het conflict gemeld. De beheerder kan dan: - een extra lokaal toevoegen, - de groep verkleinen, - het conflict aanvaarden als het een bewuste keuze is (typisch geval: u weet dat niet alle ingeschrevenen komen opdagen). Zie [Meerdere lokalen](#page-glossary.multi-room). #### Inconsistenties opsporen bij groepen in een klasverdeling **V.** Omniscol meldt "Verschillend aantal lessen voor groepen in klasverdeling" zonder aan te geven in welke vakken de inconsistenties zitten. Hoe onderzoekt u dat in detail? **A.** Het paneel met **geavanceerde statistieken** op het scherm voor de urenverdeling maakt een gedetailleerde inspectie mogelijk, onder meer door de groepen te isoleren die elkaar op de betrokken tijdsloten raken. Voor scholen waar de onevenwichtigheden talrijk en bedoeld zijn, beperkt een heuristiek het tonen van waarschuwingen boven een bepaalde drempel, om een onwerkbare lijst te vermijden. U kunt de lessen altijd exporteren en in een spreadsheet filteren voor een volledige diagnose. #### Meerdere opmerkingen met verschillende beperkingen **V.** Kunt u aan dezelfde les twee opmerkingen toevoegen met verschillende publicatiebeperkingen (de ene alleen voor beheerders, de andere voor docenten)? **A.** Ja. Elke opmerking heeft een eigen publicatiebeperking: beheerders, docenten of alle gebruikers. Gebruik de knop Opmerking om meerdere opmerkingen toe te voegen en hun zichtbaarheid apart in te stellen. #### Een rooster verticaal weergeven (weekbelasting) **V.** Om de belasting van een groep of de bezetting van een type lokalen over een hele week te bekijken, dwingt de horizontale weergave tot scrollen. Bestaat er een verticale weergave? **A.** In de module **Rooster** worden de roosters horizontaal weergegeven. Een gelijkwaardige verticale weergave bestaat in de module **Personeelsinzet** voor verwante contexten (toezichtroosters). Zie [Overzicht van de module Personeelsinzet](#page-staffing.overview) en [Weergave en UX](#page-faq.display-and-ux). #### Statistieken: geplaatste lessen versus aangemaakte lessen **V.** De teller op het scherm "urenverdeling" geeft aan hoeveel lessen zijn aangemaakt. Waar ziet u hoeveel uren daadwerkelijk **geplaatst** zijn in het rooster (tegenover aangemaakt zonder plaatsing)? **A.** Twee schermen geven twee complementaire maten: - Het **Dashboard** werkt op het **operationele rooster** (lessen die echt geplaatst zijn, eventuele samenvoeging van meerdere gepubliceerde roosters, rekening houdend met de afwezigheden). De getoonde percentages zijn relatief ("93% van de uren van deze klas"), geen plaatsingsgraad. - Het scherm voor de **urenverdeling** meet de opgegeven lessen en de aangemaakte volumes. Hebt u de plaatsingsgraad nodig, controleer dan de lessen in de roosterweergave of exporteer de lijst om de lessen zonder positie eruit te filteren. #### Gastdocent / externe docent zichtbaar in het rooster **V.** Verschijnt het pictogram dat gastdocenten van vaste docenten onderscheidt naast de naam van de docent in de roosterweergaven? **A.** Dat hangt van de weergave af: - **Tijdrasterweergave** — de ruimte is krap en namen kunnen daar afgekort of afgekapt in platte tekst worden weergegeven; het pictogram verschijnt er niet altijd. - **Lijsten, tooltips en keuzelijsten** — overal waar de volledige naam wordt weergegeven, staat een pictogram [user-tie] voor de naam van de docenten van wie de fiche de markering Externe docent draagt. Die markering "extern" is een **Premium**-optie; ontbreekt die, dan onderscheidt geen enkel pictogram de gastdocenten. Zie [Externe docent](#page-glossary.external-teacher). > _Premium_ #### Losse evenementen: vaak gevraagde verduidelijkingen Een paar verduidelijkingen over het evenementenscherm (zie [Eenmalige evenementen](#page-schedules.events)): - **Voorgestelde tijden** — het tijdvenster van een evenement volgt de Openingstijden van de vestiging; is dat te krap (bijvoorbeeld een evenement in de avond), verruim die tijden dan in de fiche van de vestiging. - **Tijd ter plekke wijzigen** — de tijd van een evenement wijzigt u rechtstreeks, met één klik op het evenement. - **Deelnemers** — de deelnemerslijst biedt de klassen en de groepen aan, en daarnaast ook docenten en leerlingen afzonderlijk. #### Zie ook - [Lessen buiten rooster](#page-timetables.off-grid-lessons) - [Eenmalige evenementen](#page-schedules.events) - [Meerdere lokalen](#page-glossary.multi-room) - [Lokaalspecialisatie](#page-glossary.classroom-specialization) - [Weergave en UX](#page-faq.display-and-ux) - [Gedrag van het algoritme](#page-faq.solver-behavior) ### 16.8 FAQ — Beveiliging en hosting *Source: `help/nl/faq/security-and-hosting.md` · id: faq.security-and-hosting · Updated: 2026-05-10* Deze pagina vat de vragen samen die het vaakst over beveiliging en hosting worden gesteld. Voor een volledige beschrijving levert Omniscol op verzoek (of onder NDA, afhankelijk van het geval) de officiële documenten: - `SECURITY_OVERVIEW.md` — publiek overzicht, - `SECURITY_ONE_PAGER.md` — samenvatting voor CISO's, - `SECURITY_FULL.md` — volledige documentatie (governance, infrastructuur, maatregelen, compliance, incidentafhandeling), - `ISO27001_MAPPING.md` — koppeling aan de maatregelen van ISO 27001, - `SSI_QUESTIONNAIRE_STANDARD.md` — antwoorden op de standaardvragenlijst informatiebeveiliging. Voor elke vraag over beveiliging: **[security@omniscol.com](mailto:security@omniscol.com)**. #### Waar worden mijn gegevens gehost? De juridische informatie vermeldt hosting binnen de Europese Unie, op AWS Parijs en Scaleway. De precieze afspraken over redundantie, back-up, bewaartermijn en beschikbaarheid hangen af van het contractuele kader dat op uw account van toepassing is. #### Voldoet Omniscol aan de AVG? Omniscol is ontworpen voor gebruik dat aan de AVG (GDPR) voldoet. Praktische gevolgen: - Hosting uitsluitend in de EU (Frankrijk). - **Logische isolatie** per klant: toegang tussen accounts onderling is onmogelijk. - Geen **profilering**, geen **doorverkoop** van gegevens, geen **secundair gebruik** van de inhoud van uw instelling. - **Omkeerbaarheid**: volledige export in JSON via **Downloaden**. - Verzoeken van betrokkenen worden behandeld volgens het geldende contractuele en wettelijke kader. #### Is Omniscol ISO 27001-gecertificeerd? Op dit moment niet gecertificeerd, maar **de werkwijze sluit aan** op de principes van de norm en volgt een risicogebaseerde aanpak die voortdurend wordt herzien. De details van de maatregelen kunnen binnen het passende contractuele of beveiligingskader worden verstrekt. #### Hoe worden wachtwoorden beschermd? Omniscol beschermt wachtwoorden op de volgende manier: - **Vooraf hashen aan de clientzijde** met **scrypt** — uw wachtwoord bereikt de servers nooit in leesbare vorm. - Opslag op de server als hash, voorzien van een salt. - Geen enkel leesbaar wachtwoord wordt ooit verstuurd of opgeslagen. - Geen enkele beheerder van Omniscol kan een gebruikerswachtwoord lezen, achterhalen of terughalen. Vermoedt u dat een account gecompromitteerd is, dan maakt het wijzigen van het wachtwoord alle afgeleide toegang ongeldig die van dat geheim afhangt, met name de deellinks die aan het wachtwoord van de maker gekoppeld zijn. #### Is de communicatie versleuteld? De publieke toegang tot de applicatie verloopt via HTTPS. De manier waarop het netwerk naar buiten wordt opengesteld, hangt af van de gekozen uitrol en moet binnen het beveiligings- of contractuele kader van het betrokken account worden nagegaan. #### Hoe werkt de authenticatie? De sessies van Omniscol gebruiken ondertekende tokens met een beperkte geldigheidsduur; de toegang wordt vernieuwd zolang de gebruiker in de interface werkt. Deellinks en API-tokens volgen aparte regels: - een deellink kan een vervaldatum hebben en hangt ook af van het account dat hem heeft aangemaakt; het wachtwoord van dat account wijzigen of het account uitschakelen maakt de betreffende toegang ongeldig; - een API-token hangt af van een sleutel die in de interface is aangemaakt; die sleutel verwijderen of de vervaldatum bereiken maakt de bijbehorende tokens ongeldig. Zie ook [Deellink](#page-glossary.share-link) en [Omniscol-API](#page-integrations.api-tokens). #### API: sleutels en tokens De API-toegang beheert u vanuit de interface met twee zichtbare objecten: 1. **Sleutel** — aangemaakt met een label en, indien nodig, een vervaldatum. Die vervaldatum kan later worden gewijzigd. 2. **Token** — gegenereerd vanuit een sleutel, met een lijst van toegestane API-endpoints en een eigen vervaldatum. Die vervaldatum wijzigt niet meer na het genereren; er moet een nieuw token worden aangemaakt. Aanbevolen werkwijze: één sleutel per integratie, met een duidelijk label en een vervaldatum die bij de behoefte past. Bij twijfel verwijdert u de sleutel en maakt u een nieuwe aan. Zie [Omniscol-API](#page-integrations.api-tokens). #### Kunnen mijn gebruikers hun bedrijfsaccount gebruiken (SSO)? Ja, via [OIDC / SSO](#page-integrations.oauth2), wanneer de configuratie op het account is ingeschakeld. Omniscol ondersteunt Google Workspace, Microsoft Entra ID en generieke OIDC-providers. Elke gebruiker meldt zich dan aan met de eigen bedrijfsidentiteit en behoudt de rechten die in Omniscol zijn ingesteld. #### Welke bescherming is er tegen misbruik bij het aanmelden? - Antwoorden op een mislukte aanmelding worden bewust vertraagd. - De beheerschermen zijn zwaarder beveiligd. - Omniscol geeft niet aan of de gebruikersnaam bestaat of niet: de melding blijft algemeen. #### Levenscyclus van gebruikersaccounts - **Uitschakelen zonder verwijderen** — een uitgeschakeld account kan zich niet meer aanmelden, maar de bijbehorende gegevens blijven bewaard. - **Verplichte wijziging bij de eerste toegang** — wanneer een wachtwoord handmatig wordt ingesteld, moet de gebruiker het bij de eerste aanmelding wijzigen. - **Opnieuw instellen** — een beheerder kan een reset starten zonder het bestaande wachtwoord te kennen. #### Netwerkbeveiliging en operationeel beheer De beveiligingsdocumenten die op verzoek worden geleverd, beschrijven de hosting, de netwerkscheiding, de regels voor toegang tot de gegevens en de operationele procedures die op het betrokken account van toepassing zijn. #### Bestaat er een auditlogboek? Ja, wanneer de optie voor logboeken en de bijbehorende bewaartermijn voor het account zijn ingeschakeld. Wat u te zien krijgt, hangt af van de gelogde bewerkingen en van de diepte die Omniscol heeft ingesteld. Zie [Activiteitenlogboek (logs)](#page-admin.logs). #### OWASP Top 10 Omniscol past maatregelen toe die aansluiten op de risico's uit de OWASP Top 10: toegangscontrole, versleuteling, validatie van invoer, veilige configuratie, bewaking van afhankelijkheden, bescherming van sessies en logging. De precieze reikwijdte kan worden toegelicht in de beveiligingsdocumenten die op verzoek worden geleverd. #### Geautomatiseerde beveiligingstests Geautomatiseerde controles zijn ingebouwd in het ontwikkel- en uitrolproces van Omniscol. Hun reikwijdte evolueert mee met het product; de details kunnen binnen het passende beveiligingskader worden verstrekt. #### Hoe maak ik handmatig een back-up? De knop **Downloaden** downloadt een volledige export van het account in JSON-formaat. Bewaar dat bestand zorgvuldig: het bevat de wachtwoordhashes en alle persoonsgegevens. Bij een ernstig incident kan dit bestand naar het team van Omniscol worden teruggestuurd om opnieuw te worden ingelezen. Als de optie **Back-uppunten** op het account is ingeschakeld, kunt u het aanmaken van herstelbare momentopnamen ook automatiseren. Zie [Back-uppunten](#page-admin.snapshots). #### Geschiedenis van incidenten Bij de meest recente inventarisatie (februari 2026): - **0 datalekken bij klanten** (cumulatief sinds het begin). - **0 beveiligingsincidenten** in 2025. Deze cijfers worden gepubliceerd in `SECURITY_ONE_PAGER.md`, een document dat elk kwartaal wordt herzien. #### Zie ook - [Architectuur en rollen](#page-overview.architecture-and-roles) - [Deellink](#page-glossary.share-link) - [API-token](#page-glossary.api-token) - [Omniscol-API](#page-integrations.api-tokens) - [OIDC / SSO](#page-integrations.oauth2) - [Back-ups en snapshots](#page-admin.snapshots) - [Activiteitenlogboek (logs)](#page-admin.logs) ### 16.9 FAQ — Tarieven en licenties *Source: `help/nl/faq/pricing-and-licenses.md` · id: faq.pricing-and-licenses · Updated: 2026-07-24* Veelgestelde vragen over de abonnementen, de inbegrepen functies en de losse opties, en over de facturering. Voor een gedetailleerd overzicht van de functies per abonnement / optie, zie [Abonnementen en opties van Omniscol](#page-overview.plans-and-options). #### Welke abonnementen bestaan er? Drie hoofdabonnementen, plus een catalogus met losse opties: | Abonnement | Doelgroep | | --- | --- | | **Lite** | Zeer kleine instellingen, zelfstandigen, individuele trainers, tests — alleen roosters genereren en afdrukken (geen publicatie, geen leerlingenbeheer) | | **Standard** | Gewone instelling (basisschool, middelbare school), één planningsteam, weekrooster | | **Premium** | Hoger onderwijs, permanente educatie, grote volumes, complexe opzet met meerdere vestigingen | Daarnaast bestaan er **Standard Plus** (Standard aangevuld met de module **Personeelsinzet**) en het zelfstandige aanbod **Personeelsinzet** (beheer van toezicht zonder de rest van Omniscol). Zie [Abonnementen en opties van Omniscol](#page-overview.plans-and-options) voor de functies in detail. #### Welke functies zijn inbegrepen bij Premium? Standaard op een Premium-account: - Kalendermodus — roosters met data, les voor les; - Kalenderbeschikbaarheid — beschikbaarheid die datum voor datum wordt ingevoerd; - Meerdere actieve roosters — gelijktijdige publicaties over dezelfde weken. (**Groepen van groepen** zijn geen Premium-functie: ze zijn beschikbaar op alle accounts, ongeacht het abonnement.) #### Welke opties kunnen los worden afgenomen? De overige contractuele opties kunnen naar behoefte van het account worden ingeschakeld, als aanvulling op het gekozen abonnement: - Meerdere actieve roosters op een Standard-account — uitzonderlijke contractuele activering, met passende afbakening en facturering (de functie is standaard inbegrepen bij Premium); - Gekoppelde accounts — gekoppelde accounts en het delen van de bezetting van resources, op verzoek door Omniscol ingeschakeld; - Aangepaste rollen — aangepaste rollen met een rechtenmatrix; - Back-uppunten — herstelbare toestanden van het account; - Realtime samenwerking — gezamenlijk bewerken in realtime; - **Personeelsinzet** — module voor toezicht en begeleiding (ook verkrijgbaar als zelfstandig aanbod zonder de rest van Omniscol); - Synchronisatie met externe systemen — synchronisatie met een extern ERP / informatiesysteem (Aurion, Auriga, of een connector die per project wordt toegevoegd); - Activiteitenlogboek — raadplegen van de logboeken wanneer de bewaartermijn op het account is ingesteld; - Aanvullende modules — extra optionele modules, afhankelijk van de module en het contract. #### Bestaat er een aanbod “alleen Personeelsinzet”? Ja. Voor instellingen die alleen het beheer van toezicht en begeleiding nodig hebben, wordt de module **Personeelsinzet** ook zonder de rest van Omniscol verkocht. Het account toont dan alleen de module **Personeelsinzet** en de minimale gebruikersschermen. #### Waar vind ik de tarieven? Elke instelling is anders: het tarief hangt af van de omvang, de gekozen functies, de looptijd van de verbintenis en de gewenste begeleiding. In plaats van een openbare prijslijst bekijkt het Omniscol-team uw situatie samen met u en stelt het een passende offerte op. Mail naar **[contact@omniscol.com](mailto:contact@omniscol.com)**, of vraag een demonstratie aan om er persoonlijk over te spreken (zie [Algemene vragen](#page-faq.general)). #### Hoe kom ik te weten welk abonnement mijn account heeft? Het actieve abonnement en de afgenomen opties zijn niet zichtbaar in de gewone beheeromgeving (het bijbehorende onderdeel van **Instellingen** is voorbehouden aan Omniscol). Wilt u het abonnement van een account weten, neem dan contact op met het Omniscol-team. #### Kan ik tijdens het schooljaar van abonnement wisselen of opties toevoegen? Ja. Het toevoegen van een optie is onmiddellijk van kracht, zonder onderbreking van de dienst. De overstap van Standard naar Premium volgt hetzelfde principe. Een optie uitschakelen kan alleen als de bijbehorende functies niet langer op het account worden gebruikt (bijvoorbeeld geen gedeeld gebruik van resources tussen accounts meer als u de gekoppelde accounts weghaalt, of geen gelijktijdige publicaties meer als u meerdere actieve roosters weghaalt op een betrokken Standard-account). #### Is er een proefperiode? Ja. Voor nieuwe accounts wordt doorgaans een evaluatieperiode aangeboden, met begeleiding door het Omniscol-team bij de eerste inrichting. Voorwaarden op aanvraag. #### Hoe verloopt de facturering? De facturering is standaard jaarlijks, met een verbintenis voor de gekozen looptijd. De specifieke voorwaarden (factureringsritme, betaalwijzen) worden in het contract vastgelegd. #### Wat gebeurt er aan het einde van het contract? Uw gegevens blijven toegankelijk gedurende een contractueel vastgelegde overgangsperiode, waarin de volledige JSON-export beschikbaar blijft. De reversibiliteit is contractueel gewaarborgd (AVG). #### Zie ook - [Abonnementen en opties van Omniscol](#page-overview.plans-and-options) - [Wat is Omniscol?](#page-overview.what-is-omniscol) - [Beveiliging en hosting](#page-faq.security-and-hosting) --- ## Verklarende woordenlijst **Verklarende woordenlijst** — 54 terms - [Aaneengeschakelde lessen](#page-glossary.concatenated-lessons) - [Afwezigheid](#page-glossary.absence) - [Afwisselende lessen / Weken A-B](#page-glossary.alternate-lessons) - [API-token](#page-glossary.api-token) - [Beschikbaarheid van docenten (wensen)](#page-glossary.wishes) - [Buiten rooster](#page-glossary.off-grid) - [Campus](#page-glossary.campus) - [Co-teaching](#page-glossary.co-teaching) - [Conflict](#page-glossary.conflict) - [Cursus](#page-glossary.course) - [Cyclisch rooster](#page-glossary.cyclic-timetable) - [Dashboard](#page-glossary.dashboard) - [Datumvenster](#page-glossary.date-windows) - [Deellink](#page-glossary.share-link) - [Diagnose](#page-glossary.diagnostic) - [Docent / Gastdocent](#page-glossary.teacher) - [Externe docent / Freelancedocent](#page-glossary.external-teacher) - [Gekoppelde lessen (afwisseling van halve groepen)](#page-glossary.associated-lessons) - [Groep](#page-glossary.group) - [Groep van groepen](#page-glossary.groups-of-groups) - [Groepsuitlijning](#page-glossary.alignment) - [Groot lokaal (meerdere gelijktijdige lessen)](#page-glossary.large-room) - [iCal (kalenderexport)](#page-glossary.ical) - [Incompatibiliteit (tussen vakken)](#page-glossary.incompatibility) - [Informatiescherm](#page-glossary.panel) - [Kalendermodus](#page-glossary.calendar-mode) - [Klas](#page-glossary.class) - [Klasoverstijgende cursus](#page-glossary.transverse-course) - [Klasverdeling](#page-glossary.class-division) - [Leerling / Student / Cursist](#page-glossary.student) - [Les / Lesmoment](#page-glossary.lesson) - [Lestype](#page-glossary.lesson-type) - [Lokaal](#page-glossary.classroom) - [Lokaalspecialisatie](#page-glossary.classroom-specialization) - [Meerdere lokalen (één les in verschillende lokalen)](#page-glossary.multi-room) - [Modaliteit van een les](#page-glossary.lesson-modality) - [Niveau](#page-glossary.level) - [Personeelsinzet](#page-glossary.staffing) - [Planningsdomein](#page-glossary.planning-domain) - [Publicatie / Activering van een rooster](#page-glossary.publication) - [Resource](#page-glossary.resource) - [Rooster](#page-glossary.timetable) - [Roostergeneratie / Algoritme voor het automatisch genereren van roosters](#page-glossary.solver) - [Schooljaar](#page-glossary.school-year) - [Status van een les](#page-glossary.lesson-status) - [Tijdlijn](#page-glossary.timeline) - [Tijdrooster](#page-glossary.timetable-grid) - [Vak](#page-glossary.subject) - [Vakanties](#page-glossary.holidays) - [Vervanging / Invalbeurt](#page-glossary.substitution) - [Vestiging](#page-glossary.site) - [Vrije groep](#page-glossary.free-group) - [Weergavemodus van het rooster](#page-glossary.schedule-view-mode) - [Wekelijks rooster](#page-glossary.weekly-timetable) ### Aaneengeschakelde lessen *Source: `help/nl/glossary/concatenated-lessons.md` · id: glossary.concatenated-lessons · Updated: 2026-05-10* *Also known as : aansluitende lessen · opeenvolgende lessen · dubbele lessen · blokuur* **Aaneengeschakelde lessen** zijn twee lessen die **achter elkaar** op dezelfde dag moeten staan. De roostergeneratie garandeert dat ze op elkaar volgen zonder iets ertussen. Typische gevallen: - een **practicum van 2 uur** opgebouwd uit twee blokken van 1 uur, - een **hoorcollege gevolgd door een werkcollege** (een inleidend hoorcollege, daarna een werkcollege om de stof toe te passen), - een **dubbele examenzitting** van 2 uur op een tijdslot van 1 uur × 2. #### Aanmaken Sleep een les onder een andere in het scherm urenverdeling. De twee lessen verschijnen dan **aan elkaar geplakt**, de ene onder de andere, en vormen één blok. #### Loskoppelen De schaarknop die verschijnt wanneer u de muis tussen twee aaneengeschakelde lessen beweegt, **verbreekt** de aaneenschakeling. De twee lessen worden daarna weer onafhankelijk van elkaar. #### Waarom niet één langere les aanmaken? Goede vraag. Er zijn twee hoofdredenen om aaneen te schakelen in plaats van te verlengen: 1. De lessen kunnen **verschillende lestypes** hebben (een hoorcollege aaneengeschakeld met een werkcollege), of **verschillende docenten**, of **verschillende lokalen**. 2. U wilt dat de statistieken twee afzonderlijke lessen tellen (twee vermeldingen in het klassenboek) in plaats van één. Zijn alle kenmerken identiek, dan is één les verlengen eenvoudiger. Aaneenschakelen biedt soepelheid waar die nodig is. #### Zie ook - [Gekoppelde lessen](#page-glossary.associated-lessons) - [Complexe lessen](#page-core-concepts.complex-lessons) ### Afwezigheid *Source: `help/nl/glossary/absence.md` · id: glossary.absence · Updated: 2026-05-14* *Also known as : onbeschikbaarheid · ziekteverlof · eenmalige afwezigheid* Een **afwezigheid** in Omniscol is de melding dat een entiteit gedurende een bepaalde periode niet aanwezig zal zijn. De beheerde entiteiten zijn docenten, klassen, leerlingen en, als Personeelsinzet actief is, personeelsleden. Een geaccepteerde afwezigheid kan de weergave van de lessen wijzigen: - **docent afwezig zonder vervanger**: de les wordt als getroffen gemarkeerd, met de docent doorgestreept; - **docent afwezig met [vervanger](#page-glossary.substitution)**: de vervanger verschijnt naast de doorgestreepte vaste docent; - **klas afwezig**: de lessen van de klas worden voor die periode uit de weergave gehaald; - **leerling afwezig**: de opvolging wordt aan de leerling gekoppeld, zonder de lessen van de klas te wijzigen. #### Statussen van een afwezigheid - **geaccepteerd**: de afwezigheid is goedgekeurd en wordt in aanmerking genomen. - **in behandeling**: aanvraag gemeld door de betrokken gebruiker, nog goed te keuren door een beheerder. - **afgewezen**: afgewezen aanvraag. - **afgebroken**: aanvraag ingetrokken door de indiener. Alleen afwezigheden met de status **geaccepteerd** hebben invloed op de weergave van de roosters. #### Velden van een afwezigheid - **Entiteit**: docent, klas, leerling of personeel als Personeelsinzet actief is. - **Datumbereik**: begin en einde. Een werkelijk openstaande afwezigheid moet uitdrukkelijk worden opgevolgd; het einde van het schooljaar kan als technische grens dienen wanneer er geen einde wordt opgegeven. - **Tijdsbereik**: hele dag of specifieke tijdsloten. - **Filters**: klassen, vakken of toewijzingen, afhankelijk van het type entiteit. - **Reden**: gekozen uit de voorgestelde lijst; een beheerder kan een eigen reden invoeren. - **Opmerking**: korte vrije tekst. - **Status**: geaccepteerd, in behandeling, afgewezen of afgebroken. #### Zie ook - [Vervanging](#page-glossary.substitution) - [Module Afwezigheidsbeheer — overzicht](#page-absences.overview) - [Een afwezigheid melden](#page-absences.declaring) ### Afwisselende lessen / Weken A-B *Source: `help/nl/glossary/alternate-lessons.md` · id: glossary.alternate-lessons · Updated: 2026-05-10* *Also known as : afwisselende weken · weken A/B · even en oneven weken · wekelijkse afwisseling* **Afwisselende lessen** zijn lessen die niet elke week terugkeren, maar op hetzelfde tijdslot afwisselen met andere lessen. Het klassieke geval: de ene les in week A, de andere in week B, op dezelfde dag en hetzelfde tijdstip. #### De cyclus instellen U stelt de afwisseling in bij Opslaan. Drie opties: - **Uitgeschakeld** — geen afwisseling. - **Letters** — week A, B (en C, D… als u er meer toevoegt). - **Cijfers** — week 1, 2 (en 3, 4… als u uitbreidt). Omniscol legt geen cyclus van twee weken op — u kunt afwisselen over 3, 4 of meer weken. #### Een afwisselende les aanmaken Wanneer u de urenverdeling instelt: 1. Beweeg de muis over de les die u wilt laten afwisselen. Rechtsboven verschijnt een pictogram [plus]; klik daarop. 2. Er wordt een nieuwe vrije plek toegevoegd voor de afwisselende week. 3. Maak de les aan die bij die nieuwe plek hoort. 4. Plaats de les met de punaiseknop [thumbtack] en klik daarna op het gewenste dag-/uurtijdslot tussen de gekleurde vlakjes. U kunt dit herhalen om meer afwisselende weken aan dezelfde les toe te voegen. #### Combineren met andere complexiteiten Een afwisselende les kan zijn: - **eenvoudig** — zuivere afwisseling tussen twee lessen, - **[aaneengeschakeld](#page-glossary.concatenated-lessons)** — een les die afwisselt en tegelijk een dubbel tijdslot beslaat, - **[gekoppeld](#page-glossary.associated-lessons)** — gecombineerd met gekoppelde lessen (rotatie tussen groepen: A eerst biologie, dan natuurkunde; B eerst natuurkunde, dan biologie). De rotatie tussen groepen is een complexiteit die **losstaat** van de afwisseling A/B, maar laat zich ermee combineren. #### Verschuiving door de vakantie Zat u vlak voor de vakantie in week A en wilt u daarna met week B hervatten, maak dan een **virtuele verschuiving** aan op de tijdbalk met de weken van het jaar (zie [schooljaar](#page-glossary.school-year)). Zonder verschuiving hervat de afwisseling gewoon haar normale cyclus. #### Zie ook - [Les / Lesmoment](#page-glossary.lesson) - [Complexe lessen](#page-core-concepts.complex-lessons) - [Schooljaar en vakanties](#page-glossary.school-year) ### API-token *Source: `help/nl/glossary/api-token.md` · id: glossary.api-token · Updated: 2026-05-15* *Also known as : api-sleutel · bearer-token · authenticatietoken* Met een **API-token** kan externe software de API-endpoints van Omniscol namens de school aanroepen: om te lezen en, als er schrijvende API-endpoints zijn geselecteerd, ook om te schrijven. Dat is krachtig — ga er dus zorgvuldig mee om. #### Genereren Een token genereert u in Delen (Import/Export > Delen). U geeft op: - een sleutel (in Omniscol gegenereerd, met een label en een eventuele vervaldatum; die vervaldatum kunt u later nog wijzigen), - een bereik: de lijst met API-endpoints die dit token mag aanroepen (geef alleen wat strikt noodzakelijk is), - eventueel een **vervaldatum van het token**. Die datum wordt in het gegenereerde JWT opgenomen en kan daarna niet meer worden gewijzigd. Zodra u de sleutel verwijdert of zodra die verloopt, worden de daarvan afgeleide tokens onmiddellijk ingetrokken. Wilt u de vervaldatum van één afzonderlijk token wijzigen, genereer dan een nieuw JWT. #### Gebruik Het token geeft u mee in de HTTP-header `Authorization: Bearer `, of (minder aan te raden in productie) in de URL via `?auth=`. #### Aanbevolen werkwijzen - **Eén sleutel per integratie** — dat maakt het afzonderlijk intrekken eenvoudig. - **Minimaal bereik** — vink alleen de API's aan die u nodig hebt, niet standaard alles. - **Vervaldatum op het juiste niveau** — gebruik de vervaldatum van de sleutel om een langlopende integratie te sturen; gebruik de vervaldatum van het token voor tijdelijke toegang die niet meer te wijzigen is. - **Periodieke rotatie** — genereer de sleutel elke 6-12 maanden opnieuw. - **Niet in Git** — het token mag niet in het versiebeheer van een openbare repository belanden. Gebruik de omgevingsvariabelen van uw server. #### Verschil met OIDC / SSO Om echte gebruikers te laten inloggen met hun institutionele identiteit, gebruikt u [OIDC / SSO](#page-integrations.oauth2). Het API-token is bedoeld voor technische server-naar-serverintegraties, niet voor het dagelijkse inloggen van gebruikers. #### Zie ook - [Deellink](#page-glossary.share-link) - [Omniscol-API](#page-integrations.api-tokens) - [MCP — een externe AI-agent aansluiten](#page-integrations.mcp) ### Beschikbaarheid van docenten (wensen) *Source: `help/nl/glossary/wishes.md` · id: glossary.wishes · Updated: 2026-06-21* *Also known as : onbeschikbaarheid · voorkeuren · roosterwensen* De **beschikbaarheid** van een docent geeft aan de software door welke tijdsloten **onmogelijk** (zwart, harde beperkingen), **ongewenst** (rood, zachte beperkingen) of **gewenst** (groen) zijn. In het voortgezet onderwijs spreekt men ook van **wensen** — het is hetzelfde begrip, waarbij de docent zijn theoretische wekelijkse beschikbaarheid invoert en de instelling daarover beschikt voor de roostergeneratie (eventueel nadat ze is aangepast of gewogen). De roostergeneratie houdt zich **strikt** aan de onmogelijke tijdsloten en probeert de ongewenste / gewenste tijdsloten zo goed mogelijk na te leven, afhankelijk van de overige beperkingen. #### Twee modi afhankelijk van het type rooster - **Wekelijks rooster** — beschikbaarheid ingevoerd op de standaardweek en vóór de roostergeneratie goedgekeurd door de administratie. Een latere wijziging wordt gemeld, maar werkt niet automatisch door. - **Kalenderrooster** (op Premium-accounts) — beschikbaarheid ingevoerd per datum, in realtime geconsolideerd. Conflicten worden gaandeweg gedetecteerd. #### Invoer door de docent zelf Docenten kunnen hun eigen beschikbaarheid invoeren vanuit hun account ([docentenportaal](#page-portal.teacher-portal)) — een grote tijdwinst voor de administratie. Zij kunnen ook een **deellink rechtstreeks naar het scherm met de beschikbaarheid** ontvangen (zonder te hoeven inloggen), aangemaakt vanuit Downloaden met een vervaldatum. #### Zie ook - [Docent](#page-glossary.teacher) - [Roostergeneratie](#page-glossary.solver) - [Beschikbaarheid en tijdsbeperkingen van docenten](#page-core-concepts.wishes-and-availability) - [Beschikbaarheid in kalendermodus](#page-timetables.calendar-wishes) ### Buiten rooster *Source: `help/nl/glossary/off-grid.md` · id: glossary.off-grid · Plan: premium · Updated: 2026-08-24* > **Premium** *Also known as : klas buiten rooster · les buiten rooster · vrije lestijden* > _Premium_ Staat de modus **buiten rooster** aan voor een klas, dan zijn al haar lessen onafhankelijk van de tijdroosters van de vestigingen: hun begin- en eindtijden zijn vrij te kiezen. Omniscol behoudt alleen een tijdstap (10, 15, 20, 30 of 60 minuten) om het plaatsen ervan te vergemakkelijken. Deze modus is geschikt voor permanente educatie of voor parallelle trajecten die dezelfde lokalen delen zonder het gemeenschappelijke tijdrooster te volgen. ### Campus *Source: `help/nl/glossary/campus.md` · id: glossary.campus · Plan: premium · Updated: 2026-06-13* > **Premium** *Also known as : scholengroep · faculteit · afdeling* > _Premium_ Met een **campus** kunt u meerdere scholen, faculteiten of afdelingen binnen één en hetzelfde Omniscol-account onderscheiden. Het campusbegrip is **voorbehouden aan Premium-accounts** en blijft optioneel: maak alleen campussen aan als ze u werkelijk helpen uw organisatie te weerspiegelen. Het begrip is **organisatorisch**. Het vervangt de [vestiging](#page-glossary.site) niet, die eerder een geografische of fysieke werkelijkheid beschrijft: plaats, tijdrooster, lokalen, reistijd. De campus wordt vooral nuttig wanneer het begrip vestiging niet samenvalt met uw logische organisatie. Voorbeelden: - meerdere faculteiten delen dezelfde gebouwen; - meerdere scholen van eenzelfde scholengroep delen kriskras meerdere vestigingen; - één fysieke vestiging huisvest meerdere afdelingen of opleidingen. Zelfs wanneer campus en vestiging elkaar grotendeels overlappen, kan het begrip nuttig blijven om filters en groeperingen te vergemakkelijken. #### Waarvoor een campus dient Een campus dient hoofdzakelijk om: - klassen te groeperen volgens eenzelfde organisatie; - bepaalde filters en groeperingen te vergemakkelijken, met name in de conflictdiagnose. Een campus definieert op zichzelf geen tijdrooster, geen reistijd en geen strikte plaatsingsbeperking. Dat gedrag blijft bij de vestigingen, de lokalen, de resources en de beperkingen van het rooster liggen. #### Waar u een campus instelt Campussen maakt u aan in de [algemene instellingen](#page-admin.parameters), onder de klasniveaus. Elke klas kan vervolgens aan een campus worden gekoppeld, en daarop baseren de bijbehorende filters en groeperingen zich. #### Zie ook - [Vestiging](#page-glossary.site) - [Lokaal](#page-glossary.classroom) - [Klas](#page-glossary.class) - [Niveau](#page-glossary.level) - [Conflicten opsporen en oplossen](#page-timetables.conflicts) ### Co-teaching *Source: `help/nl/glossary/co-teaching.md` · id: glossary.co-teaching · Updated: 2026-05-10* *Also known as : teamteaching · onderwijsassistenten · hoofddocent en tweede docent* **Co-teaching** is een les die tegelijkertijd door **twee of meer docenten** wordt gegeven, in hetzelfde lokaal en voor dezelfde studenten. Omniscol modelleert dit geval eenvoudig: een cursus kan **meerdere docenten** hebben. Elk van hen krijgt de les toegerekend in de eigen statistieken en diensturen. #### Typische gevallen - **Extra begeleiding** — een vaste docent + een onderwijsassistent, of twee docenten bij een groot aantal studenten. - **Incidentele gastdocent (*visiting professor*)** — een cursus waarvan de les van die dag samen met een externe docent wordt gegeven (zie [freelancedocent / externe docent](#page-glossary.external-teacher)). - **Vast duo** — een module die het hele semester door hetzelfde docentenduo wordt gegeven. - **Dubbele expertise** — een vakoverstijgende module (bijvoorbeeld “informatica voor de zorg” met een arts en een informaticus). #### Verschil met afwisseling Bij co-teaching geven **twee docenten tegelijk dezelfde les**. Bij **afwisseling** ([afwisselende lessen](#page-glossary.alternate-lessons)) gaat het om **twee docenten op hetzelfde tijdslot, maar in verschillende weken**. Wisselen uw twee docenten elke week af zonder ooit samen les te geven, dan zijn het afwisselende lessen en geen co-teaching. Doet een van hen alleen bij een paar losse lessen mee, dan kunt u het beste een aparte cursus aanmaken voor die specifieke datums met de gastdocent, naast de hoofdcursus — vooral in de [kalendermodus](#page-glossary.calendar-mode). #### Zie ook - [Les / Lesmoment](#page-glossary.lesson) - [Externe docent](#page-glossary.external-teacher) - [Co-teaching in het hoger onderwijs](#page-higher-ed.co-teaching) ### Conflict *Source: `help/nl/glossary/conflict.md` · id: glossary.conflict · Updated: 2026-06-25* *Also known as : waarschuwing · gedetecteerde incompatibiliteit · overlap · botsing* Een **conflict** in Omniscol is een situatie waarin twee beperkingen niet tegelijkertijd kunnen worden nageleefd. Voorbeelden: - een docent die aan twee lessen op hetzelfde tijdslot is toegewezen, - een lokaal dat door twee lessen tegelijk wordt bezet, - een groep leerlingen die op twee plaatsen tegelijk zou moeten zijn, - een les die niet voldoet aan de specialisatie die voor het vak vereist is, - een les waarvan de totale capaciteit (de som van de toegewezen lokalen) kleiner is dan de groepsgrootte, - een groepsuitlijning waarin de uitgelijnde groepen een verschillend aantal lesuren hebben. #### Detectie in realtime Omniscol spoort conflicten **al tijdens het invoeren** op, niet pas op het moment van de roostergeneratie: - een rode balk boven aan het scherm urenverdeling, - een pictogram [triangle-exclamation] op de betrokken lessen en klassen, - een aanklikbare lijst met conflicten (het “vergrootglas” leidt naar de details). #### Bewuste conflicten Niet elk conflict hoeft te worden opgelost. Sommige zijn bewust zo gekozen: - dezelfde groep bij een examen + een lokaal voor kandidaten met extra tijd (dezelfde groep leerlingen wordt afhankelijk van de omstandigheden in twee lokalen verwacht), - groepsgrootte > capaciteit van het lokaal, wanneer u weet dat niet alle ingeschrevenen zullen komen. U kunt **het conflict laten staan**; de waarschuwing blijft zichtbaar, maar blokkeert de werking niet. #### Blokkerende conflicten Sommige inconsistenties verhinderen dat de **roostergeneratie** slaagt: - geen enkel lokaal dat past bij een vak + een aantal lesuren, - een docent van wie de beschikbaarheid volledig onverenigbaar is met diens lessen, - een structureel onmogelijke groepsuitlijning. Deze conflicten worden als **kritiek** gemarkeerd; zolang ze bestaan, blijft de knop Rooster genereren uitgeschakeld. #### Zie ook - [Diagnose](#page-glossary.diagnostic) - [Roostergeneratie](#page-glossary.solver) - [Conflicten opsporen en oplossen](#page-timetables.conflicts) ### Cursus *Source: `help/nl/glossary/course.md` · id: glossary.course · Updated: 2026-06-26* *Also known as : vak van een klas · cursus van een klas · cursusregel* Een **cursus** is het onderwijs in een [vak](#page-glossary.subject) aan een [klas](#page-glossary.class) (of aan een van haar [groepen](#page-glossary.group)), gedurende een bepaalde periode. Het is de basiseenheid van uw **onderwijsaanbod**: wat er onderwezen moet worden, aan wie en in welk volume — los van het moment waarop het in het rooster valt. Een cursus heeft: - een **vak** (de onderwezen discipline), - eventueel een **[lestype](#page-glossary.lesson-type)** (hoorcollege, werkcollege, practicum, examen…) — het paar `(vak, type)` vormt een aparte cursus, - een beoogd **urenvolume** (uren per week, of een aantal lessen), - een of meer toegewezen **docenten**, - eventueel **beperkingen**: pedagogisch gewicht, vereist gespecialiseerd lokaal, incompatibiliteiten, plaatsingsvoorkeuren. #### Cursus, vak en les: niet door elkaar halen - Het [vak](#page-glossary.subject) is de zuivere discipline (wiskunde), in de catalogus van de school. - De **cursus** is dat vak *toegepast op een klas*, met een volume en eigenschappen: “wiskunde in 4A, 4 uur per week, als werkcollege”. - De [lessen](#page-glossary.lesson) zijn de concrete **uitvoeringen** die de cursus in het rooster invullen (de vier wekelijkse tijdsloten die daadwerkelijk zijn geplaatst). Eén cursus leidt dus tot een of meer lessen; wie een les verwijdert, verwijdert daarmee niet de cursus. #### Een begrip dat de interface impliciet laat De interface zegt op deze plek niet “cursus”: u bouwt er een op door **een vak aan een klas toe te wijzen** (het tabblad Cursussen van een klas), en vervolgens het volume, het type en de docenten in te vullen. Het begrip blijft nuttig om mee te redeneren — zeker in het hoger onderwijs, waar de cursus (de definitie) duidelijk wordt onderscheiden van de lessen (de uitvoeringen). #### Alle cursussen samen: het programma Alle cursussen van een klas — of van een opleiding — vormen samen haar **programma**. Afhankelijk van het niveau en het taalgebruik van de instelling spreekt men ook van **curriculum**, **opleidingsprogramma**, **studiegids** of **syllabus**. Omniscol legt dat vocabulaire niet op: het werkt met cursussen (vakken van een klas, eventueel met een type); hun som *is* het opleidingsprogramma. #### Zie ook - [Vak](#page-glossary.subject) - [Les / Lesmoment](#page-glossary.lesson) - [Lestype](#page-glossary.lesson-type) - [Cursussen, lessen, lestypes](#page-core-concepts.lessons-and-types) - [Organisatie van de gegevens: vakken, klassen en roosters](#page-core-concepts.data-model) - [Vakken per klas instellen](#page-timetables.creating-classes) ### Cyclisch rooster *Source: `help/nl/glossary/cyclic-timetable.md` · id: glossary.cyclic-timetable · Updated: 2026-05-10* *Also known as : cyclus · genummerde dagen* Een **cyclisch rooster** definieert terugkerende lessen over een willekeurig aantal dagen (Day 1, Day 2, … Day 6, enzovoort), niet noodzakelijk afgestemd op de week van 5 of 7 dagen. Dit wordt doorgaans gebruikt in **Noord-Amerikaanse systemen** (cycli van 6 of 8 dagen), in sommige internationale scholen en minder vaak in Europa. #### Verschil met de wekelijkse modus | Aspect | Wekelijks | Cyclisch | | --- | --- | --- | | Herhalingseenheid | Week (5-7 dagen) | Cyclus van N dagen | | Nummering | Maandag, dinsdag… | Day 1, Day 2… | | Bij publicatie | U kiest de actieve weken | U kiest de weekdagen waarop de cyclus geldt | | Automatische roostergeneratie | Ja | Ja | #### Wanneer u deze modus gebruikt Werkt uw instelling met een cyclus van 6 dagen (bijvoorbeeld Day 1 op maandag, Day 2 op dinsdag, Day 3 op woensdag, Day 4 op donderdag, Day 5 op vrijdag, Day 6 op de maandag daarna, Day 1 op de dinsdag daarna…), dan is de wekelijkse modus niet geschikt — de cyclische modus is voor dat geval gemaakt. Bevindt u zich in Europa met een cyclus van 5 dagen die strikt op de week is afgestemd, blijf dan bij de wekelijkse modus — die is eenvoudiger in te stellen en te publiceren. #### Zie ook - [Rooster](#page-glossary.timetable) - [Het juiste roostertype kiezen](#page-overview.timetable-modes) ### Dashboard *Source: `help/nl/glossary/dashboard.md` · id: glossary.dashboard · Updated: 2026-05-18* *Also known as : overzichtsscherm · statistieken · indicatoren* De module **Dashboard** levert statistieken die worden berekend op basis van het werkelijke rooster (ingeroosterde lessen, meegetelde afwezigheden, toegepaste vervangingen) over een gekozen periode: week, maand, schooljaar of een aangepast datumbereik. #### Beschikbare indicatoren De statistieken zijn geordend per analysedimensie: docenten, lokalen, resources, vakken, klassen en leerlingen. De volledige pagina van de module beschrijft de indicatoren die per dimensie beschikbaar zijn. #### Toepassingen - **HR-rapportage** — overzicht van de gegeven lesuren voor de loonadministratie, certificeringen en accreditaties. - **Optimalisatie van lokalen** — onderbenutte of overbezette lokalen opsporen. - **Controle van resources** — het werkelijke gebruik van verplaatsbare apparatuur nagaan. - **Onderwijsaudit** — nagaan of alle geplande urenvolumes ook daadwerkelijk zijn gegeven. #### Export De knop Afdrukken opent een tabel die u kunt kopiëren en plakken, afdrukken of als CSV exporteren voor externe verwerking (Excel, Power BI enz.). #### Berekening Belangrijk: het Dashboard werkt op het **operationele rooster** (de lessen die daadwerkelijk zijn ingeroosterd en gepubliceerd, waarbij eventuele [meerdere actieve roosters naast elkaar](#page-timetables.multiple-active-timetables) worden samengevoegd) en **houdt rekening met gevalideerde afwezigheden en vervangingen**. Het is een berekening op basis van de werkelijkheid, niet van de geplande configuratie. #### Zie ook - [Overzicht van de module Dashboard](#page-dashboard.overview) - [Tabellen en grafieken gebruiken](#page-dashboard.tools-and-filters) - [Docentenstatistieken](#page-dashboard.teachers) - [Lokaalstatistieken](#page-dashboard.classrooms) - [Vakstatistieken](#page-dashboard.subjects) - [Klassenstatistieken](#page-dashboard.classes) ### Datumvenster *Source: `help/nl/glossary/date-windows.md` · id: glossary.date-windows · Plan: premium · Updated: 2026-06-20* > **Premium** *Also known as : datumvensters · insluitingsvenster · uitsluitingsvenster · datumlaag* > _Premium_ Een **datumvenster** is een **herbruikbare** periode van **insluiting** of **uitsluiting** van datums, die beperkt wanneer bepaalde lessen kunnen worden ingepland. Eenmaal gedefinieerd op het bewerkingsscherm van een kalenderrooster, wordt het vervolgens toegepast als een **laag** over de tijdsbeperkingen van meerdere entiteiten — klassen, groepen, vakken of lokalen. Alleen voor **roosters van het type kalender**, op **Premium**-accounts. #### Twee types - **Toegestane lessen** — lessen kunnen alleen tijdens deze datums worden ingepland. - **Uitgesloten lessen** — lessen kunnen er niet worden ingepland. Meerdere vensters tellen bij elkaar op; bij overlapping heeft een uitsluiting voorrang op een toestemming. #### Zie ook - [Datumvensters](#page-timetables.date-windows) - [Kalendermodus](#page-glossary.calendar-mode) ### Deellink *Source: `help/nl/glossary/share-link.md` · id: glossary.share-link · Updated: 2026-06-13* *Also known as : gedeelde link · openbare link · delen via token* Een **deellink** in Omniscol is een ondertekende URL die zonder voorafgaande aanmelding toegang geeft tot een resource: - het rooster van een klas of van een docent, - een gericht invoerscherm, bijvoorbeeld voor beschikbaarheid, - de module Afwezigheidsbeheer ter raadpleging, - een specifieke weergave voor een extern team (audit, communicatie). Bij openbare roosters is de toegang alleen-lezen. Sommige interne deellinks kunnen echter een beperkte actie toestaan, zoals het invullen van een bepaald formulier. Het typische geval is de link voor het invoeren van de beschikbaarheid van docenten: de instelling kan die met een uiterste datum naar een docent sturen, zonder voor hem of haar een Omniscol-login aan te maken. #### Beveiliging Elke link bevat een ondertekend **JWT**. Bij web- en API-links hangt de handtekening af van het account dat de link heeft gegenereerd en van de hash van het wachtwoord daarvan. Bij iCal-links wordt de verificatiehash volgens hetzelfde principe opgebouwd. Vier gevolgen: 1. **Verplichte vervaldatum** — de link vervalt automatisch op de gekozen datum. Dat is een belangrijke waarborg: geen eeuwige links. 2. **Ongeldig bij wachtwoordwijziging** — wijzigt het houderaccount zijn wachtwoord (of stelt het opnieuw in op dezelfde waarde, wat de willekeurige salt verandert), dan worden alle links die het heeft gegenereerd onmiddellijk ongeldig. 3. **Ongeldig door het houderaccount** — wordt dat account uitgeschakeld of verwijderd, dan werken de links die eraan hingen niet meer. 4. **Beperkt bereik** — de link opent alleen de bedoelde weergave of actie. Beschrijf hem niet als volledige toegang tot het account. Gebruik voor een collectieve verspreiding een duidelijk herkenbaar serviceaccount in plaats van een persoonlijk account. Het serviceaccount wordt de administratieve houder van de uitgegeven links en kan worden geroteerd of uitgeschakeld als een deelcampagne ongeldig moet worden gemaakt. #### Verschil met een API-token | Aspect | Deellink | [API-token](#page-glossary.api-token) | | --- | --- | --- | | Doelgroep | Mens in een browser | Externe software | | Rechten | Afgebakend bereik, vaak alleen-lezen | Afhankelijk van de geselecteerde API-endpoints | | Gebruiksscenario | Eenmalige verspreiding | Software-integratie | | Authenticatie | JWT in de URL | JWT in de header `Authorization` | | Vereist niveau | Rol van de maker | Beheerdersrechten | #### Een link aanmaken De knop Delen verschijnt op deelbare schermen (roosters, beschikbaarheid, afwezigheden). Klik erop, kies een vervaldatum en kopieer daarna de URL in het gewenste formaat. #### Zie ook - [API-token](#page-glossary.api-token) - [Een rooster delen](#page-schedules.share-link) - [Openbare deellinks](#page-portal.share-links) ### Diagnose *Source: `help/nl/glossary/diagnostic.md` · id: glossary.diagnostic · Updated: 2026-06-26* *Also known as : verificatie · controle · configuratiewaarschuwing · consistentiewaarschuwing* Een **diagnose** in Omniscol is een consistentiecontrole die het systeem doorlopend uitvoert en die problemen in de roosterconfiguratie aanwijst voordat die de roostergeneratie doen mislukken of een onjuist resultaat opleveren. #### Ernstniveaus - **Kritiek** (rood, blokkerend) — verhindert dat de roostergeneratie slaagt: structureel onmogelijke groepsuitlijning, onvoldoende totale capaciteit, een docent zonder ook maar één vrij tijdslot… - **Waarschuwing** (oranje) — mag zo blijven staan, maar wijst op een risico of op een te controleren inconsistentie: onevenwicht in het aantal uitgelijnde lesuren, een lokaal dat net te klein is, zeer beperkende beschikbaarheid. - **Informatie** (blauw) — niet-blokkerende opmerking: “sommige lokalen worden nooit gebruikt”, “een docent heeft veel minder diensturen dan de collega's”. #### Waar u de diagnoses ziet - In de **bovenste balk** op het scherm urenverdeling en in de roosterweergave. - Naast de **naam van de klas** of van de betrokken docent in de lijsten. - In detail op het tabblad Roostergeneratie (of controle, afhankelijk van de modus van het rooster) met contextuele uitleg bij elke diagnose. #### Veelvoorkomende diagnoses | Diagnose | Typische oorzaak | Hoe op te lossen | | --- | --- | --- | | Geen passend lokaal | Vereiste specialisatie zonder overeenkomstig lokaal | Het lokaal aanmaken of de specialisatie opheffen | | Inconsistent aantal lesuren in een groepsuitlijning | De ene klas heeft 2 uur, de andere 3 uur voor dezelfde uitgelijnde groep | De lesuren gelijktrekken, of de uitlijning opheffen | | Onvoldoende capaciteit | Aantal leerlingen > capaciteit van het lokaal | Een groter lokaal toewijzen, of er meerdere ([meerdere lokalen](#page-glossary.multi-room)) | | Beschikbaarheid zonder mogelijk tijdslot | Alle tijdsloten zijn voor deze docent als onmogelijk gemarkeerd | De beschikbaarheid versoepelen of de lessen herverdelen | | Les tijdens een afwezigheidsperiode | Les geplaatst in een periode waarin de docent afwezig is | De les verplaatsen of de afwezigheid verwijderen | #### Zie ook - [Conflict](#page-glossary.conflict) - [Roostergeneratie](#page-glossary.solver) - [Een mislukte roostergeneratie diagnosticeren](#page-timetables.diagnosing-generation) ### Docent / Gastdocent *Source: `help/nl/glossary/teacher.md` · id: glossary.teacher · Updated: 2026-05-10* *Also known as : leerkracht · opleider · trainer · instructeur* In Omniscol staat **docent** voor iedereen die het onderwijs van een les verzorgt. De term omvat: - de **vaste docenten** (in vast dienstverband, faculty), - de **docenten op uurbasis** (externe docenten voor losse opdrachten), - de **visiting professors** (uitgenodigde academici, gastsprekers), - de **trainers** (bij- en nascholing, workshops), - de **experts** (incidentele docenten die om hun expertise worden aangetrokken). Afhankelijk van de gewoonten binnen uw instelling spreekt u van “docent”, “leerkracht”, “gastdocent” of “trainer” — Omniscol past zich via de labels aan uw woordgebruik aan (zie de instellingen), maar onder de motorkap worden ze allemaal door dezelfde entiteit vertegenwoordigd. #### Aanmaken Docenten worden op schoolniveau aangemaakt in Docenten. U vult in: - voornaam, achternaam, inlognaam en wachtwoord; - e-mailadres (gebruikt voor de uitnodiging en voor “wachtwoord vergeten”); - eventueel een externe identificatie (registratienummer, SIS-id); - de **onderwezen vakken** (vereenvoudigt de latere toewijzing aan lessen); - de **diensturen** (het aantal geplande weekuren, standaard overgenomen in nieuwe roosters). #### Toewijzing aan een rooster Zodra ze op schoolniveau zijn aangemaakt, moeten docenten **aan een rooster worden toegewezen** vanuit Docenten toewijzen. Die stap onderscheidt de “beschikbare docenten” (op schoolniveau) van de “docenten die voor dit rooster worden ingezet” (op roosterniveau). #### Beschikbaarheid Een docent kan de eigen [beschikbaarheid](#page-glossary.wishes) opgeven (tijdsloten die onmogelijk, ongewenst of juist gewenst zijn). Bij wekelijkse roosters is daarvoor een administratieve goedkeuring nodig; bij kalenderroosters wordt ze in realtime geconsolideerd. In het voortgezet onderwijs spreekt men ook van **wensen**. #### Docenten op uurbasis (externe docenten) Voor **docenten op uurbasis** raadpleegt u het aparte lemma: [Externe docent / freelancedocent](#page-glossary.external-teacher). #### Virtuele docent Met de knop Virtueel maakt u een *virtuele docent* aan — een voorlopige fiche voor een nog in te vullen functie, die met een spookje naast de naam wordt weergegeven. Zodra de echte persoon is aangenomen, zet u de fiche met de knop op die regel om in een volwaardige docent. Handig om het nieuwe schooljaar voor te bereiden voordat alle aanstellingen rond zijn. #### Zie ook - [Externe docent (freelancedocent)](#page-glossary.external-teacher) - [Beschikbaarheid](#page-glossary.wishes) - [Docenten beheren](#page-admin.teachers) - [Docenten aan een rooster toewijzen](#page-timetables.assigning-teachers) ### Externe docent / Freelancedocent *Source: `help/nl/glossary/external-teacher.md` · id: glossary.external-teacher · Updated: 2026-06-13* *Also known as : gastdocent · docent op uurbasis · visiting professor* Een **externe docent** (ook *freelancedocent*, *visiting professor* of *expert*, afhankelijk van de context) is een docent van wie de contractuele band met de instelling tijdelijk of incidenteel is. Voor de roostergeneratie is een externe docent een [docent](#page-glossary.teacher) als elke andere — dezelfde beschikbaarheid, dezelfde toewijzingen. Het onderscheid is vooral **administratief**: - een kort contract (per uur, per les, per opdracht), - een kleiner urenvolume dan bij de vaste docenten, - een gebruiker die vaak niet in dezelfde systemen is ondergebracht als de vaste docenten (ander e-mailadres, geen toegang tot dezelfde interne tools). > _Premium_ De speciale markering Externe docent, aangevinkt op de fiche van de gebruiker, is voorbehouden aan Premium-accounts. Deze dient om externe docenten uitdrukkelijk als zodanig aan te duiden en levert de gegevens voor de specifieke weergave die hieronder wordt beschreven. #### Specifieke weergave Een pictogram [user-tie] onderscheidt externe docenten van vaste docenten op bepaalde schermen (met name de tooltip van een les en de lijstweergave van de roosters). In het hoofdtijdrooster maakt de standaardweergave dat onderscheid niet, bij gebrek aan ruimte, maar de informatie blijft leesbaar in de tooltip wanneer u de muisaanwijzer erover beweegt. #### Bijzonder geval: een visiting professor voor enkele lessen Gaat het om een losse les waarbij een visiting professor samen met de hoofddocent lesgeeft zonder af te wisselen, zie dan [co-teaching](#page-glossary.co-teaching). Wisselen twee docenten elke week af op hetzelfde tijdslot, zie dan [afwisselende lessen](#page-glossary.alternate-lessons). #### Zie ook - [Docent](#page-glossary.teacher) - [Co-teaching](#page-glossary.co-teaching) - [Externe docenten in het hoger onderwijs](#page-higher-ed.external-faculty) ### Gekoppelde lessen (afwisseling van halve groepen) *Source: `help/nl/glossary/associated-lessons.md` · id: glossary.associated-lessons · Updated: 2026-05-10* *Also known as : wisseling groep a/b · swap* **Gekoppelde lessen** zijn twee gelijktijdige lessen in halve groepen die **opeenvolgend wisselen**. Het typische geval: ``` Tijdslot 1: groep A biologie, groep B natuurkunde Tijdslot 2: groep A natuurkunde, groep B biologie ``` Na de twee tijdsloten hebben beide groepen beide vakken gehad, maar in een andere volgorde. Deze opzet is zeer gangbaar bij de bètavakken (een practicum biologie + een practicum natuurkunde met twee vakdocenten die “rouleren”), bij de kunstvakken (de ene halve groep praktijk, de andere theorie, en daarna wisselen), enzovoort. #### Aanmaken 1. Maak eerst twee [aaneengeschakelde](#page-glossary.concatenated-lessons) lessen aan (de ene onder de andere). 2. Beweeg de muis over de grens tussen de twee: er verschijnt een knop “koppeling”. 3. Klik daarop en wijs de **twee groepen** aan die moeten afwisselen — idealiter aangegeven als [klasverdeling](#page-glossary.class-division). #### Consistentie met de groepen De groepen die in een koppeling worden gebruikt, moeten in de klas als **klasverdeling** zijn aangegeven — anders geeft de roostergeneratie een consistentiewaarschuwing (een groep kan niet op twee plaatsen tegelijk zijn). #### Zie ook - [Aaneengeschakelde lessen](#page-glossary.concatenated-lessons) - [Klasverdeling](#page-glossary.class-division) - [Complexe lessen](#page-core-concepts.complex-lessons) ### Groep *Source: `help/nl/glossary/group.md` · id: glossary.group · Updated: 2026-05-10* *Also known as : subgroep · halve groep · keuzevakgroep · practicum-a · practicum-b* In Omniscol is een **groep** een **onderverdeling van een klas**. Alle leerlingen van een groep zijn ook leerlingen van de bovenliggende klas. U maakt een groep aan telkens wanneer een deel van de leerlingen van een klas andere lessen moet volgen dan de rest van de klas — ook al is dat maar tijdelijk, voor één enkele les. Voorbeelden: - halve groepen bij practica (“Practicum A”, “Practicum B”), - keuzevakgroepen (“Latijn” en “Grieks”; “Spaans” en “Duits” voor de tweede moderne vreemde taal), - niveaugroepen (“Engels verdiept”, “Engels standaard”). #### Sterke aanbeveling: één groep per les Ook al gaat het bij Latijn en Grieks binnen één klas in de praktijk om dezelfde leerlingen, **maak twee afzonderlijke groepen aan**. Anders worden de [groepsuitlijningen](#page-glossary.alignment) met andere klassen dubbelzinnig en zijn conflicten moeilijk te diagnosticeren. Omgekeerd: een groep “Hele klas” aanmaken heeft geen zin. Wanneer een les voor de hele klas bedoeld is, koppelt u er geen groep aan; de les wordt gewoon aan de klas toegewezen. #### Theoretisch aantal leerlingen Geef het aantal leerlingen op dat u in de groep verwacht. Dit veld is optioneel maar aanbevolen: de [roostergeneratie](#page-glossary.solver) gebruikt het om [lokalen](#page-glossary.classroom) met een passende capaciteit te kiezen. #### Leerlingen uit meerdere klassen mengen Het begrip groep houdt op bij de grens van één klas. Om de Latijnleerlingen van 4A, 4B en 4C die samen les hebben te mengen: - maakt u in elk van de drie klassen een groep “Latijn” aan, - en maakt u vervolgens een [groepsuitlijning](#page-glossary.alignment) die de drie aan elkaar koppelt. U kunt ook een [groep van groepen](#page-glossary.groups-of-groups) gebruiken, die soepeler te bewerken is wanneer de groepering nog moet kunnen wijzigen. #### Vrije groepen Voor open inschrijvingen (avondworkshops, keuzevakken die niet aan een klas gebonden zijn) kijkt u naar het begrip [vrije groep](#page-glossary.free-group) — de samenstelling ligt niet op voorhand vast, leerlingen kunnen toetreden of vertrekken zonder een conflict te veroorzaken. Dat is een **uitzonderlijk** geval (een semi-autonome satellietsubgroep): wilt u eenvoudigweg **bestaande groepen samenbrengen of bij elkaar zetten** voor één gedeelde les, gebruik dan een groep van groepen en geen vrije groep. #### Zie ook - [Klas](#page-glossary.class) - [Klasverdeling](#page-glossary.class-division) - [Groepsuitlijning](#page-glossary.alignment) - [Groepen van groepen](#page-glossary.groups-of-groups) - [Vrije groep](#page-glossary.free-group) ### Groep van groepen *Source: `help/nl/glossary/groups-of-groups.md` · id: glossary.groups-of-groups · Updated: 2026-05-10* *Also known as : supergroep · groepering van groepen* Een **groep van groepen** is een soepelere vorm van groepering dan een [groepsuitlijning](#page-glossary.alignment): hij brengt meerdere [groepen](#page-glossary.group) uit dezelfde klas of uit verschillende klassen samen. Beschikbaar in Omniscol als basismechanisme voor groepering. #### Belangrijkste verschil met de groepsuitlijning De groepsuitlijning wordt **bij het aanmaken vastgelegd**: de lijst met uitgelijnde groepen staat vast, en een groep uit de uitlijning halen kan alleen door hem te dupliceren. Een groep van groepen **past u daarentegen achteraf aan**. U kunt groepen toevoegen of weghalen zonder de structuur opnieuw op te bouwen. Dat maakt hem waardevol in het hoger onderwijs, waar de samenstelling van de groeperingen vaak in de loop van het jaar verandert (een nieuw traject dat aansluit bij een gemeenschappelijke cursus, een subgroep die zich afsplitst voor een project). #### Wanneer u een groep van groepen gebruikt - Gemeenschappelijke cursussen voor meerdere opleidingstrajecten (technische universiteiten of business schools), - Hoorcolleges voor meerdere jaargangen samen, klasoverstijgende seminars, - Cursussen uit de gemeenschappelijke basis in de permanente educatie, - Open onderwijsevenementen (excursie, gastcollege). Een les die aan een groep van groepen is toegewezen, is zichtbaar (en bewerkbaar) vanuit elk van de ouderklassen van de aangesloten groepen. #### Bijzonderheid De groep van groepen is vooral nuttig wanneer de samenstelling van het publiek in de loop van het jaar verandert of wanneer u de symmetrievereisten van een groepsuitlijning wilt vermijden. #### Zie ook - [Groepsuitlijning](#page-glossary.alignment) - [Klasoverstijgende cursus](#page-glossary.transverse-course) - [Kalendermodus](#page-glossary.calendar-mode) - [Groepen van groepen](#page-core-concepts.groups-of-groups) ### Groepsuitlijning *Source: `help/nl/glossary/alignment.md` · id: glossary.alignment · Updated: 2026-06-26* *Also known as : klasoverstijgende groepering* Een **groepsuitlijning** brengt meerdere [groepen](#page-glossary.group) uit **verschillende klassen** samen die **hetzelfde tijdslot, dezelfde docent en hetzelfde lokaal** moeten delen. Het klassieke voorbeeld: de Latijnleerlingen van 4A, 4B en 4C volgen samen één enkele les Latijn. In plaats van drie parallelle lessen aan te maken (die om docent en lokaal zouden strijden), maakt u in elk van de drie klassen een **groep “Latijn”** aan en **lijnt** u die vervolgens **uit**. De roostergeneratie plaatst dan één enkele les, tegelijk gekoppeld aan de drie groepen. Typische gevallen: - klasoverstijgende talengroepen (groepen Duits samengebracht uit meerdere klassen), - klasoverstijgende keuzevakken (Latijn, Grieks, maatschappijwetenschappen), - profielvakken in de bovenbouw van havo en vwo, - gedeelde modules in het hoger onderwijs (dezelfde cursus uit de gemeenschappelijke basis voor meerdere opleidingen). #### Kracht en beperkingen De groepsuitlijning is bijzonder krachtig — ze voorkomt duplicatie, waarborgt de samenhang van wijzigingen (een verplaatste les wordt overal verplaatst) en vereenvoudigt het raadplegen. **Maar ze is ook zeer beperkend**: - Eenmaal uitgelijnd kan een groep op dat precieze tijdslot geen zelfstandige les meer hebben: heeft een van de drie klassen bij uitzondering een eigen les, dan moet u de groep van die klas **dupliceren** en de kopie uit de uitlijning halen. - Alle uitgelijnde groepen moeten in hun respectieve klassen exact hetzelfde aantal lesuren en dezelfde opzet hebben. Een onevenwichtigheid levert een consistentiewaarschuwing op (zie het tabblad Roostergeneratie). - Wijzigingen (een les toevoegen, het lokaal aanpassen) moet u maar één keer doorvoeren, op de uitlijning — Omniscol geeft ze door. Maar de les bewerken via slechts een van de klassen kan neveneffecten opleveren. #### Belangrijke verschillen | Concept | Bereik | Beperking | | --- | --- | --- | | [Klasverdeling](#page-glossary.class-division) | Groepen uit **één** klas | Hetzelfde tijdslot, **verschillende** docent/lokaal | | **Groepsuitlijning** | Groepen uit **meerdere** klassen | Hetzelfde tijdslot, **dezelfde** docent, **hetzelfde** lokaal | | [Groep van groepen](#page-glossary.groups-of-groups) | Hetzelfde als bij de uitlijning | Hetzelfde tijdslot, één docent/lokaal, **achteraf flexibel te bewerken** | #### In de kalendermodus In een rooster in [kalendermodus](#page-glossary.calendar-mode) verdient de [groep van groepen](#page-glossary.groups-of-groups) de voorkeur boven de uitlijning: hij is eenvoudiger te bewerken, u kunt gaandeweg een groep toevoegen of weghalen zonder de structuur opnieuw te moeten opbouwen. #### Zie ook - [Groep](#page-glossary.group) - [Klasverdeling](#page-glossary.class-division) - [Groepen van groepen](#page-glossary.groups-of-groups) - [Klasoverstijgende cursus](#page-glossary.transverse-course) - [Groepsuitlijningen](#page-core-concepts.alignments) ### Groot lokaal (meerdere gelijktijdige lessen) *Source: `help/nl/glossary/large-room.md` · id: glossary.large-room · Updated: 2026-06-25* *Also known as : maximumaantal klassen · examenlokaal · theater · sportzaal · zwembad · buitenterrein* Een **groot lokaal** is een [lokaal](#page-glossary.classroom) dat **meerdere verschillende lessen op hetzelfde moment** kan huisvesten, met verschillende docenten en groepen die niets met elkaar te maken hebben. U geeft dit aan door op het lokaal het veld **Maximumaantal klassen** in te vullen: dat getal bepaalt hoeveel afzonderlijke lessen er tegelijk kunnen plaatsvinden. Typische voorbeelden: een **examenlokaal**, een **hal**, een **buitenterrein** (schoolplein, theater, sportveld, museum…), een **sportzaal**, een **zwembad** — stuk voor stuk plekken waar meerdere onafhankelijke activiteiten naast elkaar bestaan. #### Voorbehouden aan gespecialiseerde lokalen Het veld Maximumaantal klassen verschijnt alleen op een lokaal met een **[specialisatie](#page-glossary.classroom-specialization)**. U geeft het lokaal dus eerst een specialisatie (sport, examen, zwembad, buitenterrein…) en vult daarna het maximumaantal gelijktijdige klassen in. Dat is logisch: een gedeeld groot lokaal is altijd een plek die voor een bepaalde activiteit is ingericht, en de specialisatie helpt zo ook om er de juiste vakken naartoe te sturen. #### Hoe Omniscol dit gebruikt Op elk tijdslot staan de [roostergeneratie](#page-glossary.solver) en de conflictdetectie toe dat er in het lokaal net zoveel lessen worden geplaatst als het Maximumaantal klassen toelaat, zolang de som van de aantallen leerlingen binnen de **[capaciteit](#page-glossary.classroom)** van het lokaal blijft. Wordt een van beide grenzen overschreden — te veel lessen tegelijk, of te veel leerlingen voor de capaciteit — dan meldt Omniscol een conflict. Een lokaal zonder Maximumaantal klassen gedraagt zich als een gewoon lokaal: één les tegelijk. #### Groot lokaal of meerdere lokalen? Beide begrippen draaien om het koppel lokaal ↔ les, maar in twee tegengestelde richtingen: - een **groot lokaal** brengt **meerdere lessen in één en hetzelfde lokaal** samen; - een les in **[meerdere lokalen](#page-glossary.multi-room)** bezet omgekeerd **meerdere lokalen voor één en dezelfde les** (de capaciteit is dan de som van de toegewezen lokalen). #### Zie ook - [Lokaal](#page-glossary.classroom) - [Lokaalspecialisatie](#page-glossary.classroom-specialization) - [Meerdere lokalen](#page-glossary.multi-room) - [Vestigingen, tijdroosters, lokalen, resources](#page-timetables.sites-rooms) ### iCal (kalenderexport) *Source: `help/nl/glossary/ical.md` · id: glossary.ical · Updated: 2026-05-15* *Also known as : ics · kalenderabonnement · ical-link · ical-export* **iCal** (extensie `.ics`) is het standaardformaat voor de uitwisseling van kalenders, dat door alle kalendertoepassingen op de markt wordt gelezen: Apple Calendar, Google Calendar, Outlook, Thunderbird, Fastmail enzovoort. Omniscol biedt twee soorten iCal-export: #### 1. Statische download Knop Downloaden op een geselecteerd rooster. U krijgt een `.ics`-bestand dat u in uw kalendertoepassing importeert. Het is een **momentopname** op het moment van downloaden: het bestand wordt niet bijgewerkt als het rooster daarna verandert. Handig om een eenmalig rooster per e-mail te delen. #### 2. Dynamische abonnementslink De knop Downloaden op een rooster (of op een scherm van een docent enzovoort) genereert een iCal-abonnements-URL. Zodra u die als **abonnement** in uw kalendertoepassing kopieert, wordt de kalender automatisch bijgewerkt naarmate het rooster in Omniscol verandert. Zo synchroniseren de docent en de leerling hun Omniscol-rooster met hun persoonlijke kalender, zonder bij elke wijziging opnieuw een bestand te moeten downloaden. De iCal-links van Omniscol zijn ondertekend, kunnen verlopen en zijn gekoppeld aan het account dat ze heeft aangemaakt. De vervaldatum staat in het token van de URL; om die te wijzigen, moet u een nieuwe link genereren. Een wachtwoordwijziging, een deactivering of een verwijdering van het gekoppelde account maakt de bijbehorende links ongeldig. #### Synchronisatie en updates De abonnements-iCal wordt **door de kalendertoepassing ververst**, in een ritme dat per toepassing verschilt: - Apple Calendar: doorgaans 5-15 min. - Google Calendar: tot 24 uur in het slechtste geval (maar vaak sneller). - Outlook: wisselend. Die vertraging is inherent aan het iCal-protocol en ligt niet aan Omniscol — een wijziging in het Omniscol-rooster verschijnt in de geabonneerde kalender zodra die de feed opnieuw ophaalt. #### Zie ook - [Deellink](#page-glossary.share-link) - [iCal — abonnement en dynamische link](#page-integrations.ical) ### Incompatibiliteit (tussen vakken) *Source: `help/nl/glossary/incompatibility.md` · id: glossary.incompatibility · Updated: 2026-06-13* *Also known as : uitsluiting · anti-aaneenschakeling · volgordeverbod* Een **incompatibiliteit** is een pedagogische beperking die verbiedt dat een vak op een ander **volgt**. Het is een **gerichte** regel: u legt vast dat “vak A niet gevolgd mag worden door vak B” — de richting telt, A-dan-B en B-dan-A zijn twee verschillende regels. Het typische geval: “geen wiskundeles vlak na lichamelijke opvoeding”. In te stellen per klas, op het tabblad Incompatibiliteiten van het huidige rooster. #### Reikwijdte van het verbod Bij het aanmaken van de regel kiest u het tijdvenster waarin het verbod geldt: - **Direct aansluitend** — niet in de les die er onmiddellijk op volgt, op dezelfde dag. - **Halve dag** — niet later op dezelfde halve dag. - **Dag** — niet later op dezelfde dag. - **Week** — niet later in dezelfde week. - **Altijd** *(cyclisch rooster of kalenderrooster)* — nooit meer daarna, over de hele periode. Dit is het instrument voor **volgordebepaling**: een module afronden voordat u overgaat op de module die daarvan afhangt. Los daarvan: de optie **zelfincompatibiliteit** van een vak (een algemene instelling) voorkomt dat hetzelfde vak voor een leerling twee keer op dezelfde dag terugkeert — vaak eenvoudiger dan talloze paarsgewijze regels. #### Verschil met de tijdsbeperkingen van een vak Niet te verwarren met de **tijdsbeperkingen** van een vak ([clock]), die de **absolute** plaatsing van één enkel vak in het tijdrooster vastleggen. De incompatibiliteit gaat daarentegen over de **relatieve** volgorde van twee vakken. | Beperking | Gaat over | Voorbeeld | | --- | --- | --- | | **Incompatibiliteit** | de **volgorde** van twee vakken | “geen wiskunde na lichamelijke opvoeding” | | Tijdsbeperking van een vak | de absolute **plaatsing** van een vak | “geen wiskunde op het eerste tijdslot” | | Specialisatie | het **lokaal** dat een vak vereist | “scheikunde vereist een laboratorium” | #### Een optimalisatiebeperking, geen blokkade Een incompatibiliteit is geen blokkerende beperking: de roostergeneratie behandelt die als een strafpunt dat zij probeert weg te werken, net als ongewenste beschikbaarheid. Laten de overige beperkingen geen enkel alternatief open, dan kan een incompatibiliteit dus in het gegenereerde rooster blijven staan; de [diagnose](#page-glossary.diagnostic) meldt die dan, zodat u een afweging kunt maken. Vermijd een lawine aan incompatibiliteiten: elke regel beperkt de vrijheid van de roostergeneratie en verlengt de berekening. Om een vak over de week in balans te brengen is het pedagogisch gewicht van het vak vaak doeltreffender. #### Zie ook - [Vak](#page-glossary.subject) - [Roostergeneratie — hoe zij de beperkingen tegen elkaar afweegt](#page-glossary.solver) ### Informatiescherm *Source: `help/nl/glossary/panel.md` · id: glossary.panel · Updated: 2026-06-13* *Also known as : displaypaneel · ingangsscherm · halscherm* Een **informatiescherm** in Omniscol is een openbaar scherm dat zo is ingesteld dat het doorlopend een gefilterd rooster toont. Typische gevallen: - **informatiescherm in de hal** — scherm bij de ingang van de school dat de lessen van de dag voor alle klassen langs laat komen, - **informatiescherm bij een lokaal** — scherm dat naast een deur hangt en de bezetting van dat lokaal gedurende de dag toont, - **informatiescherm in een auditorium of laboratorium** — weergave van de volgende lessen in een gespecialiseerd lokaal. #### Unieke URL voor elk informatiescherm Elk aangemaakt informatiescherm krijgt een **unieke URL** die u in een browser schermvullend opent. Het scherm bladert automatisch door en ververst zichzelf. #### Aanpassing Wanneer u een informatiescherm definieert, stelt u het volgende in: - **filter op de weergegeven lessen**: welke niveaus, welke klassen, welke vestigingen, welke lokalen, - weergegeven **tijdsbereik**, - **lettergrootte**, - **informatiebalk** (lopende tekst, logo), - **kleuren en thema**. Bij implementaties met een sterke huisstijl kunt u de webpagina die het informatiescherm toont ook volledig vervangen, om die in een bestaand narrowcastingsysteem te integreren. Zie [Visuele aanpassing](#page-panels.customization). #### Zie ook - [Informatiescherm in de hal](#page-panels.lobby-panel) - [Scherm bij een lokaal](#page-panels.room-panel) - [Visuele aanpassing](#page-panels.customization) ### Kalendermodus *Source: `help/nl/glossary/calendar-mode.md` · id: glossary.calendar-mode · Plan: premium · Updated: 2026-06-13* > **Premium** *Also known as : agendamodus · gedateerd rooster · zonder herhaling* > _Premium_ Een rooster in de **kalendermodus** ordent de lessen **per datum**, zonder terugkerende standaardweek. Elke les wordt afzonderlijk op een precieze datum geplaatst, zoals in een agenda. Dit is de aangewezen modus voor: - **het hoger onderwijs** (hogescholen, business schools, universiteiten), - **de permanente educatie** (losse lessen, korte programma's), - **de opleidingscentra** waar de lessen niet elke week terugkeren. Deze modus is beschikbaar op **Premium**-accounts. #### Verschillen met de wekelijkse modus | Aspect | Wekelijks | Kalender | | --- | --- | --- | | Herhaling | Standaardweek | Datum voor datum | | Roostergeneratie | Ja | Ja (met gericht datumvenster en compacteren van de dagen) | | Beschikbaarheid | Vooraf goedgekeurd | In realtime geconsolideerd | | Een les bewerken | Werkt door op alle actieve weken | Werkt door op één precieze datum | | Groep van groepen | Ja | Ja | | Publicatie | Over reeksen weken | Binair (gepubliceerd of niet) | | Standaardweergave | Weekweergave | Week- of maandweergave | | Wissen bij vakanties | Automatisch | Geen (de lessen zijn al gedateerd) | #### Automatische roostergeneratie in de kalendermodus De roostergeneratie werkt ook in de kalendermodus: ze plaatst de nog niet ingeroosterde lessen op de beschikbare datums en houdt zich aan dezelfde beperkingen (een docent of een klas kan niet op twee plaatsen tegelijk zijn, passende lokalen, blokkerende beschikbaarheid). Het scherm voor de roostergeneratie biedt bovendien instellingen die eigen zijn aan de kalender: een **gericht datumvenster** om de berekening tot één periode te beperken, en het **compacteren van de dagen** (samenbrengen aan het begin of aan het eind van het venster, of de keuze aan de roostergeneratie laten). De hulp bij het handmatig plaatsen blijft daarnaast beschikbaar: conflicten worden in realtime gedetecteerd, lokaalvoorstellen zijn al gefilterd en de beschikbaarheid wordt meteen meegewogen. #### Beschikbaarheid in de kalendermodus In een kalenderrooster kan de beschikbaarheid van externe docenten in de loop van de tijd veranderen. Omniscol consolideert die in realtime en geeft conflictwaarschuwingen zodra de beschikbaarheid wijzigt. Zie [Beschikbaarheid in de kalendermodus](#page-timetables.calendar-wishes). #### Wekelijks + kalender combineren binnen één school Met Premium kunt u **gelijktijdig** een weekrooster (de terugkerende lessen van de ochtend, propedeuse) en een kalenderrooster (de losse masterclasses van de middag, masterfase) over dezelfde weken **publiceren**, dankzij [meerdere actieve roosters naast elkaar](#page-timetables.multiple-active-timetables). Delen de twee roosters entiteiten (docenten, lokalen), dan voegt Omniscol de weergaven dynamisch samen en detecteert de conflicten tussen beide. #### Zie ook - [Rooster](#page-glossary.timetable) - [Het juiste roostertype kiezen](#page-overview.timetable-modes) - [Kalendermodus](#page-timetables.calendar-mode) - [Groepen van groepen](#page-glossary.groups-of-groups) ### Klas *Source: `help/nl/glossary/class.md` · id: glossary.class · Updated: 2026-07-05* *Also known as : lichting · jaargroep · cohort · opleidingsgroep* In Omniscol is een **klas** de hoofdentiteit die leerlingen met eenzelfde opleidingstraject samenbrengt binnen dezelfde school, gedurende een bepaalde periode. De klas is het onderwerp van de lessen: een les is gericht op een klas (als geheel, of via een [groep](#page-glossary.group) die er een onderverdeling van is), niet andersom. Een klas heeft: - een **naam** (bijvoorbeeld “4A”, “Bachelor Informatica jaar 3”, “Master Marketing”), - een **niveau** (de niveaus worden vastgelegd in Aanmaken — bijvoorbeeld 1 vwo/2 vwo/3 vwo in het voortgezet onderwijs, bachelor jaar 1/2/3 in het hoger onderwijs), - eventueel een **campus** (Premium-optie; scholengroep, faculteit, afdeling of een andere organisatorische groepering), - een standaard **vestiging** (de fysieke plaats en de lokalen die standaard worden gebruikt), - eventueel een **eigen lokaal** waarin de lessen standaard plaatsvinden, - een **theoretisch aantal leerlingen** (het aantal dat u verwacht; optioneel, maar nuttig om lokalen van de juiste omvang te kiezen). #### Woordgebruik per context Het woord “klas” krijgt heel andere nuances, afhankelijk van het type instelling. Al die betekenissen komen neer op dezelfde entiteit in Omniscol: - **Basis- / voortgezet onderwijs** — “klas” in de gewone schoolbetekenis (groep 8, 4A, 6 vwo). - **Hoger onderwijs** — vaak “lichting”, “jaargroep”, “cohort”, “opleidingsgroep”, soms “traject” of “afstudeerrichting”. Een lichting van 200 studenten is een klas; de subgroepen voor werkcolleges en practica zijn [groepen](#page-glossary.group), geen klassen. - **Bij- en nascholing** — “leergang”, “cohort”, “deelnemersgroep”. > _Premium_ In het hoger onderwijs staat “klas” hier voor een vaste groep studenten of leerlingen die hetzelfde rooster of hetzelfde algemene opleidingstraject delen. Dat komt vaak overeen met een cohort, een opleidingsgroep of soms een traject. Niet te verwarren met een onderwijseenheid, een module of een cursus. Wanneer u “klas” leest in Omniscol, lees dan “de lichting die dit traject in deze periode volgt”, niet “het fysieke lokaal” (dat is een [lokaal](#page-glossary.classroom)). #### Klas versus groep Een klassieke valkuil: een klas en een groep door elkaar halen. Groepen zijn **altijd** onderverdelingen van een klas. Moet u leerlingen uit meerdere klassen samenbrengen (bijvoorbeeld de Latijnleerlingen van 4A, 4B en 4C die samen één les Latijn volgen), dan maakt u geen nieuwe klas aan: u gebruikt een [groepsuitlijning](#page-glossary.alignment) of een [groep van groepen](#page-glossary.groups-of-groups). #### Zie ook - [Groep](#page-glossary.group) - [Niveau](#page-glossary.level) - [Klasverdeling](#page-glossary.class-division) - [Groepsuitlijning](#page-glossary.alignment) - [Campus](#page-glossary.campus) - [Vestiging](#page-glossary.site) - [Klas, groep, subgroep](#page-core-concepts.classes-and-groups) ### Klasoverstijgende cursus *Source: `help/nl/glossary/transverse-course.md` · id: glossary.transverse-course · Updated: 2026-06-21* *Also known as : klasoverstijgende cursussen · gedeelde cursus · gemeenschappelijke cursus · transversale cursus · opleidingsoverstijgende cursus · klasoverstijgend onderwijs* Een **klasoverstijgende cursus** brengt studenten uit **meerdere klassen, opleidingstrajecten of jaargangen** samen rond één en dezelfde cursus — gemeenschappelijke basis, minoren, keuzevakken over trajecten heen, hoorcolleges voor meerdere jaargangen. In Omniscol modelleert u die meestal met een **[groep van groepen](#page-glossary.groups-of-groups)** (andere software spreekt van een “groepering”): u bundelt de betrokken groepen tot één enkele entiteit en plaatst de cursus daarop. Hij verschijnt dan in alle ouderklassen en blijft **achteraf aanpasbaar** — u voegt een groep toe of haalt er een weg zonder de structuur aan te raken. Dat is de aan te bevelen optie, zeker in het hoger onderwijs en in de kalendermodus. Voor een **eenmalige** behoefte, zonder een benoemde entiteit aan te maken, kunt u ook **meerdere groepen rechtstreeks aan de les toewijzen** via de groepskiezer van die les. Sneller, maar minder overzichtelijk en minder herbruikbaar. Wanneer de klassen **parallel en identiek van opbouw** zijn (hetzelfde aantal lesuren), vooral bij een wekelijks of cyclisch rooster, blijft de **[groepsuitlijning](#page-glossary.alignment)** zinvol: één enkele cursus die de groepen delen, hetzelfde tijdslot, dezelfde docent, hetzelfde lokaal — ten koste van een vaste samenstelling. #### Zie ook - [Groep van groepen](#page-glossary.groups-of-groups) - [Groepsuitlijning](#page-glossary.alignment) - [Groepsuitlijningen en groepen van groepen](#page-timetables.alignments-and-groups-of-groups) - [Groepen van groepen](#page-core-concepts.groups-of-groups) ### Klasverdeling *Source: `help/nl/glossary/class-division.md` · id: glossary.class-division · Updated: 2026-05-10* *Also known as : groepsverdeling · klassplitsing* Een **klasverdeling** bundelt meerdere [groepen](#page-glossary.group) uit **één en dezelfde klas** die **hetzelfde tijdslot moeten delen**. Concreet: omdat leerlingen niet te dupliceren zijn (dezelfde leerling kan niet op twee plaatsen tegelijk zijn), moet de roostergeneratie weten dat uw halve groepen Practicum A en Practicum B samen een klasverdeling vormen wanneer zij gelijktijdig twee verschillende practica moeten doen. Het algoritme kan dan: - beide practica op hetzelfde tijdslot plaatsen, - met twee verschillende lokalen, - met twee verschillende docenten, - zonder een conflictwaarschuwing te geven. #### Wanneer u een klasverdeling aanmaakt Telkens wanneer er op hetzelfde tijdslot verschillende lessen moeten plaatsvinden voor disjuncte deelverzamelingen van een klas: - halve groepen bij practica (Practicum A tegenover Practicum B, halve klas wiskunde tegenover Nederlands enzovoort), - talengroepen (Spaans tegenover Duits als tweede moderne vreemde taal), - elkaar uitsluitende keuzevakken (Latijn tegenover Grieks), - halve groepen bij informatica (omdat er maar 15 werkplekken in het computerlokaal zijn). Het geldigheidscriterium: **geen enkele leerling mag tot twee groepen van dezelfde klasverdeling behoren**. Anders hebt u te maken met een groepsuitlijning in plaats van met een klasverdeling (wat sowieso niet mogelijk is als de groepen tot dezelfde klas behoren). #### Hoe u een klasverdeling aanmaakt Selecteer op de [groepenpagina van een klas](#page-core-concepts.classes-and-groups) de betrokken groepen en klik op Een klasverdeling toevoegen. In één klas kunnen meerdere klasverdelingen naast elkaar bestaan (één voor de practica bij de bètavakken, één voor de talen, één voor de keuzevakken filosofie). #### Verschil met een groepsuitlijning Een **klasverdeling** = groepen uit **één enkele klas** die op hetzelfde tijdslot moeten vallen. Een [**groepsuitlijning**](#page-glossary.alignment) = groepen uit **verschillende klassen** die op hetzelfde tijdslot moeten vallen, **met dezelfde docent en hetzelfde lokaal**. #### Zie ook - [Groep](#page-glossary.group) - [Groepsuitlijning](#page-glossary.alignment) - [Volledige pagina over klasverdelingen](#page-core-concepts.class-divisions) ### Leerling / Student / Cursist *Source: `help/nl/glossary/student.md` · id: glossary.student · Updated: 2026-05-14* *Also known as : lerende · deelnemer* Een **leerling** is in Omniscol een persoon die is ingeschreven in een [klas](#page-glossary.class), lessen volgt en eventueel lid is van een of meer [groepen](#page-glossary.group) binnen die klas. **Leerling** is de canonieke term van de interface; afhankelijk van de context van de instelling verandert het gangbare woordgebruik: - **Basis- / voortgezet onderwijs** — “leerling”, - **Hoger onderwijs** — “student”, - **Bij- en nascholing** — “lerende”, “deelnemer”, “cursist”. Ze verwijzen allemaal naar dezelfde entiteit in Omniscol. #### Leerlingen zijn **optioneel** Belangrijk punt: Omniscol werkt uitstekend **zonder dat er ook maar één leerling is ingevoerd**. De roosters, de beschikbaarheid van de docenten, de roostergeneratie en de statistieken van het dashboard werken op het niveau van klas / groep / docent. Wat het oplevert om leerlingen afzonderlijk in te voeren: - **Gepersonaliseerde roosters** — elke leerling ziet na het inloggen het eigen rooster, gefilterd op de eigen klas en groepen. - **Gedetailleerde statistieken** — dashboard per leerling (lesuren, aanwezigheidsdagen). - **Afwezigheden** — een leerling kan de eigen afwezigheden melden (met administratieve goedkeuring). - **Doublerende leerlingen en leerlingen buiten het curriculum** — beheer van leerlingen die lessen van een andere klas dan hun eigen klas moeten volgen. Hebt u die functies niet nodig, voer de leerlingen dan niet in — u mist niets wezenlijks. #### Plaatsing in een klas en in groepen De plaatsing van een leerling in de eigen klas en groepen gebeurt in Leerlingen, nadat het eerste rooster van het jaar is gepubliceerd. U kunt leerlingen ook massaal toewijzen met de actie Toewijzen aan een klas op een meervoudige selectie. #### Doubleren en trajecten buiten het curriculum Een leerling kan in meerdere klassen worden geplaatst (bijvoorbeeld een derdejaars die daarnaast een module van het tweede jaar moet volgen) of slechts in bepaalde groepen van een klas (iemand die alleen één vak overdoet). Deze gevallen behandelt u via de selectie van meerdere klassen en groepen op het plaatsingsscherm. #### Zie ook - [Klas](#page-glossary.class) - [Groep](#page-glossary.group) - [Leerlingen beheren](#page-admin.students) ### Les / Lesmoment *Source: `help/nl/glossary/lesson.md` · id: glossary.lesson · Updated: 2026-06-13* *Also known as : tijdslot · onderwijsactiviteit · sessie* Een **les** (of *les van een cursus*) is de geplande eenheid die op het raster van een rooster wordt gezet: het is de les die u plaatst, verplaatst, vergrendelt, wijzigt, annuleert of vervangt. Een les draagt: - een **klas** of een [groep](#page-glossary.group) (de doelgroep), - een **vak** ([vak](#page-glossary.subject)), - een of meer **docenten** ([co-teaching](#page-glossary.co-teaching)), - een of meer **lokalen** (zie [meerdere lokalen](#page-glossary.multi-room)), - een of meer **resources** (mobiele beamer, tabletkoffer…), - een **duur** (doorgaans 1 of 2 tijdseenheden van het tijdrooster van de vestiging), - eventueel een **type** (hoorcollege, werkcollege, practicum, examen enz., vastgelegd in Aanmaken), - eventueel een **memo** (vrije opmerking, met publicatiebeperking: alleen beheerders, beheerders + docenten, of iedereen). #### Les of cursus? De interface van Omniscol zegt “les” voor de eenheid die op het raster staat. De **[cursus](#page-glossary.course)** blijft het juiste woord voor het onderwijs zelf — het vak dat aan een klas wordt gegeven, met zijn volume en zijn eigenschappen: men spreekt van de cursus Engels en van de lesuren en lesdagen die eraan worden besteed, en eenzelfde cursus leidt tot een of meer lessen in het rooster. Het label Type les en het begrip [complexe lessen](#page-core-concepts.complex-lessons) dragen weliswaar het woord “les”, maar horen thuis op het niveau van de cursus. #### Woordgebruik per context - **Les** — de term van de interface voor de geplande eenheid, ongeacht het soort instelling. - **Lesmoment** — gangbaar synoniem in het basis- en voortgezet onderwijs. - **Onderwijsactiviteit** — gebruikelijke term in het hoger onderwijs: de docent verzorgt een onderwijsactiviteit (woordgebruik dat ook de connectoren Auriga en Aurion aanhouden). - **Tijdslot** — duidt eerder de plaats in de tijd op het raster aan dan de les die dat tijdslot bezet. - Een les die door een **docent op uurbasis** wordt gegeven (een contract per opdracht, tegenover een vaste docent) valt daarmee niet onder een ander lestype; alleen de docent verschilt. #### Eenvoudige lessen, complexe lessen Een eenvoudige les = één doelgroep, één docent, één lokaal, op één tijdslot. **Complexe lessen** verbinden meerdere lessen met elkaar: - **[Aaneengeschakeld](#page-glossary.concatenated-lessons)** — twee lessen die op elkaar volgen (een practicum van 2 uur = een practicum van 1 uur aaneengeschakeld met nog een practicum van 1 uur). - **[Gekoppeld](#page-glossary.associated-lessons)** — afwisseling van groepen over twee opeenvolgende lessen (groep A eerst biologie, dan natuurkunde; groep B eerst natuurkunde, dan biologie). - **[Afwisselend](#page-glossary.alternate-lessons)** — lessen die maar om de week terugkeren (week A tegenover week B), om de drie weken, enzovoort. In te stellen in Opslaan. #### Lessen en klassen buiten het tijdrooster Standaard sluiten de lessen aan op de tijdsloten van het tijdrooster van de vestiging. Maar Omniscol kan ook overweg met lessen die daar niet in passen (een examen van 2 uur dat om 10.20 uur begint op een tijdrooster met een tijdstap van 50 minuten). Zie [lessen en klassen buiten rooster](#page-timetables.off-grid-lessons). #### Zie ook - [Cursus](#page-glossary.course) - [Lestype (hoorcollege, werkcollege, practicum…)](#page-glossary.lesson-type) - [Status van een les](#page-glossary.lesson-status) - [Modaliteit van een les](#page-glossary.lesson-modality) - [Vak](#page-glossary.subject) - [Complexe lessen](#page-core-concepts.complex-lessons) - [Meerdere lokalen](#page-glossary.multi-room) ### Lestype *Source: `help/nl/glossary/lesson-type.md` · id: glossary.lesson-type · Updated: 2026-05-10* *Also known as : type les · onderwijsvorm · hoorcollege · werkcollege · practicum · examen* Een **lestype** duidt de onderwijsvorm van een les aan. Canonieke voorbeelden: - **Hoorcollege** — onderwijs voor het hele cohort, - **Werkcollege** — begeleid werk in kleine groepen, - **Practicum** — praktisch werk in het laboratorium, - **Examen** — beoordeelde toets, - **Gastcollege** — externe gastspreker, - **Workshop**, **Seminar**, **Forum**, **Scriptieverdediging**… De lestypes worden op schoolniveau vastgelegd in Aanmaken. U kunt er zoveel aanmaken als uw onderwijskundige nomenclatuur vereist (instellingen voor hoger onderwijs hebben soms 25-30 types). #### Koppeling vak + type Een lestype wordt aan een cursus toegekend, naast het bijbehorende [vak](#page-glossary.subject). Het paar `(vak, type)` wordt als een zelfstandige identificatiesleutel behandeld: in de statistieken of de filters verschijnen bijvoorbeeld de “cursus wiskunde” en het “werkcollege wiskunde” apart. Wilt u beide tegelijk opvragen (zonder onderscheid naar type), gebruik dan een open filter dat het type niet vermeldt. #### Filteren en weergave - **Filter in de module Rooster** — selectie van een type om alleen de practica te zien, of alleen de hoorcolleges. - **Statistieken** — telling van de uren werkcollege versus practicum versus hoorcollege, per klas of per docent. - **Weergave** — kleur of visuele markering per type op het raster, afhankelijk van de weergave-instellingen. #### Zie ook - [Cursus](#page-glossary.course) - [Vak](#page-glossary.subject) - [Les / Lesmoment](#page-glossary.lesson) - [De lestypes configureren](#page-admin.lesson-types) ### Lokaal *Source: `help/nl/glossary/classroom.md` · id: glossary.classroom · Updated: 2026-06-13* *Also known as : lokalen · leslokaal · auditorium · room · vast lokaal* Een **lokaal** in Omniscol is een fysiek vertrek waarin een les kan plaatsvinden. Elk lokaal hoort bij een [vestiging](#page-glossary.site). Een lokaal heeft: - een **naam** (“A102”, “Auditorium Newton”, “Scheikundelab 3”), - een **capaciteit** (aantal leerlingen dat er terechtkan; een cruciaal veld voor de roostergeneratie), - eventueel een Maximumaantal klassen wanneer het om een **[groot lokaal](#page-glossary.large-room)** gaat dat plaats biedt aan meerdere lessen tegelijk (examenlokaal, theater, sportzaal, zwembad, buitenterrein), - eventueel een **[specialisatie](#page-glossary.classroom-specialization)** (scheikunde, informatica, sport, multimedia enzovoort — één enkel label per lokaal), - eventueel vrije **tags** of opmerkingen (flip-over, vaste beamer, stopcontacten voor leerlingen enzovoort), - eventueel een **gebouw**, - **openingstijden** (nuttig voor lokalen die met een andere school worden gedeeld, of voor lokalen die maar op bepaalde dagen open zijn). #### Toewijzing aan lessen Een les kan één of [meerdere lokalen](#page-glossary.multi-room) hebben. Wanneer u handmatig een lokaal toewijst, doet Omniscol het volgende: - het **filtert vooraf** de ongeschikte lokalen (verkeerde specialisatie, te kleine capaciteit, niet beschikbaar, verkeerde vestiging) door ze halftransparant weer te geven, - het **sorteert** de bruikbare lokalen op geschiktheid (sterren: optimale bezetting enzovoort), - het laat u een inconsistente toewijzing forceren, maar geeft een waarschuwing. #### Capaciteit en dimensionering De capaciteit is een cruciaal veld. Vul bij twijfel een hoog getal in als u zeker weet dat het lokaal groot genoeg zal zijn. Zet u de capaciteit te laag, dan wijst de roostergeneratie geldige configuraties af of geeft ze waarschuwingen. #### Groot lokaal: meerdere gelijktijdige lessen Het veld **Maximumaantal klassen** maakt van een lokaal een **[groot lokaal](#page-glossary.large-room)**: het kan dan plaats bieden aan meerdere verschillende lessen op hetzelfde moment (met verschillende docenten en groepen), binnen de grens van dat aantal en van de totale capaciteit — typisch een examenlokaal, een theater, een sportzaal, een zwembad of een buitenterrein. Deze instelling verschijnt alleen op een lokaal met een **[specialisatie](#page-glossary.classroom-specialization)**. Blijft het veld leeg, dan kan er maar één les tegelijk in het lokaal plaatsvinden. #### Specialisatie De **specialisatie** (scheikunde, informatica, sport, multimedia, toetslokaal…) is een vrij label, uniek per lokaal. U gebruikt het vervolgens om bij de toewijzing van een vak aan een klas aan te geven dat een lokaal met exact dit label vereist is. De roostergeneratie houdt zich strikt aan die beperking. #### Vast lokaal voor een klas In het basis- en middelbaar onderwijs is aan elke klas vaak een vast lokaal gekoppeld (de lessen vinden daar standaard plaats, alleen de docenten verplaatsen zich). U kunt dit op de klas instellen (zie [klassen aanmaken](#page-timetables.creating-classes)). #### Lokalen in twee virtuele vestigingen Hebt u twee virtuele [vestigingen](#page-glossary.site) aangemaakt voor één en dezelfde fysieke plaats (typisch een onderbouw en een bovenbouw die de gebouwen delen), dan kan een lokaal maar bij één van beide vestigingen tegelijk horen. Om het zowel aan de kant van de onderbouw **als** aan die van de bovenbouw bruikbaar te maken, dupliceert u het in beide vestigingen en **vult u elkaar uitsluitende openingstijden in**. Omniscol maakt geen verschil tussen één lokaal dat door twee vestigingen wordt gedeeld en twee lokalen met dezelfde naam: het legt de twee vermeldingen dus niet automatisch naast elkaar, en het is aan u om een dubbele reservering van het echte fysieke lokaal te voorkomen. #### Zie ook - [Vestiging](#page-glossary.site) - [Campus](#page-glossary.campus) - [Lokaalspecialisatie](#page-glossary.classroom-specialization) - [Meerdere lokalen](#page-glossary.multi-room) - [Groot lokaal](#page-glossary.large-room) - [Resource](#page-glossary.resource) ### Lokaalspecialisatie *Source: `help/nl/glossary/classroom-specialization.md` · id: glossary.classroom-specialization · Updated: 2026-05-10* *Also known as : lokaaltype · gespecialiseerd lokaal · lokaal voor een bepaald vak* Een **lokaalspecialisatie** geeft aan dat een lokaal bestemd is voor een bepaald soort activiteit: scheikundelab, computerlokaal, sportzaal, multimedialokaal, toetslokaal, kunstatelier, muziekstudio enzovoort. Het is een **vrij** veld — u maakt de specialisaties aan die u nodig hebt, met uw eigen naamgeving. Geen gesloten lijst opgelegd door Omniscol. #### Gedrag van de roostergeneratie Wanneer een vak een specialisatie vereist, wijst de roostergeneratie **alleen** de lokalen toe die deze specialisatie dragen. Een practicumlokaal voor scheikunde wordt nooit gebruikt voor een les literatuur als u op het practicumvak “scheikunde” hebt vereist. Het forceren van een inconsistente toewijzing (een les scheikunde handmatig een lokaal geven dat de specialisatie scheikunde niet heeft) **blokkeert niet**, maar geeft een waarschuwing. #### Een specialisatie opschonen of verwijderen Een specialisatie bestaat zolang hij door ten minste één lokaal wordt gebruikt. Om hem te verwijderen, haalt u hem weg bij alle lokalen die hem dragen — bij de volgende opslag verdwijnt hij uit de referentielijst. Om hem te **hernoemen**, maakt u de nieuwe specialisatie met de juiste naam aan, vervangt u hem op de lokalen, en de oude verdwijnt automatisch (mits er nergens meer naar hem wordt verwezen, ook niet aan de kant van de vakken). #### Zie ook - [Lokaal](#page-glossary.classroom) - [Vak](#page-glossary.subject) - [Lokaalspecialisaties](#page-core-concepts.classroom-specializations) ### Meerdere lokalen (één les in verschillende lokalen) *Source: `help/nl/glossary/multi-room.md` · id: glossary.multi-room · Updated: 2026-06-13* *Also known as : meervoudige lokalen · lokaalsplitsing · splitsing over lokalen · les in meerdere lokalen* Met Omniscol kunt u **meerdere lokalen** aan dezelfde les toewijzen. Deze functie is beschikbaar **op alle roostertypen**: [wekelijks](#page-glossary.weekly-timetable), [cyclisch](#page-glossary.cyclic-timetable) en [kalender](#page-glossary.calendar-mode). #### Typische toepassingen - **Examens verdeeld over collegezalen** — een examen met 200 kandidaten verdeeld over drie collegezalen (capaciteit 70 + 60 + 80) met één verantwoordelijke docent. De capaciteit wordt berekend als de som van de toegewezen lokalen. - **Uitgezonden hoorcollege** — een hoorcollege in de hoofdcollegezaal, per videoconferentie doorgegeven naar een satellietlokaal (bijvoorbeeld op een andere vestiging, of zelfs naar een jaargroep die volledig op afstand volgt). - **Practica in twee lokalen zonder de groep te splitsen** — wanneer een practicum met 30 studenten in geen enkel afzonderlijk computerlokaal past, maar wel tegelijk in twee naburige lokalen (15 + 15) door dezelfde docent kan worden begeleid. #### Totale capaciteit = de som van de lokalen Wijst u meerdere lokalen aan een les toe, dan telt Omniscol hun capaciteiten bij elkaar op om te controleren of de groep erin past. Zolang de som volstaat, volgt er geen valse waarschuwing meer over overschrijding van de capaciteit. > **Tip.** Ziet u waarschuwingen over overschrijding van de capaciteit > verdwijnen nadat u een tweede lokaal hebt toegevoegd, dan is dat precies > het verwachte gedrag: de som dekt nu het aantal deelnemers. #### Beperking om rekening mee te houden Blijft de som van de capaciteiten **kleiner** dan de groep, dan meldt Omniscol nog altijd een conflict — het is aan de beheerder om te beslissen hoe dat wordt opgelost (door een lokaal toe te voegen, door de groep te verkleinen, of door het conflict te aanvaarden als het een bewuste keuze is, bijvoorbeeld wanneer u weet dat niet alle ingeschrevenen zullen komen). #### Zie ook - [Lokaal](#page-glossary.classroom) - [Examens in meerdere lokalen in het hoger onderwijs](#page-higher-ed.multi-room-exams) - [Vestiging](#page-glossary.site) ### Modaliteit van een les *Source: `help/nl/glossary/lesson-modality.md` · id: glossary.lesson-modality · Plan: premium · Updated: 2026-06-25* > **Premium** *Also known as : fysiek onderwijs · les op afstand · afstandsonderwijs · hybride · zelfstudie · videoconferentie* > _Premium_ Op **Premium**-accounts geeft de **Modaliteit** aan **hoe** een [les](#page-glossary.lesson) verloopt. U kiest die in de keuzelijst met lokalen Een lokaal toewijzen, naast de toewijzing. Vier waarden, elk met een eigen pictogram op de les: - **Fysiek** — de les vindt plaats in een [lokaal](#page-glossary.classroom) (het standaardgeval). - **Op afstand** — de les wordt op afstand gegeven (pictogram [video]); er is geen lokaal nodig. - **Hybride** — de les vindt plaats in een lokaal **en** wordt tegelijk op afstand uitgezonden (bijvoorbeeld een hoorcollege dat via videoconferentie wordt gestreamd): zij bezet dus een lokaal en heeft een link nodig. - **Zelfstudie** — werk dat zelfstandig wordt uitgevoerd, zonder dat er een lokaal nodig is. Dit komt overeen met de vergrendeling op het ontbreken van een lokaal (die de waarschuwing uitschakelt wanneer aan de les geen lokaal is toegewezen). #### Effect op het lokaal en de roostergeneratie De modaliteit heeft een concreet effect op de planning: een les in de modaliteit **Op afstand** of **Zelfstudie** **vraagt geen lokaal**. De [roostergeneratie](#page-glossary.solver) reserveert er geen lokaal voor, en de automatische lokaaltoewijzing slaat de les over. Lessen in de modaliteit **Fysiek** en **Hybride** vragen daarentegen wel een lokaal. #### Videoconferentielink Voor lessen op afstand of hybride lessen kunt u in dezelfde keuzelijst met lokalen een **videoconferentielink** invullen. Zo'n link kan ook standaard op de klas worden ingesteld en geldt dan voor haar lessen. Ontbreekt de link, dan verschijnt er een waarschuwing. #### Statistieken per modaliteit De [diagnose](#page-glossary.diagnostic) biedt een verdelingstabel **per modaliteit**: die telt op hoeveel onderwijstijd fysiek, op afstand, hybride en in zelfstudie wordt verzorgd. Dat is nuttig om bijvoorbeeld het aandeel afstandsonderwijs van een opleiding te meten. Is de modaliteit niet uitdrukkelijk ingevuld, dan **leidt** Omniscol haar af uit de aanwezige elementen: een lokaal **en** een videoconferentielink geven een hybride les; een lokaal alleen, fysiek onderwijs; een videoconferentielink alleen, onderwijs op afstand; een les uitdrukkelijk zonder lokaal, zelfstudie. Een uitdrukkelijke keuze krijgt altijd voorrang op die afleiding. #### Zie ook - [Een les bewerken](#page-timetables.lesson-edit) - [Status](#page-glossary.lesson-status) - [Les / Lesmoment](#page-glossary.lesson) - [Lokaal](#page-glossary.classroom) ### Niveau *Source: `help/nl/glossary/level.md` · id: glossary.level · Updated: 2026-06-21* *Also known as : klasniveau · leerjaar* Een **niveau** deelt de [klassen](#page-glossary.class) in naar hun **onderwijskundige voortgang**: 1 vwo, 2 vwo, 3 vwo in het voortgezet onderwijs; bachelor jaar 1, 2 en 3 in het hoger onderwijs; of bachelor, master, leerjaar 1, leerjaar 2… afhankelijk van de instelling. Het is een **ordenend label**, geen plaatsingsbeperking: het niveau legt niets op aan de roostergeneratie. Het dient om klassen te **ordenen en terug te vinden** — in de klasschermen, in verschillende filters en in bepaalde diagnoseweergaven. #### Waar u niveaus instelt Niveaus horen bij de **algemene** instellingen van het account. Vanuit de [algemene instellingen](#page-admin.parameters), onder **Niveaus**, maakt u ze aan via Aanmaken, verwijdert u ze en **versleept u ze om de volgorde te wijzigen** — die volgorde geeft de voortgang weer. Elke klas krijgt vervolgens bij het aanmaken een niveau toegewezen (zie [Klassen aanmaken](#page-timetables.creating-classes)). #### Niveau, campus en vestiging Drie verwante begrippen die u niet moet verwarren: - het **niveau** geeft de positie van de klas in de **voortgang** aan (waar de klas in het opleidingstraject staat); - de [campus](#page-glossary.campus) koppelt haar aan een **organisatorische eenheid** (faculteit, afdeling, scholengroep); - de [vestiging](#page-glossary.site) geeft haar **fysieke plaats** en de lokalen die standaard worden gebruikt. Eén en dezelfde klas draagt doorgaans alle drie: een niveau, eventueel een campus en een standaardvestiging. #### Zie ook - [Klas](#page-glossary.class) - [Campus](#page-glossary.campus) - [Vestiging](#page-glossary.site) - [Klassen en hun groepen aanmaken](#page-timetables.creating-classes) - [Algemene instellingen](#page-admin.parameters) ### Personeelsinzet *Source: `help/nl/glossary/staffing.md` · id: glossary.staffing · Options: staffing · SKU: omniscol/staffing-only · Updated: 2026-06-13* > **Option: Personeelsinzet** *Also known as : begeleiding · surveillancerooster · inzetrooster · toezichtrooster* De module **Personeelsinzet** plant het **personeel per taak** in plaats van per les. Oorspronkelijk is de module ontworpen voor toezicht en begeleiding: teams van begeleiders, leerlingcoördinatoren, toezichthouders en vergelijkbare medewerkers die in de loop van de dag het schoolplein, de receptie, de gangen, de mediatheek, de kantine, sportuitjes, de studiezaal enzovoort voor hun rekening nemen. De module beheert daarnaast: - de **surveillance bij examens** (toetsweken, eindexamens, toelatingsexamens), - de **eenmalige begeleidingstaken** (excursies, schoolreizen, rapportvergaderingen), - de **actieve onderwijsvormen** (montessorionderwijs) waarbij docenten per activiteit worden ingepland in plaats van per les. #### Gegevensmodel - **Taken** = in te vullen behoeften, bepaald door plaats + tijdslot + aantal personen + eventuele lijst van toegestaan personeel. - **Inzetrooster** = het geheel van de taken over een datumbereik, doorgaans met een granulariteit van een kwartier. - **Toewijzing** = een personeelslid aan een cel van het inzetrooster koppelen. - **Dienstrooster** = overzicht van de taken per persoon. #### Onafhankelijk van de lessen Personeelsinzet kan worden gebruikt: - als **aanvulling** op de onderwijsroosters (de taken van de begeleiders komen in hetzelfde account naast de lessen); - als **zelfstandig aanbod**, zonder beheer van onderwijsroosters. #### Rol Personeel De rol **Personeel** is bedoeld voor het team voor toezicht en begeleiding (leerlingcoördinatoren, begeleiders, toezichthouders, conciërges): toegang tot Personeelsinzet, tot de eigen afwezigheden en tot het persoonlijke rooster; geen toegang tot de algemene configuratie. De rol kan worden gecombineerd met de rol Docent wanneer dezelfde persoon zowel lesgeeft als in Personeelsinzet wordt ingepland. Zie [Gebruikers en rollen](#page-admin.users-and-roles). #### Zie ook - [Overzicht van de module Personeelsinzet](#page-staffing.overview) - [Een inzetrooster opbouwen](#page-staffing.building-grids) - [De te dekken taken definiëren](#page-staffing.assignments) - [Het personeel toewijzen](#page-staffing.planner) - [Dienstroosters](#page-staffing.roster) ### Planningsdomein *Source: `help/nl/glossary/planning-domain.md` · id: glossary.planning-domain · Plan: premium · Options: customroles · Updated: 2026-08-07* > **Premium · Option: Aangepaste rollen** *Also known as : planningsbereik* Een **planningsdomein** geeft een beheerder een **bereik** — de gegevens die deze persoon beheert — en **rechten** — de handelingen die daarbinnen mogelijk zijn. Op een account dat meerdere [campussen](#page-glossary.campus), opleidingen of instellingen in één [rooster](#page-glossary.timetable) samenbrengt, werkt elke roostermaker zo op het eigen deel. Zolang een beheerder geen enkel domein heeft, behoudt deze de volledige toegang tot het account. #### Het bereik Het bereik wordt beschreven in dimensies, van de breedste tot de fijnste: enerzijds de campussen en de [vakken](#page-glossary.subject), anderzijds het rooster, met zijn [vestigingen](#page-glossary.site) en hun [lokalen](#page-glossary.classroom), zijn [klassen](#page-glossary.class) en hun [groepen](#page-glossary.group). Elke dimensie wordt beperkt door een criterium — exacte waarde, voorvoegsel, voorkomende waarde, numerieke drempel — en een [les](#page-glossary.lesson) valt binnen het bereik zodra ze aan alle beperkte dimensies voldoet. #### De rechten De rechten zeggen wat de roostermaker met het eigen bereik doet: de entiteiten en de lessen aanmaken, wijzigen of verwijderen, en bij fijnere wijzigingen de positie in het rooster, de docent, het lokaal, de modaliteit, de videoconferentielink, de status, de duur, het commentaar en de roostergeneratie. Het principe werkt aftrekkend: alles is toegekend, u vinkt uit wat het domein verbiedt. Het lezen blijft altijd open: een domein bakent af wat er wordt geschreven, nooit wat er wordt gezien. #### Domein of aangepaste rol Een [aangepaste rol](#page-admin.customroles) bepaalt **welke handelingen** een beheerder uitvoert — welke modules, en of dat inzien, wijzigen of verwijderen is. Een domein bepaalt **op welke gegevens** dat gebeurt. Beide kent u aan dezelfde persoon toe en ze vullen elkaar aan. #### Meerdere domeinen Een beheerder kan meerdere domeinen krijgen, elk met een eigen bereik en eigen rechten. Ze tellen op zonder in elkaar op te gaan: een handeling is toegestaan zodra één domein ze dekt. #### Zie ook - [Domeinen](#page-admin.planning-domains) - [Aangepaste rollen](#page-admin.customroles) - [Campus](#page-glossary.campus) - [Vestiging](#page-glossary.site) ### Publicatie / Activering van een rooster *Source: `help/nl/glossary/publication.md` · id: glossary.publication · Updated: 2026-06-13* *Also known as : ingebruikname · een rooster activeren · actieve weken* Een rooster **publiceren** (of *activeren*) betekent dat u het **zichtbaar** maakt in de module Rooster die iedereen raadpleegt, op de **weken van het schooljaar** die u zelf kiest. Een gegenereerd rooster wordt **niet automatisch gepubliceerd**. Zolang het niet gepubliceerd is, blijft het een concept: alleen zichtbaar in de module Roosterbeheer, en alleen voor de beheerders. #### Hoe u publiceert Op de startpagina van de module Roosterbeheer: 1. Selecteer het betreffende schooljaar. 2. Klik op Periode toevoegen (Roosterverdeling). 3. Kies in het raster dat verschijnt de weken van elk rooster. 4. Sla op. #### Eén publicatie per week (standaardaccount) Met een standaardaccount is **één publicatie** per week toegestaan. Wilt u twee verschillende roosters publiceren, dan moeten die betrekking hebben op weekreeksen die elkaar niet overlappen. #### Gelijktijdige publicaties Met Premium — of, bij uitzondering, op een standaardaccount met een contractueel afgebakende activering — kunnen meerdere roosters over dezelfde weken worden gepubliceerd en bij raadpleging worden samengevoegd. Dit geval wordt uitgewerkt in [Meerdere actieve roosters naast elkaar](#page-timetables.multiple-active-timetables) en op de volledige pagina over publicatie. #### Kalenderrooster: binaire publicatie Een rooster in de [kalendermodus](#page-glossary.calendar-mode) publiceert u niet per weekreeks (de lessen zijn al afzonderlijk gedateerd): de publicatie is binair — het rooster is gepubliceerd, of het is dat niet. #### Zie ook - [Rooster](#page-glossary.timetable) - [Schooljaar](#page-glossary.school-year) - [Een rooster publiceren — volledige pagina](#page-timetables.publication) - [Meerdere actieve roosters naast elkaar](#page-timetables.multiple-active-timetables) ### Resource *Source: `help/nl/glossary/resource.md` · id: glossary.resource · Updated: 2026-05-10* *Also known as : mobiel materiaal · beamer · koffer · kit* Een **resource** in Omniscol is **mobiel** materiaal dat niet aan een bepaald lokaal is gekoppeld. Elke resource heeft een **naam** en een **beschikbare hoeveelheid**. Voorbeelden: drie draagbare beamers, een koffer met 30 tablets (de koffer telt voor 1, niet voor 30 — u vult het aantal koffers in, niet het aantal tablets), een microfoonset, een set EHBO-poppen. #### Hoe het wordt gebruikt Bij het instellen van een cursus geeft u aan welke resources daarvoor nodig zijn. De roostergeneratie garandeert dat **gelijktijdige lessen nooit meer resources vragen dan er zijn**: hebt u 3 draagbare beamers, dan kunnen nooit meer dan 3 gelijktijdige lessen er elk één vragen. #### Verschil met lokalen Een [lokaal](#page-glossary.classroom) hoort bij een [vestiging](#page-glossary.site) en verlaat die niet. Een resource hoort bij geen enkel lokaal (maar wel bij een vestiging, waardoor u een koffer van vestiging A niet kunt gebruiken voor een les op vestiging B). #### Typische gevallen waarin geen resource wordt gebruikt Voor veel cursussen is helemaal geen resource opgegeven — dat is de standaard. Geef alleen een resource op als die **een echte beperking** vormt: hebt u 30 draagbare beamers en maximaal 4 gelijktijdige lessen, dan hoeft u dat niet te modelleren; hebt u er 3 en vragen meerdere lessen erom, dan wilt u dat de roostergeneratie hierover beslist. #### Zie ook - [Vestiging](#page-glossary.site) - [Lokaal](#page-glossary.classroom) ### Rooster *Source: `help/nl/glossary/timetable.md` · id: glossary.timetable · Updated: 2026-06-13* *Also known as : roosters · schoolrooster · roosterindeling · agenda van de lessen* Een **rooster** in Omniscol staat voor de volledige organisatie van de lessen van een school over een periode. Het is het centrale object van de software. Een rooster brengt het volgende samen: - [klassen](#page-glossary.class) met hun [groepen](#page-glossary.group) en hun [klasverdelingen](#page-glossary.class-division), - toegewezen [docenten](#page-glossary.teacher), - [vestigingen](#page-glossary.site) met hun tijdroosters, lokalen en resources, - beperkingen (beschikbaarheid, incompatibiliteiten, groepsuitlijningen), - [lessen](#page-glossary.lesson) (geplaatst of niet). #### Drie roostermodi Bij het aanmaken van een rooster kiest u de modus ervan: - **[Wekelijks](#page-glossary.weekly-timetable)** — de lessen volgen een terugkerende standaardweek. Typisch voor het basisonderwijs en het voortgezet onderwijs. - **[Cyclisch](#page-glossary.cyclic-timetable)** — de lessen keren terug over een willekeurig aantal dagen (5, 6, 7… afhankelijk van uw cyclus). Typisch voor Noord-Amerikaanse systemen. - **[Kalender](#page-glossary.calendar-mode)** — de lessen worden afzonderlijk gedateerd, zoals in een agenda. Typisch voor het hoger onderwijs (hogescholen, permanente educatie). #### Meerdere roosters per school U kunt meerdere roosters naast elkaar hebben in hetzelfde account: - niet-gepubliceerde **concepten**, - roosters voor verschillende **periodes** (semester 1 tegenover semester 2, de voorbereiding van het nieuwe schooljaar tegenover het lopende rooster), - met Premium (of, bij uitzondering, op een Standard-account met een contractueel afgebakende activering) roosters die **gelijktijdig actief** zijn over dezelfde weken (bijvoorbeeld een terugkerend ochtendrooster + een middagrooster in de kalendermodus) — zie [Meerdere actieve roosters naast elkaar](#page-timetables.multiple-active-timetables). #### Levenscyclus van een rooster ``` Aanmaken → Configuratie → (Automatische roostergeneratie?) → Weergave → Publicatie → Dagelijkse wijzigingen ``` - **Aanmaken** — keuze van de modus, naam, basisinstellingen. - **Configuratie** — vestigingen, lokalen, docenten, klassen, groepen, vakken, lessen. - **Roostergeneratie** — automatisch, door het algoritme voor roostergeneratie (beschikbaar in alle drie de modi: wekelijks, cyclisch, kalender), of handmatige plaatsing. - **Weergave** — controle vóór de publicatie. - **Publicatie** — het rooster wordt het actieve rooster op de gekozen weken van het schooljaar. Zichtbaar in de module *Rooster* voor alle gebruikers met de juiste rechten. - **Dagelijkse wijzigingen** — in de loop van het jaar (lessen verplaatsen, van lokaal wisselen, afwezigheden beheren) zonder opnieuw door de fase van de roostergeneratie te gaan. #### Zie ook - [Wekelijks, cyclisch of kalender](#page-overview.timetable-modes) - [Een rooster aanmaken](#page-timetables.overview) - [Een rooster publiceren](#page-timetables.publication) ### Roostergeneratie / Algoritme voor het automatisch genereren van roosters *Source: `help/nl/glossary/solver.md` · id: glossary.solver · Updated: 2026-06-13* *Also known as : algoritme voor roostergeneratie · automatische roostergeneratie* De **roostergeneratie** van Omniscol berekent automatisch de plaatsing van de lessen van een [weekrooster](#page-glossary.weekly-timetable), een [cyclisch rooster](#page-glossary.cyclic-timetable) of een [kalenderrooster](#page-glossary.calendar-mode). Ze plaatst de lessen die zijn aangemaakt maar nog niet geplaatst, kan al geplaatste lessen verplaatsen als dat het rooster verbetert, en laat vergrendelde lessen op hun plaats staan. #### Hoe het werkt Wanneer u een roostergeneratie start, zet Omniscol een eigen, geparallelliseerde rekenomgeving op. De school hoeft geen wachtrij te beheren; de initialisatie duurt vaak een tiental seconden voordat de eerste berekeningen zichtbaar worden. Het resultaat hangt af van de kwaliteit van de ingevoerde gegevens: vestigingen, lokalen, docenten, groepen, urenvolumes, beschikbaarheid en incompatibiliteiten. Hoe talrijker of tegenstrijdiger de beperkingen, hoe langer de roostergeneratie kan duren of hoe groter de kans op een gedeeltelijk resultaat. De motor is een optimalisatie-AI van het type **neurosymbolische Monte-Carlo-metaheuristiek**: ze combineert stochastisch zoeken, symbolische bedrijfsregels en het scoren van de beperkingen. Het belangrijkste punt is operationeel: het algoritme voor roostergeneratie is gemaakt voor gevallen met zeer veel beperkingen en meldt onmogelijke situaties in plaats van conflicten te verbergen. #### Harde beperkingen De roostergeneratie houdt zich strikt aan de beperkingen die het rooster ongeldig zouden maken: - een docent kan niet op twee plaatsen tegelijk zijn; - een klas kan niet twee lessen tegelijk volgen, behalve in de gevallen die zijn voorzien voor groepen in een klasverdeling; - beschikbaarheid en beperkingen op het niveau **niet beschikbaar** blokkeren de plaatsing; - een gewoon lokaal kan niet aan twee lessen tegelijk plaats bieden; - een groot lokaal kan alleen aan meerdere lessen tegelijk plaats bieden binnen de ingestelde grenzen voor capaciteit en aantal klassen; - gespecialiseerde lokalen, capaciteiten, materiële resources en verplaatsingen tussen vestigingen moeten verenigbaar blijven; - een vergrendelde les behoudt haar positie. #### Optimalisatiebeperkingen De zachte beperkingen dienen om de gevonden oplossingen te beoordelen en te verbeteren. Ze worden niet genegeerd: ze worden strafpunten die de roostergeneratie probeert terug te dringen. Veelvoorkomende voorbeelden: - **ongewenste** beschikbaarheid of beperkingen voor een docent, een lokaal, een vak, een groep of een klas; - pedagogische incompatibiliteiten tussen vakken, bijvoorbeeld vermijden dat een practicum vóór de bijbehorende theorieles valt, vermijden dat sport meteen na een zeer zware les komt, of de volgorde van een leerlijn opleggen; - vermijden dat een klas twee keer hetzelfde vak op dezelfde dag heeft; - een minimum of maximum aantal lesuren per dag of per week; - evenwicht tussen de dagen; - minder tussenuren in de roosters van de klassen en de docenten; - het aantal aanwezigheidsdagen van de docenten, volgens de gewoonten van de instelling of van het land. Het zoeken naar een geldige oplossing is de eerste stap. Het optimaliseren van de strafpunten kan daarna het langste deel van de berekening worden. #### Beschikbaarheid - **Weekroosters** — beschikbaar. - **Cyclische roosters** — beschikbaar. - **Kalenderroosters** — beschikbaar, met lessen op datum en een datumbereik. #### Wat te doen als de roostergeneratie mislukt Wordt er geen volledige oplossing gevonden, dan bewaart Omniscol het beste berekende rooster en laat het de lessen die niet te plaatsen zijn in de lijst met niet-geplaatste post-its staan. U kunt dan het gedeeltelijke rooster inspecteren, de diagnose lezen en de beperkingen corrigeren. Veelvoorkomende oorzaken: - te beperkende beschikbaarheid (een docent heeft geen enkel verenigbaar vrij tijdslot), - te weinig lokalen, of geen gespecialiseerd lokaal beschikbaar, - een inconsistente groepsuitlijning (verschillende urenvolumes tussen de uitgelijnde groepen), - te veel of te strikte incompatibiliteiten, - theoretisch aantal leerlingen van de klas > capaciteit van alle in aanmerking komende lokalen. Zie [Een mislukte roostergeneratie diagnosticeren](#page-timetables.diagnosing-generation). #### De plaatsing van een les afdwingen U kunt de positie van een les **vergrendelen** voordat u de roostergeneratie opnieuw start: het algoritme verplaatst die les dan niet meer, maar past de andere eromheen aan. Handig om “onwrikbare” lessen te verankeren (externe sprekers die contractueel vastliggen, examens met een vaste datum, enzovoort). #### Zie ook - [Wekelijks rooster](#page-glossary.weekly-timetable) - [Beschikbaarheid](#page-glossary.wishes) - [Diagnose en conflicten](#page-glossary.conflict) - [Automatische roostergeneratie](#page-timetables.generation) ### Schooljaar *Source: `help/nl/glossary/school-year.md` · id: glossary.school-year · Updated: 2026-05-10* *Also known as : academiejaar · academisch jaar · studiejaar* Een **schooljaar** in Omniscol is de referentieperiode waarover roosters worden gepubliceerd. Het is een entiteit die u op schoolniveau vastlegt in Schooljaren. #### Waarom het verplicht is U moet minstens **één** schooljaar hebben vastgelegd voordat u een rooster kunt publiceren. Het schooljaar geeft vorm aan de **tijdlijn** waarop u de roosters daarna voor specifieke periodes activeert. #### Naamgevingsconventies Voor een nette weergave noemt u uw jaren naar hun datums: “2025-2026” in plaats van “Lopend jaar”. Zo houdt u de voorgaande jaren als historie bij en bereidt u tegelijk het volgende jaar voor. #### Vakanties U kunt de vakanties van het schooljaar invoeren: - **door een tabel te kopiëren en te plakken** (uit Excel, Numbers enzovoort), - **door de vooraf ingevulde datums voor uw land automatisch te importeren** (dit wordt bij het aanmaken van het jaar voorgesteld als de database ze kent), - **door de periodes handmatig in te voeren**. Vakanties worden uit de tijdlijn gehaald — gepubliceerde roosters zijn er niet van toepassing. #### Verschuivingen in de afwisseling Werkt uw school met [afwisselende weken](#page-glossary.alternate-lessons) (A/B), dan kunnen de vakanties de afwisseling verstoren. Voor die gevallen kunt u een **virtuele verschuiving** aanmaken (klik op de betreffende weken in de tijdlijn). #### Meerdere jaren tegelijk U kunt op elk moment meerdere schooljaren vastgelegd hebben: het lopende jaar, het voorgaande jaar (historie) en het volgende in voorbereiding. Met de knop Volgend schooljaar (▶︎) op de tijdlijn schakelt u tussen jaren. Het **huidige jaar** stelt u in bij Huidig schooljaar. Dat bepaalt wat de gebruikers standaard te zien krijgen. #### Zie ook - [Afwisselende lessen / weken A/B](#page-glossary.alternate-lessons) - [Een schooljaar beheren](#page-admin.school-year) - [Het volgende schooljaar voorbereiden](#page-timetables.next-school-year) ### Status van een les *Source: `help/nl/glossary/lesson-status.md` · id: glossary.lesson-status · Plan: premium · Updated: 2026-06-25* > **Premium** *Also known as : lesstatus · gepland · concept · geannuleerde les · uitgevoerde les* > _Premium_ Op **Premium**-accounts geeft de **Status** aan waar een [les](#page-glossary.lesson) staat in de planningscyclus. U stelt de status les voor les in — via het pictogram Status — of **in bulk** vanuit de lijstweergave. Vier waarden: - **Gepland** — Standaardstatus voor ingeplande lessen. Dit is de toestand van een gewone les, geplaatst op het raster. - **Concept** — les in voorbereiding, **genegeerd door de automatische roostergeneratie** en door de **dashboards**. Handig om een les voor te bereiden zonder die al aan het rooster of aan de [roostergeneratie](#page-glossary.solver) op te leggen. - **Geannuleerd** — de les blijft **zichtbaar als geannuleerd** (voor de goede orde bewaard) maar wordt eveneens **genegeerd door de automatische roostergeneratie** en door de **dashboards**. - **Uitgevoerd** — de les wordt als **uitgevoerd** gemarkeerd en wordt als zodanig opgenomen in het **dashboard** van de docenten, voor de **facturering**. #### Weergave Wanneer deze lessen op het planningsraster worden getoond, zijn ze te herkennen aan hun weergave: - een les met de status **Concept** heeft een **oranje gestippelde rand** en blijft licht vervaagd; - een les met de status **Geannuleerd** is **doorgestreept** en sterk vervaagd — ze wordt weer leesbaar wanneer u de muisaanwijzer erover beweegt, zodat u ze voor de goede orde kunt bewaren zonder het raster te overladen. #### Effect op de roostergeneratie Lessen met de status **Concept** en **Geannuleerd** worden door de [roostergeneratie](#page-glossary.solver) terzijde gelegd: ze worden niet geplaatst en wegen niet mee in de conflicten (bezetting van de lokalen, botsingen van docenten, capaciteiten). Lessen met de status **Gepland** blijven de echte lessen die de roostergeneratie inplant. #### “Uitgevoerd”: alleen in de kalendermodus De status **Uitgevoerd** wordt alleen aangeboden op roosters van het type **[kalender](#page-glossary.calendar-mode)**: daar, op gedateerde lessen, heeft het zin om een les als daadwerkelijk gegeven te markeren. Hij levert dan de gegevens voor **het bijhouden van de uren die de docenten werkelijk hebben gegeven** (dashboard van de docenten) en voor hun **facturering**. Op een wekelijks of cyclisch rooster verschijnt deze status niet. #### Zie ook - [Een les bewerken](#page-timetables.lesson-edit) - [Modaliteit](#page-glossary.lesson-modality) - [Les / Lesmoment](#page-glossary.lesson) - [Kalendermodus](#page-glossary.calendar-mode) ### Tijdlijn *Source: `help/nl/glossary/timeline.md` · id: glossary.timeline · Updated: 2026-06-29* *Also known as : tijdbalk · balk met de weken · weekbalk · navigatiebalk* De **tijdlijn** is de horizontale balk boven aan elk scherm dat een rooster of statistieken toont. Daarmee **navigeert u door de tijd**: u kiest het schooljaar en de getoonde periode, en schakelt, afhankelijk van het scherm, tussen een week-, maand- of jaarweergave. Met de **pijlen naar links / rechts** gaat u een volledig schooljaar terug of vooruit. Het getoonde jaar (of de getoonde periode) staat voluit boven de tijdlijn. [Tijdlijn en navigatie in de tijd](#page-core-concepts.timeline-navigation) ### Tijdrooster *Source: `help/nl/glossary/timetable-grid.md` · id: glossary.timetable-grid · Plan: standard · Updated: 2026-08-24* *Also known as : lestijden · roostertijden · tijdsloten* Het **tijdrooster** is de tijdsindeling van een **vestiging**: de tijdsloten waarop de lessen worden geplaatst, met hun begin- en eindtijden, de pauzes en de sluitingen. Elke vestiging heeft haar eigen tijdrooster, en twee vestigingen van dezelfde instelling kunnen dus verschillende dagindelingen hebben. Het tijdrooster dient voor de weergave van de roosters, voor de controle van de beschikbaarheid en voor de roostergeneratie. Een klas kan zich eraan onttrekken: zie **buiten rooster**. ### Vak *Source: `help/nl/glossary/subject.md` · id: glossary.subject · Updated: 2026-05-10* *Also known as : discipline · onderwijseenheid · opleidingsonderdeel · UE · module* Een **vak** is de discipline die in een [cursus](#page-glossary.course) wordt onderwezen: wiskunde, natuurkunde, Engels, boekhoudrecht, machine learning, projectmethodologie… Het vak is de zuivere discipline; de cursus is dat vak toegepast op een bepaalde klas. Omniscol levert voor elk land een **catalogus met gemeenschappelijke vakken** (soms enkele honderden, soms enkele duizenden, afhankelijk van de officiële nomenclaturen), vooraf ingevuld op accountniveau. Ontbreekt er een vak, dan maakt u een **aangepast vak** aan in Aanmaken. #### Woordenschat in het hoger onderwijs De onderwijskundige nomenclaturen van het Franse hoger onderwijs gebruiken verschillende aggregatieniveaus: - **UE** (onderwijseenheid) — een geheel van cursussen of modules, - **EC** (samenstellend element) — een deeleenheid van een UE, - **ECUE** (samenstellend element van een UE) — nog fijner, - **module** — de algemene term in bij- en nascholing. Al deze niveaus komen neer op één Omniscol-entiteit: het “vak”. Moet u de onderwijskundige hiërarchie zelf weergeven (UE → EC → ECUE), doe dat dan via een naamgevingsconventie (bijvoorbeeld door de codes vooraan te zetten: `UE3-EC2-ECUE1 Lineaire algebra`) of via de [vakkenfamilies](#page-admin.subjects). #### Vak gekopieerd naar het rooster Wanneer u een vak in een rooster aan een klas toewijst, maakt Omniscol een **interne kopie** van het vak binnen de structuur van het rooster. Dat is een bewuste keuze: verwijdert of hernoemt u het vak later op schoolniveau, dan behouden de bestaande roosters hun historische versie. **Let daarom op de spelling** van de aangepaste vakken voordat u ze in roosters gebruikt — een correctie achteraf werkt niet door in de roosters die al zijn ingericht. #### Bijbehorend lestype Wanneer u een vak aan een klas toewijst, kunt u een **[lestype](#page-glossary.lesson-type)** opgeven (werkcollege, practicum, examen, hoorcollege…). Het paar `(vak, type)` vormt een zelfstandige identificatiesleutel: de “cursus wiskunde” en het “werkcollege wiskunde” zijn bijvoorbeeld twee onafhankelijke ingangen in de structuur van het rooster. #### Vereiste lokaalspecialisatie Een vak kan een **lokaalspecialisatie vereisen** (scheikunde → scheikundelab, sport → sportzaal). De roostergeneratie houdt zich strikt aan die beperking. Zie [lokaalspecialisatie](#page-glossary.classroom-specialization). #### Pedagogische weging U kunt aan een vak binnen een klas een **pedagogisch gewicht** toekennen: de roostergeneratie probeert het vak dan te spreiden over de dagen van de week in plaats van alles op te hopen. #### Zie ook - [Cursus](#page-glossary.course) - [Lestype](#page-glossary.lesson-type) - [Les / Lesmoment](#page-glossary.lesson) - [Vakken beheren](#page-admin.subjects) - [Lokaalspecialisatie](#page-glossary.classroom-specialization) ### Vakanties *Source: `help/nl/glossary/holidays.md` · id: glossary.holidays · Updated: 2026-06-26* *Also known as : vrije dagen · feestdagen · schoolvakanties* **Vakanties** zijn periodes waarin de instelling gesloten is, gekoppeld aan een [schooljaar](#page-glossary.school-year): schoolvakanties, brugdagen en feestdagen. Elke periode heeft een naam, een begindatum en een einddatum. Bij het aanmaken van een schooljaar kan Omniscol voorstellen de gemeenschappelijke vakanties van het ingestelde land te importeren, wanneer er voor de gekozen periode gegevens beschikbaar zijn. De lijst vult u daarna handmatig aan en past u verder aan. #### Effect op het rooster Het effect van een vakantieperiode hangt af van het type rooster: - **Terugkerend rooster (wekelijks of cyclisch)**: bij publicatie laten de vakanties de lessen van de betrokken dagen vervallen — de terugkerende lessen vinden op die dagen niet plaats en de statistieken houden daar rekening mee. - **Kalenderrooster**: een les kan op een vakantiedag worden geplaatst, maar dat levert een conflict op; de roostergeneratie behoudt zich dan het recht voor die les te verplaatsen als ze niet vergrendeld is. Vakanties beschrijven een **algemene** sluiting van de instelling. Om een periode voor een beperkter bereik te neutraliseren: - verwijdert een [afwezigheid van een klas](#page-absences.class-and-student-absences) die klas gedurende een bepaalde periode; - beperken in een kalenderrooster de [datumvensters](#page-glossary.date-windows) de periode waarin een bepaalde cursus actief is. #### Waar u ze instelt Vakanties beheert u per schooljaar, op het scherm [Schooljaren](#page-admin.school-year), één voor één of in tabelvorm. #### Zie ook - [Schooljaar](#page-glossary.school-year) - [Datumvenster](#page-glossary.date-windows) - [Schooljaren](#page-admin.school-year) ### Vervanging / Invalbeurt *Source: `help/nl/glossary/substitution.md` · id: glossary.substitution · Updated: 2026-05-14* *Also known as : vervanger · invaller* Een **vervanging** is de toewijzing van een andere docent aan een les waarvan de vaste docent [afwezig](#page-glossary.absence) is. #### Eenmalige vervanging Voor één bepaalde les opent de beheerder het vervangingsbeheer voor de afwezigheid en gebruikt Een vervanger toewijzen. Deze toewijzing geldt alleen voor de gekozen les en gaat vóór de langlopende regels. #### Vervangingsregel Voor een langdurige afwezigheid maakt de beheerder met Een vervanger toewijzen een of meer regels aan. Een regel kan het volgende vastleggen: - de vervanger; - geldigheidsdatums; - tijdsloten; - vakken; - klassen; - een opmerking. De regels worden toegepast in de weergegeven volgorde. Dekt geen enkele regel een les af, dan blijft die les getroffen door de afwezigheid van de vaste docent. #### Weergave van de vervangingen In het rooster blijft de vervangen docent zichtbaar als afwezige vaste docent en verschijnt de vervanger bij de les. De details van de reden en de opmerking bij de afwezigheid hangen af van de leesrechten. #### Zie ook - [Afwezigheid](#page-glossary.absence) - [Vervangingsbeleid](#page-absences.substitution-policies) - [Eenmalige vervanging van een les](#page-absences.single-lesson-replacement) ### Vestiging *Source: `help/nl/glossary/site.md` · id: glossary.site · Updated: 2026-05-10* *Also known as : vestigingen · hoofdgebouw · dependance* Een **vestiging** in Omniscol staat voor een fysieke plaats waar lessen plaatsvinden. Een vestiging huisvest [lokalen](#page-glossary.classroom) en [resources](#page-glossary.resource). Verwar een vestiging niet met de [campus](#page-glossary.campus), die een organisatorisch begrip is: school van een scholengroep, faculteit, afdeling of interne groepering. Bij de vestiging horen de openingstijden, de lokalen en de reistijden; de campus dient eerder om te ordenen en te filteren. Elk rooster heeft ten minste één vestiging. Liggen al uw gebouwen op dezelfde geografische plek, dan volstaat één vestiging. Werkt uw instelling met meerdere vestigingen en verplaatsen docenten of leerlingen zich, maak dan zoveel vestigingen aan als nodig — en **vul de reistijd ertussen in**, anders zou de roostergeneratie uw docenten of uw leerlingen kunnen teleporteren. #### Tijdrooster op het niveau van de vestiging Elke vestiging heeft haar eigen **tijdrooster** (lestijden, pauzes, middagpauze, sluitingen). Omniscol leidt dat automatisch af uit de ingevoerde gegevens, maar u past het aan door de pauzes, de middagpauze en de sluitingen (woensdagmiddag, vrijdagmiddag) toe te voegen. #### Praktijkgeval: twee virtuele vestigingen voor één plaats Een soms nuttige (maar zeldzame) opzet: twee “virtuele vestigingen” aanmaken voor één fysieke plaats die door twee entiteiten wordt gedeeld (een onderbouw en een bovenbouw) met verschillende tijdroosters maar met gemeenschappelijke docenten. De reistijd tussen de twee virtuele vestigingen is dan nul. Let erop dat u de gedeelde lokalen in beide vestigingen dupliceert en elkaar uitsluitende openingstijden invult (zie [lokaal](#page-glossary.classroom)). #### Wanneer twee accounts beter zijn dan twee vestigingen Hebben twee afzonderlijke instellingen **geen enkele docent gemeen** (of worden de weinige gedeelde docenten op duidelijk afgebakende dagen achtereenvolgens aan de ene en dan aan de andere vestiging toegewezen), dan is het vaak eenvoudiger om twee aparte Omniscol-accounts te gebruiken. Meerdere vestigingen dringen zich pas op zodra er werkelijke verplaatsingen van docenten of leerlingen te modelleren zijn. In **Premium** is een andere mogelijkheid om **twee gelijktijdig actieve roosters** op hetzelfde account te publiceren (zie [Meerdere actieve roosters naast elkaar](#page-timetables.multiple-active-timetables)), elk overeenkomend met één vestiging, in plaats van twee vestigingen in één rooster in te stellen. Of het nu om meerdere accounts of om meerdere parallelle roosters gaat, kunt u de bezetting van de docenten en de lokalen delen, met een overkoepelende conflictdetectie (die de roostermaker kan uitschakelen). Gaat het om meerdere accounts, neem dan contact op met het Omniscol-team om de koppeling ertussen in te stellen. Alleen operationele, gepubliceerde roosters dienen als bron om de bezetting van de gedeelde entiteiten te bepalen. #### Zie ook - [Lokaal](#page-glossary.classroom) - [Resource](#page-glossary.resource) - [Campus](#page-glossary.campus) - [Meerdere vestigingen in het hoger onderwijs](#page-higher-ed.multi-site) ### Vrije groep *Source: `help/nl/glossary/free-group.md` · id: glossary.free-group · Updated: 2026-06-13* *Also known as : satellietgroep · semi-autonome groep · open groep · groep met open inschrijving* Een **vrije groep** is een **semi-autonome werkgroep**: een deel van de klas werkt zelfstandig verder, meestal **in hetzelfde lokaal en met dezelfde docent** als de hoofdles en parallel daaraan — een soort **satellietgroep** van de les. De roostermaker wil die **op het rooster laten zien** zonder er een formele klasverdeling tegenover te zetten. Daar komt het woord **vrij** vandaan: omdat deze subgroep het lokaal en de docent deelt met de les waaruit hij voortkomt, zou een gewone [groep](#page-glossary.group) — ook binnen een klasverdeling — een **conflict rond lokaal en docent** opleveren. De vrije groep is de **jokerkaart** die **alle conflicten uitschakelt**: niet met de rest van de klas, niet met de docent en niet met het lokaal. Hij bestaat dus naast zijn oorspronkelijke les. Die behoefte komt vooral voor bij **kunstacademies** en **opleidingen sociaal werk**, waar een deel van de tijd bestaat uit **begeleid zelfstandig werken**: een subgroep werkt in een hoek van het lokaal verder aan het eigen project terwijl de rest van de klas de les volgt. Breder gezien staat de vrije groep model voor elke groep waarvan de samenstelling **niet vastligt**, zonder dat er een conflict ontstaat. #### Verschil met een gewone groep Een gewone groep telt mee voor het algoritme: het controleert of zijn leerlingen niet dubbel geboekt zijn (twee lessen op hetzelfde moment) en of zowel het **lokaal** als de **docent** vrij is. Precies dat zou de satellietgroep onmogelijk maken: het lokaal en de docent van de hoofdles zijn al bezet. Een vrije groep **heft die controles op**. De les ervan mag daardoor het lokaal en de docent delen met de les waaruit zij voortkomt; en een leerling kan tot meerdere overlappende vrije groepen behoren zonder dat er ook maar één waarschuwing afgaat. #### In de praktijk: handmatig plaatsen De roostergeneratie **ondersteunt** vrije groepen, maar het is aan te raden om die er **niet** voor te gebruiken: **plaats en vergrendel handmatig** de hoofdles en haar satellietles op het gewenste tijdslot. Het algoritme weet niet welke van de twee de hoofdles is en welke de satelliet — laat u ze aan de roostergeneratie over, dan kunnen ze overal terechtkomen. Gezien het zeer incidentele en specifieke karakter ervan vraagt de vrije groep om **handmatig gebruik**. #### Aanmaken Vink bij het aanmaken van de groep de optie “vrije groep” aan op Groep toevoegen. Deze groepen worden in de interface visueel gemarkeerd, zodat u ze niet verwart met groepen die wél aan beperkingen gebonden zijn. > _Premium_ Vrije groepen zijn een mogelijkheid van Premium-accounts. #### Zie ook - [Groep](#page-glossary.group) - [Vrije groepen](#page-core-concepts.free-groups) ### Weergavemodus van het rooster *Source: `help/nl/glossary/schedule-view-mode.md` · id: glossary.schedule-view-mode · Updated: 2026-06-13* *Also known as : rasterweergave · lijstweergave · tabelweergave · weergave wisselen* Drie uitwisselbare weergaven van dezelfde lessen op hetzelfde rooster, te kiezen met de knoppen in de titelbalk: - **Raster** (Rasterweergave): klassieke kalenderweergave, met de lessen geplaatst op een raster van dag × uur. Standaardmodus voor snel raadplegen. - **Lijst** (Lijstweergave): chronologische opeenvolging van de lessen, één per regel, met dag, tijden, duur, klas, groep, vak, docenten, vestiging en lokaal. Handig om ze op volgorde door te lopen. - **Tabel** (Tabel): de huidige weergave in spreadsheetvorm — dagen in kolommen en tijdsloten in rijen (of andersom), of één les per rij wanneer de lijstweergave actief is. Nuttig voor een controle, voor een kopie naar een spreadsheet of voor een bestandsexport afhankelijk van het scherm (PDF, CSV, Excel / XLSX). Deze modus is voorbehouden aan beheerders, op een computer. De drie modi werken met **dezelfde gegevensset**; omschakelen wijzigt niets en filtert niets, het is uitsluitend een andere presentatie. De keuze wordt niet bewaard: die geldt voor de huidige weergave. ### Wekelijks rooster *Source: `help/nl/glossary/weekly-timetable.md` · id: glossary.weekly-timetable · Updated: 2026-05-15* *Also known as : weekrooster · standaardweek · terugkerend* Een **wekelijks rooster** berust op een **standaardweek**: de lessen worden gedefinieerd als terugkerend op de dagen van de week. Bij de publicatie kiest u de **reeksen weken** van het jaar waarin de standaardweek geldt. Dit is de modus die wordt gebruikt in: - het basis- en voortgezet onderwijs (basisscholen, middelbare scholen), - de bachelorfase bij sommige faculteiten, - taalopleidingscentra met vaste lestijden. #### Automatische roostergeneratie Het algoritme voor roostergeneratie werkt op deze modus. Het zoekt de optimale plaatsing van de lessen in de standaardweek, met inachtneming van: - de beschikbaarheid van de docenten, - de vereiste lokaalspecialisaties, - klasverdelingen, groepsuitlijningen, incompatibiliteiten, - de pedagogische weging (vakken evenwichtig over de dagen verdelen). Zie [Roostergeneratie](#page-glossary.solver). #### Afwisselende weken Met de functie [afwisselende weken](#page-glossary.alternate-lessons) kunt u lessen hebben die maar eens in de twee weken terugkeren (of eens in de drie, enzovoort) — weken A/B, 1/2, enzovoort. Ingesteld bij Opslaan. #### Vakanties en afwisseling Schoolvakanties kunnen de afwisseling A/B verstoren. Zat u vlak voor de vakantie in week A en wilt u daarna met week B hervatten, dan kunt u een **virtuele verschuiving** op de tijdbalk aanmaken (klik op de betreffende weken). #### Vooraf goedgekeurde beschikbaarheid De beschikbaarheid van de docenten wordt vooraf goedgekeurd (vóór de roostergeneratie). Elke latere wijziging door een docent wordt gemeld, maar verstoort het al berekende rooster niet. Dat verschilt van de [kalendermodus](#page-glossary.calendar-mode), waarin de beschikbaarheid in realtime wordt geconsolideerd. #### Zie ook - [Rooster](#page-glossary.timetable) - [Het juiste roostertype kiezen](#page-overview.timetable-modes) - [Automatische roostergeneratie](#page-glossary.solver) - [Afwisselende lessen](#page-glossary.alternate-lessons) --- ## Index ### A - **Aaneengeschakelde lessen** — [Definition](#page-glossary.concatenated-lessons) · [Complexe lessen](#page-core-concepts.complex-lessons) · [De uren verdelen en de lessen aanmaken](#page-timetables.hour-distribution) - **Afwezigheid** — [Definition](#page-glossary.absence) · [Docentenstatistieken](#page-dashboard.teachers) · [Een afwezigheid melden](#page-absences.declaring) · [Leerling- en resourcestatistieken](#page-dashboard.students-resources) · [Overzicht van de module Afwezigheidsbeheer](#page-absences.overview) · [Vervangingsbeleid](#page-absences.substitution-policies) - **Afwisselende lessen** — [Definition](#page-glossary.alternate-lessons) · [Algemene instellingen](#page-admin.parameters) · [Complexe lessen](#page-core-concepts.complex-lessons) · [De uren verdelen en de lessen aanmaken](#page-timetables.hour-distribution) - **API-token** — [Definition](#page-glossary.api-token) · [Architectuur](#page-integrations.architecture) · [Beveiliging en hosting](#page-faq.security-and-hosting) · [Geavanceerde queries](#page-integrations.advanced-queries) · [Lessen-API](#page-integrations.lessons-api) · [Overzicht van de integraties](#page-integrations.overview) ### B - **Beschikbaarheid van docenten (wensen)** — [Definition](#page-glossary.wishes) · [Beschikbaarheid van docenten](#page-core-concepts.wishes-and-availability) · [Docenten toewijzen](#page-timetables.assigning-teachers) · [Groepen van groepen](#page-core-concepts.groups-of-groups) · [Tijdsbeperkingen (algemeen systeem)](#page-core-concepts.time-constraints) · [Volledig gegevensmodel](#page-integrations.data-model-full) - **Buiten rooster** — [Definition](#page-glossary.off-grid) ### C - **Campus** — [Definition](#page-glossary.campus) · [Conflicten en diagnose](#page-timetables.conflicts) · [Domeinen](#page-admin.planning-domains) · [Geavanceerde instellingen en maatwerk](#page-admin.advanced-parameters) · [Klassen en hun groepen aanmaken](#page-timetables.creating-classes) · [Vestigingen, lokalen, resources](#page-core-concepts.sites-rooms-resources) · [Vestigingen, tijdroosters, lokalen, resources](#page-timetables.sites-rooms) - **Co-teaching** — [Definition](#page-glossary.co-teaching) · [Complexe lessen](#page-core-concepts.complex-lessons) · [Praktijkgevallen hoger onderwijs](#page-faq.higher-ed-cases) - **Conflict** — [Definition](#page-glossary.conflict) · [Algemene filosofie van Omniscol](#page-overview.philosophy) · [Automatische roostergeneratie](#page-timetables.generation) · [Bijzondere gevallen en geavanceerde configuraties](#page-faq.edge-cases) · [Conflicten en diagnose](#page-timetables.conflicts) · [Een les vergrendelen](#page-timetables.lesson-lock) · [Een mislukte roostergeneratie diagnosticeren](#page-timetables.diagnosing-generation) · [Eenmalige wijzigingen](#page-schedules.ad-hoc-changes) · [Gedrag van het algoritme](#page-faq.solver-behavior) · [Wat is Omniscol](#page-overview.what-is-omniscol) - **Cursus** — [Definition](#page-glossary.course) - **Cyclisch rooster** — [Definition](#page-glossary.cyclic-timetable) · [Het juiste roostertype kiezen](#page-overview.timetable-modes) · [Roosters maken](#page-faq.timetables) ### D - **Dashboard** — [Definition](#page-glossary.dashboard) · [Docentenstatistieken](#page-dashboard.teachers) · [Klassenstatistieken](#page-dashboard.classes) · [Leerling- en resourcestatistieken](#page-dashboard.students-resources) · [Lokaalstatistieken](#page-dashboard.classrooms) · [Overzicht van de module Dashboard](#page-dashboard.overview) · [Tabellen en grafieken gebruiken](#page-dashboard.tools-and-filters) · [Vakstatistieken](#page-dashboard.subjects) - **Datumvenster** — [Definition](#page-glossary.date-windows) - **Deellink** — [Definition](#page-glossary.share-link) · [Architectuur en rollen](#page-overview.architecture-and-roles) · [Beveiliging en hosting](#page-faq.security-and-hosting) · [Overzicht van de integraties](#page-integrations.overview) - **Diagnose** — [Definition](#page-glossary.diagnostic) · [Automatische roostergeneratie](#page-timetables.generation) · [Conflicten en diagnose](#page-timetables.conflicts) · [Een mislukte roostergeneratie diagnosticeren](#page-timetables.diagnosing-generation) · [Gedrag van het algoritme](#page-faq.solver-behavior) - **Docent** — [Definition](#page-glossary.teacher) · [Architectuur en rollen](#page-overview.architecture-and-roles) · [Beschikbaarheid van docenten](#page-core-concepts.wishes-and-availability) · [Docenten toewijzen](#page-timetables.assigning-teachers) · [Docentenstatistieken](#page-dashboard.teachers) · [Domeinen](#page-admin.planning-domains) · [Een les bewerken](#page-timetables.lesson-edit) · [Gebruikers en rollen](#page-admin.users-and-roles) · [Klassenstatistieken](#page-dashboard.classes) · [Lessen buiten rooster](#page-timetables.off-grid-lessons) · [OneRoster](#page-integrations.oneroster) · [Organisatie van de gegevens](#page-core-concepts.data-model) · [Overzicht van de module Dashboard](#page-dashboard.overview) · [Rondleiding](#page-getting-started.onboarding-tour) · [Rondleiding in vijf minuten](#page-overview.quick-tour) · [Uw gebruikers uitnodigen en activeren](#page-getting-started.inviting-users) · [Uw gegevens voorbereiden voor een massale import](#page-getting-started.preparing-data) · [Vakstatistieken](#page-dashboard.subjects) · [Vereisten](#page-timetables.prerequisites) · [Volledig gegevensmodel](#page-integrations.data-model-full) · [Wat is Omniscol](#page-overview.what-is-omniscol) ### E - **Externe docent** — [Definition](#page-glossary.external-teacher) · [Docenten toewijzen](#page-timetables.assigning-teachers) · [Overzicht](#page-higher-ed.overview) · [Praktijkgevallen hoger onderwijs](#page-faq.higher-ed-cases) ### G - **Gekoppelde lessen** — [Definition](#page-glossary.associated-lessons) · [Complexe lessen](#page-core-concepts.complex-lessons) · [De uren verdelen en de lessen aanmaken](#page-timetables.hour-distribution) - **Groep** — [Definition](#page-glossary.group) · [De uren verdelen en de lessen aanmaken](#page-timetables.hour-distribution) · [Domeinen](#page-admin.planning-domains) · [Een les bewerken](#page-timetables.lesson-edit) · [Groepen van groepen](#page-core-concepts.groups-of-groups) · [Groepshiërarchie](#page-core-concepts.group-hierarchy) · [Groepsuitlijningen](#page-core-concepts.alignments) · [Groepsuitlijningen en groepen van groepen](#page-timetables.alignments-and-groups-of-groups) · [Klas, groep, subgroep](#page-core-concepts.classes-and-groups) · [Klassen en hun groepen aanmaken](#page-timetables.creating-classes) · [Klassenstatistieken](#page-dashboard.classes) · [Klasverdelingen](#page-core-concepts.class-divisions) · [Leerling- en resourcestatistieken](#page-dashboard.students-resources) · [Lessen buiten rooster](#page-timetables.off-grid-lessons) · [OneRoster](#page-integrations.oneroster) · [Praktijkgevallen hoger onderwijs](#page-faq.higher-ed-cases) · [Volledig gegevensmodel](#page-integrations.data-model-full) · [Vrije groepen](#page-core-concepts.free-groups) - **Groep van groepen** — [Definition](#page-glossary.groups-of-groups) · [Abonnementen en opties van Omniscol](#page-overview.plans-and-options) · [Bijzondere gevallen en geavanceerde configuraties](#page-faq.edge-cases) · [Groepen van groepen](#page-core-concepts.groups-of-groups) · [Groepsuitlijningen](#page-core-concepts.alignments) · [Groepsuitlijningen en groepen van groepen](#page-timetables.alignments-and-groups-of-groups) · [OneRoster](#page-integrations.oneroster) · [Overzicht](#page-higher-ed.overview) · [Praktijkgevallen hoger onderwijs](#page-faq.higher-ed-cases) · [Volledig gegevensmodel](#page-integrations.data-model-full) - **Groepsuitlijning** — [Definition](#page-glossary.alignment) · [Groepen van groepen](#page-core-concepts.groups-of-groups) · [Groepsuitlijningen](#page-core-concepts.alignments) · [Groepsuitlijningen en groepen van groepen](#page-timetables.alignments-and-groups-of-groups) · [Klas, groep, subgroep](#page-core-concepts.classes-and-groups) · [Overzicht](#page-k12.overview) · [Praktijkgevallen hoger onderwijs](#page-faq.higher-ed-cases) · [Volledig gegevensmodel](#page-integrations.data-model-full) - **Groot lokaal** — [Definition](#page-glossary.large-room) · [Automatische lokaaltoewijzing](#page-timetables.auto-room-assignment) · [Vestigingen, lokalen, resources](#page-core-concepts.sites-rooms-resources) · [Vestigingen, tijdroosters, lokalen, resources](#page-timetables.sites-rooms) ### I - **iCal (kalenderexport)** — [Definition](#page-glossary.ical) · [Overzicht van de integraties](#page-integrations.overview) - **Incompatibiliteit (tussen vakken)** — [Definition](#page-glossary.incompatibility) · [Tijdsbeperkingen (algemeen systeem)](#page-core-concepts.time-constraints) - **Informatiescherm** — [Definition](#page-glossary.panel) · [Volledig gegevensmodel](#page-integrations.data-model-full) · [Weergave en UX](#page-faq.display-and-ux) ### K - **Kalendermodus** — [Definition](#page-glossary.calendar-mode) · [Abonnementen en opties van Omniscol](#page-overview.plans-and-options) · [Het juiste roostertype kiezen](#page-overview.timetable-modes) · [Overzicht](#page-higher-ed.overview) · [Overzicht van de module](#page-timetables.overview) · [Praktijkgevallen hoger onderwijs](#page-faq.higher-ed-cases) · [Roosters maken](#page-faq.timetables) - **Klas** — [Definition](#page-glossary.class) · [Architectuur en rollen](#page-overview.architecture-and-roles) · [Domeinen](#page-admin.planning-domains) · [Klas, groep, subgroep](#page-core-concepts.classes-and-groups) · [Klassen en hun groepen aanmaken](#page-timetables.creating-classes) · [Klassenstatistieken](#page-dashboard.classes) · [OneRoster](#page-integrations.oneroster) · [Organisatie van de gegevens](#page-core-concepts.data-model) · [Rondleiding in vijf minuten](#page-overview.quick-tour) · [Volledig gegevensmodel](#page-integrations.data-model-full) · [Wat is Omniscol](#page-overview.what-is-omniscol) - **Klasoverstijgende cursus** — [Definition](#page-glossary.transverse-course) - **Klasverdeling** — [Definition](#page-glossary.class-division) · [Bijzondere gevallen en geavanceerde configuraties](#page-faq.edge-cases) · [Groepshiërarchie](#page-core-concepts.group-hierarchy) · [Groepsuitlijningen](#page-core-concepts.alignments) · [Klas, groep, subgroep](#page-core-concepts.classes-and-groups) · [Klassen en hun groepen aanmaken](#page-timetables.creating-classes) · [Klasverdelingen](#page-core-concepts.class-divisions) · [OneRoster](#page-integrations.oneroster) · [Overzicht](#page-k12.overview) · [Praktijkgevallen hoger onderwijs](#page-faq.higher-ed-cases) · [Volledig gegevensmodel](#page-integrations.data-model-full) ### L - **Leerling / Student / Cursist** — [Definition](#page-glossary.student) · [Architectuur en rollen](#page-overview.architecture-and-roles) · [Gebruikers en rollen](#page-admin.users-and-roles) · [Leerling- en resourcestatistieken](#page-dashboard.students-resources) · [OneRoster](#page-integrations.oneroster) · [Rondleiding](#page-getting-started.onboarding-tour) · [Uw gebruikers uitnodigen en activeren](#page-getting-started.inviting-users) · [Uw gegevens voorbereiden voor een massale import](#page-getting-started.preparing-data) · [Wat is Omniscol](#page-overview.what-is-omniscol) - **Les / Lesmoment** — [Definition](#page-glossary.lesson) · [Bijzondere gevallen en geavanceerde configuraties](#page-faq.edge-cases) · [De uren verdelen en de lessen aanmaken](#page-timetables.hour-distribution) · [Domeinen](#page-admin.planning-domains) · [Een les bewerken](#page-timetables.lesson-edit) · [Een les vergrendelen](#page-timetables.lesson-lock) · [Eenmalige wijzigingen](#page-schedules.ad-hoc-changes) · [Handmatige plaatsing](#page-timetables.manual-placement) · [Lessen buiten rooster](#page-timetables.off-grid-lessons) · [Massale import van cursussen via een spreadsheet](#page-timetables.mass-import) · [Organisatie van de gegevens](#page-core-concepts.data-model) · [Raadplegen en filteren](#page-schedules.consult-and-filter) · [Rondleiding in vijf minuten](#page-overview.quick-tour) · [Tijdrooster, tijdsloten en tijdsduur](#page-core-concepts.timetable-grid) · [Uw gegevens voorbereiden voor een massale import](#page-getting-started.preparing-data) · [Volledig gegevensmodel](#page-integrations.data-model-full) · [Wat is Omniscol](#page-overview.what-is-omniscol) - **Lestype** — [Definition](#page-glossary.lesson-type) · [Organisatie van de gegevens](#page-core-concepts.data-model) · [Volledig gegevensmodel](#page-integrations.data-model-full) - **Lokaal** — [Definition](#page-glossary.classroom) · [Automatische lokaaltoewijzing](#page-timetables.auto-room-assignment) · [Domeinen](#page-admin.planning-domains) · [Een les bewerken](#page-timetables.lesson-edit) · [Lessen buiten rooster](#page-timetables.off-grid-lessons) · [Lokaalstatistieken](#page-dashboard.classrooms) · [Massale import van cursussen via een spreadsheet](#page-timetables.mass-import) · [Overzicht van de module Dashboard](#page-dashboard.overview) · [Uw gegevens voorbereiden voor een massale import](#page-getting-started.preparing-data) · [Vakstatistieken](#page-dashboard.subjects) · [Vestigingen, lokalen, resources](#page-core-concepts.sites-rooms-resources) · [Vestigingen, tijdroosters, lokalen, resources](#page-timetables.sites-rooms) · [Zoeken en filters](#page-core-concepts.search-and-filter) - **Lokaalspecialisatie** — [Definition](#page-glossary.classroom-specialization) · [Automatische lokaaltoewijzing](#page-timetables.auto-room-assignment) · [Bijzondere gevallen en geavanceerde configuraties](#page-faq.edge-cases) · [Vestigingen, lokalen, resources](#page-core-concepts.sites-rooms-resources) · [Vestigingen, tijdroosters, lokalen, resources](#page-timetables.sites-rooms) · [Volledig gegevensmodel](#page-integrations.data-model-full) ### M - **Meerdere lokalen** — [Definition](#page-glossary.multi-room) · [Bijzondere gevallen en geavanceerde configuraties](#page-faq.edge-cases) · [Massale import van cursussen via een spreadsheet](#page-timetables.mass-import) · [Overzicht](#page-higher-ed.overview) · [Praktijkgevallen hoger onderwijs](#page-faq.higher-ed-cases) · [Vestigingen, lokalen, resources](#page-core-concepts.sites-rooms-resources) · [Vestigingen, tijdroosters, lokalen, resources](#page-timetables.sites-rooms) - **Modaliteit** — [Definition](#page-glossary.lesson-modality) ### N - **Niveau** — [Definition](#page-glossary.level) · [Domeinen](#page-admin.planning-domains) ### P - **Personeelsinzet** — [Definition](#page-glossary.staffing) · [Volledig gegevensmodel](#page-integrations.data-model-full) - **Planningsdomein** — [Definition](#page-glossary.planning-domain) · [Aangepaste rollen](#page-admin.customroles) · [Domeinen](#page-admin.planning-domains) - **Publicatie / Activering van een rooster** — [Definition](#page-glossary.publication) · [Een rooster publiceren (activeren)](#page-timetables.publication) · [Rondleiding](#page-getting-started.onboarding-tour) · [Roosters maken](#page-faq.timetables) ### R - **Resource** — [Definition](#page-glossary.resource) · [Een les bewerken](#page-timetables.lesson-edit) · [Leerling- en resourcestatistieken](#page-dashboard.students-resources) · [Vestigingen, lokalen, resources](#page-core-concepts.sites-rooms-resources) · [Vestigingen, tijdroosters, lokalen, resources](#page-timetables.sites-rooms) · [Volledig gegevensmodel](#page-integrations.data-model-full) - **Rooster** — [Definition](#page-glossary.timetable) · [Algemene filosofie van Omniscol](#page-overview.philosophy) · [Algemene instellingen](#page-timetables.general-settings) · [Docentenstatistieken](#page-dashboard.teachers) · [Domeinen](#page-admin.planning-domains) · [Een rooster publiceren (activeren)](#page-timetables.publication) · [Het juiste roostertype kiezen](#page-overview.timetable-modes) · [Lessen buiten rooster](#page-timetables.off-grid-lessons) · [Lokaalstatistieken](#page-dashboard.classrooms) · [Overzicht van de module](#page-timetables.overview) · [Overzicht van de module Dashboard](#page-dashboard.overview) · [Raadplegen en filteren](#page-schedules.consult-and-filter) · [Rondleiding](#page-getting-started.onboarding-tour) · [Rondleiding in vijf minuten](#page-overview.quick-tour) · [Roosters maken](#page-faq.timetables) · [Roosterweergave](#page-schedules.schedule-display) · [Tabellen en grafieken gebruiken](#page-dashboard.tools-and-filters) · [Tijdrooster, tijdsloten en tijdsduur](#page-core-concepts.timetable-grid) · [Wat is Omniscol](#page-overview.what-is-omniscol) · [Weergave en UX](#page-faq.display-and-ux) · [Zoeken en filters](#page-core-concepts.search-and-filter) - **Roostergeneratie** — [Definition](#page-glossary.solver) · [Algemene filosofie van Omniscol](#page-overview.philosophy) · [Automatische roostergeneratie](#page-timetables.generation) · [Beschikbaarheid van docenten](#page-core-concepts.wishes-and-availability) · [Een les vergrendelen](#page-timetables.lesson-lock) · [Een mislukte roostergeneratie diagnosticeren](#page-timetables.diagnosing-generation) · [Gedrag van het algoritme](#page-faq.solver-behavior) · [Handmatige plaatsing](#page-timetables.manual-placement) · [Roosters maken](#page-faq.timetables) · [Tijdsbeperkingen (algemeen systeem)](#page-core-concepts.time-constraints) · [Wat is Omniscol](#page-overview.what-is-omniscol) ### S - **Schooljaar** — [Definition](#page-glossary.school-year) · [Algemene instellingen](#page-admin.parameters) · [Een rooster publiceren (activeren)](#page-timetables.publication) · [Het schoolaccount configureren](#page-getting-started.setup-school) · [OneRoster](#page-integrations.oneroster) · [Organisatie van de gegevens](#page-core-concepts.data-model) · [Rondleiding](#page-getting-started.onboarding-tour) · [Vereisten](#page-timetables.prerequisites) · [Volledig gegevensmodel](#page-integrations.data-model-full) - **Status** — [Definition](#page-glossary.lesson-status) ### T - **Tijdlijn** — [Definition](#page-glossary.timeline) · [Tijdlijn en navigatie in de tijd](#page-core-concepts.timeline-navigation) - **Tijdrooster** — [Definition](#page-glossary.timetable-grid) ### V - **Vak** — [Definition](#page-glossary.subject) · [Domeinen](#page-admin.planning-domains) · [Klassen en hun groepen aanmaken](#page-timetables.creating-classes) · [Klassenstatistieken](#page-dashboard.classes) · [OneRoster](#page-integrations.oneroster) · [Organisatie van de gegevens](#page-core-concepts.data-model) · [Overzicht van de module Dashboard](#page-dashboard.overview) · [Rondleiding](#page-getting-started.onboarding-tour) · [Uw gegevens voorbereiden voor een massale import](#page-getting-started.preparing-data) · [Vakstatistieken](#page-dashboard.subjects) · [Vereisten](#page-timetables.prerequisites) · [Volledig gegevensmodel](#page-integrations.data-model-full) - **Vakanties** — [Definition](#page-glossary.holidays) - **Vervanging / Invalbeurt** — [Definition](#page-glossary.substitution) · [Docentenstatistieken](#page-dashboard.teachers) · [Overzicht van de module Afwezigheidsbeheer](#page-absences.overview) · [Vervangingsbeleid](#page-absences.substitution-policies) · [Volledig gegevensmodel](#page-integrations.data-model-full) - **Vestiging** — [Definition](#page-glossary.site) · [Automatische lokaaltoewijzing](#page-timetables.auto-room-assignment) · [Domeinen](#page-admin.planning-domains) · [Tijdrooster, tijdsloten en tijdsduur](#page-core-concepts.timetable-grid) · [Vestigingen, lokalen, resources](#page-core-concepts.sites-rooms-resources) · [Vestigingen, tijdroosters, lokalen, resources](#page-timetables.sites-rooms) · [Volledig gegevensmodel](#page-integrations.data-model-full) - **Vrije groep** — [Definition](#page-glossary.free-group) · [Volledig gegevensmodel](#page-integrations.data-model-full) · [Vrije groepen](#page-core-concepts.free-groups) ### W - **Weergavemodus van het rooster** — [Definition](#page-glossary.schedule-view-mode) - **Wekelijks rooster** — [Definition](#page-glossary.weekly-timetable) · [Gedrag van het algoritme](#page-faq.solver-behavior) · [Het juiste roostertype kiezen](#page-overview.timetable-modes) · [Overzicht](#page-k12.overview) · [Overzicht van de module](#page-timetables.overview) · [Roosters maken](#page-faq.timetables)