We have a number of travel websites that are currently using a Perl script to deliver results to users.
It's getting increasingly difficult to get Perl supported so we'd like to move the search side of things to PHP.
Copies of our current Perl scripts will be available if required - they will probably be useful for some of the logic involved.
The sites are live so the main development will need to take place on your own machine. Please do not bid if you are not able to do this.
The main functions of the script are as follows:
• Update a mySQL database using data that we upload in a data file plus other data from a comma separated file. The current database format is attached - you'll need to change the main database name (and this should be settable in a config file - see later). Note: the current structure is also used by our autocomplete script - this is also Perl based but we're not sure if that will need changing & are open to suggestions on this.
• Retrieve real time data from [url removed, login to view] for hotel availability according to criteria selected by site users - a location, a date range, optionally room types, optionally other features. This data is served via XML. Merge this data plus [url removed, login to view] data (from the mySQL database) into the results shown to the user. The results should be template based so that we can change the look and feel independently.
• Return search results. If the user hasn't selected dates and the search resolves to a static page (which most of our pages are) then go directly to that page. If they have selected a postcode/zip code then deliver results based on the appropriate latitude/longitude, closest properties first. If they have selected filters such as dates, star rating, facilities, price, etc then present results based on those selections.
The script will need a configuration to store site specific information - current config file is attached.
We assume that this project will be created in stages and we will need to check those stages as they occur, so we'll agree and set up milestones if you are awarded the project.
All code needs to be documented with liberal use of comments and meaningful variable names.
The code will run on a Linux host - it needs to work on shared hosting as well as VPS hosting as we have a variety of different hosts.
Please don't send a canned "we can do this" response to this project.
Please be realistic about timescales - it's not trivial but we don't think it's vastly complicated either.