a:6:{i:0;s:16309:"						<section class="headBg theme2 ">
						<div class="wrap">
						<div class="page-title-inner fo"> 
						<div class="h1"><h1>Katra 4 Star Package For 3 Days</h1></div>
						<p class="breadcrumb ar uu small"><a href="https://www.enjoyhappyholidays.in/" title="Home">Home</a>
						
													<b class="ffv p2px">&rsaquo;</b><a href="https://www.enjoyhappyholidays.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>
								
						<b class="ffv p2px">&rsaquo;</b> Katra 4 Star Package For 3 Days</p>
						</div>
						</div>
						</section>
										<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> 
						2 Nights / 3 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Katra</p>
												<p class="mb5px"><b>Price (Starting From) :</b> 
						INR 18872 Per Person						</p>
												<br />
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="https://www.enjoyhappyholidays.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Katra 4 Star Package for 3 Days - 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="188675"/>
						</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_20/597001/295751.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_20/597001/295751.jpg"  width="150" height="112"    alt="Katra 4 Star Package for 3 Days" title="Katra 4 Star Package for 3 Days" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
											<div class="mt7px dif">* Mentioned prices may vary depending upon date of travel, hotel availability, surge pricing and seasonal rush.</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> Katra
										</p>
										<p class="aj">Pick up from Jammu airport/ railway Station and transfers to Katra. On reaching, check in at hotel, afternoon free for personal leisure. Overnight stay at hotel.</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> Katra Darshan
										</p>
										<p class="aj">Morning after breakfast trek / horse ride from Katra to Mata Vaishnodevi Darshan (15.kms one way at your own cost or by helicopter at ypur own cost ). Back at Katra and overnight stay at hotel.(No vehicle)</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> Departure
										</p>
										<p class="aj">After breakfast, proceed for departure to Jammu Airport/Railway Station, to board your onward destination Train/Flight.</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>02 Nights accommodation in Katra Hotel mentioned or Similar category hotel</li><li>
02 Breakfast,</li><li>
Return Airport transfers by AC Indigo / Similar from Jammu</li><li>
All taxes.(GST Extra)</li>
																	</ul>
								</div>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Exclusions</p>
								</div>
								
								<ul><li>Anything not mentioned under 'Package Inclusions'.</li><li>
Cost incidental to any change in the itinerary/stay on account of flight cancellation due to bad weather, ill health and road blocks, and/or any factors beyond control.</li><li>
Items of personal nature like laundry, telephone calls, room service charges, soft drinks and hard drink charges, etc</li><li>
The payments for additional services taken at the hotel are to be settled directly at the hotel</li><li>
Surcharges Extra (if applicable)</li><li>
GST 5%</li></ul>
								</div>
																<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Payments Terms</p>
								</div>
								
								<ul><li>Package valid only for Indian nationals.</li><li>
Air tickets and hotels are subject to availability.</li><li>
It is mandatory for guests to present valid photo identification at the time of check-in.</li><li>
The identification proofs accepted are Driving License, Voters Card, Passport, Ration Card. Without valid ID the guest will not be allowed to check in. Note- PAN Cards will not be accepted as a valid ID card.</li><li>
All transfers and sightseeing are as per the Itinerary/package and in case of Air Conditioned vehicles, It</li><li>
will be switched off in the hills.</li><li>
The inclusion of extra bed with a booking is facilitated with a folding cot or a mattress as an extra bed.</li><li>
Early check-in or late check-out is subject to availability and may be chargeable by the hotel. The standard check-in time is 1300hrs and the standard check-out time is 1000hrs.</li><li>
Any kind of personal expenses (Laundry, room service etc..) or optional tours/ extra meals are not</li><li>
inclusive in the package cost.</li><li>
The hotel reserves the right of admission. Accommodation can be denied to guests posing as a couple if suitable proof of identification is not presented at check-in. Will not be responsible for any check- in denied by the hotel due to the aforesaid reason.</li><li>
In case of non-availability of above mentioned hotels similar category hotel will be provided.</li><li>
EBIX Travels Pvt. Ltd. reserves the right to change/modify or terminate the offer any time at its own discretion and without any prior notice.</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>Cancellation Charges per person</li><li>
Up to 30 days prior to date of departure -Initial deposit amount - 25% of the tour cost (Non Refundable) per person</li><li>
Between 22 days to 29 days prior to departure - 50% of tour cost ( We need 50% payment as well)</li><li>
Between 16 days to 21 days prior to departure - 75% of tour cost</li><li>
Less than 15 days prior to departure - 100% of tour cost</li><li>
This policy may vary during Apr, May and Jun months, Diwali / Dussehra and New Year period and Long Weekends will go up to 100% cancellation - After confirmation.</li><li>
Bank transaction charges apply on credit card/net banking refunds.</li></ul>			
						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="https://www.enjoyhappyholidays.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Katra 4 Star Package for 3 Days - 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="188675"/>
						</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="https://www.enjoyhappyholidays.in/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="https://www.enjoyhappyholidays.in/mumbai-tour-packages.htm" title="Mumbai Tour Packages">Mumbai</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.enjoyhappyholidays.in/katra-tour-packages.htm" title="Katra Tour Packages">Katra</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.enjoyhappyholidays.in/jamnagar-tour-packages.htm" title="Jamnagar Tour Packages">Jamnagar</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.enjoyhappyholidays.in/kathmandu-tour-packages.htm" title="Kathmandu Tour Packages">Kathmandu</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.enjoyhappyholidays.in/ooty-tour-packages.htm" title="Ooty Tour Packages">Ooty</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.enjoyhappyholidays.in/munnar-tour-packages.htm" title="Munnar Tour Packages">Munnar</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.enjoyhappyholidays.in/bangalore-tour-packages.htm" title="Bangalore Tour Packages">Bangalore</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.enjoyhappyholidays.in/puri-tour-packages.htm" title="Puri Tour Packages">Puri</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.enjoyhappyholidays.in/amritsar-tour-packages.htm" title="Amritsar Tour Packages">Amritsar</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.enjoyhappyholidays.in/junagadh-tour-packages.htm" title="Junagadh Tour Packages">Junagadh</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.enjoyhappyholidays.in/pokhara-tour-packages.htm" title="Pokhara Tour Packages">Pokhara</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.enjoyhappyholidays.in/ahmedabad-tour-packages.htm" title="Ahmedabad Tour Packages">Ahmedabad</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.enjoyhappyholidays.in/somnath-tour-packages.htm" title="Somnath Tour Packages">Somnath</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.enjoyhappyholidays.in/mysore-tour-packages.htm" title="Mysore Tour Packages">Mysore</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.enjoyhappyholidays.in/dwarka-tour-packages.htm" title="Dwarka Tour Packages">Dwarka</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="https://www.enjoyhappyholidays.in/forts-palaces-holidays-catid.htm" title="Forts and Palaces Packages">Forts and Palaces</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.enjoyhappyholidays.in/heritage-holidays-catid.htm" title="Heritage Packages">Heritage</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.enjoyhappyholidays.in/religious-pilgrimage-holidays-catid.htm" title="Religious & Pilgrimage Packages">Religious & Pilgrimage</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.enjoyhappyholidays.in/adventure-holidays-catid.htm" title="Adventure Packages">Adventure</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.enjoyhappyholidays.in/beach-islands-holidays-catid.htm" title="Beach and Islands Packages">Beach and Islands</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.enjoyhappyholidays.in/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(3)</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:70:"Book Katra 4 Star Package for 3 Days - 2 Nights / 3 Days Tour Packages";i:2;s:119:"book katra 4 star package for 3 days - 2 nights / 3 days tour packages, hill station tour packages, katra tour packages";i:3;s:156:"Enjoy Happy Holidays offers Katra 4 Star Package for 3 Days - 2 Nights / 3 Days tour package, budget Hill Station tour packages for Katra at exciting price.";i:4;s:408:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Katra"        
		                 },
		      "description": "",
		      "name": "Katra 4 Star Package for 3 Days",
		      "telephone": "+91-9775769250"
		    }
		    </script>
			";i:5;N;}