a:6:{i:0;s:10753:"				<div class="h1"><h1>Thailand Delight 4 Nights and 5 Days Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.holidaymasti.co.in/" title="Home">Home</a> 
				
								
				<b class="ffv p2px">&rsaquo;</b>Thailand Delight 4 Nights and 5 Days 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">Bangkok, Pattaya</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Price (Starting From) </td>
						<td class="p5px pl0px vat">
						INR 8500 Per Person						</td>
						</tr>
												<tr>
						<td></td>
						<td>
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.holidaymasti.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Thailand Delight 4 Nights and 5 Days 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="48268"/>
						</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_2/30465/94018.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_2/30465/94018.jpg"  width="150" height="150"    alt="Thailand Delight 4 Nights and 5 Days Tour" title="Thailand Delight 4 Nights and 5 Days Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					Welcome to zesty Bangkok and the most fun-filled beach- Pattaya. Land in Bangkok and drive to Pattaya. Relax at long stretches of palm fringed golden beaches, enjoy water sport activities, relish freshest seafood and rave in pulsating nightlife to make most of your Pattaya holiday. After having an action-packed stay at Pattaya, travel to Bangkok and soak in its cosmopolitan and modern lifestyle. Shop in world class malls and street markets and avail the best deals with a smile. Bangkok’s nightlife is a world famed experience that one should not miss (not with kids). Bangkok & Pattaya have excellent selection of cuisines and city attractions. The ‘Land of Smiles’ won’t cease to delight you.<br />
Airfare<br />
You will need to Pay Rs. 1,000/- per person (Extra), If your transfer timings are not between 7 AM - 6 PM.<br />
Visa fees of baht 1000 at Thailand airport OR Visa from India (Rs 3,300/- per person extra)<br />
Travel Insurance<br />
(Strongly recommended for Senior Citizens)<br />
Any Service not mentioned in Inclusions.<br />
Hotel Surcharge (as Applicable) to be Paid Extra.<br />
(During Peak & Super Peak Season)<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> Arrive Bangkok - Transfer to Pattaya Hote
								</p>
								<p class="aj">First you arrive at Bangkok. After custom clearance, visa processing and baggage claim, Local Tour representative will transfer you to Pattaya. Enjoy outside views. Check in at the hotel and relax. Rest of the day is at leisure. In the evening, you can go for self strolls in the nearby areas or can opt for Alcazar Show (at an extra cost). It is a world famous cabaret with vibrant light and sound system, beautiful stage design, enticing dance performances and extravagant costumes. Return to hotel afterwards.</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 (Coral Island Tour)
								</p>
								<p class="aj">Have a fill at morning breakfast at hotel and set out for a thrill filled tour to Coral Island. A few miles off coast Pattaya, Coral Island or Koh Larn is the most famous attraction for visitors of Pattaya. Laze off on white sandy beach basking in the sun or go for deep sea or scuba diving to explore the beautiful and extensive corals. Enjoy snorkeling in crystal clear sea waters and indulge in adventurous water sports like parasailing, water-skiing, etc. Later, return to hotel and relax or go to visit the famous Floating Market of Pattaya.</p>					
									<p><b>Meals : </b> Breakfast</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 (City tour) - Transfer to Bangkok
								</p>
								<p class="aj">Have your fill at morning breakfast at the hotel, pack your bags and check out from the hotel. Today we drive back to Bangkok. En-route we take a panoramic city tour of Pattaya and visit World’s biggest Gem Gallery. Check-in at the Bangkok hotel and relax. In the evening, you can head out to explore the city’s famous nightlife or you could opt for Chao Phraya River Dinner Cruise (on an extra cost). It is a beautiful tour offering amazing night views of Thailand's historical landmarks like Grand Palace, Temple of the Emerald Buddha, Wat Arun (Temple of the Dawn), the Rama 8 Bridge, etc. Cruise leisurely along the river, seeing dramatic sights and enjoying an elaborate dining and wining along with live entertainment. Post tour, return to the hotel and sleep peacefully.</p>					
									<p><b>Meals : </b>  Breakfast</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 (Day free for Leisure)
								</p>
								<p class="aj">Wake up to a vibrant morning in the land of unlimited delights and recharge with morning breakfast. Today is free at your own leisure. Explore the city attractions on your own, visit its world class malls, enjoy a tuk tuk ride or catch up on shopping deals in Bangkok’s exciting street markets. Oh yes! How can you forget about gorging on some lip smacking local Thai food?!! You could also opt for some sightseeing tour (on an extra cost).</p>					
									<p><b>Meals : </b> Breakfast</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 (Departure)
								</p>
								<p class="aj">Pack your bags, have a fill at morning breakfast and check out from the hotel (as per hotel’s check out timing). Grab onto some shopping deals before returning (as per your flight timing). Today we transfer you to the Bangkok Airport for your flight back home. On your return, we would like to receive your feedback about the trip.</p>					
									<p><b>Meals : </b> Breakfast</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>
															</ul>
						<br />
												<p class="large b mb5px dif">Exclusions :</p> <ul><li>Airfare</li><li>
You will need to Pay Rs. 1,000/- per person (Extra), If your transfer timings are not between 7 AM - 6 PM.</li><li>
Visa fees of baht 1000 at Thailand airport OR Visa from India (Rs 3,300/- per person extra)</li><li>
Travel Insurance</li><li>
(Strongly recommended for Senior Citizens)</li><li>
Any Service not mentioned in Inclusions.</li><li>
Hotel Surcharge (as Applicable) to be Paid Extra.</li><li>
(During Peak & Super Peak Season)</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.holidaymasti.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Thailand Delight 4 Nights and 5 Days 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="48268"/>
						</form>
						</div>
						
						";i:1;s:80:"Book Thailand Delight 4 Nights and 5 Days Tour - 4 Nights / 5 Days Tour Packages";i:2;s:145:"book thailand delight 4 nights and 5 days tour - 4 nights / 5 days tour packages, forts and palaces tour packages, bangkok, pattaya tour packages";i:3;s:175:"Holiday Masti offers Thailand Delight 4 Nights and 5 Days Tour - 4 Nights / 5 Days tour package, budget Forts and Palaces tour packages for Bangkok, Pattaya at exciting price.";i:4;s:1535:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Bangkok, Pattaya"        
		                 },
		      "description": "Welcome to zesty Bangkok and the most fun-filled beach- Pattaya. Land in Bangkok and drive to Pattaya. Relax at long stretches of palm fringed golden beaches, enjoy water sport activities, relish freshest seafood and rave in pulsating nightlife to make most of your Pattaya holiday. After having an action-packed stay at Pattaya, travel to Bangkok and soak in its cosmopolitan and modern lifestyle. Shop in world class malls and street markets and avail the best deals with a smile. Bangkok’s nightlife is a world famed experience that one should not miss (not with kids). Bangkok & Pattaya have excellent selection of cuisines and city attractions. The ‘Land of Smiles’ won’t cease to delight you.
Airfare
You will need to Pay Rs. 1,000/- per person (Extra), If your transfer timings are not between 7 AM - 6 PM.
Visa fees of baht 1000 at Thailand airport OR Visa from India (Rs 3,300/- per person extra)
Travel Insurance
(Strongly recommended for Senior Citizens)
Any Service not mentioned in Inclusions.
Hotel Surcharge (as Applicable) to be Paid Extra.
(During Peak & Super Peak Season)",
		      "name": "Thailand Delight 4 Nights and 5 Days Tour",
		      "telephone": "+91-8090952150"
		    }
		    </script>
			";i:5;N;}