a:6:{i:0;s:9713:"				<div class="h1"><h1>Dziners Mauritius with Madagascar Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.dzinerholidays.com/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.dzinerholidays.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Dziners Mauritius with Madagascar Tour</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">OSARMM</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Duration </td>
						<td class="p5px pl0px vat">
						7 Nights / 8 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Port Louis, MAURITIUS, MADAGASCAR</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Starting From </td>
						<td class="p5px pl0px vat">
						USD 1080 Per Person						</td>
						</tr>
												<tr>
						<td></td>
						<td>
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.dzinerholidays.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Dziners Mauritius with Madagascar 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="158874"/>
						</form>
						</p>
						</td>
						</tr>
											</table>
					</td>
											<td class="p10px vat imgWidth150 w150px lh0">
						<div class="demo-wrap">
						<ul class="lsn m0px p0px" id="detailslider1">
															<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_8/225755/243972.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_8/225755/243972.jpg"  height="150"  width="150"    alt="Burj 1" title="Burj 1" /></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="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_8/225755/243973.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_8/225755/243973.jpg"  height="150"  width="150"    alt="Burj 2" title="Burj 2" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					Day 1 : Arrival At Mauritius.<br />
day 2 : Mauritius - Ile Aux Cerfs.<br />
day 3 : Mauritius- North Island Tour.<br />
day 4 : Mauritius- South Island Tour.<br />
day 5 : Departure from Mauritius to Antananarivo - Madagascar. <br />
day 6 : Antananarivo – Andasibe.<br />
day 7 : Andasibe – Antananarivo<br />
day 8 : Antananarivo Madagascar – Fly HomeTOUR COST EXCLUDES<br />
Return airfare with taxes.<br />
Any Meals other than specified in inclusions.<br />
Optional Activities.<br />
Tips and Drinks<br />
Personal expenses such as tips, porterage, telephone calls, rooms service, etc.<br />
Surcharge will be applicable on particular events, festival, exhibition & fairs.<br />
Any security deposit asked by the hotel during check in.<br />
Travel Insurance.<br />
Visa Charges.<br />
GST extra.<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> 
								</p>
								<p class="aj">Arrival At Mauritius.</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> 
								</p>
								<p class="aj">Mauritius - Ile Aux Cerfs.</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> 
								</p>
								<p class="aj">Mauritius- North Island Tour.</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> 
								</p>
								<p class="aj">Mauritius- South Island Tour.</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> 
								</p>
								<p class="aj">Departure from Mauritius to Antananarivo - Madagascar.</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> 
								</p>
								<p class="aj">Antananarivo – Andasibe.</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> 
								</p>
								<p class="aj">Andasibe – Antananarivo</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 8:</b> 
								</p>
								<p class="aj">Antananarivo Madagascar – Fly Home.</p>
								</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>TOUR COST INCLUDES</li><li>
04 Nights accommodation in Mauritius</li><li>
02 Nights accommodation in Tana.</li><li>
01 Nights accommodation in Andasibe </li><li>
Daily Breakfast & Dinner at hotel.</li><li>
Full day tour to North Island.</li><li>
Full day tour to Ile aux Cerfs with speed boat.</li><li>
Full Day tour to South Island</li><li>
Full Day tour to Andasibe National Park</li><li>
Half Day tour to Analamazaotra forest</li><li>
Half Day Antananarivo city tour</li><li>
All Airport Transfers</li><li>
All Inter Hotel transfers</li><li>
All tours & transfers on seat in coach basis.</li>
													</ul>
						<br />
												<p class="large b mb5px dif">Exclusions :</p> <ul><li>TOUR COST EXCLUDES</li><li>
Return airfare with taxes.</li><li>
Any Meals other than specified in inclusions.</li><li>
Optional Activities.</li><li>
Tips and Drinks</li><li>
Personal expenses such as tips, porterage, telephone calls, rooms service, etc.</li><li>
Surcharge will be applicable on particular events, festival, exhibition & fairs.</li><li>
Any security deposit asked by the hotel during check in.</li><li>
Travel Insurance.</li><li>
Visa Charges.</li><li>
GST extra.</li></ul><br />
												<p class="large b mb5px dif">Specific Departure Dates :</p>Tours can be arranged all year round as per your travel dates<br />
												<p class="large b mb5px dif">Departure Cities with rates :</p>Any city from all over the world<br /><br />
												</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.dzinerholidays.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Dziners Mauritius with Madagascar 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="158874"/>
						</form>
						</div>
						
						";i:1;s:77:"Book Dziners Mauritius with Madagascar Tour - 7 Nights / 8 Days Tour Packages";i:2;s:161:"book dziners mauritius with madagascar tour - 7 nights / 8 days tour packages, beaches and islands tour packages, port louis, mauritius, madagascar tour packages";i:3;s:215:"Book Dziners Mauritius with Madagascar Tour - 7 Nights / 8 Days tour packages from Dziner Travel Concepts - Get attractive 7 Nights / 8 Days Beaches and Islands  tour packages for  Port Louis, MAURITIUS, MADAGASCAR.";i:4;s:1167:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Port Louis, MAURITIUS, MADAGASCAR"        
		                 },
		      "description": "Day 1 : Arrival At Mauritius.
day 2 : Mauritius - Ile Aux Cerfs.
day 3 : Mauritius- North Island Tour.
day 4 : Mauritius- South Island Tour.
day 5 : Departure from Mauritius to Antananarivo - Madagascar. 
day 6 : Antananarivo – Andasibe.
day 7 : Andasibe – Antananarivo
day 8 : Antananarivo Madagascar – Fly HomeTOUR COST EXCLUDES
Return airfare with taxes.
Any Meals other than specified in inclusions.
Optional Activities.
Tips and Drinks
Personal expenses such as tips, porterage, telephone calls, rooms service, etc.
Surcharge will be applicable on particular events, festival, exhibition & fairs.
Any security deposit asked by the hotel during check in.
Travel Insurance.
Visa Charges.
GST extra.",
		      "name": "Dziners Mauritius with Madagascar Tour",
		      "telephone": "+91-9825121020"
		    }
		    </script>
			";i:5;N;}