Booking EngineEngine configuration

Putting a booking widget on your website

Five widget types, seven languages and one line of code. How to choose the shape that fits your website, style it to match, and paste it where it will earn the most direct bookings.

Where to find it
Booking EngineWebsite Widgets
Permission needed
booking-engine.widget.edit
Last checked
August 15, 2026

Most guests who book with you directly start on your own website, not on your booking page. The widget is what connects the two: a date search, or just a button, that sits on your site and hands the guest to your Prostay booking page with their dates already filled in. This screen builds it and gives you the one line of code that installs it.

What the widget actually is

It is a single script tag. You paste it into your website once, and it draws the widget wherever you put it. Everything you choose on this screen is carried in that one line, which means two useful things: your web developer has almost nothing to do, and changing the widget later is a matter of copying a new line rather than rebuilding anything.

The widget does not take bookings itself. It collects dates and sends the guest to your booking page, which is the thing you style in customising how your booking engine looks. The two are set up separately and it is worth making them look like each other.

How the screen is arranged

The Website Widgets screen. A widget type picker set to Horizontal sits beside a Preferred Widget Language picker set to English, with Customize button text and Button Color below them. A Preview Style panel shows a check-in and check-out bar with a gold Check availability button. Under it, the generated script tag and the question "Open booking page in a new window?" set to Yes.
Every control on this screen ends up inside the one line of code at the bottom.
  1. Widget type. The shape of the thing. Five choices, and the one decision on this screen that really matters.
  2. Preferred Widget Language. The language the widget itself is written in.
  3. Preview Style. The widget as it will appear, redrawn as you change anything.
  4. The embed code. Click it to copy. This is what goes on your website.

The five widget types

Pick by where it has to fit, not by which looks best on this screen. A widget that has to squeeze into a narrow column will look worse than one chosen for the space it has.

The Preview Style panel with the Horizontal widget: a Check-in Date field reading 08/22/2026, a Check-out Date field reading 08/25/2026, and a gold Check availability button, all in one row.
Horizontal. One row, which is why it fits a header strip and nothing narrower.
TypeWhat it is, and where it belongs
Horizontal Both date fields and the button in one row. The default, and the right answer for a wide space: under a hero image, or across the top of a home page.
Stacked The same fields arranged vertically. For a sidebar, a narrow column, or anywhere the horizontal version would be squashed.
Floating bar A band in your brand colour carrying a short message alongside the dates. It is the only type with its own message and its own background, which makes it the one to use for a campaign: park free, book direct, third night half price.
Large Button A button and nothing else. No dates: the guest picks those on the booking page. Use it where a date picker would be noise, such as a room description page.
Small Button The same, smaller. Made for a navigation bar, beside your phone number.
The Preview Style panel with the Floating bar widget: a blue band carrying the message "Book direct and park free", a Check-in Date field, a Check-out Date field and a gold Check availability button.
The floating bar is the only type with its own message and its own background colour.
The Preview Style panel with the Large Button widget: a single gold button reading Check availability, with no date fields.
The two button types skip the dates and send the guest straight to the booking page.

Choosing the language

Preferred Widget Language sets the language of the widget's own words: the field labels and the button. There are seven, English, German, Spanish, French, Italian, Portuguese and Thai, and the choice is carried in the embed code as a two-letter code.

It is one language per widget, so match it to the page it sits on rather than to your guests. If your website has an English page and a German page, take the code twice, once with each language chosen, and put the matching one on each page.

Styling it to match your site

The field row with the Floating bar widget selected: Customize text holding "Book direct and park free", Customize button text holding "Check availability", a Brand Color field set to #1643E0 and a Button Color field set to #CD9744, each colour with a swatch and a reset button.
Two extra fields appear for the floating bar and disappear again if you switch type.
FieldWhat it changes
Customize button text The words on the button. Available for every type. Check availability is a safer default than Book now, because it promises less and is true earlier in the decision.
Customize text Floating bar only. The message beside the dates. Keep it to a handful of words: it shares a single band with two date fields and a button.
Brand Color Floating bar only. The background of the band. Resets to #1643E0. The labels on the bar are white, so a pale colour here makes them unreadable.
Button Color The button, on every type. Resets to #CD9744. This is the one colour on your website that should not blend in.

Click a colour field to open a picker, or type a hex value. The square beside it shows the colour and the blue button resets it to the default.

New window, or the same one

Open booking page in a new window? decides whether the booking page replaces your website in the guest's tab or opens beside it.

Yes leaves your website open behind the booking, which reads as less of a commitment and keeps a guest who abandons the booking on your site rather than nowhere. No keeps everything in one tab, which is tidier on a phone, where a second tab is easy to lose. Yes is the more common choice for a desktop-heavy audience and the difference is small either way.

The embed code

The generated embed code under the heading "Copy the code below and paste it into your website": a single script tag with src https://app.prostay.com/widget/load/demo-hotel/horizontal?lang=en&newWindow=1, with a copy icon at the end of the line.
One script tag. The property key, the widget type, the language and the new-window choice are all in the URL.

Clicking the line copies it. Reading it is worth thirty seconds, because everything in it is something you chose:

  • demo-hotel is your property key, which is how the widget knows whose rooms to show.
  • horizontal is the widget type.
  • lang=en is the language.
  • newWindow=1 is the new-window answer, where 1 is Yes and 0 is No.

Where to put it on your website

Paste the line into the HTML of your page, at the exact spot you want the widget to appear. In most website builders that means adding an HTML or embed block. The widget draws itself where the tag sits, so a tag in the footer draws a widget in the footer.

  1. Choose the type, the language and the colours here, then press Save.
  2. Click the code to copy it.
  3. In your website editor, add an HTML or custom code block where you want the widget.
  4. Paste the line and publish.
  5. Open the page as a guest would, on a phone as well as a desktop, and put a real search through it.

The one thing worth testing properly is the handover. Pick dates in the widget, follow it to the booking page, and check that the dates arrived and that the rooms shown are the ones you expect. That is the whole job of the widget, and it is the only part of it a guest will notice going wrong.

Common questions

  • Do I need a developer to install this?

    Usually not. Any website builder with an HTML or embed block will take it, which covers WordPress, Squarespace, Wix and most hotel website vendors. If your site is hand-built, your developer needs one line of HTML and about a minute.

  • I changed the colours here. Why has my website not changed?

    Because the settings travel in the code you pasted. Copy the new line from this screen and replace the old one on your website. Anything that appears in the embed code, the type, the language and the new-window choice, works the same way.

  • Can I put different widgets on different pages?

    Yes. Set up one, copy the code, then change the settings and copy again. Each pasted line is independent, so a stacked widget in a sidebar and a small button in the navigation can live on the same site. Only the last set you saved will be shown on this screen.

  • Does the widget slow my website down?

    It is one small script and it loads after your page. The thing to check is not speed but layout: on a narrow screen a horizontal widget will wrap, so look at any page carrying one on a phone before you consider it finished.

  • The dates in the preview are next week. Where do they come from?

    They are illustration only, so the preview does not show an empty box. Nothing is searched with them, and the widget on your website opens with no dates chosen.

Was this article helpful?

Related articles

Still stuck?

Support answers from inside the app as well, so if you are already signed in you will get a faster reply there. Otherwise send us the property name and what you were trying to do.