www.hawaiianairlines.com Open in urlscan Pro
23.201.160.238  Public Scan

Submitted URL: https://hawaiienairlines.com/
Effective URL: https://www.hawaiianairlines.com/?cjdata=MXxOfDB8WXww&AID=10955535&PID=7753339&SID=d8d919b6c35dc02f86445eba9b2eac20&source=cj&HAC...
Submission: On December 30 via api from US — Scanned from US

Form analysis 5 forms found in the DOM

<form role="dialog" ng-submit="submitSearch()" class="modal-search ng-pristine ng-valid">
  <section>
    <i aria-hidden="true" class="search-icon ha-icon fontIcon16-search"></i>
    <input type="text" aria-label="Type your question here" role="search" id="help-search" class="search search-textarea bodycopy-sans-1 ng-pristine ng-untouched ng-valid ng-empty" ng-model="searchText" ng-change="search()"
      ng-keypress="'$event.which === 13 ? submitSearch()'" placeholder="Type your question here">
    <button type="submit" class="search btn-primary search-submit-btn disabled"><span class="sr-only">Disabled</span>Search</button>
    <a href="" class="search search-modal-icon" ng-click="$modalCancel()">
                <i aria-hidden="true" class="close ha-icon icon-close"></i>
                <span class="sr-only">close</span>
            </a>
  </section>
  <aside>
    <h5>Frequently Asked Questions </h5>
    <ul>
      <li>
        <a class="search" href="http://hawaiianair.custhelp.com/app/answers/detail/a_id/1890">What do I need to do to change or cancel my reservation?<span class="sr-only">Opens external link to page that may not meet accessibility guidelines</span></a>
      </li>
      <li><a class="search" href="http://hawaiianair.custhelp.com/app/answers/detail/a_id/80">How much are baggage fees on my flight?<span class="sr-only">Opens external link to page that may not meet accessibility guidelines</span></a></li>
      <li><a class="search" href="http://hawaiianair.custhelp.com/app/answers/detail/a_id/957">How do I check in online?<span class="sr-only">Opens external link to page that may not meet accessibility guidelines</span></a></li>
    </ul>
    <a class="search btn-secondary btn-sm" href="http://hawaiianair.custhelp.com/">Read more FAQs<span class="sr-only">Opens external link to page that may not meet accessibility guidelines</span></a>
  </aside>
  <input type="hidden" name="__RequestVerificationToken" value="X2BpEQbJvbGAdQXrkLsfjOTJTYMtASUfF2q7CNKbtBpIDKyCeYsTD6-HeoBcn5lr3MQFKw2">
</form>

Name: flightSearchPOST /book/home

<form name="flightSearch" action="/book/home" method="post" novalidate="" ng-submit="submit($event)" class="onMauve ng-pristine ng-invalid ng-invalid-required ng-valid-date ng-valid-pattern ng-valid-maxlength ng-valid-ha-passenger-count">
  <div class="ha-booking-form">
    <div ha-booking-form="" theme="b" multi-city="true" search-position="right" expanded="false" enable1aonlegacy="Enable1AOnLegacy"
      default-destination-image="//img.s-hawaiianairlines.com/static/images/brand/airplanes/airbus-a330/a330-plane-hero.jpg?version=d2c0&amp;sc_lang=en">
      <div class="text-left closed theme-b col-12 on-mauve"
        ng-class="{active: expanded, expanded: expanded, closed: !expanded, 'theme-a': theme == 'a', 'theme-b': theme == 'b', 'theme-c': theme == 'c', 'on-mauve': theme != 'a', 'col-12': true, 'col-10': false, 'form-submitted': flightSearch.$submitted, loaded: loaded}">
        <!--Trip Type Button Group-->
        <div class="row trip-type-and-recents trip-type-hidden" ng-class="{'trip-type-hidden': !expanded }" aria-hidden="true">
          <div class="col-12">
            <div class="tab-group" role="tablist">
              <!-- ngIf: roundTrip --><a id="triptype2" ng-if="roundTrip" ng-focus="focusTripTypeSelection()" ng-click="setTripType(2)" ng-class="{active: tripType==2}" class="tab-group-btn btn-lg ng-scope active" href="" role="tab" aria-selected="true">Roundtrip</a><!-- end ngIf: roundTrip -->
              <!-- ngIf: oneWay --><a id="triptype1" ng-if="oneWay" ng-click="setTripType(1)" ng-class="{active: tripType==1}" class="tab-group-btn btn-lg ng-scope" href="" role="tab" aria-selected="false">One-Way</a><!-- end ngIf: oneWay -->
              <!-- ngIf: multiCity --><a id="triptype0" ng-if="multiCity" ng-click="setTripType(0)" ng-focus="focusBackOnTripType()" ng-class="{active: tripType==0}" class="tab-group-btn btn-lg ng-scope" href="" role="tab" aria-selected="false">Multi-City</a><!-- end ngIf: multiCity -->
            </div>
            <input id="FlightQueryTypeId" name="FlightQueryTypeId" style="display: none" value="2">
            <!--Recent Searches-->
            <!-- ngIf: !enableTCR && recentSearchesSwitch && expanded -->
          </div>
        </div>
        <!-- ngIf: tripType != 0 -->
        <ul id="multiSegment" class="multicitySegmentContainer list-unstyled ng-scope" ng-if="tripType != 0" role="tabpanel" aria-labelledby="triptype2">
          <li>
            <!--New City Pairs-->
            <!-- ngIf: legs[0].invalidPair || legs[1].invalidPair -->
            <!-- ngIf: isNoFlightsError -->
            <div ha-airport-pair="" class="row ng-scope">
              <div class="col-12">
                <div id="origin" ha-airport-input="" name="FlightSearchSegmentList[0].OriginDisplay" origin="" ng-model="legs[0].origin" label="From" placeholder="City, Airport or Island" required="true" pin-title="Select to view origin airports"
                  class="ng-pristine ng-untouched ng-isolate-scope ng-empty ng-invalid ng-invalid-required">
                  <div>
                    <div has-autofill="" ng-class="{invalid: (invalid &amp;&amp; !isFocused)}"> <label class="ha-label required-asterisk ha-form-lg inline"
                        ng-class="{'required-asterisk':required, 'ha-form-lg': !size || size=='large', 'ha-form-sm':size=='small', 'inline': labelStyle=='inline' || !labelStyle || labelStyle !=='eyebrow', 'wrap-on-mobile': labelStyle=='inlineWrapOnMobile'}">
                        <!-- ngIf: label --><span ng-if="label" class="ng-binding ng-scope">From<!-- ngIf: required --><span class="mandatory-flag ng-scope" ng-if="required">*</span><!-- end ngIf: required --></span><!-- end ngIf: label --> <input
                          type="hidden" name="FlightSearchSegmentList[0].OriginDisplayCode" ng-value="ngModel.Code"> <!-- ngIf: $root.isMobile --><input role="combobox" aria-owns="airportMatch-4733" aria-expanded="false"
                          placeholder="City, Airport or Island" id="origin" type="text" name="FlightSearchSegmentList[0].OriginDisplay" autocomplete="off" ng-model="ngModel" allow-non-english="true"
                          ha-typeahead="airport as airport.DisplayName for airport in getMatchingAirports($viewValue)" typeahead-editable="false" typeahead-min-length="3" typeahead-wait-ms="150" typeahead-on-select="onSelect($item, $model, $label)"
                          ng-required="required" ng-disabled="disabled" ng-focus="onFocus($event)" ng-blur="onBlur($event)" ng-class="{'has-pin':!hideWhereweflyPin}" ha-errors=""
                          class="ng-pristine ng-untouched ng-empty ng-invalid ng-invalid-required has-pin" aria-autocomplete="list" required="required" aria-invalid="true"><!--ha-errors for=FlightSearchSegmentList[0].OriginDisplay-->
                        <div class="location-dropdown">
                          <div class="ha-typeahead-results" role="textbox" id="airportMatch-4733">
                            <div ha-typeahead-popup="" id="typeahead-17-3202" matches="matches" active="activeIdx" select="select(activeIdx)" query="query" position="position" class="ng-isolate-scope">
                              <ul class="typeahead-matches ng-hide" ng-show="isOpen()" ng-style="{top: position.top+'px', left: position.left+'px'}" style="display: block;" role="listbox" aria-hidden="true">
                                <!-- ngRepeat: match in matches track by $index -->
                              </ul>
                              <!-- ngIf: matches[0].model -->
                            </div>
                          </div>
                        </div>
                        <!-- ngIf: !hideWhereweflyPin --><a href="" ha-location-modal="hawaii" ng-if="!hideWhereweflyPin" ng-click="pinClicked()" title="Select to view origin airports" filter-fn="" city-list-type="normal" class="ha-airport-input-pin ng-scope ng-isolate-scope"> <i class="ha-icon fontIcon32-mapPin"></i> </a><!-- end ngIf: !hideWhereweflyPin -->
                        <em for="airportInput-4733"></em>
                      </label> </div>
                  </div>
                </div>
                <!--ha-airport requires a hidden input to hold the chosen value 'Code' only needed for form posting-->
                <input type="text" name="FlightSearchSegmentList[0].OriginCityCode" ng-model="legs[0].origin.Code" style="display: none;" autocomplete="off" ha-errors="" class="ng-pristine ng-untouched ng-valid ng-empty"
                  aria-invalid="false"><!--ha-errors for=FlightSearchSegmentList[0].OriginCityCode-->
                <!--2nd hidden input necessary to faciliate both round trip legs used in the post controller-->
                <!-- ngIf: tripType!=1 --><input type="text" name="FlightSearchSegmentList[1].DestinationCityCode" ng-model="legs[0].origin.Code" ng-if="tripType!=1" style="display: none;" autocomplete="off" ha-errors=""
                  class="ng-pristine ng-untouched ng-valid ng-scope ng-empty" aria-invalid="false"><!--ha-errors for=FlightSearchSegmentList[1].DestinationCityCode--><!-- end ngIf: tripType!=1 -->
                <div id="destination" ha-airport-input="" name="FlightSearchSegmentList[0].DestinationDisplay" destination="" ng-model="legs[0].destination" label="To" placeholder="City, Airport or Island" required="true"
                  pin-title="Select to view destination airports" class="ng-pristine ng-untouched ng-isolate-scope ng-empty ng-invalid ng-invalid-required">
                  <div>
                    <div has-autofill="" ng-class="{invalid: (invalid &amp;&amp; !isFocused)}"> <label class="ha-label required-asterisk ha-form-lg inline"
                        ng-class="{'required-asterisk':required, 'ha-form-lg': !size || size=='large', 'ha-form-sm':size=='small', 'inline': labelStyle=='inline' || !labelStyle || labelStyle !=='eyebrow', 'wrap-on-mobile': labelStyle=='inlineWrapOnMobile'}">
                        <!-- ngIf: label --><span ng-if="label" class="ng-binding ng-scope">To<!-- ngIf: required --><span class="mandatory-flag ng-scope" ng-if="required">*</span><!-- end ngIf: required --></span><!-- end ngIf: label --> <input
                          type="hidden" name="FlightSearchSegmentList[0].DestinationDisplayCode" ng-value="ngModel.Code"> <!-- ngIf: $root.isMobile --><input role="combobox" aria-owns="airportMatch-680" aria-expanded="false"
                          placeholder="City, Airport or Island" id="destination" type="text" name="FlightSearchSegmentList[0].DestinationDisplay" autocomplete="off" ng-model="ngModel" allow-non-english="true"
                          ha-typeahead="airport as airport.DisplayName for airport in getMatchingAirports($viewValue)" typeahead-editable="false" typeahead-min-length="3" typeahead-wait-ms="150" typeahead-on-select="onSelect($item, $model, $label)"
                          ng-required="required" ng-disabled="disabled" ng-focus="onFocus($event)" ng-blur="onBlur($event)" ng-class="{'has-pin':!hideWhereweflyPin}" ha-errors=""
                          class="ng-pristine ng-untouched ng-empty ng-invalid ng-invalid-required has-pin" aria-autocomplete="list" required="required" aria-invalid="true"><!--ha-errors for=FlightSearchSegmentList[0].DestinationDisplay-->
                        <div class="location-dropdown">
                          <div class="ha-typeahead-results" role="textbox" id="airportMatch-680">
                            <div ha-typeahead-popup="" id="typeahead-19-6356" matches="matches" active="activeIdx" select="select(activeIdx)" query="query" position="position" class="ng-isolate-scope">
                              <ul class="typeahead-matches ng-hide" ng-show="isOpen()" ng-style="{top: position.top+'px', left: position.left+'px'}" style="display: block;" role="listbox" aria-hidden="true">
                                <!-- ngRepeat: match in matches track by $index -->
                              </ul>
                              <!-- ngIf: matches[0].model -->
                            </div>
                          </div>
                        </div>
                        <!-- ngIf: !hideWhereweflyPin --><a href="" ha-location-modal="hawaii" ng-if="!hideWhereweflyPin" ng-click="pinClicked()" title="Select to view destination airports" filter-fn="" city-list-type="normal" class="ha-airport-input-pin ng-scope ng-isolate-scope"> <i class="ha-icon fontIcon32-mapPin"></i> </a><!-- end ngIf: !hideWhereweflyPin -->
                        <em for="airportInput-680"></em>
                      </label> </div>
                  </div>
                </div>
                <!--ha-airport requires a hidden input to hold the chosen value 'Code' only needed for form posting-->
                <input type="text" name="FlightSearchSegmentList[0].DestinationCityCode" ng-model="legs[0].destination.Code" style="display: none;" autocomplete="off" class="ng-pristine ng-untouched ng-valid ng-empty">
                <!--2nd hidden input necessary to faciliate both round trip legs used in the post controller-->
                <!-- ngIf: tripType!=1 --><input type="text" name="FlightSearchSegmentList[1].OriginCityCode" ng-model="legs[0].destination.Code" ng-if="tripType!=1" style="display: none;" autocomplete="off"
                  class="ng-pristine ng-untouched ng-valid ng-scope ng-empty"><!-- end ngIf: tripType!=1 -->
                <!-- ngIf: legs[0].isMiles && !enableTCR -->
                <!-- ngIf: tripType!=1 && legs[1].isMiles && !enableTCR -->
                <a id="flight_arrow" class="btn-lg btn-primary open-sticky" ng-click="setExpanded()"><span>Continue</span><i class="ha-icon fontIcon-angle-right"></i></a>
              </div>
            </div>
            <!--Date Controls-->
            <div class="row roundtrip" ha-range-datepicker="range_datepicker_config" ng-class="{roundtrip:tripType===2}">
              <div class="col-6 depart">
                <label class="ha-label inline ha-form-lg" for="DepartureDate">
                  <span class="required" aria-hidden="true">Depart</span>
                  <span class="sr-only" id="departLabel">Departure Date, </span>
                  <input name="FlightSearchSegmentList[0].DepartureDate" type="hidden" ng-value="departDate[0] | date: 'yyyy-MM-dd'">
                  <input id="DepartureDate" name="_FlightSearchSegmentList[0].DepartureDate" placeholder="MM/DD/YYYY" required="" ha-errors="" ng-model="departDate[0]" ha-datepicker2="_configs.start" aria-labelledby="departLabel"
                    allow-non-english="true" class="ng-pristine ng-untouched ng-scope ng-valid-date ng-empty ng-invalid ng-invalid-required" autocomplete="off" aria-invalid="true"><!--ha-errors for=_FlightSearchSegmentList[0].DepartureDate-->
                  <div class="datepicker">
                    <div ha-calendar="_configs.start" ha-calendar-model="departDate[0]" class="ng-scope double-wide">
                      <header>
                        <h2> Departure Date </h2>
                        <div class="calendar-messages" tabindex="-1" role="alert"></div>
                      </header>
                      <div class="buttons">
                        <a role="button" tabindex="-1" class="prev"></a>
                        <a role="button" tabindex="-1" class="next"></a>
                      </div>
                      <ol class="months" ng-swipe-left="next()" ng-swipe-right="prev()">
                        <li class="list-inline ng-scope" date="2024-12">
                          <table class="month">
                            <caption>December 2024</caption>
                            <thead>
                              <tr>
                                <th>Sun</th>
                                <th>Mon</th>
                                <th>Tue</th>
                                <th>Wed</th>
                                <th>Thu</th>
                                <th>Fri</th>
                                <th>Sat</th>
                              </tr>
                            </thead>
                            <tbody class="notranslate">
                              <tr>
                                <td date="2024-12-01" class="past disabled">1</td>
                                <td date="2024-12-02" class="past disabled">2</td>
                                <td date="2024-12-03" class="past disabled">3</td>
                                <td date="2024-12-04" class="past disabled">4</td>
                                <td date="2024-12-05" class="past disabled">5</td>
                                <td date="2024-12-06" class="past disabled">6</td>
                                <td date="2024-12-07" class="past disabled">7</td>
                              </tr>
                              <tr>
                                <td date="2024-12-08" class="past disabled">8</td>
                                <td date="2024-12-09" class="past disabled">9</td>
                                <td date="2024-12-10" class="past disabled">10</td>
                                <td date="2024-12-11" class="past disabled">11</td>
                                <td date="2024-12-12" class="past disabled">12</td>
                                <td date="2024-12-13" class="past disabled">13</td>
                                <td date="2024-12-14" class="past disabled">14</td>
                              </tr>
                              <tr>
                                <td date="2024-12-15" class="past disabled">15</td>
                                <td date="2024-12-16" class="past disabled">16</td>
                                <td date="2024-12-17" class="past disabled">17</td>
                                <td date="2024-12-18" class="past disabled">18</td>
                                <td date="2024-12-19" class="past disabled">19</td>
                                <td date="2024-12-20" class="past disabled">20</td>
                                <td date="2024-12-21" class="past disabled">21</td>
                              </tr>
                              <tr>
                                <td date="2024-12-22" class="past disabled">22</td>
                                <td date="2024-12-23" class="past disabled">23</td>
                                <td date="2024-12-24" class="past disabled">24</td>
                                <td date="2024-12-25" class="past disabled">25</td>
                                <td date="2024-12-26" class="past disabled">26</td>
                                <td date="2024-12-27" class="past disabled">27</td>
                                <td date="2024-12-28" class="past disabled">28</td>
                              </tr>
                              <tr>
                                <td date="2024-12-29" class="past disabled">29</td>
                                <td date="2024-12-30" class="today">30</td>
                                <td date="2024-12-31" class="future">31</td>
                                <td></td>
                                <td></td>
                                <td></td>
                                <td></td>
                              </tr>
                              <tr>
                                <td></td>
                                <td></td>
                                <td></td>
                                <td></td>
                                <td></td>
                                <td></td>
                                <td></td>
                              </tr>
                            </tbody>
                          </table>
                        </li>
                        <li class="list-inline ng-scope" date="2025-01">
                          <table class="month">
                            <caption>January 2025</caption>
                            <thead>
                              <tr>
                                <th>Sun</th>
                                <th>Mon</th>
                                <th>Tue</th>
                                <th>Wed</th>
                                <th>Thu</th>
                                <th>Fri</th>
                                <th>Sat</th>
                              </tr>
                            </thead>
                            <tbody class="notranslate">
                              <tr>
                                <td></td>
                                <td></td>
                                <td></td>
                                <td date="2025-01-01" class="future">1</td>
                                <td date="2025-01-02" class="future">2</td>
                                <td date="2025-01-03" class="future">3</td>
                                <td date="2025-01-04" class="future">4</td>
                              </tr>
                              <tr>
                                <td date="2025-01-05" class="future">5</td>
                                <td date="2025-01-06" class="future">6</td>
                                <td date="2025-01-07" class="future">7</td>
                                <td date="2025-01-08" class="future">8</td>
                                <td date="2025-01-09" class="future">9</td>
                                <td date="2025-01-10" class="future">10</td>
                                <td date="2025-01-11" class="future">11</td>
                              </tr>
                              <tr>
                                <td date="2025-01-12" class="future">12</td>
                                <td date="2025-01-13" class="future">13</td>
                                <td date="2025-01-14" class="future">14</td>
                                <td date="2025-01-15" class="future">15</td>
                                <td date="2025-01-16" class="future">16</td>
                                <td date="2025-01-17" class="future">17</td>
                                <td date="2025-01-18" class="future">18</td>
                              </tr>
                              <tr>
                                <td date="2025-01-19" class="future">19</td>
                                <td date="2025-01-20" class="future">20</td>
                                <td date="2025-01-21" class="future">21</td>
                                <td date="2025-01-22" class="future">22</td>
                                <td date="2025-01-23" class="future">23</td>
                                <td date="2025-01-24" class="future">24</td>
                                <td date="2025-01-25" class="future">25</td>
                              </tr>
                              <tr>
                                <td date="2025-01-26" class="future">26</td>
                                <td date="2025-01-27" class="future">27</td>
                                <td date="2025-01-28" class="future">28</td>
                                <td date="2025-01-29" class="future">29</td>
                                <td date="2025-01-30" class="future">30</td>
                                <td date="2025-01-31" class="future">31</td>
                                <td></td>
                              </tr>
                              <tr>
                                <td></td>
                                <td></td>
                                <td></td>
                                <td></td>
                                <td></td>
                                <td></td>
                                <td></td>
                              </tr>
                            </tbody>
                          </table>
                        </li>
                      </ol>
                    </div>
                  </div>
                  <i class="ha-icon fontIcon16-calendar"></i>
                </label>
              </div>
              <div class="col-6 return" ng-show="tripType!=1">
                <label class="ha-label inline ha-form-lg" for="ReturnDate">
                  <span class="required" aria-hidden="true">Return</span>
                  <span class="sr-only" id="returnLabel">Return Date, </span>
                  <input name="FlightSearchSegmentList[1].DepartureDate" type="hidden" ng-value="returnDate[0] | date: 'yyyy-MM-dd'">
                  <input id="ReturnDate" name="_FlightSearchSegmentList[1].DepartureDate" placeholder="MM/DD/YYYY" ng-required="tripType!=1" ha-errors="" ng-model="returnDate[0]" ha-datepicker2="_configs.end" aria-labelledby="returnLabel"
                    allow-non-english="true" class="ng-pristine ng-untouched ng-scope ng-valid-date ng-empty ng-invalid ng-invalid-required" autocomplete="off" required="required"
                    aria-invalid="true"><!--ha-errors for=_FlightSearchSegmentList[1].DepartureDate-->
                  <div class="datepicker">
                    <div ha-calendar="_configs.end" ha-calendar-model="returnDate[0]" class="ng-scope double-wide">
                      <header>
                        <h2> Return Date </h2>
                        <div class="calendar-messages" tabindex="-1" role="alert"></div>
                      </header>
                      <div class="buttons">
                        <a role="button" tabindex="-1" class="prev"></a>
                        <a role="button" tabindex="-1" class="next"></a>
                      </div>
                      <ol class="months" ng-swipe-left="next()" ng-swipe-right="prev()">
                        <li class="list-inline ng-scope" date="2024-12">
                          <table class="month">
                            <caption>December 2024</caption>
                            <thead>
                              <tr>
                                <th>Sun</th>
                                <th>Mon</th>
                                <th>Tue</th>
                                <th>Wed</th>
                                <th>Thu</th>
                                <th>Fri</th>
                                <th>Sat</th>
                              </tr>
                            </thead>
                            <tbody class="notranslate">
                              <tr>
                                <td date="2024-12-01" class="past disabled">1</td>
                                <td date="2024-12-02" class="past disabled">2</td>
                                <td date="2024-12-03" class="past disabled">3</td>
                                <td date="2024-12-04" class="past disabled">4</td>
                                <td date="2024-12-05" class="past disabled">5</td>
                                <td date="2024-12-06" class="past disabled">6</td>
                                <td date="2024-12-07" class="past disabled">7</td>
                              </tr>
                              <tr>
                                <td date="2024-12-08" class="past disabled">8</td>
                                <td date="2024-12-09" class="past disabled">9</td>
                                <td date="2024-12-10" class="past disabled">10</td>
                                <td date="2024-12-11" class="past disabled">11</td>
                                <td date="2024-12-12" class="past disabled">12</td>
                                <td date="2024-12-13" class="past disabled">13</td>
                                <td date="2024-12-14" class="past disabled">14</td>
                              </tr>
                              <tr>
                                <td date="2024-12-15" class="past disabled">15</td>
                                <td date="2024-12-16" class="past disabled">16</td>
                                <td date="2024-12-17" class="past disabled">17</td>
                                <td date="2024-12-18" class="past disabled">18</td>
                                <td date="2024-12-19" class="past disabled">19</td>
                                <td date="2024-12-20" class="past disabled">20</td>
                                <td date="2024-12-21" class="past disabled">21</td>
                              </tr>
                              <tr>
                                <td date="2024-12-22" class="past disabled">22</td>
                                <td date="2024-12-23" class="past disabled">23</td>
                                <td date="2024-12-24" class="past disabled">24</td>
                                <td date="2024-12-25" class="past disabled">25</td>
                                <td date="2024-12-26" class="past disabled">26</td>
                                <td date="2024-12-27" class="past disabled">27</td>
                                <td date="2024-12-28" class="past disabled">28</td>
                              </tr>
                              <tr>
                                <td date="2024-12-29" class="past disabled">29</td>
                                <td date="2024-12-30" class="today">30</td>
                                <td date="2024-12-31" class="future">31</td>
                                <td></td>
                                <td></td>
                                <td></td>
                                <td></td>
                              </tr>
                              <tr>
                                <td></td>
                                <td></td>
                                <td></td>
                                <td></td>
                                <td></td>
                                <td></td>
                                <td></td>
                              </tr>
                            </tbody>
                          </table>
                        </li>
                        <li class="list-inline ng-scope" date="2025-01">
                          <table class="month">
                            <caption>January 2025</caption>
                            <thead>
                              <tr>
                                <th>Sun</th>
                                <th>Mon</th>
                                <th>Tue</th>
                                <th>Wed</th>
                                <th>Thu</th>
                                <th>Fri</th>
                                <th>Sat</th>
                              </tr>
                            </thead>
                            <tbody class="notranslate">
                              <tr>
                                <td></td>
                                <td></td>
                                <td></td>
                                <td date="2025-01-01" class="future">1</td>
                                <td date="2025-01-02" class="future">2</td>
                                <td date="2025-01-03" class="future">3</td>
                                <td date="2025-01-04" class="future">4</td>
                              </tr>
                              <tr>
                                <td date="2025-01-05" class="future">5</td>
                                <td date="2025-01-06" class="future">6</td>
                                <td date="2025-01-07" class="future">7</td>
                                <td date="2025-01-08" class="future">8</td>
                                <td date="2025-01-09" class="future">9</td>
                                <td date="2025-01-10" class="future">10</td>
                                <td date="2025-01-11" class="future">11</td>
                              </tr>
                              <tr>
                                <td date="2025-01-12" class="future">12</td>
                                <td date="2025-01-13" class="future">13</td>
                                <td date="2025-01-14" class="future">14</td>
                                <td date="2025-01-15" class="future">15</td>
                                <td date="2025-01-16" class="future">16</td>
                                <td date="2025-01-17" class="future">17</td>
                                <td date="2025-01-18" class="future">18</td>
                              </tr>
                              <tr>
                                <td date="2025-01-19" class="future">19</td>
                                <td date="2025-01-20" class="future">20</td>
                                <td date="2025-01-21" class="future">21</td>
                                <td date="2025-01-22" class="future">22</td>
                                <td date="2025-01-23" class="future">23</td>
                                <td date="2025-01-24" class="future">24</td>
                                <td date="2025-01-25" class="future">25</td>
                              </tr>
                              <tr>
                                <td date="2025-01-26" class="future">26</td>
                                <td date="2025-01-27" class="future">27</td>
                                <td date="2025-01-28" class="future">28</td>
                                <td date="2025-01-29" class="future">29</td>
                                <td date="2025-01-30" class="future">30</td>
                                <td date="2025-01-31" class="future">31</td>
                                <td></td>
                              </tr>
                              <tr>
                                <td></td>
                                <td></td>
                                <td></td>
                                <td></td>
                                <td></td>
                                <td></td>
                                <td></td>
                              </tr>
                            </tbody>
                          </table>
                        </li>
                      </ol>
                    </div>
                  </div>
                  <i class="ha-icon fontIcon16-calendar"></i>
                </label>
              </div>
            </div>
          </li>
        </ul><!-- end ngIf: tripType != 0 -->
        <!-- ngIf: tripType == 0 -->
        <!--Alerts and Passenger Counts-->
        <div class="row">
          <div class="row">
            <!-- ngIf: formSubmitted && flightSearch.$error.haPassengerCount -->
            <!-- ngIf: formSubmitted && flightSearch.$error.haDates -->
            <!-- ngIf: formSubmitted && tripType==0 && flightSearch.$error.haDuplicateLegs -->
            <!-- ngIf: tripType != 0 && showChartError && flightSearch.$invalid -->
            <div class="row">
              <div class="col-2 ha-passenger-count-input">
                <label class="ha-label">
                  <span>Adults</span>
                  <select name="AdultCount" id="adultCount" ng-options="item for item in passengerCount track by item" ng-model="pax.adultCount" ng-disabled="enableTCR || (disableAdultFieldForNITP &amp;&amp; $parent.selectedPromoId!=null)"
                    ha-errors="" class="ng-pristine ng-untouched ng-valid ng-not-empty" aria-invalid="false">
                    <option label="0" value="0">0</option>
                    <option label="1" value="1" selected="selected">1</option>
                    <option label="2" value="2">2</option>
                    <option label="3" value="3">3</option>
                    <option label="4" value="4">4</option>
                    <option label="5" value="5">5</option>
                    <option label="6" value="6">6</option>
                    <option label="7" value="7">7</option>
                  </select><!--ha-errors for=AdultCount-->
                </label>
                <!-- ngIf: enableTCR || (disableAdultFieldForNITP && $parent.selectedPromoId!=null) -->
              </div>
              <div class="col-2 ha-passenger-count-input" ng-show="$switch('BookingWidget:displaychilddropdown') &amp;&amp; !enableTCR &amp;&amp; children">
                <label class="ha-label" ng-init="pax.childCount = pax.childCount || passengerCount[0]">
                  <!-- ngIf: $language!='ja-jp' --><span ng-if="$language!='ja-jp'" class="ng-scope">Children (2-11 years of age at time of travel)
                    <i id="infantPaxIcon" ng-hide="infantInfoContentCheck()" ng-disabled="isCorporate &amp;&amp; !isAffiliate" class="ha-icon fontIcon-info-circle info-icon" ng-click="infantInfoModal()"></i></span><!-- end ngIf: $language!='ja-jp' -->
                  <!-- ngIf: $language=='ja-jp' -->
                  <select name="ChildCount" id="childCount" ng-options="item as item for item in passengerCount track by item" ng-model="pax.childCount" ng-disabled="(disableAdultFieldForNITP &amp;&amp; $parent.selectedPromoId!=null)"
                    class="ng-pristine ng-untouched ng-valid ng-not-empty">
                    <option label="0" value="0" selected="selected">0</option>
                    <option label="1" value="1">1</option>
                    <option label="2" value="2">2</option>
                    <option label="3" value="3">3</option>
                    <option label="4" value="4">4</option>
                    <option label="5" value="5">5</option>
                    <option label="6" value="6">6</option>
                    <option label="7" value="7">7</option>
                  </select>
                </label>
              </div>
              <div class="col-8">
                <!-- ngIf: $switch('BookingWidget:displaychilddropdown') && isChildCountInvalid && childCountWarning && !intl -->
                <!-- ngIf: $switch('BookingWidget:displaychilddropdown') && isChildCountInvalid && childCountWarning && intl -->
              </div>
            </div>
            <!-- ngIf: showHelp -->
          </div>
          <!-- ngIf: milesRadioButton && !enableTCR -->
          <!-- ngIf: tripType !== 0 -->
          <div class="row ng-scope" ng-show="1" ng-if="tripType !== 0 ">
            <div class="col-3 options-col">
              <fieldset class="ha-check-or-radio-set">
                <ul>
                  <li>
                    <input type="checkbox" name="flexibleDatesCalendar" id="flexibleDatesCalendar" ng-disabled="paymentType.type == 1" ng-checked="flexibleDatesCalendarChecked" ng-model="flightSearch.IsflexibleDatesCalendar" value="true" tabindex="0"
                      class="ng-pristine ng-untouched ng-valid ng-empty">
                    <label for="flexibleDatesCalendar"><span class="refundable-fares">Flexible dates calendar</span></label>
                  </li>
                </ul>
              </fieldset>
            </div>
          </div><!-- end ngIf: tripType !== 0 -->
          <!--Buttons-->
          <div ng-switch="" on="searchPosition">
            <!-- ngSwitchDefault:  -->
            <div ng-switch-default="" class="ng-scope">
              <div class="row top-padding" ng-class="{'options-col':promoCodeOptionEnabled}">
                <!-- ngIf: enableTCR -->
                <div class="promo-code-option" ng-hide="promoCode.isValidPromoCode">
                  <div class="col-3 col-sm-7">
                    <label class="ha-label">
                      <span>Promo Code (optional)</span>
                      <input type="text" ng-disabled="flightSearch.IsflexibleDatesCalendar" name="PromoCode" ng-pattern="/^[a-zA-Z0-9_-]{1,15}$/" ha-restrict-spaces="" ng-model="promoCode.Code" maxlength="15"
                        ha-errors="{pattern: 'Promo code must be at most 12 alphanumeric characters.', promoCodeNotFound: 'Promo code not found.'}" class="ng-pristine ng-untouched ng-valid ng-empty ng-valid-pattern ng-valid-maxlength"
                        aria-invalid="false"><!--ha-errors for=PromoCode-->
                    </label>
                  </div>
                </div>
                <div class="text-right col-12" ng-class="{'col-12': !enableTCR &amp;&amp; !promoCodeOptionEnabled, 'col-6': enableTCR}">
                  <!-- ngIf: btnSearchFlights --><button ng-if="btnSearchFlights" ng-disabled="isSearchDisabled" ng-class="{disabled: ActivateValidationSpinner}" class="btn-primary btn-cta-search ng-scope"> Search Flights
                  </button><!-- end ngIf: btnSearchFlights -->
                  <span class="sr-only">Opens external link to page that may not meet accessibility guidelines</span>
                  <!-- ngIf: btnSearchFlightsPlusHotels && tripType==2 && isEN && !enableTCR && !flightSearch.IsRefundableCheck && paymentType.type != 1 && paymentType.type != 3 && !$root.selectedPromoId --><button type="button"
                    ng-disabled="isSearchDisabled"
                    ng-if="btnSearchFlightsPlusHotels &amp;&amp; tripType==2 &amp;&amp; isEN &amp;&amp; !enableTCR &amp;&amp; !flightSearch.IsRefundableCheck &amp;&amp; paymentType.type != 1 &amp;&amp; paymentType.type != 3 &amp;&amp; !$root.selectedPromoId"
                    ng-click="searchFlightsPlusHotels($event)" class="btn-primary btn-cta-search ng-scope"> Search Flights &amp; Hotels <span class="sr-only">Opens external link to page that may not meet accessibility guidelines</span>
                  </button><!-- end ngIf: btnSearchFlightsPlusHotels && tripType==2 && isEN && !enableTCR && !flightSearch.IsRefundableCheck && paymentType.type != 1 && paymentType.type != 3 && !$root.selectedPromoId -->
                  <!-- ngIf: btnSearchFlightsPlusHotels && tripType==2 && (isJP()|| isKR()) && !enableTCR && !flightSearch.IsRefundableCheck && paymentType.type != 1 && paymentType.type != 3 && !$root.selectedPromoId -->
                </div>
              </div>
            </div><!-- end ngSwitchWhen: -->
            <!-- ngSwitchWhen: left -->
            <!-- ngIf: !!etcoRemoved -->
          </div>
        </div>
      </div>
    </div>
  </div>
  <input type="hidden" name="__RequestVerificationToken" value="X2BpEQbJvbGAdQXrkLsfjOTJTYMtASUfF2q7CNKbtBpIDKyCeYsTD6-HeoBcn5lr3MQFKw2">
</form>

Name: itineraryLookupPOST /my-account/my-trips/manage-trip-itinerary

<form class="card--form on-mauve ng-pristine ng-invalid ng-invalid-required ng-valid-pattern" id="itinerary-lookup" name="itineraryLookup" novalidate="" autocomplete="off" action="/my-account/my-trips/manage-trip-itinerary" method="post">
  <div class="row">
    <div class="col-6">
      <label class="ha-label ha-form-lg">
        <span class="required">Last Name</span>
        <input type="text" name="last_name" ng-model="lastName" ng-pattern="/^[a-zA-Z-\s]{0,30}$/" placeholder="Last Name" ha-errors="" required="" autocorrect="off"
          class="ng-pristine ng-untouched ng-empty ng-invalid ng-invalid-required ng-valid-pattern" aria-invalid="true"><!--ha-errors for=last_name-->
      </label>
    </div>
    <div class="col-6">
      <label class="ha-label ha-form-lg">
        <span class="required">Confirmation Code or E-Ticket Number</span>
        <input type="text" name="code_or_ticket" ng-model="confirmationCode" ng-pattern="/^[a-zA-Z0-9]{6}$|^[0-9]{13}$|^(((PB|pb|Pb|pB)[a-zA-Z0-9]{13,13})|\d{12,14})$/" placeholder="Confirmation Code or E-Ticket Number" ha-errors="" required=""
          autocorrect="off" autocapitalize="characters" ng-blur="trackExitAction('popo')" class="ng-pristine ng-untouched ng-empty ng-invalid ng-invalid-required ng-valid-pattern" aria-invalid="true"><!--ha-errors for=code_or_ticket-->
      </label>
    </div>
  </div>
  <div class="row">
    <div class="col">
      <button type="submit" class="continue btn-silver btn-lg">Continue</button>
    </div>
  </div>
  <input type="hidden" name="__RequestVerificationToken" value="X2BpEQbJvbGAdQXrkLsfjOTJTYMtASUfF2q7CNKbtBpIDKyCeYsTD6-HeoBcn5lr3MQFKw2">
</form>

Name: flightStatusByNumberGET https://flightstatus.hawaiianairlines.com/

<form name="flightStatusByNumber" id="flightStatusByNumber" class="flight-status-by-number card--form onMauve ng-pristine ng-invalid ng-invalid-required ng-valid-pattern" novalidate="" action=" https://flightstatus.hawaiianairlines.com/"
  method="get">
  <div class="row">
    <div class="col-6">
      <label ha-label="" class="ha-label inline ha-form-lg">
        <input type="text" name="FlightNumber" ng-model="FlightNumber" placeholder="Flight Number" ng-pattern="/^(ha|HA)?[0-9]{1,4}$/" required="" ha-errors="{pattern: 'Invalid flight number'}"
          class="ng-pristine ng-untouched ng-empty ng-invalid ng-invalid-required ng-valid-pattern" aria-invalid="true"><!--ha-errors for=FlightNumber-->
        <span class="required">Flight Number</span>
      </label>
    </div>
  </div>
  <div class="container-spacer-2">
    <div class="col">
      <fieldset class="ha-check-or-radio-set horizontal stacked-on-mobile well-style">
        <legend class="required">Departing</legend>
        <ul>
          <li>
            <input type="radio" name="DepartureDate" id="DepartureDateYesterday" value="12/29/2024" tabindex="0" ng-model="$root.DepartureDate" required="" class="ng-pristine ng-untouched ng-empty ng-invalid ng-invalid-required">
            <label for="DepartureDateYesterday" class="ng-binding">Sunday, December 29, 2024</label>
          </li>
          <li>
            <input type="radio" name="DepartureDate" id="DepartureDateToday" value="12/30/2024" tabindex="0" ng-model="$root.DepartureDate" required="" class="ng-pristine ng-untouched ng-empty ng-invalid ng-invalid-required">
            <label for="DepartureDateToday" class="ng-binding">Monday, December 30, 2024</label>
          </li>
          <li>
            <input type="radio" name="DepartureDate" id="DepartureDateTomorrow" value="12/31/2024" tabindex="0" ng-model="$root.DepartureDate" required="" class="ng-pristine ng-untouched ng-empty ng-invalid ng-invalid-required">
            <label for="DepartureDateTomorrow" class="ng-binding">Tuesday, December 31, 2024</label>
          </li>
        </ul>
      </fieldset>
    </div>
  </div>
  <div class="row">
    <div class="col">
      <button class="btn-silver btn-lg check-status" type="submit">Check Flight Status</button>
    </div>
  </div>
  <input type="hidden" name="__RequestVerificationToken" value="X2BpEQbJvbGAdQXrkLsfjOTJTYMtASUfF2q7CNKbtBpIDKyCeYsTD6-HeoBcn5lr3MQFKw2">
</form>

Name: EmailSubscribeFooterFormPOST /MyAccount/EmailOnly/EmailOnlyRegistration

<form action="/MyAccount/EmailOnly/EmailOnlyRegistration" name="EmailSubscribeFooterForm" id="EmailSubscribeFooterForm" autocomplete="off" method="post" novalidate=""
  class="ng-pristine ng-invalid ng-invalid-required ng-valid-pattern ng-valid-email ng-valid-maxlength">
  <h4>Sign Up for Deals</h4>
  <p>Get notifications for low fares &amp; special deals.</p>
  <input type="hidden" name="selectedcountryCode" value="USA">
  <input type="hidden" name="isLowFareselected" value="true">
  <div class="card--form">
    <label class="ha-label ha-form-lg form-group">
      <span class="sr-only">Email Address</span>
      <input type="email" name="emailAddress" placeholder="Email Address" ng-model="emailAddress" ng-pattern="/^[\w\d\.\-]+@[a-zA-Z\d\.\-]+\.[a-zA-Z]{2,15}$/" required="" ha-errors=""
        class="ng-pristine ng-untouched ng-empty ng-invalid ng-invalid-required ng-valid-pattern ng-valid-email" aria-invalid="true"><!--ha-errors for=emailAddress-->
    </label>
    <div class="wrap">
      <label class="ha-label ha-form-lg form-group">
        <span class="sr-only">Zip/Postal code</span>
        <input type="text" name="zipCode" placeholder="Zip/Postal code" ng-model="zipCode" maxlength="10" ng-pattern="/[a-zA-Z0-9- ]/gi" required="" ha-errors=""
          class="ng-pristine ng-untouched ng-empty ng-invalid ng-invalid-required ng-valid-pattern ng-valid-maxlength" aria-invalid="true"><!--ha-errors for=zipCode-->
      </label>
      <button type="submit" class="btn-primary">Subscribe</button>
    </div>
  </div>
  <input type="hidden" name="__RequestVerificationToken" value="X2BpEQbJvbGAdQXrkLsfjOTJTYMtASUfF2q7CNKbtBpIDKyCeYsTD6-HeoBcn5lr3MQFKw2">
</form>

Text Content

Hawaiian Airlines - Flights to Hawaii, Plane Tickets & Airfare
Skip to Content
 * Hawaiian Airlines
 * Help CenterOpens external link to page that may not meet accessibility
   guidelines
 * Optional Fees
 * Contact Us
 * Search
 * USD
   * United States (USD)
   * 日本 (JPY)
   * 한국어 (KRW)
   * Australia (AUD)
   * New Zealand (NZD)

 * Book
   
 * Manage Flights
   
 * Our Airline
   
 * Island Guide
   

 * HawaiianMiles
    * Sign In
    * Join Now


DisabledSearch close

FREQUENTLY ASKED QUESTIONS

 * What do I need to do to change or cancel my reservation?Opens external link
   to page that may not meet accessibility guidelines
 * How much are baggage fees on my flight?Opens external link to page that may
   not meet accessibility guidelines
 * How do I check in online?Opens external link to page that may not meet
   accessibility guidelines

Read more FAQsOpens external link to page that may not meet accessibility
guidelines
mi

EARN 70,000
BONUS HAWAIIANMILES
TWO FREE CHECKED BAGS
ON ELIGIBLE FLIGHTS
ONE TIME 50% OFF COMPANION DISCOUNT
3X HAWAIIANMILES ON ELIGIBLE HAWAIIAN AIRLINES PURCHASES
APPLY NOWOPENS EXTERNAL LINK TO PAGE THAT MAY NOT MEET ACCESSIBILITY GUIDELINES
SEE TERMS & CONDITIONSOPENS EXTERNAL LINK TO PAGE THAT MAY NOT MEET
ACCESSIBILITY GUIDELINES FOR DETAILS.


Flights Vacation Deals Hotels Cars
Check-In My Trips Flight Status


Close
Roundtrip One-Way Multi-City
 * From*
   
   To*
   
   Continue
   Depart Departure Date,
   
   
   DEPARTURE DATE
   
   
   
   
    1. December 2024 SunMonTueWedThuFriSat 1234567 891011121314 15161718192021
       22232425262728 293031
   
    2. January 2025 SunMonTueWedThuFriSat 1234 567891011 12131415161718
       19202122232425 262728293031
   
   Return Return Date,
   
   
   RETURN DATE
   
   
   
   
    1. December 2024 SunMonTueWedThuFriSat 1234567 891011121314 15161718192021
       22232425262728 293031
   
    2. January 2025 SunMonTueWedThuFriSat 1234 567891011 12131415161718
       19202122232425 262728293031

Adults 01234567
Children (2-11 years of age at time of travel) 01234567

 * Flexible dates calendar

Promo Code (optional)
Search Flights Opens external link to page that may not meet accessibility
guidelines Search Flights & Hotels Opens external link to page that may not meet
accessibility guidelines


Close


SEARCH FOR FLIGHTS

Passengers may check-in up to 24 hours in advance, but no less than 60 minutes
prior to departure.

Last Name
Confirmation Code or E-Ticket Number
Continue


Close


FIND FLIGHT

By Flight Number By Route
Flight Number
Departing
 * Sunday, December 29, 2024
 * Monday, December 30, 2024
 * Tuesday, December 31, 2024

Check Flight Status

Special offer
Earn 60,000
70,000
Bonus HawaiianMiles
Terms apply
Learn more and apply ›

New route
Get ready for daily non-stop flights from Seattle to Tokyo
Search flights*1 ›

Free Wi-Fi
Enjoy free, fast Wi-Fi on select flights
Stay connected ›

HawaiianMiles offer
Buy miles now and reach
your next flight award
faster
Purchase miles ›

Exclusive offer
Get to your gate faster with CLEAR® Plus at a special
discounted rate
Find out more ›

New service
Experience our new Premium Airport Service at HNL
Treat yourself ›

New aircraft
Get ready, our new Boeing 787 is ready for takeoff
Step inside ›

Extra Comfort
Treat yourself to the Extra Comfort you deserve
See the difference ›

Rental cars
Save up to 35% off base rates, plus earn 1000 bonus miles on rentals of 2+ days
Search car deals ›

Vacation packages
Build the perfect trip with our Hawaii vacation deals and save
Start your search ›

Photo 1 of 4: {getAltText()}Photo 2 of 4: {getAltText()}Photo 3 of 4:
{getAltText()}Photo 4 of 4: {getAltText()}

Manage your trip

Flight changes, cancellations, find travel credit.



Select one Make changes to your flight Flight status Check in Find travel credit
Rebook with credit Cancel flight Go


FOR YOUR NEXT TRIP

VACATION DEALS

VACATION DEALS

Welcome to the easier way to plan your vacation. Save time and money when you
book your flight, hotel or car rental together, and earn HawaiianMiles on every
package.

Browse vacation deals

HAWAII ACTIVITIES

HAWAII ACTIVITIES

We've partnered with FareHarbor to curate a selection of the best tours and
activities Hawaii and North America have to offer.

Browse activities*

TRAVEL PONO

TRAVEL PONO

Travel Pono means to explore with care, offering your kokua (help) to preserve
our natural resources, cultures and communities.

See how you can help

HAWAIIANMILES NEVER EXPIRE

HAWAIIANMILES NEVER EXPIRE

You earned them, you keep them. With HawaiianMiles that never expire, our guests
can explore even more by redeeming for free flights and benefits.

Explore more


THE HAWAIIAN AIRLINES® BANK OF HAWAII WORLD ELITE MASTERCARD®


Opens external link to page that may not meet accessibility guidelines
Special offer
Earn 60,000
70,000
Bonus HawaiianMiles
Two free
checked bags
One-time
50%-off
companion
discount
$100 annual
companion
discount


Apply nowOpens external link to page that may not meet accessibility guidelines

Apply nowOpens external link to page that may not meet accessibility guidelines

$99 annual fee
See Terms & ConditionsOpens external link to page that may not meet
accessibility guidelines for details.


TWO BELOVED BRANDS. TAKING YOU FURTHER.

We’re proud to announce Hawaiian Airlines has joined Alaska Airlines, with
exciting new things coming soon.

Learn more


YOUR GUIDE TO HAWAII

READ MORE WITH HANA HOU!

BEST TIME TO VISIT HAWAII

8 AMAZING HIKES OF HAWAII

TAKE A RAINBOW-THEMED TRIP

HAWAII'S TOP CRACK SEED STORES

EXPLORE THE NAPALI COAST BY BOAT

ROMANTIC DATES FOR LOVEBIRDS

WHERE TO LISTEN TO LIVE MUSIC

Your guide to the Hawaiian Islands


MORE FROM HAWAIIAN AIRLINES



FLY WITH DISNEY’S “MOANA 2” 

FLY WITH DISNEY’S “MOANA 2” 

Join us as we celebrate the new big-screen adventure with special livery designs
featuring Moana, Maui and the crew.

Set sail

THE HAWAIIAN AIRLINES APP

THE HAWAIIAN AIRLINES APP

Download our app for faster check-ins, real-time notifications and more; all at
your convenience.

Get it now

SEND YOUR ALOHA WITH HAWAIIAN AIRLINES GIFT CARDS

SEND YOUR ALOHA WITH HAWAIIAN AIRLINES GIFT CARDS

You’ll make every occasion extra special. Send the gift of travel to your loved
one’s mailbox or inbox, no wrapping paper needed.

Send a giftOpens external link to page that may not meet accessibility
guidelines
Opens external link to page that may not meet accessibility guidelines

FLY WITH VERIFIED CARBON OFFSETS

FLY WITH VERIFIED CARBON OFFSETS

Your next trip can help keep forests standing. Simply add carbon offsets to your
flight purchase.

Learn howOpens external link to page that may not meet accessibility guidelines
Opens external link to page that may not meet accessibility guidelines

Back to Top
Earn
70,000
Bonus HawaiianMiles
Apply nowOpens external link to page that may not meet accessibility guidelines
Apply nowOpens external link to page that may not meet accessibility guidelines
$99 annual fee
See Terms and ConditionsOpens external link to page that may not meet
accessibility guidelines for details.


GET OUR NEW APP

Opens external link to page that may not meet accessibility guidelines Opens
external link to page that may not meet accessibility guidelines

SUPPORT

 * Contact Us
 * Updated Bag Fees
 * Help CenterOpens external link to page that may not meet accessibility
   guidelines
 * Legal
 * All Fees
 * Terms of Use
 * Team KokuaOpens external link to page that may not meet accessibility
   guidelines
 * Guests with Disabilities

ABOUT US

 * Contract of Carriage
 * Customer Service Plan
 * Careers
 * Tarmac Delay Plan
 * Investor RelationsOpens external link to page that may not meet accessibility
   guidelines
 * Privacy
 * CargoOpens external link to page that may not meet accessibility guidelines
 * Shop Our StoreOpens external link to page that may not meet accessibility
   guidelines
 * Fare Deals
 * Gift CardsOpens external link to page that may not meet accessibility
   guidelines
 * Report Sexual Misconduct

SIGN UP FOR DEALS

Get notifications for low fares & special deals.

Email Address
Zip/Postal code Subscribe
Visit us on Facebook Opens external link to page that may not meet accessibility
guidelines Visit us on Twitter Opens external link to page that may not meet
accessibility guidelines Visit us on Instagram Opens external link to page that
may not meet accessibility guidelines Visit us on YouTube Opens external link to
page that may not meet accessibility guidelines
   
   
 * *1 Subject to government approval
   



© 2024 HAWAIIAN AIRLINES. ALL RIGHTS RESERVED [SC8.2.7]





Close
Earn 60,000
70,000
Bonus HawaiianMiles
Every purchase brings you closer to your next getaway,
plus enjoy exclusive travel perks offered to cardmembers.
No, I'll pass on
this offerYes, I'm ready to
learn moreApply Now
See Terms & Conditions for details.