a:6:{i:0;s:10721:"				<div class="h1"><h1>Super 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>Super 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">
						5 Nights / 6 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="Super 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="52626"/>
						</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/102963.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_8/235469/102963.jpg"  width="150" height="150"    alt="Super Singapore Tour" title="Super 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> Arrival Singapore
								</p>
								<p class="aj">Singapore known as Merlion city lures visitors from all over the globe. Arrive at Singapore Airport, our tour representative will arrange your transfer to the hotel in Singapore. Check-in to the hotel and enjoy the lavish comforts. The day is free for leisure. Indulge in the hotel amenities or explore yourself. Singapore is one of the most developed countries of Asia; rubbing its shoulders with all the first-world countries of west. This Little Red Dot, as it is often called is becoming more notable, owing to its exotic beaches, enormous entertainment options, cleanliness and its spectacular cityscape. Overnight stay in hotel.<br />
<br />
Overnight stay in 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 - Night Safari Tour 
								</p>
								<p class="aj">Start your day with a hearty breakfast in hotel. The day is free for leisure. Evening is planned to spend in the wilderness of world's first nocturnal zoo. Get ready for the exhilarating Singapore Night Safari. Start with the 40-minute tram journey of wild animal encounters. One train ride covers discovery from the Himalayan foothills to wild Equatorial Africa. Enjoy the educational live commentary. Get a chance to come up-close with lions, tigers, tapirs, deer and more. Another spectacular show is the Creatures of the Night Show. Set in a forest clearing the 20-minute animal presentation introduces you to nocturnal animals, from the elusive owl to nimble binturongs to intuitive civets. Learn about the wilderness of various parts of the world. The spookiness of the zoo at night makes the ride all the more fun. Return to hotel for overnight 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 3:</b> Singapore - Sentosa Island Hotel
								</p>
								<p class="aj">Start you day with an appetizing breakfast in the hotel. Post meal get ready for another beautiful day of the tour. Check out from the hotel. Our tour representative will get you transferred to your pre-booked hotel at Sentosa Island. Sentosa Island is brimming with millions of entertainment options. Not only kids but families enjoy a day of ultimate fun. Today's Twilight Tour of Sentosa Island includes one-way cable car ride, Underwater World (Amazing oceanarium that flaunts the marine life at its best), Merlion Tower (The biggest Merlion you can find in Singapore), Wings of Time (Mesmerizing light show) and Dolphin Lagoon. Then, head to A Slice of Paradise; a themed island, heritage center and nature park offering breathtaking view and myriad of activity including Sky Ride, Luge Ride, Insect Kingdom & Butterfly Park. Get mesmerized by the profusion of delights. Overnight stay in Sentosa Island.</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> Sentosa hotel - Universal Studios
								</p>
								<p class="aj">Post breakfast, guests would be embarked on a tour of one of the major highlights of Singapore; Universal Studios. Flaunting a tagline of 'Go beyond the screen and ride the movies', the Universal Studios is a real treat for entertainment lovers of all age. It is actually a theme park with Transformers the Ride: The ultimate 3D battle, Revenge of the Mummy, Jurassic Park Rapids Adventurer, Battlestar Galactica: Human vs Cyclon, Shrek 4D Adventure and Madagascar: A Crate Adventure, among its prized processions. After spending a fun filled morning and afternoon at the Universal Studios, call it a day and return to your hotel.<br />
<br />
Overnight stay in Sentosa Island.</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 - City tour with Singapore Flyer
								</p>
								<p class="aj">Enjoy a delicious breakfast and get ready for a wonderful day ahead that mainly highlights a sightseeing tour of Singapore. It would be a half day city tour that will let you explore the prominent attractions like Suntec City, Fountain of Wealth, Merlion Photo Stop, Raffles Landing, Orchard Road, Chinatown and Little India.<br />
<br />
In the evening, guests would be heading towards the world's largest observation wheel, known as the Singapore Flyer. The wheel is known for offering a spectacular bird's eye of the whole Singapore city. It is designed 165 m above the ground, in a capsule like structure that offers amazing views of the historical landmarks like the Empress Palace, Singapore River, Merlion Park and Raffles Place.<br />
<br />
Post this visit, return to the comforts of your hotel for an overnight 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 6:</b> Tour Ends
								</p>
								<p class="aj">This brings the end of our wonderful Singapore tour. Post breakfast you would be transferred to the International airport for your onward journey back home.</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="Super 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="52626"/>
						</form>
						</div>
						
						";i:1;s:59:"Book Super Singapore Tour - 5 Nights / 6 Days Tour Packages";i:2;s:117:"book super singapore tour - 5 nights / 6 days tour packages, forts and palaces tour packages, singapore tour packages";i:3;s:152:"Sea Queen Holidays offers Super Singapore Tour - 5 Nights / 6 Days tour package, budget Forts and Palaces tour packages for Singapore at exciting price.";i:4;s:401:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Singapore"        
		                 },
		      "description": "",
		      "name": "Super Singapore Tour",
		      "telephone": "+91-9833538295"
		    }
		    </script>
			";i:5;N;}