Menu Content

Joomla Extensions

> Choose one to see more info

Booking and Reservations Documentation

10.11.2011
Version 1.0.1
© Copyright 2011 - ARTIO International Co.

Abstract

ARTIO Booking & Reservations Documentation

This is user documentation of CMS Joomla! component ARTIO Booking. Document describe component requirements, installation and usage. All main component parts are described in more details with illustration images and examples. Document contain requirements for component environment as server or browsers with warnings about environment constraint. Document is helpfull for components administrators, customers or web page visitors.

You can also PDF file download Booking documentation as pdf.


List of Figures

2.1. The controll panel
2.2. The templates backend list
2.3. The template edit page
2.4. The dialog of choosing property type
2.5. The dialog of editing template property
2.6. The objects backend filtered list
2.7. The object backend editing page
2.8. The simple example of reservation type for car
2.9. The simple example of reservation type for hotel room (backend)
2.10. The simple example of reservation type for hotel room (frontend)
2.11. The simple example of reservation type sport hall
2.12. The simple example of prices for sport hall (backend)
2.13. The simple example of prices for sport hall (frontend)
2.14. The example of two reservation types with different length (backend object detail with total capacity 10)
2.15. The example of two reservation types with different length (backend object reservation types)
2.16. The example of two reservation types with different length (backend object prices)
2.17. The example of two reservation types with different length (frontend)
2.18. The example of fixed shedule (backend object reservation types)
2.19. The example of fixed shedule (backend object prices)
2.20. The example of fixed shedule (frontend)
2.21. The example of fixed shedule (frontend without fixed shedule)
2.22. The example of car supplements (backend)
2.23. The example of car supplements (frontend)
2.24. The backend booking administrators setting
2.25. The page visitor isn't logged. Component offer him login or registering.
2.26. The page visitor is logged. Component offer him to become customer.
2.27. The customer registration page. With customer account is created new Joomla user account.
2.28. The become customer page. To exists Joomla user account is created customer account.
2.29. The config registration/reservation fields page.
2.30. The customers backend list.
2.31. The reservations administrators backend list.
2.32. The reservations administrators frontend list.
2.33. Show customers of reservations.
2.34. The captcha for unregistered users.
2.35. First week day is sunday.
2.36. Display quick navigator.
2.37. Filter over the objects list from filtered template properties.
2.38. Using transcription marks in e-mail body.

Chapter 1. Summary

Booking is an universal extension Joomla! component for online reservations. No matter what kind of service you are running, or what you want to book. You can create any object with any number of parameters, to classify a timetable of reservations and prices, and all in easy and user-friendly environment. The objects can be organize into hierarchy if you own bowling or squash courts, you can select for each different parameters or prices for each of them. This is only a basic of the whole system, which offers much more. For more information read more.

1.1. Server Requirements

This component is fully compatible and tested with latest Joomla! Version 1.5 and 1.6, Apache2, PHP5 and MySQL5. Properly working with PHP4 and lower isn't guarantee. Component doesn't work with Joomla! 1.0. If your Joomla! has custom improvements in core then right component functionality isn't guarantee too.

1.2. Javascript framework Requirements

Booking uses javascript framework Mootools. In Joomla! 1.5 is required Mootools 1.12 and in Joomla! 1.6 is required Mootools 1.3. With different Mootools framework version isn't guarantee right Booking functionality. You can't use javascript framework JQuery with Mootools together. Between this frameworks is collision.

The javascript and also CSS (Cascading Style Sheets) are usually cached by web browsers. During component development are made changes and when you update component your browser can still use old versions of JS and CSS and component doesn't work properly. You have to cleanup browser cache by some browser tool or use keyboard shortcut CTRL+F5.

1.3. Database Requirements

Joomla! database user must be able to create tables and set tables columns. Booking creates new database tables for objects templates.

1.4. Browser Requirements

Tested on Opera 11.10, Mozilla Firefox 3.6.17, Internet explorer 8 and 7. Doesn't tested on Internet explorer 6 and lower.

Chapter 2. The Booking parts

2.1. Controll panel

All component parts are full accesible from Joomla backend. Controll panel is interface to open all main component parts. Every main part is described in more details in following sections.

Figure 2.1. The controll panel

The controll panel

2.2. Template

The basic template in which you set the attributes, depending on what object you will create. That can be basic attributes such as name or description, but also properties that are characteristic for certain type of object (field size, number of players,...) The types of attributes are standard, as you know it from web forms (Text box, Text area, Select box, Radio button and Check box). In addition to the name and the type you can still assign a style icon to the attribute and choose, if the attribute can be used for searching and filtering. The last thing you can set to the template is, what kinds of calendars to be displayed to customer and which one is the default.

Templates settings is available in component administration on bookmark templates.

Figure 2.2. The templates backend list

The templates backend list

For templates are available basic tools new/edit/copy/trash. This tools are available in main toolbar. On click tool new/edit or click on template name you open editing page. On template editing page you set template name, calendars and properties.

The calendar is a dialogue, through which your customers will determine the time of reservation. Exist the three basic types, which differ both displayable time interval, as well as graphical form. Daily calendar lists possible reservation times for every day separately, and as all calendars shows occupied terms. Weekly calendar´s appearance and functionality is very similar to the previous. Shows all days from today until the end of the week. The last, monthly calendar shows all days of the month after a weeks. In contrast to previous two calendars, shows only full day reservations, no hourly. For every calendar you set is available or no. For one of them you set is default. Default calendar is displayed when customer opens object page for first time. Calendars is choosed according to object character. If you create objects as hotel room or car which are booked for full days you need only monthly calendar. For objects as tennis court or sport hall which are booked for hours you use daily or weekly calendar.

Properties are atributes that belong to the certain template. You can take advantage if you have several objects of the same type (for example: tennis courts). This objects have the same attributes, but their values are different. For example, the hotel will have a number of rooms, in which you will specify the same attributes (number, floor, where is the view, number of beds,...). When you will then create the objects of individual rooms, you can use this template and fill in the necessary information simply. Such templates you can have as many as you want, so there is not problem to have other for a room and other for an apartment. For each to indicate other information.

Figure 2.3. The template edit page

The template edit page

Template properties you set by click on tool new (for new property) or click on tool config (for existing property). During creating new you first set property type.

Figure 2.4. The dialog of choosing property type

The dialog of choosing property type

For each property is available following settings. If you use multiple properties select box/radio button s you must set min. two options. Every options must be on single row. Property must has a title. You can optionally choose an icon and searchable/filterable mark.

Figure 2.5. The dialog of editing template property

The dialog of editing template property

2.3. Object

The object can be almost everything. This is the subject of your business. That could be anything, that you want to your customers allow to book. Whether this are tickets, hotel room or car. The objects can form a tree structure, which you can select according to your wishes. Of course there is a gallery and descriptive text, which you can also enrich with pictures, graphs and other elements. Is here a possible to set the values of your attributes, which you created in the template. Furthermore reservation types and prices. For more information, read more below.

Objects settings is available in component administration on bookmark objects.

Figure 2.6. The objects backend filtered list

The objects backend filtered list

Objects tree structure is important if you want order objects into categories according to their character. Parents objects are not bookable. They are determined to creating objects categories. Bookable are only last childs of tree spray.

Figure 2.7. The object backend editing page

The object backend editing page

The simple example details setting for car

Booking of this car is available from 2010-12-16 (see option publish up) to indefinitely (option publish down is empty). Capacity is set as 1. It means that car is for each bookable interval available only for one customer. Car is permanent published (see option published) and is displayed to all page visitors (access are public). In objects hiearchy is car added into category Cars.


Object has to have title. Alias is used for creating SEF urls and you cannot fill it. If you let alias field empty then alias is during object saving generated automatically. If object is published you should not change it because SEF url is already indexed by Google. Fields meta keywords and meta description are also used for SEO and you should fill them.

Object has to have one template. You are able to edit template from object editing page. All changes in template what you do by edit object are show in others objects and template too. You can set for object standard Joomla! properties as publish up/down, user access and items ordering.

2.4. Reservation types

Now we come to the most important part. And this is very flexible reservation system through which each create a timetable which is required. Through Reservation types you choose the way, how customer can book the certain object. The main parameter is whether the daily or hourly booking. Daily means that the customer have to book the certain object at least for the full day, hourly then enables the shorter time intervals. The following two parameters apply to the hourly reservation types. It is time unit, alias time interval of reservation. It indicates that customer can book the object for example after 30 minutes. Gap time is a time lag between individual reservations for example used for cleaning.

Figure 2.8. The simple example of reservation type for car

The simple example of reservation type for car

Figure 2.9. The simple example of reservation type for hotel room (backend)

The simple example of reservation type for hotel room (backend)

Figure 2.10. The simple example of reservation type for hotel room (frontend)

The simple example of reservation type for hotel room (frontend)

Figure 2.11. The simple example of reservation type sport hall

The simple example of reservation type sport hall

2.5. Prices

The most important feature of reservation is undoubtedly its price. For definition you have to specify the following parameters. The actual price, deposit, which will be returned to the customer, reservation type, that we selected in the previous flag and dates from when to when is price valid. You can specify other parameters for reservation type hourly. Of course there are the times between which the object can be booked. The reservation units are calculated among this time, according to the time unit and the gap time. You can also modify in which days of the week is the price up to date. You can create a whole series of reservation units with different type of reservations. The choice of the date is enabled through the calendar dialogue and hour can be set on the dial for user-friendliness.

Figure 2.12. The simple example of prices for sport hall (backend)

The simple example of prices for sport hall (backend)

Figure 2.13. The simple example of prices for sport hall (frontend)

The simple example of prices for sport hall (frontend)

2.6. Reservation types - extended settings

If you have more then one reservation type and each reservation type have different length you can use option minimum interval. With one reservation type this option is unused.

In following example we have car-wash where customer can book 30 or 60 minut washing procedure. We need to display in calendar 30 minutes boxes. For this reason we have to set minimum interval length for 30 minutes. When customer wants 30 minutes procedure then chooses one box. When customer want 60 minutes procedure in calendar are highlighted two neighbouring boxes for one click on calendar. Because car-wash have total capacity 10 we can set display capacity. Now in weekly calendar in colored price box are displayed next available capacity unit. See examples below.

Figure 2.14. The example of two reservation types with different length (backend object detail with total capacity 10)

The example of two reservation types with different length (backend object detail with total capacity 10)

Figure 2.15. The example of two reservation types with different length (backend object reservation types)

The example of two reservation types with different length (backend object reservation types)

Figure 2.16. The example of two reservation types with different length (backend object prices)

The example of two reservation types with different length (backend object prices)

Figure 2.17. The example of two reservation types with different length (frontend)

The example of two reservation types with different length (frontend)

The fixed shedule you can use, for example, if you use more prices with different time range and in calendar every day has different shedule length. See examples bellow. You have to set minimal interval length and fixed shedule from-to property. Fixed shedule interval from-to must be enough to span prices time ranges.

Figure 2.18. The example of fixed shedule (backend object reservation types)

The example of fixed shedule (backend object reservation types)

Figure 2.19. The example of fixed shedule (backend object prices)

The example of fixed shedule (backend object prices)

Figure 2.20. The example of fixed shedule (frontend)

The example of fixed shedule (frontend)

Figure 2.21. The example of fixed shedule (frontend without fixed shedule)

The example of fixed shedule (frontend without fixed shedule)

2.7. Supplements

Supplements are next bookable object properties. For example: you run the squash centrum and customers can except reserve court book also squash racket. See examples below.

Supplements have two forms. Supplement "Option yes/no" is realized on frontend by checkbox form field and have price (option "One price") or is free (option "Free"). Supplement "Select from list" has more values and is realized by drop down list form field. Each value has own price (option "More prices") or all values have one price (option "One price") or supplement is free (option "Free"). For supplement "Select from list" you can set property "Use empty option". It means that customer doesn't have to choose value and order supplement (in drop down list is option without value). Property "Use empty option" is unavailable for supplement "Option yes/no". Supplements prices are automatically added in full reservation price.

Figure 2.22. The example of car supplements (backend)

The example of car supplements (backend)

Figure 2.23. The example of car supplements (frontend)

The example of car supplements (frontend)

2.8. Booking administrators

For using Booking is important to have frontend administrators. Frontend administrators manage reservation from frontend interface (not backend). Administrators are selected from exists Joomla! users. This users cannot be in used in customers acounts. On following image is backend dialog of administrators setting. There is filtered list of exists users. In column "Is admin" you can see mark if user is/isn't administrator or is customer (cannot be administrator). Assign user as administrator you provide by tools from main toolbar.

Figure 2.24. The backend booking administrators setting

The backend booking administrators setting

2.9. Booking customers

Customers are page visitors who can make reservation in Booking component. You can allow to page visitors reservation without registration or with registration and Joomla user account to login. If visitor hasn't Joomla user account component offer him to create new customer registration with new Joomla user account. For logged user component offer to become customer.

Fields which customer has to filled during registration or objects reservation you can set in component global configuration (bookmark Registration/reservation fields). You can fields disable (option hide) or enable (option show). Enabled fields can be compulsory or optional.

Customers accounts are accessible from component backend. Customer can be disable by block his Joomla user account. In backend you can customers edit or delete.

Figure 2.25. The page visitor isn't logged. Component offer him login or registering.

The page visitor isn't logged. Component offer him login or registering.

Figure 2.26. The page visitor is logged. Component offer him to become customer.

The page visitor is logged. Component offer him to become customer.

Figure 2.27. The customer registration page. With customer account is created new Joomla user account.

The customer registration page. With customer account is created new Joomla user account.

Figure 2.28. The become customer page. To exists Joomla user account is created customer account.

The become customer page. To exists Joomla user account is created customer account.

Figure 2.29. The config registration/reservation fields page.

The config registration/reservation fields page.

Figure 2.30. The customers backend list.

The customers backend list.

2.10. Reservation

If you have published objects customers can book them and make reservations. One reservation has one booked object (optionaly with supplements), computed prices, customer personal data and time range. Reservations customers created from frontend object detail page calendar. According to object settings are in calendars displayed and color highlighted available intervals. Customers choose available intervals and objects supplements. After click on button book it customer has to filled his personal data and save reservation.

Reservations have two status. Status active/cancel and status unpaid/deposit reveived/fully paid. Component booking don't realize reservation paying. Information about paid/unpaid status is added manualy by administrators from frontend or backend. If reservation has status active its interval is disabled for all others customers no matter the unpaid/paid status. The interval is free only when reservation is canceled. If reservation interval isn't expired customer can cancel it too.

In backend reservations list you see status in two columns with icons. After click on icons is status change to next value. Frontend logged administration uses similar browse table like in backend with equall tools.

Figure 2.31. The reservations administrators backend list.

The reservations administrators backend list.

Figure 2.32. The reservations administrators frontend list.

The reservations administrators frontend list.

2.11. Global configuration

Main
Currency

Your currency shortcut.

Reservation permission

Registered: logged user with customer registration. Reservation form is automatically filled by their personal data and they can display list of own reservations.

Unregistered: no logged user. Always has to fill their personal data into reservation form.

Customers user group

The Joomla user group for customers. Usually only registered group without acces to Joomla content.

Show customer names

In calendars display names of customers who has interval booked.

Figure 2.33. Show customers of reservations.

Show customers of reservations.
Use captcha

Only for unregistered customers. Before customer save reservation he has to fill captcha image. It's security to robots.

Figure 2.34. The captcha for unregistered users.

The captcha for unregistered users.
Image path

The directory path where are saved objects images. It's relative path from Joomla! root. For example: your Joomla! is installed in directory /var/www and you want to save images in directory /var/www/images/stories/docs/booking/objects. You have to set this options as images/stories/docs/booking/objects.

Template icons path

The directory path where are saved templates icons. The rules are similar like image path.

Date format

Use predefined formats: they are in component langauge files. You can change them.

Use custom formats: if you choose this option next field are enabled and you can set date formats. Using custom formats is for advanced users. For more informations visit this page http://php.net/manual/en/function.strftime.php.

Calendars
First week day

You can set first week day as monday or sunday.

Figure 2.35. First week day is sunday.

First week day is sunday.
Display quick navigator

Calendar has quick navigator realized as drop down list with num months/weeks/days to future according to used calendar. This option is related to next three options "Future months to show"/"Future weeks to show"/"Future days to show". For example if you set 5 months to future in quick navigator is offer quick jump to next five months after current month.

Figure 2.36. Display quick navigator.

Display quick navigator.
Objects
Display thumbnails

In objects list display thumbnails of objects main images if available. This option is related to next options Thumbnail width and Thumbnail height. You should set one or both of them. If you set only one then second is automatically computed. If you set both then thumbnail is realized as cutout.

Display introtext

If object has introtext then is used in objects list. You can set length of introtext cutout in next option Introtext length.

Display filter

There are used template properties which are set as filterable.

Figure 2.37. Filter over the objects list from filtered template properties.

Filter over the objects list from filtered template properties.
Display pagination

It's standard pagination bottom filtered list. In option Default pagination is available setting of default listing value.

Display bookit button

This button opened object detail page to make reservation.

2.12. Sending e-mails

Component can send e-mails to administrators and customers. Setting of sending e-mails is available in global configuration. There you can turn off this service or set is available only for administrators or customers or for both. For sending e-mails component uses setting from Joomla! global configuration. In component configuration you can set sender e-mail, sender name, subject for customer and administrator, format HTML or plain text and e-mail body. Other settings as mailer (php mail/smtp/sendmail), username, password, security etc. are used from Joomla! global configuration. In e-mail body you use transcription marks which are replaced by reservation or registration data. They are data as customer name, reservation date, object name etc.. This transcription mark you can see in component global configuration over the e-mail body field.

Figure 2.38. Using transcription marks in e-mail body.

Using transcription marks in e-mail body.
User Login Empty