a:6:{i:0;s:12967:"				<div class="h1"><h1>Indo Nepal Buddhist 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>Indo Nepal Buddhist 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-11</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Duration </td>
						<td class="p5px pl0px vat">
						9 Nights / 10 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Sravasti, Varanasi, Bodhgaya, Nalanda, Patna, Rajgir, Kushinagar, Kathmandu, Lumbini, Pokhra</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="Indo Nepal Buddhist 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="115287"/>
						</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/188061.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_17/507555/188061.jpg"  width="150" height="150"    alt="Indo Nepal Buddhist Tour" title="Indo Nepal Buddhist Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					Welcome drink on arrival.<br />
Accommodation on Double / Twin Sharing Basis as Per Package Selected.<br />
Daily Breakfast.<br />
All Sightseeing as per Itinerary.<br />
All Transportation and Sightseeing by Indigo/Innova.<br />
All permit fees & hotel taxes (as per itinerary).Any Kind of Personal Expenses or Optional Tours / Extra Meals Ordered.<br />
Tips, Insurance, Laundry, Phone Calls.<br />
Any Kind of Drinks (Alcoholic, Mineral, Aerated).<br />
 Cost incidental to any change in the itinerary/ stay on account of flight cancellation due to bad weather, ill health, roadblocks and/or any factors beyond control.<br />
GST Extra<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> Kathmandu Arrival
								</p>
								<p class="aj">Arrive Kathmandu, Meet & greet and then we will proceed for sightseeing of Kathmandu City - Durbar Square complex of palaces, courtyards and temples, built between the 12th and 18th centuries, used to be the seat of the ancient Malla kings of Kathmandu. An intriguing piece here is the 17th century stone inscription set into the wall of the palace with writings in 15 languages. The Durbar Square, protected as a UNESCO as a world heritage site, is the social, religious and urban focal point of the city. There are also museums inside the palace building. Pashupatinath Temple - One of the most sacred hindu shrines in the world, pashupatinath lies 5 Km east of the city center . The richly-ornamented pagoda houses the sacred linga, or phallic symbol, of Lord Shiva. Chronical indicates the temple's existence prior to 400 AD. Devotees can be seen taking ritual dips in the holy Bagmati river flowing beside the temple, also a World heritage site. Boudnath Stupa: lies about 6 km to the east of downtown Kathmandu and is the largest stupa in the valley. It looms 36 meters high and present one of the most fascinating specimens of stupa design. Boudhnath a world heritage, is also known as Khasti. There are more than 45 Buddhist monasteries in the area. 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> Kathmandu – Pokhra
								</p>
								<p class="aj">After breakfast drive to Pokhra which will take about 6 hours drive and is about 200 Km. Pokhara is a place of remarkable natural beauty. The serenity of Phewa Lake and the magnificence of the fish tail summit rising behind it create an ambiance of peace and mazic. At an elevation lower than Kathmandu, it has much more tropical feel to it, a fact well appreciated by the beautiful diversity of flowers which prosper in its environ. Indeed, the valley surrounding pokhara is home to thick forest, gushing rivers, emerald lakes and of course, the world famous, Views of the Himalayas. 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> Pokhra – Lumbini
								</p>
								<p class="aj">Early morning drive to Sarangkot for Sunrise. After breakfast tour of Pokhara town and Boating at Phewa Lake. After noon drive to Lumbini. On arrival visit birth place of Lord Buddha. 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> Lumbini – Sravasti
								</p>
								<p class="aj">After breakfast morning drive to Sravasti. Upon arrival at Sravasti transfer to hotel and proceed for lunch. After lunch visit Jetvanaram and Angulimal Caves. 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> Sravasti – Kushinagar
								</p>
								<p class="aj">After breakfast at hotel then drive to Kushinagar. Arrive Kushinagar proceed for after lunch proceed to visit Mahaparinirvana temple and Ramabha Stupa (Cremation centre). Check-in 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> Kushinagar – Varanasi
								</p>
								<p class="aj">After breakfast at hotel then drive to Varanasi. On arrival check in to the hotel and then proceed to Sarnath (14 kms), Visit Dhamekha Stupa and Deer park. Back to Varanasi & Check-in 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 7:</b> Varanasi - Bodhgaya
								</p>
								<p class="aj">Early morning proceed for boat ride on holy river the Ganges with picturesque view of sunrise. Back hotel for breakfast, after breakfast at hotel then drive to Bodhgaya, which is 250 kms ( 05 hrs drive ) arrive at bodhgaya & transfer to hotel. Evening free for meditation at Mahabodhi premises. 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> Bodhgaya
								</p>
								<p class="aj">After breakfast proceed for full day tour to Bodhgaya visit Mahabodhi Temple, Sujata Village, Niranjana river, 80 feet high lord Buddha Statue & Various international monasteries. 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 – Rajgir /Nalanda – Bodhgaya
								</p>
								<p class="aj">After breakfast at hotel. Excursion to Rajgir (65 Kms). visit Gridhkutta (Vulture's peak), World Peace Stupa, Venuvanaram & Bimbisar Prison. After lunch drive to Nalanda (12 kms) to visit the ruins of world ancient University. It was one of the oldest Universities of the World & International Centre for Buddhist Studies. Thereafter drive back to Bodhgaya, on arrival 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 10:</b> Bodhgaya – Patna Departure
								</p>
								<p class="aj">After breakfast at hotel day at leisure. After Lunch drive to Patna. On arrival transfer to airport to connect the flight for onward destination.</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">Exclusions :</p> <ul><li>Any Kind of Personal Expenses or Optional Tours / Extra Meals Ordered.</li><li>
Tips, Insurance, Laundry, Phone Calls.</li><li>
Any Kind of Drinks (Alcoholic, Mineral, Aerated).</li><li>
 Cost incidental to any change in the itinerary/ stay on account of flight cancellation due to bad weather, ill health, roadblocks and/or any factors beyond control.</li><li>
GST Extra</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="Indo Nepal Buddhist 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="115287"/>
						</form>
						</div>
						
						";i:1;s:64:"Book Indo Nepal Buddhist Tour - 9 Nights / 10 Days Tour Packages";i:2;s:210:"book indo nepal buddhist tour - 9 nights / 10 days tour packages, religious & pilgrimage tour packages, sravasti, varanasi, bodhgaya, nalanda, patna, rajgir, kushinagar, kathmandu, lumbini, pokhra tour packages";i:3;s:266:"Book Indo Nepal Buddhist Tour - 9 Nights / 10 Days tour packages from Gets Holiday India Tour - Get attractive 9 Nights / 10 Days Religious & Pilgrimage  tour packages for  Sravasti, Varanasi, Bodhgaya, Nalanda, Patna, Rajgir, Kushinagar, Kathmandu, Lumbini, Pokhra.";i:4;s:1081:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Sravasti, Varanasi, Bodhgaya, Nalanda, Patna, Rajgir, Kushinagar, Kathmandu, Lumbini, Pokhra"        
		                 },
		      "description": "Welcome drink on arrival.
Accommodation on Double / Twin Sharing Basis as Per Package Selected.
Daily Breakfast.
All Sightseeing as per Itinerary.
All Transportation and Sightseeing by Indigo/Innova.
All permit fees & hotel taxes (as per itinerary).Any Kind of Personal Expenses or Optional Tours / Extra Meals Ordered.
Tips, Insurance, Laundry, Phone Calls.
Any Kind of Drinks (Alcoholic, Mineral, Aerated).
 Cost incidental to any change in the itinerary/ stay on account of flight cancellation due to bad weather, ill health, roadblocks and/or any factors beyond control.
GST Extra",
		      "name": "Indo Nepal Buddhist Tour",
		      "telephone": "+91-8532003202"
		    }
		    </script>
			";i:5;N;}