@qite/tide-booking-component 1.4.78 → 1.4.80
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/build-cjs/index.js +771 -473
- package/build/build-cjs/src/qsm/types.d.ts +2 -0
- package/build/build-cjs/src/search-results/store/search-results-slice.d.ts +10 -1
- package/build/build-cjs/src/search-results/types.d.ts +5 -4
- package/build/build-cjs/src/search-results/utils/search-results-utils.d.ts +9 -2
- package/build/build-esm/index.js +769 -438
- package/build/build-esm/src/qsm/types.d.ts +2 -0
- package/build/build-esm/src/search-results/store/search-results-slice.d.ts +10 -1
- package/build/build-esm/src/search-results/types.d.ts +5 -4
- package/build/build-esm/src/search-results/utils/search-results-utils.d.ts +9 -2
- package/package.json +2 -2
- package/src/booking-wizard/features/price-details/selectors.ts +1 -1
- package/src/content/features/content-page/content-page-self-contained.tsx +4 -4
- package/src/qsm/components/QSMContainer/qsm-container.tsx +9 -0
- package/src/search-results/components/hotel/hotel-accommodation-results.tsx +97 -99
- package/src/search-results/components/hotel/hotel-card.tsx +29 -7
- package/src/search-results/components/search-results-container/flight-search-results.tsx +2 -2
- package/src/search-results/components/search-results-container/search-results-container.tsx +191 -40
- package/src/search-results/features/flights/flight-search-results-self-contained.tsx +21 -2
- package/src/search-results/features/hotels/hotel-flight-search-results-self-contained.tsx +21 -2
- package/src/search-results/features/hotels/hotel-search-results-self-contained.tsx +21 -2
- package/src/search-results/features/roundtrips/roundtrip-search-results-self-contained.tsx +21 -2
- package/src/search-results/store/search-results-slice.ts +19 -1
- package/src/search-results/types.ts +5 -5
- package/src/search-results/utils/search-results-utils.ts +185 -2
- package/build/build-cjs/src/search-results/components/filters/utility.d.ts +0 -3
- package/build/build-esm/src/search-results/components/filters/utility.d.ts +0 -3
- package/src/search-results/components/filters/utility.tsx +0 -79
package/build/build-esm/index.js
CHANGED
|
@@ -59,7 +59,8 @@ import {
|
|
|
59
59
|
isEqual as isEqual$1,
|
|
60
60
|
groupBy,
|
|
61
61
|
minBy,
|
|
62
|
-
concat
|
|
62
|
+
concat,
|
|
63
|
+
flatMap
|
|
63
64
|
} from 'lodash';
|
|
64
65
|
import { arSA, da, de, enGB, es, fr, is, it, nl, nb, pl, pt, sv, ja, enUS } from 'date-fns/locale';
|
|
65
66
|
import { usePopper } from 'react-popper';
|
|
@@ -12748,44 +12749,44 @@ PERFORMANCE OF THIS SOFTWARE.
|
|
|
12748
12749
|
});
|
|
12749
12750
|
};
|
|
12750
12751
|
|
|
12751
|
-
var ENDPOINT$
|
|
12752
|
-
var ENDPOINT_AVAILABLE_FLIGHTS = ENDPOINT$
|
|
12753
|
-
var ENDPOINT_TRANSPORT_DATES = ENDPOINT$
|
|
12754
|
-
var ENDPOINT_PRICES = ENDPOINT$
|
|
12755
|
-
var ENDPOINT_AVAILABLE_COUNTRIES = ENDPOINT$
|
|
12756
|
-
var ENDPOINT_SEARCH = ENDPOINT$
|
|
12757
|
-
var ENDPOINT_SEARCH_WITH_ERROR_MAPPING = ENDPOINT$
|
|
12752
|
+
var ENDPOINT$8 = '/api/web/booking/v2';
|
|
12753
|
+
var ENDPOINT_AVAILABLE_FLIGHTS = ENDPOINT$8 + '/available-flights';
|
|
12754
|
+
var ENDPOINT_TRANSPORT_DATES = ENDPOINT$8 + '/transport-dates';
|
|
12755
|
+
var ENDPOINT_PRICES = ENDPOINT$8 + '/prices';
|
|
12756
|
+
var ENDPOINT_AVAILABLE_COUNTRIES = ENDPOINT$8 + '/available-countries';
|
|
12757
|
+
var ENDPOINT_SEARCH = ENDPOINT$8 + '/search';
|
|
12758
|
+
var ENDPOINT_SEARCH_WITH_ERROR_MAPPING = ENDPOINT$8 + '/search-with-error-mapping';
|
|
12758
12759
|
// const ENDPOINT_ELASTIC = `${ENDPOINT}/elastic`; // TODO
|
|
12759
|
-
var ENDPOINT_DETAILS = ENDPOINT$
|
|
12760
|
-
var ENDPOINT_DETAILS_WL = ENDPOINT$
|
|
12760
|
+
var ENDPOINT_DETAILS = ENDPOINT$8 + '/details';
|
|
12761
|
+
var ENDPOINT_DETAILS_WL = ENDPOINT$8 + '/details-wl';
|
|
12761
12762
|
var ENDPOINT_ENTRYLIGHT = function (code) {
|
|
12762
|
-
return ENDPOINT$
|
|
12763
|
+
return ENDPOINT$8 + '/entry-light/' + code;
|
|
12763
12764
|
};
|
|
12764
|
-
var ENDPOINT_VALIDATE_VOUCHER = ENDPOINT$
|
|
12765
|
+
var ENDPOINT_VALIDATE_VOUCHER = ENDPOINT$8 + '/validate-voucher';
|
|
12765
12766
|
var ENDPOINT_ALTERNATE_HOTELS = function (transactionId, optionId) {
|
|
12766
|
-
return ENDPOINT$
|
|
12767
|
+
return ENDPOINT$8 + '/details/' + transactionId + '/alternate-hotels/' + optionId;
|
|
12767
12768
|
};
|
|
12768
12769
|
var ENDPOINT_ALTERNATE_FLIGHTS = function (transactionId) {
|
|
12769
|
-
return ENDPOINT$
|
|
12770
|
+
return ENDPOINT$8 + '/details/' + transactionId + '/alternate-flights';
|
|
12770
12771
|
};
|
|
12771
|
-
var ENDPOINT_BOOKABLE_DATES = ENDPOINT$
|
|
12772
|
-
var ENDPOINT_PRICE_DETAILS = ENDPOINT$
|
|
12773
|
-
var ENDPOINT_BOOK = ENDPOINT$
|
|
12774
|
-
var ENDPOINT_UPDATE = ENDPOINT$
|
|
12775
|
-
var ENDPOINT_AGENTS = ENDPOINT$
|
|
12772
|
+
var ENDPOINT_BOOKABLE_DATES = ENDPOINT$8 + '/bookable-dates';
|
|
12773
|
+
var ENDPOINT_PRICE_DETAILS = ENDPOINT$8 + '/price-details';
|
|
12774
|
+
var ENDPOINT_BOOK = ENDPOINT$8 + '/book';
|
|
12775
|
+
var ENDPOINT_UPDATE = ENDPOINT$8 + '/update';
|
|
12776
|
+
var ENDPOINT_AGENTS = ENDPOINT$8 + '/agents';
|
|
12776
12777
|
var ENDPOINT_AVAILABLE_ALLOTMENTS = function (eventId, productCode) {
|
|
12777
|
-
return ENDPOINT$
|
|
12778
|
+
return ENDPOINT$8 + '/get-allotment-availability/' + eventId + '/' + productCode;
|
|
12778
12779
|
};
|
|
12779
|
-
var ENDPOINT_FLIGHT_POOL = ENDPOINT$
|
|
12780
|
-
var ENDPOINT_TOUR_CODES = ENDPOINT$
|
|
12780
|
+
var ENDPOINT_FLIGHT_POOL = ENDPOINT$8 + '/flight-pool';
|
|
12781
|
+
var ENDPOINT_TOUR_CODES = ENDPOINT$8 + '/tourcodes';
|
|
12781
12782
|
var ENDPOINT_CUSTOM_ENTRY_STATUS$1 = function (dossierNumber, customEntryStatusId) {
|
|
12782
|
-
return ENDPOINT$
|
|
12783
|
+
return ENDPOINT$8 + '/custom-entry-status/' + dossierNumber + '/' + customEntryStatusId;
|
|
12783
12784
|
};
|
|
12784
12785
|
var ENDPOINT_ENTRY_STATUS = function (dossierNumber, entryStatus) {
|
|
12785
|
-
return ENDPOINT$
|
|
12786
|
+
return ENDPOINT$8 + '/entry-status/' + dossierNumber + '/' + entryStatus;
|
|
12786
12787
|
};
|
|
12787
|
-
var ENDPOINT_ELASTIC = ENDPOINT$
|
|
12788
|
-
var ENDPOINT_FLIGHT_LINES = ENDPOINT$
|
|
12788
|
+
var ENDPOINT_ELASTIC = ENDPOINT$8 + '/elastic';
|
|
12789
|
+
var ENDPOINT_FLIGHT_LINES = ENDPOINT$8 + '/flightlines';
|
|
12789
12790
|
var availableFlights = function (config, request, signal) {
|
|
12790
12791
|
var url = '' + config.host + ENDPOINT_AVAILABLE_FLIGHTS;
|
|
12791
12792
|
var apiKey = config.apiKey;
|
|
@@ -12925,12 +12926,12 @@ PERFORMANCE OF THIS SOFTWARE.
|
|
|
12925
12926
|
return post(url, apiKey, body, config.token, signal, true);
|
|
12926
12927
|
};
|
|
12927
12928
|
|
|
12928
|
-
var ENDPOINT$
|
|
12929
|
-
var ENDPOINT_LOGIN = ENDPOINT$
|
|
12930
|
-
var ENDPOINT_LOGOUT = ENDPOINT$
|
|
12931
|
-
var ENDPOINT_CONFIRM = ENDPOINT$
|
|
12932
|
-
var ENDPOINT_FORGOT_PASSWORD = ENDPOINT$
|
|
12933
|
-
var ENDPOINT_RESET_PASSWORD = ENDPOINT$
|
|
12929
|
+
var ENDPOINT$7 = '/api/member';
|
|
12930
|
+
var ENDPOINT_LOGIN = ENDPOINT$7 + '/login';
|
|
12931
|
+
var ENDPOINT_LOGOUT = ENDPOINT$7 + '/logout';
|
|
12932
|
+
var ENDPOINT_CONFIRM = ENDPOINT$7 + '/confirm';
|
|
12933
|
+
var ENDPOINT_FORGOT_PASSWORD = ENDPOINT$7 + '/forgot-password';
|
|
12934
|
+
var ENDPOINT_RESET_PASSWORD = ENDPOINT$7 + '/reset-password';
|
|
12934
12935
|
var login = function (config, request, signal) {
|
|
12935
12936
|
var url = '' + config.host + ENDPOINT_LOGIN;
|
|
12936
12937
|
var apiKey = config.apiKey;
|
|
@@ -12962,8 +12963,8 @@ PERFORMANCE OF THIS SOFTWARE.
|
|
|
12962
12963
|
return post$1(url, apiKey, body, config.token, signal);
|
|
12963
12964
|
};
|
|
12964
12965
|
|
|
12965
|
-
var ENDPOINT$
|
|
12966
|
-
var ENDPOINT_CREATE_PAYMENTS = ENDPOINT$
|
|
12966
|
+
var ENDPOINT$6 = '/api/mollie';
|
|
12967
|
+
var ENDPOINT_CREATE_PAYMENTS = ENDPOINT$6 + '/create-payment';
|
|
12967
12968
|
/**
|
|
12968
12969
|
* api/mollie/create-payment
|
|
12969
12970
|
* @param request
|
|
@@ -12976,13 +12977,13 @@ PERFORMANCE OF THIS SOFTWARE.
|
|
|
12976
12977
|
return post(url, apiKey, body, config.token, signal);
|
|
12977
12978
|
};
|
|
12978
12979
|
|
|
12979
|
-
var ENDPOINT$
|
|
12980
|
-
var ENDPOINT_COUNTRIES = ENDPOINT$
|
|
12981
|
-
var ENDPOINT_REGIONS = ENDPOINT$
|
|
12982
|
-
var ENDPOINT_OORDS = ENDPOINT$
|
|
12983
|
-
var ENDPOINT_LOCATIONS$1 = ENDPOINT$
|
|
12980
|
+
var ENDPOINT$5 = '/api/web/search';
|
|
12981
|
+
var ENDPOINT_COUNTRIES = ENDPOINT$5 + '/countries';
|
|
12982
|
+
var ENDPOINT_REGIONS = ENDPOINT$5 + '/regions';
|
|
12983
|
+
var ENDPOINT_OORDS = ENDPOINT$5 + '/oords';
|
|
12984
|
+
var ENDPOINT_LOCATIONS$1 = ENDPOINT$5 + '/locations';
|
|
12984
12985
|
var ENDPOINT_PORTAL = function (portalId) {
|
|
12985
|
-
return ENDPOINT$
|
|
12986
|
+
return ENDPOINT$5 + '/portal/' + portalId;
|
|
12986
12987
|
};
|
|
12987
12988
|
var ENDPOINT_AIRPORT = '/api/web/entity/airport';
|
|
12988
12989
|
/**
|
|
@@ -13144,12 +13145,12 @@ PERFORMANCE OF THIS SOFTWARE.
|
|
|
13144
13145
|
return d instanceof Date && !isNaN(d.getTime());
|
|
13145
13146
|
};
|
|
13146
13147
|
|
|
13147
|
-
var ENDPOINT$
|
|
13148
|
-
var ENDPOINT_GET_PRINT_ACTIONS = ENDPOINT$
|
|
13149
|
-
var ENDPOINT_PRINT = ENDPOINT$
|
|
13150
|
-
var ENDPOINT_CUSTOM_ENTRY_STATUS = ENDPOINT$
|
|
13151
|
-
var ENDPOINT_ENUM_ENTRY_STATUS = ENDPOINT$
|
|
13152
|
-
var ENDPOINT_CHANGE_ENTRY_AGENT_SURCHARGE = ENDPOINT$
|
|
13148
|
+
var ENDPOINT$4 = '/api/web/agent';
|
|
13149
|
+
var ENDPOINT_GET_PRINT_ACTIONS = ENDPOINT$4 + '/print-action';
|
|
13150
|
+
var ENDPOINT_PRINT = ENDPOINT$4 + '/print-action';
|
|
13151
|
+
var ENDPOINT_CUSTOM_ENTRY_STATUS = ENDPOINT$4 + '/custom-entry-status';
|
|
13152
|
+
var ENDPOINT_ENUM_ENTRY_STATUS = ENDPOINT$4 + '/enum/entry-status';
|
|
13153
|
+
var ENDPOINT_CHANGE_ENTRY_AGENT_SURCHARGE = ENDPOINT$4 + '/entry/change-agent-surcharge';
|
|
13153
13154
|
/**
|
|
13154
13155
|
* api/web/agent/print-action/{print-action-group}
|
|
13155
13156
|
* @param config
|
|
@@ -13182,7 +13183,7 @@ PERFORMANCE OF THIS SOFTWARE.
|
|
|
13182
13183
|
return encodeURIComponent(key) + '=' + encodeURIComponent(params[key]);
|
|
13183
13184
|
})
|
|
13184
13185
|
.join('&');
|
|
13185
|
-
var url = '' + config.host + ENDPOINT$
|
|
13186
|
+
var url = '' + config.host + ENDPOINT$4 + '/entry/list?' + queryString;
|
|
13186
13187
|
var apiKey = config.apiKey;
|
|
13187
13188
|
return get(url, apiKey, config.token, signal, true);
|
|
13188
13189
|
};
|
|
@@ -13193,7 +13194,7 @@ PERFORMANCE OF THIS SOFTWARE.
|
|
|
13193
13194
|
return encodeURIComponent(key) + '=' + encodeURIComponent(params[key]);
|
|
13194
13195
|
})
|
|
13195
13196
|
.join('&');
|
|
13196
|
-
var url = '' + config.host + ENDPOINT$
|
|
13197
|
+
var url = '' + config.host + ENDPOINT$4 + '/v2/entry/list?' + queryString;
|
|
13197
13198
|
var apiKey = config.apiKey;
|
|
13198
13199
|
return get(url, apiKey, config.token, signal, true);
|
|
13199
13200
|
};
|
|
@@ -13204,12 +13205,12 @@ PERFORMANCE OF THIS SOFTWARE.
|
|
|
13204
13205
|
return encodeURIComponent(key) + '=' + encodeURIComponent(params[key]);
|
|
13205
13206
|
})
|
|
13206
13207
|
.join('&');
|
|
13207
|
-
var url = '' + config.host + ENDPOINT$
|
|
13208
|
+
var url = '' + config.host + ENDPOINT$4 + '/entry/total?' + queryString;
|
|
13208
13209
|
var apiKey = config.apiKey;
|
|
13209
13210
|
return get(url, apiKey, config.token, signal, true);
|
|
13210
13211
|
};
|
|
13211
13212
|
var getEntryDetailv2 = function (config, entryId, signal) {
|
|
13212
|
-
var url = '' + config.host + ENDPOINT$
|
|
13213
|
+
var url = '' + config.host + ENDPOINT$4 + '/v2/entry/detail/' + entryId;
|
|
13213
13214
|
var apiKey = config.apiKey;
|
|
13214
13215
|
return get(url, apiKey, config.token, signal, true);
|
|
13215
13216
|
};
|
|
@@ -13220,7 +13221,7 @@ PERFORMANCE OF THIS SOFTWARE.
|
|
|
13220
13221
|
return encodeURIComponent(key) + '=' + encodeURIComponent(params[key]);
|
|
13221
13222
|
})
|
|
13222
13223
|
.join('&');
|
|
13223
|
-
var url = '' + config.host + ENDPOINT$
|
|
13224
|
+
var url = '' + config.host + ENDPOINT$4 + '/invoice/list?' + queryString;
|
|
13224
13225
|
var apiKey = config.apiKey;
|
|
13225
13226
|
return get(url, apiKey, config.token, signal, true);
|
|
13226
13227
|
};
|
|
@@ -13247,25 +13248,25 @@ PERFORMANCE OF THIS SOFTWARE.
|
|
|
13247
13248
|
return encodeURIComponent(key) + '=' + encodeURIComponent(params[key]);
|
|
13248
13249
|
})
|
|
13249
13250
|
.join('&');
|
|
13250
|
-
var url = '' + config.host + ENDPOINT$
|
|
13251
|
+
var url = '' + config.host + ENDPOINT$4 + '/allotment/list?' + queryString;
|
|
13251
13252
|
var apiKey = config.apiKey;
|
|
13252
13253
|
return get(url, apiKey, config.token, signal, true);
|
|
13253
13254
|
};
|
|
13254
13255
|
var getAllotment = function (config, allotmentId, signal) {
|
|
13255
|
-
var url = '' + config.host + ENDPOINT$
|
|
13256
|
+
var url = '' + config.host + ENDPOINT$4 + '/allotment/' + allotmentId;
|
|
13256
13257
|
var apiKey = config.apiKey;
|
|
13257
13258
|
return get(url, apiKey, config.token, signal, true);
|
|
13258
13259
|
};
|
|
13259
13260
|
|
|
13260
|
-
var ENDPOINT$
|
|
13261
|
-
var ENDPOINT_CREATE_CRM_CONTACT = ENDPOINT$
|
|
13262
|
-
var ENDPOINT_CONTACT_FORM$1 = ENDPOINT$
|
|
13263
|
-
var ENDPOINT_CREATE_AFFILIATES = ENDPOINT$
|
|
13264
|
-
var ENDPOINT_TRANSLATION_DICTIONARY = ENDPOINT$
|
|
13265
|
-
var ENDPOINT_BOOKING_ACCOMMODATION = ENDPOINT$
|
|
13266
|
-
var ENDPOINT_LOCATIONS = ENDPOINT$
|
|
13261
|
+
var ENDPOINT$3 = '/api/web';
|
|
13262
|
+
var ENDPOINT_CREATE_CRM_CONTACT = ENDPOINT$3 + '/crmcontact';
|
|
13263
|
+
var ENDPOINT_CONTACT_FORM$1 = ENDPOINT$3 + '/contactform';
|
|
13264
|
+
var ENDPOINT_CREATE_AFFILIATES = ENDPOINT$3 + '/affiliates';
|
|
13265
|
+
var ENDPOINT_TRANSLATION_DICTIONARY = ENDPOINT$3 + '/translation-dictionary';
|
|
13266
|
+
var ENDPOINT_BOOKING_ACCOMMODATION = ENDPOINT$3 + '/booking-accommodation';
|
|
13267
|
+
var ENDPOINT_LOCATIONS = ENDPOINT$3 + '/entity/locations';
|
|
13267
13268
|
var ENDPOINT_WEBSITE_CONFIGURATION = function (portalId) {
|
|
13268
|
-
return ENDPOINT$
|
|
13269
|
+
return ENDPOINT$3 + '/website/' + portalId + '/configuration';
|
|
13269
13270
|
};
|
|
13270
13271
|
/**
|
|
13271
13272
|
* api/web/crmcontact
|
|
@@ -13330,9 +13331,9 @@ PERFORMANCE OF THIS SOFTWARE.
|
|
|
13330
13331
|
return get(url, apiKey, config.token, signal, true);
|
|
13331
13332
|
};
|
|
13332
13333
|
|
|
13333
|
-
var ENDPOINT$
|
|
13334
|
-
var ENDPOINT_CONTACT_FORM = ENDPOINT$
|
|
13335
|
-
var ENDPOINT_CONTACT_HAS_TAG = ENDPOINT$
|
|
13334
|
+
var ENDPOINT$2 = '/api/web/contact';
|
|
13335
|
+
var ENDPOINT_CONTACT_FORM = ENDPOINT$2 + '/contact-form';
|
|
13336
|
+
var ENDPOINT_CONTACT_HAS_TAG = ENDPOINT$2 + '/has-tag';
|
|
13336
13337
|
/**
|
|
13337
13338
|
* api/web/contact/contact-form
|
|
13338
13339
|
* Processes a contact form.
|
|
@@ -13354,8 +13355,8 @@ PERFORMANCE OF THIS SOFTWARE.
|
|
|
13354
13355
|
return post$1(url, apiKey, body, config.token, signal);
|
|
13355
13356
|
};
|
|
13356
13357
|
|
|
13357
|
-
var ENDPOINT = '/api/web/file';
|
|
13358
|
-
var ENDPOINT_FEED = ENDPOINT + '/feed';
|
|
13358
|
+
var ENDPOINT$1 = '/api/web/file';
|
|
13359
|
+
var ENDPOINT_FEED = ENDPOINT$1 + '/feed';
|
|
13359
13360
|
/**
|
|
13360
13361
|
* api/web/file/feed
|
|
13361
13362
|
* fetch a xml from blob feed.
|
|
@@ -13384,6 +13385,16 @@ PERFORMANCE OF THIS SOFTWARE.
|
|
|
13384
13385
|
return get$1(url, apiKey, config.token, signal);
|
|
13385
13386
|
};
|
|
13386
13387
|
|
|
13388
|
+
var ENDPOINT = '/api/web/packaging';
|
|
13389
|
+
var ENDPOINT_ACCOMMODATIONS = ENDPOINT + '/accommodations';
|
|
13390
|
+
// MANUAL PACKAGING SEARCH
|
|
13391
|
+
var searchPackagingAccommodations = function (config, request, signal) {
|
|
13392
|
+
var url = '' + config.host + ENDPOINT_ACCOMMODATIONS;
|
|
13393
|
+
var apiKey = config.apiKey;
|
|
13394
|
+
var body = JSON.stringify(request);
|
|
13395
|
+
return post(url, apiKey, body, config.token, signal, true);
|
|
13396
|
+
};
|
|
13397
|
+
|
|
13387
13398
|
exports.AllotmentType = AllotmentType;
|
|
13388
13399
|
exports.ContactForm = ContactForm;
|
|
13389
13400
|
exports.DataType = DataType;
|
|
@@ -13452,6 +13463,7 @@ PERFORMANCE OF THIS SOFTWARE.
|
|
|
13452
13463
|
exports.searchFlightPool = searchFlightPool;
|
|
13453
13464
|
exports.searchLocations = searchLocations;
|
|
13454
13465
|
exports.searchOords = searchOords;
|
|
13466
|
+
exports.searchPackagingAccommodations = searchPackagingAccommodations;
|
|
13455
13467
|
exports.searchRegions = searchRegions;
|
|
13456
13468
|
exports.searchWithErrorMapping = searchWithErrorMapping;
|
|
13457
13469
|
exports.setCustomEntryStatus = setCustomEntryStatus;
|
|
@@ -24364,7 +24376,7 @@ var aggregatePricePerPaxType = function (priceDetails, requestRooms) {
|
|
|
24364
24376
|
room.pax.forEach(function (pax) {
|
|
24365
24377
|
var paxType = 'ADULT';
|
|
24366
24378
|
if (typeof pax.age === 'number') {
|
|
24367
|
-
if (pax.age <= 11) {
|
|
24379
|
+
if (pax.age <= 11 && pax.age > 2) {
|
|
24368
24380
|
paxType = 'CHILD';
|
|
24369
24381
|
} else if (pax.age <= 2) {
|
|
24370
24382
|
paxType = 'INFANT';
|
|
@@ -30300,6 +30312,7 @@ var Footer = function (_a) {
|
|
|
30300
30312
|
|
|
30301
30313
|
var QSMConfigurationContext = React__default.createContext({
|
|
30302
30314
|
type: PortalQsmType.Accommodation,
|
|
30315
|
+
searchConfigurations: [],
|
|
30303
30316
|
askTravelers: false,
|
|
30304
30317
|
askNationality: false,
|
|
30305
30318
|
askTravelClass: false,
|
|
@@ -32907,6 +32920,7 @@ var TravelNationalityPicker = function () {
|
|
|
32907
32920
|
};
|
|
32908
32921
|
|
|
32909
32922
|
var QSMContainer = function () {
|
|
32923
|
+
var _a;
|
|
32910
32924
|
var dispatch = useDispatch();
|
|
32911
32925
|
var isMobile = useMediaQuery('(max-width: 768px)');
|
|
32912
32926
|
var qsmState = useSelector(function (state) {
|
|
@@ -32917,24 +32931,36 @@ var QSMContainer = function () {
|
|
|
32917
32931
|
fromDate = qsmState.fromDate,
|
|
32918
32932
|
toDate = qsmState.toDate,
|
|
32919
32933
|
tripType = qsmState.tripType;
|
|
32920
|
-
var
|
|
32921
|
-
askTravelers =
|
|
32922
|
-
askRooms =
|
|
32923
|
-
askNationality =
|
|
32924
|
-
askTravelClass =
|
|
32925
|
-
askTravelType =
|
|
32926
|
-
submitIcon =
|
|
32927
|
-
onSubmit =
|
|
32928
|
-
travelTypes =
|
|
32929
|
-
languageCode =
|
|
32930
|
-
departureAirport =
|
|
32931
|
-
destinationAirport =
|
|
32932
|
-
returnAirport =
|
|
32933
|
-
destination =
|
|
32934
|
-
allowOneWay =
|
|
32935
|
-
allowRoundtrip =
|
|
32936
|
-
allowOpenJaw =
|
|
32934
|
+
var _b = useContext(QSMConfigurationContext),
|
|
32935
|
+
askTravelers = _b.askTravelers,
|
|
32936
|
+
askRooms = _b.askRooms,
|
|
32937
|
+
askNationality = _b.askNationality,
|
|
32938
|
+
askTravelClass = _b.askTravelClass,
|
|
32939
|
+
askTravelType = _b.askTravelType,
|
|
32940
|
+
submitIcon = _b.submitIcon,
|
|
32941
|
+
onSubmit = _b.onSubmit,
|
|
32942
|
+
travelTypes = _b.travelTypes,
|
|
32943
|
+
languageCode = _b.languageCode,
|
|
32944
|
+
departureAirport = _b.departureAirport,
|
|
32945
|
+
destinationAirport = _b.destinationAirport,
|
|
32946
|
+
returnAirport = _b.returnAirport,
|
|
32947
|
+
destination = _b.destination,
|
|
32948
|
+
allowOneWay = _b.allowOneWay,
|
|
32949
|
+
allowRoundtrip = _b.allowRoundtrip,
|
|
32950
|
+
allowOpenJaw = _b.allowOpenJaw,
|
|
32951
|
+
searchConfigurations = _b.searchConfigurations;
|
|
32937
32952
|
var translations = getTranslations(languageCode !== null && languageCode !== void 0 ? languageCode : 'en-GB');
|
|
32953
|
+
useEffect(
|
|
32954
|
+
function () {
|
|
32955
|
+
var _a;
|
|
32956
|
+
var defaultQsmType = (_a = first(searchConfigurations)) === null || _a === void 0 ? void 0 : _a.qsmType;
|
|
32957
|
+
console.log('Available search configurations:', searchConfigurations);
|
|
32958
|
+
if (!defaultQsmType) return;
|
|
32959
|
+
console.log('set default qsmType:', defaultQsmType);
|
|
32960
|
+
handleQsmTypeChange(defaultQsmType);
|
|
32961
|
+
},
|
|
32962
|
+
[searchConfigurations]
|
|
32963
|
+
);
|
|
32938
32964
|
useEffect(
|
|
32939
32965
|
function () {
|
|
32940
32966
|
if (fromDate || toDate) return;
|
|
@@ -32968,12 +32994,36 @@ var QSMContainer = function () {
|
|
|
32968
32994
|
};
|
|
32969
32995
|
var handleQsmTypeChange = function (value) {
|
|
32970
32996
|
dispatch(setSelectedQsmType(value));
|
|
32971
|
-
var
|
|
32997
|
+
var now = new Date();
|
|
32998
|
+
// Default fallback
|
|
32999
|
+
var startDate = addMonths(now, 1);
|
|
32972
33000
|
var endDate = addDays(startDate, 7);
|
|
32973
33001
|
if (value === PortalQsmType.GroupTour) {
|
|
32974
|
-
startDate =
|
|
33002
|
+
startDate = now;
|
|
32975
33003
|
endDate = addYears(startDate, 1);
|
|
32976
33004
|
}
|
|
33005
|
+
var searchConfig = searchConfigurations.find(function (config) {
|
|
33006
|
+
return config.qsmType === value;
|
|
33007
|
+
});
|
|
33008
|
+
if (searchConfig) {
|
|
33009
|
+
var applyAmount = function (baseDate, type, amount) {
|
|
33010
|
+
if (!amount || type == null) return baseDate;
|
|
33011
|
+
switch (type) {
|
|
33012
|
+
case build.DateAmountType.days:
|
|
33013
|
+
return addDays(baseDate, amount);
|
|
33014
|
+
case build.DateAmountType.months:
|
|
33015
|
+
return addMonths(baseDate, amount);
|
|
33016
|
+
default:
|
|
33017
|
+
return baseDate;
|
|
33018
|
+
}
|
|
33019
|
+
};
|
|
33020
|
+
if (searchConfig.fromDateAmount) {
|
|
33021
|
+
startDate = applyAmount(now, searchConfig.fromDateAmountType, searchConfig.fromDateAmount);
|
|
33022
|
+
}
|
|
33023
|
+
if (searchConfig.toDateAmount) {
|
|
33024
|
+
endDate = applyAmount(startDate, searchConfig.toDateAmountType, searchConfig.toDateAmount);
|
|
33025
|
+
}
|
|
33026
|
+
}
|
|
32977
33027
|
handleDateChange({
|
|
32978
33028
|
fromDate: startDate,
|
|
32979
33029
|
toDate: endDate
|
|
@@ -33072,6 +33122,53 @@ var QSMContainer = function () {
|
|
|
33072
33122
|
},
|
|
33073
33123
|
[fromDate, toDate, departureAirport, returnAirport, allowOpenJaw]
|
|
33074
33124
|
);
|
|
33125
|
+
var qsmTypeMeta =
|
|
33126
|
+
((_a = {}),
|
|
33127
|
+
(_a[PortalQsmType.Multidestination] = {
|
|
33128
|
+
icon: 'ui-location',
|
|
33129
|
+
label: translations.QSM.MULTIDESTINATION
|
|
33130
|
+
}),
|
|
33131
|
+
(_a[PortalQsmType.Package] = {
|
|
33132
|
+
icon: 'ui-suitcase',
|
|
33133
|
+
label: translations.QSM.PACKAGES
|
|
33134
|
+
}),
|
|
33135
|
+
(_a[PortalQsmType.AccommodationAndFlight] = {
|
|
33136
|
+
icon: ['ui-backforward', 'ui-bed'],
|
|
33137
|
+
label: translations.QSM.TRANSPORT_HOTEL
|
|
33138
|
+
}),
|
|
33139
|
+
(_a[PortalQsmType.Accommodation] = {
|
|
33140
|
+
icon: 'ui-bed',
|
|
33141
|
+
label: translations.QSM.ACCOMMODATION
|
|
33142
|
+
}),
|
|
33143
|
+
(_a[PortalQsmType.Flight] = {
|
|
33144
|
+
icon: 'ui-flight',
|
|
33145
|
+
label: translations.QSM.TRANSPORTS
|
|
33146
|
+
}),
|
|
33147
|
+
(_a[PortalQsmType.GroupTour] = {
|
|
33148
|
+
icon: 'ui-group',
|
|
33149
|
+
label: translations.QSM.GROUP_TOUR
|
|
33150
|
+
}),
|
|
33151
|
+
(_a[PortalQsmType.RoundTrip] = {
|
|
33152
|
+
icon: 'ui-group',
|
|
33153
|
+
label: translations.QSM.ROUNDTRIP
|
|
33154
|
+
}),
|
|
33155
|
+
(_a[PortalQsmType.Ticket] = {
|
|
33156
|
+
icon: 'ui-ticket',
|
|
33157
|
+
label: translations.QSM.TICKET_ONLY
|
|
33158
|
+
}),
|
|
33159
|
+
(_a[PortalQsmType.Car] = {
|
|
33160
|
+
icon: 'ui-car',
|
|
33161
|
+
label: translations.QSM.RENT_A_CAR
|
|
33162
|
+
}),
|
|
33163
|
+
(_a[PortalQsmType.Transfer] = {
|
|
33164
|
+
icon: 'ui-backforward',
|
|
33165
|
+
label: translations.QSM.TRANSFERS
|
|
33166
|
+
}),
|
|
33167
|
+
(_a[PortalQsmType.Cruise] = {
|
|
33168
|
+
icon: 'ui-ship',
|
|
33169
|
+
label: translations.QSM.CRUISES
|
|
33170
|
+
}),
|
|
33171
|
+
_a);
|
|
33075
33172
|
return React__default.createElement(
|
|
33076
33173
|
'div',
|
|
33077
33174
|
{ className: 'qsm' },
|
|
@@ -33081,132 +33178,31 @@ var QSMContainer = function () {
|
|
|
33081
33178
|
React__default.createElement(
|
|
33082
33179
|
'div',
|
|
33083
33180
|
{ className: 'qsm__tabs' },
|
|
33084
|
-
|
|
33085
|
-
|
|
33086
|
-
|
|
33087
|
-
|
|
33088
|
-
|
|
33089
|
-
|
|
33090
|
-
|
|
33091
|
-
|
|
33092
|
-
|
|
33093
|
-
|
|
33094
|
-
|
|
33095
|
-
|
|
33096
|
-
|
|
33097
|
-
|
|
33098
|
-
|
|
33099
|
-
|
|
33100
|
-
|
|
33101
|
-
|
|
33102
|
-
|
|
33103
|
-
|
|
33104
|
-
|
|
33105
|
-
|
|
33106
|
-
|
|
33107
|
-
|
|
33108
|
-
|
|
33109
|
-
'button',
|
|
33110
|
-
{
|
|
33111
|
-
type: 'button',
|
|
33112
|
-
className: 'qsm__tab '.concat(qsmType == PortalQsmType.AccommodationAndFlight ? 'qsm__tab--active' : ''),
|
|
33113
|
-
onClick: function () {
|
|
33114
|
-
return handleQsmTypeChange(PortalQsmType.AccommodationAndFlight);
|
|
33115
|
-
}
|
|
33116
|
-
},
|
|
33117
|
-
React__default.createElement(
|
|
33118
|
-
'span',
|
|
33119
|
-
{ className: 'qsm__tab__icons' },
|
|
33120
|
-
React__default.createElement(Icon$2, { name: 'ui-backforward', height: 14 }),
|
|
33121
|
-
'+',
|
|
33122
|
-
React__default.createElement(Icon$2, { name: 'ui-bed', height: 14 })
|
|
33123
|
-
),
|
|
33124
|
-
translations.QSM.TRANSPORT_HOTEL
|
|
33125
|
-
),
|
|
33126
|
-
React__default.createElement(
|
|
33127
|
-
'button',
|
|
33128
|
-
{
|
|
33129
|
-
type: 'button',
|
|
33130
|
-
className: 'qsm__tab '.concat(qsmType == PortalQsmType.Accommodation ? 'qsm__tab--active' : ''),
|
|
33131
|
-
onClick: function () {
|
|
33132
|
-
return handleQsmTypeChange(PortalQsmType.Accommodation);
|
|
33133
|
-
}
|
|
33134
|
-
},
|
|
33135
|
-
React__default.createElement('span', { className: 'qsm__tab__icons' }, React__default.createElement(Icon$2, { name: 'ui-bed', height: 16 })),
|
|
33136
|
-
translations.QSM.ACCOMMODATION
|
|
33137
|
-
),
|
|
33138
|
-
React__default.createElement(
|
|
33139
|
-
'button',
|
|
33140
|
-
{
|
|
33141
|
-
type: 'button',
|
|
33142
|
-
className: 'qsm__tab '.concat(qsmType == PortalQsmType.Flight ? 'qsm__tab--active' : ''),
|
|
33143
|
-
onClick: function () {
|
|
33144
|
-
return handleQsmTypeChange(PortalQsmType.Flight);
|
|
33145
|
-
}
|
|
33146
|
-
},
|
|
33147
|
-
React__default.createElement('span', { className: 'qsm__tab__icons' }, React__default.createElement(Icon$2, { name: 'ui-flight', height: 16 })),
|
|
33148
|
-
translations.QSM.TRANSPORTS
|
|
33149
|
-
),
|
|
33150
|
-
React__default.createElement(
|
|
33151
|
-
'button',
|
|
33152
|
-
{
|
|
33153
|
-
type: 'button',
|
|
33154
|
-
className: 'qsm__tab '.concat(qsmType == PortalQsmType.GroupTour ? 'qsm__tab--active' : ''),
|
|
33155
|
-
onClick: function () {
|
|
33156
|
-
return handleQsmTypeChange(PortalQsmType.GroupTour);
|
|
33157
|
-
}
|
|
33158
|
-
},
|
|
33159
|
-
React__default.createElement('span', { className: 'qsm__tab__icons' }, React__default.createElement(Icon$2, { name: 'ui-group', height: 16 })),
|
|
33160
|
-
translations.QSM.GROUP_TOUR
|
|
33161
|
-
),
|
|
33162
|
-
React__default.createElement(
|
|
33163
|
-
'button',
|
|
33164
|
-
{
|
|
33165
|
-
type: 'button',
|
|
33166
|
-
className: 'qsm__tab '.concat(qsmType == PortalQsmType.Ticket ? 'qsm__tab--active' : ''),
|
|
33167
|
-
onClick: function () {
|
|
33168
|
-
return handleQsmTypeChange(PortalQsmType.Ticket);
|
|
33169
|
-
}
|
|
33170
|
-
},
|
|
33171
|
-
React__default.createElement('span', { className: 'qsm__tab__icons' }, React__default.createElement(Icon$2, { name: 'ui-ticket', height: 16 })),
|
|
33172
|
-
translations.QSM.TICKET_ONLY
|
|
33173
|
-
),
|
|
33174
|
-
React__default.createElement(
|
|
33175
|
-
'button',
|
|
33176
|
-
{
|
|
33177
|
-
type: 'button',
|
|
33178
|
-
className: 'qsm__tab '.concat(qsmType == PortalQsmType.Car ? 'qsm__tab--active' : ''),
|
|
33179
|
-
onClick: function () {
|
|
33180
|
-
return handleQsmTypeChange(PortalQsmType.Car);
|
|
33181
|
-
}
|
|
33182
|
-
},
|
|
33183
|
-
React__default.createElement('span', { className: 'qsm__tab__icons' }, React__default.createElement(Icon$2, { name: 'ui-car', height: 16 })),
|
|
33184
|
-
translations.QSM.RENT_A_CAR
|
|
33185
|
-
),
|
|
33186
|
-
React__default.createElement(
|
|
33187
|
-
'button',
|
|
33188
|
-
{
|
|
33189
|
-
type: 'button',
|
|
33190
|
-
className: 'qsm__tab '.concat(qsmType == PortalQsmType.Transfer ? 'qsm__tab--active' : ''),
|
|
33191
|
-
onClick: function () {
|
|
33192
|
-
return handleQsmTypeChange(PortalQsmType.Transfer);
|
|
33193
|
-
}
|
|
33194
|
-
},
|
|
33195
|
-
React__default.createElement('span', { className: 'qsm__tab__icons' }, React__default.createElement(Icon$2, { name: 'ui-backforward', height: 16 })),
|
|
33196
|
-
translations.QSM.TRANSFERS
|
|
33197
|
-
),
|
|
33198
|
-
React__default.createElement(
|
|
33199
|
-
'button',
|
|
33200
|
-
{
|
|
33201
|
-
type: 'button',
|
|
33202
|
-
className: 'qsm__tab '.concat(qsmType == PortalQsmType.Cruise ? 'qsm__tab--active' : ''),
|
|
33203
|
-
onClick: function () {
|
|
33204
|
-
return handleQsmTypeChange(PortalQsmType.Cruise);
|
|
33205
|
-
}
|
|
33206
|
-
},
|
|
33207
|
-
React__default.createElement('span', { className: 'qsm__tab__icons' }, React__default.createElement(Icon$2, { name: 'ui-ship', height: 16 })),
|
|
33208
|
-
translations.QSM.CRUISES
|
|
33209
|
-
)
|
|
33181
|
+
searchConfigurations.map(function (searchConfig, index) {
|
|
33182
|
+
var meta = qsmTypeMeta[searchConfig.qsmType];
|
|
33183
|
+
if (!meta) return null; // safety guard
|
|
33184
|
+
return React__default.createElement(
|
|
33185
|
+
'button',
|
|
33186
|
+
{
|
|
33187
|
+
key: 'qsm-type-'.concat(index),
|
|
33188
|
+
type: 'button',
|
|
33189
|
+
className: 'qsm__tab '.concat(qsmType === searchConfig.qsmType ? 'qsm__tab--active' : ''),
|
|
33190
|
+
onClick: function () {
|
|
33191
|
+
return handleQsmTypeChange(searchConfig.qsmType);
|
|
33192
|
+
}
|
|
33193
|
+
},
|
|
33194
|
+
React__default.createElement(
|
|
33195
|
+
'span',
|
|
33196
|
+
{ className: 'qsm__tab__icons' },
|
|
33197
|
+
Array.isArray(meta.icon)
|
|
33198
|
+
? meta.icon.map(function (icon, i) {
|
|
33199
|
+
return React__default.createElement(Icon$2, { key: i, name: icon, height: 14 });
|
|
33200
|
+
})
|
|
33201
|
+
: React__default.createElement(Icon$2, { name: meta.icon, height: 16 })
|
|
33202
|
+
),
|
|
33203
|
+
meta.label
|
|
33204
|
+
);
|
|
33205
|
+
})
|
|
33210
33206
|
),
|
|
33211
33207
|
React__default.createElement(
|
|
33212
33208
|
'div',
|
|
@@ -33397,6 +33393,9 @@ var initialState$1 = {
|
|
|
33397
33393
|
results: [],
|
|
33398
33394
|
filteredResults: [],
|
|
33399
33395
|
selectedSearchResultId: null,
|
|
33396
|
+
packagingAccoResults: [],
|
|
33397
|
+
filteredPackagingAccoResults: [],
|
|
33398
|
+
selectedPackagingAccoResultCode: null,
|
|
33400
33399
|
selectedFlight: null,
|
|
33401
33400
|
selectedFlightDetails: null,
|
|
33402
33401
|
bookingPackageDetails: null,
|
|
@@ -33421,6 +33420,15 @@ var searchResultsSlice = createSlice({
|
|
|
33421
33420
|
setSelectedSearchResult: function (state, action) {
|
|
33422
33421
|
state.selectedSearchResultId = action.payload;
|
|
33423
33422
|
},
|
|
33423
|
+
setPackagingAccoResults: function (state, action) {
|
|
33424
|
+
state.packagingAccoResults = action.payload;
|
|
33425
|
+
},
|
|
33426
|
+
setFilteredPackagingAccoResults: function (state, action) {
|
|
33427
|
+
state.filteredPackagingAccoResults = action.payload;
|
|
33428
|
+
},
|
|
33429
|
+
setSelectedPackagingAccoResult: function (state, action) {
|
|
33430
|
+
state.selectedPackagingAccoResultCode = action.payload;
|
|
33431
|
+
},
|
|
33424
33432
|
setSelectedFlight: function (state, action) {
|
|
33425
33433
|
state.selectedFlight = action.payload;
|
|
33426
33434
|
},
|
|
@@ -33487,6 +33495,9 @@ var searchResultsSlice = createSlice({
|
|
|
33487
33495
|
var setResults = ((_a = searchResultsSlice.actions), _a.setResults),
|
|
33488
33496
|
setFilteredResults = _a.setFilteredResults,
|
|
33489
33497
|
setSelectedSearchResult = _a.setSelectedSearchResult,
|
|
33498
|
+
setPackagingAccoResults = _a.setPackagingAccoResults,
|
|
33499
|
+
setFilteredPackagingAccoResults = _a.setFilteredPackagingAccoResults,
|
|
33500
|
+
setSelectedPackagingAccoResult = _a.setSelectedPackagingAccoResult,
|
|
33490
33501
|
setSelectedFlight = _a.setSelectedFlight,
|
|
33491
33502
|
setSelectedFlightDetails = _a.setSelectedFlightDetails,
|
|
33492
33503
|
setBookingPackageDetails = _a.setBookingPackageDetails,
|
|
@@ -37845,15 +37856,48 @@ var FlyIn = function (_a) {
|
|
|
37845
37856
|
};
|
|
37846
37857
|
|
|
37847
37858
|
var HotelCard = function (_a) {
|
|
37859
|
+
var _b;
|
|
37848
37860
|
var result = _a.result,
|
|
37849
37861
|
translations = _a.translations;
|
|
37850
37862
|
var dispatch = useDispatch();
|
|
37851
|
-
var
|
|
37863
|
+
var selectedPackagingAccoResultCode = useSelector(function (state) {
|
|
37852
37864
|
return state.searchResults;
|
|
37853
|
-
}).
|
|
37854
|
-
var handleChange = function (
|
|
37855
|
-
dispatch(
|
|
37865
|
+
}).selectedPackagingAccoResultCode;
|
|
37866
|
+
var handleChange = function (productCode) {
|
|
37867
|
+
dispatch(setSelectedPackagingAccoResult(productCode));
|
|
37856
37868
|
};
|
|
37869
|
+
if ((_b = result.contents) === null || _b === void 0 ? void 0 : _b.length) {
|
|
37870
|
+
return React__default.createElement(
|
|
37871
|
+
'div',
|
|
37872
|
+
{ className: 'search__result-card__wrapper' },
|
|
37873
|
+
React__default.createElement('div', {
|
|
37874
|
+
dangerouslySetInnerHTML: {
|
|
37875
|
+
__html: result.contents
|
|
37876
|
+
}
|
|
37877
|
+
}),
|
|
37878
|
+
React__default.createElement(
|
|
37879
|
+
'div',
|
|
37880
|
+
{ className: 'search__result-card__footer' },
|
|
37881
|
+
React__default.createElement(
|
|
37882
|
+
'button',
|
|
37883
|
+
{
|
|
37884
|
+
type: 'button',
|
|
37885
|
+
className: 'cta '.concat(selectedPackagingAccoResultCode === result.code ? 'cta--selected' : 'cta--select'),
|
|
37886
|
+
onClick: function () {
|
|
37887
|
+
return handleChange(result.code);
|
|
37888
|
+
}
|
|
37889
|
+
},
|
|
37890
|
+
selectedPackagingAccoResultCode === result.code
|
|
37891
|
+
? translations === null || translations === void 0
|
|
37892
|
+
? void 0
|
|
37893
|
+
: translations.SHARED.SELECTED
|
|
37894
|
+
: translations === null || translations === void 0
|
|
37895
|
+
? void 0
|
|
37896
|
+
: translations.SHARED.SELECT
|
|
37897
|
+
)
|
|
37898
|
+
)
|
|
37899
|
+
);
|
|
37900
|
+
}
|
|
37857
37901
|
return React__default.createElement(
|
|
37858
37902
|
'div',
|
|
37859
37903
|
{
|
|
@@ -37937,12 +37981,12 @@ var HotelCard = function (_a) {
|
|
|
37937
37981
|
'button',
|
|
37938
37982
|
{
|
|
37939
37983
|
type: 'button',
|
|
37940
|
-
className: 'cta '.concat(
|
|
37984
|
+
className: 'cta '.concat(selectedPackagingAccoResultCode === result.code ? 'cta--selected' : 'cta--select'),
|
|
37941
37985
|
onClick: function () {
|
|
37942
|
-
return handleChange(result.
|
|
37986
|
+
return handleChange(result.code);
|
|
37943
37987
|
}
|
|
37944
37988
|
},
|
|
37945
|
-
|
|
37989
|
+
selectedPackagingAccoResultCode === result.code
|
|
37946
37990
|
? translations === null || translations === void 0
|
|
37947
37991
|
? void 0
|
|
37948
37992
|
: translations.SHARED.SELECTED
|
|
@@ -37957,7 +38001,7 @@ var HotelCard = function (_a) {
|
|
|
37957
38001
|
|
|
37958
38002
|
var renderResults = function (results, context, cmsMap, activeTab, translations) {
|
|
37959
38003
|
var renderedResults = results.map(function (result, index) {
|
|
37960
|
-
var cmsItem = cmsMap.get(result.
|
|
38004
|
+
var cmsItem = cmsMap.get(result.code);
|
|
37961
38005
|
var mappedResult = mapSearchResult(result, cmsItem, context.languageCode, translations);
|
|
37962
38006
|
if (
|
|
37963
38007
|
(context === null || context === void 0 ? void 0 : context.showCustomCards) &&
|
|
@@ -37978,10 +38022,10 @@ var renderResults = function (results, context, cmsMap, activeTab, translations)
|
|
|
37978
38022
|
);
|
|
37979
38023
|
};
|
|
37980
38024
|
var mapSearchResult = function (searchResult, cmsItem, languageCode, translations) {
|
|
37981
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
38025
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
|
|
37982
38026
|
return {
|
|
37983
38027
|
type: 'hotel',
|
|
37984
|
-
|
|
38028
|
+
code: searchResult.code,
|
|
37985
38029
|
title:
|
|
37986
38030
|
((_b = (_a = cmsItem === null || cmsItem === void 0 ? void 0 : cmsItem.content) === null || _a === void 0 ? void 0 : _a.general) === null || _b === void 0
|
|
37987
38031
|
? void 0
|
|
@@ -38005,14 +38049,31 @@ var mapSearchResult = function (searchResult, cmsItem, languageCode, translation
|
|
|
38005
38049
|
price: formatPrice(searchResult.price, searchResult.currencyCode, languageCode),
|
|
38006
38050
|
ctaText: translations === null || translations === void 0 ? void 0 : translations.SRP.VIEW_DETAILS,
|
|
38007
38051
|
days: ''
|
|
38008
|
-
.concat(calculateNights(searchResult.
|
|
38052
|
+
.concat(calculateNights(new Date(searchResult.fromDate), new Date(searchResult.toDate)), ' ')
|
|
38009
38053
|
.concat(translations === null || translations === void 0 ? void 0 : translations.SRP.NIGHTS),
|
|
38010
|
-
accommodation:
|
|
38011
|
-
|
|
38054
|
+
accommodation:
|
|
38055
|
+
((_l =
|
|
38056
|
+
(_k = (_j = first(searchResult.rooms)) === null || _j === void 0 ? void 0 : _j.options) === null || _k === void 0
|
|
38057
|
+
? void 0
|
|
38058
|
+
: _k.find(function (x) {
|
|
38059
|
+
return x.isSelected;
|
|
38060
|
+
})) === null || _l === void 0
|
|
38061
|
+
? void 0
|
|
38062
|
+
: _l.accommodationName) || '',
|
|
38063
|
+
regime:
|
|
38064
|
+
((_p =
|
|
38065
|
+
(_o = (_m = first(searchResult.rooms)) === null || _m === void 0 ? void 0 : _m.options) === null || _o === void 0
|
|
38066
|
+
? void 0
|
|
38067
|
+
: _o.find(function (x) {
|
|
38068
|
+
return x.isSelected;
|
|
38069
|
+
})) === null || _p === void 0
|
|
38070
|
+
? void 0
|
|
38071
|
+
: _p.regimeName) || '',
|
|
38012
38072
|
stars:
|
|
38013
|
-
(
|
|
38073
|
+
(_r = (_q = cmsItem === null || cmsItem === void 0 ? void 0 : cmsItem.content) === null || _q === void 0 ? void 0 : _q.general) === null || _r === void 0
|
|
38014
38074
|
? void 0
|
|
38015
|
-
:
|
|
38075
|
+
: _r.stars,
|
|
38076
|
+
contents: searchResult.contents
|
|
38016
38077
|
};
|
|
38017
38078
|
};
|
|
38018
38079
|
var HotelAccommodationResults = function (_a) {
|
|
@@ -38022,9 +38083,6 @@ var HotelAccommodationResults = function (_a) {
|
|
|
38022
38083
|
if (!context) {
|
|
38023
38084
|
return;
|
|
38024
38085
|
}
|
|
38025
|
-
if (context.showMockup) {
|
|
38026
|
-
return showMocukups(context);
|
|
38027
|
-
}
|
|
38028
38086
|
var translations = getTranslations((_b = context === null || context === void 0 ? void 0 : context.languageCode) !== null && _b !== void 0 ? _b : 'en-GB');
|
|
38029
38087
|
if (isLoading) {
|
|
38030
38088
|
return React__default.createElement(
|
|
@@ -38038,9 +38096,9 @@ var HotelAccommodationResults = function (_a) {
|
|
|
38038
38096
|
var _d = useSelector(function (state) {
|
|
38039
38097
|
return state.searchResults;
|
|
38040
38098
|
}),
|
|
38041
|
-
|
|
38099
|
+
filteredPackagingAccoResults = _d.filteredPackagingAccoResults,
|
|
38042
38100
|
activeTab = _d.activeTab;
|
|
38043
|
-
if (!
|
|
38101
|
+
if (!filteredPackagingAccoResults.length) {
|
|
38044
38102
|
return React__default.createElement('div', { className: 'no-results' }, translations.SRP.NO_RESULTS);
|
|
38045
38103
|
}
|
|
38046
38104
|
var cmsMap = React__default.useMemo(
|
|
@@ -38051,20 +38109,20 @@ var HotelAccommodationResults = function (_a) {
|
|
|
38051
38109
|
? void 0
|
|
38052
38110
|
: _a.forEach(function (item) {
|
|
38053
38111
|
var _a, _b, _c;
|
|
38054
|
-
var
|
|
38112
|
+
var code =
|
|
38055
38113
|
(_c =
|
|
38056
38114
|
(_b = (_a = item === null || item === void 0 ? void 0 : item.content) === null || _a === void 0 ? void 0 : _a.general) === null || _b === void 0
|
|
38057
38115
|
? void 0
|
|
38058
38116
|
: _b.product) === null || _c === void 0
|
|
38059
38117
|
? void 0
|
|
38060
|
-
: _c.
|
|
38061
|
-
if (
|
|
38118
|
+
: _c.code;
|
|
38119
|
+
if (code) map.set(code, item);
|
|
38062
38120
|
});
|
|
38063
38121
|
return map;
|
|
38064
38122
|
},
|
|
38065
38123
|
[context.cmsHotelData]
|
|
38066
38124
|
);
|
|
38067
|
-
var firstResult =
|
|
38125
|
+
var firstResult = filteredPackagingAccoResults === null || filteredPackagingAccoResults === void 0 ? void 0 : filteredPackagingAccoResults[0];
|
|
38068
38126
|
var firstResultDay = (firstResult === null || firstResult === void 0 ? void 0 : firstResult.fromDate) ? format$1(parseISO(firstResult.fromDate), 'd') : null;
|
|
38069
38127
|
var firstResultMonth = (firstResult === null || firstResult === void 0 ? void 0 : firstResult.fromDate)
|
|
38070
38128
|
? format$1(parseISO(firstResult.fromDate), 'MMM')
|
|
@@ -38087,90 +38145,87 @@ var HotelAccommodationResults = function (_a) {
|
|
|
38087
38145
|
React__default.createElement('h3', null, translations.SRP.SELECT, ' ', React__default.createElement('strong', null, translations.SRP.ACCOMMODATION))
|
|
38088
38146
|
)
|
|
38089
38147
|
),
|
|
38090
|
-
renderResults(
|
|
38148
|
+
renderResults(filteredPackagingAccoResults, context, cmsMap, activeTab, translations)
|
|
38091
38149
|
);
|
|
38092
38150
|
};
|
|
38093
|
-
|
|
38094
|
-
|
|
38095
|
-
|
|
38096
|
-
|
|
38097
|
-
|
|
38098
|
-
|
|
38099
|
-
|
|
38100
|
-
|
|
38101
|
-
|
|
38102
|
-
|
|
38103
|
-
|
|
38104
|
-
|
|
38105
|
-
|
|
38106
|
-
|
|
38107
|
-
|
|
38108
|
-
|
|
38109
|
-
|
|
38110
|
-
|
|
38111
|
-
|
|
38112
|
-
|
|
38113
|
-
|
|
38114
|
-
|
|
38115
|
-
|
|
38116
|
-
|
|
38117
|
-
|
|
38118
|
-
|
|
38119
|
-
|
|
38120
|
-
|
|
38121
|
-
|
|
38122
|
-
|
|
38123
|
-
|
|
38124
|
-
|
|
38125
|
-
|
|
38126
|
-
|
|
38127
|
-
|
|
38128
|
-
|
|
38129
|
-
|
|
38130
|
-
|
|
38131
|
-
|
|
38132
|
-
|
|
38133
|
-
|
|
38134
|
-
|
|
38135
|
-
|
|
38136
|
-
|
|
38137
|
-
|
|
38138
|
-
|
|
38139
|
-
|
|
38140
|
-
|
|
38141
|
-
|
|
38142
|
-
|
|
38143
|
-
|
|
38144
|
-
|
|
38145
|
-
|
|
38146
|
-
|
|
38147
|
-
|
|
38148
|
-
|
|
38149
|
-
|
|
38150
|
-
|
|
38151
|
-
|
|
38152
|
-
|
|
38153
|
-
|
|
38154
|
-
|
|
38155
|
-
|
|
38156
|
-
|
|
38157
|
-
};
|
|
38158
|
-
|
|
38159
|
-
|
|
38160
|
-
|
|
38161
|
-
|
|
38162
|
-
|
|
38163
|
-
|
|
38164
|
-
|
|
38165
|
-
|
|
38166
|
-
|
|
38167
|
-
|
|
38168
|
-
|
|
38169
|
-
|
|
38170
|
-
|
|
38171
|
-
});
|
|
38172
|
-
return React__default.createElement('div', { className: 'search__results__cards' }, renderedResults);
|
|
38173
|
-
};
|
|
38151
|
+
// const showMocukups = (context: any) => {
|
|
38152
|
+
// const mockedHotelResults = [
|
|
38153
|
+
// {
|
|
38154
|
+
// type: 'hotel',
|
|
38155
|
+
// id: 2,
|
|
38156
|
+
// title: 'HTFSWILLCARL',
|
|
38157
|
+
// image: 'https://images.unsplash.com/photo-1573790387438-4da905039392?q=80&w=1925&auto=format&fit=crop',
|
|
38158
|
+
// description: '2 persoons kamer',
|
|
38159
|
+
// location: 'Tenerif, Spanje',
|
|
38160
|
+
// price: '$2244',
|
|
38161
|
+
// ctaText: 'Bekijk details',
|
|
38162
|
+
// days: '7 nights',
|
|
38163
|
+
// flightInfo: null,
|
|
38164
|
+
// accommodation: 'Hotel XYZ',
|
|
38165
|
+
// regime: 'All-inclusive',
|
|
38166
|
+
// stars: 5
|
|
38167
|
+
// } as HotelResult,
|
|
38168
|
+
// {
|
|
38169
|
+
// type: 'hotel',
|
|
38170
|
+
// id: 3,
|
|
38171
|
+
// title: 'HTFSSOFTROCK',
|
|
38172
|
+
// image: 'https://images.unsplash.com/photo-1573790387438-4da905039392?q=80&w=1925&auto=format&fit=crop',
|
|
38173
|
+
// description: '3 persoons kamer',
|
|
38174
|
+
// location: 'Tenerif, Spanje',
|
|
38175
|
+
// price: '$2244',
|
|
38176
|
+
// ctaText: 'Bekijk details',
|
|
38177
|
+
// days: '7 nights',
|
|
38178
|
+
// flightInfo: null,
|
|
38179
|
+
// accommodation: 'Hotel ABC',
|
|
38180
|
+
// regime: 'Half-board',
|
|
38181
|
+
// stars: 4
|
|
38182
|
+
// } as HotelResult,
|
|
38183
|
+
// {
|
|
38184
|
+
// type: 'hotel',
|
|
38185
|
+
// id: 4,
|
|
38186
|
+
// title: 'HTFSROYGAR',
|
|
38187
|
+
// image: 'https://images.unsplash.com/photo-1573790387438-4da905039392?q=80&w=1925&auto=format&fit=crop',
|
|
38188
|
+
// description: '4 persoons kamer',
|
|
38189
|
+
// location: 'Tenerif, Spanje',
|
|
38190
|
+
// price: '$2496',
|
|
38191
|
+
// ctaText: 'Bekijk details',
|
|
38192
|
+
// days: '7 nights',
|
|
38193
|
+
// flightInfo: null,
|
|
38194
|
+
// accommodation: 'Hotel DEF',
|
|
38195
|
+
// regime: 'Full-board',
|
|
38196
|
+
// stars: 5
|
|
38197
|
+
// } as HotelResult,
|
|
38198
|
+
// {
|
|
38199
|
+
// type: 'hotel',
|
|
38200
|
+
// id: 5,
|
|
38201
|
+
// title: 'HTFSCONBEL',
|
|
38202
|
+
// image: 'https://images.unsplash.com/photo-1573790387438-4da905039392?q=80&w=1925&auto=format&fit=crop',
|
|
38203
|
+
// description: '5 persoons kamer',
|
|
38204
|
+
// location: 'Tenerif, Spanje',
|
|
38205
|
+
// price: '$6784.8',
|
|
38206
|
+
// ctaText: 'Bekijk details',
|
|
38207
|
+
// days: '7 nights',
|
|
38208
|
+
// flightInfo: null,
|
|
38209
|
+
// accommodation: 'Hotel GHI',
|
|
38210
|
+
// regime: 'All-inclusive',
|
|
38211
|
+
// stars: 5
|
|
38212
|
+
// } as HotelResult
|
|
38213
|
+
// ] as HotelResult[];
|
|
38214
|
+
// return <>{renderMockupResults(mockedHotelResults, context)}</>;
|
|
38215
|
+
// };
|
|
38216
|
+
// const renderMockupResults = (results: any[], context: any) => {
|
|
38217
|
+
// const renderedResults = results.map((result, index) => {
|
|
38218
|
+
// if (context?.showCustomCards && context?.customCardRenderer) {
|
|
38219
|
+
// return (
|
|
38220
|
+
// <div key={`${result.id}-${index}`} className="search__result-card">
|
|
38221
|
+
// {context.customCardRenderer(result)}
|
|
38222
|
+
// </div>
|
|
38223
|
+
// );
|
|
38224
|
+
// }
|
|
38225
|
+
// return <HotelCard key={`${result.id}-${index}`} result={result} />;
|
|
38226
|
+
// });
|
|
38227
|
+
// return <div className="search__results__cards">{renderedResults}</div>;
|
|
38228
|
+
// };
|
|
38174
38229
|
|
|
38175
38230
|
var RoundTripResults = function () {
|
|
38176
38231
|
return React__default.createElement(
|
|
@@ -38418,91 +38473,6 @@ var RoundTripResults = function () {
|
|
|
38418
38473
|
);
|
|
38419
38474
|
};
|
|
38420
38475
|
|
|
38421
|
-
var enrichFiltersWithResults = function (results, filters, tags) {
|
|
38422
|
-
if (!results || results.length === 0 || !filters) {
|
|
38423
|
-
return filters !== null && filters !== void 0 ? filters : [];
|
|
38424
|
-
}
|
|
38425
|
-
return filters.map(function (filter) {
|
|
38426
|
-
var updatedFilter = __assign({}, filter);
|
|
38427
|
-
if (filter.property === 'price' && (filter.min == null || filter.max == null)) {
|
|
38428
|
-
var prices = results
|
|
38429
|
-
.map(function (r) {
|
|
38430
|
-
var _a;
|
|
38431
|
-
return (_a = r.price) !== null && _a !== void 0 ? _a : 0;
|
|
38432
|
-
})
|
|
38433
|
-
.filter(function (p) {
|
|
38434
|
-
return p > 0;
|
|
38435
|
-
});
|
|
38436
|
-
if (prices.length > 0) {
|
|
38437
|
-
updatedFilter.min = Math.floor(Math.min.apply(Math, prices));
|
|
38438
|
-
updatedFilter.max = Math.ceil(Math.max.apply(Math, prices));
|
|
38439
|
-
}
|
|
38440
|
-
}
|
|
38441
|
-
if (filter.property === 'accommodation') {
|
|
38442
|
-
var map_1 = new Map();
|
|
38443
|
-
results.forEach(function (r) {
|
|
38444
|
-
if (r.accommodationCode) {
|
|
38445
|
-
map_1.set(r.accommodationCode, {
|
|
38446
|
-
name: r.accommodationName,
|
|
38447
|
-
code: r.accommodationCode
|
|
38448
|
-
});
|
|
38449
|
-
}
|
|
38450
|
-
});
|
|
38451
|
-
updatedFilter.options = Array.from(map_1.values()).map(function (accommodation) {
|
|
38452
|
-
var _a;
|
|
38453
|
-
return {
|
|
38454
|
-
label: (_a = accommodation.name) !== null && _a !== void 0 ? _a : accommodation.code,
|
|
38455
|
-
value: accommodation.code,
|
|
38456
|
-
isChecked: false
|
|
38457
|
-
};
|
|
38458
|
-
});
|
|
38459
|
-
}
|
|
38460
|
-
if (filter.property === 'regime') {
|
|
38461
|
-
var map_2 = new Map();
|
|
38462
|
-
results.forEach(function (r) {
|
|
38463
|
-
if (r.regimeCode) {
|
|
38464
|
-
map_2.set(r.regimeCode, {
|
|
38465
|
-
name: r.regimeName,
|
|
38466
|
-
code: r.regimeCode
|
|
38467
|
-
});
|
|
38468
|
-
}
|
|
38469
|
-
});
|
|
38470
|
-
updatedFilter.options = Array.from(map_2.values()).map(function (regime) {
|
|
38471
|
-
var _a;
|
|
38472
|
-
return {
|
|
38473
|
-
label: (_a = regime.name) !== null && _a !== void 0 ? _a : regime.code,
|
|
38474
|
-
value: regime.code,
|
|
38475
|
-
isChecked: false
|
|
38476
|
-
};
|
|
38477
|
-
});
|
|
38478
|
-
}
|
|
38479
|
-
if (filter.property === 'theme') {
|
|
38480
|
-
var map_3 = new Map();
|
|
38481
|
-
results.forEach(function (r) {
|
|
38482
|
-
var _a;
|
|
38483
|
-
(_a = r.tagIds) === null || _a === void 0
|
|
38484
|
-
? void 0
|
|
38485
|
-
: _a.forEach(function (tagId) {
|
|
38486
|
-
var tag = tags.find(function (t) {
|
|
38487
|
-
return t.id === tagId;
|
|
38488
|
-
});
|
|
38489
|
-
if (tag && tag.id != null && tag.name != null) {
|
|
38490
|
-
map_3.set(tag.id, { name: tag.name, id: tag.id });
|
|
38491
|
-
}
|
|
38492
|
-
});
|
|
38493
|
-
});
|
|
38494
|
-
updatedFilter.options = Array.from(map_3.values()).map(function (theme) {
|
|
38495
|
-
return {
|
|
38496
|
-
label: theme.name,
|
|
38497
|
-
value: theme.id,
|
|
38498
|
-
isChecked: false
|
|
38499
|
-
};
|
|
38500
|
-
});
|
|
38501
|
-
}
|
|
38502
|
-
return updatedFilter;
|
|
38503
|
-
});
|
|
38504
|
-
};
|
|
38505
|
-
|
|
38506
38476
|
var ticksToMinutes = function (ticks) {
|
|
38507
38477
|
return Math.floor(ticks / 600000000);
|
|
38508
38478
|
};
|
|
@@ -40664,7 +40634,7 @@ var FlightResultsContainer = function (_a) {
|
|
|
40664
40634
|
useEffect(
|
|
40665
40635
|
function () {
|
|
40666
40636
|
if (!(context === null || context === void 0 ? void 0 : context.showMockup)) {
|
|
40667
|
-
if ((context === null || context === void 0 ? void 0 : context.
|
|
40637
|
+
if ((context === null || context === void 0 ? void 0 : context.searchConfiguration.qsmType) === PortalQsmType.Flight && isHubReady) {
|
|
40668
40638
|
onFlightSearch();
|
|
40669
40639
|
}
|
|
40670
40640
|
}
|
|
@@ -40804,7 +40774,7 @@ var FlightResultsContainer = function (_a) {
|
|
|
40804
40774
|
'div',
|
|
40805
40775
|
{ className: 'search__results__wrapper' },
|
|
40806
40776
|
flightsLoading && React__default.createElement(Spinner, null),
|
|
40807
|
-
(context === null || context === void 0 ? void 0 : context.
|
|
40777
|
+
(context === null || context === void 0 ? void 0 : context.searchConfiguration.qsmType) == PortalQsmType.Flight &&
|
|
40808
40778
|
(context === null || context === void 0 ? void 0 : context.showFlightAccommodationResults) &&
|
|
40809
40779
|
results &&
|
|
40810
40780
|
results.length > 0 &&
|
|
@@ -41217,6 +41187,165 @@ var GroupTourResults = function (_a) {
|
|
|
41217
41187
|
);
|
|
41218
41188
|
};
|
|
41219
41189
|
|
|
41190
|
+
var enrichFiltersWithResults = function (results, filters, tags) {
|
|
41191
|
+
if (!results || results.length === 0 || !filters) {
|
|
41192
|
+
return filters !== null && filters !== void 0 ? filters : [];
|
|
41193
|
+
}
|
|
41194
|
+
return filters.map(function (filter) {
|
|
41195
|
+
var updatedFilter = __assign({}, filter);
|
|
41196
|
+
if (filter.property === 'price' && (filter.min == null || filter.max == null)) {
|
|
41197
|
+
var prices = results
|
|
41198
|
+
.map(function (r) {
|
|
41199
|
+
var _a;
|
|
41200
|
+
return (_a = r.price) !== null && _a !== void 0 ? _a : 0;
|
|
41201
|
+
})
|
|
41202
|
+
.filter(function (p) {
|
|
41203
|
+
return p > 0;
|
|
41204
|
+
});
|
|
41205
|
+
if (prices.length > 0) {
|
|
41206
|
+
updatedFilter.min = Math.floor(Math.min.apply(Math, prices));
|
|
41207
|
+
updatedFilter.max = Math.ceil(Math.max.apply(Math, prices));
|
|
41208
|
+
}
|
|
41209
|
+
}
|
|
41210
|
+
if (filter.property === 'accommodation') {
|
|
41211
|
+
var map_1 = new Map();
|
|
41212
|
+
results.forEach(function (r) {
|
|
41213
|
+
if (r.accommodationCode) {
|
|
41214
|
+
map_1.set(r.accommodationCode, {
|
|
41215
|
+
name: r.accommodationName,
|
|
41216
|
+
code: r.accommodationCode
|
|
41217
|
+
});
|
|
41218
|
+
}
|
|
41219
|
+
});
|
|
41220
|
+
updatedFilter.options = Array.from(map_1.values()).map(function (accommodation) {
|
|
41221
|
+
var _a;
|
|
41222
|
+
return {
|
|
41223
|
+
label: (_a = accommodation.name) !== null && _a !== void 0 ? _a : accommodation.code,
|
|
41224
|
+
value: accommodation.code,
|
|
41225
|
+
isChecked: false
|
|
41226
|
+
};
|
|
41227
|
+
});
|
|
41228
|
+
}
|
|
41229
|
+
if (filter.property === 'regime') {
|
|
41230
|
+
var map_2 = new Map();
|
|
41231
|
+
results.forEach(function (r) {
|
|
41232
|
+
if (r.regimeCode) {
|
|
41233
|
+
map_2.set(r.regimeCode, {
|
|
41234
|
+
name: r.regimeName,
|
|
41235
|
+
code: r.regimeCode
|
|
41236
|
+
});
|
|
41237
|
+
}
|
|
41238
|
+
});
|
|
41239
|
+
updatedFilter.options = Array.from(map_2.values()).map(function (regime) {
|
|
41240
|
+
var _a;
|
|
41241
|
+
return {
|
|
41242
|
+
label: (_a = regime.name) !== null && _a !== void 0 ? _a : regime.code,
|
|
41243
|
+
value: regime.code,
|
|
41244
|
+
isChecked: false
|
|
41245
|
+
};
|
|
41246
|
+
});
|
|
41247
|
+
}
|
|
41248
|
+
if (filter.property === 'theme') {
|
|
41249
|
+
var map_3 = new Map();
|
|
41250
|
+
results.forEach(function (r) {
|
|
41251
|
+
var _a;
|
|
41252
|
+
(_a = r.tagIds) === null || _a === void 0
|
|
41253
|
+
? void 0
|
|
41254
|
+
: _a.forEach(function (tagId) {
|
|
41255
|
+
var tag = tags.find(function (t) {
|
|
41256
|
+
return t.id === tagId;
|
|
41257
|
+
});
|
|
41258
|
+
if (tag && tag.id != null && tag.name != null) {
|
|
41259
|
+
map_3.set(tag.id, { name: tag.name, id: tag.id });
|
|
41260
|
+
}
|
|
41261
|
+
});
|
|
41262
|
+
});
|
|
41263
|
+
updatedFilter.options = Array.from(map_3.values()).map(function (theme) {
|
|
41264
|
+
return {
|
|
41265
|
+
label: theme.name,
|
|
41266
|
+
value: theme.id,
|
|
41267
|
+
isChecked: false
|
|
41268
|
+
};
|
|
41269
|
+
});
|
|
41270
|
+
}
|
|
41271
|
+
return updatedFilter;
|
|
41272
|
+
});
|
|
41273
|
+
};
|
|
41274
|
+
var enrichFiltersWithPackageAccoResults = function (results, filters, tags) {
|
|
41275
|
+
if (!results || results.length === 0 || !filters) {
|
|
41276
|
+
return filters !== null && filters !== void 0 ? filters : [];
|
|
41277
|
+
}
|
|
41278
|
+
return filters.map(function (filter) {
|
|
41279
|
+
var updatedFilter = __assign({}, filter);
|
|
41280
|
+
if (filter.property === 'price' && (filter.min == null || filter.max == null)) {
|
|
41281
|
+
var prices = results
|
|
41282
|
+
.map(function (r) {
|
|
41283
|
+
var _a;
|
|
41284
|
+
return (_a = r.price) !== null && _a !== void 0 ? _a : 0;
|
|
41285
|
+
})
|
|
41286
|
+
.filter(function (p) {
|
|
41287
|
+
return p > 0;
|
|
41288
|
+
});
|
|
41289
|
+
if (prices.length > 0) {
|
|
41290
|
+
updatedFilter.min = Math.floor(Math.min.apply(Math, prices));
|
|
41291
|
+
updatedFilter.max = Math.ceil(Math.max.apply(Math, prices));
|
|
41292
|
+
}
|
|
41293
|
+
}
|
|
41294
|
+
if (filter.property === 'accommodation') {
|
|
41295
|
+
var map_4 = new Map();
|
|
41296
|
+
results.forEach(function (r) {
|
|
41297
|
+
var rooms = flatMap(r.rooms);
|
|
41298
|
+
if (rooms) {
|
|
41299
|
+
rooms.map(function (room) {
|
|
41300
|
+
room.options.map(function (option) {
|
|
41301
|
+
if (option.accommodationCode) {
|
|
41302
|
+
map_4.set(option.accommodationCode, {
|
|
41303
|
+
name: option.accommodationName,
|
|
41304
|
+
code: option.accommodationCode
|
|
41305
|
+
});
|
|
41306
|
+
}
|
|
41307
|
+
});
|
|
41308
|
+
});
|
|
41309
|
+
}
|
|
41310
|
+
});
|
|
41311
|
+
updatedFilter.options = Array.from(map_4.values()).map(function (accommodation) {
|
|
41312
|
+
var _a;
|
|
41313
|
+
return {
|
|
41314
|
+
label: (_a = accommodation.name) !== null && _a !== void 0 ? _a : accommodation.code,
|
|
41315
|
+
value: accommodation.code,
|
|
41316
|
+
isChecked: false
|
|
41317
|
+
};
|
|
41318
|
+
});
|
|
41319
|
+
}
|
|
41320
|
+
if (filter.property === 'regime') {
|
|
41321
|
+
var map_5 = new Map();
|
|
41322
|
+
results.forEach(function (r) {
|
|
41323
|
+
var rooms = flatMap(r.rooms);
|
|
41324
|
+
if (rooms) {
|
|
41325
|
+
rooms.map(function (room) {
|
|
41326
|
+
room.options.map(function (option) {
|
|
41327
|
+
if (option.regimeCode) {
|
|
41328
|
+
map_5.set(option.regimeCode, {
|
|
41329
|
+
name: option.regimeName,
|
|
41330
|
+
code: option.regimeCode
|
|
41331
|
+
});
|
|
41332
|
+
}
|
|
41333
|
+
});
|
|
41334
|
+
});
|
|
41335
|
+
}
|
|
41336
|
+
});
|
|
41337
|
+
updatedFilter.options = Array.from(map_5.values()).map(function (regime) {
|
|
41338
|
+
var _a;
|
|
41339
|
+
return {
|
|
41340
|
+
label: (_a = regime.name) !== null && _a !== void 0 ? _a : regime.code,
|
|
41341
|
+
value: regime.code,
|
|
41342
|
+
isChecked: false
|
|
41343
|
+
};
|
|
41344
|
+
});
|
|
41345
|
+
}
|
|
41346
|
+
return updatedFilter;
|
|
41347
|
+
});
|
|
41348
|
+
};
|
|
41220
41349
|
var applyFilters = function (results, filters) {
|
|
41221
41350
|
return results.filter(function (r) {
|
|
41222
41351
|
return filters.every(function (filter) {
|
|
@@ -41282,6 +41411,61 @@ var applyFilters = function (results, filters) {
|
|
|
41282
41411
|
});
|
|
41283
41412
|
});
|
|
41284
41413
|
};
|
|
41414
|
+
var applyFiltersToPackageAccoResults = function (results, filters) {
|
|
41415
|
+
return results.filter(function (r) {
|
|
41416
|
+
return filters.every(function (filter) {
|
|
41417
|
+
var _a, _b;
|
|
41418
|
+
if (!filter.isFrontendFilter) return true;
|
|
41419
|
+
// ACCOMMODATION
|
|
41420
|
+
if (filter.property === 'accommodation') {
|
|
41421
|
+
var selected_2 =
|
|
41422
|
+
(_a = filter.options) === null || _a === void 0
|
|
41423
|
+
? void 0
|
|
41424
|
+
: _a
|
|
41425
|
+
.filter(function (o) {
|
|
41426
|
+
return o.isChecked;
|
|
41427
|
+
})
|
|
41428
|
+
.map(function (o) {
|
|
41429
|
+
return o.value;
|
|
41430
|
+
});
|
|
41431
|
+
if (!selected_2 || selected_2.length === 0) return true;
|
|
41432
|
+
var roomOptions = r.rooms.flatMap(function (room) {
|
|
41433
|
+
return room.options;
|
|
41434
|
+
});
|
|
41435
|
+
return roomOptions.some(function (option) {
|
|
41436
|
+
return selected_2.includes(option.accommodationCode);
|
|
41437
|
+
});
|
|
41438
|
+
}
|
|
41439
|
+
// REGIME
|
|
41440
|
+
if (filter.property === 'regime') {
|
|
41441
|
+
var selected_3 =
|
|
41442
|
+
(_b = filter.options) === null || _b === void 0
|
|
41443
|
+
? void 0
|
|
41444
|
+
: _b
|
|
41445
|
+
.filter(function (o) {
|
|
41446
|
+
return o.isChecked;
|
|
41447
|
+
})
|
|
41448
|
+
.map(function (o) {
|
|
41449
|
+
return o.value;
|
|
41450
|
+
});
|
|
41451
|
+
if (!selected_3 || selected_3.length === 0) return true;
|
|
41452
|
+
var roomOptions = r.rooms.flatMap(function (room) {
|
|
41453
|
+
return room.options;
|
|
41454
|
+
});
|
|
41455
|
+
return roomOptions.some(function (option) {
|
|
41456
|
+
return selected_3.includes(option.regimeCode);
|
|
41457
|
+
});
|
|
41458
|
+
}
|
|
41459
|
+
// PRICE
|
|
41460
|
+
if (filter.property === 'price') {
|
|
41461
|
+
if (filter.selectedMin != null && r.price < filter.selectedMin) return false;
|
|
41462
|
+
if (filter.selectedMax != null && r.price > filter.selectedMax) return false;
|
|
41463
|
+
return true;
|
|
41464
|
+
}
|
|
41465
|
+
return true;
|
|
41466
|
+
});
|
|
41467
|
+
});
|
|
41468
|
+
};
|
|
41285
41469
|
|
|
41286
41470
|
var SearchResultsContainer = function () {
|
|
41287
41471
|
var _a;
|
|
@@ -41379,11 +41563,11 @@ var SearchResultsContainer = function () {
|
|
|
41379
41563
|
payload: {
|
|
41380
41564
|
catalogueIds: (_a = context.tideConnection.catalogueIds) !== null && _a !== void 0 ? _a : [],
|
|
41381
41565
|
serviceType:
|
|
41382
|
-
context.
|
|
41566
|
+
context.searchConfiguration.qsmType === PortalQsmType.Accommodation || context.searchConfiguration.qsmType === PortalQsmType.AccommodationAndFlight
|
|
41383
41567
|
? 3
|
|
41384
|
-
: context.
|
|
41568
|
+
: context.searchConfiguration.qsmType === PortalQsmType.Flight
|
|
41385
41569
|
? 7
|
|
41386
|
-
: context.
|
|
41570
|
+
: context.searchConfiguration.qsmType === PortalQsmType.RoundTrip
|
|
41387
41571
|
? 1
|
|
41388
41572
|
: 0,
|
|
41389
41573
|
searchType: 0,
|
|
@@ -41453,14 +41637,14 @@ var SearchResultsContainer = function () {
|
|
|
41453
41637
|
payload: {
|
|
41454
41638
|
catalogueIds: (_a = context.tideConnection.catalogueIds) !== null && _a !== void 0 ? _a : [],
|
|
41455
41639
|
serviceType:
|
|
41456
|
-
context.
|
|
41640
|
+
context.searchConfiguration.qsmType === PortalQsmType.Accommodation || context.searchConfiguration.qsmType === PortalQsmType.AccommodationAndFlight
|
|
41457
41641
|
? 3
|
|
41458
|
-
: context.
|
|
41642
|
+
: context.searchConfiguration.qsmType === PortalQsmType.Flight
|
|
41459
41643
|
? 7
|
|
41460
|
-
: context.
|
|
41644
|
+
: context.searchConfiguration.qsmType === PortalQsmType.RoundTrip
|
|
41461
41645
|
? 1
|
|
41462
41646
|
: undefined,
|
|
41463
|
-
searchType: context.
|
|
41647
|
+
searchType: context.searchConfiguration.qsmType === PortalQsmType.GroupTour ? 1 : 0,
|
|
41464
41648
|
destination: {
|
|
41465
41649
|
id: Number(destinationId),
|
|
41466
41650
|
isCountry: destinationIsCountry,
|
|
@@ -41473,7 +41657,7 @@ var SearchResultsContainer = function () {
|
|
|
41473
41657
|
toDate: to,
|
|
41474
41658
|
earliestFromOffset: 0,
|
|
41475
41659
|
latestToOffset: 0,
|
|
41476
|
-
includeFlights: context.
|
|
41660
|
+
includeFlights: context.searchConfiguration.qsmType === PortalQsmType.AccommodationAndFlight ? true : false,
|
|
41477
41661
|
// regimeCodes:
|
|
41478
41662
|
// filters
|
|
41479
41663
|
// .find((f) => f.property === 'regime')
|
|
@@ -41481,7 +41665,7 @@ var SearchResultsContainer = function () {
|
|
|
41481
41665
|
// .flatMap((o) => o.value.toString()) || [],
|
|
41482
41666
|
// minPrice: filters.find((f) => f.property === 'price')?.selectedMin,
|
|
41483
41667
|
// maxPrice: filters.find((f) => f.property === 'price')?.selectedMax,
|
|
41484
|
-
useExactDates: (context === null || context === void 0 ? void 0 : context.
|
|
41668
|
+
useExactDates: (context === null || context === void 0 ? void 0 : context.searchConfiguration.qsmType) === PortalQsmType.GroupTour ? false : true,
|
|
41485
41669
|
onlyCachedResults: false,
|
|
41486
41670
|
includeAllAllotments: true,
|
|
41487
41671
|
productIds: hotel ? [hotel] : [],
|
|
@@ -41547,6 +41731,96 @@ var SearchResultsContainer = function () {
|
|
|
41547
41731
|
});
|
|
41548
41732
|
return requestRooms;
|
|
41549
41733
|
};
|
|
41734
|
+
var buildPackagingAccommodationRequestFromQueryParams = function (params) {
|
|
41735
|
+
var _a, _b;
|
|
41736
|
+
var from = getDateFromParams(params, 'fromDate');
|
|
41737
|
+
var to = getDateFromParams(params, 'toDate');
|
|
41738
|
+
var rooms = getRoomsFromParams(params, 'rooms');
|
|
41739
|
+
var country = getNumberFromParams(params, 'country');
|
|
41740
|
+
var region = getNumberFromParams(params, 'region');
|
|
41741
|
+
var oord = getNumberFromParams(params, 'oord');
|
|
41742
|
+
var city = getNumberFromParams(params, 'location');
|
|
41743
|
+
var hotel = getNumberFromParams(params, 'hotel');
|
|
41744
|
+
var tagId = getNumberFromParams(params, 'tagId');
|
|
41745
|
+
var agentId = getNumberFromParams(params, 'agentId');
|
|
41746
|
+
if (!from || !to) {
|
|
41747
|
+
console.error('Missing fromDate or toDate in query params, using default values');
|
|
41748
|
+
return null;
|
|
41749
|
+
}
|
|
41750
|
+
if (typeof window !== 'undefined') {
|
|
41751
|
+
window.scrollTo(0, 0);
|
|
41752
|
+
}
|
|
41753
|
+
var destinationId = null;
|
|
41754
|
+
var destinationIsCountry = false;
|
|
41755
|
+
var destinationIsRegion = false;
|
|
41756
|
+
var destinationIsOord = false;
|
|
41757
|
+
var destinationIsLocation = false;
|
|
41758
|
+
if (country) {
|
|
41759
|
+
destinationId = country;
|
|
41760
|
+
destinationIsCountry = true;
|
|
41761
|
+
} else if (region) {
|
|
41762
|
+
destinationId = region;
|
|
41763
|
+
destinationIsRegion = true;
|
|
41764
|
+
} else if (oord) {
|
|
41765
|
+
destinationId = oord;
|
|
41766
|
+
destinationIsOord = true;
|
|
41767
|
+
} else if (city) {
|
|
41768
|
+
destinationId = city;
|
|
41769
|
+
destinationIsLocation = true;
|
|
41770
|
+
}
|
|
41771
|
+
var searchRequest = {
|
|
41772
|
+
officeId: 1,
|
|
41773
|
+
agentId: agentId !== null && agentId !== void 0 ? agentId : null,
|
|
41774
|
+
catalogueId: (_a = context.searchConfiguration.defaultCatalogueId) !== null && _a !== void 0 ? _a : 0,
|
|
41775
|
+
searchConfigurationId: context.searchConfiguration.id,
|
|
41776
|
+
language: (_b = context.languageCode) !== null && _b !== void 0 ? _b : 'en-GB',
|
|
41777
|
+
servicesType: 3, // accommodation
|
|
41778
|
+
fromDate: from,
|
|
41779
|
+
toDate: to,
|
|
41780
|
+
destination: {
|
|
41781
|
+
id: Number(destinationId),
|
|
41782
|
+
isCountry: destinationIsCountry,
|
|
41783
|
+
isRegion: destinationIsRegion,
|
|
41784
|
+
isOord: destinationIsOord,
|
|
41785
|
+
isLocation: destinationIsLocation
|
|
41786
|
+
},
|
|
41787
|
+
productCode: hotel ? hotel.toString() : '',
|
|
41788
|
+
rooms: getPackagingRequestRooms(rooms),
|
|
41789
|
+
tagIds: tagId ? [tagId] : []
|
|
41790
|
+
};
|
|
41791
|
+
console.log('Search request for packaging accommodation from query params', searchRequest);
|
|
41792
|
+
return searchRequest;
|
|
41793
|
+
};
|
|
41794
|
+
var getPackagingRequestRooms = function (rooms) {
|
|
41795
|
+
if (!rooms) {
|
|
41796
|
+
// Fall back to 2 adults
|
|
41797
|
+
var room = { index: 0, travellers: [] };
|
|
41798
|
+
range(0, 2).forEach(function () {
|
|
41799
|
+
room.travellers.push({
|
|
41800
|
+
age: 30
|
|
41801
|
+
});
|
|
41802
|
+
});
|
|
41803
|
+
return [room];
|
|
41804
|
+
}
|
|
41805
|
+
var requestRooms =
|
|
41806
|
+
rooms === null || rooms === void 0
|
|
41807
|
+
? void 0
|
|
41808
|
+
: rooms.map(function (x, i) {
|
|
41809
|
+
var room = { index: i, travellers: [] };
|
|
41810
|
+
range(0, x.adults).forEach(function () {
|
|
41811
|
+
room.travellers.push({
|
|
41812
|
+
age: 30
|
|
41813
|
+
});
|
|
41814
|
+
});
|
|
41815
|
+
x.childAges.forEach(function (x) {
|
|
41816
|
+
room.travellers.push({
|
|
41817
|
+
age: x
|
|
41818
|
+
});
|
|
41819
|
+
});
|
|
41820
|
+
return room;
|
|
41821
|
+
});
|
|
41822
|
+
return requestRooms;
|
|
41823
|
+
};
|
|
41550
41824
|
useEffect(
|
|
41551
41825
|
function () {
|
|
41552
41826
|
if (typeof document !== 'undefined') {
|
|
@@ -41618,7 +41892,7 @@ var SearchResultsContainer = function () {
|
|
|
41618
41892
|
dispatch(setSelectedSearchResult(matching.productId));
|
|
41619
41893
|
}
|
|
41620
41894
|
} else {
|
|
41621
|
-
if (context.
|
|
41895
|
+
if (context.searchConfiguration.qsmType === PortalQsmType.AccommodationAndFlight) {
|
|
41622
41896
|
dispatch(setSelectedSearchResult((_b = packageSearchResults[0]) === null || _b === void 0 ? void 0 : _b.productId));
|
|
41623
41897
|
}
|
|
41624
41898
|
}
|
|
@@ -41636,14 +41910,71 @@ var SearchResultsContainer = function () {
|
|
|
41636
41910
|
});
|
|
41637
41911
|
});
|
|
41638
41912
|
};
|
|
41913
|
+
var runHotelSearch = function () {
|
|
41914
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
|
41915
|
+
var config, params, searchRequest, rq, packageAccoSearchResults, enrichedFilters, initialFilteredResults, err_2;
|
|
41916
|
+
var _a;
|
|
41917
|
+
return __generator(this, function (_b) {
|
|
41918
|
+
switch (_b.label) {
|
|
41919
|
+
case 0:
|
|
41920
|
+
dispatch(setIsLoading(true));
|
|
41921
|
+
_b.label = 1;
|
|
41922
|
+
case 1:
|
|
41923
|
+
_b.trys.push([1, 3, , 4]);
|
|
41924
|
+
if (!context) {
|
|
41925
|
+
return [2 /*return*/];
|
|
41926
|
+
}
|
|
41927
|
+
config = {
|
|
41928
|
+
host: context.tideConnection.host,
|
|
41929
|
+
apiKey: context.tideConnection.apiKey
|
|
41930
|
+
};
|
|
41931
|
+
params = new URLSearchParams(location.search);
|
|
41932
|
+
searchRequest = void 0;
|
|
41933
|
+
rq = buildPackagingAccommodationRequestFromQueryParams(params);
|
|
41934
|
+
if (!rq) {
|
|
41935
|
+
throw new Error('Invalid search parameters');
|
|
41936
|
+
}
|
|
41937
|
+
searchRequest = rq;
|
|
41938
|
+
return [4 /*yield*/, build.searchPackagingAccommodations(config, searchRequest)];
|
|
41939
|
+
case 2:
|
|
41940
|
+
packageAccoSearchResults = _b.sent();
|
|
41941
|
+
console.log('package Acco SearchResults', packageAccoSearchResults);
|
|
41942
|
+
enrichedFilters = enrichFiltersWithPackageAccoResults(
|
|
41943
|
+
packageAccoSearchResults,
|
|
41944
|
+
context.filters,
|
|
41945
|
+
(_a = context.tags) !== null && _a !== void 0 ? _a : []
|
|
41946
|
+
);
|
|
41947
|
+
if (!initialFiltersSet) {
|
|
41948
|
+
dispatch(resetFilters(enrichedFilters));
|
|
41949
|
+
setInitialFilters(enrichedFilters);
|
|
41950
|
+
setInitialFiltersSet(true);
|
|
41951
|
+
}
|
|
41952
|
+
dispatch(setPackagingAccoResults(packageAccoSearchResults));
|
|
41953
|
+
initialFilteredResults = applyFiltersToPackageAccoResults(packageAccoSearchResults, filters);
|
|
41954
|
+
dispatch(setFilteredPackagingAccoResults(initialFilteredResults));
|
|
41955
|
+
dispatch(setIsLoading(false));
|
|
41956
|
+
return [3 /*break*/, 4];
|
|
41957
|
+
case 3:
|
|
41958
|
+
err_2 = _b.sent();
|
|
41959
|
+
console.error('Search failed', err_2);
|
|
41960
|
+
dispatch(setIsLoading(false));
|
|
41961
|
+
return [3 /*break*/, 4];
|
|
41962
|
+
case 4:
|
|
41963
|
+
return [2 /*return*/];
|
|
41964
|
+
}
|
|
41965
|
+
});
|
|
41966
|
+
});
|
|
41967
|
+
};
|
|
41639
41968
|
if (!(context === null || context === void 0 ? void 0 : context.showMockup)) {
|
|
41640
41969
|
if (
|
|
41641
|
-
(context === null || context === void 0 ? void 0 : context.
|
|
41642
|
-
(context === null || context === void 0 ? void 0 : context.
|
|
41643
|
-
(context === null || context === void 0 ? void 0 : context.type) === PortalQsmType.GroupTour
|
|
41970
|
+
(context === null || context === void 0 ? void 0 : context.searchConfiguration.qsmType) === PortalQsmType.AccommodationAndFlight ||
|
|
41971
|
+
(context === null || context === void 0 ? void 0 : context.searchConfiguration.qsmType) === PortalQsmType.GroupTour
|
|
41644
41972
|
) {
|
|
41645
41973
|
runSearch();
|
|
41646
41974
|
}
|
|
41975
|
+
if ((context === null || context === void 0 ? void 0 : context.searchConfiguration.qsmType) === PortalQsmType.Accommodation) {
|
|
41976
|
+
runHotelSearch();
|
|
41977
|
+
}
|
|
41647
41978
|
}
|
|
41648
41979
|
},
|
|
41649
41980
|
[location.search]
|
|
@@ -41653,15 +41984,15 @@ var SearchResultsContainer = function () {
|
|
|
41653
41984
|
function () {
|
|
41654
41985
|
var fetchPackageDetails = function () {
|
|
41655
41986
|
return __awaiter(void 0, void 0, void 0, function () {
|
|
41656
|
-
var config, selectedItem, params, entryId, requestRooms, rooms, detailsRequest, detailsResponse, detailsWLResponse,
|
|
41987
|
+
var config, selectedItem, params, entryId, requestRooms, rooms, detailsRequest, detailsResponse, detailsWLResponse, err_3;
|
|
41657
41988
|
var _a, _b;
|
|
41658
41989
|
return __generator(this, function (_c) {
|
|
41659
41990
|
switch (_c.label) {
|
|
41660
41991
|
case 0:
|
|
41661
41992
|
if (!selectedSearchResultId || !context) return [2 /*return*/];
|
|
41662
41993
|
if (
|
|
41663
|
-
(context === null || context === void 0 ? void 0 : context.
|
|
41664
|
-
(context === null || context === void 0 ? void 0 : context.
|
|
41994
|
+
(context === null || context === void 0 ? void 0 : context.searchConfiguration.qsmType) === PortalQsmType.Accommodation ||
|
|
41995
|
+
(context === null || context === void 0 ? void 0 : context.searchConfiguration.qsmType) === PortalQsmType.GroupTour
|
|
41665
41996
|
) {
|
|
41666
41997
|
handleFlyInToggle(true);
|
|
41667
41998
|
}
|
|
@@ -41697,7 +42028,7 @@ var SearchResultsContainer = function () {
|
|
|
41697
42028
|
productCode: selectedItem.code,
|
|
41698
42029
|
fromDate: selectedItem.fromDate,
|
|
41699
42030
|
toDate: selectedItem.toDate,
|
|
41700
|
-
includeFlights: context.
|
|
42031
|
+
includeFlights: context.searchConfiguration.qsmType === PortalQsmType.AccommodationAndFlight ? true : false,
|
|
41701
42032
|
includeHotels: true,
|
|
41702
42033
|
includePaxTypes: true,
|
|
41703
42034
|
checkExternalAvailability: true,
|
|
@@ -41740,8 +42071,8 @@ var SearchResultsContainer = function () {
|
|
|
41740
42071
|
case 5:
|
|
41741
42072
|
return [3 /*break*/, 7];
|
|
41742
42073
|
case 6:
|
|
41743
|
-
|
|
41744
|
-
console.error('Failed to fetch package details',
|
|
42074
|
+
err_3 = _c.sent();
|
|
42075
|
+
console.error('Failed to fetch package details', err_3);
|
|
41745
42076
|
return [3 /*break*/, 7];
|
|
41746
42077
|
case 7:
|
|
41747
42078
|
return [2 /*return*/];
|
|
@@ -41770,14 +42101,14 @@ var SearchResultsContainer = function () {
|
|
|
41770
42101
|
React__default.createElement(
|
|
41771
42102
|
'div',
|
|
41772
42103
|
{ className: 'search__container' },
|
|
41773
|
-
context.
|
|
42104
|
+
context.searchConfiguration.qsmType === PortalQsmType.Flight &&
|
|
41774
42105
|
React__default.createElement(
|
|
41775
42106
|
FlightSearchProvider,
|
|
41776
42107
|
{ tideConnection: context.tideConnection },
|
|
41777
42108
|
React__default.createElement(FlightResultsContainer, { isMobile: isMobile }),
|
|
41778
42109
|
React__default.createElement(FlyIn, {
|
|
41779
42110
|
title: 'Select your fare',
|
|
41780
|
-
srpType: context.
|
|
42111
|
+
srpType: context.searchConfiguration.qsmType,
|
|
41781
42112
|
isOpen: flyInIsOpen,
|
|
41782
42113
|
setIsOpen: handleFlyInToggle,
|
|
41783
42114
|
onPanelRef: function (el) {
|
|
@@ -41785,14 +42116,14 @@ var SearchResultsContainer = function () {
|
|
|
41785
42116
|
}
|
|
41786
42117
|
})
|
|
41787
42118
|
),
|
|
41788
|
-
(context.
|
|
41789
|
-
context.
|
|
41790
|
-
context.
|
|
41791
|
-
context.
|
|
42119
|
+
(context.searchConfiguration.qsmType === PortalQsmType.AccommodationAndFlight ||
|
|
42120
|
+
context.searchConfiguration.qsmType === PortalQsmType.Accommodation ||
|
|
42121
|
+
context.searchConfiguration.qsmType === PortalQsmType.GroupTour ||
|
|
42122
|
+
context.searchConfiguration.qsmType === PortalQsmType.RoundTrip) &&
|
|
41792
42123
|
React__default.createElement(
|
|
41793
42124
|
React__default.Fragment,
|
|
41794
42125
|
null,
|
|
41795
|
-
context.
|
|
42126
|
+
context.searchConfiguration.qsmType != PortalQsmType.AccommodationAndFlight &&
|
|
41796
42127
|
context.showFilters &&
|
|
41797
42128
|
React__default.createElement(Filters, {
|
|
41798
42129
|
initialFilters: initialFilters,
|
|
@@ -41804,7 +42135,7 @@ var SearchResultsContainer = function () {
|
|
|
41804
42135
|
// handleApplyFilters={() => setSearchTrigger((prev) => prev + 1)}
|
|
41805
42136
|
isLoading: isLoading
|
|
41806
42137
|
}),
|
|
41807
|
-
context.
|
|
42138
|
+
context.searchConfiguration.qsmType === PortalQsmType.AccommodationAndFlight &&
|
|
41808
42139
|
React__default.createElement(Itinerary, {
|
|
41809
42140
|
isOpen: itineraryOpen,
|
|
41810
42141
|
handleSetIsOpen: function () {
|
|
@@ -41822,7 +42153,7 @@ var SearchResultsContainer = function () {
|
|
|
41822
42153
|
React__default.createElement(
|
|
41823
42154
|
'div',
|
|
41824
42155
|
{ className: 'search__results__actions' },
|
|
41825
|
-
context.
|
|
42156
|
+
context.searchConfiguration.qsmType != PortalQsmType.AccommodationAndFlight &&
|
|
41826
42157
|
context.showFilters &&
|
|
41827
42158
|
React__default.createElement(
|
|
41828
42159
|
'div',
|
|
@@ -41835,7 +42166,7 @@ var SearchResultsContainer = function () {
|
|
|
41835
42166
|
React__default.createElement(Icon$1, { name: 'ui-filter', className: 'mobile-filters-button__icon', height: 16 }),
|
|
41836
42167
|
translations.SRP.FILTERS
|
|
41837
42168
|
),
|
|
41838
|
-
context.
|
|
42169
|
+
context.searchConfiguration.qsmType === PortalQsmType.AccommodationAndFlight &&
|
|
41839
42170
|
React__default.createElement(
|
|
41840
42171
|
'div',
|
|
41841
42172
|
{
|
|
@@ -41895,8 +42226,8 @@ var SearchResultsContainer = function () {
|
|
|
41895
42226
|
{ className: 'search__results__wrapper' },
|
|
41896
42227
|
context.showTabViews && React__default.createElement(TabViews, null),
|
|
41897
42228
|
context.showRoundTripResults && context.showMockup && React__default.createElement(RoundTripResults, null),
|
|
41898
|
-
context.
|
|
41899
|
-
context.
|
|
42229
|
+
context.searchConfiguration.qsmType === PortalQsmType.GroupTour && React__default.createElement(GroupTourResults, { isLoading: isLoading }),
|
|
42230
|
+
context.searchConfiguration.qsmType === PortalQsmType.AccommodationAndFlight &&
|
|
41900
42231
|
context.showFlightResults &&
|
|
41901
42232
|
(bookingPackageDetails === null || bookingPackageDetails === void 0 ? void 0 : bookingPackageDetails.outwardFlights) &&
|
|
41902
42233
|
React__default.createElement(FlightResults, {
|
|
@@ -41904,7 +42235,7 @@ var SearchResultsContainer = function () {
|
|
|
41904
42235
|
isDeparture: true
|
|
41905
42236
|
}),
|
|
41906
42237
|
context.showHotelAccommodationResults && React__default.createElement(HotelAccommodationResults, { isLoading: isLoading }),
|
|
41907
|
-
context.
|
|
42238
|
+
context.searchConfiguration.qsmType === PortalQsmType.AccommodationAndFlight &&
|
|
41908
42239
|
context.showFlightResults &&
|
|
41909
42240
|
(bookingPackageDetails === null || bookingPackageDetails === void 0 ? void 0 : bookingPackageDetails.returnFlights) &&
|
|
41910
42241
|
React__default.createElement(FlightResults, {
|
|
@@ -41915,7 +42246,7 @@ var SearchResultsContainer = function () {
|
|
|
41915
42246
|
),
|
|
41916
42247
|
React__default.createElement(FlyIn, {
|
|
41917
42248
|
title: ''.concat(translations.SRP.SELECT, ' ').concat(translations.SRP.ACCOMMODATION),
|
|
41918
|
-
srpType: context.
|
|
42249
|
+
srpType: context.searchConfiguration.qsmType,
|
|
41919
42250
|
isOpen: flyInIsOpen,
|
|
41920
42251
|
setIsOpen: handleFlyInToggle,
|
|
41921
42252
|
onPanelRef: function (el) {
|