MCPSERV.CLUB
QloApps

QloApps

Self-Hosted

Open‑source hotel booking engine & PMS

Stale(68)
10.1kstars
0views
Updated Jul 7, 2025
QloApps screenshot

Overview

Discover what makes QloApps powerful

QloApps is a full‑stack, open‑source hotel reservation platform that bundles a **PMS**, **booking engine**, and **channel manager** into a single PHP application. From a developer standpoint, the system is engineered to run on any LAMP/LEMP stack and exposes a rich set of APIs that allow external services to query availability, create reservations, or sync rates with third‑party OTAs. The core logic is written in PHP 8.1+, leveraging Composer for dependency management and PSR‑4 autoloading, while the database layer is built on MySQL 5.7+ with a normalized schema that supports multi‑property and multi‑currency operations.

Backend

Database

Frontend

API Layer

Overview

QloApps is a full‑stack, open‑source hotel reservation platform that bundles a PMS, booking engine, and channel manager into a single PHP application. From a developer standpoint, the system is engineered to run on any LAMP/LEMP stack and exposes a rich set of APIs that allow external services to query availability, create reservations, or sync rates with third‑party OTAs. The core logic is written in PHP 8.1+, leveraging Composer for dependency management and PSR‑4 autoloading, while the database layer is built on MySQL 5.7+ with a normalized schema that supports multi‑property and multi‑currency operations.

Architecture

  • Backend: PHP 8.x with Symfony components (routing, event dispatcher) wrapped in a custom MVC framework. The application uses PDO for database access and includes an ORM‑like active record layer that abstracts table interactions.
  • Database: MySQL 5.7+ (or MariaDB) with support for InnoDB storage, foreign keys, and full‑text indexes. The schema is split into modules (core, booking, channel) to ease maintenance.
  • Frontend: Twig templating engine combined with Bootstrap 5 for responsive UI. JavaScript is modularized via Webpack, enabling developers to inject custom components or replace the default UI with a SPA framework if desired.
  • API Layer: RESTful endpoints are exposed under /api/ and are token‑based (JWT). Endpoints cover CRUD operations for rooms, bookings, customers, and rate plans. Webhooks can be configured to notify external services on booking events.
  • Plugin System: Extensions are installed as Composer packages placed under modules/. Each module follows a standard hook interface (install, uninstall, upgrade) and can register routes, database migrations, or template overrides. The marketplace link in the documentation points to a curated list of community‑developed addons (payment gateways, reporting tools, etc.).

Core Capabilities

  • Dynamic Availability Engine: Calculates real‑time room availability by merging internal bookings with external OTA feeds. The algorithm supports complex business rules (minimum stay, blackout dates, rate overrides).
  • Multi‑Property & Multi‑Language Support: The configuration tables store per‑property settings, allowing a single instance to host dozens of hotels with localized content.
  • Payment Integration: Built‑in adapters for Stripe, PayPal, and offline payments. The payment module is pluggable; developers can add new gateways by implementing the PaymentInterface.
  • Channel Manager: Syncs rates and inventory with major OTAs (Booking.com, Expedia) via their XML/JSON APIs. The sync process is scheduled through a cron job and can be triggered manually via the admin UI.
  • Reporting & Analytics: REST endpoints expose booking metrics, occupancy rates, and revenue reports. The front‑end uses Chart.js to render dashboards.

Deployment & Infrastructure

QloApps is designed for self‑hosting on any web server (Apache, Nginx, IIS). It requires PHP 8.1+ and MySQL 5.7+. The application can be containerized using Docker; the official Dockerfile pulls from php:8.2-fpm and sets up Composer dependencies, making it straightforward to run in Kubernetes or Docker‑Compose setups. Horizontal scaling is achievable by running multiple PHP-FPM workers behind a load balancer, with the database replicated via MySQL Group Replication or MariaDB Galera for high availability.

Integration & Extensibility

  • REST API: Fully documented with Swagger/OpenAPI, enabling third‑party services (CRM, ERP) to consume booking data.
  • Webhooks: Configurable event hooks (booking.created, payment.completed) that post JSON payloads to external URLs.
  • SDK: A lightweight PHP SDK is available on Packagist, providing typed client wrappers for the API.
  • Custom Modules: Developers can create modules that hook into lifecycle events, add new database tables, or override templates. The module architecture follows the observer pattern, making it easy to extend without modifying core code.

Developer Experience

The project ships with comprehensive documentation on the official site, including architecture diagrams, API reference, and a developer guide for creating modules. The community forum is active, and the codebase follows PSR‑12 coding standards, which eases linting and static analysis. Licensing under OSL v3 ensures that any derivative works remain open source, encouraging collaboration.

Use Cases

  • Independent Hotels: Deploy a single instance to manage reservations, rates, and channel sync for multiple boutique properties.
  • Hotel Chains: Use the multi‑property feature to centralize booking across locations while exposing separate front‑ends per hotel.
  • Agencies & Marketplace Builders: Leverage the API and channel manager to build a marketplace where hotel owners can register, upload inventory, and manage bookings through QloApps.
  • Custom Mobile Apps: Integrate the REST API into native iOS/Android apps to provide a seamless booking experience for guests.

Advantages

  • Performance: PHP 8’s JIT and the lean architecture yield low latency for booking queries, even under high concurrency.
  • Flexibility: The plugin system and API surface allow developers to tailor the platform without touching core files.
  • Cost‑Effective: Completely free under OSL v3; no licensing fees for internal use or redistribution.
  • Community & Ecosystem: Active contributors,

Open SourceReady to get started?

Join the community and start self-hosting QloApps today

Weekly Views

Loading...
Support Us

Featured Project

$30/month

Get maximum visibility with featured placement and special badges

Repository Health

Loading health data...

Information

Category
other
License
OSL-3.0
Stars
10.1k
Technical Specs
Pricing
Open Source
Database
MySQL
Docker
Community
Min RAM
256MB
Supported OS
WindowsmacOSLinuxDocker
Author
Qloapps
Qloapps
Last Updated
Jul 7, 2025