summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormakefu <github@syntax-fehler.de>2017-09-19 15:07:51 +0200
committermakefu <github@syntax-fehler.de>2017-09-19 15:07:51 +0200
commit95c63f06bf364f3b62fa0a99297c2000db61c81f (patch)
tree29a94343d6c8824453f35a4405993ee5c75c23f9
parentd94997cb359e0aba9d059f2538fba29c52407b05 (diff)
init
-rw-r--r--default.nix13
-rw-r--r--europastats/__init__.py0
-rw-r--r--europastats/attractions.py78
-rw-r--r--europastats/data/attractions.json21883
-rw-r--r--europastats/data/waitingtimes.json188
-rw-r--r--europastats/data/weather.json1
-rw-r--r--europastats/weather.py43
-rw-r--r--setup.py29
8 files changed, 22235 insertions, 0 deletions
diff --git a/default.nix b/default.nix
new file mode 100644
index 0000000..774d519
--- /dev/null
+++ b/default.nix
@@ -0,0 +1,13 @@
+{ pkgs ? import <nixpkgs> {} }:
+with pkgs.python3Packages;
+let
+ inp = [
+ python
+ requests2
+ docopt
+ ];
+in buildPythonPackage {
+ name = "europastats";
+ src = ./.;
+ buildInputs = inp;
+}
diff --git a/europastats/__init__.py b/europastats/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/europastats/__init__.py
diff --git a/europastats/attractions.py b/europastats/attractions.py
new file mode 100644
index 0000000..9a6c087
--- /dev/null
+++ b/europastats/attractions.py
@@ -0,0 +1,78 @@
+#!/usr/bin/env python
+"""
+ takes a list of openweathermap ids and a config dict with
+ "openweathermap_apikey"
+"""
+from datetime import datetime as dt
+import sys
+import json
+import requests
+
+import json
+from os.path import join,dirname,abspath
+name = "waitingtimes"
+
+status_codes = [
+ "Open",
+ "90Plus",
+ "Closed",
+ "Temporariy Closed",
+ "Closed due to Weather",
+ "Special Tour"
+]
+
+api_url = "https://api.europapark.de/api-5.4/"
+
+def get_db(id):
+ with open(abspath(join(dirname(__name__),"europastats/data",id+".json")),'rb') as f:
+ return json.load(f)
+
+name_mapping = { a["code"]: a for a in get_db("attractions") }
+
+
+def gen_token():
+ from binascii import hexlify
+ import hmac
+ import hashlib
+ import base64
+ secret = "ZhQCqoZp"
+ message= dt.utcnow().strftime("%Y%m%d%H")
+ dig = hmac.new(secret.encode("utf-8"), msg=message.encode("utf-8"), digestmod=hashlib.sha256).digest()
+ return hexlify(dig).upper().decode()
+
+def get_live(page):
+ code = gen_token()
+ headers = requests.utils.default_headers()
+ headers.update( { "User-Agent": "okhttp/2.7.5", })
+ resp = requests.get( api_url + page,
+ params = {"mock":"false","token":code},
+ headers = headers).json()
+ return resp
+
+
+
+def get_data(mock=False):
+ now = dt.utcnow()
+ if mock:
+ resp = get_db(name)
+ else:
+ resp = get_live("waitingtimes")
+ for v in resp:
+ data = {}
+ data["status"] = status_codes[v["status"]]
+ data["_name"] = "Attraktion {}".format( name_mapping[v["code"]]["nameGerman"])
+ data["_id"] = "europapark-{}-{}".format(name,v["code"])
+ data["waitingtime"] = v["time"]
+ data["_ts"] = now.isoformat(timespec="seconds") + "Z"
+ data["_db"] = name
+ yield data
+
+def main():
+ kvt = get_data()
+ print(json.dumps(list(kvt)))
+
+def get_mock_data():
+ return get_data(True)
+
+if __name__ == "__main__":
+ main()
diff --git a/europastats/data/attractions.json b/europastats/data/attractions.json
new file mode 100644
index 0000000..ee5ccf9
--- /dev/null
+++ b/europastats/data/attractions.json
@@ -0,0 +1,21883 @@
+[
+ {
+ "since": 0,
+ "capacity": 0,
+ "capacityType": 0,
+ "theoreticalCapacity": 0,
+ "drivingTime": 0,
+ "height": 0,
+ "maxSpeed": 0,
+ "acceleration": 0,
+ "maxAcceleration": 0,
+ "producer": null,
+ "id": 1,
+ "code": 25,
+ "latitude": 48.268845,
+ "longitude": 7.721805,
+ "nameGerman": "Haupteingang",
+ "nameEnglish": "Main entrance",
+ "nameFrench": "Entrée principale",
+ "teaserGerman": "",
+ "teaserEnglish": "",
+ "teaserFrench": "",
+ "descriptionGerman": "Ihr Tor in eine andere Welt",
+ "descriptionEnglish": "Your gate into another world",
+ "descriptionFrench": "Votre entrée dans un monde merveilleux",
+ "active": true,
+ "area": 1,
+ "img": "haupteingang.jpg",
+ "type": 3,
+ "open": 0,
+ "ageMin": 0,
+ "ageMax": 0,
+ "sizeMin": 0,
+ "sizeMax": 0,
+ "thrill": 0,
+ "serviceTypes": null,
+ "gastronomyTypes": null,
+ "kitchenType": 0,
+ "gastronomyOptions": null,
+ "disabled": true,
+ "pregnant": true,
+ "parentAllowed": true,
+ "media": [],
+ "attractionsCategories": null,
+ "facebook": "",
+ "new": false,
+ "detailImageURL": "https://api.europapark.de/detail-5.4/haupteingang.jpg"
+ },
+ {
+ "since": 2002,
+ "capacity": 36,
+ "capacityType": 2,
+ "theoreticalCapacity": 1620,
+ "drivingTime": 180,
+ "height": 73,
+ "maxSpeed": 130,
+ "acceleration": 0,
+ "maxAcceleration": 4,
+ "producer": "Bolliger & Mabillard",
+ "id": 2,
+ "code": 250,
+ "latitude": 48.267714,
+ "longitude": 7.720484,
+ "nameGerman": "Silver Star",
+ "nameEnglish": "",
+ "nameFrench": "",
+ "teaserGerman": "Adrenalin Kick mit Air-Time",
+ "teaserEnglish": "A ride on the Silver Star is pure thrill",
+ "teaserFrench": "Émotions fortes garanties",
+ "descriptionGerman": "Würde man unseren Silver Star als eine der größten und höchsten Achterbahnen Europas beschreiben, klingt das fast langweilig. \nAlso stell' dir vor, du rast mit 130 Sachen auf einen 73 Meter hohen Turm - und mit vierfacher Erdbeschleunigung runter in die Kurven! Und das direkt nochmal! DAS ist der Silver Star. \nGesundheitshinweis: Aufgrund der Geschwindigkeit wird das Gesicht leicht verzerrt. Fachleute nennen es \"Grinsen\". Das ist ein absolut gewollter Effekt, der häufig sogar noch nach der Fahrt anhält. \nSicherheitshinweis: Personen mit starkem Oberschenkel- und / oder Körperumfang können nicht befördert werden. Ein Testsitz befindet sich am Eingang.",
+ "descriptionEnglish": "Europe's highest and biggest roller coaster offers pure thrills - not for the faint-hearted!",
+ "descriptionFrench": "Quand on lit « Notre Silver Star est l'un des plus grands et plus hauts grand huit d'Europe », on se dit que c'est une description presque un peu trop sommaire en fait. \n\nAlors, imagine-toi au sommet d’une tour haute de 73 mètres à bord d’une voiture de course, avant de lancer ton véhicule dans le vide à 130 km/h et de zigzaguer dans des virages et collines avec des forces atteignant 4G. \nÇA c’est la vraie description de Silver Star ! \n\nIndication sanitaire : en raison de la vitesse de l’attraction, une légère déformation va apparaître sur le visage. Les experts appellent cela le « sourire ». Il s’agit là d’un effet secondaire absolument volontaire, qui se prolongera même après l’escapade. \nConsigne de sécurité : Les personnes ayant un tour de cuisse et/ou un tour de taille important(s) ne pourront pas monter à bord de l’attraction. Un siège de test est disponible à l’entrée de l’attraction.",
+ "active": true,
+ "area": 9,
+ "img": "silverstar.jpg",
+ "type": 1,
+ "open": 1,
+ "ageMin": 11,
+ "ageMax": 0,
+ "sizeMin": 140,
+ "sizeMax": 0,
+ "thrill": 4,
+ "serviceTypes": null,
+ "gastronomyTypes": null,
+ "kitchenType": 0,
+ "gastronomyOptions": null,
+ "disabled": false,
+ "pregnant": false,
+ "parentAllowed": true,
+ "media": [
+ {
+ "type": 1,
+ "imageBaseURL": "https://api.europapark.de/detail-5.4/",
+ "localizedUrls": [
+ {
+ "url": "0m3zU9H77vE",
+ "language": null
+ }
+ ]
+ },
+ {
+ "type": 0,
+ "imageBaseURL": "https://api.europapark.de/detail-5.4/",
+ "localizedUrls": [
+ {
+ "url": "silverstar_1.jpg",
+ "language": null
+ }
+ ]
+ },
+ {
+ "type": 0,
+ "imageBaseURL": "https://api.europapark.de/detail-5.4/",
+ "localizedUrls": [
+ {
+ "url": "silverstar_2.jpg",
+ "language": null
+ }
+ ]
+ },
+ {
+ "type": 0,
+ "imageBaseURL": "https://api.europapark.de/detail-5.4/",
+ "localizedUrls": [
+ {
+ "url": "silverstar_3.jpg",
+ "language": null
+ }
+ ]
+ },
+ {
+ "type": 0,
+ "imageBaseURL": "https://api.europapark.de/detail-5.4/",
+ "localizedUrls": [
+ {
+ "url": "silverstar_4.jpg",
+ "language": null
+ }
+ ]
+ },
+ {
+ "type": 0,
+ "imageBaseURL": "https://api.europapark.de/detail-5.4/",
+ "localizedUrls": [
+ {
+ "url": "silverstar_5.jpg",
+ "language": null
+ }
+ ]
+ },
+ {
+ "type": 0,
+ "imageBaseURL": "https://api.europapark.de/detail-5.4/",
+ "localizedUrls": [
+ {
+ "url": "silverstar_6.jpg",
+ "language": null
+ }
+ ]
+ },
+ {
+ "type": 0,
+ "imageBaseURL": "https://api.europapark.de/detail-5.4/",
+ "localizedUrls": [
+ {
+ "url": "silverstar_7.jpg",
+ "language": null
+ }
+ ]
+ },
+ {
+ "type": 0,
+ "imageBaseURL": "https://api.europapark.de/detail-5.4/",
+ "localizedUrls": [
+ {
+ "url": "silverstar_8.jpg",
+ "language": null
+ }
+ ]
+ }
+ ],
+ "attractionsCategories": [
+ 1,
+ 13
+ ],
+ "facebook": "silverstar.coaster",
+ "new": false,
+ "detailImageURL": "https://api.europapark.de/detail-5.4/silverstar.jpg"
+ },
+ {
+ "since": 1997,
+ "capacity": 16,
+ "capacityType": 2,
+ "theoreticalCapacity": 1600,
+ "drivingTime": 300,
+ "height": 28.3,
+ "maxSpeed": 80,
+ "acceleration": 0,
+ "maxAcceleration": 4,
+ "producer": "Mack Rides",
+ "id": 3,
+ "code": 500,
+ "latitude": 48.265051,
+ "longitude": 7.720213,
+ "nameGerman": "Euro-Mir",
+ "nameEnglish": "",
+ "nameFrench": "",
+ "teaserGerman": "Vorwärts und Rückwärts hinab",
+ "teaserEnglish": "Nosedive from two enmormous towers",
+ "teaserFrench": "Des nacelles en rotation ",
+ "descriptionGerman": "Du hast die Raumstation MIR gleich nebenan besichtigt und jetzt Lust Astronaut zu werden? \nTja, Moooment! Das wollen ja alle! \n\nErst müssen wir prüfen, ob du auch das Zeug dazu hast: die Hochgeschwindigkeits-Achterbahn EURO-MIR lässt dich aus 28 Metern stürzen - um dich dann ordentlich durchzuschütteln: mit vierfacher Erdbeschleunigung geht's links rum, rechts rum, in den Kreisel, durch ein schwarzes Loch uuund Vollbremsung! Wollen wir doch mal sehen, was für ein Weltraumheld in dir steckt...",
+ "descriptionEnglish": "So, you've visited the Space Station next door and now you think you want to be an astronaut? Not so fast, that's what they all say! \n\nFirst, we need to check that you're fit for space travel. The Euro-Mir high speed rollercoaster will plunge you down from 28 metres above the ground, before you experience four times the force of gravity as you race up and down, around tight bends and spiral straight into a black hole! Are you the next space hero?",
+ "descriptionFrench": "Tu viens de visiter la station MIR, juste à côté du grand huit, et maintenant tu as envie de devenir astronaute ? \nPas si vite ! Tout le monde aimerait explorer l'espace ! \nMais avant de t'embarquer à bord d'une fusée, on doit d'abord tester tes capacités : Le grand huit fulgurant EURO-MIR te fera dévaler depuis 28 mètres de hauteur - pour te secouer comme il se doit. Avec une force centrifuge très élevé, on part à gauche, à droite, on tourne sur soi-même, on passe le trou noir et?. on freine à bloc ! Maintenant, voyons voir si tu as l'étoffe d'un cosmonaute' ou pas !",
+ "active": true,
+ "area": 4,
+ "img": "euromir.jpg",
+ "type": 1,
+ "open": 0,
+ "ageMin": 8,
+ "ageMax": 0,
+ "sizeMin": 130,
+ "sizeMax": 195,
+ "thrill": 4,
+ "serviceTypes": null,
+ "gastronomyTypes": null,
+ "kitchenType": 0,
+ "gastronomyOptions": null,
+ "disabled": false,
+ "pregnant": false,
+ "parentAllowed": true,
+ "media": [
+ {
+ "type": 1,
+ "imageBaseURL": "https://api.europapark.de/detail-5.4/",
+ "localizedUrls": [
+ {
+ "url": "qNdGYkCbaVc",
+ "language": null
+ }
+ ]
+ },
+ {
+ "type": 0,
+ "imageBaseURL": "https://api.europapark.de/detail-5.4/",
+ "localizedUrls": [
+ {
+ "url": "euromir_1.jpg",
+ "language": null
+ }
+ ]
+ },
+ {
+ "type": 0,
+ "imageBaseURL": "https://api.europapark.de/detail-5.4/",
+ "localizedUrls": [
+ {
+ "url": "euromir_2.jpg",
+ "language": null
+ }
+ ]
+ },
+ {
+ "type": 0,
+ "imageBaseURL": "https://api.europapark.de/detail-5.4/",
+ "localizedUrls": [
+ {
+ "url": "euromir_3.jpg",
+ "language": null
+ }
+ ]
+ },
+ {
+ "type": 0,
+ "imageBaseURL": "https://api.europapark.de/detail-5.4/",
+ "localizedUrls": [
+ {
+ "url": "euromir_4.jpg",
+ "language": null
+ }
+ ]
+ },
+ {
+ "type": 0,
+ "imageBaseURL": "https://api.europapark.de/detail-5.4/",
+ "localizedUrls": [
+ {
+ "url": "euromir_5.jpg",
+ "language": null
+ }
+ ]
+ }
+ ],
+ "attractionsCategories": [
+ 1,
+ 13
+ ],
+ "facebook": "euromir.coaster",
+ "new": false,
+ "detailImageURL": "https://api.europapark.de/detail-5.4/euromir.jpg"
+ },
+ {
+ "since": 2000,
+ "capacity": 8,
+ "capacityType": 2,
+ "theoreticalCapacity": 1600,
+ "drivingTime": 350,
+ "height": 23,
+ "maxSpeed": 70,
+ "acceleration": 0,
+ "maxAcceleration": 3,
+ "producer": "Mack Rides",
+ "id": 4,
+ "code": 400,
+ "latitude": 48.267381,
+ "longitude": 7.719223,
+ "nameGerman": "Wasserachterbahn Poseidon",
+ "nameEnglish": "",
+ "nameFrench": "",
+ "teaserGerman": "Griechische Mythologie hautnah",
+ "teaserEnglish": "Adventurous trip through Greek mythology",
+ "teaserFrench": "Adventurous trip through Greek mythology",
+ "descriptionGerman": "Die griechische Mythologie bietet ja einige Überraschungen - und der Gott des Meeres hat sogar eine waschechte Odyssee für dich: \nIn einem alten Tempel startest du eine wilde Achterbahnfahrt durch Poseidons Unterwasserwelt, dann geht's hoch in die Luft und mitten rein in die stürmische See! \nOder wie der alte Achterbahn-Fan Heraklit zu sagen pflegte: Πάντα ῥεῖ - alles fließt.",
+ "descriptionEnglish": "Greek mythology is full of surprises, and the God of the Oceans has a real odyssey in store for you. \nFrom inside the ancient temple, you embark on a wild rollercoaster ride through Poseidon's underwater world, before rising high into the air and diving straight back down into the choppy sea. \nOr as the old rollercoaster fan Heraklitus used to say, Πάντα ῥεῖ - everything flows. ",
+ "descriptionFrench": "La mythologie grecque réserve bien des surprises - et le dieu des mers t'a préparé une véritable odyssée : \nTon escapade sauvage dans l'univers aquatique de Poséidon débute dans un temple antique. Ensuite, en route vers le firmament avant de replonger dans l'océan !\nOu comme le disait ce bon vieux Héraclite, grand fan de sensations fortes : Πάντα ῥεῖ - tout coule (de source) !",
+ "active": true,
+ "area": 10,
+ "img": "poseidon.jpg",
+ "type": 1,
+ "open": 1,
+ "ageMin": 6,
+ "ageMax": 0,
+ "sizeMin": 120,
+ "sizeMax": 0,
+ "thrill": 3,
+ "serviceTypes": null,
+ "gastronomyTypes": null,
+ "kitchenType": 0,
+ "gastronomyOptions": null,
+ "disabled": false,
+ "pregnant": false,
+ "parentAllowed": true,
+ "media": [
+ {
+ "type": 0,
+ "imageBaseURL": "https://api.europapark.de/detail-5.4/",
+ "localizedUrls": [
+ {
+ "url": "poseidon_1.jpg",
+ "language": null
+ }
+ ]
+ },
+ {
+ "type": 0,
+ "imageBaseURL": "https://api.europapark.de/detail-5.4/",
+ "localizedUrls": [
+ {
+ "url": "poseidon_2.jpg",
+ "language": null
+ }
+ ]
+ },
+ {
+ "type": 0,
+ "imageBaseURL": "https://api.europapark.de/detail-5.4/",
+ "localizedUrls": [
+ {
+ "url": "poseidon_3.jpg",
+ "language": null
+ }
+ ]
+ },
+ {
+ "type": 0,
+ "imageBaseURL": "https://api.europapark.de/detail-5.4/",
+ "localizedUrls": [
+ {
+ "url": "poseidon_4.jpg",
+ "language": null
+ }
+ ]
+ },
+ {
+ "type": 0,
+ "imageBaseURL": "https://api.europapark.de/detail-5.4/",
+ "localizedUrls": [
+ {
+ "url": "poseidon_5.jpg",
+ "language": null
+ }
+ ]
+ }
+ ],
+ "attractionsCategories": [
+ 1,
+ 12,
+ 13
+ ],
+ "facebook": "wasserachterbahn.poseidon",
+ "new": false,
+ "detailImageURL": "https://api.europapark.de/detail-5.4/poseidon.jpg"
+ },
+ {
+ "since": 1978,
+ "capacity": 6,
+ "capacityType": 1,
+ "theoreticalCapacity": 1600,
+ "drivingTime": 270,
+ "height": 18,
+ "maxSpeed": 0,
+ "acceleration": 0,
+ "maxAcceleration": 0,
+ "producer": "Mack Rides",
+ "id": 5,
+ "code": 700,
+ "latitude": 48.26261,
+ "longitude": 7.722134,
+ "nameGerman": "Tiroler Wildwasserbahn",
+ "nameEnglish": "Tirol Log Flume",
+ "nameFrench": "Les rapides du Tyrol",
+ "teaserGerman": "Erfrischende Fahrt im Wasserkanal",
+ "teaserEnglish": "Steep slopes and high slides ",
+ "teaserFrench": "Voyage rafraichissant á bord",
+ "descriptionGerman": "Hier rutschst du mit einem großen Stück Geschichte den steilen Berg herunter. \nDenn der mächtige Baumstamm der Tiroler Wildwasserbahn klatschte bereits 1978 zum ersten Mal ins Wasser und gehört damit zu den ersten Attraktionen im Park. Wäre Geschichtsunterricht nur immer so gewesen...",
+ "descriptionEnglish": "Slide down the mountain and straight into the history books! \nThe Tiroler Log Flume's enormous tree trunks first plunged into the water in 1978, making it one of the first rides ever to operate at Europa-Park. If only all history lessons were this much fun!",
+ "descriptionFrench": "Ici, tu pourras dévaler les montagnes à bord d'une embarcation historique. \nLes imposantes « bûches » de la Descente Des Rapides Du Tyrol bravaient les flots pour la dès 1978, et étaient ainsi l'une des toutes premières attractions du parc. Si les cours d'histoire étaient toujours aussi intéressants...\nWHALE ADVENTURES - NORTHERN LIGHTS",
+ "active": true,
+ "area": 6,
+ "img": "wildwasserbahn.jpg",
+ "type": 1,
+ "open": 1,
+ "ageMin": 4,
+ "ageMax": 0,
+ "sizeMin": 100,
+ "sizeMax": 0,
+ "thrill": 2,
+ "serviceTypes": null,
+ "gastronomyTypes": null,
+ "kitchenType": 0,
+ "gastronomyOptions": null,
+ "disabled": false,
+ "pregnant": false,
+ "parentAllowed": true,
+ "media": [
+ {
+ "type": 0,
+ "imageBaseURL": "https://api.europapark.de/detail-5.4/",
+ "localizedUrls": [
+ {
+ "url": "wildwasserbahn_1.jpg",
+ "language": null
+ }
+ ]
+ },
+ {
+ "type": 0,
+ "imageBaseURL": "https://api.europapark.de/detail-5.4/",
+ "localizedUrls": [
+ {
+ "url": "wildwasserbahn_2.jpg",
+ "language": null
+ }
+ ]
+ },
+ {
+ "type": 0,
+ "imageBaseURL": "https://api.europapark.de/detail-5.4/",
+ "localizedUrls": [
+ {
+ "url": "wildwasserbahn_3.jpg",
+ "language": null
+ }
+ ]
+ },
+ {
+ "type": 0,
+ "imageBaseURL": "https://api.europapark.de/detail-5.4/",
+ "localizedUrls": [
+ {
+ "url": "wildwasserbahn_4.jpg",
+ "language": null
+ }
+ ]
+ },
+ {
+ "type": 0,
+ "imageBaseURL": "https://api.europapark.de/detail-5.4/",
+ "localizedUrls": [
+ {
+ "url": "wildwasserbahn_5.jpg",
+ "language": null
+ }
+ ]
+ },
+ {
+ "type": 0,
+ "imageBaseURL": "https://api.europapark.de/detail-5.4/",
+ "localizedUrls": [
+ {
+ "url": "wildwasserbahn_6.jpg",
+ "language": null
+ }
+ ]
+ },
+ {
+ "type": 0,
+ "imageBaseURL": "https://api.europapark.de/detail-5.4/",
+ "localizedUrls": [
+ {
+ "url": "wildwasserbahn_7.jpg",
+ "language": null
+ }
+ ]
+ },
+ {
+ "type": 0,
+ "imageBaseURL": "https://api.europapark.de/detail-5.4/",
+ "localizedUrls": [
+ {
+ "url": "wildwasserbahn_8.jpg",
+ "language": null
+ }
+ ]
+ }
+ ],
+ "attractionsCategories": [
+ 1,
+ 13
+ ],
+ "facebook": "tiroler.wildwasserbahn",
+ "new": false,
+ "detailImageURL": "https://api.europapark.de/detail-5.4/wildwasserbahn.jpg"
+ },
+ {
+ "since": 0,
+ "capacity": 0,
+ "capacityType": 0,
+ "theoreticalCapacity": 0,
+ "drivingTime": 0,
+ "height": 0,
+ "maxSpeed": 0,
+ "acceleration": 0,
+ "maxAcceleration": 0,
+ "producer": null,
+ "id": 6,
+ "code": 440,
+ "latitude": 48.265927,
+ "longitude": 7.720471,
+ "nameGerman": "Eis-Show",
+ "nameEnglish": "Ice-Show",
+ "nameFrench": "Spectacle sur glace",
+ "teaserGerman": "Spektakuläres Entertainment auf Eis",
+ "teaserEnglish": "Skating show with magical impressiv pir...",
+ "teaserFrench": "Spectacle de patinage féerique",
+ "descriptionGerman": "",
+ "descriptionEnglish": "",
+ "descriptionFrench": "",
+ "active": true,
+ "area": 10,
+ "img": "eisshow.jpg",
+ "type": 6,
+ "open": 0,
+ "ageMin": 0,
+ "ageMax": 0,
+ "sizeMin": 0,
+ "sizeMax": 0,
+ "thrill": 0,
+ "serviceTypes": null,
+ "gastronomyTypes": null,
+ "kitchenType": 0,
+ "gastronomyOptions": null,
+ "disabled": true,
+ "pregnant": true,
+ "parentAllowed": true,
+ "media": [],
+ "attractionsCategories": null,
+ "facebook": "Eisshow-Europa-Park-107002469379222",
+ "new": false,
+ "detailImageURL": "https://api.europapark.de/detail-5.4/eisshow.jpg"
+ },
+ {
+ "since": 0,
+ "capacity": 0,
+ "capacityType": 0,
+ "theoreticalCapacity": 0,
+ "drivingTime": 0,
+ "height": 0,
+ "maxSpeed": 0,
+ "acceleration": 0,
+ "maxAcceleration": 0,
+ "producer": null,
+ "id": 7,
+ "code": 770,
+ "latitude": 48.261482,
+ "longitude": 7.721943,
+ "nameGerman": "Spanische Arena",
+ "nameEnglish": "Spanish Arena",
+ "nameFrench": "",
+ "teaserGerman": "Atemberaubende Stuntshow mit Pferden",
+ "teaserEnglish": "Amazing show with action and stunts ",
+ "teaserFrench": "Le Retour du Chevalier Noir",
+ "descriptionGerman": "",
+ "descriptionEnglish": "",
+ "descriptionFrench": "",
+ "active": true,
+ "area": 12,
+ "img": "arenashow.jpg",
+ "type": 6,
+ "open": 1,
+ "ageMin": 0,
+ "ageMax": 0,
+ "sizeMin": 0,
+ "sizeMax": 0,
+ "thrill": 0,
+ "serviceTypes": null,
+ "gastronomyTypes": null,
+ "kitchenType": 0,
+ "gastronomyOptions": null,
+ "disabled": true,
+ "pregnant": true,
+ "parentAllowed": true,
+ "media": [],
+ "attractionsCategories": null,
+ "facebook": "europapark.arenashow",
+ "new": false,
+ "detailImageURL": "https://api.europapark.de/detail-5.4/arenashow.jpg"
+ },
+ {
+ "since": 0,
+ "capacity": 0,
+ "capacityType": 0,
+ "theoreticalCapacity": 0,
+ "drivingTime": 0,
+ "height": 0,
+ "maxSpeed": 0,
+ "acceleration": 0,
+ "maxAcceleration": 0,
+ "producer": null,
+ "id": 8,
+ "code": 133,
+ "latitude": 48.267812,
+ "longitude": 7.72268,
+ "nameGerman": "Pasticceria Dell Arco",
+ "nameEnglish": "Waffle Bakery",
+ "nameFrench": "Stand de gaufres",
+ "teaserGerman": "Waffelbäckerei",
+ "teaserEnglish": "Show bakery for waffles",
+ "teaserFrench": "",
+ "descriptionGerman": "Knusprig frische Brüsseler Waffeln und leckere gefüllte Berliner - die musst du probieren!",
+ "descriptionEnglish": "Delicous waffles a must-have.",
+ "descriptionFrench": "Gaufres et beignets",
+ "active": true,
+ "area": 1,
+ "img": "waffelbaeckerei.jpg",
+ "type": 2,
+ "open": 0,
+ "ageMin": 0,
+ "ageMax": 0,
+ "sizeMin": 0,
+ "sizeMax": 0,
+ "thrill": 0,
+ "serviceTypes": null,
+ "gastronomyTypes": [
+ 1,
+ 5
+ ],
+ "kitchenType": 3,
+ "gastronomyOptions": [
+ 6
+ ],
+ "disabled": true,
+ "pregnant": true,
+ "parentAllowed": true,
+ "media": [],
+ "attractionsCategories": null,
+ "facebook": "",
+ "new": false,
+ "detailImageURL": "https://api.europapark.de/detail-5.4/waffelbaeckerei.jpg"
+ },
+ {
+ "since": 0,
+ "capacity": 0,
+ "capacityType": 0,
+ "theoreticalCapacity": 0,
+ "drivingTime": 0,
+ "height": 0,
+ "maxSpeed": 0,
+ "acceleration": 0,
+ "maxAcceleration": 0,
+ "producer": null,
+ "id": 9,
+ "code": 420,
+ "latitude": 48.266355,
+ "longitude": 7.720042,
+ "nameGerman": "Taverna Mykonos",
+ "nameEnglish": "",
+ "nameFrench": "",
+ "teaserGerman": "Griechische Urlaubsfeeling",
+ "teaserEnglish": "Greek specialities and Mediterranean flair",
+ "teaserFrench": "Spécialités grecques",
+ "descriptionGerman": "Erleben Sie griechisches \"Urlaubsfeeling\" auf unserer großen Sonnenterasse bei Gyros, gebackenen Schafskäse, Tintenfischstreifen und genießen Sie den atemberaubenden Blick auf die Poseidon.",
+ "descriptionEnglish": "Experience the Mediterranean on our large terrace while having some gyros, grilled goat-cheese, Greek salad, or calamari!",
+ "descriptionFrench": "Une ambiance de vacances grecques vous attend sur la grande terrasse avec gyros, fromage feta grillé, salade fermière, émincé de seiche, tout en offrant une vue imprenable sur Poseidon.",
+ "active": true,
+ "area": 10,
+ "img": "taverna.jpg",
+ "type": 2,
+ "open": 0,
+ "ageMin": 0,
+ "ageMax": 0,
+ "sizeMin": 0,
+ "sizeMax": 0,
+ "thrill": 0,
+ "serviceTypes": null,
+ "gastronomyTypes": [
+ 4
+ ],
+ "kitchenType": 6,
+ "gastronomyOptions": [
+ 6
+ ],
+ "disabled": true,
+ "pregnant": true,
+ "parentAllowed": true,
+ "media": [
+ {
+ "type": 0,
+ "imageBaseURL": "https://api.europapark.de/detail-5.4/",
+ "localizedUrls": [
+ {
+ "url": "taverna_1.jpg",
+ "language": null
+ }
+ ]
+ },
+ {
+ "type": 0,
+ "imageBaseURL": "https://api.europapark.de/detail-5.4/",
+ "localizedUrls": [
+ {
+ "url": "taverna_2.jpg",
+ "language": null
+ }
+ ]
+ }
+ ],
+ "attractionsCategories": null,
+ "facebook": "",
+ "new": false,
+ "detailImageURL": "https://api.europapark.de/detail-5.4/taverna.jpg"
+ },
+ {
+ "since": 1990,
+ "capacity": 20,
+ "capacityType": 3,
+ "theoreticalCapacity": 1600,
+ "drivingTime": 430,
+ "height": 0,
+ "maxSpeed": 0,
+ "acceleration": 0,
+ "maxAcceleration": 0,
+ "producer": "Mack Rides",
+ "id": 12,
+ "code": 456,
+ "latitude": 48.264495,
+ "longitude": 7.720607,
+ "nameGerman": "Monorail-Bahn Station Luxemburg",
+ "nameEnglish": "Monorail",
+ "nameFrench": "Monorail",
+ "teaserGerman": "",
+ "teaserEnglish": "",
+ "teaserFrench": "",
+ "descriptionGerman": "Genießen Sie bei einer Rundfahrt in luftiger Höhe einen unvergleichlichen Ausblick auf den Park!",
+ "descriptionEnglish": "Go for a tour above the park and enjoy an exceptional panorama!",
+ "descriptionFrench": "Faites un tour du parc en hauteur et profitez d'un panorama exceptionnel! ",
+ "active": true,
+ "area": 20,
+ "img": "monorail.jpg",
+ "type": 1,
+ "open": 0,
+ "ageMin": 0,
+ "ageMax": 0,
+ "sizeMin": 0,
+ "sizeMax": 0,
+ "thrill": 0,
+ "serviceTypes": null,
+ "gastronomyTypes": null,
+ "kitchenType": 0,
+ "gastronomyOptions": null,
+ "disabled": true,
+ "pregnant": true,
+ "parentAllowed": true,
+ "media": [
+ {
+ "type": 0,
+ "imageBaseURL": "https://api.europapark.de/detail-5.4/",
+ "localizedUrls": [
+ {
+ "url": "monorail_1.jpg",
+ "language": null
+ }
+ ]
+ },
+ {
+ "type": 0,
+ "imageBaseURL": "https://api.europapark.de/detail-5.4/",
+ "localizedUrls": [
+ {
+ "url": "monorail_2.jpg",
+ "language": null
+ }
+ ]
+ },
+ {
+ "type": 0,
+ "imageBaseURL": "https://api.europapark.de/detail-5.4/",
+ "localizedUrls": [
+ {
+ "url": "monorail_3.jpg",
+ "language": null
+ }
+ ]
+ }
+ ],
+ "attractionsCategories": [
+ 6,
+ 8
+ ],
+ "facebook": "",
+ "new": false,
+ "detailImageURL": "https://api.europapark.de/detail-5.4/monorail.jpg"
+ },
+ {
+ "since": 0,
+ "capacity": 0,
+ "capacityType": 0,
+ "theoreticalCapacity": 0,
+ "drivingTime": 0,
+ "height": 0,
+ "maxSpeed": 0,
+ "acceleration": 0,
+ "maxAcceleration": 0,
+ "producer": null,
+ "id": 13,
+ "code": 70,
+ "latitude": 48.268695,
+ "longitude": 7.722529,
+ "nameGerman": "Shopping-Passage",
+ "nameEnglish": "Shopping Arcade",
+ "nameFrench": "Galerie Commerciale",
+ "teaserGerman": "",
+ "teaserEnglish": "",
+ "teaserFrench": "",
+ "descriptionGerman": "Shopping-Spaß pur: Europa-Park Souvenirs, Milka-Schokolade, Geschenkartikel...\n\nWir tragen deine Einkäufe!\nAlles was du vor 15 Uhr kaufst, bringen wir dir zum Haupteingang oder zur Rezeption unserer Hotels. Und zwar gratis! Sogar mit extra Vorfreude, denn abholbereit ist alles ab 17 Uhr. Aber bevor du daheim auch deine Supermarkt-Tüten stehen lässt: Das gilt natürlich nur hier im Park.",
+ "descriptionEnglish": "Stylish shopping center with attractive offers\n\nCARRY MY SHOPPING\nIf you make any purchases within the park before 3pm, we can deliver them directly to the main entrance or your Europa-Park hotel - for free! Spend your day enjoying the attractions bag-free – your shopping will be waiting for you from 5pm. This service only applies within Europa-Park, we won’t be able to carry your bags back from the supermarket!",
+ "descriptionFrench": "Vêtements, accessoires, décorations pour la maison, chocolats Milka et souvenirs\n\nService de livraison de tes achats !\nTout ce que tu achètes avant 15h sera livré par nos soins à l'entrée principale ou à la réception de ton hôtel. Et en plus c’est gratuit ! Fini les sacs encombrants à porter toute la journée – et les achats peuvent être récupérés dès 17h. Mais attention : ce service n'est bien sûr valable qu’au sein même du parc",
+ "active": true,
+ "area": 1,
+ "img": "shoppingpassage.jpg",
+ "type": 5,
+ "open": 0,
+ "ageMin": 0,
+ "ageMax": 0,
+ "sizeMin": 0,
+ "sizeMax": 0,
+ "thrill": 0,
+ "serviceTypes": null,
+ "gastronomyTypes": null,
+ "kitchenType": 0,
+ "gastronomyOptions": null,
+ "disabled": true,
+ "pregnant": true,
+ "parentAllowed": true,
+ "media": [],
+ "attractionsCategories": null,
+ "facebook": "",
+ "new": false,
+ "detailImageURL": "https://api.europapark.de/detail-5.4/shoppingpassage.jpg"
+ },
+ {
+ "since": 1982,
+ "capacity": 2,
+ "capacityType": 5,
+ "theoreticalCapacity": 2050,
+ "drivingTime": 240,
+ "height": 0,
+ "maxSpeed": 0,
+ "acceleration": 0,
+ "maxAcceleration": 0,
+ "producer": "Mack Rides",
+ "id": 14,
+ "code": 100,
+ "latitude": 48.267765,
+ "longitude": 7.721978,
+ "nameGerman": "Geisterschloss",
+ "nameEnglish": "Ghost castle",
+ "nameFrench": "Château hanté",
+ "teaserGerman": "Gruselfaktor im Dunkeln",
+ "teaserEnglish": "Enter the medieval castle",
+ "teaserFrench": "Frissons garantis!",
+ "descriptionGerman": "In kleinen Gondeln werden Sie durch den Palast gefahren, vorbei an gruseligen Gestalten und unheimlichen Szenarien. Überall sind gespenstische Stimmen und drohendes Wispern zu hören...",
+ "descriptionEnglish": "You are transported through the palace in little cars, passing by gruesome creatures and creepy sceneries. All over, you can hear eery voices and threatening whisper.",
+ "descriptionFrench": "Vous y trouverez des monstres, des esprits, des fantômes, des bruits effrayants qui vous donneront la chaire de poule... Bouuuuuuh...",
+ "active": true,
+ "area": 8,
+ "img": "geisterschloss.jpg",
+ "type": 1,
+ "open": 0,
+ "ageMin": 0,
+ "ageMax": 0,
+ "sizeMin": 0,
+ "sizeMax": 0,
+ "thrill": 1,
+ "serviceTypes": null,
+ "gastronomyTypes": null,
+ "kitchenType": 0,
+ "gastronomyOptions": null,
+ "disabled": false,
+ "pregnant": true,
+ "parentAllowed": true,
+ "media": [],
+ "attractionsCategories": [
+ 4
+ ],
+ "facebook": "",
+ "new": false,
+ "detailImageURL": "https://api.europapark.de/detail-5.4/geisterschloss.jpg"
+ },
+ {
+ "since": 1998,
+ "capacity": 4,
+ "capacityType": 2,
+ "theoreticalCapacity": 660,
+ "drivingT