1<!doctype html> 2<html lang="en"> 3 <head> 4 <meta charset="UTF-8" /> 5 <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no, viewport-fit=cover" /> 6 <meta name="format-detection" content="telephone=no" /> 7 <title>Entry | Travel Authorization Services</title> 8 <meta name="description" content="Entry - Expert travel authorization and visa services. Fast processing, AI-powered forms, and dedicated support." /> 9 <meta name="author" content="Entry" /> 10 <meta name="build-timestamp" content="2026-04-23T00:00:00Z" /> 11 12 <meta property="og:title" content="Entry | Travel Authorization Services" /> 13 <meta property="og:description" content="Entry - Expert travel authorization and visa services. Fast processing, AI-powered forms, and dedicated support." /> 14 <meta property="og:type" content="website" /> 15 <meta property="og:image" content="https://entryadmin.lovable.app/og/entry-default.jpg" /> 16 <meta property="og:image:width" content="1200" /> 17 <meta property="og:image:height" content="630" /> 18 19 <meta name="twitter:card" content="summary_large_image" /> 20 <meta name="twitter:site" content="@Entry" /> 21 <meta name="twitter:image" content="https://entryadmin.lovable.app/og/entry-default.jpg" /> 22 <link rel="icon" id="favicon" href="/entry-favicon.ico" type="image/x-icon"> 23 24 <!-- Installable Web App (PWA) â home-screen support only, no service worker --> 25 <link rel="manifest" href="/manifest.webmanifest" /> 26 <meta name="theme-color" id="theme-color-meta" content="#0f1b3d" media="(prefers-color-scheme: light)" /> 27 <meta name="apple-mobile-web-app-capable" content="yes" /> 28 <meta name="apple-mobile-web-app-status-bar-style" content="default" /> 29 <meta name="apple-mobile-web-app-title" content="Passport" /> 30 <link rel="apple-touch-icon" href="/uvc-favicon.png" /> 31 <meta name="mobile-web-app-capable" content="yes" /> 32 33 34 <!-- Google tags removed â clean slate. Will be re-added intentionally. --> 35 36 37 <!-- Warm up FanBasis so the embedded checkout iframe & SDK load faster --> 38 <link rel="preconnect" href="https://cdn.embedded.fanbasis.io" crossorigin> 39 <link rel="preconnect" href="https://embedded.fanbasis.io" crossorigin> 40 <link rel="preconnect" href="https://checkout.fanbasis.io" crossorigin> 41 <link rel="preconnect" href="https://api.fanbasis.io" crossorigin> 42 <link rel="dns-prefetch" href="https://cdn.embedded.fanbasis.io"> 43 <link rel="dns-prefetch" href="https://embedded.fanbasis.io"> 44 <link rel="dns-prefetch" href="https://checkout.fanbasis.io"> 45 <link rel="dns-prefetch" href="https://api.fanbasis.io"> 46 <link rel="preload" as="script" href="https://cdn.embedded.fanbasis.io/embed/index.js" crossorigin> 47 48 <!-- Dynamic branding and favicon based on domain --> 49
49<script> 50 (function() { 51 var hostname = window.location.hostname; 52 var pathname = window.location.pathname; 53 54 // Detect brand from hostname 55 var isIVS = hostname.includes('ivs') || hostname.includes('evisa'); 56 var isQuickPassport = hostname.includes('quickpassport'); 57 var isUVC = hostname.includes('usvisaconnection') || hostname.includes('usvisconnection'); 58 59 var brandName = 'Entry'; 60 if (isIVS) brandName = 'IVS'; 61 else if (isQuickPassport) brandName = 'QuickPassport'; 62 else if (isUVC) brandName = 'UVC'; 63 64 // Path-based static SEO overrides (so AdsBot/Googlebot see ad-relevant copy 65 // BEFORE React/JS hydrates the per-route Helmet tags). 66 var pathTitle = null; 67 var pathDesc = null; 68 69 if (pathname.indexOf('/united-kingdom') === 0) { 70 pathTitle = 'UK ETA Service â Apply for your UK Electronic Travel Authorisation'; 71 pathDesc = 'Apply for your UK Electronic Travel Authorisation (ETA) online. Fast, secure, expert-prepared service with 96% approval rate and 24/7 support.'; 72 } else if (pathname.indexOf('/united-states/esta') === 0) { 73 pathTitle = 'US ESTA Application â Apply for your US Travel Authorization'; 74 pathDesc = 'Apply for your US ESTA travel authorization online. Fast, expert-prepared service with 99% approval rate and 24/7 support.'; 75 } else if (pathname.indexOf('/united-states/ds160') === 0 || pathname.indexOf('/united-states/visa') === 0) { 76 pathTitle = 'US Visa Application â Apply for your US Nonimmigrant Visa (DS-160)'; 77 pathDesc = 'Apply for your US visa online with our streamlined DS-160 service. Expert-prepared, fast, and secure.'; 78 } else if (pathname.indexOf('/passport') === 0) { 79 pathTitle = 'US Passport Service â Apply or Renew Your Passport Online'; 80 pathDesc = 'Apply for or renew your US passport online. Fast, secure, expert-prepared service with 99% approval rate.'; 81 } 82 83 var resolvedTitle = pathTitle || (brandName + ' | Travel Authorization Services'); 84 var resolvedDesc = pathDesc || (brandName + ' - Expert travel authorization and visa services. Fast processing, AI-powered forms, and dedicated support.'); 85 86 document.title = resolvedTitle; 87 88 var metaDesc = document.querySelector('meta[name="description"]'); 89 if (metaDesc) metaDesc.content = resolvedDesc; 90 91 var metaAuthor = document.querySelector('meta[name="author"]'); 92 if (metaAuthor) metaAuthor.content = brandName; 93 94 var ogTitle = document.querySelector('meta[property="og:title"]'); 95 if (ogTitle) ogTitle.content = resolvedTitle; 96 97 var ogDesc = document.querySelector('meta[property="og:description"]'); 98 if (ogDesc) ogDesc.content = resolvedDesc; 99 100 // Brand/product-aware social share image (replaces old Lovable default) 101 var ogImageFile = 'entry-default.jpg'; 102 if (pathname.indexOf('/united-kingdom') === 0) ogImageFile = 'uk-eta.jpg'; 103 else if (pathname.indexOf('/united-states/esta') === 0) ogImageFile = 'esta.jpg'; 104 else if (pathname.indexOf('/united-states/ds160') === 0 || pathname.indexOf('/united-states/visa') === 0) ogImageFile = 'visa.jpg'; 105 else if (pathname.indexOf('/passport') === 0) ogImageFile = 'passport.jpg'; 106 var ogImageUrl = window.location.origin + '/og/' + ogImageFile; 107 var ogImage = document.querySelector('meta[property="og:image"]'); 108 if (ogImage) ogImage.setAttribute('content', ogImageUrl); 109 var twitterImage = document.querySelector('meta[name="twitter:image"]'); 110 if (twitterImage) twitterImage.setAttribute('content', ogImageUrl); 111 112 var twitterSite = document.querySelector('meta[name="twitter:site"]'); 113 if (twitterSite) twitterSite.content = '@' + brandName; 114 115 // Brand-aware theme-color so iOS Safari status bar blends with the app bar 116 var themeColor = '#0f1b3d'; // Entry navy 117 if (isIVS) themeColor = '#1d4ed8'; 118 else if (isUVC) themeColor = '#0c2340'; 119 var themeMeta = document.getElementById('theme-color-meta'); 120 if (themeMeta) themeMeta.setAttribute('content', themeColor); 121 var appleTitle = document.querySelector('meta[name="apple-mobile-web-app-title"]'); 122 if (appleTitle) appleTitle.setAttribute('content', brandName + ' Passport'); 123 })(); 124 </script>
124 125 126 <!-- Dynamic favicon based on domain --> 127
127<script> 128 (function() { 129 var hostname = window.location.hostname; 130 var favicon = document.getElementById('favicon'); 131 132 // Detect brand from hostname 133 var isIVS = hostname.includes('ivs') || hostname.includes('evisa'); 134 var isQuickPassport = hostname.includes('quickpassport'); 135 var isUVC = hostname.includes('usvisaconnection'); 136 137 if (isIVS) { 138 favicon.href = 'https://passports.ivs.us/favicon.png'; 139 favicon.type = 'image/png'; 140 } else if (isQuickPassport) { 141 favicon.href = '/quickpassport-favicon.ico'; 142 } else if (hostname.includes('usvisaconnection') || hostname.includes('usvisconnection')) { 143 favicon.href = '/uvc-favicon.ico'; 144 } 145 })(); 146 </script>
146 147 148 <!-- Google Analytics & Ads removed â clean slate. 149 All GA4 configs, Google Ads conversion configs, gtag loader, and Consent Mode 150 initialization were intentionally stripped. Do not re-add without a 151 coordinated update to src/lib/hardcodedConversion.ts and brand configs. --> 152 153 <!-- Google tag (gtag.js) â Consent Mode v2 default (denied) MUST run before the loader. 154 Kept in sync with src/lib/tracking/consentState.ts + CookieConsentBanner.tsx. --> 155
155<script> 156 window.dataLayer = window.dataLayer || []; 157 function gtag(){dataLayer.push(arguments);} 158 window.__consentState = { 159 ad_storage: 'denied', 160 analytics_storage: 'denied', 161 ad_user_data: 'denied', 162 ad_personalization: 'denied', 163 }; 164 gtag('consent', 'default', { 165 ad_storage: 'denied', 166 analytics_storage: 'denied', 167 ad_user_data: 'denied', 168 ad_personalization: 'denied', 169 wait_for_update: 500, 170 }); 171 // Cookieless attribution: while ad_storage is denied (EEA/UK and every 172 // country outside AUTO_GRANTED_REGIONS in CookieConsentBanner.tsx) the 173 // gclid cookie is never written, so click IDs were lost across our 174 // multi-page checkout hops. url_passthrough re-appends gclid/gbraid/ 175 // wbraid to internal navigations; ads_data_redaction strips ad 176 // identifiers from the pings that do go out while consent is denied. 177 gtag('set', 'url_passthrough', true); 178 gtag('set', 'ads_data_redaction', true); 179 gtag('js', new Date()); 180 181 // GA4 base â enable cross-domain linker across every brand + checkout host so 182 // gclid / gbraid / wbraid / session survive redirects through payment gateways. 183 gtag('config', 'G-CZKM12NG8C', { 184 linker: { 185 domains: [ 186 'entry.com', 'secure.entry.com', 'apply.entry.com', 'us.entry.com', 'uk.entry.com', 187 'quickpassport.com', 'start.quickpassport.com', 188 'usvisaconnection.com', 'apply.usvisaconnection.com', 'start.usvisaconnection.com', 189 'apply.ivs.us', 190 'entryadmin.lovable.app', 191 'checkout.fanbasis.io', 'embedded.fanbasis.io', 192 ], 193 accept_incoming: true, 194 }, 195 }); 196 // Unified Google Ads base config â single account for every brand + product. 197 // Conversion events (send_to: AW-18107746901/...) fire from fireHardcodedGoogleConversion. 198 gtag('config', 'AW-18107746901', { allow_enhanced_conversions: true }); 199 </script>
vendor: 68 bytes, lines 199-200
199 200 <script async src="https://www.googletagmanager.com/gtag/js?id=
200G-CZKM12NG8C
vendor: 79 bytes, lines 200-201
200"></script> 201 <script async src="https://www.googletagmanager.com/gtag/js?id=
201AW-18107746901
vendor: 20 bytes, lines 201-206
201"></script> 202 203 204 205 206
206<script type="module" crossorigin src="/assets/index-DPzS7lQc.js"></script>
206 207 <link rel="stylesheet" crossorigin href="/assets/index-mgGdxU3_.css"> 208
208<script defer src="/~flock.js" data-proxy-url="/~api/analytics"></script>
208<meta name="twitter:title" content="Entry | Travel Authorization Services"><meta name="twitter:description" content="Entry - Expert travel authorization and visa services. Fast processing, AI-powered forms, and dedicated support."></head> 209 210 <body> 211 212 <div id="root"></div> 213 <!-- Fanbasis Embedded Payments SDK (async so it doesn't block first paint; preloaded above for early fetch) --> 214
214<script src="https://cdn.embedded.fanbasis.io/embed/index.js" async crossorigin></script>
214 215 </body> 216</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.