
The brief
Atlantis Charters runs skippered trips from Port de Pollença on a llaüt, the traditional Mallorcan wooden boat, with morning, half day, full day, afternoon and sunset departures. The website had to let a visitor see which departures were still free, choose one and secure it with a deposit, all without leaving the site to arrange it by message.
Explore our web design and development service
Visit the live siteWhat it had to solve
- There is one boat, so each departure can be sold only once, and two visitors must never be able to book the same one.
- A visitor needed to see which dates and times were still available before deciding, not after sending a request.
- A booking had to be secured with part of the price paid in advance, with the rest settled on board on the day.
- Guests come from several countries, so the site had to work in Spanish, English, German and French.
How it was carried out
The phases the project moved through, in order.
Plans and prices
Set out each trip as a plan with its length, departure time, total price and deposit, so a visitor can compare a sunset trip with a full day before opening the calendar.
Availability calendar
A monthly calendar marks each day as available, partly booked or full. Choosing a day shows the departures still open on it, and past dates cannot be selected.
Booking and deposit
The visitor gives a name, email, telephone and the number of passengers, then pays 30% of the price on Stripe's checkout page. Availability is checked again at that moment, so a departure taken in the meantime is refused rather than sold twice.
Four languages
Spanish, English, German and French across the plans, the calendar and the booking form, with the language chosen from the menu on every page.
Contact and departure point
WhatsApp and email for questions that are not a booking, and a map of the departure point in Port de Pollença.
What the business ended up with
- Availability calendar by day and departure
- Online booking with a deposit paid in advance
- Protection against two bookings for the same departure
- Plans with length, times and prices stated
- Spanish, English, German and French
- Direct contact by WhatsApp and email
Pages from the site




How it was built
- React
- The plans, the calendar and the booking form run as one application, so a visitor moves through a booking without the page reloading.
- Stripe
- The deposit is paid on Stripe's own checkout page, so card details never pass through the website.
- Availability checks
- The calendar reads the month when it opens, and the chosen departure is checked again when the booking is paid.
- Four languages
- Spanish, English, German and French run from the same pages and the same booking flow.
