a:6:{i:0;s:22860:"				<section id="middle"><br />
				<div class="wrap packages" id="bodyFormatNT">
				<div class="row1 dt columns12"><!--MIDDLE ROW1 STARTS-->
				<div class="col-2 wideColumn ip ls"><!--MIDDLE ROW1 COL-2 STARTS-->				
									<div class="h1"><h1>Nanakmata Gurudwara Tour Package</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.uttarakhandtourandtravel.co.in/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.uttarakhandtourandtravel.co.in/travel-packages.htm" title="Travel Packages">Travel Packages</a>  			
											
					<b class="ffv p2px">&rsaquo;</b>Nanakmata Gurudwara Tour Package</p> 
									
						<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">
					
											<p class="mb5px"><b>Duration :</b> 
						1 Day 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Dehradun</p>
												<p class="mb5px"><b>Price (Starting From) :</b> <span class="dif">On Request</span></p>
												<br />
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.uttarakhandtourandtravel.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Nanakmata Gurudwara Tour Package - Tour Package"/>
						<input type="hidden" name="allocate_type" value="tour"/>
						<a href="#" onclick="document.getElementById('frmpackagedetail').submit();" class="buttonBig p10px20px c5px b large dib">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="128477"/>
						</form>
						
												</p>
											</td>
											<td class="p10px vat imgWidth200 w200px lh0">
						<div class="demo-wrap">
						<ul class="lsn m0px p0px" >
															<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc w200px h200px"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_14/413046/205844.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_14/413046/205844.jpg"  width="150" height="150"    alt="Nanakmata Gurudwara Tour Package" title="Nanakmata Gurudwara Tour Package" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
													<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Tour Detail</p>
								</div>
													
								Nanakmatta Gurudwara<br />
Uttarakhand Tourism The town of Nanakmatta is named after Gurdwara Nanakmatta. Nanakmatta is a historical Sikh shrine which is also known as Nanak Mata. It is situated between Khatima and Sitarganj on the Khatima - Panipat National Highway Uttarakhand. Guru Nanak Dev ji visited this sacred place during his 3rd udasi in 1514. At that time, this place was the abode of the Siddhas or Yogis who were the devotees of Guru Gorakhnath. The siddhas who lived here did not want the local people to become learned enough to challenge their superiority. Therefore, by using their occult powers, they successfully exploited the poor people. Guru ji taught the yogis the path of true meditation and salvation. Nanakmatta is visited by thousands of devotees every month.<br />
<br />
Doodh Wala Khuan<br />
Dhoodh Wala Kuan means Well of Milk. It is located near Gurudwara Nanak Matta Sahib. The yogis who inhabited this place had a large number of cows with them. Bhai Mardana expressed a desire for milk from Guruji. Guruji told him to ask the yogis for some milk as they were having large number of cows. The yogis refused to give him any milk and taunted him by telling him to get milk from his Guru. By virtue of his spiritual powers, Guru Sahib drew all the milk from the cows of the yogis and stored it in a well. This historic well is now constructed as Gurudwara Doodh Wala Kuan.<br />
<br />
Baoli Sahib<br />
It is situated on the banks of the Ghaghar River in the town of Nanakmatta near Nanak Sagar Dam. It is located at a distance of about 2km from Gurudwara Nanakmatta Sahib. The yogis, using magical powers dried up the water of this area. After doing so they challenged Guru Nanak Dev Ji to bring water here. Guru Nanak Dev ji instructed Bhai Mardana to pick up a spade and go to the nearby river. He told Bhai Mardana to drag the river behind him with the spade without seeing back. Bhai Mardana performed the activity that he was instructed and the river started to follow him as he dragged his spade over the ground. When he reached this place, Bhai Mardana looked back to see if the river was coming behind him. Immediately, the river stopped following him and stopped at this place. When the river stopped its flow, Guru ji asked the yogis to use their occult powers and move the river further. They realized their fault and fell at the feet of the Guru, accepting their defeat. A baoli was constructed here thereafter known as Baoli Sahib.<br />
<br />
Peepal Tree<br />
Guru Nanak Dev ji meditated under this dry pipal tree, which turned green due to the holy sangat of Guruji. The yogis were surprised to see him meditating at this place was quite inaccessible and especially during the winter months. The yogis were jealous of Guru Nanak Dev ji so in order to obstruct the meditation of him they tried to pull out the peepal tree with their occult powers. The roots of the tree started coming out from the earth's surface to fly in the air. Guruji then placed his hands on the roots of the Pipal tree, to avoid the tree from coming out completely. The roots of the pipal tree above the ground can be seen even today. A century after the Guru Nanak Dev Ji's visit Bhai Almast sahib came here. Yogis burnt this tree to take revenge from Bhai Almast. Bhai Almast Ji then called Guru Har Gobind Sahib Ji to take the possession of this place and to restore it as a Sikh shrine. Guru Ji sprinkled saffron on the pipal tree which came back to its full bloom.								</div>
								<br />
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Inclusions</p>
								</div>
												
								<ul>
																			<li>Meals</li>
																						<li>Sightseeing</li>
																			</ul>
								</div>
																<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Payments Terms</p>
								</div>
								
								<ul><li>* Some Advance Percentage of total booking amount 
* Airfare/Transport fare to be paid full at one time in advance.</li></ul>					
								</div>
														<div class="data mt20px p15px">            
						<div class="mb7px"> 
						<p class="b xlarge mb10px dib">Cancellation &amp; Refund Policy</p>
						</div>
								
						<ul><li>* 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.</li></ul>			
						</div>
										</div>
				<div class="col-3 thinColumn"><!--MIDDLE ROW1 COL-1 STARTS-->
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="h h2"><b class="plusMinus"></b>
				<p class="b dif rHead">Packages by City</p>
				</div>
				<div class="ic showHide_rp">
				<div class="mt10px">
									<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.uttarakhandtourandtravel.co.in/packages-in-new-delhi.htm" title="Packages in New Delhi">New Delhi</a> <b class="alpha50 bn small">(18)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.uttarakhandtourandtravel.co.in/packages-in-haridwar.htm" title="Packages in Haridwar">Haridwar</a> <b class="alpha50 bn small">(9)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.uttarakhandtourandtravel.co.in/packages-in-nainital.htm" title="Packages in Nainital">Nainital</a> <b class="alpha50 bn small">(8)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.uttarakhandtourandtravel.co.in/packages-in-almora.htm" title="Packages in Almora">Almora</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.uttarakhandtourandtravel.co.in/packages-in-kathgodam.htm" title="Packages in Kathgodam">Kathgodam</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.uttarakhandtourandtravel.co.in/packages-in-rishikesh.htm" title="Packages in Rishikesh">Rishikesh</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.uttarakhandtourandtravel.co.in/packages-in-rudraprayag.htm" title="Packages in Rudraprayag">Rudraprayag</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.uttarakhandtourandtravel.co.in/packages-in-pithoragarh.htm" title="Packages in Pithoragarh">Pithoragarh</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.uttarakhandtourandtravel.co.in/packages-in-chamoli.htm" title="Packages in Chamoli">Chamoli</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.uttarakhandtourandtravel.co.in/packages-in-uttarkashi.htm" title="Packages in Uttarkashi">Uttarkashi</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.uttarakhandtourandtravel.co.in/packages-in-badrinath.htm" title="Packages in Badrinath">Badrinath</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.uttarakhandtourandtravel.co.in/packages-in-bhimtal.htm" title="Packages in Bhimtal">Bhimtal</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.uttarakhandtourandtravel.co.in/packages-in-ranikhet.htm" title="Packages in Ranikhet">Ranikhet</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.uttarakhandtourandtravel.co.in/packages-in-mussoorie.htm" title="Packages in Mussoorie">Mussoorie</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.uttarakhandtourandtravel.co.in/packages-in-dehradun.htm" title="Packages in Dehradun">Dehradun</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.uttarakhandtourandtravel.co.in/packages-in-kedarnath.htm" title="Packages in Kedarnath">Kedarnath</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.uttarakhandtourandtravel.co.in/packages-in-bageshwar.htm" title="Packages in Bageshwar">Bageshwar</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.uttarakhandtourandtravel.co.in/packages-in-kumaon.htm" title="Packages in Kumaon">Kumaon</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.uttarakhandtourandtravel.co.in/packages-in-kangra.htm" title="Packages in Kangra">Kangra</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.uttarakhandtourandtravel.co.in/packages-in-dharamshala.htm" title="Packages in Dharamshala">Dharamshala</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.uttarakhandtourandtravel.co.in/packages-in-corbett.htm" title="Packages in Corbett">Corbett</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.uttarakhandtourandtravel.co.in/packages-in-dalhousie.htm" title="Packages in Dalhousie">Dalhousie</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.uttarakhandtourandtravel.co.in/packages-in-kausani.htm" title="Packages in Kausani">Kausani</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.uttarakhandtourandtravel.co.in/packages-in-bilaspur.htm" title="Packages in Bilaspur">Bilaspur</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.uttarakhandtourandtravel.co.in/packages-in-pokhara.htm" title="Packages in Pokhara">Pokhara</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.uttarakhandtourandtravel.co.in/packages-in-yamunotri.htm" title="Packages in Yamunotri">Yamunotri</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.uttarakhandtourandtravel.co.in/packages-in-barkot.htm" title="Packages in Barkot">Barkot</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.uttarakhandtourandtravel.co.in/packages-in-ramnagar.htm" title="Packages in Ramnagar">Ramnagar</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.uttarakhandtourandtravel.co.in/packages-in-mukteshwar.htm" title="Packages in Mukteshwar">Mukteshwar</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.uttarakhandtourandtravel.co.in/packages-in-manali.htm" title="Packages in Manali">Manali</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="uu db ar"><a class="showallspan" data-target="show" href="javascript:void(0)" >View More</a></span>
										
				</div>
				</div>
				</div>
				</div>
				
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="h h2"><b class="plusMinus"></b>
				<p class="b dif rHead">Packages by Category</p>
				</div>
				<div class="ic showHide_rp">
				<div class="mt10px">
									<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.uttarakhandtourandtravel.co.in/religious-pilgrimage-holidays-catid.htm" title="Religious & Pilgrimage Packages">Religious & Pilgrimage</a> <b class="alpha50 bn small">(25)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.uttarakhandtourandtravel.co.in/wildlife-nature-holidays-catid.htm" title="Wildlife and Nature Packages">Wildlife and Nature</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.uttarakhandtourandtravel.co.in/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(21)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.uttarakhandtourandtravel.co.in/heritage-holidays-catid.htm" title="Heritage Packages">Heritage</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.uttarakhandtourandtravel.co.in/valley-holidays-catid.htm" title="Valley Packages">Valley</a> <b class="alpha50 bn small">(15)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.uttarakhandtourandtravel.co.in/lakes-rivers-holidays-catid.htm" title="Lakes & Rivers Packages">Lakes & Rivers</a> <b class="alpha50 bn small">(8)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.uttarakhandtourandtravel.co.in/adventure-holidays-catid.htm" title="Adventure Packages">Adventure</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.uttarakhandtourandtravel.co.in/trekking-holidays-catid.htm" title="Trekking Packages">Trekking</a> <b class="alpha50 bn small">(4)</b></span>
						
				</div>
				</div>
				</div>
				</div>
				
				
				</div>
				</div>
				
										<br />
						<div class="row1"> 
						<div class="col-1"> 
						<div class="mt30px">
						<p class="xxlarge b pb10px bdrB db"> Similar Tour Packages for Dehradun</p>
						</div>
						<br/>
						<div class="cf_3img">
						<ul class="lsn m0px p0px fo idv_eqheight cols_similar">
											
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.uttarakhandtourandtravel.co.in/tour-packages/dehradun-trip-package.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_14/413046/205828.jpg"  alt="Dehradun Trip Package" title="Dehradun Trip Package"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.uttarakhandtourandtravel.co.in/tour-packages/dehradun-trip-package.htm" title="Dehradun Trip Package"><h3>Dehradun Trip Package</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								4 Nights / 5 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  New Delhi, Mussoorie, Dehradun</p>
															<div class="mt10px small">
							<form name="pkg_128460" id="pkg_128460" method="post" action="http://www.uttarakhandtourandtravel.co.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.uttarakhandtourandtravel.co.in/tour-packages/dehradun-trip-package.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Dehradun Trip Package - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="128460"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.uttarakhandtourandtravel.co.in/tour-packages/haridwar-dehradun-mussoorie-package.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_14/413046/205839.jpg"  alt="Haridwar - Dehradun - Mussoorie Package" title="Haridwar - Dehradun - Mussoorie Package"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.uttarakhandtourandtravel.co.in/tour-packages/haridwar-dehradun-mussoorie-package.htm" title="Haridwar - Dehradun - Mussoorie Package"><h3>Haridwar - Dehradun - Mussoorie Package</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								5 Nights / 6 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Mussoorie, Haridwar, Dehradun</p>
															<div class="mt10px small">
							<form name="pkg_128472" id="pkg_128472" method="post" action="http://www.uttarakhandtourandtravel.co.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.uttarakhandtourandtravel.co.in/tour-packages/haridwar-dehradun-mussoorie-package.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Haridwar - Dehradun - Mussoorie Package - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="128472"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
															
						</ul>
						</div>
						</div> 		  
						<br>
						</div>  
						<br />
										
				</div>
				</section>
				
				<script>
					window.addEventListener("DOMContentLoaded", function(){
						jQuery(document).on("click", ".showallspan", function(){
							if(jQuery(this).attr("data-target") === 'show'){
								jQuery(this).text("View Less");
								jQuery(this).attr("data-target", "hide");
								jQuery(this).closest("div").find(".spanlist").removeClass("dn");
							}else{
								jQuery(this).text("View More");
								jQuery(this).attr("data-target", "show");
								jQuery(this).closest("div").find(".spanlist").addClass("dn");
							}
						});
					});
				</script>
				";i:1;s:60:"Book Nanakmata Gurudwara Tour Package - 1 Days Tour Packages";i:2;s:122:"book nanakmata gurudwara tour package - 1 days tour packages, religious & pilgrimage tour packages, dehradun tour packages";i:3;s:168:"Book Nanakmata Gurudwara Tour Package - 1 Days tour packages from Uttarakhand Tour & Travel - Get attractive 1 Days Religious & Pilgrimage  tour packages for  Dehradun.";i:4;s:3855:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Dehradun"        
		                 },
		      "description": "Nanakmatta Gurudwara
Uttarakhand Tourism The town of Nanakmatta is named after Gurdwara Nanakmatta. Nanakmatta is a historical Sikh shrine which is also known as Nanak Mata. It is situated between Khatima and Sitarganj on the Khatima - Panipat National Highway Uttarakhand. Guru Nanak Dev ji visited this sacred place during his 3rd udasi in 1514. At that time, this place was the abode of the Siddhas or Yogis who were the devotees of Guru Gorakhnath. The siddhas who lived here did not want the local people to become learned enough to challenge their superiority. Therefore, by using their occult powers, they successfully exploited the poor people. Guru ji taught the yogis the path of true meditation and salvation. Nanakmatta is visited by thousands of devotees every month.

Doodh Wala Khuan
Dhoodh Wala Kuan means Well of Milk. It is located near Gurudwara Nanak Matta Sahib. The yogis who inhabited this place had a large number of cows with them. Bhai Mardana expressed a desire for milk from Guruji. Guruji told him to ask the yogis for some milk as they were having large number of cows. The yogis refused to give him any milk and taunted him by telling him to get milk from his Guru. By virtue of his spiritual powers, Guru Sahib drew all the milk from the cows of the yogis and stored it in a well. This historic well is now constructed as Gurudwara Doodh Wala Kuan.

Baoli Sahib
It is situated on the banks of the Ghaghar River in the town of Nanakmatta near Nanak Sagar Dam. It is located at a distance of about 2km from Gurudwara Nanakmatta Sahib. The yogis, using magical powers dried up the water of this area. After doing so they challenged Guru Nanak Dev Ji to bring water here. Guru Nanak Dev ji instructed Bhai Mardana to pick up a spade and go to the nearby river. He told Bhai Mardana to drag the river behind him with the spade without seeing back. Bhai Mardana performed the activity that he was instructed and the river started to follow him as he dragged his spade over the ground. When he reached this place, Bhai Mardana looked back to see if the river was coming behind him. Immediately, the river stopped following him and stopped at this place. When the river stopped its flow, Guru ji asked the yogis to use their occult powers and move the river further. They realized their fault and fell at the feet of the Guru, accepting their defeat. A baoli was constructed here thereafter known as Baoli Sahib.

Peepal Tree
Guru Nanak Dev ji meditated under this dry pipal tree, which turned green due to the holy sangat of Guruji. The yogis were surprised to see him meditating at this place was quite inaccessible and especially during the winter months. The yogis were jealous of Guru Nanak Dev ji so in order to obstruct the meditation of him they tried to pull out the peepal tree with their occult powers. The roots of the tree started coming out from the earth's surface to fly in the air. Guruji then placed his hands on the roots of the Pipal tree, to avoid the tree from coming out completely. The roots of the pipal tree above the ground can be seen even today. A century after the Guru Nanak Dev Ji's visit Bhai Almast sahib came here. Yogis burnt this tree to take revenge from Bhai Almast. Bhai Almast Ji then called Guru Har Gobind Sahib Ji to take the possession of this place and to restore it as a Sikh shrine. Guru Ji sprinkled saffron on the pipal tree which came back to its full bloom.",
		      "name": "Nanakmata Gurudwara Tour Package",
		      "telephone": "+91-6397143801"
		    }
		    </script>
			";i:5;N;}