a:6:{i:0;s:15450:"				<div class="h1"><h1>North India Heritage Tours</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.journeyasia.co.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.journeyasia.co.in/packages.htm" title="Packages">Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>North India Heritage Tours</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">
						12 Nights / 13 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">New Delhi, Jaipur, Agra, Jhansi, Varanasi, Khajuraho, Kathmandu</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.journeyasia.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="North India Heritage Tours - 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="99496"/>
						</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_1/7828/167739.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_1/7828/167739.jpg"  width="150" height="150"    alt="North India Heritage Tours" title="North India Heritage Tours" /></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">Meet, assist on arrival in Delhi in the evening and transfer to Hotel. Check in followed by transfer of baggage to the rooms. Overnight 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> In Delhi
								</p>
								<p class="aj">Take a full day sightseeing tour of New & Old Delhi, where you will visit the Qutab Minar, Humayun's Tomb, said to be the forerunner of the Taj at Agra, India Gate and the President's Palace. The city is built in a typically British colonial style with tree-lined avenues and colonial bungalows. Drive past The Parliament House, the War Memorial Arch and the Vice Regal Palace, now the official residence of the President of India. Then, go down to Old Delhi to visit the Jama Masjid-one of the biggest mosque in Asia, and the Raj Ghat, where Mahatma Gandhi was cremated. You will drive past the Red Fort for a photographic opportunity. Overnight 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 3:</b> Delhi - Jaipur (258Km) 
								</p>
								<p class="aj">Morning drive to Jaipur & check in at hotel. Rest of the day is at leisure. Overnight 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> In Jaipur
								</p>
								<p class="aj">Morning excursion to Amber Fort, situated just outside the city, is perhaps the most beautiful example of Rajasthani forts and gives a grand view of the city down below. You can have the unique experience of traveling on elephant back to and from the top of the hill on which the fort is situated. Afternoon sightseeing tour of Jaipur including, City Palace in the heart of Jaipur is known for its blend of Rajasthani and Mughal architecture. Another monument near the City Palace, Jantar Mantar, is the largest of the five observatories built by Sawai Jai Singh. The Hawa Mahal or the Palace of Winds was constructed for the royal ladies to watch the royal processions without being seen. Overnight 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 - Agra (221Km) 
								</p>
								<p class="aj">This morning you will drive to AGRA- the city of Taj Mahal. En route stop at FATEHPUR SIKRI, which is only 38kms (45 min. drive) from Agra. Spend an hour in this deserted capital which was built by Emperor Akbar in 1569 and abandoned 15 years later due to a severe scarcity of water. You will visit the graceful buildings within such as the Jami Masjid, the tomb of Salim Chisti, the Panch Mahal and other palaces. On arrival check-in at hotel. Overnight 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> In Agra
								</p>
								<p class="aj">Morning visit the Taj Mahal (closed on Fridays) built in 1630 by the Mughal Emperor Shah Jahan in memory of his deceased wife Mumtaz Mahal to enshrine her mortal remains. The monument has been described as the most extravagant ever built for love, for the emperor was heart-broken when Mumtaz, to whom he had been married for 17 years, and who died in 1629 in childbirth soon after delivering her 14th child. Later visit Agra Fort -really a city within a city which embraces the Moti Masjid, the Diwan-i-Am or the Hall of Public Audiences, the Diwan-i-Khas or the Hall of Private Audiences, the Octagonal Tower, Jehangir's Palace and many more monuments. Afternoon at leisure. Overnight 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 - Jhansi - Khajuraho (185Km) 
								</p>
								<p class="aj">In time transfer to railway station to board Shatabdi Express (0810/1030hrs) for Jhansi. On arrival drive to Khajuraho enroute visiting Orcha. Most of the attractions in Orchha are situated in the fort complex consisting of palaces, temples, cenotaphs, and memorials. The complex can be reached by a multi-arched bridge where you would find three palaces in a quadrangle. Continue your drive to Khajuraho & on arrival check in at hotel. Overnight 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> In Khajuraho 
								</p>
								<p class="aj">Morning city tour. Khajuraho combines history, architecture, culture and environment with delectable charm. It is a town that takes you away from the noise and pollution of the city, with its fresh air and scenic countryside. For convenience, the temples of Khajuraho are divided into the Western, Eastern, and Southern groups. The Western Group, situated opposite the Government of India Tourist Office, has 14 temples. The Chaunsath Yogini, Lalguan Mahadev, Parvati, Varaha, Matangesvara, Lakshmana, Vishvanath and Nandi, Chitragupta, Devi Jagdamba and Kandariya Mahadeo temples belong to this group. The Eastern Group, 2.4 km from the Tourist Office, consists of seven temples (four Jain and three Hindu). The Parsvanath, Adinath, Shantinath, and Ghantai temples belong to the Jains while the Vamana, Javari and Brahma are Hindu temples. Afternoon is at leisure. Overnight 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 9:</b> Khajuraho - Varanasi
								</p>
								<p class="aj">In time transfer to airport to connect flight 9W 724 (1405/1635hrs) for Varanasi. On arrival transfer to hotel. Evening take a walking tour on the streets of Benaras lined up with colourful shops. Overnight 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> Varanasi - Delhi - Leave Delhi
								</p>
								<p class="aj">Early morning enjoy a boat ride on river Ganges. There are about hundred ghats in the city. excursion to Sarnath-the buried Buddhist city. It was here that Buddha preached his message of the 'middle way' in order to achieve nirvana. In time transfer to airport to connect flight 9W 724 (1430/1550hrs) for Delhi. Our services terminate with departure transfer to airport to connect flight for onward destination.<br />
Extension Nepal<br />
Day 10 : Varanasi - Kathmandu<br />
In time transfer to airport to connect flight IC 752 (1250/1400hrs) for Kathmandu. On arrival transfer to hotel. Rest of the day is at leisure. Overnight 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> In Kathmandu
									</p>
									<p class="aj">Morning city tour visiting the Durbar Square, Hanuman Dhoka, the ancient residential quarter, Mahadev & Parvati Temple, Machhender Bahi-holy place for the Buddhist and Hindus. Temple House of Kumari the vestal virgin or the living Goddess. Walk through the local bazaar. On your return visit the Swyambhunath-the 2500 years old site. Afternoon is at leisure. Overnight 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> In Kathmandu
									</p>
									<p class="aj">Morning excursion to Bhadgaon-another Newar city founded on the 9th century. Visit the amcient gateway, Durbar Square, the Royal Resiential quarter of Bhupatindra Malla famous five storeyed temple of Nyatapola in pagoda style and other Stupa, a holy place for Buddhist pilgrims from Tibet. Also visit Pashupatinath temple area. Afternoon is at leisure. Overnight 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> Leave Kathmandu
									</p>
									<p class="aj">Our services terminate with departure transfer to international airport to connect flight for onward destination. <br />
Early morning enjoy a boat ride on river Ganges. There are about hundred ghats in the city. excursion to Sarnath-the buried Buddhist city. It was here that Buddha preached his message of the 'middle way' in order to achieve nirvana. In time transfer to airport to connect flight 9W 724 (1430/1550hrs) for Delhi. Our services terminate with departure transfer to airport to connect flight for onward destination.</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.journeyasia.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="North India Heritage Tours - 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="99496"/>
						</form>
						</div>
						
						";i:1;s:69:"Book North India Heritage Tours - 12 Nights / 13 Days Tour Packages";i:2;s:172:"book north india heritage tours - 12 nights / 13 days tour packages, heritage tour packages, new delhi, jaipur, agra, jhansi, varanasi, khajuraho, kathmandu tour packages";i:3;s:201:"Journey Asia offers North India Heritage Tours - 12 Nights / 13 Days tour package, budget Heritage tour packages for New Delhi, Jaipur, Agra, Jhansi, Varanasi, Khajuraho, Kathmandu at exciting price.";i:4;s:463:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "New Delhi, Jaipur, Agra, Jhansi, Varanasi, Khajuraho, Kathmandu"        
		                 },
		      "description": "",
		      "name": "North India Heritage Tours",
		      "telephone": "+91-9910303694"
		    }
		    </script>
			";i:5;N;}