a:6:{i:0;s:17230:"				<div class="h1"><h1>Buddhist Circuit Special Packages 2</h1></div>
				<p class="breadcrumb ar uu small"><a href="https://www.grandindiatrip.com/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="https://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="https://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="https://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;}