Meldescheine buchen
1 | POST meldeschein/buchen/ |
Dieser Aufruf erzeugt einen elektronischen Meldeschein im System.
Allgemein
Es ist möglich mehrere Meldescheine auf einmal zu buchen, indem weitere Objekte dem meldescheine
Array hinzugefügt werden.
Parameter
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
Name | Datentyp | Verwendung |
---|---|---|
meldescheine[].personen[].tarif_id | int | Die Tarif-ID des Gasts |
meldescheine[].personen[].gast_type | string | Gast-Art (person , gruppe ) |
meldescheine[].personen[].arrival_date | date | Anreisedatum des Gasts |
meldescheine[].personen[].departure_date | date | Abreisedatum des Gasts |
Folgende zusätzlichen Felder werden je nach Typ des Meldescheins übergeben
Einzel-Person
Name | Datentyp | Verwendung |
---|---|---|
meldescheine[].personen[].* | string | Weitere definierte Felder. (nach Definition) |
Info
Die Definition der Felder hängt von der Gemeinde ab und können über den Aufruf /get_current_user
abgefragt werden.
Reisegruppe
Name | Datentyp | Verwendung |
---|---|---|
meldescheine[].personen[].anzahl | int | Anzahl der Gäste |
Achtung: Wenn das Feld
meldescheine[].personen[].anzahl
größer1
ist ,wird der Meldeschein als Gruppenmeldeschein verbucht. Eventuell übergebene Einzelinformationen für den Gast (Vorname,Nachname etc.) werden nicht gespeichert.
Server Antwort
Die Serverantwort gibt im Erfolgsfall ein Array aus meldeschein
Objekten mit der jeweiligen Input-ID (für Referenz zum Quellsystem), sowie der Buchungs-ID id
zurück.
!! 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:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | { "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 } ] } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | <?xml version="1.0" encoding="utf-8"?> <root> <meta> <requestId>7d3f64d0-70ee-4522-a793-3787d63f8405</requestId> <timestamp>2019-10-24T12:23:40.854863</timestamp> <user> <id>14</id> <username>api_demo</username> <first_name>API</first_name> <last_name>Demo</last_name> <email>api_demo@apidemo.de</email> <is_active>True</is_active> <user_type>beherberger</user_type> <alias>API Demo</alias> <last_login>2019-10-24T11:35:18.015947+02:00</last_login> </user> <gemeinde>1</gemeinde> </meta> <status>success</status> <meldescheine> <list-item> <input_id>test-1</input_id> <id>395</id> </list-item> </meldescheine> </root> |
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:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | { "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" } ] } ] } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | <root> <meta> <gemeinde>1</gemeinde> <objekt>1</objekt> <vermieter>1</vermieter> </meta> <meldescheine> <list-item> <input_id>test-1</input_id> <personen> <list-item> <Gast_Vorname>TEST_BF</Gast_Vorname> <anzahl>1</anzahl> <arrival_date>2019-07-14</arrival_date> <departure_date>2019-07-17</departure_date> <gast_type>person</gast_type> <tarif_id>1</tarif_id> </list-item> </personen> </list-item> </meldescheine> </root> |
Gruppen-Meldeschein
Request:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | { "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" } ] } ] } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | <root> <meta> <gemeinde>1</gemeinde> <objekt>1</objekt> <vermieter>1</vermieter> </meta> <meldescheine> <list-item> <input_id>test-1</input_id> <personen> <list-item> <anzahl>5</anzahl> <arrival_date>2019-07-14</arrival_date> <departure_date>2019-07-17</departure_date> <gast_type>gruppe</gast_type> <tarif_id>1</tarif_id> </list-item> </personen> </list-item> </meldescheine> </root> |
Code-Beispiele
Folgendes Beispiel authentifziert die Anfrage und bucht einen Meldeschein
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | # $ 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) |