@qite/tide-booking-component 1.2.4 → 1.2.5

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 (137) hide show
  1. package/.vs/ProjectSettings.json +3 -3
  2. package/.vs/VSWorkspaceState.json +5 -5
  3. package/README.md +8 -8
  4. package/build/build-cjs/booking-wizard/features/flight-options/flight-option-flight.d.ts +1 -1
  5. package/build/build-cjs/booking-wizard/features/flight-options/flight-option.d.ts +1 -1
  6. package/build/build-cjs/booking-wizard/types.d.ts +6 -0
  7. package/build/build-cjs/index.js +1200 -713
  8. package/build/build-cjs/shared/utils/localization-util.d.ts +1 -0
  9. package/build/build-esm/booking-wizard/features/flight-options/flight-option-flight.d.ts +1 -1
  10. package/build/build-esm/booking-wizard/features/flight-options/flight-option.d.ts +1 -1
  11. package/build/build-esm/booking-wizard/types.d.ts +6 -0
  12. package/build/build-esm/index.js +1201 -714
  13. package/build/build-esm/shared/utils/localization-util.d.ts +1 -0
  14. package/package.json +75 -77
  15. package/rollup.config.js +23 -23
  16. package/src/booking-product/components/age-select.tsx +35 -41
  17. package/src/booking-product/components/amount-input.tsx +78 -64
  18. package/src/booking-product/components/date-range-picker/calendar-day.tsx +58 -54
  19. package/src/booking-product/components/date-range-picker/calendar.tsx +178 -176
  20. package/src/booking-product/components/date-range-picker/index.tsx +196 -181
  21. package/src/booking-product/components/dates.tsx +136 -132
  22. package/src/booking-product/components/footer.tsx +69 -70
  23. package/src/booking-product/components/header.tsx +79 -68
  24. package/src/booking-product/components/icon.tsx +251 -208
  25. package/src/booking-product/components/product.tsx +314 -281
  26. package/src/booking-product/components/rating.tsx +21 -21
  27. package/src/booking-product/components/rooms.tsx +195 -180
  28. package/src/booking-product/index.tsx +30 -30
  29. package/src/booking-product/settings-context.ts +14 -14
  30. package/src/booking-product/types.ts +28 -28
  31. package/src/booking-product/utils/api.ts +25 -25
  32. package/src/booking-product/utils/price.ts +29 -27
  33. package/src/booking-wizard/api-settings-slice.ts +24 -24
  34. package/src/booking-wizard/components/icon.tsx +508 -309
  35. package/src/booking-wizard/components/labeled-input.tsx +64 -64
  36. package/src/booking-wizard/components/labeled-select.tsx +69 -69
  37. package/src/booking-wizard/components/message.tsx +34 -34
  38. package/src/booking-wizard/components/multi-range-filter.tsx +113 -113
  39. package/src/booking-wizard/components/product-card.tsx +37 -37
  40. package/src/booking-wizard/components/step-indicator.tsx +51 -51
  41. package/src/booking-wizard/components/step-route.tsx +27 -27
  42. package/src/booking-wizard/declarations.d.ts +4 -4
  43. package/src/booking-wizard/features/booking/api.ts +49 -45
  44. package/src/booking-wizard/features/booking/booking-self-contained.tsx +384 -357
  45. package/src/booking-wizard/features/booking/booking-slice.ts +662 -603
  46. package/src/booking-wizard/features/booking/booking.tsx +356 -349
  47. package/src/booking-wizard/features/booking/constants.ts +16 -16
  48. package/src/booking-wizard/features/booking/selectors.ts +441 -418
  49. package/src/booking-wizard/features/confirmation/confirmation.tsx +97 -94
  50. package/src/booking-wizard/features/error/error.tsx +78 -75
  51. package/src/booking-wizard/features/flight-options/flight-filter.tsx +432 -357
  52. package/src/booking-wizard/features/flight-options/flight-option-flight.tsx +385 -353
  53. package/src/booking-wizard/features/flight-options/flight-option-modal.tsx +229 -214
  54. package/src/booking-wizard/features/flight-options/flight-option.tsx +81 -66
  55. package/src/booking-wizard/features/flight-options/flight-utils.ts +516 -401
  56. package/src/booking-wizard/features/flight-options/index.tsx +196 -177
  57. package/src/booking-wizard/features/price-details/price-details-api.ts +24 -24
  58. package/src/booking-wizard/features/price-details/price-details-slice.ts +178 -171
  59. package/src/booking-wizard/features/price-details/util.ts +155 -155
  60. package/src/booking-wizard/features/product-options/no-options.tsx +21 -21
  61. package/src/booking-wizard/features/product-options/none-option.tsx +120 -120
  62. package/src/booking-wizard/features/product-options/option-booking-airline-group.tsx +64 -66
  63. package/src/booking-wizard/features/product-options/option-booking-group.tsx +216 -210
  64. package/src/booking-wizard/features/product-options/option-item.tsx +317 -318
  65. package/src/booking-wizard/features/product-options/option-pax-card.tsx +201 -188
  66. package/src/booking-wizard/features/product-options/option-pax-group.tsx +175 -169
  67. package/src/booking-wizard/features/product-options/option-room.tsx +321 -314
  68. package/src/booking-wizard/features/product-options/option-unit-group.tsx +198 -192
  69. package/src/booking-wizard/features/product-options/option-units-card.tsx +185 -174
  70. package/src/booking-wizard/features/product-options/options-form.tsx +459 -437
  71. package/src/booking-wizard/features/room-options/index.tsx +187 -172
  72. package/src/booking-wizard/features/room-options/room-utils.ts +190 -143
  73. package/src/booking-wizard/features/room-options/room.tsx +160 -124
  74. package/src/booking-wizard/features/room-options/traveler-rooms.tsx +75 -63
  75. package/src/booking-wizard/features/sidebar/index.tsx +76 -76
  76. package/src/booking-wizard/features/sidebar/sidebar-flight.tsx +68 -68
  77. package/src/booking-wizard/features/sidebar/sidebar-util.ts +177 -177
  78. package/src/booking-wizard/features/sidebar/sidebar.tsx +364 -346
  79. package/src/booking-wizard/features/summary/summary-booking-option-pax.tsx +25 -25
  80. package/src/booking-wizard/features/summary/summary-booking-option-unit.tsx +25 -25
  81. package/src/booking-wizard/features/summary/summary-flight.tsx +39 -39
  82. package/src/booking-wizard/features/summary/summary-per-booking-option-group.tsx +69 -57
  83. package/src/booking-wizard/features/summary/summary-per-pax-option-group.tsx +63 -51
  84. package/src/booking-wizard/features/summary/summary-per-unit-option-group.tsx +66 -54
  85. package/src/booking-wizard/features/summary/summary-slice.ts +28 -28
  86. package/src/booking-wizard/features/summary/summary.tsx +674 -643
  87. package/src/booking-wizard/features/travelers-form/travelers-form-slice.ts +164 -164
  88. package/src/booking-wizard/features/travelers-form/travelers-form.tsx +754 -755
  89. package/src/booking-wizard/features/travelers-form/type-ahead-input.tsx +101 -101
  90. package/src/booking-wizard/features/travelers-form/validate-form.ts +245 -245
  91. package/src/booking-wizard/index.tsx +36 -36
  92. package/src/booking-wizard/settings-context.ts +60 -60
  93. package/src/booking-wizard/store.ts +31 -31
  94. package/src/booking-wizard/types.ts +276 -271
  95. package/src/index.ts +4 -5
  96. package/src/shared/components/loader.tsx +16 -16
  97. package/src/shared/translations/en-GB.json +232 -0
  98. package/src/shared/translations/fr-BE.json +233 -233
  99. package/src/shared/translations/nl-BE.json +232 -232
  100. package/src/shared/types.ts +4 -4
  101. package/src/shared/utils/class-util.ts +9 -9
  102. package/src/shared/utils/localization-util.ts +62 -56
  103. package/src/shared/utils/query-string-util.ts +119 -116
  104. package/src/shared/utils/tide-api-utils.ts +36 -36
  105. package/styles/booking-product-variables.scss +394 -288
  106. package/styles/booking-product.scss +446 -440
  107. package/styles/booking-wizard-variables.scss +871 -530
  108. package/styles/booking-wizard.scss +59 -26
  109. package/styles/components/_animations.scss +39 -39
  110. package/styles/components/_base.scss +107 -106
  111. package/styles/components/_booking.scss +879 -1409
  112. package/styles/components/_button.scss +238 -185
  113. package/styles/components/_checkbox.scss +219 -215
  114. package/styles/components/_cta.scss +208 -133
  115. package/styles/components/_date-list.scss +41 -0
  116. package/styles/components/_date-range-picker.scss +225 -225
  117. package/styles/components/_decrement-increment.scss +35 -37
  118. package/styles/components/_dropdown.scss +72 -74
  119. package/styles/components/_flight-option.scss +1429 -1389
  120. package/styles/components/_form.scss +1583 -394
  121. package/styles/components/_info-message.scss +71 -0
  122. package/styles/components/_input.scss +25 -0
  123. package/styles/components/_list.scss +187 -82
  124. package/styles/components/_loader.scss +72 -71
  125. package/styles/components/_mixins.scss +550 -530
  126. package/styles/components/_placeholders.scss +166 -166
  127. package/styles/components/_pricing-summary.scss +155 -117
  128. package/styles/components/_qsm.scss +17 -20
  129. package/styles/components/_radiobutton.scss +170 -0
  130. package/styles/components/_select-wrapper.scss +80 -66
  131. package/styles/components/_spinner.scss +29 -0
  132. package/styles/components/_step-indicators.scss +168 -160
  133. package/styles/components/_table.scss +81 -81
  134. package/styles/components/_tree.scss +530 -540
  135. package/styles/components/_typeahead.scss +281 -0
  136. package/styles/components/_variables.scss +89 -89
  137. package/tsconfig.json +24 -24
@@ -60,8 +60,8 @@ function __awaiter$1(thisArg, _arguments, P, generator) {
60
60
  }
61
61
 
62
62
  function __generator$1(thisArg, body) {
63
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
64
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
63
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
64
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
65
65
  function verb(n) { return function (v) { return step([n, v]); }; }
66
66
  function step(op) {
67
67
  if (f) throw new TypeError("Generator is already executing.");
@@ -102,7 +102,7 @@ typeof SuppressedError === "function" ? SuppressedError : function (error, suppr
102
102
  return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
103
103
  };
104
104
 
105
- var STEPS$1 = {
105
+ var STEPS$2 = {
106
106
  PERSONAL_DETAILS: "Coordonnées personnelles",
107
107
  EXTRA_OPTIONS: "Options de voyage",
108
108
  SUMMARY: "Récapitulatif",
@@ -116,11 +116,11 @@ var STEPS$1 = {
116
116
  ROOM_OPTIONS: "Options de chambre",
117
117
  FLIGHT_OPTIONS: "Options de vol"
118
118
  };
119
- var INPUT$1 = {
119
+ var INPUT$2 = {
120
120
  INCREASE: "Augmenter",
121
121
  DECREASE: "Diminuer"
122
122
  };
123
- var FLIGHTS_FORM$1 = {
123
+ var FLIGHTS_FORM$2 = {
124
124
  OUTWARD_FLIGHTS: "Vols aller",
125
125
  OUTWARD_FLIGHT: "Vol aller",
126
126
  RETURN_FLIGHTS: "Vols retour",
@@ -153,7 +153,7 @@ var FLIGHTS_FORM$1 = {
153
153
  FLIGHTS_FOUND_2: "vols",
154
154
  FLIGHTS_FOUND_3: "trouvés"
155
155
  };
156
- var PRODUCT$1 = {
156
+ var PRODUCT$2 = {
157
157
  STAY_INCLUDED: "Séjour inclus",
158
158
  FLIGHT_INCLUDED: "Vol inclus",
159
159
  TRANSFER_INCLUDED: "Transfert inclus",
@@ -177,12 +177,12 @@ var PRODUCT$1 = {
177
177
  TRAVEL_PERIOD: "Période de voyage",
178
178
  CLOSE: "Fermer"
179
179
  };
180
- var MAIN$1 = {
180
+ var MAIN$2 = {
181
181
  PREPARING_BOOKING: "Veuillez patienter, nous préparons votre réservation",
182
182
  PREPARING_OFFER: "Veuillez patienter, nous préparons votre devis",
183
183
  PRODUCT_UNAVAILABLE: "Produit non disponible"
184
184
  };
185
- var SHARED$1 = {
185
+ var SHARED$2 = {
186
186
  ROOM: "Chambre",
187
187
  ROOMS: "Chambres",
188
188
  TOTAL_PRICE: "Prix total",
@@ -191,7 +191,7 @@ var SHARED$1 = {
191
191
  SELECT: "Sélectionner",
192
192
  SELECTED: "Sélectionné"
193
193
  };
194
- var SIDEBAR$1 = {
194
+ var SIDEBAR$2 = {
195
195
  OVERVIEW: "Aperçu",
196
196
  SLIDE_TOTAL_PRICE: "Montant total : ",
197
197
  SLIDE_DEPOSIT: "Acompte à payer : ",
@@ -225,7 +225,7 @@ var SIDEBAR$1 = {
225
225
  ON_REQUEST: "Sur demande",
226
226
  CHANGES: "correspondances"
227
227
  };
228
- var TRAVELERS_FORM$1 = {
228
+ var TRAVELERS_FORM$2 = {
229
229
  TRAVELER: "Voyageur",
230
230
  ADULT: "adulte",
231
231
  ADULTS: "adultes",
@@ -271,7 +271,7 @@ var TRAVELERS_FORM$1 = {
271
271
  AGENT_IS_REQUIRED: "Agent de voyage requis"
272
272
  }
273
273
  };
274
- var OPTIONS_FORM$1 = {
274
+ var OPTIONS_FORM$2 = {
275
275
  NO_OPTIONS_TITLE: "Aucune option",
276
276
  NO_OPTIONS_MESSAGE: "Ce voyage n'a pas d'options supplémentaires.",
277
277
  UNIT_TITLE: "Groupe",
@@ -285,12 +285,12 @@ var OPTIONS_FORM$1 = {
285
285
  PER_UNIT_TITLE: "Sélectionner les options par groupe",
286
286
  NONE: "Aucune"
287
287
  };
288
- var ROOM_OPTIONS_FORM$1 = {
288
+ var ROOM_OPTIONS_FORM$2 = {
289
289
  TRAVELER_GROUP: "Groupe de voyageurs",
290
290
  ALTERNATIVES_TRAVELER_GROUP: "Options de chambre alternatives pour le groupe de voyageurs",
291
291
  SHOW_ALTERNATIVES: "Afficher les options de chambre alternatives"
292
292
  };
293
- var SUMMARY$1 = {
293
+ var SUMMARY$2 = {
294
294
  PERSONAL_DETAILS: "Coordonnées personnelles",
295
295
  TRAVELERS: "voyageurs",
296
296
  TRAVELER: "voyageur",
@@ -311,7 +311,7 @@ var SUMMARY$1 = {
311
311
  VOUCHER_VALID: "Bon valide",
312
312
  VOUCHER_INVALID: "Bon invalide"
313
313
  };
314
- var CONFIRMATION$1 = {
314
+ var CONFIRMATION$2 = {
315
315
  TITLE_TEXT_OFFER: "Votre devis numéro {0} a été demandé",
316
316
  TITLE_TEXT_BOOKING: "Votre réservation avec le numéro {0} est confirmée",
317
317
  MESSAGE_TEXT1: "Votre voyage de rêve est maintenant très proche.",
@@ -323,7 +323,7 @@ var CONFIRMATION$1 = {
323
323
  QUESTIONS_ALT: "Contactez-nous",
324
324
  MAIL_SUBJECT: "Infos réservation"
325
325
  };
326
- var ERROR$1 = {
326
+ var ERROR$2 = {
327
327
  TRY_AGAIN: "Réessayez de réserver",
328
328
  MESSAGE_TEXT1: "Une erreur s'est produite lors de la confirmation de votre voyage.",
329
329
  MESSAGE_TEXT2: "Cliquez ci-dessous pour réessayer.",
@@ -333,22 +333,22 @@ var ERROR$1 = {
333
333
  ERROR_ALT: "Contactez-nous"
334
334
  };
335
335
  var frJson = {
336
- STEPS: STEPS$1,
337
- INPUT: INPUT$1,
338
- FLIGHTS_FORM: FLIGHTS_FORM$1,
339
- PRODUCT: PRODUCT$1,
340
- MAIN: MAIN$1,
341
- SHARED: SHARED$1,
342
- SIDEBAR: SIDEBAR$1,
343
- TRAVELERS_FORM: TRAVELERS_FORM$1,
344
- OPTIONS_FORM: OPTIONS_FORM$1,
345
- ROOM_OPTIONS_FORM: ROOM_OPTIONS_FORM$1,
346
- SUMMARY: SUMMARY$1,
347
- CONFIRMATION: CONFIRMATION$1,
348
- ERROR: ERROR$1
336
+ STEPS: STEPS$2,
337
+ INPUT: INPUT$2,
338
+ FLIGHTS_FORM: FLIGHTS_FORM$2,
339
+ PRODUCT: PRODUCT$2,
340
+ MAIN: MAIN$2,
341
+ SHARED: SHARED$2,
342
+ SIDEBAR: SIDEBAR$2,
343
+ TRAVELERS_FORM: TRAVELERS_FORM$2,
344
+ OPTIONS_FORM: OPTIONS_FORM$2,
345
+ ROOM_OPTIONS_FORM: ROOM_OPTIONS_FORM$2,
346
+ SUMMARY: SUMMARY$2,
347
+ CONFIRMATION: CONFIRMATION$2,
348
+ ERROR: ERROR$2
349
349
  };
350
350
 
351
- var STEPS = {
351
+ var STEPS$1 = {
352
352
  PERSONAL_DETAILS: "Persoonlijke gegevens",
353
353
  EXTRA_OPTIONS: "Extra opties",
354
354
  SUMMARY: "Overzicht",
@@ -362,11 +362,11 @@ var STEPS = {
362
362
  ROOM_OPTIONS: "Kamer opties",
363
363
  FLIGHT_OPTIONS: "Vlucht opties"
364
364
  };
365
- var INPUT = {
365
+ var INPUT$1 = {
366
366
  INCREASE: "Verhogen",
367
367
  DECREASE: "Verminderen"
368
368
  };
369
- var FLIGHTS_FORM = {
369
+ var FLIGHTS_FORM$1 = {
370
370
  OUTWARD_FLIGHTS: "Heenvluchten",
371
371
  OUTWARD_FLIGHT: "Heenvlucht",
372
372
  RETURN_FLIGHTS: "Retourvluchten",
@@ -399,7 +399,7 @@ var FLIGHTS_FORM = {
399
399
  FLIGHTS_FOUND_2: "vluchten",
400
400
  FLIGHTS_FOUND_3: "gevonden"
401
401
  };
402
- var PRODUCT = {
402
+ var PRODUCT$1 = {
403
403
  STAY_INCLUDED: "Inclusief verblijf",
404
404
  FLIGHT_INCLUDED: "Inclusief vlucht",
405
405
  TRANSFER_INCLUDED: "Inclusief transfer",
@@ -423,12 +423,12 @@ var PRODUCT = {
423
423
  TRAVEL_PERIOD: "Reisperiode",
424
424
  CLOSE: "Sluiten"
425
425
  };
426
- var MAIN = {
426
+ var MAIN$1 = {
427
427
  PREPARING_BOOKING: "Even geduld, we bereiden uw boeking voor",
428
428
  PREPARING_OFFER: "Even geduld, we bereiden uw offerte voor",
429
429
  PRODUCT_UNAVAILABLE: "Product niet beschikbaar"
430
430
  };
431
- var SHARED = {
431
+ var SHARED$1 = {
432
432
  ROOM: "Kamer",
433
433
  ROOMS: "Kamers",
434
434
  TOTAL_PRICE: "Totale prijs",
@@ -437,7 +437,7 @@ var SHARED = {
437
437
  SELECT: "Selecteer",
438
438
  SELECTED: "Geselecteerd"
439
439
  };
440
- var SIDEBAR = {
440
+ var SIDEBAR$1 = {
441
441
  OVERVIEW: "Overzicht",
442
442
  SLIDE_TOTAL_PRICE: "Totaalbedrag: ",
443
443
  SLIDE_DEPOSIT: "Te betalen voorschot: ",
@@ -471,7 +471,7 @@ var SIDEBAR = {
471
471
  ON_REQUEST: "Op aanvraag",
472
472
  CHANGES: "overstappen"
473
473
  };
474
- var TRAVELERS_FORM = {
474
+ var TRAVELERS_FORM$1 = {
475
475
  TRAVELER: "Reiziger",
476
476
  ADULT: "volwassene",
477
477
  ADULTS: "volwassenen",
@@ -517,7 +517,7 @@ var TRAVELERS_FORM = {
517
517
  AGENT_IS_REQUIRED: "Reisagent is verplicht"
518
518
  }
519
519
  };
520
- var OPTIONS_FORM = {
520
+ var OPTIONS_FORM$1 = {
521
521
  NO_OPTIONS_TITLE: "Geen opties",
522
522
  NO_OPTIONS_MESSAGE: "Deze reis heeft geen bijkomende opties.",
523
523
  UNIT_TITLE: "Gezelschap",
@@ -531,12 +531,12 @@ var OPTIONS_FORM = {
531
531
  PER_UNIT_TITLE: "Opties per gezelschap selecteren",
532
532
  NONE: "Geen"
533
533
  };
534
- var ROOM_OPTIONS_FORM = {
534
+ var ROOM_OPTIONS_FORM$1 = {
535
535
  TRAVELER_GROUP: "Reisgezelschap",
536
536
  ALTERNATIVES_TRAVELER_GROUP: "Alternatieve kameropties voor reisgezelschap",
537
537
  SHOW_ALTERNATIVES: "Toon alternatieve kameropties"
538
538
  };
539
- var SUMMARY = {
539
+ var SUMMARY$1 = {
540
540
  PERSONAL_DETAILS: "Persoonlijke gegevens",
541
541
  TRAVELERS: "reizigers",
542
542
  TRAVELER: "reiziger",
@@ -557,7 +557,7 @@ var SUMMARY = {
557
557
  VOUCHER_VALID: "Voucher is geldig",
558
558
  VOUCHER_INVALID: "Voucher is niet geldig"
559
559
  };
560
- var CONFIRMATION = {
560
+ var CONFIRMATION$1 = {
561
561
  TITLE_TEXT_OFFER: "Je offerte met nummer {0} is aangevraagd",
562
562
  TITLE_TEXT_BOOKING: "Je boeking met nummer {0} is bevestigd",
563
563
  MESSAGE_TEXT1: "Jouw droomreis komt nu heel dichtbij.",
@@ -569,7 +569,7 @@ var CONFIRMATION = {
569
569
  QUESTIONS_ALT: "Contacteer ons",
570
570
  MAIL_SUBJECT: "Boeking info"
571
571
  };
572
- var ERROR = {
572
+ var ERROR$1 = {
573
573
  TRY_AGAIN: "Probeer opnieuw te boeken",
574
574
  MESSAGE_TEXT1: "Tijdens het bevestigen van uw reis is er iets misgelopen.",
575
575
  MESSAGE_TEXT2: "Klik hieronder om nog eens te proberen.",
@@ -579,6 +579,252 @@ var ERROR = {
579
579
  ERROR_ALT: "Contacteer ons"
580
580
  };
581
581
  var nlJson = {
582
+ STEPS: STEPS$1,
583
+ INPUT: INPUT$1,
584
+ FLIGHTS_FORM: FLIGHTS_FORM$1,
585
+ PRODUCT: PRODUCT$1,
586
+ MAIN: MAIN$1,
587
+ SHARED: SHARED$1,
588
+ SIDEBAR: SIDEBAR$1,
589
+ TRAVELERS_FORM: TRAVELERS_FORM$1,
590
+ OPTIONS_FORM: OPTIONS_FORM$1,
591
+ ROOM_OPTIONS_FORM: ROOM_OPTIONS_FORM$1,
592
+ SUMMARY: SUMMARY$1,
593
+ CONFIRMATION: CONFIRMATION$1,
594
+ ERROR: ERROR$1
595
+ };
596
+
597
+ var STEPS = {
598
+ PERSONAL_DETAILS: "Personal details",
599
+ EXTRA_OPTIONS: "Extra options",
600
+ SUMMARY: "Summary",
601
+ CONFIRMATION: "Confirmation",
602
+ ERROR: "Booking failed",
603
+ PREVIOUS: "Previous step",
604
+ NEXT: "Next step",
605
+ SUBMIT_BOOKING: "Confirm booking",
606
+ SUBMIT_OFFER: "Request quote",
607
+ COMPOSE: "Compose",
608
+ ROOM_OPTIONS: "Room options",
609
+ FLIGHT_OPTIONS: "Flight options"
610
+ };
611
+ var INPUT = {
612
+ INCREASE: "Increase",
613
+ DECREASE: "Decrease"
614
+ };
615
+ var FLIGHTS_FORM = {
616
+ OUTWARD_FLIGHTS: "Outbound flights",
617
+ OUTWARD_FLIGHT: "Outbound flight",
618
+ RETURN_FLIGHTS: "Return flights",
619
+ RETURN_FLIGHT: "Return flight",
620
+ DIRECT_FLIGHT: "Direct flight",
621
+ STOP: "stop",
622
+ STOPS: "stops",
623
+ FLIGHT_STOPS: "stop(s)",
624
+ DIFFERENT_OPTION_WARNING: "Warning: This flight changes the duration of the stay.",
625
+ FILTER_OPTIONS: "Filter options",
626
+ AIRLINES: "Airlines",
627
+ AIRPORTS: "Airports",
628
+ NUMBER_OF_STOPS: "Number of stops",
629
+ FLIGHT_OUTWARD: "Outbound flight",
630
+ DEPARTURE_TIME: "Departure time",
631
+ TRAVEL_DURATION: "Travel duration",
632
+ CHANGE_TIME: "Change time",
633
+ FLIGHT_RETURN: "Return flight",
634
+ NO_FLIGHTS_FOUND: "No flights found.",
635
+ STARTING: "Starting from",
636
+ LOWEST_PRICE: "Lowest price",
637
+ CHOOSE_YOUR_CLASS: "Choose your class:",
638
+ PLUS_ONE_DAY: "+1 day",
639
+ STOP_TIME: "Change time",
640
+ NIGHT_DEPARTURE: "Night (00:00 - 05:00)",
641
+ MORNING_DEPARTURE: "Morning (05:00 - 12:00)",
642
+ AFTERNOON_DEPARTURE: "Afternoon (12:00 - 18:00)",
643
+ EVENING_DEPARTURE: "Evening (18:00 - 00:00)",
644
+ FLIGHTS_FOUND_1: "",
645
+ FLIGHTS_FOUND_2: "flights",
646
+ FLIGHTS_FOUND_3: "found"
647
+ };
648
+ var PRODUCT = {
649
+ STAY_INCLUDED: "Stay included",
650
+ FLIGHT_INCLUDED: "Flight included",
651
+ TRANSFER_INCLUDED: "Transfer included",
652
+ LOADING_PRICE: "Your price is being composed.",
653
+ PER_PERSON: "Per person",
654
+ PER_NIGHT: "Per night",
655
+ PER_PERSON_PER_NIGHT: "Per person / per night",
656
+ BOOK_NOW: "Book now",
657
+ TO_YOUR_OFFER: "To your quote",
658
+ NOT_AVAILABLE: "Not available",
659
+ NUMBER_OF_ROOMS: "Number of rooms",
660
+ AGE_BY_DEPARTURE_DATE: "Age of children on departure date",
661
+ YEAR: "Year",
662
+ APPLY: "Apply",
663
+ EDIT: "Edit",
664
+ DEPARTURE: "Departure",
665
+ DEPARTURE_DATE: "Departure date",
666
+ RETURN: "Return",
667
+ RETURN_DATE: "Return date",
668
+ WHO_YOU_TRAVELING_WITH: "Who are you traveling with?",
669
+ TRAVEL_PERIOD: "Travel period",
670
+ CLOSE: "Close"
671
+ };
672
+ var MAIN = {
673
+ PREPARING_BOOKING: "Please wait, we are preparing your booking",
674
+ PREPARING_OFFER: "Please wait, we are preparing your quote",
675
+ PRODUCT_UNAVAILABLE: "Product not available"
676
+ };
677
+ var SHARED = {
678
+ ROOM: "Room",
679
+ ROOMS: "Rooms",
680
+ TOTAL_PRICE: "Total price",
681
+ ADULTS: "Adults",
682
+ CHILDREN: "Children",
683
+ SELECT: "Select",
684
+ SELECTED: "Selected"
685
+ };
686
+ var SIDEBAR = {
687
+ OVERVIEW: "Summary",
688
+ SLIDE_TOTAL_PRICE: "Total amount: ",
689
+ SLIDE_DEPOSIT: "Deposit to be paid: ",
690
+ TRAVEL_INFO: "Travel information",
691
+ TRAVELERS: "Travelers",
692
+ TRAVELERS_ADULTS: "adults",
693
+ TRAVELERS_ADULT: "adult",
694
+ TRAVELERS_CHILDREN: "children",
695
+ TRAVELERS_CHILD: "child",
696
+ DEPARTURE: "Outbound",
697
+ DEPARTURE_SINGLE: "Date",
698
+ ARRIVAL: "Return",
699
+ FLIGHT: "Flight",
700
+ ACCOMMODATION: "Accommodation booked",
701
+ BASE_PRICE: "Base price",
702
+ OPTIONS: "Options",
703
+ INCLUDED_COSTS: "Included costs",
704
+ EXTRA_COSTS: "Additional costs",
705
+ DEPOSIT: "Deposit to be paid",
706
+ DEPOSIT_TEXT1: "The steps for the ",
707
+ DEPOSIT_TEXT2: "remaining balance",
708
+ DEPOSIT_TEXT3: " of ",
709
+ DEPOSIT_TEXT4: " are described in ",
710
+ DEPOSIT_TEXT5: "step 3 (\"summary\")",
711
+ DEPOSIT_TEXT6: " of the booking process.",
712
+ LUGGAGE_INCLUDED: "Luggage included",
713
+ DEPARTURE_FLIGHT: "Outbound flight",
714
+ ARRIVAL_FLIGHT: "Return flight",
715
+ FLIGHT_DEPARTURE: "Departure",
716
+ FLIGHT_ARRIVAL: "Arrival",
717
+ ON_REQUEST: "On request",
718
+ CHANGES: "transfers"
719
+ };
720
+ var TRAVELERS_FORM = {
721
+ TRAVELER: "Traveler",
722
+ ADULT: "adult",
723
+ ADULTS: "adults",
724
+ CHILD: "child",
725
+ CHILDREN: "children",
726
+ GENDER: "Salutation",
727
+ MALE: "Mr.",
728
+ FEMALE: "Mrs.",
729
+ OTHER: "Other",
730
+ MAIN_BOOKER: "Main booker",
731
+ FIRST_NAME: "First name",
732
+ LAST_NAME: "Last name",
733
+ BIRTHDATE: "Date of birth",
734
+ STREET: "Street",
735
+ STREET_PLACEHOLDER: "Your street",
736
+ HOUSE_NUMBER: "House number",
737
+ POST_BOX: "Box",
738
+ ZIPCODE: "Postal code",
739
+ CITY: "City",
740
+ CITY_PLACEHOLDER: "City",
741
+ COUNTRY: "Country",
742
+ SELECT_COUNTRY: "Select country",
743
+ PHONE: "Phone number",
744
+ EMAIL: "Email",
745
+ REPEAT_EMAIL: "Repeat email",
746
+ VALIDATION_MESSAGE: "Please check the fields below and fill them in correctly.",
747
+ BOOK_WITH_AGENT: "I want to book through my local travel agent",
748
+ CHOOSE_OFFICE: "I choose an office",
749
+ COUNTRIES: {
750
+ BELGIUM: "Belgium",
751
+ NETHERLANDS: "Netherlands",
752
+ FRANCE: "France"
753
+ },
754
+ CHOOSE_AGENT_PLACEHOLDER: "Choose your travel agent",
755
+ VALIDATION: {
756
+ TRAVELER_X_FIELD: "Room {0} - Traveler {1}: {2}",
757
+ TRAVELER_X_IS_NO_ADULT: "Room {0} - Traveler {1}: is not an adult",
758
+ TRAVELER_X_IS_NO_CHILD: "Room {0} - Traveler {1}: is not a child",
759
+ NO_MAIN_BOOKER_SELECTED: "No main booker has been selected",
760
+ MAIN_BOOKER_FIELD: "Main booker: {0}",
761
+ MAIN_BOOKER_EMAIL_IS_INVALID: "Main booker: email is invalid",
762
+ MAIN_BOOKER_EMAIL_DOES_NOT_MATCH: "Main booker: email does not match",
763
+ AGENT_IS_REQUIRED: "Travel agent is required"
764
+ }
765
+ };
766
+ var OPTIONS_FORM = {
767
+ NO_OPTIONS_TITLE: "No options",
768
+ NO_OPTIONS_MESSAGE: "This trip has no additional options.",
769
+ UNIT_TITLE: "Party",
770
+ PACKAGE: "Package",
771
+ DAY: "day",
772
+ DAYS: "days",
773
+ NIGHT: "night",
774
+ NIGHTS: "nights",
775
+ PER_PAX_TITLE: "Select options per traveler",
776
+ PER_BOOKING_TITLE: "Select options per booking",
777
+ PER_UNIT_TITLE: "Select options per party",
778
+ NONE: "None"
779
+ };
780
+ var ROOM_OPTIONS_FORM = {
781
+ TRAVELER_GROUP: "Travel party",
782
+ ALTERNATIVES_TRAVELER_GROUP: "Alternative room options for travel party",
783
+ SHOW_ALTERNATIVES: "Show alternative room options"
784
+ };
785
+ var SUMMARY = {
786
+ PERSONAL_DETAILS: "Personal details",
787
+ TRAVELERS: "travelers",
788
+ TRAVELER: "traveler",
789
+ ADULTS: "adults",
790
+ ADULT: "adult",
791
+ CHILDREN: "children",
792
+ CHILD: "child",
793
+ MAIN_BOOKER: "Main booker",
794
+ NOTIFICATIONS_TITLE: "Attention",
795
+ VALIDATE_TITLE: "Check your information",
796
+ VALIDATE_TEXT_BOOKING: "You are about to confirm your booking. Please check that all information is correct and that names are exactly as shown on your ID or passport. This information is final and cannot be changed.",
797
+ VALIDATE_TEXT_OFFER: "You are about to request a quote. Please check that all information is correct and that names are exactly as shown on your ID or passport. This helps us avoid problems if you book later.",
798
+ OPTIONS: "Options",
799
+ REMARKS: "Remarks",
800
+ VOUCHERS: "Vouchers",
801
+ VOUCHER_VALIDATE: "Validate voucher",
802
+ ADD_VOUCHER: "Add voucher",
803
+ VOUCHER_VALID: "Voucher is valid",
804
+ VOUCHER_INVALID: "Voucher is not valid"
805
+ };
806
+ var CONFIRMATION = {
807
+ TITLE_TEXT_OFFER: "Your quote with number {0} has been requested",
808
+ TITLE_TEXT_BOOKING: "Your booking with number {0} has been confirmed",
809
+ MESSAGE_TEXT1: "Your dream trip is now very close.",
810
+ MESSAGE_TEXT2_OFFER: "Our travel specialists are processing your request and will contact you within 48 hours.",
811
+ MESSAGE_TEXT2_BOOKING: "Our travel specialists are processing your booking and will contact you within 48 hours.",
812
+ QUESTIONS_TEXT1: "Do you have any questions? ",
813
+ QUESTIONS_TEXT2: "Let us know",
814
+ QUESTIONS_TEXT3: ".",
815
+ QUESTIONS_ALT: "Contact us",
816
+ MAIL_SUBJECT: "Booking info"
817
+ };
818
+ var ERROR = {
819
+ TRY_AGAIN: "Try booking again",
820
+ MESSAGE_TEXT1: "Something went wrong while confirming your trip.",
821
+ MESSAGE_TEXT2: "Click below to try again.",
822
+ ERROR_TEXT1: "Still not working? ",
823
+ ERROR_TEXT2: "Be sure to let us know",
824
+ ERROR_TEXT3: ".",
825
+ ERROR_ALT: "Contact us"
826
+ };
827
+ var enJson = {
582
828
  STEPS: STEPS,
583
829
  INPUT: INPUT,
584
830
  FLIGHTS_FORM: FLIGHTS_FORM,
@@ -610,6 +856,8 @@ var getTranslations = function (language) {
610
856
  return nlJson;
611
857
  case "fr-BE":
612
858
  return frJson;
859
+ case "en-GB":
860
+ return enJson;
613
861
  default:
614
862
  throw new Error("The language '".concat(language, "' is not yet supported."));
615
863
  }
@@ -617,6 +865,7 @@ var getTranslations = function (language) {
617
865
  var locales = {
618
866
  "nl-BE": locale.nlBE,
619
867
  "fr-BE": locale.fr,
868
+ "en-GB": locale.enGB,
620
869
  };
621
870
  function getLocale(code) {
622
871
  switch (code) {
@@ -624,6 +873,8 @@ function getLocale(code) {
624
873
  return locales[code];
625
874
  case "fr-BE":
626
875
  return locales[code];
876
+ case "en-GB":
877
+ return locales[code];
627
878
  default:
628
879
  return locales["nl-BE"];
629
880
  }
@@ -711,8 +962,8 @@ var SettingsContext$1 = React__default["default"].createContext({
711
962
  officeId: 1,
712
963
  catalogueId: 1,
713
964
  language: "nl-BE",
714
- basePath: 'boeken',
715
- priceMode: 0
965
+ basePath: "boeken",
966
+ priceMode: 0,
716
967
  });
717
968
 
718
969
  var commonjsGlobal$1 = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
@@ -6796,6 +7047,9 @@ var post = function (
6796
7047
  return [4 /*yield*/, response.text()];
6797
7048
  case 2:
6798
7049
  responseBody = _a.sent();
7050
+ if (!responseBody) {
7051
+ return [2 /*return*/, null];
7052
+ }
6799
7053
  result = skipReviver
6800
7054
  ? JSON.parse(responseBody)
6801
7055
  : JSON.parse(responseBody, reviver);
@@ -6827,6 +7081,9 @@ var patch = function (
6827
7081
  return [4 /*yield*/, response.text()];
6828
7082
  case 2:
6829
7083
  responseBody = _a.sent();
7084
+ if (!responseBody) {
7085
+ return [2 /*return*/, {}];
7086
+ }
6830
7087
  result = skipReviver
6831
7088
  ? JSON.parse(responseBody)
6832
7089
  : JSON.parse(responseBody, reviver);
@@ -7084,6 +7341,7 @@ var getMolliePayment = function (config, request, signal) {
7084
7341
 
7085
7342
  var ENDPOINT$4 = "/api/web/search";
7086
7343
  var ENDPOINT_COUNTRIES = ENDPOINT$4 + "/countries";
7344
+ var ENDPOINT_AIRPORTS = ENDPOINT$4 + "/airports";
7087
7345
  /**
7088
7346
  * api/search/countries
7089
7347
  * Gets all Countries
@@ -7096,6 +7354,11 @@ var getCountries = function (config, signal) {
7096
7354
  var apiKey = config.apiKey;
7097
7355
  return get(url, apiKey, config.token, signal, true);
7098
7356
  };
7357
+ var getAirports = function (config, signal) {
7358
+ var url = "" + config.host + ENDPOINT_AIRPORTS;
7359
+ var apiKey = config.apiKey;
7360
+ return get(url, apiKey, config.token, signal, true);
7361
+ };
7099
7362
 
7100
7363
  var createParams = function (filter, all, gridColumns, mode, forceToLower) {
7101
7364
  var params = {};
@@ -7339,6 +7602,7 @@ var changeEntryAgentSurcharge = function (config, request, signal) {
7339
7602
 
7340
7603
  var ENDPOINT$2 = "/api/web";
7341
7604
  var ENDPOINT_CREATE_CRM_CONTACT = ENDPOINT$2 + "/crmcontact";
7605
+ var ENDPOINT_CONTACT_FORM$1 = ENDPOINT$2 + "/contactform";
7342
7606
  var ENDPOINT_CREATE_AFFILIATES = ENDPOINT$2 + "/affiliates";
7343
7607
  var ENDPOINT_TRANSLATION_DICTIONARY = ENDPOINT$2 + "/translation-dictionary";
7344
7608
  var ENDPOINT_BOOKING_ACCOMMODATION = ENDPOINT$2 + "/booking-accommodation";
@@ -7356,6 +7620,20 @@ var createCrmContact = function (config, request, signal) {
7356
7620
  var body = JSON.stringify(request);
7357
7621
  return post(url, apiKey, body, config.token, signal);
7358
7622
  };
7623
+ /**
7624
+ * api/web/contactform
7625
+ * Sends a contact request mail
7626
+ * @param config
7627
+ * @param request
7628
+ * @param signal
7629
+ * @returns OK if succeeded.
7630
+ */
7631
+ var ContactForm = function (config, request, signal) {
7632
+ var url = "" + config.host + ENDPOINT_CONTACT_FORM$1;
7633
+ var apiKey = config.apiKey;
7634
+ var body = JSON.stringify(request);
7635
+ return post(url, apiKey, body, config.token, signal, true);
7636
+ };
7359
7637
  /**
7360
7638
  * api/web/affiliates
7361
7639
  * Gets all Affiliates
@@ -7437,6 +7715,7 @@ var feedXmlFolder = function (config, slug, folder, signal) {
7437
7715
 
7438
7716
  build.AllotmentType = AllotmentType;
7439
7717
  build.AvailabilitySearchType = AvailabilitySearchType;
7718
+ build.ContactForm = ContactForm;
7440
7719
  var Gender_1 = build.Gender = Gender;
7441
7720
  build.MetaDataType = MetaDataType;
7442
7721
  build.RequirementType = RequirementType;
@@ -7460,6 +7739,7 @@ build.feedXmlFolder = feedXmlFolder;
7460
7739
  build.forgotPassword = forgotPassword;
7461
7740
  var generateBookingAccommodations_1 = build.generateBookingAccommodations = generateBookingAccommodations;
7462
7741
  build.getAffiliates = getAffiliates;
7742
+ build.getAirports = getAirports;
7463
7743
  build.getAllotmentAvailability = getAllotmentAvailability;
7464
7744
  build.getCountries = getCountries;
7465
7745
  build.getCustomEntryStatus = getCustomEntryStatus;
@@ -7525,12 +7805,12 @@ var fetchDetails$1 = function (request, signal, languageCode, apiSettings) { ret
7525
7805
  });
7526
7806
  }); };
7527
7807
  var packageApi$1 = {
7528
- fetchDetails: fetchDetails$1
7808
+ fetchDetails: fetchDetails$1,
7529
7809
  };
7530
7810
 
7531
7811
  var formatPriceByMode = function (price, priceMode, personCount, duration, perPersonLabel, perNightLabel, perPersonPerNightLabel) {
7532
7812
  if (!price)
7533
- return '';
7813
+ return "";
7534
7814
  switch (priceMode) {
7535
7815
  case 0:
7536
7816
  return "".concat(formatPrice(price));
@@ -8938,7 +9218,10 @@ var DateRangePicker = function (props) {
8938
9218
  var _a, _b, _c, _d;
8939
9219
  var _e = React.useState(props.fromDate), fromDate = _e[0], setFromDate = _e[1];
8940
9220
  var _f = React.useState(props.toDate), toDate = _f[0], setToDate = _f[1];
8941
- var _g = React.useState((_a = props.focusMonth) !== null && _a !== void 0 ? _a : { year: dateFns.getYear(new Date()), month: dateFns.getMonth(new Date()) }), focusMonth = _g[0], setFocusMonth = _g[1];
9221
+ var _g = React.useState((_a = props.focusMonth) !== null && _a !== void 0 ? _a : {
9222
+ year: dateFns.getYear(new Date()),
9223
+ month: dateFns.getMonth(new Date()),
9224
+ }), focusMonth = _g[0], setFocusMonth = _g[1];
8942
9225
  var _h = React.useState(false), isWaitingForToDate = _h[0], setWaitingForToDate = _h[1];
8943
9226
  var handleDayClick = function (day) {
8944
9227
  var onSelectionChange = props.onSelectionChange;
@@ -9000,12 +9283,17 @@ var DateRangePicker = function (props) {
9000
9283
  var firstCalendarYear = focusMonth.year;
9001
9284
  var firstCalendarMonth = focusMonth.month;
9002
9285
  var secondCalendarMonth = (firstCalendarMonth + 1) % 12;
9003
- var secondCalendarYear = secondCalendarMonth < firstCalendarMonth ? firstCalendarYear + 1 : firstCalendarYear;
9286
+ var secondCalendarYear = secondCalendarMonth < firstCalendarMonth
9287
+ ? firstCalendarYear + 1
9288
+ : firstCalendarYear;
9004
9289
  var checkIfDateIsSelected = function (date) {
9005
9290
  return lodash.isNil(toDate)
9006
9291
  ? !lodash.isNil(fromDate) && dateFns.isEqual(date, fromDate)
9007
9292
  : !lodash.isNil(fromDate) &&
9008
- dateFns.isWithinInterval(date, { start: dateFns.startOfDay(fromDate), end: dateFns.endOfDay(toDate) });
9293
+ dateFns.isWithinInterval(date, {
9294
+ start: dateFns.startOfDay(fromDate),
9295
+ end: dateFns.endOfDay(toDate),
9296
+ });
9009
9297
  };
9010
9298
  React.useEffect(function () {
9011
9299
  setFromDate(props.fromDate);
@@ -9013,7 +9301,10 @@ var DateRangePicker = function (props) {
9013
9301
  }, [(_b = props.fromDate) === null || _b === void 0 ? void 0 : _b.valueOf(), (_c = props.toDate) === null || _c === void 0 ? void 0 : _c.valueOf()]);
9014
9302
  React.useEffect(function () {
9015
9303
  if (props.fromDate) {
9016
- setFocusMonth({ month: props.fromDate.getMonth(), year: props.fromDate.getFullYear() });
9304
+ setFocusMonth({
9305
+ month: props.fromDate.getMonth(),
9306
+ year: props.fromDate.getFullYear(),
9307
+ });
9017
9308
  }
9018
9309
  }, [(_d = props.fromDate) === null || _d === void 0 ? void 0 : _d.valueOf()]);
9019
9310
  return (React__default["default"].createElement("div", { className: "date-range-picker" },
@@ -9027,7 +9318,9 @@ var Dates = function (_a) {
9027
9318
  var value = _a.value, duration = _a.duration, onChange = _a.onChange;
9028
9319
  var language = React.useContext(SettingsContext$1).language;
9029
9320
  var translations = getTranslations(language);
9030
- var mql = typeof window !== "undefined" ? window.matchMedia("(min-width: 1200px)") : undefined;
9321
+ var mql = typeof window !== "undefined"
9322
+ ? window.matchMedia("(min-width: 1200px)")
9323
+ : undefined;
9031
9324
  var _b = React.useState(null), referenceElement = _b[0], setReferenceElement = _b[1];
9032
9325
  var _c = React.useState(null), popperElement = _c[0], setPopperElement = _c[1];
9033
9326
  var _d = React.useState(false), panelActive = _d[0], setPanelActive = _d[1];
@@ -9045,7 +9338,7 @@ var Dates = function (_a) {
9045
9338
  options: {
9046
9339
  padding: 40,
9047
9340
  },
9048
- }
9341
+ },
9049
9342
  ],
9050
9343
  }), styles = _e.styles, attributes = _e.attributes;
9051
9344
  var handleInputFocus = function () {
@@ -9084,9 +9377,11 @@ var Dates = function (_a) {
9084
9377
  React__default["default"].createElement("div", __assign({ ref: setPopperElement, className: buildClassName([
9085
9378
  "qsm__panel qsm__panel--bordered qsm__panel--dates-pricing",
9086
9379
  panelActive && "qsm__panel--active",
9087
- !(mql === null || mql === void 0 ? void 0 : mql.matches) && "qsm__panel--mobile"
9380
+ !(mql === null || mql === void 0 ? void 0 : mql.matches) && "qsm__panel--mobile",
9088
9381
  ]), style: (mql === null || mql === void 0 ? void 0 : mql.matches) ? styles.popper : undefined }, attributes.popper),
9089
- React__default["default"].createElement(DateRangePicker, { fromDate: value === null || value === void 0 ? void 0 : value.fromDate, toDate: value === null || value === void 0 ? void 0 : value.toDate, duration: duration, disabledDaysFunction: function (date) { return dateFns.isBefore(date, dateFns.startOfDay(new Date())); }, onSelectionChange: handleSelectionChange }),
9382
+ React__default["default"].createElement(DateRangePicker, { fromDate: value === null || value === void 0 ? void 0 : value.fromDate, toDate: value === null || value === void 0 ? void 0 : value.toDate, duration: duration, disabledDaysFunction: function (date) {
9383
+ return dateFns.isBefore(date, dateFns.startOfDay(new Date()));
9384
+ }, onSelectionChange: handleSelectionChange }),
9090
9385
  !(mql === null || mql === void 0 ? void 0 : mql.matches) && (React__default["default"].createElement("div", { className: "qsm__close", onClick: function () { return setPanelActive(false); } },
9091
9386
  React__default["default"].createElement(Icon$1, { name: "ui-close", height: 25, width: 25 })))))));
9092
9387
  };
@@ -9102,18 +9397,16 @@ var Footer = function (_a) {
9102
9397
  var priceText = _a.priceText, isLoading = _a.isLoading, isOffer = _a.isOffer, roomsIsDisabled = _a.roomsIsDisabled, handleBookClick = _a.handleBookClick;
9103
9398
  var _b = React.useContext(SettingsContext$1), language = _b.language, alternativeActionText = _b.alternativeActionText, alternativeAction = _b.alternativeAction;
9104
9399
  var translations = getTranslations(language);
9105
- return (React__default["default"].createElement("div", { className: "booking-product__footer" }, isLoading
9106
- ? (React__default["default"].createElement(Loader, { loaderText: translations.PRODUCT.LOADING_PRICE }))
9107
- : (React__default["default"].createElement(React__default["default"].Fragment, null,
9108
- priceText && (React__default["default"].createElement("div", { className: "booking-product__footer-total" },
9109
- React__default["default"].createElement("div", { className: "booking-product__footer-label" }, translations.SHARED.TOTAL_PRICE),
9110
- React__default["default"].createElement("div", { className: "booking-product__footer-price" }, priceText))),
9111
- React__default["default"].createElement("div", { className: "booking-product_footer-actions" }, priceText ? (React__default["default"].createElement("button", { type: "button", className: buildClassName([
9112
- "cta",
9113
- !roomsIsDisabled && "cta--disabled"
9114
- ]), onClick: handleBookClick, disabled: !roomsIsDisabled }, isOffer ? translations.PRODUCT.TO_YOUR_OFFER : translations.PRODUCT.BOOK_NOW)) : ((alternativeActionText && alternativeAction)
9115
- ? (React__default["default"].createElement("a", { href: "#offer-form", className: "cta", onClick: alternativeAction }, alternativeActionText))
9116
- : (React__default["default"].createElement(React__default["default"].Fragment, null, translations.PRODUCT.NOT_AVAILABLE))))))));
9400
+ return (React__default["default"].createElement("div", { className: "booking-product__footer" }, isLoading ? (React__default["default"].createElement(Loader, { loaderText: translations.PRODUCT.LOADING_PRICE })) : (React__default["default"].createElement(React__default["default"].Fragment, null,
9401
+ priceText && (React__default["default"].createElement("div", { className: "booking-product__footer-total" },
9402
+ React__default["default"].createElement("div", { className: "booking-product__footer-label" }, translations.SHARED.TOTAL_PRICE),
9403
+ React__default["default"].createElement("div", { className: "booking-product__footer-price" }, priceText))),
9404
+ React__default["default"].createElement("div", { className: "booking-product__footer-actions" }, priceText ? (React__default["default"].createElement("button", { type: "button", className: buildClassName([
9405
+ "cta",
9406
+ !roomsIsDisabled && "cta--disabled",
9407
+ ]), onClick: handleBookClick, disabled: !roomsIsDisabled }, isOffer
9408
+ ? translations.PRODUCT.TO_YOUR_OFFER
9409
+ : translations.PRODUCT.BOOK_NOW)) : alternativeActionText && alternativeAction ? (React__default["default"].createElement("a", { href: "#offer-form", className: "cta", onClick: alternativeAction }, alternativeActionText)) : (React__default["default"].createElement(React__default["default"].Fragment, null, translations.PRODUCT.NOT_AVAILABLE)))))));
9117
9410
  };
9118
9411
 
9119
9412
  var Rating = function (_a) {
@@ -9132,17 +9425,15 @@ var Header = function (_a) {
9132
9425
  React__default["default"].createElement("div", { className: "booking-product__hotel" },
9133
9426
  rating && React__default["default"].createElement(Rating, { rating: rating }),
9134
9427
  React__default["default"].createElement("div", { className: "booking-product__title" }, name)),
9135
- React__default["default"].createElement("div", { className: "booking-product__price" }, isLoading
9136
- ? (React__default["default"].createElement(Loader, { loaderText: translations.PRODUCT.LOADING_PRICE }))
9137
- : (React__default["default"].createElement(React__default["default"].Fragment, null,
9138
- React__default["default"].createElement("div", { className: "pricing__header pricing__price" }, priceText),
9139
- React__default["default"].createElement("div", { className: "package-icons" },
9140
- priceText && (React__default["default"].createElement("div", { className: "package-icons__icon" },
9141
- React__default["default"].createElement(Icon$1, { name: "ui-bed", title: translations.PRODUCT.STAY_INCLUDED, width: 25, height: 25 }))),
9142
- hasFlight && (React__default["default"].createElement("div", { className: "package-icons__icon" },
9143
- React__default["default"].createElement(Icon$1, { name: "ui-flight", title: translations.PRODUCT.FLIGHT_INCLUDED, width: 25, height: 25 }))),
9144
- hasTransfer && (React__default["default"].createElement("div", { className: "package-icons__icon" },
9145
- React__default["default"].createElement(Icon$1, { name: "ui-transfer", title: translations.PRODUCT.TRANSFER_INCLUDED, width: 25, height: 25 })))))))));
9428
+ React__default["default"].createElement("div", { className: "booking-product__price" }, isLoading ? (React__default["default"].createElement(Loader, { loaderText: translations.PRODUCT.LOADING_PRICE })) : (React__default["default"].createElement(React__default["default"].Fragment, null,
9429
+ React__default["default"].createElement("div", { className: "pricing__header pricing__price" }, priceText),
9430
+ React__default["default"].createElement("div", { className: "package-icons" },
9431
+ priceText && (React__default["default"].createElement("div", { className: "package-icons__icon" },
9432
+ React__default["default"].createElement(Icon$1, { name: "ui-bed", title: translations.PRODUCT.STAY_INCLUDED, width: 25, height: 25 }))),
9433
+ hasFlight && (React__default["default"].createElement("div", { className: "package-icons__icon" },
9434
+ React__default["default"].createElement(Icon$1, { name: "ui-flight", title: translations.PRODUCT.FLIGHT_INCLUDED, width: 25, height: 25 }))),
9435
+ hasTransfer && (React__default["default"].createElement("div", { className: "package-icons__icon" },
9436
+ React__default["default"].createElement(Icon$1, { name: "ui-transfer", title: translations.PRODUCT.TRANSFER_INCLUDED, width: 25, height: 25 })))))))));
9146
9437
  };
9147
9438
 
9148
9439
  var AgeSelect = function (_a) {
@@ -9175,7 +9466,10 @@ var AmountInput = function (_a) {
9175
9466
  onChange(Math.max(value - 1, min !== null && min !== void 0 ? min : 0));
9176
9467
  }
9177
9468
  };
9178
- return (React__default["default"].createElement("div", { className: buildClassName(["decrement-increment", disabled && "decrement-increment--disabled"]) },
9469
+ return (React__default["default"].createElement("div", { className: buildClassName([
9470
+ "decrement-increment",
9471
+ disabled && "decrement-increment--disabled",
9472
+ ]) },
9179
9473
  React__default["default"].createElement("label", { className: "decrement-increment__label" }, label),
9180
9474
  React__default["default"].createElement("div", { className: "decrement-increment__ui" },
9181
9475
  !disabled && (React__default["default"].createElement("button", { type: "button", className: "button button--decrement", title: translations.INPUT.DECREASE, disabled: disabled, onClick: handleDecreaseClick },
@@ -9206,7 +9500,14 @@ var Rooms = function (_a) {
9206
9500
  React__default["default"].createElement("div", { className: "booking-product__rooms__heading" }, translations.SHARED.ROOMS),
9207
9501
  React__default["default"].createElement("div", { className: "booking-product__rooms__actions" },
9208
9502
  React__default["default"].createElement(AmountInput, { label: translations.PRODUCT.NUMBER_OF_ROOMS, value: currentRooms.length, disabled: isDisabled, min: 1, onChange: function (value) {
9209
- setRoomState(lodash.range(0, value).map(function (roomIndex) { var _a; return (_a = currentRooms[roomIndex]) !== null && _a !== void 0 ? _a : { adults: 2, children: 0, childAges: [] }; }));
9503
+ setRoomState(lodash.range(0, value).map(function (roomIndex) {
9504
+ var _a;
9505
+ return (_a = currentRooms[roomIndex]) !== null && _a !== void 0 ? _a : {
9506
+ adults: 2,
9507
+ children: 0,
9508
+ childAges: [],
9509
+ };
9510
+ }));
9210
9511
  setIsTouched(true);
9211
9512
  } }))),
9212
9513
  React__default["default"].createElement("div", { className: "booking-product__rooms-body" }, currentRooms.map(function (room, roomIndex) { return (React__default["default"].createElement("div", { className: "booking-product__room", key: roomIndex },
@@ -9232,23 +9533,27 @@ var Rooms = function (_a) {
9232
9533
  setRoomState(currentRooms.map(function (room, selectorRoomIndex) {
9233
9534
  return roomIndex === selectorRoomIndex
9234
9535
  ? __assign(__assign({}, room), { childAges: room.childAges
9235
- .map(function (age, i) { return (childIndex === i ? value : age); })
9536
+ .map(function (age, i) {
9537
+ return childIndex === i ? value : age;
9538
+ })
9236
9539
  .sort(function (a, b) { return b - a; }) }) : room;
9237
9540
  }));
9238
9541
  setIsTouched(true);
9239
9542
  } })); })))))); }))),
9240
- React__default["default"].createElement("div", { className: "booking-product__rooms-footer" }, isDisabled
9241
- ? (React__default["default"].createElement("button", { type: "button", className: buildClassName(["cta--secondary", "cta--add"]), title: translations.PRODUCT.EDIT, onClick: function () {
9242
- setIsDisabled(false);
9243
- setIsTouched(false);
9244
- } },
9245
- React__default["default"].createElement("span", null,
9246
- React__default["default"].createElement(Icon$1, { name: "ui-pencil", width: 25, height: 25 }),
9247
- translations.PRODUCT.EDIT)))
9248
- : (React__default["default"].createElement("button", { type: "button", className: buildClassName(["cta", (isTouched ? "cta--secondary" : "cta--secondary"), "cta--add"]), title: translations.PRODUCT.APPLY, onClick: handleCloseClick },
9249
- React__default["default"].createElement("span", null,
9250
- React__default["default"].createElement(Icon$1, { name: "ui-check" }),
9251
- translations.PRODUCT.APPLY)))))));
9543
+ React__default["default"].createElement("div", { className: "booking-product__rooms-footer" }, isDisabled ? (React__default["default"].createElement("button", { type: "button", className: buildClassName(["cta--secondary", "cta--add"]), title: translations.PRODUCT.EDIT, onClick: function () {
9544
+ setIsDisabled(false);
9545
+ setIsTouched(false);
9546
+ } },
9547
+ React__default["default"].createElement("span", null,
9548
+ React__default["default"].createElement(Icon$1, { name: "ui-pencil", width: 25, height: 25 }),
9549
+ translations.PRODUCT.EDIT))) : (React__default["default"].createElement("button", { type: "button", className: buildClassName([
9550
+ "cta",
9551
+ isTouched ? "cta--secondary" : "cta--secondary",
9552
+ "cta--add",
9553
+ ]), title: translations.PRODUCT.APPLY, onClick: handleCloseClick },
9554
+ React__default["default"].createElement("span", null,
9555
+ React__default["default"].createElement(Icon$1, { name: "ui-check" }),
9556
+ translations.PRODUCT.APPLY)))))));
9252
9557
  };
9253
9558
 
9254
9559
  var Product = function (_a) {
@@ -9262,7 +9567,9 @@ var Product = function (_a) {
9262
9567
  var _h = React.useState(), price = _h[0], setPrice = _h[1];
9263
9568
  var _j = React.useState(false), hasFlight = _j[0], setHasFlight = _j[1];
9264
9569
  var _k = React.useState(false), hasTransfer = _k[0], setHasTransfer = _k[1];
9265
- var _l = React.useState([{ adults: 2, children: 0, childAges: [] }]), rooms = _l[0], setRooms = _l[1];
9570
+ var _l = React.useState([
9571
+ { adults: 2, children: 0, childAges: [] },
9572
+ ]), rooms = _l[0], setRooms = _l[1];
9266
9573
  var _m = React.useState(), dateRange = _m[0], setDateRange = _m[1];
9267
9574
  var _o = React.useState(productName), packageProductName = _o[0], setPackageProductName = _o[1];
9268
9575
  var fetchPackage = function (signal) { return __awaiter$1(void 0, void 0, void 0, function () {
@@ -9275,16 +9582,19 @@ var Product = function (_a) {
9275
9582
  (dateRange === null || dateRange === void 0 ? void 0 : dateRange.fromDate) &&
9276
9583
  (dateRange === null || dateRange === void 0 ? void 0 : dateRange.toDate) &&
9277
9584
  rooms)) return [3 /*break*/, 2];
9278
- apiSettingsState = (apiKey && apiUrl) ? {
9279
- apiKey: apiKey,
9280
- apiUrl: apiUrl
9281
- } : undefined;
9282
- startDate = dateFns.formatISO(dateRange === null || dateRange === void 0 ? void 0 : dateRange.fromDate, { representation: "date" }) + "T00:00:00Z";
9585
+ apiSettingsState = apiKey && apiUrl
9586
+ ? {
9587
+ apiKey: apiKey,
9588
+ apiUrl: apiUrl,
9589
+ }
9590
+ : undefined;
9591
+ startDate = dateFns.formatISO(dateRange === null || dateRange === void 0 ? void 0 : dateRange.fromDate, { representation: "date" }) +
9592
+ "T00:00:00Z";
9283
9593
  endDate = dateFns.formatISO(dateRange === null || dateRange === void 0 ? void 0 : dateRange.toDate, { representation: "date" }) + "T00:00:00Z";
9284
9594
  requestRooms = rooms.map(function (room, i) {
9285
9595
  var requestRoom = {
9286
9596
  index: i,
9287
- pax: []
9597
+ pax: [],
9288
9598
  };
9289
9599
  for (var a = 0; a < room.adults; a++) {
9290
9600
  requestRoom.pax.push({
@@ -9362,7 +9672,7 @@ var Product = function (_a) {
9362
9672
  var paramString = Object.keys(params)
9363
9673
  .map(function (key) { return "".concat(key, "=").concat(params[key]); })
9364
9674
  .join("&");
9365
- window.location.href = basePath.startsWith('/')
9675
+ window.location.href = basePath.startsWith("/")
9366
9676
  ? "".concat(window.location.protocol, "//").concat(window.location.host).concat(basePath, "?").concat(paramString)
9367
9677
  : "".concat(path).concat(path.endsWith("/") ? "" : "/").concat(basePath, "?").concat(paramString);
9368
9678
  };
@@ -9387,7 +9697,7 @@ var Product = function (_a) {
9387
9697
  }, [
9388
9698
  (_b = dateRange === null || dateRange === void 0 ? void 0 : dateRange.fromDate) === null || _b === void 0 ? void 0 : _b.valueOf(),
9389
9699
  (_c = dateRange === null || dateRange === void 0 ? void 0 : dateRange.toDate) === null || _c === void 0 ? void 0 : _c.valueOf(),
9390
- JSON.stringify(rooms)
9700
+ JSON.stringify(rooms),
9391
9701
  ]);
9392
9702
  React.useEffect(function () {
9393
9703
  var params = new URLSearchParams(location.search);
@@ -9523,7 +9833,7 @@ var fetchAccommodationViews$1 = function (request, signal, apiSettings) { return
9523
9833
  var packageApi = {
9524
9834
  fetchDetails: fetchDetails,
9525
9835
  fetchAgents: fetchAgents$1,
9526
- fetchAccommodationViews: fetchAccommodationViews$1
9836
+ fetchAccommodationViews: fetchAccommodationViews$1,
9527
9837
  };
9528
9838
 
9529
9839
  var ROOM_OPTIONS_FORM_STEP = 1;
@@ -9674,7 +9984,11 @@ var selectSeparatePackagePriceDetails = toolkit.createSelector(selectPackagePric
9674
9984
  var result = [];
9675
9985
  var filteredPriceDetails = pricedetails.filter(function (priceDetail) { return priceDetail.isSeparate; });
9676
9986
  filteredPriceDetails.forEach(function (priceDetail) {
9677
- var priceDetailToMerge = result.find(function (x) { return x.productCode === priceDetail.productCode && x.accommodationCode === priceDetail.accommodationCode && x.productType === priceDetail.productType; });
9987
+ var priceDetailToMerge = result.find(function (x) {
9988
+ return x.productCode === priceDetail.productCode &&
9989
+ x.accommodationCode === priceDetail.accommodationCode &&
9990
+ x.productType === priceDetail.productType;
9991
+ });
9678
9992
  if (priceDetailToMerge) {
9679
9993
  priceDetailToMerge.total += priceDetail.total;
9680
9994
  priceDetailToMerge.price += priceDetail.price;
@@ -9730,15 +10044,23 @@ var selectPackageFlights = function (state) {
9730
10044
  var _a, _b;
9731
10045
  return ({
9732
10046
  outward: (_a = state.booking.package) === null || _a === void 0 ? void 0 : _a.outwardFlights,
9733
- return: (_b = state.booking.package) === null || _b === void 0 ? void 0 : _b.returnFlights
10047
+ return: (_b = state.booking.package) === null || _b === void 0 ? void 0 : _b.returnFlights,
9734
10048
  });
9735
10049
  };
9736
10050
  var selectActiveOption = function (state) { var _a; return (_a = state.booking.package) === null || _a === void 0 ? void 0 : _a.options.find(function (x) { return x.isSelected; }); };
9737
10051
  var selectPackageAirlineGroups = toolkit.createSelector(selectActiveOption, selectDepartureFlight, selectReturnFlight, function (option, departureFlight, returnFlight) {
9738
- return option === null || option === void 0 ? void 0 : option.airlineGroups.filter(function (x) { var _a, _b; return x.flightIds.includes((_a = departureFlight === null || departureFlight === void 0 ? void 0 : departureFlight.entryLineGuid) !== null && _a !== void 0 ? _a : "") || x.flightIds.includes((_b = returnFlight === null || returnFlight === void 0 ? void 0 : returnFlight.entryLineGuid) !== null && _b !== void 0 ? _b : ""); });
10052
+ return option === null || option === void 0 ? void 0 : option.airlineGroups.filter(function (x) {
10053
+ var _a, _b;
10054
+ return x.flightIds.includes((_a = departureFlight === null || departureFlight === void 0 ? void 0 : departureFlight.entryLineGuid) !== null && _a !== void 0 ? _a : "") ||
10055
+ x.flightIds.includes((_b = returnFlight === null || returnFlight === void 0 ? void 0 : returnFlight.entryLineGuid) !== null && _b !== void 0 ? _b : "");
10056
+ });
9739
10057
  });
9740
10058
  var selectPackageAirportGroups = toolkit.createSelector(selectActiveOption, selectDepartureFlight, selectReturnFlight, function (option, departureFlight, returnFlight) {
9741
- return option === null || option === void 0 ? void 0 : option.airportGroups.filter(function (x) { var _a, _b; return x.flightIds.includes((_a = departureFlight === null || departureFlight === void 0 ? void 0 : departureFlight.entryLineGuid) !== null && _a !== void 0 ? _a : "") || x.flightIds.includes((_b = returnFlight === null || returnFlight === void 0 ? void 0 : returnFlight.entryLineGuid) !== null && _b !== void 0 ? _b : ""); });
10059
+ return option === null || option === void 0 ? void 0 : option.airportGroups.filter(function (x) {
10060
+ var _a, _b;
10061
+ return x.flightIds.includes((_a = departureFlight === null || departureFlight === void 0 ? void 0 : departureFlight.entryLineGuid) !== null && _a !== void 0 ? _a : "") ||
10062
+ x.flightIds.includes((_b = returnFlight === null || returnFlight === void 0 ? void 0 : returnFlight.entryLineGuid) !== null && _b !== void 0 ? _b : "");
10063
+ });
9742
10064
  });
9743
10065
  var selectApiSettings = function (state) { return state.apiSettings; };
9744
10066
  var selectIsUnavailable = function (state) {
@@ -9752,7 +10074,8 @@ var selectLanguageCode = function (state) {
9752
10074
  var selectTranslations = function (state) {
9753
10075
  var _a, _b;
9754
10076
  var defaultStaticTranslations = getTranslations(state.booking.languageCode);
9755
- var dynamicTranslations = (_b = (state.booking.translations && ((_a = state.booking.translations.find(function (x) { return x.language == state.booking.languageCode; })) === null || _a === void 0 ? void 0 : _a.value))) !== null && _b !== void 0 ? _b : {};
10077
+ var dynamicTranslations = (_b = (state.booking.translations &&
10078
+ ((_a = state.booking.translations.find(function (x) { return x.language == state.booking.languageCode; })) === null || _a === void 0 ? void 0 : _a.value))) !== null && _b !== void 0 ? _b : {};
9756
10079
  var merged = {};
9757
10080
  for (var _i = 0, _c = Array.from(new Set(__spreadArray(__spreadArray([], Object.keys(defaultStaticTranslations), true), Object.keys(dynamicTranslations), true))); _i < _c.length; _i++) {
9758
10081
  var key = _c[_i];
@@ -9795,15 +10118,19 @@ var selectAccommodationCodes = function (state) {
9795
10118
  var _a;
9796
10119
  var accommodationCodes = [];
9797
10120
  (_a = state.booking.package) === null || _a === void 0 ? void 0 : _a.options.forEach(function (o) {
9798
- o.rooms.forEach(function (r) { return r.options.forEach(function (ro) {
9799
- if (!accommodationCodes.some(function (y) { return y === ro.accommodationCode; })) {
9800
- accommodationCodes.push(ro.accommodationCode);
9801
- }
9802
- }); });
10121
+ o.rooms.forEach(function (r) {
10122
+ return r.options.forEach(function (ro) {
10123
+ if (!accommodationCodes.some(function (y) { return y === ro.accommodationCode; })) {
10124
+ accommodationCodes.push(ro.accommodationCode);
10125
+ }
10126
+ });
10127
+ });
9803
10128
  });
9804
10129
  return accommodationCodes;
9805
10130
  };
9806
- var selectAccommodationViews = function (state) { return state.booking.accommodationViews; };
10131
+ var selectAccommodationViews = function (state) {
10132
+ return state.booking.accommodationViews;
10133
+ };
9807
10134
  var selectBookingQuery = function (state) {
9808
10135
  var bookingAttributes = state.booking.bookingAttributes;
9809
10136
  if (!bookingAttributes) {
@@ -10048,7 +10375,7 @@ var fetchAgents = toolkit.createAsyncThunk("booking/agents", function (_, _a) {
10048
10375
  var fetchPackageDetails = toolkit.createAsyncThunk("booking/details", function (_, _a) {
10049
10376
  _a.dispatch; var getState = _a.getState, signal = _a.signal;
10050
10377
  return __awaiter$1(void 0, void 0, void 0, function () {
10051
- var state, officeId, productAttributes, bookingAttributes, agentId, rooms, languageCode, requestRooms, isAllotment, request;
10378
+ var state, officeId, productAttributes, bookingAttributes, agentId, rooms, languageCode, requestRooms, isAllotment, searchType, outwardFlight, returnFlight, request;
10052
10379
  var _b;
10053
10380
  return __generator$1(this, function (_c) {
10054
10381
  switch (_c.label) {
@@ -10086,11 +10413,29 @@ var fetchPackageDetails = toolkit.createAsyncThunk("booking/details", function (
10086
10413
  isAllotment = bookingAttributes.tourCode ||
10087
10414
  bookingAttributes.allotmentName ||
10088
10415
  (bookingAttributes.allotmentIds && bookingAttributes.allotmentIds.length);
10416
+ searchType = isAllotment
10417
+ ? 1 // ALLOTMENT
10418
+ : 0;
10419
+ if (bookingAttributes.flightRouteId && bookingAttributes.flight) {
10420
+ searchType = 3; // FLIGHT;
10421
+ outwardFlight = {
10422
+ flightCode: bookingAttributes.flight.outwardCode,
10423
+ startDateTime: bookingAttributes.flight.outwardDepartureDate,
10424
+ endDateTime: bookingAttributes.flight.outwardArrivalDate,
10425
+ };
10426
+ if (bookingAttributes.flight.returnCode) {
10427
+ returnFlight = {
10428
+ flightCode: bookingAttributes.flight.returnCode,
10429
+ startDateTime: bookingAttributes.flight.returnDepartureDate,
10430
+ endDateTime: bookingAttributes.flight.returnArrivalDate,
10431
+ };
10432
+ }
10433
+ }
10089
10434
  request = {
10090
10435
  officeId: officeId,
10091
10436
  agentId: agentId,
10092
10437
  payload: {
10093
- searchType: isAllotment ? 1 : 0,
10438
+ searchType: searchType,
10094
10439
  catalogueId: bookingAttributes.catalog,
10095
10440
  productCode: productAttributes.productCode,
10096
10441
  fromDate: bookingAttributes.startDate,
@@ -10100,6 +10445,9 @@ var fetchPackageDetails = toolkit.createAsyncThunk("booking/details", function (
10100
10445
  allotmentIds: (_b = bookingAttributes.allotmentIds) !== null && _b !== void 0 ? _b : [],
10101
10446
  tourCode: bookingAttributes.tourCode,
10102
10447
  rooms: requestRooms,
10448
+ routeId: bookingAttributes.flightRouteId,
10449
+ outwardFlight: outwardFlight,
10450
+ returnFlight: returnFlight,
10103
10451
  },
10104
10452
  };
10105
10453
  return [4 /*yield*/, packageApi.fetchDetails(request, signal, languageCode, state.apiSettings)];
@@ -10122,13 +10470,13 @@ var fetchAccommodationViews = toolkit.createAsyncThunk("booking/accommodationVie
10122
10470
  accommodationCodes = selectAccommodationCodes(state);
10123
10471
  productCode = selectProductCode(state);
10124
10472
  if (!productCode) {
10125
- throw Error('No product selected');
10473
+ throw Error("No product selected");
10126
10474
  }
10127
10475
  request = {
10128
10476
  languageCode: languageCode,
10129
10477
  productCode: productCode,
10130
10478
  accommodationCodes: accommodationCodes,
10131
- contentViewId: state.booking.accommodationViewId
10479
+ contentViewId: state.booking.accommodationViewId,
10132
10480
  };
10133
10481
  return [4 /*yield*/, packageApi.fetchAccommodationViews(request, signal, state.apiSettings)];
10134
10482
  case 1: return [2 /*return*/, _b.sent()];
@@ -10179,24 +10527,31 @@ var changeReturnFlight = function (state, flight) {
10179
10527
  var changePackageOption = function (state) {
10180
10528
  var selectedOutward = state.outwardFlights.find(function (x) { return x.isSelected; });
10181
10529
  var selectedReturn = state.returnFlights.find(function (x) { return x.isSelected; });
10182
- var validOptions = selectedOutward.validOptions.filter(function (x) { return selectedReturn.validOptions.some(function (y) { return x === y; }); });
10530
+ var validOptions = selectedOutward.validOptions.filter(function (x) {
10531
+ return selectedReturn.validOptions.some(function (y) { return x === y; });
10532
+ });
10183
10533
  var currentOption = state.options.find(function (x) { return x.isSelected; });
10184
10534
  if (validOptions.some(function (x) { return x === currentOption.id; }))
10185
10535
  return;
10186
- var firstOption = state.options.find(function (x) { return validOptions.some(function (y) { return y === x.id; }); });
10536
+ var firstOption = state.options.find(function (x) {
10537
+ return validOptions.some(function (y) { return y === x.id; });
10538
+ });
10187
10539
  currentOption.isSelected = false;
10188
10540
  firstOption.isSelected = true;
10189
10541
  var currentRooms = currentOption.rooms.map(function (r) {
10190
10542
  var selectedOption = r.options.find(function (o) { return o.isSelected; });
10191
10543
  return {
10192
10544
  accommodation: selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.accommodationCode,
10193
- regime: selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.regimeCode
10545
+ regime: selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.regimeCode,
10194
10546
  };
10195
10547
  });
10196
10548
  firstOption.rooms.forEach(function (r, i) {
10197
10549
  var currentRoom = currentRooms[i];
10198
10550
  var selectedOption = r.options.find(function (o) { return o.isSelected; });
10199
- var selection = r.options.find(function (x) { return x.accommodationCode === currentRoom.accommodation && x.regimeCode === currentRoom.regime; });
10551
+ var selection = r.options.find(function (x) {
10552
+ return x.accommodationCode === currentRoom.accommodation &&
10553
+ x.regimeCode === currentRoom.regime;
10554
+ });
10200
10555
  if (selection) {
10201
10556
  if (selection.entryLineGuid !== (selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.entryLineGuid)) {
10202
10557
  if (selectedOption)
@@ -10326,7 +10681,7 @@ var bookingSlice = toolkit.createSlice({
10326
10681
  },
10327
10682
  setAccommodationViewId: function (state, action) {
10328
10683
  state.accommodationViewId = action.payload;
10329
- }
10684
+ },
10330
10685
  },
10331
10686
  extraReducers: function (builder) {
10332
10687
  builder.addCase(fetchPackageDetails.fulfilled, function (state, action) {
@@ -10415,7 +10770,10 @@ var bookingSlice = toolkit.createSlice({
10415
10770
  }
10416
10771
  // Fallback to an option that has the requested accommodation OR regime if the requested option is not available. If no fallback is available, select the first option.
10417
10772
  if (!activeOption_1.rooms[i].options.some(function (x) { return x.isSelected; })) {
10418
- var fallbackOption = activeOption_1.rooms[i].options.find(function (x) { return x.accommodationCode == room.accommodationCode || x.regimeCode == room.regimeCode; });
10773
+ var fallbackOption = activeOption_1.rooms[i].options.find(function (x) {
10774
+ return x.accommodationCode == room.accommodationCode ||
10775
+ x.regimeCode == room.regimeCode;
10776
+ });
10419
10777
  if (fallbackOption) {
10420
10778
  fallbackOption.isSelected = true;
10421
10779
  }
@@ -10623,6 +10981,13 @@ var Icon = function (_a) {
10623
10981
  React__default["default"].createElement(HTMLComment, { text: "!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc." }),
10624
10982
  title && React__default["default"].createElement("title", null, title),
10625
10983
  React__default["default"].createElement("path", { d: "M48 64C21.5 64 0 85.5 0 112c0 15.1 7.1 29.3 19.2 38.4L236.8 313.6c11.4 8.5 27 8.5 38.4 0L492.8 150.4c12.1-9.1 19.2-23.3 19.2-38.4c0-26.5-21.5-48-48-48L48 64zM0 176L0 384c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-208L294.4 339.2c-22.8 17.1-54 17.1-76.8 0L0 176z" })));
10984
+ case "ui-trashcan":
10985
+ return (React__default["default"].createElement("svg", { className: ["icon", "icon--".concat(name), className]
10986
+ .filter(function (className) { return !lodash.isEmpty(className); })
10987
+ .join(" "), width: width, height: height, viewBox: "0 0 448 512" },
10988
+ React__default["default"].createElement(HTMLComment, { text: "!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc." }),
10989
+ title && React__default["default"].createElement("title", null, title),
10990
+ React__default["default"].createElement("path", { d: "M135.2 17.7L128 32 32 32C14.3 32 0 46.3 0 64S14.3 96 32 96l384 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-96 0-7.2-14.3C307.4 6.8 296.3 0 284.2 0L163.8 0c-12.1 0-23.2 6.8-28.6 17.7zM416 128L32 128 53.2 467c1.6 25.3 22.6 45 47.9 45l245.8 0c25.3 0 46.3-19.7 47.9-45L416 128z" })));
10626
10991
  case "ui-home":
10627
10992
  case "ui-filter":
10628
10993
  return (React__default["default"].createElement("svg", { className: ["icon", "icon--".concat(name), className]
@@ -10772,7 +11137,7 @@ var Confirmation = function () {
10772
11137
  var titleText = settings.isOffer
10773
11138
  ? format(translations.CONFIRMATION.TITLE_TEXT_OFFER, [bookingNumber])
10774
11139
  : format(translations.CONFIRMATION.TITLE_TEXT_BOOKING, [bookingNumber]);
10775
- return (React__default["default"].createElement("div", { className: "form", id: "booking--confirmation" },
11140
+ return (React__default["default"].createElement("div", { className: "form form__booking--message", id: "booking--confirmation" },
10776
11141
  React__default["default"].createElement("div", { className: "form__region" },
10777
11142
  React__default["default"].createElement("div", { className: "form__row" },
10778
11143
  React__default["default"].createElement("div", { className: "form__group" },
@@ -10786,7 +11151,9 @@ var Confirmation = function () {
10786
11151
  React__default["default"].createElement("p", null,
10787
11152
  translations.CONFIRMATION.MESSAGE_TEXT1,
10788
11153
  React__default["default"].createElement("br", null),
10789
- settings.isOffer ? translations.CONFIRMATION.MESSAGE_TEXT2_OFFER : translations.CONFIRMATION.MESSAGE_TEXT2_BOOKING),
11154
+ settings.isOffer
11155
+ ? translations.CONFIRMATION.MESSAGE_TEXT2_OFFER
11156
+ : translations.CONFIRMATION.MESSAGE_TEXT2_BOOKING),
10790
11157
  React__default["default"].createElement("p", null,
10791
11158
  translations.CONFIRMATION.QUESTIONS_TEXT1,
10792
11159
  " ",
@@ -10810,7 +11177,7 @@ var Error$1 = function () {
10810
11177
  }
10811
11178
  };
10812
11179
  var translations = reactRedux.useSelector(selectTranslations);
10813
- return (React__default["default"].createElement("div", { className: "form" },
11180
+ return (React__default["default"].createElement("div", { className: "form form__booking--message" },
10814
11181
  React__default["default"].createElement("div", { className: "form__region" },
10815
11182
  React__default["default"].createElement("div", { className: "form__row" },
10816
11183
  React__default["default"].createElement("div", { className: "form__group" },
@@ -10869,11 +11236,11 @@ var MultiRangeFilter = function (_a) {
10869
11236
  React__default["default"].createElement("div", { className: "min-box" }, valueFormatter(min)),
10870
11237
  React__default["default"].createElement("div", { className: "max-box" }, valueFormatter(max))),
10871
11238
  React__default["default"].createElement("div", { className: "range-slider" },
10872
- React__default["default"].createElement("div", { className: "slider-track", style: { 'left': leftPercentage + '%', right: rightPercentage + '%' } }),
11239
+ React__default["default"].createElement("div", { className: "slider-track", style: { left: leftPercentage + "%", right: rightPercentage + "%" } }),
10873
11240
  React__default["default"].createElement("input", { type: "range", min: min, max: max, value: minVal, onChange: slideMin, onMouseDown: startDrag, onMouseUp: stopDrag, onTouchStart: startDrag, onTouchEnd: stopDrag, className: "min-val" }),
10874
11241
  React__default["default"].createElement("input", { type: "range", min: min, max: max, value: maxVal, onChange: slideMax, onMouseDown: startDrag, onMouseUp: stopDrag, onTouchStart: startDrag, onTouchEnd: stopDrag, className: "max-val" }),
10875
- isDragging && React__default["default"].createElement("div", { className: "min-tooltip" }, valueFormatter(minVal)),
10876
- isDragging && React__default["default"].createElement("div", { className: "max-tooltip" }, valueFormatter(maxVal)))));
11242
+ isDragging && (React__default["default"].createElement("div", { className: "min-tooltip" }, valueFormatter(minVal))),
11243
+ isDragging && (React__default["default"].createElement("div", { className: "max-tooltip" }, valueFormatter(maxVal))))));
10877
11244
  };
10878
11245
 
10879
11246
  /*interface FlightGroup {
@@ -10896,7 +11263,9 @@ var buildGroupedFlights = function (outwardFlights, returnFlights) {
10896
11263
  else {
10897
11264
  var outwardCode = outwardFlight.code.substring(0, 7);
10898
11265
  var returnCode_1 = outwardCode.split(" ").reduce(function (a, b) { return "".concat(b, " ").concat(a); });
10899
- returnFlights.filter(function (x) { return x.code.startsWith(returnCode_1); }).forEach(function (returnFlight) {
11266
+ returnFlights
11267
+ .filter(function (x) { return x.code.startsWith(returnCode_1); })
11268
+ .forEach(function (returnFlight) {
10900
11269
  pairs.push({ outward: outwardFlight, return: returnFlight });
10901
11270
  });
10902
11271
  }
@@ -10910,7 +11279,7 @@ var buildGroupedFlights = function (outwardFlights, returnFlights) {
10910
11279
  outward: outwardFlightDetails,
10911
11280
  return: returnFlightDetails,
10912
11281
  selectedOutward: x.outward,
10913
- selectedReturn: x.return
11282
+ selectedReturn: x.return,
10914
11283
  };
10915
11284
  });
10916
11285
  return results;
@@ -10929,7 +11298,7 @@ var buildFilterOptions = function (outwardFlights, returnFlights, translations)
10929
11298
  var highestDepartureChangeDuration = 0;
10930
11299
  outwardFlights.forEach(function (flight) {
10931
11300
  var _a;
10932
- var airlineCode = flight.code.split('/')[1];
11301
+ var airlineCode = flight.code.split("/")[1];
10933
11302
  if ((_a = flight.flightMetaData.flightLines) === null || _a === void 0 ? void 0 : _a.length) {
10934
11303
  var firstLine_1 = flight.flightMetaData.flightLines[0];
10935
11304
  if (!airports.some(function (x) { return x.value === firstLine_1.departureAirport; })) {
@@ -10937,7 +11306,7 @@ var buildFilterOptions = function (outwardFlights, returnFlights, translations)
10937
11306
  value: firstLine_1 === null || firstLine_1 === void 0 ? void 0 : firstLine_1.departureAirport,
10938
11307
  label: firstLine_1.departureAirportDescription,
10939
11308
  count: 0,
10940
- isSelected: false
11309
+ isSelected: false,
10941
11310
  });
10942
11311
  }
10943
11312
  }
@@ -10946,20 +11315,20 @@ var buildFilterOptions = function (outwardFlights, returnFlights, translations)
10946
11315
  value: airlineCode,
10947
11316
  label: flight.airlineDescription,
10948
11317
  count: 0,
10949
- isSelected: false
11318
+ isSelected: false,
10950
11319
  });
10951
11320
  }
10952
11321
  var stopCount = flight.flightMetaData.flightLines.length - 1;
10953
- if (!numberOfStops.some(function (x) { return x.value === (stopCount + ''); })) {
11322
+ if (!numberOfStops.some(function (x) { return x.value === stopCount + ""; })) {
10954
11323
  numberOfStops.push({
10955
- value: (stopCount + ''),
11324
+ value: stopCount + "",
10956
11325
  label: stopCount === 0
10957
11326
  ? translations.FLIGHTS_FORM.DIRECT_FLIGHT
10958
11327
  : stopCount == 1
10959
11328
  ? "".concat(stopCount, " ").concat(translations.FLIGHTS_FORM.STOP)
10960
11329
  : "".concat(stopCount, " ").concat(translations.FLIGHTS_FORM.STOPS),
10961
11330
  count: 0,
10962
- isSelected: false
11331
+ isSelected: false,
10963
11332
  });
10964
11333
  }
10965
11334
  var departureTime = flight.flightMetaData.flightLines[0].departureTime;
@@ -10969,7 +11338,7 @@ var buildFilterOptions = function (outwardFlights, returnFlights, translations)
10969
11338
  value: timeBracket,
10970
11339
  label: getBracketTranslation(timeBracket, translations),
10971
11340
  count: 0,
10972
- isSelected: false
11341
+ isSelected: false,
10973
11342
  });
10974
11343
  }
10975
11344
  var travelDurationInMinutes = minutesFromTicks(flight.flightMetaData.durationInTicks);
@@ -11005,7 +11374,7 @@ var buildFilterOptions = function (outwardFlights, returnFlights, translations)
11005
11374
  value: timeBracket,
11006
11375
  label: getBracketTranslation(timeBracket, translations),
11007
11376
  count: 0,
11008
- isSelected: false
11377
+ isSelected: false,
11009
11378
  });
11010
11379
  }
11011
11380
  });
@@ -11019,14 +11388,14 @@ var buildFilterOptions = function (outwardFlights, returnFlights, translations)
11019
11388
  min: lowestDepartureTravelDuration,
11020
11389
  max: highestDepartureTravelDuration,
11021
11390
  selectedMin: lowestDepartureTravelDuration,
11022
- selectedMax: highestDepartureTravelDuration
11391
+ selectedMax: highestDepartureTravelDuration,
11023
11392
  },
11024
11393
  changeDuration: {
11025
11394
  min: lowestDepartureChangeDuration,
11026
11395
  max: highestDepartureChangeDuration,
11027
11396
  selectedMin: lowestDepartureChangeDuration,
11028
- selectedMax: highestDepartureChangeDuration
11029
- }
11397
+ selectedMax: highestDepartureChangeDuration,
11398
+ },
11030
11399
  },
11031
11400
  return: {
11032
11401
  departurePeriod: returnDeparturePeriods,
@@ -11034,15 +11403,15 @@ var buildFilterOptions = function (outwardFlights, returnFlights, translations)
11034
11403
  min: lowestReturnTravelDuration,
11035
11404
  max: highestReturnTravelDuration,
11036
11405
  selectedMin: lowestReturnTravelDuration,
11037
- selectedMax: highestReturnTravelDuration
11406
+ selectedMax: highestReturnTravelDuration,
11038
11407
  },
11039
11408
  changeDuration: {
11040
11409
  min: lowestReturnChangeDuration,
11041
11410
  max: highestReturnChangeDuration,
11042
11411
  selectedMin: lowestReturnChangeDuration,
11043
- selectedMax: highestReturnChangeDuration
11044
- }
11045
- }
11412
+ selectedMax: highestReturnChangeDuration,
11413
+ },
11414
+ },
11046
11415
  };
11047
11416
  };
11048
11417
  var filterGroupedFlights = function (groups, filterOptions) {
@@ -11051,15 +11420,21 @@ var filterGroupedFlights = function (groups, filterOptions) {
11051
11420
  var filteredGroups = groups;
11052
11421
  if (filterOptions.airlines.some(function (x) { return x.isSelected; })) {
11053
11422
  var selectedAirlineCodes_1 = filterOptions.airlines.filter(function (x) { return x.isSelected; });
11054
- filteredGroups = filteredGroups.filter(function (x) { return selectedAirlineCodes_1.some(function (y) { return y.value === x.outward.airlineCode; }); });
11423
+ filteredGroups = filteredGroups.filter(function (x) {
11424
+ return selectedAirlineCodes_1.some(function (y) { return y.value === x.outward.airlineCode; });
11425
+ });
11055
11426
  }
11056
11427
  if (filterOptions.airports.some(function (x) { return x.isSelected; })) {
11057
11428
  var selectedAirlineCodes_2 = filterOptions.airports.filter(function (x) { return x.isSelected; });
11058
- filteredGroups = filteredGroups.filter(function (x) { return selectedAirlineCodes_2.some(function (y) { return y.value === x.outward.departureAirportCode; }); });
11429
+ filteredGroups = filteredGroups.filter(function (x) {
11430
+ return selectedAirlineCodes_2.some(function (y) { return y.value === x.outward.departureAirportCode; });
11431
+ });
11059
11432
  }
11060
11433
  if (filterOptions.numberOfStops.some(function (x) { return x.isSelected; })) {
11061
11434
  var selectedNumberOfStops_1 = filterOptions.numberOfStops.filter(function (x) { return x.isSelected; });
11062
- filteredGroups = filteredGroups.filter(function (x) { return selectedNumberOfStops_1.some(function (y) { return parseInt(y.value) === (x.outward.flightLines.length - 1); }); });
11435
+ filteredGroups = filteredGroups.filter(function (x) {
11436
+ return selectedNumberOfStops_1.some(function (y) { return parseInt(y.value) === x.outward.flightLines.length - 1; });
11437
+ });
11063
11438
  }
11064
11439
  filteredGroups = filterGroupedFlightByDirection(filteredGroups, true, filterOptions.outward);
11065
11440
  filteredGroups = filterGroupedFlightByDirection(filteredGroups, false, filterOptions.return);
@@ -11069,10 +11444,25 @@ var filterGroupedFlightByDirection = function (groups, isOutward, directionFilte
11069
11444
  var filteredGroups = groups;
11070
11445
  if (directionFilter.departurePeriod.some(function (x) { return x.isSelected; })) {
11071
11446
  var selectedDeparturePeriods_1 = directionFilter.departurePeriod.filter(function (x) { return x.isSelected; });
11072
- filteredGroups = filteredGroups.filter(function (x) { return selectedDeparturePeriods_1.some(function (y) { return y.value === determineTimeBracket((isOutward ? x.outward : x.return).departureTime); }); });
11447
+ filteredGroups = filteredGroups.filter(function (x) {
11448
+ return selectedDeparturePeriods_1.some(function (y) {
11449
+ return y.value ===
11450
+ determineTimeBracket((isOutward ? x.outward : x.return).departureTime);
11451
+ });
11452
+ });
11073
11453
  }
11074
- filteredGroups = filteredGroups.filter(function (x) { return directionFilter.travelDuration.selectedMin <= (isOutward ? x.outward : x.return).travelDurationMinutes && (isOutward ? x.outward : x.return).travelDurationMinutes <= directionFilter.travelDuration.selectedMax; });
11075
- return filteredGroups.filter(function (x) { return directionFilter.changeDuration.selectedMin <= (isOutward ? x.outward : x.return).changeDurationMinutes && (isOutward ? x.outward : x.return).changeDurationMinutes <= directionFilter.changeDuration.selectedMax; });
11454
+ filteredGroups = filteredGroups.filter(function (x) {
11455
+ return directionFilter.travelDuration.selectedMin <=
11456
+ (isOutward ? x.outward : x.return).travelDurationMinutes &&
11457
+ (isOutward ? x.outward : x.return).travelDurationMinutes <=
11458
+ directionFilter.travelDuration.selectedMax;
11459
+ });
11460
+ return filteredGroups.filter(function (x) {
11461
+ return directionFilter.changeDuration.selectedMin <=
11462
+ (isOutward ? x.outward : x.return).changeDurationMinutes &&
11463
+ (isOutward ? x.outward : x.return).changeDurationMinutes <=
11464
+ directionFilter.changeDuration.selectedMax;
11465
+ });
11076
11466
  };
11077
11467
  var formatMinutes = function (minutes) {
11078
11468
  var hh = Math.floor(minutes / 60);
@@ -11082,7 +11472,7 @@ var formatMinutes = function (minutes) {
11082
11472
  var getFlightDetails = function (flight) {
11083
11473
  var firstLine = flight.flightMetaData.flightLines[0];
11084
11474
  var lastLine = flight.flightMetaData.flightLines[flight.flightMetaData.flightLines.length - 1];
11085
- var airlineCode = flight.code.split('/')[1];
11475
+ var airlineCode = flight.code.split("/")[1];
11086
11476
  var waitDurations = getWaitDurations(flight.flightMetaData.flightLines);
11087
11477
  return {
11088
11478
  airline: flight.airlineDescription,
@@ -11111,7 +11501,7 @@ var getFlightDetails = function (flight) {
11111
11501
  number: "".concat(x.airlineCode, " ").concat(x.number),
11112
11502
  travelDuration: formatDuration(x.durationInTicks),
11113
11503
  waitDuration: waitDurations.length - 1 <= i ? waitDurations[i] : undefined,
11114
- }); })
11504
+ }); }),
11115
11505
  };
11116
11506
  };
11117
11507
  var isNextDay = function (startDateString, endDateString) {
@@ -11142,11 +11532,11 @@ var getWaitDuration = function (arrivalDateString, arrivalTime, departureDateStr
11142
11532
  };
11143
11533
  var getWaitDurationInMinutes = function (arrivalDateString, arrivalTime, departureDateString, departureTime) {
11144
11534
  var arrivalDate = dateFns.parseISO(arrivalDateString);
11145
- var arrivalTimeParts = arrivalTime.split(':');
11535
+ var arrivalTimeParts = arrivalTime.split(":");
11146
11536
  arrivalDate.setHours(parseInt(arrivalTimeParts[0]));
11147
11537
  arrivalDate.setMinutes(parseInt(arrivalTimeParts[1]));
11148
11538
  var departureDate = dateFns.parseISO(departureDateString);
11149
- var departureTimeParts = departureTime.split(':');
11539
+ var departureTimeParts = departureTime.split(":");
11150
11540
  departureDate.setHours(parseInt(departureTimeParts[0]));
11151
11541
  departureDate.setMinutes(parseInt(departureTimeParts[1]));
11152
11542
  return dateFns.differenceInMinutes(departureDate, arrivalDate);
@@ -11187,32 +11577,32 @@ var minutesFromTicks = function (ticks) {
11187
11577
  };
11188
11578
  var formatDuration = function (ticks) {
11189
11579
  if (!ticks)
11190
- return '';
11580
+ return "";
11191
11581
  var totalSeconds = ticks / 10000000;
11192
11582
  var hh = Math.floor(totalSeconds / 3600);
11193
11583
  var mm = Math.floor((totalSeconds % 3600) / 60);
11194
11584
  return pad(hh, 2) + ":" + pad(mm, 2);
11195
11585
  };
11196
11586
  var pad = function (input, width) {
11197
- var n = input + '';
11198
- return n.length >= width ? n : new Array(width - n.length + 1).join('0') + n;
11587
+ var n = input + "";
11588
+ return n.length >= width ? n : new Array(width - n.length + 1).join("0") + n;
11199
11589
  };
11200
11590
  var determineTimeBracket = function (input) {
11201
- var time = parseInt(input.replace(':', ''));
11591
+ var time = parseInt(input.replace(":", ""));
11202
11592
  if (time <= 500)
11203
- return '0000-0500';
11593
+ return "0000-0500";
11204
11594
  if (time > 500 && time <= 1200)
11205
- return '0500-1200';
11595
+ return "0500-1200";
11206
11596
  if (time > 1200 && time <= 1800)
11207
- return '1201-1800';
11208
- return '1800-2400';
11597
+ return "1201-1800";
11598
+ return "1800-2400";
11209
11599
  };
11210
11600
  var getBracketTranslation = function (input, translations) {
11211
- if (input === '0000-0500')
11601
+ if (input === "0000-0500")
11212
11602
  return translations.FLIGHTS_FORM.NIGHT_DEPARTURE;
11213
- if (input === '0500-1200')
11603
+ if (input === "0500-1200")
11214
11604
  return translations.FLIGHTS_FORM.MORNING_DEPARTURE;
11215
- if (input === '1200-1800')
11605
+ if (input === "1200-1800")
11216
11606
  return translations.FLIGHTS_FORM.AFTERNOON_DEPARTURE;
11217
11607
  return translations.FLIGHTS_FORM.EVENING_DEPARTURE;
11218
11608
  };
@@ -11237,7 +11627,8 @@ var FlightFilter = function (_a) {
11237
11627
  var filterRef = React.useRef(null);
11238
11628
  React.useEffect(function () {
11239
11629
  function handleClickOutside(event) {
11240
- if (filterRef.current && !filterRef.current.contains(event.target)) {
11630
+ if (filterRef.current &&
11631
+ !filterRef.current.contains(event.target)) {
11241
11632
  setFiltersVisible(false);
11242
11633
  }
11243
11634
  }
@@ -11305,9 +11696,11 @@ var FlightFilter = function (_a) {
11305
11696
  return (React__default["default"].createElement(React__default["default"].Fragment, null,
11306
11697
  React__default["default"].createElement("button", { type: "button", className: "cta cta--filter", onClick: function () { return setFiltersVisible(!filtersVisible); } },
11307
11698
  React__default["default"].createElement(Icon, { name: "ui-filter", width: 11, height: 10 }),
11308
- React__default["default"].createElement("span", null, translations.FLIGHTS_FORM.FILTER_OPTIONS),
11309
- filtersVisible),
11310
- React__default["default"].createElement("div", { ref: filterRef, className: buildClassName(["flight__filter", filtersVisible && "flight__filter--active"]) },
11699
+ React__default["default"].createElement("span", null, translations.FLIGHTS_FORM.FILTER_OPTIONS)),
11700
+ React__default["default"].createElement("div", { ref: filterRef, className: buildClassName([
11701
+ "flight__filter",
11702
+ filtersVisible && "flight__filter--active",
11703
+ ]) },
11311
11704
  React__default["default"].createElement("div", { className: "flight__filter__header" },
11312
11705
  React__default["default"].createElement("div", { className: "flight__filter__header__title" },
11313
11706
  React__default["default"].createElement("h3", null, translations.FLIGHTS_FORM.FILTER_OPTIONS),
@@ -11319,14 +11712,16 @@ var FlightFilter = function (_a) {
11319
11712
  " ",
11320
11713
  translations.FLIGHTS_FORM.FLIGHTS_FOUND_2),
11321
11714
  " ",
11322
- translations.FLIGHTS_FORM.FLIGHTS_FOUND_3))),
11715
+ translations.FLIGHTS_FORM.FLIGHTS_FOUND_3)),
11716
+ React__default["default"].createElement("button", { type: "button", className: "cta cta--close", onClick: function () { return setFiltersVisible(false); } },
11717
+ React__default["default"].createElement(Icon, { name: "ui-close", width: 25, height: 25 }))),
11323
11718
  React__default["default"].createElement("div", { className: "flight__filter__body" },
11324
11719
  React__default["default"].createElement("div", { className: "flight__filter__group" },
11325
11720
  React__default["default"].createElement("div", { className: "flight__filter__group__title" }, translations.FLIGHTS_FORM.AIRLINES),
11326
11721
  React__default["default"].createElement("div", { className: "flight__filter__group__wrapper" }, filterOptions.airlines.map(function (option, k) { return (React__default["default"].createElement("div", { className: "tree", key: k },
11327
11722
  React__default["default"].createElement("div", { className: "checkbox flight__filter__checkbox" },
11328
- React__default["default"].createElement("label", { htmlFor: 'airline_' + option.value, className: "checkbox__label" },
11329
- React__default["default"].createElement("input", { type: "checkbox", id: 'airline_' + option.value, className: "checkbox__input checkbox__input--parent", onClick: function () { return updateAirlineFilter(option.value); } }),
11723
+ React__default["default"].createElement("label", { htmlFor: "airline_" + option.value, className: "checkbox__label" },
11724
+ React__default["default"].createElement("input", { type: "checkbox", id: "airline_" + option.value, className: "checkbox__input checkbox__input--parent", onClick: function () { return updateAirlineFilter(option.value); } }),
11330
11725
  React__default["default"].createElement("span", { className: "radiobutton__label-text" },
11331
11726
  option.label,
11332
11727
  " ",
@@ -11338,8 +11733,8 @@ var FlightFilter = function (_a) {
11338
11733
  React__default["default"].createElement("div", { className: "flight__filter__group__title" }, translations.FLIGHTS_FORM.AIRPORTS),
11339
11734
  React__default["default"].createElement("div", { className: "flight__filter__group__wrapper" }, filterOptions.airports.map(function (option, k) { return (React__default["default"].createElement("div", { className: "tree", key: k },
11340
11735
  React__default["default"].createElement("div", { className: "checkbox flight__filter__checkbox" },
11341
- React__default["default"].createElement("label", { htmlFor: 'airport_' + option.value, className: "checkbox__label" },
11342
- React__default["default"].createElement("input", { type: "checkbox", id: 'airport_' + option.value, className: "checkbox__input checkbox__input--parent", onClick: function () { return updateAirportFilter(option.value); } }),
11736
+ React__default["default"].createElement("label", { htmlFor: "airport_" + option.value, className: "checkbox__label" },
11737
+ React__default["default"].createElement("input", { type: "checkbox", id: "airport_" + option.value, className: "checkbox__input checkbox__input--parent", onClick: function () { return updateAirportFilter(option.value); } }),
11343
11738
  React__default["default"].createElement("span", { className: "radiobutton__label-text" },
11344
11739
  option.label,
11345
11740
  " ",
@@ -11351,8 +11746,8 @@ var FlightFilter = function (_a) {
11351
11746
  React__default["default"].createElement("div", { className: "flight__filter__group__title" }, translations.FLIGHTS_FORM.NUMBER_OF_STOPS),
11352
11747
  React__default["default"].createElement("div", { className: "flight__filter__group__wrapper" }, filterOptions.numberOfStops.map(function (option, k) { return (React__default["default"].createElement("div", { className: "tree", key: k },
11353
11748
  React__default["default"].createElement("div", { className: "checkbox flight__filter__checkbox" },
11354
- React__default["default"].createElement("label", { htmlFor: 'stops_' + option.value, className: "checkbox__label" },
11355
- React__default["default"].createElement("input", { type: "checkbox", id: 'stops_' + option.value, className: "checkbox__input checkbox__input--parent", onClick: function () { return updateStopsFilter(option.value); } }),
11749
+ React__default["default"].createElement("label", { htmlFor: "stops_" + option.value, className: "checkbox__label" },
11750
+ React__default["default"].createElement("input", { type: "checkbox", id: "stops_" + option.value, className: "checkbox__input checkbox__input--parent", onClick: function () { return updateStopsFilter(option.value); } }),
11356
11751
  React__default["default"].createElement("span", { className: "radiobutton__label-text" },
11357
11752
  option.label,
11358
11753
  " ",
@@ -11366,8 +11761,8 @@ var FlightFilter = function (_a) {
11366
11761
  React__default["default"].createElement("p", null, translations.FLIGHTS_FORM.DEPARTURE_TIME),
11367
11762
  filterOptions.outward.departurePeriod.map(function (option, k) { return (React__default["default"].createElement("div", { className: "tree", key: k },
11368
11763
  React__default["default"].createElement("div", { className: "checkbox flight__filter__checkbox" },
11369
- React__default["default"].createElement("label", { htmlFor: 'outward_time_' + option.value, className: "checkbox__label" },
11370
- React__default["default"].createElement("input", { type: "checkbox", id: 'outward_time_' + option.value, className: "checkbox__input checkbox__input--parent", onClick: function () { return updateOutwardDeparture(option.value); } }),
11764
+ React__default["default"].createElement("label", { htmlFor: "outward_time_" + option.value, className: "checkbox__label" },
11765
+ React__default["default"].createElement("input", { type: "checkbox", id: "outward_time_" + option.value, className: "checkbox__input checkbox__input--parent", onClick: function () { return updateOutwardDeparture(option.value); } }),
11371
11766
  React__default["default"].createElement("span", { className: "radiobutton__label-text" },
11372
11767
  option.label,
11373
11768
  " ",
@@ -11387,8 +11782,8 @@ var FlightFilter = function (_a) {
11387
11782
  React__default["default"].createElement("p", null, translations.FLIGHTS_FORM.DEPARTURE_TIME),
11388
11783
  filterOptions.return.departurePeriod.map(function (option, k) { return (React__default["default"].createElement("div", { className: "tree", key: k },
11389
11784
  React__default["default"].createElement("div", { className: "checkbox flight__filter__checkbox" },
11390
- React__default["default"].createElement("label", { htmlFor: 'return_time_' + option.value, className: "checkbox__label" },
11391
- React__default["default"].createElement("input", { type: "checkbox", id: 'return_time_' + option.value, className: "checkbox__input checkbox__input--parent", onClick: function () { return updateReturnDeparture(option.value); } }),
11785
+ React__default["default"].createElement("label", { htmlFor: "return_time_" + option.value, className: "checkbox__label" },
11786
+ React__default["default"].createElement("input", { type: "checkbox", id: "return_time_" + option.value, className: "checkbox__input checkbox__input--parent", onClick: function () { return updateReturnDeparture(option.value); } }),
11392
11787
  React__default["default"].createElement("span", { className: "radiobutton__label-text" },
11393
11788
  option.label,
11394
11789
  " ",
@@ -11535,9 +11930,15 @@ var FlightOptionFlight = function (_a) {
11535
11930
  React__default["default"].createElement("p", null, getDateText(details.arrivalDate)),
11536
11931
  details.isNextDay && (React__default["default"].createElement("span", { className: "flight__info__times__days" }, translations.FLIGHTS_FORM.PLUS_ONE_DAY))))),
11537
11932
  React__default["default"].createElement("div", { className: "flight__detail__btn__wrapper" },
11538
- React__default["default"].createElement("div", { className: buildClassName(["flight__detail__btn", isDetailVisible && "flight__detail__btn--active"]), onClick: function () { return setIsDetailVisible(!isDetailVisible); } },
11933
+ React__default["default"].createElement("div", { className: buildClassName([
11934
+ "flight__detail__btn",
11935
+ isDetailVisible && "flight__detail__btn--active",
11936
+ ]), onClick: function () { return setIsDetailVisible(!isDetailVisible); } },
11539
11937
  React__default["default"].createElement(Icon, { name: "ui-chevron", className: "flight__detail__btn__arrow", width: 16, height: 16 })))),
11540
- React__default["default"].createElement("div", { className: buildClassName(["flight__detail", isDetailVisible && "flight__detail--active"]) }, details.flightLines.map(function (flightLine, flightLineIndex) { return (React__default["default"].createElement(React__default["default"].Fragment, { key: flightLineIndex },
11938
+ React__default["default"].createElement("div", { className: buildClassName([
11939
+ "flight__detail",
11940
+ isDetailVisible && "flight__detail--active",
11941
+ ]) }, details.flightLines.map(function (flightLine, flightLineIndex) { return (React__default["default"].createElement(React__default["default"].Fragment, { key: flightLineIndex },
11541
11942
  React__default["default"].createElement("div", { className: "flight__info" },
11542
11943
  React__default["default"].createElement("div", { className: "flight__info__times__wrapper" },
11543
11944
  React__default["default"].createElement("div", { className: "flight__info__times" },
@@ -11567,16 +11968,17 @@ var FlightOptionFlight = function (_a) {
11567
11968
  React__default["default"].createElement("span", null, translations.FLIGHTS_FORM.STOP_TIME),
11568
11969
  React__default["default"].createElement("strong", null, flightLine.waitDuration))),
11569
11970
  React__default["default"].createElement("div", { className: "flight__info__times flight__info__times--arrival" }))))); })),
11570
- React__default["default"].createElement("div", { className: buildClassName(["flight__rate", isOptionsVisible && "flight__rate--active"]) })));
11971
+ React__default["default"].createElement("div", { className: buildClassName([
11972
+ "flight__rate",
11973
+ isOptionsVisible && "flight__rate--active",
11974
+ ]) })));
11571
11975
  };
11572
11976
 
11573
11977
  var FlightOption = function (_a) {
11574
11978
  var item = _a.item, isSelected = _a.isSelected, currentPrice = _a.currentPrice, onChange = _a.onChange;
11575
11979
  var translations = reactRedux.useSelector(selectTranslations);
11576
11980
  var ownTotalPrice = item.selectedOutward.price + item.selectedReturn.price;
11577
- var priceDifference = item.isSelected
11578
- ? 0
11579
- : ownTotalPrice - currentPrice;
11981
+ var priceDifference = item.isSelected ? 0 : ownTotalPrice - currentPrice;
11580
11982
  var outwardVisible = React.useState(false)[0];
11581
11983
  var returnVisible = React.useState(false)[0];
11582
11984
  var handleButtonClick = function () {
@@ -11590,11 +11992,14 @@ var FlightOption = function (_a) {
11590
11992
  React__default["default"].createElement("div", { className: "flight__flight__header" },
11591
11993
  React__default["default"].createElement("div", { className: "flight__status__container" }),
11592
11994
  React__default["default"].createElement("div", { className: "flight__price" },
11593
- !isSelected && (React__default["default"].createElement("span", { className: buildClassName(["price",
11995
+ !isSelected && (React__default["default"].createElement("span", { className: buildClassName([
11996
+ "price",
11594
11997
  priceDifference > 0 && "price--increase",
11595
- priceDifference < 0 && "price--decrease"
11998
+ priceDifference < 0 && "price--decrease",
11596
11999
  ]) }, getPriceDifferenceText(priceDifference))),
11597
- React__default["default"].createElement("button", { type: "button", className: "cta ".concat(isSelected ? 'cta--selected' : 'cta--select'), onClick: handleButtonClick }, isSelected ? translations.SHARED.SELECTED : translations.SHARED.SELECT)))),
12000
+ React__default["default"].createElement("button", { type: "button", className: "cta ".concat(isSelected ? "cta--selected" : "cta--select"), onClick: handleButtonClick }, isSelected
12001
+ ? translations.SHARED.SELECTED
12002
+ : translations.SHARED.SELECT)))),
11598
12003
  React__default["default"].createElement(FlightOptionFlight, { details: item.outward, isOptionsVisible: outwardVisible }),
11599
12004
  React__default["default"].createElement(FlightOptionFlight, { details: item.return, isOptionsVisible: returnVisible })))));
11600
12005
  };
@@ -11765,8 +12170,8 @@ var FlightOptionsForm = function () {
11765
12170
  }
11766
12171
  e.preventDefault();
11767
12172
  };
11768
- var currentFlightPrice = (((_b = (_a = flights.outward) === null || _a === void 0 ? void 0 : _a.find(function (x) { return x.isSelected; })) === null || _b === void 0 ? void 0 : _b.price) || 0)
11769
- + (((_d = (_c = flights.return) === null || _c === void 0 ? void 0 : _c.find(function (x) { return x.isSelected; })) === null || _d === void 0 ? void 0 : _d.price) || 0);
12173
+ var currentFlightPrice = (((_b = (_a = flights.outward) === null || _a === void 0 ? void 0 : _a.find(function (x) { return x.isSelected; })) === null || _b === void 0 ? void 0 : _b.price) || 0) +
12174
+ (((_d = (_c = flights.return) === null || _c === void 0 ? void 0 : _c.find(function (x) { return x.isSelected; })) === null || _d === void 0 ? void 0 : _d.price) || 0);
11770
12175
  React.useEffect(function () {
11771
12176
  var _a, _b;
11772
12177
  if (packageDetails && settings.roomOptions.isHidden) {
@@ -11802,18 +12207,20 @@ var FlightOptionsForm = function () {
11802
12207
  return (React__default["default"].createElement(React__default["default"].Fragment, null,
11803
12208
  React__default["default"].createElement(FlightOptionModal, null),
11804
12209
  React__default["default"].createElement("form", { className: "form", name: "booking--flights", id: "booking--flights", noValidate: true, onSubmit: handleSubmit },
11805
- isLoading && settings.loaderComponent,
11806
- !isLoading && (React__default["default"].createElement("div", { className: "form__group" },
11807
- React__default["default"].createElement("div", { className: "booking-card" },
11808
- React__default["default"].createElement("div", { className: "booking-card__body" },
11809
- filterOptions && (React__default["default"].createElement(FlightFilter, { filterOptions: filterOptions, resultCount: resultCount, applyFilter: setFilterOptions })),
11810
- React__default["default"].createElement("div", { className: "booking-card__group" },
11811
- React__default["default"].createElement("div", { className: "flight outward__flights" },
11812
- lodash.isEmpty(filteredGroups) && (React__default["default"].createElement("p", null, translations.FLIGHTS_FORM.NO_FLIGHTS_FOUND)),
11813
- !lodash.isEmpty(filteredGroups) && filteredGroups.map(function (flight, index) { return (React__default["default"].createElement(FlightOption, { key: index, item: flight, isSelected: flight.isSelected, currentPrice: currentFlightPrice, onChange: function (item) {
11814
- dispatch(setFlights(item));
11815
- dispatch(fetchPriceDetails());
11816
- } })); }))))))),
12210
+ React__default["default"].createElement("div", { className: "form__booking--flight" },
12211
+ isLoading && settings.loaderComponent,
12212
+ !isLoading && (React__default["default"].createElement("div", { className: "form__group" },
12213
+ React__default["default"].createElement("div", { className: "booking-card" },
12214
+ React__default["default"].createElement("div", { className: "booking-card__body" },
12215
+ filterOptions && (React__default["default"].createElement(FlightFilter, { filterOptions: filterOptions, resultCount: resultCount, applyFilter: setFilterOptions })),
12216
+ React__default["default"].createElement("div", { className: "booking-card__group" },
12217
+ React__default["default"].createElement("div", { className: "flight outward__flights" },
12218
+ lodash.isEmpty(filteredGroups) && (React__default["default"].createElement("p", null, translations.FLIGHTS_FORM.NO_FLIGHTS_FOUND)),
12219
+ !lodash.isEmpty(filteredGroups) &&
12220
+ filteredGroups.map(function (flight, index) { return (React__default["default"].createElement(FlightOption, { key: index, item: flight, isSelected: flight.isSelected, currentPrice: currentFlightPrice, onChange: function (item) {
12221
+ dispatch(setFlights(item));
12222
+ dispatch(fetchPriceDetails());
12223
+ } })); })))))))),
11817
12224
  React__default["default"].createElement("div", { className: "booking__navigator" },
11818
12225
  React__default["default"].createElement("button", { type: "submit", title: translations.STEPS.NEXT, disabled: isLoading, className: buildClassName(["cta", isLoading && "cta--disabled"]) }, translations.STEPS.NEXT)))));
11819
12226
  };
@@ -11823,7 +12230,10 @@ var buildSelectableRooms = function (packageRooms, accommodations, regimes, acco
11823
12230
  var _a, _b;
11824
12231
  var selectedOption = x.options.find(function (x) { return x.isSelected; });
11825
12232
  var alternativeOptions = x.options
11826
- .filter(function (x) { return x.accommodationCode !== selectedOption.accommodationCode && !x.isLocked; })
12233
+ .filter(function (x) {
12234
+ return x.accommodationCode !== selectedOption.accommodationCode &&
12235
+ !x.isLocked;
12236
+ })
11827
12237
  .sort(function (a, b) { return a.price - b.price; });
11828
12238
  var alternativeAccommodations = [];
11829
12239
  alternativeOptions.forEach(function (x) {
@@ -11834,7 +12244,7 @@ var buildSelectableRooms = function (packageRooms, accommodations, regimes, acco
11834
12244
  alternativeAccommodation.regimes.push({
11835
12245
  code: x.regimeCode,
11836
12246
  title: (_a = regime === null || regime === void 0 ? void 0 : regime.title) !== null && _a !== void 0 ? _a : x.regimeName,
11837
- price: x.price
12247
+ price: x.price,
11838
12248
  });
11839
12249
  }
11840
12250
  else {
@@ -11846,16 +12256,18 @@ var buildSelectableRooms = function (packageRooms, accommodations, regimes, acco
11846
12256
  from: x.from,
11847
12257
  to: x.to,
11848
12258
  price: x.price,
11849
- regimes: [{
12259
+ regimes: [
12260
+ {
11850
12261
  code: x.regimeCode,
11851
12262
  title: (_b = regime === null || regime === void 0 ? void 0 : regime.title) !== null && _b !== void 0 ? _b : x.regimeName,
11852
- price: x.price
11853
- }],
12263
+ price: x.price,
12264
+ },
12265
+ ],
11854
12266
  title: (_c = accommodation_1 === null || accommodation_1 === void 0 ? void 0 : accommodation_1.title) !== null && _c !== void 0 ? _c : x.accommodationName,
11855
12267
  image: accommodation_1 === null || accommodation_1 === void 0 ? void 0 : accommodation_1.imageUrl,
11856
12268
  usps: (_d = accommodation_1 === null || accommodation_1 === void 0 ? void 0 : accommodation_1.usps) !== null && _d !== void 0 ? _d : [],
11857
12269
  description: accommodation_1 === null || accommodation_1 === void 0 ? void 0 : accommodation_1.description,
11858
- viewHtml: accommodationViews === null || accommodationViews === void 0 ? void 0 : accommodationViews[x.accommodationCode]
12270
+ viewHtml: accommodationViews === null || accommodationViews === void 0 ? void 0 : accommodationViews[x.accommodationCode],
11859
12271
  });
11860
12272
  }
11861
12273
  });
@@ -11877,17 +12289,17 @@ var buildSelectableRooms = function (packageRooms, accommodations, regimes, acco
11877
12289
  return {
11878
12290
  code: o.regimeCode,
11879
12291
  title: (_a = regime === null || regime === void 0 ? void 0 : regime.title) !== null && _a !== void 0 ? _a : o.regimeName,
11880
- price: o.price
12292
+ price: o.price,
11881
12293
  };
11882
12294
  }),
11883
12295
  title: (_a = accommodation === null || accommodation === void 0 ? void 0 : accommodation.title) !== null && _a !== void 0 ? _a : selectedOption.accommodationName,
11884
12296
  image: accommodation === null || accommodation === void 0 ? void 0 : accommodation.imageUrl,
11885
12297
  usps: (_b = accommodation === null || accommodation === void 0 ? void 0 : accommodation.usps) !== null && _b !== void 0 ? _b : [],
11886
12298
  description: accommodation === null || accommodation === void 0 ? void 0 : accommodation.description,
11887
- viewHtml: accommodationViews === null || accommodationViews === void 0 ? void 0 : accommodationViews[selectedOption.accommodationCode]
12299
+ viewHtml: accommodationViews === null || accommodationViews === void 0 ? void 0 : accommodationViews[selectedOption.accommodationCode],
11888
12300
  },
11889
12301
  showAlternatives: false,
11890
- alternatives: alternativeAccommodations
12302
+ alternatives: alternativeAccommodations,
11891
12303
  };
11892
12304
  });
11893
12305
  };
@@ -11897,11 +12309,14 @@ var updatePackageRooms = function (rooms, index, accommodationCode, regimeCode,
11897
12309
  return room;
11898
12310
  return __assign(__assign({}, room), { options: room.options.map(function (option) {
11899
12311
  return __assign(__assign({}, option), { isSelected: option.accommodationCode === accommodationCode &&
11900
- (option.regimeCode === regimeCode || (option.regimeCode === null && regimeCode === '')) });
12312
+ (option.regimeCode === regimeCode ||
12313
+ (option.regimeCode === null && regimeCode === "")) });
11901
12314
  }) });
11902
12315
  });
11903
12316
  var selectedAccommodations = new Map();
11904
- updatedRooms.map(function (x) { return x.options.find(function (x) { return x.isSelected; }); }).forEach(function (x) {
12317
+ updatedRooms
12318
+ .map(function (x) { return x.options.find(function (x) { return x.isSelected; }); })
12319
+ .forEach(function (x) {
11905
12320
  if (selectedAccommodations.has(x.accommodationCode)) {
11906
12321
  selectedAccommodations.set(x.accommodationCode, selectedAccommodations.get(x.accommodationCode) + 1);
11907
12322
  }
@@ -11909,7 +12324,10 @@ var updatePackageRooms = function (rooms, index, accommodationCode, regimeCode,
11909
12324
  selectedAccommodations.set(x.accommodationCode, 1);
11910
12325
  }
11911
12326
  });
11912
- var accoCounter = availabilities.map(function (x) { return ({ code: x.code, count: x.count }); });
12327
+ var accoCounter = availabilities.map(function (x) { return ({
12328
+ code: x.code,
12329
+ count: x.count,
12330
+ }); });
11913
12331
  return updatedRooms.map(function (room) {
11914
12332
  var selectedOption = room.options.find(function (x) { return x.isSelected; });
11915
12333
  return __assign(__assign({}, room), { options: room.options.map(function (option) {
@@ -11925,7 +12343,10 @@ var updatePackageRooms = function (rooms, index, accommodationCode, regimeCode,
11925
12343
  : roomsLeft < 0 && ((_c = availability === null || availability === void 0 ? void 0 : availability.onRequestPossible) !== null && _c !== void 0 ? _c : false);
11926
12344
  if (isCurrentOption)
11927
12345
  accoCount.count--;
11928
- return __assign(__assign({}, option), { isLocked: !option.isSelected && !isOnRequest && roomsLeft < 0 && !availability.isExternal, isOnRequest: isOnRequest });
12346
+ return __assign(__assign({}, option), { isLocked: !option.isSelected &&
12347
+ !isOnRequest &&
12348
+ roomsLeft < 0 &&
12349
+ !availability.isExternal, isOnRequest: isOnRequest });
11929
12350
  }
11930
12351
  else {
11931
12352
  return option;
@@ -11996,7 +12417,7 @@ var OptionItem = function (_a) {
11996
12417
  ? option.isSelected
11997
12418
  ? -option.line.price
11998
12419
  : option.line.price
11999
- : (option.requirementType === 2 || option.requirementType === 3)
12420
+ : option.requirementType === 2 || option.requirementType === 3
12000
12421
  ? option.line.price - selectedPrice
12001
12422
  : 0;
12002
12423
  var accommodations = lodash.uniqBy(lodash.compact(__spreadArray([option.line], option.alternatives, true).map(function (option) {
@@ -12137,7 +12558,9 @@ var OptionPaxGroup = function (_a) {
12137
12558
  var updatedGroup = __assign(__assign({}, group), { options: group.options.map(function (o, i) {
12138
12559
  return i === index
12139
12560
  ? option
12140
- : __assign(__assign({}, o), { isSelected: option.requirementType === 2 || option.requirementType === 3 ? false : o.isSelected });
12561
+ : __assign(__assign({}, o), { isSelected: option.requirementType === 2 || option.requirementType === 3
12562
+ ? false
12563
+ : o.isSelected });
12141
12564
  }) });
12142
12565
  if (onGroupChange)
12143
12566
  onGroupChange(updatedGroup, paxId, optionId);
@@ -12179,13 +12602,16 @@ var OptionPaxGroup = function (_a) {
12179
12602
  (option.requirementType === 0 ||
12180
12603
  option.requirementType === 1) &&
12181
12604
  "checkbox",
12182
- (option.requirementType === 2 || option.requirementType === 3) && "radiobutton",
12605
+ (option.requirementType === 2 ||
12606
+ option.requirementType === 3) &&
12607
+ "radiobutton",
12183
12608
  ]) },
12184
12609
  React__default["default"].createElement("label", { htmlFor: "".concat(parentId, "_").concat(index), className: buildClassName([
12185
12610
  (option.requirementType === 0 ||
12186
12611
  option.requirementType === 1) &&
12187
12612
  "checkbox__label",
12188
- (option.requirementType === 2 || option.requirementType === 3) &&
12613
+ (option.requirementType === 2 ||
12614
+ option.requirementType === 3) &&
12189
12615
  "radiobutton__label",
12190
12616
  ]) },
12191
12617
  React__default["default"].createElement(OptionItem, { option: option, parentId: parentId, index: index, selectedPrice: selectedPrice, onOptionChange: handleOptionChange }),
@@ -12224,8 +12650,11 @@ var OptionPaxCard = function (_a) {
12224
12650
  onPaxChange(updatedPax, parentIndex);
12225
12651
  };
12226
12652
  var getAirlineGroups = function (p) {
12227
- return p.airlineGroups
12228
- .filter(function (x) { var _a, _b; return x.flightIds.includes((_a = departureFlight === null || departureFlight === void 0 ? void 0 : departureFlight.entryLineGuid) !== null && _a !== void 0 ? _a : "") || x.flightIds.includes((_b = returnFlight === null || returnFlight === void 0 ? void 0 : returnFlight.entryLineGuid) !== null && _b !== void 0 ? _b : ""); });
12653
+ return p.airlineGroups.filter(function (x) {
12654
+ var _a, _b;
12655
+ return x.flightIds.includes((_a = departureFlight === null || departureFlight === void 0 ? void 0 : departureFlight.entryLineGuid) !== null && _a !== void 0 ? _a : "") ||
12656
+ x.flightIds.includes((_b = returnFlight === null || returnFlight === void 0 ? void 0 : returnFlight.entryLineGuid) !== null && _b !== void 0 ? _b : "");
12657
+ });
12229
12658
  };
12230
12659
  var handleOnAirlineGroupChange = function (group, paxId) {
12231
12660
  var updatedPax = pax.map(function (p) {
@@ -12239,8 +12668,11 @@ var OptionPaxCard = function (_a) {
12239
12668
  onPaxChange(updatedPax, parentIndex);
12240
12669
  };
12241
12670
  var getAirportGroups = function (p) {
12242
- return p.airportGroups
12243
- .filter(function (x) { var _a, _b; return x.flightIds.includes((_a = departureFlight === null || departureFlight === void 0 ? void 0 : departureFlight.entryLineGuid) !== null && _a !== void 0 ? _a : "") || x.flightIds.includes((_b = returnFlight === null || returnFlight === void 0 ? void 0 : returnFlight.entryLineGuid) !== null && _b !== void 0 ? _b : ""); });
12671
+ return p.airportGroups.filter(function (x) {
12672
+ var _a, _b;
12673
+ return x.flightIds.includes((_a = departureFlight === null || departureFlight === void 0 ? void 0 : departureFlight.entryLineGuid) !== null && _a !== void 0 ? _a : "") ||
12674
+ x.flightIds.includes((_b = returnFlight === null || returnFlight === void 0 ? void 0 : returnFlight.entryLineGuid) !== null && _b !== void 0 ? _b : "");
12675
+ });
12244
12676
  };
12245
12677
  var handleOnAirportGroupChange = function (group, paxId) {
12246
12678
  var updatedPax = pax.map(function (p) {
@@ -12288,7 +12720,9 @@ var OptionUnitGroup = function (_a) {
12288
12720
  var updatedGroup = __assign(__assign({}, group), { options: group.options.map(function (o, i) {
12289
12721
  return i === index
12290
12722
  ? option
12291
- : __assign(__assign({}, o), { isSelected: option.requirementType === 2 || option.requirementType === 3 ? false : o.isSelected });
12723
+ : __assign(__assign({}, o), { isSelected: option.requirementType === 2 || option.requirementType === 3
12724
+ ? false
12725
+ : o.isSelected });
12292
12726
  }) });
12293
12727
  if (onGroupChange)
12294
12728
  onGroupChange(updatedGroup, unitIndex, optionId);
@@ -12337,13 +12771,16 @@ var OptionUnitGroup = function (_a) {
12337
12771
  (option.requirementType === 0 ||
12338
12772
  option.requirementType === 1) &&
12339
12773
  "checkbox",
12340
- (option.requirementType === 2 || option.requirementType === 3) && "radiobutton",
12774
+ (option.requirementType === 2 ||
12775
+ option.requirementType === 3) &&
12776
+ "radiobutton",
12341
12777
  ]) },
12342
12778
  React__default["default"].createElement("label", { htmlFor: "".concat(parentId, "_").concat(index), className: buildClassName([
12343
12779
  (option.requirementType === 0 ||
12344
12780
  option.requirementType === 1) &&
12345
12781
  "checkbox__label",
12346
- (option.requirementType === 2 || option.requirementType === 3) &&
12782
+ (option.requirementType === 2 ||
12783
+ option.requirementType === 3) &&
12347
12784
  "radiobutton__label",
12348
12785
  ]) },
12349
12786
  React__default["default"].createElement(OptionItem, { option: option, parentId: parentId, index: index, selectedPrice: selectedPrice, onOptionChange: handleOptionChange }),
@@ -12378,8 +12815,11 @@ var OptionUnitsCard = function (_a) {
12378
12815
  onUnitsChange(updatedUnits, parentIndex);
12379
12816
  };
12380
12817
  var getAirlineGroups = function (p) {
12381
- return p.airlineGroups
12382
- .filter(function (x) { var _a, _b; return x.flightIds.includes((_a = departureFlight === null || departureFlight === void 0 ? void 0 : departureFlight.entryLineGuid) !== null && _a !== void 0 ? _a : "") || x.flightIds.includes((_b = returnFlight === null || returnFlight === void 0 ? void 0 : returnFlight.entryLineGuid) !== null && _b !== void 0 ? _b : ""); });
12818
+ return p.airlineGroups.filter(function (x) {
12819
+ var _a, _b;
12820
+ return x.flightIds.includes((_a = departureFlight === null || departureFlight === void 0 ? void 0 : departureFlight.entryLineGuid) !== null && _a !== void 0 ? _a : "") ||
12821
+ x.flightIds.includes((_b = returnFlight === null || returnFlight === void 0 ? void 0 : returnFlight.entryLineGuid) !== null && _b !== void 0 ? _b : "");
12822
+ });
12383
12823
  };
12384
12824
  var handleOnAirlineGroupChange = function (group, unitIndex) {
12385
12825
  var updatedPax = units.map(function (u) {
@@ -12393,8 +12833,11 @@ var OptionUnitsCard = function (_a) {
12393
12833
  onUnitsChange(updatedPax, parentIndex);
12394
12834
  };
12395
12835
  var getAirportGroups = function (p) {
12396
- return p.airportGroups
12397
- .filter(function (x) { var _a, _b; return x.flightIds.includes((_a = departureFlight === null || departureFlight === void 0 ? void 0 : departureFlight.entryLineGuid) !== null && _a !== void 0 ? _a : "") || x.flightIds.includes((_b = returnFlight === null || returnFlight === void 0 ? void 0 : returnFlight.entryLineGuid) !== null && _b !== void 0 ? _b : ""); });
12836
+ return p.airportGroups.filter(function (x) {
12837
+ var _a, _b;
12838
+ return x.flightIds.includes((_a = departureFlight === null || departureFlight === void 0 ? void 0 : departureFlight.entryLineGuid) !== null && _a !== void 0 ? _a : "") ||
12839
+ x.flightIds.includes((_b = returnFlight === null || returnFlight === void 0 ? void 0 : returnFlight.entryLineGuid) !== null && _b !== void 0 ? _b : "");
12840
+ });
12398
12841
  };
12399
12842
  var handleOnAirportGroupChange = function (group, unitIndex) {
12400
12843
  var updatedPax = units.map(function (u) {
@@ -12421,8 +12864,7 @@ var OptionUnitsCard = function (_a) {
12421
12864
  React__default["default"].createElement("button", { type: "button", className: "booking-card__toggle", onClick: function () {
12422
12865
  setToggleStates(toggleStates === null || toggleStates === void 0 ? void 0 : toggleStates.map(function (s, si) { return (si == i ? !s : s); }));
12423
12866
  } }))),
12424
- toggleStates &&
12425
- toggleStates[i] && (React__default["default"].createElement(React__default["default"].Fragment, null,
12867
+ toggleStates && toggleStates[i] && (React__default["default"].createElement(React__default["default"].Fragment, null,
12426
12868
  u.groups.map(function (ug) {
12427
12869
  return ug && (React__default["default"].createElement(OptionUnitGroup, { key: ug.name, unitIndex: u.index, group: ug, firstClassName: "booking-card__group-body", secondClassName: "booking-card__group-heading", parentId: "".concat(u.index, "_").concat(ug.name), onGroupChange: onGroupChange }));
12428
12870
  }),
@@ -12441,7 +12883,9 @@ var OptionBookingGroup = function (_a) {
12441
12883
  var updatedGroup = __assign(__assign({}, group), { options: group.options.map(function (o, i) {
12442
12884
  return i === index
12443
12885
  ? option
12444
- : __assign(__assign({}, o), { isSelected: (option.requirementType === 2 || option.requirementType === 3) ? false : o.isSelected });
12886
+ : __assign(__assign({}, o), { isSelected: option.requirementType === 2 || option.requirementType === 3
12887
+ ? false
12888
+ : o.isSelected });
12445
12889
  }) });
12446
12890
  if (onGroupChange)
12447
12891
  onGroupChange(updatedGroup, optionId);
@@ -12497,13 +12941,16 @@ var OptionBookingGroup = function (_a) {
12497
12941
  (option.requirementType === 0 ||
12498
12942
  option.requirementType === 1) &&
12499
12943
  "checkbox",
12500
- (option.requirementType === 2 || option.requirementType === 3) && "radiobutton",
12944
+ (option.requirementType === 2 ||
12945
+ option.requirementType === 3) &&
12946
+ "radiobutton",
12501
12947
  ]) },
12502
12948
  React__default["default"].createElement("label", { htmlFor: "".concat(parentId, "_").concat(index), className: buildClassName([
12503
12949
  (option.requirementType === 0 ||
12504
12950
  option.requirementType === 1) &&
12505
12951
  "checkbox__label",
12506
- (option.requirementType === 2 || option.requirementType === 3) &&
12952
+ (option.requirementType === 2 ||
12953
+ option.requirementType === 3) &&
12507
12954
  "radiobutton__label",
12508
12955
  ]) },
12509
12956
  React__default["default"].createElement(OptionItem, { option: option, parentId: parentId, index: index, selectedPrice: selectedPrice, onOptionChange: handleOptionChange }),
@@ -12569,7 +13016,10 @@ var OptionRoom = function (_a) {
12569
13016
  })), "accommodationCode");
12570
13017
  var regimes = lodash.uniqBy(lodash.compact(packageRoom &&
12571
13018
  packageRoom.options
12572
- .filter(function (x) { return !selectedOption || x.accommodationCode == selectedOption.accommodationCode; })
13019
+ .filter(function (x) {
13020
+ return !selectedOption ||
13021
+ x.accommodationCode == selectedOption.accommodationCode;
13022
+ })
12573
13023
  .map(function (option) {
12574
13024
  return {
12575
13025
  regimeCode: option.regimeCode,
@@ -12799,7 +13249,9 @@ var OptionsForm = function () {
12799
13249
  };
12800
13250
  React.useEffect(function () {
12801
13251
  var _a, _b;
12802
- if (packageDetails && settings.roomOptions.isHidden && settings.flightOptions.isHidden) {
13252
+ if (packageDetails &&
13253
+ settings.roomOptions.isHidden &&
13254
+ settings.flightOptions.isHidden) {
12803
13255
  var params = new URLSearchParams(location.search);
12804
13256
  var outwardFlight_1 = (_a = params.get("outwardflight")) !== null && _a !== void 0 ? _a : undefined;
12805
13257
  var returnFlight_1 = (_b = params.get("returnflight")) !== null && _b !== void 0 ? _b : undefined;
@@ -12909,7 +13361,7 @@ var RoomOption = function (_a) {
12909
13361
  };
12910
13362
  var handleRegimeChange = function (e) {
12911
13363
  var regimeCode = e.currentTarget.value;
12912
- var option = room.regimes.find(function (x) { return x.code === regimeCode || (x.code === null && regimeCode === ''); });
13364
+ var option = room.regimes.find(function (x) { return x.code === regimeCode || (x.code === null && regimeCode === ""); });
12913
13365
  setRoomRegimeCode(option.code);
12914
13366
  setRoomPrice(option.price);
12915
13367
  if (onRegimeChange) {
@@ -12948,7 +13400,12 @@ var RoomOption = function (_a) {
12948
13400
  " ",
12949
13401
  getPriceDifference(regime.price, roomPrice)));
12950
13402
  })))),
12951
- React__default["default"].createElement("button", { type: "button", onClick: selectAccommodation, className: buildClassName(['cta', selectedRoomPrice ? 'cta--secondary' : 'cta--selected']) }, selectedRoomPrice ? translations.SHARED.SELECT : translations.SHARED.SELECTED))))));
13403
+ React__default["default"].createElement("button", { type: "button", onClick: selectAccommodation, className: buildClassName([
13404
+ "cta",
13405
+ selectedRoomPrice ? "cta--select" : "cta--selected",
13406
+ ]) }, selectedRoomPrice
13407
+ ? translations.SHARED.SELECT
13408
+ : translations.SHARED.SELECTED))))));
12952
13409
  };
12953
13410
 
12954
13411
  var TravelerRooms = function (_a) {
@@ -12956,22 +13413,25 @@ var TravelerRooms = function (_a) {
12956
13413
  var translations = reactRedux.useSelector(selectTranslations);
12957
13414
  var _b = React.useState(false), showAlternatives = _b[0], setShowAlternatives = _b[1];
12958
13415
  var selectedAccommodationCode = room.selected.code;
12959
- return (React__default["default"].createElement("div", { key: room.index },
13416
+ return (React__default["default"].createElement("div", { key: room.index, className: "form__room__container" },
12960
13417
  React__default["default"].createElement("div", { className: "form__room__header" },
12961
13418
  React__default["default"].createElement("h5", null,
12962
13419
  translations.ROOM_OPTIONS_FORM.TRAVELER_GROUP,
12963
13420
  " ",
12964
13421
  room.index + 1)),
12965
- React__default["default"].createElement(RoomOption, { room: room.selected, hasAlternatives: !lodash.isEmpty(room.alternatives), onRegimeChange: function (regimeCode) { return onRoomChange(index, selectedAccommodationCode, regimeCode); }, onToggleAlternatives: function () { return setShowAlternatives(!showAlternatives); } }),
13422
+ React__default["default"].createElement(RoomOption, { room: room.selected, hasAlternatives: !lodash.isEmpty(room.alternatives), onRegimeChange: function (regimeCode) {
13423
+ return onRoomChange(index, selectedAccommodationCode, regimeCode);
13424
+ }, onToggleAlternatives: function () { return setShowAlternatives(!showAlternatives); } }),
12966
13425
  !lodash.isEmpty(room.alternatives) && showAlternatives && (React__default["default"].createElement("div", { className: "form__room__alternatives" },
12967
13426
  React__default["default"].createElement("div", { className: "form__room__alternatives__header" },
12968
13427
  translations.ROOM_OPTIONS_FORM.ALTERNATIVES_TRAVELER_GROUP,
12969
13428
  " ",
12970
13429
  room.index + 1),
12971
- showAlternatives && (React__default["default"].createElement(React__default["default"].Fragment, null, room.alternatives.map(function (alternative, alternativeIndex) { return (React__default["default"].createElement(RoomOption, { key: alternativeIndex, room: alternative, selectedRoomPrice: room.selected.price, onAcommodationChange: function (accommodationCode, regimeCode) {
12972
- setShowAlternatives(false);
12973
- onRoomChange(index, accommodationCode, regimeCode);
12974
- } })); })))))));
13430
+ showAlternatives && (React__default["default"].createElement(React__default["default"].Fragment, null,
13431
+ React__default["default"].createElement("div", { className: "form__room__alternatives__content" }, room.alternatives.map(function (alternative, alternativeIndex) { return (React__default["default"].createElement(RoomOption, { key: alternativeIndex, room: alternative, selectedRoomPrice: room.selected.price, onAcommodationChange: function (accommodationCode, regimeCode) {
13432
+ setShowAlternatives(false);
13433
+ onRoomChange(index, accommodationCode, regimeCode);
13434
+ } })); }))))))));
12975
13435
  };
12976
13436
 
12977
13437
  var RoomOptionsForm = function () {
@@ -13106,83 +13566,84 @@ var Sidebar = function (_a) {
13106
13566
  React__default["default"].createElement("div", { className: "booking__sidebar-frame" },
13107
13567
  React__default["default"].createElement(ProductCard, { productName: productName, thumbnailUrl: thumbnailUrl, handleToggleClick: handleToggleClick }),
13108
13568
  React__default["default"].createElement("div", { className: "pricing-summary" },
13109
- React__default["default"].createElement("div", { className: "pricing-summary__region" },
13110
- React__default["default"].createElement("div", { className: "pricing-summary__group" },
13111
- React__default["default"].createElement("h6", { className: "pricing-summary__title" }, translations.SIDEBAR.TRAVEL_INFO),
13112
- !lodash.isEmpty(travelerRooms) &&
13113
- (travelerRooms === null || travelerRooms === void 0 ? void 0 : travelerRooms.map(function (room, rIndex) { return (React__default["default"].createElement("div", { className: "pricing-summary__row", key: rIndex },
13569
+ React__default["default"].createElement("div", { className: "pricing-summary__wrapper" },
13570
+ React__default["default"].createElement("div", { className: "pricing-summary__region ".concat(!isLoading ? "pricing-summary__region--fade-in" : "") },
13571
+ React__default["default"].createElement("div", { className: "pricing-summary__group" },
13572
+ React__default["default"].createElement("h6", { className: "pricing-summary__title" }, translations.SIDEBAR.TRAVEL_INFO),
13573
+ !lodash.isEmpty(travelerRooms) &&
13574
+ (travelerRooms === null || travelerRooms === void 0 ? void 0 : travelerRooms.map(function (room, rIndex) { return (React__default["default"].createElement("div", { className: "pricing-summary__row", key: rIndex },
13575
+ React__default["default"].createElement("div", { className: "pricing-summary__property" },
13576
+ translations.SHARED.ROOM,
13577
+ " ",
13578
+ rIndex + 1),
13579
+ React__default["default"].createElement("div", { className: "pricing-summary__value" }, room))); })),
13580
+ startDateText && (React__default["default"].createElement("div", { className: "pricing-summary__row" },
13581
+ React__default["default"].createElement("div", { className: "pricing-summary__property" }, startDateText && endDateText
13582
+ ? translations.SIDEBAR.DEPARTURE
13583
+ : translations.SIDEBAR.DEPARTURE_SINGLE),
13584
+ React__default["default"].createElement("div", { className: "pricing-summary__value" }, startDateText))),
13585
+ endDateText && (React__default["default"].createElement("div", { className: "pricing-summary__row" },
13586
+ React__default["default"].createElement("div", { className: "pricing-summary__property" }, translations.SIDEBAR.ARRIVAL),
13587
+ React__default["default"].createElement("div", { className: "pricing-summary__value" }, endDateText)))),
13588
+ isLoading && loaderComponent,
13589
+ !isLoading && departureFlight && returnFlight && (React__default["default"].createElement(React__default["default"].Fragment, null,
13590
+ React__default["default"].createElement(SidebarFlight, { title: translations.SIDEBAR.DEPARTURE_FLIGHT, flight: departureFlight }),
13591
+ React__default["default"].createElement(SidebarFlight, { title: translations.SIDEBAR.ARRIVAL_FLIGHT, flight: returnFlight }))),
13592
+ accommodations && (React__default["default"].createElement("div", { className: "pricing-summary__group" },
13593
+ React__default["default"].createElement("h6", { className: "pricing-summary__title" }, translations.SIDEBAR.ACCOMMODATION),
13594
+ accommodations.map(function (accommodation) {
13595
+ var option = accommodation.options.find(function (x) { return x.isSelected; });
13596
+ return (React__default["default"].createElement("div", { key: accommodation.index },
13597
+ React__default["default"].createElement("div", { className: "pricing-summary__row" },
13598
+ React__default["default"].createElement("div", { className: "pricing-summary__property" }, option === null || option === void 0 ? void 0 :
13599
+ option.accommodationName,
13600
+ isOnRequest
13601
+ ? " (".concat(translations.SIDEBAR.ON_REQUEST, ")")
13602
+ : "",
13603
+ (option === null || option === void 0 ? void 0 : option.isOnRequest)
13604
+ ? " (".concat(translations.SIDEBAR.ON_REQUEST, ")")
13605
+ : "")),
13606
+ React__default["default"].createElement("div", { className: "pricing-summary__row" },
13607
+ React__default["default"].createElement("div", { className: "price-summarty__property" }, option === null || option === void 0 ? void 0 : option.regimeName),
13608
+ React__default["default"].createElement("div", { className: "price-summary__value" }, getDatePeriodText(option === null || option === void 0 ? void 0 : option.from, option === null || option === void 0 ? void 0 : option.to, true)))));
13609
+ })))),
13610
+ !isLoading && canShowPriceBreakdownSection && (React__default["default"].createElement("div", { className: "pricing-summary__region ".concat(!isLoading ? "pricing-summary__region--fade-in" : "") },
13611
+ basePrice !== undefined && basePrice > 0 && (React__default["default"].createElement("div", { className: "pricing-summary__group" },
13612
+ React__default["default"].createElement("div", { className: "pricing-summary__row" },
13114
13613
  React__default["default"].createElement("div", { className: "pricing-summary__property" },
13115
- translations.SHARED.ROOM,
13116
- " ",
13117
- rIndex + 1),
13118
- React__default["default"].createElement("div", { className: "pricing-summary__value" }, room))); })),
13119
- startDateText && (React__default["default"].createElement("div", { className: "pricing-summary__row" },
13120
- React__default["default"].createElement("div", { className: "pricing-summary__property" }, startDateText && endDateText
13121
- ? translations.SIDEBAR.DEPARTURE
13122
- : translations.SIDEBAR.DEPARTURE_SINGLE),
13123
- React__default["default"].createElement("div", { className: "pricing-summary__value" }, startDateText))),
13124
- endDateText && (React__default["default"].createElement("div", { className: "pricing-summary__row" },
13125
- React__default["default"].createElement("div", { className: "pricing-summary__property" }, translations.SIDEBAR.ARRIVAL),
13126
- React__default["default"].createElement("div", { className: "pricing-summary__value" }, endDateText)))),
13127
- isLoading && loaderComponent,
13128
- !isLoading && departureFlight && returnFlight && (React__default["default"].createElement(React__default["default"].Fragment, null,
13129
- React__default["default"].createElement(SidebarFlight, { title: translations.SIDEBAR.DEPARTURE_FLIGHT, flight: departureFlight }),
13130
- React__default["default"].createElement(SidebarFlight, { title: translations.SIDEBAR.ARRIVAL_FLIGHT, flight: returnFlight }))),
13131
- accommodations && (React__default["default"].createElement("div", { className: "pricing-summary__group" },
13132
- React__default["default"].createElement("h6", { className: "pricing-summary__title" }, translations.SIDEBAR.ACCOMMODATION),
13133
- accommodations.map(function (accommodation) {
13134
- var option = accommodation.options.find(function (x) { return x.isSelected; });
13135
- return (React__default["default"].createElement("div", { key: accommodation.index },
13136
- React__default["default"].createElement("div", { className: "pricing-summary__row" },
13137
- React__default["default"].createElement("div", { className: "pricing-summary__property" }, option === null || option === void 0 ? void 0 :
13138
- option.accommodationName,
13139
- isOnRequest
13140
- ? " (".concat(translations.SIDEBAR.ON_REQUEST, ")")
13141
- : "",
13142
- (option === null || option === void 0 ? void 0 : option.isOnRequest)
13143
- ? " (".concat(translations.SIDEBAR.ON_REQUEST, ")")
13144
- : "")),
13145
- React__default["default"].createElement("div", { className: "pricing-summary__row" },
13146
- React__default["default"].createElement("div", { className: "price-summarty__property" }, option === null || option === void 0 ? void 0 : option.regimeName),
13147
- React__default["default"].createElement("div", { className: "price-summary__value" }, getDatePeriodText(option === null || option === void 0 ? void 0 : option.from, option === null || option === void 0 ? void 0 : option.to, true)))));
13148
- })))),
13149
- !isLoading && canShowPriceBreakdownSection && (React__default["default"].createElement("div", { className: "pricing-summary__region" },
13150
- basePrice !== undefined && basePrice > 0 && (React__default["default"].createElement("div", { className: "pricing-summary__group" },
13151
- React__default["default"].createElement("div", { className: "pricing-summary__row" },
13152
- React__default["default"].createElement("div", { className: "pricing-summary__property" },
13153
- React__default["default"].createElement("h6", { className: "pricing-summary__title" }, translations.SIDEBAR.BASE_PRICE)),
13154
- React__default["default"].createElement("div", { className: "pricing-summary__value" }, formatPrice(basePrice))))),
13155
- !lodash.isEmpty(includedCosts) && (React__default["default"].createElement("div", { className: "pricing-summary__group" },
13156
- React__default["default"].createElement("h6", { className: "pricing-summary__title" }, translations.SIDEBAR.INCLUDED_COSTS), includedCosts === null || includedCosts === void 0 ? void 0 :
13157
- includedCosts.map(function (priceDetail, index) {
13158
- var _a;
13159
- return (React__default["default"].createElement(React__default["default"].Fragment, { key: lodash.compact([
13160
- priceDetail.productCode,
13161
- priceDetail.accommodationCode,
13162
- index,
13163
- ]).join("_") },
13164
- React__default["default"].createElement("div", { className: "pricing-summary__row" },
13165
- React__default["default"].createElement("div", { className: "pricing-summary__property" }, priceDetail.productName),
13166
- priceDetail.showPrice && (React__default["default"].createElement("div", { className: "pricing-summary__value" }, formatPrice(priceDetail.price * priceDetail.amount)))),
13167
- React__default["default"].createElement("div", { className: "pricing-summary__row" },
13168
- React__default["default"].createElement("div", { className: "price-summary__property" }, (_a = priceDetail.accommodationName) !== null && _a !== void 0 ? _a : priceDetail.accommodationCode))));
13169
- }))),
13170
- !lodash.isEmpty(extraCosts) && (React__default["default"].createElement("div", { className: "pricing-summary__group" },
13171
- React__default["default"].createElement("h6", { className: "pricing-summary__title" }, translations.SIDEBAR.EXTRA_COSTS), extraCosts === null || extraCosts === void 0 ? void 0 :
13172
- extraCosts.map(function (priceDetail, index) {
13173
- var _a;
13174
- return (React__default["default"].createElement(React__default["default"].Fragment, { key: lodash.compact([
13175
- priceDetail.productCode,
13176
- priceDetail.accommodationCode,
13177
- index,
13178
- ]).join("_") },
13179
- React__default["default"].createElement("div", { className: "pricing-summary__row" },
13180
- React__default["default"].createElement("div", { className: "pricing-summary__property" }, priceDetail.productName),
13181
- priceDetail.showPrice && (React__default["default"].createElement("div", { className: "pricing-summary__value" }, formatPrice(priceDetail.price * priceDetail.amount)))),
13182
- React__default["default"].createElement("div", { className: "pricing-summary__row" },
13183
- React__default["default"].createElement("div", { className: "price-summary__property" }, (_a = priceDetail.accommodationName) !== null && _a !== void 0 ? _a : priceDetail.accommodationCode))));
13184
- }))))),
13185
- !isLoading && canShowTotalPriceSection && (React__default["default"].createElement("div", { className: "pricing-summary__region pricing-summary__region--pricing" }, deposit ? (React__default["default"].createElement("div", { className: "pricing-summary__group" },
13614
+ React__default["default"].createElement("h6", { className: "pricing-summary__title" }, translations.SIDEBAR.BASE_PRICE)),
13615
+ React__default["default"].createElement("div", { className: "pricing-summary__value" }, formatPrice(basePrice))))),
13616
+ !lodash.isEmpty(includedCosts) && (React__default["default"].createElement("div", { className: "pricing-summary__group" },
13617
+ React__default["default"].createElement("h6", { className: "pricing-summary__title" }, translations.SIDEBAR.INCLUDED_COSTS), includedCosts === null || includedCosts === void 0 ? void 0 :
13618
+ includedCosts.map(function (priceDetail, index) {
13619
+ var _a;
13620
+ return (React__default["default"].createElement(React__default["default"].Fragment, { key: lodash.compact([
13621
+ priceDetail.productCode,
13622
+ priceDetail.accommodationCode,
13623
+ index,
13624
+ ]).join("_") },
13625
+ React__default["default"].createElement("div", { className: "pricing-summary__row" },
13626
+ React__default["default"].createElement("div", { className: "pricing-summary__property" }, priceDetail.productName),
13627
+ priceDetail.showPrice && (React__default["default"].createElement("div", { className: "pricing-summary__value" }, formatPrice(priceDetail.price * priceDetail.amount)))),
13628
+ React__default["default"].createElement("div", { className: "pricing-summary__row" },
13629
+ React__default["default"].createElement("div", { className: "price-summary__property" }, (_a = priceDetail.accommodationName) !== null && _a !== void 0 ? _a : priceDetail.accommodationCode))));
13630
+ }))),
13631
+ !lodash.isEmpty(extraCosts) && (React__default["default"].createElement("div", { className: "pricing-summary__group" },
13632
+ React__default["default"].createElement("h6", { className: "pricing-summary__title" }, translations.SIDEBAR.EXTRA_COSTS), extraCosts === null || extraCosts === void 0 ? void 0 :
13633
+ extraCosts.map(function (priceDetail, index) {
13634
+ var _a;
13635
+ return (React__default["default"].createElement(React__default["default"].Fragment, { key: lodash.compact([
13636
+ priceDetail.productCode,
13637
+ priceDetail.accommodationCode,
13638
+ index,
13639
+ ]).join("_") },
13640
+ React__default["default"].createElement("div", { className: "pricing-summary__row" },
13641
+ React__default["default"].createElement("div", { className: "pricing-summary__property" }, priceDetail.productName),
13642
+ priceDetail.showPrice && (React__default["default"].createElement("div", { className: "pricing-summary__value" }, formatPrice(priceDetail.price * priceDetail.amount)))),
13643
+ React__default["default"].createElement("div", { className: "pricing-summary__row" },
13644
+ React__default["default"].createElement("div", { className: "price-summary__property" }, (_a = priceDetail.accommodationName) !== null && _a !== void 0 ? _a : priceDetail.accommodationCode))));
13645
+ })))))),
13646
+ !isLoading && canShowTotalPriceSection && (React__default["default"].createElement("div", { className: "pricing-summary__region pricing-summary__region--pricing ".concat(!isLoading ? "pricing-summary__region--fade-in" : "") }, deposit ? (React__default["default"].createElement("div", { className: "pricing-summary__group" },
13186
13647
  totalPrice !== undefined && totalPrice > 0 && (React__default["default"].createElement("div", { className: "pricing-summary__row pricing-summary__row--total-price" },
13187
13648
  React__default["default"].createElement("div", { className: "pricing-summary__property" },
13188
13649
  React__default["default"].createElement("h6", { className: "pricing-summary__title" }, translations.SHARED.TOTAL_PRICE)),
@@ -13204,7 +13665,7 @@ var Sidebar = function (_a) {
13204
13665
  formatPrice(remainingAmount),
13205
13666
  translations.SIDEBAR.DEPOSIT_TEXT4,
13206
13667
  React__default["default"].createElement("strong", null, translations.SIDEBAR.DEPOSIT_TEXT5),
13207
- translations.SIDEBAR.DEPOSIT_TEXT6))))) : (React__default["default"].createElement("div", { className: "pricing-summary__group" }, totalPrice !== undefined && totalPrice > 0 && (React__default["default"].createElement("div", { className: "pricing-summary__row" },
13668
+ translations.SIDEBAR.DEPOSIT_TEXT6))))) : (React__default["default"].createElement("div", { className: "pricing-summary__group" }, totalPrice !== undefined && totalPrice > 0 && (React__default["default"].createElement("div", { className: "pricing-summary__row pricing-summary__row--total-price" },
13208
13669
  React__default["default"].createElement("div", { className: "pricing-summary__property" },
13209
13670
  React__default["default"].createElement("h6", { className: "pricing-summary__title" }, translations.SHARED.TOTAL_PRICE)),
13210
13671
  React__default["default"].createElement("div", { className: "pricing-summary__value" },
@@ -13233,28 +13694,29 @@ var SidebarContainer = function (_a) {
13233
13694
  var SummaryPerPaxOptionGroup = function (_a) {
13234
13695
  var group = _a.group;
13235
13696
  var groupOptions = group.options.filter(function (x) { return x.isSelected; });
13236
- return (React__default["default"].createElement("li", { className: "list__item" },
13697
+ var renderOptions = function () { return (React__default["default"].createElement(React__default["default"].Fragment, null, groupOptions.map(function (opt) {
13698
+ var _a;
13699
+ return (React__default["default"].createElement("li", { key: opt.line.entryLineGuid, className: "list__item" },
13700
+ opt.line.productName,
13701
+ React__default["default"].createElement("ul", null,
13702
+ React__default["default"].createElement("li", null,
13703
+ opt.line.accommodationName,
13704
+ !lodash.isNil((_a = opt.line) === null || _a === void 0 ? void 0 : _a.regimeName) && ", ",
13705
+ opt.line.regimeName)),
13706
+ getDateText(opt.line.startDate),
13707
+ opt.line.startDate != opt.line.endDate
13708
+ ? " > ".concat(getDateText(opt.line.endDate))
13709
+ : "",
13710
+ React__default["default"].createElement("ul", { className: "list" }, !lodash.isEmpty(opt === null || opt === void 0 ? void 0 : opt.groups) &&
13711
+ (opt === null || opt === void 0 ? void 0 : opt.groups.map(function (x) {
13712
+ if (!x.options.some(function (y) { return y.isSelected; }))
13713
+ return;
13714
+ return React__default["default"].createElement(SummaryPerPaxOptionGroup, { group: x });
13715
+ })))));
13716
+ }))); };
13717
+ return (React__default["default"].createElement(React__default["default"].Fragment, null, group.title ? (React__default["default"].createElement("li", { className: "list__item" },
13237
13718
  React__default["default"].createElement("h6", null, group.title),
13238
- React__default["default"].createElement("ul", { className: "list" }, groupOptions.map(function (opt) {
13239
- var _a;
13240
- return (React__default["default"].createElement("li", { key: opt.line.entryLineGuid, className: "list__item" },
13241
- opt.line.productName,
13242
- ": ",
13243
- opt.line.accommodationName,
13244
- !lodash.isNil((_a = opt.line) === null || _a === void 0 ? void 0 : _a.regimeName) && ", ",
13245
- opt.line.regimeName,
13246
- React__default["default"].createElement("br", null),
13247
- getDateText(opt.line.startDate),
13248
- opt.line.startDate != opt.line.endDate
13249
- ? " > ".concat(getDateText(opt.line.endDate))
13250
- : "",
13251
- React__default["default"].createElement("ul", { className: "list" }, !lodash.isEmpty(opt === null || opt === void 0 ? void 0 : opt.groups) &&
13252
- (opt === null || opt === void 0 ? void 0 : opt.groups.map(function (x) {
13253
- if (!x.options.some(function (y) { return y.isSelected; }))
13254
- return;
13255
- return React__default["default"].createElement(SummaryPerPaxOptionGroup, { group: x });
13256
- })))));
13257
- }))));
13719
+ React__default["default"].createElement("ul", { className: "list" }, renderOptions()))) : (React__default["default"].createElement(React__default["default"].Fragment, null, renderOptions()))));
13258
13720
  };
13259
13721
 
13260
13722
  var SummaryBookingOptionPax = function (_a) {
@@ -13270,31 +13732,32 @@ var SummaryBookingOptionPax = function (_a) {
13270
13732
  var SummaryPerUnitOptionGroup = function (_a) {
13271
13733
  var group = _a.group;
13272
13734
  var groupOptions = group.options.filter(function (x) { return x.isSelected; });
13273
- return (React__default["default"].createElement("li", { className: "list__item" },
13735
+ var renderOptions = function () { return (React__default["default"].createElement(React__default["default"].Fragment, null, groupOptions.map(function (opt) {
13736
+ var _a;
13737
+ return (React__default["default"].createElement("li", { key: opt.line.entryLineGuid, className: "list__item" },
13738
+ opt.line.productName,
13739
+ React__default["default"].createElement("ul", null,
13740
+ React__default["default"].createElement("li", null,
13741
+ opt.line.accommodationName,
13742
+ !lodash.isNil((_a = opt.line) === null || _a === void 0 ? void 0 : _a.regimeName) && ", ",
13743
+ opt.line.regimeName)),
13744
+ getDateText(opt.line.startDate),
13745
+ opt.line.startDate != opt.line.endDate
13746
+ ? " > ".concat(getDateText(opt.line.endDate))
13747
+ : "",
13748
+ React__default["default"].createElement("ul", null,
13749
+ !lodash.isEmpty(opt === null || opt === void 0 ? void 0 : opt.groups) &&
13750
+ (opt === null || opt === void 0 ? void 0 : opt.groups.map(function (x) {
13751
+ if (!x.options.some(function (y) { return y.isSelected; }))
13752
+ return;
13753
+ return React__default["default"].createElement(SummaryPerUnitOptionGroup, { group: x });
13754
+ })),
13755
+ !lodash.isEmpty(opt === null || opt === void 0 ? void 0 : opt.pax) &&
13756
+ (opt === null || opt === void 0 ? void 0 : opt.pax.map(function (x) { return React__default["default"].createElement(SummaryBookingOptionPax, { pax: x }); })))));
13757
+ }))); };
13758
+ return (React__default["default"].createElement(React__default["default"].Fragment, null, group.title ? (React__default["default"].createElement("li", { className: "list__item" },
13274
13759
  React__default["default"].createElement("h6", null, group.title),
13275
- React__default["default"].createElement("ul", { className: "list" }, groupOptions.map(function (opt) {
13276
- var _a;
13277
- return (React__default["default"].createElement("li", { key: opt.line.entryLineGuid, className: "list__item" },
13278
- opt.line.productName,
13279
- ": ",
13280
- opt.line.accommodationName,
13281
- !lodash.isNil((_a = opt.line) === null || _a === void 0 ? void 0 : _a.regimeName) && ", ",
13282
- opt.line.regimeName,
13283
- React__default["default"].createElement("br", null),
13284
- getDateText(opt.line.startDate),
13285
- opt.line.startDate != opt.line.endDate
13286
- ? " > ".concat(getDateText(opt.line.endDate))
13287
- : "",
13288
- React__default["default"].createElement("ul", null,
13289
- !lodash.isEmpty(opt === null || opt === void 0 ? void 0 : opt.groups) &&
13290
- (opt === null || opt === void 0 ? void 0 : opt.groups.map(function (x) {
13291
- if (!x.options.some(function (y) { return y.isSelected; }))
13292
- return;
13293
- return React__default["default"].createElement(SummaryPerUnitOptionGroup, { group: x });
13294
- })),
13295
- !lodash.isEmpty(opt === null || opt === void 0 ? void 0 : opt.pax) &&
13296
- (opt === null || opt === void 0 ? void 0 : opt.pax.map(function (x) { return React__default["default"].createElement(SummaryBookingOptionPax, { pax: x }); })))));
13297
- }))));
13760
+ React__default["default"].createElement("ul", { className: "list" }, renderOptions()))) : (React__default["default"].createElement(React__default["default"].Fragment, null, renderOptions()))));
13298
13761
  };
13299
13762
 
13300
13763
  var SummaryBookingOptionUnit = function (_a) {
@@ -13342,33 +13805,34 @@ var SummaryFlight = function (_a) {
13342
13805
  var SummaryPerBookingOptionGroup = function (_a) {
13343
13806
  var group = _a.group;
13344
13807
  var groupOptions = group.options.filter(function (x) { return x.isSelected; });
13345
- return (React__default["default"].createElement("li", { className: "list__item" },
13808
+ var renderOptions = function () { return (React__default["default"].createElement(React__default["default"].Fragment, null, groupOptions.map(function (opt) {
13809
+ var _a;
13810
+ return (React__default["default"].createElement("li", { key: opt.line.entryLineGuid, className: "list__item" },
13811
+ opt.line.productName,
13812
+ React__default["default"].createElement("ul", null,
13813
+ React__default["default"].createElement("li", null,
13814
+ opt.line.accommodationName,
13815
+ !lodash.isNil((_a = opt.line) === null || _a === void 0 ? void 0 : _a.regimeName) && ", ",
13816
+ opt.line.regimeName)),
13817
+ getDateText(opt.line.startDate),
13818
+ opt.line.startDate != opt.line.endDate
13819
+ ? " > ".concat(getDateText(opt.line.endDate))
13820
+ : "",
13821
+ React__default["default"].createElement("ul", null,
13822
+ !lodash.isEmpty(opt === null || opt === void 0 ? void 0 : opt.groups) &&
13823
+ (opt === null || opt === void 0 ? void 0 : opt.groups.map(function (x) {
13824
+ if (!x.options.some(function (y) { return y.isSelected; }))
13825
+ return;
13826
+ return React__default["default"].createElement(SummaryPerBookingOptionGroup, { group: x });
13827
+ })),
13828
+ !lodash.isEmpty(opt === null || opt === void 0 ? void 0 : opt.units) &&
13829
+ (opt === null || opt === void 0 ? void 0 : opt.units.map(function (x) { return React__default["default"].createElement(SummaryBookingOptionUnit, { unit: x }); })),
13830
+ !lodash.isEmpty(opt === null || opt === void 0 ? void 0 : opt.pax) &&
13831
+ (opt === null || opt === void 0 ? void 0 : opt.pax.map(function (x) { return React__default["default"].createElement(SummaryBookingOptionPax, { pax: x }); })))));
13832
+ }))); };
13833
+ return (React__default["default"].createElement(React__default["default"].Fragment, null, group.title ? (React__default["default"].createElement("li", { className: "list__item" },
13346
13834
  React__default["default"].createElement("h6", null, group.title),
13347
- React__default["default"].createElement("ul", { className: "list" }, groupOptions.map(function (opt) {
13348
- var _a;
13349
- return (React__default["default"].createElement("li", { key: opt.line.entryLineGuid, className: "list__item" },
13350
- opt.line.productName,
13351
- ": ",
13352
- opt.line.accommodationName,
13353
- !lodash.isNil((_a = opt.line) === null || _a === void 0 ? void 0 : _a.regimeName) && ", ",
13354
- opt.line.regimeName,
13355
- React__default["default"].createElement("br", null),
13356
- getDateText(opt.line.startDate),
13357
- opt.line.startDate != opt.line.endDate
13358
- ? " > ".concat(getDateText(opt.line.endDate))
13359
- : "",
13360
- React__default["default"].createElement("ul", null,
13361
- !lodash.isEmpty(opt === null || opt === void 0 ? void 0 : opt.groups) &&
13362
- (opt === null || opt === void 0 ? void 0 : opt.groups.map(function (x) {
13363
- if (!x.options.some(function (y) { return y.isSelected; }))
13364
- return;
13365
- return React__default["default"].createElement(SummaryPerBookingOptionGroup, { group: x });
13366
- })),
13367
- !lodash.isEmpty(opt === null || opt === void 0 ? void 0 : opt.units) &&
13368
- (opt === null || opt === void 0 ? void 0 : opt.units.map(function (x) { return React__default["default"].createElement(SummaryBookingOptionUnit, { unit: x }); })),
13369
- !lodash.isEmpty(opt === null || opt === void 0 ? void 0 : opt.pax) &&
13370
- (opt === null || opt === void 0 ? void 0 : opt.pax.map(function (x) { return React__default["default"].createElement(SummaryBookingOptionPax, { pax: x }); })))));
13371
- }))));
13835
+ React__default["default"].createElement("ul", { className: "list" }, renderOptions()))) : (React__default["default"].createElement(React__default["default"].Fragment, null, renderOptions()))));
13372
13836
  };
13373
13837
 
13374
13838
  var Summary = function () {
@@ -13385,6 +13849,8 @@ var Summary = function () {
13385
13849
  var activeOption = reactRedux.useSelector(selectActiveOption);
13386
13850
  var apiSettings = reactRedux.useSelector(selectApiSettings);
13387
13851
  var languageCode = reactRedux.useSelector(selectLanguageCode);
13852
+ var officeId = reactRedux.useSelector(selectOfficeId);
13853
+ var agentId = reactRedux.useSelector(selectAgentAdressId);
13388
13854
  if (!travelerFormValues) {
13389
13855
  if (settings.skipRouter) {
13390
13856
  dispatch(setCurrentStep(TRAVELERS_FORM_STEP));
@@ -13483,7 +13949,7 @@ var Summary = function () {
13483
13949
  dispatch(setBookingRemarks(text));
13484
13950
  setRemarks(text);
13485
13951
  };
13486
- var handleValidateVoucher = function (event) { return __awaiter$1(void 0, void 0, void 0, function () {
13952
+ var handleValidateVoucher = function () { return __awaiter$1(void 0, void 0, void 0, function () {
13487
13953
  var request, tideClientConfig, result;
13488
13954
  var _a;
13489
13955
  return __generator$1(this, function (_b) {
@@ -13491,10 +13957,13 @@ var Summary = function () {
13491
13957
  case 0:
13492
13958
  if (!(voucher === null || voucher === void 0 ? void 0 : voucher.code))
13493
13959
  return [2 /*return*/];
13494
- request = reactRedux.useSelector(selectBookingPackageRequest);
13495
- request.payload = {
13496
- code: voucher.code,
13497
- otherCodes: (_a = bookRequest === null || bookRequest === void 0 ? void 0 : bookRequest.payload.voucherCodes) !== null && _a !== void 0 ? _a : [],
13960
+ request = {
13961
+ officeId: officeId,
13962
+ agentId: agentId,
13963
+ payload: {
13964
+ code: voucher.code,
13965
+ otherCodes: (_a = bookRequest === null || bookRequest === void 0 ? void 0 : bookRequest.payload.voucherCodes) !== null && _a !== void 0 ? _a : [],
13966
+ },
13498
13967
  };
13499
13968
  tideClientConfig = buildTideClientConfig(apiSettings);
13500
13969
  if (!tideClientConfig)
@@ -13531,176 +14000,185 @@ var Summary = function () {
13531
14000
  return (React__default["default"].createElement(React__default["default"].Fragment, null,
13532
14001
  isSubmitting && settings.loaderComponent,
13533
14002
  !isSubmitting && (React__default["default"].createElement("form", { className: "form", name: "booking--summary", id: "booking--summary", onSubmit: handleSubmit },
13534
- React__default["default"].createElement("div", { className: "form__region" },
13535
- React__default["default"].createElement("div", { className: "form__row" },
13536
- React__default["default"].createElement("div", { className: "form__group" },
13537
- React__default["default"].createElement("div", { className: "form__region-header" },
13538
- React__default["default"].createElement("h5", { className: "form__region-heading" }, translations.SUMMARY.PERSONAL_DETAILS)))),
13539
- rooms.map(function (r, rIndex) { return (React__default["default"].createElement("div", { className: "form__row" },
13540
- React__default["default"].createElement("div", { className: "form__group" },
13541
- React__default["default"].createElement("div", { className: "form__region-header" },
13542
- React__default["default"].createElement("h5", { className: "form__region-heading" },
13543
- translations.SHARED.ROOM,
13544
- " ",
13545
- rIndex + 1),
13546
- React__default["default"].createElement("p", { className: "form__region-label" }, "".concat(r.adults.length + r.children.length, " ").concat(r.adults.length + r.children.length === 1
13547
- ? translations.SUMMARY.TRAVELER
13548
- : translations.SUMMARY.TRAVELERS, ": ").concat(lodash.compact([
13549
- r.adults.length,
13550
- r.adults.length === 1 &&
13551
- " ".concat(translations.SUMMARY.ADULT),
13552
- r.adults.length > 1 &&
13553
- " ".concat(translations.SUMMARY.ADULTS),
13554
- r.adults &&
13555
- r.adults.length &&
13556
- r.children &&
13557
- r.children.length &&
13558
- ", ",
13559
- r.children.length,
13560
- r.children.length === 1 &&
13561
- " ".concat(translations.SUMMARY.CHILD),
13562
- r.children.length > 1 &&
13563
- " ".concat(translations.SUMMARY.CHILDREN),
13564
- ]).join(""))))),
13565
- __spreadArray(__spreadArray([], r.adults, true), r.children, true).map(function (traveler) {
13566
- var isMainBooker = traveler.id === (travelerFormValues === null || travelerFormValues === void 0 ? void 0 : travelerFormValues.mainBookerId);
13567
- return (React__default["default"].createElement("div", { className: "form__group form__group--sm-50", key: traveler.id },
13568
- React__default["default"].createElement("ul", { className: "list list--plain" },
13569
- React__default["default"].createElement("li", { className: "list__item" },
13570
- React__default["default"].createElement("strong", null,
13571
- traveler.firstName,
13572
- " ",
13573
- traveler.lastName),
14003
+ React__default["default"].createElement("div", { className: "form__booking--summary" },
14004
+ React__default["default"].createElement("div", { className: "form__region" },
14005
+ React__default["default"].createElement("div", { className: "form__row" },
14006
+ React__default["default"].createElement("div", { className: "form__group" },
14007
+ React__default["default"].createElement("div", { className: "form__region-header" },
14008
+ React__default["default"].createElement("h5", { className: "form__region-heading" }, translations.SUMMARY.PERSONAL_DETAILS)))),
14009
+ rooms.map(function (r, rIndex) { return (React__default["default"].createElement("div", { className: "form__row" },
14010
+ React__default["default"].createElement("div", { className: "form__group" },
14011
+ React__default["default"].createElement("div", { className: "form__region-header" },
14012
+ React__default["default"].createElement("h5", { className: "form__region-heading" },
14013
+ translations.SHARED.ROOM,
13574
14014
  " ",
13575
- isMainBooker && (React__default["default"].createElement("em", null,
14015
+ rIndex + 1),
14016
+ React__default["default"].createElement("p", { className: "form__region-label" }, "".concat(r.adults.length + r.children.length, " ").concat(r.adults.length + r.children.length === 1
14017
+ ? translations.SUMMARY.TRAVELER
14018
+ : translations.SUMMARY.TRAVELERS, ": ").concat(lodash.compact([
14019
+ r.adults.length,
14020
+ r.adults.length === 1 &&
14021
+ " ".concat(translations.SUMMARY.ADULT),
14022
+ r.adults.length > 1 &&
14023
+ " ".concat(translations.SUMMARY.ADULTS),
14024
+ r.adults &&
14025
+ r.adults.length &&
14026
+ r.children &&
14027
+ r.children.length &&
14028
+ ", ",
14029
+ r.children.length,
14030
+ r.children.length === 1 &&
14031
+ " ".concat(translations.SUMMARY.CHILD),
14032
+ r.children.length > 1 &&
14033
+ " ".concat(translations.SUMMARY.CHILDREN),
14034
+ ]).join(""))))),
14035
+ __spreadArray(__spreadArray([], r.adults, true), r.children, true).map(function (traveler) {
14036
+ var isMainBooker = traveler.id === (travelerFormValues === null || travelerFormValues === void 0 ? void 0 : travelerFormValues.mainBookerId);
14037
+ return (React__default["default"].createElement("div", { className: "form__group form__group--sm-50", key: traveler.id },
14038
+ React__default["default"].createElement("ul", { className: "list list--plain" },
14039
+ React__default["default"].createElement("li", { className: "list__item" },
14040
+ React__default["default"].createElement("strong", null,
14041
+ traveler.firstName,
14042
+ " ",
14043
+ traveler.lastName),
14044
+ " ",
14045
+ isMainBooker && (React__default["default"].createElement("em", null,
14046
+ "(",
14047
+ translations.SUMMARY.MAIN_BOOKER,
14048
+ ")"))),
14049
+ React__default["default"].createElement("li", { className: "list__item" }, traveler.birthDate.split("-").reverse().join("/")),
14050
+ isMainBooker && (React__default["default"].createElement(React__default["default"].Fragment, null,
14051
+ React__default["default"].createElement("li", { className: "list__item" }, "".concat(travelerFormValues === null || travelerFormValues === void 0 ? void 0 : travelerFormValues.street, " ").concat(lodash.compact([
14052
+ travelerFormValues === null || travelerFormValues === void 0 ? void 0 : travelerFormValues.houseNumber,
14053
+ travelerFormValues === null || travelerFormValues === void 0 ? void 0 : travelerFormValues.box,
14054
+ ]).join(" "), ", ").concat(travelerFormValues === null || travelerFormValues === void 0 ? void 0 : travelerFormValues.zipCode, " ").concat(travelerFormValues === null || travelerFormValues === void 0 ? void 0 : travelerFormValues.place)),
14055
+ React__default["default"].createElement("li", { className: "list__item" }, travelerFormValues === null || travelerFormValues === void 0 ? void 0 : travelerFormValues.phone),
14056
+ React__default["default"].createElement("li", { className: "list__item" }, travelerFormValues === null || travelerFormValues === void 0 ? void 0 : travelerFormValues.email))))));
14057
+ }))); })),
14058
+ React__default["default"].createElement("div", { className: "form__region" },
14059
+ React__default["default"].createElement("div", { className: "form__row" },
14060
+ React__default["default"].createElement("div", { className: "form__group" },
14061
+ React__default["default"].createElement("div", { className: "form__region-header" },
14062
+ React__default["default"].createElement("h5", { className: "form__region-heading" }, translations.SUMMARY.OPTIONS)))),
14063
+ React__default["default"].createElement("div", { className: "form__row" },
14064
+ React__default["default"].createElement("div", { className: "form__group" },
14065
+ React__default["default"].createElement("ul", { className: "list list--booking-summary" },
14066
+ React__default["default"].createElement("li", null,
14067
+ React__default["default"].createElement("h6", null, activeOption === null || activeOption === void 0 ? void 0 : activeOption.name),
14068
+ React__default["default"].createElement("ul", null, activeOption === null || activeOption === void 0 ? void 0 : activeOption.rooms.map(function (r, ri) {
14069
+ var roomOption = r.options.find(function (x) { return x.isSelected; });
14070
+ return (React__default["default"].createElement("li", { key: ri, className: "list__item" }, roomOption === null || roomOption === void 0 ? void 0 :
14071
+ roomOption.accommodationName,
14072
+ !lodash.isNil(roomOption === null || roomOption === void 0 ? void 0 : roomOption.regimeName) && ", ", roomOption === null || roomOption === void 0 ? void 0 :
14073
+ roomOption.regimeName));
14074
+ })),
14075
+ React__default["default"].createElement("p", null,
13576
14076
  "(",
13577
- translations.SUMMARY.MAIN_BOOKER,
13578
- ")"))),
13579
- React__default["default"].createElement("li", { className: "list__item" }, traveler.birthDate.split("-").reverse().join("/")),
13580
- isMainBooker && (React__default["default"].createElement(React__default["default"].Fragment, null,
13581
- React__default["default"].createElement("li", { className: "list__item" }, "".concat(travelerFormValues === null || travelerFormValues === void 0 ? void 0 : travelerFormValues.street, " ").concat(lodash.compact([
13582
- travelerFormValues === null || travelerFormValues === void 0 ? void 0 : travelerFormValues.houseNumber,
13583
- travelerFormValues === null || travelerFormValues === void 0 ? void 0 : travelerFormValues.box,
13584
- ]).join(" "), ", ").concat(travelerFormValues === null || travelerFormValues === void 0 ? void 0 : travelerFormValues.zipCode, " ").concat(travelerFormValues === null || travelerFormValues === void 0 ? void 0 : travelerFormValues.place)),
13585
- React__default["default"].createElement("li", { className: "list__item" }, travelerFormValues === null || travelerFormValues === void 0 ? void 0 : travelerFormValues.phone),
13586
- React__default["default"].createElement("li", { className: "list__item" }, travelerFormValues === null || travelerFormValues === void 0 ? void 0 : travelerFormValues.email))))));
13587
- }))); })),
13588
- React__default["default"].createElement("div", { className: "form__region" },
13589
- React__default["default"].createElement("div", { className: "form__row" },
13590
- React__default["default"].createElement("div", { className: "form__group" },
13591
- React__default["default"].createElement("div", { className: "form__region-header" },
13592
- React__default["default"].createElement("h5", { className: "form__region-heading" }, translations.SUMMARY.OPTIONS)))),
13593
- React__default["default"].createElement("div", { className: "form__row" },
13594
- React__default["default"].createElement("div", { className: "form__group" },
13595
- React__default["default"].createElement("ul", { className: "list list--booking-summary" },
13596
- React__default["default"].createElement("li", null,
13597
- React__default["default"].createElement("h6", null, activeOption === null || activeOption === void 0 ? void 0 : activeOption.name),
13598
- React__default["default"].createElement("ul", null, activeOption === null || activeOption === void 0 ? void 0 : activeOption.rooms.map(function (r, ri) {
13599
- var roomOption = r.options.find(function (x) { return x.isSelected; });
13600
- return (React__default["default"].createElement("li", { key: ri, className: "list__item" }, roomOption === null || roomOption === void 0 ? void 0 :
13601
- roomOption.accommodationName,
13602
- !lodash.isNil(roomOption === null || roomOption === void 0 ? void 0 : roomOption.regimeName) && ", ", roomOption === null || roomOption === void 0 ? void 0 :
13603
- roomOption.regimeName));
13604
- })),
13605
- React__default["default"].createElement("p", null,
13606
- "(",
13607
- getDateText(activeOption === null || activeOption === void 0 ? void 0 : activeOption.fromDate),
13608
- " >",
14077
+ getDateText(activeOption === null || activeOption === void 0 ? void 0 : activeOption.fromDate),
14078
+ " >",
14079
+ " ",
14080
+ getDateText(activeOption === null || activeOption === void 0 ? void 0 : activeOption.toDate),
14081
+ ")")),
14082
+ !lodash.isEmpty(activeOption === null || activeOption === void 0 ? void 0 : activeOption.groups) &&
14083
+ (activeOption === null || activeOption === void 0 ? void 0 : activeOption.groups.map(function (x, i) {
14084
+ if (!x.options.some(function (y) { return y.isSelected; }))
14085
+ return;
14086
+ return React__default["default"].createElement(SummaryPerBookingOptionGroup, { key: i, group: x });
14087
+ })),
14088
+ !lodash.isEmpty(activeOption === null || activeOption === void 0 ? void 0 : activeOption.optionUnits) &&
14089
+ (activeOption === null || activeOption === void 0 ? void 0 : activeOption.optionUnits.map(function (x) { return (React__default["default"].createElement(SummaryBookingOptionUnit, { unit: x })); })),
14090
+ !lodash.isEmpty(activeOption === null || activeOption === void 0 ? void 0 : activeOption.optionPax) &&
14091
+ (activeOption === null || activeOption === void 0 ? void 0 : activeOption.optionPax.map(function (x) { return (React__default["default"].createElement(SummaryBookingOptionPax, { pax: x })); })),
14092
+ (packageDetails === null || packageDetails === void 0 ? void 0 : packageDetails.outwardFlights) &&
14093
+ packageDetails.outwardFlights
14094
+ .filter(function (x) { return x.isSelected; })
14095
+ .map(function (flight, i) { return (React__default["default"].createElement(SummaryFlight, { key: i, flight: flight, header: translations.SIDEBAR.DEPARTURE_FLIGHT })); }),
14096
+ (packageDetails === null || packageDetails === void 0 ? void 0 : packageDetails.returnFlights) &&
14097
+ packageDetails.returnFlights
14098
+ .filter(function (x) { return x.isSelected; })
14099
+ .map(function (flight, i) { return (React__default["default"].createElement(SummaryFlight, { key: i, flight: flight, header: translations.SIDEBAR.ARRIVAL_FLIGHT })); }))))),
14100
+ settings.enableVoucher && (React__default["default"].createElement("div", { className: "form__region" },
14101
+ React__default["default"].createElement("div", { className: "form__row" },
14102
+ React__default["default"].createElement("div", { className: "form__group" },
14103
+ React__default["default"].createElement("div", { className: "form__region-header" },
14104
+ React__default["default"].createElement("h5", { className: "form__region-heading" }, translations.SUMMARY.VOUCHERS)))),
14105
+ React__default["default"].createElement("div", { className: "form__row" },
14106
+ React__default["default"].createElement("div", { className: "form__group" },
14107
+ React__default["default"].createElement("input", { type: "text", className: "form__input info-message__voucher__input", defaultValue: voucher.code, onChange: function (e) { return setVoucher({ code: e.target.value }); } }),
14108
+ React__default["default"].createElement("button", { type: "button", className: buildClassName([
14109
+ "cta",
14110
+ !voucher.code && "cta--disabled",
14111
+ ]), onClick: function (e) { return handleValidateVoucher(); } }, translations.SUMMARY.VOUCHER_VALIDATE))),
14112
+ React__default["default"].createElement("div", { className: "form__row" },
14113
+ React__default["default"].createElement("div", { className: "form__group info-message__voucher" },
14114
+ voucher.isValid && voucher.isValidated && (React__default["default"].createElement("div", { className: "info-message info-message__voucher__valid" },
14115
+ React__default["default"].createElement("span", null, translations.SUMMARY.VOUCHER_VALID),
14116
+ React__default["default"].createElement("button", { type: "button", className: "cta cta--secondary", onClick: handleAddVoucher }, translations.SUMMARY.ADD_VOUCHER))),
14117
+ !voucher.isValid && voucher.isValidated && (React__default["default"].createElement("div", { className: "info-message--error" }, translations.SUMMARY.VOUCHER_INVALID)))),
14118
+ React__default["default"].createElement("div", { className: "form__row" },
14119
+ React__default["default"].createElement("ul", { className: "info-message__voucher" }, !lodash.isEmpty(bookRequest === null || bookRequest === void 0 ? void 0 : bookRequest.payload.voucherCodes) &&
14120
+ ((_b = bookRequest === null || bookRequest === void 0 ? void 0 : bookRequest.payload.voucherCodes) === null || _b === void 0 ? void 0 : _b.map(function (y) { return (React__default["default"].createElement("li", null,
14121
+ React__default["default"].createElement("div", { className: "info-message__voucher__list" },
14122
+ y,
13609
14123
  " ",
13610
- getDateText(activeOption === null || activeOption === void 0 ? void 0 : activeOption.toDate),
13611
- ")")),
13612
- !lodash.isEmpty(activeOption === null || activeOption === void 0 ? void 0 : activeOption.groups) &&
13613
- (activeOption === null || activeOption === void 0 ? void 0 : activeOption.groups.map(function (x, i) {
13614
- if (!x.options.some(function (y) { return y.isSelected; }))
13615
- return;
13616
- return React__default["default"].createElement(SummaryPerBookingOptionGroup, { key: i, group: x });
13617
- })),
13618
- !lodash.isEmpty(activeOption === null || activeOption === void 0 ? void 0 : activeOption.optionUnits) &&
13619
- (activeOption === null || activeOption === void 0 ? void 0 : activeOption.optionUnits.map(function (x) { return (React__default["default"].createElement(SummaryBookingOptionUnit, { unit: x })); })),
13620
- !lodash.isEmpty(activeOption === null || activeOption === void 0 ? void 0 : activeOption.optionPax) &&
13621
- (activeOption === null || activeOption === void 0 ? void 0 : activeOption.optionPax.map(function (x) { return (React__default["default"].createElement(SummaryBookingOptionPax, { pax: x })); })),
13622
- (packageDetails === null || packageDetails === void 0 ? void 0 : packageDetails.outwardFlights) &&
13623
- packageDetails.outwardFlights
13624
- .filter(function (x) { return x.isSelected; })
13625
- .map(function (flight, i) { return (React__default["default"].createElement(SummaryFlight, { key: i, flight: flight, header: translations.SIDEBAR.DEPARTURE_FLIGHT })); }),
13626
- (packageDetails === null || packageDetails === void 0 ? void 0 : packageDetails.returnFlights) &&
13627
- packageDetails.returnFlights
13628
- .filter(function (x) { return x.isSelected; })
13629
- .map(function (flight, i) { return (React__default["default"].createElement(SummaryFlight, { key: i, flight: flight, header: translations.SIDEBAR.ARRIVAL_FLIGHT })); }))))),
13630
- settings.enableVoucher && (React__default["default"].createElement("div", { className: "form__region" },
13631
- React__default["default"].createElement("div", { className: "form__row" },
13632
- React__default["default"].createElement("div", { className: "form__group" },
13633
- React__default["default"].createElement("div", { className: "form__region-header" },
13634
- React__default["default"].createElement("h5", { className: "form__region-heading" }, translations.SUMMARY.VOUCHERS)))),
13635
- React__default["default"].createElement("div", { className: "form__row" },
13636
- React__default["default"].createElement("div", { className: "form__group" },
13637
- React__default["default"].createElement("input", { type: "text", className: "form__input", defaultValue: voucher.code, onChange: function (e) { return setVoucher({ code: e.target.value }); } }),
13638
- React__default["default"].createElement("button", { type: "button", className: buildClassName([
13639
- "cta",
13640
- !voucher.code && "cta--disabled",
13641
- ]), onClick: handleValidateVoucher }, translations.SUMMARY.VOUCHER_VALIDATE))),
13642
- React__default["default"].createElement("div", { className: "form__row" },
13643
- React__default["default"].createElement("div", { className: "form__group" },
13644
- voucher.isValid && voucher.isValidated && (React__default["default"].createElement("div", { className: "info-message" },
13645
- translations.SUMMARY.VOUCHER_VALID,
13646
- React__default["default"].createElement("button", { type: "button", className: "cta", onClick: handleAddVoucher }, translations.SUMMARY.ADD_VOUCHER))),
13647
- !voucher.isValid && voucher.isValidated && (React__default["default"].createElement("div", { className: "info-message--error" }, translations.SUMMARY.VOUCHER_INVALID)))),
13648
- React__default["default"].createElement("div", { className: "form__row" },
13649
- React__default["default"].createElement("ul", null, !lodash.isEmpty(bookRequest === null || bookRequest === void 0 ? void 0 : bookRequest.payload.voucherCodes) &&
13650
- ((_b = bookRequest === null || bookRequest === void 0 ? void 0 : bookRequest.payload.voucherCodes) === null || _b === void 0 ? void 0 : _b.map(function (y) { return (React__default["default"].createElement("li", null,
13651
- y,
13652
- " ",
13653
- React__default["default"].createElement("button", { type: "button", className: "cat--add-remove", onClick: function (e) { return handleRemoveVoucher(y); } }))); })))))),
13654
- !lodash.isEmpty(notifications) && (React__default["default"].createElement("div", { className: "form__region" },
13655
- React__default["default"].createElement("div", { className: "form__row" },
13656
- React__default["default"].createElement("div", { className: "form__group" },
13657
- React__default["default"].createElement("div", { className: "info-message" },
13658
- React__default["default"].createElement(Icon, { name: "ui-tooltip", className: "icon--secondary-color" }),
13659
- React__default["default"].createElement("div", { className: "info-message__copy" },
13660
- React__default["default"].createElement("h5", null, translations.SUMMARY.NOTIFICATIONS_TITLE),
13661
- React__default["default"].createElement(React__default["default"].Fragment, null,
13662
- lodash.uniqBy(notifications.filter(function (x) { return !x.hasToBeConfirmed; }), "id").map(function (notification) { return (React__default["default"].createElement("span", { key: notification.id, className: "checkbox__label-text" },
13663
- React__default["default"].createElement("strong", { className: "checkbox__label-text--title" }, notification.title),
13664
- React__default["default"].createElement("span", { className: "checkbox__label-text--description" }, notification.description))); }),
13665
- lodash.uniqBy(notifications.filter(function (x) { return x.hasToBeConfirmed; }), "id").map(function (notification) { return (React__default["default"].createElement("div", { className: "checkbox", key: notification.id },
13666
- React__default["default"].createElement("label", { className: "checkbox__label" },
13667
- React__default["default"].createElement("input", { type: "checkbox", className: "checkbox__input", checked: notification.isConfirmed, onChange: function (e) {
13668
- return handleNotificationChange(notification.id, e.target.checked);
13669
- } }),
13670
- React__default["default"].createElement("span", { className: "checkbox__label-text" },
13671
- React__default["default"].createElement("strong", { className: "checkbox__label-text--title" }, notification.title),
13672
- React__default["default"].createElement("span", { className: "checkbox__label-text--description" }, notification.description))))); })))))))),
13673
- React__default["default"].createElement("div", { className: "form__region" },
13674
- React__default["default"].createElement("div", { className: "form__row" },
13675
- React__default["default"].createElement("div", { className: "form__group" },
13676
- React__default["default"].createElement("div", { className: "form__region-header" },
13677
- React__default["default"].createElement("h5", { className: "form__region-heading" }, translations.SUMMARY.REMARKS)))),
13678
- React__default["default"].createElement("div", { className: "form__row" },
13679
- React__default["default"].createElement("div", { className: "form__group" },
13680
- React__default["default"].createElement("textarea", { className: "form__input", defaultValue: remarks, onChange: function (e) { return handleRemarksChange(e.target.value); } })))),
13681
- React__default["default"].createElement("div", { className: "form__region" },
13682
- React__default["default"].createElement("div", { className: "form__row" },
13683
- React__default["default"].createElement("div", { className: "form__group" },
13684
- React__default["default"].createElement("div", { className: "info-message" },
13685
- React__default["default"].createElement(Icon, { name: "ui-tooltip", className: "icon--secondary-color" }),
13686
- React__default["default"].createElement("div", { className: "info-message__copy" },
13687
- React__default["default"].createElement("h5", null, translations.SUMMARY.VALIDATE_TITLE),
13688
- React__default["default"].createElement("p", null, settings.isOffer ? translations.SUMMARY.VALIDATE_TEXT_OFFER : translations.SUMMARY.VALIDATE_TEXT_BOOKING),
13689
- checkboxes &&
13690
- checkboxes.map(function (checkbox) { return (React__default["default"].createElement("div", { className: "checkbox", key: checkbox.id },
13691
- React__default["default"].createElement("label", { className: "checkbox__label" },
13692
- React__default["default"].createElement("input", { type: "checkbox", className: "checkbox__input", checked: checkbox.isSelected, onChange: function (e) {
13693
- return handleCheckboxChange(checkbox.id, e.target.checked);
13694
- } }),
13695
- React__default["default"].createElement("span", { className: "checkbox__label-text", dangerouslySetInnerHTML: {
13696
- __html: checkbox.text,
13697
- } })))); })))))),
14124
+ React__default["default"].createElement("button", { type: "button", className: "cta--add-remove", onClick: function (e) { return handleRemoveVoucher(y); } },
14125
+ React__default["default"].createElement(Icon, { height: 16, name: "ui-trashcan" }))))); })))))),
14126
+ !lodash.isEmpty(notifications) && (React__default["default"].createElement("div", { className: "form__region" },
14127
+ React__default["default"].createElement("div", { className: "form__row" },
14128
+ React__default["default"].createElement("div", { className: "form__group" },
14129
+ React__default["default"].createElement("div", { className: "info-message" },
14130
+ React__default["default"].createElement(Icon, { name: "ui-tooltip", className: "icon--secondary-color" }),
14131
+ React__default["default"].createElement("div", { className: "info-message__copy" },
14132
+ React__default["default"].createElement("h5", null, translations.SUMMARY.NOTIFICATIONS_TITLE),
14133
+ React__default["default"].createElement(React__default["default"].Fragment, null,
14134
+ lodash.uniqBy(notifications.filter(function (x) { return !x.hasToBeConfirmed; }), "id").map(function (notification) { return (React__default["default"].createElement("span", { key: notification.id, className: "checkbox__label-text" },
14135
+ React__default["default"].createElement("strong", { className: "checkbox__label-text--title" }, notification.title),
14136
+ React__default["default"].createElement("span", { className: "checkbox__label-text--description" }, notification.description))); }),
14137
+ lodash.uniqBy(notifications.filter(function (x) { return x.hasToBeConfirmed; }), "id").map(function (notification) { return (React__default["default"].createElement("div", { className: "checkbox", key: notification.id },
14138
+ React__default["default"].createElement("label", { className: "checkbox__label" },
14139
+ React__default["default"].createElement("input", { type: "checkbox", className: "checkbox__input", checked: notification.isConfirmed, onChange: function (e) {
14140
+ return handleNotificationChange(notification.id, e.target.checked);
14141
+ } }),
14142
+ React__default["default"].createElement("span", { className: "checkbox__label-text" },
14143
+ React__default["default"].createElement("strong", { className: "checkbox__label-text--title" }, notification.title),
14144
+ React__default["default"].createElement("span", { className: "checkbox__label-text--description" }, notification.description))))); })))))))),
14145
+ React__default["default"].createElement("div", { className: "form__region" },
14146
+ React__default["default"].createElement("div", { className: "form__row" },
14147
+ React__default["default"].createElement("div", { className: "form__group" },
14148
+ React__default["default"].createElement("div", { className: "form__region-header" },
14149
+ React__default["default"].createElement("h5", { className: "form__region-heading" }, translations.SUMMARY.REMARKS)))),
14150
+ React__default["default"].createElement("div", { className: "form__row" },
14151
+ React__default["default"].createElement("div", { className: "form__group" },
14152
+ React__default["default"].createElement("textarea", { className: "form__input", defaultValue: remarks, onChange: function (e) { return handleRemarksChange(e.target.value); } })))),
14153
+ React__default["default"].createElement("div", { className: "form__region" },
14154
+ React__default["default"].createElement("div", { className: "form__row" },
14155
+ React__default["default"].createElement("div", { className: "form__group" },
14156
+ React__default["default"].createElement("div", { className: "info-message" },
14157
+ React__default["default"].createElement(Icon, { name: "ui-tooltip", className: "icon--secondary-color" }),
14158
+ React__default["default"].createElement("div", { className: "info-message__copy" },
14159
+ React__default["default"].createElement("h5", null, translations.SUMMARY.VALIDATE_TITLE),
14160
+ React__default["default"].createElement("p", null, settings.isOffer
14161
+ ? translations.SUMMARY.VALIDATE_TEXT_OFFER
14162
+ : translations.SUMMARY.VALIDATE_TEXT_BOOKING),
14163
+ checkboxes &&
14164
+ checkboxes.map(function (checkbox) { return (React__default["default"].createElement("div", { className: "checkbox", key: checkbox.id },
14165
+ React__default["default"].createElement("label", { className: "checkbox__label" },
14166
+ React__default["default"].createElement("input", { type: "checkbox", className: "checkbox__input", checked: checkbox.isSelected, onChange: function (e) {
14167
+ return handleCheckboxChange(checkbox.id, e.target.checked);
14168
+ } }),
14169
+ React__default["default"].createElement("span", { className: "checkbox__label-text", dangerouslySetInnerHTML: {
14170
+ __html: checkbox.text,
14171
+ } })))); }))))))),
13698
14172
  React__default["default"].createElement("div", { className: "booking__navigator" },
13699
14173
  settings.skipRouter ? (React__default["default"].createElement("button", { type: "button", title: translations.STEPS.PREVIOUS, onClick: function () { return goPrevious(); }, className: "cta cta--secondary" }, translations.STEPS.PREVIOUS)) : (React__default["default"].createElement(router.Link, { to: "".concat(settings.basePath).concat(settings.travellers.pathSuffix, "?").concat(bookingQueryString), title: translations.STEPS.PREVIOUS, className: "cta cta--secondary" }, translations.STEPS.PREVIOUS)),
13700
- React__default["default"].createElement("button", { title: settings.isOffer ? translations.STEPS.SUBMIT_OFFER : translations.STEPS.SUBMIT_BOOKING, className: buildClassName([
14174
+ React__default["default"].createElement("button", { title: settings.isOffer
14175
+ ? translations.STEPS.SUBMIT_OFFER
14176
+ : translations.STEPS.SUBMIT_BOOKING, className: buildClassName([
13701
14177
  "cta",
13702
14178
  !userValidated && "cta--disabled",
13703
- ]), disabled: !userValidated }, settings.isOffer ? translations.STEPS.SUBMIT_OFFER : translations.STEPS.SUBMIT_BOOKING))))));
14179
+ ]), disabled: !userValidated }, settings.isOffer
14180
+ ? translations.STEPS.SUBMIT_OFFER
14181
+ : translations.STEPS.SUBMIT_BOOKING))))));
13704
14182
  };
13705
14183
 
13706
14184
  var LabeledInput = function (_a) {
@@ -13742,7 +14220,7 @@ var TypeAheadInput = function (_a) {
13742
14220
  };
13743
14221
  return (React__default["default"].createElement("div", { className: "typeahead" },
13744
14222
  React__default["default"].createElement("div", { className: "typeahead__trigger typeahead__trigger--icon" },
13745
- React__default["default"].createElement(Icon, { name: "qsm-location" }),
14223
+ React__default["default"].createElement(Icon, { name: "ui-qsm-location" }),
13746
14224
  React__default["default"].createElement("input", { type: "text", className: "form__input", name: name, value: value, onChange: handleChange, placeholder: placeholder, required: true, autoComplete: "off", onKeyDown: function (e) {
13747
14225
  if (e.key === "Tab" && options && onSelect) {
13748
14226
  onSelect(options[0].key);
@@ -14036,159 +14514,160 @@ var TravelersForm = function () {
14036
14514
  return lodash.get(formik$1.errors, key) && lodash.get(formik$1.touched, key);
14037
14515
  };
14038
14516
  return (React__default["default"].createElement("form", { className: "form form__travelers", name: "booking--travellers", id: "booking--travellers", noValidate: true, onSubmit: formik$1.handleSubmit, onReset: formik$1.handleReset },
14039
- formik$1.values.rooms.map(function (room, rIndex) { return (React__default["default"].createElement("div", { key: rIndex },
14040
- React__default["default"].createElement("div", { className: "form__region" },
14517
+ React__default["default"].createElement("div", { className: "form__travelers__wrapper" },
14518
+ formik$1.values.rooms.map(function (room, rIndex) { return (React__default["default"].createElement("div", { key: rIndex },
14519
+ React__default["default"].createElement("div", { className: "form__region" },
14520
+ React__default["default"].createElement("div", { className: "form__region-header" },
14521
+ React__default["default"].createElement("h5", { className: "form__region-heading" },
14522
+ translations.SHARED.ROOM,
14523
+ " ",
14524
+ rIndex + 1),
14525
+ React__default["default"].createElement("p", { className: "form__region-label" }, lodash.compact([
14526
+ room.adults.length,
14527
+ room.adults.length === 1 &&
14528
+ " ".concat(translations.TRAVELERS_FORM.ADULT),
14529
+ room.adults.length > 1 &&
14530
+ " ".concat(translations.TRAVELERS_FORM.ADULTS),
14531
+ room.adults &&
14532
+ room.adults.length &&
14533
+ room.children &&
14534
+ room.children.length &&
14535
+ ", ",
14536
+ room.children.length,
14537
+ room.children.length === 1 &&
14538
+ " ".concat(translations.TRAVELERS_FORM.CHILD),
14539
+ room.children.length > 1 &&
14540
+ " ".concat(translations.TRAVELERS_FORM.CHILDREN),
14541
+ ]).join("")))),
14542
+ room.adults.map(function (travelerValues, index) { return (React__default["default"].createElement("div", { className: "form__region", key: travelerValues.id },
14543
+ React__default["default"].createElement("div", { className: "form__region-header" },
14544
+ React__default["default"].createElement("h5", { className: "form__region-heading" },
14545
+ translations.TRAVELERS_FORM.TRAVELER,
14546
+ " ",
14547
+ index + 1),
14548
+ React__default["default"].createElement("p", { className: "form__region-label" }, translations.TRAVELERS_FORM.ADULT),
14549
+ React__default["default"].createElement("div", { className: "radiobutton" },
14550
+ React__default["default"].createElement("label", { className: "radiobutton__label" },
14551
+ React__default["default"].createElement("input", { type: "radio", name: "mainBookerId", onChange: handleMainBookerChange, onBlur: formik$1.handleBlur, value: travelerValues.id, checked: formik$1.values.mainBookerId === travelerValues.id, className: "radiobutton__input" }),
14552
+ translations.TRAVELERS_FORM.MAIN_BOOKER))),
14553
+ React__default["default"].createElement("div", { className: "form__row" },
14554
+ React__default["default"].createElement("div", { className: buildClassName([
14555
+ "form__group",
14556
+ hasVisibleError("rooms[".concat(rIndex, "].adults[").concat(index, "].gender")) && "form__group--error",
14557
+ ]) },
14558
+ React__default["default"].createElement("label", { className: "form__label" },
14559
+ translations.TRAVELERS_FORM.GENDER,
14560
+ " *"),
14561
+ React__default["default"].createElement("div", { className: "radiobutton-group" },
14562
+ React__default["default"].createElement("div", { className: "radiobutton" },
14563
+ React__default["default"].createElement("label", { className: "radiobutton__label" },
14564
+ React__default["default"].createElement("input", { type: "radio", className: "radiobutton__input", name: "rooms[".concat(rIndex, "].adults[").concat(index, "].gender"), onChange: formik$1.handleChange, onBlur: formik$1.handleBlur, value: "m", checked: travelerValues.gender === "m" }),
14565
+ translations.TRAVELERS_FORM.MALE)),
14566
+ React__default["default"].createElement("div", { className: "radiobutton" },
14567
+ React__default["default"].createElement("label", { className: "radiobutton__label" },
14568
+ React__default["default"].createElement("input", { type: "radio", className: "radiobutton__input", name: "rooms[".concat(rIndex, "].adults[").concat(index, "].gender"), onChange: formik$1.handleChange, onBlur: formik$1.handleBlur, value: "f", checked: travelerValues.gender === "f" }),
14569
+ translations.TRAVELERS_FORM.FEMALE)),
14570
+ React__default["default"].createElement("div", { className: "radiobutton" },
14571
+ React__default["default"].createElement("label", { className: "radiobutton__label" },
14572
+ React__default["default"].createElement("input", { type: "radio", className: "radiobutton__input", name: "rooms[".concat(rIndex, "].adults[").concat(index, "].gender"), onChange: formik$1.handleChange, onBlur: formik$1.handleBlur, value: "x", checked: travelerValues.gender === "x" }),
14573
+ translations.TRAVELERS_FORM.OTHER))))),
14574
+ React__default["default"].createElement("div", { className: "form__row" },
14575
+ React__default["default"].createElement(LabeledInput, { hasError: hasVisibleError("rooms[".concat(rIndex, "].adults[").concat(index, "].firstName")), extraClassName: "form__group--md-33", label: translations.TRAVELERS_FORM.FIRST_NAME, required: true, name: "rooms[".concat(rIndex, "].adults[").concat(index, "].firstName"), onChange: formik$1.handleChange, onBlur: formik$1.handleBlur, value: travelerValues.firstName }),
14576
+ React__default["default"].createElement(LabeledInput, { hasError: hasVisibleError("rooms[".concat(rIndex, "].adults[").concat(index, "].lastName")), extraClassName: "form__group--md-33", label: translations.TRAVELERS_FORM.LAST_NAME, required: true, name: "rooms[".concat(rIndex, "].adults[").concat(index, "].lastName"), onChange: formik$1.handleChange, onBlur: formik$1.handleBlur, value: travelerValues.lastName }),
14577
+ React__default["default"].createElement(LabeledInput, { type: "date", hasError: hasVisibleError("rooms[".concat(rIndex, "].adults[").concat(index, "].birthDate")), extraClassName: "form__group--md-33", label: translations.TRAVELERS_FORM.BIRTHDATE, required: true, name: "rooms[".concat(rIndex, "].adults[").concat(index, "].birthDate"), onChange: formik$1.handleChange, onBlur: formik$1.handleBlur, value: travelerValues.birthDate })))); }),
14578
+ room.children.map(function (travelerValues, index) { return (React__default["default"].createElement("div", { className: "form__region", key: travelerValues.id },
14579
+ React__default["default"].createElement("div", { className: "form__region-header" },
14580
+ React__default["default"].createElement("h5", { className: "form__region-heading" },
14581
+ translations.TRAVELERS_FORM.TRAVELER,
14582
+ " ",
14583
+ room.adults.length + index + 1),
14584
+ React__default["default"].createElement("p", { className: "form__region-label" }, translations.TRAVELERS_FORM.CHILD)),
14585
+ React__default["default"].createElement("div", { className: "form__row" },
14586
+ React__default["default"].createElement("div", { className: buildClassName([
14587
+ "form__group",
14588
+ hasVisibleError("rooms[".concat(rIndex, "].children[").concat(index, "].gender")) && "form__group--error",
14589
+ ]) },
14590
+ React__default["default"].createElement("label", { className: "form__label" },
14591
+ translations.TRAVELERS_FORM.GENDER,
14592
+ " *"),
14593
+ React__default["default"].createElement("div", { className: "radiobutton-group" },
14594
+ React__default["default"].createElement("div", { className: "radiobutton" },
14595
+ React__default["default"].createElement("label", { className: "radiobutton__label" },
14596
+ React__default["default"].createElement("input", { type: "radio", className: "radiobutton__input", name: "rooms[".concat(rIndex, "].children[").concat(index, "].gender"), onChange: formik$1.handleChange, onBlur: formik$1.handleBlur, value: "m", checked: travelerValues.gender === "m" }),
14597
+ translations.TRAVELERS_FORM.MALE)),
14598
+ React__default["default"].createElement("div", { className: "radiobutton" },
14599
+ React__default["default"].createElement("label", { className: "radiobutton__label" },
14600
+ React__default["default"].createElement("input", { type: "radio", className: "radiobutton__input", name: "rooms[".concat(rIndex, "].children[").concat(index, "].gender"), onChange: formik$1.handleChange, onBlur: formik$1.handleBlur, value: "f", checked: travelerValues.gender === "f" }),
14601
+ translations.TRAVELERS_FORM.FEMALE)),
14602
+ React__default["default"].createElement("div", { className: "radiobutton" },
14603
+ React__default["default"].createElement("label", { className: "radiobutton__label" },
14604
+ React__default["default"].createElement("input", { type: "radio", className: "radiobutton__input", name: "rooms[".concat(rIndex, "].children[").concat(index, "].gender"), onChange: formik$1.handleChange, onBlur: formik$1.handleBlur, value: "x", checked: travelerValues.gender === "x" }),
14605
+ translations.TRAVELERS_FORM.OTHER))))),
14606
+ React__default["default"].createElement("div", { className: "form__row" },
14607
+ React__default["default"].createElement(LabeledInput, { hasError: hasVisibleError("rooms[".concat(rIndex, "].children[").concat(index, "].firstName")), extraClassName: "form__group--md-33", label: translations.TRAVELERS_FORM.FIRST_NAME, required: true, name: "rooms[".concat(rIndex, "].children[").concat(index, "].firstName"), onChange: formik$1.handleChange, onBlur: formik$1.handleBlur, value: travelerValues.firstName }),
14608
+ React__default["default"].createElement(LabeledInput, { hasError: hasVisibleError("rooms[".concat(rIndex, "].children[").concat(index, "].lastName")), extraClassName: "form__group--md-33", label: translations.TRAVELERS_FORM.LAST_NAME, required: true, name: "rooms[".concat(rIndex, "].children[").concat(index, "].lastName"), onChange: formik$1.handleChange, onBlur: formik$1.handleBlur, value: travelerValues.lastName }),
14609
+ React__default["default"].createElement(LabeledInput, { type: "date", hasError: hasVisibleError("rooms[".concat(rIndex, "].children[").concat(index, "].birthDate")), extraClassName: "form__group--md-33", label: translations.TRAVELERS_FORM.BIRTHDATE, required: true, name: "rooms[".concat(rIndex, "].children[").concat(index, "].birthDate"), onChange: formik$1.handleChange, onBlur: formik$1.handleBlur, value: travelerValues.birthDate })))); }))); }),
14610
+ bookingType != "b2b" ? (React__default["default"].createElement("div", { className: "form__region" },
14041
14611
  React__default["default"].createElement("div", { className: "form__region-header" },
14042
- React__default["default"].createElement("h5", { className: "form__region-heading" },
14043
- translations.SHARED.ROOM,
14044
- " ",
14045
- rIndex + 1),
14612
+ React__default["default"].createElement("h5", { className: "form__region-heading" }, translations.TRAVELERS_FORM.MAIN_BOOKER),
14046
14613
  React__default["default"].createElement("p", { className: "form__region-label" }, lodash.compact([
14047
- room.adults.length,
14048
- room.adults.length === 1 &&
14049
- " ".concat(translations.TRAVELERS_FORM.ADULT),
14050
- room.adults.length > 1 &&
14051
- " ".concat(translations.TRAVELERS_FORM.ADULTS),
14052
- room.adults &&
14053
- room.adults.length &&
14054
- room.children &&
14055
- room.children.length &&
14056
- ", ",
14057
- room.children.length,
14058
- room.children.length === 1 &&
14059
- " ".concat(translations.TRAVELERS_FORM.CHILD),
14060
- room.children.length > 1 &&
14061
- " ".concat(translations.TRAVELERS_FORM.CHILDREN),
14062
- ]).join("")))),
14063
- room.adults.map(function (travelerValues, index) { return (React__default["default"].createElement("div", { className: "form__region", key: travelerValues.id },
14064
- React__default["default"].createElement("div", { className: "form__region-header" },
14065
- React__default["default"].createElement("h5", { className: "form__region-heading" },
14066
- translations.TRAVELERS_FORM.TRAVELER,
14067
- " ",
14068
- index + 1),
14069
- React__default["default"].createElement("p", { className: "form__region-label" }, translations.TRAVELERS_FORM.ADULT),
14070
- React__default["default"].createElement("div", { className: "radiobutton" },
14071
- React__default["default"].createElement("label", { className: "radiobutton__label" },
14072
- React__default["default"].createElement("input", { type: "radio", name: "mainBookerId", onChange: handleMainBookerChange, onBlur: formik$1.handleBlur, value: travelerValues.id, checked: formik$1.values.mainBookerId === travelerValues.id, className: "radiobutton__input" }),
14073
- translations.TRAVELERS_FORM.MAIN_BOOKER))),
14614
+ lodash.compact([mainBooker === null || mainBooker === void 0 ? void 0 : mainBooker.firstName, mainBooker === null || mainBooker === void 0 ? void 0 : mainBooker.lastName]).join(" "),
14615
+ (mainBooker === null || mainBooker === void 0 ? void 0 : mainBooker.birthDate) &&
14616
+ dateFns.format(dateFns.parse(mainBooker.birthDate, "yyyy-MM-dd", new Date()), "dd-MM-yyyy"),
14617
+ ]).join(", "))),
14618
+ React__default["default"].createElement(React__default["default"].Fragment, null,
14619
+ React__default["default"].createElement("div", { className: "form__twocolumn" },
14620
+ React__default["default"].createElement("div", { className: "form__twocolumn-column" },
14621
+ React__default["default"].createElement("div", { className: "form__row" },
14622
+ React__default["default"].createElement(LabeledInput, { hasError: hasVisibleError("street"), extraClassName: "form__group--50 form__group--sm-60", label: translations.TRAVELERS_FORM.STREET, required: true, name: "street", onChange: formik$1.handleChange, onBlur: formik$1.handleBlur, value: formik$1.values.street }),
14623
+ React__default["default"].createElement(LabeledInput, { hasError: hasVisibleError("houseNumber"), extraClassName: "form__group--30 form__group--sm-20", label: translations.TRAVELERS_FORM.HOUSE_NUMBER, required: true, name: "houseNumber", onChange: formik$1.handleChange, onBlur: formik$1.handleBlur, value: formik$1.values.houseNumber }),
14624
+ React__default["default"].createElement(LabeledInput, { hasError: hasVisibleError("box"), extraClassName: "form__group--20", label: translations.TRAVELERS_FORM.POST_BOX, name: "box", onChange: formik$1.handleChange, onBlur: formik$1.handleBlur, value: formik$1.values.box }))),
14625
+ React__default["default"].createElement("div", { className: "form__twocolumn-column" },
14626
+ React__default["default"].createElement("div", { className: "form__row" },
14627
+ React__default["default"].createElement(LabeledInput, { hasError: hasVisibleError("zipCode"), extraClassName: "form__group--40 form__group--sm-20", label: translations.TRAVELERS_FORM.ZIPCODE, required: true, name: "zipCode", onChange: formik$1.handleChange, onBlur: formik$1.handleBlur, value: formik$1.values.zipCode }),
14628
+ React__default["default"].createElement(LabeledInput, { hasError: hasVisibleError("place"), extraClassName: "form__group--60 form__group--sm-40", label: translations.TRAVELERS_FORM.CITY, required: true, name: "place", onChange: formik$1.handleChange, onBlur: formik$1.handleBlur, value: formik$1.values.place }),
14629
+ React__default["default"].createElement(LabeledSelect, { hasError: hasVisibleError("country"), extraClassName: "form__group--sm-40", label: translations.TRAVELERS_FORM.COUNTRY, required: true, name: "country", onChange: formik$1.handleChange, onBlur: formik$1.handleBlur, value: formik$1.values.country, options: [
14630
+ {
14631
+ key: "empty",
14632
+ label: translations.TRAVELERS_FORM.SELECT_COUNTRY,
14633
+ value: undefined,
14634
+ },
14635
+ {
14636
+ key: "be",
14637
+ value: "be",
14638
+ label: translations.TRAVELERS_FORM.COUNTRIES.BELGIUM,
14639
+ },
14640
+ {
14641
+ key: "nl",
14642
+ value: "nl",
14643
+ label: translations.TRAVELERS_FORM.COUNTRIES.NETHERLANDS,
14644
+ },
14645
+ {
14646
+ key: "fr",
14647
+ value: "fr",
14648
+ label: translations.TRAVELERS_FORM.COUNTRIES.FRANCE,
14649
+ },
14650
+ ] })))),
14651
+ React__default["default"].createElement("div", { className: "form__row" },
14652
+ React__default["default"].createElement(LabeledInput, { hasError: hasVisibleError("phone"), extraClassName: "form__group--md-33", label: translations.TRAVELERS_FORM.PHONE, required: true, name: "phone", onChange: formik$1.handleChange, onBlur: formik$1.handleBlur, value: formik$1.values.phone }),
14653
+ React__default["default"].createElement(LabeledInput, { type: "email", hasError: hasVisibleError("email"), extraClassName: "form__group--md-33", label: translations.TRAVELERS_FORM.EMAIL, required: true, name: "email", onChange: formik$1.handleChange, onBlur: formik$1.handleBlur, value: formik$1.values.email }),
14654
+ React__default["default"].createElement(LabeledInput, { type: "email", hasError: hasVisibleError("emailConfirmation"), extraClassName: "form__group--md-33", label: translations.TRAVELERS_FORM.REPEAT_EMAIL, required: true, name: "emailConfirmation", onChange: formik$1.handleChange, onBlur: formik$1.handleBlur, value: formik$1.values.emailConfirmation }))))) : (React__default["default"].createElement("div", { className: "form__region" },
14074
14655
  React__default["default"].createElement("div", { className: "form__row" },
14075
- React__default["default"].createElement("div", { className: buildClassName([
14076
- "form__group",
14077
- hasVisibleError("rooms[".concat(rIndex, "].adults[").concat(index, "].gender")) && "form__group--error",
14078
- ]) },
14079
- React__default["default"].createElement("label", { className: "form__label" },
14080
- translations.TRAVELERS_FORM.GENDER,
14081
- " *"),
14082
- React__default["default"].createElement("div", { className: "radiobutton-group" },
14083
- React__default["default"].createElement("div", { className: "radiobutton" },
14084
- React__default["default"].createElement("label", { className: "radiobutton__label" },
14085
- React__default["default"].createElement("input", { type: "radio", className: "radiobutton__input", name: "rooms[".concat(rIndex, "].adults[").concat(index, "].gender"), onChange: formik$1.handleChange, onBlur: formik$1.handleBlur, value: "m", checked: travelerValues.gender === "m" }),
14086
- translations.TRAVELERS_FORM.MALE)),
14087
- React__default["default"].createElement("div", { className: "radiobutton" },
14088
- React__default["default"].createElement("label", { className: "radiobutton__label" },
14089
- React__default["default"].createElement("input", { type: "radio", className: "radiobutton__input", name: "rooms[".concat(rIndex, "].adults[").concat(index, "].gender"), onChange: formik$1.handleChange, onBlur: formik$1.handleBlur, value: "f", checked: travelerValues.gender === "f" }),
14090
- translations.TRAVELERS_FORM.FEMALE)),
14091
- React__default["default"].createElement("div", { className: "radiobutton" },
14092
- React__default["default"].createElement("label", { className: "radiobutton__label" },
14093
- React__default["default"].createElement("input", { type: "radio", className: "radiobutton__input", name: "rooms[".concat(rIndex, "].adults[").concat(index, "].gender"), onChange: formik$1.handleChange, onBlur: formik$1.handleBlur, value: "x", checked: travelerValues.gender === "x" }),
14094
- translations.TRAVELERS_FORM.OTHER))))),
14095
- React__default["default"].createElement("div", { className: "form__row" },
14096
- React__default["default"].createElement(LabeledInput, { hasError: hasVisibleError("rooms[".concat(rIndex, "].adults[").concat(index, "].firstName")), extraClassName: "form__group--md-33", label: translations.TRAVELERS_FORM.FIRST_NAME, required: true, name: "rooms[".concat(rIndex, "].adults[").concat(index, "].firstName"), onChange: formik$1.handleChange, onBlur: formik$1.handleBlur, value: travelerValues.firstName }),
14097
- React__default["default"].createElement(LabeledInput, { hasError: hasVisibleError("rooms[".concat(rIndex, "].adults[").concat(index, "].lastName")), extraClassName: "form__group--md-33", label: translations.TRAVELERS_FORM.LAST_NAME, required: true, name: "rooms[".concat(rIndex, "].adults[").concat(index, "].lastName"), onChange: formik$1.handleChange, onBlur: formik$1.handleBlur, value: travelerValues.lastName }),
14098
- React__default["default"].createElement(LabeledInput, { type: "date", hasError: hasVisibleError("rooms[".concat(rIndex, "].adults[").concat(index, "].birthDate")), extraClassName: "form__group--md-33", label: translations.TRAVELERS_FORM.BIRTHDATE, required: true, name: "rooms[".concat(rIndex, "].adults[").concat(index, "].birthDate"), onChange: formik$1.handleChange, onBlur: formik$1.handleBlur, value: travelerValues.birthDate })))); }),
14099
- room.children.map(function (travelerValues, index) { return (React__default["default"].createElement("div", { className: "form__region", key: travelerValues.id },
14656
+ React__default["default"].createElement(LabeledInput, { hasError: hasVisibleError("phone"), extraClassName: "form__group--md-33", label: translations.TRAVELERS_FORM.PHONE, required: true, name: "phone", onChange: formik$1.handleChange, onBlur: formik$1.handleBlur, value: formik$1.values.phone })))),
14657
+ showAgentSelection && (React__default["default"].createElement("div", { className: "form__region" },
14100
14658
  React__default["default"].createElement("div", { className: "form__region-header" },
14101
- React__default["default"].createElement("h5", { className: "form__region-heading" },
14102
- translations.TRAVELERS_FORM.TRAVELER,
14103
- " ",
14104
- room.adults.length + index + 1),
14105
- React__default["default"].createElement("p", { className: "form__region-label" }, translations.TRAVELERS_FORM.CHILD)),
14106
- React__default["default"].createElement("div", { className: "form__row" },
14659
+ React__default["default"].createElement("h5", { className: "form__region-heading" }, translations.TRAVELERS_FORM.BOOK_WITH_AGENT),
14660
+ React__default["default"].createElement("div", { className: "checkbox", id: "cbxChooseOffice" },
14661
+ React__default["default"].createElement("label", { className: "checkbox__label" },
14662
+ React__default["default"].createElement("input", { type: "checkbox", name: "booking--mainbooker", defaultChecked: showAgents, onClick: function () { return toggleAgent(!showAgents); }, className: "checkbox__input" }),
14663
+ translations.TRAVELERS_FORM.CHOOSE_OFFICE))),
14664
+ showAgents && (React__default["default"].createElement("div", { className: "form__row form__row--choose-office" },
14107
14665
  React__default["default"].createElement("div", { className: buildClassName([
14108
14666
  "form__group",
14109
- hasVisibleError("rooms[".concat(rIndex, "].children[").concat(index, "].gender")) && "form__group--error",
14667
+ "form__group--icon",
14668
+ hasVisibleError("travelAgentId") && "form__group--error",
14110
14669
  ]) },
14111
- React__default["default"].createElement("label", { className: "form__label" },
14112
- translations.TRAVELERS_FORM.GENDER,
14113
- " *"),
14114
- React__default["default"].createElement("div", { className: "radiobutton-group" },
14115
- React__default["default"].createElement("div", { className: "radiobutton" },
14116
- React__default["default"].createElement("label", { className: "radiobutton__label" },
14117
- React__default["default"].createElement("input", { type: "radio", className: "radiobutton__input", name: "rooms[".concat(rIndex, "].children[").concat(index, "].gender"), onChange: formik$1.handleChange, onBlur: formik$1.handleBlur, value: "m", checked: travelerValues.gender === "m" }),
14118
- translations.TRAVELERS_FORM.MALE)),
14119
- React__default["default"].createElement("div", { className: "radiobutton" },
14120
- React__default["default"].createElement("label", { className: "radiobutton__label" },
14121
- React__default["default"].createElement("input", { type: "radio", className: "radiobutton__input", name: "rooms[".concat(rIndex, "].children[").concat(index, "].gender"), onChange: formik$1.handleChange, onBlur: formik$1.handleBlur, value: "f", checked: travelerValues.gender === "f" }),
14122
- translations.TRAVELERS_FORM.FEMALE)),
14123
- React__default["default"].createElement("div", { className: "radiobutton" },
14124
- React__default["default"].createElement("label", { className: "radiobutton__label" },
14125
- React__default["default"].createElement("input", { type: "radio", className: "radiobutton__input", name: "rooms[".concat(rIndex, "].children[").concat(index, "].gender"), onChange: formik$1.handleChange, onBlur: formik$1.handleBlur, value: "x", checked: travelerValues.gender === "x" }),
14126
- translations.TRAVELERS_FORM.OTHER))))),
14127
- React__default["default"].createElement("div", { className: "form__row" },
14128
- React__default["default"].createElement(LabeledInput, { hasError: hasVisibleError("rooms[".concat(rIndex, "].children[").concat(index, "].firstName")), extraClassName: "form__group--md-33", label: translations.TRAVELERS_FORM.FIRST_NAME, required: true, name: "rooms[".concat(rIndex, "].children[").concat(index, "].firstName"), onChange: formik$1.handleChange, onBlur: formik$1.handleBlur, value: travelerValues.firstName }),
14129
- React__default["default"].createElement(LabeledInput, { hasError: hasVisibleError("rooms[".concat(rIndex, "].children[").concat(index, "].lastName")), extraClassName: "form__group--md-33", label: translations.TRAVELERS_FORM.LAST_NAME, required: true, name: "rooms[".concat(rIndex, "].children[").concat(index, "].lastName"), onChange: formik$1.handleChange, onBlur: formik$1.handleBlur, value: travelerValues.lastName }),
14130
- React__default["default"].createElement(LabeledInput, { type: "date", hasError: hasVisibleError("rooms[".concat(rIndex, "].children[").concat(index, "].birthDate")), extraClassName: "form__group--md-33", label: translations.TRAVELERS_FORM.BIRTHDATE, required: true, name: "rooms[".concat(rIndex, "].children[").concat(index, "].birthDate"), onChange: formik$1.handleChange, onBlur: formik$1.handleBlur, value: travelerValues.birthDate })))); }))); }),
14131
- bookingType != "b2b" ? (React__default["default"].createElement("div", { className: "form__region" },
14132
- React__default["default"].createElement("div", { className: "form__region-header" },
14133
- React__default["default"].createElement("h5", { className: "form__region-heading" }, translations.TRAVELERS_FORM.MAIN_BOOKER),
14134
- React__default["default"].createElement("p", { className: "form__region-label" }, lodash.compact([
14135
- lodash.compact([mainBooker === null || mainBooker === void 0 ? void 0 : mainBooker.firstName, mainBooker === null || mainBooker === void 0 ? void 0 : mainBooker.lastName]).join(" "),
14136
- (mainBooker === null || mainBooker === void 0 ? void 0 : mainBooker.birthDate) &&
14137
- dateFns.format(dateFns.parse(mainBooker.birthDate, "yyyy-MM-dd", new Date()), "dd-MM-yyyy"),
14138
- ]).join(", "))),
14139
- React__default["default"].createElement(React__default["default"].Fragment, null,
14140
- React__default["default"].createElement("div", { className: "form__twocolumn" },
14141
- React__default["default"].createElement("div", { className: "form__twocolumn-column" },
14142
- React__default["default"].createElement("div", { className: "form__row" },
14143
- React__default["default"].createElement(LabeledInput, { hasError: hasVisibleError("street"), extraClassName: "form__group--50 form__group--sm-60", label: translations.TRAVELERS_FORM.STREET, required: true, name: "street", onChange: formik$1.handleChange, onBlur: formik$1.handleBlur, value: formik$1.values.street }),
14144
- React__default["default"].createElement(LabeledInput, { hasError: hasVisibleError("houseNumber"), extraClassName: "form__group--30 form__group--sm-20", label: translations.TRAVELERS_FORM.HOUSE_NUMBER, required: true, name: "houseNumber", onChange: formik$1.handleChange, onBlur: formik$1.handleBlur, value: formik$1.values.houseNumber }),
14145
- React__default["default"].createElement(LabeledInput, { hasError: hasVisibleError("box"), extraClassName: "form__group--20", label: translations.TRAVELERS_FORM.POST_BOX, name: "box", onChange: formik$1.handleChange, onBlur: formik$1.handleBlur, value: formik$1.values.box }))),
14146
- React__default["default"].createElement("div", { className: "form__twocolumn-column" },
14147
- React__default["default"].createElement("div", { className: "form__row" },
14148
- React__default["default"].createElement(LabeledInput, { hasError: hasVisibleError("zipCode"), extraClassName: "form__group--40 form__group--sm-20", label: translations.TRAVELERS_FORM.ZIPCODE, required: true, name: "zipCode", onChange: formik$1.handleChange, onBlur: formik$1.handleBlur, value: formik$1.values.zipCode }),
14149
- React__default["default"].createElement(LabeledInput, { hasError: hasVisibleError("place"), extraClassName: "form__group--60 form__group--sm-40", label: translations.TRAVELERS_FORM.CITY, required: true, name: "place", onChange: formik$1.handleChange, onBlur: formik$1.handleBlur, value: formik$1.values.place }),
14150
- React__default["default"].createElement(LabeledSelect, { hasError: hasVisibleError("country"), extraClassName: "form__group--sm-40", label: translations.TRAVELERS_FORM.COUNTRY, required: true, name: "country", onChange: formik$1.handleChange, onBlur: formik$1.handleBlur, value: formik$1.values.country, options: [
14151
- {
14152
- key: "empty",
14153
- label: translations.TRAVELERS_FORM.SELECT_COUNTRY,
14154
- value: undefined,
14155
- },
14156
- {
14157
- key: "be",
14158
- value: "be",
14159
- label: translations.TRAVELERS_FORM.COUNTRIES.BELGIUM,
14160
- },
14161
- {
14162
- key: "nl",
14163
- value: "nl",
14164
- label: translations.TRAVELERS_FORM.COUNTRIES.NETHERLANDS,
14165
- },
14166
- {
14167
- key: "fr",
14168
- value: "fr",
14169
- label: translations.TRAVELERS_FORM.COUNTRIES.FRANCE,
14170
- },
14171
- ] })))),
14172
- React__default["default"].createElement("div", { className: "form__row" },
14173
- React__default["default"].createElement(LabeledInput, { hasError: hasVisibleError("phone"), extraClassName: "form__group--md-33", label: translations.TRAVELERS_FORM.PHONE, required: true, name: "phone", onChange: formik$1.handleChange, onBlur: formik$1.handleBlur, value: formik$1.values.phone }),
14174
- React__default["default"].createElement(LabeledInput, { type: "email", hasError: hasVisibleError("email"), extraClassName: "form__group--md-33", label: translations.TRAVELERS_FORM.EMAIL, required: true, name: "email", onChange: formik$1.handleChange, onBlur: formik$1.handleBlur, value: formik$1.values.email }),
14175
- React__default["default"].createElement(LabeledInput, { type: "email", hasError: hasVisibleError("emailConfirmation"), extraClassName: "form__group--md-33", label: translations.TRAVELERS_FORM.REPEAT_EMAIL, required: true, name: "emailConfirmation", onChange: formik$1.handleChange, onBlur: formik$1.handleBlur, value: formik$1.values.emailConfirmation }))))) : (React__default["default"].createElement("div", { className: "form__region" },
14176
- React__default["default"].createElement("div", { className: "form__row" },
14177
- React__default["default"].createElement(LabeledInput, { hasError: hasVisibleError("phone"), extraClassName: "form__group--md-33", label: translations.TRAVELERS_FORM.PHONE, required: true, name: "phone", onChange: formik$1.handleChange, onBlur: formik$1.handleBlur, value: formik$1.values.phone })))),
14178
- showAgentSelection && (React__default["default"].createElement("div", { className: "form__region" },
14179
- React__default["default"].createElement("div", { className: "form__region-header" },
14180
- React__default["default"].createElement("h5", { className: "form__region-heading" }, translations.TRAVELERS_FORM.BOOK_WITH_AGENT),
14181
- React__default["default"].createElement("div", { className: "checkbox", id: "cbxChooseOffice" },
14182
- React__default["default"].createElement("label", { className: "checkbox__label" },
14183
- React__default["default"].createElement("input", { type: "checkbox", name: "booking--mainbooker", defaultChecked: showAgents, onClick: function () { return toggleAgent(!showAgents); }, className: "checkbox__input" }),
14184
- translations.TRAVELERS_FORM.CHOOSE_OFFICE))),
14185
- showAgents && (React__default["default"].createElement("div", { className: "form__row form__row--choose-office" },
14186
- React__default["default"].createElement("div", { className: buildClassName([
14187
- "form__group",
14188
- "form__group--icon",
14189
- hasVisibleError("travelAgentId") && "form__group--error",
14190
- ]) },
14191
- React__default["default"].createElement(TypeAheadInput, { value: formik$1.values.travelAgentName, options: filteredAgents, onChange: handleAgentChange, onSelect: handleAgentSelect, onClear: handleAgentClear, name: "travelAgentName", placeholder: translations.TRAVELERS_FORM.CHOOSE_AGENT_PLACEHOLDER })))))),
14670
+ React__default["default"].createElement(TypeAheadInput, { value: formik$1.values.travelAgentName, options: filteredAgents, onChange: handleAgentChange, onSelect: handleAgentSelect, onClear: handleAgentClear, name: "travelAgentName", placeholder: translations.TRAVELERS_FORM.CHOOSE_AGENT_PLACEHOLDER }))))))),
14192
14671
  Object.keys(flatErrors).length > 0 && (React__default["default"].createElement("div", { className: "form__region form__region--errors" },
14193
14672
  React__default["default"].createElement("div", { className: "form__row" },
14194
14673
  React__default["default"].createElement("div", { className: "form__group" },
@@ -14226,6 +14705,7 @@ var Booking = function (_a) {
14226
14705
  var catalog = getNumberFromParams(params, "catalog");
14227
14706
  var rooms = getRoomsFromParams(params, "rooms");
14228
14707
  var flight = getFlightsFromParams(params, "flight");
14708
+ var flightRouteId = getStringFromParams(params, "flightRouteId");
14229
14709
  var allotmentName = getStringFromParams(params, "allotmentName");
14230
14710
  var allotmentIds = getNumbersFromParams(params, "allotmentId");
14231
14711
  var tourCode = getStringFromParams(params, "tourCode");
@@ -14251,6 +14731,7 @@ var Booking = function (_a) {
14251
14731
  allotmentName: allotmentName,
14252
14732
  allotmentIds: allotmentIds,
14253
14733
  tourCode: tourCode,
14734
+ flightRouteId: flightRouteId,
14254
14735
  }));
14255
14736
  }
14256
14737
  else {
@@ -14288,7 +14769,11 @@ var Booking = function (_a) {
14288
14769
  return __generator$1(this, function (_b) {
14289
14770
  switch (_b.label) {
14290
14771
  case 0:
14291
- translations = translationFiles === null || translationFiles === void 0 ? void 0 : translationFiles.map(function (x) { return fetch(x.path).then(function (y) { return y.json(); }).then(function (z) { return ({ language: x.language, value: z }); }); });
14772
+ translations = translationFiles === null || translationFiles === void 0 ? void 0 : translationFiles.map(function (x) {
14773
+ return fetch(x.path)
14774
+ .then(function (y) { return y.json(); })
14775
+ .then(function (z) { return ({ language: x.language, value: z }); });
14776
+ });
14292
14777
  _a = translations;
14293
14778
  if (!_a) return [3 /*break*/, 2];
14294
14779
  return [4 /*yield*/, Promise.all(translations)];
@@ -14337,7 +14822,7 @@ var Booking = function (_a) {
14337
14822
  setCalculateDeposit,
14338
14823
  tagIds,
14339
14824
  agentAdressId,
14340
- accommodationViewId
14825
+ accommodationViewId,
14341
14826
  ]);
14342
14827
  React.useEffect(function () {
14343
14828
  if (!productAttributes ||
@@ -14378,7 +14863,9 @@ var Booking = function (_a) {
14378
14863
  !packageDetails && !bookingNumber && !isUnvailable && (React__default["default"].createElement("div", { className: "booking" },
14379
14864
  React__default["default"].createElement("div", { className: "booking__loader" },
14380
14865
  loaderComponent,
14381
- React__default["default"].createElement("p", { className: "booking__loader-text" }, isOffer ? translations.MAIN.PREPARING_OFFER : translations.MAIN.PREPARING_BOOKING)))),
14866
+ React__default["default"].createElement("p", { className: "booking__loader-text" }, isOffer
14867
+ ? translations.MAIN.PREPARING_OFFER
14868
+ : translations.MAIN.PREPARING_BOOKING)))),
14382
14869
  isUnvailable && (React__default["default"].createElement("div", { className: "booking" },
14383
14870
  React__default["default"].createElement("div", { className: "booking__loader" },
14384
14871
  React__default["default"].createElement("p", { className: "booking__loader-text" }, translations.MAIN.PRODUCT_UNAVAILABLE))))));