The main purpose of the proposed system is to build a CMS component (Joomla is preferred) that allows the users to buy bus tickets from a Bus service provider that already have a book system; this remote system will provide the data used by the component via Web Services that we´ll provide.
The users can search for the availability of the buses and then reserve and pay their tickets online using PayPal and a similar service called “Dinero Mail”
he component can change their language according to the language selected in the frontpage of the CMS (English and Spanish)
The functionality of the component is similar to the one in this website:
[url removed, login to view]
The major requirements can be listed as follows:
1. The user can choose the preferred language from the frontend of the CMS and the component will display information in any of the two languages available, English and Spanish (we´ll provide the texts in Spanish)
2. Allow a user to search for a Bus service by selecting:
Type of service
Date and Type of ticket (Senior, Teacher, Minor, Handicapped)
Number of tickets needed for each type.
The system lists :
Type of Service
Fare of the trip
Time of departure
Seats available for each type of ticket
3. Allow a user to select one of the options enlisted, then the user choose the type of ticket, write his/her name; select a preferred seat from one of the vacant seats available using a combo box and/or a graphic layout of a bus.
6. The seat in the layout will change of color to indicate that is already taken, the layout of the bus will change in number of seats depending of the type of service
7. The system should allow the user to make a payment using the Payment Gateway. The system should allow payment through PayPal and Dinero Mail ([url removed, login to view]) this service provides HTML and API´s for integration.
8. Generate a printable Bus Ticket if the ticket booking and payment is successful
9. Send an email to the user’s email account on successful booking along with the Ticket number and trip details
10. Generate an exception message if the booking fails due to Payment failure or due to unsuccessful booking.
11. Refund the processed amount to the same account from which the payment was made, in case the payment was successful but the booking failed.
12. Send data of the purchased ticket back to the remote book system.