{ "@context": "https://schema.org", "@type": "TravelAgency", "name": "Paradise Vacations", "url": "https://paradisevacations.ca", "logo": "https://paradisevacations.ca/logo.png", "aggregateRating": { "@type": "AggregateRating", "ratingValue": "3.9", "reviewCount": "2", "bestRating": "5", "worstRating": "5" }, "sameAs": [ "https://www.trustpilot.com/review/paradisevacations.ca" ] } import { submitTravelRequest } from 'backend/travelRequests.web'; $w.onReady(function () { $w('#successMessage').hide(); $w('#errorMessage').hide(); $w('#requestNumber').hide(); $w('#submitButton').onClick(async () => { await submitRequest(); }); }); async function submitRequest() { $w('#successMessage').hide(); $w('#errorMessage').hide(); const required = [ '#travelType', '#destination', '#firstName', '#lastName', '#email', '#phone' ]; for (const field of required) { if (!$w(field).value || String($w(field).value).trim() === '') { showError('Please complete all required fields.'); return; } } const email = String($w('#email').value).trim(); if (!isValidEmail(email)) { showError('Please enter a valid email address.'); return; } $w('#submitButton').disable(); $w('#submitButton').label = 'Sending...'; try { const result = await submitTravelRequest({ travelType: $w('#travelType').value, departure: $w('#departure').value, destination: $w('#destination').value, departureDate: $w('#departureDate').value, returnDate: $w('#returnDate').value, adults: Number($w('#adults').value || 0), children: Number($w('#children').value || 0), budget: $w('#budget').value, preferences: $w('#preferences').value, firstName: $w('#firstName').value, lastName: $w('#lastName').value, email: email, phone: $w('#phone').value, specialRequests: $w('#specialRequests').value }); $w('#successMessage').text = 'Thank you! Your travel request has been received.'; $w('#requestNumber').text = `Your request number is ${result.requestId}.`; $w('#successMessage').show(); $w('#requestNumber').show(); clearForm(); } catch (error) { console.error(error); showError( 'We were unable to submit your request. Please try again or contact us directly.' ); } finally { $w('#submitButton').enable(); $w('#submitButton').label = 'Request My Trip'; } } function isValidEmail(email) { return /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(email); } function showError(message) { $w('#errorMessage').text = message; $w('#errorMessage').show(); } function clearForm() { $w('#departure').value = ''; $w('#destination').value = ''; $w('#departureDate').value = null; $w('#returnDate').value = null; $w('#adults').value = ''; $w('#children').value = ''; $w('#budget').value = ''; $w('#preferences').value = ''; $w('#firstName').value = ''; $w('#lastName').value = ''; $w('#email').value = ''; $w('#phone').value = ''; $w('#specialRequests').value = ''; }
top of page

Paradise Vacations
Travel Blog

Destination News and Tips for Canadian Travelers

Welcome to our travel blog, dedicated to adventurous Canadian travelers! Here, we explore the hidden gems and breathtaking landscapes across Canada and beyond. Whether you're seeking tips for your next road trip, insights on local cultures, or inspiration for your wanderlust, you've come to the right place. Join us as we embark on unforgettable journeys and share our experiences along the way!

bottom of page