a:6:{i:0;s:10399:"				<div class="h1"><h1>American West Coast Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.softprotravels.co.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.softprotravels.co.in/holiday-packages.htm" title="Holiday Packages">Holiday Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>American West Coast Tour</p>
				<br />
				
								
						<script language="javascript"> 
							function topDestinationToggle(showHideDiv, switchTextDiv) {
							var ele = document.getElementById(showHideDiv);
							var text = document.getElementById(switchTextDiv);
							if(ele.style.display == "block") {
								ele.style.display = "none";
							  text.innerHTML = "View More &#9660;";
							}
							else {
							  ele.style.display = "block";
							  text.innerHTML = "View Less &#9650;";
							}
							}
		                </script>
											<script type="text/javascript">			
					(function($){	
					  $(function(){
						$('[id^=detailslider]').each(function(){
							$(this).DG_Slider({
								auto: true, mode:'fade', pager:true, pagerType:'short',controls:true
							});
						})
				
						$('a[rel=gall]').fancybox()
					  });	
					}(jQuery))
					</script>
					
					<br />
					<div class="data">
					<table class="w100 formTable bdr0 imgWidth">
					<tr>
					<td class="p10px">
					<table class="w100 packageForm">
											<tr>
						<td class="b p5px w125px vat">Duration </td>
						<td class="p5px pl0px vat">
						5 Nights / 6 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Las Vegas, Los Angeles</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Price (Starting From) </td>
						<td class="p5px pl0px vat"><span class="dif">On Request</span></td>
						</tr>
												<tr>
						<td></td>
						<td>
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.softprotravels.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="American West Coast Tour - Tour Package"/>
						<input type="hidden" name="allocate_type" value="tour"/>
						<a href="#" onclick="document.getElementById('frmpackagedetail').submit();" class="button p7px pl12px pr12px c5px b large dib mt10px">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="98162"/>
						</form>
						</p>
						</td>
						</tr>
											</table>
					</td>
											<td class="p10px vat imgWidth150 w150px lh0">
						<div class="demo-wrap">
						<ul class="lsn m0px p0px" >
															<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc w150px h150px"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_17/484941/165964.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_17/484941/165964.jpg"  width="150" height="150"    alt="American West Coast Tour" title="American West Coast Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
											<div class="headHr">
			            <p class="p7px b pl10px xlarge">Tour Itinerary</p>
			            </div>
			            
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 1:</b> Arrival
								</p>
								<p class="aj">Welcome aboard to the United States of America. Your tour starts in the “City of Angels”- Los Angeles.<br />
Today, your fun-filled tour to the United States of America begins. On arrival at the Los Angeles International airport, proceed to your conveniently located hotel (Check-in on your own after 1500 hrs. Please reconfirm with your travel agent for exact timings & details of your tour). The rest of the day is free for you to experience the pulse of this amazing city on your own. Tonight, enjoy a delicious Indian dinner. Overnight at Hotel Ramada / La Quinta Inn similar, in Los Angeles or similar.</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 2:</b> Los Angeles
								</p>
								<p class="aj">Day trip to San Diego to spend the day at Sea World where you get a chance to meet many aquatic friends.<br />
After a Continental breakfast at the hotel, proceed to Sea World, a beautifully landscaped marine park where you can participate in some of the fast paced action rides and witness some of the spectacular aquatic shows. You will encounter the killer whale as never before – Sea World’s ‘Shamu’. You will see him in all his grandeur during ‘The One Ocean’ show. Come face to face with sharks at ‘Shark Encounter’ and bring home memories of a lifetime! Be a daredevil and experience Journey to Atlantis – the future of thrill rides. Later, sit back & enjoy an orientation tour of San Diego while returning to Los Angeles. Tonight, a sumptuous dinner awaits you at a local Indian Restaurant. Overnight at Hotel Ramada / La Quinta Inn similar, in Los Angeles or similar.</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 3:</b> Los Angeles
								</p>
								<p class="aj">A chance to experience Hollywood first hand at the Universal Studios - The world of movies, magic and illusions.<br />
After a Continental breakfast, the day is at leisure or you have a chance to become a part of Hollywood magic as you visit Universal Studios, the work place of Hollywood’s biggest and most glamorous stars. Take a memorable Studio Tram Tour and experience the world of illusions. Indulge in ‘The Universal Experience’ as you go behind the scenes of Universal’s film legacy. Feel the thrills of the world’s scariest 84-ft drop at the Jurassic Park roller coaster, plunge into total darkness as you face fireballs, scarab beetles and an army of warrior mummies on a psychological thrill ride in ‘Revenge of The Mummy’. Enjoy Despicable Me Minion Myhem as you join Gru, his daughters and the mischievous minions on a heartwarming and hilarious 3-D ride. Pay a visit to the new Simpson’s Ride as you join Homer and his family for a visit to Krustyl and! Tonight, enjoy a delicious Indian dinner at a local restaurant. Overnight at Hotel Ramada / La Quinta Inn similar, in Los Angeles or similar.</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 4:</b> Las Vegas
								</p>
								<p class="aj">Visit Hollywood and see the sights of this entertainment capital. Onto Las Vegas - The Gambling Capital of the World.<br />
After a Continental breakfast, enjoy a city tour to sample the rich history, diverse culture, sun-drenched beaches and pulsating movie tempos of Los Angeles. With a “movie star on every corner”, we first take you to visit the main street in Hollywood - ‘Hollywood Boulevard’ where you get a pulse of this city. See the Dolby Theatre which hosts the annual Academy Awards - The Oscars, and walk along the Hollywood Walk of Fame. Film and music enthusiasts can actually place their hands on the handprints and shoeprints of their favorite celebrities at the TCL Chinese Theatre. Later sit back in your coach and relax as we drive to Las Vegas. On arrival, check-in to your hotel. Tonight, enjoy a sumptuous Indian dinner. Overnight in Hotel Circus Circus / Imperial Palace or similar, in Las Vegas.</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 5:</b> Las Vegas
								</p>
								<p class="aj">A chance to visit the majestic Grand Canyon. Enjoy an exciting night tour of this City of Lights.<br />
This morning, savour a Continental breakfast and the entire day is free for you to explore the world’s most exclusive theme hotels and shopping centers on your own. Or, avail of one of the exciting optional tours to the Grand Canyon. These tours include a panoramic or scenic flying adventure to the remote wilderness of the magnificent Grand Canyon. After a delicious dinner at a local Indian restaurant, continue on to Fremont Street. Overnight in Hotel Circus Circus / Imperial Palace or similar, in Las Vegas.</p>
								</td>
								</tr>
								</table>					
								</div>						<br />
												 <p class="headHr p7px b pl10px xlarge">Tour Detail</p>
			             <div class="data p15px aj">
										
						<p class="large b mb5px dif">Inclusions :</p>
						<ul>
															<li>Hotel</li>
															</ul>
						<br />
											
						<p class="large b mb5px dif">Terms &amp; Conditions :</p>* Some Advance Percentage of total booking amount 
* Airfare/Transport fare to be paid full at one time in advance.~^#^~* Upon cancellation, refund will be made after deducting the Retention Amount. 
* Retention Amount varies as per the number of days left before your package start date. ~^#^~												</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.softprotravels.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="American West Coast Tour - Tour Package"/>
						<input type="hidden" name="allocate_type" value="tour"/>
						<a href="#" onclick="document.getElementById('frmpackagedetail').submit();" class="button p7px pl12px pr12px c5px b large dib mt10px">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="98162"/>
						</form>
						</div>
						
						";i:1;s:63:"Book American West Coast Tour - 5 Nights / 6 Days Tour Packages";i:2;s:125:"book american west coast tour - 5 nights / 6 days tour packages, heritage tour packages, las vegas, los angeles tour packages";i:3;s:163:"Softpro Tour & Travel offers American West Coast Tour - 5 Nights / 6 Days tour package, budget Heritage tour packages for Las Vegas, Los Angeles at exciting price.";i:4;s:418:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Las Vegas, Los Angeles"        
		                 },
		      "description": "",
		      "name": "American West Coast Tour",
		      "telephone": "+91-7896768942"
		    }
		    </script>
			";i:5;N;}