Sign in to see your venue's slug and publishable key in every sample.
Your account has no venue yet, so the samples keep their placeholders. Sign out
Signed in as · . Create a publishable key in the console and reload to see it here. Sign out
Signed in as · . The samples show your venue's publishable key. Sign out
Developer docs
Profile
Read a venue's public profile — name, location, time zone, resource types, paid extras and the per-type booking durations guests may choose.
The venue's public profile: name, description, location, time zone, which resource types it offers, and — when the operator has set them up — paid extras and the booking durations a guest may choose per resource type. It follows the same key rules as the rest of /api/venues/** (Keys and headers) and answers 404 with a problem body when no venue has that slug.
Endpoints
GET /api/venues/{venueSlug}
Response 200 OK
| Field | Type | Meaning |
|---|---|---|
slug |
string | The identifier you used in the URL |
name, tagline, description |
string | Display text, in the venue's own language |
city, country |
string | Location as shown to guests |
timezone |
string | IANA time zone every date and time on this venue is in |
resourceTypes |
string[] | The types this venue offers: RestaurantTable, BilliardTable, DartBoard, Shuffleboard, BowlingLane, EventArea |
extras |
object[] or null | Paid add-ons: id, name, description, price, currency, basis (PerPerson or PerBooking), appliesTo (resource types) |
bookingDurations |
object[] or null | Per type: type, defaultMinutes, minMinutes, maxMinutes, stepMinutes, guestSelectable, options (the selectable minutes, ready for a picker) |
{
"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
]
}
]
}Lists in the example are shortened to three entries.
Errors — 404 no venue with that slug; key problems as on Errors.
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) { /* no venue with that slug */ }Next steps
- Venue — the other five reads for this venue.
- Availability — the
bookingDurationsvalues in action, turned into bookable slots. - .NET SDK — the same read as a typed method.