@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.
- package/.vs/ProjectSettings.json +3 -3
- package/.vs/VSWorkspaceState.json +5 -5
- package/README.md +8 -8
- package/build/build-cjs/booking-wizard/features/flight-options/flight-option-flight.d.ts +1 -1
- package/build/build-cjs/booking-wizard/features/flight-options/flight-option.d.ts +1 -1
- package/build/build-cjs/booking-wizard/types.d.ts +6 -0
- package/build/build-cjs/index.js +1200 -713
- package/build/build-cjs/shared/utils/localization-util.d.ts +1 -0
- package/build/build-esm/booking-wizard/features/flight-options/flight-option-flight.d.ts +1 -1
- package/build/build-esm/booking-wizard/features/flight-options/flight-option.d.ts +1 -1
- package/build/build-esm/booking-wizard/types.d.ts +6 -0
- package/build/build-esm/index.js +1201 -714
- package/build/build-esm/shared/utils/localization-util.d.ts +1 -0
- package/package.json +75 -77
- package/rollup.config.js +23 -23
- package/src/booking-product/components/age-select.tsx +35 -41
- package/src/booking-product/components/amount-input.tsx +78 -64
- package/src/booking-product/components/date-range-picker/calendar-day.tsx +58 -54
- package/src/booking-product/components/date-range-picker/calendar.tsx +178 -176
- package/src/booking-product/components/date-range-picker/index.tsx +196 -181
- package/src/booking-product/components/dates.tsx +136 -132
- package/src/booking-product/components/footer.tsx +69 -70
- package/src/booking-product/components/header.tsx +79 -68
- package/src/booking-product/components/icon.tsx +251 -208
- package/src/booking-product/components/product.tsx +314 -281
- package/src/booking-product/components/rating.tsx +21 -21
- package/src/booking-product/components/rooms.tsx +195 -180
- package/src/booking-product/index.tsx +30 -30
- package/src/booking-product/settings-context.ts +14 -14
- package/src/booking-product/types.ts +28 -28
- package/src/booking-product/utils/api.ts +25 -25
- package/src/booking-product/utils/price.ts +29 -27
- package/src/booking-wizard/api-settings-slice.ts +24 -24
- package/src/booking-wizard/components/icon.tsx +508 -309
- package/src/booking-wizard/components/labeled-input.tsx +64 -64
- package/src/booking-wizard/components/labeled-select.tsx +69 -69
- package/src/booking-wizard/components/message.tsx +34 -34
- package/src/booking-wizard/components/multi-range-filter.tsx +113 -113
- package/src/booking-wizard/components/product-card.tsx +37 -37
- package/src/booking-wizard/components/step-indicator.tsx +51 -51
- package/src/booking-wizard/components/step-route.tsx +27 -27
- package/src/booking-wizard/declarations.d.ts +4 -4
- package/src/booking-wizard/features/booking/api.ts +49 -45
- package/src/booking-wizard/features/booking/booking-self-contained.tsx +384 -357
- package/src/booking-wizard/features/booking/booking-slice.ts +662 -603
- package/src/booking-wizard/features/booking/booking.tsx +356 -349
- package/src/booking-wizard/features/booking/constants.ts +16 -16
- package/src/booking-wizard/features/booking/selectors.ts +441 -418
- package/src/booking-wizard/features/confirmation/confirmation.tsx +97 -94
- package/src/booking-wizard/features/error/error.tsx +78 -75
- package/src/booking-wizard/features/flight-options/flight-filter.tsx +432 -357
- package/src/booking-wizard/features/flight-options/flight-option-flight.tsx +385 -353
- package/src/booking-wizard/features/flight-options/flight-option-modal.tsx +229 -214
- package/src/booking-wizard/features/flight-options/flight-option.tsx +81 -66
- package/src/booking-wizard/features/flight-options/flight-utils.ts +516 -401
- package/src/booking-wizard/features/flight-options/index.tsx +196 -177
- package/src/booking-wizard/features/price-details/price-details-api.ts +24 -24
- package/src/booking-wizard/features/price-details/price-details-slice.ts +178 -171
- package/src/booking-wizard/features/price-details/util.ts +155 -155
- package/src/booking-wizard/features/product-options/no-options.tsx +21 -21
- package/src/booking-wizard/features/product-options/none-option.tsx +120 -120
- package/src/booking-wizard/features/product-options/option-booking-airline-group.tsx +64 -66
- package/src/booking-wizard/features/product-options/option-booking-group.tsx +216 -210
- package/src/booking-wizard/features/product-options/option-item.tsx +317 -318
- package/src/booking-wizard/features/product-options/option-pax-card.tsx +201 -188
- package/src/booking-wizard/features/product-options/option-pax-group.tsx +175 -169
- package/src/booking-wizard/features/product-options/option-room.tsx +321 -314
- package/src/booking-wizard/features/product-options/option-unit-group.tsx +198 -192
- package/src/booking-wizard/features/product-options/option-units-card.tsx +185 -174
- package/src/booking-wizard/features/product-options/options-form.tsx +459 -437
- package/src/booking-wizard/features/room-options/index.tsx +187 -172
- package/src/booking-wizard/features/room-options/room-utils.ts +190 -143
- package/src/booking-wizard/features/room-options/room.tsx +160 -124
- package/src/booking-wizard/features/room-options/traveler-rooms.tsx +75 -63
- package/src/booking-wizard/features/sidebar/index.tsx +76 -76
- package/src/booking-wizard/features/sidebar/sidebar-flight.tsx +68 -68
- package/src/booking-wizard/features/sidebar/sidebar-util.ts +177 -177
- package/src/booking-wizard/features/sidebar/sidebar.tsx +364 -346
- package/src/booking-wizard/features/summary/summary-booking-option-pax.tsx +25 -25
- package/src/booking-wizard/features/summary/summary-booking-option-unit.tsx +25 -25
- package/src/booking-wizard/features/summary/summary-flight.tsx +39 -39
- package/src/booking-wizard/features/summary/summary-per-booking-option-group.tsx +69 -57
- package/src/booking-wizard/features/summary/summary-per-pax-option-group.tsx +63 -51
- package/src/booking-wizard/features/summary/summary-per-unit-option-group.tsx +66 -54
- package/src/booking-wizard/features/summary/summary-slice.ts +28 -28
- package/src/booking-wizard/features/summary/summary.tsx +674 -643
- package/src/booking-wizard/features/travelers-form/travelers-form-slice.ts +164 -164
- package/src/booking-wizard/features/travelers-form/travelers-form.tsx +754 -755
- package/src/booking-wizard/features/travelers-form/type-ahead-input.tsx +101 -101
- package/src/booking-wizard/features/travelers-form/validate-form.ts +245 -245
- package/src/booking-wizard/index.tsx +36 -36
- package/src/booking-wizard/settings-context.ts +60 -60
- package/src/booking-wizard/store.ts +31 -31
- package/src/booking-wizard/types.ts +276 -271
- package/src/index.ts +4 -5
- package/src/shared/components/loader.tsx +16 -16
- package/src/shared/translations/en-GB.json +232 -0
- package/src/shared/translations/fr-BE.json +233 -233
- package/src/shared/translations/nl-BE.json +232 -232
- package/src/shared/types.ts +4 -4
- package/src/shared/utils/class-util.ts +9 -9
- package/src/shared/utils/localization-util.ts +62 -56
- package/src/shared/utils/query-string-util.ts +119 -116
- package/src/shared/utils/tide-api-utils.ts +36 -36
- package/styles/booking-product-variables.scss +394 -288
- package/styles/booking-product.scss +446 -440
- package/styles/booking-wizard-variables.scss +871 -530
- package/styles/booking-wizard.scss +59 -26
- package/styles/components/_animations.scss +39 -39
- package/styles/components/_base.scss +107 -106
- package/styles/components/_booking.scss +879 -1409
- package/styles/components/_button.scss +238 -185
- package/styles/components/_checkbox.scss +219 -215
- package/styles/components/_cta.scss +208 -133
- package/styles/components/_date-list.scss +41 -0
- package/styles/components/_date-range-picker.scss +225 -225
- package/styles/components/_decrement-increment.scss +35 -37
- package/styles/components/_dropdown.scss +72 -74
- package/styles/components/_flight-option.scss +1429 -1389
- package/styles/components/_form.scss +1583 -394
- package/styles/components/_info-message.scss +71 -0
- package/styles/components/_input.scss +25 -0
- package/styles/components/_list.scss +187 -82
- package/styles/components/_loader.scss +72 -71
- package/styles/components/_mixins.scss +550 -530
- package/styles/components/_placeholders.scss +166 -166
- package/styles/components/_pricing-summary.scss +155 -117
- package/styles/components/_qsm.scss +17 -20
- package/styles/components/_radiobutton.scss +170 -0
- package/styles/components/_select-wrapper.scss +80 -66
- package/styles/components/_spinner.scss +29 -0
- package/styles/components/_step-indicators.scss +168 -160
- package/styles/components/_table.scss +81 -81
- package/styles/components/_tree.scss +530 -540
- package/styles/components/_typeahead.scss +281 -0
- package/styles/components/_variables.scss +89 -89
- package/tsconfig.json +24 -24
package/build/build-cjs/index.js
CHANGED
|
@@ -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 =
|
|
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$
|
|
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$
|
|
119
|
+
var INPUT$2 = {
|
|
120
120
|
INCREASE: "Augmenter",
|
|
121
121
|
DECREASE: "Diminuer"
|
|
122
122
|
};
|
|
123
|
-
var FLIGHTS_FORM$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
337
|
-
INPUT: INPUT$
|
|
338
|
-
FLIGHTS_FORM: FLIGHTS_FORM$
|
|
339
|
-
PRODUCT: PRODUCT$
|
|
340
|
-
MAIN: MAIN$
|
|
341
|
-
SHARED: SHARED$
|
|
342
|
-
SIDEBAR: SIDEBAR$
|
|
343
|
-
TRAVELERS_FORM: TRAVELERS_FORM$
|
|
344
|
-
OPTIONS_FORM: OPTIONS_FORM$
|
|
345
|
-
ROOM_OPTIONS_FORM: ROOM_OPTIONS_FORM$
|
|
346
|
-
SUMMARY: SUMMARY$
|
|
347
|
-
CONFIRMATION: CONFIRMATION$
|
|
348
|
-
ERROR: ERROR$
|
|
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:
|
|
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 : {
|
|
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
|
|
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, {
|
|
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({
|
|
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"
|
|
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) {
|
|
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
|
-
|
|
9107
|
-
|
|
9108
|
-
|
|
9109
|
-
|
|
9110
|
-
|
|
9111
|
-
|
|
9112
|
-
|
|
9113
|
-
|
|
9114
|
-
|
|
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
|
-
|
|
9137
|
-
|
|
9138
|
-
React__default["default"].createElement("div", { className: "
|
|
9139
|
-
|
|
9140
|
-
|
|
9141
|
-
|
|
9142
|
-
|
|
9143
|
-
|
|
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([
|
|
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) {
|
|
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) {
|
|
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
|
-
|
|
9242
|
-
|
|
9243
|
-
|
|
9244
|
-
|
|
9245
|
-
React__default["default"].createElement("
|
|
9246
|
-
|
|
9247
|
-
|
|
9248
|
-
|
|
9249
|
-
|
|
9250
|
-
|
|
9251
|
-
|
|
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([
|
|
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 =
|
|
9279
|
-
|
|
9280
|
-
|
|
9281
|
-
|
|
9282
|
-
|
|
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) {
|
|
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) {
|
|
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) {
|
|
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 &&
|
|
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) {
|
|
9799
|
-
|
|
9800
|
-
accommodationCodes.
|
|
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) {
|
|
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:
|
|
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(
|
|
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) {
|
|
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) {
|
|
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) {
|
|
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) {
|
|
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
|
|
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: {
|
|
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
|
|
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(
|
|
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 ===
|
|
11322
|
+
if (!numberOfStops.some(function (x) { return x.value === stopCount + ""; })) {
|
|
10954
11323
|
numberOfStops.push({
|
|
10955
|
-
value:
|
|
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) {
|
|
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) {
|
|
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) {
|
|
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) {
|
|
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) {
|
|
11075
|
-
|
|
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(
|
|
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(
|
|
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
|
|
11593
|
+
return "0000-0500";
|
|
11204
11594
|
if (time > 500 && time <= 1200)
|
|
11205
|
-
return
|
|
11595
|
+
return "0500-1200";
|
|
11206
11596
|
if (time > 1200 && time <= 1800)
|
|
11207
|
-
return
|
|
11208
|
-
return
|
|
11597
|
+
return "1201-1800";
|
|
11598
|
+
return "1800-2400";
|
|
11209
11599
|
};
|
|
11210
11600
|
var getBracketTranslation = function (input, translations) {
|
|
11211
|
-
if (input ===
|
|
11601
|
+
if (input === "0000-0500")
|
|
11212
11602
|
return translations.FLIGHTS_FORM.NIGHT_DEPARTURE;
|
|
11213
|
-
if (input ===
|
|
11603
|
+
if (input === "0500-1200")
|
|
11214
11604
|
return translations.FLIGHTS_FORM.MORNING_DEPARTURE;
|
|
11215
|
-
if (input ===
|
|
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 &&
|
|
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
|
-
|
|
11310
|
-
|
|
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:
|
|
11329
|
-
React__default["default"].createElement("input", { type: "checkbox", id:
|
|
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:
|
|
11342
|
-
React__default["default"].createElement("input", { type: "checkbox", id:
|
|
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:
|
|
11355
|
-
React__default["default"].createElement("input", { type: "checkbox", id:
|
|
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:
|
|
11370
|
-
React__default["default"].createElement("input", { type: "checkbox", id:
|
|
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:
|
|
11391
|
-
React__default["default"].createElement("input", { type: "checkbox", id:
|
|
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([
|
|
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([
|
|
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([
|
|
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([
|
|
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 ?
|
|
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
|
-
|
|
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
|
-
|
|
11806
|
-
|
|
11807
|
-
React__default["default"].createElement("div", { className: "
|
|
11808
|
-
React__default["default"].createElement("div", { className: "booking-
|
|
11809
|
-
|
|
11810
|
-
|
|
11811
|
-
React__default["default"].createElement("div", { className: "
|
|
11812
|
-
|
|
11813
|
-
|
|
11814
|
-
|
|
11815
|
-
|
|
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) {
|
|
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 ||
|
|
12312
|
+
(option.regimeCode === regimeCode ||
|
|
12313
|
+
(option.regimeCode === null && regimeCode === "")) });
|
|
11901
12314
|
}) });
|
|
11902
12315
|
});
|
|
11903
12316
|
var selectedAccommodations = new Map();
|
|
11904
|
-
updatedRooms
|
|
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 ({
|
|
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 &&
|
|
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
|
-
:
|
|
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
|
|
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 ||
|
|
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 ||
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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 ||
|
|
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 ||
|
|
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
|
-
|
|
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
|
-
|
|
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:
|
|
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 ||
|
|
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 ||
|
|
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) {
|
|
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 &&
|
|
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([
|
|
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) {
|
|
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,
|
|
12972
|
-
|
|
12973
|
-
|
|
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-
|
|
13110
|
-
React__default["default"].createElement("div", { className: "pricing-
|
|
13111
|
-
React__default["default"].createElement("
|
|
13112
|
-
|
|
13113
|
-
(travelerRooms
|
|
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.
|
|
13116
|
-
|
|
13117
|
-
|
|
13118
|
-
|
|
13119
|
-
|
|
13120
|
-
|
|
13121
|
-
|
|
13122
|
-
|
|
13123
|
-
|
|
13124
|
-
|
|
13125
|
-
|
|
13126
|
-
|
|
13127
|
-
|
|
13128
|
-
|
|
13129
|
-
|
|
13130
|
-
|
|
13131
|
-
|
|
13132
|
-
React__default["default"].createElement("
|
|
13133
|
-
|
|
13134
|
-
|
|
13135
|
-
|
|
13136
|
-
React__default["default"].createElement("
|
|
13137
|
-
|
|
13138
|
-
|
|
13139
|
-
|
|
13140
|
-
|
|
13141
|
-
|
|
13142
|
-
(
|
|
13143
|
-
|
|
13144
|
-
|
|
13145
|
-
|
|
13146
|
-
|
|
13147
|
-
|
|
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("
|
|
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" },
|
|
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("
|
|
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" },
|
|
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("
|
|
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" },
|
|
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 (
|
|
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 =
|
|
13495
|
-
|
|
13496
|
-
|
|
13497
|
-
|
|
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: "
|
|
13535
|
-
React__default["default"].createElement("div", { className: "
|
|
13536
|
-
React__default["default"].createElement("div", { className: "
|
|
13537
|
-
React__default["default"].createElement("div", { className: "
|
|
13538
|
-
React__default["default"].createElement("
|
|
13539
|
-
|
|
13540
|
-
React__default["default"].createElement("div", { className: "
|
|
13541
|
-
React__default["default"].createElement("div", { className: "
|
|
13542
|
-
React__default["default"].createElement("
|
|
13543
|
-
|
|
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
|
-
|
|
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
|
-
|
|
13578
|
-
"
|
|
13579
|
-
|
|
13580
|
-
|
|
13581
|
-
|
|
13582
|
-
|
|
13583
|
-
|
|
13584
|
-
|
|
13585
|
-
|
|
13586
|
-
|
|
13587
|
-
|
|
13588
|
-
|
|
13589
|
-
|
|
13590
|
-
|
|
13591
|
-
|
|
13592
|
-
|
|
13593
|
-
|
|
13594
|
-
|
|
13595
|
-
|
|
13596
|
-
|
|
13597
|
-
|
|
13598
|
-
|
|
13599
|
-
|
|
13600
|
-
|
|
13601
|
-
|
|
13602
|
-
|
|
13603
|
-
|
|
13604
|
-
})),
|
|
13605
|
-
|
|
13606
|
-
|
|
13607
|
-
|
|
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
|
-
|
|
13611
|
-
|
|
13612
|
-
|
|
13613
|
-
|
|
13614
|
-
|
|
13615
|
-
|
|
13616
|
-
|
|
13617
|
-
}
|
|
13618
|
-
|
|
13619
|
-
|
|
13620
|
-
|
|
13621
|
-
|
|
13622
|
-
|
|
13623
|
-
|
|
13624
|
-
|
|
13625
|
-
|
|
13626
|
-
|
|
13627
|
-
|
|
13628
|
-
|
|
13629
|
-
|
|
13630
|
-
|
|
13631
|
-
React__default["default"].createElement("div", { className: "
|
|
13632
|
-
React__default["default"].createElement("div", { className: "
|
|
13633
|
-
React__default["default"].createElement("div", { className: "
|
|
13634
|
-
React__default["default"].createElement("
|
|
13635
|
-
|
|
13636
|
-
React__default["default"].createElement("div", { className: "
|
|
13637
|
-
React__default["default"].createElement("
|
|
13638
|
-
|
|
13639
|
-
|
|
13640
|
-
|
|
13641
|
-
|
|
13642
|
-
|
|
13643
|
-
|
|
13644
|
-
|
|
13645
|
-
|
|
13646
|
-
|
|
13647
|
-
|
|
13648
|
-
|
|
13649
|
-
|
|
13650
|
-
|
|
13651
|
-
|
|
13652
|
-
|
|
13653
|
-
|
|
13654
|
-
|
|
13655
|
-
|
|
13656
|
-
|
|
13657
|
-
|
|
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
|
|
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
|
|
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
|
-
|
|
14040
|
-
React__default["default"].createElement("div", {
|
|
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
|
-
|
|
14048
|
-
|
|
14049
|
-
|
|
14050
|
-
|
|
14051
|
-
|
|
14052
|
-
|
|
14053
|
-
|
|
14054
|
-
|
|
14055
|
-
|
|
14056
|
-
|
|
14057
|
-
|
|
14058
|
-
|
|
14059
|
-
"
|
|
14060
|
-
|
|
14061
|
-
|
|
14062
|
-
|
|
14063
|
-
|
|
14064
|
-
|
|
14065
|
-
|
|
14066
|
-
|
|
14067
|
-
|
|
14068
|
-
|
|
14069
|
-
|
|
14070
|
-
|
|
14071
|
-
|
|
14072
|
-
|
|
14073
|
-
|
|
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("
|
|
14076
|
-
|
|
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
|
-
|
|
14103
|
-
" ",
|
|
14104
|
-
|
|
14105
|
-
|
|
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
|
-
|
|
14667
|
+
"form__group--icon",
|
|
14668
|
+
hasVisibleError("travelAgentId") && "form__group--error",
|
|
14110
14669
|
]) },
|
|
14111
|
-
React__default["default"].createElement(
|
|
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) {
|
|
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
|
|
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))))));
|