{ "@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

Today's Best Vacation Deals

Hand-picked offers from Canada's leading vacation providers — all in one place. Save more. Travel further.

Grand Oasis Cancun

Cancun

7

All Inclusive

CAD per adult

$

1475

SAVE $

1200

Sunwing Vacations

bottom of page