Inhalt
- Allgemeines
- Schema
- InstantAnfrage und InstantAngebot
- Leistung
- Ausstattungen
- Kaffeepausen
- Mahlzeiten
- Getränke
- Technik
- Bestuhlung
- Ausstattungen
- InstantAngebot anfragen
- Endpunkt
- Argumente
- Antwort
- Beispiel: InstantAnfrage
- Beispiel: InstantAngebot
- Public Key
Version: 01.12.2017
Allgemeines
Mittels der InstantAngebot API können Preise und Verfügbarkeiten eines Anbieters ermittelt werden. Dazu wird eine InstantAnfrage als JSON-Objekt an die InstantAngebot API übergeben. Die Antwort enthält ein InstantAngebot Objekt. Dieses entspricht dem InstantAnfrage Objekt ergänzt um Verfügbarkeits-, Preis-, Steuer und Stornofristinformationen.
Nutzer können diese API vollkommen kostenfrei abfragen und - sofern nutzerseitig entsprechende Vereinbarungen mit den Anbietern bestehen - Buchungen generieren. Durch die Nutzung der API zur Generierung von Buchungen leitet Aloom keinerlei finanziellen Ansprüche (z.B. Kommissionen) an den Nutzer oder den Anbieter her. Ebenso können Nutzer keine Ansprüche an Aloom stellen. Es bleibt dem Nutzer freigestellt eigene Vereinbarungen mit den Anbietern zu treffen.
Wenn Sie unabhängig von Aloom über Ihre eigenen IT Systeme Direktbuchungen mit Anbietern durchführen, können Sie über info@aloom.de einen eigenen Channel Namen kostenfrei anfordern. Sie haben dann die Sicherheit, dass der Anbieter mit Ihnen zusammenarbeiten möchte und dass das InstantAngebot auch Ihren Vereinbarungen entspricht.
Die Antwort der API erfolgt in Form eines kryptografisch signierten JSON Web Tokens und ist mit einem Zeitstempel versehen. Wir empfehlen den Token bei Buchung zu speichern. Mittels unseres unten aufgeführten Public Keys können Nutzer und Anbieter die Unverfälschtheit des InstantAngebotes überprüfen.
Schema
InstantAnfrage und InstantAngebot
Ein InstantAngebot Objekt entspricht einem InstantAnfrage Objekt ergänzt um weitere angebotsspezifische Eigenschaften. Im InstantAngebot werden Eigenschaften ohne Wert ausgelassen (undefined
, z.B. keine Zimmerpreise, falls nicht angefragt).
Name | Beschreibung | Pflicht | Instant-Angebot | Hinweis |
---|---|---|---|---|
anbieterid int |
Anbieter ID | JA | Siehe Anbieter API | |
anreise string |
Anreise Datum Format YYYY-MM-DD |
JA | In der Zukunft | |
abreise string |
Abreise Datum Format YYYY-MM-DD |
JA | Max. Dauer der Veranstaltung 10 Tage | |
uhrzeitvon string |
Beginn der Veranstaltung Format HH:MM |
|||
uhrzeitbis string |
Ende der Veranstaltung Format HH:MM |
|||
leistungen array[Leistung] |
Array von Leistungen | JA | Min. ein Raum muss je Veranstaltungstag angefragt werden. | |
channel string |
Channel Name | |||
buchbar bool |
Buchung/Angebot möglich | JA | Wenn false werden keine weitern InstantAngebot Eigenschaften übergeben, da keine Verfügbarkeit besteht. |
|
waehrung string |
Währung des Angebotes | JA | Währung Code ISO 4217 |
|
mwst string |
Preise verstehen sich inkl./zzgl. MwSt | JA | inklusive oder exklusive |
|
gesamt float |
Gesamtkosten des Angebotes | JA | ||
ez float |
Preis EZ | JA | Pro Zimmer/Nacht exkl. Frühstück | |
dz float |
Preis DZ | JA | Pro Zimmer/Nacht exkl. Frühstück | |
fruehstueck float |
Preis Frühstück | JA | Pro Person | |
gesamtva float |
Gesamtkosten aller Veranstaltungsleistungen (Räume, Technik, F&B) | JA | Enthält die Kosten aller angefragten Leistungen vom Typ raum , technik , kaffee , kpv , kpn , me , ae , tagungsgetraenke , getraenke |
|
gesamtvatag object |
Kosten aller Veranstaltungsleistungen (Räume, Technik, F&B) gesplittet nach Tagen | JA | z.B. 2-tägige Veranstaltung mit gesamtva 250 :{'1': 150, '2': 100} |
|
mwstnormal float |
MwSt Satz auf Veranstaltungsleistungen | JA | ||
mwstzimmer float |
MwSt Satz auf Zimmer exkl. Frühstück | JA | ||
mwstfruehstueck float |
MwSt Satz auf Frühstück | JA | ||
kostenfreistornierbar string |
Datum bis zu dem einschließlich eine Buchung dieses InstantAngebotes kostenfrei storniert werden könnte Format YYYY-MM-DD |
JA | Wenn nicht aufgeführt (undefined ) keine kostenfreie Stornierung (mehr) möglich |
Leistung
Name | Beschreibung | Pflicht | Hinweis |
---|---|---|---|
typ string |
Typ | JA | Einer aus raum : Tagungsraumtechnik : Technikkaffee : Begrüßungskaffeekpv : Kaffeepause vormittagskpn : Kaffeepause nachmittagsme : Mittagessenae : Abendessenez : Einzelzimmerdz : Doppelzimmertagungsgetraenke : Tagungsgetränkegetraenke : Getränke zu einer Mahlzeiten |
tag int |
Veranstaltungstag an dem die Leistung benötigt wird | JA, wenn zulässig | Anreisetag entspr. 1 Nur zulässig bei Typen raum , kaffee , kpv , kpn , me , ae , tagungsgetraenke und getraenke |
anzahl int |
Angefragte Menge | JA | Min. 1 |
ausstattung int |
Ausstattung der Leistung | JA, wenn zulässig | Siehe Ausstattungen Nur zulässig bei Typen kaffee , kpv , kpn , me , ae , tagungsgetraenke , getraenke und technik |
pax int |
Anzahl Personen in Raum | JA, wenn zulässig | Min. 1 Nur zulässig bei Typ raum |
bestuhlung int |
Bestuhlung | JA, wenn zulässig | Siehe Bestuhlung Nur zulässig bei Typ raum |
technik array[Leistung] |
Array von Leistungen vom Typ technik |
Darf nur Leistungen vom Typ technik enthaltenNur zulässig bei Typ raum |
|
raumid int |
(Wunsch-) Tagungsraum ID | Siehe Anbieter API Wenn leer, wird der günstigste Raum gewählt Nur zulässig bei Typ raum Im InstantAgebot wird dieser Wert mit der ID des angebotenen Raumes ergänzt. |
|
anreise string |
Zimmer Anreise | JA, wenn zulässig | In der Zukunft Nur zulässig bei Typ ez oder dz |
abreise string |
Zimmer Abreise | JA, wenn zulässig | Später als Zimmer Anreise Nur zulässig bei Typ ez oder dz |
Ausstattungen
Kaffeepausen: kaffee
, kpv
, kpn
Ausstattung | Beschreibung |
---|---|
1 |
nur Kaffee/Tee |
2 |
mit Obst |
3 |
mit Joghurt, Müsli und Obst |
4 |
mit Kuchen |
5 |
mit herzhafter Beilage |
6 |
mit süßer Beilage |
7 |
ein Glas Sekt / Sekt-Orange |
8 |
mit halben belegten Brötchen |
9 |
mit Butterbrezeln |
10 |
mit Kekse |
11 |
mit Fingerfood |
Mahlzeiten: me
, ae
Ausstattung | Beschreibung |
---|---|
1 |
Tellergericht |
2 |
2-Gang Menü o. Buffet |
3 |
3-Gang Menü o. Buffet |
4 |
4-Gang Menü |
5 |
5-Gang Menü |
6 |
Buffet |
7 |
Suppe und halbe belegte Brötchen |
8 |
Imbiß |
9 |
Fingerfood-Buffet |
Getränke: tagungsgetraenke
, getraenke
Ausstattung | Beschreibung |
---|---|
1 |
Wasser unlimited |
2 |
Wasser und Saft unlimited |
3 |
Wasser, Saft und Softs unlimited |
4 |
Wasser und Kaffee/Tee unlimited |
5 |
Wasser, Saft und Kaffee/Tee unlimited |
6 |
Wasser, Saft, Softs und Kaffee/Tee unlimited |
7 |
1x0,2l pro Person, alkoholfrei |
8 |
1x0,2l Wasser, Saft, Bier oder Wein |
9 |
1x0,3l Softgetränk |
Technik
Ausstattung | Beschreibung |
---|---|
1 |
Beamer inkl. Beamertisch |
2 |
Leinwand |
3 |
Flipchart |
4 |
Pinnwand |
5 |
Moderatorenkoffer |
6 |
Handmikrofon |
7 |
Ansteckmikrofon |
8 |
Beschallungsanlage |
9 |
Internetzugang |
10 |
Telefonanschluss |
Bestuhlung
Bestuhlung | Beschreibung |
---|---|
1 |
Bankett |
2 |
Block |
3 |
Parlament |
4 |
Stuhlreihen |
5 |
U-Form |
6 |
Stuhlkreis |
InstantAngebot anfragen
Endpunkt
GET https://mice.aloom.de/api/v1/instantangebot
Argumente
Name | Beschreibung | Pflicht |
---|---|---|
instantanfrage string |
InstantAnfrage als JSON String | JA |
callback string |
JSONP callback | |
_jsonp string |
JSONP callback |
Antwort
Die Antwort erfolgt in Form eines JSON Web Token (HS256) mit den Claims iat
(Zeitstempel) und instantangebot
(InstantAngebot Objekt) mit dem Content Type text/plain
und dem CORS Header Access-Control-Allow-Origin: *
.
Der JWT Token kann browserseitig mittels jwt-decode (https://github.com/auth0/jwt-decode) ohne Verifizierung dekodiert werden. Ggf. möchten Sie den Token im weiteren Prozess verifizieren und speichern.
Im ersten Schritt sollte anhand der Eigenschaft buchbar
ermittelt werden, ob eine Verfügbarkeit besteht. Sofern keine Verfügbarkeit der angefragten Leistungen besteht, werden keine weiteren InstantAngebot Eigenschaften übergeben.
Beispiel: InstantAnfrage
{
"anbieterid": 193,
"channel": "ALOOM",
"anreise": "2017-12-02",
"abreise": "2017-12-03",
"leistungen": [{
"typ": "raum",
"tag": "1",
"anzahl": 1,
"pax": 10,
"bestuhlung": "5",
"technik": [{
"typ": "technik",
"anzahl": 1,
"ausstattung": 1
}, {
"typ": "technik",
"anzahl": 1,
"ausstattung": 2
}, {
"typ": "technik",
"anzahl": 1,
"ausstattung": 3
}, {
"typ": "technik",
"anzahl": 1,
"ausstattung": 4
}]
}, {
"typ": "raum",
"tag": "2",
"anzahl": 1,
"pax": 10,
"bestuhlung": "5",
"technik": [{
"typ": "technik",
"anzahl": 1,
"ausstattung": 1
}, {
"typ": "technik",
"anzahl": 1,
"ausstattung": 2
}, {
"typ": "technik",
"anzahl": 1,
"ausstattung": 3
}, {
"typ": "technik",
"anzahl": 1,
"ausstattung": 4
}]
}, {
"typ": "kpv",
"anzahl": 10,
"tag": 1,
"ausstattung": 1
}, {
"typ": "me",
"anzahl": 10,
"tag": 1,
"ausstattung": 3
}, {
"typ": "kpn",
"anzahl": 10,
"tag": 1,
"ausstattung": 6
}, {
"typ": "tagungsgetraenke",
"anzahl": 10,
"tag": 1,
"ausstattung": 2
}, {
"typ": "kpv",
"anzahl": 10,
"tag": 2,
"ausstattung": 1
}, {
"typ": "me",
"anzahl": 10,
"tag": 2,
"ausstattung": 3
}, {
"typ": "kpn",
"anzahl": 10,
"tag": 2,
"ausstattung": 6
}, {
"typ": "tagungsgetraenke",
"anzahl": 10,
"tag": 2,
"ausstattung": 2
}, {
"typ": "ez",
"anzahl": 1,
"anreise": "2017-12-01",
"abreise": "2017-12-03"
}, {
"typ": "ez",
"anzahl": 4,
"anreise": "2017-12-02",
"abreise": "2017-12-03"
}, {
"typ": "dz",
"anzahl": 1,
"anreise": "2017-12-02",
"abreise": "2017-12-03"
}]
};
Beispiel: InstantAngebot
Als JSON Web Token:
eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpYXQiOjE1MTIwNTYzODksImluc3RhbnRhbmdlYm90Ijp7ImFuYmlldGVyaWQiOjE5MywiY2hhbm5lbCI6IkFMT09NIiwiYW5yZWlzZSI6IjIwMTctMTItMDIiLCJhYnJlaXNlIjoiMjAxNy0xMi0wMyIsImxlaXN0dW5nZW4iOlt7InR5cCI6InJhdW0iLCJ0YWciOiIxIiwiYW56YWhsIjoxLCJwYXgiOjEwLCJiZXN0dWhsdW5nIjoiNSIsInRlY2huaWsiOlt7InR5cCI6InRlY2huaWsiLCJhbnphaGwiOjEsImF1c3N0YXR0dW5nIjoxfSx7InR5cCI6InRlY2huaWsiLCJhbnphaGwiOjEsImF1c3N0YXR0dW5nIjoyfSx7InR5cCI6InRlY2huaWsiLCJhbnphaGwiOjEsImF1c3N0YXR0dW5nIjozfSx7InR5cCI6InRlY2huaWsiLCJhbnphaGwiOjEsImF1c3N0YXR0dW5nIjo0fV0sInJhdW1pZCI6Ijk1NCJ9LHsidHlwIjoicmF1bSIsInRhZyI6IjIiLCJhbnphaGwiOjEsInBheCI6MTAsImJlc3R1aGx1bmciOiI1IiwidGVjaG5payI6W3sidHlwIjoidGVjaG5payIsImFuemFobCI6MSwiYXVzc3RhdHR1bmciOjF9LHsidHlwIjoidGVjaG5payIsImFuemFobCI6MSwiYXVzc3RhdHR1bmciOjJ9LHsidHlwIjoidGVjaG5payIsImFuemFobCI6MSwiYXVzc3RhdHR1bmciOjN9LHsidHlwIjoidGVjaG5payIsImFuemFobCI6MSwiYXVzc3RhdHR1bmciOjR9XSwicmF1bWlkIjoiOTU0In0seyJ0eXAiOiJrcHYiLCJhbnphaGwiOjEwLCJ0YWciOjEsImF1c3N0YXR0dW5nIjoxfSx7InR5cCI6Im1lIiwiYW56YWhsIjoxMCwidGFnIjoxLCJhdXNzdGF0dHVuZyI6M30seyJ0eXAiOiJrcG4iLCJhbnphaGwiOjEwLCJ0YWciOjEsImF1c3N0YXR0dW5nIjo2fSx7InR5cCI6InRhZ3VuZ3NnZXRyYWVua2UiLCJhbnphaGwiOjEwLCJ0YWciOjEsImF1c3N0YXR0dW5nIjoyfSx7InR5cCI6ImtwdiIsImFuemFobCI6MTAsInRhZyI6MiwiYXVzc3RhdHR1bmciOjF9LHsidHlwIjoibWUiLCJhbnphaGwiOjEwLCJ0YWciOjIsImF1c3N0YXR0dW5nIjozfSx7InR5cCI6ImtwbiIsImFuemFobCI6MTAsInRhZyI6MiwiYXVzc3RhdHR1bmciOjZ9LHsidHlwIjoidGFndW5nc2dldHJhZW5rZSIsImFuemFobCI6MTAsInRhZyI6MiwiYXVzc3RhdHR1bmciOjJ9LHsidHlwIjoiZXoiLCJhbnphaGwiOjEsImFucmVpc2UiOiIyMDE3LTEyLTAxIiwiYWJyZWlzZSI6IjIwMTctMTItMDMifSx7InR5cCI6ImV6IiwiYW56YWhsIjo0LCJhbnJlaXNlIjoiMjAxNy0xMi0wMiIsImFicmVpc2UiOiIyMDE3LTEyLTAzIn0seyJ0eXAiOiJkeiIsImFuemFobCI6MSwiYW5yZWlzZSI6IjIwMTctMTItMDIiLCJhYnJlaXNlIjoiMjAxNy0xMi0wMyJ9XSwiYnVjaGJhciI6dHJ1ZSwid2FlaHJ1bmciOiJFVVIiLCJtd3N0IjoiaW5rbHVzaXZlIiwiZ2VzYW10IjoyMTU3LCJleiI6ODcsImR6Ijo4NywiZnJ1ZWhzdHVlY2siOjExLCJnZXNhbXR2YSI6MTQ2MCwiZ2VzYW10dmF0YWciOnsiMSI6NzMwLCIyIjo3MzB9LCJnZXNhbXR6aW1tZXIiOjYwOSwiZ2VzYW10ZnJ1ZWhzdHVlY2siOjg4LCJtd3N0bm9ybWFsIjoxOSwibXdzdHppbW1lciI6NywibXdzdGZydWVoc3R1ZWNrIjoxOX19.EtUY1xURCW7FaD8EgWnp9YwRbwLyq0zcQCGNX9_O5qb9pp_BGgZnWWY4EwKGVrAt-BcXQbXl-JRgLl9dsy53627O0FDA4h3G6U3GtHVOLBF5nDc-yF63MoQSaAruJTKHDt98WyJ0vInOjeKYrWu0ChHLs11PrT_lf0eVIARfHo37C9ZKp5aVxJ7s9Omd_RZuM0gJdjoE46PPA0Gp8SKXSBC5ZHfN2AYJbyvcfPeCbI18fNk2HN9fezbxo7jfeBcUPMUSQEOePXPo_RSkKuUFuvnKuCAuwfr5wiqnx8HBsQCZ8ubKi9rFI9AkPx18QJCRD3eiNnbLaUjhmNFBcYGt6hTsoVoSQQHa4lUgqura-AdV1hnJUuo1OVaL0I9_r26odj9c6ictY05PxWyyjC0BdhYexjsXbYAaidW9D6_SZyQuOTzPVMwG6GVPq5k7Gzt8k8OW3wgo_Qhnm7GXIqhROS2qk22skGdAI4EFUmpZRY77CuVXh1r8sHDMAt2xfqHaEStoaUKTJUVOOfnClGLC3V3K2Bnjj194pIqvJ5o_7TeoCvZSHVeE1AFWgPpqwJGXWoYwMbADUBDJ2M8xKGoMwp25OVAH4XxKU0aSHMiKoHJdUmkCvFjLV0Bcjy-KybZGBiP30EUbuNCpznZUf5KoyQKX_XVA7KtRK6PQvBDaYt8
Als InstantAngebot:
{
"anbieterid": 193,
"channel": "ALOOM",
"anreise": "2017-12-02",
"abreise": "2017-12-03",
"leistungen": [{
"typ": "raum",
"tag": "1",
"anzahl": 1,
"pax": 10,
"bestuhlung": "5",
"technik": [{
"typ": "technik",
"anzahl": 1,
"ausstattung": 1
}, {
"typ": "technik",
"anzahl": 1,
"ausstattung": 2
}, {
"typ": "technik",
"anzahl": 1,
"ausstattung": 3
}, {
"typ": "technik",
"anzahl": 1,
"ausstattung": 4
}],
"raumid": "954"
}, {
"typ": "raum",
"tag": "2",
"anzahl": 1,
"pax": 10,
"bestuhlung": "5",
"technik": [{
"typ": "technik",
"anzahl": 1,
"ausstattung": 1
}, {
"typ": "technik",
"anzahl": 1,
"ausstattung": 2
}, {
"typ": "technik",
"anzahl": 1,
"ausstattung": 3
}, {
"typ": "technik",
"anzahl": 1,
"ausstattung": 4
}],
"raumid": "954"
}, {
"typ": "kpv",
"anzahl": 10,
"tag": 1,
"ausstattung": 1
}, {
"typ": "me",
"anzahl": 10,
"tag": 1,
"ausstattung": 3
}, {
"typ": "kpn",
"anzahl": 10,
"tag": 1,
"ausstattung": 6
}, {
"typ": "tagungsgetraenke",
"anzahl": 10,
"tag": 1,
"ausstattung": 2
}, {
"typ": "kpv",
"anzahl": 10,
"tag": 2,
"ausstattung": 1
}, {
"typ": "me",
"anzahl": 10,
"tag": 2,
"ausstattung": 3
}, {
"typ": "kpn",
"anzahl": 10,
"tag": 2,
"ausstattung": 6
}, {
"typ": "tagungsgetraenke",
"anzahl": 10,
"tag": 2,
"ausstattung": 2
}, {
"typ": "ez",
"anzahl": 1,
"anreise": "2017-12-01",
"abreise": "2017-12-03"
}, {
"typ": "ez",
"anzahl": 4,
"anreise": "2017-12-02",
"abreise": "2017-12-03"
}, {
"typ": "dz",
"anzahl": 1,
"anreise": "2017-12-02",
"abreise": "2017-12-03"
}],
"buchbar": true,
"waehrung": "EUR",
"mwst": "inklusive",
"gesamt": 2157,
"ez": 87,
"dz": 87,
"fruehstueck": 11,
"gesamtva": 1460,
"gesamtvatag": {
"1": 730,
"2": 730
},
"gesamtzimmer": 609,
"gesamtfruehstueck": 88,
"mwstnormal": 19,
"mwstzimmer": 7,
"mwstfruehstueck": 19
};
Public Key
-----BEGIN PUBLIC KEY-----
MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA7rwuF9IQZuESlQfxjSwL
BCZlguKCTBerwK1VVzo2QLRX4SA4j5H0u3LLWCeKWo+zsJlj2pvRiwbafns9bIpO
k1wl8WpzGGJCaGS2w1dIKauqJtT2E9k83QuP13ZQV/WwcOUiR4hccxs/L06G7xP3
Mr8NJ455TorgRCGgj0EWarL15d9WJMeyKt0tCTGfeOfqHYtyAAWkqRbUODU8aofU
5H3bP+tDGnjHKqzx4vrcF05oueQ+UL2Z9Z1mue7+9nL4hh0epGQYHT+Lopm0wiFn
LhlNhbdLihtO9I3oBRJVXuu9PHDvTNXaxJYX7uQaiJGwvQNvuZ8OYv14KYxX/mKU
9BqPqVL2NsrJO2D9nVwzJARSEobhB4CfcimQK6EdD+sitfUPoYI5CZYgE0UYDz5G
8c1pJfPxfjzF5+fJuclkv43030wUKuOMH1kbdwDlUlh8uEmt3OBhg6uDJtiqwS7L
kSlIF1BU537HYq+n2jTtBMKcTWItCPczrDva9+Oxpg3nEhoXlX4nwt4ETa579WWg
3jXf8xDFK0gq8P1mn8Mq7bJzA/S14y08wYJGAySznsBugzBnFmYVQHLYIH4WX+pc
hlueBDcO1PswHmGXJ3XBiHF5dQfvoGvSPzrpfO8i394jOIVUEKwWB6Z77LFywKBi
UzEWIrkRkWP0rrIvMx5QN7UCAwEAAQ==
-----END PUBLIC KEY-----