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
Changelog
What changed in the public API, the JavaScript and .NET SDKs and the WordPress plugin, release by release, newest first.
Curated from the GitHub releases: only what an integration can notice is listed, and internal, console and infrastructure changes are left out. Versions are the vX.Y.Z tags; the same version names the CDN path, the NuGet packages and the WordPress zip of that release (Versions and releases).
v0.8.0 — 2026-09-16
- JavaScript SDK —
BookDinePlay.createClient({ apiBaseUrl, publishableKey, venueSlug })— a headless client for pages with their own forms:venue(),floorPlan(),availability(),reserve(), RFC 7807 errors asBookDinePlayError; the widget now runs on it, andrenderBookingWidgetrefuses a key that is not abdp_pk_…publishable key (returnsnullwith a console message) instead of rendering and failing with 403 (Custom forms). - API — Opening hours may close after midnight (
opens18:00,closes02:00); availability and reservations follow the span into the next day, and breaks stay same-day only (Venue).
v0.7.0 — 2026-09-16
- Docs — Tutorials: Booking flow (what the widget does end to end) and Azure Static Web Apps (zero to a live venue page); this changelog. No change to the public API, the SDKs or the WordPress plugin.
v0.6.0 — 2026-09-16
- API — Every
/api/venues/**call requires an API key: a publishablebdp_pk_…key from an allowed origin in the browser, a secretbdp_sk_…key on a server. A missing, wrong or misused key is refused with one of six RFC 7807 problem types (Authentication, Errors). - API — Booking lengths are configurable per resource type: the venue profile lists
bookingDurations, availability and reservations acceptdurationMinutes, and availability echoes the length its slots represent. - API — Availability and reservation creation resolve a resource's own booking length the same way, so a slot that was offered can no longer be refused for its length; a party that needs several resources is grouped identically by both calls.
- API —
phoneon reservation creation is optional: 3–40 characters when given, and a blank value counts as not supplied. - JavaScript SDK — Published on the CDN:
sdk/<version>/bookdineplay.js(immutable, with an SRI hash insri.txtnext to it) andsdk/v0/bookdineplay.js(five-minute alias).renderBookingWidgetnow requirespublishableKeyand takestheme(auto,light,dark); nine--bdp-*custom properties theme the widget from the host page;window.BookDinePlay.versionnames the loaded release (JavaScript SDK, Theming). - JavaScript SDK —
durationMinutesis sent only when the guest picked a length; the venue's default applies otherwise. - .NET SDK —
BookDinePlay.SdkandBookDinePlay.Sharedare on nuget.org, versioned in lockstep with the release (.NET SDK). - WordPress — The plugin ships as
bookdineplay-<version>.zipon the release, loads the SDK from thev0alias, stores the publishable key under Settings → BookDinePlay, and the shortcode gains akeyattribute (WordPress plugin). - Docs — This site.
v0.5.0 — 2026-09-09
- No change to the public API, the SDKs or the WordPress plugin. Operator console only.
v0.4.1 — 2026-09-02
- No change to the public API, the SDKs or the WordPress plugin. Operator console only.
v0.4.0 — 2026-07-23
- API — Messages and problem responses are localized: send
Accept-Language: defor Germantitleanddetail; English is the default (Errors). The guest's confirmation email uses the language of the request that created the reservation. - API — Bookable extras: the venue profile lists
extras; a reservation acceptsextras: [{ "extraId": "…", "quantity": 1 }]and returns pricedextraslines andextrasTotal. - API — Per-game pricing: a slot can carry
pricingModel: "PerGame"; a reservation accepts and returnsgames(1–10). - API — Group bookings: a party too large for one resource is offered a group slot (
groupResourceCount,groupResourceNames); the reservation returnsgroupReferenceandgroupResources. - API — New resource type
BowlingLane; food ordering is a per-resource setting (allowsFoodOrderingon resources). - JavaScript SDK, WordPress —
BowlingLanein the resource-type list and in the plugin's defaulttypes; the widget collects games per player and extras where the venue offers them.
Releases before v0.4.0 predate the public integration paths and are not listed.