[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$f6cYALR2okcDJSFXZvjO_kOAPfo6rnWxkz-FVsZGRoDs":3},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":13,"num_ratings":14,"last_updated":15,"tested_up_to":16,"requires_at_least":17,"requires_php":18,"tags":19,"homepage":21,"download_link":22,"security_score":13,"vuln_count":23,"unpatched_count":23,"last_vuln_date":24,"fetched_at":25,"vulnerabilities":26,"developer":27,"crawl_stats":24,"alternatives":35,"analysis":36,"fingerprints":246},"travelmanager-buchungssoftware","Travelmanager Buchungssoftware","22.27","Philipp","https:\u002F\u002Fprofiles.wordpress.org\u002Fcurato\u002F","\u003Cp>Die \u003Ca href=\"https:\u002F\u002Ftravelmanager.de\" rel=\"nofollow ugc\">Travelmanager Buchungssoftware\u003C\u002Fa> und \u003Ca href=\"https:\u002F\u002Ftickyt.de\" rel=\"nofollow ugc\">Tickyt Buchungssoftware\u003C\u002Fa> sowie die  \u003Ca href=\"https:\u002F\u002Fgastrozack.app\" rel=\"nofollow ugc\">Gastrozack Gastrokasse\u003C\u002Fa> ist das Reservierungssystem sowie die Gastrokasse für die Abbildung von Fahrten, Touren und Events in einer webbasierten Software. Das Travelmanager Plugin beinhaltet verschiedene Ansichten wie den Fahrplan (Die nächsten Abfahrten) sowie ein Buchungskalender.\u003C\u002Fp>\n\u003Cp>\u003C!-- AUTO-GENERATED-CONTENT:START -->\u003Cbr \u002F>\nTravelmanager-Shortcodes – Gesamtdokumentation\u003C\u002Fp>\n\u003Cp>Überblick\u003Cbr \u002F>\n– Shortcodes: [travelmanager …], alternativ [tickyt …] oder [popup …] (funktional identisch)\u003Cbr \u002F>\n– Pflichtangabe: account=”xyz.example.domain” in jedem Shortcode\u003Cbr \u002F>\n– Sprache: lang=”de”, “en” oder “pl” (Standard orientiert sich an der WordPress-Sprache)\u003Cbr \u002F>\n– Steuerung über call=”…” bestimmt die Funktion (z. B. timetable, eventinfo, shop)\u003C\u002Fp>\n\u003Cp>Schnellstart\u003Cbr \u002F>\n– Basisformat: [travelmanager account=”xyz.example.domain” call=”timetable” …]\u003Cbr \u002F>\n– Häufige Parameter: start, stop, station_id, linie_id\u002Flinien_ids, linie_typ_id, product_id, newwindow, view, target, godirect, max, lang\u003C\u002Fp>\n\u003Cp>Globale Parameter (für viele Aufrufe verfügbar)\u003Cbr \u002F>\n– account\u003Cbr \u002F>\n  – Pflicht: ja\u003Cbr \u002F>\n  – Beschreibung: Mandanten-\u002FSystemkennung (Subdomain oder Domain des externen Systems)\u003Cbr \u002F>\n– lang\u003Cbr \u002F>\n  – Pflicht: nein\u003Cbr \u002F>\n  – Standard: WordPress-Sprache\u003Cbr \u002F>\n  – Werte: de, en, pl\u003Cbr \u002F>\n  – Beschreibung: Sprache erzwingen\u003Cbr \u002F>\n– start\u003Cbr \u002F>\n  – Pflicht: nein\u003Cbr \u002F>\n  – Werte: Datum (YYYY-MM-DD), today, this month etc.\u003Cbr \u002F>\n  – Beschreibung: Startdatum\u002F-monat\u003Cbr \u002F>\n– stop\u003Cbr \u002F>\n  – Pflicht: nein\u003Cbr \u002F>\n  – Werte: Zeiträume wie 3 months, 1 week\u003Cbr \u002F>\n  – Beschreibung: Zeitraum ab start\u003Cbr \u002F>\n– station_id\u003Cbr \u002F>\n  – Pflicht: nein\u003Cbr \u002F>\n  – Beschreibung: auf Abfahrtsort\u002FHafen filtern\u003Cbr \u002F>\n– linie_id \u002F linien_ids\u003Cbr \u002F>\n  – Pflicht: nein\u003Cbr \u002F>\n  – Werte: einzelne ID (linie_id) oder Liste “5,6,9” (linien_ids)\u003Cbr \u002F>\n  – Beschreibung: auf Linie(n) filtern\u003Cbr \u002F>\n– linie_typ_id\u003Cbr \u002F>\n  – Pflicht: nein\u003Cbr \u002F>\n  – Beschreibung: Kategorie\u002FThema (z. B. Eventfahrten)\u003Cbr \u002F>\n– ressource_id\u003Cbr \u002F>\n  – Pflicht: nein\u003Cbr \u002F>\n  – Beschreibung: auf Schiff\u002FRessource filtern\u003Cbr \u002F>\n– product_id\u003Cbr \u002F>\n  – Pflicht: nein (nur bei bestimmten Aufrufen erforderlich)\u003Cbr \u002F>\n  – Beschreibung: konkretes Angebot\u002FArtikel\u003Cbr \u002F>\n– vermittler_id\u003Cbr \u002F>\n  – Pflicht: nein\u003Cbr \u002F>\n  – Beschreibung: Vermittler-\u002FPartnerkennung anhängen\u003Cbr \u002F>\n– newwindow=”true”\u003Cbr \u002F>\n  – Pflicht: nein\u003Cbr \u002F>\n  – Beschreibung: Links in neuem Tab\u002FFenster öffnen\u003Cbr \u002F>\n– view\u003Cbr \u002F>\n  – Pflicht: nein\u003Cbr \u002F>\n  – Werte: ldjson (timetable), list (eventinfo)\u003Cbr \u002F>\n  – Beschreibung: Ausgabe- bzw. Darstellungsmodus\u003Cbr \u002F>\n– target\u003Cbr \u002F>\n  – Pflicht: nein\u003Cbr \u002F>\n  – Beschreibung: Zielseite oder -bereich für interne Verlinkungen\u003Cbr \u002F>\n– godirect\u003Cbr \u002F>\n  – Pflicht: nein\u003Cbr \u002F>\n  – Beschreibung: direkte Weiterleitung zur eigenen Detail-\u002FBuchungsseite\u003Cbr \u002F>\n– max\u003Cbr \u002F>\n  – Pflicht: nein\u003Cbr \u002F>\n  – Beschreibung: Anzahlbegrenzung oder Schwellenwert (z. B. eventinfo Liste)\u003Cbr \u002F>\n– exact\u003Cbr \u002F>\n  – Pflicht: nein\u003Cbr \u002F>\n  – Beschreibung: reserviert (derzeit ohne Funktion)\u003C\u002Fp>\n\u003Cp>Hinweise zu speziellen Ansichten und URL-Parameter\u003Cbr \u002F>\n– view=”ldjson” (nur timetable): gibt strukturierte Daten für Rich Results aus; keine sichtbare Liste\u003Cbr \u002F>\n– view=”list” + max (nur eventinfo): zeigt Datumswahl als Liste, wenn die Anzahl ≤ max liegt\u003Cbr \u002F>\n– &view=csv in der Seitenadresse (nur shop): Export für Preissuchmaschinen\u003Cbr \u002F>\n– URL-Vorbelegungen:\u003Cbr \u002F>\n  – ?date=YYYY-MM-DD (Datum vorbelegen, z. B. bei eventinfo)\u003Cbr \u002F>\n  – ?ref=… (Vermittler-\u002FPartnerreferenz)\u003Cbr \u002F>\n  – ?item=ID (Artikel-Detailansicht im Shop öffnen)\u003C\u002Fp>\n\u003Cp>Aufrufe (call)\u003C\u002Fp>\n\u003Cp>1) timetable\u003Cbr \u002F>\n– Zweck: Fahrtenliste mit Datum, Uhrzeit, Strecke, Bild und Buchungslink (ideal für Event-\u002FThemenfahrten)\u003Cbr \u002F>\n– Erforderlich\u003Cbr \u002F>\n  – account\u003Cbr \u002F>\n– Optional\u003Cbr \u002F>\n  – station_id: Abfahrtsort einschränken\u003Cbr \u002F>\n  – linie_id oder linien_ids: auf Linie(n) filtern\u003Cbr \u002F>\n  – linie_typ_id: Kategorie\u002FThema filtern\u003Cbr \u002F>\n  – start: Startdatum (Standard: heute)\u003Cbr \u002F>\n  – stop: Zeitraum ab Start (Standard: 3 months)\u003Cbr \u002F>\n  – max: maximale Einträge (Standard: 250)\u003Cbr \u002F>\n  – ressource_id: nach Schiff\u002FRessource filtern\u003Cbr \u002F>\n  – newwindow=”true”: Links in neuem Fenster öffnen\u003Cbr \u002F>\n  – target: interne Zielseite für Buchung\u003Cbr \u002F>\n  – godirect: direkte Weiterleitung auf eigene eventinfo-Seite (mit Datumsauswahl)\u003Cbr \u002F>\n  – view=”ldjson”: nur strukturierte Daten ausgeben (keine Liste)\u003Cbr \u002F>\n  – vermittler_id, mandant_id: Kennungen übergeben\u003Cbr \u002F>\n  – lang: Sprache\u003Cbr \u002F>\n– Hinweise\u003Cbr \u002F>\n  – target\u002Fgodirect eignen sich für interne Detailseiten und Buchungsmasken\u003Cbr \u002F>\n  – view=”ldjson” für Suchmaschinen (Rich Results)\u003Cbr \u002F>\n– Beispiel\u003Cbr \u002F>\n  [travelmanager account=”xyz.example.domain” call=”timetable” station_id=”12″ linie_typ_id=”3″ start=”01.05.2025″ stop=”2 months” max=”150″ newwindow=”true” lang=”de”]\u003C\u002Fp>\n\u003Cp>2) alert\u003Cbr \u002F>\n– Zweck: Hinweis-\u002FWarnbox (z. B. Betriebsinfo)\u003Cbr \u002F>\n– Erforderlich\u003Cbr \u002F>\n  – account\u003Cbr \u002F>\n– Optional\u003Cbr \u002F>\n  – view=”none”: nur Rahmen ohne Inhalt (Platzhalter)\u003Cbr \u002F>\n– Beispiel\u003Cbr \u002F>\n  [travelmanager account=”xyz.example.domain” call=”alert”]\u003C\u002Fp>\n\u003Cp>3) calendar\u003Cbr \u002F>\n– Zweck: Monatskalender mit Verkehrstagen für eine Linie oder Kategorie (fertiges HTML aus externem System)\u003Cbr \u002F>\n– Erforderlich\u003Cbr \u002F>\n  – account\u003Cbr \u002F>\n  – linie_id oder linie_typ_id\u003Cbr \u002F>\n– Optional\u003Cbr \u002F>\n  – station_id: Hafen einbeziehen\u003Cbr \u002F>\n  – start: Startmonat (Standard: this month)\u003Cbr \u002F>\n  – newwindow=”true”: Links in neuem Fenster öffnen\u003Cbr \u002F>\n  – lang: Sprache\u003Cbr \u002F>\n– Beispiel\u003Cbr \u002F>\n  [travelmanager account=”xyz.example.domain” call=”calendar” linie_id=”5″ station_id=”12″ start=”this month” newwindow=”true”]\u003C\u002Fp>\n\u003Cp>4) eventcalendar\u003Cbr \u002F>\n– Zweck: Interaktiver Monatskalender mit Navigation (Monats-, Stations- und Kategorieauswahl)\u003Cbr \u002F>\n– Erforderlich\u003Cbr \u002F>\n  – account\u003Cbr \u002F>\n  – linie_typ_id oder station_id\u003Cbr \u002F>\n– Optional\u003Cbr \u002F>\n  – start: Startmonat (Standard: aktueller Monat)\u003Cbr \u002F>\n  – newwindow=”true”: Links in neuem Fenster\u003Cbr \u002F>\n  – target=”internal”: Ziele bleiben innerhalb der Seite\u003Cbr \u002F>\n  – show_station=”true”: Stationsauswahl anzeigen\u003Cbr \u002F>\n  – show_category=”true”: Kategorieauswahl anzeigen\u003Cbr \u002F>\n  – lang: Sprache\u003Cbr \u002F>\n– Beispiel\u003Cbr \u002F>\n  [travelmanager account=”xyz.example.domain” call=”eventcalendar” linie_typ_id=”3″ show_station=”true” show_category=”true” newwindow=”true” lang=”de”]\u003C\u002Fp>\n\u003Cp>5) eventinfo\u003Cbr \u002F>\n– Zweck: Detail- und Buchungsseite zu einem Angebot mit Bildern, Beschreibung, Highlights und Datums-\u002FUhrzeitwahl (inkl. 1-\u002F2-Wege-Fahrten)\u003Cbr \u002F>\n– Erforderlich\u003Cbr \u002F>\n  – account\u003Cbr \u002F>\n  – product_id\u003Cbr \u002F>\n  – Alternativ: relation=… in der Seitenadresse (setzt product_id automatisch)\u003Cbr \u002F>\n– Optional\u003Cbr \u002F>\n  – view=”list”: Datumswahl als Liste bei wenigen Terminen\u003Cbr \u002F>\n  – max: Schwelle für Listenansicht (Standard: 10)\u003Cbr \u002F>\n  – lang: Sprache\u003Cbr \u002F>\n  – URL-Vorbelegung: ?date=YYYY-MM-DD, ?ref=…\u003Cbr \u002F>\n– Wirkung\u003Cbr \u002F>\n  – Rückfahrten: zweite Auswahl erscheint automatisch\u003Cbr \u002F>\n  – Routenlink bei vorhandenen Koordinaten\u003Cbr \u002F>\n  – Integration von Bewertungen (falls vorhanden)\u003Cbr \u002F>\n– Beispiel\u003Cbr \u002F>\n  [travelmanager account=”xyz.example.domain” call=”eventinfo” product_id=”RHEIN-123″ view=”list” max=”8″ lang=”de”]\u003C\u002Fp>\n\u003Cp>6) basket\u003Cbr \u002F>\n– Zweck: Warenkorb-Icon mit Anzahl und Link zum Warenkorb\u003Cbr \u002F>\n– Erforderlich\u003Cbr \u002F>\n  – account\u003Cbr \u002F>\n– Optional\u003Cbr \u002F>\n  – target=”blank”: Warenkorb in neuem Tab öffnen\u003Cbr \u002F>\n– Wirkung\u003Cbr \u002F>\n  – Zeigt Icon; bei Artikeln im Warenkorb erscheint eine Zahl; Klick führt zum Warenkorb\u003Cbr \u002F>\n– Beispiel\u003Cbr \u002F>\n  [travelmanager account=”xyz.example.domain” call=”basket” target=”blank”]\u003C\u002Fp>\n\u003Cp>7) shop\u003Cbr \u002F>\n– Zweck: Shop-Übersicht und -Detailseiten für Einzelverkäufe (z. B. Gutscheine)\u003Cbr \u002F>\n– Erforderlich\u003Cbr \u002F>\n  – account\u003Cbr \u002F>\n  – category_id\u003Cbr \u002F>\n– Optional\u003Cbr \u002F>\n  – view=”netto”: Preise ohne Steuerhinweis (falls im Datensatz vorgesehen)\u003Cbr \u002F>\n  – lang: Sprache\u003Cbr \u002F>\n  – URL-Parameter:\u003Cbr \u002F>\n    – &view=csv: Export für Preissuchmaschinen; Links via target=”domain.tld\u002Fpfad” umleitbar\u003Cbr \u002F>\n    – ?item=ID: Detailansicht eines Artikels inkl. Kaufen-Formular\u003Cbr \u002F>\n– Wirkung\u003Cbr \u002F>\n  – Detailansicht: Anzahl\u002FGutscheinwerte wählen und in den Warenkorb legen\u003Cbr \u002F>\n  – CSV-Export: tabellarische Liste für Preisportale\u003Cbr \u002F>\n– Beispiel\u003Cbr \u002F>\n  [travelmanager account=”xyz.example.domain” call=”shop” category_id=”7″ lang=”de”]\u003C\u002Fp>\n\u003Cp>8) fahrtfinder2\u003Cbr \u002F>\n– Zweck: Fahrtfinder mit Start-\u002FZielauswahl, Datum und Ergebnisliste\u003Cbr \u002F>\n– Erforderlich\u003Cbr \u002F>\n  – account\u003Cbr \u002F>\n– Optional\u003Cbr \u002F>\n  – station_id: Startstation vorbelegen\u003Cbr \u002F>\n  – linien_ids: Linienauswahl einschränken (Mehrfachangaben)\u003Cbr \u002F>\n  – linie_typ_id: Kategorie\u002FThema filtern\u003Cbr \u002F>\n  – show_station=”false”: Zielstation ausblenden (nur Startstation)\u003Cbr \u002F>\n  – current_date=”true”: heutiges Datum (nach Mittag automatisch morgen)\u003Cbr \u002F>\n  – target: CSS-\u002FSelektor-Ziel oder Bereich für Ergebnisse\u003Cbr \u002F>\n  – godirect: Zieladresse für „zum Angebot“-Klicks (z. B. interne Buchungsseite)\u003Cbr \u002F>\n  – max: Anzahlbegrenzung bei Signet-\u002FKachelmodus\u003Cbr \u002F>\n  – lang: Sprache\u003Cbr \u002F>\n– Wirkung\u003Cbr \u002F>\n  – Ohne target: Ausgabe der Ergebnisliste unter der Suche\u003Cbr \u002F>\n  – Mit target\u002Fgodirect: direkte Weiterleitung oder gezielte Ausgabe\u003Cbr \u002F>\n– Beispiel\u003Cbr \u002F>\n  [travelmanager account=”xyz.example.domain” call=”fahrtfinder2″ station_id=”12″ linien_ids=”5,6″ linie_typ_id=”3″ current_date=”true” lang=”de”]\u003C\u002Fp>\n\u003Cp>9) sitemap\u003Cbr \u002F>\n– Zweck: Index-\u002FÜbersichtsseite je Linie mit Links zu Relationen; erzeugt zusätzlich eine XML-Sitemap im Upload-Ordner\u003Cbr \u002F>\n– Erforderlich\u003Cbr \u002F>\n  – account\u003Cbr \u002F>\n– Optional\u003Cbr \u002F>\n  – linie_typ_id, linien_ids: Auswahl der Linien\u002FKategorien\u003Cbr \u002F>\n  – view=”empty”: keine sichtbare Ausgabe, aber XML wird erzeugt\u003Cbr \u002F>\n– Wirkung\u003Cbr \u002F>\n  – Sichtbare Liste mit Teasern, Bildern und „Mehr Infos“-Links\u003Cbr \u002F>\n  – Link zur erzeugten XML-Datei wird darunter angezeigt\u003Cbr \u002F>\n– Beispiel\u003Cbr \u002F>\n  [travelmanager account=”xyz.example.domain” call=”sitemap” linie_typ_id=”3″]\u003C\u002Fp>\n\u003Cp>10) chatbot\u003Cbr \u002F>\n– Zweck: Chatbot öffnen (Button oder Link)\u003Cbr \u002F>\n– Erforderlich\u003Cbr \u002F>\n  – account\u003Cbr \u002F>\n– Optional\u003Cbr \u002F>\n  – view=”link”: als Textlink statt Button\u003Cbr \u002F>\n  – title=”…”: Beschriftung des Buttons\u002FLinks\u003Cbr \u002F>\n– Beispiel\u003Cbr \u002F>\n  [travelmanager account=”xyz.example.domain” call=”chatbot” view=”link” title=”Chat starten”]\u003C\u002Fp>\n\u003Cp>Weitere Aufrufe (Kurzüberblick)\u003Cbr \u002F>\n– contingent\u003Cbr \u002F>\n  – Zweck: Verfügbarkeiten für ein Produkt (Liste oder Monatskalender)\u003Cbr \u002F>\n  – Erforderlich: product_id, start, stop (und ggf. max)\u003Cbr \u002F>\n  – Optional: view=”calendar”, newwindow, lang\u003Cbr \u002F>\n– artikel\u003Cbr \u002F>\n  – Zweck: Einzelartikel-Ansicht (Produktdetails aus dem Shop)\u003Cbr \u002F>\n  – Erforderlich: product_id\u003Cbr \u002F>\n– listcategories, list, find\u003Cbr \u002F>\n  – Zweck: Hilfslisten für Kategorien\u002FSuchen\u003Cbr \u002F>\n– eventcard, demo\u003Cbr \u002F>\n  – Zweck: Vorschauelemente\u002FTest; eventcard derzeit Platzhalter\u003C\u002Fp>\n\u003Cp>Beispiele für typische Einsatzzwecke (Textbausteine)\u003Cbr \u002F>\n– Event- und Themenfahrten: „Entdecken Sie unsere schönsten Fahrten mit Live-Musik und Kulinarik. Die Liste zeigt Termine, Abfahrtshäfen und direkte Buchungslinks.“\u003Cbr \u002F>\n– Kalender: „Der Monatskalender zeigt alle Verkehrstage. Blättern Sie bequem durch die Monate und wählen Sie Ihre Wunschfahrt.“\u003Cbr \u002F>\n– Shop: „Gutscheine und Extras finden Sie im Shop. Wählen Sie Artikel und Beträge einfach aus und legen Sie diese in den Warenkorb.“\u003Cbr \u002F>\n– Chatbot: „Sie haben Fragen? Unser Chatbot hilft Ihnen bei Terminen, Buchungen und allgemeinen Auskünften.“\u003C\u002Fp>\n\u003Cp>Wichtige Hinweise und Best Practices\u003Cbr \u002F>\n– account ist in jedem Shortcode Pflicht; ohne Account erfolgt keine Ausgabe\u003Cbr \u002F>\n– Sprache je Einbindung mit lang festlegbar; sonst WordPress-Standard\u003Cbr \u002F>\n– eventinfo: Datum per ?date=YYYY-MM-DD vorbelegbar; Vermittlerkennung per ?ref=… oder vermittler_id\u003Cbr \u002F>\n– timetable: Für Rich Results view=”ldjson” nutzen (keine sichtbare Liste)\u003Cbr \u002F>\n– shop: CSV-Export über ?view=csv an der Seitenadresse\u003Cbr \u002F>\n– Interne Zielseiten: target und\u002Foder godirect verwenden, um von Listen oder Suchen direkt in eigene Detail-\u002FBuchungsmasken zu leiten\u003Cbr \u002F>\n– exact ist reserviert und hat aktuell keine sichtbare Funktion\u003Cbr \u002F>\n\u003C!-- AUTO-GENERATED-CONTENT:END -->\u003C\u002Fp>\n\u003Ch3>Häufig gestellte Fragen\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\n\u003Cp>\u003Cstrong>Ich habe noch keinen Travelmanager Account, wo kann ich diesen eröffnen?\u003C\u002Fstrong>\u003Cbr \u002F>\nBesuchen Sie \u003Ca href=\"https:\u002F\u002Ftravelmanager.de\u002Fkontakt\u002F\" rel=\"nofollow ugc\">diese Seite\u003C\u002Fa> und senden Sie eine Nachricht, um ein Konto zu erstellen.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Ich habe noch keinen Tickyt Account, wo kann ich diesen eröffnen?\u003C\u002Fstrong>\u003Cbr \u002F>\nBesuchen Sie \u003Ca href=\"https:\u002F\u002Ftickyt.de\u002Fkontakt\u002F\" rel=\"nofollow ugc\">diese Seite\u003C\u002Fa> und senden Sie eine Nachricht, um ein Konto zu erstellen.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Ich habe noch keinen Gastrozack Account, wo kann ich diesen eröffnen?\u003C\u002Fstrong>\u003Cbr \u002F>\nBesuchen Sie \u003Ca href=\"https:\u002F\u002Fgastrozack.app\u002Fmehr-infos\u002F\" rel=\"nofollow ugc\">diese Seite\u003C\u002Fa> und senden Sie eine Nachricht, um ein Konto zu erstellen.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Ich benötige Support für das Plugin, an wen kann ich mich wenden?\u003C\u002Fstrong>\u003Cbr \u002F>\nUnser Kundenservice hilft Ihnen gerne weiter. Kontaktieren Sie uns unter \u003Ca href=\"mailto:service@travelmanager.de\" rel=\"nofollow ugc\">service@travelmanager.de\u003C\u002Fa>.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>**Ich benötige Support für das Plugin, an wen kann ich mich wenden? =\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Schreiben Sie uns einfach eine Mail an service@travelmanager.de – wir freuen uns auf Ihre Nachricht!\u003C\u002Fp>\n\u003Cul>\n\u003Cli>**Ich habe einen Funktionswunsch =\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Schreiben Sie uns einfach eine Mail an service@travelmanager.de – wir freuen uns auf Ihr Feedback!\u003C\u002Fp>\n\u003Ch3>Über uns\u003C\u002Fh3>\n\u003Cp>Alle Informationen zur Travelmanager Buchungssoftware finden Sie unter \u003Ca href=\"https:\u002F\u002Ftravelmanager.de\" title=\"Travelmanager Buchungssoftware\" rel=\"nofollow ugc\">Travelmanager Buchungsssoftware\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Ftickyt.de\" title=\"Tickyt Buchungssoftware\" rel=\"nofollow ugc\">Tickyt Buchungsssoftware\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Fgastrozack.app\" title=\"Gastrozack Gastrokasse\" rel=\"nofollow ugc\">Gastrozack Gastrokasse\u003C\u002Fa> und unter \u003Ca href=\"https:\u002F\u002Fwww.phcom.de\u002F\" title=\"PHCOM Informatik\" rel=\"nofollow ugc\">PHCOM\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch3>Markdown\u003C\u002Fh3>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Ftravelmanager.de\" rel=\"nofollow ugc\">Travelmanager Buchungssoftware\u003C\u002Fa>\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fferry-software.com\" rel=\"nofollow ugc\">Ferry Software\u003C\u002Fa>\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Ftickyt.de\" rel=\"nofollow ugc\">Tickyt Buchungssoftware\u003C\u002Fa>\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fgastrozack.app\" rel=\"nofollow ugc\">Gastrozack Kassensoftware\u003C\u002Fa>\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fwww.phcom.de\" rel=\"nofollow ugc\">PHCOM Software\u003C\u002Fa>\u003C\u002Fp>\n","Dies ist die README-Datei für das Travelmanager WordPress Plugin. Für Informationen in Englisch, sehen Sie bitte die englische Version der README.",30,6979,100,2,"2026-03-11T11:28:00.000Z","6.9.4","6.0","8.0",[20],"travelmanager-reservierungssystem-buchungssoftware-booking-timetable-fahrplan-buchungssystem","https:\u002F\u002Ftravelmanager.de\u002Fsupport\u002Fwordpress\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ftravelmanager-buchungssoftware.zip",0,null,"2026-03-15T15:16:48.613Z",[],{"slug":28,"display_name":29,"profile_url":8,"plugin_count":14,"total_installs":30,"avg_security_score":31,"avg_patch_time_days":32,"trust_score":33,"computed_at":34},"curato","Curator.io",2030,99,19,93,"2026-04-04T22:41:40.258Z",[],{"attackSurface":37,"codeSignals":134,"taintFlows":170,"riskAssessment":231,"analyzedAt":245},{"hooks":38,"ajaxHandlers":72,"restRoutes":120,"shortcodes":121,"cronEvents":131,"entryPointCount":132,"unprotectedCount":133},[39,46,49,52,56,60,65,69],{"type":40,"name":41,"callback":42,"priority":43,"file":44,"line":45},"action","wp_enqueue_scripts","travelmanager_enqueue_jquery",1,"index.php",1059,{"type":40,"name":41,"callback":47,"priority":13,"file":44,"line":48},"travelmanager_enqueue_glightbox",1060,{"type":40,"name":41,"callback":50,"priority":13,"file":44,"line":51},"travelmanager_enqueue_flexslider",1061,{"type":40,"name":53,"callback":54,"file":44,"line":55},"init","tm_get_session_id",1062,{"type":40,"name":53,"callback":57,"priority":58,"file":44,"line":59},"tm_register_rewrite_rules",5,1077,{"type":61,"name":62,"callback":63,"file":44,"line":64},"filter","query_vars","tm_register_query_vars",1084,{"type":40,"name":66,"callback":67,"file":44,"line":68},"wp_head","travelmanager_plugin_calendar_locale",1121,{"type":40,"name":66,"callback":70,"file":44,"line":71},"travelmanager_plugin_ajaxurl",1122,[73,77,80,83,85,88,90,93,95,98,100,103,105,108,110,113,115,118],{"action":74,"nopriv":75,"callback":74,"hasNonce":75,"hasCapCheck":75,"file":44,"line":76},"travelmanager_eventcalendar",false,1100,{"action":74,"nopriv":78,"callback":74,"hasNonce":75,"hasCapCheck":75,"file":44,"line":79},true,1101,{"action":81,"nopriv":75,"callback":81,"hasNonce":75,"hasCapCheck":75,"file":44,"line":82},"travelmanager_chatbot",1103,{"action":81,"nopriv":78,"callback":81,"hasNonce":75,"hasCapCheck":75,"file":44,"line":84},1104,{"action":86,"nopriv":75,"callback":86,"hasNonce":75,"hasCapCheck":75,"file":44,"line":87},"travelmanager_list",1106,{"action":86,"nopriv":78,"callback":86,"hasNonce":75,"hasCapCheck":75,"file":44,"line":89},1107,{"action":91,"nopriv":75,"callback":91,"hasNonce":75,"hasCapCheck":75,"file":44,"line":92},"travelmanager_eventinfo_hinfahrt",1108,{"action":91,"nopriv":78,"callback":91,"hasNonce":75,"hasCapCheck":75,"file":44,"line":94},1109,{"action":96,"nopriv":75,"callback":96,"hasNonce":75,"hasCapCheck":75,"file":44,"line":97},"travelmanager_eventinfo_rueckfahrt",1110,{"action":96,"nopriv":78,"callback":96,"hasNonce":75,"hasCapCheck":75,"file":44,"line":99},1111,{"action":101,"nopriv":75,"callback":101,"hasNonce":75,"hasCapCheck":75,"file":44,"line":102},"travelmanager_contingent",1112,{"action":101,"nopriv":78,"callback":101,"hasNonce":75,"hasCapCheck":75,"file":44,"line":104},1113,{"action":106,"nopriv":75,"callback":106,"hasNonce":75,"hasCapCheck":75,"file":44,"line":107},"travelmanager_listcategories",1114,{"action":106,"nopriv":78,"callback":106,"hasNonce":75,"hasCapCheck":75,"file":44,"line":109},1115,{"action":111,"nopriv":75,"callback":111,"hasNonce":75,"hasCapCheck":75,"file":44,"line":112},"travelmanager_tabs",1116,{"action":111,"nopriv":78,"callback":111,"hasNonce":75,"hasCapCheck":75,"file":44,"line":114},1117,{"action":116,"nopriv":75,"callback":116,"hasNonce":75,"hasCapCheck":75,"file":44,"line":117},"travelmanager_fahrtfinderv2_get_relations",1118,{"action":116,"nopriv":78,"callback":116,"hasNonce":75,"hasCapCheck":75,"file":44,"line":119},1119,[],[122,125,128],{"tag":123,"callback":123,"file":44,"line":124},"travelmanager",1123,{"tag":126,"callback":123,"file":44,"line":127},"tickyt",1124,{"tag":129,"callback":123,"file":44,"line":130},"popup",1125,[],21,18,{"dangerousFunctions":135,"sqlUsage":136,"outputEscaping":138,"fileOperations":14,"externalRequests":23,"nonceChecks":23,"capabilityChecks":23,"bundledLibraries":169},[],{"prepared":23,"raw":23,"locations":137},[],{"escaped":14,"rawEcho":139,"locations":140},13,[141,145,147,149,151,153,155,157,159,161,163,165,167],{"file":142,"line":143,"context":144},"ajax\\target.php",55,"raw output",{"file":142,"line":146,"context":144},60,{"file":142,"line":148,"context":144},113,{"file":142,"line":150,"context":144},129,{"file":142,"line":152,"context":144},148,{"file":142,"line":154,"context":144},169,{"file":142,"line":156,"context":144},183,{"file":142,"line":158,"context":144},197,{"file":142,"line":160,"context":144},256,{"file":142,"line":162,"context":144},290,{"file":142,"line":164,"context":144},293,{"file":142,"line":166,"context":144},358,{"file":142,"line":168,"context":144},418,[],[171,188,197,206,220],{"entryPoint":172,"graph":173,"unsanitizedCount":43,"severity":187},"travelmanager_chatbot (ajax\\target.php:48)",{"nodes":174,"edges":185},[175,180],{"id":176,"type":177,"label":178,"file":142,"line":179},"n0","source","$_POST",126,{"id":181,"type":182,"label":183,"file":142,"line":150,"wp_function":184},"n1","sink","echo() [XSS]","echo",[186],{"from":176,"to":181,"sanitized":75},"medium",{"entryPoint":189,"graph":190,"unsanitizedCount":43,"severity":187},"travelmanager_eventinfo_hinfahrt (ajax\\target.php:173)",{"nodes":191,"edges":195},[192,194],{"id":176,"type":177,"label":178,"file":142,"line":193},181,{"id":181,"type":182,"label":183,"file":142,"line":156,"wp_function":184},[196],{"from":176,"to":181,"sanitized":75},{"entryPoint":198,"graph":199,"unsanitizedCount":43,"severity":187},"travelmanager_eventinfo_rueckfahrt (ajax\\target.php:186)",{"nodes":200,"edges":204},[201,203],{"id":176,"type":177,"label":178,"file":142,"line":202},195,{"id":181,"type":182,"label":183,"file":142,"line":158,"wp_function":184},[205],{"from":176,"to":181,"sanitized":75},{"entryPoint":207,"graph":208,"unsanitizedCount":43,"severity":187},"\u003Csitemap.component> (sitemap.component.php:0)",{"nodes":209,"edges":218},[210,214],{"id":176,"type":177,"label":211,"file":212,"line":213},"$_SERVER","sitemap.component.php",10,{"id":181,"type":182,"label":215,"file":212,"line":216,"wp_function":217},"file_put_contents() [File Write]",53,"file_put_contents",[219],{"from":176,"to":181,"sanitized":75},{"entryPoint":221,"graph":222,"unsanitizedCount":229,"severity":230},"\u003Ctarget> (ajax\\target.php:0)",{"nodes":223,"edges":227},[224,226],{"id":176,"type":177,"label":225,"file":142,"line":179},"$_POST (x3)",{"id":181,"type":182,"label":183,"file":142,"line":150,"wp_function":184},[228],{"from":176,"to":181,"sanitized":75},3,"low",{"summary":232,"deductions":233},"The plugin \"travelmanager-buchungssoftware\" v22.27 exhibits a concerning security posture, primarily due to a large number of unprotected AJAX handlers. While the absence of known CVEs and the use of prepared statements for SQL queries are positive indicators, the significant attack surface exposed without proper authentication checks presents a substantial risk. The static analysis revealed 18 AJAX handlers lacking authentication, and the taint analysis identified 5 flows with unsanitized paths, indicating a potential for unauthorized data manipulation or execution.  The complete lack of nonce checks and capability checks on these entry points exacerbates the risk, making it easier for attackers to trigger malicious actions. The low percentage of properly escaped output further suggests a vulnerability to cross-site scripting (XSS) attacks.  Despite the lack of historical vulnerabilities, the current codebase contains critical weaknesses that need immediate attention.",[234,237,239,241,243],{"reason":235,"points":236},"Unprotected AJAX handlers",15,{"reason":238,"points":213},"Unsanitized paths in taint flows",{"reason":240,"points":213},"Missing nonce checks",{"reason":242,"points":213},"Missing capability checks",{"reason":244,"points":58},"Low output escaping coverage","2026-03-16T22:25:27.431Z",{"wat":247,"direct":256},{"assetPaths":248,"generatorPatterns":251,"scriptPaths":252,"versionParams":253},[249,250],"\u002Fwp-content\u002Fplugins\u002Ftravelmanager-buchungssoftware\u002Flibs\u002Fpublic-enqueue.js","\u002Fwp-content\u002Fplugins\u002Ftravelmanager-buchungssoftware\u002Flibs\u002Fpublic-enqueue.css",[],[],[254,255],"travelmanager-buchungssoftware\u002Flibs\u002Fpublic-enqueue.js?ver=","travelmanager-buchungssoftware\u002Flibs\u002Fpublic-enqueue.css?ver=",{"cssClasses":257,"htmlComments":262,"htmlAttributes":273,"restEndpoints":298,"jsGlobals":299,"shortcodeOutput":302},[258,259,260,261],"tm-booking-widget","travelmanager_teaser","tm-event-booking-form","tm_widget",[263,264,265,266,267,268,269,270,271,272],"\u003C!-- START Travelmanager Booking Widget -->","\u003C!-- END Travelmanager Booking Widget -->","\u003C!-- Travelmanager Content Wrapper -->","\u003C!-- END Travelmanager Content Wrapper -->","\u003C!-- Travelmanager Event Details -->","\u003C!-- END Travelmanager Event Details -->","\u003C!-- Travelmanager Shop -->","\u003C!-- END Travelmanager Shop -->","\u003C!-- Travelmanager Sitemap -->","\u003C!-- END Travelmanager Sitemap -->",[274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,275],"data-account","data-call","data-linien_id","data-linien_ids","data-start","data-stop","data-lang","data-view","data-godirect","data-target","data-exact","data-vermittler_id","data-mandant_id","data-product_id","data-linie_typ_id","data-max","data-station_id","data-show_station","data-show_category","data-category_id","data-signets","data-current_date","data-ressource_id","data-cache",[],[300,301],"window.tm_dialog","var dialoge_data",[303,304,305,306],"\u003Cdiv class='tm-booking-widget'","\u003Cdiv class='travelmanager_teaser'","\u003Cdiv class='tm-event-booking-form'","\u003Cdiv class='tm_widget'"]