a:6:{i:0;s:15514:"				<div class="h1"><h1>Taj Mahal With Wildlife 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>Taj Mahal With Wildlife 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">
						7 Nights / 8 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">New Delhi, Jaipur, Sawai Madhopur, Agra</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="Taj Mahal With Wildlife 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="107046"/>
						</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/177388.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_1/7828/177388.jpg"  width="150" height="150"    alt="Taj Mahal With Wildlife Tours" title="Taj Mahal With Wildlife 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> Delhi: Arrival at Delhi
								</p>
								<p class="aj">Company representatives will receive you on arrival at the international airport in Delhi late in the night or midnight. Transfer to your hotel. Relax.DELHI, the capital of kingdoms and empires is now a sprawling metropolis with a fascinating blend of the past and the present. It is a perfect introduction to the composite culture of an ancient land. A window to the kaleidoscope - that is India.<br />
Overnight will be at 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
								</p>
								<p class="aj">Start a full-day tour of Old and New Delhi after breakfast.<br />
OLD DELHI - A sightseeing 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 and the Red Fort - once the most opulent fort and palace of the Moghul Empire.<br />
Enjoy a Cycle rickshaw ride from Jama Masjid to Chandni Chowk.<br />
NEW DELHI - An extensive sightseeing tour of New Delhi would include a visit to the Humayun's Tomb, the Qutub Minar and a drive along the ceremonial avenue - Rajpath, past the imposing India Gate, Parliament House, the President's Residence and the Lotus Temple and would end with a drive through the Diplomatic Enclave.<br />
Spend night at 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 3:</b> Delhi - Agra
								</p>
								<p class="aj">By road 201 km in 4 hr<br />
Start for Agra early in the morning after breakfast.<br />
Reach and check in at hotel.<br />
AGRA: Two great Mughal monarchs, Akbar and Shah Jahan, transformed the little village of Agra into a befitting second capital of the Mughal Empire - giving it the name Dar-ul-Khilafat {seat of the Emperor}. Today a visitor to Agra is caught up in a world of contrasting edifices, of red sandstone and white marble, narrow galleys and quaint buggies, and that irresistible charm that this favorite city of the Mughals still retains. It is not surprising, that modern Agra still reflects its Mughal heritage most conspicuously. A walk down the narrow bustling streets of the city will introduce the visitor to the wafting aroma of Mughlai cuisine.<br />
TAJ MAHAL: Little needs to be said about this architectural wonder which is always the soul raison-de-etre for every tourist's visit to Agra. Built by Shah Jahan, the Taj is a white marble memorial to his beautiful wife Mumtaz Mahal. This monument took 22 years to be completed and was designed, and planned by Persian architect Ustad Isa. Apart from its stunning design balance and perfect symmetry, the Taj is also noted particularly for its elegant domes, intricately carved screens and some of the best inlay work ever seen.<br />
Proceed for visit to the Taj Mahal, Agra Fort and Itmadullah's Tomb with English speaking guide. Enjoy battery van ride. Return to hotel and relax in the evening.<br />
Overnight will be at Agra.</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> Agra - Ranthambhore:
								</p>
								<p class="aj">By road 241 km in 5 hr<br />
Breakfast will be at hotel.<br />
Drive to Fatehpur Sikri.<br />
The deserted, red Sandstone City, Emperor Akbar built that as his capital and palace in the late 16th century is an exhilarating experience. It a veritable fairytale city and its "ruins" are in pristine condition ... it's not hard to imagine what the court life must have been like in the days of its grandeur. Also visit the Bulund Darwaza, the largest gateway in the world.<br />
Proceed to Ranthambhore.<br />
Reach and transfer to the resort. Evening free at the resort and you can relax or watch some slides on the tiger.<br />
Ranthambhore Tiger Reserve, at the junction of the Aravalis and the Vindhyas, is a unique example of natural and historical richness, standing out conspicuously in the vast, arid and denuded tract of eastern Rajasthan, barely 14 kilometers from Sawai Madhopur. Get in tune with nature for a luxury holiday in the heart of the jungle. Most of the resorts are close to the National Park Gate, Tiger Den being the closest.<br />
It spreads over a highly undulating topography varying from gentle to steep slopes; from flat topped hills of the Vindhyas to the conical hillocks and sharp ridges of the Aravalis, from wide and flat valleys to narrow rocky gorges. An important geological feature the 'Great Boundary Fault' where the Vindhya plateaus meet the Aravali Hill range meanders through the Reserve. The National Park is bound by the rivers Chambal in the south and Banas in the north.<br />
Tiger, at the apex of the food chain, lord over the kingdom in a subtle way. Solitary by nature, it operates in stealth. Therefore tiger sightings, frequent as they are, are always a matter of chance. However, even evidences of tiger's activities are very exciting.<br />
Dinner will be served at the resort and relax for the night at resort.</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> Ranthambhore:
								</p>
								<p class="aj">Wake up early morning and leave for your safari into the National Park. Track the tigers and other wildlife through the morning. Return to the resort / lodge by 1000 in the morning and have breakfast.<br />
Freshen up and either spend time at the pool or visit the town. You could also go for a nice visit to the temple on top of the fort.<br />
In the afternoon have lunch and then leave again for you afternoon safari. The safari will be till evening 1700 - 1800 hr and then return to the resort / lodge.<br />
Dinner will be at the resort and retire early for the night. Overnight will be at Ranthambhore.</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> Ranthambhore - Jaipur
								</p>
								<p class="aj">By road 180 km in 3 hr<br />
Proceed to the National Park for the third safari. Return to the resort for breakfast. Leave for jaipur after breakfast.<br />
Reach and check in at hotel.<br />
JAIPUR - The origins of the beautiful city of Jaipur can be traced back to the eighteenth century, during the reign of Jai Singh II who ascended the Amber throne in 1699. Jaipur today, epitomizes the spirit of Rajputana. In-spite of growing into a bustling metropolis, it still retains its character and history - A beautiful fusion of the yesteryears and modernity. Jaipur is popularly known as the Pink City because of the extensive use of the locally abundant pink plastered stone, painted so in honor of the visit of the royal consort of Queen Victoria. Jaipur thrills the soul with its massive forts, magnificent palaces, exquisite temples and lush gardens.<br />
This evening, visit the Birla Temple to learn more about the fascinating religious life of Jaipur. The marble structure, built as recently as 1985, houses ornate statues including one of Lakshmi (goddess of Wealth and Beauty) and Narayan dressed in gaudy robes, representing a Hindu vision of heavenly luxury. Carvings in the temple and on pillars supporting the covered walkways include images of the Hindu pantheon, as well as Jesus, the Blessed Virgin Mary and St Francis of Assisi. Your visit will coincide with the AARTI Ceremony, which involves oil lamps being lit and waved, in order to awake and invoke the deity. Enjoy the experience and spend night at Jaipur.<br />
Overnight will be in Jaipur.</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> Jaipur
								</p>
								<p class="aj">Proceed for a morning excursion to Amber Fort after breakfast. Elephant ride ascent to the fort.<br />
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 descendent Jai Singh I. Its forbidding exterior belies an inner paradise where a beautiful fusion of Mughal and Hindu styles finds its ultimate expression.<br />
Continue sightseeing.<br />
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.<br />
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.<br />
HAWA MAHAL - The ornamental facade of this "Palace of Winds" is a prominent landmark in Jaipur. It is a five-storey structure of sandstone plastered pink encrusted with fine trelliswork 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.<br />
Relax in the evening or visit the markets. Overnight will be at Jaipur.</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> Jaipur - Delhi
								</p>
								<p class="aj">By road 260 km in 5 hr<br />
After leisurely breakfast proceed for shopping.<br />
Leave for Delhi after lunch. Reach Delhi and you will be transferred to airport for flight home with sweet memories of India.<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>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="Taj Mahal With Wildlife 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="107046"/>
						</form>
						</div>
						
						";i:1;s:70:"Book Taj Mahal With Wildlife Tours - 7 Nights / 8 Days Tour Packages";i:2;s:160:"book taj mahal with wildlife tours - 7 nights / 8 days tour packages, wildlife and nature tour packages, new delhi, jaipur, sawai madhopur, agra tour packages";i:3;s:204:"Book Taj Mahal With Wildlife Tours - 7 Nights / 8 Days tour packages from Journey Asia - Get attractive 7 Nights / 8 Days Wildlife and Nature  tour packages for  New Delhi, Jaipur, Sawai Madhopur, Agra.";i:4;s:442:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "New Delhi, Jaipur, Sawai Madhopur, Agra"        
		                 },
		      "description": "",
		      "name": "Taj Mahal With Wildlife Tours",
		      "telephone": "+91-9910078863"
		    }
		    </script>
			";i:5;N;}