PBBooking Installation Walk Through
Once you've downloaded the extension you will have a compressed Joomla! packakge that is ready for install. Go to your Joomla! Extension Manager by going to admin and clicking Extension Manager in the Extensions menu. Select the "choose file" button next to Package File under the Upload Package File fieldset, browser to your compressed PBBooking package, select it and click install.
Getting PBBooking On the Page
Great, now that PBBooking is installed it's time to add it to your page. PBBooking is a Joomla! component. This means that it takes the full page in much the same way as a Joomla! article is displayed. Adding a component is a little different to adding a module, or plugin, and it needs to be liked to a menu item.
From the Joomla! administration page highlight "Menus", then scroll down to the menu you wish to add PBBooking to, hover over it and click on the "Add New Menu Item" link that appears.
From the “Menu Manager: New Menu Item” screen click the “Select” button beside the “Menu Item Type” field
Then choose “Standard PBBooking Layout” from the resulting list of layouts that appears.
You can now use the new menu item you have created in the front end to access PBBooking.
Some Basic Configuration
Now that we've got PBBooking displaying on the page, there's some basic configuration steps that we need to go through to make sure everything is going to work properly.
Step 1: Configure Trading Hours & Shift Times
You most likely don't run your business 24x7 so you probably don't want people booking appointments just any time of the day or night. Properly configuring trading hours and shift times allows you to take bookings when you want them.
Configuring trading hours is dead easy, for each day that you are open for trading check the appropriate box, then enter an opening time and a closing time. Times need to be entered in 24 hour time format with the leading 0 if required.
To avoid clutter on the front end, times are divided into shifts. These are just arbitrary, user defined time groupings and prevent your customers getting overwhelmed with 40 or 50 radio boxes to choose from. Shifts are defined in the Configure Shift Times tab.
Just enter a shift label, a start time in 24 hour format, and an end time in 24 hour format, and you're away. If you don't like my shift groupings click the add shift button to add another grouping or check the box and hit delete shift to remove.
Shift labels don't support spaces, symbols or unicode character encodings.
Step 2: Configure Calendars
Being an online appointment solution it's not surprising that we want to write events to a calendar. Select the calendars tab from the PBBooking Menu to configure the calendars you are going to use.
The most important thing to make sure you have configured is the Calendar Trading Hours. These are calendar specific hours of operation that are used. Check the box in the Is Trading Day? column if you're open on that day and then specify your opening and closing time for the calendar.
At first this may seem like a bit of duplication, but this allows you to have specific hours of availability for specific employees. For example while you may be open from 10am to 8pm every day, a part time massage therapist may only be available two of those days and from 2pm - 8pm. Having trading hours specific to a calendar allow you to reflect that scenario.
Step 3: Configure Some Services
This is probably something you really want to do! If you don't have services configured then there's nothing for your customers to book!
Click on the Services tab in the PBBooking menu to configure services. Either click on New to add a service or check the box of an existing service and click edit to modify.
The Services edit / create screen is pretty straight forward. For each service you just need to define:
- Name - this is the name of the service that the user will see in the front end calendar.
- Duration - this is the amount of time taken to perform the service in minutes. This is used for creating appointments and calculating free / busy time. The user does not see the duration. Be sure to take into account any gap needed between appointments for preparation / cleaning.
- Price - this is the price of the treatment in your local currency. Currently this does nothing beyond display the price but it will be used for implementation of payment gateways in future versions.
- Linked Calendars - this is vitally important, select the calendars you wish to link this service to from the select box.
When a service is allocated to multiple calendars there is no specific ordering to the way the service is allocated to a calendar. The calendar choice is also not available to users.
Step 4: Set General Configuration Parameters
The final step is to setup some general configuration parameters. This is where we define the emails sent to clients some miscellaneous view settings, and date display.
Validation Emails The main area that needs customisation in this section is the email that goes to the client. This is sent from the address defined in the Joomla! mail configuration, so make sure you have Joomla!'s mail setup correctly. Any of the custom fields you define as part of the custom field configuration can be included in the email to the customer. Just insert the varname in the |*varname*|. This allows you to compose some very specific emails to clients.
There are two different spaces for emails:
- the email subject and email body fields are used when sending a validation email to the client where the validation setting is defined as validation by client
- the auto validation subject and auto validation client message are used when sending the client notification of their booking when using auto validation.
Validation settings are new in 2.3 and allow the administrator to redefine the appointment booking workflow. Appointments can either be validated based on:
- the client clicking a link in the email they are sent
- automatic approval
- the administration clicking a link to confirm.
The view settings allows you to do some basic customisation of how the main view renders on the screen. The default settings should be applicable in most cases.
- Block same day allows you to prevent people from booking on the current day and requires bookings to start from the next business day
- Show link adds the “Powdered by PBBooking” back link to the bottom of the calendar
- Show prices includes the price of the service in the service description
- Time increment specifies the granularity of time slots for appointment booking
- Week commences allows you to change the day that the front end calendar commences from
- Fields to include in manage diaries allows you to override the default appointment summary that appears in manage diaries with a customer summary based on any of your custom fields
The date configuration section is an important part of customising PBBooking to your requirements.
The Calendar Heading Date Format, Calendar Cell Date Format, and Confirmation Messages Date Format, are all used in rendering dates in various locations of PBBooking. To ensure multilingual support these use codes supported by PHP's date command. For a full explanation of date modifiers check the php documentation at http://php.net/manual/en/function.date.php.