Zum Inhalt springen
Zwei Monate Plattformarbeit: sechs Module, die jetzt stehen

Zwei Monate Plattformarbeit: sechs Module, die jetzt stehen

· Bert Altena

Sechs zusammenhängende Module auf einer laufenden PHP-Buchungsplattform, gebaut in zwei Monaten, und drei Arbeitsregeln, die ich mitnehme.

Die vergangenen zwei Monate steckte ich fast in Vollzeit in einer einzigen Codebasis: einer Buchungsplattform für Ferienunterkünfte, geschrieben in PHP auf einem eigenen MVC-Aufbau. Kein Projekt auf der grünen Wiese, sondern ein laufendes System, das Geld verarbeitet und täglich Kunden bedient. Darin baut man anders als in einem leeren Ordner.

Das Ergebnis steht im Änderungsprotokoll des Systems selbst: 269 nummerierte Änderungen, von Version 1.0.0 bis 1.0.271, zwischen Mitte Juni und Ende Juli. Das klingt nach vielen kleinen Dingen, und teilweise war es das auch. Aber sechs zusammenhängende Module sind dabei entstanden, die eine Erwähnung wert sind.

Interaktive Buchungskarte mit Live-Verfügbarkeit

Das alte Buchungsformular war eine Liste von Dropdowns. Besucher mussten raten, wo ein Platz liegt und ob ihr Datum frei ist. Die neue Fassung ist ein Lageplan: Sie sehen den Standort von oben, mit nummerierten Markierungen pro Platz, und je nach Datum färbt sich jede Markierung grün, rot oder gelb.

Darunter steckt mehr als es scheint. Ein Platz kann an einen Hauptplatz gekoppelt sein, sodass beide nur gemeinsam buchbar sind. Pro Standort gilt eine Höchstzahl an Personen, und die übrigen Plätze schließen automatisch, sobald diese erreicht ist. Die im Kalender gezeigten Preise sind die Preise nach Rabatt, nicht ein nackter Tagespreis, der sich später im Formular noch ändert.

Die Karte läuft als Einbettungscode auf externen Seiten, in vier Sprachen, ohne Framework. Vanilla JavaScript, weil das Widget auf fremden Seiten landet und dort nichts kaputt machen darf.

Ein Aufgabenboard, auf dem AI die Vorarbeit macht

Das ist das Projekt, aus dem ich selbst am meisten gelernt habe. Auftraggeber und Mitarbeiter reichen einen Wunsch auf einem Kanban-Board ein. Ab da läuft eine Kette: Automatisch entsteht ein Bericht, der den Wunsch zu einem konkreten Vorschlag ausarbeitet, danach eine Checkliste mit Testpunkten, danach ein visuelles Mockup auf Basis des aktuellen Themes und der echten Seitenstruktur des Systems.

Der letzte Schritt ist ein Knopf, mit dem der Entwickler den Wunsch tatsächlich bauen lässt, auf Basis des Berichts, des Mockups, aller Anhänge und des Gesprächs darunter. Daneben steht ein Notizblock, der als Gespräch zwischen Einreicher und Entwickler funktioniert, mit Rechten je Rolle und E-Mail bei einer Antwort.

Was es bringt: Aus dem vagen Wunsch "kann der Kalender nicht etwas klarer sein" wird binnen Minuten ein ausgearbeiteter Vorschlag mit Bild, zu dem der Anfragende ja oder nein sagen kann. Das spart viel Hin und Her.

Kalenderkopplungen, die nichts heimlich überschreiben

Standortbetreiber führen ihre Belegung an verschiedenen Stellen. Manche in einem Kalender, der eine iCal-Adresse ausgeben kann, andere in einem Google Sheet mit farbigen Zellen. Beides ist jetzt angebunden.

Für die Tabellen war AI die naheliegende Wahl: Ein Sheet mit verbundenen Zellen und Farbcodes hat kein festes Format, also liest ein Modell darüber, holt die belegten Zeiträume heraus und gibt jeder Zeile einen Verlässlichkeitswert. Was herauskommt, geht nicht direkt in den Kalender. Alles landet auf einer Arbeitsliste, auf der ein Mensch freigibt oder verwirft.

Das ist Absicht. Eine Kopplung, die Reservierungen eigenständig ändert, ist eine Kopplung, die eines Tages still eine Buchung verdrängt. Der Freigabeschritt kostet zehn Sekunden pro Änderung und erspart dieses Gespräch vollständig.

Partnerportal mit einem Monatsbericht, der sich selbst schreibt

Standortbetreiber haben eine eigene Umgebung bekommen, mit eigener Zwei-Faktor-Anmeldung, getrennt vom Buchungssystem. Darin: ein Jahresdashboard, der eigene Kalender und die Möglichkeit, Zeiträume selbst zu sperren.

Darauf kommt ein Monatsbericht als PDF. Er verbindet die Buchungszahlen aus dem System mit Besuchszahlen aus Google Analytics, abgerufen für alle Sprachpfade derselben Seite. Enthalten ist eine AI-Bewertung der eigenen Standortfotos, mit konkreten Punkten, was besser sein könnte. Den Bericht gibt es in zwei Fassungen: eine für den Betreiber und eine ausführlichere interne.

Newsletter und gemeinsames Postfach im eigenen Haus

Der Newsletter stellt sich weitgehend selbst zusammen, auf Basis dessen, was tatsächlich frei ist, Last-Minute-Angebote eingeschlossen. Er übersetzt in die Sprachen der Empfänger, versendet im Hintergrund in Teilen und erfasst, wer öffnet, klickt und sich abmeldet.

Letzteres war wichtiger als gedacht. Der Mailanbieter bewahrt sein Protokoll nur kurz auf, also ist ohne eigene Erfassung die Frage "wann hat diese Person zuletzt etwas geöffnet" ein halbes Jahr später nicht mehr zu beantworten. Dafür gibt es jetzt eine eigene Tabelle.

Daneben steht ein gemeinsames Postfach mit Regeln und einer Warteschlange, als Ersatz für ein separates Ticketsystem. Weniger Abonnements, und Kundendaten bleiben an einer Stelle.

Preise und Provision mit einer Spur zurück

Das Unsichtbarste und vermutlich Wichtigste. Preise kennen jetzt Saisons, fünf Rabattarten und Änderungen, die man auf ein Datum vorausplant. Jede Änderung sichert eine Momentaufnahme samt der Person, die sie vorgenommen hat. Pfundpreise rechnen mit dem EZB-Tageskurs plus einem einstellbaren Aufschlag.

Die Provision kennt drei Varianten, darunter eine Staffel pro Person. Wichtiger noch: Die Grundlage dafür ist jetzt ausdrücklich festgehalten, mit einer gemeinsamen Berechnung statt vier Stellen, die jeweils etwas anders rechneten.

Was ich daraus mitnehme

Drei Dinge, die ich bei jedem weiteren Projekt genauso mache.

Ein Freigabeschritt ist billiger als eine Rücknahme. Überall, wo eine Kopplung oder eine AI etwas vorschlägt, schlägt sie nur vor. Ein Mensch drückt auf einverstanden.

Zahlungsstatus bewegen sich nur nach oben. Kein automatischer Ablauf darf eine Rechnung auf unbezahlt zurücksetzen. Das ist jetzt eine harte Regel im Code, keine Absprache.

Ein Änderungsprotokoll im System selbst funktioniert. Nicht in einem separaten Dokument, sondern auf einer Seite in der Verwaltung, in der Sprache des Nutzers. Jeder sieht, was sich geändert hat, ohne zu fragen.

Weiterlesen

Steht bei Ihnen etwas Ähnliches an? Ein Buchungssystem, das hakt, eine Kopplung, auf die kein Verlass ist, oder Handarbeit, die jeden Monat wiederkehrt? Vereinbaren Sie ein unverbindliches Gespräch. Ich höre zuerst zu und sage es auch, wenn Sie aus meiner Sicht etwas Einfacheres brauchen als das, wonach Sie fragen.

Bert

Chat met ons