a:6:{i:0;s:16372:"				<div class="h1"><h1>Punjab Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.northindiatravel.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.northindiatravel.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Punjab 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">
						6 Nights / 7 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Chandigarh, Amritsar, Jalandhar, Ludhiana, Patiala, Pathankot</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.northindiatravel.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Punjab 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="42990"/>
						</form>
						</p>
						</td>
						</tr>
											</table>
					</td>
											<td class="p10px vat imgWidth150 w150px lh0">
						<div class="demo-wrap">
						<ul class="lsn m0px p0px" id="detailslider1">
															<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_11/307359/85221.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_11/307359/85221.jpg"  width="150" height="150"    alt="Night View Anadpur Sahib" title="Night View Anadpur Sahib" /></a></p></div></li>
																		<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_11/307359/85220.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_11/307359/85220.jpg"  width="150" height="150"    alt="Punjab Tour" title="Punjab 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> Chandigarh
								</p>
								<p class="aj">Pickup Chandigarh Station /Airport and move Hotel After Fresh See Some Side Seen ,visit to Sukhna Lake that lies in the foothills of shivalik range. People visit in the morning to enjoy fresh breeze. It serves as a picnic spot and good place for water activities.<br />
Night Chandigarh.</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> Chandigarh Local
								</p>
								<p class="aj">Start your city tour with Rock Garden which consist of various arts and objects made of industrial and urban waste. It is situated in sector-1. The credit of its foundation goes to Dr Nek Chand who was the road inspector in the Engineering department of Chandigarh. After that visit Rose Garden which is Asia's largest rose garden. It contains more than 17,000 plants and over 16,000 varieties of roses. The venue serves annual rose festival or festival of gardens. In the evening enjoy shopping in sector 17 market. Back to hotel, overnight stay in Chandigarh 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> Chandigarh to Anandpur sahib to pathankot
								</p>
								<p class="aj">morning check out hotel, and move Anandpur sahib ,,,drive to Anandpur Sahib from Chandigarh. It is one of the most important sacred places of the Sikhs and is closely linked with their religious tradition and history. It was founded in the year 1664 by ninth guru, Sri Guru Teg Bahadur ji. The Guru purchased this site from the ruler of Bilaspur. After that visit Sri Kesgarh Sahib, it is located in the centre of Anandpur Sahib. It is also known as Takht Sri Kesgarh Sahib. It was the place where Khalsa was born. Than proceeding t Bhakra Nangal Dam. It is the world's second highest straight gravity dam built across the River Satluj. Dam derives its name from a village called Bhakra, now it is submerged in Gobind sagar reservoir. Overnight Stay at Pathankot</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> Jalandhar-Ludhiana - Patiala
								</p>
								<p class="aj">Morning drive to Jalandhar your city tour with Pushpa Gujral Science<br />
City is being built with its aim of learning, fun & amusement out of<br />
Science for people of all ages & all walks of life. It will arouse<br />
creativity in young minds; help in building a scientific temper in the<br />
state, Gurdwara Chhevin Padshahi Guru Hargobind visited the city of<br />
Jalandhar during his tour of Doaba area. Gurdwara Chhevin Padshahi in<br />
Basti Shaikh, Jalandhar city, stands on the spot where Guruji granted<br />
interview to a Muslim holy saint popularly known as Shaikh Darvesh, Devi<br />
Talab Mandir It is situated in the heart of Jalandhar City...........<br />
than move Ludhiana  visit Sri Dukh Niwaran Sahib is though not a<br />
Historic Place, still doing very well in Spreading Sikh Guru's Message<br />
to All Over. Ludhiana is an industrial town, but it is having few places<br />
for Tourist interest also. Whoever comes here has never gone back<br />
without imbibing the essence of Punjab. Later drive to Patiala on<br />
Arrival in Patiala check in hotel. Start your tour Qila Mubarak Complex<br />
The Qila Mubarak complex stands in 10-acre ground in the heart of the<br />
city, and contains the main palace or Qila Androon (literally,'inner<br />
fort'), the guesthouse or Ran Baas and the Darbar Hall. Sheesh Mahal was<br />
built behind the main Moti Bagh Palace to serve as a pleasure<br />
complex.The paintings in two of its well maintained, mirror-worked<br />
chambers are of Kangra and Rajasthani qalam, depicting the poetic<br />
visions of Keshav, Surdas and Bihari.<br />
                                                     Night Pathankot<br />
</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> Pathankot to Batsahib - Mansar lakh - Shivkhori
								</p>
								<p class="aj">Morning Move Batsahib Gurudwara Shri Barth Sahib Is Situated In Village Barth, Teh And Distt Pathankot. Baba Shri Chand Ji Son Of Shri Guru Nanak Dev Ji Spend Long Time Here Meditating. Baba Kamlya Ji Disciple Of Baba Shri Chand Ji Went To Amritsar To Meet Shri Guru Ramdas Sahib Ji. Guru Sahib Came To Forward To Welcome Baba Ji, Made To Him To Sit On His Own Seat And Presented A Horse And 500 Rs As Respect. After Some Time Baba Shri Chand Ji Send Baba Kamlya Ji To Invite Shri Guru Arjan Dev Sahib Ji To Barth. When Shri Guru Arjan Dev Ji Came Here Baba Shri Chand Ji Was Meditating. Guru Sahib Kept Waiting For Baba Ji To Complete His Meditation. Guru Sahib Stayed Here Nearby For Six Months. Daily Guru Sahib Used To Come Here(Kept Standing At The Place Where Pillar Is Situated). Finally When Baba Shri Chand Ji Got Up From Meditation Guru Sahib Had Discussions With Him. Shri Guru Hargobind Sahib Ji Also Came Here To Meet Baba Shri Chand Ji. Baba Ji Asked Guru Sahib, Will Keep All Your Sons On Your Way (Teachings) Or Will Give Any Son To Him Also (For Udaasi Teachings). Guru Sahib Asked Baba Gurditta Ji To Stay There And Follow Baba Shri Chand Ji'S Following. To Help Followers Baba Ji Got A Well Dug Here. Now Srovar Sahib Is Situated On The Both The Sides Of Well.,,,After Visit Batsahib Move Mansar Lakh ,,The History Of Mansar And Surinsar Goes Back To The Time Of Mahabhartata. Babar Vahan, Son Of Arjun And Ulpi (Daughter Of King Nag), Was Ruling This Area During Mahabhartata. After The War Of The Mahabhartata Arjun Performed "Ashwamegh Yagya" To Prove His Supriority Over The Land. The Horse (Used As Sign Of Power For Ashwamegh Yagya) Was Captured By Babar Vahan At Village 'Khoon' Nearby Village Ramkot On Dhar Udhampur Road Where Arjun Was Killed By Babar Vahan. With Joy Of Victory, Babar Vahan Presented The Head Of Arjun To His Mother Ulpi. She Told Him That He Has Killed His Father. To Make Arjun Alive Again, Mani From Sheshnag Was Required. Hence Babar Vahan Made A Surang Through His Arrow And Formed Surangsar Which Is Now Named As Surinsar. After Defeating Sheshnag And Capturing Mani, Babar Vahan Came Out At Manisar Later On Known As Mansar.Lake Mansarovar. On The Eastern Bank Of The Lake There Is A Shrine To Sheshnag, A Mythological Snake With Six Heads. The Shrine Comprises A Big Boulder On Which Are Placed A Number Of Iron Chains Perhaps Representing The Small Serpents Waiting On The Tutelary Deity Of The Sheshnag. Two Ancient Temples Of Umapati Mahadev & Narsimha As Also A Temple Of Durga Are Situated In The Vicinity Of The Mansar Lake. People Take A Holy Dip In The Water Of The Lake On Festive Occasions.With All Religions Belief And Heritage Behind The Mansar Lake Is Also Picking Up Its Fame Among The Tourists With All Its Flora & Fauna. The Lake Has Cemented Path All Around With Required Illumination, With Projected View Decks To Enjoy Flickering Of Seasonal Birds, Tortoise And Fishes Of Different Species. There Is A Wild Life Sanctuary Housing Jungle Life Like Spotted Deer, Neelgai Etc. Besides Other Water Birds Such As Cranes, Ducks Etc. One Can Also Witness The Traditional And Typical Distinct Life Style Of Gujjar And Backarwals Wearing Ethnic Costume, Living In Open Kullhas Around On The Hills Of Mansar Lake.Than Move Shiv Khori Khori Means Cave (Guffa) And Shiv Khori Thus Denotes Shiva'S Cave. This Natural Cave Is About 200 Metres Long, One Metre Wide And Two To Three Metres High And Contains A Self Made Lingam, Which According To The People Is Unending. The First Entrance Of The Cave Is So Wide That 300 Devotees Can Be Accommodated At A Time. Its Cavern Is Spacious To Accommodate Large Number Of People. The Inner Chamber Of The Cave Is Smaller. The Passage From Outer To The Inner Chamber Is Low And Small, At One Spot It Divides Itself Into Two Parts. One Of These Is Believed To Have Led To Kashmir Where Swami Amarnath[Disambiguation Needed] Cave Is Located. It Is Now Closed As Some Sadhus Who Dared To Go Ahead Never Returned.[Citation Needed] To Reach The Sanctum Sanctorum, One Has To Stoop Low, Crawl Or Adjust His Body Sideward. Inside A Naturally Created Image Of Lord Shiva, About 4 Metres High, Is Visible. The Cave Abounds With A Number Of Other Natural Objects Having Resemblance With Goddess Parvati, Ganesha And Nandigan. The Cave Roof Is Etched With Snake Formations, The Water Trickles Through These On Shiva Lingam. Pigeons Are Also Seen Here Like Swami Amar Nath Cave Which Presents Good Omens For Pilgrimag,,After Visit Shiv Khori Back Pathankot.<br />
Night Pathankot.</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> Pathankot To Amritsar
								</p>
								<p class="aj">Morning Check Out Hotel ,,,,and Move Amritsar after fresh, Start your city tour with the blessings of Golden Temple-the most important Sikh shrine also known as Harimandir Sahib and Darbar Sahib. Then visit Jallianwala Bagh- the place that reminds every Indian of the brutal and hearless massacre by British general Dyer. Evening visit Indo-Pak Wagah Border to watch Flag Retreat Ceremony- Wagah, an army outpost on Indo-Pak border 30 Kms from Amritsar where the daily highlight is the evening "Beating the Retreat" ceremony. Soldiers from both countries march in perfect drill, going through the steps of bringing down their respective national flags. see night view Golden Temple.<br />
Night Amritsar 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 7:</b> Local Amritsar and Back Drop
								</p>
								<p class="aj">Morning Checkout Hotel, Visit Durgiana Temple: - The temple complex houses Shree Laxmi Narayan Mandir with a huge pond on its periphery .Maharaja Ranjit Singh Museum and Panorama in Ram Bagh The landscaped garden with summer palace of Maharaja Ranjit Singh in the center. The Maharaja later named it Ram Bagh. It has a museum with relics of Mughal era and hand drawn sketches and portraits of the ruling Sikhs. and Back Drop Amritsar</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.northindiatravel.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Punjab 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="42990"/>
						</form>
						</div>
						
						";i:1;s:50:"Book Punjab Tour - 6 Nights / 7 Days Tour Packages";i:2;s:160:"book punjab tour - 6 nights / 7 days tour packages, forts and palaces tour packages, chandigarh, amritsar, jalandhar, ludhiana, patiala, pathankot tour packages";i:3;s:192:"MD Tour Travels offers Punjab Tour - 6 Nights / 7 Days tour package, budget Forts and Palaces tour packages for Chandigarh, Amritsar, Jalandhar, Ludhiana, Patiala, Pathankot at exciting price.";i:4;s:444:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Chandigarh, Amritsar, Jalandhar, Ludhiana, Patiala, Pathankot"        
		                 },
		      "description": "",
		      "name": "Punjab Tour",
		      "telephone": "+91-9646469331"
		    }
		    </script>
			";i:5;N;}