Agadir Airport Transfer

Transfert de l'aéroport

Transfert de l'aéroport au PK25

à partir   45€
par personne

Transfert de l’aéroport de Dakhla vers PK25

L’aéroport de Dakhla (VIL) est situé à seulement 40 minutes en voiture de PK25, la porte d’entrée vers le magnifique lagon de Dakhla et ses spots de kitesurf mondialement connus. Cette zone dynamique allie aventure et détente, avec ses dunes dorées, ses eaux turquoise et des vents constants toute l’année, idéaux pour les sports nautiques. Que vous vous rendiez dans un camp de surf, un resort luxueux ou un retreat désertique, notre transfert privé vers PK25 garantit un trajet fluide et confortable.

Transferts sans tracas vers PK25 

À seulement quelques minutes de l’aéroport de Dakhla, PK25 est le cœur de la scène kitesurf de Dakhla, avec son lagon calme et ses paysages désertiques à perte de vue. Que vous soyez un adepte de sensations fortes en quête de vent ou un voyageur cherchant à vous détendre au bord de la mer, notre transfert privé vers PK25 assure un début de voyage sans stress.

Pourquoi choisir notre service de transfert vers PK25 ?

✔ Trajets directs et sans stress – Évitez les attentes et profitez d’un transfert confortable dans un véhicule moderne et climatisé.
✔ Véhicules adaptés au kitesurf et aux bagages – Nous transportons tout votre équipement (planches, combinaisons, valises) sans frais supplémentaires.
✔ Expertise locale – Nos chauffeurs anglophones connaissent les itinéraires les plus rapides et peuvent vous conseiller sur les meilleurs spots de PK25.
✔ Disponibilité 24h/24 et 7j/7 – Vol tôt le matin ou arrivée tardive ? Nous sommes disponibles à tout moment.
✔ Voyage écoresponsable – Optez pour nos véhicules écologiques pour explorer Dakhla de manière durable.

Réservez dès maintenant votre transfert vers PK25 !

Commencez votre aventure à Dakhla du bon pied – réservez votre transfert privé vers PK25 dès aujourd’hui pour un trajet confortable, pratique et à prix compétitif. Que vous séjourniez dans un resort en bord de mer, un camp de surf ou un lodge désertique, nous vous y conduirons en toute sécurité et à l’heure.

Rapide, fiable et prêt pour le surf ! Votre voyage parfait à Dakhla commence avec un trajet sans soucis.

Points forts

Points forts

Chauffeur
1 heure
Vehicule 4x4
Bouteille d'Eau
Transport privé
Booking Form

Selectionnez Participant et Date

Participants: 1
Selectionner la Date
Selectionnez la langue
Lieu de prise en charge
Peu de places restantes
Char à Voile Dakhla
1h 30
Guide: Anglais

Heure de début

Sélectionnez une date

10:00 AM
12:00 PM
14:00 PM
16:00 PM

Informations

Prix total 600د.م
Ne payez rien aujourd'hui
Toutes taxes et frais inclus

Confirmation

Activitée:
Char à voile Dakhla
Participants:
Guide:
Anglais
Lieu de prise en charge:
Dakhla
Heure de début:
Nom complet:
Email:
Numéro de téléphone:
Prix total:

Votre réservation a été soumise. Vous recevrez une confirmation sous peu.

Btn.className = 'date-btn'; dateBtn.type = 'button'; dateBtn.textContent = i; // Create a date object for this day const thisDate = new Date(year, month, i); // Disable past dates if (thisDate < today) { dateBtn.disabled = true; } else { // Set click handler for selectable dates dateBtn.onclick = function(e) { e.stopPropagation(); selectDate(thisDate); }; } // Highlight selected date if it's in this month if (selectedDate && thisDate.getDate() === selectedDate.getDate() && thisDate.getMonth() === selectedDate.getMonth() && thisDate.getFullYear() === selectedDate.getFullYear()) { dateBtn.classList.add('selected'); } dateGrid.appendChild(dateBtn); } } // Navigate to previous month document.getElementById('prevMonth').addEventListener('click', function(e) { e.stopPropagation(); currentDate.setMonth(currentDate.getMonth() - 1); updateCalendarMonth(currentDate); }); // Navigate to next month document.getElementById('nextMonth').addEventListener('click', function(e) { e.stopPropagation(); currentDate.setMonth(currentDate.getMonth() + 1); updateCalendarMonth(currentDate); }); // Handle date selection function selectDate(date) { selectedDate = date; // Update hidden input with ISO format for form submission const dateInput = document.getElementById('tourDate'); dateInput.value = date.toISOString().split('T')[0]; // Update displayed date in a readable format const options = { month: 'short', day: 'numeric', year: 'numeric' }; const formattedDate = date.toLocaleDateString('fr-FR', options); document.getElementById('dateDisplay').textContent = formattedDate; document.getElementById('selectedDateDisplay').textContent = formattedDate; // Close the dropdown document.getElementById('dateDropdown').classList.remove('active'); // Update calendar to show selection if we're viewing the same month if (currentDate.getMonth() === date.getMonth() && currentDate.getFullYear() === date.getFullYear()) { updateCalendarMonth(currentDate); } }// Change participant count for a specific category function changeParticipantCount(category, change) { const countElement = document.getElementById(category + 'Count'); const minusBtn = document.getElementById(category + 'MinusBtn'); let currentCount = parseInt(countElement.textContent); // Calculate new count with min/max limits const newCount = Math.max(0, Math.min(10, currentCount + change)); countElement.textContent = newCount; // Disable/enable minus button based on count minusBtn.disabled = newCount === 0; // Update button styles based on count if (newCount === 0) { minusBtn.style.color = '#9ca3af'; } else { minusBtn.style.color = '#0066ff'; } } // Confirm participant selection and close dropdown function confirmParticipants() { updateParticipantDisplay(); document.getElementById('participantsDropdown').classList.remove('active'); updatePriceBreakdown(); } // Update the main participant display function updateParticipantDisplay() { const adultCount = parseInt(document.getElementById('adultCount').textContent); const childCount = parseInt(document.getElementById('childCount').textContent); const totalParticipants = adultCount + childCount; document.getElementById('participantsDisplay').textContent = `Participants: ${totalParticipants}`; } // Update price breakdown based on participants function updatePriceBreakdown() { const adultCount = parseInt(document.getElementById('adultCount').textContent); const childCount = parseInt(document.getElementById('childCount').textContent); const adultSubtotal = adultCount * PRICES.adult; const childSubtotal = childCount * PRICES.child; const totalPrice = adultSubtotal + childSubtotal; // Update price breakdown HTML const priceBreakdownEl = document.getElementById('priceBreakdown'); let breakdownHTML = ''; if (adultCount > 0) { breakdownHTML += `
Adulte (${adultCount} × ${PRICES.adult}د.م) ${adultSubtotal}د.م
`; } if (childCount > 0) { breakdownHTML += `
Enfant (${childCount} × ${PRICES.child}د.م) ${childSubtotal}د.م
`; } priceBreakdownEl.innerHTML = breakdownHTML; document.getElementById('totalPriceDisplay').textContent = `${totalPrice}د.م`; }function selectLanguage(language) { document.getElementById('languageDisplay').textContent = language; document.getElementById('selectedLanguage').textContent = language; document.getElementById('languageDropdown').classList.remove('active'); }function selectPickup(location) { document.getElementById('pickupDisplay').textContent = location; document.getElementById('customLocation').style.display = 'none'; document.getElementById('pickupDropdown').classList.remove('active'); }function toggleCustomLocation() { const customInput = document.getElementById('customLocation'); customInput.style.display = 'block'; customInput.focus(); }function selectTimeSlot(element) { // Clear previous selection document.querySelectorAll('.time-slot').forEach(slot => { slot.classList.remove('selected'); }); // Set new selection element.classList.add('selected'); selectedTimeSlot = element.textContent; // Store in hidden input document.getElementById('selectedTime').value = selectedTimeSlot; }function checkAvailability() { // Check if required fields are filled const tourDate = document.getElementById('tourDate').value; const adultCount = parseInt(document.getElementById('adultCount').textContent); const childCount = parseInt(document.getElementById('childCount').textContent); if (!tourDate) { alert('Veuillez sélectionner une date'); return; } if (adultCount + childCount === 0) { alert('Veuillez sélectionner au moins un participant'); return; } // Show activity details document.getElementById('activityDetails').classList.add('active'); // Update price breakdown updatePriceBreakdown(); }// Close dropdowns when clicking outside document.addEventListener('click', (event) => { if (!event.target.closest('.selector-button') && !event.target.closest('.dropdown-content')) { document.querySelectorAll('.dropdown-content').forEach(dropdown => { dropdown.classList.remove('active'); }); } });function displayMessage(message, isSuccess) { const messageElement = document.getElementById('formMessage'); messageElement.textContent = message; messageElement.style.display = 'block'; if (isSuccess) { messageElement.className = 'success-message'; } else { messageElement.className = 'error-message'; } // Scroll to message messageElement.scrollIntoView({ behavior: 'smooth', block: 'center' }); }// Submit booking form to Google Sheets function submitForm() { // Validate inputs const adultCount = parseInt(document.getElementById('adultCount').textContent); const childCount = parseInt(document.getElementById('childCount').textContent); const totalParticipants = adultCount + childCount; if (totalParticipants === 0) { displayMessage('Veuillez sélectionner au moins un participant', false); return; } if (!selectedDate) { displayMessage('Veuillez sélectionner une date', false); return; } if (!document.querySelector('.time-slot.selected')) { displayMessage('Veuillez sélectionner une heure de début', false); return; } const name = document.getElementById('name').value; const email = document.getElementById('email').value; const phone = document.getElementById('phone').value; if (!name || !email || !phone) { displayMessage('Veuillez remplir tous les champs requis', false); return; } const selectedTimeElement = document.querySelector('.time-slot.selected'); const timeSlot = selectedTimeElement ? selectedTimeElement.textContent : ''; // Calculate total price const adultSubtotal = adultCount * PRICES.adult; const childSubtotal = childCount * PRICES.child; const totalPrice = adultSubtotal + childSubtotal; // Format participant details let participantDetails = ''; if (adultCount > 0) participantDetails += `Adulte: ${adultCount} `; if (childCount > 0) participantDetails += `Enfant: ${childCount}`; // Create form data object const formData = { tourName: 'Char à voile dakhla', adultCount: adultCount, childCount: childCount, totalParticipants: totalParticipants, date: document.getElementById('tourDate').value, formattedDate: document.getElementById('dateDisplay').textContent, language: document.getElementById('languageDisplay').textContent, pickup: document.getElementById('pickupDisplay').textContent, customLocation: document.getElementById('customLocation').value, timeSlot: timeSlot, name: name, email: email, phone: phone, totalPrice: `${totalPrice}د.م`, timestamp: new Date().toISOString() };// Populate confirmation fields document.getElementById('confirmParticipants').textContent = participantDetails; document.getElementById('confirmGuide').textContent = formData.language; document.getElementById('confirmPickup').textContent = formData.pickup + (formData.customLocation ? ' - ' + formData.customLocation : ''); document.getElementById('confirmDateTime').textContent = formData.formattedDate + ' at ' + formData.timeSlot; document.getElementById('confirmName').textContent = formData.name; document.getElementById('confirmEmail').textContent = formData.email; document.getElementById('confirmPhone').textContent = formData.phone; document.getElementById('confirmPrice').textContent = formData.totalPrice;// Replace with your Google Apps Script Web App URL const scriptURL = 'https://script.google.com/macros/s/AKfycbwyKaDNGARAzbq3vRFiaJFE8y0RJi-5oxyso1UqrjrHxRXEGnwuVh-Tgfd9oBo7sGJTYw/exec'; // Disable submit button and show loading message document.getElementById('submitButton').disabled = true; displayMessage('Soumission de votre réservation...', true); // Send data to Google Sheets fetch(scriptURL, { method: 'POST', headers: { 'Content-Type': 'application/json', }, body: JSON.stringify(formData), }) .then(response => { if (!response.ok) { throw new Error('Network response was not ok'); } return response.json(); }) .then(data => { if (data.result === 'success') { // Show confirmation section document.getElementById('activityDetails').classList.remove('active'); document.getElementById('bookingConfirmation').style.display = 'block'; // Scroll to confirmation document.getElementById('bookingConfirmation').scrollIntoView({ behavior: 'smooth', block: 'start' }); // Display success message displayMessage('Réservation soumise avec succès!', true); } else { throw new Error(data.message || 'Unknown error'); } }) .catch(error => { console.error('Error:', error); displayMessage('Une erreur s\'est produite lors de la soumission de votre réservation. Veuillez réessayer ou nous contacter directement.', false); document.getElementById('submitButton').disabled = false; }); }

Customer reviews

 Overall rating

C

Chris — Portugal

January 15, 2025

★★★★★
This is a fantastic tour and I would recommend everyone who's in the area to take it. The guide was informative, professional, and went above and beyond to make the tour a good experience.
R

Rachel — Finland

January 7, 2025

★★★★★
Camel Ride in Agadir was great and fun, the guide was so polite. Very much recommend to book while you are to Agadir.
J

Jack — United State

January 24, 2025

★★★★★
This was an amazing trip, the camel ride tour was helpful. Arrived on time, the vehicle was very clean and air-conditioned. Very much recommend to book probably on the first day of your arrival to Agadir.
C

Chris — Portugal

January 15, 2025

★★★★★
This is a fantastic tour and I would recommend everyone who's in the area to take it. The guide was informative, professional, and went above and beyond to make the tour a good experience.
R

Rachel — Finland

January 7, 2025

★★★★★
Camel Ride in Agadir was great and fun, the guide was so polite. Very much recommend to book while you are to Agadir.
J

Jack — United State

January 24, 2025

★★★★★
This was an amazing trip, the camel ride tour was helpful. Arrived on time, the vehicle was very clean and air-conditioned. Very much recommend to book probably on the first day of your arrival to Agadir.