@qite/tide-booking-component 1.4.33 → 1.4.35
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 +1674 -416
- package/build/build-cjs/qsm/types.d.ts +0 -1
- package/build/build-cjs/search-results/components/filters/filters.d.ts +2 -2
- package/build/build-cjs/search-results/components/flight/flight-results.d.ts +2 -0
- package/build/build-cjs/search-results/components/hotel/hotel-card.d.ts +1 -0
- package/build/build-cjs/search-results/components/itinerary/index.d.ts +2 -2
- package/build/build-cjs/search-results/store/search-results-slice.d.ts +11 -2
- package/build/build-cjs/search-results/types.d.ts +0 -14
- package/build/build-esm/index.js +1674 -416
- package/build/build-esm/qsm/types.d.ts +0 -1
- package/build/build-esm/search-results/components/filters/filters.d.ts +2 -2
- package/build/build-esm/search-results/components/flight/flight-results.d.ts +2 -0
- package/build/build-esm/search-results/components/hotel/hotel-card.d.ts +1 -0
- package/build/build-esm/search-results/components/itinerary/index.d.ts +2 -2
- package/build/build-esm/search-results/store/search-results-slice.d.ts +11 -2
- package/build/build-esm/search-results/types.d.ts +0 -14
- package/package.json +77 -77
- package/src/booking-product/components/product.tsx +26 -22
- package/src/booking-wizard/features/booking/booking-self-contained.tsx +303 -304
- package/src/booking-wizard/features/travelers-form/controls/gender-control.tsx +5 -5
- package/src/booking-wizard/features/travelers-form/travelers-form.tsx +10 -10
- package/src/content/components/icon.tsx +1 -1
- package/src/content/features/content-page/content-page-self-contained.tsx +0 -1
- package/src/qsm/components/QSMContainer/qsm-container.tsx +217 -218
- package/src/qsm/components/mobile-filter-modal/index.tsx +12 -10
- package/src/qsm/components/travel-class-picker/index.tsx +5 -3
- package/src/qsm/components/travel-input/index.tsx +15 -12
- package/src/qsm/components/travel-input-group/index.tsx +14 -3
- package/src/qsm/components/travel-nationality-picker/index.tsx +5 -3
- package/src/qsm/components/travel-type-picker/index.tsx +5 -3
- package/src/qsm/qsm-configuration-context.ts +0 -1
- package/src/qsm/store/qsm-slice.ts +261 -261
- package/src/qsm/types.ts +144 -145
- package/src/search-results/components/filters/filters.tsx +15 -16
- package/src/search-results/components/flight/flight-results.tsx +168 -1099
- package/src/search-results/components/hotel/hotel-accommodation-results.tsx +21 -24
- package/src/search-results/components/hotel/hotel-card.tsx +4 -3
- package/src/search-results/components/icon.tsx +1 -1
- package/src/search-results/components/itinerary/index.tsx +229 -129
- package/src/search-results/components/round-trip/round-trip-results.tsx +1 -1
- package/src/search-results/components/search-results-container/search-results-container.tsx +353 -337
- package/src/search-results/components/spinner/spinner.tsx +3 -1
- package/src/search-results/components/tab-views/index.tsx +13 -7
- package/src/search-results/features/flights/flight-search-results-self-contained.tsx +1 -14
- package/src/search-results/features/hotels/hotel-search-results-self-contained.tsx +1 -14
- package/src/search-results/store/search-results-slice.ts +37 -3
- package/src/search-results/types.ts +0 -15
- package/src/shared/translations/ar-SA.json +70 -0
- package/src/shared/translations/da-DK.json +70 -0
- package/src/shared/translations/de-DE.json +70 -0
- package/src/shared/translations/en-GB.json +71 -1
- package/src/shared/translations/es-ES.json +70 -0
- package/src/shared/translations/fr-BE.json +71 -1
- package/src/shared/translations/fr-FR.json +70 -0
- package/src/shared/translations/is-IS.json +72 -2
- package/src/shared/translations/it-IT.json +70 -0
- package/src/shared/translations/ja-JP.json +72 -2
- package/src/shared/translations/nl-BE.json +70 -0
- package/src/shared/translations/nl-NL.json +70 -0
- package/src/shared/translations/no-NO.json +72 -2
- package/src/shared/translations/pl-PL.json +70 -0
- package/src/shared/translations/pt-PT.json +70 -0
- package/src/shared/translations/sv-SE.json +72 -2
- package/styles/components/_search.scss +7 -1
package/build/build-esm/index.js
CHANGED
|
@@ -226,8 +226,11 @@ var TRAVELERS_FORM$f = {
|
|
|
226
226
|
CHILD: "طفل",
|
|
227
227
|
CHILDREN: "أطفال",
|
|
228
228
|
GENDER: "اللقب",
|
|
229
|
+
GENDER_ID: "الجنس حسب جواز السفر/بطاقة الهوية",
|
|
229
230
|
MALE: "السيد",
|
|
231
|
+
MALE_GENDER: "ذكر",
|
|
230
232
|
FEMALE: "السيدة",
|
|
233
|
+
FEMALE_GENDER: "أنثى",
|
|
231
234
|
OTHER: "آخر",
|
|
232
235
|
MAIN_BOOKER: "الحاجز الرئيسي",
|
|
233
236
|
FIRST_NAME: "الاسم الأول",
|
|
@@ -338,6 +341,73 @@ var PRINT_OFFER_BUTTON$f = {
|
|
|
338
341
|
LABEL_CREATING: "جارٍ إنشاء العرض…",
|
|
339
342
|
LABEL_PRINTING: "جارٍ إنشاء ملف PDF…"
|
|
340
343
|
};
|
|
344
|
+
var QSM$g = {
|
|
345
|
+
MULTIDESTINATION: "وجهات متعددة",
|
|
346
|
+
PACKAGES: "باقات",
|
|
347
|
+
TRANSPORT_HOTEL: "النقل + الفندق",
|
|
348
|
+
ACCOMMODATION: "الإقامة",
|
|
349
|
+
TRANSPORTS: "وسائل النقل",
|
|
350
|
+
TICKET_ONLY: "تذكرة فقط",
|
|
351
|
+
RENT_A_CAR: "تأجير سيارة",
|
|
352
|
+
TRANSFERS: "خدمات النقل",
|
|
353
|
+
CRUISES: "رحلات بحرية",
|
|
354
|
+
ONE_ACCOMMODATION: "إقامة واحدة",
|
|
355
|
+
MULTIPLE_ACCOMMODATIONS: "إقامات متعددة",
|
|
356
|
+
TRAVEL_CLASS_LABEL: "درجة السفر",
|
|
357
|
+
TRAVEL_CLASS_PLACEHOLDER: "اختر درجة السفر",
|
|
358
|
+
TRAVEL_TYPE_LABEL: "نوع السفر",
|
|
359
|
+
TRAVEL_TYPE_PLACEHOLDER: "اختر نوع السفر",
|
|
360
|
+
NATIONALITY_LABEL: "الجنسية",
|
|
361
|
+
NATIONALITY_PLACEHOLDER: "اختر الجنسية",
|
|
362
|
+
TRAVELERS_LABEL: "من المسافر؟",
|
|
363
|
+
ADD_ROOM: "إضافة غرفة",
|
|
364
|
+
REMOVE_ROOM: "إزالة غرفة",
|
|
365
|
+
MAX_TRAVELERS_REACHED: "لقد وصلت إلى الحد الأقصى لعدد المسافرين",
|
|
366
|
+
ADULTS: "البالغون",
|
|
367
|
+
CHILDREN: "الأطفال",
|
|
368
|
+
BABIES: "الرضع",
|
|
369
|
+
CHOOSE_DATES: "اختر التواريخ",
|
|
370
|
+
DEPARTURE_DATE: "تاريخ المغادرة",
|
|
371
|
+
RETURN_DATE: "تاريخ العودة",
|
|
372
|
+
CONFIRM: "تأكيد",
|
|
373
|
+
TRAVELERS: "المسافرون"
|
|
374
|
+
};
|
|
375
|
+
var SRP$f = {
|
|
376
|
+
NO_RESULTS: "لم يتم العثور على نتائج.",
|
|
377
|
+
TOTAL_RESULTS_LABEL: "تم العثور على باقات",
|
|
378
|
+
RESET: "إعادة تعيين",
|
|
379
|
+
LUGGAGEINCLUDED: "الأمتعة مشمولة",
|
|
380
|
+
CANCEL: "إلغاء",
|
|
381
|
+
APPLY: "تطبيق",
|
|
382
|
+
LOADING: "جارٍ التحميل...",
|
|
383
|
+
SEARCHRESULTCTA: "عرض التفاصيل",
|
|
384
|
+
SORTBY: "ترتيب حسب",
|
|
385
|
+
PRICE_ASC: "السعر (من الأقل إلى الأعلى)",
|
|
386
|
+
PRICE_DESC: "السعر (من الأعلى إلى الأقل)",
|
|
387
|
+
DEPARTURE_ASC: "تاريخ المغادرة (الأقرب أولاً)",
|
|
388
|
+
FILTERS: "عوامل التصفية",
|
|
389
|
+
SHOW_ITINERARY: "عرض خط سير الرحلة",
|
|
390
|
+
ITINERARY_TITLE: "ملخص رحلتك",
|
|
391
|
+
DOSSIER_NUMBER: "رقم الملف",
|
|
392
|
+
PACKAGE_PRICE_PER_PERSON: "سعر الباقة للشخص الواحد",
|
|
393
|
+
TOTAL: "الإجمالي",
|
|
394
|
+
DAY_BY_DAY: "رحلتك يوماً بيوم",
|
|
395
|
+
START: "البداية",
|
|
396
|
+
END: "النهاية",
|
|
397
|
+
EXTENDED: "موسع",
|
|
398
|
+
COMPACT: "مضغوط",
|
|
399
|
+
LIST: "قائمة",
|
|
400
|
+
SELECT: "اختيار",
|
|
401
|
+
DEPARTURE: "المغادرة",
|
|
402
|
+
RETURN: "العودة",
|
|
403
|
+
DIRECT: "مباشر",
|
|
404
|
+
STOPS: "محطات",
|
|
405
|
+
STOP: "محطة",
|
|
406
|
+
STOP_TIME: "مدة التوقف",
|
|
407
|
+
ACCOMMODATION: "الإقامة",
|
|
408
|
+
VIEW_DETAILS: "عرض التفاصيل",
|
|
409
|
+
NIGHTS: "ليالٍ"
|
|
410
|
+
};
|
|
341
411
|
var arJson = {
|
|
342
412
|
STEPS: STEPS$f,
|
|
343
413
|
INPUT: INPUT$f,
|
|
@@ -352,7 +422,9 @@ var arJson = {
|
|
|
352
422
|
SUMMARY: SUMMARY$f,
|
|
353
423
|
CONFIRMATION: CONFIRMATION$f,
|
|
354
424
|
ERROR: ERROR$f,
|
|
355
|
-
PRINT_OFFER_BUTTON: PRINT_OFFER_BUTTON$f
|
|
425
|
+
PRINT_OFFER_BUTTON: PRINT_OFFER_BUTTON$f,
|
|
426
|
+
QSM: QSM$g,
|
|
427
|
+
SRP: SRP$f
|
|
356
428
|
};
|
|
357
429
|
|
|
358
430
|
var STEPS$e = {
|
|
@@ -490,8 +562,11 @@ var TRAVELERS_FORM$e = {
|
|
|
490
562
|
CHILD: "barn",
|
|
491
563
|
CHILDREN: "børn",
|
|
492
564
|
GENDER: "Tiltaleform",
|
|
565
|
+
GENDER_ID: "Køn ifølge pas/ID-kort",
|
|
493
566
|
MALE: "Hr.",
|
|
567
|
+
MALE_GENDER: "Mand",
|
|
494
568
|
FEMALE: "Fr.",
|
|
569
|
+
FEMALE_GENDER: "Kvinde",
|
|
495
570
|
OTHER: "Andet",
|
|
496
571
|
MAIN_BOOKER: "Hovedbooker",
|
|
497
572
|
FIRST_NAME: "Fornavn",
|
|
@@ -602,6 +677,73 @@ var PRINT_OFFER_BUTTON$e = {
|
|
|
602
677
|
LABEL_CREATING: "Genererer tilbud…",
|
|
603
678
|
LABEL_PRINTING: "Genererer PDF…"
|
|
604
679
|
};
|
|
680
|
+
var QSM$f = {
|
|
681
|
+
MULTIDESTINATION: "Flere destinationer",
|
|
682
|
+
PACKAGES: "Pakkerejser",
|
|
683
|
+
TRANSPORT_HOTEL: "Transport + hotel",
|
|
684
|
+
ACCOMMODATION: "Indkvartering",
|
|
685
|
+
TRANSPORTS: "Transport",
|
|
686
|
+
TICKET_ONLY: "Kun billet",
|
|
687
|
+
RENT_A_CAR: "Lej en bil",
|
|
688
|
+
TRANSFERS: "Transportservice",
|
|
689
|
+
CRUISES: "Krydstogter",
|
|
690
|
+
ONE_ACCOMMODATION: "Én indkvartering",
|
|
691
|
+
MULTIPLE_ACCOMMODATIONS: "Flere indkvarteringer",
|
|
692
|
+
TRAVEL_CLASS_LABEL: "Rejseklasse",
|
|
693
|
+
TRAVEL_CLASS_PLACEHOLDER: "Vælg rejseklasse",
|
|
694
|
+
TRAVEL_TYPE_LABEL: "Rejsetype",
|
|
695
|
+
TRAVEL_TYPE_PLACEHOLDER: "Vælg rejsetype",
|
|
696
|
+
NATIONALITY_LABEL: "Nationalitet",
|
|
697
|
+
NATIONALITY_PLACEHOLDER: "Vælg nationalitet",
|
|
698
|
+
TRAVELERS_LABEL: "Hvem rejser?",
|
|
699
|
+
ADD_ROOM: "Tilføj værelse",
|
|
700
|
+
REMOVE_ROOM: "Fjern værelse",
|
|
701
|
+
MAX_TRAVELERS_REACHED: "Du har nået det maksimale antal rejsende",
|
|
702
|
+
ADULTS: "Voksne",
|
|
703
|
+
CHILDREN: "Børn",
|
|
704
|
+
BABIES: "Spædbørn",
|
|
705
|
+
CHOOSE_DATES: "Vælg datoer",
|
|
706
|
+
DEPARTURE_DATE: "Afrejsedato",
|
|
707
|
+
RETURN_DATE: "Hjemrejsedato",
|
|
708
|
+
CONFIRM: "Bekræft",
|
|
709
|
+
TRAVELERS: "Rejsende"
|
|
710
|
+
};
|
|
711
|
+
var SRP$e = {
|
|
712
|
+
NO_RESULTS: "Ingen resultater fundet.",
|
|
713
|
+
TOTAL_RESULTS_LABEL: "Fundne pakker",
|
|
714
|
+
RESET: "Nulstil",
|
|
715
|
+
LUGGAGEINCLUDED: "Bagage inkluderet",
|
|
716
|
+
CANCEL: "Annuller",
|
|
717
|
+
APPLY: "Anvend",
|
|
718
|
+
LOADING: "Indlæser...",
|
|
719
|
+
SEARCHRESULTCTA: "Se detaljer",
|
|
720
|
+
SORTBY: "Sorter efter",
|
|
721
|
+
PRICE_ASC: "Pris (lav til høj)",
|
|
722
|
+
PRICE_DESC: "Pris (høj til lav)",
|
|
723
|
+
DEPARTURE_ASC: "Afrejsedato (snarest først)",
|
|
724
|
+
FILTERS: "Filtre",
|
|
725
|
+
SHOW_ITINERARY: "Vis rejseplan",
|
|
726
|
+
ITINERARY_TITLE: "Din rejseoversigt",
|
|
727
|
+
DOSSIER_NUMBER: "Sagsnummer",
|
|
728
|
+
PACKAGE_PRICE_PER_PERSON: "pakkepris pr. person",
|
|
729
|
+
TOTAL: "i alt",
|
|
730
|
+
DAY_BY_DAY: "Din rejse dag for dag",
|
|
731
|
+
START: "start",
|
|
732
|
+
END: "slut",
|
|
733
|
+
EXTENDED: "Udvidet",
|
|
734
|
+
COMPACT: "Kompakt",
|
|
735
|
+
LIST: "Liste",
|
|
736
|
+
SELECT: "Vælg",
|
|
737
|
+
DEPARTURE: "Afrejse",
|
|
738
|
+
RETURN: "Hjemrejse",
|
|
739
|
+
DIRECT: "Direkte",
|
|
740
|
+
STOPS: "stop",
|
|
741
|
+
STOP: "stop",
|
|
742
|
+
STOP_TIME: "Skiftetid",
|
|
743
|
+
ACCOMMODATION: "Indkvartering",
|
|
744
|
+
VIEW_DETAILS: "Se detaljer",
|
|
745
|
+
NIGHTS: "nætter"
|
|
746
|
+
};
|
|
605
747
|
var daJson = {
|
|
606
748
|
STEPS: STEPS$e,
|
|
607
749
|
INPUT: INPUT$e,
|
|
@@ -616,7 +758,9 @@ var daJson = {
|
|
|
616
758
|
SUMMARY: SUMMARY$e,
|
|
617
759
|
CONFIRMATION: CONFIRMATION$e,
|
|
618
760
|
ERROR: ERROR$e,
|
|
619
|
-
PRINT_OFFER_BUTTON: PRINT_OFFER_BUTTON$e
|
|
761
|
+
PRINT_OFFER_BUTTON: PRINT_OFFER_BUTTON$e,
|
|
762
|
+
QSM: QSM$f,
|
|
763
|
+
SRP: SRP$e
|
|
620
764
|
};
|
|
621
765
|
|
|
622
766
|
var STEPS$d = {
|
|
@@ -754,8 +898,11 @@ var TRAVELERS_FORM$d = {
|
|
|
754
898
|
CHILD: "Kind",
|
|
755
899
|
CHILDREN: "Kinder",
|
|
756
900
|
GENDER: "Anrede",
|
|
901
|
+
GENDER_ID: "Geschlecht laut Reisepass/Personalausweis",
|
|
757
902
|
MALE: "Herr",
|
|
903
|
+
MALE_GENDER: "Männlich",
|
|
758
904
|
FEMALE: "Frau",
|
|
905
|
+
FEMALE_GENDER: "Weiblich",
|
|
759
906
|
OTHER: "Andere",
|
|
760
907
|
MAIN_BOOKER: "Hauptbucher",
|
|
761
908
|
FIRST_NAME: "Vorname",
|
|
@@ -866,6 +1013,73 @@ var PRINT_OFFER_BUTTON$d = {
|
|
|
866
1013
|
LABEL_CREATING: "Angebot wird erstellt…",
|
|
867
1014
|
LABEL_PRINTING: "PDF wird erstellt…"
|
|
868
1015
|
};
|
|
1016
|
+
var QSM$e = {
|
|
1017
|
+
MULTIDESTINATION: "Mehrere Reiseziele",
|
|
1018
|
+
PACKAGES: "Reisepakete",
|
|
1019
|
+
TRANSPORT_HOTEL: "Transport + Hotel",
|
|
1020
|
+
ACCOMMODATION: "Unterkunft",
|
|
1021
|
+
TRANSPORTS: "Transport",
|
|
1022
|
+
TICKET_ONLY: "Nur Ticket",
|
|
1023
|
+
RENT_A_CAR: "Mietwagen",
|
|
1024
|
+
TRANSFERS: "Transfers",
|
|
1025
|
+
CRUISES: "Kreuzfahrten",
|
|
1026
|
+
ONE_ACCOMMODATION: "Eine Unterkunft",
|
|
1027
|
+
MULTIPLE_ACCOMMODATIONS: "Mehrere Unterkünfte",
|
|
1028
|
+
TRAVEL_CLASS_LABEL: "Reiseklasse",
|
|
1029
|
+
TRAVEL_CLASS_PLACEHOLDER: "Reiseklasse auswählen",
|
|
1030
|
+
TRAVEL_TYPE_LABEL: "Reiseart",
|
|
1031
|
+
TRAVEL_TYPE_PLACEHOLDER: "Reiseart auswählen",
|
|
1032
|
+
NATIONALITY_LABEL: "Staatsangehörigkeit",
|
|
1033
|
+
NATIONALITY_PLACEHOLDER: "Staatsangehörigkeit auswählen",
|
|
1034
|
+
TRAVELERS_LABEL: "Wer reist?",
|
|
1035
|
+
ADD_ROOM: "Zimmer hinzufügen",
|
|
1036
|
+
REMOVE_ROOM: "Zimmer entfernen",
|
|
1037
|
+
MAX_TRAVELERS_REACHED: "Sie haben die maximale Anzahl an Reisenden erreicht",
|
|
1038
|
+
ADULTS: "Erwachsene",
|
|
1039
|
+
CHILDREN: "Kinder",
|
|
1040
|
+
BABIES: "Babys",
|
|
1041
|
+
CHOOSE_DATES: "Daten auswählen",
|
|
1042
|
+
DEPARTURE_DATE: "Abreisedatum",
|
|
1043
|
+
RETURN_DATE: "Rückreisedatum",
|
|
1044
|
+
CONFIRM: "Bestätigen",
|
|
1045
|
+
TRAVELERS: "Reisende"
|
|
1046
|
+
};
|
|
1047
|
+
var SRP$d = {
|
|
1048
|
+
NO_RESULTS: "Keine Ergebnisse gefunden.",
|
|
1049
|
+
TOTAL_RESULTS_LABEL: "Gefundene Pakete",
|
|
1050
|
+
RESET: "Zurücksetzen",
|
|
1051
|
+
LUGGAGEINCLUDED: "Gepäck inklusive",
|
|
1052
|
+
CANCEL: "Abbrechen",
|
|
1053
|
+
APPLY: "Anwenden",
|
|
1054
|
+
LOADING: "Wird geladen...",
|
|
1055
|
+
SEARCHRESULTCTA: "Details anzeigen",
|
|
1056
|
+
SORTBY: "Sortieren nach",
|
|
1057
|
+
PRICE_ASC: "Preis (aufsteigend)",
|
|
1058
|
+
PRICE_DESC: "Preis (absteigend)",
|
|
1059
|
+
DEPARTURE_ASC: "Abreisedatum (früheste zuerst)",
|
|
1060
|
+
FILTERS: "Filter",
|
|
1061
|
+
SHOW_ITINERARY: "Reiseverlauf anzeigen",
|
|
1062
|
+
ITINERARY_TITLE: "Ihre Reiseübersicht",
|
|
1063
|
+
DOSSIER_NUMBER: "Vorgangsnummer",
|
|
1064
|
+
PACKAGE_PRICE_PER_PERSON: "Paketpreis pro Person",
|
|
1065
|
+
TOTAL: "Gesamt",
|
|
1066
|
+
DAY_BY_DAY: "Ihre Reise Tag für Tag",
|
|
1067
|
+
START: "Start",
|
|
1068
|
+
END: "Ende",
|
|
1069
|
+
EXTENDED: "Erweitert",
|
|
1070
|
+
COMPACT: "Kompakt",
|
|
1071
|
+
LIST: "Liste",
|
|
1072
|
+
SELECT: "Auswählen",
|
|
1073
|
+
DEPARTURE: "Abreise",
|
|
1074
|
+
RETURN: "Rückreise",
|
|
1075
|
+
DIRECT: "Direkt",
|
|
1076
|
+
STOPS: "Stopps",
|
|
1077
|
+
STOP: "Stopp",
|
|
1078
|
+
STOP_TIME: "Umsteigezeit",
|
|
1079
|
+
ACCOMMODATION: "Unterkunft",
|
|
1080
|
+
VIEW_DETAILS: "Details anzeigen",
|
|
1081
|
+
NIGHTS: "Nächte"
|
|
1082
|
+
};
|
|
869
1083
|
var deJson = {
|
|
870
1084
|
STEPS: STEPS$d,
|
|
871
1085
|
INPUT: INPUT$d,
|
|
@@ -880,7 +1094,9 @@ var deJson = {
|
|
|
880
1094
|
SUMMARY: SUMMARY$d,
|
|
881
1095
|
CONFIRMATION: CONFIRMATION$d,
|
|
882
1096
|
ERROR: ERROR$d,
|
|
883
|
-
PRINT_OFFER_BUTTON: PRINT_OFFER_BUTTON$d
|
|
1097
|
+
PRINT_OFFER_BUTTON: PRINT_OFFER_BUTTON$d,
|
|
1098
|
+
QSM: QSM$e,
|
|
1099
|
+
SRP: SRP$d
|
|
884
1100
|
};
|
|
885
1101
|
|
|
886
1102
|
var STEPS$c = {
|
|
@@ -1019,8 +1235,11 @@ var TRAVELERS_FORM$c = {
|
|
|
1019
1235
|
CHILD: "child",
|
|
1020
1236
|
CHILDREN: "children",
|
|
1021
1237
|
GENDER: "Salutation",
|
|
1238
|
+
GENDER_ID: "Gender according to passport/ID card",
|
|
1022
1239
|
MALE: "Mr.",
|
|
1023
|
-
|
|
1240
|
+
MALE_GENDER: "Male",
|
|
1241
|
+
FEMALE: "Ms.",
|
|
1242
|
+
FEMALE_GENDER: "Female",
|
|
1024
1243
|
OTHER: "Other",
|
|
1025
1244
|
MAIN_BOOKER: "Main booker",
|
|
1026
1245
|
FIRST_NAME: "First name",
|
|
@@ -1134,6 +1353,73 @@ var PRINT_OFFER_BUTTON$c = {
|
|
|
1134
1353
|
LABEL_CREATING: "Generating offer…",
|
|
1135
1354
|
LABEL_PRINTING: "Generating PDF…"
|
|
1136
1355
|
};
|
|
1356
|
+
var QSM$d = {
|
|
1357
|
+
MULTIDESTINATION: "Multidestination",
|
|
1358
|
+
PACKAGES: "Packages",
|
|
1359
|
+
TRANSPORT_HOTEL: "Transport + hotel",
|
|
1360
|
+
ACCOMMODATION: "Accommodation",
|
|
1361
|
+
TRANSPORTS: "Transports",
|
|
1362
|
+
TICKET_ONLY: "Ticket Only",
|
|
1363
|
+
RENT_A_CAR: "Rent a car",
|
|
1364
|
+
TRANSFERS: "Transfers",
|
|
1365
|
+
CRUISES: "Cruises",
|
|
1366
|
+
ONE_ACCOMMODATION: "One accommodation",
|
|
1367
|
+
MULTIPLE_ACCOMMODATIONS: "Multiple accommodations",
|
|
1368
|
+
TRAVEL_CLASS_LABEL: "Travel class",
|
|
1369
|
+
TRAVEL_CLASS_PLACEHOLDER: "Select travel class",
|
|
1370
|
+
TRAVEL_TYPE_LABEL: "Travel type",
|
|
1371
|
+
TRAVEL_TYPE_PLACEHOLDER: "Select travel type",
|
|
1372
|
+
NATIONALITY_LABEL: "Nationality",
|
|
1373
|
+
NATIONALITY_PLACEHOLDER: "Select nationality",
|
|
1374
|
+
TRAVELERS_LABEL: "Who is traveling?",
|
|
1375
|
+
ADD_ROOM: "Add room",
|
|
1376
|
+
REMOVE_ROOM: "Remove room",
|
|
1377
|
+
MAX_TRAVELERS_REACHED: "You have reached the maximum number of travelers",
|
|
1378
|
+
ADULTS: "Adults",
|
|
1379
|
+
CHILDREN: "Children",
|
|
1380
|
+
BABIES: "Babies",
|
|
1381
|
+
CHOOSE_DATES: "Choose dates",
|
|
1382
|
+
DEPARTURE_DATE: "Departure date",
|
|
1383
|
+
RETURN_DATE: "Return date",
|
|
1384
|
+
CONFIRM: "Confirm",
|
|
1385
|
+
TRAVELERS: "Travelers"
|
|
1386
|
+
};
|
|
1387
|
+
var SRP$c = {
|
|
1388
|
+
NO_RESULTS: "No results found.",
|
|
1389
|
+
TOTAL_RESULTS_LABEL: "Packages found",
|
|
1390
|
+
RESET: "Reset",
|
|
1391
|
+
LUGGAGEINCLUDED: "Luggage included",
|
|
1392
|
+
CANCEL: "Cancel",
|
|
1393
|
+
APPLY: "Apply",
|
|
1394
|
+
LOADING: "Loading...",
|
|
1395
|
+
SEARCHRESULTCTA: "View details",
|
|
1396
|
+
SORTBY: "Sort by",
|
|
1397
|
+
PRICE_ASC: "Price (low to high)",
|
|
1398
|
+
PRICE_DESC: "Price (high to low)",
|
|
1399
|
+
DEPARTURE_ASC: "Departure date (soonest first)",
|
|
1400
|
+
FILTERS: "Filters",
|
|
1401
|
+
SHOW_ITINERARY: "Show itinerary",
|
|
1402
|
+
ITINERARY_TITLE: "Your trip summary",
|
|
1403
|
+
DOSSIER_NUMBER: "File number",
|
|
1404
|
+
PACKAGE_PRICE_PER_PERSON: "package price per person",
|
|
1405
|
+
TOTAL: "total",
|
|
1406
|
+
DAY_BY_DAY: "Your trip day by day",
|
|
1407
|
+
START: "start",
|
|
1408
|
+
END: "end",
|
|
1409
|
+
EXTENDED: "Extended",
|
|
1410
|
+
COMPACT: "Compact",
|
|
1411
|
+
LIST: "List",
|
|
1412
|
+
SELECT: "Select",
|
|
1413
|
+
DEPARTURE: "Departure",
|
|
1414
|
+
RETURN: "Return",
|
|
1415
|
+
DIRECT: "Direct",
|
|
1416
|
+
STOPS: "stops",
|
|
1417
|
+
STOP: "stop",
|
|
1418
|
+
STOP_TIME: "Change time",
|
|
1419
|
+
ACCOMMODATION: "Accommodation",
|
|
1420
|
+
VIEW_DETAILS: "View details",
|
|
1421
|
+
NIGHTS: "nights"
|
|
1422
|
+
};
|
|
1137
1423
|
var enJson = {
|
|
1138
1424
|
STEPS: STEPS$c,
|
|
1139
1425
|
INPUT: INPUT$c,
|
|
@@ -1148,7 +1434,9 @@ var enJson = {
|
|
|
1148
1434
|
SUMMARY: SUMMARY$c,
|
|
1149
1435
|
CONFIRMATION: CONFIRMATION$c,
|
|
1150
1436
|
ERROR: ERROR$c,
|
|
1151
|
-
PRINT_OFFER_BUTTON: PRINT_OFFER_BUTTON$c
|
|
1437
|
+
PRINT_OFFER_BUTTON: PRINT_OFFER_BUTTON$c,
|
|
1438
|
+
QSM: QSM$d,
|
|
1439
|
+
SRP: SRP$c
|
|
1152
1440
|
};
|
|
1153
1441
|
|
|
1154
1442
|
var STEPS$b = {
|
|
@@ -1286,8 +1574,11 @@ var TRAVELERS_FORM$b = {
|
|
|
1286
1574
|
CHILD: "niño",
|
|
1287
1575
|
CHILDREN: "niños",
|
|
1288
1576
|
GENDER: "Tratamiento",
|
|
1577
|
+
GENDER_ID: "Sexo según pasaporte/documento de identidad",
|
|
1289
1578
|
MALE: "Sr.",
|
|
1579
|
+
MALE_GENDER: "Hombre",
|
|
1290
1580
|
FEMALE: "Sra.",
|
|
1581
|
+
FEMALE_GENDER: "Mujer",
|
|
1291
1582
|
OTHER: "Otro",
|
|
1292
1583
|
MAIN_BOOKER: "Titular de la reserva",
|
|
1293
1584
|
FIRST_NAME: "Nombre",
|
|
@@ -1398,6 +1689,73 @@ var PRINT_OFFER_BUTTON$b = {
|
|
|
1398
1689
|
LABEL_CREATING: "Generando presupuesto…",
|
|
1399
1690
|
LABEL_PRINTING: "Generando PDF…"
|
|
1400
1691
|
};
|
|
1692
|
+
var QSM$c = {
|
|
1693
|
+
MULTIDESTINATION: "Multidestino",
|
|
1694
|
+
PACKAGES: "Paquetes",
|
|
1695
|
+
TRANSPORT_HOTEL: "Transporte + hotel",
|
|
1696
|
+
ACCOMMODATION: "Alojamiento",
|
|
1697
|
+
TRANSPORTS: "Transportes",
|
|
1698
|
+
TICKET_ONLY: "Solo billete",
|
|
1699
|
+
RENT_A_CAR: "Alquilar un coche",
|
|
1700
|
+
TRANSFERS: "Traslados",
|
|
1701
|
+
CRUISES: "Cruceros",
|
|
1702
|
+
ONE_ACCOMMODATION: "Un alojamiento",
|
|
1703
|
+
MULTIPLE_ACCOMMODATIONS: "Varios alojamientos",
|
|
1704
|
+
TRAVEL_CLASS_LABEL: "Clase de viaje",
|
|
1705
|
+
TRAVEL_CLASS_PLACEHOLDER: "Selecciona clase de viaje",
|
|
1706
|
+
TRAVEL_TYPE_LABEL: "Tipo de viaje",
|
|
1707
|
+
TRAVEL_TYPE_PLACEHOLDER: "Selecciona tipo de viaje",
|
|
1708
|
+
NATIONALITY_LABEL: "Nacionalidad",
|
|
1709
|
+
NATIONALITY_PLACEHOLDER: "Selecciona nacionalidad",
|
|
1710
|
+
TRAVELERS_LABEL: "¿Quién viaja?",
|
|
1711
|
+
ADD_ROOM: "Añadir habitación",
|
|
1712
|
+
REMOVE_ROOM: "Eliminar habitación",
|
|
1713
|
+
MAX_TRAVELERS_REACHED: "Has alcanzado el número máximo de viajeros",
|
|
1714
|
+
ADULTS: "Adultos",
|
|
1715
|
+
CHILDREN: "Niños",
|
|
1716
|
+
BABIES: "Bebés",
|
|
1717
|
+
CHOOSE_DATES: "Selecciona fechas",
|
|
1718
|
+
DEPARTURE_DATE: "Fecha de salida",
|
|
1719
|
+
RETURN_DATE: "Fecha de regreso",
|
|
1720
|
+
CONFIRM: "Confirmar",
|
|
1721
|
+
TRAVELERS: "Viajeros"
|
|
1722
|
+
};
|
|
1723
|
+
var SRP$b = {
|
|
1724
|
+
NO_RESULTS: "No se han encontrado resultados.",
|
|
1725
|
+
TOTAL_RESULTS_LABEL: "Paquetes encontrados",
|
|
1726
|
+
RESET: "Restablecer",
|
|
1727
|
+
LUGGAGEINCLUDED: "Equipaje incluido",
|
|
1728
|
+
CANCEL: "Cancelar",
|
|
1729
|
+
APPLY: "Aplicar",
|
|
1730
|
+
LOADING: "Cargando...",
|
|
1731
|
+
SEARCHRESULTCTA: "Ver detalles",
|
|
1732
|
+
SORTBY: "Ordenar por",
|
|
1733
|
+
PRICE_ASC: "Precio (de menor a mayor)",
|
|
1734
|
+
PRICE_DESC: "Precio (de mayor a menor)",
|
|
1735
|
+
DEPARTURE_ASC: "Fecha de salida (más próxima primero)",
|
|
1736
|
+
FILTERS: "Filtros",
|
|
1737
|
+
SHOW_ITINERARY: "Mostrar itinerario",
|
|
1738
|
+
ITINERARY_TITLE: "Resumen de tu viaje",
|
|
1739
|
+
DOSSIER_NUMBER: "Número de expediente",
|
|
1740
|
+
PACKAGE_PRICE_PER_PERSON: "precio del paquete por persona",
|
|
1741
|
+
TOTAL: "total",
|
|
1742
|
+
DAY_BY_DAY: "Tu viaje día a día",
|
|
1743
|
+
START: "inicio",
|
|
1744
|
+
END: "fin",
|
|
1745
|
+
EXTENDED: "Extendido",
|
|
1746
|
+
COMPACT: "Compacto",
|
|
1747
|
+
LIST: "Lista",
|
|
1748
|
+
SELECT: "Seleccionar",
|
|
1749
|
+
DEPARTURE: "Salida",
|
|
1750
|
+
RETURN: "Regreso",
|
|
1751
|
+
DIRECT: "Directo",
|
|
1752
|
+
STOPS: "escalas",
|
|
1753
|
+
STOP: "escala",
|
|
1754
|
+
STOP_TIME: "Tiempo de escala",
|
|
1755
|
+
ACCOMMODATION: "Alojamiento",
|
|
1756
|
+
VIEW_DETAILS: "Ver detalles",
|
|
1757
|
+
NIGHTS: "noches"
|
|
1758
|
+
};
|
|
1401
1759
|
var esJson = {
|
|
1402
1760
|
STEPS: STEPS$b,
|
|
1403
1761
|
INPUT: INPUT$b,
|
|
@@ -1412,7 +1770,9 @@ var esJson = {
|
|
|
1412
1770
|
SUMMARY: SUMMARY$b,
|
|
1413
1771
|
CONFIRMATION: CONFIRMATION$b,
|
|
1414
1772
|
ERROR: ERROR$b,
|
|
1415
|
-
PRINT_OFFER_BUTTON: PRINT_OFFER_BUTTON$b
|
|
1773
|
+
PRINT_OFFER_BUTTON: PRINT_OFFER_BUTTON$b,
|
|
1774
|
+
QSM: QSM$c,
|
|
1775
|
+
SRP: SRP$b
|
|
1416
1776
|
};
|
|
1417
1777
|
|
|
1418
1778
|
var STEPS$a = {
|
|
@@ -1550,9 +1910,12 @@ var TRAVELERS_FORM$a = {
|
|
|
1550
1910
|
ADULTS: "adultes",
|
|
1551
1911
|
CHILD: "enfant",
|
|
1552
1912
|
CHILDREN: "enfants",
|
|
1553
|
-
GENDER: "
|
|
1913
|
+
GENDER: "Civilité",
|
|
1914
|
+
GENDER_ID: "Sexe selon passeport/carte d'identité",
|
|
1554
1915
|
MALE: "Monsieur",
|
|
1916
|
+
MALE_GENDER: "Homme",
|
|
1555
1917
|
FEMALE: "Madame",
|
|
1918
|
+
FEMALE_GENDER: "Femme",
|
|
1556
1919
|
OTHER: "Autre",
|
|
1557
1920
|
MAIN_BOOKER: "Principal réservant",
|
|
1558
1921
|
FIRST_NAME: "Prénom",
|
|
@@ -1666,6 +2029,73 @@ var PRINT_OFFER_BUTTON$a = {
|
|
|
1666
2029
|
LABEL_CREATING: "Génération du devis…",
|
|
1667
2030
|
LABEL_PRINTING: "Génération du PDF…"
|
|
1668
2031
|
};
|
|
2032
|
+
var QSM$b = {
|
|
2033
|
+
MULTIDESTINATION: "Multi-destinations",
|
|
2034
|
+
PACKAGES: "Forfaits",
|
|
2035
|
+
TRANSPORT_HOTEL: "Transport + hôtel",
|
|
2036
|
+
ACCOMMODATION: "Hébergement",
|
|
2037
|
+
TRANSPORTS: "Transports",
|
|
2038
|
+
TICKET_ONLY: "Billet uniquement",
|
|
2039
|
+
RENT_A_CAR: "Location de voiture",
|
|
2040
|
+
TRANSFERS: "Transferts",
|
|
2041
|
+
CRUISES: "Croisières",
|
|
2042
|
+
ONE_ACCOMMODATION: "Un hébergement",
|
|
2043
|
+
MULTIPLE_ACCOMMODATIONS: "Plusieurs hébergements",
|
|
2044
|
+
TRAVEL_CLASS_LABEL: "Classe de voyage",
|
|
2045
|
+
TRAVEL_CLASS_PLACEHOLDER: "Sélectionnez la classe",
|
|
2046
|
+
TRAVEL_TYPE_LABEL: "Type de voyage",
|
|
2047
|
+
TRAVEL_TYPE_PLACEHOLDER: "Sélectionnez le type de voyage",
|
|
2048
|
+
NATIONALITY_LABEL: "Nationalité",
|
|
2049
|
+
NATIONALITY_PLACEHOLDER: "Sélectionnez la nationalité",
|
|
2050
|
+
TRAVELERS_LABEL: "Qui voyage ?",
|
|
2051
|
+
ADD_ROOM: "Ajouter une chambre",
|
|
2052
|
+
REMOVE_ROOM: "Supprimer la chambre",
|
|
2053
|
+
MAX_TRAVELERS_REACHED: "Vous avez atteint le nombre maximum de voyageurs",
|
|
2054
|
+
ADULTS: "Adultes",
|
|
2055
|
+
CHILDREN: "Enfants",
|
|
2056
|
+
BABIES: "Bébés",
|
|
2057
|
+
CHOOSE_DATES: "Choisir les dates",
|
|
2058
|
+
DEPARTURE_DATE: "Date de départ",
|
|
2059
|
+
RETURN_DATE: "Date de retour",
|
|
2060
|
+
CONFIRM: "Confirmer",
|
|
2061
|
+
TRAVELERS: "Voyageurs"
|
|
2062
|
+
};
|
|
2063
|
+
var SRP$a = {
|
|
2064
|
+
NO_RESULTS: "Aucun résultat trouvé.",
|
|
2065
|
+
TOTAL_RESULTS_LABEL: "Forfaits trouvés",
|
|
2066
|
+
RESET: "Réinitialiser",
|
|
2067
|
+
LUGGAGEINCLUDED: "Bagages inclus",
|
|
2068
|
+
CANCEL: "Annuler",
|
|
2069
|
+
APPLY: "Appliquer",
|
|
2070
|
+
LOADING: "Chargement...",
|
|
2071
|
+
SEARCHRESULTCTA: "Voir les détails",
|
|
2072
|
+
SORTBY: "Trier par",
|
|
2073
|
+
PRICE_ASC: "Prix (croissant)",
|
|
2074
|
+
PRICE_DESC: "Prix (décroissant)",
|
|
2075
|
+
DEPARTURE_ASC: "Date de départ (la plus proche d’abord)",
|
|
2076
|
+
FILTERS: "Filtres",
|
|
2077
|
+
SHOW_ITINERARY: "Afficher l’itinéraire",
|
|
2078
|
+
ITINERARY_TITLE: "Résumé de votre voyage",
|
|
2079
|
+
DOSSIER_NUMBER: "Numéro de dossier",
|
|
2080
|
+
PACKAGE_PRICE_PER_PERSON: "prix du forfait par personne",
|
|
2081
|
+
TOTAL: "total",
|
|
2082
|
+
DAY_BY_DAY: "Votre voyage jour par jour",
|
|
2083
|
+
START: "début",
|
|
2084
|
+
END: "fin",
|
|
2085
|
+
EXTENDED: "Étendu",
|
|
2086
|
+
COMPACT: "Compact",
|
|
2087
|
+
LIST: "Liste",
|
|
2088
|
+
SELECT: "Sélectionner",
|
|
2089
|
+
DEPARTURE: "Départ",
|
|
2090
|
+
RETURN: "Retour",
|
|
2091
|
+
DIRECT: "Direct",
|
|
2092
|
+
STOPS: "escales",
|
|
2093
|
+
STOP: "escale",
|
|
2094
|
+
STOP_TIME: "Temps d’escale",
|
|
2095
|
+
ACCOMMODATION: "Hébergement",
|
|
2096
|
+
VIEW_DETAILS: "Voir les détails",
|
|
2097
|
+
NIGHTS: "nuits"
|
|
2098
|
+
};
|
|
1669
2099
|
var frBeJson = {
|
|
1670
2100
|
STEPS: STEPS$a,
|
|
1671
2101
|
INPUT: INPUT$a,
|
|
@@ -1680,7 +2110,9 @@ var frBeJson = {
|
|
|
1680
2110
|
SUMMARY: SUMMARY$a,
|
|
1681
2111
|
CONFIRMATION: CONFIRMATION$a,
|
|
1682
2112
|
ERROR: ERROR$a,
|
|
1683
|
-
PRINT_OFFER_BUTTON: PRINT_OFFER_BUTTON$a
|
|
2113
|
+
PRINT_OFFER_BUTTON: PRINT_OFFER_BUTTON$a,
|
|
2114
|
+
QSM: QSM$b,
|
|
2115
|
+
SRP: SRP$a
|
|
1684
2116
|
};
|
|
1685
2117
|
|
|
1686
2118
|
var STEPS$9 = {
|
|
@@ -1818,8 +2250,11 @@ var TRAVELERS_FORM$9 = {
|
|
|
1818
2250
|
CHILD: "enfant",
|
|
1819
2251
|
CHILDREN: "enfants",
|
|
1820
2252
|
GENDER: "Civilité",
|
|
2253
|
+
GENDER_ID: "Sexe selon passeport/carte d'identité",
|
|
1821
2254
|
MALE: "M.",
|
|
2255
|
+
MALE_GENDER: "Homme",
|
|
1822
2256
|
FEMALE: "Mme",
|
|
2257
|
+
FEMALE_GENDER: "Femme",
|
|
1823
2258
|
OTHER: "Autre",
|
|
1824
2259
|
MAIN_BOOKER: "Titulaire de la réservation",
|
|
1825
2260
|
FIRST_NAME: "Prénom",
|
|
@@ -1930,6 +2365,73 @@ var PRINT_OFFER_BUTTON$9 = {
|
|
|
1930
2365
|
LABEL_CREATING: "Génération du devis…",
|
|
1931
2366
|
LABEL_PRINTING: "Génération du PDF…"
|
|
1932
2367
|
};
|
|
2368
|
+
var QSM$a = {
|
|
2369
|
+
MULTIDESTINATION: "Multi-destinations",
|
|
2370
|
+
PACKAGES: "Forfaits",
|
|
2371
|
+
TRANSPORT_HOTEL: "Transport + hôtel",
|
|
2372
|
+
ACCOMMODATION: "Hébergement",
|
|
2373
|
+
TRANSPORTS: "Transports",
|
|
2374
|
+
TICKET_ONLY: "Billet uniquement",
|
|
2375
|
+
RENT_A_CAR: "Location de voiture",
|
|
2376
|
+
TRANSFERS: "Transferts",
|
|
2377
|
+
CRUISES: "Croisières",
|
|
2378
|
+
ONE_ACCOMMODATION: "Un hébergement",
|
|
2379
|
+
MULTIPLE_ACCOMMODATIONS: "Plusieurs hébergements",
|
|
2380
|
+
TRAVEL_CLASS_LABEL: "Classe de voyage",
|
|
2381
|
+
TRAVEL_CLASS_PLACEHOLDER: "Sélectionnez la classe",
|
|
2382
|
+
TRAVEL_TYPE_LABEL: "Type de voyage",
|
|
2383
|
+
TRAVEL_TYPE_PLACEHOLDER: "Sélectionnez le type de voyage",
|
|
2384
|
+
NATIONALITY_LABEL: "Nationalité",
|
|
2385
|
+
NATIONALITY_PLACEHOLDER: "Sélectionnez la nationalité",
|
|
2386
|
+
TRAVELERS_LABEL: "Qui voyage ?",
|
|
2387
|
+
ADD_ROOM: "Ajouter une chambre",
|
|
2388
|
+
REMOVE_ROOM: "Supprimer la chambre",
|
|
2389
|
+
MAX_TRAVELERS_REACHED: "Vous avez atteint le nombre maximum de voyageurs",
|
|
2390
|
+
ADULTS: "Adultes",
|
|
2391
|
+
CHILDREN: "Enfants",
|
|
2392
|
+
BABIES: "Bébés",
|
|
2393
|
+
CHOOSE_DATES: "Choisir les dates",
|
|
2394
|
+
DEPARTURE_DATE: "Date de départ",
|
|
2395
|
+
RETURN_DATE: "Date de retour",
|
|
2396
|
+
CONFIRM: "Confirmer",
|
|
2397
|
+
TRAVELERS: "Voyageurs"
|
|
2398
|
+
};
|
|
2399
|
+
var SRP$9 = {
|
|
2400
|
+
NO_RESULTS: "Aucun résultat trouvé.",
|
|
2401
|
+
TOTAL_RESULTS_LABEL: "Forfaits trouvés",
|
|
2402
|
+
RESET: "Réinitialiser",
|
|
2403
|
+
LUGGAGEINCLUDED: "Bagages inclus",
|
|
2404
|
+
CANCEL: "Annuler",
|
|
2405
|
+
APPLY: "Appliquer",
|
|
2406
|
+
LOADING: "Chargement...",
|
|
2407
|
+
SEARCHRESULTCTA: "Voir les détails",
|
|
2408
|
+
SORTBY: "Trier par",
|
|
2409
|
+
PRICE_ASC: "Prix (croissant)",
|
|
2410
|
+
PRICE_DESC: "Prix (décroissant)",
|
|
2411
|
+
DEPARTURE_ASC: "Date de départ (la plus proche d’abord)",
|
|
2412
|
+
FILTERS: "Filtres",
|
|
2413
|
+
SHOW_ITINERARY: "Afficher l’itinéraire",
|
|
2414
|
+
ITINERARY_TITLE: "Résumé de votre voyage",
|
|
2415
|
+
DOSSIER_NUMBER: "Numéro de dossier",
|
|
2416
|
+
PACKAGE_PRICE_PER_PERSON: "prix du forfait par personne",
|
|
2417
|
+
TOTAL: "total",
|
|
2418
|
+
DAY_BY_DAY: "Votre voyage jour par jour",
|
|
2419
|
+
START: "début",
|
|
2420
|
+
END: "fin",
|
|
2421
|
+
EXTENDED: "Étendu",
|
|
2422
|
+
COMPACT: "Compact",
|
|
2423
|
+
LIST: "Liste",
|
|
2424
|
+
SELECT: "Sélectionner",
|
|
2425
|
+
DEPARTURE: "Départ",
|
|
2426
|
+
RETURN: "Retour",
|
|
2427
|
+
DIRECT: "Direct",
|
|
2428
|
+
STOPS: "escales",
|
|
2429
|
+
STOP: "escale",
|
|
2430
|
+
STOP_TIME: "Temps d’escale",
|
|
2431
|
+
ACCOMMODATION: "Hébergement",
|
|
2432
|
+
VIEW_DETAILS: "Voir les détails",
|
|
2433
|
+
NIGHTS: "nuits"
|
|
2434
|
+
};
|
|
1933
2435
|
var frFrJson = {
|
|
1934
2436
|
STEPS: STEPS$9,
|
|
1935
2437
|
INPUT: INPUT$9,
|
|
@@ -1944,7 +2446,9 @@ var frFrJson = {
|
|
|
1944
2446
|
SUMMARY: SUMMARY$9,
|
|
1945
2447
|
CONFIRMATION: CONFIRMATION$9,
|
|
1946
2448
|
ERROR: ERROR$9,
|
|
1947
|
-
PRINT_OFFER_BUTTON: PRINT_OFFER_BUTTON$9
|
|
2449
|
+
PRINT_OFFER_BUTTON: PRINT_OFFER_BUTTON$9,
|
|
2450
|
+
QSM: QSM$a,
|
|
2451
|
+
SRP: SRP$9
|
|
1948
2452
|
};
|
|
1949
2453
|
|
|
1950
2454
|
var STEPS$8 = {
|
|
@@ -2081,9 +2585,12 @@ var TRAVELERS_FORM$8 = {
|
|
|
2081
2585
|
ADULTS: "fullorðnir",
|
|
2082
2586
|
CHILD: "barn",
|
|
2083
2587
|
CHILDREN: "börn",
|
|
2084
|
-
GENDER: "
|
|
2085
|
-
|
|
2588
|
+
GENDER: "Ávarp",
|
|
2589
|
+
GENDER_ID: "Kyn samkvæmt vegabréfi/skilríki",
|
|
2590
|
+
MALE: "Herra",
|
|
2591
|
+
MALE_GENDER: "Karl",
|
|
2086
2592
|
FEMALE: "Frú",
|
|
2593
|
+
FEMALE_GENDER: "Kona",
|
|
2087
2594
|
OTHER: "Annað",
|
|
2088
2595
|
MAIN_BOOKER: "Aðal bókari",
|
|
2089
2596
|
FIRST_NAME: "Fornafn",
|
|
@@ -2194,6 +2701,73 @@ var PRINT_OFFER_BUTTON$8 = {
|
|
|
2194
2701
|
LABEL_CREATING: "Búið til tilboð…",
|
|
2195
2702
|
LABEL_PRINTING: "Búið til PDF…"
|
|
2196
2703
|
};
|
|
2704
|
+
var QSM$9 = {
|
|
2705
|
+
MULTIDESTINATION: "Margir áfangastaðir",
|
|
2706
|
+
PACKAGES: "Pakkar",
|
|
2707
|
+
TRANSPORT_HOTEL: "Flug + hótel",
|
|
2708
|
+
ACCOMMODATION: "Gisting",
|
|
2709
|
+
TRANSPORTS: "Samgöngur",
|
|
2710
|
+
TICKET_ONLY: "Aðeins miði",
|
|
2711
|
+
RENT_A_CAR: "Leigja bíl",
|
|
2712
|
+
TRANSFERS: "Akstur",
|
|
2713
|
+
CRUISES: "Siglingar",
|
|
2714
|
+
ONE_ACCOMMODATION: "Ein gisting",
|
|
2715
|
+
MULTIPLE_ACCOMMODATIONS: "Margar gistingar",
|
|
2716
|
+
TRAVEL_CLASS_LABEL: "Farrými",
|
|
2717
|
+
TRAVEL_CLASS_PLACEHOLDER: "Veldu farrými",
|
|
2718
|
+
TRAVEL_TYPE_LABEL: "Ferðategund",
|
|
2719
|
+
TRAVEL_TYPE_PLACEHOLDER: "Veldu ferðategund",
|
|
2720
|
+
NATIONALITY_LABEL: "Þjóðerni",
|
|
2721
|
+
NATIONALITY_PLACEHOLDER: "Veldu þjóðerni",
|
|
2722
|
+
TRAVELERS_LABEL: "Hverjir ferðast?",
|
|
2723
|
+
ADD_ROOM: "Bæta við herbergi",
|
|
2724
|
+
REMOVE_ROOM: "Fjarlægja herbergi",
|
|
2725
|
+
MAX_TRAVELERS_REACHED: "Hámarksfjölda ferðalanga náð",
|
|
2726
|
+
ADULTS: "Fullorðnir",
|
|
2727
|
+
CHILDREN: "Börn",
|
|
2728
|
+
BABIES: "Ungbörn",
|
|
2729
|
+
CHOOSE_DATES: "Veldu dagsetningar",
|
|
2730
|
+
DEPARTURE_DATE: "Brottfarardagur",
|
|
2731
|
+
RETURN_DATE: "Heimkomudagur",
|
|
2732
|
+
CONFIRM: "Staðfesta",
|
|
2733
|
+
TRAVELERS: "Ferðalangar"
|
|
2734
|
+
};
|
|
2735
|
+
var SRP$8 = {
|
|
2736
|
+
NO_RESULTS: "Engar niðurstöður fundust.",
|
|
2737
|
+
TOTAL_RESULTS_LABEL: "Fundnar pakkar",
|
|
2738
|
+
RESET: "Endurstilla",
|
|
2739
|
+
LUGGAGEINCLUDED: "Farangur innifalinn",
|
|
2740
|
+
CANCEL: "Hætta við",
|
|
2741
|
+
APPLY: "Staðfesta",
|
|
2742
|
+
LOADING: "Hleðst...",
|
|
2743
|
+
SEARCHRESULTCTA: "Skoða upplýsingar",
|
|
2744
|
+
SORTBY: "Raða eftir",
|
|
2745
|
+
PRICE_ASC: "Verð (lægst til hæst)",
|
|
2746
|
+
PRICE_DESC: "Verð (hæst til lægst)",
|
|
2747
|
+
DEPARTURE_ASC: "Brottfarardagur (nærst fyrst)",
|
|
2748
|
+
FILTERS: "Síur",
|
|
2749
|
+
SHOW_ITINERARY: "Sýna ferðaráætlun",
|
|
2750
|
+
ITINERARY_TITLE: "Yfirlit ferðarinnar",
|
|
2751
|
+
DOSSIER_NUMBER: "Skrárnúmer",
|
|
2752
|
+
PACKAGE_PRICE_PER_PERSON: "pakka verð á mann",
|
|
2753
|
+
TOTAL: "samtals",
|
|
2754
|
+
DAY_BY_DAY: "Ferðin þín dag fyrir dag",
|
|
2755
|
+
START: "byrjun",
|
|
2756
|
+
END: "lok",
|
|
2757
|
+
EXTENDED: "Útvíkkað",
|
|
2758
|
+
COMPACT: "Þjappað",
|
|
2759
|
+
LIST: "Listi",
|
|
2760
|
+
SELECT: "Velja",
|
|
2761
|
+
DEPARTURE: "Brottför",
|
|
2762
|
+
RETURN: "Afturferð",
|
|
2763
|
+
DIRECT: "Beint",
|
|
2764
|
+
STOPS: "stöðvar",
|
|
2765
|
+
STOP: "stöð",
|
|
2766
|
+
STOP_TIME: "Skipti tími",
|
|
2767
|
+
ACCOMMODATION: "Gisting",
|
|
2768
|
+
VIEW_DETAILS: "Skoða upplýsingar",
|
|
2769
|
+
NIGHTS: "nætur"
|
|
2770
|
+
};
|
|
2197
2771
|
var isJson = {
|
|
2198
2772
|
STEPS: STEPS$8,
|
|
2199
2773
|
INPUT: INPUT$8,
|
|
@@ -2208,7 +2782,9 @@ var isJson = {
|
|
|
2208
2782
|
SUMMARY: SUMMARY$8,
|
|
2209
2783
|
CONFIRMATION: CONFIRMATION$8,
|
|
2210
2784
|
ERROR: ERROR$8,
|
|
2211
|
-
PRINT_OFFER_BUTTON: PRINT_OFFER_BUTTON$8
|
|
2785
|
+
PRINT_OFFER_BUTTON: PRINT_OFFER_BUTTON$8,
|
|
2786
|
+
QSM: QSM$9,
|
|
2787
|
+
SRP: SRP$8
|
|
2212
2788
|
};
|
|
2213
2789
|
|
|
2214
2790
|
var STEPS$7 = {
|
|
@@ -2346,8 +2922,11 @@ var TRAVELERS_FORM$7 = {
|
|
|
2346
2922
|
CHILD: "bambino",
|
|
2347
2923
|
CHILDREN: "bambini",
|
|
2348
2924
|
GENDER: "Titolo",
|
|
2925
|
+
GENDER_ID: "Sesso secondo passaporto/carta d'identità",
|
|
2349
2926
|
MALE: "Sig.",
|
|
2927
|
+
MALE_GENDER: "Uomo",
|
|
2350
2928
|
FEMALE: "Sig.ra",
|
|
2929
|
+
FEMALE_GENDER: "Donna",
|
|
2351
2930
|
OTHER: "Altro",
|
|
2352
2931
|
MAIN_BOOKER: "Intestatario della prenotazione",
|
|
2353
2932
|
FIRST_NAME: "Nome",
|
|
@@ -2458,6 +3037,73 @@ var PRINT_OFFER_BUTTON$7 = {
|
|
|
2458
3037
|
LABEL_CREATING: "Generazione del preventivo…",
|
|
2459
3038
|
LABEL_PRINTING: "Generazione del PDF…"
|
|
2460
3039
|
};
|
|
3040
|
+
var QSM$8 = {
|
|
3041
|
+
MULTIDESTINATION: "Multidestinazione",
|
|
3042
|
+
PACKAGES: "Pacchetti",
|
|
3043
|
+
TRANSPORT_HOTEL: "Trasporto + hotel",
|
|
3044
|
+
ACCOMMODATION: "Alloggio",
|
|
3045
|
+
TRANSPORTS: "Trasporti",
|
|
3046
|
+
TICKET_ONLY: "Solo biglietto",
|
|
3047
|
+
RENT_A_CAR: "Noleggio auto",
|
|
3048
|
+
TRANSFERS: "Trasferimenti",
|
|
3049
|
+
CRUISES: "Crociere",
|
|
3050
|
+
ONE_ACCOMMODATION: "Un alloggio",
|
|
3051
|
+
MULTIPLE_ACCOMMODATIONS: "Più alloggi",
|
|
3052
|
+
TRAVEL_CLASS_LABEL: "Classe di viaggio",
|
|
3053
|
+
TRAVEL_CLASS_PLACEHOLDER: "Seleziona classe di viaggio",
|
|
3054
|
+
TRAVEL_TYPE_LABEL: "Tipo di viaggio",
|
|
3055
|
+
TRAVEL_TYPE_PLACEHOLDER: "Seleziona tipo di viaggio",
|
|
3056
|
+
NATIONALITY_LABEL: "Nazionalità",
|
|
3057
|
+
NATIONALITY_PLACEHOLDER: "Seleziona nazionalità",
|
|
3058
|
+
TRAVELERS_LABEL: "Chi viaggia?",
|
|
3059
|
+
ADD_ROOM: "Aggiungi camera",
|
|
3060
|
+
REMOVE_ROOM: "Rimuovi camera",
|
|
3061
|
+
MAX_TRAVELERS_REACHED: "Hai raggiunto il numero massimo di viaggiatori",
|
|
3062
|
+
ADULTS: "Adulti",
|
|
3063
|
+
CHILDREN: "Bambini",
|
|
3064
|
+
BABIES: "Neonati",
|
|
3065
|
+
CHOOSE_DATES: "Seleziona date",
|
|
3066
|
+
DEPARTURE_DATE: "Data di partenza",
|
|
3067
|
+
RETURN_DATE: "Data di ritorno",
|
|
3068
|
+
CONFIRM: "Conferma",
|
|
3069
|
+
TRAVELERS: "Viaggiatori"
|
|
3070
|
+
};
|
|
3071
|
+
var SRP$7 = {
|
|
3072
|
+
NO_RESULTS: "Nessun risultato trovato.",
|
|
3073
|
+
TOTAL_RESULTS_LABEL: "Pacchetti trovati",
|
|
3074
|
+
RESET: "Reimposta",
|
|
3075
|
+
LUGGAGEINCLUDED: "Bagaglio incluso",
|
|
3076
|
+
CANCEL: "Annulla",
|
|
3077
|
+
APPLY: "Applica",
|
|
3078
|
+
LOADING: "Caricamento...",
|
|
3079
|
+
SEARCHRESULTCTA: "Visualizza dettagli",
|
|
3080
|
+
SORTBY: "Ordina per",
|
|
3081
|
+
PRICE_ASC: "Prezzo (dal più basso al più alto)",
|
|
3082
|
+
PRICE_DESC: "Prezzo (dal più alto al più basso)",
|
|
3083
|
+
DEPARTURE_ASC: "Data di partenza (prima la più vicina)",
|
|
3084
|
+
FILTERS: "Filtri",
|
|
3085
|
+
SHOW_ITINERARY: "Mostra itinerario",
|
|
3086
|
+
ITINERARY_TITLE: "Riepilogo del tuo viaggio",
|
|
3087
|
+
DOSSIER_NUMBER: "Numero di pratica",
|
|
3088
|
+
PACKAGE_PRICE_PER_PERSON: "prezzo pacchetto per persona",
|
|
3089
|
+
TOTAL: "totale",
|
|
3090
|
+
DAY_BY_DAY: "Il tuo viaggio giorno per giorno",
|
|
3091
|
+
START: "inizio",
|
|
3092
|
+
END: "fine",
|
|
3093
|
+
EXTENDED: "Esteso",
|
|
3094
|
+
COMPACT: "Compatto",
|
|
3095
|
+
LIST: "Lista",
|
|
3096
|
+
SELECT: "Seleziona",
|
|
3097
|
+
DEPARTURE: "Partenza",
|
|
3098
|
+
RETURN: "Ritorno",
|
|
3099
|
+
DIRECT: "Diretto",
|
|
3100
|
+
STOPS: "scali",
|
|
3101
|
+
STOP: "scalo",
|
|
3102
|
+
STOP_TIME: "Tempo di cambio",
|
|
3103
|
+
ACCOMMODATION: "Alloggio",
|
|
3104
|
+
VIEW_DETAILS: "Visualizza dettagli",
|
|
3105
|
+
NIGHTS: "notti"
|
|
3106
|
+
};
|
|
2461
3107
|
var itJson = {
|
|
2462
3108
|
STEPS: STEPS$7,
|
|
2463
3109
|
INPUT: INPUT$7,
|
|
@@ -2472,7 +3118,9 @@ var itJson = {
|
|
|
2472
3118
|
SUMMARY: SUMMARY$7,
|
|
2473
3119
|
CONFIRMATION: CONFIRMATION$7,
|
|
2474
3120
|
ERROR: ERROR$7,
|
|
2475
|
-
PRINT_OFFER_BUTTON: PRINT_OFFER_BUTTON$7
|
|
3121
|
+
PRINT_OFFER_BUTTON: PRINT_OFFER_BUTTON$7,
|
|
3122
|
+
QSM: QSM$8,
|
|
3123
|
+
SRP: SRP$7
|
|
2476
3124
|
};
|
|
2477
3125
|
|
|
2478
3126
|
var STEPS$6 = {
|
|
@@ -2611,8 +3259,11 @@ var TRAVELERS_FORM$6 = {
|
|
|
2611
3259
|
CHILD: "kind",
|
|
2612
3260
|
CHILDREN: "kinderen",
|
|
2613
3261
|
GENDER: "Aanspreking",
|
|
3262
|
+
GENDER_ID: "Geslacht volgens paspoort/identiteitskaart",
|
|
2614
3263
|
MALE: "Meneer",
|
|
3264
|
+
MALE_GENDER: "Man",
|
|
2615
3265
|
FEMALE: "Mevrouw",
|
|
3266
|
+
FEMALE_GENDER: "Vrouw",
|
|
2616
3267
|
OTHER: "Anders",
|
|
2617
3268
|
MAIN_BOOKER: "Hoofdboeker",
|
|
2618
3269
|
FIRST_NAME: "Voornaam",
|
|
@@ -2726,6 +3377,73 @@ var PRINT_OFFER_BUTTON$6 = {
|
|
|
2726
3377
|
LABEL_CREATING: "Offerte genereren...",
|
|
2727
3378
|
LABEL_PRINTING: "PDF genereren..."
|
|
2728
3379
|
};
|
|
3380
|
+
var QSM$7 = {
|
|
3381
|
+
MULTIDESTINATION: "Meerdere bestemmingen",
|
|
3382
|
+
PACKAGES: "Pakketten",
|
|
3383
|
+
TRANSPORT_HOTEL: "Vervoer + hotel",
|
|
3384
|
+
ACCOMMODATION: "Accommodatie",
|
|
3385
|
+
TRANSPORTS: "Vervoer",
|
|
3386
|
+
TICKET_ONLY: "Alleen ticket",
|
|
3387
|
+
RENT_A_CAR: "Auto huren",
|
|
3388
|
+
TRANSFERS: "Transfers",
|
|
3389
|
+
CRUISES: "Cruises",
|
|
3390
|
+
ONE_ACCOMMODATION: "Eén accommodatie",
|
|
3391
|
+
MULTIPLE_ACCOMMODATIONS: "Meerdere accommodaties",
|
|
3392
|
+
TRAVEL_CLASS_LABEL: "Reisklasse",
|
|
3393
|
+
TRAVEL_CLASS_PLACEHOLDER: "Selecteer reisklasse",
|
|
3394
|
+
TRAVEL_TYPE_LABEL: "Reistype",
|
|
3395
|
+
TRAVEL_TYPE_PLACEHOLDER: "Selecteer reistype",
|
|
3396
|
+
NATIONALITY_LABEL: "Nationaliteit",
|
|
3397
|
+
NATIONALITY_PLACEHOLDER: "Selecteer nationaliteit",
|
|
3398
|
+
TRAVELERS_LABEL: "Wie reist er?",
|
|
3399
|
+
ADD_ROOM: "Kamer toevoegen",
|
|
3400
|
+
REMOVE_ROOM: "Kamer verwijderen",
|
|
3401
|
+
MAX_TRAVELERS_REACHED: "Je hebt het maximale aantal reizigers bereikt",
|
|
3402
|
+
ADULTS: "Volwassenen",
|
|
3403
|
+
CHILDREN: "Kinderen",
|
|
3404
|
+
BABIES: "Baby’s",
|
|
3405
|
+
CHOOSE_DATES: "Selecteer datums",
|
|
3406
|
+
DEPARTURE_DATE: "Vertrekdatum",
|
|
3407
|
+
RETURN_DATE: "Terugkeerdatum",
|
|
3408
|
+
CONFIRM: "Bevestigen",
|
|
3409
|
+
TRAVELERS: "Reizigers"
|
|
3410
|
+
};
|
|
3411
|
+
var SRP$6 = {
|
|
3412
|
+
NO_RESULTS: "Geen resultaten gevonden.",
|
|
3413
|
+
TOTAL_RESULTS_LABEL: "Gevonden pakketten",
|
|
3414
|
+
RESET: "Resetten",
|
|
3415
|
+
LUGGAGEINCLUDED: "Bagage inbegrepen",
|
|
3416
|
+
CANCEL: "Annuleren",
|
|
3417
|
+
APPLY: "Toepassen",
|
|
3418
|
+
LOADING: "Laden...",
|
|
3419
|
+
SEARCHRESULTCTA: "Bekijk details",
|
|
3420
|
+
SORTBY: "Sorteren op",
|
|
3421
|
+
PRICE_ASC: "Prijs (laag naar hoog)",
|
|
3422
|
+
PRICE_DESC: "Prijs (hoog naar laag)",
|
|
3423
|
+
DEPARTURE_ASC: "Vertrekdatum (dichtstbij eerst)",
|
|
3424
|
+
FILTERS: "Filters",
|
|
3425
|
+
SHOW_ITINERARY: "Toon reisplan",
|
|
3426
|
+
ITINERARY_TITLE: "Overzicht van je reis",
|
|
3427
|
+
DOSSIER_NUMBER: "Dossiernummer",
|
|
3428
|
+
PACKAGE_PRICE_PER_PERSON: "pakketprijs per persoon",
|
|
3429
|
+
TOTAL: "totaal",
|
|
3430
|
+
DAY_BY_DAY: "Je reis dag voor dag",
|
|
3431
|
+
START: "start",
|
|
3432
|
+
END: "einde",
|
|
3433
|
+
EXTENDED: "Uitgebreid",
|
|
3434
|
+
COMPACT: "Compact",
|
|
3435
|
+
LIST: "Lijst",
|
|
3436
|
+
SELECT: "Selecteer",
|
|
3437
|
+
DEPARTURE: "Vertrek",
|
|
3438
|
+
RETURN: "Terugkeer",
|
|
3439
|
+
DIRECT: "Direct",
|
|
3440
|
+
STOPS: "stops",
|
|
3441
|
+
STOP: "stop",
|
|
3442
|
+
STOP_TIME: "Wachttijd",
|
|
3443
|
+
ACCOMMODATION: "Accommodatie",
|
|
3444
|
+
VIEW_DETAILS: "Bekijk details",
|
|
3445
|
+
NIGHTS: "nachten"
|
|
3446
|
+
};
|
|
2729
3447
|
var nlBeJson = {
|
|
2730
3448
|
STEPS: STEPS$6,
|
|
2731
3449
|
INPUT: INPUT$6,
|
|
@@ -2740,7 +3458,9 @@ var nlBeJson = {
|
|
|
2740
3458
|
SUMMARY: SUMMARY$6,
|
|
2741
3459
|
CONFIRMATION: CONFIRMATION$6,
|
|
2742
3460
|
ERROR: ERROR$6,
|
|
2743
|
-
PRINT_OFFER_BUTTON: PRINT_OFFER_BUTTON$6
|
|
3461
|
+
PRINT_OFFER_BUTTON: PRINT_OFFER_BUTTON$6,
|
|
3462
|
+
QSM: QSM$7,
|
|
3463
|
+
SRP: SRP$6
|
|
2744
3464
|
};
|
|
2745
3465
|
|
|
2746
3466
|
var STEPS$5 = {
|
|
@@ -2878,8 +3598,11 @@ var TRAVELERS_FORM$5 = {
|
|
|
2878
3598
|
CHILD: "kind",
|
|
2879
3599
|
CHILDREN: "kinderen",
|
|
2880
3600
|
GENDER: "Aanhef",
|
|
3601
|
+
GENDER_ID: "Geslacht volgens paspoort/identiteitskaart",
|
|
2881
3602
|
MALE: "Dhr.",
|
|
3603
|
+
MALE_GENDER: "Man",
|
|
2882
3604
|
FEMALE: "Mevr.",
|
|
3605
|
+
FEMALE_GENDER: "Vrouw",
|
|
2883
3606
|
OTHER: "Anders",
|
|
2884
3607
|
MAIN_BOOKER: "Hoofdboeker",
|
|
2885
3608
|
FIRST_NAME: "Voornaam",
|
|
@@ -2990,6 +3713,73 @@ var PRINT_OFFER_BUTTON$5 = {
|
|
|
2990
3713
|
LABEL_CREATING: "Offerte genereren…",
|
|
2991
3714
|
LABEL_PRINTING: "PDF genereren…"
|
|
2992
3715
|
};
|
|
3716
|
+
var QSM$6 = {
|
|
3717
|
+
MULTIDESTINATION: "Meerdere bestemmingen",
|
|
3718
|
+
PACKAGES: "Pakketten",
|
|
3719
|
+
TRANSPORT_HOTEL: "Vervoer + hotel",
|
|
3720
|
+
ACCOMMODATION: "Accommodatie",
|
|
3721
|
+
TRANSPORTS: "Vervoer",
|
|
3722
|
+
TICKET_ONLY: "Alleen ticket",
|
|
3723
|
+
RENT_A_CAR: "Auto huren",
|
|
3724
|
+
TRANSFERS: "Transfers",
|
|
3725
|
+
CRUISES: "Cruises",
|
|
3726
|
+
ONE_ACCOMMODATION: "Eén accommodatie",
|
|
3727
|
+
MULTIPLE_ACCOMMODATIONS: "Meerdere accommodaties",
|
|
3728
|
+
TRAVEL_CLASS_LABEL: "Reisklasse",
|
|
3729
|
+
TRAVEL_CLASS_PLACEHOLDER: "Selecteer reisklasse",
|
|
3730
|
+
TRAVEL_TYPE_LABEL: "Reistype",
|
|
3731
|
+
TRAVEL_TYPE_PLACEHOLDER: "Selecteer reistype",
|
|
3732
|
+
NATIONALITY_LABEL: "Nationaliteit",
|
|
3733
|
+
NATIONALITY_PLACEHOLDER: "Selecteer nationaliteit",
|
|
3734
|
+
TRAVELERS_LABEL: "Wie reist er?",
|
|
3735
|
+
ADD_ROOM: "Kamer toevoegen",
|
|
3736
|
+
REMOVE_ROOM: "Kamer verwijderen",
|
|
3737
|
+
MAX_TRAVELERS_REACHED: "Je hebt het maximale aantal reizigers bereikt",
|
|
3738
|
+
ADULTS: "Volwassenen",
|
|
3739
|
+
CHILDREN: "Kinderen",
|
|
3740
|
+
BABIES: "Baby’s",
|
|
3741
|
+
CHOOSE_DATES: "Selecteer datums",
|
|
3742
|
+
DEPARTURE_DATE: "Vertrekdatum",
|
|
3743
|
+
RETURN_DATE: "Terugkeerdatum",
|
|
3744
|
+
CONFIRM: "Bevestigen",
|
|
3745
|
+
TRAVELERS: "Reizigers"
|
|
3746
|
+
};
|
|
3747
|
+
var SRP$5 = {
|
|
3748
|
+
NO_RESULTS: "Geen resultaten gevonden.",
|
|
3749
|
+
TOTAL_RESULTS_LABEL: "Gevonden pakketten",
|
|
3750
|
+
RESET: "Resetten",
|
|
3751
|
+
LUGGAGEINCLUDED: "Bagage inbegrepen",
|
|
3752
|
+
CANCEL: "Annuleren",
|
|
3753
|
+
APPLY: "Toepassen",
|
|
3754
|
+
LOADING: "Laden...",
|
|
3755
|
+
SEARCHRESULTCTA: "Bekijk details",
|
|
3756
|
+
SORTBY: "Sorteren op",
|
|
3757
|
+
PRICE_ASC: "Prijs (laag naar hoog)",
|
|
3758
|
+
PRICE_DESC: "Prijs (hoog naar laag)",
|
|
3759
|
+
DEPARTURE_ASC: "Vertrekdatum (dichtstbij eerst)",
|
|
3760
|
+
FILTERS: "Filters",
|
|
3761
|
+
SHOW_ITINERARY: "Toon reisplan",
|
|
3762
|
+
ITINERARY_TITLE: "Overzicht van je reis",
|
|
3763
|
+
DOSSIER_NUMBER: "Dossiernummer",
|
|
3764
|
+
PACKAGE_PRICE_PER_PERSON: "pakketprijs per persoon",
|
|
3765
|
+
TOTAL: "totaal",
|
|
3766
|
+
DAY_BY_DAY: "Je reis dag voor dag",
|
|
3767
|
+
START: "start",
|
|
3768
|
+
END: "einde",
|
|
3769
|
+
EXTENDED: "Uitgebreid",
|
|
3770
|
+
COMPACT: "Compact",
|
|
3771
|
+
LIST: "Lijst",
|
|
3772
|
+
SELECT: "Selecteer",
|
|
3773
|
+
DEPARTURE: "Vertrek",
|
|
3774
|
+
RETURN: "Terugkeer",
|
|
3775
|
+
DIRECT: "Direct",
|
|
3776
|
+
STOPS: "stops",
|
|
3777
|
+
STOP: "stop",
|
|
3778
|
+
STOP_TIME: "Wachttijd",
|
|
3779
|
+
ACCOMMODATION: "Accommodatie",
|
|
3780
|
+
VIEW_DETAILS: "Bekijk details",
|
|
3781
|
+
NIGHTS: "nachten"
|
|
3782
|
+
};
|
|
2993
3783
|
var nlNlJson = {
|
|
2994
3784
|
STEPS: STEPS$5,
|
|
2995
3785
|
INPUT: INPUT$5,
|
|
@@ -3004,7 +3794,9 @@ var nlNlJson = {
|
|
|
3004
3794
|
SUMMARY: SUMMARY$5,
|
|
3005
3795
|
CONFIRMATION: CONFIRMATION$5,
|
|
3006
3796
|
ERROR: ERROR$5,
|
|
3007
|
-
PRINT_OFFER_BUTTON: PRINT_OFFER_BUTTON$5
|
|
3797
|
+
PRINT_OFFER_BUTTON: PRINT_OFFER_BUTTON$5,
|
|
3798
|
+
QSM: QSM$6,
|
|
3799
|
+
SRP: SRP$5
|
|
3008
3800
|
};
|
|
3009
3801
|
|
|
3010
3802
|
var STEPS$4 = {
|
|
@@ -3141,9 +3933,12 @@ var TRAVELERS_FORM$4 = {
|
|
|
3141
3933
|
ADULTS: "voksne",
|
|
3142
3934
|
CHILD: "barn",
|
|
3143
3935
|
CHILDREN: "barn",
|
|
3144
|
-
GENDER: "
|
|
3145
|
-
|
|
3936
|
+
GENDER: "Tiltaleform",
|
|
3937
|
+
GENDER_ID: "Kjønn ifølge pass/ID-kort",
|
|
3938
|
+
MALE: "Herr",
|
|
3939
|
+
MALE_GENDER: "Mann",
|
|
3146
3940
|
FEMALE: "Fru",
|
|
3941
|
+
FEMALE_GENDER: "Kvinne",
|
|
3147
3942
|
OTHER: "Annet",
|
|
3148
3943
|
MAIN_BOOKER: "Hovedbestiller",
|
|
3149
3944
|
FIRST_NAME: "Fornavn",
|
|
@@ -3254,6 +4049,73 @@ var PRINT_OFFER_BUTTON$4 = {
|
|
|
3254
4049
|
LABEL_CREATING: "Genererer tilbud…",
|
|
3255
4050
|
LABEL_PRINTING: "Genererer PDF…"
|
|
3256
4051
|
};
|
|
4052
|
+
var QSM$5 = {
|
|
4053
|
+
MULTIDESTINATION: "Flere destinasjoner",
|
|
4054
|
+
PACKAGES: "Pakker",
|
|
4055
|
+
TRANSPORT_HOTEL: "Transport + hotell",
|
|
4056
|
+
ACCOMMODATION: "Overnatting",
|
|
4057
|
+
TRANSPORTS: "Transport",
|
|
4058
|
+
TICKET_ONLY: "Kun billett",
|
|
4059
|
+
RENT_A_CAR: "Lei bil",
|
|
4060
|
+
TRANSFERS: "Transporttjenester",
|
|
4061
|
+
CRUISES: "Cruise",
|
|
4062
|
+
ONE_ACCOMMODATION: "Én overnatting",
|
|
4063
|
+
MULTIPLE_ACCOMMODATIONS: "Flere overnattinger",
|
|
4064
|
+
TRAVEL_CLASS_LABEL: "Reiseklasse",
|
|
4065
|
+
TRAVEL_CLASS_PLACEHOLDER: "Velg reiseklasse",
|
|
4066
|
+
TRAVEL_TYPE_LABEL: "Reisetype",
|
|
4067
|
+
TRAVEL_TYPE_PLACEHOLDER: "Velg reisetype",
|
|
4068
|
+
NATIONALITY_LABEL: "Nasjonalitet",
|
|
4069
|
+
NATIONALITY_PLACEHOLDER: "Velg nasjonalitet",
|
|
4070
|
+
TRAVELERS_LABEL: "Hvem reiser?",
|
|
4071
|
+
ADD_ROOM: "Legg til rom",
|
|
4072
|
+
REMOVE_ROOM: "Fjern rom",
|
|
4073
|
+
MAX_TRAVELERS_REACHED: "Du har nådd maksimalt antall reisende",
|
|
4074
|
+
ADULTS: "Voksne",
|
|
4075
|
+
CHILDREN: "Barn",
|
|
4076
|
+
BABIES: "Spedbarn",
|
|
4077
|
+
CHOOSE_DATES: "Velg datoer",
|
|
4078
|
+
DEPARTURE_DATE: "Avreisedato",
|
|
4079
|
+
RETURN_DATE: "Returdato",
|
|
4080
|
+
CONFIRM: "Bekreft",
|
|
4081
|
+
TRAVELERS: "Reisende"
|
|
4082
|
+
};
|
|
4083
|
+
var SRP$4 = {
|
|
4084
|
+
NO_RESULTS: "Ingen resultater funnet.",
|
|
4085
|
+
TOTAL_RESULTS_LABEL: "Fant pakker",
|
|
4086
|
+
RESET: "Tilbakestill",
|
|
4087
|
+
LUGGAGEINCLUDED: "Bagasje inkludert",
|
|
4088
|
+
CANCEL: "Avbryt",
|
|
4089
|
+
APPLY: "Bruk",
|
|
4090
|
+
LOADING: "Laster...",
|
|
4091
|
+
SEARCHRESULTCTA: "Se detaljer",
|
|
4092
|
+
SORTBY: "Sorter etter",
|
|
4093
|
+
PRICE_ASC: "Pris (lav til høy)",
|
|
4094
|
+
PRICE_DESC: "Pris (høy til lav)",
|
|
4095
|
+
DEPARTURE_ASC: "Avreisedato (nærmeste først)",
|
|
4096
|
+
FILTERS: "Filtre",
|
|
4097
|
+
SHOW_ITINERARY: "Vis reiserute",
|
|
4098
|
+
ITINERARY_TITLE: "Din reisemåloversikt",
|
|
4099
|
+
DOSSIER_NUMBER: "Saksnummer",
|
|
4100
|
+
PACKAGE_PRICE_PER_PERSON: "pakkepris per person",
|
|
4101
|
+
TOTAL: "totalt",
|
|
4102
|
+
DAY_BY_DAY: "Din reise dag for dag",
|
|
4103
|
+
START: "start",
|
|
4104
|
+
END: "slutt",
|
|
4105
|
+
EXTENDED: "Utvidet",
|
|
4106
|
+
COMPACT: "Kompakt",
|
|
4107
|
+
LIST: "Liste",
|
|
4108
|
+
SELECT: "Velg",
|
|
4109
|
+
DEPARTURE: "Avreise",
|
|
4110
|
+
RETURN: "Retur",
|
|
4111
|
+
DIRECT: "Direkte",
|
|
4112
|
+
STOPS: "stopp",
|
|
4113
|
+
STOP: "stopp",
|
|
4114
|
+
STOP_TIME: "Byttetid",
|
|
4115
|
+
ACCOMMODATION: "Overnatting",
|
|
4116
|
+
VIEW_DETAILS: "Se detaljer",
|
|
4117
|
+
NIGHTS: "netter"
|
|
4118
|
+
};
|
|
3257
4119
|
var noJson = {
|
|
3258
4120
|
STEPS: STEPS$4,
|
|
3259
4121
|
INPUT: INPUT$4,
|
|
@@ -3268,7 +4130,9 @@ var noJson = {
|
|
|
3268
4130
|
SUMMARY: SUMMARY$4,
|
|
3269
4131
|
CONFIRMATION: CONFIRMATION$4,
|
|
3270
4132
|
ERROR: ERROR$4,
|
|
3271
|
-
PRINT_OFFER_BUTTON: PRINT_OFFER_BUTTON$4
|
|
4133
|
+
PRINT_OFFER_BUTTON: PRINT_OFFER_BUTTON$4,
|
|
4134
|
+
QSM: QSM$5,
|
|
4135
|
+
SRP: SRP$4
|
|
3272
4136
|
};
|
|
3273
4137
|
|
|
3274
4138
|
var STEPS$3 = {
|
|
@@ -3406,8 +4270,11 @@ var TRAVELERS_FORM$3 = {
|
|
|
3406
4270
|
CHILD: "dziecko",
|
|
3407
4271
|
CHILDREN: "dzieci",
|
|
3408
4272
|
GENDER: "Forma grzecznościowa",
|
|
4273
|
+
GENDER_ID: "Płeć według paszportu/dowodu osobistego",
|
|
3409
4274
|
MALE: "Pan",
|
|
4275
|
+
MALE_GENDER: "Mężczyzna",
|
|
3410
4276
|
FEMALE: "Pani",
|
|
4277
|
+
FEMALE_GENDER: "Kobieta",
|
|
3411
4278
|
OTHER: "Inne",
|
|
3412
4279
|
MAIN_BOOKER: "Główny rezerwujący",
|
|
3413
4280
|
FIRST_NAME: "Imię",
|
|
@@ -3518,6 +4385,73 @@ var PRINT_OFFER_BUTTON$3 = {
|
|
|
3518
4385
|
LABEL_CREATING: "Generowanie oferty…",
|
|
3519
4386
|
LABEL_PRINTING: "Generowanie PDF…"
|
|
3520
4387
|
};
|
|
4388
|
+
var QSM$4 = {
|
|
4389
|
+
MULTIDESTINATION: "Wiele kierunków",
|
|
4390
|
+
PACKAGES: "Pakiety",
|
|
4391
|
+
TRANSPORT_HOTEL: "Transport + hotel",
|
|
4392
|
+
ACCOMMODATION: "Zakwaterowanie",
|
|
4393
|
+
TRANSPORTS: "Transport",
|
|
4394
|
+
TICKET_ONLY: "Tylko bilet",
|
|
4395
|
+
RENT_A_CAR: "Wynajem samochodu",
|
|
4396
|
+
TRANSFERS: "Transfery",
|
|
4397
|
+
CRUISES: "Rejsy",
|
|
4398
|
+
ONE_ACCOMMODATION: "Jedno zakwaterowanie",
|
|
4399
|
+
MULTIPLE_ACCOMMODATIONS: "Wiele zakwaterowań",
|
|
4400
|
+
TRAVEL_CLASS_LABEL: "Klasa podróży",
|
|
4401
|
+
TRAVEL_CLASS_PLACEHOLDER: "Wybierz klasę podróży",
|
|
4402
|
+
TRAVEL_TYPE_LABEL: "Typ podróży",
|
|
4403
|
+
TRAVEL_TYPE_PLACEHOLDER: "Wybierz typ podróży",
|
|
4404
|
+
NATIONALITY_LABEL: "Narodowość",
|
|
4405
|
+
NATIONALITY_PLACEHOLDER: "Wybierz narodowość",
|
|
4406
|
+
TRAVELERS_LABEL: "Kto podróżuje?",
|
|
4407
|
+
ADD_ROOM: "Dodaj pokój",
|
|
4408
|
+
REMOVE_ROOM: "Usuń pokój",
|
|
4409
|
+
MAX_TRAVELERS_REACHED: "Osiągnięto maksymalną liczbę podróżnych",
|
|
4410
|
+
ADULTS: "Dorośli",
|
|
4411
|
+
CHILDREN: "Dzieci",
|
|
4412
|
+
BABIES: "Niemowlęta",
|
|
4413
|
+
CHOOSE_DATES: "Wybierz daty",
|
|
4414
|
+
DEPARTURE_DATE: "Data wyjazdu",
|
|
4415
|
+
RETURN_DATE: "Data powrotu",
|
|
4416
|
+
CONFIRM: "Potwierdź",
|
|
4417
|
+
TRAVELERS: "Podróżni"
|
|
4418
|
+
};
|
|
4419
|
+
var SRP$3 = {
|
|
4420
|
+
NO_RESULTS: "Nie znaleziono wyników.",
|
|
4421
|
+
TOTAL_RESULTS_LABEL: "Znalezione pakiety",
|
|
4422
|
+
RESET: "Resetuj",
|
|
4423
|
+
LUGGAGEINCLUDED: "Bagaż wliczony",
|
|
4424
|
+
CANCEL: "Anuluj",
|
|
4425
|
+
APPLY: "Zastosuj",
|
|
4426
|
+
LOADING: "Ładowanie...",
|
|
4427
|
+
SEARCHRESULTCTA: "Zobacz szczegóły",
|
|
4428
|
+
SORTBY: "Sortuj według",
|
|
4429
|
+
PRICE_ASC: "Cena (od najniższej do najwyższej)",
|
|
4430
|
+
PRICE_DESC: "Cena (od najwyższej do najniższej)",
|
|
4431
|
+
DEPARTURE_ASC: "Data wyjazdu (najbliższa najpierw)",
|
|
4432
|
+
FILTERS: "Filtry",
|
|
4433
|
+
SHOW_ITINERARY: "Pokaż plan podróży",
|
|
4434
|
+
ITINERARY_TITLE: "Podsumowanie Twojej podróży",
|
|
4435
|
+
DOSSIER_NUMBER: "Numer pliku",
|
|
4436
|
+
PACKAGE_PRICE_PER_PERSON: "cena pakietu za osobę",
|
|
4437
|
+
TOTAL: "łącznie",
|
|
4438
|
+
DAY_BY_DAY: "Twoja podróż dzień po dniu",
|
|
4439
|
+
START: "początek",
|
|
4440
|
+
END: "koniec",
|
|
4441
|
+
EXTENDED: "Rozszerzony",
|
|
4442
|
+
COMPACT: "Kompaktowy",
|
|
4443
|
+
LIST: "Lista",
|
|
4444
|
+
SELECT: "Wybierz",
|
|
4445
|
+
DEPARTURE: "Wyjazd",
|
|
4446
|
+
RETURN: "Powrót",
|
|
4447
|
+
DIRECT: "Bezpośredni",
|
|
4448
|
+
STOPS: "przesiadki",
|
|
4449
|
+
STOP: "przesiadka",
|
|
4450
|
+
STOP_TIME: "Czas przesiadki",
|
|
4451
|
+
ACCOMMODATION: "Zakwaterowanie",
|
|
4452
|
+
VIEW_DETAILS: "Zobacz szczegóły",
|
|
4453
|
+
NIGHTS: "noce"
|
|
4454
|
+
};
|
|
3521
4455
|
var plJson = {
|
|
3522
4456
|
STEPS: STEPS$3,
|
|
3523
4457
|
INPUT: INPUT$3,
|
|
@@ -3532,7 +4466,9 @@ var plJson = {
|
|
|
3532
4466
|
SUMMARY: SUMMARY$3,
|
|
3533
4467
|
CONFIRMATION: CONFIRMATION$3,
|
|
3534
4468
|
ERROR: ERROR$3,
|
|
3535
|
-
PRINT_OFFER_BUTTON: PRINT_OFFER_BUTTON$3
|
|
4469
|
+
PRINT_OFFER_BUTTON: PRINT_OFFER_BUTTON$3,
|
|
4470
|
+
QSM: QSM$4,
|
|
4471
|
+
SRP: SRP$3
|
|
3536
4472
|
};
|
|
3537
4473
|
|
|
3538
4474
|
var STEPS$2 = {
|
|
@@ -3670,8 +4606,11 @@ var TRAVELERS_FORM$2 = {
|
|
|
3670
4606
|
CHILD: "criança",
|
|
3671
4607
|
CHILDREN: "crianças",
|
|
3672
4608
|
GENDER: "Tratamento",
|
|
4609
|
+
GENDER_ID: "Sexo conforme passaporte/documento de identidade",
|
|
3673
4610
|
MALE: "Sr.",
|
|
4611
|
+
MALE_GENDER: "Homem",
|
|
3674
4612
|
FEMALE: "Sra.",
|
|
4613
|
+
FEMALE_GENDER: "Mulher",
|
|
3675
4614
|
OTHER: "Outro",
|
|
3676
4615
|
MAIN_BOOKER: "Titular da reserva",
|
|
3677
4616
|
FIRST_NAME: "Nome",
|
|
@@ -3782,6 +4721,73 @@ var PRINT_OFFER_BUTTON$2 = {
|
|
|
3782
4721
|
LABEL_CREATING: "A gerar orçamento…",
|
|
3783
4722
|
LABEL_PRINTING: "A gerar PDF…"
|
|
3784
4723
|
};
|
|
4724
|
+
var QSM$3 = {
|
|
4725
|
+
MULTIDESTINATION: "Multidestino",
|
|
4726
|
+
PACKAGES: "Pacotes",
|
|
4727
|
+
TRANSPORT_HOTEL: "Transporte + hotel",
|
|
4728
|
+
ACCOMMODATION: "Alojamento",
|
|
4729
|
+
TRANSPORTS: "Transportes",
|
|
4730
|
+
TICKET_ONLY: "Só bilhete",
|
|
4731
|
+
RENT_A_CAR: "Alugar carro",
|
|
4732
|
+
TRANSFERS: "Transferes",
|
|
4733
|
+
CRUISES: "Cruzeiros",
|
|
4734
|
+
ONE_ACCOMMODATION: "Um alojamento",
|
|
4735
|
+
MULTIPLE_ACCOMMODATIONS: "Vários alojamentos",
|
|
4736
|
+
TRAVEL_CLASS_LABEL: "Classe de viagem",
|
|
4737
|
+
TRAVEL_CLASS_PLACEHOLDER: "Selecionar classe de viagem",
|
|
4738
|
+
TRAVEL_TYPE_LABEL: "Tipo de viagem",
|
|
4739
|
+
TRAVEL_TYPE_PLACEHOLDER: "Selecionar tipo de viagem",
|
|
4740
|
+
NATIONALITY_LABEL: "Nacionalidade",
|
|
4741
|
+
NATIONALITY_PLACEHOLDER: "Selecionar nacionalidade",
|
|
4742
|
+
TRAVELERS_LABEL: "Quem viaja?",
|
|
4743
|
+
ADD_ROOM: "Adicionar quarto",
|
|
4744
|
+
REMOVE_ROOM: "Remover quarto",
|
|
4745
|
+
MAX_TRAVELERS_REACHED: "Atingiu o número máximo de viajantes",
|
|
4746
|
+
ADULTS: "Adultos",
|
|
4747
|
+
CHILDREN: "Crianças",
|
|
4748
|
+
BABIES: "Bebés",
|
|
4749
|
+
CHOOSE_DATES: "Selecionar datas",
|
|
4750
|
+
DEPARTURE_DATE: "Data de partida",
|
|
4751
|
+
RETURN_DATE: "Data de regresso",
|
|
4752
|
+
CONFIRM: "Confirmar",
|
|
4753
|
+
TRAVELERS: "Viajantes"
|
|
4754
|
+
};
|
|
4755
|
+
var SRP$2 = {
|
|
4756
|
+
NO_RESULTS: "Nenhum resultado encontrado.",
|
|
4757
|
+
TOTAL_RESULTS_LABEL: "Pacotes encontrados",
|
|
4758
|
+
RESET: "Redefinir",
|
|
4759
|
+
LUGGAGEINCLUDED: "Bagagem incluída",
|
|
4760
|
+
CANCEL: "Cancelar",
|
|
4761
|
+
APPLY: "Aplicar",
|
|
4762
|
+
LOADING: "A carregar...",
|
|
4763
|
+
SEARCHRESULTCTA: "Ver detalhes",
|
|
4764
|
+
SORTBY: "Ordenar por",
|
|
4765
|
+
PRICE_ASC: "Preço (do mais baixo para o mais alto)",
|
|
4766
|
+
PRICE_DESC: "Preço (do mais alto para o mais baixo)",
|
|
4767
|
+
DEPARTURE_ASC: "Data de partida (mais próxima primeiro)",
|
|
4768
|
+
FILTERS: "Filtros",
|
|
4769
|
+
SHOW_ITINERARY: "Mostrar itinerário",
|
|
4770
|
+
ITINERARY_TITLE: "Resumo da sua viagem",
|
|
4771
|
+
DOSSIER_NUMBER: "Número do processo",
|
|
4772
|
+
PACKAGE_PRICE_PER_PERSON: "preço do pacote por pessoa",
|
|
4773
|
+
TOTAL: "total",
|
|
4774
|
+
DAY_BY_DAY: "A sua viagem dia a dia",
|
|
4775
|
+
START: "início",
|
|
4776
|
+
END: "fim",
|
|
4777
|
+
EXTENDED: "Estendido",
|
|
4778
|
+
COMPACT: "Compacto",
|
|
4779
|
+
LIST: "Lista",
|
|
4780
|
+
SELECT: "Selecionar",
|
|
4781
|
+
DEPARTURE: "Partida",
|
|
4782
|
+
RETURN: "Regresso",
|
|
4783
|
+
DIRECT: "Direto",
|
|
4784
|
+
STOPS: "escalas",
|
|
4785
|
+
STOP: "escala",
|
|
4786
|
+
STOP_TIME: "Tempo de escala",
|
|
4787
|
+
ACCOMMODATION: "Alojamento",
|
|
4788
|
+
VIEW_DETAILS: "Ver detalhes",
|
|
4789
|
+
NIGHTS: "noites"
|
|
4790
|
+
};
|
|
3785
4791
|
var ptJson = {
|
|
3786
4792
|
STEPS: STEPS$2,
|
|
3787
4793
|
INPUT: INPUT$2,
|
|
@@ -3796,7 +4802,9 @@ var ptJson = {
|
|
|
3796
4802
|
SUMMARY: SUMMARY$2,
|
|
3797
4803
|
CONFIRMATION: CONFIRMATION$2,
|
|
3798
4804
|
ERROR: ERROR$2,
|
|
3799
|
-
PRINT_OFFER_BUTTON: PRINT_OFFER_BUTTON$2
|
|
4805
|
+
PRINT_OFFER_BUTTON: PRINT_OFFER_BUTTON$2,
|
|
4806
|
+
QSM: QSM$3,
|
|
4807
|
+
SRP: SRP$2
|
|
3800
4808
|
};
|
|
3801
4809
|
|
|
3802
4810
|
var STEPS$1 = {
|
|
@@ -3838,7 +4846,7 @@ var FLIGHTS_FORM$1 = {
|
|
|
3838
4846
|
CHANGE_TIME: "Bytestid",
|
|
3839
4847
|
FLIGHT_RETURN: "Returresa",
|
|
3840
4848
|
NO_FLIGHTS_FOUND: "Inga flyg hittades.",
|
|
3841
|
-
STARTING: "
|
|
4849
|
+
STARTING: "",
|
|
3842
4850
|
LOWEST_PRICE: "Lägsta pris",
|
|
3843
4851
|
CHOOSE_YOUR_CLASS: "Välj klass:",
|
|
3844
4852
|
PLUS_ONE_DAY: "+1 dag",
|
|
@@ -3933,9 +4941,12 @@ var TRAVELERS_FORM$1 = {
|
|
|
3933
4941
|
ADULTS: "vuxna",
|
|
3934
4942
|
CHILD: "barn",
|
|
3935
4943
|
CHILDREN: "barn",
|
|
3936
|
-
GENDER: "
|
|
4944
|
+
GENDER: "Tilltalsform",
|
|
4945
|
+
GENDER_ID: "Kön enligt pass/ID-kort",
|
|
3937
4946
|
MALE: "Herr",
|
|
4947
|
+
MALE_GENDER: "Man",
|
|
3938
4948
|
FEMALE: "Fru",
|
|
4949
|
+
FEMALE_GENDER: "Kvinna",
|
|
3939
4950
|
OTHER: "Annat",
|
|
3940
4951
|
MAIN_BOOKER: "Huvudbokare",
|
|
3941
4952
|
FIRST_NAME: "Förnamn",
|
|
@@ -4046,6 +5057,73 @@ var PRINT_OFFER_BUTTON$1 = {
|
|
|
4046
5057
|
LABEL_CREATING: "Skapar offert…",
|
|
4047
5058
|
LABEL_PRINTING: "Skapar PDF…"
|
|
4048
5059
|
};
|
|
5060
|
+
var QSM$2 = {
|
|
5061
|
+
MULTIDESTINATION: "Flera destinationer",
|
|
5062
|
+
PACKAGES: "Paket",
|
|
5063
|
+
TRANSPORT_HOTEL: "Transport + hotell",
|
|
5064
|
+
ACCOMMODATION: "Boende",
|
|
5065
|
+
TRANSPORTS: "Transport",
|
|
5066
|
+
TICKET_ONLY: "Endast biljett",
|
|
5067
|
+
RENT_A_CAR: "Hyr bil",
|
|
5068
|
+
TRANSFERS: "Transfer",
|
|
5069
|
+
CRUISES: "Kryssningar",
|
|
5070
|
+
ONE_ACCOMMODATION: "Ett boende",
|
|
5071
|
+
MULTIPLE_ACCOMMODATIONS: "Flera boenden",
|
|
5072
|
+
TRAVEL_CLASS_LABEL: "Reseklass",
|
|
5073
|
+
TRAVEL_CLASS_PLACEHOLDER: "Välj reseklass",
|
|
5074
|
+
TRAVEL_TYPE_LABEL: "Restyp",
|
|
5075
|
+
TRAVEL_TYPE_PLACEHOLDER: "Välj restyp",
|
|
5076
|
+
NATIONALITY_LABEL: "Nationalitet",
|
|
5077
|
+
NATIONALITY_PLACEHOLDER: "Välj nationalitet",
|
|
5078
|
+
TRAVELERS_LABEL: "Vem reser?",
|
|
5079
|
+
ADD_ROOM: "Lägg till rum",
|
|
5080
|
+
REMOVE_ROOM: "Ta bort rum",
|
|
5081
|
+
MAX_TRAVELERS_REACHED: "Du har nått maximalt antal resenärer",
|
|
5082
|
+
ADULTS: "Vuxna",
|
|
5083
|
+
CHILDREN: "Barn",
|
|
5084
|
+
BABIES: "Spädbarn",
|
|
5085
|
+
CHOOSE_DATES: "Välj datum",
|
|
5086
|
+
DEPARTURE_DATE: "Avresedatum",
|
|
5087
|
+
RETURN_DATE: "Hemresedatum",
|
|
5088
|
+
CONFIRM: "Bekräfta",
|
|
5089
|
+
TRAVELERS: "Resenärer"
|
|
5090
|
+
};
|
|
5091
|
+
var SRP$1 = {
|
|
5092
|
+
NO_RESULTS: "Inga resultat hittades.",
|
|
5093
|
+
TOTAL_RESULTS_LABEL: "Hittade paket",
|
|
5094
|
+
RESET: "Återställ",
|
|
5095
|
+
LUGGAGEINCLUDED: "Bagage ingår",
|
|
5096
|
+
CANCEL: "Avbryt",
|
|
5097
|
+
APPLY: "Tillämpa",
|
|
5098
|
+
LOADING: "Laddar...",
|
|
5099
|
+
SEARCHRESULTCTA: "Visa detaljer",
|
|
5100
|
+
SORTBY: "Sortera efter",
|
|
5101
|
+
PRICE_ASC: "Pris (lågt till högt)",
|
|
5102
|
+
PRICE_DESC: "Pris (högt till lågt)",
|
|
5103
|
+
DEPARTURE_ASC: "Avresedatum (närmast först)",
|
|
5104
|
+
FILTERS: "Filter",
|
|
5105
|
+
SHOW_ITINERARY: "Visa resplan",
|
|
5106
|
+
ITINERARY_TITLE: "Din resesammanfattning",
|
|
5107
|
+
DOSSIER_NUMBER: "Filnummer",
|
|
5108
|
+
PACKAGE_PRICE_PER_PERSON: "paketpris per person",
|
|
5109
|
+
TOTAL: "totalt",
|
|
5110
|
+
DAY_BY_DAY: "Din resa dag för dag",
|
|
5111
|
+
START: "start",
|
|
5112
|
+
END: "slut",
|
|
5113
|
+
EXTENDED: "Utökad",
|
|
5114
|
+
COMPACT: "Kompakt",
|
|
5115
|
+
LIST: "Lista",
|
|
5116
|
+
SELECT: "Välj",
|
|
5117
|
+
DEPARTURE: "Avresa",
|
|
5118
|
+
RETURN: "Återkomst",
|
|
5119
|
+
DIRECT: "Direkt",
|
|
5120
|
+
STOPS: "stopp",
|
|
5121
|
+
STOP: "stopp",
|
|
5122
|
+
STOP_TIME: "Bytestid",
|
|
5123
|
+
ACCOMMODATION: "Boende",
|
|
5124
|
+
VIEW_DETAILS: "Visa detaljer",
|
|
5125
|
+
NIGHTS: "nätter"
|
|
5126
|
+
};
|
|
4049
5127
|
var svJson = {
|
|
4050
5128
|
STEPS: STEPS$1,
|
|
4051
5129
|
INPUT: INPUT$1,
|
|
@@ -4060,7 +5138,9 @@ var svJson = {
|
|
|
4060
5138
|
SUMMARY: SUMMARY$1,
|
|
4061
5139
|
CONFIRMATION: CONFIRMATION$1,
|
|
4062
5140
|
ERROR: ERROR$1,
|
|
4063
|
-
PRINT_OFFER_BUTTON: PRINT_OFFER_BUTTON$1
|
|
5141
|
+
PRINT_OFFER_BUTTON: PRINT_OFFER_BUTTON$1,
|
|
5142
|
+
QSM: QSM$2,
|
|
5143
|
+
SRP: SRP$1
|
|
4064
5144
|
};
|
|
4065
5145
|
|
|
4066
5146
|
var STEPS = {
|
|
@@ -4198,8 +5278,11 @@ var TRAVELERS_FORM = {
|
|
|
4198
5278
|
CHILD: "子供",
|
|
4199
5279
|
CHILDREN: "子供",
|
|
4200
5280
|
GENDER: "敬称",
|
|
4201
|
-
|
|
4202
|
-
|
|
5281
|
+
GENDER_ID: "パスポート/身分証明書上の性別",
|
|
5282
|
+
MALE: "男性",
|
|
5283
|
+
MALE_GENDER: "男性",
|
|
5284
|
+
FEMALE: "女性",
|
|
5285
|
+
FEMALE_GENDER: "女性",
|
|
4203
5286
|
OTHER: "その他",
|
|
4204
5287
|
MAIN_BOOKER: "代表予約者",
|
|
4205
5288
|
FIRST_NAME: "名",
|
|
@@ -4310,6 +5393,73 @@ var PRINT_OFFER_BUTTON = {
|
|
|
4310
5393
|
LABEL_CREATING: "見積もりを生成中…",
|
|
4311
5394
|
LABEL_PRINTING: "PDFを生成中…"
|
|
4312
5395
|
};
|
|
5396
|
+
var QSM$1 = {
|
|
5397
|
+
MULTIDESTINATION: "複数都市",
|
|
5398
|
+
PACKAGES: "パッケージ",
|
|
5399
|
+
TRANSPORT_HOTEL: "交通 + ホテル",
|
|
5400
|
+
ACCOMMODATION: "宿泊",
|
|
5401
|
+
TRANSPORTS: "交通",
|
|
5402
|
+
TICKET_ONLY: "チケットのみ",
|
|
5403
|
+
RENT_A_CAR: "レンタカー",
|
|
5404
|
+
TRANSFERS: "送迎",
|
|
5405
|
+
CRUISES: "クルーズ",
|
|
5406
|
+
ONE_ACCOMMODATION: "1つの宿泊先",
|
|
5407
|
+
MULTIPLE_ACCOMMODATIONS: "複数の宿泊先",
|
|
5408
|
+
TRAVEL_CLASS_LABEL: "座席クラス",
|
|
5409
|
+
TRAVEL_CLASS_PLACEHOLDER: "座席クラスを選択",
|
|
5410
|
+
TRAVEL_TYPE_LABEL: "旅行タイプ",
|
|
5411
|
+
TRAVEL_TYPE_PLACEHOLDER: "旅行タイプを選択",
|
|
5412
|
+
NATIONALITY_LABEL: "国籍",
|
|
5413
|
+
NATIONALITY_PLACEHOLDER: "国籍を選択",
|
|
5414
|
+
TRAVELERS_LABEL: "旅行者は誰ですか?",
|
|
5415
|
+
ADD_ROOM: "部屋を追加",
|
|
5416
|
+
REMOVE_ROOM: "部屋を削除",
|
|
5417
|
+
MAX_TRAVELERS_REACHED: "旅行者の最大人数に達しました",
|
|
5418
|
+
ADULTS: "大人",
|
|
5419
|
+
CHILDREN: "子供",
|
|
5420
|
+
BABIES: "乳児",
|
|
5421
|
+
CHOOSE_DATES: "日付を選択",
|
|
5422
|
+
DEPARTURE_DATE: "出発日",
|
|
5423
|
+
RETURN_DATE: "帰着日",
|
|
5424
|
+
CONFIRM: "確認",
|
|
5425
|
+
TRAVELERS: "旅行者"
|
|
5426
|
+
};
|
|
5427
|
+
var SRP = {
|
|
5428
|
+
NO_RESULTS: "結果が見つかりませんでした。",
|
|
5429
|
+
TOTAL_RESULTS_LABEL: "見つかったパッケージ",
|
|
5430
|
+
RESET: "リセット",
|
|
5431
|
+
LUGGAGEINCLUDED: "手荷物込み",
|
|
5432
|
+
CANCEL: "キャンセル",
|
|
5433
|
+
APPLY: "適用",
|
|
5434
|
+
LOADING: "読み込み中...",
|
|
5435
|
+
SEARCHRESULTCTA: "詳細を見る",
|
|
5436
|
+
SORTBY: "並び替え",
|
|
5437
|
+
PRICE_ASC: "価格(安い順)",
|
|
5438
|
+
PRICE_DESC: "価格(高い順)",
|
|
5439
|
+
DEPARTURE_ASC: "出発日(早い順)",
|
|
5440
|
+
FILTERS: "フィルター",
|
|
5441
|
+
SHOW_ITINERARY: "旅程を表示",
|
|
5442
|
+
ITINERARY_TITLE: "あなたの旅行概要",
|
|
5443
|
+
DOSSIER_NUMBER: "ファイル番号",
|
|
5444
|
+
PACKAGE_PRICE_PER_PERSON: "1人あたりのパッケージ料金",
|
|
5445
|
+
TOTAL: "合計",
|
|
5446
|
+
DAY_BY_DAY: "日ごとの旅程",
|
|
5447
|
+
START: "開始",
|
|
5448
|
+
END: "終了",
|
|
5449
|
+
EXTENDED: "拡張",
|
|
5450
|
+
COMPACT: "コンパクト",
|
|
5451
|
+
LIST: "リスト",
|
|
5452
|
+
SELECT: "選択",
|
|
5453
|
+
DEPARTURE: "出発",
|
|
5454
|
+
RETURN: "帰り",
|
|
5455
|
+
DIRECT: "直行",
|
|
5456
|
+
STOPS: "停車",
|
|
5457
|
+
STOP: "停車",
|
|
5458
|
+
STOP_TIME: "乗り換え時間",
|
|
5459
|
+
ACCOMMODATION: "宿泊",
|
|
5460
|
+
VIEW_DETAILS: "詳細を見る",
|
|
5461
|
+
NIGHTS: "泊"
|
|
5462
|
+
};
|
|
4313
5463
|
var jaJson = {
|
|
4314
5464
|
STEPS: STEPS,
|
|
4315
5465
|
INPUT: INPUT,
|
|
@@ -4324,10 +5474,12 @@ var jaJson = {
|
|
|
4324
5474
|
SUMMARY: SUMMARY,
|
|
4325
5475
|
CONFIRMATION: CONFIRMATION,
|
|
4326
5476
|
ERROR: ERROR,
|
|
4327
|
-
PRINT_OFFER_BUTTON: PRINT_OFFER_BUTTON
|
|
5477
|
+
PRINT_OFFER_BUTTON: PRINT_OFFER_BUTTON,
|
|
5478
|
+
QSM: QSM$1,
|
|
5479
|
+
SRP: SRP
|
|
4328
5480
|
};
|
|
4329
5481
|
|
|
4330
|
-
var formatPrice
|
|
5482
|
+
var formatPrice = function (price, currencyCode, locale) {
|
|
4331
5483
|
if (locale === void 0) { locale = 'nl-BE'; }
|
|
4332
5484
|
var priceFormat = Intl.NumberFormat(locale, {
|
|
4333
5485
|
style: 'currency',
|
|
@@ -4432,7 +5584,7 @@ function getLocale(code) {
|
|
|
4432
5584
|
}
|
|
4433
5585
|
}
|
|
4434
5586
|
var getPriceDifferenceText = function (price, currencyCode) {
|
|
4435
|
-
return price > 0 ? "+ ".concat(formatPrice
|
|
5587
|
+
return price > 0 ? "+ ".concat(formatPrice(Math.abs(price), currencyCode)) : "- ".concat(formatPrice(Math.abs(price), currencyCode));
|
|
4436
5588
|
};
|
|
4437
5589
|
function format(text, args) {
|
|
4438
5590
|
return text.replace(/{([0-9]+)}/g, function (match, index) {
|
|
@@ -10797,6 +11949,7 @@ var ENDPOINT_SEARCH_WITH_ERROR_MAPPING =
|
|
|
10797
11949
|
ENDPOINT$7 + "/search-with-error-mapping";
|
|
10798
11950
|
// const ENDPOINT_ELASTIC = `${ENDPOINT}/elastic`; // TODO
|
|
10799
11951
|
var ENDPOINT_DETAILS = ENDPOINT$7 + "/details";
|
|
11952
|
+
var ENDPOINT_DETAILS_WL = ENDPOINT$7 + "/details-wl";
|
|
10800
11953
|
var ENDPOINT_VALIDATE_VOUCHER = ENDPOINT$7 + "/validate-voucher";
|
|
10801
11954
|
var ENDPOINT_ALTERNATE_HOTELS = function (transactionId, optionId) {
|
|
10802
11955
|
return (
|
|
@@ -10884,6 +12037,12 @@ var details = function (config, request, signal, languageCode) {
|
|
|
10884
12037
|
var body = JSON.stringify(request);
|
|
10885
12038
|
return post(url, apiKey, body, config.token, signal, true, languageCode);
|
|
10886
12039
|
};
|
|
12040
|
+
var detailsWL = function (config, request, signal, languageCode) {
|
|
12041
|
+
var url = "" + config.host + ENDPOINT_DETAILS_WL;
|
|
12042
|
+
var apiKey = config.apiKey;
|
|
12043
|
+
var body = JSON.stringify(request);
|
|
12044
|
+
return post(url, apiKey, body, config.token, signal, true, languageCode);
|
|
12045
|
+
};
|
|
10887
12046
|
var validateVoucher = function (config, request, signal) {
|
|
10888
12047
|
var url = "" + config.host + ENDPOINT_VALIDATE_VOUCHER;
|
|
10889
12048
|
var apiKey = config.apiKey;
|
|
@@ -11463,6 +12622,7 @@ exports.contactHasTag = contactHasTag;
|
|
|
11463
12622
|
exports.createCrmContact = createCrmContact;
|
|
11464
12623
|
exports.createParams = createParams;
|
|
11465
12624
|
exports.details = details;
|
|
12625
|
+
exports.detailsWL = detailsWL;
|
|
11466
12626
|
exports.feedXml = feedXml;
|
|
11467
12627
|
exports.feedXmlFolder = feedXmlFolder;
|
|
11468
12628
|
exports.flightLines = flightLines;
|
|
@@ -11562,16 +12722,16 @@ var formatPriceByMode = function (price, priceMode, personCount, duration, perPe
|
|
|
11562
12722
|
return '';
|
|
11563
12723
|
switch (priceMode) {
|
|
11564
12724
|
case 0:
|
|
11565
|
-
return "".concat(formatPrice
|
|
12725
|
+
return "".concat(formatPrice(price, currencyCode));
|
|
11566
12726
|
case 1:
|
|
11567
12727
|
var perPersonPrice = price / personCount;
|
|
11568
|
-
return "".concat(formatPrice
|
|
12728
|
+
return "".concat(formatPrice(perPersonPrice, currencyCode), " / ").concat(perPersonLabel);
|
|
11569
12729
|
case 2:
|
|
11570
12730
|
var perNightPrice = price / duration;
|
|
11571
|
-
return "".concat(formatPrice
|
|
12731
|
+
return "".concat(formatPrice(perNightPrice, currencyCode), " / ").concat(perNightLabel);
|
|
11572
12732
|
case 3:
|
|
11573
12733
|
var perPersonPerNightPrice = price / duration;
|
|
11574
|
-
return "".concat(formatPrice
|
|
12734
|
+
return "".concat(formatPrice(perPersonPerNightPrice, currencyCode), " / ").concat(perPersonPerNightLabel);
|
|
11575
12735
|
}
|
|
11576
12736
|
};
|
|
11577
12737
|
|
|
@@ -13334,15 +14494,16 @@ var Product = function (_a) {
|
|
|
13334
14494
|
var _m = useState(false), hasTransfer = _m[0], setHasTransfer = _m[1];
|
|
13335
14495
|
var _o = useState([{ adults: 2, children: 0, childAges: [] }]), rooms = _o[0], setRooms = _o[1];
|
|
13336
14496
|
var _p = useState([]), searchResponse = _p[0], setSearchResponse = _p[1];
|
|
13337
|
-
var _q = useState(),
|
|
13338
|
-
var _r = useState(
|
|
13339
|
-
var _s = useState(
|
|
13340
|
-
var _t = useState(
|
|
14497
|
+
var _q = useState(), detailResponse = _q[0], setDetailResponse = _q[1];
|
|
14498
|
+
var _r = useState(), dateRange = _r[0], setDateRange = _r[1];
|
|
14499
|
+
var _s = useState(productName), packageProductName = _s[0], setPackageProductName = _s[1];
|
|
14500
|
+
var _t = useState(''), currencyCode = _t[0], setCurrencyCode = _t[1];
|
|
14501
|
+
var _u = useState([]), searchResults = _u[0], setSearchResults = _u[1];
|
|
13341
14502
|
var skipNextFetchRef = useRef(false);
|
|
13342
14503
|
var fetchPackage = function (signal) { return __awaiter(void 0, void 0, void 0, function () {
|
|
13343
|
-
var apiSettingsState, startDate, endDate, requestRooms, detailsRequest, searchRequest,
|
|
13344
|
-
return __generator(this, function (
|
|
13345
|
-
switch (
|
|
14504
|
+
var apiSettingsState, startDate, endDate, requestRooms, detailsRequest, searchRequest, _a, _b;
|
|
14505
|
+
return __generator(this, function (_c) {
|
|
14506
|
+
switch (_c.label) {
|
|
13346
14507
|
case 0:
|
|
13347
14508
|
if (displayMode === 'list' && searchType !== 1) {
|
|
13348
14509
|
console.error('The combination of searchType and displayMode is not supported.' + " Please set searchType to 1 when using displayMode 'list'.");
|
|
@@ -13404,40 +14565,22 @@ var Product = function (_a) {
|
|
|
13404
14565
|
}
|
|
13405
14566
|
};
|
|
13406
14567
|
setIsLoading(true);
|
|
13407
|
-
detailResponse = void 0;
|
|
13408
14568
|
if (!(displayMode === 'calendar' && searchType === 0)) return [3 /*break*/, 2];
|
|
14569
|
+
_a = setDetailResponse;
|
|
13409
14570
|
return [4 /*yield*/, packageApi$1.fetchDetails(detailsRequest, signal, language, apiSettingsState)];
|
|
13410
14571
|
case 1:
|
|
13411
|
-
|
|
13412
|
-
|
|
14572
|
+
_a.apply(void 0, [_c.sent()]);
|
|
14573
|
+
_c.label = 2;
|
|
13413
14574
|
case 2:
|
|
13414
14575
|
if (!(searchType === 1)) return [3 /*break*/, 4];
|
|
13415
|
-
|
|
14576
|
+
_b = setSearchResponse;
|
|
13416
14577
|
return [4 /*yield*/, packageApi$1.fetchSearch(searchRequest, signal, apiSettingsState)];
|
|
13417
14578
|
case 3:
|
|
13418
|
-
|
|
13419
|
-
|
|
14579
|
+
_b.apply(void 0, [_c.sent()]);
|
|
14580
|
+
_c.label = 4;
|
|
13420
14581
|
case 4:
|
|
13421
|
-
if (detailResponse && !detailResponse.errorCode && detailResponse.payload) {
|
|
13422
|
-
selectedOption = detailResponse.payload.options.find(function (x) { return x.isSelected; });
|
|
13423
|
-
if (selectedOption) {
|
|
13424
|
-
hasFlight_1 = selectedOption.includedServiceTypes.some(function (x) { return x === 7; });
|
|
13425
|
-
hasTranfer = selectedOption.includedServiceTypes.some(function (x) { return x === 13; });
|
|
13426
|
-
setPrice(selectedOption.price);
|
|
13427
|
-
setHasFlight(hasFlight_1);
|
|
13428
|
-
setHasTransfer(hasTranfer);
|
|
13429
|
-
setCurrencyCode(detailResponse.payload.currencyCode);
|
|
13430
|
-
setPackageProductName(selectedOption.name);
|
|
13431
|
-
}
|
|
13432
|
-
}
|
|
13433
|
-
else {
|
|
13434
|
-
setPrice(undefined);
|
|
13435
|
-
setHasFlight(false);
|
|
13436
|
-
setHasTransfer(false);
|
|
13437
|
-
setCurrencyCode('');
|
|
13438
|
-
}
|
|
13439
14582
|
setIsLoading(false);
|
|
13440
|
-
|
|
14583
|
+
_c.label = 5;
|
|
13441
14584
|
case 5: return [2 /*return*/];
|
|
13442
14585
|
}
|
|
13443
14586
|
});
|
|
@@ -13508,10 +14651,12 @@ var Product = function (_a) {
|
|
|
13508
14651
|
if (selectedItem) {
|
|
13509
14652
|
setPrice(selectedItem.price);
|
|
13510
14653
|
setPackageProductName(selectedItem.name);
|
|
14654
|
+
setCurrencyCode(selectedItem.currencyCode);
|
|
13511
14655
|
}
|
|
13512
14656
|
else {
|
|
13513
14657
|
setPrice(searchResponse[0].price);
|
|
13514
14658
|
setPackageProductName(searchResponse[0].name);
|
|
14659
|
+
setCurrencyCode(searchResponse[0].currencyCode);
|
|
13515
14660
|
}
|
|
13516
14661
|
}
|
|
13517
14662
|
else {
|
|
@@ -13520,6 +14665,26 @@ var Product = function (_a) {
|
|
|
13520
14665
|
setPackageProductName(translations.PRODUCT.NOT_AVAILABLE);
|
|
13521
14666
|
}
|
|
13522
14667
|
}, [searchResponse]);
|
|
14668
|
+
useEffect(function () {
|
|
14669
|
+
if (detailResponse && !detailResponse.errorCode && detailResponse.payload) {
|
|
14670
|
+
var selectedOption = detailResponse.payload.options.find(function (x) { return x.isSelected; });
|
|
14671
|
+
if (selectedOption) {
|
|
14672
|
+
var hasFlight_1 = selectedOption.includedServiceTypes.some(function (x) { return x === 7; });
|
|
14673
|
+
var hasTranfer = selectedOption.includedServiceTypes.some(function (x) { return x === 13; });
|
|
14674
|
+
setPrice(selectedOption.price);
|
|
14675
|
+
setHasFlight(hasFlight_1);
|
|
14676
|
+
setHasTransfer(hasTranfer);
|
|
14677
|
+
setCurrencyCode(detailResponse.payload.currencyCode);
|
|
14678
|
+
setPackageProductName(selectedOption.name);
|
|
14679
|
+
}
|
|
14680
|
+
}
|
|
14681
|
+
else if (detailResponse !== undefined) {
|
|
14682
|
+
setPrice(undefined);
|
|
14683
|
+
setHasFlight(false);
|
|
14684
|
+
setHasTransfer(false);
|
|
14685
|
+
setCurrencyCode('');
|
|
14686
|
+
}
|
|
14687
|
+
}, [detailResponse]);
|
|
13523
14688
|
useEffect(function () {
|
|
13524
14689
|
if (searchType === 1 && skipNextFetchRef.current) {
|
|
13525
14690
|
skipNextFetchRef.current = false;
|
|
@@ -15264,7 +16429,7 @@ var getFlightDetails = function (flight) {
|
|
|
15264
16429
|
arrivalDate: lastLine.arrivalDate,
|
|
15265
16430
|
arrivalTime: lastLine.arrivalTime,
|
|
15266
16431
|
arrivalAirport: lastLine.arrivalAirportDescription,
|
|
15267
|
-
travelDuration: formatDuration(flight.flightMetaData.durationInTicks),
|
|
16432
|
+
travelDuration: formatDuration$1(flight.flightMetaData.durationInTicks),
|
|
15268
16433
|
travelDurationMinutes: minutesFromTicks(flight.flightMetaData.durationInTicks),
|
|
15269
16434
|
changeDurationMinutes: getTotalChangeDuration(flight),
|
|
15270
16435
|
numberOfStops: flight.flightMetaData.flightLines.length - 1,
|
|
@@ -15279,7 +16444,7 @@ var getFlightDetails = function (flight) {
|
|
|
15279
16444
|
arrivalTime: x.arrivalTime,
|
|
15280
16445
|
arrivalAirport: x.arrivalAirportDescription,
|
|
15281
16446
|
number: "".concat(x.airlineCode, " ").concat(x.number),
|
|
15282
|
-
travelDuration: formatDuration(x.durationInTicks),
|
|
16447
|
+
travelDuration: formatDuration$1(x.durationInTicks),
|
|
15283
16448
|
waitDuration: waitDurations.length - 1 <= i ? waitDurations[i] : undefined
|
|
15284
16449
|
}); })
|
|
15285
16450
|
};
|
|
@@ -15355,7 +16520,7 @@ var minutesFromTicks = function (ticks) {
|
|
|
15355
16520
|
var totalSeconds = ticks / 10000000;
|
|
15356
16521
|
return Math.floor(totalSeconds / 60);
|
|
15357
16522
|
};
|
|
15358
|
-
var formatDuration = function (ticks) {
|
|
16523
|
+
var formatDuration$1 = function (ticks) {
|
|
15359
16524
|
if (!ticks)
|
|
15360
16525
|
return '';
|
|
15361
16526
|
var totalSeconds = ticks / 10000000;
|
|
@@ -16117,7 +17282,7 @@ var NoneOption = function (_a) {
|
|
|
16117
17282
|
var selectedOption = group.options.find(function (x) { return x.isSelected; });
|
|
16118
17283
|
var showNoneOption = group.options.some(function (x) { return x.requirementType === 2; });
|
|
16119
17284
|
var noneSelected = !selectedOption;
|
|
16120
|
-
var priceDifferencetext = selectedOption ? "- ".concat(formatPrice
|
|
17285
|
+
var priceDifferencetext = selectedOption ? "- ".concat(formatPrice(Math.abs(selectedOption.line.price), currencyCode)) : '';
|
|
16121
17286
|
return (React.createElement(React.Fragment, null, showNoneOption && (React.createElement("tr", null,
|
|
16122
17287
|
React.createElement("td", null,
|
|
16123
17288
|
React.createElement("div", { className: buildClassName(['tree', noneSelected && 'tree--selected']) },
|
|
@@ -16669,7 +17834,7 @@ var OptionRoom = function (_a) {
|
|
|
16669
17834
|
e.preventDefault();
|
|
16670
17835
|
};
|
|
16671
17836
|
var getPriceDifferenceText = function (price) {
|
|
16672
|
-
return price > 0 ? "+ ".concat(formatPrice
|
|
17837
|
+
return price > 0 ? "+ ".concat(formatPrice(Math.abs(price), currencyCode)) : "- ".concat(formatPrice(Math.abs(price), currencyCode));
|
|
16673
17838
|
};
|
|
16674
17839
|
var getAccommodationPriceDifference = function (accommodation) {
|
|
16675
17840
|
var _a;
|
|
@@ -17316,7 +18481,7 @@ var Sidebar = function (_a) {
|
|
|
17316
18481
|
React.createElement("div", { className: "pricing-summary__row" },
|
|
17317
18482
|
React.createElement("div", { className: "pricing-summary__property" },
|
|
17318
18483
|
React.createElement("h6", { className: "pricing-summary__title" }, translations.SIDEBAR.BASE_PRICE)),
|
|
17319
|
-
React.createElement("div", { className: "pricing-summary__value" }, formatPrice
|
|
18484
|
+
React.createElement("div", { className: "pricing-summary__value" }, formatPrice(basePrice, currencyCode))))),
|
|
17320
18485
|
!isEmpty(includedCosts) && (React.createElement("div", { className: "pricing-summary__group" },
|
|
17321
18486
|
React.createElement("h6", { className: "pricing-summary__title" }, translations.SIDEBAR.INCLUDED_COSTS), includedCosts === null || includedCosts === void 0 ? void 0 :
|
|
17322
18487
|
includedCosts.map(function (priceDetail, index) {
|
|
@@ -17324,7 +18489,7 @@ var Sidebar = function (_a) {
|
|
|
17324
18489
|
return (React.createElement(React.Fragment, { key: compact([priceDetail.productCode, priceDetail.accommodationCode, index]).join('_') },
|
|
17325
18490
|
React.createElement("div", { className: "pricing-summary__row" },
|
|
17326
18491
|
React.createElement("div", { className: "pricing-summary__property" }, priceDetail.productName),
|
|
17327
|
-
priceDetail.showPrice && (React.createElement("div", { className: "pricing-summary__value" }, formatPrice
|
|
18492
|
+
priceDetail.showPrice && (React.createElement("div", { className: "pricing-summary__value" }, formatPrice(priceDetail.price * priceDetail.amount, currencyCode)))),
|
|
17328
18493
|
React.createElement("div", { className: "pricing-summary__row" },
|
|
17329
18494
|
React.createElement("div", { className: "price-summary__property" }, (_a = priceDetail.accommodationName) !== null && _a !== void 0 ? _a : priceDetail.accommodationCode))));
|
|
17330
18495
|
}))),
|
|
@@ -17335,7 +18500,7 @@ var Sidebar = function (_a) {
|
|
|
17335
18500
|
return (React.createElement(React.Fragment, { key: compact([priceDetail.productCode, priceDetail.accommodationCode, index]).join('_') },
|
|
17336
18501
|
React.createElement("div", { className: "pricing-summary__row" },
|
|
17337
18502
|
React.createElement("div", { className: "pricing-summary__property" }, priceDetail.productName),
|
|
17338
|
-
priceDetail.showPrice && (React.createElement("div", { className: "pricing-summary__value" }, formatPrice
|
|
18503
|
+
priceDetail.showPrice && (React.createElement("div", { className: "pricing-summary__value" }, formatPrice(priceDetail.price * priceDetail.amount, currencyCode)))),
|
|
17339
18504
|
React.createElement("div", { className: "pricing-summary__row" },
|
|
17340
18505
|
React.createElement("div", { className: "price-summary__property" }, (_a = priceDetail.accommodationName) !== null && _a !== void 0 ? _a : priceDetail.accommodationCode))));
|
|
17341
18506
|
}))))))) : (React.createElement("div", { className: "pricing-summary__region" },
|
|
@@ -17346,20 +18511,20 @@ var Sidebar = function (_a) {
|
|
|
17346
18511
|
React.createElement("h6", { className: "pricing-summary__title" }, translations.SHARED.TOTAL_PRICE)),
|
|
17347
18512
|
React.createElement("div", { className: "pricing-summary__value" },
|
|
17348
18513
|
React.createElement("div", { className: "pricing" },
|
|
17349
|
-
React.createElement("div", { className: "pricing__price" }, formatPrice
|
|
18514
|
+
React.createElement("div", { className: "pricing__price" }, formatPrice(totalPrice, currencyCode)))))),
|
|
17350
18515
|
React.createElement("div", { className: "pricing-summary__row" },
|
|
17351
18516
|
React.createElement("div", { className: "pricing-summary__property" },
|
|
17352
18517
|
React.createElement("h6", { className: "pricing-summary__title" }, translations.SIDEBAR.DEPOSIT)),
|
|
17353
18518
|
React.createElement("div", { className: "pricing-summary__value" },
|
|
17354
18519
|
React.createElement("div", { className: "pricing" },
|
|
17355
|
-
React.createElement("div", { className: "pricing__price" }, formatPrice
|
|
18520
|
+
React.createElement("div", { className: "pricing__price" }, formatPrice(deposit, currencyCode))))),
|
|
17356
18521
|
React.createElement("div", { className: "pricing-summary__row" },
|
|
17357
18522
|
React.createElement("small", null,
|
|
17358
18523
|
React.createElement("em", null,
|
|
17359
18524
|
translations.SIDEBAR.DEPOSIT_TEXT1,
|
|
17360
18525
|
React.createElement("strong", null, translations.SIDEBAR.DEPOSIT_TEXT2),
|
|
17361
18526
|
translations.SIDEBAR.DEPOSIT_TEXT3,
|
|
17362
|
-
formatPrice
|
|
18527
|
+
formatPrice(remainingAmount, currencyCode),
|
|
17363
18528
|
translations.SIDEBAR.DEPOSIT_TEXT4,
|
|
17364
18529
|
React.createElement("strong", null, translations.SIDEBAR.DEPOSIT_TEXT5),
|
|
17365
18530
|
translations.SIDEBAR.DEPOSIT_TEXT6))))) : (React.createElement("div", { className: "pricing-summary__group" }, totalPrice !== undefined && totalPrice > 0 && (React.createElement("div", { className: "pricing-summary__row pricing-summary__row--total-price" },
|
|
@@ -17367,7 +18532,7 @@ var Sidebar = function (_a) {
|
|
|
17367
18532
|
React.createElement("h6", { className: "pricing-summary__title" }, translations.SHARED.TOTAL_PRICE)),
|
|
17368
18533
|
React.createElement("div", { className: "pricing-summary__value" },
|
|
17369
18534
|
React.createElement("div", { className: "pricing" },
|
|
17370
|
-
React.createElement("div", { className: "pricing__price" }, formatPrice
|
|
18535
|
+
React.createElement("div", { className: "pricing__price" }, formatPrice(totalPrice, currencyCode)))))))))),
|
|
17371
18536
|
footerComponent))));
|
|
17372
18537
|
};
|
|
17373
18538
|
|
|
@@ -17870,21 +19035,17 @@ var GenderControl = function (_a) {
|
|
|
17870
19035
|
var translations = _a.translations, value = _a.value, formik = _a.formik, name = _a.name;
|
|
17871
19036
|
return (React.createElement("div", { className: buildClassName(['form__group', hasVisibleError(formik, name) && 'form__group--error']) },
|
|
17872
19037
|
React.createElement("label", { className: "form__label" },
|
|
17873
|
-
translations.TRAVELERS_FORM.
|
|
19038
|
+
translations.TRAVELERS_FORM.GENDER_ID,
|
|
17874
19039
|
" *"),
|
|
17875
19040
|
React.createElement("div", { className: "radiobutton-group" },
|
|
17876
19041
|
React.createElement("div", { className: "radiobutton" },
|
|
17877
19042
|
React.createElement("label", { className: "radiobutton__label" },
|
|
17878
19043
|
React.createElement("input", { type: "radio", className: "radiobutton__input", name: name, onChange: formik.handleChange, onBlur: formik.handleBlur, value: "m", checked: value.gender === 'm' }),
|
|
17879
|
-
translations.TRAVELERS_FORM.
|
|
19044
|
+
translations.TRAVELERS_FORM.MALE_GENDER)),
|
|
17880
19045
|
React.createElement("div", { className: "radiobutton" },
|
|
17881
19046
|
React.createElement("label", { className: "radiobutton__label" },
|
|
17882
19047
|
React.createElement("input", { type: "radio", className: "radiobutton__input", name: name, onChange: formik.handleChange, onBlur: formik.handleBlur, value: "f", checked: value.gender === 'f' }),
|
|
17883
|
-
translations.TRAVELERS_FORM.
|
|
17884
|
-
React.createElement("div", { className: "radiobutton" },
|
|
17885
|
-
React.createElement("label", { className: "radiobutton__label" },
|
|
17886
|
-
React.createElement("input", { type: "radio", className: "radiobutton__input", name: name, onChange: formik.handleChange, onBlur: formik.handleBlur, value: "x", checked: value.gender === 'x' }),
|
|
17887
|
-
translations.TRAVELERS_FORM.OTHER)))));
|
|
19048
|
+
translations.TRAVELERS_FORM.FEMALE_GENDER)))));
|
|
17888
19049
|
};
|
|
17889
19050
|
|
|
17890
19051
|
var TypeAheadInput = function (_a) {
|
|
@@ -18514,21 +19675,17 @@ var TravelersForm = function () {
|
|
|
18514
19675
|
React.createElement("div", { className: "form__row" },
|
|
18515
19676
|
React.createElement("div", { className: buildClassName(['form__group', hasVisibleError("rooms[".concat(rIndex, "].adults[").concat(index, "].gender")) && 'form__group--error']) },
|
|
18516
19677
|
React.createElement("label", { className: "form__label" },
|
|
18517
|
-
translations.TRAVELERS_FORM.
|
|
19678
|
+
translations.TRAVELERS_FORM.GENDER_ID,
|
|
18518
19679
|
" *"),
|
|
18519
19680
|
React.createElement("div", { className: "radiobutton-group" },
|
|
18520
19681
|
React.createElement("div", { className: "radiobutton" },
|
|
18521
19682
|
React.createElement("label", { className: "radiobutton__label" },
|
|
18522
19683
|
React.createElement("input", { type: "radio", className: "radiobutton__input", name: "rooms[".concat(rIndex, "].adults[").concat(index, "].gender"), onChange: formik.handleChange, onBlur: formik.handleBlur, value: "m", checked: travelerValues.gender === 'm' }),
|
|
18523
|
-
translations.TRAVELERS_FORM.
|
|
19684
|
+
translations.TRAVELERS_FORM.MALE_GENDER)),
|
|
18524
19685
|
React.createElement("div", { className: "radiobutton" },
|
|
18525
19686
|
React.createElement("label", { className: "radiobutton__label" },
|
|
18526
19687
|
React.createElement("input", { type: "radio", className: "radiobutton__input", name: "rooms[".concat(rIndex, "].adults[").concat(index, "].gender"), onChange: formik.handleChange, onBlur: formik.handleBlur, value: "f", checked: travelerValues.gender === 'f' }),
|
|
18527
|
-
translations.TRAVELERS_FORM.
|
|
18528
|
-
React.createElement("div", { className: "radiobutton" },
|
|
18529
|
-
React.createElement("label", { className: "radiobutton__label" },
|
|
18530
|
-
React.createElement("input", { type: "radio", className: "radiobutton__input", name: "rooms[".concat(rIndex, "].adults[").concat(index, "].gender"), onChange: formik.handleChange, onBlur: formik.handleBlur, value: "x", checked: travelerValues.gender === 'x' }),
|
|
18531
|
-
translations.TRAVELERS_FORM.OTHER))))),
|
|
19688
|
+
translations.TRAVELERS_FORM.FEMALE_GENDER))))),
|
|
18532
19689
|
React.createElement("div", { className: "form__row" },
|
|
18533
19690
|
React.createElement(LabeledInput, { hasError: hasVisibleError("rooms[".concat(rIndex, "].adults[").concat(index, "].firstName")), extraClassName: "form__group--md-33", label: translations.TRAVELERS_FORM.FIRST_NAME, required: true, name: "rooms[".concat(rIndex, "].adults[").concat(index, "].firstName"), onChange: formik.handleChange, onBlur: formik.handleBlur, value: travelerValues.firstName }),
|
|
18534
19691
|
React.createElement(LabeledInput, { hasError: hasVisibleError("rooms[".concat(rIndex, "].adults[").concat(index, "].lastName")), extraClassName: "form__group--md-33", label: translations.TRAVELERS_FORM.LAST_NAME, required: true, name: "rooms[".concat(rIndex, "].adults[").concat(index, "].lastName"), onChange: formik.handleChange, onBlur: formik.handleBlur, value: travelerValues.lastName }),
|
|
@@ -18549,21 +19706,17 @@ var TravelersForm = function () {
|
|
|
18549
19706
|
React.createElement("div", { className: "form__row" },
|
|
18550
19707
|
React.createElement("div", { className: buildClassName(['form__group', hasVisibleError("rooms[".concat(rIndex, "].children[").concat(index, "].gender")) && 'form__group--error']) },
|
|
18551
19708
|
React.createElement("label", { className: "form__label" },
|
|
18552
|
-
translations.TRAVELERS_FORM.
|
|
19709
|
+
translations.TRAVELERS_FORM.GENDER_ID,
|
|
18553
19710
|
" *"),
|
|
18554
19711
|
React.createElement("div", { className: "radiobutton-group" },
|
|
18555
19712
|
React.createElement("div", { className: "radiobutton" },
|
|
18556
19713
|
React.createElement("label", { className: "radiobutton__label" },
|
|
18557
19714
|
React.createElement("input", { type: "radio", className: "radiobutton__input", name: "rooms[".concat(rIndex, "].children[").concat(index, "].gender"), onChange: formik.handleChange, onBlur: formik.handleBlur, value: "m", checked: travelerValues.gender === 'm' }),
|
|
18558
|
-
translations.TRAVELERS_FORM.
|
|
19715
|
+
translations.TRAVELERS_FORM.MALE_GENDER)),
|
|
18559
19716
|
React.createElement("div", { className: "radiobutton" },
|
|
18560
19717
|
React.createElement("label", { className: "radiobutton__label" },
|
|
18561
19718
|
React.createElement("input", { type: "radio", className: "radiobutton__input", name: "rooms[".concat(rIndex, "].children[").concat(index, "].gender"), onChange: formik.handleChange, onBlur: formik.handleBlur, value: "f", checked: travelerValues.gender === 'f' }),
|
|
18562
|
-
translations.TRAVELERS_FORM.
|
|
18563
|
-
React.createElement("div", { className: "radiobutton" },
|
|
18564
|
-
React.createElement("label", { className: "radiobutton__label" },
|
|
18565
|
-
React.createElement("input", { type: "radio", className: "radiobutton__input", name: "rooms[".concat(rIndex, "].children[").concat(index, "].gender"), onChange: formik.handleChange, onBlur: formik.handleBlur, value: "x", checked: travelerValues.gender === 'x' }),
|
|
18566
|
-
translations.TRAVELERS_FORM.OTHER))))),
|
|
19719
|
+
translations.TRAVELERS_FORM.FEMALE_GENDER))))),
|
|
18567
19720
|
React.createElement("div", { className: "form__row" },
|
|
18568
19721
|
React.createElement(LabeledInput, { hasError: hasVisibleError("rooms[".concat(rIndex, "].children[").concat(index, "].firstName")), extraClassName: "form__group--md-33", label: translations.TRAVELERS_FORM.FIRST_NAME, required: true, name: "rooms[".concat(rIndex, "].children[").concat(index, "].firstName"), onChange: formik.handleChange, onBlur: formik.handleBlur, value: travelerValues.firstName }),
|
|
18569
19722
|
React.createElement(LabeledInput, { hasError: hasVisibleError("rooms[".concat(rIndex, "].children[").concat(index, "].lastName")), extraClassName: "form__group--md-33", label: translations.TRAVELERS_FORM.LAST_NAME, required: true, name: "rooms[".concat(rIndex, "].children[").concat(index, "].lastName"), onChange: formik.handleChange, onBlur: formik.handleBlur, value: travelerValues.lastName }),
|
|
@@ -19010,7 +20163,7 @@ var Icon$2 = function (_a) {
|
|
|
19010
20163
|
React.createElement(HTMLComment, { text: "!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc." }),
|
|
19011
20164
|
title && React.createElement("title", null, title),
|
|
19012
20165
|
React.createElement("path", { d: "M384 96l0 128-128 0 0-128 128 0zm0 192l0 128-128 0 0-128 128 0zM192 224l-128 0 0-128 128 0 0 128zM64 288l128 0 0 128-128 0 0-128zM64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32z", fill: "currentColor" })));
|
|
19013
|
-
case 'ui-
|
|
20166
|
+
case 'ui-list':
|
|
19014
20167
|
return (React.createElement("svg", { className: ['icon', "icon--".concat(name), className].filter(function (className) { return !isEmpty(className); }).join(' '), width: width, height: height, viewBox: "0 0 512 512" },
|
|
19015
20168
|
React.createElement(HTMLComment, { text: "!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc." }),
|
|
19016
20169
|
title && React.createElement("title", null, title),
|
|
@@ -19601,7 +20754,6 @@ var QSMConfigurationContext = React.createContext({
|
|
|
19601
20754
|
showReturnDate: false,
|
|
19602
20755
|
datesIcon: '',
|
|
19603
20756
|
onSubmit: function () { },
|
|
19604
|
-
submitLabel: 'Zoeken',
|
|
19605
20757
|
submitIcon: ''
|
|
19606
20758
|
});
|
|
19607
20759
|
|
|
@@ -20260,10 +21412,11 @@ var DateRangePicker = function (_a) {
|
|
|
20260
21412
|
};
|
|
20261
21413
|
|
|
20262
21414
|
var TravelInput = function () {
|
|
20263
|
-
var _a = useContext(QSMConfigurationContext), type = _a.type, askRooms = _a.askRooms, maxTravelers = _a.maxTravelers, defaultTravelers = _a.defaultTravelers, maxChildAge = _a.maxChildAge, maxInfantAge = _a.maxInfantAge; _a.askTravelType; _a.askTravelClass;
|
|
21415
|
+
var _a = useContext(QSMConfigurationContext), type = _a.type, askRooms = _a.askRooms, maxTravelers = _a.maxTravelers, defaultTravelers = _a.defaultTravelers, maxChildAge = _a.maxChildAge, maxInfantAge = _a.maxInfantAge; _a.askTravelType; _a.askTravelClass; var languageCode = _a.languageCode;
|
|
20264
21416
|
var areTravelersInRooms = type !== 'flight' && askRooms;
|
|
20265
21417
|
var dispatch = useDispatch();
|
|
20266
21418
|
var _b = useSelector(function (state) { return state.qsm; }), adults = _b.adults, kids = _b.kids, babies = _b.babies, rooms = _b.rooms;
|
|
21419
|
+
var translations = getTranslations(languageCode !== null && languageCode !== void 0 ? languageCode : 'en-GB');
|
|
20267
21420
|
var getTravelerButtonClass = function (disabled) { return "button button--increment ".concat(disabled ? 'button--disabled' : ''); };
|
|
20268
21421
|
var totalTravelers = areTravelersInRooms ? rooms.reduce(function (sum, room) { return sum + room.adults + room.kids + room.babies; }, 0) : adults + kids + babies;
|
|
20269
21422
|
var safeMaxTravelers = maxTravelers !== null && maxTravelers !== void 0 ? maxTravelers : Infinity;
|
|
@@ -20305,20 +21458,21 @@ var TravelInput = function () {
|
|
|
20305
21458
|
};
|
|
20306
21459
|
// Compute age labels dynamically
|
|
20307
21460
|
var ageLabels = {
|
|
20308
|
-
adults: maxChildAge ? "".concat(maxChildAge + 1, "+
|
|
20309
|
-
kids: maxChildAge && maxInfantAge ? "".concat(maxInfantAge + 1, "-").concat(maxChildAge, "
|
|
20310
|
-
babies: maxInfantAge !== undefined ? "0-".concat(maxInfantAge, "
|
|
21461
|
+
adults: maxChildAge ? "".concat(maxChildAge + 1, "+ ").concat(translations.PRODUCT.YEAR) : "12+ ".concat(translations.PRODUCT.YEAR),
|
|
21462
|
+
kids: maxChildAge && maxInfantAge ? "".concat(maxInfantAge + 1, "-").concat(maxChildAge, " ").concat(translations.PRODUCT.YEAR) : "2-11 ".concat(translations.PRODUCT.YEAR),
|
|
21463
|
+
babies: maxInfantAge !== undefined ? "0-".concat(maxInfantAge, " ").concat(translations.PRODUCT.YEAR) : "0-1 ".concat(translations.PRODUCT.YEAR)
|
|
20311
21464
|
};
|
|
20312
21465
|
return (React.createElement("div", { className: "passenger-picker" }, areTravelersInRooms ? (React.createElement("div", null,
|
|
20313
21466
|
React.createElement("div", { className: "passenger-picker__rooms-header" },
|
|
20314
21467
|
React.createElement("h4", { className: "passenger-picker__rooms-header-title" },
|
|
20315
|
-
|
|
21468
|
+
translations.SHARED.ROOMS,
|
|
21469
|
+
": ",
|
|
20316
21470
|
React.createElement("span", { className: "passenger-picker__rooms-header-count" }, rooms.length)),
|
|
20317
21471
|
rooms.length < 4 && (React.createElement("div", { className: "cta--secondary".concat(!canAddTraveler ? ' cta--disabled' : ''), onClick: function () {
|
|
20318
21472
|
if (canAddTraveler) {
|
|
20319
21473
|
handleAddRoom();
|
|
20320
21474
|
}
|
|
20321
|
-
} },
|
|
21475
|
+
} }, translations.QSM.ADD_ROOM))),
|
|
20322
21476
|
React.createElement("div", { className: "passenger-picker__rooms-wrapper" }, rooms.map(function (room, idx) { return (React.createElement("div", { key: idx, className: "passenger-picker__room" },
|
|
20323
21477
|
React.createElement("h6", { className: "passenger-picker__room-title" },
|
|
20324
21478
|
"Kamer ",
|
|
@@ -20334,16 +21488,16 @@ var TravelInput = function () {
|
|
|
20334
21488
|
React.createElement("button", { className: getTravelerButtonClass(!canAddTraveler), onClick: function () { return canAddTraveler && handleTravelerChange(idx, type, room[type] + 1); } },
|
|
20335
21489
|
React.createElement(Icon$1, { name: "ui-plus" }))))); }),
|
|
20336
21490
|
rooms.length > 1 && (React.createElement("div", { className: "passenger-picker__remove-room" },
|
|
20337
|
-
React.createElement("button", { type: "button", className: "cta--remove", onClick: function () { return handleRemoveRoom(idx); } },
|
|
21491
|
+
React.createElement("button", { type: "button", className: "cta--remove", onClick: function () { return handleRemoveRoom(idx); } }, translations.QSM.REMOVE_ROOM))),
|
|
20338
21492
|
!canAddTraveler && (React.createElement("div", { className: "passenger-picker__info-message" },
|
|
20339
21493
|
React.createElement("svg", { className: "passenger-picker__info-message-icon", width: 16, height: 16, viewBox: "0 0 15.967 15.967" },
|
|
20340
21494
|
React.createElement("path", { id: "error_16dp_UNDEFINED_FILL0_wght400_GRAD0_opsz20", d: "M103.979-852.024a.735.735,0,0,0,.535-.214.713.713,0,0,0,.218-.53.735.735,0,0,0-.214-.535.712.712,0,0,0-.53-.218.735.735,0,0,0-.535.214.713.713,0,0,0-.218.53.734.734,0,0,0,.214.535A.712.712,0,0,0,103.979-852.024Zm-.744-2.994h1.5v-4.99h-1.5Zm.754,6.986a7.8,7.8,0,0,1-3.1-.624,8.048,8.048,0,0,1-2.547-1.715,8.051,8.051,0,0,1-1.715-2.546A7.8,7.8,0,0,1,96-856.026a7.735,7.735,0,0,1,.624-3.1,8.079,8.079,0,0,1,1.715-2.536,8.051,8.051,0,0,1,2.546-1.715,7.8,7.8,0,0,1,3.108-.624,7.735,7.735,0,0,1,3.1.624,8.081,8.081,0,0,1,2.536,1.715,8.066,8.066,0,0,1,1.715,2.541,7.755,7.755,0,0,1,.624,3.1,7.8,7.8,0,0,1-.624,3.1,8.048,8.048,0,0,1-1.715,2.547,8.066,8.066,0,0,1-2.541,1.715A7.754,7.754,0,0,1,103.99-848.033Zm-.006-1.5a6.255,6.255,0,0,0,4.595-1.892,6.256,6.256,0,0,0,1.892-4.595,6.255,6.255,0,0,0-1.892-4.595,6.255,6.255,0,0,0-4.595-1.892,6.255,6.255,0,0,0-4.595,1.892,6.255,6.255,0,0,0-1.892,4.595,6.256,6.256,0,0,0,1.892,4.595A6.256,6.256,0,0,0,103.984-849.529ZM103.984-856.016Z", transform: "translate(-96 864)" })),
|
|
20341
|
-
React.createElement("span", { className: "passenger-picker__info-message-explanation" },
|
|
21495
|
+
React.createElement("span", { className: "passenger-picker__info-message-explanation" }, translations.QSM.MAX_TRAVELERS_REACHED))),
|
|
20342
21496
|
React.createElement("div", { className: "passenger-picker__line passenger-picker__line--room" }))); })))) : (React.createElement("div", null,
|
|
20343
21497
|
React.createElement("div", { className: "passenger-picker__items" },
|
|
20344
21498
|
React.createElement("div", { className: "passenger-picker__item" },
|
|
20345
21499
|
React.createElement("div", { className: "passenger-picker__item-text" },
|
|
20346
|
-
React.createElement("span", null,
|
|
21500
|
+
React.createElement("span", null, translations.QSM.ADULTS),
|
|
20347
21501
|
React.createElement("span", { className: "passenger-picker__item-text-age" }, ageLabels.adults)),
|
|
20348
21502
|
React.createElement("div", { className: "decrement-increment__ui" },
|
|
20349
21503
|
React.createElement("div", { className: "button button--decrement ".concat(adults === 0 ? 'button--disabled' : ''), onClick: function () { return adults > 0 && dispatch(setAdults(adults - 1)); } },
|
|
@@ -20353,7 +21507,7 @@ var TravelInput = function () {
|
|
|
20353
21507
|
React.createElement(Icon$1, { name: "ui-plus" })))),
|
|
20354
21508
|
React.createElement("div", { className: "passenger-picker__item" },
|
|
20355
21509
|
React.createElement("div", { className: "passenger-picker__item-text" },
|
|
20356
|
-
React.createElement("span", null,
|
|
21510
|
+
React.createElement("span", null, translations.QSM.CHILDREN),
|
|
20357
21511
|
React.createElement("span", { className: "passenger-picker__item-text-age" }, ageLabels.kids)),
|
|
20358
21512
|
React.createElement("div", { className: "decrement-increment__ui" },
|
|
20359
21513
|
React.createElement("div", { className: getTravelerButtonClass(!canAddTraveler), onClick: function () { return kids > 0 && dispatch(setKids(kids - 1)); } },
|
|
@@ -20363,7 +21517,7 @@ var TravelInput = function () {
|
|
|
20363
21517
|
React.createElement(Icon$1, { name: "ui-plus" })))),
|
|
20364
21518
|
React.createElement("div", { className: "passenger-picker__item" },
|
|
20365
21519
|
React.createElement("div", { className: "passenger-picker__item-text" },
|
|
20366
|
-
React.createElement("span", null,
|
|
21520
|
+
React.createElement("span", null, translations.QSM.BABIES),
|
|
20367
21521
|
React.createElement("span", { className: "passenger-picker__item-text-age" }, ageLabels.babies)),
|
|
20368
21522
|
React.createElement("div", { className: "decrement-increment__ui" },
|
|
20369
21523
|
React.createElement("div", { className: "button button--decrement ".concat(babies === 0 ? 'button--disabled' : ''), onClick: function () { return babies > 0 && dispatch(setBabies(babies - 1)); } },
|
|
@@ -20374,16 +21528,17 @@ var TravelInput = function () {
|
|
|
20374
21528
|
!canAddTraveler && (React.createElement("div", { className: "passenger-picker__info-message" },
|
|
20375
21529
|
React.createElement("svg", { className: "passenger-picker__info-message-icon", width: 16, height: 16, viewBox: "0 0 15.967 15.967" },
|
|
20376
21530
|
React.createElement("path", { id: "error_16dp_UNDEFINED_FILL0_wght400_GRAD0_opsz20", d: "M103.979-852.024a.735.735,0,0,0,.535-.214.713.713,0,0,0,.218-.53.735.735,0,0,0-.214-.535.712.712,0,0,0-.53-.218.735.735,0,0,0-.535.214.713.713,0,0,0-.218.53.734.734,0,0,0,.214.535A.712.712,0,0,0,103.979-852.024Zm-.744-2.994h1.5v-4.99h-1.5Zm.754,6.986a7.8,7.8,0,0,1-3.1-.624,8.048,8.048,0,0,1-2.547-1.715,8.051,8.051,0,0,1-1.715-2.546A7.8,7.8,0,0,1,96-856.026a7.735,7.735,0,0,1,.624-3.1,8.079,8.079,0,0,1,1.715-2.536,8.051,8.051,0,0,1,2.546-1.715,7.8,7.8,0,0,1,3.108-.624,7.735,7.735,0,0,1,3.1.624,8.081,8.081,0,0,1,2.536,1.715,8.066,8.066,0,0,1,1.715,2.541,7.755,7.755,0,0,1,.624,3.1,7.8,7.8,0,0,1-.624,3.1,8.048,8.048,0,0,1-1.715,2.547,8.066,8.066,0,0,1-2.541,1.715A7.754,7.754,0,0,1,103.99-848.033Zm-.006-1.5a6.255,6.255,0,0,0,4.595-1.892,6.256,6.256,0,0,0,1.892-4.595,6.255,6.255,0,0,0-1.892-4.595,6.255,6.255,0,0,0-4.595-1.892,6.255,6.255,0,0,0-4.595,1.892,6.255,6.255,0,0,0-1.892,4.595,6.256,6.256,0,0,0,1.892,4.595A6.256,6.256,0,0,0,103.984-849.529ZM103.984-856.016Z", transform: "translate(-96 864)" })),
|
|
20377
|
-
React.createElement("span", { className: "passenger-picker__info-message-explanation" },
|
|
21531
|
+
React.createElement("span", { className: "passenger-picker__info-message-explanation" }, translations.QSM.MAX_TRAVELERS_REACHED))),
|
|
20378
21532
|
React.createElement("div", { className: "passenger-picker__line" })))));
|
|
20379
21533
|
};
|
|
20380
21534
|
|
|
20381
21535
|
var MobileFilterModal = function () {
|
|
20382
|
-
var
|
|
21536
|
+
var _a = useContext(QSMConfigurationContext), datesIcon = _a.datesIcon, languageCode = _a.languageCode;
|
|
21537
|
+
var translations = getTranslations(languageCode !== null && languageCode !== void 0 ? languageCode : 'en-GB');
|
|
20383
21538
|
var dispatch = useDispatch();
|
|
20384
|
-
var
|
|
20385
|
-
var
|
|
20386
|
-
var
|
|
21539
|
+
var _b = useSelector(function (state) { return state.qsm; }), mobileFilterType = _b.mobileFilterType, mobileDatePickerMode = _b.mobileDatePickerMode, activeSearchFieldProps = _b.activeSearchFieldProps, fromDate = _b.fromDate, toDate = _b.toDate;
|
|
21540
|
+
var _c = useState(''), inputValue = _c[0], setInputValue = _c[1];
|
|
21541
|
+
var _d = useState([]), searchResultsLocal = _d[0], setSearchResultsLocal = _d[1];
|
|
20387
21542
|
var hasTypedRef = useRef(false);
|
|
20388
21543
|
/* ---------------------------------------------------------------- */
|
|
20389
21544
|
/* Sync local state when a new field is opened */
|
|
@@ -20449,19 +21604,19 @@ var MobileFilterModal = function () {
|
|
|
20449
21604
|
return (React.createElement("div", { className: "mobile-qsm-filter__modal" },
|
|
20450
21605
|
React.createElement("div", { className: "mobile-qsm-filter__modal-header" },
|
|
20451
21606
|
React.createElement("div", { className: "mobile-qsm-filter__modal-header-row" },
|
|
20452
|
-
React.createElement("span", { className: "mobile-qsm-filter__modal-header-title" },
|
|
21607
|
+
React.createElement("span", { className: "mobile-qsm-filter__modal-header-title" }, translations.QSM.CHOOSE_DATES),
|
|
20453
21608
|
React.createElement("span", { className: "mobile-qsm-filter__modal-header-close", onClick: closeModal }))),
|
|
20454
21609
|
React.createElement("div", { className: "qsm__double-input qsm__double-input--date-modal" },
|
|
20455
21610
|
React.createElement("div", { className: "qsm__double-input__wrapper" },
|
|
20456
21611
|
React.createElement("label", { className: "qsm__input-wrapper" },
|
|
20457
21612
|
datesIcon && React.createElement("span", { className: "qsm__input-icon" }, datesIcon),
|
|
20458
|
-
React.createElement("span", { className: "qsm__label" },
|
|
20459
|
-
React.createElement("input", { type: "text", id: "vertrek", className: "qsm__input u-ps-2", placeholder:
|
|
21613
|
+
React.createElement("span", { className: "qsm__label" }, translations.QSM.DEPARTURE_DATE),
|
|
21614
|
+
React.createElement("input", { type: "text", id: "vertrek", className: "qsm__input u-ps-2", placeholder: translations.QSM.DEPARTURE_DATE, readOnly: true, value: fromDate ? format$1(new Date(fromDate), 'dd/MM/yyyy') : '' }),
|
|
20460
21615
|
mobileDatePickerMode === 'range' && React.createElement("div", { className: "qsm__input-line qsm__input-line--datepicker" })),
|
|
20461
21616
|
mobileDatePickerMode === 'range' && (React.createElement("label", { className: "qsm__input-wrapper" },
|
|
20462
21617
|
datesIcon && React.createElement("span", { className: "qsm__input-icon" }, datesIcon),
|
|
20463
|
-
React.createElement("span", { className: "qsm__label qsm__label--second-input-label" },
|
|
20464
|
-
React.createElement("input", { type: "text", id: "retour", className: "qsm__input", placeholder:
|
|
21618
|
+
React.createElement("span", { className: "qsm__label qsm__label--second-input-label" }, translations.QSM.RETURN_DATE),
|
|
21619
|
+
React.createElement("input", { type: "text", id: "retour", className: "qsm__input", placeholder: translations.QSM.RETURN_DATE, readOnly: true, value: toDate ? format$1(new Date(toDate), 'dd/MM/yyyy') : '' })))),
|
|
20465
21620
|
React.createElement(DateRangePicker, { fromDate: fromDate ? new Date(fromDate) : undefined, toDate: mobileDatePickerMode === 'range' && toDate ? new Date(toDate) : undefined, isSingleDate: mobileDatePickerMode === 'single', onSelectionChange: function (from, to) {
|
|
20466
21621
|
if (from) {
|
|
20467
21622
|
dispatch(setFromDate(from.toISOString()));
|
|
@@ -20478,7 +21633,7 @@ var MobileFilterModal = function () {
|
|
|
20478
21633
|
if (hasValidDates) {
|
|
20479
21634
|
closeModal();
|
|
20480
21635
|
}
|
|
20481
|
-
} },
|
|
21636
|
+
} }, translations.QSM.CONFIRM))));
|
|
20482
21637
|
};
|
|
20483
21638
|
var renderSearchInputModal = function () {
|
|
20484
21639
|
if (!activeSearchFieldProps) {
|
|
@@ -20494,18 +21649,18 @@ var MobileFilterModal = function () {
|
|
|
20494
21649
|
React.createElement("input", { type: "text", id: "search", value: inputValue, onChange: function (e) { return handleLocationChange(e.target.value); }, className: "qsm__input qsm__input--modal qsm__from-to u-ps-2", placeholder: activeSearchFieldProps.placeholder }),
|
|
20495
21650
|
React.createElement(SearchInput, { onChange: handleLocationChange, searchResults: searchResultsLocal, onOptionSelect: handleLocationSelect, highlightTarget: inputValue, label: activeSearchFieldProps.label }))),
|
|
20496
21651
|
React.createElement("div", { className: "mobile-qsm-filter__modal-footer" },
|
|
20497
|
-
React.createElement("button", { className: "cta", onClick: closeModal },
|
|
21652
|
+
React.createElement("button", { className: "cta", onClick: closeModal }, translations.QSM.CONFIRM))));
|
|
20498
21653
|
};
|
|
20499
21654
|
var renderTravelerModal = function () { return (React.createElement("div", { className: "mobile-qsm-filter__modal" },
|
|
20500
21655
|
React.createElement("div", { className: "mobile-qsm-filter__modal-header" },
|
|
20501
21656
|
React.createElement("div", { className: "mobile-qsm-filter__modal-header-row" },
|
|
20502
|
-
React.createElement("span", { className: "mobile-qsm-filter__modal-header-title" },
|
|
21657
|
+
React.createElement("span", { className: "mobile-qsm-filter__modal-header-title" }, translations.QSM.TRAVELERS),
|
|
20503
21658
|
React.createElement("span", { className: "mobile-qsm-filter__modal-header-close", onClick: closeModal }))),
|
|
20504
21659
|
React.createElement("div", { className: "qsm__double-input qsm__double-input--travel-modal" },
|
|
20505
21660
|
React.createElement("div", { className: "qsm__input-wrapper qsm__input-wrapper--rooms" },
|
|
20506
21661
|
React.createElement(TravelInput, null))),
|
|
20507
21662
|
React.createElement("div", { className: "mobile-qsm-filter__modal-footer" },
|
|
20508
|
-
React.createElement("button", { className: "cta", onClick: closeModal },
|
|
21663
|
+
React.createElement("button", { className: "cta", onClick: closeModal }, translations.QSM.CONFIRM)))); };
|
|
20509
21664
|
/* ---------------------------------------------------------------- */
|
|
20510
21665
|
/* Switch modal type */
|
|
20511
21666
|
/* ---------------------------------------------------------------- */
|
|
@@ -20722,7 +21877,8 @@ var TravelInputGroup = function () {
|
|
|
20722
21877
|
var isSmallScreen = useMediaQuery('(max-width: 768px)');
|
|
20723
21878
|
var _a = useState(false), isOpen = _a[0], setIsOpen = _a[1];
|
|
20724
21879
|
var wrapperRef = useRef(null);
|
|
20725
|
-
var _b = useContext(QSMConfigurationContext), type = _b.type, askRooms = _b.askRooms, defaultTravelers = _b.defaultTravelers, maxTravelers = _b.maxTravelers;
|
|
21880
|
+
var _b = useContext(QSMConfigurationContext), type = _b.type, askRooms = _b.askRooms, defaultTravelers = _b.defaultTravelers, maxTravelers = _b.maxTravelers, languageCode = _b.languageCode;
|
|
21881
|
+
var translations = getTranslations(languageCode !== null && languageCode !== void 0 ? languageCode : 'en-GB');
|
|
20726
21882
|
var areTravelersInRooms = type !== 'flight' && askRooms;
|
|
20727
21883
|
var _c = useSelector(function (s) { return s.qsm; }), adults = _c.adults, rooms = _c.rooms;
|
|
20728
21884
|
var initDone = useRef(false);
|
|
@@ -20768,8 +21924,8 @@ var TravelInputGroup = function () {
|
|
|
20768
21924
|
}, [defaultTravelers, maxTravelers]);
|
|
20769
21925
|
return (React.createElement("div", { ref: wrapperRef, className: "qsm__single-input-wrapper qsm__single-input-wrapper--travel" },
|
|
20770
21926
|
React.createElement(Icon$1, { name: "ui-user", height: 16 }),
|
|
20771
|
-
React.createElement("span", { className: "qsm__label" },
|
|
20772
|
-
React.createElement("input", { type: "text", id: "traveler", className: "qsm__input u-ps-2", placeholder:
|
|
21927
|
+
React.createElement("span", { className: "qsm__label" }, translations.QSM.TRAVELERS_LABEL),
|
|
21928
|
+
React.createElement("input", { type: "text", id: "traveler", className: "qsm__input u-ps-2", placeholder: translations.QSM.TRAVELERS_LABEL, readOnly: true, onClick: handleClick, value: travelerSummary }),
|
|
20773
21929
|
!isSmallScreen && isOpen && (React.createElement("div", null,
|
|
20774
21930
|
React.createElement(TravelInput, null)))));
|
|
20775
21931
|
};
|
|
@@ -20813,21 +21969,24 @@ var ItemPicker$1 = function (_a) {
|
|
|
20813
21969
|
};
|
|
20814
21970
|
|
|
20815
21971
|
var TravelClassPicker = function () {
|
|
20816
|
-
var
|
|
21972
|
+
var _a = useContext(QSMConfigurationContext), travelClasses = _a.travelClasses, languageCode = _a.languageCode;
|
|
21973
|
+
var translations = getTranslations(languageCode !== null && languageCode !== void 0 ? languageCode : 'en-GB');
|
|
20817
21974
|
var selectedTravelClass = useSelector(function (state) { return state.qsm; }).selectedTravelClass;
|
|
20818
|
-
return (React.createElement(ItemPicker$1, { items: travelClasses, selection: selectedTravelClass, label:
|
|
21975
|
+
return (React.createElement(ItemPicker$1, { items: travelClasses, selection: selectedTravelClass, label: translations.QSM.TRAVEL_CLASS_LABEL, placeholder: translations.QSM.TRAVEL_CLASS_PLACEHOLDER, classModifier: "travel-class-picker__items", onPick: setSelectedTravelClass }));
|
|
20819
21976
|
};
|
|
20820
21977
|
|
|
20821
21978
|
var TravelTypePicker = function () {
|
|
20822
|
-
var
|
|
21979
|
+
var _a = useContext(QSMConfigurationContext), travelTypes = _a.travelTypes, languageCode = _a.languageCode;
|
|
21980
|
+
var translations = getTranslations(languageCode !== null && languageCode !== void 0 ? languageCode : 'en-GB');
|
|
20823
21981
|
var selectedTravelType = useSelector(function (state) { return state.qsm; }).selectedTravelType;
|
|
20824
|
-
return (React.createElement(ItemPicker$1, { items: travelTypes, selection: selectedTravelType, label:
|
|
21982
|
+
return (React.createElement(ItemPicker$1, { items: travelTypes, selection: selectedTravelType, label: translations.QSM.TRAVEL_TYPE_LABEL, placeholder: translations.QSM.TRAVEL_TYPE_PLACEHOLDER, classModifier: "travel-type-picker__items", onPick: setSelectedTravelType }));
|
|
20825
21983
|
};
|
|
20826
21984
|
|
|
20827
21985
|
var TravelNationalityPicker = function () {
|
|
20828
|
-
var
|
|
21986
|
+
var _a = useContext(QSMConfigurationContext), nationalities = _a.nationalities, languageCode = _a.languageCode;
|
|
21987
|
+
var translations = getTranslations(languageCode !== null && languageCode !== void 0 ? languageCode : 'en-GB');
|
|
20829
21988
|
var selectedNationality = useSelector(function (state) { return state.qsm; }).selectedNationality;
|
|
20830
|
-
return (React.createElement(ItemPicker$1, { items: nationalities, selection: selectedNationality, label:
|
|
21989
|
+
return (React.createElement(ItemPicker$1, { items: nationalities, selection: selectedNationality, label: translations.QSM.NATIONALITY_LABEL, placeholder: translations.QSM.NATIONALITY_PLACEHOLDER, classModifier: "travel-class-picker__items", onPick: setSelectedNationality }));
|
|
20831
21990
|
};
|
|
20832
21991
|
|
|
20833
21992
|
var QSMContainer = function () {
|
|
@@ -20835,7 +21994,8 @@ var QSMContainer = function () {
|
|
|
20835
21994
|
var isMobile = useMediaQuery('(max-width: 768px)');
|
|
20836
21995
|
var qsmState = useSelector(function (state) { return state.qsm; });
|
|
20837
21996
|
var mobileFilterType = qsmState.mobileFilterType, fromDate = qsmState.fromDate, toDate = qsmState.toDate;
|
|
20838
|
-
var _a = useContext(QSMConfigurationContext), searchFields = _a.searchFields, askTravelers = _a.askTravelers, submitIcon = _a.submitIcon,
|
|
21997
|
+
var _a = useContext(QSMConfigurationContext), searchFields = _a.searchFields, askTravelers = _a.askTravelers, submitIcon = _a.submitIcon, onSubmit = _a.onSubmit, travelTypes = _a.travelTypes, languageCode = _a.languageCode;
|
|
21998
|
+
var translations = getTranslations(languageCode !== null && languageCode !== void 0 ? languageCode : 'en-GB');
|
|
20839
21999
|
useEffect(function () {
|
|
20840
22000
|
if (fromDate || toDate)
|
|
20841
22001
|
return;
|
|
@@ -20860,19 +22020,15 @@ var QSMContainer = function () {
|
|
|
20860
22020
|
var handleSubmit = function () {
|
|
20861
22021
|
if (!onSubmit)
|
|
20862
22022
|
return;
|
|
20863
|
-
var fromDate = qsmState.fromDate, toDate = qsmState.toDate
|
|
22023
|
+
var fromDate = qsmState.fromDate, toDate = qsmState.toDate; qsmState.travelers; var selectedTravelClass = qsmState.selectedTravelClass, selectedTravelType = qsmState.selectedTravelType, selectedNationality = qsmState.selectedNationality; qsmState.adults; qsmState.kids; qsmState.babies; var rooms = qsmState.rooms; qsmState.selectedFlexRange;
|
|
22024
|
+
var selectedTravelTypeValue = travelTypes.find(function (t) { return t.label === selectedTravelType; });
|
|
20864
22025
|
var payload = {
|
|
20865
22026
|
fromDate: fromDate,
|
|
20866
22027
|
toDate: toDate,
|
|
20867
|
-
travelers: travelers,
|
|
20868
22028
|
travelClass: selectedTravelClass,
|
|
20869
|
-
travelType:
|
|
22029
|
+
travelType: selectedTravelTypeValue,
|
|
20870
22030
|
nationality: selectedNationality,
|
|
20871
|
-
|
|
20872
|
-
kids: kids,
|
|
20873
|
-
babies: babies,
|
|
20874
|
-
rooms: rooms,
|
|
20875
|
-
dateFlexibility: selectedFlexRange
|
|
22031
|
+
rooms: rooms
|
|
20876
22032
|
};
|
|
20877
22033
|
addSearchFieldsToPayload(payload, searchFields, qsmState);
|
|
20878
22034
|
onSubmit(payload);
|
|
@@ -20900,41 +22056,41 @@ var QSMContainer = function () {
|
|
|
20900
22056
|
React.createElement("button", { type: "button", className: "qsm__tab" },
|
|
20901
22057
|
React.createElement("span", { className: "qsm__tab__icons" },
|
|
20902
22058
|
React.createElement(Icon$1, { name: "ui-location", height: 16 })),
|
|
20903
|
-
|
|
22059
|
+
translations.QSM.MULTIDESTINATION),
|
|
20904
22060
|
React.createElement("button", { type: "button", className: "qsm__tab" },
|
|
20905
22061
|
React.createElement("span", { className: "qsm__tab__icons" },
|
|
20906
22062
|
React.createElement(Icon$1, { name: "ui-suitcase", height: 16 })),
|
|
20907
|
-
|
|
22063
|
+
translations.QSM.PACKAGES),
|
|
20908
22064
|
React.createElement("button", { type: "button", className: "qsm__tab qsm__tab--active" },
|
|
20909
22065
|
React.createElement("span", { className: "qsm__tab__icons" },
|
|
20910
22066
|
React.createElement(Icon$1, { name: "ui-backforward", height: 14 }),
|
|
20911
22067
|
"+",
|
|
20912
22068
|
React.createElement(Icon$1, { name: "ui-bed", height: 14 })),
|
|
20913
|
-
|
|
22069
|
+
translations.QSM.TRANSPORT_HOTEL),
|
|
20914
22070
|
React.createElement("button", { type: "button", className: "qsm__tab" },
|
|
20915
22071
|
React.createElement("span", { className: "qsm__tab__icons" },
|
|
20916
22072
|
React.createElement(Icon$1, { name: "ui-bed", height: 16 })),
|
|
20917
|
-
|
|
22073
|
+
translations.QSM.ACCOMMODATION),
|
|
20918
22074
|
React.createElement("button", { type: "button", className: "qsm__tab" },
|
|
20919
22075
|
React.createElement("span", { className: "qsm__tab__icons" },
|
|
20920
22076
|
React.createElement(Icon$1, { name: "ui-flight", height: 16 })),
|
|
20921
|
-
|
|
22077
|
+
translations.QSM.TRANSPORTS),
|
|
20922
22078
|
React.createElement("button", { type: "button", className: "qsm__tab" },
|
|
20923
22079
|
React.createElement("span", { className: "qsm__tab__icons" },
|
|
20924
22080
|
React.createElement(Icon$1, { name: "ui-ticket", height: 16 })),
|
|
20925
|
-
|
|
22081
|
+
translations.QSM.TICKET_ONLY),
|
|
20926
22082
|
React.createElement("button", { type: "button", className: "qsm__tab" },
|
|
20927
22083
|
React.createElement("span", { className: "qsm__tab__icons" },
|
|
20928
22084
|
React.createElement(Icon$1, { name: "ui-car", height: 16 })),
|
|
20929
|
-
|
|
22085
|
+
translations.QSM.RENT_A_CAR),
|
|
20930
22086
|
React.createElement("button", { type: "button", className: "qsm__tab" },
|
|
20931
22087
|
React.createElement("span", { className: "qsm__tab__icons" },
|
|
20932
22088
|
React.createElement(Icon$1, { name: "ui-backforward", height: 16 })),
|
|
20933
|
-
|
|
22089
|
+
translations.QSM.TRANSFERS),
|
|
20934
22090
|
React.createElement("button", { type: "button", className: "qsm__tab" },
|
|
20935
22091
|
React.createElement("span", { className: "qsm__tab__icons" },
|
|
20936
22092
|
React.createElement(Icon$1, { name: "ui-ship", height: 16 })),
|
|
20937
|
-
|
|
22093
|
+
translations.QSM.CRUISES)),
|
|
20938
22094
|
React.createElement("div", { className: "qsm__filter" },
|
|
20939
22095
|
React.createElement("div", { className: "radiobutton-group qsm__filter__inputgroup" },
|
|
20940
22096
|
React.createElement("div", { className: "radiobutton" },
|
|
@@ -20945,7 +22101,7 @@ var QSMContainer = function () {
|
|
|
20945
22101
|
value: "",
|
|
20946
22102
|
// checked={formik.values.mainBookerId === travelerValues.id}
|
|
20947
22103
|
checked: true, readOnly: true, className: "radiobutton__input" }),
|
|
20948
|
-
React.createElement("span", null,
|
|
22104
|
+
React.createElement("span", null, translations.QSM.ONE_ACCOMMODATION))),
|
|
20949
22105
|
React.createElement("div", { className: "radiobutton" },
|
|
20950
22106
|
React.createElement("label", { className: "radiobutton__label" },
|
|
20951
22107
|
React.createElement("input", { type: "radio", name: "mainBookerId",
|
|
@@ -20954,7 +22110,7 @@ var QSMContainer = function () {
|
|
|
20954
22110
|
value: "",
|
|
20955
22111
|
// checked={formik.values.mainBookerId === travelerValues.id}
|
|
20956
22112
|
className: "radiobutton__input", disabled: true }),
|
|
20957
|
-
React.createElement("span", null,
|
|
22113
|
+
React.createElement("span", null, translations.QSM.MULTIPLE_ACCOMMODATIONS)))),
|
|
20958
22114
|
React.createElement("div", { className: "qsm__filter__classgroup" },
|
|
20959
22115
|
React.createElement(TravelClassPicker, null),
|
|
20960
22116
|
React.createElement(TravelTypePicker, null),
|
|
@@ -20970,7 +22126,7 @@ var QSMContainer = function () {
|
|
|
20970
22126
|
askTravelers && React.createElement(TravelInputGroup, null),
|
|
20971
22127
|
React.createElement("button", { type: "button", className: "cta", onClick: handleSubmit },
|
|
20972
22128
|
submitIcon && submitIcon.toString().length > 0 && React.createElement("span", null, submitIcon),
|
|
20973
|
-
React.createElement("span", null,
|
|
22129
|
+
React.createElement("span", null, translations.QSM.CONFIRM)))),
|
|
20974
22130
|
isMobile && mobileFilterType && React.createElement(MobileFilterModal, null)));
|
|
20975
22131
|
};
|
|
20976
22132
|
|
|
@@ -20997,6 +22153,8 @@ var _a;
|
|
|
20997
22153
|
var initialState = {
|
|
20998
22154
|
results: [],
|
|
20999
22155
|
selectedHotelId: null,
|
|
22156
|
+
bookingPackageDetails: null,
|
|
22157
|
+
entry: null,
|
|
21000
22158
|
isLoading: false,
|
|
21001
22159
|
filters: [],
|
|
21002
22160
|
sortKey: null,
|
|
@@ -21013,6 +22171,19 @@ var searchResultsSlice = createSlice({
|
|
|
21013
22171
|
setSelectedHotel: function (state, action) {
|
|
21014
22172
|
state.selectedHotelId = action.payload;
|
|
21015
22173
|
},
|
|
22174
|
+
setBookingPackageDetails: function (state, action) {
|
|
22175
|
+
state.bookingPackageDetails = action.payload.details;
|
|
22176
|
+
},
|
|
22177
|
+
setEntry: function (state, action) {
|
|
22178
|
+
state.entry = action.payload.entry;
|
|
22179
|
+
},
|
|
22180
|
+
selectFlight: function (state, action) {
|
|
22181
|
+
if (!state.bookingPackageDetails)
|
|
22182
|
+
return;
|
|
22183
|
+
var _a = action.payload, flightOptionId = _a.flightOptionId, isDeparture = _a.isDeparture;
|
|
22184
|
+
var flightKey = isDeparture ? 'outwardFlights' : 'returnFlights';
|
|
22185
|
+
state.bookingPackageDetails[flightKey] = state.bookingPackageDetails[flightKey].map(function (flight) { return (__assign(__assign({}, flight), { isSelected: flight.flightOptionId === flightOptionId })); });
|
|
22186
|
+
},
|
|
21016
22187
|
setIsLoading: function (state, action) {
|
|
21017
22188
|
state.isLoading = action.payload;
|
|
21018
22189
|
},
|
|
@@ -21050,7 +22221,7 @@ var searchResultsSlice = createSlice({
|
|
|
21050
22221
|
}
|
|
21051
22222
|
}
|
|
21052
22223
|
});
|
|
21053
|
-
var setResults = (_a = searchResultsSlice.actions, _a.setResults), setSelectedHotel = _a.setSelectedHotel, setIsLoading = _a.setIsLoading, setFilters = _a.setFilters, resetFilters = _a.resetFilters, setSortKey = _a.setSortKey, setActiveTab = _a.setActiveTab; _a.setCurrentPage; _a.resetSearchState;
|
|
22224
|
+
var setResults = (_a = searchResultsSlice.actions, _a.setResults), setSelectedHotel = _a.setSelectedHotel, setBookingPackageDetails = _a.setBookingPackageDetails, setEntry = _a.setEntry, selectFlight = _a.selectFlight, setIsLoading = _a.setIsLoading, setFilters = _a.setFilters, resetFilters = _a.resetFilters, setSortKey = _a.setSortKey, setActiveTab = _a.setActiveTab; _a.setCurrentPage; _a.resetSearchState;
|
|
21054
22225
|
var searchResultsReducer = searchResultsSlice.reducer;
|
|
21055
22226
|
|
|
21056
22227
|
var MultiRangeFilter = function (_a) {
|
|
@@ -21111,9 +22282,10 @@ var MultiRangeFilter = function (_a) {
|
|
|
21111
22282
|
var Spinner = function () {
|
|
21112
22283
|
var _a;
|
|
21113
22284
|
var context = useContext(SearchResultsConfigurationContext);
|
|
22285
|
+
var translations = getTranslations((_a = context === null || context === void 0 ? void 0 : context.languageCode) !== null && _a !== void 0 ? _a : 'en-GB');
|
|
21114
22286
|
return (React.createElement("div", { className: "spinner__container" },
|
|
21115
22287
|
React.createElement("span", { className: "spinner__icon" }),
|
|
21116
|
-
React.createElement("span", { className: "spinner__label" },
|
|
22288
|
+
React.createElement("span", { className: "spinner__label" }, translations === null || translations === void 0 ? void 0 : translations.SRP.LOADING)));
|
|
21117
22289
|
};
|
|
21118
22290
|
|
|
21119
22291
|
var Icon = function (_a) {
|
|
@@ -21288,7 +22460,7 @@ var Icon = function (_a) {
|
|
|
21288
22460
|
React.createElement(HTMLComment, { text: "!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc." }),
|
|
21289
22461
|
title && React.createElement("title", null, title),
|
|
21290
22462
|
React.createElement("path", { d: "M384 96l0 128-128 0 0-128 128 0zm0 192l0 128-128 0 0-128 128 0zM192 224l-128 0 0-128 128 0 0 128zM64 288l128 0 0 128-128 0 0-128zM64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32z", fill: "currentColor" })));
|
|
21291
|
-
case 'ui-
|
|
22463
|
+
case 'ui-list':
|
|
21292
22464
|
return (React.createElement("svg", { className: ['icon', "icon--".concat(name), className].filter(function (className) { return !isEmpty(className); }).join(' '), width: width, height: height, viewBox: "0 0 512 512" },
|
|
21293
22465
|
React.createElement(HTMLComment, { text: "!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc." }),
|
|
21294
22466
|
title && React.createElement("title", null, title),
|
|
@@ -21391,11 +22563,12 @@ var initialFilters = [
|
|
|
21391
22563
|
}
|
|
21392
22564
|
];
|
|
21393
22565
|
var Filters = function (_a) {
|
|
21394
|
-
var _b
|
|
21395
|
-
var filters = _a.filters,
|
|
22566
|
+
var _b;
|
|
22567
|
+
var filters = _a.filters, isOpen = _a.isOpen, handleSetIsOpen = _a.handleSetIsOpen, handleApplyFilters = _a.handleApplyFilters, isLoading = _a.isLoading;
|
|
21396
22568
|
var context = useContext(SearchResultsConfigurationContext);
|
|
21397
|
-
var
|
|
21398
|
-
var
|
|
22569
|
+
var translations = getTranslations((_b = context === null || context === void 0 ? void 0 : context.languageCode) !== null && _b !== void 0 ? _b : 'en-GB');
|
|
22570
|
+
var _c = useState({}), visibleFilters = _c[0], setVisibleFilters = _c[1];
|
|
22571
|
+
var _d = useState([]), pendingFilters = _d[0], setPendingFilters = _d[1];
|
|
21399
22572
|
useEffect(function () {
|
|
21400
22573
|
if (initialFilters.length > 0) {
|
|
21401
22574
|
setPendingFilters(initialFilters);
|
|
@@ -21463,8 +22636,8 @@ var Filters = function (_a) {
|
|
|
21463
22636
|
dispatch(setFilters(pendingFilters));
|
|
21464
22637
|
(_a = context === null || context === void 0 ? void 0 : context.onFilterChange) === null || _a === void 0 ? void 0 : _a.call(context, pendingFilters);
|
|
21465
22638
|
handleApplyFilters();
|
|
21466
|
-
if (
|
|
21467
|
-
|
|
22639
|
+
if (isOpen) {
|
|
22640
|
+
handleSetIsOpen();
|
|
21468
22641
|
}
|
|
21469
22642
|
};
|
|
21470
22643
|
var handleFullReset = function () {
|
|
@@ -21483,15 +22656,15 @@ var Filters = function (_a) {
|
|
|
21483
22656
|
return null;
|
|
21484
22657
|
}
|
|
21485
22658
|
return (React.createElement(React.Fragment, null,
|
|
21486
|
-
React.createElement("div", { className: "search__filters--modal ".concat(
|
|
21487
|
-
React.createElement("div", { className: "search__filters--background", onClick: function () { return
|
|
21488
|
-
React.createElement("button", { className: "search__filters--close", onClick: function () { return
|
|
22659
|
+
React.createElement("div", { className: "search__filters--modal ".concat(isOpen ? 'is-open' : '') },
|
|
22660
|
+
React.createElement("div", { className: "search__filters--background", onClick: function () { return handleSetIsOpen(); } }),
|
|
22661
|
+
React.createElement("button", { className: "search__filters--close", onClick: function () { return handleSetIsOpen(); } },
|
|
21489
22662
|
React.createElement(Icon, { name: "ui-close", height: 24 })),
|
|
21490
22663
|
React.createElement("div", { className: "search__filters" },
|
|
21491
22664
|
React.createElement("div", { className: "search__filter-row search__filter__header" },
|
|
21492
22665
|
React.createElement("div", { className: "search__filter-row-flex-title" },
|
|
21493
|
-
React.createElement("p", { className: "search__filter-small-title" },
|
|
21494
|
-
!isLoading && (React.createElement("a", { className: "search__filter-reset", onClick: function () { return handleFullReset(); } },
|
|
22666
|
+
React.createElement("p", { className: "search__filter-small-title" }, translations.SRP.FILTERS)),
|
|
22667
|
+
!isLoading && (React.createElement("a", { className: "search__filter-reset", onClick: function () { return handleFullReset(); } }, translations.SRP.RESET))),
|
|
21495
22668
|
isLoading ? (React.createElement(Spinner, null)) : (React.createElement(React.Fragment, null,
|
|
21496
22669
|
React.createElement("div", { className: "search__filters__group-container" },
|
|
21497
22670
|
pendingFilters.map(function (filter, index) {
|
|
@@ -21549,9 +22722,9 @@ var Filters = function (_a) {
|
|
|
21549
22722
|
context.useGlobalApplyFilterButton && hasPendingChanges() && (React.createElement("div", { className: "search__filters__actions" },
|
|
21550
22723
|
React.createElement("button", { className: "cta--secondary ", onClick: function () {
|
|
21551
22724
|
handleResetPendingChanges();
|
|
21552
|
-
|
|
21553
|
-
}, disabled: isLoading },
|
|
21554
|
-
React.createElement("button", { className: "cta", onClick: function () { return applyFilters(); }, disabled: isLoading },
|
|
22725
|
+
handleSetIsOpen();
|
|
22726
|
+
}, disabled: isLoading }, translations.SRP.CANCEL),
|
|
22727
|
+
React.createElement("button", { className: "cta", onClick: function () { return applyFilters(); }, disabled: isLoading }, translations.SRP.APPLY))))))))));
|
|
21555
22728
|
};
|
|
21556
22729
|
|
|
21557
22730
|
var ItemPicker = function (_a) {
|
|
@@ -21600,138 +22773,223 @@ var ItemPicker = function (_a) {
|
|
|
21600
22773
|
}))))));
|
|
21601
22774
|
};
|
|
21602
22775
|
|
|
22776
|
+
var getDepartureTime = function (flight) {
|
|
22777
|
+
var _a, _b;
|
|
22778
|
+
if (isEmpty(flight === null || flight === void 0 ? void 0 : flight.metaDatas))
|
|
22779
|
+
return '';
|
|
22780
|
+
try {
|
|
22781
|
+
var config = (_a = first(flight === null || flight === void 0 ? void 0 : flight.metaDatas)) === null || _a === void 0 ? void 0 : _a.configuration;
|
|
22782
|
+
if (!config)
|
|
22783
|
+
return '';
|
|
22784
|
+
var parsed = JSON.parse(config);
|
|
22785
|
+
var line = first(parsed === null || parsed === void 0 ? void 0 : parsed.FlightLines);
|
|
22786
|
+
return (_b = line === null || line === void 0 ? void 0 : line.DepartureTime) !== null && _b !== void 0 ? _b : '';
|
|
22787
|
+
}
|
|
22788
|
+
catch (_c) {
|
|
22789
|
+
return '';
|
|
22790
|
+
}
|
|
22791
|
+
};
|
|
22792
|
+
var getArrivalTime = function (flight) {
|
|
22793
|
+
var _a, _b;
|
|
22794
|
+
if (isEmpty(flight === null || flight === void 0 ? void 0 : flight.metaDatas))
|
|
22795
|
+
return '';
|
|
22796
|
+
try {
|
|
22797
|
+
var config = (_a = first(flight === null || flight === void 0 ? void 0 : flight.metaDatas)) === null || _a === void 0 ? void 0 : _a.configuration;
|
|
22798
|
+
if (!config)
|
|
22799
|
+
return '';
|
|
22800
|
+
var parsed = JSON.parse(config);
|
|
22801
|
+
var line = last(parsed === null || parsed === void 0 ? void 0 : parsed.FlightLines);
|
|
22802
|
+
return (_b = line === null || line === void 0 ? void 0 : line.ArrivalTime) !== null && _b !== void 0 ? _b : '';
|
|
22803
|
+
}
|
|
22804
|
+
catch (_c) {
|
|
22805
|
+
return '';
|
|
22806
|
+
}
|
|
22807
|
+
};
|
|
22808
|
+
var getDuration = function (flight) {
|
|
22809
|
+
var _a;
|
|
22810
|
+
if (isEmpty(flight === null || flight === void 0 ? void 0 : flight.metaDatas))
|
|
22811
|
+
return '';
|
|
22812
|
+
try {
|
|
22813
|
+
var config = (_a = first(flight === null || flight === void 0 ? void 0 : flight.metaDatas)) === null || _a === void 0 ? void 0 : _a.configuration;
|
|
22814
|
+
if (!config)
|
|
22815
|
+
return '';
|
|
22816
|
+
var parsed = JSON.parse(config);
|
|
22817
|
+
var ticks = parsed === null || parsed === void 0 ? void 0 : parsed.DurationInTicks;
|
|
22818
|
+
if (!ticks)
|
|
22819
|
+
return '';
|
|
22820
|
+
var seconds = ticks / 10000000;
|
|
22821
|
+
var hours = Math.floor(seconds / 3600);
|
|
22822
|
+
var minutes = Math.floor((seconds % 3600) / 60);
|
|
22823
|
+
return "".concat(hours, "h ").concat(minutes.toString().padStart(2, '0'), "m");
|
|
22824
|
+
}
|
|
22825
|
+
catch (_b) {
|
|
22826
|
+
return '';
|
|
22827
|
+
}
|
|
22828
|
+
};
|
|
22829
|
+
var numberOfNights = function (segment) {
|
|
22830
|
+
return differenceInCalendarDays(new Date(segment.endDate), new Date(segment.startDate));
|
|
22831
|
+
};
|
|
21603
22832
|
var Itinerary = function (_a) {
|
|
21604
|
-
var
|
|
22833
|
+
var _b;
|
|
22834
|
+
var isOpen = _a.isOpen, handleSetIsOpen = _a.handleSetIsOpen, isLoading = _a.isLoading;
|
|
22835
|
+
var context = useContext(SearchResultsConfigurationContext);
|
|
22836
|
+
var translations = getTranslations((_b = context === null || context === void 0 ? void 0 : context.languageCode) !== null && _b !== void 0 ? _b : 'en-GB');
|
|
22837
|
+
var entry = useSelector(function (state) { return state.searchResults; }).entry;
|
|
22838
|
+
if (isLoading || !entry) {
|
|
22839
|
+
return null;
|
|
22840
|
+
}
|
|
22841
|
+
var firstEntryLine = first(entry === null || entry === void 0 ? void 0 : entry.items);
|
|
22842
|
+
var lastEntryLine = last(entry === null || entry === void 0 ? void 0 : entry.items);
|
|
22843
|
+
var country = firstEntryLine === null || firstEntryLine === void 0 ? void 0 : firstEntryLine.countryName;
|
|
22844
|
+
var location = firstEntryLine === null || firstEntryLine === void 0 ? void 0 : firstEntryLine.locationName;
|
|
22845
|
+
var outboundFlight = entry === null || entry === void 0 ? void 0 : entry.items.find(function (item) { return item.productType === 7 && !item.isReturnFlight; });
|
|
22846
|
+
var returnFlight = entry === null || entry === void 0 ? void 0 : entry.items.find(function (item) { return item.productType === 7 && item.isReturnFlight; });
|
|
22847
|
+
var otherSegments = entry === null || entry === void 0 ? void 0 : entry.items.filter(function (item) { return item.productType !== 7; });
|
|
21605
22848
|
return (React.createElement(React.Fragment, null,
|
|
21606
|
-
React.createElement("div", { className: "search__filters--modal ".concat(
|
|
21607
|
-
React.createElement("div", { className: "search__filters--background", onClick: function () { return
|
|
21608
|
-
React.createElement("button", { className: "search__filters--close", onClick: function () { return
|
|
22849
|
+
React.createElement("div", { className: "search__filters--modal ".concat(isOpen ? 'is-open' : '') },
|
|
22850
|
+
React.createElement("div", { className: "search__filters--background", onClick: function () { return handleSetIsOpen(); } }),
|
|
22851
|
+
React.createElement("button", { className: "search__filters--close", onClick: function () { return handleSetIsOpen(); } },
|
|
21609
22852
|
React.createElement(Icon, { name: "ui-close", height: 24 })),
|
|
21610
22853
|
React.createElement("div", { className: "search__filters" },
|
|
21611
22854
|
React.createElement("div", { className: "search__filter-row search__filter__header" },
|
|
21612
22855
|
React.createElement("div", { className: "search__filter-row-flex-title" },
|
|
21613
|
-
React.createElement("p", { className: "search__filter-small-title" },
|
|
22856
|
+
React.createElement("p", { className: "search__filter-small-title" }, translations.SRP.ITINERARY_TITLE))),
|
|
21614
22857
|
isLoading ? (React.createElement(Spinner, null)) : (React.createElement(React.Fragment, null,
|
|
21615
22858
|
React.createElement("div", { className: "search__filter-group" },
|
|
21616
22859
|
React.createElement("div", { className: "search__filter__image__wrapper" },
|
|
21617
|
-
React.createElement("img", { src: "
|
|
21618
|
-
React.createElement("span", { className: "search__filter__image__text" },
|
|
21619
|
-
|
|
22860
|
+
React.createElement("img", { src: "", alt: "", className: "search__filter__image" }),
|
|
22861
|
+
(entry === null || entry === void 0 ? void 0 : entry.number) && (React.createElement("span", { className: "search__filter__image__text" },
|
|
22862
|
+
translations.SRP.DOSSIER_NUMBER,
|
|
22863
|
+
": ", entry === null || entry === void 0 ? void 0 :
|
|
22864
|
+
entry.number)),
|
|
22865
|
+
React.createElement("h4", { className: "search__filter__image__title" }, (location || '') + (location && country ? ' - ' : '') + (country || '')))),
|
|
21620
22866
|
React.createElement("div", { className: "search__filter__prices" },
|
|
21621
22867
|
React.createElement("div", { className: "search__filter__prices__wrapper" },
|
|
21622
|
-
React.createElement("h3", { className: "search__filter__prices--amount" },
|
|
21623
|
-
React.createElement("p", null,
|
|
22868
|
+
React.createElement("h3", { className: "search__filter__prices--amount" }, formatPrice(((entry === null || entry === void 0 ? void 0 : entry.sellingPrice) || 0) / ((entry === null || entry === void 0 ? void 0 : entry.numberOfPax) || 1), (entry === null || entry === void 0 ? void 0 : entry.currencyCode) || 'EUR')),
|
|
22869
|
+
React.createElement("p", null, translations.SRP.PACKAGE_PRICE_PER_PERSON),
|
|
21624
22870
|
React.createElement("p", null,
|
|
21625
|
-
React.createElement("strong", null,
|
|
21626
|
-
|
|
22871
|
+
React.createElement("strong", null,
|
|
22872
|
+
"(",
|
|
22873
|
+
formatPrice((entry === null || entry === void 0 ? void 0 : entry.sellingPrice) || 0, (entry === null || entry === void 0 ? void 0 : entry.currencyCode) || 'EUR'),
|
|
22874
|
+
" ",
|
|
22875
|
+
translations.SRP.TOTAL,
|
|
22876
|
+
")"))),
|
|
22877
|
+
React.createElement("button", { className: "cta" }, translations.QSM.CONFIRM)),
|
|
21627
22878
|
React.createElement("div", { className: "search__filter__itinerary" },
|
|
21628
|
-
React.createElement("p", null,
|
|
22879
|
+
React.createElement("p", null, translations.SRP.DAY_BY_DAY),
|
|
21629
22880
|
React.createElement("div", { className: "search__filter__itinerary__country" },
|
|
21630
22881
|
React.createElement("div", { className: "search__filter__itinerary__country-icon" },
|
|
21631
22882
|
React.createElement(Icon, { name: "ui-flag", width: 17.5, height: 20 })),
|
|
21632
22883
|
React.createElement("div", { className: "search__filter__itinerary__country-content" },
|
|
21633
|
-
React.createElement("h4", null, "Brussels, Belgium"),
|
|
21634
22884
|
React.createElement("p", null,
|
|
21635
|
-
|
|
21636
|
-
|
|
21637
|
-
|
|
22885
|
+
format$1(new Date((firstEntryLine === null || firstEntryLine === void 0 ? void 0 : firstEntryLine.startDate) || ''), 'EEE. d MMM yyyy'),
|
|
22886
|
+
" - ",
|
|
22887
|
+
React.createElement("strong", null, translations.SRP.START)))),
|
|
22888
|
+
outboundFlight && (React.createElement("div", { className: "search__filter__itinerary__transport" },
|
|
21638
22889
|
React.createElement("div", { className: "search__filter__itinerary__transport-timeline" },
|
|
21639
22890
|
React.createElement("div", { className: "search__filter__itinerary__transport-timeline-line" })),
|
|
21640
22891
|
React.createElement("div", { className: "search__filter__itinerary__transport-item" },
|
|
21641
22892
|
React.createElement("div", { className: "search__filter__itinerary__transport-date" },
|
|
21642
22893
|
React.createElement("p", { className: "search__filter__itinerary__transport-date-date" },
|
|
21643
|
-
React.createElement("strong", null,
|
|
21644
|
-
React.createElement("p", null,
|
|
22894
|
+
React.createElement("strong", null, format$1(new Date((outboundFlight === null || outboundFlight === void 0 ? void 0 : outboundFlight.startDate) || ''), 'd'))),
|
|
22895
|
+
React.createElement("p", null, format$1(new Date((outboundFlight === null || outboundFlight === void 0 ? void 0 : outboundFlight.startDate) || ''), 'MMM'))),
|
|
21645
22896
|
React.createElement("div", { className: "search__filter__itinerary__transport-badge" },
|
|
21646
22897
|
React.createElement(Icon, { name: "ui-plane", height: 15 })),
|
|
21647
22898
|
React.createElement("div", { className: "search__filter__itinerary__transport-details" },
|
|
21648
|
-
React.createElement("h6", null,
|
|
22899
|
+
React.createElement("h6", null, outboundFlight.productName),
|
|
21649
22900
|
React.createElement("p", { className: "search__filter__itinerary__transport-details-plane" },
|
|
21650
22901
|
React.createElement("span", null,
|
|
21651
22902
|
React.createElement(Icon, { name: "ui-plane-depart", height: 14 }),
|
|
21652
22903
|
" ",
|
|
21653
|
-
React.createElement("strong", null,
|
|
22904
|
+
React.createElement("strong", null, getDepartureTime(outboundFlight))),
|
|
21654
22905
|
' ',
|
|
21655
22906
|
"-",
|
|
21656
22907
|
' ',
|
|
21657
22908
|
React.createElement("span", null,
|
|
21658
22909
|
React.createElement(Icon, { name: "ui-plane-arrive", height: 14 }),
|
|
21659
22910
|
" ",
|
|
21660
|
-
React.createElement("strong", null,
|
|
22911
|
+
React.createElement("strong", null, getArrivalTime(outboundFlight)))),
|
|
21661
22912
|
React.createElement("p", { className: "search__filter__itinerary__transport-details-time" },
|
|
21662
22913
|
React.createElement("span", null,
|
|
21663
22914
|
React.createElement(Icon, { name: "ui-clock", height: 20 }),
|
|
21664
|
-
"
|
|
21665
|
-
|
|
21666
|
-
|
|
21667
|
-
|
|
21668
|
-
|
|
21669
|
-
|
|
21670
|
-
|
|
21671
|
-
|
|
21672
|
-
|
|
21673
|
-
|
|
21674
|
-
|
|
21675
|
-
|
|
21676
|
-
|
|
21677
|
-
|
|
21678
|
-
|
|
21679
|
-
|
|
21680
|
-
|
|
21681
|
-
|
|
21682
|
-
React.createElement("
|
|
21683
|
-
|
|
21684
|
-
|
|
21685
|
-
|
|
21686
|
-
|
|
21687
|
-
|
|
21688
|
-
|
|
21689
|
-
|
|
21690
|
-
React.createElement("
|
|
21691
|
-
|
|
21692
|
-
|
|
21693
|
-
|
|
21694
|
-
|
|
21695
|
-
|
|
21696
|
-
|
|
22915
|
+
" ",
|
|
22916
|
+
getDuration(outboundFlight))))))),
|
|
22917
|
+
!isEmpty(otherSegments) && (React.createElement("div", { className: "search__filter__itinerary__segments" }, otherSegments === null || otherSegments === void 0 ? void 0 : otherSegments.map(function (segment, index) { return (React.createElement("div", { className: "search__filter__itinerary__segments__wrapper", key: "segment-".concat(index) },
|
|
22918
|
+
React.createElement("div", { className: "search__filter__itinerary__segments-timeline" },
|
|
22919
|
+
React.createElement("div", { className: "search__filter__itinerary__segments-timeline-line" })),
|
|
22920
|
+
React.createElement("div", { className: "search__filter__itinerary__segment" },
|
|
22921
|
+
React.createElement("div", { className: "search__filter__itinerary__segment-item search__filter__itinerary__segment-item--start" },
|
|
22922
|
+
React.createElement("div", { className: "search__filter__itinerary__transport-date" },
|
|
22923
|
+
React.createElement("p", { className: "search__filter__itinerary__transport-date-date" },
|
|
22924
|
+
React.createElement("strong", null, format$1(new Date((segment === null || segment === void 0 ? void 0 : segment.startDate) || ''), 'd'))),
|
|
22925
|
+
React.createElement("p", null, format$1(new Date((segment === null || segment === void 0 ? void 0 : segment.startDate) || ''), 'MMM'))),
|
|
22926
|
+
React.createElement("div", { className: "search__filter__itinerary__segment-badge" },
|
|
22927
|
+
React.createElement(Icon, { name: "ui-location", width: 15, height: 15 })),
|
|
22928
|
+
React.createElement("div", { className: "search__filter__itinerary__segment-details" },
|
|
22929
|
+
React.createElement("h6", null, segment === null || segment === void 0 ? void 0 :
|
|
22930
|
+
segment.locationName,
|
|
22931
|
+
", ", segment === null || segment === void 0 ? void 0 :
|
|
22932
|
+
segment.countryName),
|
|
22933
|
+
React.createElement("p", { className: "search__filter__itinerary__segment-details-text" },
|
|
22934
|
+
format$1(new Date((segment === null || segment === void 0 ? void 0 : segment.startDate) || ''), 'EEE. d MMM yyyy'),
|
|
22935
|
+
"> ",
|
|
22936
|
+
format$1(new Date((segment === null || segment === void 0 ? void 0 : segment.endDate) || ''), 'EEE. d MMM yyyy'))))),
|
|
22937
|
+
React.createElement("div", { className: "search__filter__itinerary__segment" },
|
|
22938
|
+
React.createElement("div", { className: "search__filter__itinerary__segment-item" },
|
|
22939
|
+
segment.productType === 3 && (React.createElement("div", { className: "search__filter__itinerary__segment-date search__filter__itinerary__segment-nights" },
|
|
22940
|
+
React.createElement("p", { className: "search__filter__itinerary__segment-date-date" },
|
|
22941
|
+
React.createElement("strong", null, numberOfNights(segment))),
|
|
22942
|
+
React.createElement(Icon, { name: "ui-moon", width: 16, height: 16 }))),
|
|
22943
|
+
React.createElement("div", { className: "search__filter__itinerary__segment-badge search__filter__itinerary__segment-badge--secondary" },
|
|
22944
|
+
segment.productType === 3 && React.createElement(Icon, { name: "ui-bed", width: 15, height: 15 }),
|
|
22945
|
+
segment.productType === 4 && React.createElement(Icon, { name: "ui-ticket", width: 15, height: 15 }),
|
|
22946
|
+
(segment.productType === 17 || segment.productType === 22) && React.createElement(Icon, { name: "ui-car", width: 15, height: 15 }),
|
|
22947
|
+
segment.productType === 11 && React.createElement(Icon, { name: "ui-ship", width: 15, height: 15 })),
|
|
22948
|
+
React.createElement("div", { className: "search__filter__itinerary__segment-details" },
|
|
22949
|
+
React.createElement("h6", null, segment === null || segment === void 0 ? void 0 : segment.productName)))))); }))),
|
|
22950
|
+
returnFlight && (React.createElement("div", { className: "search__filter__itinerary__transport" },
|
|
21697
22951
|
React.createElement("div", { className: "search__filter__itinerary__transport-timeline" },
|
|
21698
22952
|
React.createElement("div", { className: "search__filter__itinerary__transport-timeline-line" })),
|
|
21699
22953
|
React.createElement("div", { className: "search__filter__itinerary__transport-item" },
|
|
21700
22954
|
React.createElement("div", { className: "search__filter__itinerary__transport-date" },
|
|
21701
22955
|
React.createElement("p", { className: "search__filter__itinerary__transport-date-date" },
|
|
21702
|
-
React.createElement("strong", null,
|
|
21703
|
-
React.createElement("p", null,
|
|
22956
|
+
React.createElement("strong", null, format$1(new Date((returnFlight === null || returnFlight === void 0 ? void 0 : returnFlight.startDate) || ''), 'd'))),
|
|
22957
|
+
React.createElement("p", null, format$1(new Date((returnFlight === null || returnFlight === void 0 ? void 0 : returnFlight.startDate) || ''), 'MMM'))),
|
|
21704
22958
|
React.createElement("div", { className: "search__filter__itinerary__transport-badge" },
|
|
21705
22959
|
React.createElement(Icon, { name: "ui-plane", height: 15 })),
|
|
21706
22960
|
React.createElement("div", { className: "search__filter__itinerary__transport-details" },
|
|
21707
|
-
React.createElement("h6", null,
|
|
22961
|
+
React.createElement("h6", null, returnFlight === null || returnFlight === void 0 ? void 0 : returnFlight.productName),
|
|
21708
22962
|
React.createElement("p", { className: "search__filter__itinerary__transport-details-plane" },
|
|
21709
22963
|
React.createElement("span", null,
|
|
21710
22964
|
React.createElement(Icon, { name: "ui-plane-depart", height: 14 }),
|
|
21711
22965
|
" ",
|
|
21712
|
-
React.createElement("strong", null,
|
|
22966
|
+
React.createElement("strong", null, getDepartureTime(returnFlight))),
|
|
21713
22967
|
' ',
|
|
21714
22968
|
"-",
|
|
21715
22969
|
' ',
|
|
21716
22970
|
React.createElement("span", null,
|
|
21717
22971
|
React.createElement(Icon, { name: "ui-plane-arrive", height: 14 }),
|
|
21718
22972
|
" ",
|
|
21719
|
-
React.createElement("strong", null,
|
|
22973
|
+
React.createElement("strong", null, getArrivalTime(returnFlight)))),
|
|
21720
22974
|
React.createElement("p", { className: "search__filter__itinerary__transport-details-time" },
|
|
21721
22975
|
React.createElement("span", null,
|
|
21722
22976
|
React.createElement(Icon, { name: "ui-clock", height: 20 }),
|
|
21723
|
-
"
|
|
22977
|
+
" ",
|
|
22978
|
+
getDuration(returnFlight))))))),
|
|
21724
22979
|
React.createElement("div", { className: "search__filter__itinerary__country" },
|
|
21725
22980
|
React.createElement("div", { className: "search__filter__itinerary__country-icon" },
|
|
21726
22981
|
React.createElement(Icon, { name: "ui-flag", width: 17.5, height: 20 })),
|
|
21727
22982
|
React.createElement("div", { className: "search__filter__itinerary__country-content" },
|
|
21728
|
-
React.createElement("h4", null, "Brussels, Belgium"),
|
|
21729
22983
|
React.createElement("p", null,
|
|
21730
|
-
|
|
21731
|
-
|
|
22984
|
+
format$1(new Date((lastEntryLine === null || lastEntryLine === void 0 ? void 0 : lastEntryLine.startDate) || ''), 'EEE. d MMM yyyy'),
|
|
22985
|
+
" - ",
|
|
22986
|
+
React.createElement("strong", null, translations.SRP.END)))))))))));
|
|
21732
22987
|
};
|
|
21733
22988
|
|
|
21734
22989
|
var TabViews = function () {
|
|
22990
|
+
var _a;
|
|
22991
|
+
var context = useContext(SearchResultsConfigurationContext);
|
|
22992
|
+
var translations = getTranslations((_a = context === null || context === void 0 ? void 0 : context.languageCode) !== null && _a !== void 0 ? _a : 'en-GB');
|
|
21735
22993
|
var dispatch = useDispatch();
|
|
21736
22994
|
var activeTab = useSelector(function (state) { return state.searchResults; }).activeTab;
|
|
21737
22995
|
var handleSortChange = function (tab) {
|
|
@@ -21740,17 +22998,17 @@ var TabViews = function () {
|
|
|
21740
22998
|
return (React.createElement("div", { className: "search__results__tab-views" },
|
|
21741
22999
|
React.createElement("button", { type: "button", className: "search__results__tab-view ".concat(activeTab === 'extended' ? 'search__results__tab-view--active' : ''), onClick: function () { return handleSortChange('extended'); } },
|
|
21742
23000
|
React.createElement(Icon, { name: "ui-extended", height: 16 }),
|
|
21743
|
-
|
|
23001
|
+
translations.SRP.EXTENDED),
|
|
21744
23002
|
React.createElement("button", { type: "button", className: "search__results__tab-view ".concat(activeTab === 'compact' ? 'search__results__tab-view--active' : ''), onClick: function () { return handleSortChange('compact'); } },
|
|
21745
23003
|
React.createElement(Icon, { name: "ui-compact", height: 16 }),
|
|
21746
|
-
|
|
21747
|
-
React.createElement("button", { type: "button", className: "search__results__tab-view ".concat(activeTab === '
|
|
21748
|
-
React.createElement(Icon, { name: "ui-
|
|
21749
|
-
|
|
23004
|
+
translations.SRP.COMPACT),
|
|
23005
|
+
React.createElement("button", { type: "button", className: "search__results__tab-view ".concat(activeTab === 'list' ? 'search__results__tab-view--active' : ''), onClick: function () { return handleSortChange('list'); } },
|
|
23006
|
+
React.createElement(Icon, { name: "ui-list", height: 16 }),
|
|
23007
|
+
translations.SRP.LIST)));
|
|
21750
23008
|
};
|
|
21751
23009
|
|
|
21752
23010
|
var HotelCard = function (_a) {
|
|
21753
|
-
var result = _a.result;
|
|
23011
|
+
var result = _a.result, translations = _a.translations;
|
|
21754
23012
|
var dispatch = useDispatch();
|
|
21755
23013
|
var selectedHotelId = useSelector(function (state) { return state.searchResults; }).selectedHotelId;
|
|
21756
23014
|
var handleChange = function (hotelProductId) {
|
|
@@ -21761,7 +23019,7 @@ var HotelCard = function (_a) {
|
|
|
21761
23019
|
React.createElement("div", { className: "search__result-card__img-wrapper" },
|
|
21762
23020
|
React.createElement("img", { src: result.image, alt: result.title, className: "search__result-card__img" }),
|
|
21763
23021
|
React.createElement("div", { className: "search__result-card__price__wrapper" },
|
|
21764
|
-
React.createElement("span", { className: "search__result-card__price__label" },
|
|
23022
|
+
React.createElement("span", { className: "search__result-card__price__label" }, translations === null || translations === void 0 ? void 0 : translations.SHARED.TOTAL_PRICE),
|
|
21765
23023
|
React.createElement("span", { className: "search__result-card__price" }, result.price))),
|
|
21766
23024
|
React.createElement("div", { className: "search__result-card__content" },
|
|
21767
23025
|
React.createElement("div", { className: "search__result-card__content__wrapper" },
|
|
@@ -21782,21 +23040,21 @@ var HotelCard = function (_a) {
|
|
|
21782
23040
|
React.createElement("p", { className: "search__result-card__description" }, result.description)),
|
|
21783
23041
|
React.createElement("div", { className: "search__result-card__footer" },
|
|
21784
23042
|
React.createElement("button", { type: "button", className: "cta ".concat(selectedHotelId === result.id ? 'cta--selected' : 'cta--select'), onClick: function () { return handleChange(result.id); } }, selectedHotelId === result.id ? 'Selected' : 'Select'),
|
|
21785
|
-
React.createElement("button", { type: "button", className: "cta cta--select", onClick: function () { return console.log('Clicked on customCard with id:', result.id); } },
|
|
23043
|
+
React.createElement("button", { type: "button", className: "cta cta--select", onClick: function () { return console.log('Clicked on customCard with id:', result.id); } }, translations === null || translations === void 0 ? void 0 : translations.SRP.VIEW_DETAILS)))));
|
|
21786
23044
|
};
|
|
21787
23045
|
|
|
21788
|
-
var renderResults = function (results, context, cmsMap, activeTab) {
|
|
23046
|
+
var renderResults = function (results, context, cmsMap, activeTab, translations) {
|
|
21789
23047
|
var renderedResults = results.map(function (result, index) {
|
|
21790
23048
|
var cmsItem = cmsMap.get(result.productId);
|
|
21791
|
-
var mappedResult = mapSearchResult(result, cmsItem, context.languageCode);
|
|
23049
|
+
var mappedResult = mapSearchResult(result, cmsItem, context.languageCode, translations);
|
|
21792
23050
|
if ((context === null || context === void 0 ? void 0 : context.showCustomCards) && (context === null || context === void 0 ? void 0 : context.customCardRenderer)) {
|
|
21793
23051
|
return (React.createElement("div", { key: "".concat(mappedResult.id, "-").concat(index), className: "search__result-card" }, context.customCardRenderer(mappedResult)));
|
|
21794
23052
|
}
|
|
21795
|
-
return React.createElement(HotelCard, { key: "".concat(mappedResult.id, "-").concat(index), result: mappedResult });
|
|
23053
|
+
return React.createElement(HotelCard, { key: "".concat(mappedResult.id, "-").concat(index), result: mappedResult, translations: translations });
|
|
21796
23054
|
});
|
|
21797
23055
|
return React.createElement("div", { className: "search__results__cards ".concat(activeTab ? "search__results__cards--".concat(activeTab) : '') }, renderedResults);
|
|
21798
23056
|
};
|
|
21799
|
-
var mapSearchResult = function (searchResult, cmsItem, languageCode) {
|
|
23057
|
+
var mapSearchResult = function (searchResult, cmsItem, languageCode, translations) {
|
|
21800
23058
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
21801
23059
|
return {
|
|
21802
23060
|
type: 'hotel',
|
|
@@ -21805,40 +23063,31 @@ var mapSearchResult = function (searchResult, cmsItem, languageCode) {
|
|
|
21805
23063
|
image: (_e = (_d = (_c = cmsItem === null || cmsItem === void 0 ? void 0 : cmsItem.content) === null || _c === void 0 ? void 0 : _c.images) === null || _d === void 0 ? void 0 : _d.thumbnailPicture) === null || _e === void 0 ? void 0 : _e.url,
|
|
21806
23064
|
description: ((_g = (_f = cmsItem === null || cmsItem === void 0 ? void 0 : cmsItem.content) === null || _f === void 0 ? void 0 : _f.descriptions) === null || _g === void 0 ? void 0 : _g.introductionTitle) || '',
|
|
21807
23065
|
location: searchResult.locationName && searchResult.countryName ? "".concat(searchResult.locationName, ", ").concat(searchResult.countryName) : ((_h = cmsItem === null || cmsItem === void 0 ? void 0 : cmsItem.parentItem) === null || _h === void 0 ? void 0 : _h.name) || '',
|
|
21808
|
-
price: formatPrice(searchResult.
|
|
21809
|
-
ctaText:
|
|
21810
|
-
days: calculateNights(searchResult.stayFromDate, searchResult.stayToDate),
|
|
23066
|
+
price: formatPrice(searchResult.price, searchResult.currencyCode, languageCode),
|
|
23067
|
+
ctaText: translations === null || translations === void 0 ? void 0 : translations.SRP.VIEW_DETAILS,
|
|
23068
|
+
days: calculateNights(searchResult.stayFromDate, searchResult.stayToDate, translations),
|
|
21811
23069
|
accommodation: searchResult.accommodationName,
|
|
21812
23070
|
regime: searchResult.regimeName,
|
|
21813
23071
|
stars: ((_k = (_j = cmsItem === null || cmsItem === void 0 ? void 0 : cmsItem.content) === null || _j === void 0 ? void 0 : _j.general) === null || _k === void 0 ? void 0 : _k.stars) || searchResult.hotelStars
|
|
21814
23072
|
};
|
|
21815
23073
|
};
|
|
21816
|
-
var
|
|
21817
|
-
if (!price) {
|
|
21818
|
-
return 'Price unavailable';
|
|
21819
|
-
}
|
|
21820
|
-
return new Intl.NumberFormat(languageCode !== null && languageCode !== void 0 ? languageCode : 'en-GB', {
|
|
21821
|
-
style: 'currency',
|
|
21822
|
-
currency: currencyCode,
|
|
21823
|
-
currencyDisplay: 'symbol'
|
|
21824
|
-
}).format(price);
|
|
21825
|
-
};
|
|
21826
|
-
var calculateNights = function (fromDate, toDate) {
|
|
23074
|
+
var calculateNights = function (fromDate, toDate, translations) {
|
|
21827
23075
|
var from = new Date(fromDate).getTime(); // returns a number
|
|
21828
23076
|
var to = new Date(toDate).getTime(); // returns a number
|
|
21829
23077
|
var diffTime = Math.abs(to - from);
|
|
21830
23078
|
var diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24));
|
|
21831
|
-
return "".concat(diffDays, "
|
|
23079
|
+
return "".concat(diffDays, " ").concat(translations === null || translations === void 0 ? void 0 : translations.SRP.NIGHTS);
|
|
21832
23080
|
};
|
|
21833
23081
|
var HotelAccommodationResults = function (_a) {
|
|
21834
|
-
var _b;
|
|
23082
|
+
var _b, _c;
|
|
21835
23083
|
var isLoading = _a.isLoading, context = _a.context;
|
|
23084
|
+
var translations = getTranslations((_b = context === null || context === void 0 ? void 0 : context.languageCode) !== null && _b !== void 0 ? _b : 'en-GB');
|
|
21836
23085
|
if (isLoading) {
|
|
21837
|
-
return React.createElement(React.Fragment, null, (
|
|
23086
|
+
return React.createElement(React.Fragment, null, (_c = context === null || context === void 0 ? void 0 : context.customSpinner) !== null && _c !== void 0 ? _c : React.createElement(Spinner, null));
|
|
21838
23087
|
}
|
|
21839
|
-
var
|
|
23088
|
+
var _d = useSelector(function (state) { return state.searchResults; }), results = _d.results, activeTab = _d.activeTab;
|
|
21840
23089
|
if (!results.length) {
|
|
21841
|
-
return React.createElement("div", { className: "no-results" },
|
|
23090
|
+
return React.createElement("div", { className: "no-results" }, translations.SRP.NO_RESULTS);
|
|
21842
23091
|
}
|
|
21843
23092
|
var cmsMap = React.useMemo(function () {
|
|
21844
23093
|
var _a;
|
|
@@ -21861,120 +23110,10 @@ var HotelAccommodationResults = function (_a) {
|
|
|
21861
23110
|
React.createElement("p", null, firstResultMonth)),
|
|
21862
23111
|
React.createElement("div", { className: "search__results__label__text" },
|
|
21863
23112
|
React.createElement("h3", null,
|
|
21864
|
-
|
|
21865
|
-
|
|
21866
|
-
|
|
21867
|
-
|
|
21868
|
-
|
|
21869
|
-
var RoundTripResults = function () {
|
|
21870
|
-
return (React.createElement("div", { className: "search__results__cards search__results__cards--comparator" },
|
|
21871
|
-
React.createElement("div", { className: "search__result-card" },
|
|
21872
|
-
React.createElement("div", { className: "search__result-card__allotment" },
|
|
21873
|
-
React.createElement("div", { className: "search__result-card__allotment__title__wrapper" },
|
|
21874
|
-
React.createElement("h3", { className: "search__result-card__allotment__title" },
|
|
21875
|
-
"Rondreis Noord-India: Rajasthan",
|
|
21876
|
-
React.createElement("span", { className: "search__result-card__allotment__badge" },
|
|
21877
|
-
React.createElement(Icon, { name: "ui-circle-check", width: 14, height: 14 }),
|
|
21878
|
-
"GAR")),
|
|
21879
|
-
React.createElement("div", { className: "search__result-card__allotment__container" },
|
|
21880
|
-
React.createElement("div", { className: "search__result-card__allotment__header" },
|
|
21881
|
-
React.createElement("div", { className: "search__result-card__allotment__wrapper" },
|
|
21882
|
-
React.createElement("div", { className: "search__result-card__allotment__date" },
|
|
21883
|
-
React.createElement(Icon, { name: "ui-plane", height: 16 }),
|
|
21884
|
-
React.createElement("div", { className: "search__result-card__allotment__date--from" }, "05-04-2026")),
|
|
21885
|
-
React.createElement("div", { className: "search__result-card__allotment__info" },
|
|
21886
|
-
React.createElement("span", null,
|
|
21887
|
-
React.createElement(Icon, { name: "ui-calendar", height: 16 })),
|
|
21888
|
-
' ',
|
|
21889
|
-
"8 dagen -",
|
|
21890
|
-
' ',
|
|
21891
|
-
React.createElement("span", null,
|
|
21892
|
-
React.createElement(Icon, { name: "ui-moon", height: 16 })),
|
|
21893
|
-
"7 nachten"))),
|
|
21894
|
-
React.createElement("div", { className: "search__result-card__allotment__info" },
|
|
21895
|
-
React.createElement("a", { href: "#", type: "button", className: "search__result-card__allotment__info__group" }, "Group"),
|
|
21896
|
-
React.createElement("div", { className: "search__result-card__allotment__persons" },
|
|
21897
|
-
React.createElement("div", { className: "search__result-card__allotment__person" },
|
|
21898
|
-
React.createElement(Icon, { name: "ui-men", width: 16, height: 16 }),
|
|
21899
|
-
React.createElement("span", null, "2 p.")),
|
|
21900
|
-
React.createElement("div", { className: "search__result-card__allotment__person" },
|
|
21901
|
-
React.createElement(Icon, { name: "ui-women", width: 16, height: 16 }),
|
|
21902
|
-
React.createElement("span", null, "3 p.")))))),
|
|
21903
|
-
React.createElement("div", { className: "search__result-card__allotment__footer" },
|
|
21904
|
-
React.createElement("div", { className: "search__result-card__allotment__price__wrapper" },
|
|
21905
|
-
React.createElement("div", { className: "search__result-card__allotment__price" }, "\u20AC 1.250,00 p.p."),
|
|
21906
|
-
React.createElement("div", { className: "search__result-card__allotment__price__info" }, "Gelieve \u20AC 450,00 zakgeld mee te nemen")),
|
|
21907
|
-
React.createElement("button", { className: "cta cta--select" }, "Bekijk reis")))),
|
|
21908
|
-
React.createElement("div", { className: "search__result-card" },
|
|
21909
|
-
React.createElement("div", { className: "search__result-card__allotment" },
|
|
21910
|
-
React.createElement("div", { className: "search__result-card__allotment__title__wrapper" },
|
|
21911
|
-
React.createElement("h3", { className: "search__result-card__allotment__title" },
|
|
21912
|
-
"Rondreis Thailand",
|
|
21913
|
-
React.createElement("span", { className: "search__result-card__allotment__badge search__result-card__allotment__badge--secondary" },
|
|
21914
|
-
React.createElement(Icon, { name: "ui-circle-half", width: 14, height: 14 }),
|
|
21915
|
-
"BIJNA GAR")),
|
|
21916
|
-
React.createElement("div", { className: "search__result-card__allotment__container" },
|
|
21917
|
-
React.createElement("div", { className: "search__result-card__allotment__header" },
|
|
21918
|
-
React.createElement("div", { className: "search__result-card__allotment__wrapper" },
|
|
21919
|
-
React.createElement("div", { className: "search__result-card__allotment__date" },
|
|
21920
|
-
React.createElement(Icon, { name: "ui-plane", height: 16 }),
|
|
21921
|
-
React.createElement("div", { className: "search__result-card__allotment__date--from" }, "05-04-2026")),
|
|
21922
|
-
React.createElement("div", { className: "search__result-card__allotment__info" },
|
|
21923
|
-
React.createElement("span", null,
|
|
21924
|
-
React.createElement(Icon, { name: "ui-calendar", height: 16 })),
|
|
21925
|
-
' ',
|
|
21926
|
-
"8 dagen -",
|
|
21927
|
-
' ',
|
|
21928
|
-
React.createElement("span", null,
|
|
21929
|
-
React.createElement(Icon, { name: "ui-moon", height: 16 })),
|
|
21930
|
-
"7 nachten"))),
|
|
21931
|
-
React.createElement("div", { className: "search__result-card__allotment__info" },
|
|
21932
|
-
React.createElement("a", { href: "#", type: "button", className: "search__result-card__allotment__info__group" }, "Group"),
|
|
21933
|
-
React.createElement("div", { className: "search__result-card__allotment__persons" },
|
|
21934
|
-
React.createElement("div", { className: "search__result-card__allotment__person" },
|
|
21935
|
-
React.createElement(Icon, { name: "ui-men", width: 16, height: 16 }),
|
|
21936
|
-
React.createElement("span", null, "2 p.")),
|
|
21937
|
-
React.createElement("div", { className: "search__result-card__allotment__person" },
|
|
21938
|
-
React.createElement(Icon, { name: "ui-women", width: 16, height: 16 }),
|
|
21939
|
-
React.createElement("span", null, "3 p.")))))),
|
|
21940
|
-
React.createElement("div", { className: "search__result-card__allotment__footer" },
|
|
21941
|
-
React.createElement("div", { className: "search__result-card__allotment__price__wrapper" },
|
|
21942
|
-
React.createElement("div", { className: "search__result-card__allotment__price" }, "\u20AC 1.250,00 p.p."),
|
|
21943
|
-
React.createElement("div", { className: "search__result-card__allotment__price__info" }, "Gelieve \u20AC 450,00 zakgeld mee te nemen")),
|
|
21944
|
-
React.createElement("button", { className: "cta cta--select" }, "Bekijk reis")))),
|
|
21945
|
-
React.createElement("div", { className: "search__result-card" },
|
|
21946
|
-
React.createElement("div", { className: "search__result-card__allotment" },
|
|
21947
|
-
React.createElement("div", { className: "search__result-card__allotment__title__wrapper" },
|
|
21948
|
-
React.createElement("h3", { className: "search__result-card__allotment__title" }, "Rondreis Timboektoe"),
|
|
21949
|
-
React.createElement("div", { className: "search__result-card__allotment__container" },
|
|
21950
|
-
React.createElement("div", { className: "search__result-card__allotment__header" },
|
|
21951
|
-
React.createElement("div", { className: "search__result-card__allotment__wrapper" },
|
|
21952
|
-
React.createElement("div", { className: "search__result-card__allotment__date" },
|
|
21953
|
-
React.createElement(Icon, { name: "ui-plane", height: 16 }),
|
|
21954
|
-
React.createElement("div", { className: "search__result-card__allotment__date--from" }, "05-04-2026")),
|
|
21955
|
-
React.createElement("div", { className: "search__result-card__allotment__info" },
|
|
21956
|
-
React.createElement("span", null,
|
|
21957
|
-
React.createElement(Icon, { name: "ui-calendar", height: 16 })),
|
|
21958
|
-
' ',
|
|
21959
|
-
"8 dagen -",
|
|
21960
|
-
' ',
|
|
21961
|
-
React.createElement("span", null,
|
|
21962
|
-
React.createElement(Icon, { name: "ui-moon", height: 16 })),
|
|
21963
|
-
"7 nachten"))),
|
|
21964
|
-
React.createElement("div", { className: "search__result-card__allotment__info" },
|
|
21965
|
-
React.createElement("a", { href: "#", type: "button", className: "search__result-card__allotment__info__group" }, "Group"),
|
|
21966
|
-
React.createElement("div", { className: "search__result-card__allotment__persons" },
|
|
21967
|
-
React.createElement("div", { className: "search__result-card__allotment__person" },
|
|
21968
|
-
React.createElement(Icon, { name: "ui-men", width: 16, height: 16 }),
|
|
21969
|
-
React.createElement("span", null, "2 p.")),
|
|
21970
|
-
React.createElement("div", { className: "search__result-card__allotment__person" },
|
|
21971
|
-
React.createElement(Icon, { name: "ui-women", width: 16, height: 16 }),
|
|
21972
|
-
React.createElement("span", null, "3 p.")))))),
|
|
21973
|
-
React.createElement("div", { className: "search__result-card__allotment__footer" },
|
|
21974
|
-
React.createElement("div", { className: "search__result-card__allotment__price__wrapper" },
|
|
21975
|
-
React.createElement("div", { className: "search__result-card__allotment__price" }, "\u20AC 1.250,00 p.p."),
|
|
21976
|
-
React.createElement("div", { className: "search__result-card__allotment__price__info" }, "Gelieve \u20AC 450,00 zakgeld mee te nemen")),
|
|
21977
|
-
React.createElement("button", { className: "cta cta--select" }, "Bekijk reis"))))));
|
|
23113
|
+
translations.SRP.SELECT,
|
|
23114
|
+
" ",
|
|
23115
|
+
React.createElement("strong", null, translations.SRP.ACCOMMODATION)))),
|
|
23116
|
+
renderResults(results, context, cmsMap, activeTab, translations)));
|
|
21978
23117
|
};
|
|
21979
23118
|
|
|
21980
23119
|
var enrichFiltersWithResults = function (results, filters) {
|
|
@@ -21994,18 +23133,126 @@ var enrichFiltersWithResults = function (results, filters) {
|
|
|
21994
23133
|
return filters;
|
|
21995
23134
|
};
|
|
21996
23135
|
|
|
23136
|
+
var ticksToMinutes = function (ticks) { return Math.floor(ticks / 600000000); };
|
|
23137
|
+
var formatDuration = function (ticks) {
|
|
23138
|
+
var minutes = ticksToMinutes(ticks);
|
|
23139
|
+
var h = Math.floor(minutes / 60);
|
|
23140
|
+
var m = minutes % 60;
|
|
23141
|
+
return "".concat(h, "h ").concat(m, "m");
|
|
23142
|
+
};
|
|
23143
|
+
var FlightResults = function (_a) {
|
|
23144
|
+
var _b;
|
|
23145
|
+
var flights = _a.flights, isDeparture = _a.isDeparture;
|
|
23146
|
+
var context = useContext(SearchResultsConfigurationContext);
|
|
23147
|
+
var translations = getTranslations((_b = context === null || context === void 0 ? void 0 : context.languageCode) !== null && _b !== void 0 ? _b : 'en-GB');
|
|
23148
|
+
var dispatch = useDispatch();
|
|
23149
|
+
var _c = useState(null), activeDetailId = _c[0], setActiveDetailId = _c[1];
|
|
23150
|
+
var handleDetailClick = function (flightOptionId) {
|
|
23151
|
+
setActiveDetailId(function (prev) { return (prev === flightOptionId ? null : flightOptionId); });
|
|
23152
|
+
};
|
|
23153
|
+
var firstResult = flights === null || flights === void 0 ? void 0 : flights[0];
|
|
23154
|
+
var firstResultDate = (firstResult === null || firstResult === void 0 ? void 0 : firstResult.startDateTime) ? parseISO(firstResult.startDateTime) : null;
|
|
23155
|
+
return (React.createElement(React.Fragment, null,
|
|
23156
|
+
React.createElement("div", { className: "search__results__label" },
|
|
23157
|
+
React.createElement("div", { className: "search__results__label__date" }, firstResultDate && (React.createElement(React.Fragment, null,
|
|
23158
|
+
React.createElement("p", { className: "search__results__label__date-date" }, format$1(firstResultDate, 'd')),
|
|
23159
|
+
React.createElement("p", null, format$1(firstResultDate, 'MMM'))))),
|
|
23160
|
+
React.createElement("div", { className: "search__results__label__text" },
|
|
23161
|
+
React.createElement("h3", null,
|
|
23162
|
+
translations.SRP.SELECT,
|
|
23163
|
+
" ",
|
|
23164
|
+
React.createElement("strong", null, isDeparture ? translations.SRP.DEPARTURE : translations.SRP.RETURN)))),
|
|
23165
|
+
React.createElement("div", { className: "search__results__cards search__results__cards--extended" }, flights.map(function (flight, index) {
|
|
23166
|
+
var lines = flight.flightMetaData.flightLines;
|
|
23167
|
+
var firstLine = lines[0];
|
|
23168
|
+
var lastLine = lines[lines.length - 1];
|
|
23169
|
+
var stops = lines.length - 1;
|
|
23170
|
+
return (React.createElement("div", { className: "flight", key: "flight-".concat(flight.flightId, "-").concat(index) },
|
|
23171
|
+
React.createElement("div", { className: "flight__option" },
|
|
23172
|
+
React.createElement("div", { className: "flight__content" },
|
|
23173
|
+
React.createElement("div", { className: "flight__flights" },
|
|
23174
|
+
React.createElement("div", { className: "flight__flight" },
|
|
23175
|
+
React.createElement("div", { className: "flight__flight__header" },
|
|
23176
|
+
React.createElement("div", { className: "flight__status__container" }),
|
|
23177
|
+
React.createElement("div", { className: "flight__price" },
|
|
23178
|
+
React.createElement("span", { className: "price" },
|
|
23179
|
+
"\u20AC ",
|
|
23180
|
+
flight.price.toFixed(2)),
|
|
23181
|
+
React.createElement("button", { type: "button", className: "cta ".concat(flight.isSelected ? 'cta--selected' : 'cta--select'), onClick: function () { return dispatch(selectFlight({ flightOptionId: flight.flightOptionId, isDeparture: !!isDeparture })); } }, flight.isSelected ? 'Selected' : 'Select')))),
|
|
23182
|
+
React.createElement("div", { className: "flight__flight" },
|
|
23183
|
+
React.createElement("div", { className: "flight__flight__container" },
|
|
23184
|
+
React.createElement("div", { className: "flight__flight__wrapper" },
|
|
23185
|
+
React.createElement("div", { className: "flight__logo__wrapper" },
|
|
23186
|
+
React.createElement("img", { src: "https://media.tidesoftware.be/media/shared/Airlines/".concat(firstLine.airlineCode, ".png?height=256"), alt: flight.airlineDescription, className: "flight__logo" }),
|
|
23187
|
+
React.createElement("span", null, flight.airlineDescription)),
|
|
23188
|
+
React.createElement("div", { className: "flight__info" },
|
|
23189
|
+
React.createElement("div", { className: "flight__info__times" },
|
|
23190
|
+
React.createElement("strong", null,
|
|
23191
|
+
firstLine.departureTime,
|
|
23192
|
+
" ",
|
|
23193
|
+
firstLine.departureAirport),
|
|
23194
|
+
React.createElement("p", null, format$1(parseISO(firstLine.departureDate), 'EEE dd MMM yyyy'))),
|
|
23195
|
+
React.createElement("div", { className: "flight__info__duration" },
|
|
23196
|
+
React.createElement("p", null, formatDuration(flight.flightMetaData.durationInTicks)),
|
|
23197
|
+
React.createElement("div", { className: "flight__info__duration__stops" }, stops > 0 && React.createElement("div", { className: "flight__info__duration__stop" })),
|
|
23198
|
+
React.createElement("span", null, stops === 0 ? translations.SRP.DIRECT : "".concat(stops, " ").concat(translations.SRP.STOP).concat(stops > 1 ? 's' : ''))),
|
|
23199
|
+
React.createElement("div", { className: "flight__info__times flight__info__times--arrival" },
|
|
23200
|
+
React.createElement("strong", null,
|
|
23201
|
+
lastLine.arrivalTime,
|
|
23202
|
+
" ",
|
|
23203
|
+
lastLine.arrivalAirport),
|
|
23204
|
+
React.createElement("p", null, format$1(parseISO(lastLine.arrivalDate), 'EEE dd MMM yyyy'))))),
|
|
23205
|
+
React.createElement("div", { className: "flight__detail__btn__wrapper" },
|
|
23206
|
+
React.createElement("div", { className: "flight__detail__btn ".concat(activeDetailId === flight.flightOptionId ? 'flight__detail__btn--active' : ''), onClick: function () { return handleDetailClick(flight.flightOptionId); } },
|
|
23207
|
+
React.createElement(Icon, { name: "ui-chevron", className: "flight__detail__btn__arrow", width: 16, height: 16 })))),
|
|
23208
|
+
React.createElement("div", { className: "flight__detail ".concat(activeDetailId === flight.flightOptionId ? 'flight__detail--active' : '') }, lines.map(function (line, index) {
|
|
23209
|
+
var nextLine = lines[index + 1];
|
|
23210
|
+
return (React.createElement(React.Fragment, { key: index },
|
|
23211
|
+
React.createElement("div", { className: "flight__info" },
|
|
23212
|
+
React.createElement("div", { className: "flight__info__times__wrapper" },
|
|
23213
|
+
React.createElement("div", { className: "flight__info__times" },
|
|
23214
|
+
React.createElement("p", null, line.departureTime),
|
|
23215
|
+
React.createElement("strong", null, line.departureAirport),
|
|
23216
|
+
React.createElement("p", null, format$1(parseISO(line.departureDate), 'EEE dd MMM yyyy'))),
|
|
23217
|
+
React.createElement(Icon, { name: "ui-plane-depart", width: 30, height: 20 })),
|
|
23218
|
+
React.createElement("div", { className: "flight__info__duration" },
|
|
23219
|
+
React.createElement("p", null, formatDuration(line.durationInTicks)),
|
|
23220
|
+
React.createElement("span", null,
|
|
23221
|
+
line.airline,
|
|
23222
|
+
" ",
|
|
23223
|
+
line.number)),
|
|
23224
|
+
React.createElement("div", { className: "flight__info__times__wrapper flight__info__times__wrapper--arrival" },
|
|
23225
|
+
React.createElement(Icon, { name: "ui-plane-arrive", width: 30, height: 20 }),
|
|
23226
|
+
React.createElement("div", { className: "flight__info__times flight__info__times--arrival" },
|
|
23227
|
+
React.createElement("p", null, line.arrivalTime),
|
|
23228
|
+
React.createElement("strong", null, line.arrivalAirport),
|
|
23229
|
+
React.createElement("p", null, format$1(parseISO(line.arrivalDate), 'EEE dd MMM yyyy'))))),
|
|
23230
|
+
nextLine && (React.createElement("div", { className: "flight__info" },
|
|
23231
|
+
React.createElement("div", { className: "flight__info__duration flight__info__duration--waittime" },
|
|
23232
|
+
React.createElement("div", { className: "flight__info__duration__stops flight__info__duration__stops--stoptime" },
|
|
23233
|
+
React.createElement(Icon, { name: "ui-clock", width: 24, height: 24 })),
|
|
23234
|
+
React.createElement("div", { className: "flight__info__duration__stoptime" },
|
|
23235
|
+
React.createElement("span", null, translations.SRP.STOP_TIME),
|
|
23236
|
+
React.createElement("strong", null, formatDuration(parseISO(nextLine.departureDate).getTime() - parseISO(line.arrivalDate).getTime()))))))));
|
|
23237
|
+
})))),
|
|
23238
|
+
React.createElement("div", { className: "flight__rate" })))));
|
|
23239
|
+
}))));
|
|
23240
|
+
};
|
|
23241
|
+
|
|
21997
23242
|
var SearchResultsContainer = function () {
|
|
21998
|
-
var _a, _b
|
|
23243
|
+
var _a, _b;
|
|
21999
23244
|
var isMobile = useMediaQuery('(max-width: 1200px)');
|
|
22000
23245
|
var dispatch = useDispatch();
|
|
22001
23246
|
var context = useContext(SearchResultsConfigurationContext);
|
|
22002
|
-
var
|
|
22003
|
-
var
|
|
22004
|
-
var
|
|
22005
|
-
var
|
|
23247
|
+
var translations = getTranslations((_a = context === null || context === void 0 ? void 0 : context.languageCode) !== null && _a !== void 0 ? _a : 'en-GB');
|
|
23248
|
+
var _c = useSelector(function (state) { return state.searchResults; }), results = _c.results, bookingPackageDetails = _c.bookingPackageDetails, isLoading = _c.isLoading, filters = _c.filters, sortKey = _c.sortKey, selectedHotelId = _c.selectedHotelId;
|
|
23249
|
+
var _d = useState(0), searchTrigger = _d[0], setSearchTrigger = _d[1];
|
|
23250
|
+
var _e = useState(false), initialFiltersSet = _e[0], setInitialFiltersSet = _e[1];
|
|
23251
|
+
var _f = useState([]); _f[0]; var setInitialFilters = _f[1];
|
|
23252
|
+
// seperate Search
|
|
22006
23253
|
useEffect(function () {
|
|
22007
23254
|
var runSearch = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
22008
|
-
var params, from, to, rooms, country, region, oord, city, destinationId, destinationIsCountry, destinationIsRegion, destinationIsOord, destinationIsLocation, searchRequest, config, packageSearchResults, enrichedFilters, err_1;
|
|
23255
|
+
var params, from, to, rooms, country, region, oord, city, hotel, tagId, destinationId, destinationIsCountry, destinationIsRegion, destinationIsOord, destinationIsLocation, searchRequest, config, packageSearchResults, enrichedFilters, err_1;
|
|
22009
23256
|
var _a, _b, _c, _d, _e;
|
|
22010
23257
|
return __generator(this, function (_f) {
|
|
22011
23258
|
switch (_f.label) {
|
|
@@ -22025,6 +23272,8 @@ var SearchResultsContainer = function () {
|
|
|
22025
23272
|
region = getNumberFromParams(params, 'region');
|
|
22026
23273
|
oord = getNumberFromParams(params, 'oord');
|
|
22027
23274
|
city = getNumberFromParams(params, 'location');
|
|
23275
|
+
hotel = getNumberFromParams(params, 'hotel');
|
|
23276
|
+
tagId = getNumberFromParams(params, 'tagId');
|
|
22028
23277
|
// temp hardcoded params
|
|
22029
23278
|
if (!from || !to) {
|
|
22030
23279
|
from = '2026-04-07';
|
|
@@ -22082,7 +23331,9 @@ var SearchResultsContainer = function () {
|
|
|
22082
23331
|
maxPrice: (_e = filters.find(function (f) { return f.property === 'price'; })) === null || _e === void 0 ? void 0 : _e.selectedMax,
|
|
22083
23332
|
useExactDates: true,
|
|
22084
23333
|
onlyCachedResults: false,
|
|
22085
|
-
includeAllAllotments: true
|
|
23334
|
+
includeAllAllotments: true,
|
|
23335
|
+
productIds: hotel ? [hotel] : [],
|
|
23336
|
+
productTagIds: tagId ? [tagId] : []
|
|
22086
23337
|
}
|
|
22087
23338
|
};
|
|
22088
23339
|
config = {
|
|
@@ -22116,17 +23367,19 @@ var SearchResultsContainer = function () {
|
|
|
22116
23367
|
}); };
|
|
22117
23368
|
runSearch();
|
|
22118
23369
|
}, [location.search, searchTrigger]);
|
|
23370
|
+
// Seperate detailsCall
|
|
22119
23371
|
useEffect(function () {
|
|
22120
23372
|
var fetchPackageDetails = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
22121
|
-
var config, selectedItem, params, rooms, requestRooms, detailsRequest,
|
|
22122
|
-
|
|
22123
|
-
|
|
23373
|
+
var config, selectedItem, params, rooms, requestRooms, detailsRequest, detailsWLResponse, err_2;
|
|
23374
|
+
var _a, _b;
|
|
23375
|
+
return __generator(this, function (_c) {
|
|
23376
|
+
switch (_c.label) {
|
|
22124
23377
|
case 0:
|
|
22125
23378
|
if (!selectedHotelId || !context)
|
|
22126
23379
|
return [2 /*return*/];
|
|
22127
|
-
|
|
23380
|
+
_c.label = 1;
|
|
22128
23381
|
case 1:
|
|
22129
|
-
|
|
23382
|
+
_c.trys.push([1, 3, , 4]);
|
|
22130
23383
|
config = {
|
|
22131
23384
|
host: context.tideConnection.host,
|
|
22132
23385
|
apiKey: context.tideConnection.apiKey
|
|
@@ -22156,13 +23409,15 @@ var SearchResultsContainer = function () {
|
|
|
22156
23409
|
postNights: null
|
|
22157
23410
|
}
|
|
22158
23411
|
};
|
|
22159
|
-
return [4 /*yield*/, build.
|
|
23412
|
+
return [4 /*yield*/, build.detailsWL(config, detailsRequest)];
|
|
22160
23413
|
case 2:
|
|
22161
|
-
|
|
22162
|
-
console.log('
|
|
23414
|
+
detailsWLResponse = _c.sent();
|
|
23415
|
+
console.log('Details with entryLight:', detailsWLResponse);
|
|
23416
|
+
dispatch(setBookingPackageDetails({ details: (_a = detailsWLResponse === null || detailsWLResponse === void 0 ? void 0 : detailsWLResponse.payload) === null || _a === void 0 ? void 0 : _a.bookingPackage }));
|
|
23417
|
+
dispatch(setEntry({ entry: (_b = detailsWLResponse === null || detailsWLResponse === void 0 ? void 0 : detailsWLResponse.payload) === null || _b === void 0 ? void 0 : _b.entry }));
|
|
22163
23418
|
return [3 /*break*/, 4];
|
|
22164
23419
|
case 3:
|
|
22165
|
-
err_2 =
|
|
23420
|
+
err_2 = _c.sent();
|
|
22166
23421
|
console.error('Failed to fetch package details', err_2);
|
|
22167
23422
|
return [3 /*break*/, 4];
|
|
22168
23423
|
case 4: return [2 /*return*/];
|
|
@@ -22198,43 +23453,46 @@ var SearchResultsContainer = function () {
|
|
|
22198
23453
|
});
|
|
22199
23454
|
return requestRooms;
|
|
22200
23455
|
};
|
|
22201
|
-
var
|
|
23456
|
+
var _g = useState(false), filtersOpen = _g[0], setFiltersOpen = _g[1];
|
|
23457
|
+
var _h = useState(false), itineraryOpen = _h[0], setItineraryOpen = _h[1];
|
|
22202
23458
|
var handleSortChange = function (newSortKey) {
|
|
22203
23459
|
dispatch(setSortKey(newSortKey));
|
|
22204
23460
|
};
|
|
22205
|
-
var handleSetIsMobileFiltersOpen = function () {
|
|
22206
|
-
setIsMobileFiltersOpen(!isMobileFiltersOpen);
|
|
22207
|
-
};
|
|
22208
23461
|
useEffect(function () {
|
|
22209
23462
|
if (typeof document !== 'undefined') {
|
|
22210
|
-
document.body.classList.toggle('has-overlay',
|
|
23463
|
+
document.body.classList.toggle('has-overlay', filtersOpen);
|
|
22211
23464
|
}
|
|
22212
|
-
}, [
|
|
23465
|
+
}, [filtersOpen]);
|
|
22213
23466
|
var sortingOptions = [
|
|
22214
|
-
{ key: 'price-asc', label:
|
|
22215
|
-
{ key: 'price-desc', label:
|
|
22216
|
-
{ key: 'departure-date', label:
|
|
23467
|
+
{ key: 'price-asc', label: translations.SRP.PRICE_ASC },
|
|
23468
|
+
{ key: 'price-desc', label: translations.SRP.PRICE_DESC },
|
|
23469
|
+
{ key: 'departure-date', label: translations.SRP.DEPARTURE_ASC }
|
|
22217
23470
|
];
|
|
22218
23471
|
return (React.createElement("div", { id: "tide-booking", className: "search__bg" }, context && (React.createElement("div", { className: "search" },
|
|
22219
23472
|
React.createElement("div", { className: "search__container" },
|
|
22220
|
-
context.showFilters && (React.createElement(Filters, { filters: filters,
|
|
22221
|
-
context.type === 'hotel-flight' && (React.createElement(Itinerary, {
|
|
23473
|
+
context.showFilters && (React.createElement(Filters, { filters: filters, isOpen: filtersOpen, handleSetIsOpen: function () { return setFiltersOpen(!filtersOpen); }, handleApplyFilters: function () { return setSearchTrigger(function (prev) { return prev + 1; }); }, isLoading: isLoading })),
|
|
23474
|
+
context.type === 'hotel-flight' && (React.createElement(Itinerary, { isOpen: itineraryOpen, handleSetIsOpen: function () { return setItineraryOpen(!itineraryOpen); }, isLoading: isLoading })),
|
|
22222
23475
|
React.createElement("div", { className: "search__results" },
|
|
22223
23476
|
isMobile && (React.createElement("div", { className: "search__result-row" },
|
|
22224
|
-
React.createElement("div", { className: "
|
|
22225
|
-
React.createElement(
|
|
22226
|
-
|
|
22227
|
-
|
|
23477
|
+
React.createElement("div", { className: "search__results__actions" },
|
|
23478
|
+
context.showFilters && (React.createElement("div", { className: "cta cta--filter", onClick: function () { return setFiltersOpen(true); } },
|
|
23479
|
+
React.createElement(Icon, { name: "ui-filter", className: "mobile-filters-button__icon", height: 16 }),
|
|
23480
|
+
translations.SRP.FILTERS)),
|
|
23481
|
+
React.createElement("div", { className: "cta cta--filter", onClick: function () { return setItineraryOpen(true); } },
|
|
23482
|
+
React.createElement(Icon, { name: "ui-calendar", className: "mobile-filters-button__icon", height: 16 }),
|
|
23483
|
+
translations.SRP.SHOW_ITINERARY)),
|
|
23484
|
+
sortingOptions && sortingOptions.length > 0 && (React.createElement(ItemPicker, { items: sortingOptions, selection: sortKey || undefined, label: translations.SRP.SORTBY, placeholder: translations.SRP.SORTBY, classModifier: "travel-class-picker__items", onPick: handleSortChange })))),
|
|
22228
23485
|
React.createElement("div", { className: "search__result-row" },
|
|
22229
23486
|
React.createElement("span", { className: "search__result-row-text" }, !isLoading && (React.createElement(React.Fragment, null, (_b = results === null || results === void 0 ? void 0 : results.length) !== null && _b !== void 0 ? _b : 4,
|
|
22230
|
-
" ",
|
|
22231
|
-
|
|
23487
|
+
" ",
|
|
23488
|
+
translations.SRP.TOTAL_RESULTS_LABEL))),
|
|
22232
23489
|
!isMobile && sortingOptions && sortingOptions.length > 0 && (React.createElement("div", { className: "search__result-row-filter" },
|
|
22233
|
-
React.createElement(ItemPicker, { items: sortingOptions, selection: sortKey || undefined, label:
|
|
23490
|
+
React.createElement(ItemPicker, { items: sortingOptions, selection: sortKey || undefined, label: translations.SRP.SORTBY, placeholder: translations.SRP.SORTBY, classModifier: "travel-class-picker__items", onPick: handleSortChange })))),
|
|
22234
23491
|
React.createElement("div", { className: "search__results__wrapper" },
|
|
22235
23492
|
context.showTabViews && React.createElement(TabViews, null),
|
|
22236
|
-
context.
|
|
22237
|
-
context.showHotelAccommodationResults && React.createElement(HotelAccommodationResults, { isLoading: isLoading, context: context })
|
|
23493
|
+
context.showFlightResults && (bookingPackageDetails === null || bookingPackageDetails === void 0 ? void 0 : bookingPackageDetails.outwardFlights) && (React.createElement(FlightResults, { flights: bookingPackageDetails.outwardFlights, isDeparture: true })),
|
|
23494
|
+
context.showHotelAccommodationResults && React.createElement(HotelAccommodationResults, { isLoading: isLoading, context: context }),
|
|
23495
|
+
context.showFlightResults && (bookingPackageDetails === null || bookingPackageDetails === void 0 ? void 0 : bookingPackageDetails.returnFlights) && (React.createElement(FlightResults, { flights: bookingPackageDetails.returnFlights, isDeparture: false })))))))));
|
|
22238
23496
|
};
|
|
22239
23497
|
|
|
22240
23498
|
var createSearchResultsStore = function () {
|