Skip to content

How to set up the booking widget for your website ​

The booking widget is a form on your website where a visitor finds a free object for their dates, sees the price and sends a booking. The booking goes straight into RentProg.

This page is about the new widget from the “Booking widgets” section. The old token-based form is described separately: how to put the booking form on your website. It keeps working.

Where it is and who can use it ​

Open Company → Booking widgets. The section is visible to and configured by the “Main Administrator” and “Branch manager” roles — roles. Other users do not see the menu item.

The widget is available on all plans. You can have several widgets: for example, one per website or city.

The list shows the widget name, its state “Enabled” or “Disabled”, branches, domains and the current version. “Unpublished” means the widget has no published version yet.

Steps ​

  1. Click New widget.
  2. On the “General” tab, enter a name, tick the branches, choose how bookings are completed and enter the website addresses.
  3. On the “Locations” tab, tick where objects are picked up and returned.
  4. On the “Form” tab, choose the client fields and add consents.
  5. On the “Languages and texts” and “Appearance” tabs, set up languages, texts and the look. The preview on the right shows the result right away.
  6. Click Publish.
  7. Copy the code from the “Website code” block and paste it into your website page.
  8. Send a test booking from the website and make sure it appears in the booking list.

While there are errors, the “Publish” button is unavailable, and the tab with an error is marked with a red dot. The hint on the button names the field to fix.

General ​

Branches ​

The widget shows objects of the ticked branches. At least one branch is required.

A branch without a currency cannot be ticked: the hint says “No currency configured”. If no non-archived branch has a currency, the “New widget” button is unavailable. A branch's currency is the currency of its main cash desk, see cash desks.

If you untick a branch, its locations are removed from the draft too — the editor tells you about it.

How bookings are completed ​

ModeWhat happens
RequestThe visitor sends a request, and a manager confirms it. The booking lands among the inactive bookings with the status “New”
Instant confirmationThe visitor gets a confirmed booking right away. It lands among the active bookings

In instant confirmation mode, a booking still comes in as a request if the object is already booked for these dates and the branch allows overbooking. The visitor sees that a manager will confirm the request.

All bookings from the widget are in the booking list.

Websites allowed to use the widget ​

Enter the addresses of the websites where the widget is placed — up to 20 addresses like https://example.com. No path, no trailing slash, no masks like *.example.com. A subdomain is a separate address: add both https://www.example.com and https://example.com.

Without the website address the widget does not work

The widget works only on pages whose address is on the list. On any other website the visitor sees “Booking is temporarily unavailable”.

An http:// or localhost address is only for testing — the editor highlights it. A live website needs https://.

Locations ​

The visitor can always choose the branch office for pickup and return. Locations with delivery are added to it.

The tab lists the locations of the selected branches with the day and night delivery price. Tick Pickup, Return or both for each location; an unticked location is not shown in the widget. The locations and delivery prices themselves are set up separately; if the branches have none, the tab shows a button that leads to them.

Return to another branch lets the visitor return the object to a location of another branch of the widget. This works only between branches with the same currency.

Form ​

Client fields ​

First name, last name and phone are always required. The other fields are configured with two switches:

SwitchMeaning
ShowThe field is on the form
RequiredThe booking cannot be sent without it

You can configure middle name, email, date of birth, driving licence, ID document, address and comment. By default only email and comment are shown, both optional. A hidden field cannot be required.

Tip

Every extra required field means drop-offs on the form. Make required only what you cannot hand over the object without.

Document subfields ​

For the driving licence and ID document, the arrow next to the name opens the subfields: series, number, issued by, issue date, expiry date. For each, choose “Hidden”, “Optional” or “Required”.

The set of subfields is filled in from the country of the branches when the widget is created:

DocumentRussia and BelarusOther countries
Driving licenceNumber and issue date are required; series, issued by, expiry date are optionalNumber, issue date and expiry date are required; series and issued by are hidden
ID documentNumber and issue date are required; series, issued by, expiry date are optionalNumber and expiry date are required; issue date is optional; series and issued by are hidden

After that, any subfield can be changed. The number cannot be hidden, and for a required document the number is always required. “Required” on subfields applies only when the document itself is required: the visitor may leave an optional document empty.

Consents ​

A consent is a checkbox the visitor ticks before sending: rental terms, personal data processing, or anything else. Up to 10 consents per widget.

  1. Click Add consent.
  2. Choose what to show: the consent text or a link to a document. The link must be https://.
  3. Fill in the title and the text or link in every widget language.
  4. Tick “Required” if the booking cannot be sent without the consent.

The booking stores which consents the visitor accepted and in which revision. If you change the consent text, the new revision applies to the following bookings.

Languages and texts ​

Tick the languages the widget works in and the default language. At least one language must remain.

The title, subtitle, button labels and success messages can be replaced with your own — separately for each language. An empty field means the widget's standard text. Up to 300 characters, no markup.

When you add a language, fill in the consent titles and texts for it: without them the widget cannot be published. When you remove a language, its texts and consent translations are removed.

Appearance ​

  • Theme — light, dark, soft or corporate. The theme sets the colors, corner radius, density and button style; each can be changed separately.
  • Colors — primary, background and text.
  • Font — “Same as website” or one of the built-in fonts.
  • Corner radius, Density, Button style, Shadows, Object layout — grid or list.

In the Search results block, tick which filters the visitor sees when choosing an object: price, body type, transmission, fuel, seats. Separately, tick which features to show on the object card: body type, transmission, fuel, seats, year. A filter is shown only if the objects found have at least two different values. An empty feature is not shown on the card.

The price filter is built from the branch's price groups: the options are price ranges per day, or per hour for hourly groups. An object without a price group is not shown when a range is selected. How groups work — dynamic pricing.

Preview ​

To the right of the tabs is the preview. It updates as you edit, even before publishing, and shows the real objects and prices of the selected branches. The preview language is chosen above it. No booking is created from the preview.

Publishing and versions ​

Edits accumulate in the draft until you click Publish. Each publication is a new version; the current number is shown in the header, and who published and when is in “Version history”. If you leave the page with unpublished edits, the editor asks you to confirm.

A new version reaches the website within a few minutes.

If another employee edited the widget at the same time, the editor offers to load the latest version or publish yours over it. “Publish over latest” replaces only the settings you changed.

Website code ​

The code appears after the first publication. Click Copy and paste the code where the form should be on the page. It is two lines: the loader script and the widget tag with its key. Nothing else needs to be added; bot protection is built in.

The address of the website with the code must be on the “Websites allowed to use the widget” list.

Disabling and reissuing the key ​

In the menu next to the “Publish” button:

  • Disable — visitors can no longer book through the widget. Settings and versions are kept; Enable brings the widget back.
  • Reissue key — the old key stops working immediately.

After reissuing the key, replace the code

The widget on the website does not work until you paste the new code from the “Website code” block. Reissue the key only if you need to cut off old copies of the code.

Analytics ​

Enter the Google Analytics 4 measurement ID on the “General” tab. The widget sends events only to the Google tag already installed on your website: the widget adds no tag or cookies of its own.

Events: rp_widget_view — the widget is shown, rp_search — search, rp_car_selected — an object is selected, rp_contacts_opened — the contacts step is opened, rp_booking_submitted — the booking is sent, rp_booking_created — the booking is created.

If the widget does not work ​

What you seeWhat to check
The form does not appearThe code is pasted in full, both lines
“Booking is temporarily unavailable”The website address is on the allowed list, including www if the site opens with it; the widget is enabled; the key in the code is the current one; account access is not restricted because of the balance — company balance
The object you need is missingThe object is in a ticked branch, free on these dates and has a price
This article was prepared with AI and may contain inaccuracies. Report an error