a:6:{i:0;s:13830:"				<div class="h1"><h1>Malaysia Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.aljazeeratravels.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.aljazeeratravels.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Malaysia 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">
						2 Nights / 3 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Kuala Lumpur, Genting</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Price (Starting From) </td>
						<td class="p5px pl0px vat"><span class="dif">On Request</span></td>
						</tr>
												<tr>
						<td></td>
						<td>
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.aljazeeratravels.in/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="17471"/>
						</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_9/241811/29400.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_9/241811/29400.jpg"  width="150" height="150"    alt="Malaysia Tour" title="Malaysia Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					2 Night Kuala Lumpur And Genting 1 Night.<br />
Deal(S) Available With This Package:<br />
Deal 1: Book This Package Online And Get A Discount Of Rs. 500 Per Adult.<br />
Deal 2: Get Up To Rs 4000 Cashback On Using Your Citibank Credit Card Check Deal Book Online.<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 In Kuala Lumpur
								</p>
								<p class="aj">Sunway Putra Or Similar Hotels.<br />
<br />
Kuala Lumpur.<br />
On Arrival In Kuala Lumpur, You Will Meet Our Representative And Get Transferred To The Hotel In Genting. Genting Highlands, A Magnificent City Per.<br />
On Arrival In Kuala Lumpur, You Will Meet Our Representative And Get Transferred To The Hotel In Genting. Genting Highlands, A Magnificent City Perched On A Hilltop, Offers A Cool Respite From The Hustle-Bustle Of The City Capital. Crisp Invigorating Mountain Air, Majestic Sceneries And Lush Green Tropical Rainforests Shrouded In A Veil Of Mist Come Together To Create A Pleasant Surprise And A Welcome Relief From Urban Sights And Sounds. As You Reach Genting Highlands, Leave Your Baggage At The Concierge (Hotel) And Proceed To Visit Genting Outdoor Theme Park. Let The Child In You Come Alive As You Whoosh Down A Rollercoaster Perched At The Edge Of A Mountain And Dive, Plunge And Escalate On The Corkscrew. A Boat Ride In A Man-Made Lake Amidst Ingenious Landscaping Is Sure To Take Your Breath Away. A Number Of Rides And Games Like Space Shot, Space Mountain, Flume Ride And Flying Dragon, Roller Coaster And Super Toboggan Are Sure To Enchant You. Also Enjoy At The Famous Indoor Theme Park At Genting Highlands, The World’s First And One Of The Largest Indoor Theme Parks.<br />
Mark A Perfect Ending To Your Adventurous Day By Visiting South-East Asia'S Biggest Casino (On Your Own). Enjoy A Comfortable Overnight Stay At The Hotel In 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> Genting - Kuala Lumpur 
								</p>
								<p class="aj">Sunway Putra Or Similar Hotels.<br />
<br />
Kuala Lumpur.<br />
After Breakfast At The Hotel, Check Out And Get Transferred To Kuala Lumpur. Check In To The Hotel And Enjoy The Rest Of The Day At Leisure.<br />
After Breakfast At The Hotel, Check Out And Get Transferred To Kuala Lumpur. Check In To The Hotel And Enjoy The Rest Of The Day At Leisure. Stay Overnight At The 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> Kuala Lumpur City Tour
								</p>
								<p class="aj">First Worl dOr Similar Hotels<br />
<br />
Genting<br />
An Enjoyable Breakfast Will Charge You Up For A City Tour Of Kuala Lumpur. Begin By Visiting The National Monument That Has Exhibits Of Local Histo.<br />
An Enjoyable Breakfast Will Charge You Up For A City Tour Of Kuala Lumpur. Begin By Visiting The National Monument That Has Exhibits Of Local History, Culture And Traditions, Arts And Crafts, And A Great Bronze Sculpture Erected To Commemorate The Soldiers Who Lost Their Lives During World War Ii And The Emergency. You Will Then Make A Quick Photo Stop At The Gate Of The King'S Palace. From Here, You'Ll Proceed To Visit The Moorish-Style Railway Station Building And The National Mosque, Before Finally Arriving At The Imposing Kuala Lumpur Tower. It Is The Highest Tower In Asia And The Fourth Tallest Telecommunications Tower In The World. Also Visit Orchid Garden In The 230 Acre Lake Gardens Area Near The Malaysian Parliament, Followed By Royal Selangor. A Drive Past The Elegant Jamek Mosque, The Impressive House Of Parliament And The World’s Tallest Twin Towers, The Petronas Twin Towers Is Also A Must. It Has All The Ingredients To Hold The Most Avid Of Travelers In Complete Amazement.<br />
Stay Overnight At The Hotel In Kuala Lumpur.</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>Hotel</li>
																		<li>Transport</li>
																		<li>Transfers</li>
															</ul>
						<br />
											
						<p class="large b mb5px dif">Terms &amp; Conditions :</p>~^#^~~^#^~<ul>
	<li>Visa Details T &amp; C Cancel. Policy Visa Details. Requirements For Tourist Visa:</li>
	<li>The Applicant Should Have A Passport (Original And Copy) Valid For At Least 6 Months Upon Arrival In Malaysia. Please Ensure 3 (Three) Complete Blank Pages In The Passport For The Purpose Of Visa Stamping And Approval.</li>
	<li>Two Recent Passport-Size Photographs (35 Mm Width X 45 Mm Height) 80% Of Face Appearance Against A White Background Pasted And Not Stapled On The Application Form.</li>
	<li>Visa Application Form Filled Completely With Block Capital Letters And Duly Signed By The Applicant.</li>
	<li>Note:- For Applicant Applying In Kolkata And New Delhi Vfs (Back To Back Application Form Is To Be Filled.</li>
	<li>Confirmed Returned Air-Ticket With Flight Details &amp; Ticket No. (Original And Copy).</li>
	<li>Processing Time Is 4 To 5 Working Days.</li>
</ul>


<strong>Terms &amp; Conditions</strong>

<ul>
	<li>The Applicable Rate Of Exchange For Initial Payment/ Booking Amount Shall Be Determined By The Prevailing Rate On The Date/ Day Of Booking And Balance Payment Will Be Charged As Per The Prevailing Rates On That Particular Day.</li>
	<li>3.09 % Government Service Tax Is Not Included In Above Costing.</li>
	<li>Above Costing Does Not Includes Weekend, Peak &amp; Super Peak Season Surcharge In Genting.</li>
	<li>The Taxes And Visa Charges Mentioned Are As On Date And In The Event Of Any Changes May Be Amended.</li>
	<li>Any Further Increase In The Air Fare Due To An Increase In The Fuel Price, Change In Government Regulations, Taxes, Etc. Charged By The Airline Will Be Borne By The Passengers. Make My Trip Will Not Be Responsible For The Same</li>
	<li>Any Increase In The Rate Of Exchange Leading To Increase In Surface Transportation And Land Arrangements Which May Come Into Effect Prior To Departure.</li>
	<li>Itinerary Is Subject To Change / Swap Without Any Prior Notice.</li>
	<li>Rate Is Valid For 2 People Travelling Together.</li>
	<li>The Hotels Are Subject To Change Without Prior Notice. In Case Of Unavailability In The Mentioned Hotels, Alternate Accommodation Will Be Arranged In A Similar Category Hotel.</li>
	<li>Please Note: Standard Check-In Time For Hotels Is 1400Hrs. For Hotels In Genting, Check-In Will Be At 1600Hrs And In Peak Season It Can Extend As Per Availability.</li>
	<li>Rate Of Exchange Taken For Computing The Above Price Is Inr 19 To 1 Malaysian Ringgit. In The Event Of Increase In The Roe Taken Into Account The Prices Defined, The Same May Be Amended.</li>
	<li>The Applicable Rate Of Exchange For Initial Payment/ Booking Amount Shall Be Determined By The Prevailing Rate On The Date/ Day Of Booking And Balance Payment Will Be Charged As Per The Prevailing Rates On That Particular Day.</li>
	<li>The Package Does Not Include Any Expenses Of Personal Nature Such As Laundry, Wines, Mineral Water, Food And Drinks And Other Things Not Mentioned In Our Itinerary.</li>
	<li>There Will Be Surcharges Applicable At Genting During Peak And Super Peak Dates.</li>
</ul>


<strong>Cancellation Policy</strong>

<ul>
	<li>Prior To 30 Days Or More - Non - Refundable Deposit Of Rs.10,000 Pp</li>
	<li>Between 29 - 20 Days Of Departure - Non - Refundable Deposit + 25% Of The Holiday Cost</li>
	<li>Between 19 - 14 Days Of Departure - Non - Refundable Deposit + 50% Of The Holiday Cost</li>
	<li>Between 13 - 08 Days Of Departure - Non - Refundable Deposit+ 75% Of The Holiday Cost</li>
	<li>Prior To 7 Days Of The Departure - 100% Of The Holiday Cost.</li>
	<li>From Kolkata Change Category Premium Rs. 33,990.</li>
	<li>Price Per Adult Twin Sharing Basis.</li>
	<li>Book Online And Save Rs. 500 Per Adult.</li>
	<li>Get Up To Rs 4000 Cashback On Using Your Citibank.</li>
</ul>						
    	<p class="h dif xlarge b mb5px">Rate Card</p>
    	<div class="otherDetails aj">Check Available Dates And Calculate Your Cost.<br>
Similar Packages Based On: Price Theme Rs.34,990.</div><br>
		<div class="dynamic-data-container">
    	<table class="bdrAll" width="100%" cellpadding="5">
			<tr>
				<td class="data p5px">Days</td>
				<td class="data p5px">City</td>
				<td class="data p5px">View Packagers Rate</td>
			</tr>
			<tr>
				<td class="data p5px">4D/3N</td>
				<td class="data p5px">Kuala Lumpur - Sunway Lagoon</td>
				<td class="data p5px">41,990</td>
			</tr>
			<tr>
				<td class="data p5px">5D/4N</td>
				<td class="data p5px">Kuala Lumpur - Genting</td>
				<td class="data p5px">42,990</td>
			</tr>
			<tr>
				<td class="data p5px">6D/5N</td>
				<td class="data p5px">Kuala Lumpur - Langkawi</td>
				<td class="data p5px">44,990</td>
			</tr>
			<tr>
				<td class="data p5px">6D/5N</td>
				<td class="data p5px">Kuala Lumpur - Kota Kinabalu - Kuala Lumpur</td>
				<td class="data p5px">48,990</td>
			</tr>
			<tr>
				<td class="data p5px">6D/5N</td>
				<td class="data p5px">Kuala Lumpur - Kota Kinabalu - Kuala Lumpur</td>
				<td class="data p5px">37,990</td>
			</tr>
		</table></div><br>						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.aljazeeratravels.in/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="17471"/>
						</form>
						</div>
						
						";i:1;s:52:"Book Malaysia Tour - 2 Nights / 3 Days Tour Packages";i:2;s:122:"book malaysia tour - 2 nights / 3 days tour packages, beach and islands tour packages, kuala lumpur, genting tour packages";i:3;s:173:"Al-jazeera Tours & Travels Service offers Malaysia Tour - 2 Nights / 3 Days tour package, budget Beach and Islands tour packages for Kuala Lumpur, Genting at exciting price.";i:4;s:655:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Kuala Lumpur, Genting"        
		                 },
		      "description": "2 Night Kuala Lumpur And Genting 1 Night.
Deal(S) Available With This Package:
Deal 1: Book This Package Online And Get A Discount Of Rs. 500 Per Adult.
Deal 2: Get Up To Rs 4000 Cashback On Using Your Citibank Credit Card Check Deal Book Online.",
		      "name": "Malaysia Tour",
		      "telephone": "+91-9818386625"
		    }
		    </script>
			";i:5;N;}