Entwicklerdokumentation

Raumplan

Zonen und platzierte Ressourcen einer Location mit normalisierter Geometrie lesen, um eine „Tisch auswählen“-Ansicht zu zeichnen.

Zonen und platzierte Ressourcen mit normalisierter Geometrie, um eine „Tisch auswählen“-Ansicht zu zeichnen. Eine Location ohne Plan antwortet mit 200 und leeren Listen – prüfen Sie tables.length, bevor Sie Ihre Oberfläche auf den Raumplan umschalten. Er folgt denselben Schlüsselregeln wie der Rest von /api/venues/** (Schlüssel und Header) und antwortet mit 404 und einem Problem-Body, wenn keine Location diesen Slug hat.

Endpunkte

GET /api/venues/{venueSlug}/floor-plan

Antwort 200 OK

Feld Typ Bedeutung
slug string Die Location
zones[] object[] id (GUID), name, ordinal (Anzeigereihenfolge)
tables[] object[] resourceId, name, type, capacity, zoneId, x, y, width, height (alle 0–1, relativ zur Zone), shape (Rectangle oder Circle), rotation (Grad)
{
  "slug": "demo-sportsbar",
  "zones": [],
  "tables": []
}

Fehler – 404 keine Location mit diesem Slug.

curl

curl "https://api.bookdineplay.com/api/venues/your-venue/floor-plan" \
  -H "X-BookDinePlay-Key: bdp_pk_your_publishable_key" \
  -H "Origin: https://www.your-venue.example"

JavaScript

const plan = await (await fetch('https://api.bookdineplay.com/api/venues/your-venue/floor-plan', {
  headers: { 'X-BookDinePlay-Key': 'bdp_pk_your_publishable_key' }
})).json();
const hasPlan = plan.tables.length > 0;

C#

var plan = await client.GetFloorPlanAsync("your-venue", cancellationToken);

Nächste Schritte

  • Venue – die übrigen fünf Lesezugriffe dieser Location.
  • Buchungsablauf – wann der Raumplan im Lebenszyklus des Widgets abgerufen wird.
  • .NET-SDK – derselbe Lesezugriff als typisierte Methode.