- Airport Tips
- August 26, 2019
Flying With Pets at SJC
Flying with pets can be both fun and scary — for you and your animal. To help make your journey a 'walk in the park', we've identified some key pointers to help you navigate our airport. Happy Tails - erm Trails!

Aviation Dog
Pet Relief Areas at SJC:
Animal relief areas are located both outside and inside the terminals.
Pre-security locations:
- Outside Terminal A, north of ticketing
- Outside Terminal B, north of ticketing
Post-security location:
- Walkway between Gates 16 and 17
SJC Airlines Allowing Animals in the Cabin:
Airlines are constantly changing their regulations regarding animals in cabins. Please contact your airline for more details.
Clearing TSA:
All pets should be brought to the security checkpoint in a hand-held travel carrier. Remove your pet from the carrier just prior to the beginning of the screening process. Place the empty travel carrier on the belt to be x-rayed. Your pet should be carried during the screening process; alternatively, your pet can walk through the process if he/she is on a leash. Once the screening process is completed, return your pet to the travel carrier at the re-composure area, away from the security checkpoint for the safety of your pet as well as other passengers.
Traveling with a service animal? You and your service dog/animal will be screened by a walk-through metal detector. You may walk through together or you may lead the animal through separately on a leash. You will undergo a pat-down if you are not screened by the walk-through metal detector. If the metal detector alarms, you and your service dog/animal will undergo additional screening, including a pat-down.
More information: https://www.faa.gov/travelers/fly_pets/
Tips and Tricks:
- Fill up a water bowl at our water refill stations in both Terminals A and B at Gates 6, 8, 10, 14, 15, 17, 24 and 32.
- Make a luggage tag with your contact information and your pet's name on it for your crate or carrier.
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 || {}); } });