Todos los artículos

Un motor de reservas, cinco deportes: adaptar Lueira a distintos sectores

Publicado 13 jun 20253 min de lectura
  • Producto
  • Lueira
  • Montaña
Un motor de reservas, cinco deportes: adaptar Lueira a distintos sectores

Ideas clave

  • El modelo central de «recurso + franja horaria + capacidad» generalizó bien: los instructores se convirtieron en anfitriones/guías, y el material se convirtió en cualquier consumible limitado, desde neoprenos hasta botellas de vino.
  • Los datos de seguridad ligados al tiempo meteorológico, los circuitos de varios días y etapas, y las dinámicas de grupo distintas necesitaron capas de extensión reales, no solo configuración.
  • Ampliar sectores es una tensión continua, no un problema resuelto: cada sector nuevo obliga a decidir entre añadir al núcleo genérico o construir una nueva capa encima.

Lueira empezó en marzo de 2023 como motor de reservas para escuelas de deportes de montaña. En un artículo anterior escribí sobre la apuesta arquitectónica que hicimos desde el primer día: construir un único sistema multi-tenant capaz de dar servicio a muchas escuelas sin bifurcar el código cada vez que alguien pedía algo ligeramente distinto. Dos años después, esa apuesta se ha puesto a prueba mucho más allá del esquí. Lueira gestiona ahora reservas, personal y stock en cinco sectores distintos, y este artículo trata sobre lo que hizo falta de verdad para estirar un solo producto a lo largo de tantas actividades diferentes: dónde aguantó limpiamente el mismo modelo central, y dónde hizo falta trabajo real y nada trivial para que dejara de romperse.

1. Cinco sectores, un mismo bucle

Si miras cómo describimos Lueira hoy en la web, se listan cinco sectores: deportes de invierno (clases, material, ventas online, todo sincronizado), deportes acuáticos (clases y campamentos, calendario, instructores), centros de multiaventura (coordinando actividades e instructores mediante un motor de reservas conectado), buceo y deportes submarinos (organizar inmersiones, vender online, sincronizar todo en tiempo real), y enoturismo (catas, reservas, visitantes, pagos). Sobre el papel eso parecen cinco negocios distintos. Pero por debajo, todos ejecutan el mismo bucle que describimos en el artículo del motor de reservas: un recurso, una franja horaria y un límite de capacidad.

  • Deportes de invierno: instructor → monitor de esquí/snowboard; consumible → esquís, botas, forfaits
  • Deportes acuáticos: instructor → monitor de surf/kayak/vela; consumible → tablas, neoprenos, kayaks
  • Multiaventura: instructor → guía; consumible → arneses, cascos, material específico del circuito
  • Buceo: instructor → guía/instructor de buceo; consumible → botellas, reguladores, neoprenos, plazas en el barco
  • Enoturismo: instructor → anfitrión/sumiller; consumible → botellas, copas de cata, plazas en la mesa

2. Dónde aguantó la abstracción

Las partes del modelo que generalizaron bien son las partes que ya habíamos hecho genéricas a propósito. Un instructor, en la base de datos, nunca fue realmente «un monitor de esquí»: era una persona con una cualificación, un horario y una capacidad para dirigir un grupo. El material siguió el mismo patrón: ya estaba modelado como un recurso limitado y rastreable, con una talla o variante y un recuento de stock, así que neoprenos, kayaks y botellas de vino encajaron sin tocar las tablas centrales. Incluso el flujo de reserva apenas cambió entre una clase de esquí y una cata de vino.

3. Dónde no aguantó

El tiempo meteorológico es el caso más claro. Una clase de esquí y una inmersión dependen de condiciones en las que una cata de vino nunca tiene que pensar. El modelo central de reservas de Lueira no tiene concepto de «esta franja podría cancelarse por una tormenta»: eso hubo que construirlo como una capa de extensión superpuesta a ciertos sectores, sin fundirlo en el bucle genérico.

Las actividades de varios días y varias etapas fueron el segundo hueco real. Un centro de multiaventura suele vender un circuito: una mañana de vía ferrata seguida de una tarde de barranquismo. Nuestro modelo de reservas supone un recurso, una franja, una capacidad. Un circuito es en realidad varias reservas pegadas entre sí con dependencias entre ellas.

La dinámica de grupo fue la tercera diferencia, más discreta. Una clase de esquí tiene que tener en cuenta niveles mixtos dentro de un mismo grupo. Un grupo de cata de vino se reserva de una vez y se queda fijo.

4. La tensión que no desaparece

Dos años después, el resumen honesto es que ampliar sectores no es un problema que resolvimos una vez: es una tensión que gestionamos en cada sector nuevo que añadimos. Cada vez que un tipo de negocio nuevo pide funcionar sobre Lueira, hay una decisión real: ¿esto necesita un campo nuevo en un modelo genérico existente, o necesita su propia capa de extensión? Nos hemos decantado, la mayoría de las veces, por dejar el bucle central intacto y empujar la lógica específica de cada sector a capas que se apoyan encima. Eso ha aguantado razonablemente bien a lo largo de cinco sectores. Todavía no sé si aguantará un sexto.

Lo que le diría a otro equipo haciendo lo mismo: no des por hecho que la abstracción que funcionó para tu primer pivote va a aguantar gratis para el siguiente. El nivel correcto de abstracción no es una propiedad del modelo: es una apuesta que tienes que seguir revisando cada vez que añades un sector genuinamente distinto de los que ya has gestionado.