a:6:{i:0;s:18579:"					<div id="append2PageTittle">
    				<div class="page-title-inner bread-right head-inner fo">
    				<div id="breadcrumb">
					<div class="h1"><h1>7 Days Vietnam Tour</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.gnholidayz.com/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.gnholidayz.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
																
					<b class="ffv p2px">&rsaquo;</b> 7 Days Vietnam Tour</p>
					</div>
					</div>
					</div>
					<script>jQuery('#breadcrumbA').append(jQuery('#append2PageTittle').html());jQuery('#append2PageTittle').remove()</script>
									<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> 
						6 Nights / 7 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Siem Reap, Ha Long, Hanoi</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="http://www.gnholidayz.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="7 Days Vietnam 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="189756"/>
						</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_21/610161/297884.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_21/610161/297884.jpg"  height="150"  width="150"    alt="7 Days Vietnam Tour" title="7 Days Vietnam 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> HANOI ARRIVAL
										</p>
										<p class="aj">No guide / No MealsWe pick you up from the airport then transfer you to the Hanoi Old Quarter. Arrival Hanoi and start visiting Hanoi old quarter street. Hanoi old quarter was called Hanoi 36 streets, is one of peaceful cities in the world and in here you can find many things for shopping. 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 2:</b> HANOI – HALONG CRUISE (Breakfast, Lunch, Dinner)
										</p>
										<p class="aj">Morning, we pick you up at the hotel in Ha Noi old quarter depart to Halong Bay, on the half way stop for short break in Hai Duong province 25 minutes. Arrive Port, then transfer to Cruise by tender. Enjoy welcome drinks and having lunch on cruise.Afternoon, visiting one of the caves in Halong Bay (and take kayaking). Then welcome sunset party relaxing on sun deck and cooking class how to make fresh noodle roll, you can enjoy product which you make it. And enjoy your dinner in restaurant and go fishing, singing karaoke on 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 3:</b> HALONG BAY – HANOI (Breakfast, Lunch)
										</p>
										<p class="aj">Morning, Free enjoy the nice atmosphere inn Halong Bay. Check out and settle the bill, take time to relax. Have lunch while the boat is cruising back to port,Afternoon, get on the bus back to Hanoi, on the half way stop for short break 25 minutes. Arrive back at the hotel in Ha Noi old quarter around 17.00. Stay overnight in the hotel 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 4:</b> HANOI DEPARTURE (Breakfast)
										</p>
										<p class="aj">No guideHaving breakfast at the hotel, then free time to going around for shopping or visit some attractive places by your own until our staff comes to meet you at the hotel and takes you to the airport. Say goodbye to Hanoi and Vietnam.Welcome to Cambodia! Meet and greeting by our professional guide upon your arrival at Siem Reap International Airport then transfer to hotel for check-in. Transfer by overland to visit to the floating village of Chong Khneas, located 10 kilometers south of Siem Reap. Take a private boat to visit the village and take a ride in a traditional wooden boat on Tonle Sap Lake, the “Great Lake of Cambodia and the largest in Asia”. Continue to Artisans d’Angkor. Artisans d’Angkor was established in 1992 in order to support Cambodian arts and crafts, and to help young people find work in their local villages by continuing the practice of traditional arts.<br />
Among the workshops available for visit are wood and stone carving, wood and stone lacquering, gilding, and silk processing. Proceed to Angkor Silk Farm. Then, stop at the WAR MEMORIAL MONUMENT, it is dedicated to those who sacrificed their lives in the civil war and follow by a tour at their Local Market. Overnight at hotel 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 5:</b> SIEM REAP – ANGKOR TEMPLE TOURS (Breakfast, Dinner)
										</p>
										<p class="aj">Breakfast in hotel In the morning, visit the South Gate (with its huge statues depicting the churning of the ocean of milk), the ancient capital of Angkor Thom (12th century), Bayon temple (unique for its 54 towers decorated with over 200 smiling faces of Avolokitesvara), Baphuon recently re-opened after years of restoration), the Royal Enclosure, Phimeanakas, the Elephant Terrace and the Terrace of the Leper King..After lunch, visit the most famous of all the temples on plain of Angkor: Angkor Wat, the temple complex covers 81 hectares and is comparable in size to the Imperial Palace in Beijing. Its distinctive five towers are emblazoned on the Cambodia flag and the 12th century masterpiece is considered by art historians to be the prime example of classical Khmer art and architecture. Angkor Wat’s five towers symbolize Meru’s five peaks – the enclosed wall represents the mountains at the edge of the world and the surrounding moat, the ocean beyond. Sunset at Global Angkor Boat on Tonle OM. Dinner will be served at local restaurant with classical/Apsara dance show overnight at hotel 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 6:</b> SIEM REAP – KULEN MOUNTIAN (Breakfast, Dinner)
										</p>
										<p class="aj">After breakfast at the hotel departure for excursion at Phnom Kulen or "Lychee Mountain", it is also one of the National Park in the country. Here begins the story of Angkor with the 802 AD sacrament of Jayavaramen II who institutionalized the cult of the "God-King"View the river "of the 1000 lingas" and beautiful cultures on the river bed, pagoda, the large sleeping Buddha carved in the rock, nice view of countryside, visit the waterfalls and you can see the ruins of a temple also. After a good and refreshing swim, at 15:00pm drive back the same way to Siem Reap and overnight at the hotel DAY 07: SIEM REAP – DEPARTURE (B)Breakfast in hotel In the morning, enjoy you free and easy time until checkout our will come to pick up and transferring to the airport for catching your international flight.</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">Departure</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>EP (No Meal)</li>
																				<li>Accommodation with daily breakfast based on Double / Twin /Triple sharing room- Tours with English speaking Guide- Ground transport with air-con vehicle as mentioned in itineraries - All entrance fees for the tour sites as mentioned in the tour itineraries- Cambodia Scarf- Halong Bay sharing group tour- Welcome Drink at hotel- Drinking water and fresh tower for the whole trips 2 Bottle per pax per day ( 500ml ) Package Exclusions- Cambodia visa fee- Vietnam visa fee and letter fee- Domestic and International Air tickets- International airport tax departure- Tip Guide and Driver for the hold trip- Lunch and dinner that not mention in program- Other language guide- Soft drinks- Personal expenses such as drinks at meals- All other accounts are not mentioned in the above inclusion</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></ul>			
						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.gnholidayz.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="7 Days Vietnam 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="189756"/>
						</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.gnholidayz.com/thekkady-tour-packages.htm" title="Thekkady Tour Packages">Thekkady</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.gnholidayz.com/kochi-tour-packages.htm" title="Kochi Tour Packages">Kochi</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.gnholidayz.com/munnar-tour-packages.htm" title="Munnar Tour Packages">Munnar</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.gnholidayz.com/alleppey-tour-packages.htm" title="Alleppey Tour Packages">Alleppey</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.gnholidayz.com/kanyakumari-tour-packages.htm" title="Kanyakumari Tour Packages">Kanyakumari</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.gnholidayz.com/ha-long-tour-packages.htm" title="Ha Long Tour Packages">Ha Long</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.gnholidayz.com/male-tour-packages.htm" title="Male Tour Packages">Male</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.gnholidayz.com/hyderabad-tour-packages.htm" title="Hyderabad Tour Packages">Hyderabad</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.gnholidayz.com/hanoi-tour-packages.htm" title="Hanoi Tour Packages">Hanoi</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.gnholidayz.com/kovalam-tour-packages.htm" title="Kovalam Tour Packages">Kovalam</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.gnholidayz.com/baku-tour-packages.htm" title="Baku Tour Packages">Baku</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.gnholidayz.com/kakinada-tour-packages.htm" title="Kakinada Tour Packages">Kakinada</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.gnholidayz.com/siem-reap-tour-packages.htm" title="Siem Reap Tour Packages">Siem Reap</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="http://www.gnholidayz.com/adventure-holidays-catid.htm" title="Adventure Packages">Adventure</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.gnholidayz.com/beach-islands-holidays-catid.htm" title="Beach and Islands Packages">Beach and Islands</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.gnholidayz.com/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.gnholidayz.com/cruise-holidays-catid.htm" title="Cruise Packages">Cruise</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.gnholidayz.com/religious-pilgrimage-holidays-catid.htm" title="Religious & Pilgrimage Packages">Religious & Pilgrimage</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.gnholidayz.com/house-boat-holidays-catid.htm" title="House Boat Packages">House Boat</a> <b class="alpha50 bn small">(1)</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:58:"Book 7 Days Vietnam Tour - 6 Nights / 7 Days Tour Packages";i:2;s:124:"book 7 days vietnam tour - 6 nights / 7 days tour packages, adventure tour packages, siem reap, ha long, hanoi tour packages";i:3;s:153:"G N Holidayz offers 7 Days Vietnam Tour - 6 Nights / 7 Days tour package, budget Adventure tour packages for Siem Reap, Ha Long, Hanoi at exciting price.";i:4;s:416:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Siem Reap, Ha Long, Hanoi"        
		                 },
		      "description": "",
		      "name": "7 Days Vietnam Tour",
		      "telephone": "+91-9052381553"
		    }
		    </script>
			";i:5;N;}