{ "@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
playa-bavaro-punta-cana.jpg

Our Team

We are a husband & wife team of TICO Certified travel agents servicing Southwestern Ontario, the GTA and the rest of Canada.   We split our time between our home in the Dominican Republic while maintaining our Canadian roots through the summer months at our home near London, Ontario.

WhatsApp Image 2025-02-09 at 17.11_edited.jpg

Paul Birch

Virgin Voyages, Tour Packages & All Inclusive Vacation Specialist

​

Contact Paul

lori_edited_edited.jpg

Lori Birch

Destination Wedding & Group Travel Specialist

​

Contact Lori

bottom of page