De beste websites maak je samen

Anja de Crom, Joomla expert
Door Anja de Crom

Rooster applicatie voor de Veiligheidsregio

Of we een offerte wilden maken voor een plansysteem, waarmee Veiligheidsregio Utrecht medewerkers kon inplannen voor piketdiensten? Natuurlijk wilden we dat :). We hadden al eerder met dat bijltje gehakt, dus hoe moeilijk kon het zijn? Nou... best moeilijk, bleek toen we opdracht hadden en ermee aan de slag gingen. Maar het resultaat mag er zijn.

We begonnen redelijk rechttoe rechtaan: met een interface waarmee de planner automatisch een heel team tegelijk kon inplannen voor een heel jaar. We bouwden een mooi formulier en Anja programmeerde een paar stevige PHP-scripts om de automatische planning voor elkaar te krijgen.

Inroosteren en uitzonderingen

“Mooi,” zei de klant toen we het kwamen presenteren, “maar het komt voor dat mensen twee piketfuncties hebben. Als we dan die automatische planning gebruiken, krijgen ze twee keer zoveel diensten als andere medewerkers. Dat is natuurlijk niet de bedoeling.”

Het script moest dus worden uitgebreid. En na die eerste uitzondering volgden er meer: om vakanties heen plannen, checken of de partner van de medewerker toevallig is ingepland voor een dienst en zo ja, de medewerker niet inplannen... Het script groeide uit tot bijna een programma op zichzelf.

Na die eerste interface volgde de workflow waarmee de planner handmatig kon plannen: eerst een team kiezen, daarna een functie, dan de medewerker die hij wil inplannen. Hij krijgt te zien wanneer de medewerker met vakantie is (maar kan die vakantie wel overrulen) en hoeveel diensten er al zijn ingepland voor deze medewerker.

Onderling diensten ruilen

Toen de basics er eenmaal waren, konden we aan de slag met de ‘dingen die kunnen gebeuren als medewerkers ergens voor zijn ingeroosterd’: ze worden ziek, gaan trouwen, of kunnen om een andere reden de dienst niet draaien.

Medewerkers moesten zelf een ruilverzoek naar een collega kunnen sturen met de vraag of die de dienst zou willen overnemen. Die collega kan dan de dienst accepteren, en op dat moment is de ruil een feit. Ook dat was tamelijk rechttoe rechtaan, tenminste, voor een volledige dienst. Daarvoor maakten we een workflow waarmee bij die dienst de ingeplande medewerker wordt vervangen door, je snapt het al, de vervanger. Bij een gedeeltelijke ruil was het een stuk complexer: daar moet de ingeplande medewerker tot het moment van de ruil ingepland zijn, vervolgens even tijdelijk niet meer, en daarna weer wel. Dat was wel even een puzzeltje.

Meer dan tachtig verschillende weergaven

Al die ruilacties moet je natuurlijk wel kunnen uitvoeren vanuit een interface, dus ondertussen werkten we ook aan de weergaven van het rooster. We maakten het Gepland rooster, waar je de planning voor het hele jaar per week kunt bekijken (en kunt doorklikken naar de vorige/volgende week), Actueel rooster waar je de situatie van dit moment kunt zien, Mijn rooster waar de medewerker zijn/haar eigen rooster, vakanties en ruilverzoeken kan bekijken en kan wijzigen, kortom: alle interfaces die de medewerker en de planner te zien krijgen. Al die interfaces, schermen en formulieren (in totaal meer dan tachtig) moesten goed met elkaar samenwerken, goed naar elkaar verwijzen en daarnaast worden vormgegeven conform de huisstijl van de opdrachtgever (in de slideshow hieronder zie je een aantal screenshots in onze eigen huisstijl).

Grote uitdaging 1

Bij een klus als deze zou je denken: de grootste uitdaging is de complexiteit. En we geven toe: sommige onderdelen waren best wel pittig om te maken. Maar de grootste uitdaging lag er veel meer in dat de toepassing in z’n geheel getest moest kunnen worden, en dat alles dus tegelijk moest werken. We moesten bij elke gevraagde aanpassing dus steeds inventariseren welke consequenties die wijziging zou hebben op andere onderdelen van de toepassing, en we waren dus voortdurend aan verschillende onderdelen tegelijk aan het werken.

Grote uitdaging 2

Bij de start van het project (februari 2020, begin je al iets te vermoeden?) gingen we er nog nietsvermoedend vanuit dat Anja een aantal dagen op locatie zou kunnen werken. Korte lijntjes, snel overleg, even iets laten zien, een vraag stellen en weer door. Dat werkt ontspannen en efficiënt. Corona gooide op verschillende manieren roet in het eten: overleg moest op afstand plaatsvinden, onze contactpersoon werd ziek, en de Veiligheidsregio had intussen ook een systeem nodig waarmee ze besmettingen bij instellingen in de regio konden registreren, of we dat ook nog even wilden maken (vinden we hartstikke leuk, dus ja, dat wilden we wel).

Resultaat

Uiteindelijk staat het er wel: een robuust en flexibel planingssysteem waarmee de Veiligheidsregio zelf piketroosters kan samenstellen, dat altijd actueel is zodat op elk moment van elke dag duidelijk is wie bij een noodsituatie waarvoor verantwoordelijk is, waarin medewerkers gemakkelijk hun weg kunnen vinden en waarin de planner altijd overzicht heeft en houdt.

Hieronder zie je slideshow met een aantal screenshots (de slides blijven 10 seconden staan zodat je ze rustig kunt bekijken). De applicatie doet nog veel meer, maar dan heb je een beetje een idee.

Ben je ook op zoek naar een maatwerk oplossing voor je website? We horen graag van je!

Mail of bel WebLab42: 026 - 737 02 31.

Adres

WebLab42
Infanteriestraat 29
6822 NH Arnhem
KvK: 70477973

Telefoon: 026-7370231

post@weblab42.nl

Officieel!

WebLab42 is officieel gecertificeerd Joomla Administrator (lees hier wat dat betekent)

WebLab42 staat vermeld in de Joomla! Resources Directory