Category:Widgets: Difference between revisions

Jump to navigation Jump to search
No edit summary
 
(41 intermediate revisions by 2 users not shown)
Line 1: Line 1:
[[Category:Settings]]
 
[[Category:Booking_Page_and_Widgets]]
[[Category:Booking_Page]]
[[Category:Booking_Page]]
[[Category:Booking_Engine]]
[[Category:Troubleshooting]]
[[Category:Troubleshooting]]
 
<div class="heading">Booking Widgets</div>
  ''This page is about the menu SETTINGS -> BOOKING PAGE->BOOKING WIDGETS''
  This page is about the menu {{#fas:cog}} (SETTINGSBOOKING ENGINE > BOOKING WIDGETS
__TOC__
__TOC__


== Generate a widget using the widget designer ==
= Generate a widget using the widget designer =
*Choose the widget you want to generate.  
*Choose the widget you want to generate.  
*Customise the settings you want to adjust.  
*Customise the settings you want to adjust.  
Line 14: Line 14:
*Go go the page on your web site where you want to add the widget and paste it into the HTML. If you do not know how to do this check the help for the CMS or sitebuilder you are using how to add HTML to your site or ask your web designer to do this for you.
*Go go the page on your web site where you want to add the widget and paste it into the HTML. If you do not know how to do this check the help for the CMS or sitebuilder you are using how to add HTML to your site or ask your web designer to do this for you.


  Note: If you want to display multiple widgets on one page make sure you to remove the first part of the code for the second widget.  Paste the code for the second widget in from this line:
The datepicker in the widgets will display up to one year in advance.
  <nowiki><!-- Place this div on your page where you want the widget to show --></nowiki>
 
<span style="color:#fe746c;“ >{{#fas:exclamation-triangle}} </span>  If you want to display multiple widgets on one page make sure you to remove the first part of the code for the second widget.  Paste the code for the second widget in from this line:
   
<code><nowiki><!-- Place this div on your page where you want the widget to show --></nowiki></code>
 
<span style="color:#fe746c;“ >{{#fas:exclamation-triangle}}  </span>  The widgets require your page to have UTF-8 language encoding.
 
<span style="color:#fe746c;“ >{{#fas:exclamation-triangle}}  </span> The availability calendar widget only processes data one year in advance. For more future dates the dates show available but are not bookable.
 
== If the datepicker is not working or you do not have JQueryUI  ==
 
The widget will attempt to self load jqueryUI, if this is not working properly or causing conflicts you can add it to your page after the jquery script.
 
<code><script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script></code>
 
<code><link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/themes/smoothness/jquery-ui.css"></code>
 
<code> <script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script></code>


Note: The widgets require your page to have UTF-8 language encoding.  
If you want to optimize the loading sizes, it should be enough just to load the JQueryUI datepicker modules.


=== If you do not have JQuery  ===
The widget can be forced to not attempt to load it's own JQueryUI by setting the following parameter.


If you do not have jQuery and jQueryUI installed on your web page add the following to the <head> section of your page.
<code> loadJQueryUI: false,</code>


<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
If you are required to be GDPR complaint you may need to download and self host thess libraries, if so disable self loading, download the libraries to your server and change the links accordingly.
<link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/themes/smoothness/jquery-ui.css">
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>


== Wordpress ==
== Wordpress ==
If you use the Wordpress Plugin please use [[:Category:Wordpress|these instructions]].
If you use the Wordpress Plugin please use [[:Category:Wordpress|these instructions]].
== Opening a page on your site containing the booking page in an iFrame ==
If you want to transport dates and number of guests from the widget to the booking page please follow these[[Embedded_Iframe#How_to_reliably_transfer_dates_and_other_data_from_a_booking_widget_on_one_page_to_a_booking_page_embedded_in_an_Frame_on_a_different_page| instructions]].


== Advanced functions for developers and web designers ==
== Advanced functions for developers and web designers ==
Required skills: HTML, CSS
=== Parameters ===
<span style="color: #f3e504; font-size: 250%;" >{{#fas:lightbulb}} </span>  '''Required Skills''': HTML, CSS


You can manually set parameters and apply your own CSS. If you want to apply your own CSS use developer tools to identify the classes in the widget.  
You can manually set parameters and apply your own CSS. If you want to apply your own CSS use developer tools to identify the classes in the widget.  
Line 59: Line 78:
|-
|-
| buttonTitle || text || button text
| buttonTitle || text || button text
|-
|-
| color || hex code/any valid CSS || text color
| color || hex code/any valid CSS || text color
|-
| customParameter|| text || adds the specified information to the URL of the booking page. Example: customParameter:'hideroom=12345', will hide the room with the ID 12345 from the booking page.
|-
| customParameter:'br1-xxxx=book || skip directly to checkout page


|-
|-
Line 76: Line 102:
|-
|-
| defaultNumNight|| number 0 = today|| preselection for the number ob booked nights
| defaultNumNight|| number 0 = today|| preselection for the number ob booked nights
|-
| excludeGroup || text  || group of properties not to include


|-
|-
Line 89: Line 112:


|-
|-
| includeGroup || text|| group of properties to include
| defaultNumChild || number || default number of children
 
|-
| defaultNumAdult || || default number of adults
 
|-
| group|| text || opens the booking page for the specified group
 
|-
| maxNumNight || integer || maximum number of nights
 
|-
| minNumNight || integer || minimum number of nights


|-
|-
| defaultNumChild || number || default number of children
| noExternalFonts||true false || do not load external fonts


|-
|-
| defaultNumAdult || || default number of adults
| noGroup||text || opens the booking page with the specified group removed


|-
|-
Line 159: Line 194:


|}
|}


'''Multiple property search only'''
'''Multiple property search only'''
Line 172: Line 206:
|}
|}


== Other widgets ==
===  Exchange text on labels ===
*Code to  embed your booking page as an Iframe into your web site can be generated under  SETTINGS -> BOOKING PAGE->BOOKING WIDGETS->EMBEDDED IFRAME
<span style="color: #f3e504; font-size: 250%;" >{{#fas:lightbulb}} </span>  '''Required Skills''': HTML
*A link  to your booking page can be generated under SETTINGS -> BOOKING PAGE->BOOKING WIDGETS->LINKS
 
*An URL linking to your booking page can be generated under  SETTINGS -> BOOKING PAGE->BOOKING WIDGETS->QUICK URL
You can exchange the text on the labels of widgets generated to with the widget designer.
*A button can be generated under  SETTINGS -> BOOKING PAGE->BOOKING WIDGETS->BOOKING BUTTON
 
*Code for an enquiry form generated under  SETTINGS -> BOOKING PAGE->BOOKING WIDGETS->ENQUIRY FORM
1. Generate the widget and click on "Get Code".
2. Download the Javascript from the widget code (https://media.xmlcal.com/widget/1.00/js/bookWidget.min.js). Seach for the label you want to change. Change the text and save the Javascript file.
 
3. Upload the changed Javascript file to your web space.
 
4. Change the link to the Javascript in your widget code to use the Javascript from your own web space.
 
5. Paste the amended widget code into the HTML of your web site.
 
=== Hide dates which are not in the month from availability calendar widget ===
<span style="color: #f3e504; font-size: 250%;" >{{#fas:lightbulb}} </span>  '''Required Skills''': HTML, CSS
 
Add the following CSS to your websites style sheet
 
<code>.ui-datepicker{display: none;}</code>
 
=== Adjust widgets for RTL languages (Arabic, Hebrew) ===
You need to use CSS to adjust the alignment.
 
Example: To adjust the booking box dd the following CSS to your websites style sheet
 
<code>.book-widget label {float: right !important;} .book-container .book-row .book-col-offset-5 {margin-left: 0;}</code>
 
= Embedded Iframe or link to your booking page =
*Code to  embed your booking page as an Iframe into your web site can be generated under  {{#fas:cog}} (SETTINGS) BOOKING PAGE > BOOKING WIDGETS > IFRAME GENERATOR
*A link  to your booking page can be generated under   {{#fas:cog}} (SETTINGS) BOOKING PAGE > BOOKING WIDGETS > LINKS
*An URL linking to your booking page can be generated under  {{#fas:cog}} (SETTINGS) BOOKING PAGE >BOOKING WIDGETS > QUICK URL
*A button can be generated under  {{#fas:cog}} (SETTINGS) BOOKING PAGE > BOOKING WIDGETS > BOOKING BUTTON
*Code for an enquiry form generated under  {{#fas:cog}} (SETTINGS) BOOKING PAGE > BOOKING WIDGETS > ENQUIRY FORM
 
==Skip to Checkout Page==
You can  bypass the booking page and redirect the widget directly to the checkout page by adding this parameter
 
<code>customParameter:'br1-xxxx=book'</code>
 
to the widget.
 
Replace xxxx with the room ID of the room you want to populate.
 
= Troubleshooting =
==Booking page does not open the dates and or number of guests selected in the widget==
Use these [[Embedded_Iframe#How_to_reliably_transfer_dates_and_other_data_from_a_booking_widget_on_one_page_to_a_booking_page_embedded_in_an_Frame_on_a_different_page|instructions]] if you want to pass the guests selection on to the booking page.
 
==Problem installing widgets on Wix==
Unlike almost all other website builders Wix does not support JQuery. You will need to check with Wix if they allow you to add JQuery to your page. If Wix will not allow you to add JQuery you can use a button, links or our legacy widgets. The legacy widgets are available via SETTINGS-BOOKING PAGE-WIDGETS-BOOKING BUTTON.
 
==Console Error "bookWidget is not a function"==
 
If the page does not accept the word Jquery. Exchange it for a $ symbol as follows:
 
jQuery(document).ready(function() {
 
jQuery('#bookWidget-44005-75744-0-1589444240').bookWidget({
 
propid:75744,
 
formAction:'https://beds24.com/booking.php',
 
widgetLang:'en',
 
widgetType:'BookingStrip'
});
 
 
 
with this:
 
$(document).ready(function() {
 
$('#bookWidget-44005-75744-0-1589444240').bookWidget({
 
propid:75744,


formAction:'https://beds24.com/booking.php',


Previous versions of the widgets are not supported any longer. If you want to use old versions you can access the menu pages via these links:
widgetLang:'en',
*[https://beds24.com/control2.php?pagetype=widgetcalendar Availability Calendar]
*[https://beds24.com/control2.php?pagetype=widgetstrip Booking Strip]
*[https://beds24.com/control2.php?pagetype=widgetbox Booking Box]


== Troubleshooting ==
widgetType:'BookingStrip'
'''Booking page does not open the dates and or number of guests selected in the widget'''
});
You are defining these parameters in the URL in the embedded Iframe. Remove these parameters from the Iframe URL: &numnight=2&numadult=2&advancedays=2