Anmelden um den Slug und den veröffentlichbaren Schlüssel Ihrer Location in jedem Beispiel zu sehen.
Ihr Konto hat noch keine Location, die Beispiele behalten daher ihre Platzhalter. Abmelden
Angemeldet als · . Legen Sie in der Konsole einen veröffentlichbaren Schlüssel an und laden Sie die Seite neu, um ihn hier zu sehen. Abmelden
Angemeldet als · . Die Beispiele zeigen den veröffentlichbaren Schlüssel Ihrer Location. Abmelden
Entwicklerdokumentation
Verfügbarkeit
Abfragen, welche Slots eine Location für Ressourcentyp, Datum, Gruppengröße und optionale Buchungsdauer anbieten kann – der Aufruf vor jeder Reservierung.
Die Verfügbarkeit macht aus Ressourcentyp, Datum und Gruppengröße die Liste der Slots, die ein Gast wählen kann. Sie berücksichtigt bereits Öffnungszeiten, bestehende Reservierungen, Kapazität und Buchungsdauer jeder Ressource sowie die Preise der Location – ein als verfügbar markierter Slot lässt sich also unverändert reservieren, und eine Reservierung für einen nicht angebotenen Slot wird abgelehnt.
Endpunkte
GET /api/venues/{venueSlug}/availability
Query-Parameter
| Parameter | Erforderlich | Bedeutung |
|---|---|---|
date |
ja | Datum in Ortszeit, yyyy-MM-dd (Datum, Uhrzeit und Zeitzonen) |
partySize |
nein, Standard 2 |
Gäste oder Spieler. Größeren Gruppen werden ggf. Gruppen-Slots über mehrere Ressourcen angeboten |
resourceType |
nein, Standard RestaurantTable |
Einer der resourceTypes der Location – RestaurantTable, BilliardTable, DartBoard, Shuffleboard, BowlingLane, EventArea |
durationMinutes |
nein | Eine Buchungsdauer, die die Location für diesen Typ anbietet (siehe bookingDurations im Profil). Weggelassen oder 0 bedeutet den Standard der Location |
Antwort 200 OK
| Feld | Typ | Bedeutung |
|---|---|---|
slug, date, resourceType, partySize |
Die Anfrage, zurückgespiegelt | |
durationMinutes |
integer | Die Buchungsdauer, die die Slots darstellen – der Standard, wenn Sie keine gesendet haben |
slots[] |
object[] | Jeder Kandidaten-Slot des Tages, verfügbar oder nicht |
Slots
| Feld | Typ | Bedeutung |
|---|---|---|
start, end |
string | Ortszeit HH:mm |
resourceId, resourceName |
string | Die Ressource dieses Slots – senden Sie resourceId beim Reservieren zurück, um genau diese zu bekommen |
available |
boolean | false für einen Slot, der auf dem Raster existiert, aber bereits vergeben ist; ausgegraut zeigen, nie buchen |
priceEstimate, currency |
decimal, string | Was die Buchung nach dem Preismodell der Ressource kosten würde; 0 bei kostenlosen Ressourcen |
pricingModel |
string oder null | Free, PerHour, PerGame, PerSession, FixedFee, Deposit, MinimumSpend – sagt, worauf sich die Schätzung bezieht |
groupResourceCount, groupResourceNames |
integer, string[] (beide null bei Einzel-Slots) | Einer für eine Ressource zu großen Gruppe wird ein Gruppen-Slot über mehrere angeboten; resourceId ist dann das erste Mitglied |
Ein geschlossener Tag oder eine Gruppe, die die Location gar nicht unterbringen kann, ist eine leere slots-Liste mit 200 – kein Fehler.
{
"slug": "demo-sportsbar",
"date": "2026-10-16",
"resourceType": "RestaurantTable",
"partySize": 4,
"slots": [
{
"start": "15:00",
"end": "17:00",
"resourceId": "table-6a",
"resourceName": "Corner table",
"available": true,
"priceEstimate": 0,
"currency": "EUR",
"groupResourceCount": null,
"groupResourceNames": null,
"pricingModel": "Free"
},
{
"start": "15:00",
"end": "17:00",
"resourceId": "table-4a",
"resourceName": "Table 4",
"available": true,
"priceEstimate": 0,
"currency": "EUR",
"groupResourceCount": null,
"groupResourceNames": null,
"pricingModel": "Free"
},
{
"start": "15:00",
"end": "17:00",
"resourceId": "table-4b",
"resourceName": "Table 7",
"available": true,
"priceEstimate": 0,
"currency": "EUR",
"groupResourceCount": null,
"groupResourceNames": null,
"pricingModel": "Free"
}
],
"durationMinutes": 120
}Listen im Beispiel sind auf drei Einträge gekürzt.
Fehler – 400 mit errors.date, wenn date nicht yyyy-MM-dd ist; 404 keine Location mit diesem Slug; Schlüsselprobleme wie unter Fehler.
curl
curl "https://api.bookdineplay.com/api/venues/your-venue/availability?date=2026-10-16&partySize=4&resourceType=RestaurantTable" \
-H "X-BookDinePlay-Key: bdp_pk_your_publishable_key" \
-H "Origin: https://www.your-venue.example"JavaScript
const params = new URLSearchParams({ date: '2026-10-16', partySize: '4', resourceType: 'RestaurantTable' });
const availability = await (await fetch(`https://api.bookdineplay.com/api/venues/your-venue/availability?${params}`, {
headers: { 'X-BookDinePlay-Key': 'bdp_pk_your_publishable_key' }
})).json();
const open = availability.slots.filter(s => s.available);
console.log(`${open.length} Slots à ${availability.durationMinutes} min`);C#
var availability = await client.GetAvailabilityAsync(
"your-venue", new DateOnly(2026, 10, 16), partySize: 4, BookableResourceType.RestaurantTable,
cancellationToken: cancellationToken);
var open = availability?.Slots.Where(s => s.Available).ToList() ?? [];Buchungsdauer wählen
Lässt die Location Gäste wählen (guestSelectable in den bookingDurations des Profils), bieten Sie die options-Liste des Typs an, übergeben die Wahl als durationMinutes und senden denselben Wert mit der Reservierung. Eine Dauer, die die Location nicht anbietet, wird mit dem Standard beantwortet, nicht mit einem Fehler – vergleichen Sie durationMinutes in der Antwort mit Ihrer Anfrage.
Nächste Schritte
- Reservierungen – den vom Gast gewählten Slot buchen.
- Venue – die Ressourcentypen und Dauern, nach denen Sie fragen können.