The booking widget (on your own website)

Updated on 2026-04-22

BedFlow includes a standalone booking widget (public/booking-widget.html) that you can embed on your own website — no iframe needed, pure HTML/CSS/JS.

Where do you find it?

The widget lives on your BedFlow server: https://bedflow.eu/booking-widget.html.

Embed it in your WordPress / Statamic / own site via a link or iframe:

<a href="https://bedflow.eu/booking-widget.html" class="book-button">Book directly</a>

Features

  • 6-step flow: dates → rooms → extras → guest details → overview → confirmation
  • Multilingual (NL / EN / FR / DE) with automatic language detection + runtime switching
  • Responsive (mobile, tablet, desktop)
  • Multi-room: guest can book several rooms in one session
  • Extras: wellness, breakfast, surcharges, honesty bar items
  • Wellness slot picker: integrated with WellnessBookingService
  • Live availability: via /api/booking/availability and /api/booking/calendar
  • Proforma + Stripe: after submitting, the guest receives an email with a payment link
  • Customisable colours: through Settings → Booking Widget tab you can configure primary/accent/etc.

Channel in the DB

Widget bookings get source = 'direct' and channel = 'website'. That way you can filter them in your Email Automations (e.g. a different email for website guests vs OTA guests).

Enable/disable

Settings → Integrations → Booking Widget — toggle on/off. Disabled = the widget shows "Bookings currently unavailable".

Settings that govern widget behaviour

In Settings → Settings → Booking Widget tab:

  • Check-in / check-out hours
  • Minimum / maximum nights
  • Free cancellation up to X days
  • Deposit percentage (or fixed amount)
  • Multi-night discount
  • Tourist tax per adult per night
  • Ask for date of birth toggle (off by default)
  • Terms and conditions + Cancellation policy URLs
  • Colours: primary, accent, borders, background
  • Per-language texts per step: you can override the main heading for each step