a:6:{i:0;s:18966:"				<div class="h1"><h1>Usa East and West Cost Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.justravels.co.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.justravels.co.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Usa East and West Cost 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">
						10 Nights / 11 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Washington, New York, Las Vegas, San Francisco</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.justravels.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Usa East and West Cost 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="183541"/>
						</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_15/436011/280378.JPG"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_15/436011/280378.JPG"  width="150" height="112"    alt="Usa East and West Cost Tour" title="Usa East and West Cost Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					Highlights<br />
<br />
Your Tour at A Glance<br />
- Value for money holidays that you will cherish for a lifetime.<br />
- Visit all the major cities in 11 days: Washington D.C., New York, Niagara, Orlando, Bahamas Cruise, San Francisco, Fresno, Las Vegas and Los Angeles.<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 to the United States of America. Your Tour Starts with a Visit to the Capital of Usa – Washington D.c.<br />
today, You Will Fly to the Capital of - United States of America. On Arrival At Washington D.c. Airport, You Will Be Received and Transferred to a Conveniently Located Hotel Along with the Group. the Rest of the Day is Free for You to Experience the Pulse of this Amazing City On Your Own. Later in the Evening, Enjoy a Delicious Indian Dinner.<br />
overnight in Washington D.c.</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> City Tour
								</p>
								<p class="aj">City Tour of Washington D.c. with a Local Guide. Visit Smithsonian Air & Space Museum. En Route Stop At Hershey’s Chocolate World. Onto Big Apple - New York. After An American Breakfast , Enjoy An Informative Tour of this Historic and Beautiful City with Your Local Guide. See the Capitol – the U.s. Congress Building, the White House – the Official Residence of the President of the United States, the Lincoln Memorial – the Steps Where Martin Luther King Jr. Gave His Famous Speech, Korean Memorial – Dedicated to the Korean War Where India Had Been a Member of the U.n. Army, Martin Luther King Jr.memorial – the Full Size Statue and His Famous Quotes. Proceed to the Smithsonian Institution - the World’s Largest Museum Complex, Which Includes the National Air and Space Museum.<br />
touch the Piece of Moon Rock, See the Actual Cockpit of the Airbus and You May also Buy the Special Pen Used By Astronauts. After Lunch Sit Back in the Coach as We Drive to New York. En Route Visit Hershey’s Chocolate World. Go Back to Your Childhood Days Where You Sit in a Trolley and Learn About the Different Chocolate Making Processes. Later in the Evening, Enjoy a Delicious Indian Dinner.<br />
overnight in New York</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> New York.
								</p>
								<p class="aj">Photo Stop At Iconic Statue of Liberty. Professionally Guided City Tour of Manhattan Including Visit to 86th Floor Observatory of Empire State Building.<br />
after An American Breakfast At Your Hotel, Get Set as You Board Your Boat Cruise to the Scenic Liberty Island for a Close Up View of “the Statue of Liberty”. the Copper Coated Statue Welcomes You to the New World of Democracy, Freedom & Friendliness. Later, Proceed On a City Tour with a Professional Guide of the ‘big Apple’ Over Looking the Brooklyn and Manhattan Bridges, the Headquarter of United Nations Overlooking the East River, Trump Towers – the Most Expensive Residential Building in United States, China Town – the Third Largest Chinese Establishment in the World Outside China, Central Park – 856 Acres of Greeneries Supplying Oxygen to New York City, Rockefeller Complex – the 19 Building Commercial Complex Connected Underground By a Single Concourse, Broadway – the Theatre and Musical District and the Times Square - the Heart of the Entertainment District. Enjoy Indian Lunch. You Will also Visit the Observatory On the 86th Floor of the Empire State Building to Get a Spectacular View of the New York Skyline. After a Day of Fun, Get Set to Enjoy a Delicious Indian Dinner.<br />
overnight in New York.</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> Niagara
								</p>
								<p class="aj">Onto Niagara Falls! Drive Through the United States Freeway Passing By the New York Countryside. Niagara By Night Illumination Tour.<br />
start Your Day with a Delicious American Breakfast. Later, Sit Back and Relax in Your Coach as We Drive On a Scenic Road to the Niagara Falls – One of the Natural Wonders of the World. En Route Enjoy Lunch. On Arrival Enjoy a Delicious Indian Dinner. After Dinner, We Take You On a Night Tour of the Niagara Falls Being Illuminated in Rainbow Colours and the Mist Acting as Colourful Skies.<br />
overnight in Niagara.</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> San Francisco.
								</p>
								<p class="aj">Adventure Personified ‘maid of the Mist’ or ‘view Mobile Tram Ride’. See the Spectacular Niagara Falls from Close Quarters. ‘cave of the Winds’ – Adventure Walk. Fly to San Francisco.<br />
after An American Breakfast, Adventure Awaits You to Enjoy the ‘maid of the Mist’ Which Gives You a Breath Taking View of this Majestic Waterfall Beyond Comparison. (due to Weather Conditions, this Ride Operates Only from the Last Week of May. We Offer the ‘view Mobile Tram Ride’ for all Tourists Visiting the Falls Prior to the Last Week of May). also Take a Journey 175ft Underground By Elevator to Walk Through the ‘cave of the Winds’ and Get Drenched Under the Bridal Veil Falls. After Lunch, Proceed to the Airport to Board a Flight to San Francisco. On Arrival, Board a Spectacular Cruise On the San Francisco Bay. Sail Past the San Francisco Skyline, San Francisco Maritime National Park, Sail Directly Under the Golden Gate Bridge, Sail Around the Infamous Island of Alcatraz, the Then Inescapable Prison. Explore Fishermen’s Wharf, One of the Oldest Area of the Bay City. Enjoy An Indian Dinner.<br />
overnight in San Francisco.</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 6:</b> San Francisco
								</p>
								<p class="aj">San Francisco City Tour with a Professional Guide and Later Proceed to Fresno.<br />
after An American Breakfast, Proceed for a City Tour with a Professional Guide to the Twin Peaks – the Highest Point of San Francisco, Ghirardelli Square – Place of the Beginning of the Ghirardelli Chocolates, Park Presidio – Dedicated to the Veterans and Nob Hill – Area for One of the Most Expensive Residential Homes, Castro District, Market Street, Union Square – the Most Happening Place of the City. Later, We See the Lombard Street – the Most Crooked Street in the World with Eight Hairpin Curves Made to Decrease the Gradient of the Road and also Stop for a Photo of the Iconic Golden Gate Bridge –representing One of the World’s Best Engineering Excellence, Drive Through the 1000 Acre Golden Gate Park – the Cradle of Nature and Freshness. After a Sumptuous Indian Lunch, Proceed to Fresno, the Largest Metropolitan City in Central California’s San Joaquin Valley. Enjoy a Delicious Indian Dinner.<br />
overnight in Fresno.</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 7:</b> Las Vegas
								</p>
								<p class="aj">Drive to Las Vegas - the amazing gambling capital of the world. En route enjoy the drive through California’s flushing vineyards and almonds plantations. Evening is free to explore the glamorous hotels of Las Vegas. Illuminated Fremont Street Experience and Bellagio Musical Fountain Show.<br />
After an American Breakfast get set to drive to Las Vegas - the gambling capital of the world. En route enjoy Lunch. Drive through the California’s vast plantations of Vineyards and Almonds and enter the contrasting nature of the dry Mojave Desert. On arrival, check into your hotel. Rest of the evening is free for you to get dressed up and explore the stunning hotels of Las Vegas and indulge yourself in ultimate luxury.<br />
After an Indian dinner, get an experience of the Fremont Street – the three blocks of streets covered with LED canopy displaying scintillating effects of lights and sounds. Also see the Musical Fountain show at the Bellagio with a brilliant mix of water, light and sound effects. Enjoy a delicious Indian Dinner.<br />
Overnight 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 8:</b> Las Vegas
								</p>
								<p class="aj">A chance to visit the majestic Grand Canyon by road OR explore this exciting City of Lights on your own. Later in the evening enjoy a breath taking night helicopter flight over the Las Vegas Strip and downtown Glitter Gulch.<br />
This morning you have a chance for a once-in-a-lifetime experience to visit the Grand Canyon. On arrival, you will be surprised by the vastness of this nature’s creation – Grand Canyon created for thousands of years by the course of river Colorado where the canyon goes as deep as one mile Later in the evening after an Indian Dinner proceed for a mesmerising helicopter ride over “The Strip”. Look out for this unforgettable experience when you fly over the best of the hotels and enrich yourself with the gorgeous world.<br />
Overnight 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 9:</b> Las Vegas
								</p>
								<p class="aj">Drive to Los Angeles. Later in the evening enjoy a city tour of Los Angeles in style with champagne in a stretch limousine.<br />
After an American Breakfast, proceed to Los Angeles. En route enjoy Lunch. Later in the evening, we take you on a memorable limousine ride to visit the main streets of Hollywood - ‘Hollywood Boulevard’ where you get the pulse of this city. Take a photo stop at the Dolby Theatre – the venue of “Oscars” and walk along the Hollywood Walk of Fame. Place your hands in the handprints and shoeprints of your favourite celebrities at the Grauman’s Chinese Theatre. Later, proceed for an orientation tour of Sunset Boulevard, Doheny Drive – the place where Marilyn Monroe lived, Beverly Hills – house of the who’s who of Hollywood, Rodeo Drive – the most expensive shopping street in United States. Afterwards, enjoy an Indian Dinner.<br />
Overnight in Los Angeles.</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 10:</b> Los Angeles
								</p>
								<p class="aj">Experience Hollywood First Hand At the Universal Studio’s - the World of Movies, Magic and Illusions.<br />
after An American Breakfast Get Set to Become a Part of the Hollywood Magic as You Visit the Universal Studios Which Has Remained True to Its Roots of Immersing Guests in the Awe-inspiring World of Movie-making Magic, Providing Remarkable Access to Movie Sets On a Real Working Studio Lot. Take a Memorable Tour On Its Once Celebrated “glamour Trams” Which have Now Evolved to Become the World-famous Studio Tour. It is a Hallmark Attraction of An Authentic Movie and Television Studio Motivated Into that Elusive World By Three Compelling Words: Lights, Camera, Action. 2015 Will Introduce Two Spectacular Attractions Debuting as Part of the 50th Anniversary. “springfield” An Immersive Land Surrounding “the Simpsons Ride” and “fast & Furious—supercharged,” Based On the Blockbuster Film Series, Will Be Introduced as the Grand Finale to the Celebrated Studio Tour.<br />
enjoy the New Despicable Me Minion Mayhem Attraction and Transformers 3d Ride, 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’<br />
tonight Enjoy a Delicious Dinner At An Indian Restaurant.<br />
overnight in Los Angeles.</p>
								</td>
								</tr>
								</table>					
								</div><div id="show_more_content" style="display:none;">
									<div class="data">
									<table class="w100 formTable bdr0 imgWidth">
									<tr>
									<td class="p10px vat">
									<p class="b large mb5px"><b class="dif">Day 11:</b> Departure
									</p>
									<p class="aj">Holiday Ends Today and Its Time to Fly Back Home.<br />
we Trust Your Holiday Was Safe, Fun-filled and Memorable. We Would Love to Hear from You. Do Share Your Much Valued Suggestions with Us.</p>
									</td>	
									</tr>
									</table>				
									</div>					
							</div>							<p class="mt10px ac"><a class="buttonBig p5px10px dib b" id="more_button" href="javascript:topDestinationToggle('show_more_content','more_button');" >View More &#9660;</a></p>
													<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>MAP (Room + Breakfast + Lunch/Dinner)</li>
																		<li>Hotel</li>
																		<li>Meals</li>
																		<li>Sightseeing</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.justravels.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Usa East and West Cost 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="183541"/>
						</form>
						</div>
						
						";i:1;s:57:"Book Usa East and West Cost Tour - 111 Days Tour Packages";i:2;s:144:"book usa east and west cost tour - 111 days tour packages, adventure tour packages, washington, new york, las vegas, san francisco tour packages";i:3;s:178:"Book Usa East and West Cost Tour - 111 Days tour packages from Just Travel - Get attractive 111 Days Adventure  tour packages for  Washington, New York, Las Vegas, San Francisco.";i:4;s:699:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Washington, New York, Las Vegas, San Francisco"        
		                 },
		      "description": "Highlights

Your Tour at A Glance
- Value for money holidays that you will cherish for a lifetime.
- Visit all the major cities in 11 days: Washington D.C., New York, Niagara, Orlando, Bahamas Cruise, San Francisco, Fresno, Las Vegas and Los Angeles.",
		      "name": "Usa East and West Cost Tour",
		      "telephone": "+91-8878382228"
		    }
		    </script>
			";i:5;N;}