a:6:{i:0;s:32381:"						<section class="headBg theme2 ">
						<div class="wrap">
						<div class="page-title-inner fo"> 
						<div class="h1"><h1>Splendid Canada Tour</h1></div>
						<p class="breadcrumb ar uu small"><a href="http://www.thetravelxpress.com/" title="Home">Home</a>
						
													<b class="ffv p2px">&rsaquo;</b><a href="http://www.thetravelxpress.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>
								
						<b class="ffv p2px">&rsaquo;</b> Splendid Canada 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> 
						10 Nights / 11 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Vancouver, Quebec, Toronto, Montreal</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.thetravelxpress.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Splendid Canada 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="193275"/>
						</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_22/656975/305330.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_22/656975/305330.jpg"  width="150" height="82"    alt="Splendid Canada Tour" title="Splendid Canada 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>
													
								Canada comes alive with a number of diverse experiences in this Splendid Canada tour package. Explore Vancouver with a guided city tour; feel your heart thump as you cross the 230-feet high Suspension Bridge and climb the Cliffwalk at the Capilano Suspension Bridge Park; and enjoy an amazing Peak-to-Peak Gondola ride at Whistler. Marvel at the heights of Mt. Robson and the depths of the Maligne Canyon, the icy terrain of the Columbia Ice-field Centre and the lush greens of the Banff National Park, the quaint charm of Quebec City and the sophistication of Toronto. A day in the midst of the famous Niagara Falls adds to the overall experience of this Splendid Canada tour.								</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> Vancouver
										</p>
										<p class="aj">On arrival at Vancouver, a Local representative will meet-and-greet you, right outside the baggage hall and assist you to your Hotel for check-in. Surrounded by an ocean backdrop of lush rainforest, snow-capped mountains and fjord, this ‘city of nature’ is one of the most beautiful metropolises in the world! Rest, relax and refresh for your incredible journey ahead! Return to your hotel rooms for overnight stay. Overnight in Vancouver</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> Vancouver
										</p>
										<p class="aj">After breakfast, enjoy a splendid Vancouver City Tour that includes visits to attractions such as Canada Place, Robson Street, Public Library, Theatres, Sports Venues, Chinatown and Gastown. Visit the Capilano Suspension Bridge Park, a 27-acre park in a west coast rainforest. Experience the thrill of crossing the 450 Feet long Capilano Suspension Bridge, suspended 230 feet above the Capilano River. Another adrenaline-pumping experience that awaits you here is the latest addition – the CLIFFWALK, a single-direction walkway jutting out of a cliff face above 90 meters above the river – this attraction is worth the trip alone. Shop and snack under the evergreens before continuing on to Stanley Park and Cleveland Dam. Later, explore Granville Island with its public market, shops, eateries and galleries along the water. Return to your hotel in Vancouver for overnight stay. Overnight in Vancouver (Breakfast)</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> Vancouver to Whistler
										</p>
										<p class="aj">After breakfast, checkout from the hotel and proceed to board the bus for an exciting drive to Whistler via the Lion’s Gate Bridge. Take the road to the 2010 Winter Olympics and begin your journey into the “Sea to Sky” corridor. Enjoy a quick coffee and restroom break along the way to stretch your legs, smell the sea air, grab a cup of coffee and marvel at gorgeous scenery. The road follows the Cheakamus river. From here, it is a slow climb to 600 meters (2000 feet) above sea level and the Whistler Valley. Enjoy an hour here on your own, to explore this mountain ski village. Experience a thrilling ride on the Whistler-Blackcomb’s mountain Peak-to-Peak Gondola. This ride boasts of the longest unsupported lift span in the world. Return to your hotel rooms for overnight stay. Overnight in Whistler (Breakfast)</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> Whistler to Kamloops
										</p>
										<p class="aj">After breakfast, checkout from the hotel and proceed to board the bus for the next leg of the tour to Kamloops. We will arrive in Kamloops by late afternoon. Located in the heart of British Columbia’s interior, surrounded by the fascinating, hillside landscape of Canada’s only semi-arid desert, Kamloops is one of the hubs of the province. The name itself, Kamloops, is derived from a Shuswap Indian word meaning ‘meeting place’, referring to the joining of the North and South Thompson Rivers on which the town is located. Overnight in Kamloops (Breakfast)</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> Kamloops to Jasper
										</p>
										<p class="aj">After breakfast, checkout from the hotel, say Bonjour to BC and begin your journey into Alberta State. En-route, stop at Mt Robson, the highest peak in the Canadian Rockies, before arriving into Jasper. Drive through Jasper National Park and see the Maligne Canyon’s narrow gorge and limestone walls, which fall to a fifty-metre drop. Check-in at your hotel in Jasper Overnight in Jasper (Breakfast)</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> Columbia Icefield Tour
										</p>
										<p class="aj">After breakfast, checkout from the hotel and enjoy a short trek to Athabasca Falls before proceeding south to the Stutfield Glacier on Mount Kitchener and Tangle Falls in the Sunwapta Valley. At the Columbia Ice-field Centre, we will board a Giant All-terrain Ice Explorer for a chance to see one of the largest accumulations of ice and snow south of the Arctic Circle. This massive 325 sq km Ice-field is a true hydrological apex with run offs that feeds into the Arctic, Antarctic and Pacific oceans. Proceed to Banff National Park, where you can enjoy scenic stops at the glacier-fed Peyto Lake and the Crowfoot Glacier. We travel on to Lake Louise – “The Jewel of the Canadian Rockies”. Situated at the base of impressive glacier clad peaks, Lake Louise is a quintessential symbol of the Canadian Mountain scene. Do not forget to capture your memories on camera! We depart for Banff in the early evening. On arrival, check-in at your hotel. Overnight in Banff (Breakfast)</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> Banff to Calgary
										</p>
										<p class="aj">After breakfast, we proceed to tour Banff, a town set amongst the towering mountains of Mount Rundle, Mount Sulphur, Mount Tunnel, Mount Cascade and Mount Norquay within the Banff National Park. Visit the classic viewpoint of Surprise Corner along Tunnel Mountain Drive; ride the Banff Gondola (included in tour price) in a four-passenger-car for 8-minutes to the summit of Sulphur Mountain for a 360-degree panorama of the Bow Valley. we depart to CALGARY via Kananaskis-, where you can enjoy a 12-minute Summit Helicopter Tour for an exquisite bird’s eye-view of the Rockies. On arrival at Calgary, enjoy an orientation tour of the heritage park and the Olympics Park. Later, proceed to hotel for check-in and overnight stay. Overnight in CALGARY (Breakfast)</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> Calgary to Montreal (by Air 4 hrs 15 minutes)
										</p>
										<p class="aj">After breakfast, checkout from the hotel and proceed to Calgary Airport to board your flight to Montreal – the gem of the St. Lawrence River. On arrival at the Montreal Airport, board the transfer to your hotel for check-in. In the evening shop around in the Shopper’s paradise, which is filled with multi-level malls such as Centre Eaton. Overnight in Montreal (Breakfast)</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 9:</b> Montreal To Quebec City Sightseeing
										</p>
										<p class="aj">After breakfast, enjoy a full-day tour to Quebec City – the capital of Quebec Province and the oldest settlement in North America. The charming streets and neighbourhoods are steeped in history and you will fall in love with the atmosphere, romance, melancholy, eccentricity and intrigue of this ‘very European’ city. Highlights of today’s tour include the picturesque Place Royale, Notre Dame Basilica, Plains of Abraham, Parliament and Ile d’Orleans. Quebec City is North America’s only walled city north of Mexico City. UNESCO proclaimed the entire Old City as a World Heritage Site and the city celebrated its 400th birthday in 2008. Return to Montreal in the evening to rest and relax. Overnight in Montreal (Breakfast)</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 10:</b> Montreal To Ottawa (200kms)
										</p>
										<p class="aj">After breakfast, checkout from the hotel and enjoy a Montreal Sightseeing Tour, a comprehensive tour that reveals the charms and wonders of a great world city. Highlights include the Old Port, Mount Royal Lookout, the Olympic Park, McGill University, Chinatown and the Notre Dame Basilica. After the tour, proceed to Ottawa with an en-route stop for lunch (lunch is on your own). On arrival, enjoy an orientation tour of Ottawa where you see the Parliament Hill – the seat of Canada’s National Government. You have the rest of the evening free to explore the charm of Canada’s Capital City. We recommend treating your taste buds to a local delicacy of Ottawa Beaver Tails, whole-wheat dough pastries fried in canola oil. Look out for the Beavertails stand in the Byward Market. Check-in at hotel for overnight stay. Overnight in Ottawa (Breakfast)</p>
										</td>
										</tr>
										</table>					
										</div><div id="show_more_content" style="display:none;">
											<div class="data">
											<table class="w100 formTable bdr0 imgWidth">
											<tr>
											<td class="p10px vat">
											<p class="b large mb5px"><b class="dif">Day 11:</b> Ottawa to Toronto (Rail) transfer to Niagara Falls (128 kms)
											</p>
											<p class="aj">After an early breakfast, checkout from the hotel and enjoy a splendid experience of VIA RAIL to Toronto and proceed thereon to Niagara Falls through the towns of Hamilton, St. Catharine’s and the wine region of the Niagara Peninsula. There are dozens of taller waterfalls in the world, but in terms of sheer volume, these falls are unbeatable. The Falls give off a round-the-clock roar, a refreshing – and surprisingly far-reaching – mist and a reminder of just how wondrous our natural world is. Niagara Falls is the collective name for three waterfalls that straddle the international border between the Canadian province of Ontario and the U.S. state of New York. This evening is free to explore Niagara Falls, one of the world’s natural wonders. Overnight in Niagara Falls (Breakfast)</p>
											</td>	
											</tr>
											</table>				
											</div>					
									</div>									<p class="mt10px ac"><a class="buttonBig p5px10px dib b" id="more_button" href="javascript:topDestinationToggle('show_more_content','more_button');" >View More &#9660;</a></p>
																	<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>Return Economy class Domestic & International airfare with taxes</li><li>
12 nights hotel accommodation on twin sharing basis</li><li>
Travel Insurance</li><li>
10 Breakfasts</li><li>
Internal VIA Rail Tickets Ottawa to Toronto</li><li>
All transfers and sightseeing with entrance fees as specified in the itinerary (on SIC basis)</li><li>
Train Ticket as per the itinerary within Canad</li>
																	</ul>
								</div>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Exclusions</p>
								</div>
								
								<ul><li>Any expenses of personal nature</li><li>
Tips and porterage</li><li>
Surcharges as applicable</li><li>
Any services not mentioned in the inclusions list</li><li>
Visa Fees</li><li>
GST as applicable on the date of booking</li><li>
Any changes before travel date by the government in taxes will be applicable in addition to this</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>Upon cancellation, refund will be made after deducting the Retention Amount.</li><li>
Retention Amount varies as per the number of days left before your package start date.</li></ul>			
						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.thetravelxpress.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Splendid Canada 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="193275"/>
						</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.thetravelxpress.com/interlaken-tour-packages.htm" title="Interlaken Tour Packages">Interlaken</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thetravelxpress.com/new-delhi-tour-packages.htm" title="New Delhi Tour Packages">New Delhi</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thetravelxpress.com/bangkok-tour-packages.htm" title="Bangkok Tour Packages">Bangkok</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thetravelxpress.com/singapore-city-tour-packages.htm" title="Singapore Tour Packages">Singapore</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thetravelxpress.com/varanasi-tour-packages.htm" title="Varanasi Tour Packages">Varanasi</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thetravelxpress.com/brisbane-tour-packages.htm" title="Brisbane Tour Packages">Brisbane</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thetravelxpress.com/hong-kong-tour-packages.htm" title="Hong Kong Tour Packages">Hong Kong</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thetravelxpress.com/queensland-tour-packages.htm" title="Queensland Tour Packages">Queensland</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thetravelxpress.com/venice-tour-packages.htm" title="Venice Tour Packages">Venice</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thetravelxpress.com/sydney-tour-packages.htm" title="Sydney Tour Packages">Sydney</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.thetravelxpress.com/pattaya-tour-packages.htm" title="Pattaya Tour Packages">Pattaya</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.thetravelxpress.com/macau-tour-packages.htm" title="Macau Tour Packages">Macau</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.thetravelxpress.com/paris-tour-packages.htm" title="Paris Tour Packages">Paris</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.thetravelxpress.com/dubai-tour-packages.htm" title="Dubai Tour Packages">Dubai</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.thetravelxpress.com/rotorua-tour-packages.htm" title="Rotorua Tour Packages">Rotorua</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.thetravelxpress.com/vancouver-tour-packages.htm" title="Vancouver Tour Packages">Vancouver</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.thetravelxpress.com/kuala-lumpur-tour-packages.htm" title="Kuala Lumpur Tour Packages">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.thetravelxpress.com/rome-tour-packages.htm" title="Rome Tour Packages">Rome</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.thetravelxpress.com/genting-tour-packages.htm" title="Genting Tour Packages">Genting</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.thetravelxpress.com/male-tour-packages.htm" title="Male Tour Packages">Male</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.thetravelxpress.com/nuwara-eliya-tour-packages.htm" title="Nuwara Eliya Tour Packages">Nuwara Eliya</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.thetravelxpress.com/montreal-tour-packages.htm" title="Montreal Tour Packages">Montreal</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.thetravelxpress.com/london-tour-packages.htm" title="London Tour Packages">London</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.thetravelxpress.com/bali-tour-packages.htm" title="Bali Tour Packages">Bali</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.thetravelxpress.com/auckland-tour-packages.htm" title="Auckland Tour Packages">Auckland</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.thetravelxpress.com/colombo-tour-packages.htm" title="Colombo Tour Packages">Colombo</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.thetravelxpress.com/lucerne-tour-packages.htm" title="Lucerne Tour Packages">Lucerne</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.thetravelxpress.com/jaipur-tour-packages.htm" title="Jaipur Tour Packages">Jaipur</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.thetravelxpress.com/cape-town-tour-tour-packages.htm" title="Cape Town Tour Packages">Cape Town</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.thetravelxpress.com/zurich-tour-packages.htm" title="Zurich Tour Packages">Zurich</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="uu db ar"><a class="showallspan" data-target="show" href="javascript:void(0)" >View More</a></span>
										
				</div>
				</div>
				</div>
				</div>
				
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="h h2"><b class="plusMinus"></b>
				<p class="b dif rHead">Packages by Category</p>
				</div>
				<div class="ic showHide_rp">
				<div class="mt10px">
									<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thetravelxpress.com/adventure-holidays-catid.htm" title="Adventure Packages">Adventure</a> <b class="alpha50 bn small">(35)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thetravelxpress.com/cruise-holidays-catid.htm" title="Cruise Packages">Cruise</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thetravelxpress.com/desert-holidays-catid.htm" title="Deserts Packages">Deserts</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thetravelxpress.com/beach-islands-holidays-catid.htm" title="Beach and Islands Packages">Beach and Islands</a> <b class="alpha50 bn small">(27)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thetravelxpress.com/religious-pilgrimage-holidays-catid.htm" title="Religious & Pilgrimage Packages">Religious & Pilgrimage</a> <b class="alpha50 bn small">(12)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thetravelxpress.com/heritage-holidays-catid.htm" title="Heritage Packages">Heritage</a> <b class="alpha50 bn small">(8)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thetravelxpress.com/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thetravelxpress.com/national-parks-holidays-catid.htm" title="National Parks Packages">National Parks</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thetravelxpress.com/valley-holidays-catid.htm" title="Valley Packages">Valley</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thetravelxpress.com/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 spanlist dn"><a class="dif" href="http://www.thetravelxpress.com/safari-holidays-catid.htm" title="Safari Packages">Safari</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.thetravelxpress.com/forts-palaces-holidays-catid.htm" title="Forts and Palaces Packages">Forts and Palaces</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="uu db ar"><a class="showallspan" data-target="show" href="javascript:void(0)" >View More</a></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 Vancouver, Quebec, Toronto, Montreal</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.thetravelxpress.com/holiday-packages/canadian-rockies-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_22/656975/305329.jpg"  alt="Canadian Rockies Tour" title="Canadian Rockies Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.thetravelxpress.com/holiday-packages/canadian-rockies-tour.htm" title="Canadian Rockies Tour"><h3>Canadian Rockies 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> :  British Columbia, Vancouver, Calgary, Mo..</p>
															<div class="mt10px small">
							<form name="pkg_193274" id="pkg_193274" method="post" action="http://www.thetravelxpress.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.thetravelxpress.com/holiday-packages/canadian-rockies-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Canadian Rockies 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="193274"/>
							</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:50:"Book Splendid Canada Tour - 111 Days Tour Packages";i:2;s:127:"book splendid canada tour - 111 days tour packages, adventure tour packages, vancouver, quebec, toronto, montreal tour packages";i:3;s:157:"Travel Xpress offers Splendid Canada Tour - 111 Days tour package, budget Adventure tour packages for Vancouver, Quebec, Toronto, Montreal at exciting price.";i:4;s:1105:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Vancouver, Quebec, Toronto, Montreal"        
		                 },
		      "description": "Canada comes alive with a number of diverse experiences in this Splendid Canada tour package. Explore Vancouver with a guided city tour; feel your heart thump as you cross the 230-feet high Suspension Bridge and climb the Cliffwalk at the Capilano Suspension Bridge Park; and enjoy an amazing Peak-to-Peak Gondola ride at Whistler. Marvel at the heights of Mt. Robson and the depths of the Maligne Canyon, the icy terrain of the Columbia Ice-field Centre and the lush greens of the Banff National Park, the quaint charm of Quebec City and the sophistication of Toronto. A day in the midst of the famous Niagara Falls adds to the overall experience of this Splendid Canada tour.",
		      "name": "Splendid Canada Tour",
		      "telephone": "+91-9910770030"
		    }
		    </script>
			";i:5;N;}