Für Reservierungen wurden zwei einfache Befehle dem Endpunkt POS-API hinzugefügt. Mit diesen lassen sich der Belegungsstatus aller Tische abfragen und Reservierungen nach LINA schreiben.


Mit der Namensänderung nach LINA ändert sich auch die URL der Third-Party-API nach https://api.lina.de/extern/[...] 
die alte URL ist parallel auf dem Server eingetragen 


TableStatus - Status

API-Doku GET tableStatus: https://documenter.getpostman.com/'id' 

tableStatus ohne weitere Parameter

POST https://api.lina.de/extern/webcashregister/tableStatus

Antwort ist der letzte Status aller Tische

Es werden die am Geschäftstag genutzten Tische zurückgegeben. Dies sind außer den Tischen des Betriebes auch alle Online-Tische mit der letzten Aktion. Der Abschluss des Geschäftstages setzt den Status zurück.


[
    {
        "tableNumber": 3,
        "lastAction": 1721303394,
        "tableheaderId": 107026,
        "reservationId": null,
        "status": "paid"
    },
    {
        "tableNumber": 2,
        "lastAction": 1721286779,
        "tableheaderId": 107024,
        "reservationId": null,
        "status": "open"
    },
    {
        "tableNumber": "delivery_5Uhr",
        "lastAction": null,
        "tableheaderId": 107039,
        "reservationId": null,
        "status": "empty"
    },
]


FeldWertInhalt
tableNumber<string>Tischnummer /Tischbezeichnung
lastAction<int> Unix Timestamp UTCZeitpunkt des letzten Journaleintrages auf dem Tisch
tableheaderID<int>ID des letzten tableheader Eintrages
reservationID<string>ID der Reservierung aus placebooking
status<string> open
paid
empty
Tisch geöffnet
Tisch bezahlt und geschlossen
letztes Schließen ohne Zahlung (Abbruch)


sendBooking - Reservierung

API-Doku GET tableStatus: https://documenter.getpostman.com/'id' 

Reservierung mit Parametern

POST https://api.lina.de/extern/webcashregister/sendBooking
im Body encoded key:booking
{
    "id": "ttt12345",
    "resdate": 1720624740,
    "nAdults": 4,
    "nKids": 0,
    "comment": "Lore Ipsum",
    "tables": "1;3;25",
    "customer": {
        "firstName": "Max",
        "lastName": "Mustermann",
        "email": "a@bee.de",
        "mobileNumber": "061234568",
        "street": "Musterstraße",
        "streetNumber": "10",
        "postalCode": "12345",
        "city": "München"
    }
}


FeldWertInhalt
id<string>ID der Reservierung
Tischnummer /Tischbezeichnung
resdate<int> Unix Timestamp UTCZeitpunkt für die Reservierung
nAdults, nKids<int>Anzahl der Erwachsenen und Kinder
comment<string>Kommentar zu Reservierung
tables<string> [ ; <string> ]Tisch oder mehrere Tische mit Semikolon ; getrennt
customer{ <string> }Es wird ein Kunde angelegt, der als Debitor mit dem Tisch verknüpft ist


Antwort mit dem Status der Buchung

{
    "status": "success",
    "message": "Booking accepted"
}