- Joomla 3.3.x or newer
- MySQL 5.1 or newer
- Support Bootstrap 2 & 3 Joomla template
2. Global configuration
- Operator: In the routes list, system does not show the company name: Portal: Show bus operator name in the routes list
- Currency setting: Main currency (three letters of ISO 4217 Currency Codes), currency symbol (to change symbol of currency into $, £, ₩...)
- Date time format: Accept standard PHP time format
- Cut off time: Only display route before cut of time (in minute) of departure
- Disable Seat: Enable or disable graphic seat
- Google Map API Key: Fill your google map API key
- Term and Condition setting: Create the article for display term and condition at the payment page
- Customer field: Customer is the person who buys ticket, customer may be not the passenger. You can customize customer fields in the booking form
- Passenger field: Passenger will be transfered from location A to location B by bus operator. You can customize some passenger fields in the booking form
2. Master data manager
You should follow the steps below to setup data for bus booking engine
2.1 Bus company manager
You can sell ticket for one or for multiple bus operator, thus you can manage your bus operators at the backend. Can add, update and remove the bus company
2.2 Destination manager
To manage depart destination and arrival destination, the bus route will be from a destination to another destination, you should define the map location to get google route map
2.3 Seat layout and capacity management
To manage seat layout, you can create a layout with number of row and col, you can setting up the attribute of each seat
2.4. Buses Management
You can add/edit the unlimited buses in the backend. The buses should belong to one bus company and has to select a seat template.
If you don't use the graphical seat for booking process, you have to define the number of seat for each bus
2.5 Ticket Type manager
You can define the ticket type for your bus booking system, the ticket type can be adult ticket, child ticket, senior ticket, family ticket ....each ticket type can have different price when you create price for route
+ A route can have many segments, for example: A->B->C has the A->B, B->C, A-C segment, then the customer can book main route or segment, the main route and their segments has the same code
+ Round trip route: You have to define two routes for getting the round trip booking, for example: You have to define A->B route and B->A route.
3.1 Create route group
You can create route or multiple route with this tool, if you add three destination is A,B,C then you will get A-B, B-C and A-C segment in this route.
3.2 Create pickup and drop off location
You can create the pickup and drop off location for each route, when customer make a booking, they can select the pickup and drop off location for their trip.
If the pickup and drop off is not define, the start and end location will be use for pickup and drop off
To do it, select a route and click edit
3.3 Adding rate for route
You can define rate for each route on date, if the price of date is not available, the route does not display on the search result of the frontend.
The total price of round trip booking policy: Total = Round trip price (one-way) + Round trip price (return)
This view helps you creating rate for a duration
4. Email Setting
To manage email template, you can edit email template which be sent to customer when booking
5. Addon management
JB Bus allows to define the extra options for booking. It can be used for luggage, ski, pet ... If you define addon at the backend, it will be showed at the booking form of frontend, customer can select number of addon in their booking
5. Booking management
Booking status: Pending, Confirmed
Payment status: Not paid, Paid
Seat availability: System calculates the seat availability by the confirmed booking status, if booking status is pending, the seat of that booking will be available
Can filter booking by some parameters
5.2 Hold seats with Payment method (New)
With a payment method (use for Pay by cash, or bank transfer, Pay on board...), Admin can configure system to hold the booking until payment is success or release the booking if payment is not success after number of minutes
To do that, you should do:
1) Setup payment offline plugin: Setup booking confirmed status
2) Booking Configuration: Setup number of minutes that booking will be expired in the minute expired field, fill keyword of payment method
3) Setup Cron to release seat
- Link to run function to release seat: http://yourdomain.com/index.php?option=com_bookpro&task=unhold
- For Cpanel: You can create the cron with command /usr/bin/GET "http://yourdomain.com/index.php?option=com_bookpro&task=unhold"
Replace yourdmain.com by your website domain
5.3 Passenger Manifest report and Seat Allocation
Passenger manifest exports the passenger list for a route in a day. And you can save report to PDF format
In passenger report, you can see the seat allocation for each route in a specific day.
Agent function is extra addon, it's available in the ready bus booking template template
JB Bus will be supported agent feature (reseller) who can login and sell bus ticket
1. Create a Joomla Group ( Joomla User manager), called "Agent" for example
2. Go to JB Bus->Options -> Account Setting Tab: Select "Agent" in the box "User Agent Group"
6.1. Agent registration
Agent should register an account at frontend by registration form. In default setting, this account belongs to the customer group.
1. Register account by frontend registration form
2. User activates account by email
3. Admin goes to Joomla User Manager and assigns customer to Agents group
4. Customer will become agent and can login to frontend to booking
You can create agent account at the backend with same logic
6.2. Agent Dashboard
- Create a menu item which linked to Agent/POS page
- Agent will login to the website before booking the ticket.
- Agent can manage booking and passenger at frontend
1. View ticket
To create a page for displaying ticket
Create a menu item to link to JB BUS -> Single Booking Detail
2. Setup/Config the payment plugins