@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-esm/index.js
CHANGED
|
@@ -608,7 +608,8 @@ var QSM$g = {
|
|
|
608
608
|
RETURN_DATE: 'تاريخ العودة',
|
|
609
609
|
CONFIRM: 'تأكيد',
|
|
610
610
|
TRAVELERS: 'المسافرون',
|
|
611
|
-
GROUP_TOUR: 'جولة جماعية'
|
|
611
|
+
GROUP_TOUR: 'جولة جماعية',
|
|
612
|
+
ALL_TRAVELERS: 'جميع المسافرين'
|
|
612
613
|
};
|
|
613
614
|
var SRP$f = {
|
|
614
615
|
SHOW_MORE: 'عرض المزيد',
|
|
@@ -659,7 +660,12 @@ var SRP$f = {
|
|
|
659
660
|
DEPARTURE_TIME_DESC: 'وقت المغادرة تنازلياً',
|
|
660
661
|
DURATION_ASC: 'المدة تصاعدياً',
|
|
661
662
|
DURATION_DESC: 'المدة تنازلياً',
|
|
662
|
-
TRAVEL_GROUP: 'مجموعة المسافرين'
|
|
663
|
+
TRAVEL_GROUP: 'مجموعة المسافرين',
|
|
664
|
+
EXCURSION: 'رحلة'
|
|
665
|
+
};
|
|
666
|
+
var ITINERARY$f = {
|
|
667
|
+
DAY: 'اليوم',
|
|
668
|
+
NO_ITEMS: 'لا توجد عناصر لهذا اليوم.'
|
|
663
669
|
};
|
|
664
670
|
var arJson = {
|
|
665
671
|
STEPS: STEPS$f,
|
|
@@ -679,7 +685,8 @@ var arJson = {
|
|
|
679
685
|
NAVBAR: NAVBAR$f,
|
|
680
686
|
LOGIN: LOGIN$f,
|
|
681
687
|
QSM: QSM$g,
|
|
682
|
-
SRP: SRP$f
|
|
688
|
+
SRP: SRP$f,
|
|
689
|
+
ITINERARY: ITINERARY$f
|
|
683
690
|
};
|
|
684
691
|
|
|
685
692
|
var STEPS$e = {
|
|
@@ -1014,7 +1021,8 @@ var QSM$f = {
|
|
|
1014
1021
|
RETURN_DATE: 'Hjemrejsedato',
|
|
1015
1022
|
CONFIRM: 'Bekræft',
|
|
1016
1023
|
TRAVELERS: 'Rejsende',
|
|
1017
|
-
GROUP_TOUR: 'Grupperejse'
|
|
1024
|
+
GROUP_TOUR: 'Grupperejse',
|
|
1025
|
+
ALL_TRAVELERS: 'Alle rejsende'
|
|
1018
1026
|
};
|
|
1019
1027
|
var SRP$e = {
|
|
1020
1028
|
SHOW_MORE: 'Vis flere',
|
|
@@ -1065,7 +1073,12 @@ var SRP$e = {
|
|
|
1065
1073
|
DEPARTURE_TIME_DESC: 'Afgangstid faldende',
|
|
1066
1074
|
DURATION_ASC: 'Varighed stigende',
|
|
1067
1075
|
DURATION_DESC: 'Varighed faldende',
|
|
1068
|
-
TRAVEL_GROUP: 'Rejseselskab'
|
|
1076
|
+
TRAVEL_GROUP: 'Rejseselskab',
|
|
1077
|
+
EXCURSION: 'Udflugt'
|
|
1078
|
+
};
|
|
1079
|
+
var ITINERARY$e = {
|
|
1080
|
+
DAY: 'Dag',
|
|
1081
|
+
NO_ITEMS: 'Ingen elementer for denne dag.'
|
|
1069
1082
|
};
|
|
1070
1083
|
var daJson = {
|
|
1071
1084
|
STEPS: STEPS$e,
|
|
@@ -1085,7 +1098,8 @@ var daJson = {
|
|
|
1085
1098
|
NAVBAR: NAVBAR$e,
|
|
1086
1099
|
LOGIN: LOGIN$e,
|
|
1087
1100
|
QSM: QSM$f,
|
|
1088
|
-
SRP: SRP$e
|
|
1101
|
+
SRP: SRP$e,
|
|
1102
|
+
ITINERARY: ITINERARY$e
|
|
1089
1103
|
};
|
|
1090
1104
|
|
|
1091
1105
|
var STEPS$d = {
|
|
@@ -1421,7 +1435,8 @@ var QSM$e = {
|
|
|
1421
1435
|
RETURN_DATE: 'Rückreisedatum',
|
|
1422
1436
|
CONFIRM: 'Bestätigen',
|
|
1423
1437
|
TRAVELERS: 'Reisende',
|
|
1424
|
-
GROUP_TOUR: 'Gruppentour'
|
|
1438
|
+
GROUP_TOUR: 'Gruppentour',
|
|
1439
|
+
ALL_TRAVELERS: 'Alle Reisenden'
|
|
1425
1440
|
};
|
|
1426
1441
|
var SRP$d = {
|
|
1427
1442
|
SHOW_MORE: 'Mehr anzeigen',
|
|
@@ -1472,7 +1487,12 @@ var SRP$d = {
|
|
|
1472
1487
|
DEPARTURE_AIRPORTS: 'Abflughäfen',
|
|
1473
1488
|
ARRIVAL_AIRPORTS: 'Ankunftsflughäfen',
|
|
1474
1489
|
PRICE: 'Preis',
|
|
1475
|
-
TRAVEL_GROUP: 'Reisegruppe'
|
|
1490
|
+
TRAVEL_GROUP: 'Reisegruppe',
|
|
1491
|
+
EXCURSION: 'Ausflug'
|
|
1492
|
+
};
|
|
1493
|
+
var ITINERARY$d = {
|
|
1494
|
+
DAY: 'Tag',
|
|
1495
|
+
NO_ITEMS: 'Keine Elemente für diesen Tag.'
|
|
1476
1496
|
};
|
|
1477
1497
|
var deJson = {
|
|
1478
1498
|
STEPS: STEPS$d,
|
|
@@ -1492,7 +1512,8 @@ var deJson = {
|
|
|
1492
1512
|
NAVBAR: NAVBAR$d,
|
|
1493
1513
|
LOGIN: LOGIN$d,
|
|
1494
1514
|
QSM: QSM$e,
|
|
1495
|
-
SRP: SRP$d
|
|
1515
|
+
SRP: SRP$d,
|
|
1516
|
+
ITINERARY: ITINERARY$d
|
|
1496
1517
|
};
|
|
1497
1518
|
|
|
1498
1519
|
var STEPS$c = {
|
|
@@ -1831,7 +1852,8 @@ var QSM$d = {
|
|
|
1831
1852
|
RETURN_DATE: 'Return date',
|
|
1832
1853
|
CONFIRM: 'Confirm',
|
|
1833
1854
|
TRAVELERS: 'Travelers',
|
|
1834
|
-
GROUP_TOUR: 'Group tour'
|
|
1855
|
+
GROUP_TOUR: 'Group tour',
|
|
1856
|
+
ALL_TRAVELERS: 'All travelers'
|
|
1835
1857
|
};
|
|
1836
1858
|
var SRP$c = {
|
|
1837
1859
|
SHOW_MORE: 'Show more',
|
|
@@ -1882,7 +1904,12 @@ var SRP$c = {
|
|
|
1882
1904
|
DEPARTURE_RANGE: 'Departure range',
|
|
1883
1905
|
DEPARTURE_AIRPORTS: 'Departure airports',
|
|
1884
1906
|
ARRIVAL_AIRPORTS: 'Arrival airports',
|
|
1885
|
-
TRAVEL_GROUP: 'Travel group'
|
|
1907
|
+
TRAVEL_GROUP: 'Travel group',
|
|
1908
|
+
EXCURSION: 'Excursion'
|
|
1909
|
+
};
|
|
1910
|
+
var ITINERARY$c = {
|
|
1911
|
+
DAY: 'Day',
|
|
1912
|
+
NO_ITEMS: 'No items for this day.'
|
|
1886
1913
|
};
|
|
1887
1914
|
var enJson = {
|
|
1888
1915
|
STEPS: STEPS$c,
|
|
@@ -1902,7 +1929,8 @@ var enJson = {
|
|
|
1902
1929
|
NAVBAR: NAVBAR$c,
|
|
1903
1930
|
LOGIN: LOGIN$c,
|
|
1904
1931
|
QSM: QSM$d,
|
|
1905
|
-
SRP: SRP$c
|
|
1932
|
+
SRP: SRP$c,
|
|
1933
|
+
ITINERARY: ITINERARY$c
|
|
1906
1934
|
};
|
|
1907
1935
|
|
|
1908
1936
|
var STEPS$b = {
|
|
@@ -2238,7 +2266,8 @@ var QSM$c = {
|
|
|
2238
2266
|
RETURN_DATE: 'Fecha de regreso',
|
|
2239
2267
|
CONFIRM: 'Confirmar',
|
|
2240
2268
|
TRAVELERS: 'Viajeros',
|
|
2241
|
-
GROUP_TOUR: 'Tour grupal'
|
|
2269
|
+
GROUP_TOUR: 'Tour grupal',
|
|
2270
|
+
ALL_TRAVELERS: 'Todos los viajeros'
|
|
2242
2271
|
};
|
|
2243
2272
|
var SRP$b = {
|
|
2244
2273
|
SHOW_MORE: 'Mostrar más',
|
|
@@ -2289,7 +2318,12 @@ var SRP$b = {
|
|
|
2289
2318
|
DEPARTURE_AIRPORTS: 'Aeropuertos de salida',
|
|
2290
2319
|
ARRIVAL_AIRPORTS: 'Aeropuertos de llegada',
|
|
2291
2320
|
PRICE: 'Precio',
|
|
2292
|
-
TRAVEL_GROUP: 'Grupo de viaje'
|
|
2321
|
+
TRAVEL_GROUP: 'Grupo de viaje',
|
|
2322
|
+
EXCURSION: 'Excursión'
|
|
2323
|
+
};
|
|
2324
|
+
var ITINERARY$b = {
|
|
2325
|
+
DAY: 'Día',
|
|
2326
|
+
NO_ITEMS: 'No hay elementos para este día.'
|
|
2293
2327
|
};
|
|
2294
2328
|
var esJson = {
|
|
2295
2329
|
STEPS: STEPS$b,
|
|
@@ -2309,7 +2343,8 @@ var esJson = {
|
|
|
2309
2343
|
NAVBAR: NAVBAR$b,
|
|
2310
2344
|
LOGIN: LOGIN$b,
|
|
2311
2345
|
QSM: QSM$c,
|
|
2312
|
-
SRP: SRP$b
|
|
2346
|
+
SRP: SRP$b,
|
|
2347
|
+
ITINERARY: ITINERARY$b
|
|
2313
2348
|
};
|
|
2314
2349
|
|
|
2315
2350
|
var STEPS$a = {
|
|
@@ -2649,7 +2684,8 @@ var QSM$b = {
|
|
|
2649
2684
|
RETURN_DATE: 'Date de retour',
|
|
2650
2685
|
CONFIRM: 'Confirmer',
|
|
2651
2686
|
TRAVELERS: 'Voyageurs',
|
|
2652
|
-
GROUP_TOUR: 'Tour en groupe'
|
|
2687
|
+
GROUP_TOUR: 'Tour en groupe',
|
|
2688
|
+
ALL_TRAVELERS: 'Tous les voyageurs'
|
|
2653
2689
|
};
|
|
2654
2690
|
var SRP$a = {
|
|
2655
2691
|
SHOW_MORE: 'Afficher plus',
|
|
@@ -2700,7 +2736,12 @@ var SRP$a = {
|
|
|
2700
2736
|
DEPARTURE_AIRPORTS: 'Aéroports de départ',
|
|
2701
2737
|
ARRIVAL_AIRPORTS: 'Aéroports d’arrivée',
|
|
2702
2738
|
PRICE: 'Prix',
|
|
2703
|
-
TRAVEL_GROUP: 'Groupe de voyageurs'
|
|
2739
|
+
TRAVEL_GROUP: 'Groupe de voyageurs',
|
|
2740
|
+
EXCURSION: 'Excursion'
|
|
2741
|
+
};
|
|
2742
|
+
var ITINERARY$a = {
|
|
2743
|
+
DAY: 'Jour',
|
|
2744
|
+
NO_ITEMS: 'Aucun élément pour ce jour.'
|
|
2704
2745
|
};
|
|
2705
2746
|
var frBeJson = {
|
|
2706
2747
|
STEPS: STEPS$a,
|
|
@@ -2720,7 +2761,8 @@ var frBeJson = {
|
|
|
2720
2761
|
NAVBAR: NAVBAR$a,
|
|
2721
2762
|
LOGIN: LOGIN$a,
|
|
2722
2763
|
QSM: QSM$b,
|
|
2723
|
-
SRP: SRP$a
|
|
2764
|
+
SRP: SRP$a,
|
|
2765
|
+
ITINERARY: ITINERARY$a
|
|
2724
2766
|
};
|
|
2725
2767
|
|
|
2726
2768
|
var STEPS$9 = {
|
|
@@ -3055,7 +3097,8 @@ var QSM$a = {
|
|
|
3055
3097
|
RETURN_DATE: 'Date de retour',
|
|
3056
3098
|
CONFIRM: 'Confirmer',
|
|
3057
3099
|
TRAVELERS: 'Voyageurs',
|
|
3058
|
-
GROUP_TOUR: 'Tour en groupe'
|
|
3100
|
+
GROUP_TOUR: 'Tour en groupe',
|
|
3101
|
+
ALL_TRAVELERS: 'Tous les voyageurs'
|
|
3059
3102
|
};
|
|
3060
3103
|
var SRP$9 = {
|
|
3061
3104
|
SHOW_MORE: 'Afficher plus',
|
|
@@ -3106,7 +3149,12 @@ var SRP$9 = {
|
|
|
3106
3149
|
DEPARTURE_AIRPORTS: 'Aéroports de départ',
|
|
3107
3150
|
ARRIVAL_AIRPORTS: 'Aéroports d’arrivée',
|
|
3108
3151
|
PRICE: 'Prix',
|
|
3109
|
-
TRAVEL_GROUP: 'Groupe de voyageurs'
|
|
3152
|
+
TRAVEL_GROUP: 'Groupe de voyageurs',
|
|
3153
|
+
EXCURSION: 'Excursion'
|
|
3154
|
+
};
|
|
3155
|
+
var ITINERARY$9 = {
|
|
3156
|
+
DAY: 'Jour',
|
|
3157
|
+
NO_ITEMS: 'Aucun élément pour ce jour.'
|
|
3110
3158
|
};
|
|
3111
3159
|
var frFrJson = {
|
|
3112
3160
|
STEPS: STEPS$9,
|
|
@@ -3126,7 +3174,8 @@ var frFrJson = {
|
|
|
3126
3174
|
NAVBAR: NAVBAR$9,
|
|
3127
3175
|
LOGIN: LOGIN$9,
|
|
3128
3176
|
QSM: QSM$a,
|
|
3129
|
-
SRP: SRP$9
|
|
3177
|
+
SRP: SRP$9,
|
|
3178
|
+
ITINERARY: ITINERARY$9
|
|
3130
3179
|
};
|
|
3131
3180
|
|
|
3132
3181
|
var STEPS$8 = {
|
|
@@ -3461,7 +3510,8 @@ var QSM$9 = {
|
|
|
3461
3510
|
RETURN_DATE: 'Heimkomudagur',
|
|
3462
3511
|
CONFIRM: 'Staðfesta',
|
|
3463
3512
|
TRAVELERS: 'Ferðalangar',
|
|
3464
|
-
GROUP_TOUR: 'Ferð í hóp'
|
|
3513
|
+
GROUP_TOUR: 'Ferð í hóp',
|
|
3514
|
+
ALL_TRAVELERS: 'Allir ferðalangar'
|
|
3465
3515
|
};
|
|
3466
3516
|
var SRP$8 = {
|
|
3467
3517
|
SHOW_MORE: 'Sýna meira',
|
|
@@ -3512,7 +3562,12 @@ var SRP$8 = {
|
|
|
3512
3562
|
DEPARTURE_AIRPORTS: 'Brottfararflugvellir',
|
|
3513
3563
|
ARRIVAL_AIRPORTS: 'Komuflugvellir',
|
|
3514
3564
|
PRICE: 'Verð',
|
|
3515
|
-
TRAVEL_GROUP: 'Ferðahópur'
|
|
3565
|
+
TRAVEL_GROUP: 'Ferðahópur',
|
|
3566
|
+
EXCURSION: 'Útflutningur'
|
|
3567
|
+
};
|
|
3568
|
+
var ITINERARY$8 = {
|
|
3569
|
+
DAY: 'Dagur',
|
|
3570
|
+
NO_ITEMS: 'Engar upplýsingar fyrir þennan dag.'
|
|
3516
3571
|
};
|
|
3517
3572
|
var isJson = {
|
|
3518
3573
|
STEPS: STEPS$8,
|
|
@@ -3532,7 +3587,8 @@ var isJson = {
|
|
|
3532
3587
|
NAVBAR: NAVBAR$8,
|
|
3533
3588
|
LOGIN: LOGIN$8,
|
|
3534
3589
|
QSM: QSM$9,
|
|
3535
|
-
SRP: SRP$8
|
|
3590
|
+
SRP: SRP$8,
|
|
3591
|
+
ITINERARY: ITINERARY$8
|
|
3536
3592
|
};
|
|
3537
3593
|
|
|
3538
3594
|
var STEPS$7 = {
|
|
@@ -3868,7 +3924,8 @@ var QSM$8 = {
|
|
|
3868
3924
|
RETURN_DATE: 'Data di ritorno',
|
|
3869
3925
|
CONFIRM: 'Conferma',
|
|
3870
3926
|
TRAVELERS: 'Viaggiatori',
|
|
3871
|
-
GROUP_TOUR: 'Tour di gruppo'
|
|
3927
|
+
GROUP_TOUR: 'Tour di gruppo',
|
|
3928
|
+
ALL_TRAVELERS: 'Tutti i viaggiatori'
|
|
3872
3929
|
};
|
|
3873
3930
|
var SRP$7 = {
|
|
3874
3931
|
SHOW_MORE: 'Mostra di più',
|
|
@@ -3919,7 +3976,12 @@ var SRP$7 = {
|
|
|
3919
3976
|
DEPARTURE_AIRPORTS: 'Aeroporti di partenza',
|
|
3920
3977
|
ARRIVAL_AIRPORTS: 'Aeroporti di arrivo',
|
|
3921
3978
|
PRICE: 'Prezzo',
|
|
3922
|
-
TRAVEL_GROUP: 'Gruppo di viaggio'
|
|
3979
|
+
TRAVEL_GROUP: 'Gruppo di viaggio',
|
|
3980
|
+
EXCURSION: 'Escursione'
|
|
3981
|
+
};
|
|
3982
|
+
var ITINERARY$7 = {
|
|
3983
|
+
DAY: 'Giorno',
|
|
3984
|
+
NO_ITEMS: 'Nessun elemento per questo giorno.'
|
|
3923
3985
|
};
|
|
3924
3986
|
var itJson = {
|
|
3925
3987
|
STEPS: STEPS$7,
|
|
@@ -3939,7 +4001,8 @@ var itJson = {
|
|
|
3939
4001
|
NAVBAR: NAVBAR$7,
|
|
3940
4002
|
LOGIN: LOGIN$7,
|
|
3941
4003
|
QSM: QSM$8,
|
|
3942
|
-
SRP: SRP$7
|
|
4004
|
+
SRP: SRP$7,
|
|
4005
|
+
ITINERARY: ITINERARY$7
|
|
3943
4006
|
};
|
|
3944
4007
|
|
|
3945
4008
|
var STEPS$6 = {
|
|
@@ -4279,7 +4342,8 @@ var QSM$7 = {
|
|
|
4279
4342
|
RETURN_DATE: 'Terugkeerdatum',
|
|
4280
4343
|
CONFIRM: 'Bevestigen',
|
|
4281
4344
|
TRAVELERS: 'Reizigers',
|
|
4282
|
-
GROUP_TOUR: 'Groepsreis'
|
|
4345
|
+
GROUP_TOUR: 'Groepsreis',
|
|
4346
|
+
ALL_TRAVELERS: 'Alle reizigers'
|
|
4283
4347
|
};
|
|
4284
4348
|
var SRP$6 = {
|
|
4285
4349
|
SHOW_MORE: 'Toon meer',
|
|
@@ -4330,7 +4394,12 @@ var SRP$6 = {
|
|
|
4330
4394
|
DEPARTURE_AIRPORTS: 'Vertrekluchthavens',
|
|
4331
4395
|
ARRIVAL_AIRPORTS: 'Aankomstluchthavens',
|
|
4332
4396
|
PRICE: 'Prijs',
|
|
4333
|
-
TRAVEL_GROUP: 'Reisgezelschap'
|
|
4397
|
+
TRAVEL_GROUP: 'Reisgezelschap',
|
|
4398
|
+
EXCURSION: 'Excursie'
|
|
4399
|
+
};
|
|
4400
|
+
var ITINERARY$6 = {
|
|
4401
|
+
DAY: 'Dag',
|
|
4402
|
+
NO_ITEMS: 'Geen elementen voor deze dag.'
|
|
4334
4403
|
};
|
|
4335
4404
|
var nlBeJson = {
|
|
4336
4405
|
STEPS: STEPS$6,
|
|
@@ -4350,7 +4419,8 @@ var nlBeJson = {
|
|
|
4350
4419
|
NAVBAR: NAVBAR$6,
|
|
4351
4420
|
LOGIN: LOGIN$6,
|
|
4352
4421
|
QSM: QSM$7,
|
|
4353
|
-
SRP: SRP$6
|
|
4422
|
+
SRP: SRP$6,
|
|
4423
|
+
ITINERARY: ITINERARY$6
|
|
4354
4424
|
};
|
|
4355
4425
|
|
|
4356
4426
|
var STEPS$5 = {
|
|
@@ -4686,7 +4756,8 @@ var QSM$6 = {
|
|
|
4686
4756
|
RETURN_DATE: 'Terugkeerdatum',
|
|
4687
4757
|
CONFIRM: 'Bevestigen',
|
|
4688
4758
|
TRAVELERS: 'Reizigers',
|
|
4689
|
-
GROUP_TOUR: 'Groepsreis'
|
|
4759
|
+
GROUP_TOUR: 'Groepsreis',
|
|
4760
|
+
ALL_TRAVELERS: 'Alle reizigers'
|
|
4690
4761
|
};
|
|
4691
4762
|
var SRP$5 = {
|
|
4692
4763
|
SHOW_MORE: 'Toon meer',
|
|
@@ -4737,7 +4808,12 @@ var SRP$5 = {
|
|
|
4737
4808
|
DEPARTURE_AIRPORTS: 'Vertrekluchthavens',
|
|
4738
4809
|
ARRIVAL_AIRPORTS: 'Aankomstluchthavens',
|
|
4739
4810
|
PRICE: 'Prijs',
|
|
4740
|
-
TRAVEL_GROUP: 'Reisgezelschap'
|
|
4811
|
+
TRAVEL_GROUP: 'Reisgezelschap',
|
|
4812
|
+
EXCURSION: 'Excursie'
|
|
4813
|
+
};
|
|
4814
|
+
var ITINERARY$5 = {
|
|
4815
|
+
DAY: 'Dag',
|
|
4816
|
+
NO_ITEMS: 'Geen elementen voor deze dag.'
|
|
4741
4817
|
};
|
|
4742
4818
|
var nlNlJson = {
|
|
4743
4819
|
STEPS: STEPS$5,
|
|
@@ -4757,7 +4833,8 @@ var nlNlJson = {
|
|
|
4757
4833
|
NAVBAR: NAVBAR$5,
|
|
4758
4834
|
LOGIN: LOGIN$5,
|
|
4759
4835
|
QSM: QSM$6,
|
|
4760
|
-
SRP: SRP$5
|
|
4836
|
+
SRP: SRP$5,
|
|
4837
|
+
ITINERARY: ITINERARY$5
|
|
4761
4838
|
};
|
|
4762
4839
|
|
|
4763
4840
|
var STEPS$4 = {
|
|
@@ -5093,7 +5170,8 @@ var QSM$5 = {
|
|
|
5093
5170
|
RETURN_DATE: 'Returdato',
|
|
5094
5171
|
CONFIRM: 'Bekreft',
|
|
5095
5172
|
TRAVELERS: 'Reisende',
|
|
5096
|
-
GROUP_TOUR: 'Gruppetur'
|
|
5173
|
+
GROUP_TOUR: 'Gruppetur',
|
|
5174
|
+
ALL_TRAVELERS: 'Alle reisende'
|
|
5097
5175
|
};
|
|
5098
5176
|
var SRP$4 = {
|
|
5099
5177
|
SHOW_MORE: 'Vis mer',
|
|
@@ -5144,7 +5222,12 @@ var SRP$4 = {
|
|
|
5144
5222
|
DEPARTURE_AIRPORTS: 'Avgangsflyplasser',
|
|
5145
5223
|
ARRIVAL_AIRPORTS: 'Ankomstflyplasser',
|
|
5146
5224
|
PRICE: 'Pris',
|
|
5147
|
-
TRAVEL_GROUP: 'Reisefølge'
|
|
5225
|
+
TRAVEL_GROUP: 'Reisefølge',
|
|
5226
|
+
EXCURSION: 'Utflukt'
|
|
5227
|
+
};
|
|
5228
|
+
var ITINERARY$4 = {
|
|
5229
|
+
DAY: 'Dag',
|
|
5230
|
+
NO_ITEMS: 'Ingen elementer for denne dagen.'
|
|
5148
5231
|
};
|
|
5149
5232
|
var noJson = {
|
|
5150
5233
|
STEPS: STEPS$4,
|
|
@@ -5164,7 +5247,8 @@ var noJson = {
|
|
|
5164
5247
|
NAVBAR: NAVBAR$4,
|
|
5165
5248
|
LOGIN: LOGIN$4,
|
|
5166
5249
|
QSM: QSM$5,
|
|
5167
|
-
SRP: SRP$4
|
|
5250
|
+
SRP: SRP$4,
|
|
5251
|
+
ITINERARY: ITINERARY$4
|
|
5168
5252
|
};
|
|
5169
5253
|
|
|
5170
5254
|
var STEPS$3 = {
|
|
@@ -5500,7 +5584,8 @@ var QSM$4 = {
|
|
|
5500
5584
|
RETURN_DATE: 'Data powrotu',
|
|
5501
5585
|
CONFIRM: 'Potwierdź',
|
|
5502
5586
|
TRAVELERS: 'Podróżni',
|
|
5503
|
-
GROUP_TOUR: 'Tour w grupie'
|
|
5587
|
+
GROUP_TOUR: 'Tour w grupie',
|
|
5588
|
+
ALL_TRAVELERS: 'Wszyscy podróżni'
|
|
5504
5589
|
};
|
|
5505
5590
|
var SRP$3 = {
|
|
5506
5591
|
SHOW_MORE: 'Pokaż więcej',
|
|
@@ -5551,7 +5636,12 @@ var SRP$3 = {
|
|
|
5551
5636
|
DEPARTURE_AIRPORTS: 'Lotniska wylotu',
|
|
5552
5637
|
ARRIVAL_AIRPORTS: 'Lotniska przylotu',
|
|
5553
5638
|
PRICE: 'Cena',
|
|
5554
|
-
TRAVEL_GROUP: 'Grupa podróżnych'
|
|
5639
|
+
TRAVEL_GROUP: 'Grupa podróżnych',
|
|
5640
|
+
EXCURSION: 'Wycieczka'
|
|
5641
|
+
};
|
|
5642
|
+
var ITINERARY$3 = {
|
|
5643
|
+
DAY: 'Dzień',
|
|
5644
|
+
NO_ITEMS: 'Brak elementów dla tego dnia.'
|
|
5555
5645
|
};
|
|
5556
5646
|
var plJson = {
|
|
5557
5647
|
STEPS: STEPS$3,
|
|
@@ -5571,7 +5661,8 @@ var plJson = {
|
|
|
5571
5661
|
NAVBAR: NAVBAR$3,
|
|
5572
5662
|
LOGIN: LOGIN$3,
|
|
5573
5663
|
QSM: QSM$4,
|
|
5574
|
-
SRP: SRP$3
|
|
5664
|
+
SRP: SRP$3,
|
|
5665
|
+
ITINERARY: ITINERARY$3
|
|
5575
5666
|
};
|
|
5576
5667
|
|
|
5577
5668
|
var STEPS$2 = {
|
|
@@ -5907,7 +5998,8 @@ var QSM$3 = {
|
|
|
5907
5998
|
RETURN_DATE: 'Data de regresso',
|
|
5908
5999
|
CONFIRM: 'Confirmar',
|
|
5909
6000
|
TRAVELERS: 'Viajantes',
|
|
5910
|
-
GROUP_TOUR: 'Tour em grupo'
|
|
6001
|
+
GROUP_TOUR: 'Tour em grupo',
|
|
6002
|
+
ALL_TRAVELERS: 'All travelers'
|
|
5911
6003
|
};
|
|
5912
6004
|
var SRP$2 = {
|
|
5913
6005
|
SHOW_MORE: 'Mostrar mais',
|
|
@@ -5958,7 +6050,12 @@ var SRP$2 = {
|
|
|
5958
6050
|
DEPARTURE_AIRPORTS: 'Aeroportos de partida',
|
|
5959
6051
|
ARRIVAL_AIRPORTS: 'Aeroportos de chegada',
|
|
5960
6052
|
PRICE: 'Preço',
|
|
5961
|
-
TRAVEL_GROUP: 'Grupo de viajantes'
|
|
6053
|
+
TRAVEL_GROUP: 'Grupo de viajantes',
|
|
6054
|
+
EXCURSION: 'Excursão'
|
|
6055
|
+
};
|
|
6056
|
+
var ITINERARY$2 = {
|
|
6057
|
+
DAY: 'Dia',
|
|
6058
|
+
NO_ITEMS: 'Nenhum item para este dia.'
|
|
5962
6059
|
};
|
|
5963
6060
|
var ptJson = {
|
|
5964
6061
|
STEPS: STEPS$2,
|
|
@@ -5978,7 +6075,8 @@ var ptJson = {
|
|
|
5978
6075
|
NAVBAR: NAVBAR$2,
|
|
5979
6076
|
LOGIN: LOGIN$2,
|
|
5980
6077
|
QSM: QSM$3,
|
|
5981
|
-
SRP: SRP$2
|
|
6078
|
+
SRP: SRP$2,
|
|
6079
|
+
ITINERARY: ITINERARY$2
|
|
5982
6080
|
};
|
|
5983
6081
|
|
|
5984
6082
|
var STEPS$1 = {
|
|
@@ -6314,7 +6412,8 @@ var QSM$2 = {
|
|
|
6314
6412
|
RETURN_DATE: 'Hemresedatum',
|
|
6315
6413
|
CONFIRM: 'Bekräfta',
|
|
6316
6414
|
TRAVELERS: 'Resenärer',
|
|
6317
|
-
GROUP_TOUR: 'Gruppresa'
|
|
6415
|
+
GROUP_TOUR: 'Gruppresa',
|
|
6416
|
+
ALL_TRAVELERS: 'All travelers'
|
|
6318
6417
|
};
|
|
6319
6418
|
var SRP$1 = {
|
|
6320
6419
|
SHOW_MORE: 'Visa mer',
|
|
@@ -6365,7 +6464,12 @@ var SRP$1 = {
|
|
|
6365
6464
|
DEPARTURE_AIRPORTS: 'Avgångsflygplatser',
|
|
6366
6465
|
ARRIVAL_AIRPORTS: 'Ankomstflygplatser',
|
|
6367
6466
|
PRICE: 'Pris',
|
|
6368
|
-
TRAVEL_GROUP: 'Resesällskap'
|
|
6467
|
+
TRAVEL_GROUP: 'Resesällskap',
|
|
6468
|
+
EXCURSION: 'Utflykt'
|
|
6469
|
+
};
|
|
6470
|
+
var ITINERARY$1 = {
|
|
6471
|
+
DAY: 'Dag',
|
|
6472
|
+
NO_ITEMS: 'Inga element för denna dag.'
|
|
6369
6473
|
};
|
|
6370
6474
|
var svJson = {
|
|
6371
6475
|
STEPS: STEPS$1,
|
|
@@ -6385,7 +6489,8 @@ var svJson = {
|
|
|
6385
6489
|
NAVBAR: NAVBAR$1,
|
|
6386
6490
|
LOGIN: LOGIN$1,
|
|
6387
6491
|
QSM: QSM$2,
|
|
6388
|
-
SRP: SRP$1
|
|
6492
|
+
SRP: SRP$1,
|
|
6493
|
+
ITINERARY: ITINERARY$1
|
|
6389
6494
|
};
|
|
6390
6495
|
|
|
6391
6496
|
var STEPS = {
|
|
@@ -6719,7 +6824,8 @@ var QSM$1 = {
|
|
|
6719
6824
|
RETURN_DATE: '帰着日',
|
|
6720
6825
|
CONFIRM: '確認',
|
|
6721
6826
|
TRAVELERS: '旅行者',
|
|
6722
|
-
GROUP_TOUR: 'グループツアー'
|
|
6827
|
+
GROUP_TOUR: 'グループツアー',
|
|
6828
|
+
ALL_TRAVELERS: 'すべての旅行者'
|
|
6723
6829
|
};
|
|
6724
6830
|
var SRP = {
|
|
6725
6831
|
SHOW_MORE: 'もっと見る',
|
|
@@ -6770,7 +6876,12 @@ var SRP = {
|
|
|
6770
6876
|
DEPARTURE_AIRPORTS: '出発空港',
|
|
6771
6877
|
ARRIVAL_AIRPORTS: '到着空港',
|
|
6772
6878
|
PRICE: '価格',
|
|
6773
|
-
TRAVEL_GROUP: '旅行グループ'
|
|
6879
|
+
TRAVEL_GROUP: '旅行グループ',
|
|
6880
|
+
EXCURSION: 'エクスカーション'
|
|
6881
|
+
};
|
|
6882
|
+
var ITINERARY = {
|
|
6883
|
+
DAY: '日',
|
|
6884
|
+
NO_ITEMS: 'この日のアイテムはありません。'
|
|
6774
6885
|
};
|
|
6775
6886
|
var jaJson = {
|
|
6776
6887
|
STEPS: STEPS,
|
|
@@ -6790,7 +6901,8 @@ var jaJson = {
|
|
|
6790
6901
|
NAVBAR: NAVBAR,
|
|
6791
6902
|
LOGIN: LOGIN,
|
|
6792
6903
|
QSM: QSM$1,
|
|
6793
|
-
SRP: SRP
|
|
6904
|
+
SRP: SRP,
|
|
6905
|
+
ITINERARY: ITINERARY
|
|
6794
6906
|
};
|
|
6795
6907
|
|
|
6796
6908
|
var DepartureRange;
|
|
@@ -6801,7 +6913,7 @@ var DepartureRange;
|
|
|
6801
6913
|
DepartureRange[(DepartureRange['Night'] = 3)] = 'Night';
|
|
6802
6914
|
})(DepartureRange || (DepartureRange = {}));
|
|
6803
6915
|
|
|
6804
|
-
var formatPrice$
|
|
6916
|
+
var formatPrice$3 = function (price, currencyCode, locale) {
|
|
6805
6917
|
if (locale === void 0) {
|
|
6806
6918
|
locale = 'nl-BE';
|
|
6807
6919
|
}
|
|
@@ -6908,7 +7020,7 @@ function getLocale(code) {
|
|
|
6908
7020
|
}
|
|
6909
7021
|
}
|
|
6910
7022
|
var getPriceDifferenceText = function (price, currencyCode) {
|
|
6911
|
-
return price > 0 ? '+ '.concat(formatPrice$
|
|
7023
|
+
return price > 0 ? '+ '.concat(formatPrice$3(Math.abs(price), currencyCode)) : '- '.concat(formatPrice$3(Math.abs(price), currencyCode));
|
|
6912
7024
|
};
|
|
6913
7025
|
function format(text, args) {
|
|
6914
7026
|
return text.replace(/{([0-9]+)}/g, function (match, index) {
|
|
@@ -7008,6 +7120,16 @@ var findSortByType = function (sortByTypes, sortKey, direction) {
|
|
|
7008
7120
|
}) || sortByTypes[0]
|
|
7009
7121
|
);
|
|
7010
7122
|
};
|
|
7123
|
+
var getDatesBetween = function (fromDate, toDate) {
|
|
7124
|
+
var dates = [];
|
|
7125
|
+
var current = new Date(fromDate);
|
|
7126
|
+
var end = new Date(toDate);
|
|
7127
|
+
while (current < end) {
|
|
7128
|
+
dates.push(new Date(current));
|
|
7129
|
+
current.setUTCDate(current.getUTCDate() + 1);
|
|
7130
|
+
}
|
|
7131
|
+
return dates;
|
|
7132
|
+
};
|
|
7011
7133
|
|
|
7012
7134
|
var getDateFromParams = function (params, name) {
|
|
7013
7135
|
var dateString = params.get(name);
|
|
@@ -13481,6 +13603,7 @@ PERFORMANCE OF THIS SOFTWARE.
|
|
|
13481
13603
|
var ENDPOINT = '/api/web/packaging';
|
|
13482
13604
|
var ENDPOINT_START_TRANSACTION = ENDPOINT + '/start';
|
|
13483
13605
|
var ENDPOINT_ACCOMMODATIONS = ENDPOINT + '/accommodations';
|
|
13606
|
+
var ENDPOINT_EXCURSIONS = ENDPOINT + '/excursions';
|
|
13484
13607
|
var ENDPOINT_FLIGHTS = ENDPOINT + '/flights';
|
|
13485
13608
|
var ENDPOINT_PRICE_DETAILS = ENDPOINT + '/price-details';
|
|
13486
13609
|
var ENDPOINT_ITINERARY = ENDPOINT + '/itinerary';
|
|
@@ -13504,6 +13627,12 @@ PERFORMANCE OF THIS SOFTWARE.
|
|
|
13504
13627
|
var body = JSON.stringify(request);
|
|
13505
13628
|
return post(url, apiKey, body, config.token, signal, true);
|
|
13506
13629
|
};
|
|
13630
|
+
var searchPackagingExcursions = function (config, request, signal) {
|
|
13631
|
+
var url = '' + config.host + ENDPOINT_EXCURSIONS;
|
|
13632
|
+
var apiKey = config.apiKey;
|
|
13633
|
+
var body = JSON.stringify(request);
|
|
13634
|
+
return post(url, apiKey, body, config.token, signal, true);
|
|
13635
|
+
};
|
|
13507
13636
|
var getEntry = function (config, magicLinkCode, signal) {
|
|
13508
13637
|
var apiKey = config.apiKey;
|
|
13509
13638
|
var url = '' + config.host + ENDPOINT_ENTRY(magicLinkCode);
|
|
@@ -13595,6 +13724,7 @@ PERFORMANCE OF THIS SOFTWARE.
|
|
|
13595
13724
|
exports.searchLocations = searchLocations;
|
|
13596
13725
|
exports.searchOords = searchOords;
|
|
13597
13726
|
exports.searchPackagingAccommodations = searchPackagingAccommodations;
|
|
13727
|
+
exports.searchPackagingExcursions = searchPackagingExcursions;
|
|
13598
13728
|
exports.searchPackagingFlights = searchPackagingFlights;
|
|
13599
13729
|
exports.searchRegions = searchRegions;
|
|
13600
13730
|
exports.searchWithErrorMapping = searchWithErrorMapping;
|
|
@@ -13671,16 +13801,16 @@ var formatPriceByMode = function (price, priceMode, personCount, duration, perPe
|
|
|
13671
13801
|
if (!price) return '';
|
|
13672
13802
|
switch (priceMode) {
|
|
13673
13803
|
case 0:
|
|
13674
|
-
return ''.concat(formatPrice$
|
|
13804
|
+
return ''.concat(formatPrice$3(price, currencyCode));
|
|
13675
13805
|
case 1:
|
|
13676
13806
|
var perPersonPrice = price / personCount;
|
|
13677
|
-
return ''.concat(formatPrice$
|
|
13807
|
+
return ''.concat(formatPrice$3(perPersonPrice, currencyCode), ' / ').concat(perPersonLabel);
|
|
13678
13808
|
case 2:
|
|
13679
13809
|
var perNightPrice = price / duration;
|
|
13680
|
-
return ''.concat(formatPrice$
|
|
13810
|
+
return ''.concat(formatPrice$3(perNightPrice, currencyCode), ' / ').concat(perNightLabel);
|
|
13681
13811
|
case 3:
|
|
13682
13812
|
var perPersonPerNightPrice = price / duration;
|
|
13683
|
-
return ''.concat(formatPrice$
|
|
13813
|
+
return ''.concat(formatPrice$3(perPersonPerNightPrice, currencyCode), ' / ').concat(perPersonPerNightLabel);
|
|
13684
13814
|
}
|
|
13685
13815
|
};
|
|
13686
13816
|
|
|
@@ -22105,7 +22235,7 @@ var NoneOption = function (_a) {
|
|
|
22105
22235
|
return x.requirementType === 2;
|
|
22106
22236
|
});
|
|
22107
22237
|
var noneSelected = !selectedOption;
|
|
22108
|
-
var priceDifferencetext = selectedOption ? '- '.concat(formatPrice$
|
|
22238
|
+
var priceDifferencetext = selectedOption ? '- '.concat(formatPrice$3(Math.abs(selectedOption.line.price), currencyCode)) : '';
|
|
22109
22239
|
return React__default.createElement(
|
|
22110
22240
|
React__default.Fragment,
|
|
22111
22241
|
null,
|
|
@@ -23378,7 +23508,7 @@ var OptionRoom = function (_a) {
|
|
|
23378
23508
|
e.preventDefault();
|
|
23379
23509
|
};
|
|
23380
23510
|
var getPriceDifferenceText = function (price) {
|
|
23381
|
-
return price > 0 ? '+ '.concat(formatPrice$
|
|
23511
|
+
return price > 0 ? '+ '.concat(formatPrice$3(Math.abs(price), currencyCode)) : '- '.concat(formatPrice$3(Math.abs(price), currencyCode));
|
|
23382
23512
|
};
|
|
23383
23513
|
var getAccommodationPriceDifference = function (accommodation) {
|
|
23384
23514
|
var _a;
|
|
@@ -24903,7 +25033,7 @@ var Sidebar = function (_a) {
|
|
|
24903
25033
|
{ className: 'pricing-summary__property' },
|
|
24904
25034
|
React__default.createElement('h6', { className: 'pricing-summary__title' }, translations.SIDEBAR.BASE_PRICE)
|
|
24905
25035
|
),
|
|
24906
|
-
React__default.createElement('div', { className: 'pricing-summary__value' }, formatPrice$
|
|
25036
|
+
React__default.createElement('div', { className: 'pricing-summary__value' }, formatPrice$3(basePrice, currencyCode))
|
|
24907
25037
|
),
|
|
24908
25038
|
basePricePerPaxType &&
|
|
24909
25039
|
basePricePerPaxType.map(function (ppt, index) {
|
|
@@ -24920,7 +25050,7 @@ var Sidebar = function (_a) {
|
|
|
24920
25050
|
' ',
|
|
24921
25051
|
getPaxTypeTranslation(translations, ppt.paxType, ppt.numberOfPax)
|
|
24922
25052
|
),
|
|
24923
|
-
React__default.createElement('div', { className: 'pricing-summary__value' }, formatPrice$
|
|
25053
|
+
React__default.createElement('div', { className: 'pricing-summary__value' }, formatPrice$3(ppt.pricePerPaxType, currencyCode))
|
|
24924
25054
|
),
|
|
24925
25055
|
ppt.details.map(function (detail, dIndex) {
|
|
24926
25056
|
return React__default.createElement(
|
|
@@ -24933,7 +25063,7 @@ var Sidebar = function (_a) {
|
|
|
24933
25063
|
React__default.createElement(
|
|
24934
25064
|
'div',
|
|
24935
25065
|
{ className: 'pricing-summary__value' },
|
|
24936
|
-
formatPrice$
|
|
25066
|
+
formatPrice$3(detail.price / detail.numberOfPax, currencyCode)
|
|
24937
25067
|
)
|
|
24938
25068
|
);
|
|
24939
25069
|
})
|
|
@@ -24960,7 +25090,7 @@ var Sidebar = function (_a) {
|
|
|
24960
25090
|
React__default.createElement(
|
|
24961
25091
|
'div',
|
|
24962
25092
|
{ className: 'pricing-summary__value' },
|
|
24963
|
-
formatPrice$
|
|
25093
|
+
formatPrice$3(priceDetail.price * priceDetail.amount, currencyCode)
|
|
24964
25094
|
)
|
|
24965
25095
|
),
|
|
24966
25096
|
React__default.createElement(
|
|
@@ -24995,7 +25125,7 @@ var Sidebar = function (_a) {
|
|
|
24995
25125
|
React__default.createElement(
|
|
24996
25126
|
'div',
|
|
24997
25127
|
{ className: 'pricing-summary__value' },
|
|
24998
|
-
formatPrice$
|
|
25128
|
+
formatPrice$3(priceDetail.price * priceDetail.amount, currencyCode)
|
|
24999
25129
|
)
|
|
25000
25130
|
),
|
|
25001
25131
|
React__default.createElement(
|
|
@@ -25025,7 +25155,7 @@ var Sidebar = function (_a) {
|
|
|
25025
25155
|
React__default.createElement(
|
|
25026
25156
|
'div',
|
|
25027
25157
|
{ className: 'pricing-summary__value' },
|
|
25028
|
-
formatPrice$
|
|
25158
|
+
formatPrice$3(ppt.pricePerPaxType, currencyCode)
|
|
25029
25159
|
)
|
|
25030
25160
|
),
|
|
25031
25161
|
ppt.details.map(function (detail, dIndex) {
|
|
@@ -25045,7 +25175,7 @@ var Sidebar = function (_a) {
|
|
|
25045
25175
|
React__default.createElement(
|
|
25046
25176
|
'div',
|
|
25047
25177
|
{ className: 'pricing-summary__value' },
|
|
25048
|
-
formatPrice$
|
|
25178
|
+
formatPrice$3(detail.price / detail.numberOfPax, currencyCode)
|
|
25049
25179
|
)
|
|
25050
25180
|
);
|
|
25051
25181
|
})
|
|
@@ -25089,7 +25219,7 @@ var Sidebar = function (_a) {
|
|
|
25089
25219
|
React__default.createElement(
|
|
25090
25220
|
'div',
|
|
25091
25221
|
{ className: 'pricing__price' },
|
|
25092
|
-
formatPrice$
|
|
25222
|
+
formatPrice$3(commission !== null && commission !== void 0 ? commission : 0, currencyCode)
|
|
25093
25223
|
)
|
|
25094
25224
|
)
|
|
25095
25225
|
)
|
|
@@ -25110,7 +25240,7 @@ var Sidebar = function (_a) {
|
|
|
25110
25240
|
React__default.createElement(
|
|
25111
25241
|
'div',
|
|
25112
25242
|
{ className: 'pricing' },
|
|
25113
|
-
React__default.createElement('div', { className: 'pricing__price' }, formatPrice$
|
|
25243
|
+
React__default.createElement('div', { className: 'pricing__price' }, formatPrice$3(totalPrice, currencyCode))
|
|
25114
25244
|
)
|
|
25115
25245
|
)
|
|
25116
25246
|
),
|
|
@@ -25128,7 +25258,7 @@ var Sidebar = function (_a) {
|
|
|
25128
25258
|
React__default.createElement(
|
|
25129
25259
|
'div',
|
|
25130
25260
|
{ className: 'pricing' },
|
|
25131
|
-
React__default.createElement('div', { className: 'pricing__price' }, formatPrice$
|
|
25261
|
+
React__default.createElement('div', { className: 'pricing__price' }, formatPrice$3(deposit, currencyCode))
|
|
25132
25262
|
)
|
|
25133
25263
|
)
|
|
25134
25264
|
),
|
|
@@ -25144,7 +25274,7 @@ var Sidebar = function (_a) {
|
|
|
25144
25274
|
translations.SIDEBAR.DEPOSIT_TEXT1,
|
|
25145
25275
|
React__default.createElement('strong', null, translations.SIDEBAR.DEPOSIT_TEXT2),
|
|
25146
25276
|
translations.SIDEBAR.DEPOSIT_TEXT3,
|
|
25147
|
-
formatPrice$
|
|
25277
|
+
formatPrice$3(remainingAmount, currencyCode),
|
|
25148
25278
|
translations.SIDEBAR.DEPOSIT_TEXT4,
|
|
25149
25279
|
React__default.createElement('strong', null, translations.SIDEBAR.DEPOSIT_TEXT5),
|
|
25150
25280
|
translations.SIDEBAR.DEPOSIT_TEXT6
|
|
@@ -25173,7 +25303,7 @@ var Sidebar = function (_a) {
|
|
|
25173
25303
|
React__default.createElement(
|
|
25174
25304
|
'div',
|
|
25175
25305
|
{ className: 'pricing__price' },
|
|
25176
|
-
formatPrice$
|
|
25306
|
+
formatPrice$3(commission !== null && commission !== void 0 ? commission : 0, currencyCode)
|
|
25177
25307
|
)
|
|
25178
25308
|
)
|
|
25179
25309
|
)
|
|
@@ -25194,7 +25324,7 @@ var Sidebar = function (_a) {
|
|
|
25194
25324
|
React__default.createElement(
|
|
25195
25325
|
'div',
|
|
25196
25326
|
{ className: 'pricing' },
|
|
25197
|
-
React__default.createElement('div', { className: 'pricing__price' }, formatPrice$
|
|
25327
|
+
React__default.createElement('div', { className: 'pricing__price' }, formatPrice$3(totalPrice, currencyCode))
|
|
25198
25328
|
)
|
|
25199
25329
|
)
|
|
25200
25330
|
)
|
|
@@ -33742,7 +33872,10 @@ var initialState$1 = {
|
|
|
33742
33872
|
flyInIsOpen: false,
|
|
33743
33873
|
flyInType: null,
|
|
33744
33874
|
editablePackagingEntry: null,
|
|
33745
|
-
itinerary: null
|
|
33875
|
+
itinerary: null,
|
|
33876
|
+
excursionSearchParams: null,
|
|
33877
|
+
selectedExcursionSearchResult: null,
|
|
33878
|
+
confirmedExcursionsByDay: {}
|
|
33746
33879
|
};
|
|
33747
33880
|
var searchResultsSlice = createSlice({
|
|
33748
33881
|
name: 'searchResults',
|
|
@@ -33888,6 +34021,41 @@ var searchResultsSlice = createSlice({
|
|
|
33888
34021
|
resetFlightSelection: function (state) {
|
|
33889
34022
|
state.selectedOutwardKey = null;
|
|
33890
34023
|
state.selectedReturnKey = null;
|
|
34024
|
+
},
|
|
34025
|
+
setExcursionSearchParams: function (state, action) {
|
|
34026
|
+
state.excursionSearchParams = action.payload;
|
|
34027
|
+
},
|
|
34028
|
+
setSelectedExcursionSearchResult: function (state, action) {
|
|
34029
|
+
state.selectedExcursionSearchResult = action.payload;
|
|
34030
|
+
},
|
|
34031
|
+
confirmExcursionForDay: function (state, action) {
|
|
34032
|
+
var _a;
|
|
34033
|
+
var _b = action.payload,
|
|
34034
|
+
dayKey = _b.dayKey,
|
|
34035
|
+
excursion = _b.excursion;
|
|
34036
|
+
var existingForDay = (_a = state.confirmedExcursionsByDay[dayKey]) !== null && _a !== void 0 ? _a : [];
|
|
34037
|
+
var existingIndex = existingForDay.findIndex(function (item) {
|
|
34038
|
+
return item.code === excursion.code;
|
|
34039
|
+
});
|
|
34040
|
+
if (existingIndex >= 0) {
|
|
34041
|
+
// replace existing confirmed version of same excursion
|
|
34042
|
+
existingForDay[existingIndex] = excursion;
|
|
34043
|
+
} else {
|
|
34044
|
+
existingForDay.push(excursion);
|
|
34045
|
+
}
|
|
34046
|
+
state.confirmedExcursionsByDay[dayKey] = existingForDay;
|
|
34047
|
+
},
|
|
34048
|
+
removeConfirmedExcursionForDay: function (state, action) {
|
|
34049
|
+
var _a;
|
|
34050
|
+
var _b = action.payload,
|
|
34051
|
+
dayKey = _b.dayKey,
|
|
34052
|
+
excursionCode = _b.excursionCode;
|
|
34053
|
+
state.confirmedExcursionsByDay[dayKey] = ((_a = state.confirmedExcursionsByDay[dayKey]) !== null && _a !== void 0 ? _a : []).filter(function (item) {
|
|
34054
|
+
return item.code !== excursionCode;
|
|
34055
|
+
});
|
|
34056
|
+
},
|
|
34057
|
+
clearConfirmedExcursionsForDay: function (state, action) {
|
|
34058
|
+
delete state.confirmedExcursionsByDay[action.payload.dayKey];
|
|
33891
34059
|
}
|
|
33892
34060
|
}
|
|
33893
34061
|
});
|
|
@@ -33927,6 +34095,11 @@ var setFlyInIsOpen = _a.setFlyInIsOpen,
|
|
|
33927
34095
|
setSelectedOutwardKey = _a.setSelectedOutwardKey,
|
|
33928
34096
|
setSelectedReturnKey = _a.setSelectedReturnKey;
|
|
33929
34097
|
_a.resetFlightSelection;
|
|
34098
|
+
var setExcursionSearchParams = _a.setExcursionSearchParams,
|
|
34099
|
+
setSelectedExcursionSearchResult = _a.setSelectedExcursionSearchResult,
|
|
34100
|
+
confirmExcursionForDay = _a.confirmExcursionForDay,
|
|
34101
|
+
removeConfirmedExcursionForDay = _a.removeConfirmedExcursionForDay;
|
|
34102
|
+
_a.clearConfirmedExcursionsForDay;
|
|
33930
34103
|
var searchResultsReducer = searchResultsSlice.reducer;
|
|
33931
34104
|
|
|
33932
34105
|
var ItemPicker = function (_a) {
|
|
@@ -34457,8 +34630,7 @@ var Icon$1 = function (_a) {
|
|
|
34457
34630
|
}),
|
|
34458
34631
|
title && React__default.createElement('title', null, title),
|
|
34459
34632
|
React__default.createElement('path', {
|
|
34460
|
-
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'
|
|
34461
|
-
fill: 'currentColor'
|
|
34633
|
+
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'
|
|
34462
34634
|
})
|
|
34463
34635
|
);
|
|
34464
34636
|
case 'ui-backforward':
|
|
@@ -34955,6 +35127,7 @@ var Icon$1 = function (_a) {
|
|
|
34955
35127
|
|
|
34956
35128
|
var GROUP_TOUR_SERVICE_TYPE = 1;
|
|
34957
35129
|
var ACCOMMODATION_SERVICE_TYPE = 3;
|
|
35130
|
+
var EXCURSION_SERVICE_TYPE = 4;
|
|
34958
35131
|
var FLIGHT_SERVICE_TYPE = 7;
|
|
34959
35132
|
var toDateOnlyString = function (value) {
|
|
34960
35133
|
var date = value instanceof Date ? value : new Date(value);
|
|
@@ -35187,6 +35360,21 @@ var getSegmentTitle = function (segment) {
|
|
|
35187
35360
|
var _a;
|
|
35188
35361
|
return (_a = segment.productName) !== null && _a !== void 0 ? _a : segment.accommodationName;
|
|
35189
35362
|
};
|
|
35363
|
+
var SERVICE_TYPE_PRIORITY = {
|
|
35364
|
+
7: 0, // Flight
|
|
35365
|
+
13: 1, // Transfer
|
|
35366
|
+
3: 2, // Hotel
|
|
35367
|
+
4: 3 // Excursion
|
|
35368
|
+
};
|
|
35369
|
+
var getServiceTypePriority = function (serviceType) {
|
|
35370
|
+
var _a;
|
|
35371
|
+
return (_a = SERVICE_TYPE_PRIORITY[serviceType !== null && serviceType !== void 0 ? serviceType : -1]) !== null && _a !== void 0 ? _a : 2;
|
|
35372
|
+
};
|
|
35373
|
+
var getDateOnlyTime = function (date) {
|
|
35374
|
+
if (!date) return 0;
|
|
35375
|
+
var parsedDate = new Date(date);
|
|
35376
|
+
return new Date(parsedDate.getFullYear(), parsedDate.getMonth(), parsedDate.getDate()).getTime();
|
|
35377
|
+
};
|
|
35190
35378
|
var Itinerary = function (_a) {
|
|
35191
35379
|
var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
|
|
35192
35380
|
var isOpen = _a.isOpen,
|
|
@@ -35215,14 +35403,17 @@ var Itinerary = function (_a) {
|
|
|
35215
35403
|
true
|
|
35216
35404
|
).sort(function (a, b) {
|
|
35217
35405
|
var _a, _b;
|
|
35218
|
-
var
|
|
35219
|
-
var
|
|
35220
|
-
|
|
35221
|
-
|
|
35222
|
-
|
|
35223
|
-
|
|
35224
|
-
|
|
35225
|
-
|
|
35406
|
+
var dateA = getDateOnlyTime(a.from);
|
|
35407
|
+
var dateB = getDateOnlyTime(b.from);
|
|
35408
|
+
if (dateA !== dateB) {
|
|
35409
|
+
return dateA - dateB;
|
|
35410
|
+
}
|
|
35411
|
+
var priorityA = getServiceTypePriority(a.serviceType);
|
|
35412
|
+
var priorityB = getServiceTypePriority(b.serviceType);
|
|
35413
|
+
if (priorityA !== priorityB) {
|
|
35414
|
+
return priorityA - priorityB;
|
|
35415
|
+
}
|
|
35416
|
+
return ((_a = a.order) !== null && _a !== void 0 ? _a : Infinity) - ((_b = b.order) !== null && _b !== void 0 ? _b : Infinity);
|
|
35226
35417
|
});
|
|
35227
35418
|
},
|
|
35228
35419
|
[packagingEntry]
|
|
@@ -35345,12 +35536,12 @@ var Itinerary = function (_a) {
|
|
|
35345
35536
|
React__default.createElement(
|
|
35346
35537
|
'div',
|
|
35347
35538
|
{ className: 'search__filter__prices__wrapper' },
|
|
35348
|
-
React__default.createElement('h3', { className: 'search__filter__prices--amount' }, formatPrice$
|
|
35539
|
+
React__default.createElement('h3', { className: 'search__filter__prices--amount' }, formatPrice$3(pricePerPerson, 'EUR')),
|
|
35349
35540
|
React__default.createElement('p', null, translations.SRP.PACKAGE_PRICE_PER_PERSON),
|
|
35350
35541
|
React__default.createElement(
|
|
35351
35542
|
'p',
|
|
35352
35543
|
null,
|
|
35353
|
-
React__default.createElement('strong', null, '(', formatPrice$
|
|
35544
|
+
React__default.createElement('strong', null, '(', formatPrice$3(totalPrice, 'EUR'), ' ', translations.SRP.TOTAL, ')')
|
|
35354
35545
|
)
|
|
35355
35546
|
),
|
|
35356
35547
|
React__default.createElement('button', { className: 'cta' }, translations.QSM.CONFIRM)
|
|
@@ -38392,7 +38583,8 @@ var FlightsFlyIn = function (_a) {
|
|
|
38392
38583
|
React__default.createElement(
|
|
38393
38584
|
'div',
|
|
38394
38585
|
{ className: 'flyin__footer__price' },
|
|
38395
|
-
|
|
38586
|
+
translations.SHARED.TOTAL_PRICE,
|
|
38587
|
+
': \u20AC',
|
|
38396
38588
|
(_o = selectedCombinationFlight === null || selectedCombinationFlight === void 0 ? void 0 : selectedCombinationFlight.price) === null || _o === void 0
|
|
38397
38589
|
? void 0
|
|
38398
38590
|
: _o.toFixed(2)
|
|
@@ -38406,7 +38598,7 @@ var FlightsFlyIn = function (_a) {
|
|
|
38406
38598
|
);
|
|
38407
38599
|
};
|
|
38408
38600
|
|
|
38409
|
-
var formatPrice$
|
|
38601
|
+
var formatPrice$2 = function (price, currencyCode) {
|
|
38410
38602
|
if (typeof price !== 'number') return '';
|
|
38411
38603
|
var safeCurrency = currencyCode !== null && currencyCode !== void 0 ? currencyCode : 'EUR';
|
|
38412
38604
|
return new Intl.NumberFormat('nl-BE', {
|
|
@@ -38538,7 +38730,7 @@ var AccommodationFlyIn = function (_a) {
|
|
|
38538
38730
|
var totalPrice = selectedOptions.reduce(function (total, option) {
|
|
38539
38731
|
return total + (option.price || 0);
|
|
38540
38732
|
}, 0);
|
|
38541
|
-
return formatPrice$
|
|
38733
|
+
return formatPrice$2(totalPrice, selectedPackagingAccoSearchDetails.currencyCode);
|
|
38542
38734
|
};
|
|
38543
38735
|
var getPriceDifference = function (currentSelectedPrice, roomIndex, accommodationCode, regimeId) {
|
|
38544
38736
|
var targetPrice = 0;
|
|
@@ -38563,7 +38755,7 @@ var AccommodationFlyIn = function (_a) {
|
|
|
38563
38755
|
if (difference === 0) {
|
|
38564
38756
|
return null;
|
|
38565
38757
|
}
|
|
38566
|
-
var formattedAbsoluteValue = formatPrice$
|
|
38758
|
+
var formattedAbsoluteValue = formatPrice$2(Math.abs(difference), currencyCode);
|
|
38567
38759
|
return ''.concat(difference > 0 ? '+' : '-', ' ').concat(formattedAbsoluteValue);
|
|
38568
38760
|
};
|
|
38569
38761
|
var getPriceDifferenceClassName = function (difference) {
|
|
@@ -38681,7 +38873,7 @@ var AccommodationFlyIn = function (_a) {
|
|
|
38681
38873
|
React__default.createElement(
|
|
38682
38874
|
'div',
|
|
38683
38875
|
{ className: 'flyin__footer' },
|
|
38684
|
-
React__default.createElement('div', { className: 'flyin__footer__price' }, '
|
|
38876
|
+
React__default.createElement('div', { className: 'flyin__footer__price' }, translations.SHARED.TOTAL_PRICE, ': ', calculateTotalPrice()),
|
|
38685
38877
|
React__default.createElement(
|
|
38686
38878
|
'div',
|
|
38687
38879
|
{ className: 'flyin__button-wrapper' },
|
|
@@ -38840,7 +39032,7 @@ var AccommodationFlyIn = function (_a) {
|
|
|
38840
39032
|
// )} */}
|
|
38841
39033
|
// </div>
|
|
38842
39034
|
// <div className="flyin__footer">
|
|
38843
|
-
// <div className="flyin__footer__price">
|
|
39035
|
+
// <div className="flyin__footer__price">{translations.SHARED.TOTAL_PRICE}: €</div>
|
|
38844
39036
|
// <div className="flyin__button-wrapper">
|
|
38845
39037
|
// <button className="cta cta--select" onClick={handleConfirm}>
|
|
38846
39038
|
// Toevoegen
|
|
@@ -38850,7 +39042,7 @@ var AccommodationFlyIn = function (_a) {
|
|
|
38850
39042
|
// </>
|
|
38851
39043
|
};
|
|
38852
39044
|
|
|
38853
|
-
var formatPrice = function (price, currencyCode) {
|
|
39045
|
+
var formatPrice$1 = function (price, currencyCode) {
|
|
38854
39046
|
if (currencyCode === void 0) {
|
|
38855
39047
|
currencyCode = 'EUR';
|
|
38856
39048
|
}
|
|
@@ -39033,7 +39225,7 @@ var GroupTourFlyIn = function (_a) {
|
|
|
39033
39225
|
if (difference === 0) {
|
|
39034
39226
|
return null;
|
|
39035
39227
|
}
|
|
39036
|
-
var formattedAbsoluteValue = formatPrice(Math.abs(difference), currencyCode);
|
|
39228
|
+
var formattedAbsoluteValue = formatPrice$1(Math.abs(difference), currencyCode);
|
|
39037
39229
|
return ''.concat(difference > 0 ? '+' : '-', ' ').concat(formattedAbsoluteValue);
|
|
39038
39230
|
};
|
|
39039
39231
|
var getPriceDifferenceClassName = function (difference) {
|
|
@@ -39162,8 +39354,9 @@ var GroupTourFlyIn = function (_a) {
|
|
|
39162
39354
|
React__default.createElement(
|
|
39163
39355
|
'div',
|
|
39164
39356
|
{ className: 'flyin__footer__price' },
|
|
39165
|
-
|
|
39166
|
-
|
|
39357
|
+
translations.SHARED.TOTAL_PRICE,
|
|
39358
|
+
': ',
|
|
39359
|
+
formatPrice$1(adjustedTotalPrice, bookingPackageDetails.currencyCode)
|
|
39167
39360
|
),
|
|
39168
39361
|
React__default.createElement(
|
|
39169
39362
|
'div',
|
|
@@ -43480,7 +43673,7 @@ var getBaseHotelResult = function (searchResult, cmsItem, languageCode, translat
|
|
|
43480
43673
|
searchResult.countryName,
|
|
43481
43674
|
(_h = cmsItem === null || cmsItem === void 0 ? void 0 : cmsItem.parentItem) === null || _h === void 0 ? void 0 : _h.name
|
|
43482
43675
|
),
|
|
43483
|
-
price: formatPrice$
|
|
43676
|
+
price: formatPrice$3(searchResult.price, searchResult.currencyCode, languageCode),
|
|
43484
43677
|
ctaText: translations === null || translations === void 0 ? void 0 : translations.SRP.VIEW_DETAILS
|
|
43485
43678
|
};
|
|
43486
43679
|
};
|
|
@@ -43710,6 +43903,24 @@ var HotelAccommodationResults = function (_a) {
|
|
|
43710
43903
|
var selectSearchResultsState = function (state) {
|
|
43711
43904
|
return state.searchResults;
|
|
43712
43905
|
};
|
|
43906
|
+
var selectPackagingAccoResults = createSelector([selectSearchResultsState], function (state) {
|
|
43907
|
+
return state.packagingAccoResults;
|
|
43908
|
+
});
|
|
43909
|
+
var selectSelectedPackagingAccoResultCode = createSelector([selectSearchResultsState], function (state) {
|
|
43910
|
+
return state.selectedPackagingAccoResultCode;
|
|
43911
|
+
});
|
|
43912
|
+
var selectSelectedPackagingAccoResult = createSelector(
|
|
43913
|
+
[selectPackagingAccoResults, selectSelectedPackagingAccoResultCode],
|
|
43914
|
+
function (packagingAccoResults, selectedPackagingAccoResultCode) {
|
|
43915
|
+
var _a;
|
|
43916
|
+
if (!selectedPackagingAccoResultCode) return null;
|
|
43917
|
+
return (_a = packagingAccoResults.find(function (accoResult) {
|
|
43918
|
+
return accoResult.code === selectedPackagingAccoResultCode;
|
|
43919
|
+
})) !== null && _a !== void 0
|
|
43920
|
+
? _a
|
|
43921
|
+
: null;
|
|
43922
|
+
}
|
|
43923
|
+
);
|
|
43713
43924
|
var selectPackagingFlightResults = createSelector([selectSearchResultsState], function (state) {
|
|
43714
43925
|
return state.packagingFlightResults;
|
|
43715
43926
|
});
|
|
@@ -43830,7 +44041,7 @@ var IndependentFlightOption = function (_a) {
|
|
|
43830
44041
|
{ className: 'price' },
|
|
43831
44042
|
translations.QSM.ROUNDTRIP + ' ' + translations.SRP.PRICE,
|
|
43832
44043
|
'\u00A0',
|
|
43833
|
-
formatPrice$
|
|
44044
|
+
formatPrice$3(
|
|
43834
44045
|
price,
|
|
43835
44046
|
'EUR',
|
|
43836
44047
|
(_c = context === null || context === void 0 ? void 0 : context.languageCode) !== null && _c !== void 0 ? _c : 'en-GB'
|
|
@@ -43843,7 +44054,7 @@ var IndependentFlightOption = function (_a) {
|
|
|
43843
44054
|
{ className: 'price' },
|
|
43844
44055
|
priceDifference > 0 ? '+' : '-',
|
|
43845
44056
|
'\u00A0',
|
|
43846
|
-
formatPrice$
|
|
44057
|
+
formatPrice$3(
|
|
43847
44058
|
Math.abs(priceDifference),
|
|
43848
44059
|
'EUR',
|
|
43849
44060
|
(_d = context === null || context === void 0 ? void 0 : context.languageCode) !== null && _d !== void 0 ? _d : 'en-GB'
|
|
@@ -44538,6 +44749,567 @@ var PackageingFlightsFlyIn = function (_a) {
|
|
|
44538
44749
|
);
|
|
44539
44750
|
};
|
|
44540
44751
|
|
|
44752
|
+
var ExcursionResults = function (_a) {
|
|
44753
|
+
var _b;
|
|
44754
|
+
_a.isFlyIn;
|
|
44755
|
+
var activeSearchSeed = _a.activeSearchSeed;
|
|
44756
|
+
var context = useContext(SearchResultsConfigurationContext);
|
|
44757
|
+
var dispatch = useDispatch();
|
|
44758
|
+
var _c = useState(false),
|
|
44759
|
+
isLoading = _c[0],
|
|
44760
|
+
setIsLoading = _c[1];
|
|
44761
|
+
var _d = useState(null),
|
|
44762
|
+
excursions = _d[0],
|
|
44763
|
+
setExcursions = _d[1];
|
|
44764
|
+
var _e = useSelector(function (state) {
|
|
44765
|
+
return state.searchResults;
|
|
44766
|
+
}),
|
|
44767
|
+
flyInIsOpen = _e.flyInIsOpen,
|
|
44768
|
+
flyInType = _e.flyInType,
|
|
44769
|
+
excursionSearchParams = _e.excursionSearchParams,
|
|
44770
|
+
transactionId = _e.transactionId;
|
|
44771
|
+
useEffect(
|
|
44772
|
+
function () {
|
|
44773
|
+
if (!context || !activeSearchSeed || !excursionSearchParams) return;
|
|
44774
|
+
(function () {
|
|
44775
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
|
44776
|
+
var config, destination, allPax, searchRequest, packageExcursionSearchResults, err_1;
|
|
44777
|
+
var _a, _b, _c, _d, _e;
|
|
44778
|
+
return __generator(this, function (_f) {
|
|
44779
|
+
switch (_f.label) {
|
|
44780
|
+
case 0:
|
|
44781
|
+
_f.trys.push([0, 2, 3, 4]);
|
|
44782
|
+
setIsLoading(true);
|
|
44783
|
+
console.log('Excursion search params changed, fetching excursions...', excursionSearchParams);
|
|
44784
|
+
config = {
|
|
44785
|
+
host: context.tideConnection.host,
|
|
44786
|
+
apiKey: context.tideConnection.apiKey
|
|
44787
|
+
};
|
|
44788
|
+
destination = excursionSearchParams.locationId
|
|
44789
|
+
? { id: Number(excursionSearchParams.locationId), type: 'location' }
|
|
44790
|
+
: excursionSearchParams.oordId
|
|
44791
|
+
? { id: Number(excursionSearchParams.oordId), type: 'oord' }
|
|
44792
|
+
: excursionSearchParams.regionId
|
|
44793
|
+
? { id: Number(excursionSearchParams.regionId), type: 'region' }
|
|
44794
|
+
: excursionSearchParams.countryId
|
|
44795
|
+
? { id: Number(excursionSearchParams.countryId), type: 'country' }
|
|
44796
|
+
: { id: 0, type: null };
|
|
44797
|
+
allPax = activeSearchSeed.rooms.flatMap(function (room) {
|
|
44798
|
+
return room.pax;
|
|
44799
|
+
});
|
|
44800
|
+
searchRequest = {
|
|
44801
|
+
transactionId: transactionId !== null && transactionId !== void 0 ? transactionId : '',
|
|
44802
|
+
officeId: (_a = context.tideConnection.officeId) !== null && _a !== void 0 ? _a : 1,
|
|
44803
|
+
agentId: (_b = context.agentId) !== null && _b !== void 0 ? _b : null,
|
|
44804
|
+
portalId: (_c = context.portalId) !== null && _c !== void 0 ? _c : null,
|
|
44805
|
+
catalogueId: (_d = context.searchConfiguration.defaultCatalogueId) !== null && _d !== void 0 ? _d : 0,
|
|
44806
|
+
searchConfigurationId: context.searchConfiguration.id,
|
|
44807
|
+
language: (_e = context.languageCode) !== null && _e !== void 0 ? _e : 'en-GB',
|
|
44808
|
+
serviceType: EXCURSION_SERVICE_TYPE,
|
|
44809
|
+
fromDate: excursionSearchParams.fromDate,
|
|
44810
|
+
toDate: excursionSearchParams.toDate,
|
|
44811
|
+
destination: {
|
|
44812
|
+
id: destination.id,
|
|
44813
|
+
isCountry: destination.type === 'country',
|
|
44814
|
+
isRegion: destination.type === 'region',
|
|
44815
|
+
isOord: destination.type === 'oord',
|
|
44816
|
+
isLocation: destination.type === 'location',
|
|
44817
|
+
isAirport: false,
|
|
44818
|
+
code: ''
|
|
44819
|
+
},
|
|
44820
|
+
productCode: '',
|
|
44821
|
+
// rooms: activeSearchSeed.rooms.map((room) => ({
|
|
44822
|
+
// travellers: room.pax.map((pax) => ({
|
|
44823
|
+
// id: pax.id,
|
|
44824
|
+
// age: pax.age,
|
|
44825
|
+
// dateOfBirth: pax.dateOfBirth
|
|
44826
|
+
// }))
|
|
44827
|
+
// })),
|
|
44828
|
+
rooms: [
|
|
44829
|
+
{
|
|
44830
|
+
travellers: allPax.map(function (pax) {
|
|
44831
|
+
return {
|
|
44832
|
+
id: pax.id,
|
|
44833
|
+
age: pax.age,
|
|
44834
|
+
dateOfBirth: pax.dateOfBirth
|
|
44835
|
+
};
|
|
44836
|
+
})
|
|
44837
|
+
}
|
|
44838
|
+
],
|
|
44839
|
+
tagIds: []
|
|
44840
|
+
};
|
|
44841
|
+
return [4 /*yield*/, build.searchPackagingExcursions(config, searchRequest)];
|
|
44842
|
+
case 1:
|
|
44843
|
+
packageExcursionSearchResults = _f.sent();
|
|
44844
|
+
console.log('Excursion search results', packageExcursionSearchResults);
|
|
44845
|
+
setExcursions(packageExcursionSearchResults);
|
|
44846
|
+
return [3 /*break*/, 4];
|
|
44847
|
+
case 2:
|
|
44848
|
+
err_1 = _f.sent();
|
|
44849
|
+
console.error('Excursion search failed', err_1);
|
|
44850
|
+
return [3 /*break*/, 4];
|
|
44851
|
+
case 3:
|
|
44852
|
+
setIsLoading(false);
|
|
44853
|
+
return [7 /*endfinally*/];
|
|
44854
|
+
case 4:
|
|
44855
|
+
return [2 /*return*/];
|
|
44856
|
+
}
|
|
44857
|
+
});
|
|
44858
|
+
});
|
|
44859
|
+
})();
|
|
44860
|
+
},
|
|
44861
|
+
[context, activeSearchSeed, excursionSearchParams, transactionId]
|
|
44862
|
+
);
|
|
44863
|
+
if (!context || !activeSearchSeed) {
|
|
44864
|
+
return null;
|
|
44865
|
+
}
|
|
44866
|
+
if (!flyInIsOpen || flyInType !== 'excursion-results') {
|
|
44867
|
+
return null;
|
|
44868
|
+
}
|
|
44869
|
+
var translations = getTranslations((_b = context.languageCode) !== null && _b !== void 0 ? _b : 'en-GB');
|
|
44870
|
+
var handleChange = function (excursion) {
|
|
44871
|
+
console.log('Selected excursion', excursion);
|
|
44872
|
+
dispatch(setFlyInType('excursion-details'));
|
|
44873
|
+
dispatch(setSelectedExcursionSearchResult(excursion));
|
|
44874
|
+
};
|
|
44875
|
+
return isLoading
|
|
44876
|
+
? React__default.createElement(Spinner, null)
|
|
44877
|
+
: React__default.createElement(
|
|
44878
|
+
'div',
|
|
44879
|
+
{ className: 'flyin__content flyin__content--columns' },
|
|
44880
|
+
React__default.createElement(
|
|
44881
|
+
'div',
|
|
44882
|
+
{ className: 'search__results__wrapper' },
|
|
44883
|
+
React__default.createElement(
|
|
44884
|
+
'div',
|
|
44885
|
+
{ className: 'search__result-row' },
|
|
44886
|
+
React__default.createElement(
|
|
44887
|
+
'span',
|
|
44888
|
+
{ className: 'search__result-row-text' },
|
|
44889
|
+
!isLoading &&
|
|
44890
|
+
React__default.createElement(
|
|
44891
|
+
React__default.Fragment,
|
|
44892
|
+
null,
|
|
44893
|
+
(excursions === null || excursions === void 0 ? void 0 : excursions.length) && excursions.length,
|
|
44894
|
+
'\u00A0',
|
|
44895
|
+
translations.SRP.TOTAL_RESULTS_LABEL
|
|
44896
|
+
)
|
|
44897
|
+
)
|
|
44898
|
+
),
|
|
44899
|
+
React__default.createElement(
|
|
44900
|
+
'div',
|
|
44901
|
+
{ className: 'search__results__cards search__results__cards--compact' },
|
|
44902
|
+
excursions &&
|
|
44903
|
+
excursions.length > 0 &&
|
|
44904
|
+
excursions.map(function (excursion) {
|
|
44905
|
+
return React__default.createElement(
|
|
44906
|
+
'div',
|
|
44907
|
+
{
|
|
44908
|
+
key: excursion.code,
|
|
44909
|
+
className: 'search__result-card__wrapper search__result-card__wrapper--custom',
|
|
44910
|
+
onMouseEnter: function (e) {
|
|
44911
|
+
return (e.currentTarget.style.transform = 'scale(1.02)');
|
|
44912
|
+
},
|
|
44913
|
+
onMouseLeave: function (e) {
|
|
44914
|
+
return (e.currentTarget.style.transform = 'scale(1)');
|
|
44915
|
+
}
|
|
44916
|
+
},
|
|
44917
|
+
excursion.contents
|
|
44918
|
+
? React__default.createElement('div', { dangerouslySetInnerHTML: { __html: he.decode(excursion.contents) } })
|
|
44919
|
+
: 'no contents',
|
|
44920
|
+
React__default.createElement(
|
|
44921
|
+
'div',
|
|
44922
|
+
{ className: 'search__result-card__footer' },
|
|
44923
|
+
React__default.createElement(
|
|
44924
|
+
'button',
|
|
44925
|
+
{
|
|
44926
|
+
type: 'button',
|
|
44927
|
+
className: 'cta cta--select',
|
|
44928
|
+
onClick: function () {
|
|
44929
|
+
return handleChange(excursion);
|
|
44930
|
+
}
|
|
44931
|
+
},
|
|
44932
|
+
translations === null || translations === void 0 ? void 0 : translations.SHARED.SELECT
|
|
44933
|
+
)
|
|
44934
|
+
)
|
|
44935
|
+
);
|
|
44936
|
+
})
|
|
44937
|
+
)
|
|
44938
|
+
)
|
|
44939
|
+
);
|
|
44940
|
+
};
|
|
44941
|
+
|
|
44942
|
+
var formatPrice = function (price, currencyCode) {
|
|
44943
|
+
if (typeof price !== 'number') return '';
|
|
44944
|
+
return new Intl.NumberFormat('nl-BE', {
|
|
44945
|
+
style: 'currency',
|
|
44946
|
+
currency: currencyCode !== null && currencyCode !== void 0 ? currencyCode : 'EUR'
|
|
44947
|
+
}).format(price);
|
|
44948
|
+
};
|
|
44949
|
+
var getExcursionDayKey = function (date) {
|
|
44950
|
+
var parsed = typeof date === 'string' ? parseISO(date) : date;
|
|
44951
|
+
return format$1(parsed, 'yyyy-MM-dd');
|
|
44952
|
+
};
|
|
44953
|
+
var getOptionPaxIds = function (option) {
|
|
44954
|
+
return Array.isArray(option.paxIds)
|
|
44955
|
+
? Array.from(new Set(option.paxIds)).sort(function (a, b) {
|
|
44956
|
+
return a - b;
|
|
44957
|
+
})
|
|
44958
|
+
: [];
|
|
44959
|
+
};
|
|
44960
|
+
var optionAppliesToPax = function (option, paxId) {
|
|
44961
|
+
return getOptionPaxIds(option).includes(paxId);
|
|
44962
|
+
};
|
|
44963
|
+
var optionAppliesToAllTravellers = function (option, travellerCount) {
|
|
44964
|
+
var paxIds = getOptionPaxIds(option);
|
|
44965
|
+
var expected = Array.from({ length: travellerCount }, function (_, i) {
|
|
44966
|
+
return i;
|
|
44967
|
+
});
|
|
44968
|
+
return (
|
|
44969
|
+
paxIds.length === expected.length &&
|
|
44970
|
+
paxIds.every(function (id, index) {
|
|
44971
|
+
return id === expected[index];
|
|
44972
|
+
})
|
|
44973
|
+
);
|
|
44974
|
+
};
|
|
44975
|
+
var groupOptionsByExcursion = function (options) {
|
|
44976
|
+
var groupedMap = new Map();
|
|
44977
|
+
options.forEach(function (option) {
|
|
44978
|
+
var key = option.accommodationCode;
|
|
44979
|
+
if (!groupedMap.has(key)) {
|
|
44980
|
+
groupedMap.set(key, {
|
|
44981
|
+
accommodationCode: option.accommodationCode,
|
|
44982
|
+
accommodationName: option.accommodationName,
|
|
44983
|
+
options: []
|
|
44984
|
+
});
|
|
44985
|
+
}
|
|
44986
|
+
groupedMap.get(key).options.push(option);
|
|
44987
|
+
});
|
|
44988
|
+
return Array.from(groupedMap.values());
|
|
44989
|
+
};
|
|
44990
|
+
var ExcursionDetails = function () {
|
|
44991
|
+
var _a;
|
|
44992
|
+
var context = useContext(SearchResultsConfigurationContext);
|
|
44993
|
+
var dispatch = useDispatch();
|
|
44994
|
+
var _b = useSelector(function (state) {
|
|
44995
|
+
return state.searchResults;
|
|
44996
|
+
}),
|
|
44997
|
+
selectedExcursionSearchResult = _b.selectedExcursionSearchResult,
|
|
44998
|
+
editablePackagingEntry = _b.editablePackagingEntry,
|
|
44999
|
+
excursionSearchParams = _b.excursionSearchParams;
|
|
45000
|
+
if (
|
|
45001
|
+
!context ||
|
|
45002
|
+
!selectedExcursionSearchResult ||
|
|
45003
|
+
!editablePackagingEntry ||
|
|
45004
|
+
!(excursionSearchParams === null || excursionSearchParams === void 0 ? void 0 : excursionSearchParams.date)
|
|
45005
|
+
) {
|
|
45006
|
+
return null;
|
|
45007
|
+
}
|
|
45008
|
+
var translations = getTranslations((_a = context.languageCode) !== null && _a !== void 0 ? _a : 'en-GB');
|
|
45009
|
+
var travellerCount = editablePackagingEntry.pax.length;
|
|
45010
|
+
var allOptions = useMemo(
|
|
45011
|
+
function () {
|
|
45012
|
+
return selectedExcursionSearchResult.rooms.flatMap(function (room) {
|
|
45013
|
+
var _a;
|
|
45014
|
+
return (_a = room.options) !== null && _a !== void 0 ? _a : [];
|
|
45015
|
+
});
|
|
45016
|
+
},
|
|
45017
|
+
[selectedExcursionSearchResult]
|
|
45018
|
+
);
|
|
45019
|
+
var sharedOptions = useMemo(
|
|
45020
|
+
function () {
|
|
45021
|
+
return allOptions.filter(function (option) {
|
|
45022
|
+
return optionAppliesToAllTravellers(option, travellerCount);
|
|
45023
|
+
});
|
|
45024
|
+
},
|
|
45025
|
+
[allOptions, travellerCount]
|
|
45026
|
+
);
|
|
45027
|
+
var sharedExcursions = useMemo(
|
|
45028
|
+
function () {
|
|
45029
|
+
return groupOptionsByExcursion(sharedOptions);
|
|
45030
|
+
},
|
|
45031
|
+
[sharedOptions]
|
|
45032
|
+
);
|
|
45033
|
+
var paxGroups = useMemo(
|
|
45034
|
+
function () {
|
|
45035
|
+
return editablePackagingEntry.pax.map(function (pax) {
|
|
45036
|
+
var paxOptions = allOptions.filter(function (option) {
|
|
45037
|
+
return optionAppliesToPax(option, pax.id) && !optionAppliesToAllTravellers(option, travellerCount);
|
|
45038
|
+
});
|
|
45039
|
+
return {
|
|
45040
|
+
pax: pax,
|
|
45041
|
+
paxId: pax.id,
|
|
45042
|
+
excursions: groupOptionsByExcursion(paxOptions)
|
|
45043
|
+
};
|
|
45044
|
+
});
|
|
45045
|
+
},
|
|
45046
|
+
[editablePackagingEntry.pax, allOptions, travellerCount]
|
|
45047
|
+
);
|
|
45048
|
+
var getSelectedSharedOption = function () {
|
|
45049
|
+
return sharedOptions.find(function (option) {
|
|
45050
|
+
return option.isSelected;
|
|
45051
|
+
});
|
|
45052
|
+
};
|
|
45053
|
+
var getSelectedSharedOptionForExcursion = function (accommodationCode) {
|
|
45054
|
+
return sharedOptions.find(function (option) {
|
|
45055
|
+
return option.accommodationCode === accommodationCode && option.isSelected;
|
|
45056
|
+
});
|
|
45057
|
+
};
|
|
45058
|
+
var getSelectedOptionForPax = function (paxId) {
|
|
45059
|
+
return allOptions.find(function (option) {
|
|
45060
|
+
return optionAppliesToPax(option, paxId) && !optionAppliesToAllTravellers(option, travellerCount) && option.isSelected;
|
|
45061
|
+
});
|
|
45062
|
+
};
|
|
45063
|
+
var getSelectedOptionForExcursion = function (paxId, accommodationCode) {
|
|
45064
|
+
return allOptions.find(function (option) {
|
|
45065
|
+
return (
|
|
45066
|
+
optionAppliesToPax(option, paxId) &&
|
|
45067
|
+
!optionAppliesToAllTravellers(option, travellerCount) &&
|
|
45068
|
+
option.accommodationCode === accommodationCode &&
|
|
45069
|
+
option.isSelected
|
|
45070
|
+
);
|
|
45071
|
+
});
|
|
45072
|
+
};
|
|
45073
|
+
var handlePick = function (selectedGuid, paxId) {
|
|
45074
|
+
var updatedExcursionSearchResult = __assign(__assign({}, selectedExcursionSearchResult), {
|
|
45075
|
+
rooms: selectedExcursionSearchResult.rooms.map(function (room) {
|
|
45076
|
+
return __assign(__assign({}, room), {
|
|
45077
|
+
options: room.options.map(function (option) {
|
|
45078
|
+
var isSharedOption = optionAppliesToAllTravellers(option, travellerCount);
|
|
45079
|
+
if (paxId === undefined) {
|
|
45080
|
+
if (!isSharedOption) {
|
|
45081
|
+
return option;
|
|
45082
|
+
}
|
|
45083
|
+
return __assign(__assign({}, option), { isSelected: option.guid === selectedGuid });
|
|
45084
|
+
}
|
|
45085
|
+
if (isSharedOption || !optionAppliesToPax(option, paxId)) {
|
|
45086
|
+
return option;
|
|
45087
|
+
}
|
|
45088
|
+
return __assign(__assign({}, option), { isSelected: option.guid === selectedGuid });
|
|
45089
|
+
})
|
|
45090
|
+
});
|
|
45091
|
+
})
|
|
45092
|
+
});
|
|
45093
|
+
dispatch(setSelectedExcursionSearchResult(updatedExcursionSearchResult));
|
|
45094
|
+
};
|
|
45095
|
+
var calculateTotalPrice = function () {
|
|
45096
|
+
var selectedOptions = allOptions.filter(function (option) {
|
|
45097
|
+
return option.isSelected;
|
|
45098
|
+
});
|
|
45099
|
+
var totalPrice = selectedOptions.reduce(function (total, option) {
|
|
45100
|
+
return total + (option.price || 0);
|
|
45101
|
+
}, 0);
|
|
45102
|
+
return formatPrice(totalPrice, selectedExcursionSearchResult.currencyCode);
|
|
45103
|
+
};
|
|
45104
|
+
var getSharedPriceDifference = function (accommodationCode) {
|
|
45105
|
+
var currentSelectedShared = getSelectedSharedOption();
|
|
45106
|
+
var targetPrice = 0;
|
|
45107
|
+
var selectedOption = getSelectedSharedOptionForExcursion(accommodationCode);
|
|
45108
|
+
if (selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.price) {
|
|
45109
|
+
targetPrice = selectedOption.price;
|
|
45110
|
+
} else {
|
|
45111
|
+
var firstOption = sharedOptions.find(function (option) {
|
|
45112
|
+
return option.accommodationCode === accommodationCode;
|
|
45113
|
+
});
|
|
45114
|
+
targetPrice = (firstOption === null || firstOption === void 0 ? void 0 : firstOption.price) || 0;
|
|
45115
|
+
}
|
|
45116
|
+
return targetPrice - ((currentSelectedShared === null || currentSelectedShared === void 0 ? void 0 : currentSelectedShared.price) || 0);
|
|
45117
|
+
};
|
|
45118
|
+
var getPriceDifference = function (currentSelectedPrice, paxId, accommodationCode) {
|
|
45119
|
+
var targetPrice = 0;
|
|
45120
|
+
var selectedOption = getSelectedOptionForExcursion(paxId, accommodationCode);
|
|
45121
|
+
if (selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.price) {
|
|
45122
|
+
targetPrice = selectedOption.price;
|
|
45123
|
+
} else {
|
|
45124
|
+
var firstOption = allOptions.find(function (option) {
|
|
45125
|
+
return optionAppliesToPax(option, paxId) && !optionAppliesToAllTravellers(option, travellerCount) && option.accommodationCode === accommodationCode;
|
|
45126
|
+
});
|
|
45127
|
+
targetPrice = (firstOption === null || firstOption === void 0 ? void 0 : firstOption.price) || 0;
|
|
45128
|
+
}
|
|
45129
|
+
return targetPrice - (currentSelectedPrice || 0);
|
|
45130
|
+
};
|
|
45131
|
+
var formatPriceDifference = function (difference, currencyCode) {
|
|
45132
|
+
if (difference === 0) {
|
|
45133
|
+
return null;
|
|
45134
|
+
}
|
|
45135
|
+
var formattedAbsoluteValue = formatPrice(Math.abs(difference), currencyCode);
|
|
45136
|
+
return ''.concat(difference > 0 ? '+' : '-', ' ').concat(formattedAbsoluteValue);
|
|
45137
|
+
};
|
|
45138
|
+
var getPriceDifferenceClassName = function (difference) {
|
|
45139
|
+
if (difference < 0) {
|
|
45140
|
+
return 'flyin__acco__price flyin__acco__price--decrease';
|
|
45141
|
+
}
|
|
45142
|
+
if (difference > 0) {
|
|
45143
|
+
return 'flyin__acco__price flyin__acco__price--increase';
|
|
45144
|
+
}
|
|
45145
|
+
return 'flyin__acco__price';
|
|
45146
|
+
};
|
|
45147
|
+
var handleConfirm = function () {
|
|
45148
|
+
var dayKey = getExcursionDayKey(excursionSearchParams.date);
|
|
45149
|
+
dispatch(
|
|
45150
|
+
confirmExcursionForDay({
|
|
45151
|
+
dayKey: dayKey,
|
|
45152
|
+
excursion: selectedExcursionSearchResult
|
|
45153
|
+
})
|
|
45154
|
+
);
|
|
45155
|
+
dispatch(setFlyInIsOpen(false));
|
|
45156
|
+
};
|
|
45157
|
+
return React__default.createElement(
|
|
45158
|
+
React__default.Fragment,
|
|
45159
|
+
null,
|
|
45160
|
+
React__default.createElement(
|
|
45161
|
+
'div',
|
|
45162
|
+
{ className: 'flyin__content' },
|
|
45163
|
+
sharedExcursions.length > 0 &&
|
|
45164
|
+
React__default.createElement(
|
|
45165
|
+
'div',
|
|
45166
|
+
{ className: 'flyin__acco' },
|
|
45167
|
+
React__default.createElement('h3', { className: 'flyin__acco__room-title' }, translations.QSM.ALL_TRAVELERS),
|
|
45168
|
+
React__default.createElement(
|
|
45169
|
+
'div',
|
|
45170
|
+
{ className: 'flyin__acco__cards' },
|
|
45171
|
+
sharedExcursions.map(function (excursion) {
|
|
45172
|
+
var selectedOption = getSelectedSharedOptionForExcursion(excursion.accommodationCode);
|
|
45173
|
+
var priceDifference = getSharedPriceDifference(excursion.accommodationCode);
|
|
45174
|
+
return React__default.createElement(
|
|
45175
|
+
'div',
|
|
45176
|
+
{ className: 'flyin__acco__card', key: 'all-'.concat(excursion.accommodationCode) },
|
|
45177
|
+
React__default.createElement(
|
|
45178
|
+
'div',
|
|
45179
|
+
{ className: 'flyin__acco__content' },
|
|
45180
|
+
React__default.createElement('h4', { className: 'flyin__acco__title' }, excursion.accommodationName)
|
|
45181
|
+
),
|
|
45182
|
+
React__default.createElement(
|
|
45183
|
+
'div',
|
|
45184
|
+
{ className: 'flyin__acco__footer' },
|
|
45185
|
+
React__default.createElement(
|
|
45186
|
+
'div',
|
|
45187
|
+
{ className: 'flyin__acco__footer__actions' },
|
|
45188
|
+
React__default.createElement(
|
|
45189
|
+
'button',
|
|
45190
|
+
{
|
|
45191
|
+
className: selectedOption ? 'cta cta--select cta--selected' : 'cta cta--select',
|
|
45192
|
+
onClick: function () {
|
|
45193
|
+
var _a;
|
|
45194
|
+
return handlePick(
|
|
45195
|
+
selectedOption ? selectedOption.guid : (_a = first(excursion.options)) === null || _a === void 0 ? void 0 : _a.guid
|
|
45196
|
+
);
|
|
45197
|
+
}
|
|
45198
|
+
},
|
|
45199
|
+
selectedOption
|
|
45200
|
+
? translations === null || translations === void 0
|
|
45201
|
+
? void 0
|
|
45202
|
+
: translations.SHARED.SELECTED
|
|
45203
|
+
: translations === null || translations === void 0
|
|
45204
|
+
? void 0
|
|
45205
|
+
: translations.SHARED.SELECT
|
|
45206
|
+
),
|
|
45207
|
+
React__default.createElement(
|
|
45208
|
+
'div',
|
|
45209
|
+
{ className: 'flyin__acco__price__wrapper' },
|
|
45210
|
+
React__default.createElement(
|
|
45211
|
+
'span',
|
|
45212
|
+
{ className: getPriceDifferenceClassName(priceDifference) },
|
|
45213
|
+
formatPriceDifference(priceDifference, selectedExcursionSearchResult.currencyCode)
|
|
45214
|
+
)
|
|
45215
|
+
)
|
|
45216
|
+
)
|
|
45217
|
+
)
|
|
45218
|
+
);
|
|
45219
|
+
})
|
|
45220
|
+
)
|
|
45221
|
+
),
|
|
45222
|
+
paxGroups.map(function (_a) {
|
|
45223
|
+
var pax = _a.pax,
|
|
45224
|
+
paxId = _a.paxId,
|
|
45225
|
+
excursions = _a.excursions;
|
|
45226
|
+
if (excursions.length === 0) {
|
|
45227
|
+
return null;
|
|
45228
|
+
}
|
|
45229
|
+
var selectedPaxOption = getSelectedOptionForPax(paxId);
|
|
45230
|
+
return React__default.createElement(
|
|
45231
|
+
'div',
|
|
45232
|
+
{ className: 'flyin__acco', key: 'pax-'.concat(pax.id) },
|
|
45233
|
+
React__default.createElement('h3', { className: 'flyin__acco__room-title' }, translations.SUMMARY.TRAVELER, ' ', pax.id + 1),
|
|
45234
|
+
React__default.createElement(
|
|
45235
|
+
'div',
|
|
45236
|
+
{ className: 'flyin__acco__cards' },
|
|
45237
|
+
excursions.map(function (excursion) {
|
|
45238
|
+
var selectedOption = getSelectedOptionForExcursion(paxId, excursion.accommodationCode);
|
|
45239
|
+
var priceDifference = getPriceDifference(
|
|
45240
|
+
selectedPaxOption === null || selectedPaxOption === void 0 ? void 0 : selectedPaxOption.price,
|
|
45241
|
+
paxId,
|
|
45242
|
+
excursion.accommodationCode
|
|
45243
|
+
);
|
|
45244
|
+
return React__default.createElement(
|
|
45245
|
+
'div',
|
|
45246
|
+
{ className: 'flyin__acco__card', key: ''.concat(pax.id, '-').concat(excursion.accommodationCode) },
|
|
45247
|
+
React__default.createElement(
|
|
45248
|
+
'div',
|
|
45249
|
+
{ className: 'flyin__acco__content' },
|
|
45250
|
+
React__default.createElement('h4', { className: 'flyin__acco__title' }, excursion.accommodationName)
|
|
45251
|
+
),
|
|
45252
|
+
React__default.createElement(
|
|
45253
|
+
'div',
|
|
45254
|
+
{ className: 'flyin__acco__footer' },
|
|
45255
|
+
React__default.createElement(
|
|
45256
|
+
'div',
|
|
45257
|
+
{ className: 'flyin__acco__footer__actions' },
|
|
45258
|
+
React__default.createElement(
|
|
45259
|
+
'button',
|
|
45260
|
+
{
|
|
45261
|
+
className:
|
|
45262
|
+
(selectedPaxOption === null || selectedPaxOption === void 0 ? void 0 : selectedPaxOption.accommodationCode) ===
|
|
45263
|
+
excursion.accommodationCode
|
|
45264
|
+
? 'cta cta--select cta--selected'
|
|
45265
|
+
: 'cta cta--select',
|
|
45266
|
+
onClick: function () {
|
|
45267
|
+
var _a;
|
|
45268
|
+
return handlePick(
|
|
45269
|
+
selectedOption ? selectedOption.guid : (_a = first(excursion.options)) === null || _a === void 0 ? void 0 : _a.guid,
|
|
45270
|
+
paxId
|
|
45271
|
+
);
|
|
45272
|
+
}
|
|
45273
|
+
},
|
|
45274
|
+
(selectedPaxOption === null || selectedPaxOption === void 0 ? void 0 : selectedPaxOption.accommodationCode) ===
|
|
45275
|
+
excursion.accommodationCode
|
|
45276
|
+
? translations === null || translations === void 0
|
|
45277
|
+
? void 0
|
|
45278
|
+
: translations.SHARED.SELECTED
|
|
45279
|
+
: translations === null || translations === void 0
|
|
45280
|
+
? void 0
|
|
45281
|
+
: translations.SHARED.SELECT
|
|
45282
|
+
),
|
|
45283
|
+
React__default.createElement(
|
|
45284
|
+
'div',
|
|
45285
|
+
{ className: 'flyin__acco__price__wrapper' },
|
|
45286
|
+
React__default.createElement(
|
|
45287
|
+
'span',
|
|
45288
|
+
{ className: getPriceDifferenceClassName(priceDifference) },
|
|
45289
|
+
formatPriceDifference(priceDifference, selectedExcursionSearchResult.currencyCode)
|
|
45290
|
+
)
|
|
45291
|
+
)
|
|
45292
|
+
)
|
|
45293
|
+
)
|
|
45294
|
+
);
|
|
45295
|
+
})
|
|
45296
|
+
)
|
|
45297
|
+
);
|
|
45298
|
+
})
|
|
45299
|
+
),
|
|
45300
|
+
React__default.createElement(
|
|
45301
|
+
'div',
|
|
45302
|
+
{ className: 'flyin__footer' },
|
|
45303
|
+
React__default.createElement('div', { className: 'flyin__footer__price' }, translations.SHARED.TOTAL_PRICE, ': ', calculateTotalPrice()),
|
|
45304
|
+
React__default.createElement(
|
|
45305
|
+
'button',
|
|
45306
|
+
{ type: 'button', className: 'cta cta--primary', onClick: handleConfirm },
|
|
45307
|
+
translations === null || translations === void 0 ? void 0 : translations.QSM.CONFIRM
|
|
45308
|
+
)
|
|
45309
|
+
)
|
|
45310
|
+
);
|
|
45311
|
+
};
|
|
45312
|
+
|
|
44541
45313
|
var FlyIn = function (_a) {
|
|
44542
45314
|
var _b;
|
|
44543
45315
|
var srpType = _a.srpType,
|
|
@@ -44550,7 +45322,8 @@ var FlyIn = function (_a) {
|
|
|
44550
45322
|
flyInType = _a.flyInType,
|
|
44551
45323
|
isPackageEditFlow = _a.isPackageEditFlow,
|
|
44552
45324
|
handleConfirm = _a.handleConfirm,
|
|
44553
|
-
sortByTypes = _a.sortByTypes
|
|
45325
|
+
sortByTypes = _a.sortByTypes,
|
|
45326
|
+
activeSearchSeed = _a.activeSearchSeed;
|
|
44554
45327
|
var dispatch = useDispatch();
|
|
44555
45328
|
var context = useContext(SearchResultsConfigurationContext);
|
|
44556
45329
|
var language = (_b = context === null || context === void 0 ? void 0 : context.languageCode) !== null && _b !== void 0 ? _b : 'en-GB';
|
|
@@ -44608,14 +45381,17 @@ var FlyIn = function (_a) {
|
|
|
44608
45381
|
onCancelSearch();
|
|
44609
45382
|
} else {
|
|
44610
45383
|
dispatch(setSelectedSearchResult(null));
|
|
44611
|
-
dispatch(setSelectedPackagingAccoResult(null));
|
|
44612
45384
|
}
|
|
44613
45385
|
dispatch(setFlyInType('acco-details'));
|
|
44614
45386
|
setIsOpen(false);
|
|
44615
45387
|
}
|
|
44616
45388
|
};
|
|
44617
45389
|
var handleGoBack = function () {
|
|
44618
|
-
|
|
45390
|
+
if (flyInType === 'acco-details') {
|
|
45391
|
+
dispatch(setFlyInType('acco-results'));
|
|
45392
|
+
} else if (flyInType === 'excursion-details') {
|
|
45393
|
+
dispatch(setFlyInType('excursion-results'));
|
|
45394
|
+
}
|
|
44619
45395
|
};
|
|
44620
45396
|
var handleSortChange = function (newSortKey, direction) {
|
|
44621
45397
|
if (sortByTypes === undefined) return;
|
|
@@ -44659,7 +45435,8 @@ var FlyIn = function (_a) {
|
|
|
44659
45435
|
srpType === build.PortalQsmType.AccommodationAndFlight &&
|
|
44660
45436
|
flyInType === 'flight-return-results' &&
|
|
44661
45437
|
''.concat(translations.SRP.SELECT, ' ').concat(translations.FLIGHTS_FORM.RETURN_FLIGHT),
|
|
44662
|
-
srpType === build.PortalQsmType.AccommodationAndFlight && flyInType === 'flight-details' && 'Select your fare'
|
|
45438
|
+
srpType === build.PortalQsmType.AccommodationAndFlight && flyInType === 'flight-details' && 'Select your fare',
|
|
45439
|
+
flyInType === 'excursion-results' || (flyInType === 'excursion-details' && 'Select excursion')
|
|
44663
45440
|
),
|
|
44664
45441
|
React__default.createElement(
|
|
44665
45442
|
'span',
|
|
@@ -44672,8 +45449,7 @@ var FlyIn = function (_a) {
|
|
|
44672
45449
|
React__default.createElement(Icon, { name: 'ui-close', width: 30, height: 30, 'aria-hidden': 'true' })
|
|
44673
45450
|
)
|
|
44674
45451
|
),
|
|
44675
|
-
isPackageEditFlow &&
|
|
44676
|
-
flyInType === 'acco-details' &&
|
|
45452
|
+
((isPackageEditFlow && flyInType === 'acco-details') || flyInType === 'excursion-details') &&
|
|
44677
45453
|
React__default.createElement(
|
|
44678
45454
|
'div',
|
|
44679
45455
|
{ className: 'flyin__content-title-row' },
|
|
@@ -44754,6 +45530,10 @@ var FlyIn = function (_a) {
|
|
|
44754
45530
|
srpType === build.PortalQsmType.AccommodationAndFlight &&
|
|
44755
45531
|
(flyInType === 'flight-outward-results' || flyInType === 'flight-return-results') &&
|
|
44756
45532
|
React__default.createElement(PackageingFlightsFlyIn, { isOpen: isOpen, setIsOpen: setIsOpen }),
|
|
45533
|
+
srpType === build.PortalQsmType.AccommodationAndFlight &&
|
|
45534
|
+
flyInType === 'excursion-results' &&
|
|
45535
|
+
React__default.createElement(ExcursionResults, { isFlyIn: true, activeSearchSeed: activeSearchSeed }),
|
|
45536
|
+
srpType === build.PortalQsmType.AccommodationAndFlight && flyInType === 'excursion-details' && React__default.createElement(ExcursionDetails, null),
|
|
44757
45537
|
srpType === build.PortalQsmType.GroupTour &&
|
|
44758
45538
|
React__default.createElement(GroupTourFlyIn, { isLoading: detailsLoading, isOpen: isOpen, setIsOpen: setIsOpen })
|
|
44759
45539
|
)
|
|
@@ -45100,7 +45880,7 @@ var PairedFlightOption = function (_a) {
|
|
|
45100
45880
|
React__default.createElement(
|
|
45101
45881
|
'span',
|
|
45102
45882
|
{ className: 'price' },
|
|
45103
|
-
formatPrice$
|
|
45883
|
+
formatPrice$3(
|
|
45104
45884
|
item.price,
|
|
45105
45885
|
'EUR',
|
|
45106
45886
|
(_c = context === null || context === void 0 ? void 0 : context.languageCode) !== null && _c !== void 0 ? _c : 'en-GB'
|
|
@@ -46902,7 +47682,7 @@ var GroupTourCard = function (_a) {
|
|
|
46902
47682
|
React__default.createElement(
|
|
46903
47683
|
'div',
|
|
46904
47684
|
{ className: 'search__result-card__allotment__price' },
|
|
46905
|
-
formatPrice$
|
|
47685
|
+
formatPrice$3(result.price, result.currencyCode, languageCode),
|
|
46906
47686
|
' ',
|
|
46907
47687
|
translations.PRODUCT.PER_PERSON
|
|
46908
47688
|
)
|
|
@@ -47684,33 +48464,98 @@ var getRequestRoomsFromPackagingSegments = function (entry, segments) {
|
|
|
47684
48464
|
});
|
|
47685
48465
|
};
|
|
47686
48466
|
|
|
47687
|
-
var formatNodeDate = function (date) {
|
|
47688
|
-
if (!date) return '';
|
|
47689
|
-
try {
|
|
47690
|
-
return new Intl.DateTimeFormat('nl-BE', {
|
|
47691
|
-
weekday: 'long',
|
|
47692
|
-
day: '2-digit',
|
|
47693
|
-
month: '2-digit',
|
|
47694
|
-
year: 'numeric'
|
|
47695
|
-
}).format(date);
|
|
47696
|
-
} catch (_a) {
|
|
47697
|
-
return '';
|
|
47698
|
-
}
|
|
47699
|
-
};
|
|
47700
48467
|
var escapeHtml = function (value) {
|
|
47701
48468
|
if (!value) return '';
|
|
47702
48469
|
return value.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"').replace(/'/g, ''');
|
|
47703
48470
|
};
|
|
47704
|
-
var
|
|
48471
|
+
var getNodeDayRange = function (node) {
|
|
48472
|
+
var _a, _b;
|
|
48473
|
+
var startDay = Number((_a = node.startDay) !== null && _a !== void 0 ? _a : 0);
|
|
48474
|
+
var endDay = Number((_b = node.endDay) !== null && _b !== void 0 ? _b : startDay);
|
|
48475
|
+
return { startDay: startDay, endDay: endDay };
|
|
48476
|
+
};
|
|
48477
|
+
var getItemDuration = function (item) {
|
|
48478
|
+
var _a;
|
|
48479
|
+
var duration = Number((_a = item.productDuration) !== null && _a !== void 0 ? _a : 0);
|
|
48480
|
+
return Number.isFinite(duration) && duration > 0 ? duration : 0;
|
|
48481
|
+
};
|
|
48482
|
+
var isAccommodationItem = function (item) {
|
|
48483
|
+
var _a;
|
|
48484
|
+
return getItemDuration(item) > 1 && ((_a = item.templateName) === null || _a === void 0 ? void 0 : _a.toLowerCase().includes('hotel'));
|
|
48485
|
+
};
|
|
48486
|
+
var getAccommodationName = function (item) {
|
|
48487
|
+
return item.title || 'Onbekende accommodatie';
|
|
48488
|
+
};
|
|
48489
|
+
var getItemDeduplicationKey = function (item) {
|
|
48490
|
+
var _a;
|
|
48491
|
+
(_a = item.templateName) === null || _a === void 0 ? void 0 : _a.toLowerCase();
|
|
48492
|
+
// if (templateName === 'hotel') {
|
|
48493
|
+
// return [item.templateName, item.productCode, item.accommodationCode, item.regimeCode].filter(Boolean).join('|');
|
|
48494
|
+
// }
|
|
48495
|
+
// if (templateName === 'excursion') {
|
|
48496
|
+
// return [item.templateName, item.productCode].filter(Boolean).join('|');
|
|
48497
|
+
// }
|
|
48498
|
+
return [item.templateName, item.productCode, item.title].filter(Boolean).join('|');
|
|
48499
|
+
};
|
|
48500
|
+
var getUniqueItems = function (items) {
|
|
48501
|
+
if (items === void 0) {
|
|
48502
|
+
items = [];
|
|
48503
|
+
}
|
|
48504
|
+
var seen = new Set();
|
|
48505
|
+
return items.filter(function (item) {
|
|
48506
|
+
var key = getItemDeduplicationKey(item) || item.itemGuid;
|
|
48507
|
+
if (seen.has(key)) {
|
|
48508
|
+
return false;
|
|
48509
|
+
}
|
|
48510
|
+
seen.add(key);
|
|
48511
|
+
return true;
|
|
48512
|
+
});
|
|
48513
|
+
};
|
|
48514
|
+
var findAccommodationForDay = function (nodes, currentDay) {
|
|
48515
|
+
var _a;
|
|
48516
|
+
for (var _i = 0, _b = nodes !== null && nodes !== void 0 ? nodes : []; _i < _b.length; _i++) {
|
|
48517
|
+
var node = _b[_i];
|
|
48518
|
+
var startDay = getNodeDayRange(node).startDay;
|
|
48519
|
+
var uniqueItems = getUniqueItems((_a = node.items) !== null && _a !== void 0 ? _a : []);
|
|
48520
|
+
for (var _c = 0, uniqueItems_1 = uniqueItems; _c < uniqueItems_1.length; _c++) {
|
|
48521
|
+
var item = uniqueItems_1[_c];
|
|
48522
|
+
if (!isAccommodationItem(item)) {
|
|
48523
|
+
continue;
|
|
48524
|
+
}
|
|
48525
|
+
var duration = getItemDuration(item);
|
|
48526
|
+
var accommodationEndDay = startDay + duration - 1;
|
|
48527
|
+
if (currentDay >= startDay && currentDay <= accommodationEndDay) {
|
|
48528
|
+
return item;
|
|
48529
|
+
}
|
|
48530
|
+
}
|
|
48531
|
+
}
|
|
48532
|
+
return null;
|
|
48533
|
+
};
|
|
48534
|
+
var buildItineraryHtml = function (itinerary, translations) {
|
|
47705
48535
|
var _a;
|
|
47706
48536
|
if (!itinerary) {
|
|
47707
48537
|
return '\n <div class="itinerary-shell">\n <div class="itinerary-empty">Geen reisroute beschikbaar.</div>\n </div>\n ';
|
|
47708
48538
|
}
|
|
47709
|
-
var
|
|
48539
|
+
var allNodes = (_a = itinerary.nodes) !== null && _a !== void 0 ? _a : [];
|
|
48540
|
+
var nodesHtml = allNodes
|
|
47710
48541
|
.map(function (node) {
|
|
47711
|
-
var
|
|
48542
|
+
var _a;
|
|
48543
|
+
var startDay = getNodeDayRange(node).startDay;
|
|
48544
|
+
var day = node.startDate ? format$1(node.startDate, 'd') : null;
|
|
48545
|
+
var month = node.startDate ? format$1(node.startDate, 'MMM') : null;
|
|
48546
|
+
var uniqueItems = getUniqueItems((_a = node.items) !== null && _a !== void 0 ? _a : []);
|
|
48547
|
+
var hasItems = uniqueItems.length > 0;
|
|
48548
|
+
var hasAccommodationInCurrentNode = uniqueItems.some(isAccommodationItem);
|
|
48549
|
+
var activeAccommodation = findAccommodationForDay(allNodes, startDay);
|
|
48550
|
+
var accommodationBanner =
|
|
48551
|
+
!hasAccommodationInCurrentNode && activeAccommodation
|
|
48552
|
+
? '\n <div class="itinerary-node__accommodation-banner">\n Accommodatie voor deze dag: <strong>'.concat(
|
|
48553
|
+
escapeHtml(getAccommodationName(activeAccommodation)),
|
|
48554
|
+
'</strong>\n </div>\n '
|
|
48555
|
+
)
|
|
48556
|
+
: '';
|
|
47712
48557
|
var itemsHtml = hasItems
|
|
47713
|
-
?
|
|
48558
|
+
? uniqueItems
|
|
47714
48559
|
.map(function (item) {
|
|
47715
48560
|
var _a;
|
|
47716
48561
|
return '\n <article class="itinerary-item" data-template="'
|
|
@@ -47718,25 +48563,19 @@ var buildItineraryHtml = function (itinerary) {
|
|
|
47718
48563
|
.concat((_a = item.contents) !== null && _a !== void 0 ? _a : '', '\n </article>\n ');
|
|
47719
48564
|
})
|
|
47720
48565
|
.join('')
|
|
47721
|
-
: '<div class="itinerary-node__empty">
|
|
47722
|
-
return '\n <section class="itinerary-node">\n <header class="itinerary-node__header">\n <div class="itinerary-node__day">
|
|
47723
|
-
.concat(
|
|
47724
|
-
.concat(
|
|
47725
|
-
|
|
47726
|
-
|
|
47727
|
-
)
|
|
47728
|
-
.concat(escapeHtml(node.title), '</h2>\n <div class="itinerary-node__date">')
|
|
47729
|
-
.concat(
|
|
47730
|
-
escapeHtml(formatNodeDate(node.startDate)),
|
|
47731
|
-
'</div>\n </div>\n </header>\n\n <div class="itinerary-node__content">\n '
|
|
47732
|
-
)
|
|
48566
|
+
: '<div class="itinerary-node__empty">'.concat(translations.ITINERARY.NO_ITEMS, '</div>');
|
|
48567
|
+
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">'
|
|
48568
|
+
.concat(day, '</p>\n <p class="itinerary-node__day-month">')
|
|
48569
|
+
.concat(month, '</p>\n </div>\n\n <div>\n <h2 class="itinerary-node__title">')
|
|
48570
|
+
.concat(escapeHtml(node.title), '</h2>\n </div>\n </header>\n\n <div class="itinerary-node__content">\n ')
|
|
48571
|
+
.concat(accommodationBanner, '\n ')
|
|
47733
48572
|
.concat(itemsHtml, '\n </div>\n </section>\n ');
|
|
47734
48573
|
})
|
|
47735
48574
|
.join('');
|
|
47736
48575
|
var defaultItemsHtml =
|
|
47737
48576
|
itinerary.defaultItems && itinerary.defaultItems.length > 0
|
|
47738
48577
|
? '\n <section class="itinerary-default-items">\n <h2 class="itinerary-default-items__title">Algemene info</h2>\n '.concat(
|
|
47739
|
-
itinerary.defaultItems
|
|
48578
|
+
getUniqueItems(itinerary.defaultItems)
|
|
47740
48579
|
.map(function (item) {
|
|
47741
48580
|
var _a;
|
|
47742
48581
|
return '\n <article class="itinerary-item" data-template="'
|
|
@@ -47758,42 +48597,264 @@ var buildItineraryHtml = function (itinerary) {
|
|
|
47758
48597
|
.concat(defaultItemsHtml, '\n </div>\n </div>\n ');
|
|
47759
48598
|
};
|
|
47760
48599
|
var FullItinerary = function (_a) {
|
|
48600
|
+
var _b;
|
|
47761
48601
|
var isLoading = _a.isLoading;
|
|
47762
|
-
if (isLoading) {
|
|
47763
|
-
return React__default.createElement(Spinner, null);
|
|
47764
|
-
}
|
|
47765
48602
|
var itinerary = useSelector(function (state) {
|
|
47766
48603
|
return state.searchResults;
|
|
47767
48604
|
}).itinerary;
|
|
48605
|
+
var context = useContext(SearchResultsConfigurationContext);
|
|
48606
|
+
var translations = getTranslations((_b = context === null || context === void 0 ? void 0 : context.languageCode) !== null && _b !== void 0 ? _b : 'en-GB');
|
|
47768
48607
|
var hostRef = useRef(null);
|
|
47769
48608
|
var shadowRootRef = useRef(null);
|
|
47770
48609
|
var html = useMemo(
|
|
47771
48610
|
function () {
|
|
47772
|
-
return buildItineraryHtml(itinerary);
|
|
48611
|
+
return buildItineraryHtml(itinerary, translations);
|
|
47773
48612
|
},
|
|
47774
|
-
[itinerary]
|
|
48613
|
+
[itinerary, translations]
|
|
47775
48614
|
);
|
|
47776
48615
|
useEffect(
|
|
47777
48616
|
function () {
|
|
47778
|
-
var _a;
|
|
47779
|
-
if (
|
|
48617
|
+
var _a, _b;
|
|
48618
|
+
if (isLoading) {
|
|
47780
48619
|
return;
|
|
47781
48620
|
}
|
|
47782
|
-
|
|
47783
|
-
|
|
48621
|
+
var host = hostRef.current;
|
|
48622
|
+
if (!host) {
|
|
48623
|
+
return;
|
|
47784
48624
|
}
|
|
47785
|
-
var shadowRoot =
|
|
48625
|
+
var shadowRoot = (_a = host.shadowRoot) !== null && _a !== void 0 ? _a : host.attachShadow({ mode: 'open' });
|
|
48626
|
+
shadowRootRef.current = shadowRoot;
|
|
47786
48627
|
shadowRoot.innerHTML =
|
|
47787
|
-
"\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:
|
|
48628
|
+
"\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 "
|
|
47788
48629
|
.concat(
|
|
47789
|
-
(
|
|
48630
|
+
(_b = itinerary === null || itinerary === void 0 ? void 0 : itinerary.styleSheetBody) !== null && _b !== void 0 ? _b : '',
|
|
47790
48631
|
'\n </style>\n\n '
|
|
47791
48632
|
)
|
|
47792
48633
|
.concat(html, '\n ');
|
|
47793
48634
|
},
|
|
47794
|
-
[html, itinerary === null || itinerary === void 0 ? void 0 : itinerary.styleSheetBody]
|
|
48635
|
+
[html, itinerary === null || itinerary === void 0 ? void 0 : itinerary.styleSheetBody, isLoading]
|
|
48636
|
+
);
|
|
48637
|
+
return React__default.createElement(
|
|
48638
|
+
React__default.Fragment,
|
|
48639
|
+
null,
|
|
48640
|
+
isLoading && React__default.createElement(Spinner, null),
|
|
48641
|
+
React__default.createElement('div', { ref: hostRef, style: { display: isLoading ? 'none' : 'block' } })
|
|
48642
|
+
);
|
|
48643
|
+
};
|
|
48644
|
+
|
|
48645
|
+
var getExcursionContentWithUpdatedPrice = function (contents, totalPrice, currencyCode) {
|
|
48646
|
+
if (!contents) return '';
|
|
48647
|
+
var decodedHtml = he.decode(contents);
|
|
48648
|
+
var parser = new DOMParser();
|
|
48649
|
+
var doc = parser.parseFromString(decodedHtml, 'text/html');
|
|
48650
|
+
var priceElement = doc.querySelector('[data-excursion-price]');
|
|
48651
|
+
if (priceElement) {
|
|
48652
|
+
priceElement.textContent = new Intl.NumberFormat('nl-BE', {
|
|
48653
|
+
style: 'currency',
|
|
48654
|
+
currency: currencyCode !== null && currencyCode !== void 0 ? currencyCode : 'EUR'
|
|
48655
|
+
}).format(totalPrice);
|
|
48656
|
+
}
|
|
48657
|
+
return doc.body.innerHTML;
|
|
48658
|
+
};
|
|
48659
|
+
var DayByDayExcursions = function () {
|
|
48660
|
+
var _a;
|
|
48661
|
+
var context = useContext(SearchResultsConfigurationContext);
|
|
48662
|
+
var translations = getTranslations((_a = context === null || context === void 0 ? void 0 : context.languageCode) !== null && _a !== void 0 ? _a : 'en-GB');
|
|
48663
|
+
var dispatch = useDispatch();
|
|
48664
|
+
var confirmedExcursionsByDay = useSelector(function (state) {
|
|
48665
|
+
return state.searchResults;
|
|
48666
|
+
}).confirmedExcursionsByDay;
|
|
48667
|
+
var selectedPackagingAccoResult = useSelector(selectSelectedPackagingAccoResult);
|
|
48668
|
+
var stayDates = useMemo(
|
|
48669
|
+
function () {
|
|
48670
|
+
if (
|
|
48671
|
+
!(selectedPackagingAccoResult === null || selectedPackagingAccoResult === void 0 ? void 0 : selectedPackagingAccoResult.fromDate) ||
|
|
48672
|
+
!(selectedPackagingAccoResult === null || selectedPackagingAccoResult === void 0 ? void 0 : selectedPackagingAccoResult.toDate)
|
|
48673
|
+
) {
|
|
48674
|
+
return [];
|
|
48675
|
+
}
|
|
48676
|
+
return getDatesBetween(selectedPackagingAccoResult.fromDate, selectedPackagingAccoResult.toDate);
|
|
48677
|
+
},
|
|
48678
|
+
[
|
|
48679
|
+
selectedPackagingAccoResult === null || selectedPackagingAccoResult === void 0 ? void 0 : selectedPackagingAccoResult.fromDate,
|
|
48680
|
+
selectedPackagingAccoResult === null || selectedPackagingAccoResult === void 0 ? void 0 : selectedPackagingAccoResult.toDate
|
|
48681
|
+
]
|
|
48682
|
+
);
|
|
48683
|
+
var handleSearchExcursions = function (day) {
|
|
48684
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
|
|
48685
|
+
if (!selectedPackagingAccoResult) {
|
|
48686
|
+
return;
|
|
48687
|
+
}
|
|
48688
|
+
var searchParams = {
|
|
48689
|
+
date: day.toISOString(),
|
|
48690
|
+
fromDate: day.toISOString(),
|
|
48691
|
+
toDate: day.toISOString(),
|
|
48692
|
+
countryId: selectedPackagingAccoResult.countryId,
|
|
48693
|
+
regionId: selectedPackagingAccoResult.regionId,
|
|
48694
|
+
oordId: selectedPackagingAccoResult.oordId,
|
|
48695
|
+
locationId: selectedPackagingAccoResult.locationId,
|
|
48696
|
+
locationName: selectedPackagingAccoResult.locationName,
|
|
48697
|
+
accommodationCode:
|
|
48698
|
+
(_e =
|
|
48699
|
+
(_d =
|
|
48700
|
+
(_c =
|
|
48701
|
+
(_b = (_a = selectedPackagingAccoResult.rooms) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.options) ===
|
|
48702
|
+
null || _c === void 0
|
|
48703
|
+
? void 0
|
|
48704
|
+
: _c.find(function (option) {
|
|
48705
|
+
return option.isSelected;
|
|
48706
|
+
})) === null || _d === void 0
|
|
48707
|
+
? void 0
|
|
48708
|
+
: _d.accommodationCode) !== null && _e !== void 0
|
|
48709
|
+
? _e
|
|
48710
|
+
: null,
|
|
48711
|
+
accommodationName:
|
|
48712
|
+
(_k =
|
|
48713
|
+
(_j =
|
|
48714
|
+
(_h =
|
|
48715
|
+
(_g = (_f = selectedPackagingAccoResult.rooms) === null || _f === void 0 ? void 0 : _f[0]) === null || _g === void 0 ? void 0 : _g.options) ===
|
|
48716
|
+
null || _h === void 0
|
|
48717
|
+
? void 0
|
|
48718
|
+
: _h.find(function (option) {
|
|
48719
|
+
return option.isSelected;
|
|
48720
|
+
})) === null || _j === void 0
|
|
48721
|
+
? void 0
|
|
48722
|
+
: _j.accommodationName) !== null && _k !== void 0
|
|
48723
|
+
? _k
|
|
48724
|
+
: null,
|
|
48725
|
+
hotelCode: selectedPackagingAccoResult.code,
|
|
48726
|
+
hotelName: selectedPackagingAccoResult.name,
|
|
48727
|
+
rooms:
|
|
48728
|
+
(_l = selectedPackagingAccoResult === null || selectedPackagingAccoResult === void 0 ? void 0 : selectedPackagingAccoResult.rooms) !== null &&
|
|
48729
|
+
_l !== void 0
|
|
48730
|
+
? _l
|
|
48731
|
+
: []
|
|
48732
|
+
};
|
|
48733
|
+
dispatch(setExcursionSearchParams(searchParams));
|
|
48734
|
+
dispatch(setFlyInIsOpen(true));
|
|
48735
|
+
dispatch(setFlyInType('excursion-results'));
|
|
48736
|
+
};
|
|
48737
|
+
var getSelectedOptionsSummary = function (excursion) {
|
|
48738
|
+
var options = excursion.rooms.flatMap(function (room) {
|
|
48739
|
+
var _a;
|
|
48740
|
+
return (_a = room.options) !== null && _a !== void 0 ? _a : [];
|
|
48741
|
+
});
|
|
48742
|
+
return options.filter(function (option) {
|
|
48743
|
+
return option.isSelected;
|
|
48744
|
+
});
|
|
48745
|
+
};
|
|
48746
|
+
if (!selectedPackagingAccoResult || stayDates.length === 0) {
|
|
48747
|
+
return null;
|
|
48748
|
+
}
|
|
48749
|
+
return React__default.createElement(
|
|
48750
|
+
React__default.Fragment,
|
|
48751
|
+
null,
|
|
48752
|
+
stayDates.map(function (day) {
|
|
48753
|
+
var _a;
|
|
48754
|
+
var dayKey = format$1(day, 'yyyy-MM-dd');
|
|
48755
|
+
var formattedDay = format$1(day, 'd');
|
|
48756
|
+
var formattedMonth = format$1(day, 'MMM');
|
|
48757
|
+
var confirmedExcursions = (_a = confirmedExcursionsByDay[dayKey]) !== null && _a !== void 0 ? _a : [];
|
|
48758
|
+
return React__default.createElement(
|
|
48759
|
+
React__default.Fragment,
|
|
48760
|
+
{ key: dayKey },
|
|
48761
|
+
React__default.createElement(
|
|
48762
|
+
'div',
|
|
48763
|
+
{ className: 'search__results__label search__results__label--secondary' },
|
|
48764
|
+
React__default.createElement(
|
|
48765
|
+
'div',
|
|
48766
|
+
{ className: 'search__results__label__date' },
|
|
48767
|
+
React__default.createElement('p', { className: 'search__results__label__date-date' }, formattedDay),
|
|
48768
|
+
React__default.createElement('p', null, formattedMonth)
|
|
48769
|
+
),
|
|
48770
|
+
React__default.createElement(
|
|
48771
|
+
'div',
|
|
48772
|
+
{ className: 'search__results__label__text' },
|
|
48773
|
+
React__default.createElement('h3', null, translations.SRP.SELECT, ' ', React__default.createElement('strong', null, translations.SRP.EXCURSION))
|
|
48774
|
+
)
|
|
48775
|
+
),
|
|
48776
|
+
React__default.createElement(
|
|
48777
|
+
'div',
|
|
48778
|
+
{ className: 'search__results__cards__actions' },
|
|
48779
|
+
React__default.createElement('span', null, 'Accommodation for this day: ', selectedPackagingAccoResult.name),
|
|
48780
|
+
React__default.createElement(
|
|
48781
|
+
'button',
|
|
48782
|
+
{
|
|
48783
|
+
type: 'button',
|
|
48784
|
+
className: 'cta cta--secondary',
|
|
48785
|
+
onClick: function () {
|
|
48786
|
+
return handleSearchExcursions(day);
|
|
48787
|
+
}
|
|
48788
|
+
},
|
|
48789
|
+
confirmedExcursions.length > 0 ? 'Add another excursion' : ''.concat(translations.SRP.SELECT, ' ').concat(translations.SRP.EXCURSION)
|
|
48790
|
+
)
|
|
48791
|
+
),
|
|
48792
|
+
React__default.createElement(
|
|
48793
|
+
'div',
|
|
48794
|
+
{ className: 'search__results__cards search__results__cards--compact' },
|
|
48795
|
+
confirmedExcursions &&
|
|
48796
|
+
confirmedExcursions.length > 0 &&
|
|
48797
|
+
confirmedExcursions.map(function (excursion) {
|
|
48798
|
+
var selectedOptions = getSelectedOptionsSummary(excursion);
|
|
48799
|
+
var totalPrice = selectedOptions.reduce(function (sum, option) {
|
|
48800
|
+
return sum + (option.price || 0);
|
|
48801
|
+
}, 0);
|
|
48802
|
+
var updatedContents = getExcursionContentWithUpdatedPrice(excursion.contents, totalPrice, excursion.currencyCode);
|
|
48803
|
+
return React__default.createElement(
|
|
48804
|
+
'div',
|
|
48805
|
+
{
|
|
48806
|
+
key: excursion.code,
|
|
48807
|
+
className: 'search__result-card__wrapper search__result-card__wrapper--custom',
|
|
48808
|
+
onMouseEnter: function (e) {
|
|
48809
|
+
return (e.currentTarget.style.transform = 'scale(1.02)');
|
|
48810
|
+
},
|
|
48811
|
+
onMouseLeave: function (e) {
|
|
48812
|
+
return (e.currentTarget.style.transform = 'scale(1)');
|
|
48813
|
+
}
|
|
48814
|
+
},
|
|
48815
|
+
React__default.createElement('div', { dangerouslySetInnerHTML: { __html: updatedContents } }),
|
|
48816
|
+
React__default.createElement(
|
|
48817
|
+
'div',
|
|
48818
|
+
{ className: 'search__result-card__content--extra' },
|
|
48819
|
+
React__default.createElement(
|
|
48820
|
+
'div',
|
|
48821
|
+
{ className: 'search__result-card__content__wrapper' },
|
|
48822
|
+
React__default.createElement(
|
|
48823
|
+
'div',
|
|
48824
|
+
{ className: 'search__result-card__options' },
|
|
48825
|
+
selectedOptions.length > 0 &&
|
|
48826
|
+
selectedOptions.map(function (option) {
|
|
48827
|
+
return React__default.createElement(
|
|
48828
|
+
'div',
|
|
48829
|
+
{ className: 'search__result-card__option', key: option.guid },
|
|
48830
|
+
React__default.createElement(Icon$1, { name: 'ui-ticket', width: 14, height: 14, 'aria-hidden': 'true' }),
|
|
48831
|
+
React__default.createElement('span', null, option.accommodationName)
|
|
48832
|
+
);
|
|
48833
|
+
})
|
|
48834
|
+
)
|
|
48835
|
+
)
|
|
48836
|
+
),
|
|
48837
|
+
React__default.createElement(
|
|
48838
|
+
'div',
|
|
48839
|
+
{ className: 'search__result-card__footer' },
|
|
48840
|
+
React__default.createElement(
|
|
48841
|
+
'button',
|
|
48842
|
+
{
|
|
48843
|
+
type: 'button',
|
|
48844
|
+
className: 'cta cta--remove',
|
|
48845
|
+
onClick: function () {
|
|
48846
|
+
return dispatch(removeConfirmedExcursionForDay({ dayKey: dayKey, excursionCode: excursion.code }));
|
|
48847
|
+
}
|
|
48848
|
+
},
|
|
48849
|
+
'Remove'
|
|
48850
|
+
)
|
|
48851
|
+
)
|
|
48852
|
+
);
|
|
48853
|
+
})
|
|
48854
|
+
)
|
|
48855
|
+
);
|
|
48856
|
+
})
|
|
47795
48857
|
);
|
|
47796
|
-
return React__default.createElement('div', { ref: hostRef });
|
|
47797
48858
|
};
|
|
47798
48859
|
|
|
47799
48860
|
var SearchResultsContainer = function () {
|
|
@@ -47822,9 +48883,10 @@ var SearchResultsContainer = function () {
|
|
|
47822
48883
|
packagingAccoSearchDetails = _c.packagingAccoSearchDetails,
|
|
47823
48884
|
editablePackagingEntry = _c.editablePackagingEntry,
|
|
47824
48885
|
transactionId = _c.transactionId,
|
|
47825
|
-
flyInType = _c.flyInType
|
|
47826
|
-
|
|
47827
|
-
|
|
48886
|
+
flyInType = _c.flyInType;
|
|
48887
|
+
_c.itinerary;
|
|
48888
|
+
var packagingFlightResults = _c.packagingFlightResults,
|
|
48889
|
+
confirmedExcursionsByDay = _c.confirmedExcursionsByDay;
|
|
47828
48890
|
var isMobile = useMediaQuery('(max-width: 1200px)');
|
|
47829
48891
|
var _d = useState(false),
|
|
47830
48892
|
initialFiltersSet = _d[0],
|
|
@@ -48992,6 +50054,7 @@ var SearchResultsContainer = function () {
|
|
|
48992
50054
|
selectedHotelCode: selectedPackagingAccoResultCode,
|
|
48993
50055
|
accommodationResults: packagingAccoResults,
|
|
48994
50056
|
selectedFlight: selectedCombinationFlight !== null && selectedCombinationFlight !== void 0 ? selectedCombinationFlight : null,
|
|
50057
|
+
confirmedExcursionsByDay: confirmedExcursionsByDay,
|
|
48995
50058
|
seed: seed,
|
|
48996
50059
|
transactionId:
|
|
48997
50060
|
(_c =
|
|
@@ -49017,6 +50080,7 @@ var SearchResultsContainer = function () {
|
|
|
49017
50080
|
packagingAccoResults,
|
|
49018
50081
|
packagingAccoSearchDetails,
|
|
49019
50082
|
selectedCombinationFlight,
|
|
50083
|
+
confirmedExcursionsByDay,
|
|
49020
50084
|
transactionId,
|
|
49021
50085
|
dispatch
|
|
49022
50086
|
]
|
|
@@ -49031,56 +50095,103 @@ var SearchResultsContainer = function () {
|
|
|
49031
50095
|
return line.serviceType !== FLIGHT_SERVICE_TYPE;
|
|
49032
50096
|
});
|
|
49033
50097
|
};
|
|
50098
|
+
var removeExcursionLines = function (lines) {
|
|
50099
|
+
return lines.filter(function (line) {
|
|
50100
|
+
return line.serviceType !== EXCURSION_SERVICE_TYPE;
|
|
50101
|
+
});
|
|
50102
|
+
};
|
|
49034
50103
|
var buildAccommodationLinesFromSelection = function (selectedHotel, seed) {
|
|
49035
|
-
|
|
50104
|
+
return buildPackagingAccommodationLines(selectedHotel, seed, ACCOMMODATION_SERVICE_TYPE);
|
|
50105
|
+
};
|
|
50106
|
+
var buildExcursionLinesFromConfirmedDays = function (confirmedExcursionsByDay) {
|
|
50107
|
+
return Object.values(confirmedExcursionsByDay)
|
|
50108
|
+
.flat()
|
|
50109
|
+
.flatMap(function (excursion) {
|
|
50110
|
+
var selectedOptions = excursion.rooms.flatMap(function (room) {
|
|
50111
|
+
return room.options.filter(function (option) {
|
|
50112
|
+
return option.isSelected;
|
|
50113
|
+
});
|
|
50114
|
+
});
|
|
50115
|
+
var parentGuid = crypto.randomUUID();
|
|
50116
|
+
return selectedOptions.map(function (option, index) {
|
|
50117
|
+
var _a, _b, _c;
|
|
50118
|
+
return {
|
|
50119
|
+
guid: (_a = option.guid) !== null && _a !== void 0 ? _a : crypto.randomUUID(),
|
|
50120
|
+
moment: '',
|
|
50121
|
+
parentGuid: index === 0 ? null : parentGuid,
|
|
50122
|
+
order: index,
|
|
50123
|
+
isChanged: true,
|
|
50124
|
+
from: excursion.fromDate,
|
|
50125
|
+
to: excursion.toDate,
|
|
50126
|
+
serviceType: EXCURSION_SERVICE_TYPE,
|
|
50127
|
+
productName: excursion.name,
|
|
50128
|
+
productCode: excursion.code,
|
|
50129
|
+
accommodationName: option.accommodationName,
|
|
50130
|
+
accommodationCode: option.accommodationCode,
|
|
50131
|
+
regimeName: option.regimeName,
|
|
50132
|
+
regimeCode: option.regimeCode,
|
|
50133
|
+
country: excursion.countryId ? { id: excursion.countryId, name: excursion.countryName, localizations: [] } : null,
|
|
50134
|
+
region: excursion.regionId ? { id: excursion.regionId, name: excursion.regionName, localizations: [] } : null,
|
|
50135
|
+
oord: excursion.oordId ? { id: excursion.oordId, name: excursion.oordName, localizations: [] } : null,
|
|
50136
|
+
location: excursion.locationId ? { id: excursion.locationId, name: excursion.locationName, localizations: [] } : null,
|
|
50137
|
+
longitude: (_b = excursion.longitude) !== null && _b !== void 0 ? _b : null,
|
|
50138
|
+
latitude: (_c = excursion.latitude) !== null && _c !== void 0 ? _c : null,
|
|
50139
|
+
pax: Array.isArray(option.paxIds)
|
|
50140
|
+
? option.paxIds.map(function (paxId, paxIndex) {
|
|
50141
|
+
return {
|
|
50142
|
+
paxId: paxId,
|
|
50143
|
+
room: 0,
|
|
50144
|
+
order: paxIndex
|
|
50145
|
+
};
|
|
50146
|
+
})
|
|
50147
|
+
: [],
|
|
50148
|
+
flightInformation: null
|
|
50149
|
+
};
|
|
50150
|
+
});
|
|
50151
|
+
});
|
|
50152
|
+
};
|
|
50153
|
+
var buildPackagingAccommodationLines = function (selectedItem, seed, serviceType) {
|
|
50154
|
+
if (!selectedItem) return [];
|
|
49036
50155
|
var parentGuid = crypto.randomUUID();
|
|
49037
|
-
return
|
|
50156
|
+
return selectedItem.rooms
|
|
49038
50157
|
.filter(function (room) {
|
|
49039
50158
|
return room.options.some(function (o) {
|
|
49040
50159
|
return o.isSelected;
|
|
49041
50160
|
});
|
|
49042
50161
|
})
|
|
49043
50162
|
.map(function (room, index) {
|
|
49044
|
-
var _a, _b, _c
|
|
50163
|
+
var _a, _b, _c;
|
|
49045
50164
|
var option = room.options.find(function (o) {
|
|
49046
50165
|
return o.isSelected;
|
|
49047
50166
|
});
|
|
49048
|
-
var pax =
|
|
49049
|
-
|
|
49050
|
-
|
|
49051
|
-
|
|
49052
|
-
|
|
49053
|
-
|
|
49054
|
-
|
|
49055
|
-
paxId: p.id,
|
|
49056
|
-
room: roomIndex,
|
|
49057
|
-
order: paxIndex
|
|
49058
|
-
};
|
|
49059
|
-
});
|
|
49060
|
-
})) !== null && _b !== void 0
|
|
49061
|
-
? _b
|
|
49062
|
-
: [];
|
|
50167
|
+
var pax = option.paxIds.map(function (p, paxIndex) {
|
|
50168
|
+
return {
|
|
50169
|
+
paxId: p,
|
|
50170
|
+
room: index,
|
|
50171
|
+
order: paxIndex
|
|
50172
|
+
};
|
|
50173
|
+
});
|
|
49063
50174
|
return {
|
|
49064
|
-
guid: (
|
|
50175
|
+
guid: (_a = option.guid) !== null && _a !== void 0 ? _a : crypto.randomUUID(),
|
|
49065
50176
|
moment: '',
|
|
49066
50177
|
parentGuid: index === 0 ? null : parentGuid,
|
|
49067
50178
|
order: index,
|
|
49068
50179
|
isChanged: true,
|
|
49069
|
-
from:
|
|
49070
|
-
to:
|
|
49071
|
-
serviceType:
|
|
49072
|
-
productName:
|
|
49073
|
-
productCode:
|
|
50180
|
+
from: selectedItem.fromDate,
|
|
50181
|
+
to: selectedItem.toDate,
|
|
50182
|
+
serviceType: serviceType,
|
|
50183
|
+
productName: selectedItem.name,
|
|
50184
|
+
productCode: selectedItem.code,
|
|
49074
50185
|
accommodationName: option.accommodationName,
|
|
49075
50186
|
accommodationCode: option.accommodationCode,
|
|
49076
50187
|
regimeName: option.regimeName,
|
|
49077
50188
|
regimeCode: option.regimeCode,
|
|
49078
|
-
country:
|
|
49079
|
-
region:
|
|
49080
|
-
oord:
|
|
49081
|
-
location:
|
|
49082
|
-
longitude: (
|
|
49083
|
-
latitude: (
|
|
50189
|
+
country: selectedItem.countryId ? { id: selectedItem.countryId, name: selectedItem.countryName, localizations: [] } : null,
|
|
50190
|
+
region: selectedItem.regionId ? { id: selectedItem.regionId, name: selectedItem.regionName, localizations: [] } : null,
|
|
50191
|
+
oord: selectedItem.oordId ? { id: selectedItem.oordId, name: selectedItem.oordName, localizations: [] } : null,
|
|
50192
|
+
location: selectedItem.locationId ? { id: selectedItem.locationId, name: selectedItem.locationName, localizations: [] } : null,
|
|
50193
|
+
longitude: (_b = selectedItem.longitude) !== null && _b !== void 0 ? _b : null,
|
|
50194
|
+
latitude: (_c = selectedItem.latitude) !== null && _c !== void 0 ? _c : null,
|
|
49084
50195
|
pax: pax,
|
|
49085
50196
|
flightInformation: null
|
|
49086
50197
|
};
|
|
@@ -49208,6 +50319,7 @@ var SearchResultsContainer = function () {
|
|
|
49208
50319
|
selectedHotelCode = _a.selectedHotelCode,
|
|
49209
50320
|
accommodationResults = _a.accommodationResults,
|
|
49210
50321
|
selectedFlight = _a.selectedFlight,
|
|
50322
|
+
confirmedExcursionsByDay = _a.confirmedExcursionsByDay,
|
|
49211
50323
|
seed = _a.seed,
|
|
49212
50324
|
transactionId = _a.transactionId,
|
|
49213
50325
|
language = _a.language;
|
|
@@ -49235,6 +50347,12 @@ var SearchResultsContainer = function () {
|
|
|
49235
50347
|
nextLines = __spreadArray(__spreadArray([], nextLines, true), flightLines, true);
|
|
49236
50348
|
}
|
|
49237
50349
|
}
|
|
50350
|
+
// excursions
|
|
50351
|
+
var excursionLines = buildExcursionLinesFromConfirmedDays(confirmedExcursionsByDay);
|
|
50352
|
+
nextLines = removeExcursionLines(nextLines);
|
|
50353
|
+
if (excursionLines.length) {
|
|
50354
|
+
nextLines = __spreadArray(__spreadArray([], nextLines, true), excursionLines, true);
|
|
50355
|
+
}
|
|
49238
50356
|
nextLines = nextLines.map(function (line, index) {
|
|
49239
50357
|
return __assign(__assign({}, line), { order: index });
|
|
49240
50358
|
});
|
|
@@ -49245,7 +50363,7 @@ var SearchResultsContainer = function () {
|
|
|
49245
50363
|
if (sourceEntry) {
|
|
49246
50364
|
return structuredClone(sourceEntry);
|
|
49247
50365
|
}
|
|
49248
|
-
var paxId =
|
|
50366
|
+
var paxId = 0;
|
|
49249
50367
|
var pax =
|
|
49250
50368
|
(_b =
|
|
49251
50369
|
(_a = seed.rooms) === null || _a === void 0
|
|
@@ -49454,8 +50572,6 @@ var SearchResultsContainer = function () {
|
|
|
49454
50572
|
context.searchConfiguration.qsmType === build.PortalQsmType.AccommodationAndFlight &&
|
|
49455
50573
|
!context.packagingEntry &&
|
|
49456
50574
|
context.showFlightResults &&
|
|
49457
|
-
// bookingPackageDetails?.outwardFlights &&
|
|
49458
|
-
// <FlightResults flights={bookingPackageDetails?.outwardFlights} isDeparture={true} />
|
|
49459
50575
|
React__default.createElement(
|
|
49460
50576
|
React__default.Fragment,
|
|
49461
50577
|
null,
|
|
@@ -49536,11 +50652,12 @@ var SearchResultsContainer = function () {
|
|
|
49536
50652
|
context.showHotelAccommodationResults &&
|
|
49537
50653
|
!context.packagingEntry &&
|
|
49538
50654
|
React__default.createElement(HotelAccommodationResults, { isLoading: isLoading }),
|
|
50655
|
+
context.searchConfiguration.qsmType === build.PortalQsmType.AccommodationAndFlight &&
|
|
50656
|
+
!context.packagingEntry &&
|
|
50657
|
+
React__default.createElement(DayByDayExcursions, null),
|
|
49539
50658
|
context.searchConfiguration.qsmType === build.PortalQsmType.AccommodationAndFlight &&
|
|
49540
50659
|
!context.packagingEntry &&
|
|
49541
50660
|
context.showFlightResults &&
|
|
49542
|
-
// bookingPackageDetails?.returnFlights &&
|
|
49543
|
-
// <FlightResults flights={bookingPackageDetails?.returnFlights} isDeparture={false} />
|
|
49544
50661
|
React__default.createElement(
|
|
49545
50662
|
React__default.Fragment,
|
|
49546
50663
|
null,
|
|
@@ -49595,7 +50712,6 @@ var SearchResultsContainer = function () {
|
|
|
49595
50712
|
),
|
|
49596
50713
|
context.searchConfiguration.qsmType === build.PortalQsmType.AccommodationAndFlight &&
|
|
49597
50714
|
context.packagingEntry &&
|
|
49598
|
-
itinerary &&
|
|
49599
50715
|
React__default.createElement(FullItinerary, { isLoading: itineraryIsLoading })
|
|
49600
50716
|
)
|
|
49601
50717
|
),
|
|
@@ -49612,7 +50728,8 @@ var SearchResultsContainer = function () {
|
|
|
49612
50728
|
detailsLoading: detailsIsLoading,
|
|
49613
50729
|
flyInType: flyInType,
|
|
49614
50730
|
isPackageEditFlow: !!context.packagingEntry,
|
|
49615
|
-
sortByTypes: sortByTypes
|
|
50731
|
+
sortByTypes: sortByTypes,
|
|
50732
|
+
activeSearchSeed: activeSearchSeed
|
|
49616
50733
|
})
|
|
49617
50734
|
)
|
|
49618
50735
|
)
|