@qite/tide-booking-component 1.4.34 → 1.4.36

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/build/build-cjs/index.js +1628 -376
  2. package/build/build-cjs/qsm/types.d.ts +0 -1
  3. package/build/build-cjs/search-results/components/filters/filters.d.ts +2 -2
  4. package/build/build-cjs/search-results/components/flight/flight-results.d.ts +2 -0
  5. package/build/build-cjs/search-results/components/hotel/hotel-card.d.ts +1 -0
  6. package/build/build-cjs/search-results/components/itinerary/index.d.ts +2 -2
  7. package/build/build-cjs/search-results/store/search-results-slice.d.ts +11 -2
  8. package/build/build-cjs/search-results/types.d.ts +4 -14
  9. package/build/build-esm/index.js +1628 -376
  10. package/build/build-esm/qsm/types.d.ts +0 -1
  11. package/build/build-esm/search-results/components/filters/filters.d.ts +2 -2
  12. package/build/build-esm/search-results/components/flight/flight-results.d.ts +2 -0
  13. package/build/build-esm/search-results/components/hotel/hotel-card.d.ts +1 -0
  14. package/build/build-esm/search-results/components/itinerary/index.d.ts +2 -2
  15. package/build/build-esm/search-results/store/search-results-slice.d.ts +11 -2
  16. package/build/build-esm/search-results/types.d.ts +4 -14
  17. package/package.json +2 -2
  18. package/src/booking-wizard/features/booking/booking-self-contained.tsx +0 -1
  19. package/src/booking-wizard/features/travelers-form/controls/gender-control.tsx +5 -5
  20. package/src/booking-wizard/features/travelers-form/travelers-form.tsx +10 -10
  21. package/src/content/components/icon.tsx +1 -1
  22. package/src/content/features/content-page/content-page-self-contained.tsx +0 -1
  23. package/src/qsm/components/QSMContainer/qsm-container.tsx +15 -13
  24. package/src/qsm/components/mobile-filter-modal/index.tsx +12 -10
  25. package/src/qsm/components/travel-class-picker/index.tsx +5 -3
  26. package/src/qsm/components/travel-input/index.tsx +15 -12
  27. package/src/qsm/components/travel-input-group/index.tsx +14 -3
  28. package/src/qsm/components/travel-nationality-picker/index.tsx +5 -3
  29. package/src/qsm/components/travel-type-picker/index.tsx +5 -3
  30. package/src/qsm/qsm-configuration-context.ts +0 -1
  31. package/src/qsm/types.ts +0 -1
  32. package/src/search-results/components/filters/filters.tsx +15 -16
  33. package/src/search-results/components/flight/flight-results.tsx +168 -1099
  34. package/src/search-results/components/hotel/hotel-accommodation-results.tsx +21 -24
  35. package/src/search-results/components/hotel/hotel-card.tsx +4 -3
  36. package/src/search-results/components/icon.tsx +1 -1
  37. package/src/search-results/components/itinerary/index.tsx +233 -131
  38. package/src/search-results/components/round-trip/round-trip-results.tsx +1 -1
  39. package/src/search-results/components/search-results-container/search-results-container.tsx +45 -33
  40. package/src/search-results/components/spinner/spinner.tsx +3 -1
  41. package/src/search-results/components/tab-views/index.tsx +13 -7
  42. package/src/search-results/features/flights/flight-search-results-self-contained.tsx +4 -13
  43. package/src/search-results/features/hotels/hotel-flight-search-results-self-contained.tsx +5 -1
  44. package/src/search-results/features/hotels/hotel-search-results-self-contained.tsx +4 -13
  45. package/src/search-results/features/roundtrips/roundtrip-search-results-self-contained.tsx +5 -1
  46. package/src/search-results/store/search-results-slice.ts +37 -3
  47. package/src/search-results/types.ts +2 -15
  48. package/src/shared/translations/ar-SA.json +70 -0
  49. package/src/shared/translations/da-DK.json +70 -0
  50. package/src/shared/translations/de-DE.json +70 -0
  51. package/src/shared/translations/en-GB.json +71 -1
  52. package/src/shared/translations/es-ES.json +70 -0
  53. package/src/shared/translations/fr-BE.json +71 -1
  54. package/src/shared/translations/fr-FR.json +70 -0
  55. package/src/shared/translations/is-IS.json +72 -2
  56. package/src/shared/translations/it-IT.json +70 -0
  57. package/src/shared/translations/ja-JP.json +72 -2
  58. package/src/shared/translations/nl-BE.json +70 -0
  59. package/src/shared/translations/nl-NL.json +70 -0
  60. package/src/shared/translations/no-NO.json +72 -2
  61. package/src/shared/translations/pl-PL.json +70 -0
  62. package/src/shared/translations/pt-PT.json +70 -0
  63. package/src/shared/translations/sv-SE.json +72 -2
  64. package/styles/components/_search.scss +7 -1
@@ -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
- FEMALE: "Mrs.",
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: "Titre",
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: "Kyn",
2085
- MALE: "Hr.",
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: "Tiltale",
3145
- MALE: "Hr.",
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: "Från",
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: "Tilltal",
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
- MALE: "様(男性)",
4202
- FEMALE: "様(女性)",
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$1 = function (price, currencyCode, locale) {
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$1(Math.abs(price), currencyCode)) : "- ".concat(formatPrice$1(Math.abs(price), currencyCode));
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$1(price, currencyCode));
12725
+ return "".concat(formatPrice(price, currencyCode));
11566
12726
  case 1:
11567
12727
  var perPersonPrice = price / personCount;
11568
- return "".concat(formatPrice$1(perPersonPrice, currencyCode), " / ").concat(perPersonLabel);
12728
+ return "".concat(formatPrice(perPersonPrice, currencyCode), " / ").concat(perPersonLabel);
11569
12729
  case 2:
11570
12730
  var perNightPrice = price / duration;
11571
- return "".concat(formatPrice$1(perNightPrice, currencyCode), " / ").concat(perNightLabel);
12731
+ return "".concat(formatPrice(perNightPrice, currencyCode), " / ").concat(perNightLabel);
11572
12732
  case 3:
11573
12733
  var perPersonPerNightPrice = price / duration;
11574
- return "".concat(formatPrice$1(perPersonPerNightPrice, currencyCode), " / ").concat(perPersonPerNightLabel);
12734
+ return "".concat(formatPrice(perPersonPerNightPrice, currencyCode), " / ").concat(perPersonPerNightLabel);
11575
12735
  }
11576
12736
  };
11577
12737
 
@@ -15269,7 +16429,7 @@ var getFlightDetails = function (flight) {
15269
16429
  arrivalDate: lastLine.arrivalDate,
15270
16430
  arrivalTime: lastLine.arrivalTime,
15271
16431
  arrivalAirport: lastLine.arrivalAirportDescription,
15272
- travelDuration: formatDuration(flight.flightMetaData.durationInTicks),
16432
+ travelDuration: formatDuration$1(flight.flightMetaData.durationInTicks),
15273
16433
  travelDurationMinutes: minutesFromTicks(flight.flightMetaData.durationInTicks),
15274
16434
  changeDurationMinutes: getTotalChangeDuration(flight),
15275
16435
  numberOfStops: flight.flightMetaData.flightLines.length - 1,
@@ -15284,7 +16444,7 @@ var getFlightDetails = function (flight) {
15284
16444
  arrivalTime: x.arrivalTime,
15285
16445
  arrivalAirport: x.arrivalAirportDescription,
15286
16446
  number: "".concat(x.airlineCode, " ").concat(x.number),
15287
- travelDuration: formatDuration(x.durationInTicks),
16447
+ travelDuration: formatDuration$1(x.durationInTicks),
15288
16448
  waitDuration: waitDurations.length - 1 <= i ? waitDurations[i] : undefined
15289
16449
  }); })
15290
16450
  };
@@ -15360,7 +16520,7 @@ var minutesFromTicks = function (ticks) {
15360
16520
  var totalSeconds = ticks / 10000000;
15361
16521
  return Math.floor(totalSeconds / 60);
15362
16522
  };
15363
- var formatDuration = function (ticks) {
16523
+ var formatDuration$1 = function (ticks) {
15364
16524
  if (!ticks)
15365
16525
  return '';
15366
16526
  var totalSeconds = ticks / 10000000;
@@ -16122,7 +17282,7 @@ var NoneOption = function (_a) {
16122
17282
  var selectedOption = group.options.find(function (x) { return x.isSelected; });
16123
17283
  var showNoneOption = group.options.some(function (x) { return x.requirementType === 2; });
16124
17284
  var noneSelected = !selectedOption;
16125
- var priceDifferencetext = selectedOption ? "- ".concat(formatPrice$1(Math.abs(selectedOption.line.price), currencyCode)) : '';
17285
+ var priceDifferencetext = selectedOption ? "- ".concat(formatPrice(Math.abs(selectedOption.line.price), currencyCode)) : '';
16126
17286
  return (React.createElement(React.Fragment, null, showNoneOption && (React.createElement("tr", null,
16127
17287
  React.createElement("td", null,
16128
17288
  React.createElement("div", { className: buildClassName(['tree', noneSelected && 'tree--selected']) },
@@ -16674,7 +17834,7 @@ var OptionRoom = function (_a) {
16674
17834
  e.preventDefault();
16675
17835
  };
16676
17836
  var getPriceDifferenceText = function (price) {
16677
- return price > 0 ? "+ ".concat(formatPrice$1(Math.abs(price), currencyCode)) : "- ".concat(formatPrice$1(Math.abs(price), currencyCode));
17837
+ return price > 0 ? "+ ".concat(formatPrice(Math.abs(price), currencyCode)) : "- ".concat(formatPrice(Math.abs(price), currencyCode));
16678
17838
  };
16679
17839
  var getAccommodationPriceDifference = function (accommodation) {
16680
17840
  var _a;
@@ -17321,7 +18481,7 @@ var Sidebar = function (_a) {
17321
18481
  React.createElement("div", { className: "pricing-summary__row" },
17322
18482
  React.createElement("div", { className: "pricing-summary__property" },
17323
18483
  React.createElement("h6", { className: "pricing-summary__title" }, translations.SIDEBAR.BASE_PRICE)),
17324
- React.createElement("div", { className: "pricing-summary__value" }, formatPrice$1(basePrice, currencyCode))))),
18484
+ React.createElement("div", { className: "pricing-summary__value" }, formatPrice(basePrice, currencyCode))))),
17325
18485
  !isEmpty(includedCosts) && (React.createElement("div", { className: "pricing-summary__group" },
17326
18486
  React.createElement("h6", { className: "pricing-summary__title" }, translations.SIDEBAR.INCLUDED_COSTS), includedCosts === null || includedCosts === void 0 ? void 0 :
17327
18487
  includedCosts.map(function (priceDetail, index) {
@@ -17329,7 +18489,7 @@ var Sidebar = function (_a) {
17329
18489
  return (React.createElement(React.Fragment, { key: compact([priceDetail.productCode, priceDetail.accommodationCode, index]).join('_') },
17330
18490
  React.createElement("div", { className: "pricing-summary__row" },
17331
18491
  React.createElement("div", { className: "pricing-summary__property" }, priceDetail.productName),
17332
- priceDetail.showPrice && (React.createElement("div", { className: "pricing-summary__value" }, formatPrice$1(priceDetail.price * priceDetail.amount, currencyCode)))),
18492
+ priceDetail.showPrice && (React.createElement("div", { className: "pricing-summary__value" }, formatPrice(priceDetail.price * priceDetail.amount, currencyCode)))),
17333
18493
  React.createElement("div", { className: "pricing-summary__row" },
17334
18494
  React.createElement("div", { className: "price-summary__property" }, (_a = priceDetail.accommodationName) !== null && _a !== void 0 ? _a : priceDetail.accommodationCode))));
17335
18495
  }))),
@@ -17340,7 +18500,7 @@ var Sidebar = function (_a) {
17340
18500
  return (React.createElement(React.Fragment, { key: compact([priceDetail.productCode, priceDetail.accommodationCode, index]).join('_') },
17341
18501
  React.createElement("div", { className: "pricing-summary__row" },
17342
18502
  React.createElement("div", { className: "pricing-summary__property" }, priceDetail.productName),
17343
- priceDetail.showPrice && (React.createElement("div", { className: "pricing-summary__value" }, formatPrice$1(priceDetail.price * priceDetail.amount, currencyCode)))),
18503
+ priceDetail.showPrice && (React.createElement("div", { className: "pricing-summary__value" }, formatPrice(priceDetail.price * priceDetail.amount, currencyCode)))),
17344
18504
  React.createElement("div", { className: "pricing-summary__row" },
17345
18505
  React.createElement("div", { className: "price-summary__property" }, (_a = priceDetail.accommodationName) !== null && _a !== void 0 ? _a : priceDetail.accommodationCode))));
17346
18506
  }))))))) : (React.createElement("div", { className: "pricing-summary__region" },
@@ -17351,20 +18511,20 @@ var Sidebar = function (_a) {
17351
18511
  React.createElement("h6", { className: "pricing-summary__title" }, translations.SHARED.TOTAL_PRICE)),
17352
18512
  React.createElement("div", { className: "pricing-summary__value" },
17353
18513
  React.createElement("div", { className: "pricing" },
17354
- React.createElement("div", { className: "pricing__price" }, formatPrice$1(totalPrice, currencyCode)))))),
18514
+ React.createElement("div", { className: "pricing__price" }, formatPrice(totalPrice, currencyCode)))))),
17355
18515
  React.createElement("div", { className: "pricing-summary__row" },
17356
18516
  React.createElement("div", { className: "pricing-summary__property" },
17357
18517
  React.createElement("h6", { className: "pricing-summary__title" }, translations.SIDEBAR.DEPOSIT)),
17358
18518
  React.createElement("div", { className: "pricing-summary__value" },
17359
18519
  React.createElement("div", { className: "pricing" },
17360
- React.createElement("div", { className: "pricing__price" }, formatPrice$1(deposit, currencyCode))))),
18520
+ React.createElement("div", { className: "pricing__price" }, formatPrice(deposit, currencyCode))))),
17361
18521
  React.createElement("div", { className: "pricing-summary__row" },
17362
18522
  React.createElement("small", null,
17363
18523
  React.createElement("em", null,
17364
18524
  translations.SIDEBAR.DEPOSIT_TEXT1,
17365
18525
  React.createElement("strong", null, translations.SIDEBAR.DEPOSIT_TEXT2),
17366
18526
  translations.SIDEBAR.DEPOSIT_TEXT3,
17367
- formatPrice$1(remainingAmount, currencyCode),
18527
+ formatPrice(remainingAmount, currencyCode),
17368
18528
  translations.SIDEBAR.DEPOSIT_TEXT4,
17369
18529
  React.createElement("strong", null, translations.SIDEBAR.DEPOSIT_TEXT5),
17370
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" },
@@ -17372,7 +18532,7 @@ var Sidebar = function (_a) {
17372
18532
  React.createElement("h6", { className: "pricing-summary__title" }, translations.SHARED.TOTAL_PRICE)),
17373
18533
  React.createElement("div", { className: "pricing-summary__value" },
17374
18534
  React.createElement("div", { className: "pricing" },
17375
- React.createElement("div", { className: "pricing__price" }, formatPrice$1(totalPrice, currencyCode)))))))))),
18535
+ React.createElement("div", { className: "pricing__price" }, formatPrice(totalPrice, currencyCode)))))))))),
17376
18536
  footerComponent))));
17377
18537
  };
17378
18538
 
@@ -17875,21 +19035,17 @@ var GenderControl = function (_a) {
17875
19035
  var translations = _a.translations, value = _a.value, formik = _a.formik, name = _a.name;
17876
19036
  return (React.createElement("div", { className: buildClassName(['form__group', hasVisibleError(formik, name) && 'form__group--error']) },
17877
19037
  React.createElement("label", { className: "form__label" },
17878
- translations.TRAVELERS_FORM.GENDER,
19038
+ translations.TRAVELERS_FORM.GENDER_ID,
17879
19039
  " *"),
17880
19040
  React.createElement("div", { className: "radiobutton-group" },
17881
19041
  React.createElement("div", { className: "radiobutton" },
17882
19042
  React.createElement("label", { className: "radiobutton__label" },
17883
19043
  React.createElement("input", { type: "radio", className: "radiobutton__input", name: name, onChange: formik.handleChange, onBlur: formik.handleBlur, value: "m", checked: value.gender === 'm' }),
17884
- translations.TRAVELERS_FORM.MALE)),
19044
+ translations.TRAVELERS_FORM.MALE_GENDER)),
17885
19045
  React.createElement("div", { className: "radiobutton" },
17886
19046
  React.createElement("label", { className: "radiobutton__label" },
17887
19047
  React.createElement("input", { type: "radio", className: "radiobutton__input", name: name, onChange: formik.handleChange, onBlur: formik.handleBlur, value: "f", checked: value.gender === 'f' }),
17888
- translations.TRAVELERS_FORM.FEMALE)),
17889
- React.createElement("div", { className: "radiobutton" },
17890
- React.createElement("label", { className: "radiobutton__label" },
17891
- React.createElement("input", { type: "radio", className: "radiobutton__input", name: name, onChange: formik.handleChange, onBlur: formik.handleBlur, value: "x", checked: value.gender === 'x' }),
17892
- translations.TRAVELERS_FORM.OTHER)))));
19048
+ translations.TRAVELERS_FORM.FEMALE_GENDER)))));
17893
19049
  };
17894
19050
 
17895
19051
  var TypeAheadInput = function (_a) {
@@ -18519,21 +19675,17 @@ var TravelersForm = function () {
18519
19675
  React.createElement("div", { className: "form__row" },
18520
19676
  React.createElement("div", { className: buildClassName(['form__group', hasVisibleError("rooms[".concat(rIndex, "].adults[").concat(index, "].gender")) && 'form__group--error']) },
18521
19677
  React.createElement("label", { className: "form__label" },
18522
- translations.TRAVELERS_FORM.GENDER,
19678
+ translations.TRAVELERS_FORM.GENDER_ID,
18523
19679
  " *"),
18524
19680
  React.createElement("div", { className: "radiobutton-group" },
18525
19681
  React.createElement("div", { className: "radiobutton" },
18526
19682
  React.createElement("label", { className: "radiobutton__label" },
18527
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' }),
18528
- translations.TRAVELERS_FORM.MALE)),
19684
+ translations.TRAVELERS_FORM.MALE_GENDER)),
18529
19685
  React.createElement("div", { className: "radiobutton" },
18530
19686
  React.createElement("label", { className: "radiobutton__label" },
18531
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' }),
18532
- translations.TRAVELERS_FORM.FEMALE)),
18533
- React.createElement("div", { className: "radiobutton" },
18534
- React.createElement("label", { className: "radiobutton__label" },
18535
- 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' }),
18536
- translations.TRAVELERS_FORM.OTHER))))),
19688
+ translations.TRAVELERS_FORM.FEMALE_GENDER))))),
18537
19689
  React.createElement("div", { className: "form__row" },
18538
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 }),
18539
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 }),
@@ -18554,21 +19706,17 @@ var TravelersForm = function () {
18554
19706
  React.createElement("div", { className: "form__row" },
18555
19707
  React.createElement("div", { className: buildClassName(['form__group', hasVisibleError("rooms[".concat(rIndex, "].children[").concat(index, "].gender")) && 'form__group--error']) },
18556
19708
  React.createElement("label", { className: "form__label" },
18557
- translations.TRAVELERS_FORM.GENDER,
19709
+ translations.TRAVELERS_FORM.GENDER_ID,
18558
19710
  " *"),
18559
19711
  React.createElement("div", { className: "radiobutton-group" },
18560
19712
  React.createElement("div", { className: "radiobutton" },
18561
19713
  React.createElement("label", { className: "radiobutton__label" },
18562
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' }),
18563
- translations.TRAVELERS_FORM.MALE)),
19715
+ translations.TRAVELERS_FORM.MALE_GENDER)),
18564
19716
  React.createElement("div", { className: "radiobutton" },
18565
19717
  React.createElement("label", { className: "radiobutton__label" },
18566
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' }),
18567
- translations.TRAVELERS_FORM.FEMALE)),
18568
- React.createElement("div", { className: "radiobutton" },
18569
- React.createElement("label", { className: "radiobutton__label" },
18570
- 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' }),
18571
- translations.TRAVELERS_FORM.OTHER))))),
19719
+ translations.TRAVELERS_FORM.FEMALE_GENDER))))),
18572
19720
  React.createElement("div", { className: "form__row" },
18573
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 }),
18574
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 }),
@@ -19015,7 +20163,7 @@ var Icon$2 = function (_a) {
19015
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." }),
19016
20164
  title && React.createElement("title", null, title),
19017
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" })));
19018
- case 'ui-comparator':
20166
+ case 'ui-list':
19019
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" },
19020
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." }),
19021
20169
  title && React.createElement("title", null, title),
@@ -19606,7 +20754,6 @@ var QSMConfigurationContext = React.createContext({
19606
20754
  showReturnDate: false,
19607
20755
  datesIcon: '',
19608
20756
  onSubmit: function () { },
19609
- submitLabel: 'Zoeken',
19610
20757
  submitIcon: ''
19611
20758
  });
19612
20759
 
@@ -20265,10 +21412,11 @@ var DateRangePicker = function (_a) {
20265
21412
  };
20266
21413
 
20267
21414
  var TravelInput = function () {
20268
- 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;
20269
21416
  var areTravelersInRooms = type !== 'flight' && askRooms;
20270
21417
  var dispatch = useDispatch();
20271
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');
20272
21420
  var getTravelerButtonClass = function (disabled) { return "button button--increment ".concat(disabled ? 'button--disabled' : ''); };
20273
21421
  var totalTravelers = areTravelersInRooms ? rooms.reduce(function (sum, room) { return sum + room.adults + room.kids + room.babies; }, 0) : adults + kids + babies;
20274
21422
  var safeMaxTravelers = maxTravelers !== null && maxTravelers !== void 0 ? maxTravelers : Infinity;
@@ -20310,20 +21458,21 @@ var TravelInput = function () {
20310
21458
  };
20311
21459
  // Compute age labels dynamically
20312
21460
  var ageLabels = {
20313
- adults: maxChildAge ? "".concat(maxChildAge + 1, "+ jaar") : '12+ jaar',
20314
- kids: maxChildAge && maxInfantAge ? "".concat(maxInfantAge + 1, "-").concat(maxChildAge, " jaar") : '2-11 jaar',
20315
- babies: maxInfantAge !== undefined ? "0-".concat(maxInfantAge, " jaar") : '0-1 jaar'
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)
20316
21464
  };
20317
21465
  return (React.createElement("div", { className: "passenger-picker" }, areTravelersInRooms ? (React.createElement("div", null,
20318
21466
  React.createElement("div", { className: "passenger-picker__rooms-header" },
20319
21467
  React.createElement("h4", { className: "passenger-picker__rooms-header-title" },
20320
- "Kamers: ",
21468
+ translations.SHARED.ROOMS,
21469
+ ": ",
20321
21470
  React.createElement("span", { className: "passenger-picker__rooms-header-count" }, rooms.length)),
20322
21471
  rooms.length < 4 && (React.createElement("div", { className: "cta--secondary".concat(!canAddTraveler ? ' cta--disabled' : ''), onClick: function () {
20323
21472
  if (canAddTraveler) {
20324
21473
  handleAddRoom();
20325
21474
  }
20326
- } }, "Kamer toevoegen"))),
21475
+ } }, translations.QSM.ADD_ROOM))),
20327
21476
  React.createElement("div", { className: "passenger-picker__rooms-wrapper" }, rooms.map(function (room, idx) { return (React.createElement("div", { key: idx, className: "passenger-picker__room" },
20328
21477
  React.createElement("h6", { className: "passenger-picker__room-title" },
20329
21478
  "Kamer ",
@@ -20339,16 +21488,16 @@ var TravelInput = function () {
20339
21488
  React.createElement("button", { className: getTravelerButtonClass(!canAddTraveler), onClick: function () { return canAddTraveler && handleTravelerChange(idx, type, room[type] + 1); } },
20340
21489
  React.createElement(Icon$1, { name: "ui-plus" }))))); }),
20341
21490
  rooms.length > 1 && (React.createElement("div", { className: "passenger-picker__remove-room" },
20342
- React.createElement("button", { type: "button", className: "cta--remove", onClick: function () { return handleRemoveRoom(idx); } }, "Verwijder kamer"))),
21491
+ React.createElement("button", { type: "button", className: "cta--remove", onClick: function () { return handleRemoveRoom(idx); } }, translations.QSM.REMOVE_ROOM))),
20343
21492
  !canAddTraveler && (React.createElement("div", { className: "passenger-picker__info-message" },
20344
21493
  React.createElement("svg", { className: "passenger-picker__info-message-icon", width: 16, height: 16, viewBox: "0 0 15.967 15.967" },
20345
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)" })),
20346
- React.createElement("span", { className: "passenger-picker__info-message-explanation" }, "Je zit aan het maximale aantal personen"))),
21495
+ React.createElement("span", { className: "passenger-picker__info-message-explanation" }, translations.QSM.MAX_TRAVELERS_REACHED))),
20347
21496
  React.createElement("div", { className: "passenger-picker__line passenger-picker__line--room" }))); })))) : (React.createElement("div", null,
20348
21497
  React.createElement("div", { className: "passenger-picker__items" },
20349
21498
  React.createElement("div", { className: "passenger-picker__item" },
20350
21499
  React.createElement("div", { className: "passenger-picker__item-text" },
20351
- React.createElement("span", null, "Volwassenen"),
21500
+ React.createElement("span", null, translations.QSM.ADULTS),
20352
21501
  React.createElement("span", { className: "passenger-picker__item-text-age" }, ageLabels.adults)),
20353
21502
  React.createElement("div", { className: "decrement-increment__ui" },
20354
21503
  React.createElement("div", { className: "button button--decrement ".concat(adults === 0 ? 'button--disabled' : ''), onClick: function () { return adults > 0 && dispatch(setAdults(adults - 1)); } },
@@ -20358,7 +21507,7 @@ var TravelInput = function () {
20358
21507
  React.createElement(Icon$1, { name: "ui-plus" })))),
20359
21508
  React.createElement("div", { className: "passenger-picker__item" },
20360
21509
  React.createElement("div", { className: "passenger-picker__item-text" },
20361
- React.createElement("span", null, "Kinderen"),
21510
+ React.createElement("span", null, translations.QSM.CHILDREN),
20362
21511
  React.createElement("span", { className: "passenger-picker__item-text-age" }, ageLabels.kids)),
20363
21512
  React.createElement("div", { className: "decrement-increment__ui" },
20364
21513
  React.createElement("div", { className: getTravelerButtonClass(!canAddTraveler), onClick: function () { return kids > 0 && dispatch(setKids(kids - 1)); } },
@@ -20368,7 +21517,7 @@ var TravelInput = function () {
20368
21517
  React.createElement(Icon$1, { name: "ui-plus" })))),
20369
21518
  React.createElement("div", { className: "passenger-picker__item" },
20370
21519
  React.createElement("div", { className: "passenger-picker__item-text" },
20371
- React.createElement("span", null, "Baby&squot;s"),
21520
+ React.createElement("span", null, translations.QSM.BABIES),
20372
21521
  React.createElement("span", { className: "passenger-picker__item-text-age" }, ageLabels.babies)),
20373
21522
  React.createElement("div", { className: "decrement-increment__ui" },
20374
21523
  React.createElement("div", { className: "button button--decrement ".concat(babies === 0 ? 'button--disabled' : ''), onClick: function () { return babies > 0 && dispatch(setBabies(babies - 1)); } },
@@ -20379,16 +21528,17 @@ var TravelInput = function () {
20379
21528
  !canAddTraveler && (React.createElement("div", { className: "passenger-picker__info-message" },
20380
21529
  React.createElement("svg", { className: "passenger-picker__info-message-icon", width: 16, height: 16, viewBox: "0 0 15.967 15.967" },
20381
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)" })),
20382
- React.createElement("span", { className: "passenger-picker__info-message-explanation" }, "Je zit aan het maximale aantal personen"))),
21531
+ React.createElement("span", { className: "passenger-picker__info-message-explanation" }, translations.QSM.MAX_TRAVELERS_REACHED))),
20383
21532
  React.createElement("div", { className: "passenger-picker__line" })))));
20384
21533
  };
20385
21534
 
20386
21535
  var MobileFilterModal = function () {
20387
- var datesIcon = useContext(QSMConfigurationContext).datesIcon;
21536
+ var _a = useContext(QSMConfigurationContext), datesIcon = _a.datesIcon, languageCode = _a.languageCode;
21537
+ var translations = getTranslations(languageCode !== null && languageCode !== void 0 ? languageCode : 'en-GB');
20388
21538
  var dispatch = useDispatch();
20389
- var _a = useSelector(function (state) { return state.qsm; }), mobileFilterType = _a.mobileFilterType, mobileDatePickerMode = _a.mobileDatePickerMode, activeSearchFieldProps = _a.activeSearchFieldProps, fromDate = _a.fromDate, toDate = _a.toDate;
20390
- var _b = useState(''), inputValue = _b[0], setInputValue = _b[1];
20391
- var _c = useState([]), searchResultsLocal = _c[0], setSearchResultsLocal = _c[1];
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];
20392
21542
  var hasTypedRef = useRef(false);
20393
21543
  /* ---------------------------------------------------------------- */
20394
21544
  /* Sync local state when a new field is opened */
@@ -20454,19 +21604,19 @@ var MobileFilterModal = function () {
20454
21604
  return (React.createElement("div", { className: "mobile-qsm-filter__modal" },
20455
21605
  React.createElement("div", { className: "mobile-qsm-filter__modal-header" },
20456
21606
  React.createElement("div", { className: "mobile-qsm-filter__modal-header-row" },
20457
- React.createElement("span", { className: "mobile-qsm-filter__modal-header-title" }, "Kies data"),
21607
+ React.createElement("span", { className: "mobile-qsm-filter__modal-header-title" }, translations.QSM.CHOOSE_DATES),
20458
21608
  React.createElement("span", { className: "mobile-qsm-filter__modal-header-close", onClick: closeModal }))),
20459
21609
  React.createElement("div", { className: "qsm__double-input qsm__double-input--date-modal" },
20460
21610
  React.createElement("div", { className: "qsm__double-input__wrapper" },
20461
21611
  React.createElement("label", { className: "qsm__input-wrapper" },
20462
21612
  datesIcon && React.createElement("span", { className: "qsm__input-icon" }, datesIcon),
20463
- React.createElement("span", { className: "qsm__label" }, "Vertrek"),
20464
- React.createElement("input", { type: "text", id: "vertrek", className: "qsm__input u-ps-2", placeholder: "Datum", readOnly: true, value: fromDate ? format$1(new Date(fromDate), 'dd/MM/yyyy') : '' }),
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') : '' }),
20465
21615
  mobileDatePickerMode === 'range' && React.createElement("div", { className: "qsm__input-line qsm__input-line--datepicker" })),
20466
21616
  mobileDatePickerMode === 'range' && (React.createElement("label", { className: "qsm__input-wrapper" },
20467
21617
  datesIcon && React.createElement("span", { className: "qsm__input-icon" }, datesIcon),
20468
- React.createElement("span", { className: "qsm__label qsm__label--second-input-label" }, "Retour"),
20469
- React.createElement("input", { type: "text", id: "retour", className: "qsm__input", placeholder: "Datum", readOnly: true, value: toDate ? format$1(new Date(toDate), 'dd/MM/yyyy') : '' })))),
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') : '' })))),
20470
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) {
20471
21621
  if (from) {
20472
21622
  dispatch(setFromDate(from.toISOString()));
@@ -20483,7 +21633,7 @@ var MobileFilterModal = function () {
20483
21633
  if (hasValidDates) {
20484
21634
  closeModal();
20485
21635
  }
20486
- } }, "Bevestigen"))));
21636
+ } }, translations.QSM.CONFIRM))));
20487
21637
  };
20488
21638
  var renderSearchInputModal = function () {
20489
21639
  if (!activeSearchFieldProps) {
@@ -20499,18 +21649,18 @@ var MobileFilterModal = function () {
20499
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 }),
20500
21650
  React.createElement(SearchInput, { onChange: handleLocationChange, searchResults: searchResultsLocal, onOptionSelect: handleLocationSelect, highlightTarget: inputValue, label: activeSearchFieldProps.label }))),
20501
21651
  React.createElement("div", { className: "mobile-qsm-filter__modal-footer" },
20502
- React.createElement("button", { className: "cta", onClick: closeModal }, "Bevestigen"))));
21652
+ React.createElement("button", { className: "cta", onClick: closeModal }, translations.QSM.CONFIRM))));
20503
21653
  };
20504
21654
  var renderTravelerModal = function () { return (React.createElement("div", { className: "mobile-qsm-filter__modal" },
20505
21655
  React.createElement("div", { className: "mobile-qsm-filter__modal-header" },
20506
21656
  React.createElement("div", { className: "mobile-qsm-filter__modal-header-row" },
20507
- React.createElement("span", { className: "mobile-qsm-filter__modal-header-title" }, "Reizigers"),
21657
+ React.createElement("span", { className: "mobile-qsm-filter__modal-header-title" }, translations.QSM.TRAVELERS),
20508
21658
  React.createElement("span", { className: "mobile-qsm-filter__modal-header-close", onClick: closeModal }))),
20509
21659
  React.createElement("div", { className: "qsm__double-input qsm__double-input--travel-modal" },
20510
21660
  React.createElement("div", { className: "qsm__input-wrapper qsm__input-wrapper--rooms" },
20511
21661
  React.createElement(TravelInput, null))),
20512
21662
  React.createElement("div", { className: "mobile-qsm-filter__modal-footer" },
20513
- React.createElement("button", { className: "cta", onClick: closeModal }, "Bevestigen")))); };
21663
+ React.createElement("button", { className: "cta", onClick: closeModal }, translations.QSM.CONFIRM)))); };
20514
21664
  /* ---------------------------------------------------------------- */
20515
21665
  /* Switch modal type */
20516
21666
  /* ---------------------------------------------------------------- */
@@ -20727,7 +21877,8 @@ var TravelInputGroup = function () {
20727
21877
  var isSmallScreen = useMediaQuery('(max-width: 768px)');
20728
21878
  var _a = useState(false), isOpen = _a[0], setIsOpen = _a[1];
20729
21879
  var wrapperRef = useRef(null);
20730
- 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');
20731
21882
  var areTravelersInRooms = type !== 'flight' && askRooms;
20732
21883
  var _c = useSelector(function (s) { return s.qsm; }), adults = _c.adults, rooms = _c.rooms;
20733
21884
  var initDone = useRef(false);
@@ -20773,8 +21924,8 @@ var TravelInputGroup = function () {
20773
21924
  }, [defaultTravelers, maxTravelers]);
20774
21925
  return (React.createElement("div", { ref: wrapperRef, className: "qsm__single-input-wrapper qsm__single-input-wrapper--travel" },
20775
21926
  React.createElement(Icon$1, { name: "ui-user", height: 16 }),
20776
- React.createElement("span", { className: "qsm__label" }, "Met wie ga je?"),
20777
- React.createElement("input", { type: "text", id: "traveler", className: "qsm__input u-ps-2", placeholder: "Met wie ga je?", readOnly: true, onClick: handleClick, value: travelerSummary }),
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 }),
20778
21929
  !isSmallScreen && isOpen && (React.createElement("div", null,
20779
21930
  React.createElement(TravelInput, null)))));
20780
21931
  };
@@ -20818,21 +21969,24 @@ var ItemPicker$1 = function (_a) {
20818
21969
  };
20819
21970
 
20820
21971
  var TravelClassPicker = function () {
20821
- var travelClasses = useContext(QSMConfigurationContext).travelClasses;
21972
+ var _a = useContext(QSMConfigurationContext), travelClasses = _a.travelClasses, languageCode = _a.languageCode;
21973
+ var translations = getTranslations(languageCode !== null && languageCode !== void 0 ? languageCode : 'en-GB');
20822
21974
  var selectedTravelClass = useSelector(function (state) { return state.qsm; }).selectedTravelClass;
20823
- return (React.createElement(ItemPicker$1, { items: travelClasses, selection: selectedTravelClass, label: "Reisklasse", placeholder: "Selecteer reisklasse", classModifier: "travel-class-picker__items", onPick: setSelectedTravelClass }));
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 }));
20824
21976
  };
20825
21977
 
20826
21978
  var TravelTypePicker = function () {
20827
- var travelTypes = useContext(QSMConfigurationContext).travelTypes;
21979
+ var _a = useContext(QSMConfigurationContext), travelTypes = _a.travelTypes, languageCode = _a.languageCode;
21980
+ var translations = getTranslations(languageCode !== null && languageCode !== void 0 ? languageCode : 'en-GB');
20828
21981
  var selectedTravelType = useSelector(function (state) { return state.qsm; }).selectedTravelType;
20829
- return (React.createElement(ItemPicker$1, { items: travelTypes, selection: selectedTravelType, label: "Reistype", placeholder: "Selecteer reistype", classModifier: "travel-type-picker__items", onPick: setSelectedTravelType }));
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 }));
20830
21983
  };
20831
21984
 
20832
21985
  var TravelNationalityPicker = function () {
20833
- var nationalities = useContext(QSMConfigurationContext).nationalities;
21986
+ var _a = useContext(QSMConfigurationContext), nationalities = _a.nationalities, languageCode = _a.languageCode;
21987
+ var translations = getTranslations(languageCode !== null && languageCode !== void 0 ? languageCode : 'en-GB');
20834
21988
  var selectedNationality = useSelector(function (state) { return state.qsm; }).selectedNationality;
20835
- return (React.createElement(ItemPicker$1, { items: nationalities, selection: selectedNationality, label: "Nationaliteit", placeholder: "Selecteer nationaliteit", classModifier: "travel-class-picker__items", onPick: setSelectedNationality }));
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 }));
20836
21990
  };
20837
21991
 
20838
21992
  var QSMContainer = function () {
@@ -20840,7 +21994,8 @@ var QSMContainer = function () {
20840
21994
  var isMobile = useMediaQuery('(max-width: 768px)');
20841
21995
  var qsmState = useSelector(function (state) { return state.qsm; });
20842
21996
  var mobileFilterType = qsmState.mobileFilterType, fromDate = qsmState.fromDate, toDate = qsmState.toDate;
20843
- var _a = useContext(QSMConfigurationContext), searchFields = _a.searchFields, askTravelers = _a.askTravelers, submitIcon = _a.submitIcon, submitLabel = _a.submitLabel, onSubmit = _a.onSubmit, travelTypes = _a.travelTypes;
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');
20844
21999
  useEffect(function () {
20845
22000
  if (fromDate || toDate)
20846
22001
  return;
@@ -20901,41 +22056,41 @@ var QSMContainer = function () {
20901
22056
  React.createElement("button", { type: "button", className: "qsm__tab" },
20902
22057
  React.createElement("span", { className: "qsm__tab__icons" },
20903
22058
  React.createElement(Icon$1, { name: "ui-location", height: 16 })),
20904
- "Multidestination"),
22059
+ translations.QSM.MULTIDESTINATION),
20905
22060
  React.createElement("button", { type: "button", className: "qsm__tab" },
20906
22061
  React.createElement("span", { className: "qsm__tab__icons" },
20907
22062
  React.createElement(Icon$1, { name: "ui-suitcase", height: 16 })),
20908
- "Packages"),
22063
+ translations.QSM.PACKAGES),
20909
22064
  React.createElement("button", { type: "button", className: "qsm__tab qsm__tab--active" },
20910
22065
  React.createElement("span", { className: "qsm__tab__icons" },
20911
22066
  React.createElement(Icon$1, { name: "ui-backforward", height: 14 }),
20912
22067
  "+",
20913
22068
  React.createElement(Icon$1, { name: "ui-bed", height: 14 })),
20914
- "Transport + hotel"),
22069
+ translations.QSM.TRANSPORT_HOTEL),
20915
22070
  React.createElement("button", { type: "button", className: "qsm__tab" },
20916
22071
  React.createElement("span", { className: "qsm__tab__icons" },
20917
22072
  React.createElement(Icon$1, { name: "ui-bed", height: 16 })),
20918
- "Accommodation"),
22073
+ translations.QSM.ACCOMMODATION),
20919
22074
  React.createElement("button", { type: "button", className: "qsm__tab" },
20920
22075
  React.createElement("span", { className: "qsm__tab__icons" },
20921
22076
  React.createElement(Icon$1, { name: "ui-flight", height: 16 })),
20922
- "Transports"),
22077
+ translations.QSM.TRANSPORTS),
20923
22078
  React.createElement("button", { type: "button", className: "qsm__tab" },
20924
22079
  React.createElement("span", { className: "qsm__tab__icons" },
20925
22080
  React.createElement(Icon$1, { name: "ui-ticket", height: 16 })),
20926
- "Ticket Only"),
22081
+ translations.QSM.TICKET_ONLY),
20927
22082
  React.createElement("button", { type: "button", className: "qsm__tab" },
20928
22083
  React.createElement("span", { className: "qsm__tab__icons" },
20929
22084
  React.createElement(Icon$1, { name: "ui-car", height: 16 })),
20930
- "Rent a car"),
22085
+ translations.QSM.RENT_A_CAR),
20931
22086
  React.createElement("button", { type: "button", className: "qsm__tab" },
20932
22087
  React.createElement("span", { className: "qsm__tab__icons" },
20933
22088
  React.createElement(Icon$1, { name: "ui-backforward", height: 16 })),
20934
- "Transfers"),
22089
+ translations.QSM.TRANSFERS),
20935
22090
  React.createElement("button", { type: "button", className: "qsm__tab" },
20936
22091
  React.createElement("span", { className: "qsm__tab__icons" },
20937
22092
  React.createElement(Icon$1, { name: "ui-ship", height: 16 })),
20938
- "Cruises")),
22093
+ translations.QSM.CRUISES)),
20939
22094
  React.createElement("div", { className: "qsm__filter" },
20940
22095
  React.createElement("div", { className: "radiobutton-group qsm__filter__inputgroup" },
20941
22096
  React.createElement("div", { className: "radiobutton" },
@@ -20946,7 +22101,7 @@ var QSMContainer = function () {
20946
22101
  value: "",
20947
22102
  // checked={formik.values.mainBookerId === travelerValues.id}
20948
22103
  checked: true, readOnly: true, className: "radiobutton__input" }),
20949
- React.createElement("span", null, "One accommodation"))),
22104
+ React.createElement("span", null, translations.QSM.ONE_ACCOMMODATION))),
20950
22105
  React.createElement("div", { className: "radiobutton" },
20951
22106
  React.createElement("label", { className: "radiobutton__label" },
20952
22107
  React.createElement("input", { type: "radio", name: "mainBookerId",
@@ -20955,7 +22110,7 @@ var QSMContainer = function () {
20955
22110
  value: "",
20956
22111
  // checked={formik.values.mainBookerId === travelerValues.id}
20957
22112
  className: "radiobutton__input", disabled: true }),
20958
- React.createElement("span", null, "Multiple accommodations")))),
22113
+ React.createElement("span", null, translations.QSM.MULTIPLE_ACCOMMODATIONS)))),
20959
22114
  React.createElement("div", { className: "qsm__filter__classgroup" },
20960
22115
  React.createElement(TravelClassPicker, null),
20961
22116
  React.createElement(TravelTypePicker, null),
@@ -20971,7 +22126,7 @@ var QSMContainer = function () {
20971
22126
  askTravelers && React.createElement(TravelInputGroup, null),
20972
22127
  React.createElement("button", { type: "button", className: "cta", onClick: handleSubmit },
20973
22128
  submitIcon && submitIcon.toString().length > 0 && React.createElement("span", null, submitIcon),
20974
- React.createElement("span", null, submitLabel)))),
22129
+ React.createElement("span", null, translations.QSM.CONFIRM)))),
20975
22130
  isMobile && mobileFilterType && React.createElement(MobileFilterModal, null)));
20976
22131
  };
20977
22132
 
@@ -20998,6 +22153,8 @@ var _a;
20998
22153
  var initialState = {
20999
22154
  results: [],
21000
22155
  selectedHotelId: null,
22156
+ bookingPackageDetails: null,
22157
+ entry: null,
21001
22158
  isLoading: false,
21002
22159
  filters: [],
21003
22160
  sortKey: null,
@@ -21014,6 +22171,19 @@ var searchResultsSlice = createSlice({
21014
22171
  setSelectedHotel: function (state, action) {
21015
22172
  state.selectedHotelId = action.payload;
21016
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
+ },
21017
22187
  setIsLoading: function (state, action) {
21018
22188
  state.isLoading = action.payload;
21019
22189
  },
@@ -21051,7 +22221,7 @@ var searchResultsSlice = createSlice({
21051
22221
  }
21052
22222
  }
21053
22223
  });
21054
- 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;
21055
22225
  var searchResultsReducer = searchResultsSlice.reducer;
21056
22226
 
21057
22227
  var MultiRangeFilter = function (_a) {
@@ -21112,9 +22282,10 @@ var MultiRangeFilter = function (_a) {
21112
22282
  var Spinner = function () {
21113
22283
  var _a;
21114
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');
21115
22286
  return (React.createElement("div", { className: "spinner__container" },
21116
22287
  React.createElement("span", { className: "spinner__icon" }),
21117
- React.createElement("span", { className: "spinner__label" }, (_a = context === null || context === void 0 ? void 0 : context.translations) === null || _a === void 0 ? void 0 : _a.loading)));
22288
+ React.createElement("span", { className: "spinner__label" }, translations === null || translations === void 0 ? void 0 : translations.SRP.LOADING)));
21118
22289
  };
21119
22290
 
21120
22291
  var Icon = function (_a) {
@@ -21289,7 +22460,7 @@ var Icon = function (_a) {
21289
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." }),
21290
22461
  title && React.createElement("title", null, title),
21291
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" })));
21292
- case 'ui-comparator':
22463
+ case 'ui-list':
21293
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" },
21294
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." }),
21295
22466
  title && React.createElement("title", null, title),
@@ -21392,11 +22563,12 @@ var initialFilters = [
21392
22563
  }
21393
22564
  ];
21394
22565
  var Filters = function (_a) {
21395
- var _b, _c, _d;
21396
- var filters = _a.filters, isMobileFiltersOpen = _a.isMobileFiltersOpen, handleSetIsMobileFiltersOpen = _a.handleSetIsMobileFiltersOpen, handleApplyFilters = _a.handleApplyFilters, isLoading = _a.isLoading;
22566
+ var _b;
22567
+ var filters = _a.filters, isOpen = _a.isOpen, handleSetIsOpen = _a.handleSetIsOpen, handleApplyFilters = _a.handleApplyFilters, isLoading = _a.isLoading;
21397
22568
  var context = useContext(SearchResultsConfigurationContext);
21398
- var _e = useState({}), visibleFilters = _e[0], setVisibleFilters = _e[1];
21399
- var _f = useState([]), pendingFilters = _f[0], setPendingFilters = _f[1];
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];
21400
22572
  useEffect(function () {
21401
22573
  if (initialFilters.length > 0) {
21402
22574
  setPendingFilters(initialFilters);
@@ -21464,8 +22636,8 @@ var Filters = function (_a) {
21464
22636
  dispatch(setFilters(pendingFilters));
21465
22637
  (_a = context === null || context === void 0 ? void 0 : context.onFilterChange) === null || _a === void 0 ? void 0 : _a.call(context, pendingFilters);
21466
22638
  handleApplyFilters();
21467
- if (isMobileFiltersOpen) {
21468
- handleSetIsMobileFiltersOpen();
22639
+ if (isOpen) {
22640
+ handleSetIsOpen();
21469
22641
  }
21470
22642
  };
21471
22643
  var handleFullReset = function () {
@@ -21484,15 +22656,15 @@ var Filters = function (_a) {
21484
22656
  return null;
21485
22657
  }
21486
22658
  return (React.createElement(React.Fragment, null,
21487
- React.createElement("div", { className: "search__filters--modal ".concat(isMobileFiltersOpen ? 'is-open' : '') },
21488
- React.createElement("div", { className: "search__filters--background", onClick: function () { return handleSetIsMobileFiltersOpen(); } }),
21489
- React.createElement("button", { className: "search__filters--close", onClick: function () { return handleSetIsMobileFiltersOpen(); } },
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(); } },
21490
22662
  React.createElement(Icon, { name: "ui-close", height: 24 })),
21491
22663
  React.createElement("div", { className: "search__filters" },
21492
22664
  React.createElement("div", { className: "search__filter-row search__filter__header" },
21493
22665
  React.createElement("div", { className: "search__filter-row-flex-title" },
21494
- React.createElement("p", { className: "search__filter-small-title" }, "Your trip summary")),
21495
- !isLoading && (React.createElement("a", { className: "search__filter-reset", onClick: function () { return handleFullReset(); } }, (_b = context.translations) === null || _b === void 0 ? void 0 : _b.resetButton))),
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))),
21496
22668
  isLoading ? (React.createElement(Spinner, null)) : (React.createElement(React.Fragment, null,
21497
22669
  React.createElement("div", { className: "search__filters__group-container" },
21498
22670
  pendingFilters.map(function (filter, index) {
@@ -21550,9 +22722,9 @@ var Filters = function (_a) {
21550
22722
  context.useGlobalApplyFilterButton && hasPendingChanges() && (React.createElement("div", { className: "search__filters__actions" },
21551
22723
  React.createElement("button", { className: "cta--secondary ", onClick: function () {
21552
22724
  handleResetPendingChanges();
21553
- handleSetIsMobileFiltersOpen();
21554
- }, disabled: isLoading }, (_c = context.translations) === null || _c === void 0 ? void 0 : _c.cancel),
21555
- React.createElement("button", { className: "cta", onClick: function () { return applyFilters(); }, disabled: isLoading }, (_d = context.translations) === null || _d === void 0 ? void 0 : _d.apply))))))))));
22725
+ handleSetIsOpen();
22726
+ }, disabled: isLoading }, translations.SRP.CANCEL),
22727
+ React.createElement("button", { className: "cta", onClick: function () { return applyFilters(); }, disabled: isLoading }, translations.SRP.APPLY))))))))));
21556
22728
  };
21557
22729
 
21558
22730
  var ItemPicker = function (_a) {
@@ -21601,138 +22773,222 @@ var ItemPicker = function (_a) {
21601
22773
  }))))));
21602
22774
  };
21603
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
+ };
21604
22832
  var Itinerary = function (_a) {
21605
- var isMobileFiltersOpen = _a.isMobileFiltersOpen, handleSetIsMobileFiltersOpen = _a.handleSetIsMobileFiltersOpen, isLoading = _a.isLoading;
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; });
21606
22848
  return (React.createElement(React.Fragment, null,
21607
- React.createElement("div", { className: "search__filters--modal ".concat(isMobileFiltersOpen ? 'is-open' : '') },
21608
- React.createElement("div", { className: "search__filters--background", onClick: function () { return handleSetIsMobileFiltersOpen(); } }),
21609
- React.createElement("button", { className: "search__filters--close", onClick: function () { return handleSetIsMobileFiltersOpen(); } },
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(); } },
21610
22852
  React.createElement(Icon, { name: "ui-close", height: 24 })),
21611
22853
  React.createElement("div", { className: "search__filters" },
21612
22854
  React.createElement("div", { className: "search__filter-row search__filter__header" },
21613
22855
  React.createElement("div", { className: "search__filter-row-flex-title" },
21614
- React.createElement("p", { className: "search__filter-small-title" }, "Your trip summary"))),
22856
+ React.createElement("p", { className: "search__filter-small-title" }, translations.SRP.ITINERARY_TITLE))),
21615
22857
  isLoading ? (React.createElement(Spinner, null)) : (React.createElement(React.Fragment, null,
21616
- React.createElement("div", { className: "search__filter-group" },
21617
- React.createElement("div", { className: "search__filter__image__wrapper" },
21618
- React.createElement("img", { src: "https://images.unsplash.com/photo-1534292425621-6fbc5c09219a?fm=jpg&q=60&w=3000&ixlib=rb-4.1.0&ixid=M3wxMjA3fDB8MHxzZWFyY2h8M3x8dGVuZXJpZmV8ZW58MHx8MHx8fDA%3D", alt: "filter-img", className: "search__filter__image" }),
21619
- React.createElement("span", { className: "search__filter__image__text" }, "Transport + hotel to"),
21620
- React.createElement("h4", { className: "search__filter__image__title" }, "Costa del Silencio - Tenerife Sur"))),
22858
+ React.createElement("div", { className: "search__filter-group" }, (context === null || context === void 0 ? void 0 : context.destinationImage) && (React.createElement("div", { className: "search__filter__image__wrapper" },
22859
+ React.createElement("img", { src: context.destinationImage.url, alt: context.destinationImage.alt, className: "search__filter__image" }),
22860
+ (entry === null || entry === void 0 ? void 0 : entry.number) && (React.createElement("span", { className: "search__filter__image__text" },
22861
+ translations.SRP.DOSSIER_NUMBER,
22862
+ ": ", entry === null || entry === void 0 ? void 0 :
22863
+ entry.number)),
22864
+ React.createElement("h4", { className: "search__filter__image__title" }, (location || '') + (location && country ? ' - ' : '') + (country || ''))))),
21621
22865
  React.createElement("div", { className: "search__filter__prices" },
21622
22866
  React.createElement("div", { className: "search__filter__prices__wrapper" },
21623
- React.createElement("h3", { className: "search__filter__prices--amount" }, "\u20AC256"),
21624
- React.createElement("p", null, "package price per person"),
22867
+ 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')),
22868
+ React.createElement("p", null, translations.SRP.PACKAGE_PRICE_PER_PERSON),
21625
22869
  React.createElement("p", null,
21626
- React.createElement("strong", null, "(1.974 \u20AC Total)"))),
21627
- React.createElement("button", { className: "cta" }, "Comfirm")),
22870
+ React.createElement("strong", null,
22871
+ "(",
22872
+ formatPrice((entry === null || entry === void 0 ? void 0 : entry.sellingPrice) || 0, (entry === null || entry === void 0 ? void 0 : entry.currencyCode) || 'EUR'),
22873
+ " ",
22874
+ translations.SRP.TOTAL,
22875
+ ")"))),
22876
+ React.createElement("button", { className: "cta" }, translations.QSM.CONFIRM)),
21628
22877
  React.createElement("div", { className: "search__filter__itinerary" },
21629
- React.createElement("p", null, "Your trip day by day"),
22878
+ React.createElement("p", null, translations.SRP.DAY_BY_DAY),
21630
22879
  React.createElement("div", { className: "search__filter__itinerary__country" },
21631
22880
  React.createElement("div", { className: "search__filter__itinerary__country-icon" },
21632
22881
  React.createElement(Icon, { name: "ui-flag", width: 17.5, height: 20 })),
21633
22882
  React.createElement("div", { className: "search__filter__itinerary__country-content" },
21634
- React.createElement("h4", null, "Brussels, Belgium"),
21635
22883
  React.createElement("p", null,
21636
- "Mon. 19 Jan 2026 - ",
21637
- React.createElement("strong", null, "Start")))),
21638
- React.createElement("div", { className: "search__filter__itinerary__transport" },
22884
+ format$1(new Date((firstEntryLine === null || firstEntryLine === void 0 ? void 0 : firstEntryLine.startDate) || ''), 'EEE. d MMM yyyy'),
22885
+ " - ",
22886
+ React.createElement("strong", null, translations.SRP.START)))),
22887
+ outboundFlight && (React.createElement("div", { className: "search__filter__itinerary__transport" },
21639
22888
  React.createElement("div", { className: "search__filter__itinerary__transport-timeline" },
21640
22889
  React.createElement("div", { className: "search__filter__itinerary__transport-timeline-line" })),
21641
22890
  React.createElement("div", { className: "search__filter__itinerary__transport-item" },
21642
22891
  React.createElement("div", { className: "search__filter__itinerary__transport-date" },
21643
22892
  React.createElement("p", { className: "search__filter__itinerary__transport-date-date" },
21644
- React.createElement("strong", null, "19")),
21645
- React.createElement("p", null, "Jan")),
22893
+ React.createElement("strong", null, format$1(new Date((outboundFlight === null || outboundFlight === void 0 ? void 0 : outboundFlight.startDate) || ''), 'd'))),
22894
+ React.createElement("p", null, format$1(new Date((outboundFlight === null || outboundFlight === void 0 ? void 0 : outboundFlight.startDate) || ''), 'MMM'))),
21646
22895
  React.createElement("div", { className: "search__filter__itinerary__transport-badge" },
21647
22896
  React.createElement(Icon, { name: "ui-plane", height: 15 })),
21648
22897
  React.createElement("div", { className: "search__filter__itinerary__transport-details" },
21649
- React.createElement("h6", null, "Brussels Airport (BRU) - Tenerife South Airport (TFS)"),
22898
+ React.createElement("h6", null, outboundFlight.productName),
21650
22899
  React.createElement("p", { className: "search__filter__itinerary__transport-details-plane" },
21651
22900
  React.createElement("span", null,
21652
22901
  React.createElement(Icon, { name: "ui-plane-depart", height: 14 }),
21653
22902
  " ",
21654
- React.createElement("strong", null, "08:00")),
22903
+ React.createElement("strong", null, getDepartureTime(outboundFlight))),
21655
22904
  ' ',
21656
22905
  "-",
21657
22906
  ' ',
21658
22907
  React.createElement("span", null,
21659
22908
  React.createElement(Icon, { name: "ui-plane-arrive", height: 14 }),
21660
22909
  " ",
21661
- React.createElement("strong", null, "12:30"))),
22910
+ React.createElement("strong", null, getArrivalTime(outboundFlight)))),
21662
22911
  React.createElement("p", { className: "search__filter__itinerary__transport-details-time" },
21663
22912
  React.createElement("span", null,
21664
22913
  React.createElement(Icon, { name: "ui-clock", height: 20 }),
21665
- " 4h30m"))))),
21666
- React.createElement("div", { className: "search__filter__itinerary__segments" },
21667
- React.createElement("div", { className: "search__filter__itinerary__segments__wrapper" },
21668
- React.createElement("div", { className: "search__filter__itinerary__segments-timeline" },
21669
- React.createElement("div", { className: "search__filter__itinerary__segments-timeline-line" })),
21670
- React.createElement("div", { className: "search__filter__itinerary__segment" },
21671
- React.createElement("div", { className: "search__filter__itinerary__segment-item search__filter__itinerary__segment-item--start" },
21672
- React.createElement("div", { className: "search__filter__itinerary__segment-date" },
21673
- React.createElement("p", { className: "search__filter__itinerary__segment-date-date" },
21674
- React.createElement("strong", null, "19")),
21675
- React.createElement("p", null, "Jan")),
21676
- React.createElement("div", { className: "search__filter__itinerary__segment-badge" },
21677
- React.createElement(Icon, { name: "ui-location", width: 15, height: 15 })),
21678
- React.createElement("div", { className: "search__filter__itinerary__segment-details" },
21679
- React.createElement("h6", null, "Costa del Silencio - Tenerife Sur"),
21680
- React.createElement("p", { className: "search__filter__itinerary__segment-details-text" }, "Mon. 19 Jan 2026 > Sat. 31 Jan 2026")))),
21681
- React.createElement("div", { className: "search__filter__itinerary__segment" },
21682
- React.createElement("div", { className: "search__filter__itinerary__segment-item" },
21683
- React.createElement("div", { className: "search__filter__itinerary__segment-date search__filter__itinerary__segment-nights" },
21684
- React.createElement("p", { className: "search__filter__itinerary__segment-date-date" },
21685
- React.createElement("strong", null, "12")),
21686
- React.createElement(Icon, { name: "ui-moon", width: 16, height: 16 })),
21687
- React.createElement("div", { className: "search__filter__itinerary__segment-badge search__filter__itinerary__segment-badge--secondary" },
21688
- React.createElement(Icon, { name: "ui-bed", width: 15, height: 15 })),
21689
- React.createElement("div", { className: "search__filter__itinerary__segment-details" },
21690
- React.createElement("h6", null, "Grand Muthu Golf Plaza Hotel"),
21691
- React.createElement("div", { className: "rating" },
21692
- React.createElement(Icon, { name: "ui-star", key: "rating-star-1", width: 14, height: 14 }),
21693
- React.createElement(Icon, { name: "ui-star", key: "rating-star-2", width: 14, height: 14 }),
21694
- React.createElement(Icon, { name: "ui-star", key: "rating-star-3", width: 14, height: 14 }),
21695
- React.createElement(Icon, { name: "ui-star", key: "rating-star-4", width: 14, height: 14 }),
21696
- React.createElement(Icon, { name: "ui-star", key: "rating-star-5", width: 14, height: 14 }))))))),
21697
- React.createElement("div", { className: "search__filter__itinerary__transport" },
22914
+ " ",
22915
+ getDuration(outboundFlight))))))),
22916
+ !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) },
22917
+ React.createElement("div", { className: "search__filter__itinerary__segments-timeline" },
22918
+ React.createElement("div", { className: "search__filter__itinerary__segments-timeline-line" })),
22919
+ React.createElement("div", { className: "search__filter__itinerary__segment" },
22920
+ React.createElement("div", { className: "search__filter__itinerary__segment-item search__filter__itinerary__segment-item--start" },
22921
+ React.createElement("div", { className: "search__filter__itinerary__transport-date" },
22922
+ React.createElement("p", { className: "search__filter__itinerary__transport-date-date" },
22923
+ React.createElement("strong", null, format$1(new Date((segment === null || segment === void 0 ? void 0 : segment.startDate) || ''), 'd'))),
22924
+ React.createElement("p", null, format$1(new Date((segment === null || segment === void 0 ? void 0 : segment.startDate) || ''), 'MMM'))),
22925
+ React.createElement("div", { className: "search__filter__itinerary__segment-badge" },
22926
+ React.createElement(Icon, { name: "ui-location", width: 15, height: 15 })),
22927
+ React.createElement("div", { className: "search__filter__itinerary__segment-details" },
22928
+ React.createElement("h6", null, segment === null || segment === void 0 ? void 0 :
22929
+ segment.locationName,
22930
+ ", ", segment === null || segment === void 0 ? void 0 :
22931
+ segment.countryName),
22932
+ React.createElement("p", { className: "search__filter__itinerary__segment-details-text" },
22933
+ format$1(new Date((segment === null || segment === void 0 ? void 0 : segment.startDate) || ''), 'EEE. d MMM yyyy'),
22934
+ "> ",
22935
+ format$1(new Date((segment === null || segment === void 0 ? void 0 : segment.endDate) || ''), 'EEE. d MMM yyyy'))))),
22936
+ React.createElement("div", { className: "search__filter__itinerary__segment" },
22937
+ React.createElement("div", { className: "search__filter__itinerary__segment-item" },
22938
+ segment.productType === 3 && (React.createElement("div", { className: "search__filter__itinerary__segment-date search__filter__itinerary__segment-nights" },
22939
+ React.createElement("p", { className: "search__filter__itinerary__segment-date-date" },
22940
+ React.createElement("strong", null, numberOfNights(segment))),
22941
+ React.createElement(Icon, { name: "ui-moon", width: 16, height: 16 }))),
22942
+ React.createElement("div", { className: "search__filter__itinerary__segment-badge search__filter__itinerary__segment-badge--secondary" },
22943
+ segment.productType === 3 && React.createElement(Icon, { name: "ui-bed", width: 15, height: 15 }),
22944
+ segment.productType === 4 && React.createElement(Icon, { name: "ui-ticket", width: 15, height: 15 }),
22945
+ (segment.productType === 17 || segment.productType === 22) && React.createElement(Icon, { name: "ui-car", width: 15, height: 15 }),
22946
+ segment.productType === 11 && React.createElement(Icon, { name: "ui-ship", width: 15, height: 15 })),
22947
+ React.createElement("div", { className: "search__filter__itinerary__segment-details" },
22948
+ React.createElement("h6", null, segment === null || segment === void 0 ? void 0 : segment.productName)))))); }))),
22949
+ returnFlight && (React.createElement("div", { className: "search__filter__itinerary__transport" },
21698
22950
  React.createElement("div", { className: "search__filter__itinerary__transport-timeline" },
21699
22951
  React.createElement("div", { className: "search__filter__itinerary__transport-timeline-line" })),
21700
22952
  React.createElement("div", { className: "search__filter__itinerary__transport-item" },
21701
22953
  React.createElement("div", { className: "search__filter__itinerary__transport-date" },
21702
22954
  React.createElement("p", { className: "search__filter__itinerary__transport-date-date" },
21703
- React.createElement("strong", null, "30")),
21704
- React.createElement("p", null, "Jan")),
22955
+ React.createElement("strong", null, format$1(new Date((returnFlight === null || returnFlight === void 0 ? void 0 : returnFlight.startDate) || ''), 'd'))),
22956
+ React.createElement("p", null, format$1(new Date((returnFlight === null || returnFlight === void 0 ? void 0 : returnFlight.startDate) || ''), 'MMM'))),
21705
22957
  React.createElement("div", { className: "search__filter__itinerary__transport-badge" },
21706
22958
  React.createElement(Icon, { name: "ui-plane", height: 15 })),
21707
22959
  React.createElement("div", { className: "search__filter__itinerary__transport-details" },
21708
- React.createElement("h6", null, "Tenerife South Airport (TFS) - Brussels Airport (BRU)"),
22960
+ React.createElement("h6", null, returnFlight === null || returnFlight === void 0 ? void 0 : returnFlight.productName),
21709
22961
  React.createElement("p", { className: "search__filter__itinerary__transport-details-plane" },
21710
22962
  React.createElement("span", null,
21711
22963
  React.createElement(Icon, { name: "ui-plane-depart", height: 14 }),
21712
22964
  " ",
21713
- React.createElement("strong", null, "12:55")),
22965
+ React.createElement("strong", null, getDepartureTime(returnFlight))),
21714
22966
  ' ',
21715
22967
  "-",
21716
22968
  ' ',
21717
22969
  React.createElement("span", null,
21718
22970
  React.createElement(Icon, { name: "ui-plane-arrive", height: 14 }),
21719
22971
  " ",
21720
- React.createElement("strong", null, "18:25"))),
22972
+ React.createElement("strong", null, getArrivalTime(returnFlight)))),
21721
22973
  React.createElement("p", { className: "search__filter__itinerary__transport-details-time" },
21722
22974
  React.createElement("span", null,
21723
22975
  React.createElement(Icon, { name: "ui-clock", height: 20 }),
21724
- " 4h30m"))))),
22976
+ " ",
22977
+ getDuration(returnFlight))))))),
21725
22978
  React.createElement("div", { className: "search__filter__itinerary__country" },
21726
22979
  React.createElement("div", { className: "search__filter__itinerary__country-icon" },
21727
22980
  React.createElement(Icon, { name: "ui-flag", width: 17.5, height: 20 })),
21728
22981
  React.createElement("div", { className: "search__filter__itinerary__country-content" },
21729
- React.createElement("h4", null, "Brussels, Belgium"),
21730
22982
  React.createElement("p", null,
21731
- "Mon. 19 Jan 2026 - ",
21732
- React.createElement("strong", null, "End")))))))))));
22983
+ format$1(new Date((lastEntryLine === null || lastEntryLine === void 0 ? void 0 : lastEntryLine.startDate) || ''), 'EEE. d MMM yyyy'),
22984
+ " - ",
22985
+ React.createElement("strong", null, translations.SRP.END)))))))))));
21733
22986
  };
21734
22987
 
21735
22988
  var TabViews = function () {
22989
+ var _a;
22990
+ var context = useContext(SearchResultsConfigurationContext);
22991
+ var translations = getTranslations((_a = context === null || context === void 0 ? void 0 : context.languageCode) !== null && _a !== void 0 ? _a : 'en-GB');
21736
22992
  var dispatch = useDispatch();
21737
22993
  var activeTab = useSelector(function (state) { return state.searchResults; }).activeTab;
21738
22994
  var handleSortChange = function (tab) {
@@ -21741,17 +22997,17 @@ var TabViews = function () {
21741
22997
  return (React.createElement("div", { className: "search__results__tab-views" },
21742
22998
  React.createElement("button", { type: "button", className: "search__results__tab-view ".concat(activeTab === 'extended' ? 'search__results__tab-view--active' : ''), onClick: function () { return handleSortChange('extended'); } },
21743
22999
  React.createElement(Icon, { name: "ui-extended", height: 16 }),
21744
- "Extended"),
23000
+ translations.SRP.EXTENDED),
21745
23001
  React.createElement("button", { type: "button", className: "search__results__tab-view ".concat(activeTab === 'compact' ? 'search__results__tab-view--active' : ''), onClick: function () { return handleSortChange('compact'); } },
21746
23002
  React.createElement(Icon, { name: "ui-compact", height: 16 }),
21747
- "Compact"),
21748
- React.createElement("button", { type: "button", className: "search__results__tab-view ".concat(activeTab === 'comparator' ? 'search__results__tab-view--active' : ''), onClick: function () { return handleSortChange('comparator'); } },
21749
- React.createElement(Icon, { name: "ui-comparator", height: 16 }),
21750
- "Comparator")));
23003
+ translations.SRP.COMPACT),
23004
+ React.createElement("button", { type: "button", className: "search__results__tab-view ".concat(activeTab === 'list' ? 'search__results__tab-view--active' : ''), onClick: function () { return handleSortChange('list'); } },
23005
+ React.createElement(Icon, { name: "ui-list", height: 16 }),
23006
+ translations.SRP.LIST)));
21751
23007
  };
21752
23008
 
21753
23009
  var HotelCard = function (_a) {
21754
- var result = _a.result;
23010
+ var result = _a.result, translations = _a.translations;
21755
23011
  var dispatch = useDispatch();
21756
23012
  var selectedHotelId = useSelector(function (state) { return state.searchResults; }).selectedHotelId;
21757
23013
  var handleChange = function (hotelProductId) {
@@ -21762,7 +23018,7 @@ var HotelCard = function (_a) {
21762
23018
  React.createElement("div", { className: "search__result-card__img-wrapper" },
21763
23019
  React.createElement("img", { src: result.image, alt: result.title, className: "search__result-card__img" }),
21764
23020
  React.createElement("div", { className: "search__result-card__price__wrapper" },
21765
- React.createElement("span", { className: "search__result-card__price__label" }, "Total price"),
23021
+ React.createElement("span", { className: "search__result-card__price__label" }, translations === null || translations === void 0 ? void 0 : translations.SHARED.TOTAL_PRICE),
21766
23022
  React.createElement("span", { className: "search__result-card__price" }, result.price))),
21767
23023
  React.createElement("div", { className: "search__result-card__content" },
21768
23024
  React.createElement("div", { className: "search__result-card__content__wrapper" },
@@ -21783,21 +23039,21 @@ var HotelCard = function (_a) {
21783
23039
  React.createElement("p", { className: "search__result-card__description" }, result.description)),
21784
23040
  React.createElement("div", { className: "search__result-card__footer" },
21785
23041
  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'),
21786
- React.createElement("button", { type: "button", className: "cta cta--select", onClick: function () { return console.log('Clicked on customCard with id:', result.id); } }, "View details")))));
23042
+ 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)))));
21787
23043
  };
21788
23044
 
21789
- var renderResults = function (results, context, cmsMap, activeTab) {
23045
+ var renderResults = function (results, context, cmsMap, activeTab, translations) {
21790
23046
  var renderedResults = results.map(function (result, index) {
21791
23047
  var cmsItem = cmsMap.get(result.productId);
21792
- var mappedResult = mapSearchResult(result, cmsItem, context.languageCode);
23048
+ var mappedResult = mapSearchResult(result, cmsItem, context.languageCode, translations);
21793
23049
  if ((context === null || context === void 0 ? void 0 : context.showCustomCards) && (context === null || context === void 0 ? void 0 : context.customCardRenderer)) {
21794
23050
  return (React.createElement("div", { key: "".concat(mappedResult.id, "-").concat(index), className: "search__result-card" }, context.customCardRenderer(mappedResult)));
21795
23051
  }
21796
- return React.createElement(HotelCard, { key: "".concat(mappedResult.id, "-").concat(index), result: mappedResult });
23052
+ return React.createElement(HotelCard, { key: "".concat(mappedResult.id, "-").concat(index), result: mappedResult, translations: translations });
21797
23053
  });
21798
23054
  return React.createElement("div", { className: "search__results__cards ".concat(activeTab ? "search__results__cards--".concat(activeTab) : '') }, renderedResults);
21799
23055
  };
21800
- var mapSearchResult = function (searchResult, cmsItem, languageCode) {
23056
+ var mapSearchResult = function (searchResult, cmsItem, languageCode, translations) {
21801
23057
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
21802
23058
  return {
21803
23059
  type: 'hotel',
@@ -21806,40 +23062,31 @@ var mapSearchResult = function (searchResult, cmsItem, languageCode) {
21806
23062
  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,
21807
23063
  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) || '',
21808
23064
  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) || '',
21809
- price: formatPrice(searchResult.currencyCode, searchResult.price, languageCode),
21810
- ctaText: 'View details',
21811
- days: calculateNights(searchResult.stayFromDate, searchResult.stayToDate),
23065
+ price: formatPrice(searchResult.price, searchResult.currencyCode, languageCode),
23066
+ ctaText: translations === null || translations === void 0 ? void 0 : translations.SRP.VIEW_DETAILS,
23067
+ days: calculateNights(searchResult.stayFromDate, searchResult.stayToDate, translations),
21812
23068
  accommodation: searchResult.accommodationName,
21813
23069
  regime: searchResult.regimeName,
21814
23070
  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
21815
23071
  };
21816
23072
  };
21817
- var formatPrice = function (currencyCode, price, languageCode) {
21818
- if (!price) {
21819
- return 'Price unavailable';
21820
- }
21821
- return new Intl.NumberFormat(languageCode !== null && languageCode !== void 0 ? languageCode : 'en-GB', {
21822
- style: 'currency',
21823
- currency: currencyCode,
21824
- currencyDisplay: 'symbol'
21825
- }).format(price);
21826
- };
21827
- var calculateNights = function (fromDate, toDate) {
23073
+ var calculateNights = function (fromDate, toDate, translations) {
21828
23074
  var from = new Date(fromDate).getTime(); // returns a number
21829
23075
  var to = new Date(toDate).getTime(); // returns a number
21830
23076
  var diffTime = Math.abs(to - from);
21831
23077
  var diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24));
21832
- return "".concat(diffDays, " nights");
23078
+ return "".concat(diffDays, " ").concat(translations === null || translations === void 0 ? void 0 : translations.SRP.NIGHTS);
21833
23079
  };
21834
23080
  var HotelAccommodationResults = function (_a) {
21835
- var _b;
23081
+ var _b, _c;
21836
23082
  var isLoading = _a.isLoading, context = _a.context;
23083
+ var translations = getTranslations((_b = context === null || context === void 0 ? void 0 : context.languageCode) !== null && _b !== void 0 ? _b : 'en-GB');
21837
23084
  if (isLoading) {
21838
- return React.createElement(React.Fragment, null, (_b = context === null || context === void 0 ? void 0 : context.customSpinner) !== null && _b !== void 0 ? _b : React.createElement(Spinner, null));
23085
+ 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));
21839
23086
  }
21840
- var _c = useSelector(function (state) { return state.searchResults; }), results = _c.results, activeTab = _c.activeTab;
23087
+ var _d = useSelector(function (state) { return state.searchResults; }), results = _d.results, activeTab = _d.activeTab;
21841
23088
  if (!results.length) {
21842
- return React.createElement("div", { className: "no-results" }, context.noResultsLabel || 'No results found.');
23089
+ return React.createElement("div", { className: "no-results" }, translations.SRP.NO_RESULTS);
21843
23090
  }
21844
23091
  var cmsMap = React.useMemo(function () {
21845
23092
  var _a;
@@ -21862,120 +23109,10 @@ var HotelAccommodationResults = function (_a) {
21862
23109
  React.createElement("p", null, firstResultMonth)),
21863
23110
  React.createElement("div", { className: "search__results__label__text" },
21864
23111
  React.createElement("h3", null,
21865
- "Select ",
21866
- React.createElement("strong", null, "Accommodation")))),
21867
- renderResults(results, context, cmsMap, activeTab)));
21868
- };
21869
-
21870
- var RoundTripResults = function () {
21871
- return (React.createElement("div", { className: "search__results__cards search__results__cards--comparator" },
21872
- React.createElement("div", { className: "search__result-card" },
21873
- React.createElement("div", { className: "search__result-card__allotment" },
21874
- React.createElement("div", { className: "search__result-card__allotment__title__wrapper" },
21875
- React.createElement("h3", { className: "search__result-card__allotment__title" },
21876
- "Rondreis Noord-India: Rajasthan",
21877
- React.createElement("span", { className: "search__result-card__allotment__badge" },
21878
- React.createElement(Icon, { name: "ui-circle-check", width: 14, height: 14 }),
21879
- "GAR")),
21880
- React.createElement("div", { className: "search__result-card__allotment__container" },
21881
- React.createElement("div", { className: "search__result-card__allotment__header" },
21882
- React.createElement("div", { className: "search__result-card__allotment__wrapper" },
21883
- React.createElement("div", { className: "search__result-card__allotment__date" },
21884
- React.createElement(Icon, { name: "ui-plane", height: 16 }),
21885
- React.createElement("div", { className: "search__result-card__allotment__date--from" }, "05-04-2026")),
21886
- React.createElement("div", { className: "search__result-card__allotment__info" },
21887
- React.createElement("span", null,
21888
- React.createElement(Icon, { name: "ui-calendar", height: 16 })),
21889
- ' ',
21890
- "8 dagen -",
21891
- ' ',
21892
- React.createElement("span", null,
21893
- React.createElement(Icon, { name: "ui-moon", height: 16 })),
21894
- "7 nachten"))),
21895
- React.createElement("div", { className: "search__result-card__allotment__info" },
21896
- React.createElement("a", { href: "#", type: "button", className: "search__result-card__allotment__info__group" }, "Group"),
21897
- React.createElement("div", { className: "search__result-card__allotment__persons" },
21898
- React.createElement("div", { className: "search__result-card__allotment__person" },
21899
- React.createElement(Icon, { name: "ui-men", width: 16, height: 16 }),
21900
- React.createElement("span", null, "2 p.")),
21901
- React.createElement("div", { className: "search__result-card__allotment__person" },
21902
- React.createElement(Icon, { name: "ui-women", width: 16, height: 16 }),
21903
- React.createElement("span", null, "3 p.")))))),
21904
- React.createElement("div", { className: "search__result-card__allotment__footer" },
21905
- React.createElement("div", { className: "search__result-card__allotment__price__wrapper" },
21906
- React.createElement("div", { className: "search__result-card__allotment__price" }, "\u20AC 1.250,00 p.p."),
21907
- React.createElement("div", { className: "search__result-card__allotment__price__info" }, "Gelieve \u20AC 450,00 zakgeld mee te nemen")),
21908
- React.createElement("button", { className: "cta cta--select" }, "Bekijk reis")))),
21909
- React.createElement("div", { className: "search__result-card" },
21910
- React.createElement("div", { className: "search__result-card__allotment" },
21911
- React.createElement("div", { className: "search__result-card__allotment__title__wrapper" },
21912
- React.createElement("h3", { className: "search__result-card__allotment__title" },
21913
- "Rondreis Thailand",
21914
- React.createElement("span", { className: "search__result-card__allotment__badge search__result-card__allotment__badge--secondary" },
21915
- React.createElement(Icon, { name: "ui-circle-half", width: 14, height: 14 }),
21916
- "BIJNA GAR")),
21917
- React.createElement("div", { className: "search__result-card__allotment__container" },
21918
- React.createElement("div", { className: "search__result-card__allotment__header" },
21919
- React.createElement("div", { className: "search__result-card__allotment__wrapper" },
21920
- React.createElement("div", { className: "search__result-card__allotment__date" },
21921
- React.createElement(Icon, { name: "ui-plane", height: 16 }),
21922
- React.createElement("div", { className: "search__result-card__allotment__date--from" }, "05-04-2026")),
21923
- React.createElement("div", { className: "search__result-card__allotment__info" },
21924
- React.createElement("span", null,
21925
- React.createElement(Icon, { name: "ui-calendar", height: 16 })),
21926
- ' ',
21927
- "8 dagen -",
21928
- ' ',
21929
- React.createElement("span", null,
21930
- React.createElement(Icon, { name: "ui-moon", height: 16 })),
21931
- "7 nachten"))),
21932
- React.createElement("div", { className: "search__result-card__allotment__info" },
21933
- React.createElement("a", { href: "#", type: "button", className: "search__result-card__allotment__info__group" }, "Group"),
21934
- React.createElement("div", { className: "search__result-card__allotment__persons" },
21935
- React.createElement("div", { className: "search__result-card__allotment__person" },
21936
- React.createElement(Icon, { name: "ui-men", width: 16, height: 16 }),
21937
- React.createElement("span", null, "2 p.")),
21938
- React.createElement("div", { className: "search__result-card__allotment__person" },
21939
- React.createElement(Icon, { name: "ui-women", width: 16, height: 16 }),
21940
- React.createElement("span", null, "3 p.")))))),
21941
- React.createElement("div", { className: "search__result-card__allotment__footer" },
21942
- React.createElement("div", { className: "search__result-card__allotment__price__wrapper" },
21943
- React.createElement("div", { className: "search__result-card__allotment__price" }, "\u20AC 1.250,00 p.p."),
21944
- React.createElement("div", { className: "search__result-card__allotment__price__info" }, "Gelieve \u20AC 450,00 zakgeld mee te nemen")),
21945
- React.createElement("button", { className: "cta cta--select" }, "Bekijk reis")))),
21946
- React.createElement("div", { className: "search__result-card" },
21947
- React.createElement("div", { className: "search__result-card__allotment" },
21948
- React.createElement("div", { className: "search__result-card__allotment__title__wrapper" },
21949
- React.createElement("h3", { className: "search__result-card__allotment__title" }, "Rondreis Timboektoe"),
21950
- React.createElement("div", { className: "search__result-card__allotment__container" },
21951
- React.createElement("div", { className: "search__result-card__allotment__header" },
21952
- React.createElement("div", { className: "search__result-card__allotment__wrapper" },
21953
- React.createElement("div", { className: "search__result-card__allotment__date" },
21954
- React.createElement(Icon, { name: "ui-plane", height: 16 }),
21955
- React.createElement("div", { className: "search__result-card__allotment__date--from" }, "05-04-2026")),
21956
- React.createElement("div", { className: "search__result-card__allotment__info" },
21957
- React.createElement("span", null,
21958
- React.createElement(Icon, { name: "ui-calendar", height: 16 })),
21959
- ' ',
21960
- "8 dagen -",
21961
- ' ',
21962
- React.createElement("span", null,
21963
- React.createElement(Icon, { name: "ui-moon", height: 16 })),
21964
- "7 nachten"))),
21965
- React.createElement("div", { className: "search__result-card__allotment__info" },
21966
- React.createElement("a", { href: "#", type: "button", className: "search__result-card__allotment__info__group" }, "Group"),
21967
- React.createElement("div", { className: "search__result-card__allotment__persons" },
21968
- React.createElement("div", { className: "search__result-card__allotment__person" },
21969
- React.createElement(Icon, { name: "ui-men", width: 16, height: 16 }),
21970
- React.createElement("span", null, "2 p.")),
21971
- React.createElement("div", { className: "search__result-card__allotment__person" },
21972
- React.createElement(Icon, { name: "ui-women", width: 16, height: 16 }),
21973
- React.createElement("span", null, "3 p.")))))),
21974
- React.createElement("div", { className: "search__result-card__allotment__footer" },
21975
- React.createElement("div", { className: "search__result-card__allotment__price__wrapper" },
21976
- React.createElement("div", { className: "search__result-card__allotment__price" }, "\u20AC 1.250,00 p.p."),
21977
- React.createElement("div", { className: "search__result-card__allotment__price__info" }, "Gelieve \u20AC 450,00 zakgeld mee te nemen")),
21978
- React.createElement("button", { className: "cta cta--select" }, "Bekijk reis"))))));
23112
+ translations.SRP.SELECT,
23113
+ " ",
23114
+ React.createElement("strong", null, translations.SRP.ACCOMMODATION)))),
23115
+ renderResults(results, context, cmsMap, activeTab, translations)));
21979
23116
  };
21980
23117
 
21981
23118
  var enrichFiltersWithResults = function (results, filters) {
@@ -21995,15 +23132,123 @@ var enrichFiltersWithResults = function (results, filters) {
21995
23132
  return filters;
21996
23133
  };
21997
23134
 
23135
+ var ticksToMinutes = function (ticks) { return Math.floor(ticks / 600000000); };
23136
+ var formatDuration = function (ticks) {
23137
+ var minutes = ticksToMinutes(ticks);
23138
+ var h = Math.floor(minutes / 60);
23139
+ var m = minutes % 60;
23140
+ return "".concat(h, "h ").concat(m, "m");
23141
+ };
23142
+ var FlightResults = function (_a) {
23143
+ var _b;
23144
+ var flights = _a.flights, isDeparture = _a.isDeparture;
23145
+ var context = useContext(SearchResultsConfigurationContext);
23146
+ var translations = getTranslations((_b = context === null || context === void 0 ? void 0 : context.languageCode) !== null && _b !== void 0 ? _b : 'en-GB');
23147
+ var dispatch = useDispatch();
23148
+ var _c = useState(null), activeDetailId = _c[0], setActiveDetailId = _c[1];
23149
+ var handleDetailClick = function (flightOptionId) {
23150
+ setActiveDetailId(function (prev) { return (prev === flightOptionId ? null : flightOptionId); });
23151
+ };
23152
+ var firstResult = flights === null || flights === void 0 ? void 0 : flights[0];
23153
+ var firstResultDate = (firstResult === null || firstResult === void 0 ? void 0 : firstResult.startDateTime) ? parseISO(firstResult.startDateTime) : null;
23154
+ return (React.createElement(React.Fragment, null,
23155
+ React.createElement("div", { className: "search__results__label" },
23156
+ React.createElement("div", { className: "search__results__label__date" }, firstResultDate && (React.createElement(React.Fragment, null,
23157
+ React.createElement("p", { className: "search__results__label__date-date" }, format$1(firstResultDate, 'd')),
23158
+ React.createElement("p", null, format$1(firstResultDate, 'MMM'))))),
23159
+ React.createElement("div", { className: "search__results__label__text" },
23160
+ React.createElement("h3", null,
23161
+ translations.SRP.SELECT,
23162
+ " ",
23163
+ React.createElement("strong", null, isDeparture ? translations.SRP.DEPARTURE : translations.SRP.RETURN)))),
23164
+ React.createElement("div", { className: "search__results__cards search__results__cards--extended" }, flights.map(function (flight, index) {
23165
+ var lines = flight.flightMetaData.flightLines;
23166
+ var firstLine = lines[0];
23167
+ var lastLine = lines[lines.length - 1];
23168
+ var stops = lines.length - 1;
23169
+ return (React.createElement("div", { className: "flight", key: "flight-".concat(flight.flightId, "-").concat(index) },
23170
+ React.createElement("div", { className: "flight__option" },
23171
+ React.createElement("div", { className: "flight__content" },
23172
+ React.createElement("div", { className: "flight__flights" },
23173
+ React.createElement("div", { className: "flight__flight" },
23174
+ React.createElement("div", { className: "flight__flight__header" },
23175
+ React.createElement("div", { className: "flight__status__container" }),
23176
+ React.createElement("div", { className: "flight__price" },
23177
+ React.createElement("span", { className: "price" },
23178
+ "\u20AC ",
23179
+ flight.price.toFixed(2)),
23180
+ 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')))),
23181
+ React.createElement("div", { className: "flight__flight" },
23182
+ React.createElement("div", { className: "flight__flight__container" },
23183
+ React.createElement("div", { className: "flight__flight__wrapper" },
23184
+ React.createElement("div", { className: "flight__logo__wrapper" },
23185
+ React.createElement("img", { src: "https://media.tidesoftware.be/media/shared/Airlines/".concat(firstLine.airlineCode, ".png?height=256"), alt: flight.airlineDescription, className: "flight__logo" }),
23186
+ React.createElement("span", null, flight.airlineDescription)),
23187
+ React.createElement("div", { className: "flight__info" },
23188
+ React.createElement("div", { className: "flight__info__times" },
23189
+ React.createElement("strong", null,
23190
+ firstLine.departureTime,
23191
+ " ",
23192
+ firstLine.departureAirport),
23193
+ React.createElement("p", null, format$1(parseISO(firstLine.departureDate), 'EEE dd MMM yyyy'))),
23194
+ React.createElement("div", { className: "flight__info__duration" },
23195
+ React.createElement("p", null, formatDuration(flight.flightMetaData.durationInTicks)),
23196
+ React.createElement("div", { className: "flight__info__duration__stops" }, stops > 0 && React.createElement("div", { className: "flight__info__duration__stop" })),
23197
+ React.createElement("span", null, stops === 0 ? translations.SRP.DIRECT : "".concat(stops, " ").concat(translations.SRP.STOP).concat(stops > 1 ? 's' : ''))),
23198
+ React.createElement("div", { className: "flight__info__times flight__info__times--arrival" },
23199
+ React.createElement("strong", null,
23200
+ lastLine.arrivalTime,
23201
+ " ",
23202
+ lastLine.arrivalAirport),
23203
+ React.createElement("p", null, format$1(parseISO(lastLine.arrivalDate), 'EEE dd MMM yyyy'))))),
23204
+ React.createElement("div", { className: "flight__detail__btn__wrapper" },
23205
+ React.createElement("div", { className: "flight__detail__btn ".concat(activeDetailId === flight.flightOptionId ? 'flight__detail__btn--active' : ''), onClick: function () { return handleDetailClick(flight.flightOptionId); } },
23206
+ React.createElement(Icon, { name: "ui-chevron", className: "flight__detail__btn__arrow", width: 16, height: 16 })))),
23207
+ React.createElement("div", { className: "flight__detail ".concat(activeDetailId === flight.flightOptionId ? 'flight__detail--active' : '') }, lines.map(function (line, index) {
23208
+ var nextLine = lines[index + 1];
23209
+ return (React.createElement(React.Fragment, { key: index },
23210
+ React.createElement("div", { className: "flight__info" },
23211
+ React.createElement("div", { className: "flight__info__times__wrapper" },
23212
+ React.createElement("div", { className: "flight__info__times" },
23213
+ React.createElement("p", null, line.departureTime),
23214
+ React.createElement("strong", null, line.departureAirport),
23215
+ React.createElement("p", null, format$1(parseISO(line.departureDate), 'EEE dd MMM yyyy'))),
23216
+ React.createElement(Icon, { name: "ui-plane-depart", width: 30, height: 20 })),
23217
+ React.createElement("div", { className: "flight__info__duration" },
23218
+ React.createElement("p", null, formatDuration(line.durationInTicks)),
23219
+ React.createElement("span", null,
23220
+ line.airline,
23221
+ " ",
23222
+ line.number)),
23223
+ React.createElement("div", { className: "flight__info__times__wrapper flight__info__times__wrapper--arrival" },
23224
+ React.createElement(Icon, { name: "ui-plane-arrive", width: 30, height: 20 }),
23225
+ React.createElement("div", { className: "flight__info__times flight__info__times--arrival" },
23226
+ React.createElement("p", null, line.arrivalTime),
23227
+ React.createElement("strong", null, line.arrivalAirport),
23228
+ React.createElement("p", null, format$1(parseISO(line.arrivalDate), 'EEE dd MMM yyyy'))))),
23229
+ nextLine && (React.createElement("div", { className: "flight__info" },
23230
+ React.createElement("div", { className: "flight__info__duration flight__info__duration--waittime" },
23231
+ React.createElement("div", { className: "flight__info__duration__stops flight__info__duration__stops--stoptime" },
23232
+ React.createElement(Icon, { name: "ui-clock", width: 24, height: 24 })),
23233
+ React.createElement("div", { className: "flight__info__duration__stoptime" },
23234
+ React.createElement("span", null, translations.SRP.STOP_TIME),
23235
+ React.createElement("strong", null, formatDuration(parseISO(nextLine.departureDate).getTime() - parseISO(line.arrivalDate).getTime()))))))));
23236
+ })))),
23237
+ React.createElement("div", { className: "flight__rate" })))));
23238
+ }))));
23239
+ };
23240
+
21998
23241
  var SearchResultsContainer = function () {
21999
- var _a, _b, _c;
23242
+ var _a, _b;
22000
23243
  var isMobile = useMediaQuery('(max-width: 1200px)');
22001
23244
  var dispatch = useDispatch();
22002
23245
  var context = useContext(SearchResultsConfigurationContext);
22003
- var _d = useSelector(function (state) { return state.searchResults; }), results = _d.results, isLoading = _d.isLoading, filters = _d.filters, sortKey = _d.sortKey, selectedHotelId = _d.selectedHotelId;
22004
- var _e = useState(0), searchTrigger = _e[0], setSearchTrigger = _e[1];
22005
- var _f = useState(false), initialFiltersSet = _f[0], setInitialFiltersSet = _f[1];
22006
- var _g = useState([]); _g[0]; var setInitialFilters = _g[1];
23246
+ var translations = getTranslations((_a = context === null || context === void 0 ? void 0 : context.languageCode) !== null && _a !== void 0 ? _a : 'en-GB');
23247
+ 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;
23248
+ var _d = useState(0), searchTrigger = _d[0], setSearchTrigger = _d[1];
23249
+ var _e = useState(false), initialFiltersSet = _e[0], setInitialFiltersSet = _e[1];
23250
+ var _f = useState([]); _f[0]; var setInitialFilters = _f[1];
23251
+ // seperate Search
22007
23252
  useEffect(function () {
22008
23253
  var runSearch = function () { return __awaiter(void 0, void 0, void 0, function () {
22009
23254
  var params, from, to, rooms, country, region, oord, city, hotel, tagId, destinationId, destinationIsCountry, destinationIsRegion, destinationIsOord, destinationIsLocation, searchRequest, config, packageSearchResults, enrichedFilters, err_1;
@@ -22121,17 +23366,19 @@ var SearchResultsContainer = function () {
22121
23366
  }); };
22122
23367
  runSearch();
22123
23368
  }, [location.search, searchTrigger]);
23369
+ // Seperate detailsCall
22124
23370
  useEffect(function () {
22125
23371
  var fetchPackageDetails = function () { return __awaiter(void 0, void 0, void 0, function () {
22126
- var config, selectedItem, params, rooms, requestRooms, detailsRequest, detailsResponse, err_2;
22127
- return __generator(this, function (_a) {
22128
- switch (_a.label) {
23372
+ var config, selectedItem, params, rooms, requestRooms, detailsRequest, detailsWLResponse, err_2;
23373
+ var _a, _b;
23374
+ return __generator(this, function (_c) {
23375
+ switch (_c.label) {
22129
23376
  case 0:
22130
23377
  if (!selectedHotelId || !context)
22131
23378
  return [2 /*return*/];
22132
- _a.label = 1;
23379
+ _c.label = 1;
22133
23380
  case 1:
22134
- _a.trys.push([1, 3, , 4]);
23381
+ _c.trys.push([1, 3, , 4]);
22135
23382
  config = {
22136
23383
  host: context.tideConnection.host,
22137
23384
  apiKey: context.tideConnection.apiKey
@@ -22161,13 +23408,15 @@ var SearchResultsContainer = function () {
22161
23408
  postNights: null
22162
23409
  }
22163
23410
  };
22164
- return [4 /*yield*/, build.details(config, detailsRequest)];
23411
+ return [4 /*yield*/, build.detailsWL(config, detailsRequest)];
22165
23412
  case 2:
22166
- detailsResponse = _a.sent();
22167
- console.log('Package details:', detailsResponse);
23413
+ detailsWLResponse = _c.sent();
23414
+ console.log('Details with entryLight:', detailsWLResponse);
23415
+ dispatch(setBookingPackageDetails({ details: (_a = detailsWLResponse === null || detailsWLResponse === void 0 ? void 0 : detailsWLResponse.payload) === null || _a === void 0 ? void 0 : _a.bookingPackage }));
23416
+ dispatch(setEntry({ entry: (_b = detailsWLResponse === null || detailsWLResponse === void 0 ? void 0 : detailsWLResponse.payload) === null || _b === void 0 ? void 0 : _b.entry }));
22168
23417
  return [3 /*break*/, 4];
22169
23418
  case 3:
22170
- err_2 = _a.sent();
23419
+ err_2 = _c.sent();
22171
23420
  console.error('Failed to fetch package details', err_2);
22172
23421
  return [3 /*break*/, 4];
22173
23422
  case 4: return [2 /*return*/];
@@ -22203,43 +23452,46 @@ var SearchResultsContainer = function () {
22203
23452
  });
22204
23453
  return requestRooms;
22205
23454
  };
22206
- var _h = useState(false), isMobileFiltersOpen = _h[0], setIsMobileFiltersOpen = _h[1];
23455
+ var _g = useState(false), filtersOpen = _g[0], setFiltersOpen = _g[1];
23456
+ var _h = useState(false), itineraryOpen = _h[0], setItineraryOpen = _h[1];
22207
23457
  var handleSortChange = function (newSortKey) {
22208
23458
  dispatch(setSortKey(newSortKey));
22209
23459
  };
22210
- var handleSetIsMobileFiltersOpen = function () {
22211
- setIsMobileFiltersOpen(!isMobileFiltersOpen);
22212
- };
22213
23460
  useEffect(function () {
22214
23461
  if (typeof document !== 'undefined') {
22215
- document.body.classList.toggle('has-overlay', isMobileFiltersOpen);
23462
+ document.body.classList.toggle('has-overlay', filtersOpen);
22216
23463
  }
22217
- }, [isMobileFiltersOpen]);
23464
+ }, [filtersOpen]);
22218
23465
  var sortingOptions = [
22219
- { key: 'price-asc', label: 'Price: Low to High' },
22220
- { key: 'price-desc', label: 'Price: High to Low' },
22221
- { key: 'departure-date', label: 'Departure Date' }
23466
+ { key: 'price-asc', label: translations.SRP.PRICE_ASC },
23467
+ { key: 'price-desc', label: translations.SRP.PRICE_DESC },
23468
+ { key: 'departure-date', label: translations.SRP.DEPARTURE_ASC }
22222
23469
  ];
22223
23470
  return (React.createElement("div", { id: "tide-booking", className: "search__bg" }, context && (React.createElement("div", { className: "search" },
22224
23471
  React.createElement("div", { className: "search__container" },
22225
- context.showFilters && (React.createElement(Filters, { filters: filters, isMobileFiltersOpen: isMobileFiltersOpen, handleSetIsMobileFiltersOpen: handleSetIsMobileFiltersOpen, handleApplyFilters: function () { return setSearchTrigger(function (prev) { return prev + 1; }); }, isLoading: isLoading })),
22226
- context.type === 'hotel-flight' && (React.createElement(Itinerary, { isMobileFiltersOpen: isMobileFiltersOpen, handleSetIsMobileFiltersOpen: handleSetIsMobileFiltersOpen, isLoading: isLoading })),
23472
+ 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 })),
23473
+ context.type === 'hotel-flight' && (React.createElement(Itinerary, { isOpen: itineraryOpen, handleSetIsOpen: function () { return setItineraryOpen(!itineraryOpen); }, isLoading: isLoading })),
22227
23474
  React.createElement("div", { className: "search__results" },
22228
23475
  isMobile && (React.createElement("div", { className: "search__result-row" },
22229
- React.createElement("div", { className: "cta cta--filter", onClick: function () { return setIsMobileFiltersOpen(true); } },
22230
- React.createElement(Icon, { name: "ui-filter", className: "mobile-filters-button__icon", height: 16 }), (_a = context.translations) === null || _a === void 0 ? void 0 :
22231
- _a.filters),
22232
- sortingOptions && sortingOptions.length > 0 && (React.createElement(ItemPicker, { items: sortingOptions, selection: sortKey || undefined, label: "Sort by", placeholder: "Sort by", classModifier: "travel-class-picker__items", onPick: handleSortChange })))),
23476
+ React.createElement("div", { className: "search__results__actions" },
23477
+ context.showFilters && (React.createElement("div", { className: "cta cta--filter", onClick: function () { return setFiltersOpen(true); } },
23478
+ React.createElement(Icon, { name: "ui-filter", className: "mobile-filters-button__icon", height: 16 }),
23479
+ translations.SRP.FILTERS)),
23480
+ React.createElement("div", { className: "cta cta--filter", onClick: function () { return setItineraryOpen(true); } },
23481
+ React.createElement(Icon, { name: "ui-calendar", className: "mobile-filters-button__icon", height: 16 }),
23482
+ translations.SRP.SHOW_ITINERARY)),
23483
+ 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 })))),
22233
23484
  React.createElement("div", { className: "search__result-row" },
22234
23485
  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,
22235
- " ", (_c = context.translations) === null || _c === void 0 ? void 0 :
22236
- _c.totalResultsLabel))),
23486
+ " ",
23487
+ translations.SRP.TOTAL_RESULTS_LABEL))),
22237
23488
  !isMobile && sortingOptions && sortingOptions.length > 0 && (React.createElement("div", { className: "search__result-row-filter" },
22238
- React.createElement(ItemPicker, { items: sortingOptions, selection: sortKey || undefined, label: "Sort by", placeholder: "Sort by", classModifier: "travel-class-picker__items", onPick: handleSortChange })))),
23489
+ React.createElement(ItemPicker, { items: sortingOptions, selection: sortKey || undefined, label: translations.SRP.SORTBY, placeholder: translations.SRP.SORTBY, classModifier: "travel-class-picker__items", onPick: handleSortChange })))),
22239
23490
  React.createElement("div", { className: "search__results__wrapper" },
22240
23491
  context.showTabViews && React.createElement(TabViews, null),
22241
- context.showRoundTripResults && React.createElement(RoundTripResults, null),
22242
- context.showHotelAccommodationResults && React.createElement(HotelAccommodationResults, { isLoading: isLoading, context: context }))))))));
23492
+ context.showFlightResults && (bookingPackageDetails === null || bookingPackageDetails === void 0 ? void 0 : bookingPackageDetails.outwardFlights) && (React.createElement(FlightResults, { flights: bookingPackageDetails.outwardFlights, isDeparture: true })),
23493
+ context.showHotelAccommodationResults && React.createElement(HotelAccommodationResults, { isLoading: isLoading, context: context }),
23494
+ context.showFlightResults && (bookingPackageDetails === null || bookingPackageDetails === void 0 ? void 0 : bookingPackageDetails.returnFlights) && (React.createElement(FlightResults, { flights: bookingPackageDetails.returnFlights, isDeparture: false })))))))));
22243
23495
  };
22244
23496
 
22245
23497
  var createSearchResultsStore = function () {