The client is a web reservation travel company, present on international market, who offers vacation packages, hotel reservation, flight and car reservation, by integrating offers from tour operators and GDS, also providing an API for supporting integration with other agencies that might sell online from this aggregated offering.
ZYNK was fully responsible for the whole process, including design, architecture, software implementation, QA and deployment.
The online travel platform consisted on a booking engine, payment system integration, integration with large-scale Global Distribution Systems (Worldspan, Amadeus), integration with several tour operators, a Content Management System and an API for other third parties to access complete functionalities of the platform (search offers, order, pay).
The online platform aimed at aggregating, shopping and reservation of vacation packages, hotels, flights and cars.
The front-end website was built on top of a Content Management System, which allows a smooth edit of the content, also easier management of the multiple languages.
The booking engine was a responsible of handling all reservation flows, including making reservation, sending reservation confirmation mail, sending reservation to third party (tour operator, GDS system, etc.), instrumenting the payment process.
The data store contained all the offerings that the online travel platform had. The inventory is synced using two methods (push or pull), depending of the third party. The push method, the tour operator sends the price changes or expiration of offer, instantly when the event actually happens in their system. For the pull method, the online travel system is requesting the full offering and saves it locally, once a day – depending of the tour operator. The biggest challenge was to define a uniform schema for all offers that come from tour operators.
ZYNK also implemented the integration with large-scale Global Distribution Systems, like WorldSpan and Amadeus, for flights and hotel search.
Due to the nature of the project, handling a large number of information was a challenge that we solved by taking smart decisions in defining the system architecture – using DB horizontal scaling and a smart caching layer.