helpful documentations and tutorials

VikBooking Documentation

Version: 1.4



vik booking documentation

The Configuration of VikBooking is divided into 4 tabs

Main Settings:

From this tab of the configuration there are a lot of important settings.

  • Enable Booking - With this option you can enable or disable the Booking service, an offline message is available
  • Manage Checkin and Checkout times
  • Minutes of Waiting for the Payment - When the order is confirmed, the unit of the room is locked, it's considered as Confirmed while the user is making the payment. After these minutes the unit will become available again unless the order is Confirmed with a Payment or from the Administrator
  • Require Login - If this setting is on the user will be forced to register or login before saving the order.
  • Check-in/out Date Mode - Some countries adopt a different date format, choose the one good for yours.
  • Choose rooms Category - Enable or Disable the search filter by Categories
  • Show Number of Children - Choose whether to ask the number of children in the search form.
  • Token Form Order Submit - This is a security measure that saves a crypted value in the session. Made for avoiding spam orders
  • Enable coupons - Enable or Disable the Coupons during the Check out of any order. By default it is ON.
  • Admin e-Mail - The eMail of the administrator that will receive the rental orders
  • Load jQuery Library - The component needs the jQuery library, depending on your template, this setting can be OFF
  • Calendar Type - VikBooking has two types of calendar: the native Joomla Calendar, a basic calendar with no customization or the jQuery UI Calendar, light and easy to customize with many features. Make sure that the modules of your website will not cause javascript libraries conflicts or this calendar will not work.
  • Search Parameters - Define the default Numbers of Rooms, Adults, Children and Nights of stay. These settings will be used in every search form of the front site.


Prices and Payments:

  • Transactions Currency Code - Payment Methods like Paypal can use this setting, insert the code of your currency
  • Payments Account - Put your Paypal Account to receive Payments here
  • Pay Entire Amount - Disable this setting and put a percentage value for the deposit. The total amount that the user will pay will be calculated using this value.
  • Prices Tax Included - If this setting is disabled and a tax rate exists and is assigned to the fare, taxes will be added to the total price.
  • Payment Transaction Name - Some method of payment like Paypal can use this setting as the transaction name



  • Front Title - Usually a heading tag placed on top of the pages in the front end, this can be your company name. This value can also be empty.
  • Front Title Tag - You can write a tag for the style of the title (h3)
  • Front Title Tag Class - you can write here a Css class for the style of the title.
  • Currency Name - Some tasks of the front end use a name instead of the symbol to display the currency. This could be EUR or USD for example.
  • Show Partly Reserved Days - In the Rooms List task (not the search results) of the front side you can view the details of each room and then make a reservation for it. This setting defines wether the program should put as yellow the days when the room has some reservations but not all the units are booked. The cell can't be red because some units of the room are still available.
  • Currency Symbol - The symbol of your currency, you can also use html entities here.
  • Number of Months to Show - Still in the same task as above, some calendars are shown, this setting defines how many after the actual month.
  • Page Text - You can write an opening and closing text for the page where the user makes the reservation with the form.
  • Closing Page Text - This text will be placed right below the search form.


Company and Orders:

  • Send order emails with JUtility - Some servers might require this setting as On. If it's Off, the system will not use the native Joomla class for sending emails but another one that has a better way of embeding images in the order emails.
  • Company Logo - The logo of your company, a jpg, gif or png image file that will be included in every order email.
  • Footer Text Order eMai - This HTML text can be placed in every order email at the bottom of the page.
  • Disclaimer - a text showed in the page of the front site when the user is selecting the the type of rate and the options. This should not be used for the Terms and Conditions. Read the Custom Fields section for further information.


    Tax Rates

    vik booking documentation

    From this task you can manage the tax rates that will be applied to the order total.
    By clicking on New you can create a new Tax Rate.
    A name and a percentage value are the only things that you have to fill in.


    Types of Price (Rates Management)

    vik booking documentation

    Example of a type of price:

    Price Name: Free Cancellation
    Price Attribute: Services (this value can change for every night of staying in the Rates Management)
    Tax Rate: (select the tax rate that should affect this price)
    Then click on Save for creating the Price. It's always possible to edit the Price by clicking on the checkbox next to it and then on the Edit button from the toolbar.


    Custom Fields

    vik booking documentation

    From this task you can manage all the fields that the users will have to fill in before saving the order.
    During the first installation of VikBooking, some fields are created by the program but it's always possible to manage these fields.
    The field types are:

    • Text - the user will have to fill in an input text field
    • TextArea - a text area with more rows will be shown
    • Select - a select menu is shown in this case, you can create all the select options from the same task
    • Checkbox - a checkbox field will be shown
    • Separator - this field is not an input field but just a text separator. It can be used for dividing the Purchaser's Information from the Billing Information.
      If the text of this field is longer than 30 chars, a different style will be applied to it. Some people use for writing extra information.

    The field name is the label that will be next to the input field or the text of the separator.
    If your website is multilanguage, the label should be a definition inside the .ini language file of each language that you have.
    For example, the field Address should have a label like ORD_ADDRESS and each .ini file of VikBooking that you have should contain a row like this:
    Take a look at the Answers Area F.A.Q. for furter information about languages and .ini files.

    A field can be required or not, in this case the system will check that the user provided something for that information.
    If the field type is Text and the setting Is Email is On, that email will be used to send the order email.
    Another important setting of the fields is the Popup Link. This function is usually used when the field type is Checkbox and the user has to accept something, the Terms and Conditions for example. The popup link is a page that is opened in a modal box every time the user clicks on the label of the field. The modal box is "modern" popup that is never blocked by any browser and leaves the user in the same page.
    Usually the link should be a Joomla article link with an additional parameter in the query string like &tmpl=component.



    vik booking documentation

    From this task you can manage the methods of payment for your website. Paypal, Moneybookers and Bank Transfer are pre-installed but disabled after the installation.
    The methods of payment affect the order status that can be Pending or Confirmed.
    In case of all the methods of payment are disabled, each order received is considered by the system as Confirmed and the user will not be asked to select any method of payment.

    Paypal is a method of payment that processes a server response, to enable this payment you have to publish it and then from the Configuration you have to provide the Account for Payments.

    Moneybookers is another gateway and to set it up you need to edit the following file and provide your information:

    Bank Transfer instead doesn't need to validate any external response.
    By clicking on the title of the method of payment, the edit/configuration task will be opened.

    The Payment Name is the title showed in the front site during the order confirmation when the user has to select a method of payment.
    The File Class is a php file that is executed by VikBooking to validate the payment, do not change this unless you are creating a new method of payment.
    VikBooking supports customized methods of payment, by creating a new file class .php in the payments directory you can create your own gateway for your bank.

    A method of payment can apply a charge or a discount to the total order. From the setting Charge/Discount you can enter an amount, percentage or value that will be added/deducted from the order total. This can be useful if you want to give your clients a discounts if they are paying by credit card.
    The parameter Auto-Set Order As Confirmed tells VikBooking which status should be given to the rental order when saving it.
    For the methods of payment that have to validate a payment via a server response like Paypal, this setting has to be OFF or the reservation will be Confirmed before even receiving the payment.
    For other methods of payment instead this setting could be useful as ON, for example you could rename the Bank Transfer as Cash at the Office and the order would be considered as Confirmed, making the unit of the booked room not available for the order dates.
    All the Pending Orders can be set as Confirmed manually from the Administrator - Current Orders task.
    Another field that every method of payment can have is the Notes, a text displayed in the order page in the front site. Usually the notes are shown only if the order is Confirmed, by setting the option Always Show Notes as Yes, the notes will be shown in the order page even if the status is Confirmed. For those who use Bank Transfer, this could be useful for showing the information for the payment or other details.



    vik booking documentation

    From this task you can manage the categories to which the rooms belong. Categories are useful when the users are searching for rooms because they can filter the results by selecting a category from the search form.
    You will only be asked for the category name and for an optional description that will be shown in the view type Rooms List filtered by a category.


    vik booking documentation

    From this task you can manage the options that the users may want to add to their reservations. Options can be anything, an additional Bed, a Tourist Tax, a Bottle of Champange or any other kind of service.
    Options have a Name, an optional description, a cost, an optional tax rate, an optional image and a few Parameters:

    Cost per Night
    : the price will be multiplied for the nights of staying;
    Cost per Person: the price will be multiplied for the number of Adults;
    Selectable Quantity: if this parameter is on the user will be asked for the units desired, otherwise a checkbox will be displayed;
    Maximum Cost: in case the option price is multiplied by the nights of staying or the units, it is possible to set a maximum cost that the option can reach.
    Only for Children: the Option will be visible only if there are Children;
    You can also force the option to be Always Selected, this could be useful in case you need to make the user pay for some service and list this service in the order summary as a separated cost from the rental fare. Tourist Tax for some cities could be an example and some Hotels would rather show this Tax in the Order Summary by checking the checkbox "Show Only in Order Summary". This way the user will see a row for the Tourist Tax in the Order Summary that will be added to the total order.

    Charges per Children Age: when the setting "Only for Children" is enabled, you can create age intervals and a cost for each interval that the users will have to select for each of their children in the front site. This type of Options are threated a little different than the others, in fact, the selection in the front site is shown underneath the Rates in the page after the search results.



    vik booking documentation

    From this task you can manage the facilities of the rooms. Characteristics have a name, an optional icon and a text to be displayed in the front site with a tooltip when hovering the icon.



    vik booking documentation

    With the restrictions you can limit the minimum length of stay for a specific month of the Year or for a dates range and optionally force the arrival Day of the Week to one or two week days. For example you can create a restriction for your apartment in August, forcing the arrival day to Friday or Saturday and the minimum length of stay to 7 nights, 14 nights etc.. The minimum number of nights will be set to 1 in case it is left empty.
    With the setting "Multiply Min Num of Nights" enabled the minimum number of nights will be multiplied every time this is passed. For example if you want to force the Arrival day to Saturday and the Departure day must still be on Saturday, you have to set the Minimum Number of Nights to 7 and if this setting is enabled, 8, 9, 10, 11, 12 and 13 nights of stay will not be allowed but only 14, 21, 28 etc. nights will be allowed. This is useful if you want to give your rooms only for weeks. The Maximum number of Nights is automatically calculated from the Rates Table of each room, infact, if a room does not have a rate for 28 nights, this room will not show up in the results so it will not be available. In case you want the calendar to force the Maximum Number of Nights for this month, set a number of Max Nights.
    In case you are forcing the arrival day to two week days, then you can also select the allowed combinations for the arrival-departure day. For example if from the 1st of July to the 30th of September the arrival days allowed are Friday or Monday, you can allow the following combinations: Friday-Monday, Monday-Friday, Friday-Friday.
    Restrictions can be applied globally to all the rooms/apartments or just to some of them.


    Rooms Management

    vik booking documentation

    At this point, you are supposed to have created the prices, the options and the categories, optionally also some characteristics/facilities.
    By clicking on New, you can create a new room. You will be asked to provide some information:
    the name, the main image, optionally more images to create an image gallery, the category to which the room belongs, optionally a description text.
    Both the Descriptions, small and html, support Content Plugins. The content of the descriptions will be parsed by Joomla so, for example, by using the special syntax , the description will render the module published in your_module_position through the Joomla native Content Plugin "Load Module". Any other Plugin of type Content could be loaded in the descriptions.
    For each room you can define a Maximum and Minimum number of Adults and Children. This way you can define the Occupancy of your rooms.
    After saving the room, if this is available also for a number of Adults that is less than the Maximum capacity of Adults, you can create Charges or Discounts for the different usage of the room.
    Double Room: Min Adults 1, Max Adults 2. You can create a discount (or a charge depending on your policies) for the usage of the room for only 1 Adult. You can say that if the Adult is only 1 in the Double Room, the cost is the 20% less.
    Another important feature of the room is the units field. This value will be considered when the system is checking the availability of the rooms depending on the orders received.

    You can also assign some of the characteristics (facilities) to the room by clicking on the checkbox next to them. The same thing works for the Options, this way you can only assign some of the facilites and options created before, not all of them.

    After clicking on Save, you will be redirected to the fares management page.

    In this task you can create the fares for each existing Type of Rate (Price). In order to insert the fares, you have to put the number of nights and the cost per night for each Type of Price.
    You have two types of price: Basic Price and Free Cancellation. By putting from 1 to 10 nights, € 50 per night for the Basic Price and € 60 per night for the Free Cancellation, the system will automatically multiply the prices by the nights obtaining €500 for 10 nights of staying - Basic Price, €600 for 10 nights of staying - Free Cacellation.
    From 11 nights to 20 you can put a lower daily price. €30 for the Basic Price, €40 for the Free Cancellation, for instance. Important: if you only have one fare from 1 night to 20 nights of staying for a room, this one will not show up in the results if the user searches for 21 nights of staying.
    When you are inserting the fares you can also put a value for each price attribute: this value will be multiplied by the system if it is a number but the attributes never affect the total price. Attributes are usually used to give the users more information about the daily fare. This value can be different from every fare per night, just like the price.
    Once you click on Insert, the price chart below the form will be updated and you can use it to edit the prices.

    From this task it's also possible to see each rooms calendar, by clicking on the name, a new task will be opened with the calendars of the reservations.
    The Calendar page lets you create new Reservations that were maybe collected offline. You can also Close your Room in some dates of the year so that this will not be available for booking in the front-end.


    Current Orders

    vik booking documentation

    From this task you can manage all the orders received and also the reservations created from the administrator. A list is showed and by clicking on the date of the order you can see all the details.
    From this task it's also possible to set an order as Confirmed if it is still Pending. In this case a confirmation email will be sent to the customer and the unit of the room will be considered as booked for the dates of the order.


    vik booking documentation

    From this task you can have an Overview of the availability of each room for the selected month. The view can be filtered by the next 12 months. The number inside the red cells shows the units that are booked for that day.


    Special Prices

    vik booking documentation

    The Special Prices are charges or discount to be applied to the reservation fare depending on some days of the week or some periods of the year.

    By clicking on New, the task will ask you to provide a Starting and an Ending Date for creating a Season.
    These values are not required, you can just select one or more days of the week to create a Special Price that will be applied every week of the year. Use a Season and select one or more days of the week to combine the filters.
    In case you are creating a Season, you can decide to apply the Special Price only in case the Check-In Date is after the begin of the Season. Some companies use this policy.
    The special Price Name is a value that will never be shown in the front site, only in the administrator.
    The type can be Charge or Discount and a percentage value will be applied to the booking daily fare.
    It's mandatory to select one or more Rooms in order to apply the Special Price.
    Notice that the Seasons are not related to the current year selected with the calendar, the Special Price is applied regardless the year. For example, a Special Price for the Christmas Season of 2013 will be applied also in 2014 unless you don't change it.

    Fares Table (Rates Management)

    vik booking documentation

    From this task you can manage the Rates of the rooms.
    Each Price has a name, an optional attribute and an optional tax rate.
    An Attribute is a characteristic of the Price that can be used when inserting the fares and it can change for every night of staying.
    Please refer to the Rooms Management part of this manual for more details.



    vik booking documentation

    The coupon system allows you to create discounts that will be applied to the order total.
    A coupon has:
    A code that can be any letter or number including special characters.
    The type can be permanent or gift, in the first case the discount will be always applied when this coupon is used. If the type is gift, the coupon can be used only once, after that it will be removed.
    The discount can be a fixed value expressed in your currency or a percentage value.
    It's also possible to apply some filters to the coupons:
    The coupon can be used only for some rooms or for all the rooms.
    You can restrict the date of usage of the coupon.
    You can set a minimum order total in order to apply the discount.

    The users will be asked to enter the coupon code in the order summary page.

    Please note:
    - if the coupon is granted from the Front-End, the order total will be displayed as discounted in the oder details and bookings list pages of the administrator section.
    - if the coupon is granted from the Back-End, the order total will not be displayed as discounted in the order details and bookings list pages of the administrator section.

    In any case, the system in the Front-End will initially calculate the total amount that needs to be paid, and, if there is any discount, this will be applied.
    Therefore, discounts created both from the Front-End and the Back-End will produce the same result.




How to translate VikBooking into your Language


VikBooking only comes in English, before you start translating the program into another language make sure you have checked that a translation for that language is not available in the Extensions AddOns page of the Answers Area.
VikBooking can be translated by simply creating a .ini language file. Follow these steps for creating the .ini language file:
Let's say we want to translate VikBooking into Spanish.

1. Copy the file /language/en-GB/en-GB.com_vikbooking.ini into the folder /language/es-ES/
2. Rename the file as /language/es-ES/es-ES.com_vikbooking.ini
3. Open the file es-ES.com_vikbooking.ini and translate all the English definitions into Spanish
4. Save the changes.

The INI file structure has changed since Joomla 1.6, make sure you respect the syntax INSTRUCTION="Definition" by opening and closing the quotes.

In case we also want to translate the Administrator side of VikBooking, we have to do the same thing but the files are located in /administrator/language/

We might also want to translate the search Module of VikBooking to change words like "Check-In Date".
The module language file is: /language/en-GB/en-GB.mod_vikbooking.ini and also here we have to duplicate the file in the same way as above.

Multilanguage website with VikBooking


The Names and the Descriptions of the rooms are considered Content Elements. Every Content created by the user inside VikBooking has to be translated with a third party component, the INI language files in this case are not enough.
VikBooking contains the Content Elements XML Files for FaLang. In case we have problems installing the Content Elements inside FaLang, we need to extract the Zip File and upload manually via FTP all the XML Files into the folder /administrator/components/com_falang/contentelements/
We are now able to translate the contents created with VikBooking.
VikBooking works with the latest version of FaLang.

Javascript Conflicts - Calendar not working


If the jQuery UI Calendar is not working on your website then it's because your page has a Javascript Conflict.
A Javascript file is responsible of this "conflict". Since this file could be called by either the template, a module or a plugin, a manual debug of the source code is always required in order to understand the reason of this problem.
If you are using some modules of E4J that came along with VikBooking, the first thing that you should do is disabling the setting "Load jQuery" from the Module Manager in the Administrator section.
If the problem persists we need to debug the source code of the page that is not showing the calendar.
The calendar is generated by jQuery UI, a javascript library that implements the standard functions of the javascript framework jQuery. In order to make the Calendar work, in the souce html code of the page, after the library jQuery UI another jQuery library cannot be called otherwise jQuery will be reset and your browser will "forget" the functions needed to render the Calendar.
Usually these problems are caused by Modules or Plugins because they are rendered after the component so, if they use jQuery, the file will be called after the jQuery UI library making the calendar not work.
This is an example of a correct source code that renders the jQuery UI Calendar correctly:
correct source code example for the calendar
working jquery ui calendar example
You can see that after the library jquery-ui-1.10.1.custom.min.js no more jQuery libraries are called so the browser is able to render the calendar correctly.
Here is an example of an incorrect source code that generates a Javascript error in your browser console:
incorrect source code example for the calendar
not working jquery ui calendar example
Another jQuery library is called after the file jquery-ui-1.10.1.custom.min.js and this way the browser will forget how to render the calendar because jQuery has been reset. is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters the trademark holder in the United States and other countries.
e4j - - VAT N. 02196010975