Case: MEC Muziek | DenkBot
Alle cases

MEC Muziek

Acht vestigingen, één rooster dat zichzelf bewaakt

MEC Muziek geeft muziekles op acht locaties in en rond Zwolle. Met die schaal werd het roosteren een vak apart. Wij bouwden één platform waarin aanmelden, plannen, lesgeven en financieel inzicht samenkomen.

Sector

Muziekonderwijs

Tech stack

Next.jsTypeScriptFastifyPostgreSQLPrismaMollieResend
Weekrooster van een muziekschool op een laptop, volgepland met piano-, gitaar-, zang- en drumlessen

8

vestigingen

281

user stories

2.975

geautomatiseerde tests

3 mnd

van start tot productie

De uitdaging

Muziekles inplannen is een puzzel die harder groeit dan de organisatie zelf. Elke leerling heeft een vast wekelijks moment, bij een docent die dat instrument geeft, in een lokaal dat op dat tijdstip vrij is, op een vestiging waar die docent die dag ook echt staat. Bij één locatie houd je dat in je hoofd. MEC Muziek doet het op acht, met tientallen docenten en honderden leerlingen.

Die organisatie draaide op wat elke goedlopende muziekschool gebruikt: overzichten per vestiging, docenten die hun beschikbaarheid doorgaven, aanmeldingen die via de site binnenkwamen. Dat werkt, en MEC is er groot mee geworden. Alleen zit de kennis dan wel op meerdere plekken tegelijk. Een docent die zich ziek meldt, een leerling die van lesmoment wisselt, een vakantieweek die schuift: elke wijziging vraagt om een ronde langs al die plekken, en om iemand die precies weet waar wat staat.

Dat is geen kwestie van slecht georganiseerd zijn. Het is simpelweg wat handwerk doet als je groeit. MEC wilde die uren terug, en het overzicht op één plek.

Het echte probleem: wanneer is een lesmoment vrij?

De kern van dit project is één vraag die verrassend lastig te beantwoorden is. Een lesmoment is namelijk pas vrij als het aan alles tegelijk voldoet, en niet alleen vandaag:

  • De docent geeft dit instrument
  • De docent staat die dag op die vestiging ingeroosterd
  • Er is op dat tijdstip nog een lokaal vrij
  • Het moment valt binnen het lesseizoen
  • Het is geen vakantiedag en geen vrije dag van de docent
  • Er staat geen andere les, proefles of groepsafspraak in de weg
  • Het is niet één keer vrij, maar elke week tot het einde van het seizoen: wie zich inschrijft, doet dat voor een heel jaar
  • Er staat verderop in dat jaar niets gepland dat er alsnog overheen valt: een docent die na de kerst van vestiging wisselt, een lokaal dat vanaf februari voor een groepscursus geblokt is, een proefles die al is toegezegd maar nog niet is geweest

Die laatste twee maken het verschil. Wat vandaag vrij is zegt hier weinig: dat halfuur op woensdag is pas te vergeven als het veertig weken achter elkaar vrij blijft, terwijl de docent in januari op een andere locatie staat en er in mei twee vakantieweken tussen zitten die niet meetellen. Elke inschrijving die erbij komt verandert bovendien wat er voor alle volgende nog overblijft. Op acht vestigingen is dat met de hand niet meer sluitend te krijgen.

Die logica hebben we daarom in één engine gezet. Diezelfde engine voedt twee heel verschillende schermen: het formulier waarin een ouder zelf een proefles inplant, en het masterrooster waarin de administratie lessen versleept. Ze kunnen dus niet uit elkaar lopen. Wat een ouder aangeboden krijgt, is exact wat het rooster toestaat. En een les die niet past, wordt geweigerd met de reden erbij: welke les blokkeert, van welke docent, in welk lokaal.

Dat is het verschil met een agenda. Een agenda laat je alles inplannen en rekent erop dat de planner alle regels van het hele seizoen paraat heeft. Hier zitten die regels in het systeem.

Wat het platform doet

01

Aanmelden en proefles

Ouders melden zich online aan, kiezen instrument en vestiging, zien alleen lesmomenten die echt kunnen en rekenen de proefles direct af met iDEAL.

02

Masterrooster

Het volledige weekrooster per vestiging, met drag & drop. Verplaatsen mag alleen als het klopt; een conflict wordt geweigerd met de reden erbij.

03

Individueel, duo en groep

Alle lesvormen, inclusief het omzetten ertussen: een privéles wordt een duo, een duo splitst weer, een les groeit door naar een groep.

04

Docentenportaal

Elke docent ziet het eigen rooster en de eigen leerlingen, en geeft de eigen beschikbaarheid door per vestiging en lokaal.

05

Leerling- en ouderportaal

Ouders zien hun lessen, beheren meerdere kinderen onder één account, melden zich af voor een les en halen hun facturen op.

06

Automatische communicatie

Bevestigingen, afzeggingen en herinneringen gaan vanzelf de deur uit, met templates die MEC zelf aanpast zonder ons.

07

Kosten en opbrengsten

Per docent de gegeven uren, het tarief, de omzet en de marge. Direct in beeld, zonder losse spreadsheets ernaast.

08

Logboek en AVG

Elke wijziging wordt vastgelegd met wie, wat en wanneer. Gebruikers vragen hun eigen gegevens op met één klik.

Gebouwd om te blijven draaien

Een systeem met zoveel regels is pas iets waard als je er over een jaar nog steeds op kunt bouwen. Daaronder draait daarom een suite van bijna drieduizend geautomatiseerde tests. Die gaan bij elke aanpassing opnieuw langs het gedrag, niet alleen langs de code: doet elke afgesproken user story nog wat er is afgesproken, en blijven de processen kloppen van aanmelden tot inplannen, verplaatsen, uitschrijven en factureren?

De uitleg hoort daarbij. In het platform zelf zit een sectie waarin elk kernproces beschreven staat: wat er gebeurt, wie wat mag, en waar het automatisch gaat. Die handleidingen zijn onderdeel van het systeem in plaats van een los document ernaast, dus ze bewegen mee met elke wijziging in plaats van langzaam te verouderen.

In ruim drie maanden groeide dat uit tot bijna driehonderd uitgewerkte user stories. MEC ziet elke week wat erbij is gekomen en kan bijsturen voordat iets vastligt. Maandag aan tafel, vrijdag een werkende demo was hier letterlijk het ritme.

De regels van de muziekschool zitten bovendien in een aparte laag die los te testen is: seizoensgrenzen, vakanties, beschikbaarheid, prijzen, wie welk rooster mag zien. Besluit MEC volgend jaar dat duo-lessen tweewekelijks worden, dan is dat een aanpassing op één plek, en geen zoektocht door het hele systeem.

Het resultaat

Het rooster van een compleet schooljaar staat in het platform: acht vestigingen, honderden leerlingen, honderden lessen per week. Een aanmelding loopt van formulier tot ingeplande proefles zonder tussenkomst. Ouders zien zelf wanneer hun kind les heeft, docenten beheren hun eigen beschikbaarheid, en de administratie houdt de regie over wat er in het rooster verandert.

En de vraag waar vroeger een middag puzzelwerk in ging: kan er woensdag om half vijf nog een gitaarles bij in Westenholte? Die beantwoordt het systeem nu zelf.

Ook zoiets bouwen?

Vertel ons wat je wilt automatiseren.

In één gesprek brengen we concrete kansen in kaart voor jouw bedrijf.

Plan een gesprek