spacetab

TMC24 — a B2B travel services platform

Project completed, 2017–2020

A workspace for a travel agency and its corporate clients: flights, rail and hotels from different suppliers in one order.

Client and task

Travel Management Consulting arranges business travel for companies and works with a network of agencies. Tickets and hotels had to be searched in separate booking systems, each with its own interface and rules. The client needed one service where an agent or a corporate client builds the whole trip, compares supplier offers and sees the money for every client.

Workspace home: trip calendar, bookings and quick actions
Workspace home: trip calendar, bookings and quick actions
Hotel search for a corporate client with filters, map and supplier count
Hotel search for a corporate client with filters, map and supplier count

What we built

  • Flights from several booking systems

    Amadeus, Sirena, S7 and other suppliers — in one result list.

    Fares from different suppliers are compared on one screen, not in separate windows.

  • Rail and Aeroexpress

    Train tickets via UFS, Innovative Mobility and other suppliers, Aeroexpress airport train tickets — in the same place as the flight.

    The whole journey is booked in one place.

  • Hotels from aggregators

    Hotelbook, Academservice, A&A and other suppliers. The same hotel from different suppliers appears as one card, with filters by stars, meals, room type, and a map search.

    All offers for a hotel are visible at once, so the best deal is easier to pick.

  • Order cart and commercial offers

    One order holds the flight, train, hotel and transfer; the cart turns into a commercial offer for the client.

    A business trip is assembled in full and sent to the client as one document.

  • Corporate client management

    Each client has a company profile, travellers, travel policy, orders, invoices and payments. Agents keep several clients open in tabs.

    An agent handles several companies in parallel without mixing up their trips and rules.

  • Pricing policy and finance

    Per-client markups, available balance, credit limit, account transaction history.

    It's clear how much a client can still spend and where the money went.

  • Trip calendar and documents

    The home screen shows upcoming trips, unpaid bookings and airline special offers. Itinerary receipts and tickets are generated as PDF, notifications go out by email and SMS.

    Today's priorities don't get lost among hundreds of orders, and documents need no manual layout.

  • Agency network

    Partner agencies use the service alongside TMC's own staff.

    One product serves both corporate travel and the agency business.

Collage: client finance, rail search, order and home screens
Collage: client finance, rail search, order and home screens

How it works

The platform is built from independent services. Each supplier has its own adapter; above them, a search service per travel type (air, rail, hotels) merges the answers into one result list. Adding a supplier means adding one more adapter without touching the rest. The client workspace is a Vue web app, the services are written in Go and Python, data lives in PostgreSQL and MongoDB, and everything runs on Kubernetes.

Timeline and scale

  1. October 2017 first services: flight and hotel search.
  2. 2018 rail, Aeroexpress, the client workspace, single sign-on.
  3. 2019 the order service, commercial offers, email and SMS notifications, PDF itinerary receipts.
  4. Spring 2020 main development completed; occasional improvements until 2021.

Scale: about 90 repositories (services, supplier adapters, shared libraries, automated tests) and over 16,000 commits.

What it gave the client

  • One entry point instead of many booking systems

    Flights, rail, hotels and Aeroexpress in one workspace and one order.

  • Client rules built into the service

    Travel policy and pricing policy are set for each company, so agents don't have to keep them in mind.

  • Growth without rework

    A new supplier is a new adapter: suppliers were added without changing the workspace.

Technologies

  • Go
  • Python
  • Vue.js
  • TypeScript
  • PostgreSQL
  • MongoDB
  • gRPC
  • Docker
  • Kubernetes
  • GitLab CI

Status

Project completed. We worked on it in 2017–2020.

Have a similar task?

Tell us about it: we reply within one business day and suggest where to start.

Telegram: @smgladkovskiy · Email: bip@spacetab.io