1<!DOCTYPE HTML> 2<html lang="en"> 3 <head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# taxicode: http://ogp.me/ns/fb/taxicode#"> 4 <!-- Google Tag Manager -->
5<script>
vendor: 327 bytes, lines 5-9
5(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 6new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 7j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 8'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 9})(window,document,'script','dataLayer','
9GTM-PNW8KZV
vendor: 3 bytes, line 9
9');
9</script>
9 10<!-- End Google Tag Manager --> 11<!-- Whoooooo --> 12 13 <!-- Meta data --> 14<title>Taxicode ⢠Book online for a safe and reliable taxi service or airport transfer.</title> 15<meta name="Description" content="Taxicode, a national taxi booking service for taxi companies." /> 16<meta name="google-site-verification" content="35MzMx-_AGxRzbHfWOXYxPiSqZujMpKb-jLwvv79J3s" /> 17<meta http-equiv="Content-type" content="text/html;charset=UTF-8"> 18<meta property="og:title" content="Book your next taxi online with Taxicode. Safe and reliable taxi service, ideal for your next airport transfer." /> 19<meta property="og:type" content="website" /> 20<meta property="og:description" content="Taxicode, a national taxi booking service for taxi companies." /> 21<meta property="og:image" content="http://www.taxicode.com/imgs/taxicode-main/og-image-20140515.png" > 22<meta property="og:image:type" content="image/png" /> 23<meta property="og:image:width" content="1200" /> 24<meta property="og:image:height" content="630" /> 25<meta property="fb:app_id" content="474191655925217" /> 26<link href="https://plus.google.com/+Taxicode" rel="publisher" /> 27<meta name="twitter:card" content="summary" /> 28<meta name="twitter:site" content="@taxicode" /> 29<meta name="twitter:title" content="Book your next taxi online with Taxicode. Safe and reliable taxi service, ideal for your next airport transfer." /> 30<meta name="twitter:description" content="Taxicode, a national taxi booking service for taxi companies." /> 31<meta name="twitter:image" content="http://www.taxicode.com/imgs/taxicode-main/og-image-20140515.png" /> 32<!-- Geo Tags --> 33<meta name="DC.title" content="Taxi Prices" /> 34<meta name="geo.region" content="GB" /> 35<meta name="geo.placename" content="London" /> 36<meta name="geo.position" content="51.484699;-0.121767" /> 37<meta name="ICBM" content="51.484699, -0.121767" /> 38<link rel="canonical" href="https://www.taxicode.com/track/" /> 39<meta property="og:url" content="https://www.taxicode.com/track/" /> 40<!-- Icons --> 41<link rel="icon" type="image/x-icon" href="https://fa425fc75805f6d656a6-1f46740cb59bebeea403ceb80d228c15.ssl.cf1.rackcdn.com/dashboard/aea20546cc99e8fd0cf1a18189c5f999680f37f3/imgs/taxicode/favicon.ico" /> 42<link rel="apple-touch-icon" sizes="57x57" href="https://fa425fc75805f6d656a6-1f46740cb59bebeea403ceb80d228c15.ssl.cf1.rackcdn.com/dashboard/aea20546cc99e8fd0cf1a18189c5f999680f37f3/imgs/taxicode/icon57.png" /> 43<link rel="apple-touch-icon" sizes="72x72" href="https://fa425fc75805f6d656a6-1f46740cb59bebeea403ceb80d228c15.ssl.cf1.rackcdn.com/dashboard/aea20546cc99e8fd0cf1a18189c5f999680f37f3/imgs/taxicode/icon72.png" /> 44<link rel="apple-touch-icon" sizes="114x114" href="https://fa425fc75805f6d656a6-1f46740cb59bebeea403ceb80d228c15.ssl.cf1.rackcdn.com/dashboard/aea20546cc99e8fd0cf1a18189c5f999680f37f3/imgs/taxicode/icon114.png" /> 45<!-- Styles --> 46<link rel="preload" href='/css/taxicode-main/style.less?update=0580116a' as='style' /> 47<link rel="preload" href='https://fa425fc75805f6d656a6-1f46740cb59bebeea403ceb80d228c15.ssl.cf1.rackcdn.com/dashboard/aea20546cc99e8fd0cf1a18189c5f999680f37f3/css/taxicode-main/quotebox.css' as='style' /> 48<link rel="preload" href="/bootstrap_3.3.1_icons/fonts/glyphicons-halflings-regular.woff" as='font' crossorigin /> 49<link rel="stylesheet" media="all" type="text/css" href="/bootstrap_3.3.1_icons/css/glyphicons.css" /> 50<link rel="stylesheet" media="all" type="text/css" href="/css/taxicode-main/style.less?update=0580116a" /> 51<link rel="stylesheet" media="all" type="text/css" href="https://fa425fc75805f6d656a6-1f46740cb59bebeea403ceb80d228c15.ssl.cf1.rackcdn.com/dashboard/aea20546cc99e8fd0cf1a18189c5f999680f37f3/css/taxicode-main/quotebox.css" /> 52<link rel="stylesheet" media="all" type="text/css" href="/loader/css/dashboard/bootstrap-icons/" /> 53<link rel="stylesheet" media="all" type="text/css" href="https://fa425fc75805f6d656a6-1f46740cb59bebeea403ceb80d228c15.ssl.cf1.rackcdn.com/dashboard/aea20546cc99e8fd0cf1a18189c5f999680f37f3/js/addinfoicons/style.css" /> 54<link rel="stylesheet" media="all" type="text/css" href="/auto/css/track/taxicode-main/" /> 55<!-- Google Fonts --> 56<link rel="preload" href="https://fonts.googleapis.com/css?family=Oxygen:400,700,300&display=swap" as='style' /> 57<link rel="preload" href="https://fonts.googleapis.com/css?family=Muli:400,300%7COpen+Sans:400,700&subset=latin&display=swap" as='style' /> 58<link rel='stylesheet' media="all" type='text/css' href='https://fonts.googleapis.com/css?family=Oxygen:400,700,300&display=swap' /> 59<link rel="stylesheet" media="all" type="text/css" href="https://fonts.googleapis.com/css?family=Muli:400,300%7COpen+Sans:400,700&subset=latin&display=swap" > 60<!-- MapBox styles --> 61<link rel="preload" href="https://api.tiles.mapbox.com/mapbox-gl-js/v0.53.1/mapbox-gl.css" as='style' /> 62<link rel='stylesheet' media="all" type="text/css" href='https://api.tiles.mapbox.com/mapbox-gl-js/v0.53.1/mapbox-gl.css' /> 63<!-- HTML 5 SUPPORT FOR IE --> 64<!--[if lt IE 9]>
64<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
64<![endif]--> 65<!--[if lte IE 9]><link rel="stylesheet" media="all" type="text/css" href="https://fa425fc75805f6d656a6-1f46740cb59bebeea403ceb80d228c15.ssl.cf1.rackcdn.com/dashboard/aea20546cc99e8fd0cf1a18189c5f999680f37f3/css/taxicode-main/ie9.css" /><![endif]--> 66<!--[if lte IE 8]><link rel="stylesheet" media="all" type="text/css" href="https://fa425fc75805f6d656a6-1f46740cb59bebeea403ceb80d228c15.ssl.cf1.rackcdn.com/dashboard/aea20546cc99e8fd0cf1a18189c5f999680f37f3/css/taxicode-main/ie8.css" /><![endif]--> 67<link rel="stylesheet" media="all" type="text/css" href="/js/tipsy/style.css" /> 68<link rel="preload" href="/less/grid.less" as='style' /> 69<link rel="stylesheet" media="all" type="text/css" href="/less/grid.less" /> 70<!-- Responsive Design --> 71<link rel="preload" href='https://fa425fc75805f6d656a6-1f46740cb59bebeea403ceb80d228c15.ssl.cf1.rackcdn.com/dashboard/aea20546cc99e8fd0cf1a18189c5f999680f37f3/css/taxicode-main/responsive.css' as='style' /> 72<link rel="stylesheet" media="all" type="text/css" href="https://fa425fc75805f6d656a6-1f46740cb59bebeea403ceb80d228c15.ssl.cf1.rackcdn.com/dashboard/aea20546cc99e8fd0cf1a18189c5f999680f37f3/css/taxicode-main/responsive.css" /> 73<meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width" /> 74<!-- Controller added CSS --> 75<!-- JS Libraries --> 76<link rel='preconnect' href="//ajax.googleapis.com" crossorigin /> 77<link rel='preconnect' href="//code.jquery.com" crossorigin /> 78<!-- jQuery -->
79<script defer type="text/javascript" src="https://code.jquery.com/jquery-3.6.0.js"></script>
vendor: 1 bytes, line 79
79
80<script defer type="text/javascript" src="https://code.jquery.com/jquery-migrate-3.4.0.js"></script>
vendor: 1 bytes, line 80
80
81<script defer type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.js"></script>
vendor: 1 bytes, line 81
81
82<script defer type="text/javascript" src="https://fa425fc75805f6d656a6-1f46740cb59bebeea403ceb80d228c15.ssl.cf1.rackcdn.com/dashboard/aea20546cc99e8fd0cf1a18189c5f999680f37f3/js/underscore/underscore-min.js"></script>
vendor: 1 bytes, line 82
82
83<script defer type="text/javascript" src="https://fa425fc75805f6d656a6-1f46740cb59bebeea403ceb80d228c15.ssl.cf1.rackcdn.com/dashboard/aea20546cc99e8fd0cf1a18189c5f999680f37f3/js/taxicode-main/jquery.validate.min.js"></script>
vendor: 1 bytes, line 83
83
84<script defer type="text/javascript" src="https://fa425fc75805f6d656a6-1f46740cb59bebeea403ceb80d228c15.ssl.cf1.rackcdn.com/dashboard/aea20546cc99e8fd0cf1a18189c5f999680f37f3/js/placeholders/placeholders.min.js?update=0580116a"></script>
vendor: 1 bytes, line 84
84
85<script defer type="text/javascript" src="https://fa425fc75805f6d656a6-1f46740cb59bebeea403ceb80d228c15.ssl.cf1.rackcdn.com/dashboard/aea20546cc99e8fd0cf1a18189c5f999680f37f3/js/tipsy/tipsy.min.js?update=0580116a"></script>
vendor: 1 bytes, line 85
85
86<script defer type="text/javascript" src="https://fa425fc75805f6d656a6-1f46740cb59bebeea403ceb80d228c15.ssl.cf1.rackcdn.com/dashboard/aea20546cc99e8fd0cf1a18189c5f999680f37f3/js/common/date.format.js?update=0580116a"></script>
vendor: 1 bytes, line 86
86
87<script defer type="text/javascript" src="https://fa425fc75805f6d656a6-1f46740cb59bebeea403ceb80d228c15.ssl.cf1.rackcdn.com/dashboard/aea20546cc99e8fd0cf1a18189c5f999680f37f3/js/carousel/jquery.orbit.js?update=0580116a"></script>
87 88<!-- Slidebars JS/CSS -->
89<script defer type="text/javascript" src="/js/slidebars/slidebars.min.js?update=0580116a"></script>
89 90<link rel="preload" href="/js/slidebars/slidebars.min.css" as='style' /> 91<link rel="stylesheet" media="all" type="text/css" href="/js/slidebars/slidebars.min.css" /> 92<!-- JS --> 93<link rel='preconnect' href="https://www.googletagmanager.com" /> 94
95<script type="text/javascript"> 96 var _DOMAIN_TYPE ="1"; 97var _SOURCE_DOMAIN_HOSTNAME="www.taxicode.com";
vendor: 404 bytes, lines 97-107
97 98 99!function(f,b,e,v,n,t,s) 100{if(f.fbq)return;n=f.fbq=function(){n.callMethod? 101n.callMethod.apply(n,arguments):n.queue.push(arguments)}; 102if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0'; 103n.queue=[];t=b.createElement(e);t.async=!0; 104t.src=v;s=b.getElementsByTagName(e)[0]; 105s.parentNode.insertBefore(t,s)}(window, document,'script', 106'https://connect.facebook.net/en_US/fbevents.js'); 107fbq('init', '
10726191293140535723
vendor: 31 bytes, lines 107-109
107'); 108fbq('track', 'PageView'); 109
110// set a global window variable flag to identify gtag enabled status 111var _GTAG_ENABLED = true; 112 window.lazyLoaded=window.lazyLoaded||function(e){ 113 console.log(e.detail); 114}; 115window.lazyLoadError=window.lazyLoadError||function(e){ 116 console.group('Lazy Loading Error - '+e.detail.id); 117 console.log('Source - '+e.detail.source); 118 console.log(e.detail.error); 119 console.error('Failed to load source from - '+e.detail.src); 120 console.groupEnd(); 121}; 122document.addEventListener("lazyLoaded",window.lazyLoaded); 123document.addEventListener("lazyLoadError",window.lazyLoadError); 124window.CustomEvent=window.CustomEvent||function(n,p){ 125 p=p||{bubbles:false,cancelable:false,detail:null}; 126 var e=document.createEvent('CustomEvent'); 127 e.initCustomEvent(n,p.bubbles,p.cancelable,p.detail); 128 return e; 129}; 130window.lazy=window.lazy||function(l,a,z,y){ 131 if(!z.hasOwnProperty("readyStateEvent")){z.readyStateEvent='lazyLoaded';} 132 if(!z.hasOwnProperty("mode")){z.mode='defer';} 133 var h=a.getElementsByTagName('head')[0]; 134 var t=a.createElement('script'); 135 t.id=y||'lazyLoaded-'+Math.floor(Math.random()*Date.now()); 136 if(z.mode!=='async'){t.defer=1;}else{t.async=1;} 137 t.type='text/javascript'; 138 t.src=z.src; 139 t.onload=function(e){var r=new CustomEvent(z.readyStateEvent,{detail:{id:t.id,src:t.src,source:z}});a.dispatchEvent(r);}; 140 t.onerror=function(e){var r=new CustomEvent('lazyLoadError',{detail:{id:t.id,src:t.src,source:z,error:e}});a.dispatchEvent(r);}; 141 h.appendChild(t); 142}; 143 // lazy load the gtag tracking library object & it's dependency on the date format 144 lazy(window,document,{src:'/js/common/gtag_tracking.js?update=0580116a',mode:'async',readyStateEvent:'gtag_trackingLazyLoaded'}); 145 lazy(window,document,{src:'/js/common/date.format.js?update=0580116a',mode:'async'}); 146 // add the ready state event for when the tracking library is loaded to set 147 // the gtag tracking account code to use 148 document.addEventListener("gtag_trackingLazyLoaded", function(event) { 149 TC.gtag.tracking.setAccountKey("GTM-PNW8KZV"); 150 }); 151 152 var _USER_LOGGED_IN = false, 153 _SPIDER = false, 154 _MOBILE = false, 155 _STARTING_MENU = "app", 156 _MAP_POSITION = [55.8633, -4.2558], 157 _GRIFF_DOMAIN_ID = 2, 158 youtube_starting_functions = [], 159 _GRIFF_SERVER_TYPE = 'production'; 160 document.addEventListener("DOMContentLoaded", function(event) { 161 var head_laziness = [ 162 ]; 163 for(load of head_laziness) { 164 lazy(window, document, load) 165 } 166 // Sets cookie if retina 167(function(w){document.cookie='devicePixelRatio='+((w.devicePixelRatio===undefined)?1:w.devicePixelRatio)+'; path=/';})(window); 168 169 /* Slidebars JS */ 170 var $side_bar_menu=$('<div id="sidebar-overlay"></div><div id="sidebar-menu"><div id="sidebar-close"><img src="/imgs/trip/close.png?colour=FFFFFF"/></div><ul></ul></div>'); 171 // dynamically adding options if they exist 172 if ($('.page-sidebar').length) { 173 $('.page-sidebar li a').each(function(){ 174 $side_bar_menu.find('ul').append('<li><a href="'+$(this).attr('href')+'">'+$(this).text()+'</a></li>'); 175 }); 176 } 177 $('.burger-option').each(function(){ 178 if(!!$(this).attr('data-modal')){ 179 switch($(this).attr('data-modal')){ 180 case 'login-modal': 181 $side_bar_menu.find('ul').append('<li><a href="/login/">Login</a></li>'); 182 break; 183 case 'signup-modal': 184 $side_bar_menu.find('ul').append('<li><a href="/login/create/">Signup</a></li>'); 185 break; 186 } 187 } else { 188 $side_bar_menu.find('ul').append('<li><a href="'+$(this).attr('href') + '">'+$(this).text()+'</a></li>'); 189 } 190 }); 191 $(document.body).append($side_bar_menu); 192 }); 193</script>
193 194 </head> 195 196 <body> 197 <!-- Google Tag Manager (noscript) -->
vendor: 68 bytes, lines 197-198
197 198<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
198GTM-PNW8KZV
vendor: 83 bytes, lines 198-199
198" 199height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
200<!-- End Google Tag Manager (noscript) --> 201 202 203 <!-- ClickGUARD Tracking Code 204 {{# include:file=/common/clickguard.tpl}} --> 205 206 <noscript id="noscript-warning">Please make sure Javascript is enabled for this page to work.</noscript> 207 208 <div id="page"> 209 210 <div class="promotion-banner" style="background-color: #000000; color: #ffffff;">Ride Now Means a Taxi Is Always Ready When You Are. Book Today</div> 211 212 213 <div id="header"> 214 <div class="container"> 215 216 <div class="sb-toggle-left slidebar-button"> 217 <img src="https://fa425fc75805f6d656a6-1f46740cb59bebeea403ceb80d228c15.ssl.cf1.rackcdn.com/dashboard/aea20546cc99e8fd0cf1a18189c5f999680f37f3/imgs/taxicode-main/burger_menu.png" width="40" height="23"/> 218 </div> 219 220 221 <a href="/"><img id="logo" alt="Taxicode" title="Taxicode" src="https://fa425fc75805f6d656a6-1f46740cb59bebeea403ceb80d228c15.ssl.cf1.rackcdn.com/dashboard/aea20546cc99e8fd0cf1a18189c5f999680f37f3/imgs/logos/white_main_medium.png" /></a> 222 223 <div id="user-container" class="fright"> 224 <a class="btn-overlay burger-option" data-modal="login-modal">Login</a> 225 <a class="btn-overlay burger-option" data-modal="signup-modal">Signup</a> 226 <a class="btn-overlay burger-option" target="_blank" href="https://support.taxicode.com">Help</a> 227 <a class="btn-overlay burger-option" href="/track/">Track Booking</a> 228 </div> 229 </div> 230 231 </div> 232 233 234 <div id="nav-phone" class="rshow"><div class="container"> 235 <div class="page-menu taxicode-number"> 236 Booking Helpline: <a href="tel:03333443189">0333 344 3189</a> 237 </div> 238 </div></div> 239 240 <!-- Get Quote / Pricing engine hidden by default --> 241 <!-- Booking Engine --> 242<div id="booking-engine-area" class="booking-engine-area" style="display: none; padding: 30px 0px"> 243 <div class="center promotional-text"> 244 <div class="big-title"> 245 Compare Fares - Ride Now or Book Ahead </div> 246 <div class="small-title"> 247 Taxis, Minibuses And Coaches Across The UK And Major Cities Worldwide </div> 248 <div class="small-sub-title"> 249 Choose From Standard, Executive And Chauffeur Services 250 </div> 251</div> 252<div class="center promotional-text2"> 253 <div class="big-title"> 254 Compare Fares </div> 255 <div class="small-title"> 256 Ride Now Or Book Ahead </div> 257 <div class="small-sub-title"> 258 Across The UK And Major Cities Worldwide 259 </div> 260</div> 261 <div class="tc-quote-box"> 262<style> 263/* ========================= 264 TOGGLE VISIBILITY 265========================= */ 266 267/* hide toggle by default (desktop) */ 268#booking-toggle { 269 display: none; 270} 271 272/* show toggle on mobile */ 273@media screen and (max-width: 665px) { 274 #booking-toggle { 275 display: flex; 276 } 277} 278 279 280/* ========================= 281 TOGGLE STYLE 282========================= */ 283 284.toggle-pill { 285 display: flex; 286 background: #e5e5e5; 287 padding: 4px; 288 margin: 10px 5px; 289 border: 1px solid rgba(0,0,0,0.12); 290} 291 292.toggle-pill button { 293 flex: 1; 294 border: none; 295 background: transparent; 296 padding: 10px; 297 cursor: pointer; 298 font-weight: 500; 299 color: #666; 300 transition: all 0.2s ease; 301} 302 303.toggle-pill button.active { 304 background: #009FDB; /* match Compare Fares */ 305 color: #fff; 306 box-shadow: 0 2px 6px rgba(0,0,0,0.15); 307} 308 309 310/* ========================= 311 DATE FIELD BEHAVIOUR 312========================= */ 313 314/* Desktop: inline (FIXES your issue) */ 315@media screen and (min-width: 666px) { 316 #schedule-fields { 317 display: inline-flex; /* key fix */ 318 align-items: center; 319 gap: 3px; 320 width: auto; /* prevent full width */ 321 vertical-align: top; 322 } 323 324 #schedule-fields input { 325 display: inline-block; 326 width: auto; 327 } 328} 329 330/* Mobile behaviour */ 331@media screen and (max-width: 665px) { 332 #schedule-fields { 333 display: none; 334 width: 100%; 335 } 336 337 #schedule-fields.show { 338 display: block; 339 padding-left:3px; 340 } 341 342 #schedule-fields input { 343 width: 100%; 344 display: block; 345 margin-bottom: 8px; 346 } 347} 348#tc-quote-date, 349#tc-quote-return { 350 text-align: left !important; 351} 352 353 354</style>
355<script> 356 357function setAsapOnLoad() { 358 const dateField = document.getElementById('tc-quote-date'); 359 360 if (typeof TC !== "undefined" && TC.datepicker && dateField) { 361 TC.datepicker.asap(null, $(dateField)); 362 setRideNowValue(dateField); 363 } else { 364 setTimeout(setAsapOnLoad, 50); 365 } 366} 367 368function clearAsap(field) { 369 const $field = $(field); 370 371 $field.removeAttr("data-special"); 372 $field.val(""); 373 $field.css({ textAlign: "" }); 374 375 if (typeof TC !== "undefined" && TC.datepicker) { 376 TC.datepicker.reset($field); 377 } 378} 379 380function setRideNowValue(field) { 381 const $field = $(field); 382 $field.val("Ride Now"); 383 $field.attr("data-special", "asap"); 384 $field.css({ textAlign: "left" }); 385} 386function handleDateChange() { 387 const field = document.getElementById('tc-quote-date'); 388 389 const val = field.value.trim(); 390 const journeySelect = document.querySelector('.journey-type'); 391 const hourlyOption = journeySelect?.querySelector('option[value="hourly"]'); 392 393 if (val === "Ride Now") { 394 if (hourlyOption) { 395 hourlyOption.style.display = 'none'; 396 } 397 rebuildPeopleOptions(6); 398 isRideNowActive = true; 399 } else { 400 if (hourlyOption) { 401 hourlyOption.style.display = ''; 402 } 403 rebuildPeopleOptions(200); 404 isRideNowActive = false; 405 } 406} 407 function rebuildPeopleOptions(max) { 408 const peopleSelect = document.querySelector('select[name="people"]'); 409 410 if (!peopleSelect) return; 411 412 const currentValue = parseInt(peopleSelect.value || "1", 10); 413 const selectedValue = currentValue > max ? 1 : currentValue; 414 415 const isGerman = document.cookie.includes('lang=') || window.location.search.includes('lang='); 416 417 peopleSelect.innerHTML = ''; 418 419 for (let i = 1; i <= max; i++) { 420 const option = document.createElement('option'); 421 option.value = i; 422 option.textContent = i + ' ' + (isGerman ? 'Reisende' : 'Passenger' + (i > 1 ? 's' : '')); 423 424 if (i === selectedValue) { 425 option.selected = true; 426 } 427 428 peopleSelect.appendChild(option); 429 } 430 } 431document.addEventListener("DOMContentLoaded", function () { 432 433 const buttons = document.querySelectorAll('#booking-toggle button'); 434 const scheduleFields = document.getElementById('schedule-fields'); 435 const hiddenInput = document.getElementById('booking-type'); 436 const journeySelect = document.querySelector('.journey-type'); 437 const hourlyOption = journeySelect?.querySelector('option[value="hourly"]'); 438 439 function isMobile() { 440 return window.innerWidth <= 665; 441 } 442 443 444 // ========================= 445 // INIT 446 // ========================= 447 448 const dateField = document.getElementById('tc-quote-date'); 449 450 if (isMobile()) { 451 setAsapOnLoad(); 452 rebuildPeopleOptions(6); // Ride Now default 453 setRideNowValue(dateField); // ð¥ ensure visible 454 455 if (hourlyOption) { 456 hourlyOption.style.display = 'none'; 457 } 458 } 459 460 461 462 463 464 // ========================= 465 // TOGGLE CLICK 466 // ========================= 467 468 buttons.forEach(btn => { 469 btn.addEventListener('click', function () { 470 471 buttons.forEach(b => b.classList.remove('active')); 472 this.classList.add('active'); 473 474 if (this.dataset.type === 'schedule') { 475 476 clearAsap(dateField); 477 478 if (hourlyOption) hourlyOption.style.display = ''; 479 rebuildPeopleOptions(200); 480 481 if (isMobile()) scheduleFields.classList.add('show'); 482 hiddenInput.value = 'schedule'; 483 484 } else { 485 486 if (typeof TC !== "undefined" && TC.datepicker) { 487 TC.datepicker.asap(null, $(dateField)); 488 } 489 490 setRideNowValue(dateField); // ð¥ key fix 491 492 if (hourlyOption) hourlyOption.style.display = 'none'; 493 rebuildPeopleOptions(6); 494 495 if (isMobile()) scheduleFields.classList.remove('show'); 496 hiddenInput.value = 'now'; 497 } 498 }); 499 }); 500 501 // ========================= 502 // LOAD STATE 503 // ========================= 504 505 if (isMobile()) { 506 scheduleFields.classList.remove('show'); 507 hiddenInput.value = 'now'; 508 } else { 509 scheduleFields.classList.add('show'); 510 } 511 512}); 513 514</script>
514 515 <form id="taxicode-quote" 516 class="styled" 517 action="https://www.taxicode.com/quotes/" 518 method="POST" 519 > 520 <div class="section type-section"> 521 <select class="journey-type styled" title="One Way, Return or Hourly Journey"> 522 <option value="oneway">One Way</option> 523 <option value="return">Return</option> 524 <option value="hourly">Hourly</option> 525 </select> 526 </div> 527 <div class="section locations-section mileage-section"> 528 <input data-hj-whitelist 529 type="text" 530 name="pickup" 531 placeholder="Pickup postcode or place name" 532 title="Pickup postcode or place name" 533 value="" 534 /> 535 <input data-hj-whitelist 536 type="text" 537 name="via" 538 placeholder="Via (Optional)" 539 title="Via Location" 540 /><!-- 541 --><a class="add-multiple-vias" data-modal="quote-journey-details-modal"> 542 <span class="glyphicon glyphicon-plus-sign"></span> 543 <span>Add multiple vias</span> 544 </a><!-- 545 --> 546 <input data-hj-whitelist 547 type="text" 548 name="destination" 549 placeholder="Destination postcode or place name" 550 title="Destination postcode or place name" 551 value="" 552 /> 553 </div> 554 555 <br class="section-split mileage-section" /> 556<div class="toggle-pill" id="booking-toggle"> 557 <button type="button" class="active" data-type="now">Ride Now</button> 558 <button type="button" data-type="schedule">Schedule</button> 559</div> 560<div class="section date-section mileage-section" id="schedule-fields"> 561 <input data-hj-whitelist type="text" 562 data-format="H:i, d M Y" 563 data-start-date="2026-09-25T22:00:56Z" 564 name="date" 565 placeholder="Pickup time?" 566 data-title="Journey" 567 title="Journey Date & Time" 568 data-min-date="2026-09-24T21:00:56Z" 569 id="tc-quote-date" 570 onchange="handleDateChange()" 571 data-asap="true" /> 572</div> 573 <input data-hj-whitelist type="text" 574 data-format="H:i, d M Y" 575 data-start-date="2026-09-25T22:00:56Z" 576 name="return" 577 placeholder="Return time?" 578 data-title="Return" 579 data-removable="true" 580 title="Return Date & Time" 581 data-after="tc-quote-date" 582 class="return-date hide" 583 style="display:none;" 584 id="tc-quote-return" /> 585 <div class="section final-section mileage-section"> 586 <select name="people" class="styled" title="Number of Passengers"> 587 <option value="1" >1 Passenger</option> 588 <option value="2" >2 Passengers</option> 589 <option value="3" >3 Passengers</option> 590 <option value="4" >4 Passengers</option> 591 <option value="5" >5 Passengers</option> 592 <option value="6" >6 Passengers</option> 593 <option value="7" >7 Passengers</option> 594 <option value="8" >8 Passengers</option> 595 <option value="9" >9 Passengers</option> 596 <option value="10" >10 Passengers</option> 597 <option value="11" >11 Passengers</option> 598 <option value="12" >12 Passengers</option> 599 <option value="13" >13 Passengers</option> 600 <option value="14" >14 Passengers</option> 601 <option value="15" >15 Passengers</option> 602 <option value="16" >16 Passengers</option> 603 <option value="17" >17 Passengers</option> 604 <option value="18" >18 Passengers</option> 605 <option value="19" >19 Passengers</option> 606 <option value="20" >20 Passengers</option> 607 <option value="21" >21 Passengers</option> 608 <option value="22" >22 Passengers</option> 609 <option value="23" >23 Passengers</option> 610 <option value="24" >24 Passengers</option> 611 <option value="25" >25 Passengers</option> 612 <option value="26" >26 Passengers</option> 613 <option value="27" >27 Passengers</option> 614 <option value="28" >28 Passengers</option> 615 <option value="29" >29 Passengers</option> 616 <option value="30" >30 Passengers</option> 617 <option value="31" >31 Passengers</option> 618 <option value="32" >32 Passengers</option> 619 <option value="33" >33 Passengers</option> 620 <option value="34" >34 Passengers</option> 621 <option value="35" >35 Passengers</option> 622 <option value="36" >36 Passengers</option> 623 <option value="37" >37 Passengers</option> 624 <option value="38" >38 Passengers</option> 625 <option value="39" >39 Passengers</option> 626 <option value="40" >40 Passengers</option> 627 <option value="41" >
62741 Passengers</option> 628 <option value="42" >42 Passengers</option> 629 <option value="43" >43 Passengers</option> 630 <option value="44" >44 Passengers</option> 631 <option value="45" >45 Passengers</option> 632 <option value="46" >46 Passengers</option> 633 <option value="47" >47 Passengers</option> 634 <option value="48" >48 Passengers</option> 635 <option value="49" >49 Passengers</option> 636 <option value="50" >50 Passengers</option> 637 <option value="51" >51 Passengers</option> 638 <option value="52" >52 Passengers</option> 639 <option value="53" >53 Passengers</option> 640 <option value="54" >54 Passengers</option> 641 <option value="55" >55 Passengers</option> 642 <option value="56" >56 Passengers</option> 643 <option value="57" >57 Passengers</option> 644 <option value="58" >58 Passengers</option> 645 <option value="59" >59 Passengers</option> 646 <option value="60" >60 Passengers</option> 647 <option value="61" >61 Passengers</option> 648 <option value="62" >62 Passengers</option> 649 <option value="63" >63 Passengers</option> 650 <option value="64" >64 Passengers</option> 651 <option value="65" >65 Passengers</option> 652 <option value="66" >66 Passengers</option> 653 <option value="67" >67 Passengers</option> 654 <option value="68" >68 Passengers</option> 655 <option value="69" >69 Passengers</option> 656 <option value="70" >70 Passengers</option> 657 <option value="71" >71 Passengers</option> 658 <option value="72" >72 Passengers</option> 659 <option value="73" >73 Passengers</option> 660 <option value="74" >74 Passengers</option> 661 <option value="75" >75 Passengers</option> 662 <option value="76" >76 Passengers</option> 663 <option value="77" >77 Passengers</option> 664 <option value="78" >78 Passengers</option> 665 <option value="79" >79 Passengers</option> 666 <option value="80" >80 Passengers</option> 667 <option value="81" >81 Passengers</option> 668 <option value="82" >82 Passengers</option> 669 <option value="83" >83 Passengers</option> 670 <option value="84" >84 Passengers</option> 671 <option value="85" >85 Passengers</option> 672 <option value="86" >86 Passengers</option> 673 <option value="87" >87 Passengers</option> 674 <option value="88" >88 Passengers</option> 675 <option value="89" >89 Passengers</option> 676 <option value="90" >90 Passengers</option> 677 <option value="91" >91 Passengers</option> 678 <option value="92" >92 Passengers</option> 679 <option value="93" >93 Passengers</option> 680 <option value="94" >94 Passengers</option> 681 <option value="95" >95 Passengers</option> 682 <option value="96" >96 Passengers</option> 683 <option value="97" >97 Passengers</option> 684 <option value="98" >98 Passengers</option> 685 <option value="99" >99 Passengers</option> 686 <option value="100" >100 Passengers</option> 687 <option value="101" >101 Passengers</option> 688 <option value="102" >102 Passengers</option> 689 <option value="103" >103 Passengers</option> 690 <option value="104" >104 Passengers</option> 691 <option value="105" >105 Passengers</option> 692 <option value="106" >106 Passengers</option> 693 <option value="107" >107 Passengers</option> 694 <option value="108" >108 Passengers</option> 695 <option value="109" >109 Passengers</option> 696 <option value="110" >110 Passengers</option> 697 <option value="111" >111 Passengers</option> 698 <option value="112" >112 Passengers</option> 699 <option value="113" >113 Passengers</option> 700 <option value="114" >114 Passengers</option> 701 <option value="115" >115 Passengers</option> 702 <option value="116" >116 Passengers</option> 703 <option value="117" >117 Passengers</option> 704 <option value="118" >118 Passengers</option> 705 <option value="119" >119 Passengers</option> 706 <option value="120" >120 Passengers</option> 707 <option value="121" >121 Passengers</option> 708 <option value="122" >122 Passengers</option> 709 <option value="123" >123 Passengers</option> 710 <option value="124" >124 Passengers</option> 711 <option value="125" >125 Passengers</option> 712 <option value="126" >126 Passengers</option> 713 <option value="127" >127 Passengers</option> 714 <option value="128" >128 Passengers</option> 715 <option value="129" >129 Passengers</option> 716 <option value="130" >130 Passengers</option> 717 <option value="131" >131 Passengers</option> 718 <option value="132" >132 Passengers</option> 719 <option value="133" >133 Passengers</option> 720 <option value="134" >134 Passengers</option> 721 <option value="135" >135 Passengers</option> 722 <option value="136" >136 Passengers</option> 723 <option value="137" >137 Passengers</option> 724 <option value="138" >138 Passengers</option> 725 <option value="139" >139 Passengers</option> 726 <option value="140" >140 Passengers</option> 727 <option value="141" >141 Passengers</option> 728 <option value="142" >142 Passengers</option> 729 <option value="143" >143 Passengers</option> 730 <option value="144" >144 Passengers</option> 731 <option value="145" >145 Passengers</option> 732 <option value="146" >146 Passengers</option> 733 <option value="147" >147 Passengers</option> 734 <option value="148" >148 Passengers</option> 735 <option value="149" >149 Passengers</option> 736 <option value="150" >150 Passengers</option> 737 <option value="151" >151 Passengers</option> 738 <option value="152" >152 Passengers</option> 739 <option value="153" >153 Passengers</option> 740 <option value="154" >154 Passengers</option> 741 <option value="155" >155 Passengers</option> 742 <option value="156" >156 Passengers</option> 743 <option value="157" >157 Passengers</option> 744 <option value="158" >158 Passengers</option> 745 <option value="159" >159 Passengers</option> 746 <option value="160" >160 Passengers</option> 747 <option value="161" >161 Passengers</option> 748 <option value="162" >162 Passengers</option> 749 <option value="163" >163 Passengers</option> 750 <option value="164" >164 Passengers</option> 751 <option value="165" >165 Passengers</option> 752 <option value="166" >166 Passengers</option> 753 <option value="167" >167 Passengers</option> 754 <option value="168" >168 Passengers</option> 755 <option value="169" >169 Passengers</option> 756 <option value="170" >170 Passengers</option> 757 <option value="171" >171 Passengers</option> 758 <option value="172" >172 Passengers</option> 759 <option value="173" >173 Passengers</option> 760 <option value="174" >174 Passengers</option> 761 <option value="175" >175 Passengers</option> 762 <option value="176" >176 Passengers</option> 763 <option value="177" >177 Passengers</option> 764 <option value="178" >178 Passengers</option> 765 <option value="179" >179 Passengers</option> 766 <option value="180" >180 Passengers</option> 767 <option value="181" >181 Passengers</option> 768 <option value="182" >182 Passengers</option> 769 <option value="183" >183 Passengers</option> 770 <option value="184" >184 Passengers</option> 771 <option value="185" >185 Passengers</option> 772 <option value="186" >186 Passengers</option> 773 <option value="187" >187 Passengers</option> 774 <option value="188" >188 Passengers</option> 775 <option value="189" >189 Passengers</option> 776 <option value="190" >190 Passengers</option> 777 <option value="191" >191 Passengers</option> 778 <option value="192" >192 Passengers</option> 779 <option value="193" >193 Passengers</option> 780 <option value="194" >194 Passengers</option> 781 <option value="195" >195 Passengers</option> 782 <option value="196" >196 Passengers</option> 783 <option value="197" >197 Passengers</option> 784 <option value="198" >198 Passengers</option> 785 <option value="199" >199 Passengers</option> 786 <option value="200" >200 Passengers</option> 787 </select> 788 <input type="submit" class="btn" title="Click to get Quotes" value="Compare Fares" /> 789 </div> 790 791 <div class="section hourly-section hide"> 792 <input data-hj-whitelist type="text" name="hourly-pickup" placeholder="Pickup" title="Pickup Location" /> 793 <input data-hj-whitelist type="text" data-format="H:i, d M Y" data-start-date="2026-09-25T22:00:56Z" name="hourly-date" placeholder="Date" data-title="Journey" title="Journey Date & Time" data-min-date="2026-09-24T21:00:56Z" id="tc-quote-date" /> 794 </div> 795 <div class="section final-section hourly-section hide"> 796 <select name="hourly-hours" class="styled" title="Number of Passengers"> 797 <option value="1">Book for 1 Hour</option> 798 <option value="2">Book for 2 Hours</option> 799 <option value="3">Book for 3 Hours</option> 800 <option value="4">Book for 4 Hours</option> 801 <option value="5">Book for 5 Hours</option> 802 <option value="6">Book for 6 Hours</option> 803 <option value="7">Book for 7 Hours</option> 804 <option value="8">Book for 8 Hours</option> 805 <option value="9">Book for 9 Hours</option> 806 <option value="10">Book for 10 Hours</option> 807 <option value="11">Book for 11 Hours</option> 808 <option value="12">Book for 12 Hours</option> 809 <option value="13">Book for 13 Hours</option> 810 <option value="14">Book for 14 Hours</option> 811 <option value="15">Book for 15 Hours</option> 812 <option value="16">Book for 16 Hours</option> 813 <option value="17">
813Book for 17 Hours</option> 814 <option value="18">Book for 18 Hours</option> 815 <option value="19">Book for 19 Hours</option> 816 <option value="20">Book for 20 Hours</option> 817 <option value="21">Book for 21 Hours</option> 818 <option value="22">Book for 22 Hours</option> 819 <option value="23">Book for 23 Hours</option> 820 <option value="24">Book for 24 Hours</option> 821 </select> 822 <select name="hourly-people" class="styled" title="Number of Passengers"> 823 <option value="1">1 Passenger</option> 824 <option value="2">2 Passengers</option> 825 <option value="3">3 Passengers</option> 826 <option value="4">4 Passengers</option> 827 <option value="5">5 Passengers</option> 828 <option value="6">6 Passengers</option> 829 <option value="7">7 Passengers</option> 830 <option value="8">8 Passengers</option> 831 <option value="9">9 Passengers</option> 832 <option value="10">10 Passengers</option> 833 <option value="11">11 Passengers</option> 834 <option value="12">12 Passengers</option> 835 <option value="13">13 Passengers</option> 836 <option value="14">14 Passengers</option> 837 <option value="15">15 Passengers</option> 838 <option value="16">16 Passengers</option> 839 <option value="17">17 Passengers</option> 840 <option value="18">18 Passengers</option> 841 <option value="19">19 Passengers</option> 842 <option value="20">20 Passengers</option> 843 <option value="21">21 Passengers</option> 844 <option value="22">22 Passengers</option> 845 <option value="23">23 Passengers</option> 846 <option value="24">24 Passengers</option> 847 <option value="25">25 Passengers</option> 848 <option value="26">26 Passengers</option> 849 <option value="27">27 Passengers</option> 850 <option value="28">28 Passengers</option> 851 <option value="29">29 Passengers</option> 852 <option value="30">30 Passengers</option> 853 <option value="31">31 Passengers</option> 854 <option value="32">32 Passengers</option> 855 <option value="33">33 Passengers</option> 856 <option value="34">34 Passengers</option> 857 <option value="35">35 Passengers</option> 858 <option value="36">36 Passengers</option> 859 <option value="37">37 Passengers</option> 860 <option value="38">38 Passengers</option> 861 <option value="39">39 Passengers</option> 862 <option value="40">40 Passengers</option> 863 <option value="41">41 Passengers</option> 864 <option value="42">42 Passengers</option> 865 <option value="43">43 Passengers</option> 866 <option value="44">44 Passengers</option> 867 <option value="45">45 Passengers</option> 868 <option value="46">46 Passengers</option> 869 <option value="47">47 Passengers</option> 870 <option value="48">48 Passengers</option> 871 <option value="49">49 Passengers</option> 872 <option value="50">50 Passengers</option> 873 <option value="51">51 Passengers</option> 874 <option value="52">52 Passengers</option> 875 <option value="53">53 Passengers</option> 876 <option value="54">54 Passengers</option> 877 <option value="55">55 Passengers</option> 878 <option value="56">56 Passengers</option> 879 <option value="57">57 Passengers</option> 880 <option value="58">58 Passengers</option> 881 <option value="59">59 Passengers</option> 882 <option value="60">60 Passengers</option> 883 <option value="61">61 Passengers</option> 884 <option value="62">62 Passengers</option> 885 <option value="63">63 Passengers</option> 886 <option value="64">64 Passengers</option> 887 <option value="65">65 Passengers</option> 888 <option value="66">66 Passengers</option> 889 <option value="67">67 Passengers</option> 890 <option value="68">68 Passengers</option> 891 <option value="69">69 Passengers</option> 892 <option value="70">70 Passengers</option> 893 <option value="71">71 Passengers</option> 894 <option value="72">72 Passengers</option> 895 <option value="73">73 Passengers</option> 896 <option value="74">74 Passengers</option> 897 <option value="75">75 Passengers</option> 898 <option value="76">76 Passengers</option> 899 <option value="77">77 Passengers</option> 900 <option value="78">78 Passengers</option> 901 <option value="79">79 Passengers</option> 902 <option value="80">80 Passengers</option> 903 <option value="81">81 Passengers</option> 904 <option value="82">82 Passengers</option> 905 <option value="83">83 Passengers</option> 906 <option value="84">84 Passengers</option> 907 <option value="85">85 Passengers</option> 908 <option value="86">86 Passengers</option> 909 <option value="87">87 Passengers</option> 910 <option value="88">88 Passengers</option> 911 <option value="89">89 Passengers</option> 912 <option value="90">90 Passengers</option> 913 <option value="91">91 Passengers</option> 914 <option value="92">92 Passengers</option> 915 <option value="93">93 Passengers</option> 916 <option value="94">94 Passengers</option> 917 <option value="95">95 Passengers</option> 918 <option value="96">96 Passengers</option> 919 <option value="97">97 Passengers</option> 920 <option value="98">98 Passengers</option> 921 <option value="99">99 Passengers</option> 922 <option value="100">100 Passengers</option> 923 </select> 924 <input type="submit" class="btn" title="Click to get Quotes" value="Compare Fares" /> 925 </div> 926 <div class="complex-anchor"> 927 Complex journey? <a href="/advanced/">Click here</a> 928 </div> 929 </form> 930</div> 931 932</div> 933 934 935 <!-- Language selection drop down menu --> 936 <div id="language-dropdown" style="display: none;"> 937 <ul> 938 </ul> 939 </div> 940 941 942<div class="background-map" data-foreground="business-about"></div> 943 944<div id="track-quote" class="container center" style="background: white"> 945 <h1 style="padding: 20px;">Booking Tracker</h1> 946 <div id="track-quotebox-container"> 947 <form id="track-form"> 948 <h3>Need help with your booking?</h3> 949 <input type="text" class="input-fields" name="bookingRef" placeholder="Booking Reference"/> 950 <input type="submit" class="btn input-fields" value="Track"/> 951 <p>To check the status of your booking, update your booking or leave feedback, complete the field above.</p> 952 <p class="minor">Don't know your booking reference number? Login or create an account with your booking email address.</p> 953 </form> 954 <input type="hidden" name="bookingRefCopy"/> 955 </div> 956 <div id="loaded-results-container"></div> 957</div> 958 959
960<script type="text/html" id="response-container-script"> 961 <div id="loaded-results-inner"> 962 963 964 <div id="selected-container"> 965 966 967 <% if(bookingSource) { %> 968 <div id="booking-source"> 969 <span class="minor">You made your booking on <a href="http://<%=bookingSource%>" target="_blank"><%=bookingSource%></a></span> 970 </div> 971 <% } %> 972 973 <div id="progress-bar" data-tab="progress-tab" class="content-option"> 974 <div id="horizontal-line"></div> 975 976 <% 977 var statusArray = { 978 unconfirmed: [0], 979 confirmed: [1], 980 awaitingCompletion: [2], 981 completed: [3, 4, 14, 15], 982 bin: [6], 983 cancelled: [7, 10, 13], 984 pendingCancel: [16], 985 refunded: [11] 986 }; 987 988 var cancelReason = { 989 0: 'Vehicles Unavailable', 990 1: 'Fully Booked', 991 2: 'Fully Booked', 992 3: 'Customer Cancelled', 993 4: 'Duplicate Booking', 994 5: 'Outside Coverage Area', 995 6: 'Failed to Pickup Customer', 996 7: 'Vehicle Broke Down', 997 96: 'Fully Booked', 998 97: 'Fully Booked', 999 98: 'Fully Booked' 1000 }; 1001 %> 1002 1003 <div class="progress-status fleft lalign"> 1004 <div class="step-circle"> 1005 <img src="/imgs/taxicode-main/track/ok.png"/> 1006 </div> 1007 <div class="step-status"> 1008 <span class="main-values">Paid</span> 1009 <span class="responsive-values">1</span> 1010 </div> 1011 </div> 1012 <div class="progress-status center"> 1013 <% 1014 var mid_img, mid_status; 1015 switch (true) { 1016 case (statusArray.confirmed.indexOf(bookingStatus) > -1 || statusArray.awaitingCompletion.indexOf(bookingStatus) > -1 || statusArray.completed.indexOf(bookingStatus) > -1): 1017 mid_img = "/imgs/taxicode-main/track/ok.png"; 1018 mid_status = "<span class='main-values'>Booking Confirmed</span>"; 1019 break; 1020 case (statusArray.cancelled.indexOf(bookingStatus) > -1 || statusArray.refunded.indexOf(bookingStatus) > -1): 1021 mid_img = "/imgs/taxicode-main/track/cancel.png"; 1022 mid_status = "<span class='main-values'>Booking Cancelled</span>"; 1023 break; 1024 case statusArray.pendingCancel.indexOf(bookingStatus) > -1: 1025 mid_img = "/imgs/taxicode-main/track/pending.png"; 1026 mid_status = "<span class='main-values'>Awaiting Customer Cancellation</span><div><a id=\"resend-cancellation\" class=\"btn\">Resend Cancellation Email</a><div class=\"ajax-response\"></div></div>"; 1027 break; 1028 default: 1029 mid_img = "/imgs/taxicode-main/track/pending.png"; 1030 mid_status = "<span class='main-values'>Awaiting Partner Confirmation</span>"; 1031 } 1032 %> 1033 <div class="step-circle"> 1034 <img src="<%=mid_img%>"/> 1035 </div> 1036 <div class="step-status"> 1037 <%=mid_status%> 1038 <span class="responsive-values">2</span> 1039 </div> 1040 </div> 1041 <div class="progress-status fright ralign"> 1042 <% 1043 var final_img, final_status; 1044 switch (true) { 1045 case statusArray.completed.indexOf(bookingStatus) > -1: 1046 final_img = "/imgs/taxicode-main/track/ok.png"; 1047 final_status = "<span class='main-values' id='final-step'>Completed</span>"; 1048 break; 1049 case statusArray.cancelled.indexOf(bookingStatus) > -1: 1050 final_img = "/imgs/taxicode-main/track/pending.png"; 1051 final_status = "<span class='main-values' id='final-step'>Refunded</span>"; 1052 break; 1053 case statusArray.pendingCancel.indexOf(bookingStatus) > -1: 1054 final_img = "/imgs/taxicode-main/track/pending.png"; 1055 final_status = "<span class='main-values' id='final-step'>Cancelled</span>"; 1056 break; 1057 case statusArray.refunded.indexOf(bookingStatus) > -1: 1058 final_img = "/imgs/taxicode-main/track/ok.png"; 1059 final_status = "<span class='main-values' id='final-step'>Refunded</span>"; 1060 break; 1061 default: 1062 final_img = "/imgs/taxicode-main/track/pending.png"; 1063 final_status = "<span class='main-values' id='final-step'>Completed</span>"; 1064 } 1065 %> 1066 <div class="step-circle"> 1067 <img src="<%=final_img%>"/> 1068 </div> 1069 <div class="step-status"> 1070 <%=final_status%>
1071 <span class="responsive-values">3</span> 1072 </div> 1073 </div> 1074 1075 <div id="status-responsive-text" class="responsive-values"> 1076 <div> 1077 <span>1. Paid</span> 1078 </div> 1079 <div> 1080 <span>2. <%=mid_status%></span> 1081 </div> 1082 <div> 1083 <span>3. <%=final_status%></span> 1084 </div> 1085 </div> 1086 </div> 1087 1088 1089 <% 1090 var companyText; 1091 switch (true) { 1092 case statusArray.unconfirmed.indexOf(bookingStatus) > -1: 1093 companyText = "<p>We are awaiting confirmation from</p>" 1094 companyText += "<p><strong class='major'>" + companyName + "</strong>.</p>" 1095 if (companyTelephone) { 1096 companyText += "<p>If you have any questions regarding your journey you can contact them on</p>"; 1097 companyText += "<p><strong class='major'>" + companyTelephone + "</strong></p>"; 1098 } 1099 break; 1100 case statusArray.confirmed.indexOf(bookingStatus) > -1: 1101 case statusArray.pendingCancel.indexOf(bookingStatus) > -1: 1102 companyText = "<p>The company that will cover your booking is</p>" 1103 companyText += "<p><strong class='major'>" + companyName + "</strong>.</p>" 1104 if (companyTelephone) { 1105 companyText += "<p>If you have any questions regarding your journey you can contact them on</p>"; 1106 companyText += "<p><strong class='major'>" + companyTelephone + "</strong></p>"; 1107 } 1108 break; 1109 case statusArray.awaitingCompletion.indexOf(bookingStatus) > -1: 1110 companyText = "<p>We are awaiting confirmation from <strong>" + companyName+ "</strong> that your journey has been successfully carried out.</p>" 1111 break; 1112 case statusArray.cancelled.indexOf(bookingStatus) > -1: 1113 companyText = "<p><strong>" + companyName + "</strong> has cancelled your booking and the reason is: <b>" + cancelReason[bookingCancelReason]+ "</b></p>"; 1114 if (companyTelephone) { 1115 companyText += "<p>If you have any questions regarding your journey you can contact them on</p>"; 1116 companyText += "<p><strong class='major'>" + companyTelephone + "</strong></p>"; 1117 } 1118 break; 1119 case statusArray.bin.indexOf(bookingStatus) > -1: 1120 companyText = "<p>The company you booked with is unable to cover your journey. We are just checking to see if one of our other partners can cover this booking for you at the same price.With 100's of partners on our system, this usual does not take us very long. Please bear with us while we get your booking covered.</p>"; 1121 break; 1122 case statusArray.refunded.indexOf(bookingStatus) > -1: 1123 companyText = "<p>Your refund has been issued but can take up to 3-5 days to appear on your bank statement.</p>"; 1124 break; 1125 } 1126 %> 1127 1128 1129 <div id="company-container" data-tab="company-tab" class="content-option"> 1130 <div class="company-info"> 1131 <%=companyText%> 1132 </div> 1133 </div> 1134 1135 1136 <% if (statusArray.completed.indexOf(bookingStatus) > -1) { %> 1137 <div id="review-container" data-tab="review-tab" class="content-option"> 1138 <% if (ratingScore) { %> 1139 <div id="avatar" class="center"> 1140 <img src="<%=raterAvatar%>"/> 1141 </div> 1142 <div id="review"> 1143 <div id="review-header" class="center">
1144 <span id="review-name"><%=raterName%></span> 1145 <span id="review-stars"> 1146 <% var overallRating = parseInt(ratingScore.overallRating); %> 1147 <% var remaining = 5 - overallRating; %> 1148 <% for ( var i = 0; i < overallRating; i++) { %> 1149 <img src="/imgs/common/star_orange.png"/> 1150 <% } %> 1151 <% for ( var j = 0; j < remaining; j++) { %> 1152 <img src="/imgs/common/star_grey.png"/> 1153 <% } %> 1154 </span> 1155 </div> 1156 <div id="review-body" class="center"> 1157 <span id="review-comment"><%=ratingComment%></span> 1158 </div> 1159 <div id="review-footer" class="center"> 1160 <span id="review-details">Posted on <%=ratingDate%></span> 1161 </div> 1162 </div> 1163 <% } else { %> 1164 <div id="review-text"> 1165 <p>There is no review for this journey yet. To leave a review click the button below</p> 1166 <a target="_blank" id="resend-completion" class="btn">Resend Review Email</a> 1167 <div class=\"ajax-response\"></div> 1168 </div> 1169 <% } %> 1170 </div> 1171 <% } %> 1172 </div> 1173 </div> 1174 <hr> 1175 <div id="booking-note"> 1176 <p>Need more details regarding your journey?</p> 1177 <% if (!_USER_LOGGED_IN) { %> 1178 <a class="btn" data-modal="login-modal">Login</a> 1179 <a class="btn" data-modal="signup-modal">Signup</a> 1180 <% } else { %> 1181 <a class="btn" target="_blank" href="https://www.taxicode.com/user">Go to my bookings</a> 1182 <% } %> 1183 </div> 1184 </div> 1185</script>
1185 1186
1187<script defer type="text/javascript" src="/js/taxicode-main/track.js?update=0580116a"></script>
1187 1188 1189 <div id="footer"> 1190 <div id="footer-top"> 1191 <div class="container"> 1192 <div class="row"> 1193 <div class="col3" style="width: 36%"> 1194 <h3>Minicab, Minibus, Chauffeur and Coach Hire Companies</h3> 1195 <p>Learn more about Taxicode and <a href="/partner/">apply for membership</a></p> 1196 <h3>Travel Companies and TMC's</h3> 1197 <p><a href="/thirdparties/">Join our network</a> and benefit from our bespoke booking system for Travel Agents and TMCs</p> 1198 <h3>Affiliates and API partners</h3> 1199 <p>Own a website or an app? add our booking widget or <a href="/thirdparties/api/">integrate with our API</a></p> 1200 </div> 1201 <div class="col3 row rhide" style="width: 35%"> 1202 <h3>Business Customers</h3> 1203 <p>Learn more about the benefits of a business account and <a href="/business/">apply for 30 day payment terms</a></p> 1204 <h3>Education Customers</h3> 1205 <p>Schools, Colleges, Universities, need CRB/DBS Checked drivers? <a href="/education/">Find out more</a></p> 1206 </div> 1207 <div class="col3" id="footer_links" style="width: 20%"> 1208 </div> 1209 </div> 1210 </div> 1211 </div> 1212 <div id="footer-bottom"> 1213 <div class="container center"> 1214 <ul> 1215 <li><a href="https://www.taxicode.com/">Home</a></li> 1216 <li><a href="https://www.taxicode.com/about/">About Us</a></li> 1217 <li><a href="https://www.taxicode.com/partner/">Partners</a></li> 1218 <li><a href="https://www.taxicode.com/rewards/">Rewards</a></li> 1219 <li><a href="https://www.taxicode.com/thirdparties/">Affiliates</a></li> 1220 <li><a href="https://www.taxicode.com/terms/">Terms & Conditions</a></li> 1221 <li><a href="https://www.taxicode.com/privacy/">Privacy Policy</a></li> 1222 </ul> 1223 <div style="margin-top: 20px;"> 1224 <a href="/app/store/ios/taxicode_link/" target="_blank"><img src="/imgs/app/applestore_white.svg" style="display: inline-block; height: 40px;" alt="Download from the Apple App Store" /></a> 1225 <span style="display: inline-block; margin: 0 20px;"></span> 1226 <a href="/app/store/android/taxicode_link/" target="_blank"><img src="/imgs/app/playstore_white.svg" style="display: inline-block; height: 40px;" alt="Download from the Google Play Store" /></a> 1227 </div> 1228 </div> 1229 </div> 1230 </div> 1231 </div> 1232 <div id="login-modal" class="modal-overlay"> 1233 <div class="modal" style="width: 340px;"> 1234 <div class="modal-header"> 1235 <a class="modal-close">×</a> 1236 <h2>Log in to your account</h2> 1237 </div> 1238 <div class="modal-body"> 1239 <form method="post" class="widget center"> 1240 <div class="top-fields"> 1241 <div class="spaced"> 1242 <input type="email" name="email" value="" placeholder="Email address"/> 1243 </div> 1244 <div class="spaced"> 1245 <input type="password" name="password" value="" placeholder="Password" /> 1246 </div> 1247 </div> 1248 <div class="center spaced"> 1249 <a href="https://www.taxicode.com/user/login/forgot/">Forgot your password or not verified?</a> 1250 </div> 1251 <div class="center"> 1252 <input type="submit" class="btn blue" value="Log in" /> 1253 </div> 1254 <div class="response"></div> 1255 <hr /> 1256 <div class="fb-error hide"><p class="label red center">Apologies, there was an error authenticating with Facebook.</p></div> 1257 <div class="field center"> 1258 <a class="btn fb">Or Login With Facebook</a> 1259 </div> 1260 </form> 1261 </div> 1262 <div class="modal-footer"> 1263 <div class="center">Don't have a Taxicode account? <a class="modal-close" data-modal="signup-modal">Sign up</a></div> 1264 </div> 1265 </div> 1266</div> 1267<div id="signup-modal" class="modal-overlay"> 1268 <div class="modal"> 1269 <div class="modal-header"> 1270 <a class="modal-close">×</a> 1271 <h2>Create your account</h2> 1272 </div> 1273 <div class="modal-body"> 1274 <form id="signup" method="post" class="widget center"> 1275 <div class="top-fields"> 1276 <div class="spaced"> 1277 <select class="styled" style="width: 262px; border-radius: 0px;"> 1278 <option value="personal">Personal Account</option> 1279 <option value="business">Business Account</option> 1280 <option value="education">Education Account</option> 1281 </select> 1282 </div> 1283 <div class="spaced"> 1284 <input type="text" name="first_name" placeholder="First Name" /> 1285 </div> 1286 <div class="spaced"> 1287 <input type="text" name="last_name" placeholder="Last Name" /> 1288 </div> 1289 <div class="spaced company-name" style="display: none"> 1290 <input type="text" name="company_name" placeholder="Organisation Name" /> 1291 </div> 1292 <div class="spaced"> 1293 <input type="email" name="email" placeholder="Email" /> 1294 </div> 1295 <div class="spaced"> 1296 <input type="password" name="password" id="password" placeholder="Password" /> 1297 </div> 1298 <div class="spaced"> 1299 <input type="password" name="password2" placeholder="Confirm Password" /> 1300 </div>
1301 </div> 1302 <div class="spaced center"> 1303 <input type="checkbox" name="marketing-check" checked="checked" /><span>Can we contact you for marketing purposes?</span> 1304 </div> 1305 <div class="spaced"> 1306 <input type="submit" value="Create Account" class="btn blue large" /> 1307 </div> 1308 <div class="response"></div> 1309 </form> 1310 </div> 1311 <div class="modal-footer"> 1312 <div class="center">Already have a Taxicode account? <a class="modal-close" data-modal="login-modal">Login</a></div> 1313 </div> 1314 </div> 1315</div> 1316<form id="quote-journey-details-modal" class="modal-overlay" data-max-vias="8"> 1317 <div class="modal"> 1318 <div class="modal-header"> 1319 <a class="modal-close">×</a> 1320 <h2>Multiple Via Editor</h2> 1321 </div> 1322 <div class="modal-body"> 1323 <div class="quote-journey-field via-field"> 1324 <label>Via #1:</label> 1325 <input type="text" class="autocomplete-field via" name="via0" /> 1326 <span class="remove-via glyphicon glyphicon-remove glyphicon-blank"></span> 1327 </div> 1328 <div class="quote-journey-field via-field"> 1329 <label>Via #2:</label> 1330 <input type="text" class="autocomplete-field via" name="via1" /> 1331 <span class="remove-via glyphicon glyphicon-remove "></span> 1332 </div> 1333 <div class="quote-journey-field via-field"> 1334 <label>Via #3:</label> 1335 <input type="text" class="autocomplete-field via" name="via2" /> 1336 <span class="remove-via glyphicon glyphicon-remove "></span> 1337 </div> 1338 <div class="quote-journey-field via-field"> 1339 <label>Via #4:</label> 1340 <input type="text" class="autocomplete-field via" name="via3" /> 1341 <span class="remove-via glyphicon glyphicon-remove "></span> 1342 </div> 1343 <div class="quote-journey-field via-field"> 1344 <label>Via #5:</label> 1345 <input type="text" class="autocomplete-field via" name="via4" /> 1346 <span class="remove-via glyphicon glyphicon-remove "></span> 1347 </div> 1348 <div class="quote-journey-field via-field"> 1349 <label>Via #6:</label> 1350 <input type="text" class="autocomplete-field via" name="via5" /> 1351 <span class="remove-via glyphicon glyphicon-remove "></span> 1352 </div> 1353 <div class="quote-journey-field via-field"> 1354 <label>Via #7:</label> 1355 <input type="text" class="autocomplete-field via" name="via6" /> 1356 <span class="remove-via glyphicon glyphicon-remove "></span> 1357 </div> 1358 <div class="quote-journey-field via-field"> 1359 <label>Via #8:</label> 1360 <input type="text" class="autocomplete-field via" name="via7" /> 1361 <span class="remove-via glyphicon glyphicon-remove "></span> 1362 </div> 1363 <div class="quote-journey-field"> 1364 <a class="btn add-another-via">Add another via</a> 1365 </div> 1366 </div> 1367 <div class="modal-footer"> 1368 <div class="center"><a class="modal-close btn update-quote">Update Quote</a></div> 1369 </div> 1370 </div> 1371</form> 1372<!-- DATEPICKER TEMPLATE -->
1373<script id="datepicker-template" type="text/html"> 1374 <div class="tc-datepicker"> 1375 <% if (type == "below") { %><div class="arrow top">â</div><% } %> 1376 <div data-stage="0" class="center"> 1377 <h3 style="text-align: center;">Schedule Your Ride</h3> 1378 <div class="inline-datepicker"></div> 1379 <% if (removable) { %> 1380 <p><a class="btn remove">Remove Date</a></p> 1381 <% } %> 1382 <% if (asap) { %> 1383 <h3 style="text-align: center; margin-top: 10px;">or</h3> 1384 <p><a class="btn asap">Ride now</a></p> 1385 <% } %> 1386 </div> 1387 <div data-stage="1" class="center"> 1388 <h3 style="text-align: center;">Pick a time</h3> 1389 <select class="styled hours"> 1390 <option>00</option> 1391 <option>01</option> 1392 <option>02</option> 1393 <option>03</option> 1394 <option>04</option> 1395 <option>05</option> 1396 <option>06</option> 1397 <option>07</option> 1398 <option>08</option> 1399 <option>09</option> 1400 <option>10</option> 1401 <option>11</option> 1402 <option>12</option> 1403 <option>13</option> 1404 <option>14</option> 1405 <option>15</option> 1406 <option>16</option> 1407 <option>17</option> 1408 <option>18</option> 1409 <option>19</option> 1410 <option>20</option> 1411 <option>21</option> 1412 <option>22</option> 1413 <option>23</option> 1414 </select> : 1415 <select class="styled mins"> 1416 <option>00</option> 1417 <option>05</option> 1418 <option>10</option> 1419 <option>15</option> 1420 <option>20</option> 1421 <option>25</option> 1422 <option>30</option> 1423 <option>35</option> 1424 <option>40</option> 1425 <option>45</option> 1426 <option>50</option> 1427 <option>55</option> 1428 </select> 1429 <div style="margin-top: 10px;"> 1430 <a class="btn set-time">Set Time</a> 1431 </div> 1432 </div> 1433 <% if (type == "above") { %><div class="arrow bottom">â</div><% } %> 1434 </div> 1435</script>
1435 1436 1437 <!-- START VARIABLES --> 1438<link rel='preconnect' href="https://www.youtube.com" crossorigin /> 1439<link rel='preconnect' href="https://s.ytiming.com" crossorigin /> 1440<link rel='preconnect' href="https://api.taxicode.com" crossorigin />
1441<script type="text/javascript"> 1442 /* GOOGLE REMARKETING TAG */ 1443 /* <![CDATA[ */ 1444 var google_conversion_id = 1058219807; 1445 var google_custom_params = window.google_tag_params; 1446 var google_remarketing_only = true; 1447 /* ]]> */ 1448 /* BING TRACKING */ 1449(function (w, d, t, r, u) { 1450 var f, n, i; 1451 (w[u] = w[u] || []), 1452 (f = function () { 1453 var o = { ti: "5217564", enableAutoSpaTracking: true }; 1454 (o.q = w[u]), (w[u] = new UET(o)), w[u].push("pageLoad"); 1455 }), 1456 (n = d.createElement(t)), 1457 (n.src = r), 1458 (n.async = 1), 1459 (n.onload = n.onreadystatechange = 1460 function () { 1461 var s = this.readyState; 1462 (s && s !== "loaded" && s !== "complete") || 1463 (f(), (n.onload = n.onreadystatechange = null)); 1464 }), 1465 (i = d.getElementsByTagName(t)[0]), 1466 i.parentNode.insertBefore(n, i); 1467})(window, document, "script", "//bat.bing.com/bat.js", "uetq"); 1468 1469 var _SOURCE_DOMAIN_HOSTNAME = 'www.taxicode.com'; 1470 document.addEventListener("DOMContentLoaded", function(event) { 1471 var bottom_laziness = [ 1472 { src:'https://www.youtube.com/iframe_api' }, 1473 { src:'https://cdn.jsdelivr.net/npm/cookie-bar/cookiebar-latest.min.js?tracking=1&thirdparty=1&always=1&showNoConsent=1&remember=90&privacyPage=https%3A%2F%2Fsupport.taxicode.com%2Fsupport%2Fsolutions%2Farticles%2F22000208595-privacy-policy',mode:'async' } 1474 ]; 1475 for(load of bottom_laziness) { 1476 lazy(window, document, load) 1477 } 1478 mapboxgl.accessToken = 'pk.eyJ1IjoidGF4aWNvZGUiLCJhIjoiY2p2cDFxNGVtMXI5cDRjb2Z6a3B2eHBzYiJ9.B3Vl11qwiYRoN_bGjwaV_g'; 1479 Taxicode_Autocomplete.setRecentLocations( 1480 [] ); 1481 Taxicode_API.setKey("OHETHoDQabzVqFeU"); 1482 }); 1483</script>
vendor: 1 bytes, line 1483
1483
1484<script defer type="text/javascript" src="https://api.taxicode.com/js/?update=0580116a"></script>
vendor: 1 bytes, line 1484
1484
1485<script defer type="text/javascript" src="https://fa425fc75805f6d656a6-1f46740cb59bebeea403ceb80d228c15.ssl.cf1.rackcdn.com/dashboard/aea20546cc99e8fd0cf1a18189c5f999680f37f3/js/common/tc-datepicker.js?update=0580116a"></script>
vendor: 1 bytes, line 1485
1485
1486<script defer type="text/javascript" src="https://fa425fc75805f6d656a6-1f46740cb59bebeea403ceb80d228c15.ssl.cf1.rackcdn.com/dashboard/aea20546cc99e8fd0cf1a18189c5f999680f37f3/js/taxicode-main/quotebox.js?update=0580116a"></script>
vendor: 1 bytes, line 1486
1486
1487<script defer type="text/javascript" src="https://fa425fc75805f6d656a6-1f46740cb59bebeea403ceb80d228c15.ssl.cf1.rackcdn.com/dashboard/aea20546cc99e8fd0cf1a18189c5f999680f37f3/js/taxicode-main/main.js?update=0580116a"></script>
vendor: 1 bytes, line 1487
1487
1488<script defer type="text/javascript" src="https://fa425fc75805f6d656a6-1f46740cb59bebeea403ceb80d228c15.ssl.cf1.rackcdn.com/dashboard/aea20546cc99e8fd0cf1a18189c5f999680f37f3/js/taxicode-main/quotes.js?update=0580116a"></script>
vendor: 1 bytes, line 1488
1488
1489<script defer type="text/javascript" src="https://fa425fc75805f6d656a6-1f46740cb59bebeea403ceb80d228c15.ssl.cf1.rackcdn.com/dashboard/aea20546cc99e8fd0cf1a18189c5f999680f37f3/js/users/facebook.js?update=0580116a"></script>
vendor: 1 bytes, line 1489
1489
1490<script defer type="text/javascript" src="https://maps.googleapis.com/maps/api/js?key=AIzaSyDt8r22zGia_RkCY2LPLqP5P7lMC48oHIg&loading=async"></script>
vendor: 1 bytes, line 1490
1490
1491<script defer src='https://api.tiles.mapbox.com/mapbox-gl-js/v0.53.1/mapbox-gl.js'></script>
1491 1492<!-- Controller added JS -->
1493<script defer type="text/javascript" src="//www.googleadservices.com/pagead/conversion_async.js"></script>
1493 1494<noscript><div style="display:inline;"><img height="1" width="1" style="border-style:none;" alt="" src="//googleads.g.doubleclick.net/pagead/viewthroughconversion/1058219807/?value=0&guid=ON&script=0"/></div></noscript> 1495<!-- BING TRACKING --> 1496<noscript> 1497 <img src="//bat.bing.com/action/0?ti=5217564&Ver=2" height="0" width="0" style="display:none; visibility: hidden;" /> 1498</noscript> 1499 1500 </body> 1501</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.