\`\`\`javascript
// WIX Customer Intelligence Agent (CIA) Tracking Script
// CIA Base URL: https://cjscottiii.pythonanywhere.com
const CIA_BASE_URL = "https://cjscottiii.pythonanywhere.com";
/**
* Generates a simple unique ID (UUID v4-like)
* @returns {string} A unique ID string
*/
function generateUUID() {
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8);
return v.toString(16);
});
}
/**
* Retrieves the customer ID from localStorage or creates a new one.
* @returns {string} The unique customer ID.
*/
function getOrCreateCustomerId() {
let customerId = localStorage.getItem('cia_customer_id');
if (!customerId) {
customerId = generateUUID();
localStorage.setItem('cia_customer_id', customerId);
console.log("CIA: New customer ID created:", customerId);
} else {
console.log("CIA: Existing customer ID retrieved:", customerId);
}
return customerId;
}
/**
* Sends a page view tracking event to the CIA backend.
* @param {string} customerId - The unique ID of the customer.
*/
function trackPageView(customerId) {
const trackUrl = \`\${CIA_BASE_URL}/api/v1/track\`;
const data = {
customer_id: customerId,
page_url: window.location.href,
event_type: 'page_view'
};
fetch(trackUrl, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify(data),
})
.then(response => response.json())
.then(data => {
console.log('CIA Tracking Success:', data);
})
.catch((error) => {
console.error('CIA Tracking Error:', error);
});
}
/**
* Fetches a personalized recommendation from the CIA backend.
* @param {string} customerId - The unique ID of the customer.
*/
function fetchRecommendation(customerId) {
const recommendationUrl = \`\${CIA_BASE_URL}/api/v1/recommendation/\${customerId}\`;
fetch(recommendationUrl)
.then(response => response.json())
.then(data => {
console.log('CIA Recommendation:', data.recommendation);
// This is the key output. In a future step, you will use Wix Velo/Corvid
// to capture this recommendation and display it to the user on the page.
// For now, check your browser's console (F12) to confirm it is working.
})
.catch((error) => {
console.error('CIA Recommendation Error:', error);
});
}
// Main execution block
(function() {
const customerId = getOrCreateCustomerId();
trackPageView(customerId);
fetchRecommendation(customerId);
})();
\`\`\`
top of page
BOXING - 1 SESSION
adults (age 13 and up)
45 min45 min
45 US dollars
$45
North Alpine Road|Park Street
Service Description
A high-energy, skill-focused boxing class designed to introduce the fundamentals of boxing, footwork, coordination, focus, and discipline. This one-time session gives you a feel for the program while building confidence, strength, and respect in a fun, safe environment.
Cancellation Policy
No-Show & Reschedule Policy:
We value our students’ time and commitment please extend the same courtesy to our coaches.
Any reschedule or cancellation must be requested at least 24 hours in advance of your scheduled session.
Failure to notify within this time frame will result in the session being forfeited with no credit or transfer to another person.
We understand emergencies happen at our discretion, exceptions may be made for verified emergencies.