Sistemas empresariales En producción

MeTransfers Barcelona

Plataforma de reservas de traslados privados con precio calculado en el servidor, pago con Redsys, portal privado para hoteles y herramientas de operación.

Sector
Movilidad y turismo · Barcelona
Período
Dic. 2025 – actualidad
Estado
En producción
Captura de escritorio de metransfers.es tomada automáticamente el 22 de October de 2026

Contexto

MeTransfers ofrece traslados privados desde y hacia el aeropuerto, el puerto y las estaciones de Barcelona, además de rutas a la Costa Brava, Girona o PortAventura. La web es su principal canal de venta y también la herramienta con la que coordina reservas y hoteles colaboradores.

Problema o necesidad

El precio de un traslado depende de la distancia, el vehículo y la capacidad. Si se calcula en el navegador puede manipularse, y si se calcula a mano frena la operación. Además, los hoteles necesitaban registrar y consultar sus reservas sin entrar al panel general de WordPress.

Objetivo de la solución

Una sola plataforma que cotice de forma fiable, cobre en línea, separe el acceso de cada hotel y deje constancia de cada operación.

Arquitectura general

Tema WordPress que carga una aplicación PHP modular (autocarga PSR-4) organizada por dominios: reservas, tarifas, pagos Redsys, portal de hoteles, notificaciones, idiomas, SEO y analítica. Las migraciones de base de datos son versionadas y reanudables, y un outbox separa las notificaciones y eventos del flujo de reserva. Un adaptador mantiene compatible el sistema de reservas original mientras su lógica se traslada a los módulos nuevos.

Mi participación

Programador Full-Stack y autor del repositorio: arquitectura de la aplicación, motor de reservas y tarifas, integración de pagos, portal de hoteles, migraciones de datos y calidad automatizada.

Funcionalidades implementadas

  • Motor de reservas con rutas, vehículos, capacidad y tarifas.
  • Distancia, cotización y precio validados en el servidor con Google Maps Platform.
  • Caché propia de direcciones y rutas para evitar consultas repetidas a Google, con caducidad acorde a sus condiciones de uso.
  • Pago con Redsys y recibos generados por el servidor.
  • Portal privado /hoteles/ aislado por hotel: usuarios, reservas, clientes y estadísticas.
  • Importación idempotente de reservas desde Excel o CSV y exportación .xlsx por hotel.
  • Códigos QR para atribuir reservas a cada hotel colaborador.
  • Web pública multilingüe con páginas de rutas, destinos y tours.
  • Auditoría de exportaciones y control reversible del acceso de cada responsable.

Desafíos técnicos y decisiones

  1. Trasladar la autoridad del precio al servidor sin interrumpir las reservas: el flujo original sigue funcionando a través de un adaptador mientras se migra.
  2. Aislar los datos de cada hotel dentro de WordPress, con permisos por responsable y pruebas específicas de acceso.
  3. Activar el cobro real con controles: el modo Live de Redsys queda bloqueado mientras falten las comprobaciones operativas registradas en la configuración.

Tecnologías utilizadas

  • PHP 8.2
  • WordPress
  • MySQL
  • JavaScript
  • Redsys
  • Google Maps Platform
  • PHPUnit
  • PHPStan
  • Playwright
  • GitHub Actions

Seguridad y operación

Credenciales fuera de Git (constantes de wp-config.php), precio y capacidad calculados en el servidor, permisos por hotel y registro de auditoría. El repositorio incluye PHPUnit, PHPStan, WordPress Coding Standards, ESLint y Playwright, y GitHub Actions ejecuta una puerta de calidad sobre cada cambio.

Capturas

La captura disponible es la portada de este caso. Otras vistas (paneles internos, flujos) están pendientes de documentar con datos anonimizados.

La portada se actualiza automáticamente desde la web pública cuando cambia su interfaz. Última actualización: 22 de October de 2026.

Estado actual

En producción El sistema está publicado y en uso en el enlace indicado.

Resultados comprobables

Web en producción en metransfers.es. Repositorio público con el historial completo del proyecto (más de 300 commits). No publico cifras de negocio del cliente.

Repositorio y demo

Construyamos tu próximo sistema

Cuéntame el proceso que quieres resolver; te respondo con preguntas concretas o un siguiente paso.