Home/Case studies/TravelShop
Airline bookingVue 3 · NuxtTeam developmentORS

TravelShop — a flight search
and booking system

One of the most demanding frontend domains in the airline industry. Worked on the ORS team building UI components for key flows — from flight search to ticket refunds — implementing API caching and auditing the codebase.

4key product flows
20+reusable components
8 yearsin the airline domain
Vue 3TypeScript · Pinia
Context

A domain
where a mistake
is expensive.

Airline booking means hundreds of fare rules, strict passenger data validation, heavy search queries, and complex operational logic — exchanges, refunds, web check-in. Any error in that chain turns into real money lost and a ruined passenger experience.

My contribution to the team's work spanned several critical areas: designing and building reusable UI components, implementing REST API data caching, and auditing key parts of the codebase — the core, data models, and Pinia stores.

My contribution

What I did on the project.

Four areas of work — components, operational flows, caching, and code audit.

01

Booking UI components

Designed and built complex reusable components for flight search screens, fare selection, and passenger data forms.

Vue 3TypeScriptcomponents
02

Web check-in, exchange, refund, personal account

Implemented UI for operational flows: online flight check-in, ticket exchange and refunds, passenger personal account screens.

bookingcheck-inpersonal account
03

REST API data caching

Implemented caching for heavy REST API requests — fewer redundant requests, faster interface response, without sacrificing data freshness.

cacheREST APIperformance
04

Code audit: core, models, Pinia stores

Audited the codebase — the application core, data models, Pinia store structure. Identified bottlenecks and proposed solutions.

auditPiniadata models
Screenshots

What it
looks like.

Result

What remained
after the work.

Concrete artifacts that keep working in the product.

  1. 01
    Library of reusable components

    Components for all key screens — booking, check-in, exchange, refunds, personal account. Typed, documented, usable by the team without a walkthrough from the author.

  2. 02
    REST API caching

    A caching layer for heavy requests: fewer redundant calls to the server, faster response on critical booking screens.

  3. 03
    Audit with recommendations

    Documented bottlenecks in the core, data models, and Pinia stores — with concrete proposals for fixing them.

  4. 04
    Experience in a critical domain

    8 years in airline systems — an understanding of fare rules, validation, and ticket operations that no documentation can replace.

"Aviation doesn't forgive 'temporary solutions.' I learned to write components that don't break with the next fare rule change — and that's worth more than any refactor done for its own sake."

— Danil Lisin, on working on TravelShop with the ORS team
Next step

Need experience in a demanding domain?

Describe the task — we'll discuss which experience fits your product. Work under NDA.