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"  height="150"  width="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-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 "><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-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 spanlist dn"><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-madurai.htm" title="Packages in Madurai">Madurai</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-punakha.htm" title="Packages in Punakha">Punakha</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-kutch.htm" title="Packages in Kutch">Kutch</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-langkawi.htm" title="Packages in Langkawi">Langkawi</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-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="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"  height="100"  width="100"    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;}