Santa Ponsa: 2-Hr Glass-Bottom Boat Dolphin-Watching - Tripsst (2024)

Santa Ponsa: 2-Hr Glass-Bottom Boat Dolphin-Watching - Tripsst (1)

Santa Ponsa: 2-Hr Glass-Bottom Boat Dolphin-Watching

Spain Palma de Mallorca

Details

Treat yourself to an extraordinary voyage along the captivating coastline of Mallorca, setting sail early in the morning aboard a magnificent glass-bottom vessel. Brace yourself for a two-hour cruise that promises an enchanting encounter with the mesmerizing world of dolphins.Marvel at the magical scenery that unfolds along the coastline, while dolphins gracefully swim and frolic in perfect harmony with the boat. With the crew's extensive expertise and years of experience, they have an uncanny ability to anticipate the dolphins' whereabouts. However, it's important to remember that these are wild animals, living freely in their natural habitat. Observing them in their true element is an awe-inspiring experience like no other.Don't miss out on this extraordinary adventure that promises to be the highlight of your Mallorca getaway. Book your tickets now and join us on this magnificent journey where nature's wonders unfold before your very eyes.

Highlights
Included in tickets

* 2-Hour Glass Bottom Boat CruiseDoes not include: * Snacks and drinks

Special Notes

* In case of bad weather, the captain can change the route* Alcoholic beverages won't be sold on-board* It's important to wear sunscreen and a hatKids under 4 get in for free.* Show your ticket at the departure point: Carrer Gran Via Puig de Galatzo 16, local 11, Santa Ponsa.* Meet 15 minutes before the scheduled start of the activity* Meet 15 minutes before the scheduled start of the activity

Additional Notes

N/A

Available days

M

T

W

T

F

S

S

Languages

en-US, fr-FR, de-DE, es-ES

How do I get my Ticket?

You will receive a QR code on the receipt sent to your mailbox.

Cancellation Policy

Receive a 100% refund if you cancel up to 24 hours before the experience begins.

BOOK from:$30.33

Fixed Date Picker

`;}if (typeof prices === 'undefined' || prices.length === 0) { showNoInfoMessage(); return;} console.log(prices);// Evitar que el formulario se envíeform.addEventListener('submit', function(event) { event.preventDefault();});prices.forEach(function(price, index) { // Crear contenedor del acordeón var accordionContainer = document.createElement('div'); // Crear botón del acordeón var time_price = price.startTime? price.startTime : ''; var accordionButton = document.createElement('button'); accordionButton.classList.add('accordion'); accordionButton.setAttribute('type', 'button'); // Asegurarse de que no sea de tipo submit accordionButton.textContent = price.name + ' ' + time_price; accordionContainer.appendChild(accordionButton); // Crear panel del acordeón var panel = document.createElement('div'); panel.classList.add('panel'); var table = document.createElement('table'); var item = price.prices; if (item) { item.forEach(function(price) { var row = document.createElement('tr'); // Crear una nueva fila para cada precio var nameCell = document.createElement('td'); nameCell.textContent = price.name; row.appendChild(nameCell); var priceCell = document.createElement('td'); priceCell.innerHTML = 'EUR' + price.price; priceCell.classList.add('price-amount'); row.appendChild(priceCell); // Añadir data-type al input var inputCell = document.createElement('td'); var input = document.createElement('input'); input.setAttribute('type', 'number'); input.setAttribute('name', 'cantidad_' + price.type); input.setAttribute('value', '0'); input.setAttribute('min', '0'); input.setAttribute('data-price', price.price); input.setAttribute('data-type', price.type); // Nuevo atributo data-type input.setAttribute('max', price.purchaseLimit); input.addEventListener('input', updateTotal); inputCell.appendChild(input); var incrementButton = document.createElement('button'); incrementButton.textContent = '+'; incrementButton.setAttribute('type', 'button'); // Asegurarse de que no sea de tipo submit incrementButton.addEventListener('click', function(event) { event.preventDefault(); var currentValue = parseInt(input.value) || 0; if (currentValue < parseInt(input.getAttribute('max'))) { input.value = currentValue + 1; } updateTotal(); }); inputCell.appendChild(incrementButton); var decrementButton = document.createElement('button'); decrementButton.textContent = '-'; decrementButton.setAttribute('type', 'button'); // Asegurarse de que no sea de tipo submit decrementButton.addEventListener('click', function(event) { event.preventDefault(); var currentValue = parseInt(input.value) || 0; if (currentValue > 0) { input.value = currentValue - 1; } updateTotal(); }); inputCell.appendChild(decrementButton); row.appendChild(inputCell); table.appendChild(row); // Añadir la fila a la tabla }); // Añadir total al final de la tabla var totalRow = document.createElement('tr'); var totalLabelCell = document.createElement('td'); totalLabelCell.textContent = 'Total:'; totalRow.appendChild(totalLabelCell); var totalAmountCell = document.createElement('td'); totalAmountCell.setAttribute('colspan', '2'); totalAmountCell.innerHTML = 'EUR0.00'; totalRow.appendChild(totalAmountCell); table.appendChild(totalRow); // Añadir la tabla al panel del acordeón panel.appendChild(table); var hiddenIdInput = document.createElement('input'); hiddenIdInput.setAttribute('type', 'hidden'); hiddenIdInput.setAttribute('name', 'activity'); // Nombre del campo oculto hiddenIdInput.setAttribute('value', price.name + ' ' + price.startTime); // Valor del id panel.appendChild(hiddenIdInput); // Añadir campo oculto para el id var hiddenIdInput = document.createElement('input'); hiddenIdInput.setAttribute('type', 'hidden'); hiddenIdInput.setAttribute('name', 'price_id'); // Nombre del campo oculto hiddenIdInput.setAttribute('value', price.id); // Valor del id panel.appendChild(hiddenIdInput); accordionContainer.appendChild(panel); form.appendChild(accordionContainer); // Función para actualizar el total function updateTotal() { let totalAmount = 0; panel.querySelectorAll('input[type="number"]').forEach(input => { const quantity = parseInt(input.value) || 0; const price = parseFloat(input.getAttribute('data-price')); totalAmount += quantity * price; }); panel.querySelector('.totalAmount').textContent = totalAmount.toFixed(2); } // Añadir evento para el acordeón accordionButton.addEventListener('click', function(event) { event.preventDefault(); // Evitar comportamiento predeterminado // Cerrar todos los paneles document.querySelectorAll('.panel').forEach(function(panel) { panel.style.display = 'none'; }); // Cerrar todos los botones del acordeón document.querySelectorAll('.accordion').forEach(function(button) { button.classList.remove('active'); }); // Abrir el panel actual this.classList.toggle('active'); var panel = this.nextElementSibling; if (panel.style.display === 'block') { panel.style.display = 'none'; } else { panel.style.display = 'block'; } }); // Abrir el primer acordeón automáticamente if (index === 0) { accordionButton.classList.add('active'); panel.style.display = 'block'; } } else { showNoInfoMessage(); return; }}); }});

Have a Suggestion or need help? Click Here
Santa Ponsa: 2-Hr Glass-Bottom Boat Dolphin-Watching - Tripsst (2024)
Top Articles
Tofu Breakfast Sandwich
Low Carb Banana Spinach Smoothie
Happel Real Estate
Pwc Transparency Report
The Girl Next Door | Rotten Tomatoes
Stanford Rival Crossword Clue
Subject Guides: Business: Exchange Rates: Historical Foreign Exchange Rate
Pogo Express Recharge
Wlds Obits
The Canterville Ghost Showtimes Near Northwoods Cinema 10
Taterz Salad
Pierced Universe Coupon
Studyladder Login
Craigslist Shelves
Wausau Pilot Obituaries
Sauce 423405
R/Chinatime
Shs Games 1V1 Lol
Nwi Police Blotter
Brise Stocktwits
Skip The Games Lawton Oklahoma
2022 NFL Predictions
The Secret Powers Of Doodling
Used Safari Condo Alto R1723 For Sale
Elijah Vue latest: Two Rivers police confirm remains are those of boy missing since February
Missing 2023 Showtimes Near Lucas Cinemas Albertville
Drug Stores Open 24Hrs Near Me
Hinzufügen Ihrer Konten zu Microsoft Authenticator
Telegram Voyeur
Mega Millions Lottery - Winning Numbers & Results
The History Of Fujoshi, Male Shippers, And How Its Changed
Virtualrewardcenter.com/Activate
Two Brothers Pizza Middletown Pa
Who Is Acropolis 1989? Wiki, Bio, Age, Boyfriend, Net Worth | Biography Lane
359 Greenville Ave Staunton Va
Holley Gamble Funeral Home In Clinton
Enterprise Car Sales Jacksonville Used Cars
Issue November 5, 1949 - The Hockey News
Www Texaslottery Com
Decree Of Spite Poe
Galen Rupp Net Worth
Dallas College Radiology Packet
How to paint a brick fireplace (the right way)
I Heard The Bells Film Showtimes Near Newport Cinema Center
Mastering the basics: A comprehensive guide to cybersecurity 101 for the digital age
Pokimane Boob Flash
Pinellas Fire Active Calls
Thekat103.7
Water Temperature Robert Moses
Unit 8 Homework 3 Trigonometry
Criagslist Orlando
Youtube Verify On Payment Methods Page
Latest Posts
Article information

Author: Rev. Porsche Oberbrunner

Last Updated:

Views: 6662

Rating: 4.2 / 5 (53 voted)

Reviews: 84% of readers found this page helpful

Author information

Name: Rev. Porsche Oberbrunner

Birthday: 1994-06-25

Address: Suite 153 582 Lubowitz Walks, Port Alfredoborough, IN 72879-2838

Phone: +128413562823324

Job: IT Strategist

Hobby: Video gaming, Basketball, Web surfing, Book restoration, Jogging, Shooting, Fishing

Introduction: My name is Rev. Porsche Oberbrunner, I am a zany, graceful, talented, witty, determined, shiny, enchanting person who loves writing and wants to share my knowledge and understanding with you.