How to: Platz in ausgebuchter Alpenvereins-Hütte bekommen - dank automatischer Benachrichtigung, sobald etwas frei wird (einfache Anleitung)
Diese Anleitung bezieht sich auf Hütten, die über die Plattform hut-reservation.org gebucht werden können. Bestimmt lässt sich die Anleitung aber auch auf andere Buchungsplattformen übertragen.
Ihr plant eine Tour und eine Hütte ist genau an dem Tag, an dem ihr dort übernachten wollt, schon ausgebucht - und es gibt keine Warteliste? Kein Problem, denn mehr als jede vierte Reservierung wird wieder storniert. Ihr müsst es also nur schaffen, als erste davon zu erfahren, sobald ein Platz frei wird. Mit einem Trick könnt ihr euch automatisch darüber benachrichtigen lassen, damit ihr nicht mehrmals täglich selbst nachschauen müsst.
Die Idee ist simpel: Wir müssen zuerst ganz grundlegend verstehen, was passiert, wenn wir die Verfügbarkeit einer Hütte manuell über die Buchungsplattform prüfen. Dann müssen wir einem Programm beibringen, diese Prüfung alle paar Minuten für uns durchzuführen und uns zu benachrichtigen, sobald etwas frei ist. Das Programm müssen wir zum Glück nicht selbst bauen, sondern wir können einfach ein bestehendes Online-Tool dafür nutzen.
Nehmen wir als Beispiel die Lamsenjochhütte. Unter https://www.hut-reservation.org/reservation/book-hut/437/wizard lassen sich hierfür Schlafplätze reservieren. Wenn wir ins Datumsfeld zwei Tage eingeben, schickt unser Browser eine Anfrage an den Server: "Gibt es freie Schlafplätze in der Nacht von X auf Y?". Wenn die Hütte ausgebucht ist, antwortet der Server: 0 Plätze im Matratzenlager, 0 Mehrbettzimmer, 0 Zweierzimmer. Der Browser erhält die Antwort und zeigt sie uns an. So weit, so schlecht. Das Gute ist aber: Diese Anfrage muss nicht von unserem Browser kommen, sondern sie kann auch automatisiert von einem Programm verschickt werden.
Ein Online-Tool, das sich gut anbietet, um diese Anfrage zu verschicken, ist Checkly (eigentlich ist das Tool für andere Zwecke gedacht, aber das ist uns hier egal). Der kostenlose Hobby-Plan reicht völlig aus. Registrieren müsst ihr euch trotzdem. Anschließend:
1 - Klicke oben links auf "New".
2 - Klicke auf "API check".
3 - Fülle den Bereich "Make an HTTP request" aus. Ich gebe hier nur die Felder an, die geändert werden müssen, alles andere kann bleiben.
3/1 - Method: "POST"
3/2 - URL: Hier die folgende URL eingeben, wobei du die Zahl ganz am Ende durch die Zahl ersetzen musst, die eurer gewünschten Hütte entspricht: "https://www.hut-reservation.org/api/v1/reservation/checkAvailability/437" (der Link der Buchungsseite der Lamsenjochhütte enthält die Zahl "437", deshalb endet die URL in diesem Beispiel auf "437").
3/3 - Headers: "Content-Type" = "application/json"
3/4 - Body: "JSON"
Um das JSON-Textfeld ausfüllen zu können, musst du zuerst wieder auf die normale Buchungsseite wechseln, also in unserem Beispiel https://www.hut-reservation.org/reservation/book-hut/437/wizard. Anschließend führst du folgende Schritte aus. Bitte beachten, die Anleitung bezieht sich auf Firefox. In anderen Browsern sind manche Felder vielleicht anders bezeichnet, aber es sollte die gleichen Funktionen geben. Ansonsten einfach Firefox nutzen bzw. kurz hierfür installieren.
- Nachdem du die Seite aufgerufen hast, irgendwo auf der Seite eine Rechtsklick machen und dann auf "Untersuchen" klicken.
- Es öffnet sich der Browser-Inspektor. Wechsle vom Inspektor in den Tab "Netzwerkanalyse".
- Klicke jetzt in der Buchungsseite auf das Datumsfeld und wähle die Tage aus, in denen du in der Hütte übernachten willst.
- In der Netzwerkanalyse erscheinen jetzt neue Einträge. Klicke dich durch zu dem Eintrag, bei dem unter "Kopfzeilen" der Filename "/api/v1/reservation/checkAvailability/437" steht ("437" ist aus unserem Beispiel, bei dir muss hier die ID deiner Hütte stehen).
- Wechsle bei diesem Eintrag vom Tab "Kopfzeilen" in den Tab "Anfrage".
- Aktiviere den Toggle "Unformatiert".
- Kopiere den gesamten Anfrageinhalt und füge ihn in Checkly in das JSON-Textfeld ein.
4 - Klicke auf "Run request". Das Popup sollte ein grünes Häkchen und eine kleine grüne "200" anzeigen sowie einen Response Body (den musst du nicht lesen). Klicke auf "Close".
5 - Fülle den Bereich "Assertions" aus. In unserem Beispiel gehen wir davon aus, dass wir irgendein freies Bett wollen, egal ob Matratzenlager, Mehrbett- oder Zweierzimmer. Wir wollen benachrichtigt werden, wenn in einer der Kategorien etwas frei wird. Das heißt, dass wir den Zustand "In keiner der Kategorien ist etwas frei" als Normalzustand definieren, in dem wir nicht benachrichtigt werden.
5/1 - Source: "JSON body"
5/2 - Property: "availabilityPerDayDTOs[0].bedCategoriesData[0].totalFreePlaces"
5/3 - Comparison: "Equals"
5/4 - Target: "0"
5/5 - Klicke auf "Add".
5/6 - Jetzt nochmal das gleiche in der zweiten Zeile, also erneut Source = "JSON body", Comparison = "Equals" und Target = "0". Bei Property aber eine kleine Änderung vornehmen, und zwar die zweite "0" durch eine "1" austauschen, also "availabilityPerDayDTOs[0].bedCategoriesData[1].totalFreePlaces"
5/7 - Klicke nochmal auf "Add".
5/8 - Jetzt ein drittes Mal, aber dieses Mal bei Property die "1" durch eine "2" austauschen, also "availabilityPerDayDTOs[0].bedCategoriesData[2].totalFreePlaces".
5/9 - Ein letztes Mal auf "Add" klicken.
6 - Scrolle wieder nach oben und klicke erneut "Run request". Du solltest mehrere grüne Häkchen sehen (weil jede der Bettenkategorien tatsächlich 0 freie Plätze hat). Klicke auf "Close".
7 - Stelle unter "Frequency" ein, wie oft Checkly die Anfrage stellen soll (das entscheidet darüber, wie schnell du mitbekommst, dass es freie Plätze gibt). Unter 5 Minuten würde ich dir nicht empfehlen, um den Hut-Reservation-Server nicht unnötig zu belasten.
8 - Wähle unter "Locations" aus, dass die Anfragen nur aus Deutschland geschickt werden sollen.
9 - Wähle unter "Alert settings" die Option "Use specific notification settings" und dann "When a check has failed 1 time".
10 - Wähle unter "Where should we alert you?" die E-Mail-Adresse aus, mit der du dich registriert hast. Nachher (nachdem du deinen API Check gespeichert hast!) kannst du weitere Alert Channels hinzufügen (z. B. SMS), indem du in der linken Sidebar auf "Alert channels" klickst (wenn die Sidebar eingeklappt ist, klicke oben links auf die drei Striche). Meiner Erfahrung nach funktionieren die E-Mail-Alerts aber am zuverlässigsten. Ich würde mich nicht auf SMS-Alerts verlassen.
11 - Scrolle ganz nach oben und klicke auf "Create check" und dann auf "Save check".
Gratulation, du hast es geschafft!
Wichtige Hinweise:
- Leider wird nicht jeder E-Mail-Alert automatisch bedeuten, dass es freie Plätze gibt, sondern es wird auch False Alerts geben - und zwar immer dann, wenn der Server nicht erreichbar ist. Das passiert hut-reservation.org jedoch nur selten.
- Direkt nach der Registrierung auf Checkly hat man den Plan "Team Trial". Nach 14 Tagen wechselt man automatisch in den Hobby-Plan, aber der ist völlig ausreichend für unsere Zwecke.
- Dadurch, dass diese Anleitung sehr detailliert ist, ist sie auch anfällig für Änderungen - entweder seitens hut-reservation.org oder seitens Checkly. In so einem Fall müsst ihr einfach schauen, was ihr wie anders machen müsst, um ans Ziel zu kommen.
Viel Erfolg und eine schöne Hüttentour!