Skip to main content

All-Gender Restrooms

Throughout Terminals

Details

Emergency Evacuation Plan

Airport Terminals

Details

Mobility Services

Details

Pet Relief Areas

Terminal A and B

Details

SJC Shuttle Buses

Terminal A and B Ground Transportation

Details

The Sunflower Lanyard Program

Check-in Counters & Airport’s Information Booths

Details

TSA Cares

Terminal A and B

Details

Wheelchair Assistance

Upon request

Details

Yellow Cab

Terminal A and B Ground Transportation

Details

document.addEventListener('DOMContentLoaded', function () { const acceptButton = document.querySelector('.cm-btn-success')[0]; const declineButton = document.querySelector('.cm-btn-danger')[0]; acceptButton.addEventListener('click', function () { // Handle accept action loadChatbot(); // Load chatbot immediately on accept }); declineButton.addEventListener('click', function () { loadChatbot(); // Load chatbot immediately on decline }); function loadChatbot() { (function (d, m) { var defaultSettings = { "defaultBotIds": ["sjc-oj2ht"], "defaultAssignee": "sjc-oj2ht", "skipRouting": true, }; var kommunicateSettings = { "appId": "115795fb883b8512e78ed54540345f318", "popupWidget": true, "automaticChatOpenOnNavigation": true, "talkToHuman": true, "primaryCTA": "TALK_TO_HUMAN", "onInit": function () { /* Hide Kommunicate branding */ var css = ".mck-running-on {display:none !important;}"; Kommunicate.customizeWidgetCss(css); // Disable input - before widget loads document.addEventListener("DOMContentLoaded", function () { const attempt = setInterval(() => { const iframeDoc = window.KommunicateGlobal?.document; if (!iframeDoc) return; const box = iframeDoc.querySelector(".mck-box-form.mck-row"); if (box) { box.style.pointerEvents = "none"; box.style.opacity = "0.5"; clearInterval(attempt); // stop polling } }, 50); }); // Main logic - Run after widget loaded setTimeout(() => { const kmDoc = window.KommunicateGlobal?.document; if (!kmDoc) return; let consentGiven = false; function disableInput() { const box = kmDoc.querySelector(".mck-box-form.mck-row"); if (box) { box.style.pointerEvents = "none"; box.style.opacity = "0.5"; } } function enableInput() { const box = kmDoc.querySelector(".mck-box-form.mck-row"); if (box) { box.style.pointerEvents = "auto"; box.style.opacity = "1"; } } /* Disable input again (persistent) */ disableInput(); /* Detect clicking the “I Agree” button */ Kommunicate.subscribeToEvents({ onRichMessageButtonClick: function (resp) { if (resp.eventLabel === "I Agree") { consentGiven = true; } } }); /* Keep enforcing the rule even after re-renders */ const observer = new MutationObserver(() => { if (consentGiven) enableInput(); else disableInput(); }); const target = kmDoc.querySelector("#mck-sidebox-content") || kmDoc.body; observer.observe(target, { childList: true, subtree: true }); }, 1200); // widget render delay Kommunicate.updateSettings(defaultSettings); } }; /* Default Kommunicate loader */ kommunicateSettings.restartConversationByUser = true; var s = document.createElement("script"); s.type = "text/javascript"; s.async = true; s.src = "https://widget.kommunicate.io/v2/kommunicate.app"; var h = document.getElementsByTagName("head")[0]; h.appendChild(s); window.kommunicate = m; m._globals = kommunicateSettings; })(document, window.kommunicate || {}); } });