CST Channel XML-Feed

Oft ist es wichtig, auf die in der Clearing Station gepflegten Daten zugreifen zu können, um sie anderweitig zu verarbeiten. Hier bietet vioma die Daten auch als "XML-Feed" an, welcher häufig verwendete Informationen des gewünschten Channels enthält.

Abfragbar sind die 

  • Hotel Stammdaten

  • Hotel Pauschalen

  • Hotel Zimmerkategorien
  • Hotel Zusatzleistungen

  • Hotel Discounts (Bonusprogramm)


Bitte beachten Sie:

Diese Dokumentation behandelt den XML-Feed für die CST 7. Die Dokumentation für den XML-Feed der alten Clearing Station (CST 5) finden Sie hier.

Migration von CST 5 auf CST 7

Das Preissystem der CST 7 wurde komplett neu entwickelt wodurch sich auch die Preiskalkulation geändert hat. Entsprechend wurde der XML-Feed an das neue Preissystem angepasst.

Folgende Inhalte haben sich geändert:

  • Saisonzeiten (Seasons)
    Saisonzeiten stehen im Ratenkalender noch zur visuellen Orientierung zur Verfügung, haben aber keinen Einfluss mehr auf die Berechnung der Preise. Die Saisonzeiten sind aktuell noch im Feed enthalten, die Informationen der in der Clearingstation 5 angelegten Saisons sind auch noch vorhanden, sind aber als "deprecated" (veraltet) anzusehen. Das bedeutet auch, dass der komplette Seasons-Node in einem der nächsten Updates entfernt werden könnte. In der Vergangenheit wurden die Saisonzeiten gerne dazu verwendet, Preislisten auf den Zimmerdetailseiten darzustellen. Das ist jetzt nicht mehr möglich, da es sich in der CST 7 nur noch um Tagespreise handelt.

  • Preise der Zimmertypen (roomtypes/roomtype/prices)
    In der CST 7 wurden die Zimmertypen in Zimmerkategorien umbenannt. Im XML-Feed wird der Node aktuell aber immer noch als "roomtypes"/"roomtype" aufgrund der Rückwärtskompatibilität dargestellt. Die Preise innerhalb einer Zimmerkategorie gibt es aber mit dem neuen Preissystem nicht mehr. In der Vergangenheit wurden die Preise der Zimmertypen gerne dazu verwendet, Preislisten auf den Zimmerdetailseiten darzustellen. Das ist jetzt nicht mehr möglich, da es sich in der CST 7 nur noch um Tagespreise handelt.

  • Zimmerkontingente (rooms)
    In der CST 7 werden Zimmerkontingente je nach angebundener Schnittstelle nicht mehr genutzt, und sind daher im XML-Feed nicht mehr enthalten.

  • Belegungen von Zimmerkontingenten (rooms-alloc)
    In der CST 7 werden Belegungen der Zimmerkontingente je nach angebundener Schnittstelle nicht mehr genutzt, und sind daher im XML-Feed nicht mehr enthalten.

  • Gepflegte Pensionspreise (roomtype/pension-prices)
    In der CST 7 wurden die Pensionen in Raten umbenannt. Im XML-Feed wird der Node aktuell aber immer noch als "pension-types"/"pension-type"/"pension-prices" aufgrund der Rückwärtskompatibilität dargestellt. In der CST 7 werden die Preise nicht mehr pro Raten (Pension) gepflegt, sondern pro Produkt und Tag. Somit sind diese Informationen im XML-Feed nicht mehr enthalten.

  • Informationen zu verfügbaren Zimmertypen je Pauschale (package/roomtypes)
    Dieser Node stellt Informationen der Zimmerkategorien zur Verfügung, die mit der Pauschale buchbar sind (Publizierung). Dieser Bereich ist noch in Entwicklung. Aktuell werden die Pauschalen mit allen Zimmern publiziert. Man kann das aktuell im Preiskalender beschränken, bspw. in dem man keine Preise für die nicht gewünschten Zimmer pflegt oder auf "Closed" setzt.
    IN PROGRESS

  • Gepflegte Pauschalenpreise (package/prices)
    Pauschalenpreise werden nicht mehr pro Pauschale gepflegt sondern 
    pro Tag und Produkt im Pauschalenkalender eingegeben. Somit sind diese Informationen im XML-Feed nicht mehr enthalten.

Bitte beachten Sie:

Wenn Sie die beschriebenen Daten/Nodes verwenden, müssen Sie bei der Migration darauf achten, dass Sie Ihre Templates und/oder Scripte anpassen bzw. von Ihrem Webmaster anpassen lassen, da die Daten nach der Migration nicht mehr zur Verfügung stehen. Ansonsten kommt es bei der Ausgabe zu Fehlern. Gegebenenfalls müssen Sie auch Ihr Layout ändern, da die Ausgabe von Preistabellen z. B. so nicht mehr möglich ist.

Bitte beachten Sie:

Im XML-Feed gibt es in den Nodes aktuell noch viele Elemente, die in Zukunft nicht mehr verwendet werden (z. B. "hpt_guarantee" unter hotels/hotel/pension-types/pension-type/data), aber noch Daten (aus der CST 5) enthalten. Vioma löscht diese Daten nicht. In Zukunft werden diese Daten in der CST aber nicht mehr verwendet. Wenn Sie unsicher sind, ob Ihre verwendeten Daten in Zukunft noch zur Verfügung stehen, klären Sie bitte die Verwendung zuvor mit Ihrem Kundenberater oder mit dem vioma-Kundenservice ab. 

Aktivierung

Aktuell ist das XML nur auf Anfrage verfügbar und wird explizit von vioma bei Bedarf aktiviert.

Wenn Sie Interesse am XML-Feed haben, wenden Sie sich bitte an Ihren Kundenberater oder an unseren vioma-Kundenservice.

Aufruf

Das XML kann über eine URL aufgerufen werden. Es ist ratsam, das Ergebnis mit (GET-) Parametern einzuschränken um ein schnell zu verarbeitendes Ergebnis zu erhalten.

URL Aufbau

https:// [ Client Subdomain des Hotels ] . [ SSL-Domain ] /xml.php?  [ gewünschte Parameter ]

Das XML ist nur über SSL verfügbar. Wird ein eigenes SSL-Zertifikat werwendet, wird die SSL-Domain mit der Domain ersetzt, bei allen anderen Hotels ist das "viomassl.com".
 

Aufbau

Wenn die "xml.php"-Datei ohne Parameter aufgerufen wird, werden alle Hotels, die auf dem Channel publiziert sind, ausgegeben. Bitte beachten Sie, dass je nach Anzahl der Hotels/Pauschalen und Zusatzleistungen das XML sehr groß werden kann (>100MB). Pro Hotel sind die Inhalte in folgender Struktur vorhanden:

<hotels>
	<hotel> 				  	  	          <!-- Hotel node -->
		<data>...</data>			        <!-- Hotel Stammdaten -->
  		<packages>...</packages>	        <!-- Pauschalen des Hotels -->
        <indicators>...</indicators>	    <!-- Indikatoren des Hotels -->
        <children>...</children>	        <!-- Kinderaltersgruppen des Hotels -->
        <pension-types>...</pension-types>	<!-- Raten des Hotels -->
		<programs>...</programs> 	        <!-- Zusatzleistungen des Hotels -->
        <roomtypes>...</roomtypes> 	        <!-- Zimmerkategorien des Hotels -->
		<discounts>...</discounts>	        <!-- Discounts des Hotels -->
	</hotel>
</hotels>

Beschreibung der einzelnen Nodes:

Packages

Der Packages-Node erhält alle Informationen über die Pauschalen. Es werden hier nicht alle Nodes beschrieben, viele sind aber selbst erklärend. Benötigen Sie weitere Informationen oder sind Ihnen Nodes unklar, wenden Sie sich bitte an den vioma-Kundenservice.

<package id="1234" url="angebot-1234-time-out-mit-ayurveda.html">
	<info>...</info>
	<timeframe_from>0000-00-00</timeframe_from>
	<timeframe_to>0000-00-00</timeframe_to>
	<avail_from>0000-00-00</avail_from>
	<avail_to>0000-00-00</avail_to>
	<package_name>Time out mit Ayurveda</package_name>
	<package_teaser>Machen Sie doch mal "Time out" und lassen sich mit Ayurveda verwöhnen. Genießen Sie Ihre Zeit im Wellnessbereich mit Badanwendungen und Massagen.</package_teaser>
	<package_description>Machen Sie doch mal "Time out" und lassen sich mit Ayurveda verwöhnen. Genießen Sie Ihre Zeit im Wellnessbereich mit Badanwendungen und Massagen.</package_description>
	<package_image>https://cst-media3.viomassl.com/3353/12345</package_image>
	<package_price>100</package_price>
	<package_default_room_type>12345</package_default_room_type>
	<timeframes-avail>...</timeframes-avail>
	<timeframes-public>...</timeframes-public>
	<indicators/>
	<roomtypes>...</roomtypes>
	<media/>
</package>

Auszug aus dem Packages-Node

info/hpa_typePauschalentyp: 1 = Normale Pauschale, 2 = Last-Minute, 3 = Intranet, 4 = Gutscheine, 5 = Day Spa
package_namePauschalenname
package_teaserKurze Beschreibung
package_descriptionDetailbeschreibung
package_imageURL zum Bild
package_default_room_typeStandard Zimmertyp
timeframes-availht_from, ht_to: Buchbare Zeiträume
timeframes-publicht_from, ht_to: Anzeigenzeitraum

Roomtypes

Der Roomtypes-Node erhält alle Informationen über die Zimmertypen eines Hotels. Es werden hier nicht alle Nodes beschrieben, viele sind aber selbst erklärend. Benötigen Sie weitere Informationen oder sind Ihnen Nodes unklar, wenden Sie sich bitte an den vioma-Kundenservice.

<roomtypes>
	<roomtype id="12345">
		<data>
			<hrt_alloc_min>1</hrt_alloc_min>
			<hrt_image_panorama>0</hrt_image_panorama>
			<hrt_alloc_max>4</hrt_alloc_max>
			<hrt_alloc_max_childs>6</hrt_alloc_max_childs>
			<hrt_name>Juniorsuite Birke</hrt_name>
			<hrt_hotel>3353</hrt_hotel>
			<hrt_room_allocate>0</hrt_room_allocate>
			<hrt_desc_cms>Weit hinten, hinter den Wortbergen, fern der Länder Vokalien und Konsonantien leben die Blindtexte. Abgeschieden wohnen Sie in Buchstabhausen an der Küste des Semantik, eines großen Sprachozeans. Ein kleines Bächlein namens Duden fließt durch ihren Ort und versorgt sie mit den nötigen Regelialien. Es ist ein paradiesmatisches Land, in dem einem gebratene Satzteile in den Mund fliegen. Nicht einmal von der allmächtigen Interpunktion werden die Blindtexte beherrscht - ein geradezu unorthographi...</hrt_desc_cms>
			<hrt_bookable>1</hrt_bookable>
			<hrt_pms_reference>JSBIRK</hrt_pms_reference>
			<hrt_weekdays_arrival>127</hrt_weekdays_arrival>
			<hrt_group>956</hrt_group>
			<hrt_alloc_min_persons>0</hrt_alloc_min_persons>
			<hrt_room_size>0</hrt_room_size>
			<hrt_catering>20</hrt_catering>
			<hrt_price_from>0</hrt_price_from>
			<hrt_desc_teaser_str>Weit hinten, hinter den Wortbergen, fern der Länder Vokalien und Konsonantien leben die Blindtext...</hrt_desc_teaser_str>
			<hrt_public_to>0000-00-00 00:00:00</hrt_public_to>
			<indicators/>
			<hrt_id>14138</hrt_id>
			<hrt_image>https://cst-media2.viomassl.com/3353/12345</hrt_image>
			<hrt_desc_teaser>Weit hinten, hinter den Wortbergen, fern der Länder Vokalien und Konsonantien leben die Blindtext...</hrt_desc_teaser>
			<hrt_price_type>1</hrt_price_type>
			<hrt_desc_cms_str>Weit hinten, hinter den Wortbergen, fern der Länder Vokalien und Konsonantien leben die Blindtexte. Abgeschieden wohnen Sie in Buchstabhausen an der Küste des Semantik, eines großen Sprachozeans. Ein kleines Bächlein namens Duden fließt durch ihren Ort und versorgt sie mit den nötigen Regelialien. Es ist ein paradiesmatisches Land, in dem einem gebratene Satzteile in den Mund fliegen. Nicht einmal von der allmächtigen Interpunktion werden die Blindtexte beherrscht - ein geradezu unorthographi...</hrt_desc_cms_str>
			<hrt_group_name>Suiten</hrt_group_name>
			<hrt_children_prices>2</hrt_children_prices>
			<hrt_image_plan>0</hrt_image_plan>
			<hrt_price_deposit>0</hrt_price_deposit>
			<hrt_usage_includes_children>0</hrt_usage_includes_children>
			<hrt_quota>1</hrt_quota>
			<hrt_name_str>Juniorsuite Birke</hrt_name_str>
			<hrt_price_cleaning>0</hrt_price_cleaning>
			<hrt_alloc_def>2</hrt_alloc_def>
			<hrt_pms_sync_avail_last_updated>0000-00-00 00:00:00</hrt_pms_sync_avail_last_updated>
			<hrt_rooms>1</hrt_rooms>
			<hrt_shard>1</hrt_shard>
			<hrt_alt_reference/>
            <hrt_least_stays>0</hrt_least_stays>
			<hrt_beds>0</hrt_beds>
			<hrt_public_from>0000-00-00 00:00:00</hrt_public_from>
			<hrt_estate_size>0</hrt_estate_size>
			<hrt_order>0</hrt_order>
			<hrt_pms_sync_rate_last_updated>0000-00-00 00:00:00</hrt_pms_sync_rate_last_updated>
		</data>
		<media>...</media>
		...
	</roomtype>
</roomtypes>

Auszug aus dem Roomtype-Node

data/hrt_nameZimmername
data/hrt_desc_teaserKurze Beschreibung
data/hrt_desc_cmsDetailbeschreibung
data/hrt_imageURL zum Bild

Programs

Der Programs-Node erhält alle Informationen über die Zusatzleistungen eines Hotels. Es werden hier nicht alle Nodes beschrieben, viele sind aber selbst erklärend. Benötigen Sie weitere Informationen oder sind Ihnen Nodes unklar, wenden Sie sich bitte an den vioma-Kundenservice.

<programs>
	<program id="12345">
		<hp_price_type>0</hp_price_type>
		<hp_desc_teaser>Weit hinten, hinter den Wortbergen, fern der Länder Vokalien und Konsonantien leben die Blindtext...</hp_desc_teaser>
		<hp_desc_cms>Weit hinten, hinter den Wortbergen, fern der Länder Vokalien und Konsonantien leben die Blindtexte. Abgeschieden wohnen Sie in Buchstabhausen an der Küste des Semantik, eines großen Sprachozeans. Ein kleines Bächlein namens Duden fließt durch ihren Ort und versorgt sie mit den nötigen Regelialien. Es ist ein paradiesmatisches Land, in dem einem gebratene Satzteile in den Mund fliegen. Nicht einmal von der allmächtigen Interpunktion werden die Blindtexte beherrscht - ein geradezu unorthographi...</hp_desc_cms>
		<hp_name_str>Rückenmassage | 70 min</hp_name_str>
		<hp_pms_reference/>
		<hp_duration>0</hp_duration>
		<hp_order>3</hp_order>
		<hp_price>70</hp_price>
		<indicator_id>24253</indicator_id>
		<hp_name>Rückenmassage | 70 min</hp_name>
		<indicators>...</indicators>
		<hp_roomless>0</hp_roomless>
		<hp_bookable>1</hp_bookable>
		<hp_quota_active>0</hp_quota_active>
		<hp_id>45329</hp_id>
		<hp_hotel>3353</hp_hotel>
		<hp_image_alt/>
		<indicator_name>Massagen</indicator_name>
		<hp_quota>0</hp_quota>
		<hp_treatment_length>70</hp_treatment_length>
		<hp_desc_cms_str>Weit hinten, hinter den Wortbergen, fern der Länder Vokalien und Konsonantien leben die Blindtexte. Abgeschieden wohnen Sie in Buchstabhausen an der Küste des Semantik, eines großen Sprachozeans. Ein kleines Bächlein namens Duden fließt durch ihren Ort und versorgt sie mit den nötigen Regelialien. Es ist ein paradiesmatisches Land, in dem einem gebratene Satzteile in den Mund fliegen. Nicht einmal von der allmächtigen Interpunktion werden die Blindtexte beherrscht - ein geradezu unorthographi...</hp_desc_cms_str>
		<hp_image>https://cst-media3.viomassl.com/3353/104002</hp_image>
		<hp_pms_reference_block/>
		<hp_desc_teaser_str>Weit hinten, hinter den Wortbergen, fern der Länder Vokalien und Konsonantien leben die Blindtext...</hp_desc_teaser_str>
		<hp_bookable_package>0</hp_bookable_package>
	</program>
</programs>
 

Auszug aus dem Program-Node

data/hp_nameProgrammname
data/hp_desc_teaserKurze Beschreibung
data/hp_desc_cmsLange Beschreibung
data/hp_imageURL zum Bild

Discounts

Wird das Modul "Bonusprogramm" verwendet, können durch den Parameter "data_discount=1" die Produkte mit hinterlegten Discount-Punkten ausgegeben werden. Zusätzlich erscheint ein weiterer Node mit Informationen zum Bonusprogramm:

<discounts>
	<discount_providers>
		<int-0>
			<cdp_name>vioma-Discount</cdp_name>
			<cdp_company>5</cdp_company>
			<cdp_points_name>vioma-Punkte</cdp_points_name>
			<cdp_points_max>0</cdp_points_max>
			<cdp_points_calculation>0</cdp_points_calculation>
			<cdp_id>1</cdp_id>
			<cdp_points_lifetime_value>0</cdp_points_lifetime_value>
			<cdp_points_lifetime_unit>0</cdp_points_lifetime_unit>
		</int-0>
	</discount_providers>
	<discount_products>
		<int-0>
			<hpdp_action>0</hpdp_action>
			<hpdp_value>0</hpdp_value>
			<hpdp_hotel>3353</hpdp_hotel>
			<hpdp_provider>0</hpdp_provider>
			<hpdp_type>0</hpdp_type>
			<hpdp_id>6</hpdp_id>
			<hpdp_reference>14143</hpdp_reference>
		</int-0>
		<int-1>...</int-1>
	</discounts_products>
</discounts/>

Discount-Providers

Ein Discount-Provider ist ein Anbieter eines Bonusprogramm

cdp_name

Der Name des Bonusprogramm
cdp_companyDie ID des Anbieters
cdp_points_nameDer Name der Punkte
cdp_points_maxMaximal möglicher Punktestand
cdp_points_calculationGleichzeitiges Einlösen und Gutschreiben von Punkten ermöglichen (1)
cdp_idDie ID des Bonusprogramm
cdp_points_lifetime_valueVerfallzeit der Punkte
cdp_points_lifetime_unitEinheit der Verfallszeit (Tage (0) / Wochen (1) / Monate (2) )

Discount-Products

Ein Discount-Product ist ein Discount für ein bestimmtes Produkt

hpdp_action

Der Aktionstyp: Legt fest, ob Rabatte, bzw. Punkte beim Buchen abgezogen (0) oder gutgeschrieben (1) werden

hpdp_valueAnzahl der Punkte
hpdp_hotelHotel ID des ausgebenden Discount-Produktes
hpdp_providerID des Discount-Providers
hpdp_typeProdukttyp: 0 = Zimmer (<roomtypes>), 1 = Zusatzleistungen (<programs>), 2 = Pauschalen (<packages>)
hpdp_idDie ID des Discount-Products
hpdp_referenceDie dem Produkttyp zugehörige ID (hrt_id, hp_id, hpa_id)

Parameter

Sie können durch Übergabe von Parametern, die Ausgabe filtern.

Hotel

Mit dem Parameter "hotel" können Sie ein bestimmtes Hotel auswählen. Als Wert müssen Sie die Hotel-ID angeben.

Children

Mit dem Parameter "data_childrens" erhalten Sie den data-children-Node, der Informationen über die Kinderalter enthält.

  • "data_childrens=1" fügt den Kinder-Node hinzu
  • "data_childrens=0" entfernt den Kinder-Node aus dem Feed

Mit dem Parameter "data_gallery" erhalten Sie den data-gallery-Node. Dieser Node enthält URLs zu Impressionen des Hotels.

  • "data_gallery=1" fügt den Galerie-Node hinzu
  • "data_gallery=0" entfernt den Galerie-Node aus dem Feed

Pension types

Mit dem Parameter "data_pension_types" erhalten Sie die im Hotel verfügbaren Raten.

  • "data_pension_types=1" fügt den Raten-Node hinzu
  • "data_pension_types=0" entfernt den Raten-Node aus dem Feed

Room types

Mit dem Parameter "data_roomtypes" erhalten Sie alle Informationen zu den im Hotel verfügbaren Zimmertypen.

  • "data_roomtypes=1" fügt den Zimmerkategorien-Node hinzu
  • "data_roomtypes=0" entfernt den Zimmerkategorien-Node aus dem Feed

Programs

Mit dem Parameter "data_programs" erhalten Sie Zusatzleistungen des Hotels.

  • "data_programs=1" fügt den Zusatzleistungen-Node hinzu
  • "data_programs=0" entfernt den Zusatzleistungen-Node aus dem Feed

Packages

Mit dem Parameter "data_packages" erhalten Sie Pauschalen des Hotels.

  • "data_packages=1" fügt den Pauschalen-Node hinzu
  • "data_packages=0" entfernt den Pauschalen-Node aus dem Feed

Info texts

TODO

  • data_info_texts=1

Facts

TODO

  • data_facts=1

Discount

Mit dem Parameter "data_discount" erhalten Sie Informationen und Produkte zum Bonusprogramm. Bitte beachten Sie, das dass Bonusprogramm ein Zusatzmodul ist und eine gesonderte Lizenz erforderlich ist.

  • "data_discount=1" fügt den Discount-Node hinzu
  • "data_discount=0" entfernt den Discount-Node aus dem Feed

Sprachen

Abhängig von den gepflegten Sprachen in Ihrem Channel können Sie den Feed auch in anderen Sprachen erhalten. Hierzu wird der Parameter "set_language" verwendet. Als Wert wird hier ein zweistelliger String nach ISO 639-1 gesetzt. Nicht unterstützte Sprachen werden ignoriert. Bitte beachten Sie, dass alle Inhalte auch in den gewünschten Sprachen gepflegt sein müssen.

Ausgabe von Bildern und anderen statische Dateien

Bilder und andere statische Dateien werden im XML-Feed als "arbitrary binary data" ausgeliefert. 

Für die Verwendung der Dateien gibt es einen eigenen Artikel

Best Practice

Aus Performancegründen möchten wir Sie bitten die Daten serverseitig abzurufen, zu verarbeiten und z. B. in einem Content-Management-System zu cachen.

Das Abrufen der Daten in Echtzeit oder das clientseitige parsen der Daten (bspw. mit JavaScript) ist nicht sinnvoll. Ein Abruf der Daten einmal am Tag ist in der Regel ausreichend.

Je nach Anzahl der Hotels/Pauschalen und Zusatzleistungen kann das XML sehr groß werden (>100MB).

Um ein schnell zu verarbeitendes Ergebnis zu erhalten, empfehlen wir zuerst eine Liste von Hotels ohne Daten abzufragen:

https://cst-client-hotel-blaue-linde.viomassl.com/xml.php?data_childrens=0&data_gallery=0&data_pension_types=0&data_roomtypes=0&data_roomtype_prices=0&data_rooms=0&data_rooms_alloc=0&data_seasons=0&data_programs=0&data_packages=0&data_info_texts=0&data_facts=0&data_discount=0

Anschließend kann man je Hotel die Hotel-Details gesondert abfragen. Hierzu übergibt man die Hotel-Id als Parameter (hotel=xxx):

https://cst-client-hotel-blaue-linde.viomassl.com/xml.php?hotel=3353&data_childrens=1&data_gallery=1&data_pension_types=1&data_roomtypes=1&data_roomtype_prices=1&data_rooms=1&data_rooms_alloc=1&data_seasons=1&data_programs=1&data_packages=1&data_info_texts=1&data_facts=1&data_discount=1

Sie erhalten ein schnelleres Ergebnis, wenn Sie die Daten, die Sie nicht benötigen durch die Filter ausschließen.

Inhalt