a:6:{i:0;s:8870:"				<div class="h1"><h1>Shirdi Tour Package</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.geetcompany.com/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.geetcompany.com/holiday-tour-packages.htm" title="Holiday Tour Packages">Holiday Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Shirdi Tour Package</p>
				<br />
				
									<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>
					
					<table class="w100 formTable imgWidth">
					<tr>
					
											<td class="p10px vat imgWidth150 w150px">
						<div class="demo-wrap">
						<ul class="lsn m0px p0px" >
															<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc w150px h150px"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_1/22362/22401.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_1/22362/22401.jpg"  width="150" height="150"    alt="Shirdi Tour Package" title="Shirdi Tour Package" /></a></p></div></li>
															</ul>
						</div>
						</td>
											
					<td class="p10px">
											<p class="mb5px"><b>Duration :</b> 
						3 Nights / 4 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> New Delhi, Shirdi</p>
												<p><b>Price (Starting From) :</b> <span class="dif">On Request</span></p>
												<br />
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.geetcompany.com/travel-inquiry.htm">
						<input type="hidden" name="subject" value="Shirdi Tour Package - 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="6425"/>
						</form>
						</p>
											</td>
					</tr>
					</table>
										<br />
					
					<div class="packageTabs myTabs horizontal mc"><!--MY TABS STARTS-->
					<ul class="fo lsn m0px p0px">
					
											<li id="tab2"><a href="#data2">Itinerary</a></li>
												<li id="tab4"><a href="#data4">Tour Detail</a></li>
												<li id="tab5"><a href="#data5">Rate Card</a></li>
												<li id="tab6"><a href="#data6">Terms &amp; Conditions</a></li>
											</ul>
					
					
											<div class="ic bdr" id="data2"><!--DATA2 START-->
						<br />
						<ul class="lsn m0px p0px">
									<li>
									<p class="b mb5px">Day 1: Departure
									</p>
									<div class="data p10px"><b>1400 </b>Lunch (seal packed food is served) on Board.<br />
<b>15:00 </b>Soft drinks are served.<br />
<b>16:00 </b>Evening Tea on board train with light snacks.<br />
<b>19:30 </b>Dinner on board train. Overnight stay at train.</div>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 2: Arrive Manmad/Koppargaon - Shirdi 
									</p>
									<div class="data p10px"><b>0700 - 0730 </b>Breakfast is served on board.<br />
<b>0815 / 0915 </b>Arrive Manmad / Kopargaon. You are picked up in AC Vehicles & Depart to Shirdi.<br />
<b>1015 </b>Arrive Shirdi, Check in at hotel. AC Rooms are provided.<br />
<br />
Time free at Leisure to Visit Sai Baba Temple.<br />
<br />
<b>13:30 - 14:30 </b>Buffet Lunch at Hotel in Shirdi, Time free at leisure.<br />
<b>20:30 </b>Buffet Dinner & Overnight at hotel.</div>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 3: Shirdi - Signapur - Pune - Delhi
									</p>
									<div class="data p10px"><b>04:00 </b>Optional Attend Kakad Arti.<br />
<b>08:00 </b>Check out from hotel followed by Buffet Breakfast at Hotel.<br />
<b>08:30 </b>Proceed for Shani Siganpur, Shanishignapur (Shanisinghnapur is a village that is the holy seat Lord Shani. Shanisinghnapur is about 70 km from Shirdi.<br />
<b>12:00 </b>Proceed to Pune Lunch is provided enroute at Ahmadnagar (depending upon the timing).<br />
<b>16:00 </b>Arrive Pune Railway station.<br />
<b>17:20 </b>Depart to Delhi, Evening Tea with biscuits is served on board.<br />
<b>20:30 </b>Seal Packed Dinner on board train. Overnight stay in train.</div>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 4: Arrive Delhi
									</p>
									<div class="data p10px"><b>8:00 </b>Morning Tea & Breakfast on board train.<br />
<b>11:00 </b>Cold drink is served.<br />
<b>13:00 </b>Lunch (sealed packed food is served) on Board.<br />
<b>16:00 </b>Evening Tea on board train with light snacks/cookies.<br />
<b>18:00 </b>Cold drink with chips/Namkeen served.<br />
<b>20:15 </b>Arrival at Hazart Nizamudin Railway Station.<br />
<b>20:45 </b>Arrival at New Delhi Station.<br />
Tour end with sweet memories...</div>					
									</li>
									<br />					
							</ul>						<!--DATA2 EMD--></div>
											
						<div class="ic bdr" id="data4"><!--DATA4 START-->
						<br />
						Sai Baba of Shirdi (Unknown - October 15, 1918), also known as Shirdi Sai Baba, was an Indian guru and yogi, regarded by his followers as an incarnation of God. Some of his Hindu devotees believe that he was an incarnation of Shiva or Dattatreya. Many devotees believe that he was a Sadguru. There are many stories and eyewitness accounts of miracles he performed. He is a well-known figure in many parts of the world, but especially in India, where he is much revered. Shirdi is visited by millions of devotees every year. Thinker, preacher and mystical healer, Sai Baba was an ordinary man with an extraordinary gift. As his teaching cuts across all religions and beliefs, pilgrims from all faiths collect to get a sight of the Samadhi Idol.<br />
<br />
Tour Starts with Reporting at New Delhi Rly Station, Delhi. Briefing to Group Members. Board the special 3 AC Charter coach to be attached in Jhelum Express. Departure from New Delhi Railway Station. Guests shall be greeted with welcome Drink on arrival.<br />
Water bottles & Breakfast, Newspapers is provided, followed by Tea. Guests will have the opportunity to take Blessings of Lord Sai Baba & have the Prasad as we designate area in coach for Baba's Worship & Arti. All food is first offered to Baba & then to travelers.							<p class="b mb5px dif">Inclusions :</p>
							<ul>
																	<li>Meals</li>
																				<li>Transfers</li>
																	</ul>
							<br />
													<!--DATA4 EMD--></div>
							
						<div class="ic bdr" id="data5"><!--DATA5 START-->
						<br />
						
    	<div class="otherDetails aj"><ul><li>Confirmed 3 ac seats @ Rs.11,999/- Per person.</li><li>Highlights : 3 AC Train, AC Transport, AC Hotel, Quality train meals, Hotel meals.</li></ul><br>
<br>
<b>Note :</b><br>
<ul><li>All bookings are subject to availability at the time of booking.</li><li>The Package once purchased is non refundable & non transferable.</li><li>Package is subject to operational upon booking of minimum numbers of passengers, Geet & company reserves the right to cancel / modify the package without prior notice.</li><li>The Charter coach is subject to be available from Indian Railways & if in the case its not provided to us, we reserve the right to cancel/postpone the whole trip to a suitable date.</li><li>If booking is cancelled by Geet & Company, Travelers will get the full refund back.</li><li>The Train Timings are subject to change due to operational/technical.</li><li>Requirements of the Railways & we are not liable in case of delays.</li><li>Travelers to have valid photo id proof for Hotel Check in as required by law due to security reasons.</li><li>All incidental expenses like laundry, phone etc. to be charged extra.</li><li>The Package is subject to force de major conditions.</li><li>Travel Chacha will not be responsible for any Medical admittance/Insurance claims due to whatever reason.</li><li>We understand that you have read carefully & agreed all above terms & conditions.</li></ul></div><br>						<!--DATA5 EMD--></div>
												<div class="ic bdr" id="data6"><!--DATA6 START-->
						<br />
						* Some Advance Percentage of total booking amount * Airfare/Transport fare to be paid full at one time in advance.~^#^~* Upon cancellation, refund will be made after deducting the Retention Amount. * Retention Amount varies as per the number of days left before your package start date. ~^#^~						<!--DATA6 EMD--></div>
											
					<!--MY TABS END--></div>
					";i:1;s:58:"Book Shirdi Tour Package - 3 Nights / 4 Days Tour Packages";i:2;s:129:"book shirdi tour package - 3 nights / 4 days tour packages, religious & pilgrimage tour packages, new delhi, shirdi tour packages";i:3;s:175:"Book Shirdi Tour Package - 3 Nights / 4 Days tour packages from Geet & Company - Get attractive 3 Nights / 4 Days Religious & Pilgrimage  tour packages for  New Delhi, Shirdi.";i:4;s:1676:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "New Delhi, Shirdi"        
		                 },
		      "description": "Sai Baba of Shirdi (Unknown - October 15, 1918), also known as Shirdi Sai Baba, was an Indian guru and yogi, regarded by his followers as an incarnation of God. Some of his Hindu devotees believe that he was an incarnation of Shiva or Dattatreya. Many devotees believe that he was a Sadguru. There are many stories and eyewitness accounts of miracles he performed. He is a well-known figure in many parts of the world, but especially in India, where he is much revered. Shirdi is visited by millions of devotees every year. Thinker, preacher and mystical healer, Sai Baba was an ordinary man with an extraordinary gift. As his teaching cuts across all religions and beliefs, pilgrims from all faiths collect to get a sight of the Samadhi Idol.

Tour Starts with Reporting at New Delhi Rly Station, Delhi. Briefing to Group Members. Board the special 3 AC Charter coach to be attached in Jhelum Express. Departure from New Delhi Railway Station. Guests shall be greeted with welcome Drink on arrival.
Water bottles & Breakfast, Newspapers is provided, followed by Tea. Guests will have the opportunity to take Blessings of Lord Sai Baba & have the Prasad as we designate area in coach for Baba's Worship & Arti. All food is first offered to Baba & then to travelers.",
		      "name": "Shirdi Tour Package",
		      "telephone": "+91-9896771268"
		    }
		    </script>
			";i:5;N;}