Entwicklerdokumentation

Profil

Das öffentliche Profil einer Location lesen – Name, Ort, Zeitzone, Ressourcentypen, kostenpflichtige Extras und wählbare Buchungsdauern.

Das öffentliche Profil der Location: Name, Beschreibung, Ort, Zeitzone, welche Ressourcentypen sie anbietet und – sofern vom Betreiber eingerichtet – kostenpflichtige Extras und die Buchungsdauern, die ein Gast je Ressourcentyp wählen darf. 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}

Antwort 200 OK

Feld Typ Bedeutung
slug string Der Bezeichner, den Sie in der URL verwendet haben
name, tagline, description string Anzeigetexte in der Sprache der Location
city, country string Ort, wie Gäste ihn sehen
timezone string IANA-Zeitzone, in der jedes Datum und jede Uhrzeit dieser Location liegt
resourceTypes string[] Die Typen, die diese Location anbietet: RestaurantTable, BilliardTable, DartBoard, Shuffleboard, BowlingLane, EventArea
extras object[] oder null Kostenpflichtige Zusatzleistungen: id, name, description, price, currency, basis (PerPerson oder PerBooking), appliesTo (Ressourcentypen)
bookingDurations object[] oder null Je Typ: type, defaultMinutes, minMinutes, maxMinutes, stepMinutes, guestSelectable, options (die wählbaren Minuten, fertig für eine Auswahl)
{
  "slug": "demo-sportsbar",
  "name": "The Neon Tap",
  "tagline": "Sports bar, kitchen & game house",
  "description": "A neighbourhood sports bar where guests come to dine, drink, watch the match, and play. Reserve a table for the big game, book a billiard table or dart board by the hour, or take the whole mezzanine for a private event.",
  "city": "Berlin",
  "country": "Germany",
  "timezone": "Europe/Berlin",
  "resourceTypes": [
    "RestaurantTable",
    "BilliardTable",
    "DartBoard"
  ],
  "extras": null,
  "bookingDurations": [
    {
      "type": "RestaurantTable",
      "defaultMinutes": 120,
      "minMinutes": 60,
      "maxMinutes": 240,
      "stepMinutes": 30,
      "guestSelectable": false,
      "options": [
        120
      ]
    },
    {
      "type": "BilliardTable",
      "defaultMinutes": 60,
      "minMinutes": 60,
      "maxMinutes": 240,
      "stepMinutes": 30,
      "guestSelectable": true,
      "options": [
        60,
        90,
        120
      ]
    },
    {
      "type": "DartBoard",
      "defaultMinutes": 60,
      "minMinutes": 60,
      "maxMinutes": 240,
      "stepMinutes": 30,
      "guestSelectable": true,
      "options": [
        60,
        90,
        120
      ]
    }
  ]
}

Listen im Beispiel sind auf drei Einträge gekürzt.

Fehler – 404 keine Location mit diesem Slug; Schlüsselprobleme wie unter Fehler.

curl

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

JavaScript

const response = await fetch('https://api.bookdineplay.com/api/venues/your-venue', {
  headers: { 'X-BookDinePlay-Key': 'bdp_pk_your_publishable_key' }
});
const venue = await response.json();
console.log(venue.name, venue.resourceTypes);

C#

var venue = await client.GetVenueAsync("your-venue", cancellationToken);
if (venue is null) { /* keine Location mit diesem Slug */ }

Nächste Schritte

  • Venue – die übrigen fünf Lesezugriffe dieser Location.
  • Verfügbarkeit – die bookingDurations-Werte in Aktion, umgesetzt in buchbare Slots.
  • .NET-SDK – derselbe Lesezugriff als typisierte Methode.