Versie: 2.1
Laatst bijgewerkt: 29 augustus 2026
Dit document is de centrale controlelijst voor de Travel Reporters Reisplanner van GoDoGood.eu. Nieuwe versies worden vóór publicatie aan deze afspraken getoetst.
De vaste, deelbare hoofdlink is: https://sites.google.com/view/travelreporters/reisplanner.
De hoofdlink staat bovenaan gedeelde berichten en exports.
Technische iframe-, embed- en tijdelijke adressen worden nooit aan gebruikers getoond of geëxporteerd. Dit betreft onder andere googleusercontent.com/embeds/…, inner-frame-minified.html, blob:, about:blank, lokale bestandspaden en preview-URL's.
Navigatie binnen de ingebedde app gebruikt knoppen met scrollIntoView; geen zichtbare #report, #planner of andere hash-links in de Google Sites-iframe.
Externe links openen veilig in een nieuw tabblad met target="_blank" en rel="noopener".
Eén centrale constante bevat de publieke site-URL, zodat HTML, WhatsApp, agenda, PDF, DOC, CSV, TXT en JSON dezelfde link gebruiken.
Een gegenereerde link moet menselijk leesbaar, relevant en controleerbaar zijn.
De standaard tekstgrootte is 18 px.
De topbar biedt de presets Klein, Middel, Groot, Groter en Grootst, plus min, plus, herstellen en opslaan.
Gebruikers kunnen minimaal basis-, knop-, invoerveld-, navigatie- en koptekstgrootte afzonderlijk instellen.
Instellingen worden per profiel bewaard.
Elk invulveld dat vaak wijzigt heeft een duidelijke ×-knop om het veld leeg te maken.
Knoppen hebben voldoende contrast, een begrijpelijke tekst en een zichtbare focusstatus.
De app is mobile-first en blijft bruikbaar op telefoon, Chromebook, tablet en desktop.
Swipen mag nooit leiden tot een leeg wit of geel scherm. Linker- en rechtermodules hebben ook altijd zichtbare knoppen als alternatief voor swipen.
Fouten, laden en lege resultaten krijgen elk een duidelijke statusmelding.
Teksten en handleidingen kunnen met de browserstem worden voorgelezen, gepauzeerd en gestopt.
De interface bevat logisch bereikbare onderdelen voor Reisplanner, Reisverslag, Mijn reizen, Profielen, Import, Exports, Uiterlijk, Handleiding en Credits.
Waar een compacte topbar wordt gebruikt, blijven minimaal Teksten/Uiterlijk, Registratie/Profiel, Import, Exports en Credits bereikbaar.
Knoppen voeren een echte actie uit; er staan geen demonstratieknoppen zonder duidelijke aanduiding.
De huidige werkende functies blijven behouden wanneer een scherm opnieuw wordt vormgegeven.
Een gebruiker kan zoeken op plaats, volledig adres, coördinaten, huidige locatie en korte of lange Google Maps-link.
Google Maps-links worden eerst opgelost naar de werkelijke coördinaten; daarna worden alle Nederlandse treinstations opnieuw op afstand gerangschikt.
Een zoekopdracht mag nooit standaard of stil terugvallen op Alkmaar Noord wanneer de locatie niet is vastgesteld.
Bij een fout verschijnt een foutmelding en geen verzonnen stationresultaat.
De resultaten tonen het dichtstbijzijnde station én meerdere alternatieven met hemelsbrede afstand en een herkenbare toelichting.
Alternatieve stations ondersteunen vouwfietsgebruik, werkzaamheden, uitval, omleidingen en een gesloten station of perron.
Bus-, metro-, tram- en ferryhaltes mogen als aanvullende informatie worden getoond; trein blijft de hoofdfocus.
De app kan twee tot tien locaties per profiel bewaren, bewerken, gebruiken en verwijderen.
Vertrek en aankomst hebben een wisselknop die beide waarden echt omdraait.
Standaardinstelling: vertrek Alkmaar, NS Dal Vrij en alleen trein; alles blijft instelbaar.
“Korter” en “sneller” zijn afzonderlijke beoordelingen. Het advies vergelijkt totale deur-tot-deurtijd.
Totale tijd kan bestaan uit fietsen/lopen naar het station, wachttijd, treinrit, overstap, laatste kilometers en een realistische marge.
Voor een vouwfiets is de snelheid instelbaar; het uitgangspunt is 17 km/u binnen de afgesproken bandbreedte van 15–20 km/u.
Een iets verder station kan worden aanbevolen als treinverbinding, overstap of laatste fietstraject de totale reis sneller maakt.
Vergelijkingen zoals Amsterdam Amstel tegenover Amsterdam Lelylaan tonen afstand, geschatte fietstijd, treintijd, overstappen, marge en totale tijd.
Daluren worden als advies getoond. Actuele voorwaarden en uitzonderingen worden aan officiële NS-informatie gekoppeld.
Snelkeuzes omvatten Nu, Vandaag/Morgen, Volgende week, Over één maand en een vrije datum- en tijdkeuze.
Vertrek- en aankomsttijd zijn afzonderlijk instelbaar.
Live vertrektijden, perrons, vertragingen en spoorwijzigingen worden alleen als live gepresenteerd als ze uit een actuele officiële bron komen. De app verzint deze gegevens niet.
NS, 9292, Google Maps en relevante vervoerders openen met zo veel mogelijk correct ingevulde reisgegevens.
Er is een herkenbare route “Naar de padelclub”.
De gegevensstructuur ondersteunt clubnaam, adres, plaats, website, Maps-link, coördinaten, dichtstbijzijnde stations en notities.
Clubgegevens in de Sheet zijn te beheren zonder de HTML-code te wijzigen.
Het advies vergelijkt stations op totale reistijd, inclusief vouwfiets of ander natransport.
Registreren, inloggen en uitloggen hebben zichtbare terugkoppeling.
Persoonlijke gegevens, reizen, locaties, zoekhistorie, notities, verslagen en instellingen zijn per gebruiker en profiel gescheiden.
Er zijn meerdere benoembare profielen, bijvoorbeeld Privé, Zakelijk en Padel, met profiel wisselen, maken, hernoemen en verwijderen.
CRUD betekent: gegevens kunnen worden aangemaakt, gelezen, bewerkt en verwijderd.
De Google Sheet is de centrale invoer-/uitvoerlaag voor de Apps Script-versie; tabbladen en kolomnamen worden gedocumenteerd.
Wachtwoorden worden niet als leesbare tekst opgeslagen. Gevoelige configuratie en API-sleutels horen in Apps Script Properties, niet in HTML of de Sheet.
Lokale opslag blijft beschikbaar als snelle/offline laag en vermeldt duidelijk wat lokaal en wat in de Sheet staat.
Opslaan omvat gebruiker, actief profiel, opgeslagen locaties, gekozen stations, zoekhistorie, reisplannen, sessies, notities, reisverslagen en uiterlijkinstellingen.
JSON is het volledige back-up- en profieluitwisselingsformaat.
CSV ondersteunt tabelgebruik en agenda-import; ICS is de voorkeursroute voor een echte agenda-afspraak.
TXT is een leesbare volledige samenvatting.
DOC-export levert een document dat in Word of vergelijkbare programma's opent.
PDF-export heeft een nette printlay-out zonder navigatieknoppen of technische URL's.
WhatsApp- en deelteksten beginnen met de publieke Travel Reporters-link en bevatten daarna de relevante reisgegevens.
Import ondersteunt bewust kiezen tussen samenvoegen en als nieuw profiel laden.
Voor import wordt formaat en versie gecontroleerd; ongeldige gegevens overschrijven geen bestaande gegevens.
Elke export gebruikt een duidelijke datum, profielnaam en veilige bestandsnaam.
“Wat gebeurde er onderweg?” kan direct een opgeslagen of geplande reis selecteren.
Datum, traject, trein, perron en bekende reisgegevens worden automatisch vooringevuld en blijven bewerkbaar.
Een verslag kan tijdens en na de reis worden bijgewerkt.
Mogelijke waarnemingen zijn vertraging, spoorwissel, drukte, zitplaats, toegankelijkheid, veiligheid, netheid, defecten, leuke of opvallende situaties, complimenten, klachten en oplossingen.
Rapportages kunnen als WhatsApp-bericht, status, e-mail, tekst, document of PDF worden gedeeld.
Links naar vervoerders, klantenservice, meldpunten, ILT en het ministerie zijn actueel en veilig geopend.
Bij gevaar of nood verwijst de app naar personeel of 112; de rapportagetool vervangt geen noodmelding.
Foto's blijven lokaal totdat de gebruiker bewust kiest voor uploaden of delen.
AI denkt mee over sneller tegenover korter, alternatieve stations, overstaprisico, daluren, fietsafstand, marges en toegankelijkheid.
Advies vermeldt aannames en onderscheidt berekende schattingen van actuele brongegevens.
Feedback van reizigers mag worden samengevat en geclusterd, maar privacygevoelige inhoud wordt niet zonder toestemming gedeeld.
Een AI-knop gebruikt een geldige bestemming en een duidelijke overdrachtstekst; geen leeg tabblad en geen about:blank.
Als automatisch voorinvullen technisch niet mogelijk is, wordt de prompt gekopieerd en krijgt de gebruiker een heldere vervolgstap.
Credits staan zichtbaar onderaan iedere volledige versie en in relevante exports.
De zichtbare kop is “Credits & contact”; technische afkortingen zoals WCV worden niet als los label aan bezoekers getoond.
Vermeld worden: Travel Reporters Reisplanner, Stichting GoDoGood.eu, Gabeler.eu en Stijn Gabeler.
De publieke reisplannerlink en relevante projectlinks blijven aanklikbaar.
Contactgegevens worden alleen opgenomen wanneer ze voor publicatie zijn bedoeld.
Bronnen zoals NS, 9292, Google Maps, KNMI en vervoerders worden als externe informatiebronnen genoemd; dit suggereert geen officiële samenwerking zonder bevestiging.
Broncode, zelfstandige HTML en gedeployde site komen uit dezelfde versie.
Een build moet slagen voordat publicatie plaatsvindt.
JavaScript wordt op syntaxis gecontroleerd en kritieke URL's worden automatisch doorzocht.
Voor publicatie wordt gecontroleerd op googleusercontent, inner-frame, about:blank, blob:, onbedoelde href="#…"-navigatie en lokale paden.
Er is één bron van waarheid voor site-URL, credits, profielversie en exportschema.
Eventhandlers worden niet onbedoeld overschreven of dubbel gekoppeld.
Een externe fout veroorzaakt een leesbare melding; de rest van de app blijft bruikbaar.
Nieuwe functies krijgen een werkende lege status, foutstatus, laadstatus en successtatus.
Versienummer, wijzigingsdatum en migratie van opgeslagen data worden bijgehouden.
Bij tegenstrijdigheid geldt deze volgorde:
De actuele, expliciete opdracht van de projecteigenaar.
Dit projectspecifieke afsprakenbestand.
Algemene MES-/Sites-afspraken en eerdere ontwerpnotities.
Technische standaardkeuzes van de implementatie.
Een afwijking wordt benoemd en toegevoegd aan het wijzigingsoverzicht; afspraken worden niet stil genegeerd.
Publieke site-URL bovenaan exports en deelteksten.
Geen technische iframe- of hash-URL zichtbaar.
Maps-link opnieuw opgelost; geen vaste Alkmaar-Noordfallback.
Van/Naar wisselen en ×-knoppen getest.
18 px en groottebediening getest.
Profiel, opslaan, import en alle exportknoppen getest.
Reis selecteren en verslag voorinvullen getest.
Credits & contact volledig en zichtbaar.
Mobiele en Chromebook-weergave zonder leeg zijscherm.
Build, syntaxis en kritieke-linkcontrole geslaagd.