@mirai/core 0.4.13 → 0.4.14
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/Core.constants.js +1 -2
- package/build/Core.constants.js.map +1 -1
- package/build/components/BannerLoyalty/BannerLoyalty.js +27 -8
- package/build/components/BannerLoyalty/BannerLoyalty.js.map +1 -1
- package/build/components/BannerLoyalty/BannerLoyalty.l10n.js +1 -1
- package/build/components/BannerLoyalty/BannerLoyalty.l10n.js.map +1 -1
- package/build/components/BannerLoyalty/BannerLoyalty.module.css +13 -0
- package/build/components/Chat/Chat.constants.js +4 -1
- package/build/components/Chat/Chat.constants.js.map +1 -1
- package/build/components/Chat/Chat.js +4 -5
- package/build/components/Chat/Chat.js.map +1 -1
- package/build/components/Chat/Chat.theme.module.css +1 -1
- package/build/components/Chat/__tests__/__snapshots__/Chat.constants.test.js.snap +3 -0
- package/build/components/Chat/components/Message/Message.constants.js +4 -7
- package/build/components/Chat/components/Message/Message.constants.js.map +1 -1
- package/build/components/Finder/Finder.js +6 -11
- package/build/components/Finder/Finder.js.map +1 -1
- package/build/components/Finder/components/Calendar/Calendar.js +1 -1
- package/build/components/Finder/components/Calendar/Calendar.js.map +1 -1
- package/build/components/Rates/Rates.Content.js +3 -1
- package/build/components/Rates/Rates.Content.js.map +1 -1
- package/build/components/Rates/Rates.Footer.js +3 -3
- package/build/components/Rates/Rates.Footer.js.map +1 -1
- package/build/components/Rates/Rates.Unavailability.js +10 -10
- package/build/components/Rates/Rates.Unavailability.js.map +1 -1
- package/build/components/Rates/Rates.constants.js +3 -2
- package/build/components/Rates/Rates.constants.js.map +1 -1
- package/build/components/Rates/Rates.js +38 -42
- package/build/components/Rates/Rates.js.map +1 -1
- package/build/components/Rates/Rates.l10n.js +0 -3
- package/build/components/Rates/Rates.l10n.js.map +1 -1
- package/build/components/Rates/Rates.module.css +1 -1
- package/build/components/Rates/__tests__/__snapshots__/Rates.Content.test.js.snap +18 -3
- package/build/components/Rates/__tests__/__snapshots__/Rates.Unavailability.test.js.snap +0 -10
- package/build/components/Rates/__tests__/__snapshots__/Rates.test.js.snap +22 -3
- package/build/components/Rates/components/Filters/Filters.js +2 -2
- package/build/components/Rates/components/Filters/Filters.js.map +1 -1
- package/build/components/Rates/components/Item/Item.Preview.js +23 -2
- package/build/components/Rates/components/Item/Item.Preview.js.map +1 -1
- package/build/components/Rates/components/Item/Item.Rates.js +12 -1
- package/build/components/Rates/components/Item/Item.Rates.js.map +1 -1
- package/build/components/Rates/components/Item/Item.js +3 -2
- package/build/components/Rates/components/Item/Item.js.map +1 -1
- package/build/components/Rates/components/Item/Item.l10n.js +3 -0
- package/build/components/Rates/components/Item/Item.l10n.js.map +1 -1
- package/build/components/Rates/components/Item/components/{RateDetails/RateDetails.Countdown.js → Countdown/Countdown.js} +5 -3
- package/build/components/Rates/components/Item/components/Countdown/Countdown.js.map +1 -0
- package/build/components/Rates/components/Item/components/Countdown/Countdown.module.css +8 -0
- package/build/components/Rates/components/Item/components/Countdown/__tests__/__snapshots__/Countdown.test.js.snap +3 -0
- package/build/components/Rates/components/{ClubRate → Item/components/Countdown}/index.js +4 -4
- package/build/components/Rates/components/Item/components/Countdown/index.js.map +1 -0
- package/build/components/Rates/components/Item/components/RateDetails/RateDetails.js +3 -3
- package/build/components/Rates/components/Item/components/RateDetails/RateDetails.js.map +1 -1
- package/build/components/Rates/components/Item/components/Slider/Slider.js +50 -16
- package/build/components/Rates/components/Item/components/Slider/Slider.js.map +1 -1
- package/build/components/Rates/components/Item/components/Slider/Slider.l10n.js +3 -0
- package/build/components/Rates/components/Item/components/Slider/Slider.l10n.js.map +1 -1
- package/build/components/Rates/components/Item/components/index.js +11 -0
- package/build/components/Rates/components/Item/components/index.js.map +1 -1
- package/build/components/Rates/components/ModalClubRate/ModalClubRate.js +128 -0
- package/build/components/Rates/components/ModalClubRate/ModalClubRate.js.map +1 -0
- package/build/components/Rates/components/{ClubRate/ClubRate.l10n.js → ModalClubRate/ModalClubRate.l10n.js} +12 -3
- package/build/components/Rates/components/ModalClubRate/ModalClubRate.l10n.js.map +1 -0
- package/build/components/Rates/components/{ClubRate/ClubRate.module.css → ModalClubRate/ModalClubRate.module.css} +9 -16
- package/build/components/Rates/components/ModalClubRate/__tests__/__snapshots__/ModalClubRate.test.js.snap +257 -0
- package/build/components/Rates/components/ModalClubRate/helpers/getDiscount.js +45 -0
- package/build/components/Rates/components/ModalClubRate/helpers/getDiscount.js.map +1 -0
- package/build/components/Rates/components/ModalClubRate/helpers/index.js +17 -0
- package/build/components/Rates/components/ModalClubRate/helpers/index.js.map +1 -0
- package/build/components/Rates/components/ModalClubRate/index.js +17 -0
- package/build/components/Rates/components/ModalClubRate/index.js.map +1 -0
- package/build/components/Rates/components/index.js +11 -11
- package/build/components/Rates/components/index.js.map +1 -1
- package/build/components/Rates/helpers/{getMetaBoard.js → getBoard.js} +8 -8
- package/build/components/Rates/helpers/getBoard.js.map +1 -0
- package/build/components/Rates/helpers/index.js +11 -11
- package/build/components/Rates/helpers/index.js.map +1 -1
- package/build/components/Session/Session.Account.js +5 -3
- package/build/components/Session/Session.Account.js.map +1 -1
- package/build/components/Session/Session.Login.Modal.js +18 -8
- package/build/components/Session/Session.Login.Modal.js.map +1 -1
- package/build/components/Session/Session.Login.js +1 -0
- package/build/components/Session/Session.Login.js.map +1 -1
- package/build/components/Session/Session.js +2 -4
- package/build/components/Session/Session.js.map +1 -1
- package/build/components/Session/Session.l10n.js +4 -1
- package/build/components/Session/Session.l10n.js.map +1 -1
- package/build/components/Session/__tests__/__snapshots__/Session.test.js.snap +117 -1072
- package/build/components/__shared__/BookingSummary/BookingSummary.js +2 -0
- package/build/components/__shared__/BookingSummary/BookingSummary.js.map +1 -1
- package/build/components/helpers/ICON.js +3 -1
- package/build/components/helpers/ICON.js.map +1 -1
- package/build/contexts/PerformanceManager/PerformanceManager.constants.js +66 -2
- package/build/contexts/PerformanceManager/PerformanceManager.constants.js.map +1 -1
- package/build/contexts/PerformanceManager/PerformanceManager.js +27 -21
- package/build/contexts/PerformanceManager/PerformanceManager.js.map +1 -1
- package/build/contexts/PerformanceManager/helpers/getConsentMode.js +9 -5
- package/build/contexts/PerformanceManager/helpers/getConsentMode.js.map +1 -1
- package/build/contexts/PerformanceManager/providers/analytics/bookingResponse.js +0 -4
- package/build/contexts/PerformanceManager/providers/analytics/bookingResponse.js.map +1 -1
- package/build/contexts/PerformanceManager/providers/analytics/checkoutResponse.js +16 -5
- package/build/contexts/PerformanceManager/providers/analytics/checkoutResponse.js.map +1 -1
- package/build/contexts/PerformanceManager/providers/analytics/ratesResponse.js +23 -6
- package/build/contexts/PerformanceManager/providers/analytics/ratesResponse.js.map +1 -1
- package/build/contexts/PerformanceManager/providers/bing/bookingResponse.js +1 -1
- package/build/contexts/PerformanceManager/providers/bing/bookingResponse.js.map +1 -1
- package/build/contexts/PerformanceManager/providers/gtm/bookingResponse.js +10 -1
- package/build/contexts/PerformanceManager/providers/gtm/bookingResponse.js.map +1 -1
- package/build/contexts/PerformanceManager/providers/gtm/checkoutResponse.js +6 -0
- package/build/contexts/PerformanceManager/providers/gtm/checkoutResponse.js.map +1 -1
- package/build/contexts/PerformanceManager/providers/gtm/duetto/bookingResponse.js +41 -0
- package/build/contexts/PerformanceManager/providers/gtm/duetto/bookingResponse.js.map +1 -0
- package/build/contexts/PerformanceManager/providers/gtm/duetto/index.js +28 -0
- package/build/contexts/PerformanceManager/providers/gtm/duetto/index.js.map +1 -0
- package/build/contexts/PerformanceManager/providers/gtm/duetto/ratesResponse.js +70 -0
- package/build/contexts/PerformanceManager/providers/gtm/duetto/ratesResponse.js.map +1 -0
- package/build/contexts/PerformanceManager/providers/gtm/finderReady.js +10 -26
- package/build/contexts/PerformanceManager/providers/gtm/finderReady.js.map +1 -1
- package/build/contexts/PerformanceManager/providers/gtm/helpers/getInitEvent.js +33 -0
- package/build/contexts/PerformanceManager/providers/gtm/helpers/getInitEvent.js.map +1 -0
- package/build/contexts/PerformanceManager/providers/gtm/helpers/index.js +11 -0
- package/build/contexts/PerformanceManager/providers/gtm/helpers/index.js.map +1 -1
- package/build/contexts/PerformanceManager/providers/gtm/ratesResponse.js +24 -3
- package/build/contexts/PerformanceManager/providers/gtm/ratesResponse.js.map +1 -1
- package/build/helpers/consolidateStore.js +8 -2
- package/build/helpers/consolidateStore.js.map +1 -1
- package/build/helpers/getPerformance.js +4 -0
- package/build/helpers/getPerformance.js.map +1 -1
- package/package.json +1 -1
- package/public/index.html +1 -1
- package/build/components/Chat/services/Lisa/action.js +0 -28
- package/build/components/Chat/services/Lisa/action.js.map +0 -1
- package/build/components/Chat/services/Lisa/index.js +0 -17
- package/build/components/Chat/services/Lisa/index.js.map +0 -1
- package/build/components/Chat/services/Lisa/message.js +0 -26
- package/build/components/Chat/services/Lisa/message.js.map +0 -1
- package/build/components/Chat/services/Lisa/status.js +0 -13
- package/build/components/Chat/services/Lisa/status.js.map +0 -1
- package/build/components/Chat/services/Lisa/welcome.js +0 -25
- package/build/components/Chat/services/Lisa/welcome.js.map +0 -1
- package/build/components/Rates/components/ClubRate/ClubRate.js +0 -100
- package/build/components/Rates/components/ClubRate/ClubRate.js.map +0 -1
- package/build/components/Rates/components/ClubRate/ClubRate.l10n.js.map +0 -1
- package/build/components/Rates/components/ClubRate/__tests__/__snapshots__/ClubRate.test.js.snap +0 -38
- package/build/components/Rates/components/ClubRate/index.js.map +0 -1
- package/build/components/Rates/components/Item/components/RateDetails/RateDetails.Countdown.js.map +0 -1
- package/build/components/Rates/components/Item/components/RateDetails/__tests__/__snapshots__/RateDetails.Countdown.test.js.snap +0 -3
- package/build/components/Rates/helpers/getMetaBoard.js.map +0 -1
|
@@ -29,11 +29,7 @@ const checkoutResponse = function () {
|
|
|
29
29
|
currency: hotelCurrency = {}
|
|
30
30
|
} = hotelInfo;
|
|
31
31
|
const value = {
|
|
32
|
-
|
|
33
|
-
...finder,
|
|
34
|
-
id,
|
|
35
|
-
type
|
|
36
|
-
}),
|
|
32
|
+
coupon: (finder === null || finder === void 0 ? void 0 : finder.promocode) || '',
|
|
37
33
|
currency: hotelCurrency.code,
|
|
38
34
|
items: (0, _helpers.parseItems)({
|
|
39
35
|
finder,
|
|
@@ -50,6 +46,21 @@ const checkoutResponse = function () {
|
|
|
50
46
|
value: (0, _legacy.formatPrice)(totalPriceWithoutTaxes, hotelCurrency)
|
|
51
47
|
};
|
|
52
48
|
window.gtag('event', 'begin_checkout', value);
|
|
49
|
+
window.gtag('event', 'data_search_info', {
|
|
50
|
+
...(0, _helpers.parseCommon)({
|
|
51
|
+
...finder,
|
|
52
|
+
id,
|
|
53
|
+
type
|
|
54
|
+
}),
|
|
55
|
+
non_interaction: true,
|
|
56
|
+
send_to: instances.map(function () {
|
|
57
|
+
let {
|
|
58
|
+
idAnalytics
|
|
59
|
+
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
60
|
+
return idAnalytics;
|
|
61
|
+
}),
|
|
62
|
+
step: 'CLIENTFORM'
|
|
63
|
+
});
|
|
53
64
|
return value;
|
|
54
65
|
};
|
|
55
66
|
exports.checkoutResponse = checkoutResponse;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkoutResponse.js","names":["_helpers","require","_legacy","checkoutResponse","instances","response","tracking","store","finder","id","type","arguments","length","undefined","hotelInfo","reservedExtras","reservedRooms","totalPriceWithoutTaxes","currency","hotelCurrency","value","
|
|
1
|
+
{"version":3,"file":"checkoutResponse.js","names":["_helpers","require","_legacy","checkoutResponse","instances","response","tracking","store","finder","id","type","arguments","length","undefined","hotelInfo","reservedExtras","reservedRooms","totalPriceWithoutTaxes","currency","hotelCurrency","value","coupon","promocode","code","items","parseItems","send_to","map","idAnalytics","formatPrice","window","gtag","parseCommon","non_interaction","step","exports"],"sources":["../../../../../src/contexts/PerformanceManager/providers/analytics/checkoutResponse.js"],"sourcesContent":["import { parseCommon, parseItems } from './helpers';\nimport { formatPrice } from '../helpers/legacy';\n\nexport const checkoutResponse = ({\n instances = [],\n response: { tracking = {} } = {},\n store: { finder = {}, id, type } = {},\n} = {}) => {\n // ! -- TODO: use of tracking should be a temporary approach ---------------------------------------------------------\n const { hotelInfo = {}, reservedExtras = {}, reservedRooms = [], totalPriceWithoutTaxes } = tracking;\n\n const { currency: hotelCurrency = {} } = hotelInfo;\n\n const value = {\n coupon: finder?.promocode || '',\n currency: hotelCurrency.code,\n items: parseItems({ finder, hotelInfo, reservedExtras, reservedRooms }),\n send_to: instances.map(({ idAnalytics } = {}) => idAnalytics),\n value: formatPrice(totalPriceWithoutTaxes, hotelCurrency),\n };\n\n window.gtag('event', 'begin_checkout', value);\n window.gtag('event', 'data_search_info', {\n ...parseCommon({ ...finder, id, type }),\n non_interaction: true,\n send_to: instances.map(({ idAnalytics } = {}) => idAnalytics),\n step: 'CLIENTFORM',\n });\n\n return value;\n};\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAEO,MAAME,gBAAgB,GAAG,SAAAA,CAAA,EAIrB;EAAA,IAJsB;IAC/BC,SAAS,GAAG,EAAE;IACdC,QAAQ,EAAE;MAAEC,QAAQ,GAAG,CAAC;IAAE,CAAC,GAAG,CAAC,CAAC;IAChCC,KAAK,EAAE;MAAEC,MAAM,GAAG,CAAC,CAAC;MAAEC,EAAE;MAAEC;IAAK,CAAC,GAAG,CAAC;EACtC,CAAC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EACJ;EACA,MAAM;IAAEG,SAAS,GAAG,CAAC,CAAC;IAAEC,cAAc,GAAG,CAAC,CAAC;IAAEC,aAAa,GAAG,EAAE;IAAEC;EAAuB,CAAC,GAAGX,QAAQ;EAEpG,MAAM;IAAEY,QAAQ,EAAEC,aAAa,GAAG,CAAC;EAAE,CAAC,GAAGL,SAAS;EAElD,MAAMM,KAAK,GAAG;IACZC,MAAM,EAAE,CAAAb,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEc,SAAS,KAAI,EAAE;IAC/BJ,QAAQ,EAAEC,aAAa,CAACI,IAAI;IAC5BC,KAAK,EAAE,IAAAC,mBAAU,EAAC;MAAEjB,MAAM;MAAEM,SAAS;MAAEC,cAAc;MAAEC;IAAc,CAAC,CAAC;IACvEU,OAAO,EAAEtB,SAAS,CAACuB,GAAG,CAAC;MAAA,IAAC;QAAEC;MAAY,CAAC,GAAAjB,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;MAAA,OAAKiB,WAAW;IAAA,EAAC;IAC7DR,KAAK,EAAE,IAAAS,mBAAW,EAACZ,sBAAsB,EAAEE,aAAa;EAC1D,CAAC;EAEDW,MAAM,CAACC,IAAI,CAAC,OAAO,EAAE,gBAAgB,EAAEX,KAAK,CAAC;EAC7CU,MAAM,CAACC,IAAI,CAAC,OAAO,EAAE,kBAAkB,EAAE;IACvC,GAAG,IAAAC,oBAAW,EAAC;MAAE,GAAGxB,MAAM;MAAEC,EAAE;MAAEC;IAAK,CAAC,CAAC;IACvCuB,eAAe,EAAE,IAAI;IACrBP,OAAO,EAAEtB,SAAS,CAACuB,GAAG,CAAC;MAAA,IAAC;QAAEC;MAAY,CAAC,GAAAjB,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;MAAA,OAAKiB,WAAW;IAAA,EAAC;IAC7DM,IAAI,EAAE;EACR,CAAC,CAAC;EAEF,OAAOd,KAAK;AACd,CAAC;AAACe,OAAA,CAAAhC,gBAAA,GAAAA,gBAAA"}
|
|
@@ -86,20 +86,22 @@ const ratesResponse = function () {
|
|
|
86
86
|
}));
|
|
87
87
|
});
|
|
88
88
|
}
|
|
89
|
+
const step = hasHotels ? 'CHAINRESULT' : 'BOOKINGSTEP1';
|
|
89
90
|
const value = {
|
|
90
|
-
...(0, _helpers.parseCommon)({
|
|
91
|
-
...finder,
|
|
92
|
-
id,
|
|
93
|
-
type
|
|
94
|
-
}),
|
|
95
91
|
...(rates || hasHotels ? {
|
|
92
|
+
coupon: (finder === null || finder === void 0 ? void 0 : finder.promocode) || '',
|
|
96
93
|
item_list_name: hasHotels ? 'CHAIN_RESULT' : 'Search Results',
|
|
97
94
|
items
|
|
98
95
|
} : {
|
|
96
|
+
...(0, _helpers.parseCommon)({
|
|
97
|
+
...finder,
|
|
98
|
+
id,
|
|
99
|
+
type
|
|
100
|
+
}),
|
|
99
101
|
device: mobile ? 'MOBILE' : 'DESKTOP_TABLET',
|
|
100
102
|
hotelId: isHotel ? hotelId : undefined,
|
|
101
103
|
multiroom: occupation.length > 1,
|
|
102
|
-
step
|
|
104
|
+
step
|
|
103
105
|
}),
|
|
104
106
|
send_to: instances.map(function () {
|
|
105
107
|
let {
|
|
@@ -109,6 +111,21 @@ const ratesResponse = function () {
|
|
|
109
111
|
})
|
|
110
112
|
};
|
|
111
113
|
window.gtag('event', rates || hasHotels ? hasHotels ? 'view_item_list' : 'view_item' : 'no_view_item_list', value);
|
|
114
|
+
window.gtag('event', 'data_search_info', {
|
|
115
|
+
...(0, _helpers.parseCommon)({
|
|
116
|
+
...finder,
|
|
117
|
+
id,
|
|
118
|
+
type
|
|
119
|
+
}),
|
|
120
|
+
non_interaction: true,
|
|
121
|
+
send_to: instances.map(function () {
|
|
122
|
+
let {
|
|
123
|
+
idAnalytics
|
|
124
|
+
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
125
|
+
return idAnalytics;
|
|
126
|
+
}),
|
|
127
|
+
step
|
|
128
|
+
});
|
|
112
129
|
return value;
|
|
113
130
|
};
|
|
114
131
|
exports.ratesResponse = ratesResponse;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ratesResponse.js","names":["_helpers","require","_helpers2","_legacy","ratesResponse","device","mobile","instances","response","hotels","tracking","store","finder","place","id","hotelId","isHotel","type","arguments","length","undefined","hotelInfo","hotelInfoBAR","rates","occupation","promocode","hasHotels","items","forEach","_ref","currency","hotelName","idTokenProvider","bestAvailableRate","averagePrice","internalWithoutTaxes","push","item_id","concat","item_name","coupon","currencyCode","item_brand","price","formatPrice","Object","entries","getRoomsPriceRange","_ref2","key","minRate","maxRate","parseRate","rate","
|
|
1
|
+
{"version":3,"file":"ratesResponse.js","names":["_helpers","require","_helpers2","_legacy","ratesResponse","device","mobile","instances","response","hotels","tracking","store","finder","place","id","hotelId","isHotel","type","arguments","length","undefined","hotelInfo","hotelInfoBAR","rates","occupation","promocode","hasHotels","items","forEach","_ref","currency","hotelName","idTokenProvider","bestAvailableRate","averagePrice","internalWithoutTaxes","push","item_id","concat","item_name","coupon","currencyCode","item_brand","price","formatPrice","Object","entries","getRoomsPriceRange","_ref2","key","minRate","maxRate","parseRate","rate","step","value","item_list_name","parseCommon","multiroom","send_to","map","idAnalytics","window","gtag","non_interaction","exports"],"sources":["../../../../../src/contexts/PerformanceManager/providers/analytics/ratesResponse.js"],"sourcesContent":["import { parseCommon, parseRate } from './helpers';\nimport { getRoomsPriceRange } from '../helpers';\nimport { formatPrice } from '../helpers/legacy';\n\nexport const ratesResponse = ({\n device: { mobile } = {},\n instances = [],\n response: { hotels = [], tracking = {} } = {},\n store: { finder: { place: { id: [hotelId] = [], isHotel } = {}, ...finder } = {}, id, type } = {},\n} = {}) => {\n // ! -- TODO: use of tracking should be a temporary approach ---------------------------------------------------------\n const { hotelInfo = {}, hotelInfoBAR = [], rates } = tracking;\n const { occupation = [], promocode = '' } = finder || {};\n const hasHotels = hotels?.length > 0;\n const items = [];\n\n if (hasHotels) {\n // ! TODO\n hotelInfoBAR.forEach(\n ({\n currency,\n hotelName,\n idTokenProvider,\n bestAvailableRate: { averagePrice: { internalWithoutTaxes } } = {},\n }) => {\n items.push({\n item_id: `${idTokenProvider}`,\n item_name: hotelName,\n coupon: promocode,\n currency: currency.currencyCode,\n item_brand: `${id}`,\n price: formatPrice(internalWithoutTaxes, currency),\n });\n },\n );\n } else if (rates) {\n Object.entries(getRoomsPriceRange(rates, hotelInfo.currency)).forEach(\n ([key, { minRate = 0, maxRate = 0 } = {}]) => {\n const { id } = rates[key];\n\n items.push(parseRate({ hotelInfo, id, promocode, rate: minRate }));\n if (minRate.id !== maxRate.id) items.push(parseRate({ hotelInfo, id, promocode, rate: maxRate }));\n },\n );\n }\n\n const step = hasHotels ? 'CHAINRESULT' : 'BOOKINGSTEP1';\n const value = {\n ...(rates || hasHotels\n ? {\n coupon: finder?.promocode || '',\n item_list_name: hasHotels ? 'CHAIN_RESULT' : 'Search Results',\n items,\n }\n : {\n ...parseCommon({ ...finder, id, type }),\n device: mobile ? 'MOBILE' : 'DESKTOP_TABLET',\n hotelId: isHotel ? hotelId : undefined,\n multiroom: occupation.length > 1,\n step,\n }),\n send_to: instances.map(({ idAnalytics } = {}) => idAnalytics),\n };\n\n window.gtag('event', rates || hasHotels ? (hasHotels ? 'view_item_list' : 'view_item') : 'no_view_item_list', value);\n window.gtag('event', 'data_search_info', {\n ...parseCommon({ ...finder, id, type }),\n non_interaction: true,\n send_to: instances.map(({ idAnalytics } = {}) => idAnalytics),\n step,\n });\n\n return value;\n};\n"],"mappings":"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"}
|
|
@@ -21,7 +21,7 @@ const bookingResponse = function () {
|
|
|
21
21
|
} = tracking;
|
|
22
22
|
const value = {
|
|
23
23
|
gv: (0, _legacy.formatPrice)(totalPriceWithoutTaxes, hotelCurrency),
|
|
24
|
-
gc: hotelCurrency.
|
|
24
|
+
gc: hotelCurrency.code
|
|
25
25
|
};
|
|
26
26
|
(_window$uetq = window.uetq) === null || _window$uetq === void 0 ? void 0 : _window$uetq.push(value);
|
|
27
27
|
return value;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bookingResponse.js","names":["_legacy","require","bookingResponse","_window$uetq","response","tracking","arguments","length","undefined","hotelInfo","currency","hotelCurrency","totalPriceWithoutTaxes","value","gv","formatPrice","gc","window","uetq","push","exports"],"sources":["../../../../../src/contexts/PerformanceManager/providers/bing/bookingResponse.js"],"sourcesContent":["import { formatPrice } from '../helpers/legacy';\n\nexport const bookingResponse = ({ response: { tracking = {} } = {} } = {}) => {\n // ! -- TODO: use of tracking should be a temporary approach ---------------------------------------------------------\n const { hotelInfo: { currency: hotelCurrency = {} } = {}, totalPriceWithoutTaxes } = tracking;\n\n const value = { gv: formatPrice(totalPriceWithoutTaxes, hotelCurrency), gc: hotelCurrency.
|
|
1
|
+
{"version":3,"file":"bookingResponse.js","names":["_legacy","require","bookingResponse","_window$uetq","response","tracking","arguments","length","undefined","hotelInfo","currency","hotelCurrency","totalPriceWithoutTaxes","value","gv","formatPrice","gc","code","window","uetq","push","exports"],"sources":["../../../../../src/contexts/PerformanceManager/providers/bing/bookingResponse.js"],"sourcesContent":["import { formatPrice } from '../helpers/legacy';\n\nexport const bookingResponse = ({ response: { tracking = {} } = {} } = {}) => {\n // ! -- TODO: use of tracking should be a temporary approach ---------------------------------------------------------\n const { hotelInfo: { currency: hotelCurrency = {} } = {}, totalPriceWithoutTaxes } = tracking;\n\n const value = { gv: formatPrice(totalPriceWithoutTaxes, hotelCurrency), gc: hotelCurrency.code };\n window.uetq?.push(value);\n\n return value;\n};\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAEO,MAAMC,eAAe,GAAG,SAAAA,CAAA,EAA+C;EAAA,IAAAC,YAAA;EAAA,IAA9C;IAAEC,QAAQ,EAAE;MAAEC,QAAQ,GAAG,CAAC;IAAE,CAAC,GAAG,CAAC;EAAE,CAAC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EACvE;EACA,MAAM;IAAEG,SAAS,EAAE;MAAEC,QAAQ,EAAEC,aAAa,GAAG,CAAC;IAAE,CAAC,GAAG,CAAC,CAAC;IAAEC;EAAuB,CAAC,GAAGP,QAAQ;EAE7F,MAAMQ,KAAK,GAAG;IAAEC,EAAE,EAAE,IAAAC,mBAAW,EAACH,sBAAsB,EAAED,aAAa,CAAC;IAAEK,EAAE,EAAEL,aAAa,CAACM;EAAK,CAAC;EAChG,CAAAd,YAAA,GAAAe,MAAM,CAACC,IAAI,cAAAhB,YAAA,uBAAXA,YAAA,CAAaiB,IAAI,CAACP,KAAK,CAAC;EAExB,OAAOA,KAAK;AACd,CAAC;AAACQ,OAAA,CAAAnB,eAAA,GAAAA,eAAA"}
|
|
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.bookingResponse = void 0;
|
|
7
|
+
var _duetto = require("./duetto");
|
|
7
8
|
var _Core = require("../../../../Core.constants");
|
|
8
9
|
var _helpers = require("../../../../helpers");
|
|
9
10
|
var _helpers2 = require("../../helpers");
|
|
@@ -61,6 +62,7 @@ const bookingResponse = function () {
|
|
|
61
62
|
reservationDate,
|
|
62
63
|
reservedExtras = {},
|
|
63
64
|
reservedRooms = [],
|
|
65
|
+
step,
|
|
64
66
|
totalPriceCommission,
|
|
65
67
|
totalExtrasTaxes,
|
|
66
68
|
totalExtrasWithTaxes,
|
|
@@ -165,7 +167,7 @@ const bookingResponse = function () {
|
|
|
165
167
|
reservationCode,
|
|
166
168
|
reservationDate,
|
|
167
169
|
state_provice: hotelProvince,
|
|
168
|
-
step
|
|
170
|
+
step,
|
|
169
171
|
surname: lastName,
|
|
170
172
|
totalCommission: (0, _legacy.formatPrice)(totalPriceCommission, hotelCurrency),
|
|
171
173
|
totalExtrasTaxes: (0, _legacy.formatPrice)(totalExtrasTaxes, hotelCurrency),
|
|
@@ -184,6 +186,13 @@ const bookingResponse = function () {
|
|
|
184
186
|
userLogged: !!session
|
|
185
187
|
};
|
|
186
188
|
(0, _helpers2.dataLayerPush)(dataLayer);
|
|
189
|
+
(0, _duetto.bookingResponse)({
|
|
190
|
+
checkin,
|
|
191
|
+
checkout,
|
|
192
|
+
hotelCurrency,
|
|
193
|
+
reservedRooms,
|
|
194
|
+
...tracking
|
|
195
|
+
});
|
|
187
196
|
return dataLayer;
|
|
188
197
|
};
|
|
189
198
|
exports.bookingResponse = bookingResponse;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bookingResponse.js","names":["_Core","require","_helpers","_helpers2","_helpers3","_legacy","ACCOMMODATION_TYPE_NAME","Object","keys","ACCOMMODATION_TYPE","bookingResponse","_variants$hotelId","device","mobile","response","tracking","store","currency","hotel","accommodationType","variants","language","session","arguments","length","undefined","idchain","idtokenprovider","hotelId","fetchUrlParams","location","search","bookingValues","checkin","checkout","coupon","promocode","nights","country","guestData","nationality","email","firstName","lastName","hotelInfo","hotelCity","hotelProvince","hotelCurrency","propertyName","propertyType","reservationCode","reservationDate","reservedExtras","reservedRooms","totalPriceCommission","totalExtrasTaxes","totalExtrasWithTaxes","totalExtrasWithoutTaxes","totalNumAdults","totalNumChildren","totalNumRooms","totalPriceWithTaxes","totalPriceWithTaxesWithoutExtras","totalPriceWithoutTaxes","totalPriceWithoutTaxesWithoutExtras","totalTaxes","rooms","map","averagePriceWithoutTaxes","daysPriceBoard","defaultBoardDescription","numRoomsToReserve","occupation","numAdults","numBabies","totalChildren","numChildren","rateId","rateName","roomTypeName","priceWithTaxes","priceWithoutTaxes","forEach","day","boardName","numRooms","roomName","unitaryPriceWithoutTaxes","formatPrice","extras","values","amount","id","name","nightsToApply","unitaryPriceWithTaxes","extraId","extraName","dataLayer","chainId","city","cityZone","code","emailSHA256","SHA256","event","home","document","hostname","lodgingDenomination","products","state_provice","step","surname","totalCommission","totalPrice","totalPriceWithTaxesWithExtras","totalPriceWithoutTaxesWithExtras","userCountry","userCurrency","userLogged","dataLayerPush","exports"],"sources":["../../../../../src/contexts/PerformanceManager/providers/gtm/bookingResponse.js"],"sourcesContent":["import { ACCOMMODATION_TYPE } from '../../../../Core.constants';\nimport { fetchUrlParams } from '../../../../helpers';\nimport { dataLayerPush } from '../../helpers';\nimport { SHA256 } from '../helpers';\nimport { formatPrice } from '../helpers/legacy';\n\nconst ACCOMMODATION_TYPE_NAME = Object.keys(ACCOMMODATION_TYPE);\n\nexport const bookingResponse = ({\n device: { mobile } = {},\n response: { tracking = {} } = {},\n store: { currency, hotel: { accommodationType, variants = {} } = {}, language, session } = {},\n} = {}) => {\n // ! -- TODO: Try to get all data from store -------------------------------------------------------------------------\n const { idchain, idtokenprovider: hotelId } = fetchUrlParams(location.search);\n\n // ! -- TODO: use of tracking should be a temporary approach ---------------------------------------------------------\n const {\n bookingValues: { checkin, checkout, coupon: promocode = '', nights } = {},\n country,\n guestData: { country: nationality, email, firstName, lastName } = {},\n hotelInfo: { hotelCity, hotelProvince, currency: hotelCurrency = {}, propertyName, propertyType } = {},\n reservationCode,\n reservationDate,\n reservedExtras = {},\n reservedRooms = [],\n totalPriceCommission,\n totalExtrasTaxes,\n totalExtrasWithTaxes,\n totalExtrasWithoutTaxes,\n totalNumAdults,\n totalNumChildren,\n totalNumRooms,\n totalPriceWithTaxes,\n totalPriceWithTaxesWithoutExtras,\n totalPriceWithoutTaxes,\n totalPriceWithoutTaxesWithoutExtras,\n totalTaxes,\n } = tracking;\n\n const rooms = reservedRooms.map(\n ({\n averagePriceWithoutTaxes,\n daysPriceBoard = [],\n defaultBoardDescription,\n numRoomsToReserve,\n occupation: { numAdults, numBabies, totalChildren: numChildren } = {},\n rateId,\n rateName,\n roomTypeName,\n } = {}) => {\n let priceWithTaxes = 0;\n let priceWithoutTaxes = 0;\n daysPriceBoard.forEach((day) => {\n priceWithTaxes += day.priceWithTaxes;\n priceWithoutTaxes += day.priceWithoutTaxes;\n });\n\n return {\n boardName: defaultBoardDescription,\n numRooms: numRoomsToReserve,\n occupation: { numAdults, numChildren, numBabies },\n rateId,\n rateName,\n roomName: roomTypeName,\n priceWithTaxes,\n priceWithoutTaxes,\n unitaryPriceWithoutTaxes: formatPrice(averagePriceWithoutTaxes, hotelCurrency),\n };\n },\n );\n\n const extras = Object.values(reservedExtras).map(\n ({\n amount,\n id,\n name,\n nightsToApply,\n totalPriceWithTaxes,\n totalPriceWithoutTaxes,\n unitaryPriceWithTaxes,\n unitaryPriceWithoutTaxes,\n } = {}) => ({\n amount,\n extraId: id,\n extraName: name,\n nightsToApply,\n totalPriceWithTaxes,\n totalPriceWithoutTaxes,\n unitaryPriceWithTaxes,\n unitaryPriceWithoutTaxes,\n }),\n );\n\n const dataLayer = {\n chainId: idchain,\n checkin,\n checkout,\n city: hotelCity,\n cityZone: undefined,\n coupon: promocode,\n currency: hotelCurrency.code,\n device: mobile ? 'MOBILE' : 'DESKTOP_TABLET',\n email,\n emailSHA256: SHA256(email),\n event: 'init',\n home: document.location.hostname,\n hotelId,\n language,\n lodgingDenomination: ACCOMMODATION_TYPE_NAME[variants[hotelId]?.accommodationType || accommodationType],\n name: firstName,\n nights,\n numAdults: totalNumAdults,\n numChildren: totalNumChildren,\n numRooms: totalNumRooms,\n products: { rooms, extras, checkin, checkout },\n propertyName,\n propertyType,\n reservationCode,\n reservationDate,\n state_provice: hotelProvince,\n step: 'CLIENTFORM',\n surname: lastName,\n totalCommission: formatPrice(totalPriceCommission, hotelCurrency),\n totalExtrasTaxes: formatPrice(totalExtrasTaxes, hotelCurrency),\n totalExtrasWithTaxes: formatPrice(totalExtrasWithTaxes, hotelCurrency),\n totalExtrasWithoutTaxes: formatPrice(totalExtrasWithoutTaxes, hotelCurrency),\n totalPrice: formatPrice(totalPriceWithTaxes, hotelCurrency),\n totalPriceWithoutTaxes: formatPrice(totalPriceWithoutTaxes, hotelCurrency),\n totalPriceWithTaxesWithExtras: formatPrice(totalPriceWithTaxes, hotelCurrency),\n totalPriceWithTaxesWithoutExtras: formatPrice(totalPriceWithTaxesWithoutExtras, hotelCurrency),\n totalPriceWithoutTaxesWithExtras: formatPrice(totalPriceWithoutTaxes, hotelCurrency),\n totalPriceWithoutTaxesWithoutExtras: formatPrice(totalPriceWithoutTaxesWithoutExtras, hotelCurrency),\n totalTaxes: formatPrice(totalTaxes, hotelCurrency),\n nationality,\n userCountry: country,\n userCurrency: currency,\n userLogged: !!session,\n };\n\n dataLayerPush(dataLayer);\n\n return dataLayer;\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bookingResponse.js","names":["_duetto","require","_Core","_helpers","_helpers2","_helpers3","_legacy","ACCOMMODATION_TYPE_NAME","Object","keys","ACCOMMODATION_TYPE","bookingResponse","_variants$hotelId","device","mobile","response","tracking","store","currency","hotel","accommodationType","variants","language","session","arguments","length","undefined","idchain","idtokenprovider","hotelId","fetchUrlParams","location","search","bookingValues","checkin","checkout","coupon","promocode","nights","country","guestData","nationality","email","firstName","lastName","hotelInfo","hotelCity","hotelProvince","hotelCurrency","propertyName","propertyType","reservationCode","reservationDate","reservedExtras","reservedRooms","step","totalPriceCommission","totalExtrasTaxes","totalExtrasWithTaxes","totalExtrasWithoutTaxes","totalNumAdults","totalNumChildren","totalNumRooms","totalPriceWithTaxes","totalPriceWithTaxesWithoutExtras","totalPriceWithoutTaxes","totalPriceWithoutTaxesWithoutExtras","totalTaxes","rooms","map","averagePriceWithoutTaxes","daysPriceBoard","defaultBoardDescription","numRoomsToReserve","occupation","numAdults","numBabies","totalChildren","numChildren","rateId","rateName","roomTypeName","priceWithTaxes","priceWithoutTaxes","forEach","day","boardName","numRooms","roomName","unitaryPriceWithoutTaxes","formatPrice","extras","values","amount","id","name","nightsToApply","unitaryPriceWithTaxes","extraId","extraName","dataLayer","chainId","city","cityZone","code","emailSHA256","SHA256","event","home","document","hostname","lodgingDenomination","products","state_provice","surname","totalCommission","totalPrice","totalPriceWithTaxesWithExtras","totalPriceWithoutTaxesWithExtras","userCountry","userCurrency","userLogged","dataLayerPush","duettoBookingResponse","exports"],"sources":["../../../../../src/contexts/PerformanceManager/providers/gtm/bookingResponse.js"],"sourcesContent":["import { bookingResponse as duettoBookingResponse } from './duetto';\nimport { ACCOMMODATION_TYPE } from '../../../../Core.constants';\nimport { fetchUrlParams } from '../../../../helpers';\nimport { dataLayerPush } from '../../helpers';\nimport { SHA256 } from '../helpers';\nimport { formatPrice } from '../helpers/legacy';\n\nconst ACCOMMODATION_TYPE_NAME = Object.keys(ACCOMMODATION_TYPE);\n\nexport const bookingResponse = ({\n device: { mobile } = {},\n response: { tracking = {} } = {},\n store: { currency, hotel: { accommodationType, variants = {} } = {}, language, session } = {},\n} = {}) => {\n // ! -- TODO: Try to get all data from store -------------------------------------------------------------------------\n const { idchain, idtokenprovider: hotelId } = fetchUrlParams(location.search);\n\n // ! -- TODO: use of tracking should be a temporary approach ---------------------------------------------------------\n const {\n bookingValues: { checkin, checkout, coupon: promocode = '', nights } = {},\n country,\n guestData: { country: nationality, email, firstName, lastName } = {},\n hotelInfo: { hotelCity, hotelProvince, currency: hotelCurrency = {}, propertyName, propertyType } = {},\n reservationCode,\n reservationDate,\n reservedExtras = {},\n reservedRooms = [],\n step,\n totalPriceCommission,\n totalExtrasTaxes,\n totalExtrasWithTaxes,\n totalExtrasWithoutTaxes,\n totalNumAdults,\n totalNumChildren,\n totalNumRooms,\n totalPriceWithTaxes,\n totalPriceWithTaxesWithoutExtras,\n totalPriceWithoutTaxes,\n totalPriceWithoutTaxesWithoutExtras,\n totalTaxes,\n } = tracking;\n\n const rooms = reservedRooms.map(\n ({\n averagePriceWithoutTaxes,\n daysPriceBoard = [],\n defaultBoardDescription,\n numRoomsToReserve,\n occupation: { numAdults, numBabies, totalChildren: numChildren } = {},\n rateId,\n rateName,\n roomTypeName,\n } = {}) => {\n let priceWithTaxes = 0;\n let priceWithoutTaxes = 0;\n daysPriceBoard.forEach((day) => {\n priceWithTaxes += day.priceWithTaxes;\n priceWithoutTaxes += day.priceWithoutTaxes;\n });\n\n return {\n boardName: defaultBoardDescription,\n numRooms: numRoomsToReserve,\n occupation: { numAdults, numChildren, numBabies },\n rateId,\n rateName,\n roomName: roomTypeName,\n priceWithTaxes,\n priceWithoutTaxes,\n unitaryPriceWithoutTaxes: formatPrice(averagePriceWithoutTaxes, hotelCurrency),\n };\n },\n );\n\n const extras = Object.values(reservedExtras).map(\n ({\n amount,\n id,\n name,\n nightsToApply,\n totalPriceWithTaxes,\n totalPriceWithoutTaxes,\n unitaryPriceWithTaxes,\n unitaryPriceWithoutTaxes,\n } = {}) => ({\n amount,\n extraId: id,\n extraName: name,\n nightsToApply,\n totalPriceWithTaxes,\n totalPriceWithoutTaxes,\n unitaryPriceWithTaxes,\n unitaryPriceWithoutTaxes,\n }),\n );\n\n const dataLayer = {\n chainId: idchain,\n checkin,\n checkout,\n city: hotelCity,\n cityZone: undefined,\n coupon: promocode,\n currency: hotelCurrency.code,\n device: mobile ? 'MOBILE' : 'DESKTOP_TABLET',\n email,\n emailSHA256: SHA256(email),\n event: 'init',\n home: document.location.hostname,\n hotelId,\n language,\n lodgingDenomination: ACCOMMODATION_TYPE_NAME[variants[hotelId]?.accommodationType || accommodationType],\n name: firstName,\n nights,\n numAdults: totalNumAdults,\n numChildren: totalNumChildren,\n numRooms: totalNumRooms,\n products: { rooms, extras, checkin, checkout },\n propertyName,\n propertyType,\n reservationCode,\n reservationDate,\n state_provice: hotelProvince,\n step,\n surname: lastName,\n totalCommission: formatPrice(totalPriceCommission, hotelCurrency),\n totalExtrasTaxes: formatPrice(totalExtrasTaxes, hotelCurrency),\n totalExtrasWithTaxes: formatPrice(totalExtrasWithTaxes, hotelCurrency),\n totalExtrasWithoutTaxes: formatPrice(totalExtrasWithoutTaxes, hotelCurrency),\n totalPrice: formatPrice(totalPriceWithTaxes, hotelCurrency),\n totalPriceWithoutTaxes: formatPrice(totalPriceWithoutTaxes, hotelCurrency),\n totalPriceWithTaxesWithExtras: formatPrice(totalPriceWithTaxes, hotelCurrency),\n totalPriceWithTaxesWithoutExtras: formatPrice(totalPriceWithTaxesWithoutExtras, hotelCurrency),\n totalPriceWithoutTaxesWithExtras: formatPrice(totalPriceWithoutTaxes, hotelCurrency),\n totalPriceWithoutTaxesWithoutExtras: formatPrice(totalPriceWithoutTaxesWithoutExtras, hotelCurrency),\n totalTaxes: formatPrice(totalTaxes, hotelCurrency),\n nationality,\n userCountry: country,\n userCurrency: currency,\n userLogged: !!session,\n };\n\n dataLayerPush(dataLayer);\n duettoBookingResponse({ checkin, checkout, hotelCurrency, reservedRooms, ...tracking });\n\n return dataLayer;\n};\n"],"mappings":"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"}
|
|
@@ -44,6 +44,11 @@ const checkoutResponse = function () {
|
|
|
44
44
|
|
|
45
45
|
// ! -- TODO: use of tracking should be a temporary approach ---------------------------------------------------------
|
|
46
46
|
const {
|
|
47
|
+
bookingValues: {
|
|
48
|
+
userCurrency: {
|
|
49
|
+
value: userCurrencyValue
|
|
50
|
+
} = {}
|
|
51
|
+
} = {},
|
|
47
52
|
country,
|
|
48
53
|
hotelInfo: {
|
|
49
54
|
currency: hotelCurrency = {},
|
|
@@ -144,6 +149,7 @@ const checkoutResponse = function () {
|
|
|
144
149
|
currency: hotelCurrency.code,
|
|
145
150
|
device: mobile ? 'MOBILE' : 'DESKTOP_TABLET',
|
|
146
151
|
event: 'init',
|
|
152
|
+
exchangeRate: userCurrencyValue && hotelCurrency.value && userCurrencyValue / hotelCurrency.value,
|
|
147
153
|
home: document.location.hostname,
|
|
148
154
|
hotelId,
|
|
149
155
|
language,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkoutResponse.js","names":["_locale","require","_helpers","_Core","_helpers2","_helpers3","_legacy","ACCOMMODATION_TYPE_NAME","Object","keys","ACCOMMODATION_TYPE","checkoutResponse","_variants$hotelId","device","mobile","response","infantAge","tracking","store","currency","finder","calendar","occupation","promocode","hotel","accommodationType","variants","language","session","arguments","length","undefined","idchain","idtokenprovider","hotelId","fetchUrlParams","location","search","country","hotelInfo","hotelCurrency","propertyName","propertyType","reservedExtras","reservedRooms","totalExtrasTaxes","totalExtrasWithTaxes","totalExtrasWithoutTaxes","totalPriceWithTaxes","totalPriceWithTaxesWithoutExtras","totalPriceWithoutTaxes","totalPriceWithoutTaxesWithoutExtras","totalTaxes","adults","children","getOccupationTotals","days","nights","dateDiff","checkin","dateFormat","format","checkout","rooms","map","averagePriceWithoutTaxes","daysPriceBoard","defaultBoardDescription","numRoomsToReserve","numAdults","numBabies","totalChildren","numChildren","rateId","rateName","roomTypeName","priceWithTaxes","priceWithoutTaxes","forEach","day","boardName","numRooms","roomName","unitaryPriceWithoutTaxes","formatPrice","extras","values","amount","id","name","nightsToApply","unitaryPriceWithTaxes","extraId","extraName","dataLayer","chainId","coupon","code","event","home","document","hostname","lodgingDenomination","products","step","totalPriceWithTaxesWithExtras","totalPriceWithoutTaxesWithExtras","userCountry","userCurrency","userLogged","dataLayerPush","exports"],"sources":["../../../../../src/contexts/PerformanceManager/providers/gtm/checkoutResponse.js"],"sourcesContent":["import { dateDiff, dateFormat } from '@mirai/locale';\n\nimport { getOccupationTotals } from '../../../../components/helpers';\nimport { ACCOMMODATION_TYPE } from '../../../../Core.constants';\nimport { fetchUrlParams } from '../../../../helpers';\nimport { dataLayerPush } from '../../helpers';\nimport { formatPrice } from '../helpers/legacy';\n\nconst ACCOMMODATION_TYPE_NAME = Object.keys(ACCOMMODATION_TYPE);\n\nexport const checkoutResponse = ({\n device: { mobile } = {},\n response: { infantAge, tracking = {} } = {},\n store: {\n currency,\n finder: { calendar = [], occupation = [], promocode = '' } = {},\n hotel: { accommodationType, variants = {} } = {},\n language,\n session,\n } = {},\n} = {}) => {\n // ! -- TODO: Try to get all data from store -------------------------------------------------------------------------\n const { idchain, idtokenprovider: hotelId } = fetchUrlParams(location.search);\n\n // ! -- TODO: use of tracking should be a temporary approach ---------------------------------------------------------\n const {\n country,\n hotelInfo: { currency: hotelCurrency = {}, propertyName, propertyType } = {},\n reservedExtras = {},\n reservedRooms = [],\n totalExtrasTaxes,\n totalExtrasWithTaxes,\n totalExtrasWithoutTaxes,\n totalPriceWithTaxes,\n totalPriceWithTaxesWithoutExtras,\n totalPriceWithoutTaxes,\n totalPriceWithoutTaxesWithoutExtras,\n totalTaxes,\n } = tracking;\n\n const { adults = 0, children = 0 } = getOccupationTotals({ infantAge, occupation });\n const { days: nights } = dateDiff(...calendar);\n const checkin = dateFormat(calendar[0], { format: 'DD/MM/YYYY' });\n const checkout = dateFormat(calendar[1], { format: 'DD/MM/YYYY' });\n\n const rooms = reservedRooms.map(\n ({\n averagePriceWithoutTaxes,\n daysPriceBoard = [],\n defaultBoardDescription,\n numRoomsToReserve,\n occupation: { numAdults, numBabies, totalChildren: numChildren } = {},\n rateId,\n rateName,\n roomTypeName,\n } = {}) => {\n let priceWithTaxes = 0;\n let priceWithoutTaxes = 0;\n daysPriceBoard.forEach((day) => {\n priceWithTaxes += day.priceWithTaxes;\n priceWithoutTaxes += day.priceWithoutTaxes;\n });\n\n return {\n boardName: defaultBoardDescription,\n numRooms: numRoomsToReserve,\n occupation: { numAdults, numChildren, numBabies },\n rateId,\n rateName,\n roomName: roomTypeName,\n priceWithTaxes,\n priceWithoutTaxes,\n unitaryPriceWithoutTaxes: formatPrice(averagePriceWithoutTaxes, hotelCurrency),\n };\n },\n );\n\n const extras = Object.values(reservedExtras).map(\n ({\n amount,\n id,\n name,\n nightsToApply,\n totalPriceWithTaxes,\n totalPriceWithoutTaxes,\n unitaryPriceWithTaxes,\n unitaryPriceWithoutTaxes,\n } = {}) => ({\n amount,\n extraId: id,\n extraName: name,\n nightsToApply,\n totalPriceWithTaxes,\n totalPriceWithoutTaxes,\n unitaryPriceWithTaxes,\n unitaryPriceWithoutTaxes,\n }),\n );\n\n const dataLayer = {\n chainId: idchain,\n checkin,\n checkout,\n coupon: promocode,\n currency: hotelCurrency.code,\n device: mobile ? 'MOBILE' : 'DESKTOP_TABLET',\n event: 'init',\n home: document.location.hostname,\n hotelId,\n language,\n lodgingDenomination: ACCOMMODATION_TYPE_NAME[variants[hotelId]?.accommodationType || accommodationType],\n nights,\n numAdults: adults,\n numChildren: children,\n numRooms: occupation.length,\n products: { rooms, extras, checkin, checkout },\n propertyName,\n propertyType,\n step: 'CLIENTFORM',\n totalExtrasTaxes: formatPrice(totalExtrasTaxes, hotelCurrency),\n totalExtrasWithTaxes: formatPrice(totalExtrasWithTaxes, hotelCurrency),\n totalExtrasWithoutTaxes: formatPrice(totalExtrasWithoutTaxes, hotelCurrency),\n totalPriceWithTaxesWithExtras: formatPrice(totalPriceWithTaxes, hotelCurrency),\n totalPriceWithTaxesWithoutExtras: formatPrice(totalPriceWithTaxesWithoutExtras, hotelCurrency),\n totalPriceWithoutTaxesWithExtras: formatPrice(totalPriceWithoutTaxes, hotelCurrency),\n totalPriceWithoutTaxesWithoutExtras: formatPrice(totalPriceWithoutTaxesWithoutExtras, hotelCurrency),\n totalTaxes: formatPrice(totalTaxes, hotelCurrency),\n userCountry: country,\n userCurrency: currency,\n userLogged: !!session,\n };\n\n dataLayerPush(dataLayer);\n\n return dataLayer;\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"checkoutResponse.js","names":["_locale","require","_helpers","_Core","_helpers2","_helpers3","_legacy","ACCOMMODATION_TYPE_NAME","Object","keys","ACCOMMODATION_TYPE","checkoutResponse","_variants$hotelId","device","mobile","response","infantAge","tracking","store","currency","finder","calendar","occupation","promocode","hotel","accommodationType","variants","language","session","arguments","length","undefined","idchain","idtokenprovider","hotelId","fetchUrlParams","location","search","bookingValues","userCurrency","value","userCurrencyValue","country","hotelInfo","hotelCurrency","propertyName","propertyType","reservedExtras","reservedRooms","totalExtrasTaxes","totalExtrasWithTaxes","totalExtrasWithoutTaxes","totalPriceWithTaxes","totalPriceWithTaxesWithoutExtras","totalPriceWithoutTaxes","totalPriceWithoutTaxesWithoutExtras","totalTaxes","adults","children","getOccupationTotals","days","nights","dateDiff","checkin","dateFormat","format","checkout","rooms","map","averagePriceWithoutTaxes","daysPriceBoard","defaultBoardDescription","numRoomsToReserve","numAdults","numBabies","totalChildren","numChildren","rateId","rateName","roomTypeName","priceWithTaxes","priceWithoutTaxes","forEach","day","boardName","numRooms","roomName","unitaryPriceWithoutTaxes","formatPrice","extras","values","amount","id","name","nightsToApply","unitaryPriceWithTaxes","extraId","extraName","dataLayer","chainId","coupon","code","event","exchangeRate","home","document","hostname","lodgingDenomination","products","step","totalPriceWithTaxesWithExtras","totalPriceWithoutTaxesWithExtras","userCountry","userLogged","dataLayerPush","exports"],"sources":["../../../../../src/contexts/PerformanceManager/providers/gtm/checkoutResponse.js"],"sourcesContent":["import { dateDiff, dateFormat } from '@mirai/locale';\n\nimport { getOccupationTotals } from '../../../../components/helpers';\nimport { ACCOMMODATION_TYPE } from '../../../../Core.constants';\nimport { fetchUrlParams } from '../../../../helpers';\nimport { dataLayerPush } from '../../helpers';\nimport { formatPrice } from '../helpers/legacy';\n\nconst ACCOMMODATION_TYPE_NAME = Object.keys(ACCOMMODATION_TYPE);\n\nexport const checkoutResponse = ({\n device: { mobile } = {},\n response: { infantAge, tracking = {} } = {},\n store: {\n currency,\n finder: { calendar = [], occupation = [], promocode = '' } = {},\n hotel: { accommodationType, variants = {} } = {},\n language,\n session,\n } = {},\n} = {}) => {\n // ! -- TODO: Try to get all data from store -------------------------------------------------------------------------\n const { idchain, idtokenprovider: hotelId } = fetchUrlParams(location.search);\n\n // ! -- TODO: use of tracking should be a temporary approach ---------------------------------------------------------\n const {\n bookingValues: { userCurrency: { value: userCurrencyValue } = {} } = {},\n country,\n hotelInfo: { currency: hotelCurrency = {}, propertyName, propertyType } = {},\n reservedExtras = {},\n reservedRooms = [],\n totalExtrasTaxes,\n totalExtrasWithTaxes,\n totalExtrasWithoutTaxes,\n totalPriceWithTaxes,\n totalPriceWithTaxesWithoutExtras,\n totalPriceWithoutTaxes,\n totalPriceWithoutTaxesWithoutExtras,\n totalTaxes,\n } = tracking;\n\n const { adults = 0, children = 0 } = getOccupationTotals({ infantAge, occupation });\n const { days: nights } = dateDiff(...calendar);\n const checkin = dateFormat(calendar[0], { format: 'DD/MM/YYYY' });\n const checkout = dateFormat(calendar[1], { format: 'DD/MM/YYYY' });\n\n const rooms = reservedRooms.map(\n ({\n averagePriceWithoutTaxes,\n daysPriceBoard = [],\n defaultBoardDescription,\n numRoomsToReserve,\n occupation: { numAdults, numBabies, totalChildren: numChildren } = {},\n rateId,\n rateName,\n roomTypeName,\n } = {}) => {\n let priceWithTaxes = 0;\n let priceWithoutTaxes = 0;\n daysPriceBoard.forEach((day) => {\n priceWithTaxes += day.priceWithTaxes;\n priceWithoutTaxes += day.priceWithoutTaxes;\n });\n\n return {\n boardName: defaultBoardDescription,\n numRooms: numRoomsToReserve,\n occupation: { numAdults, numChildren, numBabies },\n rateId,\n rateName,\n roomName: roomTypeName,\n priceWithTaxes,\n priceWithoutTaxes,\n unitaryPriceWithoutTaxes: formatPrice(averagePriceWithoutTaxes, hotelCurrency),\n };\n },\n );\n\n const extras = Object.values(reservedExtras).map(\n ({\n amount,\n id,\n name,\n nightsToApply,\n totalPriceWithTaxes,\n totalPriceWithoutTaxes,\n unitaryPriceWithTaxes,\n unitaryPriceWithoutTaxes,\n } = {}) => ({\n amount,\n extraId: id,\n extraName: name,\n nightsToApply,\n totalPriceWithTaxes,\n totalPriceWithoutTaxes,\n unitaryPriceWithTaxes,\n unitaryPriceWithoutTaxes,\n }),\n );\n\n const dataLayer = {\n chainId: idchain,\n checkin,\n checkout,\n coupon: promocode,\n currency: hotelCurrency.code,\n device: mobile ? 'MOBILE' : 'DESKTOP_TABLET',\n event: 'init',\n exchangeRate: userCurrencyValue && hotelCurrency.value && userCurrencyValue / hotelCurrency.value,\n home: document.location.hostname,\n hotelId,\n language,\n lodgingDenomination: ACCOMMODATION_TYPE_NAME[variants[hotelId]?.accommodationType || accommodationType],\n nights,\n numAdults: adults,\n numChildren: children,\n numRooms: occupation.length,\n products: { rooms, extras, checkin, checkout },\n propertyName,\n propertyType,\n step: 'CLIENTFORM',\n totalExtrasTaxes: formatPrice(totalExtrasTaxes, hotelCurrency),\n totalExtrasWithTaxes: formatPrice(totalExtrasWithTaxes, hotelCurrency),\n totalExtrasWithoutTaxes: formatPrice(totalExtrasWithoutTaxes, hotelCurrency),\n totalPriceWithTaxesWithExtras: formatPrice(totalPriceWithTaxes, hotelCurrency),\n totalPriceWithTaxesWithoutExtras: formatPrice(totalPriceWithTaxesWithoutExtras, hotelCurrency),\n totalPriceWithoutTaxesWithExtras: formatPrice(totalPriceWithoutTaxes, hotelCurrency),\n totalPriceWithoutTaxesWithoutExtras: formatPrice(totalPriceWithoutTaxesWithoutExtras, hotelCurrency),\n totalTaxes: formatPrice(totalTaxes, hotelCurrency),\n userCountry: country,\n userCurrency: currency,\n userLogged: !!session,\n };\n\n dataLayerPush(dataLayer);\n\n return dataLayer;\n};\n"],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.bookingResponse = void 0;
|
|
7
|
+
var _helpers = require("../../../helpers");
|
|
8
|
+
var _legacy = require("../../helpers/legacy");
|
|
9
|
+
const bookingResponse = function () {
|
|
10
|
+
let {
|
|
11
|
+
checkin,
|
|
12
|
+
checkout,
|
|
13
|
+
hotelCurrency,
|
|
14
|
+
idReservation,
|
|
15
|
+
reservedRooms
|
|
16
|
+
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
17
|
+
(0, _helpers.dataLayerPush)({
|
|
18
|
+
'duetto.data': reservedRooms.map(function () {
|
|
19
|
+
let {
|
|
20
|
+
occupation,
|
|
21
|
+
rateName,
|
|
22
|
+
roomTypeName,
|
|
23
|
+
totalPriceWithTaxes
|
|
24
|
+
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
25
|
+
return {
|
|
26
|
+
b: idReservation,
|
|
27
|
+
r: (0, _legacy.formatPrice)(totalPriceWithTaxes, hotelCurrency),
|
|
28
|
+
cc: hotelCurrency.code,
|
|
29
|
+
rc: rateName,
|
|
30
|
+
rt: roomTypeName,
|
|
31
|
+
na: occupation.numAdults,
|
|
32
|
+
nc: occupation.totalChildren,
|
|
33
|
+
sd: checkin,
|
|
34
|
+
ed: checkout
|
|
35
|
+
};
|
|
36
|
+
}),
|
|
37
|
+
event: 'duetto.Booking'
|
|
38
|
+
});
|
|
39
|
+
};
|
|
40
|
+
exports.bookingResponse = bookingResponse;
|
|
41
|
+
//# sourceMappingURL=bookingResponse.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bookingResponse.js","names":["_helpers","require","_legacy","bookingResponse","checkin","checkout","hotelCurrency","idReservation","reservedRooms","arguments","length","undefined","dataLayerPush","map","occupation","rateName","roomTypeName","totalPriceWithTaxes","b","r","formatPrice","cc","code","rc","rt","na","numAdults","nc","totalChildren","sd","ed","event","exports"],"sources":["../../../../../../src/contexts/PerformanceManager/providers/gtm/duetto/bookingResponse.js"],"sourcesContent":["import { dataLayerPush } from '../../../helpers';\nimport { formatPrice } from '../../helpers/legacy';\n\nexport const bookingResponse = ({ checkin, checkout, hotelCurrency, idReservation, reservedRooms } = {}) => {\n dataLayerPush({\n 'duetto.data': reservedRooms.map(({ occupation, rateName, roomTypeName, totalPriceWithTaxes } = {}) => ({\n b: idReservation,\n r: formatPrice(totalPriceWithTaxes, hotelCurrency),\n cc: hotelCurrency.code,\n rc: rateName,\n rt: roomTypeName,\n na: occupation.numAdults,\n nc: occupation.totalChildren,\n sd: checkin,\n ed: checkout,\n })),\n event: 'duetto.Booking',\n });\n};\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAEO,MAAME,eAAe,GAAG,SAAAA,CAAA,EAA6E;EAAA,IAA5E;IAAEC,OAAO;IAAEC,QAAQ;IAAEC,aAAa;IAAEC,aAAa;IAAEC;EAAc,CAAC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EACrG,IAAAG,sBAAa,EAAC;IACZ,aAAa,EAAEJ,aAAa,CAACK,GAAG,CAAC;MAAA,IAAC;QAAEC,UAAU;QAAEC,QAAQ;QAAEC,YAAY;QAAEC;MAAoB,CAAC,GAAAR,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;MAAA,OAAM;QACtGS,CAAC,EAAEX,aAAa;QAChBY,CAAC,EAAE,IAAAC,mBAAW,EAACH,mBAAmB,EAAEX,aAAa,CAAC;QAClDe,EAAE,EAAEf,aAAa,CAACgB,IAAI;QACtBC,EAAE,EAAER,QAAQ;QACZS,EAAE,EAAER,YAAY;QAChBS,EAAE,EAAEX,UAAU,CAACY,SAAS;QACxBC,EAAE,EAAEb,UAAU,CAACc,aAAa;QAC5BC,EAAE,EAAEzB,OAAO;QACX0B,EAAE,EAAEzB;MACN,CAAC;IAAA,CAAC,CAAC;IACH0B,KAAK,EAAE;EACT,CAAC,CAAC;AACJ,CAAC;AAACC,OAAA,CAAA7B,eAAA,GAAAA,eAAA"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
var _bookingResponse = require("./bookingResponse");
|
|
7
|
+
Object.keys(_bookingResponse).forEach(function (key) {
|
|
8
|
+
if (key === "default" || key === "__esModule") return;
|
|
9
|
+
if (key in exports && exports[key] === _bookingResponse[key]) return;
|
|
10
|
+
Object.defineProperty(exports, key, {
|
|
11
|
+
enumerable: true,
|
|
12
|
+
get: function () {
|
|
13
|
+
return _bookingResponse[key];
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
var _ratesResponse = require("./ratesResponse");
|
|
18
|
+
Object.keys(_ratesResponse).forEach(function (key) {
|
|
19
|
+
if (key === "default" || key === "__esModule") return;
|
|
20
|
+
if (key in exports && exports[key] === _ratesResponse[key]) return;
|
|
21
|
+
Object.defineProperty(exports, key, {
|
|
22
|
+
enumerable: true,
|
|
23
|
+
get: function () {
|
|
24
|
+
return _ratesResponse[key];
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["_bookingResponse","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_ratesResponse"],"sources":["../../../../../../src/contexts/PerformanceManager/providers/gtm/duetto/index.js"],"sourcesContent":["export * from './bookingResponse';\nexport * from './ratesResponse';\n"],"mappings":";;;;;AAAA,IAAAA,gBAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,gBAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,gBAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,gBAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,cAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,cAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,cAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,cAAA,CAAAL,GAAA;IAAA;EAAA;AAAA"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.ratesResponse = void 0;
|
|
7
|
+
var _helpers = require("../../../helpers");
|
|
8
|
+
var _helpers2 = require("../../helpers");
|
|
9
|
+
var _legacy = require("../../helpers/legacy");
|
|
10
|
+
const ratesResponse = function () {
|
|
11
|
+
let {
|
|
12
|
+
checkin,
|
|
13
|
+
checkout,
|
|
14
|
+
hotelCurrency,
|
|
15
|
+
rates
|
|
16
|
+
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
17
|
+
const bookingValues = {
|
|
18
|
+
sd: checkin,
|
|
19
|
+
ed: checkout
|
|
20
|
+
};
|
|
21
|
+
if (!rates) {
|
|
22
|
+
(0, _helpers.dataLayerPush)({
|
|
23
|
+
'duetto.data': bookingValues,
|
|
24
|
+
event: 'Denial'
|
|
25
|
+
});
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
const {
|
|
29
|
+
minRate,
|
|
30
|
+
maxRate
|
|
31
|
+
} = (0, _helpers2.getRatesPriceRange)(rates, hotelCurrency);
|
|
32
|
+
(0, _helpers.dataLayerPush)({
|
|
33
|
+
'duetto.data': {
|
|
34
|
+
lr: minRate === null || minRate === void 0 ? void 0 : minRate.price,
|
|
35
|
+
hr: maxRate === null || maxRate === void 0 ? void 0 : maxRate.price,
|
|
36
|
+
cc: hotelCurrency.code,
|
|
37
|
+
...bookingValues
|
|
38
|
+
},
|
|
39
|
+
event: 'duetto.Search'
|
|
40
|
+
});
|
|
41
|
+
(0, _helpers.dataLayerPush)({
|
|
42
|
+
'duetto.data': {
|
|
43
|
+
rates: Object.values(rates).flatMap(_ref => {
|
|
44
|
+
let {
|
|
45
|
+
name: rt,
|
|
46
|
+
occupationOptions,
|
|
47
|
+
sortedKeysOccupations
|
|
48
|
+
} = _ref;
|
|
49
|
+
return Object.values(occupationOptions[sortedKeysOccupations[0]].rates).map(_ref2 => {
|
|
50
|
+
var _boardOptions$sortedK;
|
|
51
|
+
let {
|
|
52
|
+
name: rc,
|
|
53
|
+
boardOptions,
|
|
54
|
+
sortedKeysBoards
|
|
55
|
+
} = _ref2;
|
|
56
|
+
return {
|
|
57
|
+
r: (0, _legacy.formatPrice)((_boardOptions$sortedK = boardOptions[sortedKeysBoards[0]]) === null || _boardOptions$sortedK === void 0 ? void 0 : _boardOptions$sortedK.originalAvgPrice, hotelCurrency),
|
|
58
|
+
rt,
|
|
59
|
+
rc
|
|
60
|
+
};
|
|
61
|
+
});
|
|
62
|
+
}),
|
|
63
|
+
cc: hotelCurrency.code,
|
|
64
|
+
...bookingValues
|
|
65
|
+
},
|
|
66
|
+
event: 'duetto.Quote'
|
|
67
|
+
});
|
|
68
|
+
};
|
|
69
|
+
exports.ratesResponse = ratesResponse;
|
|
70
|
+
//# sourceMappingURL=ratesResponse.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ratesResponse.js","names":["_helpers","require","_helpers2","_legacy","ratesResponse","checkin","checkout","hotelCurrency","rates","arguments","length","undefined","bookingValues","sd","ed","dataLayerPush","event","minRate","maxRate","getRatesPriceRange","lr","price","hr","cc","code","Object","values","flatMap","_ref","name","rt","occupationOptions","sortedKeysOccupations","map","_ref2","_boardOptions$sortedK","rc","boardOptions","sortedKeysBoards","r","formatPrice","originalAvgPrice","exports"],"sources":["../../../../../../src/contexts/PerformanceManager/providers/gtm/duetto/ratesResponse.js"],"sourcesContent":["import { dataLayerPush } from '../../../helpers';\nimport { getRatesPriceRange } from '../../helpers';\nimport { formatPrice } from '../../helpers/legacy';\n\nexport const ratesResponse = ({ checkin, checkout, hotelCurrency, rates } = {}) => {\n const bookingValues = { sd: checkin, ed: checkout };\n if (!rates) {\n dataLayerPush({ 'duetto.data': bookingValues, event: 'Denial' });\n return;\n }\n\n const { minRate, maxRate } = getRatesPriceRange(rates, hotelCurrency);\n dataLayerPush({\n 'duetto.data': { lr: minRate?.price, hr: maxRate?.price, cc: hotelCurrency.code, ...bookingValues },\n event: 'duetto.Search',\n });\n\n dataLayerPush({\n 'duetto.data': {\n rates: Object.values(rates).flatMap(({ name: rt, occupationOptions, sortedKeysOccupations }) =>\n Object.values(occupationOptions[sortedKeysOccupations[0]].rates).map(\n ({ name: rc, boardOptions, sortedKeysBoards }) => ({\n r: formatPrice(boardOptions[sortedKeysBoards[0]]?.originalAvgPrice, hotelCurrency),\n rt,\n rc,\n }),\n ),\n ),\n cc: hotelCurrency.code,\n ...bookingValues,\n },\n event: 'duetto.Quote',\n });\n};\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AAEO,MAAMG,aAAa,GAAG,SAAAA,CAAA,EAAsD;EAAA,IAArD;IAAEC,OAAO;IAAEC,QAAQ;IAAEC,aAAa;IAAEC;EAAM,CAAC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAC5E,MAAMG,aAAa,GAAG;IAAEC,EAAE,EAAER,OAAO;IAAES,EAAE,EAAER;EAAS,CAAC;EACnD,IAAI,CAACE,KAAK,EAAE;IACV,IAAAO,sBAAa,EAAC;MAAE,aAAa,EAAEH,aAAa;MAAEI,KAAK,EAAE;IAAS,CAAC,CAAC;IAChE;EACF;EAEA,MAAM;IAAEC,OAAO;IAAEC;EAAQ,CAAC,GAAG,IAAAC,4BAAkB,EAACX,KAAK,EAAED,aAAa,CAAC;EACrE,IAAAQ,sBAAa,EAAC;IACZ,aAAa,EAAE;MAAEK,EAAE,EAAEH,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEI,KAAK;MAAEC,EAAE,EAAEJ,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEG,KAAK;MAAEE,EAAE,EAAEhB,aAAa,CAACiB,IAAI;MAAE,GAAGZ;IAAc,CAAC;IACnGI,KAAK,EAAE;EACT,CAAC,CAAC;EAEF,IAAAD,sBAAa,EAAC;IACZ,aAAa,EAAE;MACbP,KAAK,EAAEiB,MAAM,CAACC,MAAM,CAAClB,KAAK,CAAC,CAACmB,OAAO,CAACC,IAAA;QAAA,IAAC;UAAEC,IAAI,EAAEC,EAAE;UAAEC,iBAAiB;UAAEC;QAAsB,CAAC,GAAAJ,IAAA;QAAA,OACzFH,MAAM,CAACC,MAAM,CAACK,iBAAiB,CAACC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAACxB,KAAK,CAAC,CAACyB,GAAG,CAClEC,KAAA;UAAA,IAAAC,qBAAA;UAAA,IAAC;YAAEN,IAAI,EAAEO,EAAE;YAAEC,YAAY;YAAEC;UAAiB,CAAC,GAAAJ,KAAA;UAAA,OAAM;YACjDK,CAAC,EAAE,IAAAC,mBAAW,GAAAL,qBAAA,GAACE,YAAY,CAACC,gBAAgB,CAAC,CAAC,CAAC,CAAC,cAAAH,qBAAA,uBAAjCA,qBAAA,CAAmCM,gBAAgB,EAAElC,aAAa,CAAC;YAClFuB,EAAE;YACFM;UACF,CAAC;QAAA,CACH,CAAC;MAAA,CACH,CAAC;MACDb,EAAE,EAAEhB,aAAa,CAACiB,IAAI;MACtB,GAAGZ;IACL,CAAC;IACDI,KAAK,EAAE;EACT,CAAC,CAAC;AACJ,CAAC;AAAC0B,OAAA,CAAAtC,aAAA,GAAAA,aAAA"}
|
|
@@ -4,35 +4,19 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.finderReady = void 0;
|
|
7
|
-
var
|
|
8
|
-
var
|
|
9
|
-
const ACCOMMODATION_TYPE_NAME = Object.keys(_Core.ACCOMMODATION_TYPE);
|
|
7
|
+
var _helpers = require("./helpers");
|
|
8
|
+
var _helpers2 = require("../../helpers");
|
|
10
9
|
const finderReady = function () {
|
|
11
|
-
var _variants$hotelId;
|
|
12
10
|
let {
|
|
13
|
-
device
|
|
14
|
-
|
|
15
|
-
} = {},
|
|
16
|
-
store: {
|
|
17
|
-
hotel: {
|
|
18
|
-
accommodationType,
|
|
19
|
-
id: hotelId,
|
|
20
|
-
variants = {}
|
|
21
|
-
} = {},
|
|
22
|
-
id,
|
|
23
|
-
type
|
|
24
|
-
} = {}
|
|
11
|
+
device,
|
|
12
|
+
store
|
|
25
13
|
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
26
|
-
const dataLayer = {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
lodgingDenomination: ACCOMMODATION_TYPE_NAME[((_variants$hotelId = variants[hotelId]) === null || _variants$hotelId === void 0 ? void 0 : _variants$hotelId.accommodationType) || accommodationType],
|
|
33
|
-
step: 'BOOKINGENTRANCE'
|
|
34
|
-
};
|
|
35
|
-
(0, _helpers.dataLayerPush)(dataLayer);
|
|
14
|
+
const dataLayer = (0, _helpers.getInitEvent)({
|
|
15
|
+
...device,
|
|
16
|
+
step: 'BOOKINGENTRANCE',
|
|
17
|
+
...store
|
|
18
|
+
});
|
|
19
|
+
(0, _helpers2.dataLayerPush)(dataLayer);
|
|
36
20
|
return dataLayer;
|
|
37
21
|
};
|
|
38
22
|
exports.finderReady = finderReady;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"finderReady.js","names":["
|
|
1
|
+
{"version":3,"file":"finderReady.js","names":["_helpers","require","_helpers2","finderReady","device","store","arguments","length","undefined","dataLayer","getInitEvent","step","dataLayerPush","exports"],"sources":["../../../../../src/contexts/PerformanceManager/providers/gtm/finderReady.js"],"sourcesContent":["import { getInitEvent } from './helpers';\nimport { dataLayerPush } from '../../helpers';\n\nexport const finderReady = ({ device, store } = {}) => {\n const dataLayer = getInitEvent({ ...device, step: 'BOOKINGENTRANCE', ...store });\n dataLayerPush(dataLayer);\n\n return dataLayer;\n};\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AAEO,MAAME,WAAW,GAAG,SAAAA,CAAA,EAA4B;EAAA,IAA3B;IAAEC,MAAM;IAAEC;EAAM,CAAC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAChD,MAAMG,SAAS,GAAG,IAAAC,qBAAY,EAAC;IAAE,GAAGN,MAAM;IAAEO,IAAI,EAAE,iBAAiB;IAAE,GAAGN;EAAM,CAAC,CAAC;EAChF,IAAAO,uBAAa,EAACH,SAAS,CAAC;EAExB,OAAOA,SAAS;AAClB,CAAC;AAACI,OAAA,CAAAV,WAAA,GAAAA,WAAA"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getInitEvent = void 0;
|
|
7
|
+
var _Core = require("../../../../../Core.constants");
|
|
8
|
+
const ACCOMMODATION_TYPE_NAME = Object.keys(_Core.ACCOMMODATION_TYPE);
|
|
9
|
+
const getInitEvent = _ref => {
|
|
10
|
+
var _variants$hotelId;
|
|
11
|
+
let {
|
|
12
|
+
mobile,
|
|
13
|
+
step,
|
|
14
|
+
hotel: {
|
|
15
|
+
accommodationType,
|
|
16
|
+
id: hotelId,
|
|
17
|
+
variants = {}
|
|
18
|
+
} = {},
|
|
19
|
+
id,
|
|
20
|
+
type
|
|
21
|
+
} = _ref;
|
|
22
|
+
return {
|
|
23
|
+
chainId: type === _Core.TYPE.CHAIN ? id : undefined,
|
|
24
|
+
device: mobile ? 'MOBILE' : 'DESKTOP_TABLET',
|
|
25
|
+
event: 'init',
|
|
26
|
+
home: window.location.host,
|
|
27
|
+
hotelId,
|
|
28
|
+
lodgingDenomination: ACCOMMODATION_TYPE_NAME[((_variants$hotelId = variants[hotelId]) === null || _variants$hotelId === void 0 ? void 0 : _variants$hotelId.accommodationType) || accommodationType],
|
|
29
|
+
step
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
exports.getInitEvent = getInitEvent;
|
|
33
|
+
//# sourceMappingURL=getInitEvent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getInitEvent.js","names":["_Core","require","ACCOMMODATION_TYPE_NAME","Object","keys","ACCOMMODATION_TYPE","getInitEvent","_ref","_variants$hotelId","mobile","step","hotel","accommodationType","id","hotelId","variants","type","chainId","TYPE","CHAIN","undefined","device","event","home","window","location","host","lodgingDenomination","exports"],"sources":["../../../../../../src/contexts/PerformanceManager/providers/gtm/helpers/getInitEvent.js"],"sourcesContent":["import { ACCOMMODATION_TYPE, TYPE } from '../../../../../Core.constants';\n\nconst ACCOMMODATION_TYPE_NAME = Object.keys(ACCOMMODATION_TYPE);\n\nexport const getInitEvent = ({\n mobile,\n step,\n hotel: { accommodationType, id: hotelId, variants = {} } = {},\n id,\n type,\n}) => ({\n chainId: type === TYPE.CHAIN ? id : undefined,\n device: mobile ? 'MOBILE' : 'DESKTOP_TABLET',\n event: 'init',\n home: window.location.host,\n hotelId,\n lodgingDenomination: ACCOMMODATION_TYPE_NAME[variants[hotelId]?.accommodationType || accommodationType],\n step,\n});\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAEA,MAAMC,uBAAuB,GAAGC,MAAM,CAACC,IAAI,CAACC,wBAAkB,CAAC;AAExD,MAAMC,YAAY,GAAGC,IAAA;EAAA,IAAAC,iBAAA;EAAA,IAAC;IAC3BC,MAAM;IACNC,IAAI;IACJC,KAAK,EAAE;MAAEC,iBAAiB;MAAEC,EAAE,EAAEC,OAAO;MAAEC,QAAQ,GAAG,CAAC;IAAE,CAAC,GAAG,CAAC,CAAC;IAC7DF,EAAE;IACFG;EACF,CAAC,GAAAT,IAAA;EAAA,OAAM;IACLU,OAAO,EAAED,IAAI,KAAKE,UAAI,CAACC,KAAK,GAAGN,EAAE,GAAGO,SAAS;IAC7CC,MAAM,EAAEZ,MAAM,GAAG,QAAQ,GAAG,gBAAgB;IAC5Ca,KAAK,EAAE,MAAM;IACbC,IAAI,EAAEC,MAAM,CAACC,QAAQ,CAACC,IAAI;IAC1BZ,OAAO;IACPa,mBAAmB,EAAEzB,uBAAuB,CAAC,EAAAM,iBAAA,GAAAO,QAAQ,CAACD,OAAO,CAAC,cAAAN,iBAAA,uBAAjBA,iBAAA,CAAmBI,iBAAiB,KAAIA,iBAAiB,CAAC;IACvGF;EACF,CAAC;AAAA,CAAC;AAACkB,OAAA,CAAAtB,YAAA,GAAAA,YAAA"}
|
|
@@ -3,6 +3,17 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
+
var _getInitEvent = require("./getInitEvent");
|
|
7
|
+
Object.keys(_getInitEvent).forEach(function (key) {
|
|
8
|
+
if (key === "default" || key === "__esModule") return;
|
|
9
|
+
if (key in exports && exports[key] === _getInitEvent[key]) return;
|
|
10
|
+
Object.defineProperty(exports, key, {
|
|
11
|
+
enumerable: true,
|
|
12
|
+
get: function () {
|
|
13
|
+
return _getInitEvent[key];
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
});
|
|
6
17
|
var _parseRate = require("./parseRate");
|
|
7
18
|
Object.keys(_parseRate).forEach(function (key) {
|
|
8
19
|
if (key === "default" || key === "__esModule") return;
|