a:6:{i:0;s:31129:"				<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-->				
									<div class="h1"><h1>Hong Kong Macau Package For 5 Days (Group Departure)</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.maataratours.com/" title="Home">Home</a>
					
										
					<b class="ffv p2px">&rsaquo;</b>Hong Kong Macau Package For 5 Days (Group Departure)</p> 
									
						<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>Tour Code :</b> 89248</p>
												<p class="mb5px"><b>Duration :</b> 
						4 Nights / 5 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Hong Kong, Macau</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.maataratours.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Hong Kong Macau Package For 5 Days (Group Departure) - 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="111170"/>
						</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_17/497806/182956.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_17/497806/182956.jpg"  width="150" height="150"    alt="Hong Kong Macau Package For 5 Days (Group Departure)" title="Hong Kong Macau Package For 5 Days (Group Departure)" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
													<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Tour Detail</p>
								</div>
													
								Air ticket and Airport tax from Bangalore and Return by Cathay Pacific in Economy class<br />
3 Nights Hotel accommodations with Breakfast in Hong Kong on Twin/Triple Sharing basis<br />
1 Night Hotel accommodations with Breakfast in Macau on Twin/Triple Sharing basis<br />
All indian meals<br />
Visa on arrival will be assisted<br />
Hong KongMacau-Hong Kong Transfers by Ferry<br />
Macau City Tour<br />
Visit to Macau Grand Prix Museum<br />
Visit to Wine Museums<br />
Night Tour of Macau Including Visit to Casino<br />
ATTRACTIONS FOR WHICH ENTRY FEES ARE INCLUDED IN TOUR COST: HONG KONG & MACAU<br />
Full day Ocean Park tour with Meal Coupon)<br />
Full day Disney Land tour with Meal Coupon)<br />
Hong KongMacau-Hong Kong Transfers by Ferry<br />
One-way Tram Ticket to Victoria Peak<br />
Visit to Madame Tussauds with Entry Fees<br />
All Tours and Transfers on Privates basis with Guide<br />
All sightseeing as mentioned in the itinerary with the entry fees on private basis<br />
The services of English Speaking Guide<br />
All tips<br />
1000ML Water bottle per person per dayAny other services not mentioned under includes<br />
The above tour cost does not include 5.00% Government Service Tax								</div>
								<br />
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Inclusions</p>
								</div>
												
								<ul>
																</ul>
								</div>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Exclusions</p>
								</div>
								
								<ul><li>Any other services not mentioned under includes</li><li>
The above tour cost does not include 5.00% Government Service Tax</li></ul>
								</div>
																<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Rate Card</p>
								</div>
								
    	<p class="h dif xlarge b mb5px">Preview of the Prices</p>
		<div class="dynamic-data-container">
    	<table class="bdrAll" width="100%" cellpadding="5">
			<tr>
				<td class="data p5px">Package cost</td>
				<td class="data p5px">4 Star</td>
			</tr>
			<tr>
				<td class="data p5px">Per Person(min 2 pax required)</td>
				<td class="data p5px">108554</td>
			</tr>
			<tr>
				<td class="data p5px">Extra Adult</td>
				<td class="data p5px">108554</td>
			</tr>
		</table></div><br>
    	<p class="h dif xlarge b mb5px">Hotels Used / Similar</p>
		<div class="dynamic-data-container">
    	<table class="bdrAll" width="100%" cellpadding="5">
			<tr>
				<td class="data p5px">Destination</td>
				<td class="data p5px">No of Nights</td>
				<td class="data p5px">4 Star</td>
			</tr>
			<tr>
				<td class="data p5px">Hong Kong</td>
				<td class="data p5px">3</td>
				<td class="data p5px">Regal Riverside / similar hotels</td>
			</tr>
			<tr>
				<td class="data p5px">Macau</td>
				<td class="data p5px">1</td>
				<td class="data p5px">Regency Hotel Macau / similar hotels</td>
			</tr>
		</table></div><br>								</div>
									
								<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Terms &amp; Conditions</p>
								</div>				
								<p><strong>Cancellation Policy</strong>

<ul>
	<li>The cancellation must be intimated to us in writing and the following cancellation charges will apply.</li>
	<li>Number of days before departure, Chariot World Tours receives your written cancellation Amount of Cancellation charges shown as a % of a total holiday price you must pay</li>
	<li>More than 45 days Deposit only</li>
	<li>44 30 days 40% of total holiday cost</li>
	<li>29 15 days 60% of total holiday cost</li>
	<li>15 days or less 90% of total holiday cost</li>
</ul>

<p><strong>Terms and Conditions</strong>

<ul>
	<li>All our products are sold subject to these Terms and Conditions and the contract between the Client and Chariot World and shall be governed by the same. Via.com. is not responsible for any change in the price due to factors not in the control of the organization.</li>
	<li>Deposit amount - 30% of the total holiday cost + 5.0% service tax to be paid if the booking are made 46 days prior to the departure</li>
	<li>Balance amount - To be paid in full + 5.0% service within 45 Days of the departure date</li>
</ul>

<p><strong>SCOPE OF ACTIVITY</strong>

<ul>
	<li>We are travel and holiday organisers only. We do not control or operate any airline, neither do we own or control any shipping company, coach or coach company, hotel, transport, restaurant, kitchen caravan or any other facility or service mentioned in this Brochure. Though we take care in selecting all the ingredients in your holiday, we can only select and inspect them. As we have no control in running of them, we cannot be responsible for any delay, improper services provided by any agency, airline, transport, hotel, any provider of services, for any injury, death, loss or damage which is caused by the act or default of the management or employees of any hotel, airlines, shipping companies, cruise, coach owners/coach operators/tour operators who are the Companys independent contractors. We are also not responsible for the delay or deficiency in services provided by agency, airline, transport, hotel, any provider of services, and/or any act or actions of co-travelers, co-passengers which may result in injury, damage to the life or property of the Client or interfere with enjoying or availing the following and /or the other services to be provided on the tour.</li>
	<li>We do take all reasonable steps in ensuring that the organisation, maintains standards and provide a service that is acceptable to the company. The information within this brochure has been compiled with all reasonable care and is correct to the best knowledge of the company and is published in good faith.</li>
</ul>

<p><strong>TRAVEL DOCUMENTS AND CLEARANCES</strong>

<ul>
	<li>It shall be sole responsibility of the Clients to hold valid travel documents and statutory clearances, to enable you to travel on the Tour such as passports, insurance and medical insurance certificates and other statutory certificates including immigration clearance. In any case, your Passport must be valid for at least six months subsequent to the scheduled departure date of the tour.</li>
	<li>As granting or rejecting visas and immigration clearance is the sole prerogative of the concerned sovereign governments, the Operator shall neither be responsible in case of non-granting of such documents nor liable for any delay, denial or other related act/omission or for any loss, expense, damage or cost resulting there from. The position in respect of cancellation of Tour by Client due to non-availability of travel documents would not change only by virtue of the Client having applied for such documents through us. Even if visas are rejected, our stipulated fees shall be payable by the Client. There will be no refund to the Client, or any member of his party, is unable to travel due to the said reasons. In such cases, the non-refundable deposit paid by the clients shall be forfeited and no claim whatsoever shall be made for the same.</li>
	<li>In the event that a client is unable to travel on the tour originally booked by him/her, due to rejection of visas by the concerned embassy, the said client shall have the option to postpone his/her tour to any other future date or transfer his tour to any other tour and in such case the transfer fee for the transfer of the tour shall apply. However, if the client books and pays within the cancellation period and is unable to travel due to any reason whatsoever including non-availability of visas or any travel documents, the cancellation policy will apply.</li>
</ul>

<p><strong>HEALTH AND INSURANCE</strong>

<ul>
	<li>It shall be the duty of the Client to inform the Company in case the Client has any medical condition that may affect his ability to enjoy and pursue fully the Tour Arrangements and wherein the interest of the Group or any member thereof is prejudicially affected.</li>
	<li>The Company reserves the right to ask the Client to provide written certification of his medical fitness before departure. In the event that a medical condition has not been disclosed the Company will not be liable to provide any assistance or money back.</li>
	<li>The Company makes it a condition that the Client is adequately covered by Overseas Mediclaim Insurance Policy and other appropriate insurance policies from the Insurance Company identified and named by us to cover the risk of life, limb and property while on tour, as Chariot World Tours Limited will not be responsible for the same.</li>
	<li>It may be noted that the tour cost may or may not include the insurance premium and that the clients shall have to acquire the same at their cost.</li>
</ul>

<p><strong>LIABILITY</strong>

<ul>
	<li>In the event of the Company exercising its rights to amend or alter any Tour or holiday advertised in their Brochure/ itinerary after such Tour or Holiday has been booked, the Client shall have the right:</li>
	<li>To continue with the Tour or holiday as amended or altered;</li>
	<li>Or to accept any alternative Tour or holiday, which the company may offer. In either of these above cases the Client shall not be entitled to or the company shall not be liable to the client for any damage, additional expenses, consequential loss suffered by him or to pay any amount as refund. In the event that the Company is unable to conduct a particular Tour, the Company shall at its own discretion, refund the amount of the cost of the said Tour to the Client after deducting the actual expenses incurred by us on your booking like visa, insurance premium, POE charges, and other overheads as applicable from case to case) without any interest on the same. The Client will not be entitled to make any grievance thereafter in respect of the same.</li>
	<li>The Company shall, in no circumstances whatsoever is liable to the client or any person traveling with him for</li>
	<li>Any death, personal injury, sickness, accident, loss, delay, discomfort, increased expenses, consequential loss and/or damage or any kind of theft howsoever caused;</li>
	<li>Any act, omission, default of any independent Contractor or other person or by any servant or agent employed by them who may be engaged or concerned in the provision of accommodation, refreshment, carriage facility or service for the client or for any person traveling with him howsoever caused.</li>
	<li>The temporary or permanent loss of or damage to baggage or personal effects howsoever caused including willful negligence on the part of any person.</li>
	<li>Loss of baggage by the airlines / coach / cruise / train.</li>
	<li>Overbooking of seats by the airline.</li>
	<li>Failure on the part of airline to accommodate passengers despite having confirmed tickets or change of route.</li>
	<li>If in the event that the Client is booked on a particular airline and the said flight is over booked/cancelled for whatever reason and the Client is not allowed/able to board the flight, the Client shall not hold the company responsible for the same and no claim whatsoever can be made by the Client against the company for refund or compensation.</li>
	<li>The Company shall not be responsible and / or liable for any damages caused to the Client due to reasons beyond the control of the Company Force Majeure / Vis Majeure).</li>
	<li>In any case, no liability on the part of the Company arising in any way out of this contract in respect of any tour, holiday, excursion facility shall exceed the total amount paid for the tour holiday, and shall in no case include any consequential loss or additional expense whatsoever</li>
</ul>

<p><strong>CONDITIONS OF TRAVEL</strong>

<ul>
	<li>The Client will have to strictly follow the Tour Program and return to India as per the validity of the air ticket. There shall be no refund, if the client fails to join the group at the commencement of the tour, or joins the group later or leaves the group before culmination of the tour. It shall be noted that for all purposes, it shall be the responsibility of the Client to reach the place of commencement of the Tour and register with the representative of the company at the appointed place, date and time. In case if a client along with his family is compelled to discontinue the tour due to any reason whatsoever including illness, death or loss of passport or any travel documents, no claim shall be entertained for refund of unutilized services. Even if a client is unable to reach the place of commencement of the tour due to any reason whatsoever including loss of baggage or loss of travel documents, his booking shall be treated as &quot;no show&quot; on the tour and 100% cancellation charges will be levied. If a client avails pre - tour services or part thereof, or the air tickets cost of which is included in the main tour cost) but fails to join the group for the main tour at the appointed place, or cancels the tour after using the air tickets; tour arrangements or part thereof, it shall be treated as &quot;no show&quot; and there will be no refund whatsoever for the unutilized pre-tour or main tour services.</li>
	<li>Chariot World Tours Limited, reserves the right to withdraw tour membership from anyone whose behavior is deemed likely to affect the smooth operation of the tour or adversely affect the enjoyment or safety of other passengers and Chariot World Tours Limited, shall be under no liability to any such person. It is hereby declared that the immunities provided under this contract shall be available to the Companys Managers, including Tour Managers, Employees, Servants and Agents but not to the Independent Contractors selected by the Company.</li>
	<li>Each of these conditions shall be severable from the other and if any provision be invalid, illegal or unenforceable, the remaining provisions shall nevertheless have full force and effect. No liability on the part of the Company arising in any way out of the Contract in respect of any tour, holiday, excursion facilities shall exceed the total amount paid or agreed to be paid for the tour holiday, and shall in no case include any consequential loss or additional expense whatsoever.</li>
	<li>If no suit/action is brought against the Company within three months of the last day of the Tour, the Company shall be discharged from all liabilities under/or arising out of this Contract and the Client shall be deemed to have relinquished/abandoned all his rights under or arising from this Contract.</li>
	<li>If you book with a travel agent and your booking with that agent includes, but is not limited to Chariot World Tours Limited arrangements, your contract is with your travel agent and Chariot World Tours Limited is simply a supplier to your travel agent.</li>
	<li>In case of publication of any travel scheme offering any discount or benefit by the Company, it shall have the sole right to withdraw such a scheme or discount at any time unless a specific assurance of the contrary is published.</li>
</ul>

<p><strong>LAW &amp; JURISDICTION</strong>

<ul>
	<li>For all complaints, suits, claims or disputes of whatsoever nature relating to any products by Chariot World Tours Limited and third party products and tours the courts, tribunals in Bangalore, India alone shall have exclusive jurisdiction. All tours are subject to laws, rules of RBI/GOI.</li>
</ul>

<p><strong>Note:</strong>

<ul>
	<li>We are not holding any rooms or airline seats as of now and above mentioned is quote only , subject to availability at the time of confirmation .</li>
	<li>First preference will be given to mentioned hotels for reservation. In case of non-availability of these hotels we shall advise the similar or next available option with supplement cost .</li>
	<li>Itinerary provided is just suggestive and the sightseeing will be done as per availability.</li>
	<li>In case of no show or late cancellation after reconfirmation charges applicable as per the Hotels Policy and other vendors policy.</li>
</ul>								</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.maataratours.com/packages-in-gangtok.htm" title="Packages in Gangtok">Gangtok</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maataratours.com/packages-in-new-delhi.htm" title="Packages in New Delhi">New Delhi</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maataratours.com/packages-in-darjeeling.htm" title="Packages in Darjeeling">Darjeeling</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maataratours.com/packages-in-manali.htm" title="Packages in Manali">Manali</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maataratours.com/packages-in-jaipur.htm" title="Packages in Jaipur">Jaipur</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maataratours.com/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 "><a class="dif" href="http://www.maataratours.com/packages-in-shimla.htm" title="Packages in Shimla">Shimla</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maataratours.com/packages-in-alleppey.htm" title="Packages in Alleppey">Alleppey</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maataratours.com/packages-in-agra.htm" title="Packages in Agra">Agra</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maataratours.com/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.maataratours.com/packages-in-munnar.htm" title="Packages in Munnar">Munnar</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.maataratours.com/packages-in-baramulla.htm" title="Packages in Baramulla">Baramulla</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.maataratours.com/packages-in-kochi.htm" title="Packages in Kochi">Kochi</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.maataratours.com/packages-in-paris.htm" title="Packages in Paris">Paris</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.maataratours.com/packages-in-rotorua.htm" title="Packages in Rotorua">Rotorua</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.maataratours.com/packages-in-auckland.htm" title="Packages in Auckland">Auckland</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.maataratours.com/packages-in-anantnag.htm" title="Packages in Anantnag">Anantnag</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.maataratours.com/packages-in-christchurch.htm" title="Packages in Christchurch">Christchurch</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.maataratours.com/packages-in-havelock.htm" title="Packages in Havelock">Havelock</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.maataratours.com/packages-in-dharamshala.htm" title="Packages in Dharamshala">Dharamshala</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.maataratours.com/packages-in-shillong.htm" title="Packages in Shillong">Shillong</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.maataratours.com/packages-in-pattaya.htm" title="Packages in Pattaya">Pattaya</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.maataratours.com/packages-in-pushkar.htm" title="Packages in Pushkar">Pushkar</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.maataratours.com/packages-in-zurich.htm" title="Packages in Zurich">Zurich</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.maataratours.com/packages-in-nainital.htm" title="Packages in Nainital">Nainital</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.maataratours.com/packages-in-thekkady.htm" title="Packages in Thekkady">Thekkady</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.maataratours.com/packages-in-sydney.htm" title="Packages in Sydney">Sydney</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.maataratours.com/packages-in-varanasi.htm" title="Packages in Varanasi">Varanasi</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.maataratours.com/packages-in-rishikesh.htm" title="Packages in Rishikesh">Rishikesh</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.maataratours.com/packages-in-pelling.htm" title="Packages in Pelling">Pelling</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 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.maataratours.com/beach-islands-holidays-catid.htm" title="Beach and Islands Packages">Beach and Islands</a> <b class="alpha50 bn small">(14)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maataratours.com/heritage-holidays-catid.htm" title="Heritage Packages">Heritage</a> <b class="alpha50 bn small">(22)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maataratours.com/valley-holidays-catid.htm" title="Valley Packages">Valley</a> <b class="alpha50 bn small">(15)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maataratours.com/forts-palaces-holidays-catid.htm" title="Forts and Palaces Packages">Forts and Palaces</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maataratours.com/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(13)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maataratours.com/wildlife-nature-holidays-catid.htm" title="Wildlife and Nature Packages">Wildlife and Nature</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maataratours.com/religious-pilgrimage-holidays-catid.htm" title="Religious & Pilgrimage Packages">Religious & Pilgrimage</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maataratours.com/lakes-rivers-holidays-catid.htm" title="Lakes & Rivers Packages">Lakes & Rivers</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maataratours.com/adventure-holidays-catid.htm" title="Adventure Packages">Adventure</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maataratours.com/romantic-holidays-catid.htm" title="Romantic Packages">Romantic</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.maataratours.com/national-parks-holidays-catid.htm" title="National Parks Packages">National Parks</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.maataratours.com/water-sports-activity-holidays-catid.htm" title="Water Sports and Activity Packages">Water Sports and Activity</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>
				</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:91:"Book Hong Kong Macau Package For 5 Days (Group Departure) - 4 Nights / 5 Days Tour Packages";i:2;s:156:"book hong kong macau package for 5 days (group departure) - 4 nights / 5 days tour packages, forts and palaces tour packages, hong kong, macau tour packages";i:3;s:197:"Maa Tara Tours & Travels offers Hong Kong Macau Package For 5 Days (Group Departure) - 4 Nights / 5 Days tour package, budget Forts and Palaces tour packages for Hong Kong, Macau at exciting price.";i:4;s:1551:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Hong Kong, Macau"        
		                 },
		      "description": "Air ticket and Airport tax from Bangalore and Return by Cathay Pacific in Economy class
3 Nights Hotel accommodations with Breakfast in Hong Kong on Twin/Triple Sharing basis
1 Night Hotel accommodations with Breakfast in Macau on Twin/Triple Sharing basis
All indian meals
Visa on arrival will be assisted
Hong KongMacau-Hong Kong Transfers by Ferry
Macau City Tour
Visit to Macau Grand Prix Museum
Visit to Wine Museums
Night Tour of Macau Including Visit to Casino
ATTRACTIONS FOR WHICH ENTRY FEES ARE INCLUDED IN TOUR COST: HONG KONG & MACAU
Full day Ocean Park tour with Meal Coupon)
Full day Disney Land tour with Meal Coupon)
Hong KongMacau-Hong Kong Transfers by Ferry
One-way Tram Ticket to Victoria Peak
Visit to Madame Tussauds with Entry Fees
All Tours and Transfers on Privates basis with Guide
All sightseeing as mentioned in the itinerary with the entry fees on private basis
The services of English Speaking Guide
All tips
1000ML Water bottle per person per dayAny other services not mentioned under includes
The above tour cost does not include 5.00% Government Service Tax",
		      "name": "Hong Kong Macau Package For 5 Days (Group Departure)",
		      "telephone": "+91-7001746331"
		    }
		    </script>
			";i:5;N;}