HS
Happy Sport TrainingEerlijke sportrotatie & teamindeling
Windows-app voor sportverenigingen en sportorganisaties.

Minder puzzelen. Meer trainen.

Meerdere sportenIn-/uitchecken tijdens de sessie4 levelmodi × 3 gendermodi1–20 CSV-items per team1, 2 of meer teams per veldOffline tijdens de training

Happy Sport Training maakt voor iedere ronde automatisch complete team- en speelveldindelingen. Combineer 4 levelmodi met 3 gendermodi en laat de planner de beschikbare speelvelden zo optimaal mogelijk vullen, zodat zoveel mogelijk deelnemers tegelijk spelen en onvermijdelijke Unassigned-momenten zo eerlijk mogelijk over de groep worden verdeeld.

Flexibel, ook als de sessie al loopt: spelers kunnen tijdens de sessie in- en uitchecken. Een nieuwe speler kan via een bijgewerkte CSV tijdens de lopende sessie worden geïmporteerd en is direct beschikbaar in Check-in. Komt iemand één keer proefspelen? Voeg die persoon dan toe met Special Guest: de gast is tijdelijk en wordt direct ingecheckt.

Eén start voor de hele training: Wil je bijvoorbeeld vier volledige rondes van 15 minuten spelen, stel de totale sessietijd dan in op 61 minuten zodat er ook ruimte is voor de wisselseconden tussen de rondes. Je start de sessie één keer aan het begin; Happy Sport Training begeleidt daarna alle vier de rondes binnen diezelfde sessie. De gekozen displays tonen wie waar speelt en houden de ronde- en totaaltijd bij. Vlak voor het wisselmoment kan de volgende indeling alvast verschijnen. Na afloop toont het session report per ronde wie waar speelde en het historische Unassigned-overzicht.

Geen score- of uitslagenregistratie: Happy Sport Training houdt geen scores, uitslagen, winnaars of verliezers bij. De tool is bedoeld voor indeling, eerlijke rotatie, tijd, displays en sessiehistorie.

Sneller indelen. Eerlijker rouleren. De rotatie makkelijker uitleggen.

De planner houdt daarbij rekening met eerdere rondes en probeert herhaalde teamgenoten, tegenstanders en dezelfde court-groepen te beperken. Je stelt zelf het aantal speelvelden, Team size en Teams per court in. Daardoor kun je dezelfde app gebruiken voor bijvoorbeeld badminton, tennis, zaalvoetbal, handbal, volleybal en andere ronde- of teamvormen.

Concreet voorbeeld: 10 badmintonspelers en 2 banen betekent dat 8 spelers tegelijk kunnen spelen. Happy Sport Training maakt twee complete dubbelwedstrijden, kiest volgens de fairnessregels en beschikbare historie welke 2 deelnemers deze ronde Unassigned zijn en neemt die historie mee naar de volgende indelingen.

Genderindeling is optioneel: kies Gender neutral, Mixed gender teams of Same gender teams. Wie geen genderwaarde heeft, kan als Unknown/X flexibel worden meegenomen wanneer dat nodig is.

Werkt lokaal tijdens de training. De normale trainingsfunctionaliteit, check-in, planning, timers, displays en historie draaien op de Windows-computer zelf. Voor de normale training is geen continue internetverbinding nodig; internet kan nodig zijn voor download, activatie of hercontrole van de licentie.

De interface van de Windows-app is Engels.

Een verbetering van de methode die je al gebruikt

Van handmatig puzzelen naar sneller indelen.

Veel verenigingen werken nu met papier, een whiteboard, een spreadsheet of het geheugen van de trainer. Happy Sport Training neemt dat terugkerende puzzelwerk over en houdt automatisch rekening met aanwezigheid, eerdere Unassigned-beurten, niveau en afwisseling in teamgenoten en tegenstanders.

Minder handmatig puzzelwerk, meer consistentie en een indeling die makkelijker uit te leggen is aan spelers. De scheduler gebruikt check-in, historie en de gekozen instellingen om complete speelvelden te maken, onvermijdelijke Unassigned-rondes zo eerlijk mogelijk te verdelen en meer afwisseling in teamgenoten en tegenstanders te creëren.

Dit kan minder handmatig puzzelwerk voor de trainer betekenen en gesprekken over wie heeft gespeeld, wie heeft gezeten en hoe de rotatie tot stand kwam makkelijker maken.

1. Check in wie er echt aanwezig isWerk met één of meer CSV-lijsten en pas de aanwezige groep ook tijdens de sessie aan.
2. Laat de planner het herhaalwerk doenStel velden, teamgrootte, teams per veld, level- en genderinstellingen in. De scheduler maakt alleen complete bruikbare indelingen.
3. Houd de rotatie uitlegbaarUnassigned-history, afwisseling van teamgenoten/tegenstanders en previews maken beter zichtbaar waarom iemand speelt of een ronde zit.
Wat je ermee kunt

Flexibel genoeg voor verschillende sporten en groepen

Dezelfde gelicentieerde computer kan per trainingssessie een andere CSV-selectie en andere spelinstellingen gebruiken.

Zoveel mogelijk deelnemers laten spelenDe scheduler gebruikt alleen complete, bruikbare speelindelingen en vult binnen het ingestelde aantal speelvelden zoveel mogelijk beschikbare plekken. Wie niet geplaatst kan worden, rouleert via de fairness- en historyregels.
Vrijwel iedere sportconfiguratieStel zoveel courts of speelvelden in als je sessie nodig heeft — de applicatie heeft hiervoor geen vooraf ingestelde maximumlimiet. Laat per team 1–20 CSV-regels samenvoegen en kies 1, 2 of meer teams per speelveld. Praktische grenzen bij zeer grote sessies hangen af van de computer en de schermgrootte.
Een CSV-regel kan meer dan één persoon voorstellenEen regel kan één sporter zijn, maar ook een vast duo, een groepje dat altijd bij elkaar blijft of zelfs een compleet vast team. Voor de planner telt iedere regel als één item.
Afwisseling in teamgenoten & tegenstandersDe planner gebruikt eerdere rondes om waar mogelijk te voorkomen dat dezelfde deelnemers steeds samen, tegenover elkaar of opnieuw in dezelfde court-groep terechtkomen.
4 levelmodi × 3 gendermodiKies Same level, Mixed level, Alternating levels – start Same of Alternating levels – start Mixed en combineer dit met Gender neutral, Mixed gender teams of Same gender teams. Je CSV kan maximaal vijf spelers-levelgroepen gebruiken; gendergebruik blijft optioneel.
Laatkomers kunnen nog aansluitenOok nadat de sessie al gestart is kan een aanwezige speler nog inchecken. Vóór de preview kan die speler de volgende ronde meedoen; na publicatie van de preview blijft die ronde intact en kan de speler vanaf de ronde daarna worden meegenomen.
Eén licentie, verschillende sporten en groepenBewaar aparte CSV's voor verschillende teams, groepen of sporten en importeer per sessie de juiste lijst(en). Op dezelfde gelicentieerde computer kun je bijvoorbeeld de ene training badminton plannen en de volgende zaalvoetbal, zonder aparte licentie per sport.
Offline tijdens de trainingCheck-in, planning, normaal of Compact display, popup voor een extra scherm, Display ABC, timers, previews, Controls en session report draaien lokaal op de Windows-computer.
Display ABC voor grote groepenOpen Display ABC als optioneel extra, alleen-lezen spelersscherm, bijvoorbeeld op een derde scherm. Ingecheckte namen staan alfabetisch met hun team en court/speelveld; Unassigned of Waiting wordt eveneens zichtbaar.

Wat telt de planner als één deelnemer?

Heel eenvoudig: één regel in je CSV telt voor de planner als één item. Wat dat item in werkelijkheid voorstelt bepaal je zelf.

  • Staat iedere CSV-regel voor één persoon, dan betekent Team size = 5 vijf echte personen per team.
  • Staat iedere CSV-regel voor een vast groepje van 5 personen, dan betekent Team size = 5 vijf groepjes per team: in werkelijkheid 25 personen.
  • Staat iedere CSV-regel voor een compleet vast team, dan gebruik je bijvoorbeeld Team size = 1; de planner rouleert dan complete teams.
Voorbeeld: werkelijk team van 25 personen
Maak vijf vaste groepjes van vijf personen en geef ieder groepje één eigen naam in de CSV, bijvoorbeeld Groep A1 t/m Groep A5. Met Team size = 5 vormt de app daar één gepland team van. Voor de app zijn het vijf CSV-items; in werkelijkheid zijn het 25 mensen.

Gebruik binnen één geïmporteerde trainingslijst bij voorkeur steeds hetzelfde soort item. Meng dus niet één individuele speler zoals Anne met daarnaast één compleet vijfmansteam als gelijkwaardige CSV-regel, tenzij dat echt bewust de bedoeling is. De scheduler ziet beide regels namelijk als één item.

Van individuele sporter tot complete teams

  • Individuele deelnemers die iedere ronde opnieuw worden verdeeld.
  • Vaste duo's of kleine groepjes die altijd bij elkaar blijven.
  • Complete vaste teams die alleen als geheel worden ingepland.
  • 1, 2 of meer teams tegelijk op één court, veld of speelgebied.
  • Meerdere courts/velden tegelijk.
  • Per trainingssessie één of meer andere CSV's en volledig andere spelinstellingen.
  • Nieuwe deelnemers kunnen ook na de start van de sessie nog inchecken.

Fairness, level, gender en history gelden altijd voor het CSV-item. Als één item een vast groepje voorstelt, worden die gegevens dus voor dat groepje als geheel bijgehouden.

Bekijk Happy Sport Training in de praktijk

Deze korte schermopname laat de normale werkwijze zien: een CSV selecteren en importeren, de trainingsinstellingen controleren, deelnemers inchecken en het Display openen met de gemaakte court-indeling.

Duur demo: ongeveer 2 minuten en 33 seconden. De interface van de applicatie zelf is Engels.

Quick Start

Op een nieuwe installatie pak je eerst het volledige ZIP-pakket uit, activeer je de licentie en zet je je CSV-lijsten klaar. Daarna volgt iedere training dezelfde korte werkwijze.

Eenmalig vóór de eerste training

1. Pak de ZIP uit op de trainingscomputer Pak de volledige ZIP uit op de Windows-pc of -laptop die tijdens de trainingen aanwezig is. De doelmap mag je tijdens het uitpakken zelf kiezen. De ZIP bevat de mapstructuur Sport_Scheduler met onder andere SportScheduler.exe, data en Sport/players. Laat die structuur bij elkaar en start SportScheduler.exe vanuit de uitgepakte Sport_Scheduler-map.
2. Activeer de licentieVul bij de eerste start de license key en het aankoop-e-mailadres in en kies Save & start. Na geldige activatie start de app automatisch.
3. Maak je CSV-bestand(en)Maak één of meer lijsten voor je trainingsgroepen, sporten of vaste teams. Iedere regel is één item voor de planner. Gebruik minimaal een naam en een level; gender is optioneel.
4. Zet de CSV's in de spelersmapPlaats je bestanden in Sport_Scheduler\Sport\players\. Zodra je eigen lijsten klaarstaan, kun je de meegeleverde demo-CSV's verwijderen als je die niet meer nodig hebt.

Daarna bij iedere training

Vier stappen: importeren, instellingen controleren, inchecken, starten.

Importeer de juiste trainingOpen Settings, selecteer één of meer CSV-bestanden die bij deze sessie horen en kies Import / select roster. Zo kan dezelfde installatie per training met andere spelers, groepen, teams of sporten werken.
Controleer de traininginstellingenControleer rondetijd, totale speeltijd, courts/velden, maximaal aantal rondes, Team size, Teams per court, Pairing mode, Gender mode en de display-instellingen. Kies daarna Save & go to Check-in.
Check in wie aanwezig isCheck de spelers, vaste groepen of teams in die echt aanwezig zijn. Alleen ingecheckte items worden voor nieuwe indelingen gebruikt. In Settings kun je met Check in all of Check out all de volledige actieve roster in één keer aanpassen; in Check-in pas je daarna individuele spelers aan. Laatkomers kunnen tijdens de sessie nog inchecken.
Start de sessie één keerKies Start round één keer aan het begin van de training. Daarmee start je de sessie en wordt de eerste indeling gemaakt. Je start dus niet voor ieder potje of iedere ronde opnieuw: binnen dezelfde sessie lopen timers, previews, fairness, history en de tijdgestuurde rondes door op basis van de actuele ingecheckte groep. De rondes volgen automatisch op basis van de ingestelde tijd. Wil je eerder naar de volgende ronde, dan kun je daarvoor handmatig Next round gebruiken in het menu Controls.

Uitleg van schermen, knoppen en instellingen

De app-interface is Engels. Hieronder staat wat de belangrijkste onderdelen doen.

Settings — huidige indeling

De huidige Settings-pagina is verdeeld in zes onderdelen. Daardoor blijven CSV-selectie, aanwezigheid, sessietijd, indeling, displays en beheer duidelijk van elkaar gescheiden.

1. Players & CSVSelecteer één of meer CSV-bestanden voor de actieve roster en kies Import / select roster. De CSV-bestanden worden gelezen uit Sport/players.
2. Check-in Check in all checkt de volledige actieve roster in één keer in; Check out all checkt de volledige actieve roster in één keer uit. Individuele aanwezigheid kun je daarna nog op de Check-in-pagina aanpassen.
3. Session settingsRound time (min), Total time (min), Courts, Rounds max, Switch time (sec), Team size, Teams per court, Late check-in threshold (%) en History sessions to remember. Ook het wisselgeluid kan hier worden ingesteld en getest.
4. Pairing / GenderKies één van de vier Pairing modes en combineer die met Gender neutral, Mixed gender teams of Same gender teams.
5. DisplayKies welke spelerdetails op Check-in en Display zichtbaar zijn: None, Level, Gender of Level + Gender. Je kunt ook Compact display inschakelen, Popup display scale instellen en het aparte Display ABC openen.
6. AdministrationBevat de functies voor het wissen van history, Player identities en Create backup.

Save & go to Check-in bewaart de huidige instellingen en opent Check-in. Settings kunnen ook tijdens een actieve sessie worden aangepast zonder een nieuwe sessie te starten.

Check-in — inchecken, uitchecken en laat aansluiten

Links staan de beschikbare spelers uit de actieve CSV-selectie; rechts staan de ingecheckte deelnemers. Een speler kan ook tijdens een actieve sessie uitchecken. Vanaf nieuw te maken rondes is die speler dan niet meer beschikbaar voor de scheduler.

Een speler kan ook tijdens een lopende sessie alsnog inchecken. Checkt iemand in voordat de Next Round-preview is gepubliceerd, dan wordt die speler volgens de late-check-inregel klaargezet om de volgende ronde mee te doen. Checkt iemand pas in nadat de preview al zichtbaar is, dan blijft de gepubliceerde ronde intact; die speler staat de eerstvolgende ronde Unassigned en kan vanaf de ronde daarna weer worden meegenomen.

Een reeds lopende ronde wordt niet achteraf opnieuw opgebouwd door een check-in of check-out.

CSV import tijdens een actieve sessie

Nieuwe speler: een nieuwe naam uit de bijgewerkte CSV wordt direct beschikbaar in Check-in en kan tijdens de sessie inchecken.

Bestaande speler: naam/level/gender en de bestaande sessiestatus worden tijdens de lopende sessie niet gewijzigd. Daardoor verandert een actieve ronde of opgebouwde fairness niet onverwacht.

Na sessie-einde: level- en genderwijzigingen uit de laatst geïmporteerde CSV worden toegepast voor de volgende sessie. Spelers die niet in de actieve CSV-selectie staan worden uitgecheckt, terwijl hun history bewaard blijft.

Zonder actieve sessie: wijzigingen in level/gender uit de geïmporteerde CSV worden direct actief.

Header en hoofdknoppen
  • Settings: CSV-selectie, spelinstellingen, displayopties en adminfuncties.
  • Special Guest: voegt een tijdelijke gast toe en checkt deze direct in. Special Guests krijgen speelprioriteit zolang capaciteit dit toelaat.
  • Display: toont de actuele ronde, Unassigned, timers, de Next round-preview en na afloop het session report. Via Settings kies je de normale Display-weergave of Compact display.
  • Controls: bediening van een lopende sessie.
  • Start round: start de sessie één keer en maakt de eerste ronde klaar. Je gebruikt deze knop dus niet opnieuw voor iedere ronde; de tijdgestuurde rondes volgen daarna automatisch.
  • Check-in: opent de actuele deelnemerslijst.
  • Open Display (pop-up): opent of activeert het aparte normale/Compact Display-venster, bijvoorbeeld op een tweede scherm.
  • Recover last: herstelt het laatst opgeslagen sessielog. Dit is herstel van een sessie en is iets anders dan het terugzetten van een volledige backupmap.
Controls tijdens een sessie
  • End session: beëindigt de sessie en toont het eindrapport.
  • Pause / Resume: pauzeert of hervat de tijdgestuurde voortgang.
  • Restart round: start de huidige ronde opnieuw.
  • Next round: gebruik je alleen wanneer je handmatig eerder wilt doorgaan. Normaal volgen de rondes automatisch op basis van de ingestelde tijden.
  • Test sound: test en activeert het ingestelde wisselgeluid wanneer deze functie is ingeschakeld.

Acties die de lopende ronde of sessie wijzigen vragen eerst om bevestiging met Are you sure? — Yes / No.

Display, preview, Unassigned en session report

Display toont de lopende sessie: courts/speelvelden met teams, Unassigned en de ronde- en totaaltimers. Staat Compact display in Settings aan, dan wordt dezelfde sessie als compactere lijst weergegeven zodat meer courts tegelijk op het scherm passen.

Open Display (pop-up) opent de normale of Compact Display in een apart venster, bijvoorbeeld op een tweede scherm. Met Popup display scale in Settings kun je de hoeveelheid informatie in dat venster aanpassen.

Display ABC is een optioneel extra, alleen-lezen scherm voor grote groepen, bijvoorbeeld op een derde scherm. Het toont de ingecheckte spelers alfabetisch met Court + Team, Unassigned of Waiting. Zodra de Next round-preview beschikbaar is, volgt Display ABC die komende indeling.

Next round (preview) verschijnt automatisch op het ingestelde moment in de huidige ronde. Na sessie-einde toont het session report per ronde de courtindeling, late check-ins en het sessie- en historische Unassigned-overzicht. Scores, winnaars en verliezers worden niet bijgehouden.

Player identities, historie, backup en reset

Dezelfde spelernaam in verschillende CSV's gebruikt dezelfde gegenereerde speler-ID en deelt daardoor history. Via Player identities kun je zien in welke CSV's een identiteit voorkomt. Wil je twee aparte histories, gebruik dan verschillende namen, bijvoorbeeld Anne MA en Anne DI.

  • Create backup: maakt een volledige kopie van de technische Sport_Scheduler-map in de naastgelegen Backup-map, met een tijdstempel in de naam, bijvoorbeeld Sport_Scheduler_YYYYMMDD_HHMM.
  • Clear all history: behoudt de bestaande resetwerking voor de actieve gegevens.
  • Clear history for all known players: wist ook opgeslagen history van spelers die niet in de huidige actieve CSV-roster staan.

Wil je een volledige backup terugzetten, sluit Happy Sport Training dan eerst. Kies de gewenste backupmap met tijdstempel en kopieer de inhoud daarvan over de huidige Sport_Scheduler-applicatiemap. Laat Windows de bestaande bestanden en mappen overschrijven en start daarna SportScheduler.exe opnieuw.

Voorbeelden

Zo ziet Happy Sport Training er in de praktijk uit

Vanaf hier zie je concrete voorbeelden van de licentiecontrole, de live preview en het session report.

Voorbeeld 1

Licentiecontrole bij de eerste start

Dit is het eenmalige licentiescherm op een nieuwe installatie. Vul de license key en het e-mailadres van de aankoop in en kies Save & start. Na een geldige activatie start Happy Sport Training automatisch.

Licentiecontrole bij de eerste start van Happy Sport Training
Licentie vereistHier voer je eenmalig de license key en het aankoop-e-mailadres in. Internet is alleen nodig wanneer de licentie online moet worden geactiveerd of opnieuw gevalideerd.
Voorbeeld 2

Zo verschijnt de preview tijdens de huidige ronde

De eerste afbeelding laat de huidige ronde zien terwijl deze nog gewoon bezig is. De courts, de actuele Unassigned-deelnemer en de resterende rondetijd zijn zichtbaar.

Later in diezelfde ronde, op het ingestelde previewmoment, verschijnt onder de actuele ronde automatisch Next round (preview). De huidige ronde blijft bovenaan staan; de volgende indeling wordt daaronder toegevoegd zodat spelers alvast kunnen zien waar zij straks spelen.

Happy Sport Training display met alleen de huidige actieve ronde
1. Huidige rondeDe ronde is nog bezig. Bovenaan staan de actuele courts, de rondetimer en de deelnemer die op dat moment Unassigned is. Er is nog geen preview van de volgende ronde zichtbaar.
↓ later in dezelfde ronde, zodra het previewmoment is bereikt
Happy Sport Training display met huidige ronde en Next round preview
2. Dezelfde ronde, nu met Next round (preview)In de laatste seconden van de huidige ronde blijft de actuele indeling bovenaan staan en verschijnt daaronder alvast de volgende ronde. Spelers kunnen zo vóór het wisselmoment zien op welk court, in welk team en tegen wie zij daarna spelen. Ook de Unassigned-deelnemer voor de preview wordt direct getoond.
Waarom een preview?De volgende indeling wordt al vóór het einde van de lopende ronde zichtbaar. Daardoor kunnen spelers zich tijdens de wisseltijd direct naar het juiste court of speelveld verplaatsen.
Late check-in blijft voorspelbaarCheckt iemand in nadat de preview al is gepubliceerd, dan wordt die gepubliceerde indeling niet op het laatste moment omgegooid. De speler blijft zichtbaar volgens de late-check-inregels en kan vanaf een volgende beschikbare ronde worden meegenomen.

Voorbeeld met 3 teams van 4 op één court/veld

De scheduler is niet beperkt tot de bekende indeling met twee teams. In dit voorbeeld staat Team size op 4 en Teams per court op 3. Op ieder court staan daardoor drie complete teams van vier. Met drie courts worden 36 ingecheckte deelnemers ingedeeld en staan de overige vier als Unassigned weergegeven.

Happy Sport Training met drie teams van vier per court
Een bewust afwijkende configuratie: 3 teams × 4 deelnemers op ieder court. Dit laat zien dat Teams per court/veld ook hoger dan twee kan worden ingesteld.
Voorbeeld 3

Voorbeeld van een Session report

Na een sessie laat Happy Sport Training per ronde zien wie waar heeft gespeeld en wie Unassigned was, wie later heeft ingecheckt en hoe de historische Unassigned-verdeling eruitziet. Wedstrijdscores, winnaars en verliezers worden bewust niet bijgehouden. Hieronder staat een echt voorbeeld van hoe zo'n rapport eruit kan zien.

Session report

Level mode: Alternating levels – start Same level
Gender mode: Gender neutral

Round 1

Court 1
Anouk C & Ilse B vs Erik A & Daan A
Court 2
Eric C & Eric B vs Eva A & Bas A
Unassigned: Femke B, Frank B, Ilse A, Frank D

Round 2

Court 1
Daan A & Anouk C vs Ilse A & Frank B
Court 2
Ilse B & Femke B vs Erik A & Eric B
Unassigned: Eva A, Eric C, Bas A, Frank D

Unassigned (checked in this session)

  • Bas A — 1× this session; 4× before session; 5× total
  • Eric C — 1× this session; 4× before session; 5× total
  • Eva A — 1× this session; 4× before session; 5× total
  • Femke B — 1× this session; 4× before session; 5× total
  • Frank B — 1× this session; 4× before session; 5× total
  • Frank D — 1× this session; 4× before session; 5× total
  • Ilse A — 1× this session; 4× before session; 5× total

Let op bij Frank D: zijn naam staat zichtbaar bij Unassigned in zowel Round 1 als Round 2, maar alleen Round 2 telt als bank-/Unassigned-beurt. Zijn late check-in enkele seconden voor het einde van Round 1, ná de preview, wordt daar alleen zichtbaar geregistreerd.

Late check-in (before Next Round preview)

  • Ilse A — Round 1

Late check-in (after Next Round preview)

  • Frank D — Round 1
Toon Unassigned (all players — historical)
  • Bas A — 5×
  • Eric C — 5×
  • Eva A — 5×
  • Femke B — 5×
  • Frank B — 5×
  • Frank D — 5×
  • Ilse A — 5×
  • Anouk A — 4×
  • Anouk B — 4×
  • Anouk C — 4×
  • Anouk D — 4×
  • Bas B — 4×
  • Bas C — 4×
  • Bas D — 4×
  • Daan A — 4×
  • Daan B — 4×
  • Daan C — 4×
  • Daan D — 4×
  • Eric A — 4×
  • Eric B — 4×
  • Eric D — 4×
  • Erik A — 4×
  • Erik B — 4×
  • Erik C — 4×
  • Erik D — 4×
  • Eva B — 4×
  • Eva C — 4×
  • Eva D — 4×
  • Femke A — 4×
  • Femke C — 4×
  • Femke D — 4×
  • Fleur A — 4×
  • Fleur B — 4×
  • Fleur C — 4×
  • Fleur D — 4×
  • Frank A — 4×
  • Frank C — 4×
  • Ilse B — 4×
  • Ilse C — 4×
  • Ilse D — 4×
  • Jasmijn A — 4×
  • Jasmijn B — 4×
  • Jasmijn C — 4×
  • Jasmijn D — 4×
  • Karin A — 4×
  • Karin B — 4×
  • Karin C — 4×
  • Karin D — 4×
  • Kim A — 4×
  • Kim B — 4×
  • Kim C — 4×
  • Kim D — 4×
  • Koen A — 4×
  • Koen B — 4×
  • Koen C — 4×
  • Koen D — 4×
  • Lotte A — 4×
  • Lotte B — 4×
  • Lotte C — 4×
  • Lotte D — 4×
  • Maaike A — 4×
  • Maaike B — 4×
  • Maaike C — 4×
  • Maaike D — 4×
  • Marieke A — 4×
  • Marieke B — 4×
  • Marieke C — 4×
  • Marieke D — 4×
  • Michel A — 4×
  • Michel B — 4×
  • Michel C — 4×
  • Michel D — 4×
  • Michelle A — 4×
  • Michelle B — 4×
  • Michelle C — 4×
  • Michelle D — 4×
  • Richard A — 4×
  • Richard B — 4×
  • Richard C — 4×
  • Richard D — 4×
  • Ronald A — 4×
  • Ronald B — 4×
  • Ronald C — 4×
  • Ronald D — 4×
  • Roy A — 4×
  • Roy B — 4×
  • Roy C — 4×
  • Roy D — 4×
  • Sander A — 4×
  • Sander B — 4×
  • Sander C — 4×
  • Sander D — 4×
  • Sanne A — 4×
  • Sanne B — 4×
  • Sanne C — 4×
  • Sanne D — 4×
  • Sophie A — 4×
  • Sophie B — 4×
  • Sophie C — 4×
  • Sophie D — 4×
  • Steven A — 4×
  • Steven B — 4×
  • Steven C — 4×
  • Steven D — 4×
  • Thijs A — 4×
  • Thijs B — 4×
  • Thijs C — 4×
  • Thijs D — 4×

Dit voorbeeld bevat testnamen en laat zien hoe de verschillende rapportonderdelen samen worden weergegeven.

Waarom staan er in Round 1 vier mensen bij Unassigned terwijl vier spelers genoeg zijn voor een extra court?
Omdat niet alle vier aanwezig waren toen Round 1 werd samengesteld. Femke B en Frank B waren bij de start werkelijk beschikbaar maar niet ingedeeld. Ilse A checkte tijdens Round 1 in, vóór de preview voor Round 2, en krijgt voor de gemiste Round 1 één Unassigned-telling; zij kan daardoor in Round 2 worden meegenomen. Frank D checkte pas enkele seconden vóór het einde van Round 1 in, nadat de Round 2-preview al was gepubliceerd. Hij wordt daarom wel zichtbaar bij Unassigned van Round 1, maar die paar seconden leveren geen extra Unassigned-/banktelling op. De reeds gepubliceerde Round 2 wordt niet gewijzigd, waardoor Frank D in Round 2 Unassigned blijft; dát is zijn ene getelde Unassigned-beurt van deze sessie. Daarom staat Frank D twee keer zichtbaar bij Unassigned, maar staat bij zijn sessietotaal terecht slechts 1× this session.
Level modeLaat zien welke levelstrategie voor de sessie is gebruikt. In dit voorbeeld wisselt de app tussen gelijkere en gemengdere niveau-indelingen en begint hij met Same level.
Gender modeLaat zien welke genderregel is gebruikt. Hier is dat Gender neutral.
Courts per rondeJe ziet precies welke deelnemers samen in een team stonden en tegen wie ze speelden.
Unassigned per rondeDit is het zichtbare overzicht van deelnemers die niet op een speelveld stonden. Bij een late check-in kan iemand hier aan het einde van een ronde zichtbaar worden zonder dat dit automatisch een getelde Unassigned-/bankbeurt is. De telling en de zichtbare rondeweergave zijn dus bewust niet altijd hetzelfde.
Unassigned (checked in this session)Toont de daadwerkelijk getelde Unassigned-beurten van deelnemers die deze sessie aanwezig waren. Je ziet het aantal van deze sessie, de historie vóór deze sessie en het totaal daarna. Daarom staat Frank D hier op 1×, ook al is zijn naam in het ronde-overzicht twee keer zichtbaar.
Late check-in vóór previewIlse A meldde zich tijdens Round 1, maar nog vóór de indeling voor Round 2 was gepubliceerd. De gemiste Round 1 telt als Unassigned en zij kon vervolgens in Round 2 worden meegenomen.
Late check-in ná previewFrank D meldde zich pas enkele seconden vóór het einde van Round 1, nadat de Round 2-preview al vaststond. Hij wordt nog wel zichtbaar als Unassigned in Round 1, maar krijgt voor die paar seconden geen extra Unassigned-/banktelling. Omdat Round 2 al gepubliceerd was, blijft die indeling ongewijzigd en staat Frank D daar Unassigned; die Round 2-beurt is de ene telling die in zijn sessietotaal wordt toegevoegd.
Historical UnassignedDit is de langere-termijnhistorie die de fairness ondersteunt. Zo kan de scheduler voorkomen dat steeds dezelfde deelnemers buiten een volledige speelindeling vallen.

Eén programma voor verschillende groepen en sporten

Je hoeft niet voor iedere trainingsgroep of sport een apart programma te hebben. Gebruikt een vereniging één gelicentieerde trainingscomputer, dan kan diezelfde installatie voor verschillende teams, trainingsgroepen en sporten worden gebruikt. Je bewaart verschillende CSV-bestanden en importeert per sessie de juiste lijst(en).

Voorbeeld sportvereniging of sportlocatie
Maandag gebruik je badminton_maandag.csv met meerdere badmintonbanen en Team size 2. Woensdag importeer je zaalvoetbal_woensdag.csv en gebruik je bijvoorbeeld één zaal, Team size 5 voor losse spelers of Team size 1 wanneer iedere CSV-regel een compleet vast team voorstelt. Dezelfde app kan zo per training andere deelnemers, teamgroottes, rondetijden, aantallen speelvelden, levelmodi en genderinstellingen gebruiken.
  • Eén of meer CSV-lijsten per trainingssessie.
  • Spelers, vaste groepjes of complete teams kunnen als CSV-item worden gebruikt.
  • In- en uitchecken kan ook tijdens een actieve sessie.
  • Nieuwe spelers kunnen tijdens een lopende sessie via een bijgewerkte CSV direct beschikbaar worden gemaakt voor Check-in.
  • Level/gender-wijzigingen van bestaande sessiespelers worden pas na sessie-einde toegepast; zonder actieve sessie worden ze direct actief.
  • Special Guests kunnen tijdelijk worden toegevoegd.
  • Backup, recovery en historisch Unassigned-overzicht zijn ingebouwd.

Speleridentiteit over meerdere CSV's

Dezelfde naam wordt als dezelfde speler gezien en deelt dus history. Staat Anne in maandag.csv én dinsdag.csv, dan blijft het één speler.

Wil je twee aparte histories, gebruik dan bijvoorbeeld Anne MA en Anne DI.

Via Player identities is zichtbaar in welke CSV-bestanden dezelfde speler-ID voorkomt.

Licentie, levering en opnieuw downloaden

Licentie

  • Jaarlicentie voor organisaties: €50 excl. btw en 12 maanden geldig. Toepasselijke btw/belasting en het definitieve totaal worden in de checkout getoond.
  • De licentie wordt geactiveerd op één Windows-laptop/PC. Binnen die installatie kun je verschillende sporten, trainingsgroepen en CSV-lijsten gebruiken.
  • License key + aankoop-e-mailadres zijn nodig bij de eerste activatie.
  • Online licentievalidatie verloopt via Lemon Squeezy bij de eerste start en later volgens de hercontrole-instelling van de software.
  • Na geldige activatie is voor de normale trainingssessie geen continue internetverbinding nodig.

Levering & lokaal gebruik

  • Windows desktoppakket als download via Lemon Squeezy.
  • Na installatie draait de trainingsfunctionaliteit lokaal.
  • Trainingsdata wordt lokaal in de applicatiemap opgeslagen.
  • Geen continue internetverbinding nodig voor de normale training.
  • Ben je de originele ZIP kwijt of heb je programmabestanden per ongeluk verwijderd, download het product dan opnieuw via je Lemon Squeezy-order/My Orders.
Belangrijk bij opnieuw downloaden: opnieuw downloaden levert een schoon programmapakket, maar herstelt geen lokale trainingshistory die zelf is verwijderd. Bewaar daarom ook je eigen CSV-bestanden en gebruik de ingebouwde backupfunctie.
Hoe Happy Sport Training is ontstaan

Vanuit de praktijk gegroeid, met nog genoeg ideeën

Happy Sport Training begon met een vraag van een goede vriendin: of ik haar kon helpen met een offline trainingsprogramma. Ze had nog geen programma gevonden dat alle gewenste trainingsvormen en team- en speelveldindelingen kon combineren.

Wat begon als een praktisch hulpmiddel groeide in ongeveer een jaar steeds verder door nieuwe ideeën toe te voegen. Inmiddels wordt de tool al enkele maanden gebruikt met een groep van ongeveer 150 spelers, waarbij 60 tot 80 deelnemers op een training heel normaal is. Dat voelde als het juiste moment om Happy Sport Training ook beschikbaar te maken voor andere sportverenigingen.

Ik hoop vooral dat Happy Sport Training helpt om trainingen plezierig en makkelijk te organiseren: minder puzzelen over wie met wie en op welk speelveld staat, en meer tijd voor de sport zelf.

Ben je blij met de tool maar mis je een functie waar jouw vereniging echt iets aan zou hebben? Stuur gerust een mail. Ideeën en suggesties zijn welkom en bekijk ik vrijblijvend. Als dezelfde vragen of ideeën vaker binnenkomen, probeer ik antwoorden en updates zoveel mogelijk op deze website te bundelen.

Ik ontwikkel Happy Sport Training met veel plezier als hobbyproject. Werkt iets niet naar behoren, dan krijgt dat prioriteit en doe ik mijn best om te helpen. Het gewone leven heeft natuurlijk ook andere verplichtingen, waardoor het uitzoeken, oplossen en goed testen soms dagen en incidenteel langer kan duren. Ook als je niet direct iets van mij hoort, wordt een gemeld probleem niet zomaar vergeten.

Een kleine win-win: hopelijk helpt Happy Sport Training jullie een jaar lang om teams en speelvelden makkelijker in te delen, en trakteer ik mezelf van de opbrengst op een avondje sushi. 🍣

Veelgestelde vragen

Is Happy Sport Training alleen voor één soort sport?

Nee. De app is juist bedoeld voor trainingen waarbij niet alle aanwezigen iedere ronde tegelijk kunnen spelen of waarbij alleen complete speelvelden kunnen worden gestart. Omdat je zelf het aantal speelvelden, de Team size en het aantal Teams per court instelt, kun je de planner voor zeer uiteenlopende individuele sporten en teamsporten gebruiken.

Kan ik met vaste groepjes of complete teams werken?

Ja. Iedere CSV-regel telt voor de planner als één item. Geef een vast groepje of compleet team één naam in de CSV en het blijft als geheel bij elkaar. Met Team size bepaal je vervolgens hoeveel van zulke CSV-items samen één gepland team vormen.

Kan een werkelijk team groter zijn dan 20 personen?

Ja. De instelling Team size loopt van 1 t/m 20 CSV-regels per team. Als iedere CSV-regel een vast groepje van vijf personen voorstelt, vormen vijf van die regels met Team size 5 samen een werkelijk team van 25 personen. History en fairness worden dan per vast groepje bijgehouden.

Kan ik verschillende CSV's voor maandag en dinsdag gebruiken?

Ja. Je kunt per training één of meer CSV's selecteren. Spelers met dezelfde naam delen hun history over die rosters heen.

Kan ik tijdens een sessie een nieuwe speler toevoegen?

Ja. Importeer een bijgewerkte CSV. Nieuwe namen worden direct beschikbaar in Check-in. Bestaande sessiespelers worden tijdens de lopende sessie niet gewijzigd. Checkt een nieuwe speler vóór de Next Round-preview in, dan kan die speler de volgende ronde worden meegenomen; na publicatie van de preview blijft de gepubliceerde volgende ronde intact en kan de speler vanaf de ronde daarna weer worden meegenomen.

Kan een speler tijdens een sessie uitchecken?

Ja. De speler kan tijdens een actieve sessie in Check-in worden uitgecheckt. Een reeds lopende ronde wordt niet achteraf gewijzigd; de uitcheckstatus wordt gebruikt voor nieuw te maken vervolgrondes.

Kan ik 1v1, 5v5 of 20v20 gebruiken?

Ja. Als iedere CSV-regel één persoon is, ondersteunt Team size direct 1 t/m 20 personen per team. Als een CSV-regel een vast groepje of compleet team voorstelt, kan het werkelijke aantal personen nog groter zijn. Teams per court/veld is apart instelbaar en kan 1, 2 of meer zijn.

Is er een maximum aantal deelnemers of courts/speelvelden?

Happy Sport Training stelt geen vast maximum aan het aantal CSV-items, ingecheckte deelnemers of courts/speelvelden in een sessie. De vaste configuratielimiet is Team size: 1 t/m 20 CSV-items per gepland team. Teams per court/speelveld kan 1, 2 of meer zijn. Eén CSV-item kan zelf één persoon, een vast groepje of een compleet team voorstellen, waardoor het werkelijke aantal vertegenwoordigde personen veel groter kan zijn. Bij zeer grote sessies hangen praktische reken- en weergavegrenzen af van de computer, configuratie en schermgrootte.

Wat gebeurt er op het Display bij een zeer grote groep?

Als er meer courts of namen zijn dan prettig op één scherm passen, kun je in Settings Compact display inschakelen. Open Display (pop-up) toont de normale of compacte sessieweergave in een apart venster. Voor grote groepen is er daarnaast Display ABC: een optioneel extra, alleen-lezen scherm, bijvoorbeeld op een derde scherm, met de ingecheckte namen alfabetisch en daarbij Court + Team, Unassigned of Waiting.

Wat als het berekenen van de volgende ronde enkele seconden duurt?

Bij een zeer grote sessie kun je Late check-in threshold (%) lager instellen, zodat de berekening van de Next Round-preview eerder start. De zichtbare ronde- en totaaltimers lopen in het Display zelf door op basis van hun tijdstempels terwijl de volgende ronde wordt berekend. De preview verschijnt zodra die berekening klaar is. Een lagere threshold betekent ook dat de preview eerder wordt gepubliceerd; late check-ins daarna vallen dus onder de normale after-previewregel.

Waarom stel ik voor vier rondes van 15 minuten de totale tijd in op 61 minuten?

Omdat de wisseltijd tussen de rondes onderdeel is van de totale sessietijd. Tussen vier rondes zitten drie wisselmomenten en Switch time is minimaal 1 seconde. Met Total = 60 minuten en Round time = 15 minuten blijft na de voorgaande rondes en wisselseconden minder dan een volledige 15 minuten over voor Round 4. De vierde ronde wordt dan niet gestart en Happy Sport Training toont in plaats daarvan het eindoverzicht. Wil je vier volledige rondes van 15 minuten spelen, stel Total dan in op 61 minuten: 4 × 15 minuten plus ruimte voor de wisselseconden tussen de rondes. Stel je een langere wisseltijd in, verhoog Total dan overeenkomstig.

Kan ik de muziek of het geluid tijdens de wisseltijd wijzigen?

Ja. In Settings kun je de wisselmuziek aan- of uitzetten. Voor een eigen geluid plaats je een .wav- of .mp3-bestand in de data-map van de applicatie en vul je bij Switch sound URL/name het /media-adres in, bijvoorbeeld /media/Focus.wav. Met Test sound kun je het geluid vóór de training controleren. Het gekozen geluid kan vervolgens tijdens de ingestelde wisseltijd afspelen.

Wat gebeurt er als een naam in de CSV erg lang is?

De oorspronkelijke naam blijft opgeslagen zoals hij in de CSV staat. Waar de schermruimte beperkt is, zoals in de Check-in-lijsten en bij de court/teamnamen op het Display, kort Happy Sport Training namen langer dan 15 tekens automatisch af. Het begin en de laatste drie tekens blijven zichtbaar, gescheiden door een |, zodat vergelijkbare namen beter van elkaar te onderscheiden blijven. Dit verandert alleen de compacte weergave op het scherm; de speler wordt niet hernoemd in de CSV of opgeslagen gegevens.

Kan mijn CSV meer dan vijf verschillende levels bevatten?

Ja. De CSV mag meer dan vijf verschillende bronlevels bevatten. Happy Sport Training gebruikt voor de planning vijf interne levelgroepen. Bevat de CSV meer dan vijf verschillende levels, dan sorteert de applicatie de bronlevels en verdeelt ze automatisch over die vijf interne groepen, waarbij de volgorde behouden blijft. Bij numerieke levels 1 t/m 8 worden bijvoorbeeld 1–2 intern groep 1, 3–4 groep 2, 5 groep 3, 6–7 groep 4 en 8 groep 5. Gebruik je al 1–5 of A–E, dan worden die rechtstreeks aan de vijf interne groepen gekoppeld.

Welke genderopties zijn er?

Gender is optioneel. Je kunt kiezen voor Gender neutral, Mixed gender teams of Same gender teams. Spelers zonder ingevuld gender worden als Unknown/X behandeld en kunnen waar nodig flexibel worden ingedeeld.

Waarom wordt iemand Unassigned?

Alleen volledig bruikbare speelindelingen worden gemaakt. Als er meer ingecheckte CSV-items/spelers/groepen/teams zijn dan in de beschikbare complete speelvelden passen, kiest de scheduler Unassigned volgens fairnessregels en historie. Het doel is zoveel mogelijk beschikbare plaatsen te vullen zonder halve of onbruikbare speelvelden te maken.

Kan dezelfde installatie voor verschillende teams of sporten worden gebruikt?

Ja. Bewaar per trainingsgroep of sport een eigen CSV en importeer voor iedere sessie de juiste lijst(en). Je kunt daarna ook de rondetijd, Team size, Teams per court, aantal speelvelden, pairing- en genderinstellingen aanpassen. Zo kan dezelfde gelicentieerde computer bijvoorbeeld op maandag voor badminton en op woensdag voor zaalvoetbal worden gebruikt.

Wat als de software of laptop tijdelijk niet beschikbaar is?

Gebruik dan de bestaande handmatige methode van de vereniging, bijvoorbeeld papier, een whiteboard of een eenvoudige handgemaakte rotatie. Happy Sport Training verbetert het indelingsproces, maar een training kan indien nodig altijd handmatig doorgaan.

Heb ik altijd internet nodig?

Nee. De normale training draait lokaal. Internet is nodig wanneer de licentie moet worden geactiveerd of opnieuw gevalideerd en uiteraard voor het downloaden van het product.

Wat als Windows of mijn browser een veiligheidsmelding toont bij de download?

Nieuwe of minder vaak gedownloade Windows-programma's kunnen soms extra controle of een waarschuwing krijgen van de browser, Windows Security of SmartScreen. Download het pakket uitsluitend via je eigen Lemon Squeezy-order/My Orders, pak de ZIP lokaal uit en laat Windows Security het bestand desgewenst scannen. Happy Sport Training vraagt nooit om antivirus of andere beveiliging uit te schakelen.

Hoe zet ik een backup terug?

Sluit Happy Sport Training eerst. Open de naastgelegen Backup-map en kies de backupmap met tijdstempel die je wilt terugzetten, bijvoorbeeld Sport_Scheduler_YYYYMMDD_HHMM. Kopieer de inhoud van die backupmap over de huidige Sport_Scheduler-applicatiemap en laat Windows de bestaande bestanden en mappen overschrijven. Start daarna SportScheduler.exe opnieuw. Recover last is iets anders: daarmee herstel je het laatst opgeslagen sessielog, niet een volledige backupmap.

Ik heb bestanden verwijderd of wil opnieuw installeren. Wat nu?

Download het product opnieuw via Lemon Squeezy My Orders. Een nieuwe download herstelt het programma, maar niet automatisch lokaal verwijderde spelersdata/history; daarvoor heb je een bestaande data-map of backup nodig.

Hoe koop ik de software?

Vink in het aankoopblok de bevestiging aan en klik op Organisatielicentie kopen. De pagina controleert dan de beschikbaarheid en toont, wanneer aankoop beschikbaar is, de beveiligde Lemon Squeezy checkout-link.