Client project · Case study

Tenerife Paragliding

Bookings, payments and daily operations for tandem paragliding flights, in seven languages.

The weather decides. The system handles everything else.
Visit tenerife-paragliding.es
The live availability page of tenerife-paragliding.es, with conditions and the next fourteen days
7 languages
20 automated jobs
33 WhatsApp templates

01A business that depends on the sky

Flights happen only when the wind allows. Customers are tourists who speak many languages, book from their phone and need picking up from their hotel. The pilots are in the air, not at a desk, and partners sell flights too.

  • Weather that can cancel a whole day at short notice
  • Customers in seven languages, mostly on mobile
  • Payments that must not be taken for flights that do not happen
  • Partner agents who sell and need their commission tracked

02What I built, for each person who uses it

Three panels and a public site, each made for the person who uses it: the customer, the owner, the operator in the field, and the partner agent.

For customers

Booking in their language

Seven languages, five start times a day, a pickup address, and a confirmation by WhatsApp and email with a calendar file.

Paid only when confirmed

The card is held at booking and charged only once the operator confirms the flight.

Weather days without phone calls

On a weather hold the customer gets a link and picks a new date or a refund. Moving a flight is self-service, up to twice.

Gift vouchers

Buy online, receive a PDF voucher with a QR code, redeem it on the site, with a reminder before it expires.

For the owner (31 admin screens)

Calendar and capacity

A calendar with quick booking for walk-ins, capacity per time slot, availability rules and blocks synced from Google Calendar.

Money, clearly

Every transaction with the Stripe fee and the net amount, refunds from the booking, revenue, and reports in PDF and Excel.

Flights and pilots

The daily manifest, bulk confirm and complete, closing the day, and the pilot logbook.

Content without a developer

FAQ, testimonials, media library, school, guiding and excursion pages, all edited from the admin.

For the operator in the field

The week at a glance

A week calendar on the phone: confirm, refuse, complete or move a flight in one tap.

Weather day

Put a whole day on hold; every customer is told and chooses a new date or a refund.

Walk-ins and phone bookings

Add a booking on the spot, with the email optional, and the pickup address.

For partner agents

A portal of their own

Agents book for their clients, see their bookings, points and settlement, and sign in with a link, no password.

Statements in PDF

Each agent’s commission statement is generated as a PDF, and approvals and settlements are tracked in the admin.

20 jobs that run on their own

The work that keeps a flying day running without a back office:

  • Pre-flight reminders the evening before, by WhatsApp and email
  • Automatic confirmation when the operator does not answer in time
  • Alerts for stuck bookings and flights left incomplete
  • Calendar blocks pulled from Google Calendar every 5 minutes
  • Voucher expiry reminders and review requests after the flight
  • A daily digest for the operator and a weekly report for the owner
  • Phone, health details and pickup address erased 24 months after the flight

Technical architecture

Stripe
Card hold, charge on confirmation, refunds, fees
Twilio WhatsApp
Meta message templates in 7 languages, delivery status
Google Calendar
Bookings and blocks kept in step with the team calendar
Open-Meteo
The forecast behind weather decisions
Neon Postgres · Upstash
Database, sessions and booking limits
Next.js · Vercel
Seven-language site, 20 scheduled jobs, media storage

In numbers

Counted in the production code on 21 October 2026.

7
Languages

English, Spanish, German, French, Dutch, Italian and Romanian.

45
Admin screens

Owner, operator and partner agents.

20
Automated jobs

Reminders, confirmations, alerts, reports.

33
WhatsApp templates

Including 14 for customers, each in all 7 languages.

What it connects to

Stripe

Payments, holds, refunds and fees.

WhatsApp (Twilio)

Confirmations, reminders and weather notices.

Resend

Emails with a calendar file, and sign-in links for agents.

Google Calendar

The team calendar, both ways.

Open-Meteo

The forecast for every flying day.

Google Places

The live Google rating on the site.

Run bookings for an activity or a tour? Tell me about yours.