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

We Design

We Design Marbella provides unique web design to Marbella Area businesses, brands, and professionals. We are web design experts committed to designing responsive websites that engage your customers, stimulate traffic, and increase your brand awareness.

stay informed!

Subscribe to receive exclusive content and notifications