In der LINA Third Party API (TP API) werden an den verschiedenen Endpunkten Daten gelesen/geschrieben.
Bei den Bewegungsdaten Umsatz werden die Journaldaten der Kasse, eines Tisches oder auch z.B. der Forecast abgefragt.
Nach der Freigabe für den Zugriff (Lizensierung, Anlegen des Client, Berechtigung) und erfolgreiche Anmeldung werden die Journale der Kasse zurück übermittelt.
Voraussetzung | Konfiguration | Ergebnis |
---|---|---|
Lizensierung LINA | Endpunkt "Bewegungsdaten Umsatz" | monatliche Buchung |
Client Schnittstelle | mit URI | Client-ID und Access-Token |
Client-Berechtigung | Daten lesen | Leseberechtigung Client |
Scope | revenuejournal_read | |
Nutzer-Berechtigung | Anmeldung mit Benutzer | Abfrage der Daten mit den Berechtigungen des Benutzer |
INHALTSVERZEICHNIS
- Umsatzdaten Abruf allgemein
- Endpunkte auflisten
- Verfügbare Tage
- Kassenjournal
- Tischjournal
- Umsatz-Forecast
Umsatzdaten Abruf allgemein
Um die Endpunkte der Umsatzdaten abzufragen lautet die Basis-URL wie folgt:
http://login.amadeus360.de/extern/revenue
Alle Daten können erst nach erfolgreicher Authentifizierung abgefragt werden. Antwort ist immer ein JSON-Objekt.
API-Doku: https://documenter.getpostman.com/'id'
Endpunkte auflisten
Um die einzelnen möglichen Endpunkte für die Bewegungsdaten aufzulisten, gibt es einen Index. Es sind keine weiteren Header oder Parameter notwendig.
Aufruf
GET http://login.amadeus360.de/extern/revenue/index
Antwort-Beispiel:
[ { http://login.amadeus360.de/extern/revenue/journal } ]
Verfügbare Tage
Der Endpunkt "listdays" in LINA liefert die verfügbaren Tage mit Bewegungsdaten der Kasse.
Aufruf:
GET http://login.amadeus360.de/extern/revenue/listdays
Antwort-Beispiel:
[ { "businessdate": 1379628000, "zcount": 1 } ]
Kassenjournal
Um die Journale abzufragen muss das Geschäftsdatum übergeben werden.
Aufruf:
GET http://login.amadeus360.de/extern/revenue/journal?businessdate=14.08.2019
Antwort-Beispiel:
[ { "ID": 12345, "datum": "1565801225", "refdate": "1565733600", "art": "0,5 COLA LIGHT", "artnr": "201", "preis": "4.5", "zahl": "1", "tisch": "3", "ust": "19", "kellnernr": "6", "finanzweg": "1", "buchungsnr": "0", "tableheader_id": "544306", "am_id": "143904", "balance": "4.5", "terminal": "12", "masterkellnernr": "0", "teamnr": "0", "zcount": "1262", "parentid": "0", "site": "0", "situation": "0", "sortorder": null, "addinfo": "", "rabatt_id": "0", "pricelevel_id": "1", "operationprofile_id": "2", "cancellationreason": "0" }, { "ID": 12346, "datum": "1565801225", "refdate": "1565733600", "art": "0,5 COCA COLA", "artnr": "200", "preis": "3.5", "zahl": "1", "tisch": "3", "ust": "19", "kellnernr": "6", "finanzweg": "1", "buchungsnr": "0", "tableheader_id": "544306", "am_id": "143905", "balance": "3.5", "terminal": "12", "masterkellnernr": "0", "teamnr": "0", "zcount": "1262", "parentid": "0", "site": "0", "situation": "0", "sortorder": null, "addinfo": "", "rabatt_id": "0", "pricelevel_id": "1", "operationprofile_id": "2", "cancellationreason": "0" }, ]
Beschreibung der Felder in der Antwort Kasse
Feldname | Feldtyp | Beschreibung |
---|---|---|
ID | int, ID | Eindeutige ID der Zeile |
datum | int, UTC | Buchungszeitpunkt des Datensatzes (UTC) |
refdate | int, UTC | Zeitstempel des Geschäftstages 00:00 Uhr (businessdate) |
art | string | Name des gebuchten Artikels |
artnr | int | Artikelnummer des gebuchten Artikels oder 0 bei Finanzwegen. referenziert "number" beim Verkaufsartikel |
preis | string (\d+[.\d{1-2}]) | Bruttosumme des Datensatzes |
zahl | int | Anzahl des Datensatzes |
tisch | string | Bezeichnung des Tisches |
ust | int | Steuersatz der Buchung |
kellnernr | int | ID des Kellners |
finanz | int | Finanzweg des Datensatzes;1 Boniert, 10 Sofortstorno; 11 Nachträglicher Storno; 20 Bar gegeben; >20 Individuelle Finanzwege |
buchungsnr | int | ID des Bestellvorgangs |
tableheader_id | int | Referenz auf die Rechnungskopfdaten |
am_id | int | eindeutige ID des Buchungssatzes |
balance | string (\d+[.\d{1-2}]) | Redundant zu preis |
terminal | int | ID des Kassenplatzes |
masterkellner | int | ID des Kellners, der sich aufgrund von Masterkellnerrechten als der unter Kellnernummer angegebene Kellner ausgegeben hat. Sonst 0 |
teamnr | int | ID des Teams, in das der Kellner zum Buchungszeitpunkt eingetragen war |
zcount | int | Z-Zähler des aktuellen Tages |
parentid | int | Referenz auf am_id bei Tendern, Stornos und Rabatten |
site | int | Permanente Verkaufsstelle der Buchung |
situation | int | Temporäre Verkaufsstelle der Buchung |
sortorder | string | Gangwahl des Datensatzes |
addinfo | string | Zusatztext oder Fax zu dieser Buchung |
rabatt_id | int | ID des Rabatt-Finanzweges, 0 wenn kein Rabatt |
pricelevel_id | int | ID des Pricelevels dieser Buchung |
operationprofile_id | int | ID der Betriebsstelle zum Buchungszeitpunkt |
cancellationreason | int | Bei Stornos eingegebener Stornogrund |
Tischjournal
Um die Tischjournale abzufragen muss das Geschäftsdatum übergeben werden.
Aufruf:
GET http://login.amadeus360.de/extern/revenue/journaltables?businessdate=14.08.2019
Antwort-Beispiel:
{ "tableheader_id": "1914157", "table_type": "STANDARD", "table_number": "99663", "refdate": "1565733600", "documentdate": "0", "accounting_type": "BILL", "debitor_id": "0", "parent_id": "0", "debitor_text": "", "reservation_id": "0", "zcount": "1902", "number_adults": "0", "number_kids": "0", "number_infants": "0", "renum": "1294542", "vat1sum": "0", "vat2sum": "0", "vat3sum": "0", "finanzweg": "0", "zahl": "0", "kellnernr": "25", "is_archive": "1" }, { "tableheader_id": "1914158", "table_type": "STANDARD", "table_number": "2607", "refdate": "1565733600", "documentdate": "0", "accounting_type": "BILL", "debitor_id": "0", "parent_id": "0", "debitor_text": "", "reservation_id": "0", "zcount": "1902", "number_adults": "0", "number_kids": "0", "number_infants": "0", "renum": "1294654", "vat1sum": "0.287395", "vat2sum": "0", "vat3sum": "0", "finanzweg": "0", "zahl": "0", "kellnernr": "25", "is_archive": "1" }, { "tableheader_id": "1914159", "table_type": "STANDARD", "table_number": "1996", "refdate": "1565733600", "documentdate": "0", "accounting_type": "BILL", "debitor_id": "0", "parent_id": "0", "debitor_text": "", "reservation_id": "0", "zcount": "1902", "number_adults": "0", "number_kids": "0", "number_infants": "0", "renum": "1294785", "vat1sum": "0.047899", "vat2sum": "0", "vat3sum": "0", "finanzweg": "0", "zahl": "0", "kellnernr": "49", "is_archive": "1" }
Beschreibung der Felder in der Antwort Tisch
Feldname | Feldtyp | Beschreibung |
---|---|---|
tableheader_id | int | Eindeutige ID des Tisches, Journaldaten referenzieren diese ID |
table_type | string {STANDARD, ONLINE} | STANDARD (Tisch in der Kasse geöffnet) oder ONLINE (Tisch aus Onlinebestellung (AmaGo, Lieferando, ...) |
table_number | string | Tischnummer, alphanumerisch |
refdate | int, UTC | Zeitstempel des Geschäftstages 00:00 Uhr (businessdate) |
documentdate | int , UTC | Rechnungsdatum, wenn abweichend vom refdate |
accounting_type | string {BILL, CREDITNOTE, CANCELEDBILL, EMPTY} | Art des Tisches: BILL (Rechnung), CREDITNOTE (Gutschrift), CANCELEDBILL (Stornierte Rechnung), EMPTY (Leerer Tisch) |
debitor_id | int | ID des Debitors, der diesem Tisch zugewiesen ist |
parent_id | int | tableheader_id der Rechnung, die Storniert wurde. Nur bei Gutschrift gesetzt |
debitor_text | string | Freier Text für Rechnungskopf |
reservation_id | int | Reservierungs-ID |
zcount | int | Z-Zähler |
number_adults | int | Anzahl Erwachsene |
number_kids | int | Anzahl Kinder |
number_infants | int | Anzahl Kleinkinder |
renum | int | Rechnungsnummer |
vat1sum | string (\d+[.\d{1-6}]) | Saldo auf Steuersatz 1 |
vat2sum | string (\d+[.\d{1-6}]) | Saldo auf Steuersatz 2 |
vat3sum | string (\d+[.\d{1-6}]) | Saldo auf Steuersatz 3 |
finanzweg | int | Finanzweg auf diesem Tisch, falls eindeutig |
zahl | -- | Ungenutzt |
kellnernr | int | ID des Kellners, wenn eindeutig |
is_archive | int {0,1} | Tagesabschluss, der diesen Tisch enthält ist ausgeführt. |
Umsatz-Forecast
LINA berechnet den täglichen Umsatz-Forecast in einem Zeitraum.
Aufruf:
GET http://login.amadeus360.de/extern/revenue/getforecastperday?from=01.08.2021&to=31.08.2021
Antwort-Beispiel:
[ { "datum": 1627768800, "forecast": 3709.71 }, { "datum": 1627855200, "forecast": 3094.5 }, { "datum": 1627941600, "forecast": 3470.81 } ]
Beschreibung der Felder in der Antwort Forecast
Feldname | Feldtyp | Beschreibung |
---|---|---|
datum | int, UTC | Zeitstempel des Geschäftstages 00:00 Uhr (businessdate) |
forecast | string (\d+[.\d{1-2}]) | Bruttosumme Forecast |