a:6:{i:0;s:9270:"				<div class="h1"><h1>Hong Kong Tour Package</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.jachintravels.com/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.jachintravels.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Hong Kong Tour Package</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</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.jachintravels.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Hong Kong Tour Package - 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="24407"/>
						</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_10/296660/47426.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_10/296660/47426.jpg"  width="150" height="150"    alt="Hong Kong Tour Package" title="Hong Kong Tour Package" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					Rumours of Hong Kong's demise have been greatly exaggerated. More than 10 years after its handover from Britain to China, this entrepreneurial, irrepressible and singular trading city is booming again. After plagues real, financial and political, normal service has resumed. This tiny territory is punching well above its size and weight once more, only these days with a self-confidence it never had under its former masters. Hong Kong has never been busier.<br />
<br />
This tiny territory is punching well above its size and weight once more, only these days with a self-confidence it never had under its former masters. Hong Kong has never been busier.<br />
<br />
Nor has it ever felt as comfortable with its status, as a part once again of its original motherland but separate, too, largely governing its own affairs and much better off for it. Almost 7 million people call a territory of 1100 sq km home, squeezing onto only 10% of the available land space.<br />
<br />
A flood of mainland and international visitors, meanwhile, crowds in to see what all the fuss is about. Multitudes seek standing or sitting room here, bringing with them smog, odour, clutter and clatter.<br />
<br />
The package free form all India.<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> Delhi to Port Blair
								</p>
								<p class="aj">Departure from Delhi to Port Blair, On arrival at Port Blair airport, meet & greet at the airport with our representative. Transfers to hotel. Check in the Hotel / Resort. Afternoon at leisure. Evening, the Light and Sound Show at Cellular Jail where the saga of the freedom struggle brought alive back to the hotel. Overnight at the Port Blair with 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> Hongkong
								</p>
								<p class="aj">After breakfast at hotel, leave for Hongkong airport, Upon arrival at Hong Kong Airport, meet & greet at airport and transfer to your hotel Check in hotel rest of the day at leisure, later in the night proceed for Dinner in Indian restaurant.<br />
<br />
Overnight at 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 3:</b> Disneyland
								</p>
								<p class="aj">After Breakfast at hotel. Shuttle transfer to Disneyland. Enjoy full day in Disneyland. Evening proceed to Indian restaurant for Dinner after dinner return back to hotel. Overnight at 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> Hongkong to Macau
								</p>
								<p class="aj">After Breakfast, get ready for the morning half day city tour, and then proceed for the Ferry from Hongkong to Macau, arrive Macau. Shuttle transfers to Macau hotel and rest of the day at leisure, then Proceed to dinner in Indian restaurant. Overnight at 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 City
								</p>
								<p class="aj">After Breakfast at hotel, proceed for Half day Macau City tour with lunch. Visiting A-ma Temple, Fishmenwharf, Ruins of St.Paul Church, Macau Tower outside looking, Statue of Western Kun Yam, Goden Lotus square, Area of Nan Van Lake. Evening Proceed to Indian restaurant for Dinner, after dinner back to hotel. Overnight at 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 6:</b> Check out
								</p>
								<p class="aj">Breakfast at hotel. Check out and free shuttle from hotel to airport ferry terminal. Board flight back to India.</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>Transfers</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.jachintravels.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Hong Kong Tour Package - 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="24407"/>
						</form>
						</div>
						
						";i:1;s:61:"Book Hong Kong Tour Package - 5 Nights / 6 Days Tour Packages";i:2;s:119:"book hong kong tour package - 5 nights / 6 days tour packages, forts and palaces tour packages, hong kong tour packages";i:3;s:150:"JACHIN TRAVELS offers Hong Kong Tour Package - 5 Nights / 6 Days tour package, budget Forts and Palaces tour packages for Hong Kong at exciting price.";i:4;s:1592:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Hong Kong"        
		                 },
		      "description": "Rumours of Hong Kong's demise have been greatly exaggerated. More than 10 years after its handover from Britain to China, this entrepreneurial, irrepressible and singular trading city is booming again. After plagues real, financial and political, normal service has resumed. This tiny territory is punching well above its size and weight once more, only these days with a self-confidence it never had under its former masters. Hong Kong has never been busier.

This tiny territory is punching well above its size and weight once more, only these days with a self-confidence it never had under its former masters. Hong Kong has never been busier.

Nor has it ever felt as comfortable with its status, as a part once again of its original motherland but separate, too, largely governing its own affairs and much better off for it. Almost 7 million people call a territory of 1100 sq km home, squeezing onto only 10% of the available land space.

A flood of mainland and international visitors, meanwhile, crowds in to see what all the fuss is about. Multitudes seek standing or sitting room here, bringing with them smog, odour, clutter and clatter.

The package free form all India.",
		      "name": "Hong Kong Tour Package",
		      "telephone": "+91-8527093369"
		    }
		    </script>
			";i:5;N;}