Closed

Greasemonkey Travel Comparison Script(repost)

This project received 3 bids from talented freelancers with an average bid price of $523 USD.

Get free quotes for a project like this
Employer working
Project Budget
N/A
Total Bids
3
Project Description

The deliverable is a greasemonkey script which pulls information from various travel sites and displays it on other travel sites. See the details below.

## Deliverables

The deliverable for this project is a greasemonkey script which operates on the following Travel comparison websites: a) Orbitz b) Travelocity c) expedia d) Priceline e) hotwire f) Kayak g) [url removed, login to view] h) Sidestep This script should activate on any page on these sites which displays the result of a search for flights. The script should insert a div above the existing search results which displays a message like "Searching for better prices" with an ajax-y spinner image. The script should then do the same search on all of the other sites and as the results come back, filter and unique them to generate a list of all flights that are not already offered through the current page as well as any flights that are listed on the current page but are cheaper somewhere else. The mechanism for making the list unique should be to create a unique identifier for each flight which is in the format "{airline}_{departure_airport}_{departure_time}_{arrival_airport}_{arrival_time}". Each element of the identifier should be normalized before being used in the identifier. The normalization process should ensure that identical elements from the different sites will normalize to the same value. For example, if one of the sites uses the airline codes like "UA", "VS", whereas another site uses the full name, for example "United Airlines" or "Virgin America", they should both be translated to one format or the other, ideally the shorter one. Likewise departure and arrival airport codes should be normalized if necessary. And of course time should be normalized (to the same format and time zones). The requirement for the UI is that it needs to insert the div in the page and display a list of links (in UL/LI tags), where the href of each link is the link from the original site and the innerHTML of the element is the unique identifier. You do NOT need to worry about styling the div or making it look good. This list should fill in as results arrive and are processed. When the process is complete, the "Searching for better prices" message should be updated to reflect the fact that the process has completed, perhaps to something like "Found XYZ flights that are cheaper than the current page:" (where XYZ=the number of cheaper fares found). The mechanism used to retrieve the results is up to the coder, but it should not create any unnecessary visual elements on the page. If necessary you may use the PrivilegeManager to enable the XPConnect privilege and use Firefox's built in XPConnect methods to fetch the contents of a remote URL. If you take this approach, the script can assume that codebase principals are enabled so that the script does not have to be signed. If this approach is used, the best practices about reducing the trusted codebase from the referenced mozilla security page should be followed. While we are aware that the retrieval and processing of the offsite pages may take a while (10s of seconds if on a slow connection), it is imperative that the script not freeze the browser or otherwise negatively impact the user's perception of performance. If necessary tight loops should be replaced with setTimeout callbacks to allow other code to have a chance to run. (For more information on this subject, see this page: [url removed, login to view] which describes the appropriate pattern (replacing loops withtail recursive calls simulated via setTimeout) for a different purpose. All but the simplest parts of the code must be well commented. Please feel free to ask questions if anything is not clear. References: [url removed, login to view] [url removed, login to view]

Looking to make some money?

  • Set your budget and the timeframe
  • Outline your proposal
  • Get paid for your work

Hire Freelancers who also bid on this project

    • Forbes
    • The New York Times
    • Time
    • Wall Street Journal
    • Times Online