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/availabilityand/api/booking/calendar - Proforma + Stripe: after submitting, the guest receives an email with a payment link
- Customisable colours: through
Settings → Booking Widgettab 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