a:6:{i:0;s:17289:"				<div class="h1"><h1>Thailand and Malaysia with 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>Thailand and Malaysia with 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">
						10 Nights / 11 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Kuala Lumpur, Bangkok, Pattaya, 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.seaqueenholiday.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Thailand and Malaysia with 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="52619"/>
						</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/102956.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_8/235469/102956.jpg"  width="150" height="150"    alt="Thailand and Malaysia with Singapore Tour" title="Thailand and Malaysia with 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 Arrival
								</p>
								<p class="aj">On your arrival in Singapore, meet our tour representative and get transferred to your pre-booked hotel.<br />
<br />
Relax and proceed to the popular Night Safari in the evening. This one-of-its-kind zoo lets the visitors behold the nocturnal animals in action in their natural environment, which indeed is created. The zoo houses about 900 animals belonging to as much as 135 exotic species. It is divided into 8 different zones according to various geographical features.<br />
<br />
Dinner without transfer and overnight stay in 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 2:</b> Singapore City Tour
								</p>
								<p class="aj">The day begins with delicious breakfast, followed by half-day city tour. Guests are driven past Colonial Heart, from where you can get a glimpse of Padang Cricket Club along with other landmarks such as City Hall, Supreme Court, Parliament House, Saint Andrew's Cathedral etc. Afterwards, visit some of the most important temples of Singapore- Fukien or Hoklo temple and Thian Hock Keng Temple, the oldest temple of Singapore.<br />
<br />
Other site to be visited today is Merlion Park from where you can enjoy beautiful site of Singapore's skyline and Marina Bay. This is one of Singapore's major attraction and features the statue of Singapore's mascot which is half lion and half mermaid.<br />
<br />
Dinner without transfers and overnight stay in 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 3:</b> Singapore Sentosa Island Tour
								</p>
								<p class="aj">Have refreshing breakfast and prepare for a day full of fun and entertainment in Singapore's Sentosa Island. The Sentosa Twilight Tour includes one-way cable car ride, admission tickets and visit to Dolphine Lagoon & Wings of Time, Merlion Tower and Underwater World.<br />
<br />
Sentosa Island Resort has a plethora of entertainment which includes Universal Studios, two gold courses, Resorts World, Fort Siloso, the Merlion, many hotels, spas, and restaurants, all of which keep tourist entertained and they end up visiting again and again. There is so much to see and do in Sentosa Island, like ziplining, cable-car ride and attending dolphin show, among others.<br />
<br />
Dinner without transfers and 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 4:</b> Singapore - Kuala Lumpur
								</p>
								<p class="aj">Post scrumptious breakfast you are transferred to Coach Station to catch your coach to Kuala Lumpur, the capital of Malaysia. With glistening cityscape and food to drool over, Kuala Lumpur is undoubtedly one of the most happening cities of South-East Asia. What is appreciable about Kuala Lumpur and almost all of Malaysia is that the culture has been clung on to tightly, which makes the country even more beautiful.<br />
<br />
On arrival, you are transferred to your pre-booked hotel where you check-in and relax. Rest of the day is to be spent at leisure. Dinner without transfers and overnight stay in 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 5:</b> Kuala Lumpur City Tour
								</p>
								<p class="aj">Have your breakfast in the hotel and proceed for Kuala Lumpur City Tour. Start off by viewing vivid and intricate Malaysian handicrafts and then pass through Golden Triangle Area, Independence Square and China Town. Other sites to be visited today include National Monument, King's Palace, Sultan Abdul Samad Building, Railway Station, National Mosque and National Monument. If National Monument cannot be reached, tour is diverted to Thean Hou Temple.<br />
<br />
The Golden Triangle Area is a busy street that encompasses shopping centers, restaurants and entertainment hub. Independence Square or Merdeka Square is the spot where Malaysian Flag was hoisted for the first time and every year Merdeka Parade is organized here. Chinatown as the name suggests flaunts the colors of China and lets its visitors experience the essence of the country. National Monument is a sculpture that is dedicated to the martyrs who sacrificed their lives for the independence of the county, during World War II and Malayan Emergency. King's Palace of Istana Negara is the official residence of His Majesty Yang Di-Pertuan Agong, the Supreme King of Malaysia. Sultan Abdul Samad Building reflects beautiful Moorish architecture and is one of the most popular landmarks of Malaysia. Kuala Lumpur Railway Station is noted for its architecture which portrays the blend of East and West.<br />
<br />
Rest of the day is to be spent at leisure.<br />
Dinner without transfers and overnight stay in 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 6:</b> Genting Highlands - Snow World and Batu Caves
								</p>
								<p class="aj">On this day, you are transferred to Genting Highlands after breakfast, while on your way you stop over at Batu Caves. On reaching Batu Caves behold the magnificent view of the vicinity from the top of the peak. One-way cable-car ride and entry to Snow World is also included in the tour.<br />
<br />
Genting Highland is a hill resort and a popular attraction of Malaysia. Whether kids or adults, this resort has everything to offer from swings to other entertainment options, even accommodation. People visiting Genting easily spend the whole day here and end up wanting more. Batu Caves is one of the most important Hindu shrines of Malaysia and is dedicated to Lord Murugan. It is believed that it is about 400 years old. A huge statue of Lord Murugan is placed here which looks iconic and beautiful.<br />
<br />
Dinner without transfers and overnight stay in 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> Kuala Lumpur - Bangkok - Pattaya
								</p>
								<p class="aj">In the morning, following scrumptious breakfast session you are transferred to the airport to catch your flight to Bangkok. On reaching Bangkok meet our tour representative who further transfers you to your pre-booked hotel in Pattaya.<br />
<br />
Bangkok is the capital of Thailand and is known for its vibrant street life and ornate shrines. The city is a tourist hot-spot and offers a myriad of entertainment options for indulgence. On the other hand, Pattaya, a beach-resort that enjoys the status of a city, is also a tourist hub that offers options related to recreation, entertainment, adventure sports and sightseeing.<br />
<br />
Dinner with transfers and overnight stay in 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> Pattaya Coral Island with lunch
								</p>
								<p class="aj">Have your breakfast and proceed for a boat-trip to Coral Island. You can also stop by for parasailing for which extra cost is applied. Before you enjoy sea-food lunch in the island you can take a glass-bottomed boat-ride and behold the beautiful marine life from safe distance.<br />
<br />
Coral Island has been named so because of colorful corals that surrounds the island. Other than relaxing, tourists can indulge in many sea-activities such as sea-walking, boat-rides, parasailing, scuba diving, banana-boat rides etc. If you don't prefer sea-food, vegetarian meals are also available here.<br />
<br />
In the evening you are transferred to the restaurant for dinner. Overnight stay in 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 9:</b> Pattaya - Bangkok
								</p>
								<p class="aj">Have your breakfast in the morning and check-out from your hotel in Pattaya, from here you are then transferred to a pre-booked hotel in Bangkok. On reaching, relax and proceed to visit any of city's attractions such as Golden Buddha Temple (Wat Traimits), Buddha Temple (Wat Pho) and the Thai Traditional Massage School.<br />
<br />
The statue installed in Golden Buddha Temple is the world's largest solid gold statue. It is believed that it dates back to 13th century and was discovered accidentally because Burmese hid it under plaster. Another iconic attraction, Wat Pho is also known as the Reclining Buddha. This is one of the six temples in Thailand that are considered to be of the highest grade of the first class royal temples. The Thai Traditional Massage School offers massage services and courses that work on the ancient Thai's wisdoms.<br />
<br />
Dinner with transfer and 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 10:</b> Bangkok
								</p>
								<p class="aj">On this day, you have your breakfast and spend rest of the days at leisure.<br />
<br />
Some of the popular attractions of Bangkok are- Grand Palace, Wat Pho, Wat Saket, Golden Buddha, Bangkok National Museum, Vimanmel Mansion, Royal Thai Air Force, Bangkok Folk Musuem, Limpini Park, Chatuchak Market and Khao San Road.<br />
<br />
Limpini Park though is situated in the ever-growing metropolis Bangkok, but the tranquility and nature's charm makes it feel world apart. There are many lawn areas to hangout in, or you can simply take a boat-ride on the lake. Chatuchak is a weekend market that has more 15000 stalls with everything from fashion to spirituality. National Museum houses the largest collection of Thai artifacts in Thailand as this was the only museum until 1970. The Giant Swing, contradicting its name is a teak frame with a height of 27 meter. Grand Palace is an important historical attraction of Bangkok dating back to 1782 has served as a royal residence and today it serves as venue for important ceremonies and to accommodate the heads of state.<br />
<br />
Dinner with transfers and overnight stay in the hotel.</p>
								</td>
								</tr>
								</table>					
								</div><div id="show_more_content" style="display:none;">
									<div class="data">
									<table class="w100 formTable bdr0 imgWidth">
									<tr>
									<td class="p10px vat">
									<p class="b large mb5px"><b class="dif">Day 11:</b> Departure
									</p>
									<p class="aj">Have your breakfast and enjoy the day at leisure till you get an assisted transfer to the airport to catch your flight home.</p>
									</td>	
									</tr>
									</table>				
									</div>					
							</div>							<p class="mt10px ac"><a class="buttonBig p5px10px dib b" id="more_button" href="javascript:topDestinationToggle('show_more_content','more_button');" >View More &#9660;</a></p>
													<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>
																		<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.seaqueenholiday.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Thailand and Malaysia with 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="52619"/>
						</form>
						</div>
						
						";i:1;s:71:"Book Thailand and Malaysia with Singapore Tour - 111 Days Tour Packages";i:2;s:170:"book thailand and malaysia with singapore tour - 111 days tour packages, forts and palaces tour packages, kuala lumpur, bangkok, pattaya, singapore, genting tour packages";i:3;s:205:"Sea Queen Holidays offers Thailand and Malaysia with Singapore Tour - 111 Days tour package, budget Forts and Palaces tour packages for Kuala Lumpur, Bangkok, Pattaya, Singapore, Genting at exciting price.";i:4;s:463:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Kuala Lumpur, Bangkok, Pattaya, Singapore, Genting"        
		                 },
		      "description": "",
		      "name": "Thailand and Malaysia with Singapore Tour",
		      "telephone": "+91-9833538295"
		    }
		    </script>
			";i:5;N;}