building a holiday booking platform

April 2020 — December 2021

this was my first project at bizigo, and i worked on turkish airlines holidays for almost two years. it was also the first time i worked in a team this large, with multiple backend teams and a frontend team, on a microservice-based system. because of that, this project has a special place for me.

the live project is available at turkishairlinesholidays.com.

i mostly worked in the bff team. our responsibility was the service that the frontend used to fetch data. the bff was collecting data from different backend services, mapping it, and returning it in a format suitable for the frontend. since i was working on the bff side, i also had to touch other services from time to time, especially around integration points with product and reservation services.

the system had a flow specific to the tourism domain. unlike a classic e-commerce system, there was no simple stock structure. most of the flow was based on temporary reservation data and tokens received from different providers. before the payment step, token and availability checks were done. after a successful payment, reservation/ticket creation requests were sent to the related providers. if something failed, the operational process took over.

this taught me a lot about distributed systems, provider integrations, error handling, and why operational processes matter in real production systems.

for listing, search, and filtering, we used elasticsearch. hotel and package data were stored there for search and detail page scenarios. this helped us return results faster and generate filters more easily. we also used custom analyzers and synonyms for full-text search, so the search experience could understand related terms better.

redis was used for caching, temporary flow data, and some performance-critical scenarios between the hotel page and the payment flow. for asynchronous jobs, some services also used hangfire.

this project was important for me technically because it was one of the first large production projects where i worked with bff, microservice integrations, elasticsearch, redis, multi-language support, provider integrations, and coordination between multiple teams.