www.britishairways.com Open in urlscan Pro
184.30.211.131  Public Scan

Submitted URL: http://britishairways.com/
Effective URL: https://www.britishairways.com/travel/home/public/de_de
Submission Tags: tranco_l324
Submission: On October 27 via api from DE — Scanned from DE

Form analysis 11 forms found in the DOM

Name: searchForm

<form data-ng-submit="submitSearch()" name="searchForm" class="search-form ng-pristine ng-valid" data-ng-class="{'hasValue': hasSearchValue}"><input tabindex="1" id="search-input" class="header-search-input ng-pristine ng-untouched ng-valid ng-empty"
    data-ng-class="{'hasValue': hasSearchValue}" data-ng-model="searchValue" data-ng-focus="focusEvent($event, 'searchSelect')" data-ng-keyup="escape($event)" style=""> <button tabindex="1" type="submit" class="search search-icon"
    data-ng-class="{'hasValue': hasSearchValue}" aria-label="Absenden"><img data-ng-src="/cms/global/assets/images/site/icon/header_search.svg" alt="Suche" src="/cms/global/assets/images/site/icon/header_search.svg"></button></form>

Name: dualForm-3POST https://www.britishairways.com/travel/managebooking/public/de_de

<form method="post" action="https://www.britishairways.com/travel/managebooking/public/de_de" id="dualForm-3" class="sub-nav-form ng-pristine ng-valid ng-valid-maxlength" name="dualForm-3">
  <fieldset>
    <legend class="acc-reader ng-binding">Meine Buchungen</legend><input name="eId" type="hidden" id="dualFormEID" autocomplete="off">
    <div ba-text-input="" data-field-title="'header-beta-olci-booking-ref'" data-value="global.bookingRef" data-clear="false" class="ng-isolate-scope">
      <div class="field"><label data-ng-class="{'focusedLabel': labelMove}" for="dualFormbookingRef" class="ng-binding">Buchungsreferenz</label>
        <div data-ng-transclude="" data-ng-keydown="checkClear('focus', event)"><input tabindex="10" spellcheck="false" autocomplete="off" size="29" maxlength="6" type="text" name="bookingRef" id="dualFormbookingRef" data-ng-model="global.bookingRef"
            data-nd-bind="global.bookingRef" class="ng-pristine ng-untouched ng-valid ng-scope ng-empty ng-valid-maxlength"></div><button class="clear-button hidden" data-ng-class="{'hidden': !showClear}" aria-label="clear field"
          type="button"></button>
      </div>
    </div>
    <div ba-text-input="" data-field-title="'header-beta-olci-lastname'" data-value="global.lastname" data-clear="false" class="ng-isolate-scope">
      <div class="field"><label data-ng-class="{'focusedLabel': labelMove}" for="dualFormlastname" class="ng-binding">Nachname des Passagiers</label>
        <div data-ng-transclude="" data-ng-keydown="checkClear('focus', event)"><input tabindex="10" spellcheck="false" autocomplete="off" size="29" maxlength="59" type="text" name="lastname" id="dualFormlastname" data-ng-model="global.lastname"
            data-ng-bind="global.lastname" class="ng-pristine ng-untouched ng-valid ng-binding ng-scope ng-empty ng-valid-maxlength"></div><button class="clear-button hidden" data-ng-class="{'hidden': !showClear}" aria-label="clear field"
          type="button"></button>
      </div>
    </div>
    <div class="row dual-form-button-row"><button tabindex="10" class="button btn-primary dual-form-button-mmb ng-binding ng-isolate-scope" type="submit" data-ba-resource-bundle-static="" data-key="header-beta-find-mmb"
        data-ng-click="updateFormParams('mmb', $event)">Meine Buchung finden</button> <button tabindex="10" class="button btn-primary dual-form-button-olci ng-binding ng-isolate-scope" type="submit" data-ba-resource-bundle-static=""
        data-key="header-beta-check-in" data-ng-click="updateFormParams('olci', $event)">Online-Check-In</button></div>
  </fieldset>
</form>

Name: searchForm

<form name="searchForm" novalidate="novalidate" class="ng-pristine ng-invalid ng-invalid-required">
  <div aria-labelledby="flightTab" id="flightPanel" role="tabpanel" class="search-form"><!-- ngIf: !flightOnly -->
    <div class="row ng-scope" data-ng-if="!flightOnly">
      <div class="small-12 medium-12 columns search-type">
        <div class="row">
          <div class="small-12 columns"><!-- ngIf: userChoice === 'Flight' && isNotStaffCug && (showFlightHotelUpsell || showFlightCarUpsell) --></div>
        </div>
        <div class="row"><!-- ngIf: cugName -->
          <div class="small-12 medium-8 large-6 columns padding-zero-for-small float-left">
            <p class="selected ng-binding ng-isolate-scope" data-ba-resource-bundle-static="" data-key="Searchbar-flights" aria-hidden="true">Flüge</p>
            <p data-adobe-add-tracking-to-child-href="">
              <a class="multicity-link ng-binding ng-isolate-scope" data-analytics-data="{source:'PHP-plantrip-desktop'}" data-ba-teamsite-url="" data-pageid="fx" data-queryparams="eId=111024" data-ba-resource-bundle-static="" data-key="Searchbar-multiCity" tabindex="15" href="https://www.britishairways.com/travel/fx/public/de_de?eId=111024&amp;source=PHP-plantrip-desktop">Reisen mit Zwischenstopps und rund um die Welt</a>
            </p>
            <p data-ba-resource-bundle-static="" data-key="Searchbar-concur" data-ng-show="concur" data-ng-click="SP.setUserChoice('Concur', 'click')" tabindex="16" data-ng-keydown="SP.setUserChoice('Concur',$event)"
              data-ng-class="{'selected' : (userChoice === 'Concur')}" class="ng-binding ng-isolate-scope ng-hide">Firmenbuchung</p>
          </div>
          <div class="small-12 medium-4 large-6 columns padding-zero-for-small"><span class="concur-heading ng-hide" data-ng-show="userChoice === 'Concur'"><span data-ba-resource-bundle-static="" data-key="Searchbar-sync"
                class="ng-binding ng-isolate-scope">Verbunden mit</span> <img data-ng-src="images/SAP_Concur_Logo.png" alt="concur Logo" src="/apps/ba-home/images/SAP_Concur_Logo.png"></span>
            <!-- ngIf: userChoice === 'Flight' && isNotStaffCug && (showFlightHotelUpsell || showFlightCarUpsell) --></div>
        </div>
      </div>
    </div><!-- end ngIf: !flightOnly --><!-- ngIf: flightOnly -->
    <div class="row">
      <div class="small-12 large-12 columns search-section">
        <div class="row">
          <div class="large-4 columns">
            <div class="row">
              <div class="small-12 columns from-to-field"><!-- ngIf: userChoice === 'Flight' || userChoice === 'Concur' -->
                <div data-ng-if="userChoice === 'Flight' || userChoice === 'Concur'" data-typeahead="" data-input-value="" data-label-key="typeahead-from" data-value-field="locationValue" data-class-name="from inverted "
                  data-error-message="errorMessage.origin" data-get-suggestions="SP.updateOriginSuggestions(value, next)" data-suggestion-selected="SP.updateOrigin(selection)" data-flight-not-available-error="errorMessage.flightNotAvailable"
                  data-user-choice="SP.userChoice" data-field-name="from" data-aria-label-key="typeahead-searchBarFromFieldAriaLabel" data-availability-error="errorMessage.showInvalidWarning" data-tab-index="17"
                  class="search-field first-search-field ng-scope ng-isolate-scope">
                  <div data-click-and-touch-off="" data-click-and-touch-off-callback="loseFocus()" data-click-and-touch-off-if="!hideSuggestion" class="typeahead-field" id="typeahead-from"
                    data-ng-class="{'did-you-mean-error' : (errorMessage === 'typeahead-weCantRecognise' &amp;&amp; suggestions.length > 0 &amp;&amp; !isServiceFailed)}"><input type="text" name="searchEntry" data-ng-model="inputValue"
                      data-ng-change="updateSuggestions(inputValue, '')" data-ng-keydown="navigate($event, activeIndex)" data-ng-required="true" autocomplete="off" id="from" tabindex="17" role="textbox" class="from inverted "
                      data-ng-disabled="eligibilityErrorState" aria-label="search bar Departure field" aria-live="polite" data-select-content-on-focus=""
                      data-ng-class="{'invalid-field' : (errorMessage || availabilityError), 'invalid-field flight-error' : (flightNotAvailableError === 'FlightNotAvailable')}" required="required"> <label for="from" aria-hidden="true"
                      class="ng-binding">Ab <span data-ba-resource-bundle-static="" data-key="locationPlaceHolder" class="ng-binding ng-isolate-scope">Geben Sie 3 Buchstaben ein</span></label> <!-- ngIf: showSuggestions() -->
                    <div class="search-bar-dropdown ng-hide" data-ng-show="errorMessage || showSuggestions()" data-ng-class="{'invalid-warning': errorMessage}">
                      <!-- ngIf: errorMessage || isServiceFailed --><!-- ngIf: errorMessage === 'typeahead-weCantRecognise' && suggestions.length > 0 && !isServiceFailed -->
                      <ul data-ng-show="showSuggestions()" class="resultsContainer choicesContainer ng-hide" tabindex="-1" role="listbox"><!-- ngRepeat: suggestion in suggestions track by $index --></ul>
                    </div>
                  </div>
                </div><!-- end ngIf: userChoice === 'Flight' || userChoice === 'Concur' -->
              </div>
            </div>
            <div class="row">
              <div class="small-12 columns from-to-field"><!-- ngIf: userChoice === 'Flight' || userChoice==='Concur' -->
                <div data-ng-if="userChoice === 'Flight' || userChoice==='Concur'" data-typeahead="" data-input-value="" data-label-key="typeahead-to" data-value-field="locationValue" data-class-name="to inverted "
                  data-error-message="errorMessage.destination" data-get-suggestions="SP.updateDestinationSuggestions(value, next)" data-suggestion-selected="SP.updateDestination(selection)"
                  data-flight-not-available-error="errorMessage.flightNotAvailable" data-user-choice="userChoice" data-field-name="to" data-aria-label-key="typeahead-searchBarToFieldAriaLabel" data-availability-error="errorMessage.showInvalidWarning"
                  data-tab-index="18" class="search-field ng-scope ng-isolate-scope">
                  <div data-click-and-touch-off="" data-click-and-touch-off-callback="loseFocus()" data-click-and-touch-off-if="!hideSuggestion" class="typeahead-field" id="typeahead-to"
                    data-ng-class="{'did-you-mean-error' : (errorMessage === 'typeahead-weCantRecognise' &amp;&amp; suggestions.length > 0 &amp;&amp; !isServiceFailed)}"><input type="text" name="searchEntry" data-ng-model="inputValue"
                      data-ng-change="updateSuggestions(inputValue, '')" data-ng-keydown="navigate($event, activeIndex)" data-ng-required="true" autocomplete="off" id="to" tabindex="18" role="textbox" class="to inverted "
                      data-ng-disabled="eligibilityErrorState" aria-label="search bar Destination field" aria-live="polite" data-select-content-on-focus=""
                      data-ng-class="{'invalid-field' : (errorMessage || availabilityError), 'invalid-field flight-error' : (flightNotAvailableError === 'FlightNotAvailable')}" required="required"> <label for="to" aria-hidden="true"
                      class="ng-binding">Nach <span data-ba-resource-bundle-static="" data-key="locationPlaceHolder" class="ng-binding ng-isolate-scope">Geben Sie 3 Buchstaben ein</span></label> <!-- ngIf: showSuggestions() -->
                    <div class="search-bar-dropdown ng-hide" data-ng-show="errorMessage || showSuggestions()" data-ng-class="{'invalid-warning': errorMessage}">
                      <!-- ngIf: errorMessage || isServiceFailed --><!-- ngIf: errorMessage === 'typeahead-weCantRecognise' && suggestions.length > 0 && !isServiceFailed -->
                      <ul data-ng-show="showSuggestions()" class="resultsContainer choicesContainer ng-hide" tabindex="-1" role="listbox"><!-- ngRepeat: suggestion in suggestions track by $index --></ul>
                    </div>
                  </div>
                </div><!-- end ngIf: userChoice === 'Flight' || userChoice==='Concur' -->
              </div>
            </div><!-- ngIf: errorMessage.flightNotAvailable --><!-- ngIf: errorMessage.availabilityError --><!-- ngIf: errorMessage.unexpectedError -->
          </div>
          <div class="small-6 large-2 columns date-container outbound">
            <div class="outbound date-selection" tabindex="19" id="flight-outbound-date-selector" data-ng-click="openDatepicker(false)" data-ng-keydown="openDatepicker(false, $event)" aria-label="Outbound date selector, 27 Oktober" role="button">
              <div class="journey-type bold ng-binding ng-isolate-scope" data-ba-resource-bundle-static="" data-key="Searchbar-outbound" aria-hidden="true">Hinflug</div>
              <div class="date h1 ng-binding" aria-hidden="true">27</div>
              <p class="month ng-binding" aria-hidden="true">Oktober</p>
            </div>
          </div>
          <div class="small-6 large-2 columns date-container"><!-- ngIf: journeyDates.length > 1 -->
            <div class="date-selection" tabindex="20" data-ng-click="openDatepicker(true)" data-ng-keydown="openDatepicker(true, $event)" id="flight-inbound-date-selector" aria-label="Return date selector,  Add return" role="button">
              <!-- ngIf: journeyDates.length <= 1 -->
              <div class="journey-type bold ng-binding ng-scope ng-isolate-scope" data-ng-if="journeyDates.length <= 1" data-ba-resource-bundle-static="" data-key="Searchbar-addReturn" aria-hidden="true">Rückflug hinzufügen</div>
              <!-- end ngIf: journeyDates.length <= 1 --><!-- ngIf: journeyDates.length > 1 --><!-- ngIf: journeyDates.length <= 1 -->
              <div data-ng-if="journeyDates.length <= 1" class="date add-date h1 ng-scope" aria-hidden="true"><span aria-hidden="true" data-icon=""></span></div><!-- end ngIf: journeyDates.length <= 1 --><!-- ngIf: journeyDates.length > 1 -->
            </div>
          </div>
          <div class="large-2 columns drop-down-container">
            <div class="row">
              <div class="small-12 medium-6 large-12 columns drop-down-container" data-ng-hide="(userChoice === 'Concur' || isConcur)">
                <div id="sb-Flight-pax-mix" class="drop-down-selection" tabindex="22" data-ng-click="togglePaxMixPicker()" data-ng-keypress="keyPress($event, togglePaxMixPicker)" title="1 Erwachsener" aria-label="Passenger selector, 1 Erwachsener"
                  role="button"><img data-ng-src="images/avatar_standard.svg" aria-hidden="true" alt="" src="/apps/ba-home/images/avatar_standard.svg"> <span class="label-font-style ng-binding ng-isolate-scope" data-ba-resource-bundle-static=""
                    data-key="Searchbar-passengers" aria-hidden="true">Passagiere</span> <span class="selection input-text-styling ng-binding" aria-hidden="true">1 Erwachsener</span></div>
              </div><!-- ngIf: (userChoice === 'Concur' || isConcur) -->
              <div class="small-12 medium-6 large-12 columns drop-down-container">
                <div id="sb-flight-travel-class" class="drop-down-selection" tabindex="23" data-ng-click="toggleTravelClassPicker()" data-ng-keypress="keyPress($event, toggleTravelClassPicker)" title="Economy"
                  aria-label="Travel class selector, Economy" role="button"><span class="travel-class-icon" aria-hidden="true" data-icon=""></span> <span class="label-font-style ng-binding ng-isolate-scope" data-ba-resource-bundle-static=""
                    data-key="Searchbar-travelClass" aria-hidden="true">Reiseklasse</span> <span class="selection input-text-styling ng-binding" aria-hidden="true">Economy</span></div>
              </div>
            </div>
            <div class="row"><!-- ngIf: (userChoice === 'Concur') --></div>
          </div>
          <!-- ngIf: (showFlightHotelUpsell || showFlightCarUpsell) && userSelection.selectedCabin === SP.SearchBarConstants.DEFAULT_CABIN_CLASS --><!-- ngIf: showFlightOnlyUpsell && (userSelection.selectedCabin === SP.SearchBarConstants.DEFAULT_CABIN_CLASS) --><!-- ngIf: !(showFlightOnlyUpsell) -->
          <div class="large-2 small-12 columns search-button-container ng-scope" data-ng-if="!(showFlightOnlyUpsell)"><button type="button" data-ng-click="SP.submitSearchForm()" aria-disabled="true" class="primary search-button disabled"
              tabindex="25" data-ng-class="{'disabled' : !SP.isSearchEnabled()}" data-icon="" aria-label="Suche"></button> <!-- ngIf: isHotlineInformationRetrieved -->
            <a class="hide-for-medium-up close-button ng-binding ng-isolate-scope" data-ng-click="expandSearchBar()" data-ba-resource-bundle-static="" data-key="Searchbar-closeSearch">Schließen</a></div><!-- end ngIf: !(showFlightOnlyUpsell) -->
        </div>
        <div class="row show-for-large-up"><!-- ngIf: errorMessage.availabilityError --><!-- ngIf: errorMessage.unexpectedError --></div><!-- ngIf: isHotlineInformationRetrieved -->
      </div>
    </div>
  </div>
</form>

<form class="ng-pristine ng-valid">
  <div data-pop-up-directive="" data-show="isPaxMixPickerOpen" data-restrict-exit-functionality="true" data-selector-id="'sb-'+userChoice+'-pax-mix'" data-pop-up-id="'sb-'+userChoice+'-pax-mix-pop-up'"
    data-position-adjustment-values="popUpAdjustmentValues" data-disable-position-adjustment="disablePositionAdjustment" aria-label="passenger mix picker" data-pop-up-height="430" data-pop-up-width="400" data-ng-keydown="escapePopUp($event, 'pax')"
    class="ng-isolate-scope">
    <div class="pop-up ng-hide" data-ng-show="show" data-ng-keydown="keyPress($event)" tabindex="-1">
      <div class="pop-up-overlay" data-ng-click="hidePopUp()"></div>
      <div data-trap-focus="" data-focus-first-element="show" data-override-auto-focus="true" id="sb-Flight-pax-mix-pop-up" data-ng-show="show" class="pop-up-dialog ng-isolate-scope pop-up-animation ng-hide" data-ng-style="applyDialogPosition()"
        ng-class="{'pop-up-animation' : (disablePositionAdjustment !== true)}" data-ng-transclude="" style="top: 0px; left: 0px;">
        <div class="pop-up-dialog-heading bold ng-binding ng-scope ng-isolate-scope" data-ba-resource-bundle-static="" data-key="Searchbar-paxMixPickerHeading">Wie viele Personen reisen?</div>
        <div class="pop-up-dialog-content ng-scope ng-isolate-scope" data-passenger-supermix="" id="passenger-mix" data-supermix="passengers.mix" data-rule-set="passengers.rules" data-resource-callback="getResourcesForPassengerMix(errorKey)">
          <!-- ngIf: hasRooms() --><!-- ngIf: showPassengerRefinementInfo -->
          <div class="passenger-supermix" data-ng-class="{'passenger-supermix-multi-passenger': hasRooms()}"><!-- ngRepeat: passengerMix in supermix.group track by $index -->
            <div class="passenger-mix ng-pristine ng-valid ng-scope" data-ng-repeat="passengerMix in supermix.group track by $index" data-ng-form="" data-name="supermixForm">
              <div class="passenger-mix-information ng-hide" data-ng-show="hasRooms()">
                <div class="passenger-mix-header"><span class="passenger-mix-title bold ng-binding ng-isolate-scope" data-ba-resource-bundle-static="" data-key="pax-room" data-supplant="{'S1':$index + 1}">Raum 1</span></div>
                <div class="passenger-mix-header">
                  <p data-ng-class="{'passenger-mix-summary-hide': !shouldShowSummary(supermixForm, passengerMix.showSummary)}" class="passenger-mix-summary ng-binding passenger-mix-summary-hide" data-ng-bind-html="getRoomSummary(passengerMix)">
                    1&nbsp;Erwachsener</p>
                  <a class="passenger-mix-edit-link small-text ng-binding ng-isolate-scope ng-hide" data-ng-click="toggleRoomDetails($index, passengerMix)" data-ng-keydown="callOnKeyDown($event, 'toggleRoomDetails', $index)" data-ng-show="shouldShowSummary(supermixForm, passengerMix.showSummary)" tabindex="0" data-ba-resource-bundle-static="" data-key="edit-link-text" role="link" aria-label="Link zur Bearbeitung der Zimmerdetails 1">Bearbeiten</a>
                </div>
              </div>
              <div class="passenger-mix-directive ng-isolate-scope" data-ng-class="{'passenger-mix-directive-hide': shouldShowSummary(supermixForm, passengerMix.showSummary)}" data-passenger-mix-two="" data-parent-index="$index"
                data-passengers="passengerMix" data-submitted="submitted" data-index="$index" data-rule-set="ruleSet" data-supermix="supermix" data-resource-callback="paxResourceCallback(errorKey)"><!-- ngRepeat: passenger in passengers -->
                <div data-ng-repeat="passenger in passengers" class="ba-passenger-mix ng-pristine ng-valid ng-scope" data-ng-form="" data-name="paxMixForm" data-click-and-touch-off="" data-click-and-touch-off-if="passenger.errors.length > 0"
                  data-click-and-touch-off-callback="clearPassengerErrors()">
                  <div class="passenger-submix">
                    <div class="row spinner ng-pristine ng-untouched ng-valid ng-isolate-scope ng-not-empty" id="AdultKey0" data-spinner="" data-label="passenger.displayKeyPlural" data-sub-label="passenger.ageRange" data-parent-index="$index"
                      data-value="passenger.value" data-override="spinnerCallback(newVal, index, optionalOverride)" data-ng-model="passenger.value" data-get-aria-label="ariaLabel($index)">
                      <div class="columns small-2 right-padding-zero"><span class="h1 spinner-value ng-binding" data-ng-class="{'spinner-value-zero': value===0}" tabindex="-1" aria-live="assertive"
                          aria-label="Die Nummer von Erwachsene lautet jetzt 1">1</span></div><!-- ngIf: label || subLabel -->
                      <div class="columns small-5 left-padding-zero ng-scope" data-ng-if="label || subLabel"><!-- ngIf: label -->
                        <div class="p bold spinner-main-label ng-binding ng-scope" data-ng-if="label">Erwachsene</div><!-- end ngIf: label --><!-- ngIf: subLabel -->
                        <div class="small-text spinner-sub-label ng-binding ng-scope" data-ng-if="subLabel">16+ Jahre</div><!-- end ngIf: subLabel -->
                      </div><!-- end ngIf: label || subLabel -->
                      <div class="columns small-5">
                        <div class="spinner-button-container"><button type="button" class="spinner-button decrease disable" data-ng-class="{'disable': isMinusDisabled}" data-type="decrease" data-ng-click="minus()" data-ng-attr-tabindex="{{minusTab}}"
                            aria-label="button to decrease number of Erwachsene" data-icon="" tabindex="-1"></button> <button type="button" class="spinner-button increase" data-ng-class="{'disable': isPlusDisabled}" data-type="increase"
                            data-ng-click="plus()" data-ng-attr-tabindex="{{plusTab}}" aria-label="button to increase number of Erwachsene" data-icon="" tabindex="0"></button></div>
                      </div>
                    </div><!-- ngIf: requiresAgeList(passenger) -->
                    <div class="error-messages ng-isolate-scope ng-hide" data-ba-page-messages="" role="alert" data-ng-show="passenger.errors.length > 0" data-message-type-class="'information'"
                      data-message-description="getResource(passenger.errors[0]).resourceKey | baResourceBundleDynamic: getResource(passenger.errors[0]).supplants" data-inverted="true"><!-- ngIf: pageDisabled === true -->
                      <div class="page-messages information inverted" data-ng-class="{'page-message-disabled': pageDisabled, 'inverted': inverted === 'true'}">
                        <!-- ngIf: messageTitle --><!-- ngIf: messageTitleLiteral --><!-- ngIf: messageDescription -->
                        <p ng-bind-html="messageDescription" data-ng-if="messageDescription" class="ng-binding ng-scope">Resource Not Found!</p><!-- end ngIf: messageDescription -->
                        <div data-ng-transclude=""></div>
                      </div>
                    </div>
                  </div>
                </div><!-- end ngRepeat: passenger in passengers -->
                <div data-ng-repeat="passenger in passengers" class="ba-passenger-mix ng-pristine ng-valid ng-scope" data-ng-form="" data-name="paxMixForm" data-click-and-touch-off="" data-click-and-touch-off-if="passenger.errors.length > 0"
                  data-click-and-touch-off-callback="clearPassengerErrors()">
                  <div class="passenger-submix">
                    <div class="row spinner ng-pristine ng-untouched ng-valid ng-isolate-scope ng-not-empty" id="YoungAdultKey0" data-spinner="" data-label="passenger.displayKeyPlural" data-sub-label="passenger.ageRange" data-parent-index="$index"
                      data-value="passenger.value" data-override="spinnerCallback(newVal, index, optionalOverride)" data-ng-model="passenger.value" data-get-aria-label="ariaLabel($index)">
                      <div class="columns small-2 right-padding-zero"><span class="h1 spinner-value ng-binding spinner-value-zero" data-ng-class="{'spinner-value-zero': value===0}" tabindex="-1" aria-live="assertive"
                          aria-label="Die Nummer von Junge Erwachsene lautet jetzt 0">0</span></div><!-- ngIf: label || subLabel -->
                      <div class="columns small-5 left-padding-zero ng-scope" data-ng-if="label || subLabel"><!-- ngIf: label -->
                        <div class="p bold spinner-main-label ng-binding ng-scope" data-ng-if="label">Junge Erwachsene</div><!-- end ngIf: label --><!-- ngIf: subLabel -->
                        <div class="small-text spinner-sub-label ng-binding ng-scope" data-ng-if="subLabel">12-15 Jahre</div><!-- end ngIf: subLabel -->
                      </div><!-- end ngIf: label || subLabel -->
                      <div class="columns small-5">
                        <div class="spinner-button-container"><button type="button" class="spinner-button decrease disable" data-ng-class="{'disable': isMinusDisabled}" data-type="decrease" data-ng-click="minus()" data-ng-attr-tabindex="{{minusTab}}"
                            aria-label="button to decrease number of Junge Erwachsene" data-icon="" tabindex="-1"></button> <button type="button" class="spinner-button increase" data-ng-class="{'disable': isPlusDisabled}" data-type="increase"
                            data-ng-click="plus()" data-ng-attr-tabindex="{{plusTab}}" aria-label="button to increase number of Junge Erwachsene" data-icon="" tabindex="0"></button></div>
                      </div>
                    </div><!-- ngIf: requiresAgeList(passenger) -->
                    <div class="error-messages ng-isolate-scope ng-hide" data-ba-page-messages="" role="alert" data-ng-show="passenger.errors.length > 0" data-message-type-class="'information'"
                      data-message-description="getResource(passenger.errors[0]).resourceKey | baResourceBundleDynamic: getResource(passenger.errors[0]).supplants" data-inverted="true"><!-- ngIf: pageDisabled === true -->
                      <div class="page-messages information inverted" data-ng-class="{'page-message-disabled': pageDisabled, 'inverted': inverted === 'true'}">
                        <!-- ngIf: messageTitle --><!-- ngIf: messageTitleLiteral --><!-- ngIf: messageDescription -->
                        <p ng-bind-html="messageDescription" data-ng-if="messageDescription" class="ng-binding ng-scope">Resource Not Found!</p><!-- end ngIf: messageDescription -->
                        <div data-ng-transclude=""></div>
                      </div>
                    </div>
                  </div>
                </div><!-- end ngRepeat: passenger in passengers -->
                <div data-ng-repeat="passenger in passengers" class="ba-passenger-mix ng-pristine ng-valid ng-scope" data-ng-form="" data-name="paxMixForm" data-click-and-touch-off="" data-click-and-touch-off-if="passenger.errors.length > 0"
                  data-click-and-touch-off-callback="clearPassengerErrors()">
                  <div class="passenger-submix">
                    <div class="row spinner ng-pristine ng-untouched ng-valid ng-isolate-scope ng-not-empty" id="ChildKey0" data-spinner="" data-label="passenger.displayKeyPlural" data-sub-label="passenger.ageRange" data-parent-index="$index"
                      data-value="passenger.value" data-override="spinnerCallback(newVal, index, optionalOverride)" data-ng-model="passenger.value" data-get-aria-label="ariaLabel($index)">
                      <div class="columns small-2 right-padding-zero"><span class="h1 spinner-value ng-binding spinner-value-zero" data-ng-class="{'spinner-value-zero': value===0}" tabindex="-1" aria-live="assertive"
                          aria-label="Die Nummer von Kinder lautet jetzt 0">0</span></div><!-- ngIf: label || subLabel -->
                      <div class="columns small-5 left-padding-zero ng-scope" data-ng-if="label || subLabel"><!-- ngIf: label -->
                        <div class="p bold spinner-main-label ng-binding ng-scope" data-ng-if="label">Kinder</div><!-- end ngIf: label --><!-- ngIf: subLabel -->
                        <div class="small-text spinner-sub-label ng-binding ng-scope" data-ng-if="subLabel">2-11 Jahre</div><!-- end ngIf: subLabel -->
                      </div><!-- end ngIf: label || subLabel -->
                      <div class="columns small-5">
                        <div class="spinner-button-container"><button type="button" class="spinner-button decrease disable" data-ng-class="{'disable': isMinusDisabled}" data-type="decrease" data-ng-click="minus()" data-ng-attr-tabindex="{{minusTab}}"
                            aria-label="button to decrease number of Kinder" data-icon="" tabindex="-1"></button> <button type="button" class="spinner-button increase" data-ng-class="{'disable': isPlusDisabled}" data-type="increase"
                            data-ng-click="plus()" data-ng-attr-tabindex="{{plusTab}}" aria-label="button to increase number of Kinder" data-icon="" tabindex="0"></button></div>
                      </div>
                    </div><!-- ngIf: requiresAgeList(passenger) -->
                    <div class="error-messages ng-isolate-scope ng-hide" data-ba-page-messages="" role="alert" data-ng-show="passenger.errors.length > 0" data-message-type-class="'information'"
                      data-message-description="getResource(passenger.errors[0]).resourceKey | baResourceBundleDynamic: getResource(passenger.errors[0]).supplants" data-inverted="true"><!-- ngIf: pageDisabled === true -->
                      <div class="page-messages information inverted" data-ng-class="{'page-message-disabled': pageDisabled, 'inverted': inverted === 'true'}">
                        <!-- ngIf: messageTitle --><!-- ngIf: messageTitleLiteral --><!-- ngIf: messageDescription -->
                        <p ng-bind-html="messageDescription" data-ng-if="messageDescription" class="ng-binding ng-scope">Resource Not Found!</p><!-- end ngIf: messageDescription -->
                        <div data-ng-transclude=""></div>
                      </div>
                    </div>
                  </div>
                </div><!-- end ngRepeat: passenger in passengers -->
                <div data-ng-repeat="passenger in passengers" class="ba-passenger-mix ng-pristine ng-valid ng-scope" data-ng-form="" data-name="paxMixForm" data-click-and-touch-off="" data-click-and-touch-off-if="passenger.errors.length > 0"
                  data-click-and-touch-off-callback="clearPassengerErrors()">
                  <div class="passenger-submix">
                    <div class="row spinner ng-pristine ng-untouched ng-valid ng-isolate-scope ng-not-empty" id="InfantKey0" data-spinner="" data-label="passenger.displayKeyPlural" data-sub-label="passenger.ageRange" data-parent-index="$index"
                      data-value="passenger.value" data-override="spinnerCallback(newVal, index, optionalOverride)" data-ng-model="passenger.value" data-get-aria-label="ariaLabel($index)">
                      <div class="columns small-2 right-padding-zero"><span class="h1 spinner-value ng-binding spinner-value-zero" data-ng-class="{'spinner-value-zero': value===0}" tabindex="-1" aria-live="assertive"
                          aria-label="Die Nummer von Kleinkinder lautet jetzt 0">0</span></div><!-- ngIf: label || subLabel -->
                      <div class="columns small-5 left-padding-zero ng-scope" data-ng-if="label || subLabel"><!-- ngIf: label -->
                        <div class="p bold spinner-main-label ng-binding ng-scope" data-ng-if="label">Kleinkinder</div><!-- end ngIf: label --><!-- ngIf: subLabel -->
                        <div class="small-text spinner-sub-label ng-binding ng-scope" data-ng-if="subLabel">unter 2 Jahre</div><!-- end ngIf: subLabel -->
                      </div><!-- end ngIf: label || subLabel -->
                      <div class="columns small-5">
                        <div class="spinner-button-container"><button type="button" class="spinner-button decrease disable" data-ng-class="{'disable': isMinusDisabled}" data-type="decrease" data-ng-click="minus()" data-ng-attr-tabindex="{{minusTab}}"
                            aria-label="button to decrease number of Kleinkinder" data-icon="" tabindex="-1"></button> <button type="button" class="spinner-button increase" data-ng-class="{'disable': isPlusDisabled}" data-type="increase"
                            data-ng-click="plus()" data-ng-attr-tabindex="{{plusTab}}" aria-label="button to increase number of Kleinkinder" data-icon="" tabindex="0"></button></div>
                      </div>
                    </div><!-- ngIf: requiresAgeList(passenger) -->
                    <div class="error-messages ng-isolate-scope ng-hide" data-ba-page-messages="" role="alert" data-ng-show="passenger.errors.length > 0" data-message-type-class="'information'"
                      data-message-description="getResource(passenger.errors[0]).resourceKey | baResourceBundleDynamic: getResource(passenger.errors[0]).supplants" data-inverted="true"><!-- ngIf: pageDisabled === true -->
                      <div class="page-messages information inverted" data-ng-class="{'page-message-disabled': pageDisabled, 'inverted': inverted === 'true'}">
                        <!-- ngIf: messageTitle --><!-- ngIf: messageTitleLiteral --><!-- ngIf: messageDescription -->
                        <p ng-bind-html="messageDescription" data-ng-if="messageDescription" class="ng-binding ng-scope">Resource Not Found!</p><!-- end ngIf: messageDescription -->
                        <div data-ng-transclude=""></div>
                      </div>
                    </div>
                  </div>
                </div><!-- end ngRepeat: passenger in passengers -->
              </div>
            </div><!-- end ngRepeat: passengerMix in supermix.group track by $index -->
          </div>
        </div><button class="pop-up-dialog-button ng-binding ng-scope ng-isolate-scope" data-ng-click="togglePaxMixPicker()" data-ba-resource-bundle-static="" data-key="Searchbar-paxMixPickerDialogButtonText">Bestätigen</button>
      </div>
    </div>
  </div>
</form>

<form class="ng-pristine ng-valid">
  <div data-pop-up-directive="" data-show="isTravelClassPickerOpen" data-restrict-exit-functionality="true" data-selector-id="getSelectorElement('travel-class')" data-pop-up-id="getSelectorElement('travel-class')-pop-up" data-pop-up-height="430"
    data-pop-up-width="400" data-position-adjustment-values="popUpAdjustmentValues" data-disable-position-adjustment="disablePositionAdjustment" data-ng-keydown="escapePopUp($event, 'class')" class="ng-isolate-scope">
    <div class="pop-up ng-hide" data-ng-show="show" data-ng-keydown="keyPress($event)" tabindex="-1">
      <div class="pop-up-overlay" data-ng-click="hidePopUp()"></div>
      <div data-trap-focus="" data-focus-first-element="show" data-override-auto-focus="true" id="NaN" data-ng-show="show" class="pop-up-dialog ng-isolate-scope pop-up-animation ng-hide" data-ng-style="applyDialogPosition()"
        ng-class="{'pop-up-animation' : (disablePositionAdjustment !== true)}" data-ng-transclude="" style="top: 0px; left: 0px;">
        <div class="pop-up-dialog-heading bold ng-binding ng-scope ng-isolate-scope" data-ba-resource-bundle-static="" data-key="Searchbar-travelClassHeading">In welcher Reiseklasse möchten Sie fliegen?</div>
        <div class="pop-up-dialog-content ng-scope">
          <div data-cabin-type="" data-selected-value="userSelection.selectedCabin" data-available-results="cabinType.availableCabinTypes" data-input-name="Cabin Type" class="ng-isolate-scope">
            <legend class="hidden-field-legend ng-binding">Cabin Type</legend>
            <div class="row"><!-- ngRepeat: item in availableResults track by item.value -->
              <div class="columns small-12 ng-scope" data-ng-repeat="item in availableResults track by item.value"><input type="radio" id="M" data-ng-model="$parent.selectedValue" data-ng-value="item.value" name="Cabin Type" data-dynamic-name=""
                  checked="" class="ng-pristine ng-untouched ng-valid ng-not-empty" value="M"> <label for="M" class="radio-button bold ng-binding">Economy</label></div><!-- end ngRepeat: item in availableResults track by item.value -->
              <div class="columns small-12 ng-scope" data-ng-repeat="item in availableResults track by item.value"><input type="radio" id="W" data-ng-model="$parent.selectedValue" data-ng-value="item.value" name="Cabin Type" data-dynamic-name=""
                  checked="" class="ng-pristine ng-untouched ng-valid ng-not-empty" value="W"> <label for="W" class="radio-button bold ng-binding">Premium Economy</label></div><!-- end ngRepeat: item in availableResults track by item.value -->
              <div class="columns small-12 ng-scope" data-ng-repeat="item in availableResults track by item.value"><input type="radio" id="J" data-ng-model="$parent.selectedValue" data-ng-value="item.value" name="Cabin Type" data-dynamic-name=""
                  checked="" class="ng-pristine ng-untouched ng-valid ng-not-empty" value="J"> <label for="J" class="radio-button bold ng-binding">Business</label></div><!-- end ngRepeat: item in availableResults track by item.value -->
              <div class="columns small-12 ng-scope" data-ng-repeat="item in availableResults track by item.value"><input type="radio" id="F" data-ng-model="$parent.selectedValue" data-ng-value="item.value" name="Cabin Type" data-dynamic-name=""
                  checked="" class="ng-pristine ng-untouched ng-valid ng-not-empty" value="F"> <label for="F" class="radio-button bold ng-binding">First</label></div><!-- end ngRepeat: item in availableResults track by item.value -->
            </div>
          </div>
          <div data-ticket-type-directive="" data-selected-value="userSelection.selectedTicketType" data-available-results="ticketType.availableTicketTypes" data-input-name="Ticket Type" class="ng-isolate-scope">
            <form class="ng-pristine ng-valid"><!-- ngIf: isLoggedOn && availableResults.length>2 --><!-- ngIf: !isLoggedOn || availableResults.length<=2 -->
              <div class="ticket-type-container row ng-scope" data-ng-if="!isLoggedOn || availableResults.length<=2">
                <div class="columns small-12">
                  <div class="ticket-type-button-container"><label class="switch"><input id="ticketTypeSelector" type="checkbox" class="ticket-type-checkbox ng-pristine ng-untouched ng-valid ng-empty" data-ng-model="$parent.selectedValue"
                        aria-label="Flexibles Ticket?" data-ng-true-value="'FLEXIBLE'" data-ng-false-value="'LOWEST'" data-ng-keydown="switchCheckBox($event, 'ticketTypeSelector')"> <span class="slider round"></span></label></div>
                  <div>
                    <div class="bold ng-binding ng-isolate-scope" data-ba-resource-bundle-static="" data-key="Searchbar-flexibleTicket">Flexibles Ticket?</div>
                    <div class="penalty-fee-text small ng-binding ng-isolate-scope" data-ba-resource-bundle-static="" data-key="Searchbar-noPenaltyFee">gebührenfreie Flugumbuchung möglich</div>
                  </div>
                </div>
              </div><!-- end ngIf: !isLoggedOn || availableResults.length<=2 -->
            </form>
          </div>
        </div><button class="pop-up-dialog-button ng-binding ng-scope ng-isolate-scope" data-ng-click="toggleTravelClassPicker()" data-ba-resource-bundle-static="" data-key="Searchbar-travelClassDialogButtonText">Bestätigen</button>
      </div>
    </div>
  </div>
</form>

<form class="ng-pristine ng-valid"><!-- ngIf: isLoggedOn && availableResults.length>2 --><!-- ngIf: !isLoggedOn || availableResults.length<=2 -->
  <div class="ticket-type-container row ng-scope" data-ng-if="!isLoggedOn || availableResults.length<=2">
    <div class="columns small-12">
      <div class="ticket-type-button-container"><label class="switch"><input id="ticketTypeSelector" type="checkbox" class="ticket-type-checkbox ng-pristine ng-untouched ng-valid ng-empty" data-ng-model="$parent.selectedValue"
            aria-label="Flexibles Ticket?" data-ng-true-value="'FLEXIBLE'" data-ng-false-value="'LOWEST'" data-ng-keydown="switchCheckBox($event, 'ticketTypeSelector')"> <span class="slider round"></span></label></div>
      <div>
        <div class="bold ng-binding ng-isolate-scope" data-ba-resource-bundle-static="" data-key="Searchbar-flexibleTicket">Flexibles Ticket?</div>
        <div class="penalty-fee-text small ng-binding ng-isolate-scope" data-ba-resource-bundle-static="" data-key="Searchbar-noPenaltyFee">gebührenfreie Flugumbuchung möglich</div>
      </div>
    </div>
  </div><!-- end ngIf: !isLoggedOn || availableResults.length<=2 -->
</form>

Name: mmbFormToolsPOST https://www.britishairways.com/travel/managebooking/public/de_de?source=PHP-Find-Booking

<form method="post" action="https://www.britishairways.com/travel/managebooking/public/de_de?source=PHP-Find-Booking" id="mmbFormTools" name="mmbFormTools" class="row ng-pristine ng-valid ng-valid-maxlength">
  <div class="form-title"><span data-ba-resource-bundle-static="" data-key="travelToolBarFindBooking" class="ng-binding ng-isolate-scope">Buchung bearbeiten</span></div><input value="104002" name="eId" type="hidden" autocomplete="off">
  <div class="input-field small-12 columns"><input autocomplete="off" autocorrect="off" data-ng-model="bookingRefMMBTool" size="25" maxlength="6" type="text" name="bookingRef" id="bookingRefMMBTool" aria-label="Buchungsreferenz"
      class="ng-pristine ng-untouched ng-valid ng-empty ng-valid-maxlength"> <label for="bookingRefMMBTool" class="ng-binding">Buchungsreferenz</label></div>
  <div class="input-field small-12 columns"><input spellcheck="false" autocomplete="off" data-ng-model="lastnameMMBTool" size="25" maxlength="59" type="text" name="lastname" id="lastnameMMBTool" aria-label="Nachname"
      class="ng-pristine ng-untouched ng-valid ng-empty ng-valid-maxlength"> <label for="lastnameMMBTool" class="ng-binding">Nachname</label></div><button class="button primary small-12 medium-6 right-align columns ng-binding ng-isolate-scope"
    type="submit" data-ba-resource-bundle-static="" data-key="travelToolBarFindBookingButton">Weiter</button>
</form>

Name: checkinFormToolsPOST https://www.britishairways.com/travel/managebooking/public/de_de?source=PHP-Start-OLCI

<form method="post" action="https://www.britishairways.com/travel/managebooking/public/de_de?source=PHP-Start-OLCI" id="checkinFormTools" name="checkinFormTools" class="row ng-pristine ng-valid ng-valid-maxlength">
  <div class="form-title"><span data-ba-resource-bundle-static="" data-key="travelToolBarOnlineCheckin" class="ng-binding ng-isolate-scope">Bereit zum Einchecken?</span>
    <p data-ba-resource-bundle-static="" data-key="travelToolBarOnlineCheckinInfo" class="ng-binding ng-isolate-scope">Der Online-Check-In öffnet 24&nbsp;Stunden vor Abflug</p>
  </div><input value="104510" name="eId" type="hidden" autocomplete="off">
  <div class="input-field small-12 columns"><input spellcheck="false" autocomplete="off" data-ng-model="bookingRefCheckinTool" size="25" maxlength="6" type="text" name="bookingRef" id="bookingRefCheckinTool" aria-label="Buchungsreferenz"
      class="ng-pristine ng-untouched ng-valid ng-empty ng-valid-maxlength"> <label for="bookingRefCheckinTool" class="ng-binding">Buchungsreferenz</label></div>
  <div class="input-field small-12 columns"><input spellcheck="false" autocomplete="off" data-ng-model="lastnameCheckinTool" size="25" maxlength="59" type="text" name="lastname" id="lastnameCheckinTool" aria-label="Nachname"
      class="ng-pristine ng-untouched ng-valid ng-empty ng-valid-maxlength"> <label for="lastnameCheckinTool" class="ng-binding">Nachname</label></div><button class="button primary small-12 medium-6 right-align columns ng-binding ng-isolate-scope"
    type="submit" data-ba-resource-bundle-static="" data-key="travelToolBarOnlineCheckinButton">Check-In</button>
</form>

Name: rtadFormToolsPOST

<form method="post" id="rtadFormTools" name="rtadFormTools" class="row ng-pristine ng-valid ng-valid-maxlength ng-valid-required">
  <div class="form-title"><span class="label-text ng-binding ng-isolate-scope" data-ba-resource-bundle-static="" data-key="travelToolBarRtad">Flugstatus</span>
    <p data-ba-resource-bundle-static="" data-key="travelToolBarRtadInfo" class="ng-binding ng-isolate-scope">Prüfen Sie den aktuellen Status unserer Flüge in den nächsten 10 Tagen</p>
  </div>
  <div class="flex-row radio-group">
    <div class="input-field input-radio small-12 medium-4 columns"><label class="ng-binding"><input id="rtadDep" name="flightArrDep" type="radio" value="true" data-ng-model="travelToolbarCtrl.flightArrDep"
          class="ng-pristine ng-untouched ng-valid ng-not-empty"> Abflug</label></div>
    <div class="input-field input-radio small-12 medium-4 columns"><label class="ng-binding"><input id="rtadArr" name="flightArrDep" type="radio" value="false" data-ng-model="travelToolbarCtrl.flightArrDep"
          class="ng-pristine ng-untouched ng-valid ng-not-empty"> Ankunft</label></div>
  </div>
  <div class="input-field small-12 columns"><input data-ng-model="travelToolbarCtrl.flightNum" spellcheck="false" autocomplete="off" size="29" maxlength="4" type="text" name="flightNum" id="flightNum" aria-label="Flugnummer"
      class="flight-number-input ng-pristine ng-untouched ng-valid ng-empty ng-valid-maxlength"> <span class="flight-number-label ng-binding ng-isolate-scope" data-ba-resource-bundle-static="" data-key="travelToolBarBA">BA</span> <label
      for="flightNum" class="ng-binding">Flugnummer</label></div>
  <div class="input-field small-12 columns">
    <div class="input-select-wrap"><select id="select-dropdown" name="flightDate" required="" aria-required="true" data-ng-model="travelToolbarCtrl.flightDate" class="ng-pristine ng-untouched ng-valid ng-not-empty ng-valid-required">
        <option value="2021-10-26" class="ng-binding">Di. 26 Okt.</option>
        <option ng-selected="selected" value="2021-10-27" class="ng-binding">Mi. 27 Okt. (Heute)</option><!-- ngRepeat: futureDate in travelToolbarCtrl.future track by $index -->
        <option ng-repeat="futureDate in travelToolbarCtrl.future track by $index" value="2021-10-28" class="ng-binding ng-scope">Do. 28 Okt.</option><!-- end ngRepeat: futureDate in travelToolbarCtrl.future track by $index -->
        <option ng-repeat="futureDate in travelToolbarCtrl.future track by $index" value="2021-10-29" class="ng-binding ng-scope">Fr. 29 Okt.</option><!-- end ngRepeat: futureDate in travelToolbarCtrl.future track by $index -->
        <option ng-repeat="futureDate in travelToolbarCtrl.future track by $index" value="2021-10-30" class="ng-binding ng-scope">Sa. 30 Okt.</option><!-- end ngRepeat: futureDate in travelToolbarCtrl.future track by $index -->
        <option ng-repeat="futureDate in travelToolbarCtrl.future track by $index" value="2021-10-31" class="ng-binding ng-scope">So. 31 Okt.</option><!-- end ngRepeat: futureDate in travelToolbarCtrl.future track by $index -->
        <option ng-repeat="futureDate in travelToolbarCtrl.future track by $index" value="2021-11-01" class="ng-binding ng-scope">Mo. 1 Nov.</option><!-- end ngRepeat: futureDate in travelToolbarCtrl.future track by $index -->
        <option ng-repeat="futureDate in travelToolbarCtrl.future track by $index" value="2021-11-02" class="ng-binding ng-scope">Di. 2 Nov.</option><!-- end ngRepeat: futureDate in travelToolbarCtrl.future track by $index -->
        <option ng-repeat="futureDate in travelToolbarCtrl.future track by $index" value="2021-11-03" class="ng-binding ng-scope">Mi. 3 Nov.</option><!-- end ngRepeat: futureDate in travelToolbarCtrl.future track by $index -->
        <option ng-repeat="futureDate in travelToolbarCtrl.future track by $index" value="2021-11-04" class="ng-binding ng-scope">Do. 4 Nov.</option><!-- end ngRepeat: futureDate in travelToolbarCtrl.future track by $index -->
        <option ng-repeat="futureDate in travelToolbarCtrl.future track by $index" value="2021-11-05" class="ng-binding ng-scope">Fr. 5 Nov.</option><!-- end ngRepeat: futureDate in travelToolbarCtrl.future track by $index -->
        <option ng-repeat="futureDate in travelToolbarCtrl.future track by $index" value="2021-11-06" class="ng-binding ng-scope">Sa. 6 Nov.</option><!-- end ngRepeat: futureDate in travelToolbarCtrl.future track by $index -->
      </select><span class="icon select-arrow" aria-hidden="true"><img data-ng-src="/cms/global/assets/images/site/icon/header_nav_arrow_up.svg" src="/cms/global/assets/images/site/icon/header_nav_arrow_up.svg"></span></div>
  </div>
  <div class="row rtad-more-options-wrapper"><button class="button primary small-12 medium-6 columns ng-binding ng-isolate-scope" type="submit" ng-click="travelToolbarCtrl.submitRtad()" data-ba-resource-bundle-static=""
      data-key="travelToolBarRtadButton">Flug finden</button>
    <div class="small-12 medium-6 columns more-options ng-hide" ng-show="showRtad">
      <a data-analytics-data="trackingDataFS" href="/travel/flightstatus/public/de_de/search/?source=PHP-flightstatus-button" data-ba-resource-bundle-static="" data-key="travelToolBarMore" class="ng-binding ng-isolate-scope">Suchen nach Strecke</a>
    </div>
  </div>
</form>

<form data-ng-submit="authenticate(username, password)" class="ng-pristine ng-valid">
  <div class="login-error ng-hide" data-ng-show="errorType === 'password'"><img ng-src="/cms/global/assets/images/ba_home_site/brand/warning-red.svg" alt="Warning" src="/cms/global/assets/images/ba_home_site/brand/warning-red.svg"> <span
      data-ba-resource-bundle-static="" data-key="loginErrorDetails" class="ng-binding ng-isolate-scope">Leider kennen wir diese Angaben nicht.</span> <span data-ba-resource-bundle-static="" data-key="loginErrorDetails2"
      class="ng-binding ng-isolate-scope">Bitte überprüfen Sie Ihre Angaben und wiederholen Sie den Vorgang.</span></div>
  <div class="login-error ng-hide" data-ng-show="errorType === 'locked'"><img ng-src="/cms/global/assets/images/ba_home_site/brand/warning-red.svg" alt="Warning" src="/cms/global/assets/images/ba_home_site/brand/warning-red.svg"> <span
      data-ba-resource-bundle-static="" data-key="loginLocked" class="ng-binding ng-isolate-scope">Wir haben Ihr Konto vorübergehend gesperrt, um seine Sicherheit zu gewährleisten. Nähere Informationen können Sie der E-Mail oder dem Schreiben
      entnehmen, das wir Ihnen gesandt haben.</span></div>
  <div class="login-error ng-hide" data-ng-show="errorType === 'system'"><img class="warning" ng-src="/cms/global/assets/images/ba_home_site/brand/warning-red.svg" alt="Warning" src="/cms/global/assets/images/ba_home_site/brand/warning-red.svg">
    <span data-ba-resource-bundle-static="" data-key="systemNotResponding" class="ng-binding ng-isolate-scope">Leider können wir Ihre Anfrage aufgrund von Systemschwierigkeiten im Moment nicht bearbeiten</span></div>
  <div class="login-error ng-hide" data-ng-show="errorType === 'login'"><img class="warning" ng-src="/cms/global/assets/images/ba_home_site/brand/warning-red.svg" alt="Warning" src="/cms/global/assets/images/ba_home_site/brand/warning-red.svg"> <span
      data-ba-resource-bundle-static="" data-key="loginError" class="ng-binding ng-isolate-scope">Sie haben die Anzahl an möglichen Anmeldeversuchen überschritten.</span> <span data-ba-resource-bundle-static="" data-key="loginError2"
      class="ng-binding ng-isolate-scope">Ihr Konto ist nun bis zu 24 Stunden gesperrt </span> <span data-ba-resource-bundle-static="" data-key="loginError3" class="ng-binding ng-isolate-scope">Stunden oder Sie setzen Ihr Passwort zurück.</span>
  </div>
  <div class="row collapse loginuser-wrapper">
    <div class="small-12 large-12 large-offset-0 medium-12 columns"><input class="loginuser inverted ng-pristine ng-untouched ng-valid ng-empty" id="userAp" type="text" autocapitalize="off" autocorrect="off"
        data-ng-class="messageuser ? 'mandatory': ''" name="user" aria-describedby="login-header" data-ng-model="username" aria-label="Login ID / Username"> <label for="userAp" data-ba-resource-bundle-static="" data-key="placeholderUser"
        class="ng-binding ng-isolate-scope">E-Mail oder Benutzername</label>
      <div class="field-error ng-hide" data-ng-show="messageuser"><img class="warning" alt="Warning" data-ng-src="/cms/global/assets/images/ba_home_site/brand/warning-red.svg" src="/cms/global/assets/images/ba_home_site/brand/warning-red.svg"> <span
          data-ba-resource-bundle-static="" data-key="errorMessage" class="ng-binding ng-isolate-scope">Bitte füllen Sie dieses Feld aus</span></div>
    </div>
    <div class="large-12 small-12 medium-12 columns"><input type="password" id="passAp" class="input-password inverted ng-pristine ng-untouched ng-valid ng-empty" data-ng-class="messagepass ? 'mandatory': ''" name="pass" data-ng-model="password"
        autocomplete="off" aria-label="PIN / Password"> <label for="passAp" data-ba-resource-bundle-static="" data-key="placeholderPass" class="ng-binding ng-isolate-scope">PIN-Code oder Passwort</label>
      <div class="field-error pwd ng-hide" data-ng-show="messagepass"><img class="warning" alt="Warning" data-ng-src="/cms/global/assets/images/ba_home_site/brand/warning-red.svg" src="/cms/global/assets/images/ba_home_site/brand/warning-red.svg">
        <span data-ba-resource-bundle-static="" data-key="errorMessage" class="ng-binding ng-isolate-scope">Bitte füllen Sie dieses Feld aus</span></div>
    </div>
    <div class="large-12 small-12 medium-12 columns"><button class="primary ng-binding ng-isolate-scope" type="submit" data-ba-resource-bundle-static="" data-key="login">Anmelden</button></div>
    <div class="medium-2 columns"></div>
  </div>
</form>

POST

<form action="" method="POST" data-submit-form-directive="" class="ng-pristine ng-valid ng-isolate-scope"><!-- ngRepeat: (key,val) in formData.params --></form>

Text Content

Mit der Fortsetzung der Verwendung von ba.com erklären Sie Ihre Zustimmung zu
den Bedingungen und Konditionen und der Verwendung von Cookies bei der
Verwendung unserer Website und Services. Lesen Sie bitte auch unsere
Datenschutzbestimmungen mit den Richtlinien zur Verarbeitung Ihrer Daten, denen
Sie im aufgeführten Rahmen zustimmen müssen.

Annehmen

Überspringen und weiter zum Hauptinhalt
Suchen nach

 * 
   
   Anmelden
 * 



Anmelden

   
   
 * Entdecken
      
      
   
    * BA
      
        
      * Über BA
        
        
      * BA Better World
        
        
      * Das BA-Erlebnis
        
        
      * Reiseklassen
        
        
      * Aktuelles
        
        
      * On Business
        
        
      * Partner und Allianzen
        
      
      
      
   
    * Executive Club
      
        
      * Werden Sie Mitglied
        
        
      * Über den Club
        
        
      * Über Avios
        
        
      * Avios sammeln
        
        
      * Avios einlösen
        
      
      
      
   
    * Flüge und Reiseziele
      
        
      * Entdecken Sie unsere Ziele
        
        
      * Flüge nach London
        
        
      * Flüge nach New York
        
        
      * Strecken und Flugpläne
        
        
      * Vor Abflug
        
        
      * Wichtige Gepäckinformationen
        
        
      * Flughafeninfos
        
      
      
      
   
    * Urlaub
      
        
      * Entdecken Sie BA Holidays
        
        
      * Multicenter-Urlaub
        
        
      * Andere Urlaubstypen
        
        
      * Urlaub in New York
        
        
      * Kurzurlaub in London
        
      
      
      
   
    * Angebote
      
        
      * Aktuelle Angebote
        
        
      * Finden Sie unsere günstigsten Flüge
        
        
      * Last-Minute-Urlaubsangebote
        
      
      
      
   
    * Extras
      
        
      * Flughafenhotels in London
        
        
      * Reiseversicherung
        
        
      * Meet and Assist
        
      
      

   
   
   
 * Buchen
      
      
   
    * Flüge
      
        
      * So buchen Sie Ihren Flug
        
        
      * Flug mit Avios buchen
        
      
      
      
   
    * Flüge und mehr
      
        
      * Flug + Hotel
        
        
      * Flug + Mietwagen’
        
        
      * Hotel finden
        
        
      * Mieten Sie ein Auto
        
        
      * Freizeitaktivität buchen
        
      
      

   
   
   
 * Verwalten
      
      
   
    * Meine Buchungen
      
        
      * Meine Buchungen
        Buchungsreferenz
        
        Nachname des Passagiers
        
        Meine Buchung finden Online-Check-In
        
        
      * Flugstatus
        
        
      * Fluginformationen
        
      
      
      
   
    * Executive Club
      
        
      * Bei meinem Executive Club-Konto anmelden
        
        
      * Werden Sie Mitglied
        
      
      
      
   
    * On Business
      
        
      * Login in On Business
        
      
      

   
   
   
 * Hilfe
      
      
   
    * Buchung
      
        
      * Verspätungen, Stornierungen und Erstattungen
        
        
      * Verlorenes Gepäck
        
        
      * Flexible Buchungsrichtlinie
        
        
      * Gutscheine
        
      
      
      
   
    * Reisebetreuung
      
        
      * COVID-19 – Reisehub
        
        
      * Kontaktinformationen und häufig gestellte Fragen (FAQs)
        
        
      * Flugstatus
        
        
      * Unterstützung bei Behinderungen und Mobilitätseinschränkungen
        
        
      * Gesundheitliche Beeinträchtigungen und Schwangerschaft
        
        
      * Reisebetreuung
        
        
      * Check-In und Boarding
        
      
      
      
   
    * Reiseneuigkeiten
      
        
      *   
        * Brexit: Check your passport is valid for EU travel
          
        * Coronavirus (COVID-19) - helpful information for our customers
          
        * Tokyo services fly to Haneda Airport only
          
        
        
      * Weitere Reisenachrichten
        
      
      

   
   
   
   

Land/Region und Sprache ändern, Deutschland - Deutsch
Zu Navigation wechseln



EINEN AUGENBLICK BITTE




COVID-19: PLANUNG UND REISEHINWEISE

Was Sie vor dem Abflug wissen sollten, von den Einreisebestimmungen über Tests
bis hin zur Ticketflexibilität. mehr lesen Hier erfahren Sie mehr

Was Sie vor dem Abflug wissen sollten, von den Einreisebestimmungen über Tests
bis hin zur Ticketflexibilität. Hier erfahren Sie mehr weniger lesen

 * Flug
 * 
   Flug + Hotel
 * 
   Flug + Auto

Flug suchen

Flüge

Reisen mit Zwischenstopps und rund um die Welt

Firmenbuchung

Verbunden mit
Ab Geben Sie 3 Buchstaben ein

Nach Geben Sie 3 Buchstaben ein

Hinflug
27

Oktober

Rückflug hinzufügen

Passagiere 1 Erwachsener
Reiseklasse Economy

Schließen

Wie viele Personen reisen?
Raum 1

1 Erwachsener

Bearbeiten
1
Erwachsene
16+ Jahre


Resource Not Found!


0
Junge Erwachsene
12-15 Jahre


Resource Not Found!


0
Kinder
2-11 Jahre


Resource Not Found!


0
Kleinkinder
unter 2 Jahre


Resource Not Found!


Bestätigen
In welcher Reiseklasse möchten Sie fliegen?
Cabin Type
Economy
Premium Economy
Business
First
Flexibles Ticket?
gebührenfreie Flugumbuchung möglich
Bestätigen
Wann möchten Sie fliegen?
Oktober 2021

MDMDFSS

Verwenden Sie die Tabulatortaste, um durch die Daten in diesem Monat zu
navigieren, oder gehen Sie mit der Tabulatortaste nach oben, um den ausgewählten
Monat mit den Schaltflächen Vor und Zurück zu ändern.
1


2


3


4


5


6


7


8


9


10


11


12


13


14


15


16


17


18


19


20


21


22


23


24


25


26


27


28


29


30


31


Rückerstattung der deutschen Mehrwertsteuer bei Geschäftsreisen innerhalb
Deutschlands


ABHEBEN ZU DEN ORTEN UND MENSCHEN IN GROSSBRITANNIEN, DIE SIE LIEBEN

Wenn Sie vollständig geimpft sind, können Sie die Quarantäne überspringen und
die Sehenswürdigkeiten von London genießen. Jetzt buchen und bei Bedarf später
ändern. Das Reisen wird dadurch wesentlich einfacher.


FLÜGE NACH LONDON


FLÜGE NACH LONDON + 7 TAGE MIETWAGEN

ab 165 € pro Strecke
ab Munich, Okt. 2021
ab 217 € p.P.


FLÜGE NACH LONDON

ab 165 € pro Strecke
ab Munich, Okt. 2021


FLÜGE NACH LONDON + 7 TAGE MIETWAGEN

ab 217 € p.P.



FLÜGE NACH LONDON

ab 165 € pro Strecke
ab Munich, Okt. 2021


FLÜGE NACH LONDON + 7 TAGE MIETWAGEN

ab 217 € p.P.

Erkunden Sie London

Die Fluggäste sind selbst für die Einhaltung der Einreisebedingungen ins
Vereinigte Königreich verantwortlich | Es gelten die Bedingungen und Konditionen
| Sorgenfrei buchen

Buchung bearbeiten
Check-In
Flugstatus prüfen
Buchung bearbeiten
Buchungsreferenz
Nachname
Weiter
Bereit zum Einchecken?

Der Online-Check-In öffnet 24 Stunden vor Abflug

Buchungsreferenz
Nachname
Check-In
Flugstatus

Prüfen Sie den aktuellen Status unserer Flüge in den nächsten 10 Tagen

Abflug
Ankunft
BA Flugnummer
Di. 26 Okt.Mi. 27 Okt. (Heute)Do. 28 Okt.Fr. 29 Okt.Sa. 30 Okt.So. 31 Okt.Mo. 1
Nov.Di. 2 Nov.Mi. 3 Nov.Do. 4 Nov.Fr. 5 Nov.Sa. 6 Nov.
Flug finden
Suchen nach Strecke


mehr lesen

weniger lesen

mehr lesen

weniger lesen

IHR KONTO

Leider kennen wir diese Angaben nicht. Bitte überprüfen Sie Ihre Angaben und
wiederholen Sie den Vorgang.
Wir haben Ihr Konto vorübergehend gesperrt, um seine Sicherheit zu
gewährleisten. Nähere Informationen können Sie der E-Mail oder dem Schreiben
entnehmen, das wir Ihnen gesandt haben.
Leider können wir Ihre Anfrage aufgrund von Systemschwierigkeiten im Moment
nicht bearbeiten
Sie haben die Anzahl an möglichen Anmeldeversuchen überschritten. Ihr Konto ist
nun bis zu 24 Stunden gesperrt Stunden oder Sie setzen Ihr Passwort zurück.
E-Mail oder Benutzername
Bitte füllen Sie dieses Feld aus
PIN-Code oder Passwort
Bitte füllen Sie dieses Feld aus
Anmelden

Daten vergessen?

REGISTRIEREN SIE SICH

Buchen Sie Flüge schneller, zahlen Sie mit Avios und erhalten Sie als
Executive Club-Mitglied Prämien.

Melden Sie sich an
Login in On Business


ABHEBEN UND ENTSPANNEN & ENTDECKEN

Entdecken Sie bezaubernde Städte und erleben Sie Orte, nach denen Sie sich so
lange gesehnt haben.

Jetzt buchen und später ändern mit unseren flexiblen Buchungsoptionen.


FLÜGE NACH LONDON


FLÜGE NACH NEW YORK


FLÜGE NACH NEW YORK

ab 147 € pro Strecke
ab Frankfurt, Okt. 2021
ab 336 € Hin-/Rückflug
ab Munich, Nov. 2021
ab 386 € Hin-/Rückflug
ab Frankfurt, Nov. 2021


FLÜGE NACH LONDON

ab 147 € pro Strecke
ab Frankfurt, Okt. 2021


FLÜGE NACH NEW YORK

ab 336 € Hin-/Rückflug
ab Munich, Nov. 2021


FLÜGE NACH NEW YORK

ab 386 € Hin-/Rückflug
ab Frankfurt, Nov. 2021

Suche nach Flügen

Es gelten die Allgemeinen Geschäftsbedingungen. | Sorgenfrei buchen


HERBSTREISEN IN DIE USA

Flüge und Urlaubsangebote beinhalten flexible Buchungsoptionen, sodass Sie jetzt
buchen und bei Bedarf später umbuchen können.


FLÜGE NACH LOS ANGELES


FLÜGE NACH NEW YORK + 3 NÄCHTE HOTEL

ab 546 € Hin-/Rückflug
ab Hamburg, Nov. 2021
ab 466 € p.P.
ab Hamburg, Nov. 2021


FLÜGE NACH LOS ANGELES

ab 546 € Hin-/Rückflug
ab Hamburg, Nov. 2021


FLÜGE NACH NEW YORK + 3 NÄCHTE HOTEL

ab 466 € p.P.
ab Hamburg, Nov. 2021

Weitere Flüge suchen

Es gelten die Allgemeinen Geschäftsbedingungen. | Sorgenfrei buchen


PREMIUM ECONOMY FLIEGEN

Genießen Sie eine ruhigere, geräumigere Kabine mit breiteren Sitzen und mehr
Beinfreiheit.


FLÜGE NACH DUBAI


FLÜGE NACH NEW YORK

ab 831 € Hin-/Rückflug
ab Hamburg, Nov. 2021
ab 953 € Hin-/Rückflug
ab Hamburg, Nov. 2021


FLÜGE NACH DUBAI

ab 831 € Hin-/Rückflug
ab Hamburg, Nov. 2021


FLÜGE NACH NEW YORK

ab 953 € Hin-/Rückflug
ab Hamburg, Nov. 2021

Premium Economy buchen

Es gelten die Allgemeinen Geschäftsbedingungen. | Sorgenfrei buchen


FLY-DRIVE-ABENTEUER

Genießen Sie die Freiheit der Straße mit günstigen Fly-Drive-Reisen aus dem
Vereinigten Königreich und 7 Tagen Mietwagen zum Preis von 5 in den USA.


FLÜGE NACH LONDON + 7 TAGE MIETWAGEN


FLÜGE NACH LOS ANGELES + 7 TAGE MIETWAGEN

ab 217 € p.P.
ab 699 € p.P.


FLÜGE NACH LONDON + 7 TAGE MIETWAGEN

ab 217 € p.P.


FLÜGE NACH LOS ANGELES + 7 TAGE MIETWAGEN

ab 699 € p.P.

Los geht's

Die Preise beinhalten eine großzügige Freigepäckgrenze, alle obligatorischen
Gebühren und einen 24-Stunden-Support, damit Sie entspannt losfliegen können.


SORGENFREI PLANEN UND REISEN

Hier finden Sie alle Informationen für eine sorgenfreie Reise, von unseren
flexiblen Buchungsrichtlinien bis hin zu den Einreisebestimmungen der Länder und
den Maßnahmen, die wir zu Ihrer Sicherheit ergreifen.

Hier erfahren Sie mehr

Es gelten die Allgemeinen Geschäftsbedingungen.


UNVERGESSLICHE URLAUBSREISEN

Buchen Sie einen Urlaub, auf den Sie sich bedenkenlos freuen können. Mit unseren
flexiblen Buchungsrichtlinien können Sie jetzt buchen und später bei Bedarf
Änderungen vornehmen.


FLÜGE NACH LAS VEGAS + 5 NÄCHTE HOTEL


FLÜGE NACH FLORIDA, ORLANDO + 7 NÄCHTE HOTEL

ab 546 € p.P.
ab Frankfurt, Jan. 2022
ab 647 € p.P.
ab Frankfurt, Jan. 2022


FLÜGE NACH LAS VEGAS + 5 NÄCHTE HOTEL

ab 546 € p.P.
ab Frankfurt, Jan. 2022


FLÜGE NACH FLORIDA, ORLANDO + 7 NÄCHTE HOTEL

ab 647 € p.P.
ab Frankfurt, Jan. 2022

Wohin geht's als nächstes?

Sichern Sie sich Ihren Urlaub mit einer niedrigen Anzahlung und flexiblen
Zahlungsraten bis zu 3 Wochen vor dem Abflug.


VERLÄNGERUNG VON EXECUTIVE CLUB STATUS UND GUTSCHEINEN

Als Dankeschön für Ihre Treue bieten wir Ihnen die Statusverlängerung und die
Verlängerung von Gutscheinen an, damit Sie noch mehr Gelegenheit haben, die
Vorteile zu genießen, die Sie sich verdient haben.

Weitere Informationen

Es gelten die Allgemeinen Geschäftsbedingungen.


VON GROSSEN STÄDTEN BIS HIN ZU  GEHEIMTIPPS

Entdecken Sie unsere praktischen Reiseführer mit vielen nützlichen Tipps für die
Planung Ihrer nächsten Reise.

Lassen Sie sich inspirieren


FÜR IHRE SICHERHEIT

Sie werden bei jedem Schritt der Reise Veränderungen feststellen – am Boden und
in der Luft.

Erfahren Sie mehr



mehr lesen

weniger lesen




WARTEN SIE EINEN MOMENT, WÄHREND WIR IHRE PERFEKTE REISE ERSTELLEN...


WÄHLEN SIE AUS UNSEREM BREITEN ANGEBOT AN HOTELS, MIETWAGEN UND URLAUBSANGEBOTEN

   
   
 * Hilfe und Kontakte |
   
   
   
 * Zugänglichkeit und Website-Hilfe |
   
   
   
 * Onlinesicherheit |
   
   
   
 * Datenschutzbestimmungen |
   
   
   
 * Rechtliche Informationen |
   
   
   
 * Über BA |
   
   
   
 * Impressum |
   
   
   
 * Media Centre |
   
   
   
   
   
 * Kundenversprechen |
   
   
   
 * Careers |
   
   
   
 * Unternehmensverantwortung |
   
   
   
 * Transparenzerklärung zum Modern Slavery Act |
   
   
   
 * Iberia.com |
   
   
   
   

   
   
 * 
   
   
   
 * 
   
   
   
 * 
   
   
   
 * 
   
   
   
   

© British Airways – alle Rechte vorbehalten

British Airways