a:6:{i:0;s:16869:"				<div class="h1"><h1>USA 13N / 14D Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.travelect.co.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.travelect.co.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>USA 13N / 14D 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">
						13 Nights / 14 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Washington, New York, Las Vegas, Los Angeles, Orlando, 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.travelect.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="USA 13N / 14D 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="56049"/>
						</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_12/333350/107069.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_12/333350/107069.jpg"  width="150" height="150"    alt="USA 13N / 14D Tour" title="USA 13N / 14D 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> Arrive In New York
								</p>
								<p class="aj">Arrive at John F Kennedy or New Ark Airport. On arrival, you will be met by a representative. Arrive and check-in to Hotel Hilton Has Brouck or a hotel of similar standard. Enjoy lunch on your own and Indian dinner at a local restaurant. Enjoy a comfortable overnight stay at the hotel.</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> New York
								</p>
								<p class="aj">After a hearty breakfast at the hotel, proceed for Statue of Liberty. A ferry boat will take you to Liberty Island and Ellis Island. After that, proceed for guided City Tour of NYC Visit the Time Square, Trump Towers, Ground Zero, China Town, Rockefeller center, Madison Square, Central Park. Enjoy lunch on your own & Indian dinner at a local restaurant. Enjoy a comfortable overnight stay at the hotel.</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 - Niagara Falls - 417 Miles / 671 Km
								</p>
								<p class="aj">After early breakfast at the hotel, check out and proceed to Niagara Falls (Approx. 7 hours’ drive).<br />
En route, enjoy lunch on your own. Arrive and check-in to Hotel Byblows Resort or a hotel of similar standard. Enjoy lunch on your own and Indian dinner at a local restaurant. Enjoy a comfortable overnight stay at the hotel.</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> Buffalo - Hershey's Chocolate World
								</p>
								<p class="aj">After early breakfast at the hotel, check out and proceed to Hershey, PA (Approx. 5 Hours 15 Minutes’ drive). En-route visit the exciting Maid of the Mist boat ride and then enjoy Cave of the Winds up close to the falls. Visit Hershey’s Chocolate World. Enjoy Hershey’s Great American Chocolate Tour Ride. 3D Show & Chocolate Tasting Adventure (Tickets not included of 3D show & Tasting Adventure). Proceed to Washington DC (Approx. 3 Hours’ drive).Transfer to hotel and check-in to the Hotel Embassy Suites or a hotel of similar standard.Enjoy lunch on your own and Indian dinner at a local restaurant.Enjoy a comfortable overnight stay at the hotel.</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> Washington DC - City Tour - Orlando
								</p>
								<p class="aj">Enjoy breakfast at the hotel and check-out of the hotel. Proceed for Guided City Tour of Washington DC - The city tour covers Washington's major attractions such as the Lincoln Memorial, Georgetown, Washington National Cathedral, the White House, Pentagon Building from outside, Supreme Court, Lincoln Memorial, Vietnam Veteran's Memorials and the Smithsonian Air and Space Museum. Enjoy lunch on your own. By evening, proceed to Washington Airport for your flight to Orlando. Arrive in Orlando, transfer and check in to the hotel Crowne Plaza Downtown a hotel of similar standard. In the evening, enjoy Indian dinner at a local restaurant. Enjoy a comfortable overnight stay at the hotel.</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> Orlando - Magic Kingdom
								</p>
								<p class="aj">Enjoy a hearty breakfast at the hotel. Take Shuttle to the Disney World and hop to the happiest land, the Magic Kingdom, where the legend of Mickey Mouse begins. [Park transfers will be by shuttle - confirm timing with front desk] Magic Kingdom is spread over 107 acres and leads to these 5 whimsical lands: Adventure land, Frontier land, Liberty Square, Fantasyland, and Tomorrow land, Rides - Space Mountain, Splash Mountain, Big thunder Mountain Railroad. Continuous slow ride- Haunted Mansion, It’s a small world, The barnstormer, Jungle cruise, Peter Pan flight, Pirates of Caribbean and the 9 PM Electrical Parade (If you opt to stay for Firework show, private transfer cost approx. $30 per person (min 2 pax). Enjoy lunch on your own in the theme park. In the evening, enjoy Indian dinner at a local restaurant. Return to the hotel and enjoy a comfortable overnight stay.</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> Orlando - Magic Kingdom
								</p>
								<p class="aj">Enjoy a hearty breakfast at the hotel. Take a shuttle to the Sea World. Enjoy rides like Manta, Journey to Atlantis, Kraken, Jazzy Jellies, Sky Tower, wild Artic Ride. Shows - Alure the Call of the Ocean, Blue Horizons, Clyde and Seamore Take Pirate Island, One Ocean, Pets Ahoy (timings 9 am - 10 pm), Shamu whale show, Blue Horizons Dolphin Show, Clyde and Seamore Sea Lion Show, A'Lure, the Call of the Ocean acrobatic show, Pets Ahoy trained pet show: Rides- Kraken roller coaster: Manta roller coaster: Journey into Atlantis ride, Wild Arctic Adventure: Sky Tower: shipwreck rapids ride, World of the sea aquarium, sea lion show, penguin and shark encounter.<br />
Enjoy a hearty lunch on your own. Late afternoon, head to outlet malls. Enjoy shopping! In the evening, enjoy Indian dinner at a local restaurant. Return to the hotel and enjoy a comfortable overnight stay.</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> Orlando - Universal Studio
								</p>
								<p class="aj">Enjoy a hearty breakfast at the hotel. Take Shuttle to the Universal Studio. Like Universal Studios in Hollywood, Orlando's Universal Studios is a combination working movie studio and theme park. What this means essentially is that you can admire stars from afar and live vicariously through them. Some of the best attractions for reliving the experience include Terminator 2: 3D, a spectacular 3D simulator experience where you get to be Arnold; Back to the Future, which has phenomenal special effects; and Earthquake - The Big One, which is known to hit 8.3 on the Richter scale. Popular shows include the Animal Actors, Dynamite Nights Stuntacular, Ghostbusters and the Gory Gruesome & Grotesque Horror Makeup Show. The Hitchcock 3D Theater is a tribute to the master of suspense. In the evening, enjoy Indian dinner at a local restaurant.<br />
Breakfast Dinner</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> Orlando - Las Vegas
								</p>
								<p class="aj">Enjoy a hearty breakfast at the hotel. Check out of the hotel and proceed to Orlando airport for your flight to Las Vegas. Arrive in Las Vegas, transfer to the hotel & check-in at Hotel Luxor or a hotel of similar standard. The day is free to spend at leisure. Enjoy lunch on your own.In the evening, enjoy Indian dinner at a local restaurant. Enjoy a comfortable overnight stay at the hotel.</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> Las Vegas
								</p>
								<p class="aj">Las Vegas Las Vegas<br />
Enjoy a hearty breakfast at the hotel. The day is free to spend at leisure. Optional: Day trip to Grand Canyon. Enjoy lunch on your own. In the evening, enjoy Indian dinner at a local restaurant. Return to the hotel for a comfortable overnight stay.</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> Las Vegas - Los Angeles Distance: 229 Miles/ 368 Km/4 ½ Hours
									</p>
									<p class="aj">Enjoy a hearty breakfast at the hotel. Check out of the hotel and proceed to Los Angeles.<br />
After having lunch on your own, proceed for a guided City Tour of Los Angeles. Santa Monica beach, Venice Beach, Malibu beach, Chinese Theatre, Kodak Theatre, Farmers Market, Rodeo Drive, Beverly Hills. Check into Hotel Radisson or a hotel of similar standard.In the evening, enjoy Indian dinner at a local restaurant. Return to the hotel for a comfortable overnight stay.</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 12:</b> Los Angeles - San Francisco - 381 Miles / 613 Km
									</p>
									<p class="aj">After an early breakfast at the hotel, check-out and proceed to San Francisco (7 hours drive).<br />
En route, have lunch on your own. Arrive in San Francisco and check into the Hotel Holiday Inn San Mateo or a hotel of similar standard.In the evening, enjoy Indian dinner at a local restaurant.<br />
Return to the hotel for a comfortable overnight stay.</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 13:</b> San Francisco
									</p>
									<p class="aj">Enjoy a hearty breakfast at the hotel. Proceed for Bay Cruise – an exciting cruise of the bay that whizzes past historical and breath-taking sights such as the Golden Gate bridge, Alcatraz Island, Downtown, Marina etc. Have a sumptuous lunch on your own. In the afternoon, proceed for a Guided City tour of San Francisco– Visit the famous landmarks of the city including fisherman’s wharf, Nob hill, Financial district, Twin Peaks, Lombard street, china town, Golden Gate Bridge park, Civic Center, Alamo Square, and Union Square. In the evening, enjoy Indian dinner at a local restaurant. Return to the hotel for a comfortable overnight stay.</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 14:</b> San Francisco - Departure
									</p>
									<p class="aj">Enjoy a hearty breakfast at the hotel. Check out of the hotel before 11 am and proceed to the airport by shuttle to board your departure flight.</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>Hotel</li>
																		<li>Transfers</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.travelect.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="USA 13N / 14D 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="56049"/>
						</form>
						</div>
						
						";i:1;s:59:"Book USA 13N / 14D Tour - 13 Nights / 14 Days Tour Packages";i:2;s:176:"book usa 13n / 14d tour - 13 nights / 14 days tour packages, forts and palaces tour packages, washington, new york, las vegas, los angeles, orlando, san francisco tour packages";i:3;s:234:"Book USA 13N / 14D Tour - 13 Nights / 14 Days tour packages from El Travel Elect Pvt. Ltd - Get attractive 13 Nights / 14 Days Forts and Palaces  tour packages for  Washington, New York, Las Vegas, Los Angeles, Orlando, San Francisco.";i:4;s:458:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Washington, New York, Las Vegas, Los Angeles, Orlando, San Francisco"        
		                 },
		      "description": "",
		      "name": "USA 13N / 14D Tour",
		      "telephone": "+91-9225503370"
		    }
		    </script>
			";i:5;N;}