Skip to main content

Meldescheine aktualisieren

Dokumentation unvollständig. 

Allgemein

Dieser Aufruf aktualisiert einen existierenden elektronischen Meldeschein im System.

Es kann pro Aufruf immer nur ein (1) Meldeschein aktualisiert werden.
Wenn im unten erläuterten Array mehrere Meldescheine aufgeführt sind, wird der erste Meldeschein (Index:0) aktualisiert.

Existierende Meldescheine müssen immer mindestens einen Gast besitzen. Es ist nicht möglich einen Meldeschein zu "leeren", indem alle Gäste gelöscht werden.

Parameter

POST import/meldeschein/aktualisieren/
Name Datentyp Verwendung
meta object Meta-Objekt
meldescheine array Array mit Meldescheindaten
meldescheine[] object Die zu buchenden Daten des Meldescheins
meldescheine[].personen array Auflistung aller Gäste

Pro

 

Person

Der

Aufbau
der Anfrageentspricht Aufrufs"buchen"mitimMeldeschein-ObjektdiedemAufruf"buchen"
Name Datentyp Verwendung
meldescheine[].personen[].tarif_idintDie Tarif-IDexakt des Gasts
meldescheine[].personen[].gast_type string Gast-Artdem (person,Unterschied, gruppedass )
meldescheine[].personen[].arrival_date date AnreisedatumID desaus Gasts
meldescheine[].personen[].departure_date date Abreisedatummit des Gasts

Folgende zusätzlichen Felderübergeben werden jemuss, nachum Typden deszu Meldescheinsaktualisierenden übergeben

Meldeschein
eindeutig

Einzel-Person

zu
NameDatentypVerwendung
meldescheine[].personen[].*stringWeitere definierte Felder. (nach Definition)

Infoidentifizieren.

DieZum Definition der Felder hängtaktualisieren von derGästen Gemeinde ab und können über den Aufruf /get_current_user abgefragt werden.

Reisegruppe

NameDatentypVerwendung
meldescheine[].personen[].anzahlintAnzahl der Gäste

Achtung: Wennmuss das Feld meldescheine[].personen[].anzahl"id" größer 1 ist ,wird der Meldeschein als Gruppenmeldeschein verbucht. Eventuellmit übergebene Einzelinformationen für den Gast (Vorname,Nachname etc.)bergeben werden nicht gespeichert.

Server Antwort

Die Serverantwort"aktualisieren" gibtAntwort enthält die ID des aktualisieren Meldescheins 

Da nur derzeit ein Meldeschein aktualisiert werden kann, befindet sich die ID des aktualisierten Meldescheins im ErfolgsfallObjekt einresponse.meldescheine[0]

 

{
    "meta": {
        "requestId": "TEST",
        "timestamp": "2020-10-15T14:55:15.292144",
        "user": {
            "id": 38,
            "username": "DemoV",
            "alias": "Lisa Mustermann"
        },
        "gemeinde": 1
    },
    "status": "success",
    "response": {
        "meldescheine": [
            650
        ]
    }
}

Aktualisieren von vorhandenen Gästen 

Um Gäste zu aktualisieren, da sich z.B. Reisedaten geändert haben ist es notwendig, die "id" des Gastes mit zu übergeben.

Anlegen von zusätzlichen Gästen

Um dem Meldeschein weitere Gäste hinzuzufügen, können diese ohne Angabe des Feldes "id" in das "personen" Array ausmit meldescheinübergeben Objektenwerden.

Für das anlegen von zusätzlichen Gästen gelten die Regeln wie beim anlegen eines Meldescheins. Die Felder "tarif_id" , "arrival_date" sowie "departure_date" sind zwingend notwendig. Zusätzliche Felder analog zum buchen Aufruf und der eingerichteten Gemeinde.

 

Löschen von vorhandenen Gästen

Gäste können gelöscht werden, in dem diese mit derihrer jeweiligen Input-ID (für Referenz zum Quellsystem), sowie derdem  Buchungs-Feld "delete:true" übergeben werden. 

Beispiel-Request: Löschen des Gastes mit id 1937 aus Meldeschein mit ID id651

zurück.
{
  "meta":  {
    "objekt":2080,
    "gemeinde":1,
		"requestId":"TEST"
  },
  "meldescheine": [
    {
			"id": 651,
			"personen":[
				{
					"id": 1937,
					"delete":true
				}
			]
		}
  ]
}

Wenn Sie versuchen einen Gast zu löschen, der nicht dem Schein zugeordnet ist, erhalten Sie eine entsprechende Fehlermeldung

!! info Der Rückgabe-Wert von id wird benötigt um weitere Aktionen mit den gebuchten Meldescheinen durchzuführen. Sie sollten diesen sofort nach der Buchung in Ihrem System abspeichern. 

Response:

{
  "meta": {
    "requestId": "5ca0b885-11e3-4abd-9e60-cb8265ea9899",
    "timestamp": "2019-10-24T14:06:10.673840",
    "user": {
      "id": 14,
      "username": "api_demo",
      "first_name": "API",
      "last_name": "Demo",
      "email": "api_demo@apidemo.de",
      "is_active": true,
      "user_type": "beherberger",
      "alias": "API Demo",
      "last_login": "2019-10-24T11:35:18.015947+02:00"
    },
    "gemeinde": 1
  },
  "status": "success",
  "meldescheine": [
    {
      "input_id": "test-1",
      "id": 396
    }
  ]
}

Beispiel-Buchungen

Beispiele für verschiedene Szenarien

Personen-Meldeschein

Folgende Beispiele zeigen jeweils die Buchung eines Scheins. Da die Rückantwort des Servers unabhängig des Typs ist, siehe bitte Server-Antwort

Request:

{
  "meta": {
    "vermieter": 1,
    "gemeinde": 1,
    "objekt": 1
  },
  "meldescheine": [
    {
      "input_id": "test-1",
      "personen": [
        {
          "gast_type": "person",
          "tarif_id": 1,
          "Gast_Vorname": "TEST_BF",
          "arrival_date": "2019-07-14",
          "departure_date": "2019-07-17"
        }
      ]
    }
  ]
}

Gruppen-Meldeschein

Request:

{
  "meta": {
    "vermieter": 1,
    "gemeinde": 1,
    "objekt": 1
  },
  "meldescheine": [
    {
      "input_id": "test-1",
      "personen": [
        {
          "gast_type": "gruppe",
          "anzahl": 5,
          "tarif_id": 1,
          "arrival_date": "2019-07-14",
          "departure_date": "2019-07-17"
        }
      ]
    }
  ]
}

Code-Beispiele

Folgendes Beispiel authentifziert die Anfrage und bucht einen Meldeschein

# $ pip3 install requests
import requests
payload = {
    'username':'api_demo',
    'password':'demodemo',
}

r = requests.post('https://apiv2.meldescheine.de/api/token/',data=payload)
server_response_json = r.json()


jwt_token = server_response_json.get('token') # Aus dem server_response objekt den String-Wert aus "token" extrahieren

# Jetzt buchen
meldeschein_data = {} # Leer für Test
headers = {
 'Authorization':  "JWT %s" % jwt_token
}
r = requests.post("https://apiv2.meldescheine.de/api/import/meldeschein/buchen/",data=meldeschein_data,headers=headers)