2025Booking platform and e‑commerce

Boat excursion booking platform

Project resources

Project developed in a company context at Energicamente SRL.

Technologies

Vue.jsLaravelMySQLStripe

Features

Dedicated UX with contextual micro-interactions

Overview

Web platform built for booking boat excursions in Lampedusa, designed to combine limited-availability booking logic with e-commerce capabilities. Users can book daily excursion slots, complete online payments, and manage changes or refunds. The system includes a dedicated admin dashboard to handle bookings, availability, pricing, and day-to-day operations, with special focus on UX to stand out from more standardized solutions.

Role

End-to-end design and development of the platform: application architecture, frontend and backend, booking logic, payment/refund integration, and admin dashboard.

What I did

Designed and built a daily-slot booking system handling dates, availability, and booking state. Integrated Stripe for online payments, full and partial refunds, and payment/booking status synchronization. Implemented commerce capabilities: experience catalogue, checkout discount codes, and newsletter integration for marketing communications. Built an admin dashboard to manage bookings, update prices, configure schedules/availability, and monitor excursion status. Implemented operational workflows for single and bulk admin-side refunds. Designed a custom UX with contextual micro-interactions to improve the booking flow.

Problems solved

Bookings and availability

The system had to handle concurrent booking attempts on the same slot. I designed the logic to keep availability, confirmations, and booking state aligned, preventing conflicts between user-side and admin-side operations.

Booking race conditions

To prevent double confirmations under simultaneous requests, booking was implemented as an atomic backend operation with data consistency checks.

Operational refund handling

Refund handling required controlled workflows, especially for manual dashboard interventions. I implemented single and bulk refund flows while preserving consistency across payment, booking, and operational state.