Introduction Coder must develop a complete online air travel booking system in the fashion of [url removed, login to view], [url removed, login to view], etc. (flights only). The site will take advantage of a niche market and contain a service fee and points reward system based on the number of miles booked. The site must include a credit card billing interface. Technifly's responsibilities Establish a contract with GDS system Establish a contract with a credit card merchant service Establish a contract with a ticketing agency (These may all be done through a single provider ??" recommendations welcome).
Functional Specification (45% of project)
Overall, this is a simplified version of functionality provided by sites such as [url removed, login to view], [url removed, login to view], [url removed, login to view], and webjet.com.au. It will be United States centered and based. The site will initially only include flights at the moment. Hotel and car functionality can be added later, but is not part of these requirements.
- Interface with a mutually decided GDS system (Sabre, Gallileo, ita, etc.)
- Ability to query fares for any airport in the world (city name or airport code) typed in to any other airport (city name or airport code) in the world
- Shows every option of every airline available through the GDS, as orbitz, travelocity, hotwire do.
- Can sort these results by price, number of connections, and closeness to preferred time.
- Displays prices inclusive of base fare, taxes, and a service fee. (and displays the tax and service fee
amounts underneath the inclusive price, similar to [url removed, login to view], but plus the service fee which is calculated based on milage) - Allows one-way, round trip, and “open jaw?? bookings.
- Shows a “searching?? page while flights are searched
- From the flight results displayed, a flight (or flight pair) is selected, confirmed, booked, and charged to the customer's credit card using a secure entry system which exists, or appears to exist, on the same site.
- Simple back end interface allows administrators to view and get details of bookings for troubleshooting purposes.
- All queries to XML GDS interface will be logged in a log file.
- User can hit the back button without totally breaking the whole process ??" POSTDATA to a previous page should be allowed. (orbitz, travelocity, etc allow this)
- Customer may register to create a profile when booking flights
-- Customer's loyalty is tracked here ??" the number of miles they travel is logged in their profile
-- Credit card info will NOT be logged at this stage. (this adds a liability). Users will be required to re-enter credit card data each time a booking is made. (for now.)
- Gives user confirmation code at end of booking process
-- When applicable, this should be the GDS's confirmation code, such as sabre's 6 digit code.
- Confirmation code is emailed to user with details of the flight.
Performance Requirement (part of Functional Specification)
- System must not take more than 15 seconds to return queries (such as searching for a flight from Boston to Paris) unless the GDS is at fault or causing excessive delays.
- System must allow 10 users to be active at once on any particular server/instance
- System must be horizontally scalable ??" it should work on a second machine at the same time if I use some kind of redirecting load balancer (load balancer not required as part of development). I don't see why this would be an issue.
Visual Requirements (remaining 55% of project)
These can be done at the same time as the functional specification, or if you chose, you may develop an ugly functional interface first and do these after. Most of these are just simple style guides, but they are important.
- MUST work in both IE and Firefox (on Windows, Linux, Mac) ??" I will do the testing if needed.
- Visuals are focused on Joy Of Use ??" the site should have a friendly feel.
- See [url removed, login to view] for inspiration.
- Font must be readable and Web 2.0 style ??" round and comfortable
- Tables must be rounded (see [url removed, login to view], [url removed, login to view])
- Tables must have a 3d effect (like [url removed, login to view])
- Optionally (set by administrator), tables can roll out (please use a light-weight ajax framework). - Buttons are rounded and 3d “hard plastic?? look as in examples above
- When “searching?? or “booking?? flights, everything except ajax “searching?? dialog box should be dimmed out until the query is done. (example: [url removed, login to view] .. check the screenshot)
- Show aircraft type (just text) if possible in the query results ??" if not possible through GDS, don't worry about this one
- Pages load in a graceful manner. (don't do anything that causes flashes or redraws halfway through).
- Results must be displayed in a non-cluttered way... keep it clean
- The confirmation page (and email) looks like a 3d certificate.
- Confirmation page has a printable version.
- User has option to send text-only confirmation email.
- Code must be maintainable and understandable. This means:
-- Use tabs accordingly!
-- Name variables appropriately ??" i.e. char airline_temp instead of char string23
- All strings in the application should be referenced from an separate file (can be a file of static variables or XML that is sourced on the build), which allows us to easily change the phrases (such as “flight information?? or “please wait while we find flights??) in the program, if we want to translate them other languages.
1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done.
2) Deliverables must be in ready-to-run condition, as follows (depending on the nature of the deliverables):
a) For web sites or other server-side deliverables intended to only ever exist in one place in the Buyer's environment--Deliverables must be installed by the Seller in ready-to-run condition in the Buyer's environment.
b) For all others including desktop software or software the buyer intends to distribute: A software installation package that will install the software in ready-to-run condition on the platform(s) specified in this bid request.
3) All deliverables will be considered "work made for hire" under U.S. Copyright law. Buyer will receive exclusive and complete copyrights to all work purchased. (No GPL, GNU, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site per the coder's Seller Legal Agreement).
IE (Windows) and Firefox (Windows, Linux, Mac)