a:6:{i:0;s:37559:"						<section class="headBg theme2 ">
						<div class="wrap">
						<div class="page-title-inner fo"> 
						<div class="h1"><h1>MATA VAISHNO DEVI PATNITOP | BHADARWAH TOUR</h1></div>
						<p class="breadcrumb ar uu small"><a href="http://www.silverraytravel.co.in/" title="Home">Home</a>
						
													<b class="ffv p2px">&rsaquo;</b><a href="http://www.silverraytravel.co.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>
								
						<b class="ffv p2px">&rsaquo;</b> MATA VAISHNO DEVI PATNITOP | BHADARWAH TOUR</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> 
						7 Nights / 8 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Jammu, Katra, Patnitop</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.silverraytravel.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="MATA VAISHNO DEVI PATNITOP | BHADARWAH TOUR - 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="188856"/>
						</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_19/566299/296184.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_19/566299/296184.jpg"  width="150" height="93"    alt="MATA VAISHNO DEVI PATNITOP | BHADARWAH TOUR" title="MATA VAISHNO DEVI PATNITOP | BHADARWAH TOUR" /></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>
													
								Vaishno Devi, also known as Mata Rani, Trikuta and Vaishnavi, is a manifestation of the Hindu Goddess Mata Adi Shakti also known as Chandi/Durga. The words ""maa" and "mata" are commonly used in India for "mother", and thus are often used in connection with Vaishno Devi. Vaishno Devi Mandir is a Hindu temple dedicated to the Hindu Goddess, located in Katra at the Trikuta Mountains within the Indian state of Jammu and Kashmir. The Temple or Bhawan is 13.5 km from Katra and various modes of transportation are available from Katra to Bhawan, including Ponies, Electric vehicles and paalkhis operated by 4 persons. Helicopter services are also available up to Sanjichhat, which is 9.5 km from Katra. Vaishno Devi Mandir is a popular Hindu temple dedicated to the Hindu Goddess, located in the Trikuta Mountains in Katra, Jammu and Kashmir, India.<br />
<br />
Patnitop is a hilltop tourist location in Udhampur district in Jammu & Kashmir state of India on national highway 1A, 112 kms from Jammu on the way from Udhampur to Srinagar. Situated on a plateau in the Shivalik belt of the Himalayas, Patnitop sits at an altitude of 2,024 m (6,640 feet). The hill station is covered with thick woody forests that provide perfect trekking trails. Some of the important trekking trails in the region are the Kud and Sanasar. The ideal time to visit Patnitop is the months ranging from May through June and again during the months of September and October. For snow boarding, the ideal time at this hill station is between the months of December to March. The region is usually very crowded during the Asadh Purnima festival. From Patnitop, you can visit Sanasar which resembles Patnitop a bit. The only difference is that Sanasar is situated on a higher location. While on your way to Sanasar, Nathatop is another place worth your visit. From Nathatop you can get a clear view of Patnitop and this place will offer you an excellent opportunity for trekking.<br />
<br />
Bhadarwah (Mini Kashmir)<br />
Bhadarwah is a beautiful valley situated at a distance of 80 kms from Batote and 170 kms from Katra vaishnodevi and over 205 kms from Jammu to its North at a height of 5500 ft. above the sea level. Because of its scenic beauty it is called “Chota Kashmir” for its high literacy rate, Bhadarwah is known as Kerala. Some writers name it as the Switzerland of India. Bhadarwah is a land of splendours and surprises, a place where God’ sarchitectural experience and elegance is felt. Its singing rivulets, clear blue sky, unparalleled majestic mountains, vast expanses of alpine vegetable; emotional people and diversified culture; spiritual, placidity, fragrant bloom of tulips leave every tourist spell-bound and ineffable. <br />
The valley is a klidoscope of nature with different colours of God’s creativity. This place has an important centre of cultural, social, religious, political and art related activities. Bhadarwah attracted people from far and near and the cause of attraction was ‘its peaceful atmosphere, pleasant climate, self sufficient in eatables, grains, fruits, vegetables and milk etc. during winters, dancing sunbeams reflected by the white snow blanket make the gazers dance too. Black forests, which are rarely found across the globe, are abode of tigers, wild herbs found in these areas have their own used and charm. <br />
Bhadarwah is becoming a premiere destination of the state and tourist flow for Bhadarwah tour packages has gradually increased in recent years and soon Bhadarwah holidays will be a common name our lips. <br />
There a lot of scope for these activities. Bhadarwah Development Authorities has stared these activities with help of some private agencies for the year 2006. <br />
Bhadarwah Temples: the town of Bhadarwah is dotted with numerous temples and important pilgrimage sites, with Vasuki Nag, being the main deity. There are four Vasuki Nag temples. The first Vasuki Nag temple of Gatha has two idols namely Naraj Vasuki and Raja Jamub Vahan. Both these idols are made of black schist. This temple is an amazing specimen of art and sculpture. On the banks of the Neeru River, a Siva temple can be seen which is made under natural stone slabs. In this temple, you will find the footprints of Bhima, one of the Pandava brothers on a rock. The other three Vasuki Nag temples can be seen at Nalthi, Bheja and Nagar Bhadarwah respectively. Between the Chinta Valley and the Shitala Mata Roshera, you can see another old temple of Shitala Mata that is situated on a slopping hill top. This temple is a sacred spot for mundan (head-shaving) in this area. A Dharmsala has been constructed here for the pilgrims and devotees for night-stay. The religious minded tourist can also visit a newly renovated temple dedicated to the Goddess Chandi in the Chinote village and a Durga temple in Raushira. While the Chandi temple is locally known as the Chandi Mata Mandir, the Durga temple is located in the less explored Chiralla area. <br />
Bhadarwah Yatras: Every year Bhadarwah witnesses some of the world-famous yatras. These yatras bring together devotees from across the country and the world too. Such yatras are considered to be extremely pious for Hindus and hold a special place of importance much like the Haj pilgrimage does for a devout Muslim. The yatras that pass through Bhadarwah are the Trishul Bhaint Yatra and the Machail Yatra. The former Yatra comes to Bhadarwah from Doda on July 3rd and the latter comes on August 18th. The Machail Yatra starts from Chinote in Bhadarwah and goes to Machail in Paddar region of Kishtawar. <br />
Bhadarwah Ziyarat Bangla Nallah: at the north east of Bhadarwah, one can find the Ziyarat Bangla Nallah and it is believed that after a villager makes an offering here, the animals owned by him or her is cured of the mouth and foot disease they were suffering from. The Rattangarh or Bhadarwah fort is another interesting place to visit. The fort was built in 1733 and was turned into a jail in 1919. It was vacated in 2009 by the jail authorities. Presently, the fort is being renovated to turn it into a tourist spot. <br />
Bhadarwah valleys: other notable places that you can visit when you are in Bhadarwah include Chinta valley, Jai valley, Seoj meadow, and Padri. The valleys of Chinta, Jai and Seoj are beautiful meadows that abound in natural beauty. Nature lovers can lose themselves in the breathtaking scenery of these places while adventure sports lovers can enjoy plenty of adventurous activities s in these areas. In Padri, there are numerous picnic spots where you can enjoy a day’s outing amidst the nature. Interestingly, almost every household has a fruit orchard in its backyard in Bhadarwah. You can predominantly spot apple, apricot, peach, plum, and pomegranate trees in this town. Though lesser known in the tourism industry and tourists, Bhadarwah is a beautiful town mostly unexplored. If you love nature, history or are of a religious mind and prefer to visit a place that is devoid of crowd and is not too commercialized, then probably Bhadarwah is a destination that might appeal to you a lot.								</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 JAMMU-KATRA (50KMS ONE WAY 02 HRS APPROX)
										</p>
										<p class="aj">Arrival Jammu our representative will be pick up guest from Jammu airport / railway station and transfer to Katra check in hotel fresh up. Evening will be at leisure. Dinner & overnight stay at Katra 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 - VAISHNODEVI DARSHAN - KATRA (14 KMS ONE WAY TREKUP)
										</p>
										<p class="aj">After Refresh and Morning breakfast we will Drop you Banganga and proceed for Mata Vaishnodevi Darshan. After complete Mata Vaishnodevi Darshan. At return time pick up from Banganga to Katra hotel take the rest. Dinner & overnight stay at Katra 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 3:</b> KATRA-PATNITOP (90 KMS ONE WAY 03 HRS APPROX)
										</p>
										<p class="aj">After refreshment and morning breakfast check out from Katra hotel and drive Patnitop (95.kms from Katra) a famous Hill station which is perched on a beautiful plateau. At an altitude of 2024 meter across which the Jammu- Srinagar highway passes. Arrival Patnitop check in hotel fresh up afternoon, proceed for sarnasar which is a cup shaped by gigantic conifers. A Place for a Quiet Holiday, the Meadow has now been developed as a golf course. It also provides opportunities for paragliding. Enroute Nathatop, another famous tourist point back hotel free for personal activities. Dinner & overnight stay at Patnitop.</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> PATNITOP-BHADERWAH (85 KMS ONE WAY 03 HRS APPROX)
										</p>
										<p class="aj">After refreshment and morning breakfast check out Patnitop Hotel to Drive Bhaderwah (85 kms one way) arrival Bhaderwah check in Hotel fresh up and enjoy the splendid view of lush green Meadows Surrounded by rich mountains from hut / hotel and visit Vaski Nag Temple, Fish Pond etc.. Back Hotel Rest of the day Dinner & overnight stay at Bhaderwah 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 5:</b> BHADERWAH TO DAY TRIP PADRI AND KHANITOP
										</p>
										<p class="aj">After refreshment and morning breakfast we will Leave for day trip to Padri pass connects Bhaderwah with Chamba in Himachal Pradesh. From here we can have a splendid view of Ashapati Glacier, Nalthi island garden Sightseeing back Bhaderwah Dinner & overnight stay at Bhaderwah 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 6:</b> DAY TRIP JAI VALLEY / CHINTA VALLEY (35 KMS ONE WAY)
										</p>
										<p class="aj">After refreshment and morning breakfast day excursion trip to Jai Valley. Jai Valley is Picturesque valley, 30 kms. From Bhaderwah. It is on extremely beautiful valley spread over 06 kms. Sightseeing of Kapra (Location of Mata ki Chowki Serial) and other Oscar awarded film Noor and attraction Chinta Valley is extremely beautiful. Another nearby attraction is a beautiful sprawling meadow Jai Valley. Jai Valley offers nice “igloo huts” to the tourist visit the Bhaderwah town back hotel Dinner & overnight stay at Bhaderwah 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 7:</b> BHADERWAH LOCAL
										</p>
										<p class="aj">After refreshment and morning breakfast and enjoy your Lovely Morning, soon will proceed to Chandi Mata Mandir, Gupt Ganga, Gatha Lake and Bhaderwah Fort. Later you will enjoy the Sightseeing of Nalthi Garden, Tilligarh Rose Garden, Seoj Meadow Sightseeing back Bhaderwah Dinner & overnight stay at Bhaderwah 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 8:</b> BHADERWAH-JAMMU DEPARTURE (205 KMS ONE WAY 08 HRS APPROX)
										</p>
										<p class="aj">After morning breakfast visit Vaski Nag Temple Darshan and Check out from Bhaderwah Hotel to Drive Jammu via Patnitop Sightseeing arrival Jammu and Visit Some Local Amar Mahal, Raghunath Temple, Kali Mata Mandir Sight seeing and Jammu railway station Drop return journey with memories of Vaishnodevi Darshan, Bhaderwah Package Tour by WELCOME TOUR & TRAVELS to your own destination.</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>All Package cost G.ST 05% Includes.</li><li>
All Pickups, Transfer and Sight seeing by Non-Ac Vehicles ex Jammu Railway Station / Jammu Airport</li><li>
Accommodation per room double sharing basis MAPI Basis (Room + Breakfast + Dinner)</li><li>
Meals Plan MAP Plan (Room + Breakfast & Dinner pure Veg)</li><li>
02 nights in Katra at Hotel as per category package</li><li>
01 night in Patnitop at Hotel as per category package</li><li>
04 nights in Bhaderwah at Hotel as per category package</li><li>
Children upto 05 years complimentary (sharing same bed with parents)</li><li>
Check in hotel & check out hotel time 12:00 pm noon</li><li>
Half day Patnitop Local Nathatop, Nag Temple, Gardens Sight seeing.</li><li>
Full day Excursion Tour Bhaderwah to Padri and Khanitop Sight seeing</li><li>
Full day Excursion Tour Bhaderwah to Jai Valley and Chinta Valley Sight seeing</li><li>
Full day Excursion Tour Bhaderwah Local Chandi Mata Mandir, Gupt Ganga, Bhaderwah Fort, Nalthi Garden, Tilligarh Rose Garden, Seoj</li><li>
Above rates are net & non-commissionable.</li>
																	</ul>
								</div>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Exclusions</p>
								</div>
								
								<ul><li>Air Tickets / Train Tickets</li><li>
Personal expenses such as laundry, telephone bill, tips & gratuity, mineral water, soft & hard water, paragliding, porter age</li><li>
Any cost arising due to calamities like, landslides, road blockage, political disturbances (strike), etc (to be borne by the client, who is directly payable on the spot)</li><li>
Room Heater charge</li><li>
Unforeseen Expenses beyond our control</li><li>
Tips to Waiters / Driver / Any other person</li><li>
Monument fees at all places and gardens</li><li>
Tour Itinerary can be changed depending upon the availability of hotel</li><li>
Any kind of personal expenses or optional Tours / Extra meals ordered</li><li>
Any meals except those listed in above inclusion</li><li>
Anything not mentioned in the inclusions</li><li>
In case of early check in hotel or late check out hotel manager or tour organizer / tour operator, other wise full charge will be pay</li></ul>
								</div>
																<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Payments Terms</p>
								</div>
								
								<ul><li>Some Advance Percentage of total booking amount</li><li>
Airfare/Transport fare to be paid full at one time in advance.</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>If we withdraw or terminate a Product or service, you shall be immediately notified of the withdrawal or termination and the reason for the withdrawal or termination. However, if a change is requested by you to your travel arrangements is permitted and possible, our standard service fees will apply in addition to any additional Supplier charges. Please contact us by phone or email to enquire about how to request changes. Please note that all reservation changes are subject to availability and the terms and conditions of the product purchased.</li><li>
45 days prior to arrival: 10% of the Tour / service cost</li><li>
15 days prior to arrival: 25% of the Tour / service cost</li><li>
07 days prior to arrival: 50% of the Tour / service cost</li><li>
48 hours prior to arrival OR No Show: No Refund</li></ul>			
						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.silverraytravel.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="MATA VAISHNO DEVI PATNITOP | BHADARWAH 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="188856"/>
						</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="http://www.silverraytravel.co.in/jammu-tour-packages.htm" title="Jammu Tour Packages">Jammu</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.silverraytravel.co.in/katra-tour-packages.htm" title="Katra Tour Packages">Katra</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.silverraytravel.co.in/leh-ladakh-tour-packages.htm" title="Leh Ladakh Tour Packages">Leh Ladakh</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.silverraytravel.co.in/sonamarg-tour-packages.htm" title="Sonamarg Tour Packages">Sonamarg</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.silverraytravel.co.in/pahalgam-tour-packages.htm" title="Pahalgam Tour Packages">Pahalgam</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.silverraytravel.co.in/patnitop-tour-packages.htm" title="Patnitop Tour Packages">Patnitop</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.silverraytravel.co.in/gulmarg-tour-packages.htm" title="Gulmarg Tour Packages">Gulmarg</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.silverraytravel.co.in/srinagar-tour-packages.htm" title="Srinagar Tour Packages">Srinagar</a> <b class="alpha50 bn small">(2)</b></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.silverraytravel.co.in/religious-pilgrimage-holidays-catid.htm" title="Religious & Pilgrimage Packages">Religious & Pilgrimage</a> <b class="alpha50 bn small">(8)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.silverraytravel.co.in/trekking-holidays-catid.htm" title="Trekking Packages">Trekking</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.silverraytravel.co.in/valley-holidays-catid.htm" title="Valley Packages">Valley</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.silverraytravel.co.in/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.silverraytravel.co.in/honeymoon-holidays-catid.htm" title="Honeymoon Packages">Honeymoon</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.silverraytravel.co.in/lakes-rivers-holidays-catid.htm" title="Lakes & Rivers Packages">Lakes & Rivers</a> <b class="alpha50 bn small">(1)</b></span>
						
				</div>
				</div>
				</div>
				</div>
				
				
				</div>
				</div>
				
										<br />
						<div class="row1"> 
						<div class="col-1"> 
						<div class="mt30px">
						<p class="xxlarge b pb10px bdrB db"> Similar Tour Packages for Jammu, Katra, Patnitop</p>
						</div>
						<br/>
						<div class="cf_3img">
						<ul class="lsn m0px p0px fo idv_eqheight cols_similar">
											
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.silverraytravel.co.in/holiday-packages/3-days-mata-vaishno-devi-with-helicopter-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_19/566299/296470.jpg"  alt="3 DAYS MATA VAISHNO DEVI WITH HELICOPTER TOUR" title="3 DAYS MATA VAISHNO DEVI WITH HELICOPTER TOUR"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.silverraytravel.co.in/holiday-packages/3-days-mata-vaishno-devi-with-helicopter-tour.htm" title="3 DAYS MATA VAISHNO DEVI WITH HELICOPTER TOUR"><h3>3 Days Mata Vaishno Devi With Helicopter T..</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								2 Nights / 3 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Jammu, Katra</p>
															<div class="mt10px small">
							<form name="pkg_189018" id="pkg_189018" method="post" action="http://www.silverraytravel.co.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.silverraytravel.co.in/holiday-packages/3-days-mata-vaishno-devi-with-helicopter-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="3 DAYS MATA VAISHNO DEVI WITH HELICOPTER TOUR - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="189018"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.silverraytravel.co.in/holiday-packages/a-mata-vaishno-devi-with-kashmir-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_19/566299/296187.jpg"  alt="A MATA VAISHNO DEVI WITH KASHMIR TOUR" title="A MATA VAISHNO DEVI WITH KASHMIR TOUR"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.silverraytravel.co.in/holiday-packages/a-mata-vaishno-devi-with-kashmir-tour.htm" title="A MATA VAISHNO DEVI WITH KASHMIR TOUR"><h3>A Mata Vaishno Devi With Kashmir Tour</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								8 Nights / 9 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Jammu, Katra, Srinagar, Pahalgam, Sonama..</p>
															<div class="mt10px small">
							<form name="pkg_188859" id="pkg_188859" method="post" action="http://www.silverraytravel.co.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.silverraytravel.co.in/holiday-packages/a-mata-vaishno-devi-with-kashmir-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="A MATA VAISHNO DEVI WITH KASHMIR TOUR - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="188859"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.silverraytravel.co.in/holiday-packages/a-blessingof-mata-tour-package.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_19/566299/296181.jpg"  alt="A BLESSING OF MATA TOUR PACKAGE" title="A BLESSING OF MATA TOUR PACKAGE"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.silverraytravel.co.in/holiday-packages/a-blessingof-mata-tour-package.htm" title="A BLESSING OF MATA TOUR PACKAGE"><h3>A Blessing Of Mata Tour Package</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								2 Nights / 3 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Jammu, Katra</p>
															<div class="mt10px small">
							<form name="pkg_188853" id="pkg_188853" method="post" action="http://www.silverraytravel.co.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.silverraytravel.co.in/holiday-packages/a-blessingof-mata-tour-package.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="A BLESSING OF MATA TOUR PACKAGE - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="188853"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.silverraytravel.co.in/holiday-packages/mata-vaishno-devi-with-helicopter-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_19/566299/296469.jpg"  alt="MATA VAISHNO DEVI WITH HELICOPTER TOUR" title="MATA VAISHNO DEVI WITH HELICOPTER TOUR"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.silverraytravel.co.in/holiday-packages/mata-vaishno-devi-with-helicopter-tour.htm" title="MATA VAISHNO DEVI WITH HELICOPTER TOUR"><h3>Mata Vaishno Devi With Helicopter Tour</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								1 Nights / 2 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Jammu, Katra</p>
															<div class="mt10px small">
							<form name="pkg_189017" id="pkg_189017" method="post" action="http://www.silverraytravel.co.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.silverraytravel.co.in/holiday-packages/mata-vaishno-devi-with-helicopter-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="MATA VAISHNO DEVI WITH HELICOPTER TOUR - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="189017"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.silverraytravel.co.in/holiday-packages/mata-vaishno-devi-with-patnitop-tour-package.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_19/566299/296182.jpg"  alt="MATA VAISHNO DEVI WITH PATNITOP TOUR PACKAGE" title="MATA VAISHNO DEVI WITH PATNITOP TOUR PACKAGE"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.silverraytravel.co.in/holiday-packages/mata-vaishno-devi-with-patnitop-tour-package.htm" title="MATA VAISHNO DEVI WITH PATNITOP TOUR PACKAGE"><h3>Mata Vaishno Devi With Patnitop Tour Packa..</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								3 Nights / 4 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Jammu, Katra, Patnitop</p>
															<div class="mt10px small">
							<form name="pkg_188854" id="pkg_188854" method="post" action="http://www.silverraytravel.co.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.silverraytravel.co.in/holiday-packages/mata-vaishno-devi-with-patnitop-tour-package.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="MATA VAISHNO DEVI WITH PATNITOP TOUR PACKAGE - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="188854"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.silverraytravel.co.in/holiday-packages/mata-vaishno-devi-with-shivkhori-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_19/566299/296183.jpg"  alt="MATA VAISHNO DEVI WITH SHIVKHORI TOUR" title="MATA VAISHNO DEVI WITH SHIVKHORI TOUR"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.silverraytravel.co.in/holiday-packages/mata-vaishno-devi-with-shivkhori-tour.htm" title="MATA VAISHNO DEVI WITH SHIVKHORI TOUR"><h3>Mata Vaishno Devi With Shivkhori Tour</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								3 Nights / 4 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Jammu, Katra</p>
															<div class="mt10px small">
							<form name="pkg_188855" id="pkg_188855" method="post" action="http://www.silverraytravel.co.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.silverraytravel.co.in/holiday-packages/mata-vaishno-devi-with-shivkhori-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="MATA VAISHNO DEVI WITH SHIVKHORI TOUR - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="188855"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
															
						</ul>
						</div>
						</div> 		  
						<br>
						</div>  
						<br />
										
				</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:82:"Book MATA VAISHNO DEVI PATNITOP | BHADARWAH TOUR - 7 Nights / 8 Days Tour Packages";i:2;s:158:"book mata vaishno devi patnitop | bhadarwah tour - 7 nights / 8 days tour packages, religious & pilgrimage tour packages, jammu, katra, patnitop tour packages";i:3;s:192:"Silver Ray Travel offers MATA VAISHNO DEVI PATNITOP | BHADARWAH TOUR - 7 Nights / 8 Days tour package, budget Religious & Pilgrimage tour packages for Jammu, Katra, Patnitop at exciting price.";i:4;s:7500:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Jammu, Katra, Patnitop"        
		                 },
		      "description": "Vaishno Devi, also known as Mata Rani, Trikuta and Vaishnavi, is a manifestation of the Hindu Goddess Mata Adi Shakti also known as Chandi/Durga. The words ""maa" and "mata" are commonly used in India for "mother", and thus are often used in connection with Vaishno Devi. Vaishno Devi Mandir is a Hindu temple dedicated to the Hindu Goddess, located in Katra at the Trikuta Mountains within the Indian state of Jammu and Kashmir. The Temple or Bhawan is 13.5 km from Katra and various modes of transportation are available from Katra to Bhawan, including Ponies, Electric vehicles and paalkhis operated by 4 persons. Helicopter services are also available up to Sanjichhat, which is 9.5 km from Katra. Vaishno Devi Mandir is a popular Hindu temple dedicated to the Hindu Goddess, located in the Trikuta Mountains in Katra, Jammu and Kashmir, India.

Patnitop is a hilltop tourist location in Udhampur district in Jammu & Kashmir state of India on national highway 1A, 112 kms from Jammu on the way from Udhampur to Srinagar. Situated on a plateau in the Shivalik belt of the Himalayas, Patnitop sits at an altitude of 2,024 m (6,640 feet). The hill station is covered with thick woody forests that provide perfect trekking trails. Some of the important trekking trails in the region are the Kud and Sanasar. The ideal time to visit Patnitop is the months ranging from May through June and again during the months of September and October. For snow boarding, the ideal time at this hill station is between the months of December to March. The region is usually very crowded during the Asadh Purnima festival. From Patnitop, you can visit Sanasar which resembles Patnitop a bit. The only difference is that Sanasar is situated on a higher location. While on your way to Sanasar, Nathatop is another place worth your visit. From Nathatop you can get a clear view of Patnitop and this place will offer you an excellent opportunity for trekking.

Bhadarwah (Mini Kashmir)
Bhadarwah is a beautiful valley situated at a distance of 80 kms from Batote and 170 kms from Katra vaishnodevi and over 205 kms from Jammu to its North at a height of 5500 ft. above the sea level. Because of its scenic beauty it is called “Chota Kashmir” for its high literacy rate, Bhadarwah is known as Kerala. Some writers name it as the Switzerland of India. Bhadarwah is a land of splendours and surprises, a place where God’ sarchitectural experience and elegance is felt. Its singing rivulets, clear blue sky, unparalleled majestic mountains, vast expanses of alpine vegetable; emotional people and diversified culture; spiritual, placidity, fragrant bloom of tulips leave every tourist spell-bound and ineffable. 
The valley is a klidoscope of nature with different colours of God’s creativity. This place has an important centre of cultural, social, religious, political and art related activities. Bhadarwah attracted people from far and near and the cause of attraction was ‘its peaceful atmosphere, pleasant climate, self sufficient in eatables, grains, fruits, vegetables and milk etc. during winters, dancing sunbeams reflected by the white snow blanket make the gazers dance too. Black forests, which are rarely found across the globe, are abode of tigers, wild herbs found in these areas have their own used and charm. 
Bhadarwah is becoming a premiere destination of the state and tourist flow for Bhadarwah tour packages has gradually increased in recent years and soon Bhadarwah holidays will be a common name our lips. 
There a lot of scope for these activities. Bhadarwah Development Authorities has stared these activities with help of some private agencies for the year 2006. 
Bhadarwah Temples: the town of Bhadarwah is dotted with numerous temples and important pilgrimage sites, with Vasuki Nag, being the main deity. There are four Vasuki Nag temples. The first Vasuki Nag temple of Gatha has two idols namely Naraj Vasuki and Raja Jamub Vahan. Both these idols are made of black schist. This temple is an amazing specimen of art and sculpture. On the banks of the Neeru River, a Siva temple can be seen which is made under natural stone slabs. In this temple, you will find the footprints of Bhima, one of the Pandava brothers on a rock. The other three Vasuki Nag temples can be seen at Nalthi, Bheja and Nagar Bhadarwah respectively. Between the Chinta Valley and the Shitala Mata Roshera, you can see another old temple of Shitala Mata that is situated on a slopping hill top. This temple is a sacred spot for mundan (head-shaving) in this area. A Dharmsala has been constructed here for the pilgrims and devotees for night-stay. The religious minded tourist can also visit a newly renovated temple dedicated to the Goddess Chandi in the Chinote village and a Durga temple in Raushira. While the Chandi temple is locally known as the Chandi Mata Mandir, the Durga temple is located in the less explored Chiralla area. 
Bhadarwah Yatras: Every year Bhadarwah witnesses some of the world-famous yatras. These yatras bring together devotees from across the country and the world too. Such yatras are considered to be extremely pious for Hindus and hold a special place of importance much like the Haj pilgrimage does for a devout Muslim. The yatras that pass through Bhadarwah are the Trishul Bhaint Yatra and the Machail Yatra. The former Yatra comes to Bhadarwah from Doda on July 3rd and the latter comes on August 18th. The Machail Yatra starts from Chinote in Bhadarwah and goes to Machail in Paddar region of Kishtawar. 
Bhadarwah Ziyarat Bangla Nallah: at the north east of Bhadarwah, one can find the Ziyarat Bangla Nallah and it is believed that after a villager makes an offering here, the animals owned by him or her is cured of the mouth and foot disease they were suffering from. The Rattangarh or Bhadarwah fort is another interesting place to visit. The fort was built in 1733 and was turned into a jail in 1919. It was vacated in 2009 by the jail authorities. Presently, the fort is being renovated to turn it into a tourist spot. 
Bhadarwah valleys: other notable places that you can visit when you are in Bhadarwah include Chinta valley, Jai valley, Seoj meadow, and Padri. The valleys of Chinta, Jai and Seoj are beautiful meadows that abound in natural beauty. Nature lovers can lose themselves in the breathtaking scenery of these places while adventure sports lovers can enjoy plenty of adventurous activities s in these areas. In Padri, there are numerous picnic spots where you can enjoy a day’s outing amidst the nature. Interestingly, almost every household has a fruit orchard in its backyard in Bhadarwah. You can predominantly spot apple, apricot, peach, plum, and pomegranate trees in this town. Though lesser known in the tourism industry and tourists, Bhadarwah is a beautiful town mostly unexplored. If you love nature, history or are of a religious mind and prefer to visit a place that is devoid of crowd and is not too commercialized, then probably Bhadarwah is a destination that might appeal to you a lot.",
		      "name": "MATA VAISHNO DEVI PATNITOP | BHADARWAH TOUR",
		      "telephone": "+91-7006353219"
		    }
		    </script>
			";i:5;N;}