Use ADMIN_USERNAME and ADMIN_PASSWORD set in Cloudflare Pages environment variables.
Choose the admin task you want to work on. Each tool opens separately so the admin page stays clean and easy to use.
Create organisations, enrol employees by name and employee number, issue trainee PINs, and create trainer/manager logins.
Upload a GTFS .zip file and convert one route into a clean AVL simulator route pack. Use this first — no BusMaps API needed.
Search BusMaps stops, next departures, route cards and import GTFS-backed route packs into the Global Route Library.
Build, preview and save real road geometry for route maps using OpenStreetMap/OSRM or uploaded GeoJSON/KML.
Create paid invoice access codes or free/test usernames and passwords for simulator users.
Set route running times, headways, stand times, breaks, PVR and route criteria.
Build reusable minute-by-minute scenarios and save them to Supabase without changing simulator logic.
Create invoices with logo, manual line items, VAT and payment/bank details.
Generate attendance certificates with logo, date, company, course title and certificate number.
Add or change the YouTube video shown on the first landing page.
Add cities, routes, operators, GTFS status, demo visibility and simulator-ready status. Review custom route-pack requests.
Edit quiz settings, questions, pass mark and trainee assessment content.
Review existing simulator access licences and refresh licence records.
Paste any YouTube watch, youtu.be, shorts, live or embed link. The first landing page will show the video immediately inside the opening hero. Autoplay is muted so browsers allow it to start straight away.
Manage the public Global Route Library and the route-pack request form. This only controls the commercial/global route-pack layer. It does not block Objectives Platform access and does not change simulator payment rules.
This imports from the BusMaps API using Cloudflare environment variables only. The API key is never exposed to the browser. Use this as an admin preview/import workflow first, then validate the route before marking it simulator-ready.
Imported routes stay here so they do not feel lost. Use Validate before marking a route simulator-ready.
Use this first. Pick the city, type the route number, then press Search route. The app will find the BusMaps routeId and regionName in the background.
Search the BusMaps GTFS downloads catalogue. This confirms which official or improved GTFS feeds exist for the city/country.
Use a coordinate near the city or route. BusMaps returns stops and usually the regionName needed for the /line route-card endpoint.
Enter the routeId and regionName from BusMaps results. For busmaps.com, countryIso is normally required. For wikiroutes.info, leave countryIso empty if the API rejects it.
Use Paid / Invoice Access Code for customer access after payment or invoice. Use Free / Test Username + Password for temporary demo or internal trainer access. All access is only valid for the selected time after first login.
Configure each route separately. This controls A→B/B→A runtime, frequency, terminal stand time, full-day schedule, breaks and generated PVR. Save globally to Supabase so Trainer Host, Simulator and trainees all load the same route data.
Set the official timing, curtailment and changeover points for this selected route only. All stops/points from the route are available in the dropdown. Save globally to Supabase so Trainer Host, Simulator, Demo Simulator and trainees use the same route criteria.
Create AVL Training Doctor invoices, print/save them, and save the invoice record to Supabase for commercial tracking. This does not affect simulator access; use Create Simulator Access separately to issue the login/code.
Supabase tracking: saved invoices can be searched and sorted by company, invoice date, total and status. The generated invoice preview remains editable before printing or downloading.
Saved invoices will appear here after Supabase SQL is installed.
Create attendance certificates and save certificate records to Supabase so issued certificates can be searched, audited and sorted by company/operator.
Saved certificates will appear here after Supabase SQL is installed.
Safe phase 1: this tool creates scenario templates in Supabase only. The simulator is not forced to wait for these records, so existing startup and route running stay unchanged.
Questions are editable from admin and saved to Supabase. Trainees access this from the front page using Take Training Quiz.
Choose the exact route to open in the main simulator. This clears old simulator route locks.