a:6:{i:0;s:12188:"				<div class="h1"><h1>Singapore Tour Package</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.skytriptraveleasy.com/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.skytriptraveleasy.com/packages.htm" title="Packages">Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Singapore 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">
						9 Nights / 10 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Kuala Lumpur, Bangkok, Pattaya, 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.skytriptraveleasy.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Singapore 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="21198"/>
						</form>
						</p>
						</td>
						</tr>
											</table>
					</td>
											<td class="p10px vat imgWidth150 w150px lh0">
						<div class="demo-wrap">
						<ul class="lsn m0px p0px" >
															<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_9/264226/38929.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_9/264226/38929.jpg"  width="150" height="150"    alt="Singapore Tour Package" title="Singapore Tour Package" /></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
								</p>
								<p class="aj">Arrive Singapore. Check in to hotel @ 1400 hrs. Dinner will be served at Indian Restaurant. Overnight at your 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 2:</b> Singapore
								</p>
								<p class="aj">After breakfast, After breakfast will proceed for City tour get ready to experience the mega metropolis of Singapore. Lunch in Indian Restaurant.After Lunch transfer to the Sentosa Island. There you will enjoy the, underwater World, Spectacular Musical Song Of the Sea, Dolphin Lagoon etc. Dinner will be served at Indian Restaurant. Overnight at your 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 3:</b> Singapore - Kuala Lumpur - Genting
								</p>
								<p class="aj">After a buffet breakfast at hotel.Coach from Singapore - Kuala Lumpur.On Arrival Transfer to Genting. Enroute visit Batu Caves. Check onto Genting at 1500 Hrs. Dinner in Indian Restaurants. Overnight 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 4:</b> Genting - Kuala Lumpur
								</p>
								<p class="aj">After breakfast, get ready to set out and explore more of this wonderful place .Enter a world of fantasy and adventure at the Genting Outdoor Theme Park. Enjoy unlimited rides, games, shows, mini trains, boating on the lake, Lunch in Indian Restaurant Evening will take a transfer to Kuala Lumpur. Dinner will be served at Indian Restaurant. Overnight in 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 5:</b> Kuala Lumpur
								</p>
								<p class="aj">After Breakfast, Check out from hotel we proceed on a panoramic city tour of the sprawling capital city of Kuala Lumpur, covering Merdeka Square, Pass by National Mosque & photo shoot only, Thean Hou Temple, Handicraft Centre etc. in guided city tour with photo stops wherever possible. Some of the places covered in the city tour are as follows: KINGS PALACE: Istana Negara is the official residence of the King, located on a hillock. Green lawns.</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 - Bangkok - Pattaya
								</p>
								<p class="aj">After Breakfast .Take Air Asia to Bangkok. On arrival you will meet our local representative near Gate No 10, Door C . who will assist you for your transfer to Pattaya. Check in at your hotel at Pattaya. Day free at leisure. In the evening visit the immensely popular cabaret show - Alcazar Show. Dinner in Indian restaurant. Overnight in Pattaya 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> Pattaya
								</p>
								<p class="aj">After an early breakfast at the hotel, we proceed to Coral Island; you can enjoy various water sports such as Parasailing, Paragliding, Snorkeling and many others (Optional Cost). After Lunch, later in the afternoon visit Noong Nooch Village, where spectacular tropical gardens flourish in a distinct Thai setting. Enjoy the traditional dance performances and the unique elephant show. Sample the distinct nature, adventure and culture of Thailand, all in the space of a single day .Dinner in Indian restaurant.Overnight stay at Pattaya 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> Pattaya - Bangkok
								</p>
								<p class="aj">After breakfast check out from the hotel to proceed to Bangkok, proceed for an exciting guided City Tour of Bangkok. Visit two of the world's most famous Buddhist temples - the Golden Buddha Temple It is a fine example of Sukhothai art and the Reclining Buddha Temple which is largest and the oldest in Bangkok. Lunch and Dinner Indian restaurant in Check in at your Hotel Rest of the day is free for shopping. Overnight stay at Bangkok 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 9:</b> Bangkok
								</p>
								<p class="aj">After a buffet breakfast at hotel, enjoy the whole day trip to Safari World with Marine Park the abode of thousands of rare species, which form the highlight of the day. Hold your breath as you drive through the splendid African designed landscapes of the Animal Kingdom to see hundreds of animals from all over the world. At the Marine Park you see the white tiger exhibit, visit adventure island or catch one of the many exciting shows. Applaud your way through the Dolphin Show and Sea Lion Show or the water skiing show. It's a fun-day outing, Lunch and Dinner in Indian Restaurant. Overnight stay at Bangkok 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 10:</b> Bangkok 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>
								</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. ~^#^~						
    	<p class="h dif xlarge b mb5px">Package Cost</p>
		<div class="dynamic-data-container">
    	<table class="bdrAll" width="100%" cellpadding="5">
			<tr>
				<td class="data p5px">Currency</td>
				<td class="data p5px">Adult</td>
				<td class="data p5px">EX.AD</td>
				<td class="data p5px">SGL</td>
				<td class="data p5px">CWB</td>
				<td class="data p5px">CNB</td>
				<td class="data p5px">INFANT</td>
			</tr>
			<tr>
				<td class="data p5px">TOUR COST</td>
				<td class="data p5px">N.A.</td>
				<td class="data p5px">N.A.</td>
				<td class="data p5px">N.A.</td>
				<td class="data p5px">N.A.</td>
				<td class="data p5px">N.A.</td>
				<td class="data p5px">N.A.</td>
			</tr>
		</table></div><br>						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.skytriptraveleasy.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Singapore 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="21198"/>
						</form>
						</div>
						
						";i:1;s:62:"Book Singapore Tour Package - 9 Nights / 10 Days Tour Packages";i:2;s:143:"book singapore tour package - 9 nights / 10 days tour packages, heritage tour packages, kuala lumpur, bangkok, pattaya, singapore tour packages";i:3;s:179:"Skytrip Travel Easy offers Singapore Tour Package - 9 Nights / 10 Days tour package, budget Heritage tour packages for Kuala Lumpur, Bangkok, Pattaya, Singapore at exciting price.";i:4;s:435:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Kuala Lumpur, Bangkok, Pattaya, Singapore"        
		                 },
		      "description": "",
		      "name": "Singapore Tour Package",
		      "telephone": "+91-9555999290"
		    }
		    </script>
			";i:5;N;}