@qite/tide-booking-component 1.4.79 → 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 +652 -291
- 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 +650 -292
- 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/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-cjs/index.js
CHANGED
|
@@ -12717,44 +12717,44 @@ PERFORMANCE OF THIS SOFTWARE.
|
|
|
12717
12717
|
});
|
|
12718
12718
|
};
|
|
12719
12719
|
|
|
12720
|
-
var ENDPOINT$
|
|
12721
|
-
var ENDPOINT_AVAILABLE_FLIGHTS = ENDPOINT$
|
|
12722
|
-
var ENDPOINT_TRANSPORT_DATES = ENDPOINT$
|
|
12723
|
-
var ENDPOINT_PRICES = ENDPOINT$
|
|
12724
|
-
var ENDPOINT_AVAILABLE_COUNTRIES = ENDPOINT$
|
|
12725
|
-
var ENDPOINT_SEARCH = ENDPOINT$
|
|
12726
|
-
var ENDPOINT_SEARCH_WITH_ERROR_MAPPING = ENDPOINT$
|
|
12720
|
+
var ENDPOINT$8 = '/api/web/booking/v2';
|
|
12721
|
+
var ENDPOINT_AVAILABLE_FLIGHTS = ENDPOINT$8 + '/available-flights';
|
|
12722
|
+
var ENDPOINT_TRANSPORT_DATES = ENDPOINT$8 + '/transport-dates';
|
|
12723
|
+
var ENDPOINT_PRICES = ENDPOINT$8 + '/prices';
|
|
12724
|
+
var ENDPOINT_AVAILABLE_COUNTRIES = ENDPOINT$8 + '/available-countries';
|
|
12725
|
+
var ENDPOINT_SEARCH = ENDPOINT$8 + '/search';
|
|
12726
|
+
var ENDPOINT_SEARCH_WITH_ERROR_MAPPING = ENDPOINT$8 + '/search-with-error-mapping';
|
|
12727
12727
|
// const ENDPOINT_ELASTIC = `${ENDPOINT}/elastic`; // TODO
|
|
12728
|
-
var ENDPOINT_DETAILS = ENDPOINT$
|
|
12729
|
-
var ENDPOINT_DETAILS_WL = ENDPOINT$
|
|
12728
|
+
var ENDPOINT_DETAILS = ENDPOINT$8 + '/details';
|
|
12729
|
+
var ENDPOINT_DETAILS_WL = ENDPOINT$8 + '/details-wl';
|
|
12730
12730
|
var ENDPOINT_ENTRYLIGHT = function (code) {
|
|
12731
|
-
return ENDPOINT$
|
|
12731
|
+
return ENDPOINT$8 + '/entry-light/' + code;
|
|
12732
12732
|
};
|
|
12733
|
-
var ENDPOINT_VALIDATE_VOUCHER = ENDPOINT$
|
|
12733
|
+
var ENDPOINT_VALIDATE_VOUCHER = ENDPOINT$8 + '/validate-voucher';
|
|
12734
12734
|
var ENDPOINT_ALTERNATE_HOTELS = function (transactionId, optionId) {
|
|
12735
|
-
return ENDPOINT$
|
|
12735
|
+
return ENDPOINT$8 + '/details/' + transactionId + '/alternate-hotels/' + optionId;
|
|
12736
12736
|
};
|
|
12737
12737
|
var ENDPOINT_ALTERNATE_FLIGHTS = function (transactionId) {
|
|
12738
|
-
return ENDPOINT$
|
|
12738
|
+
return ENDPOINT$8 + '/details/' + transactionId + '/alternate-flights';
|
|
12739
12739
|
};
|
|
12740
|
-
var ENDPOINT_BOOKABLE_DATES = ENDPOINT$
|
|
12741
|
-
var ENDPOINT_PRICE_DETAILS = ENDPOINT$
|
|
12742
|
-
var ENDPOINT_BOOK = ENDPOINT$
|
|
12743
|
-
var ENDPOINT_UPDATE = ENDPOINT$
|
|
12744
|
-
var ENDPOINT_AGENTS = ENDPOINT$
|
|
12740
|
+
var ENDPOINT_BOOKABLE_DATES = ENDPOINT$8 + '/bookable-dates';
|
|
12741
|
+
var ENDPOINT_PRICE_DETAILS = ENDPOINT$8 + '/price-details';
|
|
12742
|
+
var ENDPOINT_BOOK = ENDPOINT$8 + '/book';
|
|
12743
|
+
var ENDPOINT_UPDATE = ENDPOINT$8 + '/update';
|
|
12744
|
+
var ENDPOINT_AGENTS = ENDPOINT$8 + '/agents';
|
|
12745
12745
|
var ENDPOINT_AVAILABLE_ALLOTMENTS = function (eventId, productCode) {
|
|
12746
|
-
return ENDPOINT$
|
|
12746
|
+
return ENDPOINT$8 + '/get-allotment-availability/' + eventId + '/' + productCode;
|
|
12747
12747
|
};
|
|
12748
|
-
var ENDPOINT_FLIGHT_POOL = ENDPOINT$
|
|
12749
|
-
var ENDPOINT_TOUR_CODES = ENDPOINT$
|
|
12748
|
+
var ENDPOINT_FLIGHT_POOL = ENDPOINT$8 + '/flight-pool';
|
|
12749
|
+
var ENDPOINT_TOUR_CODES = ENDPOINT$8 + '/tourcodes';
|
|
12750
12750
|
var ENDPOINT_CUSTOM_ENTRY_STATUS$1 = function (dossierNumber, customEntryStatusId) {
|
|
12751
|
-
return ENDPOINT$
|
|
12751
|
+
return ENDPOINT$8 + '/custom-entry-status/' + dossierNumber + '/' + customEntryStatusId;
|
|
12752
12752
|
};
|
|
12753
12753
|
var ENDPOINT_ENTRY_STATUS = function (dossierNumber, entryStatus) {
|
|
12754
|
-
return ENDPOINT$
|
|
12754
|
+
return ENDPOINT$8 + '/entry-status/' + dossierNumber + '/' + entryStatus;
|
|
12755
12755
|
};
|
|
12756
|
-
var ENDPOINT_ELASTIC = ENDPOINT$
|
|
12757
|
-
var ENDPOINT_FLIGHT_LINES = ENDPOINT$
|
|
12756
|
+
var ENDPOINT_ELASTIC = ENDPOINT$8 + '/elastic';
|
|
12757
|
+
var ENDPOINT_FLIGHT_LINES = ENDPOINT$8 + '/flightlines';
|
|
12758
12758
|
var availableFlights = function (config, request, signal) {
|
|
12759
12759
|
var url = '' + config.host + ENDPOINT_AVAILABLE_FLIGHTS;
|
|
12760
12760
|
var apiKey = config.apiKey;
|
|
@@ -12894,12 +12894,12 @@ PERFORMANCE OF THIS SOFTWARE.
|
|
|
12894
12894
|
return post(url, apiKey, body, config.token, signal, true);
|
|
12895
12895
|
};
|
|
12896
12896
|
|
|
12897
|
-
var ENDPOINT$
|
|
12898
|
-
var ENDPOINT_LOGIN = ENDPOINT$
|
|
12899
|
-
var ENDPOINT_LOGOUT = ENDPOINT$
|
|
12900
|
-
var ENDPOINT_CONFIRM = ENDPOINT$
|
|
12901
|
-
var ENDPOINT_FORGOT_PASSWORD = ENDPOINT$
|
|
12902
|
-
var ENDPOINT_RESET_PASSWORD = ENDPOINT$
|
|
12897
|
+
var ENDPOINT$7 = '/api/member';
|
|
12898
|
+
var ENDPOINT_LOGIN = ENDPOINT$7 + '/login';
|
|
12899
|
+
var ENDPOINT_LOGOUT = ENDPOINT$7 + '/logout';
|
|
12900
|
+
var ENDPOINT_CONFIRM = ENDPOINT$7 + '/confirm';
|
|
12901
|
+
var ENDPOINT_FORGOT_PASSWORD = ENDPOINT$7 + '/forgot-password';
|
|
12902
|
+
var ENDPOINT_RESET_PASSWORD = ENDPOINT$7 + '/reset-password';
|
|
12903
12903
|
var login = function (config, request, signal) {
|
|
12904
12904
|
var url = '' + config.host + ENDPOINT_LOGIN;
|
|
12905
12905
|
var apiKey = config.apiKey;
|
|
@@ -12931,8 +12931,8 @@ PERFORMANCE OF THIS SOFTWARE.
|
|
|
12931
12931
|
return post$1(url, apiKey, body, config.token, signal);
|
|
12932
12932
|
};
|
|
12933
12933
|
|
|
12934
|
-
var ENDPOINT$
|
|
12935
|
-
var ENDPOINT_CREATE_PAYMENTS = ENDPOINT$
|
|
12934
|
+
var ENDPOINT$6 = '/api/mollie';
|
|
12935
|
+
var ENDPOINT_CREATE_PAYMENTS = ENDPOINT$6 + '/create-payment';
|
|
12936
12936
|
/**
|
|
12937
12937
|
* api/mollie/create-payment
|
|
12938
12938
|
* @param request
|
|
@@ -12945,13 +12945,13 @@ PERFORMANCE OF THIS SOFTWARE.
|
|
|
12945
12945
|
return post(url, apiKey, body, config.token, signal);
|
|
12946
12946
|
};
|
|
12947
12947
|
|
|
12948
|
-
var ENDPOINT$
|
|
12949
|
-
var ENDPOINT_COUNTRIES = ENDPOINT$
|
|
12950
|
-
var ENDPOINT_REGIONS = ENDPOINT$
|
|
12951
|
-
var ENDPOINT_OORDS = ENDPOINT$
|
|
12952
|
-
var ENDPOINT_LOCATIONS$1 = ENDPOINT$
|
|
12948
|
+
var ENDPOINT$5 = '/api/web/search';
|
|
12949
|
+
var ENDPOINT_COUNTRIES = ENDPOINT$5 + '/countries';
|
|
12950
|
+
var ENDPOINT_REGIONS = ENDPOINT$5 + '/regions';
|
|
12951
|
+
var ENDPOINT_OORDS = ENDPOINT$5 + '/oords';
|
|
12952
|
+
var ENDPOINT_LOCATIONS$1 = ENDPOINT$5 + '/locations';
|
|
12953
12953
|
var ENDPOINT_PORTAL = function (portalId) {
|
|
12954
|
-
return ENDPOINT$
|
|
12954
|
+
return ENDPOINT$5 + '/portal/' + portalId;
|
|
12955
12955
|
};
|
|
12956
12956
|
var ENDPOINT_AIRPORT = '/api/web/entity/airport';
|
|
12957
12957
|
/**
|
|
@@ -13113,12 +13113,12 @@ PERFORMANCE OF THIS SOFTWARE.
|
|
|
13113
13113
|
return d instanceof Date && !isNaN(d.getTime());
|
|
13114
13114
|
};
|
|
13115
13115
|
|
|
13116
|
-
var ENDPOINT$
|
|
13117
|
-
var ENDPOINT_GET_PRINT_ACTIONS = ENDPOINT$
|
|
13118
|
-
var ENDPOINT_PRINT = ENDPOINT$
|
|
13119
|
-
var ENDPOINT_CUSTOM_ENTRY_STATUS = ENDPOINT$
|
|
13120
|
-
var ENDPOINT_ENUM_ENTRY_STATUS = ENDPOINT$
|
|
13121
|
-
var ENDPOINT_CHANGE_ENTRY_AGENT_SURCHARGE = ENDPOINT$
|
|
13116
|
+
var ENDPOINT$4 = '/api/web/agent';
|
|
13117
|
+
var ENDPOINT_GET_PRINT_ACTIONS = ENDPOINT$4 + '/print-action';
|
|
13118
|
+
var ENDPOINT_PRINT = ENDPOINT$4 + '/print-action';
|
|
13119
|
+
var ENDPOINT_CUSTOM_ENTRY_STATUS = ENDPOINT$4 + '/custom-entry-status';
|
|
13120
|
+
var ENDPOINT_ENUM_ENTRY_STATUS = ENDPOINT$4 + '/enum/entry-status';
|
|
13121
|
+
var ENDPOINT_CHANGE_ENTRY_AGENT_SURCHARGE = ENDPOINT$4 + '/entry/change-agent-surcharge';
|
|
13122
13122
|
/**
|
|
13123
13123
|
* api/web/agent/print-action/{print-action-group}
|
|
13124
13124
|
* @param config
|
|
@@ -13151,7 +13151,7 @@ PERFORMANCE OF THIS SOFTWARE.
|
|
|
13151
13151
|
return encodeURIComponent(key) + '=' + encodeURIComponent(params[key]);
|
|
13152
13152
|
})
|
|
13153
13153
|
.join('&');
|
|
13154
|
-
var url = '' + config.host + ENDPOINT$
|
|
13154
|
+
var url = '' + config.host + ENDPOINT$4 + '/entry/list?' + queryString;
|
|
13155
13155
|
var apiKey = config.apiKey;
|
|
13156
13156
|
return get(url, apiKey, config.token, signal, true);
|
|
13157
13157
|
};
|
|
@@ -13162,7 +13162,7 @@ PERFORMANCE OF THIS SOFTWARE.
|
|
|
13162
13162
|
return encodeURIComponent(key) + '=' + encodeURIComponent(params[key]);
|
|
13163
13163
|
})
|
|
13164
13164
|
.join('&');
|
|
13165
|
-
var url = '' + config.host + ENDPOINT$
|
|
13165
|
+
var url = '' + config.host + ENDPOINT$4 + '/v2/entry/list?' + queryString;
|
|
13166
13166
|
var apiKey = config.apiKey;
|
|
13167
13167
|
return get(url, apiKey, config.token, signal, true);
|
|
13168
13168
|
};
|
|
@@ -13173,12 +13173,12 @@ PERFORMANCE OF THIS SOFTWARE.
|
|
|
13173
13173
|
return encodeURIComponent(key) + '=' + encodeURIComponent(params[key]);
|
|
13174
13174
|
})
|
|
13175
13175
|
.join('&');
|
|
13176
|
-
var url = '' + config.host + ENDPOINT$
|
|
13176
|
+
var url = '' + config.host + ENDPOINT$4 + '/entry/total?' + queryString;
|
|
13177
13177
|
var apiKey = config.apiKey;
|
|
13178
13178
|
return get(url, apiKey, config.token, signal, true);
|
|
13179
13179
|
};
|
|
13180
13180
|
var getEntryDetailv2 = function (config, entryId, signal) {
|
|
13181
|
-
var url = '' + config.host + ENDPOINT$
|
|
13181
|
+
var url = '' + config.host + ENDPOINT$4 + '/v2/entry/detail/' + entryId;
|
|
13182
13182
|
var apiKey = config.apiKey;
|
|
13183
13183
|
return get(url, apiKey, config.token, signal, true);
|
|
13184
13184
|
};
|
|
@@ -13189,7 +13189,7 @@ PERFORMANCE OF THIS SOFTWARE.
|
|
|
13189
13189
|
return encodeURIComponent(key) + '=' + encodeURIComponent(params[key]);
|
|
13190
13190
|
})
|
|
13191
13191
|
.join('&');
|
|
13192
|
-
var url = '' + config.host + ENDPOINT$
|
|
13192
|
+
var url = '' + config.host + ENDPOINT$4 + '/invoice/list?' + queryString;
|
|
13193
13193
|
var apiKey = config.apiKey;
|
|
13194
13194
|
return get(url, apiKey, config.token, signal, true);
|
|
13195
13195
|
};
|
|
@@ -13216,25 +13216,25 @@ PERFORMANCE OF THIS SOFTWARE.
|
|
|
13216
13216
|
return encodeURIComponent(key) + '=' + encodeURIComponent(params[key]);
|
|
13217
13217
|
})
|
|
13218
13218
|
.join('&');
|
|
13219
|
-
var url = '' + config.host + ENDPOINT$
|
|
13219
|
+
var url = '' + config.host + ENDPOINT$4 + '/allotment/list?' + queryString;
|
|
13220
13220
|
var apiKey = config.apiKey;
|
|
13221
13221
|
return get(url, apiKey, config.token, signal, true);
|
|
13222
13222
|
};
|
|
13223
13223
|
var getAllotment = function (config, allotmentId, signal) {
|
|
13224
|
-
var url = '' + config.host + ENDPOINT$
|
|
13224
|
+
var url = '' + config.host + ENDPOINT$4 + '/allotment/' + allotmentId;
|
|
13225
13225
|
var apiKey = config.apiKey;
|
|
13226
13226
|
return get(url, apiKey, config.token, signal, true);
|
|
13227
13227
|
};
|
|
13228
13228
|
|
|
13229
|
-
var ENDPOINT$
|
|
13230
|
-
var ENDPOINT_CREATE_CRM_CONTACT = ENDPOINT$
|
|
13231
|
-
var ENDPOINT_CONTACT_FORM$1 = ENDPOINT$
|
|
13232
|
-
var ENDPOINT_CREATE_AFFILIATES = ENDPOINT$
|
|
13233
|
-
var ENDPOINT_TRANSLATION_DICTIONARY = ENDPOINT$
|
|
13234
|
-
var ENDPOINT_BOOKING_ACCOMMODATION = ENDPOINT$
|
|
13235
|
-
var ENDPOINT_LOCATIONS = ENDPOINT$
|
|
13229
|
+
var ENDPOINT$3 = '/api/web';
|
|
13230
|
+
var ENDPOINT_CREATE_CRM_CONTACT = ENDPOINT$3 + '/crmcontact';
|
|
13231
|
+
var ENDPOINT_CONTACT_FORM$1 = ENDPOINT$3 + '/contactform';
|
|
13232
|
+
var ENDPOINT_CREATE_AFFILIATES = ENDPOINT$3 + '/affiliates';
|
|
13233
|
+
var ENDPOINT_TRANSLATION_DICTIONARY = ENDPOINT$3 + '/translation-dictionary';
|
|
13234
|
+
var ENDPOINT_BOOKING_ACCOMMODATION = ENDPOINT$3 + '/booking-accommodation';
|
|
13235
|
+
var ENDPOINT_LOCATIONS = ENDPOINT$3 + '/entity/locations';
|
|
13236
13236
|
var ENDPOINT_WEBSITE_CONFIGURATION = function (portalId) {
|
|
13237
|
-
return ENDPOINT$
|
|
13237
|
+
return ENDPOINT$3 + '/website/' + portalId + '/configuration';
|
|
13238
13238
|
};
|
|
13239
13239
|
/**
|
|
13240
13240
|
* api/web/crmcontact
|
|
@@ -13299,9 +13299,9 @@ PERFORMANCE OF THIS SOFTWARE.
|
|
|
13299
13299
|
return get(url, apiKey, config.token, signal, true);
|
|
13300
13300
|
};
|
|
13301
13301
|
|
|
13302
|
-
var ENDPOINT$
|
|
13303
|
-
var ENDPOINT_CONTACT_FORM = ENDPOINT$
|
|
13304
|
-
var ENDPOINT_CONTACT_HAS_TAG = ENDPOINT$
|
|
13302
|
+
var ENDPOINT$2 = '/api/web/contact';
|
|
13303
|
+
var ENDPOINT_CONTACT_FORM = ENDPOINT$2 + '/contact-form';
|
|
13304
|
+
var ENDPOINT_CONTACT_HAS_TAG = ENDPOINT$2 + '/has-tag';
|
|
13305
13305
|
/**
|
|
13306
13306
|
* api/web/contact/contact-form
|
|
13307
13307
|
* Processes a contact form.
|
|
@@ -13323,8 +13323,8 @@ PERFORMANCE OF THIS SOFTWARE.
|
|
|
13323
13323
|
return post$1(url, apiKey, body, config.token, signal);
|
|
13324
13324
|
};
|
|
13325
13325
|
|
|
13326
|
-
var ENDPOINT = '/api/web/file';
|
|
13327
|
-
var ENDPOINT_FEED = ENDPOINT + '/feed';
|
|
13326
|
+
var ENDPOINT$1 = '/api/web/file';
|
|
13327
|
+
var ENDPOINT_FEED = ENDPOINT$1 + '/feed';
|
|
13328
13328
|
/**
|
|
13329
13329
|
* api/web/file/feed
|
|
13330
13330
|
* fetch a xml from blob feed.
|
|
@@ -13353,6 +13353,16 @@ PERFORMANCE OF THIS SOFTWARE.
|
|
|
13353
13353
|
return get$1(url, apiKey, config.token, signal);
|
|
13354
13354
|
};
|
|
13355
13355
|
|
|
13356
|
+
var ENDPOINT = '/api/web/packaging';
|
|
13357
|
+
var ENDPOINT_ACCOMMODATIONS = ENDPOINT + '/accommodations';
|
|
13358
|
+
// MANUAL PACKAGING SEARCH
|
|
13359
|
+
var searchPackagingAccommodations = function (config, request, signal) {
|
|
13360
|
+
var url = '' + config.host + ENDPOINT_ACCOMMODATIONS;
|
|
13361
|
+
var apiKey = config.apiKey;
|
|
13362
|
+
var body = JSON.stringify(request);
|
|
13363
|
+
return post(url, apiKey, body, config.token, signal, true);
|
|
13364
|
+
};
|
|
13365
|
+
|
|
13356
13366
|
exports.AllotmentType = AllotmentType;
|
|
13357
13367
|
exports.ContactForm = ContactForm;
|
|
13358
13368
|
exports.DataType = DataType;
|
|
@@ -13421,6 +13431,7 @@ PERFORMANCE OF THIS SOFTWARE.
|
|
|
13421
13431
|
exports.searchFlightPool = searchFlightPool;
|
|
13422
13432
|
exports.searchLocations = searchLocations;
|
|
13423
13433
|
exports.searchOords = searchOords;
|
|
13434
|
+
exports.searchPackagingAccommodations = searchPackagingAccommodations;
|
|
13424
13435
|
exports.searchRegions = searchRegions;
|
|
13425
13436
|
exports.searchWithErrorMapping = searchWithErrorMapping;
|
|
13426
13437
|
exports.setCustomEntryStatus = setCustomEntryStatus;
|
|
@@ -33073,6 +33084,17 @@ var QSMContainer = function () {
|
|
|
33073
33084
|
allowOpenJaw = _b.allowOpenJaw,
|
|
33074
33085
|
searchConfigurations = _b.searchConfigurations;
|
|
33075
33086
|
var translations = getTranslations(languageCode !== null && languageCode !== void 0 ? languageCode : 'en-GB');
|
|
33087
|
+
React.useEffect(
|
|
33088
|
+
function () {
|
|
33089
|
+
var _a;
|
|
33090
|
+
var defaultQsmType = (_a = lodash.first(searchConfigurations)) === null || _a === void 0 ? void 0 : _a.qsmType;
|
|
33091
|
+
console.log('Available search configurations:', searchConfigurations);
|
|
33092
|
+
if (!defaultQsmType) return;
|
|
33093
|
+
console.log('set default qsmType:', defaultQsmType);
|
|
33094
|
+
handleQsmTypeChange(defaultQsmType);
|
|
33095
|
+
},
|
|
33096
|
+
[searchConfigurations]
|
|
33097
|
+
);
|
|
33076
33098
|
React.useEffect(
|
|
33077
33099
|
function () {
|
|
33078
33100
|
if (fromDate || toDate) return;
|
|
@@ -33516,6 +33538,9 @@ var initialState$1 = {
|
|
|
33516
33538
|
results: [],
|
|
33517
33539
|
filteredResults: [],
|
|
33518
33540
|
selectedSearchResultId: null,
|
|
33541
|
+
packagingAccoResults: [],
|
|
33542
|
+
filteredPackagingAccoResults: [],
|
|
33543
|
+
selectedPackagingAccoResultCode: null,
|
|
33519
33544
|
selectedFlight: null,
|
|
33520
33545
|
selectedFlightDetails: null,
|
|
33521
33546
|
bookingPackageDetails: null,
|
|
@@ -33540,6 +33565,15 @@ var searchResultsSlice = toolkit.createSlice({
|
|
|
33540
33565
|
setSelectedSearchResult: function (state, action) {
|
|
33541
33566
|
state.selectedSearchResultId = action.payload;
|
|
33542
33567
|
},
|
|
33568
|
+
setPackagingAccoResults: function (state, action) {
|
|
33569
|
+
state.packagingAccoResults = action.payload;
|
|
33570
|
+
},
|
|
33571
|
+
setFilteredPackagingAccoResults: function (state, action) {
|
|
33572
|
+
state.filteredPackagingAccoResults = action.payload;
|
|
33573
|
+
},
|
|
33574
|
+
setSelectedPackagingAccoResult: function (state, action) {
|
|
33575
|
+
state.selectedPackagingAccoResultCode = action.payload;
|
|
33576
|
+
},
|
|
33543
33577
|
setSelectedFlight: function (state, action) {
|
|
33544
33578
|
state.selectedFlight = action.payload;
|
|
33545
33579
|
},
|
|
@@ -33606,6 +33640,9 @@ var searchResultsSlice = toolkit.createSlice({
|
|
|
33606
33640
|
var setResults = ((_a = searchResultsSlice.actions), _a.setResults),
|
|
33607
33641
|
setFilteredResults = _a.setFilteredResults,
|
|
33608
33642
|
setSelectedSearchResult = _a.setSelectedSearchResult,
|
|
33643
|
+
setPackagingAccoResults = _a.setPackagingAccoResults,
|
|
33644
|
+
setFilteredPackagingAccoResults = _a.setFilteredPackagingAccoResults,
|
|
33645
|
+
setSelectedPackagingAccoResult = _a.setSelectedPackagingAccoResult,
|
|
33609
33646
|
setSelectedFlight = _a.setSelectedFlight,
|
|
33610
33647
|
setSelectedFlightDetails = _a.setSelectedFlightDetails,
|
|
33611
33648
|
setBookingPackageDetails = _a.setBookingPackageDetails,
|
|
@@ -38004,15 +38041,48 @@ var FlyIn = function (_a) {
|
|
|
38004
38041
|
};
|
|
38005
38042
|
|
|
38006
38043
|
var HotelCard = function (_a) {
|
|
38044
|
+
var _b;
|
|
38007
38045
|
var result = _a.result,
|
|
38008
38046
|
translations = _a.translations;
|
|
38009
38047
|
var dispatch = reactRedux.useDispatch();
|
|
38010
|
-
var
|
|
38048
|
+
var selectedPackagingAccoResultCode = reactRedux.useSelector(function (state) {
|
|
38011
38049
|
return state.searchResults;
|
|
38012
|
-
}).
|
|
38013
|
-
var handleChange = function (
|
|
38014
|
-
dispatch(
|
|
38050
|
+
}).selectedPackagingAccoResultCode;
|
|
38051
|
+
var handleChange = function (productCode) {
|
|
38052
|
+
dispatch(setSelectedPackagingAccoResult(productCode));
|
|
38015
38053
|
};
|
|
38054
|
+
if ((_b = result.contents) === null || _b === void 0 ? void 0 : _b.length) {
|
|
38055
|
+
return React__default['default'].createElement(
|
|
38056
|
+
'div',
|
|
38057
|
+
{ className: 'search__result-card__wrapper' },
|
|
38058
|
+
React__default['default'].createElement('div', {
|
|
38059
|
+
dangerouslySetInnerHTML: {
|
|
38060
|
+
__html: result.contents
|
|
38061
|
+
}
|
|
38062
|
+
}),
|
|
38063
|
+
React__default['default'].createElement(
|
|
38064
|
+
'div',
|
|
38065
|
+
{ className: 'search__result-card__footer' },
|
|
38066
|
+
React__default['default'].createElement(
|
|
38067
|
+
'button',
|
|
38068
|
+
{
|
|
38069
|
+
type: 'button',
|
|
38070
|
+
className: 'cta '.concat(selectedPackagingAccoResultCode === result.code ? 'cta--selected' : 'cta--select'),
|
|
38071
|
+
onClick: function () {
|
|
38072
|
+
return handleChange(result.code);
|
|
38073
|
+
}
|
|
38074
|
+
},
|
|
38075
|
+
selectedPackagingAccoResultCode === result.code
|
|
38076
|
+
? translations === null || translations === void 0
|
|
38077
|
+
? void 0
|
|
38078
|
+
: translations.SHARED.SELECTED
|
|
38079
|
+
: translations === null || translations === void 0
|
|
38080
|
+
? void 0
|
|
38081
|
+
: translations.SHARED.SELECT
|
|
38082
|
+
)
|
|
38083
|
+
)
|
|
38084
|
+
);
|
|
38085
|
+
}
|
|
38016
38086
|
return React__default['default'].createElement(
|
|
38017
38087
|
'div',
|
|
38018
38088
|
{
|
|
@@ -38096,12 +38166,12 @@ var HotelCard = function (_a) {
|
|
|
38096
38166
|
'button',
|
|
38097
38167
|
{
|
|
38098
38168
|
type: 'button',
|
|
38099
|
-
className: 'cta '.concat(
|
|
38169
|
+
className: 'cta '.concat(selectedPackagingAccoResultCode === result.code ? 'cta--selected' : 'cta--select'),
|
|
38100
38170
|
onClick: function () {
|
|
38101
|
-
return handleChange(result.
|
|
38171
|
+
return handleChange(result.code);
|
|
38102
38172
|
}
|
|
38103
38173
|
},
|
|
38104
|
-
|
|
38174
|
+
selectedPackagingAccoResultCode === result.code
|
|
38105
38175
|
? translations === null || translations === void 0
|
|
38106
38176
|
? void 0
|
|
38107
38177
|
: translations.SHARED.SELECTED
|
|
@@ -38116,7 +38186,7 @@ var HotelCard = function (_a) {
|
|
|
38116
38186
|
|
|
38117
38187
|
var renderResults = function (results, context, cmsMap, activeTab, translations) {
|
|
38118
38188
|
var renderedResults = results.map(function (result, index) {
|
|
38119
|
-
var cmsItem = cmsMap.get(result.
|
|
38189
|
+
var cmsItem = cmsMap.get(result.code);
|
|
38120
38190
|
var mappedResult = mapSearchResult(result, cmsItem, context.languageCode, translations);
|
|
38121
38191
|
if (
|
|
38122
38192
|
(context === null || context === void 0 ? void 0 : context.showCustomCards) &&
|
|
@@ -38141,10 +38211,10 @@ var renderResults = function (results, context, cmsMap, activeTab, translations)
|
|
|
38141
38211
|
);
|
|
38142
38212
|
};
|
|
38143
38213
|
var mapSearchResult = function (searchResult, cmsItem, languageCode, translations) {
|
|
38144
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
38214
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
|
|
38145
38215
|
return {
|
|
38146
38216
|
type: 'hotel',
|
|
38147
|
-
|
|
38217
|
+
code: searchResult.code,
|
|
38148
38218
|
title:
|
|
38149
38219
|
((_b = (_a = cmsItem === null || cmsItem === void 0 ? void 0 : cmsItem.content) === null || _a === void 0 ? void 0 : _a.general) === null || _b === void 0
|
|
38150
38220
|
? void 0
|
|
@@ -38168,14 +38238,31 @@ var mapSearchResult = function (searchResult, cmsItem, languageCode, translation
|
|
|
38168
38238
|
price: formatPrice(searchResult.price, searchResult.currencyCode, languageCode),
|
|
38169
38239
|
ctaText: translations === null || translations === void 0 ? void 0 : translations.SRP.VIEW_DETAILS,
|
|
38170
38240
|
days: ''
|
|
38171
|
-
.concat(calculateNights(searchResult.
|
|
38241
|
+
.concat(calculateNights(new Date(searchResult.fromDate), new Date(searchResult.toDate)), ' ')
|
|
38172
38242
|
.concat(translations === null || translations === void 0 ? void 0 : translations.SRP.NIGHTS),
|
|
38173
|
-
accommodation:
|
|
38174
|
-
|
|
38243
|
+
accommodation:
|
|
38244
|
+
((_l =
|
|
38245
|
+
(_k = (_j = lodash.first(searchResult.rooms)) === null || _j === void 0 ? void 0 : _j.options) === null || _k === void 0
|
|
38246
|
+
? void 0
|
|
38247
|
+
: _k.find(function (x) {
|
|
38248
|
+
return x.isSelected;
|
|
38249
|
+
})) === null || _l === void 0
|
|
38250
|
+
? void 0
|
|
38251
|
+
: _l.accommodationName) || '',
|
|
38252
|
+
regime:
|
|
38253
|
+
((_p =
|
|
38254
|
+
(_o = (_m = lodash.first(searchResult.rooms)) === null || _m === void 0 ? void 0 : _m.options) === null || _o === void 0
|
|
38255
|
+
? void 0
|
|
38256
|
+
: _o.find(function (x) {
|
|
38257
|
+
return x.isSelected;
|
|
38258
|
+
})) === null || _p === void 0
|
|
38259
|
+
? void 0
|
|
38260
|
+
: _p.regimeName) || '',
|
|
38175
38261
|
stars:
|
|
38176
|
-
(
|
|
38262
|
+
(_r = (_q = cmsItem === null || cmsItem === void 0 ? void 0 : cmsItem.content) === null || _q === void 0 ? void 0 : _q.general) === null || _r === void 0
|
|
38177
38263
|
? void 0
|
|
38178
|
-
:
|
|
38264
|
+
: _r.stars,
|
|
38265
|
+
contents: searchResult.contents
|
|
38179
38266
|
};
|
|
38180
38267
|
};
|
|
38181
38268
|
var HotelAccommodationResults = function (_a) {
|
|
@@ -38185,9 +38272,6 @@ var HotelAccommodationResults = function (_a) {
|
|
|
38185
38272
|
if (!context) {
|
|
38186
38273
|
return;
|
|
38187
38274
|
}
|
|
38188
|
-
if (context.showMockup) {
|
|
38189
|
-
return showMocukups(context);
|
|
38190
|
-
}
|
|
38191
38275
|
var translations = getTranslations((_b = context === null || context === void 0 ? void 0 : context.languageCode) !== null && _b !== void 0 ? _b : 'en-GB');
|
|
38192
38276
|
if (isLoading) {
|
|
38193
38277
|
return React__default['default'].createElement(
|
|
@@ -38201,9 +38285,9 @@ var HotelAccommodationResults = function (_a) {
|
|
|
38201
38285
|
var _d = reactRedux.useSelector(function (state) {
|
|
38202
38286
|
return state.searchResults;
|
|
38203
38287
|
}),
|
|
38204
|
-
|
|
38288
|
+
filteredPackagingAccoResults = _d.filteredPackagingAccoResults,
|
|
38205
38289
|
activeTab = _d.activeTab;
|
|
38206
|
-
if (!
|
|
38290
|
+
if (!filteredPackagingAccoResults.length) {
|
|
38207
38291
|
return React__default['default'].createElement('div', { className: 'no-results' }, translations.SRP.NO_RESULTS);
|
|
38208
38292
|
}
|
|
38209
38293
|
var cmsMap = React__default['default'].useMemo(
|
|
@@ -38214,20 +38298,20 @@ var HotelAccommodationResults = function (_a) {
|
|
|
38214
38298
|
? void 0
|
|
38215
38299
|
: _a.forEach(function (item) {
|
|
38216
38300
|
var _a, _b, _c;
|
|
38217
|
-
var
|
|
38301
|
+
var code =
|
|
38218
38302
|
(_c =
|
|
38219
38303
|
(_b = (_a = item === null || item === void 0 ? void 0 : item.content) === null || _a === void 0 ? void 0 : _a.general) === null || _b === void 0
|
|
38220
38304
|
? void 0
|
|
38221
38305
|
: _b.product) === null || _c === void 0
|
|
38222
38306
|
? void 0
|
|
38223
|
-
: _c.
|
|
38224
|
-
if (
|
|
38307
|
+
: _c.code;
|
|
38308
|
+
if (code) map.set(code, item);
|
|
38225
38309
|
});
|
|
38226
38310
|
return map;
|
|
38227
38311
|
},
|
|
38228
38312
|
[context.cmsHotelData]
|
|
38229
38313
|
);
|
|
38230
|
-
var firstResult =
|
|
38314
|
+
var firstResult = filteredPackagingAccoResults === null || filteredPackagingAccoResults === void 0 ? void 0 : filteredPackagingAccoResults[0];
|
|
38231
38315
|
var firstResultDay = (firstResult === null || firstResult === void 0 ? void 0 : firstResult.fromDate)
|
|
38232
38316
|
? dateFns.format(dateFns.parseISO(firstResult.fromDate), 'd')
|
|
38233
38317
|
: null;
|
|
@@ -38258,90 +38342,87 @@ var HotelAccommodationResults = function (_a) {
|
|
|
38258
38342
|
)
|
|
38259
38343
|
)
|
|
38260
38344
|
),
|
|
38261
|
-
renderResults(
|
|
38345
|
+
renderResults(filteredPackagingAccoResults, context, cmsMap, activeTab, translations)
|
|
38262
38346
|
);
|
|
38263
38347
|
};
|
|
38264
|
-
|
|
38265
|
-
|
|
38266
|
-
|
|
38267
|
-
|
|
38268
|
-
|
|
38269
|
-
|
|
38270
|
-
|
|
38271
|
-
|
|
38272
|
-
|
|
38273
|
-
|
|
38274
|
-
|
|
38275
|
-
|
|
38276
|
-
|
|
38277
|
-
|
|
38278
|
-
|
|
38279
|
-
|
|
38280
|
-
|
|
38281
|
-
|
|
38282
|
-
|
|
38283
|
-
|
|
38284
|
-
|
|
38285
|
-
|
|
38286
|
-
|
|
38287
|
-
|
|
38288
|
-
|
|
38289
|
-
|
|
38290
|
-
|
|
38291
|
-
|
|
38292
|
-
|
|
38293
|
-
|
|
38294
|
-
|
|
38295
|
-
|
|
38296
|
-
|
|
38297
|
-
|
|
38298
|
-
|
|
38299
|
-
|
|
38300
|
-
|
|
38301
|
-
|
|
38302
|
-
|
|
38303
|
-
|
|
38304
|
-
|
|
38305
|
-
|
|
38306
|
-
|
|
38307
|
-
|
|
38308
|
-
|
|
38309
|
-
|
|
38310
|
-
|
|
38311
|
-
|
|
38312
|
-
|
|
38313
|
-
|
|
38314
|
-
|
|
38315
|
-
|
|
38316
|
-
|
|
38317
|
-
|
|
38318
|
-
|
|
38319
|
-
|
|
38320
|
-
|
|
38321
|
-
|
|
38322
|
-
|
|
38323
|
-
|
|
38324
|
-
|
|
38325
|
-
|
|
38326
|
-
|
|
38327
|
-
|
|
38328
|
-
};
|
|
38329
|
-
|
|
38330
|
-
|
|
38331
|
-
|
|
38332
|
-
|
|
38333
|
-
|
|
38334
|
-
|
|
38335
|
-
|
|
38336
|
-
|
|
38337
|
-
|
|
38338
|
-
|
|
38339
|
-
|
|
38340
|
-
|
|
38341
|
-
|
|
38342
|
-
});
|
|
38343
|
-
return React__default['default'].createElement('div', { className: 'search__results__cards' }, renderedResults);
|
|
38344
|
-
};
|
|
38348
|
+
// const showMocukups = (context: any) => {
|
|
38349
|
+
// const mockedHotelResults = [
|
|
38350
|
+
// {
|
|
38351
|
+
// type: 'hotel',
|
|
38352
|
+
// id: 2,
|
|
38353
|
+
// title: 'HTFSWILLCARL',
|
|
38354
|
+
// image: 'https://images.unsplash.com/photo-1573790387438-4da905039392?q=80&w=1925&auto=format&fit=crop',
|
|
38355
|
+
// description: '2 persoons kamer',
|
|
38356
|
+
// location: 'Tenerif, Spanje',
|
|
38357
|
+
// price: '$2244',
|
|
38358
|
+
// ctaText: 'Bekijk details',
|
|
38359
|
+
// days: '7 nights',
|
|
38360
|
+
// flightInfo: null,
|
|
38361
|
+
// accommodation: 'Hotel XYZ',
|
|
38362
|
+
// regime: 'All-inclusive',
|
|
38363
|
+
// stars: 5
|
|
38364
|
+
// } as HotelResult,
|
|
38365
|
+
// {
|
|
38366
|
+
// type: 'hotel',
|
|
38367
|
+
// id: 3,
|
|
38368
|
+
// title: 'HTFSSOFTROCK',
|
|
38369
|
+
// image: 'https://images.unsplash.com/photo-1573790387438-4da905039392?q=80&w=1925&auto=format&fit=crop',
|
|
38370
|
+
// description: '3 persoons kamer',
|
|
38371
|
+
// location: 'Tenerif, Spanje',
|
|
38372
|
+
// price: '$2244',
|
|
38373
|
+
// ctaText: 'Bekijk details',
|
|
38374
|
+
// days: '7 nights',
|
|
38375
|
+
// flightInfo: null,
|
|
38376
|
+
// accommodation: 'Hotel ABC',
|
|
38377
|
+
// regime: 'Half-board',
|
|
38378
|
+
// stars: 4
|
|
38379
|
+
// } as HotelResult,
|
|
38380
|
+
// {
|
|
38381
|
+
// type: 'hotel',
|
|
38382
|
+
// id: 4,
|
|
38383
|
+
// title: 'HTFSROYGAR',
|
|
38384
|
+
// image: 'https://images.unsplash.com/photo-1573790387438-4da905039392?q=80&w=1925&auto=format&fit=crop',
|
|
38385
|
+
// description: '4 persoons kamer',
|
|
38386
|
+
// location: 'Tenerif, Spanje',
|
|
38387
|
+
// price: '$2496',
|
|
38388
|
+
// ctaText: 'Bekijk details',
|
|
38389
|
+
// days: '7 nights',
|
|
38390
|
+
// flightInfo: null,
|
|
38391
|
+
// accommodation: 'Hotel DEF',
|
|
38392
|
+
// regime: 'Full-board',
|
|
38393
|
+
// stars: 5
|
|
38394
|
+
// } as HotelResult,
|
|
38395
|
+
// {
|
|
38396
|
+
// type: 'hotel',
|
|
38397
|
+
// id: 5,
|
|
38398
|
+
// title: 'HTFSCONBEL',
|
|
38399
|
+
// image: 'https://images.unsplash.com/photo-1573790387438-4da905039392?q=80&w=1925&auto=format&fit=crop',
|
|
38400
|
+
// description: '5 persoons kamer',
|
|
38401
|
+
// location: 'Tenerif, Spanje',
|
|
38402
|
+
// price: '$6784.8',
|
|
38403
|
+
// ctaText: 'Bekijk details',
|
|
38404
|
+
// days: '7 nights',
|
|
38405
|
+
// flightInfo: null,
|
|
38406
|
+
// accommodation: 'Hotel GHI',
|
|
38407
|
+
// regime: 'All-inclusive',
|
|
38408
|
+
// stars: 5
|
|
38409
|
+
// } as HotelResult
|
|
38410
|
+
// ] as HotelResult[];
|
|
38411
|
+
// return <>{renderMockupResults(mockedHotelResults, context)}</>;
|
|
38412
|
+
// };
|
|
38413
|
+
// const renderMockupResults = (results: any[], context: any) => {
|
|
38414
|
+
// const renderedResults = results.map((result, index) => {
|
|
38415
|
+
// if (context?.showCustomCards && context?.customCardRenderer) {
|
|
38416
|
+
// return (
|
|
38417
|
+
// <div key={`${result.id}-${index}`} className="search__result-card">
|
|
38418
|
+
// {context.customCardRenderer(result)}
|
|
38419
|
+
// </div>
|
|
38420
|
+
// );
|
|
38421
|
+
// }
|
|
38422
|
+
// return <HotelCard key={`${result.id}-${index}`} result={result} />;
|
|
38423
|
+
// });
|
|
38424
|
+
// return <div className="search__results__cards">{renderedResults}</div>;
|
|
38425
|
+
// };
|
|
38345
38426
|
|
|
38346
38427
|
var RoundTripResults = function () {
|
|
38347
38428
|
return React__default['default'].createElement(
|
|
@@ -38601,91 +38682,6 @@ var RoundTripResults = function () {
|
|
|
38601
38682
|
);
|
|
38602
38683
|
};
|
|
38603
38684
|
|
|
38604
|
-
var enrichFiltersWithResults = function (results, filters, tags) {
|
|
38605
|
-
if (!results || results.length === 0 || !filters) {
|
|
38606
|
-
return filters !== null && filters !== void 0 ? filters : [];
|
|
38607
|
-
}
|
|
38608
|
-
return filters.map(function (filter) {
|
|
38609
|
-
var updatedFilter = __assign({}, filter);
|
|
38610
|
-
if (filter.property === 'price' && (filter.min == null || filter.max == null)) {
|
|
38611
|
-
var prices = results
|
|
38612
|
-
.map(function (r) {
|
|
38613
|
-
var _a;
|
|
38614
|
-
return (_a = r.price) !== null && _a !== void 0 ? _a : 0;
|
|
38615
|
-
})
|
|
38616
|
-
.filter(function (p) {
|
|
38617
|
-
return p > 0;
|
|
38618
|
-
});
|
|
38619
|
-
if (prices.length > 0) {
|
|
38620
|
-
updatedFilter.min = Math.floor(Math.min.apply(Math, prices));
|
|
38621
|
-
updatedFilter.max = Math.ceil(Math.max.apply(Math, prices));
|
|
38622
|
-
}
|
|
38623
|
-
}
|
|
38624
|
-
if (filter.property === 'accommodation') {
|
|
38625
|
-
var map_1 = new Map();
|
|
38626
|
-
results.forEach(function (r) {
|
|
38627
|
-
if (r.accommodationCode) {
|
|
38628
|
-
map_1.set(r.accommodationCode, {
|
|
38629
|
-
name: r.accommodationName,
|
|
38630
|
-
code: r.accommodationCode
|
|
38631
|
-
});
|
|
38632
|
-
}
|
|
38633
|
-
});
|
|
38634
|
-
updatedFilter.options = Array.from(map_1.values()).map(function (accommodation) {
|
|
38635
|
-
var _a;
|
|
38636
|
-
return {
|
|
38637
|
-
label: (_a = accommodation.name) !== null && _a !== void 0 ? _a : accommodation.code,
|
|
38638
|
-
value: accommodation.code,
|
|
38639
|
-
isChecked: false
|
|
38640
|
-
};
|
|
38641
|
-
});
|
|
38642
|
-
}
|
|
38643
|
-
if (filter.property === 'regime') {
|
|
38644
|
-
var map_2 = new Map();
|
|
38645
|
-
results.forEach(function (r) {
|
|
38646
|
-
if (r.regimeCode) {
|
|
38647
|
-
map_2.set(r.regimeCode, {
|
|
38648
|
-
name: r.regimeName,
|
|
38649
|
-
code: r.regimeCode
|
|
38650
|
-
});
|
|
38651
|
-
}
|
|
38652
|
-
});
|
|
38653
|
-
updatedFilter.options = Array.from(map_2.values()).map(function (regime) {
|
|
38654
|
-
var _a;
|
|
38655
|
-
return {
|
|
38656
|
-
label: (_a = regime.name) !== null && _a !== void 0 ? _a : regime.code,
|
|
38657
|
-
value: regime.code,
|
|
38658
|
-
isChecked: false
|
|
38659
|
-
};
|
|
38660
|
-
});
|
|
38661
|
-
}
|
|
38662
|
-
if (filter.property === 'theme') {
|
|
38663
|
-
var map_3 = new Map();
|
|
38664
|
-
results.forEach(function (r) {
|
|
38665
|
-
var _a;
|
|
38666
|
-
(_a = r.tagIds) === null || _a === void 0
|
|
38667
|
-
? void 0
|
|
38668
|
-
: _a.forEach(function (tagId) {
|
|
38669
|
-
var tag = tags.find(function (t) {
|
|
38670
|
-
return t.id === tagId;
|
|
38671
|
-
});
|
|
38672
|
-
if (tag && tag.id != null && tag.name != null) {
|
|
38673
|
-
map_3.set(tag.id, { name: tag.name, id: tag.id });
|
|
38674
|
-
}
|
|
38675
|
-
});
|
|
38676
|
-
});
|
|
38677
|
-
updatedFilter.options = Array.from(map_3.values()).map(function (theme) {
|
|
38678
|
-
return {
|
|
38679
|
-
label: theme.name,
|
|
38680
|
-
value: theme.id,
|
|
38681
|
-
isChecked: false
|
|
38682
|
-
};
|
|
38683
|
-
});
|
|
38684
|
-
}
|
|
38685
|
-
return updatedFilter;
|
|
38686
|
-
});
|
|
38687
|
-
};
|
|
38688
|
-
|
|
38689
38685
|
var ticksToMinutes = function (ticks) {
|
|
38690
38686
|
return Math.floor(ticks / 600000000);
|
|
38691
38687
|
};
|
|
@@ -40900,7 +40896,7 @@ var FlightResultsContainer = function (_a) {
|
|
|
40900
40896
|
React.useEffect(
|
|
40901
40897
|
function () {
|
|
40902
40898
|
if (!(context === null || context === void 0 ? void 0 : context.showMockup)) {
|
|
40903
|
-
if ((context === null || context === void 0 ? void 0 : context.
|
|
40899
|
+
if ((context === null || context === void 0 ? void 0 : context.searchConfiguration.qsmType) === exports.PortalQsmType.Flight && isHubReady) {
|
|
40904
40900
|
onFlightSearch();
|
|
40905
40901
|
}
|
|
40906
40902
|
}
|
|
@@ -41040,7 +41036,7 @@ var FlightResultsContainer = function (_a) {
|
|
|
41040
41036
|
'div',
|
|
41041
41037
|
{ className: 'search__results__wrapper' },
|
|
41042
41038
|
flightsLoading && React__default['default'].createElement(Spinner, null),
|
|
41043
|
-
(context === null || context === void 0 ? void 0 : context.
|
|
41039
|
+
(context === null || context === void 0 ? void 0 : context.searchConfiguration.qsmType) == exports.PortalQsmType.Flight &&
|
|
41044
41040
|
(context === null || context === void 0 ? void 0 : context.showFlightAccommodationResults) &&
|
|
41045
41041
|
results &&
|
|
41046
41042
|
results.length > 0 &&
|
|
@@ -41453,6 +41449,165 @@ var GroupTourResults = function (_a) {
|
|
|
41453
41449
|
);
|
|
41454
41450
|
};
|
|
41455
41451
|
|
|
41452
|
+
var enrichFiltersWithResults = function (results, filters, tags) {
|
|
41453
|
+
if (!results || results.length === 0 || !filters) {
|
|
41454
|
+
return filters !== null && filters !== void 0 ? filters : [];
|
|
41455
|
+
}
|
|
41456
|
+
return filters.map(function (filter) {
|
|
41457
|
+
var updatedFilter = __assign({}, filter);
|
|
41458
|
+
if (filter.property === 'price' && (filter.min == null || filter.max == null)) {
|
|
41459
|
+
var prices = results
|
|
41460
|
+
.map(function (r) {
|
|
41461
|
+
var _a;
|
|
41462
|
+
return (_a = r.price) !== null && _a !== void 0 ? _a : 0;
|
|
41463
|
+
})
|
|
41464
|
+
.filter(function (p) {
|
|
41465
|
+
return p > 0;
|
|
41466
|
+
});
|
|
41467
|
+
if (prices.length > 0) {
|
|
41468
|
+
updatedFilter.min = Math.floor(Math.min.apply(Math, prices));
|
|
41469
|
+
updatedFilter.max = Math.ceil(Math.max.apply(Math, prices));
|
|
41470
|
+
}
|
|
41471
|
+
}
|
|
41472
|
+
if (filter.property === 'accommodation') {
|
|
41473
|
+
var map_1 = new Map();
|
|
41474
|
+
results.forEach(function (r) {
|
|
41475
|
+
if (r.accommodationCode) {
|
|
41476
|
+
map_1.set(r.accommodationCode, {
|
|
41477
|
+
name: r.accommodationName,
|
|
41478
|
+
code: r.accommodationCode
|
|
41479
|
+
});
|
|
41480
|
+
}
|
|
41481
|
+
});
|
|
41482
|
+
updatedFilter.options = Array.from(map_1.values()).map(function (accommodation) {
|
|
41483
|
+
var _a;
|
|
41484
|
+
return {
|
|
41485
|
+
label: (_a = accommodation.name) !== null && _a !== void 0 ? _a : accommodation.code,
|
|
41486
|
+
value: accommodation.code,
|
|
41487
|
+
isChecked: false
|
|
41488
|
+
};
|
|
41489
|
+
});
|
|
41490
|
+
}
|
|
41491
|
+
if (filter.property === 'regime') {
|
|
41492
|
+
var map_2 = new Map();
|
|
41493
|
+
results.forEach(function (r) {
|
|
41494
|
+
if (r.regimeCode) {
|
|
41495
|
+
map_2.set(r.regimeCode, {
|
|
41496
|
+
name: r.regimeName,
|
|
41497
|
+
code: r.regimeCode
|
|
41498
|
+
});
|
|
41499
|
+
}
|
|
41500
|
+
});
|
|
41501
|
+
updatedFilter.options = Array.from(map_2.values()).map(function (regime) {
|
|
41502
|
+
var _a;
|
|
41503
|
+
return {
|
|
41504
|
+
label: (_a = regime.name) !== null && _a !== void 0 ? _a : regime.code,
|
|
41505
|
+
value: regime.code,
|
|
41506
|
+
isChecked: false
|
|
41507
|
+
};
|
|
41508
|
+
});
|
|
41509
|
+
}
|
|
41510
|
+
if (filter.property === 'theme') {
|
|
41511
|
+
var map_3 = new Map();
|
|
41512
|
+
results.forEach(function (r) {
|
|
41513
|
+
var _a;
|
|
41514
|
+
(_a = r.tagIds) === null || _a === void 0
|
|
41515
|
+
? void 0
|
|
41516
|
+
: _a.forEach(function (tagId) {
|
|
41517
|
+
var tag = tags.find(function (t) {
|
|
41518
|
+
return t.id === tagId;
|
|
41519
|
+
});
|
|
41520
|
+
if (tag && tag.id != null && tag.name != null) {
|
|
41521
|
+
map_3.set(tag.id, { name: tag.name, id: tag.id });
|
|
41522
|
+
}
|
|
41523
|
+
});
|
|
41524
|
+
});
|
|
41525
|
+
updatedFilter.options = Array.from(map_3.values()).map(function (theme) {
|
|
41526
|
+
return {
|
|
41527
|
+
label: theme.name,
|
|
41528
|
+
value: theme.id,
|
|
41529
|
+
isChecked: false
|
|
41530
|
+
};
|
|
41531
|
+
});
|
|
41532
|
+
}
|
|
41533
|
+
return updatedFilter;
|
|
41534
|
+
});
|
|
41535
|
+
};
|
|
41536
|
+
var enrichFiltersWithPackageAccoResults = function (results, filters, tags) {
|
|
41537
|
+
if (!results || results.length === 0 || !filters) {
|
|
41538
|
+
return filters !== null && filters !== void 0 ? filters : [];
|
|
41539
|
+
}
|
|
41540
|
+
return filters.map(function (filter) {
|
|
41541
|
+
var updatedFilter = __assign({}, filter);
|
|
41542
|
+
if (filter.property === 'price' && (filter.min == null || filter.max == null)) {
|
|
41543
|
+
var prices = results
|
|
41544
|
+
.map(function (r) {
|
|
41545
|
+
var _a;
|
|
41546
|
+
return (_a = r.price) !== null && _a !== void 0 ? _a : 0;
|
|
41547
|
+
})
|
|
41548
|
+
.filter(function (p) {
|
|
41549
|
+
return p > 0;
|
|
41550
|
+
});
|
|
41551
|
+
if (prices.length > 0) {
|
|
41552
|
+
updatedFilter.min = Math.floor(Math.min.apply(Math, prices));
|
|
41553
|
+
updatedFilter.max = Math.ceil(Math.max.apply(Math, prices));
|
|
41554
|
+
}
|
|
41555
|
+
}
|
|
41556
|
+
if (filter.property === 'accommodation') {
|
|
41557
|
+
var map_4 = new Map();
|
|
41558
|
+
results.forEach(function (r) {
|
|
41559
|
+
var rooms = lodash.flatMap(r.rooms);
|
|
41560
|
+
if (rooms) {
|
|
41561
|
+
rooms.map(function (room) {
|
|
41562
|
+
room.options.map(function (option) {
|
|
41563
|
+
if (option.accommodationCode) {
|
|
41564
|
+
map_4.set(option.accommodationCode, {
|
|
41565
|
+
name: option.accommodationName,
|
|
41566
|
+
code: option.accommodationCode
|
|
41567
|
+
});
|
|
41568
|
+
}
|
|
41569
|
+
});
|
|
41570
|
+
});
|
|
41571
|
+
}
|
|
41572
|
+
});
|
|
41573
|
+
updatedFilter.options = Array.from(map_4.values()).map(function (accommodation) {
|
|
41574
|
+
var _a;
|
|
41575
|
+
return {
|
|
41576
|
+
label: (_a = accommodation.name) !== null && _a !== void 0 ? _a : accommodation.code,
|
|
41577
|
+
value: accommodation.code,
|
|
41578
|
+
isChecked: false
|
|
41579
|
+
};
|
|
41580
|
+
});
|
|
41581
|
+
}
|
|
41582
|
+
if (filter.property === 'regime') {
|
|
41583
|
+
var map_5 = new Map();
|
|
41584
|
+
results.forEach(function (r) {
|
|
41585
|
+
var rooms = lodash.flatMap(r.rooms);
|
|
41586
|
+
if (rooms) {
|
|
41587
|
+
rooms.map(function (room) {
|
|
41588
|
+
room.options.map(function (option) {
|
|
41589
|
+
if (option.regimeCode) {
|
|
41590
|
+
map_5.set(option.regimeCode, {
|
|
41591
|
+
name: option.regimeName,
|
|
41592
|
+
code: option.regimeCode
|
|
41593
|
+
});
|
|
41594
|
+
}
|
|
41595
|
+
});
|
|
41596
|
+
});
|
|
41597
|
+
}
|
|
41598
|
+
});
|
|
41599
|
+
updatedFilter.options = Array.from(map_5.values()).map(function (regime) {
|
|
41600
|
+
var _a;
|
|
41601
|
+
return {
|
|
41602
|
+
label: (_a = regime.name) !== null && _a !== void 0 ? _a : regime.code,
|
|
41603
|
+
value: regime.code,
|
|
41604
|
+
isChecked: false
|
|
41605
|
+
};
|
|
41606
|
+
});
|
|
41607
|
+
}
|
|
41608
|
+
return updatedFilter;
|
|
41609
|
+
});
|
|
41610
|
+
};
|
|
41456
41611
|
var applyFilters = function (results, filters) {
|
|
41457
41612
|
return results.filter(function (r) {
|
|
41458
41613
|
return filters.every(function (filter) {
|
|
@@ -41518,6 +41673,61 @@ var applyFilters = function (results, filters) {
|
|
|
41518
41673
|
});
|
|
41519
41674
|
});
|
|
41520
41675
|
};
|
|
41676
|
+
var applyFiltersToPackageAccoResults = function (results, filters) {
|
|
41677
|
+
return results.filter(function (r) {
|
|
41678
|
+
return filters.every(function (filter) {
|
|
41679
|
+
var _a, _b;
|
|
41680
|
+
if (!filter.isFrontendFilter) return true;
|
|
41681
|
+
// ACCOMMODATION
|
|
41682
|
+
if (filter.property === 'accommodation') {
|
|
41683
|
+
var selected_2 =
|
|
41684
|
+
(_a = filter.options) === null || _a === void 0
|
|
41685
|
+
? void 0
|
|
41686
|
+
: _a
|
|
41687
|
+
.filter(function (o) {
|
|
41688
|
+
return o.isChecked;
|
|
41689
|
+
})
|
|
41690
|
+
.map(function (o) {
|
|
41691
|
+
return o.value;
|
|
41692
|
+
});
|
|
41693
|
+
if (!selected_2 || selected_2.length === 0) return true;
|
|
41694
|
+
var roomOptions = r.rooms.flatMap(function (room) {
|
|
41695
|
+
return room.options;
|
|
41696
|
+
});
|
|
41697
|
+
return roomOptions.some(function (option) {
|
|
41698
|
+
return selected_2.includes(option.accommodationCode);
|
|
41699
|
+
});
|
|
41700
|
+
}
|
|
41701
|
+
// REGIME
|
|
41702
|
+
if (filter.property === 'regime') {
|
|
41703
|
+
var selected_3 =
|
|
41704
|
+
(_b = filter.options) === null || _b === void 0
|
|
41705
|
+
? void 0
|
|
41706
|
+
: _b
|
|
41707
|
+
.filter(function (o) {
|
|
41708
|
+
return o.isChecked;
|
|
41709
|
+
})
|
|
41710
|
+
.map(function (o) {
|
|
41711
|
+
return o.value;
|
|
41712
|
+
});
|
|
41713
|
+
if (!selected_3 || selected_3.length === 0) return true;
|
|
41714
|
+
var roomOptions = r.rooms.flatMap(function (room) {
|
|
41715
|
+
return room.options;
|
|
41716
|
+
});
|
|
41717
|
+
return roomOptions.some(function (option) {
|
|
41718
|
+
return selected_3.includes(option.regimeCode);
|
|
41719
|
+
});
|
|
41720
|
+
}
|
|
41721
|
+
// PRICE
|
|
41722
|
+
if (filter.property === 'price') {
|
|
41723
|
+
if (filter.selectedMin != null && r.price < filter.selectedMin) return false;
|
|
41724
|
+
if (filter.selectedMax != null && r.price > filter.selectedMax) return false;
|
|
41725
|
+
return true;
|
|
41726
|
+
}
|
|
41727
|
+
return true;
|
|
41728
|
+
});
|
|
41729
|
+
});
|
|
41730
|
+
};
|
|
41521
41731
|
|
|
41522
41732
|
var SearchResultsContainer = function () {
|
|
41523
41733
|
var _a;
|
|
@@ -41615,11 +41825,12 @@ var SearchResultsContainer = function () {
|
|
|
41615
41825
|
payload: {
|
|
41616
41826
|
catalogueIds: (_a = context.tideConnection.catalogueIds) !== null && _a !== void 0 ? _a : [],
|
|
41617
41827
|
serviceType:
|
|
41618
|
-
context.
|
|
41828
|
+
context.searchConfiguration.qsmType === exports.PortalQsmType.Accommodation ||
|
|
41829
|
+
context.searchConfiguration.qsmType === exports.PortalQsmType.AccommodationAndFlight
|
|
41619
41830
|
? 3
|
|
41620
|
-
: context.
|
|
41831
|
+
: context.searchConfiguration.qsmType === exports.PortalQsmType.Flight
|
|
41621
41832
|
? 7
|
|
41622
|
-
: context.
|
|
41833
|
+
: context.searchConfiguration.qsmType === exports.PortalQsmType.RoundTrip
|
|
41623
41834
|
? 1
|
|
41624
41835
|
: 0,
|
|
41625
41836
|
searchType: 0,
|
|
@@ -41689,14 +41900,15 @@ var SearchResultsContainer = function () {
|
|
|
41689
41900
|
payload: {
|
|
41690
41901
|
catalogueIds: (_a = context.tideConnection.catalogueIds) !== null && _a !== void 0 ? _a : [],
|
|
41691
41902
|
serviceType:
|
|
41692
|
-
context.
|
|
41903
|
+
context.searchConfiguration.qsmType === exports.PortalQsmType.Accommodation ||
|
|
41904
|
+
context.searchConfiguration.qsmType === exports.PortalQsmType.AccommodationAndFlight
|
|
41693
41905
|
? 3
|
|
41694
|
-
: context.
|
|
41906
|
+
: context.searchConfiguration.qsmType === exports.PortalQsmType.Flight
|
|
41695
41907
|
? 7
|
|
41696
|
-
: context.
|
|
41908
|
+
: context.searchConfiguration.qsmType === exports.PortalQsmType.RoundTrip
|
|
41697
41909
|
? 1
|
|
41698
41910
|
: undefined,
|
|
41699
|
-
searchType: context.
|
|
41911
|
+
searchType: context.searchConfiguration.qsmType === exports.PortalQsmType.GroupTour ? 1 : 0,
|
|
41700
41912
|
destination: {
|
|
41701
41913
|
id: Number(destinationId),
|
|
41702
41914
|
isCountry: destinationIsCountry,
|
|
@@ -41709,7 +41921,7 @@ var SearchResultsContainer = function () {
|
|
|
41709
41921
|
toDate: to,
|
|
41710
41922
|
earliestFromOffset: 0,
|
|
41711
41923
|
latestToOffset: 0,
|
|
41712
|
-
includeFlights: context.
|
|
41924
|
+
includeFlights: context.searchConfiguration.qsmType === exports.PortalQsmType.AccommodationAndFlight ? true : false,
|
|
41713
41925
|
// regimeCodes:
|
|
41714
41926
|
// filters
|
|
41715
41927
|
// .find((f) => f.property === 'regime')
|
|
@@ -41717,7 +41929,8 @@ var SearchResultsContainer = function () {
|
|
|
41717
41929
|
// .flatMap((o) => o.value.toString()) || [],
|
|
41718
41930
|
// minPrice: filters.find((f) => f.property === 'price')?.selectedMin,
|
|
41719
41931
|
// maxPrice: filters.find((f) => f.property === 'price')?.selectedMax,
|
|
41720
|
-
useExactDates:
|
|
41932
|
+
useExactDates:
|
|
41933
|
+
(context === null || context === void 0 ? void 0 : context.searchConfiguration.qsmType) === exports.PortalQsmType.GroupTour ? false : true,
|
|
41721
41934
|
onlyCachedResults: false,
|
|
41722
41935
|
includeAllAllotments: true,
|
|
41723
41936
|
productIds: hotel ? [hotel] : [],
|
|
@@ -41783,6 +41996,96 @@ var SearchResultsContainer = function () {
|
|
|
41783
41996
|
});
|
|
41784
41997
|
return requestRooms;
|
|
41785
41998
|
};
|
|
41999
|
+
var buildPackagingAccommodationRequestFromQueryParams = function (params) {
|
|
42000
|
+
var _a, _b;
|
|
42001
|
+
var from = getDateFromParams(params, 'fromDate');
|
|
42002
|
+
var to = getDateFromParams(params, 'toDate');
|
|
42003
|
+
var rooms = getRoomsFromParams(params, 'rooms');
|
|
42004
|
+
var country = getNumberFromParams(params, 'country');
|
|
42005
|
+
var region = getNumberFromParams(params, 'region');
|
|
42006
|
+
var oord = getNumberFromParams(params, 'oord');
|
|
42007
|
+
var city = getNumberFromParams(params, 'location');
|
|
42008
|
+
var hotel = getNumberFromParams(params, 'hotel');
|
|
42009
|
+
var tagId = getNumberFromParams(params, 'tagId');
|
|
42010
|
+
var agentId = getNumberFromParams(params, 'agentId');
|
|
42011
|
+
if (!from || !to) {
|
|
42012
|
+
console.error('Missing fromDate or toDate in query params, using default values');
|
|
42013
|
+
return null;
|
|
42014
|
+
}
|
|
42015
|
+
if (typeof window !== 'undefined') {
|
|
42016
|
+
window.scrollTo(0, 0);
|
|
42017
|
+
}
|
|
42018
|
+
var destinationId = null;
|
|
42019
|
+
var destinationIsCountry = false;
|
|
42020
|
+
var destinationIsRegion = false;
|
|
42021
|
+
var destinationIsOord = false;
|
|
42022
|
+
var destinationIsLocation = false;
|
|
42023
|
+
if (country) {
|
|
42024
|
+
destinationId = country;
|
|
42025
|
+
destinationIsCountry = true;
|
|
42026
|
+
} else if (region) {
|
|
42027
|
+
destinationId = region;
|
|
42028
|
+
destinationIsRegion = true;
|
|
42029
|
+
} else if (oord) {
|
|
42030
|
+
destinationId = oord;
|
|
42031
|
+
destinationIsOord = true;
|
|
42032
|
+
} else if (city) {
|
|
42033
|
+
destinationId = city;
|
|
42034
|
+
destinationIsLocation = true;
|
|
42035
|
+
}
|
|
42036
|
+
var searchRequest = {
|
|
42037
|
+
officeId: 1,
|
|
42038
|
+
agentId: agentId !== null && agentId !== void 0 ? agentId : null,
|
|
42039
|
+
catalogueId: (_a = context.searchConfiguration.defaultCatalogueId) !== null && _a !== void 0 ? _a : 0,
|
|
42040
|
+
searchConfigurationId: context.searchConfiguration.id,
|
|
42041
|
+
language: (_b = context.languageCode) !== null && _b !== void 0 ? _b : 'en-GB',
|
|
42042
|
+
servicesType: 3, // accommodation
|
|
42043
|
+
fromDate: from,
|
|
42044
|
+
toDate: to,
|
|
42045
|
+
destination: {
|
|
42046
|
+
id: Number(destinationId),
|
|
42047
|
+
isCountry: destinationIsCountry,
|
|
42048
|
+
isRegion: destinationIsRegion,
|
|
42049
|
+
isOord: destinationIsOord,
|
|
42050
|
+
isLocation: destinationIsLocation
|
|
42051
|
+
},
|
|
42052
|
+
productCode: hotel ? hotel.toString() : '',
|
|
42053
|
+
rooms: getPackagingRequestRooms(rooms),
|
|
42054
|
+
tagIds: tagId ? [tagId] : []
|
|
42055
|
+
};
|
|
42056
|
+
console.log('Search request for packaging accommodation from query params', searchRequest);
|
|
42057
|
+
return searchRequest;
|
|
42058
|
+
};
|
|
42059
|
+
var getPackagingRequestRooms = function (rooms) {
|
|
42060
|
+
if (!rooms) {
|
|
42061
|
+
// Fall back to 2 adults
|
|
42062
|
+
var room = { index: 0, travellers: [] };
|
|
42063
|
+
lodash.range(0, 2).forEach(function () {
|
|
42064
|
+
room.travellers.push({
|
|
42065
|
+
age: 30
|
|
42066
|
+
});
|
|
42067
|
+
});
|
|
42068
|
+
return [room];
|
|
42069
|
+
}
|
|
42070
|
+
var requestRooms =
|
|
42071
|
+
rooms === null || rooms === void 0
|
|
42072
|
+
? void 0
|
|
42073
|
+
: rooms.map(function (x, i) {
|
|
42074
|
+
var room = { index: i, travellers: [] };
|
|
42075
|
+
lodash.range(0, x.adults).forEach(function () {
|
|
42076
|
+
room.travellers.push({
|
|
42077
|
+
age: 30
|
|
42078
|
+
});
|
|
42079
|
+
});
|
|
42080
|
+
x.childAges.forEach(function (x) {
|
|
42081
|
+
room.travellers.push({
|
|
42082
|
+
age: x
|
|
42083
|
+
});
|
|
42084
|
+
});
|
|
42085
|
+
return room;
|
|
42086
|
+
});
|
|
42087
|
+
return requestRooms;
|
|
42088
|
+
};
|
|
41786
42089
|
React.useEffect(
|
|
41787
42090
|
function () {
|
|
41788
42091
|
if (typeof document !== 'undefined') {
|
|
@@ -41854,7 +42157,7 @@ var SearchResultsContainer = function () {
|
|
|
41854
42157
|
dispatch(setSelectedSearchResult(matching.productId));
|
|
41855
42158
|
}
|
|
41856
42159
|
} else {
|
|
41857
|
-
if (context.
|
|
42160
|
+
if (context.searchConfiguration.qsmType === exports.PortalQsmType.AccommodationAndFlight) {
|
|
41858
42161
|
dispatch(setSelectedSearchResult((_b = packageSearchResults[0]) === null || _b === void 0 ? void 0 : _b.productId));
|
|
41859
42162
|
}
|
|
41860
42163
|
}
|
|
@@ -41872,14 +42175,71 @@ var SearchResultsContainer = function () {
|
|
|
41872
42175
|
});
|
|
41873
42176
|
});
|
|
41874
42177
|
};
|
|
42178
|
+
var runHotelSearch = function () {
|
|
42179
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
|
42180
|
+
var config, params, searchRequest, rq, packageAccoSearchResults, enrichedFilters, initialFilteredResults, err_2;
|
|
42181
|
+
var _a;
|
|
42182
|
+
return __generator(this, function (_b) {
|
|
42183
|
+
switch (_b.label) {
|
|
42184
|
+
case 0:
|
|
42185
|
+
dispatch(setIsLoading(true));
|
|
42186
|
+
_b.label = 1;
|
|
42187
|
+
case 1:
|
|
42188
|
+
_b.trys.push([1, 3, , 4]);
|
|
42189
|
+
if (!context) {
|
|
42190
|
+
return [2 /*return*/];
|
|
42191
|
+
}
|
|
42192
|
+
config = {
|
|
42193
|
+
host: context.tideConnection.host,
|
|
42194
|
+
apiKey: context.tideConnection.apiKey
|
|
42195
|
+
};
|
|
42196
|
+
params = new URLSearchParams(location.search);
|
|
42197
|
+
searchRequest = void 0;
|
|
42198
|
+
rq = buildPackagingAccommodationRequestFromQueryParams(params);
|
|
42199
|
+
if (!rq) {
|
|
42200
|
+
throw new Error('Invalid search parameters');
|
|
42201
|
+
}
|
|
42202
|
+
searchRequest = rq;
|
|
42203
|
+
return [4 /*yield*/, build.searchPackagingAccommodations(config, searchRequest)];
|
|
42204
|
+
case 2:
|
|
42205
|
+
packageAccoSearchResults = _b.sent();
|
|
42206
|
+
console.log('package Acco SearchResults', packageAccoSearchResults);
|
|
42207
|
+
enrichedFilters = enrichFiltersWithPackageAccoResults(
|
|
42208
|
+
packageAccoSearchResults,
|
|
42209
|
+
context.filters,
|
|
42210
|
+
(_a = context.tags) !== null && _a !== void 0 ? _a : []
|
|
42211
|
+
);
|
|
42212
|
+
if (!initialFiltersSet) {
|
|
42213
|
+
dispatch(resetFilters(enrichedFilters));
|
|
42214
|
+
setInitialFilters(enrichedFilters);
|
|
42215
|
+
setInitialFiltersSet(true);
|
|
42216
|
+
}
|
|
42217
|
+
dispatch(setPackagingAccoResults(packageAccoSearchResults));
|
|
42218
|
+
initialFilteredResults = applyFiltersToPackageAccoResults(packageAccoSearchResults, filters);
|
|
42219
|
+
dispatch(setFilteredPackagingAccoResults(initialFilteredResults));
|
|
42220
|
+
dispatch(setIsLoading(false));
|
|
42221
|
+
return [3 /*break*/, 4];
|
|
42222
|
+
case 3:
|
|
42223
|
+
err_2 = _b.sent();
|
|
42224
|
+
console.error('Search failed', err_2);
|
|
42225
|
+
dispatch(setIsLoading(false));
|
|
42226
|
+
return [3 /*break*/, 4];
|
|
42227
|
+
case 4:
|
|
42228
|
+
return [2 /*return*/];
|
|
42229
|
+
}
|
|
42230
|
+
});
|
|
42231
|
+
});
|
|
42232
|
+
};
|
|
41875
42233
|
if (!(context === null || context === void 0 ? void 0 : context.showMockup)) {
|
|
41876
42234
|
if (
|
|
41877
|
-
(context === null || context === void 0 ? void 0 : context.
|
|
41878
|
-
(context === null || context === void 0 ? void 0 : context.
|
|
41879
|
-
(context === null || context === void 0 ? void 0 : context.type) === exports.PortalQsmType.GroupTour
|
|
42235
|
+
(context === null || context === void 0 ? void 0 : context.searchConfiguration.qsmType) === exports.PortalQsmType.AccommodationAndFlight ||
|
|
42236
|
+
(context === null || context === void 0 ? void 0 : context.searchConfiguration.qsmType) === exports.PortalQsmType.GroupTour
|
|
41880
42237
|
) {
|
|
41881
42238
|
runSearch();
|
|
41882
42239
|
}
|
|
42240
|
+
if ((context === null || context === void 0 ? void 0 : context.searchConfiguration.qsmType) === exports.PortalQsmType.Accommodation) {
|
|
42241
|
+
runHotelSearch();
|
|
42242
|
+
}
|
|
41883
42243
|
}
|
|
41884
42244
|
},
|
|
41885
42245
|
[location.search]
|
|
@@ -41889,15 +42249,15 @@ var SearchResultsContainer = function () {
|
|
|
41889
42249
|
function () {
|
|
41890
42250
|
var fetchPackageDetails = function () {
|
|
41891
42251
|
return __awaiter(void 0, void 0, void 0, function () {
|
|
41892
|
-
var config, selectedItem, params, entryId, requestRooms, rooms, detailsRequest, detailsResponse, detailsWLResponse,
|
|
42252
|
+
var config, selectedItem, params, entryId, requestRooms, rooms, detailsRequest, detailsResponse, detailsWLResponse, err_3;
|
|
41893
42253
|
var _a, _b;
|
|
41894
42254
|
return __generator(this, function (_c) {
|
|
41895
42255
|
switch (_c.label) {
|
|
41896
42256
|
case 0:
|
|
41897
42257
|
if (!selectedSearchResultId || !context) return [2 /*return*/];
|
|
41898
42258
|
if (
|
|
41899
|
-
(context === null || context === void 0 ? void 0 : context.
|
|
41900
|
-
(context === null || context === void 0 ? void 0 : context.
|
|
42259
|
+
(context === null || context === void 0 ? void 0 : context.searchConfiguration.qsmType) === exports.PortalQsmType.Accommodation ||
|
|
42260
|
+
(context === null || context === void 0 ? void 0 : context.searchConfiguration.qsmType) === exports.PortalQsmType.GroupTour
|
|
41901
42261
|
) {
|
|
41902
42262
|
handleFlyInToggle(true);
|
|
41903
42263
|
}
|
|
@@ -41933,7 +42293,7 @@ var SearchResultsContainer = function () {
|
|
|
41933
42293
|
productCode: selectedItem.code,
|
|
41934
42294
|
fromDate: selectedItem.fromDate,
|
|
41935
42295
|
toDate: selectedItem.toDate,
|
|
41936
|
-
includeFlights: context.
|
|
42296
|
+
includeFlights: context.searchConfiguration.qsmType === exports.PortalQsmType.AccommodationAndFlight ? true : false,
|
|
41937
42297
|
includeHotels: true,
|
|
41938
42298
|
includePaxTypes: true,
|
|
41939
42299
|
checkExternalAvailability: true,
|
|
@@ -41976,8 +42336,8 @@ var SearchResultsContainer = function () {
|
|
|
41976
42336
|
case 5:
|
|
41977
42337
|
return [3 /*break*/, 7];
|
|
41978
42338
|
case 6:
|
|
41979
|
-
|
|
41980
|
-
console.error('Failed to fetch package details',
|
|
42339
|
+
err_3 = _c.sent();
|
|
42340
|
+
console.error('Failed to fetch package details', err_3);
|
|
41981
42341
|
return [3 /*break*/, 7];
|
|
41982
42342
|
case 7:
|
|
41983
42343
|
return [2 /*return*/];
|
|
@@ -42006,14 +42366,14 @@ var SearchResultsContainer = function () {
|
|
|
42006
42366
|
React__default['default'].createElement(
|
|
42007
42367
|
'div',
|
|
42008
42368
|
{ className: 'search__container' },
|
|
42009
|
-
context.
|
|
42369
|
+
context.searchConfiguration.qsmType === exports.PortalQsmType.Flight &&
|
|
42010
42370
|
React__default['default'].createElement(
|
|
42011
42371
|
FlightSearchProvider,
|
|
42012
42372
|
{ tideConnection: context.tideConnection },
|
|
42013
42373
|
React__default['default'].createElement(FlightResultsContainer, { isMobile: isMobile }),
|
|
42014
42374
|
React__default['default'].createElement(FlyIn, {
|
|
42015
42375
|
title: 'Select your fare',
|
|
42016
|
-
srpType: context.
|
|
42376
|
+
srpType: context.searchConfiguration.qsmType,
|
|
42017
42377
|
isOpen: flyInIsOpen,
|
|
42018
42378
|
setIsOpen: handleFlyInToggle,
|
|
42019
42379
|
onPanelRef: function (el) {
|
|
@@ -42021,14 +42381,14 @@ var SearchResultsContainer = function () {
|
|
|
42021
42381
|
}
|
|
42022
42382
|
})
|
|
42023
42383
|
),
|
|
42024
|
-
(context.
|
|
42025
|
-
context.
|
|
42026
|
-
context.
|
|
42027
|
-
context.
|
|
42384
|
+
(context.searchConfiguration.qsmType === exports.PortalQsmType.AccommodationAndFlight ||
|
|
42385
|
+
context.searchConfiguration.qsmType === exports.PortalQsmType.Accommodation ||
|
|
42386
|
+
context.searchConfiguration.qsmType === exports.PortalQsmType.GroupTour ||
|
|
42387
|
+
context.searchConfiguration.qsmType === exports.PortalQsmType.RoundTrip) &&
|
|
42028
42388
|
React__default['default'].createElement(
|
|
42029
42389
|
React__default['default'].Fragment,
|
|
42030
42390
|
null,
|
|
42031
|
-
context.
|
|
42391
|
+
context.searchConfiguration.qsmType != exports.PortalQsmType.AccommodationAndFlight &&
|
|
42032
42392
|
context.showFilters &&
|
|
42033
42393
|
React__default['default'].createElement(Filters, {
|
|
42034
42394
|
initialFilters: initialFilters,
|
|
@@ -42040,7 +42400,7 @@ var SearchResultsContainer = function () {
|
|
|
42040
42400
|
// handleApplyFilters={() => setSearchTrigger((prev) => prev + 1)}
|
|
42041
42401
|
isLoading: isLoading
|
|
42042
42402
|
}),
|
|
42043
|
-
context.
|
|
42403
|
+
context.searchConfiguration.qsmType === exports.PortalQsmType.AccommodationAndFlight &&
|
|
42044
42404
|
React__default['default'].createElement(Itinerary, {
|
|
42045
42405
|
isOpen: itineraryOpen,
|
|
42046
42406
|
handleSetIsOpen: function () {
|
|
@@ -42058,7 +42418,7 @@ var SearchResultsContainer = function () {
|
|
|
42058
42418
|
React__default['default'].createElement(
|
|
42059
42419
|
'div',
|
|
42060
42420
|
{ className: 'search__results__actions' },
|
|
42061
|
-
context.
|
|
42421
|
+
context.searchConfiguration.qsmType != exports.PortalQsmType.AccommodationAndFlight &&
|
|
42062
42422
|
context.showFilters &&
|
|
42063
42423
|
React__default['default'].createElement(
|
|
42064
42424
|
'div',
|
|
@@ -42071,7 +42431,7 @@ var SearchResultsContainer = function () {
|
|
|
42071
42431
|
React__default['default'].createElement(Icon$1, { name: 'ui-filter', className: 'mobile-filters-button__icon', height: 16 }),
|
|
42072
42432
|
translations.SRP.FILTERS
|
|
42073
42433
|
),
|
|
42074
|
-
context.
|
|
42434
|
+
context.searchConfiguration.qsmType === exports.PortalQsmType.AccommodationAndFlight &&
|
|
42075
42435
|
React__default['default'].createElement(
|
|
42076
42436
|
'div',
|
|
42077
42437
|
{
|
|
@@ -42131,8 +42491,9 @@ var SearchResultsContainer = function () {
|
|
|
42131
42491
|
{ className: 'search__results__wrapper' },
|
|
42132
42492
|
context.showTabViews && React__default['default'].createElement(TabViews, null),
|
|
42133
42493
|
context.showRoundTripResults && context.showMockup && React__default['default'].createElement(RoundTripResults, null),
|
|
42134
|
-
context.
|
|
42135
|
-
|
|
42494
|
+
context.searchConfiguration.qsmType === exports.PortalQsmType.GroupTour &&
|
|
42495
|
+
React__default['default'].createElement(GroupTourResults, { isLoading: isLoading }),
|
|
42496
|
+
context.searchConfiguration.qsmType === exports.PortalQsmType.AccommodationAndFlight &&
|
|
42136
42497
|
context.showFlightResults &&
|
|
42137
42498
|
(bookingPackageDetails === null || bookingPackageDetails === void 0 ? void 0 : bookingPackageDetails.outwardFlights) &&
|
|
42138
42499
|
React__default['default'].createElement(FlightResults, {
|
|
@@ -42140,7 +42501,7 @@ var SearchResultsContainer = function () {
|
|
|
42140
42501
|
isDeparture: true
|
|
42141
42502
|
}),
|
|
42142
42503
|
context.showHotelAccommodationResults && React__default['default'].createElement(HotelAccommodationResults, { isLoading: isLoading }),
|
|
42143
|
-
context.
|
|
42504
|
+
context.searchConfiguration.qsmType === exports.PortalQsmType.AccommodationAndFlight &&
|
|
42144
42505
|
context.showFlightResults &&
|
|
42145
42506
|
(bookingPackageDetails === null || bookingPackageDetails === void 0 ? void 0 : bookingPackageDetails.returnFlights) &&
|
|
42146
42507
|
React__default['default'].createElement(FlightResults, {
|
|
@@ -42151,7 +42512,7 @@ var SearchResultsContainer = function () {
|
|
|
42151
42512
|
),
|
|
42152
42513
|
React__default['default'].createElement(FlyIn, {
|
|
42153
42514
|
title: ''.concat(translations.SRP.SELECT, ' ').concat(translations.SRP.ACCOMMODATION),
|
|
42154
|
-
srpType: context.
|
|
42515
|
+
srpType: context.searchConfiguration.qsmType,
|
|
42155
42516
|
isOpen: flyInIsOpen,
|
|
42156
42517
|
setIsOpen: handleFlyInToggle,
|
|
42157
42518
|
onPanelRef: function (el) {
|