Websites

Custom Guesty API Integration & Booking Engine

Custom Guesty API Integration & Booking Engine

Client

RNTLS Marbella, RNTLS Ibiza, Homerun Marbella

Type

Design & Dev.

wedesignmarbella.com

Custom Guesty API Integration & Booking Engine

Full-Stack WordPress Plugin Development for Luxury Vacation Rental Platforms


Project Overview

Clients:

  • RNTLS – rntlsmarbella.com | rntlsibiza.com
  • Homerun Marbella – rentals.homerunmarbella.com

Project Type: Custom WordPress Plugin Development (White-Label Solution)
Role: Lead Developer & Solutions Architect

The Challenge

Multiple luxury vacation rental companies needed a way to integrate their Guesty property management systems with their WordPress websites. Each client had unique requirements:

RNTLS (Marbella & Ibiza):

  • Dual-site deployment with shared property pool
  • Standard Guesty API integration
  • Custom search functionality for multi-location filtering

Homerun Marbella:

  • Guesty API integration
  • XML feed import system for properties from alternative sources
  • Custom search bar with different filtering requirements
  • Multi-source property aggregation

Key Requirements:

  • Real-time property data synchronization from Guesty API
  • Live calendar availability display
  • Direct booking engine with Stripe payment processing
  • Automated property imports with images and amenities
  • Multi-property management across two separate websites
  • Secure payment processing with Stripe Connect
  • Guest portal for reservation management

Technical Architecture

Modular Plugin Design

Built as a white-label, customizable solution that adapts to each client’s specific needs:

Core Plugin Features (Universal):

  • Guesty API integration
  • Property import & sync
  • Calendar management
  • Booking engine
  • Stripe payment processing

Client-Specific Modules:

  • RNTLS: Multi-site property sharing, location-based search
  • Homerun Brokers: XML import module, custom search filters, multi-source aggregation

This modular approach allows rapid deployment to new clients while maintaining client-specific customizations.

Core Technologies

Backend:

  • PHP 7.4+ (WordPress Plugin Architecture)
  • Guesty Booking Engine API
  • Stripe API (Payment Processing)
  • Stripe Connect (Multi-account support)
  • WordPress REST API
  • WP Cron (Automated synchronization)

Frontend:

  • JavaScript (jQuery)
  • Stripe.js (Secure tokenization)
  • Flatpickr (Date selection)
  • AJAX (Async data handling)

Third-Party Integrations:

  • Guesty Property Management API
  • Guesty Booking Engine API
  • Stripe Payment Intent API
  • Stripe Connect Platform

Key Features Developed

1. Automated Property Import & Sync

Created a robust import system that automatically syncs property data from Guesty:

  • Property Details: Titles, descriptions, amenities, location data
  • Image Management: Automated image download, WordPress media library integration, thumbnail generation
  • Custom Post Type: Properties stored as native WordPress CPT for SEO and flexibility
  • Metadata Mapping: Complex field mapping between Guesty and WordPress structures
  • Scheduled Synchronization: WP-Cron based automated updates (twice daily)

Technical Highlight:

// Intelligent image processor with queue system
class Guesty_Image_Processor {
    // Processes images in batches to avoid memory limits
    // Implements retry logic for failed downloads
    // Generates WordPress-optimized thumbnails
}

2. Real-Time Calendar Availability

Developed a live calendar sync system showing accurate availability:

  • Hourly Synchronization: Calendar data refreshes every 60 minutes
  • Blocked Dates Display: Shows booked periods in real-time
  • Minimum Stay Rules: Respects property-specific booking policies
  • Visual Calendar Interface: Interactive date picker with availability overlay

3. Quote & Reservation System

Built a complete booking flow integrated with Guesty’s reservation engine:

Quote Generation:

  • Dynamic pricing based on dates, guests, and length of stay
  • Multiple rate plan support
  • Coupon/promotion code integration
  • Tax and fee calculation
  • Payment schedule display

Instant Booking Flow:

  • Guest information collection
  • Payment method validation
  • Stripe tokenization
  • Reservation creation via Guesty API
  • Confirmation email automation

4. Stripe Payment Integration

Implemented sophisticated payment processing with multiple account support:

Features:

  • Stripe Connect: Multi-account management per property
  • Payment Method Tokenization: Secure card data handling
  • Connected Account Detection: Automatic routing to correct Stripe account
  • PCI Compliance: No card data touches the server
  • 3D Secure Support: SCA-compliant payment flow

Payment Provider Mapping:

class Guesty_Payment_Provider {
    // Fetches correct Stripe account per listing
    // Maps Guesty payment provider to Stripe Connect account
    // Handles token creation on connected accounts
}

5. Guest Portal

Created a reservation management portal for guests:

  • Reservation lookup by confirmation code
  • Booking details display
  • Check-in/check-out information
  • Direct messaging capability
  • Modification requests

6. Advanced Search & Filtering

Built a dynamic property search system:

  • Location-based filtering
  • Date availability search
  • Guest capacity filtering
  • Amenity-based search
  • Real-time availability checking
  • Dynamic pricing display

Client-Specific Customizations:

  • RNTLS: Dual-location toggle (Marbella/Ibiza)
  • Homerun Brokers: Advanced filters for multi-source properties

7. XML Import Module (Homerun Specific)

Developed a parallel import system for properties from non-Guesty sources:

  • XML Feed Parser: Automated parsing of property XML feeds
  • Data Normalization: Converts XML structure to match WordPress/Guesty format
  • Multi-Source Management: Handles properties from different APIs/feeds
  • Unified Display: Seamlessly integrates XML properties with Guesty properties
  • Scheduled Import: Automated XML feed updates via WP-Cron

Technical Implementation:

class XML_Property_Importer {
    // Parses multiple XML feed formats
    // Normalizes data to unified structure
    // Merges with Guesty properties
    // Maintains source tracking per property
}

This module allows Homerun Marbella to aggregate inventory from multiple property management systems into a single, cohesive website experience.


Technical Challenges & Solutions

Challenge 1: Payment Method Synchronization

Problem: Guesty requires payment methods tokenized on specific Stripe Connect accounts, but WordPress needed to validate cards before submission.

Solution:

  • Implemented dynamic Stripe account detection via Guesty API
  • Created payment method validation without attachment
  • Built account-specific tokenization flow
  • Ensured payment methods remain unattached for Guesty’s processing

Challenge 2: Rate Limiting & API Performance

Problem: Guesty API has rate limits; importing 100+ properties with images could timeout.

Solution:

  • Implemented intelligent caching system (5-minute quote cache)
  • Created batched image processing queue
  • Built retry logic with exponential backoff
  • Transient storage for frequently accessed data

Challenge 3: Calendar Synchronization Accuracy

Problem: Calendar data needed to be accurate across multiple platforms (Guesty, Airbnb, Booking.com, WordPress).

Solution:

  • Hourly automated sync via WP-Cron
  • Database-stored availability data
  • Conflict detection and resolution
  • Manual sync trigger for admin users

Challenge 4: Multi-Client Deployment & Customization

Problem: Same core plugin needed to work across multiple clients with different requirements (RNTLS dual-site vs Homerun Brokers XML imports).

Solution:

  • Implemented domain authorization system
  • Created modular architecture for client-specific features
  • Built configuration system for per-client customization
  • Developed XML import module as optional addon
  • Shared core codebase with client-specific extensions

Challenge 5: Multi-Source Property Aggregation (Homerun Marbella)

Problem: Client needed to display properties from both Guesty API and XML feeds from other property management systems.

Solution:

  • Built XML parser supporting multiple feed formats
  • Created unified data structure for all property sources
  • Implemented source tracking and conflict resolution
  • Developed separate sync schedules per source type

System Architecture Diagram

┌─────────────────────────────────────────────────────────┐
│                    WordPress Frontend                    │
│  (Property Listings, Booking Forms, Guest Portal)       │
└───────────────┬─────────────────────────────────────────┘
                │
                ▼
┌─────────────────────────────────────────────────────────┐
│              Custom WordPress Plugin                     │
│  ┌─────────────────────────────────────────────────┐   │
│  │  Property Import Engine                          │   │
│  │  - Auto-sync listings                            │   │
│  │  - Image processor                               │   │
│  │  - Metadata mapping                              │   │
│  └─────────────────────────────────────────────────┘   │
│  ┌─────────────────────────────────────────────────┐   │
│  │  Booking Engine                                  │   │
│  │  - Quote generation                              │   │
│  │  - Reservation creation                          │   │
│  │  - Payment processing                            │   │
│  └─────────────────────────────────────────────────┘   │
│  ┌─────────────────────────────────────────────────┐   │
│  │  Calendar Sync System                            │   │
│  │  - Availability tracking                         │   │
│  │  - WP-Cron automation                            │   │
│  └─────────────────────────────────────────────────┘   │
└───────┬─────────────────────────────┬───────────────────┘
        │                             │
        ▼                             ▼
┌──────────────────┐         ┌──────────────────┐
│   Guesty API     │         │   Stripe API     │
│                  │         │                  │
│ - Properties     │         │ - Payment Intents│
│ - Reservations   │         │ - Connect        │
│ - Calendar       │         │ - Tokenization   │
│ - Quotes         │         │                  │
└──────────────────┘         └──────────────────┘

Code Quality & Best Practices

WordPress Standards Compliance

  • Followed WordPress Coding Standards
  • Proper sanitization and validation
  • Nonce verification for security
  • Transients for caching
  • Custom Post Types for data structure

Security Implementations

  • Domain Restriction: Plugin only activates on authorized domains
  • PCI Compliance: No card data storage
  • API Token Management: Secure token refresh and storage
  • SQL Injection Prevention: Prepared statements and sanitization
  • XSS Protection: Output escaping

Performance Optimizations

  • Database Queries: Optimized with proper indexing
  • Image Processing: Batched background processing
  • API Calls: Intelligent caching and rate limiting
  • Transient Usage: 5-minute cache for quotes, hourly for calendar

Error Handling & Logging

// Comprehensive error logging
error_log('🔍 DEBUG - About to send to Guesty:');
error_log('URL: ' . $url);
error_log('Payload: ' . json_encode($payload, JSON_PRETTY_PRINT));

// Graceful failure handling
if (is_wp_error($response)) {
    error_log('❌ Payment Provider fetch failed');
    wp_send_json_error(['message' => 'Unable to fetch payment provider']);
}

Deployment & Maintenance

Version Control

  • Semantic versioning (currently v1.7.2)
  • Changelog documentation
  • Backward compatibility maintenance

Automated Tasks

  • Daily: Guesty token refresh
  • Hourly: Calendar synchronization
  • Twice Daily: Property data sync
  • Hourly: Image processing queue

Admin Features

  • Manual sync triggers
  • Import logs and debugging
  • Configuration dashboard
  • Error monitoring

Results & Impact

For the Businesses

  • Automated Operations: Eliminated manual property updates across all clients
  • Real-Time Accuracy: Always current availability and pricing
  • Direct Bookings: Reduced OTA commissions
  • Multi-Site Scalability: Easy expansion to new locations (proven with RNTLS dual-site)
  • Source Flexibility: Ability to aggregate properties from multiple systems (Homerun Brokers)

Client-Specific Wins

RNTLS:

  • Successfully deployed across 2 domains with shared property pool
  • Unified booking experience across Marbella and Ibiza sites
  • Single admin panel managing dual-location inventory

Homerun Marbella:

  • Integrated multiple property sources (Guesty + XML feeds)
  • Custom search functionality matching their workflow
  • Ability to onboard properties from any source system

For Customers

  • Live Availability: No outdated calendars
  • Instant Booking: Confirmed reservations in seconds
  • Secure Payments: PCI-compliant Stripe processing
  • Guest Portal: Self-service reservation management

Technical Achievements

  • 100+ Properties: Successfully managing large inventory across multiple clients
  • Multiple Clients: Scalable architecture serving different businesses
  • Zero Downtime: Automated sync with error recovery
  • Sub-Second Loading: Optimized database queries
  • 99.9% Uptime: Robust error handling
  • Flexible Integration: Supports Guesty API, XML feeds, and custom sources

Future Enhancements Roadmap

  • Multi-language support (Spanish/English)
  • Advanced analytics dashboard
  • Dynamic pricing integration
  • Review system integration
  • Mobile app API support
  • WhatsApp notification integration

Technologies Summary

CategoryTechnologies
BackendPHP 7.4+, WordPress 6.0+, MySQL
FrontendJavaScript (ES6), jQuery, AJAX
APIsGuesty Booking Engine API, Stripe API v3
PaymentStripe.js, Stripe Connect, Payment Intents
AutomationWP-Cron, Background Processing
LibrariesFlatpickr, Stripe PHP SDK
SecurityOAuth 2.0, PCI DSS Compliance, HTTPS

Project Takeaways

This project demonstrates:

White-Label Plugin Development: Modular architecture serving multiple clients
Complex API Integration: Seamless connection between multiple third-party services
Multi-Source Data Handling: Guesty API + XML feeds unified in single platform
Payment Processing Expertise: Stripe Connect and multi-account management
WordPress Plugin Architecture: Enterprise-grade custom plugin development
Real-Time Data Sync: Automated synchronization systems
Scalable Solutions: Built to handle growth and multiple deployments
Client-Specific Customization: Flexible core with client-tailored modules
Security-First Approach: PCI compliance and data protection
Business Problem Solving: Technology solutions driving real business value


Live Deployments

RNTLS:

  • RNTLSmarbella.com
  • RNTLSibiza.com

Homerun Marbella:

  • rentals.homerunmarbella.com

This case study represents a proprietary white-label WordPress plugin solution customized for multiple vacation rental companies. Each deployment is licensed and domain-restricted for security purposes.

Client

stay informed!

Subscribe to receive exclusive content and notifications