google-site-verification: google4596caf58a825398.html
// File: public/quiz-scoring.js
export function calculateTravelStyle(formData) {
// Initialize scores
let scores = {
'luxuryLeisureLover': 0,
'culturalExplorer': 0,
'adventureSeeker': 0,
'culinaryConnoisseur': 0,
'mindfulWanderer': 0
};
// Map questions to their point values
const pointMapping = {
// Tiebreaker questions (2 points)
'question1': {
'A': ['luxuryLeisureLover', 2],
'B': ['culturalExplorer', 2],
'C': ['adventureSeeker', 2],
'D': ['culinaryConnoisseur', 2],
'E': ['mindfulWanderer', 2]
},
'question2': {
'A': ['luxuryLeisureLover', 2],
'B': ['culturalExplorer', 2],
'C': ['adventureSeeker', 2],
'D': ['culinaryConnoisseur', 2],
'E': ['mindfulWanderer', 2]
},
'question3': {
'A': ['luxuryLeisureLover', 2],
'B': ['culturalExplorer', 2],
'C': ['adventureSeeker', 2],
'D': ['culinaryConnoisseur', 2],
'E': ['mindfulWanderer', 2]
},
'question9': {
'A': ['luxuryLeisureLover', 2],
'B': ['culturalExplorer', 2],
'C': ['adventureSeeker', 2],
'D': ['mindfulWanderer', 2],
'E': ['culinaryConnoisseur', 2]
},
'question15': {
'A': ['luxuryLeisureLover', 2],
'B': ['culturalExplorer', 2],
'C': ['adventureSeeker', 2],
'D': ['culinaryConnoisseur', 2],
'E': ['mindfulWanderer', 2]
},
// Regular questions (1 point)
'question4': {
'A': ['luxuryLeisureLover', 1],
'B': ['culturalExplorer', 1],
'C': ['adventureSeeker', 1],
'D': ['culinaryConnoisseur', 1],
'E': ['mindfulWanderer', 1]
},
'question5': {
'A': ['mindfulWanderer', 1],
'B': ['luxuryLeisureLover', 1],
'C': ['culturalExplorer', 1],
'D': ['culinaryConnoisseur', 1],
'E': ['adventureSeeker', 1]
},
'question6': {
'A': ['luxuryLeisureLover', 1],
'B': ['culturalExplorer', 1],
'C': ['adventureSeeker', 1],
'D': ['mindfulWanderer', 1],
'E': ['culinaryConnoisseur', 1]
},
'question7': {
'A': ['culturalExplorer', 1],
'B': ['luxuryLeisureLover', 1],
'C': ['mindfulWanderer', 1],
'D': ['culinaryConnoisseur', 1],
'E': ['adventureSeeker', 1]
},
'question8': {
'A': ['luxuryLeisureLover', 1],
'B': ['culturalExplorer', 1],
'C': ['culinaryConnoisseur', 1],
'D': ['mindfulWanderer', 1],
'E': ['adventureSeeker', 1]
},
'question10': {
'A': ['luxuryLeisureLover', 1],
'B': ['culturalExplorer', 1],
'C': ['mindfulWanderer', 1],
'D': ['adventureSeeker', 1],
'E': ['culinaryConnoisseur', 1]
},
'question11': {
'A': ['luxuryLeisureLover', 1],
'B': ['culturalExplorer', 1],
'C': ['adventureSeeker', 1],
'D': ['culinaryConnoisseur', 1],
'E': ['mindfulWanderer', 1]
},
'question12': {
'A': ['luxuryLeisureLover', 1],
'B': ['culturalExplorer', 1],
'C': ['adventureSeeker', 1],
'D': ['mindfulWanderer', 1],
'E': ['culinaryConnoisseur', 1]
},
'question13': {
'A': ['luxuryLeisureLover', 1],
'B': ['culturalExplorer', 1],
'C': ['adventureSeeker', 1],
'D': ['culinaryConnoisseur', 1],
'E': ['mindfulWanderer', 1]
},
'question14': {
'A': ['mindfulWanderer', 1],
'B': ['culturalExplorer', 1],
'C': ['adventureSeeker', 1],
'D': ['luxuryLeisureLover', 1],
'E': ['culinaryConnoisseur', 1]
}
};
// Process form data and calculate scores
for (const [questionId, answer] of Object.entries(formData)) {
if (pointMapping[questionId] && pointMapping[questionId][answer]) {
const [style, points] = pointMapping[questionId][answer];
scores[style] += points;
}
}
// Find the highest score
let maxScore = 0;
let result = '';
for (const [style, score] of Object.entries(scores)) {
if (score > maxScore) {
maxScore = score;
result = style;
}
}
// Map result to page URL
const resultPages = {
'luxuryLeisureLover': '/luxury-leisure-lover',
'culturalExplorer': '/cultural-explorer',
'adventureSeeker': '/adventure-seeker',
'culinaryConnoisseur': '/culinary-connoisseur',
'mindfulWanderer': '/mindful-wanderer'
};
return resultPages[result] || '/quiz-results';
}
top of page
DESTINATIONS
FIND SUGGESTED HOTELS, DAY TRIPS & ADVENTURE TIPS
Europe
I'm a paragraph. Click here to add your own text & edit me. I’m a great place for you to tell a story
& let your users know a little more about you.
Africa
I'm a paragraph. Click here to add your own text & edit me. I’m a great place for you to tell a story
& let your users know a little more about you.
Asia
I'm a paragraph. Click here to add your own text & edit me. I’m a great place for you to tell a story
& let your users know a little more about you.
Australia
I'm a paragraph. Click here to add your own text & edit me. I’m a great place for you to tell a story
& let your users know a little more about you.
Canada
I'm a paragraph. Click here to add your own text & edit me. I’m a great place for you to tell a story
& let your users know a little more about you.
Bon Voyage offers travel information on a wide range of destinations. Learn about your destination today and contact us for a quote.
Booking a major trip is exciting,
but it can also be a bit overwhelming.
We understand. That's why we have live Travel Experts here to take care of your every need, making your trip stress-free & amazing.
Call Us Today
1-800-000-0000
bottom of page