@qite/tide-booking-component 1.4.112 → 1.4.114

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 (43) hide show
  1. package/build/build-cjs/index.js +425 -263
  2. package/build/build-cjs/src/search-results/components/book-packaging-entry/index.d.ts +1 -0
  3. package/build/build-cjs/src/search-results/components/book-packaging-entry/wl-sidebar.d.ts +2 -0
  4. package/build/build-cjs/src/search-results/components/search-results-container/search-results-container.d.ts +4 -1
  5. package/build/build-cjs/src/search-results/index.d.ts +1 -0
  6. package/build/build-cjs/src/shared/booking/summary.d.ts +1 -0
  7. package/build/build-cjs/src/shared/utils/booking-summary.d.ts +1 -0
  8. package/build/build-esm/index.js +424 -263
  9. package/build/build-esm/src/search-results/components/book-packaging-entry/index.d.ts +1 -0
  10. package/build/build-esm/src/search-results/components/book-packaging-entry/wl-sidebar.d.ts +2 -0
  11. package/build/build-esm/src/search-results/components/search-results-container/search-results-container.d.ts +4 -1
  12. package/build/build-esm/src/search-results/index.d.ts +1 -0
  13. package/build/build-esm/src/shared/booking/summary.d.ts +1 -0
  14. package/build/build-esm/src/shared/utils/booking-summary.d.ts +1 -0
  15. package/package.json +2 -2
  16. package/src/search-results/components/book-packaging-entry/index.tsx +60 -22
  17. package/src/search-results/components/book-packaging-entry/wl-sidebar.tsx +27 -16
  18. package/src/search-results/components/flight/flight-selection/independent-flight-selection.tsx +5 -2
  19. package/src/search-results/components/hotel/hotel-accommodation-results.tsx +11 -2
  20. package/src/search-results/components/search-results-container/search-results-container.tsx +22 -8
  21. package/src/search-results/index.tsx +3 -2
  22. package/src/shared/booking/summary.tsx +4 -2
  23. package/src/shared/booking/travelers-form.tsx +12 -6
  24. package/src/shared/components/flyin/flyin.tsx +10 -1
  25. package/src/shared/translations/ar-SA.json +3 -1
  26. package/src/shared/translations/da-DK.json +3 -1
  27. package/src/shared/translations/de-DE.json +3 -1
  28. package/src/shared/translations/en-GB.json +3 -1
  29. package/src/shared/translations/es-ES.json +3 -1
  30. package/src/shared/translations/fr-BE.json +3 -1
  31. package/src/shared/translations/fr-FR.json +3 -1
  32. package/src/shared/translations/is-IS.json +3 -1
  33. package/src/shared/translations/it-IT.json +3 -1
  34. package/src/shared/translations/ja-JP.json +3 -1
  35. package/src/shared/translations/nl-BE.json +3 -1
  36. package/src/shared/translations/nl-NL.json +3 -1
  37. package/src/shared/translations/no-NO.json +3 -1
  38. package/src/shared/translations/pl-PL.json +3 -1
  39. package/src/shared/translations/pt-PT.json +3 -1
  40. package/src/shared/translations/sv-SE.json +3 -1
  41. package/src/shared/utils/booking-summary.tsx +11 -0
  42. package/styles/components/_booking.scss +10 -0
  43. package/styles/components/_select-wrapper.scss +5 -0
@@ -473,7 +473,9 @@ var SUMMARY$f = {
473
473
  VOUCHER_VALIDATE: 'تحقق من القسيمة',
474
474
  ADD_VOUCHER: 'إضافة قسيمة',
475
475
  VOUCHER_VALID: 'القسيمة صالحة',
476
- VOUCHER_INVALID: 'القسيمة غير صالحة'
476
+ VOUCHER_INVALID: 'القسيمة غير صالحة',
477
+ REDIRECT: 'إعادة التوجيه إلى مزود الدفع...',
478
+ PROCESS_BOOKING: 'يرجى الانتظار، جاري معالجة حجزك'
477
479
  };
478
480
  var CONFIRMATION$f = {
479
481
  TITLE_TEXT_OFFER: 'تم طلب عرضك رقم {0}',
@@ -892,7 +894,9 @@ var SUMMARY$e = {
892
894
  VOUCHER_VALIDATE: 'Valider voucher',
893
895
  ADD_VOUCHER: 'Tilføj voucher',
894
896
  VOUCHER_VALID: 'Voucher er gyldig',
895
- VOUCHER_INVALID: 'Voucher er ikke gyldig'
897
+ VOUCHER_INVALID: 'Voucher er ikke gyldig',
898
+ REDIRECT: 'Omdirigerer til betalingsudbyder...',
899
+ PROCESS_BOOKING: 'Vent venligst, din booking behandles'
896
900
  };
897
901
  var CONFIRMATION$e = {
898
902
  TITLE_TEXT_OFFER: 'Dit tilbud med nummer {0} er blevet anmodet',
@@ -1311,7 +1315,9 @@ var SUMMARY$d = {
1311
1315
  VOUCHER_VALIDATE: 'Gutschein prüfen',
1312
1316
  ADD_VOUCHER: 'Gutschein hinzufügen',
1313
1317
  VOUCHER_VALID: 'Gutschein ist gültig',
1314
- VOUCHER_INVALID: 'Gutschein ist ungültig'
1318
+ VOUCHER_INVALID: 'Gutschein ist ungültig',
1319
+ REDIRECT: 'Weiterleitung zum Zahlungsanbieter...',
1320
+ PROCESS_BOOKING: 'Bitte warten Sie, Ihre Buchung wird bearbeitet'
1315
1321
  };
1316
1322
  var CONFIRMATION$d = {
1317
1323
  TITLE_TEXT_OFFER: 'Ihr Angebot mit der Nummer {0} wurde angefordert',
@@ -1735,7 +1741,9 @@ var SUMMARY$c = {
1735
1741
  VOUCHER_VALIDATE: 'Validate voucher',
1736
1742
  ADD_VOUCHER: 'Add voucher',
1737
1743
  VOUCHER_VALID: 'Voucher is valid',
1738
- VOUCHER_INVALID: 'Voucher is not valid'
1744
+ VOUCHER_INVALID: 'Voucher is not valid',
1745
+ REDIRECT: 'Redirecting to payment provider...',
1746
+ PROCESS_BOOKING: 'Please wait, your booking is being processed'
1739
1747
  };
1740
1748
  var CONFIRMATION$c = {
1741
1749
  TITLE_TEXT_OFFER: 'Your quote with number {0} has been requested',
@@ -2154,7 +2162,9 @@ var SUMMARY$b = {
2154
2162
  VOUCHER_VALIDATE: 'Validar vale',
2155
2163
  ADD_VOUCHER: 'Agregar vale',
2156
2164
  VOUCHER_VALID: 'Vale válido',
2157
- VOUCHER_INVALID: 'Vale no válido'
2165
+ VOUCHER_INVALID: 'Vale no válido',
2166
+ REDIRECT: 'Redirigiendo al proveedor de pagos...',
2167
+ PROCESS_BOOKING: 'Por favor, espere, su reserva se está procesando'
2158
2168
  };
2159
2169
  var CONFIRMATION$b = {
2160
2170
  TITLE_TEXT_OFFER: 'Su presupuesto con número {0} ha sido solicitado',
@@ -2578,7 +2588,9 @@ var SUMMARY$a = {
2578
2588
  VOUCHER_VALIDATE: 'Valider le bon',
2579
2589
  ADD_VOUCHER: 'Ajouter un bon',
2580
2590
  VOUCHER_VALID: 'Bon valide',
2581
- VOUCHER_INVALID: 'Bon invalide'
2591
+ VOUCHER_INVALID: 'Bon invalide',
2592
+ REDIRECT: 'Redirection vers le fournisseur de paiement...',
2593
+ PROCESS_BOOKING: 'Veuillez patienter, votre réservation est en cours de traitement'
2582
2594
  };
2583
2595
  var CONFIRMATION$a = {
2584
2596
  TITLE_TEXT_OFFER: 'Votre devis numéro {0} a été demandé',
@@ -2998,7 +3010,9 @@ var SUMMARY$9 = {
2998
3010
  VOUCHER_VALIDATE: 'Valider le bon',
2999
3011
  ADD_VOUCHER: 'Ajouter un bon',
3000
3012
  VOUCHER_VALID: 'Bon valide',
3001
- VOUCHER_INVALID: 'Bon invalide'
3013
+ VOUCHER_INVALID: 'Bon invalide',
3014
+ REDIRECT: 'Redirection vers le fournisseur de paiement...',
3015
+ PROCESS_BOOKING: 'Veuillez patienter, votre réservation est en cours de traitement'
3002
3016
  };
3003
3017
  var CONFIRMATION$9 = {
3004
3018
  TITLE_TEXT_OFFER: 'Votre devis numéro {0} a été demandé',
@@ -3417,7 +3431,9 @@ var SUMMARY$8 = {
3417
3431
  VOUCHER_VALIDATE: 'Staðfesta miða',
3418
3432
  ADD_VOUCHER: 'Bæta við miða',
3419
3433
  VOUCHER_VALID: 'Miðinn er gildur',
3420
- VOUCHER_INVALID: 'Miðinn er ógildur'
3434
+ VOUCHER_INVALID: 'Miðinn er ógildur',
3435
+ REDIRECT: 'Beinir á greiðsluaðila...',
3436
+ PROCESS_BOOKING: 'Vinsamlegast bíðið, pöntunin þín er í vinnslu'
3421
3437
  };
3422
3438
  var CONFIRMATION$8 = {
3423
3439
  TITLE_TEXT_OFFER: 'Tilboð þitt nr. {0} hefur verið beðið um',
@@ -3836,7 +3852,9 @@ var SUMMARY$7 = {
3836
3852
  VOUCHER_VALIDATE: 'Valida voucher',
3837
3853
  ADD_VOUCHER: 'Aggiungi voucher',
3838
3854
  VOUCHER_VALID: 'Voucher valido',
3839
- VOUCHER_INVALID: 'Voucher non valido'
3855
+ VOUCHER_INVALID: 'Voucher non valido',
3856
+ REDIRECT: 'Reindirizzamento al fornitore di pagamento...',
3857
+ PROCESS_BOOKING: 'Attendere prego, la tua prenotazione è in fase di elaborazione'
3840
3858
  };
3841
3859
  var CONFIRMATION$7 = {
3842
3860
  TITLE_TEXT_OFFER: 'Il tuo preventivo numero {0} è stato richiesto',
@@ -4260,7 +4278,9 @@ var SUMMARY$6 = {
4260
4278
  VOUCHER_VALIDATE: 'Valideer voucher',
4261
4279
  ADD_VOUCHER: 'Voucher toevoegen',
4262
4280
  VOUCHER_VALID: 'Voucher is geldig',
4263
- VOUCHER_INVALID: 'Voucher is niet geldig'
4281
+ VOUCHER_INVALID: 'Voucher is niet geldig',
4282
+ REDIRECT: 'Redirecten naar betalingsprovider...',
4283
+ PROCESS_BOOKING: 'Even geduld, we verwerken je boeking'
4264
4284
  };
4265
4285
  var CONFIRMATION$6 = {
4266
4286
  TITLE_TEXT_OFFER: 'Je offerte met nummer {0} is aangevraagd',
@@ -4680,7 +4700,9 @@ var SUMMARY$5 = {
4680
4700
  VOUCHER_VALIDATE: 'Voucher valideren',
4681
4701
  ADD_VOUCHER: 'Voucher toevoegen',
4682
4702
  VOUCHER_VALID: 'Voucher is geldig',
4683
- VOUCHER_INVALID: 'Voucher is ongeldig'
4703
+ VOUCHER_INVALID: 'Voucher is ongeldig',
4704
+ REDIRECT: 'Redirecten naar betalingsprovider...',
4705
+ PROCESS_BOOKING: 'Even geduld, we verwerken je boeking'
4684
4706
  };
4685
4707
  var CONFIRMATION$5 = {
4686
4708
  TITLE_TEXT_OFFER: 'Uw offerte met nummer {0} is aangevraagd',
@@ -5100,7 +5122,9 @@ var SUMMARY$4 = {
5100
5122
  VOUCHER_VALIDATE: 'Valider verdikupong',
5101
5123
  ADD_VOUCHER: 'Legg til verdikupong',
5102
5124
  VOUCHER_VALID: 'Verdikupongen er gyldig',
5103
- VOUCHER_INVALID: 'Verdikupongen er ugyldig'
5125
+ VOUCHER_INVALID: 'Verdikupongen er ugyldig',
5126
+ REDIRECT: 'Omdirigerer til betalingsleverandør...',
5127
+ PROCESS_BOOKING: 'Vennligst vent, bestillingen din behandles'
5104
5128
  };
5105
5129
  var CONFIRMATION$4 = {
5106
5130
  TITLE_TEXT_OFFER: 'Tilbudet ditt med nummer {0} er forespurt',
@@ -5520,7 +5544,9 @@ var SUMMARY$3 = {
5520
5544
  VOUCHER_VALIDATE: 'Zweryfikuj voucher',
5521
5545
  ADD_VOUCHER: 'Dodaj voucher',
5522
5546
  VOUCHER_VALID: 'Voucher jest ważny',
5523
- VOUCHER_INVALID: 'Voucher jest nieważny'
5547
+ VOUCHER_INVALID: 'Voucher jest nieważny',
5548
+ REDIRECT: 'Przekierowanie do dostawcy płatności...',
5549
+ PROCESS_BOOKING: 'Proszę czekać, Twoja rezerwacja jest przetwarzana'
5524
5550
  };
5525
5551
  var CONFIRMATION$3 = {
5526
5552
  TITLE_TEXT_OFFER: 'Twoja wycena o numerze {0} została wysłana',
@@ -5940,7 +5966,9 @@ var SUMMARY$2 = {
5940
5966
  VOUCHER_VALIDATE: 'Validar voucher',
5941
5967
  ADD_VOUCHER: 'Adicionar voucher',
5942
5968
  VOUCHER_VALID: 'O voucher é válido',
5943
- VOUCHER_INVALID: 'O voucher não é válido'
5969
+ VOUCHER_INVALID: 'O voucher não é válido',
5970
+ REDIRECT: 'Redirecionando para o provedor de pagamento...',
5971
+ PROCESS_BOOKING: 'Por favor, aguarde, sua reserva está sendo processada'
5944
5972
  };
5945
5973
  var CONFIRMATION$2 = {
5946
5974
  TITLE_TEXT_OFFER: 'O seu orçamento com o número {0} foi solicitado',
@@ -6360,7 +6388,9 @@ var SUMMARY$1 = {
6360
6388
  VOUCHER_VALIDATE: 'Validera voucher',
6361
6389
  ADD_VOUCHER: 'Lägg till voucher',
6362
6390
  VOUCHER_VALID: 'Vouchern är giltig',
6363
- VOUCHER_INVALID: 'Vouchern är ogiltig'
6391
+ VOUCHER_INVALID: 'Vouchern är ogiltig',
6392
+ REDIRECT: 'Omdirigerar till betalningsleverantör...',
6393
+ PROCESS_BOOKING: 'Vänligen vänta, din bokning behandlas'
6364
6394
  };
6365
6395
  var CONFIRMATION$1 = {
6366
6396
  TITLE_TEXT_OFFER: 'Din offert med nummer {0} har begärts',
@@ -6779,7 +6809,9 @@ var SUMMARY = {
6779
6809
  VOUCHER_VALIDATE: 'バウチャーを確認',
6780
6810
  ADD_VOUCHER: 'バウチャーを追加',
6781
6811
  VOUCHER_VALID: 'バウチャーは有効です',
6782
- VOUCHER_INVALID: 'バウチャーは無効です'
6812
+ VOUCHER_INVALID: 'バウチャーは無効です',
6813
+ REDIRECT: '支払いプロバイダーにリダイレクト中...',
6814
+ PROCESS_BOOKING: 'お待ちください、予約を処理中です'
6783
6815
  };
6784
6816
  var CONFIRMATION = {
6785
6817
  TITLE_TEXT_OFFER: '見積もり番号 {0} の依頼を受け付けました',
@@ -28087,15 +28119,20 @@ function createInitialValuesFromRooms(formRooms, startDate, agentAdressId, perso
28087
28119
  }
28088
28120
  function createInitialValuesFromEditablePackagingEntry(editablePackagingEntry, agentAdressId) {
28089
28121
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v;
28090
- console.log('editablePackagingEntry?.pax:', editablePackagingEntry === null || editablePackagingEntry === void 0 ? void 0 : editablePackagingEntry.pax);
28091
28122
  var pax =
28092
28123
  (_a = editablePackagingEntry === null || editablePackagingEntry === void 0 ? void 0 : editablePackagingEntry.pax) !== null && _a !== void 0 ? _a : [];
28093
28124
  var rooms = editablePackagingEntry.rooms.map(function (room) {
28094
28125
  var roomPax = pax.filter(function (x) {
28095
28126
  return room.paxIds.includes(x.id);
28096
28127
  });
28128
+ var adults = roomPax.filter(function (x) {
28129
+ return x.age >= 18;
28130
+ });
28131
+ var children = roomPax.filter(function (x) {
28132
+ return x.age < 18;
28133
+ });
28097
28134
  return {
28098
- adults: roomPax.map(function (roomTraveler) {
28135
+ adults: adults.map(function (roomTraveler) {
28099
28136
  var _a, _b;
28100
28137
  return {
28101
28138
  id: roomTraveler.id,
@@ -28105,7 +28142,16 @@ function createInitialValuesFromEditablePackagingEntry(editablePackagingEntry, a
28105
28142
  gender: ''
28106
28143
  };
28107
28144
  }),
28108
- children: []
28145
+ children: children.map(function (roomTraveler) {
28146
+ var _a, _b;
28147
+ return {
28148
+ id: roomTraveler.id,
28149
+ firstName: (_a = roomTraveler.firstName) !== null && _a !== void 0 ? _a : '',
28150
+ lastName: (_b = roomTraveler.lastName) !== null && _b !== void 0 ? _b : '',
28151
+ birthDate: roomTraveler.dateOfBirth ? dateFns.format(new Date(roomTraveler.dateOfBirth), 'yyyy-MM-dd') : '',
28152
+ gender: ''
28153
+ };
28154
+ })
28109
28155
  };
28110
28156
  });
28111
28157
  var values = createInitialValuesFromRooms(
@@ -28157,8 +28203,6 @@ function applyTravelersFormValuesToEditablePackagingEntry(editablePackagingEntry
28157
28203
  var travelers = values.rooms.flatMap(function (room) {
28158
28204
  return __spreadArray(__spreadArray([], room.adults, true), room.children, true);
28159
28205
  });
28160
- console.log('Applying form values:', values);
28161
- console.log('editablePackagingEntry:', editablePackagingEntry);
28162
28206
  return __assign(__assign({}, editablePackagingEntry), {
28163
28207
  pax: ((_a = editablePackagingEntry.pax) !== null && _a !== void 0 ? _a : []).map(function (pax) {
28164
28208
  var _a, _b;
@@ -41544,11 +41588,20 @@ var HotelAccommodationResults = function (_a) {
41544
41588
  function () {
41545
41589
  var shouldShowAll =
41546
41590
  (context === null || context === void 0 ? void 0 : context.searchConfiguration.qsmType) !== build.PortalQsmType.AccommodationAndFlight || isFlyIn;
41591
+ var filteredMapperResults = mappedResults;
41592
+ if (selectedPackagingAccoResult) {
41593
+ filteredMapperResults = mappedResults.filter(function (result) {
41594
+ return result.code !== selectedPackagingAccoResult.code;
41595
+ });
41596
+ }
41547
41597
  if (shouldShowAll) {
41548
- return mappedResults;
41598
+ if (isFlyIn) {
41599
+ return mappedResults;
41600
+ }
41601
+ return filteredMapperResults;
41549
41602
  }
41550
41603
  if (selectedPackagingAccoResult) {
41551
- return mappedResults
41604
+ return filteredMapperResults
41552
41605
  .filter(function (result) {
41553
41606
  return result.code !== selectedPackagingAccoResult.code;
41554
41607
  })
@@ -43152,6 +43205,13 @@ var FlyIn = function (_a) {
43152
43205
  dispatch(setSortType(newSortByType));
43153
43206
  }
43154
43207
  };
43208
+ var onHandleConfirm = function () {
43209
+ if (context === null || context === void 0 ? void 0 : context.packagingEntry) {
43210
+ handleConfirm === null || handleConfirm === void 0 ? void 0 : handleConfirm();
43211
+ } else {
43212
+ dispatch(setBookPackagingEntry(true));
43213
+ }
43214
+ };
43155
43215
  return React__default['default'].createElement(
43156
43216
  'div',
43157
43217
  {
@@ -43289,7 +43349,7 @@ var FlyIn = function (_a) {
43289
43349
  ),
43290
43350
  (srpType === build.PortalQsmType.Accommodation || srpType === build.PortalQsmType.AccommodationAndFlight) &&
43291
43351
  flyInType === 'acco-details' &&
43292
- React__default['default'].createElement(AccommodationFlyIn, { isLoading: detailsLoading, handleConfirm: handleConfirm }),
43352
+ React__default['default'].createElement(AccommodationFlyIn, { isLoading: detailsLoading, handleConfirm: onHandleConfirm }),
43293
43353
  srpType === build.PortalQsmType.AccommodationAndFlight &&
43294
43354
  (flyInType === 'flight-outward-results' || flyInType === 'flight-return-results') &&
43295
43355
  React__default['default'].createElement(PackageingFlightsFlyIn, {
@@ -44168,8 +44228,11 @@ var IndependentFlightSelection = function (_a) {
44168
44228
  [searchResults, selectedReturnKey]
44169
44229
  );
44170
44230
  var firstResultDate = uniqueOutwardFlights.length > 0 ? uniqueOutwardFlights[0].outward.segments[0].departureDateTime : null;
44231
+ var firstResultReturnDate = uniqueReturnFlights.length > 0 ? uniqueReturnFlights[0].return.segments[0].departureDateTime : null;
44171
44232
  var firstResultDay = firstResultDate ? dateFns.format(firstResultDate, 'd') : null;
44172
44233
  var firstResultMonth = firstResultDate ? dateFns.format(firstResultDate, 'MMM') : null;
44234
+ var firstResultReturnDay = firstResultReturnDate ? dateFns.format(firstResultReturnDate, 'd') : null;
44235
+ var firstResultReturnMonth = firstResultReturnDate ? dateFns.format(firstResultReturnDate, 'MMM') : null;
44173
44236
  return React__default['default'].createElement(
44174
44237
  React__default['default'].Fragment,
44175
44238
  null,
@@ -44224,7 +44287,12 @@ var IndependentFlightSelection = function (_a) {
44224
44287
  React__default['default'].createElement(
44225
44288
  'div',
44226
44289
  { className: 'search__results__label search__results__label--secondary' },
44227
- React__default['default'].createElement('div', { className: 'search__results__label__date' }),
44290
+ React__default['default'].createElement(
44291
+ 'div',
44292
+ { className: 'search__results__label__date' },
44293
+ React__default['default'].createElement('p', { className: 'search__results__label__date-date' }, firstResultReturnDay),
44294
+ React__default['default'].createElement('p', null, firstResultReturnMonth)
44295
+ ),
44228
44296
  React__default['default'].createElement(
44229
44297
  'div',
44230
44298
  { className: 'search__results__label__text' },
@@ -46692,6 +46760,83 @@ var DayByDayExcursions = function () {
46692
46760
  );
46693
46761
  };
46694
46762
 
46763
+ var renderEditablePackagingEntrySummaryOptions = function (editablePackagingEntry, priceDetails, translations) {
46764
+ var _a, _b;
46765
+ var priceDetailsByProduct = lodash.groupBy(
46766
+ (_a = priceDetails === null || priceDetails === void 0 ? void 0 : priceDetails.details) !== null && _a !== void 0 ? _a : [],
46767
+ function (detail) {
46768
+ return ''.concat(detail.productCode, '|').concat(detail.accommodationCode);
46769
+ }
46770
+ );
46771
+ return (
46772
+ (_b = editablePackagingEntry === null || editablePackagingEntry === void 0 ? void 0 : editablePackagingEntry.lines) !== null && _b !== void 0 ? _b : []
46773
+ ).map(function (line) {
46774
+ var _a, _b, _c;
46775
+ var groupedPriceDetails = (_a = priceDetailsByProduct[''.concat(line.productCode, '|').concat(line.accommodationCode)]) !== null && _a !== void 0 ? _a : [];
46776
+ var visiblePriceDetails = groupedPriceDetails.filter(function (detail) {
46777
+ return detail.showPrice || detail.isSeparate;
46778
+ });
46779
+ return React__default['default'].createElement(
46780
+ 'li',
46781
+ { key: line.guid },
46782
+ React__default['default'].createElement('h6', null, line.productName),
46783
+ React__default['default'].createElement(
46784
+ 'ul',
46785
+ null,
46786
+ React__default['default'].createElement('li', { className: 'list__item' }, lodash.compact([line.accommodationName, line.regimeName]).join(', ')),
46787
+ (_c = (_b = line.flightInformation) === null || _b === void 0 ? void 0 : _b.flightLines) === null || _c === void 0
46788
+ ? void 0
46789
+ : _c.map(function (flightLine, index) {
46790
+ var _a, _b;
46791
+ return React__default['default'].createElement(
46792
+ 'li',
46793
+ { className: 'list__item', key: ''.concat(line.guid, '-').concat(index) },
46794
+ flightLine.departureAirportCode,
46795
+ ' ',
46796
+ (_a = flightLine.departureTime) === null || _a === void 0 ? void 0 : _a.slice(0, 5),
46797
+ ' > ',
46798
+ flightLine.arrivalAirportCode,
46799
+ ' ',
46800
+ (_b = flightLine.arrivalTime) === null || _b === void 0 ? void 0 : _b.slice(0, 5),
46801
+ ' (',
46802
+ flightLine.operatingFlightNumber || ''.concat(flightLine.airlineCode).concat(flightLine.flightNumber),
46803
+ ')'
46804
+ );
46805
+ }),
46806
+ !lodash.isEmpty(visiblePriceDetails) &&
46807
+ visiblePriceDetails.map(function (detail, index) {
46808
+ var _a;
46809
+ return React__default['default'].createElement(
46810
+ 'li',
46811
+ { className: 'list__item', key: ''.concat(line.guid, '-price-').concat(index) },
46812
+ detail.priceDescription,
46813
+ ': ',
46814
+ (_a = detail.total) === null || _a === void 0 ? void 0 : _a.toLocaleString(undefined, { style: 'currency', currency: 'EUR' })
46815
+ );
46816
+ })
46817
+ ),
46818
+ React__default['default'].createElement(
46819
+ 'p',
46820
+ null,
46821
+ '(',
46822
+ line.from === line.to
46823
+ ? getDateText(line.from)
46824
+ : React__default['default'].createElement(React__default['default'].Fragment, null, getDateText(line.from), ' > ', getDateText(line.to)),
46825
+ ')'
46826
+ )
46827
+ );
46828
+ });
46829
+ };
46830
+ var getImageSrcFromHtml = function (html) {
46831
+ var _a;
46832
+ if (!html || typeof window === 'undefined') {
46833
+ return undefined;
46834
+ }
46835
+ var doc = new DOMParser().parseFromString(html, 'text/html');
46836
+ var img = doc.querySelector('img');
46837
+ return (_a = img === null || img === void 0 ? void 0 : img.getAttribute('src')) !== null && _a !== void 0 ? _a : undefined;
46838
+ };
46839
+
46695
46840
  var mapToSidebarFlightMetaData = function (entryLine) {
46696
46841
  var _a, _b;
46697
46842
  return {
@@ -46751,22 +46896,16 @@ var selectSeparatePackagePriceDetails = function (priceDetails) {
46751
46896
  return result;
46752
46897
  };
46753
46898
  var WLSidebar = function (_a) {
46754
- var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
46755
- var activeSearchSeed = _a.activeSearchSeed;
46899
+ var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3;
46900
+ var activeSearchSeed = _a.activeSearchSeed,
46901
+ packagingAccoResult = _a.packagingAccoResult;
46756
46902
  var context = React.useContext(SearchResultsConfigurationContext);
46757
- if (!context) {
46758
- return null;
46759
- }
46760
- var translations = getTranslations((_b = context.languageCode) !== null && _b !== void 0 ? _b : 'en-GB');
46761
- var _u = reactRedux.useSelector(function (state) {
46903
+ var _4 = reactRedux.useSelector(function (state) {
46762
46904
  return state.searchResults;
46763
46905
  }),
46764
- editablePackagingEntry = _u.editablePackagingEntry,
46765
- priceDetails = _u.priceDetails;
46766
- // Map editablePackagingEntry to sidebar props (example, adjust as needed)
46767
- if (!editablePackagingEntry) {
46768
- return null;
46769
- }
46906
+ editablePackagingEntry = _4.editablePackagingEntry,
46907
+ priceDetails = _4.priceDetails;
46908
+ var translations = getTranslations((_b = context === null || context === void 0 ? void 0 : context.languageCode) !== null && _b !== void 0 ? _b : 'en-GB');
46770
46909
  var sortedLines = React.useMemo(
46771
46910
  function () {
46772
46911
  var _a;
@@ -46786,35 +46925,70 @@ var WLSidebar = function (_a) {
46786
46925
  },
46787
46926
  [editablePackagingEntry]
46788
46927
  );
46928
+ var accoImage = React.useMemo(
46929
+ function () {
46930
+ return getImageSrcFromHtml(packagingAccoResult === null || packagingAccoResult === void 0 ? void 0 : packagingAccoResult.contents);
46931
+ },
46932
+ [packagingAccoResult === null || packagingAccoResult === void 0 ? void 0 : packagingAccoResult.contents]
46933
+ );
46934
+ if (!context || !editablePackagingEntry) {
46935
+ return null;
46936
+ }
46789
46937
  var firstEntryLine = lodash.first(sortedLines);
46790
46938
  var accommodationLines = editablePackagingEntry.lines.filter(function (line) {
46791
46939
  return line.serviceType === ACCOMMODATION_SERVICE_TYPE;
46792
46940
  });
46793
46941
  var accommodationLine = (_c = lodash.first(accommodationLines)) !== null && _c !== void 0 ? _c : firstEntryLine;
46794
46942
  var location =
46795
- (_l =
46796
- (_j =
46797
- (_g =
46798
- (_e =
46799
- (_d = accommodationLine === null || accommodationLine === void 0 ? void 0 : accommodationLine.location) === null || _d === void 0
46943
+ context.searchConfiguration.qsmType === build.PortalQsmType.Accommodation
46944
+ ? (_m =
46945
+ (_k =
46946
+ (_h =
46947
+ (_f =
46948
+ (_d = packagingAccoResult === null || packagingAccoResult === void 0 ? void 0 : packagingAccoResult.name) !== null && _d !== void 0
46949
+ ? _d
46950
+ : (_e = accommodationLine === null || accommodationLine === void 0 ? void 0 : accommodationLine.location) === null || _e === void 0
46951
+ ? void 0
46952
+ : _e.name) !== null && _f !== void 0
46953
+ ? _f
46954
+ : (_g = accommodationLine === null || accommodationLine === void 0 ? void 0 : accommodationLine.oord) === null || _g === void 0
46955
+ ? void 0
46956
+ : _g.name) !== null && _h !== void 0
46957
+ ? _h
46958
+ : (_j = accommodationLine === null || accommodationLine === void 0 ? void 0 : accommodationLine.region) === null || _j === void 0
46800
46959
  ? void 0
46801
- : _d.name) !== null && _e !== void 0
46802
- ? _e
46803
- : (_f = accommodationLine === null || accommodationLine === void 0 ? void 0 : accommodationLine.oord) === null || _f === void 0
46960
+ : _j.name) !== null && _k !== void 0
46961
+ ? _k
46962
+ : (_l = accommodationLine === null || accommodationLine === void 0 ? void 0 : accommodationLine.country) === null || _l === void 0
46804
46963
  ? void 0
46805
- : _f.name) !== null && _g !== void 0
46806
- ? _g
46807
- : (_h = accommodationLine === null || accommodationLine === void 0 ? void 0 : accommodationLine.region) === null || _h === void 0
46808
- ? void 0
46809
- : _h.name) !== null && _j !== void 0
46810
- ? _j
46811
- : (_k = accommodationLine === null || accommodationLine === void 0 ? void 0 : accommodationLine.country) === null || _k === void 0
46964
+ : _l.name) !== null && _m !== void 0
46965
+ ? _m
46966
+ : (_o = firstEntryLine === null || firstEntryLine === void 0 ? void 0 : firstEntryLine.location) === null || _o === void 0
46812
46967
  ? void 0
46813
- : _k.name) !== null && _l !== void 0
46814
- ? _l
46815
- : (_m = firstEntryLine === null || firstEntryLine === void 0 ? void 0 : firstEntryLine.location) === null || _m === void 0
46968
+ : _o.name
46969
+ : (_w =
46970
+ (_u =
46971
+ (_s =
46972
+ (_q =
46973
+ (_p = accommodationLine === null || accommodationLine === void 0 ? void 0 : accommodationLine.location) === null || _p === void 0
46974
+ ? void 0
46975
+ : _p.name) !== null && _q !== void 0
46976
+ ? _q
46977
+ : (_r = accommodationLine === null || accommodationLine === void 0 ? void 0 : accommodationLine.oord) === null || _r === void 0
46978
+ ? void 0
46979
+ : _r.name) !== null && _s !== void 0
46980
+ ? _s
46981
+ : (_t = accommodationLine === null || accommodationLine === void 0 ? void 0 : accommodationLine.region) === null || _t === void 0
46982
+ ? void 0
46983
+ : _t.name) !== null && _u !== void 0
46984
+ ? _u
46985
+ : (_v = accommodationLine === null || accommodationLine === void 0 ? void 0 : accommodationLine.country) === null || _v === void 0
46986
+ ? void 0
46987
+ : _v.name) !== null && _w !== void 0
46988
+ ? _w
46989
+ : (_x = firstEntryLine === null || firstEntryLine === void 0 ? void 0 : firstEntryLine.location) === null || _x === void 0
46816
46990
  ? void 0
46817
- : _m.name;
46991
+ : _x.name;
46818
46992
  var rooms =
46819
46993
  (activeSearchSeed === null || activeSearchSeed === void 0
46820
46994
  ? void 0
@@ -46844,7 +47018,7 @@ var WLSidebar = function (_a) {
46844
47018
  var outboundFlightMetaData = outboundFlight ? mapToSidebarFlightMetaData(outboundFlight) : undefined;
46845
47019
  var returnFlightMetaData = returnFlight ? mapToSidebarFlightMetaData(returnFlight) : undefined;
46846
47020
  var basePrice = lodash.sum(
46847
- (_o =
47021
+ (_y =
46848
47022
  priceDetails === null || priceDetails === void 0
46849
47023
  ? void 0
46850
47024
  : priceDetails.details
@@ -46853,18 +47027,18 @@ var WLSidebar = function (_a) {
46853
47027
  })
46854
47028
  .map(function (pd) {
46855
47029
  return pd.price * pd.amount;
46856
- })) !== null && _o !== void 0
46857
- ? _o
47030
+ })) !== null && _y !== void 0
47031
+ ? _y
46858
47032
  : []
46859
47033
  );
46860
47034
  var separateExtraPriceDetails =
46861
- (_p =
47035
+ (_z =
46862
47036
  priceDetails === null || priceDetails === void 0
46863
47037
  ? void 0
46864
47038
  : priceDetails.details.filter(function (pd) {
46865
47039
  return !pd.isInPackage && pd.isSeparate;
46866
- })) !== null && _p !== void 0
46867
- ? _p
47040
+ })) !== null && _z !== void 0
47041
+ ? _z
46868
47042
  : [];
46869
47043
  var totalPrice = lodash.sum(
46870
47044
  __spreadArray(
@@ -46876,22 +47050,22 @@ var WLSidebar = function (_a) {
46876
47050
  )
46877
47051
  );
46878
47052
  var includedCosts = selectSeparatePackagePriceDetails(
46879
- (_q =
47053
+ (_0 =
46880
47054
  priceDetails === null || priceDetails === void 0
46881
47055
  ? void 0
46882
47056
  : priceDetails.details.filter(function (pd) {
46883
47057
  return pd.isInPackage;
46884
- })) !== null && _q !== void 0
46885
- ? _q
47058
+ })) !== null && _0 !== void 0
47059
+ ? _0
46886
47060
  : []
46887
47061
  );
46888
47062
  return React__default['default'].createElement(SharedSidebar, {
46889
47063
  productName: location !== null && location !== void 0 ? location : '',
46890
- thumbnailUrl: (_r = context.destinationImage) === null || _r === void 0 ? void 0 : _r.url,
47064
+ thumbnailUrl: accoImage !== null && accoImage !== void 0 ? accoImage : (_1 = context.destinationImage) === null || _1 === void 0 ? void 0 : _1.url,
46891
47065
  translations: translations,
46892
47066
  travelerRooms: travelerRooms,
46893
- startDateText: ((_s = lodash.first(sortedLines)) === null || _s === void 0 ? void 0 : _s.from) && formatDate(new Date(lodash.first(sortedLines).from)),
46894
- endDateText: ((_t = lodash.last(sortedLines)) === null || _t === void 0 ? void 0 : _t.to) && formatDate(new Date(lodash.last(sortedLines).to)),
47067
+ startDateText: ((_2 = lodash.first(sortedLines)) === null || _2 === void 0 ? void 0 : _2.from) && formatDate(new Date(lodash.first(sortedLines).from)),
47068
+ endDateText: ((_3 = lodash.last(sortedLines)) === null || _3 === void 0 ? void 0 : _3.to) && formatDate(new Date(lodash.last(sortedLines).to)),
46895
47069
  isLoading: !editablePackagingEntry || !priceDetails,
46896
47070
  loaderComponent: React__default['default'].createElement(Spinner, null),
46897
47071
  departureFlightMetaData: outboundFlightMetaData,
@@ -46936,12 +47110,14 @@ var SharedSummary = function (_a) {
46936
47110
  customValidateText = _a.customValidateText,
46937
47111
  _j = _a.isSubmitting,
46938
47112
  isSubmitting = _j === void 0 ? false : _j,
46939
- _k = _a.userValidated,
46940
- userValidated = _k === void 0 ? true : _k,
47113
+ _k = _a.skipPayment,
47114
+ skipPayment = _k === void 0 ? false : _k,
47115
+ _l = _a.userValidated,
47116
+ userValidated = _l === void 0 ? true : _l,
46941
47117
  renderOptions = _a.renderOptions,
46942
- renderPreviousButton = _a.renderPreviousButton,
46943
- renderLoader = _a.renderLoader,
46944
- onSubmit = _a.onSubmit,
47118
+ renderPreviousButton = _a.renderPreviousButton;
47119
+ _a.renderLoader;
47120
+ var onSubmit = _a.onSubmit,
46945
47121
  onRemarksChange = _a.onRemarksChange,
46946
47122
  onCheckboxesChange = _a.onCheckboxesChange,
46947
47123
  onNotificationsChange = _a.onNotificationsChange,
@@ -46950,9 +47126,9 @@ var SharedSummary = function (_a) {
46950
47126
  onAddVoucher = _a.onAddVoucher,
46951
47127
  onRemoveVoucher = _a.onRemoveVoucher,
46952
47128
  onUserValidatedChange = _a.onUserValidatedChange;
46953
- var _l = React.useState(checkboxes),
46954
- localCheckboxes = _l[0],
46955
- setLocalCheckboxes = _l[1];
47129
+ var _m = React.useState(checkboxes),
47130
+ localCheckboxes = _m[0],
47131
+ setLocalCheckboxes = _m[1];
46956
47132
  React.useEffect(
46957
47133
  function () {
46958
47134
  setLocalCheckboxes(checkboxes);
@@ -46999,7 +47175,8 @@ var SharedSummary = function (_a) {
46999
47175
  return React__default['default'].createElement(
47000
47176
  React__default['default'].Fragment,
47001
47177
  null,
47002
- isSubmitting && ((renderLoader === null || renderLoader === void 0 ? void 0 : renderLoader()) || React__default['default'].createElement(Loader, null)),
47178
+ isSubmitting &&
47179
+ React__default['default'].createElement(Spinner, { label: skipPayment ? translations.SUMMARY.PROCESS_BOOKING : translations.SUMMARY.REDIRECT }),
47003
47180
  !isSubmitting &&
47004
47181
  React__default['default'].createElement(
47005
47182
  'form',
@@ -47414,74 +47591,6 @@ var SharedSummary = function (_a) {
47414
47591
  );
47415
47592
  };
47416
47593
 
47417
- var renderEditablePackagingEntrySummaryOptions = function (editablePackagingEntry, priceDetails, translations) {
47418
- var _a, _b;
47419
- var priceDetailsByProduct = lodash.groupBy(
47420
- (_a = priceDetails === null || priceDetails === void 0 ? void 0 : priceDetails.details) !== null && _a !== void 0 ? _a : [],
47421
- function (detail) {
47422
- return ''.concat(detail.productCode, '|').concat(detail.accommodationCode);
47423
- }
47424
- );
47425
- return (
47426
- (_b = editablePackagingEntry === null || editablePackagingEntry === void 0 ? void 0 : editablePackagingEntry.lines) !== null && _b !== void 0 ? _b : []
47427
- ).map(function (line) {
47428
- var _a, _b, _c;
47429
- var groupedPriceDetails = (_a = priceDetailsByProduct[''.concat(line.productCode, '|').concat(line.accommodationCode)]) !== null && _a !== void 0 ? _a : [];
47430
- var visiblePriceDetails = groupedPriceDetails.filter(function (detail) {
47431
- return detail.showPrice || detail.isSeparate;
47432
- });
47433
- return React__default['default'].createElement(
47434
- 'li',
47435
- { key: line.guid },
47436
- React__default['default'].createElement('h6', null, line.productName),
47437
- React__default['default'].createElement(
47438
- 'ul',
47439
- null,
47440
- React__default['default'].createElement('li', { className: 'list__item' }, lodash.compact([line.accommodationName, line.regimeName]).join(', ')),
47441
- (_c = (_b = line.flightInformation) === null || _b === void 0 ? void 0 : _b.flightLines) === null || _c === void 0
47442
- ? void 0
47443
- : _c.map(function (flightLine, index) {
47444
- var _a, _b;
47445
- return React__default['default'].createElement(
47446
- 'li',
47447
- { className: 'list__item', key: ''.concat(line.guid, '-').concat(index) },
47448
- flightLine.departureAirportCode,
47449
- ' ',
47450
- (_a = flightLine.departureTime) === null || _a === void 0 ? void 0 : _a.slice(0, 5),
47451
- ' > ',
47452
- flightLine.arrivalAirportCode,
47453
- ' ',
47454
- (_b = flightLine.arrivalTime) === null || _b === void 0 ? void 0 : _b.slice(0, 5),
47455
- ' (',
47456
- flightLine.operatingFlightNumber || ''.concat(flightLine.airlineCode).concat(flightLine.flightNumber),
47457
- ')'
47458
- );
47459
- }),
47460
- !lodash.isEmpty(visiblePriceDetails) &&
47461
- visiblePriceDetails.map(function (detail, index) {
47462
- var _a;
47463
- return React__default['default'].createElement(
47464
- 'li',
47465
- { className: 'list__item', key: ''.concat(line.guid, '-price-').concat(index) },
47466
- detail.priceDescription,
47467
- ': ',
47468
- (_a = detail.total) === null || _a === void 0 ? void 0 : _a.toLocaleString(undefined, { style: 'currency', currency: 'EUR' })
47469
- );
47470
- })
47471
- ),
47472
- React__default['default'].createElement(
47473
- 'p',
47474
- null,
47475
- '(',
47476
- line.from === line.to
47477
- ? getDateText(line.from)
47478
- : React__default['default'].createElement(React__default['default'].Fragment, null, getDateText(line.from), ' > ', getDateText(line.to)),
47479
- ')'
47480
- )
47481
- );
47482
- });
47483
- };
47484
-
47485
47594
  var travelerFormFields = [{ type: 'gender' }, { type: 'firstName' }, { type: 'lastName' }, { type: 'birthDate' }];
47486
47595
  var mainBookerFormFields = [
47487
47596
  { type: 'street' },
@@ -47503,41 +47612,59 @@ var travellersSettings = {
47503
47612
  mainBookerFormFields: mainBookerFormFields
47504
47613
  };
47505
47614
  var BookPackagingEntry = function (_a) {
47506
- var _b, _c;
47615
+ var _b;
47507
47616
  var activeSearchSeed = _a.activeSearchSeed,
47617
+ isLoading = _a.isLoading,
47508
47618
  isConfirmationPage = _a.isConfirmationPage;
47509
47619
  var context = React.useContext(SearchResultsConfigurationContext);
47510
47620
  var dispatch = reactRedux.useDispatch();
47511
- var _d = reactRedux.useSelector(function (state) {
47621
+ var _c = reactRedux.useSelector(function (state) {
47512
47622
  return state.searchResults;
47513
47623
  }),
47514
- editablePackagingEntry = _d.editablePackagingEntry,
47515
- priceDetails = _d.priceDetails,
47516
- currentStep = _d.currentStep,
47517
- bookingNumber = _d.bookingNumber;
47518
- var _e = React.useState([]),
47519
- countries = _e[0],
47520
- setCountries = _e[1];
47521
- var _f = React.useState(true),
47522
- userValidated = _f[0],
47523
- setUserValidated = _f[1];
47524
- var _g = React.useState(''),
47525
- remarks = _g[0],
47526
- setRemarks = _g[1];
47527
- var _h = React.useState(false),
47528
- isSubmitting = _h[0],
47529
- setIsSubmitting = _h[1];
47530
- if (!context || !editablePackagingEntry || !priceDetails) return null;
47531
- var config = {
47532
- host: context.tideConnection.host,
47533
- apiKey: context.tideConnection.apiKey
47534
- };
47535
- var translations = getTranslations((_b = context === null || context === void 0 ? void 0 : context.languageCode) !== null && _b !== void 0 ? _b : 'en-GB');
47624
+ editablePackagingEntry = _c.editablePackagingEntry,
47625
+ priceDetails = _c.priceDetails,
47626
+ currentStep = _c.currentStep,
47627
+ bookingNumber = _c.bookingNumber,
47628
+ selectedPackagingAccoResultCode = _c.selectedPackagingAccoResultCode,
47629
+ packagingAccoResults = _c.packagingAccoResults;
47630
+ var _d = React.useState([]),
47631
+ countries = _d[0],
47632
+ setCountries = _d[1];
47633
+ var _e = React.useState(true),
47634
+ userValidated = _e[0],
47635
+ setUserValidated = _e[1];
47636
+ var _f = React.useState(''),
47637
+ remarks = _f[0],
47638
+ setRemarks = _f[1];
47639
+ var _g = React.useState(false),
47640
+ isSubmitting = _g[0],
47641
+ setIsSubmitting = _g[1];
47642
+ var _h = React.useState(null),
47643
+ selectedPackagingAccoResult = _h[0],
47644
+ setSelectedPackagingAccoResult = _h[1];
47645
+ var translations = React.useMemo(
47646
+ function () {
47647
+ var _a;
47648
+ return getTranslations((_a = context === null || context === void 0 ? void 0 : context.languageCode) !== null && _a !== void 0 ? _a : 'en-GB');
47649
+ },
47650
+ [context === null || context === void 0 ? void 0 : context.languageCode]
47651
+ );
47536
47652
  var stepLabels = [translations.STEPS.PERSONAL_DETAILS, translations.STEPS.SUMMARY, translations.STEPS.CONFIRMATION];
47537
- console.log('editablePackagingEntry in WLSidebar:', editablePackagingEntry);
47538
- console.log('priceDetails in WLSidebar:', priceDetails);
47653
+ var config = React.useMemo(
47654
+ function () {
47655
+ if (!context) return null;
47656
+ return {
47657
+ host: context.tideConnection.host,
47658
+ apiKey: context.tideConnection.apiKey
47659
+ };
47660
+ },
47661
+ [context]
47662
+ );
47539
47663
  var initialValues = React.useMemo(
47540
47664
  function () {
47665
+ if (!editablePackagingEntry) {
47666
+ return {};
47667
+ }
47541
47668
  return createInitialValuesFromEditablePackagingEntry(editablePackagingEntry);
47542
47669
  },
47543
47670
  [editablePackagingEntry === null || editablePackagingEntry === void 0 ? void 0 : editablePackagingEntry.transactionId]
@@ -47549,38 +47676,42 @@ var BookPackagingEntry = function (_a) {
47549
47676
  return validateForm(values, false, 'b2c', translations, travellersSettings.formFields, travellersSettings.mainBookerFormFields);
47550
47677
  },
47551
47678
  onSubmit: function (values) {
47679
+ if (!editablePackagingEntry) return;
47552
47680
  dispatch(setEditablePackagingEntry(applyTravelersFormValuesToEditablePackagingEntry(editablePackagingEntry, values)));
47553
47681
  dispatch(setCurrentStep(1));
47554
47682
  }
47555
47683
  });
47556
- React.useEffect(function () {
47557
- if (!context) return;
47558
- var controller = new AbortController();
47559
- (function () {
47560
- return __awaiter(void 0, void 0, void 0, function () {
47561
- var result;
47562
- return __generator(this, function (_b) {
47563
- switch (_b.label) {
47564
- case 0:
47565
- _b.trys.push([0, 2, , 3]);
47566
- return [4 /*yield*/, build.getCountries(config, controller.signal)];
47567
- case 1:
47568
- result = _b.sent();
47569
- setCountries(result.items);
47570
- return [3 /*break*/, 3];
47571
- case 2:
47572
- _b.sent();
47573
- return [3 /*break*/, 3];
47574
- case 3:
47575
- return [2 /*return*/];
47576
- }
47684
+ React.useEffect(
47685
+ function () {
47686
+ if (!context || !config) return;
47687
+ var controller = new AbortController();
47688
+ (function () {
47689
+ return __awaiter(void 0, void 0, void 0, function () {
47690
+ var result;
47691
+ return __generator(this, function (_b) {
47692
+ switch (_b.label) {
47693
+ case 0:
47694
+ _b.trys.push([0, 2, , 3]);
47695
+ return [4 /*yield*/, build.getCountries(config, controller.signal)];
47696
+ case 1:
47697
+ result = _b.sent();
47698
+ setCountries(result.items);
47699
+ return [3 /*break*/, 3];
47700
+ case 2:
47701
+ _b.sent();
47702
+ return [3 /*break*/, 3];
47703
+ case 3:
47704
+ return [2 /*return*/];
47705
+ }
47706
+ });
47577
47707
  });
47578
- });
47579
- })();
47580
- return function () {
47581
- return controller.abort();
47582
- };
47583
- }, []);
47708
+ })();
47709
+ return function () {
47710
+ return controller.abort();
47711
+ };
47712
+ },
47713
+ [context, config]
47714
+ );
47584
47715
  React.useEffect(
47585
47716
  function () {
47586
47717
  if (isConfirmationPage) {
@@ -47589,6 +47720,22 @@ var BookPackagingEntry = function (_a) {
47589
47720
  },
47590
47721
  [isConfirmationPage, dispatch]
47591
47722
  );
47723
+ React.useEffect(
47724
+ function () {
47725
+ var selectedPackagingAccoResult =
47726
+ packagingAccoResults === null || packagingAccoResults === void 0
47727
+ ? void 0
47728
+ : packagingAccoResults.find(function (result) {
47729
+ return result.code === selectedPackagingAccoResultCode;
47730
+ });
47731
+ if (selectedPackagingAccoResult) {
47732
+ setSelectedPackagingAccoResult(selectedPackagingAccoResult);
47733
+ }
47734
+ },
47735
+ [selectedPackagingAccoResultCode, packagingAccoResults]
47736
+ );
47737
+ if (!context || !editablePackagingEntry || !priceDetails || !config)
47738
+ return React__default['default'].createElement(Spinner, { label: translations.SUMMARY.PROCESS_BOOKING });
47592
47739
  var handleSummarySubmit = function (e) {
47593
47740
  return __awaiter(void 0, void 0, void 0, function () {
47594
47741
  var updatedEditablePackagingEntry, redirectUrl, request, bookingResponse;
@@ -47614,7 +47761,7 @@ var BookPackagingEntry = function (_a) {
47614
47761
  dispatch(setEditablePackagingEntry(updatedEditablePackagingEntry));
47615
47762
  _c.label = 1;
47616
47763
  case 1:
47617
- _c.trys.push([1, 3, 4, 5]);
47764
+ _c.trys.push([1, 3, , 4]);
47618
47765
  request = {
47619
47766
  language: (_a = context.languageCode) !== null && _a !== void 0 ? _a : 'en-GB',
47620
47767
  officeId: context.tideConnection.officeId,
@@ -47630,16 +47777,14 @@ var BookPackagingEntry = function (_a) {
47630
47777
  window.location.href = bookingResponse.paymentUrl;
47631
47778
  } else {
47632
47779
  dispatch(setCurrentStep(2));
47780
+ setIsSubmitting(false);
47633
47781
  }
47634
- return [3 /*break*/, 5];
47782
+ return [3 /*break*/, 4];
47635
47783
  case 3:
47636
47784
  _c.sent();
47637
47785
  dispatch(setCurrentStep(3));
47638
- return [3 /*break*/, 5];
47786
+ return [3 /*break*/, 4];
47639
47787
  case 4:
47640
- setIsSubmitting(false);
47641
- return [7 /*endfinally*/];
47642
- case 5:
47643
47788
  return [2 /*return*/];
47644
47789
  }
47645
47790
  });
@@ -47664,6 +47809,7 @@ var BookPackagingEntry = function (_a) {
47664
47809
  return React__default['default'].createElement(React__default['default'].Fragment, null, step + 1, '.\u00A0', stepLabels[step]);
47665
47810
  }
47666
47811
  },
47812
+ isConfirmationPage && isLoading && React__default['default'].createElement(Spinner, { label: translations.SUMMARY.PROCESS_BOOKING }),
47667
47813
  currentStep === 0 &&
47668
47814
  React__default['default'].createElement(SharedTravelersForm, {
47669
47815
  formik: formik$1,
@@ -47680,6 +47826,7 @@ var BookPackagingEntry = function (_a) {
47680
47826
  translations: translations,
47681
47827
  travelerFormValues: formik$1.values,
47682
47828
  isSubmitting: isSubmitting,
47829
+ skipPayment: !context.generatePaymentUrl,
47683
47830
  userValidated: userValidated,
47684
47831
  remarks: remarks,
47685
47832
  enableVoucher: false,
@@ -47709,13 +47856,13 @@ var BookPackagingEntry = function (_a) {
47709
47856
  currentStep === 2 &&
47710
47857
  React__default['default'].createElement(SharedConfirmation, {
47711
47858
  bookingNumber:
47712
- (_c =
47859
+ (_b =
47713
47860
  bookingNumber !== null && bookingNumber !== void 0
47714
47861
  ? bookingNumber
47715
47862
  : editablePackagingEntry === null || editablePackagingEntry === void 0
47716
47863
  ? void 0
47717
- : editablePackagingEntry.dossierNumber) !== null && _c !== void 0
47718
- ? _c
47864
+ : editablePackagingEntry.dossierNumber) !== null && _b !== void 0
47865
+ ? _b
47719
47866
  : '',
47720
47867
  isOption: false,
47721
47868
  isOffer: false,
@@ -47725,69 +47872,70 @@ var BookPackagingEntry = function (_a) {
47725
47872
  )
47726
47873
  ),
47727
47874
  React__default['default'].createElement('div', { className: 'backdrop', id: 'backdrop' }),
47728
- React__default['default'].createElement(WLSidebar, { activeSearchSeed: activeSearchSeed })
47875
+ React__default['default'].createElement(WLSidebar, { activeSearchSeed: activeSearchSeed, packagingAccoResult: selectedPackagingAccoResult })
47729
47876
  )
47730
47877
  );
47731
47878
  };
47732
47879
 
47733
- var SearchResultsContainer = function () {
47734
- var _a, _b;
47880
+ var SearchResultsContainer = function (_a) {
47881
+ var _b, _c;
47882
+ var onBookingStarted = _a.onBookingStarted;
47735
47883
  var currentSearch = typeof window !== 'undefined' ? window.location.search : '';
47736
47884
  var dispatch = reactRedux.useDispatch();
47737
47885
  var context = React.useContext(SearchResultsConfigurationContext);
47738
- var translations = getTranslations((_a = context === null || context === void 0 ? void 0 : context.languageCode) !== null && _a !== void 0 ? _a : 'en-GB');
47739
- var _c = reactRedux.useSelector(function (state) {
47886
+ var translations = getTranslations((_b = context === null || context === void 0 ? void 0 : context.languageCode) !== null && _b !== void 0 ? _b : 'en-GB');
47887
+ var _d = reactRedux.useSelector(function (state) {
47740
47888
  return state.searchResults;
47741
47889
  }),
47742
- results = _c.results,
47743
- filteredResults = _c.filteredResults,
47744
- packagingAccoResults = _c.packagingAccoResults,
47745
- filteredPackagingAccoResults = _c.filteredPackagingAccoResults,
47746
- isLoading = _c.isLoading,
47747
- flightsLoading = _c.flightsLoading,
47748
- initialFilters = _c.initialFilters,
47749
- filters = _c.filters,
47750
- flightFilters = _c.flightFilters,
47751
- selectedSortType = _c.selectedSortType,
47752
- selectedFlightSortType = _c.selectedFlightSortType,
47753
- selectedSearchResult = _c.selectedSearchResult,
47754
- selectedPackagingAccoResultCode = _c.selectedPackagingAccoResultCode,
47755
- flyInIsOpen = _c.flyInIsOpen,
47756
- packagingAccoSearchDetails = _c.packagingAccoSearchDetails,
47757
- editablePackagingEntry = _c.editablePackagingEntry,
47758
- transactionId = _c.transactionId,
47759
- flyInType = _c.flyInType,
47760
- packagingFlightResults = _c.packagingFlightResults,
47761
- confirmedExcursionsByDay = _c.confirmedExcursionsByDay,
47762
- bookPackagingEntry = _c.bookPackagingEntry;
47890
+ results = _d.results,
47891
+ filteredResults = _d.filteredResults,
47892
+ packagingAccoResults = _d.packagingAccoResults,
47893
+ filteredPackagingAccoResults = _d.filteredPackagingAccoResults,
47894
+ isLoading = _d.isLoading,
47895
+ flightsLoading = _d.flightsLoading,
47896
+ initialFilters = _d.initialFilters,
47897
+ filters = _d.filters,
47898
+ flightFilters = _d.flightFilters,
47899
+ selectedSortType = _d.selectedSortType,
47900
+ selectedFlightSortType = _d.selectedFlightSortType,
47901
+ selectedSearchResult = _d.selectedSearchResult,
47902
+ selectedPackagingAccoResultCode = _d.selectedPackagingAccoResultCode,
47903
+ flyInIsOpen = _d.flyInIsOpen,
47904
+ packagingAccoSearchDetails = _d.packagingAccoSearchDetails,
47905
+ editablePackagingEntry = _d.editablePackagingEntry,
47906
+ transactionId = _d.transactionId,
47907
+ flyInType = _d.flyInType,
47908
+ packagingFlightResults = _d.packagingFlightResults,
47909
+ confirmedExcursionsByDay = _d.confirmedExcursionsByDay,
47910
+ bookPackagingEntry = _d.bookPackagingEntry;
47763
47911
  var isMobile = useMediaQuery('(max-width: 1200px)');
47764
- var _d = React.useState(false),
47765
- initialFiltersSet = _d[0],
47766
- setInitialFiltersSet = _d[1];
47767
47912
  var _e = React.useState(false),
47768
- initialFlightFiltersSet = _e[0],
47769
- setInitialFlightFiltersSet = _e[1];
47913
+ initialFiltersSet = _e[0],
47914
+ setInitialFiltersSet = _e[1];
47770
47915
  var _f = React.useState(false),
47771
- filtersOpen = _f[0],
47772
- setFiltersOpen = _f[1];
47916
+ initialFlightFiltersSet = _f[0],
47917
+ setInitialFlightFiltersSet = _f[1];
47773
47918
  var _g = React.useState(false),
47774
- detailsIsLoading = _g[0],
47775
- setDetailsIsLoading = _g[1];
47919
+ filtersOpen = _g[0],
47920
+ setFiltersOpen = _g[1];
47776
47921
  var _h = React.useState(false),
47777
- pricesAreLoading = _h[0],
47778
- setPricesAreLoading = _h[1];
47922
+ detailsIsLoading = _h[0],
47923
+ setDetailsIsLoading = _h[1];
47779
47924
  var _j = React.useState(false),
47780
- itineraryIsLoading = _j[0],
47781
- setItineraryIsLoading = _j[1];
47925
+ pricesAreLoading = _j[0],
47926
+ setPricesAreLoading = _j[1];
47782
47927
  var _k = React.useState(false),
47783
- itineraryOpen = _k[0],
47784
- setItineraryOpen = _k[1];
47928
+ itineraryIsLoading = _k[0],
47929
+ setItineraryIsLoading = _k[1];
47785
47930
  var _l = React.useState(false),
47786
- isBookingConfirmation = _l[0],
47787
- setIsBookingConfirmation = _l[1];
47788
- var _m = React.useState(null),
47789
- selectedAccommodationSeed = _m[0],
47790
- setSelectedAccommodationSeed = _m[1];
47931
+ itineraryOpen = _l[0],
47932
+ setItineraryOpen = _l[1];
47933
+ var _m = React.useState(false),
47934
+ isBookingConfirmation = _m[0],
47935
+ setIsBookingConfirmation = _m[1];
47936
+ var _o = React.useState(null),
47937
+ selectedAccommodationSeed = _o[0],
47938
+ setSelectedAccommodationSeed = _o[1];
47791
47939
  var skipInitialPackagingAccoDetailsRef = React.useRef(false);
47792
47940
  var panelRef = React.useRef(null);
47793
47941
  var sortByTypes = [
@@ -47972,14 +48120,14 @@ var SearchResultsContainer = function () {
47972
48120
  return x.pax;
47973
48121
  })
47974
48122
  .filter(function (x) {
47975
- return x.age >= 18;
48123
+ return x.age >= 12;
47976
48124
  }).length;
47977
48125
  var kids = seed.rooms
47978
48126
  .flatMap(function (x) {
47979
48127
  return x.pax;
47980
48128
  })
47981
48129
  .filter(function (x) {
47982
- return x.age >= 2 && x.age < 18;
48130
+ return x.age >= 2 && x.age < 12;
47983
48131
  }).length;
47984
48132
  var babies = seed.rooms
47985
48133
  .flatMap(function (x) {
@@ -48523,7 +48671,7 @@ var SearchResultsContainer = function () {
48523
48671
  context === null || context === void 0 ? void 0 : context.searchConfiguration.qsmType,
48524
48672
  context === null || context === void 0 ? void 0 : context.searchConfiguration.enableManualPackaging,
48525
48673
  context === null || context === void 0 ? void 0 : context.searchConfiguration.allowAccommodations,
48526
- (_b = context === null || context === void 0 ? void 0 : context.packagingEntry) === null || _b === void 0 ? void 0 : _b.transactionId,
48674
+ (_c = context === null || context === void 0 ? void 0 : context.packagingEntry) === null || _c === void 0 ? void 0 : _c.transactionId,
48527
48675
  activeSearchSeed
48528
48676
  ]
48529
48677
  );
@@ -48543,6 +48691,14 @@ var SearchResultsContainer = function () {
48543
48691
  },
48544
48692
  [context === null || context === void 0 ? void 0 : context.packagingEntry]
48545
48693
  );
48694
+ React.useEffect(
48695
+ function () {
48696
+ if (bookPackagingEntry && onBookingStarted) {
48697
+ onBookingStarted();
48698
+ }
48699
+ },
48700
+ [bookPackagingEntry, onBookingStarted]
48701
+ );
48546
48702
  // separate detailsCall
48547
48703
  React.useEffect(
48548
48704
  function () {
@@ -49257,9 +49413,10 @@ var SearchResultsContainer = function () {
49257
49413
  var id = paxId++;
49258
49414
  pax.push({
49259
49415
  id: id,
49260
- firstName: '',
49261
- lastName: '',
49262
- dateOfBirth: null,
49416
+ firstName: _.firstName || '',
49417
+ lastName: _.lastName || '',
49418
+ dateOfBirth: _.dateOfBirth || null,
49419
+ age: _.age || null,
49263
49420
  isMainBooker: roomIndex === 0 && paxIndex === 0
49264
49421
  });
49265
49422
  return id;
@@ -49296,7 +49453,11 @@ var SearchResultsContainer = function () {
49296
49453
  'div',
49297
49454
  { className: 'search' },
49298
49455
  bookPackagingEntry
49299
- ? React__default['default'].createElement(BookPackagingEntry, { activeSearchSeed: activeSearchSeed, isConfirmationPage: isBookingConfirmation })
49456
+ ? React__default['default'].createElement(BookPackagingEntry, {
49457
+ activeSearchSeed: activeSearchSeed,
49458
+ isLoading: itineraryIsLoading || pricesAreLoading,
49459
+ isConfirmationPage: isBookingConfirmation
49460
+ })
49300
49461
  : React__default['default'].createElement(
49301
49462
  'div',
49302
49463
  { className: 'search__container' },
@@ -49670,7 +49831,8 @@ var createSearchResultsStore = function () {
49670
49831
  };
49671
49832
 
49672
49833
  var SearchResults = function (_a) {
49673
- var configuration = _a.configuration;
49834
+ var configuration = _a.configuration,
49835
+ onBookingStarted = _a.onBookingStarted;
49674
49836
  var store = React__default['default'].useMemo(function () {
49675
49837
  return createSearchResultsStore();
49676
49838
  }, []);
@@ -49680,7 +49842,7 @@ var SearchResults = function (_a) {
49680
49842
  React__default['default'].createElement(
49681
49843
  SearchResultsConfigurationContext.Provider,
49682
49844
  { value: configuration },
49683
- React__default['default'].createElement(SearchResultsContainer, null)
49845
+ React__default['default'].createElement(SearchResultsContainer, { onBookingStarted: onBookingStarted })
49684
49846
  )
49685
49847
  );
49686
49848
  };