www.virginatlantic.com
Open in
urlscan Pro
23.41.253.6
Public Scan
URL:
https://www.virginatlantic.com/
Submission: On June 08 via manual from DE — Scanned from DE
Submission: On June 08 via manual from DE — Scanned from DE
Form analysis
3 forms found in the DOMName: loginForm — POST /login/loginPage
<form class="form-inline ng-star-inserted" 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: bookWidgetForm — GET /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="fromCountryCode" type="hidden" value=""><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="toCountryCode" 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 col-lg-2 booking-element d-sm-none"><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"><span class="select-ui-wrapper ng-tns-c1-2" tabindex="0" style="width:2px" 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:2px; 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 booking-element select-container select-container-down-md passenger-booking-element offset-lg-0 d-sm-none"><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 IT'S OFFICIAL... We've been voted the best long haul airline! Fly in style, from £380 Shop deals * Travel in style * Last minute deals * Summer 2023 Visit loved ones -------------------------------------------------------------------------------- CITY BREAKS Whether you want to explore the sites of New York or experience the beautiful beaches and buzzing nightlife of Tel Aviv, we have something for everyone. Check out our recommended city break destinations today. Book now TRENDING DESTINATIONS -------------------------------------------------------------------------------- NEW YORK FROM £400 Grab a city break with unbeatable shopping. Fly daily with Virgin Atlantic direct to New York from London and Manchester. Book now ORLANDO FROM £440 Traveling to the Theme Park Capital is a breeze with daily Virgin Atlantic flights direct to Orlando from London and Manchester. Book now LA FROM £380 Whether you want to hike the Hollyood Hills or chill by the beach, fly direct to Los Angeles with Virgin Atlantic from London. Book now INDIA FROM £500 With its diverse religious beliefs, stunning architecture and unforgettable wildlife, India is endlessly fascinating. Book now SOUTH AFRICA FROM £666 Our direct flights to South Africa get you within reach of viewing the 'big five' animals in their backyard. Book now BARBADOS FROM £510 Barbados is the perfect place for a sun-soaked break. You'll find there's more to Barbados than you first thought. Book now JUST LANDED -------------------------------------------------------------------------------- Rise and shine in Dubai Direct flights on sale now Hold on to your bottomless brunch, we’re headed to the Middle Eastern city of souks, sand, sun, and really really tall skyscrapers. Flights commence 28th October 2023 Book now RUFFLE SOME FEATHERS IN LAS VEGAS Direct flights on sale from 7th July Manchester to Las Vegas is back! Fly with us direct to the bright lights of the strip. FLIGHTS COMMENCE 2ND JUNE 2024 Find out more GO FULL COLOUR IN BENGALURU Direct flights on sale from 14th June We’re starting up our engines for India’s startup capital. FLIGHTS COMMENCE 31ST MARCH 2024 Find out more SAY OLÁ TO SÃO PAULO Flights commence 13th May 2024 New city, new country, new continent. Get ready for a Carnival float-load of adventures in Brazil. SUBJECT TO GOVERNMENT APPROVAL 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 deals 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 deals 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 OUR MISSION TO NET ZERO We’ve announced a set of ambitious interim milestones to take Virgin Atlantic to net zero carbon by 2050. 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 -------------------------------------------------------------------------------- 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 * SkyTeam * Business travel * Virgin Atlantic Cargo * Travel trade * Affiliates * Partners * SkyTeam 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 * Virgin StartUp * Barbados flights * All destinations * Flight deals * Last minute deals * Flight + Hotel deals * Student discount * Virgin StartUp © 2023 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