@roomstay/frontend 2.6.89-2 → 2.6.90

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 (1088) hide show
  1. package/dist/177.bundle.js +1 -1
  2. package/dist/279.bundle.js +1 -1
  3. package/dist/288.bundle.js +1 -1
  4. package/dist/370.bundle.js +1 -1
  5. package/dist/4.bundle.js +1 -0
  6. package/dist/430.bundle.js +1 -1
  7. package/dist/449.bundle.js +1 -1
  8. package/dist/537.bundle.js +1 -1
  9. package/dist/686.bundle.js +1 -1
  10. package/dist/873.bundle.js +1 -1
  11. package/dist/972.bundle.js +1 -1
  12. package/dist/978.bundle.js +1 -1
  13. package/dist/984.bundle.js +1 -0
  14. package/dist/e2e/canChangeCurrency.spec.js +1 -1
  15. package/dist/e2e/canChangeCurrency.spec.js.map +1 -1
  16. package/dist/e2e/canCheckout.spec.js +3 -3
  17. package/dist/e2e/canCheckout.spec.js.map +1 -1
  18. package/dist/e2e/canViewFindReservationsPage.spec.js +1 -1
  19. package/dist/e2e/canViewFindReservationsPage.spec.js.map +1 -1
  20. package/dist/e2e/canViewHotelnfoPage.spec.js +1 -1
  21. package/dist/e2e/canViewHotelnfoPage.spec.js.map +1 -1
  22. package/dist/e2e/goBackAndCheckoutAgain.spec.js +1 -1
  23. package/dist/e2e/goBackAndCheckoutAgain.spec.js.map +1 -1
  24. package/dist/e2e/helpers/checkoutHelpers.js +8 -9
  25. package/dist/e2e/helpers/checkoutHelpers.js.map +1 -1
  26. package/dist/e2e/helpers/playwrightHelpers.js +1 -2
  27. package/dist/e2e/helpers/playwrightHelpers.js.map +1 -1
  28. package/dist/e2e/price.spec.js +3 -3
  29. package/dist/e2e/price.spec.js.map +1 -1
  30. package/dist/main.bundle.js +1 -1
  31. package/dist/src/animations/AutoAutoHeight.d.ts +1 -1
  32. package/dist/src/animations/AutoAutoHeight.js +18 -8
  33. package/dist/src/animations/AutoAutoHeight.js.map +1 -1
  34. package/dist/src/animations/Fade.js +17 -7
  35. package/dist/src/animations/Fade.js.map +1 -1
  36. package/dist/src/api/AddonAPI.js +17 -7
  37. package/dist/src/api/AddonAPI.js.map +1 -1
  38. package/dist/src/api/AvailabilityAPI.d.ts +28 -6
  39. package/dist/src/api/AvailabilityAPI.js +214 -106
  40. package/dist/src/api/AvailabilityAPI.js.map +1 -1
  41. package/dist/src/api/BaseAPI.js +6 -6
  42. package/dist/src/api/BaseAPI.js.map +1 -1
  43. package/dist/src/api/ErrorAPI.js.map +1 -1
  44. package/dist/src/api/ExchangeRateAPI.js.map +1 -1
  45. package/dist/src/api/HotelAPI.d.ts +1 -1
  46. package/dist/src/api/HotelAPI.js.map +1 -1
  47. package/dist/src/api/MemberAPI.js +17 -7
  48. package/dist/src/api/MemberAPI.js.map +1 -1
  49. package/dist/src/api/ReservationAPI.d.ts +2 -3
  50. package/dist/src/api/ReservationAPI.js +21 -10
  51. package/dist/src/api/ReservationAPI.js.map +1 -1
  52. package/dist/src/api/SessionAPI.js +17 -7
  53. package/dist/src/api/SessionAPI.js.map +1 -1
  54. package/dist/src/api/TrueRewardsAPI.js.map +1 -1
  55. package/dist/src/api/events-service/EventsServiceAPI.js.map +1 -1
  56. package/dist/src/api/members-service/MembersServiceAPI.d.ts +1 -1
  57. package/dist/src/components/Event/EventCarouselContainer.js +17 -7
  58. package/dist/src/components/Event/EventCarouselContainer.js.map +1 -1
  59. package/dist/src/components/User/Forms/ForgotPasswordForm.d.ts +2 -1
  60. package/dist/src/components/User/Forms/ForgotPasswordForm.js +17 -7
  61. package/dist/src/components/User/Forms/ForgotPasswordForm.js.map +1 -1
  62. package/dist/src/components/User/Forms/SignInForm.js +17 -7
  63. package/dist/src/components/User/Forms/SignInForm.js.map +1 -1
  64. package/dist/src/components/User/Forms/SignUpForm.d.ts +2 -1
  65. package/dist/src/components/User/Forms/SignUpForm.js +17 -7
  66. package/dist/src/components/User/Forms/SignUpForm.js.map +1 -1
  67. package/dist/src/components/User/Forms/VerifyEmailForm.d.ts +2 -1
  68. package/dist/src/components/User/Forms/VerifyEmailForm.js +17 -7
  69. package/dist/src/components/User/Forms/VerifyEmailForm.js.map +1 -1
  70. package/dist/src/components/generic/AfterpayButton/AfterpayPaymentOption.js +17 -7
  71. package/dist/src/components/generic/AfterpayButton/AfterpayPaymentOption.js.map +1 -1
  72. package/dist/src/components/generic/AgedBetweenLabel/AgedBetweenLabel.d.ts +2 -1
  73. package/dist/src/components/generic/AgedBetweenLabel/AgedBetweenLabel.js +17 -7
  74. package/dist/src/components/generic/AgedBetweenLabel/AgedBetweenLabel.js.map +1 -1
  75. package/dist/src/components/generic/Alert.d.ts +2 -2
  76. package/dist/src/components/generic/Alert.js +3 -3
  77. package/dist/src/components/generic/Alert.js.map +1 -1
  78. package/dist/src/components/generic/BEButton.d.ts +2 -1
  79. package/dist/src/components/generic/BEButton.js +20 -9
  80. package/dist/src/components/generic/BEButton.js.map +1 -1
  81. package/dist/src/components/generic/BackButton.d.ts +2 -1
  82. package/dist/src/components/generic/BackButton.js +1 -1
  83. package/dist/src/components/generic/BackButton.js.map +1 -1
  84. package/dist/src/components/generic/BookNowPayLaterInfoBlock.js +18 -9
  85. package/dist/src/components/generic/BookNowPayLaterInfoBlock.js.map +1 -1
  86. package/dist/src/components/generic/BookingWizard/BookingWizard.d.ts +1 -2
  87. package/dist/src/components/generic/BookingWizard/BookingWizard.js +28 -46
  88. package/dist/src/components/generic/BookingWizard/BookingWizard.js.map +1 -1
  89. package/dist/src/components/generic/BookingWizard/BookingWizardBottomSheet/BookingWizardBottomSheet.d.ts +2 -2
  90. package/dist/src/components/generic/BookingWizard/BookingWizardContent.d.ts +5 -7
  91. package/dist/src/components/generic/BookingWizard/BookingWizardContent.js +21 -43
  92. package/dist/src/components/generic/BookingWizard/BookingWizardContent.js.map +1 -1
  93. package/dist/src/components/generic/BookingWizard/BookingWizardContext.d.ts +0 -9
  94. package/dist/src/components/generic/BookingWizard/BookingWizardContext.js.map +1 -1
  95. package/dist/src/components/generic/BookingWizard/BookingWizardDateSelector/BookingWizardDateSelector.d.ts +1 -2
  96. package/dist/src/components/generic/BookingWizard/BookingWizardDateSelector/BookingWizardDateSelector.js +19 -9
  97. package/dist/src/components/generic/BookingWizard/BookingWizardDateSelector/BookingWizardDateSelector.js.map +1 -1
  98. package/dist/src/components/generic/BookingWizard/BookingWizardGuestSelector/BookingWizardGuestSelector.d.ts +5 -2
  99. package/dist/src/components/generic/BookingWizard/BookingWizardGuestSelector/BookingWizardGuestSelector.js +20 -10
  100. package/dist/src/components/generic/BookingWizard/BookingWizardGuestSelector/BookingWizardGuestSelector.js.map +1 -1
  101. package/dist/src/components/generic/BookingWizard/BookingWizardHotelSelector/BookingWizardHotelSelector.d.ts +1 -1
  102. package/dist/src/components/generic/BookingWizard/BookingWizardHotelSelector/BookingWizardHotelSelector.js +21 -11
  103. package/dist/src/components/generic/BookingWizard/BookingWizardHotelSelector/BookingWizardHotelSelector.js.map +1 -1
  104. package/dist/src/components/generic/BookingWizard/BookingWizardPromoCode/BookingWizardPromoCode.js +17 -7
  105. package/dist/src/components/generic/BookingWizard/BookingWizardPromoCode/BookingWizardPromoCode.js.map +1 -1
  106. package/dist/src/components/generic/Card/IconNavCard/IconNavCard.d.ts +2 -2
  107. package/dist/src/components/generic/Card/IconNavCard/IconNavCard.js +17 -7
  108. package/dist/src/components/generic/Card/IconNavCard/IconNavCard.js.map +1 -1
  109. package/dist/src/components/generic/Checkbox/Checkbox.js +17 -7
  110. package/dist/src/components/generic/Checkbox/Checkbox.js.map +1 -1
  111. package/dist/src/components/generic/Countdown.d.ts +2 -1
  112. package/dist/src/components/generic/Countdown.js +18 -8
  113. package/dist/src/components/generic/Countdown.js.map +1 -1
  114. package/dist/src/components/generic/Currency.d.ts +2 -1
  115. package/dist/src/components/generic/Currency.js +18 -8
  116. package/dist/src/components/generic/Currency.js.map +1 -1
  117. package/dist/src/components/generic/DateRangePicker/DateRangePicker.d.ts +2 -1
  118. package/dist/src/components/generic/DateRangePicker/DateRangePicker.js +18 -8
  119. package/dist/src/components/generic/DateRangePicker/DateRangePicker.js.map +1 -1
  120. package/dist/src/components/generic/DateRangePicker/DateRangePickerDay.d.ts +2 -1
  121. package/dist/src/components/generic/DateRangePicker/DateRangePickerDay.js +19 -9
  122. package/dist/src/components/generic/DateRangePicker/DateRangePickerDay.js.map +1 -1
  123. package/dist/src/components/generic/DateRangePicker/DateRangePickerDays.d.ts +2 -1
  124. package/dist/src/components/generic/DateRangePicker/DateRangePickerDays.js +18 -8
  125. package/dist/src/components/generic/DateRangePicker/DateRangePickerDays.js.map +1 -1
  126. package/dist/src/components/generic/DateRangePicker/DateRangePickerMonth.d.ts +2 -1
  127. package/dist/src/components/generic/DateRangePicker/DateRangePickerMonth.js +18 -8
  128. package/dist/src/components/generic/DateRangePicker/DateRangePickerMonth.js.map +1 -1
  129. package/dist/src/components/generic/DateRangePicker/FloatingDateRangePicker.js +17 -7
  130. package/dist/src/components/generic/DateRangePicker/FloatingDateRangePicker.js.map +1 -1
  131. package/dist/src/components/generic/Distance.d.ts +2 -1
  132. package/dist/src/components/generic/Distance.js +18 -8
  133. package/dist/src/components/generic/Distance.js.map +1 -1
  134. package/dist/src/components/generic/Event/EventCard.js +17 -7
  135. package/dist/src/components/generic/Event/EventCard.js.map +1 -1
  136. package/dist/src/components/generic/Event/EventCarousel.js +17 -7
  137. package/dist/src/components/generic/Event/EventCarousel.js.map +1 -1
  138. package/dist/src/components/generic/ForwardedSelect.js +17 -7
  139. package/dist/src/components/generic/ForwardedSelect.js.map +1 -1
  140. package/dist/src/components/generic/GroupedCheckInOutTimes/GroupedCheckInOutTimes.js.map +1 -1
  141. package/dist/src/components/generic/Headline.d.ts +1 -1
  142. package/dist/src/components/generic/Headline.js +1 -1
  143. package/dist/src/components/generic/Headline.js.map +1 -1
  144. package/dist/src/components/generic/HtmlContentViewer.d.ts +2 -1
  145. package/dist/src/components/generic/HtmlContentViewer.js +17 -7
  146. package/dist/src/components/generic/HtmlContentViewer.js.map +1 -1
  147. package/dist/src/components/generic/IconText/IconText.js +19 -9
  148. package/dist/src/components/generic/IconText/IconText.js.map +1 -1
  149. package/dist/src/components/generic/InputGroup/InputGroup.d.ts +2 -2
  150. package/dist/src/components/generic/InputGroup/InputGroup.js +1 -1
  151. package/dist/src/components/generic/InputGroup/InputGroup.js.map +1 -1
  152. package/dist/src/components/generic/LineBreak.d.ts +2 -1
  153. package/dist/src/components/generic/LineBreak.js +1 -1
  154. package/dist/src/components/generic/LineBreak.js.map +1 -1
  155. package/dist/src/components/generic/Notification.d.ts +1 -1
  156. package/dist/src/components/generic/Notification.js +18 -8
  157. package/dist/src/components/generic/Notification.js.map +1 -1
  158. package/dist/src/components/generic/NumberIncrement.d.ts +2 -1
  159. package/dist/src/components/generic/NumberIncrement.js +18 -8
  160. package/dist/src/components/generic/NumberIncrement.js.map +1 -1
  161. package/dist/src/components/generic/Overlay/Overlay.d.ts +2 -2
  162. package/dist/src/components/generic/Overlay/Overlay.js +17 -7
  163. package/dist/src/components/generic/Overlay/Overlay.js.map +1 -1
  164. package/dist/src/components/generic/PageTitle/index.d.ts +2 -1
  165. package/dist/src/components/generic/PageTitle/index.js.map +1 -1
  166. package/dist/src/components/generic/PasswordBox/PasswordBox.js +17 -7
  167. package/dist/src/components/generic/PasswordBox/PasswordBox.js.map +1 -1
  168. package/dist/src/components/generic/PaymentCard/InlinePaymentOption.js +19 -9
  169. package/dist/src/components/generic/PaymentCard/InlinePaymentOption.js.map +1 -1
  170. package/dist/src/components/generic/PaymentCard/PaymentCard.d.ts +2 -1
  171. package/dist/src/components/generic/PaymentCard/PaymentCardInput.js +17 -7
  172. package/dist/src/components/generic/PaymentCard/PaymentCardInput.js.map +1 -1
  173. package/dist/src/components/generic/Pill.d.ts +1 -1
  174. package/dist/src/components/generic/Pill.js +3 -3
  175. package/dist/src/components/generic/Pill.js.map +1 -1
  176. package/dist/src/components/generic/Placeholder.d.ts +2 -1
  177. package/dist/src/components/generic/Placeholder.js +1 -1
  178. package/dist/src/components/generic/Placeholder.js.map +1 -1
  179. package/dist/src/components/generic/PlanpayPrice/PlanpayPrice.js +17 -7
  180. package/dist/src/components/generic/PlanpayPrice/PlanpayPrice.js.map +1 -1
  181. package/dist/src/components/generic/PromoCodeInput.d.ts +4 -1
  182. package/dist/src/components/generic/PromoCodeInput.js +20 -12
  183. package/dist/src/components/generic/PromoCodeInput.js.map +1 -1
  184. package/dist/src/components/generic/RadioButtonGroup/RadioButton.js +17 -7
  185. package/dist/src/components/generic/RadioButtonGroup/RadioButton.js.map +1 -1
  186. package/dist/src/components/generic/RadioButtonGroup/RadioButtonGroup.js +17 -7
  187. package/dist/src/components/generic/RadioButtonGroup/RadioButtonGroup.js.map +1 -1
  188. package/dist/src/components/generic/RecentSearchesCard.d.ts +2 -1
  189. package/dist/src/components/generic/RecentSearchesCard.js +17 -7
  190. package/dist/src/components/generic/RecentSearchesCard.js.map +1 -1
  191. package/dist/src/components/generic/RoomstayMark.d.ts +2 -1
  192. package/dist/src/components/generic/RoomstayMark.js +17 -7
  193. package/dist/src/components/generic/RoomstayMark.js.map +1 -1
  194. package/dist/src/components/generic/ScrollToTop.js.map +1 -1
  195. package/dist/src/components/generic/Select/InputSelect.js +18 -8
  196. package/dist/src/components/generic/Select/InputSelect.js.map +1 -1
  197. package/dist/src/components/generic/Select/Select.d.ts +2 -2
  198. package/dist/src/components/generic/Select/Select.js +17 -7
  199. package/dist/src/components/generic/Select/Select.js.map +1 -1
  200. package/dist/src/components/generic/Slider/Slider.d.ts +1 -1
  201. package/dist/src/components/generic/Slider/Slider.js +17 -7
  202. package/dist/src/components/generic/Slider/Slider.js.map +1 -1
  203. package/dist/src/components/generic/Tabs/ElementChildren.js +2 -3
  204. package/dist/src/components/generic/Tabs/ElementChildren.js.map +1 -1
  205. package/dist/src/components/generic/Tabs/TabContext.js +17 -7
  206. package/dist/src/components/generic/Tabs/TabContext.js.map +1 -1
  207. package/dist/src/components/generic/Tabs/TabLink.js +17 -7
  208. package/dist/src/components/generic/Tabs/TabLink.js.map +1 -1
  209. package/dist/src/components/generic/Tabs/TabRouteContainer.d.ts +2 -2
  210. package/dist/src/components/generic/Tabs/TabRouteContainer.js +18 -9
  211. package/dist/src/components/generic/Tabs/TabRouteContainer.js.map +1 -1
  212. package/dist/src/components/generic/Text.js +19 -9
  213. package/dist/src/components/generic/Text.js.map +1 -1
  214. package/dist/src/components/generic/TextArea.js +17 -7
  215. package/dist/src/components/generic/TextArea.js.map +1 -1
  216. package/dist/src/components/generic/TextBox.js +17 -7
  217. package/dist/src/components/generic/TextBox.js.map +1 -1
  218. package/dist/src/components/generic/Tooltip/Tooltip.d.ts +2 -2
  219. package/dist/src/components/generic/Tooltip/Tooltip.js +18 -8
  220. package/dist/src/components/generic/Tooltip/Tooltip.js.map +1 -1
  221. package/dist/src/components/generic/badging/SSLSecureBadge.d.ts +2 -1
  222. package/dist/src/components/generic/badging/SSLSecureBadge.js +1 -1
  223. package/dist/src/components/generic/badging/SSLSecureBadge.js.map +1 -1
  224. package/dist/src/components/generic/buttons/NextStepButton.d.ts +2 -1
  225. package/dist/src/components/generic/buttons/NextStepButton.js +18 -8
  226. package/dist/src/components/generic/buttons/NextStepButton.js.map +1 -1
  227. package/dist/src/components/generic/custom/EnhancedPhoneNumberField/EnhancedPhoneNumberField.js +26 -14
  228. package/dist/src/components/generic/custom/EnhancedPhoneNumberField/EnhancedPhoneNumberField.js.map +1 -1
  229. package/dist/src/components/generic/date/DatePicker.d.ts +3 -2
  230. package/dist/src/components/generic/date/DatePicker.js +19 -9
  231. package/dist/src/components/generic/date/DatePicker.js.map +1 -1
  232. package/dist/src/components/generic/date/DatePickerDay.d.ts +2 -1
  233. package/dist/src/components/generic/date/DatePickerDay.js +19 -9
  234. package/dist/src/components/generic/date/DatePickerDay.js.map +1 -1
  235. package/dist/src/components/generic/date/DatePickerDays.d.ts +2 -1
  236. package/dist/src/components/generic/date/DatePickerDays.js +18 -8
  237. package/dist/src/components/generic/date/DatePickerDays.js.map +1 -1
  238. package/dist/src/components/generic/date/DatePickerMonth.d.ts +2 -1
  239. package/dist/src/components/generic/date/DatePickerMonth.js +18 -8
  240. package/dist/src/components/generic/date/DatePickerMonth.js.map +1 -1
  241. package/dist/src/components/generic/date/DatePickerWeek.d.ts +2 -1
  242. package/dist/src/components/generic/date/DatePickerWeek.js +21 -11
  243. package/dist/src/components/generic/date/DatePickerWeek.js.map +1 -1
  244. package/dist/src/components/generic/date/FloatingDatePicker.d.ts +1 -1
  245. package/dist/src/components/generic/date/FloatingDatePicker.js +19 -9
  246. package/dist/src/components/generic/date/FloatingDatePicker.js.map +1 -1
  247. package/dist/src/components/generic/date/WeekViewSkeleton.d.ts +2 -1
  248. package/dist/src/components/generic/date/WeekViewSkeleton.js +17 -7
  249. package/dist/src/components/generic/date/WeekViewSkeleton.js.map +1 -1
  250. package/dist/src/components/generic/loader/ImageLoader.d.ts +1 -1
  251. package/dist/src/components/generic/loader/ImageLoader.js +18 -8
  252. package/dist/src/components/generic/loader/ImageLoader.js.map +1 -1
  253. package/dist/src/components/generic/loader/LargeLoader.d.ts +2 -1
  254. package/dist/src/components/generic/loader/LargeLoader.js +1 -1
  255. package/dist/src/components/generic/loader/LargeLoader.js.map +1 -1
  256. package/dist/src/components/generic/loader/OverlayLoader.d.ts +2 -1
  257. package/dist/src/components/generic/loader/SmallSpinner.d.ts +2 -1
  258. package/dist/src/components/generic/loader/SmallSpinner.js +18 -8
  259. package/dist/src/components/generic/loader/SmallSpinner.js.map +1 -1
  260. package/dist/src/components/generic/map/HotelLocationMap.d.ts +2 -1
  261. package/dist/src/components/generic/map/HotelLocationMap.js +1 -1
  262. package/dist/src/components/generic/map/HotelLocationMap.js.map +1 -1
  263. package/dist/src/components/generic/modal/ConfirmationModal.d.ts +2 -1
  264. package/dist/src/components/generic/modal/ConfirmationModal.js +18 -8
  265. package/dist/src/components/generic/modal/ConfirmationModal.js.map +1 -1
  266. package/dist/src/components/generic/modal/ErrorModal.d.ts +1 -1
  267. package/dist/src/components/generic/modal/ErrorModal.js +18 -8
  268. package/dist/src/components/generic/modal/ErrorModal.js.map +1 -1
  269. package/dist/src/components/generic/modal/SigninModal/AuthenticatedUserModal.js +17 -7
  270. package/dist/src/components/generic/modal/SigninModal/AuthenticatedUserModal.js.map +1 -1
  271. package/dist/src/components/generic/modal/SigninModal/FormContent/SignUpFormContent.js +17 -7
  272. package/dist/src/components/generic/modal/SigninModal/FormContent/SignUpFormContent.js.map +1 -1
  273. package/dist/src/components/generic/modal/SigninModal/UnauthenticatedUserModal.d.ts +2 -1
  274. package/dist/src/components/generic/modal/SigninModal/UnauthenticatedUserModal.js +18 -8
  275. package/dist/src/components/generic/modal/SigninModal/UnauthenticatedUserModal.js.map +1 -1
  276. package/dist/src/components/generic/modal/SimpleModal.d.ts +1 -1
  277. package/dist/src/components/generic/modal/SimpleModal.js +19 -9
  278. package/dist/src/components/generic/modal/SimpleModal.js.map +1 -1
  279. package/dist/src/components/generic/modal/TabbedModal.d.ts +1 -1
  280. package/dist/src/components/generic/modal/TabbedModal.js +18 -8
  281. package/dist/src/components/generic/modal/TabbedModal.js.map +1 -1
  282. package/dist/src/components/generic/radio/RadioFields.d.ts +2 -1
  283. package/dist/src/components/generic/radio/RadioFields.js +18 -8
  284. package/dist/src/components/generic/radio/RadioFields.js.map +1 -1
  285. package/dist/src/components/graphics/TravelerNotfound.d.ts +2 -1
  286. package/dist/src/components/graphics/TravelerNotfound.js +1 -1
  287. package/dist/src/components/graphics/TravelerNotfound.js.map +1 -1
  288. package/dist/src/components/iconComponents/BookNowPayLaterIcon.d.ts +2 -1
  289. package/dist/src/components/members/EditMyProfile.js +17 -7
  290. package/dist/src/components/members/EditMyProfile.js.map +1 -1
  291. package/dist/src/components/members/InlineSignUpSection.d.ts +3 -2
  292. package/dist/src/components/members/InlineSignUpSection.js +17 -7
  293. package/dist/src/components/members/InlineSignUpSection.js.map +1 -1
  294. package/dist/src/components/members/SignInModal/ExternalMemberModal.d.ts +2 -1
  295. package/dist/src/components/members/SignInModal/ExternalMemberModal.js +17 -7
  296. package/dist/src/components/members/SignInModal/ExternalMemberModal.js.map +1 -1
  297. package/dist/src/components/members/SignInModal/InternalMemberSignInModal.d.ts +2 -1
  298. package/dist/src/components/members/SignInModal/InternalMemberSignInModal.js +19 -9
  299. package/dist/src/components/members/SignInModal/InternalMemberSignInModal.js.map +1 -1
  300. package/dist/src/components/members/SignInModal/MemberPortalSignInModal.d.ts +2 -1
  301. package/dist/src/components/members/SignInModal/MemberPortalSignInModal.js +18 -8
  302. package/dist/src/components/members/SignInModal/MemberPortalSignInModal.js.map +1 -1
  303. package/dist/src/components/members/SignInModal/MemberSignInModal.d.ts +2 -1
  304. package/dist/src/components/members/SignInModal/MemberSignInModal.js +17 -7
  305. package/dist/src/components/members/SignInModal/MemberSignInModal.js.map +1 -1
  306. package/dist/src/components/navigation/Header.d.ts +2 -1
  307. package/dist/src/components/navigation/Header.js +22 -8
  308. package/dist/src/components/navigation/Header.js.map +1 -1
  309. package/dist/src/components/navigation/StepSelector.d.ts +2 -1
  310. package/dist/src/components/navigation/StepSelector.js +18 -8
  311. package/dist/src/components/navigation/StepSelector.js.map +1 -1
  312. package/dist/src/components/navigation/StepSelectorModal.d.ts +2 -1
  313. package/dist/src/components/navigation/StepSelectorModal.js +18 -8
  314. package/dist/src/components/navigation/StepSelectorModal.js.map +1 -1
  315. package/dist/src/components/pages/Account/Card/MemberCardItem.d.ts +2 -1
  316. package/dist/src/components/pages/Account/Card/MemberCardItem.js +17 -7
  317. package/dist/src/components/pages/Account/Card/MemberCardItem.js.map +1 -1
  318. package/dist/src/components/pages/PageColorComponent.d.ts +2 -1
  319. package/dist/src/components/pages/PageColorComponent.js +17 -7
  320. package/dist/src/components/pages/PageColorComponent.js.map +1 -1
  321. package/dist/src/components/reservation/EmptyReservation.js +17 -7
  322. package/dist/src/components/reservation/EmptyReservation.js.map +1 -1
  323. package/dist/src/components/reservation/ReservationItem.d.ts +3 -1
  324. package/dist/src/components/reservation/ReservationItem.js +20 -10
  325. package/dist/src/components/reservation/ReservationItem.js.map +1 -1
  326. package/dist/src/components/reservation/ReservationList.d.ts +1 -0
  327. package/dist/src/components/reservation/ReservationList.js +2 -2
  328. package/dist/src/components/reservation/ReservationList.js.map +1 -1
  329. package/dist/src/components/steps/DaysSelectedInformer.d.ts +2 -1
  330. package/dist/src/components/steps/DaysSelectedInformer.js +18 -8
  331. package/dist/src/components/steps/DaysSelectedInformer.js.map +1 -1
  332. package/dist/src/components/steps/MinimumNightStayPill.d.ts +2 -1
  333. package/dist/src/components/steps/MinimumNightStayPill.js +18 -8
  334. package/dist/src/components/steps/MinimumNightStayPill.js.map +1 -1
  335. package/dist/src/components/steps/addons/AddonCard.d.ts +2 -1
  336. package/dist/src/components/steps/addons/AddonCard.js +25 -7
  337. package/dist/src/components/steps/addons/AddonCard.js.map +1 -1
  338. package/dist/src/components/steps/addons/AddonList.d.ts +2 -1
  339. package/dist/src/components/steps/addons/AddonList.js +17 -7
  340. package/dist/src/components/steps/addons/AddonList.js.map +1 -1
  341. package/dist/src/components/steps/addons/AddonsNotFoundBlock.d.ts +2 -1
  342. package/dist/src/components/steps/addons/AddonsNotFoundBlock.js +1 -1
  343. package/dist/src/components/steps/addons/AddonsNotFoundBlock.js.map +1 -1
  344. package/dist/src/components/steps/common/CommonAddonSummary/CommonAddonSummary.d.ts +3 -2
  345. package/dist/src/components/steps/common/CommonAddonSummary/CommonAddonSummary.js +19 -9
  346. package/dist/src/components/steps/common/CommonAddonSummary/CommonAddonSummary.js.map +1 -1
  347. package/dist/src/components/steps/common/ItemisedFeesListing/ItemisedFeesListing.d.ts +2 -1
  348. package/dist/src/components/steps/common/ItemisedFeesListing/ItemisedFeesListing.js +17 -7
  349. package/dist/src/components/steps/common/ItemisedFeesListing/ItemisedFeesListing.js.map +1 -1
  350. package/dist/src/components/steps/common/ItemisedFeesSummary/ItemisedFeesSummary.d.ts +3 -2
  351. package/dist/src/components/steps/common/ItemisedFeesSummary/ItemisedFeesSummary.js +17 -7
  352. package/dist/src/components/steps/common/ItemisedFeesSummary/ItemisedFeesSummary.js.map +1 -1
  353. package/dist/src/components/steps/confirmation/AccountDetails.d.ts +2 -1
  354. package/dist/src/components/steps/confirmation/AccountDetails.js +18 -8
  355. package/dist/src/components/steps/confirmation/AccountDetails.js.map +1 -1
  356. package/dist/src/components/steps/confirmation/AdyenPaymentOption/AdyenPaymentOption.js +17 -7
  357. package/dist/src/components/steps/confirmation/AdyenPaymentOption/AdyenPaymentOption.js.map +1 -1
  358. package/dist/src/components/steps/confirmation/MastercardPaymentMethod.js +17 -7
  359. package/dist/src/components/steps/confirmation/MastercardPaymentMethod.js.map +1 -1
  360. package/dist/src/components/steps/confirmation/PaymentDetails/AcceptablePaymentCard.js.map +1 -1
  361. package/dist/src/components/steps/confirmation/PaymentDetails/ExistingCardPicker.d.ts +2 -1
  362. package/dist/src/components/steps/confirmation/PaymentDetails/ExistingCardPicker.js +17 -7
  363. package/dist/src/components/steps/confirmation/PaymentDetails/ExistingCardPicker.js.map +1 -1
  364. package/dist/src/components/steps/confirmation/PaymentDetails/StepConfirmationPaymentDetails.js +17 -7
  365. package/dist/src/components/steps/confirmation/PaymentDetails/StepConfirmationPaymentDetails.js.map +1 -1
  366. package/dist/src/components/steps/confirmation/PaymentInformation.d.ts +2 -1
  367. package/dist/src/components/steps/confirmation/PaymentInformation.js +17 -7
  368. package/dist/src/components/steps/confirmation/PaymentInformation.js.map +1 -1
  369. package/dist/src/components/steps/confirmation/PlanpayLabel.d.ts +2 -1
  370. package/dist/src/components/steps/confirmation/PlanpayLabel.js +17 -7
  371. package/dist/src/components/steps/confirmation/PlanpayLabel.js.map +1 -1
  372. package/dist/src/components/steps/confirmation/PlanpayPaymentMethod.js +17 -7
  373. package/dist/src/components/steps/confirmation/PlanpayPaymentMethod.js.map +1 -1
  374. package/dist/src/components/steps/confirmation/RoomContactDetails.js +18 -11
  375. package/dist/src/components/steps/confirmation/RoomContactDetails.js.map +1 -1
  376. package/dist/src/components/steps/confirmation/StepConfirmationAcknowledgement.d.ts +2 -1
  377. package/dist/src/components/steps/confirmation/StepConfirmationAcknowledgement.js +28 -19
  378. package/dist/src/components/steps/confirmation/StepConfirmationAcknowledgement.js.map +1 -1
  379. package/dist/src/components/steps/confirmation/StepConfirmationCheckoutDifferencesModal.d.ts +2 -1
  380. package/dist/src/components/steps/confirmation/StepConfirmationCheckoutDifferencesModal.js +18 -8
  381. package/dist/src/components/steps/confirmation/StepConfirmationCheckoutDifferencesModal.js.map +1 -1
  382. package/dist/src/components/steps/confirmation/StepConfirmationCommentsComponent.d.ts +2 -1
  383. package/dist/src/components/steps/confirmation/StepConfirmationCommentsComponent.js +2 -2
  384. package/dist/src/components/steps/confirmation/StepConfirmationCommentsComponent.js.map +1 -1
  385. package/dist/src/components/steps/confirmation/StepConfirmationCountrySelector.js +17 -7
  386. package/dist/src/components/steps/confirmation/StepConfirmationCountrySelector.js.map +1 -1
  387. package/dist/src/components/steps/confirmation/StepConfirmationForm.d.ts +2 -1
  388. package/dist/src/components/steps/confirmation/StepConfirmationForm.js +18 -8
  389. package/dist/src/components/steps/confirmation/StepConfirmationForm.js.map +1 -1
  390. package/dist/src/components/steps/confirmation/StepConfirmationFormProvider.d.ts +2 -1
  391. package/dist/src/components/steps/confirmation/StepConfirmationFormProvider.js +1 -1
  392. package/dist/src/components/steps/confirmation/StepConfirmationFormProvider.js.map +1 -1
  393. package/dist/src/components/steps/confirmation/StepConfirmationLimitedOffer.d.ts +2 -1
  394. package/dist/src/components/steps/confirmation/StepConfirmationLimitedOffer.js +18 -8
  395. package/dist/src/components/steps/confirmation/StepConfirmationLimitedOffer.js.map +1 -1
  396. package/dist/src/components/steps/confirmation/StepConfirmationPoliciesSection.d.ts +2 -1
  397. package/dist/src/components/steps/confirmation/StepConfirmationPoliciesSection.js +18 -8
  398. package/dist/src/components/steps/confirmation/StepConfirmationPoliciesSection.js.map +1 -1
  399. package/dist/src/components/steps/confirmation/StepConfirmationPolicyBlock.d.ts +2 -1
  400. package/dist/src/components/steps/confirmation/StepConfirmationPolicyBlock.js +23 -12
  401. package/dist/src/components/steps/confirmation/StepConfirmationPolicyBlock.js.map +1 -1
  402. package/dist/src/components/steps/confirmation/TrueRewardsPaymentOption/TrueRewardsLabel.d.ts +2 -1
  403. package/dist/src/components/steps/confirmation/TrueRewardsPaymentOption/TrueRewardsLabel.js +26 -13
  404. package/dist/src/components/steps/confirmation/TrueRewardsPaymentOption/TrueRewardsLabel.js.map +1 -1
  405. package/dist/src/components/steps/confirmation/TrueRewardsPaymentOption/TrueRewardsModal.d.ts +2 -0
  406. package/dist/src/components/steps/confirmation/TrueRewardsPaymentOption/TrueRewardsModal.js +94 -0
  407. package/dist/src/components/steps/confirmation/TrueRewardsPaymentOption/TrueRewardsModal.js.map +1 -0
  408. package/dist/src/components/steps/confirmation/TrueRewardsPaymentOption/TrueRewardsPaymentMethod.d.ts +5 -1
  409. package/dist/src/components/steps/confirmation/TrueRewardsPaymentOption/TrueRewardsPaymentMethod.js +35 -13
  410. package/dist/src/components/steps/confirmation/TrueRewardsPaymentOption/TrueRewardsPaymentMethod.js.map +1 -1
  411. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffers.d.ts +2 -1
  412. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffers.js +18 -8
  413. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffers.js.map +1 -1
  414. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersColumn.d.ts +2 -1
  415. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersColumn.js +18 -8
  416. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersColumn.js.map +1 -1
  417. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersModal.d.ts +2 -1
  418. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersModal.js +18 -8
  419. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersModal.js.map +1 -1
  420. package/dist/src/components/steps/date/OccupancyWarningBlock.d.ts +2 -1
  421. package/dist/src/components/steps/date/OccupancyWarningBlock.js +1 -1
  422. package/dist/src/components/steps/date/OccupancyWarningBlock.js.map +1 -1
  423. package/dist/src/components/steps/date/PeoplePicker.d.ts +2 -1
  424. package/dist/src/components/steps/date/PeoplePicker.js +20 -10
  425. package/dist/src/components/steps/date/PeoplePicker.js.map +1 -1
  426. package/dist/src/components/steps/date/PeoplePickerRow.d.ts +2 -1
  427. package/dist/src/components/steps/date/PeoplePickerRow.js +19 -9
  428. package/dist/src/components/steps/date/PeoplePickerRow.js.map +1 -1
  429. package/dist/src/components/steps/date/StepDatePricePerRoom.d.ts +2 -1
  430. package/dist/src/components/steps/date/StepDatePricePerRoom.js +18 -8
  431. package/dist/src/components/steps/date/StepDatePricePerRoom.js.map +1 -1
  432. package/dist/src/components/steps/date/StepOneDateRange.d.ts +2 -1
  433. package/dist/src/components/steps/date/StepOneDateRange.js +18 -8
  434. package/dist/src/components/steps/date/StepOneDateRange.js.map +1 -1
  435. package/dist/src/components/steps/date/StepOneDateRangePicker.d.ts +2 -1
  436. package/dist/src/components/steps/date/StepOneDateRangePicker.js +18 -8
  437. package/dist/src/components/steps/date/StepOneDateRangePicker.js.map +1 -1
  438. package/dist/src/components/steps/date/StepOneDateRangePickerLegend.d.ts +2 -1
  439. package/dist/src/components/steps/date/StepOneDateRangePickerLegend.js +18 -8
  440. package/dist/src/components/steps/date/StepOneDateRangePickerLegend.js.map +1 -1
  441. package/dist/src/components/steps/date/StepOneNextStepButton.d.ts +2 -1
  442. package/dist/src/components/steps/date/StepOneNextStepButton.js +18 -8
  443. package/dist/src/components/steps/date/StepOneNextStepButton.js.map +1 -1
  444. package/dist/src/components/steps/date/StepOneStatusPeople.d.ts +2 -1
  445. package/dist/src/components/steps/date/StepOneStatusPeople.js +18 -8
  446. package/dist/src/components/steps/date/StepOneStatusPeople.js.map +1 -1
  447. package/dist/src/components/steps/hotel/HotelCard.d.ts +2 -1
  448. package/dist/src/components/steps/hotel/HotelCard.js +19 -9
  449. package/dist/src/components/steps/hotel/HotelCard.js.map +1 -1
  450. package/dist/src/components/steps/hotel/HotelCardList.d.ts +2 -1
  451. package/dist/src/components/steps/hotel/HotelCardList.js +1 -1
  452. package/dist/src/components/steps/hotel/HotelCardList.js.map +1 -1
  453. package/dist/src/components/steps/hotel/HotelCardModal.d.ts +2 -1
  454. package/dist/src/components/steps/hotel/HotelCardModal.js +17 -7
  455. package/dist/src/components/steps/hotel/HotelCardModal.js.map +1 -1
  456. package/dist/src/components/steps/hotel/HotelInfoPerksRow.d.ts +2 -1
  457. package/dist/src/components/steps/hotel/HotelInfoPerksRow.js +18 -8
  458. package/dist/src/components/steps/hotel/HotelInfoPerksRow.js.map +1 -1
  459. package/dist/src/components/steps/hotel/HotelSearchParameters.d.ts +2 -1
  460. package/dist/src/components/steps/hotel/HotelSearchParameters.js +22 -20
  461. package/dist/src/components/steps/hotel/HotelSearchParameters.js.map +1 -1
  462. package/dist/src/components/steps/hotel/NoHotelsAvailable.d.ts +2 -1
  463. package/dist/src/components/steps/hotel/NoHotelsAvailable.js +1 -1
  464. package/dist/src/components/steps/hotel/NoHotelsAvailable.js.map +1 -1
  465. package/dist/src/components/steps/room/AvailableUpgradesModal.js +118 -37
  466. package/dist/src/components/steps/room/AvailableUpgradesModal.js.map +1 -1
  467. package/dist/src/components/steps/room/ImageGallerySlider.d.ts +2 -1
  468. package/dist/src/components/steps/room/ImageGallerySlider.js +18 -8
  469. package/dist/src/components/steps/room/ImageGallerySlider.js.map +1 -1
  470. package/dist/src/components/steps/room/InactivityWindow.d.ts +2 -1
  471. package/dist/src/components/steps/room/InactivityWindow.js +17 -7
  472. package/dist/src/components/steps/room/InactivityWindow.js.map +1 -1
  473. package/dist/src/components/steps/room/LargeRateCard.d.ts +11 -0
  474. package/dist/src/components/steps/room/LargeRateCard.js +120 -0
  475. package/dist/src/components/steps/room/LargeRateCard.js.map +1 -0
  476. package/dist/src/components/steps/room/LargeRoomCard.d.ts +2 -1
  477. package/dist/src/components/steps/room/LargeRoomCard.js +26 -10
  478. package/dist/src/components/steps/room/LargeRoomCard.js.map +1 -1
  479. package/dist/src/components/steps/room/NoRoomsFoundBlock.d.ts +2 -1
  480. package/dist/src/components/steps/room/NoRoomsFoundBlock.js +18 -8
  481. package/dist/src/components/steps/room/NoRoomsFoundBlock.js.map +1 -1
  482. package/dist/src/components/steps/room/RatesNotFoundBlock.d.ts +2 -1
  483. package/dist/src/components/steps/room/RatesNotFoundBlock.js +1 -1
  484. package/dist/src/components/steps/room/RatesNotFoundBlock.js.map +1 -1
  485. package/dist/src/components/steps/room/RoomList.d.ts +2 -1
  486. package/dist/src/components/steps/room/RoomList.js +18 -8
  487. package/dist/src/components/steps/room/RoomList.js.map +1 -1
  488. package/dist/src/components/steps/room/RoomListAlert.js +17 -7
  489. package/dist/src/components/steps/room/RoomListAlert.js.map +1 -1
  490. package/dist/src/components/steps/room/RoomListCrossSellBlock.js +18 -8
  491. package/dist/src/components/steps/room/RoomListCrossSellBlock.js.map +1 -1
  492. package/dist/src/components/steps/room/RoomModal.d.ts +2 -1
  493. package/dist/src/components/steps/room/RoomModal.js +18 -8
  494. package/dist/src/components/steps/room/RoomModal.js.map +1 -1
  495. package/dist/src/components/steps/room/RoomModalPerkRow.d.ts +2 -1
  496. package/dist/src/components/steps/room/RoomModalPerkRow.js +18 -8
  497. package/dist/src/components/steps/room/RoomModalPerkRow.js.map +1 -1
  498. package/dist/src/components/steps/room/StepRoomAlertBlocks.d.ts +2 -1
  499. package/dist/src/components/steps/room/StepRoomAlertBlocks.js +18 -8
  500. package/dist/src/components/steps/room/StepRoomAlertBlocks.js.map +1 -1
  501. package/dist/src/components/steps/room/StepRoomBestRateAlert.d.ts +2 -1
  502. package/dist/src/components/steps/room/StepRoomBestRateAlert.js +18 -8
  503. package/dist/src/components/steps/room/StepRoomBestRateAlert.js.map +1 -1
  504. package/dist/src/components/steps/room/StepRoomErrorForm.d.ts +2 -1
  505. package/dist/src/components/steps/room/StepRoomErrorForm.js +17 -7
  506. package/dist/src/components/steps/room/StepRoomErrorForm.js.map +1 -1
  507. package/dist/src/components/steps/room/StepRoomHotelDetails.d.ts +2 -1
  508. package/dist/src/components/steps/room/StepRoomHotelDetails.js +18 -8
  509. package/dist/src/components/steps/room/StepRoomHotelDetails.js.map +1 -1
  510. package/dist/src/components/steps/room/StepRoomNextStepButton.js +18 -8
  511. package/dist/src/components/steps/room/StepRoomNextStepButton.js.map +1 -1
  512. package/dist/src/components/steps/room/StepRoomSortBy.d.ts +2 -1
  513. package/dist/src/components/steps/room/StepRoomSortBy.js +18 -8
  514. package/dist/src/components/steps/room/StepRoomSortBy.js.map +1 -1
  515. package/dist/src/components/steps/room/StepRoomSummaryAndButton.d.ts +2 -1
  516. package/dist/src/components/steps/room/StepRoomSummaryAndButton.js +18 -8
  517. package/dist/src/components/steps/room/StepRoomSummaryAndButton.js.map +1 -1
  518. package/dist/src/components/steps/room/TabGroupedRooms/TabGroupedRoomList.d.ts +2 -1
  519. package/dist/src/components/steps/room/TabGroupedRooms/TabGroupedRoomList.js +17 -7
  520. package/dist/src/components/steps/room/TabGroupedRooms/TabGroupedRoomList.js.map +1 -1
  521. package/dist/src/components/steps/room/TabGroupedRooms/TabGroupedRooms.d.ts +2 -1
  522. package/dist/src/components/steps/room/TabGroupedRooms/TabGroupedRooms.js +17 -7
  523. package/dist/src/components/steps/room/TabGroupedRooms/TabGroupedRooms.js.map +1 -1
  524. package/dist/src/components/steps/room/TripteaseLodgingSearchSchema.d.ts +2 -1
  525. package/dist/src/components/steps/room/TripteaseLodgingSearchSchema.js +17 -7
  526. package/dist/src/components/steps/room/TripteaseLodgingSearchSchema.js.map +1 -1
  527. package/dist/src/components/steps/room/UserSearchSummary/PromoCodeVerificationAlert.d.ts +3 -2
  528. package/dist/src/components/steps/room/UserSearchSummary/PromoCodeVerificationAlert.js +19 -8
  529. package/dist/src/components/steps/room/UserSearchSummary/PromoCodeVerificationAlert.js.map +1 -1
  530. package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummary.d.ts +2 -1
  531. package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummary.js +17 -7
  532. package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummary.js.map +1 -1
  533. package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummaryPromocodeInput.d.ts +2 -1
  534. package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummaryPromocodeInput.js +20 -20
  535. package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummaryPromocodeInput.js.map +1 -1
  536. package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummaryRow.d.ts +2 -1
  537. package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummaryRow.js +17 -7
  538. package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummaryRow.js.map +1 -1
  539. package/dist/src/components/steps/room/roomBuilderProgress/NumberOfAdultsPicker.d.ts +2 -1
  540. package/dist/src/components/steps/room/roomBuilderProgress/NumberOfAdultsPicker.js +1 -1
  541. package/dist/src/components/steps/room/roomBuilderProgress/NumberOfAdultsPicker.js.map +1 -1
  542. package/dist/src/components/steps/room/roomBuilderProgress/NumberOfChildrenPicker.d.ts +2 -1
  543. package/dist/src/components/steps/room/roomBuilderProgress/NumberOfChildrenPicker.js +1 -1
  544. package/dist/src/components/steps/room/roomBuilderProgress/NumberOfChildrenPicker.js.map +1 -1
  545. package/dist/src/components/steps/room/roomBuilderProgress/NumberOfInfantsPicker.d.ts +2 -1
  546. package/dist/src/components/steps/room/roomBuilderProgress/NumberOfInfantsPicker.js +1 -1
  547. package/dist/src/components/steps/room/roomBuilderProgress/NumberOfInfantsPicker.js.map +1 -1
  548. package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgress.d.ts +2 -1
  549. package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgress.js +18 -8
  550. package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgress.js.map +1 -1
  551. package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgressRow.d.ts +2 -1
  552. package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgressRow.js +23 -23
  553. package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgressRow.js.map +1 -1
  554. package/dist/src/components/steps/room/roomDetails/RoomDetails.d.ts +2 -1
  555. package/dist/src/components/steps/room/roomDetails/RoomDetails.js +18 -8
  556. package/dist/src/components/steps/room/roomDetails/RoomDetails.js.map +1 -1
  557. package/dist/src/components/steps/room/roomDetails/RoomDetailsBedsBlock.d.ts +2 -1
  558. package/dist/src/components/steps/room/roomDetails/RoomDetailsBedsBlock.js +18 -9
  559. package/dist/src/components/steps/room/roomDetails/RoomDetailsBedsBlock.js.map +1 -1
  560. package/dist/src/components/steps/room/roomDetails/RoomDetailsPerkBlock.d.ts +2 -1
  561. package/dist/src/components/steps/room/roomDetails/RoomDetailsPerkBlock.js +18 -9
  562. package/dist/src/components/steps/room/roomDetails/RoomDetailsPerkBlock.js.map +1 -1
  563. package/dist/src/components/steps/room/roomDetails/RoomDetailsPriceBlock.d.ts +2 -1
  564. package/dist/src/components/steps/room/roomDetails/RoomDetailsPriceBlock.js +18 -8
  565. package/dist/src/components/steps/room/roomDetails/RoomDetailsPriceBlock.js.map +1 -1
  566. package/dist/src/components/steps/room/roomDetails/RoomDetailsRetargeting.js +17 -7
  567. package/dist/src/components/steps/room/roomDetails/RoomDetailsRetargeting.js.map +1 -1
  568. package/dist/src/components/steps/room/roomDetails/roomRates/BookNowButton.d.ts +2 -1
  569. package/dist/src/components/steps/room/roomDetails/roomRates/BookNowButton.js +18 -8
  570. package/dist/src/components/steps/room/roomDetails/roomRates/BookNowButton.js.map +1 -1
  571. package/dist/src/components/steps/room/roomDetails/roomRates/MembersOnlyRow.d.ts +2 -1
  572. package/dist/src/components/steps/room/roomDetails/roomRates/MembersOnlyRow.js +18 -8
  573. package/dist/src/components/steps/room/roomDetails/roomRates/MembersOnlyRow.js.map +1 -1
  574. package/dist/src/components/steps/room/roomDetails/roomRates/PriceBreakdownBlock.d.ts +3 -2
  575. package/dist/src/components/steps/room/roomDetails/roomRates/PriceBreakdownBlock.js +20 -10
  576. package/dist/src/components/steps/room/roomDetails/roomRates/PriceBreakdownBlock.js.map +1 -1
  577. package/dist/src/components/steps/room/roomDetails/roomRates/ReadMoreRoomRateRow.d.ts +2 -1
  578. package/dist/src/components/steps/room/roomDetails/roomRates/ReadMoreRoomRateRow.js +18 -8
  579. package/dist/src/components/steps/room/roomDetails/roomRates/ReadMoreRoomRateRow.js.map +1 -1
  580. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDescriptionTab.d.ts +3 -2
  581. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDescriptionTab.js +20 -10
  582. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDescriptionTab.js.map +1 -1
  583. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDetailsAndPriceBreakdownModal.d.ts +2 -1
  584. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDetailsAndPriceBreakdownModal.js +19 -9
  585. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDetailsAndPriceBreakdownModal.js.map +1 -1
  586. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateListPromotion/RoomRateListPromotion.d.ts +2 -1
  587. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateListPromotion/RoomRateListPromotion.js +17 -7
  588. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateListPromotion/RoomRateListPromotion.js.map +1 -1
  589. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRatePills.d.ts +2 -1
  590. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRatePills.js +18 -8
  591. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRatePills.js.map +1 -1
  592. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateRow.d.ts +2 -1
  593. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateRow.js +18 -8
  594. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateRow.js.map +1 -1
  595. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRates.d.ts +2 -1
  596. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRates.js +18 -8
  597. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRates.js.map +1 -1
  598. package/dist/src/components/steps/room/roomDetails/unavailableRoom/UnavailableRoom.d.ts +2 -1
  599. package/dist/src/components/steps/room/roomDetails/unavailableRoom/UnavailableRoom.js +26 -12
  600. package/dist/src/components/steps/room/roomDetails/unavailableRoom/UnavailableRoom.js.map +1 -1
  601. package/dist/src/components/steps/room/roomFilter/AppliedFiltersBlock.d.ts +2 -1
  602. package/dist/src/components/steps/room/roomFilter/AppliedFiltersBlock.js +18 -8
  603. package/dist/src/components/steps/room/roomFilter/AppliedFiltersBlock.js.map +1 -1
  604. package/dist/src/components/steps/room/roomFilter/RoomFilterOverlay.d.ts +2 -1
  605. package/dist/src/components/steps/room/roomFilter/RoomFilterOverlay.js +18 -8
  606. package/dist/src/components/steps/room/roomFilter/RoomFilterOverlay.js.map +1 -1
  607. package/dist/src/components/steps/room/roomFilter/RoomFilterPriceSlider.d.ts +2 -1
  608. package/dist/src/components/steps/room/roomFilter/RoomFilterPriceSlider.js +18 -8
  609. package/dist/src/components/steps/room/roomFilter/RoomFilterPriceSlider.js.map +1 -1
  610. package/dist/src/components/steps/room/roomFilter/RoomFilterRateType.d.ts +2 -1
  611. package/dist/src/components/steps/room/roomFilter/RoomFilterRateType.js +18 -8
  612. package/dist/src/components/steps/room/roomFilter/RoomFilterRateType.js.map +1 -1
  613. package/dist/src/components/steps/room/roomFilter/RoomFilterRoomType.d.ts +2 -1
  614. package/dist/src/components/steps/room/roomFilter/RoomFilterRoomType.js +18 -8
  615. package/dist/src/components/steps/room/roomFilter/RoomFilterRoomType.js.map +1 -1
  616. package/dist/src/components/summary/BEMapWidget.d.ts +0 -2
  617. package/dist/src/components/summary/BEMapWidget.js +17 -7
  618. package/dist/src/components/summary/BEMapWidget.js.map +1 -1
  619. package/dist/src/components/summary/BEMobileSummary.d.ts +2 -1
  620. package/dist/src/components/summary/BEMobileSummary.js +18 -8
  621. package/dist/src/components/summary/BEMobileSummary.js.map +1 -1
  622. package/dist/src/components/summary/BEMobileSummaryModal.d.ts +2 -1
  623. package/dist/src/components/summary/BEMobileSummaryModal.js +30 -19
  624. package/dist/src/components/summary/BEMobileSummaryModal.js.map +1 -1
  625. package/dist/src/components/summary/BESummary.d.ts +2 -1
  626. package/dist/src/components/summary/BESummary.js +24 -14
  627. package/dist/src/components/summary/BESummary.js.map +1 -1
  628. package/dist/src/components/summary/BESummaryAddonRow.d.ts +2 -1
  629. package/dist/src/components/summary/BESummaryAddonRow.js +30 -16
  630. package/dist/src/components/summary/BESummaryAddonRow.js.map +1 -1
  631. package/dist/src/components/summary/BESummaryPerkBlock.d.ts +2 -1
  632. package/dist/src/components/summary/BESummaryPerkBlock.js +19 -9
  633. package/dist/src/components/summary/BESummaryPerkBlock.js.map +1 -1
  634. package/dist/src/components/summary/BESummaryPrivacyPolicy.d.ts +2 -1
  635. package/dist/src/components/summary/BESummaryPrivacyPolicy.js +18 -8
  636. package/dist/src/components/summary/BESummaryPrivacyPolicy.js.map +1 -1
  637. package/dist/src/components/summary/BESummaryRoomRow.d.ts +2 -1
  638. package/dist/src/components/summary/BESummaryRoomRow.js +19 -9
  639. package/dist/src/components/summary/BESummaryRoomRow.js.map +1 -1
  640. package/dist/src/components/summary/TransportDistanceFromHotelBlock.d.ts +2 -1
  641. package/dist/src/components/summary/TransportDistanceFromHotelBlock.js +18 -8
  642. package/dist/src/components/summary/TransportDistanceFromHotelBlock.js.map +1 -1
  643. package/dist/src/containers/PrivateRoute.js.map +1 -1
  644. package/dist/src/contexts/BasketContext/BasketContext.d.ts +0 -1
  645. package/dist/src/contexts/BasketContext/BasketContextType.d.ts +5 -4
  646. package/dist/src/contexts/BasketContext/BasketContextType.js.map +1 -1
  647. package/dist/src/contexts/BasketContext/BasketContextWrapper.d.ts +1 -1
  648. package/dist/src/contexts/BasketContext/BasketContextWrapper.js +248 -169
  649. package/dist/src/contexts/BasketContext/BasketContextWrapper.js.map +1 -1
  650. package/dist/src/contexts/BookingEngineContext/BookingEngineContext.d.ts +0 -1
  651. package/dist/src/contexts/BookingEngineContext/BookingEngineContextWrapper.d.ts +1 -1
  652. package/dist/src/contexts/BookingEngineContext/BookingEngineContextWrapper.js +18 -9
  653. package/dist/src/contexts/BookingEngineContext/BookingEngineContextWrapper.js.map +1 -1
  654. package/dist/src/contexts/CompanyContext/CompanyContext.d.ts +0 -1
  655. package/dist/src/contexts/CompanyContext/CompanyContextWrapper.d.ts +2 -2
  656. package/dist/src/contexts/CompanyContext/CompanyContextWrapper.js +24 -14
  657. package/dist/src/contexts/CompanyContext/CompanyContextWrapper.js.map +1 -1
  658. package/dist/src/contexts/ConfirmationFormContext.d.ts +1 -1
  659. package/dist/src/contexts/ConfirmationFormContext.js +19 -9
  660. package/dist/src/contexts/ConfirmationFormContext.js.map +1 -1
  661. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContext.d.ts +0 -1
  662. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextTypes.d.ts +2 -1
  663. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextTypes.js.map +1 -1
  664. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextWrapper.js +47 -25
  665. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextWrapper.js.map +1 -1
  666. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepErrorModal.d.ts +2 -1
  667. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepErrorModal.js +17 -7
  668. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepErrorModal.js.map +1 -1
  669. package/dist/src/contexts/ErrorContext.d.ts +1 -1
  670. package/dist/src/contexts/ErrorContext.js +19 -9
  671. package/dist/src/contexts/ErrorContext.js.map +1 -1
  672. package/dist/src/contexts/FullPageEngineContext/EngineBodyLayout.d.ts +2 -1
  673. package/dist/src/contexts/FullPageEngineContext/EngineBodyLayout.js +1 -2
  674. package/dist/src/contexts/FullPageEngineContext/EngineBodyLayout.js.map +1 -1
  675. package/dist/src/contexts/FullPageEngineContext/EnginePageLayout.d.ts +2 -1
  676. package/dist/src/contexts/FullPageEngineContext/EnginePageLayout.js +18 -9
  677. package/dist/src/contexts/FullPageEngineContext/EnginePageLayout.js.map +1 -1
  678. package/dist/src/contexts/FullPageEngineContext/FullPageEngineContext.d.ts +0 -1
  679. package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextWrapper.d.ts +2 -1
  680. package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextWrapper.js +25 -20
  681. package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextWrapper.js.map +1 -1
  682. package/dist/src/contexts/HotelOverridesContext.d.ts +1 -1
  683. package/dist/src/contexts/HotelOverridesContext.js +17 -7
  684. package/dist/src/contexts/HotelOverridesContext.js.map +1 -1
  685. package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContext.d.ts +1 -2
  686. package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContext.js +1 -1
  687. package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContext.js.map +1 -1
  688. package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContextProvider.js +40 -14
  689. package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContextProvider.js.map +1 -1
  690. package/dist/src/contexts/Members/RoomstayMemberContext/RoomstayMemberContext.d.ts +0 -1
  691. package/dist/src/contexts/Members/RoomstayMemberContext/RoomstayMemberContextProvider.js +17 -7
  692. package/dist/src/contexts/Members/RoomstayMemberContext/RoomstayMemberContextProvider.js.map +1 -1
  693. package/dist/src/contexts/ModalContext.d.ts +1 -1
  694. package/dist/src/contexts/ModalContext.js +18 -9
  695. package/dist/src/contexts/ModalContext.js.map +1 -1
  696. package/dist/src/contexts/NotificationContext.d.ts +1 -1
  697. package/dist/src/contexts/NotificationContext.js +19 -9
  698. package/dist/src/contexts/NotificationContext.js.map +1 -1
  699. package/dist/src/engines/BaseEngine.js +1 -1
  700. package/dist/src/engines/BaseEngine.js.map +1 -1
  701. package/dist/src/engines/BookingWizardEngine/BookingWizardEngine.d.ts +1 -4
  702. package/dist/src/engines/BookingWizardEngine/BookingWizardEngine.js.map +1 -1
  703. package/dist/src/engines/BookingWizardEngine/BookingWizardEngineElement.d.ts +2 -1
  704. package/dist/src/engines/BookingWizardEngine/BookingWizardEngineElement.js +1 -3
  705. package/dist/src/engines/BookingWizardEngine/BookingWizardEngineElement.js.map +1 -1
  706. package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngine.js +17 -7
  707. package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngine.js.map +1 -1
  708. package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngineElement.d.ts +2 -1
  709. package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngineElement.js +18 -8
  710. package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngineElement.js.map +1 -1
  711. package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.d.ts +21 -19
  712. package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.js +30 -34
  713. package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.js.map +1 -1
  714. package/dist/src/engines/MemberPortalWidget/MemberPortalWidget.js.map +1 -1
  715. package/dist/src/engines/MemberPortalWidget/MemberPortalWidgetElement.d.ts +2 -1
  716. package/dist/src/engines/MemberPortalWidget/MemberPortalWidgetElement.js +18 -8
  717. package/dist/src/engines/MemberPortalWidget/MemberPortalWidgetElement.js.map +1 -1
  718. package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngineElement.d.ts +2 -1
  719. package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngineElement.js +17 -8
  720. package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngineElement.js.map +1 -1
  721. package/dist/src/events/RoomstayEventManager.js +1 -1
  722. package/dist/src/events/RoomstayEventManager.js.map +1 -1
  723. package/dist/src/events/actions/PlacedBookingEvent.d.ts +1 -1
  724. package/dist/src/events/actions/PlacedBookingEvent.js.map +1 -1
  725. package/dist/src/events/views/CommittedBookingEvent.d.ts +1 -1
  726. package/dist/src/events/views/CommittedBookingEvent.js.map +1 -1
  727. package/dist/src/events/views/RolledBackBookingEvent.d.ts +1 -1
  728. package/dist/src/events/views/RolledBackBookingEvent.js.map +1 -1
  729. package/dist/src/handlers/BasketContextErrorHandler.d.ts +1 -1
  730. package/dist/src/handlers/BasketContextErrorHandler.js.map +1 -1
  731. package/dist/src/handlers/payment/AdyenPaymentHandler.js +17 -7
  732. package/dist/src/handlers/payment/AdyenPaymentHandler.js.map +1 -1
  733. package/dist/src/handlers/payment/PlanpayPaymentHandler.js +17 -7
  734. package/dist/src/handlers/payment/PlanpayPaymentHandler.js.map +1 -1
  735. package/dist/src/handlers/payment/TrueRewardsPaymentHandler.js +8 -5
  736. package/dist/src/handlers/payment/TrueRewardsPaymentHandler.js.map +1 -1
  737. package/dist/src/handlers/payment/VGSMemberPaymentHandler.js.map +1 -1
  738. package/dist/src/handlers/payment/VGSPaymentHandler.js +19 -9
  739. package/dist/src/handlers/payment/VGSPaymentHandler.js.map +1 -1
  740. package/dist/src/hooks/AutoFocusOnSelect.d.ts +23 -2
  741. package/dist/src/hooks/AutoFocusOnSelect.js +3 -3
  742. package/dist/src/hooks/AutoFocusOnSelect.js.map +1 -1
  743. package/dist/src/hooks/BodyClickHook.js.map +1 -1
  744. package/dist/src/hooks/CombineState.d.ts +1 -1
  745. package/dist/src/hooks/ConfirmationQuery.d.ts +4 -0
  746. package/dist/src/hooks/ConfirmationQuery.js +12 -3
  747. package/dist/src/hooks/ConfirmationQuery.js.map +1 -1
  748. package/dist/src/hooks/Currency.js.map +1 -1
  749. package/dist/src/hooks/CurrentHotelHook.js.map +1 -1
  750. package/dist/src/hooks/ElementSortHook.js +17 -7
  751. package/dist/src/hooks/ElementSortHook.js.map +1 -1
  752. package/dist/src/hooks/HistoryConsistentPush.js +1 -2
  753. package/dist/src/hooks/HistoryConsistentPush.js.map +1 -1
  754. package/dist/src/hooks/KeyboardControlOnSelect.d.ts +2 -2
  755. package/dist/src/hooks/KeyboardControlOnSelect.js.map +1 -1
  756. package/dist/src/hooks/LoggedInUserHook.js.map +1 -1
  757. package/dist/src/hooks/Planpay.d.ts +1 -1
  758. package/dist/src/hooks/Query.js +2 -3
  759. package/dist/src/hooks/Query.js.map +1 -1
  760. package/dist/src/hooks/RoomRateAvailabilityListFromApi.js +0 -1
  761. package/dist/src/hooks/RoomRateAvailabilityListFromApi.js.map +1 -1
  762. package/dist/src/hooks/UpdateQueryParameters.js +1 -2
  763. package/dist/src/hooks/UpdateQueryParameters.js.map +1 -1
  764. package/dist/src/hooks/VGSHooks.d.ts +0 -1
  765. package/dist/src/hooks/VGSHooks.js.map +1 -1
  766. package/dist/src/hooks/useCalendarNightStay.js +3 -3
  767. package/dist/src/hooks/useCalendarNightStay.js.map +1 -1
  768. package/dist/src/hooks/useNextStepAction.d.ts +2 -1
  769. package/dist/src/hooks/useNextStepAction.js +21 -11
  770. package/dist/src/hooks/useNextStepAction.js.map +1 -1
  771. package/dist/src/hooks/usePlanpayRawPrice.js.map +1 -1
  772. package/dist/src/hooks/useRateDetails.js.map +1 -1
  773. package/dist/src/hooks/useSearchScopeHook.d.ts +1 -1
  774. package/dist/src/hooks/useSearchScopeHook.js.map +1 -1
  775. package/dist/src/icons/Check.d.ts +2 -1
  776. package/dist/src/index.d.ts +1 -1
  777. package/dist/src/index.js.map +1 -1
  778. package/dist/src/mockApi/AddonAPI.js.map +1 -1
  779. package/dist/src/mockApi/MemberAPI.js +17 -7
  780. package/dist/src/mockApi/MemberAPI.js.map +1 -1
  781. package/dist/src/mockApi/MockAPI.js +5 -5
  782. package/dist/src/mockApi/MockAPI.js.map +1 -1
  783. package/dist/src/mockApi/ReservationAPI.d.ts +1 -1
  784. package/dist/src/mockApi/ReservationAPI.js +18 -8
  785. package/dist/src/mockApi/ReservationAPI.js.map +1 -1
  786. package/dist/src/models/Addon/Addon.d.ts +0 -24
  787. package/dist/src/models/Addon/Addon.js.map +1 -1
  788. package/dist/src/models/Api/HotelDTO.d.ts +3 -2
  789. package/dist/src/models/Api/HotelDTO.js +1 -1
  790. package/dist/src/models/Api/HotelDTO.js.map +1 -1
  791. package/dist/src/models/Api/IEventReservation.d.ts +5 -0
  792. package/dist/src/models/Api/IEventReservation.js.map +1 -1
  793. package/dist/src/models/AppQueryParameters.js +1 -1
  794. package/dist/src/models/AppQueryParameters.js.map +1 -1
  795. package/dist/src/models/BasketAddonRow.js +3 -5
  796. package/dist/src/models/BasketAddonRow.js.map +1 -1
  797. package/dist/src/models/BasketRow.d.ts +63 -9
  798. package/dist/src/models/BasketRow.js +77 -37
  799. package/dist/src/models/BasketRow.js.map +1 -1
  800. package/dist/src/models/BookingWizard/BookingWizardTypes.d.ts +0 -4
  801. package/dist/src/models/BookingWizard/BookingWizardTypes.js.map +1 -1
  802. package/dist/src/models/Client/Hotel/Company.d.ts +2 -0
  803. package/dist/src/models/Client/Hotel/Company.js.map +1 -1
  804. package/dist/src/models/Client/Hotel/DistanceUnitType.types.js +1 -1
  805. package/dist/src/models/Client/Hotel/DistanceUnitType.types.js.map +1 -1
  806. package/dist/src/models/Client/Hotel/Hotel.d.ts +4 -2
  807. package/dist/src/models/Client/Hotel/Hotel.js +1 -1
  808. package/dist/src/models/Client/Hotel/Hotel.js.map +1 -1
  809. package/dist/src/models/Client/Hotel/HotelDataSource.types.js +1 -1
  810. package/dist/src/models/Client/Hotel/HotelDataSource.types.js.map +1 -1
  811. package/dist/src/models/Client/Hotel/WeekdayStartsOn.types.js +1 -1
  812. package/dist/src/models/Client/Hotel/WeekdayStartsOn.types.js.map +1 -1
  813. package/dist/src/models/Confirmation.js +2 -2
  814. package/dist/src/models/Confirmation.js.map +1 -1
  815. package/dist/src/models/CountryCodesAndNumbers.js +3 -3
  816. package/dist/src/models/CountryCodesAndNumbers.js.map +1 -1
  817. package/dist/src/models/Fee.d.ts +1 -9
  818. package/dist/src/models/Fee.js +4 -5
  819. package/dist/src/models/Fee.js.map +1 -1
  820. package/dist/src/models/PaymentCard.js +1 -1
  821. package/dist/src/models/PaymentCard.js.map +1 -1
  822. package/dist/src/models/Room/Filters/BudgetFilter.js.map +1 -1
  823. package/dist/src/models/Room/Filters/RoomTypeFilter.js.map +1 -1
  824. package/dist/src/models/Room/Room.d.ts +2 -0
  825. package/dist/src/models/Room/Room.js.map +1 -1
  826. package/dist/src/models/Room/RoomRate.d.ts +12 -1
  827. package/dist/src/models/Room/RoomRate.js +29 -1
  828. package/dist/src/models/Room/RoomRate.js.map +1 -1
  829. package/dist/src/models/Room/RoomRateNight.d.ts +1 -1
  830. package/dist/src/models/Room/RoomRateNight.js.map +1 -1
  831. package/dist/src/models/RoomstaySession.d.ts +1 -3
  832. package/dist/src/models/RoomstaySession.js.map +1 -1
  833. package/dist/src/pages/account/AccountHome/AccountHomePage.d.ts +2 -1
  834. package/dist/src/pages/account/AccountHome/AccountHomePage.js +18 -8
  835. package/dist/src/pages/account/AccountHome/AccountHomePage.js.map +1 -1
  836. package/dist/src/pages/account/AccountOutlet.d.ts +1 -1
  837. package/dist/src/pages/account/AccountRouter.d.ts +2 -1
  838. package/dist/src/pages/account/AccountRoutes.d.ts +5 -0
  839. package/dist/src/pages/account/AccountRoutes.js +8 -2
  840. package/dist/src/pages/account/AccountRoutes.js.map +1 -1
  841. package/dist/src/pages/account/ChangePassword/AccountChangePasswordPage.d.ts +2 -1
  842. package/dist/src/pages/account/ChangePassword/AccountChangePasswordPage.js +17 -7
  843. package/dist/src/pages/account/ChangePassword/AccountChangePasswordPage.js.map +1 -1
  844. package/dist/src/pages/account/Details/AccountDetailsCardsPage.d.ts +2 -1
  845. package/dist/src/pages/account/Details/AccountDetailsCardsPage.js +17 -7
  846. package/dist/src/pages/account/Details/AccountDetailsCardsPage.js.map +1 -1
  847. package/dist/src/pages/account/Details/AccountDetailsNoCardsPage.js +17 -7
  848. package/dist/src/pages/account/Details/AccountDetailsNoCardsPage.js.map +1 -1
  849. package/dist/src/pages/account/Details/AccountDetailsProfilePage.d.ts +2 -1
  850. package/dist/src/pages/account/Details/AccountDetailsProfilePage.js +17 -7
  851. package/dist/src/pages/account/Details/AccountDetailsProfilePage.js.map +1 -1
  852. package/dist/src/pages/account/Help/AccountHelpPage.d.ts +2 -1
  853. package/dist/src/pages/account/Help/AccountHelpPage.js +17 -7
  854. package/dist/src/pages/account/Help/AccountHelpPage.js.map +1 -1
  855. package/dist/src/pages/account/Reservations/AccountReservationSinglePage.d.ts +2 -1
  856. package/dist/src/pages/account/Reservations/AccountReservationSinglePage.js +38 -13
  857. package/dist/src/pages/account/Reservations/AccountReservationSinglePage.js.map +1 -1
  858. package/dist/src/pages/account/Reservations/AccountReservationsPage.d.ts +2 -1
  859. package/dist/src/pages/account/Reservations/AccountReservationsPage.js +7 -7
  860. package/dist/src/pages/account/Reservations/AccountReservationsPage.js.map +1 -1
  861. package/dist/src/pages/findReservation/FindReservation.d.ts +2 -1
  862. package/dist/src/pages/findReservation/FindReservation.js +19 -9
  863. package/dist/src/pages/findReservation/FindReservation.js.map +1 -1
  864. package/dist/src/pages/findReservation/FindReservationResults.d.ts +2 -1
  865. package/dist/src/pages/findReservation/FindReservationResults.js +20 -10
  866. package/dist/src/pages/findReservation/FindReservationResults.js.map +1 -1
  867. package/dist/src/pages/findReservation/ReservationRow.d.ts +3 -2
  868. package/dist/src/pages/findReservation/ReservationRow.js +18 -8
  869. package/dist/src/pages/findReservation/ReservationRow.js.map +1 -1
  870. package/dist/src/pages/findReservation/ReservationRowModal.d.ts +3 -2
  871. package/dist/src/pages/findReservation/ReservationRowModal.js +18 -8
  872. package/dist/src/pages/findReservation/ReservationRowModal.js.map +1 -1
  873. package/dist/src/pages/hotel/HotelInfo.d.ts +2 -1
  874. package/dist/src/pages/hotel/HotelInfo.js +20 -10
  875. package/dist/src/pages/hotel/HotelInfo.js.map +1 -1
  876. package/dist/src/pages/hotel/HotelInfoPlaceholder.d.ts +2 -1
  877. package/dist/src/pages/hotel/HotelInfoPlaceholder.js +1 -1
  878. package/dist/src/pages/hotel/HotelInfoPlaceholder.js.map +1 -1
  879. package/dist/src/pages/steps/StepAddon/StepAddon.d.ts +1 -1
  880. package/dist/src/pages/steps/StepAddon/StepAddon.js.map +1 -1
  881. package/dist/src/pages/steps/StepAddon/StepAddonComponent.d.ts +2 -1
  882. package/dist/src/pages/steps/StepAddon/StepAddonComponent.js +18 -8
  883. package/dist/src/pages/steps/StepAddon/StepAddonComponent.js.map +1 -1
  884. package/dist/src/pages/steps/StepAddon/StepAddonLoader.d.ts +2 -1
  885. package/dist/src/pages/steps/StepAddon/StepAddonLoader.js +17 -7
  886. package/dist/src/pages/steps/StepAddon/StepAddonLoader.js.map +1 -1
  887. package/dist/src/pages/steps/StepConfirmation/StepConfirmation.js.map +1 -1
  888. package/dist/src/pages/steps/StepConfirmation/StepConfirmationComponent.d.ts +2 -1
  889. package/dist/src/pages/steps/StepConfirmation/StepConfirmationComponent.js +17 -7
  890. package/dist/src/pages/steps/StepConfirmation/StepConfirmationComponent.js.map +1 -1
  891. package/dist/src/pages/steps/StepConfirmation/StepConfirmationLoader.d.ts +2 -1
  892. package/dist/src/pages/steps/StepConfirmation/StepConfirmationLoader.js +18 -8
  893. package/dist/src/pages/steps/StepConfirmation/StepConfirmationLoader.js.map +1 -1
  894. package/dist/src/pages/steps/StepConfirmation/StepConfirmationValidator.js.map +1 -1
  895. package/dist/src/pages/steps/StepDate/StepDate.d.ts +1 -1
  896. package/dist/src/pages/steps/StepDate/StepDate.js.map +1 -1
  897. package/dist/src/pages/steps/StepDate/StepDateComponent.d.ts +2 -1
  898. package/dist/src/pages/steps/StepDate/StepDateComponent.js +17 -7
  899. package/dist/src/pages/steps/StepDate/StepDateComponent.js.map +1 -1
  900. package/dist/src/pages/steps/StepGroupedRoom/StepGroupedRoom.js.map +1 -1
  901. package/dist/src/pages/steps/StepGroupedRoom/StepGroupedRoomComponent.d.ts +2 -1
  902. package/dist/src/pages/steps/StepGroupedRoom/StepGroupedRoomComponent.js +20 -7
  903. package/dist/src/pages/steps/StepGroupedRoom/StepGroupedRoomComponent.js.map +1 -1
  904. package/dist/src/pages/steps/StepGroupedRoom/StepGroupedRoomLoader.d.ts +2 -1
  905. package/dist/src/pages/steps/StepGroupedRoom/StepGroupedRoomLoader.js +18 -8
  906. package/dist/src/pages/steps/StepGroupedRoom/StepGroupedRoomLoader.js.map +1 -1
  907. package/dist/src/pages/steps/StepGuide.d.ts +1 -1
  908. package/dist/src/pages/steps/StepGuide.js +18 -8
  909. package/dist/src/pages/steps/StepGuide.js.map +1 -1
  910. package/dist/src/pages/steps/StepHotel/StepHotel.d.ts +1 -1
  911. package/dist/src/pages/steps/StepHotel/StepHotelComponent.d.ts +2 -1
  912. package/dist/src/pages/steps/StepHotel/StepHotelComponent.js +17 -7
  913. package/dist/src/pages/steps/StepHotel/StepHotelComponent.js.map +1 -1
  914. package/dist/src/pages/steps/StepHotel/StepHotelLoader.d.ts +2 -1
  915. package/dist/src/pages/steps/StepHotel/StepHotelLoader.js +17 -7
  916. package/dist/src/pages/steps/StepHotel/StepHotelLoader.js.map +1 -1
  917. package/dist/src/pages/steps/StepRoom/StepRoom.js.map +1 -1
  918. package/dist/src/pages/steps/StepRoom/StepRoomComponent.d.ts +2 -1
  919. package/dist/src/pages/steps/StepRoom/StepRoomComponent.js +17 -7
  920. package/dist/src/pages/steps/StepRoom/StepRoomComponent.js.map +1 -1
  921. package/dist/src/pages/steps/StepRoom/StepRoomFilters.js +17 -7
  922. package/dist/src/pages/steps/StepRoom/StepRoomFilters.js.map +1 -1
  923. package/dist/src/pages/steps/StepRoom/StepRoomLoader.d.ts +2 -1
  924. package/dist/src/pages/steps/StepRoom/StepRoomLoader.js +18 -8
  925. package/dist/src/pages/steps/StepRoom/StepRoomLoader.js.map +1 -1
  926. package/dist/src/pages/steps/StepRoom/StepRoomValidator.js.map +1 -1
  927. package/dist/src/pages/steps/StepThanks/StepThanks.js.map +1 -1
  928. package/dist/src/pages/steps/StepThanks/StepThanksComponent.d.ts +2 -1
  929. package/dist/src/pages/steps/StepThanks/StepThanksComponent.js +25 -10
  930. package/dist/src/pages/steps/StepThanks/StepThanksComponent.js.map +1 -1
  931. package/dist/src/pages/steps/StepThanks/StepThanksValidator.js.map +1 -1
  932. package/dist/src/providers/CurrencyProvider.js +1 -1
  933. package/dist/src/providers/CurrencyProvider.js.map +1 -1
  934. package/dist/src/providers/DIProvider.d.ts +2 -1
  935. package/dist/src/providers/DIProvider.js +2 -3
  936. package/dist/src/providers/DIProvider.js.map +1 -1
  937. package/dist/src/providers/DistanceProvider.js.map +1 -1
  938. package/dist/src/providers/FeatureProvider.js +3 -1
  939. package/dist/src/providers/FeatureProvider.js.map +1 -1
  940. package/dist/src/providers/FilterProvider.d.ts +1 -1
  941. package/dist/src/providers/FilterProvider.js +3 -3
  942. package/dist/src/providers/FilterProvider.js.map +1 -1
  943. package/dist/src/providers/ImageProvider.js +1 -1
  944. package/dist/src/providers/ImageProvider.js.map +1 -1
  945. package/dist/src/providers/LanguageProvider.js +1 -1
  946. package/dist/src/providers/LanguageProvider.js.map +1 -1
  947. package/dist/src/providers/PromotionProvider.d.ts +1 -1
  948. package/dist/src/providers/PromotionProvider.js.map +1 -1
  949. package/dist/src/providers/RatePillProvider.js.map +1 -1
  950. package/dist/src/providers/RoomSortProvider.js +2 -2
  951. package/dist/src/providers/RoomSortProvider.js.map +1 -1
  952. package/dist/src/providers/RoomstayThemeEngine.js +18 -8
  953. package/dist/src/providers/RoomstayThemeEngine.js.map +1 -1
  954. package/dist/src/providers/feature/DerbysoftClickTrackingFeature.js.map +1 -1
  955. package/dist/src/providers/feature/Feature.d.ts +0 -2
  956. package/dist/src/providers/feature/Feature.js +0 -4
  957. package/dist/src/providers/feature/Feature.js.map +1 -1
  958. package/dist/src/providers/feature/GiftCardFeature.d.ts +13 -0
  959. package/dist/src/providers/feature/GiftCardFeature.js +14 -0
  960. package/dist/src/providers/feature/GiftCardFeature.js.map +1 -0
  961. package/dist/src/providers/feature/GuestTitleFieldFeature.js.map +1 -1
  962. package/dist/src/providers/feature/InlineAddonStepFeature.js.map +1 -1
  963. package/dist/src/providers/feature/MemberPortalFeature.js.map +1 -1
  964. package/dist/src/providers/feature/RoomUpsellFeature.d.ts +10 -0
  965. package/dist/src/providers/feature/RoomUpsellFeature.js +10 -0
  966. package/dist/src/providers/feature/RoomUpsellFeature.js.map +1 -1
  967. package/dist/src/providers/storage/SessionProvider.js +0 -2
  968. package/dist/src/providers/storage/SessionProvider.js.map +1 -1
  969. package/dist/src/providers/storage/StorageProvider.d.ts +1 -1
  970. package/dist/src/providers/storage/StorageProvider.js +17 -7
  971. package/dist/src/providers/storage/StorageProvider.js.map +1 -1
  972. package/dist/src/reducers/BasketReducer.js.map +1 -1
  973. package/dist/src/routes/NaturallyProgressedStepRoute.d.ts +2 -1
  974. package/dist/src/stories/BookingWizard.stories.d.ts +3 -3
  975. package/dist/src/stories/Card.stories.d.ts +3 -5
  976. package/dist/src/stories/CardTypeSelect.stories.d.ts +2 -1
  977. package/dist/src/stories/Checkbox.stories.d.ts +2 -1
  978. package/dist/src/stories/ConfirmationModal.stories.d.ts +2 -1
  979. package/dist/src/stories/ConfirmationModal.stories.js +17 -7
  980. package/dist/src/stories/ConfirmationModal.stories.js.map +1 -1
  981. package/dist/src/stories/DateRangePicker.stories.d.ts +5 -4
  982. package/dist/src/stories/DateRangePicker.stories.js +17 -7
  983. package/dist/src/stories/DateRangePicker.stories.js.map +1 -1
  984. package/dist/src/stories/EnhancedPhoneNumberField.stories.d.ts +2 -1
  985. package/dist/src/stories/ErrorModal.stories.d.ts +2 -1
  986. package/dist/src/stories/ErrorModal.stories.js +17 -7
  987. package/dist/src/stories/ErrorModal.stories.js.map +1 -1
  988. package/dist/src/stories/EventCarousel.stories.d.ts +4 -3
  989. package/dist/src/stories/FloatingDateRangePicker.stories.d.ts +4 -3
  990. package/dist/src/stories/FloatingDateRangePicker.stories.js +17 -7
  991. package/dist/src/stories/FloatingDateRangePicker.stories.js.map +1 -1
  992. package/dist/src/stories/ForwardedSelect.stories.d.ts +2 -1
  993. package/dist/src/stories/Icon.stories.js +17 -7
  994. package/dist/src/stories/Icon.stories.js.map +1 -1
  995. package/dist/src/stories/IconNavCard.stories.d.ts +7 -16
  996. package/dist/src/stories/IconText.stories.js +17 -7
  997. package/dist/src/stories/IconText.stories.js.map +1 -1
  998. package/dist/src/stories/NumberIncrement.stories.d.ts +2 -1
  999. package/dist/src/stories/NumberIncrement.stories.js +17 -7
  1000. package/dist/src/stories/NumberIncrement.stories.js.map +1 -1
  1001. package/dist/src/stories/PasswordBox.stories.d.ts +2 -1
  1002. package/dist/src/stories/PaymentCard.stories.d.ts +4 -2
  1003. package/dist/src/stories/PaymentCardInput.stories.d.ts +2 -1
  1004. package/dist/src/stories/PlanpayButton.stories.d.ts +2 -1
  1005. package/dist/src/stories/RadioButton.stories.d.ts +2 -1
  1006. package/dist/src/stories/RadioButtonGroup.stories.d.ts +5 -5
  1007. package/dist/src/stories/RadioButtonGroup.stories.js +17 -7
  1008. package/dist/src/stories/RadioButtonGroup.stories.js.map +1 -1
  1009. package/dist/src/stories/Select.stories.d.ts +5 -6
  1010. package/dist/src/stories/Select.stories.js +17 -7
  1011. package/dist/src/stories/Select.stories.js.map +1 -1
  1012. package/dist/src/stories/SimpleModal.stories.d.ts +2 -1
  1013. package/dist/src/stories/SimpleModal.stories.js +17 -7
  1014. package/dist/src/stories/SimpleModal.stories.js.map +1 -1
  1015. package/dist/src/stories/Slider.stories.d.ts +4 -8
  1016. package/dist/src/stories/Slider.stories.js +17 -7
  1017. package/dist/src/stories/Slider.stories.js.map +1 -1
  1018. package/dist/src/stories/TabbedModal.stories.d.ts +2 -1
  1019. package/dist/src/stories/TabbedModal.stories.js +17 -7
  1020. package/dist/src/stories/TabbedModal.stories.js.map +1 -1
  1021. package/dist/src/stories/Tabs.stories.d.ts +3 -2
  1022. package/dist/src/stories/Text.stories.d.ts +2 -1
  1023. package/dist/src/stories/TextArea.stories.d.ts +2 -1
  1024. package/dist/src/stories/TextBox.stories.d.ts +2 -1
  1025. package/dist/src/translations/Translation.d.ts +0 -2
  1026. package/dist/src/translations/Translation.js +2 -4
  1027. package/dist/src/translations/Translation.js.map +1 -1
  1028. package/dist/src/translations/languages/en-gb.js +0 -2
  1029. package/dist/src/translations/languages/en-gb.js.map +1 -1
  1030. package/dist/src/util/Analytics/Analytics.d.ts +36 -10
  1031. package/dist/src/util/Analytics/Analytics.js +30 -0
  1032. package/dist/src/util/Analytics/Analytics.js.map +1 -1
  1033. package/dist/src/util/Analytics/GoogleAnalytics4.d.ts +10 -3
  1034. package/dist/src/util/Analytics/GoogleAnalytics4.js +21 -4
  1035. package/dist/src/util/Analytics/GoogleAnalytics4.js.map +1 -1
  1036. package/dist/src/util/Analytics/UniversalAnalytics.d.ts +5 -23
  1037. package/dist/src/util/Analytics/UniversalAnalytics.js +24 -5
  1038. package/dist/src/util/Analytics/UniversalAnalytics.js.map +1 -1
  1039. package/dist/src/util/AsyncAuth.js +17 -7
  1040. package/dist/src/util/AsyncAuth.js.map +1 -1
  1041. package/dist/src/util/CalendarHelper.js +1 -1
  1042. package/dist/src/util/CalendarHelper.js.map +1 -1
  1043. package/dist/src/util/Color.d.ts +1 -1
  1044. package/dist/src/util/Color.js +1 -1
  1045. package/dist/src/util/Color.js.map +1 -1
  1046. package/dist/src/util/CurrencyHelper.js.map +1 -1
  1047. package/dist/src/util/DataLayer.d.ts +9 -3
  1048. package/dist/src/util/DataLayer.js +61 -26
  1049. package/dist/src/util/DataLayer.js.map +1 -1
  1050. package/dist/src/util/Debounce.js +2 -3
  1051. package/dist/src/util/Debounce.js.map +1 -1
  1052. package/dist/src/util/DefaultValueManager.js +1 -1
  1053. package/dist/src/util/DefaultValueManager.js.map +1 -1
  1054. package/dist/src/util/DerbysoftPixel.d.ts +1 -1
  1055. package/dist/src/util/DerbysoftPixel.js +2 -2
  1056. package/dist/src/util/DerbysoftPixel.js.map +1 -1
  1057. package/dist/src/util/EventsHelper.d.ts +2 -2
  1058. package/dist/src/util/EventsHelper.js.map +1 -1
  1059. package/dist/src/util/HotelPerkHelper.js +17 -7
  1060. package/dist/src/util/HotelPerkHelper.js.map +1 -1
  1061. package/dist/src/util/ObjectHelper.d.ts +1 -1
  1062. package/dist/src/util/ObjectHelper.js.map +1 -1
  1063. package/dist/src/util/PaymentCardHelper.js.map +1 -1
  1064. package/dist/src/util/RouteManager.js +1 -1
  1065. package/dist/src/util/RouteManager.js.map +1 -1
  1066. package/dist/src/util/StepManager.js +1 -1
  1067. package/dist/src/util/StepManager.js.map +1 -1
  1068. package/dist/src/util/StringHelper.js.map +1 -1
  1069. package/dist/src/util/TextAlignment.js +1 -1
  1070. package/dist/src/util/TextAlignment.js.map +1 -1
  1071. package/dist/src/util/TimeHelper.js.map +1 -1
  1072. package/dist/test.bundle.js +1 -1
  1073. package/dist/tests/offline/entry/config/hotelSpecDefault.d.ts +2 -1
  1074. package/dist/tests/offline/entry/config/hotelSpecDefault.js +0 -1
  1075. package/dist/tests/offline/entry/config/hotelSpecDefault.js.map +1 -1
  1076. package/dist/vendors.bundle.js +1 -1
  1077. package/package.json +13 -5
  1078. package/dist/380.bundle.js +0 -1
  1079. package/dist/456.bundle.js +0 -1
  1080. package/dist/src/components/generic/BookingWizard/BookingWizardRoomGroupSelector/BookingWizardRoomGroupSelector.d.ts +0 -15
  1081. package/dist/src/components/generic/BookingWizard/BookingWizardRoomGroupSelector/BookingWizardRoomGroupSelector.js +0 -135
  1082. package/dist/src/components/generic/BookingWizard/BookingWizardRoomGroupSelector/BookingWizardRoomGroupSelector.js.map +0 -1
  1083. package/dist/src/models/Api/ReservationsDTO.d.ts +0 -80
  1084. package/dist/src/models/Api/ReservationsDTO.js +0 -3
  1085. package/dist/src/models/Api/ReservationsDTO.js.map +0 -1
  1086. package/dist/src/util/TotalCalculator.d.ts +0 -24
  1087. package/dist/src/util/TotalCalculator.js +0 -157
  1088. package/dist/src/util/TotalCalculator.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"AvailabilityAPI.js","sourceRoot":"/","sources":["src/api/AvailabilityAPI.ts"],"names":[],"mappings":"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","sourcesContent":["import dayjs from 'dayjs';\nimport GetAvailabilityError from 'errors/GetAvailabilityError';\nimport { NoHotelSelectedError } from 'errors/NoHotelSelectedError';\nimport { RoomstayError } from 'errors/RoomstayError';\nimport { BasketContextErrorHandler } from 'handlers/BasketContextErrorHandler';\n\nimport BaseAPI, { API_DATE_FORMAT, APIEndpoint } from '@/api/BaseAPI';\nimport BasketRow from '@/models/BasketRow';\nimport { Room } from '@/models/Room/Room';\nimport { RoomRate } from '@/models/Room/RoomRate';\nimport RoomRateNight from '@/models/Room/RoomRateNight';\nimport RoomstayThemeEngine from '@/providers/RoomstayThemeEngine';\ninterface IPriceByDay {\n [date: string]: number;\n}\ninterface INightStayByDay {\n [date: string]: number;\n}\n\ntype AvailabilityParams = {\n checkInDate: string;\n checkOutDate: string;\n adults: string;\n children: string;\n infants: string;\n promoCode?: string;\n promoOnly?: string;\n roomCode?: string;\n memberNumber?: string;\n includeHotelInfo: string;\n};\n\nexport default class AvailabilityAPI extends BaseAPI {\n public static policyMappings: { guarantee: { [name: string]: string }; cancel: { [name: string]: string } } = { guarantee: {}, cancel: {} };\n public static maxNightPrice = 0;\n public static minNightPrice: number | null = null;\n private roomTypesData: any = null;\n private ratePlansData: any = null;\n private cachedMinNightStay: { [id: string]: any } = {};\n private cachedAvailability: { [id: string]: Room[] };\n private calendar: { [id: string]: IPriceByDay } = {};\n private arrivalMinNightStay: { [id: string]: INightStayByDay } = {};\n private arrivalMaxNightStay: { [id: string]: INightStayByDay } = {};\n private crossSellHotelInfo: { [hotelId: string]: any } = {};\n private calendarWarnings: { [id: string]: string[] } = {};\n private availabilityWarnings: { [id: string]: string[] } = {};\n private rooms: { [code: string]: Room };\n private rates: { [code: string]: RoomRate };\n private fetchDataPromise: { [dateRange: string]: Promise<Room[]> | null } = {};\n private calendarPromises: {\n [id: string]: Promise<{\n prices: IPriceByDay;\n arrivalMinNightStay: INightStayByDay;\n arrivalMaxNightStay: INightStayByDay;\n }>;\n } = {};\n private cachedMidNightStayPromises: { [id: string]: Promise<any> } = {};\n\n public constructor() {\n super();\n\n this.rooms = {};\n this.rates = {};\n\n this.cachedAvailability = {};\n }\n\n public getCrossSellHotelInfo(hotelId: number | string) {\n return this.crossSellHotelInfo[String(hotelId)] ?? {};\n }\n\n public getCheapestPricePerDay = async (\n fromDate: dayjs.Dayjs,\n toDate: dayjs.Dayjs,\n adults: number,\n children: number,\n infants: number,\n promoCode: string,\n roomCode: string,\n hotelId: string,\n memberNumber: string | number = '',\n isCrossSell = false\n ): Promise<{ [date: string]: number }> => {\n let dayPricingData = null;\n if (fromDate === undefined) {\n return {};\n }\n\n try {\n const response = await this.fetchCalendar(fromDate, adults, children, infants, promoCode, roomCode, hotelId, memberNumber, undefined, isCrossSell);\n dayPricingData = response?.prices;\n } catch (ex) {\n if (!(ex instanceof GetAvailabilityError)) {\n throw ex;\n } else {\n return {};\n }\n }\n\n if (!dayPricingData) {\n return {};\n }\n\n const daysBetween = toDate.diff(fromDate, 'day');\n const prices: any = {};\n\n for (let i = 0; i <= daysBetween; i++) {\n const currentDay = fromDate.add(i, 'day');\n prices[currentDay.format(API_DATE_FORMAT)] = dayPricingData[currentDay.format(API_DATE_FORMAT)];\n }\n\n return prices;\n };\n\n public getCheapestPriceForDay = async (\n day: dayjs.Dayjs,\n adults: number,\n children: number,\n infants: number,\n promoCode: string,\n roomCode: string,\n hotelID: string,\n memberNumber: string | number = '',\n parseErrors = true\n ): Promise<{\n price: number;\n perCent: number;\n arrivalMinNightStay: number;\n arrivalMaxNightStay: number;\n } | null> => {\n if (!day || day.isBefore(dayjs(), 'date')) return null;\n\n let dataForQuery = null;\n try {\n dataForQuery = await this.fetchCalendar(day, adults, children, infants, promoCode, roomCode, hotelID, memberNumber, parseErrors, false);\n } catch (ex) {\n console.log(ex);\n }\n\n if (!dataForQuery?.prices) {\n return null;\n }\n\n const priceForDay = dataForQuery.prices[day.format(API_DATE_FORMAT)];\n const arrivalMinNightStay = dataForQuery.arrivalMinNightStay[day.format(API_DATE_FORMAT)];\n const arrivalMaxNightStay = dataForQuery.arrivalMaxNightStay[day.format(API_DATE_FORMAT)];\n\n return {\n price: priceForDay,\n perCent: 0,\n arrivalMinNightStay,\n arrivalMaxNightStay,\n };\n };\n\n public fetchCalendar = async (\n month: dayjs.Dayjs,\n adults: number,\n children: number,\n infants: number,\n promoCode: string,\n roomCode: string,\n hotelId: string,\n memberNumber: number | string = '',\n parseErrors = true,\n isCrossSell = false\n ): Promise<{\n prices: IPriceByDay;\n arrivalMinNightStay: INightStayByDay;\n arrivalMaxNightStay: INightStayByDay;\n } | null> => {\n month = month ?? dayjs();\n\n let fromMonth = month.startOf('month');\n fromMonth = Number(fromMonth.format('M')) % 2 === 0 ? fromMonth.subtract(1, 'month') : (fromMonth = month);\n\n fromMonth = fromMonth.startOf('month');\n\n const now = dayjs();\n if (fromMonth.isBefore(now, 'date')) {\n fromMonth = now;\n }\n\n const toMonth = fromMonth.add(1, 'month').endOf('month');\n\n const fromDatePretty = fromMonth.format(API_DATE_FORMAT);\n const toDatePretty = toMonth.format(API_DATE_FORMAT);\n\n const targetHotel = hotelId;\n\n if (!targetHotel) {\n return null;\n }\n\n const id = this.getQueryID([targetHotel, fromDatePretty, toDatePretty, adults, children, infants, promoCode, roomCode, isCrossSell, memberNumber]);\n\n // Don't parse warnings when we're making a cross-hotel availability request\n if (this.calendar[id] && parseErrors) {\n if (this.calendarWarnings[id]) {\n BasketContextErrorHandler.handleAvailabilityWarnings(this.calendarWarnings[id]);\n } else {\n BasketContextErrorHandler.handlePromoSuccess(promoCode);\n }\n\n return {\n prices: this.calendar[id],\n arrivalMinNightStay: this.arrivalMinNightStay[id],\n arrivalMaxNightStay: this.arrivalMaxNightStay[id],\n };\n }\n\n if (!!this.calendarPromises[id]) {\n return this.calendarPromises[id];\n }\n\n this.calendarPromises[id] = new Promise(async (resolve, reject) => {\n const searchParams: AvailabilityParams = {\n checkInDate: fromDatePretty,\n checkOutDate: toDatePretty,\n adults: `${adults}`,\n children: `${children}`,\n infants: `${infants}`,\n promoCode: `${promoCode}`,\n includeHotelInfo: isCrossSell ? `0` : `1`,\n memberNumber: `${memberNumber}`,\n ...(roomCode ? { roomCode } : {}),\n };\n const queryParams = new URLSearchParams(searchParams);\n\n const apiPath = `${this.getApiPath()}availability/calendar/${targetHotel}?${queryParams.toString()}`;\n\n const response = await fetch(apiPath, {\n credentials: 'omit',\n headers: await BaseAPI.getBaseHeaders(),\n });\n\n if (response.ok) {\n const json = await response.json();\n\n // Don't parse warnings when we're making a cross-hotel availability request\n if (parseErrors) {\n if (json.warnings && json.warnings.length) {\n BasketContextErrorHandler.handleAvailabilityWarnings(json.warnings);\n this.calendarWarnings[id] = json.warnings;\n } else {\n BasketContextErrorHandler.handlePromoSuccess(promoCode);\n }\n }\n\n Object.values(json.prices).forEach((price: any) => {\n if (!AvailabilityAPI.minNightPrice || Number(price) < AvailabilityAPI.minNightPrice) {\n AvailabilityAPI.minNightPrice = Number(price);\n }\n\n if (AvailabilityAPI.maxNightPrice < Number(price)) {\n AvailabilityAPI.maxNightPrice = Number(price);\n }\n });\n\n if (hotelId) {\n this.crossSellHotelInfo[String(hotelId)] = json.hotel;\n }\n this.arrivalMinNightStay[id] = json?.arrivalMinNightStay ?? {};\n this.arrivalMaxNightStay[id] = json?.arrivalMaxNightStay ?? {};\n this.calendar[id] = json.prices;\n resolve({\n prices: this.calendar[id],\n arrivalMinNightStay: this.arrivalMinNightStay[id],\n arrivalMaxNightStay: this.arrivalMaxNightStay[id],\n });\n } else {\n reject(new GetAvailabilityError(fromMonth, toMonth));\n }\n });\n\n return this.calendarPromises[id];\n };\n\n public invalidateAvailability = async (basketRow: BasketRow, hotelId: string) => {\n const today = dayjs();\n\n const adults = basketRow.getAdults();\n const children = basketRow.getChildren();\n const infants = basketRow.getInfants();\n const promoCode = basketRow.getPromoCode();\n const roomCode = basketRow.getRoomCode();\n\n let toDate = basketRow.getEndDate();\n const fromDate = basketRow.getStartDate()?.isBefore(today, 'day') ? today : basketRow.getStartDate();\n\n let oneNightStay = false;\n if (fromDate.isSameOrAfter(toDate, 'date')) {\n oneNightStay = true;\n toDate = fromDate.add(1, 'day');\n }\n\n const id = this.getQueryID([hotelId, fromDate, toDate, adults, children, infants, promoCode, roomCode, RoomstayThemeEngine.selectedLang, oneNightStay]);\n delete this.cachedAvailability[id];\n };\n\n public fetchMinNightStayData = async (basketRow: BasketRow, hotelID: string, memberNumber?: string) => {\n // TODO: refactor this breakdown.\n\n if (!basketRow) {\n return;\n }\n\n if (!hotelID) {\n throw new NoHotelSelectedError();\n }\n\n const today = dayjs();\n\n const adults = basketRow.getAdults();\n const children = basketRow.getChildren();\n const infants = basketRow.getInfants();\n const promoCode = basketRow.getPromoCode();\n const roomCode = basketRow.getRoomCode();\n\n let toDate = basketRow.getEndDate();\n const fromDate = basketRow.getStartDate()?.isBefore(today, 'day') ? today : basketRow.getStartDate();\n\n let oneNightStay = false;\n if (fromDate.isSameOrAfter(toDate, 'date')) {\n oneNightStay = true;\n toDate = fromDate.add(1, 'day');\n }\n\n const id = this.getQueryID([hotelID, fromDate, toDate, adults, children, promoCode, roomCode, RoomstayThemeEngine.selectedLang, oneNightStay, memberNumber]);\n\n if (this.cachedMinNightStay[id]) {\n return this.cachedMinNightStay[id];\n }\n\n if (!!this.cachedMidNightStayPromises[id]) {\n return this.cachedMidNightStayPromises[id];\n }\n\n this.cachedMidNightStayPromises[id] = new Promise(async (resolve) => {\n const json = await this.get(\n APIEndpoint.MinNightStay,\n {\n checkInDate: fromDate,\n checkOutDate: toDate,\n\n adults,\n children,\n infants,\n promoCode,\n memberNumber,\n ...(roomCode ? { roomCode } : {}),\n },\n '',\n hotelID\n );\n\n delete this.cachedMidNightStayPromises[id];\n this.cachedMinNightStay[id] = json;\n\n resolve(this.cachedMinNightStay[id]);\n });\n\n return this.cachedMidNightStayPromises[id];\n };\n\n /**\n * Fetches availability data.\n *\n * @param basketRow - The basket row containing booking details.\n * @param hotelId - The unique identifier of the hotel.\n * @param memberNumber - (Optional) The membership number of the user.\n * @param ignoreRoomFilter - If true, skips sending the room code filter in the API request. Default: false.\n * @returns The fetched availability data.\n */\n public fetchAvailabilityData = async (basketRow: BasketRow, hotelId: string, memberNumber?: string, ignoreRoomFilter = false) => {\n const today = dayjs();\n\n if (!basketRow) {\n return;\n }\n\n const adults = basketRow.getAdults();\n const children = basketRow.getChildren();\n const infants = basketRow.getInfants();\n const promoCode = basketRow.getPromoCode();\n const promoOnly = basketRow.getPromoOnly();\n const enableRoomCodeFilter = basketRow.getEnableRoomCodeFilter();\n // If ignoreRoomFilter true, skips sending the room code filter\n // Otherwise, if the the URL's room parameter is present, send the room code filter\n const roomCodeParam = ignoreRoomFilter ? '' : enableRoomCodeFilter ? basketRow.getRoomCode() : '';\n\n let toDate = basketRow.getEndDate();\n const fromDate = basketRow.getStartDate()?.isBefore(today, 'day') ? today : basketRow.getStartDate();\n\n let oneNightStay = false;\n if (fromDate.isSameOrAfter(toDate, 'date')) {\n oneNightStay = true;\n toDate = fromDate.add(1, 'day');\n }\n\n const id = this.getQueryID([hotelId, fromDate, toDate, adults, children, infants, promoCode, roomCodeParam, RoomstayThemeEngine.selectedLang, oneNightStay, memberNumber]);\n\n // Don't parse warnings when we're making a cross-hotel availability request\n if (this.cachedAvailability[id]) {\n if (this.availabilityWarnings[id]) {\n BasketContextErrorHandler.handleAvailabilityWarnings(this.availabilityWarnings[id]);\n } else {\n BasketContextErrorHandler.handlePromoSuccess(promoCode);\n }\n\n return this.cachedAvailability[id];\n }\n\n if (!!this.fetchDataPromise[id]) {\n return this.fetchDataPromise[id];\n } else {\n this.fetchDataPromise[id] = new Promise<Room[]>(async (resolve, reject) => {\n try {\n const json = await this.get(\n APIEndpoint.Availability,\n {\n checkInDate: fromDate,\n checkOutDate: toDate,\n\n adults,\n children,\n infants,\n promoCode,\n promoOnly,\n memberNumber,\n ...(roomCodeParam ? { roomCode: roomCodeParam } : {}),\n },\n '',\n hotelId\n );\n\n this.fetchDataPromise[id] = null;\n\n const dateToObject = (data: any) => {\n data.validUntil = dayjs(data.validUntil);\n data.cachedSince = dayjs(data.cachedSince);\n\n return data;\n };\n\n if (json.guaranteePolicies) {\n Object.keys(json.guaranteePolicies).map((code) => {\n AvailabilityAPI.policyMappings.guarantee[code] = json.guaranteePolicies[code];\n });\n }\n\n if (json.cancelPolicies) {\n Object.keys(json.cancelPolicies).map((code) => {\n AvailabilityAPI.policyMappings.cancel[code] = json.cancelPolicies[code];\n });\n }\n\n const rooms: { [rate: string]: Room } = {};\n\n if (json.roomTypes) {\n const allRoomsByKey = Object.keys(json.roomTypes);\n if (allRoomsByKey.length) {\n this.roomTypesData = dateToObject(json.roomTypes);\n\n allRoomsByKey.forEach((roomCode: any) => {\n this.roomTypesData[roomCode].code = roomCode;\n this.rooms[roomCode] = Room.fromData(this.roomTypesData[roomCode]);\n this.rooms[roomCode].code = roomCode;\n rooms[roomCode] = this.rooms[roomCode];\n });\n }\n }\n\n if (json.ratePlans) {\n const allRatesByKey = Object.keys(json.ratePlans);\n if (allRatesByKey.length) {\n this.ratePlansData = dateToObject(json.ratePlans);\n\n allRatesByKey.forEach((rateCode: any) => {\n this.ratePlansData[rateCode].code = rateCode;\n\n this.rates[rateCode] = RoomRate.fromData(this.ratePlansData[rateCode]);\n });\n }\n }\n\n if (json.roomNights) {\n const roomNights = json.roomNights;\n\n const allNightsByKey = Object.keys(roomNights);\n\n let first = true;\n if (allNightsByKey.length) {\n allNightsByKey.forEach((date: string) => {\n const day = dayjs(date);\n Object.keys(roomNights[date]).forEach((roomCode: string) => {\n Object.keys(roomNights[date][roomCode].rates).forEach((rateKey) => {\n const nightData = roomNights[date][roomCode].rates[rateKey];\n\n if (first) {\n const rate = RoomRate.fromData(this.ratePlansData[rateKey]);\n rate.code = rateKey;\n rooms[roomCode].addRate(rate);\n }\n\n if (oneNightStay && Object.keys(rooms[roomCode]?.getRate(rateKey)?.nightRates ?? {}).length) {\n return;\n }\n\n const rateNight = new RoomRateNight();\n rateNight.available = roomNights[date][roomCode].available;\n rateNight.cost = nightData.cost;\n rateNight.discount = nightData.discount;\n rateNight.total = nightData.total;\n rateNight.tax = nightData.tax;\n rateNight.fee = nightData.fee;\n rateNight.date = day;\n\n if (nightData.fees) {\n for (const fee of nightData.fees) {\n rateNight.fees.push({ name: fee.name, amount: fee.amount });\n }\n }\n\n (rooms[roomCode].getRate(rateKey) as RoomRate).nightRates[date] = rateNight;\n });\n });\n\n first = false;\n });\n }\n\n const roomArray = Object.values(rooms);\n\n this.cachedAvailability[id] = roomArray;\n resolve(roomArray);\n }\n\n if (json.warnings?.length) {\n this.availabilityWarnings[id] = json.warnings;\n BasketContextErrorHandler.handleAvailabilityWarnings(json.warnings);\n } else {\n BasketContextErrorHandler.handlePromoSuccess(promoCode);\n }\n\n resolve([]);\n } catch (ex) {\n reject();\n }\n }).catch((reason) => {\n throw new RoomstayError('Failed to load calendar availability');\n });\n\n return this.fetchDataPromise[id];\n }\n };\n\n public fetchAvailability = async ({\n fromDate,\n toDate,\n adults,\n children,\n infants,\n promoCode,\n roomCode,\n promoOnly,\n hotelId,\n }: {\n fromDate: dayjs.Dayjs;\n toDate: dayjs.Dayjs;\n adults: number;\n children?: number;\n infants: number;\n promoCode?: string;\n roomCode?: string;\n promoOnly?: boolean;\n hotelId: string;\n }) => {\n if (!fromDate || !toDate) return;\n\n return await this.get(\n APIEndpoint.Availability,\n {\n checkInDate: fromDate,\n checkOutDate: toDate,\n\n adults,\n children,\n infants,\n promoCode,\n promoOnly,\n ...(roomCode ? { roomCode } : {}),\n },\n '',\n hotelId\n );\n };\n\n private getQueryID = (params: any[]) => {\n return params.map((param) => (param && param.format ? param.format(API_DATE_FORMAT) : param)).join('-');\n };\n}\n"]}
1
+ {"version":3,"file":"AvailabilityAPI.js","sourceRoot":"/","sources":["src/api/AvailabilityAPI.ts"],"names":[],"mappings":"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","sourcesContent":["import { EGuaranteePolicyDepositMode, IAvailability, IAvailabilityGuaranteePolicyDetails, IPromoCodeDetails } from '@roomstay/core';\nimport dayjs from 'dayjs';\nimport GetAvailabilityError from 'errors/GetAvailabilityError';\nimport { NoHotelSelectedError } from 'errors/NoHotelSelectedError';\nimport { RoomstayError } from 'errors/RoomstayError';\nimport { BasketContextErrorHandler } from 'handlers/BasketContextErrorHandler';\n\nimport BaseAPI, { API_DATE_FORMAT, APIEndpoint } from '@/api/BaseAPI';\nimport BasketRow, { EPromoCodeStatus } from '@/models/BasketRow';\nimport { Room } from '@/models/Room/Room';\nimport { RoomRate } from '@/models/Room/RoomRate';\nimport RoomRateNight from '@/models/Room/RoomRateNight';\nimport RoomstayThemeEngine from '@/providers/RoomstayThemeEngine';\ninterface IPriceByDay {\n [date: string]: number;\n}\ninterface INightStayByDay {\n [date: string]: number;\n}\n\ntype AvailabilityParams = {\n checkInDate: string;\n checkOutDate: string;\n adults: string;\n children: string;\n infants: string;\n promoCode?: string;\n promoOnly?: string;\n roomCode?: string;\n memberNumber?: string;\n includeHotelInfo: string;\n};\n\ntype NullableAvailabilityGuaranteePolicyDetails = Omit<IAvailabilityGuaranteePolicyDetails, 'depositMode'> & {\n depositMode: EGuaranteePolicyDepositMode | null;\n};\n\nexport default class AvailabilityAPI extends BaseAPI {\n public static policyMappings: { guarantee: { [name: string]: NullableAvailabilityGuaranteePolicyDetails }; cancel: { [name: string]: string } } = { guarantee: {}, cancel: {} };\n public static maxNightPrice = 0;\n public static minNightPrice: number | null = null;\n private roomTypesData: any = null;\n private ratePlansData: any = null;\n private cachedMinNightStay: { [id: string]: any } = {};\n private cachedAvailability: { [id: string]: Room[] };\n private cachedHasMinStayUpsellOpportunities: { [id: string]: boolean } = {};\n private calendar: { [id: string]: IPriceByDay } = {};\n private arrivalMinNightStay: { [id: string]: INightStayByDay } = {};\n private arrivalMaxNightStay: { [id: string]: INightStayByDay } = {};\n private crossSellHotelInfo: { [hotelId: string]: any } = {};\n private calendarWarnings: { [id: string]: string[] } = {};\n private availabilityWarnings: { [id: string]: string[] } = {};\n private rooms: { [code: string]: Room };\n private rates: { [code: string]: RoomRate };\n private fetchDataPromise: { [dateRange: string]: Promise<Room[]> | null } = {};\n private calendarPromises: {\n [id: string]: Promise<{\n prices: IPriceByDay;\n arrivalMinNightStay: INightStayByDay;\n arrivalMaxNightStay: INightStayByDay;\n }>;\n } = {};\n private cachedMidNightStayPromises: { [id: string]: Promise<any> } = {};\n private promoCodeDetails: { [code: string]: IPromoCodeDetails } = {};\n\n public constructor() {\n super();\n\n this.rooms = {};\n this.rates = {};\n\n this.cachedAvailability = {};\n }\n\n public getCrossSellHotelInfo(hotelId: number | string) {\n return this.crossSellHotelInfo[String(hotelId)] ?? {};\n }\n\n public getCheapestPricePerDay = async (\n fromDate: dayjs.Dayjs,\n toDate: dayjs.Dayjs,\n adults: number,\n children: number,\n infants: number,\n promoCode: string,\n roomCode: string,\n hotelId: string,\n memberNumber: string | number = '',\n isCrossSell = false\n ): Promise<{ [date: string]: number }> => {\n let dayPricingData = null;\n if (fromDate === undefined) {\n return {};\n }\n\n try {\n const response = await this.fetchCalendar(fromDate, adults, children, infants, promoCode, roomCode, hotelId, memberNumber, undefined, isCrossSell);\n dayPricingData = response?.prices;\n } catch (ex) {\n if (!(ex instanceof GetAvailabilityError)) {\n throw ex;\n } else {\n return {};\n }\n }\n\n if (!dayPricingData) {\n return {};\n }\n\n const daysBetween = toDate.diff(fromDate, 'day');\n const prices: any = {};\n\n for (let i = 0; i <= daysBetween; i++) {\n const currentDay = fromDate.add(i, 'day');\n prices[currentDay.format(API_DATE_FORMAT)] = dayPricingData[currentDay.format(API_DATE_FORMAT)];\n }\n\n return prices;\n };\n\n public getCheapestPriceForDay = async (\n day: dayjs.Dayjs,\n adults: number,\n children: number,\n infants: number,\n promoCode: string,\n roomCode: string,\n hotelID: string,\n memberNumber: string | number = '',\n parseErrors = true\n ): Promise<{\n price: number;\n perCent: number;\n arrivalMinNightStay: number;\n arrivalMaxNightStay: number;\n } | null> => {\n if (!day || day.isBefore(dayjs(), 'date')) return null;\n\n let dataForQuery = null;\n try {\n dataForQuery = await this.fetchCalendar(day, adults, children, infants, promoCode, roomCode, hotelID, memberNumber, parseErrors, false);\n } catch (ex) {\n console.log(ex);\n }\n\n if (!dataForQuery?.prices) {\n return null;\n }\n\n const priceForDay = dataForQuery.prices[day.format(API_DATE_FORMAT)];\n const arrivalMinNightStay = dataForQuery.arrivalMinNightStay[day.format(API_DATE_FORMAT)];\n const arrivalMaxNightStay = dataForQuery.arrivalMaxNightStay[day.format(API_DATE_FORMAT)];\n\n return {\n price: priceForDay,\n perCent: 0,\n arrivalMinNightStay,\n arrivalMaxNightStay,\n };\n };\n\n public fetchCalendar = async (\n month: dayjs.Dayjs,\n adults: number,\n children: number,\n infants: number,\n promoCode: string,\n roomCode: string,\n hotelId: string,\n memberNumber: number | string = '',\n parseErrors = true,\n isCrossSell = false\n ): Promise<{\n prices: IPriceByDay;\n arrivalMinNightStay: INightStayByDay;\n arrivalMaxNightStay: INightStayByDay;\n } | null> => {\n month = month ?? dayjs();\n\n let fromMonth = month.startOf('month');\n fromMonth = Number(fromMonth.format('M')) % 2 === 0 ? fromMonth.subtract(1, 'month') : (fromMonth = month);\n\n fromMonth = fromMonth.startOf('month');\n\n const now = dayjs();\n if (fromMonth.isBefore(now, 'date')) {\n fromMonth = now;\n }\n\n const toMonth = fromMonth.add(1, 'month').endOf('month');\n\n const fromDatePretty = fromMonth.format(API_DATE_FORMAT);\n const toDatePretty = toMonth.format(API_DATE_FORMAT);\n\n const targetHotel = hotelId;\n\n if (!targetHotel) {\n return null;\n }\n\n const id = this.getQueryID([targetHotel, fromDatePretty, toDatePretty, adults, children, infants, promoCode, roomCode, isCrossSell, memberNumber]);\n\n // Don't parse warnings when we're making a cross-hotel availability request\n if (this.calendar[id] && parseErrors) {\n if (this.calendarWarnings[id]) {\n BasketContextErrorHandler.handleAvailabilityWarnings(this.calendarWarnings[id]);\n } else {\n BasketContextErrorHandler.handlePromoSuccess(promoCode);\n }\n\n return {\n prices: this.calendar[id],\n arrivalMinNightStay: this.arrivalMinNightStay[id],\n arrivalMaxNightStay: this.arrivalMaxNightStay[id],\n };\n }\n\n if (!!this.calendarPromises[id]) {\n return this.calendarPromises[id];\n }\n\n this.calendarPromises[id] = new Promise(async (resolve, reject) => {\n const searchParams: AvailabilityParams = {\n checkInDate: fromDatePretty,\n checkOutDate: toDatePretty,\n adults: `${adults}`,\n children: `${children}`,\n infants: `${infants}`,\n promoCode: `${promoCode}`,\n includeHotelInfo: isCrossSell ? `0` : `1`,\n memberNumber: `${memberNumber}`,\n ...(roomCode ? { roomCode } : {}),\n };\n\n const queryParams = new URLSearchParams(searchParams);\n\n const apiPath = `${this.getApiPath()}availability/calendar/${targetHotel}?${queryParams.toString()}`;\n\n const response = await fetch(apiPath, {\n credentials: 'omit',\n headers: await BaseAPI.getBaseHeaders(),\n });\n\n if (response.ok) {\n const json = await response.json();\n\n // Don't parse warnings when we're making a cross-hotel availability request\n if (parseErrors) {\n if (json.warnings && json.warnings.length) {\n BasketContextErrorHandler.handleAvailabilityWarnings(json.warnings);\n this.calendarWarnings[id] = json.warnings;\n } else {\n BasketContextErrorHandler.handlePromoSuccess(promoCode);\n }\n }\n\n Object.values(json.prices).forEach((price: any) => {\n if (!AvailabilityAPI.minNightPrice || Number(price) < AvailabilityAPI.minNightPrice) {\n AvailabilityAPI.minNightPrice = Number(price);\n }\n\n if (AvailabilityAPI.maxNightPrice < Number(price)) {\n AvailabilityAPI.maxNightPrice = Number(price);\n }\n });\n\n if (hotelId) {\n this.crossSellHotelInfo[String(hotelId)] = json.hotel;\n }\n this.arrivalMinNightStay[id] = json?.arrivalMinNightStay ?? {};\n this.arrivalMaxNightStay[id] = json?.arrivalMaxNightStay ?? {};\n this.calendar[id] = json.prices;\n resolve({\n prices: this.calendar[id],\n arrivalMinNightStay: this.arrivalMinNightStay[id],\n arrivalMaxNightStay: this.arrivalMaxNightStay[id],\n });\n } else {\n reject(new GetAvailabilityError(fromMonth, toMonth));\n }\n });\n\n return this.calendarPromises[id];\n };\n\n public invalidateAvailability = async (basketRow: BasketRow, hotelId: string) => {\n const today = dayjs();\n\n const adults = basketRow.getAdults();\n const children = basketRow.getChildren();\n const infants = basketRow.getInfants();\n const promoCode = basketRow.getPromoCode();\n const roomCode = basketRow.getRoomCode();\n\n let toDate = basketRow.getEndDate();\n const fromDate = basketRow.getStartDate()?.isBefore(today, 'day') ? today : basketRow.getStartDate();\n\n let oneNightStay = false;\n if (fromDate.isSameOrAfter(toDate, 'date')) {\n oneNightStay = true;\n toDate = fromDate.add(1, 'day');\n }\n\n const id = this.getQueryID([hotelId, fromDate, toDate, adults, children, infants, promoCode, roomCode, RoomstayThemeEngine.selectedLang, oneNightStay]);\n delete this.cachedAvailability[id];\n };\n\n public fetchMinNightStayData = async (basketRow: BasketRow, hotelID: string, memberNumber?: string) => {\n // TODO: refactor this breakdown.\n\n if (!basketRow) {\n return;\n }\n\n if (!hotelID) {\n throw new NoHotelSelectedError();\n }\n\n const today = dayjs();\n\n const adults = basketRow.getAdults();\n const children = basketRow.getChildren();\n const infants = basketRow.getInfants();\n const promoCode = basketRow.getPromoCode();\n const roomCode = basketRow.getRoomCode();\n\n let toDate = basketRow.getEndDate();\n const fromDate = basketRow.getStartDate()?.isBefore(today, 'day') ? today : basketRow.getStartDate();\n\n let oneNightStay = false;\n if (fromDate.isSameOrAfter(toDate, 'date')) {\n oneNightStay = true;\n toDate = fromDate.add(1, 'day');\n }\n\n const id = this.getQueryID([hotelID, fromDate, toDate, adults, children, promoCode, roomCode, RoomstayThemeEngine.selectedLang, oneNightStay, memberNumber]);\n\n if (this.cachedMinNightStay[id]) {\n return this.cachedMinNightStay[id];\n }\n\n if (!!this.cachedMidNightStayPromises[id]) {\n return this.cachedMidNightStayPromises[id];\n }\n\n this.cachedMidNightStayPromises[id] = new Promise(async (resolve) => {\n const json = await this.get(\n APIEndpoint.MinNightStay,\n {\n checkInDate: fromDate,\n checkOutDate: toDate,\n\n adults,\n children,\n infants,\n promoCode,\n memberNumber,\n ...(roomCode ? { roomCode } : {}),\n },\n '',\n hotelID\n );\n\n delete this.cachedMidNightStayPromises[id];\n this.cachedMinNightStay[id] = json;\n\n resolve(this.cachedMinNightStay[id]);\n });\n\n return this.cachedMidNightStayPromises[id];\n };\n\n /**\n * Check if minimum stay upsell opportunities exist.\n */\n public hasMinStayUpsellOpportunities(basketRow: BasketRow, hotelId: string, memberNumber?: string): boolean {\n const params = this.getQueryIDParams(basketRow, hotelId, memberNumber);\n const id = this.getQueryID(params);\n\n return this.cachedHasMinStayUpsellOpportunities[id] || false;\n }\n\n /**\n * Fetches availability data with minimum stay extensions.\n * This is used for finding upsell opportunities that require extending the stay.\n */\n public fetchMinimumStayExtensions = async (basketRow: BasketRow, hotelId: string, memberNumber?: string) => {\n return this.fetchAvailabilityData(basketRow, hotelId, memberNumber, false, false, true);\n };\n\n /**\n * Fetches availability data.\n *\n * @param basketRow - The basket row containing booking details.\n * @param hotelId - The unique identifier of the hotel.\n * @param memberNumber - (Optional) The membership number of the user.\n * @param ignoreRoomFilter - If true, skips sending the room code filter in the API request. Default: false.\n * @param eager - If true, returns alternative availability if selected dates are unavailable\n * @param findMinStayExtensions - If true, returns availability for extended dates to meet minimum stay requirements. Default: false.\n * @returns The fetched availability data.\n */\n public fetchAvailabilityData = async (basketRow: BasketRow, hotelId: string, memberNumber?: string, ignoreRoomFilter = false, eager = false, findMinStayExtensions = false) => {\n const today = dayjs();\n\n if (!basketRow) {\n return;\n }\n\n const adults = basketRow.getAdults();\n const children = basketRow.getChildren();\n const infants = basketRow.getInfants();\n const promoCode = basketRow.getPromoCodeStatus() === EPromoCodeStatus.Forbidden ? '' : basketRow.getPromoCode();\n const promoOnly = basketRow.getPromoOnly();\n const enableRoomCodeFilter = basketRow.getEnableRoomCodeFilter();\n // If ignoreRoomFilter true, skips sending the room code filter\n // Otherwise, if the the URL's room parameter is present, send the room code filter\n const roomCodeParam = ignoreRoomFilter ? '' : enableRoomCodeFilter ? basketRow.getRoomCode() : '';\n\n let toDate = basketRow.getEndDate();\n const fromDate = basketRow.getStartDate()?.isBefore(today, 'day') ? today : basketRow.getStartDate();\n\n let oneNightStay = false;\n if (fromDate.isSameOrAfter(toDate, 'date')) {\n oneNightStay = true;\n toDate = fromDate.add(1, 'day');\n }\n\n const id = this.getQueryID([\n hotelId,\n fromDate,\n toDate,\n adults,\n children,\n infants,\n promoCode,\n roomCodeParam,\n RoomstayThemeEngine.selectedLang,\n oneNightStay,\n memberNumber,\n findMinStayExtensions,\n ]);\n\n // Don't parse warnings when we're making a cross-hotel availability request\n if (this.cachedAvailability[id]) {\n if (this.availabilityWarnings[id]) {\n BasketContextErrorHandler.handleAvailabilityWarnings(this.availabilityWarnings[id]);\n } else {\n const promoCodeDetails = this.promoCodeDetails[promoCode];\n BasketContextErrorHandler.handlePromoSuccess(promoCode, promoCodeDetails?.oneTimeUseOnly);\n }\n\n return this.cachedAvailability[id];\n }\n\n if (!!this.fetchDataPromise[id]) {\n return this.fetchDataPromise[id];\n } else {\n this.fetchDataPromise[id] = new Promise<Room[]>(async (resolve, reject) => {\n try {\n const json: IAvailability = await this.get(\n APIEndpoint.Availability,\n {\n checkInDate: fromDate,\n checkOutDate: toDate,\n\n adults,\n children,\n infants,\n promoCode,\n promoOnly,\n memberNumber,\n ...(eager && { searchType: 'eager' }),\n ...(roomCodeParam ? { roomCode: roomCodeParam } : {}),\n ...(findMinStayExtensions ? { findMinStayExtensions: 'true' } : {}),\n },\n '',\n hotelId\n );\n\n this.fetchDataPromise[id] = null;\n\n if (eager && json.alternativeAvailability) {\n // There was no availability for the currently selected dates, but we eagerly searched and found alternative dates with availability.\n\n const roomArray = this.parseRoomsFromAvailability(json.alternativeAvailability.availability, oneNightStay);\n\n const checkInDate = json.alternativeAvailability.checkInDate;\n const checkOutDate = json.alternativeAvailability.checkOutDate;\n\n basketRow.setStartDate(dayjs(checkInDate));\n basketRow.setEndDate(dayjs(checkOutDate));\n\n resolve(roomArray);\n return;\n }\n\n const roomArray = this.parseRoomsFromAvailability(json, oneNightStay);\n\n this.cachedAvailability[id] = roomArray;\n this.cachedHasMinStayUpsellOpportunities[id] = json.hasMinStayUpsellOpportunities || false;\n\n resolve(roomArray);\n\n if (json.warnings?.length) {\n this.availabilityWarnings[id] = json.warnings.map((warning) => warning.message);\n BasketContextErrorHandler.handleAvailabilityWarnings(json.warnings);\n } else {\n if (json.promoCodeDetails) {\n this.promoCodeDetails[promoCode] = json.promoCodeDetails;\n }\n BasketContextErrorHandler.handlePromoSuccess(promoCode, json.promoCodeDetails?.oneTimeUseOnly);\n }\n\n resolve([]);\n } catch (ex) {\n reject();\n }\n }).catch((reason) => {\n throw new RoomstayError('Failed to load calendar availability');\n });\n\n return this.fetchDataPromise[id];\n }\n };\n\n // TODO: Add a type for the JSON response\n private parseRoomsFromAvailability(json: any, oneNightStay = false): Room[] {\n const dateToObject = (data: any) => {\n data.validUntil = dayjs(data.validUntil);\n data.cachedSince = dayjs(data.cachedSince);\n\n return data;\n };\n\n Object.keys(json.guaranteePolicies).map((code) => {\n if (json.guaranteePolicyDetails?.[code]?.depositMode) {\n AvailabilityAPI.policyMappings.guarantee[code] = json.guaranteePolicyDetails[code];\n } else {\n // For backward compatibility and SynXis\n AvailabilityAPI.policyMappings.guarantee[code] = {\n code,\n name: code,\n longDescription: json.guaranteePolicies[code],\n hide: false,\n depositMode: null,\n };\n }\n });\n\n if (json.cancelPolicies) {\n Object.keys(json.cancelPolicies).map((code) => {\n AvailabilityAPI.policyMappings.cancel[code] = json.cancelPolicies[code];\n });\n }\n\n const rooms: { [rate: string]: Room } = {};\n\n if (json.roomTypes) {\n const allRoomsByKey = Object.keys(json.roomTypes);\n if (allRoomsByKey.length) {\n this.roomTypesData = dateToObject(json.roomTypes);\n\n allRoomsByKey.forEach((roomCode: any) => {\n this.roomTypesData[roomCode].code = roomCode;\n this.rooms[roomCode] = Room.fromData(this.roomTypesData[roomCode]);\n this.rooms[roomCode].code = roomCode;\n rooms[roomCode] = this.rooms[roomCode];\n });\n }\n }\n\n if (json.ratePlans) {\n const allRatesByKey = Object.keys(json.ratePlans);\n if (allRatesByKey.length) {\n this.ratePlansData = dateToObject(json.ratePlans);\n\n allRatesByKey.forEach((rateCode: any) => {\n this.ratePlansData[rateCode].code = rateCode;\n\n this.rates[rateCode] = RoomRate.fromData(this.ratePlansData[rateCode]);\n });\n }\n }\n\n if (json.roomNights) {\n const roomNights = json.roomNights;\n\n const allNightsByKey = Object.keys(roomNights);\n\n let first = true;\n if (allNightsByKey.length) {\n allNightsByKey.forEach((date: string) => {\n const day = dayjs(date);\n Object.keys(roomNights[date]).forEach((roomCode: string) => {\n Object.keys(roomNights[date][roomCode].rates).forEach((rateKey) => {\n const nightData = roomNights[date][roomCode].rates[rateKey];\n\n if (first) {\n const rate = RoomRate.fromData(this.ratePlansData[rateKey]);\n rate.code = rateKey;\n rooms[roomCode].addRate(rate);\n }\n\n if (oneNightStay && Object.keys(rooms[roomCode]?.getRate(rateKey)?.nightRates ?? {}).length) {\n return;\n }\n\n const rateNight = new RoomRateNight();\n rateNight.available = roomNights[date][roomCode].available.toString();\n rateNight.cost = nightData.cost.toString();\n rateNight.discount = nightData.discount.toString();\n rateNight.total = nightData.total.toString();\n rateNight.tax = nightData.tax.toString();\n rateNight.fee = nightData.fee.toString();\n rateNight.date = day;\n\n if (nightData.fees) {\n for (const fee of nightData.fees) {\n rateNight.fees.push({ name: fee.name, amount: fee.amount });\n }\n }\n\n (rooms[roomCode].getRate(rateKey) as RoomRate).nightRates[date] = rateNight;\n });\n });\n\n first = false;\n });\n }\n\n return Object.values(rooms);\n }\n\n return [];\n }\n\n public fetchAvailability = async ({\n fromDate,\n toDate,\n adults,\n children,\n infants,\n promoCode,\n roomCode,\n promoOnly,\n hotelId,\n }: {\n fromDate: dayjs.Dayjs;\n toDate: dayjs.Dayjs;\n adults: number;\n children?: number;\n infants: number;\n promoCode?: string;\n roomCode?: string;\n promoOnly?: boolean;\n hotelId: string;\n }) => {\n if (!fromDate || !toDate) return;\n\n return await this.get(\n APIEndpoint.Availability,\n {\n checkInDate: fromDate,\n checkOutDate: toDate,\n\n adults,\n children,\n infants,\n promoCode,\n promoOnly,\n ...(roomCode ? { roomCode } : {}),\n },\n '',\n hotelId\n );\n };\n\n /**\n * TODO: This logic is repeated multiple times throughout this file, we should try and refactor parts of this file to use this function.\n */\n private getQueryIDParams(basketRow: BasketRow, hotelId: string, memberNumber?: string, ignoreRoomFilter = false, findMinStayExtensions = false) {\n const today = dayjs();\n\n const adults = basketRow.getAdults();\n const children = basketRow.getChildren();\n const infants = basketRow.getInfants();\n const promoCode = basketRow.getPromoCode();\n const enableRoomCodeFilter = basketRow.getEnableRoomCodeFilter();\n const roomCodeParam = ignoreRoomFilter ? '' : enableRoomCodeFilter ? basketRow.getRoomCode() : '';\n\n let toDate = basketRow.getEndDate();\n const fromDate = basketRow.getStartDate()?.isBefore(today, 'day') ? today : basketRow.getStartDate();\n\n let oneNightStay = false;\n if (fromDate.isSameOrAfter(toDate, 'date')) {\n oneNightStay = true;\n toDate = fromDate.add(1, 'day');\n }\n\n return [\n hotelId,\n fromDate,\n toDate,\n adults,\n children,\n infants,\n promoCode,\n roomCodeParam,\n RoomstayThemeEngine.selectedLang,\n oneNightStay,\n memberNumber,\n findMinStayExtensions,\n ];\n }\n\n private getQueryID = (params: any[]) => {\n return params.map((param) => (param && param.format ? param.format(API_DATE_FORMAT) : param)).join('-');\n };\n}\n"]}
@@ -28,12 +28,12 @@ var APIEndpoint;
28
28
  APIEndpoint["Packages"] = "packages";
29
29
  APIEndpoint["Member"] = "member";
30
30
  APIEndpoint["Session"] = "session";
31
- })(APIEndpoint = exports.APIEndpoint || (exports.APIEndpoint = {}));
31
+ })(APIEndpoint || (exports.APIEndpoint = APIEndpoint = {}));
32
32
  class BaseAPI {
33
33
  constructor() {
34
- this.post = (endpoint, params, hotelID, getParams, extraPath = '') => __awaiter(this, void 0, void 0, function* () { return this.postOrDeleteOrUpdate('POST', endpoint, params, getParams, extraPath, hotelID); });
35
- this.delete = (endpoint, params, hotelID, getParams, extraPath = '') => __awaiter(this, void 0, void 0, function* () { return this.postOrDeleteOrUpdate('DELETE', endpoint, params, getParams, extraPath, hotelID); });
36
- this.get = (endpoint, params, extraPath = '', hotelId) => __awaiter(this, void 0, void 0, function* () {
34
+ this.post = (endpoint_1, params_1, hotelID_1, getParams_1, ...args_1) => __awaiter(this, [endpoint_1, params_1, hotelID_1, getParams_1, ...args_1], void 0, function* (endpoint, params, hotelID, getParams, extraPath = '') { return this.postOrDeleteOrUpdate('POST', endpoint, params, getParams, extraPath, hotelID); });
35
+ this.delete = (endpoint_1, params_1, hotelID_1, getParams_1, ...args_1) => __awaiter(this, [endpoint_1, params_1, hotelID_1, getParams_1, ...args_1], void 0, function* (endpoint, params, hotelID, getParams, extraPath = '') { return this.postOrDeleteOrUpdate('DELETE', endpoint, params, getParams, extraPath, hotelID); });
36
+ this.get = (endpoint_1, params_1, ...args_1) => __awaiter(this, [endpoint_1, params_1, ...args_1], void 0, function* (endpoint, params, extraPath = '', hotelId) {
37
37
  if (!params.language) {
38
38
  params.language = RoomstayThemeEngine_1.default.selectedLang;
39
39
  }
@@ -52,7 +52,7 @@ class BaseAPI {
52
52
  this.getUrl = (endpoint, hotelId) => {
53
53
  return `${this.getApiPath()}${endpoint}/${hotelId ? `${hotelId}/` : ''}`;
54
54
  };
55
- this.postOrDeleteOrUpdate = (method, endpoint, params, getParams = {}, extraPath = '', hotelID) => __awaiter(this, void 0, void 0, function* () {
55
+ this.postOrDeleteOrUpdate = (method_1, endpoint_1, params_1, ...args_1) => __awaiter(this, [method_1, endpoint_1, params_1, ...args_1], void 0, function* (method, endpoint, params, getParams = {}, extraPath = '', hotelID) {
56
56
  if (!getParams.language) {
57
57
  getParams.language = RoomstayThemeEngine_1.default.selectedLang;
58
58
  }
@@ -124,6 +124,6 @@ class BaseAPI {
124
124
  }
125
125
  }
126
126
  }
127
- exports.default = BaseAPI;
128
127
  BaseAPI.roomstaySession = '';
128
+ exports.default = BaseAPI;
129
129
  //# sourceMappingURL=BaseAPI.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BaseAPI.js","sourceRoot":"/","sources":["src/api/BaseAPI.ts"],"names":[],"mappings":"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","sourcesContent":["import dayjs from 'dayjs';\n\nimport { RoomstayGlobalConfig } from '@/config';\nimport MemberPortalFeature from '@/providers/feature/MemberPortalFeature';\nimport RoomstayThemeEngine from '@/providers/RoomstayThemeEngine';\nimport { getAuth } from '@/util/AsyncAuth';\n\nexport interface CachedObject {\n cachedSince: dayjs.Dayjs;\n validUntil: dayjs.Dayjs;\n}\n\nexport const API_DATE_FORMAT = 'YYYY-MM-DD';\n\nexport enum APIEndpoint {\n Availability = 'availability',\n Calendar = 'availability/calendar',\n MinNightStay = 'availability/min-nights',\n Reservations = 'reservations',\n Packages = 'packages',\n Member = 'member',\n Session = 'session',\n}\n\ntype ApiGetParameters = {\n [x: string]: string | number | any;\n};\n\nexport default class BaseAPI {\n protected static roomstaySession = '';\n\n static async getBaseHeaders(): Promise<{ [name: string]: string } | undefined> {\n const baseHeaders: { [name: string]: string } = {\n 'Content-Type': 'application/json',\n 'roomstay-session': BaseAPI.roomstaySession,\n };\n\n if (MemberPortalFeature.isActive()) {\n const Auth = await getAuth();\n try {\n const cognitoData = await Auth.currentAuthenticatedUser();\n\n const jwtToken = cognitoData.signInUserSession.idToken.jwtToken;\n\n baseHeaders['Authorization'] = jwtToken;\n } catch (ex) {\n return;\n }\n }\n return baseHeaders;\n }\n\n /**\n * Checks if the provided cache object does not need to be reloaded\n * @param obj CacheObject\n */\n public isCacheObjectStillValid(obj: CachedObject): boolean {\n if (obj.validUntil.isAfter(dayjs())) {\n return true;\n }\n\n return false;\n }\n\n public getApiPath() {\n return RoomstayGlobalConfig.RoomstayApiUrl;\n }\n\n protected post = async (endpoint: APIEndpoint, params: ApiGetParameters, hotelID: string, getParams?: ApiGetParameters, extraPath = '') =>\n this.postOrDeleteOrUpdate('POST', endpoint, params, getParams, extraPath, hotelID);\n\n protected delete = async (endpoint: APIEndpoint, params: ApiGetParameters, hotelID: string, getParams?: ApiGetParameters, extraPath = '') =>\n this.postOrDeleteOrUpdate('DELETE', endpoint, params, getParams, extraPath, hotelID);\n\n protected get = async (endpoint: APIEndpoint, params: ApiGetParameters, extraPath = '', hotelId: string) => {\n if (!params.language) {\n params.language = RoomstayThemeEngine.selectedLang;\n }\n\n const parameters = this.formatParams(params);\n\n const response = await fetch(this.getUrl(endpoint, hotelId) + extraPath + (parameters ? '?' + parameters : ''), {\n headers: await BaseAPI.getBaseHeaders(),\n });\n\n const json = await response.json();\n\n if (response.ok) {\n return json;\n } else {\n throw json;\n }\n };\n\n private getUrl = (endpoint: APIEndpoint, hotelId?: string) => {\n return `${this.getApiPath()}${endpoint}/${hotelId ? `${hotelId}/` : ''}`;\n };\n\n private formatParams<T extends { [x: string]: any }>(params: T, forGet = true) {\n const values: T | any = {};\n\n Object.keys(params).map((p: any) => {\n let val = params[p];\n if (val?.format) {\n val = val.format(API_DATE_FORMAT);\n }\n\n if (val) {\n values[p] = val;\n }\n });\n\n if (forGet) {\n return new URLSearchParams(values).toString();\n } else {\n return values;\n }\n }\n\n private postOrDeleteOrUpdate = async (\n method: 'POST' | 'UPDATE' | 'DELETE',\n endpoint: APIEndpoint,\n params: ApiGetParameters,\n getParams: ApiGetParameters = {},\n extraPath = '',\n hotelID: string\n ) => {\n if (!getParams.language) {\n getParams.language = RoomstayThemeEngine.selectedLang;\n }\n\n const getParamsAsString = this.formatParams(getParams);\n const bodyParams = this.formatParams(params, false);\n\n const response = await fetch(this.getUrl(endpoint, hotelID) + extraPath + (getParamsAsString ? `?${getParamsAsString}` : ''), {\n credentials: 'omit',\n headers: await BaseAPI.getBaseHeaders(),\n method,\n body: JSON.stringify(bodyParams),\n });\n\n if (response.ok) {\n return response.json();\n } else {\n throw await response.json();\n }\n };\n}\n"]}
1
+ {"version":3,"file":"BaseAPI.js","sourceRoot":"/","sources":["src/api/BaseAPI.ts"],"names":[],"mappings":"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","sourcesContent":["import dayjs from 'dayjs';\n\nimport { RoomstayGlobalConfig } from '@/config';\nimport MemberPortalFeature from '@/providers/feature/MemberPortalFeature';\nimport RoomstayThemeEngine from '@/providers/RoomstayThemeEngine';\nimport { getAuth } from '@/util/AsyncAuth';\n\nexport interface CachedObject {\n cachedSince: dayjs.Dayjs;\n validUntil: dayjs.Dayjs;\n}\n\nexport const API_DATE_FORMAT = 'YYYY-MM-DD';\n\nexport enum APIEndpoint {\n Availability = 'availability',\n Calendar = 'availability/calendar',\n MinNightStay = 'availability/min-nights',\n Reservations = 'reservations',\n Packages = 'packages',\n Member = 'member',\n Session = 'session',\n}\n\ntype ApiGetParameters = {\n [x: string]: string | number | any;\n};\n\nexport default class BaseAPI {\n protected static roomstaySession = '';\n\n static async getBaseHeaders(): Promise<{ [name: string]: string } | undefined> {\n const baseHeaders: { [name: string]: string } = {\n 'Content-Type': 'application/json',\n 'roomstay-session': BaseAPI.roomstaySession,\n };\n\n if (MemberPortalFeature.isActive()) {\n const Auth = await getAuth();\n try {\n const cognitoData = await Auth.currentAuthenticatedUser();\n\n const jwtToken = cognitoData.signInUserSession.idToken.jwtToken;\n\n baseHeaders['Authorization'] = jwtToken;\n } catch (ex) {\n return;\n }\n }\n return baseHeaders;\n }\n\n /**\n * Checks if the provided cache object does not need to be reloaded\n * @param obj CacheObject\n */\n public isCacheObjectStillValid(obj: CachedObject): boolean {\n if (obj.validUntil.isAfter(dayjs())) {\n return true;\n }\n\n return false;\n }\n\n public getApiPath() {\n return RoomstayGlobalConfig.RoomstayApiUrl;\n }\n\n protected post = async (endpoint: APIEndpoint, params: ApiGetParameters, hotelID: string, getParams?: ApiGetParameters, extraPath = '') =>\n this.postOrDeleteOrUpdate('POST', endpoint, params, getParams, extraPath, hotelID);\n\n protected delete = async (endpoint: APIEndpoint, params: ApiGetParameters, hotelID: string, getParams?: ApiGetParameters, extraPath = '') =>\n this.postOrDeleteOrUpdate('DELETE', endpoint, params, getParams, extraPath, hotelID);\n\n protected get = async (endpoint: APIEndpoint, params: ApiGetParameters, extraPath = '', hotelId: string) => {\n if (!params.language) {\n params.language = RoomstayThemeEngine.selectedLang;\n }\n\n const parameters = this.formatParams(params);\n\n const response = await fetch(this.getUrl(endpoint, hotelId) + extraPath + (parameters ? '?' + parameters : ''), {\n headers: await BaseAPI.getBaseHeaders(),\n });\n\n const json = await response.json();\n\n if (response.ok) {\n return json;\n } else {\n throw json;\n }\n };\n\n private getUrl = (endpoint: APIEndpoint, hotelId?: string) => {\n return `${this.getApiPath()}${endpoint}/${hotelId ? `${hotelId}/` : ''}`;\n };\n\n private formatParams<T extends { [x: string]: any }>(params: T, forGet = true) {\n const values: T | any = {};\n\n Object.keys(params).map((p: any) => {\n let val = params[p];\n if (val?.format) {\n val = val.format(API_DATE_FORMAT);\n }\n\n if (val) {\n values[p] = val;\n }\n });\n\n if (forGet) {\n return new URLSearchParams(values).toString();\n } else {\n return values;\n }\n }\n\n private postOrDeleteOrUpdate = async (\n method: 'POST' | 'UPDATE' | 'DELETE',\n endpoint: APIEndpoint,\n params: ApiGetParameters,\n getParams: ApiGetParameters = {},\n extraPath = '',\n hotelID: string\n ) => {\n if (!getParams.language) {\n getParams.language = RoomstayThemeEngine.selectedLang;\n }\n\n const getParamsAsString = this.formatParams(getParams);\n const bodyParams = this.formatParams(params, false);\n\n const response = await fetch(this.getUrl(endpoint, hotelID) + extraPath + (getParamsAsString ? `?${getParamsAsString}` : ''), {\n credentials: 'omit',\n headers: await BaseAPI.getBaseHeaders(),\n method,\n body: JSON.stringify(bodyParams),\n });\n\n if (response.ok) {\n return response.json();\n } else {\n throw await response.json();\n }\n };\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ErrorAPI.js","sourceRoot":"/","sources":["src/api/ErrorAPI.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,wDAAqD;AAErD,wDAAgC;AAEhC,MAAqB,QAAS,SAAQ,iBAAO;IAA7C;;QACW,yBAAoB,GAAG,CAAO,OAAe,EAAE,MAA+E,EAAiB,EAAE;YACpJ,IAAI;gBACA,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,SAAS,OAAO,qBAAqB,EAAE;oBACpF,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,MAAM,iBAAO,CAAC,cAAc,EAAE;oBACvC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;iBAC/B,CAAC,CAAC;gBAEH,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE;oBACzB,MAAM,IAAI,6BAAa,CAAC,wBAAwB,CAAC,CAAC;iBACrD;aACJ;YAAC,OAAO,EAAE,EAAE;gBACT,MAAM,IAAI,6BAAa,CAAC,wBAAwB,CAAC,CAAC;aACrD;QACL,CAAC,CAAA,CAAC;QAEK,8BAAyB,GAAG,CAAO,OAAe,EAAE,MAA2E,EAAiB,EAAE;YACrJ,IAAI;gBACA,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,SAAS,OAAO,2BAA2B,EAAE;oBAC1F,MAAM,EAAE,MAAM;oBACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;iBAC/B,CAAC,CAAC;gBAEH,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE;oBACzB,MAAM,IAAI,6BAAa,CAAC,wBAAwB,CAAC,CAAC;iBACrD;aACJ;YAAC,OAAO,EAAE,EAAE;gBACT,MAAM,IAAI,6BAAa,CAAC,wBAAwB,CAAC,CAAC;aACrD;QACL,CAAC,CAAA,CAAC;IACN,CAAC;CAAA;AA/BD,2BA+BC","sourcesContent":["import { RoomstayError } from 'errors/RoomstayError';\n\nimport BaseAPI from './BaseAPI';\n\nexport default class ErrorAPI extends BaseAPI {\n public sendRoomFallbackForm = async (hotelId: string, object: { name: string; telephone: string; email: string; searchQuery: string }): Promise<void> => {\n try {\n const response = await fetch(this.getApiPath() + `error/${hotelId}/rate-fallback-form`, {\n method: 'POST',\n headers: await BaseAPI.getBaseHeaders(),\n body: JSON.stringify(object),\n });\n\n if (response.status !== 200) {\n throw new RoomstayError('Failed to post details');\n }\n } catch (ex) {\n throw new RoomstayError('Failed to post details');\n }\n };\n\n public sendMemberAreaContactForm = async (hotelId: string, object: { name: string; telephone: string; email: string; message: string }): Promise<void> => {\n try {\n const response = await fetch(this.getApiPath() + `error/${hotelId}/member-area-contact-form`, {\n method: 'POST',\n body: JSON.stringify(object),\n });\n\n if (response.status !== 200) {\n throw new RoomstayError('Failed to post details');\n }\n } catch (ex) {\n throw new RoomstayError('Failed to post details');\n }\n };\n}\n"]}
1
+ {"version":3,"file":"ErrorAPI.js","sourceRoot":"/","sources":["src/api/ErrorAPI.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,wDAAqD;AAErD,wDAAgC;AAEhC,MAAqB,QAAS,SAAQ,iBAAO;IAA7C;;QACW,yBAAoB,GAAG,CAAO,OAAe,EAAE,MAA+E,EAAiB,EAAE;YACpJ,IAAI,CAAC;gBACD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,SAAS,OAAO,qBAAqB,EAAE;oBACpF,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,MAAM,iBAAO,CAAC,cAAc,EAAE;oBACvC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;iBAC/B,CAAC,CAAC;gBAEH,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;oBAC1B,MAAM,IAAI,6BAAa,CAAC,wBAAwB,CAAC,CAAC;gBACtD,CAAC;YACL,CAAC;YAAC,OAAO,EAAE,EAAE,CAAC;gBACV,MAAM,IAAI,6BAAa,CAAC,wBAAwB,CAAC,CAAC;YACtD,CAAC;QACL,CAAC,CAAA,CAAC;QAEK,8BAAyB,GAAG,CAAO,OAAe,EAAE,MAA2E,EAAiB,EAAE;YACrJ,IAAI,CAAC;gBACD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,SAAS,OAAO,2BAA2B,EAAE;oBAC1F,MAAM,EAAE,MAAM;oBACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;iBAC/B,CAAC,CAAC;gBAEH,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;oBAC1B,MAAM,IAAI,6BAAa,CAAC,wBAAwB,CAAC,CAAC;gBACtD,CAAC;YACL,CAAC;YAAC,OAAO,EAAE,EAAE,CAAC;gBACV,MAAM,IAAI,6BAAa,CAAC,wBAAwB,CAAC,CAAC;YACtD,CAAC;QACL,CAAC,CAAA,CAAC;IACN,CAAC;CAAA;AA/BD,2BA+BC","sourcesContent":["import { RoomstayError } from 'errors/RoomstayError';\n\nimport BaseAPI from './BaseAPI';\n\nexport default class ErrorAPI extends BaseAPI {\n public sendRoomFallbackForm = async (hotelId: string, object: { name: string; telephone: string; email: string; searchQuery: string }): Promise<void> => {\n try {\n const response = await fetch(this.getApiPath() + `error/${hotelId}/rate-fallback-form`, {\n method: 'POST',\n headers: await BaseAPI.getBaseHeaders(),\n body: JSON.stringify(object),\n });\n\n if (response.status !== 200) {\n throw new RoomstayError('Failed to post details');\n }\n } catch (ex) {\n throw new RoomstayError('Failed to post details');\n }\n };\n\n public sendMemberAreaContactForm = async (hotelId: string, object: { name: string; telephone: string; email: string; message: string }): Promise<void> => {\n try {\n const response = await fetch(this.getApiPath() + `error/${hotelId}/member-area-contact-form`, {\n method: 'POST',\n body: JSON.stringify(object),\n });\n\n if (response.status !== 200) {\n throw new RoomstayError('Failed to post details');\n }\n } catch (ex) {\n throw new RoomstayError('Failed to post details');\n }\n };\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ExchangeRateAPI.js","sourceRoot":"/","sources":["src/api/ExchangeRateAPI.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,4DAAoC;AAGpC,MAAqB,eAAgB,SAAQ,iBAAO;IAApD;;QACY,UAAK,GAAsF,EAAE,CAAC;QAE/F,cAAS,GAAG,CAAO,YAAoB,EAA+C,EAAE;YAC3F,IAAI;gBACA,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE;oBAC1B,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;iBACzC;gBAED,MAAM,cAAc,GAA6B,CAAC,GAAS,EAAE;oBACzD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,kBAAkB,YAAY,EAAE,CAAC,CAAC;oBAEnF,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;gBAC3B,CAAC,CAAA,CAAC,EAAE,CAAC;gBAEL,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,cAAc,CAAC;gBAE1C,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;aACzC;YAAC,OAAO,EAAE,EAAE;gBACT,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACjB,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;aACnC;QACL,CAAC,CAAA,CAAC;IACN,CAAC;CAAA;AAvBD,kCAuBC","sourcesContent":["import BaseAPI from '@/api/BaseAPI';\nimport { ExchangeRateDTO } from '@/models/Api/ExchangeRateDTO';\n\nexport default class ExchangeRateAPI extends BaseAPI {\n private cache: { [name: string]: Promise<ExchangeRateDTO> | ExchangeRateDTO | null | undefined } = {};\n\n public fetchData = async (currencyCode: string): Promise<ExchangeRateDTO | null | undefined> => {\n try {\n if (this.cache[currencyCode]) {\n return await this.cache[currencyCode];\n }\n\n const responseObject: Promise<ExchangeRateDTO> = (async () => {\n const response = await fetch(this.getApiPath() + `exchange-rates/${currencyCode}`);\n\n return response.json();\n })();\n\n this.cache[currencyCode] = responseObject;\n\n return await this.cache[currencyCode];\n } catch (ex) {\n console.warn(ex);\n this.cache[currencyCode] = null;\n }\n };\n}\n"]}
1
+ {"version":3,"file":"ExchangeRateAPI.js","sourceRoot":"/","sources":["src/api/ExchangeRateAPI.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,4DAAoC;AAGpC,MAAqB,eAAgB,SAAQ,iBAAO;IAApD;;QACY,UAAK,GAAsF,EAAE,CAAC;QAE/F,cAAS,GAAG,CAAO,YAAoB,EAA+C,EAAE;YAC3F,IAAI,CAAC;gBACD,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC;oBAC3B,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;gBAC1C,CAAC;gBAED,MAAM,cAAc,GAA6B,CAAC,GAAS,EAAE;oBACzD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,kBAAkB,YAAY,EAAE,CAAC,CAAC;oBAEnF,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;gBAC3B,CAAC,CAAA,CAAC,EAAE,CAAC;gBAEL,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,cAAc,CAAC;gBAE1C,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YAC1C,CAAC;YAAC,OAAO,EAAE,EAAE,CAAC;gBACV,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACjB,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;YACpC,CAAC;QACL,CAAC,CAAA,CAAC;IACN,CAAC;CAAA;AAvBD,kCAuBC","sourcesContent":["import BaseAPI from '@/api/BaseAPI';\nimport { ExchangeRateDTO } from '@/models/Api/ExchangeRateDTO';\n\nexport default class ExchangeRateAPI extends BaseAPI {\n private cache: { [name: string]: Promise<ExchangeRateDTO> | ExchangeRateDTO | null | undefined } = {};\n\n public fetchData = async (currencyCode: string): Promise<ExchangeRateDTO | null | undefined> => {\n try {\n if (this.cache[currencyCode]) {\n return await this.cache[currencyCode];\n }\n\n const responseObject: Promise<ExchangeRateDTO> = (async () => {\n const response = await fetch(this.getApiPath() + `exchange-rates/${currencyCode}`);\n\n return response.json();\n })();\n\n this.cache[currencyCode] = responseObject;\n\n return await this.cache[currencyCode];\n } catch (ex) {\n console.warn(ex);\n this.cache[currencyCode] = null;\n }\n };\n}\n"]}
@@ -7,7 +7,7 @@ import { Language } from '../providers/LanguageProvider';
7
7
  export default class HotelAPI extends BaseAPI {
8
8
  private cachedResponses;
9
9
  private pendingQueries;
10
- fetchData: (lang: Language, hotel: Pick<Hotel, 'hotelID'>) => Promise<HotelDTO>;
10
+ fetchData: (lang: Language, hotel: Pick<Hotel, "hotelID">) => Promise<HotelDTO>;
11
11
  fetchOverrides: (frontendId: string, companyId?: string) => Promise<HotelOverrideDTO>;
12
12
  fetchBookingWizardData: (companyId: number) => Promise<IBookingWizardSearchProperty[]>;
13
13
  private getQueryID;
@@ -1 +1 @@
1
- {"version":3,"file":"HotelAPI.js","sourceRoot":"/","sources":["src/api/HotelAPI.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,4DAAoC;AAOpC,MAAqB,QAAS,SAAQ,iBAAO;IAA7C;;QACY,oBAAe,GAA+B,EAAE,CAAC;QACjD,mBAAc,GAAwC,EAAE,CAAC;QAE1D,cAAS,GAAG,CAAO,IAAc,EAAE,KAA6B,EAAqB,EAAE;YAC1F,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;YAE9B,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;YAEjD,IAAI,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE;gBAC/B,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;aACxC;YAED,IAAI,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE;gBAChC,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;aACvC;YAED,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,CAAO,OAAO,EAAE,MAAM,EAAE,EAAE;gBACjE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,SAAS,OAAO,aAAa,IAAI,EAAE,EAAE;oBAClF,OAAO,EAAE,MAAM,iBAAO,CAAC,cAAc,EAAE;iBAC1C,CAAC,CAAC;gBAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;oBACd,MAAM,CAAC,GAAG,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;iBACvD;gBAED,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBAEtD,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;YAC3C,CAAC,CAAA,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QACxC,CAAC,CAAA,CAAC;QAEF,sBAAsB;QACf,mBAAc,GAAG,CAAO,UAAkB,EAAE,SAAkB,EAA6B,EAAE;YAChG,gEAAgE;YAChE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,SAAS,UAAU,aAAa,SAAS,CAAC,CAAC,CAAC,cAAc,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE;gBAC3H,OAAO,EAAE,MAAM,iBAAO,CAAC,cAAc,EAAE;aAC1C,CAAC,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC;QAChB,CAAC,CAAA,CAAC;QAEK,2BAAsB,GAAG,CAAO,SAAiB,EAA2C,EAAE;YACjG,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,WAAW,SAAS,sBAAsB,EAAE;gBACzF,OAAO,EAAE,MAAM,iBAAO,CAAC,cAAc,EAAE;aAC1C,CAAC,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC;QAChB,CAAC,CAAA,CAAC;QAEM,eAAU,GAAG,CAAC,MAAa,EAAE,EAAE;YACnC,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC5B,CAAC,CAAC;IACN,CAAC;CAAA;AAvDD,2BAuDC","sourcesContent":["import BaseAPI from '@/api/BaseAPI';\nimport { HotelDTO } from '@/models/Api/HotelDTO';\nimport { HotelOverrideDTO } from '@/models/Api/HotelOverrideDTO';\nimport { IBookingWizardSearchProperty } from '@/models/BookingWizard/BookingWizardProperty';\nimport { Hotel } from '@/models/Client/Hotel/Hotel';\nimport { Language } from '@/providers/LanguageProvider';\n\nexport default class HotelAPI extends BaseAPI {\n private cachedResponses: { [id: string]: HotelDTO } = {};\n private pendingQueries: { [id: string]: Promise<HotelDTO> } = {};\n\n public fetchData = async (lang: Language, hotel: Pick<Hotel, 'hotelID'>): Promise<HotelDTO> => {\n const hotelID = hotel.hotelID;\n\n const queryID = this.getQueryID([lang, hotelID]);\n\n if (this.cachedResponses[queryID]) {\n return this.cachedResponses[queryID];\n }\n\n if (!!this.pendingQueries[queryID]) {\n return this.pendingQueries[queryID];\n }\n\n this.pendingQueries[queryID] = new Promise(async (resolve, reject) => {\n const response = await fetch(this.getApiPath() + `hotel/${hotelID}?language=${lang}`, {\n headers: await BaseAPI.getBaseHeaders(),\n });\n\n if (!response.ok) {\n reject(`${response.status} ${response.statusText}`);\n }\n\n this.cachedResponses[queryID] = await response.json();\n\n resolve(this.cachedResponses[queryID]);\n });\n\n return this.pendingQueries[queryID];\n };\n\n // TODO: Return typing\n public fetchOverrides = async (frontendId: string, companyId?: string): Promise<HotelOverrideDTO> => {\n // TODO: Fetch using hotelID + companyId, rather than frontendId\n const response = await fetch(this.getApiPath() + `hotel/${frontendId}/overrides${companyId ? `?companyId=${companyId}` : ''}`, {\n headers: await BaseAPI.getBaseHeaders(),\n });\n const json = await response.json();\n return json;\n };\n\n public fetchBookingWizardData = async (companyId: number): Promise<IBookingWizardSearchProperty[]> => {\n const response = await fetch(this.getApiPath() + `company/${companyId}/booking-wizard-data`, {\n headers: await BaseAPI.getBaseHeaders(),\n });\n const json = await response.json();\n return json;\n };\n\n private getQueryID = (params: any[]) => {\n return params.join('-');\n };\n}\n"]}
1
+ {"version":3,"file":"HotelAPI.js","sourceRoot":"/","sources":["src/api/HotelAPI.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,4DAAoC;AAOpC,MAAqB,QAAS,SAAQ,iBAAO;IAA7C;;QACY,oBAAe,GAA+B,EAAE,CAAC;QACjD,mBAAc,GAAwC,EAAE,CAAC;QAE1D,cAAS,GAAG,CAAO,IAAc,EAAE,KAA6B,EAAqB,EAAE;YAC1F,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;YAE9B,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;YAEjD,IAAI,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC;gBAChC,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YACzC,CAAC;YAED,IAAI,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;gBACjC,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YACxC,CAAC;YAED,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,CAAO,OAAO,EAAE,MAAM,EAAE,EAAE;gBACjE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,SAAS,OAAO,aAAa,IAAI,EAAE,EAAE;oBAClF,OAAO,EAAE,MAAM,iBAAO,CAAC,cAAc,EAAE;iBAC1C,CAAC,CAAC;gBAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;oBACf,MAAM,CAAC,GAAG,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;gBACxD,CAAC;gBAED,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBAEtD,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;YAC3C,CAAC,CAAA,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QACxC,CAAC,CAAA,CAAC;QAEF,sBAAsB;QACf,mBAAc,GAAG,CAAO,UAAkB,EAAE,SAAkB,EAA6B,EAAE;YAChG,gEAAgE;YAChE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,SAAS,UAAU,aAAa,SAAS,CAAC,CAAC,CAAC,cAAc,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE;gBAC3H,OAAO,EAAE,MAAM,iBAAO,CAAC,cAAc,EAAE;aAC1C,CAAC,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC;QAChB,CAAC,CAAA,CAAC;QAEK,2BAAsB,GAAG,CAAO,SAAiB,EAA2C,EAAE;YACjG,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,WAAW,SAAS,sBAAsB,EAAE;gBACzF,OAAO,EAAE,MAAM,iBAAO,CAAC,cAAc,EAAE;aAC1C,CAAC,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC;QAChB,CAAC,CAAA,CAAC;QAEM,eAAU,GAAG,CAAC,MAAa,EAAE,EAAE;YACnC,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC5B,CAAC,CAAC;IACN,CAAC;CAAA;AAvDD,2BAuDC","sourcesContent":["import BaseAPI from '@/api/BaseAPI';\nimport { HotelDTO } from '@/models/Api/HotelDTO';\nimport { HotelOverrideDTO } from '@/models/Api/HotelOverrideDTO';\nimport { IBookingWizardSearchProperty } from '@/models/BookingWizard/BookingWizardProperty';\nimport { Hotel } from '@/models/Client/Hotel/Hotel';\nimport { Language } from '@/providers/LanguageProvider';\n\nexport default class HotelAPI extends BaseAPI {\n private cachedResponses: { [id: string]: HotelDTO } = {};\n private pendingQueries: { [id: string]: Promise<HotelDTO> } = {};\n\n public fetchData = async (lang: Language, hotel: Pick<Hotel, 'hotelID'>): Promise<HotelDTO> => {\n const hotelID = hotel.hotelID;\n\n const queryID = this.getQueryID([lang, hotelID]);\n\n if (this.cachedResponses[queryID]) {\n return this.cachedResponses[queryID];\n }\n\n if (!!this.pendingQueries[queryID]) {\n return this.pendingQueries[queryID];\n }\n\n this.pendingQueries[queryID] = new Promise(async (resolve, reject) => {\n const response = await fetch(this.getApiPath() + `hotel/${hotelID}?language=${lang}`, {\n headers: await BaseAPI.getBaseHeaders(),\n });\n\n if (!response.ok) {\n reject(`${response.status} ${response.statusText}`);\n }\n\n this.cachedResponses[queryID] = await response.json();\n\n resolve(this.cachedResponses[queryID]);\n });\n\n return this.pendingQueries[queryID];\n };\n\n // TODO: Return typing\n public fetchOverrides = async (frontendId: string, companyId?: string): Promise<HotelOverrideDTO> => {\n // TODO: Fetch using hotelID + companyId, rather than frontendId\n const response = await fetch(this.getApiPath() + `hotel/${frontendId}/overrides${companyId ? `?companyId=${companyId}` : ''}`, {\n headers: await BaseAPI.getBaseHeaders(),\n });\n const json = await response.json();\n return json;\n };\n\n public fetchBookingWizardData = async (companyId: number): Promise<IBookingWizardSearchProperty[]> => {\n const response = await fetch(this.getApiPath() + `company/${companyId}/booking-wizard-data`, {\n headers: await BaseAPI.getBaseHeaders(),\n });\n const json = await response.json();\n return json;\n };\n\n private getQueryID = (params: any[]) => {\n return params.join('-');\n };\n}\n"]}
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
36
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
37
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -1 +1 @@
1
- {"version":3,"file":"MemberAPI.js","sourceRoot":"/","sources":["src/api/MemberAPI.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,yDAAqD;AAErD,MAAqB,SAAU,SAAQ,iBAAO;IAA9C;;QACW,cAAS,GAAG,CAAO,SAAiB,EAAE,QAAgB,EAAE,KAAa,EAAE,KAAY,EAAE,OAAe,EAAE,SAAkB,EAAgB,EAAE;YAC7I,OAAO,IAAI,CAAC,IAAI,CACZ,qBAAW,CAAC,MAAM,EAClB;gBACI,SAAS,EAAE,SAAS;gBACpB,QAAQ,EAAE,QAAQ;gBAClB,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,KAAK;gBACZ,OAAO,EAAE,SAAS;aACrB,EACD,OAAO,CACV,CAAC;QACN,CAAC,CAAA,CAAC;QAEK,iBAAY,GAAG,CAAO,OAAe,EAAE,IAAyB,EAAoB,EAAE;YACzF,OAAO,IAAI,CAAC,IAAI,CAAC,qBAAW,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;QACpF,CAAC,CAAA,CAAC;IACN,CAAC;CAAA;AAlBD,4BAkBC","sourcesContent":["import { IMember, IMemberVerification } from '@roomstay/core';\n\nimport BaseAPI, { APIEndpoint } from '@/api/BaseAPI';\n\nexport default class MemberAPI extends BaseAPI {\n public addMember = async (firstName: string, lastName: string, email: string, extra: any[], hotelId: string, captchaId?: string): Promise<any> => {\n return this.post(\n APIEndpoint.Member,\n {\n FirstName: firstName,\n LastName: lastName,\n Email: email,\n Extra: extra,\n Captcha: captchaId,\n },\n hotelId\n );\n };\n\n public verifyMember = async (hotelId: string, data: IMemberVerification): Promise<IMember> => {\n return this.post(APIEndpoint.Member, data, hotelId, undefined, 'verify-member');\n };\n}\n"]}
1
+ {"version":3,"file":"MemberAPI.js","sourceRoot":"/","sources":["src/api/MemberAPI.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,yDAAqD;AAErD,MAAqB,SAAU,SAAQ,iBAAO;IAA9C;;QACW,cAAS,GAAG,CAAO,SAAiB,EAAE,QAAgB,EAAE,KAAa,EAAE,KAAY,EAAE,OAAe,EAAE,SAAkB,EAAgB,EAAE;YAC7I,OAAO,IAAI,CAAC,IAAI,CACZ,qBAAW,CAAC,MAAM,EAClB;gBACI,SAAS,EAAE,SAAS;gBACpB,QAAQ,EAAE,QAAQ;gBAClB,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,KAAK;gBACZ,OAAO,EAAE,SAAS;aACrB,EACD,OAAO,CACV,CAAC;QACN,CAAC,CAAA,CAAC;QAEK,iBAAY,GAAG,CAAO,OAAe,EAAE,IAAyB,EAAoB,EAAE;YACzF,OAAO,IAAI,CAAC,IAAI,CAAC,qBAAW,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;QACpF,CAAC,CAAA,CAAC;IACN,CAAC;CAAA;AAlBD,4BAkBC","sourcesContent":["import { IMember, IMemberVerification } from '@roomstay/core';\n\nimport BaseAPI, { APIEndpoint } from '@/api/BaseAPI';\n\nexport default class MemberAPI extends BaseAPI {\n public addMember = async (firstName: string, lastName: string, email: string, extra: any[], hotelId: string, captchaId?: string): Promise<any> => {\n return this.post(\n APIEndpoint.Member,\n {\n FirstName: firstName,\n LastName: lastName,\n Email: email,\n Extra: extra,\n Captcha: captchaId,\n },\n hotelId\n );\n };\n\n public verifyMember = async (hotelId: string, data: IMemberVerification): Promise<IMember> => {\n return this.post(APIEndpoint.Member, data, hotelId, undefined, 'verify-member');\n };\n}\n"]}
@@ -1,6 +1,5 @@
1
- import { IBookingPayment, IBookingQuoteRequest, IBookingQuoteResponse, IPencilReservationRequest, IPencilReservationResponse } from '@roomstay/core';
1
+ import { IBookingPayment, IBookingQuoteRequest, IBookingQuoteResponse, IPencilReservationRequest, IPencilReservationResponse, ReservationsDTO } from '@roomstay/core';
2
2
  import BaseAPI from './BaseAPI';
3
- import ReservationsDTO from '../models/Api/ReservationsDTO';
4
3
  import BasketAddonRow from '../models/BasketAddonRow';
5
4
  import BasketRow from '../models/BasketRow';
6
5
  import { IRoomstayMemberBooking } from '../models/RoomstayMembers/IRoomstayMemberBooking';
@@ -45,7 +44,7 @@ export default class ReservationAPI extends BaseAPI {
45
44
  * @returns
46
45
  */
47
46
  bookNow: (basketRows: BasketRow[], userProfiles: UserProfile[], payment: IBookingPayment, addonRows: BasketAddonRow[], comments: string, hotelId: string, sessionId: string, pencilId?: string | undefined, specialReq?: string | undefined, retryPayment?: boolean, roomstayId?: string | undefined, memberNumber?: string | undefined) => Promise<ReservationsDTO>;
48
- commit: (reservations: string[], itineraryId: string, hotelId: string, planpayCheckoutId?: string) => Promise<ReservationsDTO>;
47
+ commit: (reservations: string[], itineraryId: string, hotelId: string, planpayCheckoutId?: string, paymentId?: string) => Promise<ReservationsDTO>;
49
48
  rollback: (reservations: string[], itineraryId: string, hotelId: string) => Promise<boolean>;
50
49
  cancelReservation: (id: string, email: string, hotelId: string) => Promise<boolean>;
51
50
  findReservation: (id: string, email: string, hotelId: string) => Promise<ReservationsDTO>;
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
36
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
37
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -38,7 +48,7 @@ var EPaymentMethod;
38
48
  (function (EPaymentMethod) {
39
49
  EPaymentMethod["PLANPAY"] = "Planpay";
40
50
  EPaymentMethod["CARD"] = "Card";
41
- })(EPaymentMethod = exports.EPaymentMethod || (exports.EPaymentMethod = {}));
51
+ })(EPaymentMethod || (exports.EPaymentMethod = EPaymentMethod = {}));
42
52
  class ReservationAPI extends BaseAPI_1.default {
43
53
  constructor() {
44
54
  super(...arguments);
@@ -131,7 +141,7 @@ class ReservationAPI extends BaseAPI_1.default {
131
141
  * @param specialReq
132
142
  * @returns
133
143
  */
134
- this.bookNow = (basketRows, userProfiles, payment, addonRows, comments, hotelId, sessionId, pencilId = undefined, specialReq = undefined, retryPayment = false, roomstayId = undefined, memberNumber = undefined) => __awaiter(this, void 0, void 0, function* () {
144
+ this.bookNow = (basketRows_1, userProfiles_1, payment_1, addonRows_1, comments_1, hotelId_1, sessionId_1, ...args_1) => __awaiter(this, [basketRows_1, userProfiles_1, payment_1, addonRows_1, comments_1, hotelId_1, sessionId_1, ...args_1], void 0, function* (basketRows, userProfiles, payment, addonRows, comments, hotelId, sessionId, pencilId = undefined, specialReq = undefined, retryPayment = false, roomstayId = undefined, memberNumber = undefined) {
135
145
  const rooms = [];
136
146
  basketRows.forEach((row) => {
137
147
  var _a, _b;
@@ -195,11 +205,12 @@ class ReservationAPI extends BaseAPI_1.default {
195
205
  roomstayId: roomstayId,
196
206
  }, hotelId, getParams);
197
207
  });
198
- this.commit = (reservations, itineraryId, hotelId, planpayCheckoutId) => __awaiter(this, void 0, void 0, function* () {
208
+ this.commit = (reservations, itineraryId, hotelId, planpayCheckoutId, paymentId) => __awaiter(this, void 0, void 0, function* () {
199
209
  return this.post(BaseAPI_1.APIEndpoint.Reservations, {
200
210
  itineraryId: itineraryId,
201
211
  reservationIds: reservations,
202
212
  planpayCheckoutId,
213
+ paymentId,
203
214
  }, hotelId, {}, 'commit');
204
215
  });
205
216
  this.rollback = (reservations, itineraryId, hotelId) => __awaiter(this, void 0, void 0, function* () {
@@ -1 +1 @@
1
- {"version":3,"file":"ReservationAPI.js","sourceRoot":"/","sources":["src/api/ReservationAPI.ts"],"names":[],"mappings":"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","sourcesContent":["import { IBookingPayment, IBookingQuoteRequest, IBookingQuoteResponse, IPencilReservationRequest, IPencilReservationResponse } from '@roomstay/core';\n\nimport BaseAPI, { APIEndpoint } from '@/api/BaseAPI';\nimport ReservationsDTO, { ReservationDTO } from '@/models/Api/ReservationsDTO';\nimport BasketAddonRow from '@/models/BasketAddonRow';\nimport BasketRow from '@/models/BasketRow';\nimport { IRoomstayMemberBooking } from '@/models/RoomstayMembers/IRoomstayMemberBooking';\nimport UserProfile from '@/models/UserProfile';\n\nexport enum EPaymentMethod {\n PLANPAY = 'Planpay',\n CARD = 'Card',\n}\n\nexport default class ReservationAPI extends BaseAPI {\n private storedReservations: { [ref: string]: any } = {};\n\n /**\n * Populates a booking quote request.\n */\n public buildQuoteRequest = (rows: BasketRow[], memberNumber?: string): IBookingQuoteRequest => {\n const quoteRows = rows.reduce<IBookingQuoteRequest['rows']>((acc, row) => {\n try {\n acc.push({\n rowId: row.getID(),\n roomCode: row.getRoom().code as string,\n rateCode: row.getRate()?.code as string,\n promoCode: row.getPromoCode(),\n adults: row.getAdults(),\n children: row.getChildren(),\n infants: row.getInfants(),\n checkIn: row.getStartDate().format('YYYY-MM-DD'),\n checkOut: row.getEndDate().format('YYYY-MM-DD'),\n memberNumber,\n totalDisplayedPrice: row.getTotalPrice(),\n });\n } catch (ex) {\n // Skip row if it throws\n // Fixed: The checkout step will hang indefinitely if any basket row is missing a selected room rate\n }\n return acc;\n }, []);\n\n return { rows: quoteRows };\n };\n\n /**\n * Populates a pencil reservation request based on a quote request.\n */\n public buildPencilRequest = (rows: BasketRow[], memberNumber?: string, pencilId?: string): IPencilReservationRequest => {\n const quoteRequest = this.buildQuoteRequest(rows, memberNumber);\n const pencilRequest: IPencilReservationRequest = {\n ...quoteRequest,\n pencilId: pencilId,\n };\n\n pencilRequest.rows = quoteRequest.rows.map((requestRow) => {\n const basketRow = rows.find((r) => r.getID() == requestRow.rowId);\n\n return {\n ...requestRow,\n pencilId: basketRow?.pencilId,\n };\n });\n\n return pencilRequest;\n };\n\n /**\n * Generates a unique query ID string based on basket row data.\n * This ID is used to detect changes and re-fetch deposit quotes during checkout.\n */\n public buildQuoteQueryID = (rows: BasketRow[], memberNumber?: string): string => {\n return rows\n .map((row) => {\n return `row:${row.getID()},\n room:${row.getRoom()?.code},\n rate:${row.getRate()?.code},\n promo:${row.getPromoCode()},\n adults:${row.getAdults()},\n children:${row.getChildren()},\n infants:${row.getInfants()},\n checkIn:${row.getStartDate()?.format('YYYY-MM-DD')},\n checkOut:${row.getEndDate()?.format('YYYY-MM-DD')},\n member:${memberNumber}`;\n })\n .join('-');\n };\n\n /**\n * Returns a quote for the given\n */\n public getPriceQuote = async (hotelId: string, rows: BasketRow[], memberNumber?: string): Promise<IBookingQuoteResponse> => {\n const quoteBody = this.buildQuoteRequest(rows, memberNumber);\n return this.post(APIEndpoint.Reservations, quoteBody, hotelId, {}, 'quote');\n };\n\n /**\n * Pencils a reservation for the given rooms. Returns the timeout, and quote if applicable.\n */\n public pencilReservation = async (hotelId: string, rows: BasketRow[], memberNumber?: string, pencilId?: string): Promise<IPencilReservationResponse> => {\n const quoteBody = this.buildPencilRequest(rows, memberNumber, pencilId);\n return this.post(APIEndpoint.Reservations, quoteBody, hotelId, {}, 'pencil');\n };\n\n /**\n *\n * @param basketRows\n * @param userProfiles\n * @param payment\n * @param addonRows\n * @param comments\n * @param hotelId\n * @param sessionId\n * @param specialReq\n * @returns\n */\n public bookNow = async (\n basketRows: BasketRow[],\n userProfiles: UserProfile[],\n payment: IBookingPayment,\n addonRows: BasketAddonRow[],\n comments: string,\n hotelId: string,\n sessionId: string,\n pencilId: string | undefined = undefined,\n specialReq: string | undefined = undefined,\n retryPayment = false,\n roomstayId: string | undefined = undefined,\n memberNumber: string | undefined = undefined\n ): Promise<ReservationsDTO> => {\n const rooms: any[] = [];\n\n basketRows.forEach((row) => {\n const room = {\n roomType: row.getRoom().code || '',\n ratePlan: row.getRate()?.code || '',\n promoCode: row.getPromoCode(),\n adults: row.getAdults(),\n children: row.getChildren(),\n infants: row.getInfants(),\n checkInDate: row.getStartDate().format('YYYY-MM-DD'),\n checkOutDate: row.getEndDate().format('YYYY-MM-DD'),\n\n quoteId: row.quoteDetails?.quoteId,\n rowId: row.getID(),\n memberNumber,\n pencilId: row.pencilId,\n };\n\n rooms.push(room);\n });\n\n const addons = addonRows.map((row) => {\n const addon = row.getAddon();\n const priceInfo = addon.availability[row.getSelectedDate()];\n\n const response: any = {\n code: addon.code,\n startDate: row.getSelectedDate(),\n };\n if (addon?.ratePlanCode) {\n response.ratePlanCode = row.getAddon().ratePlanCode;\n }\n if (row.getSelectedTime()) {\n response.startTime = row.getSelectedTime();\n }\n\n if (priceInfo.price) {\n response.quantity = row.getQuantity();\n }\n if (priceInfo.adultPrice) {\n response.adults = row.getAdultQuantity();\n }\n if (priceInfo.childPrice) {\n response.children = row.getChildQuantity();\n }\n\n if (addon.pricingType) {\n response.pricingType = addon.pricingType;\n }\n\n return response;\n });\n\n const getParams: any = {};\n\n if (retryPayment) {\n getParams.retryPayment = true;\n }\n\n return this.post(\n APIEndpoint.Reservations,\n {\n rooms: rooms,\n services: addons,\n specialRequest: specialReq,\n comments: comments,\n profiles: userProfiles,\n payment: payment,\n sessionId: sessionId,\n pencilId: pencilId,\n sourceUrl: window.location.href,\n roomstayId: roomstayId,\n },\n hotelId,\n getParams\n );\n };\n\n public commit = async (reservations: string[], itineraryId: string, hotelId: string, planpayCheckoutId?: string): Promise<ReservationsDTO> => {\n return this.post(\n APIEndpoint.Reservations,\n {\n itineraryId: itineraryId,\n reservationIds: reservations,\n planpayCheckoutId,\n },\n hotelId,\n {},\n 'commit'\n );\n };\n\n public rollback = async (reservations: string[], itineraryId: string, hotelId: string): Promise<boolean> => {\n await this.post(\n APIEndpoint.Reservations,\n {\n itineraryId: itineraryId,\n reservationIds: reservations,\n },\n hotelId,\n {},\n 'rollback'\n );\n\n return true;\n };\n\n public cancelReservation = (id: string, email: string, hotelId: string): Promise<boolean> =>\n new Promise(async (resolve, reject) => {\n try {\n const response = await this.delete(APIEndpoint.Reservations, {}, hotelId, { email }, id);\n\n this.storedReservations[id]?.reservations?.forEach((reservation: ReservationDTO) => {\n if (reservation.reservationNumber === id) {\n reservation.status = 'Cancelled';\n }\n });\n\n resolve(response);\n } catch (ex) {\n reject(ex);\n }\n });\n\n public findReservation = (id: string, email: string, hotelId: string): Promise<ReservationsDTO> =>\n new Promise(async (resolve, reject) => {\n /*\n resolve with locally cached data, so we don't have to re-query this again\n */\n if (this.storedReservations[id]) {\n return resolve(this.storedReservations[id]);\n }\n\n try {\n const response = await this.get(APIEndpoint.Reservations, { email }, id, hotelId);\n\n this.storedReservations[id] = response;\n\n resolve(response);\n } catch (ex) {\n reject(ex);\n }\n });\n\n public linkBookingToMember = async (hotelId: string, reservationId: string, reservationEmail: string): Promise<{ message: string; booking: IRoomstayMemberBooking }> =>\n new Promise(async (resolve, reject) => {\n try {\n const response = await this.post(\n APIEndpoint.Reservations,\n {\n reservationId,\n reservationEmail,\n },\n hotelId,\n {},\n 'link-booking'\n );\n\n resolve(response);\n } catch (ex) {\n reject(ex);\n }\n });\n}\n"]}
1
+ {"version":3,"file":"ReservationAPI.js","sourceRoot":"/","sources":["src/api/ReservationAPI.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n IBookingPayment,\n IBookingQuoteRequest,\n IBookingQuoteResponse,\n IPencilReservationRequest,\n IPencilReservationResponse,\n ReservationDTO,\n ReservationsDTO,\n} from '@roomstay/core';\n\nimport BaseAPI, { APIEndpoint } from '@/api/BaseAPI';\nimport BasketAddonRow from '@/models/BasketAddonRow';\nimport BasketRow from '@/models/BasketRow';\nimport { IRoomstayMemberBooking } from '@/models/RoomstayMembers/IRoomstayMemberBooking';\nimport UserProfile from '@/models/UserProfile';\n\nexport enum EPaymentMethod {\n PLANPAY = 'Planpay',\n CARD = 'Card',\n}\n\nexport default class ReservationAPI extends BaseAPI {\n private storedReservations: { [ref: string]: any } = {};\n\n /**\n * Populates a booking quote request.\n */\n public buildQuoteRequest = (rows: BasketRow[], memberNumber?: string): IBookingQuoteRequest => {\n const quoteRows = rows.reduce<IBookingQuoteRequest['rows']>((acc, row) => {\n try {\n acc.push({\n rowId: row.getID(),\n roomCode: row.getRoom().code as string,\n rateCode: row.getRate()?.code as string,\n promoCode: row.getPromoCode(),\n adults: row.getAdults(),\n children: row.getChildren(),\n infants: row.getInfants(),\n checkIn: row.getStartDate().format('YYYY-MM-DD'),\n checkOut: row.getEndDate().format('YYYY-MM-DD'),\n memberNumber,\n totalDisplayedPrice: row.getTotalPrice(),\n });\n } catch (ex) {\n // Skip row if it throws\n // Fixed: The checkout step will hang indefinitely if any basket row is missing a selected room rate\n }\n return acc;\n }, []);\n\n return { rows: quoteRows };\n };\n\n /**\n * Populates a pencil reservation request based on a quote request.\n */\n public buildPencilRequest = (rows: BasketRow[], memberNumber?: string, pencilId?: string): IPencilReservationRequest => {\n const quoteRequest = this.buildQuoteRequest(rows, memberNumber);\n const pencilRequest: IPencilReservationRequest = {\n ...quoteRequest,\n pencilId: pencilId,\n };\n\n pencilRequest.rows = quoteRequest.rows.map((requestRow) => {\n const basketRow = rows.find((r) => r.getID() == requestRow.rowId);\n\n return {\n ...requestRow,\n pencilId: basketRow?.pencilId,\n };\n });\n\n return pencilRequest;\n };\n\n /**\n * Generates a unique query ID string based on basket row data.\n * This ID is used to detect changes and re-fetch deposit quotes during checkout.\n */\n public buildQuoteQueryID = (rows: BasketRow[], memberNumber?: string): string => {\n return rows\n .map((row) => {\n return `row:${row.getID()},\n room:${row.getRoom()?.code},\n rate:${row.getRate()?.code},\n promo:${row.getPromoCode()},\n adults:${row.getAdults()},\n children:${row.getChildren()},\n infants:${row.getInfants()},\n checkIn:${row.getStartDate()?.format('YYYY-MM-DD')},\n checkOut:${row.getEndDate()?.format('YYYY-MM-DD')},\n member:${memberNumber}`;\n })\n .join('-');\n };\n\n /**\n * Returns a quote for the given\n */\n public getPriceQuote = async (hotelId: string, rows: BasketRow[], memberNumber?: string): Promise<IBookingQuoteResponse> => {\n const quoteBody = this.buildQuoteRequest(rows, memberNumber);\n return this.post(APIEndpoint.Reservations, quoteBody, hotelId, {}, 'quote');\n };\n\n /**\n * Pencils a reservation for the given rooms. Returns the timeout, and quote if applicable.\n */\n public pencilReservation = async (hotelId: string, rows: BasketRow[], memberNumber?: string, pencilId?: string): Promise<IPencilReservationResponse> => {\n const quoteBody = this.buildPencilRequest(rows, memberNumber, pencilId);\n return this.post(APIEndpoint.Reservations, quoteBody, hotelId, {}, 'pencil');\n };\n\n /**\n *\n * @param basketRows\n * @param userProfiles\n * @param payment\n * @param addonRows\n * @param comments\n * @param hotelId\n * @param sessionId\n * @param specialReq\n * @returns\n */\n public bookNow = async (\n basketRows: BasketRow[],\n userProfiles: UserProfile[],\n payment: IBookingPayment,\n addonRows: BasketAddonRow[],\n comments: string,\n hotelId: string,\n sessionId: string,\n pencilId: string | undefined = undefined,\n specialReq: string | undefined = undefined,\n retryPayment = false,\n roomstayId: string | undefined = undefined,\n memberNumber: string | undefined = undefined\n ): Promise<ReservationsDTO> => {\n const rooms: any[] = [];\n\n basketRows.forEach((row) => {\n const room = {\n roomType: row.getRoom().code || '',\n ratePlan: row.getRate()?.code || '',\n promoCode: row.getPromoCode(),\n adults: row.getAdults(),\n children: row.getChildren(),\n infants: row.getInfants(),\n checkInDate: row.getStartDate().format('YYYY-MM-DD'),\n checkOutDate: row.getEndDate().format('YYYY-MM-DD'),\n\n quoteId: row.quoteDetails?.quoteId,\n rowId: row.getID(),\n memberNumber,\n pencilId: row.pencilId,\n };\n\n rooms.push(room);\n });\n\n const addons = addonRows.map((row) => {\n const addon = row.getAddon();\n const priceInfo = addon.availability[row.getSelectedDate()];\n\n const response: any = {\n code: addon.code,\n startDate: row.getSelectedDate(),\n };\n if (addon?.ratePlanCode) {\n response.ratePlanCode = row.getAddon().ratePlanCode;\n }\n if (row.getSelectedTime()) {\n response.startTime = row.getSelectedTime();\n }\n\n if (priceInfo.price) {\n response.quantity = row.getQuantity();\n }\n if (priceInfo.adultPrice) {\n response.adults = row.getAdultQuantity();\n }\n if (priceInfo.childPrice) {\n response.children = row.getChildQuantity();\n }\n\n if (addon.pricingType) {\n response.pricingType = addon.pricingType;\n }\n\n return response;\n });\n\n const getParams: any = {};\n\n if (retryPayment) {\n getParams.retryPayment = true;\n }\n\n return this.post(\n APIEndpoint.Reservations,\n {\n rooms: rooms,\n services: addons,\n specialRequest: specialReq,\n comments: comments,\n profiles: userProfiles,\n payment: payment,\n sessionId: sessionId,\n pencilId: pencilId,\n sourceUrl: window.location.href,\n roomstayId: roomstayId,\n },\n hotelId,\n getParams\n );\n };\n\n public commit = async (reservations: string[], itineraryId: string, hotelId: string, planpayCheckoutId?: string, paymentId?: string): Promise<ReservationsDTO> => {\n return this.post(\n APIEndpoint.Reservations,\n {\n itineraryId: itineraryId,\n reservationIds: reservations,\n planpayCheckoutId,\n paymentId,\n },\n hotelId,\n {},\n 'commit'\n );\n };\n\n public rollback = async (reservations: string[], itineraryId: string, hotelId: string): Promise<boolean> => {\n await this.post(\n APIEndpoint.Reservations,\n {\n itineraryId: itineraryId,\n reservationIds: reservations,\n },\n hotelId,\n {},\n 'rollback'\n );\n\n return true;\n };\n\n public cancelReservation = (id: string, email: string, hotelId: string): Promise<boolean> =>\n new Promise(async (resolve, reject) => {\n try {\n const response = await this.delete(APIEndpoint.Reservations, {}, hotelId, { email }, id);\n\n this.storedReservations[id]?.reservations?.forEach((reservation: ReservationDTO) => {\n if (reservation.reservationNumber === id) {\n reservation.status = 'Cancelled';\n }\n });\n\n resolve(response);\n } catch (ex) {\n reject(ex);\n }\n });\n\n public findReservation = (id: string, email: string, hotelId: string): Promise<ReservationsDTO> =>\n new Promise(async (resolve, reject) => {\n /*\n resolve with locally cached data, so we don't have to re-query this again\n */\n if (this.storedReservations[id]) {\n return resolve(this.storedReservations[id]);\n }\n\n try {\n const response = await this.get(APIEndpoint.Reservations, { email }, id, hotelId);\n\n this.storedReservations[id] = response;\n\n resolve(response);\n } catch (ex) {\n reject(ex);\n }\n });\n\n public linkBookingToMember = async (hotelId: string, reservationId: string, reservationEmail: string): Promise<{ message: string; booking: IRoomstayMemberBooking }> =>\n new Promise(async (resolve, reject) => {\n try {\n const response = await this.post(\n APIEndpoint.Reservations,\n {\n reservationId,\n reservationEmail,\n },\n hotelId,\n {},\n 'link-booking'\n );\n\n resolve(response);\n } catch (ex) {\n reject(ex);\n }\n });\n}\n"]}