@mirai/core 0.3.427 → 0.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (240) hide show
  1. package/build/Core.constants.js +12 -12
  2. package/build/Core.constants.js.map +1 -1
  3. package/build/components/Booking/Booking.js +8 -6
  4. package/build/components/Booking/Booking.js.map +1 -1
  5. package/build/components/Booking/partials/Booking.Information.js +1 -1
  6. package/build/components/Booking/partials/Booking.Information.js.map +1 -1
  7. package/build/components/Booking/partials/Booking.Modal.js +1 -1
  8. package/build/components/Booking/partials/Booking.Modal.js.map +1 -1
  9. package/build/components/Checkout/Checkout.js +3 -3
  10. package/build/components/Checkout/Checkout.js.map +1 -1
  11. package/build/components/Checkout/helpers/index.js +0 -11
  12. package/build/components/Checkout/helpers/index.js.map +1 -1
  13. package/build/components/Checkout/partials/Checkout.Form.js +5 -3
  14. package/build/components/Checkout/partials/Checkout.Form.js.map +1 -1
  15. package/build/components/Finder/Finder.js +15 -11
  16. package/build/components/Finder/Finder.js.map +1 -1
  17. package/build/components/Finder/helpers/index.js +0 -11
  18. package/build/components/Finder/helpers/index.js.map +1 -1
  19. package/build/components/Rates/Rates.js +12 -13
  20. package/build/components/Rates/Rates.js.map +1 -1
  21. package/build/components/Rates/components/Item/components/ModalUrl/ModalUrl.js +1 -0
  22. package/build/components/Rates/components/Item/components/ModalUrl/ModalUrl.js.map +1 -1
  23. package/build/components/Rates/helpers/index.js +0 -22
  24. package/build/components/Rates/helpers/index.js.map +1 -1
  25. package/build/components/Session/Session.Login.Modal.js +4 -1
  26. package/build/components/Session/Session.Login.Modal.js.map +1 -1
  27. package/build/components/Session/helpers/index.js +0 -11
  28. package/build/components/Session/helpers/index.js.map +1 -1
  29. package/build/components/__shared__/BookingTerms/BookingTerms.js +1 -1
  30. package/build/components/__shared__/BookingTerms/BookingTerms.js.map +1 -1
  31. package/build/components/helpers/constants.js +1 -0
  32. package/build/components/helpers/constants.js.map +1 -1
  33. package/build/contexts/PerformanceManager/PerformanceManager.constants.js +10 -0
  34. package/build/contexts/PerformanceManager/PerformanceManager.constants.js.map +1 -0
  35. package/build/contexts/PerformanceManager/PerformanceManager.events.js +55 -0
  36. package/build/contexts/PerformanceManager/PerformanceManager.events.js.map +1 -0
  37. package/build/contexts/PerformanceManager/PerformanceManager.js +201 -0
  38. package/build/contexts/PerformanceManager/PerformanceManager.js.map +1 -0
  39. package/build/contexts/PerformanceManager/PerformanceManager.scripts.js +139 -0
  40. package/build/contexts/PerformanceManager/PerformanceManager.scripts.js.map +1 -0
  41. package/build/contexts/PerformanceManager/helpers/dataLayerPush.js.map +1 -0
  42. package/build/contexts/PerformanceManager/helpers/getConsentMode.js +39 -0
  43. package/build/contexts/PerformanceManager/helpers/getConsentMode.js.map +1 -0
  44. package/build/contexts/{PerfomanceManager/helpers/getPerfomanceLabel.js → PerformanceManager/helpers/getPerformanceLabel.js} +5 -5
  45. package/build/contexts/PerformanceManager/helpers/getPerformanceLabel.js.map +1 -0
  46. package/build/contexts/{PerfomanceManager → PerformanceManager}/helpers/index.js +8 -8
  47. package/build/contexts/PerformanceManager/helpers/index.js.map +1 -0
  48. package/build/contexts/PerformanceManager/index.js +17 -0
  49. package/build/contexts/PerformanceManager/index.js.map +1 -0
  50. package/build/contexts/PerformanceManager/providers/affilired/bookingResponse.js +44 -0
  51. package/build/contexts/PerformanceManager/providers/affilired/bookingResponse.js.map +1 -0
  52. package/build/contexts/PerformanceManager/providers/affilired/index.js.map +1 -0
  53. package/build/contexts/PerformanceManager/providers/analytics/bookingCancel.js +51 -0
  54. package/build/contexts/PerformanceManager/providers/analytics/bookingCancel.js.map +1 -0
  55. package/build/contexts/PerformanceManager/providers/analytics/bookingResponse.js +121 -0
  56. package/build/contexts/PerformanceManager/providers/analytics/bookingResponse.js.map +1 -0
  57. package/build/contexts/PerformanceManager/providers/analytics/checkoutForm.js +46 -0
  58. package/build/contexts/PerformanceManager/providers/analytics/checkoutForm.js.map +1 -0
  59. package/build/contexts/PerformanceManager/providers/analytics/checkoutResponse.js +56 -0
  60. package/build/contexts/PerformanceManager/providers/analytics/checkoutResponse.js.map +1 -0
  61. package/build/contexts/PerformanceManager/providers/analytics/finderReady.js +41 -0
  62. package/build/contexts/PerformanceManager/providers/analytics/finderReady.js.map +1 -0
  63. package/build/contexts/PerformanceManager/providers/analytics/helpers/index.js +39 -0
  64. package/build/contexts/PerformanceManager/providers/analytics/helpers/index.js.map +1 -0
  65. package/build/contexts/PerformanceManager/providers/analytics/helpers/parseCommon.js +38 -0
  66. package/build/contexts/PerformanceManager/providers/analytics/helpers/parseCommon.js.map +1 -0
  67. package/build/contexts/PerformanceManager/providers/analytics/helpers/parseItems.js +72 -0
  68. package/build/contexts/PerformanceManager/providers/analytics/helpers/parseItems.js.map +1 -0
  69. package/build/contexts/PerformanceManager/providers/analytics/helpers/parseRate.js +40 -0
  70. package/build/contexts/PerformanceManager/providers/analytics/helpers/parseRate.js.map +1 -0
  71. package/build/contexts/{PerfomanceManager → PerformanceManager}/providers/analytics/index.js +2 -2
  72. package/build/contexts/PerformanceManager/providers/analytics/index.js.map +1 -0
  73. package/build/contexts/PerformanceManager/providers/analytics/logged.js +36 -0
  74. package/build/contexts/PerformanceManager/providers/analytics/logged.js.map +1 -0
  75. package/build/contexts/PerformanceManager/providers/analytics/ratesAddToCart.js +90 -0
  76. package/build/contexts/PerformanceManager/providers/analytics/ratesAddToCart.js.map +1 -0
  77. package/build/contexts/PerformanceManager/providers/analytics/ratesResponse.js +115 -0
  78. package/build/contexts/PerformanceManager/providers/analytics/ratesResponse.js.map +1 -0
  79. package/build/contexts/PerformanceManager/providers/bing/bookingResponse.js +30 -0
  80. package/build/contexts/PerformanceManager/providers/bing/bookingResponse.js.map +1 -0
  81. package/build/contexts/PerformanceManager/providers/bing/index.js.map +1 -0
  82. package/build/contexts/PerformanceManager/providers/facebook/bookingResponse.js +73 -0
  83. package/build/contexts/PerformanceManager/providers/facebook/bookingResponse.js.map +1 -0
  84. package/build/contexts/PerformanceManager/providers/facebook/checkoutResponse.js +78 -0
  85. package/build/contexts/PerformanceManager/providers/facebook/checkoutResponse.js.map +1 -0
  86. package/build/contexts/PerformanceManager/providers/facebook/helpers/getCookies.js +13 -0
  87. package/build/contexts/PerformanceManager/providers/facebook/helpers/getCookies.js.map +1 -0
  88. package/build/contexts/PerformanceManager/providers/facebook/helpers/index.js +39 -0
  89. package/build/contexts/PerformanceManager/providers/facebook/helpers/index.js.map +1 -0
  90. package/build/contexts/PerformanceManager/providers/facebook/helpers/parseCustomData.js +30 -0
  91. package/build/contexts/PerformanceManager/providers/facebook/helpers/parseCustomData.js.map +1 -0
  92. package/build/contexts/PerformanceManager/providers/facebook/helpers/parseUserData.js +29 -0
  93. package/build/contexts/PerformanceManager/providers/facebook/helpers/parseUserData.js.map +1 -0
  94. package/build/contexts/PerformanceManager/providers/facebook/helpers/sendData.js +15 -0
  95. package/build/contexts/PerformanceManager/providers/facebook/helpers/sendData.js.map +1 -0
  96. package/build/contexts/PerformanceManager/providers/facebook/index.js.map +1 -0
  97. package/build/contexts/PerformanceManager/providers/facebook/ratesAddToCart.js +67 -0
  98. package/build/contexts/PerformanceManager/providers/facebook/ratesAddToCart.js.map +1 -0
  99. package/build/contexts/PerformanceManager/providers/facebook/ratesResponse.js +77 -0
  100. package/build/contexts/PerformanceManager/providers/facebook/ratesResponse.js.map +1 -0
  101. package/build/contexts/PerformanceManager/providers/googleAds/bookingResponse.js +62 -0
  102. package/build/contexts/PerformanceManager/providers/googleAds/bookingResponse.js.map +1 -0
  103. package/build/contexts/PerformanceManager/providers/googleAds/index.js.map +1 -0
  104. package/build/contexts/PerformanceManager/providers/gtm/bookingCancel.js +88 -0
  105. package/build/contexts/PerformanceManager/providers/gtm/bookingCancel.js.map +1 -0
  106. package/build/contexts/PerformanceManager/providers/gtm/bookingResponse.js +190 -0
  107. package/build/contexts/PerformanceManager/providers/gtm/bookingResponse.js.map +1 -0
  108. package/build/contexts/PerformanceManager/providers/gtm/checkoutResponse.js +180 -0
  109. package/build/contexts/PerformanceManager/providers/gtm/checkoutResponse.js.map +1 -0
  110. package/build/contexts/PerformanceManager/providers/gtm/finderReady.js +39 -0
  111. package/build/contexts/PerformanceManager/providers/gtm/finderReady.js.map +1 -0
  112. package/build/contexts/PerformanceManager/providers/gtm/helpers/index.js +17 -0
  113. package/build/contexts/PerformanceManager/providers/gtm/helpers/index.js.map +1 -0
  114. package/build/contexts/PerformanceManager/providers/gtm/helpers/parseRate.js +29 -0
  115. package/build/contexts/PerformanceManager/providers/gtm/helpers/parseRate.js.map +1 -0
  116. package/build/contexts/PerformanceManager/providers/gtm/index.js.map +1 -0
  117. package/build/contexts/PerformanceManager/providers/gtm/ratesResponse.js +203 -0
  118. package/build/contexts/PerformanceManager/providers/gtm/ratesResponse.js.map +1 -0
  119. package/build/contexts/PerformanceManager/providers/helpers/SHA256.js +90 -0
  120. package/build/contexts/PerformanceManager/providers/helpers/SHA256.js.map +1 -0
  121. package/build/contexts/PerformanceManager/providers/helpers/getFirstOccupationOption.js +22 -0
  122. package/build/contexts/PerformanceManager/providers/helpers/getFirstOccupationOption.js.map +1 -0
  123. package/build/contexts/PerformanceManager/providers/helpers/getRatesPriceRange.js +27 -0
  124. package/build/contexts/PerformanceManager/providers/helpers/getRatesPriceRange.js.map +1 -0
  125. package/build/contexts/PerformanceManager/providers/helpers/getRoomPriceRange.js +64 -0
  126. package/build/contexts/PerformanceManager/providers/helpers/getRoomPriceRange.js.map +1 -0
  127. package/build/contexts/PerformanceManager/providers/helpers/getRoomsPriceRange.js +13 -0
  128. package/build/contexts/PerformanceManager/providers/helpers/getRoomsPriceRange.js.map +1 -0
  129. package/build/contexts/PerformanceManager/providers/helpers/index.js +61 -0
  130. package/build/contexts/PerformanceManager/providers/helpers/index.js.map +1 -0
  131. package/build/contexts/PerformanceManager/providers/helpers/legacy.js +15 -0
  132. package/build/contexts/PerformanceManager/providers/helpers/legacy.js.map +1 -0
  133. package/build/contexts/PerformanceManager/providers/index.js.map +1 -0
  134. package/build/contexts/PerformanceManager/providers/mirai/bookingResponse.js +71 -0
  135. package/build/contexts/PerformanceManager/providers/mirai/bookingResponse.js.map +1 -0
  136. package/build/contexts/PerformanceManager/providers/mirai/index.js +11 -0
  137. package/build/contexts/PerformanceManager/providers/mirai/index.js.map +1 -0
  138. package/build/contexts/index.js +4 -4
  139. package/build/contexts/index.js.map +1 -1
  140. package/build/helpers/consolidateStore.js +4 -25
  141. package/build/helpers/consolidateStore.js.map +1 -1
  142. package/build/helpers/getLocale.js +1 -0
  143. package/build/helpers/getLocale.js.map +1 -1
  144. package/build/helpers/getPerformance.js +50 -0
  145. package/build/helpers/getPerformance.js.map +1 -0
  146. package/build/helpers/index.js +11 -0
  147. package/build/helpers/index.js.map +1 -1
  148. package/build/helpers/loadScript.js +3 -2
  149. package/build/helpers/loadScript.js.map +1 -1
  150. package/build/index.js +1 -1
  151. package/build/index.js.map +1 -1
  152. package/package.json +1 -1
  153. package/public/index.html +1 -1
  154. package/build/components/Checkout/helpers/trackForm.js +0 -29
  155. package/build/components/Checkout/helpers/trackForm.js.map +0 -1
  156. package/build/components/Finder/helpers/track.js +0 -25
  157. package/build/components/Finder/helpers/track.js.map +0 -1
  158. package/build/components/Rates/helpers/trackDataSource.js +0 -56
  159. package/build/components/Rates/helpers/trackDataSource.js.map +0 -1
  160. package/build/components/Rates/helpers/trackSelectItem.js +0 -103
  161. package/build/components/Rates/helpers/trackSelectItem.js.map +0 -1
  162. package/build/components/Session/helpers/trackLogin.js +0 -26
  163. package/build/components/Session/helpers/trackLogin.js.map +0 -1
  164. package/build/contexts/PerfomanceManager/PerfomanceManager.events.js +0 -57
  165. package/build/contexts/PerfomanceManager/PerfomanceManager.events.js.map +0 -1
  166. package/build/contexts/PerfomanceManager/PerfomanceManager.js +0 -125
  167. package/build/contexts/PerfomanceManager/PerfomanceManager.js.map +0 -1
  168. package/build/contexts/PerfomanceManager/PerfomanceManager.scripts.js +0 -111
  169. package/build/contexts/PerfomanceManager/PerfomanceManager.scripts.js.map +0 -1
  170. package/build/contexts/PerfomanceManager/helpers/dataLayerPush.js.map +0 -1
  171. package/build/contexts/PerfomanceManager/helpers/getPerfomanceLabel.js.map +0 -1
  172. package/build/contexts/PerfomanceManager/helpers/googleTagManager.js +0 -23
  173. package/build/contexts/PerfomanceManager/helpers/googleTagManager.js.map +0 -1
  174. package/build/contexts/PerfomanceManager/helpers/index.js.map +0 -1
  175. package/build/contexts/PerfomanceManager/index.js +0 -17
  176. package/build/contexts/PerfomanceManager/index.js.map +0 -1
  177. package/build/contexts/PerfomanceManager/providers/affilired/bookingResponse.js +0 -14
  178. package/build/contexts/PerfomanceManager/providers/affilired/bookingResponse.js.map +0 -1
  179. package/build/contexts/PerfomanceManager/providers/affilired/index.js.map +0 -1
  180. package/build/contexts/PerfomanceManager/providers/analytics/bookingCancel.js +0 -14
  181. package/build/contexts/PerfomanceManager/providers/analytics/bookingCancel.js.map +0 -1
  182. package/build/contexts/PerfomanceManager/providers/analytics/bookingResponse.js +0 -14
  183. package/build/contexts/PerfomanceManager/providers/analytics/bookingResponse.js.map +0 -1
  184. package/build/contexts/PerfomanceManager/providers/analytics/checkoutForm.js +0 -14
  185. package/build/contexts/PerfomanceManager/providers/analytics/checkoutForm.js.map +0 -1
  186. package/build/contexts/PerfomanceManager/providers/analytics/checkoutResponse.js +0 -14
  187. package/build/contexts/PerfomanceManager/providers/analytics/checkoutResponse.js.map +0 -1
  188. package/build/contexts/PerfomanceManager/providers/analytics/finderReady.js +0 -14
  189. package/build/contexts/PerfomanceManager/providers/analytics/finderReady.js.map +0 -1
  190. package/build/contexts/PerfomanceManager/providers/analytics/index.js.map +0 -1
  191. package/build/contexts/PerfomanceManager/providers/analytics/login.js +0 -14
  192. package/build/contexts/PerfomanceManager/providers/analytics/login.js.map +0 -1
  193. package/build/contexts/PerfomanceManager/providers/analytics/ratesAddToCart.js +0 -14
  194. package/build/contexts/PerfomanceManager/providers/analytics/ratesAddToCart.js.map +0 -1
  195. package/build/contexts/PerfomanceManager/providers/analytics/ratesResponse.js +0 -14
  196. package/build/contexts/PerfomanceManager/providers/analytics/ratesResponse.js.map +0 -1
  197. package/build/contexts/PerfomanceManager/providers/bing/bookingResponse.js +0 -14
  198. package/build/contexts/PerfomanceManager/providers/bing/bookingResponse.js.map +0 -1
  199. package/build/contexts/PerfomanceManager/providers/bing/index.js.map +0 -1
  200. package/build/contexts/PerfomanceManager/providers/facebook/bookingResponse.js +0 -14
  201. package/build/contexts/PerfomanceManager/providers/facebook/bookingResponse.js.map +0 -1
  202. package/build/contexts/PerfomanceManager/providers/facebook/checkoutResponse.js +0 -14
  203. package/build/contexts/PerfomanceManager/providers/facebook/checkoutResponse.js.map +0 -1
  204. package/build/contexts/PerfomanceManager/providers/facebook/index.js.map +0 -1
  205. package/build/contexts/PerfomanceManager/providers/facebook/ratesAddToCart.js +0 -14
  206. package/build/contexts/PerfomanceManager/providers/facebook/ratesAddToCart.js.map +0 -1
  207. package/build/contexts/PerfomanceManager/providers/facebook/ratesResponse.js +0 -14
  208. package/build/contexts/PerfomanceManager/providers/facebook/ratesResponse.js.map +0 -1
  209. package/build/contexts/PerfomanceManager/providers/googleAds/bookingResponse.js +0 -14
  210. package/build/contexts/PerfomanceManager/providers/googleAds/bookingResponse.js.map +0 -1
  211. package/build/contexts/PerfomanceManager/providers/googleAds/index.js.map +0 -1
  212. package/build/contexts/PerfomanceManager/providers/gtm/bookingCancel.js +0 -14
  213. package/build/contexts/PerfomanceManager/providers/gtm/bookingCancel.js.map +0 -1
  214. package/build/contexts/PerfomanceManager/providers/gtm/bookingResponse.js +0 -14
  215. package/build/contexts/PerfomanceManager/providers/gtm/bookingResponse.js.map +0 -1
  216. package/build/contexts/PerfomanceManager/providers/gtm/checkoutResponse.js +0 -14
  217. package/build/contexts/PerfomanceManager/providers/gtm/checkoutResponse.js.map +0 -1
  218. package/build/contexts/PerfomanceManager/providers/gtm/finderReady.js +0 -14
  219. package/build/contexts/PerfomanceManager/providers/gtm/finderReady.js.map +0 -1
  220. package/build/contexts/PerfomanceManager/providers/gtm/index.js.map +0 -1
  221. package/build/contexts/PerfomanceManager/providers/gtm/ratesResponse.js +0 -205
  222. package/build/contexts/PerfomanceManager/providers/gtm/ratesResponse.js.map +0 -1
  223. package/build/contexts/PerfomanceManager/providers/index.js.map +0 -1
  224. package/build/contexts/PerfomanceManager/providers/mirai/bookingResponse.js +0 -14
  225. package/build/contexts/PerfomanceManager/providers/mirai/bookingResponse.js.map +0 -1
  226. package/build/contexts/PerfomanceManager/providers/mirai/checkoutResponse.js +0 -14
  227. package/build/contexts/PerfomanceManager/providers/mirai/checkoutResponse.js.map +0 -1
  228. package/build/contexts/PerfomanceManager/providers/mirai/finderReady.js +0 -14
  229. package/build/contexts/PerfomanceManager/providers/mirai/finderReady.js.map +0 -1
  230. package/build/contexts/PerfomanceManager/providers/mirai/index.js +0 -17
  231. package/build/contexts/PerfomanceManager/providers/mirai/index.js.map +0 -1
  232. package/build/contexts/PerfomanceManager/providers/mirai/ratesResponse.js +0 -14
  233. package/build/contexts/PerfomanceManager/providers/mirai/ratesResponse.js.map +0 -1
  234. /package/build/contexts/{PerfomanceManager → PerformanceManager}/helpers/dataLayerPush.js +0 -0
  235. /package/build/contexts/{PerfomanceManager → PerformanceManager}/providers/affilired/index.js +0 -0
  236. /package/build/contexts/{PerfomanceManager → PerformanceManager}/providers/bing/index.js +0 -0
  237. /package/build/contexts/{PerfomanceManager → PerformanceManager}/providers/facebook/index.js +0 -0
  238. /package/build/contexts/{PerfomanceManager → PerformanceManager}/providers/googleAds/index.js +0 -0
  239. /package/build/contexts/{PerfomanceManager → PerformanceManager}/providers/gtm/index.js +0 -0
  240. /package/build/contexts/{PerfomanceManager → PerformanceManager}/providers/index.js +0 -0
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.bookingCancel = void 0;
7
+ var _locale = require("@mirai/locale");
8
+ var _Core = require("../../../../Core.constants");
9
+ var _helpers = require("../../../../helpers");
10
+ var _helpers2 = require("../../helpers");
11
+ var _legacy = require("../helpers/legacy");
12
+ const ACCOMMODATION_TYPE_NAME = Object.keys(_Core.ACCOMMODATION_TYPE);
13
+ const bookingCancel = function () {
14
+ var _variants$hotelId;
15
+ let {
16
+ device: {
17
+ mobile
18
+ } = {},
19
+ response: {
20
+ tracking = {}
21
+ } = {},
22
+ store: {
23
+ finder: {
24
+ calendar = []
25
+ } = {},
26
+ hotel: {
27
+ accommodationType,
28
+ variants = {}
29
+ } = {},
30
+ language
31
+ } = {}
32
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
33
+ // ! -- TODO: Try to get all data from store -------------------------------------------------------------------------
34
+ const {
35
+ idchain,
36
+ idtokenprovider: hotelId
37
+ } = (0, _helpers.fetchUrlParams)(location.search);
38
+
39
+ // ! -- TODO: use of tracking should be a temporary approach ---------------------------------------------------------
40
+ const {
41
+ cancelComment,
42
+ cancellationDate,
43
+ cancelReason,
44
+ hotelInfo: {
45
+ currency: hotelCurrency = {},
46
+ propertyName,
47
+ propertyType
48
+ } = {},
49
+ idReservation,
50
+ reservationDate,
51
+ totalPriceWithTaxes
52
+ } = tracking;
53
+ const {
54
+ days
55
+ } = (0, _locale.dateDiff)(...calendar);
56
+ const dataLayer = {
57
+ cancelComment,
58
+ cancellationDate,
59
+ cancelReason,
60
+ chainId: idchain,
61
+ checkin: (0, _locale.dateFormat)(calendar[0], {
62
+ format: 'DD/MM/YYYY'
63
+ }),
64
+ checkout: (0, _locale.dateFormat)(calendar[1], {
65
+ format: 'DD/MM/YYYY'
66
+ }),
67
+ currency: hotelCurrency.code,
68
+ device: mobile ? 'MOBILE' : 'DESKTOP_TABLET',
69
+ home: window.location.host,
70
+ idHotel: hotelId,
71
+ language,
72
+ lodgingDenomination: ACCOMMODATION_TYPE_NAME[((_variants$hotelId = variants[hotelId]) === null || _variants$hotelId === void 0 ? void 0 : _variants$hotelId.accommodationType) || accommodationType],
73
+ nights: days,
74
+ propertyName,
75
+ propertyType,
76
+ reservationCode: idReservation,
77
+ reservationDate,
78
+ step: 'CANCELLATION',
79
+ totalPriceWithTaxes: (0, _legacy.formatPrice)(totalPriceWithTaxes, hotelCurrency)
80
+ };
81
+ (0, _helpers2.dataLayerPush)({
82
+ event: 'mirai.cancelled',
83
+ 'mirai.data': dataLayer
84
+ });
85
+ return dataLayer;
86
+ };
87
+ exports.bookingCancel = bookingCancel;
88
+ //# sourceMappingURL=bookingCancel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bookingCancel.js","names":["_locale","require","_Core","_helpers","_helpers2","_legacy","ACCOMMODATION_TYPE_NAME","Object","keys","ACCOMMODATION_TYPE","bookingCancel","_variants$hotelId","device","mobile","response","tracking","store","finder","calendar","hotel","accommodationType","variants","language","arguments","length","undefined","idchain","idtokenprovider","hotelId","fetchUrlParams","location","search","cancelComment","cancellationDate","cancelReason","hotelInfo","currency","hotelCurrency","propertyName","propertyType","idReservation","reservationDate","totalPriceWithTaxes","days","dateDiff","dataLayer","chainId","checkin","dateFormat","format","checkout","code","home","window","host","idHotel","lodgingDenomination","nights","reservationCode","step","formatPrice","dataLayerPush","event","exports"],"sources":["../../../../../src/contexts/PerformanceManager/providers/gtm/bookingCancel.js"],"sourcesContent":["import { dateDiff, dateFormat } from '@mirai/locale';\n\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 bookingCancel = ({\n device: { mobile } = {},\n response: { tracking = {} } = {},\n store: { finder: { calendar = [] } = {}, hotel: { accommodationType, variants = {} } = {}, language } = {},\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 cancelComment,\n cancellationDate,\n cancelReason,\n hotelInfo: { currency: hotelCurrency = {}, propertyName, propertyType } = {},\n idReservation,\n reservationDate,\n totalPriceWithTaxes,\n } = tracking;\n\n const { days } = dateDiff(...calendar);\n\n const dataLayer = {\n cancelComment,\n cancellationDate,\n cancelReason,\n chainId: idchain,\n checkin: dateFormat(calendar[0], { format: 'DD/MM/YYYY' }),\n checkout: dateFormat(calendar[1], { format: 'DD/MM/YYYY' }),\n currency: hotelCurrency.code,\n device: mobile ? 'MOBILE' : 'DESKTOP_TABLET',\n home: window.location.host,\n idHotel: hotelId,\n language,\n lodgingDenomination: ACCOMMODATION_TYPE_NAME[variants[hotelId]?.accommodationType || accommodationType],\n nights: days,\n propertyName,\n propertyType,\n reservationCode: idReservation,\n reservationDate,\n step: 'CANCELLATION',\n totalPriceWithTaxes: formatPrice(totalPriceWithTaxes, hotelCurrency),\n };\n\n dataLayerPush({ event: 'mirai.cancelled', 'mirai.data': dataLayer });\n\n return dataLayer;\n};\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAEA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,SAAA,GAAAH,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AAEA,MAAMK,uBAAuB,GAAGC,MAAM,CAACC,IAAI,CAACC,wBAAkB,CAAC;AAExD,MAAMC,aAAa,GAAG,SAAAA,CAAA,EAIlB;EAAA,IAAAC,iBAAA;EAAA,IAJmB;IAC5BC,MAAM,EAAE;MAAEC;IAAO,CAAC,GAAG,CAAC,CAAC;IACvBC,QAAQ,EAAE;MAAEC,QAAQ,GAAG,CAAC;IAAE,CAAC,GAAG,CAAC,CAAC;IAChCC,KAAK,EAAE;MAAEC,MAAM,EAAE;QAAEC,QAAQ,GAAG;MAAG,CAAC,GAAG,CAAC,CAAC;MAAEC,KAAK,EAAE;QAAEC,iBAAiB;QAAEC,QAAQ,GAAG,CAAC;MAAE,CAAC,GAAG,CAAC,CAAC;MAAEC;IAAS,CAAC,GAAG,CAAC;EAC3G,CAAC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EACJ;EACA,MAAM;IAAEG,OAAO;IAAEC,eAAe,EAAEC;EAAQ,CAAC,GAAG,IAAAC,uBAAc,EAACC,QAAQ,CAACC,MAAM,CAAC;;EAE7E;EACA,MAAM;IACJC,aAAa;IACbC,gBAAgB;IAChBC,YAAY;IACZC,SAAS,EAAE;MAAEC,QAAQ,EAAEC,aAAa,GAAG,CAAC,CAAC;MAAEC,YAAY;MAAEC;IAAa,CAAC,GAAG,CAAC,CAAC;IAC5EC,aAAa;IACbC,eAAe;IACfC;EACF,CAAC,GAAG3B,QAAQ;EAEZ,MAAM;IAAE4B;EAAK,CAAC,GAAG,IAAAC,gBAAQ,EAAC,GAAG1B,QAAQ,CAAC;EAEtC,MAAM2B,SAAS,GAAG;IAChBb,aAAa;IACbC,gBAAgB;IAChBC,YAAY;IACZY,OAAO,EAAEpB,OAAO;IAChBqB,OAAO,EAAE,IAAAC,kBAAU,EAAC9B,QAAQ,CAAC,CAAC,CAAC,EAAE;MAAE+B,MAAM,EAAE;IAAa,CAAC,CAAC;IAC1DC,QAAQ,EAAE,IAAAF,kBAAU,EAAC9B,QAAQ,CAAC,CAAC,CAAC,EAAE;MAAE+B,MAAM,EAAE;IAAa,CAAC,CAAC;IAC3Db,QAAQ,EAAEC,aAAa,CAACc,IAAI;IAC5BvC,MAAM,EAAEC,MAAM,GAAG,QAAQ,GAAG,gBAAgB;IAC5CuC,IAAI,EAAEC,MAAM,CAACvB,QAAQ,CAACwB,IAAI;IAC1BC,OAAO,EAAE3B,OAAO;IAChBN,QAAQ;IACRkC,mBAAmB,EAAElD,uBAAuB,CAAC,EAAAK,iBAAA,GAAAU,QAAQ,CAACO,OAAO,CAAC,cAAAjB,iBAAA,uBAAjBA,iBAAA,CAAmBS,iBAAiB,KAAIA,iBAAiB,CAAC;IACvGqC,MAAM,EAAEd,IAAI;IACZL,YAAY;IACZC,YAAY;IACZmB,eAAe,EAAElB,aAAa;IAC9BC,eAAe;IACfkB,IAAI,EAAE,cAAc;IACpBjB,mBAAmB,EAAE,IAAAkB,mBAAW,EAAClB,mBAAmB,EAAEL,aAAa;EACrE,CAAC;EAED,IAAAwB,uBAAa,EAAC;IAAEC,KAAK,EAAE,iBAAiB;IAAE,YAAY,EAAEjB;EAAU,CAAC,CAAC;EAEpE,OAAOA,SAAS;AAClB,CAAC;AAACkB,OAAA,CAAArD,aAAA,GAAAA,aAAA"}
@@ -0,0 +1,190 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.bookingResponse = void 0;
7
+ var _Core = require("../../../../Core.constants");
8
+ var _helpers = require("../../../../helpers");
9
+ var _helpers2 = require("../../helpers");
10
+ var _helpers3 = require("../helpers");
11
+ var _legacy = require("../helpers/legacy");
12
+ const ACCOMMODATION_TYPE_NAME = Object.keys(_Core.ACCOMMODATION_TYPE);
13
+ const bookingResponse = function () {
14
+ var _variants$hotelId;
15
+ let {
16
+ device: {
17
+ mobile
18
+ } = {},
19
+ response: {
20
+ tracking = {}
21
+ } = {},
22
+ store: {
23
+ currency,
24
+ hotel: {
25
+ accommodationType,
26
+ variants = {}
27
+ } = {},
28
+ language,
29
+ session
30
+ } = {}
31
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
32
+ // ! -- TODO: Try to get all data from store -------------------------------------------------------------------------
33
+ const {
34
+ idchain,
35
+ idtokenprovider: hotelId
36
+ } = (0, _helpers.fetchUrlParams)(location.search);
37
+
38
+ // ! -- TODO: use of tracking should be a temporary approach ---------------------------------------------------------
39
+ const {
40
+ bookingValues: {
41
+ checkin,
42
+ checkout,
43
+ coupon: promocode = '',
44
+ nights
45
+ } = {},
46
+ country,
47
+ guestData: {
48
+ country: nationality,
49
+ email,
50
+ firstName,
51
+ lastName
52
+ } = {},
53
+ hotelInfo: {
54
+ hotelCity,
55
+ hotelProvince,
56
+ currency: hotelCurrency = {},
57
+ propertyName,
58
+ propertyType
59
+ } = {},
60
+ reservationCode,
61
+ reservationDate,
62
+ reservedExtras = {},
63
+ reservedRooms = [],
64
+ totalPriceCommission,
65
+ totalExtrasTaxes,
66
+ totalExtrasWithTaxes,
67
+ totalExtrasWithoutTaxes,
68
+ totalNumAdults,
69
+ totalNumChildren,
70
+ totalNumRooms,
71
+ totalPriceWithTaxes,
72
+ totalPriceWithTaxesWithoutExtras,
73
+ totalPriceWithoutTaxes,
74
+ totalPriceWithoutTaxesWithoutExtras,
75
+ totalTaxes
76
+ } = tracking;
77
+ const rooms = reservedRooms.map(function () {
78
+ let {
79
+ averagePriceWithoutTaxes,
80
+ daysPriceBoard = [],
81
+ defaultBoardDescription,
82
+ numRoomsToReserve,
83
+ occupation: {
84
+ numAdults,
85
+ numBabies,
86
+ totalChildren: numChildren
87
+ } = {},
88
+ rateId,
89
+ rateName,
90
+ roomTypeName
91
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
92
+ let priceWithTaxes = 0;
93
+ let priceWithoutTaxes = 0;
94
+ daysPriceBoard.forEach(day => {
95
+ priceWithTaxes += day.priceWithTaxes;
96
+ priceWithoutTaxes += day.priceWithoutTaxes;
97
+ });
98
+ return {
99
+ boardName: defaultBoardDescription,
100
+ numRooms: numRoomsToReserve,
101
+ occupation: {
102
+ numAdults,
103
+ numChildren,
104
+ numBabies
105
+ },
106
+ rateId,
107
+ rateName,
108
+ roomName: roomTypeName,
109
+ priceWithTaxes,
110
+ priceWithoutTaxes,
111
+ unitaryPriceWithoutTaxes: (0, _legacy.formatPrice)(averagePriceWithoutTaxes, hotelCurrency)
112
+ };
113
+ });
114
+ const extras = Object.values(reservedExtras).map(function () {
115
+ let {
116
+ amount,
117
+ id,
118
+ name,
119
+ nightsToApply,
120
+ totalPriceWithTaxes,
121
+ totalPriceWithoutTaxes,
122
+ unitaryPriceWithTaxes,
123
+ unitaryPriceWithoutTaxes
124
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
125
+ return {
126
+ amount,
127
+ extraId: id,
128
+ extraName: name,
129
+ nightsToApply,
130
+ totalPriceWithTaxes,
131
+ totalPriceWithoutTaxes,
132
+ unitaryPriceWithTaxes,
133
+ unitaryPriceWithoutTaxes
134
+ };
135
+ });
136
+ const dataLayer = {
137
+ chainId: idchain,
138
+ checkin,
139
+ checkout,
140
+ city: hotelCity,
141
+ cityZone: undefined,
142
+ coupon: promocode,
143
+ currency: hotelCurrency.code,
144
+ device: mobile ? 'MOBILE' : 'DESKTOP_TABLET',
145
+ email,
146
+ emailSHA256: (0, _helpers3.SHA256)(email),
147
+ event: 'init',
148
+ home: document.location.hostname,
149
+ hotelId,
150
+ language,
151
+ lodgingDenomination: ACCOMMODATION_TYPE_NAME[((_variants$hotelId = variants[hotelId]) === null || _variants$hotelId === void 0 ? void 0 : _variants$hotelId.accommodationType) || accommodationType],
152
+ name: firstName,
153
+ nights,
154
+ numAdults: totalNumAdults,
155
+ numChildren: totalNumChildren,
156
+ numRooms: totalNumRooms,
157
+ products: {
158
+ rooms,
159
+ extras,
160
+ checkin,
161
+ checkout
162
+ },
163
+ propertyName,
164
+ propertyType,
165
+ reservationCode,
166
+ reservationDate,
167
+ state_provice: hotelProvince,
168
+ step: 'CLIENTFORM',
169
+ surname: lastName,
170
+ totalCommission: (0, _legacy.formatPrice)(totalPriceCommission, hotelCurrency),
171
+ totalExtrasTaxes: (0, _legacy.formatPrice)(totalExtrasTaxes, hotelCurrency),
172
+ totalExtrasWithTaxes: (0, _legacy.formatPrice)(totalExtrasWithTaxes, hotelCurrency),
173
+ totalExtrasWithoutTaxes: (0, _legacy.formatPrice)(totalExtrasWithoutTaxes, hotelCurrency),
174
+ totalPrice: (0, _legacy.formatPrice)(totalPriceWithTaxes, hotelCurrency),
175
+ totalPriceWithoutTaxes: (0, _legacy.formatPrice)(totalPriceWithoutTaxes, hotelCurrency),
176
+ totalPriceWithTaxesWithExtras: (0, _legacy.formatPrice)(totalPriceWithTaxes, hotelCurrency),
177
+ totalPriceWithTaxesWithoutExtras: (0, _legacy.formatPrice)(totalPriceWithTaxesWithoutExtras, hotelCurrency),
178
+ totalPriceWithoutTaxesWithExtras: (0, _legacy.formatPrice)(totalPriceWithoutTaxes, hotelCurrency),
179
+ totalPriceWithoutTaxesWithoutExtras: (0, _legacy.formatPrice)(totalPriceWithoutTaxesWithoutExtras, hotelCurrency),
180
+ totalTaxes: (0, _legacy.formatPrice)(totalTaxes, hotelCurrency),
181
+ nationality,
182
+ userCountry: country,
183
+ userCurrency: currency,
184
+ userLogged: !!session
185
+ };
186
+ (0, _helpers2.dataLayerPush)(dataLayer);
187
+ return dataLayer;
188
+ };
189
+ exports.bookingResponse = bookingResponse;
190
+ //# sourceMappingURL=bookingResponse.js.map
@@ -0,0 +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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"}
@@ -0,0 +1,180 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.checkoutResponse = void 0;
7
+ var _locale = require("@mirai/locale");
8
+ var _helpers = require("../../../../components/helpers");
9
+ var _Core = require("../../../../Core.constants");
10
+ var _helpers2 = require("../../../../helpers");
11
+ var _helpers3 = require("../../helpers");
12
+ var _legacy = require("../helpers/legacy");
13
+ const ACCOMMODATION_TYPE_NAME = Object.keys(_Core.ACCOMMODATION_TYPE);
14
+ const checkoutResponse = function () {
15
+ var _variants$hotelId;
16
+ let {
17
+ device: {
18
+ mobile
19
+ } = {},
20
+ response: {
21
+ infantAge,
22
+ tracking = {}
23
+ } = {},
24
+ store: {
25
+ currency,
26
+ finder: {
27
+ calendar = [],
28
+ occupation = [],
29
+ promocode = ''
30
+ } = {},
31
+ hotel: {
32
+ accommodationType,
33
+ variants = {}
34
+ } = {},
35
+ language,
36
+ session
37
+ } = {}
38
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
39
+ // ! -- TODO: Try to get all data from store -------------------------------------------------------------------------
40
+ const {
41
+ idchain,
42
+ idtokenprovider: hotelId
43
+ } = (0, _helpers2.fetchUrlParams)(location.search);
44
+
45
+ // ! -- TODO: use of tracking should be a temporary approach ---------------------------------------------------------
46
+ const {
47
+ country,
48
+ hotelInfo: {
49
+ currency: hotelCurrency = {},
50
+ propertyName,
51
+ propertyType
52
+ } = {},
53
+ reservedExtras = {},
54
+ reservedRooms = [],
55
+ totalExtrasTaxes,
56
+ totalExtrasWithTaxes,
57
+ totalExtrasWithoutTaxes,
58
+ totalPriceWithTaxes,
59
+ totalPriceWithTaxesWithoutExtras,
60
+ totalPriceWithoutTaxes,
61
+ totalPriceWithoutTaxesWithoutExtras,
62
+ totalTaxes
63
+ } = tracking;
64
+ const {
65
+ adults = 0,
66
+ children = 0
67
+ } = (0, _helpers.getOccupationTotals)({
68
+ infantAge,
69
+ occupation
70
+ });
71
+ const {
72
+ days: nights
73
+ } = (0, _locale.dateDiff)(...calendar);
74
+ const checkin = (0, _locale.dateFormat)(calendar[0], {
75
+ format: 'DD/MM/YYYY'
76
+ });
77
+ const checkout = (0, _locale.dateFormat)(calendar[1], {
78
+ format: 'DD/MM/YYYY'
79
+ });
80
+ const rooms = reservedRooms.map(function () {
81
+ let {
82
+ averagePriceWithoutTaxes,
83
+ daysPriceBoard = [],
84
+ defaultBoardDescription,
85
+ numRoomsToReserve,
86
+ occupation: {
87
+ numAdults,
88
+ numBabies,
89
+ totalChildren: numChildren
90
+ } = {},
91
+ rateId,
92
+ rateName,
93
+ roomTypeName
94
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
95
+ let priceWithTaxes = 0;
96
+ let priceWithoutTaxes = 0;
97
+ daysPriceBoard.forEach(day => {
98
+ priceWithTaxes += day.priceWithTaxes;
99
+ priceWithoutTaxes += day.priceWithoutTaxes;
100
+ });
101
+ return {
102
+ boardName: defaultBoardDescription,
103
+ numRooms: numRoomsToReserve,
104
+ occupation: {
105
+ numAdults,
106
+ numChildren,
107
+ numBabies
108
+ },
109
+ rateId,
110
+ rateName,
111
+ roomName: roomTypeName,
112
+ priceWithTaxes,
113
+ priceWithoutTaxes,
114
+ unitaryPriceWithoutTaxes: (0, _legacy.formatPrice)(averagePriceWithoutTaxes, hotelCurrency)
115
+ };
116
+ });
117
+ const extras = Object.values(reservedExtras).map(function () {
118
+ let {
119
+ amount,
120
+ id,
121
+ name,
122
+ nightsToApply,
123
+ totalPriceWithTaxes,
124
+ totalPriceWithoutTaxes,
125
+ unitaryPriceWithTaxes,
126
+ unitaryPriceWithoutTaxes
127
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
128
+ return {
129
+ amount,
130
+ extraId: id,
131
+ extraName: name,
132
+ nightsToApply,
133
+ totalPriceWithTaxes,
134
+ totalPriceWithoutTaxes,
135
+ unitaryPriceWithTaxes,
136
+ unitaryPriceWithoutTaxes
137
+ };
138
+ });
139
+ const dataLayer = {
140
+ chainId: idchain,
141
+ checkin,
142
+ checkout,
143
+ coupon: promocode,
144
+ currency: hotelCurrency.code,
145
+ device: mobile ? 'MOBILE' : 'DESKTOP_TABLET',
146
+ event: 'init',
147
+ home: document.location.hostname,
148
+ hotelId,
149
+ language,
150
+ lodgingDenomination: ACCOMMODATION_TYPE_NAME[((_variants$hotelId = variants[hotelId]) === null || _variants$hotelId === void 0 ? void 0 : _variants$hotelId.accommodationType) || accommodationType],
151
+ nights,
152
+ numAdults: adults,
153
+ numChildren: children,
154
+ numRooms: occupation.length,
155
+ products: {
156
+ rooms,
157
+ extras,
158
+ checkin,
159
+ checkout
160
+ },
161
+ propertyName,
162
+ propertyType,
163
+ step: 'CLIENTFORM',
164
+ totalExtrasTaxes: (0, _legacy.formatPrice)(totalExtrasTaxes, hotelCurrency),
165
+ totalExtrasWithTaxes: (0, _legacy.formatPrice)(totalExtrasWithTaxes, hotelCurrency),
166
+ totalExtrasWithoutTaxes: (0, _legacy.formatPrice)(totalExtrasWithoutTaxes, hotelCurrency),
167
+ totalPriceWithTaxesWithExtras: (0, _legacy.formatPrice)(totalPriceWithTaxes, hotelCurrency),
168
+ totalPriceWithTaxesWithoutExtras: (0, _legacy.formatPrice)(totalPriceWithTaxesWithoutExtras, hotelCurrency),
169
+ totalPriceWithoutTaxesWithExtras: (0, _legacy.formatPrice)(totalPriceWithoutTaxes, hotelCurrency),
170
+ totalPriceWithoutTaxesWithoutExtras: (0, _legacy.formatPrice)(totalPriceWithoutTaxesWithoutExtras, hotelCurrency),
171
+ totalTaxes: (0, _legacy.formatPrice)(totalTaxes, hotelCurrency),
172
+ userCountry: country,
173
+ userCurrency: currency,
174
+ userLogged: !!session
175
+ };
176
+ (0, _helpers3.dataLayerPush)(dataLayer);
177
+ return dataLayer;
178
+ };
179
+ exports.checkoutResponse = checkoutResponse;
180
+ //# sourceMappingURL=checkoutResponse.js.map
@@ -0,0 +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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"}
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.finderReady = void 0;
7
+ var _Core = require("../../../../Core.constants");
8
+ var _helpers = require("../../helpers");
9
+ const ACCOMMODATION_TYPE_NAME = Object.keys(_Core.ACCOMMODATION_TYPE);
10
+ const finderReady = function () {
11
+ var _variants$hotelId;
12
+ let {
13
+ device: {
14
+ mobile
15
+ } = {},
16
+ store: {
17
+ hotel: {
18
+ accommodationType,
19
+ id: hotelId,
20
+ variants = {}
21
+ } = {},
22
+ id,
23
+ type
24
+ } = {}
25
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
26
+ const dataLayer = {
27
+ chainId: type === _Core.TYPE.CHAIN ? id : undefined,
28
+ device: mobile ? 'MOBILE' : 'DESKTOP_TABLET',
29
+ event: 'init',
30
+ home: window.location.host,
31
+ hotelId,
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);
36
+ return dataLayer;
37
+ };
38
+ exports.finderReady = finderReady;
39
+ //# sourceMappingURL=finderReady.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"finderReady.js","names":["_Core","require","_helpers","ACCOMMODATION_TYPE_NAME","Object","keys","ACCOMMODATION_TYPE","finderReady","_variants$hotelId","device","mobile","store","hotel","accommodationType","id","hotelId","variants","type","arguments","length","undefined","dataLayer","chainId","TYPE","CHAIN","event","home","window","location","host","lodgingDenomination","step","dataLayerPush","exports"],"sources":["../../../../../src/contexts/PerformanceManager/providers/gtm/finderReady.js"],"sourcesContent":["import { ACCOMMODATION_TYPE } from '../../../../Core.constants';\nimport { TYPE } from '../../../../Core.constants';\nimport { dataLayerPush } from '../../helpers';\n\nconst ACCOMMODATION_TYPE_NAME = Object.keys(ACCOMMODATION_TYPE);\n\nexport const finderReady = ({\n device: { mobile } = {},\n store: { hotel: { accommodationType, id: hotelId, variants = {} } = {}, id, type } = {},\n} = {}) => {\n const dataLayer = {\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: 'BOOKINGENTRANCE',\n };\n\n dataLayerPush(dataLayer);\n\n return dataLayer;\n};\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAEA,IAAAC,QAAA,GAAAD,OAAA;AAEA,MAAME,uBAAuB,GAAGC,MAAM,CAACC,IAAI,CAACC,wBAAkB,CAAC;AAExD,MAAMC,WAAW,GAAG,SAAAA,CAAA,EAGhB;EAAA,IAAAC,iBAAA;EAAA,IAHiB;IAC1BC,MAAM,EAAE;MAAEC;IAAO,CAAC,GAAG,CAAC,CAAC;IACvBC,KAAK,EAAE;MAAEC,KAAK,EAAE;QAAEC,iBAAiB;QAAEC,EAAE,EAAEC,OAAO;QAAEC,QAAQ,GAAG,CAAC;MAAE,CAAC,GAAG,CAAC,CAAC;MAAEF,EAAE;MAAEG;IAAK,CAAC,GAAG,CAAC;EACxF,CAAC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EACJ,MAAMG,SAAS,GAAG;IAChBC,OAAO,EAAEL,IAAI,KAAKM,UAAI,CAACC,KAAK,GAAGV,EAAE,GAAGM,SAAS;IAC7CX,MAAM,EAAEC,MAAM,GAAG,QAAQ,GAAG,gBAAgB;IAC5Ce,KAAK,EAAE,MAAM;IACbC,IAAI,EAAEC,MAAM,CAACC,QAAQ,CAACC,IAAI;IAC1Bd,OAAO;IACPe,mBAAmB,EAAE3B,uBAAuB,CAAC,EAAAK,iBAAA,GAAAQ,QAAQ,CAACD,OAAO,CAAC,cAAAP,iBAAA,uBAAjBA,iBAAA,CAAmBK,iBAAiB,KAAIA,iBAAiB,CAAC;IACvGkB,IAAI,EAAE;EACR,CAAC;EAED,IAAAC,sBAAa,EAACX,SAAS,CAAC;EAExB,OAAOA,SAAS;AAClB,CAAC;AAACY,OAAA,CAAA1B,WAAA,GAAAA,WAAA"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _parseRate = require("./parseRate");
7
+ Object.keys(_parseRate).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _parseRate[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _parseRate[key];
14
+ }
15
+ });
16
+ });
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["_parseRate","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get"],"sources":["../../../../../../src/contexts/PerformanceManager/providers/gtm/helpers/index.js"],"sourcesContent":["export * from './parseRate';\n"],"mappings":";;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,UAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,UAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,UAAA,CAAAK,GAAA;IAAA;EAAA;AAAA"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.parseRate = void 0;
7
+ var _legacy = require("../../helpers/legacy");
8
+ const parseRate = function () {
9
+ let rate = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
10
+ let hotelCurrency = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
11
+ let nights = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
12
+ return {
13
+ averagePrice: rate.price,
14
+ // ? TODO: Why?
15
+ boardName: rate.boardName,
16
+ occupation: {
17
+ numAdults: rate.adults,
18
+ numChildren: rate.childrenFirtsRange + rate.childrenSecondRange,
19
+ numBabies: rate.babies
20
+ },
21
+ priceWithoutTaxes: (0, _legacy.formatPrice)(rate.totalPriceWithoutTaxes, hotelCurrency),
22
+ priceWithTaxes: (0, _legacy.formatPrice)(rate.totalPriceWithTaxes, hotelCurrency),
23
+ rateName: rate.rateName,
24
+ roomTypeName: rate.roomTypeName,
25
+ unitaryPriceWithoutTaxes: (0, _legacy.formatPrice)((rate.totalPriceWithoutTaxes / nights).toFixed(0), hotelCurrency)
26
+ };
27
+ };
28
+ exports.parseRate = parseRate;
29
+ //# sourceMappingURL=parseRate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseRate.js","names":["_legacy","require","parseRate","rate","arguments","length","undefined","hotelCurrency","nights","averagePrice","price","boardName","occupation","numAdults","adults","numChildren","childrenFirtsRange","childrenSecondRange","numBabies","babies","priceWithoutTaxes","formatPrice","totalPriceWithoutTaxes","priceWithTaxes","totalPriceWithTaxes","rateName","roomTypeName","unitaryPriceWithoutTaxes","toFixed","exports"],"sources":["../../../../../../src/contexts/PerformanceManager/providers/gtm/helpers/parseRate.js"],"sourcesContent":["import { formatPrice } from '../../helpers/legacy';\n\nexport const parseRate = (rate = {}, hotelCurrency = {}, nights = 0) => ({\n averagePrice: rate.price, // ? TODO: Why?\n boardName: rate.boardName,\n occupation: {\n numAdults: rate.adults,\n numChildren: rate.childrenFirtsRange + rate.childrenSecondRange,\n numBabies: rate.babies,\n },\n priceWithoutTaxes: formatPrice(rate.totalPriceWithoutTaxes, hotelCurrency),\n priceWithTaxes: formatPrice(rate.totalPriceWithTaxes, hotelCurrency),\n rateName: rate.rateName,\n roomTypeName: rate.roomTypeName,\n unitaryPriceWithoutTaxes: formatPrice((rate.totalPriceWithoutTaxes / nights).toFixed(0), hotelCurrency),\n});\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAEO,MAAMC,SAAS,GAAG,SAAAA,CAAA;EAAA,IAACC,IAAI,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAAA,IAAEG,aAAa,GAAAH,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAAA,IAAEI,MAAM,GAAAJ,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC;EAAA,OAAM;IACvEK,YAAY,EAAEN,IAAI,CAACO,KAAK;IAAE;IAC1BC,SAAS,EAAER,IAAI,CAACQ,SAAS;IACzBC,UAAU,EAAE;MACVC,SAAS,EAAEV,IAAI,CAACW,MAAM;MACtBC,WAAW,EAAEZ,IAAI,CAACa,kBAAkB,GAAGb,IAAI,CAACc,mBAAmB;MAC/DC,SAAS,EAAEf,IAAI,CAACgB;IAClB,CAAC;IACDC,iBAAiB,EAAE,IAAAC,mBAAW,EAAClB,IAAI,CAACmB,sBAAsB,EAAEf,aAAa,CAAC;IAC1EgB,cAAc,EAAE,IAAAF,mBAAW,EAAClB,IAAI,CAACqB,mBAAmB,EAAEjB,aAAa,CAAC;IACpEkB,QAAQ,EAAEtB,IAAI,CAACsB,QAAQ;IACvBC,YAAY,EAAEvB,IAAI,CAACuB,YAAY;IAC/BC,wBAAwB,EAAE,IAAAN,mBAAW,EAAC,CAAClB,IAAI,CAACmB,sBAAsB,GAAGd,MAAM,EAAEoB,OAAO,CAAC,CAAC,CAAC,EAAErB,aAAa;EACxG,CAAC;AAAA,CAAC;AAACsB,OAAA,CAAA3B,SAAA,GAAAA,SAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["_bookingCancel","require","_bookingResponse","_checkoutResponse","_finderReady","_ratesResponse","ProviderGTM","exports","bookingCancel","bookingResponse","checkoutResponse","finderReady","ratesResponse"],"sources":["../../../../../src/contexts/PerformanceManager/providers/gtm/index.js"],"sourcesContent":["import { bookingCancel } from './bookingCancel';\nimport { bookingResponse } from './bookingResponse';\nimport { checkoutResponse } from './checkoutResponse';\nimport { finderReady } from './finderReady';\nimport { ratesResponse } from './ratesResponse';\n\nexport const ProviderGTM = {\n bookingCancel,\n bookingResponse,\n checkoutResponse,\n finderReady,\n ratesResponse,\n};\n"],"mappings":";;;;;;AAAA,IAAAA,cAAA,GAAAC,OAAA;AACA,IAAAC,gBAAA,GAAAD,OAAA;AACA,IAAAE,iBAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AACA,IAAAI,cAAA,GAAAJ,OAAA;AAEO,MAAMK,WAAW,GAAAC,OAAA,CAAAD,WAAA,GAAG;EACzBE,aAAa,EAAbA,4BAAa;EACbC,eAAe,EAAfA,gCAAe;EACfC,gBAAgB,EAAhBA,kCAAgB;EAChBC,WAAW,EAAXA,wBAAW;EACXC,aAAa,EAAbA;AACF,CAAC"}