@sabstravtech/obtservices 0.0.22050309 → 0.0.22051001

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (118) hide show
  1. package/angular/fetchers.d.ts +4 -0
  2. package/angular/lib/vendor/fetchers/get-cancellation-info.fetcher.d.ts +7 -0
  3. package/angular/lib/vendor/fetchers/get-irl-supplier-station.fetcher.d.ts +7 -0
  4. package/angular/lib/vendor/services/enterprise-basket.service.d.ts +4 -3
  5. package/angular/lib/vendor/services/search.service.d.ts +4 -3
  6. package/angular/lib/vendor/services/ticket-queue.service.d.ts +6 -0
  7. package/angular/lib/vendor/types/graphql.angular.types.d.ts +96 -15
  8. package/angular/sabstravtech-obtservices-angular.d.ts +0 -1
  9. package/angular/sabstravtech-obtservices-angular.metadata.json +1 -1
  10. package/angular/services.d.ts +1 -0
  11. package/base/fetchers.d.ts +4 -0
  12. package/base/interfaces.d.ts +2 -0
  13. package/base/lib/vendor/classes/cabhire-enterprise-search.d.ts +2 -1
  14. package/base/lib/vendor/classes/carhire-enterprise-search.d.ts +1 -0
  15. package/base/lib/vendor/classes/eurostar-enterprise-search.d.ts +2 -1
  16. package/base/lib/vendor/classes/fast-track-enterprise-search.d.ts +16 -11
  17. package/base/lib/vendor/classes/flight-enterprise-search.d.ts +2 -1
  18. package/base/lib/vendor/classes/hotel-enterprise-search.d.ts +2 -1
  19. package/base/lib/vendor/classes/irl-enterprise-search.d.ts +20 -6
  20. package/base/lib/vendor/classes/lounges-enterprise-search.d.ts +1 -0
  21. package/base/lib/vendor/classes/management-info-and-valid.d.ts +6 -1
  22. package/base/lib/vendor/classes/modal-types.enum.d.ts +1 -0
  23. package/base/lib/vendor/classes/parking-enterprise-search.d.ts +1 -0
  24. package/base/lib/vendor/classes/rail-enterprise-search.d.ts +3 -2
  25. package/base/lib/vendor/fetchers/fast-track-quote.fetcher.d.ts +1 -1
  26. package/base/lib/vendor/fetchers/get-cancellation-info.fetcher.d.ts +20 -0
  27. package/base/lib/vendor/fetchers/get-irl-supplier-station.fetcher.d.ts +21 -0
  28. package/base/lib/vendor/interfaces/Icabhire-enterprise-search.d.ts +1 -0
  29. package/base/lib/vendor/interfaces/Icarhire-enterprise-search.d.ts +1 -0
  30. package/base/lib/vendor/interfaces/Ienterprise-basket.service.d.ts +6 -3
  31. package/base/lib/vendor/interfaces/Ieurostar-enterprise-search.d.ts +1 -0
  32. package/base/lib/vendor/interfaces/Ifast-track-enterprise-search.d.ts +5 -1
  33. package/base/lib/vendor/interfaces/Iflight-enterprise-search.d.ts +1 -0
  34. package/base/lib/vendor/interfaces/Ihotel-enterprise-search.d.ts +2 -0
  35. package/base/lib/vendor/interfaces/Iirl-enterprise-search.d.ts +8 -3
  36. package/base/lib/vendor/interfaces/Ilounges-enterprise-search.d.ts +1 -0
  37. package/base/lib/vendor/interfaces/Iparking-enterprise-search.d.ts +1 -0
  38. package/base/lib/vendor/interfaces/Irail-enterprise-search.d.ts +1 -0
  39. package/base/lib/vendor/interfaces/Iuser.service.d.ts +2 -1
  40. package/base/lib/vendor/interfaces/fast-track-filters.interface.d.ts +4 -0
  41. package/base/lib/vendor/interfaces/rail-basket-item.interface.d.ts +2 -0
  42. package/base/lib/vendor/interfaces/summary-interface.d.ts +2 -0
  43. package/base/lib/vendor/services/enterprise-basket.service.d.ts +13 -6
  44. package/base/lib/vendor/services/requires-reason.service.d.ts +20 -0
  45. package/base/lib/vendor/services/search.service.d.ts +5 -3
  46. package/base/lib/vendor/services/webtoken.service.d.ts +1 -0
  47. package/base/lib/vendor/types/graphql.types.d.ts +91 -15
  48. package/base/lib/vendor/types/types.d.ts +28 -15
  49. package/base/sabstravtech-obtservices-base.metadata.json +1 -1
  50. package/base/services.d.ts +1 -0
  51. package/bundles/sabstravtech-obtservices-angular.umd.js +175 -79
  52. package/bundles/sabstravtech-obtservices-angular.umd.js.map +1 -1
  53. package/bundles/sabstravtech-obtservices-angular.umd.min.js +1 -1
  54. package/bundles/sabstravtech-obtservices-angular.umd.min.js.map +1 -1
  55. package/bundles/sabstravtech-obtservices-base.umd.js +2511 -143
  56. package/bundles/sabstravtech-obtservices-base.umd.js.map +1 -1
  57. package/bundles/sabstravtech-obtservices-base.umd.min.js +2 -2
  58. package/bundles/sabstravtech-obtservices-base.umd.min.js.map +1 -1
  59. package/esm2015/angular/fetchers.js +5 -1
  60. package/esm2015/angular/lib/vendor/fetchers/get-cancellation-info.fetcher.js +25 -0
  61. package/esm2015/angular/lib/vendor/fetchers/get-irl-supplier-station.fetcher.js +25 -0
  62. package/esm2015/angular/lib/vendor/services/enterprise-basket.service.js +8 -5
  63. package/esm2015/angular/lib/vendor/services/http-call.service.js +6 -2
  64. package/esm2015/angular/lib/vendor/services/search.service.js +28 -25
  65. package/esm2015/angular/lib/vendor/services/ticket-queue.service.js +23 -0
  66. package/esm2015/angular/lib/vendor/types/graphql.angular.types.js +62 -7
  67. package/esm2015/angular/obtservices.module.js +3 -1
  68. package/esm2015/angular/sabstravtech-obtservices-angular.js +1 -2
  69. package/esm2015/angular/services.js +2 -1
  70. package/esm2015/base/fetchers.js +5 -1
  71. package/esm2015/base/interfaces.js +3 -1
  72. package/esm2015/base/lib/vendor/classes/basket-info-mi-details.impl.js +4 -1
  73. package/esm2015/base/lib/vendor/classes/cabhire-enterprise-search.js +37 -5
  74. package/esm2015/base/lib/vendor/classes/carhire-enterprise-search.js +43 -12
  75. package/esm2015/base/lib/vendor/classes/eurostar-enterprise-search.js +35 -14
  76. package/esm2015/base/lib/vendor/classes/fast-track-enterprise-search.js +81 -14
  77. package/esm2015/base/lib/vendor/classes/flight-enterprise-search.js +44 -5
  78. package/esm2015/base/lib/vendor/classes/helpers.js +6 -2
  79. package/esm2015/base/lib/vendor/classes/hotel-enterprise-search.js +48 -14
  80. package/esm2015/base/lib/vendor/classes/irl-enterprise-search.js +197 -23
  81. package/esm2015/base/lib/vendor/classes/lounges-enterprise-search.js +22 -6
  82. package/esm2015/base/lib/vendor/classes/management-info-and-valid.js +1 -1
  83. package/esm2015/base/lib/vendor/classes/modal-types.enum.js +2 -1
  84. package/esm2015/base/lib/vendor/classes/parking-enterprise-search.js +27 -7
  85. package/esm2015/base/lib/vendor/classes/rail-enterprise-search.js +62 -13
  86. package/esm2015/base/lib/vendor/classes/supplementary-booking-info-impl.js +2 -2
  87. package/esm2015/base/lib/vendor/fetchers/fast-track-quote.fetcher.js +2 -2
  88. package/esm2015/base/lib/vendor/fetchers/get-cancellation-info.fetcher.js +10 -0
  89. package/esm2015/base/lib/vendor/fetchers/get-irl-supplier-station.fetcher.js +11 -0
  90. package/esm2015/base/lib/vendor/interfaces/Icabhire-enterprise-search.js +1 -1
  91. package/esm2015/base/lib/vendor/interfaces/Icarhire-enterprise-search.js +1 -1
  92. package/esm2015/base/lib/vendor/interfaces/Ienterprise-basket.service.js +1 -1
  93. package/esm2015/base/lib/vendor/interfaces/Ieurostar-enterprise-search.js +1 -1
  94. package/esm2015/base/lib/vendor/interfaces/Ifast-track-enterprise-search.js +1 -1
  95. package/esm2015/base/lib/vendor/interfaces/Iflight-enterprise-search.js +1 -1
  96. package/esm2015/base/lib/vendor/interfaces/Ihotel-enterprise-search.js +1 -1
  97. package/esm2015/base/lib/vendor/interfaces/Iirl-enterprise-search.js +1 -1
  98. package/esm2015/base/lib/vendor/interfaces/Ilounges-enterprise-search.js +1 -1
  99. package/esm2015/base/lib/vendor/interfaces/Iparking-enterprise-search.js +1 -1
  100. package/esm2015/base/lib/vendor/interfaces/Irail-enterprise-search.js +1 -1
  101. package/esm2015/base/lib/vendor/interfaces/Iuser.service.js +1 -1
  102. package/esm2015/base/lib/vendor/interfaces/fast-track-filters.interface.js +2 -0
  103. package/esm2015/base/lib/vendor/interfaces/rail-basket-item.interface.js +1 -1
  104. package/esm2015/base/lib/vendor/interfaces/summary-interface.js +1 -1
  105. package/esm2015/base/lib/vendor/services/enterprise-basket.service.js +63 -17
  106. package/esm2015/base/lib/vendor/services/hotel-avallibility.service.js +16 -12
  107. package/esm2015/base/lib/vendor/services/requires-reason.service.js +49 -0
  108. package/esm2015/base/lib/vendor/services/search.service.js +11 -5
  109. package/esm2015/base/lib/vendor/services/user.service.js +25 -4
  110. package/esm2015/base/lib/vendor/services/webtoken.service.js +9 -5
  111. package/esm2015/base/lib/vendor/types/graphql.types.js +9 -1
  112. package/esm2015/base/lib/vendor/types/types.js +1649 -8
  113. package/esm2015/base/services.js +2 -1
  114. package/fesm2015/sabstravtech-obtservices-angular.js +131 -17
  115. package/fesm2015/sabstravtech-obtservices-angular.js.map +1 -1
  116. package/fesm2015/sabstravtech-obtservices-base.js +2435 -149
  117. package/fesm2015/sabstravtech-obtservices-base.js.map +1 -1
  118. package/package.json +1 -1
@@ -174,7 +174,8 @@
174
174
  ModalTypes.RailTicketsDialogComponent = new ModalTypes('RailTicketsDialogComponent');
175
175
  ModalTypes.ModalFlightFareComponent = new ModalTypes('ModalFlightFareComponent');
176
176
  ModalTypes.FlightExtrasDialogComponent = new ModalTypes('FlightExtrasDialogComponent');
177
- ModalTypes.OfflineRequestDialogComponent = new ModalTypes('OfflineRequestDialogComponent');
177
+ ModalTypes.OfflineRequestDialogComponent = new ModalTypes('OfflineRequestDialogComponent');
178
+ ModalTypes.RequiresReasonDialogComponent = new ModalTypes('RequiresReasonDialogComponent');
178
179
 
179
180
  var BaseNetworkCall = /** @class */ (function () {
180
181
  function BaseNetworkCall(modelService) {
@@ -537,6 +538,7 @@
537
538
  (function (BasketItemStatus) {
538
539
  BasketItemStatus["Open"] = "OPEN";
539
540
  BasketItemStatus["Booked"] = "BOOKED";
541
+ BasketItemStatus["Cancelled"] = "CANCELLED";
540
542
  BasketItemStatus["BookingFailed"] = "BOOKING_FAILED";
541
543
  })(BasketItemStatus || (BasketItemStatus = {}));
542
544
  var BasketStatus;
@@ -938,6 +940,13 @@
938
940
  PreferenceKey["SeatPosition"] = "SEAT_POSITION";
939
941
  PreferenceKey["SeatDirection"] = "SEAT_DIRECTION";
940
942
  })(exports.ɵf || (exports.ɵf = {}));
943
+ var ProfileConfigOption;
944
+ (function (ProfileConfigOption) {
945
+ ProfileConfigOption["Inherited"] = "INHERITED";
946
+ ProfileConfigOption["Editable"] = "EDITABLE";
947
+ ProfileConfigOption["Visible"] = "VISIBLE";
948
+ ProfileConfigOption["Hidden"] = "HIDDEN";
949
+ })(ProfileConfigOption || (ProfileConfigOption = {}));
941
950
  var RailClass;
942
951
  (function (RailClass) {
943
952
  RailClass["All"] = "All";
@@ -1289,6 +1298,9 @@
1289
1298
  this.isValidObservers = [];
1290
1299
  this.basketItem = item;
1291
1300
  var _a = item.managementInfo.reduce(function (miAccum, miItem) {
1301
+ if (miItem.reason && !item.requiresReason) {
1302
+ return miAccum;
1303
+ }
1292
1304
  var miItemObj = makeManagamentInfo(miItem, _this.basketService);
1293
1305
  _this.isValidObservers.push(miItemObj);
1294
1306
  if (miItem.perBooking) {
@@ -1365,12 +1377,18 @@
1365
1377
  SchemaFormat["integer"] = "integer";
1366
1378
  SchemaFormat["object"] = "object";
1367
1379
  SchemaFormat["select"] = "select";
1380
+ SchemaFormat["selectQueue"] = "select-queue";
1368
1381
  SchemaFormat["string"] = "string";
1369
1382
  SchemaFormat["boolean"] = "boolean";
1370
1383
  SchemaFormat["countryCode"] = "countryCode";
1371
1384
  SchemaFormat["additionalSeatPreference"] = "t_additionalSeatPreference";
1372
1385
  SchemaFormat["seatPrefGroups"] = "a_seatPrefGroups";
1373
1386
  SchemaFormat["railSeating"] = "railSeating";
1387
+ SchemaFormat["passport"] = "passport";
1388
+ SchemaFormat["specialRequests"] = "specialRequests";
1389
+ SchemaFormat["apis"] = "apis";
1390
+ SchemaFormat["mandatoryIfEticket"] = "mandatory-if-eticket";
1391
+ SchemaFormat["mandatoryIfTod"] = "mandatory-if-tod";
1374
1392
  })(exports.SchemaFormat || (exports.SchemaFormat = {}));
1375
1393
  (function (Widgets) {
1376
1394
  Widgets["COUNTRY_CODE"] = "COUNTRY_CODE";
@@ -1537,17 +1555,1652 @@
1537
1555
  { label: 'Airline Seat', type: exports.ɵf.SeatDirection }
1538
1556
  ];
1539
1557
  var DocTypes = [
1540
- { label: "Passport", type: exports.ɵd.Passport },
1541
- { label: "Visa", type: exports.ɵd.Visa },
1542
- { label: "IdCard", type: exports.ɵd.IdCard }
1558
+ { label: 'Passport', type: exports.ɵd.Passport },
1559
+ { label: 'Visa', type: exports.ɵd.Visa },
1560
+ { label: 'IdCard', type: exports.ɵd.IdCard }
1543
1561
  ];
1544
1562
  var Genders = [
1545
- { label: "F", type: exports.ɵc.F },
1546
- { label: "M", type: exports.ɵc.M }
1563
+ { label: 'F', type: exports.ɵc.F },
1564
+ { label: 'M', type: exports.ɵc.M }
1547
1565
  ];
1548
1566
  var DistanceType = [
1549
- { label: "K", type: exports.ɵb.K },
1550
- { label: "M", type: exports.ɵb.M }
1567
+ { label: 'K', type: exports.ɵb.K },
1568
+ { label: 'M', type: exports.ɵb.M }
1569
+ ];
1570
+ var RailCompanies = [
1571
+ { label: 'Avanti West Coast', value: 'Avanti West Coast' },
1572
+ { label: 'East Coast', value: 'East Coast' },
1573
+ { label: 'IRL-Eurostar', value: 'IRL-Eurostar' },
1574
+ { label: 'IRL-Renfe Card', value: 'IRL-Renfe Card' },
1575
+ {
1576
+ label: 'IRL-SNCF - Carta Grand Voyageur',
1577
+ value: 'IRL-SNCF - Carta Grand Voyageur'
1578
+ },
1579
+ { label: 'IRL-Thalys', value: 'IRL-Thalys' }
1580
+ ];
1581
+ var CarCompanies = [
1582
+ { label: 'Advantage Rent A Car', value: 'Advantage Rent A Car' },
1583
+ { label: 'Alamo', value: 'Alamo' },
1584
+ { label: 'Avis', value: 'Avis' },
1585
+ { label: 'Budget Rent A Car', value: 'Budget Rent A Car' },
1586
+ { label: 'Dollar Rent A Car', value: 'Dollar Rent A Car' },
1587
+ { label: 'Enterprise', value: 'Enterprise' },
1588
+ { label: 'Euromobil', value: 'Euromobil' },
1589
+ { label: 'Europcar', value: 'Europcar' },
1590
+ { label: 'Fox Rent A Car', value: 'Fox Rent A Car' },
1591
+ { label: 'Hertz', value: 'Hertz' },
1592
+ { label: 'National Car Rental System', value: 'National Car Rental System' },
1593
+ { label: 'Payless Car Rental', value: 'Payless Car Rental' },
1594
+ { label: 'Sixt', value: 'Sixt' },
1595
+ { label: 'Southwest Car Rental', value: 'Southwest Car Rental' },
1596
+ { label: 'Thrifty Car Rental', value: 'Thrifty Car Rental' }
1597
+ ];
1598
+ var HotelChains = [
1599
+ { label: 'Abba Hotels', value: 'Abba Hotels' },
1600
+ { label: 'Abode Hotels', value: 'Abode Hotels' },
1601
+ { label: 'AC Hotels', value: 'AC Hotels' },
1602
+ { label: 'Accor Group', value: 'Accor Group' },
1603
+ { label: 'Accor', value: 'Accor' },
1604
+ { label: "Adam's Mark", value: "Adam's Mark" },
1605
+ { label: 'Affinia Hotels', value: 'Affinia Hotels' },
1606
+ { label: 'Alias Hotels', value: 'Alias Hotels' },
1607
+ { label: 'Amber Hotels Germany', value: 'Amber Hotels Germany' },
1608
+ { label: 'Americas Best Value Inns', value: 'Americas Best Value Inns' },
1609
+ { label: 'Americinn', value: 'Americinn' },
1610
+ { label: 'Amerihost Inn', value: 'Amerihost Inn' },
1611
+ { label: 'Amerisuites', value: 'Amerisuites' },
1612
+ { label: 'Ana Hotels', value: 'Ana Hotels' },
1613
+ { label: 'Antoinette Hotels', value: 'Antoinette Hotels' },
1614
+ { label: 'Apex Hotels', value: 'Apex Hotels' },
1615
+ { label: 'Arora International', value: 'Arora International' },
1616
+ { label: 'Ascott Group', value: 'Ascott Group' },
1617
+ { label: 'Atel Htl Network', value: 'Atel Htl Network' },
1618
+ {
1619
+ label: 'Austria Trend Hotel & Resorts',
1620
+ value: 'Austria Trend Hotel & Resorts'
1621
+ },
1622
+ { label: 'Barcelo Hotels', value: 'Barcelo Hotels' },
1623
+ { label: 'Bastion Hotels', value: 'Bastion Hotels' },
1624
+ { label: 'Baymont', value: 'Baymont' },
1625
+ { label: 'Beales Hotels', value: 'Beales Hotels' },
1626
+ { label: 'Best Eastern', value: 'Best Eastern' },
1627
+ { label: 'Best Inns', value: 'Best Inns' },
1628
+ { label: 'Best Western Hotels', value: 'Best Western Hotels' },
1629
+ { label: 'Bewleys', value: 'Bewleys' },
1630
+ { label: 'Bilderberg Group', value: 'Bilderberg Group' },
1631
+ { label: 'Blue Tree Hotels', value: 'Blue Tree Hotels' },
1632
+ { label: 'Boscolo Hotels', value: 'Boscolo Hotels' },
1633
+ { label: 'Brend Hotel Group', value: 'Brend Hotel Group' },
1634
+ { label: 'Bridgestreet', value: 'Bridgestreet' },
1635
+ { label: 'Britannia', value: 'Britannia' },
1636
+ { label: 'Caesar Park Hotels', value: 'Caesar Park Hotels' },
1637
+ { label: 'Cairn Hotels', value: 'Cairn Hotels' },
1638
+ { label: 'Camino Real', value: 'Camino Real' },
1639
+ { label: 'Campanile', value: 'Campanile' },
1640
+ { label: 'Candlewood Suites', value: 'Candlewood Suites' },
1641
+ { label: 'Carlton Hotel Collection', value: 'Carlton Hotel Collection' },
1642
+ { label: 'Castle Hotel Group', value: 'Castle Hotel Group' },
1643
+ { label: 'Cedar Court Hotels', value: 'Cedar Court Hotels' },
1644
+ { label: 'Cendant', value: 'Cendant' },
1645
+ { label: 'Choice Hotels', value: 'Choice Hotels' },
1646
+ { label: 'Citadine Hotels', value: 'Citadine Hotels' },
1647
+ { label: 'Clarion Hotels', value: 'Clarion Hotels' },
1648
+ { label: 'Clifton Hotels', value: 'Clifton Hotels' },
1649
+ { label: 'Club Quarters Hotels', value: 'Club Quarters Hotels' },
1650
+ { label: 'Coast Hotels & Resorts', value: 'Coast Hotels & Resorts' },
1651
+ { label: 'Comfort', value: 'Comfort' },
1652
+ { label: 'Concorde Hotels', value: 'Concorde Hotels' },
1653
+ { label: 'Conrad Hotels', value: 'Conrad Hotels' },
1654
+ { label: 'Contemporary Hotels', value: 'Contemporary Hotels' },
1655
+ {
1656
+ label: 'Copthorne & Millennium Hotels',
1657
+ value: 'Copthorne & Millennium Hotels'
1658
+ },
1659
+ { label: 'Corus', value: 'Corus' },
1660
+ {
1661
+ label: 'Country Inn & Suites Hotels',
1662
+ value: 'Country Inn & Suites Hotels'
1663
+ },
1664
+ { label: 'Courtyard By Marriott', value: 'Courtyard By Marriott' },
1665
+ { label: 'Crerar Hotels', value: 'Crerar Hotels' },
1666
+ { label: 'Crowne Plaza', value: 'Crowne Plaza' },
1667
+ { label: 'Cumulus Hotels', value: 'Cumulus Hotels' },
1668
+ { label: 'Dakota Hotel Group', value: 'Dakota Hotel Group' },
1669
+ { label: 'Dan Hotels Corporation', value: 'Dan Hotels Corporation' },
1670
+ { label: 'Days Inn', value: 'Days Inn' },
1671
+ { label: 'De Vere Hotels', value: 'De Vere Hotels' },
1672
+ { label: 'Delta Hotels', value: 'Delta Hotels' },
1673
+ { label: 'Derag Hotels', value: 'Derag Hotels' },
1674
+ { label: 'Design Hotels', value: 'Design Hotels' },
1675
+ { label: 'Destination Hotels', value: 'Destination Hotels' },
1676
+ { label: 'Dhillon Hotels', value: 'Dhillon Hotels' },
1677
+ { label: 'Disney World Hotels', value: 'Disney World Hotels' },
1678
+ { label: 'Distinct Hotels', value: 'Distinct Hotels' },
1679
+ { label: 'Distinguished Hotels', value: 'Distinguished Hotels' },
1680
+ { label: 'Dolce Hotels', value: 'Dolce Hotels' },
1681
+ { label: 'Dorint Hotels', value: 'Dorint Hotels' },
1682
+ { label: 'Doubletree Hotels', value: 'Doubletree Hotels' },
1683
+ { label: 'Doyle Collection', value: 'Doyle Collection' },
1684
+ { label: 'Drury Inn & Suites', value: 'Drury Inn & Suites' },
1685
+ { label: 'Econo Lodge', value: 'Econo Lodge' },
1686
+ { label: 'Elizabeth Hotels', value: 'Elizabeth Hotels' },
1687
+ { label: 'Embassy Suites', value: 'Embassy Suites' },
1688
+ { label: 'English Lakes Hotels', value: 'English Lakes Hotels' },
1689
+ { label: 'English Rose Hotels', value: 'English Rose Hotels' },
1690
+ { label: 'Etap', value: 'Etap' },
1691
+ { label: 'Eton Town House Group', value: 'Eton Town House Group' },
1692
+ { label: 'Exclusive Hotels', value: 'Exclusive Hotels' },
1693
+ {
1694
+ label: 'Executive Hotels And Resorts',
1695
+ value: 'Executive Hotels And Resorts'
1696
+ },
1697
+ { label: 'Extended Stayamerica', value: 'Extended Stayamerica' },
1698
+ { label: 'Fairfield Inn', value: 'Fairfield Inn' },
1699
+ { label: 'Fairmont Hotels', value: 'Fairmont Hotels' },
1700
+ { label: 'Fiesta Americana', value: 'Fiesta Americana' },
1701
+ { label: 'Fine Individual Hotels', value: 'Fine Individual Hotels' },
1702
+ { label: 'Firmdale Hotels', value: 'Firmdale Hotels' },
1703
+ { label: 'First Hotels', value: 'First Hotels' },
1704
+ { label: 'FJB Hotels', value: 'FJB Hotels' },
1705
+ { label: 'Focus Hotels', value: 'Focus Hotels' },
1706
+ { label: 'Folio Hotels', value: 'Folio Hotels' },
1707
+ { label: 'Forestdale Hotels', value: 'Forestdale Hotels' },
1708
+ { label: 'Formule 1', value: 'Formule 1' },
1709
+ { label: 'Four Pillars', value: 'Four Pillars' },
1710
+ { label: 'Four Seasons', value: 'Four Seasons' },
1711
+ { label: 'Fullers Hotels & Inns', value: 'Fullers Hotels & Inns' },
1712
+ { label: 'Gaylord Entertainment', value: 'Gaylord Entertainment' },
1713
+ { label: 'Genares Resrv SVC', value: 'Genares Resrv SVC' },
1714
+ { label: 'Golden Tulip', value: 'Golden Tulip' },
1715
+ { label: 'Grand Hospitality', value: 'Grand Hospitality' },
1716
+ { label: 'Grange Hotels', value: 'Grange Hotels' },
1717
+ { label: 'Great Southern Hotel Group', value: 'Great Southern Hotel Group' },
1718
+ { label: 'Greene King Pub Company', value: 'Greene King Pub Company' },
1719
+ { label: 'Gresham Hotel Group', value: 'Gresham Hotel Group' },
1720
+ { label: 'Guesthouse International', value: 'Guesthouse International' },
1721
+ { label: 'Guoman Hotel', value: 'Guoman Hotel' },
1722
+ { label: 'Hampton Inn', value: 'Hampton Inn' },
1723
+ { label: 'Hand Picked Hotels', value: 'Hand Picked Hotels' },
1724
+ {
1725
+ label: 'Hanover International Hotels',
1726
+ value: 'Hanover International Hotels'
1727
+ },
1728
+ { label: 'Harrahs Casinos', value: 'Harrahs Casinos' },
1729
+ { label: 'Hastings Hotels', value: 'Hastings Hotels' },
1730
+ { label: 'Hawthorn Suites', value: 'Hawthorn Suites' },
1731
+ {
1732
+ label: 'Heritage Serviced Apartments',
1733
+ value: 'Heritage Serviced Apartments'
1734
+ },
1735
+ { label: 'Hesperia Hotels', value: 'Hesperia Hotels' },
1736
+ { label: 'Hilton Garden Inn', value: 'Hilton Garden Inn' },
1737
+ { label: 'Hilton Hotels', value: 'Hilton Hotels' },
1738
+ { label: 'Historic House Hotels', value: 'Historic House Hotels' },
1739
+ { label: 'Holiday Inn Express', value: 'Holiday Inn Express' },
1740
+ { label: 'Holiday Inn Garden Court', value: 'Holiday Inn Garden Court' },
1741
+ { label: 'Holiday Inns', value: 'Holiday Inns' },
1742
+ { label: 'Homestead', value: 'Homestead' },
1743
+ { label: 'Homewood Suites By Hilton', value: 'Homewood Suites By Hilton' },
1744
+ { label: 'Hotel Indigo', value: 'Hotel Indigo' },
1745
+ { label: 'Hotel Sierra', value: 'Hotel Sierra' },
1746
+ { label: 'Hotusa', value: 'Hotusa' },
1747
+ { label: 'Howard Johnson', value: 'Howard Johnson' },
1748
+ { label: 'Hyatt', value: 'Hyatt' },
1749
+ { label: 'Ibis', value: 'Ibis' },
1750
+ { label: 'Indigo Hotels', value: 'Indigo Hotels' },
1751
+ { label: 'Innkeepers Lodge', value: 'Innkeepers Lodge' },
1752
+ { label: 'Inter Hotel', value: 'Inter Hotel' },
1753
+ { label: 'Intercontinental', value: 'Intercontinental' },
1754
+ { label: 'Interstate Htls/rsrts', value: 'Interstate Htls/rsrts' },
1755
+ { label: 'Jameson Inn', value: 'Jameson Inn' },
1756
+ { label: 'Joie De Vivre Hospitality', value: 'Joie De Vivre Hospitality' },
1757
+ { label: 'Jolly Hotels', value: 'Jolly Hotels' },
1758
+ { label: 'Jumeirah Hotels', value: 'Jumeirah Hotels' },
1759
+ { label: 'Jurys Hotel Group', value: 'Jurys Hotel Group' },
1760
+ { label: 'Kempinski Hotels', value: 'Kempinski Hotels' },
1761
+ { label: 'Keytel International', value: 'Keytel International' },
1762
+ { label: 'Kimpton Group', value: 'Kimpton Group' },
1763
+ { label: 'Knights Inn', value: 'Knights Inn' },
1764
+ { label: 'KSL Resorts', value: 'KSL Resorts' },
1765
+ { label: 'Kyriad Hotels', value: 'Kyriad Hotels' },
1766
+ { label: 'La Quinta Inns', value: 'La Quinta Inns' },
1767
+ { label: 'Lakeside Hotels', value: 'Lakeside Hotels' },
1768
+ { label: 'Lakeside International', value: 'Lakeside International' },
1769
+ { label: 'Le Meridien Hotels', value: 'Le Meridien Hotels' },
1770
+ {
1771
+ label: 'Leading Hotels Of The World',
1772
+ value: 'Leading Hotels Of The World'
1773
+ },
1774
+ { label: 'Legacy Hotels', value: 'Legacy Hotels' },
1775
+ { label: 'Lindner Hotels', value: 'Lindner Hotels' },
1776
+ { label: 'Loews', value: 'Loews' },
1777
+ { label: 'Luxe Worldwide Hotels', value: 'Luxe Worldwide Hotels' },
1778
+ { label: 'Lynch Group ', value: 'Lynch Group ' },
1779
+ { label: 'Macdonald Hotels', value: 'Macdonald Hotels' },
1780
+ { label: 'Magnolia Hotels', value: 'Magnolia Hotels' },
1781
+ { label: 'Mainstay Suites', value: 'Mainstay Suites' },
1782
+ { label: 'Maldron', value: 'Maldron' },
1783
+ { label: 'Malmaison', value: 'Malmaison' },
1784
+ { label: 'Mandarin Oriental', value: 'Mandarin Oriental' },
1785
+ { label: 'Mantra Group', value: 'Mantra Group' },
1786
+ { label: 'Marco Polo Hotels', value: 'Marco Polo Hotels' },
1787
+ { label: 'Maritim Hotels', value: 'Maritim Hotels' },
1788
+ { label: 'Maritime Inns and Resorts', value: 'Maritime Inns and Resorts' },
1789
+ { label: 'Marriott Hotels', value: 'Marriott Hotels' },
1790
+ { label: 'Menzies', value: 'Menzies' },
1791
+ { label: 'Mercure', value: 'Mercure' },
1792
+ { label: 'Mg Hotels', value: 'Mg Hotels' },
1793
+ { label: 'Mgm/mirage', value: 'Mgm/mirage' },
1794
+ { label: 'Microtel Inn & Suites', value: 'Microtel Inn & Suites' },
1795
+ { label: 'Minotel', value: 'Minotel' },
1796
+ { label: 'Mint Hotels', value: 'Mint Hotels' },
1797
+ { label: 'Moevenpick Hotels', value: 'Moevenpick Hotels' },
1798
+ { label: 'Montcalm Hotel Group', value: 'Montcalm Hotel Group' },
1799
+ { label: 'Moran Group', value: 'Moran Group' },
1800
+ { label: 'Morgans Hotel Group', value: 'Morgans Hotel Group' },
1801
+ { label: 'Motel 6', value: 'Motel 6' },
1802
+ { label: 'Myfidelio', value: 'Myfidelio' },
1803
+ { label: 'Myhotel', value: 'Myhotel' },
1804
+ { label: 'New Otani Hotels', value: 'New Otani Hotels' },
1805
+ { label: 'NH Hotels', value: 'NH Hotels' },
1806
+ { label: 'Nikko Hotels', value: 'Nikko Hotels' },
1807
+ { label: 'Nobles House Hotel', value: 'Nobles House Hotel' },
1808
+ { label: 'Non Branded Hotel', value: 'Non Branded Hotel' },
1809
+ { label: 'Novotel', value: 'Novotel' },
1810
+ { label: 'Oberoi Group Of Hotels', value: 'Oberoi Group Of Hotels' },
1811
+ { label: "O'Callaghan Hotels", value: "O'Callaghan Hotels" },
1812
+ { label: 'Occidental Hotels', value: 'Occidental Hotels' },
1813
+ { label: 'Omni Hotels', value: 'Omni Hotels' },
1814
+ { label: 'Orbis Hotels', value: 'Orbis Hotels' },
1815
+ { label: 'Orient Express Hotels', value: 'Orient Express Hotels' },
1816
+ { label: 'Outrigger Hotels', value: 'Outrigger Hotels' },
1817
+ {
1818
+ label: 'Oxford Hotel & Inns Managment Ltd',
1819
+ value: 'Oxford Hotel & Inns Managment Ltd'
1820
+ },
1821
+ { label: 'Pan Pacific Hotels', value: 'Pan Pacific Hotels' },
1822
+ { label: 'Park Inn International', value: 'Park Inn International' },
1823
+ { label: 'Park Plaza Hotels', value: 'Park Plaza Hotels' },
1824
+ { label: 'Park Plaza International', value: 'Park Plaza International' },
1825
+ { label: 'Parkhotel', value: 'Parkhotel' },
1826
+ { label: 'Peabody Hotels', value: 'Peabody Hotels' },
1827
+ { label: 'Pedersen Group', value: 'Pedersen Group' },
1828
+ { label: 'Peel Hotels', value: 'Peel Hotels' },
1829
+ { label: 'Peninsula Hotels', value: 'Peninsula Hotels' },
1830
+ {
1831
+ label: 'Preferred Hotels & Resorts Worldwide',
1832
+ value: 'Preferred Hotels & Resorts Worldwide'
1833
+ },
1834
+ { label: 'Prem Group', value: 'Prem Group' },
1835
+ { label: 'Premier Inn', value: 'Premier Inn' },
1836
+ { label: 'Prima Hotels', value: 'Prima Hotels' },
1837
+ { label: 'Prince Resorts', value: 'Prince Resorts' },
1838
+ {
1839
+ label: 'Principal Hayley Hotels & Conference Venues',
1840
+ value: 'Principal Hayley Hotels & Conference Venues'
1841
+ },
1842
+ { label: 'Protea Hotels', value: 'Protea Hotels' },
1843
+ { label: 'Pullman', value: 'Pullman' },
1844
+ { label: 'Punch Retail', value: 'Punch Retail' },
1845
+ { label: 'Purple Hotels', value: 'Purple Hotels' },
1846
+ { label: 'Q Hotels', value: 'Q Hotels' },
1847
+ { label: 'Quality Inns & Suites', value: 'Quality Inns & Suites' },
1848
+ { label: 'Radisson Blu Hotels', value: 'Radisson Blu Hotels' },
1849
+ { label: 'Radisson Edwardian Hotels', value: 'Radisson Edwardian Hotels' },
1850
+ { label: 'Radisson', value: 'Radisson' },
1851
+ { label: 'Raffles International', value: 'Raffles International' },
1852
+ { label: 'Ramada', value: 'Ramada' },
1853
+ { label: 'Reconline', value: 'Reconline' },
1854
+ { label: 'Red Carnation Hotels', value: 'Red Carnation Hotels' },
1855
+ { label: 'Red Roof Inns', value: 'Red Roof Inns' },
1856
+ { label: 'Regent International', value: 'Regent International' },
1857
+ { label: 'Relais & Chateaux', value: 'Relais & Chateaux' },
1858
+ { label: 'Relaxinnz', value: 'Relaxinnz' },
1859
+ { label: 'Rema Hotels', value: 'Rema Hotels' },
1860
+ { label: 'Renaissance Hotels', value: 'Renaissance Hotels' },
1861
+ { label: 'Reservhotel Intl', value: 'Reservhotel Intl' },
1862
+ { label: 'Residence Inns', value: 'Residence Inns' },
1863
+ { label: 'ResortQuest', value: 'ResortQuest' },
1864
+ { label: 'Rihga Royal Hotels', value: 'Rihga Royal Hotels' },
1865
+ { label: 'Ringhotels', value: 'Ringhotels' },
1866
+ { label: 'Ritz Carlton', value: 'Ritz Carlton' },
1867
+ { label: 'Roadchef', value: 'Roadchef' },
1868
+ { label: 'Rocco Forte Hotels', value: 'Rocco Forte Hotels' },
1869
+ { label: 'Rock Resorts', value: 'Rock Resorts' },
1870
+ { label: 'Rodeway Inns', value: 'Rodeway Inns' },
1871
+ { label: 'Rosewood Hotels', value: 'Rosewood Hotels' },
1872
+ { label: 'Rotana', value: 'Rotana' },
1873
+ { label: 'Rydges Hotel Group', value: 'Rydges Hotel Group' },
1874
+ { label: 'Saco Serviced Apartments', value: 'Saco Serviced Apartments' },
1875
+ { label: 'Sandman Hotels', value: 'Sandman Hotels' },
1876
+ { label: 'Sarova', value: 'Sarova' },
1877
+ { label: 'Savoy Group', value: 'Savoy Group' },
1878
+ { label: 'Scandic', value: 'Scandic' },
1879
+ { label: 'Select Hotels', value: 'Select Hotels' },
1880
+ {
1881
+ label: 'Self Catering Accommodation',
1882
+ value: 'Self Catering Accommodation'
1883
+ },
1884
+ { label: 'Sercotel', value: 'Sercotel' },
1885
+ { label: 'Seymour Hotels', value: 'Seymour Hotels' },
1886
+ {
1887
+ label: 'Shangri-La Hotels & Resorts',
1888
+ value: 'Shangri-La Hotels & Resorts'
1889
+ },
1890
+ { label: 'Sheraton Hotels', value: 'Sheraton Hotels' },
1891
+ { label: 'Shilo Inns', value: 'Shilo Inns' },
1892
+ { label: 'Shire Hotels Limited', value: 'Shire Hotels Limited' },
1893
+ { label: 'Sierra Suites', value: 'Sierra Suites' },
1894
+ { label: 'Sleep Inns', value: 'Sleep Inns' },
1895
+ { label: 'Sleepy Dragon Hotels', value: 'Sleepy Dragon Hotels' },
1896
+ {
1897
+ label: 'Small Luxury Hotels Of World',
1898
+ value: 'Small Luxury Hotels Of World'
1899
+ },
1900
+ { label: 'Sofitel', value: 'Sofitel' },
1901
+ { label: 'Sol / Melia Hotels', value: 'Sol / Melia Hotels' },
1902
+ { label: 'Sonesta Hotels', value: 'Sonesta Hotels' },
1903
+ { label: 'Sorat Hotels', value: 'Sorat Hotels' },
1904
+ { label: 'Southern Sun Hotels', value: 'Southern Sun Hotels' },
1905
+ { label: 'Spirit Hotels', value: 'Spirit Hotels' },
1906
+ { label: 'Springhill Suites', value: 'Springhill Suites' },
1907
+ { label: 'Starhotels', value: 'Starhotels' },
1908
+ { label: 'Staybridge Suites', value: 'Staybridge Suites' },
1909
+ { label: 'Stop Inn', value: 'Stop Inn' },
1910
+ { label: 'Studio 6', value: 'Studio 6' },
1911
+ { label: 'Suitehotel', value: 'Suitehotel' },
1912
+ { label: 'Summerfield Suites', value: 'Summerfield Suites' },
1913
+ { label: 'Summit Hotels', value: 'Summit Hotels' },
1914
+ { label: 'Super 8', value: 'Super 8' },
1915
+ { label: 'Supranational Hotels', value: 'Supranational Hotels' },
1916
+ { label: 'Surejogi Group', value: 'Surejogi Group' },
1917
+ { label: 'Swallow Hotels', value: 'Swallow Hotels' },
1918
+ { label: 'Swissotel', value: 'Swissotel' },
1919
+ { label: 'Synxis Corp', value: 'Synxis Corp' },
1920
+ { label: 'Taj Hotels & Resorts', value: 'Taj Hotels & Resorts' },
1921
+ { label: 'Thelsa Group', value: 'Thelsa Group' },
1922
+ { label: 'Thistle Hotels', value: 'Thistle Hotels' },
1923
+ { label: 'Tomahawk Hotels', value: 'Tomahawk Hotels' },
1924
+ { label: 'Top International Hotels', value: 'Top International Hotels' },
1925
+ { label: 'Tower Hotels Group', value: 'Tower Hotels Group' },
1926
+ { label: 'Towneplace Suites', value: 'Towneplace Suites' },
1927
+ { label: 'Travelclick', value: 'Travelclick' },
1928
+ { label: 'Travelodge International', value: 'Travelodge International' },
1929
+ { label: 'Travelodge UK & Ireland', value: 'Travelodge UK & Ireland' },
1930
+ { label: 'Trident Hotels', value: 'Trident Hotels' },
1931
+ { label: 'Una Hotels', value: 'Una Hotels' },
1932
+ { label: 'Unirez', value: 'Unirez' },
1933
+ { label: 'Universal Orlando', value: 'Universal Orlando' },
1934
+ { label: 'Utell', value: 'Utell' },
1935
+ { label: 'Vagabond Inns', value: 'Vagabond Inns' },
1936
+ { label: 'Van Der Valk Hotels', value: 'Van Der Valk Hotels' },
1937
+ { label: 'Village Hotels', value: 'Village Hotels' },
1938
+ { label: 'Von Essen Hotels', value: 'Von Essen Hotels' },
1939
+ { label: 'W Hotels', value: 'W Hotels' },
1940
+ { label: 'Warwick Hotels', value: 'Warwick Hotels' },
1941
+ { label: 'Westin Hotels', value: 'Westin Hotels' },
1942
+ { label: 'Westmark Hotels', value: 'Westmark Hotels' },
1943
+ { label: 'Wingate Hotels', value: 'Wingate Hotels' },
1944
+ { label: 'Woodfin Suites', value: 'Woodfin Suites' },
1945
+ { label: 'Worldhotels', value: 'Worldhotels' },
1946
+ { label: 'Worldres', value: 'Worldres' },
1947
+ { label: 'Wyndham', value: 'Wyndham' },
1948
+ { label: "Youngs & Co's Brewery", value: "Youngs & Co's Brewery" }
1949
+ ];
1950
+ var Airlines = [
1951
+ { label: '12 North', value: '12' },
1952
+ { label: '1time Airline', value: '1T' },
1953
+ { label: '3 Valleys Airlines', value: '3V' },
1954
+ { label: '40-mile Air', value: 'Q5' },
1955
+ { label: '88', value: '47' },
1956
+ { label: 'Aban Air', value: 'K5' },
1957
+ { label: 'Abelag Aviation', value: 'W9' },
1958
+ { label: 'Absa - Aerolinhas Brasileiras', value: 'M3' },
1959
+ { label: 'Abu Dhabi Amiri Flight', value: 'MO' },
1960
+ { label: 'Abx Air', value: 'GB' },
1961
+ { label: 'Access Air', value: 'ZA' },
1962
+ { label: 'Ada Air', value: 'ZY' },
1963
+ { label: 'Adam Air', value: 'KI' },
1964
+ { label: 'Adc Airlines', value: 'Z7' },
1965
+ { label: 'Adria Airways', value: 'JP' },
1966
+ { label: 'Aegean Airlines', value: 'A3' },
1967
+ { label: 'Aer Arann', value: 'RE' },
1968
+ { label: 'Aer Lingus', value: 'EI' },
1969
+ { label: 'Aereonautica Militare', value: 'JY' },
1970
+ { label: 'Aero Airlines', value: 'EE' },
1971
+ { label: 'Aero Asia International', value: 'E4' },
1972
+ { label: 'Aero Benin', value: 'EM' },
1973
+ { label: 'Aero Brazil', value: 'BZ' },
1974
+ { label: 'Aero California', value: 'JR' },
1975
+ { label: 'Aero Condor Peru', value: 'Q6' },
1976
+ { label: 'Aero Contractors', value: 'AJ' },
1977
+ { label: 'Aero Flight', value: 'GV' },
1978
+ { label: 'Aero Lanka', value: 'QL' },
1979
+ { label: 'Aero Lloyd (yp)', value: 'YP' },
1980
+ { label: 'Aero Mongolia', value: 'M0' },
1981
+ { label: 'Aero Services Executive', value: 'W4' },
1982
+ { label: 'Aero Vip', value: '2D' },
1983
+ { label: 'Aero-charter Ukraine', value: 'DW' },
1984
+ { label: 'Aero-service', value: 'BF' },
1985
+ { label: 'Aero-tropics Air Services', value: 'HC' },
1986
+ { label: 'Aerocondor', value: '2B' },
1987
+ { label: 'Aeroflot Russian Airlines', value: 'SU' },
1988
+ { label: 'Aeroflot-don', value: 'D9' },
1989
+ { label: 'Aerolane', value: 'XL' },
1990
+ { label: 'Aeroline Gmbh', value: '7E' },
1991
+ { label: 'Aerolineas Argentinas', value: 'AR' },
1992
+ { label: 'Aerolineas Galapagos (aerogal)', value: '2K' },
1993
+ { label: 'Aerolitoral', value: '5D' },
1994
+ { label: 'Aeromar', value: 'BQ' },
1995
+ { label: 'Aeromar', value: 'VW' },
1996
+ { label: 'Aeromexpress', value: 'QO' },
1997
+ { label: 'Aeromist-kharkiv', value: 'HT' },
1998
+ { label: 'Aerom�xico', value: 'AM' },
1999
+ { label: 'Aeropelican Air Services', value: 'OT' },
2000
+ { label: 'Aeroper', value: 'PL' },
2001
+ { label: 'Aerorep', value: 'P5' },
2002
+ { label: 'Aerosur', value: '5L' },
2003
+ { label: 'Aerosvit Airlines', value: 'VV' },
2004
+ { label: 'Aeroworld', value: 'W4' },
2005
+ { label: 'Africa West', value: 'FK' },
2006
+ { label: 'African Safari Airways', value: 'QS' },
2007
+ { label: 'Afrinat International Airlines', value: 'Q9' },
2008
+ { label: 'Afriqiyah Airways', value: '8U' },
2009
+ { label: 'Aguilar Connect', value: '3X' },
2010
+ { label: 'Aigle Azur', value: 'ZI' },
2011
+ { label: 'Air Afrique', value: 'RK' },
2012
+ { label: 'Air Algerie', value: 'AH' },
2013
+ { label: 'Air Alpha Greenland', value: 'GD' },
2014
+ { label: 'Air Alps Aviation', value: 'A6' },
2015
+ { label: 'Air Andaman (2y)', value: '2Y' },
2016
+ { label: 'Air Arabia Egypt', value: 'E5' },
2017
+ { label: 'Air Arabia', value: 'G9' },
2018
+ { label: 'Air Armenia', value: 'QN' },
2019
+ { label: 'Air Astana', value: 'KC' },
2020
+ { label: 'Air Atlanta Icelandic', value: 'CC' },
2021
+ { label: 'Air Atlantique', value: 'KI' },
2022
+ { label: 'Air Austral', value: 'UU' },
2023
+ { label: 'Air Bagan', value: 'W9' },
2024
+ { label: 'Air Baltic', value: 'BT' },
2025
+ { label: 'Air Bangladesh', value: 'B9' },
2026
+ { label: 'Air Berlin', value: 'AB' },
2027
+ { label: 'Air Bosna', value: 'JA' },
2028
+ { label: 'Air Botswana', value: 'BP' },
2029
+ { label: 'Air Bourbon', value: 'ZB' },
2030
+ { label: 'Air Burkina', value: '2J' },
2031
+ { label: 'Air Burundi', value: '8Y' },
2032
+ { label: 'Air Busan', value: 'BX' },
2033
+ { label: 'Air Cal', value: 'TY' },
2034
+ { label: 'Air Caledonie International', value: 'SB' },
2035
+ { label: 'Air Canada Jazz', value: 'QK' },
2036
+ { label: 'Air Canada', value: 'AC' },
2037
+ { label: 'Air Cara�bes', value: 'TX' },
2038
+ { label: 'Air Cargo Carriers', value: '2Q' },
2039
+ { label: 'Air Central', value: 'NV' },
2040
+ { label: 'Air Chathams', value: 'CV' },
2041
+ { label: 'Air China', value: 'CA' },
2042
+ { label: 'Air City', value: '4F' },
2043
+ { label: 'Air Class Lineas Aereas', value: 'QD' },
2044
+ { label: 'Air Comores International', value: 'GG' },
2045
+ { label: 'Air Contractors', value: 'AG' },
2046
+ { label: 'Air Corridor', value: 'QC' },
2047
+ { label: 'Air Dayiti', value: 'H9' },
2048
+ { label: 'Air Dolomiti', value: 'EN' },
2049
+ { label: 'Air Europa', value: 'UX' },
2050
+ { label: 'Air Europe', value: 'PE' },
2051
+ { label: 'Air Exel', value: 'XT' },
2052
+ { label: 'Air Fiji', value: 'PC' },
2053
+ { label: 'Air Finland', value: 'OF' },
2054
+ { label: 'Air Florida', value: 'QH' },
2055
+ { label: 'Air Foyle', value: 'GS' },
2056
+ { label: 'Air France', value: 'AF' },
2057
+ { label: 'Air Gabon', value: 'GN' },
2058
+ { label: 'Air Georgia', value: 'DA' },
2059
+ { label: 'Air Georgian', value: 'ZX' },
2060
+ { label: 'Air Glaciers', value: '7T' },
2061
+ { label: 'Air Greenland', value: 'GL' },
2062
+ { label: 'Air Guinee Express', value: '2U' },
2063
+ { label: 'Air Guyane', value: 'GG' },
2064
+ { label: 'Air Hamburg (aho)', value: 'HH' },
2065
+ { label: 'Air Hong Kong', value: 'LD' },
2066
+ { label: 'Air Horizon', value: '8C' },
2067
+ { label: 'Air Iceland', value: 'NY' },
2068
+ { label: 'Air India Express', value: 'IX' },
2069
+ { label: 'Air India Limited', value: 'AI' },
2070
+ { label: 'Air Indus', value: 'PP' },
2071
+ { label: 'Air Italy', value: 'I9' },
2072
+ { label: 'Air Ivoire', value: 'VU' },
2073
+ { label: 'Air Jamaica', value: 'JM' },
2074
+ { label: 'Air Japan', value: 'NQ' },
2075
+ { label: 'Air Kazakhstan', value: '9Y' },
2076
+ { label: 'Air Kiribati', value: '4A' },
2077
+ { label: 'Air Koryo', value: 'JS' },
2078
+ { label: 'Air Lithuania', value: 'TT' },
2079
+ { label: 'Air Lituanica', value: 'LT' },
2080
+ { label: 'Air Luxor Gb', value: 'L8' },
2081
+ { label: 'Air Luxor', value: 'LK' },
2082
+ { label: 'Air Macau', value: 'NX' },
2083
+ { label: 'Air Madagascar', value: 'MD' },
2084
+ { label: 'Air Madrid', value: 'NM' },
2085
+ { label: 'Air Malawi', value: 'QM' },
2086
+ { label: 'Air Malta', value: 'KM' },
2087
+ { label: 'Air Marshall Islands', value: 'CW' },
2088
+ { label: 'Air Mauritanie', value: 'MR' },
2089
+ { label: 'Air Mauritius', value: 'MK' },
2090
+ { label: 'Air Mediterranee', value: 'DR' },
2091
+ { label: 'Air Mekong', value: 'P8' },
2092
+ { label: 'Air Midwest', value: 'ZV' },
2093
+ { label: 'Air Mobility Command', value: 'MC' },
2094
+ { label: 'Air Moldova', value: '9U' },
2095
+ { label: 'Air Namibia', value: 'SW' },
2096
+ { label: 'Air New Zealand', value: 'NZ' },
2097
+ { label: 'Air Nippon Network Co. Ltd.', value: 'EH' },
2098
+ { label: 'Air Nippon', value: 'EL' },
2099
+ { label: 'Air Niugini', value: 'PX' },
2100
+ { label: 'Air North Charter - Canada', value: '4N' },
2101
+ { label: 'Air Nostrum', value: 'YW' },
2102
+ { label: 'Air One', value: 'AP' },
2103
+ { label: 'Air Pacific', value: 'FJ' },
2104
+ { label: 'Air Paradise International', value: 'AD' },
2105
+ { label: 'Air Pegasus', value: 'OP' },
2106
+ { label: 'Air Philippines', value: '2P' },
2107
+ { label: 'Air Plus Comet', value: 'A7' },
2108
+ { label: 'Air Rarotonga', value: 'GZ' },
2109
+ { label: 'Air S', value: 'KY' },
2110
+ { label: 'Air Sahara', value: 'S2' },
2111
+ { label: 'Air Saint Pierre', value: 'PJ' },
2112
+ { label: 'Air Salone', value: '20' },
2113
+ { label: 'Air Santo Domingo', value: 'EX' },
2114
+ { label: 'Air Senegal International', value: 'V7' },
2115
+ { label: 'Air Serbia', value: 'JU' },
2116
+ { label: 'Air Service Gabon', value: 'G8' },
2117
+ { label: 'Air Service', value: 'M3' },
2118
+ { label: 'Air Seychelles', value: 'HM' },
2119
+ { label: 'Air Sinai', value: '4D' },
2120
+ { label: 'Air Slovakia', value: 'GM' },
2121
+ { label: 'Air Srpska', value: 'RB' },
2122
+ { label: 'Air Tahiti Nui', value: 'TN' },
2123
+ { label: 'Air Tahiti', value: 'VT' },
2124
+ { label: 'Air Tanzania', value: 'TC' },
2125
+ { label: 'Air Togo', value: 'YT' },
2126
+ { label: 'Air Transat', value: 'TS' },
2127
+ { label: 'Air Transport International', value: '8C' },
2128
+ { label: 'Air Turks And Caicos', value: 'JY' },
2129
+ { label: 'Air Ukraine', value: '6U' },
2130
+ { label: 'Air Urga', value: '3N' },
2131
+ { label: 'Air Vanuatu', value: 'NF' },
2132
+ { label: 'Air Vegas', value: '6V' },
2133
+ { label: 'Air Via', value: 'VL' },
2134
+ { label: 'Air Vistara', value: 'UK' },
2135
+ { label: 'Air Wales', value: '6G' },
2136
+ { label: 'Air Wisconsin', value: 'ZW' },
2137
+ { label: 'Air Zimbabwe', value: 'UM' },
2138
+ { label: 'Airasia X', value: 'D7' },
2139
+ { label: 'Airasia', value: 'AK' },
2140
+ { label: 'Airblue', value: 'ED' },
2141
+ { label: 'Airborne Express', value: 'GB' },
2142
+ { label: 'Airbridge Cargo', value: 'RU' },
2143
+ { label: 'Airbus France', value: '4Y' },
2144
+ { label: 'Airbus Industrie', value: 'AP' },
2145
+ { label: 'Aircompany Yakutia', value: 'R3' },
2146
+ { label: 'Aires', value: '4C' },
2147
+ { label: 'Airlinair', value: 'A5' },
2148
+ { label: 'Airlines Of Tasmania', value: 'FO' },
2149
+ { label: 'Airlines Png', value: 'CG' },
2150
+ { label: 'Airlink Zambia', value: 'K8' },
2151
+ { label: 'Airnorth', value: 'TL' },
2152
+ { label: 'Airone Atlantic', value: '00' },
2153
+ { label: 'Airone Continental', value: '00' },
2154
+ { label: 'Airone Polska', value: 'U1' },
2155
+ { label: 'Airrussia', value: 'R8' },
2156
+ { label: 'Airstars', value: 'PL' },
2157
+ { label: 'Airtran Airways', value: 'FL' },
2158
+ { label: 'Alaska Airlines', value: 'AS' },
2159
+ { label: 'Alaska Central Express', value: 'KO' },
2160
+ { label: 'Albanian Airlines', value: 'LV' },
2161
+ { label: 'Albarka Air', value: 'F4' },
2162
+ { label: 'Alidaunia', value: 'D4' },
2163
+ { label: 'Alitalia Express', value: 'XM' },
2164
+ { label: 'Alitalia', value: 'AZ' },
2165
+ { label: 'All Africa', value: '9A' },
2166
+ { label: 'All America Ar', value: '2R' },
2167
+ { label: 'All America Bopy', value: '0P' },
2168
+ { label: 'All America Br', value: '1Y' },
2169
+ { label: 'All America Cl', value: '1R' },
2170
+ { label: 'All America Co', value: '0Y' },
2171
+ { label: 'All America Mx', value: '0M' },
2172
+ { label: 'All America Us', value: 'AG' },
2173
+ { label: 'All America', value: 'A2' },
2174
+ { label: 'All Argentina Express', value: 'Z0' },
2175
+ { label: 'All Argentina', value: 'L1' },
2176
+ { label: 'All Asia', value: 'L9' },
2177
+ { label: 'All Australia', value: '88' },
2178
+ { label: 'All Colombia', value: '7O' },
2179
+ { label: 'All Europe', value: 'N9' },
2180
+ { label: 'All Nippon Airways', value: 'NH' },
2181
+ { label: 'All Spain', value: 'N7' },
2182
+ { label: 'Allegiant Air', value: 'G4' },
2183
+ { label: 'Allegro', value: 'LL' },
2184
+ { label: 'Alliance Air', value: 'CD' },
2185
+ { label: 'Alliance Airlines', value: 'QQ' },
2186
+ { label: 'Almasria Universal Airlines', value: 'UJ' },
2187
+ { label: 'Aloha Airlines', value: 'AQ' },
2188
+ { label: 'Alpi Eagles', value: 'E8' },
2189
+ { label: 'Alpine Air Express', value: '5A' },
2190
+ { label: 'Alrosa Mirny Air Enterprise', value: '6R' },
2191
+ { label: 'Amadeus Global Travel Distribution', value: '1A' },
2192
+ { label: 'Amaszonas', value: 'Z8' },
2193
+ { label: 'Amber Air', value: '0A' },
2194
+ { label: 'America West Airlines', value: 'HP' },
2195
+ { label: 'American Airlines', value: 'AA' },
2196
+ { label: 'American Eagle Airlines', value: 'MQ' },
2197
+ { label: 'American Falcon', value: 'WK' },
2198
+ { label: 'Amerijet International', value: 'M6' },
2199
+ { label: 'Amsterdam Airlines', value: 'WD' },
2200
+ { label: 'Ansett Australia', value: 'AN' },
2201
+ { label: 'Antinea Airlines', value: 'HO' },
2202
+ { label: 'Antrak Air', value: '04' },
2203
+ { label: 'Aom French Airlines', value: 'IW' },
2204
+ { label: 'Apache Air', value: 'ZM' },
2205
+ { label: 'Arctic Circle Air Service', value: '5F' },
2206
+ { label: 'Arcus-air Logistic', value: 'ZE' },
2207
+ { label: 'Ariana Afghan Airlines', value: 'FG' },
2208
+ { label: 'Arik Air', value: 'W3' },
2209
+ { label: 'Arik Niger', value: 'Q9' },
2210
+ { label: 'Arkefly', value: 'OR' },
2211
+ { label: 'Arkia Israel Airlines', value: 'IZ' },
2212
+ { label: 'Armavia', value: 'U8' },
2213
+ { label: 'Armenian International Airways', value: 'MV' },
2214
+ { label: 'Arrow Air', value: 'JW' },
2215
+ { label: 'Aserca Airlines', value: 'R7' },
2216
+ { label: 'Asia Overnight Express', value: 'OE' },
2217
+ { label: 'Asia Wings', value: 'Y5' },
2218
+ { label: 'Asian Express Airlines', value: 'HJ' },
2219
+ { label: 'Asian Spirit', value: '6K' },
2220
+ { label: 'Asian Wings Airways', value: 'AW' },
2221
+ { label: 'Asiana Airlines', value: 'OZ' },
2222
+ { label: 'Askari Aviation', value: '4K' },
2223
+ { label: 'Astar Air Cargo', value: 'ER' },
2224
+ { label: 'Astraeus', value: '5W' },
2225
+ { label: 'Astrakhan Airlines', value: 'OB' },
2226
+ { label: 'Astral Aviation', value: '8V' },
2227
+ { label: 'Atifly', value: 'A1' },
2228
+ { label: 'Atlant-soyuz Airlines', value: '3G' },
2229
+ { label: 'Atlantic Airways', value: 'RC' },
2230
+ { label: 'Atlantic Southeast Airlines', value: 'EV' },
2231
+ { label: 'Atlantis European Airways', value: 'TD' },
2232
+ { label: 'Atlas Air', value: '5Y' },
2233
+ { label: 'Atlas Blue', value: '8A' },
2234
+ { label: 'Atlasjet', value: 'KK' },
2235
+ { label: 'Atran Cargo Airlines', value: 'V8' },
2236
+ { label: 'Atyrau Air Ways', value: 'IP' },
2237
+ { label: 'Augsburg Airways', value: 'IQ' },
2238
+ { label: 'Aurigny Air Services', value: 'GR' },
2239
+ { label: 'Aus-air', value: 'NO' },
2240
+ { label: 'Austral Lineas Aereas', value: 'AU' },
2241
+ { label: 'Australian Airlines', value: 'AO' },
2242
+ { label: 'Austrian Airlines', value: 'OS' },
2243
+ { label: 'Avcom', value: 'J6' },
2244
+ { label: 'Avensa', value: 'VE' },
2245
+ { label: 'Aviabus', value: 'U1' },
2246
+ { label: 'Aviaexpress', value: 'RX' },
2247
+ { label: 'Avialeasing Aviation Company', value: 'EC' },
2248
+ { label: 'Avianca - Aerovias Nacionales De Colombia', value: 'AV' },
2249
+ { label: 'Avient Aviation', value: 'Z3' },
2250
+ { label: 'Avies', value: 'U3' },
2251
+ { label: 'Avirex', value: 'G2' },
2252
+ { label: 'Avolar Aerolineas', value: 'V5' },
2253
+ { label: 'Aws Express', value: 'B0' },
2254
+ { label: 'Axis Airways', value: '6V' },
2255
+ { label: 'Azerbaijan Airlines', value: 'J2' },
2256
+ { label: 'Azul', value: 'AD' },
2257
+ { label: 'B&h Airlines', value: 'JA' },
2258
+ { label: 'BMI', value: 'BD' },
2259
+ { label: 'Ba Cityflyer', value: 'CJ' },
2260
+ { label: 'Bach Flugbetriebsges', value: 'B4' },
2261
+ { label: 'Bahamasair', value: 'UP' },
2262
+ { label: 'Baikotovitchestrian Airlines', value: 'BU' },
2263
+ { label: 'Baker Aviation', value: '8Q' },
2264
+ { label: 'Bal Bashkirian Airlines', value: 'V9' },
2265
+ { label: 'Baltic Air Lines', value: 'B1' },
2266
+ { label: 'Bangkok Airways', value: 'PG' },
2267
+ { label: 'Bankair', value: 'B4' },
2268
+ { label: 'Barents Airlink', value: '8N' },
2269
+ { label: 'Bassaka Airlines', value: '5B' },
2270
+ { label: 'Bayu Indonesia Air', value: 'BM' },
2271
+ { label: 'Bearskin Lake Air Service', value: 'JV' },
2272
+ { label: 'Belair Airlines', value: '4T' },
2273
+ { label: 'Belavia Belarusian Airlines', value: 'B2' },
2274
+ { label: 'Bellview Airlines', value: 'B3' },
2275
+ { label: 'Bemidji Airlines', value: 'CH' },
2276
+ { label: 'Benin Golf Air', value: 'A8' },
2277
+ { label: 'Bering Air', value: '8E' },
2278
+ { label: 'Berjaya Air', value: 'J8' },
2279
+ { label: 'Big Sky Airlines', value: 'GQ' },
2280
+ { label: 'Biman Bangladesh Airlines', value: 'BG' },
2281
+ { label: 'Binter Canarias', value: 'NT' },
2282
+ { label: 'Bismillah Airlines', value: '5Z' },
2283
+ { label: 'Black Stallion Airways', value: 'BZ' },
2284
+ { label: 'Blue Air', value: '0B' },
2285
+ { label: 'Blue Dart Aviation', value: 'BZ' },
2286
+ { label: 'Blue Panorama Airlines', value: 'BV' },
2287
+ { label: 'Blue Sky America', value: 'BU' },
2288
+ { label: 'Blue Wings', value: 'QW' },
2289
+ { label: 'Blue1', value: 'KF' },
2290
+ { label: 'Bluebird Cargo', value: 'BF' },
2291
+ { label: 'Bmibaby', value: 'WW' },
2292
+ { label: 'Boston-maine Airways', value: 'E9' },
2293
+ { label: 'Bouraq Indonesia Airlines', value: 'BO' },
2294
+ { label: 'Boutique Air (priv)', value: '4B' },
2295
+ { label: 'Bra-transportes Aereos', value: '7R' },
2296
+ { label: 'Braathens', value: 'BU' },
2297
+ { label: 'Braniff International Airways', value: 'BN' },
2298
+ { label: 'Bravo Air Congo', value: 'K6' },
2299
+ { label: 'Brazil Air', value: 'GB' },
2300
+ { label: 'Brit Air', value: 'DB' },
2301
+ { label: 'British Airways', value: 'BA' },
2302
+ { label: 'British International Helicopters', value: 'BS' },
2303
+ { label: 'British Mediterranean Airways', value: 'KJ' },
2304
+ { label: 'Brussels Airlines', value: 'SN' },
2305
+ { label: 'Budgetair', value: '1K' },
2306
+ { label: 'Buffalo Airways', value: 'J4' },
2307
+ { label: 'Bulgaria Air', value: 'FB' },
2308
+ { label: 'Buquebus L�neas A�reas', value: 'BQ' },
2309
+ { label: 'Businessair', value: '8B' },
2310
+ { label: 'Buzz', value: 'UK' },
2311
+ { label: 'Cal Cargo Air Lines', value: '5C' },
2312
+ { label: 'California Western', value: 'KT' },
2313
+ { label: 'Calima Aviacion', value: 'XG' },
2314
+ { label: 'Calm Air', value: 'MO' },
2315
+ { label: 'Camai Air', value: 'R9' },
2316
+ { label: 'Cameroon Airlines', value: 'UY' },
2317
+ { label: 'Canadian Airlines', value: 'CP' },
2318
+ { label: 'Canadian National Airways', value: 'CN' },
2319
+ { label: 'Canadian North', value: '5T' },
2320
+ { label: 'Canadian Western Airlines', value: 'W2' },
2321
+ { label: 'Canadian World', value: '10' },
2322
+ { label: 'Canjet', value: 'C6' },
2323
+ { label: 'Canxplorer', value: 'C2' },
2324
+ { label: 'Canxpress', value: 'C1' },
2325
+ { label: 'Cape Air', value: '9K' },
2326
+ { label: 'Capital Cargo International Airlines', value: 'PT' },
2327
+ { label: 'Cargo 360', value: 'GG' },
2328
+ { label: 'Cargo Plus Aviation', value: '8L' },
2329
+ { label: 'Cargoitalia', value: '2G' },
2330
+ { label: 'Cargojet Airways', value: 'W8' },
2331
+ { label: 'Cargolux', value: 'CV' },
2332
+ { label: 'Caribbean Airlines', value: 'BW' },
2333
+ { label: 'Caribbean Star Airlines', value: '8B' },
2334
+ { label: 'Caribbean Wings', value: 'XP' },
2335
+ { label: 'Carpatair', value: 'V3' },
2336
+ { label: 'Caspian Airlines', value: 'RV' },
2337
+ { label: 'Cathay Pacific', value: 'CX' },
2338
+ { label: 'Cayman Airways', value: 'KX' },
2339
+ { label: 'Cb Airways Uk ( Interliging Flights )', value: '1F' },
2340
+ { label: 'Ccml Airlines', value: 'CB' },
2341
+ { label: 'Cebu Pacific', value: '5J' },
2342
+ { label: 'Centavia', value: '7N' },
2343
+ { label: 'Centralwings', value: 'C0' },
2344
+ { label: 'Centre-avia', value: 'J7' },
2345
+ { label: 'Centurion Air Cargo', value: 'WE' },
2346
+ { label: 'Chalks Ocean Airways', value: 'OP' },
2347
+ { label: 'Champion Air', value: 'MG' },
2348
+ { label: 'Changan Airlines', value: '2Z' },
2349
+ { label: 'Chari Aviation Services', value: 'S8' },
2350
+ { label: 'Chautauqua Airlines', value: 'RP' },
2351
+ { label: 'Chc Airways', value: 'AW' },
2352
+ { label: 'Cheapflyinginternational', value: 'WL' },
2353
+ { label: 'Chicago Express', value: 'C8' },
2354
+ { label: 'China Airlines', value: 'CI' },
2355
+ { label: 'China Cargo Airlines', value: 'CK' },
2356
+ { label: 'China Eastern Airlines', value: 'MU' },
2357
+ { label: 'China Northern Airlines', value: 'CJ' },
2358
+ { label: 'China Northwest Airlines', value: 'WH' },
2359
+ { label: 'China Postal Airlines', value: '8Y' },
2360
+ { label: 'China Southern Airlines', value: 'CZ' },
2361
+ { label: 'China United Airlines', value: 'HR' },
2362
+ { label: 'China Xinhua Airlines', value: 'XO' },
2363
+ { label: 'Chitaavia', value: 'X7' },
2364
+ { label: 'Chongqing Airlines', value: 'OQ' },
2365
+ { label: 'Ciel Canadien', value: 'YC' },
2366
+ { label: 'Cielos Airlines', value: 'A2' },
2367
+ { label: 'Cimber Air', value: 'QI' },
2368
+ { label: 'Cirrus Airlines', value: 'C9' },
2369
+ { label: 'City Airline', value: 'CF' },
2370
+ { label: 'City Airways', value: 'E8' },
2371
+ { label: 'City Connexion Airlines', value: 'G3' },
2372
+ { label: 'Cityjet', value: 'WX' },
2373
+ { label: 'Civil Air Transport', value: 'CT' },
2374
+ { label: 'Club Air', value: '6P' },
2375
+ { label: 'Coast Air', value: 'BX' },
2376
+ { label: 'Colgan Air', value: '9L' },
2377
+ { label: 'Comair', value: 'MN' },
2378
+ { label: 'Comair', value: 'OH' },
2379
+ { label: 'Commutair', value: 'C5' },
2380
+ { label: 'Comores Airlines', value: 'KR' },
2381
+ { label: 'Compania Mexicargo', value: 'GJ' },
2382
+ { label: 'Compass Airlines', value: 'CP' },
2383
+ { label: 'Condor Flugdienst', value: 'DE' },
2384
+ { label: 'Consorcio Aviaxsa', value: '6A' },
2385
+ { label: 'Contact Air', value: 'C3' },
2386
+ { label: 'Continental Airlines', value: 'CO' },
2387
+ { label: 'Continental Airways', value: 'PC' },
2388
+ { label: 'Continental Micronesia', value: 'CS' },
2389
+ { label: 'Conviasa', value: 'V0' },
2390
+ { label: 'Copa Airlines', value: 'CM' },
2391
+ { label: 'Copenhagen Express', value: '0X' },
2392
+ { label: 'Corsairfly', value: 'SS' },
2393
+ { label: 'Corse-mediterranee', value: 'XK' },
2394
+ { label: 'Cosmic Air', value: 'F5' },
2395
+ { label: 'Croatia Airlines', value: 'OU' },
2396
+ { label: 'Crossair Europe', value: 'QE' },
2397
+ { label: 'Cubana De Aviaci�n', value: 'CU' },
2398
+ { label: 'Cyprus Airways', value: 'CY' },
2399
+ { label: 'Czech Airlines', value: 'OK' },
2400
+ { label: 'DBA', value: 'DI' },
2401
+ { label: 'Daallo Airlines', value: 'D3' },
2402
+ { label: 'Dagestan Airlines', value: 'N2' },
2403
+ { label: 'Dalavia', value: 'H8' },
2404
+ { label: 'Darwin Airline', value: '0D' },
2405
+ { label: 'Das Air Cargo', value: 'WD' },
2406
+ { label: 'Dat Danish Air Transport', value: 'DX' },
2407
+ { label: 'Dauair', value: 'D5' },
2408
+ { label: 'Delta Air Lines', value: 'DL' },
2409
+ { label: 'Dennis Sky', value: 'DH' },
2410
+ { label: 'Dense Airways', value: 'KP' },
2411
+ { label: 'Dense Connection', value: 'KZ' },
2412
+ { label: 'Deutsche Luftverkehrsgesellschaft (dlt)', value: 'DW' },
2413
+ { label: 'Deutsche Luftverkehrsgesellschaft', value: 'DW' },
2414
+ { label: 'Deutsche Rettungsflugwacht', value: '1I' },
2415
+ { label: 'Dhl De Guatemala', value: 'L3' },
2416
+ { label: 'Dhl International', value: 'ES' },
2417
+ { label: 'Dinar', value: 'D7' },
2418
+ { label: 'Dirgantara Air Service', value: 'AW' },
2419
+ { label: 'Discovery Airways', value: 'DH' },
2420
+ { label: 'Djibouti Airlines', value: 'D8' },
2421
+ { label: 'Dobrolet', value: 'QD' },
2422
+ { label: 'Domenican Airlines', value: 'D1' },
2423
+ { label: 'Dominicana De Aviaci', value: 'DO' },
2424
+ { label: 'Domodedovo Airlines', value: 'E3' },
2425
+ { label: 'Donbassaero', value: '5D' },
2426
+ { label: 'Dragonair', value: 'KA' },
2427
+ { label: 'Druk Air', value: 'KB' },
2428
+ { label: 'East African Safari Air', value: 'S9' },
2429
+ { label: 'East African', value: 'QU' },
2430
+ { label: 'Eastar Jet', value: 'ZE' },
2431
+ { label: 'Eastern Airways', value: 'T3' },
2432
+ { label: 'Eastern Atlantic Virtual Airlines', value: '13' },
2433
+ { label: 'Eastland Air', value: 'DK' },
2434
+ { label: 'Eastwind Airlines', value: 'W9' },
2435
+ { label: 'Easyjet', value: 'U2' },
2436
+ { label: 'Edelweiss Air', value: 'WK' },
2437
+ { label: 'Egyptair', value: 'MS' },
2438
+ { label: 'El Al Israel Airlines', value: 'LY' },
2439
+ { label: 'El-buraq Air Transport', value: 'UZ' },
2440
+ { label: 'Elk Airways', value: '--' },
2441
+ { label: 'Elysian Airlines', value: 'E4' },
2442
+ { label: 'Emirates', value: 'EK' },
2443
+ { label: 'Empire Airlines', value: 'EM' },
2444
+ { label: 'Empresa Ecuatoriana De Aviacion', value: 'EU' },
2445
+ { label: 'Enkor Jsc', value: 'G8' },
2446
+ { label: 'Eos Airlines', value: 'E0' },
2447
+ { label: 'Epic Holiday', value: 'FA' },
2448
+ { label: 'Era Alaska', value: '7H' },
2449
+ { label: 'Eritrean Airlines', value: 'B8' },
2450
+ { label: 'Estafeta Carga Aerea', value: 'E7' },
2451
+ { label: 'Estonian Air', value: 'OV' },
2452
+ { label: 'Ethiopian Airlines', value: 'ET' },
2453
+ { label: 'Etihad Airways', value: 'EY' },
2454
+ { label: 'Eujet', value: 'VE' },
2455
+ { label: 'Euro Harmony', value: 'EH' },
2456
+ { label: 'Eurocypria Airlines', value: 'UI' },
2457
+ { label: 'Eurofly Service', value: 'GJ' },
2458
+ { label: 'Euroline', value: '4L' },
2459
+ { label: 'Eurolot', value: 'K2' },
2460
+ { label: 'Euromanx Airways', value: '3W' },
2461
+ { label: 'Europe Jet', value: 'EX' },
2462
+ { label: 'European Air Express', value: 'EA' },
2463
+ { label: 'European Air Transport', value: 'QY' },
2464
+ { label: 'European Aviation Air Charter', value: 'E7' },
2465
+ { label: 'Europesky', value: 'ES' },
2466
+ { label: 'Eurowings', value: 'EW' },
2467
+ { label: 'Eva Air', value: 'BR' },
2468
+ { label: 'Evergreen International Airlines', value: 'EZ' },
2469
+ { label: 'Excel Airways', value: 'JN' },
2470
+ { label: 'Execair Aviation', value: 'MB' },
2471
+ { label: 'Executive Airlines', value: 'OW' },
2472
+ { label: 'Expo Aviation', value: '8D' },
2473
+ { label: 'Express One International', value: 'EO' },
2474
+ { label: 'Expressjet', value: 'XE' },
2475
+ { label: 'Far Eastern Air Transport', value: 'EF' },
2476
+ { label: 'Faroejet', value: 'F6' },
2477
+ { label: 'Faso Airways', value: 'F3' },
2478
+ { label: 'Federal Express', value: 'FX' },
2479
+ { label: 'Felix Airways', value: 'FU' },
2480
+ { label: 'Fika Salaama Airlines', value: 'N8' },
2481
+ { label: 'Finalair Congo', value: '4S' },
2482
+ { label: 'Finnair', value: 'AY' },
2483
+ { label: 'Finncomm Airlines', value: 'FC' },
2484
+ { label: 'Firefly', value: 'FY' },
2485
+ { label: 'First Air', value: '7F' },
2486
+ { label: 'First Choice Airways', value: 'DP' },
2487
+ { label: 'Fischer Air', value: '8F' },
2488
+ { label: 'Flightline', value: 'B5' },
2489
+ { label: 'Florida Coastal Airlines', value: 'PA' },
2490
+ { label: 'Florida West International Airways', value: 'RF' },
2491
+ { label: 'Fly Air', value: 'F2' },
2492
+ { label: 'Fly Brasil', value: 'F1' },
2493
+ { label: 'Fly Colombia ( Interliging Flights )', value: '3F' },
2494
+ { label: 'Fly Dubai', value: 'FZ' },
2495
+ { label: 'Fly Europa', value: 'ER' },
2496
+ { label: 'Fly France', value: 'FF' },
2497
+ { label: 'Fly Illi', value: 'IL' },
2498
+ { label: 'Fly Me Sweden', value: 'SH' },
2499
+ { label: 'Fly One', value: 'F5' },
2500
+ { label: 'Fly Romania', value: 'X5' },
2501
+ { label: 'Fly540', value: '5H' },
2502
+ { label: 'Flybaboo', value: 'F7' },
2503
+ { label: 'Flybe', value: 'BE' },
2504
+ { label: 'Flyglobespan', value: 'B4' },
2505
+ { label: 'Flyhigh Airlines Ireland (fh)', value: 'FH' },
2506
+ { label: 'Flylal', value: 'TE' },
2507
+ { label: 'Flynordic', value: 'LF' },
2508
+ { label: 'Flyportugal', value: 'PO' },
2509
+ { label: 'Formosa Airlines', value: 'VY' },
2510
+ { label: 'Four Star Aviation / Four Star Cargo', value: 'HK' },
2511
+ { label: 'Fox Linhas Aereas', value: 'FX' },
2512
+ { label: 'Fra Air', value: 'X9' },
2513
+ { label: 'Freedom Air', value: 'FP' },
2514
+ { label: 'Frontier Airlines', value: 'F9' },
2515
+ { label: 'Frontier Flying Service', value: '2F' },
2516
+ { label: 'Futura International Airways', value: 'FH' },
2517
+ { label: 'Gabon Airlines', value: 'GY' },
2518
+ { label: 'Gadair European Airlines', value: 'GP' },
2519
+ { label: 'Galaxy Air', value: '7O' },
2520
+ { label: 'Gambia International Airlines', value: 'GC' },
2521
+ { label: 'Gandalf Airlines', value: 'G7' },
2522
+ { label: 'Garuda Indonesia', value: 'GA' },
2523
+ { label: 'Gazpromavia', value: '4G' },
2524
+ { label: 'Gb Airways', value: 'GT' },
2525
+ { label: 'Gemini Air Cargo', value: 'GR' },
2526
+ { label: 'Georgian Airways', value: 'A9' },
2527
+ { label: 'Georgian National Airlines', value: 'QB' },
2528
+ { label: 'German International Air Lines', value: 'GM' },
2529
+ { label: 'Germania', value: 'ST' },
2530
+ { label: 'Germanwings', value: '4U' },
2531
+ { label: 'Germanxl', value: 'GX' },
2532
+ { label: 'Gestair', value: 'GP' },
2533
+ { label: 'Ghana International Airlines', value: 'G0' },
2534
+ { label: 'Global Airlines', value: '0G' },
2535
+ { label: 'Global Freightways', value: 'F5' },
2536
+ { label: 'Globus', value: 'GH' },
2537
+ { label: 'Go Air', value: 'G8' },
2538
+ { label: 'Godutch', value: 'GD' },
2539
+ { label: 'Gojet Airlines', value: 'G7' },
2540
+ { label: 'Gol Transportes A�reos', value: 'G3' },
2541
+ { label: 'Golden Air', value: 'DC' },
2542
+ { label: 'Gorkha Airlines', value: 'G1' },
2543
+ { label: 'Grant Aviation', value: 'GS' },
2544
+ { label: 'Great Lakes Airlines', value: 'ZK' },
2545
+ { label: 'Great Wall Airlines', value: 'IJ' },
2546
+ { label: 'Greenfly', value: 'XX' },
2547
+ { label: 'Grupo Taca', value: 'TA' },
2548
+ { label: 'Guine Bissaur Airlines', value: 'G6' },
2549
+ { label: 'Guinee Airlines', value: 'J9' },
2550
+ { label: 'Gujarat Airways', value: 'G8' },
2551
+ { label: 'Gulf Air Bahrain', value: 'GF' },
2552
+ { label: 'Gulisano Airways', value: 'GU' },
2553
+ { label: 'Hageland Aviation Services', value: 'H6' },
2554
+ { label: 'Hahn Air', value: 'HR' },
2555
+ { label: 'Hainan Airlines', value: 'HU' },
2556
+ { label: 'Haiti Ambassador Airlines', value: '2T' },
2557
+ { label: 'Hamburg International', value: '4R' },
2558
+ { label: 'Hankook Air Us', value: 'H1' },
2559
+ { label: 'Hankook Airline', value: 'HN' },
2560
+ { label: 'Hapagfly', value: 'HF' },
2561
+ { label: 'Harbor Airlines', value: 'HB' },
2562
+ { label: 'Harmony Airways', value: 'HQ' },
2563
+ { label: 'Hawaiian Airlines', value: 'HA' },
2564
+ { label: 'Heavylift Cargo Airlines', value: 'HN' },
2565
+ { label: 'Heli France', value: '8H' },
2566
+ { label: 'Helijet', value: 'JB' },
2567
+ { label: 'Helios Airways', value: 'ZU' },
2568
+ { label: 'Hellas Jet', value: 'T4' },
2569
+ { label: 'Hellenic Airways', value: '1H' },
2570
+ { label: 'Hellenic Imperial Airways', value: 'HT' },
2571
+ { label: 'Hello', value: 'HW' },
2572
+ { label: 'Helvetic Airways', value: '2L' },
2573
+ { label: 'Hemus Air', value: 'DU' },
2574
+ { label: 'Hewa Bora Airways', value: 'EO' },
2575
+ { label: 'Hexair', value: 'UD' },
2576
+ { label: 'Hi Fly', value: '5K' },
2577
+ { label: 'Himalayan Airlines', value: 'HC' },
2578
+ { label: 'Hokkaido International Airlines', value: 'HD' },
2579
+ { label: 'Hola Airlines', value: 'H5' },
2580
+ { label: 'Homer Air', value: 'MR' },
2581
+ { label: 'Hong Kong Airlines', value: 'HX' },
2582
+ { label: 'Hong Kong Express Airways', value: 'UO' },
2583
+ { label: 'Horizon Air', value: 'QX' },
2584
+ { label: 'Horizon Airlines', value: 'BN' },
2585
+ { label: 'I-fly', value: 'H5' },
2586
+ { label: 'Ibc Airways', value: 'II' },
2587
+ { label: 'Iberia Airlines', value: 'IB' },
2588
+ { label: 'Iberia Express', value: 'I2' },
2589
+ { label: 'Iberworld', value: 'TY' },
2590
+ { label: 'Ibex Airlines', value: 'FW' },
2591
+ { label: 'Icelandair', value: 'FI' },
2592
+ { label: 'Illinois Airways', value: 'IL' },
2593
+ { label: 'Imair Airlines', value: 'IK' },
2594
+ { label: 'Inavia Internacional', value: 'Z5' },
2595
+ { label: 'Independence Air', value: 'DH' },
2596
+ { label: 'Indian Airlines', value: 'IC' },
2597
+ { label: 'Indigo Airlines', value: '6E' },
2598
+ { label: 'Indigo', value: 'I9' },
2599
+ { label: 'Indonesia Airasia', value: 'QZ' },
2600
+ { label: 'Indonesia Sky', value: 'I5' },
2601
+ { label: 'Indonesian Airlines', value: 'IO' },
2602
+ { label: 'Indya Airline Group', value: 'G1' },
2603
+ { label: 'Intelijet Airways', value: 'IJ' },
2604
+ { label: 'Inter Islands Airlines', value: 'H4' },
2605
+ { label: 'Interair South Africa', value: 'D6' },
2606
+ { label: 'Interavia Airlines', value: 'ZA' },
2607
+ { label: 'Intercontinental De Aviaci', value: 'RS' },
2608
+ { label: 'Interlink Airlines', value: 'ID' },
2609
+ { label: 'International Business Air', value: '6I' },
2610
+ { label: 'International Europe', value: '9I' },
2611
+ { label: 'Intersky', value: '3L' },
2612
+ { label: 'Interstate Airline', value: 'I4' },
2613
+ { label: 'Iran Air', value: 'IR' },
2614
+ { label: 'Iran Aseman Airlines', value: 'EP' },
2615
+ { label: 'Iraqi Airways', value: 'IA' },
2616
+ { label: 'Island Air (wp)', value: 'WP' },
2617
+ { label: 'Island Express', value: '2S' },
2618
+ { label: 'Island Spirit', value: 'IP' },
2619
+ { label: 'Islas Airways', value: 'IF' },
2620
+ { label: 'Islena De Inversiones', value: 'WC' },
2621
+ { label: 'Israir', value: '6H' },
2622
+ { label: 'Itali Airlines', value: '9X' },
2623
+ { label: 'Itek Air', value: 'GI' },
2624
+ { label: 'Izair', value: 'H9' },
2625
+ { label: 'Jal Express', value: 'JC' },
2626
+ { label: 'Jalways', value: 'JO' },
2627
+ { label: 'Japan Air System', value: 'JD' },
2628
+ { label: 'Japan Airlines Domestic', value: 'JL' },
2629
+ { label: 'Japan Airlines', value: 'JL' },
2630
+ { label: 'Japan Asia Airways', value: 'EG' },
2631
+ { label: 'Japan Regio', value: 'ZX' },
2632
+ { label: 'Japan Transocean Air', value: 'NU' },
2633
+ { label: 'Jat Airways', value: 'JU' },
2634
+ { label: 'Jatayu Airlines', value: 'VJ' },
2635
+ { label: 'Jayrow', value: ',,' },
2636
+ { label: 'Jazeera Airways', value: 'J9' },
2637
+ { label: 'Jeju Air', value: '7C' },
2638
+ { label: 'Jet Airways', value: '9W' },
2639
+ { label: 'Jet2.com', value: 'LS' },
2640
+ { label: 'Jet4you', value: '8J' },
2641
+ { label: 'Jetairfly', value: 'JF' },
2642
+ { label: 'Jetblue Airways', value: 'B6' },
2643
+ { label: 'Jetclub', value: '0J' },
2644
+ { label: 'Jetsgo', value: 'SG' },
2645
+ { label: 'Jetstar Airways', value: 'JQ' },
2646
+ { label: 'Jetstar Asia Airways', value: '3K' },
2647
+ { label: 'Jetstar Pacific', value: 'BL' },
2648
+ { label: 'Jett8 Airlines Cargo', value: 'JX' },
2649
+ { label: 'Jettor Airlines', value: 'NR' },
2650
+ { label: 'Jetx Airlines', value: 'GX' },
2651
+ { label: 'Jin Air', value: 'LJ' },
2652
+ { label: 'Jordan Aviation', value: 'R5' },
2653
+ { label: 'Joy Air', value: 'JR' },
2654
+ { label: 'Juneyao Airlines', value: 'HO' },
2655
+ { label: 'Jusur Airways', value: 'JX' },
2656
+ { label: 'KSY', value: 'KY' },
2657
+ { label: 'Kabo Air', value: 'N2' },
2658
+ { label: 'Kalitta Air', value: 'K4' },
2659
+ { label: 'Kam Air', value: 'RQ' },
2660
+ { label: 'Kampuchea Airlines', value: 'E2' },
2661
+ { label: 'Karat', value: 'V2' },
2662
+ { label: 'Kavminvodyavia', value: 'KV' },
2663
+ { label: 'Kd Avia', value: 'KD' },
2664
+ { label: 'Kenmore Air', value: 'M5' },
2665
+ { label: 'Kenya Airways', value: 'KQ' },
2666
+ { label: 'Keystone Air Services', value: 'BZ' },
2667
+ { label: 'Kharkiv Airlines', value: 'KH' },
2668
+ { label: 'Kibris T', value: 'KY' },
2669
+ { label: 'Kingfisher Airlines', value: 'IT' },
2670
+ { label: 'Kish Air', value: 'Y9' },
2671
+ { label: 'Kiwi International Air Lines', value: 'KP' },
2672
+ { label: 'Klm Cityhopper', value: 'WA' },
2673
+ { label: 'Klm Royal Dutch Airlines', value: 'KL' },
2674
+ { label: 'Kogalymavia Air Company', value: '7K' },
2675
+ { label: 'Komiinteravia', value: '8J' },
2676
+ { label: 'Koralblue Airlines', value: 'K7' },
2677
+ { label: 'Korean Air', value: 'KE' },
2678
+ { label: 'Korongo Airlines', value: 'ZC' },
2679
+ { label: 'Kostromskie Avialinii', value: 'K1' },
2680
+ { label: 'Krasnojarsky Airlines', value: '7B' },
2681
+ { label: 'Krylo Airlines', value: 'K9' },
2682
+ { label: 'Kuban Airlines', value: 'GW' },
2683
+ { label: 'Kunpeng Airlines', value: 'VD' },
2684
+ { label: 'Kuwait Airways', value: 'KU' },
2685
+ { label: 'Kuzu Airlines Cargo', value: 'GO' },
2686
+ { label: 'Kyrgyz Airlines', value: 'N5' },
2687
+ { label: 'Kyrgyzstan Airlines', value: 'R8' },
2688
+ { label: 'Kyrgyzstan', value: 'QH' },
2689
+ { label: 'L', value: 'MJ' },
2690
+ { label: 'L.a.b. Flying Service', value: 'JF' },
2691
+ { label: 'Lacsa', value: 'LR' },
2692
+ { label: 'Lagun Air', value: 'N6' },
2693
+ { label: 'Lai - Linea Aerea Iaaca', value: 'KG' },
2694
+ { label: 'Lan Airlines', value: 'LA' },
2695
+ { label: 'Lan Argentina', value: '4M' },
2696
+ { label: 'Lan Express', value: 'LU' },
2697
+ { label: 'Lan Peru', value: 'LP' },
2698
+ { label: 'Lankair', value: 'IK' },
2699
+ { label: 'Lao Airlines', value: 'QV' },
2700
+ { label: 'Laoag International Airlines', value: 'L7' },
2701
+ { label: 'Lauda Air', value: 'NG' },
2702
+ { label: 'Lcm Airlines', value: 'LQ' },
2703
+ { label: 'Lebanese Air Transport', value: 'LQ' },
2704
+ { label: 'Leeward Islands Air Transport', value: 'LI' },
2705
+ { label: 'Liberty Airways', value: 'LE' },
2706
+ { label: 'Libyan Arab Airlines', value: 'LN' },
2707
+ { label: 'Line Blue', value: 'L8' },
2708
+ { label: 'Linea Aerea De Servicio Ejecutivo Regional', value: '8Z' },
2709
+ { label: 'Linea Aerea Sapsa', value: 'L7' },
2710
+ { label: 'Linea Turistica Aerotuy', value: 'LD' },
2711
+ { label: 'Lineas Aereas Azteca', value: 'ZE' },
2712
+ { label: 'Linhas A', value: 'LM' },
2713
+ { label: 'Lion Mentari Airlines', value: 'JT' },
2714
+ { label: 'Lionxpress', value: 'C4' },
2715
+ { label: 'Livingston', value: 'LM' },
2716
+ { label: 'Llloyd Helicopters', value: '::' },
2717
+ { label: 'Lloyd Aereo Boliviano', value: 'LB' },
2718
+ { label: 'Locair', value: 'ZQ' },
2719
+ { label: 'Lot Polish Airlines', value: 'LO' },
2720
+ { label: 'Lsm Airlines', value: 'PQ' },
2721
+ { label: 'Lsm Airlines', value: 'YZ' },
2722
+ { label: 'Lsm International', value: 'II' },
2723
+ { label: 'Lte International Airways', value: 'XO' },
2724
+ { label: 'Ltu Austria', value: 'L3' },
2725
+ { label: 'Ltu International', value: 'LT' },
2726
+ { label: 'Luchsh Airlines', value: 'L4' },
2727
+ { label: 'Luftfahrtgesellschaft Walter', value: 'HE' },
2728
+ { label: 'Lufthansa Cargo', value: 'LH' },
2729
+ { label: 'Lufthansa Cityline', value: 'CL' },
2730
+ { label: 'Lufthansa', value: 'LH' },
2731
+ { label: 'Lufttaxi Fluggesellschaft', value: 'DV' },
2732
+ { label: 'Lufttransport', value: 'L5' },
2733
+ { label: 'Luxair', value: 'LG' },
2734
+ { label: 'Lviv Airlines', value: '5V' },
2735
+ { label: 'Lynden Air Cargo', value: 'L2' },
2736
+ { label: 'Macair Airlines', value: 'CC' },
2737
+ { label: 'Mahan Air', value: 'W5' },
2738
+ { label: 'Mahfooz Aviation', value: 'M2' },
2739
+ { label: 'Malaysia Airlines', value: 'MH' },
2740
+ { label: 'Maldivo Airlines', value: 'ML' },
2741
+ { label: 'Malindo Air', value: 'OD' },
2742
+ { label: 'Malm� Aviation', value: 'TF' },
2743
+ { label: 'Malta Air Charter', value: 'R5' },
2744
+ { label: 'Mal�v', value: 'MA' },
2745
+ { label: 'Mandala Airlines', value: 'RI' },
2746
+ { label: 'Mandarin Airlines', value: 'AE' },
2747
+ { label: 'Mango', value: 'JE' },
2748
+ { label: 'Mars Rk', value: '6V' },
2749
+ { label: 'Marsland Aviation', value: 'M7' },
2750
+ { label: 'Martinair', value: 'MP' },
2751
+ { label: 'Marusya Airways', value: 'Y8' },
2752
+ { label: 'Maryland Air', value: 'M1' },
2753
+ { label: 'Marysya Airlines', value: 'M4' },
2754
+ { label: 'Masair', value: 'M7' },
2755
+ { label: 'Mat Airways', value: '6F' },
2756
+ { label: 'Mat Macedonian Airlines', value: 'IN' },
2757
+ { label: 'Mauritania Airlines International', value: 'L6' },
2758
+ { label: 'Mavial Magadan Airlines', value: 'H5' },
2759
+ { label: 'Maxair', value: '8M' },
2760
+ { label: 'Maxjet Airways', value: 'MY' },
2761
+ { label: 'Maya Island Air', value: 'MW' },
2762
+ { label: 'Menajet', value: 'IM' },
2763
+ { label: 'Meridiana', value: 'IG' },
2764
+ { label: 'Merpati Nusantara Airlines', value: 'MZ' },
2765
+ { label: 'Mesa Airlines', value: 'YV' },
2766
+ { label: 'Mesaba Airlines', value: 'XJ' },
2767
+ { label: 'Metro Batavia', value: '7P' },
2768
+ { label: 'Mexicana De Aviaci', value: 'MX' },
2769
+ { label: 'Mexicanalink', value: 'I6' },
2770
+ { label: 'Miami Air International', value: 'GL' },
2771
+ { label: 'Miat Mongolian Airlines', value: 'OM' },
2772
+ { label: 'Michael Airlines', value: 'DF' },
2773
+ { label: 'Middle East Airlines', value: 'ME' },
2774
+ { label: 'Midway Airlines', value: 'JI' },
2775
+ { label: 'Midwest Airlines (egypt)', value: 'MY' },
2776
+ { label: 'Midwest Airlines', value: 'YX' },
2777
+ { label: 'Mng Airlines', value: 'MB' },
2778
+ { label: 'Moldavian Airlines', value: '2M' },
2779
+ { label: 'Monarch Airlines', value: 'ZB' },
2780
+ { label: 'Mongolian International Air Lines', value: '7M' },
2781
+ { label: 'Montenegro Airlines', value: 'YM' },
2782
+ { label: 'Moskovia Airlines', value: '3R' },
2783
+ { label: 'Motor Sich', value: 'M9' },
2784
+ { label: 'Mount Cook Airlines', value: 'NM' },
2785
+ { label: 'Mountain Air Company', value: 'N4' },
2786
+ { label: 'Myanma Airways', value: 'UB' },
2787
+ { label: 'Myanmar Airways International', value: '8M' },
2788
+ { label: 'Mytravel Airways', value: 'VZ' },
2789
+ { label: 'NCCTEST', value: 'NC' },
2790
+ { label: 'Naka Nihon Airlines Service', value: 'NV' },
2791
+ { label: 'Nantucket Airlines', value: 'DV' },
2792
+ { label: 'Nas Air', value: 'XY' },
2793
+ { label: 'Nasair', value: 'UE' },
2794
+ { label: 'National Air Cargo', value: 'N8' },
2795
+ { label: 'National Airlines', value: 'N4' },
2796
+ { label: 'National Airlines', value: 'N7' },
2797
+ { label: 'National Airlines', value: 'NA' },
2798
+ { label: 'National Jet Systems', value: 'NC' },
2799
+ { label: 'Nationwide Airlines', value: 'CE' },
2800
+ { label: 'Nauru Air Corporation', value: 'ON' },
2801
+ { label: 'Neos', value: 'NO' },
2802
+ { label: 'Nepal Airlines', value: 'RA' },
2803
+ { label: 'Netjets', value: '1I' },
2804
+ { label: 'New England Airlines', value: 'EJ' },
2805
+ { label: 'Next Brasil', value: 'XB' },
2806
+ { label: 'Nextjet', value: '2N' },
2807
+ { label: 'Niki', value: 'HG' },
2808
+ { label: 'Nile Air', value: 'NP' },
2809
+ { label: 'Nippon Cargo Airlines', value: 'KZ' },
2810
+ { label: 'Nok Air', value: 'DD' },
2811
+ { label: 'Nordeste Linhas Aereas Regionais', value: 'JH' },
2812
+ { label: 'Nordic Global Airlines', value: 'NJ' },
2813
+ { label: 'Nordic Regional', value: '6N' },
2814
+ { label: 'North Flying', value: 'M3' },
2815
+ { label: 'North-wright Airways', value: 'HW' },
2816
+ { label: 'Northern Air Cargo', value: 'NC' },
2817
+ { label: 'Northwest Airlines', value: 'NW' },
2818
+ { label: 'Northwest Regional Airlines', value: 'FY' },
2819
+ { label: 'Northwestern Air', value: 'J3' },
2820
+ { label: 'Norwegian Air Shuttle', value: 'DY' },
2821
+ { label: 'Norwegian Long Haul As', value: 'DU' },
2822
+ { label: 'Nouvel Air Tunisie', value: 'BJ' },
2823
+ { label: 'Nova Airline', value: 'M4' },
2824
+ { label: 'Novair', value: '1I' },
2825
+ { label: 'Nuevo Continente', value: 'N6' },
2826
+ { label: 'Oasis Hong Kong Airlines', value: 'O8' },
2827
+ { label: 'Ocean Airlines', value: 'VC' },
2828
+ { label: 'Oceanair', value: 'O6' },
2829
+ { label: 'Oconnor Airlines', value: 'UQ' },
2830
+ { label: 'Olympic Airlines', value: 'OA' },
2831
+ { label: 'Oman Air', value: 'WY' },
2832
+ { label: 'Omni Air International', value: 'OY' },
2833
+ { label: 'Omskavia Airline', value: 'N3' },
2834
+ { label: 'Onechina', value: '1C' },
2835
+ { label: 'Onur Air', value: '8Q' },
2836
+ { label: 'Open Skies Consultative Commission', value: '1L' },
2837
+ { label: 'Orbit Airlines Azerbaijan', value: 'O1' },
2838
+ { label: 'Orchid Airlines', value: 'OI' },
2839
+ { label: 'Orenburg Airlines', value: 'R2' },
2840
+ { label: 'Orient Thai Airlines', value: 'OX' },
2841
+ { label: 'Origin Pacific Airways', value: 'QO' },
2842
+ { label: 'Ostfriesische Lufttransport', value: 'OL' },
2843
+ { label: 'Our Airline', value: 'ON' },
2844
+ { label: 'Overland Airways', value: 'OJ' },
2845
+ { label: 'Ozark Air Lines', value: 'OZ' },
2846
+ { label: 'Ozjet Airlines', value: 'O7' },
2847
+ { label: 'Pace Airlines', value: 'Y5' },
2848
+ { label: 'Pacific Blue', value: 'DJ' },
2849
+ { label: 'Pacific Coastal Airline', value: '8P' },
2850
+ { label: 'Pacific East Asia Cargo Airlines', value: 'Q8' },
2851
+ { label: 'Pacific Southwest Airlines', value: 'PS' },
2852
+ { label: 'Pacific Wings', value: 'LW' },
2853
+ { label: 'Pakistan International Airlines', value: 'PK' },
2854
+ { label: 'Palair Macedonia', value: '3D' },
2855
+ { label: 'Palau Trans Pacific Airline', value: 'GP' },
2856
+ { label: 'Palestinian Airlines', value: 'PF' },
2857
+ { label: 'Pamir Airways', value: 'NR' },
2858
+ { label: 'Pan Air', value: 'PV' },
2859
+ { label: 'Pan American Airways', value: 'PA' },
2860
+ { label: 'Pan American World Airways', value: 'PA' },
2861
+ { label: 'Panafrican Airways', value: 'PQ' },
2862
+ { label: 'Panam World Airways', value: 'WQ' },
2863
+ { label: 'Pantanal Linhas A�reas', value: 'P8' },
2864
+ { label: 'Paramount Airways', value: 'I7' },
2865
+ { label: 'Parmiss Airlines (ipv)', value: 'PA' },
2866
+ { label: 'Pb Air', value: '9Q' },
2867
+ { label: 'Pearl Airways', value: 'HP' },
2868
+ { label: 'Pegasus Airlines', value: 'PC' },
2869
+ { label: 'Peninsula Airways', value: 'KS' },
2870
+ { label: 'Perm Airlines', value: 'P9' },
2871
+ { label: 'Philippine Airlines', value: 'PR' },
2872
+ { label: 'Phuket Air', value: '9R' },
2873
+ { label: 'Piedmont Airlines (1948-1989)', value: 'PI' },
2874
+ { label: 'Pinnacle Airlines', value: '9E' },
2875
+ { label: 'Pluna', value: 'PU' },
2876
+ { label: 'Pmtair', value: 'U4' },
2877
+ { label: 'Polar Air Cargo', value: 'PO' },
2878
+ { label: 'Polynesian Airlines', value: 'PH' },
2879
+ { label: 'Polynesian Blue', value: 'DJ' },
2880
+ { label: 'Porter Airlines', value: 'PD' },
2881
+ { label: 'Portugalia', value: 'NI' },
2882
+ { label: 'Potomac Air', value: 'BK' },
2883
+ { label: 'Precision Air', value: 'PW' },
2884
+ { label: 'President Airlines', value: 'TO' },
2885
+ { label: 'Primaris Airlines', value: 'FE' },
2886
+ { label: 'Private Wings Flugcharter', value: '8W' },
2887
+ { label: 'Qantas', value: 'QF' },
2888
+ { label: 'Qatar Airways', value: 'QR' },
2889
+ { label: 'Qatxpress', value: 'C3' },
2890
+ { label: 'Rainbow Air (rai)', value: 'RN' },
2891
+ { label: 'Rainbow Air Canada', value: 'RY' },
2892
+ { label: 'Rainbow Air Euro', value: 'RU' },
2893
+ { label: 'Rainbow Air Polynesia', value: 'RX' },
2894
+ { label: 'Rainbow Air Us', value: 'RM' },
2895
+ { label: 'Red Wings', value: 'WZ' },
2896
+ { label: 'Redhill Aviation', value: '8L' },
2897
+ { label: 'Reem Air', value: 'V4' },
2898
+ { label: 'Regional Air Iceland', value: '9N' },
2899
+ { label: 'Regional Express', value: 'ZL' },
2900
+ { label: 'Regional Paraguaya', value: 'P7' },
2901
+ { label: 'Regionalia Chile', value: '9J' },
2902
+ { label: 'Regionalia M�xico', value: 'N4' },
2903
+ { label: 'Regionalia Uruguay', value: '2X' },
2904
+ { label: 'Regionalia Venezuela', value: '9X' },
2905
+ { label: 'Regionsair', value: '3C' },
2906
+ { label: 'Reno Air', value: 'QQ' },
2907
+ { label: 'Republic Airlines', value: 'RW' },
2908
+ { label: 'Republic Express Airlines', value: 'RH' },
2909
+ { label: 'Rexair Virtuel', value: 'RR' },
2910
+ { label: 'Rico Linhas A', value: 'C7' },
2911
+ { label: 'Rio Grande Air', value: 'E2' },
2912
+ { label: 'Rio Sul Servi', value: 'SL' },
2913
+ { label: 'Rossiya-russian Airlines', value: 'FV' },
2914
+ { label: 'Royal Air Cambodge', value: 'VJ' },
2915
+ { label: 'Royal Air Force Of Oman', value: 'RS' },
2916
+ { label: 'Royal Air Force', value: 'RR' },
2917
+ { label: 'Royal Air Maroc', value: 'AT' },
2918
+ { label: 'Royal Airlines', value: 'R0' },
2919
+ { label: 'Royal Airways', value: 'KG' },
2920
+ { label: 'Royal Aruban Airline', value: 'V5' },
2921
+ { label: 'Royal Britain', value: '7V' },
2922
+ { label: 'Royal Brunei Airlines', value: 'BI' },
2923
+ { label: 'Royal Falcon', value: 'RL' },
2924
+ { label: 'Royal Jordanian', value: 'RJ' },
2925
+ { label: 'Royal Khmer Airlines', value: 'RK' },
2926
+ { label: 'Royal Nepal Airlines', value: 'RA' },
2927
+ { label: 'Royal Southern Airlines.', value: 'R1' },
2928
+ { label: 'Royal Tongan Airlines', value: 'WR' },
2929
+ { label: 'Russian Sky Airlines', value: 'P7' },
2930
+ { label: 'Rwandair Express', value: 'WB' },
2931
+ { label: 'Ryan International Airlines', value: 'RD' },
2932
+ { label: 'Ryanair', value: 'FR' },
2933
+ { label: 'R�gional', value: 'YS' },
2934
+ { label: 'S7 Airlines', value: 'S7' },
2935
+ { label: 'Saeta', value: 'EH' },
2936
+ { label: 'Safair', value: 'FA' },
2937
+ { label: 'Salsa D,,haiti', value: 'SO' },
2938
+ { label: 'Sama Airlines', value: 'ZS' },
2939
+ { label: 'Samara Airlines', value: 'E5' },
2940
+ { label: 'Samurai Airlines', value: '07' },
2941
+ { label: 'San Juan Airlines', value: '2G' },
2942
+ { label: 'Santa Barbara Airlines', value: 'S3' },
2943
+ { label: 'Saratov Aviation Division', value: '6W' },
2944
+ { label: 'Sat Airlines', value: 'HZ' },
2945
+ { label: 'Sata Air Acores', value: 'SP' },
2946
+ { label: 'Sata International', value: 'S4' },
2947
+ { label: 'Satena', value: '9R' },
2948
+ { label: 'Saudi Arabian Airlines', value: 'SV' },
2949
+ { label: 'Scandinavian Airlines System', value: 'SK' },
2950
+ { label: 'Scat Air', value: 'DV' },
2951
+ { label: 'Scoot', value: 'TZ' },
2952
+ { label: 'Seaborne Airlines', value: 'BB' },
2953
+ { label: 'Seaport Airlines', value: 'K5' },
2954
+ { label: 'Senegal Airlines', value: 'DN' },
2955
+ { label: 'Serbian Airlines', value: 'S1' },
2956
+ { label: 'Servicios De Transportes A', value: 'FS' },
2957
+ { label: 'Shaheen Air International', value: 'NL' },
2958
+ { label: 'Shandong Airlines', value: 'SC' },
2959
+ { label: 'Shanghai Airlines', value: 'FM' },
2960
+ { label: 'Shanxi Airlines', value: '8C' },
2961
+ { label: 'Sharp Airlines', value: 'SH' },
2962
+ { label: 'Shenzhen Airlines', value: 'ZH' },
2963
+ { label: 'Shovkoviy Shlyah', value: 'S8' },
2964
+ { label: 'Shuttle America', value: 'S5' },
2965
+ { label: 'Sibaviatrans', value: '5M' },
2966
+ { label: 'Sichuan Airlines', value: '3U' },
2967
+ { label: 'Siem Reap Airways', value: 'FT' },
2968
+ { label: 'Sierra National Airlines', value: 'LJ' },
2969
+ { label: 'Silk Way Airlines', value: 'ZP' },
2970
+ { label: 'Silkair', value: 'MI' },
2971
+ { label: 'Singapore Airlines Cargo', value: 'SQ' },
2972
+ { label: 'Singapore Airlines', value: 'SQ' },
2973
+ { label: 'Sita', value: 'XS' },
2974
+ { label: 'Skagway Air Service', value: 'N5' },
2975
+ { label: 'Sky Airline', value: 'H2' },
2976
+ { label: 'Sky Express', value: 'G3' },
2977
+ { label: 'Sky Express', value: 'XW' },
2978
+ { label: 'Sky Eyes', value: 'I6' },
2979
+ { label: 'Sky Regional', value: 'RS' },
2980
+ { label: 'Sky Trek International Airlines', value: '1I' },
2981
+ { label: 'Sky Wing Pacific', value: 'C7' },
2982
+ { label: 'Sky Work Airlines', value: 'SX' },
2983
+ { label: 'Skybus Airlines', value: 'SX' },
2984
+ { label: 'Skyeurope', value: 'NE' },
2985
+ { label: 'Skyjet Airlines', value: 'UQ' },
2986
+ { label: 'Skyking Turks And Caicos Airways', value: 'RU' },
2987
+ { label: 'Skymark Airlines', value: 'BC' },
2988
+ { label: 'Skynet Airlines', value: 'SI' },
2989
+ { label: 'Skynet Asia Airways', value: '6J' },
2990
+ { label: 'Skyservice Airlines', value: '5G' },
2991
+ { label: 'Skywalk Airlines', value: 'AL' },
2992
+ { label: 'Skyways Express', value: 'JZ' },
2993
+ { label: 'Skywest', value: 'OO' },
2994
+ { label: 'Slok Air Gambia', value: 'S0' },
2995
+ { label: 'Slovak Airlines', value: '6Q' },
2996
+ { label: 'Snowbird Airlines', value: 'S8' },
2997
+ { label: 'Sochi Air Chater', value: 'Q3' },
2998
+ { label: 'Sochi Air Express', value: 'Q4' },
2999
+ { label: 'Sochi Air', value: 'CQ' },
3000
+ { label: 'Solomon Airlines', value: 'IE' },
3001
+ { label: 'Sosoliso Airlines', value: 'SO' },
3002
+ { label: 'South African Airways', value: 'SA' },
3003
+ { label: 'South East Asian Airlines', value: 'DG' },
3004
+ { label: 'Southern Winds Airlines', value: 'A4' },
3005
+ { label: 'Southjet Cargo', value: '78' },
3006
+ { label: 'Southjet Connect', value: '77' },
3007
+ { label: 'Southjet', value: '76' },
3008
+ { label: 'Southwest Airlines', value: 'WN' },
3009
+ { label: 'Spanair', value: 'JK' },
3010
+ { label: 'Spicejet', value: 'SG' },
3011
+ { label: 'Spike Airlines', value: 'S0' },
3012
+ { label: 'Spirit Airlines', value: 'NK' },
3013
+ { label: 'Spirit Of Manila Airlines', value: 'SM' },
3014
+ { label: 'Spring Airlines Japan', value: 'IJ' },
3015
+ { label: 'Spring Airlines', value: '9S' },
3016
+ { label: 'Srilankan Airlines', value: 'UL' },
3017
+ { label: 'Sriwijaya Air', value: 'SJ' },
3018
+ { label: 'Star Flyer', value: '7G' },
3019
+ { label: 'Star1 Airlines', value: 'V9' },
3020
+ { label: 'Starling Airlines Spain', value: 'SX' },
3021
+ { label: 'Sterling Airlines', value: 'NB' },
3022
+ { label: 'Stp Airways', value: '8F' },
3023
+ { label: 'Sudan Airways', value: 'SD' },
3024
+ { label: 'Sun Air (fiji)', value: 'PI' },
3025
+ { label: 'Sun Air Of Scandinavia', value: 'EZ' },
3026
+ { label: 'Sun Country Airlines', value: 'SY' },
3027
+ { label: 'Sun Dor', value: '7L' },
3028
+ { label: 'Sunexpress', value: 'XQ' },
3029
+ { label: 'Sunshine Express Airlines', value: 'CQ' },
3030
+ { label: 'Sunwing Airlines', value: 'WG' },
3031
+ { label: 'Superior Aviation', value: 'SO' },
3032
+ { label: 'Surinam Airways', value: 'PY' },
3033
+ { label: 'Svyaz Rossiya', value: '7R' },
3034
+ { label: 'Swe Fly', value: 'WV' },
3035
+ { label: 'Swedjet Airways', value: 'VD' },
3036
+ { label: 'Swedline Express', value: 'SM' },
3037
+ { label: 'Swiss International Air Lines', value: 'LX' },
3038
+ { label: 'Swissair', value: 'SR' },
3039
+ { label: 'Syrian Arab Airlines', value: 'RB' },
3040
+ { label: 'T.j. Air', value: 'TJ' },
3041
+ { label: 'Taag Angola Airlines', value: 'DT' },
3042
+ { label: 'Tacv', value: 'VR' },
3043
+ { label: 'Tam Brazilian Airlines', value: 'JJ' },
3044
+ { label: 'Tam Mercosur', value: 'PZ' },
3045
+ { label: 'Tame', value: 'EQ' },
3046
+ { label: 'Tampa', value: 'QT' },
3047
+ { label: 'Tandem Aero', value: 'TQ' },
3048
+ { label: 'Tap Portugal', value: 'TP' },
3049
+ { label: 'Tarom', value: 'RO' },
3050
+ { label: 'Tassili Airlines', value: 'SF' },
3051
+ { label: 'Tatarstan Airlines', value: 'U9' },
3052
+ { label: 'Tavrey Airlines', value: 'T6' },
3053
+ { label: 'Teamline Air', value: 'L9' },
3054
+ { label: 'Texas Spirit', value: 'XS' },
3055
+ { label: 'Texas Wings', value: 'TQ' },
3056
+ { label: 'Thai Air Cargo', value: 'T2' },
3057
+ { label: 'Thai Airasia', value: 'FD' },
3058
+ { label: 'Thai Airways International', value: 'TG' },
3059
+ { label: 'Thai Sky Airlines', value: '9I' },
3060
+ { label: 'Thai Star Airlines', value: 'T9' },
3061
+ { label: 'Thomas Cook Airlines', value: 'FQ' },
3062
+ { label: 'Thomas Cook Airlines', value: 'MT' },
3063
+ { label: 'Thomsonfly', value: 'BY' },
3064
+ { label: 'Three', value: 'H3' },
3065
+ { label: 'Tiara Air', value: '3P' },
3066
+ { label: 'Tiger Airways Australia', value: 'TT' },
3067
+ { label: 'Tiger Airways', value: 'TR' },
3068
+ { label: 'Titan Airways', value: 'ZT' },
3069
+ { label: 'Tnt Airways', value: '3V' },
3070
+ { label: 'Tobruk Air', value: '7T' },
3071
+ { label: 'Tol-air Services', value: 'TI' },
3072
+ { label: 'Tom,,s & Co Airliners', value: '&T' },
3073
+ { label: 'Tomp Airlines', value: 'ZT' },
3074
+ { label: 'Tower Air', value: 'FF' },
3075
+ { label: 'Tramm Airlines', value: '9F' },
3076
+ { label: 'Trans Maldivian Airways', value: 'M8' },
3077
+ { label: 'Trans Mediterranean Airlines', value: 'TL' },
3078
+ { label: 'Trans Pas Air', value: 'T6' },
3079
+ { label: 'Trans States Airlines', value: 'AX' },
3080
+ { label: 'Trans World Airlines', value: 'TW' },
3081
+ { label: 'Transaero Airlines', value: 'UN' },
3082
+ { label: 'Transasia Airways', value: 'GE' },
3083
+ { label: 'Transavia France', value: 'TO' },
3084
+ { label: 'Transavia Holland', value: 'HV' },
3085
+ { label: 'Transaviaexport', value: 'AL' },
3086
+ { label: 'Transbrasil Airlines', value: 'TH' },
3087
+ { label: 'Transeuropean Airlines', value: 'UE' },
3088
+ { label: 'Transholding System', value: 'YO' },
3089
+ { label: 'Transholding', value: 'TI' },
3090
+ { label: 'Transmeridian Airlines', value: 'T9' },
3091
+ { label: 'Transmile Air Services', value: 'TH' },
3092
+ { label: 'Transnusa Air', value: 'M8' },
3093
+ { label: 'Transrussiaairlines', value: '1E' },
3094
+ { label: 'Transwest Air', value: '9T' },
3095
+ { label: 'Trasbrasil', value: 'TB' },
3096
+ { label: 'Trast Aero', value: 'S5' },
3097
+ { label: 'Travel Service', value: 'QS' },
3098
+ { label: 'Tri-mg Intra Asia Airlines', value: 'GY' },
3099
+ { label: 'Trip Linhas A', value: '8R' },
3100
+ { label: 'Tropic Air', value: 'PM' },
3101
+ { label: 'Tropical Airways', value: 'M7' },
3102
+ { label: 'Tropical Linhas Aereas', value: 'T1' },
3103
+ { label: 'Tui Airlines Belgium', value: 'TB' },
3104
+ { label: 'Tuifly Nordic', value: '6B' },
3105
+ { label: 'Tuifly', value: 'X3' },
3106
+ { label: 'Tulip Air', value: 'TD' },
3107
+ { label: 'Tuninter', value: 'UG' },
3108
+ { label: 'Tunisair', value: 'TU' },
3109
+ { label: 'Turan Air', value: '3T' },
3110
+ { label: 'Turkish Airlines', value: 'TK' },
3111
+ { label: 'Turkmenistan Airlines', value: 'T5' },
3112
+ { label: 'Tway Airlines', value: 'TW' },
3113
+ { label: 'Twin Jet', value: 'T7' },
3114
+ { label: 'Tyrolean Airways', value: 'VO' },
3115
+ { label: 'Ukraine International Airlines', value: 'PS' },
3116
+ { label: 'Ukrainian Cargo Airways', value: '6Z' },
3117
+ { label: 'Um Airlines', value: 'UF' },
3118
+ { label: 'Uni Air', value: 'B7' },
3119
+ { label: 'United Airlines', value: 'UA' },
3120
+ { label: 'United Airways', value: '4H' },
3121
+ { label: 'United Parcel Service', value: '5X' },
3122
+ { label: 'Ural Airlines', value: 'U6' },
3123
+ { label: 'Us Airways', value: 'US' },
3124
+ { label: 'Usa Jet Airlines', value: 'U7' },
3125
+ { label: 'Usa Sky Cargo', value: 'E1' },
3126
+ { label: 'Usa3000 Airlines', value: 'U5' },
3127
+ { label: 'Utair Aviation', value: 'UT' },
3128
+ { label: 'Uzbekistan Airways', value: 'HY' },
3129
+ { label: 'V Air', value: 'ZV' },
3130
+ { label: 'V Australia Airlines', value: 'VA' },
3131
+ { label: 'Valuair', value: 'VF' },
3132
+ { label: 'Valuejet', value: 'J7' },
3133
+ { label: 'Varig Log', value: 'LC' },
3134
+ { label: 'Vasp', value: 'VP' },
3135
+ { label: 'Via Conectia Airlines', value: '6V' },
3136
+ { label: 'Via L�neas A�reas', value: 'V1' },
3137
+ { label: 'Viaggio Air', value: 'VM' },
3138
+ { label: 'Vickjet', value: 'KT' },
3139
+ { label: 'Vietnam Airlines', value: 'VN' },
3140
+ { label: 'Viking Hellas', value: 'VQ' },
3141
+ { label: 'Vim Airlines', value: 'NN' },
3142
+ { label: 'Virgin America', value: 'VX' },
3143
+ { label: 'Virgin Atlantic Airways', value: 'VS' },
3144
+ { label: 'Virgin Australia', value: 'VA' },
3145
+ { label: 'Virgin Blue', value: 'DJ' },
3146
+ { label: 'Virgin Express', value: 'TV' },
3147
+ { label: 'Virgin Nigeria Airways', value: 'VK' },
3148
+ { label: 'Virgin Pacific', value: 'VH' },
3149
+ { label: 'Virginwings', value: 'YY' },
3150
+ { label: 'Vision Airlines (v2)', value: 'V2' },
3151
+ { label: 'Viva Macau', value: 'ZG' },
3152
+ { label: 'Vivacolombia', value: '5Z' },
3153
+ { label: 'Vladivostok Air', value: 'XF' },
3154
+ { label: 'Vlm Airlines', value: 'VG' },
3155
+ { label: 'Voestar', value: '8K' },
3156
+ { label: 'Volare Airlines', value: 'VE' },
3157
+ { label: 'Volaris', value: 'Y4' },
3158
+ { label: 'Volga-dnepr Airlines', value: 'VI' },
3159
+ { label: 'Volotea Airways', value: 'V7' },
3160
+ { label: 'Volotea Costa Rica', value: '9V' },
3161
+ { label: 'Voyageur Airways', value: 'VC' },
3162
+ { label: 'Vrg Linhas Aereas', value: 'RG' },
3163
+ { label: 'Vuela Cuba', value: '6C' },
3164
+ { label: 'Vueling Airlines', value: 'VY' },
3165
+ { label: 'Vuola Italia', value: '4S' },
3166
+ { label: 'Webjet Linhas A', value: 'WJ' },
3167
+ { label: 'Welcome Air', value: '2W' },
3168
+ { label: 'West Air China', value: 'PN' },
3169
+ { label: 'West Air Sweden', value: 'PT' },
3170
+ { label: 'Western Airlines', value: 'WA' },
3171
+ { label: 'Westjet Encore', value: 'WR' },
3172
+ { label: 'Westjet', value: 'WS' },
3173
+ { label: 'Westward Airways', value: 'CN' },
3174
+ { label: 'Wider�e', value: 'WF' },
3175
+ { label: 'Wind Jet', value: 'IV' },
3176
+ { label: 'Wings Air', value: 'IW' },
3177
+ { label: 'Wings Of Alaska', value: 'K5' },
3178
+ { label: 'Wizz Air Hungary', value: '8Z' },
3179
+ { label: 'Wizz Air Ukraine', value: 'WU' },
3180
+ { label: 'Wizz Air', value: 'W6' },
3181
+ { label: 'World Airways', value: 'WO' },
3182
+ { label: 'World Experience Airline', value: 'W1' },
3183
+ { label: 'World Scale Airlines', value: 'W3' },
3184
+ { label: 'Worldways', value: 'WG' },
3185
+ { label: 'Wright Air Service', value: '8V' },
3186
+ { label: 'Xair Usa', value: 'XA' },
3187
+ { label: 'Xiamen Airlines', value: 'MF' },
3188
+ { label: 'Xl Airways France', value: 'SE' },
3189
+ { label: 'Xpto', value: 'XP' },
3190
+ { label: 'Xtra Airways', value: 'XP' },
3191
+ { label: 'Yamal Airlines', value: 'YL' },
3192
+ { label: 'Yangtze River Express', value: 'Y8' },
3193
+ { label: 'Yellowtail', value: 'YE' },
3194
+ { label: 'Yemenia', value: 'IY' },
3195
+ { label: 'Yunnan Airlines', value: '3Q' },
3196
+ { label: 'ZIP', value: '3J' },
3197
+ { label: 'Zabaikal Airlines', value: 'Z6' },
3198
+ { label: 'Zabaykalskii Airlines', value: 'ZP' },
3199
+ { label: 'Zambian Airways', value: 'Q3' },
3200
+ { label: 'Zenith International Airline', value: 'ZN' },
3201
+ { label: 'Zimex Aviation', value: 'C4' },
3202
+ { label: 'Zoom Airlines', value: 'Z4' },
3203
+ { label: 'Zuliana De Aviacion', value: 'OD' }
1551
3204
  ];
1552
3205
 
1553
3206
  var BookableBasket = /** @class */ (function () {
@@ -3069,7 +4722,7 @@
3069
4722
  : arrivalTimeReturn;
3070
4723
  (result1.inboundFlights || []).forEach(updateFlightItems);
3071
4724
  indexedFlight(result1.inboundFlights, 'depatureReturnAirport', 'originAirport', 'originAirportName', 0);
3072
- indexedFlight(result1.inboundFlights, 'arrivalReturnAirport', 'destinationAirport', 'destinationAirportName', result1.outboundFlights.length - 1);
4725
+ indexedFlight(result1.inboundFlights, 'arrivalReturnAirport', 'destinationAirport', 'destinationAirportName', result1.inboundFlights.length - 1);
3073
4726
  }
3074
4727
  return filters;
3075
4728
  }, this.clone(defaultFilters));
@@ -3178,6 +4831,10 @@
3178
4831
  fare1.unavailable = rule.unavailable;
3179
4832
  fare1.unavailableMessage = rule.unavailableMessage;
3180
4833
  }
4834
+ if (isSet(rule === null || rule === void 0 ? void 0 : rule.requiresReason)) {
4835
+ fare1.requiresReason = rule.requiresReason;
4836
+ fare1.requiresReasonMessage = rule.requiresReasonMessage;
4837
+ }
3181
4838
  return fare1;
3182
4839
  }, fare);
3183
4840
  };
@@ -3895,13 +5552,14 @@
3895
5552
  this.viasTo = recentSearch.searchArgs.viasTo;
3896
5553
  this.searchService.startSearches();
3897
5554
  };
3898
- CabHireEnterpriseSearch.prototype.getSearchQuery = function () {
5555
+ CabHireEnterpriseSearch.prototype.getSearchQuery = function (simplifiedLocation) {
5556
+ if (simplifiedLocation === void 0) { simplifiedLocation = true; }
3899
5557
  var query = {
3900
5558
  adults: this.tempParams.adults,
3901
5559
  children: this.tempParams.children,
3902
5560
  departs: this.tempParams.departs,
3903
- fromLocation: this.createCabHireLocation(this.tempParams.fromAddress),
3904
- toLocation: this.createCabHireLocation(this.tempParams.toAddress),
5561
+ fromLocation: simplifiedLocation ? this.createCabHireLocation(this.tempParams.fromAddress) : this.tempParams.fromAddress,
5562
+ toLocation: simplifiedLocation ? this.createCabHireLocation(this.tempParams.toAddress) : this.tempParams.toAddress,
3905
5563
  infants: 0,
3906
5564
  vehicleType: this.vehicleType,
3907
5565
  vias: this._vias
@@ -4124,7 +5782,7 @@
4124
5782
  co2PerItem: cabHireQuote.co2PerItem,
4125
5783
  co2PerPassenger: cabHireQuote.co2PerPassenger,
4126
5784
  outboundDate: cabHireQuery.departs.format()
4127
- }, intBasket, this.searchService, this.travellers)];
5785
+ }, intBasket, this.searchService, this.travellers, cabHireQuote.requiresReason)];
4128
5786
  }
4129
5787
  return [2 /*return*/, Promise.resolve(false)]; // TODO should this throw an error?
4130
5788
  }
@@ -4177,6 +5835,42 @@
4177
5835
  return this.searchService.saveFavouriteSearch(searchInfo);
4178
5836
  }
4179
5837
  };
5838
+ CabHireEnterpriseSearch.prototype.applyFavourite = function (fav) {
5839
+ return __awaiter(this, void 0, void 0, function () {
5840
+ var _this = this;
5841
+ return __generator(this, function (_b) {
5842
+ if (fav.fromLocation.Street && fav.toLocation.Street) {
5843
+ this.mode = exports.TaxiFormMode.ADDRESS;
5844
+ }
5845
+ else {
5846
+ this.mode = exports.TaxiFormMode.STATION;
5847
+ this.airportSearchType = fav.fromLocation.Street ? exports.AirportSearchMode.DROPOFF : exports.AirportSearchMode.PICKUP;
5848
+ this.searchService.getAirportsList(!fav.fromLocation.Street ? fav.fromLocation.House : fav.toLocation.House).subscribe(function (airport) {
5849
+ _this.airport = airport[0];
5850
+ });
5851
+ }
5852
+ this.adults = fav.adults;
5853
+ this.children = fav.children;
5854
+ this.infants = fav.infants;
5855
+ // this.fromAddress.House = fav.fromLocation.House
5856
+ // this.fromAddress.Street = fav.fromLocation.Street
5857
+ // this.fromAddress.Town = fav.fromLocation.Town
5858
+ // this.fromAddress.Country = fav.fromLocation.Country
5859
+ // this.fromAddress.PostCode = fav.fromLocation.PostCode
5860
+ // this.fromAddress.placeDescription = fav.fromLocation.placeDescription
5861
+ // this.toAddress.House = fav.toLocation.House
5862
+ // this.toAddress.Street = fav.toLocation.Street
5863
+ // this.toAddress.Town = fav.toLocation.Town
5864
+ // this.toAddress.Country = fav.toLocation.Country
5865
+ // this.toAddress.PostCode = fav.toLocation.PostCode
5866
+ // this.toAddress.placeDescription = fav.toLocation.placeDescription
5867
+ this.fromAddress = fav.fromLocation;
5868
+ this.toAddress = fav.toLocation;
5869
+ this.vehicleType = fav.vehicleType;
5870
+ return [2 /*return*/];
5871
+ });
5872
+ });
5873
+ };
4180
5874
  return CabHireEnterpriseSearch;
4181
5875
  }(BaseEnterpriseSearch));
4182
5876
  CabHireEnterpriseSearch.STORAGE_SESSION_PARAMS = 'search_cab';
@@ -5459,24 +7153,38 @@
5459
7153
  };
5460
7154
  CarhireEnterpriseSearch.prototype.updateFromPreviousSearches = function (previousItems) {
5461
7155
  var _a;
5462
- console.log("PREPOPULATING CARHIRE FORM");
7156
+ console.log('PREPOPULATING CARHIRE FORM');
5463
7157
  var flightItem = (_a = previousItems[ServiceType.Flight]) === null || _a === void 0 ? void 0 : _a.searchQuery;
5464
7158
  if (flightItem) {
5465
7159
  try {
5466
7160
  var startDate = this.searchService.searches[ServiceType.Flight].outBoundDate.toDate();
5467
7161
  var endDate = this.searchService.searches[ServiceType.Flight].inboundDate.toDate();
5468
7162
  this.locationType = exports.LocationTypes.Airport;
5469
- this.pickup_datetime = this.searchService.searches[ServiceType.Flight].outBoundDate;
5470
- this.dropoff_datetime = this.searchService.searches[ServiceType.Flight].inboundDate;
5471
- this.pickup_date = { day: startDate.getUTCDate(), month: startDate.getUTCMonth() + 1, year: startDate.getUTCFullYear() };
5472
- this.dropoff_date = { day: endDate.getUTCDate(), month: endDate.getUTCMonth() + 1, year: endDate.getUTCFullYear() };
5473
- this.pickup_location = this.searchService.searches[ServiceType.Flight].arriveLocation;
5474
- this.dropoff_location = this.searchService.searches[ServiceType.Flight].arriveLocation;
5475
- this.pickup_country = this.searchService.searches[ServiceType.Flight].arriveLocation.countryCode;
5476
- this.dropoff_country = this.searchService.searches[ServiceType.Flight].arriveLocation.countryCode;
7163
+ this.pickup_datetime =
7164
+ this.searchService.searches[ServiceType.Flight].outBoundDate;
7165
+ this.dropoff_datetime =
7166
+ this.searchService.searches[ServiceType.Flight].inboundDate;
7167
+ this.pickup_date = {
7168
+ day: startDate.getUTCDate(),
7169
+ month: startDate.getUTCMonth() + 1,
7170
+ year: startDate.getUTCFullYear()
7171
+ };
7172
+ this.dropoff_date = {
7173
+ day: endDate.getUTCDate(),
7174
+ month: endDate.getUTCMonth() + 1,
7175
+ year: endDate.getUTCFullYear()
7176
+ };
7177
+ this.pickup_location = this.searchService.searches[ServiceType.Flight]
7178
+ .arriveLocation;
7179
+ this.dropoff_location = this.searchService.searches[ServiceType.Flight]
7180
+ .arriveLocation;
7181
+ this.pickup_country = this.searchService.searches[ServiceType.Flight]
7182
+ .arriveLocation.countryCode;
7183
+ this.dropoff_country = this.searchService.searches[ServiceType.Flight]
7184
+ .arriveLocation.countryCode;
5477
7185
  }
5478
7186
  catch (_b) {
5479
- console.error("Error trying to prepopulate carhire from flight item");
7187
+ console.error('Error trying to prepopulate carhire from flight item');
5480
7188
  }
5481
7189
  }
5482
7190
  };
@@ -5608,7 +7316,7 @@
5608
7316
  co2PerItem: co2PerItem,
5609
7317
  co2PerPassenger: co2PerPassenger,
5610
7318
  outboundDate: new Date(displayRecord.pickup).toISOString()
5611
- }, intBasket, this.searchService, this.travellers)];
7319
+ }, intBasket, this.searchService, this.travellers, carHireVehicleAvailibility.requiresReason)];
5612
7320
  }
5613
7321
  return [2 /*return*/, Promise.resolve(false)];
5614
7322
  }
@@ -5692,6 +7400,27 @@
5692
7400
  return this.searchService.saveFavouriteSearch(searchInfo);
5693
7401
  }
5694
7402
  };
7403
+ CarhireEnterpriseSearch.prototype.applyFavourite = function (fav) {
7404
+ return __awaiter(this, void 0, void 0, function () {
7405
+ var _this = this;
7406
+ return __generator(this, function (_o) {
7407
+ this.airCon = fav.aircon;
7408
+ this.carClass = fav.class;
7409
+ this.transmission = fav.transmission;
7410
+ this.chosenVendor = fav.vendor;
7411
+ this.carType = fav.type;
7412
+ this.return_to_pickup = fav.airport.pickupCode == fav.airport.dropoffCode;
7413
+ this.searchService.getAirportsList(fav.airport.pickupCode).subscribe(function (results) {
7414
+ _this.pickup_location = results.find(function (a) { return a.gateway == fav.airport.pickupCode; });
7415
+ });
7416
+ if (!this.return_to_pickup)
7417
+ this.searchService.getAirportsList(fav.airport.dropoffCode).subscribe(function (results) {
7418
+ _this.dropoff_location = results.find(function (a) { return a.gateway == fav.airport.dropoffCode; });
7419
+ });
7420
+ return [2 /*return*/];
7421
+ });
7422
+ });
7423
+ };
5695
7424
  return CarhireEnterpriseSearch;
5696
7425
  }(BaseEnterpriseSearch));
5697
7426
  CarhireEnterpriseSearch.STORAGE_SESSION_PARAMS = 'carhire_params';
@@ -7217,7 +8946,7 @@
7217
8946
  };
7218
8947
  var selectedRuleSummary = this._ruleActionSummary.dualSingleWhenSelected[(_b = this.selectedGroupFlight) === null || _b === void 0 ? void 0 : _b.journeyHash] || {};
7219
8948
  var setSelected = function (flight) {
7220
- var _a, _b, _c, _d, _e, _f;
8949
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
7221
8950
  flight.selected = flight.uid === ((_a = _this.selectedGroupFlight) === null || _a === void 0 ? void 0 : _a.uid);
7222
8951
  flight.unavailable =
7223
8952
  ((_b = _this._ruleActionSummary.journeyWhenSelected[flight.journeyHash]) === null || _b === void 0 ? void 0 : _b.unavailable) || ((_c = _this._ruleActionSummary.whenSelectedAlone[flight.journeyHash]) === null || _c === void 0 ? void 0 : _c.unavailable) || ((_d = selectedRuleSummary[flight.journeyHash]) === null || _d === void 0 ? void 0 : _d.unavailable) ||
@@ -7225,6 +8954,12 @@
7225
8954
  flight.unavailableMessage =
7226
8955
  ((_e = _this._ruleActionSummary.journeyWhenSelected[flight.journeyHash]) === null || _e === void 0 ? void 0 : _e.unavailableMessage) || ((_f = _this._ruleActionSummary.whenSelectedAlone[flight.journeyHash]) === null || _f === void 0 ? void 0 : _f.unavailableMessage) ||
7227
8956
  '';
8957
+ flight.requiresReason =
8958
+ ((_g = _this._ruleActionSummary.journeyWhenSelected[flight.journeyHash]) === null || _g === void 0 ? void 0 : _g.requiresReason) || ((_h = _this._ruleActionSummary.whenSelectedAlone[flight.journeyHash]) === null || _h === void 0 ? void 0 : _h.requiresReason) || ((_j = selectedRuleSummary[flight.journeyHash]) === null || _j === void 0 ? void 0 : _j.requiresReason) ||
8959
+ false;
8960
+ flight.requiresReasonMessage =
8961
+ ((_k = _this._ruleActionSummary.journeyWhenSelected[flight.journeyHash]) === null || _k === void 0 ? void 0 : _k.requiresReasonMessage) || ((_l = _this._ruleActionSummary.whenSelectedAlone[flight.journeyHash]) === null || _l === void 0 ? void 0 : _l.requiresReasonMessage) ||
8962
+ '';
7228
8963
  return flight;
7229
8964
  };
7230
8965
  if (this.isGroupedFlights(this.fullResults)) {
@@ -7327,7 +9062,7 @@
7327
9062
  if (basket &&
7328
9063
  this.originalUserSearch.chosenSearchType === exports.FlightSearchType.oneWay &&
7329
9064
  direction === exports.FlightDirectionEnum.Outbound) {
7330
- // TODO becouse pop-up is not ready I commented the code.
9065
+ // TODO becouse pop-up is not ready I commented the code.
7331
9066
  // this.modalService.open( ModalTypes.FlightExtrasDialogComponent, { centered: true }, { flight: selectedFlight }).then(result => {
7332
9067
  // if (result) {
7333
9068
  this.bookSingleFlight(intBasket, selectedFlight);
@@ -7442,7 +9177,7 @@
7442
9177
  if (inboundDate) {
7443
9178
  booking.inboundDate = inboundDate;
7444
9179
  }
7445
- this.basketService.addToBasket(booking, intBasket, this.searchService, this.travellers);
9180
+ this.basketService.addToBasket(booking, intBasket, this.searchService, this.travellers, selectedFlight.requiresReason);
7446
9181
  };
7447
9182
  FlightEnterpriseSearch.prototype.makeSchemaFlights = function (selectedFlight, flightGroup, groupIndex, segmentIndex) {
7448
9183
  return Object.assign(Object.assign({}, selectedFlight), { journeyInfo: {
@@ -7498,7 +9233,7 @@
7498
9233
  booking.inboundDate = inboundDate.format();
7499
9234
  schemaDetails.journeyType = 'roundtrip';
7500
9235
  }
7501
- return [2 /*return*/, this.basketService.addToBasket(booking, intBasket, this.searchService, this.travellers)];
9236
+ return [2 /*return*/, this.basketService.addToBasket(booking, intBasket, this.searchService, this.travellers, flightQuote.requiresReason)];
7502
9237
  }
7503
9238
  return [2 /*return*/, Promise.resolve(false)]; // TODO should this throw an error?
7504
9239
  }
@@ -7682,6 +9417,60 @@
7682
9417
  return this.searchService.saveFavouriteSearch(searchInfo);
7683
9418
  }
7684
9419
  };
9420
+ FlightEnterpriseSearch.prototype.applyFavourite = function (fav) {
9421
+ return __awaiter(this, void 0, void 0, function () {
9422
+ var multi;
9423
+ var _this = this;
9424
+ return __generator(this, function (_o) {
9425
+ switch (_o.label) {
9426
+ case 0:
9427
+ this.chosenSearchType = fav.multiDestination ? exports.FlightSearchType.multiCity : fav.returnTrip ? exports.FlightSearchType.return : exports.FlightSearchType.oneWay;
9428
+ if (!(this.chosenSearchType == exports.FlightSearchType.multiCity)) return [3 /*break*/, 2];
9429
+ return [4 /*yield*/, Promise.all(fav.multiDestination.map(function (a) { return __awaiter(_this, void 0, void 0, function () {
9430
+ var destination, _o, _p;
9431
+ return __generator(this, function (_q) {
9432
+ switch (_q.label) {
9433
+ case 0:
9434
+ destination = { date: undefined, dest: undefined, orig: undefined };
9435
+ _o = destination;
9436
+ return [4 /*yield*/, this.searchService.getAirportsList(a.orig).toPromise().then(function (origResults) {
9437
+ return origResults.find(function (b) { return b.gateway == a.orig; });
9438
+ })];
9439
+ case 1:
9440
+ _o.orig = _q.sent();
9441
+ _p = destination;
9442
+ return [4 /*yield*/, this.searchService.getAirportsList(a.dest).toPromise().then(function (destResults) {
9443
+ return destResults.find(function (b) { return b.gateway == a.dest; });
9444
+ })];
9445
+ case 2:
9446
+ _p.dest = _q.sent();
9447
+ return [2 /*return*/, destination];
9448
+ }
9449
+ });
9450
+ }); }))];
9451
+ case 1:
9452
+ multi = _o.sent();
9453
+ this.multiDestination = multi;
9454
+ return [3 /*break*/, 3];
9455
+ case 2:
9456
+ this.searchService.getAirportsList(fav.originAirport).subscribe(function (results) {
9457
+ _this.departLocation = results.find(function (a) { return a.gateway == fav.originAirport; });
9458
+ });
9459
+ this.searchService.getAirportsList(fav.destinationAirport).subscribe(function (results) {
9460
+ _this.arriveLocation = results.find(function (a) { return a.gateway == fav.destinationAirport; });
9461
+ });
9462
+ _o.label = 3;
9463
+ case 3:
9464
+ this.cabinClass = fav.outboundCabinClass[0];
9465
+ this.returnCabinClass = this.chosenSearchType != exports.FlightSearchType.return ? null : fav.returnCabinClass[0];
9466
+ this.includeNearbyAirports = fav.includeNearbyAirports;
9467
+ this.adults = fav.passengers.filter(function (a) { return a.type == "ADULT"; }).length;
9468
+ this.children = fav.passengers.filter(function (a) { return a.type == "CHILD"; }).length;
9469
+ return [2 /*return*/];
9470
+ }
9471
+ });
9472
+ });
9473
+ };
7685
9474
  FlightEnterpriseSearch.prototype.updateSerchQuery = function (query) {
7686
9475
  var searchQuery = query;
7687
9476
  switch (this.chosenSearchType) {
@@ -8146,6 +9935,13 @@
8146
9935
  enumerable: false,
8147
9936
  configurable: true
8148
9937
  });
9938
+ Object.defineProperty(HotelEnterpriseSearch.prototype, "max_no_of_rooms", {
9939
+ get: function () {
9940
+ return this._max_no_of_rooms;
9941
+ },
9942
+ enumerable: false,
9943
+ configurable: true
9944
+ });
8149
9945
  Object.defineProperty(HotelEnterpriseSearch.prototype, "distance_list", {
8150
9946
  get: function () {
8151
9947
  return this._distance_list;
@@ -8440,7 +10236,7 @@
8440
10236
  break;
8441
10237
  case exports.LocationTypes.TrainStation:
8442
10238
  this.getRailStationByCode(recentSearch.searchArgs.trainStationCode).subscribe(function (trainsStation) {
8443
- _this.trainsStation = trainsStation;
10239
+ _this.trainsStation = Object.assign(Object.assign({}, trainsStation), { type: exports.LocationTypes.TrainStation });
8444
10240
  _this.searchService.startSearches();
8445
10241
  });
8446
10242
  break;
@@ -8753,34 +10549,41 @@
8753
10549
  };
8754
10550
  HotelEnterpriseSearch.prototype.updateFromPreviousSearches = function (previousItems) {
8755
10551
  var _a, _b;
8756
- console.log("PREPOPULATING HOTEL FORM");
10552
+ console.log('PREPOPULATING HOTEL FORM');
8757
10553
  var flightItem = (_a = previousItems[ServiceType.Flight]) === null || _a === void 0 ? void 0 : _a.searchQuery;
8758
10554
  var railItem = (_b = previousItems[ServiceType.Rail]) === null || _b === void 0 ? void 0 : _b.searchQuery;
8759
10555
  if (flightItem) {
8760
10556
  try {
8761
10557
  this.location_type_select = exports.LocationTypes.Airport;
8762
- this.checkin_date = this.searchService.searches[ServiceType.Flight].outBoundDate;
8763
- this.checkout_date = this.searchService.searches[ServiceType.Flight].inboundDate;
10558
+ this.checkin_date =
10559
+ this.searchService.searches[ServiceType.Flight].outBoundDate;
10560
+ this.checkout_date =
10561
+ this.searchService.searches[ServiceType.Flight].inboundDate;
8764
10562
  this.location = {
8765
- name: this.searchService.searches[ServiceType.Flight].arriveLocation.destination,
10563
+ name: this.searchService.searches[ServiceType.Flight]
10564
+ .arriveLocation.destination,
8766
10565
  type: 'Airport',
8767
10566
  airport: this.searchService.searches[ServiceType.Flight].arriveLocation
8768
10567
  };
8769
10568
  }
8770
10569
  catch (_c) {
8771
- console.error("Error trying to prepopulate hotel from flight item");
10570
+ console.error('Error trying to prepopulate hotel from flight item');
8772
10571
  }
8773
10572
  }
8774
10573
  else if (railItem) {
8775
10574
  try {
8776
10575
  this.location_type_select = exports.LocationTypes.TrainStation;
8777
- this.checkin_date = this.searchService.searches[ServiceType.Rail].outBoundDateTime;
8778
- this.checkout_date = this.searchService.searches[ServiceType.Rail].inBoundDateTime;
8779
- this.trainsStation = this.searchService.searches[ServiceType.Rail].travellingTo;
8780
- this.location = this.searchService.searches[ServiceType.Rail].travellingTo;
10576
+ this.checkin_date =
10577
+ this.searchService.searches[ServiceType.Rail].outBoundDateTime;
10578
+ this.checkout_date =
10579
+ this.searchService.searches[ServiceType.Rail].inBoundDateTime;
10580
+ this.trainsStation = this.searchService.searches[ServiceType.Rail]
10581
+ .travellingTo;
10582
+ this.location = this.searchService.searches[ServiceType.Rail]
10583
+ .travellingTo;
8781
10584
  }
8782
10585
  catch (_d) {
8783
- console.error("Error trying to prepopulate hotel from rail item");
10586
+ console.error('Error trying to prepopulate hotel from rail item');
8784
10587
  }
8785
10588
  }
8786
10589
  };
@@ -9018,7 +10821,7 @@
9018
10821
  }, intBasket, _this.searchService,
9019
10822
  // this is an array of 1 or 2 travellers which go in 1 room
9020
10823
  // chunk
9021
- bookedTravellersChunks_1[index] || []);
10824
+ bookedTravellersChunks_1[index] || [], hotelRoom.requiresReason);
9022
10825
  // if (index === bookedTravellersChunks.length - 1) {
9023
10826
  if (index === roomArray_1.length - 1) {
9024
10827
  return Promise.resolve(true);
@@ -9069,9 +10872,37 @@
9069
10872
  return this.searchService.saveFavouriteSearch(searchInfo);
9070
10873
  }
9071
10874
  };
10875
+ HotelEnterpriseSearch.prototype.applyFavourite = function (fav) {
10876
+ return __awaiter(this, void 0, void 0, function () {
10877
+ var location;
10878
+ return __generator(this, function (_g) {
10879
+ this.no_of_occupants = fav.adults;
10880
+ this.no_of_rooms = fav.rooms;
10881
+ this.distance = fav.distance;
10882
+ this.currency = fav.currency;
10883
+ location = { latitude: fav.latitude, longitude: fav.longitude, countryCode: fav.countryCode, name: fav.cityName };
10884
+ if (fav.trainStationCode)
10885
+ location.type = exports.LocationTypes.TrainStation;
10886
+ else if (fav.officeId)
10887
+ location.type = exports.LocationTypes.Office;
10888
+ else if (fav.iata)
10889
+ location.type = exports.LocationTypes.Airport;
10890
+ else if (fav.postOrZipCode)
10891
+ location.type = exports.LocationTypes.Postcode;
10892
+ else
10893
+ location.type = exports.LocationTypes.City;
10894
+ this.location = location;
10895
+ this.hotel_name = fav.hotelName;
10896
+ if (fav.groupName)
10897
+ this.hotel_chain = { name: fav.groupName };
10898
+ else
10899
+ this.hotel_chain = null;
10900
+ return [2 /*return*/];
10901
+ });
10902
+ });
10903
+ };
9072
10904
  return HotelEnterpriseSearch;
9073
10905
  }(BaseEnterpriseSearch));
9074
- HotelEnterpriseSearch.MAX_HOTEL_ROOMS = 4;
9075
10906
  HotelEnterpriseSearch.STORAGE_SESSION_PARAMS = 'search_hotel';
9076
10907
  HotelEnterpriseSearch.STORAGE_SESSION_RESULTS = 'results_hotel';
9077
10908
 
@@ -9392,16 +11223,21 @@
9392
11223
  };
9393
11224
  LoungesEnterpriseSearch.prototype.updateFromPreviousSearches = function (previousItems) {
9394
11225
  var _a;
9395
- console.log("PREPOPULATING LOUNGE FORM");
11226
+ console.log('PREPOPULATING LOUNGE FORM');
9396
11227
  var flightItem = (_a = previousItems[ServiceType.Flight]) === null || _a === void 0 ? void 0 : _a.searchQuery;
9397
11228
  if (flightItem) {
9398
11229
  try {
9399
11230
  var date = this.searchService.searches[ServiceType.Flight].outBoundDate.toDate();
9400
- this.date = { day: date.getUTCDate(), month: date.getUTCMonth() + 1, year: date.getUTCFullYear() };
9401
- this.locationCode = this.searchService.searches[ServiceType.Flight].arriveLocation;
11231
+ this.date = {
11232
+ day: date.getUTCDate(),
11233
+ month: date.getUTCMonth() + 1,
11234
+ year: date.getUTCFullYear()
11235
+ };
11236
+ this.locationCode = this.searchService.searches[ServiceType.Flight]
11237
+ .arriveLocation;
9402
11238
  }
9403
11239
  catch (_b) {
9404
- console.error("Error trying to prepopulate parking from lounge item");
11240
+ console.error('Error trying to prepopulate parking from lounge item');
9405
11241
  }
9406
11242
  }
9407
11243
  };
@@ -9451,7 +11287,7 @@
9451
11287
  currency: loungeQuote.currency,
9452
11288
  searchQuery: loungeQuery,
9453
11289
  outboundDate: loungeQuery.arrivalDatetime.format()
9454
- }, intBasket, this.searchService, this.travellers)];
11290
+ }, intBasket, this.searchService, this.travellers, loungeQuote.requiresReason)];
9455
11291
  }
9456
11292
  return [2 /*return*/, Promise.resolve(false)]; // TODO should this throw an error?
9457
11293
  }
@@ -9544,6 +11380,21 @@
9544
11380
  return this.searchService.saveFavouriteSearch(searchInfo);
9545
11381
  }
9546
11382
  };
11383
+ LoungesEnterpriseSearch.prototype.applyFavourite = function (fav) {
11384
+ return __awaiter(this, void 0, void 0, function () {
11385
+ var _this = this;
11386
+ return __generator(this, function (_g) {
11387
+ this.searchService.getAirportsList(fav.locationCode).subscribe(function (a) {
11388
+ _this.locationCode = a.find(function (a) { return a.gateway == fav.locationCode; });
11389
+ _this.terminal = fav.terminal;
11390
+ });
11391
+ this.adults = fav.adults;
11392
+ this.children = fav.children;
11393
+ this.infants = fav.infants;
11394
+ return [2 /*return*/];
11395
+ });
11396
+ });
11397
+ };
9547
11398
  return LoungesEnterpriseSearch;
9548
11399
  }(BaseEnterpriseSearch));
9549
11400
  LoungesEnterpriseSearch.STORAGE_SESSION_PARAMS = 'search_lounge';
@@ -9963,18 +11814,27 @@
9963
11814
  };
9964
11815
  ParkingEnterpriseSearch.prototype.updateFromPreviousSearches = function (previousItems) {
9965
11816
  var _a;
9966
- console.log("PREPOPULATING PARKING FORM");
11817
+ console.log('PREPOPULATING PARKING FORM');
9967
11818
  var flightItem = (_a = previousItems[ServiceType.Flight]) === null || _a === void 0 ? void 0 : _a.searchQuery;
9968
11819
  if (flightItem) {
9969
11820
  try {
9970
11821
  var startDate = this.searchService.searches[ServiceType.Flight].outBoundDate.toDate();
9971
11822
  var endDate = this.searchService.searches[ServiceType.Flight].inboundDate.toDate();
9972
- this.outdate = { day: startDate.getUTCDate(), month: startDate.getUTCMonth() + 1, year: startDate.getUTCFullYear() };
9973
- this.indate = { day: endDate.getUTCDate(), month: endDate.getUTCMonth() + 1, year: endDate.getUTCFullYear() };
9974
- this.locationCode = this.searchService.searches[ServiceType.Flight].arriveLocation;
11823
+ this.outdate = {
11824
+ day: startDate.getUTCDate(),
11825
+ month: startDate.getUTCMonth() + 1,
11826
+ year: startDate.getUTCFullYear()
11827
+ };
11828
+ this.indate = {
11829
+ day: endDate.getUTCDate(),
11830
+ month: endDate.getUTCMonth() + 1,
11831
+ year: endDate.getUTCFullYear()
11832
+ };
11833
+ this.locationCode = this.searchService.searches[ServiceType.Flight]
11834
+ .arriveLocation;
9975
11835
  }
9976
11836
  catch (_b) {
9977
- console.error("Error trying to prepopulate parking from flight item");
11837
+ console.error('Error trying to prepopulate parking from flight item');
9978
11838
  }
9979
11839
  }
9980
11840
  };
@@ -10007,7 +11867,7 @@
10007
11867
  searchQuery: parkingQuery,
10008
11868
  outboundDate: parkingQuery.arrivalDatetime.format(),
10009
11869
  inboundDate: parkingQuery.departDatetime.format()
10010
- }, intBasket, this.searchService, this.travellers)];
11870
+ }, intBasket, this.searchService, this.travellers, parkingQuote.requiresReason)];
10011
11871
  }
10012
11872
  return [2 /*return*/, Promise.resolve(false)];
10013
11873
  }
@@ -10080,6 +11940,18 @@
10080
11940
  return this.searchService.saveFavouriteSearch(searchInfo);
10081
11941
  }
10082
11942
  };
11943
+ ParkingEnterpriseSearch.prototype.applyFavourite = function (fav) {
11944
+ return __awaiter(this, void 0, void 0, function () {
11945
+ var _this = this;
11946
+ return __generator(this, function (_g) {
11947
+ this.searchService.getAirportsList(fav.locationCode).subscribe(function (a) {
11948
+ _this.locationCode = a.find(function (a) { return a.gateway == fav.locationCode; });
11949
+ _this.terminal = fav.terminal;
11950
+ });
11951
+ return [2 /*return*/];
11952
+ });
11953
+ });
11954
+ };
10083
11955
  return ParkingEnterpriseSearch;
10084
11956
  }(BaseEnterpriseSearch));
10085
11957
  ParkingEnterpriseSearch.STORAGE_SESSION_PARAMS = 'search_parking';
@@ -10814,7 +12686,8 @@
10814
12686
  price: NaN,
10815
12687
  currency: 'GBP',
10816
12688
  selected: false
10817
- }
12689
+ },
12690
+ requiresReason: false
10818
12691
  };
10819
12692
  // returnObject.duration = results.outboundTotalDuration;
10820
12693
  results.forEach(function (flight) {
@@ -10884,7 +12757,7 @@
10884
12757
  });
10885
12758
  this.validationMessages = [];
10886
12759
  if (!this._originAirport) {
10887
- this.validationMessages.push('Please add in a departutre location');
12760
+ this.validationMessages.push('Please add in a departure location');
10888
12761
  }
10889
12762
  if (!this._destinationAirport) {
10890
12763
  this.validationMessages.push('Please add in a arrival destination');
@@ -10916,10 +12789,12 @@
10916
12789
  return this.tempParams.returnCabinClass === FlightCabinClass.Any;
10917
12790
  case FlightCabinClass.Economy:
10918
12791
  case FlightCabinClass.PremiumEconomy:
10919
- return this.tempParams.returnCabinClass !== FlightCabinClass.Business && this.tempParams.returnCabinClass !== FlightCabinClass.Any;
12792
+ return (this.tempParams.returnCabinClass !== FlightCabinClass.Business &&
12793
+ this.tempParams.returnCabinClass !== FlightCabinClass.Any);
10920
12794
  case FlightCabinClass.Business:
10921
12795
  return !(this.tempParams.returnCabinClass === FlightCabinClass.Economy ||
10922
- this.tempParams.returnCabinClass === FlightCabinClass.PremiumEconomy ||
12796
+ this.tempParams.returnCabinClass ===
12797
+ FlightCabinClass.PremiumEconomy ||
10923
12798
  this.tempParams.returnCabinClass === FlightCabinClass.Any);
10924
12799
  default:
10925
12800
  return true;
@@ -10961,8 +12836,10 @@
10961
12836
  }
10962
12837
  searchQuery.outboundCabinClassName = this.turnCabinTypeToName(this.tempParams.cabinClass);
10963
12838
  if (this.isReturn) {
10964
- searchQuery.returnCabinClassName = this.tempParams.cabinClass === this.tempParams.returnCabinClass ?
10965
- searchQuery.outboundCabinClassName : this.turnCabinTypeToName(this.tempParams.returnCabinClass);
12839
+ searchQuery.returnCabinClassName =
12840
+ this.tempParams.cabinClass === this.tempParams.returnCabinClass
12841
+ ? searchQuery.outboundCabinClassName
12842
+ : this.turnCabinTypeToName(this.tempParams.returnCabinClass);
10966
12843
  }
10967
12844
  return searchQuery;
10968
12845
  };
@@ -11393,7 +13270,7 @@
11393
13270
  outboundFlights: [this.makeSchemaFlights(fare.fare, 'outbound', 0)],
11394
13271
  inboundFlights: [],
11395
13272
  journeyType: 'single'
11396
- }, selectedEurostar.dateDeparture, null, fare.price);
13273
+ }, selectedEurostar.dateDeparture, null, fare.price, selectedEurostar.requiresReason);
11397
13274
  return [2 /*return*/];
11398
13275
  }
11399
13276
  // return logic needs updating - either accept outbound or return and somehow distiguish them
@@ -11414,7 +13291,7 @@
11414
13291
  this.makeSchemaFlights(fare.fare, 'outbound', 0)
11415
13292
  ],
11416
13293
  journeyType: 'roundtrip'
11417
- }, selectedEurostar.dateDeparture, this.selectedGroupEurostar.item.dateArrival, price);
13294
+ }, selectedEurostar.dateDeparture, this.selectedGroupEurostar.item.dateArrival, price, selectedEurostar.requiresReason);
11418
13295
  this.resetSelectedFares();
11419
13296
  this.basketService.toggleMenu();
11420
13297
  this.results.next(this.fullResults.map(this.removeSelectedFlags));
@@ -11453,7 +13330,7 @@
11453
13330
  ],
11454
13331
  inboundFlights: [this.makeSchemaFlights(fare.fare, 'inbound', 0)],
11455
13332
  journeyType: 'roundtrip'
11456
- }, selectedEurostar.dateDeparture, this.selectedGroupEurostar.item.dateArrival, price);
13333
+ }, selectedEurostar.dateDeparture, this.selectedGroupEurostar.item.dateArrival, price, selectedEurostar.requiresReason);
11457
13334
  this.resetSelectedFares();
11458
13335
  this.basketService.toggleMenu();
11459
13336
  this.results.next(this.fullResults.map(this.removeSelectedFlags));
@@ -11525,7 +13402,7 @@
11525
13402
  return cheapestPrice;
11526
13403
  }, { amount: Number.MAX_SAFE_INTEGER, currencyCode: currency });
11527
13404
  };
11528
- EurostarEnterpriseSearch.prototype.doBooking = function (intBasket, selectedFlight, schemaDetails, outboundDate, inboundDate, price) {
13405
+ EurostarEnterpriseSearch.prototype.doBooking = function (intBasket, selectedFlight, schemaDetails, outboundDate, inboundDate, price, requiresReason) {
11529
13406
  var sourceId = selectedFlight.sourceId, co2PerItem = selectedFlight.co2PerItem, co2PerPassenger = selectedFlight.co2PerPassenger, total = selectedFlight.total;
11530
13407
  var booking = {
11531
13408
  adults: this.adults,
@@ -11543,7 +13420,7 @@
11543
13420
  if (inboundDate) {
11544
13421
  booking.inboundDate = inboundDate;
11545
13422
  }
11546
- this.basketService.addToBasket(booking, intBasket, this.searchService, this.travellers);
13423
+ this.basketService.addToBasket(booking, intBasket, this.searchService, this.travellers, requiresReason);
11547
13424
  };
11548
13425
  EurostarEnterpriseSearch.prototype.makeSchemaFlights = function (selectedFlight, flightGroup, groupIndex, segmentIndex) {
11549
13426
  return Object.assign(Object.assign({}, selectedFlight), { journeyInfo: {
@@ -11661,7 +13538,7 @@
11661
13538
  booking.inboundDate = inboundDate.format();
11662
13539
  schemaDetails.journeyType = 'roundtrip';
11663
13540
  }
11664
- return [2 /*return*/, this.basketService.addToBasket(booking, intBasket, this.searchService, this.travellers)];
13541
+ return [2 /*return*/, this.basketService.addToBasket(booking, intBasket, this.searchService, this.travellers, eurostarQuote.requiresReason)];
11665
13542
  }
11666
13543
  return [2 /*return*/, Promise.resolve(false)]; // TODO should this throw an error?
11667
13544
  }
@@ -11814,6 +13691,26 @@
11814
13691
  return this.searchService.saveFavouriteSearch(searchInfo);
11815
13692
  }
11816
13693
  };
13694
+ EurostarEnterpriseSearch.prototype.applyFavourite = function (fav) {
13695
+ return __awaiter(this, void 0, void 0, function () {
13696
+ var _this = this;
13697
+ return __generator(this, function (_e) {
13698
+ this.fareType = fav.fareType;
13699
+ this.includeNearbyAirports = fav.includeNearbyAirports;
13700
+ this.chosenSearchType = fav.returnTrip ? exports.EurostarSearchType.return : exports.EurostarSearchType.oneWay;
13701
+ this.searchService.getAirportsList(fav.originAirport).subscribe(function (results) {
13702
+ _this.departLocation = results.find(function (a) { return a.gateway == fav.originAirport; });
13703
+ });
13704
+ this.searchService.getAirportsList(fav.destinationAirport).subscribe(function (results) {
13705
+ _this.arriveLocation = results.find(function (a) { return a.gateway == fav.destinationAirport; });
13706
+ });
13707
+ this._passengers = fav.passengers;
13708
+ this.adults = fav.passengers.filter(function (a) { return a.type == "ADULT"; }).length;
13709
+ this.children = fav.passengers.filter(function (a) { return a.type == "CHILD"; }).length;
13710
+ return [2 /*return*/];
13711
+ });
13712
+ });
13713
+ };
11817
13714
  EurostarEnterpriseSearch.prototype.openEurostarFareRules = function (basketItem) {
11818
13715
  var _this = this;
11819
13716
  var flights = __spread(basketItem.detail.outboundFlights);
@@ -12151,6 +14048,9 @@
12151
14048
  if ((_a = tt === null || tt === void 0 ? void 0 : tt.railstation) === null || _a === void 0 ? void 0 : _a.id) {
12152
14049
  this._travellingTo = tt.railstation.id;
12153
14050
  }
14051
+ else if (tt === null || tt === void 0 ? void 0 : tt.id) {
14052
+ this._travellingTo = tt.id;
14053
+ }
12154
14054
  this._isValid();
12155
14055
  },
12156
14056
  enumerable: false,
@@ -12167,6 +14067,9 @@
12167
14067
  if ((_a = tt === null || tt === void 0 ? void 0 : tt.railstation) === null || _a === void 0 ? void 0 : _a.id) {
12168
14068
  this._travellingFrom = tt.railstation.id;
12169
14069
  }
14070
+ else if (tt === null || tt === void 0 ? void 0 : tt.id) {
14071
+ this._travellingFrom = tt.id;
14072
+ }
12170
14073
  this._isValid();
12171
14074
  },
12172
14075
  enumerable: false,
@@ -12570,7 +14473,7 @@
12570
14473
  inboundCheapest: inPrices.cheapestTickets,
12571
14474
  cheapestClassTicket: inPrices.cheapestClassTicket,
12572
14475
  cheapestClassTicketReturn: outPrices.outboundClassTicket,
12573
- cheapestClassTicketDual: inPrices.outboundClassTicket,
14476
+ cheapestClassTicketDual: inPrices.outboundClassTicket
12574
14477
  });
12575
14478
  return Object.assign(Object.assign({}, railResult), { outbound: outbound, return: inbound });
12576
14479
  });
@@ -12651,7 +14554,8 @@
12651
14554
  if (isStandardClassSingle) {
12652
14555
  var inboundPrice = min(prices1.cheapestClassTicket.inboundStandardClassFare, dualSingleStandardJourneys, journey);
12653
14556
  var outboundTotalPrice = prices1.cheapestClassTicket.standardClassFare.price;
12654
- if (outboundTotalPrice > prices1.outboundClassTicket.standardClassFare.price) {
14557
+ if (outboundTotalPrice >
14558
+ prices1.outboundClassTicket.standardClassFare.price) {
12655
14559
  prices1.cheapestClassTicket.standardClassFare =
12656
14560
  prices1.outboundClassTicket.standardClassFare;
12657
14561
  // prices1.cheapestClassTicket.inboundStandardClassFare = {
@@ -12660,7 +14564,8 @@
12660
14564
  // fare: null
12661
14565
  // };
12662
14566
  }
12663
- else if (inboundPrice.price > prices1.cheapestClassTicket.inboundStandardClassFare.price) {
14567
+ else if (inboundPrice.price >
14568
+ prices1.cheapestClassTicket.inboundStandardClassFare.price) {
12664
14569
  prices1.cheapestClassTicket.inboundStandardClassFare =
12665
14570
  inboundPrice;
12666
14571
  }
@@ -12679,7 +14584,8 @@
12679
14584
  // fare: null
12680
14585
  // };
12681
14586
  }
12682
- else if (inboundPrice.price > prices1.cheapestClassTicket.inboundFirstClassFare.price) {
14587
+ else if (inboundPrice.price >
14588
+ prices1.cheapestClassTicket.inboundFirstClassFare.price) {
12683
14589
  prices1.cheapestClassTicket.inboundFirstClassFare = inboundPrice;
12684
14590
  }
12685
14591
  }
@@ -13084,14 +14990,16 @@
13084
14990
  fareIdentifiers: [outboundFare.identifiers.fareIdentifier],
13085
14991
  journeyIdentifier: outboundFare.identifiers.journeyIdentifier,
13086
14992
  isDualSingleReturn: true,
13087
- journeyLegs: this.removedScheduledPlatformFromCallingPoints(outbound.journeyLegs)
14993
+ journeyLegs: this.removedScheduledPlatformFromCallingPoints(outbound.journeyLegs),
14994
+ eTicket: !!outboundFare.eTicketAvailable
13088
14995
  },
13089
14996
  // ticketQueueList,
13090
14997
  return: {
13091
14998
  fareIdentifiers: [inboundFare.identifiers.fareIdentifier],
13092
14999
  journeyIdentifier: inboundFare.identifiers.journeyIdentifier,
13093
15000
  isDualSingleReturn: true,
13094
- journeyLegs: this.removedScheduledPlatformFromCallingPoints(inbound.journeyLegs)
15001
+ journeyLegs: this.removedScheduledPlatformFromCallingPoints(inbound.journeyLegs),
15002
+ eTicket: !!inboundFare.eTicketAvailable
13095
15003
  },
13096
15004
  termsAndCond: termsAndConditions
13097
15005
  },
@@ -13111,7 +15019,7 @@
13111
15019
  if (outTicketExtras) {
13112
15020
  basketItem.detail.outbound.ticketExtras = outTicketExtras;
13113
15021
  }
13114
- return [2 /*return*/, this.basketService.addToBasket(basketItem, intBasket, this.searchService, this.travellers)];
15022
+ return [2 /*return*/, this.basketService.addToBasket(basketItem, intBasket, this.searchService, this.travellers, outboundFare.requiresReason || inboundFare.requiresReason)];
13115
15023
  }
13116
15024
  return [2 /*return*/, Promise.resolve()];
13117
15025
  }
@@ -13427,6 +15335,7 @@
13427
15335
  },
13428
15336
  transactionIdentifier: railFare.identifiers.transactionIdentifier,
13429
15337
  outbound: {
15338
+ eTicket: !!railFare.eTicketAvailable,
13430
15339
  fareIdentifiers: [railFare.identifiers.fareIdentifier],
13431
15340
  journeyIdentifier: railFare.identifiers.journeyIdentifier,
13432
15341
  journeyLegs: this.removedScheduledPlatformFromCallingPoints(railJourneyOption.journeyLegs)
@@ -13446,7 +15355,7 @@
13446
15355
  if (outTicketExtras) {
13447
15356
  basketItem.detail.outbound.ticketExtras = outTicketExtras;
13448
15357
  }
13449
- return [2 /*return*/, this.basketService.addToBasket(basketItem, intBasket, this.searchService, this.travellers)];
15358
+ return [2 /*return*/, this.basketService.addToBasket(basketItem, intBasket, this.searchService, this.travellers, railFare.requiresReason)];
13450
15359
  }
13451
15360
  return [2 /*return*/, Promise.resolve()];
13452
15361
  }
@@ -13519,12 +15428,14 @@
13519
15428
  },
13520
15429
  transactionIdentifier: outboundFare.identifiers.transactionIdentifier,
13521
15430
  outbound: {
15431
+ eTicket: !!outboundFare.eTicketAvailable,
13522
15432
  fareIdentifiers: [outboundFare.identifiers.fareIdentifier],
13523
15433
  journeyIdentifier: outboundFare.identifiers.journeyIdentifier,
13524
15434
  journeyLegs: this.removedScheduledPlatformFromCallingPoints(outbound.journeyLegs)
13525
15435
  },
13526
15436
  // ticketQueueList,
13527
15437
  return: {
15438
+ eTicket: !!inboundFare.eTicketAvailable,
13528
15439
  fareIdentifiers: [inboundFare.identifiers.fareIdentifier],
13529
15440
  journeyIdentifier: inboundFare.identifiers.journeyIdentifier,
13530
15441
  journeyLegs: this.removedScheduledPlatformFromCallingPoints(inbound.journeyLegs)
@@ -13538,13 +15449,13 @@
13538
15449
  co2PerItem: outbound.co2PerItem,
13539
15450
  co2PerPassenger: outbound.co2PerPassenger,
13540
15451
  outboundDate: outbound.arriveDateTime,
13541
- inboundDate: inbound.arriveDateTime,
15452
+ inboundDate: inbound.arriveDateTime
13542
15453
  };
13543
15454
  // if ticketExtras exists add the object to basketItem
13544
15455
  if (ticketExtras) {
13545
15456
  basketItem.detail.outbound.ticketExtras = ticketExtras;
13546
15457
  }
13547
- return [2 /*return*/, this.basketService.addToBasket(basketItem, intBasket, this.searchService, this.travellers)];
15458
+ return [2 /*return*/, this.basketService.addToBasket(basketItem, intBasket, this.searchService, this.travellers, outboundFare.requiresReason || inboundFare.requiresReason)];
13548
15459
  }
13549
15460
  return [2 /*return*/, Promise.resolve(false)];
13550
15461
  }
@@ -13736,6 +15647,44 @@
13736
15647
  return this.searchService.saveFavouriteSearch(searchInfo);
13737
15648
  }
13738
15649
  };
15650
+ RailEnterpriseSearch.prototype.applyFavourite = function (fav) {
15651
+ return __awaiter(this, void 0, void 0, function () {
15652
+ var _this = this;
15653
+ return __generator(this, function (_h) {
15654
+ this.noOfAdults = fav.adults;
15655
+ this.noOfChildren = fav.children;
15656
+ this.chosenSearchType = fav.journeyType;
15657
+ switch (fav.class) {
15658
+ case "First":
15659
+ this.chosenRailClass = RailClass.First;
15660
+ break;
15661
+ case "Any":
15662
+ this.chosenRailClass = RailClass.All;
15663
+ break;
15664
+ case "Standard":
15665
+ this.chosenRailClass = RailClass.Standard;
15666
+ break;
15667
+ }
15668
+ this.getRailStationFetcher.fetchList({ id: fav.departureLocationId }).subscribe(function (a) {
15669
+ _this.travellingFrom = a;
15670
+ });
15671
+ this.getRailStationFetcher.fetchList({ id: fav.arrivalLocationId }).subscribe(function (a) {
15672
+ _this.travellingTo = a;
15673
+ });
15674
+ if (fav.viaLocationId) {
15675
+ this.getRailStationFetcher.fetchList({ id: fav.viaLocationId }).subscribe(function (a) {
15676
+ _this.viaLocation = a;
15677
+ });
15678
+ this.via = true;
15679
+ }
15680
+ else {
15681
+ this.viaLocation = null;
15682
+ this.via = false;
15683
+ }
15684
+ return [2 /*return*/];
15685
+ });
15686
+ });
15687
+ };
13739
15688
  return RailEnterpriseSearch;
13740
15689
  }(BaseEnterpriseSearch));
13741
15690
  RailEnterpriseSearch.STORAGE_SESSION_PARAMS = 'search_rail';
@@ -13804,12 +15753,13 @@
13804
15753
  })(exports.ClassType || (exports.ClassType = {}));
13805
15754
  var IRLEnterpriseSearch = /** @class */ (function (_super) {
13806
15755
  __extends(IRLEnterpriseSearch, _super);
13807
- function IRLEnterpriseSearch(Irlfetcher, irlDiscountCardsFetcher, helpers, basketService, storageService, searchService) {
15756
+ function IRLEnterpriseSearch(Irlfetcher, irlDiscountCardsFetcher, helpers, basketService, storageService, searchService, getIrlSupplierStationFetcher) {
13808
15757
  var _this = _super.call(this, storageService, helpers) || this;
13809
15758
  _this.Irlfetcher = Irlfetcher;
13810
15759
  _this.irlDiscountCardsFetcher = irlDiscountCardsFetcher;
13811
15760
  _this.basketService = basketService;
13812
15761
  _this.searchService = searchService;
15762
+ _this.getIrlSupplierStationFetcher = getIrlSupplierStationFetcher;
13813
15763
  _this.resultsSessionName = IRLEnterpriseSearch.STORAGE_SESSION_RESULTS;
13814
15764
  _this.multiResultsSessionName = IRLEnterpriseSearch.STORAGE_SESSION_RESULTS;
13815
15765
  _this._sortArray = [
@@ -13866,14 +15816,13 @@
13866
15816
  _this._outboundDepartureDateTime = null;
13867
15817
  _this._departureLocationId = null;
13868
15818
  _this._arrivalLocationId = null;
13869
- _this._adults = 0;
13870
15819
  _this._children = 0;
13871
15820
  _this._cheapestStandard = null;
13872
15821
  _this._cheapestFirst = null;
13873
15822
  _this._returnDepartureDateTime = null;
13874
15823
  _this._ageRange = null;
13875
- _this._priceDir = false;
13876
- _this._dateDir = false;
15824
+ _this._priceDir = true;
15825
+ _this._dateDir = true;
13877
15826
  _this._irlDiscountCardsArray = [];
13878
15827
  // !date and time is handled differently for LU
13879
15828
  _this._outbound_date = null;
@@ -13911,6 +15860,7 @@
13911
15860
  // searchService.startSearches();
13912
15861
  // }
13913
15862
  _this._cheapestResultPrice = _this.updateLowestPrice(results);
15863
+ _this.fullResults = results;
13914
15864
  _this.results.next(results || []);
13915
15865
  return _this;
13916
15866
  }
@@ -14063,10 +16013,10 @@
14063
16013
  });
14064
16014
  Object.defineProperty(IRLEnterpriseSearch.prototype, "adults", {
14065
16015
  get: function () {
14066
- return this._adults;
16016
+ return this.tempParams.adults;
14067
16017
  },
14068
16018
  set: function (data) {
14069
- this._adults = data;
16019
+ this.tempParams.adults = data;
14070
16020
  },
14071
16021
  enumerable: false,
14072
16022
  configurable: true
@@ -14463,10 +16413,16 @@
14463
16413
  IRLEnterpriseSearch.prototype.getSearchQuery = function () {
14464
16414
  var _this = this;
14465
16415
  // this.travellers = travellers;
14466
- this.noOfAdults = this.travellers.filter(function (traveller) { return traveller.ageType === exports.ages.Adult ||
14467
- traveller.ageType === exports.ages.Youth ||
14468
- traveller.ageType === exports.ages.Senior; }).length;
14469
- this.noOfChildren = this.travellers.filter(function (traveller) { return traveller.ageType === exports.ages.Child; }).length;
16416
+ if (!this.travellers) {
16417
+ this.noOfAdults = this.adults;
16418
+ this.noOfChildren = this.children;
16419
+ }
16420
+ else {
16421
+ this.noOfAdults = this.travellers.filter(function (traveller) { return traveller.ageType === exports.ages.Adult ||
16422
+ traveller.ageType === exports.ages.Youth ||
16423
+ traveller.ageType === exports.ages.Senior; }).length;
16424
+ this.noOfChildren = this.travellers.filter(function (traveller) { return traveller.ageType === exports.ages.Child; }).length;
16425
+ }
14470
16426
  if (!this.supplier && this.travellingFrom.name) {
14471
16427
  this.supplier = this.travellingFrom.railstation.supplier;
14472
16428
  this.getIrlDiscountCards().subscribe(function (data) {
@@ -14477,7 +16433,7 @@
14477
16433
  supplier: this.supplier,
14478
16434
  countryCode: 'GB',
14479
16435
  irlDiscountCards: this.discountCard ? this.discountCard.id : null,
14480
- class: this.irlClass,
16436
+ class: this.class,
14481
16437
  outboundDepartureDateTime: this.tempParams.outboundDepartureDateTime,
14482
16438
  departureLocationId: this._travellingFrom,
14483
16439
  arrivalLocationId: this._travellingTo,
@@ -14582,21 +16538,22 @@
14582
16538
  // co2PerPassenger: irlJourneyOption.co2PerPassenger,
14583
16539
  outboundDate: irlJourneyOption.departDateTime
14584
16540
  };
14585
- return [2 /*return*/, this.basketService.addToBasket(basketItem, intBasket, this.searchService, this.travellers)];
16541
+ return [2 /*return*/, this.basketService.addToBasket(basketItem, intBasket, this.searchService, this.travellers, false // TODO
16542
+ )];
14586
16543
  }
14587
16544
  return [2 /*return*/, Promise.resolve(false)];
14588
16545
  }
14589
16546
  });
14590
16547
  });
14591
16548
  };
14592
- IRLEnterpriseSearch.prototype.addReturnJourneyToBasket = function (serviceId, irlQuery, inbound, inJourneyOption) {
16549
+ IRLEnterpriseSearch.prototype.addReturnJourneyToBasket = function (serviceId, irlQuery, inbound, inJourneyOption, outboundTicket, outboundJourney) {
14593
16550
  return __awaiter(this, void 0, void 0, function () {
14594
16551
  var outbound, outJourneyOption, intBasket, basket, selectedIrlTicketOption, outboundLegs, inboundLegs, termsAndConditions, basketItem;
14595
16552
  return __generator(this, function (_e) {
14596
16553
  switch (_e.label) {
14597
16554
  case 0:
14598
- outbound = this.outboundTicket;
14599
- outJourneyOption = this.outboundJourneyOptions;
16555
+ outbound = outboundTicket ? outboundTicket : this.outboundTicket;
16556
+ outJourneyOption = outboundJourney ? outboundJourney : this.outboundJourneyOptions;
14600
16557
  return [4 /*yield*/, this.basketService.getDefaultBasket()];
14601
16558
  case 1:
14602
16559
  intBasket = _e.sent();
@@ -14636,7 +16593,7 @@
14636
16593
  supplierTickets: [
14637
16594
  {
14638
16595
  supplierName: inJourneyOption.providers[0].name,
14639
- ticketDescription: selectedIrlTicketOption.type,
16596
+ ticketDescription: inbound.type,
14640
16597
  legs: inboundLegs
14641
16598
  }
14642
16599
  ]
@@ -14652,7 +16609,7 @@
14652
16609
  termsAndCond: termsAndConditions
14653
16610
  },
14654
16611
  adults: irlQuery.adults,
14655
- price: selectedIrlTicketOption.price,
16612
+ price: Number((Number(selectedIrlTicketOption.price) + Number(inbound.price)).toFixed(2)),
14656
16613
  currency: selectedIrlTicketOption.currency,
14657
16614
  searchQuery: irlQuery,
14658
16615
  outboundDate: outJourneyOption.departDateTime
@@ -14660,7 +16617,9 @@
14660
16617
  // co2PerPassenger: outbound.co2PerPassenger
14661
16618
  };
14662
16619
  this.filterSelected();
14663
- return [2 /*return*/, this.basketService.addToBasket(basketItem, intBasket, this.searchService, this.travellers)];
16620
+ console.log(basketItem);
16621
+ return [2 /*return*/, this.basketService.addToBasket(basketItem, intBasket, this.searchService, this.travellers, false // TODO
16622
+ )];
14664
16623
  }
14665
16624
  return [2 /*return*/, Promise.resolve(false)];
14666
16625
  }
@@ -14717,9 +16676,12 @@
14717
16676
  * @returns
14718
16677
  * @memberof irl-enterprise-search
14719
16678
  */
14720
- IRLEnterpriseSearch.prototype.sortByPrice = function () {
16679
+ IRLEnterpriseSearch.prototype.sortByPrice = function (ignoreDirectionChange) {
14721
16680
  var _this = this;
14722
- this.priceDir = !this.priceDir;
16681
+ if (ignoreDirectionChange === void 0) { ignoreDirectionChange = false; }
16682
+ if (!ignoreDirectionChange) {
16683
+ this.priceDir = !this.priceDir;
16684
+ }
14723
16685
  var results = this.filterSelected(this._isFiltered);
14724
16686
  var byPrice = function (a, b) {
14725
16687
  return _this.priceDir
@@ -14738,9 +16700,12 @@
14738
16700
  * @returns
14739
16701
  * @memberof irl-enterprise-search
14740
16702
  */
14741
- IRLEnterpriseSearch.prototype.sortByDate = function () {
16703
+ IRLEnterpriseSearch.prototype.sortByDate = function (ignoreDirection) {
14742
16704
  var _this = this;
14743
- this.dateDir = !this.dateDir;
16705
+ if (ignoreDirection === void 0) { ignoreDirection = false; }
16706
+ if (!ignoreDirection) {
16707
+ this.dateDir = !this.dateDir;
16708
+ }
14744
16709
  var results = this.filterSelected(this._isFiltered);
14745
16710
  var byDate = function (a, b) {
14746
16711
  return _this.dateDir
@@ -14825,6 +16790,171 @@
14825
16790
  return this.searchService.saveFavouriteSearch(searchInfo);
14826
16791
  }
14827
16792
  };
16793
+ IRLEnterpriseSearch.prototype.generateFilters = function (results) {
16794
+ // first of all we need to find the min price and the max price
16795
+ if (!(results === null || results === void 0 ? void 0 : results.length)) {
16796
+ return;
16797
+ }
16798
+ var priceMax = null;
16799
+ var priceMin = null;
16800
+ var dateDepMin = null;
16801
+ var dateDepMax = null;
16802
+ var dateArrMin = null;
16803
+ var dateArrMax = null;
16804
+ var classObject = {};
16805
+ var changesObject = {};
16806
+ results.forEach(function (result) {
16807
+ result.providers[0].ticketOptions.forEach(function (ticket) {
16808
+ if (!priceMax || priceMax < ticket.price) {
16809
+ priceMax = Math.ceil(ticket.price);
16810
+ }
16811
+ });
16812
+ if (!priceMin || priceMin > result.providers[0].cheapestTicket.price) {
16813
+ priceMin = Math.floor(result.providers[0].cheapestTicket.price);
16814
+ }
16815
+ if (!dateDepMin || moment__default['default'](result.departDateTime).isBefore(moment__default['default'](dateDepMin))) {
16816
+ dateDepMin = Number(moment__default['default'](result.departDateTime).format('HHmm'));
16817
+ }
16818
+ if (!dateDepMax || moment__default['default'](result.departDateTime).isAfter(moment__default['default'](dateDepMax))) {
16819
+ dateDepMax = Number(moment__default['default'](result.departDateTime).format('HHmm'));
16820
+ }
16821
+ if (!dateArrMin || moment__default['default'](result.arriveDateTime).isBefore(moment__default['default'](dateArrMin))) {
16822
+ dateArrMin = Number(moment__default['default'](result.arriveDateTime).format('HHmm'));
16823
+ }
16824
+ if (!dateArrMax || moment__default['default'](result.arriveDateTime).isAfter(moment__default['default'](dateArrMax))) {
16825
+ dateArrMax = Number(moment__default['default'](result.arriveDateTime).format('HHmm'));
16826
+ }
16827
+ changesObject[result.segments.length - 1] = {
16828
+ key: result.segments.length - 1,
16829
+ title: result.segments.length - 1 + " changes",
16830
+ selected: false
16831
+ };
16832
+ result.providers[0].ticketOptions.forEach(function (ticket) {
16833
+ if (ticket.class === '1') {
16834
+ classObject['First'] = {
16835
+ key: exports.ClassType.Class_1,
16836
+ title: 'First',
16837
+ selected: false
16838
+ };
16839
+ }
16840
+ else if (ticket.class === '2') {
16841
+ classObject['Second'] = {
16842
+ key: exports.ClassType.Class_2,
16843
+ title: 'Second',
16844
+ selected: false
16845
+ };
16846
+ }
16847
+ });
16848
+ });
16849
+ var retObject = {
16850
+ priceMax: priceMax,
16851
+ priceMin: priceMin,
16852
+ dateArrMax: dateArrMax,
16853
+ dateArrMin: dateArrMin,
16854
+ dateDepMax: dateDepMax,
16855
+ dateDepMin: dateDepMin,
16856
+ classes: Object.values(classObject),
16857
+ changes: Object.values(changesObject)
16858
+ };
16859
+ console.log(retObject);
16860
+ return retObject;
16861
+ };
16862
+ IRLEnterpriseSearch.prototype.applyFilters = function (filters, direction) {
16863
+ if (direction === void 0) { direction = 'O'; }
16864
+ var fullResultsCopy = this.helpers.clone(this.fullResults);
16865
+ var dirResults;
16866
+ switch (direction) {
16867
+ case 'O':
16868
+ dirResults = fullResultsCopy[0].outbound;
16869
+ break;
16870
+ case 'I':
16871
+ dirResults = fullResultsCopy[0].return;
16872
+ break;
16873
+ }
16874
+ // now first of all - apply the price filters
16875
+ dirResults = dirResults.filter(function (result) {
16876
+ var tickets = result.providers[0].ticketOptions.filter(function (ticket) {
16877
+ return ticket.price >= filters.priceMin && ticket.price <= filters.priceMax;
16878
+ });
16879
+ result.providers[0].ticketOptions = tickets;
16880
+ return tickets.length;
16881
+ });
16882
+ // times
16883
+ // dep
16884
+ dirResults = dirResults.filter(function (result) {
16885
+ var depTime = Number(moment__default['default'](result.departDateTime).format('HHmm'));
16886
+ return depTime >= filters.dateDepMin && depTime <= filters.dateDepMax;
16887
+ });
16888
+ // arr
16889
+ dirResults = dirResults.filter(function (result) {
16890
+ var arrTime = Number(moment__default['default'](result.arriveDateTime).format('HHmm'));
16891
+ return arrTime >= filters.dateArrMin && arrTime <= filters.dateArrMax;
16892
+ });
16893
+ // classes
16894
+ // first of all determine if any are selected
16895
+ var selectedClasses = filters.classes.filter(function (classF) {
16896
+ return classF.selected;
16897
+ });
16898
+ if (selectedClasses === null || selectedClasses === void 0 ? void 0 : selectedClasses.length) {
16899
+ dirResults = dirResults.filter(function (result) {
16900
+ var newTickets = [];
16901
+ console.log('og tickets:', result.providers[0].ticketOptions);
16902
+ result.providers[0].ticketOptions.forEach(function (ticket) {
16903
+ selectedClasses.forEach(function (classS) {
16904
+ if (ticket.class === classS.key) {
16905
+ newTickets.push(ticket);
16906
+ }
16907
+ });
16908
+ });
16909
+ console.log(newTickets);
16910
+ result.providers[0].ticketOptions = newTickets;
16911
+ return newTickets.length > 0;
16912
+ });
16913
+ }
16914
+ console.log(dirResults);
16915
+ // finally stops
16916
+ var selectedStops = filters.changes.filter(function (change) {
16917
+ return change.selected;
16918
+ });
16919
+ if (selectedStops.length) {
16920
+ dirResults = dirResults.filter(function (result) {
16921
+ for (var i = 0; i < selectedStops.length; i++) {
16922
+ if (result.segments.length - 1 === selectedStops[i].key) {
16923
+ return result;
16924
+ }
16925
+ }
16926
+ });
16927
+ }
16928
+ switch (direction) {
16929
+ case 'O':
16930
+ fullResultsCopy[0].outbound = dirResults;
16931
+ break;
16932
+ case 'I':
16933
+ fullResultsCopy[0].return = dirResults;
16934
+ break;
16935
+ }
16936
+ this.results.next(fullResultsCopy);
16937
+ };
16938
+ IRLEnterpriseSearch.prototype.applyFavourite = function (fav) {
16939
+ return __awaiter(this, void 0, void 0, function () {
16940
+ var _this = this;
16941
+ return __generator(this, function (_e) {
16942
+ this.getIrlSupplierStationFetcher.fetchList({ id: fav.departureLocationId }).subscribe(function (a) {
16943
+ _this.travellingFrom = a;
16944
+ });
16945
+ this.getIrlSupplierStationFetcher.fetchList({ id: fav.arrivalLocationId }).subscribe(function (a) {
16946
+ _this.travellingTo = a;
16947
+ });
16948
+ this.adults = fav.adults;
16949
+ this.children = fav.children;
16950
+ this.class = fav.class;
16951
+ this.countryCode = fav.countryCode;
16952
+ this.journeyType = fav.journeyType === "ReturnJourney" ? IrlJourneyType.ReturnJourney : IrlJourneyType.SingleJourney;
16953
+ this.supplier = fav.supplier;
16954
+ return [2 /*return*/];
16955
+ });
16956
+ });
16957
+ };
14828
16958
  return IRLEnterpriseSearch;
14829
16959
  }(BaseEnterpriseSearch));
14830
16960
  IRLEnterpriseSearch.STORAGE_SESSION_PARAMS = 'search_irl';
@@ -15062,7 +17192,7 @@
15062
17192
  item.format ||
15063
17193
  _this.schemaWidgetToFormat(item.widget) ||
15064
17194
  _this.schemaTypeToFormat(item.type);
15065
- if (item.oneOf && item.oneOf.length > 0 && item.format !== 'railSeating') {
17195
+ if (item.oneOf && item.oneOf.length > 0 && item.format !== 'railSeating' && item.format !== exports.SchemaFormat.selectQueue) {
15066
17196
  item.format = exports.SchemaFormat.select;
15067
17197
  }
15068
17198
  });
@@ -15407,6 +17537,18 @@
15407
17537
  return BaseGetRailStationFetcher;
15408
17538
  }(FetchableList));
15409
17539
 
17540
+ var BaseGetIrlSupplierStationFetcher = /** @class */ (function (_super) {
17541
+ __extends(BaseGetIrlSupplierStationFetcher, _super);
17542
+ function BaseGetIrlSupplierStationFetcher(gql, helpers, modalService) {
17543
+ return _super.call(this, gql, helpers, modalService) || this;
17544
+ }
17545
+ BaseGetIrlSupplierStationFetcher.prototype.getDataFromResult = function (results) {
17546
+ var _a;
17547
+ return (_a = results === null || results === void 0 ? void 0 : results.data) === null || _a === void 0 ? void 0 : _a.getIRLSupplierStation;
17548
+ };
17549
+ return BaseGetIrlSupplierStationFetcher;
17550
+ }(FetchableList));
17551
+
15410
17552
  var BaseGetRiskAlertsFetcher = /** @class */ (function (_super) {
15411
17553
  __extends(BaseGetRiskAlertsFetcher, _super);
15412
17554
  function BaseGetRiskAlertsFetcher(gql, helpers, modalService) {
@@ -15800,7 +17942,7 @@
15800
17942
  }
15801
17943
  BaseFastTrackQuoteFetcher.prototype.getDataFromResult = function (results) {
15802
17944
  var _a, _b;
15803
- return (_b = (_a = results === null || results === void 0 ? void 0 : results.data) === null || _a === void 0 ? void 0 : _a.seachFastTrack) === null || _b === void 0 ? void 0 : _b.results;
17945
+ return (_b = (_a = results === null || results === void 0 ? void 0 : results.data) === null || _a === void 0 ? void 0 : _a.searchFastTrack) === null || _b === void 0 ? void 0 : _b.results;
15804
17946
  };
15805
17947
  return BaseFastTrackQuoteFetcher;
15806
17948
  }(FetchableList));
@@ -15865,6 +18007,17 @@
15865
18007
  return BaseGetCarHireProvidersFetcher;
15866
18008
  }(FetchableList));
15867
18009
 
18010
+ var BaseGetCancellationInfoFetcher = /** @class */ (function (_super) {
18011
+ __extends(BaseGetCancellationInfoFetcher, _super);
18012
+ function BaseGetCancellationInfoFetcher(gql, modalService, helpers) {
18013
+ return _super.call(this, gql, modalService, helpers) || this;
18014
+ }
18015
+ BaseGetCancellationInfoFetcher.prototype.getDataFromResult = function (results) {
18016
+ return results === null || results === void 0 ? void 0 : results.data.getCancellationInfo;
18017
+ };
18018
+ return BaseGetCancellationInfoFetcher;
18019
+ }(FetchableObject));
18020
+
15868
18021
  // | 'fareTypes';
15869
18022
 
15870
18023
  ;
@@ -15951,12 +18104,72 @@
15951
18104
  return AuthInfo;
15952
18105
  }());
15953
18106
 
18107
+ var BaseRequiresReasonService = /** @class */ (function () {
18108
+ function BaseRequiresReasonService(modalService, basketService) {
18109
+ this.modalService = modalService;
18110
+ this.basketService = basketService;
18111
+ }
18112
+ BaseRequiresReasonService.prototype.addBasketItem = function (basket) {
18113
+ return __awaiter(this, void 0, void 0, function () {
18114
+ var basketItems, results_1;
18115
+ var _this = this;
18116
+ return __generator(this, function (_a) {
18117
+ switch (_a.label) {
18118
+ case 0:
18119
+ if (basket.id !== this.currentBasketid || this.workingOn) {
18120
+ return [2 /*return*/];
18121
+ }
18122
+ basketItems = basket.basketItems.filter(function (bi) {
18123
+ return (bi.requiresReason &&
18124
+ bi.managementInfo.filter(function (mi) {
18125
+ return mi.reason && mi.selectedValues.length === 0;
18126
+ }).length !== 0);
18127
+ });
18128
+ if (!(basketItems.length > 0)) return [3 /*break*/, 2];
18129
+ this.workingOn = {
18130
+ basket: basket,
18131
+ required: basketItems.reduce(function (required, bi) {
18132
+ required[bi.id] = bi.managementInfo.filter(function (mi) {
18133
+ return mi.reason && mi.selectedValues.length === 0;
18134
+ });
18135
+ return required;
18136
+ }, {})
18137
+ };
18138
+ return [4 /*yield*/, this.modalService.open(ModalTypes.RequiresReasonDialogComponent, { backdrop: 'static' }, this.workingOn)];
18139
+ case 1:
18140
+ results_1 = _a.sent();
18141
+ if (results_1) {
18142
+ this.workingOn.basket.basketItems.forEach(function (bi) {
18143
+ (bi.managementInfo || []).forEach(function (mi) {
18144
+ if (results_1[mi.id]) {
18145
+ _this.basketService.setMiSelectedValue(_this.workingOn.basket.id, mi, results_1[mi.id], null);
18146
+ }
18147
+ });
18148
+ });
18149
+ }
18150
+ else {
18151
+ Object.entries(this.workingOn.required).forEach(function (_a) {
18152
+ var _b = __read(_a, 2), biId = _b[0], mis = _b[1];
18153
+ _this.basketService.removeBasketItem(_this.workingOn.basket.id, _this.workingOn.basket.basketItems.find(function (bi) { return bi.id === biId; }));
18154
+ });
18155
+ }
18156
+ this.workingOn = null;
18157
+ _a.label = 2;
18158
+ case 2: return [2 /*return*/];
18159
+ }
18160
+ });
18161
+ });
18162
+ };
18163
+ return BaseRequiresReasonService;
18164
+ }());
18165
+
15954
18166
  var TEMPID = 'TEMPID_';
15955
18167
  var InternalBasket = /** @class */ (function () {
15956
- function InternalBasket(basket, helpers, basketService, getUserFetcher) {
18168
+ function InternalBasket(basket, helpers, basketService, getUserFetcher, requiresService) {
15957
18169
  this.helpers = helpers;
15958
18170
  this.basketService = basketService;
15959
18171
  this.getUserFetcher = getUserFetcher;
18172
+ this.requiresService = requiresService;
15960
18173
  Object.assign(this, {
15961
18174
  subject: new rxjs.BehaviorSubject(Object.assign(Object.assign({}, basket), { prices: {}, mixedCurrency: false, count: 0, miGroups: [], basketInfoMiDetails: [], suppInfo: [] })),
15962
18175
  tempid: basket.id,
@@ -15982,7 +18195,11 @@
15982
18195
  basket.basketItems[0].perItemPhoneNumber === undefined) {
15983
18196
  // We're in approved state so we need to make sure we have the supplement stuff
15984
18197
  this.basketService
15985
- .getBasket({ convertCurrencyTo: 'GBP', id: basket.id, withSupplemental: true })
18198
+ .getBasket({
18199
+ convertCurrencyTo: 'GBP',
18200
+ id: basket.id,
18201
+ withSupplemental: true
18202
+ })
15986
18203
  .subscribe(function (newBasket) {
15987
18204
  _this.next(newBasket);
15988
18205
  });
@@ -16019,11 +18236,12 @@
16019
18236
  }));
16020
18237
  toSend.mixedCurrency = Object.keys(toSend.prices).length > 1;
16021
18238
  this.subject.next(toSend);
18239
+ this.requiresService.addBasketItem(basket);
16022
18240
  };
16023
18241
  return InternalBasket;
16024
18242
  }());
16025
18243
  var BaseEnterpriseBasketService = /** @class */ (function () {
16026
- function BaseEnterpriseBasketService(acceptNewPriceUpdater, addItemToBasketUpdater, addUserToBasketItem, basketCreator, basketFetcher, bookBasketUpdater, deleteBasketUpdater, getMiAutoSugestionFetcher, helpers, removeItemFromBasketUpdater, revalidateBasketUpdater, setBasketItemMiGroupUpdater, setBasketItemMiValueUpdater, validateMiFreeValue, sendBasketForApprovalUpdater, getUserFetcher, getUserBasketsFetcher, SetBasketItemLeadPassenger, moveItemToADifferentBasket, updateBasketNotesUpdater, updateBasketTitleUpdater, setPaymentMethodUpdater, userService, modalService) {
18244
+ function BaseEnterpriseBasketService(acceptNewPriceUpdater, addItemToBasketUpdater, addUserToBasketItem, basketCreator, basketFetcher, bookBasketUpdater, deleteBasketUpdater, getMiAutoSugestionFetcher, helpers, removeItemFromBasketUpdater, revalidateBasketUpdater, setBasketItemMiGroupUpdater, setBasketItemMiValueUpdater, validateMiFreeValue, sendBasketForApprovalUpdater, getUserFetcher, getUserBasketsFetcher, SetBasketItemLeadPassenger, moveItemToADifferentBasket, updateBasketNotesUpdater, updateBasketTitleUpdater, setPaymentMethodUpdater, getCancellationInfoFetcher, userService, modalService) {
16027
18245
  var _this = this;
16028
18246
  this.acceptNewPriceUpdater = acceptNewPriceUpdater;
16029
18247
  this.addItemToBasketUpdater = addItemToBasketUpdater;
@@ -16047,6 +18265,7 @@
16047
18265
  this.updateBasketNotesUpdater = updateBasketNotesUpdater;
16048
18266
  this.updateBasketTitleUpdater = updateBasketTitleUpdater;
16049
18267
  this.setPaymentMethodUpdater = setPaymentMethodUpdater;
18268
+ this.getCancellationInfoFetcher = getCancellationInfoFetcher;
16050
18269
  this.userService = userService;
16051
18270
  this.modalService = modalService;
16052
18271
  this.currentBaskets = [];
@@ -16112,6 +18331,7 @@
16112
18331
  ];
16113
18332
  this.basketPrices = new rxjs.BehaviorSubject({ total: null, list: this.basketList });
16114
18333
  this.menuState = exports.MenuSlideEnum.OUT;
18334
+ this.requiresService = new BaseRequiresReasonService(modalService, this);
16115
18335
  this.userService.changeUser.subscribe({
16116
18336
  next: function (userDetails) {
16117
18337
  _this.reset();
@@ -16131,6 +18351,9 @@
16131
18351
  enumerable: false,
16132
18352
  configurable: true
16133
18353
  });
18354
+ BaseEnterpriseBasketService.prototype.getRequiresReasonService = function () {
18355
+ return this.requiresService;
18356
+ };
16134
18357
  BaseEnterpriseBasketService.prototype.reset = function () {
16135
18358
  var _this = this;
16136
18359
  if (this.userService.getfullUserDetails(false).userData.value) {
@@ -16147,7 +18370,7 @@
16147
18370
  if (basket) {
16148
18371
  var intBasket = _this.findBasket(basket.id);
16149
18372
  if (!intBasket) {
16150
- intBasket = new InternalBasket(basket, _this.helpers, _this, _this.getUserFetcher);
18373
+ intBasket = new InternalBasket(basket, _this.helpers, _this, _this.getUserFetcher, _this.requiresService);
16151
18374
  _this.currentBaskets.push(intBasket);
16152
18375
  }
16153
18376
  return intBasket;
@@ -16183,7 +18406,7 @@
16183
18406
  if (results.length) {
16184
18407
  results.forEach(function (result) {
16185
18408
  if (!_this.findBasket(result.id)) {
16186
- var intBasket = new InternalBasket(result, _this.helpers, _this, _this.getUserFetcher);
18409
+ var intBasket = new InternalBasket(result, _this.helpers, _this, _this.getUserFetcher, _this.requiresService);
16187
18410
  _this.currentBaskets.push(intBasket);
16188
18411
  }
16189
18412
  });
@@ -16194,7 +18417,7 @@
16194
18417
  });
16195
18418
  });
16196
18419
  };
16197
- BaseEnterpriseBasketService.prototype.addToBasket = function (item, intBasket, searchService, travellers) {
18420
+ BaseEnterpriseBasketService.prototype.addToBasket = function (item, intBasket, searchService, travellers, requiresReason) {
16198
18421
  if (travellers === void 0) { travellers = []; }
16199
18422
  return __awaiter(this, void 0, void 0, function () {
16200
18423
  var _this = this;
@@ -16210,6 +18433,7 @@
16210
18433
  item.inboundDate = item.inboundDate
16211
18434
  ? new Date(this.helpers.formatIsoDateTime(item.inboundDate))
16212
18435
  : item.inboundDate;
18436
+ item.requiresReason = requiresReason;
16213
18437
  item = this.checkDetails(item);
16214
18438
  if (item && intBasket) {
16215
18439
  this.addItemToBasketUpdater
@@ -16238,7 +18462,7 @@
16238
18462
  intBasket = new InternalBasket({
16239
18463
  id: id,
16240
18464
  basketItems: []
16241
- }, this.helpers, this, this.getUserFetcher);
18465
+ }, this.helpers, this, this.getUserFetcher, this.requiresService);
16242
18466
  this.currentBaskets.push(intBasket);
16243
18467
  }
16244
18468
  this.basketFetcher
@@ -16401,7 +18625,7 @@
16401
18625
  status: null,
16402
18626
  validated: false
16403
18627
  };
16404
- intBasket = new InternalBasket(basket, this.helpers, this, this.getUserFetcher);
18628
+ intBasket = new InternalBasket(basket, this.helpers, this, this.getUserFetcher, this.requiresService);
16405
18629
  return [4 /*yield*/, this.createBasketOnDB(intBasket)];
16406
18630
  case 1:
16407
18631
  toReturn = _d.sent();
@@ -16462,7 +18686,13 @@
16462
18686
  }
16463
18687
  return !isNaN(Date.parse(dateTimeString)); // any test that returns true/false
16464
18688
  });
16465
- ajv.addFormat('railSeating', function (rilseating) {
18689
+ ajv.addFormat('railSeating', function (railseating) {
18690
+ return true;
18691
+ });
18692
+ ajv.addFormat('passport', function (passport) {
18693
+ return true;
18694
+ });
18695
+ ajv.addFormat('specialRequest', function (passport) {
16466
18696
  return true;
16467
18697
  });
16468
18698
  var validateDetailSchema = ajv.compile(serviceToCheck.detailSchema);
@@ -16548,7 +18778,9 @@
16548
18778
  });
16549
18779
  }
16550
18780
  else {
16551
- this.basketFetcher.fetchOne({ convertCurrencyTo: 'GBP', id: basket.id }).subscribe(function (basket1) {
18781
+ this.basketFetcher
18782
+ .fetchOne({ convertCurrencyTo: 'GBP', id: basket.id })
18783
+ .subscribe(function (basket1) {
16552
18784
  basket.subject.next(Object.assign(Object.assign({}, basket.subject.value), basket1));
16553
18785
  }, function (_) { }, function () {
16554
18786
  basket.next(basket.subject.value);
@@ -16570,7 +18802,9 @@
16570
18802
  });
16571
18803
  }
16572
18804
  else {
16573
- this.basketFetcher.fetchOne({ convertCurrencyTo: 'GBP', id: basket.id }).subscribe(function (basket1) {
18805
+ this.basketFetcher
18806
+ .fetchOne({ convertCurrencyTo: 'GBP', id: basket.id })
18807
+ .subscribe(function (basket1) {
16574
18808
  basket.subject.next(Object.assign(Object.assign({}, basket.subject.value), basket1));
16575
18809
  }, function (_) { }, function () {
16576
18810
  basket.next(basket.subject.value);
@@ -16593,7 +18827,10 @@
16593
18827
  });
16594
18828
  };
16595
18829
  BaseEnterpriseBasketService.prototype.revalidate = function (basketid) {
16596
- this.updateBasket(basketid, this.revalidateBasketUpdater.updateOne({ convertCurrencyTo: 'GBP', id: basketid }));
18830
+ this.updateBasket(basketid, this.revalidateBasketUpdater.updateOne({
18831
+ convertCurrencyTo: 'GBP',
18832
+ id: basketid
18833
+ }));
16597
18834
  };
16598
18835
  BaseEnterpriseBasketService.prototype.setBasketItemMiGroup = function (basketid, basketItemid, group) {
16599
18836
  this.updateBasket(basketid, this.setBasketItemMiGroupUpdater.updateOne({
@@ -16603,7 +18840,10 @@
16603
18840
  }));
16604
18841
  };
16605
18842
  BaseEnterpriseBasketService.prototype.acceptNewPrice = function (basketid, item) {
16606
- this.updateBasket(basketid, this.acceptNewPriceUpdater.updateOne({ convertCurrencyTo: 'GBP', id: item.id }));
18843
+ this.updateBasket(basketid, this.acceptNewPriceUpdater.updateOne({
18844
+ convertCurrencyTo: 'GBP',
18845
+ id: item.id
18846
+ }));
16607
18847
  };
16608
18848
  BaseEnterpriseBasketService.prototype.validateFreeValeMi = function (miItem, freeValue) {
16609
18849
  var _this = this;
@@ -16678,7 +18918,11 @@
16678
18918
  }));
16679
18919
  };
16680
18920
  BaseEnterpriseBasketService.prototype.bookBasket = function (basketid, supplementaryInfo) {
16681
- return this.updateBasket(basketid, this.bookBasketUpdater.updateOne({ convertCurrencyTo: 'GBP', id: basketid, supplementaryInfo: supplementaryInfo }));
18921
+ return this.updateBasket(basketid, this.bookBasketUpdater.updateOne({
18922
+ convertCurrencyTo: 'GBP',
18923
+ id: basketid,
18924
+ supplementaryInfo: supplementaryInfo
18925
+ }));
16682
18926
  };
16683
18927
  BaseEnterpriseBasketService.prototype.moveBasketItem = function (originalBasketId, basketItem, basketIdToMoveTo) {
16684
18928
  var _this = this;
@@ -16694,10 +18938,18 @@
16694
18938
  });
16695
18939
  };
16696
18940
  BaseEnterpriseBasketService.prototype.updateBasketNotes = function (basketId, notes) {
16697
- this.updateBasket(basketId, this.updateBasketNotesUpdater.updateOne({ convertCurrencyTo: 'GBP', id: basketId, notes: notes }));
18941
+ this.updateBasket(basketId, this.updateBasketNotesUpdater.updateOne({
18942
+ convertCurrencyTo: 'GBP',
18943
+ id: basketId,
18944
+ notes: notes
18945
+ }));
16698
18946
  };
16699
18947
  BaseEnterpriseBasketService.prototype.updateBasketTitle = function (basketId, title) {
16700
- this.updateBasket(basketId, this.updateBasketTitleUpdater.updateOne({ convertCurrencyTo: 'GBP', id: basketId, newTitle: title }));
18948
+ this.updateBasket(basketId, this.updateBasketTitleUpdater.updateOne({
18949
+ convertCurrencyTo: 'GBP',
18950
+ id: basketId,
18951
+ newTitle: title
18952
+ }));
16701
18953
  };
16702
18954
  BaseEnterpriseBasketService.prototype.getBasket = function (query) {
16703
18955
  return this.basketFetcher.fetchOne(query);
@@ -16725,6 +18977,11 @@
16725
18977
  });
16726
18978
  return this.basketPrices;
16727
18979
  };
18980
+ BaseEnterpriseBasketService.prototype.canCancel = function (basketItem) {
18981
+ return this.getCancellationInfoFetcher.fetchOne({
18982
+ basketItem: basketItem.id
18983
+ });
18984
+ };
16728
18985
  return BaseEnterpriseBasketService;
16729
18986
  }());
16730
18987
 
@@ -16768,16 +19025,21 @@
16768
19025
  if ((_a = fullHotel === null || fullHotel === void 0 ? void 0 : fullHotel.availableRates) === null || _a === void 0 ? void 0 : _a.rooms) {
16769
19026
  // add this data to the behaviours array and return it (if it dosen't already exist)
16770
19027
  if (this.behaviours[hotel.hotel]) {
16771
- return (this.behaviours[hotel.hotel]);
19028
+ return this.behaviours[hotel.hotel];
16772
19029
  }
16773
19030
  else {
16774
19031
  // add the data to the array
16775
- this.behaviours[hotel.hotel] = new rxjs.BehaviorSubject(null);
19032
+ this.behaviours[hotel.hotel] =
19033
+ new rxjs.BehaviorSubject(null);
16776
19034
  var newBehaviourObject = fullHotel.availableRates;
16777
- newBehaviourObject.minprice = fullHotel.availableRates.rooms[0] ? fullHotel.availableRates.rooms[0].total : 0;
16778
- newBehaviourObject.maxprice = newBehaviourObject.minprice ? fullHotel.availableRates.rooms[fullHotel.availableRates.rooms.length - 1].total : 0;
19035
+ newBehaviourObject.minprice = fullHotel.availableRates.rooms[0]
19036
+ ? fullHotel.availableRates.rooms[0].total
19037
+ : 0;
19038
+ newBehaviourObject.maxprice = newBehaviourObject.minprice
19039
+ ? fullHotel.availableRates.rooms[fullHotel.availableRates.rooms.length - 1].total
19040
+ : 0;
16779
19041
  this.behaviours[hotel.hotel].next(newBehaviourObject);
16780
- return (this.behaviours[hotel.hotel]);
19042
+ return this.behaviours[hotel.hotel];
16781
19043
  }
16782
19044
  }
16783
19045
  this.data = this.data || this.readFromSession();
@@ -16797,11 +19059,9 @@
16797
19059
  return hotel;
16798
19060
  };
16799
19061
  BaseHotelAvalibilityService.prototype.setHotelAvalability = function (hotel) {
16800
- if (!hotel.availableRates) {
16801
- if (hotel === null || hotel === void 0 ? void 0 : hotel.availableRates.hotelId) {
16802
- this.data[hotel.availableRates.hotelId] = hotel.availableRates;
16803
- this.behaviours[hotel.availableRates.hotelId].next(hotel.availableRates);
16804
- }
19062
+ if (hotel.availableRates && (hotel === null || hotel === void 0 ? void 0 : hotel.availableRates.hotelId)) {
19063
+ this.data[hotel.availableRates.hotelId] = hotel.availableRates;
19064
+ this.behaviours[hotel.availableRates.hotelId].next(hotel.availableRates);
16805
19065
  }
16806
19066
  return hotel;
16807
19067
  };
@@ -16905,6 +19165,7 @@
16905
19165
  _this.fetching.next(false);
16906
19166
  }
16907
19167
  }, function (error) {
19168
+ // might need to refine this
16908
19169
  console.error("+++ Error recovering hotel availabilty: " + error + " - reseting availabilty +++");
16909
19170
  _this.fetching.next(false);
16910
19171
  return null;
@@ -16983,7 +19244,8 @@
16983
19244
  travllerObject: new rxjs.BehaviorSubject(null),
16984
19245
  userConfigs: new rxjs.BehaviorSubject(null),
16985
19246
  userData: new rxjs.BehaviorSubject(null),
16986
- userServices: new rxjs.BehaviorSubject(null)
19247
+ userServices: new rxjs.BehaviorSubject(null),
19248
+ allDetails: new rxjs.BehaviorSubject(null)
16987
19249
  };
16988
19250
  this.changeUser = new rxjs.BehaviorSubject(null);
16989
19251
  }
@@ -16991,6 +19253,16 @@
16991
19253
  var _this = this;
16992
19254
  var userdata = this.fullUserDetails.userData.value;
16993
19255
  if (!userdata || userdata.username !== user_data.username) {
19256
+ if (userdata === null || userdata === void 0 ? void 0 : userdata.user_id) {
19257
+ this.getUserFetcher.fetchOne({
19258
+ id: userdata.user_id.toString()
19259
+ })
19260
+ .pipe(operators.take(1))
19261
+ .subscribe(function (user) {
19262
+ _this.fullUserDetails.allDetails.next(user);
19263
+ _this.checkEmitUser();
19264
+ });
19265
+ }
16994
19266
  this.userUiConfigsFetcher.fetchKeyedObject('key').subscribe(function (result1) {
16995
19267
  _this.fullUserDetails.userConfigs.next(result1);
16996
19268
  _this.checkEmitUser();
@@ -17011,6 +19283,16 @@
17011
19283
  });
17012
19284
  this.fullUserDetails.travllerObject.next(TravellerObject.makeTravellerObjectFromUser(user_data));
17013
19285
  }
19286
+ if (user_data === null || user_data === void 0 ? void 0 : user_data.user_id) {
19287
+ this.getUserFetcher.fetchOne({
19288
+ id: user_data === null || user_data === void 0 ? void 0 : user_data.user_id.toString()
19289
+ })
19290
+ .pipe(operators.take(1))
19291
+ .subscribe(function (user) {
19292
+ _this.fullUserDetails.allDetails.next(user);
19293
+ _this.checkEmitUser();
19294
+ });
19295
+ }
17014
19296
  this.fullUserDetails.userData.next(user_data);
17015
19297
  this.storageService.setSessionItem('lightning_user_data', user_data);
17016
19298
  };
@@ -17227,7 +19509,8 @@
17227
19509
  }));
17228
19510
  };
17229
19511
  BaseUserService.prototype.editUser = function (user) {
17230
- return this.editUserUpdater.updateOne(user);
19512
+ var _this = this;
19513
+ return this.editUserUpdater.updateOne(user).pipe(operators.tap(function (user) { return _this.fullUserDetails.allDetails.next(user); }));
17231
19514
  };
17232
19515
  return BaseUserService;
17233
19516
  }());
@@ -18834,8 +21117,10 @@
18834
21117
  _this.resultsSessionName = FastTrackEnterpriseSearch.STORAGE_SESSION_RESULTS;
18835
21118
  _this.multiResultsSessionName = FastTrackEnterpriseSearch.STORAGE_SESSION_RESULTS;
18836
21119
  var data = storageService.getSessionItem(FastTrackEnterpriseSearch.STORAGE_SESSION_PARAMS) || {
18837
- tempParams: {}
21120
+ tempParams: {},
21121
+ originalUserSearch: {}
18838
21122
  };
21123
+ _this._originalUserSearch = data.originalUserSearch;
18839
21124
  _this.updateTempParams(searchService.makeFastTrackQuery(data.tempParams));
18840
21125
  if (searchService.shouldAddTravellerSubscription()) {
18841
21126
  searchService.travellerInformation.subscribe(function (travellers) {
@@ -18943,7 +21228,22 @@
18943
21228
  configurable: true
18944
21229
  });
18945
21230
  FastTrackEnterpriseSearch.prototype._isValid = function () {
18946
- return;
21231
+ if (!this.doChecks) {
21232
+ return;
21233
+ }
21234
+ this.storageService.setSessionItem(FastTrackEnterpriseSearch.STORAGE_SESSION_PARAMS, {
21235
+ tempParams: this.tempParams,
21236
+ originalUserSearch: this.originalUserSearch
21237
+ });
21238
+ this.validationMessages = [];
21239
+ if (!this.locationCode) {
21240
+ this.validationMessages.push('Please add in a airport location');
21241
+ }
21242
+ if (!this.tempParams.arrivalDatetime.isAfter(moment__default['default']())) {
21243
+ this.validationMessages.push('Departure date can not be in the past');
21244
+ }
21245
+ this.isValid.next(this.validationMessages.length === 0);
21246
+ this.messages.next(this.validationMessages);
18947
21247
  };
18948
21248
  FastTrackEnterpriseSearch.prototype.resetQuery = function () {
18949
21249
  this.updateTempParams(this.searchService.makeFastTrackQuery());
@@ -18951,10 +21251,16 @@
18951
21251
  };
18952
21252
  FastTrackEnterpriseSearch.prototype.startSearch = function () {
18953
21253
  this.results.next([]);
21254
+ this._isValid();
18954
21255
  if (this.isValid.value) {
21256
+ this._originalUserSearch = Object.freeze(this.helpers.clone(this.tempParams));
21257
+ this.storageService.setSessionItem(FastTrackEnterpriseSearch.STORAGE_SESSION_PARAMS, {
21258
+ tempParams: this.tempParams,
21259
+ originalUserSearch: this.originalUserSearch
21260
+ });
18955
21261
  var query = this.getSearchQuery();
18956
21262
  this.searchService.saveRecentSearch(this.getRecentSearchQuery(query));
18957
- return this._startSearch(this.fasttrackFetcher.fetchList(this.helpers.removeNulls(query)));
21263
+ return this._startSearch(this.fasttrackFetcher.fetchList(query));
18958
21264
  }
18959
21265
  else {
18960
21266
  return Promise.resolve(false);
@@ -19000,16 +21306,21 @@
19000
21306
  };
19001
21307
  FastTrackEnterpriseSearch.prototype.updateFromPreviousSearches = function (previousItems) {
19002
21308
  var _a;
19003
- console.log("PREPOPULATING LOUNGE FORM");
21309
+ console.log('PREPOPULATING LOUNGE FORM');
19004
21310
  var flightItem = (_a = previousItems[ServiceType.Flight]) === null || _a === void 0 ? void 0 : _a.searchQuery;
19005
21311
  if (flightItem) {
19006
21312
  try {
19007
21313
  var date = this.searchService.searches[ServiceType.Flight].outBoundDate.toDate();
19008
- this.date = { day: date.getUTCDate(), month: date.getUTCMonth() + 1, year: date.getUTCFullYear() };
19009
- this.locationCode = this.searchService.searches[ServiceType.Flight].arriveLocation;
21314
+ this.date = {
21315
+ day: date.getUTCDate(),
21316
+ month: date.getUTCMonth() + 1,
21317
+ year: date.getUTCFullYear()
21318
+ };
21319
+ this.locationCode = this.searchService.searches[ServiceType.Flight]
21320
+ .arriveLocation;
19010
21321
  }
19011
21322
  catch (_b) {
19012
- console.error("Error trying to prepopulate parking from lounge item");
21323
+ console.error('Error trying to prepopulate parking from lounge item');
19013
21324
  }
19014
21325
  }
19015
21326
  };
@@ -19058,7 +21369,7 @@
19058
21369
  currency: fasttrackQuote.currency,
19059
21370
  searchQuery: fasttrackQuery,
19060
21371
  outboundDate: fasttrackQuery.arrivalDatetime.format()
19061
- }, intBasket, this.searchService, this.travellers)];
21372
+ }, intBasket, this.searchService, this.travellers, fasttrackQuote.requiresReason)];
19062
21373
  }
19063
21374
  return [2 /*return*/, Promise.resolve(false)]; // TODO should this throw an error?
19064
21375
  }
@@ -19074,9 +21385,48 @@
19074
21385
  {
19075
21386
  name: 'Important Information',
19076
21387
  value: fasttrackQuote.importantInfo
19077
- },
21388
+ }
19078
21389
  ];
19079
21390
  };
21391
+ FastTrackEnterpriseSearch.prototype.applyFilters = function (appliedFilters, selectedSort) {
21392
+ var fullResults = this.helpers.clone(this.fullResults);
21393
+ fullResults = fullResults.filter(function (result) {
21394
+ return (result.price >= appliedFilters.minPrice &&
21395
+ result.price <= appliedFilters.maxPrice);
21396
+ });
21397
+ fullResults = this.sortResults(selectedSort, fullResults);
21398
+ this.results.next(fullResults);
21399
+ };
21400
+ FastTrackEnterpriseSearch.prototype.sortResults = function (selectedSort, results) {
21401
+ var fullResults = this.helpers.clone(results ? results : this.results.value);
21402
+ switch (selectedSort) {
21403
+ case 0: // cheapest
21404
+ fullResults = fullResults.sort(function (a, b) { return a.price - b.price; });
21405
+ break;
21406
+ case 1: // expensive
21407
+ fullResults = fullResults.sort(function (a, b) { return b.price - a.price; });
21408
+ break;
21409
+ }
21410
+ // fallback to whatever was before
21411
+ this.results.next(fullResults);
21412
+ return fullResults;
21413
+ };
21414
+ FastTrackEnterpriseSearch.prototype.getMinPrice = function (fts) {
21415
+ return fts.reduce(function (min, ft) {
21416
+ if (ft.price < min) {
21417
+ min = ft.price;
21418
+ }
21419
+ return min;
21420
+ }, Number.MAX_SAFE_INTEGER);
21421
+ };
21422
+ FastTrackEnterpriseSearch.prototype.getMaxPrice = function (fts) {
21423
+ return fts.reduce(function (max, ft) {
21424
+ if (ft.price > max) {
21425
+ max = ft.price;
21426
+ }
21427
+ return max;
21428
+ }, Number.MIN_SAFE_INTEGER);
21429
+ };
19080
21430
  return FastTrackEnterpriseSearch;
19081
21431
  }(BaseEnterpriseSearch));
19082
21432
  FastTrackEnterpriseSearch.STORAGE_SESSION_PARAMS = 'search_fasttrack';
@@ -19089,7 +21439,7 @@
19089
21439
  TravellerSearchTypes["employeeNumber"] = "employeeNumber";
19090
21440
  })(exports.TravellerSearchTypes || (exports.TravellerSearchTypes = {}));
19091
21441
  var BaseEnterpriseSearchService = /** @class */ (function () {
19092
- function BaseEnterpriseSearchService(searchAirportsFetcher, searchAirlinesFetcher, storageService, userService, modalService, router, helpers, hotelAvalibilityService, citiesFetcher, confermaCitiesFetcher, postcodeFetcher, railStationFetcher, saveUserAddressUpdater, userAddressesFetcher, basketService, getUserCompanyOfficesFetcher, searchHotelChainsFetcher, getConfermaRoomImagesFetcher, baseValidateIsPostcodeValidTester, depotFetcher, confermaOfficeNamesFetcher, confermaOfficeFetcher, baseDeleteUserAddressUpdater, baseDeleteRecentSearchUpdater, baseSaveRecentSearchUpdater, getUserCurrentCarbonAllowanceFetcher, baseSaveFavouriteSearchUpdater, environment, loungeFetcher, parkingFetcher, httpCallService, flightFetcher, hotelFetcher, carhireFetcher, carHireAvailabilityDetailFetcher, cabhireFetcher, railFetcher, irlFetcher, getRailStationFetcher, baseWebTokenService, riskAlertsFetcher, quicklistFetcher, getUserRecentSearchesFetcher, getRailCardsFetcher, getCovidMicrositeTokenFetcher, eurostarFetcher, searchUsersCanBookForFetcher, searchIrlStationsFetcher, irlDiscountCardsFetcher, getFlightFareRulesFetcher, getFlightSeatMapFetcher, getRailLiveDeparturesFetcher, applyHotelRulesFetcher, applyFlightRules, getUserFavouriteSearchesFetcher, deleteFavouriteSearchUpdater, emailBasketFetcher, fasttrackFetcher, sendOfflineNotificationFetcher, getHotelChainsFetcher, getRailProvidersFetcher, getAllAirlinesFetcher, getCarHireProvidersFetcher) {
21442
+ function BaseEnterpriseSearchService(searchAirportsFetcher, searchAirlinesFetcher, storageService, userService, modalService, router, helpers, hotelAvalibilityService, citiesFetcher, confermaCitiesFetcher, postcodeFetcher, railStationFetcher, saveUserAddressUpdater, userAddressesFetcher, basketService, getUserCompanyOfficesFetcher, searchHotelChainsFetcher, getConfermaRoomImagesFetcher, baseValidateIsPostcodeValidTester, depotFetcher, confermaOfficeNamesFetcher, confermaOfficeFetcher, baseDeleteUserAddressUpdater, baseDeleteRecentSearchUpdater, baseSaveRecentSearchUpdater, getUserCurrentCarbonAllowanceFetcher, baseSaveFavouriteSearchUpdater, environment, loungeFetcher, parkingFetcher, httpCallService, flightFetcher, hotelFetcher, carhireFetcher, carHireAvailabilityDetailFetcher, cabhireFetcher, railFetcher, irlFetcher, getRailStationFetcher, getIrlSupplierStationFetcher, baseWebTokenService, riskAlertsFetcher, quicklistFetcher, getUserRecentSearchesFetcher, getRailCardsFetcher, getCovidMicrositeTokenFetcher, eurostarFetcher, searchUsersCanBookForFetcher, searchIrlStationsFetcher, irlDiscountCardsFetcher, getFlightFareRulesFetcher, getFlightSeatMapFetcher, getRailLiveDeparturesFetcher, applyHotelRulesFetcher, applyFlightRules, getUserFavouriteSearchesFetcher, deleteFavouriteSearchUpdater, emailBasketFetcher, fasttrackFetcher, sendOfflineNotificationFetcher, getHotelChainsFetcher, getRailProvidersFetcher, getAllAirlinesFetcher, getCarHireProvidersFetcher) {
19093
21443
  var _d;
19094
21444
  var _this = this;
19095
21445
  this.searchAirportsFetcher = searchAirportsFetcher;
@@ -19120,6 +21470,7 @@
19120
21470
  this.getUserCurrentCarbonAllowanceFetcher = getUserCurrentCarbonAllowanceFetcher;
19121
21471
  this.baseSaveFavouriteSearchUpdater = baseSaveFavouriteSearchUpdater;
19122
21472
  this.getRailStationFetcher = getRailStationFetcher;
21473
+ this.getIrlSupplierStationFetcher = getIrlSupplierStationFetcher;
19123
21474
  this.riskAlertsFetcher = riskAlertsFetcher;
19124
21475
  this.getUserRecentSearchesFetcher = getUserRecentSearchesFetcher;
19125
21476
  this.getRailCardsFetcher = getRailCardsFetcher;
@@ -19164,7 +21515,7 @@
19164
21515
  _d[ServiceType.Hotel] = new HotelEnterpriseSearch(hotelFetcher, helpers, userService, environment, hotelAvalibilityService, basketService, storageService, this, httpCallService, quicklistFetcher, getRailStationFetcher, applyHotelRulesFetcher),
19165
21516
  _d[ServiceType.Car] = new CarhireEnterpriseSearch(carhireFetcher, carHireAvailabilityDetailFetcher, helpers, basketService, storageService, this),
19166
21517
  _d[ServiceType.Cab] = new CabHireEnterpriseSearch(cabhireFetcher, helpers, storageService, this, basketService),
19167
- _d[ServiceType.InternationalRail] = new IRLEnterpriseSearch(irlFetcher, irlDiscountCardsFetcher, helpers, basketService, storageService, this),
21518
+ _d[ServiceType.InternationalRail] = new IRLEnterpriseSearch(irlFetcher, irlDiscountCardsFetcher, helpers, basketService, storageService, this, getIrlSupplierStationFetcher),
19168
21519
  _d[ServiceType.FastTrack] = new FastTrackEnterpriseSearch(fasttrackFetcher, helpers, basketService, storageService, this),
19169
21520
  _d[ServiceType.Coach] = null,
19170
21521
  _d[ServiceType.Rail] = new RailEnterpriseSearch(railFetcher, getRailStationFetcher, helpers, basketService, storageService, this, userService, modalService),
@@ -19473,12 +21824,14 @@
19473
21824
  }
19474
21825
  return rxjs.of([]);
19475
21826
  };
19476
- BaseEnterpriseSearchService.prototype.getStationLocations = function (term, isLoading) {
21827
+ BaseEnterpriseSearchService.prototype.getStationLocations = function (term, isLoading, hasTod) {
21828
+ if (hasTod === void 0) { hasTod = false; }
19477
21829
  if (term.length > 2) {
19478
21830
  isLoading === null || isLoading === void 0 ? void 0 : isLoading.next(true);
19479
21831
  return this.railStationFetcher
19480
21832
  .fetchList({
19481
- query: term
21833
+ query: term,
21834
+ hasTod: hasTod
19482
21835
  })
19483
21836
  .pipe(operators.take(1), operators.map(function (results) {
19484
21837
  if (isLoading) {
@@ -19767,6 +22120,10 @@
19767
22120
  this.canSearch(ServiceType.Hotel)) {
19768
22121
  concattedErrors.push.apply(concattedErrors, __spread(this.searches[ServiceType.Hotel].validationMessages));
19769
22122
  }
22123
+ if (this.search_objects[ServiceType.FastTrack].chosen &&
22124
+ this.canSearch(ServiceType.FastTrack)) {
22125
+ concattedErrors.push.apply(concattedErrors, __spread(this.searches[ServiceType.FastTrack].validationMessages));
22126
+ }
19770
22127
  /*
19771
22128
  if (this.search_objects.hotel.chosen && this.canSearch(TravelTypeEnum.HOTEL)) {
19772
22129
  concattedErrors = concattedErrors.concat(this.hotel.validationMessages);
@@ -20691,6 +23048,9 @@
20691
23048
  configurable: true
20692
23049
  });
20693
23050
  Object.defineProperty(BaseWebTokenService.prototype, "jwtToken", {
23051
+ get: function () {
23052
+ return this._jwtToken || null;
23053
+ },
20694
23054
  set: function (value) {
20695
23055
  if (value !== this.jwtToken) {
20696
23056
  this._jwtToken = value;
@@ -20710,10 +23070,11 @@
20710
23070
  };
20711
23071
  BaseWebTokenService.prototype.checkToLogout = function () {
20712
23072
  var _this = this;
20713
- var a = moment__default['default']().unix();
20714
- var b = this.lastUpdated.unix();
20715
- var c = this.timeoutDuration;
20716
- if (moment__default['default']().unix() - this.lastUpdated.unix() > this.timeoutDuration) {
23073
+ var _a;
23074
+ var current = moment__default['default']().unix();
23075
+ var last = ((_a = this.lastUpdated) === null || _a === void 0 ? void 0 : _a.unix()) || 0;
23076
+ var maxTime = this.timeoutDuration;
23077
+ if (current - last > maxTime) {
20717
23078
  this.timer = null;
20718
23079
  this.lastUpdated = moment__default['default']();
20719
23080
  this.modalOpenerService
@@ -21285,6 +23646,7 @@
21285
23646
 
21286
23647
  exports.AbstractHttpCallService = AbstractHttpCallService;
21287
23648
  exports.AddressImpl = AddressImpl;
23649
+ exports.Airlines = Airlines;
21288
23650
  exports.AuthInfo = AuthInfo;
21289
23651
  exports.BaseAcceptNewPriceUpdater = BaseAcceptNewPriceUpdater;
21290
23652
  exports.BaseAddItemToBasketUpdater = BaseAddItemToBasketUpdater;
@@ -21316,12 +23678,14 @@
21316
23678
  exports.BaseFlightQuoteFetcher = BaseFlightQuoteFetcher;
21317
23679
  exports.BaseGetAllAirlinesFetcher = BaseGetAllAirlinesFetcher;
21318
23680
  exports.BaseGetBasketFetcher = BaseGetBasketFetcher;
23681
+ exports.BaseGetCancellationInfoFetcher = BaseGetCancellationInfoFetcher;
21319
23682
  exports.BaseGetCarHireProvidersFetcher = BaseGetCarHireProvidersFetcher;
21320
23683
  exports.BaseGetConfermaRoomImagesFetcher = BaseGetConfermaRoomImagesFetcher;
21321
23684
  exports.BaseGetCovidMicrositeTokenFetcher = BaseGetCovidMicrositeTokenFetcher;
21322
23685
  exports.BaseGetFlightFareRulesFetcher = BaseGetFlightFareRulesFetcher;
21323
23686
  exports.BaseGetFlightSeatMapFetcher = BaseGetFlightSeatMapFetcher;
21324
23687
  exports.BaseGetHotelChainsFetcher = BaseGetHotelChainsFetcher;
23688
+ exports.BaseGetIrlSupplierStationFetcher = BaseGetIrlSupplierStationFetcher;
21325
23689
  exports.BaseGetMiAutoSugestionFetcher = BaseGetMiAutoSugestionFetcher;
21326
23690
  exports.BaseGetRailLiveDeparturesFetcher = BaseGetRailLiveDeparturesFetcher;
21327
23691
  exports.BaseGetRailProvidersFetcher = BaseGetRailProvidersFetcher;
@@ -21348,6 +23712,7 @@
21348
23712
  exports.BaseParkingQuoteFetcher = BaseParkingQuoteFetcher;
21349
23713
  exports.BaseRailQuoteFetcher = BaseRailQuoteFetcher;
21350
23714
  exports.BaseRemoveItemFromBasketUpdater = BaseRemoveItemFromBasketUpdater;
23715
+ exports.BaseRequiresReasonService = BaseRequiresReasonService;
21351
23716
  exports.BaseRevalidateBasketUpdater = BaseRevalidateBasketUpdater;
21352
23717
  exports.BaseRouteHappyService = BaseRouteHappyService;
21353
23718
  exports.BaseSaveFavouriteSearchUpdater = BaseSaveFavouriteSearchUpdater;
@@ -21386,6 +23751,7 @@
21386
23751
  exports.BasketInfoMiDetailsImpl = BasketInfoMiDetailsImpl;
21387
23752
  exports.BookableBasket = BookableBasket;
21388
23753
  exports.CabHireEnterpriseSearch = CabHireEnterpriseSearch;
23754
+ exports.CarCompanies = CarCompanies;
21389
23755
  exports.CarhireEnterpriseSearch = CarhireEnterpriseSearch;
21390
23756
  exports.DEFAULT_FLIGHT_FILTERS = DEFAULT_FLIGHT_FILTERS;
21391
23757
  exports.DistanceType = DistanceType;
@@ -21393,6 +23759,7 @@
21393
23759
  exports.EurostarEnterpriseSearch = EurostarEnterpriseSearch;
21394
23760
  exports.FlightEnterpriseSearch = FlightEnterpriseSearch;
21395
23761
  exports.Genders = Genders;
23762
+ exports.HotelChains = HotelChains;
21396
23763
  exports.HotelEnterpriseSearch = HotelEnterpriseSearch;
21397
23764
  exports.HotelFilters = HotelFilters;
21398
23765
  exports.IRLEnterpriseSearch = IRLEnterpriseSearch;
@@ -21408,6 +23775,7 @@
21408
23775
  exports.ParkingEnterpriseSearch = ParkingEnterpriseSearch;
21409
23776
  exports.PersonTitles = PersonTitles;
21410
23777
  exports.PhoneNumberImpl = PhoneNumberImpl;
23778
+ exports.RailCompanies = RailCompanies;
21411
23779
  exports.RailEnterpriseSearch = RailEnterpriseSearch;
21412
23780
  exports.RegExps = RegExps;
21413
23781
  exports.SupplementaryBookingInfoImpl = SupplementaryBookingInfoImpl;