a:6:{i:0;s:5780:"				<div class="h1"><h1>Madurai with Rameshwaram Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.geetcompany.com/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.geetcompany.com/holiday-tour-packages.htm" title="Holiday Tour Packages">Holiday Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Madurai with Rameshwaram Tour</p>
				<br />
				
									<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>
					
					<table class="w100 formTable imgWidth">
					<tr>
					
											<td class="p10px vat imgWidth150 w150px">
						<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_1/22362/55159.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_1/22362/55159.jpg"  width="150" height="150"    alt="Madurai with Rameshwaram Tour" title="Madurai with Rameshwaram Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											
					<td class="p10px">
											<p class="mb5px"><b>Tour Code :</b> 124</p>
												<p class="mb5px"><b>Duration :</b> 
						2 Nights / 3 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Madurai, Rameshwaram</p>
												<p><b>Price (Starting From) :</b>						
						INR 8600 Per Person						</p>
												<br />
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.geetcompany.com/travel-inquiry.htm">
						<input type="hidden" name="subject" value="Madurai with Rameshwaram 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="28128"/>
						</form>
						</p>
											</td>
					</tr>
					</table>
											<div class="mt7px dif">* Mentioned prices may vary depending upon date of travel, hotel availability, surge pricing and seasonal rush.</div>
											<br />
					
					<div class="packageTabs myTabs horizontal mc"><!--MY TABS STARTS-->
					<ul class="fo lsn m0px p0px">
					
											<li id="tab2"><a href="#data2">Itinerary</a></li>
												<li id="tab4"><a href="#data4">Tour Detail</a></li>
												<li id="tab6"><a href="#data6">Terms &amp; Conditions</a></li>
											</ul>
					
					
											<div class="ic bdr" id="data2"><!--DATA2 START-->
						<br />
						<ul class="lsn m0px p0px">
									<li>
									<p class="b mb5px">Day 1: Madurai
									</p>
									<div class="data p10px">Arrival at Madurai Airport check in hotel. Evening visit Meenakshi Temple. Overnight stay at Madurai Hotel.</div>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 2: Madurai - Rameswaram - Madurai
									</p>
									<div class="data p10px">After Breakfast Day Excursion to Rameswaram which is around 175kms (4hrs) drive from Madurai where you can visit Ranganathaswamy temple, Dhanushukhi temple etc. Overnight stay at Madurai hotel.</div>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 3: Departure
									</p>
									<div class="data p10px">After breakfast check-out from hotel and processed Airport Drop.</div>					
									</li>
									<br />					
							</ul>						<!--DATA2 EMD--></div>
											
						<div class="ic bdr" id="data4"><!--DATA4 START-->
						<br />
						Madurai<br />
Chennai, the city situated at the Coromondal coast of Bay of Bengal is often recognized as the 'Detroit of India' and the 'Gateway of South'. The fourth largest and one of the prosperous cities of the country, Chennai is an attraction in itself. It is the capital of the state Tamil Nadu, and fifth most populous city of India. It would not be hyperbolic to designate it as the liveliest city in the entire South India. The city has its own unique charm, which sets it aside from the rest of the big cities of the country. A great confluence of rich tradition, varied heritage, modern amenities and technology, Chennai is the vibrant place in the vicinity of nature.3.09% Government Service Tax.<br />
Anything else which is not mentioned in the Package.<br />
Surcharges applicable on some dates.01-1031-03							<p class="b mb5px dif">Inclusions :</p>
							<ul>
																	<li>Hotel</li>
																				<li>Sightseeing</li>
																				<li>Transport</li>
																	</ul>
							<br />
														<p class="b mb5px dif">Exclusions :</p> <ul><li>3.09% Government Service Tax.</li><li>
Anything else which is not mentioned in the Package.</li><li>
Surcharges applicable on some dates.</li></ul><br />
													<!--DATA4 EMD--></div>
												<div class="ic bdr" id="data6"><!--DATA6 START-->
						<br />
						* 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. ~^#^~						<!--DATA6 EMD--></div>
											
					<!--MY TABS END--></div>
					";i:1;s:68:"Book Madurai with Rameshwaram Tour - 2 Nights / 3 Days Tour Packages";i:2;s:128:"book madurai with rameshwaram tour - 2 nights / 3 days tour packages, heritage tour packages, madurai, rameshwaram tour packages";i:3;s:174:"Book Madurai with Rameshwaram Tour - 2 Nights / 3 Days tour packages from Geet & Company - Get attractive 2 Nights / 3 Days Heritage  tour packages for  Madurai, Rameshwaram.";i:4;s:1227:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Madurai, Rameshwaram"        
		                 },
		      "description": "Madurai
Chennai, the city situated at the Coromondal coast of Bay of Bengal is often recognized as the 'Detroit of India' and the 'Gateway of South'. The fourth largest and one of the prosperous cities of the country, Chennai is an attraction in itself. It is the capital of the state Tamil Nadu, and fifth most populous city of India. It would not be hyperbolic to designate it as the liveliest city in the entire South India. The city has its own unique charm, which sets it aside from the rest of the big cities of the country. A great confluence of rich tradition, varied heritage, modern amenities and technology, Chennai is the vibrant place in the vicinity of nature.3.09% Government Service Tax.
Anything else which is not mentioned in the Package.
Surcharges applicable on some dates.01-1031-03",
		      "name": "Madurai with Rameshwaram Tour",
		      "telephone": "+91-9896771268"
		    }
		    </script>
			";i:5;N;}