WP Manifestindependent plugin directory
manifest / integrations / wprentals-ws-avantio

WpRentals - Avantio Api Websites Core Functionality

WordPress Plugin

by David Berruezo · github.com/david-berruezo/wprentals-ws-avantio · website

1stars
0forks

Install

No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:

wp plugin install https://github.com/david-berruezo/wprentals-ws-avantio/archive/refs/heads/main.zip

WP Rentals — Avantio WebService Sync

Plugin de WordPress que sincroniza automáticamente las propiedades desde el PMS de Avantio hacia el tema WP Rentals mediante CronJobs y consumo de WebServices. El plugin lee los datos de propiedades, precios, disponibilidad, imágenes y características desde la API de Avantio y los importa/actualiza como Custom Post Types (estate_property) en WordPress.


Tabla de Contenidos


Sobre el Proyecto

Las agencias de alquiler vacacional gestionan sus propiedades en un PMS (Property Management System) centralizado como Avantio, que se encarga de la distribución en OTAs (Airbnb, Booking.com, Vrbo, etc.), la gestión de reservas, precios y disponibilidad. Sin embargo, el sitio web propio de la agencia (construido con WordPress + WP Rentals) necesita estar sincronizado con esos datos en tiempo real.

Este plugin resuelve ese problema: consume los WebServices de Avantio mediante tareas programadas (CronJobs) y actualiza automáticamente todas las propiedades en WP Rentals, eliminando la necesidad de introducir datos manualmente y evitando inconsistencias entre el PMS y la web.


¿Qué es Avantio?

Avantio es un software de gestión de alquiler vacacional todo-en-uno con más de 20 años en el sector. Ofrece PMS (Property Management System), Channel Manager (conexión con +60 OTAs), motor de reservas directas, y APIs para integración con sistemas externos.

Funcionalidades clave de Avantio:

  • Gestión centralizada de propiedades (descripciones, fotos, precios, disponibilidad)
  • Channel Manager con sincronización en tiempo real con Airbnb, Booking.com, Vrbo, Expedia, etc.
  • Motor de reservas directas y gestión de pagos
  • API / WebServices para integración con webs y aplicaciones externas
  • Gestión de propietarios, comunicación con huéspedes, reporting financiero
  • Soporte multiidioma y multi-moneda

¿Cómo Funciona?

El plugin actúa como un puente entre Avantio y WP Rentals:

┌─────────────────────┐         ┌──────────────────────────┐         ┌─────────────────────┐
│                     │         │                          │         │                     │
│   Avantio PMS       │◄───────►│   Plugin WP Rentals      │────────►│   WordPress         │
│                     │  SOAP/  │   WS Avantio             │  WP     │   WP Rentals Theme  │
│  • Propiedades      │  REST   │                          │  API    │                     │
│  • Precios          │  API    │  • CronJob programado    │         │  • estate_property  │
│  • Disponibilidad   │         │  • Controllers           │         │  • Taxonomías       │
│  • Imágenes         │         │  • Models                │         │  • Custom Fields    │
│  • Características  │         │  • Helpers               │         │  • Imágenes         │
│  • Ubicaciones      │         │  • Clases de mapeo       │         │  • Mapas            │
│                     │         │                          │         │                     │
└─────────────────────┘         └──────────────────────────┘         └─────────────────────┘

Flujo de Sincronización

1. WordPress CronJob se ejecuta (periódicamente)
       │
       ▼
2. El plugin llama a los WebServices de Avantio
   ├── Obtener listado de propiedades
   ├── Obtener detalles de cada propiedad
   ├── Obtener precios y disponibilidad
   ├── Obtener imágenes
   └── Obtener características y amenities
       │
       ▼
3. Los Models mapean los datos de Avantio a WP Rentals
   ├── Mapeo de campos personalizados (custom fields)
   ├── Mapeo de taxonomías (categoría, área, ciudad)
   ├── Descarga y asignación de imágenes
   └── Geolocalización (latitud, longitud)
       │
       ▼
4. Los Controllers crean/actualizan los posts en WordPress
   ├── Crear nuevo estate_property si no existe
   ├── Actualizar datos si la propiedad ya existe
   ├── Asignar taxonomías (property_category, property_area)
   └── Actualizar meta fields y galería de imágenes

Estructura del Plugin

wprentals-ws-avantio/
├── wprentals-ws-avantio.php    # Archivo principal del plugin (bootstrap, hooks, cron)
├── Clases/                     # Clases PHP para consumo del WebService de Avantio
│   └── ...                     # Clientes SOAP/REST, parsers de respuesta
├── Controllers/                # Controladores de sincronización
│   └── ...                     # Lógica de creación/actualización de propiedades
├── Models/                     # Modelos de datos
│   └── ...                     # Mapeo Avantio → WP Rentals (CPT, meta fields, taxonomías)
├── Helpers/                    # Funciones auxiliares
│   └── ...                     # Utilidades, formateo, validación
├── bg/                         # Capturas de pantalla del plugin
│   ├── listado.jpg
│   ├── detalle_1.jpg
│   ├── detalle_2.jpg
│   ├── ...
│   └── detalle_8.jpg
├── .gitignore
├── LICENSE                     # GPL-3.0
└── README.md

Patrón de Arquitectura

El plugin sigue un patrón MVC simplificado:

Capa Carpeta Responsabilidad
Clases Clases/ Consumo de WebServices de Avantio (clientes SOAP/REST, parsing de XML/JSON)
Models Models/ Mapeo de datos entre Avantio y WP Rentals (campos, taxonomías, imágenes)
Controllers Controllers/ Orquestación de la sincronización (crear, actualizar, eliminar propiedades)
Helpers Helpers/ Funciones auxiliares (formateo de precios, sanitización, logs)

Capturas de Pantalla

Listado de Propiedades — Custom Post Type y Taxonomías

Vista del listado de propiedades (estate_property) sincronizadas desde Avantio en el panel de administración de WordPress:

Listado de propiedades


Detalle de Propiedad — Custom Fields y Taxonomías

Fichas de propiedad con todos los campos personalizados importados desde Avantio:

Detalle 1 — Información general Detalle 2 — Ubicación y mapa
Detalle 3 — Características Detalle 4 — Precios
Detalle 5 — Disponibilidad Detalle 6 — Galería de imágenes
Detalle 7 — Amenities Detalle 8 — Configuración adicional

Datos Sincronizados

El plugin sincroniza los siguientes datos desde Avantio hacia WP Rentals:

Información de la Propiedad

Campo Avantio Campo WP Rentals Tipo
Nombre / Título post_title Post field
Descripción post_content Post field
Referencia Avantio Custom meta field Meta
Tipo de propiedad property_category Taxonomía
Área / Zona property_area Taxonomía
Ciudad property_city Taxonomía
Dirección property_address Meta
Latitud property_latitude Meta
Longitud property_longitude Meta
Nº habitaciones property_bedrooms Meta
Nº baños property_bathrooms Meta
Capacidad (huéspedes) guest_no Meta
Superficie (m²) property_size Meta

Precios y Disponibilidad

Campo Avantio Campo WP Rentals Tipo
Precio por noche property_price Meta
Precios estacionales Custom pricing rules Meta
Calendario de disponibilidad Availability calendar Meta
Estancia mínima min_days_booking Meta

Media

Campo Avantio Campo WP Rentals Tipo
Imágenes de la propiedad Galería del post / Featured image Attachment

Características / Amenities

Campo Avantio Campo WP Rentals Tipo
Amenities (piscina, WiFi, A/C...) property_features Taxonomía

Requisitos

  • WordPress 5.x / 6.x
  • PHP >= 7.4 (con extensiones soap y curl habilitadas)
  • Tema WP Rentals instalado y activo — wprentals.org
  • Credenciales de Avantio (API key / usuario y contraseña del WebService)
  • WP-Cron habilitado (o cron del sistema configurado)

Instalación

Paso 1: Instalar el Plugin

# Clonar el repositorio
git clone https://github.com/david-berruezo/wprentals-ws-avantio.git

# Copiar al directorio de plugins de WordPress
cp -r wprentals-ws-avantio /var/www/html/wordpress/wp-content/plugins/

# Establecer permisos
chmod -R 755 /var/www/html/wordpress/wp-content/plugins/wprentals-ws-avantio
chown -R www-data:www-data /var/www/html/wordpress/wp-content/plugins/wprentals-ws-avantio

Paso 2: Activar el Plugin

  1. Ir a Plugins > Plugins instalados en el panel de administración
  2. Buscar WP Rentals WS Avantio
  3. Clic en Activar

Paso 3: Configurar las Credenciales de Avantio

Configurar las credenciales de acceso al WebService de Avantio en los ajustes del plugin o directamente en el archivo de configuración.

Paso 4: Verificar la Extensión SOAP de PHP

# Comprobar que la extensión SOAP está habilitada
php -m | grep soap

# Si no está instalada
sudo apt-get install php-soap
sudo systemctl restart apache2

Configuración

CronJob

El plugin registra un evento de WordPress Cron que se ejecuta periódicamente para sincronizar los datos. Para un mayor control, se recomienda desactivar WP-Cron nativo y configurar un cron real del sistema:

# Desactivar WP-Cron nativo (añadir a wp-config.php)
define('DISABLE_WP_CRON', true);

# Configurar cron del sistema (ejecutar cada hora)
crontab -e
0 * * * * wget -q -O - https://tu-dominio.com/wp-cron.php?doing_wp_cron > /dev/null 2>&1

Mapeo de Campos

El plugin mapea automáticamente los campos de Avantio a los custom fields de WP Rentals. Los Models contienen la lógica de mapeo que puede ajustarse según las necesidades del proyecto.


Recursos

Avantio

WP Rentals

WordPress Development

Repositorios Relacionados


Autor

David Berruezo — Software Engineer | Fullstack Developer


Licencia

Este proyecto está licenciado bajo GPL-3.0. Consulta el archivo LICENSE para más detalles.