a:6:{i:0;s:13753:"				<div class="h1"><h1>Chandigarh - Amritsar Tour With 6 Adults</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.tanishhimachaltours.com/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.tanishhimachaltours.com/travel-packages.htm" title="Travel Packages">Travel Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Chandigarh - Amritsar Tour With 6 Adults</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 City, Amritsar, Ludhiana</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Price (Starting From) </td>
						<td class="p5px pl0px vat">
						INR 22200 Per Person						</td>
						</tr>
												<tr>
						<td></td>
						<td>
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.tanishhimachaltours.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Chandigarh - Amritsar Tour With 6 Adults - 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="128035"/>
						</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/438757/205176.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_15/438757/205176.jpg"  width="150" height="150"    alt="Chandigarh - Amritsar Tour With 6 Adults" title="Chandigarh - Amritsar Tour With 6 Adults" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					Meal plan : Lunch ,Dinner,Breakfast<br />
Hotel Accomodation<br />
NON VEG MEAL<br />
Cabs : Non-AC <br />
Airfare <br />
Others : Other Exclusions (Car at disposal <br />
All kind of personal expenses such as tips, laundry, telephone bills and beverages. <br />
It also does not include any meals unless and otherwise specifically mentioned.. <br />
Optional, suggested or unspecified activities. <br />
Camera fee (still or movie)<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">As soon as you arrive at Delhi, And Pick Up By Our Cab From There & Start Your Drive<br />
Towards Chandigarh On reaching this destination.Stay at 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 Sightseeing
								</p>
								<p class="aj">morning after breakfast ,you visit to Rock Garden. A fantasy land created out of industrial waste, rocks, concrete, Rock Garden is an artistic splendour. Exploring Rock Garden’s maze-like open air galleries will take all of the morning. Next plan on stopping at Capitol Complex, the site for much of the city’s neural networks; the High Court, Secretariat and Legislative assembly as well as the its emblem, the Open Hand Monument. An rchitectural splendour, prepare to be amazed as you walk its length and examine its nook and crannies. Being the hub of government activity, you will need to take permission to enter certain areas. Ask at the gate with respect to areas where movement may be restricted.  Head over to Sector 17 C, which is lined with eating joints, for lunch and a spot of heavy duty shopping. It will take you the better part of the afternoon. Next visit Sukhna Lake where you can have a leisurely evening boat ride. Follow it up with tea/coffee/juices and snacks at the 5-6 eating joints that line its main entrance points, right where the joy rides for children are. Take a leisurely walk around the lake’s perimeter and when you tire down, sit down on any one of its steps and simply soak in the serenity as you watch the sun set. <br />
Stay at 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 3:</b> Chandigarh - Zirakpur Zoo
								</p>
								<p class="aj">Morning after breakfast Chandigarh and just visit Zirakpur Zoo. Zirakpur zoo was the only thing that was near by Chandigarh area. So, here we are at the Zerikpaur zoo it was a traditional zoo - Car Parking - Parking Tickets - Que at manual ticket counter - Que to enter - Que to security check and then hulla finally zoo.  Crocodiles are the first animal you see inside, lying as usual dead, waiting for pray to come close so that they can eat (same like our childhood stories). Small pond, with swans (you cant go inside). Monkeys, Lion, Tiger etc. The best part about zoo was it is surrounded by a forest, or in short, forest was cut down to make a zoo (hush everywhere, greenery, bushes, tall trees etc). And leisure for the day. <br />
Stay at 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 4:</b> Chandigarh - Amritsar
								</p>
								<p class="aj">Morning after breakfast Start Your Drive Towards Amritsar. After arriving at Amritsar check in at hotel after some rest Evening visit India-Pakistan Attari Border to watch Flag Retreat Ceremony- Attari Wagah, an army Joint Check Post on India-Pakistan 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. Return to hotel.Stay Amritsar.</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> Amritsar city tour
								</p>
								<p class="aj">After Breakfast , Start your city tour with the blessings of Golden Temple-the most important sikh shrine also known as Harmandir Sahib and Darbar Sahib. Then visit Jallianwala Bagh- the place that reminds every Indian of the brutal and hearless massacre by british general  Dyer. Visit Durgiana Temple :- The temple The complex houses Shree Laxmi Narayan Mandir with a huge pond on its periphery. Stay Amritsar</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> Amritsar-Ludhiana
								</p>
								<p class="aj">After Breakfast check in from hotel the cabh will move towards Ludhiana.Ludhiana is a city and a muncipal corporation in Ludhiana district in the Indian state of punjab,and is the largest city north of Delhi.And see the interesting displays at punjab Agricultural univ. Museum at then identify plant and Animal lifee at Rakh Bagh park .And then drive to chd. Stay Ludhiana.</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> chandigarh - delhi departure
								</p>
								<p class="aj">Morning after breakfast check in to the hotel and drive back to Delhi . <br />
End of the services<br />
Tour Ends !!!!!!!!!</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>Meals</li>
																		<li>Sightseeing</li>
																<li>Cabs : AC ( Note : A/C will won’t be operational in hills )</li><li>
Vehicle : Innova</li>
													</ul>
						<br />
												<p class="large b mb5px dif">Exclusions :</p> <ul><li>Meal plan : Lunch ,Dinner,Breakfast</li><li>
Hotel Accomodation</li><li>
NON VEG MEAL</li><li>
Cabs : Non-AC </li><li>
Airfare </li><li>
Others : Other Exclusions (Car at disposal </li><li>
All kind of personal expenses such as tips, laundry, telephone bills and beverages. </li><li>
It also does not include any meals unless and otherwise specifically mentioned.. </li><li>
Optional, suggested or unspecified activities. </li><li>
Camera fee (still or movie)</li></ul><br />
												<p class="large b mb5px dif">Specific Departure Dates :</p>28 Mar - 3 apr<br />
											
						<p class="large b mb5px dif">Terms &amp; Conditions :</p>~^#^~~^#^~<ul>
	<li>The rates are subjects to change without any prior notice. - Accommodation in the itinerary at the mentioned hotels or the similar hotels.</li>
	<li>The confirmation is subjects to availability. - Cost incidental to any change in the itinerary/ stay on account of flight cancellation due to bad</li>
	<li>Weather, ill health, strike, roadblocks and/or any factors beyond control. - It is a suggestion for you that please book this offer as soon as possible because we are not holding any booking and it is totally depend on the availability of rooms and flight.</li>
	<li>From the booking date till 30 days prior to the departure date, 30 % of the package cost is chargeable.</li>
	<li>From 30 days to 15 days prior to the departure date, 50 % of the package cost is chargeable.</li>
	<li>From 15 days to 7 days prior to departure date, 75 % of the package cost is chargeable.</li>
	<li>For cancellations made within 5 days prior to the departure date, 100% of the package cost is chargeable.</li>
	<li>No refund will be made for any unused accommodation, missed meals, transportation segments, sightseeing tours or any other service due to Bad weather, ill health, Strike, Road Blocks or any other factor beyond our Control. Such unused items are neither refundable nor exchangeable. - Room allocation is done by the hotel depending upon availability at the time of check - in. the category of room as specified on your confirmation voucher.</li>
	<li>No refund shall be claimed, if the services &amp; amenities of hotel were not up to your expectations, it will be considered on case to case basis.</li>
	<li>Room Heater charges will be extra charged as per hotel rates in every hotel.</li>
	<li>Meal plan will be veg in every hotel.( Non veg will be included on travellers request ).</li>
	<li>Rohtang Pass Permit and sighscene will be provided as per govt. Terms and conditions.</li>
	<li>Below 5 Years child will be complementry.More then 5 yrs Child will be charged as adults cost</li>
	<li>All payments of package cost should be cleared before Last day check out of the tour.</li>
</ul>												</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.tanishhimachaltours.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Chandigarh - Amritsar Tour With 6 Adults - 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="128035"/>
						</form>
						</div>
						
						";i:1;s:79:"Book Chandigarh - Amritsar Tour With 6 Adults - 6 Nights / 7 Days Tour Packages";i:2;s:158:"book chandigarh - amritsar tour with 6 adults - 6 nights / 7 days tour packages, hill station tour packages, chandigarh city, amritsar, ludhiana tour packages";i:3;s:196:"Tanish Himachal Tours offers Chandigarh - Amritsar Tour With 6 Adults - 6 Nights / 7 Days tour package, budget Hill Station tour packages for Chandigarh City, Amritsar, Ludhiana at exciting price.";i:4;s:834:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Chandigarh City, Amritsar, Ludhiana"        
		                 },
		      "description": "Meal plan : Lunch ,Dinner,Breakfast
Hotel Accomodation
NON VEG MEAL
Cabs : Non-AC 
Airfare 
Others : Other Exclusions (Car at disposal 
All kind of personal expenses such as tips, laundry, telephone bills and beverages. 
It also does not include any meals unless and otherwise specifically mentioned.. 
Optional, suggested or unspecified activities. 
Camera fee (still or movie)",
		      "name": "Chandigarh - Amritsar Tour With 6 Adults",
		      "telephone": "+91-9736035555"
		    }
		    </script>
			";i:5;N;}