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

Available Online

Virgin Voyages Booking Assistance

45 minPhone Call

Service Description

Our Virgin Voyages Gold Tier First Mate will walk you through the process and explain what to expect, deposits, and discuss any promotions and perks for your cruise.


Contact Details

12265471001

pbirch@northstartravel.ca

Embro, ON, Canada


bottom of page