1<!DOCTYPE html><html lang="en"><head> 2 <link rel="canonical" href="https://www.savaari.com/"> 3 <meta charset="utf-8"> 4 <meta name="robots" content="index, follow"> 5 <meta name="robots" content="noodp,noydir"> 6 <meta name="msvalidate.01" content="007E1830E5871D1088DC6F2FBD6AF5D2"> 7 <base href="/"> 8 <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no"> 9 10 <!-- Preconnect to critical third-party origins --> 11 <link rel="preconnect" href="https://www.googletagmanager.com" crossorigin=""> 12 <link rel="preconnect" href="https://d2r1yp2w7bby2u.cloudfront.net" crossorigin=""> 13 <link rel="dns-prefetch" href="https://www.googletagmanager.com"> 14 <link rel="dns-prefetch" href="https://d2r1yp2w7bby2u.cloudfront.net"> 15 <link rel="dns-prefetch" href="https://cdn.asbmit.com"> 16 17 <link rel="icon" type="image/x-icon" href="assets/img/favicon.ico"> 18 <link rel="preload" as="image" href="./assets/img/savaari_logo.webp" type="image/webp" fetchpriority="high"> 19 <link rel="preload" as="image" media="(min-width: 768px)" href="./assets/img/homepage/december-banner_desktop.webp" type="image/webp" fetchpriority="high"> 20 <link rel="preload" as="image" media="(max-width: 500px)" href="./assets/img/homepage/december-banner_mobile.webp" type="image/webp" fetchpriority="high"> 21 <link rel="preload" href="./assets/fonts/AsketCondensed-ExtraBold.woff2" as="font" type="font/woff2" crossorigin="anonymous" fetchpriority="low"> 22 23 <title></title> 24 <style> 25 .shellrow { 26 flex: 0 0 33.333333%; 27 max-width: 33.333333%; 28 padding: 0; 29 display: flex; 30 display: -ms-flex; 31 display: -webkit-flex; 32 align-items: center; 33 -ms-flex-item-align: center; 34 -webkit-box-align: center; 35 height: 100% !important; 36 position: relative; 37 width: 100%; 38 min-height: 1px; 39 } 40 41 .hide-on-mobile { 42 display: block; 43 } 44 45 .show-on-mobile { 46 display: none; 47 } 48 49 @media (max-width: 710px) { 50 .hide-on-mobile { 51 display: none; 52 } 53 54 .show-on-mobile { 55 display: flex; 56 } 57 } 58 59 /* ===== Above-the-fold shimmer skeleton ===== */ 60 #appshell_home { 61 position: fixed; 62 top: 0; 63 left: 0; 64 right: 0; 65 bottom: 0; 66 width: 100%; 67 height: 100vh; 68 background: #fff; 69 z-index: 9999; 70 overflow: hidden; 71 transition: opacity 0.45s ease-out; 72 } 73 #appshell_home.sv-hide { 74 opacity: 0; 75 pointer-events: none; 76 } 77 @keyframes sv-shimmer { 78 0% { background-position: -700px 0; } 79 100% { background-position: 700px 0; } 80 } 81 .sv-sk { 82 background: linear-gradient(90deg, #e4e7ec 25%, #eef0f3 50%, #e4e7ec 75%); 83 background-size: 700px 100%; 84 animation: sv-shimmer 1.5s infinite linear; 85 border-radius: 4px; 86 display: block; 87 } 88 .sv-sk-cyan { 89 background: linear-gradient(90deg, #1d97c2 25%, #25b8e0 50%, #1d97c2 75%); 90 background-size: 700px 100%; 91 animation: sv-shimmer 1.5s infinite linear; 92 border-radius: 20px; 93 display: block; 94 } 95 .sv-sk-orange { 96 background: linear-gradient(90deg, #d95f1e 25%, #f57a32 50%, #d95f1e 75%); 97 background-size: 700px 100%; 98 animation: sv-shimmer 1.5s infinite linear; 99 border-radius: 6px; 100 display: block; 101 } 102 .sv-sk-light { 103 background: linear-gradient(90deg, #eaf5fb 25%, #f3fafd 50%, #eaf5fb 75%); 104 background-size: 700px 100%; 105 animation: sv-shimmer 1.6s infinite linear; 106 border-radius: 4px; 107 display: block; 108 } 109 110 /* Desktop navbar shell */ 111 .sv-nav-d { 112 height: 60px; 113 background: #fff; 114 border-bottom: 1px solid #e8eaed; 115 display: flex; 116 align-items: center; 117 padding: 0 28px; 118 gap: 20px; 119 } 120 .sv-nav-d .sv-logo { width: 136px; height: 40px; border-radius: 4px; } 121 .sv-nav-d .sv-phone { width: 170px; height: 32px; border-radius: 5px; } 122 .sv-nav-d .sv-spacer { flex: 1; } 123 .sv-nav-d .sv-blog { width: 38px; height: 14px; } 124 .sv-nav-d .sv-dl { width: 120px; height: 30px; border-radius: 20px; } 125 .sv-nav-d .sv-login { width: 75px; height: 30px; } 126 127 /* Mobile navbar shell */ 128 .sv-nav-m { 129 height: 52px; 130 background: #fff; 131 border-bottom: 1px solid #e8eaed; 132 align-items: center; 133 padding: 0 16px; 134 gap: 10px; 135 } 136 .sv-nav-m .sv-logo-m { width: 108px; height: 36px; border-radius: 4px; } 137 .sv-nav-m .sv-spacer-m { flex: 1; } 138 .sv-nav-m .sv-phone-m { width: 130px; height: 30px; border-radius: 5px; } 139 140 /* Banner shell (dark area behind hero image) */ 141 .sv-banner-d { 142 position: relative; 143 width: 100%; 144 height: 470px; 145 background: #2a2a2a; 146 overflow: hidden; 147 } 148 .sv-banner-m { 149 position: relative; 150 width: 100%; 151 height: 640px; 152 background: #2a2a2a; 153 overflow: hidden; 154 } 155 .sv-hero-title-d { 156 position: absolute; 157 left: 50%; 158 top: 27%; 159 transform: translateX(-50%); 160 width: 580px; 161 height: 60px; 162 background: rgba(255,255,255,0.18); 163 border-radius: 6px; 164 } 165 .sv-hero-title-m { 166 position: absolute; 167 left: 50%; 168 top: 10%; 169 transform: translateX(-50%); 170 width: 260px; 171 height: 36px; 172 background: rgba(255,255,255,0.18); 173 border-radius: 5px; 174 } 175 176 /* âââ Booking card â desktop âââââââââââââââââ */ 177 .sv-card-d { 178 position: absolute; 179 left: 50%; 180 transform: translateX(-50%); 181 top: 142px; 182 width: 96%; 183 max-width: 1100px; 184 background: #fff; 185 border-radius: 16px; 186 box-shadow: 0 4px 8px 0 rgba(1,1,1,0.2); 187 overflow: hidden; 188 padding-bottom: 36px; 189 } 190 .sv-tabs-d { 191 display: flex; 192 justify-content: center; 193 border-bottom: 1px solid #eef0f3; 194 padding: 18px 16px 10px; 195 gap: 0; 196 } 197 .sv-tab-d { 198 width: 120px; 199 height: 34px; 200 border: 1px solid #919191; 201 margin-bottom: 2px; 202 } 203 .sv-tab-d.active { 204 background: #20a8d9; 205 border-color: #20a8d9; 206 } 207 .sv-tab-d.first { border-top-left-radius: 4px; border-bottom-left-radius: 4px; } 208 .sv-tab-d.last { border-top-right-radius: 4px; border-bottom-right-radius: 4px; } 209 .sv-form-d { 210 display: grid; 211 grid-template-columns: 1.1fr 40px 1.1fr 1fr 1fr; 212 gap: 14px; 213 padding: 20px 28px 8px; 214 align-items: end; 215 } 216 .sv-field-d .sv-flabel { height: 11px; width: 60px; margin-bottom: 9px; } 217 .sv-field-d .sv-finput { height: 44px; width: 100%; border-radius: 6px; } 218 .sv-swap-d-wrap { display: flex; justify-content: center; align-items: center; padding-bottom: 5px; } 219 .sv-swap-d { 220 width: 35px; 221 height: 35px; 222 border-radius: 50%; 223 background: #f5f5f5; 224 border: 1px solid #e4e6ea; 225 flex-shrink: 0; 226 } 227 .sv-cta-row-d { 228 position: absolute; 229 left: 50%; 230 transform: translateX(-50%); 231 top: 333px; 232 } 233 .sv-cta-d { width: 269px; height: 50px; } 234 235 /* âââ Booking card â mobile (new card design) âââââââââââââ */ 236 .sv-card-m { 237 position: absolute; 238 left: 12px; 239 right: 12px; 240 top: 100px; 241 background: #fff; 242 border-radius: 12px; 243 box-shadow: 0 4px 16px rgba(0,0,0,0.15); 244 overflow: hidden; 245 padding-bottom: 14px; 246 } 247 /* Top tabs: Outstation / Local / Airport */ 248 .sv-tabs-m { 249 display: flex; 250 justify-content: center; 251 padding: 12px 10px 6px; 252 gap: 0; 253 } 254 .sv-tab-m { 255 flex: 1; 256 max-width: 120px; 257 height: 32px; 258 border: 1px solid #919191; 259 } 260 .sv-tab-m.active { 261 background: #20a8d9; 262 border-color: #20a8d9; 263 } 264 .sv-tab-m.first { border-top-left-radius: 4px; border-bottom-left-radius: 4px; } 265 .sv-tab-m.last { border-top-right-radius: 4px; border-bottom-right-radius: 4px; } 266 267 /* Experience heading "INDIA'S PREMIER INTERCITY CABS" */ 268 .sv-exp-m { 269 text-align: center; 270 border-top: 2px solid #20a8d9; 271 border-bottom: 2px solid #20a8d9; 272 padding: 6px; 273 margin: 10px 16px 10px; 274 display: flex; 275 justify-content: center; 276 } 277 .sv-exp-txt-m { width: 220px; height: 14px; } 278 279 /* Sub tabs: One Way / Round Trip */ 280 .sv-subtabs-m { 281 display: flex; 282 justify-content: center; 283 padding: 0 14px 4px; 284 gap: 0; 285 } 286 .sv-subtab-m { 287 flex: 1; 288 max-width: 140px; 289 height: 38px; 290 border: 1px solid #919191; 291 } 292 .sv-subtab-m.active { 293 background: #20a8d9; 294 border-color: #20a8d9; 295 } 296 .sv-subtab-m.first { border-top-left-radius: 4px; border-bottom-left-radius: 4px; } 297 .sv-subtab-m.last { border-top-right-radius: 4px; border-bottom-right-radius: 4px; } 298 299 /* Form area â card-style FROM/TO with combined TRIP START card */ 300 .sv-form-m { padding: 10px 14px 4px; position: relative; } 301 .sv-ow-card-m { 302 background: #F4FBFF; 303 border: 1.5px solid #c8e6f5; 304 border-radius: 10px; 305 padding: 8px 12px; 306 min-height: 54px; 307 display: flex; 308 align-items: center; 309 gap: 10px; 310 margin-bottom: 8px; 311 }
312 .sv-ow-pin-m { width: 14px; height: 18px; flex-shrink: 0; border-radius: 2px; } 313 .sv-ow-card-body-m { flex: 1; min-width: 0; } 314 .sv-ow-card-label-m { width: 34px; height: 10px; margin-bottom: 6px; border-radius: 2px; } 315 .sv-ow-card-value-m { width: 70%; height: 15px; border-radius: 3px; } 316 .sv-swap-abs-m { 317 position: absolute; 318 top: 58px; 319 right: 24px; 320 width: 34px; 321 height: 34px; 322 border-radius: 50%; 323 background: #fff; 324 border: 1.5px solid #c8e6f5; 325 z-index: 2; 326 } 327 .sv-addstops-m { 328 width: 96px; 329 height: 30px; 330 margin: 4px 0 10px; 331 border-radius: 6px; 332 border: 1.5px solid #c8e6f5; 333 } 334 335 /* Combined TRIP START card */ 336 .sv-trip-card-m { 337 background: #F4FBFF; 338 border: 1.5px solid #c8e6f5; 339 border-radius: 10px; 340 padding: 8px 12px; 341 min-height: 54px; 342 display: flex; 343 align-items: center; 344 gap: 10px; 345 margin-bottom: 10px; 346 } 347 .sv-trip-ico-m { width: 18px; height: 18px; flex-shrink: 0; border-radius: 3px; } 348 .sv-trip-body-m { flex: 1; min-width: 0; } 349 .sv-trip-lbl-m { width: 60px; height: 10px; margin-bottom: 5px; border-radius: 2px; } 350 .sv-trip-val-m { width: 80px; height: 13px; margin-bottom: 4px; border-radius: 2px; } 351 .sv-trip-sub-m { width: 50px; height: 11px; border-radius: 2px; } 352 353 .sv-cta-m { width: 100%; height: 48px; margin-top: 6px; } 354 .sv-trust-m { 355 display: flex; 356 justify-content: space-between; 357 padding: 12px 14px 16px; 358 gap: 10px; 359 } 360 .sv-trust-m > div { display: flex; align-items: center; gap: 6px; flex: 1; } 361 .sv-trust-icon-m { width: 16px; height: 16px; border-radius: 3px; flex-shrink: 0; } 362 .sv-trust-txt-m { height: 11px; flex: 1; max-width: 88px; } 363 </style> 364 365
365<script> 366 window.prerenderReady = false; 367 localStorage.setItem('page_start_time', new Date().getTime()); 368 window.onbeforeunload = function () { 369 this.localStorage.removeItem('partnerDetails'); 370 }; 371 </script>
371 372 373 <link rel="manifest" href="manifest.webmanifest"> 374 <meta name="theme-color" content="#1976d2"> 375<style>:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#007bff;--secondary:#6c757d;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#343a40;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}*,:after,:before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}header{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,Liberation Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}hr{box-sizing:content-box;height:0;overflow:visible}a{color:#007bff;text-decoration:none;background-color:transparent}a:hover{color:#0056b3;text-decoration:underline}img{vertical-align:middle;border-style:none}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.h-100{height:100%!important}@media print{*,:after,:before{text-shadow:none!important;box-shadow:none!important}a:not(.btn){text-decoration:underline}img{page-break-inside:avoid}@page{size:a3}body{min-width:992px!important}}@font-face{font-family:Roboto;font-style:normal;font-weight:400;src:url(roboto-v30-latin-regular.f2894edcf7d09d36.woff2) format("woff2");font-display:swap}@font-face{font-family:Roboto;font-style:normal;font-weight:500;src:url(roboto-v30-latin-500.3170fd9aa9258fe0.woff2) format("woff2");font-display:swap}@font-face{font-family:Roboto;font-style:normal;font-weight:700;src:url(roboto-v30-latin-700.71b2beb82c4d1389.woff2) format("woff2");font-display:swap}html,body{height:100%}body{margin:0;font-family:Roboto,sans-serif}body{background:#fff;color:#393939!important;letter-spacing:.25px}a{cursor:pointer!important;color:#20a8d9}app-root{position:absolute;width:100%;height:100%}a{outline:0!important}@media all and (min-width:710px){a{font-size:14px;color:#20a8d9}}.active{color:#fff}.rotatescreen{position:fixed;width:100%;height:100%;top:0;left:0;z-index:100;background-color:#fff;display:none}.rotatescreen_container{text-align:center;position:relative;top:30%;width:100%;left:0;transform:translateY(-50%)}.rotatescreen_text_header{width:calc(100% - 16px);color:#20a8d9;font-weight:bolder;margin-top:20px}.rotatescreen_text_body{margin-top:20px;width:calc(100% - 16px);font-weight:bolder}.bg-rotate_screen{width:74px;height:74px;background:url(savaari-icons-css.2f8a2db516456141.png) -10px -10px}</style><link rel="stylesheet" href="styles.6784d856863d2306.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="styles.6784d856863d2306.css"></noscript></head> 376 377<body> 378 379 <div id="appshell_home" style="display:none;"> 380 381 <!-- ===== Above-the-fold shimmer ===== --> 382 <!-- Desktop shimmer --> 383 <div class="hide-on-mobile" aria-hidden="true"> 384 <div class="sv-nav-d"> 385 <span class="sv-sk sv-logo"></span> 386 <span class="sv-sk-cyan sv-phone"></span> 387 <div class="sv-spacer"></div> 388 <span class="sv-sk sv-blog"></span> 389 <span class="sv-sk sv-dl"></span> 390 <span class="sv-sk-cyan sv-login"></span> 391 </div> 392 <div class="sv-banner-d"> 393 <div class="sv-hero-title-d"></div> 394 <div class="sv-card-d"> 395 <div class="sv-tabs-d"> 396 <div class="sv-tab-d first active"></div> 397 <div class="sv-tab-d"></div> 398 <div class="sv-tab-d"></div> 399 <div class="sv-tab-d last"></div> 400 </div> 401 <div class="sv-form-d"> 402 <div class="sv-field-d"> 403 <div class="sv-sk sv-flabel" style="width:44px;"></div> 404 <div class="sv-sk sv-finput"></div> 405 </div> 406 <div class="sv-swap-d-wrap"> 407 <div class="sv-swap-d"></div> 408 </div> 409 <div class="sv-field-d"> 410 <div class="sv-sk sv-flabel" style="width:26px;"></div> 411 <div class="sv-sk sv-finput"></div> 412 </div> 413 <div class="sv-field-d"> 414 <div class="sv-sk sv-flabel" style="width:98px;"></div> 415 <div class="sv-sk sv-finput"></div> 416 </div> 417 <div class="sv-field-d"> 418 <div class="sv-sk sv-flabel" style="width:90px;"></div> 419 <div class="sv-sk sv-finput"></div> 420 </div> 421 </div> 422 </div> 423 <div class="sv-cta-row-d"> 424 <div class="sv-sk-orange sv-cta-d"></div> 425 </div> 426 </div> 427 </div> 428 429 <!-- Mobile shimmer --> 430 <div class="show-on-mobile" style="flex-direction: column; width: 100%; padding: 0; margin: 0;" aria-hidden="true"> 431 <div class="sv-nav-m" style="display: flex; width: 100%;">
432 <span class="sv-sk sv-logo-m"></span> 433 <div class="sv-spacer-m"></div> 434 <span class="sv-sk-cyan sv-phone-m"></span> 435 </div> 436 <div class="sv-banner-m"> 437 <div class="sv-hero-title-m"></div> 438 <div class="sv-card-m"> 439 <!-- Top tabs: Outstation / Local / Airport --> 440 <div class="sv-tabs-m"> 441 <div class="sv-tab-m first active"></div> 442 <div class="sv-tab-m"></div> 443 <div class="sv-tab-m last"></div> 444 </div> 445 <!-- Experience heading --> 446 <div class="sv-exp-m"> 447 <div class="sv-sk sv-exp-txt-m"></div> 448 </div> 449 <!-- Sub tabs: One Way / Round Trip --> 450 <div class="sv-subtabs-m"> 451 <div class="sv-subtab-m first active"></div> 452 <div class="sv-subtab-m last"></div> 453 </div> 454 <div class="sv-form-m"> 455 <!-- FROM card --> 456 <div class="sv-ow-card-m"> 457 <div class="sv-sk sv-ow-pin-m"></div> 458 <div class="sv-ow-card-body-m"> 459 <div class="sv-sk-light sv-ow-card-label-m"></div> 460 <div class="sv-sk sv-ow-card-value-m"></div> 461 </div> 462 </div> 463 <!-- TO card --> 464 <div class="sv-ow-card-m"> 465 <div class="sv-sk sv-ow-pin-m"></div> 466 <div class="sv-ow-card-body-m"> 467 <div class="sv-sk-light sv-ow-card-label-m" style="width:24px;"></div> 468 <div class="sv-sk sv-ow-card-value-m" style="width:60%;"></div> 469 </div> 470 </div> 471 <!-- Swap button overlayed on right --> 472 <div class="sv-swap-abs-m"></div> 473 <!-- Add Stops button --> 474 <div class="sv-sk-light sv-addstops-m"></div> 475 <!-- TRIP START combined card --> 476 <div class="sv-trip-card-m"> 477 <div class="sv-sk sv-trip-ico-m"></div> 478 <div class="sv-trip-body-m"> 479 <div class="sv-sk-light sv-trip-lbl-m"></div> 480 <div class="sv-sk sv-trip-val-m"></div> 481 <div class="sv-sk sv-trip-sub-m"></div> 482 </div> 483 </div> 484 <div class="sv-sk-orange sv-cta-m"></div> 485 </div> 486 </div> 487 </div> 488 <div class="sv-trust-m"> 489 <div> 490 <div class="sv-sk sv-trust-icon-m"></div> 491 <div class="sv-sk sv-trust-txt-m"></div> 492 </div> 493 <div> 494 <div class="sv-sk sv-trust-icon-m"></div> 495 <div class="sv-sk sv-trust-txt-m"></div> 496 </div> 497 <div> 498 <div class="sv-sk sv-trust-icon-m"></div> 499 <div class="sv-sk sv-trust-txt-m"></div> 500 </div> 501 </div> 502 </div> 503 504 </div> 505 <app-root id="approot" style="display: none;"></app-root> 506 <div id="landscapeMode" class="rotatescreen" style="display:none;"> 507 <header style="margin-top:10px;margin-left:40%;"> 508 <a class="logo h-100" href="/" onclick="return false;"> 509 <img alt="Savaari" class="logoclass1" width="100px" src="assets/img/logo.png"> 510 </a> 511 </header> 512 <hr> 513 <div class="rotatescreen_container"> 514 <!-- <img src="./assets/rotate-screen.png" alt=""> --> 515 <div class="bg-rotate_screen" style="display: inline-block"> </div> 516 <div class="rotatescreen_text_header"> 517 Please Rotate Your Device 518 </div> 519 <div class="rotatescreen_text_body">We do not support landscape mode, Please use the app in <br>portrait mode for 520 best experience</div> 521 </div> 522 </div> 523
523<script> 524 525 window.addEventListener("orientationchange", function () { 526 527 if ((screen.width > screen.height) && (navigator.userAgent.match(/Android/i) 528 || navigator.userAgent.match(/webOS/i) 529 || navigator.userAgent.match(/iPhone/i) 530 || navigator.userAgent.match(/iPad/i) 531 || navigator.userAgent.match(/iPod/i) 532 || navigator.userAgent.match(/BlackBerry/i) 533 || navigator.userAgent.match(/Windows Phone/i))) { 534 535 document.getElementById('approot').style.display = 'none'; 536 document.getElementById('landscapeMode').style.display = 'block'; 537 538 if (document.getElementsByTagName('mat-dialog-container')[0]) 539 document.getElementsByTagName('mat-dialog-container')[0].style.display = 'none'; 540 if (document.getElementsByClassName('cdk-overlay-container')[0]) 541 document.getElementsByClassName('cdk-overlay-container')[0].style.display = 'none' 542 } 543 else { 544 545 document.getElementById('approot').style.display = 'block'; 546 if (document.getElementById('appshell_home')) 547 document.getElementById('appshell_home').style.display = 'block'; 548 document.getElementById('landscapeMode').style.display = 'none'; 549 if (document.getElementsByTagName('mat-dialog-container')[0]) 550 document.getElementsByTagName('mat-dialog-container')[0].style.display = ''; 551 if (document.getElementsByClassName('cdk-overlay-container')[0]) 552 document.getElementsByClassName('cdk-overlay-container')[0].style.display = ''; 553 554 } 555 556 }, false); 557 558 if ((screen.width > screen.height) && (navigator.userAgent.match(/Android/i) 559 || navigator.userAgent.match(/webOS/i) 560 || navigator.userAgent.match(/iPhone/i) 561 || navigator.userAgent.match(/iPad/i) 562 || navigator.userAgent.match(/iPod/i) 563 || navigator.userAgent.match(/BlackBerry/i) 564 || navigator.userAgent.match(/Windows Phone/i))) { 565 566 document.getElementById('approot').style.display = 'none'; 567 document.getElementById('landscapeMode').style.display = 'block'; 568 if (document.getElementsByTagName('mat-dialog-container')[0]) 569 document.getElementsByTagName('mat-dialog-container')[0].style.display = 'none'; 570 if (document.getElementsByClassName('cdk-overlay-container')[0]) 571 document.getElementsByClassName('cdk-overlay-container')[0].style.display = 'none' 572 } 573 else { 574 575 document.getElementById('landscapeMode').style.display = 'none'; 576 if (document.getElementsByTagName('mat-dialog-container')[0]) 577 document.getElementsByTagName('mat-dialog-container')[0].style.display = ''; 578 if (document.getElementsByClassName('cdk-overlay-container')[0]) 579 document.getElementsByClassName('cdk-overlay-container')[0].style.display = ''; 580 581 582 if (!(/select_cars/i).test(window.location.pathname) && !(/booking/i).test(window.location.pathname)) { 583 584 document.getElementById('appshell_home').style.display = 'block'; 585 586 // Central reveal: show the app + fade out the shimmer. Called by the fallback 587 // below and (on the homepage) by home-container once its async content has painted. 588 window.__svReveal = function () { 589 var shell = document.getElementById('appshell_home'); 590 var approot = document.getElementById('approot'); 591 if (approot) approot.style.display = 'block'; 592 if (shell && shell.style.display !== 'none') { 593 shell.classList.add('sv-hide'); 594 setTimeout(function () { shell.style.display = 'none'; }, 100); 595 } 596 }; 597 598 if (window.location.pathname === '/' || window.location.pathname === '') { 599 // Homepage: keep the app fully OUT of layout (display:none, from its initial 600 // markup) behind the shimmer until home-container has fetched + rendered its 601 // content, so the late data-driven reflows happen with no layout box and are 602 // NOT counted as CLS. (visibility:hidden does NOT exclude an element from CLS.) 603 window.__svDeferReveal = true; 604 // Fallback reveal if the content never loads. 605 setTimeout(function () { if (window.__svReveal) window.__svReveal(); }, 12000); 606 } else { 607 // SEO / info / error routes: show the app now. app.component reveals (fades 608 // the shimmer) on NavigationEnd once the route renders, and trip-search hides 609 // it on widget pages. This timer is a safety net if the app never bootstraps. 610 document.getElementById('approot').style.display = 'block'; 611 setTimeout(function () { if (window.__svReveal) window.__svReveal(); }, 8000); 612 } 613 614 } 615 else { 616 617 document.getElementById('approot').style.display = 'block'; 618 //document.getElementById('appshell_home').style.display=none; 619 620 } 621 }
622 //localStorage.removeItem('CacheServiceLocalSubTripTypes'); 623 </script>
623 624 625
625<script> 626 window.addEventListener('triggerAdmitadPixel', function (e) { 627 (function (d, w) { 628 w._admitadPixel = { 629 response_type: 'img', // 'script' or 'img'. Default: 'img' 630 action_code: '1', 631 campaign_code: 'c26cefce51' 632 }; 633 w._admitadPositions = w._admitadPositions || []; 634 w._admitadPositions.push({ 635 uid: e.detail.uid, //pass back the value here which we are sending you in admitad_uid parameter 636 tariff_code: '1', 637 order_id: e.detail.order_id, //pass the order Id here 638 position_id: '1', 639 currency_code: '',//Pass Currency Code here 640 position_count: '1', 641 price: '', //Pass total amount here 642 quantity: '1', 643 product_id: '', //pass the product id here 644 payment_type: 'sale' 645 }); 646 var id = '_admitad-pixel'; 647 if (d.getElementById(id)) { return; } 648 var s = d.createElement('script'); 649 s.id = id; 650 var r = (new Date).getTime(); 651 var protocol = (d.location.protocol === 'https:' ? 'https:' : 'http:'); 652 s.src = protocol + '//cdn.asbmit.com/static/js/npixel.js?r=' + r; 653 var head = d.getElementsByTagName('head')[0]; 654 head.appendChild(s); 655 })(document, window) 656 }); 657 658 localStorage.setItem('home_page_load_Flag', '1'); 659 660 //localStorage.removeItem('ixigoFlag'); 661 //localStorage.removeItem('ixigoColor'); 662 if (localStorage.getItem('ixigoFlag') != '1') { 663 localStorage.setItem('ixigoFlag', '0'); 664 localStorage.setItem('ixigoColor', ''); 665 } 666 667 if (localStorage.getItem('mahindraFlag') != '1') { 668 localStorage.setItem('mahindraFlag', '0'); 669 } 670 //if (localStorage.getItem('google_map_included') != '1') { 671 // localStorage.setItem('google_map_included', '0'); 672 //} 673 674 localStorage.removeItem('cityDomainName'); 675 for (var key in localStorage) { 676 if (key != '' && key.includes('CacheServiceoutstationoneWay') && key.split('CacheServiceoutstationoneWay')[1] != "undefined" && key.split('CacheServiceoutstationoneWay')[1] > 0) 677 localStorage.removeItem(key); 678 } 679 //localStorage.setItem('cityDomainName', 'mumbaiairporttaxi'); 680 if ((localStorage.getItem('InAppSourcePaytm') == 'Paytm' || localStorage.getItem('InAppSource') == 'PhonePe') && localStorage.getItem('OnlyAirportTab') == 'OnlyAirportTab') { 681 //document.getElementsByClassName("logoclass")[0].src = "assets/img/savaari-airport-cabs-logo.png"; 682 document.getElementsByClassName("logoclass1")[0].src = "assets/img/savaari-airport-cabs-logo.png"; 683 } 684 if (localStorage.getItem('InAppSourcePaytm') == 'Paytm' || localStorage.getItem('InAppSource') == 'PhonePe') { 685 localStorage.setItem('razorpayenable', 0); 686 localStorage.setItem('home_page_mobile_banner_remove', 1); 687 } else { 688 localStorage.setItem('razorpayenable', 1); 689 localStorage.setItem('home_page_mobile_banner_remove', 0); 690 } 691 localStorage.setItem('select-trip-reverse', 0); 692 localStorage.setItem('fresh_load', 1); 693 // localStorage.setItem('google_map_included', 0); 694 //localStorage.removeItem('SavaariToken'); 695 696 if(localStorage.getItem('SavaariUserDeviceID') == null || localStorage.getItem('SavaariUserDeviceID') == undefined || localStorage.getItem('SavaariUserDeviceID') == ''){ 697 var ud_id = 'UDID_'; 698 let chars = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; 699 for (var i = 14; i > 0; --i) ud_id += chars[Math.floor(Math.random() * chars.length)]; 700 ud_id += (new Date).getTime(); 701 localStorage.setItem('SavaariUserDeviceID',ud_id); 702 } 703 704 </script>
704 705 706
706<script type="application/ld+json"> 707{ 708 "@context":"https://schema.org", 709 "@type":"Product", 710 "name":"Local & Outstation Cabs with Savaari Car Rentals", 711 "description":"Savaari Car Rentals provides affordable cabs across 2000 Cities in India. Customers can book oneway drops, outstation roundtrips, local hourly rentals and airport taxis. You can choose from reliable and safe cab rental options like Hatchbacks, Sedans, SUVs, Innovas, Innova Crysta and Tempo Traveller.", 712 "sku":"InStock", 713 "aggregateRating": { 714 "@type": "AggregateRating", 715 "bestRating": "5", 716 "worstRating": "1", 717 "ratingValue": "4.5", 718 "ratingCount": "4368" 719 } 720 }</script>
720<script type="application/ld+json">{"@context":"https://schema.org","@type":"LocalBusiness","name":"Savaari Car Rentals","url":"https://www.savaari.com/","@id":"https://www.savaari.com/aboutus","logo":"https://www.savaari.com/assets/img/logo.png","sameAs":["https://www.facebook.com/Savaari","https://in.linkedin.com/company/savaari-car-rentals","https://www.instagram.com/savaaricarrentals","https://twitter.com/savaaricars","https://www.youtube.com/c/SavaariCarRentalsIndia","https://www.savaari.com/blog"],"description":"Savaari Car Rentals is India's premier online cab booking aggregator, providing affordable Outstation Oneway, Roundtrips, Hourly Rentals, and Airport Taxi services across 2000 cities in India.","founder":["Gaurav Aggarwal","Anand Dorairaj","Mohit Khanna","Manik Shah"],"foundingDate":"2006","foundingLocation":{"@type":"Place","address":{"@type":"PostalAddress","streetAddress":"Your Office Address","addressLocality":"Bengaluru","addressRegion":"Karnataka","postalCode":"560001","addressCountry":"IN"}},"geo":{"@type":"GeoCoordinates","latitude":"12.9716","longitude":"77.5946"},"contactPoint":{"@type":"ContactPoint","telephone":"+91-9045450000","email":"[email protected]","contactType":"Customer service"}}</script>
720 721 722<!--
722<script 723src="https://maps.googleapis.com/maps/api/js?key=AIzaSyCZZixip_wFMiGvO1G2HYjeNOjmtBP5RZM&libraries=places,geometry®ion=IN&language=en-US&callback=initGoogleMaps" 724async defer> 725</script>
vendor: 1 bytes, line 725
725
726<script> 727function initGoogleMaps() { 728 console.log('Google Maps loaded!'); 729 localStorage.setItem('google_map_included', '1'); 730} 731</script>
731 --> 732
732<script> 733 window.addEventListener('load', (event) => { 734 735 (function (w, d, s, l, i) { 736 w[l] = w[l] || []; w[l].push({ 737 'gtm.start': 738 new Date().getTime(), event: 'gtm.js' 739 }); var f = d.getElementsByTagName(s)[0], 740 j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : ''; j.async = true; j.defer = true; j.src = 741 'https://www.googletagmanager.com/gtm.js?id=' + i + dl; f.parentNode.insertBefore(j, f); 742 })(window, document, 'script', 'dataLayer', 'GTM-KPJZSG'); 743 744 }); 745 </script>
vendor: 71 bytes, lines 745-747
745 746 747 <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
747GTM-KPJZSG
vendor: 96 bytes, lines 747-750
747" height="0" width="0" 748 style="display:none;visibility:hidden"></iframe></noscript> 749 750
750<script> 751 window.addEventListener('load', function () { 752 var smartechScript = document.createElement('script'); 753 smartechScript.src = '//cdnt.netcoresmartech.com/smartechclient.js'; 754 smartechScript.async = true; 755 smartechScript.onload = function () { 756 smartech('create', 'ADGMOT35CHFLVDHBJNIG50K96BJNAIDNA289P0MPDIT4A9J9K39G'); 757 smartech('register', '741bcb1c24084cb6351e7f212062982a'); 758 smartech('identify', ''); 759 smartech('dispatch', 'page browse', {}); 760 }; 761 document.head.appendChild(smartechScript); 762 }); 763 </script>
763 764
765<script src="runtime.8c2eb62cc3cebc0b.js" type="module"></script>
765<script src="polyfills.9030d617e5dceabf.js" type="module"></script>
765<script src="main.fc5b2067e2f1e13c.js" type="module"></script>
765 766 767 768</body></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.