a:6:{i:0;s:11128:"				<div class="h1"><h1>Summer Value Fascinating Hong Kong Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.northerntourandtravels.com/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.northerntourandtravels.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Summer Value Fascinating Hong Kong 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">Hong Kong, Macau, Shenzhen, Zhuhai</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.northerntourandtravels.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Summer Value Fascinating Hong Kong 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="54848"/>
						</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_12/334611/105653.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_12/334611/105653.jpg"  width="150" height="150"    alt="Summer Value Fascinating Hong Kong Tour" title="Summer Value Fascinating Hong Kong 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> Arrive into Hong Kong Begin your ‘Fascinating Hong Kong’ Tour Harbour Cruise with Symphony of Li
								</p>
								<p class="aj">Welcome to Hong Kong - the Pearl of the Orient. After you have obtained your free Visa-on-arrival at the airport, our local representative/drivercumguide will meet you at EXIT B Pole No. 16 and take you to your hotel (Check-in time after 3.00 pm).rnIn the evening we take you for 45 minutes Harbour Cruise and Symphony of Light Show.rnOvernight at the hotel in Hong Kong.</p>					
									<p><b>Meals : </b> (Dinner)</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> Tram Ride to top level Victoria Peak Visit to Madame Tussauds Wax Museum Visit to Disneyland
								</p>
								<p class="aj">Today, we take a tram ride to visit the top-level Victoria Peak for a breathtaking view of Kowloon and Hong Kong. Get up close and personal with your favorite celebrity wax figures only at Madame Tussauds Wax Museum (entrance included) & Chocolate Shop.rnLater, we take you for a fun filled trip to Disneyland. Welcome to the magical world of Hong Kong Disneyland, a whimsical world of imagination where enchanted stories and timeless places come to life right before your eyes. Main Street U.S.A. Adventure land, Fantasyland and Tomorrow landrnall come together to create a magical adventure everyone will love. In each land, enjoy high quality rides, meet your favorite characters and watch amazing Broadway-style shows. Overnight at the hotel in Hong Kong.</p>					
									<p><b>Meals : </b> (Breakfast, Lunch Coupon, Dinner)</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> Visit Repulse Bay & Jewellery factory Onto Shenzhen
								</p>
								<p class="aj">Today, we check out and take you to Repulse Bay, famous for its broad beach, clean water and calm tides. Visit the Jewellery factory outlet for great bargains.rnNext, we proceed to Shenzhen by train / coach / ferry.rnOvernight at the hotel in Shenzhen.</p>					
									<p><b>Meals : </b> (Breakfast, Lunch, Dinner)</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> Visit to Mineral Museum and Bamboo Market Visit to Windows of the World Onto Zhuhai
								</p>
								<p class="aj">Today, we visit the Mineral museum, where you can see the World famous Terra-cotta warriors, these priceless relics have been loaned from the famous excavation site in Xian. Also visit the Bamboo Market.rnNext, we proceed to Windows of the World. Windows of the World is a fantastic replica park situated in Shenzhen. Here you can see vivid replicas of the world’s wonders, historical heritages and famous scenic sites from different countries.rnRelax in your coach as we drive and proceed to ZhuhairnOvernight at the hotel in Zhuhai.</p>					
									<p><b>Meals : </b> (Breakfast, Lunch, Dinner)</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> Visit to Chimelong Ocean Kingdom Onto Macau
								</p>
								<p class="aj">Today, we checkout of our hotel and proceed to visit the Chimelong Ocean Kingdom. Chimelong Ocean Kingdom features one of the world’s largest aquariums. See the rare whale shark, beluga whales, polar bears, and other adorable animals closely passing by you. Explore fun-filled themed zones, visit exotic animal exhibits. Challenge yourself on exhilarating rides and immerse yourself in spectacular theatre shows. There are also outdoor events which can be enjoyed by one and all. Do not miss out the premium shopping options too. After a fun-filled day at the Chimelong OceanrnKingdom, we proceed to Macau. Overnight at the Venetian Macao-Resort-Hotel.</p>					
									<p><b>Meals : </b> (Breakfast, Lunch Coupon, Dinner)</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> Guided City Tour of Macau with Macau Tower
								</p>
								<p class="aj">Today after breakfast, we proceed for a city tour of Macau. Macau is quite an obscure place when you consider its colouful history; present positioning as a Special Administrative ‘Region’ of China and role as the gateway between the east and the west. We visit the Ruin’s of St. Paul’s,rnMount Fortress, Section of Old City Walls and Na Tcha Temple. We also visit the Macau Tower. Overnight at The Venetian Macao-Resort-Hotel.</p>					
									<p><b>Meals : </b> (Breakfast, Lunch, Dinner)</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> Return Home with Wonderful Memories
								</p>
								<p class="aj">Today, we check out and drive to the airport for your flight back home. It’s time to say goodbye to all the new friends you have made. We hope you take back many happy memories of your holiday. We would like you to spare a few minutes of your time to write and tell us how you enjoyed yourrnholiday and any suggestions you may have for the future.</p>					
									<p><b>Meals : </b> (Breakfast)</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>
															</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.northerntourandtravels.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Summer Value Fascinating Hong Kong 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="54848"/>
						</form>
						</div>
						
						";i:1;s:78:"Book Summer Value Fascinating Hong Kong Tour - 6 Nights / 7 Days Tour Packages";i:2;s:161:"book summer value fascinating hong kong tour - 6 nights / 7 days tour packages, forts and palaces tour packages, hong kong, macau, shenzhen, zhuhai tour packages";i:3;s:207:"A.G Northern Tour and Travels offers Summer Value Fascinating Hong Kong Tour - 6 Nights / 7 Days tour package, budget Forts and Palaces tour packages for Hong Kong, Macau, Shenzhen, Zhuhai at exciting price.";i:4;s:445:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Hong Kong, Macau, Shenzhen, Zhuhai"        
		                 },
		      "description": "",
		      "name": "Summer Value Fascinating Hong Kong Tour",
		      "telephone": "+91-9086002323"
		    }
		    </script>
			";i:5;N;}