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
Overview
What the BookDinePlay developer platform gives you, the three ways to integrate, and where to start.
BookDinePlay turns a venue's own website into its booking channel: restaurant tables, billiard tables, dart boards, bowling lanes and event areas, with menus, opening hours and optional deposits. Everything a guest sees on your site comes from one public API, and every way of embedding it talks to that same API.
What you can build
- A booking widget on any page. One script tag from our CDN and one function call render a complete, style-isolated reservation flow inside an element you choose. No framework, no build step.
- A WordPress site with a shortcode. The plugin loads the same widget and exposes
[bookdineplay_widget venue="…"]. - Your own front end or back office. The typed .NET SDK (
BookDinePlay.Sdkon NuGet) wraps every public endpoint, and the REST API is open to any language.
How it fits together
| Piece | What it is | Where it runs |
|---|---|---|
| Public API | https://api.bookdineplay.com/api/venues/{slug}/… — venue, opening hours, menus, resources, availability, reservations, payment intents |
BookDinePlay |
| API key | A publishable key (bdp_pk_…) for browsers, locked to your site's origins; a secret key for servers |
Yours to create in the console |
| Widget / plugin / SDK | The integration path you pick | Your website or server |
Every public call carries an API key; there is no anonymous access. Authentication explains the two key types and exactly what the API refuses.
Start here
- Quickstart — embed the widget in five minutes.
- Authentication — keys, origins, headers and errors.
- Then the guide for your stack: JavaScript SDK, WordPress plugin or .NET SDK — and the CDN if you pin versions.
- API reference — every endpoint with a real response, when you build without the SDKs.
- Tutorials — the widget end to end, and a venue page from nothing to live on Azure.
Questions people ask
Is online payment optional?
Yes. BookDinePlay never requires a payment to book: a reservation is confirmed the moment it is created unless the venue has enabled deposits, the resource carries a deposit amount and the guest ticked the deposit option — only then is it held as Pending until the venue confirms it. Collecting a deposit is a separate, provider-agnostic payment intent, and the API never touches card data.
Do I need an API key?
Yes. Every call to /api/venues/** — including every request the widget makes — must carry an API key in the X-BookDinePlay-Key header (or as a bearer token); there is no anonymous access. A publishable key (bdp_pk_…) is safe in a browser because it only works from the origins you allow; a secret key (bdp_sk_…) stays on your server. Operators create both in the console.
Can I use it on WordPress?
Yes. The BookDinePlay WordPress plugin, downloadable as a zip from every GitHub release, loads the same widget and adds the shortcode [bookdineplay_widget venue="…"]; you paste your publishable key once in its settings, name the venue in the shortcode, and the reservation flow appears wherever the shortcode is.