Skip to main content

PMS & Channel Manager Integration

Connect Stayzr with your existing Property Management System and Channel Manager for seamless operations.

🔗 Supported Systems

Property Management Systems

  • Opera Cloud - Oracle's enterprise PMS
  • Cloudbeds - All-in-one hospitality platform
  • Mews - Modern cloud PMS
  • RoomRaccoon - Hotel management system
  • Hotelogix - Cloud-based PMS
  • Custom PMS - API adapter support

Channel Managers

  • SiteMinder - Leading channel manager
  • ChannelConnect - Distribution platform
  • Rentals United - Vacation rental distribution
  • Beds24 - Channel management solution
  • Custom Integration - Webhook support

🚀 Quick Setup

Step 1: Connect Your PMS

// Example: Connect to Cloudbeds
const pmsConfig = {
provider: 'cloudbeds',
credentials: {
propertyId: 'your-property-id',
apiKey: 'your-api-key',
apiSecret: 'your-api-secret'
},
syncInterval: 300000 // 5 minutes
};

await stayzr.integrations.connectPMS(pmsConfig);

Step 2: Map Your Data

// Map room types between systems
const roomMapping = {
'STD': 'standard-room',
'DLX': 'deluxe-room',
'STE': 'suite'
};

await stayzr.integrations.mapRoomTypes(roomMapping);

Step 3: Enable Sync

// Start real-time synchronization
await stayzr.integrations.enableSync({
reservations: true,
availability: true,
rates: true,
guestProfiles: true
});

📊 What Gets Synced?

From PMS to Stayzr

  • Guest Profiles - Name, contact, preferences
  • Reservations - Bookings, dates, room assignments
  • Room Status - Availability, maintenance, housekeeping
  • Rates & Pricing - Current rates, special offers
  • Check-in/out - Arrival and departure status

From Stayzr to PMS

  • Guest Requests - Service requests, complaints
  • Communication Logs - Chat history, interactions
  • Upselling Revenue - Additional services sold
  • Guest Preferences - Learned from conversations
  • Task Completion - Service fulfillment status

🔄 Integration Flows

Real-time Booking Sync

Guest Communication Flow

⚙️ Configuration Options

Sync Settings

{
"sync": {
"mode": "realtime", // realtime | batch | manual
"interval": 300000, // milliseconds (for batch mode)
"retryAttempts": 3,
"conflictResolution": "pms-wins" // pms-wins | stayzr-wins | manual
}
}

Field Mapping

{
"fieldMapping": {
"guest": {
"firstName": "guest_name_first",
"lastName": "guest_name_last",
"email": "guest_email",
"phone": "guest_phone_primary"
},
"reservation": {
"confirmationNumber": "booking_ref",
"checkIn": "arrival_date",
"checkOut": "departure_date"
}
}
}

🔐 Security & Compliance

Data Protection

  • Encrypted Connections - TLS 1.3 for all API calls
  • Token Rotation - Automatic credential refresh
  • Audit Logging - Track all data exchanges
  • GDPR Compliant - Data minimization and consent

Access Control

  • IP Whitelisting - Restrict API access
  • Rate Limiting - Prevent overload
  • Webhook Validation - Verify authentic requests
  • Scoped Permissions - Limit data access

📈 Benefits

Operational Efficiency

  • No Double Entry - Data flows automatically
  • Reduced Errors - Eliminate manual mistakes
  • Time Savings - Staff focus on guests, not data
  • Real-time Updates - Always current information

Enhanced Guest Experience

  • Instant Responses - AI knows current status
  • Personalized Service - Access to guest history
  • Proactive Communication - Automated touchpoints
  • Seamless Check-in - Everything ready on arrival

🛠️ Troubleshooting

Common Issues

Sync Delays

# Check sync status
GET /api/integrations/pms/status

# Force manual sync
POST /api/integrations/pms/sync

Mapping Errors

# Validate field mappings
GET /api/integrations/pms/validate

# View unmapped fields
GET /api/integrations/pms/unmapped

Connection Issues

# Test PMS connection
GET /api/integrations/pms/test

# View error logs
GET /api/integrations/pms/logs?level=error

📚 API Reference

Connect PMS

POST /api/integrations/pms/connect
Content-Type: application/json

{
"provider": "cloudbeds",
"credentials": {
"propertyId": "12345",
"apiKey": "your-key"
}
}

Get Sync Status

GET /api/integrations/pms/status

Response:
{
"connected": true,
"lastSync": "2024-01-15T10:30:00Z",
"recordsSynced": {
"reservations": 145,
"guests": 203,
"rooms": 50
}
}

Manual Sync Trigger

POST /api/integrations/pms/sync
Content-Type: application/json

{
"entities": ["reservations", "guests"],
"dateRange": {
"from": "2024-01-01",
"to": "2024-01-31"
}
}

🆘 Getting Help