@sabstravtech/obtservices 0.0.22042501 → 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 (165) hide show
  1. package/angular/fetchers.d.ts +8 -0
  2. package/angular/lib/vendor/fetchers/fast-track-quote.fetcher.d.ts +7 -0
  3. package/angular/lib/vendor/fetchers/get-all-airlines.fetcher.d.ts +7 -0
  4. package/angular/lib/vendor/fetchers/get-cancellation-info.fetcher.d.ts +7 -0
  5. package/angular/lib/vendor/fetchers/get-car-hire-providers.fetcher.d.ts +7 -0
  6. package/angular/lib/vendor/fetchers/get-hotel-chains.fetcher.d.ts +7 -0
  7. package/angular/lib/vendor/fetchers/get-irl-supplier-station.fetcher.d.ts +7 -0
  8. package/angular/lib/vendor/fetchers/get-rail-providers.fetcher.d.ts +7 -0
  9. package/angular/lib/vendor/fetchers/send-offline-notification.fetcher.d.ts +7 -0
  10. package/angular/lib/vendor/services/enterprise-basket.service.d.ts +4 -3
  11. package/angular/lib/vendor/services/search.service.d.ts +10 -3
  12. package/angular/lib/vendor/services/ticket-queue.service.d.ts +6 -0
  13. package/angular/lib/vendor/services/user.service.d.ts +5 -3
  14. package/angular/lib/vendor/types/graphql.angular.types.d.ts +438 -16
  15. package/angular/lib/vendor/updaters/edit-user.updater.d.ts +6 -0
  16. package/angular/lib/vendor/updaters/set-user-language-updater.d.ts +6 -0
  17. package/angular/sabstravtech-obtservices-angular.d.ts +16 -13
  18. package/angular/sabstravtech-obtservices-angular.metadata.json +1 -1
  19. package/angular/services.d.ts +1 -0
  20. package/base/fetchers.d.ts +10 -0
  21. package/base/interfaces.d.ts +2 -0
  22. package/base/lib/vendor/classes/cabhire-enterprise-search.d.ts +2 -1
  23. package/base/lib/vendor/classes/carhire-enterprise-search.d.ts +1 -0
  24. package/base/lib/vendor/classes/eurostar-enterprise-search.d.ts +8 -2
  25. package/base/lib/vendor/classes/fast-track-enterprise-search.d.ts +57 -0
  26. package/base/lib/vendor/classes/flight-enterprise-search.d.ts +2 -1
  27. package/base/lib/vendor/classes/hotel-enterprise-search.d.ts +3 -1
  28. package/base/lib/vendor/classes/irl-enterprise-search.d.ts +27 -7
  29. package/base/lib/vendor/classes/lounges-enterprise-search.d.ts +1 -0
  30. package/base/lib/vendor/classes/management-info-and-valid.d.ts +6 -1
  31. package/base/lib/vendor/classes/modal-types.enum.d.ts +2 -0
  32. package/base/lib/vendor/classes/parking-enterprise-search.d.ts +1 -0
  33. package/base/lib/vendor/classes/rail-enterprise-search.d.ts +3 -2
  34. package/base/lib/vendor/fetchers/fast-track-quote.fetcher.d.ts +23 -0
  35. package/base/lib/vendor/fetchers/get-all-airlines.fetcher.d.ts +20 -0
  36. package/base/lib/vendor/fetchers/get-cancellation-info.fetcher.d.ts +20 -0
  37. package/base/lib/vendor/fetchers/get-car-hire-providers.fetcher.d.ts +20 -0
  38. package/base/lib/vendor/fetchers/get-hotel-chains.fetcher.d.ts +20 -0
  39. package/base/lib/vendor/fetchers/get-irl-supplier-station.fetcher.d.ts +21 -0
  40. package/base/lib/vendor/fetchers/get-rail-providers.fetcher.d.ts +20 -0
  41. package/base/lib/vendor/fetchers/send-offline-notification.fetcher.d.ts +21 -0
  42. package/base/lib/vendor/fetchers/user-fetcher.d.ts +2 -3
  43. package/base/lib/vendor/interfaces/Icabhire-enterprise-search.d.ts +1 -0
  44. package/base/lib/vendor/interfaces/Icarhire-enterprise-search.d.ts +1 -0
  45. package/base/lib/vendor/interfaces/Ienterprise-basket.service.d.ts +6 -3
  46. package/base/lib/vendor/interfaces/Ieurostar-enterprise-search.d.ts +2 -0
  47. package/base/lib/vendor/interfaces/Ifast-track-enterprise-search.d.ts +26 -0
  48. package/base/lib/vendor/interfaces/Iflight-enterprise-search.d.ts +1 -0
  49. package/base/lib/vendor/interfaces/Ihotel-enterprise-search.d.ts +2 -0
  50. package/base/lib/vendor/interfaces/Iirl-enterprise-search.d.ts +11 -3
  51. package/base/lib/vendor/interfaces/Ilounges-enterprise-search.d.ts +1 -0
  52. package/base/lib/vendor/interfaces/Iparking-enterprise-search.d.ts +1 -0
  53. package/base/lib/vendor/interfaces/Irail-enterprise-search.d.ts +1 -0
  54. package/base/lib/vendor/interfaces/Isearch.service.d.ts +7 -1
  55. package/base/lib/vendor/interfaces/Iuser.service.d.ts +2 -1
  56. package/base/lib/vendor/interfaces/eurostar-search-arg.interface.d.ts +2 -0
  57. package/base/lib/vendor/interfaces/fast-track-filters.interface.d.ts +4 -0
  58. package/base/lib/vendor/interfaces/rail-basket-item.interface.d.ts +2 -0
  59. package/base/lib/vendor/interfaces/summary-interface.d.ts +2 -0
  60. package/base/lib/vendor/interfaces/user.data.d.ts +1 -0
  61. package/base/lib/vendor/models/traveller.object.d.ts +1 -0
  62. package/base/lib/vendor/services/enterprise-basket.service.d.ts +13 -6
  63. package/base/lib/vendor/services/requires-reason.service.d.ts +20 -0
  64. package/base/lib/vendor/services/search.service.d.ts +30 -5
  65. package/base/lib/vendor/services/user.service.d.ts +12 -5
  66. package/base/lib/vendor/services/webtoken.service.d.ts +1 -0
  67. package/base/lib/vendor/types/graphql.types.d.ts +398 -16
  68. package/base/lib/vendor/types/types.d.ts +53 -16
  69. package/base/lib/vendor/updaters/edit-user-updater.d.ts +19 -0
  70. package/base/lib/vendor/updaters/set-user-language-updater.d.ts +19 -0
  71. package/base/sabstravtech-obtservices-base.d.ts +5 -5
  72. package/base/sabstravtech-obtservices-base.metadata.json +1 -1
  73. package/base/services.d.ts +1 -0
  74. package/base/updaters.d.ts +2 -0
  75. package/bundles/sabstravtech-obtservices-angular.umd.js +499 -91
  76. package/bundles/sabstravtech-obtservices-angular.umd.js.map +1 -1
  77. package/bundles/sabstravtech-obtservices-angular.umd.min.js +1 -1
  78. package/bundles/sabstravtech-obtservices-angular.umd.min.js.map +1 -1
  79. package/bundles/sabstravtech-obtservices-base.umd.js +3204 -176
  80. package/bundles/sabstravtech-obtservices-base.umd.js.map +1 -1
  81. package/bundles/sabstravtech-obtservices-base.umd.min.js +2 -2
  82. package/bundles/sabstravtech-obtservices-base.umd.min.js.map +1 -1
  83. package/esm2015/angular/fetchers.js +9 -1
  84. package/esm2015/angular/lib/vendor/fetchers/fast-track-quote.fetcher.js +25 -0
  85. package/esm2015/angular/lib/vendor/fetchers/get-all-airlines.fetcher.js +25 -0
  86. package/esm2015/angular/lib/vendor/fetchers/get-cancellation-info.fetcher.js +25 -0
  87. package/esm2015/angular/lib/vendor/fetchers/get-car-hire-providers.fetcher.js +25 -0
  88. package/esm2015/angular/lib/vendor/fetchers/get-hotel-chains.fetcher.js +25 -0
  89. package/esm2015/angular/lib/vendor/fetchers/get-irl-supplier-station.fetcher.js +25 -0
  90. package/esm2015/angular/lib/vendor/fetchers/get-rail-providers.fetcher.js +25 -0
  91. package/esm2015/angular/lib/vendor/fetchers/send-offline-notification.fetcher.js +25 -0
  92. package/esm2015/angular/lib/vendor/services/enterprise-basket.service.js +8 -5
  93. package/esm2015/angular/lib/vendor/services/http-call.service.js +6 -2
  94. package/esm2015/angular/lib/vendor/services/search.service.js +58 -37
  95. package/esm2015/angular/lib/vendor/services/ticket-queue.service.js +23 -0
  96. package/esm2015/angular/lib/vendor/services/user.service.js +12 -6
  97. package/esm2015/angular/lib/vendor/types/graphql.angular.types.js +583 -5
  98. package/esm2015/angular/lib/vendor/updaters/edit-user.updater.js +22 -0
  99. package/esm2015/angular/lib/vendor/updaters/set-user-language-updater.js +22 -0
  100. package/esm2015/angular/obtservices.module.js +3 -1
  101. package/esm2015/angular/sabstravtech-obtservices-angular.js +17 -14
  102. package/esm2015/angular/services.js +2 -1
  103. package/esm2015/base/fetchers.js +11 -1
  104. package/esm2015/base/interfaces.js +3 -1
  105. package/esm2015/base/lib/vendor/classes/basket-info-mi-details.impl.js +4 -1
  106. package/esm2015/base/lib/vendor/classes/cabhire-enterprise-search.js +37 -5
  107. package/esm2015/base/lib/vendor/classes/carhire-enterprise-search.js +46 -16
  108. package/esm2015/base/lib/vendor/classes/eurostar-enterprise-search.js +77 -10
  109. package/esm2015/base/lib/vendor/classes/fast-track-enterprise-search.js +296 -0
  110. package/esm2015/base/lib/vendor/classes/flight-enterprise-search.js +44 -5
  111. package/esm2015/base/lib/vendor/classes/helpers.js +6 -2
  112. package/esm2015/base/lib/vendor/classes/hotel-enterprise-search.js +58 -19
  113. package/esm2015/base/lib/vendor/classes/irl-enterprise-search.js +214 -25
  114. package/esm2015/base/lib/vendor/classes/lounges-enterprise-search.js +22 -6
  115. package/esm2015/base/lib/vendor/classes/management-info-and-valid.js +1 -1
  116. package/esm2015/base/lib/vendor/classes/modal-types.enum.js +3 -1
  117. package/esm2015/base/lib/vendor/classes/parking-enterprise-search.js +27 -7
  118. package/esm2015/base/lib/vendor/classes/rail-enterprise-search.js +62 -13
  119. package/esm2015/base/lib/vendor/classes/supplementary-booking-info-impl.js +2 -2
  120. package/esm2015/base/lib/vendor/fetchers/fast-track-quote.fetcher.js +11 -0
  121. package/esm2015/base/lib/vendor/fetchers/get-all-airlines.fetcher.js +11 -0
  122. package/esm2015/base/lib/vendor/fetchers/get-cancellation-info.fetcher.js +10 -0
  123. package/esm2015/base/lib/vendor/fetchers/get-car-hire-providers.fetcher.js +11 -0
  124. package/esm2015/base/lib/vendor/fetchers/get-hotel-chains.fetcher.js +11 -0
  125. package/esm2015/base/lib/vendor/fetchers/get-irl-supplier-station.fetcher.js +11 -0
  126. package/esm2015/base/lib/vendor/fetchers/get-rail-providers.fetcher.js +11 -0
  127. package/esm2015/base/lib/vendor/fetchers/send-offline-notification.fetcher.js +11 -0
  128. package/esm2015/base/lib/vendor/fetchers/user-fetcher.js +1 -1
  129. package/esm2015/base/lib/vendor/interfaces/Icabhire-enterprise-search.js +1 -1
  130. package/esm2015/base/lib/vendor/interfaces/Icarhire-enterprise-search.js +1 -1
  131. package/esm2015/base/lib/vendor/interfaces/Ienterprise-basket.service.js +1 -1
  132. package/esm2015/base/lib/vendor/interfaces/Ieurostar-enterprise-search.js +1 -1
  133. package/esm2015/base/lib/vendor/interfaces/Ifast-track-enterprise-search.js +2 -0
  134. package/esm2015/base/lib/vendor/interfaces/Iflight-enterprise-search.js +1 -1
  135. package/esm2015/base/lib/vendor/interfaces/Ihotel-enterprise-search.js +1 -1
  136. package/esm2015/base/lib/vendor/interfaces/Iirl-enterprise-search.js +1 -1
  137. package/esm2015/base/lib/vendor/interfaces/Ilounges-enterprise-search.js +1 -1
  138. package/esm2015/base/lib/vendor/interfaces/Iparking-enterprise-search.js +1 -1
  139. package/esm2015/base/lib/vendor/interfaces/Irail-enterprise-search.js +1 -1
  140. package/esm2015/base/lib/vendor/interfaces/Isearch.service.js +1 -1
  141. package/esm2015/base/lib/vendor/interfaces/Iuser.service.js +1 -1
  142. package/esm2015/base/lib/vendor/interfaces/eurostar-search-arg.interface.js +1 -1
  143. package/esm2015/base/lib/vendor/interfaces/fast-track-filters.interface.js +2 -0
  144. package/esm2015/base/lib/vendor/interfaces/rail-basket-item.interface.js +1 -1
  145. package/esm2015/base/lib/vendor/interfaces/summary-interface.js +1 -1
  146. package/esm2015/base/lib/vendor/interfaces/user.data.js +1 -1
  147. package/esm2015/base/lib/vendor/models/traveller.object.js +3 -2
  148. package/esm2015/base/lib/vendor/services/enterprise-basket.service.js +63 -17
  149. package/esm2015/base/lib/vendor/services/hotel-avallibility.service.js +16 -12
  150. package/esm2015/base/lib/vendor/services/requires-reason.service.js +49 -0
  151. package/esm2015/base/lib/vendor/services/search.service.js +166 -20
  152. package/esm2015/base/lib/vendor/services/user.service.js +44 -6
  153. package/esm2015/base/lib/vendor/services/webtoken.service.js +9 -5
  154. package/esm2015/base/lib/vendor/types/graphql.types.js +9 -1
  155. package/esm2015/base/lib/vendor/types/types.js +1704 -1
  156. package/esm2015/base/lib/vendor/updaters/edit-user-updater.js +11 -0
  157. package/esm2015/base/lib/vendor/updaters/set-user-language-updater.js +11 -0
  158. package/esm2015/base/sabstravtech-obtservices-base.js +6 -5
  159. package/esm2015/base/services.js +2 -1
  160. package/esm2015/base/updaters.js +3 -1
  161. package/fesm2015/sabstravtech-obtservices-angular.js +790 -19
  162. package/fesm2015/sabstravtech-obtservices-angular.js.map +1 -1
  163. package/fesm2015/sabstravtech-obtservices-base.js +3041 -169
  164. package/fesm2015/sabstravtech-obtservices-base.js.map +1 -1
  165. package/package.json +1 -1
@@ -173,7 +173,9 @@
173
173
  ModalTypes.WarningRemoveModalComponent = new ModalTypes('WarningRemoveModalComponent');
174
174
  ModalTypes.RailTicketsDialogComponent = new ModalTypes('RailTicketsDialogComponent');
175
175
  ModalTypes.ModalFlightFareComponent = new ModalTypes('ModalFlightFareComponent');
176
- ModalTypes.FlightExtrasDialogComponent = new ModalTypes('FlightExtrasDialogComponent');
176
+ ModalTypes.FlightExtrasDialogComponent = new ModalTypes('FlightExtrasDialogComponent');
177
+ ModalTypes.OfflineRequestDialogComponent = new ModalTypes('OfflineRequestDialogComponent');
178
+ ModalTypes.RequiresReasonDialogComponent = new ModalTypes('RequiresReasonDialogComponent');
177
179
 
178
180
  var BaseNetworkCall = /** @class */ (function () {
179
181
  function BaseNetworkCall(modelService) {
@@ -536,6 +538,7 @@
536
538
  (function (BasketItemStatus) {
537
539
  BasketItemStatus["Open"] = "OPEN";
538
540
  BasketItemStatus["Booked"] = "BOOKED";
541
+ BasketItemStatus["Cancelled"] = "CANCELLED";
539
542
  BasketItemStatus["BookingFailed"] = "BOOKING_FAILED";
540
543
  })(BasketItemStatus || (BasketItemStatus = {}));
541
544
  var BasketStatus;
@@ -824,22 +827,19 @@
824
827
  CurrencyCode["Zmw"] = "ZMW";
825
828
  CurrencyCode["Zwl"] = "ZWL";
826
829
  })(CurrencyCode || (CurrencyCode = {}));
827
- var DistanceTypes;
828
830
  (function (DistanceTypes) {
829
831
  DistanceTypes["K"] = "K";
830
832
  DistanceTypes["M"] = "M";
831
- })(DistanceTypes || (DistanceTypes = {}));
832
- var DocGender;
833
+ })(exports.ɵb || (exports.ɵb = {}));
833
834
  (function (DocGender) {
834
835
  DocGender["M"] = "M";
835
836
  DocGender["F"] = "F";
836
- })(DocGender || (DocGender = {}));
837
- var DocType;
837
+ })(exports.ɵc || (exports.ɵc = {}));
838
838
  (function (DocType) {
839
839
  DocType["Passport"] = "PASSPORT";
840
840
  DocType["Visa"] = "VISA";
841
841
  DocType["IdCard"] = "ID_CARD";
842
- })(DocType || (DocType = {}));
842
+ })(exports.ɵd || (exports.ɵd = {}));
843
843
  var FareRuleType;
844
844
  (function (FareRuleType) {
845
845
  FareRuleType["Cancellation"] = "Cancellation";
@@ -932,7 +932,6 @@
932
932
  PhoneType["Fax"] = "FAX";
933
933
  PhoneType["Other"] = "OTHER";
934
934
  })(PhoneType || (PhoneType = {}));
935
- var PreferenceKey;
936
935
  (function (PreferenceKey) {
937
936
  PreferenceKey["MealRequest"] = "MEAL_REQUEST";
938
937
  PreferenceKey["SeatingPreference"] = "SEATING_PREFERENCE";
@@ -940,7 +939,14 @@
940
939
  PreferenceKey["SeatLocation"] = "SEAT_LOCATION";
941
940
  PreferenceKey["SeatPosition"] = "SEAT_POSITION";
942
941
  PreferenceKey["SeatDirection"] = "SEAT_DIRECTION";
943
- })(PreferenceKey || (PreferenceKey = {}));
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 = {}));
944
950
  var RailClass;
945
951
  (function (RailClass) {
946
952
  RailClass["All"] = "All";
@@ -1292,6 +1298,9 @@
1292
1298
  this.isValidObservers = [];
1293
1299
  this.basketItem = item;
1294
1300
  var _a = item.managementInfo.reduce(function (miAccum, miItem) {
1301
+ if (miItem.reason && !item.requiresReason) {
1302
+ return miAccum;
1303
+ }
1295
1304
  var miItemObj = makeManagamentInfo(miItem, _this.basketService);
1296
1305
  _this.isValidObservers.push(miItemObj);
1297
1306
  if (miItem.perBooking) {
@@ -1368,12 +1377,18 @@
1368
1377
  SchemaFormat["integer"] = "integer";
1369
1378
  SchemaFormat["object"] = "object";
1370
1379
  SchemaFormat["select"] = "select";
1380
+ SchemaFormat["selectQueue"] = "select-queue";
1371
1381
  SchemaFormat["string"] = "string";
1372
1382
  SchemaFormat["boolean"] = "boolean";
1373
1383
  SchemaFormat["countryCode"] = "countryCode";
1374
1384
  SchemaFormat["additionalSeatPreference"] = "t_additionalSeatPreference";
1375
1385
  SchemaFormat["seatPrefGroups"] = "a_seatPrefGroups";
1376
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";
1377
1392
  })(exports.SchemaFormat || (exports.SchemaFormat = {}));
1378
1393
  (function (Widgets) {
1379
1394
  Widgets["COUNTRY_CODE"] = "COUNTRY_CODE";
@@ -1490,7 +1505,1703 @@
1490
1505
  (function (WellbeingEnum) {
1491
1506
  WellbeingEnum["WELLBEING"] = "/results/wellbeing";
1492
1507
  })(exports.WellbeingEnum || (exports.WellbeingEnum = {}));
1493
- var maxTravellerWellbeing = 4;
1508
+ var maxTravellerWellbeing = 4;
1509
+ var PersonTitles = [
1510
+ { title: 'Dr', gender: null },
1511
+ { title: 'Prof', gender: null },
1512
+ { title: 'Mr', gender: 'Male' },
1513
+ { title: 'Mrs', gender: 'Female' },
1514
+ { title: 'Ms', gender: 'Female' },
1515
+ { title: 'Miss', gender: 'Female' }
1516
+ ];
1517
+ var PREFERENCE_VALUES = [
1518
+ { label: 'Bland', type: exports.ɵf.MealRequest },
1519
+ { label: 'Child', type: exports.ɵf.MealRequest },
1520
+ { label: 'Diabetic', type: exports.ɵf.MealRequest },
1521
+ { label: 'Fruit Plate', type: exports.ɵf.MealRequest },
1522
+ { label: 'Gluten Free', type: exports.ɵf.MealRequest },
1523
+ { label: 'Hindu', type: exports.ɵf.MealRequest },
1524
+ { label: 'Kosher', type: exports.ɵf.MealRequest },
1525
+ { label: 'Low Fat/Cholesterol', type: exports.ɵf.MealRequest },
1526
+ { label: 'Low Sodium', type: exports.ɵf.MealRequest },
1527
+ { label: 'Muslim', type: exports.ɵf.MealRequest },
1528
+ { label: 'Non-Lactose', type: exports.ɵf.MealRequest },
1529
+ { label: 'Raw Vegeterian', type: exports.ɵf.MealRequest },
1530
+ { label: 'Seafood', type: exports.ɵf.MealRequest },
1531
+ { label: 'Vegan Vegeterian', type: exports.ɵf.MealRequest },
1532
+ { label: 'Vegeterain Lacto-Ovo', type: exports.ɵf.MealRequest },
1533
+ { label: 'Aisle', type: exports.ɵf.SeatingPreference },
1534
+ { label: 'Window', type: exports.ɵf.SeatingPreference },
1535
+ { label: 'Bassinet', type: exports.ɵf.SpeacialNeed },
1536
+ { label: 'Bicycle', type: exports.ɵf.SpeacialNeed },
1537
+ { label: 'Blind passenger', type: exports.ɵf.SpeacialNeed },
1538
+ { label: 'Deaf passenger', type: exports.ɵf.SpeacialNeed },
1539
+ { label: 'Meet and assist', type: exports.ɵf.SpeacialNeed },
1540
+ { label: 'Wheelchair, can ascend steps', type: exports.ɵf.SpeacialNeed },
1541
+ { label: 'Wheelchair, can walk to seat', type: exports.ɵf.SpeacialNeed },
1542
+ { label: 'Wheelchair, manual', type: exports.ɵf.SpeacialNeed },
1543
+ { label: 'Wheelchair, must be carried', type: exports.ɵf.SpeacialNeed },
1544
+ { label: 'Wheelchair, with dry battery', type: exports.ɵf.SpeacialNeed },
1545
+ { label: 'Wheelchair, with wet battery', type: exports.ɵf.SpeacialNeed },
1546
+ { label: 'Quiet', type: exports.ɵf.SeatLocation },
1547
+ { label: 'Business', type: exports.ɵf.SeatLocation },
1548
+ { label: 'Family', type: exports.ɵf.SeatLocation },
1549
+ { label: 'Aisle', type: exports.ɵf.SeatPosition },
1550
+ { label: 'Middle', type: exports.ɵf.SeatPosition },
1551
+ { label: 'Window', type: exports.ɵf.SeatPosition },
1552
+ { label: 'Individual', type: exports.ɵf.SeatPosition },
1553
+ { label: 'Front Facing', type: exports.ɵf.SeatDirection },
1554
+ { label: 'Back Facing', type: exports.ɵf.SeatDirection },
1555
+ { label: 'Airline Seat', type: exports.ɵf.SeatDirection }
1556
+ ];
1557
+ var DocTypes = [
1558
+ { label: 'Passport', type: exports.ɵd.Passport },
1559
+ { label: 'Visa', type: exports.ɵd.Visa },
1560
+ { label: 'IdCard', type: exports.ɵd.IdCard }
1561
+ ];
1562
+ var Genders = [
1563
+ { label: 'F', type: exports.ɵc.F },
1564
+ { label: 'M', type: exports.ɵc.M }
1565
+ ];
1566
+ var DistanceType = [
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' }
3204
+ ];
1494
3205
 
1495
3206
  var BookableBasket = /** @class */ (function () {
1496
3207
  function BookableBasket(basketService, helpers) {
@@ -3011,7 +4722,7 @@
3011
4722
  : arrivalTimeReturn;
3012
4723
  (result1.inboundFlights || []).forEach(updateFlightItems);
3013
4724
  indexedFlight(result1.inboundFlights, 'depatureReturnAirport', 'originAirport', 'originAirportName', 0);
3014
- indexedFlight(result1.inboundFlights, 'arrivalReturnAirport', 'destinationAirport', 'destinationAirportName', result1.outboundFlights.length - 1);
4725
+ indexedFlight(result1.inboundFlights, 'arrivalReturnAirport', 'destinationAirport', 'destinationAirportName', result1.inboundFlights.length - 1);
3015
4726
  }
3016
4727
  return filters;
3017
4728
  }, this.clone(defaultFilters));
@@ -3120,6 +4831,10 @@
3120
4831
  fare1.unavailable = rule.unavailable;
3121
4832
  fare1.unavailableMessage = rule.unavailableMessage;
3122
4833
  }
4834
+ if (isSet(rule === null || rule === void 0 ? void 0 : rule.requiresReason)) {
4835
+ fare1.requiresReason = rule.requiresReason;
4836
+ fare1.requiresReasonMessage = rule.requiresReasonMessage;
4837
+ }
3123
4838
  return fare1;
3124
4839
  }, fare);
3125
4840
  };
@@ -3837,13 +5552,14 @@
3837
5552
  this.viasTo = recentSearch.searchArgs.viasTo;
3838
5553
  this.searchService.startSearches();
3839
5554
  };
3840
- CabHireEnterpriseSearch.prototype.getSearchQuery = function () {
5555
+ CabHireEnterpriseSearch.prototype.getSearchQuery = function (simplifiedLocation) {
5556
+ if (simplifiedLocation === void 0) { simplifiedLocation = true; }
3841
5557
  var query = {
3842
5558
  adults: this.tempParams.adults,
3843
5559
  children: this.tempParams.children,
3844
5560
  departs: this.tempParams.departs,
3845
- fromLocation: this.createCabHireLocation(this.tempParams.fromAddress),
3846
- 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,
3847
5563
  infants: 0,
3848
5564
  vehicleType: this.vehicleType,
3849
5565
  vias: this._vias
@@ -4066,7 +5782,7 @@
4066
5782
  co2PerItem: cabHireQuote.co2PerItem,
4067
5783
  co2PerPassenger: cabHireQuote.co2PerPassenger,
4068
5784
  outboundDate: cabHireQuery.departs.format()
4069
- }, intBasket, this.searchService, this.travellers)];
5785
+ }, intBasket, this.searchService, this.travellers, cabHireQuote.requiresReason)];
4070
5786
  }
4071
5787
  return [2 /*return*/, Promise.resolve(false)]; // TODO should this throw an error?
4072
5788
  }
@@ -4119,6 +5835,42 @@
4119
5835
  return this.searchService.saveFavouriteSearch(searchInfo);
4120
5836
  }
4121
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
+ };
4122
5874
  return CabHireEnterpriseSearch;
4123
5875
  }(BaseEnterpriseSearch));
4124
5876
  CabHireEnterpriseSearch.STORAGE_SESSION_PARAMS = 'search_cab';
@@ -4350,10 +6102,9 @@
4350
6102
  _this.updateTempParams(searchService.makeCarHireQuery(data.tempParams));
4351
6103
  if (searchService.shouldAddTravellerSubscription()) {
4352
6104
  searchService.travellerInformation.subscribe(function (travellers) {
4353
- var splitTravellers = _this.helpers.selectedTravellers(travellers, ServiceType.Car);
4354
- _this.adults = splitTravellers.adults.length;
4355
- _this.children = splitTravellers.children.length;
4356
- _this.travellers = travellers;
6105
+ _this.adults = 1;
6106
+ _this.children = 0;
6107
+ _this.travellers = (travellers === null || travellers === void 0 ? void 0 : travellers.slice(0, 1)) || [];
4357
6108
  _this._isValid();
4358
6109
  });
4359
6110
  }
@@ -5162,7 +6913,7 @@
5162
6913
  query.type = this.carType || null;
5163
6914
  query.estimatedDailyDistance = this.estimatedMileage || null;
5164
6915
  query.estimatedDailyDistanceUnits = this.estimatedMileage
5165
- ? DistanceTypes.M
6916
+ ? exports.ɵb.M
5166
6917
  : null; // Setting as miles for now - may swap out for kilometers later
5167
6918
  return this.helpers.removeNulls(query);
5168
6919
  };
@@ -5402,24 +7153,38 @@
5402
7153
  };
5403
7154
  CarhireEnterpriseSearch.prototype.updateFromPreviousSearches = function (previousItems) {
5404
7155
  var _a;
5405
- console.log("PREPOPULATING CARHIRE FORM");
7156
+ console.log('PREPOPULATING CARHIRE FORM');
5406
7157
  var flightItem = (_a = previousItems[ServiceType.Flight]) === null || _a === void 0 ? void 0 : _a.searchQuery;
5407
7158
  if (flightItem) {
5408
7159
  try {
5409
7160
  var startDate = this.searchService.searches[ServiceType.Flight].outBoundDate.toDate();
5410
7161
  var endDate = this.searchService.searches[ServiceType.Flight].inboundDate.toDate();
5411
7162
  this.locationType = exports.LocationTypes.Airport;
5412
- this.pickup_datetime = this.searchService.searches[ServiceType.Flight].outBoundDate;
5413
- this.dropoff_datetime = this.searchService.searches[ServiceType.Flight].inboundDate;
5414
- this.pickup_date = { day: startDate.getUTCDate(), month: startDate.getUTCMonth() + 1, year: startDate.getUTCFullYear() };
5415
- this.dropoff_date = { day: endDate.getUTCDate(), month: endDate.getUTCMonth() + 1, year: endDate.getUTCFullYear() };
5416
- this.pickup_location = this.searchService.searches[ServiceType.Flight].arriveLocation;
5417
- this.dropoff_location = this.searchService.searches[ServiceType.Flight].arriveLocation;
5418
- this.pickup_country = this.searchService.searches[ServiceType.Flight].arriveLocation.countryCode;
5419
- 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;
5420
7185
  }
5421
7186
  catch (_b) {
5422
- console.error("Error trying to prepopulate carhire from flight item");
7187
+ console.error('Error trying to prepopulate carhire from flight item');
5423
7188
  }
5424
7189
  }
5425
7190
  };
@@ -5551,7 +7316,7 @@
5551
7316
  co2PerItem: co2PerItem,
5552
7317
  co2PerPassenger: co2PerPassenger,
5553
7318
  outboundDate: new Date(displayRecord.pickup).toISOString()
5554
- }, intBasket, this.searchService, this.travellers)];
7319
+ }, intBasket, this.searchService, this.travellers, carHireVehicleAvailibility.requiresReason)];
5555
7320
  }
5556
7321
  return [2 /*return*/, Promise.resolve(false)];
5557
7322
  }
@@ -5635,6 +7400,27 @@
5635
7400
  return this.searchService.saveFavouriteSearch(searchInfo);
5636
7401
  }
5637
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
+ };
5638
7424
  return CarhireEnterpriseSearch;
5639
7425
  }(BaseEnterpriseSearch));
5640
7426
  CarhireEnterpriseSearch.STORAGE_SESSION_PARAMS = 'carhire_params';
@@ -7160,7 +8946,7 @@
7160
8946
  };
7161
8947
  var selectedRuleSummary = this._ruleActionSummary.dualSingleWhenSelected[(_b = this.selectedGroupFlight) === null || _b === void 0 ? void 0 : _b.journeyHash] || {};
7162
8948
  var setSelected = function (flight) {
7163
- var _a, _b, _c, _d, _e, _f;
8949
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
7164
8950
  flight.selected = flight.uid === ((_a = _this.selectedGroupFlight) === null || _a === void 0 ? void 0 : _a.uid);
7165
8951
  flight.unavailable =
7166
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) ||
@@ -7168,6 +8954,12 @@
7168
8954
  flight.unavailableMessage =
7169
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) ||
7170
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
+ '';
7171
8963
  return flight;
7172
8964
  };
7173
8965
  if (this.isGroupedFlights(this.fullResults)) {
@@ -7270,7 +9062,7 @@
7270
9062
  if (basket &&
7271
9063
  this.originalUserSearch.chosenSearchType === exports.FlightSearchType.oneWay &&
7272
9064
  direction === exports.FlightDirectionEnum.Outbound) {
7273
- // TODO becouse pop-up is not ready I commented the code.
9065
+ // TODO becouse pop-up is not ready I commented the code.
7274
9066
  // this.modalService.open( ModalTypes.FlightExtrasDialogComponent, { centered: true }, { flight: selectedFlight }).then(result => {
7275
9067
  // if (result) {
7276
9068
  this.bookSingleFlight(intBasket, selectedFlight);
@@ -7385,7 +9177,7 @@
7385
9177
  if (inboundDate) {
7386
9178
  booking.inboundDate = inboundDate;
7387
9179
  }
7388
- this.basketService.addToBasket(booking, intBasket, this.searchService, this.travellers);
9180
+ this.basketService.addToBasket(booking, intBasket, this.searchService, this.travellers, selectedFlight.requiresReason);
7389
9181
  };
7390
9182
  FlightEnterpriseSearch.prototype.makeSchemaFlights = function (selectedFlight, flightGroup, groupIndex, segmentIndex) {
7391
9183
  return Object.assign(Object.assign({}, selectedFlight), { journeyInfo: {
@@ -7441,7 +9233,7 @@
7441
9233
  booking.inboundDate = inboundDate.format();
7442
9234
  schemaDetails.journeyType = 'roundtrip';
7443
9235
  }
7444
- 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)];
7445
9237
  }
7446
9238
  return [2 /*return*/, Promise.resolve(false)]; // TODO should this throw an error?
7447
9239
  }
@@ -7625,6 +9417,60 @@
7625
9417
  return this.searchService.saveFavouriteSearch(searchInfo);
7626
9418
  }
7627
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
+ };
7628
9474
  FlightEnterpriseSearch.prototype.updateSerchQuery = function (query) {
7629
9475
  var searchQuery = query;
7630
9476
  switch (this.chosenSearchType) {
@@ -7743,17 +9589,18 @@
7743
9589
  _this.multiResultsSessionName = HotelEnterpriseSearch.STORAGE_SESSION_RESULTS;
7744
9590
  _this.query = {};
7745
9591
  _this.filterResults = function () {
7746
- _this.results.next(_this.fullResults.filter(function (hotel) {
9592
+ _this.resultsFilterMethod = function (results) { return results.filter(function (hotel) {
7747
9593
  return (_this.inPriceRange(hotel) &&
7748
9594
  _this.inDistanceRange(hotel) &&
7749
9595
  _this.containsHotelname(hotel) &&
7750
9596
  _this.hasChain(hotel) &&
7751
9597
  _this.breakfastTypeFilter(hotel));
7752
- }));
9598
+ }); };
9599
+ _this.results.next(_this.resultsFilterMethod(_this.fullResults));
7753
9600
  };
7754
9601
  // Lightening Filters
7755
9602
  _this.filterLighteningResults = function () {
7756
- _this.results.next(_this.fullResults.filter(function (hotel) {
9603
+ _this.resultsFilterMethod = function (results) { return results.filter(function (hotel) {
7757
9604
  return (_this.inLighteningPriceRange(hotel) &&
7758
9605
  _this.containsHotelname(hotel) &&
7759
9606
  _this.hasChain(hotel) &&
@@ -7761,7 +9608,8 @@
7761
9608
  _this.breakfastTypeFilter(hotel) &&
7762
9609
  _this.getExtraFilter(hotel) &&
7763
9610
  _this.getAmenitiesFilter(hotel));
7764
- }));
9611
+ }); };
9612
+ _this.results.next(_this.resultsFilterMethod(_this.fullResults));
7765
9613
  };
7766
9614
  _this.results_details.chains = new Set();
7767
9615
  var data = storageService.getSessionItem(HotelEnterpriseSearch.STORAGE_SESSION_PARAMS) || {
@@ -8087,6 +9935,13 @@
8087
9935
  enumerable: false,
8088
9936
  configurable: true
8089
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
+ });
8090
9945
  Object.defineProperty(HotelEnterpriseSearch.prototype, "distance_list", {
8091
9946
  get: function () {
8092
9947
  return this._distance_list;
@@ -8153,12 +10008,14 @@
8153
10008
  })
8154
10009
  .pipe(operators.take(1))
8155
10010
  .subscribe(function (data1) {
8156
- _this.results.next(_this.fullResults.map(function (hotel) {
10011
+ var filterResults = _this.resultsFilterMethod(_this.fullResults);
10012
+ var travleResults = filterResults.map(function (hotel) {
8157
10013
  if (data1[hotel.id]) {
8158
10014
  return _this.avaliabilityService.setHotelAvalability(data1[hotel.id]);
8159
10015
  }
8160
10016
  return hotel;
8161
- }));
10017
+ });
10018
+ _this.results.next(travleResults);
8162
10019
  });
8163
10020
  };
8164
10021
  HotelEnterpriseSearch.prototype.makeLocations = function (location) {
@@ -8379,7 +10236,7 @@
8379
10236
  break;
8380
10237
  case exports.LocationTypes.TrainStation:
8381
10238
  this.getRailStationByCode(recentSearch.searchArgs.trainStationCode).subscribe(function (trainsStation) {
8382
- _this.trainsStation = trainsStation;
10239
+ _this.trainsStation = Object.assign(Object.assign({}, trainsStation), { type: exports.LocationTypes.TrainStation });
8383
10240
  _this.searchService.startSearches();
8384
10241
  });
8385
10242
  break;
@@ -8420,7 +10277,7 @@
8420
10277
  adults: tempParams.no_of_occupants,
8421
10278
  currency: tempParams.currency ? tempParams.currency : null,
8422
10279
  distance: tempParams.distance,
8423
- distanceType: DistanceTypes.M,
10280
+ distanceType: exports.ɵb.M,
8424
10281
  maxResults: 100
8425
10282
  };
8426
10283
  this.getRoomNumber();
@@ -8692,33 +10549,41 @@
8692
10549
  };
8693
10550
  HotelEnterpriseSearch.prototype.updateFromPreviousSearches = function (previousItems) {
8694
10551
  var _a, _b;
8695
- console.log("PREPOPULATING HOTEL FORM");
10552
+ console.log('PREPOPULATING HOTEL FORM');
8696
10553
  var flightItem = (_a = previousItems[ServiceType.Flight]) === null || _a === void 0 ? void 0 : _a.searchQuery;
8697
10554
  var railItem = (_b = previousItems[ServiceType.Rail]) === null || _b === void 0 ? void 0 : _b.searchQuery;
8698
10555
  if (flightItem) {
8699
10556
  try {
8700
10557
  this.location_type_select = exports.LocationTypes.Airport;
8701
- this.checkin_date = this.searchService.searches[ServiceType.Flight].outBoundDate;
8702
- 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;
8703
10562
  this.location = {
8704
- name: this.searchService.searches[ServiceType.Flight].arriveLocation.destination,
10563
+ name: this.searchService.searches[ServiceType.Flight]
10564
+ .arriveLocation.destination,
8705
10565
  type: 'Airport',
8706
10566
  airport: this.searchService.searches[ServiceType.Flight].arriveLocation
8707
10567
  };
8708
10568
  }
8709
10569
  catch (_c) {
8710
- console.error("Error trying to prepopulate hotel from flight item");
10570
+ console.error('Error trying to prepopulate hotel from flight item');
8711
10571
  }
8712
10572
  }
8713
10573
  else if (railItem) {
8714
10574
  try {
8715
10575
  this.location_type_select = exports.LocationTypes.TrainStation;
8716
- this.checkin_date = this.searchService.searches[ServiceType.Rail].outBoundDateTime;
8717
- this.checkout_date = this.searchService.searches[ServiceType.Rail].inBoundDateTime;
8718
- this.trainsStation = 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;
8719
10584
  }
8720
10585
  catch (_d) {
8721
- console.error("Error trying to prepopulate hotel from rail item");
10586
+ console.error('Error trying to prepopulate hotel from rail item');
8722
10587
  }
8723
10588
  }
8724
10589
  };
@@ -8956,7 +10821,7 @@
8956
10821
  }, intBasket, _this.searchService,
8957
10822
  // this is an array of 1 or 2 travellers which go in 1 room
8958
10823
  // chunk
8959
- bookedTravellersChunks_1[index] || []);
10824
+ bookedTravellersChunks_1[index] || [], hotelRoom.requiresReason);
8960
10825
  // if (index === bookedTravellersChunks.length - 1) {
8961
10826
  if (index === roomArray_1.length - 1) {
8962
10827
  return Promise.resolve(true);
@@ -9007,9 +10872,37 @@
9007
10872
  return this.searchService.saveFavouriteSearch(searchInfo);
9008
10873
  }
9009
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
+ };
9010
10904
  return HotelEnterpriseSearch;
9011
10905
  }(BaseEnterpriseSearch));
9012
- HotelEnterpriseSearch.MAX_HOTEL_ROOMS = 4;
9013
10906
  HotelEnterpriseSearch.STORAGE_SESSION_PARAMS = 'search_hotel';
9014
10907
  HotelEnterpriseSearch.STORAGE_SESSION_RESULTS = 'results_hotel';
9015
10908
 
@@ -9330,16 +11223,21 @@
9330
11223
  };
9331
11224
  LoungesEnterpriseSearch.prototype.updateFromPreviousSearches = function (previousItems) {
9332
11225
  var _a;
9333
- console.log("PREPOPULATING LOUNGE FORM");
11226
+ console.log('PREPOPULATING LOUNGE FORM');
9334
11227
  var flightItem = (_a = previousItems[ServiceType.Flight]) === null || _a === void 0 ? void 0 : _a.searchQuery;
9335
11228
  if (flightItem) {
9336
11229
  try {
9337
11230
  var date = this.searchService.searches[ServiceType.Flight].outBoundDate.toDate();
9338
- this.date = { day: date.getUTCDate(), month: date.getUTCMonth() + 1, year: date.getUTCFullYear() };
9339
- 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;
9340
11238
  }
9341
11239
  catch (_b) {
9342
- console.error("Error trying to prepopulate parking from lounge item");
11240
+ console.error('Error trying to prepopulate parking from lounge item');
9343
11241
  }
9344
11242
  }
9345
11243
  };
@@ -9389,7 +11287,7 @@
9389
11287
  currency: loungeQuote.currency,
9390
11288
  searchQuery: loungeQuery,
9391
11289
  outboundDate: loungeQuery.arrivalDatetime.format()
9392
- }, intBasket, this.searchService, this.travellers)];
11290
+ }, intBasket, this.searchService, this.travellers, loungeQuote.requiresReason)];
9393
11291
  }
9394
11292
  return [2 /*return*/, Promise.resolve(false)]; // TODO should this throw an error?
9395
11293
  }
@@ -9482,6 +11380,21 @@
9482
11380
  return this.searchService.saveFavouriteSearch(searchInfo);
9483
11381
  }
9484
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
+ };
9485
11398
  return LoungesEnterpriseSearch;
9486
11399
  }(BaseEnterpriseSearch));
9487
11400
  LoungesEnterpriseSearch.STORAGE_SESSION_PARAMS = 'search_lounge';
@@ -9901,18 +11814,27 @@
9901
11814
  };
9902
11815
  ParkingEnterpriseSearch.prototype.updateFromPreviousSearches = function (previousItems) {
9903
11816
  var _a;
9904
- console.log("PREPOPULATING PARKING FORM");
11817
+ console.log('PREPOPULATING PARKING FORM');
9905
11818
  var flightItem = (_a = previousItems[ServiceType.Flight]) === null || _a === void 0 ? void 0 : _a.searchQuery;
9906
11819
  if (flightItem) {
9907
11820
  try {
9908
11821
  var startDate = this.searchService.searches[ServiceType.Flight].outBoundDate.toDate();
9909
11822
  var endDate = this.searchService.searches[ServiceType.Flight].inboundDate.toDate();
9910
- this.outdate = { day: startDate.getUTCDate(), month: startDate.getUTCMonth() + 1, year: startDate.getUTCFullYear() };
9911
- this.indate = { day: endDate.getUTCDate(), month: endDate.getUTCMonth() + 1, year: endDate.getUTCFullYear() };
9912
- 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;
9913
11835
  }
9914
11836
  catch (_b) {
9915
- console.error("Error trying to prepopulate parking from flight item");
11837
+ console.error('Error trying to prepopulate parking from flight item');
9916
11838
  }
9917
11839
  }
9918
11840
  };
@@ -9945,7 +11867,7 @@
9945
11867
  searchQuery: parkingQuery,
9946
11868
  outboundDate: parkingQuery.arrivalDatetime.format(),
9947
11869
  inboundDate: parkingQuery.departDatetime.format()
9948
- }, intBasket, this.searchService, this.travellers)];
11870
+ }, intBasket, this.searchService, this.travellers, parkingQuote.requiresReason)];
9949
11871
  }
9950
11872
  return [2 /*return*/, Promise.resolve(false)];
9951
11873
  }
@@ -10018,6 +11940,18 @@
10018
11940
  return this.searchService.saveFavouriteSearch(searchInfo);
10019
11941
  }
10020
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
+ };
10021
11955
  return ParkingEnterpriseSearch;
10022
11956
  }(BaseEnterpriseSearch));
10023
11957
  ParkingEnterpriseSearch.STORAGE_SESSION_PARAMS = 'search_parking';
@@ -10087,11 +12021,12 @@
10087
12021
  })(exports.SortMethod || (exports.SortMethod = {}));
10088
12022
  var EurostarEnterpriseSearch = /** @class */ (function (_super) {
10089
12023
  __extends(EurostarEnterpriseSearch, _super);
10090
- function EurostarEnterpriseSearch(eurostarFetcher, helpers, userService, basketService, storageService, searchService) {
12024
+ function EurostarEnterpriseSearch(eurostarFetcher, helpers, userService, basketService, storageService, searchService, modalService) {
10091
12025
  var _this = _super.call(this, storageService, helpers) || this;
10092
12026
  _this.eurostarFetcher = eurostarFetcher;
10093
12027
  _this.basketService = basketService;
10094
12028
  _this.searchService = searchService;
12029
+ _this.modalService = modalService;
10095
12030
  _this.type = ServiceType.Eurostar;
10096
12031
  _this.avaliableClasses = new rxjs.BehaviorSubject([]);
10097
12032
  _this.timeCriteriaOptions = new rxjs.BehaviorSubject([]);
@@ -10751,7 +12686,8 @@
10751
12686
  price: NaN,
10752
12687
  currency: 'GBP',
10753
12688
  selected: false
10754
- }
12689
+ },
12690
+ requiresReason: false
10755
12691
  };
10756
12692
  // returnObject.duration = results.outboundTotalDuration;
10757
12693
  results.forEach(function (flight) {
@@ -10821,7 +12757,7 @@
10821
12757
  });
10822
12758
  this.validationMessages = [];
10823
12759
  if (!this._originAirport) {
10824
- this.validationMessages.push('Please add in a departutre location');
12760
+ this.validationMessages.push('Please add in a departure location');
10825
12761
  }
10826
12762
  if (!this._destinationAirport) {
10827
12763
  this.validationMessages.push('Please add in a arrival destination');
@@ -10839,10 +12775,31 @@
10839
12775
  if (this.tempParams.outBoundDate.isSameOrAfter(this.tempParams.inTimeCriteria)) {
10840
12776
  this.validationMessages.push('Return date must be after the departure date');
10841
12777
  }
12778
+ // this is stuff for matching cabin classes
12779
+ if (!this.checkCabinMatchisValid()) {
12780
+ this.validationMessages.push('The types of cabin classes selected are not compatible. Examples of compatible cabin classes; Any - Any, Standard - Standard, Business - Business');
12781
+ }
10842
12782
  }
10843
12783
  this.isValid.next(this.validationMessages.length === 0);
10844
12784
  this.messages.next(this.validationMessages);
10845
12785
  };
12786
+ EurostarEnterpriseSearch.prototype.checkCabinMatchisValid = function () {
12787
+ switch (this.tempParams.cabinClass) {
12788
+ case FlightCabinClass.Any:
12789
+ return this.tempParams.returnCabinClass === FlightCabinClass.Any;
12790
+ case FlightCabinClass.Economy:
12791
+ case FlightCabinClass.PremiumEconomy:
12792
+ return (this.tempParams.returnCabinClass !== FlightCabinClass.Business &&
12793
+ this.tempParams.returnCabinClass !== FlightCabinClass.Any);
12794
+ case FlightCabinClass.Business:
12795
+ return !(this.tempParams.returnCabinClass === FlightCabinClass.Economy ||
12796
+ this.tempParams.returnCabinClass ===
12797
+ FlightCabinClass.PremiumEconomy ||
12798
+ this.tempParams.returnCabinClass === FlightCabinClass.Any);
12799
+ default:
12800
+ return true;
12801
+ }
12802
+ };
10846
12803
  EurostarEnterpriseSearch.prototype.startSearch = function () {
10847
12804
  this.results.next([]);
10848
12805
  this._isValid();
@@ -10877,8 +12834,20 @@
10877
12834
  if (this.arriveLocation) {
10878
12835
  searchQuery.arriveLocation = this.arriveLocation;
10879
12836
  }
12837
+ searchQuery.outboundCabinClassName = this.turnCabinTypeToName(this.tempParams.cabinClass);
12838
+ if (this.isReturn) {
12839
+ searchQuery.returnCabinClassName =
12840
+ this.tempParams.cabinClass === this.tempParams.returnCabinClass
12841
+ ? searchQuery.outboundCabinClassName
12842
+ : this.turnCabinTypeToName(this.tempParams.returnCabinClass);
12843
+ }
10880
12844
  return searchQuery;
10881
12845
  };
12846
+ EurostarEnterpriseSearch.prototype.turnCabinTypeToName = function (classType) {
12847
+ var classes = this.avaliableClasses.value;
12848
+ var selectedCalssName = classes.find(function (classItem) { return classItem.type === classType; }).name;
12849
+ return [selectedCalssName];
12850
+ };
10882
12851
  EurostarEnterpriseSearch.prototype.startRecentSearch = function (recentSearch) {
10883
12852
  if (recentSearch.searchArgs.outboundDate) {
10884
12853
  var outboundTimeWindow = recentSearch.searchArgs
@@ -11301,7 +13270,7 @@
11301
13270
  outboundFlights: [this.makeSchemaFlights(fare.fare, 'outbound', 0)],
11302
13271
  inboundFlights: [],
11303
13272
  journeyType: 'single'
11304
- }, selectedEurostar.dateDeparture, null, fare.price);
13273
+ }, selectedEurostar.dateDeparture, null, fare.price, selectedEurostar.requiresReason);
11305
13274
  return [2 /*return*/];
11306
13275
  }
11307
13276
  // return logic needs updating - either accept outbound or return and somehow distiguish them
@@ -11322,7 +13291,7 @@
11322
13291
  this.makeSchemaFlights(fare.fare, 'outbound', 0)
11323
13292
  ],
11324
13293
  journeyType: 'roundtrip'
11325
- }, selectedEurostar.dateDeparture, this.selectedGroupEurostar.item.dateArrival, price);
13294
+ }, selectedEurostar.dateDeparture, this.selectedGroupEurostar.item.dateArrival, price, selectedEurostar.requiresReason);
11326
13295
  this.resetSelectedFares();
11327
13296
  this.basketService.toggleMenu();
11328
13297
  this.results.next(this.fullResults.map(this.removeSelectedFlags));
@@ -11361,7 +13330,7 @@
11361
13330
  ],
11362
13331
  inboundFlights: [this.makeSchemaFlights(fare.fare, 'inbound', 0)],
11363
13332
  journeyType: 'roundtrip'
11364
- }, selectedEurostar.dateDeparture, this.selectedGroupEurostar.item.dateArrival, price);
13333
+ }, selectedEurostar.dateDeparture, this.selectedGroupEurostar.item.dateArrival, price, selectedEurostar.requiresReason);
11365
13334
  this.resetSelectedFares();
11366
13335
  this.basketService.toggleMenu();
11367
13336
  this.results.next(this.fullResults.map(this.removeSelectedFlags));
@@ -11433,7 +13402,7 @@
11433
13402
  return cheapestPrice;
11434
13403
  }, { amount: Number.MAX_SAFE_INTEGER, currencyCode: currency });
11435
13404
  };
11436
- EurostarEnterpriseSearch.prototype.doBooking = function (intBasket, selectedFlight, schemaDetails, outboundDate, inboundDate, price) {
13405
+ EurostarEnterpriseSearch.prototype.doBooking = function (intBasket, selectedFlight, schemaDetails, outboundDate, inboundDate, price, requiresReason) {
11437
13406
  var sourceId = selectedFlight.sourceId, co2PerItem = selectedFlight.co2PerItem, co2PerPassenger = selectedFlight.co2PerPassenger, total = selectedFlight.total;
11438
13407
  var booking = {
11439
13408
  adults: this.adults,
@@ -11451,7 +13420,7 @@
11451
13420
  if (inboundDate) {
11452
13421
  booking.inboundDate = inboundDate;
11453
13422
  }
11454
- this.basketService.addToBasket(booking, intBasket, this.searchService, this.travellers);
13423
+ this.basketService.addToBasket(booking, intBasket, this.searchService, this.travellers, requiresReason);
11455
13424
  };
11456
13425
  EurostarEnterpriseSearch.prototype.makeSchemaFlights = function (selectedFlight, flightGroup, groupIndex, segmentIndex) {
11457
13426
  return Object.assign(Object.assign({}, selectedFlight), { journeyInfo: {
@@ -11569,7 +13538,7 @@
11569
13538
  booking.inboundDate = inboundDate.format();
11570
13539
  schemaDetails.journeyType = 'roundtrip';
11571
13540
  }
11572
- 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)];
11573
13542
  }
11574
13543
  return [2 /*return*/, Promise.resolve(false)]; // TODO should this throw an error?
11575
13544
  }
@@ -11722,6 +13691,42 @@
11722
13691
  return this.searchService.saveFavouriteSearch(searchInfo);
11723
13692
  }
11724
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
+ };
13714
+ EurostarEnterpriseSearch.prototype.openEurostarFareRules = function (basketItem) {
13715
+ var _this = this;
13716
+ var flights = __spread(basketItem.detail.outboundFlights);
13717
+ flights[0].fareInfo = flights[0].journeyInfo;
13718
+ delete flights[0].journeyInfo;
13719
+ var rulesFromCall = this.searchService.getFlightFareRules(flights[0]);
13720
+ rulesFromCall.subscribe(function (data) {
13721
+ _this.modalService.open(ModalTypes.ModalFlightFareComponent, null, {
13722
+ rules: data.results[0],
13723
+ from: flights[0].originAirport,
13724
+ to: flights[flights.length - 1].destinationAirport
13725
+ });
13726
+ }, function (err) {
13727
+ console.log(err);
13728
+ });
13729
+ };
11725
13730
  return EurostarEnterpriseSearch;
11726
13731
  }(BaseEnterpriseSearch));
11727
13732
  EurostarEnterpriseSearch.STORAGE_SESSION_PARAMS = 'search_eurostar';
@@ -12043,6 +14048,9 @@
12043
14048
  if ((_a = tt === null || tt === void 0 ? void 0 : tt.railstation) === null || _a === void 0 ? void 0 : _a.id) {
12044
14049
  this._travellingTo = tt.railstation.id;
12045
14050
  }
14051
+ else if (tt === null || tt === void 0 ? void 0 : tt.id) {
14052
+ this._travellingTo = tt.id;
14053
+ }
12046
14054
  this._isValid();
12047
14055
  },
12048
14056
  enumerable: false,
@@ -12059,6 +14067,9 @@
12059
14067
  if ((_a = tt === null || tt === void 0 ? void 0 : tt.railstation) === null || _a === void 0 ? void 0 : _a.id) {
12060
14068
  this._travellingFrom = tt.railstation.id;
12061
14069
  }
14070
+ else if (tt === null || tt === void 0 ? void 0 : tt.id) {
14071
+ this._travellingFrom = tt.id;
14072
+ }
12062
14073
  this._isValid();
12063
14074
  },
12064
14075
  enumerable: false,
@@ -12462,7 +14473,7 @@
12462
14473
  inboundCheapest: inPrices.cheapestTickets,
12463
14474
  cheapestClassTicket: inPrices.cheapestClassTicket,
12464
14475
  cheapestClassTicketReturn: outPrices.outboundClassTicket,
12465
- cheapestClassTicketDual: inPrices.outboundClassTicket,
14476
+ cheapestClassTicketDual: inPrices.outboundClassTicket
12466
14477
  });
12467
14478
  return Object.assign(Object.assign({}, railResult), { outbound: outbound, return: inbound });
12468
14479
  });
@@ -12543,7 +14554,8 @@
12543
14554
  if (isStandardClassSingle) {
12544
14555
  var inboundPrice = min(prices1.cheapestClassTicket.inboundStandardClassFare, dualSingleStandardJourneys, journey);
12545
14556
  var outboundTotalPrice = prices1.cheapestClassTicket.standardClassFare.price;
12546
- if (outboundTotalPrice > prices1.outboundClassTicket.standardClassFare.price) {
14557
+ if (outboundTotalPrice >
14558
+ prices1.outboundClassTicket.standardClassFare.price) {
12547
14559
  prices1.cheapestClassTicket.standardClassFare =
12548
14560
  prices1.outboundClassTicket.standardClassFare;
12549
14561
  // prices1.cheapestClassTicket.inboundStandardClassFare = {
@@ -12552,7 +14564,8 @@
12552
14564
  // fare: null
12553
14565
  // };
12554
14566
  }
12555
- else if (inboundPrice.price > prices1.cheapestClassTicket.inboundStandardClassFare.price) {
14567
+ else if (inboundPrice.price >
14568
+ prices1.cheapestClassTicket.inboundStandardClassFare.price) {
12556
14569
  prices1.cheapestClassTicket.inboundStandardClassFare =
12557
14570
  inboundPrice;
12558
14571
  }
@@ -12571,7 +14584,8 @@
12571
14584
  // fare: null
12572
14585
  // };
12573
14586
  }
12574
- else if (inboundPrice.price > prices1.cheapestClassTicket.inboundFirstClassFare.price) {
14587
+ else if (inboundPrice.price >
14588
+ prices1.cheapestClassTicket.inboundFirstClassFare.price) {
12575
14589
  prices1.cheapestClassTicket.inboundFirstClassFare = inboundPrice;
12576
14590
  }
12577
14591
  }
@@ -12976,14 +14990,16 @@
12976
14990
  fareIdentifiers: [outboundFare.identifiers.fareIdentifier],
12977
14991
  journeyIdentifier: outboundFare.identifiers.journeyIdentifier,
12978
14992
  isDualSingleReturn: true,
12979
- journeyLegs: this.removedScheduledPlatformFromCallingPoints(outbound.journeyLegs)
14993
+ journeyLegs: this.removedScheduledPlatformFromCallingPoints(outbound.journeyLegs),
14994
+ eTicket: !!outboundFare.eTicketAvailable
12980
14995
  },
12981
14996
  // ticketQueueList,
12982
14997
  return: {
12983
14998
  fareIdentifiers: [inboundFare.identifiers.fareIdentifier],
12984
14999
  journeyIdentifier: inboundFare.identifiers.journeyIdentifier,
12985
15000
  isDualSingleReturn: true,
12986
- journeyLegs: this.removedScheduledPlatformFromCallingPoints(inbound.journeyLegs)
15001
+ journeyLegs: this.removedScheduledPlatformFromCallingPoints(inbound.journeyLegs),
15002
+ eTicket: !!inboundFare.eTicketAvailable
12987
15003
  },
12988
15004
  termsAndCond: termsAndConditions
12989
15005
  },
@@ -13003,7 +15019,7 @@
13003
15019
  if (outTicketExtras) {
13004
15020
  basketItem.detail.outbound.ticketExtras = outTicketExtras;
13005
15021
  }
13006
- 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)];
13007
15023
  }
13008
15024
  return [2 /*return*/, Promise.resolve()];
13009
15025
  }
@@ -13319,6 +15335,7 @@
13319
15335
  },
13320
15336
  transactionIdentifier: railFare.identifiers.transactionIdentifier,
13321
15337
  outbound: {
15338
+ eTicket: !!railFare.eTicketAvailable,
13322
15339
  fareIdentifiers: [railFare.identifiers.fareIdentifier],
13323
15340
  journeyIdentifier: railFare.identifiers.journeyIdentifier,
13324
15341
  journeyLegs: this.removedScheduledPlatformFromCallingPoints(railJourneyOption.journeyLegs)
@@ -13338,7 +15355,7 @@
13338
15355
  if (outTicketExtras) {
13339
15356
  basketItem.detail.outbound.ticketExtras = outTicketExtras;
13340
15357
  }
13341
- 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)];
13342
15359
  }
13343
15360
  return [2 /*return*/, Promise.resolve()];
13344
15361
  }
@@ -13411,12 +15428,14 @@
13411
15428
  },
13412
15429
  transactionIdentifier: outboundFare.identifiers.transactionIdentifier,
13413
15430
  outbound: {
15431
+ eTicket: !!outboundFare.eTicketAvailable,
13414
15432
  fareIdentifiers: [outboundFare.identifiers.fareIdentifier],
13415
15433
  journeyIdentifier: outboundFare.identifiers.journeyIdentifier,
13416
15434
  journeyLegs: this.removedScheduledPlatformFromCallingPoints(outbound.journeyLegs)
13417
15435
  },
13418
15436
  // ticketQueueList,
13419
15437
  return: {
15438
+ eTicket: !!inboundFare.eTicketAvailable,
13420
15439
  fareIdentifiers: [inboundFare.identifiers.fareIdentifier],
13421
15440
  journeyIdentifier: inboundFare.identifiers.journeyIdentifier,
13422
15441
  journeyLegs: this.removedScheduledPlatformFromCallingPoints(inbound.journeyLegs)
@@ -13430,13 +15449,13 @@
13430
15449
  co2PerItem: outbound.co2PerItem,
13431
15450
  co2PerPassenger: outbound.co2PerPassenger,
13432
15451
  outboundDate: outbound.arriveDateTime,
13433
- inboundDate: inbound.arriveDateTime,
15452
+ inboundDate: inbound.arriveDateTime
13434
15453
  };
13435
15454
  // if ticketExtras exists add the object to basketItem
13436
15455
  if (ticketExtras) {
13437
15456
  basketItem.detail.outbound.ticketExtras = ticketExtras;
13438
15457
  }
13439
- 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)];
13440
15459
  }
13441
15460
  return [2 /*return*/, Promise.resolve(false)];
13442
15461
  }
@@ -13628,6 +15647,44 @@
13628
15647
  return this.searchService.saveFavouriteSearch(searchInfo);
13629
15648
  }
13630
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
+ };
13631
15688
  return RailEnterpriseSearch;
13632
15689
  }(BaseEnterpriseSearch));
13633
15690
  RailEnterpriseSearch.STORAGE_SESSION_PARAMS = 'search_rail';
@@ -13661,7 +15718,8 @@
13661
15718
  isInfant: false,
13662
15719
  childDOB: null,
13663
15720
  guest: false,
13664
- name: user.surname + ' ' + user.forename
15721
+ name: user.surname + ' ' + user.forename,
15722
+ dob: user.dob
13665
15723
  };
13666
15724
  };
13667
15725
  TravellerObject.equals = function (first, second) {
@@ -13695,12 +15753,13 @@
13695
15753
  })(exports.ClassType || (exports.ClassType = {}));
13696
15754
  var IRLEnterpriseSearch = /** @class */ (function (_super) {
13697
15755
  __extends(IRLEnterpriseSearch, _super);
13698
- function IRLEnterpriseSearch(Irlfetcher, irlDiscountCardsFetcher, helpers, basketService, storageService, searchService) {
15756
+ function IRLEnterpriseSearch(Irlfetcher, irlDiscountCardsFetcher, helpers, basketService, storageService, searchService, getIrlSupplierStationFetcher) {
13699
15757
  var _this = _super.call(this, storageService, helpers) || this;
13700
15758
  _this.Irlfetcher = Irlfetcher;
13701
15759
  _this.irlDiscountCardsFetcher = irlDiscountCardsFetcher;
13702
15760
  _this.basketService = basketService;
13703
15761
  _this.searchService = searchService;
15762
+ _this.getIrlSupplierStationFetcher = getIrlSupplierStationFetcher;
13704
15763
  _this.resultsSessionName = IRLEnterpriseSearch.STORAGE_SESSION_RESULTS;
13705
15764
  _this.multiResultsSessionName = IRLEnterpriseSearch.STORAGE_SESSION_RESULTS;
13706
15765
  _this._sortArray = [
@@ -13753,18 +15812,17 @@
13753
15812
  };
13754
15813
  _this._supplier = null;
13755
15814
  _this._countryCode = null;
13756
- _this._class = null;
15815
+ _this._class = IrlClass.All;
13757
15816
  _this._outboundDepartureDateTime = null;
13758
15817
  _this._departureLocationId = null;
13759
15818
  _this._arrivalLocationId = null;
13760
- _this._adults = 0;
13761
15819
  _this._children = 0;
13762
15820
  _this._cheapestStandard = null;
13763
15821
  _this._cheapestFirst = null;
13764
15822
  _this._returnDepartureDateTime = null;
13765
15823
  _this._ageRange = null;
13766
- _this._priceDir = false;
13767
- _this._dateDir = false;
15824
+ _this._priceDir = true;
15825
+ _this._dateDir = true;
13768
15826
  _this._irlDiscountCardsArray = [];
13769
15827
  // !date and time is handled differently for LU
13770
15828
  _this._outbound_date = null;
@@ -13774,6 +15832,8 @@
13774
15832
  _this._offline = false;
13775
15833
  _this._irlClass = IrlClass.All;
13776
15834
  _this._journeytype = IrlJourneyType.SingleJourney;
15835
+ _this._trainNumber = null;
15836
+ _this._additionalInstructions = null;
13777
15837
  var data = storageService.getSessionItem(IRLEnterpriseSearch.STORAGE_SESSION_PARAMS) || {
13778
15838
  query: {},
13779
15839
  tempParams: {},
@@ -13800,6 +15860,7 @@
13800
15860
  // searchService.startSearches();
13801
15861
  // }
13802
15862
  _this._cheapestResultPrice = _this.updateLowestPrice(results);
15863
+ _this.fullResults = results;
13803
15864
  _this.results.next(results || []);
13804
15865
  return _this;
13805
15866
  }
@@ -13952,10 +16013,10 @@
13952
16013
  });
13953
16014
  Object.defineProperty(IRLEnterpriseSearch.prototype, "adults", {
13954
16015
  get: function () {
13955
- return this._adults;
16016
+ return this.tempParams.adults;
13956
16017
  },
13957
16018
  set: function (data) {
13958
- this._adults = data;
16019
+ this.tempParams.adults = data;
13959
16020
  },
13960
16021
  enumerable: false,
13961
16022
  configurable: true
@@ -14213,6 +16274,26 @@
14213
16274
  enumerable: false,
14214
16275
  configurable: true
14215
16276
  });
16277
+ Object.defineProperty(IRLEnterpriseSearch.prototype, "trainNumber", {
16278
+ get: function () {
16279
+ return this._trainNumber;
16280
+ },
16281
+ set: function (data) {
16282
+ this._trainNumber = data;
16283
+ },
16284
+ enumerable: false,
16285
+ configurable: true
16286
+ });
16287
+ Object.defineProperty(IRLEnterpriseSearch.prototype, "additionalInstructions", {
16288
+ get: function () {
16289
+ return this._additionalInstructions;
16290
+ },
16291
+ set: function (data) {
16292
+ this._additionalInstructions = data;
16293
+ },
16294
+ enumerable: false,
16295
+ configurable: true
16296
+ });
14216
16297
  IRLEnterpriseSearch.prototype.processResults = function (results) {
14217
16298
  var _a;
14218
16299
  (_a = results[0]) === null || _a === void 0 ? void 0 : _a.outbound.forEach(function (item) {
@@ -14332,10 +16413,16 @@
14332
16413
  IRLEnterpriseSearch.prototype.getSearchQuery = function () {
14333
16414
  var _this = this;
14334
16415
  // this.travellers = travellers;
14335
- this.noOfAdults = this.travellers.filter(function (traveller) { return traveller.ageType === exports.ages.Adult ||
14336
- traveller.ageType === exports.ages.Youth ||
14337
- traveller.ageType === exports.ages.Senior; }).length;
14338
- 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
+ }
14339
16426
  if (!this.supplier && this.travellingFrom.name) {
14340
16427
  this.supplier = this.travellingFrom.railstation.supplier;
14341
16428
  this.getIrlDiscountCards().subscribe(function (data) {
@@ -14346,7 +16433,7 @@
14346
16433
  supplier: this.supplier,
14347
16434
  countryCode: 'GB',
14348
16435
  irlDiscountCards: this.discountCard ? this.discountCard.id : null,
14349
- class: this.irlClass,
16436
+ class: this.class,
14350
16437
  outboundDepartureDateTime: this.tempParams.outboundDepartureDateTime,
14351
16438
  departureLocationId: this._travellingFrom,
14352
16439
  arrivalLocationId: this._travellingTo,
@@ -14403,11 +16490,11 @@
14403
16490
  IRLEnterpriseSearch.prototype.addSingleJourneyToBasket = function (serviceId, irlQuery, outbound, irlJourneyOption) {
14404
16491
  return __awaiter(this, void 0, void 0, function () {
14405
16492
  var intBasket, basket, selectedIrlTicketOption, legs, termsAndConditions, basketItem;
14406
- return __generator(this, function (_c) {
14407
- switch (_c.label) {
16493
+ return __generator(this, function (_e) {
16494
+ switch (_e.label) {
14408
16495
  case 0: return [4 /*yield*/, this.basketService.getDefaultBasket()];
14409
16496
  case 1:
14410
- intBasket = _c.sent();
16497
+ intBasket = _e.sent();
14411
16498
  basket = intBasket === null || intBasket === void 0 ? void 0 : intBasket.subject.value;
14412
16499
  if (basket) {
14413
16500
  selectedIrlTicketOption = this.getSelectedIrlTicketOption(irlJourneyOption, outbound, 0);
@@ -14451,24 +16538,25 @@
14451
16538
  // co2PerPassenger: irlJourneyOption.co2PerPassenger,
14452
16539
  outboundDate: irlJourneyOption.departDateTime
14453
16540
  };
14454
- 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
+ )];
14455
16543
  }
14456
16544
  return [2 /*return*/, Promise.resolve(false)];
14457
16545
  }
14458
16546
  });
14459
16547
  });
14460
16548
  };
14461
- IRLEnterpriseSearch.prototype.addReturnJourneyToBasket = function (serviceId, irlQuery, inbound, inJourneyOption) {
16549
+ IRLEnterpriseSearch.prototype.addReturnJourneyToBasket = function (serviceId, irlQuery, inbound, inJourneyOption, outboundTicket, outboundJourney) {
14462
16550
  return __awaiter(this, void 0, void 0, function () {
14463
16551
  var outbound, outJourneyOption, intBasket, basket, selectedIrlTicketOption, outboundLegs, inboundLegs, termsAndConditions, basketItem;
14464
- return __generator(this, function (_c) {
14465
- switch (_c.label) {
16552
+ return __generator(this, function (_e) {
16553
+ switch (_e.label) {
14466
16554
  case 0:
14467
- outbound = this.outboundTicket;
14468
- outJourneyOption = this.outboundJourneyOptions;
16555
+ outbound = outboundTicket ? outboundTicket : this.outboundTicket;
16556
+ outJourneyOption = outboundJourney ? outboundJourney : this.outboundJourneyOptions;
14469
16557
  return [4 /*yield*/, this.basketService.getDefaultBasket()];
14470
16558
  case 1:
14471
- intBasket = _c.sent();
16559
+ intBasket = _e.sent();
14472
16560
  basket = intBasket === null || intBasket === void 0 ? void 0 : intBasket.subject.value;
14473
16561
  if (basket) {
14474
16562
  selectedIrlTicketOption = this.getSelectedIrlTicketOption(outJourneyOption, outbound, 0);
@@ -14505,7 +16593,7 @@
14505
16593
  supplierTickets: [
14506
16594
  {
14507
16595
  supplierName: inJourneyOption.providers[0].name,
14508
- ticketDescription: selectedIrlTicketOption.type,
16596
+ ticketDescription: inbound.type,
14509
16597
  legs: inboundLegs
14510
16598
  }
14511
16599
  ]
@@ -14521,7 +16609,7 @@
14521
16609
  termsAndCond: termsAndConditions
14522
16610
  },
14523
16611
  adults: irlQuery.adults,
14524
- price: selectedIrlTicketOption.price,
16612
+ price: Number((Number(selectedIrlTicketOption.price) + Number(inbound.price)).toFixed(2)),
14525
16613
  currency: selectedIrlTicketOption.currency,
14526
16614
  searchQuery: irlQuery,
14527
16615
  outboundDate: outJourneyOption.departDateTime
@@ -14529,7 +16617,9 @@
14529
16617
  // co2PerPassenger: outbound.co2PerPassenger
14530
16618
  };
14531
16619
  this.filterSelected();
14532
- 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
+ )];
14533
16623
  }
14534
16624
  return [2 /*return*/, Promise.resolve(false)];
14535
16625
  }
@@ -14537,9 +16627,10 @@
14537
16627
  });
14538
16628
  };
14539
16629
  IRLEnterpriseSearch.prototype.updateLowestPrice = function (results) {
16630
+ var _a, _b, _c, _d;
14540
16631
  if (!results.length)
14541
16632
  return null;
14542
- var currency = results[0].outbound[0].providers[0].cheapestTicket.currency;
16633
+ var currency = (_d = (_c = (_b = (_a = results[0]) === null || _a === void 0 ? void 0 : _a.outbound[0]) === null || _b === void 0 ? void 0 : _b.providers[0]) === null || _c === void 0 ? void 0 : _c.cheapestTicket) === null || _d === void 0 ? void 0 : _d.currency;
14543
16634
  var price = this.findCheapestTicket(results);
14544
16635
  return {
14545
16636
  amount: price,
@@ -14585,9 +16676,12 @@
14585
16676
  * @returns
14586
16677
  * @memberof irl-enterprise-search
14587
16678
  */
14588
- IRLEnterpriseSearch.prototype.sortByPrice = function () {
16679
+ IRLEnterpriseSearch.prototype.sortByPrice = function (ignoreDirectionChange) {
14589
16680
  var _this = this;
14590
- this.priceDir = !this.priceDir;
16681
+ if (ignoreDirectionChange === void 0) { ignoreDirectionChange = false; }
16682
+ if (!ignoreDirectionChange) {
16683
+ this.priceDir = !this.priceDir;
16684
+ }
14591
16685
  var results = this.filterSelected(this._isFiltered);
14592
16686
  var byPrice = function (a, b) {
14593
16687
  return _this.priceDir
@@ -14606,9 +16700,12 @@
14606
16700
  * @returns
14607
16701
  * @memberof irl-enterprise-search
14608
16702
  */
14609
- IRLEnterpriseSearch.prototype.sortByDate = function () {
16703
+ IRLEnterpriseSearch.prototype.sortByDate = function (ignoreDirection) {
14610
16704
  var _this = this;
14611
- this.dateDir = !this.dateDir;
16705
+ if (ignoreDirection === void 0) { ignoreDirection = false; }
16706
+ if (!ignoreDirection) {
16707
+ this.dateDir = !this.dateDir;
16708
+ }
14612
16709
  var results = this.filterSelected(this._isFiltered);
14613
16710
  var byDate = function (a, b) {
14614
16711
  return _this.dateDir
@@ -14693,6 +16790,171 @@
14693
16790
  return this.searchService.saveFavouriteSearch(searchInfo);
14694
16791
  }
14695
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
+ };
14696
16958
  return IRLEnterpriseSearch;
14697
16959
  }(BaseEnterpriseSearch));
14698
16960
  IRLEnterpriseSearch.STORAGE_SESSION_PARAMS = 'search_irl';
@@ -14930,7 +17192,7 @@
14930
17192
  item.format ||
14931
17193
  _this.schemaWidgetToFormat(item.widget) ||
14932
17194
  _this.schemaTypeToFormat(item.type);
14933
- 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) {
14934
17196
  item.format = exports.SchemaFormat.select;
14935
17197
  }
14936
17198
  });
@@ -15275,6 +17537,18 @@
15275
17537
  return BaseGetRailStationFetcher;
15276
17538
  }(FetchableList));
15277
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
+
15278
17552
  var BaseGetRiskAlertsFetcher = /** @class */ (function (_super) {
15279
17553
  __extends(BaseGetRiskAlertsFetcher, _super);
15280
17554
  function BaseGetRiskAlertsFetcher(gql, helpers, modalService) {
@@ -15661,9 +17935,92 @@
15661
17935
  return BaseEmailBasketFetcher;
15662
17936
  }(FetchableList));
15663
17937
 
15664
- // | 'fareTypes';
15665
-
15666
- ;
17938
+ var BaseFastTrackQuoteFetcher = /** @class */ (function (_super) {
17939
+ __extends(BaseFastTrackQuoteFetcher, _super);
17940
+ function BaseFastTrackQuoteFetcher(gql, helpers, modalService) {
17941
+ return _super.call(this, gql, helpers, modalService) || this;
17942
+ }
17943
+ BaseFastTrackQuoteFetcher.prototype.getDataFromResult = function (results) {
17944
+ var _a, _b;
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;
17946
+ };
17947
+ return BaseFastTrackQuoteFetcher;
17948
+ }(FetchableList));
17949
+
17950
+ var BaseSendOfflineNotificationFetcher = /** @class */ (function (_super) {
17951
+ __extends(BaseSendOfflineNotificationFetcher, _super);
17952
+ function BaseSendOfflineNotificationFetcher(sendOfflineNotificationGQL, helpers, modalService) {
17953
+ return _super.call(this, sendOfflineNotificationGQL, modalService, helpers) || this;
17954
+ }
17955
+ BaseSendOfflineNotificationFetcher.prototype.getDataFromResult = function (results) {
17956
+ var _a;
17957
+ return (_a = results === null || results === void 0 ? void 0 : results.data) === null || _a === void 0 ? void 0 : _a.sendOfflineNotification;
17958
+ };
17959
+ return BaseSendOfflineNotificationFetcher;
17960
+ }(FetchableObject));
17961
+
17962
+ var BaseGetHotelChainsFetcher = /** @class */ (function (_super) {
17963
+ __extends(BaseGetHotelChainsFetcher, _super);
17964
+ function BaseGetHotelChainsFetcher(queryGQL, helpers, modalService) {
17965
+ return _super.call(this, queryGQL, helpers, modalService) || this;
17966
+ }
17967
+ BaseGetHotelChainsFetcher.prototype.getDataFromResult = function (results) {
17968
+ var _a;
17969
+ return (_a = results.data) === null || _a === void 0 ? void 0 : _a.getHotelChains;
17970
+ };
17971
+ return BaseGetHotelChainsFetcher;
17972
+ }(FetchableList));
17973
+
17974
+ var BaseGetRailProvidersFetcher = /** @class */ (function (_super) {
17975
+ __extends(BaseGetRailProvidersFetcher, _super);
17976
+ function BaseGetRailProvidersFetcher(queryGQL, helpers, modalService) {
17977
+ return _super.call(this, queryGQL, helpers, modalService) || this;
17978
+ }
17979
+ BaseGetRailProvidersFetcher.prototype.getDataFromResult = function (results) {
17980
+ var _a;
17981
+ return (_a = results.data) === null || _a === void 0 ? void 0 : _a.getRailProviders;
17982
+ };
17983
+ return BaseGetRailProvidersFetcher;
17984
+ }(FetchableList));
17985
+
17986
+ var BaseGetAllAirlinesFetcher = /** @class */ (function (_super) {
17987
+ __extends(BaseGetAllAirlinesFetcher, _super);
17988
+ function BaseGetAllAirlinesFetcher(queryGQL, helpers, modalService) {
17989
+ return _super.call(this, queryGQL, helpers, modalService) || this;
17990
+ }
17991
+ BaseGetAllAirlinesFetcher.prototype.getDataFromResult = function (results) {
17992
+ var _a;
17993
+ return (_a = results.data) === null || _a === void 0 ? void 0 : _a.getAllAirlines;
17994
+ };
17995
+ return BaseGetAllAirlinesFetcher;
17996
+ }(FetchableList));
17997
+
17998
+ var BaseGetCarHireProvidersFetcher = /** @class */ (function (_super) {
17999
+ __extends(BaseGetCarHireProvidersFetcher, _super);
18000
+ function BaseGetCarHireProvidersFetcher(queryGQL, helpers, modalService) {
18001
+ return _super.call(this, queryGQL, helpers, modalService) || this;
18002
+ }
18003
+ BaseGetCarHireProvidersFetcher.prototype.getDataFromResult = function (results) {
18004
+ var _a;
18005
+ return (_a = results.data) === null || _a === void 0 ? void 0 : _a.getCarHireProviders;
18006
+ };
18007
+ return BaseGetCarHireProvidersFetcher;
18008
+ }(FetchableList));
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
+
18021
+ // | 'fareTypes';
18022
+
18023
+ ;
15667
18024
 
15668
18025
  /**
15669
18026
  * @desc Known reg expresions
@@ -15747,12 +18104,72 @@
15747
18104
  return AuthInfo;
15748
18105
  }());
15749
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
+
15750
18166
  var TEMPID = 'TEMPID_';
15751
18167
  var InternalBasket = /** @class */ (function () {
15752
- function InternalBasket(basket, helpers, basketService, getUserFetcher) {
18168
+ function InternalBasket(basket, helpers, basketService, getUserFetcher, requiresService) {
15753
18169
  this.helpers = helpers;
15754
18170
  this.basketService = basketService;
15755
18171
  this.getUserFetcher = getUserFetcher;
18172
+ this.requiresService = requiresService;
15756
18173
  Object.assign(this, {
15757
18174
  subject: new rxjs.BehaviorSubject(Object.assign(Object.assign({}, basket), { prices: {}, mixedCurrency: false, count: 0, miGroups: [], basketInfoMiDetails: [], suppInfo: [] })),
15758
18175
  tempid: basket.id,
@@ -15778,7 +18195,11 @@
15778
18195
  basket.basketItems[0].perItemPhoneNumber === undefined) {
15779
18196
  // We're in approved state so we need to make sure we have the supplement stuff
15780
18197
  this.basketService
15781
- .getBasket({ convertCurrencyTo: 'GBP', id: basket.id, withSupplemental: true })
18198
+ .getBasket({
18199
+ convertCurrencyTo: 'GBP',
18200
+ id: basket.id,
18201
+ withSupplemental: true
18202
+ })
15782
18203
  .subscribe(function (newBasket) {
15783
18204
  _this.next(newBasket);
15784
18205
  });
@@ -15815,11 +18236,12 @@
15815
18236
  }));
15816
18237
  toSend.mixedCurrency = Object.keys(toSend.prices).length > 1;
15817
18238
  this.subject.next(toSend);
18239
+ this.requiresService.addBasketItem(basket);
15818
18240
  };
15819
18241
  return InternalBasket;
15820
18242
  }());
15821
18243
  var BaseEnterpriseBasketService = /** @class */ (function () {
15822
- 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) {
15823
18245
  var _this = this;
15824
18246
  this.acceptNewPriceUpdater = acceptNewPriceUpdater;
15825
18247
  this.addItemToBasketUpdater = addItemToBasketUpdater;
@@ -15843,6 +18265,7 @@
15843
18265
  this.updateBasketNotesUpdater = updateBasketNotesUpdater;
15844
18266
  this.updateBasketTitleUpdater = updateBasketTitleUpdater;
15845
18267
  this.setPaymentMethodUpdater = setPaymentMethodUpdater;
18268
+ this.getCancellationInfoFetcher = getCancellationInfoFetcher;
15846
18269
  this.userService = userService;
15847
18270
  this.modalService = modalService;
15848
18271
  this.currentBaskets = [];
@@ -15908,6 +18331,7 @@
15908
18331
  ];
15909
18332
  this.basketPrices = new rxjs.BehaviorSubject({ total: null, list: this.basketList });
15910
18333
  this.menuState = exports.MenuSlideEnum.OUT;
18334
+ this.requiresService = new BaseRequiresReasonService(modalService, this);
15911
18335
  this.userService.changeUser.subscribe({
15912
18336
  next: function (userDetails) {
15913
18337
  _this.reset();
@@ -15927,6 +18351,9 @@
15927
18351
  enumerable: false,
15928
18352
  configurable: true
15929
18353
  });
18354
+ BaseEnterpriseBasketService.prototype.getRequiresReasonService = function () {
18355
+ return this.requiresService;
18356
+ };
15930
18357
  BaseEnterpriseBasketService.prototype.reset = function () {
15931
18358
  var _this = this;
15932
18359
  if (this.userService.getfullUserDetails(false).userData.value) {
@@ -15943,7 +18370,7 @@
15943
18370
  if (basket) {
15944
18371
  var intBasket = _this.findBasket(basket.id);
15945
18372
  if (!intBasket) {
15946
- intBasket = new InternalBasket(basket, _this.helpers, _this, _this.getUserFetcher);
18373
+ intBasket = new InternalBasket(basket, _this.helpers, _this, _this.getUserFetcher, _this.requiresService);
15947
18374
  _this.currentBaskets.push(intBasket);
15948
18375
  }
15949
18376
  return intBasket;
@@ -15979,7 +18406,7 @@
15979
18406
  if (results.length) {
15980
18407
  results.forEach(function (result) {
15981
18408
  if (!_this.findBasket(result.id)) {
15982
- var intBasket = new InternalBasket(result, _this.helpers, _this, _this.getUserFetcher);
18409
+ var intBasket = new InternalBasket(result, _this.helpers, _this, _this.getUserFetcher, _this.requiresService);
15983
18410
  _this.currentBaskets.push(intBasket);
15984
18411
  }
15985
18412
  });
@@ -15990,7 +18417,7 @@
15990
18417
  });
15991
18418
  });
15992
18419
  };
15993
- BaseEnterpriseBasketService.prototype.addToBasket = function (item, intBasket, searchService, travellers) {
18420
+ BaseEnterpriseBasketService.prototype.addToBasket = function (item, intBasket, searchService, travellers, requiresReason) {
15994
18421
  if (travellers === void 0) { travellers = []; }
15995
18422
  return __awaiter(this, void 0, void 0, function () {
15996
18423
  var _this = this;
@@ -16006,6 +18433,7 @@
16006
18433
  item.inboundDate = item.inboundDate
16007
18434
  ? new Date(this.helpers.formatIsoDateTime(item.inboundDate))
16008
18435
  : item.inboundDate;
18436
+ item.requiresReason = requiresReason;
16009
18437
  item = this.checkDetails(item);
16010
18438
  if (item && intBasket) {
16011
18439
  this.addItemToBasketUpdater
@@ -16034,7 +18462,7 @@
16034
18462
  intBasket = new InternalBasket({
16035
18463
  id: id,
16036
18464
  basketItems: []
16037
- }, this.helpers, this, this.getUserFetcher);
18465
+ }, this.helpers, this, this.getUserFetcher, this.requiresService);
16038
18466
  this.currentBaskets.push(intBasket);
16039
18467
  }
16040
18468
  this.basketFetcher
@@ -16197,7 +18625,7 @@
16197
18625
  status: null,
16198
18626
  validated: false
16199
18627
  };
16200
- intBasket = new InternalBasket(basket, this.helpers, this, this.getUserFetcher);
18628
+ intBasket = new InternalBasket(basket, this.helpers, this, this.getUserFetcher, this.requiresService);
16201
18629
  return [4 /*yield*/, this.createBasketOnDB(intBasket)];
16202
18630
  case 1:
16203
18631
  toReturn = _d.sent();
@@ -16258,7 +18686,13 @@
16258
18686
  }
16259
18687
  return !isNaN(Date.parse(dateTimeString)); // any test that returns true/false
16260
18688
  });
16261
- 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) {
16262
18696
  return true;
16263
18697
  });
16264
18698
  var validateDetailSchema = ajv.compile(serviceToCheck.detailSchema);
@@ -16344,7 +18778,9 @@
16344
18778
  });
16345
18779
  }
16346
18780
  else {
16347
- 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) {
16348
18784
  basket.subject.next(Object.assign(Object.assign({}, basket.subject.value), basket1));
16349
18785
  }, function (_) { }, function () {
16350
18786
  basket.next(basket.subject.value);
@@ -16366,7 +18802,9 @@
16366
18802
  });
16367
18803
  }
16368
18804
  else {
16369
- 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) {
16370
18808
  basket.subject.next(Object.assign(Object.assign({}, basket.subject.value), basket1));
16371
18809
  }, function (_) { }, function () {
16372
18810
  basket.next(basket.subject.value);
@@ -16389,7 +18827,10 @@
16389
18827
  });
16390
18828
  };
16391
18829
  BaseEnterpriseBasketService.prototype.revalidate = function (basketid) {
16392
- this.updateBasket(basketid, this.revalidateBasketUpdater.updateOne({ convertCurrencyTo: 'GBP', id: basketid }));
18830
+ this.updateBasket(basketid, this.revalidateBasketUpdater.updateOne({
18831
+ convertCurrencyTo: 'GBP',
18832
+ id: basketid
18833
+ }));
16393
18834
  };
16394
18835
  BaseEnterpriseBasketService.prototype.setBasketItemMiGroup = function (basketid, basketItemid, group) {
16395
18836
  this.updateBasket(basketid, this.setBasketItemMiGroupUpdater.updateOne({
@@ -16399,7 +18840,10 @@
16399
18840
  }));
16400
18841
  };
16401
18842
  BaseEnterpriseBasketService.prototype.acceptNewPrice = function (basketid, item) {
16402
- 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
+ }));
16403
18847
  };
16404
18848
  BaseEnterpriseBasketService.prototype.validateFreeValeMi = function (miItem, freeValue) {
16405
18849
  var _this = this;
@@ -16474,7 +18918,11 @@
16474
18918
  }));
16475
18919
  };
16476
18920
  BaseEnterpriseBasketService.prototype.bookBasket = function (basketid, supplementaryInfo) {
16477
- 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
+ }));
16478
18926
  };
16479
18927
  BaseEnterpriseBasketService.prototype.moveBasketItem = function (originalBasketId, basketItem, basketIdToMoveTo) {
16480
18928
  var _this = this;
@@ -16490,10 +18938,18 @@
16490
18938
  });
16491
18939
  };
16492
18940
  BaseEnterpriseBasketService.prototype.updateBasketNotes = function (basketId, notes) {
16493
- 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
+ }));
16494
18946
  };
16495
18947
  BaseEnterpriseBasketService.prototype.updateBasketTitle = function (basketId, title) {
16496
- 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
+ }));
16497
18953
  };
16498
18954
  BaseEnterpriseBasketService.prototype.getBasket = function (query) {
16499
18955
  return this.basketFetcher.fetchOne(query);
@@ -16521,6 +18977,11 @@
16521
18977
  });
16522
18978
  return this.basketPrices;
16523
18979
  };
18980
+ BaseEnterpriseBasketService.prototype.canCancel = function (basketItem) {
18981
+ return this.getCancellationInfoFetcher.fetchOne({
18982
+ basketItem: basketItem.id
18983
+ });
18984
+ };
16524
18985
  return BaseEnterpriseBasketService;
16525
18986
  }());
16526
18987
 
@@ -16564,16 +19025,21 @@
16564
19025
  if ((_a = fullHotel === null || fullHotel === void 0 ? void 0 : fullHotel.availableRates) === null || _a === void 0 ? void 0 : _a.rooms) {
16565
19026
  // add this data to the behaviours array and return it (if it dosen't already exist)
16566
19027
  if (this.behaviours[hotel.hotel]) {
16567
- return (this.behaviours[hotel.hotel]);
19028
+ return this.behaviours[hotel.hotel];
16568
19029
  }
16569
19030
  else {
16570
19031
  // add the data to the array
16571
- this.behaviours[hotel.hotel] = new rxjs.BehaviorSubject(null);
19032
+ this.behaviours[hotel.hotel] =
19033
+ new rxjs.BehaviorSubject(null);
16572
19034
  var newBehaviourObject = fullHotel.availableRates;
16573
- newBehaviourObject.minprice = fullHotel.availableRates.rooms[0] ? fullHotel.availableRates.rooms[0].total : 0;
16574
- 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;
16575
19041
  this.behaviours[hotel.hotel].next(newBehaviourObject);
16576
- return (this.behaviours[hotel.hotel]);
19042
+ return this.behaviours[hotel.hotel];
16577
19043
  }
16578
19044
  }
16579
19045
  this.data = this.data || this.readFromSession();
@@ -16593,11 +19059,9 @@
16593
19059
  return hotel;
16594
19060
  };
16595
19061
  BaseHotelAvalibilityService.prototype.setHotelAvalability = function (hotel) {
16596
- if (!hotel.availableRates) {
16597
- if (hotel === null || hotel === void 0 ? void 0 : hotel.availableRates.hotelId) {
16598
- this.data[hotel.availableRates.hotelId] = hotel.availableRates;
16599
- this.behaviours[hotel.availableRates.hotelId].next(hotel.availableRates);
16600
- }
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);
16601
19065
  }
16602
19066
  return hotel;
16603
19067
  };
@@ -16701,6 +19165,7 @@
16701
19165
  _this.fetching.next(false);
16702
19166
  }
16703
19167
  }, function (error) {
19168
+ // might need to refine this
16704
19169
  console.error("+++ Error recovering hotel availabilty: " + error + " - reseting availabilty +++");
16705
19170
  _this.fetching.next(false);
16706
19171
  return null;
@@ -16763,12 +19228,14 @@
16763
19228
  var USER_SIGNEDOUT = 'USER_SIGNEDOUT';
16764
19229
  var USER_SIGNEDIN = 'USER_SIGNEDIN';
16765
19230
  var BaseUserService = /** @class */ (function () {
16766
- function BaseUserService(getUserFetcher, userUiConfigsFetcher, userProductsFetcher, userMessagesFetcher, baseConfirmMessagesUpdater, storageService, helpers) {
19231
+ function BaseUserService(getUserFetcher, userUiConfigsFetcher, userProductsFetcher, userMessagesFetcher, baseConfirmMessagesUpdater, setUserLanguageUpdater, editUserUpdater, storageService, helpers) {
16767
19232
  this.getUserFetcher = getUserFetcher;
16768
19233
  this.userUiConfigsFetcher = userUiConfigsFetcher;
16769
19234
  this.userProductsFetcher = userProductsFetcher;
16770
19235
  this.userMessagesFetcher = userMessagesFetcher;
16771
19236
  this.baseConfirmMessagesUpdater = baseConfirmMessagesUpdater;
19237
+ this.setUserLanguageUpdater = setUserLanguageUpdater;
19238
+ this.editUserUpdater = editUserUpdater;
16772
19239
  this.storageService = storageService;
16773
19240
  this.helpers = helpers;
16774
19241
  this.fullUserDetails = {
@@ -16777,7 +19244,8 @@
16777
19244
  travllerObject: new rxjs.BehaviorSubject(null),
16778
19245
  userConfigs: new rxjs.BehaviorSubject(null),
16779
19246
  userData: new rxjs.BehaviorSubject(null),
16780
- userServices: new rxjs.BehaviorSubject(null)
19247
+ userServices: new rxjs.BehaviorSubject(null),
19248
+ allDetails: new rxjs.BehaviorSubject(null)
16781
19249
  };
16782
19250
  this.changeUser = new rxjs.BehaviorSubject(null);
16783
19251
  }
@@ -16785,6 +19253,16 @@
16785
19253
  var _this = this;
16786
19254
  var userdata = this.fullUserDetails.userData.value;
16787
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
+ }
16788
19266
  this.userUiConfigsFetcher.fetchKeyedObject('key').subscribe(function (result1) {
16789
19267
  _this.fullUserDetails.userConfigs.next(result1);
16790
19268
  _this.checkEmitUser();
@@ -16805,6 +19283,16 @@
16805
19283
  });
16806
19284
  this.fullUserDetails.travllerObject.next(TravellerObject.makeTravellerObjectFromUser(user_data));
16807
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
+ }
16808
19296
  this.fullUserDetails.userData.next(user_data);
16809
19297
  this.storageService.setSessionItem('lightning_user_data', user_data);
16810
19298
  };
@@ -16866,7 +19354,6 @@
16866
19354
  return user && user.userData ? user.userData.value.surname : '';
16867
19355
  };
16868
19356
  BaseUserService.prototype.getFullPhoneNumber = function () {
16869
- var user = this.getfullUserDetails();
16870
19357
  return '';
16871
19358
  };
16872
19359
  BaseUserService.prototype.getUserEmail = function () {
@@ -16902,8 +19389,7 @@
16902
19389
  var ufValue = this.fullUserDetails.userConfigs.value;
16903
19390
  return this.helpers.fromObject(ufValue, uf.value, 'config');
16904
19391
  };
16905
- BaseUserService.prototype.getUserFavoriteNumber = function (uf, supplier) {
16906
- if (supplier === void 0) { supplier = Suppliers.non; }
19392
+ BaseUserService.prototype.getUserFavoriteNumber = function (uf) {
16907
19393
  var ufValue = this.fullUserDetails.userConfigs.value;
16908
19394
  return this.helpers.fromObject(ufValue, uf.value, 'config', 'value');
16909
19395
  };
@@ -17008,7 +19494,23 @@
17008
19494
  };
17009
19495
  BaseUserService.prototype.getUser = function () {
17010
19496
  var user = this.getfullUserDetails();
17011
- return this.getUserFetcher.fetchOne({ id: user.userData.value.user_id.toString() });
19497
+ return this.getUserFetcher.fetchOne({
19498
+ id: user.userData.value.user_id.toString()
19499
+ });
19500
+ };
19501
+ BaseUserService.prototype.setUserLanguage = function (id) {
19502
+ return this.setUserLanguageUpdater.updateOne({ language: id });
19503
+ };
19504
+ BaseUserService.prototype.getDocuments = function (type) {
19505
+ return this.getUser().pipe(operators.map(function (user) { return user.documents || []; }), operators.map(function (docs) {
19506
+ return type
19507
+ ? docs.filter(function (doc) { return doc.docType === type; })
19508
+ : docs;
19509
+ }));
19510
+ };
19511
+ BaseUserService.prototype.editUser = function (user) {
19512
+ var _this = this;
19513
+ return this.editUserUpdater.updateOne(user).pipe(operators.tap(function (user) { return _this.fullUserDetails.allDetails.next(user); }));
17012
19514
  };
17013
19515
  return BaseUserService;
17014
19516
  }());
@@ -18602,6 +21104,334 @@
18602
21104
  }
18603
21105
  ];
18604
21106
 
21107
+ var FastTrackEnterpriseSearch = /** @class */ (function (_super) {
21108
+ __extends(FastTrackEnterpriseSearch, _super);
21109
+ function FastTrackEnterpriseSearch(fasttrackFetcher, helpers, basketService, storageService, searchService) {
21110
+ var _this = _super.call(this, storageService, helpers) || this;
21111
+ _this.fasttrackFetcher = fasttrackFetcher;
21112
+ _this.basketService = basketService;
21113
+ _this.searchService = searchService;
21114
+ _this.type = ServiceType.FastTrack;
21115
+ _this._date = null;
21116
+ _this._time = null;
21117
+ _this.resultsSessionName = FastTrackEnterpriseSearch.STORAGE_SESSION_RESULTS;
21118
+ _this.multiResultsSessionName = FastTrackEnterpriseSearch.STORAGE_SESSION_RESULTS;
21119
+ var data = storageService.getSessionItem(FastTrackEnterpriseSearch.STORAGE_SESSION_PARAMS) || {
21120
+ tempParams: {},
21121
+ originalUserSearch: {}
21122
+ };
21123
+ _this._originalUserSearch = data.originalUserSearch;
21124
+ _this.updateTempParams(searchService.makeFastTrackQuery(data.tempParams));
21125
+ if (searchService.shouldAddTravellerSubscription()) {
21126
+ searchService.travellerInformation.subscribe(function (travellers) {
21127
+ var splitTravellers = _this.helpers.selectedTravellers(travellers, ServiceType.FastTrack);
21128
+ _this.tempParams.adults = splitTravellers.adults.length;
21129
+ _this.tempParams.children = splitTravellers.children.length;
21130
+ _this.travellers = travellers;
21131
+ _this._isValid();
21132
+ });
21133
+ }
21134
+ var results = storageService.getSessionItemAsList(_this.resultsSessionName) || [];
21135
+ _this._cheapestResultPrice = _this.updateLowestPrice(results);
21136
+ _this.results.next(results || []);
21137
+ return _this;
21138
+ }
21139
+ Object.defineProperty(FastTrackEnterpriseSearch.prototype, "adults", {
21140
+ get: function () {
21141
+ return this.tempParams.adults;
21142
+ },
21143
+ set: function (value) {
21144
+ this.tempParams.adults = value;
21145
+ this._isValid();
21146
+ },
21147
+ enumerable: false,
21148
+ configurable: true
21149
+ });
21150
+ Object.defineProperty(FastTrackEnterpriseSearch.prototype, "children", {
21151
+ get: function () {
21152
+ return this.tempParams.adults;
21153
+ },
21154
+ set: function (value) {
21155
+ this.tempParams.adults = value;
21156
+ this._isValid();
21157
+ },
21158
+ enumerable: false,
21159
+ configurable: true
21160
+ });
21161
+ Object.defineProperty(FastTrackEnterpriseSearch.prototype, "date", {
21162
+ get: function () {
21163
+ return this._date;
21164
+ },
21165
+ set: function (value) {
21166
+ this._date = value;
21167
+ this._updateDateTime();
21168
+ },
21169
+ enumerable: false,
21170
+ configurable: true
21171
+ });
21172
+ Object.defineProperty(FastTrackEnterpriseSearch.prototype, "time", {
21173
+ get: function () {
21174
+ return this._time;
21175
+ },
21176
+ set: function (value) {
21177
+ this._time = value;
21178
+ this._updateDateTime();
21179
+ },
21180
+ enumerable: false,
21181
+ configurable: true
21182
+ });
21183
+ Object.defineProperty(FastTrackEnterpriseSearch.prototype, "arrivalDatetime", {
21184
+ get: function () {
21185
+ return this.tempParams.arrivalDatetime;
21186
+ },
21187
+ set: function (value) {
21188
+ if (value.isValid()) {
21189
+ this.tempParams.arrivalDatetime = value;
21190
+ this._date = this.helpers.momentToNgDate(value);
21191
+ this._time = this.helpers.formatTimeColon(value);
21192
+ }
21193
+ else {
21194
+ this.tempParams.arrivalDatetime = null;
21195
+ }
21196
+ this._isValid();
21197
+ },
21198
+ enumerable: false,
21199
+ configurable: true
21200
+ });
21201
+ FastTrackEnterpriseSearch.prototype._updateDateTime = function () {
21202
+ if (this._date && this._time) {
21203
+ var time = this.helpers.ngDateToMoment(this._date, this._time);
21204
+ this.tempParams.arrivalDatetime = time.isValid() ? time : null;
21205
+ this._isValid();
21206
+ }
21207
+ };
21208
+ Object.defineProperty(FastTrackEnterpriseSearch.prototype, "locationCode", {
21209
+ get: function () {
21210
+ return this.tempParams.locationCode;
21211
+ },
21212
+ set: function (value) {
21213
+ this.tempParams.locationCode = value;
21214
+ if (typeof value === 'string') {
21215
+ this._locationCode = '';
21216
+ this._isValid();
21217
+ }
21218
+ else if (value && value.gateway) {
21219
+ this._locationCode = value.gateway;
21220
+ this._isValid();
21221
+ }
21222
+ else {
21223
+ this._locationCode = null;
21224
+ this._isValid();
21225
+ }
21226
+ },
21227
+ enumerable: false,
21228
+ configurable: true
21229
+ });
21230
+ FastTrackEnterpriseSearch.prototype._isValid = function () {
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);
21247
+ };
21248
+ FastTrackEnterpriseSearch.prototype.resetQuery = function () {
21249
+ this.updateTempParams(this.searchService.makeFastTrackQuery());
21250
+ this._isValid();
21251
+ };
21252
+ FastTrackEnterpriseSearch.prototype.startSearch = function () {
21253
+ this.results.next([]);
21254
+ this._isValid();
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
+ });
21261
+ var query = this.getSearchQuery();
21262
+ this.searchService.saveRecentSearch(this.getRecentSearchQuery(query));
21263
+ return this._startSearch(this.fasttrackFetcher.fetchList(query));
21264
+ }
21265
+ else {
21266
+ return Promise.resolve(false);
21267
+ }
21268
+ };
21269
+ FastTrackEnterpriseSearch.prototype.getSearchQuery = function () {
21270
+ var query = {
21271
+ adults: this.tempParams.adults,
21272
+ children: this.tempParams.children,
21273
+ locationCode: this._locationCode,
21274
+ arrivalDatetime: this.tempParams.arrivalDatetime
21275
+ };
21276
+ return this.helpers.removeNulls(query);
21277
+ };
21278
+ FastTrackEnterpriseSearch.prototype.getRecentSearchQuery = function (query) {
21279
+ return {
21280
+ serviceType: ServiceType.FastTrack,
21281
+ searchArgs: query,
21282
+ travelDate: this.arrivalDatetime.format(),
21283
+ travellers: this.helpers.getTravellersId(this.travellers)
21284
+ };
21285
+ };
21286
+ FastTrackEnterpriseSearch.prototype.startRecentSearch = function (recentSearch) {
21287
+ var _this = this;
21288
+ this.arrivalDatetime = moment__default['default'](recentSearch.searchArgs.arrivalDatetime);
21289
+ this.searchService
21290
+ .getAirportByCode(recentSearch.searchArgs.locationCode)
21291
+ .subscribe(function (airport) {
21292
+ var _a, _b, _c, _d, _e, _f;
21293
+ if (airport) {
21294
+ _this.locationCode = {
21295
+ country: (_b = (_a = airport.iataMatch) === null || _a === void 0 ? void 0 : _a.locationDetails) === null || _b === void 0 ? void 0 : _b.country,
21296
+ countryCode: (_d = (_c = airport.iataMatch) === null || _c === void 0 ? void 0 : _c.locationDetails) === null || _d === void 0 ? void 0 : _d.countryCode,
21297
+ destination: airport.iataMatch.name,
21298
+ gateway: airport.iataMatch.iata,
21299
+ postcode: (_f = (_e = airport.iataMatch) === null || _e === void 0 ? void 0 : _e.locationDetails) === null || _f === void 0 ? void 0 : _f.postcode,
21300
+ terminals: _this.searchService.processTerminals(airport.iataMatch.terminals)
21301
+ };
21302
+ _this.searchService.startSearches();
21303
+ }
21304
+ });
21305
+ this.searchService.startSearches();
21306
+ };
21307
+ FastTrackEnterpriseSearch.prototype.updateFromPreviousSearches = function (previousItems) {
21308
+ var _a;
21309
+ console.log('PREPOPULATING LOUNGE FORM');
21310
+ var flightItem = (_a = previousItems[ServiceType.Flight]) === null || _a === void 0 ? void 0 : _a.searchQuery;
21311
+ if (flightItem) {
21312
+ try {
21313
+ var date = this.searchService.searches[ServiceType.Flight].outBoundDate.toDate();
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;
21321
+ }
21322
+ catch (_b) {
21323
+ console.error('Error trying to prepopulate parking from lounge item');
21324
+ }
21325
+ }
21326
+ };
21327
+ FastTrackEnterpriseSearch.prototype.updateLowestPrice = function (results) {
21328
+ if (!results.length)
21329
+ return null;
21330
+ var currency = results[0].currency;
21331
+ return results.reduce(function (cheapestPrice, result) {
21332
+ var price = result.price;
21333
+ if (cheapestPrice.amount > price)
21334
+ cheapestPrice.amount = price;
21335
+ return cheapestPrice;
21336
+ }, { amount: Number.MAX_SAFE_INTEGER, currencyCode: currency });
21337
+ };
21338
+ FastTrackEnterpriseSearch.prototype.addFastTrackToBasket = function (fasttrackQuote, fasttrackQuery) {
21339
+ var _a;
21340
+ return __awaiter(this, void 0, void 0, function () {
21341
+ var intBasket, basket, termsAndConditions;
21342
+ return __generator(this, function (_g) {
21343
+ switch (_g.label) {
21344
+ case 0:
21345
+ if (fasttrackQuote.unavailable) {
21346
+ return [2 /*return*/, Promise.resolve(false)];
21347
+ }
21348
+ return [4 /*yield*/, this.basketService.getDefaultBasket()];
21349
+ case 1:
21350
+ intBasket = _g.sent();
21351
+ basket = intBasket === null || intBasket === void 0 ? void 0 : intBasket.subject.value;
21352
+ termsAndConditions = this.getTermsAndCond(fasttrackQuote);
21353
+ if (basket) {
21354
+ return [2 /*return*/, this.basketService.addToBasket({
21355
+ adults: fasttrackQuery.adults,
21356
+ children: fasttrackQuery.children,
21357
+ basket: basket.id,
21358
+ service: fasttrackQuote.sourceId.toString(),
21359
+ detail: {
21360
+ arrivalDatetime: fasttrackQuery.arrivalDatetime.format(),
21361
+ locationCode: fasttrackQuote.code,
21362
+ name: fasttrackQuote.name,
21363
+ airportIata: fasttrackQuery === null || fasttrackQuery === void 0 ? void 0 : fasttrackQuery.locationCode,
21364
+ logo: fasttrackQuote.logo,
21365
+ terminal: (_a = fasttrackQuote.terminal) === null || _a === void 0 ? void 0 : _a.toString(),
21366
+ termsAndCond: termsAndConditions
21367
+ },
21368
+ price: fasttrackQuote.price,
21369
+ currency: fasttrackQuote.currency,
21370
+ searchQuery: fasttrackQuery,
21371
+ outboundDate: fasttrackQuery.arrivalDatetime.format()
21372
+ }, intBasket, this.searchService, this.travellers, fasttrackQuote.requiresReason)];
21373
+ }
21374
+ return [2 /*return*/, Promise.resolve(false)]; // TODO should this throw an error?
21375
+ }
21376
+ });
21377
+ });
21378
+ };
21379
+ FastTrackEnterpriseSearch.prototype.getTermsAndCond = function (fasttrackQuote) {
21380
+ return [
21381
+ {
21382
+ name: 'Name',
21383
+ value: fasttrackQuote.name
21384
+ },
21385
+ {
21386
+ name: 'Important Information',
21387
+ value: fasttrackQuote.importantInfo
21388
+ }
21389
+ ];
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
+ };
21430
+ return FastTrackEnterpriseSearch;
21431
+ }(BaseEnterpriseSearch));
21432
+ FastTrackEnterpriseSearch.STORAGE_SESSION_PARAMS = 'search_fasttrack';
21433
+ FastTrackEnterpriseSearch.STORAGE_SESSION_RESULTS = 'results_fasttrack';
21434
+
18605
21435
  var MAX_TRAVELLERS = 8;
18606
21436
  (function (TravellerSearchTypes) {
18607
21437
  TravellerSearchTypes["email"] = "email";
@@ -18609,7 +21439,7 @@
18609
21439
  TravellerSearchTypes["employeeNumber"] = "employeeNumber";
18610
21440
  })(exports.TravellerSearchTypes || (exports.TravellerSearchTypes = {}));
18611
21441
  var BaseEnterpriseSearchService = /** @class */ (function () {
18612
- 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) {
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) {
18613
21443
  var _d;
18614
21444
  var _this = this;
18615
21445
  this.searchAirportsFetcher = searchAirportsFetcher;
@@ -18640,6 +21470,7 @@
18640
21470
  this.getUserCurrentCarbonAllowanceFetcher = getUserCurrentCarbonAllowanceFetcher;
18641
21471
  this.baseSaveFavouriteSearchUpdater = baseSaveFavouriteSearchUpdater;
18642
21472
  this.getRailStationFetcher = getRailStationFetcher;
21473
+ this.getIrlSupplierStationFetcher = getIrlSupplierStationFetcher;
18643
21474
  this.riskAlertsFetcher = riskAlertsFetcher;
18644
21475
  this.getUserRecentSearchesFetcher = getUserRecentSearchesFetcher;
18645
21476
  this.getRailCardsFetcher = getRailCardsFetcher;
@@ -18653,6 +21484,11 @@
18653
21484
  this.getUserFavouriteSearchesFetcher = getUserFavouriteSearchesFetcher;
18654
21485
  this.deleteFavouriteSearchUpdater = deleteFavouriteSearchUpdater;
18655
21486
  this.emailBasketFetcher = emailBasketFetcher;
21487
+ this.sendOfflineNotificationFetcher = sendOfflineNotificationFetcher;
21488
+ this.getHotelChainsFetcher = getHotelChainsFetcher;
21489
+ this.getRailProvidersFetcher = getRailProvidersFetcher;
21490
+ this.getAllAirlinesFetcher = getAllAirlinesFetcher;
21491
+ this.getCarHireProvidersFetcher = getCarHireProvidersFetcher;
18656
21492
  this.traveller_error = false;
18657
21493
  this.travellerInformation = new rxjs.BehaviorSubject([]);
18658
21494
  this.errors = new rxjs.BehaviorSubject([]);
@@ -18665,6 +21501,8 @@
18665
21501
  this.travellerValidationMessages = [];
18666
21502
  this.search_loading = false;
18667
21503
  this.search_airport_loading = false;
21504
+ this.allSubscription = new rxjs.Subscription();
21505
+ this.searchesSubscription = new rxjs.Subscription();
18668
21506
  this.selectedTravellers = [];
18669
21507
  this.selectedPlaces = [];
18670
21508
  this.countries = Countries;
@@ -18677,11 +21515,11 @@
18677
21515
  _d[ServiceType.Hotel] = new HotelEnterpriseSearch(hotelFetcher, helpers, userService, environment, hotelAvalibilityService, basketService, storageService, this, httpCallService, quicklistFetcher, getRailStationFetcher, applyHotelRulesFetcher),
18678
21516
  _d[ServiceType.Car] = new CarhireEnterpriseSearch(carhireFetcher, carHireAvailabilityDetailFetcher, helpers, basketService, storageService, this),
18679
21517
  _d[ServiceType.Cab] = new CabHireEnterpriseSearch(cabhireFetcher, helpers, storageService, this, basketService),
18680
- _d[ServiceType.InternationalRail] = new IRLEnterpriseSearch(irlFetcher, irlDiscountCardsFetcher, helpers, basketService, storageService, this),
18681
- _d[ServiceType.FastTrack] = null,
21518
+ _d[ServiceType.InternationalRail] = new IRLEnterpriseSearch(irlFetcher, irlDiscountCardsFetcher, helpers, basketService, storageService, this, getIrlSupplierStationFetcher),
21519
+ _d[ServiceType.FastTrack] = new FastTrackEnterpriseSearch(fasttrackFetcher, helpers, basketService, storageService, this),
18682
21520
  _d[ServiceType.Coach] = null,
18683
21521
  _d[ServiceType.Rail] = new RailEnterpriseSearch(railFetcher, getRailStationFetcher, helpers, basketService, storageService, this, userService, modalService),
18684
- _d[ServiceType.Eurostar] = new EurostarEnterpriseSearch(eurostarFetcher, helpers, userService, basketService, storageService, this),
21522
+ _d[ServiceType.Eurostar] = new EurostarEnterpriseSearch(eurostarFetcher, helpers, userService, basketService, storageService, this, modalService),
18685
21523
  _d);
18686
21524
  console.log('Newly created search objects: ', this.searches);
18687
21525
  this.search_objects = this.helpers.clone(this.init_search_objects());
@@ -18709,6 +21547,11 @@
18709
21547
  }
18710
21548
  baseWebTokenService.autoLogoutConfig = this.getAutoLogoutConfig();
18711
21549
  }
21550
+ BaseEnterpriseSearchService.prototype.ngOnDestroy = function () {
21551
+ if (this.allSubscription) {
21552
+ this.allSubscription.unsubscribe();
21553
+ }
21554
+ };
18712
21555
  BaseEnterpriseSearchService.prototype.reset = function () {
18713
21556
  this.resetAllSearchItems();
18714
21557
  this.basketService.reset();
@@ -18878,6 +21721,10 @@
18878
21721
  }
18879
21722
  var obs = this.confermaCitiesFetcher.fetchOne(query);
18880
21723
  var func = function (results) {
21724
+ isLoading === null || isLoading === void 0 ? void 0 : isLoading.next(false);
21725
+ if (!(results === null || results === void 0 ? void 0 : results.suggestions)) {
21726
+ return [];
21727
+ }
18881
21728
  var data = results.suggestions.map(function (result) {
18882
21729
  return {
18883
21730
  name: result.name,
@@ -18887,7 +21734,6 @@
18887
21734
  countryCode: result.countryCode
18888
21735
  };
18889
21736
  });
18890
- isLoading === null || isLoading === void 0 ? void 0 : isLoading.next(false);
18891
21737
  return data;
18892
21738
  };
18893
21739
  return obs.pipe(operators.take(1), operators.map(func));
@@ -18978,24 +21824,28 @@
18978
21824
  }
18979
21825
  return rxjs.of([]);
18980
21826
  };
18981
- BaseEnterpriseSearchService.prototype.getStationLocations = function (term, isLoading) {
21827
+ BaseEnterpriseSearchService.prototype.getStationLocations = function (term, isLoading, hasTod) {
21828
+ if (hasTod === void 0) { hasTod = false; }
18982
21829
  if (term.length > 2) {
18983
21830
  isLoading === null || isLoading === void 0 ? void 0 : isLoading.next(true);
18984
21831
  return this.railStationFetcher
18985
21832
  .fetchList({
18986
- query: term
21833
+ query: term,
21834
+ hasTod: hasTod
18987
21835
  })
18988
21836
  .pipe(operators.take(1), operators.map(function (results) {
18989
21837
  if (isLoading) {
18990
21838
  isLoading.next(false);
18991
21839
  }
18992
- return results ? results.map(function (result) {
18993
- return {
18994
- type: exports.LocationTypes.TrainStation,
18995
- name: result.name,
18996
- railstation: result
18997
- };
18998
- }) : [];
21840
+ return results
21841
+ ? results.map(function (result) {
21842
+ return {
21843
+ type: exports.LocationTypes.TrainStation,
21844
+ name: result.name,
21845
+ railstation: result
21846
+ };
21847
+ })
21848
+ : [];
18999
21849
  }));
19000
21850
  }
19001
21851
  else {
@@ -19047,7 +21897,7 @@
19047
21897
  }
19048
21898
  var subs = rxjs.forkJoin([
19049
21899
  this.getAirportLocations(term, countryCode, isLoading),
19050
- this.getCityLocations(term, countryCode, isLoading),
21900
+ this.getCityLocations(term, countryCode, isLoading, this.userService.userHasServiceProvider(ServiceType.Hotel, exports.ServiceProvider.Confirma)),
19051
21901
  this.getStationLocations(term, isLoading),
19052
21902
  this.getConfirmaOffices(term)
19053
21903
  ]).pipe(operators.map(function (results) {
@@ -19270,6 +22120,10 @@
19270
22120
  this.canSearch(ServiceType.Hotel)) {
19271
22121
  concattedErrors.push.apply(concattedErrors, __spread(this.searches[ServiceType.Hotel].validationMessages));
19272
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
+ }
19273
22127
  /*
19274
22128
  if (this.search_objects.hotel.chosen && this.canSearch(TravelTypeEnum.HOTEL)) {
19275
22129
  concattedErrors = concattedErrors.concat(this.hotel.validationMessages);
@@ -19359,7 +22213,7 @@
19359
22213
  BaseEnterpriseSearchService.prototype._findSearchObtect = function () {
19360
22214
  var _this = this;
19361
22215
  return Object.values(this.search_objects).find(function (obj) {
19362
- return !!obj && obj.priority === _this.highest_search_priority && obj.chosen;
22216
+ return (!!obj && obj.priority === _this.highest_search_priority && obj.chosen);
19363
22217
  });
19364
22218
  };
19365
22219
  BaseEnterpriseSearchService.prototype.startSearches = function (url) {
@@ -19373,8 +22227,12 @@
19373
22227
  }
19374
22228
  if (url) {
19375
22229
  this.router.navigate([url]);
22230
+ if (this.searches.INTERNATIONAL_RAIL) {
22231
+ this.submitIrlForm();
22232
+ }
19376
22233
  }
19377
- else if (searchObject && !this.router.url.includes(searchObject.resultUrl)) {
22234
+ else if (searchObject &&
22235
+ !this.router.url.includes(searchObject.resultUrl)) {
19378
22236
  this.router.navigate([searchObject.resultUrl]);
19379
22237
  }
19380
22238
  /*If the search exceeds the timeout time, cancel search and tell OBT that it's timed out*/
@@ -19502,6 +22360,52 @@
19502
22360
  return rxjs.of();
19503
22361
  }
19504
22362
  };
22363
+ BaseEnterpriseSearchService.prototype.getAllHotelChains = function () {
22364
+ var obs = this.getHotelChainsFetcher.fetchList();
22365
+ var func = function (results) {
22366
+ var data = results.map(function (result) {
22367
+ return {
22368
+ name: result
22369
+ };
22370
+ });
22371
+ return data;
22372
+ };
22373
+ return obs.pipe(operators.take(1), operators.map(func));
22374
+ };
22375
+ BaseEnterpriseSearchService.prototype.getAllRailProviders = function () {
22376
+ var obs = this.getRailProvidersFetcher.fetchList();
22377
+ var func = function (results) {
22378
+ var data = results.map(function (result) {
22379
+ return {
22380
+ name: result
22381
+ };
22382
+ });
22383
+ return data;
22384
+ };
22385
+ return obs.pipe(operators.take(1), operators.map(func));
22386
+ };
22387
+ BaseEnterpriseSearchService.prototype.getCarHireProivders = function () {
22388
+ var obs = this.getCarHireProvidersFetcher.fetchList();
22389
+ var func = function (results) {
22390
+ var data = results.map(function (result) {
22391
+ return {
22392
+ name: result
22393
+ };
22394
+ });
22395
+ return data;
22396
+ };
22397
+ return obs.pipe(operators.take(1), operators.map(func));
22398
+ };
22399
+ BaseEnterpriseSearchService.prototype.getAllAirlines = function () {
22400
+ var obs = this.getAllAirlinesFetcher.fetchList();
22401
+ var func = function (results) {
22402
+ var data = results.map(function (result) {
22403
+ return result;
22404
+ });
22405
+ return data;
22406
+ };
22407
+ return obs.pipe(operators.take(1), operators.map(func));
22408
+ };
19505
22409
  BaseEnterpriseSearchService.prototype.getRailCards = function () {
19506
22410
  return this.getRailCardsFetcher.fetchList().pipe(operators.take(1), operators.map(function (results) {
19507
22411
  if (results) {
@@ -19885,6 +22789,24 @@
19885
22789
  };
19886
22790
  return this.helpers.sanatizeReturns(defaultVal, Object.assign.apply(Object, __spread([{}], args)), ['outBoundDate', 'inboundDate']);
19887
22791
  };
22792
+ /*
22793
+ * Creates a FastTrack search query with supplied params, auto fills with defaults if fields are empty.
22794
+ * @param {any} ...args Example - searchService.makeFastTrackQuery(data.query, { override: "property" })
22795
+ * @return {QuerySearchLoungesArgs} Returns QuerySearchLoungesArgs type
22796
+ */
22797
+ BaseEnterpriseSearchService.prototype.makeFastTrackQuery = function () {
22798
+ var args = [];
22799
+ for (var _i = 0; _i < arguments.length; _i++) {
22800
+ args[_i] = arguments[_i];
22801
+ }
22802
+ var defaultVal = {
22803
+ adults: 0,
22804
+ arrivalDatetime: moment__default['default'](),
22805
+ children: 0,
22806
+ locationCode: null
22807
+ };
22808
+ return this.helpers.sanatizeReturns(defaultVal, Object.assign.apply(Object, __spread([{}], args)), ['arrivalDatetime']);
22809
+ };
19888
22810
  /* Create Query Defaults End */
19889
22811
  BaseEnterpriseSearchService.prototype.shouldAddTravellerSubscription = function () {
19890
22812
  return false;
@@ -20037,6 +22959,64 @@
20037
22959
  BaseEnterpriseSearchService.prototype.emailBasket = function (id) {
20038
22960
  return this.emailBasketFetcher.fetchList({ id: id });
20039
22961
  };
22962
+ BaseEnterpriseSearchService.prototype.submitIrlForm = function () {
22963
+ var _this = this;
22964
+ var currentUserEmail = this.userService.getUserEmail();
22965
+ var searchParams = this.searches[ServiceType.InternationalRail];
22966
+ var onBehalfOf;
22967
+ var passengers;
22968
+ // get passengers
22969
+ this.allSubscription.add(this.travellerInformation.subscribe(function (travellers) {
22970
+ passengers = travellers.map(function (traveller, index) {
22971
+ var age;
22972
+ if (traveller.dob) {
22973
+ var timeDiff = Math.abs(new Date().getTime() - new Date(traveller.dob).getTime());
22974
+ age = Math.floor((timeDiff / (1000 * 3600 * 24)) / 365);
22975
+ }
22976
+ return {
22977
+ name: traveller.name,
22978
+ age: (age === null || age === void 0 ? void 0 : age.toString()) || 'Not specified',
22979
+ discountCard: "Discount Card " + (index + 1),
22980
+ loyaltyCard: "Loyalty Card " + (index + 1)
22981
+ };
22982
+ });
22983
+ onBehalfOf = travellers[0].email ? travellers[0].email : currentUserEmail;
22984
+ }));
22985
+ // get jrfreference
22986
+ this.allSubscription.add(searchParams.results.subscribe(function (irlJourney) {
22987
+ var _a, _b;
22988
+ if ((_a = irlJourney[0]) === null || _a === void 0 ? void 0 : _a.jrfreference) {
22989
+ _this.jrfReference = (_b = irlJourney[0]) === null || _b === void 0 ? void 0 : _b.jrfreference;
22990
+ }
22991
+ }));
22992
+ if (this.jrfReference && passengers) {
22993
+ var payload = {
22994
+ trainNumber: searchParams.trainNumber || 'Any',
22995
+ departureStation: searchParams.travellingFrom.name,
22996
+ destinationStation: searchParams.travellingTo.name,
22997
+ outboundDate: searchParams.outboundDepartureDateTime,
22998
+ inboundDate: searchParams.returnDepartureDateTime,
22999
+ additionalInfo: searchParams.additionalInstructions || 'No additional instructions',
23000
+ serviceClass: searchParams.irlClass || 'Any',
23001
+ offlineReference: this.jrfReference,
23002
+ notifyEmail: currentUserEmail,
23003
+ onBehalfOf: onBehalfOf,
23004
+ passengers: passengers
23005
+ };
23006
+ console.log(payload);
23007
+ this.sendOfflineNotification(payload).subscribe(function (result) {
23008
+ if (result.success) {
23009
+ _this.modalService.open(ModalTypes.OfflineRequestDialogComponent, { centered: true, size: 'md' }, { jrfReference: _this.jrfReference });
23010
+ }
23011
+ else {
23012
+ _this.modalService.open(ModalTypes.ModalErrorComponent, { centered: true }, { error: 'Unable to send offline notification' });
23013
+ }
23014
+ });
23015
+ }
23016
+ };
23017
+ BaseEnterpriseSearchService.prototype.sendOfflineNotification = function (jrfReference) {
23018
+ return this.sendOfflineNotificationFetcher.fetchOne(jrfReference);
23019
+ };
20040
23020
  return BaseEnterpriseSearchService;
20041
23021
  }());
20042
23022
  BaseEnterpriseSearchService.SESSION_TRAVELLER = 'search_travellers';
@@ -20068,6 +23048,9 @@
20068
23048
  configurable: true
20069
23049
  });
20070
23050
  Object.defineProperty(BaseWebTokenService.prototype, "jwtToken", {
23051
+ get: function () {
23052
+ return this._jwtToken || null;
23053
+ },
20071
23054
  set: function (value) {
20072
23055
  if (value !== this.jwtToken) {
20073
23056
  this._jwtToken = value;
@@ -20087,10 +23070,11 @@
20087
23070
  };
20088
23071
  BaseWebTokenService.prototype.checkToLogout = function () {
20089
23072
  var _this = this;
20090
- var a = moment__default['default']().unix();
20091
- var b = this.lastUpdated.unix();
20092
- var c = this.timeoutDuration;
20093
- 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) {
20094
23078
  this.timer = null;
20095
23079
  this.lastUpdated = moment__default['default']();
20096
23080
  this.modalOpenerService
@@ -20632,12 +23616,37 @@
20632
23616
  return BaseDeleteFavouriteSearchUpdater;
20633
23617
  }(UpdateableObject));
20634
23618
 
23619
+ var BaseSetUserLanguageUpdater = /** @class */ (function (_super) {
23620
+ __extends(BaseSetUserLanguageUpdater, _super);
23621
+ function BaseSetUserLanguageUpdater(SetUserLanguageGQL, modalService) {
23622
+ return _super.call(this, SetUserLanguageGQL, modalService) || this;
23623
+ }
23624
+ BaseSetUserLanguageUpdater.prototype.getDataFromResult = function (results) {
23625
+ var _a;
23626
+ return (_a = results === null || results === void 0 ? void 0 : results.data) === null || _a === void 0 ? void 0 : _a.setUserLanguage;
23627
+ };
23628
+ return BaseSetUserLanguageUpdater;
23629
+ }(UpdateableObject));
23630
+
23631
+ var BaseEditUserUpdater = /** @class */ (function (_super) {
23632
+ __extends(BaseEditUserUpdater, _super);
23633
+ function BaseEditUserUpdater(editUserGQL, modalService) {
23634
+ return _super.call(this, editUserGQL, modalService) || this;
23635
+ }
23636
+ BaseEditUserUpdater.prototype.getDataFromResult = function (results) {
23637
+ var _a;
23638
+ return (_a = results === null || results === void 0 ? void 0 : results.data) === null || _a === void 0 ? void 0 : _a.editUser;
23639
+ };
23640
+ return BaseEditUserUpdater;
23641
+ }(UpdateableObject));
23642
+
20635
23643
  /**
20636
23644
  * Generated bundle index. Do not edit.
20637
23645
  */
20638
23646
 
20639
23647
  exports.AbstractHttpCallService = AbstractHttpCallService;
20640
23648
  exports.AddressImpl = AddressImpl;
23649
+ exports.Airlines = Airlines;
20641
23650
  exports.AuthInfo = AuthInfo;
20642
23651
  exports.BaseAcceptNewPriceUpdater = BaseAcceptNewPriceUpdater;
20643
23652
  exports.BaseAddItemToBasketUpdater = BaseAddItemToBasketUpdater;
@@ -20656,6 +23665,7 @@
20656
23665
  exports.BaseDeleteFavouriteSearchUpdater = BaseDeleteFavouriteSearchUpdater;
20657
23666
  exports.BaseDeleteRecentSearchUpdater = BaseDeleteRecentSearchUpdater;
20658
23667
  exports.BaseDeleteUserAddressUpdater = BaseDeleteUserAddressUpdater;
23668
+ exports.BaseEditUserUpdater = BaseEditUserUpdater;
20659
23669
  exports.BaseEmailBasketFetcher = BaseEmailBasketFetcher;
20660
23670
  exports.BaseEnterpriseBasketService = BaseEnterpriseBasketService;
20661
23671
  exports.BaseEnterpriseMyBookingsService = BaseEnterpriseMyBookingsService;
@@ -20664,14 +23674,21 @@
20664
23674
  exports.BaseEnvironment = BaseEnvironment;
20665
23675
  exports.BaseEurostarQuoteFetcher = BaseEurostarQuoteFetcher;
20666
23676
  exports.BaseEventMessenager = BaseEventMessenager;
23677
+ exports.BaseFastTrackQuoteFetcher = BaseFastTrackQuoteFetcher;
20667
23678
  exports.BaseFlightQuoteFetcher = BaseFlightQuoteFetcher;
23679
+ exports.BaseGetAllAirlinesFetcher = BaseGetAllAirlinesFetcher;
20668
23680
  exports.BaseGetBasketFetcher = BaseGetBasketFetcher;
23681
+ exports.BaseGetCancellationInfoFetcher = BaseGetCancellationInfoFetcher;
23682
+ exports.BaseGetCarHireProvidersFetcher = BaseGetCarHireProvidersFetcher;
20669
23683
  exports.BaseGetConfermaRoomImagesFetcher = BaseGetConfermaRoomImagesFetcher;
20670
23684
  exports.BaseGetCovidMicrositeTokenFetcher = BaseGetCovidMicrositeTokenFetcher;
20671
23685
  exports.BaseGetFlightFareRulesFetcher = BaseGetFlightFareRulesFetcher;
20672
23686
  exports.BaseGetFlightSeatMapFetcher = BaseGetFlightSeatMapFetcher;
23687
+ exports.BaseGetHotelChainsFetcher = BaseGetHotelChainsFetcher;
23688
+ exports.BaseGetIrlSupplierStationFetcher = BaseGetIrlSupplierStationFetcher;
20673
23689
  exports.BaseGetMiAutoSugestionFetcher = BaseGetMiAutoSugestionFetcher;
20674
23690
  exports.BaseGetRailLiveDeparturesFetcher = BaseGetRailLiveDeparturesFetcher;
23691
+ exports.BaseGetRailProvidersFetcher = BaseGetRailProvidersFetcher;
20675
23692
  exports.BaseGetRailStationFetcher = BaseGetRailStationFetcher;
20676
23693
  exports.BaseGetRailcardsFetcher = BaseGetRailcardsFetcher;
20677
23694
  exports.BaseGetRiskAlertsFetcher = BaseGetRiskAlertsFetcher;
@@ -20695,6 +23712,7 @@
20695
23712
  exports.BaseParkingQuoteFetcher = BaseParkingQuoteFetcher;
20696
23713
  exports.BaseRailQuoteFetcher = BaseRailQuoteFetcher;
20697
23714
  exports.BaseRemoveItemFromBasketUpdater = BaseRemoveItemFromBasketUpdater;
23715
+ exports.BaseRequiresReasonService = BaseRequiresReasonService;
20698
23716
  exports.BaseRevalidateBasketUpdater = BaseRevalidateBasketUpdater;
20699
23717
  exports.BaseRouteHappyService = BaseRouteHappyService;
20700
23718
  exports.BaseSaveFavouriteSearchUpdater = BaseSaveFavouriteSearchUpdater;
@@ -20712,10 +23730,12 @@
20712
23730
  exports.BaseSearchRailStationsFetcher = BaseSearchRailStationsFetcher;
20713
23731
  exports.BaseSearchUsersCanBookForFetcher = BaseSearchUsersCanBookForFetcher;
20714
23732
  exports.BaseSendBasketForApprovalUpdater = BaseSendBasketForApprovalUpdater;
23733
+ exports.BaseSendOfflineNotificationFetcher = BaseSendOfflineNotificationFetcher;
20715
23734
  exports.BaseSetBasketItemLeadPassengerUpdater = BaseSetBasketItemLeadPassengerUpdater;
20716
23735
  exports.BaseSetBasketItemMiGroupUpdater = BaseSetBasketItemMiGroupUpdater;
20717
23736
  exports.BaseSetBasketItemMiValueUpdater = BaseSetBasketItemMiValueUpdater;
20718
23737
  exports.BaseSetPaymentOptionUpdater = BaseSetPaymentOptionUpdater;
23738
+ exports.BaseSetUserLanguageUpdater = BaseSetUserLanguageUpdater;
20719
23739
  exports.BaseStorageService = BaseStorageService;
20720
23740
  exports.BaseUpdateBasketNoteUpdater = BaseUpdateBasketNoteUpdater;
20721
23741
  exports.BaseUpdateBasketTitleUpdater = BaseUpdateBasketTitleUpdater;
@@ -20731,10 +23751,15 @@
20731
23751
  exports.BasketInfoMiDetailsImpl = BasketInfoMiDetailsImpl;
20732
23752
  exports.BookableBasket = BookableBasket;
20733
23753
  exports.CabHireEnterpriseSearch = CabHireEnterpriseSearch;
23754
+ exports.CarCompanies = CarCompanies;
20734
23755
  exports.CarhireEnterpriseSearch = CarhireEnterpriseSearch;
20735
23756
  exports.DEFAULT_FLIGHT_FILTERS = DEFAULT_FLIGHT_FILTERS;
23757
+ exports.DistanceType = DistanceType;
23758
+ exports.DocTypes = DocTypes;
20736
23759
  exports.EurostarEnterpriseSearch = EurostarEnterpriseSearch;
20737
23760
  exports.FlightEnterpriseSearch = FlightEnterpriseSearch;
23761
+ exports.Genders = Genders;
23762
+ exports.HotelChains = HotelChains;
20738
23763
  exports.HotelEnterpriseSearch = HotelEnterpriseSearch;
20739
23764
  exports.HotelFilters = HotelFilters;
20740
23765
  exports.IRLEnterpriseSearch = IRLEnterpriseSearch;
@@ -20746,8 +23771,11 @@
20746
23771
  exports.ManagementInfoAndIsValid = ManagementInfoAndIsValid;
20747
23772
  exports.Memorise = Memorise;
20748
23773
  exports.ModalTypes = ModalTypes;
23774
+ exports.PREFERENCE_VALUES = PREFERENCE_VALUES;
20749
23775
  exports.ParkingEnterpriseSearch = ParkingEnterpriseSearch;
23776
+ exports.PersonTitles = PersonTitles;
20750
23777
  exports.PhoneNumberImpl = PhoneNumberImpl;
23778
+ exports.RailCompanies = RailCompanies;
20751
23779
  exports.RailEnterpriseSearch = RailEnterpriseSearch;
20752
23780
  exports.RegExps = RegExps;
20753
23781
  exports.SupplementaryBookingInfoImpl = SupplementaryBookingInfoImpl;
@@ -20765,10 +23793,10 @@
20765
23793
  exports.makeManagamentInfo = makeManagamentInfo;
20766
23794
  exports.maxTravellerWellbeing = maxTravellerWellbeing;
20767
23795
  exports.ɵ0 = ɵ0;
20768
- exports.ɵd = FetchableList;
20769
- exports.ɵe = FetchableObject;
20770
- exports.ɵf = UpdateableObject;
20771
- exports.ɵg = BaseTester;
23796
+ exports.ɵh = FetchableList;
23797
+ exports.ɵi = FetchableObject;
23798
+ exports.ɵj = UpdateableObject;
23799
+ exports.ɵk = BaseTester;
20772
23800
 
20773
23801
  Object.defineProperty(exports, '__esModule', { value: true });
20774
23802