Die Fahrplan und Suchmaschinen-API

Die API ermöglicht ganz einfach das sichere und kontrollierte Abrufen der Suchergebnisse für externe System, Suchportale und Verzeichnisse.

Voraussetzungen

Damit man die Fahrten pollen kann, wird ein Token und die entsprechende URL benötigt, die man vom Accountinhaber erhält.

Parameter

Folgende Parameter die per GET der URL angehängt werden, stehen zur Verfügung

  • xml_token : der Token den Sie vom Accountinhaber für den Zugriff erhalten
  • datum : Das Datum im Unix Timestamp Format nach Lokalzeit, ab wann die Ergebnisse abgerufen werden sollen
  • datum_bis : Das Datum im Unix Timestamp Format nach Lokalzeit, bis wann die Ergebnisse dargestellt werden sollen. Maximaler Zeitraum beträgt 1 Monat
  • max_days : Alternative zu datum_bis. Anzahl der angezeigten Tage. Der maximale Zeitraum beträgt 31 Tage (1 Monat)
  • linie_region_id : Optional, wenn dieser Wert angegeben wird, dann wird das Suchergebnis auf diese Linienregion eingeschränkt
  • linie_typ_id : Optional, wenn dieser Wert angegeben wird, dann wird das Suchergebnis auf diesen Linientyp eingeschränkt
  • linie_id : Optional, wenn dieser Wert angegeben wird, wird nur diese Linie ausgegeben
  • station_id: Optional, wenn angegeben wird das Suchergebnis nur von dieser Abfahrtstation angezeigt
  • zielstation_id: Optional, wenn angegeben wird das Suchergebnis nur zu dieser Zielstation angezeigt
  • ressource_id: Optional, wenn angegeben wird das Suchergebnis nur mit der angegebenen Ressource angezeigt
  • personen_id: Optional, wenn angegeben wird das Suchergebnis mit der personen_id bestückt, die an anderer Stelle z.B. zum Vermerken der Provision wiederverwendet werden kann
  • kapazitaet: Optional, wenn angegeben wird das Suchergebnis mit der entsprechenden Fahrkapazität ausgegeben. Das Aktivieren dieser Option kostet Performance

Suchergebnis

Das Suchergebnis wird als JSON ausgeben und ist gruppiert in folgende Abschnitte:

  • Meta Informationen (meta): Datum der Erzeugung
  • Mandant-Informationen (shops): Informationen zum Mandant und der Ziel-URL
  • Stationen (stations): Die Verfügbaren Stationen in dem Array
  • Verbindungen (relations): Die Fahrtkombinationen mit Angabe des Standard-Preistyps (i.d.R. Erwachsene) und der Betreiber der Linie. Die Datumsangaben sind im Unix Timestamp

Übergabe der Felder aus der Linienverwaltung

Folgende Bezeichnungsfelder aus der Linienverwaltung werden übergeben

  • Linien-Bezeichnung: Bezeichnung(Internet)
  • Ressourcen-Bezeichnung: Bezeichnung
  • Preistyp-Bezeichnung: Bezeichnungsfeld aus Systemparametern Kunden - Preistyp
  • Ausstattung-Bezeichnung: Bezeichnungsfeld aus Systemparametern
  • Extra-Zusatz-Bezeichnung: Wenn in der Linienverwaltung das Feld in "Weitere Einstellungen - Extras- Zusätze - Abweichende Bezeichnung" ausgefüllt ist, wird dieses verwendet, ansonsten das Bezeichnungsfeld aus den Systemparametern

Einbindung Buchungsmaske

Die URL der Buchungsmaske wird im Suchergebnis im Abschnitt "shop", im Feld url ausgegeben, die Parameter werden als GET Variablen angehängt. Um die Buchungsmaske direkt mit dem gewählten Suchergebnis zu laden, bestehen folgende Parameter, die alle optional sind:

  • hafen_id : Abfahrtstation als Int-Wert, entspricht aus dem Suchergebnis "to"
  • zielhafen_id : Zielstation als Int-Wert, entspricht "from"
  • linie_id : Einschränkung der Fahrt auf eine bestimmte Linie, die linie_id entspricht im Abschnitt Verbindungen unter Sections dem Feld "tour"
  • hinfahrt_datum : Datum der Hinfahrt als Unix-Timestamp
  • anzeige_tage : Anzahl der Vorschau des Suchergenisses in Tagen
  • einfache_fahrt : true als String. Der Haken bei einfache Fahrt (nur Hinfahrt) ist vorausgewählt und es wird nach Auswahl der Hinfahrt direkt der nächste Schritt ausgeführt. Die Rückfahrt wird nicht mehr angeboten.Die Angabe ist optional
  • rueckfahrt_datum : Datum der Rückfahrt als Unix-Timestamp (optional)
  • vermittler_id : Die Provisionsempfänger-ID des anbindenden Portals, das der Linienanbieter in den eigenen Stammdaten angelegt hat

Beispiel Aufruf API

Aufruf der Schnittstelle aus der Onlinedemo
JSON anzeigen

Beispiel Buchungsmaske

Aufruf der Buchungsmaske aus der Onlinedemo
Buchungsmaske öffnen

Capacity Knoten des XAPI-Suchergebnisses

Capacity Knoten
BezeichnungWertBeschreibung
"abfahrt"1000Uhrzeit der Abfahrt
"abfahrt_ts"1461312000Timestamp der Abfahrt
"abfahrt_uhrzeit""10:00"Formatierte Uhrzeit der Abfahrt
"abweichende_kapazitaet"0Die berechnete Kapazität wird mit diesem Wert addiert
"aktiv"1Gibt an ob die Fahrt aktiv im Verkauf ist (immer 1)
"ankunft"1430Ankunftuhrzeit
"ankunft_hafen""Oldenburg"
"ankunft_ts"1461328200Timestamp der Ankunft
"ankunft_uhrzeit""14:30"Formatierte Ankunft
"ankunftszeit_ca"0Wenn 1, dann ist der Ankunftswert in ca.
"anzahl_invalid"0ignorieren
"belegung"300Anzahl der gebuchten Plätze
"bemerkung_linie"""Freitext Bemerkungen
"buchung_limit_stunde"0ignorieren
"counter"1ignorieren
"cronjob_vormerkung_stornieren"0Gibt an ob Vormerkungen für diese Fahrt bereits automatisiert storniert wurden
"fahrpreis_anzeige""inkl. Brunchbuffet"Zusatztext Anzeige in der Fahrplanausgabe
"fahrpreis_anzeige_infotext"""Infotext – Zusatz für Fahrplanausgabe
"fahrt"1Fahrtnummer
"file_name""1585.pdf"Infodatei für diese Fahrt, abrufbar unter dem Pfad images/linie
"filename_icon"""Infoicon, abfrufbar unter dem Pfad images/linie_icon
"frei"-20Anzahl der freien Plätze. Wenn negativ, ist die Fahrt für die Buchungskategorie „überbucht“
"hafen""Bremen"Abfahrthafen
"hafen_id"76Abfahrthafen - ID
"kapazitaet""-20 / 280"Anzeige der Kapazität Freitext
"kapazitaet_anpassung"0ignorieren
"kapazitaet_gesamt"280Gesamtkapazität der Buchungskategorie
"keine_ankunft_zeigen"0Ankunftzeit ausblenden
"kombiticket"0Gibt an ob die Fahrt ein Adler-Kombiticket ist
"kombiticket_abfahrt_freitext"""Abfahrtzeitinfos
"kombiticket_ankunft_freitext"""Ankunftszeitinfos
"kombiticket_ausgangsort_freitext"""Freitext für den Abfahrtort
"kombiticket_zielort_freitext"""Freitext für den Ankunftsort
"linie_bezeichnung""Brunchfahrt auf Weser & Hunte 2016 Bremen - Oldenburg"Bezeichnung der Linie
"linie_bezeichnung_de_kurz""Brunchfahrt auf der Weser & Hunte"
"linie_bezeichnung_internet""Brunchfahrt auf der Weser & Hunte"
"linie_hafen_counter"1ignorieren
"linie_hafen_fahrplan_id"19245diese Variable muss durchgeschleift werden in der Buchungsmaske
"linie_hafen_fahrt"1diese Variable muss durchgeschleift werden in der Buchungsmaske
"linie_hafen_id"7023diese Variable muss durchgeschleift werden in der Buchungsmaske
"linie_id"2725Linien-ID
"linie_typ""Ausflugsfahrt"Typ der Linie
"linie_typ_id"23Typ-ID der Linie
"linie_valid_id"515969 ignorieren
"linie_valid_pk_id"515969ignorieren
"matchcode"2725ignorieren
"max_buchung_bis"1461312000Unix Timestamp bis wann max. die Fahrt im Backend gebucht werden kann
"max_buchung_bis_agentur"1461312000Unix Timestamp bis wann max. die Fahrt von Agenturen gebucht werden kann
"max_buchung_bis_online"1461312000Unix Timestamp bis wann max. die Fahrt im Internet gebucht werden kann
"nicht_mehr_einbuchen"0Wenn 1, dann ist die Fahrt der Linie geblockt und kann nicht mehr gebucht werden
"nicht_mehr_einbuchen_online"0Wenn 1, dann ist die Fahrt der Linie online geblockt und kann nicht mehr gebucht werden
"nur_hinfahrt"1Wenn 1, es kann nur eine Fahrt gebucht werden, Rückfahrt nicht möglich
"onlinebuchung_preisgruppe_
tarifauswahl_id"
2Nach diesem Preistyp wird der günstigste Tarif berechnet. Kann ignoriert werden
"region""Nordsee"Regionsangaben
"region_id"1
"schiff""Adler Princess"Ressourcenname
"schiff_id"18
"schiff_sitzplan_kategorie_id"18Wenn ein Sitzplan verwendet werden soll, diese Kategorie-ID
"stationen""Oldenburg" Zielstation der Fahrt
"stationen_abfahrt"0
"stationen_ankunft"1430Ankunft an der Zielstation
"stationen_ids"133Ziel-Station-ID
"stationen_kein_ausstieg"0Wenn 1, ist Rückfahrt Pflicht
"stationen_linie_hafen_
fahrplan_id"
19247diesen Wert durchschleifen in der Buchungsmaske
"stationen_linie_hafen_id"7024diesen Wert durchschleifen in der Buchungsmaske
"stationen_linie_ids"2725diesen Wert durchschleifen in der Buchungsmaske
"stationen_nur_zielhafen"0
"stationen_serial""Oldenburg"
"stationen_tag_extra"0Wenn 1, Ankunft am nächsten Tag
"tag_extra"0Wenn 1, Abfahrt am nächsten Tag
"tag_extra_ankunft"0Wenn 1, Ankunft am nächsten Tag
"tag_extra_anzahl"0Anzahl der Tage wenn Linie mehrtägig ist
"use_internet"1Angabe ob die Linie im Internet buchbar sein soll
"ziel_linie_hafen_id"7024Diesen Wert in der Buchungsmaske durchschleifen

Preistyp-Detail-Array

Preistyp-Detail-Array
BezeichnungWertBeschreibung
"ID"49243ignorieren
"preistyp_id"2Preistyp-ID
"linie_id"2725Linien-ID für den Abschnitt
"mindestteilnehmer"1Anzahl der Mindestteilnehmer für eine Auswahl in der Buchungsmaske
"maximalteilnehmer"19Anzahl der Maximalteilnehmer für eine Auswahl in der Buchungsmaske
"bemerkung_ist_teilnehmeranzahl"0Gibt an ob im Bemerkungsfeld der Position die Teilnehmeranzahl eingetragen wird. Interessant z.B. für Charter
"max_teilnehmer_ticket"0Maximale Anzahl der Teilnehmer pro Ticket
"bemerkung"""Infotext für Bemerkungen welche in der Linienverwaltung hinterlegt werden
"bemerkung_anzeige"Wenn 1 dann wird unterhalb des Preistypen-Felds eine Bemerkung hinterlegt, die Beschriftung des Felds ist das Feld "bemerkung"
"show_internet"1Gibt an ob der Preistyp im Internet verfügbar ist
"show_agentur"1Gibt an ob der Preistyp von Agenturen buchbar ist
"in_fahrplanausgabe"1Gibt an ob der Preistyp im Online Fahrplan angezeigt werden soll
"preistyp_pflichtfeld"0 Angabe ob bei einer Buchung dieser Preistyp immer gebucht werden muss
"preistyp1_id"0Für Familientickets, Angabe Preistyp 1 (z.B. Erw.)
"preistyp2_id"0Für Familientickets, Angabe Preistyp 2 (z.B. Kinder)
"anzahl_preistyp_anderer_
preistyp_id"
0ignorieren
"anzahl_preistyp_anderer"0ignorieren
"only_klasse_id"0Preistyp kann nur in einer bestimmten Klasse gebucht werden. Wenn Wert 0, ignorieren
"only_abfahrt_hafen_id"0Preistyp kann nur ab diesem Abfahrthafen gebucht werden
"only_tarif_id"0Preistyp kann nur mit diesem Tarif gebucht werden
"keine_sonderaktion"0Preistyp kann nicht mit Sonderaktionen gebucht werden
"bemerkung_reservierungsbest"""ignorieren
"bemerkung_onlineticket"""ignorieren
"erfassung_pax_daten"0Wenn 1, dann werden in der Buchungsmaske Passagierdaten für den Preistyp mit erfasst
"erfassung_pax_daten_
geburtsdatum"
0Wenn 1, dann wird das Geburtsdatum bei den Pax-Daten mit erfasst
"pax_data_geschlecht"0Wenn 1, dann wird das Geschlecht mit erfasst
"pax_data_abweichender_zustieg"0ignorieren
"buchung_bemerkung"""Bemerkungsfeld für die Positionen in der Buchungsmaske
"buchung_layover"""Layoverfeld für die Positionen in der Buchungsmaske
"km_satz"0ignorieren
"Timestamp""2015-07-19 10:11:17"ignorieren

Zusatz-Detail-Array

Zusatz-Detail-Array
BezeichnungWertBeschreibung
"ID"13739ignorieren
"zusatz_id"95ID-des Zusatzes
"anzahl_frei"0Anzahl wieviel max. auf der Tour gebucht werden können. Nur aktiv wenn buchung_begrenzung = 1 ist
"extra_bezeichnung""Hallig Hooge - Was braucht man zum Leben"Beschreibung des Zusatzes. Wenn vorhanden, diese verwenden in der Buchungsmaske
"linie_id"2852linien-ID
"aktiv"1Wenn 1, dann ist das Zusatz buchbar
"mwst_id"3ID des Mwst-Satzes. Durchschleifen in Buchungsmaske
"in_pos_zusammenfassen_
ausblenden"
ignorieren
"buchung_begrenzung"0Wenn 1 dann ist eine Begrenzung für den Zusatz aktiv
"pflichtartikel"0Wenn 1, muss dieser Artikel bei jeder Fahrt gebucht werden
"not_use_0_eur"0Wenn 1, dann kann das Zusatz nicht mit einem 0 EUR Betrag (ohne Preis) gebucht werden
"im_internet"0Gibt an ob das Zusatz im Internet buchbar ist
"in_fahrplanausgabe"0Gibt an ob das Zusatz in der Fahrplanausgabe erscheinen soll
"sage_mandant_id"0ignorieren
"kostenstelle_id"0ignorieren
"erloeskonto_id"19ignorieren
"nur_hinfahrt_buchen"0Gibt an ob das Zusatz nur auf einer ausgewählten Hinfahrt gebucht werden kann. Bei ausgewählter Hin- und Rückfahrt ist es nicht gültig.
"nur_hin_rueckfahrt_buchen"0Gibt an ob das Zusatz nur auf einer Hin- und Zurückfahrt gebucht werden kann. Bei Einfacher Fahrt ist es nicht verfügbar.
"nur_einmal_anzeigen"0Wird nur einmal angezeigt, auch wenn doppelt auf Hin- und Rückfahrt verfügbar
"freitextfeld_verwenden"0Ein Freitextfeld für die Buchungsmaske in der eine Bemerkung eingetragen werden kann
"partner_kontakt_id"0ignorieren
"partner_anteil_prozent"0ignorieren
"partner_anteil_fix"0ignorieren
"nur_einmal_berechnen"0Wenn 1, dann wird das Zusatz unabhängig von der Anzahl nur einmal berechnet.
"auf_ticket_abschnitt_drucken"0ignorieren
"Timestamp""2015-10-13 15:12:15"
Wegweiser