a:7:{i:0;s:13255:"				<div class="h1"><h1> Paradise on Earth Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="https://www.heavensgroup.co.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="https://www.heavensgroup.co.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b> Paradise on Earth 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">
						11 Nights / 12 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">New Delhi, Srinagar, Pahalgam, Gulmarg, Sonamarg, Dal Lake, Mughal Garden, Dachigam</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Price </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="https://www.heavensgroup.co.in/travel-inquiry.htm">
						<input type="hidden" name="subject" value=" Paradise on Earth 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="43827"/>
						</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/278544/86821.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_10/278544/86821.jpg"  height="150"  width="150"    alt=" Paradise on Earth Tour" title=" Paradise on Earth Tour" loading="lazy"></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 Delhi
								</p>
								<p class="aj">On reaching Delhi, you will meet  representative who will help you with an assisted transfer to your pre-booked hotel. Spend the day at leisure in doing the activities that you want to such as visiting the popular market, exploring the attractions or enjoying the lip-smacking street food. Stay overnight in Delhi.</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> Delhi - Srinagar
								</p>
								<p class="aj">Today, after breakfast, you will get an on-time transfer to the city’s airport to catch a flight for Srinagar.  representative will meet and greet you as well as help you with an assisted transfer to your Deluxe Houseboats. Afterwards, in the late hours of the afternoon, you will enjoy a Shikara ride on the Dal Lake. While cruising, visit the floating gardens, vegetable gardens, walnut woodcarving and paper machine making demonstration. Dinner and night stay in the houseboat.</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> Srinagar
								</p>
								<p class="aj">Day 3 is for sightseeing of Srinagar which will include the well-known Mughal Gardens that will include Nishat Bagh that was constructed by Asif Khan in 1632 AD. as well as Shalimar Bagh that was constructed  by Jehangir for Noor Jehan, his wife. These beautiful gardens are located on the bank of Dal Lake that are on the foothills of the Zabarwan Mountains. While returning back to your hotel, on the way, you will halt at the carpet-weaving factory. Dinner and night stay in your houseboat.</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> Srinagar - Dachigam National Park
								</p>
								<p class="aj">On the 4th day of your tour, one you will have your breakfast, you will leave for visiting the Dachigam national park, situated in the beautiful Dachigam valley. Declared as a national park in 1951, it was once the private hunting ground of the Maharaja of Kashmir. This national park is home to rare Kashmir stag (Hangul), musk deer as well as black and brown bears. Enjoy wildlife safari into at the park. In case you love camping, you can trek upwards. Stay overnight in the houseboat.</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> Srinagar - Pahalgam
								</p>
								<p class="aj">Relish your lip-smacking breakfast at the House Boat and proceed to the very beautiful Pahalgam, popular as the valley of the Shepherds. This road journey is going to be a treat to your eyes. On the way, halt at the well-known temple of the followers of the Hindu religion – Martand Sun temple, also called Mattan. After reaching, check-in at your pre-booked hotel. The rest of the day is free for leisure activities, you can indulge in horse riding, trekking or simply enjoy the surroundings on foot. Stay overnight.</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> Pahalgam
								</p>
								<p class="aj">Post breakfast, leave for a day-trip to Chandanwari. Quite well-known for its natural beauty, streams and springs, this place is the starting point of the Amarnath Yatra. Once you reach there, treat your eyes with the surrounding beauty of a variety of flowers and snow-clad mountains. Return to your hotel for lunch. Take a little nap after lunch. The evening is for enjoying the Kashmiri Cultural Show. Night 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> Pahalgam
								</p>
								<p class="aj">After enjoying your breakfast, you will hit the road to go to the Aru valley, an extremely beautiful place. Enjoy being amidst the natural surroundings, take a leisure walk here. Back to the hotel for having lunch. The rest of the day is free for the activities of your interest. If you want then you can trek down to Bysaran and Shikarga. You can also enjoy a pony ride. Dinner and night stay in 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 8:</b> Pahalgam - Gulmarg
								</p>
								<p class="aj">On the 8th day of your tour, have your breakfast and leave for visiting Gulmarg, also referred to as 'Meadow of Flowers'. Once you reach, check-in at your hotel enjoys a Gondola Ride that is a cable car ride. Also visit the green 18-hole golf course, the highest one in the world. Carry packed lunch. Enjoy taking a leisure walk. Dinner and night stay in 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 9:</b> Gulmarg
								</p>
								<p class="aj">Post breakfast, spend the day enjoying in Gulmarg. You can do the activities of your interest. If you want, you can enjoy horse riding, Cable car ride, skiing, sightseeing and so on. Dinner and overnight stay in Gulmarg.</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> Gulmarg - Srinagar
								</p>
								<p class="aj">On day 10, have your breakfast and hit the road to go to Srinagar . on arrival, check into your luxury houseboat. After freshening up, set out for a Shikara ride, where you are going to cruise along the floating gardens. Also visit other attractions such as Lotus Gardens, Kabooter Khana (Pigeon palace) and Char Chinar. Dinner and overnight stay in the houseboat.</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> Srinagar - Sonamarg - Srinagar
									</p>
									<p class="aj">Have your breakfast and leave for a day-trip to Sonamarg, one of the most striking drives where you can stop on the way to click pictures. Proceed to Sonamarg, also known as Meadow of Gold  (2690Mtrs), which  is also a Gateway to Ladakh. In the evening back to the houseboat for dinner and 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> Srinagar - Delhi
									</p>
									<p class="aj">Today is the last day of your tour, when after breakfast, you will get an assisted transfer to the Srinagar airport to catch a flight to Delhi. on reaching, you will transported to the airport or the railway station to board a flight  or train for your onward journey.</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>Sightseeing</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="https://www.heavensgroup.co.in/travel-inquiry.htm">
						<input type="hidden" name="subject" value=" Paradise on Earth 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="43827"/>
						</form>
						</div>
						
						";i:1;s:64:"Book  Paradise on Earth Tour - 11 Nights / 12 Days Tour Packages";i:2;s:202:"book  paradise on earth tour - 11 nights / 12 days tour packages, hill stations & valleys tour packages, new delhi, srinagar, pahalgam, gulmarg, sonamarg, dal lake, mughal garden, dachigam tour packages";i:3;s:249:"Book  Paradise on Earth Tour - 11 Nights / 12 Days tour packages from Heavens Group - Get attractive 11 Nights / 12 Days Hill Stations & Valleys  tour packages for  New Delhi, Srinagar, Pahalgam, Gulmarg, Sonamarg, Dal Lake, Mughal Garden, Dachigam.";i:4;s:464:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "New Delhi, Srinagar, Pahalgam, Gulmarg, Sonamarg, Dal Lake, Mughal Garden, Dachigam"        
		                 },
		      "description": "",
		      "name": " Paradise on Earth Tour",
		      "telephone": "+91-9034015552"
		    }
		    </script>
			";i:5;N;i:6;N;}