Das Problem
Viaggio Fotografico organisiert Fotoreisen und Workshops und veröffentlicht Reiseberichte. Die Website sollte Reisen mit allen Details verkaufen, Anmeldungen korrekt erfassen, Fragen von Besuchern beantworten und auf einen neuen Server umziehen, ohne dass etwas verloren geht.
Was ich gebaut habe
Ich habe das Theme als Reise- und Fotografiemagazin neu aufgebaut und die Werkzeuge ergänzt, die das Team für den Betrieb brauchte.
- Reisen als Produkte – jede Reise ist ein WooCommerce-Produkt mit eigenen Feldern: Visuals für Desktop und Smartphone, Video, Rabatt, Teilnehmer, Programm, Tabs, Galerie und Panoramabild.
- Anmeldeformulare, die sich selbst ausfüllen – ein eigenes Plugin füllt das Buchungsformular mit den Daten der gerade angesehenen Reise vor, ergänzt Felder wie Personenzahl und Zimmeraufteilung und übernimmt dieselben Daten in die E-Mails. Weniger Fehler, weniger Hin und Her.
- Caronte, der KI-Assistent – ein Chat-Widget mit einem serverseitigen OpenAI-Endpunkt. Seine Anweisungen sind in Abschnitte gegliedert, die das Team in WordPress bearbeitet: Regeln, Antwortformat, Hauptseiten, FAQ und die Liste der Reisen. Er verlinkt nur auf Seiten der Website und erfindet keine Preise oder Termine.
- Karten der Reisen und Berichte – Google-Karten der Reisen und der Berichte mit GPS-Koordinaten, mit einer Italienansicht auf dem Smartphone und einer Weltansicht am Desktop.
- Zentrale im Backend – ein Menü im Dashboard, das die wichtigsten Bereiche der Website verknüpft.
- Werkzeuge für Backup und Synchronisation – Archive von Datenbank, Theme und eigenen Plugins per Klick für Serverumzüge, und ein Upload in Teilstücken für Datenbank-Dumps aus der Produktion bis etwa 200 MB, über das Upload-Limit des Servers von 50 MB hinaus.
Womit es gebaut ist
WordPress, WooCommerce, ein eigenes Theme, Advanced Custom Fields Pro, Contact Form 7, zwei eigene Plugins, Redis-Cache, die OpenAI Responses API, Google Maps, Deployment mit git.
Warum so gebaut
Der KI-Chat ruft OpenAI vom Server aus auf, nicht aus dem Browser, damit der API-Schlüssel nie beim Besucher landet. Weil der Prompt in bearbeitbaren Abschnitten liegt, kann das Team FAQ und Reisen aktualisieren, ohne einen Entwickler zu fragen.


