www.virginatlantic.com Open in urlscan Pro
96.16.151.229  Public Scan

Submitted URL: http://www.virgin-atlantic.com/
Effective URL: https://www.virginatlantic.com/
Submission: On October 04 via api from US — Scanned from DE

Form analysis 3 forms found in the DOM

Name: loginFormPOST /login/loginPage

<form class="form-inline" method="POST" name="loginForm" ngnoform="" action="/login/loginPage"><input name="refreshURL" type="hidden" value="" class="ng-untouched ng-pristine ng-valid"><input name="login_fromApp" type="hidden" value=""
    class="ng-untouched ng-pristine ng-valid"><button class="login-btn btn btn-danger"> Log in </button></form>

Name: bookWidgetFormGET /flight-search/search

<form class="ng-tns-c1-2 ng-untouched ng-pristine ng-invalid" name="bookWidgetForm" ngc-error-handler="" novalidate="" action="/flight-search/search" method="GET"><ngc-make-correction class="ng-tns-c1-2"><!----></ngc-make-correction>
  <div class="container booking-widget_container-mobile">
    <div class="form-row">
      <div class="col-lg-11 pl-xl-0 pl-xxl-0 p-0 pt-sm-3 safari-mob-padding">
        <div class="form-row"><!---->
          <div class="col-lg-4 text-center offset-md-2 col-md-8 offset-lg-0 pl-xl-0 pl-xxl-0 ng-tns-c1-2 ng-untouched ng-pristine ng-invalid ng-star-inserted" formgroupname="airports">
            <div class="row">
              <a class="focusable-element from-container col-5 col-lg-5 col-sm-5 order-1 p-0 no-underline" aria-haspopup="true" href="javascript:void(0);" id="fromAirportName" ngc-airport-lookup-directive="" aria-describedby=""><span class="airport-code d-block">LHR</span><span class="sr-only">Departure Airport or City</span><span class="airport-desc">London Heathrow, United Kingdom</span><input class="ng-tns-c1-2 ng-untouched ng-pristine ng-valid" name="fromAirportCode" type="hidden" value="LHR"><input class="ng-tns-c1-2 ng-untouched ng-pristine ng-valid" name="fromCity" type="hidden" value="London Heathrow, United Kingdom"></a><a class="to-container col-5 col-lg-5 col-sm-5 order-3 p-0 no-underline" aria-haspopup="true" href="javascript:void(0);" id="toAirportName" ngc-airport-lookup-directive="" aria-describedby=""><span class="airport-code d-block">To</span><span class="sr-only">Destination Airport or City</span><span class="airport-desc">Where are you going?</span><input class="ng-tns-c1-2 ng-untouched ng-pristine ng-invalid" name="arrivalCity" type="hidden" value=""><input class="ng-tns-c1-2 ng-untouched ng-pristine ng-valid" name="toCity" type="hidden" value="Where are you going?"></a>
              <div class="swap-container col-2 col-lg-2 col-sm-2 order-2 p-0"><a class="swapfield d-inline-block icon-swap" href="javascript:void(0);" role="button" title="Reverse origin and destination city or airport"><!----></a></div>
            </div>
            <div class="row no-gutters"><ngc-validation-error-message class="col-lg-5 col-sm-5 error-message-padding"><!----></ngc-validation-error-message><ngc-validation-error-message
                class="col-lg-5 col-sm-5 offset-lg-2 offset-sm-2 error-message-padding"><!----></ngc-validation-error-message></div><ngc-validation-error-message class="ng-tns-c1-2"><!----></ngc-validation-error-message><input class="ng-tns-c1-2"
              id="invalidAirportCodes" name="invalidAirportCodes" type="hidden">
          </div>
          <div class="col-sm-12 select_dropdown trip-type-container trip-element d-lg-block offset-md-2 col-md-8 offset-lg-0 book-element mb-3 mb-lg-0 select-container select-container-down-md d-sm-none col-lg-2 booking-element"><label
              class="sr-only" for="selectTripType" id="selectTripType-label"> Trip Type:, changes will reload the page </label><!----><select autorotateoption="true"
              class="drop-down first-control form-control ng-tns-c1-2 trip-type-dropdown ng-untouched ng-pristine ng-valid ng-star-inserted" customclassname="blue-theme" customloadingcheck="true" data-dluiselect="" id="selectTripType"
              name="selectTripType" openonenter="true" visiblelabel="false" aria-hidden="true" style="display:none"><!---->
              <option class="ng-tns-c1-2 ng-star-inserted" value="ROUND_TRIP"> Round trip </option>
              <option class="ng-tns-c1-2 ng-star-inserted" value="ONE_WAY"> One way </option>
              <option class="ng-tns-c1-2 ng-star-inserted" value="MULTICITY"> Multi city </option>
            </select><!----><!----><span class="select-ui-element-wrapper blue-theme ng-tns-c1-2 ng-star-inserted" style=""><span class="select-ui-wrapper ng-tns-c1-2" tabindex="0" style="width:173px" aria-labelledby="selectTripType-label"
                aria-describedby="selectTripType-val" aria-owns="selectTripType-desc" role="combobox" aria-expanded="false"><span class="select-ui-icon icon-Dropdown-caret ng-tns-c1-2"></span><span class="select-ui-text ng-tns-c1-2"
                  aria-live="assertive" aria-hidden="false" id="selectTripType-val">Round trip</span></span><span class="select-ui-optionList-wrapper ng-tns-c1-2">
                <ul class="select-ui-optionUL ng-tns-c1-2 hideOption" id="selectTripType-desc" style="width:173px; left:0; top:18px;" role="listbox" aria-hidden="true">
                  <li class="select-ui-optionList ng-tns-c1-2" id="ui-list-selectTripType0" tabindex="-1" data="0" role="option">Round trip</li>
                  <li class="select-ui-optionList ng-tns-c1-2" id="ui-list-selectTripType1" tabindex="-1" data="1" role="option">One way</li>
                  <li class="select-ui-optionList ng-tns-c1-2" id="ui-list-selectTripType2" tabindex="-1" data="2" role="option">Multi city</li>
                </ul>
              </span><span class="select-sr-only-wrapper sr-only ng-tns-c1-2"><span class="select-sr-only-value sr-only ng-tns-c1-2" role="status" aria-live="assertive"></span><span class="select-sr-only-state sr-only ng-tns-c1-2" role="status"
                  aria-live="assertive"></span></span></span></div><!---->
          <div class="col-lg-3 col-sm-12 d-lg-block offset-md-2 col-md-8 offset-lg-0 book-element ng-tns-c1-2 booking-element d-sm-none ng-star-inserted"><date-selection-view class="ng-tns-c1-2" datefor="departureDate">
              <div class="travelDateSelectionView"><!---->
                <div class="form-group ng-untouched ng-pristine ng-invalid ng-star-inserted">
                  <div class="icon-addon"><input aria-required="true" autocomplete="off" caldefaultdateseparator="false" ngc-calendar="" placeholder="" type="text" readonly="true" tabindex="-1" class="form-control inputText calendarInput"
                      id="departureDate">
                    <div class="calendarMasterCont  calMedium">
                      <div class="SRInstructionCont sr-only" aria-live="assertive" role="status"></div>
                      <div class="calDispValueCont icon-Calendar  " tabindex="0" aria-expanded="false" role="button" aria-haspopup="true" aria-describedby="departureDate-error1" style="width:238px; height:49px" id="input_departureDate_1"><span
                          class="calDepartLabelCont" id="calDepartLabelCont"><span class="sr-only">Depart and Return Calendar Use enter to open, escape to close the calendar, page down for next month and page up for previous month, Depart date not
                            selected Return date not selected</span><span class="calenderDepartSpan" aria-hidden="true">Depart</span><input type="hidden" aria-hidden="true" formcontrolname="departureDate" value=""></span><span
                          class="calDateSeparator icon-line" style="display:inline" aria-hidden="true"></span><span class="calReturnLabelCont" id="calReturnLabelCont" style="display:inline"><span class="sr-only" style="display:inline"></span><span
                            class="calenderReturnSpan calendar-placeholder" aria-hidden="true" style="display:inline">Return</span><input type="hidden" aria-hidden="true" style="display:inline" value=""></span></div>
                      <div class="calSRDepartReturnCont" aria-describedby="calSRDepartReturnLabelCont"><span class="sr-only" id="calSRDepartReturnLabelCont" aria-live="assertive"></span></div>
                    </div>
                  </div>
                </div><!----><!---->
              </div>
            </date-selection-view><ngc-validation-error-message class="ng-tns-c1-2"><!----></ngc-validation-error-message></div>
          <div class="col-sm-12 col-lg-3 d-lg-block offset-md-2 col-md-8 book-element select-container select-container-down-md passenger-booking-element d-sm-none booking-element offset-lg-0"><label class="sr-only"
              for="passenger">Passenger</label><!----><!----><!----><!----><!----><!----><ngc-childpassenger class="ng-tns-c1-2 ng-star-inserted">
              <div class="vaPassenger pax-element-wrapper blue-theme" ngbdropdown="">
                <a aria-describedby="pax-info" aria-label="Passenger dropdown" class="pax-wrapper downArrow-icon" href="javascript:void(0)" id="passenger" ng-bind="totalCount" role="listbox"><span class="sr-only" id="pax-info"> Use enter to open this dropdown. Currently Selected 1 Adult,0 Young adult,0 Child0 Lap infant </span><div class="paxDetailDesc"><!----><span ng-bind="pax.passengerCount" class="ng-star-inserted">1 Adult</span><span ng-bind="pax.passengerCount" class="ng-star-inserted"></span><span ng-bind="pax.passengerCount" class="ng-star-inserted"></span><span ng-bind="pax.passengerCount" class="ng-star-inserted"></span></div><div class="paxCountDesc">1 passenger</div></a>
                <ul aria-labelledby="dropdownBasic1" class="paxList hideOption pax-optionUL" ngbdropdownmenu="" role="listbox" tabindex="0"><span class="sr-only" id="dropdownBasic1"> There are 4 types of passengers: Adults, Young adults, Children and
                    Lap infants. Controls for adding and removing each type of passengers are present </span>
                  <div class="close-pax float-right" tabindex="-1"><a aria-describedby="cloxepax" aria-label="passenger dropdown close" class="va-close-img" href="javascript:void(0)" role="button"></a><span class="sr-only" id="cloxepax"> Press enter
                      to close the passenger dropdown </span></div><!---->
                  <li role="option" class="pax-optionList pax-ADT ng-star-inserted">
                    <div class="float-left paxDetails">
                      <div class="paxTitle" tab-index="0">Adults</div>
                      <div class="pax-desc">
                        <div class="paxType-desc" tabindex="0" aria-describedby="ADT"> Age 16 and over <span class="sr-only" id="ADT"> Adults Age 16 and over, Currently Selected 1 Adult,0 Young adult,0 Child0 Lap infant </span></div><!---->
                      </div>
                    </div>
                    <div class="float-right paxCount">
                      <div class="remove-pax" role="button" tabindex="2"><a href="javascript:void(0)" ng-bind="pax.passengerCount" role="button" tabindex="-1" class="remove-img"><span class="sr-only"> Remove Adults passenger </span></a></div>
                      <div aria-live="assertive" class="paxNum" ng-bind="pax.passengerCount"> 1 <input type="hidden" id="ADT" name="paxTypes[0]" value="1"></div>
                      <div class="add-pax" role="button" tabindex="3"><a href="javascript:void(0)" ng-bind="pax.passengerCount" role="button" class="active-add-img"><span class="sr-only">Add Adults passenger</span></a></div>
                    </div>
                  </li>
                  <li role="option" class="pax-optionList pax-GBE ng-star-inserted">
                    <div class="float-left paxDetails">
                      <div class="paxTitle" tab-index="0">Young adults</div>
                      <div class="pax-desc">
                        <div class="paxType-desc" tabindex="0" aria-describedby="GBE"> Age 12 - 15 <span class="sr-only" id="GBE"> Young adults Age 12 - 15, Currently Selected 1 Adult,0 Young adult,0 Child0 Lap infant </span></div><!---->
                        <div class="paxType-toolTip ng-star-inserted">
                          <a aria-haspopup="true" class="va-child-tooltip-icon icon-help circle-outline" href="javascript:void(0);" ngc-help-modal-directive=""><span class="sr-only"> Press enter to open Young adults tooltip </span></a></div>
                      </div>
                    </div>
                    <div class="float-right paxCount">
                      <div class="remove-pax" role="button" tabindex="2"><a href="javascript:void(0)" ng-bind="pax.passengerCount" role="button" tabindex="-1" class="remove-img"><span class="sr-only"> Remove Young adults passenger </span></a></div>
                      <div aria-live="assertive" class="paxNum" ng-bind="pax.passengerCount"> 0 <input type="hidden" id="GBE" name="paxTypes[1]" value="0"></div>
                      <div class="add-pax" role="button" tabindex="3"><a href="javascript:void(0)" ng-bind="pax.passengerCount" role="button" class="active-add-img"><span class="sr-only">Add Young adults passenger</span></a></div>
                    </div>
                  </li>
                  <li role="option" class="pax-optionList pax-CNN ng-star-inserted">
                    <div class="float-left paxDetails">
                      <div class="paxTitle" tab-index="0">Children</div>
                      <div class="pax-desc">
                        <div class="paxType-desc" tabindex="0" aria-describedby="CNN"> Age 2-11 <span class="sr-only" id="CNN"> Children Age 2-11, Currently Selected 1 Adult,0 Young adult,0 Child0 Lap infant </span></div><!---->
                      </div>
                    </div>
                    <div class="float-right paxCount">
                      <div class="remove-pax" role="button" tabindex="2"><a href="javascript:void(0)" ng-bind="pax.passengerCount" role="button" tabindex="-1" class="remove-img"><span class="sr-only"> Remove Children passenger </span></a></div>
                      <div aria-live="assertive" class="paxNum" ng-bind="pax.passengerCount"> 0 <input type="hidden" id="CNN" name="paxTypes[2]" value="0"></div>
                      <div class="add-pax" role="button" tabindex="3"><a href="javascript:void(0)" ng-bind="pax.passengerCount" role="button" class="active-add-img"><span class="sr-only">Add Children passenger</span></a></div>
                    </div>
                  </li>
                  <li role="option" class="pax-optionList pax-INF ng-star-inserted">
                    <div class="float-left paxDetails">
                      <div class="paxTitle" tab-index="0">Lap infants</div>
                      <div class="pax-desc">
                        <div class="paxType-desc" tabindex="0" aria-describedby="INF"> Age up to 2 <span class="sr-only" id="INF"> Lap infants Age up to 2, Currently Selected 1 Adult,0 Young adult,0 Child0 Lap infant </span></div><!---->
                        <div class="paxType-toolTip ng-star-inserted">
                          <a aria-haspopup="true" class="va-child-tooltip-icon icon-help circle-outline" href="javascript:void(0);" ngc-help-modal-directive=""><span class="sr-only"> Press enter to open Lap infants tooltip </span></a></div>
                      </div>
                    </div>
                    <div class="float-right paxCount">
                      <div class="remove-pax" role="button" tabindex="2"><a href="javascript:void(0)" ng-bind="pax.passengerCount" role="button" tabindex="-1" class="remove-img"><span class="sr-only"> Remove Lap infants passenger </span></a></div>
                      <div aria-live="assertive" class="paxNum" ng-bind="pax.passengerCount"> 0 <input type="hidden" id="INF" name="paxTypes[3]" value="0"></div>
                      <div class="add-pax" role="button" tabindex="3"><a href="javascript:void(0)" ng-bind="pax.passengerCount" role="button" class="active-add-img"><span class="sr-only">Add Lap infants passenger</span></a></div>
                    </div>
                  </li>
                </ul>
              </div>
            </ngc-childpassenger><!----><ngc-validation-error-message class="ng-tns-c1-2"><!----></ngc-validation-error-message></div>
        </div><!---->
        <div class="form-row align-items-center search-option-ribbon"><!----><ngc-search-options class="col-sm-12 col-md-8 col-lg-10 p-0 pt-lg-3 pb-lg-3 offset-md-2 offset-lg-0 vs-search-option adv-search-options ng-tns-c1-2 ng-star-inserted">
            <fieldset><!---->
              <legend class="sr-only ng-star-inserted"> Search options </legend>
              <div class="row booking-widget_search-checkbox-section ng-untouched ng-pristine ng-invalid"><!---->
                <div class="d-none d-lg-block col-lg-2 searchOptionLabel ng-star-inserted"> Search options </div> ​ <!----> ​ <!----> ​ <!---->
                <div class="col-sm-auto col-md-6 checkbox-wrapper vs-flexCheckBox searchOptionCheckboxColumn modify-checkbox searchOptionActive d-flex ng-star-inserted">
                  <!----><a aria-haspopup="true" class="icon-help booking-help circle-outline searchOptionHelpIcon order-2 ng-star-inserted" draggable="false" href="javascript:void(0);" ngc-help-modal-directive=""><span class="sr-only">Show flexible tickets help</span></a><input
                    class="searchOptionChk order-1 ng-untouched ng-pristine ng-valid" id="refundableFlightsOnly" name="refundableFlightsOnly" type="checkbox"><label class="content icon-Checked booking-widget_checkbox-mobile searchOptionFilter"
                    for="refundableFlightsOnly"> Show flexible tickets </label></div> ​ <!---->
                <div class="col-sm-auto col-md-6 checkbox-wrapper vs-flexCheckBox searchOptionCheckboxColumn search-opt-flex-date modify-checkbox searchOptionActive ng-star-inserted"><input class="searchOptionChk ng-untouched ng-pristine ng-valid"
                    id="chkFlexDate" name="chkFlexDate" type="checkbox"><label class="content icon-Checked booking-widget_checkbox-mobile searchOptionFilter" for="chkFlexDate"> Show flexible dates </label></div><!----><!---->
              </div>
            </fieldset><!---->
          </ngc-search-options>
          <div class="adv-search adv-search-label col-md-8 offset-lg-0 offset-md-2 text-lg-right text-sm-left d-lg-block my-lg-3 pl-md-0 col-lg-2 d-sm-none">
            <!----><a class="arrow-wht-expander icon-advsearchtriangle" href="javascript:void(0);" id="adv-search" aria-expanded="false"> Advanced search </a></div>
        </div>
      </div>
      <div class="pr-lg-0 pr-xl-0 col-lg-1 col-sm-6 text-right mt-lg-0 offset-sm-6 offset-md-6 col-md-4 offset-lg-0 offset-6 btn-submit-container book-submit-element d-lg-block d-sm-none"><button
          class="btn btn-danger rounded-circle btn-right-arrow icon-submitarrow circle-outline last-focusable-element" id="btn-book-submit" type="submit"><span class="sr-only">Submit</span></button></div>
    </div>
  </div>
  <div class="adv-search-container d-none ng-trigger ng-trigger-widgetState">
    <div class="container container-padding-x advance-search-container">
      <div class="form-row first-row px-3 px-lg-0 pl-0 pr-0 pl-sm-0 pr-sm-0"><!---->
        <div class="offset-lg-0 col-md-8 offset-md-2 radio-tabs-wrapper adv-search-item ng-tns-c1-2 col-lg-4 ng-star-inserted" style="">
          <fieldset class="ng-tns-c1-2">
            <legend class="label legend text-capitalize"><span class="ng-tns-c1-2" aria-hidden="true"> show price in </span><span class="sr-only">Show price in
                help</span><a class="show-pricein-help icon-help circle-outline" aria-haspopup="true" draggable="false" href="javascript:void(0);" ngc-help-modal-directive=""><span class="sr-only" aria-hidden="true"> Show price in help </span></a>
            </legend><input class="radio-tab ng-untouched ng-pristine ng-valid" id="money" name="schedulePrice" type="radio" value="price"><label class="pl-sm-0" for="money" id="moneyLabel"><span class="">Money</span></label><input
              class="radio-tab ng-untouched ng-pristine ng-valid" id="miles" name="schedulePrice" type="radio" value="miles"><label class="second-and-up" for="miles" id="milesLabel"><span class="">Points</span><!----></label><!----><span
              class="milesplusmoney_wrapper ng-tns-c1-2 ng-star-inserted"><input class="radio-tab ng-untouched ng-pristine ng-valid" id="miles_plus_money" name="schedulePrice" type="radio" value="milesplusmoney"><label class="second-and-up"
                for="miles_plus_money" id="milesPlusMoneyLabel"><span class="sr-only"> selecting Miles plus cash will open the login page </span><span class="">Points plus money</span></label></span>
          </fieldset>
        </div><!---->
        <div class="col-lg-4 offset-lg-0 col-md-8 offset-md-2 meeting-code-wrapper best-fares-wrapper select-container select-container-down-md adv-search-item"><label class="d-block label text-capitalize" for="faresFor" id="faresFor-label"> show
            fares for: </label><!----><select class="dropdown form-control ng-tns-c1-2 ng-untouched ng-pristine ng-valid ng-star-inserted" customclassname="blue-theme" customloadingcheck="true" data-dluiselect="" id="faresFor" name="faresFor"
            openonenter="true" visiblelabel="false" aria-hidden="true" style="display:none"><!---->
            <option class="ng-tns-c1-2 ng-star-inserted" value="VSLT"> Economy </option>
            <option class="ng-tns-c1-2 ng-star-inserted" value="VSPE"> Premium </option>
            <option class="ng-tns-c1-2 ng-star-inserted" value="VSUP"> Upper Class </option>
          </select><!----><!----><!----><span class="select-ui-element-wrapper blue-theme ng-tns-c1-2 ng-star-inserted" style=""><span class="select-ui-wrapper ng-tns-c1-2" tabindex="0" style="width:2px" aria-labelledby="faresFor-label"
              aria-describedby="faresFor-val" aria-owns="faresFor-desc" role="combobox" aria-expanded="false"><span class="select-ui-icon icon-Dropdown-caret ng-tns-c1-2"></span><span class="select-ui-text ng-tns-c1-2" aria-live="assertive"
                aria-hidden="false" id="faresFor-val">Economy</span></span><span class="select-ui-optionList-wrapper ng-tns-c1-2">
              <ul class="select-ui-optionUL ng-tns-c1-2 hideOption" id="faresFor-desc" style="width:2px; left:0; top:18px;" role="listbox" aria-hidden="true">
                <li class="select-ui-optionList ng-tns-c1-2" id="ui-list-faresFor0" tabindex="-1" data="0" role="option">Economy</li>
                <li class="select-ui-optionList ng-tns-c1-2" id="ui-list-faresFor1" tabindex="-1" data="1" role="option">Premium</li>
                <li class="select-ui-optionList ng-tns-c1-2" id="ui-list-faresFor2" tabindex="-1" data="2" role="option">Upper Class</li>
              </ul>
            </span><span class="select-sr-only-wrapper sr-only ng-tns-c1-2"><span class="select-sr-only-value sr-only ng-tns-c1-2" role="status" aria-live="assertive"></span><span class="select-sr-only-state sr-only ng-tns-c1-2" role="status"
                aria-live="assertive"></span></span></span></div><!---->
        <div class="col-lg-4 offset-lg-0 col-md-8 offset-md-2 meeting-code-wrapper pl-lg-0 adv-search-item ng-tns-c1-2 ng-star-inserted" style="">
          <a class="meeting-code-help icon-help circle-outline" aria-haspopup="true" draggable="false" href="javascript:void(0);" ngc-help-modal-directive=""><span class="sr-only">Enter your code help</span></a><label for="meetingCode"
            class="floatinglabel invisible ng-tns-c1-2 ng-star-inserted">Do you have a voucher or event code? (Optional)</label><input class="form-control pl-sm-1 pl-md-1 input-mobile-tab-class ng-untouched ng-pristine ng-valid"
            aria-describedby="meetingEventCodeMsgId" autocomplete="off" id="meetingCode" maxlength="5" name="meetingEventCode" ondrop="return false" type="text" placeholder="Enter your code (Optional)"><span class="ng-tns-c1-2 d-none"
            id="meetingEventCodeMsgId"> </span><ngc-validation-error-message class="ng-tns-c1-2"><!----></ngc-validation-error-message></div><!---->
      </div>
      <div class="form-row second-row px-lg-0"><!----><!---->
        <div class="offset-lg-0 col-md-8 offset-md-2 checkbox-wrapper adv-search-item ng-tns-c1-2 col-lg-3 ng-star-inserted" style=""><input class="ng-tns-c1-2 advSearchExpanded ng-untouched ng-pristine ng-valid" id="nearbyAirports"
            name="nearbyAirports" type="checkbox"><label class="content icon-Checked" for="nearbyAirports"> Nearby airports </label></div><!---->
        <div class="col-lg-1 offset-lg-0 col-sm-12 col-md-2 p-md-0 p-sm-0 adv-search-submit"><button class="btn btn-danger rounded-circle btn-right-arrow icon-submitarrow circle-outline float-right last-focusable-element" id="btnSubmit"
            type="submit"><span class="sr-only">Submit</span></button></div>
      </div>
    </div>
  </div><!---->
  <div class="form-row align-items-center mr-sm-0 ml-sm-0 ng-tns-c1-2 ng-star-inserted">
    <div class="pr-lg-0 pr-xl-0 d-lg-none book-expander text-center col-sm-12 offset-md-2 col-md-8 offset-lg-0"><a class="expand-container align-bottom d-inline-block" href="javascript:void(0); " role="button " title="Expand Book Widget "></a></div>
  </div><!----><input id="schedulePrice" name="schedulePrice" type="hidden" class="ng-tns-c1-2 ng-untouched ng-pristine ng-valid ng-star-inserted" value="[object Object]"><input class="ng-tns-c1-2" id="searchType" name="searchType" type="hidden"
    value="simple"><input class="ng-tns-c1-2" id="bookingPostVerify" name="bookingPostVerify" type="hidden" value="RTR_YES"><input class="ng-tns-c1-2" id="bundled" name="bundled" type="hidden" value="off"><input
    class="ng-tns-c1-2 ng-untouched ng-pristine ng-valid" id="deltaOnly" name="deltaOnly" type="hidden" value="off"><input class="ng-tns-c1-2" id="dl" name="dl" type="hidden" value="y"><input class="ng-tns-c1-2 ng-untouched ng-pristine ng-valid"
    id="departureTime" name="departureTime" type="hidden" value="AT"><input class="ng-tns-c1-2 ng-untouched ng-pristine ng-valid" id="returnTime" name="returnTime" type="hidden" value="AT"><input class="ng-tns-c1-2" id="directServiceOnly"
    name="directServiceOnly" type="hidden" value="off"><input class="ng-tns-c1-2" id="dispatchMethod" name="dispatchMethod" type="hidden" value="findFlights"><input class="ng-tns-c1-2" id="fareBundle" name="fareBundle" type="hidden"
    value="B5-Coach"><input class="ng-tns-c1-2" id="flexMainRTRTravelDate" name="flexMainRTRTravelDate" type="hidden" value="off"><input class="ng-tns-c1-2" id="preferItinId" name="preferItinId" type="hidden" value=""><input class="ng-tns-c1-2"
    id="awards_medallionTraveler" name="medallionTraveler" type="hidden" value="0"><input class="ng-tns-c1-2" id="awards_displayPreferredOnly" name="displayPreferredOnly" type="hidden" value="0"><input class="ng-tns-c1-2"
    id="pol_widget_awards_calendarSearch" name="calendarSearch" type="hidden" value="false"><input class="ng-tns-c1-2" id="pol_widget_awards_pricingSearch" name="pricingSearch" type="hidden" value="true"><input class="ng-tns-c1-2"
    id="awards_directServiceOnly" name="directServiceOnly" type="hidden" value="off"><input class="ng-tns-c1-2" id="hiddenFieldsId" name="hiddenFieldsId" type="hidden" value=""><input class="ng-tns-c1-2 ng-untouched ng-pristine ng-valid"
    id="awardTravel" name="awardTravel" type="hidden" value="false"><input class="ng-tns-c1-2" id="action" name="action" type="hidden" value="findFlights"><input class="ng-tns-c1-2" id="pageName" name="pageName" type="hidden"
    value="advanceSearchPage"><input class="ng-tns-c1-2" id="branchingOptions" name="branchingOptions" type="hidden" value=""><input class="ng-tns-c1-2" id="removeEdoc" name="removeEdoc" type="hidden" value=""><input class="ng-tns-c1-2"
    id="tripType_hidden" name="tripType" type="hidden" value="ROUND_TRIP"><input class="ng-tns-c1-2" id="cacheKey" name="cacheKey" type="hidden" value=""><input class="ng-tns-c1-2" id="searchForRevenueAwards" name="shopType" type="hidden"
    value="REVENUE"><input class="ng-tns-c1-2" id="flexAirportsSearch" name="flexAirport" type="hidden" value=""><input class="ng-tns-c1-2" id="originAirportRadius" name="originAirportRadius" type="hidden" value="0"><input class="ng-tns-c1-2"
    id="destinationAirportRadius" name="destinationAirportRadius" type="hidden" value="0"><!----><input id="originCity_hiiden" name="originCity" type="hidden" class="ng-tns-c1-2 ng-star-inserted" value="LHR"><!----><input id="destinationCity_heidden"
    name="destinationCity" type="hidden" class="ng-tns-c1-2 ng-star-inserted" value=""><input class="ng-tns-c1-2" id="departureDate_hidden" name="departureDate" type="hidden" value=""><input class="ng-tns-c1-2" id="returnDate_hidden"
    name="returnDate" type="hidden" value=""><input class="ng-tns-c1-2" id="is_Flex_Search" name="is_Flex_Search" type="hidden" value="true"><input class="ng-tns-c1-2" id="datesFlexible" name="datesFlexible" type="hidden" value="false"><input
    class="ng-tns-c1-2" id="flexDays" name="flexDays" type="hidden" value="3"><input class="ng-tns-c1-2" id="bestFare_hidden" name="bestFare" type="hidden" value="VSLT"><input class="ng-tns-c1-2" id="fareFamily_hidden" name="fareFamily" type="hidden"
    value="VSLT"><input class="ng-tns-c1-2" id="is_award_travel" name="is_award_travel" type="hidden" value="false"><input class="ng-tns-c1-2" id="paxCount" name="paxCount" type="hidden" value="1"><input class="ng-tns-c1-2" id="flexDate"
    name="flexDate" type="hidden" value="false"><input class="ng-tns-c1-2" id="searchByCabin" name="searchByCabin" type="hidden" value="true"><input class="ng-tns-c1-2" id="cabinFareClass" name="cabinFareClass" type="hidden" value=""><input
    class="ng-tns-c1-2" id="adtCount" name="adtCount" type="hidden" value="1"><input class="ng-tns-c1-2" id="gbeCount" name="gbeCount" type="hidden" value="0"><input class="ng-tns-c1-2" id="cnnCount" name="cnnCount" type="hidden" value="0"><input
    class="ng-tns-c1-2" id="infCount" name="infCount" type="hidden" value="0">
</form>

POST null

<form class="ng-tns-c1-2 ng-untouched ng-pristine ng-valid" method="POST" novalidate="" action="null"><input class="ng-tns-c1-2" name="refreshURL" type="hidden" value="undefined"></form>

Text Content

SKIP TO BOOK
Navigation menu
Search

 * HOME
   
 * Book
 * My booking
 * Check in
 * Flight status
   
 * Destinations & onboard Destinations & onboard
   
   
 * Help Help
   
   
 * Flying Club Flying Club
   
   


Join Flying Club
Log in
Search
LHRDeparture Airport or CityLondon Heathrow, United KingdomToDestination Airport
or CityWhere are you going?


Trip Type:, changes will reload the page Round trip One way Multi city Round
trip
 * Round trip
 * One way
 * Multi city

Depart and Return Calendar Use enter to open, escape to close the calendar, page
down for next month and page up for previous month, Depart date not selected
Return date not selectedDepartReturn

Passenger
Use enter to open this dropdown. Currently Selected 1 Adult,0 Young adult,0
Child0 Lap infant
1 Adult
1 passenger
   There are 4 types of passengers: Adults, Young adults, Children and Lap
   infants. Controls for adding and removing each type of passengers are present
   Press enter to close the passenger dropdown
   
 * Adults
   Age 16 and over Adults Age 16 and over, Currently Selected 1 Adult,0 Young
   adult,0 Child0 Lap infant
   Remove Adults passenger
   1
   Add Adults passenger
 * Young adults
   Age 12 - 15 Young adults Age 12 - 15, Currently Selected 1 Adult,0 Young
   adult,0 Child0 Lap infant
   Press enter to open Young adults tooltip
   Remove Young adults passenger
   0
   Add Young adults passenger
 * Children
   Age 2-11 Children Age 2-11, Currently Selected 1 Adult,0 Young adult,0 Child0
   Lap infant
   Remove Children passenger
   0
   Add Children passenger
 * Lap infants
   Age up to 2 Lap infants Age up to 2, Currently Selected 1 Adult,0 Young
   adult,0 Child0 Lap infant
   Press enter to open Lap infants tooltip
   Remove Lap infants passenger
   0
   Add Lap infants passenger

Search options
Search options
Show flexible tickets help Show flexible tickets
Show flexible dates
Advanced search
Submit
show price in Show price in help Show price in help MoneyPoints selecting Miles
plus cash will open the login page Points plus money
show fares for: Economy Premium Upper Class Economy
 * Economy
 * Premium
 * Upper Class

Enter your code helpDo you have a voucher or event code? (Optional)
Nearby airports
Submit






BOOK YOUR FLIGHTS WITH VIRGIN ATLANTIC

Book flights with Virgin Atlantic | Virgin Atlantic Airways
SALE ENDS MIDNIGHT

Book now to enjoy the perfect trip from £313

Shop deals
 * 
   Economy
 * 
   Premium
 * 
   Upper Class

Flight + Hotel Sale


 

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

US Sale from £344


Hurry! Sale ends midnight

From sprawling cities to breathtaking landscapes, our flights to the US take you
to some of America’s most exciting hotspots. Whether you're after golden
beaches, theme park thrills, a shoppers paradise, baseball or hotdogs, the US is
an adventure that's waiting for you.

Shop the US Sale


FLORIDA FROM £313

Hurry! Sale ends midnight

From theme parks to amazing beaches and national attractions, there is no US
state quite like Florida. 

Shop the Florida Sale


CARIBBEAN FROM £441

Hurry! Sale ends midnight

Almost constant sunshine, sprawling beaches and shimmering surf, the Caribbean
gets you pretty close to paradise. 

Shop the Caribbean Sale


WORLDWIDE FROM £319

Hurry! Sale ends midnight

Explore extraordinary cities, diverse cultures and colourful experiences with
our fascinating destinations.

Shop the Worldwide Sale
Winter US City Breaks


Whether you love to shop, want to celebrate the festivities or are reconnecting
with friends and family, a city break in the US this Winter can give you
everything you’re looking for.

Flights to New York from £292

Book now


NEW ROUTES

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




INTRODUCING OUR NEW ROUTE AUSTIN

The big city with a bigger heart

Hey y'all, saddle up. Virgin Atlantic is coming. We now fly direct to Austin,
the capital of the Lone Star State Texas.

Explore Austin


INDIGO, OUR NEWEST CODESHARE PARTNER

More of India, together

We've teamed up with India's largest airline to make your onward connections
from Delhi and Mumbai easier than ever.

Find out more


TRAVEL IN STYLE

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




EXPLORE PREMIUM FLIGHTS

It's the little touches here and there that help you truly enjoy your time in
the air. Go on, treat yourself to those extra few inches of space.
See Premium flight Sale


DISCOVER UPPER CLASS

Whether you're with us for business or pleasure, travelling in Virgin Atlantic
Upper Class makes your journey something to look forward to.
See Upper Class flight Sale


FLYING WITH US

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




INFLIGHT ENTERTAINMENT

The hours will fly by, with over 100 movies onboard - from the latest Hollywood
Blockbusters to indie gems.
Now showing


BAGGAGE UNPACKED

All you need to know about baggage allowance, what you can/can't take onboard
and everything else inbetween.
Come this way


FLYING CLUB

Join Flying Club for free and earn Virgin Points on every Virgin Atlantic
flight, and redeem them on fabulous rewards like upgrades, flights and much
more.
Find out more


BOOK WITH CONFIDENCE 

Easily rebook if you test positive for Covid-19

Book with confidence 


OUR REFUND GUARANTEE

If we cancel your flight you can request a refund.

Refund policy 


PRE-TRAVEL ADVICE GUIDE

Everything you need to know before you go.

Travel advice 


COVID TESTING ADVICE

Find out which type of Covid-19 test you need.

Testing for travel  

 

 

Terms and Conditions - The Virgin Atlantic sale 

Save up to £200 off selected flights per person in Upper Class return flights,
save up to £50 off selected flights per person in Premium and Economy cabins,
also includes Economy Light and Delight. Discounts are for return flights only.
For US flights, the saving is up to £30 in Economy Light, Classic and Delight,
up to £30 in Premium and £150 in Upper Class. 

Applicable routes to the US


 * London Heathrow - Atlanta (Economy only) / Austin / Boston / Las Vegas
   (Economy only) / Los Angeles (Economy only) / Miami / New York /Orlando /
   Seattle (Economy only) / San Francisco (Economy only) / Tampa / Washington
 * Manchester – Atlanta / Orlando / New York (Upper only)
 * Edinburgh – Orlando

Applicable routes to global cities and the Caribbean


 * London Heathrow – Antigua / Bahamas / Barbados / Cape Town / Delhi / Grenada
   / Islamabad / Jamaica / Johannesburg / Lahore / Lagos / Mumbai / St Lucia /
   St Vincent / Tobago / Tel Aviv
 * Manchester – Barbados

Discounts verified: 23 August 2022. Available for new online bookings only made
between 00:00 23 August 2022 and 23:59 4 October 2022 at www.virginatlantic.com,
for travel after 1 October 2022 and complete by 30 June 2023*. Select dates may
be excluded from the Sale event. Subject to limited availability and full terms
and conditions – see below.

 1.  Promotional fares are strictly subject to limited availability and are
     offered on a first come, first served basis. The number of seats available
     on each flight at the savings fare detailed above is restricted and it is
     possible that the seats allocated on a particular flight may be fully
     booked, even though seats are still available in other booking classes.
     Some flights may have no availability on certain dates and popular dates
     (i.e., weekends, school and public holidays) will fill quickly.
     
     
 2.  *The savings detailed above are for travel made before – 30 June 2023
     
     
 3.  a) Round trips are permitted.
     b) Round trips where the destination of the outward sector and the
     departure point of the return sector differ are not
     c) One-way trips are not permitted. 
     d) Trips including sectors on airlines other than Virgin Atlantic including
     codeshares are not permitted. 
     
     
 4.  Fares may have restrictions on minimum and maximum stays.
     
     
 5.  Applicable Upper Class sale fares to the US have a minimum advanced
     purchase requirement of 14 days. Upper Class fares to the Bahamas have a
     minimum advanced purchase requirement of 7 days.
     
     
 6.  Applicable Economy and Premium Economy sale fares to the US have a minimum
     advanced purchase requirement of 28 days.
     
     
 7.  Stopovers and open-date returns are not permitted.
     
     
 8.  Children (under 12) and infants (under 2) who require a seat pay 75% of the
     full adult fare. Alternatively, infants (under 2) who do not require a seat
     pay 10% of the full adult fare (exclusive of passenger taxes, fees, charges
     and carrier-imposed surcharges).
     
     
 9.  Once a booking has been confirmed:
     Cancellations, refunds and changes are based on our current booking policy
     (found here
     https://flywith.virginatlantic.com/gb/en/your-journey-with-us/no-change-fees-policy.html) 
     
     
 10.  Flying Club Points, bonus Points and tier points are available on selected
     flights. Please check at time of booking.
     
     
 11.  Virgin Atlantic’s published Conditions of Carriage apply and are available
     at
     http://www.virginatlantic.com/gb/en/help-centre/conditions-of-carriage.html.
     
     
 12.  Virgin Atlantic reserves the right to (i) withdraw the promotion (ii)
     cancel or change the promotion, (iii) amend these terms and conditions at
     any time if circumstances make this necessary and without further notice.
     
     
 13.  These Terms and Conditions are subject to English Law and the exclusive
     jurisdiction of the English courts

 

 



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


ABOUT VIRGIN ATLANTIC

About Virgin Atlantic
   
 * Our story
 * Business as a force for good
 * Media centre
 * Annual reports
 * Careers

   
 * Our story
 * Business as a force for good
 * Media centre
 * Annual reports
 * Careers


SUPPORT

Support
   
 * Help and contact
 * Before you book
 * At the airport
 * On the flight
 * Lost property

   
 * Help and contact
 * Before you book
 * At the airport
 * On the flight
 * Lost property


POLICIES

Policies
   
 * Modern Slavery statement
 * Conditions of Carriage
 * Tarmac delay plan
 * Customer commitment

   
 * Modern Slavery statement
 * Conditions of Carriage
 * Tarmac delay plan
 * Customer commitment


MORE

More
   
 * Business travel
 * Virgin Atlantic Cargo
 * Travel trade
 * Affiliates
 * Partners

   
 * Business travel
 * Virgin Atlantic Cargo
 * Travel trade
 * Affiliates
 * Partners


US DESTINATIONS

US destinations
   
 * New York flights
 * Orlando flights
 * Las Vegas flights
 * Boston flights
 * Florida flights
 * Los Angeles flights
 * San Francisco flights

   
 * New York flights
 * Orlando flights
 * Las Vegas flights
 * Boston flights
 * Florida flights
 * Los Angeles flights
 * San Francisco flights


MORE DESTINATIONS

More destinations
   
 * Barbados flights
 * All destinations
 * Flight deals
 * Last minute deals
 * Flight + Hotel deals
 * Student discount

   
 * Barbados flights
 * All destinations
 * Flight deals
 * Last minute deals
 * Flight + Hotel deals
 * Student discount

© 2022 Virgin Atlantic Airways Ltd. All rights reserved.|
Registered office: The VHQ, Fleming Way, Crawley, West Sussex RH10 9DF
Cookie statement | Terms and conditions | Privacy policy | Accessibility 
| Canadian tariffs  | Israeli Law and Regulations



      
Bookings made by credit card or debit card no longer incur a fee.

United Kingdom - English Link to change the language

Our site uses cookies for various reasons. By continuing to browse you agree to
our use of these. For more information, check out our cookie policy

Close


Feedback