Zum Inhalt springen

Referenz

Buchungen

Lesen Sie Buchungen über alle Ihre Restaurants hinweg und erstellen Sie sie von Server zu Server. Die Erstellung ist kapazitätsgeprüft, sodass die API einen Slot niemals überbuchen kann.

GET/api/v1/bookings

Paginierte Liste der Buchungen über alle Ihre Restaurants hinweg, neueste zuerst.

Abfrage: restaurantId, status, from (ISO-Datum), to (ISO-Datum), limit (≤100), cursor

200 OK
{
  "data": [
    {
      "id": "clxa1...",
      "restaurantId": "clw...",
      "date": "2026-01-15T00:00:00.000Z",
      "time": "19:30",
      "partySize": 4,
      "status": "CONFIRMED",
      "notes": "Window table if possible",
      "source": null,
      "createdAt": "2025-12-01T10:42:33.000Z",
      "diner": { "name": "Jane Doe", "email": "jane@example.com", "phone": null }
    }
  ],
  "nextCursor": "clxa0..."
}
POST/api/v1/bookings

Erstellen Sie eine Gastbuchung für ein Restaurant, das Ihrem Schlüssel gehört. Gibt 201 mit dem confirmCode zurück und löst booking.created auf abonnierten Webhooks aus.

cURL
curl -X POST https://www.openalacarte.com/api/v1/bookings \
  -H "Authorization: Bearer oac_live_<your-key>" \
  -H "Content-Type: application/json" \
  -d '{
    "restaurantId": "clw...",
    "date": "2026-01-15",
    "time": "19:30",
    "partySize": 4,
    "guestName": "Jane Doe",
    "guestEmail": "jane@example.com",
    "guestPhone": "+44 7700 900000",
    "notes": "Allergic to peanuts"
  }'

Erforderlich: restaurantId, date (JJJJ-MM-TT), time (HH:MM), partySize (1–50), guestName, guestEmail.

Serverseitig unter einer Sperre kapazitätsgeprüft: Ist der Slot voll, erhalten Sie 409 — die Buchung wird niemals doppelt vergeben, selbst bei gleichzeitigen Anfragen.