Campingleitsystem API

Das Campingleitsystem ist ein Portal für bayerische Campingplätze. Die Verfügbarkeit der Campingplätze wird durch ein Ampelsystem visualisiert mit den drei Zuständen frei (also verfügbar), fast voll und nicht verfügbar. Campingplätze können diese Verfügbarkeiten jeweils für mindestens 12 Monate über die Eintragsverwaltung anpassen.

Campingplätze, die bereits an Buchungssysteme oder Channel Manager angeschlossen sind oder interne Systeme für Reservierungen und Buchungen verwenden, können ihre Daten auch über eine einfache API automatisiert anpassen. Über die API kann für jeden (verwalteten) Campingplatz pro Tag die Anzahl freie Plätze angegeben werden. Dieser Zustand kann bei Änderungen jederzeit über unsere API aktualisiert werden.

Zugriffsdaten für die API

Über den Campingplatz-Login auf dem Campingleitsystem können sich User selbst den Zugang für die API aktivieren. Dabei wird ein Token erstellt (JWT). Mit diesem Token kann die Verfügbarkeit für alle zugeordneten Campingplätze des Verwalters per API angepasst werden.

TODO: Screenshots und detaillierte Beschreibung (aktueller Stand: noch nicht umgesetzt)

 

Token bei zusätzlichen Campingplätzen

Falls bei diesem Login später noch ein weiterer Campingplatz hinzukommt, muss wieder ein neues Token erstellt werden, was auch diesen neuen Platz mit einschließt. Beim Neu-Erstellen von Token wird das bisherige Token ungültig und kann nicht mehr verwendet werden.

Verfügbarkeiten über API aktualisieren

Für das Ändern von Verfügbarkeiten gibt es einen API-Endpunkt (genaue URL auch in der Eintragsverwaltung mit Token). Im Authorization-Header muss das Token (siehe oben) mitgesendet werden. Als Präfix kann hier z. B. „Bearer“ oder „Token“ stehen.

Der Request erfolgt per POST. Der Body ist ein JSON-Objekt, das für ein bis mehrere Einträge Verfügbarkeiten enthält.

Datenstruktur

Das Root-Element enthält ein Array mit Verfügbarkeiten für einen spezifischen Eintrag. Jede dieser Verfügbarkeiten hat eine EntryId mit der eindeutigen Id des Campingplatzes, für den die Verfügbarkeiten angepasst werden sollen. Außerdem die Werte für die Verfügbarkeiten selbst. Diese Verfügbarkeiten bestehen aus einem Datums-Feld im Format Jahr-Monat-Tag (zehnstellig: „2022-09-22“) und der Anzahl an freien Stellplätzen für diesen Tag.

{
    "Availabilities" : [
        {
            "EntryId" : 188,
            "DailyAvailabilities" : [
                {
                    "Date": "2022-09-21",
                    "AvailableCount": 5
                }, {
                    "Date": "2022-09-22",
                    "AvailableCount": 8
                }                
            ]
        }
    ]
}

Beispiel-Request per Postman

Postman ist ein weit verbreitetes Tool, um APIs zu testen und auch zu bauen. Hier eine exemplarische Beschreibung, wie ein Request per Postman durchgeführt werden kann. Das erleichtert dann auch die Umsetzung in der jeweiligen Technologie bzw. Programmiersprache.

Zuerst müssen die Grundeinstellungen bzw. die Autorisierung eingestellt werden:

Verfügbarkeitsabfrage als Beispiel mit Postman

  1. Http-Methode ist POST
  2. Die Url zum Api-Endpunkt zum Ändern von Verfügbarkeitsdaten
  3. Sicherheitseinstellungen werden auf dem Tab Authorization eingestellt
  4. Hier kann als Typ BearerToken ausgewählt werden
  5. Als Token muss dann das Token eingefügt werden, das man sich in der Eintragsverwaltung selbst erzeugen kann (siehe oben).

Danach kann im Body das JSON mit den Verfügbarkeiten übertragen werden:

Verfügbarkeiten für Campingleitsystem anpassen: postman request body

  1. In den Reiter Body wechseln
  2. als Typ raw auswählen
  3. Dann JSON als Inhaltstyp
  4. Json-Objekt in den Body einfügen: die Eintrags-Id muss natürlich mit einem Eintrag des verwendeten Tokens übereinstimmen. Ansonsten kann das JSON aus dem Beispiel weiter oben auch als Template kopiert und angepasst werden.

Wenn alles korrekt funktioniert hat, wird als Rückgabeobjekt ein „isSuccess“: true zurückgesendet und eine leere Fehlerliste:

Json-Ergebnis bei erfolgreich geänderter Verfügbarkeit

 

 

    Unverbindlichen Beratung anfragen

    Gerne besprechen wir in einem Vorgespräch in ca. 15 Minuten Ihre Portalidee und ob und wie sich diese mit discoverize umsetzen ließe. Entweder per Telefon oder gerne auch in Person bei uns im Büro.



    9-12 Uhr12-15 Uhr15-18 Uhr

      Kontakt zum discoverize Team

      Bei allen Fragen rund Branchenportale, Beratung, Strategie helfen wir gerne weiter.