Tour operator offer's comparison app

PZU Idea Generator

Once again we had the pleasure to co-work with Rainbow Tours team on one of the tour operator’s IT projects. Together we’ve prepared a web application, that allows sellers and helpline workers to present custom offers in a personalised form and generate them especially for travel agency’s client.

Rainbow goals

Rainbow decided to come across travel agencies clients expectations and give them possibility to receive personalised offers of their dream vacations in an easy and accessible way. Thanks to this project, Rainbow’s clients can get trip offers that are customised to their needs and expectations, regardless whether they prefer traditional (PDF printout) or more modern approach (view of dedicated offer in a web browser after clicking on generated for the client special url address).

Additionally, clients can get permanent access to offers comparison that have been generated specifically for them by a travel agent or call centre employee. The customer can view the details of the offer anywhere and anytime - all he has to do is open his personal URL address, which he received from a Rainbow employee. Additionally, the offers are assigned to a specific salesman who supports the client, allowing the customer to have direct contact with a customer assistant and feel that he or she is well taken care of.

“Offer's comparison app” is also a great tool for Rainbow’s sales network. Preparing offers in the form of personalised documents and links, allows agents and helpline workers better reach clients with selling message.

PZU Idea Generator application

What were the project’s technical assumptions?

As a part of project’s implementations both Rainbow and eEngine teams had to cooperate tightly with each other. Client’s team had to take care of delivering data needed to generate tour offers through Rainbow system’s API. We took care of:

  • adjusting graphic design to visual identity of R.pl;
  • preparing front layer of application;
  • preparing containerisation (Docker implementation);
  • implementation of mechanism to generate offers viewed in web browser and in PDF file.

The generating mechanism downloads data from Rainbow's API. Then, it generates a PDF document with the offer according to the settings selected by the user. The salesman can save it or send a dedicated URL address to the offer directly to the client via a systematically generated email. All this translates into the desired goal: the offer generated in this way receives a unique URL link. In addition, it is possible to personalise the offer for a specific travel agency customer.

Challenges that we faced

The most demanding element of the project’s implementation was dividing applications into components, which final appearance was defined by Rainbow’s API.

On the other hand, the hardest part of implementing the PDF generation mechanism was dynamically generating the document according to user settings. Every change in settings caused a new layout of the webpage and defined a new final PDF structure for the travel agency customer. The PDF generating mechanism was based on the data displayed on the front view of the application, so once the appropriate PDF generation logic was prepared, any change to the data structure had to be adjusted in this part of the application.

While joining the project realization we wanted to close elaborate data, standing behind application’s assumptions in the most accessible artwork, compatible with the newest standards in designing web pages.

PZU Idea Generator application

How did our collaboration look like?

The whole project was realized with intense and engaging contribution of Rainbow’s IT team. In reality it translated into:

  • workshop meetings – during which we worked on the concept of the application's architecture and appearance. In order for the project to proceed at a good pace – regular workshops were crucial;
  • We maintained constant communication with the Rainbow Team through a dedicated Slack channel. With this tool, the Rainbow team was in constant contact with our team. This allowed us, as well as our client, to respond more quickly to questions, problems and clarify key issues together.

The rhythm of the project's life was determined by weekly sprints. We chose scrum because we wanted to give Rainbow as much influence as possible over how the "Offer's comparison app" would look like in its final version. Every Monday, the client team received a document from the project manager with the current status of the work. The status described exactly which tasks we’ve completed and which ones we didn't in a given sprint and why. With the statuses and regular progress reporting, the client was kept informed of progress and problems. Close cooperation with the Rainbow team allowed us to work out the appropriate structure of the data sent through the API very quickly, in order to achieve the expected results as soon as possible, both on front view of the application as well as in PDF generating mechanisms.

PZU Idea Generator application

Technologies that powered us up during implementation

Graphic design was predated by prototype phase which included creating functional mock-ups. Finally graphic design with all the necessary elements was created in Adobe Photoshop and Adobe Illustrator.

We used React.js, Sass and Docker to implement the front end of the application. React.js is the proper technology to work with the API that provides data to the application and allows us to build applications really fast. SaaS makes the deployment of the graphic designs easier, and thanks to Docker, we’ve covered the application's compatibility with the client's server environment.

We used the Ruby on Rails framework to implement the PDF generation mechanism. Proper gems made our work easier, we could generate PDF files directly from data downloaded from the backend (client API), which allowed to generate personalised PDF files quickly.

PZU Idea Generator application

Final effect

This solution optimises a lot of work of travel agencies sellers, those working in Rainbow agencies,and remote agents (working in call center). Each offer has the contact details of the agent who generated it, and thanks to this, clients have a direct contact to Rainbow employees supporting them.

Stationary employees generate customer-dedicated tour offers, which are presented to customers in an accessible way during the sales process. Having the possibility to personalise the PDF file, they can also print key information about the selected offers, as well as key information about the tour.

Remote agents generate comparisons of offers, which are then personalised by filling in clients' personal information. A link to the comparison made this way is sent by Rainbow employees via email to people who want to buy a trip, so they can conveniently look through the travel agency's proposition anytime and anywhere.

From programming point of view - well adjusted components and well-though logic of applications action already while in the realization of graphic design stage, allowed us to create functional product in short period of time. Within 5 weeks after delivering final version of application “Offer's comparison app” Rainbow can boast about more than 20 000 generated offers.

Thank you Rainbow, that we could once again go on a programistic trip and achieve our goals together.