Project Overview
The main objective was to develop an international/multilingual website for a restaurant booking engine where users could find and book restaurants’ offers in their city or in any country:
Users should have various filters available to narrow their search
The website should be integrated with Google Maps and Livebookings
Users of the website should have the possibility to post reviews without logging in, just using a valid email
Information about the restaurant selected by the user is displayed in a separate window over the site’s map
- The site uses Livebooking API to connect to livebookings database, gather information and make reservations
The site offers an advanced search module to look for offers and restaurants around the world, primarily via the main database with a synchronized version of the Livebookings data, and via Livebookings API (free tables and bookings)
The user is able to search, get information and make booking in a restaurant online by a few clicks
The site contains a "write a review" module, so users can write reviews about restaurants they have visited – made booking via this service
Each result provides information about the restaurant and its relative links to obtain information and make booking in that restaurant, as well as the link to the related Google Map icon
Each restaurant info request updates a list of "visited restaurants" that is available during the users session
The system recognizes a country, town and area where the user entered the site from. When the user visits the site for the first time, the corresponding location appears on the map
Technologies
What Was Done
The development team carried out the following tasks:
Planning, development, and API integration
Implementation of the UI Design with the provided graphic layout
Optimization (W3C compliance, Optimized XHTML code, Optimized CSS, Web 2.0 standards)
QA procedures and testing
The website deployment
Innowise Group implemented separate JS and PHP classes to work with each external service within the limits of the system (Google Map, LiveBookings etc.).
Google Map
Integration of the standard Google Maps API was carried out by means of JS. For that purpose Innowise Group realized a special class with all the necessary methods for interaction with the site map.
Ipgp
An automatic display of the user’s city/country on the Google Map was done by detecting the user’s city/country by the IP address. To detect the city the development team used a free Ipgp.net API of the external service. For performance reasons the IP address and the returned information from the API was stored in a special database table. That API allowed to get IP address information (such as a country code, country name, link to an image for the country flag, city, region, internet service provider, latitude and longitude) that could be used in the website.
LiveBookings
Integration of Livebookings API was carried out by means of PHP. For that purpose Innowise Group created a special SOAP class that includes methods wrappers allowing calling the external Web service methods from the system for connecting to livebookings database, gather information, make reservations, etc.