a:6:{i:0;s:18180:"						<section class="headBg theme2 ">
						<div class="wrap">
						<div class="page-title-inner fo"> 
						<div class="h1"><h1>Malaysia Tour</h1></div>
						<p class="breadcrumb ar uu small"><a href="http://www.segurotourism.com/" title="Home">Home</a>
						
													<b class="ffv p2px">&rsaquo;</b><a href="http://www.segurotourism.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>
								
						<b class="ffv p2px">&rsaquo;</b> Malaysia Tour</p>
						</div>
						</div>
						</section>
										<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-->				
								
						<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> 
						4 Nights / 5 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Kuala Lumpur, Genting</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.segurotourism.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Malaysia 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="187436"/>
						</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_16/479054/292294.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_16/479054/292294.jpg"  width="150" height="84"    alt="Malaysia Tour" title="Malaysia 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>
													
								Genting<br />
<br />
Genting via Cable Car<br />
Visit Indoor Theme Park Ticket<br />
<br />
Kuala Lumpur<br />
<br />
Visit Chocolate factory – Watch Factory in Kuala Lumpur<br />
Kuala Lumpur City tour Main attraction of the City Twin Tower and K.L tower<br />
Visit Putra Jaya City tour								</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> Welcome To Kuala Lumpur – Transfer To The Famous Genting Highland
										</p>
										<p class="aj">Welcome To Kuala Lumpur. On Arrival In Kuala Lumpur You Will Be Greeted By Your Friendly Seguro Tourism Tour Manager / Local Representative At The Airport. Sit Back In The Comfort Of Your Coach, As We Drive You To The Genting Highland - A High-Altitude Hill Resort In Malaysia. In Route Visit Batu Caves Temple ( Approx 20 Minutes ). In The Afternoon, Check Inn To The Hotel (Chek Inn - 15:00 Hrs ), Indulge Yourself In A World Of Fantasy At The Famous Genting Indoor Theme Park - A Fantasyland Full Of Fun And Adventure With Super-Exciting Video Arcade Games Amidst A Futuristic Atmosphere . And Also Enjoy The Famous Casino At The Genting. Tonight, Enjoy A Delicious Dinner At A Local Indian Restaurant. Overnight At Genting.</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> Today Transfer From Genting & Enjoy The Sights And Sounds Of Kuala Lumpur In Your City Tour.
										</p>
										<p class="aj">After An American Breakfast At Your Hotel & Check Out From Genting (Check Out : 12:00 Hrs). Proceed To Kuala Lumpur. Check In To The Hotel.( Check In : 14:00 Hrs ) Later Proceed For The City Tour Of Kl - The Federal Capital And Most Populous City In Malaysia, Residence Of The Elected King Of Malaysia - King Palace, National Monument, The Superb Buildings At The Independence Square And Parliament House. Visit The Famous Chocolate, Watches Factory, K L Tower On Top, Twin Tower Photo Stop. Tonight Enjoy A Indian Dinner. Overnight At Hotel In Kuala Lumpur.</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> Visit At Asia’s Best Attraction At Sunway Lagoon, Kuala Lumpur
										</p>
										<p class="aj">After An American Breakfast At Your Hotel. Today We Will Proceed To The Day Trip At Sunway Lagoon Is An Amusement Park A Variety Of Watery Rides On Offer And Plenty Of Dry-Land Activities Too, There Are Few More Fun Ways To Spend A Day Than Cooling Down At Sunway. It Encompasses A Total Of Five Different Zones – The Water Park, Scream Park, Amusement Park, Extreme Park And Wildlife Park. Enjoy Full Day At Sunway Lagoon. At Evening Back To The Hotel Or Proceed For A Delicious Dinner At A Local Indian Restaurant. Overnight At Kuala Lumpur.</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 (Putrajaya City Tour)
										</p>
										<p class="aj">After Breakfast, Transfer To The Coach For Proceed To The Putrajaya City Tour, After Completing City Tour We Come Back To The Hotel And Day Is Free For Shopping And Visit Different Shopping Mall On Your Own, At Evening Transfer To The Indian Restaurant For Dinner. Overnight In Kuala Lumpur.</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> Fly Back Home
										</p>
										<p class="aj">Arrive at Singapore. Checkout from the Hotel & Transfer to the Airport as this fantastic tour comes to an end. Return home with wonderful memories of your tour with Seguro Tourism. </p>
										</td>
										</tr>
										</table>					
										</div>								<br />
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Inclusions</p>
								</div>
												
								<ul>
																			<li>EP (No Meal)</li>
																						<li>Hotel</li>
																						<li>Meals</li>
																						<li>Sightseeing</li>
																				<li>01 Night accommodation in Hotel First World Deluxe or Similar - Genting</li><li>
03 Nights accommodation in Hotel Pearl International or Similar – Kuala Lumpur</li><li>
Daily Breakfast & Dinner</li><li>
Sightseeing’s mentioned in the itinerary</li><li>
Return airport transfers - SIC (Private) basis</li><li>
Airport Taxes, As Applicable For The Airlines</li><li>
Visa – Malaysia</li>
																	</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</li><li>
* 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">Cancellation &amp; Refund Policy</p>
						</div>
								
						<ul><li>* Upon cancellation, refund will be made after deducting the Retention Amount.</li><li>
* 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.segurotourism.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Malaysia 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="187436"/>
						</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.segurotourism.com/genting-tour-packages.htm" title="Genting Tour Packages">Genting</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.segurotourism.com/bangkok-tour-packages.htm" title="Bangkok Tour Packages">Bangkok</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.segurotourism.com/singapore-city-tour-packages.htm" title="Singapore Tour Packages">Singapore</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.segurotourism.com/pattaya-tour-packages.htm" title="Pattaya Tour Packages">Pattaya</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.segurotourism.com/hong-kong-tour-packages.htm" title="Hong Kong Tour Packages">Hong Kong</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.segurotourism.com/colombo-tour-packages.htm" title="Colombo Tour Packages">Colombo</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.segurotourism.com/abu-dhabi-tour-packages.htm" title="Abu Dhabi Tour Packages">Abu Dhabi</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.segurotourism.com/ahmedabad-tour-packages.htm" title="Ahmedabad Tour Packages">Ahmedabad</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.segurotourism.com/zurich-tour-packages.htm" title="Zurich Tour Packages">Zurich</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.segurotourism.com/kandy-tour-packages.htm" title="Kandy Tour Packages">Kandy</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.segurotourism.com/macau-tour-packages.htm" title="Macau Tour Packages">Macau</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.segurotourism.com/kuala-lumpur-tour-packages.htm" title="Kuala Lumpur Tour Packages">Kuala Lumpur</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.segurotourism.com/dubai-tour-packages.htm" title="Dubai Tour Packages">Dubai</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.segurotourism.com/nuwara-eliya-tour-packages.htm" title="Nuwara Eliya Tour Packages">Nuwara Eliya</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.segurotourism.com/shenzhen-tour-packages.htm" title="Shenzhen Tour Packages">Shenzhen</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="uu db ar"><a class="showallspan" data-target="show" href="javascript:void(0)" >View More</a></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.segurotourism.com/beach-islands-holidays-catid.htm" title="Beach and Islands Packages">Beach and Islands</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.segurotourism.com/religious-pilgrimage-holidays-catid.htm" title="Religious & Pilgrimage Packages">Religious & Pilgrimage</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.segurotourism.com/adventure-holidays-catid.htm" title="Adventure Packages">Adventure</a> <b class="alpha50 bn small">(6)</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 Kuala Lumpur, Genting</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.segurotourism.com/holiday-packages/thailand-malaysia-singapore-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_16/479054/292292.jpg"  alt="Thailand Malaysia Singapore Tour" title="Thailand Malaysia Singapore Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.segurotourism.com/holiday-packages/thailand-malaysia-singapore-tour.htm" title="Thailand Malaysia Singapore Tour"><h3>Thailand Malaysia Singapore 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> : 
								10 Nights / 11 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Ahmedabad, Bangkok, Pattaya, Singapore, ..</p>
															<div class="mt10px small">
							<form name="pkg_187434" id="pkg_187434" method="post" action="http://www.segurotourism.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.segurotourism.com/holiday-packages/thailand-malaysia-singapore-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Thailand Malaysia Singapore 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="187434"/>
							</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:52:"Book Malaysia Tour - 4 Nights / 5 Days Tour Packages";i:2;s:114:"book malaysia tour - 4 nights / 5 days tour packages, adventure tour packages, kuala lumpur, genting tour packages";i:3;s:145:"Seguro Tourism offers Malaysia Tour - 4 Nights / 5 Days tour package, budget Adventure tour packages for Kuala Lumpur, Genting at exciting price.";i:4;s:652:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Kuala Lumpur, Genting"        
		                 },
		      "description": "Genting

Genting via Cable Car
Visit Indoor Theme Park Ticket

Kuala Lumpur

Visit Chocolate factory – Watch Factory in Kuala Lumpur
Kuala Lumpur City tour Main attraction of the City Twin Tower and K.L tower
Visit Putra Jaya City tour",
		      "name": "Malaysia Tour",
		      "telephone": "+91-9033605680"
		    }
		    </script>
			";i:5;N;}