a:6:{i:0;s:12590:"				<div class="h1"><h1>MH 004 Thailand and Malaysia Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.sanskrutivacations.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.sanskrutivacations.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>MH 004 Thailand and Malaysia 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">
						8 Nights / 9 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Kuala Lumpur, Bangkok, Pattaya</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.sanskrutivacations.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="MH 004 Thailand and Malaysia 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="84365"/>
						</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_14/393874/148801.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_14/393874/148801.jpg"  width="150" height="150"    alt="MH 004 Thailand and Malaysia Tour" title="MH 004 Thailand and Malaysia Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					Accommodation for 02 Nights in Bangkok<br />
Accommodation for 02 Nights in Pattaya<br />
Accommodation for 02 Nights in Genting Highlands<br />
Accommodation for 02 Nights in Kuala Lumpur <br />
Daily buffet breakfast <br />
Return airport transfers by coach in Malaysia <br />
Return airport transfers by coach in Thailand <br />
City tour of Bangkok by coach <br />
Excursion to Coral Island from Pattaya by coach <br />
Alcazar Show in Pattaya by coach <br />
Excursion to Night Safari by coach <br />
Half Day City tour in Kuala Lumpur by coach <br />
Value Add: One way cable car ride & Enroute to Genting Batu Cave photo stop <br />
Indoor & Outdoor theme park ticket at GentingAirfares and ticket taxes <br />
Meals not specified above <br />
Surcharges applicable <br />
Travel and Medical Insurance <br />
Tips and Porterage <br />
Expenses of personal nature <br />
Anything not mentioned in the inclusions above<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> Bangkok  /  Pattaya
								</p>
								<p class="aj">Welcome to Bangkok ! The start of your holiday. Upon arrival you are met & are transferred to Pattaya. An approximate 2 hrs drive. Pattaya has a lot to offer its visitors in terms of activities & sightseeing. Relax a while & later in the evening you are escorted from your Hotel for the famous Alcazar Show.The show ends close to Dinnertime. Overnight in Pattaya</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> Pattaya
								</p>
								<p class="aj">The day begins a little early this morning as you are taken on a full day excursion to the Coral Island. On the Island you can indulge in water sports & also try your hand at paragliding!! Truly an exhilarating experience!! The tour terminates early evening back at your Hotel. Spend the evening strolling down the avenues of Pattaya skirting the beach or try your hand at bargaining for wares at the shops dotting the Beach. Overnight in Pattaya<br />
 </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> Pattaya / Bangkok
								</p>
								<p class="aj">Following breakfast this morning its time for you to be transferred back to Bangkok. Check in and the rest of the day is free for you to spend at leisure. Bangkok has some great bargain malls and is definitely a shoppers' paradise.Bangkok has some great places to shop. We recommend you try the Loft, Habitat or the Siam Paragon or MBK. There are a few places where you can also get some bargain deals. Overnight in Bangkok. Overnight in Bangkok</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> Bangkok
								</p>
								<p class="aj">Following breakfast you are taken on a Temple & City Tour of Bangkok. Visit the three famous temples - Wat Pho - one of Bangkok's oldest and largest temples, Wat Trimitr - The Golden Buddha temple and Wat Benjabophit - the Marble Temple. You could spend the rest of the day pampering yourself, shopping at the luxury Gaysorn or the Central World shopping centres. Later in the evening, we recommend a memorable cruise down the Chao Phraya River accompanied by a fine meal. Considering all the traffic in Bangkok, the best way for you to save time & money is to make use of the skytrain.The Manohra which is a restored rice barge is just the place for you. Another dining option is the Sirocco at the Dome on the 52nd floor. Overnight in Bangkok</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> Bangkok /  Kuala Lumpur / Genting
								</p>
								<p class="aj">Its time to pack and check out of your Hotel this morning as you are escorted to the Airport in order for you to catch your flight to Malaysia. Upon arrival into Kuala Lumpur this morning you are met and are transferred to Genting. Check in and relax. Spend the rest of the day walking around and pampering yourself with the various amenities available at the Resort.In the evening you must try your hand at the Casino!! Genting houses the world's largest Casino under one roof!! Rightly called the City of Entertainment! 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 6:</b> Genting
								</p>
								<p class="aj">This morning after breakfast spend the entire day at the Theme Parks with your unlimited day use pass which entitles you to unlimited rides too!! The rest of the day is free. Genting is truly a spectacular place tucked away high above the clouds! 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 7:</b> Genting / Kuala Lumpur
								</p>
								<p class="aj">This morning following breakfast it's time for you to be transferred Kuala Lumpur. Upon arrival you are met and are transferred to your Hotel. The rest of the day is free for you to explore this vibrant City. 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 8:</b> Kuala Lumpur
								</p>
								<p class="aj">Today you are taken for a half day city tour of Kuala Lumpur where you see the places of interest including visiting a handicraft centre, Jamek Mosque, drive pass Chinatown and Parliament House, photo stop at the King's Palace, Railway station, Sultan Abdul Samad building, National Monument and country's history and culture. Rest of the day is free for some shopping at the areas like Bukit Bintang, Chinatown, Suria KLCC Mall, Mid Valley and the night market at Petaling Jaya. 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 9:</b> Kuala Lumpur 
								</p>
								<p class="aj">Its time to check out of the Hotel and be transferred to the Airport in time for you to connect your flight 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">Exclusions :</p> <ul><li>Airfares and ticket taxes </li><li>
Meals not specified above </li><li>
Surcharges applicable </li><li>
Travel and Medical Insurance </li><li>
Tips and Porterage </li><li>
Expenses of personal nature </li><li>
Anything not mentioned in the inclusions above</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.sanskrutivacations.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="MH 004 Thailand and Malaysia 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="84365"/>
						</form>
						</div>
						
						";i:1;s:72:"Book MH 004 Thailand and Malaysia Tour - 8 Nights / 9 Days Tour Packages";i:2;s:151:"book mh 004 thailand and malaysia tour - 8 nights / 9 days tour packages, beach and islands tour packages, kuala lumpur, bangkok, pattaya tour packages";i:3;s:202:"Book MH 004 Thailand and Malaysia Tour - 8 Nights / 9 Days tour packages from Sanskruti Vacations - Get attractive 8 Nights / 9 Days Beach and Islands  tour packages for  Kuala Lumpur, Bangkok, Pattaya.";i:4;s:1279:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Kuala Lumpur, Bangkok, Pattaya"        
		                 },
		      "description": "Accommodation for 02 Nights in Bangkok
Accommodation for 02 Nights in Pattaya
Accommodation for 02 Nights in Genting Highlands
Accommodation for 02 Nights in Kuala Lumpur 
Daily buffet breakfast 
Return airport transfers by coach in Malaysia 
Return airport transfers by coach in Thailand 
City tour of Bangkok by coach 
Excursion to Coral Island from Pattaya by coach 
Alcazar Show in Pattaya by coach 
Excursion to Night Safari by coach 
Half Day City tour in Kuala Lumpur by coach 
Value Add: One way cable car ride & Enroute to Genting Batu Cave photo stop 
Indoor & Outdoor theme park ticket at GentingAirfares and ticket taxes 
Meals not specified above 
Surcharges applicable 
Travel and Medical Insurance 
Tips and Porterage 
Expenses of personal nature 
Anything not mentioned in the inclusions above",
		      "name": "MH 004 Thailand and Malaysia Tour",
		      "telephone": "+91-9769880881"
		    }
		    </script>
			";i:5;N;}