a:6:{i:0;s:12891:"				<div class="h1"><h1>9 Days - Golden Triangle with Varanasi Tour (Ganges Tour)</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.travedatour.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.travedatour.in/packages.htm" title="Packages">Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>9 Days - Golden Triangle with Varanasi Tour (Ganges 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">
						8 Nights / 9 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">New Delhi, Jaipur, Agra, Varanasi</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.travedatour.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="9 Days - Golden Triangle with Varanasi Tour (Ganges 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="117140"/>
						</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_17/506429/190392.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_17/506429/190392.jpg"  width="150" height="150"    alt="9 Days - Golden Triangle with Varanasi Tour (Ganges Tour)" title="9 Days - Golden Triangle with Varanasi Tour (Ganges Tour)" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					Highlights of Tour :<br />
Explore Old and New Delhi - Historical Monuments and Markets<br />
Visit Amber Fort via Elephant Ride<br />
Visit holy Jama Masjid and Burial of Sheikh Salim Chishti<br />
Visit the most wonderful Tajmahal, Agra<br />
Enjoy the boat ride in River Ganga Varanasi<br />
Witness the Ganga Aarti Ceremony at banks of Ghats<br />
<br />
Overview<br />
<br />
Spirituality reigns supreme as you visit the holy city of Varanasi on the Golden Triangle with Varanasi Tour. Varanasi is also known as Kashi (The city of Light) and it keeps so much importance in Hindu mythology because it is considered as the abode of Shiva: Mahadeva (Supreme God, according to Vedas). You can go in for a holy dip in Ganga as the flowing water will wash away all your sins and purify your soul to the core. <br />
<br />
The Golden triangle circuit of India has several worth exploring haunts like the Red Fort of Delhi and Agra, Taj Mahal, Qutub Minar, Birla Temple of Delhi and Jaipur, Jantar Mantar etc. After the sightseeing of all these cities last comes Varanasi which is definitely not the least as it is a deeply revered town in Hindu Pilgrimage due to the presence of picture perfect ghats and river Ganga.<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">Start of all the Golden Triangle packages is done with the capital city of India, so here we are! As soon as you arrive at the airport in Delhi, you will be greeted by your tour manager or our tour executive who will take you to a pre-booked hotel. He will discuss about the tour and give you all the document related to tour. Overnight stay 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
								</p>
								<p class="aj">Delhi is a city which is ever exuberant and lively. There are a lot of places which have turned into major tourist attractions either due to their historical importance or because of some other reason. In Delhi on day two, we bring Delhi closer to your hearts as you are taken to explore Old and New Delhi both. You will be taken to visit places like Chandni Chowk, Red Fort, Rajghat, Jama Masjid, Qutub Minar, Lotus Temple, Connaught Place market, Laxmi Narayan Temple, India Gate & the central government admin buildings on Rajpath (including Rashtrapati Bhawan). Return to the hotel for 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 3:</b> Delhi - Jaipur (206 kms - 4 hrs)
								</p>
								<p class="aj">Early morning breakfast at the hotel after which a comfortable drive will convey you to the Pink City - Jaipur. Jaipur has been a city of royals always and the reason why it got the title Pink city is that once the Prince of Wales was going to visit Jaipur and to give it a face-lift the ruler got the whole city painted in pink colour because that was the only colour available in that much amount required for the purpose. On arrival at Jaipur, check in to a hotel with the help of our assistants and spend your night in here.</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> Jaipur
								</p>
								<p class="aj">After having breakfast at the hotel in Jaipur embark on a city tour of Jaipur. On the itinerary you will be having Amber Fort (Elephant Ride), Jaigarh Fort, Nahargarh Fort (all three standing on the hills of Aravalli near Jaipur city), astronomical observatory built by Jai Singh II - Jantar Mantar, the Birla planetarium, an important landmark of Jaipur - Hawa Mahal and museum of City Palace. Come back to the hotel after entire day’s tour and spend a relaxing night.Enquire About This Trip</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 (256 kms - 5/6 hrs)
								</p>
								<p class="aj">You will be moved to Agra on this day by a drive and on this road trip there will be a halt at Fatehpur Sikri for some sightseeing. Fatehpur Sikri is a city which was long time ago abandoned by Akbar due to failure of water supply, now it lies in ruins but has been put by UNESCO in the list of world heritage sites. Places to watch here are the holy Jama Masjid, burial of Sheikh Salim Chishti, Palace of Jahangir, Buland Darwaza (largest gateway in the world). Resume your drive to Agra and then check in to a hotel on arrival. Overnight 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 6:</b> Agra - Varanasi (Overnight train)
								</p>
								<p class="aj">This day will be marked with a visit to the most famous monument of India i.e., Taj Mahal. This monument has striking architectural features as Shahjahan wanted to erect a structure that could be a perfect evidence of his love for his begum (wife) Mumtaz Mahal. Come to know about more interesting facts associated with Taj Mahal as you visit here. Also go to Agra Fort which is a grand fortress of Mughal dynasty and tomb of Itmad-Ud-Daulah. Leave from Agra at noon and board a train that will transfer you to the holy town of Varanasi.</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> Varanasi
								</p>
								<p class="aj">Arrive at Varanasi after an overnight train journey and then check in to a hotel so as to spend the day at ease. Varanasi is a sacred town of Hindu Pilgrimage because there are several ghats that Hindus revere as divine blessings of almighty. Overnight stay in the Varanasi where the atmosphere is always soaked in tranquillity and peace.</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> Varanasi
								</p>
								<p class="aj">Day will be begun with an early morning boat ride in river Ganga looking at the beautiful Ghats passing by. The experience will be completely ecstatic as boat’s helm cuts through clam waters of Ganges creating ears pleasing music. Take a holy dip in the water of river Ganga. Stroll around the ghats and visit Kashi Vishwanath Temple - One of the popular and must visit temple dedicated to Lord Shiva. At evening witness the Ganga Aarti Ceremony which is performed at the banks of the Ghat. Night stay in Varanasi.</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> Depature
								</p>
								<p class="aj">Return Home With sweet memories .</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.travedatour.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="9 Days - Golden Triangle with Varanasi Tour (Ganges 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="117140"/>
						</form>
						</div>
						
						";i:1;s:96:"Book 9 Days - Golden Triangle with Varanasi Tour (Ganges Tour) - 8 Nights / 9 Days Tour Packages";i:2;s:169:"book 9 days - golden triangle with varanasi tour (ganges tour) - 8 nights / 9 days tour packages, heritage tour packages, new delhi, jaipur, agra, varanasi tour packages";i:3;s:198:"Traveda Tour offers 9 Days - Golden Triangle with Varanasi Tour (Ganges Tour) - 8 Nights / 9 Days tour package, budget Heritage tour packages for New Delhi, Jaipur, Agra, Varanasi at exciting price.";i:4;s:1618:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "New Delhi, Jaipur, Agra, Varanasi"        
		                 },
		      "description": "Highlights of Tour :
Explore Old and New Delhi - Historical Monuments and Markets
Visit Amber Fort via Elephant Ride
Visit holy Jama Masjid and Burial of Sheikh Salim Chishti
Visit the most wonderful Tajmahal, Agra
Enjoy the boat ride in River Ganga Varanasi
Witness the Ganga Aarti Ceremony at banks of Ghats

Overview

Spirituality reigns supreme as you visit the holy city of Varanasi on the Golden Triangle with Varanasi Tour. Varanasi is also known as Kashi (The city of Light) and it keeps so much importance in Hindu mythology because it is considered as the abode of Shiva: Mahadeva (Supreme God, according to Vedas). You can go in for a holy dip in Ganga as the flowing water will wash away all your sins and purify your soul to the core. 

The Golden triangle circuit of India has several worth exploring haunts like the Red Fort of Delhi and Agra, Taj Mahal, Qutub Minar, Birla Temple of Delhi and Jaipur, Jantar Mantar etc. After the sightseeing of all these cities last comes Varanasi which is definitely not the least as it is a deeply revered town in Hindu Pilgrimage due to the presence of picture perfect ghats and river Ganga.",
		      "name": "9 Days - Golden Triangle with Varanasi Tour (Ganges Tour)",
		      "telephone": "+91-9973011696"
		    }
		    </script>
			";i:5;N;}