a:6:{i:0;s:16551:"				<section id="middle"><br />
				<div class="wrap packages" id="bodyFormatNT">
				<div class="row1 dt columns12"><!--MIDDLE ROW1 STARTS-->
				<div class="col-2 wideColumn ip ls"><!--MIDDLE ROW1 COL-2 STARTS-->				
									<div class="h1"><h1>Thailand Adventure Tour</h1></div>
					<p class="breadcrumb ar uu small"><a href="https://www.ghumokahinbhi.in/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="https://www.ghumokahinbhi.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
											
					<b class="ffv p2px">&rsaquo;</b>Thailand Adventure Tour</p> 
									
						<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">
					
											<p class="mb5px"><b>Duration :</b> 
						3 Nights / 4 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Bangkok</p>
												<p class="mb5px"><b>Price (Starting From) :</b> <span class="dif">On Request</span></p>
												<br />
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="https://www.ghumokahinbhi.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Thailand Adventure Tour - Tour Package"/>
						<input type="hidden" name="allocate_type" value="tour"/>
						<a href="#" onclick="document.getElementById('frmpackagedetail').submit();" class="buttonBig p10px20px c5px b large dib">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="182770"/>
						</form>
						
												</p>
											</td>
											<td class="p10px vat imgWidth200 w200px lh0">
						<div class="demo-wrap">
						<ul class="lsn m0px p0px" >
															<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc w200px h200px"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_19/549421/277913.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_19/549421/277913.jpg"  width="150" height="112"    alt="Thailand Adventure Tour" title="Thailand Adventure Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
													<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> Day 1
										</p>
										<p class="aj">Welcome to Thailand. An airport arrival transfer is included only if booked 14 days prior to arrival. This arrival transfer can only be offered in conjunction with pre-tour accommodation booked through Company. As you check in to the hotel, please remember to collect your welcome letter with details of the trip at the reception desk. Check in is available from 2.00pm. If you arrive earlier, you can arrange for your luggage to be stored until your room is ready. As there no activities planned for today, you may relax or grab a map and out to experience the bustling city of Bangkok. Overnight Stay at the Hotel Meals: None</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> Day 2
										</p>
										<p class="aj">You will be picked up from your hotel at around 8.30 am. A local guide will accompany you and your basic transport for 4 - 5 hrs will be a tuk-tuk till you arrive at the Golden Mount. Starting out at Phra Sumeru Fortress situated at the confluence of the Chao Phraya River and the Banglamphu Canal. You will travel past Thammasat University to the Amulet market famous for religious amulets, good luck charms and traditional medicines. Our next stop is Wat Pho, the temple of the reclining Buddha. You will then visit Phahurat market where all kinds of fabrics, cloths, ornaments and accessories are sold. The tour continues to Woeng Nakorn Kasem in the Khlong Thom quarter, known as the "thieves’ market” Originally a place where stolen goods turned up for sale, it is now a second hand market for Thai and Chinese antiques. The day tour ends at Wat Saket, popularly known as the Golden Mount or ‘Phu Khao Thong’ which is a low hill crowned with a gleaming gold chedi/stupa. After the tour of the Golden Mount, you are free to return to the hotel, continue personal sightseeing, or go to a local market with our guide for an optional lunch. The afternoon walking tour starts at 3pm. Step back in time as you walk on Ratchawong Pier on the Chao Phraya River and visit the old markets in Yaowarat, located in the heart of the vibrant Chinatown district. Your walking tour continues along Song Wat Road, which is bordered by old business buildings and warehouses, most of which are still operating today. We emerge in the plastic and leather product quarter on Yaowa Phanit Road. The next stop is a 100-year-old coffee shop on Pha Sai Road. You will then head for Yaowaraj Road, which becomes a giant food bazaar with a sea of street stalls every evening. Following dinner we move towards Saphan Phut Night Market, a shopper’s delight. Artists on the street sell their talent by making your portrait to take home as a souvenir. The final stop of the night is at Talat Pak Khlong ("talat" meaning market), the largest wholesale flower and vegetable market of Bangkok, where you can feast your eyes with a colourful flower display. At the end of the day tour in Bangkok you are free to continue exploring the area or your guide will assist you in getting a taxi back to your hotel. Overnight Stay at 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> Day 3
										</p>
										<p class="aj">Your bike ride starts near Khao San Road in Banglamphu. We wind our way through the back streets of Suburban Bangkok and small laneways along the riverside. We cross the famous Rama VIII Bridge. Passing the Kings Royal Barges we follow a well worn path along the Bangkok Noi Canal which eventually leads us to the stunning Wat Arun the Temple of Dawn. The legendary Wat Arun is one of the most striking riverside landmarks of Thailand. You will cross the Chao Praya River over the Memorial Bridge built in 1929 to mark Bangkoks 150th anniversary and proceed to Pranakorn You will Wat Suthat temple of sitting Budhdha and Wat Suthat temple with a giant swing Sao Ching Cha. From here we return to our starting point at approx. 1.30PM where the trip concludes. Overnight Stay at 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 4:</b> Day 4
										</p>
										<p class="aj">As no activities planned for the day catch up with some last minute souvenir shopping and head to the airport for your onward travel.</p>
										</td>
										</tr>
										</table>					
										</div>								<br />
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Inclusions</p>
								</div>
												
								<ul>
																			<li>MAP (Room + Breakfast + Lunch/Dinner)</li>
																						<li>Hotel</li>
																						<li>Meals</li>
																						<li>Sightseeing</li>
																				<li>Three nights accommodation in a boutique hotel in Bangkok’s old town </li><li>
Meals as indicated in the itinerary - 3 breakfasts, 1 lunch, and 1 dinner </li><li>
Arrival Transfer from Bangkok Airport </li><li>
Tuk Tuk city tour </li><li>
Wat Pho and Golden Mount Temple</li><li>
Wat Traimit - Temple of Golden Buddha</li><li>
Bangkok Chinatown Food Walk</li><li>
Half day cycling tour along the riverside along the backroads of Bangkok</li><li>
Local English speaking guide</li><li>
All entrance fees mentioned on the program</li>
																	</ul>
								</div>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Exclusions</p>
								</div>
								
								<ul><li>The exact inclusions on your trip are detailed on every trip page.</li><li>
Typically, the cost of flights, visas, passport, insurance is not included in the tour price unless stated otherwise.</li><li>
Any meals not mentioned as included are at your own expense.</li><li>
Single rooms, optional tours and extra nights cost extra.</li><li>
Tips for drivers, guides and tour managers is not included in your tour price.</li><li>
Arrival and departure transfers may or may not be included in your tour price – this is clearly stated on the trip page.</li><li>
Excess baggage, porterage, laundry, phone calls, alcoholic beverages are considered personal expenses and not included in your tour price.</li></ul>
								</div>
																<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Payments Terms</p>
								</div>
								
								<ul><li>* Some Advance Percentage of total booking amount</li><li>
* Airfare/Transport fare to be paid full at one time in advance.</li></ul>					
								</div>
														<div class="data mt20px p15px">            
						<div class="mb7px"> 
						<p class="b xlarge mb10px dib">Cancellation &amp; Refund Policy</p>
						</div>
								
						<ul><li>* Upon cancellation, refund will be made after deducting the Retention Amount.</li><li>
* Retention Amount varies as per the number of days left before your package start date.</li></ul>			
						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="https://www.ghumokahinbhi.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Thailand Adventure 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="182770"/>
						</form>
						</div>
						
										</div>
				<div class="col-3 thinColumn"><!--MIDDLE ROW1 COL-1 STARTS-->
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="h h2"><b class="plusMinus"></b>
				<p class="b dif rHead">Packages by City</p>
				</div>
				<div class="ic showHide_rp">
				<div class="mt10px">
									<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.ghumokahinbhi.in/packages-in-bali.htm" title="Packages in Bali">Bali</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.ghumokahinbhi.in/packages-in-kandy.htm" title="Packages in Kandy">Kandy</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.ghumokahinbhi.in/packages-in-thimphu.htm" title="Packages in Thimphu">Thimphu</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.ghumokahinbhi.in/packages-in-pokhara.htm" title="Packages in Pokhara">Pokhara</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.ghumokahinbhi.in/packages-in-janakpur.htm" title="Packages in janakpur">janakpur</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.ghumokahinbhi.in/packages-in-colombo.htm" title="Packages in Colombo">Colombo</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.ghumokahinbhi.in/packages-in-jomsom.htm" title="Packages in Jomsom">Jomsom</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.ghumokahinbhi.in/packages-in-paro.htm" title="Packages in Paro">Paro</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.ghumokahinbhi.in/packages-in-bangkok.htm" title="Packages in Bangkok">Bangkok</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.ghumokahinbhi.in/packages-in-kathmandu.htm" title="Packages in Kathmandu">Kathmandu</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.ghumokahinbhi.in/packages-in-bentota.htm" title="Packages in Bentota">Bentota</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="uu db ar"><a class="showallspan" data-target="show" href="javascript:void(0)" >View More</a></span>
										
				</div>
				</div>
				</div>
				</div>
				
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="h h2"><b class="plusMinus"></b>
				<p class="b dif rHead">Packages by Category</p>
				</div>
				<div class="ic showHide_rp">
				<div class="mt10px">
									<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.ghumokahinbhi.in/beach-islands-holidays-catid.htm" title="Beach and Islands Packages">Beach and Islands</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.ghumokahinbhi.in/honeymoon-holidays-catid.htm" title="Honeymoon Packages">Honeymoon</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.ghumokahinbhi.in/religious-pilgrimage-holidays-catid.htm" title="Religious & Pilgrimage Packages">Religious & Pilgrimage</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.ghumokahinbhi.in/adventure-holidays-catid.htm" title="Adventure Packages">Adventure</a> <b class="alpha50 bn small">(3)</b></span>
						
				</div>
				</div>
				</div>
				</div>
				
				
				</div>
				</div>
				
								
				</div>
				</section>
				
				<script>
					window.addEventListener("DOMContentLoaded", function(){
						jQuery(document).on("click", ".showallspan", function(){
							if(jQuery(this).attr("data-target") === 'show'){
								jQuery(this).text("View Less");
								jQuery(this).attr("data-target", "hide");
								jQuery(this).closest("div").find(".spanlist").removeClass("dn");
							}else{
								jQuery(this).text("View More");
								jQuery(this).attr("data-target", "show");
								jQuery(this).closest("div").find(".spanlist").addClass("dn");
							}
						});
					});
				</script>
				";i:1;s:62:"Book Thailand Adventure Tour - 3 Nights / 4 Days Tour Packages";i:2;s:110:"book thailand adventure tour - 3 nights / 4 days tour packages, adventure tour packages, bangkok tour packages";i:3;s:157:"Book Thailand Adventure Tour - 3 Nights / 4 Days tour packages from Ghumo Kahin Bhi - Get attractive 3 Nights / 4 Days Adventure  tour packages for  Bangkok.";i:4;s:402:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Bangkok"        
		                 },
		      "description": "",
		      "name": "Thailand Adventure Tour",
		      "telephone": "+91-7807913686"
		    }
		    </script>
			";i:5;N;}