(Montreal) Air Canada will strengthen its air service offerings to India, notably by offering new direct flights from Toronto to Mumbai.

Flights between Toronto and Mumbai will operate four times weekly starting Oct. 27, the airline said.

Additionally, Air Canada will transition its Montreal to Delhi service to daily operations.

The airline announced that it will operate daily seasonal flights from Calgary to Delhi via London from October 27th for travellers from Western Canada.

(function () {
var slotName = “ad665dd954d3129-adSlotLppos”;
var dimensions = (“fluid”,(634,125),(634,150),(634,180),(634,200),(634,634),(634,400),(640,360),(640,480),(728,200));
var pageBlock = “text”;
const IS_MOBILE = window.innerWidth {
if (googleIframe.contentWindow === e.source){
if(e.data.nbArticles) {
let title = document.createElement(“div”)
let nbArticles = document.createElement(“div”)
title.innerHTML = “Série commanditée”
nbArticles.innerHTML = e.data.nbArticles + ” articles”
let header = document.createElement(“div”)
header.classList.add(“adSpotBlock__slotInnerHeader”)
header.appendChild(title)
header.appendChild(nbArticles)
slotInner.prepend(header)
}
}
})
}

function setUpPanorama() {
console.debug(‘Ads: Panorama Ad detected for ‘ + slotName);
let slotInner = document.getElementById(slotName);
slotInner.parentElement.style.width=”100%”;
let iframeWrapper = slotInner.firstElementChild
iframeWrapper.classList.add(‘panorama__wrapper’)
if (IS_MOBILE){
makeFullWidth(slotInner)
iframeWrapper.classList.add(‘panorama__wrapper–mobile’)
}
else{
iframeWrapper.classList.add(‘panorama__wrapper–default’)
if(pageBlock===”body”){
makeFullWidth(slotInner)
}
}
setupPanoramaIframe(iframeWrapper)

function makeFullWidth(slotInner){
let parentContainerElement = slotInner.closest(“.homeHeadlinesRow__adWrapper”)||slotInner.closest(“.homeRow__adWrapper”)||slotInner.closest(“.homeRow”)
if (!parentContainerElement){
parentContainerElement = slotInner.closest(“.adsWrapper”)
parentContainerElement.classList.add(“panorama–article”);
}else{
parentContainerElement.classList.add(“panorama–default”);
}
}

function setupPanoramaIframe(iframeWrapper){
let googleIframe = iframeWrapper.firstElementChild;
googleIframe.style.height = “100%”
window.addEventListener(‘message’, (e)=> {
if (googleIframe.contentWindow === e.source){
if(e.data.sideMarginBackgroundColor) {
iframeWrapper.style.backgroundColor = e.data.sideMarginBackgroundColor;
}
if(e.data.foregroundUrl){
createForeground(iframeWrapper,e.data.foregroundUrl,e.data.foregroundPosition,”img”)
}
if(e.data.foregroundHtmlUrl){
createForeground(iframeWrapper,e.data.foregroundHtmlUrl,e.data.foregroundPosition,”iframe”)
}
if(e.data.backgroundImgUrl){
createBackground(iframeWrapper,e.data.backgroundImgUrl,e.data.backgroundColor,”img”)
}
if(e.data.backgroundHtmlUrl){
createBackground(iframeWrapper,e.data.backgroundHtmlUrl,e.data.backgroundColor,”iframe”)
}
}
});
}

function createBackground(iframeWrapper,backgroundUrl,backgroundColor,backgroundElementType){
let backgroundElement = createBackgroundElement(backgroundUrl,backgroundElementType)
let backgroundWrapper = createBackgroundWrapper(backgroundColor)
let backgroundClipper = createBackgroundClipper()

backgroundWrapper.appendChild(backgroundElement)
backgroundClipper.appendChild(backgroundWrapper)
iframeWrapper.appendChild(backgroundClipper)

alignBackgroundToAdWrapper(backgroundWrapper, iframeWrapper)
let widthCache = window.innerWidth
window.addEventListener(“resize”,()=>{
if (window.innerWidth!==widthCache){
widthCache=window.innerWidth;
alignBackgroundToAdWrapper(backgroundWrapper, iframeWrapper)
}
})
}

function createForeground(iframeWrapper,foregroundUrl,foregroundPosition,type){
let foreground = document.createElement(type)
foreground.classList.add(“panorama__foregroundImg”)
switch (foregroundPosition){
case “top”:
foreground.style.alignSelf=”flex-start”
break;
case “center”:
foreground.style.alignSelf=”center”
break;
case “bottom”:
foreground.style.alignSelf=”flex-end”
break;
}
if (type===”iframe”){
foreground.style.height=”100%”
}
foreground.src = foregroundUrl
iframeWrapper.appendChild(foreground)
}

function createBackgroundElement(backgroundUrl, type) {
let backgroundElement = document.createElement(type);
backgroundElement.setAttribute(“src”,backgroundUrl);
backgroundElement.classList.add(“panorama__backgroundElement”);

if (“img” === type) {
backgroundElement.classList.add(“panorama__backgroundElement–img”);
}

return backgroundElement;
}

function createBackgroundWrapper(backgroundColor){
let backgroundWrapper = document.createElement(“div”)
backgroundWrapper.classList.add(‘panorama__backgroundWrapper’)
backgroundWrapper.style.backgroundColor=backgroundColor;
switch (pageBlock){
case “body”:
backgroundWrapper.classList.add(‘panorama__backgroundWrapper–homepage’)
break;
case “text”:
backgroundWrapper.classList.add(‘panorama__backgroundWrapper–article’)
break;
default:
backgroundWrapper.classList.add(‘panorama__backgroundWrapper–default’)
break;
}
return backgroundWrapper;
}

function createBackgroundClipper(){
let backgroundClipper = document.createElement(“div”)
backgroundClipper.classList.add(‘panorama__backgroundClipper’)
return backgroundClipper
}

function alignBackgroundToAdWrapper(backgroundToResize, sourceWrapper){
backgroundToResize.style.width = sourceWrapper.clientWidth+”px”;
if(pageBlock!==”body”) {
backgroundToResize.style(‘left’) = sourceWrapper.getBoundingClientRect().left+”px”;
}
}
}

LPAds.registerSpotReceived(slotName, function (slotData) {
if (slotData) {
if (LPAds.isProductGalleryAd(slotData.creativeTemplateId)) {
setUpProductGalleryAd();
} else if (LPAds.isNativeAd(slotData.creativeTemplateId)) {
setUpNativeAd();
} else if (LPAds.isNativeAdXtra(slotData.creativeTemplateId)) {
setUpNativeAdXtra();
}
}
});
LPAds.registerSpotRenderEnded(slotName, function(slotData) {
if (slotData) {
if (LPAds.isPanorama(slotData.creativeTemplateId)) {
setUpPanorama();
}else if (LPAds.isNativeAdSerieXtra(slotData.creativeTemplateId)) {
setUpNativeAdSerieXtra();
}
}
});

LPAds.displayAdSpot(slotName);
})()

This winter, flights from Vancouver to London will also be able to easily connect with flights to Delhi.

A total of 25 flights per week to India will be operated, the airline said.