Caso de estudio Case study
Baiardi Aventura · Sistema de Reservas
Full-stack Developer · Kensiweb Full-stack Developer · Kensiweb
Sistema de reservas para actividades de trekking y fotografía de Juan Marcelo Baiardi. Los visitantes eligen una salida con fecha fija, reservan su lugar y pagan por Mercado Pago, Modo o transferencia; Juan gestiona todo desde un panel admin. Booking system for Juan Marcelo Baiardi's trekking and photography outings. Visitors pick a fixed-date trip, reserve their spot and pay via Mercado Pago, Modo or bank transfer; Juan manages everything from an admin panel.
01. El desafío The challenge
Juan Marcelo Baiardi organiza expediciones de trekking y fotografía con grupos reducidos (máx. 6 personas) y fechas fijas durante todo el año. Las reservas se gestionaban de forma manual por WhatsApp e Instagram, lo que generaba errores de cupo, demoras en confirmar pagos y mucho tiempo administrativo. Necesitaba un sistema donde el visitante pudiera ver salidas disponibles, reservar en línea y pagar, mientras él controlaba actividades, fechas y confirmaciones desde un panel sin tocar código. Juan Marcelo Baiardi runs trekking and photography expeditions with small groups (max. 6 people) on fixed dates year-round. Bookings were handled manually via WhatsApp and Instagram, causing quota errors, payment confirmation delays and heavy admin overhead. He needed a system where visitors could see available trips, book online and pay, while he controlled activities, dates and confirmations from a panel without touching code.
02. Proceso creativo Creative process
A. Modelado del negocio A. Business modeling
Diseñé el dominio en torno a actividades, instancias (fechas concretas con cupo) y reservas. La lógica de cupos es atómica: al crear una reserva queda pendiente, al confirmar el pago se descuenta el cupo y al cancelar se libera. Instancias sin cupo dejan de mostrarse como disponibles. I designed the domain around activities, instances (specific dates with capacity) and reservations. Quota logic is atomic: creating a reservation leaves it pending, confirming payment deducts capacity and cancelling releases it. Instances with zero capacity stop showing as available.
B. Frontend y flujo de reserva B. Frontend and booking flow
Construí el sitio público con Livewire 3 y Tailwind CSS 4: landing con actividades destacadas, ficha de cada salida y flujo de reserva con selección de cantidad de personas y método de pago (Mercado Pago, Modo o transferencia). Soporte bilingüe ES/EN y diseño mobile-first acorde a la estética de la marca. I built the public site with Livewire 3 and Tailwind CSS 4: a landing page with featured activities, detail pages for each trip and a booking flow with party size and payment method selection (Mercado Pago, Modo or bank transfer). Bilingual ES/EN support and a mobile-first design aligned with the brand aesthetic.
C. Pagos y notificaciones C. Payments and notifications
Integré Mercado Pago con webhook firmado para confirmar pagos automáticamente. Resend envía correos transaccionales al reservar, al confirmar el pago y al cancelar. Juan recibe aviso por mail con los datos del inscripto en cada nueva reserva confirmada. I integrated Mercado Pago with a signed webhook to confirm payments automatically. Resend sends transactional emails on booking, payment confirmation and cancellation. Juan receives an email with registrant details on every confirmed reservation.
D. Panel administrativo D. Admin dashboard
Desarrollé el dashboard en Livewire: calendario de salidas, CRUD de actividades e instancias, listado de reservas con estados (pendiente/confirmada/cancelada), clientes y usuarios. Juan puede crear reservas manualmente, exportar manifiestos y operar el negocio sin depender de herramientas externas. I developed the Livewire dashboard: trip calendar, CRUD for activities and instances, reservation list with statuses (pending/confirmed/cancelled), clients and users. Juan can create reservations manually, export manifests and run the business without external tools.
03. Resultado final Final outcome
Plataforma operativa en producción sobre DigitalOcean con deploy automático vía GitHub Actions. Los visitantes reservan y pagan en minutos; Juan gestiona cupos, pagos y comunicaciones desde un solo panel. El sistema reemplazó por completo el proceso manual y quedó preparado para sumar nuevas actividades y fechas sin intervención técnica. Platform running in production on DigitalOcean with automatic deploy via GitHub Actions. Visitors book and pay in minutes; Juan manages capacity, payments and communications from a single panel. The system fully replaced the manual process and is ready to add new activities and dates without technical intervention.