a:6:{i:0;s:17226:"				<div class="h1"><h1>Buddhist Circuit Special Packages 2</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.grandindiatrip.com/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.grandindiatrip.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Buddhist Circuit Special Packages 2</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">budhhist piligrims p</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Duration </td>
						<td class="p5px pl0px vat">
						6 Nights / 7 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">New Delhi, Lucknow, Sravasti, Varanasi, Bodhgaya, Patna, Kushinagar, Lumbini</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Price (Starting From) </td>
						<td class="p5px pl0px vat">
						INR 34335 Per Person						</td>
						</tr>
												<tr>
						<td></td>
						<td>
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.grandindiatrip.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Buddhist Circuit Special Packages 2 - 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="57688"/>
						</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_9/257644/109488.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_9/257644/109488.jpg"  width="150" height="150"    alt="Buddhist Circuit Special Packages 2" title="Buddhist Circuit Special Packages 2" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					Shravasti: <br />
Shravasti, the north-eastern town, located near the West Rapti River is closely associated with the life of Gautama Buddha. Buddha is believed to have spent 24 Chaturmases here. Age-old stupas, majestic viharas and several temples establish Buddha's association with Shravasti. It is being said that the Vedic Bharat period king Sravast founded this town, the capital of the Kosala Kingdom during 6th BC to 6th AD. This prosperous trading center was well known for its religious.<br />
Lumbini: <br />
Lumbini is a Buddhist pilgrimage site in the Rupandehi district of Nepal, the place where Queen Mayadevi gave birth to Siddhartha Gautama. Siddartha as the Buddha Gautama founded the Buddhist tradition. Between roughly 563 and 483 BCE, Lumbini was one of four magnets for pilgrimage that sprang up in places pivotal to the life of the Buddha, the others being at Kushinagar, Bodh Gaya and Sarnath. <br />
Kushinagar <br />
Kushinagar: Kushinagar is an important Buddhist pilgrimage site, where Gautama Buddha is thought to have attained Parinirvana after his death. In ancient times, it was known as Kushavati and finds mention in epic Ramayan as the city of Kusha the son of Ram. Kushinagar was a celebrated center of the Malla kingdom of ancient India, later known as Kushinara, one of the most important holy sites for Buddhists. At this location, near the Hiranyavati River, Gautama Buddha attained final Nirvana<br />
Varanasi: <br />
Varanasi is situated on the banks of the Ganges, 320 kilometres southeast of Lucknow. It is regarded as a holy city by Hindus, Buddhists and Jains as it is one of the oldest continuously inhabited cities in the world and the oldest in India. The Kashi Naresh is the chief cultural patron of Varanasi while the culture of Varanasi is closely associated with the River Ganges and the river's religious importance. The city has been a cultural and religious centre in North India for thousand...<br />
Bodhgaya<br />
Bodhgaya: Bodh Gaya is a religious site and place of pilgrimage associated with the Mahabodhi Temple Complex. It is famous for being the place where Gautama Buddha is said to have obtained Enlightenment, also known as Bodhimandala. The place-name, Bodh Gaya, did not come into use until the 18th century CE as historically it was known as Uruvela, Sambodhi or Mahabodhi. The main monastery of Bodh Gaya used to be called the Bodhimanda-vihara, which is now called the Mahabodhi Temple<br />
Patna: <br />
Patna is one of the oldest continuously inhabited places in the world as Ancient city, known as Pataliputra, was the capital of the Magadha Empire under the Haryanka, Nanda, Mauryan, Sunga, Gupta and Pala. Pataliputra was also a seat of learning and fine arts as its population during the Maurya period in 300 BCE was about 400,000. The modern city of Patna is situated on the southern bank of the Ganges, which also straddles the rivers Sone, Gandak and PunpunAirfares train fare.<br />
Any monastery entrance fees, Any Joy ride or rafting.<br />
Medical expenses (apart from first aid) and insurance of any kind.<br />
Tips, laundry, liquors, wines, mineral water, telephone charges, camera fee and items of personal nature.<br />
Transportation is not on disposal basis. It is strictly as per the programme, any extra running will be charges extra.<br />
Any other item not mentioned in the cost includes section.06-0430-09<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 / Lucknow / Sravasti
								</p>
								<p class="aj">Leave Delhi by flight or train for Lucknow arrive Lucknow, meeting and assistance and straight proceed to Sravasti by bus / car (170 kms). Arrive Sravasti, transfer to hotel. Overnight in Sravasti.</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> Sravasti / Lumbini
								</p>
								<p class="aj">Breakfast at hotel. Morning visit Sahet Mahet, capital of ancient Kingdom of Kosala, Jetvana Vihar & Buddhist temples. Leave Sravasti for Lumbini (in Nepal, 225 kms). Arrive Lumbini, transfer to hotel. Overnight in Lumbini. Lumbini- where Lord Buddha was Born</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> Lumbini/ Kushinagar
								</p>
								<p class="aj">Morning visit Mayadevi temple, Ashokan Pillar & stupas. Leave Lumbini for Kushinagar (161 kms.). Arrive Kushinagar, transfer to hotel. Overnight in Kushinagar Kushinagar - The place where Buddha entered perfect tranquillity the state of Maha Pari Nirvana</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> Kushinagar / Varanasi
								</p>
								<p class="aj">Morning visit MahaPariNirvana temple & Ramabhar Stupa (cremation place of Lord Buddha). After breakfast leave Kushinagar for Varanasi (260 kms), On arrival transfer to hotel. Overnight in Varanasi. Sarnath- the place where Lord Buddha preached First Sermon.</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> Varanasi / Bodhgaya
								</p>
								<p class="aj">Early morning boat ride on river Ganges to see the Bathing & Cremation Ghats. Breakfast at hotel. Morning city sightseeing tour visiting Bharat Mata temple, and Banaras Hindu University. Leave Varanasi for Bodhgaya (242 kms), enroute visiting Sarnath- The buried Buddhist city where Lord Buddha gave his First Sermon. Visit Buddhist temple, Stupas, Museum and ruins. On arrival at Bodhgaya, transfer to hotel. Overnight in Bodhgaya Bodhgaya- the place where Lord Buddha attained Enlightenment under the sacred Bodhi Tree.</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> Bodhgaya / Patna
								</p>
								<p class="aj">Breakfast at hotel. Morning visit Mahabodhi Temple. Leave Bodhgaya for Patna enroute visiting Rajgir & Nalanda. Rajgir is a site of great sanctity and significance for Buddhists. Afternoon visit Gridhakuta Hill, Bimbisara jail. Drive to Nalanda which is 14 kms drive and it was one of the oldest University of the World & International Centre for Buddhist Studies. Drive to Patna which is 90 kms, on arrival at Patna transfer to railway station / airport to connect train / flight for 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 7:</b> Delhi / Onward Destination
								</p>
								<p class="aj">Leave Delhi for onward destination.</p>
								</td>
								</tr>
								</table>					
								</div>						<br />
													<div class="headHr">
				            <p class="p7px b pl10px xlarge">Hotel Detail : </p>
				            </div>
															<div class="data lh13em p20px aj mb7px">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px"><p class="fr lh0">
								
																	<img class="vam" src="https://static.tourtravelworld.com/images/star_ratings_on.png" alt=""/>
																		<img class="vam" src="https://static.tourtravelworld.com/images/star_ratings_on.png" alt=""/>
																		<img class="vam" src="https://static.tourtravelworld.com/images/star_ratings_on.png" alt=""/>
																		<img class="vam" src="https://static.tourtravelworld.com/images/star_ratings_on.png" alt=""/>
																		<img class="vam" src="https://static.tourtravelworld.com/images/star_ratings_on.png" alt=""/>
																		<img class="vam" src="https://static.tourtravelworld.com/images/star_ratings_off.png" alt=""/>
																		<img class="vam" src="https://static.tourtravelworld.com/images/star_ratings_off.png" alt=""/>
																	
								</p>
								<div class="mb5px">
								<h2 class="dif b xxlarge">Hotel Ramada Plaza</h2>
								</div>
								<p class="cb"></p>
								<p><b>Address :</b> Varanasi, Uttar Pradesh, India</p>
								<p><b>Facility :</b> </p>
								<div class="mt7px">Hotel Ramada Plaza is the Best Hotel</div>
								</td>
								
																	<td class="p10px vat imgWidth150 w150px lh0">
									<div class="demo-wrap">
									<ul class="lsn m0px p0px" id="detailslider2">
																					<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc w150px h150px"><a rel="gall" data-fancybox="showZoomImage2" href="https://ttw.wlimg.com/hotel-package-images/photo-big/dir_9/257644/9133.jpg"><img src="https://ttw.wlimg.com/hotel-package-images/photo-small/dir_9/257644/9133.jpg"  width="150" height="150"    alt="Ramada plaza" title="Ramada plaza" class="bdr"  /></a></p></div></li>
																								<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc w150px h150px"><a rel="gall" data-fancybox="showZoomImage2" href="https://ttw.wlimg.com/hotel-package-images/photo-big/dir_9/257644/9176.jpg"><img src="https://ttw.wlimg.com/hotel-package-images/photo-small/dir_9/257644/9176.jpg"  width="150" height="150"    alt="Varanasi Heritage tour" title="Varanasi Heritage tour" class="bdr"  /></a></p></div></li>
																					</ul>
									</div>
									</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>Sightseeing</li>
																		<li>Transport</li>
																		<li>Transfers</li>
															</ul>
						<br />
												<p class="large b mb5px dif">Exclusions :</p> <ul><li>Airfares train fare.</li><li>
Any monastery entrance fees, Any Joy ride or rafting.</li><li>
Medical expenses (apart from first aid) and insurance of any kind.</li><li>
Tips, laundry, liquors, wines, mineral water, telephone charges, camera fee and items of personal nature.</li><li>
Transportation is not on disposal basis. It is strictly as per the programme, any extra running will be charges extra.</li><li>
Any other item not mentioned in the cost includes section.</li></ul><br />
												<p class="large b mb5px dif">Specific Departure Dates :</p>Hotels Used<br />
<br />
Place<br />
<br />
Luxury<br />
<br />
Deluxe<br />
<br />
Standard<br />
<br />
Sravasti<br />
<br />
Hotel Lotus Nikko<br />
<br />
Hotel Lotus Nikko<br />
<br />
Hotel Lotus Nikko<br />
<br />
Lumbini<br />
<br />
Buddha Maya Garden / Pawan International / Hotel Nirwana<br />
<br />
Lumbini Buddha Garden / Hotel Rainbow<br />
<br />
Lumbini Village Lodge / Lumbini Buddha Hotel<br />
<br />
Kushinagar<br />
<br />
Lotus Nikko / Hotel Royal Residency<br />
<br />
International Guest House<br />
<br />
Pathik Niwas / Watt Thai Guest House<br />
<br />
Varanasi<br />
<br />
Palace on Ganges /Hotel Ziras / Ranada / Le Meridian / Hotel Idel Tower<br />
<br />
Hotel siddartha / Hotel O.K. International / Pallavi International / Hotel Padmini / Hotel Diamond<br />
<br />
Hotel Pradeep / Hotel River Palace / M.M. Continental / Hotel Surya / Hotel Surabhi / Hotel Vaibhav<br />
												<p class="large b mb5px dif">Departure Cities with rates :</p>NUMBER OF PAX

Luxury

Deluxe

Standard

Min 02 pax

34335

      27000

        19125

Min 04 pax

31999

      26000

18999

Min 06 Pax

          30290

24000

16455

Extra Bed (above 05 years)

14825

11800

7900<br /><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.grandindiatrip.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Buddhist Circuit Special Packages 2 - 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="57688"/>
						</form>
						</div>
						
						";i:1;s:74:"Book Buddhist Circuit Special Packages 2 - 6 Nights / 7 Days Tour Packages";i:2;s:204:"book buddhist circuit special packages 2 - 6 nights / 7 days tour packages, religious & pilgrimage tour packages, new delhi, lucknow, sravasti, varanasi, bodhgaya, patna, kushinagar, lumbini tour packages";i:3;s:263:"Book Buddhist Circuit Special Packages 2 - 6 Nights / 7 Days tour packages from Grand India Tours & Travels - Get attractive 6 Nights / 7 Days Religious & Pilgrimage  tour packages for  New Delhi, Lucknow, Sravasti, Varanasi, Bodhgaya, Patna, Kushinagar, Lumbini.";i:4;s:3808:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "New Delhi, Lucknow, Sravasti, Varanasi, Bodhgaya, Patna, Kushinagar, Lumbini"        
		                 },
		      "description": "Shravasti: 
Shravasti, the north-eastern town, located near the West Rapti River is closely associated with the life of Gautama Buddha. Buddha is believed to have spent 24 Chaturmases here. Age-old stupas, majestic viharas and several temples establish Buddha's association with Shravasti. It is being said that the Vedic Bharat period king Sravast founded this town, the capital of the Kosala Kingdom during 6th BC to 6th AD. This prosperous trading center was well known for its religious.
Lumbini: 
Lumbini is a Buddhist pilgrimage site in the Rupandehi district of Nepal, the place where Queen Mayadevi gave birth to Siddhartha Gautama. Siddartha as the Buddha Gautama founded the Buddhist tradition. Between roughly 563 and 483 BCE, Lumbini was one of four magnets for pilgrimage that sprang up in places pivotal to the life of the Buddha, the others being at Kushinagar, Bodh Gaya and Sarnath. 
Kushinagar 
Kushinagar: Kushinagar is an important Buddhist pilgrimage site, where Gautama Buddha is thought to have attained Parinirvana after his death. In ancient times, it was known as Kushavati and finds mention in epic Ramayan as the city of Kusha the son of Ram. Kushinagar was a celebrated center of the Malla kingdom of ancient India, later known as Kushinara, one of the most important holy sites for Buddhists. At this location, near the Hiranyavati River, Gautama Buddha attained final Nirvana
Varanasi: 
Varanasi is situated on the banks of the Ganges, 320 kilometres southeast of Lucknow. It is regarded as a holy city by Hindus, Buddhists and Jains as it is one of the oldest continuously inhabited cities in the world and the oldest in India. The Kashi Naresh is the chief cultural patron of Varanasi while the culture of Varanasi is closely associated with the River Ganges and the river's religious importance. The city has been a cultural and religious centre in North India for thousand...
Bodhgaya
Bodhgaya: Bodh Gaya is a religious site and place of pilgrimage associated with the Mahabodhi Temple Complex. It is famous for being the place where Gautama Buddha is said to have obtained Enlightenment, also known as Bodhimandala. The place-name, Bodh Gaya, did not come into use until the 18th century CE as historically it was known as Uruvela, Sambodhi or Mahabodhi. The main monastery of Bodh Gaya used to be called the Bodhimanda-vihara, which is now called the Mahabodhi Temple
Patna: 
Patna is one of the oldest continuously inhabited places in the world as Ancient city, known as Pataliputra, was the capital of the Magadha Empire under the Haryanka, Nanda, Mauryan, Sunga, Gupta and Pala. Pataliputra was also a seat of learning and fine arts as its population during the Maurya period in 300 BCE was about 400,000. The modern city of Patna is situated on the southern bank of the Ganges, which also straddles the rivers Sone, Gandak and PunpunAirfares train fare.
Any monastery entrance fees, Any Joy ride or rafting.
Medical expenses (apart from first aid) and insurance of any kind.
Tips, laundry, liquors, wines, mineral water, telephone charges, camera fee and items of personal nature.
Transportation is not on disposal basis. It is strictly as per the programme, any extra running will be charges extra.
Any other item not mentioned in the cost includes section.06-0430-09",
		      "name": "Buddhist Circuit Special Packages 2",
		      "telephone": "+91-9415285186"
		    }
		    </script>
			";i:5;N;}