a:6:{i:0;s:32239:"				<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-->				
									<div class="h1"><h1>Singapore and Malaysia 4 star Package for 6 days</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.omtoursandtravels.net/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.omtoursandtravels.net/holiday-packages.htm" title="Holiday Packages">Holiday Packages</a>  			
											
					<b class="ffv p2px">&rsaquo;</b>Singapore and Malaysia 4 star Package for 6 days</p> 
									
						<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>Tour Code :</b> 80549</p>
												<p class="mb5px"><b>Duration :</b> 
						5 Nights / 6 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Kuala Lumpur, Singapore</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.omtoursandtravels.net/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Singapore and Malaysia 4 star Package for 6 days - 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="107422"/>
						</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_17/487940/178137.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_17/487940/178137.jpg"  width="150" height="150"    alt="Singapore and Malaysia 4 star Package for 6 days" title="Singapore and Malaysia 4 star Package for 6 days" /></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>
													
								Three nights accommodation in Singapore <br />
Daily Breakfast<br />
Half day panoramic city drive of Singapore on SIC basis<br />
Night Safari Tour on Seat In Coach basis<br />
Sentosa Extreme including admission, one way cable car, S.E.A Aquarium, Luge & Skyride, Butterfly Park & Insect Kingdom with tea and Wings of Time on SIC basis<br />
Return airport transfers on SIC basis<br />
Two Nights stay at Kuala Lumpur<br />
Two Breakfast<br />
KL International Airport/ Hotel/ KL International Airport on Seat in Coach Basis [KLIA / KLIA2 only]<br />
Half Day Kuala Lumpur City tour on Seat in Coach Basis *exclude entrance ticket<br />
Meet and Greet Services by English Speaking GuideAirfare<br />
Government Service Tax of 9 %<br />
Visa Fees and Travel Insurance<br />
Guaranteed early check in or late check out. This is completely at the discretion of the hotel and we can only put in a request for the same.<br />
Any expenses of personal nature<br />
Tips and porterage<br />
Surcharges as applicable due to peak season, surcharge dates, trade fair dates, Christmas, New Year week.<br />
Meals other than that what is mentioned in your itinerary.<br />
Any services not mentioned in the inclusions list<br />
Meals other than specified in the itinerary.<br />
Drinks including Water during meals / sightseeing tours are not included								</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 Singapore
										</p>
										<p class="aj">Upon Arrival at Singapore Changi Airport, meet our local representative, who will assist your transfer to the hotel. On reaching the hotel, complete all the check-in formalities and take rest in your room or Explore the city on your own.</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> City Tour and Night Safari
										</p>
										<p class="aj">After a hearty breakfast, Proceed for the Half day City Tour including The Merlion Photoshop, Fountain of Wealth, Suntec City, Orchard Road, Little India and China town. Later in the evening , proceed to Night Safari. Experience close and personal encounters with with over 2,500 nocturnal animals from 130 species on Hop on board the tram for a 40 minutes. Journey from the Himalayan foothills to wild Equitorial Africa, this tram ride offers live commentary. Later, a Night Show of 20 minute animal presentation will introduce you to nocturnal animals. Return back to hotel. Overnight in Singapore.</p>					
											<p><b>Meals : </b> Breakfast</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> Sentosa Extreme Tour
										</p>
										<p class="aj">After breakfast, Enjoy your day at Sentosa Island. Enter and explore the marine realm of S.E.A. Aquarium, home to more than 100,000 marine animals of over 800 species, across into 49 different habitats, each one as fascinating as the next. It's an experience you wont forget. Surrounded with lush tropical greenery, Butterfly Park & Insect Kingdom showcases the stunning beauties of mother nature. With a great variety of fluttering butterflies and exotic insects, this tamed wilderness is sure to delight you. The Luge offers a truly unique outdoor experience suitable for all ages that is not found anywhere else in Singapore or Southeast Asia. After Luge, board the Skyride and take in the fantastic panoramic scenery of the city skyline and beautiful coastline. There's no better way to complete a fabulous day at Sentosa than to take in a spectacular night show set outdoors against the backdrop of an open sea. Come, discover an awe-inspiring display of water, laser and fire effects, set to majestic music and a panorama of breathtaking vistas - Wings of Time. Weaved together by a tale of friendship and courage that will linger with you long after you leave the magical isle. Return back to hotel. Overnight in Singapore.</p>					
											<p><b>Meals : </b> Breakfast</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> Arrive Kuala Lumpur
										</p>
										<p class="aj">After Hearty Breakfast, Check out from the Hotel and transfer to the Airport for Flight to Kuala lumpur [Own cost]<br />
Welcome to Kuala Lumpur! On arrival, complete your immigration procedure, collect your luggage and proceed to the arrival hall where you will be met by our representative and transferred to your hotel for check in. The evening is free for you to relax or explore this city on your own. Overnight in Kuala Lumpur.</p>					
											<p><b>Meals : </b> Breakfast</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> Kuala Lumpur City Tour
										</p>
										<p class="aj">After breakfast, proceed for a Half Day City tour of Kuala Lumpur. This tour will bring you to the confluence of the two rivers (Gombak & Klang River) where the name of Kuala Lumpur originated from, then to the King's Palace, the National Monument, drive pass Lake Gardens, photostop at National Mosque, the Moorish styled railway station, then proceed to Independence Square and Sultan Abdul Samad Building, nicknamed as the Clock tower of Kuala Lumpur.<br />
Notice the abundant greenery in the city, particularly at the Lake Gardens. A photostop at the magnificent Petronas Twin Towers is also included. Return back to hotel and overnight in Kuala Lumpur.</p>					
											<p><b>Meals : </b> Breakfast</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> Departure
										</p>
										<p class="aj">After breakfast, check out of the hotel and transfer to the airport to board your return flight</p>					
											<p><b>Meals : </b> Breakfast</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>Hotel</li>
																			</ul>
								</div>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Exclusions</p>
								</div>
								
								<ul><li>Airfare</li><li>
Government Service Tax of 9 %</li><li>
Visa Fees and Travel Insurance</li><li>
Guaranteed early check in or late check out. This is completely at the discretion of the hotel and we can only put in a request for the same.</li><li>
Any expenses of personal nature</li><li>
Tips and porterage</li><li>
Surcharges as applicable due to peak season, surcharge dates, trade fair dates, Christmas, New Year week.</li><li>
Meals other than that what is mentioned in your itinerary.</li><li>
Any services not mentioned in the inclusions list</li><li>
Meals other than specified in the itinerary.</li><li>
Drinks including Water during meals / sightseeing tours are not included</li></ul>
								</div>
																<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Rate Card</p>
								</div>
								
    	<p class="h dif xlarge b mb5px">Preview of the Prices</p>
		<div class="dynamic-data-container">
    	<table class="bdrAll" width="100%" cellpadding="5">
			<tr>
				<td class="headHr p5px b">Package cost</td>
				<td class="headHr p5px b">4 Star</td>
			</tr>
			<tr>
				<td class="data p5px">1 Person</td>
				<td class="data p5px">53723</td>
			</tr>
			<tr>
				<td class="data p5px">Per Person(min 2 pax required)</td>
				<td class="data p5px">32631</td>
			</tr>
			<tr>
				<td class="data p5px">Child Without Bed(5-12 yrs)</td>
				<td class="data p5px">15654</td>
			</tr>
			<tr>
				<td class="data p5px">Child (2-4 yrs)</td>
				<td class="data p5px">15654</td>
			</tr>
		</table></div><br>
    	<p class="h dif xlarge b mb5px">Hotels Used / Similar</p>
		<div class="dynamic-data-container">
    	<table class="bdrAll" width="100%" cellpadding="5">
			<tr>
				<td class="headHr p5px b">Destination</td>
				<td class="headHr p5px b">No of Nights</td>
				<td class="headHr p5px b">4 Star</td>
			</tr>
			<tr>
				<td class="data p5px">Singapore</td>
				<td class="data p5px">3</td>
				<td class="data p5px">Village Hotel Bugis / similar hotels</td>
			</tr>
			<tr>
				<td class="data p5px">Kuala-Lumpur</td>
				<td class="data p5px">2</td>
				<td class="data p5px">Furama Bukit Bintang / similar hotels</td>
			</tr>
		</table></div><br>								</div>
									
								<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Terms &amp; Conditions</p>
								</div>				
								<p><strong>Cancellation Policy</strong>

<ul>
	<li>If circumstances force you to cancel the Booking, the cancellation must be intimated to us in writing and the following cancellation charges will apply.</li>
	<li>30 Days prior to departure - 20% * (This might vary depending on the time limit)</li>
	<li>Once booking is confirmed/ 29 Days To 16 Days - 50% of the Total cost</li>
	<li>15 Days to 08 Days - 75 % of the Total Cost</li>
	<li>7 Days or less/ No Show - 100% of the total cost</li>
	<li>Same cancellation policy will apply for postponements of bookings or in case of change of hotels duringthe progress of tour.</li>
	<li>Cancellation charges may vary during festive/ peak / trade fares / F1 / Sonkran / Chinese new year/</li>
	<li>Christmas / new year / Diwali / Eid period.</li>
	<li>The above policy would not be applicable in case of promotional / non refundable rates</li>
	<li>The above policy would not be applicable for iconic hotels such as Marina Bay Sands, Burj Al Arab,Atlantis, Venetian, Genting etc.</li>
</ul>

<p><strong>Terms and Conditions</strong>

<ul>
	<li>All rates are valid on validity dates mentioned. Via.Com reserves the right to change Validity dates given (The rates are valid for minimum 02 adults traveling together at all times. The rates for Single passenger travelling alone would be advised at the time of confirmation. The Single passenger rate mentioned in this package is applicable for thrid passenger opting to stay in Single Room.</li>
	<li>For computation purpose the Rate of Exchange is as per the current prevailing rate and thus make the prices dynamic</li>
	<li>The rates are not valid on black out dates and trade fair periods</li>
	<li>Surcharges wherever applicable would be advised at the time of booking and would be based on your final date of travel. The surcharges mentioned in this package are tentative (subject to change) and are for per person on twin/triple sharing basis only.</li>
	<li>The rates are subject to availability of hotel accommodation and sightseeing tours at the time of booking.</li>
	<li>We reserve the right to use an alternate hotel accommodation of an equal or higher standard. If we source a more expensive alternative, we reserve the right to re-quote based on the higher rates.</li>
	<li>Rates are valid for Indian Passport holders only.</li>
	<li>We are not holding any Hotel blocks for this package. Hotels would be subject to availability at the time of booking.</li>
	<li>Kuala Lumpur Hotel Check in time is 1500 hours / Check out time is 1200 hours. Genting hotel Standard Check in Time is 1500hrs/ Check out time is 1100hrs. Early check in and check out is subject to availability and cannot be guaranteed.</li>
	<li>(Transfers wherever included are without night surcharges. Seat in Coach Airport transfers are available for pick up between 0600hrs - 1800hrs only. Transfers other than this period will have to book Private</li>
	<li>Transfer at additional cost.</li>
	<li>No refunds either in part or in full will be made for any unutilized service.</li>
	<li>All the sightseeing tours and excursions are organized by local companies. The timings and days of operation are subject to alteration. Changes if any will be intimated at the time of booking.</li>
	<li>Sightseeing tours are strictly based on weather conditions and local service providers have the right to cancel the sightseeing tours without prior notice. All transfers service would be suspended during bad weather such as typhoon, heavy rain or fog.</li>
	<li>Rates are subject to change without prior notice.</li>
	<li>Offer can be withdrawn at any point without prior notice.</li>
	<li>Bookings once confirmed are subject to cancellation charges which shall be advised at that time.</li>
	<li>As a practice all international hotels take a security deposit at the time of check-in. The amount is generally blocked on the clients credit card or they can pay cash to the hotel. The amount will vary according to the hotel and is refunded back to the clients upon check out. Debit cards should not be offered as it will be charged immediately and refunded only after 2-3 weeks.</li>
	<li>No refund would be given in case of unavailability of complimentary services.</li>
	<li>Genting Attractions are subject to availability based on Resorts World Genting Development Plan. In case of unavailability, we reserve the right to retract the service from the package or replace with another attraction of similar value.</li>
	<li>Via  is not responsible for any change in the price due to factors not in the control of the organization.</li>
	<li>For travel to Malaysia, travelers must have a passport valid for six months from the date of return and he/she must obtain a valid Malaysian visa prior to their departure.</li>
	<li>Midnight Surcharge applies for the transfer between 22:00 hrs to 07:00 hrs @ USD 10 Per person per way</li>
	<li>Based on 2 pax travel) * Departure pick-up from KUL</li>
	<li>Kuala Lumpur Surcharge 16 USD is applicable for the stay on the dates: 1 Dec - 1 Jan, 28 Jan - 3 Feb, 30Sep - 2 Oct, 28 - 30 Oct</li>
	<li>Singapore Surcharge 5 USD is applicable for the stay on the weekend</li>
</ul>

<p><strong>Note:</strong>

<ul>
	<li>We are not holding any rooms or airline seats as of now and above mentioned is quote only , subject to availability at the time of confirmation .</li>
	<li>First preference will be given to mentioned hotels for reservation. In case of non-availability of these hotels we shall advise the similar or next available option with supplement cost .</li>
	<li>Itinerary provided is just suggestive and the sightseeing will be done as per availability.</li>
	<li>In case of no show or late cancellation after reconfirmation charges applicable as per the Hotels Policy and other vendors policy.</li>
</ul>								</div>
														
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.omtoursandtravels.net/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Singapore and Malaysia 4 star Package for 6 days - 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="107422"/>
						</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.omtoursandtravels.net/packages-in-shimla.htm" title="Packages in Shimla">Shimla</a> <b class="alpha50 bn small">(8)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.omtoursandtravels.net/packages-in-gangtok.htm" title="Packages in Gangtok">Gangtok</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.omtoursandtravels.net/packages-in-manali.htm" title="Packages in Manali">Manali</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.omtoursandtravels.net/packages-in-darjeeling.htm" title="Packages in Darjeeling">Darjeeling</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.omtoursandtravels.net/packages-in-kalimpong.htm" title="Packages in Kalimpong">Kalimpong</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.omtoursandtravels.net/packages-in-pelling.htm" title="Packages in Pelling">Pelling</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.omtoursandtravels.net/packages-in-munnar.htm" title="Packages in Munnar">Munnar</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.omtoursandtravels.net/packages-in-leh-ladakh.htm" title="Packages in Leh Ladakh">Leh Ladakh</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.omtoursandtravels.net/packages-in-chandigarh-city.htm" title="Packages in Chandigarh City">Chandigarh City</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.omtoursandtravels.net/packages-in-paro.htm" title="Packages in Paro">Paro</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.omtoursandtravels.net/packages-in-singapore-city.htm" title="Packages in Singapore">Singapore</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.omtoursandtravels.net/packages-in-bhuj.htm" title="Packages in Bhuj">Bhuj</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.omtoursandtravels.net/packages-in-kuala-lumpur.htm" title="Packages in Kuala Lumpur">Kuala Lumpur</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.omtoursandtravels.net/packages-in-alleppey.htm" title="Packages in Alleppey">Alleppey</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.omtoursandtravels.net/packages-in-thimphu.htm" title="Packages in Thimphu">Thimphu</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.omtoursandtravels.net/packages-in-kovalam.htm" title="Packages in Kovalam">Kovalam</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.omtoursandtravels.net/packages-in-kathmandu.htm" title="Packages in Kathmandu">Kathmandu</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.omtoursandtravels.net/packages-in-surendranagar.htm" title="Packages in Surendranagar">Surendranagar</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.omtoursandtravels.net/packages-in-mandvi.htm" title="Packages in Mandvi">Mandvi</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.omtoursandtravels.net/packages-in-rameshwaram.htm" title="Packages in Rameshwaram">Rameshwaram</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.omtoursandtravels.net/packages-in-kandy.htm" title="Packages in Kandy">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.omtoursandtravels.net/packages-in-kalutara.htm" title="Packages in Kalutara">Kalutara</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.omtoursandtravels.net/packages-in-kanyakumari.htm" title="Packages in Kanyakumari">Kanyakumari</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.omtoursandtravels.net/packages-in-thekkady.htm" title="Packages in Thekkady">Thekkady</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.omtoursandtravels.net/packages-in-pokhara.htm" title="Packages in Pokhara">Pokhara</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.omtoursandtravels.net/packages-in-port-louis.htm" title="Packages in Port Louis">Port Louis</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.omtoursandtravels.net/packages-in-dharamshala.htm" title="Packages in Dharamshala">Dharamshala</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.omtoursandtravels.net/packages-in-colombo.htm" title="Packages in Colombo">Colombo</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.omtoursandtravels.net/packages-in-nuwara-eliya.htm" title="Packages in Nuwara Eliya">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.omtoursandtravels.net/packages-in-madurai.htm" title="Packages in Madurai">Madurai</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.omtoursandtravels.net/beach-islands-holidays-catid.htm" title="Beach and Islands Packages">Beach and Islands</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.omtoursandtravels.net/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.omtoursandtravels.net/valley-holidays-catid.htm" title="Valley Packages">Valley</a> <b class="alpha50 bn small">(15)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.omtoursandtravels.net/paragliding-holidays-catid.htm" title="Paragliding Packages">Paragliding</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.omtoursandtravels.net/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.omtoursandtravels.net/heritage-holidays-catid.htm" title="Heritage Packages">Heritage</a> <b class="alpha50 bn small">(1)</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, Singapore</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.omtoursandtravels.net/tour-packages/singapore-malaysia-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_17/487940/178141.jpg"  alt="Singapore  Malaysia Tour" title="Singapore  Malaysia Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.omtoursandtravels.net/tour-packages/singapore-malaysia-tour.htm" title="Singapore  Malaysia Tour"><h3>Singapore  Malaysia 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> : 
								5 Nights / 6 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Kuala Lumpur, Singapore</p>
															<div class="mt10px small">
							<form name="pkg_107424" id="pkg_107424" method="post" action="http://www.omtoursandtravels.net/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.omtoursandtravels.net/tour-packages/singapore-malaysia-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Singapore  Malaysia 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="107424"/>
							</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:87:"Book Singapore and Malaysia 4 star Package for 6 days - 5 Nights / 6 Days Tour Packages";i:2;s:159:"book singapore and malaysia 4 star package for 6 days - 5 nights / 6 days tour packages, beach and islands tour packages, kuala lumpur, singapore tour packages";i:3;s:211:"Book Singapore and Malaysia 4 star Package for 6 days - 5 Nights / 6 Days tour packages from Om Tours And Travels - Get attractive 5 Nights / 6 Days Beach and Islands  tour packages for  Kuala Lumpur, Singapore.";i:4;s:1685:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Kuala Lumpur, Singapore"        
		                 },
		      "description": "Three nights accommodation in Singapore 
Daily Breakfast
Half day panoramic city drive of Singapore on SIC basis
Night Safari Tour on Seat In Coach basis
Sentosa Extreme including admission, one way cable car, S.E.A Aquarium, Luge & Skyride, Butterfly Park & Insect Kingdom with tea and Wings of Time on SIC basis
Return airport transfers on SIC basis
Two Nights stay at Kuala Lumpur
Two Breakfast
KL International Airport/ Hotel/ KL International Airport on Seat in Coach Basis [KLIA / KLIA2 only]
Half Day Kuala Lumpur City tour on Seat in Coach Basis *exclude entrance ticket
Meet and Greet Services by English Speaking GuideAirfare
Government Service Tax of 9 %
Visa Fees and Travel Insurance
Guaranteed early check in or late check out. This is completely at the discretion of the hotel and we can only put in a request for the same.
Any expenses of personal nature
Tips and porterage
Surcharges as applicable due to peak season, surcharge dates, trade fair dates, Christmas, New Year week.
Meals other than that what is mentioned in your itinerary.
Any services not mentioned in the inclusions list
Meals other than specified in the itinerary.
Drinks including Water during meals / sightseeing tours are not included",
		      "name": "Singapore and Malaysia 4 star Package for 6 days",
		      "telephone": "+91-9893003987"
		    }
		    </script>
			";i:5;N;}