Skip to main content
All projects

Business Platform

Travel Management Platform

Tours, reservations, invoicing, and task coordination for a travel business

Role
Full-stack developer
Visibility
Confidential case study

Overview

A business application for travel operations covering tours and groups, reservations, invoices, tasks, and integrations with external services and payment providers.

Business problem

Travel operations combine scheduling, capacity, money, and people. A tour has groups, groups have reservations, reservations produce invoices, and every step generates tasks for staff. When those live in separate tools, double bookings and missed follow-ups are common.

The platform models those relationships directly so that a reservation, its invoice, and its follow-up tasks are always connected.

Users and workflow

Operations staff create tours and groups, manage reservations against available capacity, issue invoices, and track tasks.

External APIs and payment providers feed data in and out: reference data from third-party services, and payment status from the provider back into invoices.

  • Tours and groups
  • Reservations
  • Invoices
  • Tasks
  • External API integrations
  • Payment integrations

My role and contributions

Worked as a full-stack developer within a team. The list below describes the areas I contributed to; it is scoped to what I worked on and does not represent the entire platform.

  • Developed backend services and endpoints for reservation and invoice workflows.
  • Integrated external APIs and payment providers, including handling asynchronous status updates.
  • Built and maintained frontend screens for operational staff.
  • Handled client requirement changes and resolved production issues in existing modules.

Technical stack

  • C#
  • ASP.NET Core
  • REST APIs
  • SQL Server
  • JavaScript
  • Bootstrap
  • Payment integration

Architecture

  1. Clients

    • Operations staff web app
  2. Application

    • ASP.NET Core
    • Business rules
    • Background processing for integrations
  3. Integrations

    • External travel APIs
    • Payment provider webhooks
  4. Data

    • SQL Server
High-level layering. Requests flow from the top layer down; dependencies point the same way.

Technical challenges

Payment state that arrives late

Payment providers confirm asynchronously. Invoices had to tolerate a pending state, reconcile provider callbacks idempotently, and surface failures to staff instead of silently staying unpaid.

Third-party data that does not match your model

External APIs return shapes and identifiers that differ from the internal model. Mapping happens at the integration boundary so the rest of the application only sees its own types.

Design and engineering decisions

Isolate integrations behind adapters

Each external service is wrapped in a small adapter with a typed interface. Swapping a provider or handling an API change touches one place, and the core workflow code stays free of vendor details.

Results and lessons learned

  • Connected reservations, invoicing, and tasks into a single operational flow.
  • Produced reusable integration patterns for payment callbacks and external API mapping.

Quantified business metrics are not published for this engagement; the results above describe delivered functionality and engineering outcomes.

Related

Operations PlatformConfidential

Veterinary Management and Reporting Platform

A business platform that runs veterinary service operations: user management, test and report workflows, orders and requisitions, tasks, payments, and client records.

  • C#
  • ASP.NET Core
  • REST APIs
  • Entity Framework Core
  • SQL Server
Case study
Records PlatformConfidential

Property Records Platform

A property records application built on a .NET 8 API using Clean Architecture, SQL Server, and multi-tenancy, with a React and TypeScript frontend.

  • C#
  • .NET 8
  • ASP.NET Core Web API
  • Clean Architecture
  • Multi-tenancy
Case study