Booking wherever your customers find you
Your website, WordPress, Instagram, Google or a QR code on the counter — it is the same live booking page everywhere, in your colours, and every change you make in BKG.dk shows up at once.
Where you can put it
Pick what to show and how it looks in the admin (Integrations → Website), watch the live preview, and copy ready code for your platform. No developer needed.
Your own website
One line of script for an inline booking page, or a Book button that opens a popup.
WordPress
The BKG Booking plugin: a block, a widget and the [bkg_booking] shortcode — all with the same options.
Wix
Add → Embed code → Embed HTML, and paste the snippet or the iframe.
Squarespace
Add a Code block or an Embed block and paste the snippet.
Shopify
A Custom Liquid section in the theme editor, or the HTML view of a page.
Webflow
Drop in a Code Embed element and paste the snippet.
Google Sites
Insert → Embed → Embed code, and paste the iframe.
Facebook & Instagram
Your booking link on the page's Book button, in the bio and in stories.
Google Business Profile
Add your booking link as the appointment link, so people book straight from Maps and Search.
QR code
Download a QR code for the counter, flyers and business cards.
Show it the way that fits
- 1 Inline. The whole booking flow inside your page. The frame fits its content, so there is no inner scrollbar.
- 2 Popup button. Your own button or link opens booking over the page — the visitor never leaves your site.
- 3 Several buttons. "Book a haircut", "Book with Maria", "Book in Aarhus" — each button opens booking with its own choice already made.
- 4 Plain iframe. For site builders that do not allow scripts.
- 5 Link. The booking page on its own address, for social media, e-mails and Google.
<div id="bkg-booking"></div>
<script
src="https://bkg.dk/static/js/booking-embed.js"
data-slug="my-salon"
></script>
<button id="book-btn">Book now</button>
<script
src="https://bkg.dk/static/js/booking-embed.js"
data-slug="my-salon"
data-trigger="#book-btn"
></script>
<!-- No container on the page: the script only wires up the buttons -->
<script src="https://bkg.dk/static/js/booking-embed.js" data-slug="my-salon"></script>
<button data-bkg-open data-bkg-service="SVC_ID">Book a haircut</button>
<button data-bkg-open data-bkg-staff="STAFF_ID">Book with Maria</button>
<a href="#" data-bkg-open data-bkg-location="LOC_ID">Book in Aarhus</a>
[bkg_booking]
[bkg_booking location="LOC_ID" category="CAT_ID" color="#be185d"]
[bkg_booking mode="popup" label="Book tid" service="SVC1,SVC2"]
[bkg_booking staff="STAFF_ID" button="pill" radius="20" header="0"]
<iframe
src="https://bkg.dk/b/my-salon?embed=1&location=LOC_ID&color=%23be185d"
width="100%"
height="760"
style="border:0"
loading="lazy"
title="Booking"
></iframe>
Only what belongs on that page
Choose what a booking widget shows: one or more locations, service categories, services or employees. Combine them, and the widget shows only what fits all of them.
One page per location
Your Aarhus page books only in Aarhus — with the staff and services that are there.
A service on its own page
A campaign page for a treatment opens with that treatment already chosen.
A category
The nails page shows only nail services, the hair page only hair.
A stylist's own page
"Book with Maria" shows only Maria and the services she does.
Combinations
Two locations and one category, or a team of three at one location — filters combine.
<div id="bkg-booking"></div>
<script
src="https://bkg.dk/static/js/booking-embed.js"
data-slug="my-salon"
data-location="LOC_A,LOC_B"
data-category="CAT_HAIR,CAT_COLOUR"
></script>
<!-- One page per stylist: services are limited to what they do -->
<bkg-booking slug="my-salon" staff="STAFF_ID"></bkg-booking>
<!-- A team of two at one location -->
<bkg-booking slug="my-salon" location="LOC_ID" staff="STAFF_A,STAFF_B"></bkg-booking>
An old link to a service or location that no longer exists does not end in an empty page: the widget then shows everything you offer. Show only a location, category, service or staff →
In your colours, not ours
Set your accent colour, background, text and card colours, rounded or square corners, font style, button style, spacing and light or dark mode once in the admin — or per embed, so a campaign page can look different from the rest of the site.
- Accent, background, text and card colours
- Corner radius, button style (filled, outline, pill) and spacing
- Font style without loading font files from anyone
- Light, dark or follow the visitor's device
- Show or hide your header and the progress steps
- Danish, English or Ukrainian — or the visitor's own language
45 min · 450 kr.
90 min · 895 kr.
45 min · 450 kr.
90 min · 895 kr.
45 min · 450 kr.
90 min · 895 kr.
Connect the rest of your business
BKG.dk talks to the tools you already use. What you can connect depends on your plan. See plans →
REST API
Read and change bookings, clients, availability and your catalogue from your own systems, with keys you control.
Webhooks
A signed message to your system the moment a booking is made, moved, cancelled or paid.
Zapier & Make
Send new bookings, cancellations and payments on to thousands of apps without code.
Calendar feed
Each employee's bookings in Google Calendar, Apple Calendar or Outlook through a private iCal link.
Accounting
Paid sales are booked in Dinero, e-conomic or Billy as invoices with the payment registered.
CRM
Clients and visits are sent to HubSpot, Pipedrive or Odoo.
Conversion tracking
Your site gets an event when a booking is made or paid, and Google Tag Manager receives it too.
PHP, JavaScript & Python
Small SDKs and ready examples for web developers.
Questions
Do I need a developer?
No. In the admin, under Integrations → Website, you choose what to show and how it should look, and copy the snippet. On WordPress you install the plugin and add a block.
Can I show only one location or one employee?
Yes. A widget can be limited to one or more locations, service categories, services or employees, and the limits combine.
Will it match my website?
Yes. You set colours, corners, font style, buttons and light or dark mode, and an embed can override them for a single page.
What happens when I change prices or opening hours?
Every widget is your live booking page, so changes in BKG.dk show up everywhere at once — there is nothing to update on your site.
Does it work on phones?
Yes. The widget fits the width it is given, from a phone to a wide screen.
Put booking on your site today
Create your salon, add your services and copy the snippet — it takes a few minutes.
Start for free