@qite/tide-booking-component 1.4.104 → 1.4.106
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/build/build-cjs/index.js +1312 -187
- package/build/build-cjs/src/search-results/components/excursions/day-by-day-excursions.d.ts +4 -0
- package/build/build-cjs/src/search-results/components/excursions/excursion-details.d.ts +3 -0
- package/build/build-cjs/src/search-results/components/excursions/excursion-results.d.ts +8 -0
- package/build/build-cjs/src/search-results/store/search-results-selectors.d.ts +122 -0
- package/build/build-cjs/src/search-results/store/search-results-slice.d.ts +30 -2
- package/build/build-cjs/src/search-results/types.d.ts +27 -1
- package/build/build-cjs/src/search-results/utils/query-utils.d.ts +1 -0
- package/build/build-cjs/src/shared/components/flyin/flyin.d.ts +2 -1
- package/build/build-cjs/src/shared/utils/localization-util.d.ts +3 -0
- package/build/build-cjs/src/shared/utils/tide-api-utils.d.ts +6 -0
- package/build/build-esm/index.js +1304 -187
- package/build/build-esm/src/search-results/components/excursions/day-by-day-excursions.d.ts +4 -0
- package/build/build-esm/src/search-results/components/excursions/excursion-details.d.ts +3 -0
- package/build/build-esm/src/search-results/components/excursions/excursion-results.d.ts +8 -0
- package/build/build-esm/src/search-results/store/search-results-selectors.d.ts +122 -0
- package/build/build-esm/src/search-results/store/search-results-slice.d.ts +30 -2
- package/build/build-esm/src/search-results/types.d.ts +27 -1
- package/build/build-esm/src/search-results/utils/query-utils.d.ts +1 -0
- package/build/build-esm/src/shared/components/flyin/flyin.d.ts +2 -1
- package/build/build-esm/src/shared/utils/localization-util.d.ts +3 -0
- package/build/build-esm/src/shared/utils/tide-api-utils.d.ts +6 -0
- package/package.json +2 -2
- package/src/search-results/components/excursions/day-by-day-excursions.tsx +169 -0
- package/src/search-results/components/excursions/excursion-details.tsx +340 -0
- package/src/search-results/components/excursions/excursion-results.tsx +186 -0
- package/src/search-results/components/hotel/hotel-card.tsx +0 -3
- package/src/search-results/components/icon.tsx +1 -4
- package/src/search-results/components/itinerary/full-itinerary.tsx +161 -53
- package/src/search-results/components/itinerary/index.tsx +31 -7
- package/src/search-results/components/search-results-container/search-results-container.tsx +90 -28
- package/src/search-results/store/search-results-selectors.ts +11 -0
- package/src/search-results/store/search-results-slice.ts +46 -3
- package/src/search-results/types.ts +42 -1
- package/src/search-results/utils/query-utils.ts +1 -0
- package/src/shared/components/flyin/accommodation-flyin.tsx +4 -2
- package/src/shared/components/flyin/flights-flyin.tsx +3 -1
- package/src/shared/components/flyin/flyin.tsx +18 -6
- package/src/shared/components/flyin/group-tour-flyin.tsx +3 -1
- package/src/shared/translations/ar-SA.json +8 -2
- package/src/shared/translations/da-DK.json +8 -2
- package/src/shared/translations/de-DE.json +8 -2
- package/src/shared/translations/en-GB.json +8 -2
- package/src/shared/translations/es-ES.json +8 -2
- package/src/shared/translations/fr-BE.json +8 -2
- package/src/shared/translations/fr-FR.json +8 -2
- package/src/shared/translations/is-IS.json +8 -2
- package/src/shared/translations/it-IT.json +8 -2
- package/src/shared/translations/ja-JP.json +8 -2
- package/src/shared/translations/nl-BE.json +8 -2
- package/src/shared/translations/nl-NL.json +8 -2
- package/src/shared/translations/no-NO.json +8 -2
- package/src/shared/translations/pl-PL.json +8 -2
- package/src/shared/translations/pt-PT.json +8 -2
- package/src/shared/translations/sv-SE.json +8 -2
- package/src/shared/utils/localization-util.ts +14 -0
- package/src/shared/utils/tide-api-utils.ts +8 -0
- package/styles/components/_search.scss +11 -1
package/build/build-cjs/index.js
CHANGED
|
@@ -576,7 +576,8 @@ var QSM$g = {
|
|
|
576
576
|
RETURN_DATE: 'تاريخ العودة',
|
|
577
577
|
CONFIRM: 'تأكيد',
|
|
578
578
|
TRAVELERS: 'المسافرون',
|
|
579
|
-
GROUP_TOUR: 'جولة جماعية'
|
|
579
|
+
GROUP_TOUR: 'جولة جماعية',
|
|
580
|
+
ALL_TRAVELERS: 'جميع المسافرين'
|
|
580
581
|
};
|
|
581
582
|
var SRP$f = {
|
|
582
583
|
SHOW_MORE: 'عرض المزيد',
|
|
@@ -627,7 +628,12 @@ var SRP$f = {
|
|
|
627
628
|
DEPARTURE_TIME_DESC: 'وقت المغادرة تنازلياً',
|
|
628
629
|
DURATION_ASC: 'المدة تصاعدياً',
|
|
629
630
|
DURATION_DESC: 'المدة تنازلياً',
|
|
630
|
-
TRAVEL_GROUP: 'مجموعة المسافرين'
|
|
631
|
+
TRAVEL_GROUP: 'مجموعة المسافرين',
|
|
632
|
+
EXCURSION: 'رحلة'
|
|
633
|
+
};
|
|
634
|
+
var ITINERARY$f = {
|
|
635
|
+
DAY: 'اليوم',
|
|
636
|
+
NO_ITEMS: 'لا توجد عناصر لهذا اليوم.'
|
|
631
637
|
};
|
|
632
638
|
var arJson = {
|
|
633
639
|
STEPS: STEPS$f,
|
|
@@ -647,7 +653,8 @@ var arJson = {
|
|
|
647
653
|
NAVBAR: NAVBAR$f,
|
|
648
654
|
LOGIN: LOGIN$f,
|
|
649
655
|
QSM: QSM$g,
|
|
650
|
-
SRP: SRP$f
|
|
656
|
+
SRP: SRP$f,
|
|
657
|
+
ITINERARY: ITINERARY$f
|
|
651
658
|
};
|
|
652
659
|
|
|
653
660
|
var STEPS$e = {
|
|
@@ -982,7 +989,8 @@ var QSM$f = {
|
|
|
982
989
|
RETURN_DATE: 'Hjemrejsedato',
|
|
983
990
|
CONFIRM: 'Bekræft',
|
|
984
991
|
TRAVELERS: 'Rejsende',
|
|
985
|
-
GROUP_TOUR: 'Grupperejse'
|
|
992
|
+
GROUP_TOUR: 'Grupperejse',
|
|
993
|
+
ALL_TRAVELERS: 'Alle rejsende'
|
|
986
994
|
};
|
|
987
995
|
var SRP$e = {
|
|
988
996
|
SHOW_MORE: 'Vis flere',
|
|
@@ -1033,7 +1041,12 @@ var SRP$e = {
|
|
|
1033
1041
|
DEPARTURE_TIME_DESC: 'Afgangstid faldende',
|
|
1034
1042
|
DURATION_ASC: 'Varighed stigende',
|
|
1035
1043
|
DURATION_DESC: 'Varighed faldende',
|
|
1036
|
-
TRAVEL_GROUP: 'Rejseselskab'
|
|
1044
|
+
TRAVEL_GROUP: 'Rejseselskab',
|
|
1045
|
+
EXCURSION: 'Udflugt'
|
|
1046
|
+
};
|
|
1047
|
+
var ITINERARY$e = {
|
|
1048
|
+
DAY: 'Dag',
|
|
1049
|
+
NO_ITEMS: 'Ingen elementer for denne dag.'
|
|
1037
1050
|
};
|
|
1038
1051
|
var daJson = {
|
|
1039
1052
|
STEPS: STEPS$e,
|
|
@@ -1053,7 +1066,8 @@ var daJson = {
|
|
|
1053
1066
|
NAVBAR: NAVBAR$e,
|
|
1054
1067
|
LOGIN: LOGIN$e,
|
|
1055
1068
|
QSM: QSM$f,
|
|
1056
|
-
SRP: SRP$e
|
|
1069
|
+
SRP: SRP$e,
|
|
1070
|
+
ITINERARY: ITINERARY$e
|
|
1057
1071
|
};
|
|
1058
1072
|
|
|
1059
1073
|
var STEPS$d = {
|
|
@@ -1389,7 +1403,8 @@ var QSM$e = {
|
|
|
1389
1403
|
RETURN_DATE: 'Rückreisedatum',
|
|
1390
1404
|
CONFIRM: 'Bestätigen',
|
|
1391
1405
|
TRAVELERS: 'Reisende',
|
|
1392
|
-
GROUP_TOUR: 'Gruppentour'
|
|
1406
|
+
GROUP_TOUR: 'Gruppentour',
|
|
1407
|
+
ALL_TRAVELERS: 'Alle Reisenden'
|
|
1393
1408
|
};
|
|
1394
1409
|
var SRP$d = {
|
|
1395
1410
|
SHOW_MORE: 'Mehr anzeigen',
|
|
@@ -1440,7 +1455,12 @@ var SRP$d = {
|
|
|
1440
1455
|
DEPARTURE_AIRPORTS: 'Abflughäfen',
|
|
1441
1456
|
ARRIVAL_AIRPORTS: 'Ankunftsflughäfen',
|
|
1442
1457
|
PRICE: 'Preis',
|
|
1443
|
-
TRAVEL_GROUP: 'Reisegruppe'
|
|
1458
|
+
TRAVEL_GROUP: 'Reisegruppe',
|
|
1459
|
+
EXCURSION: 'Ausflug'
|
|
1460
|
+
};
|
|
1461
|
+
var ITINERARY$d = {
|
|
1462
|
+
DAY: 'Tag',
|
|
1463
|
+
NO_ITEMS: 'Keine Elemente für diesen Tag.'
|
|
1444
1464
|
};
|
|
1445
1465
|
var deJson = {
|
|
1446
1466
|
STEPS: STEPS$d,
|
|
@@ -1460,7 +1480,8 @@ var deJson = {
|
|
|
1460
1480
|
NAVBAR: NAVBAR$d,
|
|
1461
1481
|
LOGIN: LOGIN$d,
|
|
1462
1482
|
QSM: QSM$e,
|
|
1463
|
-
SRP: SRP$d
|
|
1483
|
+
SRP: SRP$d,
|
|
1484
|
+
ITINERARY: ITINERARY$d
|
|
1464
1485
|
};
|
|
1465
1486
|
|
|
1466
1487
|
var STEPS$c = {
|
|
@@ -1799,7 +1820,8 @@ var QSM$d = {
|
|
|
1799
1820
|
RETURN_DATE: 'Return date',
|
|
1800
1821
|
CONFIRM: 'Confirm',
|
|
1801
1822
|
TRAVELERS: 'Travelers',
|
|
1802
|
-
GROUP_TOUR: 'Group tour'
|
|
1823
|
+
GROUP_TOUR: 'Group tour',
|
|
1824
|
+
ALL_TRAVELERS: 'All travelers'
|
|
1803
1825
|
};
|
|
1804
1826
|
var SRP$c = {
|
|
1805
1827
|
SHOW_MORE: 'Show more',
|
|
@@ -1850,7 +1872,12 @@ var SRP$c = {
|
|
|
1850
1872
|
DEPARTURE_RANGE: 'Departure range',
|
|
1851
1873
|
DEPARTURE_AIRPORTS: 'Departure airports',
|
|
1852
1874
|
ARRIVAL_AIRPORTS: 'Arrival airports',
|
|
1853
|
-
TRAVEL_GROUP: 'Travel group'
|
|
1875
|
+
TRAVEL_GROUP: 'Travel group',
|
|
1876
|
+
EXCURSION: 'Excursion'
|
|
1877
|
+
};
|
|
1878
|
+
var ITINERARY$c = {
|
|
1879
|
+
DAY: 'Day',
|
|
1880
|
+
NO_ITEMS: 'No items for this day.'
|
|
1854
1881
|
};
|
|
1855
1882
|
var enJson = {
|
|
1856
1883
|
STEPS: STEPS$c,
|
|
@@ -1870,7 +1897,8 @@ var enJson = {
|
|
|
1870
1897
|
NAVBAR: NAVBAR$c,
|
|
1871
1898
|
LOGIN: LOGIN$c,
|
|
1872
1899
|
QSM: QSM$d,
|
|
1873
|
-
SRP: SRP$c
|
|
1900
|
+
SRP: SRP$c,
|
|
1901
|
+
ITINERARY: ITINERARY$c
|
|
1874
1902
|
};
|
|
1875
1903
|
|
|
1876
1904
|
var STEPS$b = {
|
|
@@ -2206,7 +2234,8 @@ var QSM$c = {
|
|
|
2206
2234
|
RETURN_DATE: 'Fecha de regreso',
|
|
2207
2235
|
CONFIRM: 'Confirmar',
|
|
2208
2236
|
TRAVELERS: 'Viajeros',
|
|
2209
|
-
GROUP_TOUR: 'Tour grupal'
|
|
2237
|
+
GROUP_TOUR: 'Tour grupal',
|
|
2238
|
+
ALL_TRAVELERS: 'Todos los viajeros'
|
|
2210
2239
|
};
|
|
2211
2240
|
var SRP$b = {
|
|
2212
2241
|
SHOW_MORE: 'Mostrar más',
|
|
@@ -2257,7 +2286,12 @@ var SRP$b = {
|
|
|
2257
2286
|
DEPARTURE_AIRPORTS: 'Aeropuertos de salida',
|
|
2258
2287
|
ARRIVAL_AIRPORTS: 'Aeropuertos de llegada',
|
|
2259
2288
|
PRICE: 'Precio',
|
|
2260
|
-
TRAVEL_GROUP: 'Grupo de viaje'
|
|
2289
|
+
TRAVEL_GROUP: 'Grupo de viaje',
|
|
2290
|
+
EXCURSION: 'Excursión'
|
|
2291
|
+
};
|
|
2292
|
+
var ITINERARY$b = {
|
|
2293
|
+
DAY: 'Día',
|
|
2294
|
+
NO_ITEMS: 'No hay elementos para este día.'
|
|
2261
2295
|
};
|
|
2262
2296
|
var esJson = {
|
|
2263
2297
|
STEPS: STEPS$b,
|
|
@@ -2277,7 +2311,8 @@ var esJson = {
|
|
|
2277
2311
|
NAVBAR: NAVBAR$b,
|
|
2278
2312
|
LOGIN: LOGIN$b,
|
|
2279
2313
|
QSM: QSM$c,
|
|
2280
|
-
SRP: SRP$b
|
|
2314
|
+
SRP: SRP$b,
|
|
2315
|
+
ITINERARY: ITINERARY$b
|
|
2281
2316
|
};
|
|
2282
2317
|
|
|
2283
2318
|
var STEPS$a = {
|
|
@@ -2617,7 +2652,8 @@ var QSM$b = {
|
|
|
2617
2652
|
RETURN_DATE: 'Date de retour',
|
|
2618
2653
|
CONFIRM: 'Confirmer',
|
|
2619
2654
|
TRAVELERS: 'Voyageurs',
|
|
2620
|
-
GROUP_TOUR: 'Tour en groupe'
|
|
2655
|
+
GROUP_TOUR: 'Tour en groupe',
|
|
2656
|
+
ALL_TRAVELERS: 'Tous les voyageurs'
|
|
2621
2657
|
};
|
|
2622
2658
|
var SRP$a = {
|
|
2623
2659
|
SHOW_MORE: 'Afficher plus',
|
|
@@ -2668,7 +2704,12 @@ var SRP$a = {
|
|
|
2668
2704
|
DEPARTURE_AIRPORTS: 'Aéroports de départ',
|
|
2669
2705
|
ARRIVAL_AIRPORTS: 'Aéroports d’arrivée',
|
|
2670
2706
|
PRICE: 'Prix',
|
|
2671
|
-
TRAVEL_GROUP: 'Groupe de voyageurs'
|
|
2707
|
+
TRAVEL_GROUP: 'Groupe de voyageurs',
|
|
2708
|
+
EXCURSION: 'Excursion'
|
|
2709
|
+
};
|
|
2710
|
+
var ITINERARY$a = {
|
|
2711
|
+
DAY: 'Jour',
|
|
2712
|
+
NO_ITEMS: 'Aucun élément pour ce jour.'
|
|
2672
2713
|
};
|
|
2673
2714
|
var frBeJson = {
|
|
2674
2715
|
STEPS: STEPS$a,
|
|
@@ -2688,7 +2729,8 @@ var frBeJson = {
|
|
|
2688
2729
|
NAVBAR: NAVBAR$a,
|
|
2689
2730
|
LOGIN: LOGIN$a,
|
|
2690
2731
|
QSM: QSM$b,
|
|
2691
|
-
SRP: SRP$a
|
|
2732
|
+
SRP: SRP$a,
|
|
2733
|
+
ITINERARY: ITINERARY$a
|
|
2692
2734
|
};
|
|
2693
2735
|
|
|
2694
2736
|
var STEPS$9 = {
|
|
@@ -3023,7 +3065,8 @@ var QSM$a = {
|
|
|
3023
3065
|
RETURN_DATE: 'Date de retour',
|
|
3024
3066
|
CONFIRM: 'Confirmer',
|
|
3025
3067
|
TRAVELERS: 'Voyageurs',
|
|
3026
|
-
GROUP_TOUR: 'Tour en groupe'
|
|
3068
|
+
GROUP_TOUR: 'Tour en groupe',
|
|
3069
|
+
ALL_TRAVELERS: 'Tous les voyageurs'
|
|
3027
3070
|
};
|
|
3028
3071
|
var SRP$9 = {
|
|
3029
3072
|
SHOW_MORE: 'Afficher plus',
|
|
@@ -3074,7 +3117,12 @@ var SRP$9 = {
|
|
|
3074
3117
|
DEPARTURE_AIRPORTS: 'Aéroports de départ',
|
|
3075
3118
|
ARRIVAL_AIRPORTS: 'Aéroports d’arrivée',
|
|
3076
3119
|
PRICE: 'Prix',
|
|
3077
|
-
TRAVEL_GROUP: 'Groupe de voyageurs'
|
|
3120
|
+
TRAVEL_GROUP: 'Groupe de voyageurs',
|
|
3121
|
+
EXCURSION: 'Excursion'
|
|
3122
|
+
};
|
|
3123
|
+
var ITINERARY$9 = {
|
|
3124
|
+
DAY: 'Jour',
|
|
3125
|
+
NO_ITEMS: 'Aucun élément pour ce jour.'
|
|
3078
3126
|
};
|
|
3079
3127
|
var frFrJson = {
|
|
3080
3128
|
STEPS: STEPS$9,
|
|
@@ -3094,7 +3142,8 @@ var frFrJson = {
|
|
|
3094
3142
|
NAVBAR: NAVBAR$9,
|
|
3095
3143
|
LOGIN: LOGIN$9,
|
|
3096
3144
|
QSM: QSM$a,
|
|
3097
|
-
SRP: SRP$9
|
|
3145
|
+
SRP: SRP$9,
|
|
3146
|
+
ITINERARY: ITINERARY$9
|
|
3098
3147
|
};
|
|
3099
3148
|
|
|
3100
3149
|
var STEPS$8 = {
|
|
@@ -3429,7 +3478,8 @@ var QSM$9 = {
|
|
|
3429
3478
|
RETURN_DATE: 'Heimkomudagur',
|
|
3430
3479
|
CONFIRM: 'Staðfesta',
|
|
3431
3480
|
TRAVELERS: 'Ferðalangar',
|
|
3432
|
-
GROUP_TOUR: 'Ferð í hóp'
|
|
3481
|
+
GROUP_TOUR: 'Ferð í hóp',
|
|
3482
|
+
ALL_TRAVELERS: 'Allir ferðalangar'
|
|
3433
3483
|
};
|
|
3434
3484
|
var SRP$8 = {
|
|
3435
3485
|
SHOW_MORE: 'Sýna meira',
|
|
@@ -3480,7 +3530,12 @@ var SRP$8 = {
|
|
|
3480
3530
|
DEPARTURE_AIRPORTS: 'Brottfararflugvellir',
|
|
3481
3531
|
ARRIVAL_AIRPORTS: 'Komuflugvellir',
|
|
3482
3532
|
PRICE: 'Verð',
|
|
3483
|
-
TRAVEL_GROUP: 'Ferðahópur'
|
|
3533
|
+
TRAVEL_GROUP: 'Ferðahópur',
|
|
3534
|
+
EXCURSION: 'Útflutningur'
|
|
3535
|
+
};
|
|
3536
|
+
var ITINERARY$8 = {
|
|
3537
|
+
DAY: 'Dagur',
|
|
3538
|
+
NO_ITEMS: 'Engar upplýsingar fyrir þennan dag.'
|
|
3484
3539
|
};
|
|
3485
3540
|
var isJson = {
|
|
3486
3541
|
STEPS: STEPS$8,
|
|
@@ -3500,7 +3555,8 @@ var isJson = {
|
|
|
3500
3555
|
NAVBAR: NAVBAR$8,
|
|
3501
3556
|
LOGIN: LOGIN$8,
|
|
3502
3557
|
QSM: QSM$9,
|
|
3503
|
-
SRP: SRP$8
|
|
3558
|
+
SRP: SRP$8,
|
|
3559
|
+
ITINERARY: ITINERARY$8
|
|
3504
3560
|
};
|
|
3505
3561
|
|
|
3506
3562
|
var STEPS$7 = {
|
|
@@ -3836,7 +3892,8 @@ var QSM$8 = {
|
|
|
3836
3892
|
RETURN_DATE: 'Data di ritorno',
|
|
3837
3893
|
CONFIRM: 'Conferma',
|
|
3838
3894
|
TRAVELERS: 'Viaggiatori',
|
|
3839
|
-
GROUP_TOUR: 'Tour di gruppo'
|
|
3895
|
+
GROUP_TOUR: 'Tour di gruppo',
|
|
3896
|
+
ALL_TRAVELERS: 'Tutti i viaggiatori'
|
|
3840
3897
|
};
|
|
3841
3898
|
var SRP$7 = {
|
|
3842
3899
|
SHOW_MORE: 'Mostra di più',
|
|
@@ -3887,7 +3944,12 @@ var SRP$7 = {
|
|
|
3887
3944
|
DEPARTURE_AIRPORTS: 'Aeroporti di partenza',
|
|
3888
3945
|
ARRIVAL_AIRPORTS: 'Aeroporti di arrivo',
|
|
3889
3946
|
PRICE: 'Prezzo',
|
|
3890
|
-
TRAVEL_GROUP: 'Gruppo di viaggio'
|
|
3947
|
+
TRAVEL_GROUP: 'Gruppo di viaggio',
|
|
3948
|
+
EXCURSION: 'Escursione'
|
|
3949
|
+
};
|
|
3950
|
+
var ITINERARY$7 = {
|
|
3951
|
+
DAY: 'Giorno',
|
|
3952
|
+
NO_ITEMS: 'Nessun elemento per questo giorno.'
|
|
3891
3953
|
};
|
|
3892
3954
|
var itJson = {
|
|
3893
3955
|
STEPS: STEPS$7,
|
|
@@ -3907,7 +3969,8 @@ var itJson = {
|
|
|
3907
3969
|
NAVBAR: NAVBAR$7,
|
|
3908
3970
|
LOGIN: LOGIN$7,
|
|
3909
3971
|
QSM: QSM$8,
|
|
3910
|
-
SRP: SRP$7
|
|
3972
|
+
SRP: SRP$7,
|
|
3973
|
+
ITINERARY: ITINERARY$7
|
|
3911
3974
|
};
|
|
3912
3975
|
|
|
3913
3976
|
var STEPS$6 = {
|
|
@@ -4247,7 +4310,8 @@ var QSM$7 = {
|
|
|
4247
4310
|
RETURN_DATE: 'Terugkeerdatum',
|
|
4248
4311
|
CONFIRM: 'Bevestigen',
|
|
4249
4312
|
TRAVELERS: 'Reizigers',
|
|
4250
|
-
GROUP_TOUR: 'Groepsreis'
|
|
4313
|
+
GROUP_TOUR: 'Groepsreis',
|
|
4314
|
+
ALL_TRAVELERS: 'Alle reizigers'
|
|
4251
4315
|
};
|
|
4252
4316
|
var SRP$6 = {
|
|
4253
4317
|
SHOW_MORE: 'Toon meer',
|
|
@@ -4298,7 +4362,12 @@ var SRP$6 = {
|
|
|
4298
4362
|
DEPARTURE_AIRPORTS: 'Vertrekluchthavens',
|
|
4299
4363
|
ARRIVAL_AIRPORTS: 'Aankomstluchthavens',
|
|
4300
4364
|
PRICE: 'Prijs',
|
|
4301
|
-
TRAVEL_GROUP: 'Reisgezelschap'
|
|
4365
|
+
TRAVEL_GROUP: 'Reisgezelschap',
|
|
4366
|
+
EXCURSION: 'Excursie'
|
|
4367
|
+
};
|
|
4368
|
+
var ITINERARY$6 = {
|
|
4369
|
+
DAY: 'Dag',
|
|
4370
|
+
NO_ITEMS: 'Geen elementen voor deze dag.'
|
|
4302
4371
|
};
|
|
4303
4372
|
var nlBeJson = {
|
|
4304
4373
|
STEPS: STEPS$6,
|
|
@@ -4318,7 +4387,8 @@ var nlBeJson = {
|
|
|
4318
4387
|
NAVBAR: NAVBAR$6,
|
|
4319
4388
|
LOGIN: LOGIN$6,
|
|
4320
4389
|
QSM: QSM$7,
|
|
4321
|
-
SRP: SRP$6
|
|
4390
|
+
SRP: SRP$6,
|
|
4391
|
+
ITINERARY: ITINERARY$6
|
|
4322
4392
|
};
|
|
4323
4393
|
|
|
4324
4394
|
var STEPS$5 = {
|
|
@@ -4654,7 +4724,8 @@ var QSM$6 = {
|
|
|
4654
4724
|
RETURN_DATE: 'Terugkeerdatum',
|
|
4655
4725
|
CONFIRM: 'Bevestigen',
|
|
4656
4726
|
TRAVELERS: 'Reizigers',
|
|
4657
|
-
GROUP_TOUR: 'Groepsreis'
|
|
4727
|
+
GROUP_TOUR: 'Groepsreis',
|
|
4728
|
+
ALL_TRAVELERS: 'Alle reizigers'
|
|
4658
4729
|
};
|
|
4659
4730
|
var SRP$5 = {
|
|
4660
4731
|
SHOW_MORE: 'Toon meer',
|
|
@@ -4705,7 +4776,12 @@ var SRP$5 = {
|
|
|
4705
4776
|
DEPARTURE_AIRPORTS: 'Vertrekluchthavens',
|
|
4706
4777
|
ARRIVAL_AIRPORTS: 'Aankomstluchthavens',
|
|
4707
4778
|
PRICE: 'Prijs',
|
|
4708
|
-
TRAVEL_GROUP: 'Reisgezelschap'
|
|
4779
|
+
TRAVEL_GROUP: 'Reisgezelschap',
|
|
4780
|
+
EXCURSION: 'Excursie'
|
|
4781
|
+
};
|
|
4782
|
+
var ITINERARY$5 = {
|
|
4783
|
+
DAY: 'Dag',
|
|
4784
|
+
NO_ITEMS: 'Geen elementen voor deze dag.'
|
|
4709
4785
|
};
|
|
4710
4786
|
var nlNlJson = {
|
|
4711
4787
|
STEPS: STEPS$5,
|
|
@@ -4725,7 +4801,8 @@ var nlNlJson = {
|
|
|
4725
4801
|
NAVBAR: NAVBAR$5,
|
|
4726
4802
|
LOGIN: LOGIN$5,
|
|
4727
4803
|
QSM: QSM$6,
|
|
4728
|
-
SRP: SRP$5
|
|
4804
|
+
SRP: SRP$5,
|
|
4805
|
+
ITINERARY: ITINERARY$5
|
|
4729
4806
|
};
|
|
4730
4807
|
|
|
4731
4808
|
var STEPS$4 = {
|
|
@@ -5061,7 +5138,8 @@ var QSM$5 = {
|
|
|
5061
5138
|
RETURN_DATE: 'Returdato',
|
|
5062
5139
|
CONFIRM: 'Bekreft',
|
|
5063
5140
|
TRAVELERS: 'Reisende',
|
|
5064
|
-
GROUP_TOUR: 'Gruppetur'
|
|
5141
|
+
GROUP_TOUR: 'Gruppetur',
|
|
5142
|
+
ALL_TRAVELERS: 'Alle reisende'
|
|
5065
5143
|
};
|
|
5066
5144
|
var SRP$4 = {
|
|
5067
5145
|
SHOW_MORE: 'Vis mer',
|
|
@@ -5112,7 +5190,12 @@ var SRP$4 = {
|
|
|
5112
5190
|
DEPARTURE_AIRPORTS: 'Avgangsflyplasser',
|
|
5113
5191
|
ARRIVAL_AIRPORTS: 'Ankomstflyplasser',
|
|
5114
5192
|
PRICE: 'Pris',
|
|
5115
|
-
TRAVEL_GROUP: 'Reisefølge'
|
|
5193
|
+
TRAVEL_GROUP: 'Reisefølge',
|
|
5194
|
+
EXCURSION: 'Utflukt'
|
|
5195
|
+
};
|
|
5196
|
+
var ITINERARY$4 = {
|
|
5197
|
+
DAY: 'Dag',
|
|
5198
|
+
NO_ITEMS: 'Ingen elementer for denne dagen.'
|
|
5116
5199
|
};
|
|
5117
5200
|
var noJson = {
|
|
5118
5201
|
STEPS: STEPS$4,
|
|
@@ -5132,7 +5215,8 @@ var noJson = {
|
|
|
5132
5215
|
NAVBAR: NAVBAR$4,
|
|
5133
5216
|
LOGIN: LOGIN$4,
|
|
5134
5217
|
QSM: QSM$5,
|
|
5135
|
-
SRP: SRP$4
|
|
5218
|
+
SRP: SRP$4,
|
|
5219
|
+
ITINERARY: ITINERARY$4
|
|
5136
5220
|
};
|
|
5137
5221
|
|
|
5138
5222
|
var STEPS$3 = {
|
|
@@ -5468,7 +5552,8 @@ var QSM$4 = {
|
|
|
5468
5552
|
RETURN_DATE: 'Data powrotu',
|
|
5469
5553
|
CONFIRM: 'Potwierdź',
|
|
5470
5554
|
TRAVELERS: 'Podróżni',
|
|
5471
|
-
GROUP_TOUR: 'Tour w grupie'
|
|
5555
|
+
GROUP_TOUR: 'Tour w grupie',
|
|
5556
|
+
ALL_TRAVELERS: 'Wszyscy podróżni'
|
|
5472
5557
|
};
|
|
5473
5558
|
var SRP$3 = {
|
|
5474
5559
|
SHOW_MORE: 'Pokaż więcej',
|
|
@@ -5519,7 +5604,12 @@ var SRP$3 = {
|
|
|
5519
5604
|
DEPARTURE_AIRPORTS: 'Lotniska wylotu',
|
|
5520
5605
|
ARRIVAL_AIRPORTS: 'Lotniska przylotu',
|
|
5521
5606
|
PRICE: 'Cena',
|
|
5522
|
-
TRAVEL_GROUP: 'Grupa podróżnych'
|
|
5607
|
+
TRAVEL_GROUP: 'Grupa podróżnych',
|
|
5608
|
+
EXCURSION: 'Wycieczka'
|
|
5609
|
+
};
|
|
5610
|
+
var ITINERARY$3 = {
|
|
5611
|
+
DAY: 'Dzień',
|
|
5612
|
+
NO_ITEMS: 'Brak elementów dla tego dnia.'
|
|
5523
5613
|
};
|
|
5524
5614
|
var plJson = {
|
|
5525
5615
|
STEPS: STEPS$3,
|
|
@@ -5539,7 +5629,8 @@ var plJson = {
|
|
|
5539
5629
|
NAVBAR: NAVBAR$3,
|
|
5540
5630
|
LOGIN: LOGIN$3,
|
|
5541
5631
|
QSM: QSM$4,
|
|
5542
|
-
SRP: SRP$3
|
|
5632
|
+
SRP: SRP$3,
|
|
5633
|
+
ITINERARY: ITINERARY$3
|
|
5543
5634
|
};
|
|
5544
5635
|
|
|
5545
5636
|
var STEPS$2 = {
|
|
@@ -5875,7 +5966,8 @@ var QSM$3 = {
|
|
|
5875
5966
|
RETURN_DATE: 'Data de regresso',
|
|
5876
5967
|
CONFIRM: 'Confirmar',
|
|
5877
5968
|
TRAVELERS: 'Viajantes',
|
|
5878
|
-
GROUP_TOUR: 'Tour em grupo'
|
|
5969
|
+
GROUP_TOUR: 'Tour em grupo',
|
|
5970
|
+
ALL_TRAVELERS: 'All travelers'
|
|
5879
5971
|
};
|
|
5880
5972
|
var SRP$2 = {
|
|
5881
5973
|
SHOW_MORE: 'Mostrar mais',
|
|
@@ -5926,7 +6018,12 @@ var SRP$2 = {
|
|
|
5926
6018
|
DEPARTURE_AIRPORTS: 'Aeroportos de partida',
|
|
5927
6019
|
ARRIVAL_AIRPORTS: 'Aeroportos de chegada',
|
|
5928
6020
|
PRICE: 'Preço',
|
|
5929
|
-
TRAVEL_GROUP: 'Grupo de viajantes'
|
|
6021
|
+
TRAVEL_GROUP: 'Grupo de viajantes',
|
|
6022
|
+
EXCURSION: 'Excursão'
|
|
6023
|
+
};
|
|
6024
|
+
var ITINERARY$2 = {
|
|
6025
|
+
DAY: 'Dia',
|
|
6026
|
+
NO_ITEMS: 'Nenhum item para este dia.'
|
|
5930
6027
|
};
|
|
5931
6028
|
var ptJson = {
|
|
5932
6029
|
STEPS: STEPS$2,
|
|
@@ -5946,7 +6043,8 @@ var ptJson = {
|
|
|
5946
6043
|
NAVBAR: NAVBAR$2,
|
|
5947
6044
|
LOGIN: LOGIN$2,
|
|
5948
6045
|
QSM: QSM$3,
|
|
5949
|
-
SRP: SRP$2
|
|
6046
|
+
SRP: SRP$2,
|
|
6047
|
+
ITINERARY: ITINERARY$2
|
|
5950
6048
|
};
|
|
5951
6049
|
|
|
5952
6050
|
var STEPS$1 = {
|
|
@@ -6282,7 +6380,8 @@ var QSM$2 = {
|
|
|
6282
6380
|
RETURN_DATE: 'Hemresedatum',
|
|
6283
6381
|
CONFIRM: 'Bekräfta',
|
|
6284
6382
|
TRAVELERS: 'Resenärer',
|
|
6285
|
-
GROUP_TOUR: 'Gruppresa'
|
|
6383
|
+
GROUP_TOUR: 'Gruppresa',
|
|
6384
|
+
ALL_TRAVELERS: 'All travelers'
|
|
6286
6385
|
};
|
|
6287
6386
|
var SRP$1 = {
|
|
6288
6387
|
SHOW_MORE: 'Visa mer',
|
|
@@ -6333,7 +6432,12 @@ var SRP$1 = {
|
|
|
6333
6432
|
DEPARTURE_AIRPORTS: 'Avgångsflygplatser',
|
|
6334
6433
|
ARRIVAL_AIRPORTS: 'Ankomstflygplatser',
|
|
6335
6434
|
PRICE: 'Pris',
|
|
6336
|
-
TRAVEL_GROUP: 'Resesällskap'
|
|
6435
|
+
TRAVEL_GROUP: 'Resesällskap',
|
|
6436
|
+
EXCURSION: 'Utflykt'
|
|
6437
|
+
};
|
|
6438
|
+
var ITINERARY$1 = {
|
|
6439
|
+
DAY: 'Dag',
|
|
6440
|
+
NO_ITEMS: 'Inga element för denna dag.'
|
|
6337
6441
|
};
|
|
6338
6442
|
var svJson = {
|
|
6339
6443
|
STEPS: STEPS$1,
|
|
@@ -6353,7 +6457,8 @@ var svJson = {
|
|
|
6353
6457
|
NAVBAR: NAVBAR$1,
|
|
6354
6458
|
LOGIN: LOGIN$1,
|
|
6355
6459
|
QSM: QSM$2,
|
|
6356
|
-
SRP: SRP$1
|
|
6460
|
+
SRP: SRP$1,
|
|
6461
|
+
ITINERARY: ITINERARY$1
|
|
6357
6462
|
};
|
|
6358
6463
|
|
|
6359
6464
|
var STEPS = {
|
|
@@ -6687,7 +6792,8 @@ var QSM$1 = {
|
|
|
6687
6792
|
RETURN_DATE: '帰着日',
|
|
6688
6793
|
CONFIRM: '確認',
|
|
6689
6794
|
TRAVELERS: '旅行者',
|
|
6690
|
-
GROUP_TOUR: 'グループツアー'
|
|
6795
|
+
GROUP_TOUR: 'グループツアー',
|
|
6796
|
+
ALL_TRAVELERS: 'すべての旅行者'
|
|
6691
6797
|
};
|
|
6692
6798
|
var SRP = {
|
|
6693
6799
|
SHOW_MORE: 'もっと見る',
|
|
@@ -6738,7 +6844,12 @@ var SRP = {
|
|
|
6738
6844
|
DEPARTURE_AIRPORTS: '出発空港',
|
|
6739
6845
|
ARRIVAL_AIRPORTS: '到着空港',
|
|
6740
6846
|
PRICE: '価格',
|
|
6741
|
-
TRAVEL_GROUP: '旅行グループ'
|
|
6847
|
+
TRAVEL_GROUP: '旅行グループ',
|
|
6848
|
+
EXCURSION: 'エクスカーション'
|
|
6849
|
+
};
|
|
6850
|
+
var ITINERARY = {
|
|
6851
|
+
DAY: '日',
|
|
6852
|
+
NO_ITEMS: 'この日のアイテムはありません。'
|
|
6742
6853
|
};
|
|
6743
6854
|
var jaJson = {
|
|
6744
6855
|
STEPS: STEPS,
|
|
@@ -6758,7 +6869,8 @@ var jaJson = {
|
|
|
6758
6869
|
NAVBAR: NAVBAR,
|
|
6759
6870
|
LOGIN: LOGIN,
|
|
6760
6871
|
QSM: QSM$1,
|
|
6761
|
-
SRP: SRP
|
|
6872
|
+
SRP: SRP,
|
|
6873
|
+
ITINERARY: ITINERARY
|
|
6762
6874
|
};
|
|
6763
6875
|
|
|
6764
6876
|
exports.DepartureRange = void 0;
|
|
@@ -6769,7 +6881,7 @@ exports.DepartureRange = void 0;
|
|
|
6769
6881
|
DepartureRange[(DepartureRange['Night'] = 3)] = 'Night';
|
|
6770
6882
|
})(exports.DepartureRange || (exports.DepartureRange = {}));
|
|
6771
6883
|
|
|
6772
|
-
var formatPrice$
|
|
6884
|
+
var formatPrice$3 = function (price, currencyCode, locale) {
|
|
6773
6885
|
if (locale === void 0) {
|
|
6774
6886
|
locale = 'nl-BE';
|
|
6775
6887
|
}
|
|
@@ -6876,7 +6988,7 @@ function getLocale(code) {
|
|
|
6876
6988
|
}
|
|
6877
6989
|
}
|
|
6878
6990
|
var getPriceDifferenceText = function (price, currencyCode) {
|
|
6879
|
-
return price > 0 ? '+ '.concat(formatPrice$
|
|
6991
|
+
return price > 0 ? '+ '.concat(formatPrice$3(Math.abs(price), currencyCode)) : '- '.concat(formatPrice$3(Math.abs(price), currencyCode));
|
|
6880
6992
|
};
|
|
6881
6993
|
function format(text, args) {
|
|
6882
6994
|
return text.replace(/{([0-9]+)}/g, function (match, index) {
|
|
@@ -6976,6 +7088,16 @@ var findSortByType = function (sortByTypes, sortKey, direction) {
|
|
|
6976
7088
|
}) || sortByTypes[0]
|
|
6977
7089
|
);
|
|
6978
7090
|
};
|
|
7091
|
+
var getDatesBetween = function (fromDate, toDate) {
|
|
7092
|
+
var dates = [];
|
|
7093
|
+
var current = new Date(fromDate);
|
|
7094
|
+
var end = new Date(toDate);
|
|
7095
|
+
while (current < end) {
|
|
7096
|
+
dates.push(new Date(current));
|
|
7097
|
+
current.setUTCDate(current.getUTCDate() + 1);
|
|
7098
|
+
}
|
|
7099
|
+
return dates;
|
|
7100
|
+
};
|
|
6979
7101
|
|
|
6980
7102
|
var getDateFromParams = function (params, name) {
|
|
6981
7103
|
var dateString = params.get(name);
|
|
@@ -13449,6 +13571,7 @@ PERFORMANCE OF THIS SOFTWARE.
|
|
|
13449
13571
|
var ENDPOINT = '/api/web/packaging';
|
|
13450
13572
|
var ENDPOINT_START_TRANSACTION = ENDPOINT + '/start';
|
|
13451
13573
|
var ENDPOINT_ACCOMMODATIONS = ENDPOINT + '/accommodations';
|
|
13574
|
+
var ENDPOINT_EXCURSIONS = ENDPOINT + '/excursions';
|
|
13452
13575
|
var ENDPOINT_FLIGHTS = ENDPOINT + '/flights';
|
|
13453
13576
|
var ENDPOINT_PRICE_DETAILS = ENDPOINT + '/price-details';
|
|
13454
13577
|
var ENDPOINT_ITINERARY = ENDPOINT + '/itinerary';
|
|
@@ -13472,6 +13595,12 @@ PERFORMANCE OF THIS SOFTWARE.
|
|
|
13472
13595
|
var body = JSON.stringify(request);
|
|
13473
13596
|
return post(url, apiKey, body, config.token, signal, true);
|
|
13474
13597
|
};
|
|
13598
|
+
var searchPackagingExcursions = function (config, request, signal) {
|
|
13599
|
+
var url = '' + config.host + ENDPOINT_EXCURSIONS;
|
|
13600
|
+
var apiKey = config.apiKey;
|
|
13601
|
+
var body = JSON.stringify(request);
|
|
13602
|
+
return post(url, apiKey, body, config.token, signal, true);
|
|
13603
|
+
};
|
|
13475
13604
|
var getEntry = function (config, magicLinkCode, signal) {
|
|
13476
13605
|
var apiKey = config.apiKey;
|
|
13477
13606
|
var url = '' + config.host + ENDPOINT_ENTRY(magicLinkCode);
|
|
@@ -13563,6 +13692,7 @@ PERFORMANCE OF THIS SOFTWARE.
|
|
|
13563
13692
|
exports.searchLocations = searchLocations;
|
|
13564
13693
|
exports.searchOords = searchOords;
|
|
13565
13694
|
exports.searchPackagingAccommodations = searchPackagingAccommodations;
|
|
13695
|
+
exports.searchPackagingExcursions = searchPackagingExcursions;
|
|
13566
13696
|
exports.searchPackagingFlights = searchPackagingFlights;
|
|
13567
13697
|
exports.searchRegions = searchRegions;
|
|
13568
13698
|
exports.searchWithErrorMapping = searchWithErrorMapping;
|
|
@@ -13639,16 +13769,16 @@ var formatPriceByMode = function (price, priceMode, personCount, duration, perPe
|
|
|
13639
13769
|
if (!price) return '';
|
|
13640
13770
|
switch (priceMode) {
|
|
13641
13771
|
case 0:
|
|
13642
|
-
return ''.concat(formatPrice$
|
|
13772
|
+
return ''.concat(formatPrice$3(price, currencyCode));
|
|
13643
13773
|
case 1:
|
|
13644
13774
|
var perPersonPrice = price / personCount;
|
|
13645
|
-
return ''.concat(formatPrice$
|
|
13775
|
+
return ''.concat(formatPrice$3(perPersonPrice, currencyCode), ' / ').concat(perPersonLabel);
|
|
13646
13776
|
case 2:
|
|
13647
13777
|
var perNightPrice = price / duration;
|
|
13648
|
-
return ''.concat(formatPrice$
|
|
13778
|
+
return ''.concat(formatPrice$3(perNightPrice, currencyCode), ' / ').concat(perNightLabel);
|
|
13649
13779
|
case 3:
|
|
13650
13780
|
var perPersonPerNightPrice = price / duration;
|
|
13651
|
-
return ''.concat(formatPrice$
|
|
13781
|
+
return ''.concat(formatPrice$3(perPersonPerNightPrice, currencyCode), ' / ').concat(perPersonPerNightLabel);
|
|
13652
13782
|
}
|
|
13653
13783
|
};
|
|
13654
13784
|
|
|
@@ -22144,7 +22274,7 @@ var NoneOption = function (_a) {
|
|
|
22144
22274
|
return x.requirementType === 2;
|
|
22145
22275
|
});
|
|
22146
22276
|
var noneSelected = !selectedOption;
|
|
22147
|
-
var priceDifferencetext = selectedOption ? '- '.concat(formatPrice$
|
|
22277
|
+
var priceDifferencetext = selectedOption ? '- '.concat(formatPrice$3(Math.abs(selectedOption.line.price), currencyCode)) : '';
|
|
22148
22278
|
return React__default['default'].createElement(
|
|
22149
22279
|
React__default['default'].Fragment,
|
|
22150
22280
|
null,
|
|
@@ -23421,7 +23551,7 @@ var OptionRoom = function (_a) {
|
|
|
23421
23551
|
e.preventDefault();
|
|
23422
23552
|
};
|
|
23423
23553
|
var getPriceDifferenceText = function (price) {
|
|
23424
|
-
return price > 0 ? '+ '.concat(formatPrice$
|
|
23554
|
+
return price > 0 ? '+ '.concat(formatPrice$3(Math.abs(price), currencyCode)) : '- '.concat(formatPrice$3(Math.abs(price), currencyCode));
|
|
23425
23555
|
};
|
|
23426
23556
|
var getAccommodationPriceDifference = function (accommodation) {
|
|
23427
23557
|
var _a;
|
|
@@ -24957,7 +25087,7 @@ var Sidebar = function (_a) {
|
|
|
24957
25087
|
{ className: 'pricing-summary__property' },
|
|
24958
25088
|
React__default['default'].createElement('h6', { className: 'pricing-summary__title' }, translations.SIDEBAR.BASE_PRICE)
|
|
24959
25089
|
),
|
|
24960
|
-
React__default['default'].createElement('div', { className: 'pricing-summary__value' }, formatPrice$
|
|
25090
|
+
React__default['default'].createElement('div', { className: 'pricing-summary__value' }, formatPrice$3(basePrice, currencyCode))
|
|
24961
25091
|
),
|
|
24962
25092
|
basePricePerPaxType &&
|
|
24963
25093
|
basePricePerPaxType.map(function (ppt, index) {
|
|
@@ -24977,7 +25107,7 @@ var Sidebar = function (_a) {
|
|
|
24977
25107
|
React__default['default'].createElement(
|
|
24978
25108
|
'div',
|
|
24979
25109
|
{ className: 'pricing-summary__value' },
|
|
24980
|
-
formatPrice$
|
|
25110
|
+
formatPrice$3(ppt.pricePerPaxType, currencyCode)
|
|
24981
25111
|
)
|
|
24982
25112
|
),
|
|
24983
25113
|
ppt.details.map(function (detail, dIndex) {
|
|
@@ -24997,7 +25127,7 @@ var Sidebar = function (_a) {
|
|
|
24997
25127
|
React__default['default'].createElement(
|
|
24998
25128
|
'div',
|
|
24999
25129
|
{ className: 'pricing-summary__value' },
|
|
25000
|
-
formatPrice$
|
|
25130
|
+
formatPrice$3(detail.price / detail.numberOfPax, currencyCode)
|
|
25001
25131
|
)
|
|
25002
25132
|
);
|
|
25003
25133
|
})
|
|
@@ -25024,7 +25154,7 @@ var Sidebar = function (_a) {
|
|
|
25024
25154
|
React__default['default'].createElement(
|
|
25025
25155
|
'div',
|
|
25026
25156
|
{ className: 'pricing-summary__value' },
|
|
25027
|
-
formatPrice$
|
|
25157
|
+
formatPrice$3(priceDetail.price * priceDetail.amount, currencyCode)
|
|
25028
25158
|
)
|
|
25029
25159
|
),
|
|
25030
25160
|
React__default['default'].createElement(
|
|
@@ -25059,7 +25189,7 @@ var Sidebar = function (_a) {
|
|
|
25059
25189
|
React__default['default'].createElement(
|
|
25060
25190
|
'div',
|
|
25061
25191
|
{ className: 'pricing-summary__value' },
|
|
25062
|
-
formatPrice$
|
|
25192
|
+
formatPrice$3(priceDetail.price * priceDetail.amount, currencyCode)
|
|
25063
25193
|
)
|
|
25064
25194
|
),
|
|
25065
25195
|
React__default['default'].createElement(
|
|
@@ -25089,7 +25219,7 @@ var Sidebar = function (_a) {
|
|
|
25089
25219
|
React__default['default'].createElement(
|
|
25090
25220
|
'div',
|
|
25091
25221
|
{ className: 'pricing-summary__value' },
|
|
25092
|
-
formatPrice$
|
|
25222
|
+
formatPrice$3(ppt.pricePerPaxType, currencyCode)
|
|
25093
25223
|
)
|
|
25094
25224
|
),
|
|
25095
25225
|
ppt.details.map(function (detail, dIndex) {
|
|
@@ -25109,7 +25239,7 @@ var Sidebar = function (_a) {
|
|
|
25109
25239
|
React__default['default'].createElement(
|
|
25110
25240
|
'div',
|
|
25111
25241
|
{ className: 'pricing-summary__value' },
|
|
25112
|
-
formatPrice$
|
|
25242
|
+
formatPrice$3(detail.price / detail.numberOfPax, currencyCode)
|
|
25113
25243
|
)
|
|
25114
25244
|
);
|
|
25115
25245
|
})
|
|
@@ -25153,7 +25283,7 @@ var Sidebar = function (_a) {
|
|
|
25153
25283
|
React__default['default'].createElement(
|
|
25154
25284
|
'div',
|
|
25155
25285
|
{ className: 'pricing__price' },
|
|
25156
|
-
formatPrice$
|
|
25286
|
+
formatPrice$3(commission !== null && commission !== void 0 ? commission : 0, currencyCode)
|
|
25157
25287
|
)
|
|
25158
25288
|
)
|
|
25159
25289
|
)
|
|
@@ -25174,7 +25304,7 @@ var Sidebar = function (_a) {
|
|
|
25174
25304
|
React__default['default'].createElement(
|
|
25175
25305
|
'div',
|
|
25176
25306
|
{ className: 'pricing' },
|
|
25177
|
-
React__default['default'].createElement('div', { className: 'pricing__price' }, formatPrice$
|
|
25307
|
+
React__default['default'].createElement('div', { className: 'pricing__price' }, formatPrice$3(totalPrice, currencyCode))
|
|
25178
25308
|
)
|
|
25179
25309
|
)
|
|
25180
25310
|
),
|
|
@@ -25192,7 +25322,7 @@ var Sidebar = function (_a) {
|
|
|
25192
25322
|
React__default['default'].createElement(
|
|
25193
25323
|
'div',
|
|
25194
25324
|
{ className: 'pricing' },
|
|
25195
|
-
React__default['default'].createElement('div', { className: 'pricing__price' }, formatPrice$
|
|
25325
|
+
React__default['default'].createElement('div', { className: 'pricing__price' }, formatPrice$3(deposit, currencyCode))
|
|
25196
25326
|
)
|
|
25197
25327
|
)
|
|
25198
25328
|
),
|
|
@@ -25208,7 +25338,7 @@ var Sidebar = function (_a) {
|
|
|
25208
25338
|
translations.SIDEBAR.DEPOSIT_TEXT1,
|
|
25209
25339
|
React__default['default'].createElement('strong', null, translations.SIDEBAR.DEPOSIT_TEXT2),
|
|
25210
25340
|
translations.SIDEBAR.DEPOSIT_TEXT3,
|
|
25211
|
-
formatPrice$
|
|
25341
|
+
formatPrice$3(remainingAmount, currencyCode),
|
|
25212
25342
|
translations.SIDEBAR.DEPOSIT_TEXT4,
|
|
25213
25343
|
React__default['default'].createElement('strong', null, translations.SIDEBAR.DEPOSIT_TEXT5),
|
|
25214
25344
|
translations.SIDEBAR.DEPOSIT_TEXT6
|
|
@@ -25237,7 +25367,7 @@ var Sidebar = function (_a) {
|
|
|
25237
25367
|
React__default['default'].createElement(
|
|
25238
25368
|
'div',
|
|
25239
25369
|
{ className: 'pricing__price' },
|
|
25240
|
-
formatPrice$
|
|
25370
|
+
formatPrice$3(commission !== null && commission !== void 0 ? commission : 0, currencyCode)
|
|
25241
25371
|
)
|
|
25242
25372
|
)
|
|
25243
25373
|
)
|
|
@@ -25258,7 +25388,7 @@ var Sidebar = function (_a) {
|
|
|
25258
25388
|
React__default['default'].createElement(
|
|
25259
25389
|
'div',
|
|
25260
25390
|
{ className: 'pricing' },
|
|
25261
|
-
React__default['default'].createElement('div', { className: 'pricing__price' }, formatPrice$
|
|
25391
|
+
React__default['default'].createElement('div', { className: 'pricing__price' }, formatPrice$3(totalPrice, currencyCode))
|
|
25262
25392
|
)
|
|
25263
25393
|
)
|
|
25264
25394
|
)
|
|
@@ -33883,7 +34013,10 @@ var initialState$1 = {
|
|
|
33883
34013
|
flyInIsOpen: false,
|
|
33884
34014
|
flyInType: null,
|
|
33885
34015
|
editablePackagingEntry: null,
|
|
33886
|
-
itinerary: null
|
|
34016
|
+
itinerary: null,
|
|
34017
|
+
excursionSearchParams: null,
|
|
34018
|
+
selectedExcursionSearchResult: null,
|
|
34019
|
+
confirmedExcursionsByDay: {}
|
|
33887
34020
|
};
|
|
33888
34021
|
var searchResultsSlice = toolkit.createSlice({
|
|
33889
34022
|
name: 'searchResults',
|
|
@@ -34029,6 +34162,41 @@ var searchResultsSlice = toolkit.createSlice({
|
|
|
34029
34162
|
resetFlightSelection: function (state) {
|
|
34030
34163
|
state.selectedOutwardKey = null;
|
|
34031
34164
|
state.selectedReturnKey = null;
|
|
34165
|
+
},
|
|
34166
|
+
setExcursionSearchParams: function (state, action) {
|
|
34167
|
+
state.excursionSearchParams = action.payload;
|
|
34168
|
+
},
|
|
34169
|
+
setSelectedExcursionSearchResult: function (state, action) {
|
|
34170
|
+
state.selectedExcursionSearchResult = action.payload;
|
|
34171
|
+
},
|
|
34172
|
+
confirmExcursionForDay: function (state, action) {
|
|
34173
|
+
var _a;
|
|
34174
|
+
var _b = action.payload,
|
|
34175
|
+
dayKey = _b.dayKey,
|
|
34176
|
+
excursion = _b.excursion;
|
|
34177
|
+
var existingForDay = (_a = state.confirmedExcursionsByDay[dayKey]) !== null && _a !== void 0 ? _a : [];
|
|
34178
|
+
var existingIndex = existingForDay.findIndex(function (item) {
|
|
34179
|
+
return item.code === excursion.code;
|
|
34180
|
+
});
|
|
34181
|
+
if (existingIndex >= 0) {
|
|
34182
|
+
// replace existing confirmed version of same excursion
|
|
34183
|
+
existingForDay[existingIndex] = excursion;
|
|
34184
|
+
} else {
|
|
34185
|
+
existingForDay.push(excursion);
|
|
34186
|
+
}
|
|
34187
|
+
state.confirmedExcursionsByDay[dayKey] = existingForDay;
|
|
34188
|
+
},
|
|
34189
|
+
removeConfirmedExcursionForDay: function (state, action) {
|
|
34190
|
+
var _a;
|
|
34191
|
+
var _b = action.payload,
|
|
34192
|
+
dayKey = _b.dayKey,
|
|
34193
|
+
excursionCode = _b.excursionCode;
|
|
34194
|
+
state.confirmedExcursionsByDay[dayKey] = ((_a = state.confirmedExcursionsByDay[dayKey]) !== null && _a !== void 0 ? _a : []).filter(function (item) {
|
|
34195
|
+
return item.code !== excursionCode;
|
|
34196
|
+
});
|
|
34197
|
+
},
|
|
34198
|
+
clearConfirmedExcursionsForDay: function (state, action) {
|
|
34199
|
+
delete state.confirmedExcursionsByDay[action.payload.dayKey];
|
|
34032
34200
|
}
|
|
34033
34201
|
}
|
|
34034
34202
|
});
|
|
@@ -34068,6 +34236,11 @@ var setFlyInIsOpen = _a.setFlyInIsOpen,
|
|
|
34068
34236
|
setSelectedOutwardKey = _a.setSelectedOutwardKey,
|
|
34069
34237
|
setSelectedReturnKey = _a.setSelectedReturnKey;
|
|
34070
34238
|
_a.resetFlightSelection;
|
|
34239
|
+
var setExcursionSearchParams = _a.setExcursionSearchParams,
|
|
34240
|
+
setSelectedExcursionSearchResult = _a.setSelectedExcursionSearchResult,
|
|
34241
|
+
confirmExcursionForDay = _a.confirmExcursionForDay,
|
|
34242
|
+
removeConfirmedExcursionForDay = _a.removeConfirmedExcursionForDay;
|
|
34243
|
+
_a.clearConfirmedExcursionsForDay;
|
|
34071
34244
|
var searchResultsReducer = searchResultsSlice.reducer;
|
|
34072
34245
|
|
|
34073
34246
|
var ItemPicker = function (_a) {
|
|
@@ -34600,8 +34773,7 @@ var Icon$1 = function (_a) {
|
|
|
34600
34773
|
}),
|
|
34601
34774
|
title && React__default['default'].createElement('title', null, title),
|
|
34602
34775
|
React__default['default'].createElement('path', {
|
|
34603
|
-
d: 'M64 64C28.7 64 0 92.7 0 128l0 64C0 200.8 7.4 207.7 15.7 210.6 34.5 217.1 48 235 48 256s-13.5 38.9-32.3 45.4C7.4 304.3 0 311.2 0 320l0 64c0 35.3 28.7 64 64 64l448 0c35.3 0 64-28.7 64-64l0-64c0-8.8-7.4-15.7-15.7-18.6-18.8-6.5-32.3-24.4-32.3-45.4s13.5-38.9 32.3-45.4c8.3-2.9 15.7-9.8 15.7-18.6l0-64c0-35.3-28.7-64-64-64L64 64zM416 336l0-160-256 0 0 160 256 0zM112 160c0-17.7 14.3-32 32-32l288 0c17.7 0 32 14.3 32 32l0 192c0 17.7-14.3 32-32 32l-288 0c-17.7 0-32-14.3-32-32l0-192z'
|
|
34604
|
-
fill: 'currentColor'
|
|
34776
|
+
d: 'M64 64C28.7 64 0 92.7 0 128l0 64C0 200.8 7.4 207.7 15.7 210.6 34.5 217.1 48 235 48 256s-13.5 38.9-32.3 45.4C7.4 304.3 0 311.2 0 320l0 64c0 35.3 28.7 64 64 64l448 0c35.3 0 64-28.7 64-64l0-64c0-8.8-7.4-15.7-15.7-18.6-18.8-6.5-32.3-24.4-32.3-45.4s13.5-38.9 32.3-45.4c8.3-2.9 15.7-9.8 15.7-18.6l0-64c0-35.3-28.7-64-64-64L64 64zM416 336l0-160-256 0 0 160 256 0zM112 160c0-17.7 14.3-32 32-32l288 0c17.7 0 32 14.3 32 32l0 192c0 17.7-14.3 32-32 32l-288 0c-17.7 0-32-14.3-32-32l0-192z'
|
|
34605
34777
|
})
|
|
34606
34778
|
);
|
|
34607
34779
|
case 'ui-backforward':
|
|
@@ -35098,6 +35270,7 @@ var Icon$1 = function (_a) {
|
|
|
35098
35270
|
|
|
35099
35271
|
var GROUP_TOUR_SERVICE_TYPE = 1;
|
|
35100
35272
|
var ACCOMMODATION_SERVICE_TYPE = 3;
|
|
35273
|
+
var EXCURSION_SERVICE_TYPE = 4;
|
|
35101
35274
|
var FLIGHT_SERVICE_TYPE = 7;
|
|
35102
35275
|
var toDateOnlyString = function (value) {
|
|
35103
35276
|
var date = value instanceof Date ? value : new Date(value);
|
|
@@ -35330,6 +35503,21 @@ var getSegmentTitle = function (segment) {
|
|
|
35330
35503
|
var _a;
|
|
35331
35504
|
return (_a = segment.productName) !== null && _a !== void 0 ? _a : segment.accommodationName;
|
|
35332
35505
|
};
|
|
35506
|
+
var SERVICE_TYPE_PRIORITY = {
|
|
35507
|
+
7: 0, // Flight
|
|
35508
|
+
13: 1, // Transfer
|
|
35509
|
+
3: 2, // Hotel
|
|
35510
|
+
4: 3 // Excursion
|
|
35511
|
+
};
|
|
35512
|
+
var getServiceTypePriority = function (serviceType) {
|
|
35513
|
+
var _a;
|
|
35514
|
+
return (_a = SERVICE_TYPE_PRIORITY[serviceType !== null && serviceType !== void 0 ? serviceType : -1]) !== null && _a !== void 0 ? _a : 2;
|
|
35515
|
+
};
|
|
35516
|
+
var getDateOnlyTime = function (date) {
|
|
35517
|
+
if (!date) return 0;
|
|
35518
|
+
var parsedDate = new Date(date);
|
|
35519
|
+
return new Date(parsedDate.getFullYear(), parsedDate.getMonth(), parsedDate.getDate()).getTime();
|
|
35520
|
+
};
|
|
35333
35521
|
var Itinerary = function (_a) {
|
|
35334
35522
|
var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
|
|
35335
35523
|
var isOpen = _a.isOpen,
|
|
@@ -35358,14 +35546,17 @@ var Itinerary = function (_a) {
|
|
|
35358
35546
|
true
|
|
35359
35547
|
).sort(function (a, b) {
|
|
35360
35548
|
var _a, _b;
|
|
35361
|
-
var
|
|
35362
|
-
var
|
|
35363
|
-
|
|
35364
|
-
|
|
35365
|
-
|
|
35366
|
-
|
|
35367
|
-
|
|
35368
|
-
|
|
35549
|
+
var dateA = getDateOnlyTime(a.from);
|
|
35550
|
+
var dateB = getDateOnlyTime(b.from);
|
|
35551
|
+
if (dateA !== dateB) {
|
|
35552
|
+
return dateA - dateB;
|
|
35553
|
+
}
|
|
35554
|
+
var priorityA = getServiceTypePriority(a.serviceType);
|
|
35555
|
+
var priorityB = getServiceTypePriority(b.serviceType);
|
|
35556
|
+
if (priorityA !== priorityB) {
|
|
35557
|
+
return priorityA - priorityB;
|
|
35558
|
+
}
|
|
35559
|
+
return ((_a = a.order) !== null && _a !== void 0 ? _a : Infinity) - ((_b = b.order) !== null && _b !== void 0 ? _b : Infinity);
|
|
35369
35560
|
});
|
|
35370
35561
|
},
|
|
35371
35562
|
[packagingEntry]
|
|
@@ -35492,12 +35683,12 @@ var Itinerary = function (_a) {
|
|
|
35492
35683
|
React__default['default'].createElement(
|
|
35493
35684
|
'div',
|
|
35494
35685
|
{ className: 'search__filter__prices__wrapper' },
|
|
35495
|
-
React__default['default'].createElement('h3', { className: 'search__filter__prices--amount' }, formatPrice$
|
|
35686
|
+
React__default['default'].createElement('h3', { className: 'search__filter__prices--amount' }, formatPrice$3(pricePerPerson, 'EUR')),
|
|
35496
35687
|
React__default['default'].createElement('p', null, translations.SRP.PACKAGE_PRICE_PER_PERSON),
|
|
35497
35688
|
React__default['default'].createElement(
|
|
35498
35689
|
'p',
|
|
35499
35690
|
null,
|
|
35500
|
-
React__default['default'].createElement('strong', null, '(', formatPrice$
|
|
35691
|
+
React__default['default'].createElement('strong', null, '(', formatPrice$3(totalPrice, 'EUR'), ' ', translations.SRP.TOTAL, ')')
|
|
35501
35692
|
)
|
|
35502
35693
|
),
|
|
35503
35694
|
React__default['default'].createElement('button', { className: 'cta' }, translations.QSM.CONFIRM)
|
|
@@ -38563,7 +38754,8 @@ var FlightsFlyIn = function (_a) {
|
|
|
38563
38754
|
React__default['default'].createElement(
|
|
38564
38755
|
'div',
|
|
38565
38756
|
{ className: 'flyin__footer__price' },
|
|
38566
|
-
|
|
38757
|
+
translations.SHARED.TOTAL_PRICE,
|
|
38758
|
+
': \u20AC',
|
|
38567
38759
|
(_o = selectedCombinationFlight === null || selectedCombinationFlight === void 0 ? void 0 : selectedCombinationFlight.price) === null || _o === void 0
|
|
38568
38760
|
? void 0
|
|
38569
38761
|
: _o.toFixed(2)
|
|
@@ -38577,7 +38769,7 @@ var FlightsFlyIn = function (_a) {
|
|
|
38577
38769
|
);
|
|
38578
38770
|
};
|
|
38579
38771
|
|
|
38580
|
-
var formatPrice$
|
|
38772
|
+
var formatPrice$2 = function (price, currencyCode) {
|
|
38581
38773
|
if (typeof price !== 'number') return '';
|
|
38582
38774
|
var safeCurrency = currencyCode !== null && currencyCode !== void 0 ? currencyCode : 'EUR';
|
|
38583
38775
|
return new Intl.NumberFormat('nl-BE', {
|
|
@@ -38709,7 +38901,7 @@ var AccommodationFlyIn = function (_a) {
|
|
|
38709
38901
|
var totalPrice = selectedOptions.reduce(function (total, option) {
|
|
38710
38902
|
return total + (option.price || 0);
|
|
38711
38903
|
}, 0);
|
|
38712
|
-
return formatPrice$
|
|
38904
|
+
return formatPrice$2(totalPrice, selectedPackagingAccoSearchDetails.currencyCode);
|
|
38713
38905
|
};
|
|
38714
38906
|
var getPriceDifference = function (currentSelectedPrice, roomIndex, accommodationCode, regimeId) {
|
|
38715
38907
|
var targetPrice = 0;
|
|
@@ -38734,7 +38926,7 @@ var AccommodationFlyIn = function (_a) {
|
|
|
38734
38926
|
if (difference === 0) {
|
|
38735
38927
|
return null;
|
|
38736
38928
|
}
|
|
38737
|
-
var formattedAbsoluteValue = formatPrice$
|
|
38929
|
+
var formattedAbsoluteValue = formatPrice$2(Math.abs(difference), currencyCode);
|
|
38738
38930
|
return ''.concat(difference > 0 ? '+' : '-', ' ').concat(formattedAbsoluteValue);
|
|
38739
38931
|
};
|
|
38740
38932
|
var getPriceDifferenceClassName = function (difference) {
|
|
@@ -38852,7 +39044,7 @@ var AccommodationFlyIn = function (_a) {
|
|
|
38852
39044
|
React__default['default'].createElement(
|
|
38853
39045
|
'div',
|
|
38854
39046
|
{ className: 'flyin__footer' },
|
|
38855
|
-
React__default['default'].createElement('div', { className: 'flyin__footer__price' }, '
|
|
39047
|
+
React__default['default'].createElement('div', { className: 'flyin__footer__price' }, translations.SHARED.TOTAL_PRICE, ': ', calculateTotalPrice()),
|
|
38856
39048
|
React__default['default'].createElement(
|
|
38857
39049
|
'div',
|
|
38858
39050
|
{ className: 'flyin__button-wrapper' },
|
|
@@ -39011,7 +39203,7 @@ var AccommodationFlyIn = function (_a) {
|
|
|
39011
39203
|
// )} */}
|
|
39012
39204
|
// </div>
|
|
39013
39205
|
// <div className="flyin__footer">
|
|
39014
|
-
// <div className="flyin__footer__price">
|
|
39206
|
+
// <div className="flyin__footer__price">{translations.SHARED.TOTAL_PRICE}: €</div>
|
|
39015
39207
|
// <div className="flyin__button-wrapper">
|
|
39016
39208
|
// <button className="cta cta--select" onClick={handleConfirm}>
|
|
39017
39209
|
// Toevoegen
|
|
@@ -39021,7 +39213,7 @@ var AccommodationFlyIn = function (_a) {
|
|
|
39021
39213
|
// </>
|
|
39022
39214
|
};
|
|
39023
39215
|
|
|
39024
|
-
var formatPrice = function (price, currencyCode) {
|
|
39216
|
+
var formatPrice$1 = function (price, currencyCode) {
|
|
39025
39217
|
if (currencyCode === void 0) {
|
|
39026
39218
|
currencyCode = 'EUR';
|
|
39027
39219
|
}
|
|
@@ -39204,7 +39396,7 @@ var GroupTourFlyIn = function (_a) {
|
|
|
39204
39396
|
if (difference === 0) {
|
|
39205
39397
|
return null;
|
|
39206
39398
|
}
|
|
39207
|
-
var formattedAbsoluteValue = formatPrice(Math.abs(difference), currencyCode);
|
|
39399
|
+
var formattedAbsoluteValue = formatPrice$1(Math.abs(difference), currencyCode);
|
|
39208
39400
|
return ''.concat(difference > 0 ? '+' : '-', ' ').concat(formattedAbsoluteValue);
|
|
39209
39401
|
};
|
|
39210
39402
|
var getPriceDifferenceClassName = function (difference) {
|
|
@@ -39337,8 +39529,9 @@ var GroupTourFlyIn = function (_a) {
|
|
|
39337
39529
|
React__default['default'].createElement(
|
|
39338
39530
|
'div',
|
|
39339
39531
|
{ className: 'flyin__footer__price' },
|
|
39340
|
-
|
|
39341
|
-
|
|
39532
|
+
translations.SHARED.TOTAL_PRICE,
|
|
39533
|
+
': ',
|
|
39534
|
+
formatPrice$1(adjustedTotalPrice, bookingPackageDetails.currencyCode)
|
|
39342
39535
|
),
|
|
39343
39536
|
React__default['default'].createElement(
|
|
39344
39537
|
'div',
|
|
@@ -43655,7 +43848,7 @@ var getBaseHotelResult = function (searchResult, cmsItem, languageCode, translat
|
|
|
43655
43848
|
searchResult.countryName,
|
|
43656
43849
|
(_h = cmsItem === null || cmsItem === void 0 ? void 0 : cmsItem.parentItem) === null || _h === void 0 ? void 0 : _h.name
|
|
43657
43850
|
),
|
|
43658
|
-
price: formatPrice$
|
|
43851
|
+
price: formatPrice$3(searchResult.price, searchResult.currencyCode, languageCode),
|
|
43659
43852
|
ctaText: translations === null || translations === void 0 ? void 0 : translations.SRP.VIEW_DETAILS
|
|
43660
43853
|
};
|
|
43661
43854
|
};
|
|
@@ -43895,6 +44088,24 @@ var HotelAccommodationResults = function (_a) {
|
|
|
43895
44088
|
var selectSearchResultsState = function (state) {
|
|
43896
44089
|
return state.searchResults;
|
|
43897
44090
|
};
|
|
44091
|
+
var selectPackagingAccoResults = toolkit.createSelector([selectSearchResultsState], function (state) {
|
|
44092
|
+
return state.packagingAccoResults;
|
|
44093
|
+
});
|
|
44094
|
+
var selectSelectedPackagingAccoResultCode = toolkit.createSelector([selectSearchResultsState], function (state) {
|
|
44095
|
+
return state.selectedPackagingAccoResultCode;
|
|
44096
|
+
});
|
|
44097
|
+
var selectSelectedPackagingAccoResult = toolkit.createSelector(
|
|
44098
|
+
[selectPackagingAccoResults, selectSelectedPackagingAccoResultCode],
|
|
44099
|
+
function (packagingAccoResults, selectedPackagingAccoResultCode) {
|
|
44100
|
+
var _a;
|
|
44101
|
+
if (!selectedPackagingAccoResultCode) return null;
|
|
44102
|
+
return (_a = packagingAccoResults.find(function (accoResult) {
|
|
44103
|
+
return accoResult.code === selectedPackagingAccoResultCode;
|
|
44104
|
+
})) !== null && _a !== void 0
|
|
44105
|
+
? _a
|
|
44106
|
+
: null;
|
|
44107
|
+
}
|
|
44108
|
+
);
|
|
43898
44109
|
var selectPackagingFlightResults = toolkit.createSelector([selectSearchResultsState], function (state) {
|
|
43899
44110
|
return state.packagingFlightResults;
|
|
43900
44111
|
});
|
|
@@ -44021,7 +44232,7 @@ var IndependentFlightOption = function (_a) {
|
|
|
44021
44232
|
{ className: 'price' },
|
|
44022
44233
|
translations.QSM.ROUNDTRIP + ' ' + translations.SRP.PRICE,
|
|
44023
44234
|
'\u00A0',
|
|
44024
|
-
formatPrice$
|
|
44235
|
+
formatPrice$3(
|
|
44025
44236
|
price,
|
|
44026
44237
|
'EUR',
|
|
44027
44238
|
(_c = context === null || context === void 0 ? void 0 : context.languageCode) !== null && _c !== void 0 ? _c : 'en-GB'
|
|
@@ -44034,7 +44245,7 @@ var IndependentFlightOption = function (_a) {
|
|
|
44034
44245
|
{ className: 'price' },
|
|
44035
44246
|
priceDifference > 0 ? '+' : '-',
|
|
44036
44247
|
'\u00A0',
|
|
44037
|
-
formatPrice$
|
|
44248
|
+
formatPrice$3(
|
|
44038
44249
|
Math.abs(priceDifference),
|
|
44039
44250
|
'EUR',
|
|
44040
44251
|
(_d = context === null || context === void 0 ? void 0 : context.languageCode) !== null && _d !== void 0 ? _d : 'en-GB'
|
|
@@ -44741,6 +44952,567 @@ var PackageingFlightsFlyIn = function (_a) {
|
|
|
44741
44952
|
);
|
|
44742
44953
|
};
|
|
44743
44954
|
|
|
44955
|
+
var ExcursionResults = function (_a) {
|
|
44956
|
+
var _b;
|
|
44957
|
+
_a.isFlyIn;
|
|
44958
|
+
var activeSearchSeed = _a.activeSearchSeed;
|
|
44959
|
+
var context = React.useContext(SearchResultsConfigurationContext);
|
|
44960
|
+
var dispatch = reactRedux.useDispatch();
|
|
44961
|
+
var _c = React.useState(false),
|
|
44962
|
+
isLoading = _c[0],
|
|
44963
|
+
setIsLoading = _c[1];
|
|
44964
|
+
var _d = React.useState(null),
|
|
44965
|
+
excursions = _d[0],
|
|
44966
|
+
setExcursions = _d[1];
|
|
44967
|
+
var _e = reactRedux.useSelector(function (state) {
|
|
44968
|
+
return state.searchResults;
|
|
44969
|
+
}),
|
|
44970
|
+
flyInIsOpen = _e.flyInIsOpen,
|
|
44971
|
+
flyInType = _e.flyInType,
|
|
44972
|
+
excursionSearchParams = _e.excursionSearchParams,
|
|
44973
|
+
transactionId = _e.transactionId;
|
|
44974
|
+
React.useEffect(
|
|
44975
|
+
function () {
|
|
44976
|
+
if (!context || !activeSearchSeed || !excursionSearchParams) return;
|
|
44977
|
+
(function () {
|
|
44978
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
|
44979
|
+
var config, destination, allPax, searchRequest, packageExcursionSearchResults, err_1;
|
|
44980
|
+
var _a, _b, _c, _d, _e;
|
|
44981
|
+
return __generator(this, function (_f) {
|
|
44982
|
+
switch (_f.label) {
|
|
44983
|
+
case 0:
|
|
44984
|
+
_f.trys.push([0, 2, 3, 4]);
|
|
44985
|
+
setIsLoading(true);
|
|
44986
|
+
console.log('Excursion search params changed, fetching excursions...', excursionSearchParams);
|
|
44987
|
+
config = {
|
|
44988
|
+
host: context.tideConnection.host,
|
|
44989
|
+
apiKey: context.tideConnection.apiKey
|
|
44990
|
+
};
|
|
44991
|
+
destination = excursionSearchParams.locationId
|
|
44992
|
+
? { id: Number(excursionSearchParams.locationId), type: 'location' }
|
|
44993
|
+
: excursionSearchParams.oordId
|
|
44994
|
+
? { id: Number(excursionSearchParams.oordId), type: 'oord' }
|
|
44995
|
+
: excursionSearchParams.regionId
|
|
44996
|
+
? { id: Number(excursionSearchParams.regionId), type: 'region' }
|
|
44997
|
+
: excursionSearchParams.countryId
|
|
44998
|
+
? { id: Number(excursionSearchParams.countryId), type: 'country' }
|
|
44999
|
+
: { id: 0, type: null };
|
|
45000
|
+
allPax = activeSearchSeed.rooms.flatMap(function (room) {
|
|
45001
|
+
return room.pax;
|
|
45002
|
+
});
|
|
45003
|
+
searchRequest = {
|
|
45004
|
+
transactionId: transactionId !== null && transactionId !== void 0 ? transactionId : '',
|
|
45005
|
+
officeId: (_a = context.tideConnection.officeId) !== null && _a !== void 0 ? _a : 1,
|
|
45006
|
+
agentId: (_b = context.agentId) !== null && _b !== void 0 ? _b : null,
|
|
45007
|
+
portalId: (_c = context.portalId) !== null && _c !== void 0 ? _c : null,
|
|
45008
|
+
catalogueId: (_d = context.searchConfiguration.defaultCatalogueId) !== null && _d !== void 0 ? _d : 0,
|
|
45009
|
+
searchConfigurationId: context.searchConfiguration.id,
|
|
45010
|
+
language: (_e = context.languageCode) !== null && _e !== void 0 ? _e : 'en-GB',
|
|
45011
|
+
serviceType: EXCURSION_SERVICE_TYPE,
|
|
45012
|
+
fromDate: excursionSearchParams.fromDate,
|
|
45013
|
+
toDate: excursionSearchParams.toDate,
|
|
45014
|
+
destination: {
|
|
45015
|
+
id: destination.id,
|
|
45016
|
+
isCountry: destination.type === 'country',
|
|
45017
|
+
isRegion: destination.type === 'region',
|
|
45018
|
+
isOord: destination.type === 'oord',
|
|
45019
|
+
isLocation: destination.type === 'location',
|
|
45020
|
+
isAirport: false,
|
|
45021
|
+
code: ''
|
|
45022
|
+
},
|
|
45023
|
+
productCode: '',
|
|
45024
|
+
// rooms: activeSearchSeed.rooms.map((room) => ({
|
|
45025
|
+
// travellers: room.pax.map((pax) => ({
|
|
45026
|
+
// id: pax.id,
|
|
45027
|
+
// age: pax.age,
|
|
45028
|
+
// dateOfBirth: pax.dateOfBirth
|
|
45029
|
+
// }))
|
|
45030
|
+
// })),
|
|
45031
|
+
rooms: [
|
|
45032
|
+
{
|
|
45033
|
+
travellers: allPax.map(function (pax) {
|
|
45034
|
+
return {
|
|
45035
|
+
id: pax.id,
|
|
45036
|
+
age: pax.age,
|
|
45037
|
+
dateOfBirth: pax.dateOfBirth
|
|
45038
|
+
};
|
|
45039
|
+
})
|
|
45040
|
+
}
|
|
45041
|
+
],
|
|
45042
|
+
tagIds: []
|
|
45043
|
+
};
|
|
45044
|
+
return [4 /*yield*/, build.searchPackagingExcursions(config, searchRequest)];
|
|
45045
|
+
case 1:
|
|
45046
|
+
packageExcursionSearchResults = _f.sent();
|
|
45047
|
+
console.log('Excursion search results', packageExcursionSearchResults);
|
|
45048
|
+
setExcursions(packageExcursionSearchResults);
|
|
45049
|
+
return [3 /*break*/, 4];
|
|
45050
|
+
case 2:
|
|
45051
|
+
err_1 = _f.sent();
|
|
45052
|
+
console.error('Excursion search failed', err_1);
|
|
45053
|
+
return [3 /*break*/, 4];
|
|
45054
|
+
case 3:
|
|
45055
|
+
setIsLoading(false);
|
|
45056
|
+
return [7 /*endfinally*/];
|
|
45057
|
+
case 4:
|
|
45058
|
+
return [2 /*return*/];
|
|
45059
|
+
}
|
|
45060
|
+
});
|
|
45061
|
+
});
|
|
45062
|
+
})();
|
|
45063
|
+
},
|
|
45064
|
+
[context, activeSearchSeed, excursionSearchParams, transactionId]
|
|
45065
|
+
);
|
|
45066
|
+
if (!context || !activeSearchSeed) {
|
|
45067
|
+
return null;
|
|
45068
|
+
}
|
|
45069
|
+
if (!flyInIsOpen || flyInType !== 'excursion-results') {
|
|
45070
|
+
return null;
|
|
45071
|
+
}
|
|
45072
|
+
var translations = getTranslations((_b = context.languageCode) !== null && _b !== void 0 ? _b : 'en-GB');
|
|
45073
|
+
var handleChange = function (excursion) {
|
|
45074
|
+
console.log('Selected excursion', excursion);
|
|
45075
|
+
dispatch(setFlyInType('excursion-details'));
|
|
45076
|
+
dispatch(setSelectedExcursionSearchResult(excursion));
|
|
45077
|
+
};
|
|
45078
|
+
return isLoading
|
|
45079
|
+
? React__default['default'].createElement(Spinner, null)
|
|
45080
|
+
: React__default['default'].createElement(
|
|
45081
|
+
'div',
|
|
45082
|
+
{ className: 'flyin__content flyin__content--columns' },
|
|
45083
|
+
React__default['default'].createElement(
|
|
45084
|
+
'div',
|
|
45085
|
+
{ className: 'search__results__wrapper' },
|
|
45086
|
+
React__default['default'].createElement(
|
|
45087
|
+
'div',
|
|
45088
|
+
{ className: 'search__result-row' },
|
|
45089
|
+
React__default['default'].createElement(
|
|
45090
|
+
'span',
|
|
45091
|
+
{ className: 'search__result-row-text' },
|
|
45092
|
+
!isLoading &&
|
|
45093
|
+
React__default['default'].createElement(
|
|
45094
|
+
React__default['default'].Fragment,
|
|
45095
|
+
null,
|
|
45096
|
+
(excursions === null || excursions === void 0 ? void 0 : excursions.length) && excursions.length,
|
|
45097
|
+
'\u00A0',
|
|
45098
|
+
translations.SRP.TOTAL_RESULTS_LABEL
|
|
45099
|
+
)
|
|
45100
|
+
)
|
|
45101
|
+
),
|
|
45102
|
+
React__default['default'].createElement(
|
|
45103
|
+
'div',
|
|
45104
|
+
{ className: 'search__results__cards search__results__cards--compact' },
|
|
45105
|
+
excursions &&
|
|
45106
|
+
excursions.length > 0 &&
|
|
45107
|
+
excursions.map(function (excursion) {
|
|
45108
|
+
return React__default['default'].createElement(
|
|
45109
|
+
'div',
|
|
45110
|
+
{
|
|
45111
|
+
key: excursion.code,
|
|
45112
|
+
className: 'search__result-card__wrapper search__result-card__wrapper--custom',
|
|
45113
|
+
onMouseEnter: function (e) {
|
|
45114
|
+
return (e.currentTarget.style.transform = 'scale(1.02)');
|
|
45115
|
+
},
|
|
45116
|
+
onMouseLeave: function (e) {
|
|
45117
|
+
return (e.currentTarget.style.transform = 'scale(1)');
|
|
45118
|
+
}
|
|
45119
|
+
},
|
|
45120
|
+
excursion.contents
|
|
45121
|
+
? React__default['default'].createElement('div', { dangerouslySetInnerHTML: { __html: he.decode(excursion.contents) } })
|
|
45122
|
+
: 'no contents',
|
|
45123
|
+
React__default['default'].createElement(
|
|
45124
|
+
'div',
|
|
45125
|
+
{ className: 'search__result-card__footer' },
|
|
45126
|
+
React__default['default'].createElement(
|
|
45127
|
+
'button',
|
|
45128
|
+
{
|
|
45129
|
+
type: 'button',
|
|
45130
|
+
className: 'cta cta--select',
|
|
45131
|
+
onClick: function () {
|
|
45132
|
+
return handleChange(excursion);
|
|
45133
|
+
}
|
|
45134
|
+
},
|
|
45135
|
+
translations === null || translations === void 0 ? void 0 : translations.SHARED.SELECT
|
|
45136
|
+
)
|
|
45137
|
+
)
|
|
45138
|
+
);
|
|
45139
|
+
})
|
|
45140
|
+
)
|
|
45141
|
+
)
|
|
45142
|
+
);
|
|
45143
|
+
};
|
|
45144
|
+
|
|
45145
|
+
var formatPrice = function (price, currencyCode) {
|
|
45146
|
+
if (typeof price !== 'number') return '';
|
|
45147
|
+
return new Intl.NumberFormat('nl-BE', {
|
|
45148
|
+
style: 'currency',
|
|
45149
|
+
currency: currencyCode !== null && currencyCode !== void 0 ? currencyCode : 'EUR'
|
|
45150
|
+
}).format(price);
|
|
45151
|
+
};
|
|
45152
|
+
var getExcursionDayKey = function (date) {
|
|
45153
|
+
var parsed = typeof date === 'string' ? dateFns.parseISO(date) : date;
|
|
45154
|
+
return dateFns.format(parsed, 'yyyy-MM-dd');
|
|
45155
|
+
};
|
|
45156
|
+
var getOptionPaxIds = function (option) {
|
|
45157
|
+
return Array.isArray(option.paxIds)
|
|
45158
|
+
? Array.from(new Set(option.paxIds)).sort(function (a, b) {
|
|
45159
|
+
return a - b;
|
|
45160
|
+
})
|
|
45161
|
+
: [];
|
|
45162
|
+
};
|
|
45163
|
+
var optionAppliesToPax = function (option, paxId) {
|
|
45164
|
+
return getOptionPaxIds(option).includes(paxId);
|
|
45165
|
+
};
|
|
45166
|
+
var optionAppliesToAllTravellers = function (option, travellerCount) {
|
|
45167
|
+
var paxIds = getOptionPaxIds(option);
|
|
45168
|
+
var expected = Array.from({ length: travellerCount }, function (_, i) {
|
|
45169
|
+
return i;
|
|
45170
|
+
});
|
|
45171
|
+
return (
|
|
45172
|
+
paxIds.length === expected.length &&
|
|
45173
|
+
paxIds.every(function (id, index) {
|
|
45174
|
+
return id === expected[index];
|
|
45175
|
+
})
|
|
45176
|
+
);
|
|
45177
|
+
};
|
|
45178
|
+
var groupOptionsByExcursion = function (options) {
|
|
45179
|
+
var groupedMap = new Map();
|
|
45180
|
+
options.forEach(function (option) {
|
|
45181
|
+
var key = option.accommodationCode;
|
|
45182
|
+
if (!groupedMap.has(key)) {
|
|
45183
|
+
groupedMap.set(key, {
|
|
45184
|
+
accommodationCode: option.accommodationCode,
|
|
45185
|
+
accommodationName: option.accommodationName,
|
|
45186
|
+
options: []
|
|
45187
|
+
});
|
|
45188
|
+
}
|
|
45189
|
+
groupedMap.get(key).options.push(option);
|
|
45190
|
+
});
|
|
45191
|
+
return Array.from(groupedMap.values());
|
|
45192
|
+
};
|
|
45193
|
+
var ExcursionDetails = function () {
|
|
45194
|
+
var _a;
|
|
45195
|
+
var context = React.useContext(SearchResultsConfigurationContext);
|
|
45196
|
+
var dispatch = reactRedux.useDispatch();
|
|
45197
|
+
var _b = reactRedux.useSelector(function (state) {
|
|
45198
|
+
return state.searchResults;
|
|
45199
|
+
}),
|
|
45200
|
+
selectedExcursionSearchResult = _b.selectedExcursionSearchResult,
|
|
45201
|
+
editablePackagingEntry = _b.editablePackagingEntry,
|
|
45202
|
+
excursionSearchParams = _b.excursionSearchParams;
|
|
45203
|
+
if (
|
|
45204
|
+
!context ||
|
|
45205
|
+
!selectedExcursionSearchResult ||
|
|
45206
|
+
!editablePackagingEntry ||
|
|
45207
|
+
!(excursionSearchParams === null || excursionSearchParams === void 0 ? void 0 : excursionSearchParams.date)
|
|
45208
|
+
) {
|
|
45209
|
+
return null;
|
|
45210
|
+
}
|
|
45211
|
+
var translations = getTranslations((_a = context.languageCode) !== null && _a !== void 0 ? _a : 'en-GB');
|
|
45212
|
+
var travellerCount = editablePackagingEntry.pax.length;
|
|
45213
|
+
var allOptions = React.useMemo(
|
|
45214
|
+
function () {
|
|
45215
|
+
return selectedExcursionSearchResult.rooms.flatMap(function (room) {
|
|
45216
|
+
var _a;
|
|
45217
|
+
return (_a = room.options) !== null && _a !== void 0 ? _a : [];
|
|
45218
|
+
});
|
|
45219
|
+
},
|
|
45220
|
+
[selectedExcursionSearchResult]
|
|
45221
|
+
);
|
|
45222
|
+
var sharedOptions = React.useMemo(
|
|
45223
|
+
function () {
|
|
45224
|
+
return allOptions.filter(function (option) {
|
|
45225
|
+
return optionAppliesToAllTravellers(option, travellerCount);
|
|
45226
|
+
});
|
|
45227
|
+
},
|
|
45228
|
+
[allOptions, travellerCount]
|
|
45229
|
+
);
|
|
45230
|
+
var sharedExcursions = React.useMemo(
|
|
45231
|
+
function () {
|
|
45232
|
+
return groupOptionsByExcursion(sharedOptions);
|
|
45233
|
+
},
|
|
45234
|
+
[sharedOptions]
|
|
45235
|
+
);
|
|
45236
|
+
var paxGroups = React.useMemo(
|
|
45237
|
+
function () {
|
|
45238
|
+
return editablePackagingEntry.pax.map(function (pax) {
|
|
45239
|
+
var paxOptions = allOptions.filter(function (option) {
|
|
45240
|
+
return optionAppliesToPax(option, pax.id) && !optionAppliesToAllTravellers(option, travellerCount);
|
|
45241
|
+
});
|
|
45242
|
+
return {
|
|
45243
|
+
pax: pax,
|
|
45244
|
+
paxId: pax.id,
|
|
45245
|
+
excursions: groupOptionsByExcursion(paxOptions)
|
|
45246
|
+
};
|
|
45247
|
+
});
|
|
45248
|
+
},
|
|
45249
|
+
[editablePackagingEntry.pax, allOptions, travellerCount]
|
|
45250
|
+
);
|
|
45251
|
+
var getSelectedSharedOption = function () {
|
|
45252
|
+
return sharedOptions.find(function (option) {
|
|
45253
|
+
return option.isSelected;
|
|
45254
|
+
});
|
|
45255
|
+
};
|
|
45256
|
+
var getSelectedSharedOptionForExcursion = function (accommodationCode) {
|
|
45257
|
+
return sharedOptions.find(function (option) {
|
|
45258
|
+
return option.accommodationCode === accommodationCode && option.isSelected;
|
|
45259
|
+
});
|
|
45260
|
+
};
|
|
45261
|
+
var getSelectedOptionForPax = function (paxId) {
|
|
45262
|
+
return allOptions.find(function (option) {
|
|
45263
|
+
return optionAppliesToPax(option, paxId) && !optionAppliesToAllTravellers(option, travellerCount) && option.isSelected;
|
|
45264
|
+
});
|
|
45265
|
+
};
|
|
45266
|
+
var getSelectedOptionForExcursion = function (paxId, accommodationCode) {
|
|
45267
|
+
return allOptions.find(function (option) {
|
|
45268
|
+
return (
|
|
45269
|
+
optionAppliesToPax(option, paxId) &&
|
|
45270
|
+
!optionAppliesToAllTravellers(option, travellerCount) &&
|
|
45271
|
+
option.accommodationCode === accommodationCode &&
|
|
45272
|
+
option.isSelected
|
|
45273
|
+
);
|
|
45274
|
+
});
|
|
45275
|
+
};
|
|
45276
|
+
var handlePick = function (selectedGuid, paxId) {
|
|
45277
|
+
var updatedExcursionSearchResult = __assign(__assign({}, selectedExcursionSearchResult), {
|
|
45278
|
+
rooms: selectedExcursionSearchResult.rooms.map(function (room) {
|
|
45279
|
+
return __assign(__assign({}, room), {
|
|
45280
|
+
options: room.options.map(function (option) {
|
|
45281
|
+
var isSharedOption = optionAppliesToAllTravellers(option, travellerCount);
|
|
45282
|
+
if (paxId === undefined) {
|
|
45283
|
+
if (!isSharedOption) {
|
|
45284
|
+
return option;
|
|
45285
|
+
}
|
|
45286
|
+
return __assign(__assign({}, option), { isSelected: option.guid === selectedGuid });
|
|
45287
|
+
}
|
|
45288
|
+
if (isSharedOption || !optionAppliesToPax(option, paxId)) {
|
|
45289
|
+
return option;
|
|
45290
|
+
}
|
|
45291
|
+
return __assign(__assign({}, option), { isSelected: option.guid === selectedGuid });
|
|
45292
|
+
})
|
|
45293
|
+
});
|
|
45294
|
+
})
|
|
45295
|
+
});
|
|
45296
|
+
dispatch(setSelectedExcursionSearchResult(updatedExcursionSearchResult));
|
|
45297
|
+
};
|
|
45298
|
+
var calculateTotalPrice = function () {
|
|
45299
|
+
var selectedOptions = allOptions.filter(function (option) {
|
|
45300
|
+
return option.isSelected;
|
|
45301
|
+
});
|
|
45302
|
+
var totalPrice = selectedOptions.reduce(function (total, option) {
|
|
45303
|
+
return total + (option.price || 0);
|
|
45304
|
+
}, 0);
|
|
45305
|
+
return formatPrice(totalPrice, selectedExcursionSearchResult.currencyCode);
|
|
45306
|
+
};
|
|
45307
|
+
var getSharedPriceDifference = function (accommodationCode) {
|
|
45308
|
+
var currentSelectedShared = getSelectedSharedOption();
|
|
45309
|
+
var targetPrice = 0;
|
|
45310
|
+
var selectedOption = getSelectedSharedOptionForExcursion(accommodationCode);
|
|
45311
|
+
if (selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.price) {
|
|
45312
|
+
targetPrice = selectedOption.price;
|
|
45313
|
+
} else {
|
|
45314
|
+
var firstOption = sharedOptions.find(function (option) {
|
|
45315
|
+
return option.accommodationCode === accommodationCode;
|
|
45316
|
+
});
|
|
45317
|
+
targetPrice = (firstOption === null || firstOption === void 0 ? void 0 : firstOption.price) || 0;
|
|
45318
|
+
}
|
|
45319
|
+
return targetPrice - ((currentSelectedShared === null || currentSelectedShared === void 0 ? void 0 : currentSelectedShared.price) || 0);
|
|
45320
|
+
};
|
|
45321
|
+
var getPriceDifference = function (currentSelectedPrice, paxId, accommodationCode) {
|
|
45322
|
+
var targetPrice = 0;
|
|
45323
|
+
var selectedOption = getSelectedOptionForExcursion(paxId, accommodationCode);
|
|
45324
|
+
if (selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.price) {
|
|
45325
|
+
targetPrice = selectedOption.price;
|
|
45326
|
+
} else {
|
|
45327
|
+
var firstOption = allOptions.find(function (option) {
|
|
45328
|
+
return optionAppliesToPax(option, paxId) && !optionAppliesToAllTravellers(option, travellerCount) && option.accommodationCode === accommodationCode;
|
|
45329
|
+
});
|
|
45330
|
+
targetPrice = (firstOption === null || firstOption === void 0 ? void 0 : firstOption.price) || 0;
|
|
45331
|
+
}
|
|
45332
|
+
return targetPrice - (currentSelectedPrice || 0);
|
|
45333
|
+
};
|
|
45334
|
+
var formatPriceDifference = function (difference, currencyCode) {
|
|
45335
|
+
if (difference === 0) {
|
|
45336
|
+
return null;
|
|
45337
|
+
}
|
|
45338
|
+
var formattedAbsoluteValue = formatPrice(Math.abs(difference), currencyCode);
|
|
45339
|
+
return ''.concat(difference > 0 ? '+' : '-', ' ').concat(formattedAbsoluteValue);
|
|
45340
|
+
};
|
|
45341
|
+
var getPriceDifferenceClassName = function (difference) {
|
|
45342
|
+
if (difference < 0) {
|
|
45343
|
+
return 'flyin__acco__price flyin__acco__price--decrease';
|
|
45344
|
+
}
|
|
45345
|
+
if (difference > 0) {
|
|
45346
|
+
return 'flyin__acco__price flyin__acco__price--increase';
|
|
45347
|
+
}
|
|
45348
|
+
return 'flyin__acco__price';
|
|
45349
|
+
};
|
|
45350
|
+
var handleConfirm = function () {
|
|
45351
|
+
var dayKey = getExcursionDayKey(excursionSearchParams.date);
|
|
45352
|
+
dispatch(
|
|
45353
|
+
confirmExcursionForDay({
|
|
45354
|
+
dayKey: dayKey,
|
|
45355
|
+
excursion: selectedExcursionSearchResult
|
|
45356
|
+
})
|
|
45357
|
+
);
|
|
45358
|
+
dispatch(setFlyInIsOpen(false));
|
|
45359
|
+
};
|
|
45360
|
+
return React__default['default'].createElement(
|
|
45361
|
+
React__default['default'].Fragment,
|
|
45362
|
+
null,
|
|
45363
|
+
React__default['default'].createElement(
|
|
45364
|
+
'div',
|
|
45365
|
+
{ className: 'flyin__content' },
|
|
45366
|
+
sharedExcursions.length > 0 &&
|
|
45367
|
+
React__default['default'].createElement(
|
|
45368
|
+
'div',
|
|
45369
|
+
{ className: 'flyin__acco' },
|
|
45370
|
+
React__default['default'].createElement('h3', { className: 'flyin__acco__room-title' }, translations.QSM.ALL_TRAVELERS),
|
|
45371
|
+
React__default['default'].createElement(
|
|
45372
|
+
'div',
|
|
45373
|
+
{ className: 'flyin__acco__cards' },
|
|
45374
|
+
sharedExcursions.map(function (excursion) {
|
|
45375
|
+
var selectedOption = getSelectedSharedOptionForExcursion(excursion.accommodationCode);
|
|
45376
|
+
var priceDifference = getSharedPriceDifference(excursion.accommodationCode);
|
|
45377
|
+
return React__default['default'].createElement(
|
|
45378
|
+
'div',
|
|
45379
|
+
{ className: 'flyin__acco__card', key: 'all-'.concat(excursion.accommodationCode) },
|
|
45380
|
+
React__default['default'].createElement(
|
|
45381
|
+
'div',
|
|
45382
|
+
{ className: 'flyin__acco__content' },
|
|
45383
|
+
React__default['default'].createElement('h4', { className: 'flyin__acco__title' }, excursion.accommodationName)
|
|
45384
|
+
),
|
|
45385
|
+
React__default['default'].createElement(
|
|
45386
|
+
'div',
|
|
45387
|
+
{ className: 'flyin__acco__footer' },
|
|
45388
|
+
React__default['default'].createElement(
|
|
45389
|
+
'div',
|
|
45390
|
+
{ className: 'flyin__acco__footer__actions' },
|
|
45391
|
+
React__default['default'].createElement(
|
|
45392
|
+
'button',
|
|
45393
|
+
{
|
|
45394
|
+
className: selectedOption ? 'cta cta--select cta--selected' : 'cta cta--select',
|
|
45395
|
+
onClick: function () {
|
|
45396
|
+
var _a;
|
|
45397
|
+
return handlePick(
|
|
45398
|
+
selectedOption ? selectedOption.guid : (_a = lodash.first(excursion.options)) === null || _a === void 0 ? void 0 : _a.guid
|
|
45399
|
+
);
|
|
45400
|
+
}
|
|
45401
|
+
},
|
|
45402
|
+
selectedOption
|
|
45403
|
+
? translations === null || translations === void 0
|
|
45404
|
+
? void 0
|
|
45405
|
+
: translations.SHARED.SELECTED
|
|
45406
|
+
: translations === null || translations === void 0
|
|
45407
|
+
? void 0
|
|
45408
|
+
: translations.SHARED.SELECT
|
|
45409
|
+
),
|
|
45410
|
+
React__default['default'].createElement(
|
|
45411
|
+
'div',
|
|
45412
|
+
{ className: 'flyin__acco__price__wrapper' },
|
|
45413
|
+
React__default['default'].createElement(
|
|
45414
|
+
'span',
|
|
45415
|
+
{ className: getPriceDifferenceClassName(priceDifference) },
|
|
45416
|
+
formatPriceDifference(priceDifference, selectedExcursionSearchResult.currencyCode)
|
|
45417
|
+
)
|
|
45418
|
+
)
|
|
45419
|
+
)
|
|
45420
|
+
)
|
|
45421
|
+
);
|
|
45422
|
+
})
|
|
45423
|
+
)
|
|
45424
|
+
),
|
|
45425
|
+
paxGroups.map(function (_a) {
|
|
45426
|
+
var pax = _a.pax,
|
|
45427
|
+
paxId = _a.paxId,
|
|
45428
|
+
excursions = _a.excursions;
|
|
45429
|
+
if (excursions.length === 0) {
|
|
45430
|
+
return null;
|
|
45431
|
+
}
|
|
45432
|
+
var selectedPaxOption = getSelectedOptionForPax(paxId);
|
|
45433
|
+
return React__default['default'].createElement(
|
|
45434
|
+
'div',
|
|
45435
|
+
{ className: 'flyin__acco', key: 'pax-'.concat(pax.id) },
|
|
45436
|
+
React__default['default'].createElement('h3', { className: 'flyin__acco__room-title' }, translations.SUMMARY.TRAVELER, ' ', pax.id + 1),
|
|
45437
|
+
React__default['default'].createElement(
|
|
45438
|
+
'div',
|
|
45439
|
+
{ className: 'flyin__acco__cards' },
|
|
45440
|
+
excursions.map(function (excursion) {
|
|
45441
|
+
var selectedOption = getSelectedOptionForExcursion(paxId, excursion.accommodationCode);
|
|
45442
|
+
var priceDifference = getPriceDifference(
|
|
45443
|
+
selectedPaxOption === null || selectedPaxOption === void 0 ? void 0 : selectedPaxOption.price,
|
|
45444
|
+
paxId,
|
|
45445
|
+
excursion.accommodationCode
|
|
45446
|
+
);
|
|
45447
|
+
return React__default['default'].createElement(
|
|
45448
|
+
'div',
|
|
45449
|
+
{ className: 'flyin__acco__card', key: ''.concat(pax.id, '-').concat(excursion.accommodationCode) },
|
|
45450
|
+
React__default['default'].createElement(
|
|
45451
|
+
'div',
|
|
45452
|
+
{ className: 'flyin__acco__content' },
|
|
45453
|
+
React__default['default'].createElement('h4', { className: 'flyin__acco__title' }, excursion.accommodationName)
|
|
45454
|
+
),
|
|
45455
|
+
React__default['default'].createElement(
|
|
45456
|
+
'div',
|
|
45457
|
+
{ className: 'flyin__acco__footer' },
|
|
45458
|
+
React__default['default'].createElement(
|
|
45459
|
+
'div',
|
|
45460
|
+
{ className: 'flyin__acco__footer__actions' },
|
|
45461
|
+
React__default['default'].createElement(
|
|
45462
|
+
'button',
|
|
45463
|
+
{
|
|
45464
|
+
className:
|
|
45465
|
+
(selectedPaxOption === null || selectedPaxOption === void 0 ? void 0 : selectedPaxOption.accommodationCode) ===
|
|
45466
|
+
excursion.accommodationCode
|
|
45467
|
+
? 'cta cta--select cta--selected'
|
|
45468
|
+
: 'cta cta--select',
|
|
45469
|
+
onClick: function () {
|
|
45470
|
+
var _a;
|
|
45471
|
+
return handlePick(
|
|
45472
|
+
selectedOption ? selectedOption.guid : (_a = lodash.first(excursion.options)) === null || _a === void 0 ? void 0 : _a.guid,
|
|
45473
|
+
paxId
|
|
45474
|
+
);
|
|
45475
|
+
}
|
|
45476
|
+
},
|
|
45477
|
+
(selectedPaxOption === null || selectedPaxOption === void 0 ? void 0 : selectedPaxOption.accommodationCode) ===
|
|
45478
|
+
excursion.accommodationCode
|
|
45479
|
+
? translations === null || translations === void 0
|
|
45480
|
+
? void 0
|
|
45481
|
+
: translations.SHARED.SELECTED
|
|
45482
|
+
: translations === null || translations === void 0
|
|
45483
|
+
? void 0
|
|
45484
|
+
: translations.SHARED.SELECT
|
|
45485
|
+
),
|
|
45486
|
+
React__default['default'].createElement(
|
|
45487
|
+
'div',
|
|
45488
|
+
{ className: 'flyin__acco__price__wrapper' },
|
|
45489
|
+
React__default['default'].createElement(
|
|
45490
|
+
'span',
|
|
45491
|
+
{ className: getPriceDifferenceClassName(priceDifference) },
|
|
45492
|
+
formatPriceDifference(priceDifference, selectedExcursionSearchResult.currencyCode)
|
|
45493
|
+
)
|
|
45494
|
+
)
|
|
45495
|
+
)
|
|
45496
|
+
)
|
|
45497
|
+
);
|
|
45498
|
+
})
|
|
45499
|
+
)
|
|
45500
|
+
);
|
|
45501
|
+
})
|
|
45502
|
+
),
|
|
45503
|
+
React__default['default'].createElement(
|
|
45504
|
+
'div',
|
|
45505
|
+
{ className: 'flyin__footer' },
|
|
45506
|
+
React__default['default'].createElement('div', { className: 'flyin__footer__price' }, translations.SHARED.TOTAL_PRICE, ': ', calculateTotalPrice()),
|
|
45507
|
+
React__default['default'].createElement(
|
|
45508
|
+
'button',
|
|
45509
|
+
{ type: 'button', className: 'cta cta--primary', onClick: handleConfirm },
|
|
45510
|
+
translations === null || translations === void 0 ? void 0 : translations.QSM.CONFIRM
|
|
45511
|
+
)
|
|
45512
|
+
)
|
|
45513
|
+
);
|
|
45514
|
+
};
|
|
45515
|
+
|
|
44744
45516
|
var FlyIn = function (_a) {
|
|
44745
45517
|
var _b;
|
|
44746
45518
|
var srpType = _a.srpType,
|
|
@@ -44753,7 +45525,8 @@ var FlyIn = function (_a) {
|
|
|
44753
45525
|
flyInType = _a.flyInType,
|
|
44754
45526
|
isPackageEditFlow = _a.isPackageEditFlow,
|
|
44755
45527
|
handleConfirm = _a.handleConfirm,
|
|
44756
|
-
sortByTypes = _a.sortByTypes
|
|
45528
|
+
sortByTypes = _a.sortByTypes,
|
|
45529
|
+
activeSearchSeed = _a.activeSearchSeed;
|
|
44757
45530
|
var dispatch = reactRedux.useDispatch();
|
|
44758
45531
|
var context = React.useContext(SearchResultsConfigurationContext);
|
|
44759
45532
|
var language = (_b = context === null || context === void 0 ? void 0 : context.languageCode) !== null && _b !== void 0 ? _b : 'en-GB';
|
|
@@ -44811,14 +45584,17 @@ var FlyIn = function (_a) {
|
|
|
44811
45584
|
onCancelSearch();
|
|
44812
45585
|
} else {
|
|
44813
45586
|
dispatch(setSelectedSearchResult(null));
|
|
44814
|
-
dispatch(setSelectedPackagingAccoResult(null));
|
|
44815
45587
|
}
|
|
44816
45588
|
dispatch(setFlyInType('acco-details'));
|
|
44817
45589
|
setIsOpen(false);
|
|
44818
45590
|
}
|
|
44819
45591
|
};
|
|
44820
45592
|
var handleGoBack = function () {
|
|
44821
|
-
|
|
45593
|
+
if (flyInType === 'acco-details') {
|
|
45594
|
+
dispatch(setFlyInType('acco-results'));
|
|
45595
|
+
} else if (flyInType === 'excursion-details') {
|
|
45596
|
+
dispatch(setFlyInType('excursion-results'));
|
|
45597
|
+
}
|
|
44822
45598
|
};
|
|
44823
45599
|
var handleSortChange = function (newSortKey, direction) {
|
|
44824
45600
|
if (sortByTypes === undefined) return;
|
|
@@ -44862,7 +45638,8 @@ var FlyIn = function (_a) {
|
|
|
44862
45638
|
srpType === build.PortalQsmType.AccommodationAndFlight &&
|
|
44863
45639
|
flyInType === 'flight-return-results' &&
|
|
44864
45640
|
''.concat(translations.SRP.SELECT, ' ').concat(translations.FLIGHTS_FORM.RETURN_FLIGHT),
|
|
44865
|
-
srpType === build.PortalQsmType.AccommodationAndFlight && flyInType === 'flight-details' && 'Select your fare'
|
|
45641
|
+
srpType === build.PortalQsmType.AccommodationAndFlight && flyInType === 'flight-details' && 'Select your fare',
|
|
45642
|
+
flyInType === 'excursion-results' || (flyInType === 'excursion-details' && 'Select excursion')
|
|
44866
45643
|
),
|
|
44867
45644
|
React__default['default'].createElement(
|
|
44868
45645
|
'span',
|
|
@@ -44875,8 +45652,7 @@ var FlyIn = function (_a) {
|
|
|
44875
45652
|
React__default['default'].createElement(Icon, { name: 'ui-close', width: 30, height: 30, 'aria-hidden': 'true' })
|
|
44876
45653
|
)
|
|
44877
45654
|
),
|
|
44878
|
-
isPackageEditFlow &&
|
|
44879
|
-
flyInType === 'acco-details' &&
|
|
45655
|
+
((isPackageEditFlow && flyInType === 'acco-details') || flyInType === 'excursion-details') &&
|
|
44880
45656
|
React__default['default'].createElement(
|
|
44881
45657
|
'div',
|
|
44882
45658
|
{ className: 'flyin__content-title-row' },
|
|
@@ -44957,6 +45733,12 @@ var FlyIn = function (_a) {
|
|
|
44957
45733
|
srpType === build.PortalQsmType.AccommodationAndFlight &&
|
|
44958
45734
|
(flyInType === 'flight-outward-results' || flyInType === 'flight-return-results') &&
|
|
44959
45735
|
React__default['default'].createElement(PackageingFlightsFlyIn, { isOpen: isOpen, setIsOpen: setIsOpen }),
|
|
45736
|
+
srpType === build.PortalQsmType.AccommodationAndFlight &&
|
|
45737
|
+
flyInType === 'excursion-results' &&
|
|
45738
|
+
React__default['default'].createElement(ExcursionResults, { isFlyIn: true, activeSearchSeed: activeSearchSeed }),
|
|
45739
|
+
srpType === build.PortalQsmType.AccommodationAndFlight &&
|
|
45740
|
+
flyInType === 'excursion-details' &&
|
|
45741
|
+
React__default['default'].createElement(ExcursionDetails, null),
|
|
44960
45742
|
srpType === build.PortalQsmType.GroupTour &&
|
|
44961
45743
|
React__default['default'].createElement(GroupTourFlyIn, { isLoading: detailsLoading, isOpen: isOpen, setIsOpen: setIsOpen })
|
|
44962
45744
|
)
|
|
@@ -45315,7 +46097,7 @@ var PairedFlightOption = function (_a) {
|
|
|
45315
46097
|
React__default['default'].createElement(
|
|
45316
46098
|
'span',
|
|
45317
46099
|
{ className: 'price' },
|
|
45318
|
-
formatPrice$
|
|
46100
|
+
formatPrice$3(
|
|
45319
46101
|
item.price,
|
|
45320
46102
|
'EUR',
|
|
45321
46103
|
(_c = context === null || context === void 0 ? void 0 : context.languageCode) !== null && _c !== void 0 ? _c : 'en-GB'
|
|
@@ -47151,7 +47933,7 @@ var GroupTourCard = function (_a) {
|
|
|
47151
47933
|
React__default['default'].createElement(
|
|
47152
47934
|
'div',
|
|
47153
47935
|
{ className: 'search__result-card__allotment__price' },
|
|
47154
|
-
formatPrice$
|
|
47936
|
+
formatPrice$3(result.price, result.currencyCode, languageCode),
|
|
47155
47937
|
' ',
|
|
47156
47938
|
translations.PRODUCT.PER_PERSON
|
|
47157
47939
|
)
|
|
@@ -47933,33 +48715,98 @@ var getRequestRoomsFromPackagingSegments = function (entry, segments) {
|
|
|
47933
48715
|
});
|
|
47934
48716
|
};
|
|
47935
48717
|
|
|
47936
|
-
var formatNodeDate = function (date) {
|
|
47937
|
-
if (!date) return '';
|
|
47938
|
-
try {
|
|
47939
|
-
return new Intl.DateTimeFormat('nl-BE', {
|
|
47940
|
-
weekday: 'long',
|
|
47941
|
-
day: '2-digit',
|
|
47942
|
-
month: '2-digit',
|
|
47943
|
-
year: 'numeric'
|
|
47944
|
-
}).format(date);
|
|
47945
|
-
} catch (_a) {
|
|
47946
|
-
return '';
|
|
47947
|
-
}
|
|
47948
|
-
};
|
|
47949
48718
|
var escapeHtml = function (value) {
|
|
47950
48719
|
if (!value) return '';
|
|
47951
48720
|
return value.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"').replace(/'/g, ''');
|
|
47952
48721
|
};
|
|
47953
|
-
var
|
|
48722
|
+
var getNodeDayRange = function (node) {
|
|
48723
|
+
var _a, _b;
|
|
48724
|
+
var startDay = Number((_a = node.startDay) !== null && _a !== void 0 ? _a : 0);
|
|
48725
|
+
var endDay = Number((_b = node.endDay) !== null && _b !== void 0 ? _b : startDay);
|
|
48726
|
+
return { startDay: startDay, endDay: endDay };
|
|
48727
|
+
};
|
|
48728
|
+
var getItemDuration = function (item) {
|
|
48729
|
+
var _a;
|
|
48730
|
+
var duration = Number((_a = item.productDuration) !== null && _a !== void 0 ? _a : 0);
|
|
48731
|
+
return Number.isFinite(duration) && duration > 0 ? duration : 0;
|
|
48732
|
+
};
|
|
48733
|
+
var isAccommodationItem = function (item) {
|
|
48734
|
+
var _a;
|
|
48735
|
+
return getItemDuration(item) > 1 && ((_a = item.templateName) === null || _a === void 0 ? void 0 : _a.toLowerCase().includes('hotel'));
|
|
48736
|
+
};
|
|
48737
|
+
var getAccommodationName = function (item) {
|
|
48738
|
+
return item.title || 'Onbekende accommodatie';
|
|
48739
|
+
};
|
|
48740
|
+
var getItemDeduplicationKey = function (item) {
|
|
48741
|
+
var _a;
|
|
48742
|
+
(_a = item.templateName) === null || _a === void 0 ? void 0 : _a.toLowerCase();
|
|
48743
|
+
// if (templateName === 'hotel') {
|
|
48744
|
+
// return [item.templateName, item.productCode, item.accommodationCode, item.regimeCode].filter(Boolean).join('|');
|
|
48745
|
+
// }
|
|
48746
|
+
// if (templateName === 'excursion') {
|
|
48747
|
+
// return [item.templateName, item.productCode].filter(Boolean).join('|');
|
|
48748
|
+
// }
|
|
48749
|
+
return [item.templateName, item.productCode, item.title].filter(Boolean).join('|');
|
|
48750
|
+
};
|
|
48751
|
+
var getUniqueItems = function (items) {
|
|
48752
|
+
if (items === void 0) {
|
|
48753
|
+
items = [];
|
|
48754
|
+
}
|
|
48755
|
+
var seen = new Set();
|
|
48756
|
+
return items.filter(function (item) {
|
|
48757
|
+
var key = getItemDeduplicationKey(item) || item.itemGuid;
|
|
48758
|
+
if (seen.has(key)) {
|
|
48759
|
+
return false;
|
|
48760
|
+
}
|
|
48761
|
+
seen.add(key);
|
|
48762
|
+
return true;
|
|
48763
|
+
});
|
|
48764
|
+
};
|
|
48765
|
+
var findAccommodationForDay = function (nodes, currentDay) {
|
|
48766
|
+
var _a;
|
|
48767
|
+
for (var _i = 0, _b = nodes !== null && nodes !== void 0 ? nodes : []; _i < _b.length; _i++) {
|
|
48768
|
+
var node = _b[_i];
|
|
48769
|
+
var startDay = getNodeDayRange(node).startDay;
|
|
48770
|
+
var uniqueItems = getUniqueItems((_a = node.items) !== null && _a !== void 0 ? _a : []);
|
|
48771
|
+
for (var _c = 0, uniqueItems_1 = uniqueItems; _c < uniqueItems_1.length; _c++) {
|
|
48772
|
+
var item = uniqueItems_1[_c];
|
|
48773
|
+
if (!isAccommodationItem(item)) {
|
|
48774
|
+
continue;
|
|
48775
|
+
}
|
|
48776
|
+
var duration = getItemDuration(item);
|
|
48777
|
+
var accommodationEndDay = startDay + duration - 1;
|
|
48778
|
+
if (currentDay >= startDay && currentDay <= accommodationEndDay) {
|
|
48779
|
+
return item;
|
|
48780
|
+
}
|
|
48781
|
+
}
|
|
48782
|
+
}
|
|
48783
|
+
return null;
|
|
48784
|
+
};
|
|
48785
|
+
var buildItineraryHtml = function (itinerary, translations) {
|
|
47954
48786
|
var _a;
|
|
47955
48787
|
if (!itinerary) {
|
|
47956
48788
|
return '\n <div class="itinerary-shell">\n <div class="itinerary-empty">Geen reisroute beschikbaar.</div>\n </div>\n ';
|
|
47957
48789
|
}
|
|
47958
|
-
var
|
|
48790
|
+
var allNodes = (_a = itinerary.nodes) !== null && _a !== void 0 ? _a : [];
|
|
48791
|
+
var nodesHtml = allNodes
|
|
47959
48792
|
.map(function (node) {
|
|
47960
|
-
var
|
|
48793
|
+
var _a;
|
|
48794
|
+
var startDay = getNodeDayRange(node).startDay;
|
|
48795
|
+
var day = node.startDate ? dateFns.format(node.startDate, 'd') : null;
|
|
48796
|
+
var month = node.startDate ? dateFns.format(node.startDate, 'MMM') : null;
|
|
48797
|
+
var uniqueItems = getUniqueItems((_a = node.items) !== null && _a !== void 0 ? _a : []);
|
|
48798
|
+
var hasItems = uniqueItems.length > 0;
|
|
48799
|
+
var hasAccommodationInCurrentNode = uniqueItems.some(isAccommodationItem);
|
|
48800
|
+
var activeAccommodation = findAccommodationForDay(allNodes, startDay);
|
|
48801
|
+
var accommodationBanner =
|
|
48802
|
+
!hasAccommodationInCurrentNode && activeAccommodation
|
|
48803
|
+
? '\n <div class="itinerary-node__accommodation-banner">\n Accommodatie voor deze dag: <strong>'.concat(
|
|
48804
|
+
escapeHtml(getAccommodationName(activeAccommodation)),
|
|
48805
|
+
'</strong>\n </div>\n '
|
|
48806
|
+
)
|
|
48807
|
+
: '';
|
|
47961
48808
|
var itemsHtml = hasItems
|
|
47962
|
-
?
|
|
48809
|
+
? uniqueItems
|
|
47963
48810
|
.map(function (item) {
|
|
47964
48811
|
var _a;
|
|
47965
48812
|
return '\n <article class="itinerary-item" data-template="'
|
|
@@ -47967,25 +48814,19 @@ var buildItineraryHtml = function (itinerary) {
|
|
|
47967
48814
|
.concat((_a = item.contents) !== null && _a !== void 0 ? _a : '', '\n </article>\n ');
|
|
47968
48815
|
})
|
|
47969
48816
|
.join('')
|
|
47970
|
-
: '<div class="itinerary-node__empty">
|
|
47971
|
-
return '\n <section class="itinerary-node">\n <header class="itinerary-node__header">\n <div class="itinerary-node__day">
|
|
47972
|
-
.concat(
|
|
47973
|
-
.concat(
|
|
47974
|
-
|
|
47975
|
-
|
|
47976
|
-
)
|
|
47977
|
-
.concat(escapeHtml(node.title), '</h2>\n <div class="itinerary-node__date">')
|
|
47978
|
-
.concat(
|
|
47979
|
-
escapeHtml(formatNodeDate(node.startDate)),
|
|
47980
|
-
'</div>\n </div>\n </header>\n\n <div class="itinerary-node__content">\n '
|
|
47981
|
-
)
|
|
48817
|
+
: '<div class="itinerary-node__empty">'.concat(translations.ITINERARY.NO_ITEMS, '</div>');
|
|
48818
|
+
return '\n <section class="itinerary-node">\n <header class="itinerary-node__header">\n \n <div class="itinerary-node__day">\n <p class="itinerary-node__day-day">'
|
|
48819
|
+
.concat(day, '</p>\n <p class="itinerary-node__day-month">')
|
|
48820
|
+
.concat(month, '</p>\n </div>\n\n <div>\n <h2 class="itinerary-node__title">')
|
|
48821
|
+
.concat(escapeHtml(node.title), '</h2>\n </div>\n </header>\n\n <div class="itinerary-node__content">\n ')
|
|
48822
|
+
.concat(accommodationBanner, '\n ')
|
|
47982
48823
|
.concat(itemsHtml, '\n </div>\n </section>\n ');
|
|
47983
48824
|
})
|
|
47984
48825
|
.join('');
|
|
47985
48826
|
var defaultItemsHtml =
|
|
47986
48827
|
itinerary.defaultItems && itinerary.defaultItems.length > 0
|
|
47987
48828
|
? '\n <section class="itinerary-default-items">\n <h2 class="itinerary-default-items__title">Algemene info</h2>\n '.concat(
|
|
47988
|
-
itinerary.defaultItems
|
|
48829
|
+
getUniqueItems(itinerary.defaultItems)
|
|
47989
48830
|
.map(function (item) {
|
|
47990
48831
|
var _a;
|
|
47991
48832
|
return '\n <article class="itinerary-item" data-template="'
|
|
@@ -48007,42 +48848,270 @@ var buildItineraryHtml = function (itinerary) {
|
|
|
48007
48848
|
.concat(defaultItemsHtml, '\n </div>\n </div>\n ');
|
|
48008
48849
|
};
|
|
48009
48850
|
var FullItinerary = function (_a) {
|
|
48851
|
+
var _b;
|
|
48010
48852
|
var isLoading = _a.isLoading;
|
|
48011
|
-
if (isLoading) {
|
|
48012
|
-
return React__default['default'].createElement(Spinner, null);
|
|
48013
|
-
}
|
|
48014
48853
|
var itinerary = reactRedux.useSelector(function (state) {
|
|
48015
48854
|
return state.searchResults;
|
|
48016
48855
|
}).itinerary;
|
|
48856
|
+
var context = React.useContext(SearchResultsConfigurationContext);
|
|
48857
|
+
var translations = getTranslations((_b = context === null || context === void 0 ? void 0 : context.languageCode) !== null && _b !== void 0 ? _b : 'en-GB');
|
|
48017
48858
|
var hostRef = React.useRef(null);
|
|
48018
48859
|
var shadowRootRef = React.useRef(null);
|
|
48019
48860
|
var html = React.useMemo(
|
|
48020
48861
|
function () {
|
|
48021
|
-
return buildItineraryHtml(itinerary);
|
|
48862
|
+
return buildItineraryHtml(itinerary, translations);
|
|
48022
48863
|
},
|
|
48023
|
-
[itinerary]
|
|
48864
|
+
[itinerary, translations]
|
|
48024
48865
|
);
|
|
48025
48866
|
React.useEffect(
|
|
48026
48867
|
function () {
|
|
48027
|
-
var _a;
|
|
48028
|
-
if (
|
|
48868
|
+
var _a, _b;
|
|
48869
|
+
if (isLoading) {
|
|
48029
48870
|
return;
|
|
48030
48871
|
}
|
|
48031
|
-
|
|
48032
|
-
|
|
48872
|
+
var host = hostRef.current;
|
|
48873
|
+
if (!host) {
|
|
48874
|
+
return;
|
|
48033
48875
|
}
|
|
48034
|
-
var shadowRoot =
|
|
48876
|
+
var shadowRoot = (_a = host.shadowRoot) !== null && _a !== void 0 ? _a : host.attachShadow({ mode: 'open' });
|
|
48877
|
+
shadowRootRef.current = shadowRoot;
|
|
48035
48878
|
shadowRoot.innerHTML =
|
|
48036
|
-
"\n <style>\n :host {\n all: initial;\n }\n\n *,\n *::before,\n *::after {\n box-sizing: border-box;\n }\n\n .itinerary-shell {\n width: 100%;\n margin: 0 auto;\n font-family: 'Outfit', sans-serif;\n color: #222;\n }\n\n .itinerary-shell__header {\n margin-bottom: 24px;\n }\n\n .itinerary-shell__title {\n margin: 0;\n font-size: 32px;\n line-height: 1.2;\n }\n\n .itinerary-shell__content {\n display: grid;\n gap: 24px;\n }\n\n .itinerary-node {\n border: 1px solid #e5e7eb;\n border-radius: 16px;\n overflow: hidden;\n background: #fff;\n box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04);\n }\n\n .itinerary-node__header {\n display: flex;\n gap: 16px;\n align-items:
|
|
48879
|
+
"\n <style>\n :host {\n all: initial;\n display: block;\n width: 100%;\n }\n\n *,\n *::before,\n *::after {\n box-sizing: border-box;\n }\n\n .itinerary-shell {\n width: 100%;\n margin: 0 auto;\n font-family: 'Outfit', sans-serif;\n color: #222;\n }\n\n .itinerary-shell__header {\n margin-bottom: 24px;\n }\n\n .itinerary-shell__title {\n margin: 0;\n font-size: 32px;\n line-height: 1.2;\n }\n\n .itinerary-shell__content {\n display: grid;\n gap: 24px;\n }\n\n .itinerary-node {\n border: 1px solid #e5e7eb;\n border-radius: 16px;\n overflow: hidden;\n background: #fff;\n box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04);\n }\n\n .itinerary-node__header {\n display: flex;\n gap: 16px;\n align-items: center;\n border-bottom: 1px solid #eef0f2;\n background: #fafafa;\n }\n\n .itinerary-node__day {\n flex: 50px 0 0;\n display: flex;\n flex-flow: column;\n align-items: center;\n justify-content: center;\n background: #1f9470;\n color: white;\n border: 1.5px solid var(--tide-booking-color-secondary);\n }\n\n .itinerary-node__day-month {\n margin: 0px;\n }\n\n .itinerary-node__day-day {\n margin: 0px;\n font-weight: var(--tide-booking-search-results-label-date-month-font-weight);\n color: var(--tide-booking-search-results-label-date-month-color);\n font-size: 24px;\n }\n\n .itinerary-node__title {\n margin: 0;\n font-size: 22px;\n line-height: 1.25;\n }\n\n .itinerary-node__content {\n display: grid;\n gap: 20px;\n padding: 20px;\n }\n\n .itinerary-node__accommodation-banner {\n padding: 12px 16px;\n border: 1px solid #dbeafe;\n border-radius: 12px;\n background: #eff6ff;\n color: #1e3a8a;\n font-size: 14px;\n line-height: 1.4;\n }\n\n .itinerary-item {\n display: block;\n border-radius: 12px;\n overflow: hidden;\n background: #fff;\n }\n\n .itinerary-node__empty,\n .itinerary-empty {\n padding: 20px;\n border: 1px dashed #d1d5db;\n border-radius: 12px;\n color: #6b7280;\n background: #fafafa;\n }\n\n .itinerary-default-items {\n border: 1px solid #e5e7eb;\n border-radius: 16px;\n padding: 20px;\n background: #fff;\n box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04);\n }\n\n .itinerary-default-items__title {\n margin: 0 0 16px;\n font-size: 22px;\n }\n\n @media (max-width: 768px) {\n .itinerary-shell {\n padding: 16px;\n }\n }\n\n "
|
|
48037
48880
|
.concat(
|
|
48038
|
-
(
|
|
48881
|
+
(_b = itinerary === null || itinerary === void 0 ? void 0 : itinerary.styleSheetBody) !== null && _b !== void 0 ? _b : '',
|
|
48039
48882
|
'\n </style>\n\n '
|
|
48040
48883
|
)
|
|
48041
48884
|
.concat(html, '\n ');
|
|
48042
48885
|
},
|
|
48043
|
-
[html, itinerary === null || itinerary === void 0 ? void 0 : itinerary.styleSheetBody]
|
|
48886
|
+
[html, itinerary === null || itinerary === void 0 ? void 0 : itinerary.styleSheetBody, isLoading]
|
|
48887
|
+
);
|
|
48888
|
+
return React__default['default'].createElement(
|
|
48889
|
+
React__default['default'].Fragment,
|
|
48890
|
+
null,
|
|
48891
|
+
isLoading && React__default['default'].createElement(Spinner, null),
|
|
48892
|
+
React__default['default'].createElement('div', { ref: hostRef, style: { display: isLoading ? 'none' : 'block' } })
|
|
48893
|
+
);
|
|
48894
|
+
};
|
|
48895
|
+
|
|
48896
|
+
var getExcursionContentWithUpdatedPrice = function (contents, totalPrice, currencyCode) {
|
|
48897
|
+
if (!contents) return '';
|
|
48898
|
+
var decodedHtml = he.decode(contents);
|
|
48899
|
+
var parser = new DOMParser();
|
|
48900
|
+
var doc = parser.parseFromString(decodedHtml, 'text/html');
|
|
48901
|
+
var priceElement = doc.querySelector('[data-excursion-price]');
|
|
48902
|
+
if (priceElement) {
|
|
48903
|
+
priceElement.textContent = new Intl.NumberFormat('nl-BE', {
|
|
48904
|
+
style: 'currency',
|
|
48905
|
+
currency: currencyCode !== null && currencyCode !== void 0 ? currencyCode : 'EUR'
|
|
48906
|
+
}).format(totalPrice);
|
|
48907
|
+
}
|
|
48908
|
+
return doc.body.innerHTML;
|
|
48909
|
+
};
|
|
48910
|
+
var DayByDayExcursions = function () {
|
|
48911
|
+
var _a;
|
|
48912
|
+
var context = React.useContext(SearchResultsConfigurationContext);
|
|
48913
|
+
var translations = getTranslations((_a = context === null || context === void 0 ? void 0 : context.languageCode) !== null && _a !== void 0 ? _a : 'en-GB');
|
|
48914
|
+
var dispatch = reactRedux.useDispatch();
|
|
48915
|
+
var confirmedExcursionsByDay = reactRedux.useSelector(function (state) {
|
|
48916
|
+
return state.searchResults;
|
|
48917
|
+
}).confirmedExcursionsByDay;
|
|
48918
|
+
var selectedPackagingAccoResult = reactRedux.useSelector(selectSelectedPackagingAccoResult);
|
|
48919
|
+
var stayDates = React.useMemo(
|
|
48920
|
+
function () {
|
|
48921
|
+
if (
|
|
48922
|
+
!(selectedPackagingAccoResult === null || selectedPackagingAccoResult === void 0 ? void 0 : selectedPackagingAccoResult.fromDate) ||
|
|
48923
|
+
!(selectedPackagingAccoResult === null || selectedPackagingAccoResult === void 0 ? void 0 : selectedPackagingAccoResult.toDate)
|
|
48924
|
+
) {
|
|
48925
|
+
return [];
|
|
48926
|
+
}
|
|
48927
|
+
return getDatesBetween(selectedPackagingAccoResult.fromDate, selectedPackagingAccoResult.toDate);
|
|
48928
|
+
},
|
|
48929
|
+
[
|
|
48930
|
+
selectedPackagingAccoResult === null || selectedPackagingAccoResult === void 0 ? void 0 : selectedPackagingAccoResult.fromDate,
|
|
48931
|
+
selectedPackagingAccoResult === null || selectedPackagingAccoResult === void 0 ? void 0 : selectedPackagingAccoResult.toDate
|
|
48932
|
+
]
|
|
48933
|
+
);
|
|
48934
|
+
var handleSearchExcursions = function (day) {
|
|
48935
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
|
|
48936
|
+
if (!selectedPackagingAccoResult) {
|
|
48937
|
+
return;
|
|
48938
|
+
}
|
|
48939
|
+
var searchParams = {
|
|
48940
|
+
date: day.toISOString(),
|
|
48941
|
+
fromDate: day.toISOString(),
|
|
48942
|
+
toDate: day.toISOString(),
|
|
48943
|
+
countryId: selectedPackagingAccoResult.countryId,
|
|
48944
|
+
regionId: selectedPackagingAccoResult.regionId,
|
|
48945
|
+
oordId: selectedPackagingAccoResult.oordId,
|
|
48946
|
+
locationId: selectedPackagingAccoResult.locationId,
|
|
48947
|
+
locationName: selectedPackagingAccoResult.locationName,
|
|
48948
|
+
accommodationCode:
|
|
48949
|
+
(_e =
|
|
48950
|
+
(_d =
|
|
48951
|
+
(_c =
|
|
48952
|
+
(_b = (_a = selectedPackagingAccoResult.rooms) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.options) ===
|
|
48953
|
+
null || _c === void 0
|
|
48954
|
+
? void 0
|
|
48955
|
+
: _c.find(function (option) {
|
|
48956
|
+
return option.isSelected;
|
|
48957
|
+
})) === null || _d === void 0
|
|
48958
|
+
? void 0
|
|
48959
|
+
: _d.accommodationCode) !== null && _e !== void 0
|
|
48960
|
+
? _e
|
|
48961
|
+
: null,
|
|
48962
|
+
accommodationName:
|
|
48963
|
+
(_k =
|
|
48964
|
+
(_j =
|
|
48965
|
+
(_h =
|
|
48966
|
+
(_g = (_f = selectedPackagingAccoResult.rooms) === null || _f === void 0 ? void 0 : _f[0]) === null || _g === void 0 ? void 0 : _g.options) ===
|
|
48967
|
+
null || _h === void 0
|
|
48968
|
+
? void 0
|
|
48969
|
+
: _h.find(function (option) {
|
|
48970
|
+
return option.isSelected;
|
|
48971
|
+
})) === null || _j === void 0
|
|
48972
|
+
? void 0
|
|
48973
|
+
: _j.accommodationName) !== null && _k !== void 0
|
|
48974
|
+
? _k
|
|
48975
|
+
: null,
|
|
48976
|
+
hotelCode: selectedPackagingAccoResult.code,
|
|
48977
|
+
hotelName: selectedPackagingAccoResult.name,
|
|
48978
|
+
rooms:
|
|
48979
|
+
(_l = selectedPackagingAccoResult === null || selectedPackagingAccoResult === void 0 ? void 0 : selectedPackagingAccoResult.rooms) !== null &&
|
|
48980
|
+
_l !== void 0
|
|
48981
|
+
? _l
|
|
48982
|
+
: []
|
|
48983
|
+
};
|
|
48984
|
+
dispatch(setExcursionSearchParams(searchParams));
|
|
48985
|
+
dispatch(setFlyInIsOpen(true));
|
|
48986
|
+
dispatch(setFlyInType('excursion-results'));
|
|
48987
|
+
};
|
|
48988
|
+
var getSelectedOptionsSummary = function (excursion) {
|
|
48989
|
+
var options = excursion.rooms.flatMap(function (room) {
|
|
48990
|
+
var _a;
|
|
48991
|
+
return (_a = room.options) !== null && _a !== void 0 ? _a : [];
|
|
48992
|
+
});
|
|
48993
|
+
return options.filter(function (option) {
|
|
48994
|
+
return option.isSelected;
|
|
48995
|
+
});
|
|
48996
|
+
};
|
|
48997
|
+
if (!selectedPackagingAccoResult || stayDates.length === 0) {
|
|
48998
|
+
return null;
|
|
48999
|
+
}
|
|
49000
|
+
return React__default['default'].createElement(
|
|
49001
|
+
React__default['default'].Fragment,
|
|
49002
|
+
null,
|
|
49003
|
+
stayDates.map(function (day) {
|
|
49004
|
+
var _a;
|
|
49005
|
+
var dayKey = dateFns.format(day, 'yyyy-MM-dd');
|
|
49006
|
+
var formattedDay = dateFns.format(day, 'd');
|
|
49007
|
+
var formattedMonth = dateFns.format(day, 'MMM');
|
|
49008
|
+
var confirmedExcursions = (_a = confirmedExcursionsByDay[dayKey]) !== null && _a !== void 0 ? _a : [];
|
|
49009
|
+
return React__default['default'].createElement(
|
|
49010
|
+
React__default['default'].Fragment,
|
|
49011
|
+
{ key: dayKey },
|
|
49012
|
+
React__default['default'].createElement(
|
|
49013
|
+
'div',
|
|
49014
|
+
{ className: 'search__results__label search__results__label--secondary' },
|
|
49015
|
+
React__default['default'].createElement(
|
|
49016
|
+
'div',
|
|
49017
|
+
{ className: 'search__results__label__date' },
|
|
49018
|
+
React__default['default'].createElement('p', { className: 'search__results__label__date-date' }, formattedDay),
|
|
49019
|
+
React__default['default'].createElement('p', null, formattedMonth)
|
|
49020
|
+
),
|
|
49021
|
+
React__default['default'].createElement(
|
|
49022
|
+
'div',
|
|
49023
|
+
{ className: 'search__results__label__text' },
|
|
49024
|
+
React__default['default'].createElement(
|
|
49025
|
+
'h3',
|
|
49026
|
+
null,
|
|
49027
|
+
translations.SRP.SELECT,
|
|
49028
|
+
' ',
|
|
49029
|
+
React__default['default'].createElement('strong', null, translations.SRP.EXCURSION)
|
|
49030
|
+
)
|
|
49031
|
+
)
|
|
49032
|
+
),
|
|
49033
|
+
React__default['default'].createElement(
|
|
49034
|
+
'div',
|
|
49035
|
+
{ className: 'search__results__cards__actions' },
|
|
49036
|
+
React__default['default'].createElement('span', null, 'Accommodation for this day: ', selectedPackagingAccoResult.name),
|
|
49037
|
+
React__default['default'].createElement(
|
|
49038
|
+
'button',
|
|
49039
|
+
{
|
|
49040
|
+
type: 'button',
|
|
49041
|
+
className: 'cta cta--secondary',
|
|
49042
|
+
onClick: function () {
|
|
49043
|
+
return handleSearchExcursions(day);
|
|
49044
|
+
}
|
|
49045
|
+
},
|
|
49046
|
+
confirmedExcursions.length > 0 ? 'Add another excursion' : ''.concat(translations.SRP.SELECT, ' ').concat(translations.SRP.EXCURSION)
|
|
49047
|
+
)
|
|
49048
|
+
),
|
|
49049
|
+
React__default['default'].createElement(
|
|
49050
|
+
'div',
|
|
49051
|
+
{ className: 'search__results__cards search__results__cards--compact' },
|
|
49052
|
+
confirmedExcursions &&
|
|
49053
|
+
confirmedExcursions.length > 0 &&
|
|
49054
|
+
confirmedExcursions.map(function (excursion) {
|
|
49055
|
+
var selectedOptions = getSelectedOptionsSummary(excursion);
|
|
49056
|
+
var totalPrice = selectedOptions.reduce(function (sum, option) {
|
|
49057
|
+
return sum + (option.price || 0);
|
|
49058
|
+
}, 0);
|
|
49059
|
+
var updatedContents = getExcursionContentWithUpdatedPrice(excursion.contents, totalPrice, excursion.currencyCode);
|
|
49060
|
+
return React__default['default'].createElement(
|
|
49061
|
+
'div',
|
|
49062
|
+
{
|
|
49063
|
+
key: excursion.code,
|
|
49064
|
+
className: 'search__result-card__wrapper search__result-card__wrapper--custom',
|
|
49065
|
+
onMouseEnter: function (e) {
|
|
49066
|
+
return (e.currentTarget.style.transform = 'scale(1.02)');
|
|
49067
|
+
},
|
|
49068
|
+
onMouseLeave: function (e) {
|
|
49069
|
+
return (e.currentTarget.style.transform = 'scale(1)');
|
|
49070
|
+
}
|
|
49071
|
+
},
|
|
49072
|
+
React__default['default'].createElement('div', { dangerouslySetInnerHTML: { __html: updatedContents } }),
|
|
49073
|
+
React__default['default'].createElement(
|
|
49074
|
+
'div',
|
|
49075
|
+
{ className: 'search__result-card__content--extra' },
|
|
49076
|
+
React__default['default'].createElement(
|
|
49077
|
+
'div',
|
|
49078
|
+
{ className: 'search__result-card__content__wrapper' },
|
|
49079
|
+
React__default['default'].createElement(
|
|
49080
|
+
'div',
|
|
49081
|
+
{ className: 'search__result-card__options' },
|
|
49082
|
+
selectedOptions.length > 0 &&
|
|
49083
|
+
selectedOptions.map(function (option) {
|
|
49084
|
+
return React__default['default'].createElement(
|
|
49085
|
+
'div',
|
|
49086
|
+
{ className: 'search__result-card__option', key: option.guid },
|
|
49087
|
+
React__default['default'].createElement(Icon$1, { name: 'ui-ticket', width: 14, height: 14, 'aria-hidden': 'true' }),
|
|
49088
|
+
React__default['default'].createElement('span', null, option.accommodationName)
|
|
49089
|
+
);
|
|
49090
|
+
})
|
|
49091
|
+
)
|
|
49092
|
+
)
|
|
49093
|
+
),
|
|
49094
|
+
React__default['default'].createElement(
|
|
49095
|
+
'div',
|
|
49096
|
+
{ className: 'search__result-card__footer' },
|
|
49097
|
+
React__default['default'].createElement(
|
|
49098
|
+
'button',
|
|
49099
|
+
{
|
|
49100
|
+
type: 'button',
|
|
49101
|
+
className: 'cta cta--remove',
|
|
49102
|
+
onClick: function () {
|
|
49103
|
+
return dispatch(removeConfirmedExcursionForDay({ dayKey: dayKey, excursionCode: excursion.code }));
|
|
49104
|
+
}
|
|
49105
|
+
},
|
|
49106
|
+
'Remove'
|
|
49107
|
+
)
|
|
49108
|
+
)
|
|
49109
|
+
);
|
|
49110
|
+
})
|
|
49111
|
+
)
|
|
49112
|
+
);
|
|
49113
|
+
})
|
|
48044
49114
|
);
|
|
48045
|
-
return React__default['default'].createElement('div', { ref: hostRef });
|
|
48046
49115
|
};
|
|
48047
49116
|
|
|
48048
49117
|
var SearchResultsContainer = function () {
|
|
@@ -48071,9 +49140,10 @@ var SearchResultsContainer = function () {
|
|
|
48071
49140
|
packagingAccoSearchDetails = _c.packagingAccoSearchDetails,
|
|
48072
49141
|
editablePackagingEntry = _c.editablePackagingEntry,
|
|
48073
49142
|
transactionId = _c.transactionId,
|
|
48074
|
-
flyInType = _c.flyInType
|
|
48075
|
-
|
|
48076
|
-
|
|
49143
|
+
flyInType = _c.flyInType;
|
|
49144
|
+
_c.itinerary;
|
|
49145
|
+
var packagingFlightResults = _c.packagingFlightResults,
|
|
49146
|
+
confirmedExcursionsByDay = _c.confirmedExcursionsByDay;
|
|
48077
49147
|
var isMobile = useMediaQuery('(max-width: 1200px)');
|
|
48078
49148
|
var _d = React.useState(false),
|
|
48079
49149
|
initialFiltersSet = _d[0],
|
|
@@ -49242,6 +50312,7 @@ var SearchResultsContainer = function () {
|
|
|
49242
50312
|
selectedHotelCode: selectedPackagingAccoResultCode,
|
|
49243
50313
|
accommodationResults: packagingAccoResults,
|
|
49244
50314
|
selectedFlight: selectedCombinationFlight !== null && selectedCombinationFlight !== void 0 ? selectedCombinationFlight : null,
|
|
50315
|
+
confirmedExcursionsByDay: confirmedExcursionsByDay,
|
|
49245
50316
|
seed: seed,
|
|
49246
50317
|
transactionId:
|
|
49247
50318
|
(_c =
|
|
@@ -49267,6 +50338,7 @@ var SearchResultsContainer = function () {
|
|
|
49267
50338
|
packagingAccoResults,
|
|
49268
50339
|
packagingAccoSearchDetails,
|
|
49269
50340
|
selectedCombinationFlight,
|
|
50341
|
+
confirmedExcursionsByDay,
|
|
49270
50342
|
transactionId,
|
|
49271
50343
|
dispatch
|
|
49272
50344
|
]
|
|
@@ -49281,56 +50353,103 @@ var SearchResultsContainer = function () {
|
|
|
49281
50353
|
return line.serviceType !== FLIGHT_SERVICE_TYPE;
|
|
49282
50354
|
});
|
|
49283
50355
|
};
|
|
50356
|
+
var removeExcursionLines = function (lines) {
|
|
50357
|
+
return lines.filter(function (line) {
|
|
50358
|
+
return line.serviceType !== EXCURSION_SERVICE_TYPE;
|
|
50359
|
+
});
|
|
50360
|
+
};
|
|
49284
50361
|
var buildAccommodationLinesFromSelection = function (selectedHotel, seed) {
|
|
49285
|
-
|
|
50362
|
+
return buildPackagingAccommodationLines(selectedHotel, seed, ACCOMMODATION_SERVICE_TYPE);
|
|
50363
|
+
};
|
|
50364
|
+
var buildExcursionLinesFromConfirmedDays = function (confirmedExcursionsByDay) {
|
|
50365
|
+
return Object.values(confirmedExcursionsByDay)
|
|
50366
|
+
.flat()
|
|
50367
|
+
.flatMap(function (excursion) {
|
|
50368
|
+
var selectedOptions = excursion.rooms.flatMap(function (room) {
|
|
50369
|
+
return room.options.filter(function (option) {
|
|
50370
|
+
return option.isSelected;
|
|
50371
|
+
});
|
|
50372
|
+
});
|
|
50373
|
+
var parentGuid = crypto.randomUUID();
|
|
50374
|
+
return selectedOptions.map(function (option, index) {
|
|
50375
|
+
var _a, _b, _c;
|
|
50376
|
+
return {
|
|
50377
|
+
guid: (_a = option.guid) !== null && _a !== void 0 ? _a : crypto.randomUUID(),
|
|
50378
|
+
moment: '',
|
|
50379
|
+
parentGuid: index === 0 ? null : parentGuid,
|
|
50380
|
+
order: index,
|
|
50381
|
+
isChanged: true,
|
|
50382
|
+
from: excursion.fromDate,
|
|
50383
|
+
to: excursion.toDate,
|
|
50384
|
+
serviceType: EXCURSION_SERVICE_TYPE,
|
|
50385
|
+
productName: excursion.name,
|
|
50386
|
+
productCode: excursion.code,
|
|
50387
|
+
accommodationName: option.accommodationName,
|
|
50388
|
+
accommodationCode: option.accommodationCode,
|
|
50389
|
+
regimeName: option.regimeName,
|
|
50390
|
+
regimeCode: option.regimeCode,
|
|
50391
|
+
country: excursion.countryId ? { id: excursion.countryId, name: excursion.countryName, localizations: [] } : null,
|
|
50392
|
+
region: excursion.regionId ? { id: excursion.regionId, name: excursion.regionName, localizations: [] } : null,
|
|
50393
|
+
oord: excursion.oordId ? { id: excursion.oordId, name: excursion.oordName, localizations: [] } : null,
|
|
50394
|
+
location: excursion.locationId ? { id: excursion.locationId, name: excursion.locationName, localizations: [] } : null,
|
|
50395
|
+
longitude: (_b = excursion.longitude) !== null && _b !== void 0 ? _b : null,
|
|
50396
|
+
latitude: (_c = excursion.latitude) !== null && _c !== void 0 ? _c : null,
|
|
50397
|
+
pax: Array.isArray(option.paxIds)
|
|
50398
|
+
? option.paxIds.map(function (paxId, paxIndex) {
|
|
50399
|
+
return {
|
|
50400
|
+
paxId: paxId,
|
|
50401
|
+
room: 0,
|
|
50402
|
+
order: paxIndex
|
|
50403
|
+
};
|
|
50404
|
+
})
|
|
50405
|
+
: [],
|
|
50406
|
+
flightInformation: null
|
|
50407
|
+
};
|
|
50408
|
+
});
|
|
50409
|
+
});
|
|
50410
|
+
};
|
|
50411
|
+
var buildPackagingAccommodationLines = function (selectedItem, seed, serviceType) {
|
|
50412
|
+
if (!selectedItem) return [];
|
|
49286
50413
|
var parentGuid = crypto.randomUUID();
|
|
49287
|
-
return
|
|
50414
|
+
return selectedItem.rooms
|
|
49288
50415
|
.filter(function (room) {
|
|
49289
50416
|
return room.options.some(function (o) {
|
|
49290
50417
|
return o.isSelected;
|
|
49291
50418
|
});
|
|
49292
50419
|
})
|
|
49293
50420
|
.map(function (room, index) {
|
|
49294
|
-
var _a, _b, _c
|
|
50421
|
+
var _a, _b, _c;
|
|
49295
50422
|
var option = room.options.find(function (o) {
|
|
49296
50423
|
return o.isSelected;
|
|
49297
50424
|
});
|
|
49298
|
-
var pax =
|
|
49299
|
-
|
|
49300
|
-
|
|
49301
|
-
|
|
49302
|
-
|
|
49303
|
-
|
|
49304
|
-
|
|
49305
|
-
paxId: p.id,
|
|
49306
|
-
room: roomIndex,
|
|
49307
|
-
order: paxIndex
|
|
49308
|
-
};
|
|
49309
|
-
});
|
|
49310
|
-
})) !== null && _b !== void 0
|
|
49311
|
-
? _b
|
|
49312
|
-
: [];
|
|
50425
|
+
var pax = option.paxIds.map(function (p, paxIndex) {
|
|
50426
|
+
return {
|
|
50427
|
+
paxId: p,
|
|
50428
|
+
room: index,
|
|
50429
|
+
order: paxIndex
|
|
50430
|
+
};
|
|
50431
|
+
});
|
|
49313
50432
|
return {
|
|
49314
|
-
guid: (
|
|
50433
|
+
guid: (_a = option.guid) !== null && _a !== void 0 ? _a : crypto.randomUUID(),
|
|
49315
50434
|
moment: '',
|
|
49316
50435
|
parentGuid: index === 0 ? null : parentGuid,
|
|
49317
50436
|
order: index,
|
|
49318
50437
|
isChanged: true,
|
|
49319
|
-
from:
|
|
49320
|
-
to:
|
|
49321
|
-
serviceType:
|
|
49322
|
-
productName:
|
|
49323
|
-
productCode:
|
|
50438
|
+
from: selectedItem.fromDate,
|
|
50439
|
+
to: selectedItem.toDate,
|
|
50440
|
+
serviceType: serviceType,
|
|
50441
|
+
productName: selectedItem.name,
|
|
50442
|
+
productCode: selectedItem.code,
|
|
49324
50443
|
accommodationName: option.accommodationName,
|
|
49325
50444
|
accommodationCode: option.accommodationCode,
|
|
49326
50445
|
regimeName: option.regimeName,
|
|
49327
50446
|
regimeCode: option.regimeCode,
|
|
49328
|
-
country:
|
|
49329
|
-
region:
|
|
49330
|
-
oord:
|
|
49331
|
-
location:
|
|
49332
|
-
longitude: (
|
|
49333
|
-
latitude: (
|
|
50447
|
+
country: selectedItem.countryId ? { id: selectedItem.countryId, name: selectedItem.countryName, localizations: [] } : null,
|
|
50448
|
+
region: selectedItem.regionId ? { id: selectedItem.regionId, name: selectedItem.regionName, localizations: [] } : null,
|
|
50449
|
+
oord: selectedItem.oordId ? { id: selectedItem.oordId, name: selectedItem.oordName, localizations: [] } : null,
|
|
50450
|
+
location: selectedItem.locationId ? { id: selectedItem.locationId, name: selectedItem.locationName, localizations: [] } : null,
|
|
50451
|
+
longitude: (_b = selectedItem.longitude) !== null && _b !== void 0 ? _b : null,
|
|
50452
|
+
latitude: (_c = selectedItem.latitude) !== null && _c !== void 0 ? _c : null,
|
|
49334
50453
|
pax: pax,
|
|
49335
50454
|
flightInformation: null
|
|
49336
50455
|
};
|
|
@@ -49458,6 +50577,7 @@ var SearchResultsContainer = function () {
|
|
|
49458
50577
|
selectedHotelCode = _a.selectedHotelCode,
|
|
49459
50578
|
accommodationResults = _a.accommodationResults,
|
|
49460
50579
|
selectedFlight = _a.selectedFlight,
|
|
50580
|
+
confirmedExcursionsByDay = _a.confirmedExcursionsByDay,
|
|
49461
50581
|
seed = _a.seed,
|
|
49462
50582
|
transactionId = _a.transactionId,
|
|
49463
50583
|
language = _a.language;
|
|
@@ -49485,6 +50605,12 @@ var SearchResultsContainer = function () {
|
|
|
49485
50605
|
nextLines = __spreadArray(__spreadArray([], nextLines, true), flightLines, true);
|
|
49486
50606
|
}
|
|
49487
50607
|
}
|
|
50608
|
+
// excursions
|
|
50609
|
+
var excursionLines = buildExcursionLinesFromConfirmedDays(confirmedExcursionsByDay);
|
|
50610
|
+
nextLines = removeExcursionLines(nextLines);
|
|
50611
|
+
if (excursionLines.length) {
|
|
50612
|
+
nextLines = __spreadArray(__spreadArray([], nextLines, true), excursionLines, true);
|
|
50613
|
+
}
|
|
49488
50614
|
nextLines = nextLines.map(function (line, index) {
|
|
49489
50615
|
return __assign(__assign({}, line), { order: index });
|
|
49490
50616
|
});
|
|
@@ -49495,7 +50621,7 @@ var SearchResultsContainer = function () {
|
|
|
49495
50621
|
if (sourceEntry) {
|
|
49496
50622
|
return structuredClone(sourceEntry);
|
|
49497
50623
|
}
|
|
49498
|
-
var paxId =
|
|
50624
|
+
var paxId = 0;
|
|
49499
50625
|
var pax =
|
|
49500
50626
|
(_b =
|
|
49501
50627
|
(_a = seed.rooms) === null || _a === void 0
|
|
@@ -49704,8 +50830,6 @@ var SearchResultsContainer = function () {
|
|
|
49704
50830
|
context.searchConfiguration.qsmType === build.PortalQsmType.AccommodationAndFlight &&
|
|
49705
50831
|
!context.packagingEntry &&
|
|
49706
50832
|
context.showFlightResults &&
|
|
49707
|
-
// bookingPackageDetails?.outwardFlights &&
|
|
49708
|
-
// <FlightResults flights={bookingPackageDetails?.outwardFlights} isDeparture={true} />
|
|
49709
50833
|
React__default['default'].createElement(
|
|
49710
50834
|
React__default['default'].Fragment,
|
|
49711
50835
|
null,
|
|
@@ -49786,11 +50910,12 @@ var SearchResultsContainer = function () {
|
|
|
49786
50910
|
context.showHotelAccommodationResults &&
|
|
49787
50911
|
!context.packagingEntry &&
|
|
49788
50912
|
React__default['default'].createElement(HotelAccommodationResults, { isLoading: isLoading }),
|
|
50913
|
+
context.searchConfiguration.qsmType === build.PortalQsmType.AccommodationAndFlight &&
|
|
50914
|
+
!context.packagingEntry &&
|
|
50915
|
+
React__default['default'].createElement(DayByDayExcursions, null),
|
|
49789
50916
|
context.searchConfiguration.qsmType === build.PortalQsmType.AccommodationAndFlight &&
|
|
49790
50917
|
!context.packagingEntry &&
|
|
49791
50918
|
context.showFlightResults &&
|
|
49792
|
-
// bookingPackageDetails?.returnFlights &&
|
|
49793
|
-
// <FlightResults flights={bookingPackageDetails?.returnFlights} isDeparture={false} />
|
|
49794
50919
|
React__default['default'].createElement(
|
|
49795
50920
|
React__default['default'].Fragment,
|
|
49796
50921
|
null,
|
|
@@ -49845,7 +50970,6 @@ var SearchResultsContainer = function () {
|
|
|
49845
50970
|
),
|
|
49846
50971
|
context.searchConfiguration.qsmType === build.PortalQsmType.AccommodationAndFlight &&
|
|
49847
50972
|
context.packagingEntry &&
|
|
49848
|
-
itinerary &&
|
|
49849
50973
|
React__default['default'].createElement(FullItinerary, { isLoading: itineraryIsLoading })
|
|
49850
50974
|
)
|
|
49851
50975
|
),
|
|
@@ -49862,7 +50986,8 @@ var SearchResultsContainer = function () {
|
|
|
49862
50986
|
detailsLoading: detailsIsLoading,
|
|
49863
50987
|
flyInType: flyInType,
|
|
49864
50988
|
isPackageEditFlow: !!context.packagingEntry,
|
|
49865
|
-
sortByTypes: sortByTypes
|
|
50989
|
+
sortByTypes: sortByTypes,
|
|
50990
|
+
activeSearchSeed: activeSearchSeed
|
|
49866
50991
|
})
|
|
49867
50992
|
)
|
|
49868
50993
|
)
|