a:6:{i:0;s:11478:"				<div class="h1"><h1>Malaysian Retreat Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.sanskrutivacations.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.sanskrutivacations.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Malaysian Retreat 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">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">Kuala Lumpur</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Price (Starting From) </td>
						<td class="p5px pl0px vat">
						INR 73500 Per Person						</td>
						</tr>
												<tr>
						<td></td>
						<td>
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.sanskrutivacations.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Malaysian Retreat 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="51972"/>
						</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_14/393874/102219.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_14/393874/102219.jpg"  width="150" height="150"    alt="Malaysian Retreat Tour" title="Malaysian Retreat Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</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> Arrival
								</p>
								<p class="aj">Depart from Mumbai International Airport by Malindo Airline OD 0216 AT 2315.</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> Arrival Klia Airport / Kuala Lumpur
								</p>
								<p class="aj">(SUN) (01 COACH + 01 ENGLISH SPEAKING TOUR GUIDE ) <br />
07:00 Hrs Arrival, Meet & Transfer From KLIA Airport To Kuala Lumpur<br />
 (Important Note : Early Check-In Subject To Availability Of Room / Standard Check-In Time @ 1500 Hours )<br />
08:00 Hrs Breakfast @ Indian Restaurant-PUTRA JAYA <br />
 * Half Day Putra Jaya with Kuala Lumpur City Tour with KL Tower<br />
13:00 Hrs Lunch @ Indian Restaurant-KUL <br />
16:00 Hrs Kuala Selangor Fire Fly With Boat Ride<br />
22:00 Hrs Dinner @ Indian Restaurant-KUL <br />
Hotel Star Point Hotel Kuala Lumpur</p>					
									<p><b>Meals : </b> ( B / L / D )</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> Kuala Lumpur
								</p>
								<p class="aj">(MON) (01 COACH + 01 ENGLISH SPEAKING TOUR GUIDE )<br />
06:30-08:00H Breakfast @ Hotel <br />
08:00 Hrs<br />
Full Day Genting Highlands Tour<br />
Visit Batu Caves<br />
01 Way Genting Cable Car<br />
13:00 Hrs Lunch @ First World Café Restaurant-GEN<br />
Genting Indoor + Snow World<br />
20:00Hrs Dinner @ Indian Restaurant - KUL<br />
Hotel Star Point Hotel Kuala Lumpur </p>					
									<p><b>Meals : </b> ( B / L / D )</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> Kuala Lumpur / Taman Negara
								</p>
								<p class="aj">(TUE) (01 COACH + 01 ENGLISH SPEAKING TOUR GUIDE )<br />
06:30-08:00H Breakfast @ Hotel <br />
08:00 Hrs Check-Out<br />
08:00 Hrs Meet & Overland Transfer From Kuala Lumpur To Kuala Tembeling Jetty<br />
(Approx 4 Hrs Drive )<br />
(Important Note : Early Check-In Subject To Availability Of Room / Standard Check-In Time @ 15:00 Hours )<br />
13:00 Hrs Lunch @ Local Restaurant <br />
Transfer By Boat From Kuala Tembeling Jetty To Taman Negara Resort<br />
Visit Orang Asli<br />
19:00Hrs Dinner @ Mutiara Taman Negara Resort <br />
Night Jungle Walk<br />
Hotel Mutiara Taman Negara Resort</p>					
									<p><b>Meals : </b> ( B / L / D )</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> Taman Negara / Cameron Highlands
								</p>
								<p class="aj">(WED) (01 COACH + 01 ENGLISH SPEAKING TOUR GUIDE )<br />
06:30-0800H Breakfast @ Hotel <br />
08:00 Hrs Canopy Walk<br />
Rapid Shooting<br />
12:00 Hrs Check-Out<br />
13:00Hrs Lunch @ Mutiara Taman Negara Resort <br />
14:00 Hrs Transfer By Boat From Taman Negara Resort To Kuala Tembeling Jetty<br />
Meet & Overland Transfer From Kuala Tembeling Jetty To Cameron Highlands<br />
 (Important Note : Early Check-In Subject To Availability Of Room / Standard Check-In Time @ 15:00 Hours )<br />
20:00Hrs Dinner @ Local Restaurant-CMH <br />
Hotel Heritage Hotel Cameron Highlands</p>					
									<p><b>Meals : </b> ( B / L / D )</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> Cameron Highlands
								</p>
								<p class="aj">(WED) (01 COACH + 01 ENGLISH SPEAKING TOUR GUIDE )<br />
06:30-10:00H Breakfast @ Hotel <br />
10:00 Hrs Cameron Highlands Tour including visit to Buddhist Temple, Rose & Flower Centre, Strawberry Farm, Orchid garden, Lavender park and visit to Tea Plantation with Tea tasting.<br />
13:00Hrs Lunch @ Local Restaurant-CMH <br />
Free<br />
20:00Hrs Dinner @ Local Restaurant-CMH <br />
Hotel Heritage Hotel Cameron Highlands</p>					
									<p><b>Meals : </b> ( B / L / D )</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> Cameron Highlands / Penang
								</p>
								<p class="aj">(FRI) (01 COACH + 01 ENGLISH SPEAKING TOUR GUIDE )<br />
06:30-07:00H Breakfast @ Hotel <br />
0700 Hrs Check-Out<br />
Meet & Overland Transfer From Cameron Highlands To Penang you’ll cross over into Penang via Penang Bridge. Spanning eight miles (13.5 km)<br />
(Important Note : Early Check-In Subject To Availability Of Room / Standard Check-In Time @ 15:00 Hours )<br />
En-Route Visit Taiping Zoo + Taiping Museum +Taiping Lake Gardens + Orangutan Island<br />
13:00Hrs Lunch @ Local Restaurant <br />
Transfer To Penang<br />
20:00Hrs Dinner @ Indian Restaurant-PEN <br />
Hotel Copthorne Orchid Hotel Penang</p>					
									<p><b>Meals : </b> ( B / L / D )</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> Penang - Departure - Penang / Pen Airport
								</p>
								<p class="aj">(SAT) (01 COACH + 01 ENGLISH SPEAKING TOUR GUIDE )<br />
0630-1000H Breakfast @ Hotel <br />
1000 Hrs Half Day Penang Tour + Trishaw <br />
1300Hrs Lunch @ Indian Restaurant-PEN <br />
Shopping<br />
2000Hrs Dinner @ Indian Restaurant-PEN <br />
Hotel Copthorne Orchid Hotel Penang<br />
<br />
(SUN) (01 COACH + 01 ENGLISH SPEAKING TOUR GUIDE )<br />
0600-1000H Breakfast @ Hotel <br />
1100 Hrs Check-Out <br />
1130 Hrs Meet & Transfer From Copthorne Orchid Hotel Penang To KUL Airport <br />
0230 Hrs Light Snack en route to the Airport<br />
0500 Hrs Drop to the Airport for your return flight OD 0215 departing at 1955.<br />
Arrive at Mumbai International Airport at 2225.</p>					
									<p><b>Meals : </b> ( B / L / D )</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>
												</ul>
						<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="http://www.sanskrutivacations.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Malaysian Retreat 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="51972"/>
						</form>
						</div>
						
						";i:1;s:61:"Book Malaysian Retreat Tour - 7 Nights / 8 Days Tour Packages";i:2;s:122:"book malaysian retreat tour - 7 nights / 8 days tour packages, forts and palaces tour packages, kuala lumpur tour packages";i:3;s:158:"Sanskruti Vacations offers Malaysian Retreat Tour - 7 Nights / 8 Days tour package, budget Forts and Palaces tour packages for Kuala Lumpur at exciting price.";i:4;s:406:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Kuala Lumpur"        
		                 },
		      "description": "",
		      "name": "Malaysian Retreat Tour",
		      "telephone": "+91-9769880881"
		    }
		    </script>
			";i:5;N;}