---
name: qloapps
description: QloApps recipe for open-forge. Open-source hotel reservation system and booking engine — manage properties, take bookings, and run a hotel website. PHP/MySQL web install. Upstream: https://github.com/Qloapps/QloApps
---

# QloApps

Open-source hotel reservation system and booking engine. Launch a full hotel booking website — manage properties, room types, pricing, availability, and direct online reservations without commissions.

13,085 stars · OSL-3.0

Upstream: https://github.com/Qloapps/QloApps
Website: https://qloapps.com/
Docs: https://docs.qloapps.com/
Demo: https://demo.qloapps.com/
Docker Hub: https://hub.docker.com/r/webkul/qloapps_docker

## What it is

QloApps provides a complete hotel management and booking platform:

- **Property management** — Add rooms, room types, amenities, photos
- **Online booking engine** — Direct guest bookings via embeddable widget
- **Availability calendar** — Real-time room availability management
- **Multi-property support** — Manage multiple hotels from one dashboard
- **Payment integration** — PayPal, Stripe, and other payment gateways
- **Room pricing** — Seasonal pricing, discounts, special rates
- **Frontend themes** — Customizable hotel website appearance
- **Booking management** — Check-in/out, reservations, guest history
- **Admin dashboard** — Full back-office for managing all operations
- **Plugin ecosystem** — Channel managers, OTA integrations (via addons)

## Compatible combos

| Infra | Runtime | Notes |
|-------|---------|-------|
| Docker | PHP + MySQL | webkul/qloapps_docker image |
| VPS / shared hosting | Apache/Nginx + PHP 8.1+ + MySQL 5.7+ | Traditional LAMP/LEMP install |
| WampServer / XAMPP | PHP + MySQL | Local Windows/Mac dev |

## Inputs to collect

### Phase 1 — Pre-install
- Domain name for the hotel website
- Database credentials (host, name, user, password)
- Admin email address
- PHP memory_limit (min 128M recommended)

### Phase 2 — Initial setup (web installer)
- Shop name (hotel name)
- Admin account (email + password)
- Database connection details
- Country and timezone

## Software-layer concerns

### Server requirements
- Web server: Apache 1.3+, Apache 2.x, Nginx, or IIS
- PHP: 8.1 to 8.4
- MySQL: 5.7 to 8.4
- PHP extensions: PDO_MySQL, cURL, OpenSSL, SOAP, GD, SimpleXML, DOM, Zip, Phar
- PHP settings: memory_limit=128M, upload_max_filesize=16M, max_execution_time=500, allow_url_fopen=on

### Docker install
  docker pull webkul/qloapps_docker
  docker run -d -p 80:80 webkul/qloapps_docker

### Traditional install
1. Download from https://qloapps.com/download/
2. Extract to web root
3. Set directory permissions (755 for dirs, 644 for files; writable: /cache, /log, /img, /upload, /override, /modules)
4. Browse to http://<domain>/ to run web installer
5. Follow installer: language, license, system check, database, store info, admin account

### Config paths
- config/settings.inc.php — database credentials, security keys (auto-generated by installer)
- app/config/parameters.php — additional configuration
- /img/, /upload/ — user-uploaded content (mount as volumes for Docker)

### Reverse proxy (Nginx example)
  server {
    listen 80;
    server_name hotel.example.com;
    root /var/www/qloapps;
    index index.php;
    location / { try_files $uri $uri/ /index.php?$args; }
    location ~ \.php$ { fastcgi_pass php:9000; include fastcgi_params; }
  }

## Upgrade procedure

1. Backup database: mysqldump -u user -p qloapps > backup.sql
2. Backup files: tar -czf qloapps-backup.tar.gz /var/www/qloapps
3. Download new version from https://qloapps.com/download/
4. Extract and overwrite files (do not overwrite /config/settings.inc.php)
5. Browse to http://<domain>/install/ — follow upgrade wizard
6. Remove /install/ directory after upgrade completes
7. Clear cache: Admin > Advanced Parameters > Performance > Clear cache

## Gotchas

- OSL-3.0 license — source-available but with specific commercial use restrictions; review before commercial deployment
- Web installer must be removed — delete the /install/ directory after setup; QloApps enforces this
- PHP extensions — missing GD, SOAP, or SimpleXML will fail the system check; install via php8.x-gd etc.
- File permissions — /cache, /img, /upload, /log must be writable by the web server
- Memory limit — 128M minimum; booking pages with many images may need 256M
- MySQL strict mode — may need sql_mode adjustments; check installer compatibility notes
- Admin URL — default admin panel is at /admin<random_suffix>/ for security; note the generated URL after install
- No built-in Docker Compose — the Docker image runs everything in one container; not production-recommended for scale

## Links

- Upstream README: https://github.com/Qloapps/QloApps/blob/master/README.md
- Installation guide: https://qloapps.com/install-qloapps/
- Documentation: https://docs.qloapps.com/
- Docker image: https://hub.docker.com/r/webkul/qloapps_docker
- Community forum: https://forums.qloapps.com/
