a:6:{i:0;s:14733:"				<section id="middle"><br />
				<div class="wrap packages" id="bodyFormatNT">
				<div class="row1 dt columns12"><!--MIDDLE ROW1 STARTS-->
				<div class="col-2 wideColumn ip ls"><!--MIDDLE ROW1 COL-2 STARTS-->				
									<div class="h1"><h1>Mayapur To Ganga Sagar Tour</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.mayapuryatra.com/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.mayapuryatra.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
											
					<b class="ffv p2px">&rsaquo;</b>Mayapur To Ganga Sagar Tour</p> 
									
						<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">
					
											<p class="mb5px"><b>Duration :</b> 
						1 Day 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> South 24 Parganas</p>
												<p class="mb5px"><b>Price (Starting From) :</b> <span class="dif">On Request</span></p>
												<br />
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.mayapuryatra.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Mayapur To Ganga Sagar Tour - Tour Package"/>
						<input type="hidden" name="allocate_type" value="tour"/>
						<a href="#" onclick="document.getElementById('frmpackagedetail').submit();" class="buttonBig p10px20px c5px b large dib">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="108507"/>
						</form>
						
												</p>
											</td>
											<td class="p10px vat imgWidth200 w200px lh0">
						<div class="demo-wrap">
						<ul class="lsn m0px p0px" >
															<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc w200px h200px"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_17/496710/180033.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_17/496710/180033.jpg"  width="150" height="150"    alt="Mayapur To Ganga Sagar Tour" title="Mayapur To Ganga Sagar Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
													<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Tour Detail</p>
								</div>
													
								Gangasagar Yatra is popular all over the world for the holy bath Yatra as mentioned in the Mahabharata where a learned sage explained the significance of taking dip at the confluence of Gangasagar to Bhisma. Since that time this place has been regarded as the one of the holiest places to take bath. Gangasagar Yatra especially falls on either 14th or 15th January every year in which the devotees perform their rituals and prayer and take a dip in the holy Ganges. The very concept behind this holy dip during Gangasagar Yatra is to cleanse and to purify the soul. Gangasagar Yatra is also famous all over the world for the Kumbh Mela where devotees in lakhs take holy dip in the Ganges River. Gangasagar Yatra is made to the place where the Ganges flows into the Bay of Bengal surrounded by Sagara Island and Diamond Harbor at the confluence of Ganges and Bay of Bengal. Gangasagar Yatra offers other Darshan like Gangasagar Yatra to Kapila Muni Temple, Gangasagar Yatra during Makara-Sankranti, Gangasagar Yatra to Kalna, Gangasagar Yatra to Devananda Gaudiya Math and Gangasagar Yatra to Dhameswara Temple.<br />
The visitors to the holy destination of Sagar Island seek mukti (salvation) here. On the auspicious occasion of Makar Sankranti, sometime during winter (mid-January), pilgrims from across the country come together at Ganga Sagar to take a holy dip at the confluence of the river Ganga and the Bay of Bengal. Following the sacred dip, they offer 'Puja' at the ashram located nearby which is related with Kapil Muni - the celebrated sage of ancient times.<br />
During the occasion a wonderful fair takes place at the spot. Known as Ganga Sagar Mela, or the Bathing Festival, this fair enjoys the distinction of being the largest fair in the entire West Bengal. It also happens to be the second biggest congregation of humanity after the world-renowned Kumbha Mela. The unique Bathing Festival signifies the occasion of sun making its foray into Capricorn and celebrates the liberation of man’s souls.<br />
Other attractions of the Sagar Island include, Kapil Muni temple at South Sagar, Fairgrounds at South Sagar, Sea beach at South Sagar, Sagar Marine Park at South Sagar, Sagar Lighthouse and Port at Beguakhali, Ramkrisna Mission Ashram, Sushama Devichowdhurani Marine Biological Research Institute (SDMBRI) at Bamankhali, Chimaguri Mudflat -- the entry point to the Mangrove Forest, besides Wind Mills -- The Island receives its power from the wind energy.<br />
Reaching There:- Sagar Island is located 150 km away from Kolkata -- the state’s capital – which is well connected by rail, road and air. Coming back to Sagar Island, to make a pilgrimage to this one of the most visited tourist places in India one has hire boats or ferries that regularly ply between the island and the mainland.								</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> Ganga Sagar
										</p>
										<p class="aj">1-3 pax- 5000 rs with ac taxi<br />
4-6 pax-7000 rs with ac scorpio</p>
										</td>
										</tr>
										</table>					
										</div>								<br />
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Inclusions</p>
								</div>
												
								<ul>
																</ul>
								</div>
																<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Payments Terms</p>
								</div>
								
								<ul><li>* Some Advance Percentage of total booking amount 
* Airfare/Transport fare to be paid full at one time in advance.</li></ul>					
								</div>
												
						<div class="data mt20px p15px">            
						<div class="mb7px"> 
						<p class="b xlarge mb10px dib">Accommodation</p>
						</div>				
		
				    	<table class="mb15px bdrall bdreee w100 p5px15px formTable">
						<tr class="headVr b">
						<td class="p5px10px">City</td>
						<td class="p5px10px">Hotel Name</td>
						<td class="p5px10px">Star Rating</td>
						</tr>
												</tbody>
						</table>
						</div>
												<div class="data mt20px p15px">            
						<div class="mb7px"> 
						<p class="b xlarge mb10px dib">Cancellation &amp; Refund Policy</p>
						</div>
								
						<ul><li>* 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.</li></ul>			
						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.mayapuryatra.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Mayapur To Ganga Sagar 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="108507"/>
						</form>
						</div>
						
										</div>
				<div class="col-3 thinColumn"><!--MIDDLE ROW1 COL-1 STARTS-->
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="h h2"><b class="plusMinus"></b>
				<p class="b dif rHead">Packages by City</p>
				</div>
				<div class="ic showHide_rp">
				<div class="mt10px">
									<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.mayapuryatra.com/packages-in-nadia.htm" title="Packages in Nadia">Nadia</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.mayapuryatra.com/packages-in-kolkata.htm" title="Packages in Kolkata">Kolkata</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.mayapuryatra.com/packages-in-south24-parganas.htm" title="Packages in South 24 Parganas">South 24 Parganas</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.mayapuryatra.com/packages-in-murshidabad.htm" title="Packages in Murshidabad">Murshidabad</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.mayapuryatra.com/packages-in-howrah.htm" title="Packages in Howrah">Howrah</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.mayapuryatra.com/packages-in-darwin.htm" title="Packages in Darwin">Darwin</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.mayapuryatra.com/packages-in-hooghly.htm" title="Packages in Hooghly">Hooghly</a> <b class="alpha50 bn small">(1)</b></span>
										
				</div>
				</div>
				</div>
				</div>
				
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="h h2"><b class="plusMinus"></b>
				<p class="b dif rHead">Packages by Category</p>
				</div>
				<div class="ic showHide_rp">
				<div class="mt10px">
									<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.mayapuryatra.com/heritage-holidays-catid.htm" title="Heritage Packages">Heritage</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.mayapuryatra.com/angling-holidays-catid.htm" title="Angling Packages">Angling</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.mayapuryatra.com/valley-holidays-catid.htm" title="Valley Packages">Valley</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.mayapuryatra.com/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(1)</b></span>
						
				</div>
				</div>
				</div>
				</div>
				
				
				</div>
				</div>
				
										<br />
						<div class="row1"> 
						<div class="col-1"> 
						<div class="mt30px">
						<p class="xxlarge b pb10px bdrB db"> Similar Tour Packages for South 24 Parganas</p>
						</div>
						<br/>
						<div class="cf_3img">
						<ul class="lsn m0px p0px fo idv_eqheight cols_similar">
											
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.mayapuryatra.com/tour-packages/kolkatato-ganga-sagar-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_17/496710/182102.jpg"  alt="Kolkata To Ganga Sagar Tour" title="Kolkata To Ganga Sagar Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.mayapuryatra.com/tour-packages/kolkatato-ganga-sagar-tour.htm" title="Kolkata To Ganga Sagar Tour"><h3>Kolkata To Ganga Sagar Tour</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								1 Day 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  South 24 Parganas</p>
															<div class="mt10px small">
							<form name="pkg_108504" id="pkg_108504" method="post" action="http://www.mayapuryatra.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.mayapuryatra.com/tour-packages/kolkatato-ganga-sagar-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Kolkata To Ganga Sagar Tour - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="108504"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
															
						</ul>
						</div>
						</div> 		  
						<br>
						</div>  
						<br />
										
				</div>
				</section>
				
				<script>
					window.addEventListener("DOMContentLoaded", function(){
						jQuery(document).on("click", ".showallspan", function(){
							if(jQuery(this).attr("data-target") === 'show'){
								jQuery(this).text("View Less");
								jQuery(this).attr("data-target", "hide");
								jQuery(this).closest("div").find(".spanlist").removeClass("dn");
							}else{
								jQuery(this).text("View More");
								jQuery(this).attr("data-target", "show");
								jQuery(this).closest("div").find(".spanlist").addClass("dn");
							}
						});
					});
				</script>
				";i:1;s:55:"Book Mayapur To Ganga Sagar Tour - 1 Days Tour Packages";i:2;s:112:"book mayapur to ganga sagar tour - 1 days tour packages, heritage tour packages, south 24 parganas tour packages";i:3;s:154:"Book Mayapur To Ganga Sagar Tour - 1 Days tour packages from Mayapur Tour Services - Get attractive 1 Days Heritage  tour packages for  South 24 Parganas.";i:4;s:3216:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "South 24 Parganas"        
		                 },
		      "description": "Gangasagar Yatra is popular all over the world for the holy bath Yatra as mentioned in the Mahabharata where a learned sage explained the significance of taking dip at the confluence of Gangasagar to Bhisma. Since that time this place has been regarded as the one of the holiest places to take bath. Gangasagar Yatra especially falls on either 14th or 15th January every year in which the devotees perform their rituals and prayer and take a dip in the holy Ganges. The very concept behind this holy dip during Gangasagar Yatra is to cleanse and to purify the soul. Gangasagar Yatra is also famous all over the world for the Kumbh Mela where devotees in lakhs take holy dip in the Ganges River. Gangasagar Yatra is made to the place where the Ganges flows into the Bay of Bengal surrounded by Sagara Island and Diamond Harbor at the confluence of Ganges and Bay of Bengal. Gangasagar Yatra offers other Darshan like Gangasagar Yatra to Kapila Muni Temple, Gangasagar Yatra during Makara-Sankranti, Gangasagar Yatra to Kalna, Gangasagar Yatra to Devananda Gaudiya Math and Gangasagar Yatra to Dhameswara Temple.
The visitors to the holy destination of Sagar Island seek mukti (salvation) here. On the auspicious occasion of Makar Sankranti, sometime during winter (mid-January), pilgrims from across the country come together at Ganga Sagar to take a holy dip at the confluence of the river Ganga and the Bay of Bengal. Following the sacred dip, they offer 'Puja' at the ashram located nearby which is related with Kapil Muni - the celebrated sage of ancient times.
During the occasion a wonderful fair takes place at the spot. Known as Ganga Sagar Mela, or the Bathing Festival, this fair enjoys the distinction of being the largest fair in the entire West Bengal. It also happens to be the second biggest congregation of humanity after the world-renowned Kumbha Mela. The unique Bathing Festival signifies the occasion of sun making its foray into Capricorn and celebrates the liberation of man’s souls.
Other attractions of the Sagar Island include, Kapil Muni temple at South Sagar, Fairgrounds at South Sagar, Sea beach at South Sagar, Sagar Marine Park at South Sagar, Sagar Lighthouse and Port at Beguakhali, Ramkrisna Mission Ashram, Sushama Devichowdhurani Marine Biological Research Institute (SDMBRI) at Bamankhali, Chimaguri Mudflat -- the entry point to the Mangrove Forest, besides Wind Mills -- The Island receives its power from the wind energy.
Reaching There:- Sagar Island is located 150 km away from Kolkata -- the state’s capital – which is well connected by rail, road and air. Coming back to Sagar Island, to make a pilgrimage to this one of the most visited tourist places in India one has hire boats or ferries that regularly ply between the island and the mainland.",
		      "name": "Mayapur To Ganga Sagar Tour",
		      "telephone": "+91-7797587849"
		    }
		    </script>
			";i:5;N;}