a:6:{i:0;s:10564:"				<div class="h1"><h1>Singapore & Malaysia Tour Package</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.jachintravels.com/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.jachintravels.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Singapore & Malaysia Tour Package</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">Duration </td>
						<td class="p5px pl0px vat">
						7 Nights / 8 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Kuala Lumpur, 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.jachintravels.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Singapore & Malaysia Tour Package - Tour Package"/>
						<input type="hidden" name="allocate_type" value="tour"/>
						<a href="#" onclick="document.getElementById('frmpackagedetail').submit();" class="button p7px pl12px pr12px c5px b large dib mt10px">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="24405"/>
						</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_10/296660/47423.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_10/296660/47423.jpg"  width="150" height="150"    alt="Singapore" title="Singapore" /></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_10/296660/47424.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_10/296660/47424.jpg"  width="150" height="150"    alt="Malaysia" title="Malaysia" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					Singapore is a small Island at the tip of the Malay Peninsula. Probably the best places to go in Singapore City to get a feel of the traditional culture is Chinatown, Little India and Arab Street. In the evenings the historic Singapore River is a sight that is not to be missed. <br />
<br />
Malaysia is located in the heart of Southeast Asia. Consisting of 127,000 sq. miles (330,200 sq. km), Malaysia is divided into two main regions: Peninsular Malaysia, which lies just south of Thailand, and East Malaysia, which can be found north of Indonesia on the island of Borneo. These two regions are divided into thirteen states and federal territories.<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> Delhi to Port Blair
								</p>
								<p class="aj">Departure from Delhi to Port Blair, On arrival at Port Blair airport, meet & greet at the airport with our representative. Transfers to hotel. Check in the Hotel / Resort. Afternoon at leisure. Evening, the Light and Sound Show at Cellular Jail where the saga of the freedom struggle brought alive back to the hotel. Overnight at the Port Blair with 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> Port Blair
								</p>
								<p class="aj">Breakfast at hotel. Check out from Port Blair hotel transfer to the airport for flight onwards to Chennai. Arrive Chennai. Take connecting flight from Chennai to Kualaumpur.</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> Kulalumpur
								</p>
								<p class="aj">Arrive in Kulalumpur Meet & Greet at the airport with our representative, proceed for transfer to the Genting hotel. Check in hotel ,Rest of the day at leisure Dinner at the local indian restaurant. Over night stay 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 4:</b> Genting
								</p>
								<p class="aj">Breakfast at hotel. Proceed for Genting outdoor theme park rides which includes Enter a thrilling world of adventure at the Genting Outdoor Theme Park. Enjoy exiting roller-coasters and boat rides amidst ingenious landscaping Check out from the Genting hotel and transfer to the Kualalumpur ,check in kuala Lumpur hotel, Refresh and relaxed. Day at leisure. Dinner at the local indian restaurant. Over night stay at Kualalumpur.</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
								</p>
								<p class="aj">Breakfast at hotel. Proceed for half day city tour of Kuala Lumpur which includes Photo stop at the Old Railway Station, Merdeka Square, Sultan Abdul Monument building, Petronas Twin Towers and the Chocolate Factory. While the rest of the day is free at your leisure. Indian Dinner at the local indian restaurant. Over night stay at Kuala lumpur.</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> Kualaumpur - Singapore
								</p>
								<p class="aj">Take a morning coach from Kualaumpur- Singapore. In the afternoon arrive in Singapore. Our local representative will assist you. Transfer to the hotel. In the evening proceed for night safari tour. Dinner at the local indian restaurant. Over night stay at the hotel.</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 7:</b> Singapore
								</p>
								<p class="aj">Breakfast at hotel. Proceed for half day city tour in Singapore. and in the afternoon proceed for afternoon sentosa tour includes (Sentosa inclusions: Underwater World with Dolphin Lagoon, Images of Singapore and Songs of the Sea show (afternoon Sentosa as Songs of Sea is at 1940hrs). Dinner at the local restaurant . Over night stay at the hotel rest of the day is free for you. Dinner at the local indian restaurant. Over night stay at the hotel.</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 8:</b> Transfer to the airport
								</p>
								<p class="aj">Breakfast at hotel check out. Transfer to the airport to catch the flight to india</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>Transfers</li>
															</ul>
						<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.jachintravels.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Singapore & Malaysia Tour Package - Tour Package"/>
						<input type="hidden" name="allocate_type" value="tour"/>
						<a href="#" onclick="document.getElementById('frmpackagedetail').submit();" class="button p7px pl12px pr12px c5px b large dib mt10px">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="24405"/>
						</form>
						</div>
						
						";i:1;s:72:"Book Singapore & Malaysia Tour Package - 7 Nights / 8 Days Tour Packages";i:2;s:144:"book singapore & malaysia tour package - 7 nights / 8 days tour packages, forts and palaces tour packages, kuala lumpur, singapore tour packages";i:3;s:175:"JACHIN TRAVELS offers Singapore & Malaysia Tour Package - 7 Nights / 8 Days tour package, budget Forts and Palaces tour packages for Kuala Lumpur, Singapore at exciting price.";i:4;s:1069:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Kuala Lumpur, Singapore"        
		                 },
		      "description": "Singapore is a small Island at the tip of the Malay Peninsula. Probably the best places to go in Singapore City to get a feel of the traditional culture is Chinatown, Little India and Arab Street. In the evenings the historic Singapore River is a sight that is not to be missed. 

Malaysia is located in the heart of Southeast Asia. Consisting of 127,000 sq. miles (330,200 sq. km), Malaysia is divided into two main regions: Peninsular Malaysia, which lies just south of Thailand, and East Malaysia, which can be found north of Indonesia on the island of Borneo. These two regions are divided into thirteen states and federal territories.",
		      "name": "Singapore & Malaysia Tour Package",
		      "telephone": "+91-8527093369"
		    }
		    </script>
			";i:5;N;}