CapCorn - Interface
Zur Anbindung diverser Hotelprogramme an das CapCorn - Verfügbarkeits- Serversystem wurde die Datei capinterface.dll geschaffen. Ziel ist es, nach Möglichkeit sämtliche Parameter zur Erstellung der Auskunft, der Angebote und der Buchungen automatisiert aus dem vorhandenen Datenbestand in der Hotelsoftware zu extrahieren und via Internet an das CapCorn - Buchungssystem zu übergeben.
Allgemeines
Die Funktionsbibliothek wird als Standard
- Windows DLL zur Verfügung gestellt. Alle von außen zugänglichen
Funktionsaufrufe folgen der WIN - API - Aufrufkonvention, sodass sie
relativ einfach unter den meisten Programmiersprachen angesprochen werden
können. Eine Notwendigkeit und eine Anforderung an das betreffende
Hotelprogramm ist, dass bei voller Nutzung der bestehenden Server -
Systemeigenschaften auch die dazu notwendigen Parameter in der selben oder in
zumindest in ähnlicher Form im Hotelprogramm gehostet sein müssen.
Im Wesentlichen werden folgende Features am Web dargestellt:
Allgemeine Angaben zum Haus (Adresse, Homepage, Telefon, ...)
Verfügbarkeit, mit Einschränkung auf Zimmer und Tag genau
Angebotslegung über Zimmerpreis und Saison, unter Einbeziehung von Zuschlägen und Ermäßigungen
Definition von Packages ( = Pauschalpreis für ein genau definiertes Gesamtleistungspaket)
Der Ablauf eines Datenabgleichs über CapInterface folgt dem Ablauf:
Erstellen eines Datenblocks im Speicher des Hotelprogramms
Befüllen aller Variablen mit den Daten aus der Hotelsoftware
Absetzen des Gesamtpakets en bloc an das CapCorn - Reservierungssystem
Die Unterstützung dieser Abschnitte durch CapInterface geht so weit, dass sich alle Aufgabenbereiche auf einfache function - calls reduzieren. Ebenso wenig ist man als User dieses Interfaces mit Protokollen oder ähnlichem Overhead befasst. Die Übertragung der Daten erfolgt in komprimierter und verschlüsselter Form autonom durch dieses Tool.
Funktionsüberblick
Allgemeine Systemfunktionen
Erstellen
einer neuen und leeren Freimeldungsinstanz im Speicher des Hotelsystems
Übergabe
des fertigen Freimeldungspakets an das CapCorn Serversystem
Abbruch
der Freimeldeprozedur
Ausgabe
eines Fehlertextes nach fehlerhafter Übergabe
Definition globaler Hausdaten
Festlegen
der Name- und Adressvariablen
Festlegen
der Hauskategorie (Sterne)
Festlegen
der Verpflegungstypen
Festlegen
der Lage (Ortsteil)
Festlegen
des Anreisetags
Festlegen
von Lageattributen
Festlegen
von Hauskriterien
Festlegen
der Hausnummer
Festlegen
des Haustyps
Angabe der
Ortstaxe
Festlegen
eines Saisonzeitenintervalls
Definition der Zimmer
Angabe der
physischen Zimmernummer
Angabe der
logischen Zimmernummer
Angabe von
Leistungsattributen für das Zimmer
Festlegen
der Zimmerbezeichnung
Festlegen
der Zimmergruppe
Festlegen
von Zimmerkriterien
Festlegen
des Zimmertyps
Angabe des
Angebottextes
Unterdrückung
von Preiszuschlägen / Nachlässen in Abhängigkeit von der Saison
Festlegen
der Priorität im Internetangebot
Angabe der
Zimmergröße nach der Bettenzahl
Einstellen
der Verfügbarkeit des Zimmers an einem bestimmten Tag
Zuordnen
von Nachlässen und Zuschlägen auf einzelne Zimmer
Zuordnen
von Packages auf einzelne Zimmer
Einstellen
der Fremdanbieter ID für das Zimmer
Einstellen der Maximalzahl an Personen, die
einer Reduktion unterworfen werden können
Einstellen der Mindestzahl an Personen, die den
vollen Preis zu bezahlen haben
Einstellen des Kurzaufenthalt - Zuschlags
Einstellen des Zu- oder Abschlags für Mehr-
oder Unterbelegung
Einstellen der Sichtbarkeit des Zimmers im Internet
Einstellen des Zimmer - Grundpreises
Definition von Nachlässen und Zusatzleistungen (AddOns)
Angabe der Bezeichnungen für die Leistung /
den
Nachlass
Festlegen des Leistungstyps
Festlegen von Attributen für die
Zusatzleistung oder den Nachlass
Festlegen der Rundungsart für die Zusatzleistung oder den Nachlass
Festlegen der Berechnungsart für die Zusatzleistung oder den Nachlass
Festlegen der Aufenthaltsdauer für die
Anwendung der Zusatzleistung oder des Nachlasses
Festlegen der Saisonen für die Anwendung der
Zusatzleistung oder des Nachlasses
Festlegen der Personenzahl für die Anwendung
der Zusatzleistung oder des Nachlasses
Festlegen der Minimal- und Maximalzahl dieser Zusatzleistung oder dieses Nachlasses
Festlegen des Alters für die Anwendung der
Zusatzleistung oder des Nachlasses
Festlegen des Wert - Betrags für diese
Zusatzleistung oder diesen Nachlass
Festlegen der Wochentagsmaske für die
Anwendung der Zusatzleistung oder des Nachlasses
Definition von Pauschalen (Packages)
Angabe der Bezeichnungen für die Pauschale
Angabe der Leistungsbezeichnungen für die
Pauschale
Festlegen des Gültigkeitszeitraums für die
Pauschale
Festlegen der Personenzahl, die für diese
Pauschale vorgesehen ist
Angabe des Preises für die Pauschale in Euro
- Cent
Allgemeine Systemfunktionen
Erstellen
einer neuen und leeren Freimeldungsinstanz im Speicher des Hotelsystems
long __interface
__linkage CI_CreatePresentationFile(long NumOfRooms, long NumOfAddOns, long
NumOfPackages);
Diese Funktion stellt den
initialen Anfang eines Datenabgleichs mit dem CapCorn Serversystem dar. Damit
allokieren Sie Speicher für die vorgegebenen Zahlen an Zimmern, Leistungen und
Pauschalen, die Sie in der Folge mit den spezifischen Funktionen im Detail
definieren.
Als Resultat erhalten Sie ein Handle, wenn der jeweilige Wert >= 0 ist, oder einen
Fehlercode, wenn < 0. Das Handle benötigen Sie für alle weiteren
Funktionen. Es behält seine Gültigkeit, bis Sie eine der Funktionen "CI_ClosePresentationFile"
oder "CI_CommitPresentationFile" aufrufen.
Bitte beachten Sie: Die Anzahl der Zimmer, der Zusatzleistungen sowie der
Pauschalen, die zur selben Zeit pro Hotel am Server residieren können, sind
systembedingt wie folgt begrenzt:
100 Zimmer
60 Zusatzleistungen und Nachlässe
30 Pauschalen
Übergabe
des fertigen Freimeldungspakets an das CapCorn Serversystem
long
__interface __linkage CI_CommitPresentationFile(long InterfaceHandle, const char
* CapServer, long MemberID, long Password);
Nachdem Sie mit den diversen
"SET" - Funktionen alle Einstellungen für sämtliche
Entitäten getroffen haben, übergeben Sie das so aufbereitete Datenpaket
mittels dieser Funktion an den CapCorn - Server. In diesem Moment nimmt das
Modul standardmäßig über den Port 80 Datenverbindung an die angegebene
Serveradresse (z.B. www.capcorn.net) auf
und übergibt die Meldung an das Serversystem.
Tipp: Die Richtigkeit der übergebenen Daten können Sie mithilfe des Web
- Interfaces (z.B. auf "www.capcorn.net/Web")
unmittelbar prüfen.
Abbruch
der Freimeldeprozedur
long
__interface __linkage CI_ClosePresentationFile(long InterfaceHandle);
Für den Fall, dass Sie eine unvollständige Freimeldungs-Instanz wieder aus dem Speicher entfernen wollen, ohne dass Sie sie absenden, kann dies mit der genannten Funktion erfolgen. Ein erfolgreiches Übertragen, oder ein neuerlicher Aufruf an CI_CreatePresentationFile, führen implizit auch zum Löschen der Instanz.
Ausgabe
eines Fehlertextes nach fehlerhafter Übergabe
const char __interface * __linkage CI_GetErrorText(long
InterfaceHandle);
Bei diversen Fehlern in der Übertragungsprozedur
zum Server kann eine verbale Fehlerausgabe neben der Code - Rückgabe mit dieser
Funktion unterstützt werden.
Definition globaler Hausdaten
Mit der Definition der globalen
Hausdaten beginnen Sie die Befüllung Ihrer Meldung mit realen Daten. Für alle
Funktionen gilt, dass als erster Übergabeparameter das Handle, welches durch
die Funktion CI_CreatePresentationFile
erhalten wurde, mit übergeben wird. Der
Erfolg des Aufrufs wird durch den Rückgabewert dargestellt: Werte >= 0
stehen für OK, negative Werte kennzeichnen einen Fehler (Siehe Fehlercodes).
Festlegen
der Name- und Adressvariablen
long
__interface __linkage CI_SetStringInfoVar(long InterfaceHandle, long Identifier,
const char * Variable);
Diverse hausglobale Adressdaten werden mit dieser
Funktion definiert.
Mit "Identifier" geben Sie das Attribut bekannt - es steht für
folgende Werte:
1 .. Hausname (40 Zeichen)
2 .. Kontaktperson (40 Zeichen)
3 .. Straße (40 Zeichen)
4 .. Ort (40 Zeichen)
5 .. Postleitzahl (6 Zeichen)
6 .. Telefonnummer (20 Zeichen)
7 .. Faxnummer (20 Zeichen)
8 .. Handy / SMS - Nummer (20 Zeichen)
9 .. Internetadresse (60 Zeichen)
10.. Mailadresse (60 Zeichen)
11.. Mail für Buchungen (60 Zeichen)
12 .. Angebotserläuterungen URL (60 Zeichen)
13 .. URL für Stylesheets (60 Zeichen)
14 .. URL für Buchungsbedingungen (60 Zeichen)
15 .. Planquadrat Position -> Referenz im Ortsplan (3 Zeichen, z.B. H11)
16 .. Kurze Hausbeschreibung in deutsch (100 Zeichen)
17 .. Kurze Hausbeschreibung in englisch (100 Zeichen)
Festlegen
der Hauskategorie (Sterne)
long
__interface __linkage CI_SetCategory(long InterfaceHandle, long Category);
Die Werte für Kategorien (Sterne) werden einheitlich für die Region festgelegt. Möglich sind Werte zwischen 0 und 9. Für die betreffenden Werte in der jeweiligen Region beziehen Sie sich bitte auf das Datenfeld 'R1' im Anfrageformular der Region.
Festlegen
der Verpflegungstypen
long
__interface __linkage CI_SetCatering(long InterfaceHandle, long Catering, long
Alternative);
Die Werte für Verpflegungstypen (Frühstück / Halbpension) werden einheitlich für die Region festgelegt. Möglich sind Werte von 0 bis 9. Für die betreffenden Werte in der jeweiligen Region beziehen Sie sich bitte auf das Datenfeld 'R2' im Anfrageformular der Region. Falls das Haus wahlweise 2 Arten von Verpflegung anbietet, kann eine 2. Alternative festgelegt werden. Ist nur ein Verpflegungstyp vorgesehen, so ist für die Alternative '0' anzugeben.
Festlegen
der Lage (Ortsteil)
long
__interface __linkage CI_SetLocation(long InterfaceHandle, long Location);
Die Region des betreffenden Hotels wird in sogenannte Ortsteile eingeteilt. Die zu übergebenden Werte sind auch hier lokal für den Tourismusort festgelegt und dem Anfrageformular der Region zu entnehmen (R3).
Festlegen
des Anreisetags
long __interface
__linkage CI_SetChangeDay(long InterfaceHandle, long ChangeDay);
Das Hotel kann einen definierten Wechseltag festlegen (typischerweise
ist dies der Samstag).
Sobald ein solcher Wochentag definiert wird,
gilt die folgende Regel: Zimmer, in denen eine Mindestaufenthaltsdauer von genau 7
Tagen festgelegt wurde, erbringen nur dann eine Verfügbarkeits - Ausgabe, wenn dieser
Anreisetag zutrifft und die Aufenthaltsdauer genau 7 Tage oder ein Vielfaches
davon (mehrere Woche) beträgt.
Als Wert für ChangeDay kommen die Ziffern 1 bis 7 (1=Sonntag, 7 = Samstag) zur Anwendung.
Festlegen
von Lageattributen
long
__interface __linkage CI_SetLocationAttrib(long InterfaceHandle, long
LocationAttrib);
Hier bestimmen Sie die
besondere Lage des Hauses innerhalb der Infrastruktur. Mögliche Werte sind
derzeit:
1 .. Nähe Bushaltestelle
2 .. Liftnähe
3 .. Zentrumsnähe
4 .. Ruhige Lage
Diese Funktion ist für jedes zu setzende Attribut separat aufzurufen
Festlegen
von Hauskriterien
long __interface
__linkage CI_SetHouseCriteria(long InterfaceHandle, long Criteria);
Mit dieser Funktion teilen Sie dem System mit, über welche
Ausstattungsmerkmale die Destination verfügt. Als Wertemenge sind vorgesehen:
1 ... Kreditkartenbezahlung
2 ... Einzelzimmerzuschlag
3 ... Animation
4 ... Kinderfreundlich
5 ... Behindertengerecht
6 ... Kinderbetreuung, Kindergarten
7 ... Babysitter im Haus
8 ... Konferenzraum
9 ... Hotelbus
10 .. Hallenbad im Haus
11 .. Geheiztes Freibad
12 .. Whirlpool
13 .. Sauna im Haus
14 .. Solarium im Haus
15 .. Fitnessraum
16 .. Kosmetiksalon
17 .. Massage im Haus
18 .. Tennisplatz im Haus
19 .. Haustier möglich
20 .. Telefon am Zimmer
21 .. Haartrockner
22 .. Mikrowelle im Appartement
23 .. Brötchenservice Appartement
24 .. Fahrradverleih
25 .. Gartengriller
26 .. Öffentliches Restaurant
27 .. Wahlmenü
28 .. Diätküche / Vollwertkost
29 .. Frühstücksbuffet
30 .. Erweitertes Frühstück
31 .. Minibar am Zimmer
32 .. Hausbar
33 .. Frühstück mit Aufpreis
34 .. Dancing
35 .. TV im Zimmer / Appartement
36 .. Radio im Zimmer / Appartement
37 .. Nichtraucherzimmer im Haus
38 .. Etagenbad / WC
39 .. Garagen
40 .. Safe im Zimmer/ Appartement
41 .. Tischtennis
42 .. Golf - Gründerhotel
43 .. Golf Abschlagplatz
44 .. Reiten
45 .. Urlaub am Bauernhof
46 .. Freier Eintritt ins Hallenbad
47 .. Umweltschutzhand
48 .. Pauschalangebote
49 .. Turnsaal
50 .. Volleyball
51 .. Spielwiese
52 .. Spielraum
53 .. Bastelraum
54 .. Sportplatz
55 .. Eigene Rodelbahn
56 .. Pferdeschlitten
57 .. Dampfbad
58 .. Fernsehraum
59 .. Personenlift
Hauskriterien können gesondert für Winter und Sommer angegeben werden. Für
Attribute, die im Sommer anzugeben sind, ist der Parameter "Summer" mit
1 zu belegen, Attribute für den Winter werden mit Summer = 0 gesetzt.
Festlegen
der Hausnummer
long
__interface __linkage CI_SetHouseNumber(long InterfaceHandle, long HouseNumber);
Neben der Hausnummernangabe zur Straße ist die Hausnummer nochmals explizit als numerischer Wert zum Zwecke der Suche nach Hausnummern anzugeben.
Festlegen
des Haustyps
long
__interface __linkage CI_SetHouseType(long InterfaceHandle, long HouseType);
Zur Zeit unterscheidet das System folgende Haustypen, die als Parameter HouseType zu definieren sind:
1 ... Hotel
2 ... Gasthof
3 ... Berghotel/Berggasthof
4 ... Aparthotel
5 ... Hotel garni
6 ... Pension
7 ... Frühstückspension
8 ... Privatzimmer
9 ... Jugendgästehaus
10 .. Apartmenthaus
11 .. Almhütte
Diese Liste ist, wie alle anderen Wertelisten, nach oben hin offen und könnte
bei Bedarf ergänzt werden.
Angabe
der Ortstaxe
long
__interface __linkage CI_SetLocalTax(long InterfaceHandle, long LocalTax);
Ortstaxen werden in der Preisberechnung mit angegeben und sind daher auch entsprechend über diese Funktion zu setzen.
Festlegen
eines Saisonzeitenintervalls
long __interface __linkage CI_SetSeasonTime(long InterfaceHandle, long SeasonID,
long FromYear, long FromMonth, long FromDay, long
TillYear, long TillMonth, long TillDay);
Da die Beauskunftung am Serversystem immer nur max. 360
Tage in die Zukunft erfolgt, sollten nur jene Saisonen definiert werden, die
innerhalb dieses Zeitraums liegen. Zeitintervalle der Vergangenheit oder solche, die weiter als 360 Tage in der Zukunft liegen, sollten
unberücksichtigt bleiben. Pro Betrieb ist nur eine beschränkte Zahl an
Zeitintervallen zulässig.
Das System kennt pro Jahreszeit 10 verschiedene Saisonen. Zulässige Werte
sind daher 1 bis 10 für die Wintersaisonen und 11 bis 20 für den Sommer. Als
allgemeine Konvention gilt: Saisonen werden zwecks Verallgemeinerung mit den
Buchstaben A bis J (= 1..10 Winter bzw. 11..20 Sommer) gekennzeichnet.
Definition der Zimmer
Im folgenden Abschnitt werden alle Funktionen
angeführt, die die Eigenschaften, Leistungen und Attribute der einzelnen Zimmer
einschließlich deren Verfügbarkeit festlegen. Alle Funktionen erwarten das
sogenannte InterfaceHandle aus CI_ClosePresentationFile, sowie den Index des
Zimmers von 0 beginnend bis zu jenem Maximalwertes minus 1, der bei
CI_ClosePresentationFile als NumOfRooms festgelegt wurde.
Festlegen
der physikalischen Zimmernummer
long __interface __linkage CI_SetRoomNumber(long InterfaceHandle, long RoomIndex, long
Number);
Zimmer besitzen eine physikalische
(jene Nummer, die in der Regel tatsächlich auf der Zimmertür steht) sowie eine
logische Zimmernummer. Mit dieser Funktion legen Sie die physikalische, reale
Nummer fest.
Festlegen
der logischen (systembezogenen) Zimmernummer
long __interface __linkage CI_SetRoomID(long InterfaceHandle, long RoomIndex, long
RoomID);
Zimmer besitzen eine physikalische
(jene Nummer, die in der Regel tatsächlich auf der Zimmertür steht) sowie eine
logische Zimmernummer. Mit dieser Funktion definieren Sie die
logische Nummer. Die logische Zimmernummer stammt in der Regel aus dem
Hotelsystem und kann weitgehend frei festgelegt werden. Maßgeblich ist
allerdings, dass sie eindeutig angegeben wird, um sie, beispielsweise im Falle von
Buchungen, richtig zuordnen zu können.
Angabe von
Leistungsattributen für das Zimmer
long __interface __linkage
CI_SetRoomServiceAttrib(long InterfaceHandle, long RoomIndex, long ServiceAttrib,
long Summer);
Mit dieser Funktion definieren Sie die einzelnen
Inklusivleistungen (Leistungen, die im Zimmerpreis enthalten sind) des Zimmers.
Die Funktion ist für Winter und Sommer, sowie für jedes einzelne
Leistungsmerkmal gesondert aufzurufen.
Für ServiceAttrib gelten folgende Werte:
1 ... Frühstücksbuffet
2 ... Halbpension
3 ... Vollpension
4 ... Wahlmenü
5 ... Saunabenutzung
6 ... Solarium
7 ... Fernsehgerät
8 ... Garagenplatz
9 ... All inclusive
10 .. Parkplatz
Festlegen
der Zimmerbezeichnung
long
__interface __linkage CI_SetRoomName(long InterfaceHandle, long RoomIndex, const
char * Name);
Mit dieser Funktion definieren Sie die Zimmerbezeichnung. Maximal 20 Zeichen sind zulässig.
Festlegen
der Zimmergruppe
long __interface __linkage
CI_SetRoomGroup(long InterfaceHandle, long RoomIndex, long Group);
Der Übersichtlichkeit wegen können Zimmer beliebig zu Gruppen zusammengefasst werden. Zimmer derselben Gruppe erscheinen beispielsweise am Web - Interface auf einer gemeinsamen Seite. Die Gruppierung kann aus beliebigen Gesichtspunkten heraus erfolgen (Stockwerke, Typen, etc.). Die Werte für Gruppen können im Bereich von 1 bis 20 liegen, wobei jedenfalls mit 1 begonnen werden soll, und keine Lücken in den Gruppennummern bestehen sollten.
Festlegen
von Zimmerkriterien
long __interface __linkage
CI_SetRoomCriteria(long InterfaceHandle, long RoomIndex, long Criteria);
Mit dieser Funktion können die
Ausstattungskriterien des Zimmers festgelegt werden. Das System kennt derzeit:
1 ... Badewanne
2 ... Radio
3 ... Balkon
4 ... Haarfön
5 ... Safe
6 ... Mikrowelle
7 ... Internetanschluss
8 ... Schminkspiegel
9 ... Nichtraucherzimmer
10 .. Kabel TV
11 .. Kühlschrank
12 .. Wecker
13 .. Waschmaschine
14 .. Stereoanlage
15 .. Dusche
16 .. WC
17 .. Etagen WC
18 .. Etagendusche
19 .. Terrasse
20 .. Backrohr
21 .. Geschirrspüler
22 .. Gefriertruhe
23 .. Kachelofen
24 .. Kaffeemaschine
Festlegen
des Zimmertyps
long __interface __linkage
CI_SetRoomType(long InterfaceHandle, long RoomIndex, long Type);
CapCorn unterscheidet derzeit zwei Zimmertypen:
Hotelzimmer und Appartements. Der Unterschied zwischen diesen Typen liegt neben
der Unterscheidung bei Web - Anfragen vor allem in der Preiskalkulation. Appartements
werden in der Regel als gesamte Wohnungen angepriesen, während Zimmerpreise sich
auf jeweils 1 Person beziehen.
Für Type ist anzugeben:
1 .. Hotelzimmer
2 .. Appartement
Angabe des
Angebottextes
long __interface __linkage
CI_SetRoomCaption(long InterfaceHandle, long RoomIndex, const char * Caption,
long Language);
Zimmer besitzen neben ihrer Bezeichnung einen
sogenannten Präsentationstext in zwei Sprachen. Dieser kommt zur Anwendung, wenn
das Zimmer oder die Wohnung im Internet offeriert wird.
In der Sprachendefinition gilt: 0 = deutsch, 1 = englisch.
Wichtig: Bitte achten Sie darauf, dass Zimmer derselben Gattung unbedingt
exakt denselben Wortlaut besitzen, da das System bei der Ermittlung von Alternativangeboten
mit Textvergleichen arbeitet und ein Zimmer auch mit
geringfügigen Abweichungen in den Bezeichnungstexten als unterschiedlich qualifiziert
wird.
Unterdrückung
von Preiszuschlägen / Nachlässen in Abhängigkeit von der Saison
long __interface __linkage
CI_SetRoomNoAddPrice(long InterfaceHandle, long RoomIndex, long SeasonID);
Zimmerbezogene Zu- und Abschläge (nicht zu
verwechseln mit den AddOns) können in Abhängigkeit von der Saison dazu- oder
abgeschalten werden. Dies ist beispielsweise zweckmäßig, wenn man in starken
Saisonen keine Nachlässe bei Unterbelegung akzeptieren möchte.
Für die SeasonID ist der Wert 1..10 für Winter- und 11..20 für Sommersaisonen
(gem. A..J) jeweils anzugeben.
Festlegen
der Priorität im Internetangebot
long __interface __linkage
CI_SetRoomOfferPriority(long InterfaceHandle, long RoomIndex, long OfferPriority);
Die Reihenfolge, nach der Zimmer im Internet angeboten und verkauft werden, kann durch diese Funktion bestimmt sein. Für OfferPriority gelten die Werte: 0 = sehr hoch bis 2 = niedrig.
Angabe der
Zimmergröße nach der Bettenzahl
long __interface __linkage
CI_SetRoomBedNumbers(long InterfaceHandle, long RoomIndex, long MinBeds, long
MaxBeds, long DefaultBeds);
Diese Funktion definiert die Zahl der Betten für
das jeweilige Zimmer. Dabei muss MinBeds <= MaxBeds angegeben werden. Der
Wert DefaultBeds muss dazwischen liegen. Maßgeblich sind diese Bettenzahlen
vor allem für die Auswahl des Zimmers beim Erstellen des Internet - Angebots.
DefaultBeds ist jene Bettenzahl, die für das Zimmer typischerweise vorgesehen
ist. So ist beispielsweise ein Zweibettzimmer mit Zusatzbett wie folgt zu
definieren:
MinBeds = 2, MaxBeds = 3, DefaultBeds = 2;
Würde man das Zimmer auch für eine Person zur Verfügung stellen, so müsste
MinBeds mit 1 belegt werden.
Einstellen
der Verfügbarkeit des Zimmers an einem bestimmten Tag
long __interface __linkage
CI_SetRoomAvailabilty(long InterfaceHandle, long RoomIndex, long Year, long
Month, long Day, long
Availabilty, long NoArrival, long ForeignBookable, long ExactMatch);
Zur Freigabe der Zimmer im
Internet müssen alle Zimmer für jeden Tag der Beauskunftung (= ab heute bis
360 Tage in die Zukunft) ein Verfügbarkeitsmerkmal mit dieser Funktion
erhalten.
Der Wert für Availability (x) ist folgendermaßen zu definieren:
0 bis 10 Zimmer verfügbar bei einer Mindestaufenthaltsdauer von x
100 Zimmer ist belegt
101 Zimmer ist reserviert
102 Zimmer ist geschlossen
Werte von 100 bis 102 haben hinsichtlich der Verfügbarkeit dieselbe
Eigenschaft. Die Unterscheidung zwischen belegt, reserviert oder geschlossen
dient allerdings statistischen Auswertungen am Web - System (z.B. wie viele
Betriebe derzeit geschlossen haben), und sollte daher entsprechend unterstützt werden.
Das Flag NoArrival (0 oder 1) legt fest, dass am betreffenden Tag keine
Anreise in dieses Zimmer stattfinden darf.
ForeignBookable (0 oder 1) ist für Reisebüroanbindungen oder
Drittanbieter vorgesehen. Das Zimmer kann zu diesem Tag auch über eine Agentur
(meist provisionsbehaftet) verkauft werden. Diese Variable ist nur von
Bedeutung, wenn eine entsprechende Datenschiene besteht.
ExactMatch (0 oder 1) legt fest, dass das Zimmer für den betreffenden
Tag nur mit der Standard - Bettenzahl verkauft werden darf. Diese Angabe macht
beispielsweise dann Sinn, wenn man eine Ferienwohnung normalerweise für weniger
Personen unter Preis verkauft, in Spitzenzeiten aber diese Alternative
unterdrücken möchte.
Zuordnen
von Nachlässen und Zuschlägen auf einzelne Zimmer
long __interface __linkage
CI_SetRoomAddOn(long InterfaceHandle, long RoomIndex, long AddOnIndex);
Wie unter dem Kapitel Ermäßigungen und Zusatzleistungen beschrieben, können diverse Zusätze wahlweise und frei definiert werden. Zur Anwendung kommen diese Leistungen aber erst, wenn sie mittels dieser Funktion den einzelnen Zimmern zugewiesen werden. AddOnIndex bezieht sich auf die Zusatzleistung, bzw. auf die Ermäßigung, und geht von 0 bis auf NumOfAddOns, die bei der Definition der Meldung festgelegt wurde.
Zuordnen
von Packages auf einzelne Zimmer
long __interface __linkage
CI_SetRoomPackage(long InterfaceHandle, long RoomIndex, long PackageIndex);
Wie unter dem Kapitel Pauschalen (Packages)
beschrieben, können Zimmer auch Teil eines Pauschalangebots sein. Die
Zuordnung von Zimmern zur jeweiligen Pauschale wird mit dieser Funktion
durchgeführt. PackageIndex bezieht sich auf die Pauschale und geht von 0 bis
zur NumOfPackages, die bei der Definition der Meldung festgelegt wurde.
Einstellen
der Fremdanbieter ID für das Zimmer
long
__interface __linkage CI_SetRoomForeignID(long InterfaceHandle, long
RoomIndex,
long ForeignID);
Wenn das Hotel beispielsweise mit einem
Reisebüro kooperiert, indem die Daten aus dem CapCorn Serversystem an den
Partner elektronisch weiter gegeben werden, so kann man hier eine Referenznummer für
das jeweilige Zimmer angeben. Typischerweise ist dies eine ID oder eine
Kennzahl, die in der Datenbank des Partners hinterlegt ist.
Einstellen der
Maximalzahl an Personen, die
einer Reduktion unterworfen werden können
long
__interface __linkage CI_SetRoomMaxReductions(long InterfaceHandle, long
RoomIndex, long MaxReductions);
Diese Zahl bezieht sich auf die
Preisnachlässe, die unter "AddOns" definiert sind. Damit legt man
fest, wie viele Betten maximal reduziert werden dürfen.
Einstellen der
Mindestzahl an Personen, die den
vollen Preis zu bezahlen haben
long __interface __linkage
CI_SetRoomFullPayers(long InterfaceHandle, long RoomIndex, long FullPayers);
Diese Zahl bezieht sich auf die Preisnachlässe, die unter "AddOns" definiert sind. Damit legt man fest, bei wie vielen Betten zumindest der volle Preis fällig wird - also keine Ermäßigung möglich ist.
Einstellen des Kurzaufenthalt - Zuschlags
long __interface __linkage
CI_SetShortstayCharge(long InterfaceHandle, long RoomIndex, long StayTime, long
Add,
long AsEuro);
Mit dieser Funktion kann man den Standardzimmerpreis der jeweiligen Saison um einen Faktor oder um einen Betrag variieren. Wenn der letzte Parameter mit 1 angegeben wird, so wird die Variable Add als Eurocent - Betrag durch das System interpretiert.
Einstellen des Zu- oder Abschlags für
Mehr-
oder Unterbelegung
long __interface __linkage
CI_SetAddBedCharge(long InterfaceHandle, long RoomIndex, long BedDifference, long
Charge, long AsEuro);
Für den Fall, dass Zimmer nicht voll
ausgelastet sind, bzw. über die Mindestbelegung hinaus belegt werden, können Zu- und
Abschläge definiert werden. Positive Werte für BedDifference
beziehen sich auf die Abweichung von der Mindest - Personenzahl. Mit negativen
Werten wird die Abweichung von der Maximal - Personenzahl definiert.
Z.B.: Zimmer mit 1-4 Betten und einer BedDifference von -1 bedeuten einen Zu /
Abschlag bei
Belegung mit 3 Personen; Mit +1 ist der Faktor für eine Belegung mit 2 Personen
definiert.
Die Berechnung, ob Zu- oder Abschlag, ist zwischen Appartements und Hotelzimmern
genau seitenverkehrt. Hotelzimmer werden bei Mehrbelegung mit einem Abschlag
versehen, bei Ferienwohnungen führt eine Mehrbelegung zu einem
Zuschlag. Bei Unterbelegung verhält es sich genau umgekehrt.
Einstellen der
Sichtbarkeit im Internet
für das Zimmer
long __interface __linkage
CI_SetInternetPublicity(long InterfaceHandle, long RoomIndex, long Publicity);
Die Sichtbarkeit von Zimmern
im Internet kann in Stufen mittels dieser Funktion eingestellt werden. Zur
Auswahl steht:
0 ... Das Zimmer/Wohnung nicht anbieten
1 ... Zimmer/Wohnung anbieten, aber nicht buchbar
2 ... Zimmer/Wohnung voll buchbar
Einstellen des Zimmer - Grundpreises
long __interface __linkage
CI_SetBasicPrice(long InterfaceHandle, long RoomIndex, long Price, long SeasonID);
Gemäß den 20 unterstützten Saisonen können pro Zimmer 20 verschiedene Preise festgelegt werden. SeasonID kann die Werte 1 (für Winter A) bis 20 (für Sommer J) annehmen. Die Preise sind in Eurocent definiert.
Definition von Nachlässen und Zusatzleistungen (AddOns)
Zuschläge und Preisnachlässe werden in CapCorn zunächst frei definiert, eingestellt und mit diversen Eigenschaften versehen. Danach sind sie individuell den einzelnen Zimmern zuzuordnen.
Angabe der Bezeichnungen für die
Leistung / den
Nachlass
long __interface __linkage
CI_SetAddOnName(long InterfaceHandle, long AddOnIndex, const char * Name, const
char * Parameter, const char * Unit, int Language);
Mit dieser Funktion legen Sie die
verbalen Begriffe der Zusatzleistung fest. Im Rahmen einer Angebotslegung wird
dieses AddOn dann in Form von <Name> <Anzahl> <Parameter>
<Unit> dargestellt, wobei <Anzahl> eine Auswahlbox für den Gast darstellt.
Z.B.: <Kinderermäßigung> <Anzahl> <Kinder> <bis 6
Jahre>.
Festlegen des Leistungstyps
long __interface __linkage
CI_SetAddOnType(long InterfaceHandle, long AddOnIndex, long Type);
Über diese Systematik wird der Typ
der Leistung festgelegt. Dabei wird unterschieden:
0 ... Zuschlag
1 ... Ermäßigung
2 ... Preisersatz
Die Variante Preisersatz ist eine Besonderheit. Sie führt dazu, dass der
festgelegte Zimmerpreis durch den Wert dieses AddOns ersetzt wird.
Festlegen von Attributen für die
Zusatzleistung oder den Nachlass
long __interface __linkage
CI_SetAddOnAttrib(long InterfaceHandle, long AddOnIndex, long Attrib);
Diese Funktion stellt verschiedene
Eigenschaften ein:
1 .. Der Wert wird in % vom Logis - Preis angegeben
2 .. Nicht im Web darstellen
3 .. Im Web als Checkbox darstellen (nur möglich, wenn die Werte 0 oder 1
angenommen werden)
4 .. Nur bei Zusatzbetten anwenden
5 .. Wird nicht als Ermäßigung gezählt (beeinflusst nicht den Wert
"Maximalzahl Ermäßigungen" im Zimmer)
6 .. Auf Endpreis anwenden - Prozentuelles AddOn wird nach anderen AddOns
berechnet
7 .. AddOn Preis/Wert wird je Saison getrennt angegeben
8 .. In den Angebotspreis einrechnen (stiller Zuschlag / durch den Gast nicht
wählbar).
Festlegen
der Rundungsart für die Zusatzleistung oder den Nachlass
long __linkage CI_SetAddOnRoundType(long
InterfaceHandle, long AddOnIndex, long RoundType);
Resultierende Endbeträge aus
der Berechnung von Zusatzleistungen und Nachlässen werden nach folgenden
Vorgaben für den Rundungstyp (RoundType) gerundet:
0 .. auf ganze Euro
1 .. auf 50 Cent
2 .. auf 10 Cent
3 .. auf 1 Cent
Festlegen
der Berechnungsart für die Zusatzleistung oder den Nachlass
long __linkage CI_SetAddOnCalcualtionType(long InterfaceHandle, long AddOnIndex,
long CalculationType);
Der Multiplikationsfaktor für den
sich ergebenden Endpreis der Zusatzleistung oder des Nachlasses ist durch diese
Funktion wie folgt zu definieren:
0 .. Betrag mal Stückzahl und Tag
1 .. Betrag mal Stückzahl und Personenzahl im Zimmer pro Tag
2 .. Pauschal für den Aufenthalt
3 .. Pauschal pro Aufenthaltstag
Festlegen der
Aufenthaltsdauer für die
Anwendung der Zusatzleistung oder des Nachlasses
long __interface __linkage
CI_SetAddOnDurationRange(long InterfaceHandle, long AddOnIndex, long MinDay,
long MaxDay);
Hier kann definiert werden, bei
welcher Aufenthaltsdauer das AddOn zur Anwendung kommen darf. Wird diese
Funktion für das AddOn nicht aufgerufen, so unterliegt es keiner Bedingung
hinsichtlich der Dauer.
Festlegen der Saisonen für die Anwendung der
Zusatzleistung oder des Nachlasses
long __interface __linkage
CI_SetAddOnSeasonMask(long InterfaceHandle, long AddOnIndex, long SeasonID);
Mit dieser Funktion stellt man ein,
zu welchen Saisonen das AddOn gültig ist. SeasonID kann die Werte 1 (für
Winter A) bis 20 (für Sommer J) annehmen, bzw. ist mit 0 für "ohne
saisonale Einschränkung" zu definieren. Die Funktion ist für jede zu setzende Saison gesondert aufzurufen.
Festlegen der Personenzahl für die Anwendung
der Zusatzleistung oder des Nachlasses
long __interface __linkage
CI_SetAddOnPersonRange(long InterfaceHandle, long AddOnIndex, long MinPerson,
long MaxPerson);
Hier stellt man die Personenzahl ein,
bei der das AddOn zur Anwendung kommt. Wird diese Funktion innerhalb einer
Session nicht aufgerufen, so unterbleibt eine Filterung hinsichtlich der
Personenzahl für dieses AddOn.
Festlegen der Minimal-
/ Maximalzahl dieser
Zusatzleistung oder des Nachlasses
long __interface __linkage
CI_SetAddOnUnitRange(long InterfaceHandle, long AddOnIndex, long MinUnit, long
MaxUnit);
Mit dieser Funktion legt man den
Wertebereich für die mögliche Anzahl dieser Leistungen - sofern zutreffend -
fest. So definiert man beispielsweise zwingende Zuschläge (z.B. Endreinigung im
Appartement) mit einem Bereich von 1 bis 1.
Festlegen des Alters für die Anwendung der
Zusatzleistung oder des Nachlasses
long __interface __linkage
CI_SetAddOnAgeRange(long InterfaceHandle, long AddOnIndex, long MinAge, long
MaxAge);
Der Wertebereich für das Alter der
Gäste ist typisch für Kinder- oder Seniorenermäßigungen. In allen andern
Fällen sollte diese Werte nicht angegeben werden. ,bzw. der Funktionsaufruf
unterbleiben.
Festlegen des Wert - Betrags für diese
Zusatzleistung oder diesen Nachlass
long __interface __linkage
CI_SetAddOnValue(long InterfaceHandle, long AddOnIndex, long Amount, long
SeasonID);
Hier stellt man den Wert des AddOns
ein. Abhängig vom Parameter CI_SetAddOnAttrib
-> Attrib, ist es ein Prozent- oder eine Eurocent - Betrag. SeasonID bezieht
sich hier wiederum auf die 20 möglichen Saisonen. Für AddOns, die kein Saisonsplitting
führen (siehe CI_SetAddOnAttrib 7), ist nur ein Wert mit
SeasonID 1 zu definieren.
Festlegen der Wochentagsmaske für die
Anwendung der Zusatzleistung oder des Nachlasses
long __interface __linkage
CI_SetAddOnWeekday(long InterfaceHandle, long AddOnIndex, long Weekday);
AddOns können an bestimmten
Wochentagen ausgenommen werden (z.B.: für Werktagsbonus). Als Weekday wird ein
Wert von 1 bis 7 definiert, wobei 1 für Sonntag und 7 für Samstag gilt.
Definition von Pauschalen (Packages)
Unter Pauschalen im Sinne von CapCorn
versteht man ein Leistungspaket, das neben diversen Zusatzartikeln (Skipass,
Wanderführer, etc.) ein Zimmer aus dem Verfügbarkeitskontingent beinhaltet.
Diese Pauschalen werden hinsichtlich ihres Preises und ihrer Merkmale festgelegt
und über die oben stehende Zuordnungsfunktion an in Frage kommende Zimmer
gebunden. Die Verfügbarkeit des oder der jeweils zugeordneten Zimmer bestimmt
auch die Verfügbarkeit des gesamten Packages.
Achtung: Sämtliche Einstellungen und Einschränkungen, wie AddOns,
Personenzahlen, Preise usw. verlieren ihre Bedeutung, wenn das Zimmer als
Package im Internet verkauft wird. Insofern ist von Client - Seite aus zu
achten, dass keine unmöglichen Zuordnungen, wie z.B. 2 - Personen - Packages auf
Zimmer mit nur einem Bett, getroffen werden.
Angabe der Bezeichnungen für die Pauschale
long
__interface __linkage
CI_SetPackageName(long InterfaceHandle, long PackageIndex, const char * Name,
const char * Description, int Language);
Hier legt man die Bezeichnung (20
Zeichen max.) sowie eine Kurzbeschreibung (200 Zeichen max.) der Pauschale fest.
Die Eingabe kann in englisch oder deutsch erfolgen (0 deutsch, 1 englisch).
Angabe der Leistungsbezeichnungen für die
Pauschale
long
__interface __linkage
CI_SetPackageAchievement(long InterfaceHandle, long PackageIndex, long
AchievementID,
const char * Achievement, int Language);
Pro Pauschale können bis zu 8 (AchievementID
= 1 bis 8) Leistungstexte mit je 30 Zeichen definiert werden. Diese Leistungen
werden im Kontext der Packageanpreisung dargestellt. Auch hier können die
Angaben in englisch (Language = 1) und in deutsch (Language = 0) erfolgen.
Festlegen des Gültigkeitszeitraums für die
Pauschale
long
__interface __linkage
CI_SetPackageTimeValues(long InterfaceHandle, long PackageIndex, long TimeID,
long Year, long Month, long Day, long TimeSpan);
Für jedes Package können bis zu 8
Zeitintervalle (TimeID 1..8) angegeben werden, innerhalb derer die Pauschale
angeboten werden darf. Die Eingabe erfolgt in der Form: Start Datum (Day, Month,
Year) und folgendes Zeitintervall in Tagen (ab x - y Tage).
Festlegen der Personenzahl, die für diese
Pauschale vorgesehen ist
long
__interface __linkage
CI_SetPackagePersDays(long InterfaceHandle, long PackageIndex, long NumOfPersons,
long Duration);
Die zentralen und fixen Merkmale für
Pauschalen sind die Personenzahl und die Aufenthaltsdauer. Das heißt, ein Package ist für eine fixe Personenzahl
UND für eine fixe
Aufenthaltsdauer definiert.
Beispiele: Single Weekend (1 Person - 2 Tage), Couble Week (2 Personen - 7 Tage), etc.
Angabe des Preises für die Pauschale in Euro
- Cent
long __interface __linkage
CI_SetPackagePrice(long InterfaceHandle, long PackageIndex, long TimeID, long
price);
Gemäß der strikten Definition
bezüglich Aufenthaltsdauer und Personenzahl ist im wesentlichen ein definierter
Preis für die angeführten Leistungen anzuwenden. Der Preis ist aber für jedes
Zeitintervall gesondert anzugeben, wodurch auch eine saisonale Staffelung
gewährleistet ist. TimeID korrespondiert mit jener TimeID aus CI_SetPackageTimeValues.
Insofern überschreibt eine Pauschale auch sämtliche Saisonpreisdefinitionen
der einzelnen Zimmer.
Copyright (c)
CapCorn Company Software GMBH
Autor: Ing. Franz
Hasewend
office@capcorn.at