Technology

Travel technology industry is one of the toughest challenges for software engineers to tackle thanks to complex data and query structure, thousands of inter-dependent variables and huge loads on booking engine during sales campaigns. All of this must also be accompanied by thorough quality control as any small mistake could have a very high cost for our clients. This is why Turnit Ride must always keep up with the latest software technologies and processes, be it in sake of scaling, robustness, automation or integrations with other systems.

Micro-services architecture

Turnit Ride runs on a highly scalable and modular architecture, both from functional and technical point of view. The whole reservation system is built on interconnected micro-services, enabling a more robust and secure deployment of new functionalities without need for extensive system-wide regression testing.

Cloud infrastructure

Combining Turnit Ride’s micro-services architecture with the latest cloud infrastructure, deployed either in Microsoft Azure or Amazon Web Services environments, we can be sure that Turnit Ride is able to sustain even the most demanding client’s expectations and performance peaks.

Since Turnit Ride ecosystem must handle thousands of simultaneous sessions, the system uses automatic upscaling and downscaling the instances depending on the load level. Automatic scaling assures high service quality at every load level and enables to reduce costs of own data centre. In order to provide fast results to any complex queries about trip combinations or yielded pricing, Turnit Ride uses state of the art caching technologies.

Receiving and processing data is divided into independent processes (where possible) – web services receive the data and send it to the messaging system (developed on Azure Service Bus framework). First the messages go to the queue (Service Bus Queue) from where they are taken for processing (Service Bus). This assures that the application server will be dealing with most important data processing first-hand.

Software technologies

Server side components

development platform is MS .NET Framework 4.5 and programming language is C# (all the business logic is developed and deployed on application level, i.e. no functionality (stored procedures etc.) is developed and deployed on database level).

Agency module and operational dashboard

development platform is JavaScript client framework Aurelia. Both modules are built as Single-Page Applications (SPA) to enable instant results to any requests

On-board terminals

Android 4.2+: development platform is Android SDK and the programming language used is Java.

Development tools

Visual Studio, ReSharper, NHProfiler, Android Studio, Mercurial/Tortoise HG, TeamCity, pgAdmin

Testing

Selenium, NUnit, Visual Studio Online Load Test, Jmeter

Caching

Redis

Logging and diagnostics

New Relic, Zabbix

API integrations

Turnit Ride can be easily integrated with any external system by using web services (SOAP, REST), file-based integration (e.g. XML or CSV files via FTP), database level integration, etc. We can either provide an already-existing REST API that covers the whole sales process or modify/develop a specific API necessary for clients.