a:6:{i:0;s:8533:"				<div class="h1"><h1>Krabi and Bangkok Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.rudravijaytravels.com/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.rudravijaytravels.com/packages.htm" title="Packages">Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Krabi and Bangkok 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, Krabi</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.rudravijaytravels.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Krabi and Bangkok 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="86958"/>
						</form>
						</p>
						</td>
						</tr>
											</table>
					</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> Arrival in Bangkok - Krabi
								</p>
								<p class="aj">After arriving at the Bangkok airport, continue to go aboard your flight to Krabi, a mesmerizing town in Thailand. As you reach Krabi, meet an IHPL representative who helps you with an assisted transfer to the hotel. The rest of the day is free for you to indulge in the activities of your interest. The beautiful town of Krabi is a bustling tourism destination, popular amidst visitors from all around the world. It is home to some very interesting tourist attractions and also offers ample opportunities for adventure activities. Overnight in Krabi.</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> Krabi (Four Island Tour by boat)
								</p>
								<p class="aj">After breakfast on the 2nd day of the tour, the day is scheduled for an exciting island hopping tour in Krabi. Partake in the very popular Four Island Tour, covering Thale-Whake, Chicken Island, Pordah Island and Pra-Nang Bay. Away from any hustle-bustle of daily city life, these islands are pristine beauties, wherein each has its own highlight. Enjoy leisure walk, partake in adventure activities like snorkeling and treat your eyes to the beauty spread all around. In the evening, return back to the hotel for an overnight stay.</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> Krabi - Bangkok
								</p>
								<p class="aj">On day 3, post- breakfast, get an assisted transfer to the Krabi Airport to board your flight for Bangkok. Our tour representative helps you with an assisted transfer to your hotel. The day is at leisure. Explore the nearby area on your own, taste the local delicacies, visit the local markets and more. Thailand's capital city, Bangkok is probably one of the most well-known tourist destinations, which receives tourists from all around the world in huge numbers. Bangkok offers an amazing mix of vibrant culture and modern temptations. 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 Sightseeing
								</p>
								<p class="aj">After breakfast, leave the hotel for sightseeing tour of Bangkok. The attractions of the day include the Temple of Solid Gold Buddha or Wat Traimit- home to the world's largest huge gold statue of seated –Buddha. Afterwards, continue for tour driving past the China town to have a look at the Temple of Reclining Buddha or Wat Po- a gold plated temple that is the oldest one in Bangkok. The next visit is to the Wat Benchamabophit, also known as the Marble Temple-one of Bangkok's prime attraction. The last attraction of the day is the Royal Palace or the Grand Palace- a complex of buildings that is the home of Bangkok's royalty since 1782. The evening is at leisure. 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
								</p>
								<p class="aj">On the last day of the tour, have breakfast and then visit the popular markets of Bangkok to splurge on shopping. Some of the very popular shopping centers and markets that you can visit are China town, Pratunam, Pantim Plaza, Chatuchak Market, Gaysorn Plaza and Sogo Department Store to splurge on shopping. Get your hands on clothes, imitate jewellery, accessories, electronic goods, decorative items and more. In the evening, get transferred to the Bangkok Airport to board the flight for your onward destination.</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">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.rudravijaytravels.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Krabi and Bangkok 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="86958"/>
						</form>
						</div>
						
						";i:1;s:61:"Book Krabi and Bangkok Tour - 4 Nights / 5 Days Tour Packages";i:2;s:124:"book krabi and bangkok tour - 4 nights / 5 days tour packages, beach and islands tour packages, bangkok, krabi tour packages";i:3;s:175:"Book Krabi and Bangkok Tour - 4 Nights / 5 Days tour packages from Rudra Vijay Travels - Get attractive 4 Nights / 5 Days Beach and Islands  tour packages for  Bangkok, Krabi.";i:4;s:408:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Bangkok, Krabi"        
		                 },
		      "description": "",
		      "name": "Krabi and Bangkok Tour",
		      "telephone": "+91-9996545392"
		    }
		    </script>
			";i:5;N;}