a:6:{i:0;s:16770:"				<div class="h1"><h1>Luxury Indian Cultural Heritage Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.avashshergilltravel.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.avashshergilltravel.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Luxury Indian Cultural Heritage 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">
						13 Nights / 14 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">New Delhi, Jaipur, Mandawa, Agra, Jhansi, Varanasi, Khajuraho, Orchha, Fatehpur Sikri</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.avashshergilltravel.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Luxury Indian Cultural Heritage 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="49560"/>
						</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_12/357911/96798.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_12/357911/96798.jpg"  width="150" height="150"    alt="Luxury Indian Cultural Heritage Tour" title="Luxury Indian Cultural Heritage 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> Arrival Delhi
								</p>
								<p class="aj">Arrive Delhi. Meet assist at the airport & transfer to hotel. Overnight stay at 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 2:</b> Delhi
								</p>
								<p class="aj">After breakfast proceed for sightseeing tour of Old & New Delhi: OLD DELHI - A sight-seeing tour of Old Delhi would entail visiting the Raj Ghat - the memorial site where Mahatma Gandhi was cremated; Jama Masjid - the largest mosque in India. NEW DELHI -An extensive sight-seeing tour of New Delhi would include a visit to the Humayun's Tomb, the Qutub Minar, a drive along the ceremonial avenue - Rajpath, past the imposing India Gate, Parliament House, the President's Residence and would end with a drive through the Diplomatic Enclave. Overnight stay at the Delhi 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> Delhi - Mandawa (230 Kms / 5 hrs by Surface)
								</p>
								<p class="aj">This morning after breakfast drive to Mandawa, often called the open air art gallery of Rajasthan', the region is famous for the high quality frescoes. Arrive Mandawa & transfer to hotel.<br />
Overnight stay at 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 4:</b> Mandawa - Jaipur (180 Kms / 4 hrs by Surface)
								</p>
								<p class="aj">This morning after breakfast take a walking tour of the painted 'havelis' of some of the leading business families of the country. Though they no longer live here, the local caretakers are happy to show the visitors around. Chowkhani Haweli, Gulab Rai Ladia Haweli, Lakshminarayan Ladia Haweli, Mohahanlal Saraf Haweli and Bhagchandika Haweli are of special interest. Spend the major part of the day looking into frescoes. Later drive to Jaipur - the fabled “pink city” of the desert named after Jai Singh, the former Maharaja of Jaipur. This is the only city in the world symbolizing the nine divisions of the universe through the nine rectangular sectors subdividing it.The palaces and forts of the yesteryears, which were witnesses to the royal processions and splendour are now living monuments. Arrive Jaipur & transfer to hotel.<br />
Overnight stay at 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 5:</b> Jaipur
								</p>
								<p class="aj">This morning after breakfast proceed for excursion to Amber Fort in the outskirts of Jaipur. Elephant ride ascent to the fort. AMBER FORT PALACE - Amber is the classic romantic Rajasthani fort palace. Its construction was started by Man Singh I in 1592, and completed by his descendant Jai Singh I. It's forbidding exterior belies an inner paradise where a beautiful fusion of Mughal and Hindu styles finds it's ultimate expression. Later city sightseeing tour of Jaipur covering: CITY PALACE - A delightful blend of Mughal and traditional Rajasthani architecture, the City Palace sprawls over one-seventh of the area in the walled city. It houses the Chandra Mahal, Shri Govind Dev Temple and the City Palace Museum. JANTAR MANTAR - This is the largest and the best preserved of the five observatories built by Jai Singh II in different parts of the country. This observatory consisting of outsized astronomical instruments is still in use. HAWA MAHAL - The ornamental facade of this "Palace of Winds" is a prominent landmark in Jaipur. Its five-storey structure of sandstone plastered pink encrusted with fine trellis work and elaborate balconies. The palace has 953 niches and windows. Built in 1799 by Pratap Singh, the Mahal was a royal grandstand for the palace women. Visit a rug factory and see the ladies at the intricate work or a gem factory and see the gem cutting and polishing process.<br />
Overnight stay at 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 6:</b> Jaipur - Fatehpur Sikri - Agra (250 Kms / 5 hrs by Surface)
								</p>
								<p class="aj">This morning after breakfast drive to the City of Taj Mahal - Agra enroute visiting Fatehpur Sikri- a perfectly preserved red sandstone "ghost town" which was the estranged capital of Mughal emperor Akbar, built in 1569 and deserted when its water supply failed. Arrive Agra and transfer to hotel.<br />
Overnight stay at 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 7:</b> Agra
								</p>
								<p class="aj">This morning after breakfast visit the magnificent Taj Mahal -one of the Seven Wonders of the World surely the most extravagant expression of love ever created. 20,000 men laboured for over 17 years to build this memorial to Shah Jahan's beloved wife. Also visit the Red fort - the rusty and majestic red-sandstone fort of Agra stands on the banks of the river Yamuna and the construction was started by Emperor Akbar in 1566. At the Diwan-I-Am (hall of public audience), a colonnaded hall of red-sandstone with a throne alcove of inlaid marble at the back, the Emperor heard public petitions. At the Diwan-I-Khas (hall of private audience) where marble pavilions with floral inlays lend an ethereal ambience, the Emperor sat on his gem-studded Peacock Throne and met foreign ambassadors and rulers of friendly kingdoms. Evening free to explore the rich handicrafts of Agra.<br />
Overnight stay at 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 8:</b> Agra - Jhansi (By train) Jhansi - Orchha (16 Kms / By surface)
								</p>
								<p class="aj">day 8: Agra - Jhansi (By train) Jhansi - Orchha (16 Kms / By surface)<br />
<br />
This morning after breakfast transfer to railway station to board the train to Jhansi, Arrive Jhansi & drive to Orchha & transfer to hotel. Later tour of this historical site with magnificent temples and monuments. Some of the palaces were decorated with painted murals which represent the finest flowering of the Bundela school of painting.<br />
Overnight stay at the Hotel.<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 9:</b> Orchha - Khajuraho (170 Kms / 4 hrs by surface)
								</p>
								<p class="aj">This morning after breakfast drive to Khajuraho. Khajuraho- the legendary temples of Khajuraho are an incomparable experience. Acknowledged as one of the world’s artistic wonders, these temples dedicated to the Hindu pantheon of Gods are covered in carvings that are a paean to life and love. Built within a short span of a hundred years by the Chandela Rajputs, the 10th century temples lay forgotten until they were discovered in the present century. Khajuraho has achieved fame for the sensual appeal of its erotic sculptures. Arrive Khajuraho and transfer to hotel.<br />
Overnight stay at 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 10:</b> Khajuraho
								</p>
								<p class="aj">This morning after breakfast explore the Western and Eastern temples of Khajuraho while your guide explains the intricate meaning and legends behind each describable sculpture. Overnight stay at the Hotel.</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> Khajuraho - Varanasi (By Flight)
									</p>
									<p class="aj">This morning after breakfast transfer to airport to board the flight for Varanasi-said to be the India’s most sacred city situated on the western bank of the holy river Ganga. It is also the oldest living city in the world. As a place for devotion and worship, with hundreds of temples dotting the city, sunrise on the river front as seen from a boat can be a spiritually uplifting sight. It has a fascination uniquely its own, a quality of sublime beauty, a timeless eternal appeal. Varanasi is the city which cannot be described, only experienced. Arrive Varanasi and transfer to hotel. Evening view "Aarti" ceremony on the Ghats. Overnight stay at 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 12:</b> Varanasi
									</p>
									<p class="aj">This morning boat cruise at the river Ganges to observe the way of life of pilgrims by the Ghats. Later excursion to Sarnath, 10kms. East of Varanasi is one of the Buddhism’s major centers of India. After attaining enlightenment, the Buddha came to Sarnath where he gave his first sermon. Visit the deer park and the museum and later back to Varanasi.<br />
Overnight stay at 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 13:</b> Varanasi - Delhi (By Flight)
									</p>
									<p class="aj">This morning after breakfast, Afternoon transfer to airport to connect the flight for Delhi, Arrive Delhi & transfer to hotel. Rest of the day at leisure or last minute shopping etc.<br />
Overnight stay at 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 14:</b> Delhi & Departure
									</p>
									<p class="aj">Transfer to airport in time to board the onward flight.</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>
															</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.avashshergilltravel.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Luxury Indian Cultural Heritage 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="49560"/>
						</form>
						</div>
						
						";i:1;s:77:"Book Luxury Indian Cultural Heritage Tour - 13 Nights / 14 Days Tour Packages";i:2;s:202:"book luxury indian cultural heritage tour - 13 nights / 14 days tour packages, heritage tour packages, new delhi, jaipur, mandawa, agra, jhansi, varanasi, khajuraho, orchha, fatehpur sikri tour packages";i:3;s:240:"Avash Shergill Travel offers Luxury Indian Cultural Heritage Tour - 13 Nights / 14 Days tour package, budget Heritage tour packages for New Delhi, Jaipur, Mandawa, Agra, Jhansi, Varanasi, Khajuraho, Orchha, Fatehpur Sikri at exciting price.";i:4;s:493:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "New Delhi, Jaipur, Mandawa, Agra, Jhansi, Varanasi, Khajuraho, Orchha, Fatehpur Sikri"        
		                 },
		      "description": "",
		      "name": "Luxury Indian Cultural Heritage Tour",
		      "telephone": "+91-8699559635"
		    }
		    </script>
			";i:5;N;}