@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-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;
|
|
@@ -24412,7 +24423,7 @@ var aggregatePricePerPaxType = function (priceDetails, requestRooms) {
|
|
|
24412
24423
|
room.pax.forEach(function (pax) {
|
|
24413
24424
|
var paxType = 'ADULT';
|
|
24414
24425
|
if (typeof pax.age === 'number') {
|
|
24415
|
-
if (pax.age <= 11) {
|
|
24426
|
+
if (pax.age <= 11 && pax.age > 2) {
|
|
24416
24427
|
paxType = 'CHILD';
|
|
24417
24428
|
} else if (pax.age <= 2) {
|
|
24418
24429
|
paxType = 'INFANT';
|
|
@@ -30413,6 +30424,7 @@ var Footer = function (_a) {
|
|
|
30413
30424
|
|
|
30414
30425
|
var QSMConfigurationContext = React__default['default'].createContext({
|
|
30415
30426
|
type: exports.PortalQsmType.Accommodation,
|
|
30427
|
+
searchConfigurations: [],
|
|
30416
30428
|
askTravelers: false,
|
|
30417
30429
|
askNationality: false,
|
|
30418
30430
|
askTravelClass: false,
|
|
@@ -33042,6 +33054,7 @@ var TravelNationalityPicker = function () {
|
|
|
33042
33054
|
};
|
|
33043
33055
|
|
|
33044
33056
|
var QSMContainer = function () {
|
|
33057
|
+
var _a;
|
|
33045
33058
|
var dispatch = reactRedux.useDispatch();
|
|
33046
33059
|
var isMobile = useMediaQuery('(max-width: 768px)');
|
|
33047
33060
|
var qsmState = reactRedux.useSelector(function (state) {
|
|
@@ -33052,24 +33065,36 @@ var QSMContainer = function () {
|
|
|
33052
33065
|
fromDate = qsmState.fromDate,
|
|
33053
33066
|
toDate = qsmState.toDate,
|
|
33054
33067
|
tripType = qsmState.tripType;
|
|
33055
|
-
var
|
|
33056
|
-
askTravelers =
|
|
33057
|
-
askRooms =
|
|
33058
|
-
askNationality =
|
|
33059
|
-
askTravelClass =
|
|
33060
|
-
askTravelType =
|
|
33061
|
-
submitIcon =
|
|
33062
|
-
onSubmit =
|
|
33063
|
-
travelTypes =
|
|
33064
|
-
languageCode =
|
|
33065
|
-
departureAirport =
|
|
33066
|
-
destinationAirport =
|
|
33067
|
-
returnAirport =
|
|
33068
|
-
destination =
|
|
33069
|
-
allowOneWay =
|
|
33070
|
-
allowRoundtrip =
|
|
33071
|
-
allowOpenJaw =
|
|
33068
|
+
var _b = React.useContext(QSMConfigurationContext),
|
|
33069
|
+
askTravelers = _b.askTravelers,
|
|
33070
|
+
askRooms = _b.askRooms,
|
|
33071
|
+
askNationality = _b.askNationality,
|
|
33072
|
+
askTravelClass = _b.askTravelClass,
|
|
33073
|
+
askTravelType = _b.askTravelType,
|
|
33074
|
+
submitIcon = _b.submitIcon,
|
|
33075
|
+
onSubmit = _b.onSubmit,
|
|
33076
|
+
travelTypes = _b.travelTypes,
|
|
33077
|
+
languageCode = _b.languageCode,
|
|
33078
|
+
departureAirport = _b.departureAirport,
|
|
33079
|
+
destinationAirport = _b.destinationAirport,
|
|
33080
|
+
returnAirport = _b.returnAirport,
|
|
33081
|
+
destination = _b.destination,
|
|
33082
|
+
allowOneWay = _b.allowOneWay,
|
|
33083
|
+
allowRoundtrip = _b.allowRoundtrip,
|
|
33084
|
+
allowOpenJaw = _b.allowOpenJaw,
|
|
33085
|
+
searchConfigurations = _b.searchConfigurations;
|
|
33072
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
|
+
);
|
|
33073
33098
|
React.useEffect(
|
|
33074
33099
|
function () {
|
|
33075
33100
|
if (fromDate || toDate) return;
|
|
@@ -33103,12 +33128,36 @@ var QSMContainer = function () {
|
|
|
33103
33128
|
};
|
|
33104
33129
|
var handleQsmTypeChange = function (value) {
|
|
33105
33130
|
dispatch(setSelectedQsmType(value));
|
|
33106
|
-
var
|
|
33131
|
+
var now = new Date();
|
|
33132
|
+
// Default fallback
|
|
33133
|
+
var startDate = dateFns.addMonths(now, 1);
|
|
33107
33134
|
var endDate = dateFns.addDays(startDate, 7);
|
|
33108
33135
|
if (value === exports.PortalQsmType.GroupTour) {
|
|
33109
|
-
startDate =
|
|
33136
|
+
startDate = now;
|
|
33110
33137
|
endDate = dateFns.addYears(startDate, 1);
|
|
33111
33138
|
}
|
|
33139
|
+
var searchConfig = searchConfigurations.find(function (config) {
|
|
33140
|
+
return config.qsmType === value;
|
|
33141
|
+
});
|
|
33142
|
+
if (searchConfig) {
|
|
33143
|
+
var applyAmount = function (baseDate, type, amount) {
|
|
33144
|
+
if (!amount || type == null) return baseDate;
|
|
33145
|
+
switch (type) {
|
|
33146
|
+
case build.DateAmountType.days:
|
|
33147
|
+
return dateFns.addDays(baseDate, amount);
|
|
33148
|
+
case build.DateAmountType.months:
|
|
33149
|
+
return dateFns.addMonths(baseDate, amount);
|
|
33150
|
+
default:
|
|
33151
|
+
return baseDate;
|
|
33152
|
+
}
|
|
33153
|
+
};
|
|
33154
|
+
if (searchConfig.fromDateAmount) {
|
|
33155
|
+
startDate = applyAmount(now, searchConfig.fromDateAmountType, searchConfig.fromDateAmount);
|
|
33156
|
+
}
|
|
33157
|
+
if (searchConfig.toDateAmount) {
|
|
33158
|
+
endDate = applyAmount(startDate, searchConfig.toDateAmountType, searchConfig.toDateAmount);
|
|
33159
|
+
}
|
|
33160
|
+
}
|
|
33112
33161
|
handleDateChange({
|
|
33113
33162
|
fromDate: startDate,
|
|
33114
33163
|
toDate: endDate
|
|
@@ -33207,6 +33256,53 @@ var QSMContainer = function () {
|
|
|
33207
33256
|
},
|
|
33208
33257
|
[fromDate, toDate, departureAirport, returnAirport, allowOpenJaw]
|
|
33209
33258
|
);
|
|
33259
|
+
var qsmTypeMeta =
|
|
33260
|
+
((_a = {}),
|
|
33261
|
+
(_a[exports.PortalQsmType.Multidestination] = {
|
|
33262
|
+
icon: 'ui-location',
|
|
33263
|
+
label: translations.QSM.MULTIDESTINATION
|
|
33264
|
+
}),
|
|
33265
|
+
(_a[exports.PortalQsmType.Package] = {
|
|
33266
|
+
icon: 'ui-suitcase',
|
|
33267
|
+
label: translations.QSM.PACKAGES
|
|
33268
|
+
}),
|
|
33269
|
+
(_a[exports.PortalQsmType.AccommodationAndFlight] = {
|
|
33270
|
+
icon: ['ui-backforward', 'ui-bed'],
|
|
33271
|
+
label: translations.QSM.TRANSPORT_HOTEL
|
|
33272
|
+
}),
|
|
33273
|
+
(_a[exports.PortalQsmType.Accommodation] = {
|
|
33274
|
+
icon: 'ui-bed',
|
|
33275
|
+
label: translations.QSM.ACCOMMODATION
|
|
33276
|
+
}),
|
|
33277
|
+
(_a[exports.PortalQsmType.Flight] = {
|
|
33278
|
+
icon: 'ui-flight',
|
|
33279
|
+
label: translations.QSM.TRANSPORTS
|
|
33280
|
+
}),
|
|
33281
|
+
(_a[exports.PortalQsmType.GroupTour] = {
|
|
33282
|
+
icon: 'ui-group',
|
|
33283
|
+
label: translations.QSM.GROUP_TOUR
|
|
33284
|
+
}),
|
|
33285
|
+
(_a[exports.PortalQsmType.RoundTrip] = {
|
|
33286
|
+
icon: 'ui-group',
|
|
33287
|
+
label: translations.QSM.ROUNDTRIP
|
|
33288
|
+
}),
|
|
33289
|
+
(_a[exports.PortalQsmType.Ticket] = {
|
|
33290
|
+
icon: 'ui-ticket',
|
|
33291
|
+
label: translations.QSM.TICKET_ONLY
|
|
33292
|
+
}),
|
|
33293
|
+
(_a[exports.PortalQsmType.Car] = {
|
|
33294
|
+
icon: 'ui-car',
|
|
33295
|
+
label: translations.QSM.RENT_A_CAR
|
|
33296
|
+
}),
|
|
33297
|
+
(_a[exports.PortalQsmType.Transfer] = {
|
|
33298
|
+
icon: 'ui-backforward',
|
|
33299
|
+
label: translations.QSM.TRANSFERS
|
|
33300
|
+
}),
|
|
33301
|
+
(_a[exports.PortalQsmType.Cruise] = {
|
|
33302
|
+
icon: 'ui-ship',
|
|
33303
|
+
label: translations.QSM.CRUISES
|
|
33304
|
+
}),
|
|
33305
|
+
_a);
|
|
33210
33306
|
return React__default['default'].createElement(
|
|
33211
33307
|
'div',
|
|
33212
33308
|
{ className: 'qsm' },
|
|
@@ -33216,168 +33312,31 @@ var QSMContainer = function () {
|
|
|
33216
33312
|
React__default['default'].createElement(
|
|
33217
33313
|
'div',
|
|
33218
33314
|
{ className: 'qsm__tabs' },
|
|
33219
|
-
|
|
33220
|
-
|
|
33221
|
-
|
|
33222
|
-
|
|
33223
|
-
|
|
33224
|
-
|
|
33225
|
-
|
|
33226
|
-
|
|
33227
|
-
|
|
33228
|
-
|
|
33229
|
-
|
|
33230
|
-
|
|
33231
|
-
|
|
33232
|
-
|
|
33233
|
-
|
|
33234
|
-
|
|
33235
|
-
|
|
33236
|
-
|
|
33237
|
-
|
|
33238
|
-
|
|
33239
|
-
|
|
33240
|
-
|
|
33241
|
-
|
|
33242
|
-
|
|
33243
|
-
|
|
33244
|
-
React__default['default'].createElement(
|
|
33245
|
-
'span',
|
|
33246
|
-
{ className: 'qsm__tab__icons' },
|
|
33247
|
-
React__default['default'].createElement(Icon$2, { name: 'ui-suitcase', height: 16 })
|
|
33248
|
-
),
|
|
33249
|
-
translations.QSM.PACKAGES
|
|
33250
|
-
),
|
|
33251
|
-
React__default['default'].createElement(
|
|
33252
|
-
'button',
|
|
33253
|
-
{
|
|
33254
|
-
type: 'button',
|
|
33255
|
-
className: 'qsm__tab '.concat(qsmType == exports.PortalQsmType.AccommodationAndFlight ? 'qsm__tab--active' : ''),
|
|
33256
|
-
onClick: function () {
|
|
33257
|
-
return handleQsmTypeChange(exports.PortalQsmType.AccommodationAndFlight);
|
|
33258
|
-
}
|
|
33259
|
-
},
|
|
33260
|
-
React__default['default'].createElement(
|
|
33261
|
-
'span',
|
|
33262
|
-
{ className: 'qsm__tab__icons' },
|
|
33263
|
-
React__default['default'].createElement(Icon$2, { name: 'ui-backforward', height: 14 }),
|
|
33264
|
-
'+',
|
|
33265
|
-
React__default['default'].createElement(Icon$2, { name: 'ui-bed', height: 14 })
|
|
33266
|
-
),
|
|
33267
|
-
translations.QSM.TRANSPORT_HOTEL
|
|
33268
|
-
),
|
|
33269
|
-
React__default['default'].createElement(
|
|
33270
|
-
'button',
|
|
33271
|
-
{
|
|
33272
|
-
type: 'button',
|
|
33273
|
-
className: 'qsm__tab '.concat(qsmType == exports.PortalQsmType.Accommodation ? 'qsm__tab--active' : ''),
|
|
33274
|
-
onClick: function () {
|
|
33275
|
-
return handleQsmTypeChange(exports.PortalQsmType.Accommodation);
|
|
33276
|
-
}
|
|
33277
|
-
},
|
|
33278
|
-
React__default['default'].createElement(
|
|
33279
|
-
'span',
|
|
33280
|
-
{ className: 'qsm__tab__icons' },
|
|
33281
|
-
React__default['default'].createElement(Icon$2, { name: 'ui-bed', height: 16 })
|
|
33282
|
-
),
|
|
33283
|
-
translations.QSM.ACCOMMODATION
|
|
33284
|
-
),
|
|
33285
|
-
React__default['default'].createElement(
|
|
33286
|
-
'button',
|
|
33287
|
-
{
|
|
33288
|
-
type: 'button',
|
|
33289
|
-
className: 'qsm__tab '.concat(qsmType == exports.PortalQsmType.Flight ? 'qsm__tab--active' : ''),
|
|
33290
|
-
onClick: function () {
|
|
33291
|
-
return handleQsmTypeChange(exports.PortalQsmType.Flight);
|
|
33292
|
-
}
|
|
33293
|
-
},
|
|
33294
|
-
React__default['default'].createElement(
|
|
33295
|
-
'span',
|
|
33296
|
-
{ className: 'qsm__tab__icons' },
|
|
33297
|
-
React__default['default'].createElement(Icon$2, { name: 'ui-flight', height: 16 })
|
|
33298
|
-
),
|
|
33299
|
-
translations.QSM.TRANSPORTS
|
|
33300
|
-
),
|
|
33301
|
-
React__default['default'].createElement(
|
|
33302
|
-
'button',
|
|
33303
|
-
{
|
|
33304
|
-
type: 'button',
|
|
33305
|
-
className: 'qsm__tab '.concat(qsmType == exports.PortalQsmType.GroupTour ? 'qsm__tab--active' : ''),
|
|
33306
|
-
onClick: function () {
|
|
33307
|
-
return handleQsmTypeChange(exports.PortalQsmType.GroupTour);
|
|
33308
|
-
}
|
|
33309
|
-
},
|
|
33310
|
-
React__default['default'].createElement(
|
|
33311
|
-
'span',
|
|
33312
|
-
{ className: 'qsm__tab__icons' },
|
|
33313
|
-
React__default['default'].createElement(Icon$2, { name: 'ui-group', height: 16 })
|
|
33314
|
-
),
|
|
33315
|
-
translations.QSM.GROUP_TOUR
|
|
33316
|
-
),
|
|
33317
|
-
React__default['default'].createElement(
|
|
33318
|
-
'button',
|
|
33319
|
-
{
|
|
33320
|
-
type: 'button',
|
|
33321
|
-
className: 'qsm__tab '.concat(qsmType == exports.PortalQsmType.Ticket ? 'qsm__tab--active' : ''),
|
|
33322
|
-
onClick: function () {
|
|
33323
|
-
return handleQsmTypeChange(exports.PortalQsmType.Ticket);
|
|
33324
|
-
}
|
|
33325
|
-
},
|
|
33326
|
-
React__default['default'].createElement(
|
|
33327
|
-
'span',
|
|
33328
|
-
{ className: 'qsm__tab__icons' },
|
|
33329
|
-
React__default['default'].createElement(Icon$2, { name: 'ui-ticket', height: 16 })
|
|
33330
|
-
),
|
|
33331
|
-
translations.QSM.TICKET_ONLY
|
|
33332
|
-
),
|
|
33333
|
-
React__default['default'].createElement(
|
|
33334
|
-
'button',
|
|
33335
|
-
{
|
|
33336
|
-
type: 'button',
|
|
33337
|
-
className: 'qsm__tab '.concat(qsmType == exports.PortalQsmType.Car ? 'qsm__tab--active' : ''),
|
|
33338
|
-
onClick: function () {
|
|
33339
|
-
return handleQsmTypeChange(exports.PortalQsmType.Car);
|
|
33340
|
-
}
|
|
33341
|
-
},
|
|
33342
|
-
React__default['default'].createElement(
|
|
33343
|
-
'span',
|
|
33344
|
-
{ className: 'qsm__tab__icons' },
|
|
33345
|
-
React__default['default'].createElement(Icon$2, { name: 'ui-car', height: 16 })
|
|
33346
|
-
),
|
|
33347
|
-
translations.QSM.RENT_A_CAR
|
|
33348
|
-
),
|
|
33349
|
-
React__default['default'].createElement(
|
|
33350
|
-
'button',
|
|
33351
|
-
{
|
|
33352
|
-
type: 'button',
|
|
33353
|
-
className: 'qsm__tab '.concat(qsmType == exports.PortalQsmType.Transfer ? 'qsm__tab--active' : ''),
|
|
33354
|
-
onClick: function () {
|
|
33355
|
-
return handleQsmTypeChange(exports.PortalQsmType.Transfer);
|
|
33356
|
-
}
|
|
33357
|
-
},
|
|
33358
|
-
React__default['default'].createElement(
|
|
33359
|
-
'span',
|
|
33360
|
-
{ className: 'qsm__tab__icons' },
|
|
33361
|
-
React__default['default'].createElement(Icon$2, { name: 'ui-backforward', height: 16 })
|
|
33362
|
-
),
|
|
33363
|
-
translations.QSM.TRANSFERS
|
|
33364
|
-
),
|
|
33365
|
-
React__default['default'].createElement(
|
|
33366
|
-
'button',
|
|
33367
|
-
{
|
|
33368
|
-
type: 'button',
|
|
33369
|
-
className: 'qsm__tab '.concat(qsmType == exports.PortalQsmType.Cruise ? 'qsm__tab--active' : ''),
|
|
33370
|
-
onClick: function () {
|
|
33371
|
-
return handleQsmTypeChange(exports.PortalQsmType.Cruise);
|
|
33372
|
-
}
|
|
33373
|
-
},
|
|
33374
|
-
React__default['default'].createElement(
|
|
33375
|
-
'span',
|
|
33376
|
-
{ className: 'qsm__tab__icons' },
|
|
33377
|
-
React__default['default'].createElement(Icon$2, { name: 'ui-ship', height: 16 })
|
|
33378
|
-
),
|
|
33379
|
-
translations.QSM.CRUISES
|
|
33380
|
-
)
|
|
33315
|
+
searchConfigurations.map(function (searchConfig, index) {
|
|
33316
|
+
var meta = qsmTypeMeta[searchConfig.qsmType];
|
|
33317
|
+
if (!meta) return null; // safety guard
|
|
33318
|
+
return React__default['default'].createElement(
|
|
33319
|
+
'button',
|
|
33320
|
+
{
|
|
33321
|
+
key: 'qsm-type-'.concat(index),
|
|
33322
|
+
type: 'button',
|
|
33323
|
+
className: 'qsm__tab '.concat(qsmType === searchConfig.qsmType ? 'qsm__tab--active' : ''),
|
|
33324
|
+
onClick: function () {
|
|
33325
|
+
return handleQsmTypeChange(searchConfig.qsmType);
|
|
33326
|
+
}
|
|
33327
|
+
},
|
|
33328
|
+
React__default['default'].createElement(
|
|
33329
|
+
'span',
|
|
33330
|
+
{ className: 'qsm__tab__icons' },
|
|
33331
|
+
Array.isArray(meta.icon)
|
|
33332
|
+
? meta.icon.map(function (icon, i) {
|
|
33333
|
+
return React__default['default'].createElement(Icon$2, { key: i, name: icon, height: 14 });
|
|
33334
|
+
})
|
|
33335
|
+
: React__default['default'].createElement(Icon$2, { name: meta.icon, height: 16 })
|
|
33336
|
+
),
|
|
33337
|
+
meta.label
|
|
33338
|
+
);
|
|
33339
|
+
})
|
|
33381
33340
|
),
|
|
33382
33341
|
React__default['default'].createElement(
|
|
33383
33342
|
'div',
|
|
@@ -33579,6 +33538,9 @@ var initialState$1 = {
|
|
|
33579
33538
|
results: [],
|
|
33580
33539
|
filteredResults: [],
|
|
33581
33540
|
selectedSearchResultId: null,
|
|
33541
|
+
packagingAccoResults: [],
|
|
33542
|
+
filteredPackagingAccoResults: [],
|
|
33543
|
+
selectedPackagingAccoResultCode: null,
|
|
33582
33544
|
selectedFlight: null,
|
|
33583
33545
|
selectedFlightDetails: null,
|
|
33584
33546
|
bookingPackageDetails: null,
|
|
@@ -33603,6 +33565,15 @@ var searchResultsSlice = toolkit.createSlice({
|
|
|
33603
33565
|
setSelectedSearchResult: function (state, action) {
|
|
33604
33566
|
state.selectedSearchResultId = action.payload;
|
|
33605
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
|
+
},
|
|
33606
33577
|
setSelectedFlight: function (state, action) {
|
|
33607
33578
|
state.selectedFlight = action.payload;
|
|
33608
33579
|
},
|
|
@@ -33669,6 +33640,9 @@ var searchResultsSlice = toolkit.createSlice({
|
|
|
33669
33640
|
var setResults = ((_a = searchResultsSlice.actions), _a.setResults),
|
|
33670
33641
|
setFilteredResults = _a.setFilteredResults,
|
|
33671
33642
|
setSelectedSearchResult = _a.setSelectedSearchResult,
|
|
33643
|
+
setPackagingAccoResults = _a.setPackagingAccoResults,
|
|
33644
|
+
setFilteredPackagingAccoResults = _a.setFilteredPackagingAccoResults,
|
|
33645
|
+
setSelectedPackagingAccoResult = _a.setSelectedPackagingAccoResult,
|
|
33672
33646
|
setSelectedFlight = _a.setSelectedFlight,
|
|
33673
33647
|
setSelectedFlightDetails = _a.setSelectedFlightDetails,
|
|
33674
33648
|
setBookingPackageDetails = _a.setBookingPackageDetails,
|
|
@@ -38067,15 +38041,48 @@ var FlyIn = function (_a) {
|
|
|
38067
38041
|
};
|
|
38068
38042
|
|
|
38069
38043
|
var HotelCard = function (_a) {
|
|
38044
|
+
var _b;
|
|
38070
38045
|
var result = _a.result,
|
|
38071
38046
|
translations = _a.translations;
|
|
38072
38047
|
var dispatch = reactRedux.useDispatch();
|
|
38073
|
-
var
|
|
38048
|
+
var selectedPackagingAccoResultCode = reactRedux.useSelector(function (state) {
|
|
38074
38049
|
return state.searchResults;
|
|
38075
|
-
}).
|
|
38076
|
-
var handleChange = function (
|
|
38077
|
-
dispatch(
|
|
38050
|
+
}).selectedPackagingAccoResultCode;
|
|
38051
|
+
var handleChange = function (productCode) {
|
|
38052
|
+
dispatch(setSelectedPackagingAccoResult(productCode));
|
|
38078
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
|
+
}
|
|
38079
38086
|
return React__default['default'].createElement(
|
|
38080
38087
|
'div',
|
|
38081
38088
|
{
|
|
@@ -38159,12 +38166,12 @@ var HotelCard = function (_a) {
|
|
|
38159
38166
|
'button',
|
|
38160
38167
|
{
|
|
38161
38168
|
type: 'button',
|
|
38162
|
-
className: 'cta '.concat(
|
|
38169
|
+
className: 'cta '.concat(selectedPackagingAccoResultCode === result.code ? 'cta--selected' : 'cta--select'),
|
|
38163
38170
|
onClick: function () {
|
|
38164
|
-
return handleChange(result.
|
|
38171
|
+
return handleChange(result.code);
|
|
38165
38172
|
}
|
|
38166
38173
|
},
|
|
38167
|
-
|
|
38174
|
+
selectedPackagingAccoResultCode === result.code
|
|
38168
38175
|
? translations === null || translations === void 0
|
|
38169
38176
|
? void 0
|
|
38170
38177
|
: translations.SHARED.SELECTED
|
|
@@ -38179,7 +38186,7 @@ var HotelCard = function (_a) {
|
|
|
38179
38186
|
|
|
38180
38187
|
var renderResults = function (results, context, cmsMap, activeTab, translations) {
|
|
38181
38188
|
var renderedResults = results.map(function (result, index) {
|
|
38182
|
-
var cmsItem = cmsMap.get(result.
|
|
38189
|
+
var cmsItem = cmsMap.get(result.code);
|
|
38183
38190
|
var mappedResult = mapSearchResult(result, cmsItem, context.languageCode, translations);
|
|
38184
38191
|
if (
|
|
38185
38192
|
(context === null || context === void 0 ? void 0 : context.showCustomCards) &&
|
|
@@ -38204,10 +38211,10 @@ var renderResults = function (results, context, cmsMap, activeTab, translations)
|
|
|
38204
38211
|
);
|
|
38205
38212
|
};
|
|
38206
38213
|
var mapSearchResult = function (searchResult, cmsItem, languageCode, translations) {
|
|
38207
|
-
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;
|
|
38208
38215
|
return {
|
|
38209
38216
|
type: 'hotel',
|
|
38210
|
-
|
|
38217
|
+
code: searchResult.code,
|
|
38211
38218
|
title:
|
|
38212
38219
|
((_b = (_a = cmsItem === null || cmsItem === void 0 ? void 0 : cmsItem.content) === null || _a === void 0 ? void 0 : _a.general) === null || _b === void 0
|
|
38213
38220
|
? void 0
|
|
@@ -38231,14 +38238,31 @@ var mapSearchResult = function (searchResult, cmsItem, languageCode, translation
|
|
|
38231
38238
|
price: formatPrice(searchResult.price, searchResult.currencyCode, languageCode),
|
|
38232
38239
|
ctaText: translations === null || translations === void 0 ? void 0 : translations.SRP.VIEW_DETAILS,
|
|
38233
38240
|
days: ''
|
|
38234
|
-
.concat(calculateNights(searchResult.
|
|
38241
|
+
.concat(calculateNights(new Date(searchResult.fromDate), new Date(searchResult.toDate)), ' ')
|
|
38235
38242
|
.concat(translations === null || translations === void 0 ? void 0 : translations.SRP.NIGHTS),
|
|
38236
|
-
accommodation:
|
|
38237
|
-
|
|
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) || '',
|
|
38238
38261
|
stars:
|
|
38239
|
-
(
|
|
38262
|
+
(_r = (_q = cmsItem === null || cmsItem === void 0 ? void 0 : cmsItem.content) === null || _q === void 0 ? void 0 : _q.general) === null || _r === void 0
|
|
38240
38263
|
? void 0
|
|
38241
|
-
:
|
|
38264
|
+
: _r.stars,
|
|
38265
|
+
contents: searchResult.contents
|
|
38242
38266
|
};
|
|
38243
38267
|
};
|
|
38244
38268
|
var HotelAccommodationResults = function (_a) {
|
|
@@ -38248,9 +38272,6 @@ var HotelAccommodationResults = function (_a) {
|
|
|
38248
38272
|
if (!context) {
|
|
38249
38273
|
return;
|
|
38250
38274
|
}
|
|
38251
|
-
if (context.showMockup) {
|
|
38252
|
-
return showMocukups(context);
|
|
38253
|
-
}
|
|
38254
38275
|
var translations = getTranslations((_b = context === null || context === void 0 ? void 0 : context.languageCode) !== null && _b !== void 0 ? _b : 'en-GB');
|
|
38255
38276
|
if (isLoading) {
|
|
38256
38277
|
return React__default['default'].createElement(
|
|
@@ -38264,9 +38285,9 @@ var HotelAccommodationResults = function (_a) {
|
|
|
38264
38285
|
var _d = reactRedux.useSelector(function (state) {
|
|
38265
38286
|
return state.searchResults;
|
|
38266
38287
|
}),
|
|
38267
|
-
|
|
38288
|
+
filteredPackagingAccoResults = _d.filteredPackagingAccoResults,
|
|
38268
38289
|
activeTab = _d.activeTab;
|
|
38269
|
-
if (!
|
|
38290
|
+
if (!filteredPackagingAccoResults.length) {
|
|
38270
38291
|
return React__default['default'].createElement('div', { className: 'no-results' }, translations.SRP.NO_RESULTS);
|
|
38271
38292
|
}
|
|
38272
38293
|
var cmsMap = React__default['default'].useMemo(
|
|
@@ -38277,20 +38298,20 @@ var HotelAccommodationResults = function (_a) {
|
|
|
38277
38298
|
? void 0
|
|
38278
38299
|
: _a.forEach(function (item) {
|
|
38279
38300
|
var _a, _b, _c;
|
|
38280
|
-
var
|
|
38301
|
+
var code =
|
|
38281
38302
|
(_c =
|
|
38282
38303
|
(_b = (_a = item === null || item === void 0 ? void 0 : item.content) === null || _a === void 0 ? void 0 : _a.general) === null || _b === void 0
|
|
38283
38304
|
? void 0
|
|
38284
38305
|
: _b.product) === null || _c === void 0
|
|
38285
38306
|
? void 0
|
|
38286
|
-
: _c.
|
|
38287
|
-
if (
|
|
38307
|
+
: _c.code;
|
|
38308
|
+
if (code) map.set(code, item);
|
|
38288
38309
|
});
|
|
38289
38310
|
return map;
|
|
38290
38311
|
},
|
|
38291
38312
|
[context.cmsHotelData]
|
|
38292
38313
|
);
|
|
38293
|
-
var firstResult =
|
|
38314
|
+
var firstResult = filteredPackagingAccoResults === null || filteredPackagingAccoResults === void 0 ? void 0 : filteredPackagingAccoResults[0];
|
|
38294
38315
|
var firstResultDay = (firstResult === null || firstResult === void 0 ? void 0 : firstResult.fromDate)
|
|
38295
38316
|
? dateFns.format(dateFns.parseISO(firstResult.fromDate), 'd')
|
|
38296
38317
|
: null;
|
|
@@ -38321,90 +38342,87 @@ var HotelAccommodationResults = function (_a) {
|
|
|
38321
38342
|
)
|
|
38322
38343
|
)
|
|
38323
38344
|
),
|
|
38324
|
-
renderResults(
|
|
38345
|
+
renderResults(filteredPackagingAccoResults, context, cmsMap, activeTab, translations)
|
|
38325
38346
|
);
|
|
38326
38347
|
};
|
|
38327
|
-
|
|
38328
|
-
|
|
38329
|
-
|
|
38330
|
-
|
|
38331
|
-
|
|
38332
|
-
|
|
38333
|
-
|
|
38334
|
-
|
|
38335
|
-
|
|
38336
|
-
|
|
38337
|
-
|
|
38338
|
-
|
|
38339
|
-
|
|
38340
|
-
|
|
38341
|
-
|
|
38342
|
-
|
|
38343
|
-
|
|
38344
|
-
|
|
38345
|
-
|
|
38346
|
-
|
|
38347
|
-
|
|
38348
|
-
|
|
38349
|
-
|
|
38350
|
-
|
|
38351
|
-
|
|
38352
|
-
|
|
38353
|
-
|
|
38354
|
-
|
|
38355
|
-
|
|
38356
|
-
|
|
38357
|
-
|
|
38358
|
-
|
|
38359
|
-
|
|
38360
|
-
|
|
38361
|
-
|
|
38362
|
-
|
|
38363
|
-
|
|
38364
|
-
|
|
38365
|
-
|
|
38366
|
-
|
|
38367
|
-
|
|
38368
|
-
|
|
38369
|
-
|
|
38370
|
-
|
|
38371
|
-
|
|
38372
|
-
|
|
38373
|
-
|
|
38374
|
-
|
|
38375
|
-
|
|
38376
|
-
|
|
38377
|
-
|
|
38378
|
-
|
|
38379
|
-
|
|
38380
|
-
|
|
38381
|
-
|
|
38382
|
-
|
|
38383
|
-
|
|
38384
|
-
|
|
38385
|
-
|
|
38386
|
-
|
|
38387
|
-
|
|
38388
|
-
|
|
38389
|
-
|
|
38390
|
-
|
|
38391
|
-
};
|
|
38392
|
-
|
|
38393
|
-
|
|
38394
|
-
|
|
38395
|
-
|
|
38396
|
-
|
|
38397
|
-
|
|
38398
|
-
|
|
38399
|
-
|
|
38400
|
-
|
|
38401
|
-
|
|
38402
|
-
|
|
38403
|
-
|
|
38404
|
-
|
|
38405
|
-
});
|
|
38406
|
-
return React__default['default'].createElement('div', { className: 'search__results__cards' }, renderedResults);
|
|
38407
|
-
};
|
|
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
|
+
// };
|
|
38408
38426
|
|
|
38409
38427
|
var RoundTripResults = function () {
|
|
38410
38428
|
return React__default['default'].createElement(
|
|
@@ -38664,91 +38682,6 @@ var RoundTripResults = function () {
|
|
|
38664
38682
|
);
|
|
38665
38683
|
};
|
|
38666
38684
|
|
|
38667
|
-
var enrichFiltersWithResults = function (results, filters, tags) {
|
|
38668
|
-
if (!results || results.length === 0 || !filters) {
|
|
38669
|
-
return filters !== null && filters !== void 0 ? filters : [];
|
|
38670
|
-
}
|
|
38671
|
-
return filters.map(function (filter) {
|
|
38672
|
-
var updatedFilter = __assign({}, filter);
|
|
38673
|
-
if (filter.property === 'price' && (filter.min == null || filter.max == null)) {
|
|
38674
|
-
var prices = results
|
|
38675
|
-
.map(function (r) {
|
|
38676
|
-
var _a;
|
|
38677
|
-
return (_a = r.price) !== null && _a !== void 0 ? _a : 0;
|
|
38678
|
-
})
|
|
38679
|
-
.filter(function (p) {
|
|
38680
|
-
return p > 0;
|
|
38681
|
-
});
|
|
38682
|
-
if (prices.length > 0) {
|
|
38683
|
-
updatedFilter.min = Math.floor(Math.min.apply(Math, prices));
|
|
38684
|
-
updatedFilter.max = Math.ceil(Math.max.apply(Math, prices));
|
|
38685
|
-
}
|
|
38686
|
-
}
|
|
38687
|
-
if (filter.property === 'accommodation') {
|
|
38688
|
-
var map_1 = new Map();
|
|
38689
|
-
results.forEach(function (r) {
|
|
38690
|
-
if (r.accommodationCode) {
|
|
38691
|
-
map_1.set(r.accommodationCode, {
|
|
38692
|
-
name: r.accommodationName,
|
|
38693
|
-
code: r.accommodationCode
|
|
38694
|
-
});
|
|
38695
|
-
}
|
|
38696
|
-
});
|
|
38697
|
-
updatedFilter.options = Array.from(map_1.values()).map(function (accommodation) {
|
|
38698
|
-
var _a;
|
|
38699
|
-
return {
|
|
38700
|
-
label: (_a = accommodation.name) !== null && _a !== void 0 ? _a : accommodation.code,
|
|
38701
|
-
value: accommodation.code,
|
|
38702
|
-
isChecked: false
|
|
38703
|
-
};
|
|
38704
|
-
});
|
|
38705
|
-
}
|
|
38706
|
-
if (filter.property === 'regime') {
|
|
38707
|
-
var map_2 = new Map();
|
|
38708
|
-
results.forEach(function (r) {
|
|
38709
|
-
if (r.regimeCode) {
|
|
38710
|
-
map_2.set(r.regimeCode, {
|
|
38711
|
-
name: r.regimeName,
|
|
38712
|
-
code: r.regimeCode
|
|
38713
|
-
});
|
|
38714
|
-
}
|
|
38715
|
-
});
|
|
38716
|
-
updatedFilter.options = Array.from(map_2.values()).map(function (regime) {
|
|
38717
|
-
var _a;
|
|
38718
|
-
return {
|
|
38719
|
-
label: (_a = regime.name) !== null && _a !== void 0 ? _a : regime.code,
|
|
38720
|
-
value: regime.code,
|
|
38721
|
-
isChecked: false
|
|
38722
|
-
};
|
|
38723
|
-
});
|
|
38724
|
-
}
|
|
38725
|
-
if (filter.property === 'theme') {
|
|
38726
|
-
var map_3 = new Map();
|
|
38727
|
-
results.forEach(function (r) {
|
|
38728
|
-
var _a;
|
|
38729
|
-
(_a = r.tagIds) === null || _a === void 0
|
|
38730
|
-
? void 0
|
|
38731
|
-
: _a.forEach(function (tagId) {
|
|
38732
|
-
var tag = tags.find(function (t) {
|
|
38733
|
-
return t.id === tagId;
|
|
38734
|
-
});
|
|
38735
|
-
if (tag && tag.id != null && tag.name != null) {
|
|
38736
|
-
map_3.set(tag.id, { name: tag.name, id: tag.id });
|
|
38737
|
-
}
|
|
38738
|
-
});
|
|
38739
|
-
});
|
|
38740
|
-
updatedFilter.options = Array.from(map_3.values()).map(function (theme) {
|
|
38741
|
-
return {
|
|
38742
|
-
label: theme.name,
|
|
38743
|
-
value: theme.id,
|
|
38744
|
-
isChecked: false
|
|
38745
|
-
};
|
|
38746
|
-
});
|
|
38747
|
-
}
|
|
38748
|
-
return updatedFilter;
|
|
38749
|
-
});
|
|
38750
|
-
};
|
|
38751
|
-
|
|
38752
38685
|
var ticksToMinutes = function (ticks) {
|
|
38753
38686
|
return Math.floor(ticks / 600000000);
|
|
38754
38687
|
};
|
|
@@ -40963,7 +40896,7 @@ var FlightResultsContainer = function (_a) {
|
|
|
40963
40896
|
React.useEffect(
|
|
40964
40897
|
function () {
|
|
40965
40898
|
if (!(context === null || context === void 0 ? void 0 : context.showMockup)) {
|
|
40966
|
-
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) {
|
|
40967
40900
|
onFlightSearch();
|
|
40968
40901
|
}
|
|
40969
40902
|
}
|
|
@@ -41103,7 +41036,7 @@ var FlightResultsContainer = function (_a) {
|
|
|
41103
41036
|
'div',
|
|
41104
41037
|
{ className: 'search__results__wrapper' },
|
|
41105
41038
|
flightsLoading && React__default['default'].createElement(Spinner, null),
|
|
41106
|
-
(context === null || context === void 0 ? void 0 : context.
|
|
41039
|
+
(context === null || context === void 0 ? void 0 : context.searchConfiguration.qsmType) == exports.PortalQsmType.Flight &&
|
|
41107
41040
|
(context === null || context === void 0 ? void 0 : context.showFlightAccommodationResults) &&
|
|
41108
41041
|
results &&
|
|
41109
41042
|
results.length > 0 &&
|
|
@@ -41516,6 +41449,165 @@ var GroupTourResults = function (_a) {
|
|
|
41516
41449
|
);
|
|
41517
41450
|
};
|
|
41518
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
|
+
};
|
|
41519
41611
|
var applyFilters = function (results, filters) {
|
|
41520
41612
|
return results.filter(function (r) {
|
|
41521
41613
|
return filters.every(function (filter) {
|
|
@@ -41581,6 +41673,61 @@ var applyFilters = function (results, filters) {
|
|
|
41581
41673
|
});
|
|
41582
41674
|
});
|
|
41583
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
|
+
};
|
|
41584
41731
|
|
|
41585
41732
|
var SearchResultsContainer = function () {
|
|
41586
41733
|
var _a;
|
|
@@ -41678,11 +41825,12 @@ var SearchResultsContainer = function () {
|
|
|
41678
41825
|
payload: {
|
|
41679
41826
|
catalogueIds: (_a = context.tideConnection.catalogueIds) !== null && _a !== void 0 ? _a : [],
|
|
41680
41827
|
serviceType:
|
|
41681
|
-
context.
|
|
41828
|
+
context.searchConfiguration.qsmType === exports.PortalQsmType.Accommodation ||
|
|
41829
|
+
context.searchConfiguration.qsmType === exports.PortalQsmType.AccommodationAndFlight
|
|
41682
41830
|
? 3
|
|
41683
|
-
: context.
|
|
41831
|
+
: context.searchConfiguration.qsmType === exports.PortalQsmType.Flight
|
|
41684
41832
|
? 7
|
|
41685
|
-
: context.
|
|
41833
|
+
: context.searchConfiguration.qsmType === exports.PortalQsmType.RoundTrip
|
|
41686
41834
|
? 1
|
|
41687
41835
|
: 0,
|
|
41688
41836
|
searchType: 0,
|
|
@@ -41752,14 +41900,15 @@ var SearchResultsContainer = function () {
|
|
|
41752
41900
|
payload: {
|
|
41753
41901
|
catalogueIds: (_a = context.tideConnection.catalogueIds) !== null && _a !== void 0 ? _a : [],
|
|
41754
41902
|
serviceType:
|
|
41755
|
-
context.
|
|
41903
|
+
context.searchConfiguration.qsmType === exports.PortalQsmType.Accommodation ||
|
|
41904
|
+
context.searchConfiguration.qsmType === exports.PortalQsmType.AccommodationAndFlight
|
|
41756
41905
|
? 3
|
|
41757
|
-
: context.
|
|
41906
|
+
: context.searchConfiguration.qsmType === exports.PortalQsmType.Flight
|
|
41758
41907
|
? 7
|
|
41759
|
-
: context.
|
|
41908
|
+
: context.searchConfiguration.qsmType === exports.PortalQsmType.RoundTrip
|
|
41760
41909
|
? 1
|
|
41761
41910
|
: undefined,
|
|
41762
|
-
searchType: context.
|
|
41911
|
+
searchType: context.searchConfiguration.qsmType === exports.PortalQsmType.GroupTour ? 1 : 0,
|
|
41763
41912
|
destination: {
|
|
41764
41913
|
id: Number(destinationId),
|
|
41765
41914
|
isCountry: destinationIsCountry,
|
|
@@ -41772,7 +41921,7 @@ var SearchResultsContainer = function () {
|
|
|
41772
41921
|
toDate: to,
|
|
41773
41922
|
earliestFromOffset: 0,
|
|
41774
41923
|
latestToOffset: 0,
|
|
41775
|
-
includeFlights: context.
|
|
41924
|
+
includeFlights: context.searchConfiguration.qsmType === exports.PortalQsmType.AccommodationAndFlight ? true : false,
|
|
41776
41925
|
// regimeCodes:
|
|
41777
41926
|
// filters
|
|
41778
41927
|
// .find((f) => f.property === 'regime')
|
|
@@ -41780,7 +41929,8 @@ var SearchResultsContainer = function () {
|
|
|
41780
41929
|
// .flatMap((o) => o.value.toString()) || [],
|
|
41781
41930
|
// minPrice: filters.find((f) => f.property === 'price')?.selectedMin,
|
|
41782
41931
|
// maxPrice: filters.find((f) => f.property === 'price')?.selectedMax,
|
|
41783
|
-
useExactDates:
|
|
41932
|
+
useExactDates:
|
|
41933
|
+
(context === null || context === void 0 ? void 0 : context.searchConfiguration.qsmType) === exports.PortalQsmType.GroupTour ? false : true,
|
|
41784
41934
|
onlyCachedResults: false,
|
|
41785
41935
|
includeAllAllotments: true,
|
|
41786
41936
|
productIds: hotel ? [hotel] : [],
|
|
@@ -41846,6 +41996,96 @@ var SearchResultsContainer = function () {
|
|
|
41846
41996
|
});
|
|
41847
41997
|
return requestRooms;
|
|
41848
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
|
+
};
|
|
41849
42089
|
React.useEffect(
|
|
41850
42090
|
function () {
|
|
41851
42091
|
if (typeof document !== 'undefined') {
|
|
@@ -41917,7 +42157,7 @@ var SearchResultsContainer = function () {
|
|
|
41917
42157
|
dispatch(setSelectedSearchResult(matching.productId));
|
|
41918
42158
|
}
|
|
41919
42159
|
} else {
|
|
41920
|
-
if (context.
|
|
42160
|
+
if (context.searchConfiguration.qsmType === exports.PortalQsmType.AccommodationAndFlight) {
|
|
41921
42161
|
dispatch(setSelectedSearchResult((_b = packageSearchResults[0]) === null || _b === void 0 ? void 0 : _b.productId));
|
|
41922
42162
|
}
|
|
41923
42163
|
}
|
|
@@ -41935,14 +42175,71 @@ var SearchResultsContainer = function () {
|
|
|
41935
42175
|
});
|
|
41936
42176
|
});
|
|
41937
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
|
+
};
|
|
41938
42233
|
if (!(context === null || context === void 0 ? void 0 : context.showMockup)) {
|
|
41939
42234
|
if (
|
|
41940
|
-
(context === null || context === void 0 ? void 0 : context.
|
|
41941
|
-
(context === null || context === void 0 ? void 0 : context.
|
|
41942
|
-
(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
|
|
41943
42237
|
) {
|
|
41944
42238
|
runSearch();
|
|
41945
42239
|
}
|
|
42240
|
+
if ((context === null || context === void 0 ? void 0 : context.searchConfiguration.qsmType) === exports.PortalQsmType.Accommodation) {
|
|
42241
|
+
runHotelSearch();
|
|
42242
|
+
}
|
|
41946
42243
|
}
|
|
41947
42244
|
},
|
|
41948
42245
|
[location.search]
|
|
@@ -41952,15 +42249,15 @@ var SearchResultsContainer = function () {
|
|
|
41952
42249
|
function () {
|
|
41953
42250
|
var fetchPackageDetails = function () {
|
|
41954
42251
|
return __awaiter(void 0, void 0, void 0, function () {
|
|
41955
|
-
var config, selectedItem, params, entryId, requestRooms, rooms, detailsRequest, detailsResponse, detailsWLResponse,
|
|
42252
|
+
var config, selectedItem, params, entryId, requestRooms, rooms, detailsRequest, detailsResponse, detailsWLResponse, err_3;
|
|
41956
42253
|
var _a, _b;
|
|
41957
42254
|
return __generator(this, function (_c) {
|
|
41958
42255
|
switch (_c.label) {
|
|
41959
42256
|
case 0:
|
|
41960
42257
|
if (!selectedSearchResultId || !context) return [2 /*return*/];
|
|
41961
42258
|
if (
|
|
41962
|
-
(context === null || context === void 0 ? void 0 : context.
|
|
41963
|
-
(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
|
|
41964
42261
|
) {
|
|
41965
42262
|
handleFlyInToggle(true);
|
|
41966
42263
|
}
|
|
@@ -41996,7 +42293,7 @@ var SearchResultsContainer = function () {
|
|
|
41996
42293
|
productCode: selectedItem.code,
|
|
41997
42294
|
fromDate: selectedItem.fromDate,
|
|
41998
42295
|
toDate: selectedItem.toDate,
|
|
41999
|
-
includeFlights: context.
|
|
42296
|
+
includeFlights: context.searchConfiguration.qsmType === exports.PortalQsmType.AccommodationAndFlight ? true : false,
|
|
42000
42297
|
includeHotels: true,
|
|
42001
42298
|
includePaxTypes: true,
|
|
42002
42299
|
checkExternalAvailability: true,
|
|
@@ -42039,8 +42336,8 @@ var SearchResultsContainer = function () {
|
|
|
42039
42336
|
case 5:
|
|
42040
42337
|
return [3 /*break*/, 7];
|
|
42041
42338
|
case 6:
|
|
42042
|
-
|
|
42043
|
-
console.error('Failed to fetch package details',
|
|
42339
|
+
err_3 = _c.sent();
|
|
42340
|
+
console.error('Failed to fetch package details', err_3);
|
|
42044
42341
|
return [3 /*break*/, 7];
|
|
42045
42342
|
case 7:
|
|
42046
42343
|
return [2 /*return*/];
|
|
@@ -42069,14 +42366,14 @@ var SearchResultsContainer = function () {
|
|
|
42069
42366
|
React__default['default'].createElement(
|
|
42070
42367
|
'div',
|
|
42071
42368
|
{ className: 'search__container' },
|
|
42072
|
-
context.
|
|
42369
|
+
context.searchConfiguration.qsmType === exports.PortalQsmType.Flight &&
|
|
42073
42370
|
React__default['default'].createElement(
|
|
42074
42371
|
FlightSearchProvider,
|
|
42075
42372
|
{ tideConnection: context.tideConnection },
|
|
42076
42373
|
React__default['default'].createElement(FlightResultsContainer, { isMobile: isMobile }),
|
|
42077
42374
|
React__default['default'].createElement(FlyIn, {
|
|
42078
42375
|
title: 'Select your fare',
|
|
42079
|
-
srpType: context.
|
|
42376
|
+
srpType: context.searchConfiguration.qsmType,
|
|
42080
42377
|
isOpen: flyInIsOpen,
|
|
42081
42378
|
setIsOpen: handleFlyInToggle,
|
|
42082
42379
|
onPanelRef: function (el) {
|
|
@@ -42084,14 +42381,14 @@ var SearchResultsContainer = function () {
|
|
|
42084
42381
|
}
|
|
42085
42382
|
})
|
|
42086
42383
|
),
|
|
42087
|
-
(context.
|
|
42088
|
-
context.
|
|
42089
|
-
context.
|
|
42090
|
-
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) &&
|
|
42091
42388
|
React__default['default'].createElement(
|
|
42092
42389
|
React__default['default'].Fragment,
|
|
42093
42390
|
null,
|
|
42094
|
-
context.
|
|
42391
|
+
context.searchConfiguration.qsmType != exports.PortalQsmType.AccommodationAndFlight &&
|
|
42095
42392
|
context.showFilters &&
|
|
42096
42393
|
React__default['default'].createElement(Filters, {
|
|
42097
42394
|
initialFilters: initialFilters,
|
|
@@ -42103,7 +42400,7 @@ var SearchResultsContainer = function () {
|
|
|
42103
42400
|
// handleApplyFilters={() => setSearchTrigger((prev) => prev + 1)}
|
|
42104
42401
|
isLoading: isLoading
|
|
42105
42402
|
}),
|
|
42106
|
-
context.
|
|
42403
|
+
context.searchConfiguration.qsmType === exports.PortalQsmType.AccommodationAndFlight &&
|
|
42107
42404
|
React__default['default'].createElement(Itinerary, {
|
|
42108
42405
|
isOpen: itineraryOpen,
|
|
42109
42406
|
handleSetIsOpen: function () {
|
|
@@ -42121,7 +42418,7 @@ var SearchResultsContainer = function () {
|
|
|
42121
42418
|
React__default['default'].createElement(
|
|
42122
42419
|
'div',
|
|
42123
42420
|
{ className: 'search__results__actions' },
|
|
42124
|
-
context.
|
|
42421
|
+
context.searchConfiguration.qsmType != exports.PortalQsmType.AccommodationAndFlight &&
|
|
42125
42422
|
context.showFilters &&
|
|
42126
42423
|
React__default['default'].createElement(
|
|
42127
42424
|
'div',
|
|
@@ -42134,7 +42431,7 @@ var SearchResultsContainer = function () {
|
|
|
42134
42431
|
React__default['default'].createElement(Icon$1, { name: 'ui-filter', className: 'mobile-filters-button__icon', height: 16 }),
|
|
42135
42432
|
translations.SRP.FILTERS
|
|
42136
42433
|
),
|
|
42137
|
-
context.
|
|
42434
|
+
context.searchConfiguration.qsmType === exports.PortalQsmType.AccommodationAndFlight &&
|
|
42138
42435
|
React__default['default'].createElement(
|
|
42139
42436
|
'div',
|
|
42140
42437
|
{
|
|
@@ -42194,8 +42491,9 @@ var SearchResultsContainer = function () {
|
|
|
42194
42491
|
{ className: 'search__results__wrapper' },
|
|
42195
42492
|
context.showTabViews && React__default['default'].createElement(TabViews, null),
|
|
42196
42493
|
context.showRoundTripResults && context.showMockup && React__default['default'].createElement(RoundTripResults, null),
|
|
42197
|
-
context.
|
|
42198
|
-
|
|
42494
|
+
context.searchConfiguration.qsmType === exports.PortalQsmType.GroupTour &&
|
|
42495
|
+
React__default['default'].createElement(GroupTourResults, { isLoading: isLoading }),
|
|
42496
|
+
context.searchConfiguration.qsmType === exports.PortalQsmType.AccommodationAndFlight &&
|
|
42199
42497
|
context.showFlightResults &&
|
|
42200
42498
|
(bookingPackageDetails === null || bookingPackageDetails === void 0 ? void 0 : bookingPackageDetails.outwardFlights) &&
|
|
42201
42499
|
React__default['default'].createElement(FlightResults, {
|
|
@@ -42203,7 +42501,7 @@ var SearchResultsContainer = function () {
|
|
|
42203
42501
|
isDeparture: true
|
|
42204
42502
|
}),
|
|
42205
42503
|
context.showHotelAccommodationResults && React__default['default'].createElement(HotelAccommodationResults, { isLoading: isLoading }),
|
|
42206
|
-
context.
|
|
42504
|
+
context.searchConfiguration.qsmType === exports.PortalQsmType.AccommodationAndFlight &&
|
|
42207
42505
|
context.showFlightResults &&
|
|
42208
42506
|
(bookingPackageDetails === null || bookingPackageDetails === void 0 ? void 0 : bookingPackageDetails.returnFlights) &&
|
|
42209
42507
|
React__default['default'].createElement(FlightResults, {
|
|
@@ -42214,7 +42512,7 @@ var SearchResultsContainer = function () {
|
|
|
42214
42512
|
),
|
|
42215
42513
|
React__default['default'].createElement(FlyIn, {
|
|
42216
42514
|
title: ''.concat(translations.SRP.SELECT, ' ').concat(translations.SRP.ACCOMMODATION),
|
|
42217
|
-
srpType: context.
|
|
42515
|
+
srpType: context.searchConfiguration.qsmType,
|
|
42218
42516
|
isOpen: flyInIsOpen,
|
|
42219
42517
|
setIsOpen: handleFlyInToggle,
|
|
42220
42518
|
onPanelRef: function (el) {
|