a:6:{i:0;s:12016:"				<div class="h1"><h1>Singapore & Malaysia Special Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.indiatourandvacations.com/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.indiatourandvacations.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Singapore & Malaysia Special Tour</p>
				<br />
				
								
						<script language="javascript"> 
							function topDestinationToggle(showHideDiv, switchTextDiv) {
							var ele = document.getElementById(showHideDiv);
							var text = document.getElementById(switchTextDiv);
							if(ele.style.display == "block") {
								ele.style.display = "none";
							  text.innerHTML = "View More &#9660;";
							}
							else {
							  ele.style.display = "block";
							  text.innerHTML = "View Less &#9650;";
							}
							}
		                </script>
											<script type="text/javascript">			
					(function($){	
					  $(function(){
						$('[id^=detailslider]').each(function(){
							$(this).DG_Slider({
								auto: true, mode:'fade', pager:true, pagerType:'short',controls:true
							});
						})
				
						$('a[rel=gall]').fancybox()
					  });	
					}(jQuery))
					</script>
					
					<br />
					<div class="data">
					<table class="w100 formTable bdr0 imgWidth">
					<tr>
					<td class="p10px">
					<table class="w100 packageForm">
											<tr>
						<td class="b p5px w125px vat">Tour Code </td>
						<td class="p5px pl0px vat">SingMal2016-17</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">Kuala Lumpur, Singapore, Genting</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Price (Starting From) </td>
						<td class="p5px pl0px vat"><span class="dif">On Request</span></td>
						</tr>
												<tr>
						<td></td>
						<td>
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.indiatourandvacations.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Singapore & Malaysia Special Tour - Tour Package"/>
						<input type="hidden" name="allocate_type" value="tour"/>
						<a href="#" onclick="document.getElementById('frmpackagedetail').submit();" class="button p7px pl12px pr12px c5px b large dib mt10px">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="55830"/>
						</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_13/376887/106881.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_13/376887/106881.jpg"  width="150" height="150"    alt="Singapore & Malaysia Special Tour" title="Singapore & Malaysia Special Tour" /></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_13/376887/106882.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_13/376887/106882.jpg"  width="150" height="150"    alt="Singapore & Malaysia Special Tour" title="Singapore & Malaysia Special Tour" /></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_13/376887/106883.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_13/376887/106883.jpg"  width="150" height="150"    alt="Singapore & Malaysia Special Tour" title="Singapore & Malaysia Special Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					Airfare And Airline Taxes.<br />
 Internal Travel Sector Not Included ( Kuala Lumpur – Singapore ) <br />
 Travel Insurance Not Included, But Highly Recommended<br />
 Expenses Of Any Personal Nature (Phone Calls, Laundry Etc) <br />
 Any Meal Other Than Specified In The Inclusions.<br />
 Any Services Not Mentioned In The "Inclusions"<br />
 Service Tax Of 3.625% Will Be Applicable On The Package Visa Fees<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 Kuala Lumpur And Transfer To Genting
								</p>
								<p class="aj">Welcome to Kuala Lumpur. On arrival at the Kuala Lumpur International Airport, You will be met and transfer by road to Genting Highlands. On arrival, check-in at  hotel.The rest of the afternoon is free for you to enjoy the Indoor & Outdoor Theme Park, Various Entertainment facilities, Casino de Genting etc. <br />
Stay overnight at hotel in Genting.</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 2:</b> Genting – Kuala Lumpur
								</p>
								<p class="aj">After breakfast at Genting Highlands, transfer from Genting to the Kuala Lumpur Hotel. While the rest of your day is free at leisure, we recommend shopping in Kuala Lumpur. Malaysia is a premier shopping destination in South-east Asia. Spend the day at leisure. <br />
Stay overnight at hotel 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 3:</b> Kuala Lumpur – Half Day City Tour
								</p>
								<p class="aj">After breakfast, proceed for a half day City Tour of Kuala Lumpur. Half day Kuala Lumpur City Tour which includes National Monument, King’s Palace, Independence Square, Petronas Twin Towers (photo stop), Boutique Chocolate, National Mosque (photo stop) (SIC). Rest of the day free for leisure on your own. <br />
Stay overnight at the hotel 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 4:</b> Kuala Lumpur – Singapore – Night Safari
								</p>
								<p class="aj">After your breakfast, proceed to Singapore. Arrive Singapore and transfer to the hotel. Later in the evening proceed for Night safari tour take a tour of the Jungle with complete safety and comfort of 40 mins tram journey of wild animals through the east and west loop. On completion of the tram ride, your guide will take you on a walking trail where you will be able to get a chance to come close with lions, tigers, tapirs, deer etc. <br />
Stay overnight at the hotel 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 5:</b> Singapore - Half Day City Tour
								</p>
								<p class="aj">After breakfast, proceed for the city tour of Singapore. Explore the city by driving round the Civic district, passing by the Padang, Cricket Club, Parliament house, Supreme court and the City Hall. Also stop at the Merlion Park and enjoy the impressive views of the Marina Bay. Also do not miss the picture taking opportunity with the Merlion – a mythological creature. Visit the Thian Hock Keng Temple, one of the Oldest Buddhist temple. Proceed to the National Orchid Gardens, located within Singapore Botanic Gardens. Then stop at the Little India where you can buy spices, joss and jasmine. Spend the time at leisure on your own. <br />
Stay overnight at the hotel.</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> Singapore – Afternoon Till Sunset At Sentosa
								</p>
								<p class="aj">After breakfast, Later in the afternoon proceed for Afternoon till sunset at Sentosa. Enjoy the scenic cable car ride, underwater world, Dolphin Lagoon Show, Images of Singapore, & Songs of the sea. <br />
Stay overnight at the hotel 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 7:</b> Depart Singapore
								</p>
								<p class="aj">After breakfast spend time at leisure. Later proceed to the airport to board the flight for home/onward Journey.</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>
																		<li>Transfers</li>
															</ul>
						<br />
												<p class="large b mb5px dif">Exclusions :</p> <ul><li>Airfare And Airline Taxes.</li><li>
 Internal Travel Sector Not Included ( Kuala Lumpur – Singapore ) </li><li>
 Travel Insurance Not Included, But Highly Recommended</li><li>
 Expenses Of Any Personal Nature (Phone Calls, Laundry Etc) </li><li>
 Any Meal Other Than Specified In The Inclusions.</li><li>
 Any Services Not Mentioned In The "Inclusions"</li><li>
 Service Tax Of 3.625% Will Be Applicable On The Package Visa Fees</li></ul><br />
												<p class="large b mb5px dif">Departure Cities with rates :</p>Delhi<br /><br />
											
						<p class="large b mb5px dif">Terms &amp; Conditions :</p>* Some Advance Percentage of total booking amount * Airfare/Transport fare to be paid full at one time in advance.~^#^~* Upon cancellation, refund will be made after deducting the Retention Amount. * Retention Amount varies as per the number of days left before your package start date. ~^#^~												</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.indiatourandvacations.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Singapore & Malaysia Special Tour - Tour Package"/>
						<input type="hidden" name="allocate_type" value="tour"/>
						<a href="#" onclick="document.getElementById('frmpackagedetail').submit();" class="button p7px pl12px pr12px c5px b large dib mt10px">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="55830"/>
						</form>
						</div>
						
						";i:1;s:72:"Book Singapore & Malaysia Special Tour - 6 Nights / 7 Days Tour Packages";i:2;s:153:"book singapore & malaysia special tour - 6 nights / 7 days tour packages, forts and palaces tour packages, kuala lumpur, singapore, genting tour packages";i:3;s:209:"Book Singapore & Malaysia Special Tour - 6 Nights / 7 Days tour packages from India Tour and Vacations - Get attractive 6 Nights / 7 Days Forts and Palaces  tour packages for  Kuala Lumpur, Singapore, Genting.";i:4;s:819:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Kuala Lumpur, Singapore, Genting"        
		                 },
		      "description": "Airfare And Airline Taxes.
 Internal Travel Sector Not Included ( Kuala Lumpur – Singapore ) 
 Travel Insurance Not Included, But Highly Recommended
 Expenses Of Any Personal Nature (Phone Calls, Laundry Etc) 
 Any Meal Other Than Specified In The Inclusions.
 Any Services Not Mentioned In The "Inclusions"
 Service Tax Of 3.625% Will Be Applicable On The Package Visa Fees",
		      "name": "Singapore & Malaysia Special Tour",
		      "telephone": "+91-9818529130"
		    }
		    </script>
			";i:5;N;}