You need visa. Dont get china layover. We were forbidden to board in manila coz we dont have a transit visa. So just get the vancouver- calgary or straight flight to calgary just to be sure or else you will just be wasting money. Have a safe tripyou need US visa to lay over ..