Events, tours, fly-ins and gamification for phpVMS 7 — German Sky Group
A standalone phpVMS 7 module that bundles tours, events/fly-ins, legs, sign-up & booking, a photo gallery and patches/awards into one ACARS-integrated package — with a boarding-pass look, VATSIM/IVAO import and AI texts. It replaces the earlier one-off solutions DisposableSpecial-Tours and CHEvents. Installable without SSH.
Architecture & integration
-
Clean nwidart/laravel-modules module (PSR-4
Modules\SkyAdventures\), no external Composer dependencies — uses only what phpVMS ships (image optimisation viaintervention/imagev2 or v3) -
Automatic PIREP→leg matching through ACARS: matched by route/distance/block time, constraints (airline/aircraft) and performance rules (landing rate, min fuel, min block time). Decoupled (queue + safety guards + kill-switch) so it never blocks the PIREP-acceptance path
-
Patch = single source of truth: for every patch the native phpVMS award is created, updated (incl. image) and removed automatically — no manual award upkeep
-
Own
sa_*tables, fine-grained permissions (content/settings/rewards/imports split), settings with masked secrets + cron token
Tours
-
Modes Sequential (with continuity check), Free, X of Y; bonus payout per leg
-
Airline lock + allowed aircraft classes (narrow/wide/regional/turboprop/GA); per leg whitelist/blacklist/fixed
-
Series bundle tours into one project with a mega patch
Events & fly-ins
-
Types: Group, Open Window, Race, Charity, Training, Fly-In; completion modes all / X of Y / one is enough
-
Fly-In → one destination, any departure — and Fly-Out as its mirror (one start → anywhere)
-
RSVP/sign-up, fixed time window, donation link per event, VATSIM/IVAO event import
Patches & public overview
-
Custom badges with image + rarity (Common → Legendary) & categories
-
Public patches page: collector leaderboard (count bars, tie-aware ranking), gallery of all patches, drill-down into pilot & patch (“X of Y”)
AI & convenience
-
AI texts with an Anthropic → Gemini → Wikipedia fallback chain for descriptions, pre-flight briefings, leg stories & sights/tags
-
5-step wizard, “paste route” (bulk legs from an ICAO chain), auto-fill of distance & block time (great-circle)
Frontend (pilots)
-
Boarding-pass leg cards (route, distance, status, crew, live-map link), hero banner with adjustable crop
-
Photo gallery with client-side image compression, promo slideshow on the home page, progress & participant display
-
Discord linking + webhook notifications
Stack & languages
phpVMS 7 · Laravel/Blade · fully bilingual EN/DE (frontend follows the user’s language, admin has its own switcher) · built-in Help & Glossary · Pint + PHPUnit · MIT licence · actively developed (currently v0.18.x)
Installation (no SSH / no Composer)
-
Unzip
SkyAdventures-vX.Y.Z.zipfrom the Releases → aSkyAdventures/folder -
Upload via FTP to
[phpvms]/modules/SkyAdventures/(somodule.jsonsits there) -
In the browser open
https://your-domain/update→ phpVMS creates allsa_*tables -
Done — it shows up as “SkyAdventures” in the admin menu (With CLI: unzip →
php artisan migrate. Do not use the “Modules → Upload” button — the module cache otherwise throws “does not exist”.)
Interested? Screenshots & a demo video are available on request — if you’d like to run or test SkyAdventures for your VA, drop me a DM or reach out on Discord! ![]()
Video: Login – KantCloud