Dynamic ticket prices and operating costs for phpVMS 7: revenue and cost model, calculator, audit and a finance hub for pilots.
Dynamische Ticketpreise und Betriebskosten für phpVMS 7: Einnahmen- und Kostenmodell, Rechner, Audit und ein Finance Hub für Piloten.
Donation only · private repositoryNur per Spende erhältlich · Repo privatDynamicFares 6.2.12.3
DynamicFares is donationware: there is no fixed price, you contribute what it is worth to you. The code is private and not passed on without approval. How to get it: see the end of this page.
DynamicFares ist Donationware: Es gibt keinen festen Preis, ihr gebt, was es euch wert ist. Der Code ist privat und wird nicht ohne Zustimmung weitergegeben. So bekommt ihr es: siehe Ende dieser Seite.
In a nutshellAuf einen Blick
What it is
Was es ist
DynamicFares replaces flat ticket prices with a transparent price and cost model. Every PIREP gets realistic revenue (passengers, cargo, upselling) and realistic costs (fuel, airport, crew, navigation, maintenance, aircraft, extras). The Calculator tab lets you test every setting before it affects a real flight, and every formula is documented.
DynamicFares ersetzt pauschale Ticketpreise durch ein nachvollziehbares Preis- und Kostenmodell. Jeder PIREP bekommt realistische Einnahmen (Passagiere, Fracht, Upselling) und realistische Kosten (Treibstoff, Flughafen, Crew, Navigation, Wartung, Flugzeug, Extras). Im Reiter Rechner testet man jede Einstellung, bevor sie einen echten Flug trifft, und jede Formel ist dokumentiert.
16admin tabsAdmin-Reiter
3revenue streamsEinnahmequellen
8cost groupsKostengruppen
CSVaudit exportAudit-Export
Pilots see fair, plausible prices and a Finance Hub with the airline’s results.
Administrators steer price level per airline, season, route and airport, and check the result with an audit.
Piloten sehen faire, plausible Preise und einen Finance Hub mit den Ergebnissen der Airline.
Administratoren steuern das Preisniveau je Airline, Saison, Strecke und Flughafen und prüfen das Ergebnis mit einem Audit.
For pilotsFür Piloten
The Finance Hub
Der Finance Hub
The Finance Hub is the pilot-facing page. Choose an airline (or all) and a period; the page shows how many airlines and flights are included, the revenue, the costs, the profit and the margin, and ranks the airlines by result.
Der Finance Hub ist die Seite für Piloten. Man wählt eine Airline (oder alle) und einen Zeitraum; die Seite zeigt, wie viele Airlines und Flüge enthalten sind, Umsatz, Kosten, Gewinn und Marge und reiht die Airlines nach Ergebnis.
Finance Hub, last 30 days. 92 airlines with 395 flights, revenue EUR 34.4 million, costs EUR 25.7 million, profit EUR 8.7 million, margin 25.3%.Finance Hub, letzte 30 Tage. 92 Airlines mit 395 Flügen, Umsatz 34,4 Mio. EUR, Kosten 25,7 Mio. EUR, Gewinn 8,7 Mio. EUR, Marge 25,3 %.Airlines by result. Per airline: flights, revenue, costs, result and margin (Lufthansa 66 flights, margin 32.9%).Airlines nach Ergebnis. Je Airline: Flüge, Umsatz, Kosten, Ergebnis und Marge (Lufthansa 66 Flüge, Marge 32,9 %).For administratorsFür Administratoren
The admin area, tab by tab
Der Admin-Bereich, Reiter für Reiter
A drop-down chooses the area; the interface switches between German and English. The overview lets you switch whole cost modules on and off (fuel, airport and so on). Existing bookings stay unchanged when you switch a module off.
Ein Auswahlfeld wählt den Bereich; die Oberfläche lässt sich zwischen Deutsch und Englisch umschalten. Die Übersicht schaltet ganze Kostenmodule ein und aus (Treibstoff, Flughafen usw.). Bestehende Buchungen bleiben unverändert, wenn man ein Modul abschaltet.
Overview. Cost modules with on/off switch and the important notes for the phpVMS configuration (set default fares and costs to 0, disable costs in Disposable).Übersicht. Kostenmodule mit Ein/Aus-Schalter und die wichtigen Hinweise zur phpVMS-Konfiguration (Standard-Fares und -Kosten auf 0, Kosten in Disposable abschalten).Calculator. Enter airline profile, date, aircraft and route; the result shows revenue, costs and profit with the formula behind each line. The calculation runs in the browser and changes nothing.Rechner. Airline-Profil, Datum, Flugzeug und Strecke eingeben; das Ergebnis zeigt Einnahmen, Kosten und Gewinn mit der Formel hinter jeder Zeile. Gerechnet wird im Browser, es wird nichts geändert.
Revenue
Einnahmen
The ticket price per passenger is: (base price + distance × price per nautical mile + time × price per minute) × class × airline × route × international × weekend × season, never below a minimum price. Cargo works the same way per tonne; upselling adds meals, drinks, Wi-Fi, seat, duty-free and baggage.
Der Ticketpreis je Passagier ist: (Basispreis + Entfernung × Preis je Seemeile + Zeit × Preis je Minute) × Klasse × Airline × Strecke × international × Wochenende × Saison, nie unter einem Mindestpreis. Fracht funktioniert genauso je Tonne; Upselling ergänzt Essen, Getränke, WLAN, Sitzplatz, Duty-free und Gepäck.
Passengers. The formula, the base prices and a worked example (Frankfurt to Madrid: 30.00 base + 75.00 distance + 22.50 time = 127.50 EUR before surcharges).Passagiere. Die Formel, die Grundpreise und eine Beispielrechnung (Frankfurt–Madrid: 30,00 Basis + 75,00 Entfernung + 22,50 Zeit = 127,50 EUR vor Zuschlägen).
Costs
Kosten
Fuel. World-market kerosene price or manual price, volatility and regional factors (Europe, Middle East, Asia, Africa …), airline discounts.Treibstoff. Weltmarkt-Kerosinpreis oder manueller Preis, Volatilität und Regionalfaktoren (Europa, Mittlerer Osten, Asien, Afrika …), Airline-Rabatte.Crew. Cockpit and cabin costs per flight hour, ultra-long-haul double crew above a block-hour threshold, per diem, captain pay with rank factor, and catering per passenger and class.Crew. Cockpit- und Kabinenkosten je Flugstunde, Doppelcrew auf Ultralangstrecke ab einer Blockzeit-Schwelle, Tagespauschale, Captain-Zuschlag mit Rangfaktor und Catering je Passagier und Klasse.Aircraft finances. Leased and owned aircraft get their own cost line per flight hour plus a cost per cycle, with fallback rates by size class (small to widebody).Aircraft-Finanzen. Geleaste und gekaufte Flugzeuge bekommen eine eigene Kostenzeile je Flugstunde plus Kosten je Zyklus, mit Fallback-Raten nach Größenklasse (klein bis Widebody).
Steering the price level
Das Preisniveau steuern
Airlines. A profile per airline: low-cost −50%, standard 0%, premium +25%, luxury +50%, plus cargo tiers (+25 / +30 / +40%). The search finds airlines by ICAO or name.Airlines. Ein Profil je Airline: Low-Cost −50 %, Standard 0 %, Premium +25 %, Luxus +50 %, dazu Cargo-Stufen (+25 / +30 / +40 %). Die Suche findet Airlines nach ICAO oder Name.Seasons. Date ranges with a surcharge or discount, for example off-season −15% or Easter +20%. Passenger prices take the full factor, cargo half of it.Saisonen. Zeiträume mit Zu- oder Abschlag, zum Beispiel Nebensaison −15 % oder Ostern +20 %. Passagierpreise nehmen den vollen Faktor, Fracht die Hälfte.Margins & floors. Guardrails that even out extreme margins and stop cargo revenue from falling below real costs. Every flight is checked; the PIREP shows a flag if a guardrail acted.Margins & Floors. Leitplanken, die extreme Margen ausgleichen und verhindern, dass Frachteinnahmen unter die echten Kosten fallen. Jeder Flug wird geprüft; im PIREP erscheint eine Markierung, wenn eine Leitplanke gegriffen hat.
Checking the result
Das Ergebnis prüfen
Audit & optimisation. Checks PIREP costs for plausibility, shows loss-making flights and suggests concrete adjustments. CSV export of summary, detail and suggestions.Audit & Optimierung. Prüft PIREP-Kosten auf Plausibilität, zeigt Verlustflüge und schlägt konkrete Stellschrauben vor. CSV-Export von Zusammenfassung, Detail und Vorschlägen.
Further tabs: cargo, airport fees, routes (percentage up or down per route), airport categories with manual overrides, upselling, other costs (navigation, maintenance, admin, extras) and a settings backup you can download.
Weitere Reiter: Fracht, Flughafengebühren, Strecken (Prozent rauf oder runter je Strecke), Flughafen-Kategorien mit manuellen Überschreibungen, Upselling, weitere Kosten (Navigation, Wartung, Admin, Extras) und ein Einstellungs-Backup zum Herunterladen.
InstallationInstallation
Installing it and avoiding the usual trap
Installation und die übliche Falle
Step
What to do
1
Back up your current modules/DynamicFares folder (if you update).
2
Upload the folder via FTP, replacing the old one completely.
3
Run the phpVMS updater at /update.
4
Open /admin/dynamicfares, run the System check and repair if offered.
5
Test: use “Recalculate Finances” on one passenger PIREP and one cargo PIREP.
Schritt
Was zu tun ist
1
Den bisherigen Ordner modules/DynamicFares sichern (bei einem Update).
2
Den Ordner per FTP hochladen und den alten komplett ersetzen.
3
Den phpVMS-Updater unter /update ausführen.
4
/admin/dynamicfares öffnen und die Systemprüfung samt Reparatur ausführen, falls angeboten.
5
Testen: „Recalculate Finances“ auf einem Passagier- und einem Fracht-PIREP ausführen.
Never leave a numeric cost or factor field empty. Enter 0. Under PHP 8 an empty value breaks the multiplication and the PIREP submit or the recalculation fails. In phpVMS itself set the default fares and costs to 0 and switch off the costs in Disposable, otherwise they are counted twice.
Numerische Kosten- und Faktorfelder nie leer lassen. 0 eintragen. Unter PHP 8 bricht ein leerer Wert die Multiplikation, und PIREP-Abgabe oder Neuberechnung schlagen fehl. In phpVMS selbst die Standard-Fares und -Kosten auf 0 setzen und die Kosten in Disposable abschalten, sonst zählt alles doppelt.
Requirements: phpVMS 7.0.5 or newer, PHP 8.1 or newer. InnoDB is recommended.
Voraussetzungen: phpVMS 7.0.5 oder neuer, PHP 8.1 oder neuer. InnoDB wird empfohlen.
How to get itSo bekommst du es
Getting this module
So bekommst du dieses Modul
This module is available against a donation. There is no fixed price. The way is the same for every donation module:
Dieses Modul gibt es gegen eine Spende. Es gibt keinen festen Preis. Der Weg ist für alle Spenden-Module derselbe:
Contact Thomas on DiscordMessage thomas_kant_38518 and tell him which module you want.
Donate via PayPalSend your donation to cloud@kant.ovh, as PayPal “Friends”.
Add your GitHub user nameWrite your GitHub user name in the payment note, so we can match the payment to you.
Auf Discord meldenSchreibt Thomas an: thomas_kant_38518, und sagt ihm, welches Modul ihr wollt.
Per PayPal spendenSchickt eure Spende an cloud@kant.ovh, als PayPal „Friends“ (Freunde).
GitHub-Benutzernamen angebenSchreibt euren GitHub-Benutzernamen in den Verwendungszweck, damit wir die Zahlung euch zuordnen können.