# Reservierungen

Um die Reservierungs API zu Nutzen, stellen Sie zuerst sicher dass sie einen API Keys mit den Benötigten Endpoints erstellt haben. Für die Reservierungsschnittstelle werden von backoffice die Endpunkte garage_reservation_create, garage_reservation_list, garage_reservation_read, garage_reservation_update, garage_reservation_delete benötigt.

# Erstellen von Reservierungen

Endpunkt HTTP POST https://api.parken.arivo.app/backoffice/garage_reservation/ Daten:

{
    "garage_id": "89a5d000-8d08-4416-90e8-602f362bc446",
    "start": "2021-08-03T09:41:40+02:00",
    "end": "2021-08-03T12:37:00+02:00",
    "license_plate": "G:ARIVO1",
    "license_plate_country": "A",
    "license_plate_scheme": "DEFAULT",
    "license_plate_scheme_version": 20
}

# Bearbeiten von Reservierungen

Beim Bearbeiten können nur die Felder gesendet werden, welche geändert werden sollen.

Endpunkt HTTP PATCH https://api.parken.arivo.app/backoffice/garage_reservation/<id>/ Beispiel Daten (z.b. Änderung von Start und Ende):

{
    "start": "2021-08-03T09:41:40+02:00",
    "end": "2021-08-03T12:37:00+02:00"
}

# Löschen von Reservierungen

Endpunkt HTTP DELETE https://api.parken.arivo.app/backoffice/garage_reservation/<id>/

# Abfragen von Reservierungen

Endpunkt HTTP GET https://api.parken.arivo.app/backoffice/garage_reservation/<id>/

{
    "anonymized": false,
    "created": "2021-11-03T11:40:23.148490+01:00",
    "deleted": null,
    "end": "2022-01-01T00:00:00+01:00",
    "garage_id": "f0aae9d2-8081-4a40-b208-1c507bc4b3ed",
    "id": "894a6131-9d77-4cab-a17d-6d859809e2df",
    "license_plate": "G:APC1",
    "license_plate_country": null,
    "license_plate_scheme": "DEFAULT",
    "license_plate_scheme_version": 10,
    "license_plate_search": "GAPC1",
    "payed_amount": "0.00",
    "payment_status": "paid",
    "price": "0.00",
    "price_currency": "EUR",
    "provider_id": "c8c5ef33-82a3-4557-9532-64607877abc5",
    "qr_code": "0`CCiUphMZ13TKuhfW2FmAni3w4Noj",
    "refund_status": "no_refund",
    "refunded_amount": "0.00",
    "start": "2000-01-01T00:00:00+01:00"
}

Endpunkt HTTP GET https://api.parken.arivo.app/backoffice/garage_reservation/ Query Parameter zum Filtern der Liste:

  • limit: Maximale Anzahl an zurückgegebenen Objekten
  • offset: Offset für limit&offset pagination
  • garage_id: ID der Garage für welche die Reservierung gültig ist
  • anonymized: Ob die Reservierung anonymisiert wurde
  • payment_status: paid|partial_paid|unpaid ob die Reservierung vollständig bezahlt ist.
  • refund_status: full_refund|partial_refund|no_refund ob die Reservierung zurückerstattet wurde.
  • ``
{
    count: 10,
    results: [
        {
            "anonymized": false,
            "created": "2021-11-03T11:40:23.148490+01:00",
            "deleted": null,
            "end": "2022-01-01T00:00:00+01:00",
            "garage_id": "f0aae9d2-8081-4a40-b208-1c507bc4b3ed",
            "id": "894a6131-9d77-4cab-a17d-6d859809e2df",
            "license_plate": "G:APC1",
            "license_plate_country": null,
            "license_plate_scheme": "DEFAULT",
            "license_plate_scheme_version": 10,
            "license_plate_search": "GAPC1",
            "payed_amount": "0.00",
            "payment_status": "paid",
            "price": "0.00",
            "price_currency": "EUR",
            "provider_id": "c8c5ef33-82a3-4557-9532-64607877abc5",
            "qr_code": "0`CCiUphMZ13TKuhfW2FmAni3w4Noj",
            "refund_status": "no_refund",
            "refunded_amount": "0.00",
            "start": "2000-01-01T00:00:00+01:00"
        },
        # ...
    ]
}

# Kennzeichen Übergabe

Die Kennzeichen müssen speziell formatiert sein um sicherzustellen dass sie von der Kennzeichenerkennung korrekt gelesen werden. Hierbei kann unterschieden werden wie genau ein Kennzeichen übereinstimmen muss um als richtig gelesen zu gelten. Diese unterschiedlichen genauigkeiten werden mit dem Parameter license_plate_scheme und license_plate_scheme_version angegeben.

Bei den Kennzeichen muss jedes Trennzeichen als Doppelpunkt : angegeben werden. Als Trennzeichen gibt es zum Beispiel , -, .. Da eine genaue Unterscheidung zwischen den einzelnen Trennzeichen nicht sinnvoll ist, sind alle Trennzeichen als Deoppelpunkt zusammengefasst. Zum Beispiel das Wiener Kennzeichen W 12345 A sollte als W:12345:A übergeben werden. Wenn ein anderes Trennzeichen übergeben wird, formatiert die Schnittstelle das Kennzeichen automatisch um. Es kann also sein, dass sie ein Kennzeichen G ARIVO 1 an die Schnittstelle senden und in der Antwort G:ARIVO:1 erhalten.

Das Land kann optional mit dem parameter license_plate_country übergeben werden. Es ist nicht zwingend erforderlich. Für die Angabe vom Land wird der Ländercode laut DSIT (opens new window) verwendet.

# Verhalten beim Überprüfen

Je nach den gewähltem license_plate_scheme und der license_plate_scheme_version kann ein unterschiedliches Verhalten gefordert werden. Je nach Qualität der Kennzeichenerkennung bzw. auch abhängig von den Benutzern oder Ländern kann es sinnvoll sein unterschiedliche Schemes zu verwenden. Die ARIVO Kennzeichenerkennung funktioniert zuverlässig mit dem DEFAULT-20 Scheme. Für manche Nationen ist es sinnvoll auf DEFAULT-5 zu reduzieren da, auch wenn die Kennzeichenerkennung richtig liest, für einige User die Unterscheidung zwischen 0 und O nicht einfach ist (z.b. Polen).

Scheme Scheme Version Verhalten
LEGACY 0 Überprüft keine Trennzeichen. Keine Unterscheidung zwischen (A,Ä), (Ö,Q,0,O), (Ü,U).
DEFAULT 5 Über keine Trennzeichen. Keine Unterscheidung zwischen (0,O)
DEFAULT 10 Überprüft keine Trennzeichen
DEFAULT 20 Überprüft das erste Trennzeichen
# Standardparameter

Wird kein license_plate_country gesendet, wird das Scheme DEFAULT-10 verwendet. Wird ein license_plate_country mit der Anfrage gesendet wird DEFAULT-20 für Länder verwendet wo es sonst zu doppelten Kennzeichen kommen kann (z.b. in Deutschland in Frankfurt F A... und FA ...) Wenn license_plate_scheme und license_plate_scheme_version mit der Anfrage gesendet