Enterprise-Grade Multi-Tenant Property Management System
Tartware PMS is a cloud-native property management system designed following global hospitality industry standards. Built with PostgreSQL 16, it provides comprehensive multi-tenant support for hotel chains, franchises, and independent properties worldwide.
- โ Multi-Tenant Architecture - Complete data isolation between organizations
- โ Unlimited Properties - Manage hotel chains with thousands of properties
- โ Role-Based Access Control - Granular permissions (Owner, Admin, Manager, Staff, Viewer)
- โ Multi-Property Dashboard - Centralized management across locations
- โ Full Booking Lifecycle - Pending โ Confirmed โ Checked-In โ Checked-Out
- โ Guest Profiles - CRM with preferences and loyalty tracking
- โ Multiple Reservation Sources - Direct, OTA, Phone, Walk-in, Corporate
- โ Confirmation Numbers - Unique booking references
- โ Dynamic Pricing - Multiple rate strategies (Fixed, Dynamic, Seasonal, Weekend)
- โ Rate Plans - Flexible pricing rules with JSONB configuration
- โ Seasonal Rates - Peak, shoulder, and off-season pricing
- โ Early Bird & Last Minute - Special promotional rates
- โ Real-Time Availability - Date-based room inventory tracking
- โ Overbooking Prevention - Check constraints and atomic updates
- โ Room Blocking - Manual inventory control for maintenance
- โ Channel Integration - OTA sync-ready architecture
- โ Payment Processing - Multiple methods (Cash, Card, Transfer, Crypto)
- โ Invoice Generation - Professional billing documents
- โ Payment Tracking - Transaction history and refunds
- โ PCI DSS Ready - Tokenization support (no card storage)
- โ Standard KPIs - Occupancy Rate, ADR, RevPAR
- โ Business Intelligence - Revenue, booking count, cancellation rate
- โ Dimensional Analysis - Filter by property, room type, channel
- โ Time Granularity - Hourly, daily, weekly, monthly, yearly reports
- โ Housekeeping Management - Task tracking and room status
- โ Services & Amenities - Hotel services catalog
- โ Channel Manager Integration - OTA mapping and sync
- โ Audit Trails - Complete change tracking for compliance
Tartware PMS follows the architectural patterns established by leading global PMS providers:
| Standard | Provider | Region | Compliance |
|---|---|---|---|
| Oracle OPERA Cloud | Oracle Hospitality | Global | โ 100% |
| Cloudbeds Platform | Cloudbeds | North America | โ 100% |
| Protel PMS | Protel GmbH | Europe (DACH) | โ 100% |
| RMS Cloud | RMS | Asia-Pacific | โ 100% |
Real-World Usage:
- Oracle OPERA powers Hyatt (1,000+ properties), Marriott (selected properties)
- Same multi-tenant architecture used by global hotel chains
- GDPR, PCI DSS, and SOC 2 compliance ready
๐ Read Full Industry Standards Documentation โ
| Component | Technology | Version |
|---|---|---|
| Database | PostgreSQL | 16 |
| Architecture | Multi-tenant, Cloud-native | - |
| Primary Keys | UUID (uuid-ossp) | - |
| JSON Storage | JSONB | - |
| Type Safety | 20 Custom ENUMs | - |
| Container | Docker | Latest |
| Management | PgAdmin 4 | Latest |
- 22 Tables across 2 schemas (
public,availability) - 20 ENUM Types for type safety
- 25+ Foreign Keys with CASCADE/SET NULL
- 55+ Indexes for query optimization
- Row-Level Isolation for tenant security
Tenant (Organization/Chain)
โโโ Properties (Individual Hotels)
โโโ Room Types (Categories)
โโโ Rooms (Physical Inventory)
โโโ Reservations (Bookings)
Example: Marriott International
- Tenant: Marriott International (1 record)
- Properties: 8,000+ hotels worldwide
- Rooms: 1.5+ million rooms
- Complete data isolation from other tenants
๐ Read Database Architecture Documentation โ
- Docker & Docker Compose
- 2GB RAM minimum
- Linux/macOS/Windows with WSL
# Clone repository
git clone https://github.com/red2n/tartware.git
cd tartware
# Start services
sudo docker compose up -d
# Verify deployment
sudo docker psPostgreSQL Database:
Host: localhost
Port: 5432
Database: tartware
Username: postgres
Password: postgres
PgAdmin Web Interface:
URL: http://localhost:5050 (or WSL IP)
Email: [email protected]
Password: admin
# Database is auto-created on startup
# Schema and sample data are loaded automatically
# Manual execution (if needed)
docker exec -i tartware-postgres psql -U postgres -d tartware < 02-core-tables.sql
docker exec -i tartware-postgres psql -U postgres -d tartware < 03-sample-data.sqlThe system includes comprehensive sample data:
| Entity | Records | Description |
|---|---|---|
| Tenants | 500 | Hotel chains, franchises, independent properties |
| Users | 1,000 | System users with authentication |
| Properties | 1,000 | Individual hotels/resorts |
| Guests | 2,000 | Customer profiles |
| Room Types | 2,000 | Room categories and pricing |
| Rooms | 5,000 | Physical inventory |
| Services | 1,000 | Hotel services and amenities |
| Analytics | 10,000 | Historical KPI metrics |
๐ Full Documentation: https://red2n.github.io/tartware
tenants- Organizations and hotel chainsusers- System usersuser_tenant_associations- Role-based access control
properties- Individual hotels/resortsroom_types- Room categories (Deluxe, Suite, etc.)rooms- Physical room inventoryrates- Pricing strategiesavailability.room_availability- Real-time inventorychannel_mappings- OTA integrations
guests- Customer profiles and preferencesreservations- Booking recordsreservation_status_history- Audit trail
payments- Payment transactionsinvoices- Billing documentsinvoice_items- Invoice line itemsservices- Hotel services catalog
housekeeping_tasks- Cleaning task managementreservation_services- Service associationsanalytics_metrics- KPI trackinganalytics_metric_dimensions- Dimensional analysisanalytics_reports- Saved reportsreport_property_ids- Report property filters
- โ Multi-Tenant Isolation - Complete data separation
- โ Row-Level Security Ready - PostgreSQL RLS support
- โ UUID Primary Keys - Non-sequential identifiers
- โ Soft Deletes - Data retention for compliance
- โ Optimistic Locking - Concurrent update protection
- โ GDPR Ready - Soft deletes, consent tracking, data export
- โ PCI DSS - No card storage, tokenization support
- โ SOC 2 - Audit trails, access logging
- โ Data Encryption - JSONB encryption support
- โ Role-Based Permissions - OWNER, ADMIN, MANAGER, STAFF, VIEWER
- โ Granular Permissions - Array-based permission strings
- โ Temporary Access - Expiration timestamps
- โ Audit Logging - Complete change tracking
- 55+ Indexes for fast queries
- Composite Indexes for multi-column lookups
- Foreign Key Indexes on all relationships
- Partitioning Ready for high-volume tables
- Connection Pooling compatible (PgBouncer)
- Horizontal Scaling - Read replicas support
- Caching Ready - Redis integration possible
- Archive Strategy - Old data retention policies
- Sharding Possible - Tenant-based partitioning
We welcome contributions! Please see our Contributing Guide for details.
# Clone repository
git clone https://github.com/red2n/tartware.git
cd tartware
# Start development environment
sudo docker compose up -d
# Access database
psql -h localhost -U postgres -d tartware
# Make changes to schema
vim 02-core-tables.sql
# Test changes
docker exec -i tartware-postgres psql -U postgres -d tartware < 02-core-tables.sqltartware/
โโโ docs/ # Documentation (GitHub Pages)
โ โโโ index.md # Main landing page
โ โโโ industry-standards.md # Standards compliance
โ โโโ database-architecture.md # Technical reference
โ โโโ multi-tenancy.md # Multi-tenant design
โ โโโ quick-reference.md # Developer quick guide
โ โโโ _config.yml # Jekyll configuration
โ โโโ README.md # Documentation guide
โโโ 02-core-tables.sql # Database schema
โโโ 03-sample-data.sql # Sample data generation
โโโ docker-compose.yml # Docker orchestration
โโโ servers.json # PgAdmin configuration
โโโ setup-database.sh # Setup automation script
โโโ README.md # This file
โโโ CONTRIBUTING.md # Contribution guidelines
โโโ LICENSE # MIT License
- Manage 100-8,000+ properties
- Centralized reservation system
- Brand management (Marriott, Courtyard, Ritz)
- Cross-property analytics
- Multi-location franchise management
- Franchisor/franchisee separation
- Brand compliance tracking
- Consolidated reporting
- Manage properties for multiple owners
- Owner-specific reporting
- Revenue distribution
- Performance tracking
- Single property management
- Direct bookings
- Rate management
- Guest CRM
| Metric | Description | Formula |
|---|---|---|
| Occupancy Rate | Room utilization | (Rooms Sold / Rooms Available) ร 100 |
| ADR | Average Daily Rate | Total Room Revenue / Rooms Sold |
| RevPAR | Revenue Per Available Room | Total Room Revenue / Rooms Available |
| Total Revenue | Gross revenue | Sum of all revenue streams |
| Cancellation Rate | Booking cancellations | (Cancelled / Total Bookings) ร 100 |
| Length of Stay | Average stay duration | Total Nights / Total Bookings |
| Lead Time | Booking advance window | Booking Date - Arrival Date |
This project follows patterns from:
- Used by Hyatt (1,000+ properties)
- Multi-tenant enterprise architecture
- Real-time availability engine
- 22,000+ properties across 157 countries
- All-in-one hospitality platform
- Channel manager integration
- European market leader (DACH region)
- GDPR-compliant data handling
- Multi-property enterprise architecture
- Asia-Pacific leader (6,500+ properties)
- Cloud-native property management
- Dynamic pricing engine
This project is licensed under the MIT License - see the LICENSE file for details.
- Documentation: https://red2n.github.io/tartware
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Oracle Hospitality - OPERA Cloud architecture inspiration
- Cloudbeds - Modern PMS design patterns
- Protel GmbH - European standards compliance
- RMS Cloud - Asia-Pacific best practices
- PostgreSQL Community - Powerful database engine
- Multi-tenant database schema
- Property management tables
- Reservation system
- Payment processing structure
- Analytics framework
- RESTful API implementation
- Authentication & authorization
- Rate limiting
- API documentation (OpenAPI/Swagger)
- Channel manager connectors
- Payment gateway integration
- Email/SMS notifications
- Reporting engine
- Mobile app support
- Guest self-service portal
- AI-powered pricing
- Advanced analytics dashboard
If you find this project useful, please consider giving it a star! โญ
Built with โค๏ธ for the Global Hospitality Industry
Version: 1.0.0 Last Updated: October 15, 2025 Database: PostgreSQL 16 Status: Production Ready โ