a:6:{i:0;s:16515:"				<div class="h1"><h1>Vietnam Laos Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.shareoursource.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.shareoursource.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Vietnam Laos 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">Tour Code </td>
						<td class="p5px pl0px vat">SGNOB19LPQ</td>
						</tr>
												<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">Ho Chi Minh City, Luang Prabang</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 class="b p5px dif w125px vat">Special Offer </td>
						<td class="p5px pl0px dif vat">Concession for group more than 15. <br />
Discount of 2%for 100% payment while booking</td>
						</tr>
												<tr>
						<td></td>
						<td>
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.shareoursource.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Vietnam Laos 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="65065"/>
						</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/433238/119877.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_15/433238/119877.jpg"  width="150" height="150"    alt="Vietnam Laos Tour" title="Vietnam Laos Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					Concession for group more than 15. <br />
Discount of 2%for 100% payment while bookingAll Entrance Fee<br />
Tips and Laundry<br />
Any other special personnel needs of extra foods and beverages<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> Ho Chi Mun - Saigon
								</p>
								<p class="aj">On arrival at Tan Son Nhat Airport, you are met and transferred to the Centre of Ho Chi Minh City, still called Saigon by many local, is a center of commerce, finance, culture and tourism in Vietnam. Take the sight-seeing tour in the city to visit its famous historic and cultural building such as : The Reunification Palace: This is one of the most important buildings in the city. Here on April 30th 1975 the ‘American War’ officially ended when tank number 843 of the North Vietnamese Army crashed through the gates of what was, at the time the residence of the President of the Republic of Vietnam. <br />
- War Remnants Museum: Formerly known as the Museum of American War Crimes, this is a poignant display of the futility of war. Some of the black and white photography in the ‘Requiem’ exhibit is particularly touching, dedicated to both foreign and Vietnamese journalists and photographers who perished during the conflict. The courtyard outside contains the spoils of war, namely rusting jets, tanks and cannons captured from the American military machine. <br />
- Notre Dame Cathedral and Old Post Office: Built between 1877 and 1883 this is one of the best examples of classical French colonial architecture. Remarkably every stone used in its creation was shipped from France to Vietnam. Her two 40m towers, topped with iron spires dominate the city’s skyline. The Old Post Office is another example of French colonial architecture and is also the country’s largest post office.<br />
Ben Thanh Market: This bustling market is very popular with <br />
tourists, primarily due to its central location. It has a wide selection <br />
of local goods including beautiful silk Ao Dais. Have dinner</p>					
									<p><b>Meals : </b> AP meal plan</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> Ho Chi Minh - Cu Chi Tunnel - Cao Dai Temple
								</p>
								<p class="aj">After breakfast, Bus and guide pick up you at your hotel and departure to Cao Dai Temple <br />
Around 10:00 AM arrive Cao Dai Temple, See the ornate temple of Caodaism and attend the fantastic mid-day service when the followers fill the hall wearing colored robes, a symbol of the extra combination of the Confucianism, Christianity, Taoism and Buddhism. visit  to Cu Chi Tunnel, the incredible network of tunnels that once stretched for 210 miles. This underground complex was built by guerilla fighters beginning in 1940 and construction continued throughout the Vietnam War. Arrive Cu Chi tunnels, View short video film and presentation about Cu Chi tunnels, before try a real experience with the world well known tunnels. After that travelers can try delicious manioc which is the main food in Cu Chi during the war. For those interested there is an opportunity to fire off rounds from an AK47 or MK16 at the nearby rifle range. 4:00PM Come back to Sai Gon.</p>					
									<p><b>Meals : </b> AP meal plan</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> Sai Gon - My Tho-Can Tho
								</p>
								<p class="aj">8: 00 AM Pick up at your hotel in Ho Chi Minh City (to be advised). Depart for My Tho .Take a boat ride along the river; view the stilt houses and the fruit plantation along the river bank. Proceed to Tortoise Island and have lunch in the orchard. Enjoy a boat ride through Tan Thach natural canal in Ben Tre, cruising under the shadow of the water coconut trees, enjoying Traditional music ( Đờn Ca Tài Tử ), rice horse around local village. Visit a family business which epitomizes the idyllic rural lifestyle. Enjoy a rowing boat ride along the creeks. After back to Sai gon</p>					
									<p><b>Meals : </b> AP meal plan</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> Luang parang
								</p>
								<p class="aj">After breakfast, drop off you at Tan Son Nhat airport. Upon your arrival in Luang Prabang airport and getting visa to Lao, then you will be met and transfer to hotel for check in then relax until transfer for dinner at local restaurant. Overnight in Luang Prabang</p>					
									<p><b>Meals : </b> AP meal plan</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> Luang parang
								</p>
								<p class="aj">An optional early start gives you the fantastic opportunity to participate in the daily morning rituals of saffron-clad monks collecting offerings of Alms (ubiquitous sticky rice) from the faithful residents. This tradition is very unique in Laos, being the only Buddhist nation still preserving the procession</p>					
									<p><b>Meals : </b> AP meal plan</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> Luang parang
								</p>
								<p class="aj">Breakfast, we visit the National that was the former Royal Palace displays a lovely collection of the artefacts reflecting the richness of Lao culture dating from the days of the early kings right through the last sovereign and the city’s oldest temple of Wat Sene and the magnificent Wat Xiengthong with its roofs sweeping low to the ground, which represents classical Laotian architecture<br />
We continue our excursion toward Khouangsi Waterfall, en route, we visit local villages of Lao ethnic minority groups at Ban Ouay, Hmong Village, Ban Ou, Laoloum Village and Ban Thapene, Khmu Village, then drive to the beautiful Khouangsi Waterfall where you can splash around in the turquoise pools or walk along the forest trails. The Khouangsi Waterfall setting really illustrates paradise. We return to Luang Prabang and we then climb up to the top of Mount Phousi for an enjoyable exploration of the sacred, gilded stupa as well as a panoramic view of the city at sunset and the Mekong River.  The tour ends after a visit to the famous Night Market, where you can find a lovely selection of handmade textiles made by local and hill tribe people surrounding Luang Prabang<br />
Overnight in Luang Prabang</p>					
									<p><b>Meals : </b> AP meal plan</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> Luang Prabang - Pak Ou Cave - Departure (B/L)
								</p>
								<p class="aj">Today we embark on a cruise upstream on the Mekong River, firstly stopping at Xiengmene, where we visit Wat Long Khun, and the limestone cave Tham Sakkarin, and a tour around Ban Xiengmene village. Following a picnic lunch, we then continue by boat up the Mekong which also gives us a breathtaking view of the tranquil countryside as well time to explore the mysterious Pak Ou Caves, two linked caves crammed with thousands of gold lacquered Buddha statues of various shapes and sizes left by pilgrims.  Along the way, we stop at the village of Ban Xanghai, where they make the local rice wine. On return, we take a short drive to Ban Phanom, a small village known for its hand weaving. Tour ends then we drop you off at airport for take flight back home</p>					
									<p><b>Meals : </b> AP meal plan</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>
																		<li>Transport</li>
															</ul>
						<br />
												<p class="large b mb5px dif">Exclusions :</p> <ul><li>All Entrance Fee</li><li>
Tips and Laundry</li><li>
Any other special personnel needs of extra foods and beverages</li></ul><br />
												<p class="large b mb5px dif">Specific Departure Dates :</p>As when required during the year<br />
												<p class="large b mb5px dif">Departure Cities with rates :</p>As per the customer's choice<br /><br />
											
						<p class="large b mb5px dif">Terms &amp; Conditions :</p>~^#^~~^#^~<ul style="list-style-type: circle">
	<li>All the packages provides twin/triple Sharing&nbsp; AC /Non Ac Rooms as per the mention in the packages.</li>
	<li>South / North indian&nbsp; Veg/ Non veg buffetmeals will be provided . The packet lunch will be given for customers,where&nbsp; the spot meals can not be provided during the travel</li>
	<li>Sos traders will not be held responsible for the misbehaviours/damage caused by the GENERAL TERMS &amp; CONDITIONS</li>
	<li>individual while on the tour</li>
	<li>Sostraders advise all the customer to buy travel insurance&nbsp; additionally through sostraders sales desk agent before departuring the tour.</li>
	<li>Comfortable transportation will be given on the private/SIC through car/Van/Minibus/Bus depending upon the customer group size for the particular package.</li>
	<li>Sos traders has got full right to change the Itineraries for the required circumstances. The changes in cost and itineraries will informed immediately. Amount will be refunded according to the refund policy if raised by customer</li>
	<li>Probelems faced by the customers should be informed immediately to the hotel/transport provider/tour manager/sostraders.</li>
	<li>No boarding, drinks and beverages wll be given during the train/Flight travel as per package category</li>
	<li>All the customers who are under group tour not allowed to go seperately or extending the tour without proper intimation.</li>
	<li>For Train transport only sleeper class is included in all the packages. unless other wise if the customer shows specific interest to have Secon/third AC tier will be given with extra charges only.</li>
</ul>

<p>EXCLUDED

<ul style="list-style-type: circle">
	<li>&nbsp;Entrance fee for Adventure, watersport,park,cable&nbsp;&nbsp; car, winter cloth,Rental, laundryetc. Auto, local&nbsp; transport, beverages and drinks during Bus/ Train &nbsp;travels except the item mention in the package</li>
</ul>

<p>CANCELLATION POLICY

<ul style="list-style-type: circle">
	<li>&nbsp;&nbsp;&nbsp; No refund of Advance if cancelled by individual</li>
	<li>&nbsp;&nbsp;&nbsp; 7days before 10% of tour amount refunded</li>
	<li>&nbsp;&nbsp;&nbsp; 15 days before 50% of tour amount refunced</li>
	<li>&nbsp;&nbsp;&nbsp; 30 days before 100% minusing the advance amount</li>
	<li>&nbsp;&nbsp;&nbsp; will refunded</li>
</ul>						
    	<p class="h dif xlarge b mb5px">Vietnam And Laos</p>
    	<div class="otherDetails aj">Customized Fii/Private Tours</div><br>
		<div class="dynamic-data-container">
    	<table class="bdrAll" width="100%" cellpadding="5">
			<tr>
				<td class="headHr p5px b">ON DEMAND</td>
			</tr>
		</table></div><br>						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.shareoursource.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Vietnam Laos 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="65065"/>
						</form>
						</div>
						
						";i:1;s:56:"Book Vietnam Laos Tour - 6 Nights / 7 Days Tour Packages";i:2;s:127:"book vietnam laos tour - 6 nights / 7 days tour packages, heritage tour packages, ho chi minh city, luang prabang tour packages";i:3;s:183:"Book Vietnam Laos Tour - 6 Nights / 7 Days tour packages from Share Our Source Traders - Get attractive 6 Nights / 7 Days Heritage  tour packages for  Ho Chi Minh City, Luang Prabang.";i:4;s:599:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Ho Chi Minh City, Luang Prabang"        
		                 },
		      "description": "Concession for group more than 15. 
Discount of 2%for 100% payment while bookingAll Entrance Fee
Tips and Laundry
Any other special personnel needs of extra foods and beverages",
		      "name": "Vietnam Laos Tour",
		      "telephone": "+91-9444728610"
		    }
		    </script>
			";i:5;N;}