a:6:{i:0;s:14756:"				<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>Kolkata 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>Kolkata 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="Kolkata 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="108504"/>
						</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/182102.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_17/496710/182102.jpg"  width="150" height="150"    alt="Kolkata To Ganga Sagar Tour" title="Kolkata 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> Same day tour
										</p>
										<p class="aj">Same day tour<br />
1-3 pax- 4000 rs with ac taxi<br />
1-6 pax- 6000 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="Kolkata 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="108504"/>
						</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/mayapurto-ganga-sagar-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_17/496710/180033.jpg"  alt="Mayapur To Ganga Sagar Tour" title="Mayapur 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/mayapurto-ganga-sagar-tour.htm" title="Mayapur To Ganga Sagar Tour"><h3>Mayapur 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_108507" id="pkg_108507" 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/mayapurto-ganga-sagar-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Mayapur 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="108507"/>
							</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 Kolkata To Ganga Sagar Tour - 1 Days Tour Packages";i:2;s:110:"book kolkata to ganga sagar tour - 1 days tour packages, valley tour packages, south 24 parganas tour packages";i:3;s:152:"Book Kolkata To Ganga Sagar Tour - 1 Days tour packages from Mayapur Tour Services - Get attractive 1 Days Valley  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": "Kolkata To Ganga Sagar Tour",
		      "telephone": "+91-7797587849"
		    }
		    </script>
			";i:5;N;}