a:6:{i:0;s:28227:"						<section class="headBg theme2 ">
						<div class="wrap">
						<div class="page-title-inner fo"> 
						<div class="h1"><h1>Malaysia With Bali Tour Package</h1></div>
						<p class="breadcrumb ar uu small"><a href="http://www.anandtourandtravels.com/" title="Home">Home</a>
						
													<b class="ffv p2px">&rsaquo;</b><a href="http://www.anandtourandtravels.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>
								
						<b class="ffv p2px">&rsaquo;</b> Malaysia With Bali Tour Package</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> 
						7 Nights / 8 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Kuala Lumpur, Bali</p>
												<p class="mb5px"><b>Price (Starting From) :</b> 
						INR 24880 Per Person						</p>
												<br />
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.anandtourandtravels.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Malaysia with Bali Tour Package - 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="193366"/>
						</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_22/638211/305447.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_22/638211/305447.jpg"  height="150"  width="150"    alt="Malaysia with Bali Tour Package" title="Malaysia with Bali Tour Package" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
											<div class="mt7px dif">* Mentioned prices may vary depending upon date of travel, hotel availability, surge pricing and seasonal rush.</div><br />
														<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Tour Detail</p>
								</div>
													
								Malaysia's capital Kuala Lumpur is a city caught in a metropolitan dilemma; it aspires to be Singapore, but at times feels more like Bangkok. It is a mix of clean, clinical efficiency of business-like Singapore, and the raffish rough edges of the Thai capital, Bangkok, that creates the Kuala Lumpur's charm. Kuala Lumpur, meaning ‘muddy confluence', has grown with amazing speed since the economic growth accelerated during the 1980s and early 1990s, resulted in vibrant cityscape. Over the last few years the construction and infrastructure projects have seen the city's skyline become crowded with cranes and clanking machinery as entire neighborhoods have undergone redevelopment. Kuala Lumpur is now one of the most important cities of Asia and continues to grow economically, culturally and politically. <br />
For the Malaysians, Kuala Lumpur is ‘Ibukota’ (Mother City) and treated with great respect. The Malaysian government tourism slogan of Malaysia truly Asia is perfect for KL. As the city is the confluence of Malaysian Inhabitants, Chinese settlers, Indian Migrants and British colonials all offered their distinct cultural contribution to KL. The tourism sector also plays an important part in the city’s economy, providing income, employment and expanding business opportunities. As an extension of this, many large worldwide hotel chains have presence in the city. Kuala Lumpur has also developed into an international shopping destination with a wide variety of shopping centers and megamalls which carry well-known global and local brands. Conference tourism—which mainly encompasses conventions—has also expanded in recent years and is becoming a very important component of the industry. <br />
The major tourist destinations are as follows: <br />
Dataran Merdeka (the Independence Square), the House of Parliament, the Istana Budaya, the Istana Negara (National Palace), the Kuala Lumpur Tower, the Muzium Negara (National Museum), the Putra World Trade Centre, the Tugu Negara (National Monument) and mosques such as the Masjid Jamek, the Masjid Negara (National Mosque) and the Federal Territory Mosque. <br />
Other tourist attraction includes the Aquaria KLCC, the Batu Caves, the Makam Pahlawan (National Mausoleum), the National Science Centre, Petaling Street, the Royal Selangor Pewter Visitor Centre, the Zoo Negara (National Zoo), and events such as Malay cultural centres, the Chinese cultural festivals at the Thean Hou Temple and the Thaipusam procession at the Sri Mahamariamman Temple. <br />
The Golden Triangle, the commercial hub of the city, contains the Petronas Twin Towers and has a distinctive nightlife. Trendy nightclubs, bars and lounges, such as the Beach Club, Espanda, the Hakka Republic Wine Bar & Restaurant, Hard Rock Cafe, the Luna Bar, Nuovo, Rum Jungle, the Thai Club, Zouk, and many others are located within and around Jalan P. Ramlee, Jalan Sultan Ismail and Jalan Ampang.<br />
How to Reach Kuala Lumpur<br />
By Air: Kuala Lumpur, the national capital is well connected with the rest of the world by various international airline. The national carrier is the Malaysian Airlines which serves various important cities of the world. Long distance flights from Europe to Far East made transit stops in Malaysia. Kuala Lumpur is also served by various low cost airlines that operate in the Southeast Asia.								</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> Arrive in Bali
										</p>
										<p class="aj">Arrive at the Bali Airport. Meet our tour representative who helps you with an assisted transfer to the hotel. Complete the check-in formalities at the hotel. The rest of the day is at leisure. Termed as Paradise on Earth, this island destination is quite popular amid honeymooners as well as leisure vacationers. Bali has been blessed with immense natural beauty, breathtaking vistas and varied experiences.<br />
Overnight stay.</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> Benoa Beach with Uluwatu Sunset Tour
										</p>
										<p class="aj">Post breakfast; get ready for a visit to Tanjung Benoa, an ideal for different kinds of marine activities. You can partake in a number of exciting activities such as banana boat ride, rolling donut, glass bottom boat ride, parasailing and jet ski and so on. Thereafter, in the afternoon, head to Blue Point Beach, followed by splendid sunset views from the Cliff, which just next to Uluwatu Temple. Later on, you can also enjoy the Kecak Dance Performance.<br />
Stay overnight.</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> Bedugul and Tanah lot Sunset Tour
										</p>
										<p class="aj">Today, after an early breakfast, get ready for exploring the Bedugul area for visiting the wonderful Ulun Danu Temple. Located on the banks of Lake Beratan Lake and Gobleg hill, this temple is an architectural masterpiece. Next in line are the beautiful twin lakes of Buyan and Tamblingan. Enjoy the salubrious weather and lush scenery. After this, you visit the very well-known Tanah Lot Temple, also the most photographed monument of Bali. This temple was constructed in the 11th century, which was known to be the golden age of Hinduism in Indonesia. This temple was built on the top of a rock, amid the Indian Ocean. The sunset views are absolutely mesmerizing.<br />
Overnight Stay.</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> Kintamani Volcano Tour and Ubud Village Tour
										</p>
										<p class="aj">Day 4 starts early. Post breakfast, get an assisted transferred to Batubulan Village for enjoying Barong and Kris dance performance. This village is known for its beautiful artistic ambience. These dance performances happen in 5 different stages and are inspired from the culture of Indonesia. Continue sightseeing and visit the peaceful Celuk Village, and popular Wood Carving Center at Kemenuh Village. In Celuk, have a look at how the local artisans are creating amazing masterpieces with silver and gold. Likewise, Kemenuh village is popular as an open air exhibition hall of art, mainly wooden sculptures. Later on visit the gurgling Tegenungan Waterfall. Your next stops are Kintamani and Batur Volcano and Lake. Lastly, visit Tampak Siring / Tirta Empul Temple, a Hindu sacred site with 2 big springs. You can take a dip in these holy waters, which are believed to have medicinal properties. Stay overnight.</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> Arrival in Kuala Lumpur
										</p>
										<p class="aj">Enjoy breakfast and complete the check out. Get transferred to the airport to board the flight to Kuala Lumpur. On reaching, get an assisted transfer to the hotel. The rest of the day is free for leisure activities. You can explore the place on your own. Kuala Lumpur is an exciting Asian metropolitan city, which is a wonderful amalgam of historic temples and mosques, as well as space-age towers and shopping malls. Overnight at hotel.</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> Kuala Lumpur (City Tour entrance to KL tower)
										</p>
										<p class="aj">Enjoy breakfast and get ready for sightseeing in Kuala Lumpur. First you visit the site from where the city got its names- the confluence of River Gombak and River Klang. The next two attractions are the King's Palace, and the National Monument. After that drive past the Lake Gardens and treat your eyes to the lush views of the surroundings. Next is a photo opportunity at the National Mosque. Next you visit the Moorish styled railway station, and then the Independence Square. Sultan Abdul Samad Building is your next stop. Also known as the Clock Tower of Kuala Lumpur, it used to be Malaysia High Court bases. Enjoy a photo stop at the magnificent Petronas Twin Towers. Thereafter, proceed for the entrance in KL tower. The remaining day is at leisure. Stay overnight.</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> Kuala Lumpur –Sunway Lagoon Tour (8 hrs)
										</p>
										<p class="aj">After breakfast, get all set for an exciting Full day Sunway Lagoon Tour. Sunway Lagoon is a theme-based amusement park, which is just 15 minutes away from the city. This park is divided into 3 main themed lands, which comprise of more than 80 rides and attractions. It is a one stop destination for excitement, adventure and entertainment. Sunway 3 Park Ticket includes Water Park, Amusement Park & Wildlife Park. Sunway 5 Park Ticket includes Water Park, Amusement Park, Wildlife Park , Extreme Park & Scream Park. At 1830 hours, assemble at the Waiting Point at Sunway Pyramid Tower Hotel Lobby for returning back to your hotel for overnight stay.</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> Departure from Kuala Lumpur
										</p>
										<p class="aj">After breakfast, get an assisted transfer to the airport for going on-board a flight for your onward destination. Tour Ends.</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>4 Nights accommodation in Bali Hotel</li><li>
3 Nights accommodation in Kuala Lumper Hotel</li><li>
Daily Breakfast at Hotel</li><li>
Benoa Beach with Uluwatu Sunset </li><li>
Tour with return transfers</li><li>
Bedugul and Tanah lot Sunset Tour </li><li>
with return transfers</li><li>
Kintamani Volcano Tour and Ubud </li><li>
Village Tour with return transfers</li><li>
Complimentary sim on upon arrival</li><li>
Candle Light dinner on beach for </li><li>
Honeymooner only </li><li>
Return airport transfers on Private </li><li>
basis</li><li>
City Tour entrance to KL tower with </li><li>
return transfers</li><li>
Sunway Lagoon Tour with return </li><li>
transfers</li><li>
Return airport transfers on SIC basis</li><li>
All applicable VAT and taxes</li>
																	</ul>
								</div>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Exclusions</p>
								</div>
								
								<ul><li>Return airfare charges.</li><li>
Applicable Airport taxes.</li><li>
Service tax extra.</li><li>
Bali Visa (On Arrival and free of cost for Indian arrival)</li><li>
Malaysia Visa Charges.</li><li>
Tips to driver and guides locally.</li><li>
All surcharges for Airport transfers after the Scheduled Seat in coach timings.</li><li>
Guaranteed early check in / late checkout charges (Standard check in 1400hrs and Check out 1200 Hrs.)</li><li>
Any expenses of personal nature.</li><li>
Travel Insurance charges.</li><li>
Personal extras.</li><li>
Meals other than mentioned in the inclusions column.</li><li>
Anything not mentioned in the inclusions.</li><li>
GST</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">Price &amp; Rates</p>
						</div>				
				        <table class="mb15px bdrall bdreee w100 p5px15px formTable">
			            	<tr class="headVr b">
			                	<td class="p5px10px">No of pax</td>
			                    <td class="p5px10px">Age Limit</td>
			                    <td class="p5px10px">Price per pax (Rs)</td>
			                </tr>

															<tr>
				            	<td class="p5px10px">Adult</td>
				                <td class="p5px10px">Above 12 years</td>
				                <td class="p5px10px">
			                				                		<b class="webrupee">INR</b>
			                					                	<b>24880</b> <small>/
			
			                		Adult			
			                	( With Tax )			
			                		
			                	</small></td>
				            	</tr>
				            					         </table>
						</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.anandtourandtravels.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Malaysia with Bali Tour Package - 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="193366"/>
						</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.anandtourandtravels.com/manali-tour-packages.htm" title="Manali Tour Packages">Manali</a> <b class="alpha50 bn small">(8)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.anandtourandtravels.com/shimla-tour-packages.htm" title="Shimla Tour Packages">Shimla</a> <b class="alpha50 bn small">(8)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.anandtourandtravels.com/new-delhi-tour-packages.htm" title="New Delhi Tour Packages">New Delhi</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.anandtourandtravels.com/dharamshala-tour-packages.htm" title="Dharamshala Tour Packages">Dharamshala</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.anandtourandtravels.com/kufri-tour-packages.htm" title="Kufri Tour Packages">Kufri</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.anandtourandtravels.com/chandigarh-city-tour-packages.htm" title="Chandigarh City Tour Packages">Chandigarh City</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.anandtourandtravels.com/kullu-tour-packages.htm" title="Kullu Tour Packages">Kullu</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.anandtourandtravels.com/dalhousie-tour-packages.htm" title="Dalhousie Tour Packages">Dalhousie</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.anandtourandtravels.com/manikaran-tour-packages.htm" title="Manikaran Tour Packages">Manikaran</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.anandtourandtravels.com/pahalgam-tour-packages.htm" title="Pahalgam Tour Packages">Pahalgam</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.anandtourandtravels.com/tabo-tour-packages.htm" title="Tabo Tour Packages">Tabo</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.anandtourandtravels.com/jaipur-tour-packages.htm" title="Jaipur Tour Packages">Jaipur</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.anandtourandtravels.com/gulmarg-tour-packages.htm" title="Gulmarg Tour Packages">Gulmarg</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.anandtourandtravels.com/katra-tour-packages.htm" title="Katra Tour Packages">Katra</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.anandtourandtravels.com/chail-tour-packages.htm" title="Chail Tour Packages">Chail</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.anandtourandtravels.com/pathankot-tour-packages.htm" title="Pathankot Tour Packages">Pathankot</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.anandtourandtravels.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.anandtourandtravels.com/mandi-tour-packages.htm" title="Mandi Tour Packages">Mandi</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.anandtourandtravels.com/kalpa-tour-packages.htm" title="Kalpa Tour Packages">Kalpa</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.anandtourandtravels.com/agra-tour-packages.htm" title="Agra Tour Packages">Agra</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.anandtourandtravels.com/jispa-tour-packages.htm" title="Jispa Tour Packages">Jispa</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.anandtourandtravels.com/srinagar-tour-packages.htm" title="Srinagar Tour Packages">Srinagar</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.anandtourandtravels.com/leh-ladakh-tour-packages.htm" title="Leh Ladakh Tour Packages">Leh Ladakh</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.anandtourandtravels.com/bali-tour-packages.htm" title="Bali Tour Packages">Bali</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.anandtourandtravels.com/dubai-tour-packages.htm" title="Dubai Tour Packages">Dubai</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.anandtourandtravels.com/lakes-rivers-holidays-catid.htm" title="Lakes & Rivers Packages">Lakes & Rivers</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.anandtourandtravels.com/trekking-holidays-catid.htm" title="Trekking Packages">Trekking</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.anandtourandtravels.com/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(10)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.anandtourandtravels.com/forts-palaces-holidays-catid.htm" title="Forts and Palaces Packages">Forts and Palaces</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.anandtourandtravels.com/heritage-holidays-catid.htm" title="Heritage Packages">Heritage</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.anandtourandtravels.com/adventure-holidays-catid.htm" title="Adventure Packages">Adventure</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.anandtourandtravels.com/desert-holidays-catid.htm" title="Deserts Packages">Deserts</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.anandtourandtravels.com/beach-islands-holidays-catid.htm" title="Beach and Islands Packages">Beach and Islands</a> <b class="alpha50 bn small">(1)</b></span>
						
				</div>
				</div>
				</div>
				</div>
				
				
				</div>
				</div>
				
								
				</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:70:"Book Malaysia with Bali Tour Package - 7 Nights / 8 Days Tour Packages";i:2;s:129:"book malaysia with bali tour package - 7 nights / 8 days tour packages, adventure tour packages, kuala lumpur, bali tour packages";i:3;s:183:"Book Malaysia with Bali Tour Package - 7 Nights / 8 Days tour packages from Anand Tour and Travels - Get attractive 7 Nights / 8 Days Adventure  tour packages for  Kuala Lumpur, Bali.";i:4;s:3770:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Kuala Lumpur, Bali"        
		                 },
		      "description": "Malaysia's capital Kuala Lumpur is a city caught in a metropolitan dilemma; it aspires to be Singapore, but at times feels more like Bangkok. It is a mix of clean, clinical efficiency of business-like Singapore, and the raffish rough edges of the Thai capital, Bangkok, that creates the Kuala Lumpur's charm. Kuala Lumpur, meaning ‘muddy confluence', has grown with amazing speed since the economic growth accelerated during the 1980s and early 1990s, resulted in vibrant cityscape. Over the last few years the construction and infrastructure projects have seen the city's skyline become crowded with cranes and clanking machinery as entire neighborhoods have undergone redevelopment. Kuala Lumpur is now one of the most important cities of Asia and continues to grow economically, culturally and politically. 
For the Malaysians, Kuala Lumpur is ‘Ibukota’ (Mother City) and treated with great respect. The Malaysian government tourism slogan of Malaysia truly Asia is perfect for KL. As the city is the confluence of Malaysian Inhabitants, Chinese settlers, Indian Migrants and British colonials all offered their distinct cultural contribution to KL. The tourism sector also plays an important part in the city’s economy, providing income, employment and expanding business opportunities. As an extension of this, many large worldwide hotel chains have presence in the city. Kuala Lumpur has also developed into an international shopping destination with a wide variety of shopping centers and megamalls which carry well-known global and local brands. Conference tourism—which mainly encompasses conventions—has also expanded in recent years and is becoming a very important component of the industry. 
The major tourist destinations are as follows: 
Dataran Merdeka (the Independence Square), the House of Parliament, the Istana Budaya, the Istana Negara (National Palace), the Kuala Lumpur Tower, the Muzium Negara (National Museum), the Putra World Trade Centre, the Tugu Negara (National Monument) and mosques such as the Masjid Jamek, the Masjid Negara (National Mosque) and the Federal Territory Mosque. 
Other tourist attraction includes the Aquaria KLCC, the Batu Caves, the Makam Pahlawan (National Mausoleum), the National Science Centre, Petaling Street, the Royal Selangor Pewter Visitor Centre, the Zoo Negara (National Zoo), and events such as Malay cultural centres, the Chinese cultural festivals at the Thean Hou Temple and the Thaipusam procession at the Sri Mahamariamman Temple. 
The Golden Triangle, the commercial hub of the city, contains the Petronas Twin Towers and has a distinctive nightlife. Trendy nightclubs, bars and lounges, such as the Beach Club, Espanda, the Hakka Republic Wine Bar & Restaurant, Hard Rock Cafe, the Luna Bar, Nuovo, Rum Jungle, the Thai Club, Zouk, and many others are located within and around Jalan P. Ramlee, Jalan Sultan Ismail and Jalan Ampang.
How to Reach Kuala Lumpur
By Air: Kuala Lumpur, the national capital is well connected with the rest of the world by various international airline. The national carrier is the Malaysian Airlines which serves various important cities of the world. Long distance flights from Europe to Far East made transit stops in Malaysia. Kuala Lumpur is also served by various low cost airlines that operate in the Southeast Asia.",
		      "name": "Malaysia with Bali Tour Package",
		      "telephone": "+91-9877728360"
		    }
		    </script>
			";i:5;N;}