VIA Rail Trains in Canada | Tickets & Schedule - CANADA TRAINS (2024)

VIA Rail Trains in Canada | Tickets & Schedule - CANADA TRAINS (1) Find your train and book train tickets with Rail.Ninja® - a global independent online reservation service agency for train tickets

`); }); if($('.train-search-block').hasClass('round-trip') && selectedDates.length === 1) { $('.date-wrapper').append(`

`); } } } }; let datePicker = $("#searchDate").flatpickr(flatpickrOptions); $('.date-wrapper .date').append(`${datePicker.formatDate(firstDate, "d")}${datePicker.formatDate(firstDate, "M")}`); const renderErrorMessage = () => { let messages = []; $('.search-error-message').remove(); Object.keys(errors).forEach(key => messages.push(errors[key])); $('.train-search-form').append(`

${errorsMessages.hasError} ${messages.join(', ')}

`); }; const removeErrorAndUpdate = ($element) => { $element.removeClass('error-validation'); delete errors[$element.attr('class')]; $('.search-error-message').remove(); if (Object.entries(errors).length !== 0) { renderErrorMessage(); } }; $('input[type=radio][name=form-mode]').change(function () { if (this.value === link.mode.basic) { if (datePicker.selectedDates.length === 2) { datePicker.selectedDates.pop(); } if (errors['search-date']) { removeErrorAndUpdate($('.search-date')); } datePicker.set('mode', 'single'); datePicker.set('showMonths', 1); datePicker.destroy(); flatpickrOptions.defaultDate = firstDate; datePicker = $("#searchDate").flatpickr(flatpickrOptions); $('.date-wrapper').html(''); $('.date-wrapper').append(`

${datePicker.formatDate(firstDate, "d")}${datePicker.formatDate(firstDate, "M")}

`); $('.train-search-block').removeClass('round-trip'); } else if (this.value === link.mode.roundtrip) { firstDate = datePicker.selectedDates[0]; datePicker.set('mode', 'range'); if ($(window).width() > 725) { datePicker.set('showMonths', 2); } if ($('.date-wrapper .date').length < 2) { datePicker.open(); $('.date-wrapper').append(`

`); } $('.train-search-block').addClass('round-trip'); } }); $('.search-date').click(function () { datePicker.open(); }); $('.passengers-value').click(function () { $('.passengers-dropdown').show(); }); const quantityMinus = $('.quantity-counter .counter-minus'); const quantityPlus = $('.quantity-counter .counter-plus'); let passengersCount = 1; const getChildrenAgeWrapper = (number) => { return `

Child ${number}

`; }; quantityMinus.click(function (e) { e.preventDefault(); const input = $(this).siblings('.counter-input'); const isAdultsQuantity = $(this).closest('.quantity').hasClass('quantity-adults'); let value = input.val(); let minValue = 0; if (isAdultsQuantity) { minValue = 1; } if (value > minValue && passengersCount > 1) { value--; passengersCount--; input.val(value); } if (isAdultsQuantity) { $('.passengers-value .adults').html('×' + value); } else { const childrenLabel = $('.passengers-value .children'); if (value === 0 && childrenLabel.length !== 0) { childrenLabel.remove(); } else { childrenLabel.html('×' + value); } $('.children-age-wrapper').last().remove(); } }); quantityPlus.click(function (e) { e.preventDefault(); const input = $(this).siblings('.counter-input'); const isAdultsQuantity = $(this).closest('.quantity').hasClass('quantity-adults'); let value = input.val(); if (passengersCount < 9) { value++; passengersCount++; input.val(value); if (isAdultsQuantity) { $('.passengers-value .adults').html('×' + value); } else { if ($('.passengers-value .children').length === 0) { $('.passengers-value').append(''); } $('.passengers-value .children').html('×' + value); $('.passengers-dropdown-column').last().append(getChildrenAgeWrapper(value)); let choicesChildrenAge = new Choices('.choice-children-age', { searchEnabled: false, itemSelectText: '', shouldSort: false, }); } } }); const getDefaultRoutesIds = () => { const routes = ['departureStation', 'arrivalStation'].map(routeId => { const routeElement = document.getElementById(routeId); return routeElement ? routeElement.innerText.toLocaleLowerCase() : null; }).filter(route => route); if (routes.length) { return routes.map(route => cities.find(city => city.label.toLocaleLowerCase() === route)?.value); } return []; }; const defaultRoutesIds = getDefaultRoutesIds();const route1 = defaultRoutesIds[0] || '';const route2 = defaultRoutesIds[1] || '';const getChoicesOptions = (placeholder, station1, station2) => { const filteredCities = cities .filter(city => city.value !== station2) .map(city => { if (city.value === station1) { return { ...city, selected: true }; } return city; }); return { itemSelectText: '', searchPlaceholderValue: placeholder, searchInputMoveToTop: true, shouldSort: false, choices: [ { label: '', value: '', placeholder: true, selected: true, disabled: true, }, ...filteredCities, ], };};const departureChoices = new Choices('.departure > .choice-station', getChoicesOptions('From', route1, route2));const arrivalChoices = new Choices('.arrival > .choice-station', getChoicesOptions('To', route2, route1)); $('.stations .choice-station').on('choice', function(event) { const citiesFilter = cities.filter(city => city.value !== event.detail.choice.value); if ($(this).closest('.choices').parent().hasClass('departure')) { arrivalChoices.setChoices(citiesFilter, 'value', 'label', true); } else { departureChoices.setChoices(citiesFilter, 'value', 'label', true); } }); function isTouchDevice() { return 'ontouchstart' in window || navigator.maxTouchPoints; } if (isTouchDevice()) { $('.search-inputs').on('touchstart', '.children-age-select .choices', function () { $(this).click(); }); } $('.search-inputs').on('change', '.search-date.error-validation, .stations.error-validation, .passengers.error-validation', function () { removeErrorAndUpdate($(this)); }); $('.search-inputs').on('click', '.passengers.error-validation .counter-minus, .passengers.error-validation .counter-plus', function () { removeErrorAndUpdate($('.passengers')); }); $('.train-search-form').submit(function (e) { e.preventDefault(); const formMode = $("input[name='form-mode']:checked").val(); const firstDateFormatted = datePicker.formatDate(firstDate, "Y-m-d"); let secondDateFormatted; if (formMode === link.mode.roundtrip) { if (datePicker.selectedDates[1]) { secondDateFormatted = datePicker.formatDate(datePicker.selectedDates[1], "Y-m-d"); } else { $('.search-date').addClass('error-validation'); errors['search-date'] = errorsMessages.noSecondDate; } } let stations = ''; const choicesStation = $('.choice-station option'); const departureStation = choicesStation.eq(0).attr('value'); const arrivalStation = choicesStation.eq(1).attr('value'); if (departureStation && arrivalStation) { stations = `&${link.departure(1)}=${departureStation}&${link.arrival(1)}=${arrivalStation}&${link.date(1)}=${firstDateFormatted}`; if (formMode === link.mode.roundtrip) { stations += `&${link.departure(2)}=${arrivalStation}&${link.arrival(2)}=${departureStation}&${link.date(2)}=${secondDateFormatted}` } } else { $('.stations').addClass('error-validation'); errors['stations'] = errorsMessages.noStations; } const adultsCount = $('input[name="adultsCounter"]').val(); const adults = `&${link.adults}=${adultsCount}`; let children = ''; let childrenAge = ''; const childrenCount = $('input[name="childrenCounter"]').val(); if (childrenCount > 0) { children = `&${link.children}=${childrenCount}`; const childrenWrappers = $('.children-age-wrapper'); for (let i = 0; i < childrenCount; i++) { const age = childrenWrappers.eq(i).find('.choices__item').attr('data-value'); if (age >= 0) { childrenAge += `&${link.childrenAge(i)}=${age}`; } else { $('.passengers').addClass('error-validation'); errors['passengers'] = errorsMessages.noChildrenAge; } } } const utmStations = `${$('.stations input.choices__input').eq(0).val()}-${$('.stations input.choices__input').eq(1).val()}`; const utmLink = `&query[${link.utmSource.name}]=${link.utmSource.value}&query[${link.utmMedium.name}]=${link.utmMedium.value}&query[${link.utmTerm.name}]=${utmStations}&query[${link.utmCampaign.name}]=${link.utmCampaign.value}`; if (Object.entries(errors).length !== 0) { renderErrorMessage(); return; } const redirectLink = `${domain}/?${link.mode.name}=` + formMode + stations + adults + children + childrenAge + utmLink; window.open(redirectLink, "_blank"); }); $('html, body').click(function (event) { if (!$(event.target).closest('.passengers').length && $('.passengers-dropdown').is(':visible')) { $('.passengers-dropdown').hide(); } }); $('.swap-stations').click(function () { const departureStation = $('.departure input.choices__input').val(); const departureCode = $('.departure select.choice-station option').val(); const arrivalStation = $('.arrival input.choices__input').val(); const arrivalCode = $('.arrival select.choice-station option').val(); $('.departure input.choices__input').val(arrivalStation); $('.arrival input.choices__input').val(departureStation); $('.departure select.choice-station option').val(arrivalCode); $('.arrival select.choice-station option').val(departureCode); const departureCitiesFilter = cities.filter(city => { if (city.value === +arrivalCode) { city.selected = true; } if (city.value !== +departureCode) { return city; } }); const arrivalCitiesFilter = cities.filter(city => { if (city.value === +departureCode) { city.selected = true; } if (city.value !== +arrivalCode) { return city; } }); departureChoices.setChoices(departureCitiesFilter, 'value', 'label', true); arrivalChoices.setChoices(arrivalCitiesFilter, 'value', 'label', true); }); $(window).resize(() => { let date = datePicker.selectedDates; if ($('#oneWayTrip').is(':checked')) { datePicker.set('mode', 'single'); datePicker.set('showMonths', 1); datePicker.destroy(); datePicker = $("#searchDate").flatpickr(flatpickrOptions); } else { if ($(window).width() > 725) { datePicker.set('showMonths', 2); } else { datePicker.set('showMonths', 1); datePicker.destroy(); datePicker = $("#searchDate").flatpickr(flatpickrOptions); } datePicker.set('mode', 'range'); } datePicker.setDate(date); }); });

VIA Rail Trains in Canada | Tickets & Schedule - CANADA TRAINS (2024)

FAQs

How much does a train ticket across Canada cost? ›

How much does it cost to ride the train across Canada? The cost varies between routes and the time of year but for the 2024 season for travel between Toronto and Vancouver, it will cost around CAD $2500 per person in the winter months and $4500 per person in the summer months for a Sleeper Plus cabin.

What is the best train trip in Canada? ›

Canada Coast to Coast by Train

The Coast to Coast by train tops the list of best Canadian rail trips. You'll see the country's top highlights, including Peggy's Cove, Niagara Falls and Lake Louise. This trip includes time on VIA Rail, in a sleeper cabin, and on the Rocky Mountaineer.

How much does it cost to ride the train from Toronto to Vancouver? ›

Toronto to Vancouver Train Information

​There is normally 1 train per day travelling from Toronto to Vancouver and tickets for this journey start from $529 when you book in advance.

How long does it take to cross Canada on VIA Rail? ›

Without stops, it takes five to six days to cross Canada by train, if you go coast to coast. Travelling between Toronto and Vancouver takes four days.

Where do you put your luggage on VIA Rail? ›

Please only bring baggage that you can carry and store unassisted (under the seat in front of you, on the overhead shelf or in the towers). For security reasons, checked baggage is not allowed on board without its owner.

Is it worth taking the train across Canada? ›

Travelling across Canada onboard a VIA Rail train is absolutely worth the time and money. Taking the train is the best way to experience the country and discover the diverse landscape, especially if it is your first time visiting Canada. What is the best Canadian Rockies train trip with The Canadian Train?

Which is better VIA Rail or Rocky Mountaineer? ›

With its more affordable ticket options and comprehensive network covering various destinations, VIA Rail offers a cost-effective means to explore the stunning landscapes of the Rockies. On the other hand, if you're seeking luxury and indulgence amidst breathtaking scenery, Rocky Mountaineer beckons.

Can you hop on and off the Canadian train? ›

It is of course also possible to board the Canadian at the stops in-between these two cities, e.g. Kamloops, Jasper, Edmonton, Saskatoon, Winnipeg, or Sudbury Junction, or hop on/off as I did, spending a few days in each city (so long as you book the journeys individually).

What train goes all the way across Canada? ›

From Toronto, VIA Rail's iconic train, the Canadian, takes riders on a magical, five-day, four-night, 2,775-mile journey across four time zones and five provinces.

How early should I arrive for VIA Rail? ›

Before the Trip

It's best to arrive at the station half an hour before departure for travel within the Corridor, and one hour before departure for long distance trains.

Can you shower on VIA Rail? ›

Yes, there are washrooms on every VIA Rail train. There are showers on some of our trains, depending on the route. For long distance trains (e.g. the Canadian and the Ocean), private washrooms and shared shower rooms are available for cabins. Berths have access to a shared washroom and a shared shower room in each car.

What is the difference between economy and economy plus on VIA Rail? ›

Economy Plus Class offers an upgraded experience compared to Economy Class. Passengers in this class benefit from enhanced seating comfort, including additional legroom and wider seats. This class is an excellent option for those seeking a bit more comfort and amenities at an affordable price.

Can I bring my own food on VIA Rail? ›

You can bring your own snacks and non-alcoholic drinks on the train. We also offer a selection of refreshments and food, prepared with carefully selected local products from Canadian artisans. Visit our meals section for more information about the options available for your class of service and route.

What is the dress code for VIA Rail in Canada? ›

Dress code on the train is casual, even for dinner in our dining car. You may want to bring a sweater as temperatures on the train may vary.

Can you sleep in economy on VIA Rail? ›

Economy class

Spread out and let the gentle motion of the train rock you to sleep while you glide through the wilderness. Extra blankets and pillows can be purchased.

How much do Canadian train vacations cost? ›

Our packages with The Canadian train start at $5,280 and include the train, your meals on the train, your hotels before and after the train tour, transfers to and from the airport or hotel, sightseeing tours and activities, and some additional meals.

How much is the luxury Canadian sleeper train? ›

The Toronto to Vancouver sleeper train cost depends on the train class you select and the date you choose to travel. Fares for a cabin for two in Sleeper Plus Class start at approximately $2000 per person. Fares for Prestige Class cabins start at approximately $5000 per person. VIA Rail fares are subject to change.

Is train travel cheap in Canada? ›

Travelling across Canada by train can be expensive, but there are ways to save money. If your dates are flexible, check out the sleeper plus class discounts on VIA Rail's website (It's not easy to find). Some of the deals are very good.

Can you take a train across the Canadian border? ›

How do you get from the US to Canada by Train? Amtrak is the service provider for a US to Canada train trip. Its Amtrak Maple Leaf takes passengers from New York City to Toronto via the Empire Corridor, through the spectacular Hudson River Valley and the Finger Lakes region.

References

Top Articles
Latest Posts
Article information

Author: Terence Hammes MD

Last Updated:

Views: 6097

Rating: 4.9 / 5 (69 voted)

Reviews: 84% of readers found this page helpful

Author information

Name: Terence Hammes MD

Birthday: 1992-04-11

Address: Suite 408 9446 Mercy Mews, West Roxie, CT 04904

Phone: +50312511349175

Job: Product Consulting Liaison

Hobby: Jogging, Motor sports, Nordic skating, Jigsaw puzzles, Bird watching, Nordic skating, Sculpting

Introduction: My name is Terence Hammes MD, I am a inexpensive, energetic, jolly, faithful, cheerful, proud, rich person who loves writing and wants to share my knowledge and understanding with you.