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.Sdk on 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

  1. Quickstart — embed the widget in five minutes.
  2. Authentication — keys, origins, headers and errors.
  3. Then the guide for your stack: JavaScript SDK, WordPress plugin or .NET SDK — and the CDN if you pin versions.
  4. API reference — every endpoint with a real response, when you build without the SDKs.
  5. 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.