a:6:{i:0;s:16961:"				<div class="h1"><h1>Golden Triangle With Buddist Circuit Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.getsholidayindiatour.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.getsholidayindiatour.in/packages.htm" title="Packages">Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Golden Triangle With Buddist Circuit 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">Tour Code </td>
						<td class="p5px pl0px vat">GHIT-14</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Duration </td>
						<td class="p5px pl0px vat">
						15 Nights / 16 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">New Delhi, Jaipur, Agra, Lucknow, Sravasti, Varanasi, Bodhgaya, Nalanda, Patna, Rajgir, Kushinagar, Kathmandu, Rupandehi</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.getsholidayindiatour.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Golden Triangle With Buddist Circuit 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="115300"/>
						</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/507555/188074.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_17/507555/188074.jpg"  width="150" height="150"    alt="Golden Triangle With Buddist Circuit Tour" title="Golden Triangle With Buddist Circuit 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">Arrival at New Delhi International Airport, assistances on arrival and transfer to Hotel. Overnight at 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 / Jaipur
								</p>
								<p class="aj">After Breakfast drive to Jaipur. Jaipur has been like that since 1727 when Maharaja Swai Jai Singh II had it built. Arrive & check-in at hotel. Overnight at 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> Jaipur
								</p>
								<p class="aj">After breakfast depart for Amber Fort (12 kms) - Visit the imposing Amber fort on the outskirts of the Pink City. Afternoon tour of Pink City – visiting the imposing City Palace now a museum, the ancient Observatory, the Palace of Winds and the picturesque bazaars of the walled city. Overnight at 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> Jaipur / Agra
								</p>
								<p class="aj">After breakfast drive to Agra. (240kms /5 to 6 Hours) Enroute Fatehpur Sikri - the extraordinary city built by Akbar the Great, deserted 14 years later, but which, during its brief span, exceeded London in both grandeur and population.Arrive & Check into the hotel. Afternoon visit the Red Fort built by three generations of Mughal Emperors between 1565 and 1573. Later Visit Taj Mahal a monument of love built by Moguls, an incredible 20,000 workman’s labored on it, day and night, for over 20 years. Overnight at 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> Agra / Lucknow
								</p>
								<p class="aj">After Breakfast drive to lucknow (10 - 11 hrs) en-route visit SANKASIA, where Lord descended from heaven after giving sermon to his mother after 7 years of her dealth. Later continue drive to Lucknow, Check-in at Hotel. Overnight at 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> Lucknow - Varanasi
								</p>
								<p class="aj">After early breakfast drive 7 hrs to Varanasi, Arrive & transfer to hotel en -route Visit Sarnath - 5 miles out of Varanasi - it is one of the holies Buddhist sites in the world, where Buddha preached his first Sermon in 590 B.C. Sarnath has a fine Museum filled with sculptures found at the site. Overnight at 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> Varanasi
								</p>
								<p class="aj">Early Morning boat-ride on the Ganges river at dawn to see the Hindu pilgrims flock to the ghats and have a ritual morning bath, practice yoga and perform 'puja' to the rising sun....all rituals evolved and derived from thousands of years of worship and traditions. Also cruise past the Manikarnika ghat to see the pyres being lit for the first cremations of the day. After the Boatride visit a living Hindu temple to see the ceremony of morning "puja". Return to hotel for breakfast. After breakfast walk through the myriad of narrow lanes in the Old city, past the many ancient temples, shrines and little shops crammed with customers looking for the famous silver and gold brocades for weddings or ever for cremation cloth. The most famous temple is the Kashi Vishvanath or "Golden" temple, which though off-limits to non-Hindus, can be seen from the top floor of the old house opposite it. Evening visit the Ghats to see the puja ceremony on River Ganges. Overnight at 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> Varanasi / Bodhgaya
								</p>
								<p class="aj">After breakfast drive to Bodhgaya (06 hrs) Holding extreme religious importance to the buddhists, Bodhgaya lies13 km south of Gaya, beside the river Phalgu. It was here, that the Lord Buddha sat under the Banyan tree and attained enlightenment, and a descendant of that original tree still flourishes there today. Bodhgaya is small and quiet town, which is the most important of all the Buddhist sites in the world. Overnight at 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> Bodhgaya
								</p>
								<p class="aj">After breakfast visit one of the holiest Buddhist pilgrimage centres. It was here that Gautama attained enlightenment and became Buddha under the "Bodhi" tree Satabodhi temple, Japanese and Tibetan monasteries along with Magadha university musuem are also to be visited. Evening free for Independent activities. Overnight at 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> Bodhgaya / Rajgir / Nalanda / Patna
								</p>
								<p class="aj">After breakfast drive to Bodhgaya (6 Hrs), enroute visiting Rajgir and Nalanda. Rajgir (2 hrs & 30 mins) capital of 6th century Magadha Empire. It was revered site of Buddhas discourses. Buddha spent many years here. Visit Gridhrakula, Sapataparni cave, Ajatsatru fort and Venuvana. And visit Nalanda - the world's oldest university founded in the 5th century. Also visit monasteries and temples with impressive Buddhist & Hindu images. The Institute for research into Buddhism and Pali literature which houses rare manuscripts, is also worth visiting for the enthusiasts. Archaeological musuem is also not to be missed for the rare collections. Overnight at 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> Patna / KUSHINAGAR
									</p>
									<p class="aj">After breakfast drive to Kushinagar enroute visiting Vaishali where Lord Buddha preached his last sermon announcing his approaching Nirvana. Visit stupas holding urns containing ashes of Buddha and Ashok pillar erected by Emperor Ashoka to mark places sanctified by Buddha. The place is also known now for famous Madhubani paintings. Continue drive to Kushinagar. Arrive & Check-in at hotel. Kushinagar is the place where Buddha entered perfect tranquility the state of Maha Pari Nirvana. Overnight at 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> Kushinagar / Sravasti (Balrampur)
									</p>
									<p class="aj">After breakfast drive to Balrampur. Arrive & check-in at hotel. Overnight at 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> Sravasti / Lumbini
									</p>
									<p class="aj">After breakfast drive to Lumbini (6hrs). Lumbini: The birth place of Lord Buddha in the Himalayan foothills of Nepal. Arrive & check-in at hotel. Overnight at 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> Lumbini / Kathmandu
									</p>
									<p class="aj">After Breakfast Depart to Kathmandu by Flight. Arrive Kathmandu – meet and transfer to Hotel Kathmandu City: Known as Kantipur, the capital of the Kingdom of Nepal. Here you will visit the temple of the Living Goddess, who acknowledges the greetings of the devotees from the balcony of her temple residence. Kasthamandap – the source of the name Kathmandu and supposed to be made from the timber of a single tree and the Durbar Square ate with it's array of temples overlooked by the Hanuman Dhoka Palace, the ancient place of the Nepalese Royalty. Swayambhunath: - Located approximately 4 km/2.5 miles, Buddhist stupa this is said to be 2000 years old. The stupa, which forms the main structure, is composed of a solid hemisphere of brick and earth supporting a lofty conical spire capped by a pinnacle of copper gilt. Overnight at 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 15:</b> Kathmandu
									</p>
									<p class="aj">After breakfast proceed for Patan - 20 kms from Kathmandu - the city with thousands of golden rooftops where they made the film "Little Buddha". An important ancient city of Kathmandu valley. Overnight at 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 16:</b> Kathmandu / Delhi Departure By Flight
									</p>
									<p class="aj">After breakfast transfer to Kathmandu airport. Arrive Delhi - proceed for sightseeing tour of OLD DELHI – visiting the Jama Masjid. At the Chandni Chowk board cycle rickshaws and see the sights & sounds of this busy street with its quaint shops & ancient gateways. After Lunch tour of NEW DELHI - drive past the stately government buildings of the British Era designed by Lutyen’s, including the Indian Gate & the Presidential Palace. Continue onto the beautiful Humayun’s tomb of the Mughal era & thereafter visit the towering minaret of Qutab Minar. After dinner transfer to IGI airport to catch flight for 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>
															</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.getsholidayindiatour.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Golden Triangle With Buddist Circuit 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="115300"/>
						</form>
						</div>
						
						";i:1;s:82:"Book Golden Triangle With Buddist Circuit Tour - 15 Nights / 16 Days Tour Packages";i:2;s:242:"book golden triangle with buddist circuit tour - 15 nights / 16 days tour packages, heritage tour packages, new delhi, jaipur, agra, lucknow, sravasti, varanasi, bodhgaya, nalanda, patna, rajgir, kushinagar, kathmandu, rupandehi tour packages";i:3;s:299:"Book Golden Triangle With Buddist Circuit Tour - 15 Nights / 16 Days tour packages from Gets Holiday India Tour - Get attractive 15 Nights / 16 Days Heritage  tour packages for  New Delhi, Jaipur, Agra, Lucknow, Sravasti, Varanasi, Bodhgaya, Nalanda, Patna, Rajgir, Kushinagar, Kathmandu, Rupandehi.";i:4;s:533:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "New Delhi, Jaipur, Agra, Lucknow, Sravasti, Varanasi, Bodhgaya, Nalanda, Patna, Rajgir, Kushinagar, Kathmandu, Rupandehi"        
		                 },
		      "description": "",
		      "name": "Golden Triangle With Buddist Circuit Tour",
		      "telephone": "+91-8532003202"
		    }
		    </script>
			";i:5;N;}