a:6:{i:0;s:9880:"				<div class="h1"><h1>Hong Kong Macau Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.softprotravels.co.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.softprotravels.co.in/holiday-packages.htm" title="Holiday Packages">Holiday Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Hong Kong Macau 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">
						5 Nights / 6 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Hong Kong, Macau</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.softprotravels.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Hong Kong Macau 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="98158"/>
						</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_17/484941/165960.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_17/484941/165960.jpg"  width="150" height="150"    alt="Hong Kong Macau Tour" title="Hong Kong Macau 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 Hong Kong
								</p>
								<p class="aj">Arrive at the Hong Kong airport. Meet our local tour representative who helps you with an assisted transfer to the hotel. Complete the check-in formalities at the hotel. As the afternoon is at leisure, you can take rest. In the evening, visit the very popular Madame Tussauds Wax Museum, which houses wax statues of popular celebrities, world leaders, sports heroes, cartoon characters, music icons and so on. Some of such statues are of Mahatama Gandhi, former US President Barack Obama, Lady Gaga, Princes Diana etc. Do not miss out on clicking photographs with them.<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 2:</b> Hong Kong Disney Land Tour
								</p>
								<p class="aj">Day 2 is going to be fun-filled and a memorable experience for people of all ages. Post breakfast at the hotel, continue to Hong Kong Disneyland. There is going to be adventure, entertainment and fun. Disneyland is divided into a number of sections with varied themes including Main Street USA, Mystic Point, Grizzly Gulch, Toy Story Land, Tomorrow land, Fantasy land and Adventure Land. Each theme-based section here has some thrilling rides, and wonderful Broadway-style shows. You will also come across popular children characters roaming here and there such as Minnie Mouse, Mickey Mouse, Donald Duck etc. Get yourself clicked with them. In Toy Land, you can also interact with your favorite toys from children movies. Have a splendid visit to the Sleeping Beauty Castle. There are various shops too, selling amazing Disney merchandise. Conclude the day with a musical lighthouse in the closing hour, which is one of the main highlights here. Lunch is inside the amusement park itself. Disneyland has several roller-coasters, 3D rides, spinning rides, water play rides, toy car racing, parachute drop and much more.<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> Hong Kong Half Day City Tour
								</p>
								<p class="aj">Post breakfast on day 3, get ready for half day city tour. Visit the Aberdeen Harbour to get a sneak-peek into the life of the fisher folk of the region. Next in line is the visit to Repulse Bay Beach, one of the most popular beaches in Hong Kong. This is a crescent-shaped beach that is located close to a number of popular city sights. After lunch, continue sightseeing and visit the Victoria Peak. For going-up, there is one-way Peak tram ride. Once at the top, savor the stunning views of the city. The Peak is1503 feet, above the sea level. The other visit of the day is to Jewellery Factory and Canton Road. The remaining day is at leisure.<br />
<br />
Overnight stay in Hong Kong.</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> Hong Kong - Macau (via ferry)
								</p>
								<p class="aj">In the morning, enjoy breakfast, followed by check-out formalities at the hotel. Thereafter get transferred to the ferry terminal to go on-board a ferry to Macau, also known as the 'Casino Capital of Asia'. On arrival, get an assisted transfer to the hotel. After the check-in formalities, the rest of the day is at leisure. Explore the place on your own and indulge in the activities of your interest. The place is full of entertainment and fun-filled activities, and thus is also nicknamed as the 'Las Vegas of Asia'.<br />
<br />
Overnight stay in Macau.</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> Macau - Half Day City Tour
								</p>
								<p class="aj">Breakfast is followed by half-day city tour of Macau including its popular attractions. Visit A-Ma temple- one of the oldest temples in Macau, it is dedicated to the Chinese sea-goddess Mazu. Next explore the ruins of St. Paul's church- a 17th-century complex in Santo António with a church and a college. Later, you drive pass Penha Hill and halt at Macau Tower for a photo opportunity. The evening is at leisure. You can visit any of the popular casino here to try your luck (on your own). The dress code of the casinos is formal.<br />
<br />
Stay overnight at the hotel.</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.softprotravels.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Hong Kong Macau 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="98158"/>
						</form>
						</div>
						
						";i:1;s:59:"Book Hong Kong Macau Tour - 5 Nights / 6 Days Tour Packages";i:2;s:115:"book hong kong macau tour - 5 nights / 6 days tour packages, heritage tour packages, hong kong, macau tour packages";i:3;s:168:"Book Hong Kong Macau Tour - 5 Nights / 6 Days tour packages from Softpro Tour & Travel - Get attractive 5 Nights / 6 Days Heritage  tour packages for  Hong Kong, Macau.";i:4;s:408:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Hong Kong, Macau"        
		                 },
		      "description": "",
		      "name": "Hong Kong Macau Tour",
		      "telephone": "+91-7896768942"
		    }
		    </script>
			";i:5;N;}