Vancouver to Toronto Trains | Tickets & Schedule - CANADA TRAINS (2024)

Vancouver to Toronto Trains | 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); }); });

Vancouver to Toronto Trains | Tickets & Schedule - CANADA TRAINS (2024)

FAQs

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

Information on this train trip
Daily Trains1
Minimum Price$464
Average Ticket Price$466
Minimum Trip Duration3d20h
Average Train Trip Duration3d20h
3 more rows

Are trains running from Vancouver to Toronto? ›

Trains between Vancouver and Toronto are available daily, and the journey takes an average of 3 days, 20 hours and 29 minutes.

How much does the Canadian Sleeper train 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.

How long does a train from Vancouver to Toronto take? ›

A train trip between Vancouver and Toronto is around 3d 20h, although the fastest train will take about 3d 20h. This is the time it takes to travel the 3359 km that separates the two cities.

Are Canadian train trips worth it? ›

Canada is home to some of the most scenic train trips in the world, but the greatest is undoubtedly The Coast to Coast by Train. This ultimate trip itinerary takes you across Canada to see the country's top highlights, including Peggy's Cove, Niagara Falls and Lake Louise.

What is the cheapest way to travel from Vancouver to Toronto? ›

The cheapest way to get from Vancouver to Toronto is to fly which costs $85 - $390 and takes 6h 15m. What is the fastest way to get from Vancouver to Toronto? The fastest way to get from Vancouver to Toronto is to fly which takes 6h 15m and costs $85 - $390. Is there a direct train between Vancouver and Toronto?

Can you bring 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.

Can you hop on and off the Canadian train? ›

Enjoy the best of Canada on the Canadian Rail Experience from Toronto to Vancouver! Capture all the culture and excitement of Toronto on a fun and user-friendly hop-on, hop-off sightseeing tour.

How much does a train ticket cost from Toronto to Vancouver? ›

Information about this train trip
Daily Trains1
Earliest and Latest Train Departures9:55AM
Minimum Price$753
Average Ticket Price$708
Minimum Trip Duration4d1h
3 more rows

Are sleeper trains worth it? ›

Sleepers trains can be a great way to travel long distances overnight as you rest up in comfort, arriving ready for action the next day. We recommend you book your sleeper train early to secure your cabin, as there is limited sleeper train availability.

How much luggage can you take on VIA Rail? ›

Maximum baggage dimensions include wheels and handles. Any baggage weighing more than 23 kg/50 lb will not be allowed on board. Each passenger is responsible for their own baggage. Please only bring baggage that you can carry and store under the seat in front of you or on the overhead shelf unassisted.

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

Economy Class is a great choice for shorter journeys or travellers who prioritize affordability. 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.

What is the name of the train from Toronto to Vancouver? ›

VIA Rail Canada, Canada's national train operator, operates a trans-continental train called the Canadian that links Toronto, Winnipeg, Edmonton, Jasper & Vancouver, which is considered to be one of the world's greatest rail journeys.

How often does the train go from Toronto to Vancouver? ›

VIA Rail's Canadian train takes 96 hours to get from Toronto to Vancouver. This is the only train that travels between the two cities. The train departs Toronto Union Station on Sundays and Wednesdays at 9.45am.

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.

Does VIA Rail sleeper Plus include meals? ›

Food and drinks on board

Savor a three-course meal with carefully selected products from Canadian artisans. Three meals a day are included in your experience. Top off your meal with a local beer or Canadian wine sold by the glass. Also offered onboard: a selection of hot and cold non-alcoholic beverages.

How much is VIA Rail vs Rocky Mountaineer? ›

VIA Rail covers the northern route across the province from Prince Rupert to Jasper. It's your budget option coming in at Cdn$139.00. The Rocky Mountaineer covers the southern route from Banff to Vancouver and is your luxury choice for Cdn$1,700 (or much more as I went for the lowest price they had).

References

Top Articles
Latest Posts
Article information

Author: Pres. Lawanda Wiegand

Last Updated:

Views: 6738

Rating: 4 / 5 (51 voted)

Reviews: 90% of readers found this page helpful

Author information

Name: Pres. Lawanda Wiegand

Birthday: 1993-01-10

Address: Suite 391 6963 Ullrich Shore, Bellefort, WI 01350-7893

Phone: +6806610432415

Job: Dynamic Manufacturing Assistant

Hobby: amateur radio, Taekwondo, Wood carving, Parkour, Skateboarding, Running, Rafting

Introduction: My name is Pres. Lawanda Wiegand, I am a inquisitive, helpful, glamorous, cheerful, open, clever, innocent person who loves writing and wants to share my knowledge and understanding with you.