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
© Copyright 2024