www.aircanada.com Open in urlscan Pro
23.73.242.34  Public Scan

Submitted URL: https://t.mail.aircanada.com/r/?id=h57441b4b,1666ceb7,fdb64f0
Effective URL: https://www.aircanada.com/ca/en/aco/home/book/travel-news-and-updates/2020/covid-19.html
Submission: On February 03 via manual from NZ — Scanned from CA

Form analysis 5 forms found in the DOM

GET /ca/en/aco/home/search-results.html

<form class="search-form input-group ng-pristine ng-valid" action="/ca/en/aco/home/search-results.html" method="get" data-x-place-focus-on-invalid-field="" role="search">
  <!---->
  <div class="search-form-container" data-ng-if="!cc.showSlimHeader()">
    <label class="search-holder label" for="searchbox_01" data-se-id="nav_search_info_label">
      <span class="sr-only">Search site</span>
    </label>
    <input name="q" type="text" class="txt-box txt-search-box" id="searchbox_01" placeholder="FIND" value="" role="textbox">
    <button type="submit" class="ac-icon search btn-ghost" data-analytics-track="mega_navigation" data-analytics-val="Find" role="button"><span class="sr-only">Find</span></button>
  </div><!---->
  <!---->
  <!---->
</form>

GET /ca/en/aco/home/search-results.html

<form class="search-form input-group ng-pristine ng-valid" action="/ca/en/aco/home/search-results.html" method="get" data-x-place-focus-on-invalid-field="" role="search">
  <!---->
  <div class="search-form-container" data-ng-if="!cc.showSlimHeader()">
    <label class="search-holder label" for="searchbox_011" data-se-id="nav_search_info_label">
      <span class="sr-only">Search site</span>
    </label>
    <input name="q" type="text" class="txt-box txt-search-box" id="searchbox_011" placeholder="FIND" value="" role="textbox">
    <button type="submit" class="ac-icon search btn-ghost" data-analytics-track="mega_navigation" data-analytics-val="Find" role="button"><span class="sr-only">Find</span></button>
  </div><!---->
  <!---->
  <!---->
</form>

Name: checkedForm #

<form action="#" name="checkedForm" id="form-container" class="ng-pristine ng-valid-datepicker ng-valid ng-valid-required">
  <fieldset ng-show="!isEditted" aria-hidden="false">
    <div class="row">
      <div class="form-group" id="vaccination">
        <div class="can-toggle round-border">
          <input id="e" type="checkbox" ng-model="notVaccination" aria-checked="true" class="ng-pristine ng-untouched ng-valid ng-empty" tabindex="0" aria-invalid="false">
          <label for="e">
            <div class="can-toggle__label-text">Are you fully vaccinated?</div>
            <div class="can-toggle__switch" data-checked="Yes" data-unchecked="No" aria-label="Yes"></div>
          </label>
        </div>
      </div>
      <div class="form-group">
        <div class="ae-Dropdown filter" click-outside="clickOutside('tripCategory')" id="tripCategory">
          <div class="ae-Dropdown-title no-border" data-ng-click="toggleDropdown($event)" tabindex="0">
            <span></span>
            <span class="sr-only">Trip type</span>
            <span class="ae-Dropdown-title-liCopy">Round-trip</span>
          </div>
          <ul class="ae-Dropdown-list">
            <!---->
            <li data-value="One-way" data-index="$index" ng-class="{'is-selected' : tripCategory === filter.id}" data-ng-click="onDropDownSelected($event, 'tripCategory', filter.id)" ng-repeat="filter in labels.form.tripCategory.values" tabindex="0">
              One-way</li><!---->
            <li data-value="Round-trip" data-index="$index" ng-class="{'is-selected' : tripCategory === filter.id}" data-ng-click="onDropDownSelected($event, 'tripCategory', filter.id)" ng-repeat="filter in labels.form.tripCategory.values"
              tabindex="0" class="is-selected">Round-trip</li><!---->
          </ul>
        </div>
      </div>
      <div class="form-group">
        <div class="ae-Dropdown filter " id="connectionCategory" click-outside="clickOutside('connectionCategory')">
          <div class="ae-Dropdown-title no-border" data-ng-click="toggleDropdown($event)" tabindex="0">
            <span></span>
            <span class="sr-only">Connection type</span>
            <span class="ae-Dropdown-title-liCopy">No connections</span>
          </div>
          <ul class="ae-Dropdown-list">
            <!---->
            <li data-value="No connections" data-index="$index" ng-class="{'is-selected' : connectionCategory === filter.id}" data-ng-click="filter.disabled || onDropDownSelected($event, 'connectionCategory', filter.id)" ng-disabled="filter.disabled"
              ng-repeat="filter in labels.form.connectionCategory.values" tabindex="0" aria-disabled="false" class="is-selected">No connections </li><!---->
            <li data-value="Connections both ways" data-index="$index" ng-class="{'is-selected' : connectionCategory === filter.id}" data-ng-click="filter.disabled || onDropDownSelected($event, 'connectionCategory', filter.id)"
              ng-disabled="filter.disabled" ng-repeat="filter in labels.form.connectionCategory.values" tabindex="0" aria-disabled="false">Connections both ways </li><!---->
            <li data-value="Outbound connection" data-index="$index" ng-class="{'is-selected' : connectionCategory === filter.id}" data-ng-click="filter.disabled || onDropDownSelected($event, 'connectionCategory', filter.id)"
              ng-disabled="filter.disabled" ng-repeat="filter in labels.form.connectionCategory.values" tabindex="0" aria-disabled="false">Outbound connection </li><!---->
            <li data-value="Return connection" data-index="$index" ng-class="{'is-selected' : connectionCategory === filter.id}" data-ng-click="filter.disabled || onDropDownSelected($event, 'connectionCategory', filter.id)"
              ng-disabled="filter.disabled" ng-repeat="filter in labels.form.connectionCategory.values" tabindex="0" aria-disabled="false">Return connection </li><!---->
          </ul>
        </div>
      </div>
      <div class="form-group">
        <div class="ae-Dropdown filter " id="nationalityCategory" click-outside="clickOutsideNationality()">
          <input id="nationalitySearchInput" ng-model="nationalitySearch" ng-change="loadNationalityDropdown(nationalitySearch)" placeholder="Passport" class="ng-pristine ng-untouched ng-valid ng-empty" tabindex="0" aria-invalid="false">
          <div class="ae-Dropdown-title no-border" data-ng-click="focus($event)" tabindex="0">
            <span></span>
            <span class="sr-only">Nationality</span>
            <span class="ae-Dropdown-title-liCopy">Passport: CAN</span>
          </div>
          <ul class="ae-Dropdown-list">
            <!---->
          </ul>
        </div>
      </div>
    </div>
    <div class="row">
      <!-- Departure From Field -->
      <p class="upper hide-on-connection" ng-class="{'both-way-connection' : connectionCategory === 'both-connection', 'return-connection' : connectionCategory === 'return-connection'}" }"="">Departure</p>
      <div class="form-group " ng-class="{'both-way-connection' : connectionCategory === 'both-connection', 
                            'return-connection' : connectionCategory === 'return-connection'}" id="departure-from-container">
        <div class="managed-wrapper mat-bkmg-location-field" data-dev-managed="location-departure-from.html" data-dev-managed-scroll-x="false" data-dev-managed-title="From"
          data-dev-managed-label="Enter the city name, airport code, province or country/region." data-dev-keyvent-id="departure-from-0" data-location-list-id="departure-from-list">
          <div class="managed-display dropdown" data-dev-element="dcManaged.wrapper" role="application">
            <div class="clearfix" data-ng-transclude="">
              <div id="departure-from-list-label" class="glyph-input-wrapper" data-x-edit="">
                <label class="sr-only" for="departure-from">From</label>
                <i ng-show="originArrowDownVisible" class="glyph glyph-right ac-icon ac-icon-navigation-arrow-down bkmg-icon ng-hide" aria-hidden="true" tabindex="-1"></i>
                <div class="glyph-holder glyph-right-holder form-control sr-only-flights-from-0" data-x-edit-passive="" tabindex="0" id="departure-from-overlay"
                  data-ng-class="{'ng-invalid' : !segments.departureFrom.type &amp;&amp; segments.departureFrom.typed}">
                  <!---->
                  <!----><span class="default" data-ng-if="!segments.departureFrom.type &amp;&amp; !segments.departureFrom.typed" tabindex="-1"> From </span><!---->
                  <!---->
                </div>
                <input type="text" class="form-control ng-pristine ng-untouched ng-valid ng-empty glyph-hidden" id="departure-from" data-se-id="origin-0" placeholder="From" autocomplete="off" value="" spellcheck="false"
                  aria-activedescendant="flightLocationListOrginId0-locationListItem-0" aria-autocomplete="both" aria-label="Origin" aria-expanded="false" aria-owns="flightLocationListOrginId0" aria-required="true" role="textbox" autocorrect="off"
                  autocapitalize="off" data-ng-model-options="{'debounce' : cMagnetFlights.debounceAmt}" data-ng-model="segments.departureFrom.typed" data-x-edit-active="" data-x-place-clear="segments.departureFrom"
                  data-location-list-id="departure-from-list" data-dev-keyvent="" data-ng-blur="checkLocationValidity('departureFrom')" tabindex="0" aria-invalid="false"><button class="btn-ghost" aria-hidden="true" tabindex="-1"
                  data-x-clear-button="" style="width: 40px;"><span class="ac-icon ac-icon-close ac-1nx"></span><span class="sr-only">Clear</span></button>
              </div>
            </div>
            <div class="managed-target-wrapper no-scroll-x" data-dev-element="dcManaged.scrollWrapper" data-ng-class="{'no-scroll': !dcManaged.allowScroll, 'no-scroll-x': !dcManaged.allowScrollX, 'mat-bkmg-control': dcManaged.isMatBKMGControl}">
              <!---->
              <div class="managed-target" data-dev-element="dcManaged.scrollable" data-ng-include="dcManaged.target">
                <!---->
                <!--<div data-dev-search-history data-dev-search-location-mode="airport" data-x-target="redeemCtrl.origin" data-dev-keyvent-id="departure-from" data-ng-if="(!redeemCtrl.origin.typed || redeemCtrl.origin.typed.length < checkJapChnMagnetLength)"></div>-->
                <!---->
                <div class="location-options" data-ng-if="(!segments.departureFrom.typed || segments.departureFrom.typed.length < checkJapChnMagnetLength)">
                  <div class="location-options">
                    <div class="location-no-result-wrapper message-container mini">
                      <div class="location-no-result message warning" id="flightLocationListOrginIdErrorData"> Enter the city name, airport code, province or country/region. </div>
                    </div>
                  </div>
                </div><!---->
                <span id="flightLocationListOrginId0UpdatedData" class="sr-only" aria-atomic="true" tabindex="-1"></span>
                <span id="flightLocationListOrginId0Status" class="sr-only" role="status" aria-atomic="true" tabindex="-1"></span>
                <span id="flightLocationListOrginId0ScreenReaderData" class="sr-only" tabindex="-1">Enter the three first characters of the city, airport, country/region, province or state you are leaving from, then use your arrow keys to move up or
                  down the list of airports provided to make your selection.</span>
                <!----><span data-ng-if="!cMagnetFlights.isSafari" id="flightLocationListOrginId0ElementPosition" class="sr-only" aria-atomic="true" tabindex="-1"></span><!---->
                <!----><span data-ng-if="!cMagnetFlights.isSafari" id="flightLocationListOrginId0SingleElement" class="sr-only" tabindex="-1"></span><!---->
                <!---->
                <!---->
              </div>
            </div>
          </div>
        </div>
      </div>
      <script type="text/ng-template" id="location-departure-from.html"> <div data-dev-search-location="segments.departureFrom.typed" data-location-list-id="departure-from-list" data-x-target="segments.departureFrom" data-dev-keyvent-id="departure-from-0" data-dev-search-location-mode="airport" data-ng-if="segments.departureFrom.typed && segments.departureFrom.typed.length >= checkJapChnMagnetLength"></div>
                            <!--<div data-dev-search-history data-dev-search-location-mode="airport" data-x-target="redeemCtrl.origin" data-dev-keyvent-id="departure-from" data-ng-if="(!redeemCtrl.origin.typed || redeemCtrl.origin.typed.length < checkJapChnMagnetLength)"></div>-->
                            <div class="location-options" data-ng-if="(!segments.departureFrom.typed || segments.departureFrom.typed.length < checkJapChnMagnetLength)">
                                <div class="location-options">
                                    <div class="location-no-result-wrapper message-container mini">
                                        <div class="location-no-result message warning" id="flightLocationListOrginId{{$index}}ErrorData">
                                        Enter the city name, airport code, province or country/region.
                                        </div>
                                    </div>
                                </div>
                            </div>
                            <span id="flightLocationListOrginId0UpdatedData" class="sr-only" aria-atomic="true" tabindex="-1"></span>
                            <span id="flightLocationListOrginId0Status" class="sr-only" role="status" aria-atomic="true" tabindex="-1"></span>
                            <span id="flightLocationListOrginId0ScreenReaderData" class="sr-only" tabindex="-1">Enter the three first characters of the city, airport, country/region, province or state you are leaving from, then use your arrow keys to move up or down the list of airports provided to make your selection.</span>
                            <span data-ng-if="!cMagnetFlights.isSafari" id="flightLocationListOrginId0ElementPosition" class="sr-only" aria-atomic="true" tabindex="-1"></span>
                            <span data-ng-if="!cMagnetFlights.isSafari" id="flightLocationListOrginId0SingleElement" class="sr-only" tabindex="-1"></span>
                            <span data-ng-if="cMagnetFlights.isSafari" id="flightLocationListOrginId0ElementPosition" role="alert" class="sr-only" aria-atomic="true" tabindex="-1"></span>
                            <span data-ng-if="cMagnetFlights.isSafari" id="flightLocationListOrginId0SingleElement" role="alert" class="sr-only" aria-atomic="true" tabindex="-1"></span>
                        </script>
      <!-- Departure Connection Field   -->
      <img ng-hide="!checkVisibility('departure','connection')" src="/content/dam/aircanada/portal/images/travelReadyHub/ic-arrow-right.svg" alt="" class="sherpa-icon to-blue ng-hide" aria-hidden="true">
      <div id="departure-connection-container" ng-hide="!checkVisibility('departure','connection')" class="form-group  ng-hide"
        ng-class="{'both-way-connection' : connectionCategory === 'both-connection', 'return-connection' : connectionCategory === 'return-connection'}" aria-hidden="true">
        <div class="managed-wrapper mat-bkmg-location-field" data-dev-managed="location-departure-connection.html" data-dev-managed-scroll-x="false" data-dev-managed-title="Connection"
          data-dev-managed-label="Enter the city name, airport code, province or country/region." data-dev-keyvent-id="departure-connection-0" data-location-list-id="departure-connection-list">
          <div class="managed-display dropdown" data-dev-element="dcManaged.wrapper" role="application">
            <div class="clearfix" data-ng-transclude="">
              <div id="departure-connection-list-label" class="glyph-input-wrapper" data-x-edit="">
                <label class="sr-only" for="departure-connection">Connect</label>
                <i ng-show="originArrowDownVisible" class="glyph glyph-right ac-icon ac-icon-navigation-arrow-down bkmg-icon ng-hide" aria-hidden="true" tabindex="-1"></i>
                <div class="glyph-holder glyph-right-holder form-control sr-only-flights-connection-0" data-x-edit-passive="" tabindex="0" id="departure-connection-overlay"
                  data-ng-class="{'ng-invalid' : !segments.departureConnection.type &amp;&amp; segments.departureConnection.typed}">
                  <!---->
                  <!----><span class=" default" data-ng-if="!segments.departureConnection.type &amp;&amp; !segments.departureConnection.typed" tabindex="-1"> Connect </span><!---->
                  <!---->
                </div>
                <input type="text" class="form-control ng-pristine ng-untouched ng-valid ng-empty glyph-hidden" id="departure-connection" data-se-id="origin-0" placeholder="Connection" autocomplete="off" value="" spellcheck="false"
                  aria-activedescendant="flightLocationListOrginId0-locationListItem-0" aria-autocomplete="both" aria-label="Connection" aria-expanded="false" aria-owns="flightLocationListOrginId0" aria-required="true" role="textbox"
                  autocorrect="off" autocapitalize="off" data-ng-model-options="{'debounce' : cMagnetFlights.debounceAmt}" data-ng-model="segments.departureConnection.typed" data-x-edit-active="" data-x-place-clear="segments.departureConnection"
                  data-location-list-id="departure-connection-list" data-dev-keyvent="" data-ng-blur="checkLocationValidity('departureConnection')" tabindex="0" aria-invalid="false"><button class="btn-ghost" aria-hidden="true" tabindex="-1"
                  data-x-clear-button="" style="width: 40px;"><span class="ac-icon ac-icon-close ac-1nx"></span><span class="sr-only">Clear</span></button>
              </div>
            </div>
            <div class="managed-target-wrapper no-scroll-x" data-dev-element="dcManaged.scrollWrapper" data-ng-class="{'no-scroll': !dcManaged.allowScroll, 'no-scroll-x': !dcManaged.allowScrollX, 'mat-bkmg-control': dcManaged.isMatBKMGControl}">
              <!---->
              <div class="managed-target" data-dev-element="dcManaged.scrollable" data-ng-include="dcManaged.target">
                <!---->
                <!--<div data-dev-search-history data-dev-search-location-mode="airport" data-x-target="redeemCtrl.origin" data-dev-keyvent-id="departure-from" data-ng-if="(!redeemCtrl.origin.typed || redeemCtrl.origin.typed.length < checkJapChnMagnetLength)"></div>-->
                <!---->
                <div class="location-options" data-ng-if="(!segments.departureConnection.typed || segments.departureConnection.typed.length < checkJapChnMagnetLength)">
                  <div class="location-options">
                    <div class="location-no-result-wrapper message-container mini">
                      <div class="location-no-result message warning" id="flightLocationListOrginIdErrorData"> Enter the city name, airport code, province or country/region. </div>
                    </div>
                  </div>
                </div><!---->
                <span id="flightLocationListOrginId0UpdatedData" class="sr-only" aria-atomic="true" tabindex="-1"></span>
                <span id="flightLocationListOrginId0Status" class="sr-only" role="status" aria-atomic="true" tabindex="-1"></span>
                <span id="flightLocationListOrginId0ScreenReaderData" class="sr-only" tabindex="-1">Enter the three first characters of the city, airport, country/region, province or state you are leaving from, then use your arrow keys to move up or
                  down the list of airports provided to make your selection.</span>
                <!----><span data-ng-if="!cMagnetFlights.isSafari" id="flightLocationListOrginId0ElementPosition" class="sr-only" aria-atomic="true" tabindex="-1"></span><!---->
                <!----><span data-ng-if="!cMagnetFlights.isSafari" id="flightLocationListOrginId0SingleElement" class="sr-only" tabindex="-1"></span><!---->
                <!---->
                <!---->
              </div>
            </div>
          </div>
        </div>
      </div>
      <script type="text/ng-template" id="location-departure-connection.html"> <div data-dev-search-location="segments.departureConnection.typed" data-location-list-id="departure-from-list" data-x-target="segments.departureConnection" data-dev-keyvent-id="departure-from-0" data-dev-search-location-mode="airport" data-ng-if="segments.departureConnection.typed && segments.departureConnection.typed.length >= checkJapChnMagnetLength"></div>
                            <!--<div data-dev-search-history data-dev-search-location-mode="airport" data-x-target="redeemCtrl.origin" data-dev-keyvent-id="departure-from" data-ng-if="(!redeemCtrl.origin.typed || redeemCtrl.origin.typed.length < checkJapChnMagnetLength)"></div>-->
                            <div class="location-options" data-ng-if="(!segments.departureConnection.typed || segments.departureConnection.typed.length < checkJapChnMagnetLength)">
                                <div class="location-options">
                                    <div class="location-no-result-wrapper message-container mini">
                                        <div class="location-no-result message warning" id="flightLocationListOrginId{{$index}}ErrorData">
                                        Enter the city name, airport code, province or country/region.
                                        </div>
                                    </div>
                                </div>
                            </div>
                            <span id="flightLocationListOrginId0UpdatedData" class="sr-only" aria-atomic="true" tabindex="-1"></span>
                            <span id="flightLocationListOrginId0Status" class="sr-only" role="status" aria-atomic="true" tabindex="-1"></span>
                            <span id="flightLocationListOrginId0ScreenReaderData" class="sr-only" tabindex="-1">Enter the three first characters of the city, airport, country/region, province or state you are leaving from, then use your arrow keys to move up or down the list of airports provided to make your selection.</span>
                            <span data-ng-if="!cMagnetFlights.isSafari" id="flightLocationListOrginId0ElementPosition" class="sr-only" aria-atomic="true" tabindex="-1"></span>
                            <span data-ng-if="!cMagnetFlights.isSafari" id="flightLocationListOrginId0SingleElement" class="sr-only" tabindex="-1"></span>
                            <span data-ng-if="cMagnetFlights.isSafari" id="flightLocationListOrginId0ElementPosition" role="alert" class="sr-only" aria-atomic="true" tabindex="-1"></span>
                            <span data-ng-if="cMagnetFlights.isSafari" id="flightLocationListOrginId0SingleElement" role="alert" class="sr-only" aria-atomic="true" tabindex="-1"></span>
                        </script>
      <!-- Departure To  -->
      <img src="/content/dam/aircanada/portal/images/travelReadyHub/ic-arrow-right.svg" alt="" class="sherpa-icon to-blue ng-hide" ng-hide="tripCategory === 'ROUND_TRIP' &amp;&amp; connectionCategory === 'no-connection'" aria-hidden="true">
      <img src="/content/dam/aircanada/portal/images/travelReadyHub/ic-rt.svg" alt="" class="sherpa-icon to-blue" ng-show="tripCategory === 'ROUND_TRIP' &amp;&amp; connectionCategory === 'no-connection'" aria-hidden="false">
      <!-- <img ng-hide="!checkVisibility('return','from')" src="/content/dam/aircanada/portal/images/travelReadyHub/ic-arrow-left.svg" alt="" class="sherpa-icon to-blue"> -->
      <div id="departure-to-container" class=" form-group " ng-class="{'both-way-connection' : connectionCategory === 'both-connection', 
                            'return-connection' : connectionCategory === 'return-connection'}">
        <div class="managed-wrapper mat-bkmg-location-field" data-dev-managed="location-departure-to.html" data-dev-managed-scroll-x="false" data-dev-managed-title="To"
          data-dev-managed-label="Enter the city name, airport code, province or country/region." data-dev-keyvent-id="departure-to-0" data-location-list-id="departure-to-list">
          <div class="managed-display dropdown" data-dev-element="dcManaged.wrapper" role="application">
            <div class="clearfix" data-ng-transclude="">
              <div id="departure-to-list-label" class="glyph-input-wrapper" data-x-edit="">
                <label class="sr-only" for="departure-to">To</label>
                <i ng-show="originArrowDownVisible" class="glyph glyph-right ac-icon ac-icon-navigation-arrow-down bkmg-icon ng-hide" aria-hidden="true" tabindex="-1"></i>
                <div class="glyph-holder glyph-right-holder form-control sr-only-flights-to-0" data-x-edit-passive="" tabindex="0" id="departure-to-overlay"
                  data-ng-class="{'ng-invalid' : !segments.departureTo.type &amp;&amp; segments.departureTo.typed}">
                  <!---->
                  <!----><span class="default" data-ng-if="!segments.departureTo.type &amp;&amp; !segments.departureTo.typed" tabindex="-1"> To </span><!---->
                  <!---->
                </div>
                <input type="text" class="form-control ng-pristine ng-untouched ng-valid ng-empty glyph-hidden" id="departure-to" data-se-id="origin-0" placeholder="To" autocomplete="off" value="" spellcheck="false"
                  aria-activedescendant="flightLocationListOrginId0-locationListItem-0" aria-autocomplete="both" aria-label="Destination" aria-expanded="false" aria-owns="flightLocationListOrginId0" aria-required="true" role="textbox"
                  autocorrect="off" autocapitalize="off" data-ng-model-options="{'debounce' : cMagnetFlights.debounceAmt}" data-ng-model="segments.departureTo.typed" data-x-edit-active="" data-x-place-clear="departureTo"
                  data-location-list-id="departure-to-list" data-dev-keyvent="" data-ng-blur="checkLocationValidity('departureTo')" tabindex="0" aria-invalid="false"><button class="btn-ghost" aria-hidden="true" tabindex="-1" data-x-clear-button=""
                  style="width: 40px;"><span class="ac-icon ac-icon-close ac-1nx"></span><span class="sr-only">Clear</span></button>
              </div>
            </div>
            <div class="managed-target-wrapper no-scroll-x" data-dev-element="dcManaged.scrollWrapper" data-ng-class="{'no-scroll': !dcManaged.allowScroll, 'no-scroll-x': !dcManaged.allowScrollX, 'mat-bkmg-control': dcManaged.isMatBKMGControl}">
              <!---->
              <div class="managed-target" data-dev-element="dcManaged.scrollable" data-ng-include="dcManaged.target">
                <!---->
                <!--<div data-dev-search-history data-dev-search-location-mode="airport" data-x-target="redeemCtrl.origin" data-dev-keyvent-id="departure-from" data-ng-if="(!redeemCtrl.origin.typed || redeemCtrl.origin.typed.length < checkJapChnMagnetLength)"></div>-->
                <!---->
                <div class="location-options" data-ng-if="(!segments.departureTo.typed || segments.departureTo.typed.length < checkJapChnMagnetLength)">
                  <div class="location-options">
                    <div class="location-no-result-wrapper message-container mini">
                      <div class="location-no-result message warning" id="flightLocationListOrginIdErrorData"> Enter the city name, airport code, province or country/region. </div>
                    </div>
                  </div>
                </div><!---->
                <span id="flightLocationListOrginId0UpdatedData" class="sr-only" aria-atomic="true" tabindex="-1"></span>
                <span id="flightLocationListOrginId0Status" class="sr-only" role="status" aria-atomic="true" tabindex="-1"></span>
                <span id="flightLocationListOrginId0ScreenReaderData" class="sr-only" tabindex="-1">Enter the three first characters of the city, airport, country/region, province or state you are leaving from, then use your arrow keys to move up or
                  down the list of airports provided to make your selection.</span>
                <!----><span data-ng-if="!cMagnetFlights.isSafari" id="flightLocationListOrginId0ElementPosition" class="sr-only" aria-atomic="true" tabindex="-1"></span><!---->
                <!----><span data-ng-if="!cMagnetFlights.isSafari" id="flightLocationListOrginId0SingleElement" class="sr-only" tabindex="-1"></span><!---->
                <!---->
                <!---->
              </div>
            </div>
          </div>
        </div>
      </div>
      <script type="text/ng-template" id="location-departure-to.html"> <div data-dev-search-location="segments.departureTo.typed" data-location-list-id="departure-from-list" data-x-target="segments.departureTo" data-dev-keyvent-id="departure-from-0" data-dev-search-location-mode="airport" data-ng-if="segments.departureTo.typed && segments.departureTo.typed.length >= checkJapChnMagnetLength"></div>
                            <!--<div data-dev-search-history data-dev-search-location-mode="airport" data-x-target="redeemCtrl.origin" data-dev-keyvent-id="departure-from" data-ng-if="(!redeemCtrl.origin.typed || redeemCtrl.origin.typed.length < checkJapChnMagnetLength)"></div>-->
                            <div class="location-options" data-ng-if="(!segments.departureTo.typed || segments.departureTo.typed.length < checkJapChnMagnetLength)">
                                <div class="location-options">
                                    <div class="location-no-result-wrapper message-container mini">
                                        <div class="location-no-result message warning" id="flightLocationListOrginId{{$index}}ErrorData">
                                        Enter the city name, airport code, province or country/region.
                                        </div>
                                    </div>
                                </div>
                            </div>
                            <span id="flightLocationListOrginId0UpdatedData" class="sr-only" aria-atomic="true" tabindex="-1"></span>
                            <span id="flightLocationListOrginId0Status" class="sr-only" role="status" aria-atomic="true" tabindex="-1"></span>
                            <span id="flightLocationListOrginId0ScreenReaderData" class="sr-only" tabindex="-1">Enter the three first characters of the city, airport, country/region, province or state you are leaving from, then use your arrow keys to move up or down the list of airports provided to make your selection.</span>
                            <span data-ng-if="!cMagnetFlights.isSafari" id="flightLocationListOrginId0ElementPosition" class="sr-only" aria-atomic="true" tabindex="-1"></span>
                            <span data-ng-if="!cMagnetFlights.isSafari" id="flightLocationListOrginId0SingleElement" class="sr-only" tabindex="-1"></span>
                            <span data-ng-if="cMagnetFlights.isSafari" id="flightLocationListOrginId0ElementPosition" role="alert" class="sr-only" aria-atomic="true" tabindex="-1"></span>
                            <span data-ng-if="cMagnetFlights.isSafari" id="flightLocationListOrginId0SingleElement" role="alert" class="sr-only" aria-atomic="true" tabindex="-1"></span>
                        </script>
      <!-- Depart  date -->
      <div ng-class="{'flex-break' : tripCategory === 'ROUND_TRIP' || (tripCategory !== 'ROUND_TRIP' &amp;&amp; connectionCategory !== 'no-connection')}" class="flex-break"></div>
      <img src="/content/dam/aircanada/portal/images/travelReadyHub/ic-calendar.svg" alt="" class="sherpa-icon push-right to-blue isNewLine"
        ng-class="{'isNewLine' : tripCategory === 'ROUND_TRIP' || (tripCategory !== 'ROUND_TRIP' &amp;&amp; connectionCategory !== 'no-connection')}">
      <div id="departure-date-container" class="form-group dates" ng-class="{'both-way-connection' : connectionCategory === 'both-connection'}">
        <div class="managed-wrapper" data-dev-managed="single-calendar-past-date.html" data-dev-managed-scroll="false" data-dev-managed-title="Date" data-dev-keyvent-id="flightDate">
          <div class="managed-display dropdown" data-dev-element="dcManaged.wrapper" role="application">
            <div class="clearfix" data-ng-transclude="">
              <div id="flightDate_wrapper" class="glyph-input-wrapper date-input-wrapper" data-x-edit="">
                <div id="flightDateLabel">
                  <label for="flightDate" class="col-lg-12 col-md-12 col-sm-12 col-xs-12">
                    <span class="form-label-text ng-hide" ng-hide="segments.departureDate" aria-hidden="Thu Feb 03 2022 18:57:33 GMT+0000 (GMT)"></span>
                    <span ng-show="!segments.departureDate" class="form-error-item ng-hide" aria-hidden="true" aria-live="polite" aria-relevant="all">
                      <span class="sr-only">Departure</span>
                    </span>
                    <div class="form-element-wrapper">
                      <div class="glyph-holder glyph-left-holder form-control" data-x-edit-passive="" tabindex="0">
                        <!----><span class="value" data-ng-if="segments.departureDate">
                          <span class="code">Departure</span>
                          <span class="day">03 Feb</span>
                        </span><!---->
                        <!---->
                      </div>
                      <input type="text" name="flightDate" id="flightDate" placeholder="Departure" autocomplete="off" value=""
                        class="glyph-input glyph-left-input form-control glyph-hidden ng-pristine ng-untouched ng-valid-datepicker ng-not-empty ng-valid ng-valid-required" data-ng-model="segments.departureDate" data-dev-keyvent=""
                        data-dev-model-register="" data-x-edit-active="" aria-required="true" required="" aria-invalid="false" data-jq-start-date="2022-02-03T18:57:32.601Z" data-jq-end-date="2022-02-03T18:57:32.603Z"
                        data-ng-blur="checkLocationValidity('departureDate')" tabindex="0">
                    </div>
                  </label>
                </div>
              </div>
            </div>
            <div class="managed-target-wrapper no-scroll" data-dev-element="dcManaged.scrollWrapper" data-ng-class="{'no-scroll': !dcManaged.allowScroll, 'no-scroll-x': !dcManaged.allowScrollX, 'mat-bkmg-control': dcManaged.isMatBKMGControl}"><!---->
              <div class="managed-target" data-dev-element="dcManaged.scrollable" data-ng-include="dcManaged.target">
                <div class="datepicker-wrapper one" data-se-id="magnet_status_number_datepicker">
                  <div class="datepicker" data-dev-datepicker="flightDate" data-dev-datepicker-start="2022-02-03T18:57:32.601Z" data-dev-datepicker-init="2022-02-03T18:57:32.601Z" data-dev-datepicker-stop="2025-02-02T18:57:32.603Z" tabindex="-1">
                    <ul class="list-unstyled list-months"><!----></ul>
                  </div>
                </div>
              </div>
            </div>
          </div>
        </div>
      </div>
      <script type="text/ng-template" id="single-calendar-past-date.html"> <div class="datepicker-wrapper one" data-se-id="magnet_status_number_datepicker">
                            <div class="datepicker" data-dev-datepicker="flightDate"
                                data-dev-datepicker-start="{{datepicker_start}}" 
                                data-dev-datepicker-init="{{datepicker_today}}" 
                                data-dev-datepicker-stop="{{datepicker_end_later}}" 
                                tabindex="-1">
                            </div>
                            </div>
                        </script>
      <!-- END: Depart date -->
      <!-- Return -->
      <!-- Origin Field -->
      <div ng-hide="connectionCategory !== 'return-connection'" class="flex-break2 ng-hide" aria-hidden="true"></div>
      <p class="upper hide-on-connection" ng-class="{'both-way-connection' : connectionCategory === 'both-connection', 'return-connection' : connectionCategory === 'return-connection'}" }"="">Return</p>
      <div ng-hide="!checkVisibility('return','from')" class="form-group ng-hide" ng-class="{'both-way-connection' : connectionCategory === 'both-connection', 'return-connection' : connectionCategory === 'return-connection'}" aria-hidden="true">
        <div class="managed-wrapper mat-bkmg-location-field" data-dev-managed="location-return-from.html" data-dev-managed-scroll-x="false" data-dev-managed-title="To"
          data-dev-managed-label="Enter the city name, airport code, province or country/region." data-dev-keyvent-id="departure-to-0" data-location-list-id="departure-to-list">
          <div class="managed-display dropdown" data-dev-element="dcManaged.wrapper" role="application">
            <div class="clearfix" data-ng-transclude="">
              <div id="departure-to-list-label" class="glyph-input-wrapper" data-x-edit="">
                <label class="sr-only" for="departure-to">From</label>
                <i ng-show="originArrowDownVisible" class="glyph glyph-right ac-icon ac-icon-navigation-arrow-down bkmg-icon ng-hide" aria-hidden="true" tabindex="-1"></i>
                <div class="glyph-holder glyph-right-holder form-control sr-only-flights-to-0" data-x-edit-passive="" tabindex="0" id="departure-to-overlay"
                  data-ng-class="{'ng-invalid' : !segments.returnFrom.type &amp;&amp; segments.returnFrom.typed}">
                  <!---->
                  <!----><span class="default" data-ng-if="!segments.returnFrom.type &amp;&amp; !segments.returnFrom.typed" tabindex="-1"> From </span><!---->
                  <!---->
                </div>
                <input type="text" class="form-control ng-pristine ng-untouched ng-valid ng-empty glyph-hidden" id="departure-to" data-se-id="origin-0" placeholder="To" autocomplete="off" value="" spellcheck="false"
                  aria-activedescendant="flightLocationListOrginId0-locationListItem-0" aria-autocomplete="both" aria-label="Origin" aria-expanded="false" aria-owns="flightLocationListOrginId0" aria-required="true" role="textbox" autocorrect="off"
                  autocapitalize="off" data-ng-model-options="{'debounce' : cMagnetFlights.debounceAmt}" data-ng-model="segments.returnFrom.typed" data-x-edit-active="" data-x-place-clear="returnFrom" data-location-list-id="departure-to-list"
                  data-dev-keyvent="" data-ng-blur="checkLocationValidity('returnFrom')" tabindex="0" aria-invalid="false"><button class="btn-ghost" aria-hidden="true" tabindex="-1" data-x-clear-button="" style="width: 40px;"><span
                    class="ac-icon ac-icon-close ac-1nx"></span><span class="sr-only">Clear</span></button>
              </div>
            </div>
            <div class="managed-target-wrapper no-scroll-x" data-dev-element="dcManaged.scrollWrapper" data-ng-class="{'no-scroll': !dcManaged.allowScroll, 'no-scroll-x': !dcManaged.allowScrollX, 'mat-bkmg-control': dcManaged.isMatBKMGControl}">
              <!---->
              <div class="managed-target" data-dev-element="dcManaged.scrollable" data-ng-include="dcManaged.target">
                <!---->
                <!--<div data-dev-search-history data-dev-search-location-mode="airport" data-x-target="redeemCtrl.origin" data-dev-keyvent-id="departure-from" data-ng-if="(!redeemCtrl.origin.typed || redeemCtrl.origin.typed.length < checkJapChnMagnetLength)"></div>-->
                <!---->
                <div class="location-options" data-ng-if="(!segments.returnFrom.typed || segments.returnFrom.typed.length < checkJapChnMagnetLength)">
                  <div class="location-options">
                    <div class="location-no-result-wrapper message-container mini">
                      <div class="location-no-result message warning" id="flightLocationListOrginIdErrorData"> Enter the city name, airport code, province or country/region. </div>
                    </div>
                  </div>
                </div><!---->
                <span id="flightLocationListOrginId0UpdatedData" class="sr-only" aria-atomic="true" tabindex="-1"></span>
                <span id="flightLocationListOrginId0Status" class="sr-only" role="status" aria-atomic="true" tabindex="-1"></span>
                <span id="flightLocationListOrginId0ScreenReaderData" class="sr-only" tabindex="-1">Enter the three first characters of the city, airport, country/region, province or state you are leaving from, then use your arrow keys to move up or
                  down the list of airports provided to make your selection.</span>
                <!----><span data-ng-if="!cMagnetFlights.isSafari" id="flightLocationListOrginId0ElementPosition" class="sr-only" aria-atomic="true" tabindex="-1"></span><!---->
                <!----><span data-ng-if="!cMagnetFlights.isSafari" id="flightLocationListOrginId0SingleElement" class="sr-only" tabindex="-1"></span><!---->
                <!---->
                <!---->
              </div>
            </div>
          </div>
        </div>
      </div>
      <script type="text/ng-template" id="location-return-from.html"> <div data-dev-search-location="segments.returnFrom.typed" data-location-list-id="departure-from-list" data-x-target="segments.returnFrom" data-dev-keyvent-id="departure-from-0" data-dev-search-location-mode="airport" data-ng-if="segments.returnFrom.typed && segments.returnFrom.typed.length >= checkJapChnMagnetLength"></div>
                            <!--<div data-dev-search-history data-dev-search-location-mode="airport" data-x-target="redeemCtrl.origin" data-dev-keyvent-id="departure-from" data-ng-if="(!redeemCtrl.origin.typed || redeemCtrl.origin.typed.length < checkJapChnMagnetLength)"></div>-->
                            <div class="location-options" data-ng-if="(!segments.returnFrom.typed || segments.returnFrom.typed.length < checkJapChnMagnetLength)">
                                <div class="location-options">
                                    <div class="location-no-result-wrapper message-container mini">
                                        <div class="location-no-result message warning" id="flightLocationListOrginId{{$index}}ErrorData">
                                        Enter the city name, airport code, province or country/region.
                                        </div>
                                    </div>
                                </div>
                            </div>
                            <span id="flightLocationListOrginId0UpdatedData" class="sr-only" aria-atomic="true" tabindex="-1"></span>
                            <span id="flightLocationListOrginId0Status" class="sr-only" role="status" aria-atomic="true" tabindex="-1"></span>
                            <span id="flightLocationListOrginId0ScreenReaderData" class="sr-only" tabindex="-1">Enter the three first characters of the city, airport, country/region, province or state you are leaving from, then use your arrow keys to move up or down the list of airports provided to make your selection.</span>
                            <span data-ng-if="!cMagnetFlights.isSafari" id="flightLocationListOrginId0ElementPosition" class="sr-only" aria-atomic="true" tabindex="-1"></span>
                            <span data-ng-if="!cMagnetFlights.isSafari" id="flightLocationListOrginId0SingleElement" class="sr-only" tabindex="-1"></span>
                            <span data-ng-if="cMagnetFlights.isSafari" id="flightLocationListOrginId0ElementPosition" role="alert" class="sr-only" aria-atomic="true" tabindex="-1"></span>
                            <span data-ng-if="cMagnetFlights.isSafari" id="flightLocationListOrginId0SingleElement" role="alert" class="sr-only" aria-atomic="true" tabindex="-1"></span>
                        </script>
      <!-- Reutrn Connection Field   -->
      <img ng-hide="!checkVisibility('return','connection')" src="/content/dam/aircanada/portal/images/travelReadyHub/ic-arrow-right.svg" alt="" class="sherpa-icon to-blue ng-hide" aria-hidden="true">
      <div id="return-connection-container" ng-hide="!checkVisibility('return','connection')" class="form-group  ng-hide"
        ng-class="{'both-way-connection' : connectionCategory === 'both-connection', 'return-connection' : connectionCategory === 'return-connection'}" aria-hidden="true">
        <div class="managed-wrapper mat-bkmg-location-field" data-dev-managed="location-return-connection.html" data-dev-managed-scroll-x="false" data-dev-managed-title="Connection"
          data-dev-managed-label="Enter the city name, airport code, province or country/region." data-dev-keyvent-id="return-connection-0" data-location-list-id="return-connection-list">
          <div class="managed-display dropdown" data-dev-element="dcManaged.wrapper" role="application">
            <div class="clearfix" data-ng-transclude="">
              <div id="return-connection-list-label" class="glyph-input-wrapper" data-x-edit="">
                <label class="sr-only" for="return-connection">Connect</label>
                <i ng-show="originArrowDownVisible" class="glyph glyph-right ac-icon ac-icon-navigation-arrow-down bkmg-icon ng-hide" aria-hidden="true" tabindex="-1"></i>
                <div class="glyph-holder glyph-right-holder form-control sr-only-flights-connection-0" data-x-edit-passive="" tabindex="0" id="return-connection-overlay"
                  data-ng-class="{'ng-invalid' : !segments.returnConnection.type &amp;&amp; segments.returnConnection.typed}">
                  <!---->
                  <!----><span class=" default" data-ng-if="!segments.returnConnection.type &amp;&amp; !segments.returnConnection.typed" tabindex="-1"> Connect </span><!---->
                  <!---->
                </div>
                <input type="text" class="form-control ng-pristine ng-untouched ng-valid ng-empty glyph-hidden" id="return-connection" data-se-id="origin-0" placeholder="Connection" autocomplete="off" value="" spellcheck="false"
                  aria-activedescendant="flightLocationListOrginId0-locationListItem-0" aria-autocomplete="both" aria-label="Conection" aria-expanded="false" aria-owns="flightLocationListOrginId0" aria-required="true" role="textbox" autocorrect="off"
                  autocapitalize="off" data-ng-model-options="{'debounce' : cMagnetFlights.debounceAmt}" data-ng-model="segments.returnConnection.typed" data-x-edit-active="" data-x-place-clear="segments.returnConnection"
                  data-location-list-id="return-connection-list" data-dev-keyvent="" data-ng-blur="checkLocationValidity('returnConnection')" tabindex="0" aria-invalid="false"><button class="btn-ghost" aria-hidden="true" tabindex="-1"
                  data-x-clear-button="" style="width: 40px;"><span class="ac-icon ac-icon-close ac-1nx"></span><span class="sr-only">Clear</span></button>
              </div>
            </div>
            <div class="managed-target-wrapper no-scroll-x" data-dev-element="dcManaged.scrollWrapper" data-ng-class="{'no-scroll': !dcManaged.allowScroll, 'no-scroll-x': !dcManaged.allowScrollX, 'mat-bkmg-control': dcManaged.isMatBKMGControl}">
              <!---->
              <div class="managed-target" data-dev-element="dcManaged.scrollable" data-ng-include="dcManaged.target">
                <!---->
                <!--<div data-dev-search-history data-dev-search-location-mode="airport" data-x-target="redeemCtrl.origin" data-dev-keyvent-id="return-from" data-ng-if="(!redeemCtrl.origin.typed || redeemCtrl.origin.typed.length < checkJapChnMagnetLength)"></div>-->
                <!---->
                <div class="location-options" data-ng-if="(!segments.returnConnection.typed || segments.returnConnection.typed.length < checkJapChnMagnetLength)">
                  <div class="location-options">
                    <div class="location-no-result-wrapper message-container mini">
                      <div class="location-no-result message warning" id="flightLocationListOrginIdErrorData"> Enter the city name, airport code, province or country/region. </div>
                    </div>
                  </div>
                </div><!---->
                <span id="flightLocationListOrginId0UpdatedData" class="sr-only" aria-atomic="true" tabindex="-1"></span>
                <span id="flightLocationListOrginId0Status" class="sr-only" role="status" aria-atomic="true" tabindex="-1"></span>
                <span id="flightLocationListOrginId0ScreenReaderData" class="sr-only" tabindex="-1">Enter the three first characters of the city, airport, country/region, province or state you are leaving from, then use your arrow keys to move up or
                  down the list of airports provided to make your selection.</span>
                <!----><span data-ng-if="!cMagnetFlights.isSafari" id="flightLocationListOrginId0ElementPosition" class="sr-only" aria-atomic="true" tabindex="-1"></span><!---->
                <!----><span data-ng-if="!cMagnetFlights.isSafari" id="flightLocationListOrginId0SingleElement" class="sr-only" tabindex="-1"></span><!---->
                <!---->
                <!---->
              </div>
            </div>
          </div>
        </div>
      </div>
      <script type="text/ng-template" id="location-return-connection.html"> <div data-dev-search-location="segments.returnConnection.typed" data-location-list-id="return-from-list" data-x-target="segments.returnConnection" data-dev-keyvent-id="return-from-0" data-dev-search-location-mode="airport" data-ng-if="segments.returnConnection.typed && segments.returnConnection.typed.length >= checkJapChnMagnetLength"></div>
                            <!--<div data-dev-search-history data-dev-search-location-mode="airport" data-x-target="redeemCtrl.origin" data-dev-keyvent-id="return-from" data-ng-if="(!redeemCtrl.origin.typed || redeemCtrl.origin.typed.length < checkJapChnMagnetLength)"></div>-->
                            <div class="location-options" data-ng-if="(!segments.returnConnection.typed || segments.returnConnection.typed.length < checkJapChnMagnetLength)">
                                <div class="location-options">
                                    <div class="location-no-result-wrapper message-container mini">
                                        <div class="location-no-result message warning" id="flightLocationListOrginId{{$index}}ErrorData">
                                        Enter the city name, airport code, province or country/region.
                                        </div>
                                    </div>
                                </div>
                            </div>
                            <span id="flightLocationListOrginId0UpdatedData" class="sr-only" aria-atomic="true" tabindex="-1"></span>
                            <span id="flightLocationListOrginId0Status" class="sr-only" role="status" aria-atomic="true" tabindex="-1"></span>
                            <span id="flightLocationListOrginId0ScreenReaderData" class="sr-only" tabindex="-1">Enter the three first characters of the city, airport, country/region, province or state you are leaving from, then use your arrow keys to move up or down the list of airports provided to make your selection.</span>
                            <span data-ng-if="!cMagnetFlights.isSafari" id="flightLocationListOrginId0ElementPosition" class="sr-only" aria-atomic="true" tabindex="-1"></span>
                            <span data-ng-if="!cMagnetFlights.isSafari" id="flightLocationListOrginId0SingleElement" class="sr-only" tabindex="-1"></span>
                            <span data-ng-if="cMagnetFlights.isSafari" id="flightLocationListOrginId0ElementPosition" role="alert" class="sr-only" aria-atomic="true" tabindex="-1"></span>
                            <span data-ng-if="cMagnetFlights.isSafari" id="flightLocationListOrginId0SingleElement" role="alert" class="sr-only" aria-atomic="true" tabindex="-1"></span>
                        </script>
      <!-- Return To  -->
      <img ng-hide="!checkVisibility('return','to')" src="/content/dam/aircanada/portal/images/travelReadyHub/ic-arrow-right.svg" alt="" class="sherpa-icon to-blue ng-hide" aria-hidden="true">
      <div ng-hide="!checkVisibility('return','to')" class="form-group  ng-hide" ng-class="{'both-way-connection' : connectionCategory === 'both-connection', 'return-connection' : connectionCategory === 'return-connection'}" aria-hidden="true">
        <div class="managed-wrapper mat-bkmg-location-field" data-dev-managed="location-return-to.html" data-dev-managed-scroll-x="false" data-dev-managed-title="To"
          data-dev-managed-label="Enter the city name, airport code, province or country/region." data-dev-keyvent-id="return-to-0" data-location-list-id="return-to-list">
          <div class="managed-display dropdown" data-dev-element="dcManaged.wrapper" role="application">
            <div class="clearfix" data-ng-transclude="">
              <div id="return-to-list-label" class="glyph-input-wrapper" data-x-edit="">
                <label class="sr-only" for="return-to">To</label>
                <i ng-show="originArrowDownVisible" class="glyph glyph-right ac-icon ac-icon-navigation-arrow-down bkmg-icon ng-hide" aria-hidden="true" tabindex="-1"></i>
                <div class="glyph-holder glyph-right-holder form-control sr-only-flights-to-0" data-x-edit-passive="" tabindex="0" id="return-to-overlay" data-ng-class="{'ng-invalid' : !segments.returnTo.type &amp;&amp; segments.returnTo.typed}">
                  <!---->
                  <!----><span class="default" data-ng-if="!segments.returnTo.type &amp;&amp; !segments.returnTo.typed" tabindex="-1"> To </span><!---->
                  <!---->
                </div>
                <input type="text" class="form-control ng-pristine ng-untouched ng-valid ng-empty glyph-hidden" id="return-to" data-se-id="origin-0" placeholder="To" autocomplete="off" value="" spellcheck="false"
                  aria-activedescendant="flightLocationListOrginId0-locationListItem-0" aria-autocomplete="both" aria-label="Destination" aria-expanded="false" aria-owns="flightLocationListOrginId0" aria-required="true" role="textbox"
                  autocorrect="off" autocapitalize="off" data-ng-model-options="{'debounce' : cMagnetFlights.debounceAmt}" data-ng-model="segments.returnTo.typed" data-x-edit-active="" data-x-place-clear="returnTo"
                  data-location-list-id="return-to-list" data-dev-keyvent="" data-ng-blur="checkLocationValidity('returnTo')" tabindex="0" aria-invalid="false"><button class="btn-ghost" aria-hidden="true" tabindex="-1" data-x-clear-button=""
                  style="width: 40px;"><span class="ac-icon ac-icon-close ac-1nx"></span><span class="sr-only">Clear</span></button>
              </div>
            </div>
            <div class="managed-target-wrapper no-scroll-x" data-dev-element="dcManaged.scrollWrapper" data-ng-class="{'no-scroll': !dcManaged.allowScroll, 'no-scroll-x': !dcManaged.allowScrollX, 'mat-bkmg-control': dcManaged.isMatBKMGControl}">
              <!---->
              <div class="managed-target" data-dev-element="dcManaged.scrollable" data-ng-include="dcManaged.target">
                <!---->
                <!--<div data-dev-search-history data-dev-search-location-mode="airport" data-x-target="redeemCtrl.origin" data-dev-keyvent-id="return-from" data-ng-if="(!redeemCtrl.origin.typed || redeemCtrl.origin.typed.length < checkJapChnMagnetLength)"></div>-->
                <!---->
                <div class="location-options" data-ng-if="(!segments.returnTo.typed || segments.returnTo.typed.length < checkJapChnMagnetLength)">
                  <div class="location-options">
                    <div class="location-no-result-wrapper message-container mini">
                      <div class="location-no-result message warning" id="flightLocationListOrginIdErrorData"> Enter the city name, airport code, province or country/region. </div>
                    </div>
                  </div>
                </div><!---->
                <span id="flightLocationListOrginId0UpdatedData" class="sr-only" aria-atomic="true" tabindex="-1"></span>
                <span id="flightLocationListOrginId0Status" class="sr-only" role="status" aria-atomic="true" tabindex="-1"></span>
                <span id="flightLocationListOrginId0ScreenReaderData" class="sr-only" tabindex="-1">Enter the three first characters of the city, airport, country/region, province or state you are leaving from, then use your arrow keys to move up or
                  down the list of airports provided to make your selection.</span>
                <!----><span data-ng-if="!cMagnetFlights.isSafari" id="flightLocationListOrginId0ElementPosition" class="sr-only" aria-atomic="true" tabindex="-1"></span><!---->
                <!----><span data-ng-if="!cMagnetFlights.isSafari" id="flightLocationListOrginId0SingleElement" class="sr-only" tabindex="-1"></span><!---->
                <!---->
                <!---->
              </div>
            </div>
          </div>
        </div>
      </div>
      <script type="text/ng-template" id="location-return-to.html"> <div data-dev-search-location="segments.returnTo.typed" data-location-list-id="return-from-list" data-x-target="segments.returnTo" data-dev-keyvent-id="return-from-0" data-dev-search-location-mode="airport" data-ng-if="segments.returnTo.typed && segments.returnTo.typed.length >= checkJapChnMagnetLength"></div>
                            <!--<div data-dev-search-history data-dev-search-location-mode="airport" data-x-target="redeemCtrl.origin" data-dev-keyvent-id="return-from" data-ng-if="(!redeemCtrl.origin.typed || redeemCtrl.origin.typed.length < checkJapChnMagnetLength)"></div>-->
                            <div class="location-options" data-ng-if="(!segments.returnTo.typed || segments.returnTo.typed.length < checkJapChnMagnetLength)">
                                <div class="location-options">
                                    <div class="location-no-result-wrapper message-container mini">
                                        <div class="location-no-result message warning" id="flightLocationListOrginId{{$index}}ErrorData">
                                        Enter the city name, airport code, province or country/region.
                                        </div>
                                    </div>
                                </div>
                            </div>
                            <span id="flightLocationListOrginId0UpdatedData" class="sr-only" aria-atomic="true" tabindex="-1"></span>
                            <span id="flightLocationListOrginId0Status" class="sr-only" role="status" aria-atomic="true" tabindex="-1"></span>
                            <span id="flightLocationListOrginId0ScreenReaderData" class="sr-only" tabindex="-1">Enter the three first characters of the city, airport, country/region, province or state you are leaving from, then use your arrow keys to move up or down the list of airports provided to make your selection.</span>
                            <span data-ng-if="!cMagnetFlights.isSafari" id="flightLocationListOrginId0ElementPosition" class="sr-only" aria-atomic="true" tabindex="-1"></span>
                            <span data-ng-if="!cMagnetFlights.isSafari" id="flightLocationListOrginId0SingleElement" class="sr-only" tabindex="-1"></span>
                            <span data-ng-if="cMagnetFlights.isSafari" id="flightLocationListOrginId0ElementPosition" role="alert" class="sr-only" aria-atomic="true" tabindex="-1"></span>
                            <span data-ng-if="cMagnetFlights.isSafari" id="flightLocationListOrginId0SingleElement" role="alert" class="sr-only" aria-atomic="true" tabindex="-1"></span>
                        </script>
      <!-- [START] Return  date -->
      <div ng-hide="!checkVisibility('return','connection')" ng-class="{'flex-break' : tripCategory === 'ROUND_TRIP' || (tripCategory !== 'ROUND_TRIP' &amp;&amp; connectionCategory !== 'no-connection')}" aria-hidden="true" class="ng-hide flex-break">
      </div>
      <img ng-hide="!checkVisibility('return','connection')" src="/content/dam/aircanada/portal/images/travelReadyHub/ic-calendar.svg" alt="" class="sherpa-icon push-right to-blue ng-hide isNewLine"
        ng-class="{'isNewLine' : tripCategory === 'ROUND_TRIP' || (tripCategory !== 'ROUND_TRIP' &amp;&amp; connectionCategory !== 'no-connection')}" aria-hidden="true">
      <div id="return-date-container" ng-hide="!checkVisibility('return','date')" class="form-group dates" ng-class="{'both-way-connection' : connectionCategory === 'both-connection'}" aria-hidden="false">
        <div class="managed-wrapper" data-dev-managed="single-calendar-past-date-return.html" data-dev-managed-scroll="false" data-dev-managed-title="Date" data-dev-keyvent-id="returnFlightDate">
          <div class="managed-display dropdown" data-dev-element="dcManaged.wrapper" role="application">
            <div class="clearfix" data-ng-transclude="">
              <div id="returnFlightDate_wrapper" class="glyph-input-wrapper date-input-wrapper" data-x-edit="">
                <div id="returnFlightDateLabel">
                  <label for="returnFlightDate" class="col-lg-12 col-md-12 col-sm-12 col-xs-12">
                    <span class="form-label-text ng-hide" ng-hide="segments.returnDate" aria-hidden="Thu Feb 10 2022 18:57:33 GMT+0000 (GMT)"></span>
                    <span ng-show="!segments.returnDate" class="form-error-item ng-hide" aria-hidden="true" aria-live="polite" aria-relevant="all">
                      <span class="sr-only">Return</span>
                    </span>
                    <div class="form-element-wrapper">
                      <div class="glyph-holder glyph-left-holder form-control" data-x-edit-passive="" tabindex="0">
                        <!----><span class="value" data-ng-if="segments.returnDate">
                          <span class="code">Return</span>
                          <span class="day">10 Feb</span>
                        </span><!---->
                        <!---->
                      </div>
                      <input type="text" name="returnFlightDate" id="returnFlightDate" placeholder="Return" autocomplete="off" value=""
                        class="glyph-input glyph-left-input form-control glyph-hidden ng-pristine ng-untouched ng-valid-datepicker ng-not-empty ng-valid ng-valid-required" data-ng-model="segments.returnDate" data-dev-keyvent=""
                        data-dev-model-register="" data-x-edit-active="" aria-required="true" required="" aria-invalid="false" data-jq-start-date="&quot;2022-02-03T18:57:33.313Z&quot;" data-jq-end-date="2022-02-03T18:57:32.603Z"
                        data-ng-blur="checkLocationValidity('returnDate')" tabindex="0">
                    </div>
                  </label>
                </div>
              </div>
            </div>
            <div class="managed-target-wrapper no-scroll" data-dev-element="dcManaged.scrollWrapper" data-ng-class="{'no-scroll': !dcManaged.allowScroll, 'no-scroll-x': !dcManaged.allowScrollX, 'mat-bkmg-control': dcManaged.isMatBKMGControl}"><!---->
              <div class="managed-target" data-dev-element="dcManaged.scrollable" data-ng-include="dcManaged.target">
                <div class="datepicker-wrapper one" data-se-id="magnet_status_number_datepicker">
                  <div class="datepicker" data-dev-datepicker="returnFlightDate" data-dev-datepicker-start="&quot;2022-02-03T18:57:33.313Z&quot;" data-dev-datepicker-init="2022-02-03T18:57:32.601Z" data-dev-datepicker-stop="2025-02-02T18:57:32.603Z"
                    tabindex="-1">
                    <ul class="list-unstyled list-months"><!----></ul>
                  </div>
                </div>
              </div>
            </div>
          </div>
        </div>
      </div>
      <script type="text/ng-template" id="single-calendar-past-date-return.html"> <div class="datepicker-wrapper one" data-se-id="magnet_status_number_datepicker">
                            <div class="datepicker" data-dev-datepicker="returnFlightDate"
                                data-dev-datepicker-start="{{datepicker_return_start}}" 
                                data-dev-datepicker-init="{{datepicker_today}}" 
                                data-dev-datepicker-stop="{{datepicker_end_later}}" 
                                tabindex="-1">
                            </div>
                            </div>
                        </script>
      <!-- [END] Depart date -->
      <!-- Find button -->
      <div class="form-group find-btn">
        <div class="button section">
          <div class="back-container">
            <button type="button" ng-click="sherpaSearch()" class="btn btn-blue btn-primary pull-right" ng-disabled="isFetching" tabindex="0">
              <span ng-hide="isFetching">Find</span>
              <img class="icon ng-hide" ng-show="isFetching" src="/content/dam/aircanada/portal/images/loyalty/icon/oval.png" alt="spinner icon" aria-hidden="true">
            </button>
          </div>
        </div>
      </div>
    </div>
    <div id="booking-magnet-error-holder" class="booking-magnet-error-holder bottom-arrow top-positioned" ng-class="{'right-positioned': errorPosition.left ==='auto' , 'left-positioned': errorPosition.right==='auto' }" aria-polite="true"
      aria-atomic="true" style="display: block !important; right: auto; left: auto; visibility: hidden;"
      ng-style="{ 'right': errorPosition.right ? errorPosition.right :'auto', 'left': errorPosition.left ? errorPosition.left :'auto' ,'top': errorPosition.top, 'visibility': !errorVisible ? 'hidden' : 'visible' }">
      <div class="error-content popup-error" id="popup-error-grid">
        <div class="form-grid error-grid info-row clearfix" tabindex="0">
          <div class="info-icon error-icon"><span class="ac ac-icon ac-warning ac-2x"></span></div>
          <div class="info-desc error-desc">
            <div class="error-label err-label-display" id="bookingMagnetPopupErrorId_0">
              <div class="error-msgs"></div>
            </div>
          </div>
        </div>
      </div>
    </div>
  </fieldset>
  <fieldset class="read-only ng-hide" ng-show="isEditted" aria-hidden="true">
    <div class="form-group">
      <p>
        <span>Round-trip</span>
        <span></span><span class="divider" ng-show="tripCategory==='ROUND_TRIP'" aria-hidden="false"> to </span>
        <span ng-show="tripCategory==='ROUND_TRIP'" aria-hidden="false" class=""></span>
      </p>
      <p><span>Connections</span><span>No connections</span></p>
      <p>
        <span>Travel dates</span><span>03 Feb </span>
        <span ng-show="tripCategory==='ROUND_TRIP'" aria-hidden="false" class="">- 10 Feb</span>
      </p>
      <p><span>Vaccination status</span><span>Fully vaccinated</span></p>
      <div class="find-btn">
        <button data-ng-click="isEditted =false;" type="button" class="btn btn-blue btn-primary pull-right" ng-disabled="isFetching" tabindex="0" aria-disabled="false">
          <span ng-hide="isFetching">Edit</span>
          <img class="icon ng-hide" ng-show="isFetching" src="/content/dam/aircanada/portal/images/loyalty/icon/oval.png" alt="spinner icon" aria-hidden="true">
        </button>
      </div>
    </div>
  </fieldset>
</form>

<form id="status_by_number" class="form-container-standard ng-pristine ng-invalid ng-invalid-required ng-valid-pattern ng-valid-maxlength ng-hide" novalidate="" data-ng-show="tabService.isSet(1)" aria-hidden="true">
  <fieldset>
    <legend class="sr-only">Flight Status: By number</legend>
    <div class="supplementary-wrapper clearfix">
      <div class="col-lg-6 col-md-6 col-sm-12 col-xs-12 status-input-wrapper">
        <div class="glyph-input-wrapper">
          <label for="status_by_number_flight" class="sr-only">Flight Number</label>
          <i class="glyph glyph-left ac-icon ac-text ac-2x" tabindex="-1">AC</i>
          <span class="glyph glyph-left ac-icon ac-text ac-2x sr-only">AC</span>
          <input type="text" id="status_by_number_flight" class="glyph-input glyph-left-input form-control ng-pristine ng-untouched ng-empty ng-invalid ng-invalid-required ng-valid-pattern ng-valid-maxlength" maxlength="4" required=""
            placeholder="FLIGHT NUMBER" ng-pattern="/^[0-9]*$/" data-ng-model="timetable.trips[0].fn" tabindex="0" aria-required="true" aria-invalid="true">
        </div>
      </div>
      <div id="returnDateButtonFN" class="col-lg-6 col-md-6 col-sm-12 col-xs-12" data-dev-managed-title="Departure and arrival" data-dev-managed-scroll="false" data-dev-keyvent-id="departureDate">
        <label id="departureDateLabel" for="departureDate" class="glyph-input-wrapper" data-x-edit="">
          <span class="sr-only">Departure</span>
          <i class="glyph glyph-left ac-icon calendar ac-2x" tabindex="-1"></i>
          <div class="glyph-holder glyph-left-holder form-control" data-x-edit-passive="" tabindex="0">
            <!---->
            <!----><span class="default" data-ng-if="!timetable.trips[0].departure.date" tabindex="-1">Departure</span><!---->
          </div>
          <input id="departureDate" type="text" class="glyph-input glyph-left-input form-control glyph-hidden ng-pristine ng-untouched ng-valid ng-empty hasDatepicker" placeholder="Departure" aria-label="Departure" autocomplete="nope"
            data-ng-model="timetable.trips[0].departure.typed" data-date-picker-panel-id="flights-departure-panel" data-dev-keyvent="" data-x-edit-active="" data-ng-change="timetable.hasDateChanged(0)" jq-datepicker="" data-target="timetable.trips"
            data-index="0" data-jq-start-date="2022-02-03T18:57:32.894Z" data-jq-end-date="2022-02-10T18:57:32.894Z" tabindex="0" aria-invalid="false">
        </label>
      </div>
    </div>
    <div class="row secondary-section-container">
      <div class="col-lg-6 col-md-6 col-sm-12 col-xs-12" ng-show="!bookingclass" aria-hidden="false">
        <label for="ac_class_of_service" class="sr-only">Class of service</label>
        <span class="form-element-wrapper select-dropdown-wrapper">
          <select aria-invalid="false" aria-required="true" tabindex="0" data-x-place-arrow="" class="form-control ng-pristine ng-untouched ng-valid ng-not-empty" id="ac_class_of_service" name="ac_class_of_service"
            ng-model="timetable.ac_class_of_service" ng-options="serviceClass.label for serviceClass in lexic.serviceClassesSelect">
            <option label="Class of service" value="object:177" selected="selected">Class of service</option>
            <option label="Economy Class" value="object:178">Economy Class</option>
            <option label="Premium Economy Class" value="object:179">Premium Economy Class</option>
            <option label="Business Class" value="object:180">Business Class</option>
          </select>
        </span>
      </div>
      <div class="btnTimetableSearch col-lg-2 col-md-2 col-sm-12 col-xs-12 pull-right">
        <button id="btnStatusByNumberSearch" class="btn btn-primary pull-right col-sm-12 col-xs-12" data-ng-click="searchTimetableFN();" tabindex="0">Find</button>
      </div>
    </div>
  </fieldset>
</form>

<form id="status_by_number" class="form-container-standard ng-pristine ng-valid" novalidate="" data-ng-show="tabService.isSet(2)" aria-hidden="false">
  <fieldset>
    <legend class="sr-only">Flight Status: By route</legend>
    <div class="row secondary-section-container">
      <div class="col-lg-4 col-md-4 col-sm-12 col-xs-12">
        <div>
          <div class="managed-wrapper" data-dev-managed="timetable-location-origin.html" data-dev-managed-title="FROM" data-dev-keyvent-id="timetable_origin">
            <div class="managed-display dropdown" data-dev-element="dcManaged.wrapper" role="application">
              <div class="clearfix" data-ng-transclude="">
                <div id="timetable_origin_wrapper" class="glyph-input-wrapper" data-x-edit="">
                  <label for="timetable_origin">
                    <span class="sr-only">FROM</span>
                    <i class="glyph glyph-left ac-icon location ac-2x" tabindex="-1"></i>
                    <div class="glyph-holder glyph-left-holder form-control" data-x-edit-passive="" tabindex="0">
                      <!---->
                      <!----><span class="default" data-ng-if="!timetable.origin.type"> FROM </span><!---->
                    </div>
                    <input type="text" id="timetable_origin" class="glyph-input glyph-left-input form-control ng-pristine ng-untouched ng-valid ng-empty glyph-hidden" aria-label="From" placeholder="From" value="" autocomplete="nope"
                      data-ng-model="timetable.origin.typed" data-dev-keyvent="timetable_origin" data-x-edit-active="" data-x-place-clear="timetable.origin" tabindex="0" aria-invalid="false"><button class="btn-ghost" aria-hidden="true" tabindex="-1"
                      data-x-clear-button="" style="width: 40px;"><span class="ac-icon ac-icon-close ac-1nx"></span><span class="sr-only">Clear</span></button>
                  </label>
                </div>
              </div>
              <div class="managed-target-wrapper" data-dev-element="dcManaged.scrollWrapper" data-ng-class="{'no-scroll': !dcManaged.allowScroll, 'no-scroll-x': !dcManaged.allowScrollX, 'mat-bkmg-control': dcManaged.isMatBKMGControl}"><!---->
                <div class="managed-target" data-dev-element="dcManaged.scrollable" data-ng-include="dcManaged.target">
                  <!---->
                </div>
              </div>
            </div>
          </div>
        </div>
      </div>
      <div class="col-lg-4 col-md-4 col-sm-12 col-xs-12">
        <div>
          <div class="managed-wrapper" data-dev-managed="timetable-location-destination.html" data-dev-managed-title="TO" data-dev-keyvent-id="timetable_destination">
            <div class="managed-display dropdown" data-dev-element="dcManaged.wrapper" role="application">
              <div class="clearfix" data-ng-transclude="">
                <div id="timetable_destination_wrapper" class="glyph-input-wrapper" data-x-edit="">
                  <label for="timetable_destination">
                    <span class="sr-only">TO</span>
                    <i class="glyph glyph-left ac-icon plane ac-2x" tabindex="-1"></i>
                    <div class="glyph-holder glyph-left-holder form-control" data-x-edit-passive="" tabindex="0">
                      <!---->
                      <!----><span class="default" data-ng-if="!timetable.destination.type"> TO </span><!---->
                    </div>
                    <input type="text" id="timetable_destination" class="glyph-input glyph-left-input form-control ng-pristine ng-untouched ng-valid ng-empty glyph-hidden" aria-label="To" placeholder="To" value="" autocomplete="nope"
                      data-ng-model="timetable.destination.typed" data-dev-keyvent="timetable_destination" data-x-edit-active="" data-x-place-clear="timetable.destination" tabindex="0" aria-invalid="false"><button class="btn-ghost" aria-hidden="true"
                      tabindex="-1" data-x-clear-button="" style="width: 40px;"><span class="ac-icon ac-icon-close ac-1nx"></span><span class="sr-only">Clear</span></button>
                  </label>
                </div>
              </div>
              <div class="managed-target-wrapper" data-dev-element="dcManaged.scrollWrapper" data-ng-class="{'no-scroll': !dcManaged.allowScroll, 'no-scroll-x': !dcManaged.allowScrollX, 'mat-bkmg-control': dcManaged.isMatBKMGControl}"><!---->
                <div class="managed-target" data-dev-element="dcManaged.scrollable" data-ng-include="dcManaged.target">
                  <!---->
                </div>
              </div>
            </div>
          </div>
        </div>
      </div>
      <div id="returnDateButtonFN" class="col-lg-4 col-md-4 col-sm-12 col-xs-12" data-dev-managed-title="Departure and arrival" data-dev-managed-scroll="false" data-dev-keyvent-id="departureDate">
        <div class="glyph-input-wrapper">
          <label id="departureDateLabel" for="departureDate" data-x-edit="">
            <span class="sr-only">Departure</span>
            <i class="glyph glyph-left ac-icon calendar ac-2x" tabindex="-1"></i>
            <div class="glyph-holder glyph-left-holder form-control" readonly="true" data-x-edit-passive="" tabindex="0">
              <!---->
              <!----><span class="default" data-ng-if="!timetable.trips[0].departure.date" tabindex="-1">Departure</span><!---->
            </div>
            <input id="departureDate" readonly="true" class="glyph-input glyph-left-input form-control glyph-hidden ng-pristine ng-untouched ng-valid ng-empty hasDatepicker" placeholder="Departure" aria-label="Departure" autocomplete="nope"
              data-ng-model="timetable.trips[0].departure.typed" data-dev-keyvent="" data-x-edit-active="" data-ng-change="timetable.hasDateChanged(0)" jq-datepicker="" data-target="timetable.trips" data-index="0"
              data-jq-start-date="2022-02-03T18:57:32.894Z" data-jq-end-date="2022-02-10T18:57:32.894Z" tabindex="0" aria-invalid="false">
          </label>
        </div>
      </div>
    </div>
    <div class="row secondary-section-container">
      <div class="col-lg-4 col-md-4 col-sm-12 col-xs-12" ng-show="!bookingclass" aria-hidden="false">
        <label for="ac_class_of_service" class="sr-only">Class of service</label>
        <span class="form-element-wrapper select-dropdown-wrapper">
          <select aria-invalid="false" aria-required="true" tabindex="0" data-x-place-arrow="" class="form-control ng-pristine ng-untouched ng-valid ng-not-empty" id="ac_class_of_service" name="ac_class_of_service"
            ng-model="timetable.ac_class_of_service" ng-options="serviceClass.label for serviceClass in lexic.serviceClassesSelect">
            <option label="Class of service" value="object:177" selected="selected">Class of service</option>
            <option label="Economy Class" value="object:178">Economy Class</option>
            <option label="Premium Economy Class" value="object:179">Premium Economy Class</option>
            <option label="Business Class" value="object:180">Business Class</option>
          </select>
        </span>
      </div>
      <div class="btnTimetableSearch col-lg-2 col-md-2 col-sm-12 col-xs-12 pull-right">
        <button id="btnTimetableSearch" class="btn btn-primary pull-right col-sm-12 col-xs-12" data-ng-click="searchTimetable();" tabindex="0">Find</button>
      </div>
    </div>
  </fieldset>
</form>

Text Content

Loading...
   
 * Skip to homepage
   
   
   
 * Skip to main navigation
   
   
 * Skip to content
   
 * Skip to search field
   
   
 * Skip to footer links
 * Skip to site map
 * Skip to contact

Search site Find
Flight Search
Special Offers
Book Book
 * 
 * Book Travel
 * Routes and Partners
 * Flight Passes
 * Fare Options and Fees
 * Business Travel
 * Upgrades Opens in a New Window

Plan Plan
 * 
 * Baggage
 * Check-In Information
 * Travel Requirements
 * Special Assistance
 * Peace of Mind

Fly Fly
 * 
 * Flight Information
 * On Board
 * Customer Support
 * Air Canada on your Mobile
 * At the Airport
 * Premium Services

Aeroplan Aeroplan
 * Aeroplan Overview
 * Earn points
 * Redeem points
 * Aeroplan Elite Status
 * Aeroplan Credit Cards


Join Aeroplan

Sign in

Air Canada for Business
Select your edition and language. You are currently on the Canada English
edition.   site_edition.selector.currency.sr_only.text

English CA$

Accessibility
Customer Support
Accessibility
Select your edition and language. You are currently on the Canada English
edition.   site_edition.selector.currency.sr_only.text

English CA$

Search site Find
Hamburger Navigation

Book
Book Travel
 * Flight
 * Vacations Opens in a New Window
 * Car
 * Hotel
 * Airport Transfer Opens in a New Window External site which may not meet
   accessibility guidelines.
 * Air Canada Stopover
 * Group Travel

Routes and Partners
 * Where We Fly Opens in a New Window
 * Flight Schedules
 * Star Alliance and other Airline Partners
 * Air Canada Rouge Opens in a New Window
 * Air Canada Jetz and Charters
 * Air Canada Cargo Opens in a New Window
 * Toronto – Montreal/Ottawa Service

Flight Passes
 * Purchase
 * Book / Manage
 * View Bookings
 * Payment Methods
 * Air Canada Gift Cards
 * AC Conversion Card
 * All our Payment Options


Fare Options and Fees
 * Manage Bookings

Business Travel
 * Small / Midsize Businesses
 * Large Corporations
 * Meetings and Events

Upgrades Opens in a New Window
 * Why Book With Us
 * Travel News & Updates

Special Offers

Popular Destinations:

 * Toronto
 * Montreal
 * Vancouver
 * Flights to Canada
 * Flights to U.S.
 * Flights to U.K.

Close
Plan
Baggage
 * Carry-On Baggage
 * Checked Baggage
 * Special Items
 * Restricted Items
 * Delayed/Damaged
 * Ship your luggage ahead

Check-In Information
 * Check In Now Opens in a New Window
 * How to Check In
 * Check-In / Boarding Times
 * Minimum Connection Times

Travel Requirements
 * Travel Ready hub
 * Travel Documents
 * Customs and Immigration
 * Advance Passenger Information (APIS)
 * U.S. Secure Flight Program


Special Assistance
 * Travelling with Children
 * Children Travelling Alone
 * Travelling with your Pet
 * Special Meals
 * Bereavement Fares

Peace of Mind
 * Before You Go Checklist
 * Health and Travel Tips
 * Advance Seat Selection
 * On My Way Service
 * Travel Insurance
 * Frequently Asked Questions

Use our calculator to determine your free checked baggage allowance.

 

Visit our COVID-19 hub for where we fly, entry requirements and more.

Close
Fly
Flight Information
 * Flight Status
 * Daily Travel Outlook
 * Flight Notification
 * Flight Disruptions

On Board
 * Our Fleet
 * Cabins and Onboard Meals
 * In-flight Entertainment
 * enRoute
 * Preferred Seats
 * Wi-Fi
 * Duty Free

Customer Support
 * Frequently Asked Questions
 * ACCredit, eCoupons and Travel Vouchers
 * Customer Service Plan
 * Customer Relations Opens in a New Window External site which may not meet
   accessibility guidelines.
 * Receipt RequestsExternal site which may not meet accessibility guidelines.
 * Refund Services
 * Contact Us


Air Canada on your Mobile
 * Air Canada App
 * Mobile Check-in
 * Electronic Boarding Passes
 * Air Canada mobile+

At the Airport
 * Airport Information
 * Self Service Kiosks
 * Boarding by Zone

Premium Services
 * Maple Leaf Lounges
 * Priority Services
 * Concierge Services

Visit our COVID-19 hub for where we fly, entry requirements and more.

Close
Aeroplan
My Aeroplan
eStore Shopping
Hotels & cars
Aeroplan Credit Cards
Already a member? Sign in
 * Program overview
 * Earn points
 * Redeem points
 * Buy, donate, and more
 * Promotions

Join now
Customer Support
Special Offers
Sign in
See your profile

Join Aeroplan

Sign in

Air Canada for Business
 * About Aeroplan Elite Status
 * Aeroplan partners
 * Buy, donate and more
 * Credit cards overview
 * Earn
 * Family sharing
 * Hotels and car rentals
 * News
 * Promotions
 * Redeem

 * Conversion programs
 * Deposit points
 * Estate policy
 * Inactivity policy
 * Request missing points

 * Points Predictor Tool
 * Redeem with Air Canada

 * Earn with Air Canada

 * About eUpgrades
 * Aeroplan 25K Status benefits
 * Aeroplan 35K Status benefits
 * Aeroplan 50K Status benefits
 * Aeroplan 75K Status benefits
 * Aeroplan Elite Status benefits
 * Aeroplan Super Elite Status benefits
 * Elite Status Terms and Conditions
 * Million Mile program
 * Priority Rewards for Elite Status Members
 * Qualifying for Aeroplan Elite Status
 * Report a SQD discrepancy
 * Threshold eUpgrades and gifts

 * Report eUpgrades discrepancies
 * Requesting your eUpgrades
 * eUpgrade Policy
 * eUpgrades for companions

 * American Express Aeroplan Cards
 * CIBC Aeroplan Credit Cards
 * TD Aeroplan Credit Cards

 * American Express Aeroplan Business Reserve Card
 * American Express Aeroplan Cards
 * American Express Aeroplan Cards benefits
 * American Express Aeroplan Corporate Cards
 * American Express Aeroplan Corporate Cards benefits

 * CIBC Aeroplan Credit Cards benefits
 * CIBC Aeroplan Personal Credit Cards
 * CIBC Aeroplan Visa Business Card

 * TD Aeroplan Credit Cards benefits
 * TD Aeroplan Personal Credit Cards
 * TD Aeroplan Visa Business Credit Card

 * Accumulation changes for Avianca!
 * Air Serbia joins Aeroplan
 * Azul joins Aeroplan
 * More flexibility for our members
 * Vistara joins Aeroplan

 * Starbucks

 * LCBO


HOW TO PREPARE FOR TRAVEL

Review the latest COVID-19 travel requirements and find answers to your
frequently asked questions.

Travel requirements
   
 * Travel requirements
   
 * Testing solutions
   
 * Day of travel
   
 * Health and safety
   
 * Changes and cancellations
   


HOW TO PREPARE FOR TRAVEL

Review the latest COVID-19 travel requirements and find answers to your
frequently asked questions.

1


VIEW ENTRY AND TESTING REQUIREMENTS

Are you fully vaccinated?

Trip type Round-trip
   
 * One-way
   
 * Round-trip
   

Connection type No connections
   
 * No connections
   
 * Connections both ways
   
 * Outbound connection
   
 * Return connection
   

Nationality Passport: CAN

Departure

From
From
Clear
Enter the city name, airport code, province or country/region.
Enter the three first characters of the city, airport, country/region, province
or state you are leaving from, then use your arrow keys to move up or down the
list of airports provided to make your selection.
Connect
Connect
Clear
Enter the city name, airport code, province or country/region.
Enter the three first characters of the city, airport, country/region, province
or state you are leaving from, then use your arrow keys to move up or down the
list of airports provided to make your selection.
To
To
Clear
Enter the city name, airport code, province or country/region.
Enter the three first characters of the city, airport, country/region, province
or state you are leaving from, then use your arrow keys to move up or down the
list of airports provided to make your selection.

Departure
Departure 03 Feb



Return

From
From
Clear
Enter the city name, airport code, province or country/region.
Enter the three first characters of the city, airport, country/region, province
or state you are leaving from, then use your arrow keys to move up or down the
list of airports provided to make your selection.
Connect
Connect
Clear
Enter the city name, airport code, province or country/region.
Enter the three first characters of the city, airport, country/region, province
or state you are leaving from, then use your arrow keys to move up or down the
list of airports provided to make your selection.
To
To
Clear
Enter the city name, airport code, province or country/region.
Enter the three first characters of the city, airport, country/region, province
or state you are leaving from, then use your arrow keys to move up or down the
list of airports provided to make your selection.

Return
Return 10 Feb

Find


Round-trip to

ConnectionsNo connections

Travel dates03 Feb - 10 Feb

Vaccination statusFully vaccinated

Edit

Already have a reservation? Review requirements for your trip.

Travel requirements provided by External site which may not meet accessibility
guidelines.

2


ENJOY A TOUCHLESS TRAVEL EXPERIENCE

Download the Air Canada mobile app for touchless travel, from check-in to
takeoff.

Learn more


3


ARRIVE AT THE AIRPORT EARLY

Airports are much busier than normal. Arrive earlier than usual and review
check-in and boarding times for your itinerary.

Learn more



FREQUENTLY ASKED QUESTIONS

Testing & vaccinations for travel
Do I need to be vaccinated to travel?

All passengers aged 12 years plus 4 months or older need to be fully vaccinated
to board a flight departing from most airports in Canada.

If you are aged 12 years plus 4 months or older, you must comply with the
following to board your flight:

 * be fully vaccinated with accepted vaccines External site which may not meet
   accessibility guidelines.
 * be ready at any point in your journey to show your official proof of
   vaccinationExternal site which may not meet accessibility guidelines.
 * have received your second dose at least 14 full days prior to the day you
   travel
 * have no signs or symptoms of COVID-19
 * wear a mask




COVID-19 tests

If you qualify as fully vaccinated, a COVID-19 test is not needed to board your
flight in Canada unless you are flying to a country that requires it.

A COVID-19 molecular test is no longer accepted as an alternative to vaccination
unless you are eligible for one of the limited exemptions as defined by the
Government of Canada .External site which may not meet accessibility guidelines.

Find out how to request an exemption due to medical reasons, or an exemption
based on other reasons.

Do I need a COVID-19 test before I travel?

Many countries, including Canada, require proof of a negative COVID-19 test as
part of your journey.

Depending on your destination, a negative test result taken within a specified
time frame may be required prior to departure, upon landing, or both. Certain
countries require a negative COVID-19 test result even if you are only
connecting through to another destination. You may not be able to board your
flight without the correct documentation. Learn more.

What type of COVID-19 test do I need for travel to Canada?

All customers 5 years of age or older entering Canada from an international
destination are required to provide a negative COVID-19 molecular (PCR, NAT/NAAT
or LAMP) test prior to boarding a flight. Antigen tests are not accepted for
entry into Canada. Learn more about accepted test typesExternal site which may
not meet accessibility guidelines..

Where can I get a COVID-19 test approved for travel?

To find a list of testing entities, including portable testing options, please
use the entry and testing requirements tool above. Testing locations and
information is available for both departure and arrival destinations.

What steps do I take for COVID-19 testing for my trip?

Most countries require a negative COVID-19 test before entering, so make sure
you’re Travel Ready by obtaining an accepted COVID-19 test type with a suitable
report for travel purposes. Familiarize yourself with these important steps:

 1. Know when to take your test
    If your test is taken outside of the time frame allowed by your destination,
    you may not be able to board your flight. Find your testing time frame.
 2. Allow enough time to get the results
    Check with your testing entity to understand how long it typically takes to
    get your test result.
 3. Know what type of test your destination requires
    There are many test types. The main type is a molecular test, which includes
    PCR (the most common), RT-PCR, NAT/NAAT, RT-LAMP, etc., and is the only test
    type accepted for entry into CanadaExternal site which may not meet
    accessibility guidelines..
    
    Another type is an antigen test, which is not as widely accepted. Canada
    does NOT accept antigen tests, but they are accepted by some countries,
    including the United States.
 4. Get your test from a testing entity with the correct accreditation
    Many countries require that test results include information such as the
    test date, lab address, and your date of birth. Public Health Testing
    Centres in Canada or other countries may not provide accepted test results
    for travelExternal site which may not meet accessibility guidelines..
    
    Learn more.

Can I travel with mixed vaccination doses?

Accepted vaccination doses are determined by the government of each country and
varies from country to country. Find out if your destination accepts travellers
with mixed vaccine doses.

Do I have to take a COVID-19 test when I arrive in Canada?

Yes, the Government of Canada has introduced mandatory arrival COVID-19 testing
for all travellers who have been in any country (other than the US) in the 14
days prior to entry to Canada.

Register with a testing provider for your on-arrival COVID-19 molecular test now
to save time at the airport when you arrive. Select a testing provider based on
the first airport you arrive at in Canada.

The Government of Canada recommends that you register for your on-arrival test
with the same email address that you use with your ArriveCAN account.

Register today

Are there any exemptions to the testing requirements?

All Air Canada passengers must comply with testing requirements as regulated by
the Government of Canada and governments around the world. The Government of
Canada has issued a no-exemption regulation for most travellers, which requires
passengers to undergo COVID-19 testing regardless of the length of their trip,
vaccination status, or citizenship status.

For more information, use our entry requirements tool.

I am fully vaccinated. Do I have to quarantine upon entry to Canada?

Canadian travellers and foreign nationals entering Canada from all other
countries (except the US) will now be required to complete a COVID-19 molecular
test on arrival. The test will be conducted on-site at the airport, or you’ll be
provided a take-home test kit. Travellers asked to complete an arrival test must
quarantine at their final destination and approved quarantine location until a
negative result is confirmed or a 14-day period passes - whichever comes first.

Learn more about the Government of Canada's regulations.External site which may
not meet accessibility guidelines.

I am unvaccinated. What do I need to do upon arrival to Canada?

At this time, the only unvaccinated travellers who are allowed to enter Canada
are Canadian citizens. If you are not a Canadian citizen or permanent resident
and are not vaccinated, you may not be permitted to enter the country. Some
exemptions apply:  Find out if you can enter CanadaExternal site which may not
meet accessibility guidelines..

For Canadian citizens and permanent residents: While quarantine is not required,
your trip must terminate at your first point of entry in Canada. To reach your
final destination in Canada, you must arrange for private transportation at your
own expense. This means that you may not be permitted to board any domestic
connecting flights that were previously booked. For more details including how
to rebook, please see our flexible rebooking options. Some exemptions
applyExternal site which may not meet accessibility guidelines..

For foreign nationals: Travel continues for essential purposesExternal site
which may not meet accessibility guidelines. only. Starting January 15,
unvaccinated or partially vaccinated foreign nationals will only be allowed to
enter Canada if they meet the criteria for limited exceptions, which apply to
certain groups such as agricultural and food processing workers, marine crew
members, those entering on compassionate grounds, new permanent residents,
resettling refugees and some children under the age of 18. Exempt unvaccinated
travellers will continue to be subject to testing, quarantine, and other entry
requirements. Non-exempt unvaccinated or partially vaccinated foreign nationals
will be prohibited entry into Canada.

Learn more about the regulations for unvaccinated travellers provided by the
Government of CanadaExternal site which may not meet accessibility guidelines..

I’ve tested positive for COVID-19 and recovered. Can I use my positive COVID-19
molecular test result to travel into Canada?

Yes, if you’ve tested positive for COVID-19 and recovered, you can use your
positive COVID-19 molecular test result as an alternative to a negative COVID-19
molecular test for travel into Canada. You’ll also be exempt from the mandatory
arrival testing if travelling from a destination outside of United States or
Canada.

The proof of a positive test result for entry into Canada must come from any of
the following accepted types of molecular tests:

 * PCR – Polymerase chain reaction
 * Nucleic acid test (NAT) or Nucleic acid amplification test (NAATs)
 * Reverse transcription loop-mediated isothermal amplification (RT-LAMP, such
   as the Switch Health at-home RT-LAMP test kit External site which may not
   meet accessibility guidelines.)

It needs to include the following information:

 * Traveller name and date of birth
 * Name and civic address of the laboratory/clinic/facility that administered
   the test
 * The date on which the test was taken
 * The type of test taken
 * The test result

The positive COVID-19 molecular test must have been taken at least 11  and no
more than 180 days before the date of your scheduled departure to Canada. Day 0
is the date of collection for your positive test result and you would be
eligible to travel to Canada on Day 11. For example, if your sample was
collected on January 15 (Day 0), you received your result on January 16 (Day 1),
you would be able to fly to Canada as of January 26 (Day 11).

I’ve tested positive for COVID-19 and recovered. Can I use my positive COVID-19
molecular test result to travel from Canada to another country?

If you’re travelling to the United States, you may use your positive COVID-19
viral test result on a sample taken no more than 90 days before the flight’s
departure, if you also have a letter from a licensed healthcare provider or a
public health official stating that you’re cleared to travel.

For all other countries, please check the requirements of your country you are
travelling to and verify if a positive COVID-19 test (along with any other
documentation) can be used for entry.

Before you travel
What do I need to do before I book a trip?

If you’re ready to start planning your next trip, you can explore your options
with our easy-to-use Travel Ready hub, designed to make it simple for you to
choose where to go next.

To ensure a smooth travel experience, we recommend you view the latest travel
requirements for each country on your itinerary. Simply input your citizenship,
origin, destination, any connections, and vaccination status to see which
destinations are open for travel.

Ready to book? Book now.

What do I need to do the week before my trip?

Follow these important steps:

 * Check the latest entry requirements for all the countries you are visiting
   and connecting through.
 * If you are required to get a COVID-19 test, ensure it’s the correct test
   type, taken in the correct time frame. Check with your testing entity when
   you should expect your test results. Find a testing location.
 * Complete any necessary forms and bring them with you.
 * Locate your vaccination records and keep a digital and printed copy with you
   (if applicable).



Note that all travellers to Canada must submit their travel information using
the ArriveCan appExternal site which may not meet accessibility guidelines. or
website.

Flight and entry requirements vary by destination. Requirements may include, but
are not limited to, proof of a negative COVID-19 test, entry forms, on-arrival
testing and quarantine. Documents and test types required for your outbound
travel may differ from those required for the return.

We recommend contacting the embassy, high commission or consulate of each
country on your itinerary for further information.

What do I need to do the day of my trip?

Follow these important steps:

 1. Review the latest travel and health requirements for each country on your
    itinerary.
 2. Complete forms or any other items your destination requires.
 3. Validate your COVID-19 health documents during online or mobile check-in
    before arriving at the airport (currently available on select routes).
    Health documents can also be uploaded on the My Bookings page.
 4. Print copies of your negative COVID-19 test result, pre-departure forms, and
    vaccination records, as needed. Some countries require digital completed
    forms, while others require you to show a printed copy at boarding. We
    recommend bringing printed copies of all documents in your carry-on baggage.
 5. Airports are much busier than normal. Make sure to arrive earlier than
    usual.



Travel to, through, and within Canada
What are the requirements and restrictions for travel within Canada?

There may be requirements and restrictions set out by each province and
territory. To learn more, select your destination below or enter your origin and
destination in our entry requirements tool.



 * AlbertaExternal site which may not meet accessibility guidelines.
 * British ColumbiaExternal site which may not meet accessibility guidelines.
 * ManitobaExternal site which may not meet accessibility guidelines.
 * New BrunswickExternal site which may not meet accessibility guidelines.
 * Newfoundland and LabradorExternal site which may not meet accessibility
   guidelines.
 * Northwest TerritoriesExternal site which may not meet accessibility
   guidelines.
 * Nova ScotiaExternal site which may not meet accessibility guidelines.
 * NunavutExternal site which may not meet accessibility guidelines.
 * OntarioExternal site which may not meet accessibility guidelines.
 * Prince Edward IslandExternal site which may not meet accessibility
   guidelines.
 * QuebecExternal site which may not meet accessibility guidelines.
 * SaskatchewanExternal site which may not meet accessibility guidelines.
 * YukonExternal site which may not meet accessibility guidelines.



What do I need to do to connect through Canada?

Transit through Canada is permitted when travelling to another country. Learn
about the required stepsExternal site which may not meet accessibility
guidelines..

Does Canada allow international travellers?

As of August 9, 2021, fully vaccinated Americans are allowed to enter Canada.

On September 7, 2021, Canada’s borders re-opened to all fully vaccinated
travellers who have been vaccinated with a Government of Canada-accepted vaccine
at least 14 days prior to entering Canada and who meet all other relevant entry
requirements.

Air Canada recommends consulting the Government of Canada’s Travel
WizardExternal site which may not meet accessibility guidelines. prior to
travelling to verify if you are allowed to enter Canada.

All travellers to Canada must submit their travel information using the
ArriveCan appExternal site which may not meet accessibility guidelines. or
websiteExternal site which may not meet accessibility guidelines.. Fully
vaccinated travellers eligible to enter Canada do not need to quarantine upon
arrival.

Learn more about the Government of Canada's regulations. External site which may
not meet accessibility guidelines.

Our safety measures
Does Air Canada require passengers to wear face coverings while on board?

Yes. For all passengers over the age of 2, face coverings are a mandatory
requirement issued by Transport Canada and the U.S. Transportation of Security
Administration while boarding, onboard and while deplaning.

Learn more about acceptable face coverings and exemptions.

What are Air Canada’s grooming procedures to eliminate the virus which causes
COVID-19?

The 2019 Skytrax World Airline Awards have already recognized Air Canada for
Best Airline Cabin Cleanliness in North America.

With the onset of COVID-19, we expanded our aircraft grooming procedures, which
already incorporated the use of hospital-disinfectant and specialized
techniques, to include electrostatic spraying of cabin interiors. All cleaning
products we use, including disinfectants, are fully approved for use by Health
Canada.

As per PHAC guidelines and other resources, coronaviruses do not readily survive
on soft materials (headrest covers, seat covers, carpets, etc.). However, these
are replaced if soiled. If we are informed by an appropriate health authority
that a potentially infected passenger has been on an aircraft, this is taken out
of service for deep grooming as per PHAC guidance.

Can I be infected by the air in the aircraft if an infected passenger is
onboard?

Our aircraft are equipped with High-Efficiency Particulate Air (HEPA) filters,
which effectively capture 99.9% of particulates from recirculated air in the
aircraft cabin. This includes microbial organisms such as bacteria and viruses.

These filters are similar to those used in hospital rooms, and like hospital
rooms, the air within the cabin is refreshed every 2 to 3 minutes for a total of
20 to 30 total air changes per hour.

What kind of safety items does Air Canada provide its passengers onboard?

As part of our CleanCare+ program, we distribute complimentary Customer Care
Kits, which include: hand sanitizer packets, two antiseptic wipes, and facemasks
(non-surgical) to all customers onboard all Air Canada and Air Canada Express
flights.

For sanitary reasons, the bag used to package these Care Kit items also doubles
as a trash bag to dispose of any personal items.

How does Air Canada ensure its employees are healthy and safe?

Air Canada is 100% compliant with all Transport Canada and PHAC health and
safety directives for crews and employees, including self-isolation.

Any employee who feels ill or experiences any COVID-19 symptoms must stay home
and seek medical advice.

We also require all customer-facing employees to use Personal Protective
Equipment such as face guards, masks and gloves, and all employees have access
to hand sanitizer. Our in-flight crew is also additionally provided with safety
glasses and gowns.

Back to top


TESTING SOLUTIONS

Most countries require a negative COVID-19 test, so make sure you’re Travel
Ready by familiarizing yourself with these important steps:

Know what type of test you need

Know when to take your test

Get your test from an approved testing entity

Allow enough time to get the results

Not sure which test type you need? Review the testing requirements for your
destination.


TAKE A COVID-19 TEST FROM THE COMFORT OF HOME OR ABROAD

Buy nowExternal site which may not meet accessibility guidelines.


CUE HEALTH TEST KITS

The Cue Health Monitoring System makes testing easier with a fast, PCR-quality
molecular COVID-19 test that can be self-administered at home or abroad,
accompanied by virtual supervision. As a part of Cue Health’s solution, receive
a reusable Cue Cartridge Reader and single-use test cartridges with sample
wands.

 * Meets entry requirements for Canada, the U.S., and countries that accept
   molecular tests
 * Self-administer anywhere with a virtually supervised session through the Cue
   Health App
 * Use the Cartridge Reader unlimited times, perfect for frequent travellers or
   families
 * Get results in about 20 minutes with an official digital report suitable for
   travel (check requirements if outside of Canada or the U.S.)
 * FSA/HSA eligible

Important information for your test:

So that your test is accepted for travel, make sure that you complete your test
with supervised proctoring. To do so, select “Yes” under the “Supervised Test
for Work, School, or Travel?” section on the Cue Health App

*Currently, Cue Health Monitoring System can only be shipped to addresses in the
United States and require the use of the U.S. version of the Cue Health App for
supervised testing. The Canadian version of the Cue Health App featuring
supervised testing will be available early 2022.


EASY AND AFFORDABLE TRAVEL TESTING WITH SWITCH HEALTH

RT-LAMP Kit Rapid Antigen Kit RT-PCR Collection Kit In clinic
Previous


IN CLINIC TESTING

Visit a Switch Health Travel Clinic in Calgary, the Toronto region, Vancouver,
or Halifax to complete a test and get an official electronic report suitable for
travel

RT-PCR test
Get your result in about 24-48 hours.

Rapid antigen test
Get your result in about 30 minutes.

Book nowExternal site which may not meet accessibility guidelines.



RECOMMENDED FOR ENTRY TO CANADA*


SWITCH HEALTH RT-LAMP TEST KIT

Get your result in about 45 minutes**

A portable, self-administered test that is accepted for re-entry into Canada,
among other countries, and can be completed from the comfort of your home or
accommodation around the world via a Telehealth session***.

How to buy

$149

for Aeroplan Members + earn 500 points per kit

Buy nowExternal site which may not meet accessibility guidelines.

25.7Kpts

from the Aeroplan eStore

Buy nowExternal site which may not meet accessibility guidelines.



RECOMMENDED FOR TRAVEL TO UNITED STATES


SWITCH HEALTH RAPID ANTIGEN TEST KIT

Get your result in about 30 minutes

A portable, self-administered rapid test that can be completed from the comfort
of your home or accommodation around the world via a Telehealth session***.

How to buy

$79

for Aeroplan Members + earn 500 points per kit
Each kit contains two tests.

Buy nowExternal site which may not meet accessibility guidelines.

14.1Kpts

from the Aeroplan eStore

Buy nowExternal site which may not meet accessibility guidelines.




SWITCH HEALTH RT-PCR COLLECTION KIT

Get your result in about 24-48 hours

A self-collection test kit you can use from the comfort of your home, with
courier pickup to send your sample to a lab.

How to buy

$159

for Aeroplan Members + earn 1,000 points per kit

Buy nowExternal site which may not meet accessibility guidelines.

26.9Kpts

from the Aeroplan eStore

Buy nowExternal site which may not meet accessibility guidelines.




IN CLINIC TESTING

Visit a Switch Health Travel Clinic in Calgary, the Toronto region, Vancouver,
or Halifax to complete a test and get an official electronic report suitable for
travel

RT-PCR test
Get your result in about 24-48 hours.

Rapid antigen test
Get your result in about 30 minutes.

Book nowExternal site which may not meet accessibility guidelines.



RECOMMENDED FOR ENTRY TO CANADA*


SWITCH HEALTH RT-LAMP TEST KIT

Get your result in about 45 minutes**

A portable, self-administered test that is accepted for re-entry into Canada,
among other countries, and can be completed from the comfort of your home or
accommodation around the world via a Telehealth session***.

How to buy

$149

for Aeroplan Members + earn 500 points per kit

Buy nowExternal site which may not meet accessibility guidelines.

25.7Kpts

from the Aeroplan eStore

Buy nowExternal site which may not meet accessibility guidelines.



RECOMMENDED FOR TRAVEL TO UNITED STATES


SWITCH HEALTH RAPID ANTIGEN TEST KIT

Get your result in about 30 minutes

A portable, self-administered rapid test that can be completed from the comfort
of your home or accommodation around the world via a Telehealth session***.

How to buy

$79

for Aeroplan Members + earn 500 points per kit
Each kit contains two tests.

Buy nowExternal site which may not meet accessibility guidelines.

14.1Kpts

from the Aeroplan eStore

Buy nowExternal site which may not meet accessibility guidelines.




SWITCH HEALTH RT-PCR COLLECTION KIT

Get your result in about 24-48 hours

A self-collection test kit you can use from the comfort of your home, with
courier pickup to send your sample to a lab.

How to buy

$159

for Aeroplan Members + earn 1,000 points per kit

Buy nowExternal site which may not meet accessibility guidelines.

26.9Kpts

from the Aeroplan eStore

Buy nowExternal site which may not meet accessibility guidelines.




IN CLINIC TESTING

Visit a Switch Health Travel Clinic in Calgary, the Toronto region, Vancouver,
or Halifax to complete a test and get an official electronic report suitable for
travel

RT-PCR test
Get your result in about 24-48 hours.

Rapid antigen test
Get your result in about 30 minutes.

Book nowExternal site which may not meet accessibility guidelines.


Next
 * 1
 * 2
 * 3
 * 4

Not an Aeroplan Member? Join before you purchase your COVID-19 test to start
earning points! Join now.

* If you are travelling to Canada from Morocco or India, please note that you
cannot submit an RT-LAMP test. Learn more about the entry requirements.
**Results typically take less than 45 minutes but are subject to variability.
There are some countries that require a lab-based molecular test and therefore
do not accept an RT-LAMP test. Ensure your destination accepts a rapid molecular
test like an RT-LAMP test. The RT-LAMP test kit meets the testing requirements
for entry into Canada.
***Access to internet and a mobile device with a camera is required to join the
telehealth session to complete your test. Telehealth sessions are available 24
hours a day, 7 days a week.

Terms and conditions

--------------------------------------------------------------------------------

Molecular test: Switch Health RT-LAMP Test Kit

Aeroplan Members will receive a discounted retail price and earn 500 Aeroplan
points per RT-LAMP test kit purchased online through Switch HealthExternal site
which may not meet accessibility guidelines.. In order to be eligible to earn
Aeroplan points, members must enter their Aeroplan number in the appropriate
field on the Switch Health websiteExternal site which may not meet accessibility
guidelines. before purchasing their test kit. The discounted retail price and
Aeroplan points per molecular test is subject to change. Standard shipping costs
are included in the price. Express shipping is available for an additional $15.
Points will be credited to the member’s account within 4 weeks of purchasing the
Molecular test kit. Switch Health Test Kits are non-refundable. RT-LAMP test
kits are Rapid Molecular tests not lab based Molecular tests. Ensure your
destination accepts this type of Molecular test before purchasing. The RT-LAMP
test kits meet the requirements for entry set out by the Government of Canada.
The RT-LAMP test kit can be used anywhere in the world but requires access to
the internet and a mobile device to complete the tests. Switch Health telehealth
is available 24/7.

Switch Health Rapid Antigen Test Kits

Aeroplan Members will receive a discounted retail price and earn 500 Aeroplan
points per Switch Health Rapid Antigen test kit purchased online through Switch
HealthExternal site which may not meet accessibility guidelines.. Each Rapid
Antigen Test Kit includes two tests. In order to be eligible to earn Aeroplan
points, members must enter their Aeroplan number in the appropriate field on the
Switch Health websiteExternal site which may not meet accessibility guidelines.
before purchasing their test kits. The discounted retail price and Aeroplan
points per Rapid Antigen test kit is subject to change. Standard shipping costs
are included in the price. Express shipping is available for an additional $10.
Points will be credited to the member’s account within 4 weeks of purchasing the
Switch Health Rapid Antigen test kit. Switch Health Test Kits are
non-refundable. The Rapid Antigen test kit can be used anywhere in the world but
requires access to the internet and a mobile device to complete the tests.
Switch Health telehealth is available 24/7.

Molecular test: Switch Health RT-PCR Collection Kit

Aeroplan Members will receive a discounted retail price and earn 1,000 Aeroplan
points per Switch Health RT-PCR Collection Kit purchased online through Switch
HealthExternal site which may not meet accessibility guidelines.. In order to be
eligible to earn Aeroplan points, members must enter their Aeroplan number in
the appropriate field on the Switch Health websiteExternal site which may not
meet accessibility guidelines. before purchasing their tests. The discounted
retail price and Aeroplan points per Molecular test is subject to change. The
RT-PCR Collection Kit must be mailed to a lab for processing and therefore can
only be shipped to and used in some regions of Canada. Two-way shipping costs
are included in the price. Express outbound shipping is available for an
additional $15. Results take on average 24-48 hours but are subject to
variability. Points will be credited to the member’s account within 4 weeks of
purchasing the Molecular test. Switch Health tests are non-refundable. Switch
Health telehealth is available 24/7.

Molecular test: In Clinic RT-PCR test

Aeroplan Members will receive a discounted retail price and earn 1,000 Aeroplan
points per in-clinic RT-PCR test booked online through Switch HealthExternal
site which may not meet accessibility guidelines.. In order to be eligible to
earn Aeroplan points, members must enter their Aeroplan number in the
appropriate field on the Switch Health websiteExternal site which may not meet
accessibility guidelines. before booking an appointment at a Switch Health
clinic. The discounted retail price and Aeroplan points per Molecular test is
subject to change. Results take on average 24-48 hours but are subject to
variability. Points will be credited to the member’s account within 4 weeks of
purchasing the Molecular test. Switch Health Collection or Test Kits are
non-refundable.

In Clinic Rapid Antigen Test

Aeroplan Members will receive a discounted retail price and earn 500 Aeroplan
points per in clinic Rapid Antigen test booked online through Switch
HealthExternal site which may not meet accessibility guidelines.. In order to be
eligible to earn Aeroplan points, members must enter their Aeroplan number in
the appropriate field on the Switch Health websiteExternal site which may not
meet accessibility guidelines. before booking an appointment at a Switch Health
clinic. The discounted retail price and Aeroplan points per Rapid Antigen test
is subject to change. Points will be credited to the member’s account within 4
weeks of purchasing the Antigen test. Switch Health COVID-19 Tests are
non-refundable. 

Switch Health and Air Canada are not responsible for ensuring customers complete
the correct test for their destination. It is up to the customer to ensure they
are aware of and understand the testing entry requirements for their
destination. Note that some countries require a lab based molecular test and
therefore the RT-LAMP test would not be accepted for entry. Learn about the
entry requirements for your destination.

Find more information on Switch HealthExternal site which may not meet
accessibility guidelines..

® Aeroplan is a registered trademark of Aeroplan Inc, used under license
® The Air Canada maple leaf logo is a registered trademark of Air Canada, used
under license
® Air Canada is a registered trademark of Air Canada, used under license

Back to top


DAY OF TRAVEL

Learn more about what to expect and how to be prepared for your travel journey.

How to check in

We offer several simple ways to quickly check in to your upcoming flight,
including the Air Canada app.

When to arrive at the airport

Airports are much busier than normal and you must arrive for your flight earlier
than usual. Review check-in and boarding times for your itinerary.


Upload your COVID-19 health documents before you travel

Conveniently validate government health travel documents prior to arriving at
the airport.

Ensure a more seamless experience at the airport by validating your COVID-19
health documents during check-in or on the Manage my Booking page. Upload your
COVID-19 health documents, including your molecular test results, into the Air
Canada app, or use your camera-equipped mobile or tablet to scan the QR code on
your documents. Learn more.

Flying into Canada? You must also upload your travel information and proof of
vaccination (if applicable) to the ArriveCAN appExternal site which may not meet
accessibility guidelines. before your flight.

TouchFree Bag services

Checking your bag can be entirely touchless with our TouchFree Bag Check and Bag
Drop services.

At select airports, you can now check your bags in a completely touchless way.
Simply look for the TouchFree Bag Check signs.

Here’s how:

 * Check in for your flight via the Air Canada app or at aircanada.com and get
   your boarding pass in advance.
 * Indicate the exact number of bags you need to check in and pay applicable
   fees in advance.
 * At the airport, proceed to dedicated TouchFree Bag Check kiosks and:
   1. Scan your mobile boarding pass
   2. Print your bag tags and attach
 * Proceed to TouchFree Bag Drop. Drop off your bags following the instructions.



Where to find TouchFree Bag services:

 * Toronto Pearson International Airport (YYZ)
 * Montréal-Trudeau International Airport (YUL)
 * Ottawa International Airport (YOW)
 * Vancouver International Airport (YVR)
 * Calgary International Airport (YYC)
 * Edmonton International Airport (YEG)
 * Halifax International Airport (YHZ)
 * Winnipeg International Airport (YWG)
 * Victoria International Airport (YYJ)
 * Nanaimo Airport (YCD)
 * Saskatoon International Airport (YXE)
 * Thunder Bay International Airport (YQT)
 * London Ontario Airport (YXU)
 * Moncton International Airport (YQM)
 * Québec City International Airport (YQB)
 * St. John's International Airport (YYT)
 * Kelowna International Airport (YLW)
 * Los Angeles International Airport (LAX)
 * Newark International Airport (EWR)
 * Boston Logan International Airport (BOS)
 * Ronald Reagan Washington National Airport (DCA)
 * Fort Lauderdale International Airport (FLL)
 * Chicago O'Hare International Airport (ORD)

Onboard service offering

Before you fly, take a look at what we're serving on board.


LEARN ABOUT OUR CABINS AND ONBOARD MEALS, OR USE THE TOOL BELOW TO SEE WHAT
WE'RE SERVING DURING YOUR FLIGHT:

By Flight Number
By Route

Flight Status: By number
Flight Number AC AC
Departure
Departure
Class of service Class of serviceEconomy ClassPremium Economy ClassBusiness
Class
Find
Flight Status: By route
FROM
FROM
Clear

TO
TO
Clear

Departure
Departure
Class of service Class of serviceEconomy ClassPremium Economy ClassBusiness
Class
Find

Flights Depart Arrive Meals

All times are shown in airport local time.

Flights Depart Arrive Meals

All times are shown in airport local time.

--------------------------------------------------------------------------------

New standards for our lounges

As our lounges re-open, there are some new safety standards to expect on your
next visit.

We are excited to welcome eligible customers back to our lounges, re-opened with
new biosafety standards and an elevated dining experience. Here's what to
expect:



BIOSAFETY MEASURES UPON ENTRY

Customers will be required to scan their boarding pass, status card, or
membership card to enter the lounge. The card swiper will be disinfected after
each use.

Face masks are mandatory for customers as well as our employees, who will be
undergoing daily health checks.

As a means of contact tracing, a record will be kept of all lounge visitors for
30 days.

ADDITIONAL PROTOCOLS

Each table and chair will be sanitized after every use and all high-touch areas
are disinfected regularly throughout the day. Our lounge is divided into
separate sections to facilitate these additional cleaning procedures, including
electrostatic spraying, which requires a particular section to be closed for
about 5-10 minutes.

A dedicated washroom attendant will be on duty, responsible for disinfecting and
sanitizing facilities after use. Showers will remain closed until further
notice.

COMPLIMENTARY MEALS AND BEVERAGES

Meals can be ordered and delivered straight to your table through the new Maple
Leaf Lounge @ la table service simply by scanning an NFC or QR code found at the
table. The menu also includes an elevated offering from one of our renowned
chefs, along with exciting local offerings and cross-country favourites based on
location.

Customers can also select a cold meal option, pre-packaged and sealed in our
convenient meal snack bag. During select times, hot options and a kid's menu are
also available. Disposable cutlery will be provided with each meal.

There will also be assisted bar service with our full bar offering.

ENTERTAINMENT AND BUSINESS SERVICES

All reading materials (over 7,000 magazines and newspapers) will be available
digitally via PressReader on your smartphone or tablet. Limited iPads will also
be available and are sanitized between each use. Our business services will be
limited to complimentary Wi-Fi and remote printing.

Back to top


HEALTH AND SAFETY

Learn about how we are helping keep you safe with Air Canada CleanCare+.

Face coverings

For the safety of our customers and crew, it’s crucial to comply with face
covering guidelines.

For all flights (except for travel to and from the U.S.) and all passengers over
the age of 6, the use of approved face coverings is a mandatory requirement
issued by Transport Canada. Children older than 2 but less than 6 years of age
who cannot tolerate wearing a face covering are exempt, provided the adult
responsible ensures a face covering is readily available to the child prior to
boarding the flight.

For travel to and from the U.S., any passenger 2 years of age and older must
wear a face covering as a requirement issued by the U.S. Transportation of
Security Administration, unless exempted for medical reasons.

Approved face coverings

Approved face coverings are made with protective layers of absorbent fabric
(such as cotton) that fit snugly over the nose, mouth and chin, and are secured
to the face with ties or ear loops.

Any time an Air Canada agent or crew member asks you to remove your face
covering (such as for an ID check) remember to untie or unhook the loop from
your ear to avoid touching the face covering.

Prohibited face coverings

The following are not permitted: Non-medical masks or face coverings with an
exhalation valve or vent, or made with mesh or lace fabric, a neck gaiter, a
bandana, or a plastic face shield/covering.

All passengers who are not compliant with the face covering requirements will be
reported to Transport Canada, which could result in a financial penalty.

Exemptions

You may be exempt from wearing a face covering if the following 3 conditions are
met:

 1. You have a valid medical certificate confirming that there is a medical
    reason preventing you from wearing a face covering during your travel. 
 2. You have received authorization from Air Canada for a face mask exemption.
    Please contact the Air Canada Medical Assistance Desk to obtain
    authorization.
 3. You will also need to present a negative COVID-19 test taken within 72 hours
    from departure at the airport check-in and/or prior to boarding the flight.
    Note: you may need another test prior to departure if your return trip
    exceeds 72h from the time your test was taken.

Learn more about approved face coverings.External site which may not meet
accessibility guidelines.


Exemption to vaccine requirements due to medical reasons

Find out if you are eligible for an exemption to vaccine requirements due to
medical reasons.

If you are aged 12 years plus 4 months or older, you may request an exemption to
vaccine requirements for the following medical reasons:

You need to travel for essential medical services or treatment: to request an
exemption, please:

 1. Complete a booking on Air Canada, Air Canada Rouge and/or Air Canada Express
    with a departure date at least 14 days or more in the future.
 2. Download and complete the Temporary exemption request for passengers due to
    essential medical services or treatment
 3. Submit your completed form as well as any supporting documentation at least
    14 days before your departure to the Air Canada Medical Assistance Desk at
    acmedical@aircanada.ca
    
    Air Canada will make a reasonable effort to accommodate requests made within
    14 days.




You are medically not able to be vaccinated: to request an exemption, please:

 1. Complete a booking on Air Canada, Air Canada Rouge and/or Air Canada Express
    with a departure date at least 21 days or more in the future.
 2. Download and complete the Temporary exemption request for passengers due to
    medical inability to be vaccinated
 3. Submit your completed form as well as any supporting documentation at least
    21 days before your departure to the Air Canada Medical Assistance Desk at
    acmedical@aircanada.ca




Prior to boarding

If you are approved for an exemption based on medical reasons, prior to boarding
your flight, you will need to present results of a valid COVID-19 molecular
test, taken:

 * within 72 hours of your scheduled departure time where your test result is
   negative
 * at least 14 days before but no more than 180 days prior to your scheduled
   departure time where your result is positive




Validity of temporary exemptions

Temporary exemptions based on medical reasons are only valid for:

 * One return trip within Canada, or one one-way trip out of Canada
   If you are flying out of Canada, you are responsible for ensuring that you
   also meet the foreign entry requirements for your destination.
 * Air Canada flights and for the duration of your trip
   If your itinerary includes travel with another airline, you will need to
   contact them as well to request an exemption.



Visit the Government of Canada’s website for more information on vaccination
requirements to board a flight or train in CanadaExternal site which may not
meet accessibility guidelines..

Exemption to vaccine requirements based on other reasons

Find out if you are eligible for an exemption to vaccine requirements based on
other reasons.

There are a number of grounds for exemption that the Government of Canada has
set out. There is no assurance that such an exemption might be available; if it
were, it would be your responsibility to ensure you satisfy and abide by all
requirements relating to your travel, including in respect of any available
exemption.

These potential grounds for exemption are as follows:

 * A person who has a medical inability to be vaccinated or is traveling to
   receive essential medical services and treatment. To find out how to apply,
   open up the tab above titled “Exemption to vaccine requirements due to
   medical reasons”.
 * A person who must travel due to an emergency situation or an urgent medical
   reason and there is an immediate threat to their safety.
 * A person who qualifies for a National Interest Exemption from Transport
   Canada. These exemptions are administered by Transport Canada. For additional
   information, visit https://vaccine-exemption.tc.canada.ca/External site which
   may not meet accessibility guidelines..
 * A person who is only transiting through Canada.
 * Foreign nationals who do not reside in Canada and are departing Canada before
   February 28, 2022.
 * Canadians returning to Canada and not traveling within Canada by air or rail
   upon arrival.
 * Passengers traveling from a remote community, under certain conditions.
   

The government has asked air carriers to administer exemption requests from
passengers who may be considered for accommodation on the basis of their
sincerely held religious beliefs, indicating that requests must be submitted 21
days in advance of travel. We have carefully considered these types of exemption
requests and their basis, the interests of all parties involved, and other
factors relating to the accommodation of sincere religious beliefs, and do not
anticipate being able to accommodate any exemption request on this basis in the
present circumstances.

A person may apply to the Minister of Transport for a public interest exemption
under section 5.9(2) of the Aeronautics Act. For more information, you may email
Transport Canada at: questions@tc.gc.ca. This is a general discretionary power
that the Minister may choose to use where he believes the public interest
requires it.

Finally, please note that with any exemption, a traveller will remain subject to
other conditions and other measures such as being required to present a valid
proof of a valid COVID-19 molecular test result at the time of boarding and to
wear a suitable mask, covering their nose and mouth, at all times when onboard
our aircraft or in an airport with no exception, except for brief periods of
time when eating, drinking, and taking oral medication.

Health and safety measures

With Air Canada CleanCare+, we’ve enhanced our health and safety measures at
every stage of your journey.

Check-in

For your safety, we’ve implemented health screening questions, required travel
document validation, the disinfection of frequently touched areas such as
check-in counters and kiosks, as well as many other measures.

 * Virtual queuing in place of physical lineups will minimize wait times and
   contact at select counters. 
 * For the safety of everyone, our check-in kiosks are regularly cleaned. 
 * Touch-free check-in at select airports includes our
   seamless TouchFree Bag Check service. Indicate the number of checked bags
   during mobile check-in, print your bag tags from dedicated kiosks, then drop
   off your bags using TouchFree Bag Drop. 
 * For your safety, all customers are required to wear protective face
   coverings. 
 * Carry-on baggage compliance will be measured by new technology, at select
   airports, and enforced prior to security. 
 * Hand sanitizer dispensers have been placed throughout the airport for your
   personal use. 
 * All of our check-in counters are thoroughly sanitized throughout the day. 
 * All of our employees wear face coverings, with other optional PPE (personal
   protective equipment) available, such as gloves. 
 * We'll ask you a few health questions and validate required travel
   documents before you board to make sure you're safe to fly. 

Boarding

Ongoing cleaning of our gate areas, regular health screening questions for all
customers, as well as mandatory face coverings for all employees and customers
are steps designed to protect you, and everyone on board.

 * For your safety, all customers are required to wear protective face
   coverings.
 * Gate announcements will be made to advise Economy Class customers if their
   flight is reaching capacity. This allows you to explore other options if you
   prefer more space onboard.
 * All of our gate counters are cleaned regularly for your convenience.
 * All of our employees wear face coverings, with other optional PPE items
   available such as gloves.
 * Our boarding process has changed to minimize contact and ensure appropriate
   distancing.
 * As a precaution, we may ask you a few health-related questions before
   boarding.

On board

All high-touch areas are sanitized with hospital-grade disinfectant pre-flight,
and aircraft receive a thorough cleaning each time they overnight. Additional
onboard safety measures are also in place.

 * For your safety, all seat belt buckles and seat controls are sanitized
   thoroughly.
 * We properly wipe and sanitize each armrest for your health and comfort.
 * We're sanitizing cabin windows and shades to help you enjoy the view.
 * Your light switches and air circulation controls are properly sanitized.
 * When an aircraft overnights, we sanitize all ceiling areas, including
   the inside of each overhead bin and their handles to keep your luggage clean.
 * You can fly confidently, knowing our HEPA filtration systems capture 99.9% of
   airborne particles, and continually refreshes cabin air.
 * For your safety, all customers are required to wear protective face
   coverings.
 * Pillows and blankets provided are wrapped and sealed.
 * Our disposable Customer Care Kits include a complimentary mask and hand
   sanitizer.
 * We use a disinfectant in the regular cleaning of our lavatories.

 * On flights where complimentary meals are offered, pre-packaged meals will be
   provided for your safety, with an antiseptic wipe included.
 * Bar service will be combined with meal service to minimize contact.
 * We're sanitizing all tray tables before boarding for your safety.
 * We're rigorously cleaning all headrest covers.
 * We sanitize your personal screen and all in-flight entertainment surfaces.
 * An electrostatic disinfectant sprayer is part of our sanitization procedures.
 * Our disposable Customer Care Kits include a complimentary mask, bottled
   water, hand sanitizer, headset, and snack.
 * We’re wiping down sidewalls for your peace of mind each time an aircraft
   overnights.

Lounges

Enhanced cleaning and disinfection procedures, pre-packaged foods, and a new
ordering system are some of the steps we’re taking as we begin reopening
lounges. Learn more.

 * Hand sanitizer dispensers are positioned strategically throughout the lounge.
 * Face masks are mandatory for customers and employees.
 * All high-touch areas are thoroughly cleaned with a hospital-grade
   disinfectant throughout the day.
 * Eligible customers are required to scan their own boarding pass, status card,
   or membership card. The card swiper will be disinfected after each use.
 * For employees, temperature screenings and daily health assessments are
   mandatory.
 * As a means of contact tracing, a record is kept of all lounge visitors for 30
   days.
 * Business services are limited to complimentary Wi-Fi and remote printing.
 * Customer flow is managed via arrowed floor decals.

On-board transmission facts

Find out why the transmission of communicable diseases inside an aircraft are
very rare.

Cases of transmission of communicable diseases on aircraft are very rare. The
reasons for the apparently low rate of in-flight transmission are not fully
determined but are thought to include a combination of factors, such as the
inherent characteristics of cabin air flow.

Various government bodies have confirmed the risk of onboard transmission is
exceedingly low, which accords with scientific studies on communicable diseases
and air travel.

Air Canada’s additional measures such as pre-flight screening questionnaires,
temperature monitoring and mandatory face coverings are also considered
effective.

Find out more in this helpful Fact sheet.

Contact tracing protocol

What does Air Canada do if a passenger is identified as having travelled with
COVID-19 post flight?

As with all communicable disease protocols, if someone tests positive for the
virus after having travelled on a flight, Air Canada is notified by the
appropriate health authority. Depending on the transmission profile of the
disease, we are given strict protocol as to who is required for contact tracing.

The health authorities take responsibility for contacting passengers directly
and advising them of the situation. In most cases, crews primarily working in
the specific rows are also included in the contact tracing. Due to privacy laws,
the names cannot be disclosed to anyone other than the public health authority.

To protect all those on board, if a customer exhibits symptoms of COVID-19
during flight, Air Canada has well-established protocols and our crews are well
trained to manage these situations. During flight, our Flight Deck crew can also
directly contact medical authorities who can advise in real time. If determined
necessary, health authorities will meet the aircraft to assess and follow up as
required.

The Public Health Agency of Canada (PHAC) maintains a list of flights with
confirmed COVID-19 cases on boardExternal site which may not meet accessibility
guidelines..

Back to top


CHANGES AND CANCELLATIONS

We have implemented flexible and expanded change and cancellation options.


UNLIMITED CHANGES. NO CHANGE FEES. ONLY UNTIL FEBRUARY 28TH.

Unlimited changes. No change fees. – Until February 28, 2022, if you want to
change your flight, we'll waive the change fee. After February 28, 2022, you can
make one change at no extra charge. If your new fare has a higher price, you
only need to pay the difference from your original fare. You can make a change
up to 2 hours before your flight.

If Air Canada changes the time of your flight, you can make a change for free.

If your flight is cancelled, you get a refund – If your flight is cancelled for
any reason and we don’t rebook you on another flight that departs or arrives
within three hours of your original departure or arrival time, or if we add a
connection to your itinerary, you can request a refund.

Need to cancel? Save the value for future travel – If you need to cancel a
booking, the full value can be transferred to an Air Canada Travel Voucher,
which never expires and is fully transferrable, or converted into Aeroplan
points with a 65% bonus. Refundable tickets are always refundable.

Flexibility with Aeroplan bookings – Until February 28, 2022, if you want to
change your Aeroplan flight reward, we'll waive all change fees. After February
28, 2022, you can still make one change without a fee. Learn more.

Change, cancel or make a new booking

To change or cancel your booking, contact your original booking source:

 * For bookings made directly with Air Canada (including aircanada.com, the Air
   Canada app, and our contact centres), or Kayak, Google Flights, and
   Skyscanner you can manage your booking or call 1-888-247-2262 (for
   international and other numbers, visit aircanada.com/othernumbers).
 * For bookings made using Aeroplan points you can also manage your booking or
   call 1-800-361-5373 (for international and other numbers, visit our customer
   support page).
 * For bookings made with a Travel agent or any online travel agency (for
   example, Expedia or Priceline), contact them directly for assistance.
 * For Air Canada Vacations bookings, please call 1-800-296-3408 or visit the
   Air Canada Vacations site.
 * For Air Canada for Business bookings, please call 1-888-335-4189 or visit the
   Air Canada for Business site.

Looking to make a new booking? Simply visit aircanada.com.

Important information for unvaccinated travellers

At this time, the only unvaccinated travellers who are allowed to enter Canada
are Canadian citizens. If you are not a Canadian citizen or permanent resident
and are not vaccinated, you may not be permitted to enter the country. Some
exemptions apply: Find out if you can enter Canada. External site which may not
meet accessibility guidelines.

For Canadian citizens and permanent residents: While quarantine is not required,
your trip must terminate at your first point of entry in Canada. To reach your
final destination in Canada, you must arrange for private transportation at your
own expense. This means that you may not be permitted to board any domestic
connecting flights that were previously booked. For more details including how
to rebook, please see our flexible rebooking options. Some exemptions
applyExternal site which may not meet accessibility guidelines..

For foreign nationals: Travel continues for essential purposesExternal site
which may not meet accessibility guidelines. only. Starting January 15,
unvaccinated or partially vaccinated foreign nationals will only be allowed to
enter Canada if they meet the criteria for limited exceptions, which apply to
certain groups such as agricultural and food processing workers, marine crew
members, those entering on compassionate grounds, new permanent residents,
resettling refugees and some children under the age of 18. Exempt unvaccinated
travellers will continue to be subject to testing, quarantine, and other entry
requirements. Non-exempt unvaccinated or partially vaccinated foreign nationals
will be prohibited entry into Canada.

Learn more about the regulations for unvaccinated travellers provided by the
Government of CanadaExternal site which may not meet accessibility guidelines..

Terms and conditions

For changing or cancelling your booking:

 * Ticket must be issued on or before February 28, 2022. 
 * For original travel between March 1, 2020 and February 28, 2023. 
 * For tickets purchased on or before March 31, 2021: If you need to change any
   flight, your new travel must be completed within 24 months from the date of
   the last unflown flight. No change fee will apply, however a difference in
   fare may apply. 
 * For tickets purchased on or after April 1, 2021: if you need to change any
   flight, your new travel must be completed within 24 months of the original
   purchase date. No change fee will apply, however a difference in fare may
   apply. 
 * Existing bookings may only be changed or cancelled up to 2 hours prior to
   departure. 
 * After February 28, 2022, you can make one change at no extra charge. 
 * Refundable tickets will be refunded as per the applicable fare rules; a
   cancellation fee may still apply. 

Back to top

To assist you, our Travel Ready hub is a guide to help you understand some of
the key requirements in order for you to travel on your intended itinerary.
However, especially as the requirements continue to change quickly, this
information does not replace the specific information provided by government and
other relevant authorities. Air Canada has partnered with Sherpa to bring this
information to you for reference only, and while Sherpa makes best efforts to
keep the information updated, due to fast-changing government mandates and
restrictions which may be affected by numerous factors (for example, point of
origin, age, final destination, purpose or duration of travel, state of
vaccination), as well as due to interpretation by the applicable local
government officials, Air Canada is not responsible for the completeness and
accuracy of this information; neither Air Canada, nor any of its employees or
agents may under any circumstances be held responsible or liable in any way for
any claim, loss, damage, cost, expense or liability whatsoever that may result
from your access to, or reliance on, information provided on this page. It is
your responsibility to ensure that you meet all entry requirements and have all
the valid travel documents necessary to enter in, exit from or transit through,
each country/region on your itinerary regardless of if the flight is operated by
Air Canada or another carrier. We strongly recommend that you contact the
government of each country on your itinerary for detailed, up-to-date
information on health, passport, visa, and other entry requirements applicable
to your case, as they may vary based on country of nationality and other
factors. The final determination of entry in or transit through is the decision
of the government and officials of the country to which you are travelling. For
this we recommend reviewing the IATA Travel CentreExternal site which may not
meet accessibility guidelines. prior to travelling.



We have detected a device type and/or operating system version that may result
in slow performance on this site. If you are experiencing problems, please try
our mobile app Opens in a new windowExternal site which may not meet
accessibility guidelines..


CUSTOMER SUPPORT

 * Contact Information Opens in a New Window
 * Baggage Fees and Optional Services
 * Baggage Fee Changes


SPECIAL OFFERS

 * View Special Offers
 * Why Book With Us
 * Subscribe Opens in a New Window
 * Modify Preferences Opens in a New Window


ABOUT AIR CANADA

Facebook Opens in a New Window External site which may not meet accessibility
guidelines. Twitter Opens in a New Window External site which may not meet
accessibility guidelines. YouTube Opens in a New Window External site which may
not meet accessibility guidelines. RSS Feeds Opens in a New Window External site
which may not meet accessibility guidelines.
 * Media Centre Opens in a New Window
 * Official Languages Opens in a New Window
 * Travel Agents
 * Careers Opens in a New Window

 * Air Canada Cargo Opens in a New Window
 * Air Canada Foundation Opens in a New Window
 * Investor Relations
 * Site Map

Voted Best Airline in North America
Named Best Airline in North America


General Conditions of Carriage & Tariffs Customer Service Plan Privacy Policy
Cookies Policy



© 2021 Air Canada Indicates an external site which may not meet accessibility
guidelines.