a:6:{i:0;s:33708:"						<section class="headBg theme2 ">
						<div class="wrap">
						<div class="page-title-inner fo"> 
						<div class="h1"><h1>Vietnam Cambodia Tour</h1></div>
						<p class="breadcrumb ar uu small"><a href="http://www.nationaltours.in/" title="Home">Home</a>
						
													<b class="ffv p2px">&rsaquo;</b><a href="http://www.nationaltours.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>
								
						<b class="ffv p2px">&rsaquo;</b> Vietnam Cambodia Tour</p>
						</div>
						</div>
						</section>
										<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-->				
								
						<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> 
						11 Nights / 12 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Ha Noi, Ho Chi Minh City, Da Nang, Hoi An</p>
												<p class="mb5px"><b>Price (Starting From) :</b> 
						INR 125000 Per Person						</p>
												<br />
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.nationaltours.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Vietnam Cambodia 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="132453"/>
						</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_13/371267/210494.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_13/371267/210494.jpg"  width="150" height="150"    alt="Vietnam Cambodia Tour" title="Vietnam Cambodia Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
											<div class="mt7px dif">* Mentioned prices may vary depending upon date of travel, hotel availability, surge pricing and seasonal rush.</div><br />
														<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Tour Detail</p>
								</div>
													
								Meals not included in the itinerary<br />
Other services not mentioned in the itinerary<br />
Visa to Vietnam<br />
Personal Expenses<br />
Surcharges in peak season or holidays [Saigon Liberation Day (30 April), International Worker's Day (1 May), Vietnamese National Day (September 2), Gala Dinner on X’Mas (24 Dec) & New Year Eve (31 Dec), Vietnamese Lunar New Year]<br />
Beverages and Alcohol<br />
Any taxes (if applicable)								</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 Ha Noi
										</p>
										<p class="aj">Upon arrival at Noi Bai airport, picked up by our driver and car (no tour guide). Transfer to hotel for check-in. Overnight in Hanoi.</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> Hanoi Full Day City Tour
										</p>
										<p class="aj">After breakfast, meet your guide at your hotel and depart on tour to visit Hanoi with the following highlights:<br />
The Temple of Literature, Vietnam’s first university. Constructed in 1070, the gardens and well‐ preserved architecture offer a relaxing glimpse into Vietnam’s past.<br />
Have a 20 minute drive out of town to visit the serene Museum of Ethnology where you observe Vietnam's diverse culture through the Museum’s unique presentation of artefacts and dress used in daily life. (Museum of Ethnology is closed on Mondays).<br />
The Buddhist Tran Quoc Pagoda, the oldest of all pagodas in Hanoi located‐ beside the dazzling West Lake. Continuing to visit Quan Thanh Temple, with its spacious and charming landscape helps highlight the ancient and romantic beauty of this area. Quan Thanh Temple is dedicated to Saint Huyen Thien Tran Vu who guarded and administered the north of the country.<br />
Drive back to central Hanoi for a walking tour through the Old Quarter to enjoy the bustling local life. This bustling area of narrow streets and alleys is home to literally thousands of small businesses and shopkeepers. It's a great place to explore with plenty of photo opportunities all around you. Followed by a traditional Water Puppet Performance – a unique Vietnamese art form hailing from Southeast Asia’s wet-rice culture<br />
Stay overnight in Hanoi.</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> Hanoi - Halong Overnight on Cruise
										</p>
										<p class="aj">Your morning departure from your hotel in Hanoi to Halong Bay takes you on a journey through the rich farmlands of the Red River Delta. Observe everyday life of Vietnamese Villages as you see the villagers work the local rice fields, take live pigs to market on bicycles and plough the fields with their large water buffaloes.<br />
Arrive in Halong and board a traditional sailing junk. As the vessel sets sails, you will be greeted by the Crew Team who will aim throughout your stay at providing you with the highest standards of service for a pure pleasure and utmost comfort onboard. Discover some of the treasures disseminated across the Bay of the Descending Dragon during the afternoon: fascinating caves, pristine beaches, picturesque floating villages, fantastic rock formations rising up out of emerald water. While onboard, you can take advantage at leisure of the cruise services; surrounded by a stunning setting in motion, you could attend our chef's cooking demonstration and try your skills in the art of traditional Vietnamese cooking.<br />
Defined to be one of the highlights of your stay, a highly refined, innovative and varied cuisine will be presented for Lunch and Dinner in the elegant dining‐room, accompanied by a wide selection of wines and beverages (with extra charge applied) for drink).<br />
In the evening enjoy the entertainment activities as movie night, squid fishing or just enjoying a cocktail surrounded by limestone rocks majestically springing out from silent waters in the night.<br />
Stay overnight in a cruise in Halong.<br />
Note: the itinerary is diffrent on each cruise.</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> Halong - Hanoi - Da Nang By Flight - Hoi An
										</p>
										<p class="aj">Early birds can attend a Tai Chi demonstration on the sundeck at the break of dawn. Start the day enjoying some delights with a light breakfast and follow by a colorful brunch. Continue exploring Halong Bay sailing across its 2000 islets and visiting some of its major highlights.<br />
Check out cruise, get back to the habor and transfer to airport for flight to Da Nang (Please book flight at or after 17h30 pm). Arrival Da Nang, direct tranfer to Hoi An. Overnight in Hoi An.</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> Hoi An
										</p>
										<p class="aj">Have breakfast at hotel, enjoy time for relaxation as you immerse yourself in the tranquility and charm of this sleepy riverside town. From the 16th to 18th centuries Hoian was a thriving international port frequented by Chinese, Dutch, French, Japanese, Portuguese and Arab traders, who came to trade in the high quality silk still produced in the region. Today, Hoian is a relaxing resort popular with tourists for its eclectic architecture, skilled tailors and numerous cafes. Take a half-day walking tour through the narrow winding streets of the ancient quarter, visiting Chua Ong Pagoda, the Chinese Assembly Hall, the 200-year-old Tan Ky ancestral house and the famous Japanese Bridge.<br />
Overnight in Hoi An.</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> Hoi an - Da Nang - Ho Chi Minh by Flight
										</p>
										<p class="aj">Have breakfast at hotel, free time until transfer to airport for flight to Ho Chi Minh. Arrival Ho Chi Minh, transfer to check-in hotel. Overnight in Ho Chi Minh.</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> Ho Chi Minh - Cu Chi - City Tour
										</p>
										<p class="aj">After breakfast, take one and half hour to Cu Chi where is 60km far from Ho Chi Minh City. Cu Chi is considered as a heroic district for its role in the anti - American war in Vietnam. It is legendary for its tunnels system of over 220 km and is a popular spot for both Vietnamese and foreign visitors. Return to Ho Chi Minh city.<br />
In the afternoon, visit War remnants museum; international visitor have chance to know more about the wars in Viet Nam, then visit Notre Dame Cathedral; located in the center of HCM City with unique architecture, and General Post Office. Stop for shopping at Ben Thanh market - one of the most popular and oldest shopping attractions in Ho Chi Minh. Stay overnight in Ho Chi Minh city.</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 8:</b> Ho Chi Minh - Mekong Delta
										</p>
										<p class="aj">Breakfast at hotel. Leaving Saigon behind and heading to Vietnam's rice basket of Mekong Delta, we will pass through idyllic, rural scenes until arrive in My Tho, where is a peaceful town of the bank of the Mekong River. Next we will have a boat ride on the Mekong, visit local homes and orchards, a coconut candy workshop, a honey bee farm, take a sampan ride on palm-shaded creeks, try a taste of seasonal fruit and honey tea and enjoy a traditional performance of  Southern singing which is so called "Đờn ca tài tử" is being recognized as the intangible cultural heriate by UNESCO.<br />
Lunch will be served with the Mekong Delta specialty. Afternoon, stop to visit Vinh Trang pagoda before return to Ho Chi Minh. Upon arrival Ho Chi Minh city, go shopping at Ben Thanh market. Stay overnight in Ho Chi Minh city.</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 9:</b> Ho Chi Minh - Siem Reap By Flight
										</p>
										<p class="aj">Have breakfast at hotel, free time until transfer to airport for flight to Luang Prabang. Arrival Luang Prabang, met and greated at airport and transfer to hotel for check-in. Overnight in Luang Prabang.</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 10:</b> Luang Prabang - Pak Ou Caves
										</p>
										<p class="aj">After breakfast, you will first visit Royal Palace Museum, which was built in 1904 during the French colonial era for King Sisavang Vong and his family. We then embark on a leisure cruise upstream on the Mekong River, which also gives us a breathtaking view of the tranquil countryside, before reaching 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.<br />
On arrival back in the city, we will visit magnificent Wat Xiengthong a superb piece of Lao temple architecture, which presents a sweeping two-tiered roof and ornate mosaics including a beautiful ‘tree of life ‘glass montage on the rear temple wall.  Afterwards, we will visit the Traditional Art and Ethnology Center (closed on Monday) to learn about Laos’ many ethnic cultures. From there, we will transfer to visit Wat Prabath to admire the sunset; this is the really peaceful place to catch the last beauty of the day. The tour ends after a visit to the famous Night Market, where you can find a lovely collection of handmade textiles made by local and hilltribe people surrounding Luang Prabang. Overnight in Luang Prabang</p>
										</td>
										</tr>
										</table>					
										</div><div id="show_more_content" style="display:none;">
											<div class="data">
											<table class="w100 formTable bdr0 imgWidth">
											<tr>
											<td class="p10px vat">
											<p class="b large mb5px"><b class="dif">Day 11:</b> Luang Prabang - Kuangsi Waterfalls
											</p>
											<p class="aj">After breakfast at the hotel, we ascend the 329 steps to the top of Phousi Hill for a panoramic view of the city and the Mekong River.<br />
If time permits, we will visit UXO Visitor Center (closed on Saturday, and Sunday), where you can find the documentation about the secret war in Laos.<br />
We then transfer directly to the beautiful Kuang Si waterfalls which is the biggest in the Luang Prabang area with three tiers leading to a 50-metre drop into spectacular azure pools before flowing downstream. The pools also make great swimming holes and are very popular with both tourists and locals.<br />
You have the rest of the afternoon to refresh at the cool clear water, or hiking to the top of the waterfalls.<br />
There is also the chance to walk to the nearby village of Ban Thapene, and explore the hidden waterfalls, which is rarely visited by other tourists<br />
If you wish, we will also take a short visit to the Bear Rescue Center, which houses a couple of dozen animals rescued from the hands of poachers and traffickers.<br />
On the way back to Luang Prabang, we will take a short visit to the Ock Pop Tock Living Craft Center, set serenely close to the Mekong, this beautiful, traditionally styled workshop, where weavers, spinners and batik makers produce top-quality fabrics, offers free tours every half-hour. This is also one of the best spots to admire the sunset in Luang Prabang<br />
Transfer back to your hotel late afternoon. Overnight in Luang Prabang</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 12:</b> Luang Prabang - Departure
											</p>
											<p class="aj">Have breakfast at hotel, transfer to airport for departure flight.</p>
											</td>	
											</tr>
											</table>				
											</div>					
									</div>									<p class="mt10px ac"><a class="buttonBig p5px10px dib b" id="more_button" href="javascript:topDestinationToggle('show_more_content','more_button');" >View More &#9660;</a></p>
																	<br />
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Inclusions</p>
								</div>
												
								<ul>
																			<li>Hotel</li>
																						<li>Meals</li>
																						<li>Sightseeing</li>
																				<li>Hotel Stay: </li><li>
Ha Noi: Thang Long Opera (2 Nights – Superior Room - 4 Star)</li><li>
Ha Long Bay: Phoenix Cruise (1 Night – Deluxe Room - 3 Star)</li><li>
Hoi An: Atlas (2 Nights – Superior City Room - 4 Star)</li><li>
Ho Chi Minh City: Aristo (3 Nights – Premium Deluxe Room - 4 Star)</li><li>
Luang Prabang: My Dream Boutique Resort (3 Nights – Deluxe Room - 3 Star)</li><li>
Flights:</li><li>
Mumbai to Ha Noi</li><li>
Ha Noi to Da Nang</li><li>
Da Nang to Ho Chi Minh City</li><li>
Ho Chi Minh City to Luang Prabang</li><li>
Luang Prabang to Mumbai </li><li>
Transfers:</li><li>
Ha Noi Airport to Hotel to Cruise</li><li>
Cruise to Ha Noi Airport </li><li>
Da Nang Airport to Hoi An Hotel to Da Nang Airport</li><li>
Ho Chi Minh Airport to Hotel to Airport</li><li>
Luang Prabang airport to Hotel to Airport</li><li>
Sightseeing</li><li>
As mentioned in the itinerary</li><li>
Meals</li><li>
Breakfast everyday</li><li>
Lunch and Dinner at the cruise</li><li>
Lunch on the 8th Day in Ho Chi Minh City</li><li>
Insurance</li><li>
Insurance cover of Rs. 5 Lacs</li><li>
English Speaking Guide throughout the trip</li><li>
Approval letter to take visa on arrival Vietnam for Indian Passport holder</li><li>
Entrance Fees as per sightseeing mentioned in the itinerary</li><li>
02 bottles of drinking water & 02 pieces of wet tissue per pax per day.</li>
																	</ul>
								</div>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Exclusions</p>
								</div>
								
								<ul><li>Meals not included in the itinerary</li><li>
Other services not mentioned in the itinerary</li><li>
Visa to Vietnam</li><li>
Personal Expenses</li><li>
Surcharges in peak season or holidays [Saigon Liberation Day (30 April), International Worker's Day (1 May), Vietnamese National Day (September 2), Gala Dinner on X’Mas (24 Dec) & New Year Eve (31 Dec), Vietnamese Lunar New Year]</li><li>
Beverages and Alcohol</li><li>
Any taxes (if applicable)</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 
* 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. 
* 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="http://www.nationaltours.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Vietnam Cambodia 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="132453"/>
						</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="http://www.nationaltours.in/packages-in-mysore.htm" title="Packages in Mysore">Mysore</a> <b class="alpha50 bn small">(12)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.nationaltours.in/packages-in-ooty.htm" title="Packages in Ooty">Ooty</a> <b class="alpha50 bn small">(12)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.nationaltours.in/packages-in-manali.htm" title="Packages in Manali">Manali</a> <b class="alpha50 bn small">(12)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.nationaltours.in/packages-in-bangalore.htm" title="Packages in Bangalore">Bangalore</a> <b class="alpha50 bn small">(12)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.nationaltours.in/packages-in-kullu.htm" title="Packages in Kullu">Kullu</a> <b class="alpha50 bn small">(11)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.nationaltours.in/packages-in-gulmarg.htm" title="Packages in Gulmarg">Gulmarg</a> <b class="alpha50 bn small">(11)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.nationaltours.in/packages-in-shimla.htm" title="Packages in Shimla">Shimla</a> <b class="alpha50 bn small">(11)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.nationaltours.in/packages-in-pahalgam.htm" title="Packages in Pahalgam">Pahalgam</a> <b class="alpha50 bn small">(10)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.nationaltours.in/packages-in-munnar.htm" title="Packages in Munnar">Munnar</a> <b class="alpha50 bn small">(10)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.nationaltours.in/packages-in-kodaikanal.htm" title="Packages in Kodaikanal">Kodaikanal</a> <b class="alpha50 bn small">(9)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.nationaltours.in/packages-in-kashmir.htm" title="Packages in Kashmir">Kashmir</a> <b class="alpha50 bn small">(8)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.nationaltours.in/packages-in-kanyakumari.htm" title="Packages in Kanyakumari">Kanyakumari</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.nationaltours.in/packages-in-dalhousie.htm" title="Packages in Dalhousie">Dalhousie</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.nationaltours.in/packages-in-kochi.htm" title="Packages in Kochi">Kochi</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.nationaltours.in/packages-in-new-delhi.htm" title="Packages in New Delhi">New Delhi</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.nationaltours.in/packages-in-kovalam.htm" title="Packages in Kovalam">Kovalam</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.nationaltours.in/packages-in-jammu.htm" title="Packages in Jammu">Jammu</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.nationaltours.in/packages-in-alleppey.htm" title="Packages in Alleppey">Alleppey</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.nationaltours.in/packages-in-nainital.htm" title="Packages in Nainital">Nainital</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.nationaltours.in/packages-in-anantnag.htm" title="Packages in Anantnag">Anantnag</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.nationaltours.in/packages-in-gwalior.htm" title="Packages in Gwalior">Gwalior</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.nationaltours.in/packages-in-leh-ladakh.htm" title="Packages in Leh Ladakh">Leh Ladakh</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.nationaltours.in/packages-in-srinagar.htm" title="Packages in Srinagar">Srinagar</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.nationaltours.in/packages-in-goa-city.htm" title="Packages in Goa City">Goa City</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.nationaltours.in/packages-in-thekkady.htm" title="Packages in Thekkady">Thekkady</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.nationaltours.in/packages-in-chamoli.htm" title="Packages in Chamoli">Chamoli</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.nationaltours.in/packages-in-trivandrum.htm" title="Packages in Trivandrum">Trivandrum</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.nationaltours.in/packages-in-darjeeling.htm" title="Packages in Darjeeling">Darjeeling</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.nationaltours.in/packages-in-singapore-city.htm" title="Packages in Singapore">Singapore</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.nationaltours.in/packages-in-somnath.htm" title="Packages in Somnath">Somnath</a> <b class="alpha50 bn small">(3)</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="http://www.nationaltours.in/beach-islands-holidays-catid.htm" title="Beach and Islands Packages">Beach and Islands</a> <b class="alpha50 bn small">(25)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.nationaltours.in/valley-holidays-catid.htm" title="Valley Packages">Valley</a> <b class="alpha50 bn small">(25)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.nationaltours.in/lakes-rivers-holidays-catid.htm" title="Lakes & Rivers Packages">Lakes & Rivers</a> <b class="alpha50 bn small">(15)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.nationaltours.in/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(33)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.nationaltours.in/wildlife-nature-holidays-catid.htm" title="Wildlife and Nature Packages">Wildlife and Nature</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.nationaltours.in/religious-pilgrimage-holidays-catid.htm" title="Religious & Pilgrimage Packages">Religious & Pilgrimage</a> <b class="alpha50 bn small">(17)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.nationaltours.in/heritage-holidays-catid.htm" title="Heritage Packages">Heritage</a> <b class="alpha50 bn small">(24)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.nationaltours.in/adventure-sports-holidays-catid.htm" title="Adventure Sports Packages">Adventure Sports</a> <b class="alpha50 bn small">(9)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.nationaltours.in/forts-palaces-holidays-catid.htm" title="Forts and Palaces Packages">Forts and Palaces</a> <b class="alpha50 bn small">(8)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.nationaltours.in/national-parks-holidays-catid.htm" title="National Parks Packages">National Parks</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.nationaltours.in/water-sports-activity-holidays-catid.htm" title="Water Sports and Activity Packages">Water Sports and Activity</a> <b class="alpha50 bn small">(9)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.nationaltours.in/cruise-holidays-catid.htm" title="Cruise Packages">Cruise</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.nationaltours.in/desert-holidays-catid.htm" title="Deserts Packages">Deserts</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.nationaltours.in/winter-holidays-catid.htm" title="Winter Packages">Winter</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.nationaltours.in/mountain-climbing-holidays-catid.htm" title="Mountain Climbing Packages">Mountain Climbing</a> <b class="alpha50 bn small">(2)</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>
				</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 Vietnam Cambodia Tour - 11 Nights / 12 Days Tour Packages";i:2;s:152:"book vietnam cambodia tour - 11 nights / 12 days tour packages, beach and islands tour packages, ha noi, ho chi minh city, da nang, hoi an tour packages";i:3;s:193:"National Tours & Travels offers Vietnam Cambodia Tour - 11 Nights / 12 Days tour package, budget Beach and Islands tour packages for Ha Noi, Ho Chi Minh City, Da Nang, Hoi An at exciting price.";i:4;s:835:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Ha Noi, Ho Chi Minh City, Da Nang, Hoi An"        
		                 },
		      "description": "Meals not included in the itinerary
Other services not mentioned in the itinerary
Visa to Vietnam
Personal Expenses
Surcharges in peak season or holidays [Saigon Liberation Day (30 April), International Worker's Day (1 May), Vietnamese National Day (September 2), Gala Dinner on X’Mas (24 Dec) & New Year Eve (31 Dec), Vietnamese Lunar New Year]
Beverages and Alcohol
Any taxes (if applicable)",
		      "name": "Vietnam Cambodia Tour",
		      "telephone": "+91-9820545642"
		    }
		    </script>
			";i:5;N;}