a:6:{i:0;s:12292:"				<div class="h1"><h1>Cambodia and Thailand Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.stardestinationtours.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.stardestinationtours.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Cambodia and Thailand 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">
						6 Nights / 7 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Bangkok, Pattaya, Siem Reap</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Price (Starting From) </td>
						<td class="p5px pl0px vat">
						INR 49999 Per Person						</td>
						</tr>
												<tr>
						<td></td>
						<td>
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.stardestinationtours.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Cambodia and Thailand 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="73008"/>
						</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_15/439456/130942.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_15/439456/130942.jpg"  width="150" height="150"    alt="Cambodia and Thailand Tour" title="Cambodia and Thailand Tour" /></a></p></div></li>
															</ul>
						</div>
						</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 Siem Reap
								</p>
								<p class="aj">As you arrive at the Siem Reap International Airport, get an assisted transfer to the hotel and complete the check- in formalities. Savor lunch at a local restaurant. Later, enjoy a visit to Chong Kneas- the beautiful floating village. Dotted with indigenous stilted houses over the water surface on 8-10 m high stilts, this natural mangrove has hundreds of birds and freshwater fishes. This village has around 3000 inhabitants. Hop into a traditional wooden boat to cruise through the flooded wilderness of the Great Tonle Sap Lake. Sight colorful birds. Visit a local school and an island pagoda. Have an interaction with the local families by visiting their traditional stilt houses. Back to Siem Reap for refreshment and dinner at a local restaurant.<br />
<br />
Overnight in Siem Reap.</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> Siem Reap (Temple Tour)
								</p>
								<p class="aj">After breakfast, get ready for temple tour of Siem Reap. Start the tour with Angkor Wat temple- a wonderful proof of Khmer architecture. One of the most popular temples in Cambodia. Of all the Angkor temples, this temple is the largest, is most important religiously and is known for its stunning carvings. Enter the main building, ascending through galleries. Before arriving at the central sanctuary, savor wonderful views of the surrounding. You visit Ta Prohm temple, one of the most popular Angkor temples, which lies amid unclear forest-like setting. Afternoon is scheduled for a visit to Angkor Thom. Spread in an area of 10 km, bounded by wide moats, this city is one of the most popular sights of Angkor. Enter from the huge South Gate, dotted with statues of gods and demons. Keep walking towards the Terrace of the Elephants and the Terrace of the Leper Kings- areas for public ceremonies. Explore the ruins of Baphuon, Royal Enclosure and Phimeanakas. Next in line is Bayon Temple- another popular temple in Angkor. Visit the galleries with bas reliefs. Dinner at a local restaurant.<br />
<br />
Stay overnight.</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> Siem Reap City Tour – Bangkok (by air) – Pattaya (by road) (Optional Alcazar Show)
								</p>
								<p class="aj">Today after breakfast, enjoy a guided tour to Angkor Silk farm to know about the cultivation of mulberry bushes, production of silk fabrics and accessories. If you wish you can rent a boat to visit West Baray, the largest man-made water body at Angkor. It has an island with ruins of West Mobon temple. Enjoy a leisure walk here or swimming. Visit Artisan D Angkor to get your hands on some wonderful pieces of Khmer Arts & Crafts, made by locals living in the rural areas.<br />
<br />
In the afternoon, get transfer to Siem Reap airport to board a flight to Bangkok. As you arrive at Bangkok Airport, our tour representative helps you with an assisted transfer to Pattaya, around 150 km south-east of Bangkok. This road transfer takes around 2 hours. On arrival, complete the check-in formalities at the hotel. Pattaya is an amazing beach retreat that offers best of recreation, adventure, sightseeing and entertainment. The evening can be spent at leisure or you can also opt for the fun and exciting Alcazar Show, same as the Lido and Moulin Rouge. An amalgam of acting, sensuality, costumers, music, lighting and glamor, the show is performed in a huge theater with 1200 seats and state-of-the-art sound system. Have dinner at an Indian restaurant.<br />
<br />
Overnight stay in 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> Pattaya Coral Island Tour with Lunch
								</p>
								<p class="aj">On day 4, after breakfast, enjoy a memorable boat trip to the beautiful Coral Island. Hop into a fishing boat to arrive at the Island. On the way, partake in parasailing (at an extra cost), ride in glass- bottom boats for viewing the beautiful coral. As you reach the Coral Island, savor seafood lunch or Thai Vegetarian Meal, as per your liking. You can either partake in water sports or can simply relax on the beach. Back to the city for dinner at a local Indian Restaurant.<br />
<br />
Stay overnight.</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 (Temple City Tour)
								</p>
								<p class="aj">Post breakfast, return to Bangkok, known for its spas, temples, shopping experiences and exciting nightlife. On arrival, complete the check-in. Embark on temple tour of Bangkok. Temples here are known as Wats. The first visit of the day is to Wat Traimit, the temple of the Golden Buddha. Spot a huge 5.5-ton statue of Lord Buddha, which is made from solid gold. This statue is an example of Sukhothai art. Next in line is Wat Pho, the temple of the Reclining Buddha. This temple is the largest temple in Bangkok. Later on, indulge in shopping at the Gems Gallery. Dinner at a local Indian restaurant.<br />
<br />
Stay 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 6:</b> Bangkok (Optional Safari World and Marine Park)
								</p>
								<p class="aj">After breakfast, the day is at leisure. You can explore the place on tour own and enjoy the facilities at the hotel. You also have an option to visit Safari World and Marine Park, an open zoo, which is one of the most popular attractions in Thailand. The Safari World Park is segregated into four sections - Safari Park, Bird Park, Games Corner and Macaw Island. See exotic animals like seal, dolphins and orangutans and a variety of colorful birds a pleasing African setting. There are a number of eating spaces where you can have lunch. Back to the hotel for relaxing. Spend the evening as per your liking. Dinner at the local Indian Restaurant.<br />
<br />
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 7:</b> Departure
								</p>
								<p class="aj">After breakfast in the morning, complete the check -out formalities. Later, get on-time transfer to the Bangkok International Airport to board the flight for your onward journey.</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.stardestinationtours.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Cambodia and Thailand 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="73008"/>
						</form>
						</div>
						
						";i:1;s:65:"Book Cambodia and Thailand Tour - 6 Nights / 7 Days Tour Packages";i:2;s:141:"book cambodia and thailand tour - 6 nights / 7 days tour packages, beach and islands tour packages, bangkok, pattaya, siem reap tour packages";i:3;s:195:"Book Cambodia and Thailand Tour - 6 Nights / 7 Days tour packages from Star Destination Tours - Get attractive 6 Nights / 7 Days Beach and Islands  tour packages for  Bangkok, Pattaya, Siem Reap.";i:4;s:425:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Bangkok, Pattaya, Siem Reap"        
		                 },
		      "description": "",
		      "name": "Cambodia and Thailand Tour",
		      "telephone": "+91-9888421743"
		    }
		    </script>
			";i:5;N;}