Documentation - OS Services Booking

OS Services Booking for Joomla
User’s Guide
_________________________________
By Ossolution
Version 2.3.6
[updated: June 2015]
1
Copyright 2007 – 2015, Ossolution
2
Copyright 2007 – 2015, Ossolution
Table of Contents
Table of Contents .......................................................................................................... 3
Introduction ................................................................................................................... 5
Requirements ................................................................................................................ 6
Minimum Requirements ............................................................................................ 6
PHP Settings................................................................................................................ 6
Installation guide .......................................................................................................... 8
Using Backend ............................................................................................................ 10
I. Dashboard ............................................................................................................ 10
II. Configuration ....................................................................................................... 13
III. Categories .......................................................................................................... 34
IV. Venues ................................................................................................................ 35
V. Services ............................................................................................................... 38
1. Services management .................................................................................... 38
2. Setup custom time slots .................................................................................. 42
VI. Employees .......................................................................................................... 44
VII. Relation between category, venue, service and employee ....................... 49
VIII. Coupon ............................................................................................................. 50
IX. Working time ...................................................................................................... 53
X. Custom working time ......................................................................................... 54
XI. Payment plugins ................................................................................................ 55
1 - OS Paypal (http://paypal.com) .................................................................. 56
2 - Offline payment ............................................................................................. 59
3 – Paypal Pro ...................................................................................................... 59
4 – Authorize.net AIM (http://www.authorize.net)............................................ 61
5 – Authorize.net SIM (http://www.authorize.net) ............................................ 62
6 – Stripe (https://stripe.com) ............................................................................. 63
7 – iDEAL Mollie payment gateway (Commercial) .......................................... 64
8 – Other payment plugins supported ............................................................... 65
XII. Text translation .................................................................................................. 66
XIII. Email templates ............................................................................................... 67
XIV. Custom fields ................................................................................................... 70
XV. Orders management ....................................................................................... 75
XVI. Multiple languages ......................................................................................... 82
Using Front-end ........................................................................................................... 83
I. Front-end layouts ................................................................................................. 83
1. Default layout................................................................................................... 83
2. Employee layout ............................................................................................. 87
3. Customer layout .............................................................................................. 89
4. Categories listing ............................................................................................. 91
5. Search module ................................................................................................ 91
II Appointments booking process at front-end of OS Services Booking ........... 92
Other Features........................................................................................................... 101
1. Google Calendar .............................................................................................. 101
3
Copyright 2007 – 2015, Ossolution
2. Multiple languages with Falang ...................................................................... 108
3. Responsive & Smart layout ............................................................................... 109
Development Guide ................................................................................................. 111
Release News ............................................................................................................ 113
Troubleshooting ........................................................................................................ 117
Javascript Errors .................................................................................................... 117
Useful Links ............................................................................................................. 118
4
Copyright 2007 – 2015, Ossolution
Introduction
OS Services Booking (OSB) is created for online service scheduling and
appointment management. It can be used on Joomla 2.5.x and Joomla 3.x
websites. This extension has a lot of great features to make your services booking
system helpful with the customers.
Main features:
1. Responsive and Smart layout with Javascript and Ajax integration
2. Unlimited Categories, Venues, Services, Employees, Custom fields
3. Powerful configuration
4. Flexible time zone
5. Many payment plugins supported
6. PDF Invoices, CSV export
7. Joomla Multiple languages supported
8. Coupon supported
9. Report supported
10. Several custom fields supported
11. Easy to make the booking request at front-end of component
12. Simple and flexible user’s interface
13. GCalendar integration
14. SMS integration with ClickAtell and EzTexting
15. Joomla Native Sef supported
And much more…
5
Copyright 2007 – 2015, Ossolution
Requirements
Minimum Requirements
You must already have a working installation of a CMS to install OS Services
Booking onto. OS Services Booking by default supports versions 2.5.x and 3.x of
Joomla.
- PHP 5.3.x or above
- MySQL 4.1 or above
- Apache 1.13.19 or above
- Browsers support cookie
PHP Settings
Most of the time installation problems are due to limited resources, for example
on shared hosting servers. Here's an overview of the PHP configuration settings
you should check and increase, if needed.
Setting
Description
post_max_size
Amount of data in a single form submission using the
POST method.
upload_max_filesize
Size of an individual file uploaded. It should be over than
2 MB (default)
max_execution_time Time in seconds a script is allowed to run before it is
terminated by the parser. It should be over 100 or higher
memory_limit
Amount of memory in bytes that a script is allowed to
allocate.
It should be over 100 MB or higher
You may need to allocate more resources for PHP by modifying the php.ini file
directly. If this is not possible, you can try setting the PHP settings through a
.htaccess file on your webserver. Though this also depends on your hosting
server, if it allows the usage of .htaccess overrides.
6
Copyright 2007 – 2015, Ossolution
To change the PHP configuration through the php.ini file, use the following
syntax.
# example of recommended settings
post_max_size = 8M
upload_max_filesize = 8M
max_execution_time = 60
memory_limit = 128M
To change the PHP configuration through a .htaccess file, use the following
syntax.
# example of recommended settings
php_value post_max_size 8M
php_value upload_max_filesize 8M
php_value max_execution_time 60
php_value memory_limit 128M
7
Copyright 2007 – 2015, Ossolution
Installation guide
OS Services Booking Package
The package of OS Services Booking extension has name with format:
osservicesbooking_v.x.x.x_unzip_first.zip (x.x.x is version name, for example: 2.3.6)
If you extract this package file, you will see
1. Documentation of component: OS_ServicesBooking_Instructions.pdf
2. Component: com_osservicesbooking.zip
3. Module: mod_ossearch.zip
4. Content Plugin: plg_osbtable.zip
5. Folder: payment_plugins contains payment plugins of OS Services Booking
This section covers how to install OS Services Booking
1. Download the com_osservicesbooking.zip to your desktop.
2. Access your site on the browser e.g http://www.mysite.com/administrator
3. Once logged in to your administration panel go to: Extensions > Extensions
Manager (See image below)
4. Next click on the ‘Browse’ button so we can locate the file:
com_osservicesbooking.zip (See image below)
8
Copyright 2007 – 2015, Ossolution
5. Once you have selected the file, click the ‘Install & Upload’ button. When
the component is installed you will see the component menu at the dropdown
menu “Component”
6. After all above steps, you have OS Services Booking installed in your
Joomla site. You can select to install sample data. It will help you much in the
first time you use component.
In the next part, we will go through backend of component to see how can we
manage OS Services Booking content.
7. You can install module mod_osbsearch.zip to get the Search form of OS
Services Booking component.
8. You also can install plugin plug_osbtable.zip, it is Joomla content plugin, it
allows you to show the Booking table in one Joomla article. The format of short
code to show the Booking table page within the article is {osbtable
sid:value|eid:value|vid:value|cid:value}
9
Copyright 2007 – 2015, Ossolution
Using Backend
I. Dashboard
Dashboard of OS Services Booking includes 2 parts:
- Tasks icons (Left side)
- General report, General Statistic, Optimize DB
Task icons:
1. Configuration
2. Manage categories: Manage all categories in OS Services Booking system
3. New category: Add new category
4. Manage venues: Manage all venues in OS Services Booking system
5. New venue: Add new venue
6. Manage services: Manage all services in OS Services Booking system
7. New services: Add new service
8. Manage employees: Manage all employees in OS Services Booking
system
9. New employee: Add new employee
10. Manage Orders: Manage all orders in OS Services Booking
11. Manage coupons: Manage all coupons in OS Services Booking
12. New coupon: Add new coupon
13. Working time: Manage working time of system
14. Custom time: Manage custom working time of system
15. Custom fields: Manage all custom fields of OS Services Booking system
10
Copyright 2007 – 2015, Ossolution
16. Payment plugins: Manage all payment plugins of OS Services Booking
system
17. Translation: Translate/edit content (labels, text message v.v.) in different
languages
18. Email templates: Manage email contents. This feature supports multiple
languages
General statistic
This part shows total income of several specific time ranges. Total income are
calculated by the Total amount fields of orders in OS Services Booking
General report
Show the report form, administrator can create the report through report criteria
like date from-to, services, employees and order statuses.
11
Copyright 2007 – 2015, Ossolution
Optimize DB
This function will clear the temporarily data tables of OS Services Booking, all the
temporarily data of customer's orders will be removed
12
Copyright 2007 – 2015, Ossolution
II. Configuration
1. General tab
This tab contains the basic configure information of your Service Booking system
like Business name, date time format, currency format, data time format, footer
content and meta keywords.
13
Copyright 2007 – 2015, Ossolution
Field name
Field value
Business Name
General name of your OS Services Booking system. This
name will appear in email content or heading of OS
Services Booking pages
Date/time format
Date/time format of your OS Services Booking system
Date format
Date format of your OS Services Booking system
Time format
Time format of your OS Services Booking system
Notification email
address
This email will receive any notification emails from your
Booking system
Notification
mobile number
This mobile number will receive the SMS notification
messages from your Booking system. Remember you must
turn on the SMS feature if you want to be able to receive
the messages.
Load Twitter
Bootstrap
If your template doesn’t support Bootstrap library, please
turn on this option. In case, the tab Service names,
Employee names doesn’t work, you also need to Load
Bootstrap too.
CSV separator
Select CSV Separator. Depend on different computers,
there are 2 options:
Colon
Semi Colon
Select Currency
Select currency that will be used in OS Services Booking
system
Currency Symbol
Position
There are 2 positions to show the Currency symbol: Before
and After amount
14
Copyright 2007 – 2015, Ossolution
Show User Time
zone
This option is used to turn on “showing time slots in use time
zone”. Once use login to Joomla, the system will check their
time zone, if user’s time zone is different with system’s time
zone. OS Services Booking will show the time slots in 2 time
zone: user’s time zone and system’s time zone.
Active other
time zones
You can add 5 different time zones that the Time slots will
be shown
Integrate
GCalendar
Do you want to integrate OSB with Google Calendar?
If you select Yes, when customer make the appointments
with one staff (employee) of your OS Services Booking, the
event will be added into his (her) GCalendar. When the
customer cancel the appointment, the corresponding
event at his (her) GCalendar will be removed
automatically.
Administrator has to enter the Google Account API for each
employee. For more details about GCalendar integration,
please read more at GCalendar part in this document.
GCalendar Width
Width size of embed GCalendar at front-end of OS Services
Booking
GCalendar
Height
Height size of embed GCalendar at front-end of OS
Services Booking.
Meta keywords
The MetaKeywords allows the addition of <meta
keywords=""> tag in OS Services Booking page
Meta description
The Meta Description allows the addition of <meta
keywords=""> tag in OS Services Booking page
15
Copyright 2007 – 2015, Ossolution
2. Reminder
This tab contains the configure parameters of reminder notification emails to
customer who booked your services
Field name
Field value
Enable
notifications
Yes – The system will send the notification emails to
customers X days before appointment
Send reminder
email
Number days before the appointment, the notification
email will be sent to customer
Cron task
The software utility cron is a time-based job scheduler in
Unix-like computer operating systems
You need to set up a cron job using your hosting account
control panel which should execute every hour or every
several minutes. Depending on your web server you should
use either the live link or real path.
16
Copyright 2007 – 2015, Ossolution
3. Booking configuration
17
Copyright 2007 – 2015, Ossolution
This part contains all important configuration parameters related to booking
information.
Field name
Field value
Select User group
for Employee
This is new feature of OS Services Booking. It uses the ACL
function of Joomla. Because in the front-end, employee
can view their working lists, so we may have the menu to
the page of employee. Of course, employee must be
Joomla registered users, but if we put the menu with access
level is registered, all registered users (both employees and
normal Joomla users) can see the menu. And this point can
make the misunderstanding from your customers. In this
case, we provide the solution for you to avoid the issue. You
will create one user group in Joomla from backend by go
to Users > Groups > Add New Groups. Enter name for that
group. And then, you go to Users > Access levels > Add new
access levels like bellow screen
After you done above work, you can go to component OS
Services Booking > Configuration > tab Booking
configuration, and select the group in field Select User
group for Employee. When you create menu to layout of
Employee, please select access level is the group name
that you just selected in OS Services Booking Configuration
18
Copyright 2007 – 2015, Ossolution
From front-end, only employees can see that menu.
Employee can
change
availability status
Do you want employee to be able to change their
availability status
Employee can
work in multiple
services in the
same time
Do you allow the employee can work in several services in
the same time
For example:
1. If you select Yes
Employee A works on 2 services B and C.
Customer makes the booking on Employee A in Service B at
10: 00 AM -> 11:00 AM.
Another customer can make the booking on Employee A in
Service C at 10:00 AM -> 11:00 AM
2. If you select No
Employee A works on 2 services B and C.
Customer makes the booking on Employee A in Service B at
10: 00 AM -> 11:00 AM.
Another customer can’t make the booking on Employee A
in Service C at 10:00 AM -> 11:00 AM, because the time
frame of employee A at 10:00 AM -> 11:00 AM will be
locked
Only allow
registered to
book services
If you select Yes, in the booking form, OSB will show the
register form and login form, and user should login or register
if they want to book the services
Show Register
Do you want to show the Joomla registration form in Check-
19
Copyright 2007 – 2015, Ossolution
Form
out page
Integrate with
Joomla User
Profile
Do you want to integrate OS Services Booking with Joomla
User Profile? Component will retrieve/ update User profile
fields from Joomla User content.
Select Special
User group
OS Services Booking allows you to select specific User
group, user in this group won’t need to make payment
when they book your services at front-end. This feature is
suitable when customer call for booking and your staff will
add the booking request into OS Services Booking at frontend.
Step in minutes
Step time that user can select when they book employee.
For example 15 mins. The time will be showed : 10:00, 10:15,
10:30 i.e.
Note: This value will only effected to Normal time slots
Services
Disable payments
Yes: The system won’t show any price information of
services. And customer won’t need to make any payment
when they make the appointment booking request
Enable tax
Enable tax in OS Services Booking
Tax payment
The percentages of fee amount that will be added into
total amount of order
Deposit payment
The percentages of total amount that customer must pay
at the end of appointment booking process
Enable Early Bird
Use this setting to offer a discount for early booking. Service
level discounts override service price. They are not additive.
Enable slots
discount
If you turn this feature on, customer will get discounts if they
add more than X number of custom time slots
20
Copyright 2007 – 2015, Ossolution
Default Order
Status
In case you select Disable payment, please select Order
Status. There are 2 options: Pending and Completed
Enable credit
card types
Select credit cards types that will be used in OS Services
Booking system
Notification email
address
The email address will be received the email when the
customers make the appointments booking requests
Send
confirmation
email
None
After completing enter information at the Booking Form
After completing payment
Send payment
confirmation
email
None
After completing payment
Allow customers
to cancel the
booking request
Do you want customers can cancel the booking request
Customer can
cancel the
booking request
Number hours before appointment that customer can
request to cancel
Use SSL
You can select to use SSL (https url) at the booking form
4. Form fields
Field name
Show field Phone
in the booking
form
21
Field value
Do you want to show field: Phone at booking form.
Copyright 2007 – 2015, Ossolution
Show field
Country in the
booking form
Do you want to show field : Country at booking form
Show field City in
the booking form
Do you want to show field : City at booking form
Show field State in
the booking form
Show field Zip in
the booking form
Do you want to show the Enable Term and Condition at
booking form in front-end of OS Calencar
Show field
Address in the
booking form
22
Copyright 2007 – 2015, Ossolution
Show Captcha in
the booking form
Do you want to use Captcha at the booking form.
In version 2.0 of OS Services Booking, we have the option to
integrate with reCaptcha
In case you want to use reCaptcha, at the booking form.
You need to turn the plugin: Captcha - ReCaptcha, in this
plugin, you need to enter the Public Key and Private Key if
you want reCaptcha works. To register Public Key and
Private Key for reCaptcha, please click on this link:
https://www.google.com/recaptcha/admin/create
Bypass captcha
for registered
users
Do you want the registered user to be able to pass the
Captcha form
Enable term and
condition
Show Term and Condition checkbox at the booking form
23
Copyright 2007 – 2015, Ossolution
Default Term and
condition article
Select Term and Condition article
5. Invoice Setting
Field name
Field value
Business Name
General name of your OS Services Booking system. This
name will appear in email content or heading of OS
Services Booking pages
Send invoice to
order
If set to Yes, the PDF invoice will be sent to customers when
they complete the appointments booking requests
Invoice Start
Number
Set the start number for the invoice. If you set it to 100 for
example, the first invoice will have number 100, the next
invoice will have the number 101...
Invoice prefix
Enter invoice prefix. For example, if you enter IV, the invoice
number will have the format IV00001,IV00002...
Invoice Number
Length
Choose the length of invoice number. For example, if you
set it to 4, invoice number will have the following format
IV0001, IV0002..
Invoice Format
Content of Invoice.
Note: Please do not make any changes in these tags
[NAME],[PHONE],[EMAIL],[DETAILS]
Because when the system creates the invoices, it will find
those tags and replace by the real data. We will not be
responsible when the system creates the wrong invoices
after you have changed those tags.
24
Copyright 2007 – 2015, Ossolution
25
Copyright 2007 – 2015, Ossolution
6. SMS setting
From version 2.3.4, beside ClickAtell, OS Services Booking support another SMS
API, it’s EzTexing.
Field name
Enable Clickatell
Field value
Do you want to send SMS through ClickAtell API.
Available for Non-USA. To use Clickatell.com you need
to have an HTTP/S account with them. The values below
will be found on your Clickatell.com 'Manage My
Products' screen
ClickAtell Username
ClickAtell Password
ClickAtell API
This ID will be supplied by Clickatell.com when you open
an HTTP/S account
ClickAtell sender ID
[Optional] If you enter your Clickatell registered sender
ID the SMS will show as coming from you
26
Copyright 2007 – 2015, Ossolution
Enable Eztexting
Do you want to enable Eztexing API.
Available for USA & Canada ONLY. To use EzTexting.com
you need to have an account with them. You will need
to request 'API access' for OS Services Booking to talk to
their service.
EzTexting Username
EzTexting Password
Default dialing code
This is your international dialing code. Example:
Anywhere in Canada or USA = 1
Show code list
Do you want to show the Code list dropdown select list
beside the phone number input box at the booking form
SMS:New booking
notification (To
admin)
The sms will be sent to administrator when customer
make the appointments booking request
Content
New Booking, customer just add new booking with ID
{OrderID}
Note: Please do not change {OrderID}
SMS:New booking
notification (To
customer)
The confirmation sms will be sent to customer
Content
You have booked service(s) from {business_name}, your
order ID is {OrderID}
Note: Please do not change {OrderID} and
{business_name}
SMS:Payment
complete (To admin)
27
The sms will be sent to administrator after customer
complete the payment
Copyright 2007 – 2015, Ossolution
Content
Payment complete, customer has paid for the order
{OrderID}
Note: Please do not change {OrderID}
SMS:Payment
complete (To
customer)
The sms will be sent to customer after they complete the
payment
Content
You have paid successfully for service(s) from
{business_name}, your order ID is {OrderID}
Note: Please do not change {OrderID} and
{business_name}
SMS:Booking
reminder (To
customer)
The reminder sms will be sent to customer
Content
You have cancelled the booking request. Order ID
{OrderID}
Note: Please do not change {OrderID}
SMS:Booking request
cancelled (To
admin)
The sms will be sent to administrator when customer
cancel the booking request
Content
Booking cancelled, customer has cancelled the order
{OrderID}
Note: Please do not change {OrderID}
This screen is where you set OSB to use Clickatell.com for sending SMS text
messages.
You must have an account with Clickatell.com.The data for this screen comes
from your Clickatell.com account's "Manage My Products" page.
You should ensure you account is functioning properly before incorporating it
into OS Services Booking. To test your Clickatell.com account copy this to your
browser:
http://api.clickatell.com/http/sendmsg?user=[your user id]&password=[your
password]&api_id=[your api_id]&to=[your cell number]&text=Test+from+OSB
28
Copyright 2007 – 2015, Ossolution
Note: your cell number must include the country dialing code, for example add
'1' in front of your number for USA and Canada - 14035551212 (no dashes)
The above messages that will be sent to administrator and customers. SMS text
messages are limited to 160 characters in length so we need essentially a short
text. In SMS msg content, we can't add the order details like service names,
employee names, start and end time v.v. because they may over the limit
characters. We only can add the Order ID number in the text message, you can
change the message content, but please do not change "{OrderID}". When the
system process to send the SMS, it will replace {OrderID} by the Id number of
Order.
Note: To send the SMS to one mobile phone number, system need country
dialing code. So if you select not to show the dial code dropdown list in booking
screen, the system will get the default dial code when it send the SMS message.
If administrator want to receive the SMS notification, admin should enter the
mobile number in Configuration, tab Booking Configuration.
7. Layout Setting
Field name
Field value
Disable Calendar
on Non Available
Employees date
Do you want to disable Top-right Calendar the dates
when having no available employees
Show Occupied
Time Slots
Do you want to show Occupied Time slots on Booking
table
Show JS Popup at
Front-end
Disable JS Popup to reduce number mouse clicks when
customer add time slots into their cart.
Using Cart box
Do you want to use Cart box? In case you don’t use Cart
box, when customer add one time slot, he (she) will be
redirected to Check-out page
Show Calendar Box Do you want to show Calendar in Confirmation booking
in Confirmation
page
page
29
Copyright 2007 – 2015, Ossolution
Calendar start
date
What is the start date of one week: Sunday or Monday?
Hide Tab when
having one item
When your Booking system has one Service or one
Employee, the Tab (Contains name of Service or
Employee) will be disappeared
Show Employee
Information bar
Show number slots
input box
This box will be hidden and number slots value will be
setup is 1. This option only available for Custom Timeslot
Services
Show dropdown
select list Month,
Year
Calendar Arrow
Header Style
30
Copyright 2007 – 2015, Ossolution
Calendar Normal
Style
Calendar Active
Date Style
Calendar Current
Date Style
31
Copyright 2007 – 2015, Ossolution
Show service
information box
Show service photo
Show service
description
Show Booked
Information Box
32
Copyright 2007 – 2015, Ossolution
Time Slots
background
8. Email Marketing
This feature is used to setup OS Services Booking with access information for
adding customers to your AcyMailing lists. When enabled, OS Services Booking
will call AcyMailing and insert a new mailing list user as part of the appointment
booking process.
Note:
1. Changing the status of a booking has no effect on AcyMailing.
2. Cancelling a booking does not remove a list entry.
3. OS Services Booking never removes list entries from AcyMailing.
4. You must have the AcyMailing component installed to use this option. See
https://www.acyba.com/acymailing.html
Field name
Select Default list
33
Field value
Select Default list of Acymailing that the customers who
makes the booking request will be added into. This value
can be overrides by special Service
Copyright 2007 – 2015, Ossolution
III. Categories
Overview:
In case your OS Services Booking has a lot of services, the default layout of OS
Services Booking will have a lot of tabs. We received several complains from
customer when they have too much services published in their booking system.
With many tabs, they have several lines of tabs. We provide the solution for this
problem that is Categories. With categories feature, you can distribute your
services according to different criterions.
To manage categories, please go to Manage Categories link from backend
side of OS Services Booking component
After manage your categories, you can assign services to your categories.
Note: Categories are added as an attribute to a services; a way for you to give
the visitor a specific list of tasks that they can request of the services.
You do not ‘book’ a category, you book services. The categories just specify
what you want the services to do.
Categories have no effect on the time duration of a booking.
Categories are optional and should not be used unless there is a business reason
to do so.
34
Copyright 2007 – 2015, Ossolution
IV. Venues
Overview: In case your OS Services Booking system has the services in different
locations, for example, you have some hair salons in different streets. It's not the
problem if those locations are in the same city or suburb v.v. But if they are in
different states, countries, it will have the problem with working time and
employees. For example, one employee cannot work in different hair salons if
they are in different venues. From version 1.4, we release Venues feature to solve
above problem.
To manage venues, please go to Manage Venus link from backend side of OS
Services Booking component
In each venue, we can enter address, contact information, select photo. In
additional, with each venue, we can select service that the venue is belonging
to. Two other important points in Venue are disabling before and disable after.
Field name
Field value
Address
City
State
Country
Latitude address
35
Coordinates of venue location. You don’t need to enter
value, because the system can find this value through
address of venue.
This value will be used to show the Google map of venue
at front-end of OS Services Booking
Copyright 2007 – 2015, Ossolution
Latitude address
Coordinates of venue location. You don’t need to enter
value, because the system can find this value through
address of venue.
This value will be used to show the Google map of venue
at front-end of OS Services Booking
Contact name
This value will be shown at the front-end of OS Services
Booking
Contact email
This value will be shown at the front-end of OS Services
Booking
Contact phone
This value will be shown at the front-end of OS Services
Booking
Services
Select services in the venue.
Disable dates before
Customers can't book your service at that venue before
today, X days from today and before fixed date.
If you select today, customers can book your service
today
If you select X days from now, it means customers can
only book your service X day from today. For example,
today is 1st April 2013, you select 5 days so customers
can only book your service from 6th April 2013
If you select one certain fixed day, customers can only
book your service after that date.
Disable dates after
Customer can't book your service at that venue after X
days from today and after fixed date.
If you select Not set, customer can book your service at
that venue normally
If you select X days from now, it means customers
cannot book your service X days after today. For
example, today is 1st April 2013, you select 5 days so
customers can only book your service from today until
end of 5th April 2013
If you select one certain fixed day, customers cannot
book your service after that date.
36
Copyright 2007 – 2015, Ossolution
Venue photo
Note: Venues are added as an attribute to a services; a way for you to give the
visitor a specific list of tasks that they can request of the services.
You do not ‘book’ venues, you book services. The venues just specifies the
location of services
Venues have no effect on the time duration of a booking.
Venues are optional and should not be used unless there is a business reason to
do so.
37
Copyright 2007 – 2015, Ossolution
V. Services
Services area a defined entities that is associated with employees. Service
object sit above employee object in the structure hierarchy.
1. Services management
38
Copyright 2007 – 2015, Ossolution
Service modification
39
Copyright 2007 – 2015, Ossolution
Field name
Field value
Category name
Category of service
Service
Service name
Price
The price of one time slot of service
From version 2.3.6, OS Services Booking provides the flexible
Service price setting ways. We call it is Price Adjustment
1. Adjust by dates in week.
Based on specific dates in week, you can setup different
price for your Service. In default, the cost of service on all
dates (in week) are the same with original price.
2. Price by specific dates period
Based on one time period, you can setup different price for
your Service.
Note: The priority levels are Price by specific date period,
Price by dates in week and Original Price
Early Bird
You can setup discount amount (percentages or fixed
amount) on Service’s cost when customer make booking
request before X days.
Discount by
number slots
added
If the Service is Custom time slot, you can enter discount
amount when customer add more than X custom time slots
in to their cart per session.
Length (minutes)
The length (minutes) of service. This value only is effected to
Normal time slots service
Photo
Service
description
40
Copyright 2007 – 2015, Ossolution
Time slot type
Type of time slots for your service. If your time slots are
different in one day. Please select custom time slot and
enter data in the bellow table.
In OS Services Booking, we have 2 types of Time slots
- Normal time slot: Appointments will be organized by Step in
minutes (This configure option was setup in Configuration)
For example:
Your service has length is 59 mins and Step in minutes is 30
mins
- Custom time slot: Appointments will be organized in by
Special time every day, and in each slot, administrator can
enter number customers who can book the appointment.
This feature is appropriated in using OSB for the class or
training sessions booking.
For example:
41
Copyright 2007 – 2015, Ossolution
Step in Minutes
This is the time distance between 2 start points of 2 closest
time slots.
This field can be managed at Configuration. But with Normal
Services. You can overwrite this Configure Option.
There are 3 option types for this field:
1. Inherit configure option. (as managed at
Configuration page)
2. Is Service time length, this is overwrite parameter.
When you select this option, the time distance
between 2 closest time slots is the service time length.
3. Other options: they are the different minutes where
you can select.
Access level
There are 3 options: Public, Registered and Special
Acymailing List
This feature will only be effected when you installed
AcyMailing component and turn on feature Integrate with
AcyMailing at Configuration page. With this field, you can
select specific Acymailling list that the customers who book
this service will be added into.
There are 3 option groups
1. User global: With this option, the Acymailing list will be
inherited from Configuration page
2. None: With this option, customers won’t be added into
Acymailing list even Integrate with AcyMailing is
turned on
3. Specific Acymailing: With this option, the default
Acymailing list (of Configuration page) will be
overrided by the chosen list in Service modification
page.
2. Setup custom time slots
To setup the custom time slots, you need to save service information first (in case
you add new service), and then, you can click on Clock icon in the services list.
42
Copyright 2007 – 2015, Ossolution
And then, you will go to the Custom time slots management page of the service
On above picture, you will see the list time slot of one service. One time slot can
be setup the availability for each date in a week.
And here is the screen when you add/edit one time slot
Field name
Field value
Start time
Start time of slot
End time
End time of slot
Number seats
Number available seats that customers can book in one
time slot
43
Copyright 2007 – 2015, Ossolution
Activate On
You can select dates in week that the time slot is
available
VI. Employees
Employee is what is being booked or reserved. An employee can be anything
you want, a room (meeting room, exercise room, etc.), a person (doctor, hair
stylist, etc.) or an object (computer, golf clubs, Ferrari).
44
Copyright 2007 – 2015, Ossolution
To assign employee to services, please click on the calendar icon at the
“Services” Table
In the page “Assign employee to specific service”, you will be able to select the
working date (in week) of employee with that service. You also can setup the
break-time of employee in working-date.
45
Copyright 2007 – 2015, Ossolution
Field name
Field value
Select user
You can select one Joomla user account who is
representative of employee. This user can manage the
works list of employee at front-end of OS Services
Booking. Each Joomla user account can only be
representative for one employee.
Name
An employee must have a name. Ex: 'Meeting Rom A' or
'Dr. Allan Harper.'
Email
GCalendar
Username
Required to access Google Calendar to add/remove
events
GCalendar Password Required to access Google Calendar to add/remove
events. In some case, you need to enter the 2nd –
46
Copyright 2007 – 2015, Ossolution
verification password. Read more at GCalendar
integration part.
GCalendar ID
Only required if you are using a calendar other than the
default for this login. This is obtained on the Google
Calendar 'Calendar Settings' screen, Calendar Address
section
Notes
The description is often just set to the name but can also
include more information.
Rest days
Enter the dates that the employee won’t allow the
appointment booking requests
Services
At front-end of OS Services Booking, when customer
want to make the appointment booking request, firstly,
they must select service, and then they will select the
employee of that services. Based on that, we can see
the close relation between employees and service.
That’s the reason to make this part become important.
In employee modification page, you will see the list of
Services in your OS Services Booking system.
1. Service
If you want to assign employee to one service, please
tick on the checkbox next to Service name.
2. Venue
With selected each service, you can assign the
employee to one specific Venue in the dropdown select
list Venue beside Service name. The venues in that
dropdown select list have relation with the current
service. (See more at Venue part)
We will have case, in the dropdown select list Venue,
there aren’t any options. No problem, the simple reason
is service hasn’t been assigned to any venues.
Remember venue is optional object.
3. Additional cost
The cost of employee on one time slot in specific service
is the cost of that service (This value was defined in
service modification page). But you can enter the
additional cost for employee in each specific service.
And the cost that customer must pay is the total of
service’s cost and employee’s additional cost.
47
Copyright 2007 – 2015, Ossolution
4. Working date
After all above parts are completed, the employee is still
disappearing in the service page at front-end. You need
to determine the following days of week that the
employee is available for booking.
Each day of week, you can setup 2 break time ranges.
In those time ranges, the employee isn’t available for
booking.
Additional price by
hour
In different time ranges at one working date, the cost for
employee maybe difference. For example, overtime
costs always higher than the cost of work in office hours.
So you can setup the additional cost follow different
time ranges in one working day.
Tip: From Employees management page, click on Availability Calendar icon, it
will open new page with big availability calendar of the employee in the main
page. In each day, you can click to set the day is available or unavailable.
Calendar in administrator view
48
Copyright 2007 – 2015, Ossolution
VII. Relation between category, venue, service and employee
In this part, we will explain the relation between category, venue, service and
employees. This is important part of OS Services Booking extension, we believe
you need to know these relations when you organize your Appointment booking
system, both backend and front-end. Please take a look at bellow picture.
49
Copyright 2007 – 2015, Ossolution
As you can see, the top of picture is blue bar with word “Category”. On
category can include many services.
If we consider the above picture is an example of one Booking system, then this
system has 2 venues (Venue A and Venue B) and 3 services (Service A, Service B
and Service C).
Both 2 venues (A and B) have the same Services (Service A, B, C)
Each service has employees. In above system, we have 9 employees. The main
key that we can distinguish is employees at Venue A can’t work on the same
services in Venue B. And one service (Employee 6) can work on multiple services
(Service A and Service C – Venue B)
VIII. Coupon
From version 2.0, we provided functionality: Coupon. It is a ticket that can be
exchanged for a financial discount when customer make an appointment
requests in OS Services Booking. To manage Coupons, you can click on Manage
Coupons icon at the Dashboard.
Manage coupons
From this page, you can add/edit/publish/unpublished the coupons that you
need. To add coupon, click on New at the toolbar
Field name
Title
50
Field value
Title of Coupon
Copyright 2007 – 2015, Ossolution
Coupon code
An alphanumeric string of characters to be the coupon
code given to users to enter in order to receive the
discount. Example: ABC123
Discount
The discount amount that customer will get when they
enter correct coupon code
Discount type
Percent: The percentage of total amount that customer
will get
Fixed: The fixed amount that customer will get
Max total use
This is the maximum times an individual user can use this
coupon. Only works if booking requires login. Set to 0 for
no limit
Max user use
This is the maximum times the coupon be used in total
(by all users). Set to 0 for no limit
At front-end, the coupon form will be shown at the booking form.
51
Copyright 2007 – 2015, Ossolution
52
Copyright 2007 – 2015, Ossolution
IX. Working time
To make sure OS Services Booking will work well at front-end, at the first time, you
must setup the working time for your system. At the working time page, you will
see a list with 7 days in week. From Monday to Sunday.
There are 3 information fields for each day. They are: Start time, End time and Is
Off date.
Field name
Field value
Start time
Customer can only make the appointments booking
request after this value
End time
Customer can’t make the appointments booking
request after this value
Is Off date
Customer can’t make the appointments booking
request on this date.
For example, you setup Wed is off date, it means
customer can’t make any appointments with your
services/employees in Wednesday every week. At frontend, when customer select on Wednesday, for example:
12th Dec 2012, they will see the message: Unavailable
date.
53
Copyright 2007 – 2015, Ossolution
X. Custom working time
Using this feature, you can set the working hours and days off in different time
ranges so your customers will not be able to book any services during time off.
Field name
Field value
Reason
Title of the custom working time range
Date from
Start date of custom working time range
Date to
End date of custom working time range
Start time
Customer can only make the appointments booking
request after this start time at one day of this custom
working time range
End time
Customer can’t make the appointments booking
request after this start time at one day of this custom
working time range
Is Day off
Customer can’t make any appointments booking
request in this time range
54
Copyright 2007 – 2015, Ossolution
XI. Payment plugins
This task is used to manage the payment plugins that will be used at front-end of
OS Services Booking
Manage payment plugins
You can also create your own payment plugin and install it by using function
Install new plugin at the bottom of page. Each plugin should have at least 2
files: XML configuration and php source code file. To get more details about one
payment plugin, you can check the source code of os_paypal payment plugin.
Now, we will go to each payment plugin details.
55
Copyright 2007 – 2015, Ossolution
1 - OS Paypal (http://paypal.com)
Paypal payment gateway
Field name
Title
Explanation
This value will be shown at the booking form of OS Services
Booking.
Author
Paypal Mode
Paypal has 2 options:
1 Live mode: All the payment transactions will be sent to
your Paypal account
2 Test mode: All the payment transactions will be sent to
your test Paypal account. They are not real transactions
and is used for test only.
Paypal Email
Depend on Paypal mode that you selected above. Please
enter your Paypal email (live or test)
Paypal Currency
Select currency
Overview Paypal Payment Data Transfer (PDT)
56
Copyright 2007 – 2015, Ossolution
Paypal Payment Data Transfer (PDT) is a secure method to retrieve the details
about a PayPal transaction so that you can display them to your customer. It is
used in combination with Website Payments Standard, so that after a customer
returns to your website after paying on the PayPal site, they can instantly view a
confirmation message with the details of the transaction. PDT is not meant to be
used with credit card or Express Checkout transactions. This page describes how
PDT works and how to configure your account to use PDT.
How PDT Works
When a customer pays you, PayPal sends the transaction ID of the payment to
you by appending the transaction ID to a URL you specify in your account
Profile. This information is sent via a HTTP GET as this name/value
pair:tx=transactionID
After you get the transaction ID, you post a FORM to PayPal that includes the
transaction ID and your identity token, a string value that identifies your account
to PayPal. There are instructions below that describe how to get your identity
token. The form looks like this:<form method=post
action="https://www.paypal.com/cgi-bin/webscr">
<input type="hidden" name="cmd" value="_notify-synch">
<input type="hidden" name="tx" value="TransactionID">
<input type="hidden" name="at" value="YourIdentityToken">
<input type="submit" value="PDT">
</form>
In PayPal's reply to your post, the first line will be SUCCESS or FAIL. An example
successful response looks like this (HTTP Header has been omitted):SUCCESS
first_name=Jane+Doe
last_name=Smith
payment_status=Completed
payer_email=janedoesmith%40hotmail.com
payment_gross=3.99
mc_currency=USD
custom=For+the+purchase+of+the+rare+book+Green+Eggs+%26+Ham
...
If the response contains the word FAIL, make sure that the transaction ID token
and identity token on your post are correct. PayPal was not able to validate the
transaction.
For a list of all possible variables and values that PayPal can return to you, see
the IPN/PDT Variable Reference.
This diagram shows the basic flow of a PDT transaction.
How to obtain PDT TOKEN?
To use PDT, you must activate PDT and Auto Return in your PayPal account
profile. You must also acquire a PDT identity token, which is used in all PDT
communication you send to PayPal.
57
Copyright 2007 – 2015, Ossolution
Follow these steps to configure your account for PDT:
Log in to your PayPal account.
Click the Profile subtab.
Click Website Payment Preferences in the Seller Preferences column.
Under Auto Return for Website Payments, click the On radio button.
For the Return URL, enter the URL on your site that will receive the transaction
ID posted by PayPal after a customer payment.
Under Payment Data Transfer, click the On radio button.
Click Save.
Click Website Payment Preferences in the Seller Preferences column.
Scroll down to the Payment Data Transfer section of the page to view your
PDT identity token.
A confirmation message will appear at the top of the page indicating that you
have successfully enabled Payment Data Transfer. Your identity token will
appear within that message, as well as below the PDT On/Off radio buttons.
This PDT token must be entered into PayPal configuration.
Additional Notes:
58
Copyright 2007 – 2015, Ossolution
You must enable Auto Return if you are going to use PDT
If you already have PDT enabled per the instructions above, to see your token,
follow steps 1-3 above. Once you are in the Website Payment Preferences area
of your account, you can view the token below the PDT On/off section.
2 - Offline payment
With this payment gateway, customer won’t need to pay for you after
completing booking form.
Field name
Title
Explanation
This value will be shown at the booking form of OS Services
Booking.
Author
Order Status
Please select the status of orders when customer selects
Offline payment for their booking request. There are 2
statuses that you can select :
Active
Pending
3 – Paypal Pro
PayPal Payments Pro (Direct Payment) is known as Website Payments Pro in
Canada and the UK.
Note: PayPal Payments Pro (Direct Payment) differs from PayPal Payments Pro
(Payflow Edition). See the PayPal Payments Pro (Payflow Edition) documentation
for Payflow integration information.
Paypal pro accepts credit and debit cards and it process payments directly on
your website using 2 API-based solutions: Direct Payment and Express Checkout.
59
Copyright 2007 – 2015, Ossolution
Field name
Title
Explanation
This value will be shown at the booking form of OS Services
Booking.
Author
Paypal Pro Mode
Paypal has 2 options:
1 Live mode: All the payment transactions will be sent to
your Paypal account
2 Test mode: All the payment transactions will be sent to
your test Paypal account. They are not real transactions
and is used for test only.
API Username
API Password
API Signature
60
http://www.youtube.com/watch?v=TMP2llxOuKo
Copyright 2007 – 2015, Ossolution
4 – Authorize.net AIM (http://www.authorize.net)
Authorize.Net is a payment gateway service provider allowing merchants to
accept credit card and electronic check payments through their Web site and
over an IP connection
Field name
Title
Explanation
This value will be shown at the booking form of OS Services
Booking.
Author
Authorize.net
Mode
This payment plugins has 2 options:
1 Live mode: All the payment transactions will be sent to
your Authorize.net account
2 Test mode: All the payment transactions will be sent to
your test Authorize.net account. They are not real
transactions and is used for test only.
API Login
Supplied by Authorize.net.
Transaction key
Supplied by Authorize.net.
For more details about Authorize.net, please watch this video clip:
https://www.youtube.com/watch?v=NI9tvny2Apw
61
Copyright 2007 – 2015, Ossolution
5 – Authorize.net SIM (http://www.authorize.net)
SIM provides a customizable, secure hosted payment form to make integration
easy for Web merchants that do not have an SSL certificate.
Field name
Title
Explanation
This value will be shown at the booking form of OS Services
Booking.
Author
Authorize.net
Mode
This payment plugins has 2 options:
1 Live mode: All the payment transactions will be sent to
your Authorize.net account
2 Test mode: All the payment transactions will be sent to
your test Authorize.net account. They are not real
transactions and is used for test only.
API Login
Supplied by Authorize.net.
Transaction key
Supplied by Authorize.net.
For more details about Authorize.net, please watch this video clip:
https://www.youtube.com/watch?v=NI9tvny2Apw
62
Copyright 2007 – 2015, Ossolution
6 – Stripe (https://stripe.com)
Stripe is a suite of APIs that powers commerce for businesses of all sizes
Field name
Title
Explanation
This value will be shown at the booking form of OS Services
Booking.
Author
Secret API Key
Currency
For more details about Authorize.net, please watch this video clip:
https://www.youtube.com/watch?v=NI9tvny2Apw
63
Copyright 2007 – 2015, Ossolution
7 – iDEAL Mollie payment gateway (Commercial)
iDEAL is an e-commerce payment system used in the Netherlands, based on
online banking. Introduced in 2005, this payment method allows customers to
buy on the Internet using direct online transfers from their bank account.
Field name
Title
Explanation
This value will be shown at the booking form of OS Services
Booking.
Author
Test Mode
64
Yes: The system will show one test Bank at the Bank
dropdown select list
Copyright 2007 – 2015, Ossolution
No: The system will show a list of Netherlands’s banks at
Bank dropdown select list
API Login
8 – Other payment plugins supported
Other free payment plugins that OS Services Booking supported: Sage Pay,
Eway, World Pay
65
Copyright 2007 – 2015, Ossolution
XII. Text translation
This function allows administrator to translate content phrases of OS Services
Booking from English to different languages for both front-end and backend.
Text translation
66
Copyright 2007 – 2015, Ossolution
XIII. Email templates
Overview:
This feature is used to manage the email content in OS Services Booking. There
are several email templates in the system like notification emails, order status
changed, order cancellation notification v.v. In some cases, you will want to
change the layout of those emails to make them suit your system.
Email templates management
Edit email template
Email modification
67
Copyright 2007 – 2015, Ossolution
Email fields
Field name
Field value
Key
Email key, this is read only field, we can’t change it.
Subject
Email title, this value will be shown at the title of email
Content
Email content
Email tag
Email tags are the tokens. They will be replaced by real data when the system
process to send emails. When you edit email content, please do not change the
email tags. Once you remove one tag at email content. The data is used to
replace that tag won’t be shown.
Email tag
Will be replaced with
{Name}
Customer’s name
{Email}
Customer’s email
{Phone}
Customer’s phone
{Country}
Customer’s country
{Zip}
Customer’s zip code
{Address}
Customer’s address
{Notes}
Customer’s note
{BookingID}
Order ID number
68
Copyright 2007 – 2015, Ossolution
{Services}
All the services have been booked by customer in order
{Total}
Order Total amount
{Total}
Tax amount
{Deposit}
Deposit amount
{CancelURL}
Booking request cancellation url
Email templates
Email key
Description
booking_reminder
The reminder email, it will be sent to customer X
days before the appointment
confirmation_email
Confirmation email, it will be sent to customer
payment_message
Payment complete notification email, it will send
to customer when they complete the payment
employee_notification
This email will be sent to employee’s email address
when someone made appointment booking
request to him(her)
admin_notification
The notification email that will be sent to
administrator when customer make an
appointment booking request
admin_order_cancelled
The notification email that will be sent to
administrator when the order request is cancelled
69
Copyright 2007 – 2015, Ossolution
employee_order_cancelled The notification email that will be sent to
employee when the order request is cancelled
XIV. Custom fields
Overview
Custom fields are a powerful tool to build content. Currently, there are several
fixed fields in booking form like name, email, phone, country. In specific cases,
user will need other fields. Some times, we also need the extra fields that the
customer must pay the additional cost when they select any options of those
fields.
This function is used to manage the custom extra fields for OS Services Booking.
From this page, administrator can add/edit/remove/publish/unpublish the extra
fields. At above page, you will see the column Field Area, with 2 values: Services
and Booking form. We will explain the meaning of those words. One custom field
can be shown at the Booking table page or Booking form page. When the
custom field is setup to show at Booking table page, the Field Area value of that
custom field will be: Services. And when the custom field is setup to show at the
Booking form page, the Field Area value of that custom field will be: Booking
Form.
70
Copyright 2007 – 2015, Ossolution
Booking table page
The pink area is the custom fields at
booking table page
71
Booking form page
The pink area is the custom fields at
booking form page
Copyright 2007 – 2015, Ossolution
Creating a New Custom Field
To add a Custom Field to the Directory please click the “New” button in the
upper right corner of your Custom fields Administration as illustrated in the
screen-shot below.
Field name
Field value
Field
Title for the Custom Field.
Field Type
Set the Field Type for the Custom Field.
There are 3 field types in OS Services Booking
1. Text field : Can only be shown at booking form page
2. Select list: Can be shown at booking form and
booking table pages
3. Checkbox: Can be shown at booking form and
booking table pages
Status
“Published” Items will be visible in the front-end.
“Unpublished” Items will be invisible in the front-end but
intended to be published.
72
Copyright 2007 – 2015, Ossolution
Services
When you select field type is checkbox or select list. You
can select the services that the custom field will be shown.
(Booking table page of those services)
Custom field types
Field name
Multiple
select
Multiple
values
Free
field
Description
Text box
No
No
Yes
Dropdown
single select
list
No
Yes
Optional Dropdown (select) field
with multiple values
Checkbox
Yes
Yes
Optional Standard check boxes
with multiple values
Single text box
Custom Field Values
With Single select list and Checkbox fields, we should enter the value options. At
the custom field’s modification page, when we select one of 2 above field
types, the form “Other information” will be shown at the bottom.
Note: When you add new custom field, even you select field type is Single select
or Checkbox, the form “Other information” won’t be shown until you save the
custom field.
Field name
Field value
Field Option
Title of the field option. This value will be shown in the
dropdown with Single select fields and beside the
checkbox with Checkbox fields
Additional price
Please enter the additional cost that customer must pay if
they select this option at front-end of OS Services Booking.
This value must be equal or greater than 0.
73
Copyright 2007 – 2015, Ossolution
Add Custom field value
To add custom field option, you need to enter Field Option and Additional price
input boxes. And click on Save button. The system will call the Ajax function to
save the field option. If you don’t click on Save button, the Field option won’t be
saved.
74
Copyright 2007 – 2015, Ossolution
XV. Orders management
Overview:
The Orders screen lists all appointments in the system. It has several filters to help
manage a large list.
When a user submits a booking request via the OS Services Booking
component's entry screen, an 'Order Request' is created.
This screen shows all requests. The term 'request' is a holdover from the programs
early days.
Toolbar Icons
Toolbar button
Function
New
Add new Order request
Send notify email
In case the value of column Send Email in the list is
. It
means, by some reasons, the notification email wasn’t be
sent to customer. You can use this button to re-send the
notification email to customers.
Delete
Remove Order requests
Export CSV
Exports request details for one or more Appointments to a
csv file. The CSV file can be read into Excel for reporting
purposes.
Export PDF
Exports request details for one order request to PDF format
75
Copyright 2007 – 2015, Ossolution
Filters
Toolbar button
Function
Keyword
Search through all customer’s information fields
From / To
Filter the Order requests by Date
Services
List all orders that contain selected service
Employees
List all orders that contain selected employee.
Status
Pending, Completed, Canceled, Attended, Timeout,
Refunded, Declined
Fields at the list
Toolbar button
Function
ID
Unique number of Order. 5 characters
Customer details
Name and email of customer
Services
List all services, employees, start/end booking, custom fields
in the order requests
Order payment
Includes Total, Discount, Final and Deposit amounts
Status
List status of Order. There are statuses: Pending, Completed,
Canceled, Timeout, Declined, Refunded and Attended.
Administrator can change Order status in the list instead
click on Order details page to change it.
Note: OS Services Booking doesn’t support Refund process –
76
Copyright 2007 – 2015, Ossolution
return money back to customer. The Refunded is just Order
status.
Date
The date that user made booking request on
Send Mail
This column let you know if the notification email has been
sent to customer or not.
77
Copyright 2007 – 2015, Ossolution
Add/edit Order request
Access the appointment detail by clicking on the name in the appointment list
screen... The heart of the component is the Order Requests.
Above screen allows you to view and edit the details of a request or
Appointment booking?
78
Copyright 2007 – 2015, Ossolution
The order request modification has 2 parts
1. Order information
2. Appointments details
Now we will go through each part.
1. Order information
Toolbar button
Function
Customer
You can select Joomla! User account to assign to customer
Name
Customer’s name
Email
Customer’s email
Phone
Customer’s phone number. The dial code select list is
needed in case you want to use SMS ClickAtell integration
Country
Customer’s country
City
Customer’s city
Zip
Customer’s zip code
Address
Customer’s address
Custom fields
All the custom fields that assigned to Booking form. See
more at Custom fields part
Notes
Customer’s note
Payment method
Order’s payment method
Total
Order total amount
79
Copyright 2007 – 2015, Ossolution
Discount
Discount amount, happen when customer used coupon
code
Deposit
Upfront payment
Status
Order status
Status
Pending
Complete
Cancel
Date
When did the customer make the order request
2. Appointments details
This part will list all the appointments of the order. You can also add/remove
appointments in current order. To add new appointments to your services,
please click on the blue button Add Services.
Note: When you create new order request, at the first time, you can’t add the
appointments into order. After saving (or apply), you will see the button to add
Services into the Order request.
In above screen allows you to select the Service, Venue [Optional], and
employee, enter the booking date and select the time slot with the extra
80
Copyright 2007 – 2015, Ossolution
custom fields. Click Save, the service with employee and booking time will be
added the Order.
With the back-office system, this feature is very important and really necessary.
81
Copyright 2007 – 2015, Ossolution
XVI. Multiple languages
From version 2.3.4, OS Services Booking supports Joomla Native Multiple
languages feature. You don’t need to use any third party multilingual extension
any more.
When you Add/edit Categories, Venues, Services, Custom fields (include field
options). You are able to translate content to different languages. To use
Joomla Multiple languages feature, you should have languages installed and 2
Joomla plugins: System - Language Filter, System - Language Code published.
When the feature multiple languages is turned on. When you modify any items
of Venues, Categories, Services, Custom fields. You will see the tab Translation
where you can enter content of those items in other languages.
With checkbox, select custom fields, in tab Translation, you will also see the
options of those fields where you can enter option values in other languages.
82
Copyright 2007 – 2015, Ossolution
Using Front-end
I. Front-end layouts
OS Services Booking has 3 layouts at front-end. They are
- Default layout: Services Booking
- Customer layout: List all orders history of customer
- Employee layout: List all appointments of employee.
Tip: You can read more about “menu adding” at backend of Joomla from here:
http://docs.joomla.org/J3.1:Adding_a_new_menu
Now, we will go through each layout of OS Services Booking.
1. Default layout
At front-end of OS Services Booking, this layout will have 3 parts: Calendar (top
left), Cart module (middle left) and main content is the Booking table. Depend
on menu parameters you have configured in, the Booking table will show
corresponding services and employees.
From version 2.3.1, we add new parameters: Date from and Date to, they allow
you to setup the period time of your services. If the period time is in one specific
83
Copyright 2007 – 2015, Ossolution
month. The system won’t show arrows in top – left calendar box. If Date from is
equal with Date to, the top – left calendar box will be hide too.
84
Copyright 2007 – 2015, Ossolution
Booking table part
At above screen, depend on service setting, you will see the 2 other parts:
Repeat appointment booking request and Number sits that customer want to
book (With custom time slots services)
85
Copyright 2007 – 2015, Ossolution
Layout parameters form:
Parameters
Description
Category
Select category in OS Services Booking
Employee
Select employee in OS Services Booking
Venue
Select venue in OS Services Booking
Date from/to
Select the time period that you want to show the Services
At front-end, depend on selected options, OS Services Booking will find the
corresponding services and show them at the Booking table page. If you don’t
select any options at those dropdown select lists, the system will return all
available services.
86
Copyright 2007 – 2015, Ossolution
2. Employee layout
This layout lists all the works of employee. Only employee can access it.
Fields
Description
Service name
Date
Booking date
Start
Start time of appointment
End
End time of appointment
Customer
Customer’s order
Toolbar buttons
Fields
Description
My Working Calendar
List all works of employee on the calendar
My GCalendar
List all events of employee’s GCalendar
87
Copyright 2007 – 2015, Ossolution
Employee’s calendar
88
Copyright 2007 – 2015, Ossolution
3. Customer layout
In this layout, the system will list all the appointments of current customer and the
customer can close the appointments if they want.
89
Copyright 2007 – 2015, Ossolution
Fields
Description
Service
Service name
Bellow service name, the system will list all appointments
with selected custom fields in the order
Date
Booking date
Status
Order request’s status
Remove
Cancel order request
90
Copyright 2007 – 2015, Ossolution
4. Categories listing
This layout is used to list all published Categories of OS Services Booking. This is
responsive layout.
5. Search module
This module is used to filter the Services by Venue, Category, Employee and
Specific date.
You are able to select to show Venue, Category, Employee dropdown select
lists and the Calendar box at Back-end > Module modification page
91
Copyright 2007 – 2015, Ossolution
II Appointments booking process at front-end of OS Services Booking
In this section, we will describe the appointments booking process
Step 1:
To make the appointment request in OS Services Booking, first of all, you need to
select appointment date, service and employee.
1. Top left calendar where you can select appointment date
92
Copyright 2007 – 2015, Ossolution
2. Service’s name
3. Employee’s name
And then, you should select one time slot that you want to book.
Next, you can select to repeat the booking request by days, weeks or months
(depend on setting of corresponding services) and custom fields at the bottom
of booking page.
Note: With custom time slots services, you must enter number slots (sits) that you
want to book also.
Before click on Add to cart button, please read the summary
93
Copyright 2007 – 2015, Ossolution
Click on Add to cart, the system will process to add the time slot into the Cart. If
for some reasons like appointment duplicating v.v. the system will show the error
page
Depend on the selected service, the system will provide different solutions for
you. As above picture, you can remove the selected time slots. With custom
time slots, you can select another number sits or remove time slots v.v.
If there isn’t any problem with “add to cart”, the system will show message to
inform to you that the time slot has been added into the cart.
New: From version 2.3.1, with more flexible configure options, you are able to
turn off JavaScript Popup, Cart box. And it makes the booking process become
simply. Customer only need to select time slot, enter number seats (with Custom
time slots Services), click “add to cart” and go to Check-out page.
94
Copyright 2007 – 2015, Ossolution
In the cart (at the middle left) you will see the appointment item that you have
just added
Above picture is the cart screenshot. In the cart, you will see all the
appointments request that you added. Please pay attention on the number on
the picture
1. Extra information of the appointment like employee name, custom fields
v.v.
2. Remove appointment request out of your cart
3. Total amount. In case you disable payment, this information will disappear
95
Copyright 2007 – 2015, Ossolution
4. You can click on Checkout button to go to booking form page
Step 2: Booking form page
After clicking on Checkout button, you will go to the booking form page. In this
page, depend on your configuration. The system will show the booking form or
login (and Joomla registration) page.
1. Login (and registration)
2. Booking form
Tip: Non-registered users can enter information into registration form, after that,
they will become registered-user. And then, the system will redirect them to the
booking page, and they will see layout 2.
96
Copyright 2007 – 2015, Ossolution
Depend on selected payment, the system can show the credit card information
form like bellow
97
Copyright 2007 – 2015, Ossolution
Step 3: Confirmation page
This page shows all the information that you entered in booking form. If you click
on Confirm button, the system will process the order booking request
98
Copyright 2007 – 2015, Ossolution
Step 4: Order request processing
In this step, the system will process the Order request based on your
configuration.
Disable payment?
Yes
No
Send notification to customer, administrator, employee
Send SMS notification
Update employee’s
G-Calendar
Order total amount = 0 Or Deposit amount = 0?
Yes
No
Is Offline?
Payment process
Show order details
page
Yes
No
Payment
process
Show order
details page
1. Show order details page: This page shows appointments booking request
information
99
Copyright 2007 – 2015, Ossolution
2. Payment process: OS Services Booking will process the payment method of
appointments booking request information. For example with Paypal payment
method
After payment, depend on the result, the system will show the Order details
page or the Order error page
100
Copyright 2007 – 2015, Ossolution
Other Features
1. Google Calendar
Overview: OS Services Booking has the option to allow you to integration your
Booking system with Google Calendar. It works like this way: When customer
makes the booking request with one Employee in your OSB system. The
appointment will be added to Gcalendar of that employee, and if that booking
request is cancelled or removed by administrator or customer, the appointment
on Employee’s Gcalendar will be removed.
Notice: OS Services Booking won’t (cannot) check the available time on
Employee’s Gcalendar before adding appointment into Gcalendar.
To user Google Calendar, you need to have
1.A Google Account for creating and using Google Calendars
2.PHP 5.2 or higher.
3.Google Data PHP Client Library V3 (from https://github.com/google/googleapi-php-client)
4.OS Services Booking 2.3.3 or greater
From November 17, 2014, Google shut down their Calendar API v1.
You now require OS Services Booking 3.3.3, or higher, to talk to Google
Calendar. And Google only allows connection via their version 3 API.
This requires you to create a Google App and give it access to your calendar(s).
The App is how OS Services Booking is now able to add/remove bookings as
calendar events.
Three Steps to adding OS Services Booking access to your Google Calendar.
Create an App in Google
Install the Google library and key file in you OS Services Booking directory
Setup to connect OS Services Booking with GCalendar
Create an App
Login to Google and go to the Developer's Console..
https://console.developers.google.com/project
Click on 'Create Project'
101
Copyright 2007 – 2015, Ossolution
Enter a name (can be anything you like, here I used OS Services Booking).
When complete it will show you the Project Dashboard.
Select APIs and auth..
You need to turn on the Calendar API, so type 'calendar' into the Browse box,
them locate the Calendar API and switch it on.
102
Copyright 2007 – 2015, Ossolution
Go to the APIs & auth Credentials menu
103
Copyright 2007 – 2015, Ossolution
The CLIENT ID and EMAIL ADDRESS fields will be needed when you setup an OS
Services Booking resource to write to a Google Calendar.
Click on Generate new P12 key.
Save the generated key on your local PC for later upload to your web site.
Install the Google library and key file
You will need to download the Google PHP Client Library from ..
https://github.com/google/google-api-php-client
On the right of the screen is a 'Download ZIP' button.
Unzip and upload the google-api-php-client-master folder to the OS Services
Booking directory in your web server..
Also, upload the .p12 key file that was generated in the steps above to the
com_osservicesbooking folder.
104
Copyright 2007 – 2015, Ossolution
How to setup the “Gcalendar Integration” feature on OS Services Booking
Go to Configuration > Tab Booking Configuration and Select Yes at the
dropdown select list
After above step, you need to enter the Employee’s Google account and
Gcalendar ID. To implement this step, please go to Employee modification
page.
Client ID, App Name, App Email Address are all obtained from the Google App
Credentials screen above.
To get the Calendar ID, open the Calendar settings screen in Google..
In the Calendar Settings screen near the bottom you will see the Calendar
Address section and on the right the Calendar ID.
105
Copyright 2007 – 2015, Ossolution
Finally you will need to set your calendar as shared with the Google App's email
address from above.
Now new bookings for this resource will be added to your Google Calendar.
As with all 3rd party calendars the communication is one-way only. Changes
made in your Google Calendar will have no effect on OSB.
If all above works are done. You have completed configuration the “Gcalendar
Integration”, from now, when customer make the booking request on your
employee, his(her) Gcalendar will be updated the appointment.
106
Copyright 2007 – 2015, Ossolution
107
Copyright 2007 – 2015, Ossolution
2. Multiple languages with Falang
You can download Falang component from here: http://www.faboba.com
To use Falang component, you should have at least 2 languages. You can read
more about languages in Joomla in
http://docs.joomla.org/Help16:Extensions_Language_Manager_Content
http://docs.joomla.org/Help25:Extensions_Language_Manager_Content
http://docs.joomla.org/Help30:Extensions_Language_Manager_Content
After installing Falang component, please find 2 files: app_sch_employee.xml,
app_sch_services.xml, app_sch_fields.xml in folder falang_contentelements in
the package and then copy them to administrator > components >
com_falang > contentelements directory.
If all above tasks are done, we are ready to start translating data for Services,
Employees and Extra fields. Go to Falang > Translation, select language and
Content Elements to translate
And in translate page
108
Copyright 2007 – 2015, Ossolution
3. Responsive & Smart layout
Some years ago there was a clear differentiation between desktop and mobile.
The introduction of tablets and other new web devices brings the challenge of
designing for more resolutions and devices than ever before. Fortunately,
responsive web design has emerged as a robust solution. OS Services Booking
uses Bootstrap twitter library to make the responsive layouts. This feature
provides the user with best viewing experience of a website across devices of
various sizes - See more at: http://www.w3resource.com/twitterbootstrap/responsive-design.php#sthash.Zk2yalKi.dpuf
109
Copyright 2007 – 2015, Ossolution
We decided to use Ajax technology for OS Services Booking with the reason the
customers won’t waste the time (loading pages) for checking available services
and employees on the time they need. The component has the tidy and logical
layout that makes the customer feel comfortable when they use your services
booking system. This point is very important with your business.
110
Copyright 2007 – 2015, Ossolution
Development Guide
As a developer you are tasked with altering or extending the functionality of OS
Services Booking. You will be proficient in a range of programming languages,
including PHP, but may be less familiar with such things as JavaScript or CSS. If
you are new to Joomla! You will need information about the OS Services
Booking and how to use it.
List of source code folders at the front-end of OS Services Booking, you can find
the source code of front-end of OS Services Booking at:
Root > components > com_osservicesbooking
Important folders:
classes: Contains all the server-side PHP code used for the functionality of OS
Services Booking.
helpers: Contains all the server-side PHP code used for the library with all core
functions for the functionality of OS Services Booking
plugins: Contains all the server-side PHP code used for payment plugins
js: Contains all Javascript code used for checking, validator, ajax methods v.v.
style: Contains all Stylesheet used for OS Services Booking. OSB uses Bootstrap
library so, there is folder called :Bootstrap in this directory. And you can also
notice on file style.css. This file is used to define all the css style for the html
elements of OS Services Booking
views:Contains all layouts of OS Services Booking
111
Copyright 2007 – 2015, Ossolution
112
Copyright 2007 – 2015, Ossolution
Release News
Version 2.3.6 (June 2015)
+ New features
- Flexible Service Price: From this version, you are able to override Service’s
price by dates in week or special date periods
- Early Bird Discount: In each Service, you can setup the Early Bird discount
(percentages or fixed amount) when customer make booking request
early.
- Discount by number Timeslots added: With Custom Time Slots Service, you
can setup the discount (percentages or fixed amount) when customer
add more than X seat into cart per session.
- Add custom break time for employee on specific Service: In Previous
version, administrator only can add the Break Time for one employee on
Service by dates in week (Monday to Sunday). But from this version,
administrator can add custom break time for specific date too.
- New Order status: From this version, each order will have statuses:
Pending, Completed, Canceled, Attended, Timeout, Refunded, Declined.
Administrator also is able to change Order status in Orders list instead of
going to Order details as previous version. Note: The Refunded is just Order
status, OS Services Booking doesn’t process refund the money back to
customer.
- New Configure options: The Configuration page of OS Services Booking
has been re-sorted to make it become more reasonable. We also add
new configure options to make OSB become more flexible. Here are some
new important configure options added 2.3.6
1. Show Calendar box at Confirmation page
2. Select Joomla user group which can bypass the Payment step (suitable
in case administrator make the booking request at front-end)
3. Turn on/off Early Bird Discount
4. Turn on/off Showing “Number time slots request” input box in Booking
table page. Set default is 1.
5. Hide Tab Service/ Employee when there is only one item available
6. Layout configure options
- Content plugin: Allow you to add booking table page into one Article.
Version 2.3.5 (May 2015)
+ New features:
- Ajax loading: In previous version, in the first time loading, OS Services
Booking must prepare data for a large amount of dates in several years.
And this work makes the loading time of component become longer. To
solve this problem, from version 2.3.5, we decided to change the normal
loading method to Ajax method. So that, on one time loading, OS
Services Booking will only process data for dates of one specific month.
113
Copyright 2007 – 2015, Ossolution
-
-
-
And each time customer clicking on Next/ Previous months, Ajax method
will be called to process available status of dates in those months. With
this improvement, we are confident about the loading speed of OSB
Prevent double mouse-click: In Previous version, in booking table page, if
customer double click on button Add to cart, OS Services Booking will add
2 time slots (with the same Start/end Time) into customer’s cart. So that,
this is the bug of component. To solve this problem, we add feature to
disable Double Click on Add to cart button to prevent double time slots in
the Cart. In Confirmation page, if customer double click on button
Confirm. The system will create 2 orders, one with enough information
(time slots) and the other is empty (no time slots). So that, this is another
bug of component. To solve the issue, we add the function to disable
double click on Confirm button at confirmation page. If you are using
older OSB version, please upgrade it to 2.3.5 to get these bugs fixed.
Integrate with AcyMailing: This feature is used to setup OS Services
Booking with access information for adding customers to your AcyMailing
lists. When enabled, OS Services Booking will call AcyMailing and insert a
new mailing list user as part of the appointment booking process.
Note:
1. changing the status of a booking has no effect on AcyMailing.
2. Cancelling a booking does not remove a list entry.
3. OS Services Booking never removes list entries from AcyMailing.
4. You must have the AcyMailing component installed to use this option.
See https://www.acyba.com/acymailing.html
Integrate with Joomla User profile: With this feature, OS Services Booking
will retrieve/update data of customers from/into Joomla User profile
Version 2.3.4 (2nd February 2015)
+ Added:
- Joomla multiple languages
- Access levels for Services
- EzTexting SMS API
- Stripe, Authorize SIM payment gateways
Version 2.3.3 (15th December 2014)
+ Improved:
- GCalendar Integration with Google API V3
Version 2.3.2 (23th September 2014)
+ Add:
- Step in minutes overwrite
+ Improve:
- Translation tool
- Add time slots to Order at Back-end
Version 2.3.1 (22nd August 2014)
114
Copyright 2007 – 2015, Ossolution
+ Add:
- Search module
+ Improve:
- Option to turn off Javascript popups
- Option to turn off Cart box
- New parameters Date from/to for layout: Default layout
- Option to turn off Joomla Registration form in Check-out page
- Translation tool
Version 2.2.2 (22nd June 2014)
+ Add:
- Venues layout
- Employees layout
- New feature on Top-left Calendar
Version 2.2.1 (23th April 2014)
+ Add: - Categories layout
- Customer's time zone
Version 2.2 (14th April 2014)
+ Add: - Layout Configuration
Version 2.1 (10th March 2014)
+ Added: - Sef urls
- Manage "not working time" for services in specific day
# Bugs fixed:
- ClickAtell SMS
Version 2.0 (30th August 2013)
+ Added: - Coupon feature
- SSL
- reCaptcha
- Payment plugins: Eway, Worldpay, Sagepay
- Report generation
- Database optimize
(+) Improve:
- Venue feature
- Relation between Services and Employees
#Bugs fixed:
- Time slots table
Version 1.5.1 (22nd June 2013)
#Bugs fixed:
115
Copyright 2007 – 2015, Ossolution
- Employee works list filter (by date from/to)
- Time slots table : disable book before/after
- Remove break time of employees at back-end of OSB
Version 1.5.0 (12th June 2013)
+ Added: - Responsive layout - Bootstrap twitter
- Add booking requests from backend
- Additional timezones
- More configuration option, they will help you to optimize the booking
table layouts.
# Bug fixed
- Error : Employee can work in multiple services in the same time
Version 1.4.1 (18th April 2013)
# Bugs fixed
- Venue dropdown list in employee modification (Backend)
- Modal view of Venue in booking page (Frontend)
- Update Czech language package
Version 1.4.0 (14th April 2013)
+ Added : - Venues management
- Google Calendar integration
- ClickAtell SMS integration
- Ability to prevent customers to cancel order request before X hours
# Bugs fixed
- Date time format in order lists
116
Copyright 2007 – 2015, Ossolution
Troubleshooting
Javascript Errors
Nowadays almost every Joomla extension uses JavaScript to create a more
responsive website for a better user exprience. Mostly all JavaScripts rely on a
JavaScript library like jQuery, Mootools or others. Using different scripts on a
webpage can cause conflicts between them. This tutorial helps you to detect
and resolve these script errors.
How to detect errors?
If your website does not work as you expect when you click something or an
animation stopped working, this could be the result of a script error. In case of
an error the script-execution will be stopped by the browser. While some pages
might still work, others don't. Not every script is being loaded on every single
page of your website. A way to investigate these errors is to use the browser's
debug console on the page where the error occurs. In Firefox you can use the
Firebug Addon, other browsers like Chrome, Safari or Opera already have similar
tools built-in. These developer tools will show you the script-errors including
information about what went wrong, the file and line number, and the line of
source code that caused the error. This will really help you with debugging any
script errors.
How to resolve errors?
If you've detected a JavaScript error on a page you need to find its origin.
Usually the errors are caused by an extension or combination of multiple
extensions. The browser's debug console will help you to identify the scripts and
their related files on your webserver. Once you have identified the extension you
can try disabling it to make sure your page works without any errors again. If the
error is gone, you've found the extension causing the conflict. Now you can look
for the extensions configuration option and see if it lets you enable/disable
loading a JavaScript library like jQuery to resolve the errors.
How to prevent loading jQuery multiple times?
There is an ongoing discussion in the Joomla community on how to prevent
loading jQuery multiple times across extensions. We have already taken steps
and measures by implementing a widely accepted solution. We register through
JApplication whether jQuery is loaded or not. In case a 3rd party extension
loads the jQuery library you can use the following code snippet to prevent our
OS Property extension, theme from loading it twice:
// load jQuery, if not loaded before
if (!JFactory::getApplication()->get('jquery')) {
JFactory::getApplication()->set('jquery', true);
117
Copyright 2007 – 2015, Ossolution
// add jQuery
...
}
Useful Links

Firebug Guide for Web Designers - http://sixrevisions.com/tools/firebug-guideweb-designers


Chrome Developer Tools - http://code.google.com/chrome/devtools/
HTML5 Rocks - Introduction to Chrome Developer Tools http://www.html5rocks.com/en/tutorials/developertools/part1/

Paul Irish - A Re-introduction to the Chrome Developer Tools http://paulirish.com/2011/a-re-introduction-to-the-chrome-developer-tools/

Safari Developer Tools -

http://developer.apple.com/library/safari/#documentation/appleapplications/
Conceptual/Safari_Developer_Guide/DebuggingYourWebsite/DebuggingYourW
ebsite.html
Opera Developer Tools - http://www.opera.com/developer/tools/
118
Copyright 2007 – 2015, Ossolution