a:6:{i:0;s:9309:"				<div class="h1"><h1>Exclusive Singapore Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.seaqueenholiday.com/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.seaqueenholiday.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Exclusive Singapore 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">Duration </td>
						<td class="p5px pl0px vat">
						4 Nights / 5 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.seaqueenholiday.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Exclusive Singapore 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="52627"/>
						</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_8/235469/102964.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_8/235469/102964.jpg"  width="150" height="150"    alt="Exclusive Singapore Tour" title="Exclusive Singapore Tour" /></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">On arriving at the Singapore airport, meet our IHPL tour representative who helps you with an assisted transfer to your pre-booked hotel. After completing the check-in formalities, you can start your tour by visiting the popular shopping malls and centers of Singapore to indulge in shopping. Spend the day in collecting souvenirs, tasting local renditions, interacting with the locals and more. The night is scheduled for world’s most popular night zoo or the Night Safari. Spread in around 400-hectare of land, this jungle reserve houses as many as 1200 nocturnal animals. Get into a tram and roam all around enjoying the sights and sounds of the animals in the Southeast Asian Rainforest.  Tram ride is followed by a guided walking tour. Stay overnight.</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">On the 2nd day, after you have your breakfast, leave for half-day sightseeing tour. During the tour, drive pas the Colonial Heart where you get to see the Padang Cricket Club, bounded by various landmark structures such as the City Hall, the Parliament House, the Supreme Court, Saint Andrew's Cathedral etc. Later, visit Thian Hock Keng Temple, the most popular and the oldest Fukien or Hoklo temple temple of Singapore. The next visit is to the Merlion Park to get a view of the Merlion, Singapore’s tourist icon, a mythical creature, which is a mix of a lion and a fish. After this, you visit the National Orchid Garden that is home to as many as 60,000 kinds of orchid plants. Post sightseeing, visit Little India and the local handicraft center. Stay overnight.</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 - Sentosa Island - Singapore
								</p>
								<p class="aj">After breakfast on the 3rd day, leave for Sentosa Island, just a few 100 yards away from the mainland. This popular island resort offers several fun-filled entertainment options and activities. Marvel at the well-maintained gardens, lush green landscape, cascading fountains, partake in entertainment activities and visit the two 18-hole golf courses. The day comes with an end with an enchanting Cable car ride from Mount Faber, offering some amazing views of the city. Back to Singapore for night stay.</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
								</p>
								<p class="aj">The 4th day after breakfast is fixed for leisure activities of your own interest. You can spend the day as per your own liking, visiting the remaining attractions, exploring the nearby location on-foot, tasting the local renditions, visiting the markets, interacting with the locals and so on. Another option is to visit the Universal Studios, a Hollywood movie theme park for enjoying movie-based roller coasters and other rides. The park has innumerable rides such as Battlestar Galactica - Human vs. Cylon (the tallest pair of duel roller coasters in the world), Far - Far Away Castle from The World of Shrek where you can enjoy Shrek 4-d adventure attractions. Another major highlight here is from the movie Waterworld. You can also enjoy Jurassic Park rapids adventure, Madagascar’s crate adventure, revenge of the Mummy and a lot more. Overnight stay in Singapore.</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> Depart from Singapore
								</p>
								<p class="aj">On the last day of the tour, have your breakfast and get an assisted transfer to the airport to board your flight for an onward journey.</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>Sightseeing</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.seaqueenholiday.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Exclusive Singapore 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="52627"/>
						</form>
						</div>
						
						";i:1;s:63:"Book Exclusive Singapore Tour - 4 Nights / 5 Days Tour Packages";i:2;s:121:"book exclusive singapore tour - 4 nights / 5 days tour packages, forts and palaces tour packages, singapore tour packages";i:3;s:171:"Book Exclusive Singapore Tour - 4 Nights / 5 Days tour packages from Sea Queen Holidays - Get attractive 4 Nights / 5 Days Forts and Palaces  tour packages for  Singapore.";i:4;s:405:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Singapore"        
		                 },
		      "description": "",
		      "name": "Exclusive Singapore Tour",
		      "telephone": "+91-9833538295"
		    }
		    </script>
			";i:5;N;}