a:6:{i:0;s:21639:"				<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>Special Bhutan Package for 5 Days Tour</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.omtoursandtravels.net/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.omtoursandtravels.net/holiday-packages.htm" title="Holiday Packages">Holiday Packages</a>  			
											
					<b class="ffv p2px">&rsaquo;</b>Special Bhutan Package for 5 Days Tour</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>Duration :</b> 
						4 Nights / 5 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Thimphu, Paro</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.omtoursandtravels.net/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Special Bhutan Package for 5 Days 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="113082"/>
						</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/487940/185214.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_17/487940/185214.jpg"  height="150"  width="150"    alt="Special Bhutan Package for 5 Days Tour" title="Special Bhutan Package for 5 Days 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>
													
								Accommodation on twin sharing.<br />
Daily Breakfast .<br />
All transfers and sightseeings as per itinerary in Non A/C vehicle<br />
All hotel taxesServices other than specified.<br />
Airfare and train fare.<br />
Entrance fee at the monumental sites during the sightseeing<br />
Guide during the sightseeing<br />
Any expenses of personal nature such as drinks, laundry, telephone/fax calls.<br />
Any expenses caused by reasons beyond our control such as flight delays, rescheduling or cancellations, any accidents, medical evacuations, riots, strikes, etc.<br />
5.0 % Government service tax<br />
Any tips to drivers, hotel staff, any meals apart from the ones mentioned above.<br />
Any other tax or service charge that could be enforced during this period will be extra & need to borne by you.								</div>
								<br />
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Inclusions</p>
								</div>
												
								<ul>
																			<li>Hotel</li>
																						<li>3 Star Hotel</li>
																						<li>Meals</li>
																			</ul>
								</div>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Exclusions</p>
								</div>
								
								<ul><li>Services other than specified.</li><li>
Airfare and train fare.</li><li>
Entrance fee at the monumental sites during the sightseeing</li><li>
Guide during the sightseeing</li><li>
Any expenses of personal nature such as drinks, laundry, telephone/fax calls.</li><li>
Any expenses caused by reasons beyond our control such as flight delays, rescheduling or cancellations, any accidents, medical evacuations, riots, strikes, etc.</li><li>
5.0 % Government service tax</li><li>
Any tips to drivers, hotel staff, any meals apart from the ones mentioned above.</li><li>
Any other tax or service charge that could be enforced during this period will be extra & need to borne by you.</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="headHr p5px b">Package cost</td>
				<td class="headHr p5px b">3 Star</td>
			</tr>
			<tr>
				<td class="data p5px">Per Person(min 2 pax required)</td>
				<td class="data p5px">15380</td>
			</tr>
			<tr>
				<td class="data p5px">Extra Adult</td>
				<td class="data p5px">4410</td>
			</tr>
			<tr>
				<td class="data p5px">Per Person(min 4 pax required)</td>
				<td class="data p5px">10309</td>
			</tr>
			<tr>
				<td class="data p5px">Per Person(min 4 pax required)</td>
				<td class="data p5px">8600</td>
			</tr>
			<tr>
				<td class="data p5px">Child With Bed(5-12 yrs)</td>
				<td class="data p5px">4410</td>
			</tr>
			<tr>
				<td class="data p5px">Child Without Bed(5-12 yrs)</td>
				<td class="data p5px">3528</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="headHr p5px b">Destination</td>
				<td class="headHr p5px b">No of Nights</td>
				<td class="headHr p5px b">3 Star</td>
			</tr>
			<tr>
				<td class="data p5px">Thimphu</td>
				<td class="data p5px">2</td>
				<td class="data p5px">Hotel Bhutan / similar hotels</td>
			</tr>
			<tr>
				<td class="data p5px">Paro</td>
				<td class="data p5px">2</td>
				<td class="data p5px">Sinchula Villa / 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>45 - 31 days : 25% of the Tour Cost</li>
	<li>30- 16 days : 50% of the Tour Cost</li>
	<li>15 - 0 days : 100% of the Tour Cost</li>
</ul>

<p><strong>Terms and Conditions</strong>

<ul>
	<li>For Extra adult in the room we will provide an extra bed wherever possible), but some hotels only provide a roll out bed and have no provision of an extra bed</li>
	<li>Operator reserves the right to re-arrange itinerary to suit hotel availability without changing the total number of days in each destination and without compromising any services</li>
	<li>The vehicle used is NAC and is available for point to point services only and is not at disposal. Clients are requested to follow the timings in the program.</li>
	<li>In case any services are miss due to delay in departure, the operator will not be responsible for any refunds</li>
	<li>Child sharing parents room will not be provided an extra bed.</li>
	<li>In case of unavailability in mentioned hotels, alternate accommodation will be arranged in a similar category hotel</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.omtoursandtravels.net/packages-in-shimla.htm" title="Packages in Shimla">Shimla</a> <b class="alpha50 bn small">(8)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.omtoursandtravels.net/packages-in-gangtok.htm" title="Packages in Gangtok">Gangtok</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.omtoursandtravels.net/packages-in-manali.htm" title="Packages in Manali">Manali</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.omtoursandtravels.net/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.omtoursandtravels.net/packages-in-kalimpong.htm" title="Packages in Kalimpong">Kalimpong</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.omtoursandtravels.net/packages-in-pelling.htm" title="Packages in Pelling">Pelling</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.omtoursandtravels.net/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 "><a class="dif" href="http://www.omtoursandtravels.net/packages-in-leh-ladakh.htm" title="Packages in Leh Ladakh">Leh Ladakh</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.omtoursandtravels.net/packages-in-paro.htm" title="Packages in Paro">Paro</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.omtoursandtravels.net/packages-in-singapore-city.htm" title="Packages in Singapore">Singapore</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.omtoursandtravels.net/packages-in-bhuj.htm" title="Packages in Bhuj">Bhuj</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.omtoursandtravels.net/packages-in-kuala-lumpur.htm" title="Packages in Kuala Lumpur">Kuala Lumpur</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.omtoursandtravels.net/packages-in-alleppey.htm" title="Packages in Alleppey">Alleppey</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.omtoursandtravels.net/packages-in-thimphu.htm" title="Packages in Thimphu">Thimphu</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.omtoursandtravels.net/packages-in-chandigarh-city.htm" title="Packages in Chandigarh City">Chandigarh City</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.omtoursandtravels.net/packages-in-kanyakumari.htm" title="Packages in Kanyakumari">Kanyakumari</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.omtoursandtravels.net/packages-in-thekkady.htm" title="Packages in Thekkady">Thekkady</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.omtoursandtravels.net/packages-in-pokhara.htm" title="Packages in Pokhara">Pokhara</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.omtoursandtravels.net/packages-in-port-louis.htm" title="Packages in Port Louis">Port Louis</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.omtoursandtravels.net/packages-in-dharamshala.htm" title="Packages in Dharamshala">Dharamshala</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.omtoursandtravels.net/packages-in-colombo.htm" title="Packages in Colombo">Colombo</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.omtoursandtravels.net/packages-in-nuwara-eliya.htm" title="Packages in Nuwara Eliya">Nuwara Eliya</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.omtoursandtravels.net/packages-in-madurai.htm" title="Packages in Madurai">Madurai</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.omtoursandtravels.net/packages-in-punakha.htm" title="Packages in Punakha">Punakha</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.omtoursandtravels.net/packages-in-kutch.htm" title="Packages in Kutch">Kutch</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.omtoursandtravels.net/packages-in-langkawi.htm" title="Packages in Langkawi">Langkawi</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.omtoursandtravels.net/packages-in-kovalam.htm" title="Packages in Kovalam">Kovalam</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.omtoursandtravels.net/packages-in-kathmandu.htm" title="Packages in Kathmandu">Kathmandu</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.omtoursandtravels.net/packages-in-surendranagar.htm" title="Packages in Surendranagar">Surendranagar</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.omtoursandtravels.net/packages-in-mandvi.htm" title="Packages in Mandvi">Mandvi</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="http://www.omtoursandtravels.net/beach-islands-holidays-catid.htm" title="Beach and Islands Packages">Beach and Islands</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.omtoursandtravels.net/lakes-rivers-holidays-catid.htm" title="Lakes & Rivers Packages">Lakes & Rivers</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.omtoursandtravels.net/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.omtoursandtravels.net/paragliding-holidays-catid.htm" title="Paragliding Packages">Paragliding</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.omtoursandtravels.net/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.omtoursandtravels.net/heritage-holidays-catid.htm" title="Heritage Packages">Heritage</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 Thimphu, Paro</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.omtoursandtravels.net/tour-packages/thimpu-paro-punakha2-star-package-for6-days-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_17/487940/185199.jpg"  height="100"  width="100"    alt="Thimpu, Paro & Punakha 2 star Package for 6 Days Tour" title="Thimpu, Paro & Punakha 2 star Package for 6 Days Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.omtoursandtravels.net/tour-packages/thimpu-paro-punakha2-star-package-for6-days-tour.htm" title="Thimpu, Paro & Punakha 2 star Package for 6 Days Tour"><h3>Thimpu, Paro & Punakha 2 Star Package For ..</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> : 
								5 Nights / 6 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Thimphu, Paro, Punakha</p>
															<div class="mt10px small">
							<form name="pkg_113077" id="pkg_113077" method="post" action="http://www.omtoursandtravels.net/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.omtoursandtravels.net/tour-packages/thimpu-paro-punakha2-star-package-for6-days-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Thimpu, Paro & Punakha 2 star Package for 6 Days 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="113077"/>
							</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:77:"Book Special Bhutan Package for 5 Days Tour - 4 Nights / 5 Days Tour Packages";i:2;s:128:"book special bhutan package for 5 days tour - 4 nights / 5 days tour packages, valley tour packages, thimphu, paro tour packages";i:3;s:165:"Om Tours And Travels offers Special Bhutan Package for 5 Days Tour - 4 Nights / 5 Days tour package, budget Valley tour packages for Thimphu, Paro at exciting price.";i:4;s:1169:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Thimphu, Paro"        
		                 },
		      "description": "Accommodation on twin sharing.
Daily Breakfast .
All transfers and sightseeings as per itinerary in Non A/C vehicle
All hotel taxesServices other than specified.
Airfare and train fare.
Entrance fee at the monumental sites during the sightseeing
Guide during the sightseeing
Any expenses of personal nature such as drinks, laundry, telephone/fax calls.
Any expenses caused by reasons beyond our control such as flight delays, rescheduling or cancellations, any accidents, medical evacuations, riots, strikes, etc.
5.0 % Government service tax
Any tips to drivers, hotel staff, any meals apart from the ones mentioned above.
Any other tax or service charge that could be enforced during this period will be extra & need to borne by you.",
		      "name": "Special Bhutan Package for 5 Days Tour",
		      "telephone": "+91-9893003987"
		    }
		    </script>
			";i:5;N;}