PMS Integration
Connect your Property Management System to ExperienceLocal for seamless guest verification, room charging, and automated data synchronization.
Enterprise Feature
PMS integrations are available on the Enterprise plan only. View plan details or contact sales to upgrade.
Overview
PMS (Property Management System) integration connects ExperienceLocal directly to your hotel's core operational system. This integration enables powerful features like guest verification, room charge capabilities, and automated data synchronization.
When a PMS integration is active, ExperienceLocal can automatically recognize guests staying at your property, allow them to charge experiences to their room folio, and keep all data synchronized in real-time. This eliminates manual data entry and creates a seamless booking experience for your guests.
Supported PMS Systems
ExperienceLocal currently supports the following Property Management Systems, with more integrations coming soon.
MEWS
Cloud-based PMS for modern hotels
- Real-time sync
- Folio posting
- Guest lookup
- Webhooks
Cloudbeds
All-in-one hospitality management platform
- OAuth integration
- Guest data sync
- Room charges
- Automated sync
Opera Cloud
Oracle hospitality PMS
- Enterprise-grade sync
- Multi-property support
Hapi
Cloud PMS for independent hotels
- Simplified integration
- Guest profiles
Custom PMS Integration
Need an integration with a PMS not listed here? Enterprise customers can request custom integrations. Contact your dedicated success manager or enterprise@experiencelocal.com.
Integration Benefits
Connecting your PMS unlocks powerful features that streamline operations and increase booking conversion.
Guest Verification
Automatically verify guests staying at your property and prefill booking forms with their stay details.
Reduces booking friction by 40%
Room Charge Capability
Allow guests to charge experiences directly to their room folio - no credit card needed at booking.
Increases conversion by 25%
Automated Settlements
Weekly automated settlements for room charges with full reconciliation and detailed reporting.
Saves 10+ hours/month
Real-Time Sync
Keep guest reservations synchronized automatically with configurable sync frequency.
Always up-to-date guest data
Setup Process
Setting up a PMS integration typically takes 15-20 minutes. You'll need admin access to both ExperienceLocal and your PMS system.
Obtain PMS API Credentials
First, you'll need to obtain API credentials from your PMS provider. The process varies by PMS:
MEWS
- Log in to your MEWS Commander account
- Navigate to Settings → Integrations → Connector API
- Create a new integration token
- Copy the Access Token and Client Token
- Select the appropriate environment (Production or Sandbox)
Cloudbeds
- Log in to your Cloudbeds account
- Go to Settings → API Access
- Click "Create New Application"
- Note your Property ID and API credentials
- Set redirect URL to:
https://app.experiencelocal.com/api/pms/cloudbeds/callback
Important: Keep your API credentials secure. Never share them publicly or commit them to version control. ExperienceLocal encrypts all PMS credentials using AES-256-GCM encryption.
Configure Integration in ExperienceLocal
Once you have your credentials, connect your PMS in the ExperienceLocal dashboard:
- Navigate to Settings → PMS Integration
- Select your PMS type from the dropdown
- Enter your API credentials
- Configure sync settings:
- Sync frequency (recommended: 60 minutes)
- Lookback period (default: 30 days)
- Lookahead period (default: 90 days)
- Enable desired features:
- Guest Lookup (recommended: enabled)
- Room Charge (requires Stripe Connect setup)
Test Connection
Before saving, test your connection to ensure credentials are valid:
- Click "Test Connection" button
- Wait for validation to complete (5-10 seconds)
- Review the test results:
- Success: Property name and ID from PMS will be displayed
- Failed: Review error message and verify credentials
If the connection test fails, double-check your credentials and ensure your PMS API access is enabled. See the Troubleshooting section below.
Run Initial Sync
After saving the connection, trigger an initial sync to import existing reservations:
- Click "Sync Now" to start manual sync
- Monitor sync progress in the Sync Logs section
- First sync may take 2-5 minutes depending on reservation volume
- Review sync results:
- Reservations created
- Reservations updated
- Reservations removed
- Any errors encountered
Verify and Monitor
Finally, verify the integration is working correctly and set up monitoring:
- Check that recent reservations appear in the Reservations tab
- Test guest lookup with a known guest email
- If using room charge, process a test booking
- Set up email alerts for sync failures (Settings → Notifications)
- Review the PMS Health dashboard regularly
Setup Complete! Your PMS integration is now active. Automatic syncs will run based on your configured frequency. You can monitor sync status and health in Settings → PMS Health.
Guest Data Sync
ExperienceLocal automatically synchronizes guest reservation data from your PMS at regular intervals. This keeps guest information up-to-date and enables features like guest verification and room charging.
How Sync Works
- 1Scheduled Sync: Based on your configured frequency (default: every 60 minutes), ExperienceLocal queries your PMS for reservations within the lookback and lookahead windows.
- 2Change Detection: Each reservation is hashed to detect changes. Only modified reservations are updated, minimizing database operations.
- 3Data Processing: Reservation data is normalized, validated, and stored in the ExperienceLocal database with guest email, name, stay dates, and room information.
- 4Sync Logging: All sync operations are logged with detailed statistics for monitoring and troubleshooting.
Synced Data Fields
| Field | Description | Required |
|---|---|---|
| Guest Email | Primary identifier for guest lookup | Yes |
| Guest Name | First and last name | Yes |
| Check-in Date | Guest arrival date | Yes |
| Check-out Date | Guest departure date | Yes |
| Room Number | Assigned room (required for room charge) | Optional |
| Room Type | Category of room (suite, standard, etc.) | Optional |
| Reservation Status | confirmed, checked_in, checked_out, cancelled | Yes |
| Guest Phone | Contact number | Optional |
Privacy & Compliance: ExperienceLocal only syncs the minimum guest data required for booking functionality. All data is encrypted at rest and in transit. Guest data is automatically purged 90 days after checkout to comply with privacy regulations.
Folio Posting (Room Charge)
Room charging allows guests to charge experience bookings directly to their hotel room folio. This eliminates payment friction at booking time and provides a seamless, cashless experience for your guests.
Guest Experience
- 1.Guest enters email during booking
- 2.System verifies guest is staying at property
- 3."Charge to Room" option appears
- 4.Guest confirms booking without entering credit card
- 5.Charge appears on room folio instantly
Backend Process
- 1.Booking is created in ExperienceLocal
- 2.Charge is posted to PMS folio via API
- 3.Folio posting is logged with PMS transaction ID
- 4.Posting tracked for weekly settlement
- 5.Hotel charged via Stripe, providers paid out
Settlement Process
Room charge bookings are settled weekly to minimize transaction fees and simplify reconciliation:
Weekly Settlement Timeline
Monday 12:00 AM UTC
Settlement period closes for previous week
Tuesday (Processing Day)
Settlement batch created and hotel charged via Stripe Connect
Wednesday (Payout Day)
After successful charge, provider payouts are initiated
Fee Breakdown
Room charge transactions include the following fee structure:
Total Booking Amount: $100.00
├─ Platform Fee (1.5%): $1.50 → ExperienceLocal
├─ Provider Payout (70%): $70.00 → Experience Provider
└─ Hotel Net (28.5%): $28.50 → Your Property
Settlement Amount (charged to hotel): $71.50
(Platform Fee + Provider Payout)
Hotel keeps: $28.50 commission per bookingStripe Connect Required: Room charging requires a connected Stripe account to process settlements. Set up Stripe Connect in Settings → Payments before enabling room charge. Learn more about transaction fees.
Troubleshooting
Common issues and solutions for PMS integrations. If your issue is not listed here, contact support.
Connection Test Fails
Invalid credentials error • Timeout during connection test
Connection Test Fails
Invalid credentials error • Timeout during connection test
Solutions:
- Verify your API credentials are correct and copied exactly
- Check that the correct environment (sandbox vs. production) is selected
- Ensure your PMS account has API access enabled
- Contact your PMS provider to verify API endpoint availability
Sync Not Running
Last sync timestamp not updating • Guest data not appearing
Sync Not Running
Last sync timestamp not updating • Guest data not appearing
Solutions:
- Check that sync is enabled in PMS settings
- Verify the connection health status is "healthy"
- Review sync logs for error messages
- Manually trigger a sync to test connectivity
- Check that sync frequency is not set too high (minimum 15 minutes)
Room Charge Posting Fails
Folio posting error • Charges not appearing in PMS
Room Charge Posting Fails
Folio posting error • Charges not appearing in PMS
Solutions:
- Verify room charge is enabled in PMS settings
- Check that the guest has an open folio in the PMS
- Ensure the guest has not checked out yet
- Verify service/accounting category IDs are configured correctly
- Check PMS rate limiting - you may be hitting API limits
Guest Lookup Not Working
Guest not found error • Email verification fails
Guest Lookup Not Working
Guest not found error • Email verification fails
Solutions:
- Verify the guest email matches exactly in the PMS (case-insensitive)
- Check that the reservation is in "confirmed" or "checked_in" status
- Ensure the checkout date is in the future
- Run a manual sync to pull the latest reservations
- Verify guest lookup is enabled in PMS settings
Still need help? Enterprise customers have access to priority support. Contact your dedicated success manager or email support@experiencelocal.com with your connection ID and error details.
Best Practices
Follow these recommendations to ensure optimal PMS integration performance and reliability.
Security
- Rotate API credentials every 90 days
- Use production credentials only in production environment
- Review PMS API access logs monthly for suspicious activity
- Enable webhook signature validation when available
Sync Configuration
- Set sync frequency to 60 minutes for balanced performance
- Use 30-day lookback and 90-day lookahead for optimal coverage
- Enable webhooks when available to reduce sync frequency
- Monitor sync logs weekly for errors or performance issues
Performance & Monitoring
- Check PMS Health dashboard daily for connection status
- Set up email alerts for sync failures (3+ consecutive failures)
- Review settlement reports weekly before processing
- Test guest lookup monthly to ensure integration is working
Guest Experience
- Train front desk staff on how room charging works
- Add room charge information to pre-arrival emails
- Display "Charge to Room" prominently in booking widget
- Ensure folio descriptions are clear and branded
Related Documentation
Enterprise Plan
Learn about Enterprise plan features, pricing, and benefits
Transaction Fees
Understand platform fees, Stripe fees, and settlement calculations
Stripe Connect Setup
Connect your Stripe account to enable room charge settlements
API Documentation
Explore PMS-related API endpoints for custom integrations
Ready to Connect Your PMS?
PMS integrations are available exclusively on the Enterprise plan. Unlock seamless guest verification, room charging, and automated data synchronization.