Skip to content

alagesan/OTA-Channel-Aggregator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OTA Channel Aggregator

A custom channel manager solution for Alps Residency to manage room availability, rates, and bookings across multiple Online Travel Agency (OTA) platforms from a single unified dashboard.

Problem Statement

Currently, Alps Residency uses multiple OTA platforms (MakeMyTrip, Goibibo, Yatra, Booking.com, Agoda, Travelguru) and must manually manage room availability and rates through each platform's separate extranet portal. This manual process is:

  • Time-consuming and error-prone
  • Difficult to maintain rate parity across channels
  • Risk of overbookings due to delayed updates
  • Lacks centralized booking visibility

Solution

A unified channel management system that:

  • Provides a single dashboard to manage all OTA channels
  • Automatically syncs inventory and rates across all platforms in real-time
  • Consolidates bookings from all OTAs in one place
  • Prevents overbooking through intelligent conflict resolution
  • Ensures rate parity compliance

Tech Stack

Backend

  • Language: Java 17+
  • Framework: Spring Boot 3.x
  • Database: PostgreSQL (primary data store)
  • Cache: Redis (rate/inventory caching, session management)
  • Message Queue: RabbitMQ (async OTA synchronization)
  • Build Tool: Maven or Gradle

Frontend

  • Framework: React 18+
  • Type Safety: TypeScript
  • UI Library: Material-UI (MUI) or Ant Design
  • State Management: Redux Toolkit or Zustand
  • PWA: Progressive Web App with offline capabilities
  • Build Tool: Vite or Create React App

Infrastructure

  • Development: Docker Desktop (containerized local environment)
  • Database Tools: pgAdmin, Redis Commander
  • API Testing: Postman, Swagger/OpenAPI

Key Features

Phase 1 - MVP

  • Single property management
  • MakeMyTrip/Goibibo integration
  • Basic inventory and rate management
  • Manual booking entry
  • Simple dashboard

Phase 2 - Core Features

  • Multi-property support
  • Booking.com and Agoda integration
  • Automated booking sync
  • Conflict resolution engine
  • Calendar view for availability

Phase 3 - Advanced Features

  • Yatra and Travelguru integration
  • Dynamic pricing suggestions
  • Analytics and reporting
  • Rate parity monitoring
  • Mobile-responsive PWA

Project Structure

OTA-Channel-Aggregator/
├── backend/                 # Spring Boot application
│   ├── src/
│   │   ├── main/
│   │   │   ├── java/
│   │   │   │   └── com/alps/channelmgr/
│   │   │   │       ├── config/      # Configuration classes
│   │   │   │       ├── controller/  # REST controllers
│   │   │   │       ├── service/     # Business logic
│   │   │   │       ├── repository/  # Data access
│   │   │   │       ├── model/       # Entity classes
│   │   │   │       ├── dto/         # Data transfer objects
│   │   │   │       └── integration/ # OTA API integrations
│   │   │   └── resources/
│   │   │       ├── application.yml
│   │   │       └── db/migration/    # Flyway migrations
│   │   └── test/
│   ├── pom.xml (or build.gradle)
│   └── Dockerfile
├── frontend/                # React application
│   ├── public/
│   ├── src/
│   │   ├── components/      # Reusable UI components
│   │   ├── pages/           # Page components
│   │   ├── services/        # API service layer
│   │   ├── store/           # Redux/Zustand store
│   │   ├── hooks/           # Custom React hooks
│   │   ├── utils/           # Utility functions
│   │   └── App.tsx
│   ├── package.json
│   └── Dockerfile
├── docker-compose.yml       # Local development setup
├── docs/                    # Additional documentation
│   ├── IMPLEMENTATION.md    # Detailed implementation guide
│   ├── API.md              # API documentation
│   └── DATABASE_SCHEMA.md  # Database design
├── channelmgr_ideation.md  # Initial research and ideation
└── README.md               # This file

Getting Started

Prerequisites

  • Docker Desktop
  • Java 17+ JDK (for local development without Docker)
  • Node.js 18+ (for local frontend development)
  • Git

Quick Start with Docker

# Clone the repository
git clone <repository-url>
cd OTA-Channel-Aggregator

# Start all services
docker-compose up -d

# Access the application
# Frontend: http://localhost:3000
# Backend API: http://localhost:8080
# API Docs: http://localhost:8080/swagger-ui.html

Local Development Setup

See IMPLEMENTATION.md for detailed setup instructions.

Development Roadmap

  • Phase 1: Project setup and infrastructure (Week 1-2)
  • Phase 2: Database schema and models (Week 2-3)
  • Phase 3: Core backend services (Week 3-5)
  • Phase 4: MakeMyTrip/Goibibo integration (Week 5-7)
  • Phase 5: Frontend dashboard MVP (Week 7-9)
  • Phase 6: Queue system and sync engine (Week 9-11)
  • Phase 7: Additional OTA integrations (Week 11-15)
  • Phase 8: Testing and refinement (Week 15-16)

Contributing

This is a private project for Alps Residency. For questions or suggestions, contact the development team.

License

Proprietary - All rights reserved by Alps Residency

Support

For technical issues or questions, please create an issue in the project repository.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors