a:6:{i:0;s:12262:"				<div class="h1"><h1>Singapore - Malaysia Tours</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.oppexholidays.com/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.oppexholidays.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Singapore - Malaysia Tours</p>
				<br />
				
								
						<script language="javascript"> 
							function topDestinationToggle(showHideDiv, switchTextDiv) {
							var ele = document.getElementById(showHideDiv);
							var text = document.getElementById(switchTextDiv);
							if(ele.style.display == "block") {
								ele.style.display = "none";
							  text.innerHTML = "View More &#9660;";
							}
							else {
							  ele.style.display = "block";
							  text.innerHTML = "View Less &#9650;";
							}
							}
		                </script>
											<script type="text/javascript">			
					(function($){	
					  $(function(){
						$('[id^=detailslider]').each(function(){
							$(this).DG_Slider({
								auto: true, mode:'fade', pager:true, pagerType:'short',controls:true
							});
						})
				
						$('a[rel=gall]').fancybox()
					  });	
					}(jQuery))
					</script>
					
					<br />
					<div class="data">
					<table class="w100 formTable bdr0 imgWidth">
					<tr>
					<td class="p10px">
					<table class="w100 packageForm">
											<tr>
						<td class="b p5px w125px vat">Tour Code </td>
						<td class="p5px pl0px vat">Combo</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Duration </td>
						<td class="p5px pl0px vat">
						6 Nights / 7 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Singapore</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Price (Starting From) </td>
						<td class="p5px pl0px vat"><span class="dif">On Request</span></td>
						</tr>
												<tr>
						<td></td>
						<td>
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.oppexholidays.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Singapore - Malaysia Tours - 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="30835"/>
						</form>
						</p>
						</td>
						</tr>
											</table>
					</td>
											<td class="p10px vat imgWidth150 w150px lh0">
						<div class="demo-wrap">
						<ul class="lsn m0px p0px" id="detailslider1">
															<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc w150px h150px"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_2/37817/63369.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_2/37817/63369.jpg"  width="150" height="150"    alt="Singapore - Malaysia Tours" title="Singapore - Malaysia Tours" /></a></p></div></li>
																		<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc w150px h150px"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_2/37817/63370.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_2/37817/63370.jpg"  width="150" height="150"    alt="Singapore - Malaysia Tours" title="Singapore - Malaysia Tours" /></a></p></div></li>
																		<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc w150px h150px"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_2/37817/63371.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_2/37817/63371.jpg"  width="150" height="150"    alt="Singapore - Malaysia Tours" title="Singapore - Malaysia Tours" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</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> Singapore ( Night Safari )
								</p>
								<p class="aj">Arrive Singapore will transfer to hotel. Lunch in Indian Restaurant. After Lunch Check in to hotel @ 1400 hrs. Day free for leisure. Evening, visit world's first Night Safari with Tram ride. Dinner will be served at Indian Restaurant. Overnight at your Hotel.</p>					
									<p><b>Meals : </b> Lunch, Dinner</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> Singapore (City Tour + Sentosa Island)
								</p>
								<p class="aj">After breakfast, proceed for Singapore City Tour – Merlion Park, Singapore River, Chinese Temple, MRT Ride, Orchard Street & Singapore Gems Factory Outlet. Afternoon visit Sentosa Island by Cable Car, Underwater World, Dolphin Show & `Song of the Sea' (Musical Fountain Show). Dinner will be served at Indian Restaurant. Overnight at your Hotel.</p>					
									<p><b>Meals : </b> Breakfast, Lunch, Dinner</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> Singapore ( Universal Studio )
								</p>
								<p class="aj">After breakfast, proceed for memorable experience of lifetime at Singapore's latest attraction, Universal Studio Asia's first Hollywood movie theme park featuring 24 movie based attractions. Evening, free time for shopping / relaxation. Overnight at your Hotel.</p>					
									<p><b>Meals : </b> Breakfast, Lunch, Dinner</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> Singapore - Kuala Lumpur - Genting (Batu Caves)
								</p>
								<p class="aj">Proceed to Kuala Lumpur by coach. On arrival at Kuala Lumpur proceed to Genting Highlands. En-route visit to Batu Caves. Travel by Asia's longest and fastest Cable car to Genting Highlands. Try your luck at famous Casino in the evening. Dinner will be served at Indian Restaurant. Overnight at your Hotel. <br />
(Please Note: Pack a seperate handbag for Genting Highlands. Light woollens are required at Genting. Casino dress code is formals, Men - Trouser, Collar Shirt / T-shirt, Shoes; Women - Saree, Punjabi or western formal).</p>					
									<p><b>Meals : </b> Breakfast, Lunch, Dinner</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> Genting - Kuala Lumpur (Outdoor Theme Park )
								</p>
								<p class="aj">After breakfast, get ready to set out and explore more of this wonderful place . Enjoy Outdoor Theme Park for various rides like Space Shot, Go-Karting, Jurassic Park, Merry Go Round, Space Mountain, Mini Train Ride, Flume ride and Flying Dragon etc. Evening Proceed to Kuala Lumpur. Dinner in Indian Restaurants. Overnight in Kuala Lumpur.</p>					
									<p><b>Meals : </b> Breakfast, Lunch, Dinner</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 (Kul City Tour)
								</p>
								<p class="aj">After Breakfast, Proceed for Kuala Lumpur City Orientation Tour - King's Palace, Petronas Twin Tower (Photo Stop), KL Tower (Photo Stop), National Monument & Merdeka Square. Visit Swiss Watch Factory Outlet and Chocolate factory outlets. Evening, free for shopping. Dinner will be served at Indian Restaurant. Overnight at your Hotel.</p>					
									<p><b>Meals : </b> Breakfast, Lunch, Dinner</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 To Mumbai
								</p>
								<p class="aj">After breakfast at the hotel. Check out from your hotel and transfer to the Airport to board the flight for India. Arrive India with happy memories!!! Tour End.</p>					
									<p><b>Meals : </b> Breakfast</p>
								</td>
								</tr>
								</table>					
								</div>						<br />
												 <p class="headHr p7px b pl10px xlarge">Tour Detail</p>
			             <div class="data p15px aj">
										
						<p class="large b mb5px dif">Inclusions :</p>
						<ul>
															<li>Hotel</li>
															</ul>
						<br />
											
						<p class="large b mb5px dif">Terms &amp; Conditions :</p>~^#^~~^#^~<ul>
	<li>Additional GST of 3.09% shall be applicable on the total package cost.</li>
	<li>The above is only an offer. In the event of Non availability of the specified hotel, alternate or similar hotels would be offered.</li>
	<li>Rates valid strictly for the requested period.</li>
	<li>Rates For Private Services Are Based On Minimum Pax Traveling. Any Change In The Number Of Pax Would Lead To Change In Cost.</li>
	<li>Any increase in the Airlines taxes /Hotel Surcharges from the time of Booking till the departure date must be borne by pax.</li>
	<li>No refund for unutilized service</li>
	<li>All Hotels, Itinerary, restaurants subject to change without notice</li>
	<li>Rates valid only for the dates and period requested. Change in date would lead to change of cost</li>
	<li>Rates are based on as on date&rsquo;s exchange rate. Should there be any major fluctuation OPPEX TRAVELS AND TOURS reserve the right to furnish a fresh quote.</li>
	<li>&nbsp;Rates do not include Event/ Peak Season surcharges.</li>
	<li>Would be advised at the time of booking.</li>
	<li>Any damage caused to hotel rooms/ Coach during your stay, shall be payable by the</li>
	<li>passengers.</li>
	<li>OPPEX TRAVELS AND TOURS will not be liable for the same.</li>
	<li>The Company shall not accept any liability or responsibility for any damages, loss, injury, accident&nbsp; death, Flight Cancelation by Airline , breakdown, or irregularity, which may occur in carrying out the tour arrangement, weather conditions, strikes, wars,&nbsp; uarantine or any other cause whatsoever and all such loss or expense must be borne by pax.</li>
	<li>All Tours subject to OPPEX TRAVELS AND TOURS Tour conditions</li>
	<li>For payments made in INR, the conversion would be based on the ROE as on the date of payments.</li>
	<li>(Please refer our Terms and Conditions and cancellation policies mentioned in our website)</li>
</ul>												</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.oppexholidays.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Singapore - Malaysia Tours - 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="30835"/>
						</form>
						</div>
						
						";i:1;s:65:"Book Singapore - Malaysia Tours - 6 Nights / 7 Days Tour Packages";i:2;s:123:"book singapore - malaysia tours - 6 nights / 7 days tour packages, beach and islands tour packages, singapore tour packages";i:3;s:214:"Book Singapore - Malaysia Tours - 6 Nights / 7 Days tour packages from Oppex Travels & Tours ( a Division of Oppex Freight Systems - Get attractive 6 Nights / 7 Days Beach and Islands  tour packages for  Singapore.";i:4;s:407:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Singapore"        
		                 },
		      "description": "",
		      "name": "Singapore - Malaysia Tours",
		      "telephone": "+91-9821321975"
		    }
		    </script>
			";i:5;N;}