a:6:{i:0;s:14336:"				<div class="h1"><h1>Adbhoot Thailand - Land Package</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.arihanttours.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.arihanttours.in/india-tours.htm" title="India Tours">India Tours</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Adbhoot Thailand - Land Package</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 14900 Per Person						</td>
						</tr>
												<tr>
						<td></td>
						<td>
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.arihanttours.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Adbhoot Thailand - Land Package - 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="16590"/>
						</form>
						</p>
						</td>
						</tr>
											</table>
					</td>
											<td class="p10px vat imgWidth150 w150px lh0">
						<div class="demo-wrap">
						<ul class="lsn m0px p0px" id="detailslider1">
															<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_1/26194/27612.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_1/26194/27612.jpg"  width="150" height="150"    alt="Adbhoot Thailand - Land Package" title="Adbhoot Thailand - Land Package" /></a></p></div></li>
																		<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_1/26194/27613.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_1/26194/27613.jpg"  width="150" height="150"    alt="Adbhoot Thailand - Land Package" title="Adbhoot Thailand - Land Package" /></a></p></div></li>
																		<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_1/26194/27614.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_1/26194/27614.jpg"  width="150" height="150"    alt="Adbhoot Thailand - Land Package" title="Adbhoot Thailand - Land Package" /></a></p></div></li>
																		<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_1/26194/27615.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_1/26194/27615.jpg"  width="150" height="150"    alt="Adbhoot Thailand - Land Package" title="Adbhoot Thailand - Land Package" /></a></p></div></li>
																		<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_1/26194/27616.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_1/26194/27616.jpg"  width="150" height="150"    alt="Adbhoot Thailand - Land Package" title="Adbhoot Thailand - Land Package" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					Welcome To Culturally Rich And Colorful Thailand. With Your Visit To The 2 Most Popular Cities Bangkok And Pattaya, Capture The Best Of The Wondrous Land. Starting In Pattaya, Truly A Tropical Paradise, You Will Visit The Coral Islands. Head Next To Bangkok And Explore This Cosmopolitan, Contrasting And Yet One Of The Most Compelling Asian Cities. With Days At Leisure Unravel The Hidden Secrets Of The Cities On Your Own.Government Service Tax (GST) Of 3.09% On Gross Bill Effective 01St July 2012.<br />
Cost Of Visa Charges.<br />
Overseas Travel Insurance.<br />
Cost Of Meals Other Than Those Specified In Inclusions.<br />
Cost Of Foreign Exchange For Personal Expenses.<br />
Expenses Of Personal Nature, Mini Bar In The Room, Laundry, Telephone Bills, Tips, Gratuities Etc.<br />
Surcharges Applicable During Conventions, Special Events And Trade Fairs.<br />
Early Check-In And Late Check-Out Are On Request Basisonly And Subject To Room Availability.<br />
Cost Of Any Other Services Not Specifically Mentioned In Inclusions.<br />
Any Increase In The Cost That May Come Into Force Prior To The Departure Date Including Change In Price Owing To Fluctuation In The Rate Of Exchange.01-0430-06<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 - Pattaya
								</p>
								<p class="aj">Welcome To Your Tour Of Adbhut Thailand!!! Orient's Most Fabled City. Arrive At The Suvarnabhumi International Airport. After Clearing Customs & Immigrations You Will Be Met By Our Local Representative Next To The Atta Counter And Transferred To Your Hotel In Pattaya . Check In At The Hotel.<br />
The Rest Of The Day Is At Leisure Or You Can Opt For Alcazar Show, Is A Marvelous Extravaganza Of Music, Dance And Glitzy Costumes. Suitable For All Age Groups.<br />
Overnight In Pattaya.</p>					
									<p><b>Meals : </b> Dinner</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">Enjoy Your Breakfast At The Hotel. Today You Will Be Picked Up For A Speedboat Ride To The Coral Island Upon Arrival You Will Be Treated To A Spectacular View Of The Island's Coral Reef On Board A Glass Bottom Boat, After A Sumptuous Lunch. The Rest Of The Day Is Free For You To Simply Laze On The Sandy Beaches Or Take A Dip In The Turquoise Blue Waters. For The More Adventurous Indulge In Parasailing, Water Scootering Or Skin Diving At An Extra Cost Payable Directly. Return To The Hotel.<br />
The Rest Of The Evening Is At Leisure Or You Can Enjoy Any Of The Optional Tours.<br />
Overnight In Pattaya.</p>					
									<p><b>Meals : </b> Breakfast, Lunch And Dinner</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">Enjoy Breakfast At The Hotel. Check Out Of The Hotel. Today You Will Be Picked From Your Hotel Lobby For Your Transfer To Hotel In Bangkok. Arrive Bangkok And Check In At The Hotel. Half Day City & Temple Tour Of Bangkok,. As An Introduction To Bangkok, Drive Across The City Where Old & New, Classic & Modern, Match & Contrast One Another. This Tour Will Bring You To The Most Distinguished Temples In Bangkok.<br />
Overnight In Bangkok.</p>					
									<p><b>Meals : </b> Breakfast And Dinner</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 - Safari World
								</p>
								<p class="aj">Enjoy Your Breakfast At The Hotel. Today You Will Be Picked Up For The Safari Park, Then Drive Through The Scenic Safari Park Presents A Unique Opportunity For The Closest Encounter With The Rare Andendangered Srecies Of Wild Animal Kingdom.<br />
International Buffet Lunch. (13:00 Hrs)<br />
After That Visit Marine Park , Housing A Spectrum Of Animal From Land , Sea And Air And Setting The Scenes For 7 Amazing World Class Shows . From Live Action Stunt Spectacular To Performances By Animal.<br />
Overnight In Bangkok.</p>					
									<p><b>Meals : </b> Breakfast, Lunch And Dinner</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> Departure
								</p>
								<p class="aj">The Day Is At Leisure But You Will Need To Check Out Of The Hotel At 1200 Hrs. After Completing The Checkout Formalities You Can Leave Your Luggage At The Concierge And Catch Up On Some Last Minute Fun In Bangkok.<br />
Later In The Evening, You Will Be Met By Our Local Representative At The Hotel Lobby For Your Transfer To Bangkok Airport For Your Flight Back Home.</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>
																		<li>Sightseeing</li>
															</ul>
						<br />
												<p class="large b mb5px dif">Exclusions :</p> <ul><li>Government Service Tax (GST) Of 3.09% On Gross Bill Effective 01St July 2012.</li><li>
Cost Of Visa Charges.</li><li>
Overseas Travel Insurance.</li><li>
Cost Of Meals Other Than Those Specified In Inclusions.</li><li>
Cost Of Foreign Exchange For Personal Expenses.</li><li>
Expenses Of Personal Nature, Mini Bar In The Room, Laundry, Telephone Bills, Tips, Gratuities Etc.</li><li>
Surcharges Applicable During Conventions, Special Events And Trade Fairs.</li><li>
Early Check-In And Late Check-Out Are On Request Basisonly And Subject To Room Availability.</li><li>
Cost Of Any Other Services Not Specifically Mentioned In Inclusions.</li><li>
Any Increase In The Cost That May Come Into Force Prior To The Departure Date Including Change In Price Owing To Fluctuation In The Rate Of Exchange.</li></ul><br />
											
						<p class="large b mb5px dif">Terms &amp; Conditions :</p>~^#^~~^#^~<p>Per Person Rates (In Rs.) - Applicable On 2 Persons Staying Together Sharing The Same Room. Visa Is Gratis And Will Be Granted On Arrival ( Only For On Arrival Cities ). Charges For Gala Dinners On Christmas And New Year Eve Are Not Included In The Tour Price. They Will Need To Be Paid For Over And Above The Mentioned Package Price. Transportation As Per Itinerary Only (Not Available At Disposal). Package Rates Are Subject To Change Without Prior Notice. The Package Cannot Be Combined With Any Other Offer. Refund On Cancellation Depends Upon Concerned Hotel&#39;S Cancellation Policy. The Above Package Is Not Valid During National Holidays, Public Holidays, Festivals, Trade Fairs, Exhibitions, And Long Weekends. A Surcharge Will Be Levied And Will Be Advised At The Time Of Booking. Arihant Tours Reserves The Right To Change/Modify Or Terminate The Offer Any Time At Its Own Discretion And Without Any Prior Notice. In Case Of Unavailability In Mentioned Hotels, Alternate Accommodation Will Be Arranged In A Similar Category Hotel. Airline Seats &amp; Hotel Rooms Are Subject To Availability At The Time Of Booking. Rates Are Subject To Change In Case Of Change In Airport Taxes, Hotel Rates, Rate Of Exchange, Transport Rates, Government Taxes Or Entrance Fees. Meals And Services, Unless Specified In The Itinerary, Are Not Included. The Usual Check-In Time At Hotels Is 1500 Hours And Check-Out Time Is 1200 Hours. Early Check-Ins And Late Check-Outs Are Subject To Availability Of Rooms. The Above Prices Are Calculated Based On The Lowest Available Airfare. Prices Are Subject To Change Due To Non-Availability Of Seats In The Required Class. Passport Should Not Be Expire Before Departure Of 6 Months Of Any Country &amp; Malaysia 9 Months.												</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.arihanttours.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Adbhoot Thailand - Land Package - 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="16590"/>
						</form>
						</div>
						
						";i:1;s:70:"Book Adbhoot Thailand - Land Package - 4 Nights / 5 Days Tour Packages";i:2;s:135:"book adbhoot thailand - land package - 4 nights / 5 days tour packages, beach and islands tour packages, bangkok, pattaya tour packages";i:3;s:165:"Arihant Tours offers Adbhoot Thailand - Land Package - 4 Nights / 5 Days tour package, budget Beach and Islands tour packages for Bangkok, Pattaya at exciting price.";i:4;s:1577:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Bangkok, Pattaya"        
		                 },
		      "description": "Welcome To Culturally Rich And Colorful Thailand. With Your Visit To The 2 Most Popular Cities Bangkok And Pattaya, Capture The Best Of The Wondrous Land. Starting In Pattaya, Truly A Tropical Paradise, You Will Visit The Coral Islands. Head Next To Bangkok And Explore This Cosmopolitan, Contrasting And Yet One Of The Most Compelling Asian Cities. With Days At Leisure Unravel The Hidden Secrets Of The Cities On Your Own.Government Service Tax (GST) Of 3.09% On Gross Bill Effective 01St July 2012.
Cost Of Visa Charges.
Overseas Travel Insurance.
Cost Of Meals Other Than Those Specified In Inclusions.
Cost Of Foreign Exchange For Personal Expenses.
Expenses Of Personal Nature, Mini Bar In The Room, Laundry, Telephone Bills, Tips, Gratuities Etc.
Surcharges Applicable During Conventions, Special Events And Trade Fairs.
Early Check-In And Late Check-Out Are On Request Basisonly And Subject To Room Availability.
Cost Of Any Other Services Not Specifically Mentioned In Inclusions.
Any Increase In The Cost That May Come Into Force Prior To The Departure Date Including Change In Price Owing To Fluctuation In The Rate Of Exchange.01-0430-06",
		      "name": "Adbhoot Thailand - Land Package",
		      "telephone": "+91-8329797667"
		    }
		    </script>
			";i:5;N;}