a:6:{i:0;s:10743:"				<div class="h1"><h1>New York, Nigara Falls with Washington DC Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.mytravoholidays.com/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.mytravoholidays.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>New York, Nigara Falls with Washington DC 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">
						7 Nights / 8 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Washington, New York</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.mytravoholidays.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="New York, Nigara Falls with Washington DC 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="116872"/>
						</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_10/286827/190042.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_10/286827/190042.jpg"  width="150" height="150"    alt="New York, Nigara Falls with Washington DC Tour" title="New York, Nigara Falls with Washington DC 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> New York City
								</p>
								<p class="aj">After reaching the airport in New York City, meet our representative who’ll escort you to one of our listed hotels. Check-in at the hotel to relax in the cozy comfort of its room. Spend the entire day at leisure. In the evening take a leisurely walk for the independent exploring of the town.</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 City
								</p>
								<p class="aj">Next morning after breakfast, embark to explore the New York City nicknamed as ‘BIG APPLE’. The city is one of the most exciting cities of the world that features a lively atmosphere along with fascinating sights and great shops. The prime tourist attractions of New York City include Broadway, Greenwich Village, City Hall, The Empire State Building, Bustling Chinatown, Wall Street and Trinity Church. In the evening enjoy a lavish dinner in a fine restaurant present in the city along with enjoying famous Broadway Show.</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 City–Corning–Niagara Falls
								</p>
								<p class="aj">Next morning, depart to Manhattan and while crossing New Jersey traversing the Pocono Mountain land into Upstate New York finally arriving Corning in the afternoon. Later in the afternoon, cross the border using the Rainbow Bridge, proceeding to the Canadian side of the Niagara Rivers in the Province of Ontario. Enjoy a comfortable night stay in Niagara Falls.</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 Falls
								</p>
								<p class="aj">On the following day enjoy a sightseeing tour to the Niagara Falls to behold the view of this spectacular fall. Spend afternoon at leisure you may board the “People Mover” to visit the prime attractions like Great Gorge Adventure, Niagara Parks Greenhouse, Butterfly Conservatory, Botanical Gardens or you may enjoy the aerial cable car ride. NOTE:<br />
<br />
It is to be taken as a note that operation of the Maid of the Mist cruise is significantly subjected to the favorable weather and/or river conditions. During the bad weather conditions a walking tour through the scenic tunnels will be substituted.</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> Niagara Falls–Philadelphia
								</p>
								<p class="aj">In the morning after breakfast, head to southeast crossing the Appalachian Mountains and finally landing in the Susquehanna River valley. After exploring the place for a while leave for the beautiful city of Philadelphia for a sumptuous dinner and 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 6:</b> Philadelphia–Washington DC Area
								</p>
								<p class="aj">The “City of Brotherly Love” Philadelphia is the birthplace of American independence. Today the tour to the city will make you visit the historical landmarks. Later after the visit, leave for Washington DC the capital and the seat of Government. After reaching Washington DC, check-in at one of our listed hotels. Later in the evening you may go for an optional outing featuring dinner and visiting the prime monuments and memorials placed in and around the city.</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> Washington DC Area
								</p>
								<p class="aj">Today after breakfast, set off  for a half day guided tour to various tourist destinations like Vietnam, The Korean, Arlington National cemetery, National WWII and the other prime sights. Indulge in a photo op around the White House and Capitol Hill. Enjoy a leisurely afternoon. In the later part of the day engage yourself in independent activities suggested by the tour director.</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> Washington DC
								</p>
								<p class="aj">In the morning after breakfast, the guests can head off on their Individual schedules. The transfer to Reagan and Dulles international airports are included within the trip. For the guests who are willing to extend their vacations along with extra nights and explore the Washington DC further. If you intend to return to New York City, then board the Motorcoach to get transferred to the Newark International airport.</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>
																		<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.mytravoholidays.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="New York, Nigara Falls with Washington DC 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="116872"/>
						</form>
						</div>
						
						";i:1;s:85:"Book New York, Nigara Falls with Washington DC Tour - 7 Nights / 8 Days Tour Packages";i:2;s:154:"book new york, nigara falls with washington dc tour - 7 nights / 8 days tour packages, forts and palaces tour packages, washington, new york tour packages";i:3;s:209:"Book New York, Nigara Falls with Washington DC Tour - 7 Nights / 8 Days tour packages from My Travo Tours Solution - Get attractive 7 Nights / 8 Days Forts and Palaces  tour packages for  Washington, New York.";i:4;s:438:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Washington, New York"        
		                 },
		      "description": "",
		      "name": "New York, Nigara Falls with Washington DC Tour",
		      "telephone": "+91-9717748667"
		    }
		    </script>
			";i:5;N;}