@roomstay/frontend 2.3.9 → 2.3.11

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 (850) hide show
  1. package/dist/115.bundle.js +1 -1
  2. package/dist/201.bundle.js +1 -1
  3. package/dist/213.bundle.js +1 -1
  4. package/dist/279.bundle.js +1 -1
  5. package/dist/370.bundle.js +1 -1
  6. package/dist/446.bundle.js +1 -1
  7. package/dist/449.bundle.js +1 -1
  8. package/dist/572.bundle.js +1 -1
  9. package/dist/625.bundle.js +1 -1
  10. package/dist/686.bundle.js +1 -1
  11. package/dist/855.bundle.js +1 -1
  12. package/dist/873.bundle.js +1 -1
  13. package/dist/903.bundle.js +1 -1
  14. package/dist/972.bundle.js +1 -1
  15. package/dist/975.bundle.js +1 -1
  16. package/dist/main.bundle.js +1 -1
  17. package/dist/src/animations/AutoAutoHeight.js +31 -9
  18. package/dist/src/animations/AutoAutoHeight.js.map +1 -1
  19. package/dist/src/api/AddonAPI.d.ts +1 -1
  20. package/dist/src/api/AddonAPI.js +1 -1
  21. package/dist/src/api/AddonAPI.js.map +1 -1
  22. package/dist/src/api/AvailabilityAPI.d.ts +12 -12
  23. package/dist/src/api/AvailabilityAPI.js +8 -8
  24. package/dist/src/api/AvailabilityAPI.js.map +1 -1
  25. package/dist/src/api/BaseAPI.js +1 -1
  26. package/dist/src/api/BaseAPI.js.map +1 -1
  27. package/dist/src/api/BookingAPI.d.ts +4 -4
  28. package/dist/src/api/BookingAPI.js +4 -4
  29. package/dist/src/api/BookingAPI.js.map +1 -1
  30. package/dist/src/api/ErrorAPI.js.map +1 -1
  31. package/dist/src/api/HotelAPI.d.ts +3 -3
  32. package/dist/src/api/HotelAPI.js +3 -3
  33. package/dist/src/api/HotelAPI.js.map +1 -1
  34. package/dist/src/api/ReservationAPI.d.ts +3 -3
  35. package/dist/src/api/ReservationAPI.js +2 -2
  36. package/dist/src/api/ReservationAPI.js.map +1 -1
  37. package/dist/src/api/events-service/EventsServiceAPI.js.map +1 -1
  38. package/dist/src/api/members-service/MembersServiceAPI.js.map +1 -1
  39. package/dist/src/components/Event/EventCarouselContainer.js +2 -2
  40. package/dist/src/components/Event/EventCarouselContainer.js.map +1 -1
  41. package/dist/src/components/User/Forms/ForgotPasswordForm.js +7 -7
  42. package/dist/src/components/User/Forms/ForgotPasswordForm.js.map +1 -1
  43. package/dist/src/components/User/Forms/SignInForm.js +7 -7
  44. package/dist/src/components/User/Forms/SignInForm.js.map +1 -1
  45. package/dist/src/components/User/Forms/SignUpForm.js +7 -7
  46. package/dist/src/components/User/Forms/SignUpForm.js.map +1 -1
  47. package/dist/src/components/generic/Alert.d.ts +2 -2
  48. package/dist/src/components/generic/Alert.js +1 -1
  49. package/dist/src/components/generic/Alert.js.map +1 -1
  50. package/dist/src/components/generic/BEButton.d.ts +1 -1
  51. package/dist/src/components/generic/BEButton.js +2 -2
  52. package/dist/src/components/generic/BEButton.js.map +1 -1
  53. package/dist/src/components/generic/BackButton.js +2 -2
  54. package/dist/src/components/generic/BackButton.js.map +1 -1
  55. package/dist/src/components/generic/BookNowPayLaterInfoBlock.js +3 -3
  56. package/dist/src/components/generic/BookNowPayLaterInfoBlock.js.map +1 -1
  57. package/dist/src/components/generic/BookingWizard/BookingWizard.d.ts +1 -1
  58. package/dist/src/components/generic/BookingWizard/BookingWizard.js +5 -5
  59. package/dist/src/components/generic/BookingWizard/BookingWizard.js.map +1 -1
  60. package/dist/src/components/generic/BookingWizard/BookingWizardBottomSheet/BookingWizardBottomSheet.js.map +1 -1
  61. package/dist/src/components/generic/BookingWizard/BookingWizardContent.d.ts +1 -1
  62. package/dist/src/components/generic/BookingWizard/BookingWizardContent.js +5 -5
  63. package/dist/src/components/generic/BookingWizard/BookingWizardContent.js.map +1 -1
  64. package/dist/src/components/generic/BookingWizard/BookingWizardContext.js.map +1 -1
  65. package/dist/src/components/generic/BookingWizard/BookingWizardDateSelector/BookingWizardDateSelector.js +1 -1
  66. package/dist/src/components/generic/BookingWizard/BookingWizardDateSelector/BookingWizardDateSelector.js.map +1 -1
  67. package/dist/src/components/generic/BookingWizard/BookingWizardGuestSelector/BookingWizardGuestSelector.js +4 -4
  68. package/dist/src/components/generic/BookingWizard/BookingWizardGuestSelector/BookingWizardGuestSelector.js.map +1 -1
  69. package/dist/src/components/generic/BookingWizard/BookingWizardHotelSelector/BookingWizardHotelSelector.js +3 -3
  70. package/dist/src/components/generic/BookingWizard/BookingWizardHotelSelector/BookingWizardHotelSelector.js.map +1 -1
  71. package/dist/src/components/generic/BookingWizard/BookingWizardPromoCode/BookingWizardPromoCode.js +2 -2
  72. package/dist/src/components/generic/BookingWizard/BookingWizardPromoCode/BookingWizardPromoCode.js.map +1 -1
  73. package/dist/src/components/generic/Card/Card/Card.js +2 -2
  74. package/dist/src/components/generic/Card/Card/Card.js.map +1 -1
  75. package/dist/src/components/generic/Card/IconNavCard/IconNavCard.js +4 -4
  76. package/dist/src/components/generic/Card/IconNavCard/IconNavCard.js.map +1 -1
  77. package/dist/src/components/generic/Checkbox/Checkbox.js.map +1 -1
  78. package/dist/src/components/generic/Countdown.js +27 -5
  79. package/dist/src/components/generic/Countdown.js.map +1 -1
  80. package/dist/src/components/generic/Currency.js +8 -12
  81. package/dist/src/components/generic/Currency.js.map +1 -1
  82. package/dist/src/components/generic/DateRangePicker/DateRangePicker.js +15 -16
  83. package/dist/src/components/generic/DateRangePicker/DateRangePicker.js.map +1 -1
  84. package/dist/src/components/generic/DateRangePicker/DateRangePickerContext.d.ts +1 -1
  85. package/dist/src/components/generic/DateRangePicker/DateRangePickerContext.js.map +1 -1
  86. package/dist/src/components/generic/DateRangePicker/DateRangePickerDay.js +13 -14
  87. package/dist/src/components/generic/DateRangePicker/DateRangePickerDay.js.map +1 -1
  88. package/dist/src/components/generic/DateRangePicker/DateRangePickerDays.js +26 -4
  89. package/dist/src/components/generic/DateRangePicker/DateRangePickerDays.js.map +1 -1
  90. package/dist/src/components/generic/DateRangePicker/DateRangePickerMonth.js +7 -8
  91. package/dist/src/components/generic/DateRangePicker/DateRangePickerMonth.js.map +1 -1
  92. package/dist/src/components/generic/DateRangePicker/FloatingDateRangePicker.d.ts +2 -2
  93. package/dist/src/components/generic/DateRangePicker/FloatingDateRangePicker.js +29 -7
  94. package/dist/src/components/generic/DateRangePicker/FloatingDateRangePicker.js.map +1 -1
  95. package/dist/src/components/generic/Distance.js +27 -5
  96. package/dist/src/components/generic/Distance.js.map +1 -1
  97. package/dist/src/components/generic/Event/EventCard.d.ts +1 -1
  98. package/dist/src/components/generic/Event/EventCard.js +6 -6
  99. package/dist/src/components/generic/Event/EventCard.js.map +1 -1
  100. package/dist/src/components/generic/Event/EventCarousel.d.ts +1 -1
  101. package/dist/src/components/generic/Event/EventCarousel.js +6 -6
  102. package/dist/src/components/generic/Event/EventCarousel.js.map +1 -1
  103. package/dist/src/components/generic/ForwardedSelect.js +24 -5
  104. package/dist/src/components/generic/ForwardedSelect.js.map +1 -1
  105. package/dist/src/components/generic/Headline.d.ts +2 -3
  106. package/dist/src/components/generic/Headline.js +1 -1
  107. package/dist/src/components/generic/Headline.js.map +1 -1
  108. package/dist/src/components/generic/Icon/Icon.js +2 -2
  109. package/dist/src/components/generic/Icon/Icon.js.map +1 -1
  110. package/dist/src/components/generic/IconText/IconText.js +2 -2
  111. package/dist/src/components/generic/IconText/IconText.js.map +1 -1
  112. package/dist/src/components/generic/InputGroup/InputGroup.js +1 -1
  113. package/dist/src/components/generic/InputGroup/InputGroup.js.map +1 -1
  114. package/dist/src/components/generic/Layout/StepLayout/StepLayoutContainer.js +2 -2
  115. package/dist/src/components/generic/Layout/StepLayout/StepLayoutContainer.js.map +1 -1
  116. package/dist/src/components/generic/Layout/StepLayout/StepLayoutLeftContent.js +1 -1
  117. package/dist/src/components/generic/Layout/StepLayout/StepLayoutLeftContent.js.map +1 -1
  118. package/dist/src/components/generic/Layout/StepLayout/StepLayoutRightContent.js +1 -1
  119. package/dist/src/components/generic/Layout/StepLayout/StepLayoutRightContent.js.map +1 -1
  120. package/dist/src/components/generic/LineBreak.js +1 -1
  121. package/dist/src/components/generic/LineBreak.js.map +1 -1
  122. package/dist/src/components/generic/Notification.js +3 -7
  123. package/dist/src/components/generic/Notification.js.map +1 -1
  124. package/dist/src/components/generic/NumberIncrement.js +1 -1
  125. package/dist/src/components/generic/NumberIncrement.js.map +1 -1
  126. package/dist/src/components/generic/Overlay/Overlay.d.ts +1 -1
  127. package/dist/src/components/generic/Overlay/Overlay.js +4 -4
  128. package/dist/src/components/generic/Overlay/Overlay.js.map +1 -1
  129. package/dist/src/components/generic/PasswordBox/PasswordBox.js +3 -4
  130. package/dist/src/components/generic/PasswordBox/PasswordBox.js.map +1 -1
  131. package/dist/src/components/generic/PaymentCard/CardTypeSelect.js +4 -4
  132. package/dist/src/components/generic/PaymentCard/CardTypeSelect.js.map +1 -1
  133. package/dist/src/components/generic/PaymentCard/InlinePaymentCard.js +1 -1
  134. package/dist/src/components/generic/PaymentCard/InlinePaymentCard.js.map +1 -1
  135. package/dist/src/components/generic/PaymentCard/InlinePaymentOption.d.ts +1 -1
  136. package/dist/src/components/generic/PaymentCard/InlinePaymentOption.js +5 -5
  137. package/dist/src/components/generic/PaymentCard/InlinePaymentOption.js.map +1 -1
  138. package/dist/src/components/generic/PaymentCard/PaymentCard.js +5 -5
  139. package/dist/src/components/generic/PaymentCard/PaymentCard.js.map +1 -1
  140. package/dist/src/components/generic/PaymentCard/PaymentCardInput.d.ts +1 -1
  141. package/dist/src/components/generic/PaymentCard/PaymentCardInput.js +11 -11
  142. package/dist/src/components/generic/PaymentCard/PaymentCardInput.js.map +1 -1
  143. package/dist/src/components/generic/Pill.d.ts +1 -2
  144. package/dist/src/components/generic/Pill.js +2 -2
  145. package/dist/src/components/generic/Pill.js.map +1 -1
  146. package/dist/src/components/generic/Placeholder.js +1 -1
  147. package/dist/src/components/generic/Placeholder.js.map +1 -1
  148. package/dist/src/components/generic/PlanpayButton/PlanpayButton.js.map +1 -1
  149. package/dist/src/components/generic/Portal/Portal.d.ts +1 -2
  150. package/dist/src/components/generic/Portal/Portal.js.map +1 -1
  151. package/dist/src/components/generic/PromoCodeInput.js +4 -4
  152. package/dist/src/components/generic/PromoCodeInput.js.map +1 -1
  153. package/dist/src/components/generic/RadioButtonGroup/RadioButton.js +2 -2
  154. package/dist/src/components/generic/RadioButtonGroup/RadioButton.js.map +1 -1
  155. package/dist/src/components/generic/RadioButtonGroup/RadioButtonGroup.js +3 -3
  156. package/dist/src/components/generic/RadioButtonGroup/RadioButtonGroup.js.map +1 -1
  157. package/dist/src/components/generic/RatioImage/RatioImage.js.map +1 -1
  158. package/dist/src/components/generic/RecentSearchesCard.js +6 -6
  159. package/dist/src/components/generic/RecentSearchesCard.js.map +1 -1
  160. package/dist/src/components/generic/RoomstayMark.js +1 -1
  161. package/dist/src/components/generic/RoomstayMark.js.map +1 -1
  162. package/dist/src/components/generic/Select/InputSelect.d.ts +1 -1
  163. package/dist/src/components/generic/Select/InputSelect.js +2 -2
  164. package/dist/src/components/generic/Select/InputSelect.js.map +1 -1
  165. package/dist/src/components/generic/Select/Select.d.ts +1 -1
  166. package/dist/src/components/generic/Select/Select.js +6 -6
  167. package/dist/src/components/generic/Select/Select.js.map +1 -1
  168. package/dist/src/components/generic/Select/index.d.ts +1 -1
  169. package/dist/src/components/generic/Select/index.js +1 -1
  170. package/dist/src/components/generic/Select/index.js.map +1 -1
  171. package/dist/src/components/generic/Slider/Slider.js +28 -6
  172. package/dist/src/components/generic/Slider/Slider.js.map +1 -1
  173. package/dist/src/components/generic/Tabs/TabContext.js +27 -8
  174. package/dist/src/components/generic/Tabs/TabContext.js.map +1 -1
  175. package/dist/src/components/generic/Tabs/TabLink.js +3 -3
  176. package/dist/src/components/generic/Tabs/TabLink.js.map +1 -1
  177. package/dist/src/components/generic/Tabs/TabRouteContainer.js +25 -3
  178. package/dist/src/components/generic/Tabs/TabRouteContainer.js.map +1 -1
  179. package/dist/src/components/generic/Tabs/Tabs.d.ts +1 -2
  180. package/dist/src/components/generic/Tabs/Tabs.js +1 -1
  181. package/dist/src/components/generic/Tabs/Tabs.js.map +1 -1
  182. package/dist/src/components/generic/Text.d.ts +2 -3
  183. package/dist/src/components/generic/Text.js +1 -1
  184. package/dist/src/components/generic/Text.js.map +1 -1
  185. package/dist/src/components/generic/TextArea.js +1 -1
  186. package/dist/src/components/generic/TextArea.js.map +1 -1
  187. package/dist/src/components/generic/TextBox.js +1 -1
  188. package/dist/src/components/generic/TextBox.js.map +1 -1
  189. package/dist/src/components/generic/Tooltip/Tooltip.js +27 -5
  190. package/dist/src/components/generic/Tooltip/Tooltip.js.map +1 -1
  191. package/dist/src/components/generic/badging/SSLSecureBadge.js +2 -2
  192. package/dist/src/components/generic/badging/SSLSecureBadge.js.map +1 -1
  193. package/dist/src/components/generic/buttons/NextStepButton.js +28 -6
  194. package/dist/src/components/generic/buttons/NextStepButton.js.map +1 -1
  195. package/dist/src/components/generic/custom/EnhancedPhoneNumberField/EnhancedPhoneNumberField.d.ts +1 -2
  196. package/dist/src/components/generic/custom/EnhancedPhoneNumberField/EnhancedPhoneNumberField.js +8 -9
  197. package/dist/src/components/generic/custom/EnhancedPhoneNumberField/EnhancedPhoneNumberField.js.map +1 -1
  198. package/dist/src/components/generic/date/DatePicker.js +24 -26
  199. package/dist/src/components/generic/date/DatePicker.js.map +1 -1
  200. package/dist/src/components/generic/date/DatePickerDay.js +20 -21
  201. package/dist/src/components/generic/date/DatePickerDay.js.map +1 -1
  202. package/dist/src/components/generic/date/DatePickerDays.js +27 -5
  203. package/dist/src/components/generic/date/DatePickerDays.js.map +1 -1
  204. package/dist/src/components/generic/date/DatePickerMonth.js +4 -5
  205. package/dist/src/components/generic/date/DatePickerMonth.js.map +1 -1
  206. package/dist/src/components/generic/date/DatePickerWeek.js +20 -21
  207. package/dist/src/components/generic/date/DatePickerWeek.js.map +1 -1
  208. package/dist/src/components/generic/date/FloatingDatePicker.d.ts +1 -1
  209. package/dist/src/components/generic/date/FloatingDatePicker.js +5 -6
  210. package/dist/src/components/generic/date/FloatingDatePicker.js.map +1 -1
  211. package/dist/src/components/generic/date/WeekViewSkeleton.js +32 -10
  212. package/dist/src/components/generic/date/WeekViewSkeleton.js.map +1 -1
  213. package/dist/src/components/generic/loader/ImageLoader.js +6 -7
  214. package/dist/src/components/generic/loader/ImageLoader.js.map +1 -1
  215. package/dist/src/components/generic/loader/LargeLoader.js +2 -2
  216. package/dist/src/components/generic/loader/LargeLoader.js.map +1 -1
  217. package/dist/src/components/generic/loader/SmallSpinner.js.map +1 -1
  218. package/dist/src/components/generic/map/HotelLocationMap.js +1 -1
  219. package/dist/src/components/generic/map/HotelLocationMap.js.map +1 -1
  220. package/dist/src/components/generic/modal/ConfirmationModal.js +2 -2
  221. package/dist/src/components/generic/modal/ConfirmationModal.js.map +1 -1
  222. package/dist/src/components/generic/modal/ErrorModal.js +1 -1
  223. package/dist/src/components/generic/modal/ErrorModal.js.map +1 -1
  224. package/dist/src/components/generic/modal/SigninModal/AuthenticatedUserModal.d.ts +1 -1
  225. package/dist/src/components/generic/modal/SigninModal/AuthenticatedUserModal.js +9 -9
  226. package/dist/src/components/generic/modal/SigninModal/AuthenticatedUserModal.js.map +1 -1
  227. package/dist/src/components/generic/modal/SigninModal/FormContent/SignInFormContent.js +2 -2
  228. package/dist/src/components/generic/modal/SigninModal/FormContent/SignInFormContent.js.map +1 -1
  229. package/dist/src/components/generic/modal/SigninModal/FormContent/SignUpFormContent.js +1 -1
  230. package/dist/src/components/generic/modal/SigninModal/FormContent/SignUpFormContent.js.map +1 -1
  231. package/dist/src/components/generic/modal/SigninModal/UnauthenticatedUserModal.js +5 -5
  232. package/dist/src/components/generic/modal/SigninModal/UnauthenticatedUserModal.js.map +1 -1
  233. package/dist/src/components/generic/modal/SimpleModal.js +13 -14
  234. package/dist/src/components/generic/modal/SimpleModal.js.map +1 -1
  235. package/dist/src/components/generic/modal/TabbedModal.js +4 -5
  236. package/dist/src/components/generic/modal/TabbedModal.js.map +1 -1
  237. package/dist/src/components/generic/radio/RadioFields.js +1 -1
  238. package/dist/src/components/generic/radio/RadioFields.js.map +1 -1
  239. package/dist/src/components/graphics/AddCard.js.map +1 -1
  240. package/dist/src/components/graphics/HomeEmptyCard.js.map +1 -1
  241. package/dist/src/components/graphics/HomeEmptyReservation.js.map +1 -1
  242. package/dist/src/components/iconComponents/CreditCardOff.js.map +1 -1
  243. package/dist/src/components/members/EditMyProfile.js +35 -13
  244. package/dist/src/components/members/EditMyProfile.js.map +1 -1
  245. package/dist/src/components/navigation/Header.js +13 -13
  246. package/dist/src/components/navigation/Header.js.map +1 -1
  247. package/dist/src/components/navigation/StepSelector.js +12 -14
  248. package/dist/src/components/navigation/StepSelector.js.map +1 -1
  249. package/dist/src/components/navigation/StepSelectorModal.js +18 -20
  250. package/dist/src/components/navigation/StepSelectorModal.js.map +1 -1
  251. package/dist/src/components/pages/Account/Card/CardList.d.ts +1 -1
  252. package/dist/src/components/pages/Account/Card/CardList.js +2 -2
  253. package/dist/src/components/pages/Account/Card/CardList.js.map +1 -1
  254. package/dist/src/components/pages/Account/Card/MemberCardItem.js +3 -3
  255. package/dist/src/components/pages/Account/Card/MemberCardItem.js.map +1 -1
  256. package/dist/src/components/pages/PageColorComponent.js +25 -3
  257. package/dist/src/components/pages/PageColorComponent.js.map +1 -1
  258. package/dist/src/components/reservation/EmptyReservation.js +3 -3
  259. package/dist/src/components/reservation/EmptyReservation.js.map +1 -1
  260. package/dist/src/components/reservation/ReservationItem.js +11 -11
  261. package/dist/src/components/reservation/ReservationItem.js.map +1 -1
  262. package/dist/src/components/reservation/ReservationList.d.ts +2 -2
  263. package/dist/src/components/reservation/ReservationList.js +1 -1
  264. package/dist/src/components/reservation/ReservationList.js.map +1 -1
  265. package/dist/src/components/steps/DaysSelectedInformer.js +3 -3
  266. package/dist/src/components/steps/DaysSelectedInformer.js.map +1 -1
  267. package/dist/src/components/steps/MinimumNightStayPill.js +10 -11
  268. package/dist/src/components/steps/MinimumNightStayPill.js.map +1 -1
  269. package/dist/src/components/steps/addons/AddonCard.js +8 -8
  270. package/dist/src/components/steps/addons/AddonCard.js.map +1 -1
  271. package/dist/src/components/steps/addons/AddonList.js +4 -4
  272. package/dist/src/components/steps/addons/AddonList.js.map +1 -1
  273. package/dist/src/components/steps/addons/AddonsNotFound.js +3 -3
  274. package/dist/src/components/steps/addons/AddonsNotFound.js.map +1 -1
  275. package/dist/src/components/steps/common/CommonAddonSummary/CommonAddonSummary.js +2 -2
  276. package/dist/src/components/steps/common/CommonAddonSummary/CommonAddonSummary.js.map +1 -1
  277. package/dist/src/components/steps/confirmation/AccountDetails.js +28 -6
  278. package/dist/src/components/steps/confirmation/AccountDetails.js.map +1 -1
  279. package/dist/src/components/steps/confirmation/PaymentDetails/AcceptablePaymentCard.js +3 -3
  280. package/dist/src/components/steps/confirmation/PaymentDetails/AcceptablePaymentCard.js.map +1 -1
  281. package/dist/src/components/steps/confirmation/PaymentDetails/ExistingCardPicker.js +2 -2
  282. package/dist/src/components/steps/confirmation/PaymentDetails/ExistingCardPicker.js.map +1 -1
  283. package/dist/src/components/steps/confirmation/PaymentDetails/StepConfirmationPaymentDetails.js +6 -6
  284. package/dist/src/components/steps/confirmation/PaymentDetails/StepConfirmationPaymentDetails.js.map +1 -1
  285. package/dist/src/components/steps/confirmation/PaymentInformation.js +11 -11
  286. package/dist/src/components/steps/confirmation/PaymentInformation.js.map +1 -1
  287. package/dist/src/components/steps/confirmation/PlanpayPaymentMethod.js +27 -5
  288. package/dist/src/components/steps/confirmation/PlanpayPaymentMethod.js.map +1 -1
  289. package/dist/src/components/steps/confirmation/RoomContactDetails.js +25 -26
  290. package/dist/src/components/steps/confirmation/RoomContactDetails.js.map +1 -1
  291. package/dist/src/components/steps/confirmation/StepConfirmationAcknowledgement.js +6 -6
  292. package/dist/src/components/steps/confirmation/StepConfirmationAcknowledgement.js.map +1 -1
  293. package/dist/src/components/steps/confirmation/StepConfirmationCheckoutDifferencesModal.js +8 -8
  294. package/dist/src/components/steps/confirmation/StepConfirmationCheckoutDifferencesModal.js.map +1 -1
  295. package/dist/src/components/steps/confirmation/StepConfirmationCommentsComponent.js +1 -1
  296. package/dist/src/components/steps/confirmation/StepConfirmationCommentsComponent.js.map +1 -1
  297. package/dist/src/components/steps/confirmation/StepConfirmationCountrySelector.d.ts +1 -2
  298. package/dist/src/components/steps/confirmation/StepConfirmationCountrySelector.js +13 -14
  299. package/dist/src/components/steps/confirmation/StepConfirmationCountrySelector.js.map +1 -1
  300. package/dist/src/components/steps/confirmation/StepConfirmationForm.js +23 -23
  301. package/dist/src/components/steps/confirmation/StepConfirmationForm.js.map +1 -1
  302. package/dist/src/components/steps/confirmation/StepConfirmationFormProvider.js +1 -1
  303. package/dist/src/components/steps/confirmation/StepConfirmationFormProvider.js.map +1 -1
  304. package/dist/src/components/steps/confirmation/StepConfirmationLimitedOffer.js +4 -4
  305. package/dist/src/components/steps/confirmation/StepConfirmationLimitedOffer.js.map +1 -1
  306. package/dist/src/components/steps/confirmation/StepConfirmationPoliciesSection.js +3 -3
  307. package/dist/src/components/steps/confirmation/StepConfirmationPoliciesSection.js.map +1 -1
  308. package/dist/src/components/steps/confirmation/StepConfirmationPolicyBlock.js +4 -8
  309. package/dist/src/components/steps/confirmation/StepConfirmationPolicyBlock.js.map +1 -1
  310. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffers.js +11 -11
  311. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffers.js.map +1 -1
  312. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersColumn.js +4 -4
  313. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersColumn.js.map +1 -1
  314. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersModal.js +6 -6
  315. package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersModal.js.map +1 -1
  316. package/dist/src/components/steps/date/PeoplePicker.js +8 -9
  317. package/dist/src/components/steps/date/PeoplePicker.js.map +1 -1
  318. package/dist/src/components/steps/date/PeoplePickerRow.js +5 -5
  319. package/dist/src/components/steps/date/PeoplePickerRow.js.map +1 -1
  320. package/dist/src/components/steps/date/StepDatePricePerRoom.js +14 -15
  321. package/dist/src/components/steps/date/StepDatePricePerRoom.js.map +1 -1
  322. package/dist/src/components/steps/date/StepOneDateRange.js +6 -7
  323. package/dist/src/components/steps/date/StepOneDateRange.js.map +1 -1
  324. package/dist/src/components/steps/date/StepOneDateRangePicker.js +6 -7
  325. package/dist/src/components/steps/date/StepOneDateRangePicker.js.map +1 -1
  326. package/dist/src/components/steps/date/StepOneDateRangePickerLegend.js +4 -5
  327. package/dist/src/components/steps/date/StepOneDateRangePickerLegend.js.map +1 -1
  328. package/dist/src/components/steps/date/StepOneNextStepButton.js +5 -6
  329. package/dist/src/components/steps/date/StepOneNextStepButton.js.map +1 -1
  330. package/dist/src/components/steps/date/StepOneStatusPeople.js +1 -1
  331. package/dist/src/components/steps/date/StepOneStatusPeople.js.map +1 -1
  332. package/dist/src/components/steps/hotel/HotelCard.js +10 -10
  333. package/dist/src/components/steps/hotel/HotelCard.js.map +1 -1
  334. package/dist/src/components/steps/hotel/HotelCardList.js.map +1 -1
  335. package/dist/src/components/steps/hotel/HotelCardModal.js +5 -5
  336. package/dist/src/components/steps/hotel/HotelCardModal.js.map +1 -1
  337. package/dist/src/components/steps/hotel/HotelSearchParameters.js +14 -15
  338. package/dist/src/components/steps/hotel/HotelSearchParameters.js.map +1 -1
  339. package/dist/src/components/steps/hotel/NoHotelsAvailable.js.map +1 -1
  340. package/dist/src/components/steps/room/AvailableUpgradesModal.js +6 -6
  341. package/dist/src/components/steps/room/AvailableUpgradesModal.js.map +1 -1
  342. package/dist/src/components/steps/room/ImageGallerySlider.js +13 -14
  343. package/dist/src/components/steps/room/ImageGallerySlider.js.map +1 -1
  344. package/dist/src/components/steps/room/InactivityWindow.js +8 -8
  345. package/dist/src/components/steps/room/InactivityWindow.js.map +1 -1
  346. package/dist/src/components/steps/room/LargeRoomCard.js +5 -5
  347. package/dist/src/components/steps/room/LargeRoomCard.js.map +1 -1
  348. package/dist/src/components/steps/room/MemberSignInModal/MemberSignInModal.js +16 -16
  349. package/dist/src/components/steps/room/MemberSignInModal/MemberSignInModal.js.map +1 -1
  350. package/dist/src/components/steps/room/NoRoomsFoundBlock.js +4 -4
  351. package/dist/src/components/steps/room/NoRoomsFoundBlock.js.map +1 -1
  352. package/dist/src/components/steps/room/RatesNotFound.js +3 -3
  353. package/dist/src/components/steps/room/RatesNotFound.js.map +1 -1
  354. package/dist/src/components/steps/room/RoomList.js +6 -6
  355. package/dist/src/components/steps/room/RoomList.js.map +1 -1
  356. package/dist/src/components/steps/room/RoomListAlert.js +25 -3
  357. package/dist/src/components/steps/room/RoomListAlert.js.map +1 -1
  358. package/dist/src/components/steps/room/RoomListCrossSellBlock.js +8 -8
  359. package/dist/src/components/steps/room/RoomListCrossSellBlock.js.map +1 -1
  360. package/dist/src/components/steps/room/RoomModal.js +8 -8
  361. package/dist/src/components/steps/room/RoomModal.js.map +1 -1
  362. package/dist/src/components/steps/room/StepRoomAlertBlocks.js +5 -6
  363. package/dist/src/components/steps/room/StepRoomAlertBlocks.js.map +1 -1
  364. package/dist/src/components/steps/room/StepRoomBestRateAlert.js +6 -7
  365. package/dist/src/components/steps/room/StepRoomBestRateAlert.js.map +1 -1
  366. package/dist/src/components/steps/room/StepRoomErrorForm.js +8 -9
  367. package/dist/src/components/steps/room/StepRoomErrorForm.js.map +1 -1
  368. package/dist/src/components/steps/room/StepRoomHotelDetails.js +8 -9
  369. package/dist/src/components/steps/room/StepRoomHotelDetails.js.map +1 -1
  370. package/dist/src/components/steps/room/StepRoomNextStepButton.js +5 -6
  371. package/dist/src/components/steps/room/StepRoomNextStepButton.js.map +1 -1
  372. package/dist/src/components/steps/room/StepRoomSortBy.js +7 -8
  373. package/dist/src/components/steps/room/StepRoomSortBy.js.map +1 -1
  374. package/dist/src/components/steps/room/StepRoomSummaryAndButton.js +32 -10
  375. package/dist/src/components/steps/room/StepRoomSummaryAndButton.js.map +1 -1
  376. package/dist/src/components/steps/room/TabGroupedRooms/TabGroupedRoomList.d.ts +1 -1
  377. package/dist/src/components/steps/room/TabGroupedRooms/TabGroupedRoomList.js +2 -2
  378. package/dist/src/components/steps/room/TabGroupedRooms/TabGroupedRoomList.js.map +1 -1
  379. package/dist/src/components/steps/room/TabGroupedRooms/TabGroupedRooms.js +9 -9
  380. package/dist/src/components/steps/room/TabGroupedRooms/TabGroupedRooms.js.map +1 -1
  381. package/dist/src/components/steps/room/TripteaseLodgingSearchSchema.js +1 -1
  382. package/dist/src/components/steps/room/TripteaseLodgingSearchSchema.js.map +1 -1
  383. package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummary.js +6 -6
  384. package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummary.js.map +1 -1
  385. package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummaryPromocodeInput.js +3 -3
  386. package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummaryPromocodeInput.js.map +1 -1
  387. package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummaryRow.js +12 -12
  388. package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummaryRow.js.map +1 -1
  389. package/dist/src/components/steps/room/roomBuilderProgress/NumberOfAdultsPicker.js +2 -2
  390. package/dist/src/components/steps/room/roomBuilderProgress/NumberOfAdultsPicker.js.map +1 -1
  391. package/dist/src/components/steps/room/roomBuilderProgress/NumberOfChildrenPicker.js +2 -2
  392. package/dist/src/components/steps/room/roomBuilderProgress/NumberOfChildrenPicker.js.map +1 -1
  393. package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgress.js +8 -9
  394. package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgress.js.map +1 -1
  395. package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgressRow.js +18 -19
  396. package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgressRow.js.map +1 -1
  397. package/dist/src/components/steps/room/roomDetails/RoomDetails.js +16 -16
  398. package/dist/src/components/steps/room/roomDetails/RoomDetails.js.map +1 -1
  399. package/dist/src/components/steps/room/roomDetails/RoomDetailsBedsBlock.js +3 -3
  400. package/dist/src/components/steps/room/roomDetails/RoomDetailsBedsBlock.js.map +1 -1
  401. package/dist/src/components/steps/room/roomDetails/RoomDetailsPerkBlock.js +3 -3
  402. package/dist/src/components/steps/room/roomDetails/RoomDetailsPerkBlock.js.map +1 -1
  403. package/dist/src/components/steps/room/roomDetails/RoomDetailsPriceBlock.js +7 -7
  404. package/dist/src/components/steps/room/roomDetails/RoomDetailsPriceBlock.js.map +1 -1
  405. package/dist/src/components/steps/room/roomDetails/RoomDetailsRetargeting.d.ts +1 -1
  406. package/dist/src/components/steps/room/roomDetails/RoomDetailsRetargeting.js +3 -3
  407. package/dist/src/components/steps/room/roomDetails/RoomDetailsRetargeting.js.map +1 -1
  408. package/dist/src/components/steps/room/roomDetails/roomRates/BookNowButton.js +28 -6
  409. package/dist/src/components/steps/room/roomDetails/roomRates/BookNowButton.js.map +1 -1
  410. package/dist/src/components/steps/room/roomDetails/roomRates/MembersOnlyRow.js +10 -11
  411. package/dist/src/components/steps/room/roomDetails/roomRates/MembersOnlyRow.js.map +1 -1
  412. package/dist/src/components/steps/room/roomDetails/roomRates/PriceBreakdownBlock.js +5 -5
  413. package/dist/src/components/steps/room/roomDetails/roomRates/PriceBreakdownBlock.js.map +1 -1
  414. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDescriptionTab.js +7 -7
  415. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDescriptionTab.js.map +1 -1
  416. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDetailsAndPriceBreakdownModal.js +2 -2
  417. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDetailsAndPriceBreakdownModal.js.map +1 -1
  418. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateListPromotion/RoomRateListPromotion.d.ts +1 -1
  419. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateListPromotion/RoomRateListPromotion.js +4 -4
  420. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateListPromotion/RoomRateListPromotion.js.map +1 -1
  421. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRatePills.js +6 -6
  422. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRatePills.js.map +1 -1
  423. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateRow.js +12 -12
  424. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateRow.js.map +1 -1
  425. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRates.js +38 -17
  426. package/dist/src/components/steps/room/roomDetails/roomRates/RoomRates.js.map +1 -1
  427. package/dist/src/components/steps/room/roomFilter/AppliedFiltersBlock.js +8 -9
  428. package/dist/src/components/steps/room/roomFilter/AppliedFiltersBlock.js.map +1 -1
  429. package/dist/src/components/steps/room/roomFilter/RoomFilterOverlay.js +10 -10
  430. package/dist/src/components/steps/room/roomFilter/RoomFilterOverlay.js.map +1 -1
  431. package/dist/src/components/steps/room/roomFilter/RoomFilterPriceSlider.js +6 -6
  432. package/dist/src/components/steps/room/roomFilter/RoomFilterPriceSlider.js.map +1 -1
  433. package/dist/src/components/steps/room/roomFilter/RoomFilterRateType.js +9 -10
  434. package/dist/src/components/steps/room/roomFilter/RoomFilterRateType.js.map +1 -1
  435. package/dist/src/components/steps/room/roomFilter/RoomFilterRoomType.d.ts +1 -1
  436. package/dist/src/components/steps/room/roomFilter/RoomFilterRoomType.js +9 -10
  437. package/dist/src/components/steps/room/roomFilter/RoomFilterRoomType.js.map +1 -1
  438. package/dist/src/components/summary/BEMapWidget.js +9 -10
  439. package/dist/src/components/summary/BEMapWidget.js.map +1 -1
  440. package/dist/src/components/summary/BEMobileSummary.js +13 -14
  441. package/dist/src/components/summary/BEMobileSummary.js.map +1 -1
  442. package/dist/src/components/summary/BEMobileSummaryModal.js +16 -16
  443. package/dist/src/components/summary/BEMobileSummaryModal.js.map +1 -1
  444. package/dist/src/components/summary/BESummary.js +17 -18
  445. package/dist/src/components/summary/BESummary.js.map +1 -1
  446. package/dist/src/components/summary/BESummaryAddonRow.js +6 -6
  447. package/dist/src/components/summary/BESummaryAddonRow.js.map +1 -1
  448. package/dist/src/components/summary/BESummaryPerkBlock.js +2 -2
  449. package/dist/src/components/summary/BESummaryPerkBlock.js.map +1 -1
  450. package/dist/src/components/summary/BESummaryPrivacyPolicy.js +4 -4
  451. package/dist/src/components/summary/BESummaryPrivacyPolicy.js.map +1 -1
  452. package/dist/src/components/summary/BESummaryRoomRow.js +10 -10
  453. package/dist/src/components/summary/BESummaryRoomRow.js.map +1 -1
  454. package/dist/src/components/summary/TransportDistanceFromHotelBlock.js +5 -5
  455. package/dist/src/components/summary/TransportDistanceFromHotelBlock.js.map +1 -1
  456. package/dist/src/containers/PrivateRoute.js +1 -1
  457. package/dist/src/containers/PrivateRoute.js.map +1 -1
  458. package/dist/src/contexts/BasketContext/BasketContext.js.map +1 -1
  459. package/dist/src/contexts/BasketContext/BasketContextType.js.map +1 -1
  460. package/dist/src/contexts/BasketContext/BasketContextWrapper.js +11 -11
  461. package/dist/src/contexts/BasketContext/BasketContextWrapper.js.map +1 -1
  462. package/dist/src/contexts/BookingEngineContext/BookingEngineContext.js.map +1 -1
  463. package/dist/src/contexts/BookingEngineContext/BookingEngineContextWrapper.js +1 -1
  464. package/dist/src/contexts/BookingEngineContext/BookingEngineContextWrapper.js.map +1 -1
  465. package/dist/src/contexts/CompanyContext/CompanyContext.js.map +1 -1
  466. package/dist/src/contexts/CompanyContext/CompanyContextType.type.d.ts +1 -1
  467. package/dist/src/contexts/CompanyContext/CompanyContextType.type.js.map +1 -1
  468. package/dist/src/contexts/CompanyContext/CompanyContextWrapper.js +32 -33
  469. package/dist/src/contexts/CompanyContext/CompanyContextWrapper.js.map +1 -1
  470. package/dist/src/contexts/ConfirmationFormContext.js +24 -5
  471. package/dist/src/contexts/ConfirmationFormContext.js.map +1 -1
  472. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContext.js.map +1 -1
  473. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextTypes.d.ts +1 -1
  474. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextTypes.js.map +1 -1
  475. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextWrapper.js +5 -5
  476. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextWrapper.js.map +1 -1
  477. package/dist/src/contexts/DatePickerContext.d.ts +1 -1
  478. package/dist/src/contexts/DatePickerContext.js.map +1 -1
  479. package/dist/src/contexts/ErrorContext.js +4 -5
  480. package/dist/src/contexts/ErrorContext.js.map +1 -1
  481. package/dist/src/contexts/FullPageEngineContext/FullPageEngineContext.js.map +1 -1
  482. package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextTypes.js.map +1 -1
  483. package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextWrapper.js +17 -17
  484. package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextWrapper.js.map +1 -1
  485. package/dist/src/contexts/HotelOverridesContext.js +37 -15
  486. package/dist/src/contexts/HotelOverridesContext.js.map +1 -1
  487. package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContext.js.map +1 -1
  488. package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContextProvider.js +2 -2
  489. package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContextProvider.js.map +1 -1
  490. package/dist/src/contexts/Members/RoomstayMemberContext/RoomstayMemberContext.js.map +1 -1
  491. package/dist/src/contexts/Members/RoomstayMemberContext/RoomstayMemberContextProvider.js +43 -21
  492. package/dist/src/contexts/Members/RoomstayMemberContext/RoomstayMemberContextProvider.js.map +1 -1
  493. package/dist/src/contexts/NotificationContext.js +25 -3
  494. package/dist/src/contexts/NotificationContext.js.map +1 -1
  495. package/dist/src/contexts/index.d.ts +7 -7
  496. package/dist/src/contexts/index.js +7 -7
  497. package/dist/src/contexts/index.js.map +1 -1
  498. package/dist/src/engines/BaseEngine.d.ts +1 -1
  499. package/dist/src/engines/BaseEngine.js.map +1 -1
  500. package/dist/src/engines/BookingWizardEngine/BookingWizardEngine.js +1 -1
  501. package/dist/src/engines/BookingWizardEngine/BookingWizardEngine.js.map +1 -1
  502. package/dist/src/engines/BookingWizardEngine/BookingWizardEngineElement.js.map +1 -1
  503. package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngine.js +1 -1
  504. package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngine.js.map +1 -1
  505. package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngineElement.js +30 -12
  506. package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngineElement.js.map +1 -1
  507. package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngine.js.map +1 -1
  508. package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.js +22 -22
  509. package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.js.map +1 -1
  510. package/dist/src/engines/MemberPortalWidget/MemberPortalWidget.d.ts +2 -2
  511. package/dist/src/engines/MemberPortalWidget/MemberPortalWidget.js.map +1 -1
  512. package/dist/src/engines/MemberPortalWidget/MemberPortalWidgetElement.js +1 -1
  513. package/dist/src/engines/MemberPortalWidget/MemberPortalWidgetElement.js.map +1 -1
  514. package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngine.js +2 -2
  515. package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngine.js.map +1 -1
  516. package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngineElement.js +8 -8
  517. package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngineElement.js.map +1 -1
  518. package/dist/src/errors/GetAvailabilityError.js +1 -1
  519. package/dist/src/errors/GetAvailabilityError.js.map +1 -1
  520. package/dist/src/events/RoomstayEventManager.js.map +1 -1
  521. package/dist/src/events/actions/AddToCartEvent.d.ts +1 -1
  522. package/dist/src/events/actions/AddToCartEvent.js.map +1 -1
  523. package/dist/src/events/actions/GuestSearchEvent.js.map +1 -1
  524. package/dist/src/events/actions/InitialHotelDetailsEvent.js.map +1 -1
  525. package/dist/src/events/actions/MemberOnlyFence/MemberOnlyFenceSignUp.js.map +1 -1
  526. package/dist/src/events/actions/Promotion/PromotionAddedEvent.js.map +1 -1
  527. package/dist/src/events/actions/Promotion/PromotionClickedEvent.js.map +1 -1
  528. package/dist/src/events/actions/Promotion/PromotionRemovedEvent.js.map +1 -1
  529. package/dist/src/events/actions/RemoveFromCartEvent.d.ts +1 -1
  530. package/dist/src/events/actions/RemoveFromCartEvent.js.map +1 -1
  531. package/dist/src/events/actions/RoomListSearchEvent.js.map +1 -1
  532. package/dist/src/events/index.d.ts +10 -10
  533. package/dist/src/events/index.js +10 -10
  534. package/dist/src/events/index.js.map +1 -1
  535. package/dist/src/events/views/FindReservationResultsViewEvent.js.map +1 -1
  536. package/dist/src/events/views/StepAddonViewEvent.js.map +1 -1
  537. package/dist/src/events/views/StepCheckoutViewEvent.d.ts +1 -1
  538. package/dist/src/events/views/StepCheckoutViewEvent.js.map +1 -1
  539. package/dist/src/events/views/StepThanksViewEvent.js.map +1 -1
  540. package/dist/src/hooks/AutoFocusOnSelect.d.ts +2 -2
  541. package/dist/src/hooks/AutoFocusOnSelect.js.map +1 -1
  542. package/dist/src/hooks/ConfirmationQuery.js.map +1 -1
  543. package/dist/src/hooks/CurrentHotelHook.js +1 -1
  544. package/dist/src/hooks/CurrentHotelHook.js.map +1 -1
  545. package/dist/src/hooks/ElementSortHook.js +26 -7
  546. package/dist/src/hooks/ElementSortHook.js.map +1 -1
  547. package/dist/src/hooks/KeyboardControlOnSelect.js.map +1 -1
  548. package/dist/src/hooks/LoggedInUserHook.js.map +1 -1
  549. package/dist/src/hooks/RoomRateAvailabilityListFromApi.js +3 -3
  550. package/dist/src/hooks/RoomRateAvailabilityListFromApi.js.map +1 -1
  551. package/dist/src/hooks/UpdateQueryParameters.js +1 -1
  552. package/dist/src/hooks/UpdateQueryParameters.js.map +1 -1
  553. package/dist/src/hooks/VGSHooks.d.ts +1 -1
  554. package/dist/src/hooks/VGSHooks.js +3 -3
  555. package/dist/src/hooks/VGSHooks.js.map +1 -1
  556. package/dist/src/hooks/WindowSize.js.map +1 -1
  557. package/dist/src/hooks/index.d.ts +1 -1
  558. package/dist/src/hooks/index.js +1 -1
  559. package/dist/src/hooks/index.js.map +1 -1
  560. package/dist/src/icons/Check.js.map +1 -1
  561. package/dist/src/index.d.ts +39 -39
  562. package/dist/src/index.js +60 -60
  563. package/dist/src/index.js.map +1 -1
  564. package/dist/src/mockApi/AddonAPI.d.ts +1 -1
  565. package/dist/src/mockApi/AddonAPI.js.map +1 -1
  566. package/dist/src/mockApi/BookingAPI.d.ts +3 -3
  567. package/dist/src/mockApi/BookingAPI.js +3 -3
  568. package/dist/src/mockApi/BookingAPI.js.map +1 -1
  569. package/dist/src/mockApi/ExchangeRateAPI.js.map +1 -1
  570. package/dist/src/mockApi/HotelAPI.js.map +1 -1
  571. package/dist/src/mockApi/MockAPI.d.ts +3 -3
  572. package/dist/src/mockApi/MockAPI.js +21 -21
  573. package/dist/src/mockApi/MockAPI.js.map +1 -1
  574. package/dist/src/mockApi/ReservationAPI.d.ts +3 -3
  575. package/dist/src/mockApi/ReservationAPI.js +2 -2
  576. package/dist/src/mockApi/ReservationAPI.js.map +1 -1
  577. package/dist/src/models/Addon/Addon.d.ts +1 -1
  578. package/dist/src/models/Addon/Addon.js +5 -5
  579. package/dist/src/models/Addon/Addon.js.map +1 -1
  580. package/dist/src/models/Api/HotelDTO.d.ts +3 -3
  581. package/dist/src/models/Api/HotelDTO.js.map +1 -1
  582. package/dist/src/models/Api/HotelOverrideDTO.d.ts +2 -2
  583. package/dist/src/models/Api/HotelOverrideDTO.js.map +1 -1
  584. package/dist/src/models/Api/ReservationsDTO.d.ts +1 -1
  585. package/dist/src/models/Api/ReservationsDTO.js.map +1 -1
  586. package/dist/src/models/BasketAddonRow.js.map +1 -1
  587. package/dist/src/models/BasketRow.d.ts +4 -4
  588. package/dist/src/models/BasketRow.js +3 -3
  589. package/dist/src/models/BasketRow.js.map +1 -1
  590. package/dist/src/models/Client/Hotel/Company.d.ts +1 -1
  591. package/dist/src/models/Client/Hotel/Company.js.map +1 -1
  592. package/dist/src/models/Client/Hotel/Hotel.d.ts +9 -9
  593. package/dist/src/models/Client/Hotel/Hotel.js.map +1 -1
  594. package/dist/src/models/Client/Hotel/HotelPerk.js.map +1 -1
  595. package/dist/src/models/Confirmation.d.ts +2 -2
  596. package/dist/src/models/Confirmation.js.map +1 -1
  597. package/dist/src/models/Room/Filters/Filter.d.ts +1 -1
  598. package/dist/src/models/Room/Filters/Filter.js.map +1 -1
  599. package/dist/src/models/Room/Filters/RateTypeFilter.d.ts +1 -1
  600. package/dist/src/models/Room/Filters/RateTypeFilter.js.map +1 -1
  601. package/dist/src/models/Room/Filters/RoomTypeFilter.d.ts +1 -1
  602. package/dist/src/models/Room/Filters/RoomTypeFilter.js.map +1 -1
  603. package/dist/src/models/Room/Room.d.ts +3 -3
  604. package/dist/src/models/Room/Room.js +8 -8
  605. package/dist/src/models/Room/Room.js.map +1 -1
  606. package/dist/src/models/Room/RoomRate.d.ts +8 -8
  607. package/dist/src/models/Room/RoomRate.js +26 -26
  608. package/dist/src/models/Room/RoomRate.js.map +1 -1
  609. package/dist/src/models/Room/RoomRateNight.js.map +1 -1
  610. package/dist/src/models/RoomstaySession.d.ts +1 -1
  611. package/dist/src/models/RoomstaySession.js.map +1 -1
  612. package/dist/src/models/Serializable.js.map +1 -1
  613. package/dist/src/pages/account/AccountHome/AccountHomePage.js +12 -12
  614. package/dist/src/pages/account/AccountHome/AccountHomePage.js.map +1 -1
  615. package/dist/src/pages/account/AccountRouter.js +4 -4
  616. package/dist/src/pages/account/AccountRouter.js.map +1 -1
  617. package/dist/src/pages/account/Details/AccountDetailsCardsPage.js +9 -9
  618. package/dist/src/pages/account/Details/AccountDetailsCardsPage.js.map +1 -1
  619. package/dist/src/pages/account/Details/AccountDetailsNoCardsPage.js +5 -5
  620. package/dist/src/pages/account/Details/AccountDetailsNoCardsPage.js.map +1 -1
  621. package/dist/src/pages/account/Details/AccountDetailsProfilePage.js +6 -6
  622. package/dist/src/pages/account/Details/AccountDetailsProfilePage.js.map +1 -1
  623. package/dist/src/pages/account/Help/AccountHelpPage.js +9 -9
  624. package/dist/src/pages/account/Help/AccountHelpPage.js.map +1 -1
  625. package/dist/src/pages/account/Reservations/AccountReservationSinglePage.js +18 -18
  626. package/dist/src/pages/account/Reservations/AccountReservationSinglePage.js.map +1 -1
  627. package/dist/src/pages/account/Reservations/AccountReservationsPage.js +6 -6
  628. package/dist/src/pages/account/Reservations/AccountReservationsPage.js.map +1 -1
  629. package/dist/src/pages/findReservation/FindReservation.js +18 -18
  630. package/dist/src/pages/findReservation/FindReservation.js.map +1 -1
  631. package/dist/src/pages/findReservation/FindReservationResults.js +22 -23
  632. package/dist/src/pages/findReservation/FindReservationResults.js.map +1 -1
  633. package/dist/src/pages/findReservation/ReservationRow.js +12 -12
  634. package/dist/src/pages/findReservation/ReservationRow.js.map +1 -1
  635. package/dist/src/pages/findReservation/ReservationRowModal.js +9 -9
  636. package/dist/src/pages/findReservation/ReservationRowModal.js.map +1 -1
  637. package/dist/src/pages/hotel/HotelInfo.js +11 -11
  638. package/dist/src/pages/hotel/HotelInfo.js.map +1 -1
  639. package/dist/src/pages/hotel/HotelInfoPlaceholder.js.map +1 -1
  640. package/dist/src/pages/steps/Step.d.ts +2 -2
  641. package/dist/src/pages/steps/Step.js +3 -3
  642. package/dist/src/pages/steps/Step.js.map +1 -1
  643. package/dist/src/pages/steps/StepAddon/StepAddon.d.ts +1 -1
  644. package/dist/src/pages/steps/StepAddon/StepAddon.js.map +1 -1
  645. package/dist/src/pages/steps/StepAddon/StepAddonComponent.js +8 -8
  646. package/dist/src/pages/steps/StepAddon/StepAddonComponent.js.map +1 -1
  647. package/dist/src/pages/steps/StepAddon/StepAddonLoader.js +1 -1
  648. package/dist/src/pages/steps/StepAddon/StepAddonLoader.js.map +1 -1
  649. package/dist/src/pages/steps/StepAddon/StepAddonValidator.js.map +1 -1
  650. package/dist/src/pages/steps/StepConfirmation/StepConfirmation.d.ts +1 -1
  651. package/dist/src/pages/steps/StepConfirmation/StepConfirmation.js.map +1 -1
  652. package/dist/src/pages/steps/StepConfirmation/StepConfirmationComponent.js +14 -14
  653. package/dist/src/pages/steps/StepConfirmation/StepConfirmationComponent.js.map +1 -1
  654. package/dist/src/pages/steps/StepConfirmation/StepConfirmationLoader.js +1 -1
  655. package/dist/src/pages/steps/StepConfirmation/StepConfirmationLoader.js.map +1 -1
  656. package/dist/src/pages/steps/StepConfirmation/StepConfirmationValidator.js.map +1 -1
  657. package/dist/src/pages/steps/StepDate/StepDate.d.ts +1 -1
  658. package/dist/src/pages/steps/StepDate/StepDate.js.map +1 -1
  659. package/dist/src/pages/steps/StepDate/StepDateComponent.js +24 -25
  660. package/dist/src/pages/steps/StepDate/StepDateComponent.js.map +1 -1
  661. package/dist/src/pages/steps/StepGroupedRoom/StepGroupedRoom.d.ts +1 -1
  662. package/dist/src/pages/steps/StepGroupedRoom/StepGroupedRoom.js.map +1 -1
  663. package/dist/src/pages/steps/StepGroupedRoom/StepGroupedRoomComponent.js +10 -10
  664. package/dist/src/pages/steps/StepGroupedRoom/StepGroupedRoomComponent.js.map +1 -1
  665. package/dist/src/pages/steps/StepGroupedRoom/StepGroupedRoomLoader.js +1 -1
  666. package/dist/src/pages/steps/StepGroupedRoom/StepGroupedRoomLoader.js.map +1 -1
  667. package/dist/src/pages/steps/StepGuide.js +30 -10
  668. package/dist/src/pages/steps/StepGuide.js.map +1 -1
  669. package/dist/src/pages/steps/StepHotel/StepHotel.d.ts +1 -1
  670. package/dist/src/pages/steps/StepHotel/StepHotel.js.map +1 -1
  671. package/dist/src/pages/steps/StepHotel/StepHotelComponent.js +7 -7
  672. package/dist/src/pages/steps/StepHotel/StepHotelComponent.js.map +1 -1
  673. package/dist/src/pages/steps/StepHotel/StepHotelLoader.js +4 -6
  674. package/dist/src/pages/steps/StepHotel/StepHotelLoader.js.map +1 -1
  675. package/dist/src/pages/steps/StepRoom/StepRoom.d.ts +1 -1
  676. package/dist/src/pages/steps/StepRoom/StepRoom.js.map +1 -1
  677. package/dist/src/pages/steps/StepRoom/StepRoomComponent.js +4 -4
  678. package/dist/src/pages/steps/StepRoom/StepRoomComponent.js.map +1 -1
  679. package/dist/src/pages/steps/StepRoom/StepRoomLoader.js +1 -1
  680. package/dist/src/pages/steps/StepRoom/StepRoomLoader.js.map +1 -1
  681. package/dist/src/pages/steps/StepRoom/StepRoomValidator.js.map +1 -1
  682. package/dist/src/pages/steps/StepThanks/StepThanks.d.ts +1 -1
  683. package/dist/src/pages/steps/StepThanks/StepThanks.js +1 -1
  684. package/dist/src/pages/steps/StepThanks/StepThanks.js.map +1 -1
  685. package/dist/src/pages/steps/StepThanks/StepThanksComponent.js +13 -13
  686. package/dist/src/pages/steps/StepThanks/StepThanksComponent.js.map +1 -1
  687. package/dist/src/pages/steps/StepThanks/StepThanksValidator.js.map +1 -1
  688. package/dist/src/providers/CurrencyProvider.d.ts +3 -3
  689. package/dist/src/providers/CurrencyProvider.js +140 -140
  690. package/dist/src/providers/CurrencyProvider.js.map +1 -1
  691. package/dist/src/providers/FeatureProvider.js +7 -7
  692. package/dist/src/providers/FeatureProvider.js.map +1 -1
  693. package/dist/src/providers/FilterProvider.d.ts +1 -1
  694. package/dist/src/providers/FilterProvider.js.map +1 -1
  695. package/dist/src/providers/ImageProvider.d.ts +1 -1
  696. package/dist/src/providers/ImageProvider.js +3 -3
  697. package/dist/src/providers/ImageProvider.js.map +1 -1
  698. package/dist/src/providers/LanguageProvider.d.ts +3 -3
  699. package/dist/src/providers/LanguageProvider.js +7 -7
  700. package/dist/src/providers/LanguageProvider.js.map +1 -1
  701. package/dist/src/providers/PromotionProvider.js +1 -1
  702. package/dist/src/providers/PromotionProvider.js.map +1 -1
  703. package/dist/src/providers/RatePillProvider.d.ts +1 -1
  704. package/dist/src/providers/RatePillProvider.js +12 -12
  705. package/dist/src/providers/RatePillProvider.js.map +1 -1
  706. package/dist/src/providers/RoomSortProvider.js.map +1 -1
  707. package/dist/src/providers/RoomstayThemeEngine.d.ts +3 -3
  708. package/dist/src/providers/RoomstayThemeEngine.js +11 -11
  709. package/dist/src/providers/RoomstayThemeEngine.js.map +1 -1
  710. package/dist/src/providers/SessionProvider.d.ts +10 -10
  711. package/dist/src/providers/SessionProvider.js +50 -50
  712. package/dist/src/providers/SessionProvider.js.map +1 -1
  713. package/dist/src/providers/feature/Feature.js.map +1 -1
  714. package/dist/src/providers/feature/InlineAddonStepFeature.js +1 -1
  715. package/dist/src/providers/feature/InlineAddonStepFeature.js.map +1 -1
  716. package/dist/src/providers/storage/LocalStorageProvider.d.ts +1 -1
  717. package/dist/src/providers/storage/LocalStorageProvider.js +4 -4
  718. package/dist/src/providers/storage/LocalStorageProvider.js.map +1 -1
  719. package/dist/src/providers/storage/StorageProvider.js.map +1 -1
  720. package/dist/src/reducers/BasketReducer.js +1 -1
  721. package/dist/src/reducers/BasketReducer.js.map +1 -1
  722. package/dist/src/routes/NaturallyProgressedStepRoute.js +2 -2
  723. package/dist/src/routes/NaturallyProgressedStepRoute.js.map +1 -1
  724. package/dist/src/stories/Alert.stories.d.ts +1 -1
  725. package/dist/src/stories/Alert.stories.js.map +1 -1
  726. package/dist/src/stories/BEButton.stories.d.ts +1 -1
  727. package/dist/src/stories/BEButton.stories.js.map +1 -1
  728. package/dist/src/stories/BackButton.stories.d.ts +1 -1
  729. package/dist/src/stories/BackButton.stories.js.map +1 -1
  730. package/dist/src/stories/BookNowPayLaterInfoBlock.stories.d.ts +1 -1
  731. package/dist/src/stories/BookNowPayLaterInfoBlock.stories.js.map +1 -1
  732. package/dist/src/stories/BookingWizard.stories.d.ts +1 -1
  733. package/dist/src/stories/BookingWizard.stories.js +1 -1
  734. package/dist/src/stories/BookingWizard.stories.js.map +1 -1
  735. package/dist/src/stories/Card.stories.d.ts +1 -1
  736. package/dist/src/stories/Card.stories.js.map +1 -1
  737. package/dist/src/stories/CardTypeSelect.stories.d.ts +1 -1
  738. package/dist/src/stories/CardTypeSelect.stories.js.map +1 -1
  739. package/dist/src/stories/Checkbox.stories.d.ts +1 -1
  740. package/dist/src/stories/Checkbox.stories.js.map +1 -1
  741. package/dist/src/stories/ConfirmationModal.stories.js +25 -3
  742. package/dist/src/stories/ConfirmationModal.stories.js.map +1 -1
  743. package/dist/src/stories/Countdown.stories.d.ts +1 -1
  744. package/dist/src/stories/Countdown.stories.js +1 -1
  745. package/dist/src/stories/Countdown.stories.js.map +1 -1
  746. package/dist/src/stories/Currency.stories.d.ts +1 -1
  747. package/dist/src/stories/Currency.stories.js.map +1 -1
  748. package/dist/src/stories/DateRangePicker.stories.js +2 -2
  749. package/dist/src/stories/DateRangePicker.stories.js.map +1 -1
  750. package/dist/src/stories/Distance.stories.d.ts +1 -1
  751. package/dist/src/stories/Distance.stories.js.map +1 -1
  752. package/dist/src/stories/EnhancedPhoneNumberField.stories.d.ts +1 -1
  753. package/dist/src/stories/EnhancedPhoneNumberField.stories.js.map +1 -1
  754. package/dist/src/stories/ErrorModal.stories.js +25 -3
  755. package/dist/src/stories/ErrorModal.stories.js.map +1 -1
  756. package/dist/src/stories/EventCarousel.stories.d.ts +1 -1
  757. package/dist/src/stories/EventCarousel.stories.js.map +1 -1
  758. package/dist/src/stories/FloatingDateRangePicker.stories.d.ts +1 -1
  759. package/dist/src/stories/FloatingDateRangePicker.stories.js +29 -7
  760. package/dist/src/stories/FloatingDateRangePicker.stories.js.map +1 -1
  761. package/dist/src/stories/ForwardedSelect.stories.d.ts +1 -1
  762. package/dist/src/stories/ForwardedSelect.stories.js.map +1 -1
  763. package/dist/src/stories/Headline.stories.d.ts +1 -1
  764. package/dist/src/stories/Headline.stories.js.map +1 -1
  765. package/dist/src/stories/Icon.stories.d.ts +1 -1
  766. package/dist/src/stories/Icon.stories.js.map +1 -1
  767. package/dist/src/stories/IconNavCard.stories.d.ts +1 -1
  768. package/dist/src/stories/IconNavCard.stories.js +1 -1
  769. package/dist/src/stories/IconNavCard.stories.js.map +1 -1
  770. package/dist/src/stories/IconText.stories.d.ts +1 -1
  771. package/dist/src/stories/IconText.stories.js.map +1 -1
  772. package/dist/src/stories/ImageLoader.stories.d.ts +1 -1
  773. package/dist/src/stories/ImageLoader.stories.js.map +1 -1
  774. package/dist/src/stories/InputGroup.stories.d.ts +1 -1
  775. package/dist/src/stories/InputGroup.stories.js.map +1 -1
  776. package/dist/src/stories/LargeLoader.stories.d.ts +1 -1
  777. package/dist/src/stories/LargeLoader.stories.js.map +1 -1
  778. package/dist/src/stories/LineBreak.stories.d.ts +1 -1
  779. package/dist/src/stories/LineBreak.stories.js.map +1 -1
  780. package/dist/src/stories/Notification.stories.d.ts +1 -1
  781. package/dist/src/stories/Notification.stories.js +1 -1
  782. package/dist/src/stories/Notification.stories.js.map +1 -1
  783. package/dist/src/stories/NumberIncrement.stories.js +25 -3
  784. package/dist/src/stories/NumberIncrement.stories.js.map +1 -1
  785. package/dist/src/stories/PasswordBox.stories.d.ts +1 -1
  786. package/dist/src/stories/PasswordBox.stories.js.map +1 -1
  787. package/dist/src/stories/PaymentCard.stories.d.ts +1 -1
  788. package/dist/src/stories/PaymentCard.stories.js.map +1 -1
  789. package/dist/src/stories/PaymentCardInput.stories.d.ts +1 -1
  790. package/dist/src/stories/PaymentCardInput.stories.js.map +1 -1
  791. package/dist/src/stories/Pill.stories.d.ts +1 -1
  792. package/dist/src/stories/Pill.stories.js.map +1 -1
  793. package/dist/src/stories/Placeholder.stories.d.ts +1 -1
  794. package/dist/src/stories/Placeholder.stories.js.map +1 -1
  795. package/dist/src/stories/PlanpayButton.stories.d.ts +1 -1
  796. package/dist/src/stories/PlanpayButton.stories.js.map +1 -1
  797. package/dist/src/stories/PromoCodeInput.stories.d.ts +1 -1
  798. package/dist/src/stories/PromoCodeInput.stories.js.map +1 -1
  799. package/dist/src/stories/RadioButton.stories.d.ts +1 -1
  800. package/dist/src/stories/RadioButton.stories.js.map +1 -1
  801. package/dist/src/stories/RadioButtonGroup.stories.d.ts +1 -1
  802. package/dist/src/stories/RadioButtonGroup.stories.js +27 -5
  803. package/dist/src/stories/RadioButtonGroup.stories.js.map +1 -1
  804. package/dist/src/stories/RadioFields.stories.d.ts +1 -1
  805. package/dist/src/stories/RadioFields.stories.js.map +1 -1
  806. package/dist/src/stories/SSLSecureBadge.stories.js.map +1 -1
  807. package/dist/src/stories/Select.stories.d.ts +1 -1
  808. package/dist/src/stories/Select.stories.js +30 -11
  809. package/dist/src/stories/Select.stories.js.map +1 -1
  810. package/dist/src/stories/SimpleModal.stories.js +26 -4
  811. package/dist/src/stories/SimpleModal.stories.js.map +1 -1
  812. package/dist/src/stories/Slider.stories.js +24 -5
  813. package/dist/src/stories/Slider.stories.js.map +1 -1
  814. package/dist/src/stories/SmallSpinner.stories.d.ts +1 -1
  815. package/dist/src/stories/SmallSpinner.stories.js.map +1 -1
  816. package/dist/src/stories/TabbedModal.stories.js +25 -3
  817. package/dist/src/stories/TabbedModal.stories.js.map +1 -1
  818. package/dist/src/stories/Tabs.stories.d.ts +1 -1
  819. package/dist/src/stories/Tabs.stories.js +1 -1
  820. package/dist/src/stories/Tabs.stories.js.map +1 -1
  821. package/dist/src/stories/Text.stories.d.ts +1 -1
  822. package/dist/src/stories/Text.stories.js.map +1 -1
  823. package/dist/src/stories/TextArea.stories.d.ts +1 -1
  824. package/dist/src/stories/TextArea.stories.js.map +1 -1
  825. package/dist/src/stories/TextBox.stories.d.ts +1 -1
  826. package/dist/src/stories/TextBox.stories.js.map +1 -1
  827. package/dist/src/stories/Tooltip.stories.d.ts +1 -1
  828. package/dist/src/stories/Tooltip.stories.js.map +1 -1
  829. package/dist/src/util/CalendarHelper.js.map +1 -1
  830. package/dist/src/util/CurrencyHelper.js +121 -121
  831. package/dist/src/util/CurrencyHelper.js.map +1 -1
  832. package/dist/src/util/DataLayer.d.ts +4 -4
  833. package/dist/src/util/DataLayer.js +2 -2
  834. package/dist/src/util/DataLayer.js.map +1 -1
  835. package/dist/src/util/Debounce.js.map +1 -1
  836. package/dist/src/util/EventsHelper.d.ts +1 -1
  837. package/dist/src/util/EventsHelper.js +2 -2
  838. package/dist/src/util/EventsHelper.js.map +1 -1
  839. package/dist/src/util/GetStepRoom.js +2 -2
  840. package/dist/src/util/GetStepRoom.js.map +1 -1
  841. package/dist/src/util/StepManager.d.ts +4 -4
  842. package/dist/src/util/StepManager.js +6 -6
  843. package/dist/src/util/StepManager.js.map +1 -1
  844. package/dist/src/util/StringHelper.js.map +1 -1
  845. package/dist/src/util/TotalCalculator.d.ts +1 -2
  846. package/dist/src/util/TotalCalculator.js.map +1 -1
  847. package/dist/src/util/Validation.d.ts +1 -1
  848. package/dist/src/util/Validation.js.map +1 -1
  849. package/dist/test.bundle.js +1 -1
  850. package/package.json +2 -1
@@ -40,6 +40,11 @@ class Addon {
40
40
  this.applyData(props);
41
41
  }
42
42
  }
43
+ static fromData(data) {
44
+ const addon = new this();
45
+ addon.applyData(data);
46
+ return addon;
47
+ }
43
48
  applyData(data) {
44
49
  var _a;
45
50
  Object.keys(data).map((key) => {
@@ -78,11 +83,6 @@ class Addon {
78
83
  this.nights = data.checkOutDate.diff(data.checkInDate, 'day');
79
84
  }
80
85
  }
81
- static fromData(data) {
82
- const addon = new this();
83
- addon.applyData(data);
84
- return addon;
85
- }
86
86
  }
87
87
  exports.Addon = Addon;
88
88
  //# sourceMappingURL=Addon.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Addon.js","sourceRoot":"/","sources":["src/models/Addon/Addon.ts"],"names":[],"mappings":"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","sourcesContent":["import dayjs from 'dayjs';\nimport { Dayjs } from 'dayjs';\n\ninterface IAddon {\n code: string;\n\n /**\n * The SynXis CR RatePlan Code associated with the Package if the Package is restricted to certain RatePlans\n */\n ratePlanCode: string;\n\n name: string;\n\n description: string;\n\n /**\n * Whether the price for this package is included in the room rate.\n * (Always `false` unless the price is zero)\n */\n inclusive: boolean;\n\n image?: string;\n\n url?: string;\n\n /**\n * Defines how a service is priced.\n * Values:\n * Per Stay\n * Per Night\n * Per Person\n * Per Person Per Night\n */\n pricingType: AddonPricingType;\n\n hideDatePicker?: boolean;\n\n category: string;\n\n cancelPenalty?: string;\n\n guaranteeDescription?: string;\n\n availability: { [date: string]: PriceInfo };\n\n checkInDate: dayjs.Dayjs;\n checkOutDate: dayjs.Dayjs;\n}\n\nexport enum AddonPricingType {\n PER_STAY = 'Per stay',\n PER_NIGHT = 'Per night',\n PER_PERSON = 'Per person',\n PER_PERSON_PER_NIGHT = 'Per person per night',\n\n // Synxis Basic addon types\n PER_QUANTITY_NAME_PER_NIGHT = 'Per Quantity Name Per Night',\n PER_ROOM_QUANTITY_PER_NIGHT = 'Per Room Quantity Per Night',\n PER_PERSON_OCCUPANCY_PER_NIGHT = 'Per Person Occupancy Per Night',\n PER_ADULT_OCCUPANCY_PER_NIGHT = 'Per Adult Occupancy Per Night',\n PER_CHILD_OCCUPANCY_PER_NIGHT = 'Per Child Occupancy Per Night',\n}\n\nexport const ADDON_PER_NIGHT_TYPES = [\n AddonPricingType.PER_NIGHT,\n AddonPricingType.PER_PERSON_PER_NIGHT,\n\n AddonPricingType.PER_QUANTITY_NAME_PER_NIGHT,\n AddonPricingType.PER_ROOM_QUANTITY_PER_NIGHT,\n AddonPricingType.PER_PERSON_OCCUPANCY_PER_NIGHT,\n AddonPricingType.PER_ADULT_OCCUPANCY_PER_NIGHT,\n AddonPricingType.PER_CHILD_OCCUPANCY_PER_NIGHT,\n];\n\nexport class Addon {\n public code!: string;\n\n /**\n * The SynXis CR RatePlan Code associated with the Package if the Package is restricted to certain RatePlans\n */\n public ratePlanCode!: string;\n\n public name!: string;\n\n public description!: string;\n\n /**\n * Whether the price for this package is included in the room rate.\n * (Always `false` unless the price is zero)\n */\n public inclusive = false;\n\n public image?: string;\n\n public url?: string;\n\n /**\n * Defines how a service is priced.\n * Values:\n * Per Stay\n * Per Night\n * Per Person\n * Per Person Per Night\n */\n public pricingType!: AddonPricingType;\n\n public hideDatePicker!: false;\n\n public category!: string;\n\n public cancelPenalty?: string;\n\n public guaranteeDescription?: string;\n\n public availability: { [date: string]: PriceInfo } = {};\n\n public selected?: boolean;\n\n public selectorDates: { text: string; value: string }[] = [];\n\n public firstDate?: string;\n\n public checkInDate!: dayjs.Dayjs;\n public checkOutDate!: dayjs.Dayjs;\n\n public nights!: number;\n\n public order?: number;\n\n public constructor(props?: IAddon) {\n if (props) {\n this.applyData(props);\n }\n }\n\n public applyData(data: IAddon) {\n Object.keys(data).map((key: any) => {\n (this as any)[key] = (data as any)[key];\n }, this);\n\n let first = true;\n for (const date in this.availability) {\n if (!Object.prototype.hasOwnProperty.call(this.availability, date)) {\n continue;\n }\n\n const day = dayjs(date, 'YYYY-MM-DD');\n this.selectorDates.push({ text: day.format('D MMM'), value: date });\n if (first) {\n this.firstDate = date;\n first = false;\n }\n\n const priceInfo = this.availability[date];\n priceInfo.selectorTimes = [];\n priceInfo.timeSlots?.forEach((slot) => {\n const timeRegExp = /T(\\d{2}):(\\d{2}):(\\d{2})$/;\n const startTime = slot.startTime?.match(timeRegExp);\n const endTime = slot.endTime?.match(timeRegExp);\n\n if (startTime && endTime) {\n const start = dayjs().hour(parseInt(startTime[1], 10)).minute(parseInt(startTime[2], 10)).second(parseInt(startTime[3], 10));\n const end = dayjs().hour(parseInt(endTime[1], 10)).minute(parseInt(endTime[2], 10)).second(parseInt(endTime[3], 10));\n\n const [hours, minutes, seconds] = (slot.increment as string).split(':').map((it) => parseInt(it, 10));\n\n const increment = (time: Dayjs) => time.add(hours, 'hour').add(minutes, 'minute').add(seconds, 'second');\n\n for (let time = start; time.isBefore(end, 'second'); time = increment(time)) {\n (priceInfo.selectorTimes as { text: string; value: string }[]).push({ text: time.format('h:mma'), value: time.format('THH:mm:ss') });\n }\n }\n });\n }\n\n if (data.checkInDate && data.checkOutDate) {\n this.nights = data.checkOutDate.diff(data.checkInDate, 'day');\n }\n }\n\n public static fromData(data: any) {\n const addon = new this();\n\n addon.applyData(data);\n\n return addon;\n }\n}\n\nexport type PriceInfo = {\n /**\n * Number of available items for sale.\n */\n quantity: number;\n\n /**\n * Price per quantity\n */\n price?: number;\n\n adultPrice?: number;\n childPrice?: number;\n\n timeSlots?: TimeSlot[];\n\n selectorTimes?: { text: string; value: string }[];\n};\n\nexport type TimeSlot = {\n /**\n * The start date and time when the package is available.\n * If the package applies during the whole stay, this node is not returned unless the time needs to be selected. In that case, the Start and End dates do not\n * include the date: @Start=\"T07:30:00\" and @End=\"T17:30:00\" and @Increment=\"00:60:00\"\n * Type: DateTime\n */\n startTime?: string;\n\n /**\n * The end date / time when the package is available.\n * If the package component applies during the whole stay, this node is not returned unless the time needs to be selected. In that case, the Start and End dates\n * do not include the date: @Start=\"T07:30:00\" and @End=\"T17:30:00\" and @Increment=\"00:60:00\"\n * Type: DateTime\n */\n endTime?: string;\n\n /**\n * Used with @Start and @End. Indicates the interval when the package or service is available.\n * For example, a package with golf lessons from 7:30 am to 5:30 pm with instructions and available hourly has the TimeSpan attributes set as: @Start=\"2015-\n * 010-28T07:30:00\" and @End=\"2015-10-28T17:30:00\" and @Increment=\"00:60:00\"\n * Type: Time\n */\n increment?: string;\n};\n"]}
1
+ {"version":3,"file":"Addon.js","sourceRoot":"/","sources":["src/models/Addon/Addon.ts"],"names":[],"mappings":"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","sourcesContent":["import dayjs, { Dayjs } from 'dayjs';\n\ninterface IAddon {\n code: string;\n\n /**\n * The SynXis CR RatePlan Code associated with the Package if the Package is restricted to certain RatePlans\n */\n ratePlanCode: string;\n\n name: string;\n\n description: string;\n\n /**\n * Whether the price for this package is included in the room rate.\n * (Always `false` unless the price is zero)\n */\n inclusive: boolean;\n\n image?: string;\n\n url?: string;\n\n /**\n * Defines how a service is priced.\n * Values:\n * Per Stay\n * Per Night\n * Per Person\n * Per Person Per Night\n */\n pricingType: AddonPricingType;\n\n hideDatePicker?: boolean;\n\n category: string;\n\n cancelPenalty?: string;\n\n guaranteeDescription?: string;\n\n availability: { [date: string]: PriceInfo };\n\n checkInDate: dayjs.Dayjs;\n checkOutDate: dayjs.Dayjs;\n}\n\nexport enum AddonPricingType {\n PER_STAY = 'Per stay',\n PER_NIGHT = 'Per night',\n PER_PERSON = 'Per person',\n PER_PERSON_PER_NIGHT = 'Per person per night',\n\n // Synxis Basic addon types\n PER_QUANTITY_NAME_PER_NIGHT = 'Per Quantity Name Per Night',\n PER_ROOM_QUANTITY_PER_NIGHT = 'Per Room Quantity Per Night',\n PER_PERSON_OCCUPANCY_PER_NIGHT = 'Per Person Occupancy Per Night',\n PER_ADULT_OCCUPANCY_PER_NIGHT = 'Per Adult Occupancy Per Night',\n PER_CHILD_OCCUPANCY_PER_NIGHT = 'Per Child Occupancy Per Night',\n}\n\nexport const ADDON_PER_NIGHT_TYPES = [\n AddonPricingType.PER_NIGHT,\n AddonPricingType.PER_PERSON_PER_NIGHT,\n\n AddonPricingType.PER_QUANTITY_NAME_PER_NIGHT,\n AddonPricingType.PER_ROOM_QUANTITY_PER_NIGHT,\n AddonPricingType.PER_PERSON_OCCUPANCY_PER_NIGHT,\n AddonPricingType.PER_ADULT_OCCUPANCY_PER_NIGHT,\n AddonPricingType.PER_CHILD_OCCUPANCY_PER_NIGHT,\n];\n\nexport class Addon {\n public code!: string;\n\n /**\n * The SynXis CR RatePlan Code associated with the Package if the Package is restricted to certain RatePlans\n */\n public ratePlanCode!: string;\n\n public name!: string;\n\n public description!: string;\n\n /**\n * Whether the price for this package is included in the room rate.\n * (Always `false` unless the price is zero)\n */\n public inclusive = false;\n\n public image?: string;\n\n public url?: string;\n\n /**\n * Defines how a service is priced.\n * Values:\n * Per Stay\n * Per Night\n * Per Person\n * Per Person Per Night\n */\n public pricingType!: AddonPricingType;\n\n public hideDatePicker!: false;\n\n public category!: string;\n\n public cancelPenalty?: string;\n\n public guaranteeDescription?: string;\n\n public availability: { [date: string]: PriceInfo } = {};\n\n public selected?: boolean;\n\n public selectorDates: { text: string; value: string }[] = [];\n\n public firstDate?: string;\n\n public checkInDate!: dayjs.Dayjs;\n public checkOutDate!: dayjs.Dayjs;\n\n public nights!: number;\n\n public order?: number;\n\n public constructor(props?: IAddon) {\n if (props) {\n this.applyData(props);\n }\n }\n\n public static fromData(data: any) {\n const addon = new this();\n\n addon.applyData(data);\n\n return addon;\n }\n\n public applyData(data: IAddon) {\n Object.keys(data).map((key: any) => {\n (this as any)[key] = (data as any)[key];\n }, this);\n\n let first = true;\n for (const date in this.availability) {\n if (!Object.prototype.hasOwnProperty.call(this.availability, date)) {\n continue;\n }\n\n const day = dayjs(date, 'YYYY-MM-DD');\n this.selectorDates.push({ text: day.format('D MMM'), value: date });\n if (first) {\n this.firstDate = date;\n first = false;\n }\n\n const priceInfo = this.availability[date];\n priceInfo.selectorTimes = [];\n priceInfo.timeSlots?.forEach((slot) => {\n const timeRegExp = /T(\\d{2}):(\\d{2}):(\\d{2})$/;\n const startTime = slot.startTime?.match(timeRegExp);\n const endTime = slot.endTime?.match(timeRegExp);\n\n if (startTime && endTime) {\n const start = dayjs().hour(parseInt(startTime[1], 10)).minute(parseInt(startTime[2], 10)).second(parseInt(startTime[3], 10));\n const end = dayjs().hour(parseInt(endTime[1], 10)).minute(parseInt(endTime[2], 10)).second(parseInt(endTime[3], 10));\n\n const [hours, minutes, seconds] = (slot.increment as string).split(':').map((it) => parseInt(it, 10));\n\n const increment = (time: Dayjs) => time.add(hours, 'hour').add(minutes, 'minute').add(seconds, 'second');\n\n for (let time = start; time.isBefore(end, 'second'); time = increment(time)) {\n (priceInfo.selectorTimes as { text: string; value: string }[]).push({ text: time.format('h:mma'), value: time.format('THH:mm:ss') });\n }\n }\n });\n }\n\n if (data.checkInDate && data.checkOutDate) {\n this.nights = data.checkOutDate.diff(data.checkInDate, 'day');\n }\n }\n}\n\nexport type PriceInfo = {\n /**\n * Number of available items for sale.\n */\n quantity: number;\n\n /**\n * Price per quantity\n */\n price?: number;\n\n adultPrice?: number;\n childPrice?: number;\n\n timeSlots?: TimeSlot[];\n\n selectorTimes?: { text: string; value: string }[];\n};\n\nexport type TimeSlot = {\n /**\n * The start date and time when the package is available.\n * If the package applies during the whole stay, this node is not returned unless the time needs to be selected. In that case, the Start and End dates do not\n * include the date: @Start=\"T07:30:00\" and @End=\"T17:30:00\" and @Increment=\"00:60:00\"\n * Type: DateTime\n */\n startTime?: string;\n\n /**\n * The end date / time when the package is available.\n * If the package component applies during the whole stay, this node is not returned unless the time needs to be selected. In that case, the Start and End dates\n * do not include the date: @Start=\"T07:30:00\" and @End=\"T17:30:00\" and @Increment=\"00:60:00\"\n * Type: DateTime\n */\n endTime?: string;\n\n /**\n * Used with @Start and @End. Indicates the interval when the package or service is available.\n * For example, a package with golf lessons from 7:30 am to 5:30 pm with instructions and available hourly has the TimeSpan attributes set as: @Start=\"2015-\n * 010-28T07:30:00\" and @End=\"2015-10-28T17:30:00\" and @Increment=\"00:60:00\"\n * Type: Time\n */\n increment?: string;\n};\n"]}
@@ -1,12 +1,12 @@
1
+ import type { PlanPayEnvironment } from '@planpay/web';
2
+ import type { EBookingPaymentMethod } from '@roomstay/core';
1
3
  import { DeepPartial } from 'react-hook-form';
2
4
  import ColorProfile from '../Client/Hotel/ColorProfile';
3
5
  import { DistanceUnitType } from '../Client/Hotel/DistanceUnitType.types';
6
+ import { EPaymentCardType } from '../Client/Hotel/Hotel';
4
7
  import HotelAddress from '../Client/Hotel/HotelAddress';
5
8
  import { HotelDataSource } from '../Client/Hotel/HotelDataSource.types';
6
9
  import { WeekdayStartsOn } from '../Client/Hotel/WeekdayStartsOn.types';
7
- import { EPaymentCardType } from '../Client/Hotel/Hotel';
8
- import type { EBookingPaymentMethod } from '@roomstay/core';
9
- import type { PlanPayEnvironment } from '@planpay/web';
10
10
  export type HotelServiceDTO = {
11
11
  detail: string;
12
12
  included: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"HotelDTO.js","sourceRoot":"/","sources":["src/models/Api/HotelDTO.ts"],"names":[],"mappings":";;;AAMA,uDAA+D;AAiG/D,IAAY,WAOX;AAPD,WAAY,WAAW;IACnB,4BAAa,CAAA;IACb,wCAAyB,CAAA;IACzB,0BAAW,CAAA;IACX,wCAAyB,CAAA;IACzB,uCAAwB,CAAA;IACxB,oCAAqB,CAAA;AACzB,CAAC,EAPW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAOtB;AAEY,QAAA,0BAA0B,GAAsD;IACzF,CAAC,wBAAgB,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC,IAAI;IACzC,CAAC,wBAAgB,CAAC,UAAU,CAAC,EAAE,WAAW,CAAC,UAAU;IACrD,CAAC,wBAAgB,CAAC,GAAG,CAAC,EAAE,WAAW,CAAC,GAAG;IACvC,CAAC,wBAAgB,CAAC,eAAe,CAAC,EAAE,WAAW,CAAC,eAAe;IAC/D,CAAC,wBAAgB,CAAC,UAAU,CAAC,EAAE,WAAW,CAAC,UAAU;IACrD,CAAC,wBAAgB,CAAC,QAAQ,CAAC,EAAE,WAAW,CAAC,QAAQ;CACpD,CAAC","sourcesContent":["import { DeepPartial } from 'react-hook-form';\nimport ColorProfile from '@/models/Client/Hotel/ColorProfile';\nimport { DistanceUnitType } from '@/models/Client/Hotel/DistanceUnitType.types';\nimport HotelAddress from '@/models/Client/Hotel/HotelAddress';\nimport { HotelDataSource } from '@/models/Client/Hotel/HotelDataSource.types';\nimport { WeekdayStartsOn } from '@/models/Client/Hotel/WeekdayStartsOn.types';\nimport { EPaymentCardType } from '@/models/Client/Hotel/Hotel';\nimport type { EBookingPaymentMethod } from '@roomstay/core';\nimport type { PlanPayEnvironment } from '@planpay/web';\n\nexport type HotelServiceDTO = {\n detail: string;\n included: boolean;\n name: string;\n onsite: boolean;\n};\n\nexport type HotelRoomsDTO = {\n [roomTypeCode: string]: HotelRoomDTO;\n};\n\nexport type HotelRoomGroupsDTO = {\n groupName: string;\n id: string;\n filters: { [id: string]: { name: string; type: 'select'; includeAllAbove: boolean; options: any } };\n}[];\n\nexport type HotelRoomAmenitiesDTO = {\n type: string;\n description: string;\n};\n\nexport type HotelRoomDTO = {\n code: string;\n name: string;\n shortDescription: string;\n longDescription: string;\n images: string[];\n quantity: number;\n maxOccupancy: number;\n bedQuantity: number;\n standardNumBeds: number;\n maxRollaways: number;\n bedType: string;\n amenities: HotelRoomAmenitiesDTO[];\n features: HotelRoomAmenitiesDTO[];\n bedTypeOverride?: string;\n roomGroupId?: string;\n};\n\nexport type HotelDTO = {\n id: number;\n name: string;\n chainId: number;\n chainName: string;\n\n address: HotelAddress;\n phone: string;\n\n latitude: string;\n longitude: string;\n\n utcOffset: string;\n\n languageCode: string;\n currencyCode: string;\n\n checkInTime: string;\n checkOutTime: string;\n\n paymentCardTypes: EPaymentCardType[];\n\n description: string;\n locationDescription: string;\n policies: string;\n\n hotelServices: HotelServiceDTO[];\n businessServices: HotelServiceDTO[];\n\n rooms: { [roomTypeCode: string]: HotelRoomDTO };\n dataSource: HotelDataSource;\n\n // Following fields are only present if dataSource = 'roomstay'\n logo?: string;\n colors: DeepPartial<ColorProfile>;\n distanceUnitType?: DistanceUnitType;\n weekdayStartsOn?: WeekdayStartsOn;\n\n crossSellHotelIds?: string[];\n paymentMethods: EBookingPaymentMethod[];\n planpay?: {\n username: string;\n minDaysShowPlanpay: number;\n env: PlanPayEnvironment;\n };\n\n email?: string;\n hotelUrl?: string;\n heroImage?: string;\n images?: string[];\n roomGroups: HotelRoomGroupsDTO;\n};\n\nexport enum VGSCardName {\n Visa = 'visa',\n Mastercard = 'mastercard',\n JCB = 'jcb',\n DinersClub = 'dinersclub',\n AmericanExpress = 'amex',\n UnionPay = 'unionpay',\n}\n\nexport const SynxisToVGSCardNameMapping: { [synxisName in EPaymentCardType]: VGSCardName } = {\n [EPaymentCardType.Visa]: VGSCardName.Visa,\n [EPaymentCardType.Mastercard]: VGSCardName.Mastercard,\n [EPaymentCardType.JCB]: VGSCardName.JCB,\n [EPaymentCardType.AmericanExpress]: VGSCardName.AmericanExpress,\n [EPaymentCardType.DinersClub]: VGSCardName.DinersClub,\n [EPaymentCardType.UnionPay]: VGSCardName.UnionPay,\n};\n"]}
1
+ {"version":3,"file":"HotelDTO.js","sourceRoot":"/","sources":["src/models/Api/HotelDTO.ts"],"names":[],"mappings":";;;AAMA,uDAA+D;AAkG/D,IAAY,WAOX;AAPD,WAAY,WAAW;IACnB,4BAAa,CAAA;IACb,wCAAyB,CAAA;IACzB,0BAAW,CAAA;IACX,wCAAyB,CAAA;IACzB,uCAAwB,CAAA;IACxB,oCAAqB,CAAA;AACzB,CAAC,EAPW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAOtB;AAEY,QAAA,0BAA0B,GAAsD;IACzF,CAAC,wBAAgB,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC,IAAI;IACzC,CAAC,wBAAgB,CAAC,UAAU,CAAC,EAAE,WAAW,CAAC,UAAU;IACrD,CAAC,wBAAgB,CAAC,GAAG,CAAC,EAAE,WAAW,CAAC,GAAG;IACvC,CAAC,wBAAgB,CAAC,eAAe,CAAC,EAAE,WAAW,CAAC,eAAe;IAC/D,CAAC,wBAAgB,CAAC,UAAU,CAAC,EAAE,WAAW,CAAC,UAAU;IACrD,CAAC,wBAAgB,CAAC,QAAQ,CAAC,EAAE,WAAW,CAAC,QAAQ;CACpD,CAAC","sourcesContent":["import type { PlanPayEnvironment } from '@planpay/web';\nimport type { EBookingPaymentMethod } from '@roomstay/core';\nimport { DeepPartial } from 'react-hook-form';\n\nimport ColorProfile from '@/models/Client/Hotel/ColorProfile';\nimport { DistanceUnitType } from '@/models/Client/Hotel/DistanceUnitType.types';\nimport { EPaymentCardType } from '@/models/Client/Hotel/Hotel';\nimport HotelAddress from '@/models/Client/Hotel/HotelAddress';\nimport { HotelDataSource } from '@/models/Client/Hotel/HotelDataSource.types';\nimport { WeekdayStartsOn } from '@/models/Client/Hotel/WeekdayStartsOn.types';\n\nexport type HotelServiceDTO = {\n detail: string;\n included: boolean;\n name: string;\n onsite: boolean;\n};\n\nexport type HotelRoomsDTO = {\n [roomTypeCode: string]: HotelRoomDTO;\n};\n\nexport type HotelRoomGroupsDTO = {\n groupName: string;\n id: string;\n filters: { [id: string]: { name: string; type: 'select'; includeAllAbove: boolean; options: any } };\n}[];\n\nexport type HotelRoomAmenitiesDTO = {\n type: string;\n description: string;\n};\n\nexport type HotelRoomDTO = {\n code: string;\n name: string;\n shortDescription: string;\n longDescription: string;\n images: string[];\n quantity: number;\n maxOccupancy: number;\n bedQuantity: number;\n standardNumBeds: number;\n maxRollaways: number;\n bedType: string;\n amenities: HotelRoomAmenitiesDTO[];\n features: HotelRoomAmenitiesDTO[];\n bedTypeOverride?: string;\n roomGroupId?: string;\n};\n\nexport type HotelDTO = {\n id: number;\n name: string;\n chainId: number;\n chainName: string;\n\n address: HotelAddress;\n phone: string;\n\n latitude: string;\n longitude: string;\n\n utcOffset: string;\n\n languageCode: string;\n currencyCode: string;\n\n checkInTime: string;\n checkOutTime: string;\n\n paymentCardTypes: EPaymentCardType[];\n\n description: string;\n locationDescription: string;\n policies: string;\n\n hotelServices: HotelServiceDTO[];\n businessServices: HotelServiceDTO[];\n\n rooms: { [roomTypeCode: string]: HotelRoomDTO };\n dataSource: HotelDataSource;\n\n // Following fields are only present if dataSource = 'roomstay'\n logo?: string;\n colors: DeepPartial<ColorProfile>;\n distanceUnitType?: DistanceUnitType;\n weekdayStartsOn?: WeekdayStartsOn;\n\n crossSellHotelIds?: string[];\n paymentMethods: EBookingPaymentMethod[];\n planpay?: {\n username: string;\n minDaysShowPlanpay: number;\n env: PlanPayEnvironment;\n };\n\n email?: string;\n hotelUrl?: string;\n heroImage?: string;\n images?: string[];\n roomGroups: HotelRoomGroupsDTO;\n};\n\nexport enum VGSCardName {\n Visa = 'visa',\n Mastercard = 'mastercard',\n JCB = 'jcb',\n DinersClub = 'dinersclub',\n AmericanExpress = 'amex',\n UnionPay = 'unionpay',\n}\n\nexport const SynxisToVGSCardNameMapping: { [synxisName in EPaymentCardType]: VGSCardName } = {\n [EPaymentCardType.Visa]: VGSCardName.Visa,\n [EPaymentCardType.Mastercard]: VGSCardName.Mastercard,\n [EPaymentCardType.JCB]: VGSCardName.JCB,\n [EPaymentCardType.AmericanExpress]: VGSCardName.AmericanExpress,\n [EPaymentCardType.DinersClub]: VGSCardName.DinersClub,\n [EPaymentCardType.UnionPay]: VGSCardName.UnionPay,\n};\n"]}
@@ -1,8 +1,8 @@
1
1
  import { DistanceUnitType } from '../Client/Hotel/DistanceUnitType.types';
2
2
  export interface TransportDistances {
3
3
  /** Seems that the old way had these as numbers, and if the unit wasn't metric done conversions on the number
4
- As they're inputting the string directly now I've changed the Distance component to accept both types and only
5
- run the conversion on numbers.
4
+ As they're inputting the string directly now I've changed the Distance component to accept both types and only
5
+ run the conversion on numbers.
6
6
  */
7
7
  plane?: string | number;
8
8
  train?: string | number;
@@ -1 +1 @@
1
- {"version":3,"file":"HotelOverrideDTO.js","sourceRoot":"/","sources":["src/models/Api/HotelOverrideDTO.ts"],"names":[],"mappings":"","sourcesContent":["import { DistanceUnitType } from '@/models/Client/Hotel/DistanceUnitType.types';\n\nexport interface TransportDistances {\n /** Seems that the old way had these as numbers, and if the unit wasn't metric done conversions on the number\n As they're inputting the string directly now I've changed the Distance component to accept both types and only \n run the conversion on numbers.\n */\n plane?: string | number;\n train?: string | number;\n bus?: string | number;\n taxi?: string | number;\n}\n\nexport interface HotelOverrideDTO {\n hideByLine?: boolean;\n overrideDistanceUnitType?: boolean;\n distanceUnitType?: DistanceUnitType;\n transportDistances?: TransportDistances;\n phoneNumberInSummary?: string;\n enabledEventIds?: string[];\n}\n"]}
1
+ {"version":3,"file":"HotelOverrideDTO.js","sourceRoot":"/","sources":["src/models/Api/HotelOverrideDTO.ts"],"names":[],"mappings":"","sourcesContent":["import { DistanceUnitType } from '@/models/Client/Hotel/DistanceUnitType.types';\n\nexport interface TransportDistances {\n /** Seems that the old way had these as numbers, and if the unit wasn't metric done conversions on the number\n As they're inputting the string directly now I've changed the Distance component to accept both types and only\n run the conversion on numbers.\n */\n plane?: string | number;\n train?: string | number;\n bus?: string | number;\n taxi?: string | number;\n}\n\nexport interface HotelOverrideDTO {\n hideByLine?: boolean;\n overrideDistanceUnitType?: boolean;\n distanceUnitType?: DistanceUnitType;\n transportDistances?: TransportDistances;\n phoneNumberInSummary?: string;\n enabledEventIds?: string[];\n}\n"]}
@@ -1,5 +1,5 @@
1
- import RoomNightRateDTO from './RoomNightRateDTO';
2
1
  import { EBookingPaymentMethod } from '@roomstay/core';
2
+ import RoomNightRateDTO from './RoomNightRateDTO';
3
3
  type ReservationsDTO = {
4
4
  roomstayId: string;
5
5
  reservations: ReservationDTO[];
@@ -1 +1 @@
1
- {"version":3,"file":"ReservationsDTO.js","sourceRoot":"/","sources":["src/models/Api/ReservationsDTO.ts"],"names":[],"mappings":"","sourcesContent":["import RoomNightRateDTO from '@/models/Api/RoomNightRateDTO';\nimport { EBookingPaymentMethod } from '@roomstay/core';\n\ntype ReservationsDTO = {\n roomstayId: string;\n reservations: ReservationDTO[];\n itineraryNumber: string;\n warnings?: string[];\n total?: string;\n payment?: {\n planpay?: {\n id: string;\n checkoutWorkflow: {\n type: string;\n id: string;\n scriptUrl: string;\n };\n };\n };\n};\n\nexport type ReservationAddonDTO = {\n availability: any;\n code: string;\n inclusive: false;\n pricingType: string;\n quantity: number;\n adultQuantity: number;\n childQuantity?: number;\n description: string;\n name: string;\n category: string;\n image: string;\n price: number;\n adultPrice?: number;\n childPrice?: number;\n nights?: number;\n};\n\nexport type ReservationDTO = {\n nights: {\n [date: string]: RoomNightRateDTO;\n };\n guestCounts: {\n adults: number;\n children: number;\n };\n guest: {\n address: {\n line1: string;\n city: string;\n postalCode: string;\n };\n firstName: string;\n lastName: string;\n phone: string;\n email: string;\n };\n paymentCard: {\n type?: string;\n last4: string;\n expiry: string;\n name: string;\n };\n paymentMethod?: EBookingPaymentMethod;\n comments?: string[];\n addons?: ReservationAddonDTO[];\n\n reservationNumber: string;\n cancelPolicy: string;\n cancellationPolicyLongDescription?: string;\n guaranteePolicy: string;\n guaranteePolicyLongDescription?: string;\n roomType: string;\n roomCode: string;\n rate: string;\n images: [string];\n status: string;\n isCancelable: boolean;\n total: {\n beforeTax: number;\n afterTax: number;\n };\n};\n\nexport default ReservationsDTO;\n"]}
1
+ {"version":3,"file":"ReservationsDTO.js","sourceRoot":"/","sources":["src/models/Api/ReservationsDTO.ts"],"names":[],"mappings":"","sourcesContent":["import { EBookingPaymentMethod } from '@roomstay/core';\n\nimport RoomNightRateDTO from '@/models/Api/RoomNightRateDTO';\n\ntype ReservationsDTO = {\n roomstayId: string;\n reservations: ReservationDTO[];\n itineraryNumber: string;\n warnings?: string[];\n total?: string;\n payment?: {\n planpay?: {\n id: string;\n checkoutWorkflow: {\n type: string;\n id: string;\n scriptUrl: string;\n };\n };\n };\n};\n\nexport type ReservationAddonDTO = {\n availability: any;\n code: string;\n inclusive: false;\n pricingType: string;\n quantity: number;\n adultQuantity: number;\n childQuantity?: number;\n description: string;\n name: string;\n category: string;\n image: string;\n price: number;\n adultPrice?: number;\n childPrice?: number;\n nights?: number;\n};\n\nexport type ReservationDTO = {\n nights: {\n [date: string]: RoomNightRateDTO;\n };\n guestCounts: {\n adults: number;\n children: number;\n };\n guest: {\n address: {\n line1: string;\n city: string;\n postalCode: string;\n };\n firstName: string;\n lastName: string;\n phone: string;\n email: string;\n };\n paymentCard: {\n type?: string;\n last4: string;\n expiry: string;\n name: string;\n };\n paymentMethod?: EBookingPaymentMethod;\n comments?: string[];\n addons?: ReservationAddonDTO[];\n\n reservationNumber: string;\n cancelPolicy: string;\n cancellationPolicyLongDescription?: string;\n guaranteePolicy: string;\n guaranteePolicyLongDescription?: string;\n roomType: string;\n roomCode: string;\n rate: string;\n images: [string];\n status: string;\n isCancelable: boolean;\n total: {\n beforeTax: number;\n afterTax: number;\n };\n};\n\nexport default ReservationsDTO;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"BasketAddonRow.js","sourceRoot":"/","sources":["src/models/BasketAddonRow.ts"],"names":[],"mappings":"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","sourcesContent":["import { ADDON_PER_NIGHT_TYPES, Addon, AddonPricingType, PriceInfo } from '@/models/Addon/Addon';\nimport { calculateReservationAddonTotal } from '@/util/TotalCalculator';\n\nexport default class BasketAddonRow {\n private readonly uniqId: string;\n\n private addon!: Addon;\n\n private quantity: number;\n private adultQuantity: number;\n private childQuantity: number;\n\n private selectedDate!: string;\n private selectedTime!: string;\n\n private numberOfAvailableNights: number;\n\n public constructor(addon?: Addon) {\n if (addon) {\n this.setAddon(addon);\n }\n\n this.quantity = 1;\n this.adultQuantity = 1;\n this.childQuantity = 0;\n\n this.uniqId = btoa(((Date.now() % 1000) / 1000) * Math.random() + '');\n\n this.numberOfAvailableNights = Object.values(addon?.availability as { [date: string]: PriceInfo }).length;\n }\n\n public getAddon() {\n return this.addon;\n }\n\n public getSelectedDate() {\n return this.selectedDate;\n }\n\n public getSelectedTime() {\n return this.selectedTime;\n }\n\n public getQuantity() {\n return this.quantity;\n }\n\n public getAdultQuantity(): number {\n return this.adultQuantity;\n }\n\n public getNumberOfAvailableNights() {\n return this.numberOfAvailableNights;\n }\n\n public getTotalPrice(): number {\n const addon = this.getAddon();\n const date = this.getSelectedDate();\n const priceInfo = addon.availability[date];\n\n return calculateReservationAddonTotal({\n availability: this.getAddon().availability,\n code: addon.code,\n inclusive: false,\n quantity: this.getQuantity(),\n adultQuantity: this.getAdultQuantity(),\n childQuantity: this.getChildQuantity(),\n description: addon.description,\n name: addon.name,\n category: addon.category,\n image: addon.image as any,\n price: priceInfo.price ?? 0,\n adultPrice: priceInfo.adultPrice,\n childPrice: priceInfo.childPrice,\n pricingType: addon.pricingType,\n nights: addon.nights,\n }).total;\n }\n\n public getItemPrice(): number {\n const addon = this.getAddon();\n const date = this.getSelectedDate();\n const priceInfo = addon.availability[date];\n\n let price = 0;\n if (priceInfo.price) {\n price += priceInfo.price;\n }\n\n if (priceInfo.adultPrice && this.getAdultQuantity() > 0) {\n price += priceInfo.adultPrice;\n }\n\n if (priceInfo.childPrice && this.getChildQuantity() > 0) {\n price += priceInfo.childPrice;\n }\n\n return price;\n }\n\n public getTotalQuantity(): number {\n const addon = this.getAddon();\n const date = this.getSelectedDate();\n const priceInfo = addon.availability[date];\n\n let quantity = 0;\n if (priceInfo.price) {\n quantity += this.getQuantity();\n }\n\n if (priceInfo.adultPrice || addon.pricingType === AddonPricingType.PER_ADULT_OCCUPANCY_PER_NIGHT) {\n quantity += this.getAdultQuantity();\n }\n\n if (priceInfo.childPrice || addon.pricingType === AddonPricingType.PER_CHILD_OCCUPANCY_PER_NIGHT) {\n quantity += this.getChildQuantity();\n }\n\n return quantity;\n }\n\n /**\n * This function returns a value that should multiply the total price of the addon for one (assumed) night\n * Depending on the pricing type\n * @returns number\n */\n public getNightModifier(): number {\n const modifier = 1;\n\n if (ADDON_PER_NIGHT_TYPES.includes(this.addon.pricingType)) {\n return this.addon.checkOutDate.diff(this.addon.checkInDate, 'day');\n } else {\n return modifier;\n }\n }\n\n public setAdultQuantity(value: number) {\n this.adultQuantity = value;\n }\n\n public getChildQuantity(): number {\n return this.childQuantity;\n }\n\n public setChildQuantity(value: number) {\n this.childQuantity = value;\n }\n\n public getID() {\n return this.uniqId;\n }\n\n public isValid() {\n return this.selectedDate && this.addon && this.quantity > 0;\n }\n\n public setSelectedDate(date: string) {\n this.selectedDate = date;\n }\n\n public setSelectedTime(time?: string) {\n this.selectedTime = time as string;\n }\n\n public setQuantity(quantity: number) {\n this.quantity = quantity;\n }\n\n public setAddon(addon: Addon) {\n this.addon = addon;\n }\n}\n"]}
1
+ {"version":3,"file":"BasketAddonRow.js","sourceRoot":"/","sources":["src/models/BasketAddonRow.ts"],"names":[],"mappings":"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","sourcesContent":["import { Addon, ADDON_PER_NIGHT_TYPES, AddonPricingType, PriceInfo } from '@/models/Addon/Addon';\nimport { calculateReservationAddonTotal } from '@/util/TotalCalculator';\n\nexport default class BasketAddonRow {\n private readonly uniqId: string;\n\n private addon!: Addon;\n\n private quantity: number;\n private adultQuantity: number;\n private childQuantity: number;\n\n private selectedDate!: string;\n private selectedTime!: string;\n\n private numberOfAvailableNights: number;\n\n public constructor(addon?: Addon) {\n if (addon) {\n this.setAddon(addon);\n }\n\n this.quantity = 1;\n this.adultQuantity = 1;\n this.childQuantity = 0;\n\n this.uniqId = btoa(((Date.now() % 1000) / 1000) * Math.random() + '');\n\n this.numberOfAvailableNights = Object.values(addon?.availability as { [date: string]: PriceInfo }).length;\n }\n\n public getAddon() {\n return this.addon;\n }\n\n public getSelectedDate() {\n return this.selectedDate;\n }\n\n public getSelectedTime() {\n return this.selectedTime;\n }\n\n public getQuantity() {\n return this.quantity;\n }\n\n public getAdultQuantity(): number {\n return this.adultQuantity;\n }\n\n public getNumberOfAvailableNights() {\n return this.numberOfAvailableNights;\n }\n\n public getTotalPrice(): number {\n const addon = this.getAddon();\n const date = this.getSelectedDate();\n const priceInfo = addon.availability[date];\n\n return calculateReservationAddonTotal({\n availability: this.getAddon().availability,\n code: addon.code,\n inclusive: false,\n quantity: this.getQuantity(),\n adultQuantity: this.getAdultQuantity(),\n childQuantity: this.getChildQuantity(),\n description: addon.description,\n name: addon.name,\n category: addon.category,\n image: addon.image as any,\n price: priceInfo.price ?? 0,\n adultPrice: priceInfo.adultPrice,\n childPrice: priceInfo.childPrice,\n pricingType: addon.pricingType,\n nights: addon.nights,\n }).total;\n }\n\n public getItemPrice(): number {\n const addon = this.getAddon();\n const date = this.getSelectedDate();\n const priceInfo = addon.availability[date];\n\n let price = 0;\n if (priceInfo.price) {\n price += priceInfo.price;\n }\n\n if (priceInfo.adultPrice && this.getAdultQuantity() > 0) {\n price += priceInfo.adultPrice;\n }\n\n if (priceInfo.childPrice && this.getChildQuantity() > 0) {\n price += priceInfo.childPrice;\n }\n\n return price;\n }\n\n public getTotalQuantity(): number {\n const addon = this.getAddon();\n const date = this.getSelectedDate();\n const priceInfo = addon.availability[date];\n\n let quantity = 0;\n if (priceInfo.price) {\n quantity += this.getQuantity();\n }\n\n if (priceInfo.adultPrice || addon.pricingType === AddonPricingType.PER_ADULT_OCCUPANCY_PER_NIGHT) {\n quantity += this.getAdultQuantity();\n }\n\n if (priceInfo.childPrice || addon.pricingType === AddonPricingType.PER_CHILD_OCCUPANCY_PER_NIGHT) {\n quantity += this.getChildQuantity();\n }\n\n return quantity;\n }\n\n /**\n * This function returns a value that should multiply the total price of the addon for one (assumed) night\n * Depending on the pricing type\n * @returns number\n */\n public getNightModifier(): number {\n const modifier = 1;\n\n if (ADDON_PER_NIGHT_TYPES.includes(this.addon.pricingType)) {\n return this.addon.checkOutDate.diff(this.addon.checkInDate, 'day');\n } else {\n return modifier;\n }\n }\n\n public setAdultQuantity(value: number) {\n this.adultQuantity = value;\n }\n\n public getChildQuantity(): number {\n return this.childQuantity;\n }\n\n public setChildQuantity(value: number) {\n this.childQuantity = value;\n }\n\n public getID() {\n return this.uniqId;\n }\n\n public isValid() {\n return this.selectedDate && this.addon && this.quantity > 0;\n }\n\n public setSelectedDate(date: string) {\n this.selectedDate = date;\n }\n\n public setSelectedTime(time?: string) {\n this.selectedTime = time as string;\n }\n\n public setQuantity(quantity: number) {\n this.quantity = quantity;\n }\n\n public setAddon(addon: Addon) {\n this.addon = addon;\n }\n}\n"]}
@@ -1,10 +1,10 @@
1
+ import { IRoomstayMember } from '@roomstay/core';
1
2
  import dayjs from 'dayjs';
2
- import type { Room } from './Room/Room';
3
- import type { RoomRate } from './Room/RoomRate';
4
3
  import { ReservationDTO } from './Api/ReservationsDTO';
5
4
  import BasketRowDifferences from './BasketRowDifferences';
5
+ import type { Room } from './Room/Room';
6
+ import type { RoomRate } from './Room/RoomRate';
6
7
  import { Color } from '../util/Color';
7
- import { IRoomstayMember } from '@roomstay/core';
8
8
  export default class BasketRow {
9
9
  private uniqId;
10
10
  private room;
@@ -35,7 +35,7 @@ export default class BasketRow {
35
35
  getAdults(): number;
36
36
  getChildren(): number;
37
37
  getID(): string;
38
- getPromoCodeStatus(): "invalid" | "valid" | "new";
38
+ getPromoCodeStatus(): "valid" | "invalid" | "new";
39
39
  isValid(): boolean;
40
40
  setPromoCode(code: string): void;
41
41
  setPromoOnly(value: boolean): void;
@@ -4,9 +4,9 @@ const Color_1 = require("../util/Color");
4
4
  class BasketRow {
5
5
  constructor(rate, uniqId) {
6
6
  /*
7
- Rate is optional since we can create row entries
8
- on first step, where there is no ability to select rate.
9
- */
7
+ Rate is optional since we can create row entries
8
+ on first step, where there is no ability to select rate.
9
+ */
10
10
  if (rate) {
11
11
  this.setRate(rate);
12
12
  }
@@ -1 +1 @@
1
- {"version":3,"file":"BasketRow.js","sourceRoot":"/","sources":["src/models/BasketRow.ts"],"names":[],"mappings":"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","sourcesContent":["import dayjs from 'dayjs';\nimport type { Room } from '@/models/Room/Room';\nimport type { RoomRate } from '@/models/Room/RoomRate';\nimport { ReservationDTO } from '@/models/Api/ReservationsDTO';\nimport BasketRowDifferences from '@/models/BasketRowDifferences';\nimport { Color } from '@/util/Color';\nimport { IRoomstayMember } from '@roomstay/core';\n\nexport default class BasketRow {\n private uniqId: string;\n\n private room!: Room;\n private rate!: RoomRate | null;\n private isStale!: boolean;\n private adults: number;\n private children: number;\n\n private promoCode: string;\n private promoCodeStatus: 'valid' | 'invalid' | 'new';\n\n private startDate!: dayjs.Dayjs;\n private endDate!: dayjs.Dayjs;\n\n private promoOnly: boolean;\n private member?: Partial<IRoomstayMember>;\n\n public constructor(rate?: RoomRate, uniqId?: string) {\n /*\n Rate is optional since we can create row entries\n on first step, where there is no ability to select rate.\n */\n if (rate) {\n this.setRate(rate);\n }\n\n this.adults = 1;\n this.children = 0;\n this.promoCode = '';\n this.promoCodeStatus = 'new';\n this.promoOnly = false;\n\n this.uniqId = uniqId ? uniqId : btoa(((Date.now() % 1000) / 1000) * Math.random() + '');\n }\n public getStale() {\n return this.isStale;\n }\n public getRate() {\n return this.rate;\n }\n\n public getPromoCode() {\n return this.promoCode.toUpperCase();\n }\n\n public getPromoOnly() {\n return this.promoOnly;\n }\n\n public getPromoCodeColour() {\n if (this.promoCodeStatus === 'valid') {\n return Color.Success;\n } else if (this.promoCodeStatus === 'invalid') {\n return Color.Alert;\n }\n\n return Color.Navy;\n }\n\n public isPromoCodeValid() {\n const rate = this.getRate();\n\n return (rate?.getAveragePrice(true) as number) < (rate?.getAveragePriceBeforeDiscount(true) as number) && this.getPromoCode() && this.getPromoCodeStatus() === 'valid';\n }\n\n public getNumberOfDays() {\n if (this.endDate && this.startDate) {\n return this.endDate.diff(this.startDate, 'day');\n }\n\n return 0;\n }\n\n public getRoom() {\n return this.room;\n }\n\n public getStartDate() {\n return this.startDate;\n }\n\n public getEndDate() {\n return this.endDate;\n }\n\n public getArrivalDate() {\n if (this.startDate) {\n return this.startDate.format('D MMM');\n }\n\n return null;\n }\n\n public getDepartureDate() {\n if (this.endDate) {\n return this.endDate.format('D MMM');\n }\n\n return null;\n }\n\n public getStayDateRange(format = 'ddd D MMM', separator = ',') {\n if (this.startDate && this.endDate) {\n return `${this.startDate.format(format)}${separator} ${this.endDate.format(format)}`;\n }\n }\n\n public getAdults() {\n return this.adults;\n }\n\n public getChildren() {\n return this.children;\n }\n\n public getID() {\n return this.uniqId;\n }\n\n public getPromoCodeStatus() {\n return this.promoCodeStatus;\n }\n\n public isValid(): boolean {\n return this.startDate && this.endDate && !!this.rate;\n }\n\n public setPromoCode(code: string) {\n if (this.promoCode !== code.toUpperCase()) {\n this.setPromoCodeStatus('new');\n this.promoOnly = false;\n }\n\n this.promoCode = code.toUpperCase();\n }\n\n public setPromoOnly(value: boolean) {\n this.promoOnly = value;\n }\n\n public setStale(status: boolean) {\n this.isStale = status;\n }\n public setPromoCodeStatus(status: 'valid' | 'invalid' | 'new') {\n this.promoCodeStatus = this.promoCode ? status : 'new';\n }\n\n public setStartDate(date: dayjs.Dayjs) {\n if (this.rate && !date.isSame(this.startDate) && this.startDate) {\n this.rate = null;\n }\n\n if (date?.isValid() || date === undefined) {\n this.startDate = date;\n }\n }\n\n public setEndDate(date: dayjs.Dayjs) {\n if (this.rate && !date.isSame(this.endDate) && this.endDate) {\n this.rate = null;\n }\n\n if (date?.isValid() || date === undefined) {\n this.endDate = date;\n }\n }\n\n public setAdults(adults: number) {\n this.adults = adults;\n }\n\n public setChildren(children: number) {\n this.children = children;\n }\n\n public setRate(rate: RoomRate) {\n this.rate = rate;\n this.room = rate.getRoom();\n }\n\n public setMember(member: Partial<IRoomstayMember>) {\n this.member = member;\n }\n\n public getTotalPrice(beforeTax = false) {\n return this.getRate()?.getTotalPrice(beforeTax);\n }\n\n public checkDiffFromReservation(res: ReservationDTO) {\n const differences: BasketRowDifferences = {};\n\n if (Number(res.total.afterTax).toFixed(2) !== Number(this.getTotalPrice()).toFixed(2)) {\n differences.totalPrice = {\n before: this.getTotalPrice(),\n after: res.total.afterTax,\n };\n }\n\n if (Object.keys(differences).length) {\n differences.id = this.getID();\n\n return differences;\n } else {\n return false;\n }\n }\n}\n"]}
1
+ {"version":3,"file":"BasketRow.js","sourceRoot":"/","sources":["src/models/BasketRow.ts"],"names":[],"mappings":"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","sourcesContent":["import { IRoomstayMember } from '@roomstay/core';\nimport dayjs from 'dayjs';\n\nimport { ReservationDTO } from '@/models/Api/ReservationsDTO';\nimport BasketRowDifferences from '@/models/BasketRowDifferences';\nimport type { Room } from '@/models/Room/Room';\nimport type { RoomRate } from '@/models/Room/RoomRate';\nimport { Color } from '@/util/Color';\n\nexport default class BasketRow {\n private uniqId: string;\n\n private room!: Room;\n private rate!: RoomRate | null;\n private isStale!: boolean;\n private adults: number;\n private children: number;\n\n private promoCode: string;\n private promoCodeStatus: 'valid' | 'invalid' | 'new';\n\n private startDate!: dayjs.Dayjs;\n private endDate!: dayjs.Dayjs;\n\n private promoOnly: boolean;\n private member?: Partial<IRoomstayMember>;\n\n public constructor(rate?: RoomRate, uniqId?: string) {\n /*\n Rate is optional since we can create row entries\n on first step, where there is no ability to select rate.\n */\n if (rate) {\n this.setRate(rate);\n }\n\n this.adults = 1;\n this.children = 0;\n this.promoCode = '';\n this.promoCodeStatus = 'new';\n this.promoOnly = false;\n\n this.uniqId = uniqId ? uniqId : btoa(((Date.now() % 1000) / 1000) * Math.random() + '');\n }\n\n public getStale() {\n return this.isStale;\n }\n\n public getRate() {\n return this.rate;\n }\n\n public getPromoCode() {\n return this.promoCode.toUpperCase();\n }\n\n public getPromoOnly() {\n return this.promoOnly;\n }\n\n public getPromoCodeColour() {\n if (this.promoCodeStatus === 'valid') {\n return Color.Success;\n } else if (this.promoCodeStatus === 'invalid') {\n return Color.Alert;\n }\n\n return Color.Navy;\n }\n\n public isPromoCodeValid() {\n const rate = this.getRate();\n\n return (rate?.getAveragePrice(true) as number) < (rate?.getAveragePriceBeforeDiscount(true) as number) && this.getPromoCode() && this.getPromoCodeStatus() === 'valid';\n }\n\n public getNumberOfDays() {\n if (this.endDate && this.startDate) {\n return this.endDate.diff(this.startDate, 'day');\n }\n\n return 0;\n }\n\n public getRoom() {\n return this.room;\n }\n\n public getStartDate() {\n return this.startDate;\n }\n\n public getEndDate() {\n return this.endDate;\n }\n\n public getArrivalDate() {\n if (this.startDate) {\n return this.startDate.format('D MMM');\n }\n\n return null;\n }\n\n public getDepartureDate() {\n if (this.endDate) {\n return this.endDate.format('D MMM');\n }\n\n return null;\n }\n\n public getStayDateRange(format = 'ddd D MMM', separator = ',') {\n if (this.startDate && this.endDate) {\n return `${this.startDate.format(format)}${separator} ${this.endDate.format(format)}`;\n }\n }\n\n public getAdults() {\n return this.adults;\n }\n\n public getChildren() {\n return this.children;\n }\n\n public getID() {\n return this.uniqId;\n }\n\n public getPromoCodeStatus() {\n return this.promoCodeStatus;\n }\n\n public isValid(): boolean {\n return this.startDate && this.endDate && !!this.rate;\n }\n\n public setPromoCode(code: string) {\n if (this.promoCode !== code.toUpperCase()) {\n this.setPromoCodeStatus('new');\n this.promoOnly = false;\n }\n\n this.promoCode = code.toUpperCase();\n }\n\n public setPromoOnly(value: boolean) {\n this.promoOnly = value;\n }\n\n public setStale(status: boolean) {\n this.isStale = status;\n }\n\n public setPromoCodeStatus(status: 'valid' | 'invalid' | 'new') {\n this.promoCodeStatus = this.promoCode ? status : 'new';\n }\n\n public setStartDate(date: dayjs.Dayjs) {\n if (this.rate && !date.isSame(this.startDate) && this.startDate) {\n this.rate = null;\n }\n\n if (date?.isValid() || date === undefined) {\n this.startDate = date;\n }\n }\n\n public setEndDate(date: dayjs.Dayjs) {\n if (this.rate && !date.isSame(this.endDate) && this.endDate) {\n this.rate = null;\n }\n\n if (date?.isValid() || date === undefined) {\n this.endDate = date;\n }\n }\n\n public setAdults(adults: number) {\n this.adults = adults;\n }\n\n public setChildren(children: number) {\n this.children = children;\n }\n\n public setRate(rate: RoomRate) {\n this.rate = rate;\n this.room = rate.getRoom();\n }\n\n public setMember(member: Partial<IRoomstayMember>) {\n this.member = member;\n }\n\n public getTotalPrice(beforeTax = false) {\n return this.getRate()?.getTotalPrice(beforeTax);\n }\n\n public checkDiffFromReservation(res: ReservationDTO) {\n const differences: BasketRowDifferences = {};\n\n if (Number(res.total.afterTax).toFixed(2) !== Number(this.getTotalPrice()).toFixed(2)) {\n differences.totalPrice = {\n before: this.getTotalPrice(),\n after: res.total.afterTax,\n };\n }\n\n if (Object.keys(differences).length) {\n differences.id = this.getID();\n\n return differences;\n } else {\n return false;\n }\n }\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  import { IHotelColorScheme } from '@roomstay/core';
2
- import type { Hotel, ConfigHotel } from './Hotel';
2
+ import type { ConfigHotel, Hotel } from './Hotel';
3
3
  export interface HasDatalayerTags {
4
4
  datalayer?: {
5
5
  gtmIds: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"Company.js","sourceRoot":"/","sources":["src/models/Client/Hotel/Company.ts"],"names":[],"mappings":"","sourcesContent":["import { IHotelColorScheme } from '@roomstay/core';\nimport type { Hotel, ConfigHotel } from '@/models/Client/Hotel/Hotel';\n\nexport interface HasDatalayerTags {\n datalayer?: {\n gtmIds: string[];\n };\n}\n\nexport interface ConfigCompany extends HasDatalayerTags {\n name: string;\n /**\n * Used for single word names \"Ovolo, Roomstay, etc\"\n * @param companyShort\n */\n companyShort: string;\n\n logo: string;\n colors: IHotelColorScheme;\n\n hotels: ConfigHotel[];\n\n selectedHotel?: string | Hotel;\n\n logoLink?: string;\n\n brandSuffix?: string;\n}\nexport interface Company extends ConfigCompany {\n hotels: Hotel[];\n selectedHotel?: Hotel;\n}\n"]}
1
+ {"version":3,"file":"Company.js","sourceRoot":"/","sources":["src/models/Client/Hotel/Company.ts"],"names":[],"mappings":"","sourcesContent":["import { IHotelColorScheme } from '@roomstay/core';\n\nimport type { ConfigHotel, Hotel } from '@/models/Client/Hotel/Hotel';\n\nexport interface HasDatalayerTags {\n datalayer?: {\n gtmIds: string[];\n };\n}\n\nexport interface ConfigCompany extends HasDatalayerTags {\n name: string;\n /**\n * Used for single word names \"Ovolo, Roomstay, etc\"\n * @param companyShort\n */\n companyShort: string;\n\n logo: string;\n colors: IHotelColorScheme;\n\n hotels: ConfigHotel[];\n\n selectedHotel?: string | Hotel;\n\n logoLink?: string;\n\n brandSuffix?: string;\n}\n\nexport interface Company extends ConfigCompany {\n hotels: Hotel[];\n selectedHotel?: Hotel;\n}\n"]}
@@ -1,17 +1,17 @@
1
+ import type { PlanPayEnvironment } from '@planpay/web';
2
+ import { EBookingPaymentMethod, IHotelColorScheme } from '@roomstay/core';
1
3
  import type { ReactChild } from 'react';
2
- import type { Language } from '../../../providers/LanguageProvider';
3
- import type { HotelPerk } from './HotelPerk';
4
- import type { HotelRoomOverwrite } from './HotelRoomOverwrite';
5
- import type HotelAddress from './HotelAddress';
4
+ import type { MemberOnlyModalInputs } from '../../../components/steps/room/MemberSignInModal/MemberSignInModal.types';
6
5
  import type { HotelRoomGroupsDTO, HotelRoomsDTO, HotelServiceDTO } from '../../Api/HotelDTO';
7
- import type { HasDatalayerTags } from './Company';
8
6
  import type { TransportDistances } from '../../Api/HotelOverrideDTO';
9
- import type { MemberOnlyModalInputs } from '../../../components/steps/room/MemberSignInModal/MemberSignInModal.types';
7
+ import type { HasDatalayerTags } from './Company';
10
8
  import type { DistanceUnitType } from './DistanceUnitType.types';
11
- import type { WeekdayStartsOn } from './WeekdayStartsOn.types';
9
+ import type HotelAddress from './HotelAddress';
12
10
  import type { HotelDataSource } from './HotelDataSource.types';
13
- import { EBookingPaymentMethod, IHotelColorScheme } from '@roomstay/core';
14
- import type { PlanPayEnvironment } from '@planpay/web';
11
+ import type { HotelPerk } from './HotelPerk';
12
+ import type { HotelRoomOverwrite } from './HotelRoomOverwrite';
13
+ import type { WeekdayStartsOn } from './WeekdayStartsOn.types';
14
+ import type { Language } from '../../../providers/LanguageProvider';
15
15
  export declare enum EPaymentCardType {
16
16
  Visa = "VI",
17
17
  Mastercard = "MC",
@@ -1 +1 @@
1
- {"version":3,"file":"Hotel.js","sourceRoot":"/","sources":["src/models/Client/Hotel/Hotel.ts"],"names":[],"mappings":";;;AAgBA,IAAY,gBAOX;AAPD,WAAY,gBAAgB;IACxB,+BAAW,CAAA;IACX,qCAAiB,CAAA;IACjB,8BAAU,CAAA;IACV,0CAAsB,CAAA;IACtB,qCAAiB,CAAA;IACjB,mCAAe,CAAA;AACnB,CAAC,EAPW,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAO3B","sourcesContent":["import type { ReactChild } from 'react';\n\nimport type { Language } from '@/providers/LanguageProvider';\nimport type { HotelPerk } from '@/models/Client/Hotel/HotelPerk';\nimport type { HotelRoomOverwrite } from '@/models/Client/Hotel/HotelRoomOverwrite';\nimport type HotelAddress from '@/models/Client/Hotel/HotelAddress';\nimport type { HotelRoomGroupsDTO, HotelRoomsDTO, HotelServiceDTO } from '@/models/Api/HotelDTO';\nimport type { HasDatalayerTags } from '@/models/Client/Hotel/Company';\nimport type { TransportDistances } from '@/models/Api/HotelOverrideDTO';\nimport type { MemberOnlyModalInputs } from '@/components/steps/room/MemberSignInModal/MemberSignInModal.types';\nimport type { DistanceUnitType } from '@/models/Client/Hotel/DistanceUnitType.types';\nimport type { WeekdayStartsOn } from '@/models/Client/Hotel/WeekdayStartsOn.types';\nimport type { HotelDataSource } from '@/models/Client/Hotel/HotelDataSource.types';\nimport { EBookingPaymentMethod, IHotelColorScheme } from '@roomstay/core';\nimport type { PlanPayEnvironment } from '@planpay/web';\n\nexport enum EPaymentCardType {\n Visa = 'VI',\n Mastercard = 'MC',\n JCB = 'JC',\n AmericanExpress = 'AX',\n DinersClub = 'DN',\n UnionPay = 'UP',\n}\n\nexport interface IVGSVaultNames {\n standard: string;\n members: string;\n}\n\n/**\n * This config comes from admin\n */\nexport interface AdminHotelConfig {\n hotelID: string;\n name: string;\n address?: HotelAddress;\n latitude?: number;\n longitude?: number;\n phone?: string;\n email?: string;\n checkInTime?: string;\n checkOutTime?: string;\n paymentCardTypes?: EPaymentCardType[];\n description?: string;\n locationDescription?: string;\n policies?: string;\n hotelServices: HotelServiceDTO[];\n businessServices: HotelServiceDTO[];\n rooms: HotelRoomsDTO;\n hasLoadedDetails?: boolean;\n dataSource: HotelDataSource;\n defaultCurrency: string;\n paymentMethods: EBookingPaymentMethod[];\n planpay?: {\n username: string;\n minDaysShowPlanpay: number;\n env: PlanPayEnvironment;\n };\n hotelUrl: string;\n heroImage: string;\n memberOnlyModalImage?: string;\n images?: string[];\n logo: string | ReactChild;\n colors: IHotelColorScheme;\n distanceUnitType: DistanceUnitType;\n startsWeekOnDay?: WeekdayStartsOn;\n crossSellHotelIds?: string[];\n maxOccupancy?: number;\n hideByLine?: boolean;\n transportDistances?: TransportDistances;\n\n roomGroups: HotelRoomGroupsDTO;\n}\n\nexport interface ClientHotelConfig {\n providerHotelID: string;\n shortName?: string;\n defaultDatepickerType?: 'Month' | 'Week';\n // TODO: need to do magic to see if we need to append / prepend stuff, for now we assume that it's only used while on the site.\n checkoutUrl?: string;\n defaultLanguage: Language;\n privacyPolicyUrl: string;\n bookNowPayLaterUrl?: string;\n bestRateNoBSUrl?: string;\n\n memberOnlyRates?: string[];\n memberOnlyPromoCode?: string;\n memberOnlySignupInputs?: MemberOnlyModalInputs;\n googleMapsImage?: string;\n /**\n * Wether to show the Breakfast / Lunch / Dinner included\n */\n showMealPill?: boolean;\n /**\n * Distances for the Summary, and Hotel Info pages\n */\n perks: HotelPerk[];\n\n /** @deprecated Use the vgs.vaultNames.standard property now */\n vgsVaultName?: string;\n\n vgs?: {\n vaultNames: IVGSVaultNames;\n };\n\n showAddonLoader: boolean;\n overwrites?: { [code: string]: Partial<HotelRoomOverwrite> };\n forwardFindReservationToSynxis?: boolean;\n additionalOptions?: { [name: string]: any };\n googleReCaptcha?: {\n loadForMembers?: boolean;\n siteKey?: string;\n };\n\n /**\n * Customize the Member modal colours. Specifically replacing the green (success) with the primary color of hotel (accent)\n */\n memberOnlyModalUsePrimaryColor?: boolean;\n /**\n * Callback to trigger specific events on load of a hotel.\n *\n * This is where you can specify custom fields, language overrides, feature toggles etc.\n */\n onLoad?: () => void;\n}\n\nexport interface ConfigHotel extends ClientHotelConfig, AdminHotelConfig, HasDatalayerTags {}\n\nexport type Hotel = ConfigHotel & {\n lowestPrice?: {\n value: number;\n isLoading: boolean;\n };\n};\n\n/**\n * Used for DetailsHotel event\n */\nexport type InitialHotelDetailsEventPayload = {\n name: string;\n hotelID: number | string;\n hotelUrl: string;\n currency: string;\n language: Language;\n address?: HotelAddress;\n};\n"]}
1
+ {"version":3,"file":"Hotel.js","sourceRoot":"/","sources":["src/models/Client/Hotel/Hotel.ts"],"names":[],"mappings":";;;AAgBA,IAAY,gBAOX;AAPD,WAAY,gBAAgB;IACxB,+BAAW,CAAA;IACX,qCAAiB,CAAA;IACjB,8BAAU,CAAA;IACV,0CAAsB,CAAA;IACtB,qCAAiB,CAAA;IACjB,mCAAe,CAAA;AACnB,CAAC,EAPW,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAO3B","sourcesContent":["import type { PlanPayEnvironment } from '@planpay/web';\nimport { EBookingPaymentMethod, IHotelColorScheme } from '@roomstay/core';\nimport type { ReactChild } from 'react';\n\nimport type { MemberOnlyModalInputs } from '@/components/steps/room/MemberSignInModal/MemberSignInModal.types';\nimport type { HotelRoomGroupsDTO, HotelRoomsDTO, HotelServiceDTO } from '@/models/Api/HotelDTO';\nimport type { TransportDistances } from '@/models/Api/HotelOverrideDTO';\nimport type { HasDatalayerTags } from '@/models/Client/Hotel/Company';\nimport type { DistanceUnitType } from '@/models/Client/Hotel/DistanceUnitType.types';\nimport type HotelAddress from '@/models/Client/Hotel/HotelAddress';\nimport type { HotelDataSource } from '@/models/Client/Hotel/HotelDataSource.types';\nimport type { HotelPerk } from '@/models/Client/Hotel/HotelPerk';\nimport type { HotelRoomOverwrite } from '@/models/Client/Hotel/HotelRoomOverwrite';\nimport type { WeekdayStartsOn } from '@/models/Client/Hotel/WeekdayStartsOn.types';\nimport type { Language } from '@/providers/LanguageProvider';\n\nexport enum EPaymentCardType {\n Visa = 'VI',\n Mastercard = 'MC',\n JCB = 'JC',\n AmericanExpress = 'AX',\n DinersClub = 'DN',\n UnionPay = 'UP',\n}\n\nexport interface IVGSVaultNames {\n standard: string;\n members: string;\n}\n\n/**\n * This config comes from admin\n */\nexport interface AdminHotelConfig {\n hotelID: string;\n name: string;\n address?: HotelAddress;\n latitude?: number;\n longitude?: number;\n phone?: string;\n email?: string;\n checkInTime?: string;\n checkOutTime?: string;\n paymentCardTypes?: EPaymentCardType[];\n description?: string;\n locationDescription?: string;\n policies?: string;\n hotelServices: HotelServiceDTO[];\n businessServices: HotelServiceDTO[];\n rooms: HotelRoomsDTO;\n hasLoadedDetails?: boolean;\n dataSource: HotelDataSource;\n defaultCurrency: string;\n paymentMethods: EBookingPaymentMethod[];\n planpay?: {\n username: string;\n minDaysShowPlanpay: number;\n env: PlanPayEnvironment;\n };\n hotelUrl: string;\n heroImage: string;\n memberOnlyModalImage?: string;\n images?: string[];\n logo: string | ReactChild;\n colors: IHotelColorScheme;\n distanceUnitType: DistanceUnitType;\n startsWeekOnDay?: WeekdayStartsOn;\n crossSellHotelIds?: string[];\n maxOccupancy?: number;\n hideByLine?: boolean;\n transportDistances?: TransportDistances;\n\n roomGroups: HotelRoomGroupsDTO;\n}\n\nexport interface ClientHotelConfig {\n providerHotelID: string;\n shortName?: string;\n defaultDatepickerType?: 'Month' | 'Week';\n // TODO: need to do magic to see if we need to append / prepend stuff, for now we assume that it's only used while on the site.\n checkoutUrl?: string;\n defaultLanguage: Language;\n privacyPolicyUrl: string;\n bookNowPayLaterUrl?: string;\n bestRateNoBSUrl?: string;\n\n memberOnlyRates?: string[];\n memberOnlyPromoCode?: string;\n memberOnlySignupInputs?: MemberOnlyModalInputs;\n googleMapsImage?: string;\n /**\n * Wether to show the Breakfast / Lunch / Dinner included\n */\n showMealPill?: boolean;\n /**\n * Distances for the Summary, and Hotel Info pages\n */\n perks: HotelPerk[];\n\n /** @deprecated Use the vgs.vaultNames.standard property now */\n vgsVaultName?: string;\n\n vgs?: {\n vaultNames: IVGSVaultNames;\n };\n\n showAddonLoader: boolean;\n overwrites?: { [code: string]: Partial<HotelRoomOverwrite> };\n forwardFindReservationToSynxis?: boolean;\n additionalOptions?: { [name: string]: any };\n googleReCaptcha?: {\n loadForMembers?: boolean;\n siteKey?: string;\n };\n\n /**\n * Customize the Member modal colours. Specifically replacing the green (success) with the primary color of hotel (accent)\n */\n memberOnlyModalUsePrimaryColor?: boolean;\n /**\n * Callback to trigger specific events on load of a hotel.\n *\n * This is where you can specify custom fields, language overrides, feature toggles etc.\n */\n onLoad?: () => void;\n}\n\nexport interface ConfigHotel extends ClientHotelConfig, AdminHotelConfig, HasDatalayerTags {}\n\nexport type Hotel = ConfigHotel & {\n lowestPrice?: {\n value: number;\n isLoading: boolean;\n };\n};\n\n/**\n * Used for DetailsHotel event\n */\nexport type InitialHotelDetailsEventPayload = {\n name: string;\n hotelID: number | string;\n hotelUrl: string;\n currency: string;\n language: Language;\n address?: HotelAddress;\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"HotelPerk.js","sourceRoot":"/","sources":["src/models/Client/Hotel/HotelPerk.ts"],"names":[],"mappings":"","sourcesContent":["import type { ReactElement } from 'react';\nimport type { IconType } from '@/components/generic/Icon/Icon';\n\nexport type HotelPerk = {\n icon?: IconType;\n iconElement?: ReactElement;\n\n name: string;\n tooltip?: string;\n image?: string;\n};\n"]}
1
+ {"version":3,"file":"HotelPerk.js","sourceRoot":"/","sources":["src/models/Client/Hotel/HotelPerk.ts"],"names":[],"mappings":"","sourcesContent":["import type { ReactElement } from 'react';\n\nimport type { IconType } from '@/components/generic/Icon/Icon';\n\nexport type HotelPerk = {\n icon?: IconType;\n iconElement?: ReactElement;\n\n name: string;\n tooltip?: string;\n image?: string;\n};\n"]}
@@ -1,6 +1,6 @@
1
- import BasketRowDifferences from './BasketRowDifferences';
2
- import ReservationsDTO from './Api/ReservationsDTO';
3
1
  import { EBookingPaymentMethod, IBookingPayment } from '@roomstay/core';
2
+ import ReservationsDTO from './Api/ReservationsDTO';
3
+ import BasketRowDifferences from './BasketRowDifferences';
4
4
  export declare enum EUserProfileFormKey {
5
5
  Forename = "Forename",
6
6
  Surname = "Surname",
@@ -1 +1 @@
1
- {"version":3,"file":"Confirmation.js","sourceRoot":"/","sources":["src/models/Confirmation.ts"],"names":[],"mappings":";;;AAIA,IAAY,mBASX;AATD,WAAY,mBAAmB;IAC3B,4CAAqB,CAAA;IACrB,0CAAmB,CAAA;IACnB,sCAAe,CAAA;IACf,sCAAe,CAAA;IACf,0CAAmB,CAAA;IACnB,oCAAa,CAAA;IACb,4CAAqB,CAAA;IACrB,0CAAmB,CAAA;AACvB,CAAC,EATW,mBAAmB,GAAnB,2BAAmB,KAAnB,2BAAmB,QAS9B","sourcesContent":["import BasketRowDifferences from './BasketRowDifferences';\nimport ReservationsDTO from './Api/ReservationsDTO';\nimport { EBookingPaymentMethod, IBookingPayment } from '@roomstay/core';\n\nexport enum EUserProfileFormKey {\n Forename = 'Forename',\n Surname = 'Surname',\n Email = 'Email',\n Phone = 'Phone',\n Address = 'Address',\n City = 'City',\n PostCode = 'PostCode',\n Country = 'Country',\n}\n\nexport type TUserProfileFormValues = {\n [userProfileKey in EUserProfileFormKey]: string;\n};\n\nexport interface ConfirmationFormValues {\n IATANumber?: string;\n userProfiles: TUserProfileFormValues[];\n copyCheckBox?: boolean;\n paymentMethod: EBookingPaymentMethod;\n}\n\nexport interface IBookValidationResult {\n differences: BasketRowDifferences[];\n warnings: string[];\n}\n\nexport type FBookValidationCallback = (validationResult?: IBookValidationResult) => void;\nexport type FBookSuccessCallback = (data: ReservationsDTO) => Promise<void>;\nexport type FBookValidateFunction = () => Promise<boolean>;\nexport type FBookGetPaymentDetails = () => Promise<IBookingPayment>;\n"]}
1
+ {"version":3,"file":"Confirmation.js","sourceRoot":"/","sources":["src/models/Confirmation.ts"],"names":[],"mappings":";;;AAKA,IAAY,mBASX;AATD,WAAY,mBAAmB;IAC3B,4CAAqB,CAAA;IACrB,0CAAmB,CAAA;IACnB,sCAAe,CAAA;IACf,sCAAe,CAAA;IACf,0CAAmB,CAAA;IACnB,oCAAa,CAAA;IACb,4CAAqB,CAAA;IACrB,0CAAmB,CAAA;AACvB,CAAC,EATW,mBAAmB,GAAnB,2BAAmB,KAAnB,2BAAmB,QAS9B","sourcesContent":["import { EBookingPaymentMethod, IBookingPayment } from '@roomstay/core';\n\nimport ReservationsDTO from './Api/ReservationsDTO';\nimport BasketRowDifferences from './BasketRowDifferences';\n\nexport enum EUserProfileFormKey {\n Forename = 'Forename',\n Surname = 'Surname',\n Email = 'Email',\n Phone = 'Phone',\n Address = 'Address',\n City = 'City',\n PostCode = 'PostCode',\n Country = 'Country',\n}\n\nexport type TUserProfileFormValues = {\n [userProfileKey in EUserProfileFormKey]: string;\n};\n\nexport interface ConfirmationFormValues {\n IATANumber?: string;\n userProfiles: TUserProfileFormValues[];\n copyCheckBox?: boolean;\n paymentMethod: EBookingPaymentMethod;\n}\n\nexport interface IBookValidationResult {\n differences: BasketRowDifferences[];\n warnings: string[];\n}\n\nexport type FBookValidationCallback = (validationResult?: IBookValidationResult) => void;\nexport type FBookSuccessCallback = (data: ReservationsDTO) => Promise<void>;\nexport type FBookValidateFunction = () => Promise<boolean>;\nexport type FBookGetPaymentDetails = () => Promise<IBookingPayment>;\n"]}
@@ -1,5 +1,5 @@
1
- import { Room } from '../Room';
2
1
  import { TFunction } from 'i18next';
2
+ import { Room } from '../Room';
3
3
  export default abstract class Filter {
4
4
  abstract getLabel(t: TFunction): string;
5
5
  abstract check(room: Room): Room | null;
@@ -1 +1 @@
1
- {"version":3,"file":"Filter.js","sourceRoot":"/","sources":["src/models/Room/Filters/Filter.ts"],"names":[],"mappings":";;AAGA,MAA8B,MAAM;CAGnC;AAHD,yBAGC","sourcesContent":["import { Room } from '@/models/Room/Room';\nimport { TFunction } from 'i18next';\n\nexport default abstract class Filter {\n public abstract getLabel(t: TFunction): string;\n public abstract check(room: Room): Room | null;\n}\n"]}
1
+ {"version":3,"file":"Filter.js","sourceRoot":"/","sources":["src/models/Room/Filters/Filter.ts"],"names":[],"mappings":";;AAIA,MAA8B,MAAM;CAInC;AAJD,yBAIC","sourcesContent":["import { TFunction } from 'i18next';\n\nimport { Room } from '@/models/Room/Room';\n\nexport default abstract class Filter {\n public abstract getLabel(t: TFunction): string;\n\n public abstract check(room: Room): Room | null;\n}\n"]}
@@ -1,6 +1,6 @@
1
+ import { TFunction } from 'i18next';
1
2
  import Filter from './Filter';
2
3
  import { Room } from '../Room';
3
- import { TFunction } from 'i18next';
4
4
  export default class RateTypeFilter extends Filter {
5
5
  private viewOnly;
6
6
  constructor(viewOnly: string[]);
@@ -1 +1 @@
1
- {"version":3,"file":"RateTypeFilter.js","sourceRoot":"/","sources":["src/models/Room/Filters/RateTypeFilter.ts"],"names":[],"mappings":";;;;;AAAA,0EAAkD;AAGlD,4DAAyD;AAEzD,MAAqB,cAAe,SAAQ,gBAAM;IAE9C,YAAmB,QAAkB;QACjC,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,CAAC;IAEM,QAAQ,CAAC,CAAY;QACxB,OAAO,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IACxD,CAAC;IAEM,WAAW;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAEM,KAAK,CAAC,IAAU;QACnB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAEtI,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AArBD,iCAqBC","sourcesContent":["import Filter from '@/models/Room/Filters/Filter';\nimport { Room } from '@/models/Room/Room';\nimport { TFunction } from 'i18next';\nimport { Translation } from '@/translations/Translation';\n\nexport default class RateTypeFilter extends Filter {\n private viewOnly: string[];\n public constructor(viewOnly: string[]) {\n super();\n\n this.viewOnly = viewOnly;\n }\n\n public getLabel(t: TFunction) {\n return t(Translation.Step.Room.RateTypeFilterLabel);\n }\n\n public getViewOnly() {\n return this.viewOnly;\n }\n\n public check(room: Room) {\n room.filteredRates = room.getOriginalRates().filter((rate) => this.viewOnly.includes(rate.name) || this.viewOnly.includes(rate.code));\n\n return room;\n }\n}\n"]}
1
+ {"version":3,"file":"RateTypeFilter.js","sourceRoot":"/","sources":["src/models/Room/Filters/RateTypeFilter.ts"],"names":[],"mappings":";;;;;AAEA,0EAAkD;AAElD,4DAAyD;AAEzD,MAAqB,cAAe,SAAQ,gBAAM;IAG9C,YAAmB,QAAkB;QACjC,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,CAAC;IAEM,QAAQ,CAAC,CAAY;QACxB,OAAO,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IACxD,CAAC;IAEM,WAAW;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAEM,KAAK,CAAC,IAAU;QACnB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAEtI,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAtBD,iCAsBC","sourcesContent":["import { TFunction } from 'i18next';\n\nimport Filter from '@/models/Room/Filters/Filter';\nimport { Room } from '@/models/Room/Room';\nimport { Translation } from '@/translations/Translation';\n\nexport default class RateTypeFilter extends Filter {\n private viewOnly: string[];\n\n public constructor(viewOnly: string[]) {\n super();\n\n this.viewOnly = viewOnly;\n }\n\n public getLabel(t: TFunction) {\n return t(Translation.Step.Room.RateTypeFilterLabel);\n }\n\n public getViewOnly() {\n return this.viewOnly;\n }\n\n public check(room: Room) {\n room.filteredRates = room.getOriginalRates().filter((rate) => this.viewOnly.includes(rate.name) || this.viewOnly.includes(rate.code));\n\n return room;\n }\n}\n"]}
@@ -1,6 +1,6 @@
1
+ import { TFunction } from 'i18next';
1
2
  import Filter from './Filter';
2
3
  import { Room } from '../Room';
3
- import { TFunction } from 'i18next';
4
4
  export default class RoomTypeFilter extends Filter {
5
5
  private visibleRooms;
6
6
  constructor(roomNames: string[]);
@@ -1 +1 @@
1
- {"version":3,"file":"RoomTypeFilter.js","sourceRoot":"/","sources":["src/models/Room/Filters/RoomTypeFilter.ts"],"names":[],"mappings":";;;;;AAAA,0EAAkD;AAElD,4DAAyD;AAGzD,MAAqB,cAAe,SAAQ,gBAAM;IAG9C,YAAmB,SAAmB;QAClC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;IAClC,CAAC;IAEM,eAAe;QAClB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;IAEM,QAAQ,CAAC,CAAY;QACxB,OAAO,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACpD,CAAC;IAEM,KAAK,CAAC,IAAU;QACnB,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAc,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAc,CAAC,EAAE;YACpG,OAAO,IAAI,CAAC;SACf;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAvBD,iCAuBC","sourcesContent":["import Filter from '@/models/Room/Filters/Filter';\nimport { Room } from '@/models/Room/Room';\nimport { Translation } from '@/translations/Translation';\nimport { TFunction } from 'i18next';\n\nexport default class RoomTypeFilter extends Filter {\n private visibleRooms: string[];\n\n public constructor(roomNames: string[]) {\n super();\n this.visibleRooms = roomNames;\n }\n\n public getVisibleRooms() {\n return this.visibleRooms;\n }\n\n public getLabel(t: TFunction) {\n return t(Translation.Step.Room.Filter.RoomType);\n }\n\n public check(room: Room) {\n if (this.visibleRooms.includes(room.name as string) || this.visibleRooms.includes(room.code as string)) {\n return room;\n }\n\n return null;\n }\n}\n"]}
1
+ {"version":3,"file":"RoomTypeFilter.js","sourceRoot":"/","sources":["src/models/Room/Filters/RoomTypeFilter.ts"],"names":[],"mappings":";;;;;AAEA,0EAAkD;AAElD,4DAAyD;AAEzD,MAAqB,cAAe,SAAQ,gBAAM;IAG9C,YAAmB,SAAmB;QAClC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;IAClC,CAAC;IAEM,eAAe;QAClB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;IAEM,QAAQ,CAAC,CAAY;QACxB,OAAO,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACpD,CAAC;IAEM,KAAK,CAAC,IAAU;QACnB,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAc,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAc,CAAC,EAAE;YACpG,OAAO,IAAI,CAAC;SACf;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAvBD,iCAuBC","sourcesContent":["import { TFunction } from 'i18next';\n\nimport Filter from '@/models/Room/Filters/Filter';\nimport { Room } from '@/models/Room/Room';\nimport { Translation } from '@/translations/Translation';\n\nexport default class RoomTypeFilter extends Filter {\n private visibleRooms: string[];\n\n public constructor(roomNames: string[]) {\n super();\n this.visibleRooms = roomNames;\n }\n\n public getVisibleRooms() {\n return this.visibleRooms;\n }\n\n public getLabel(t: TFunction) {\n return t(Translation.Step.Room.Filter.RoomType);\n }\n\n public check(room: Room) {\n if (this.visibleRooms.includes(room.name as string) || this.visibleRooms.includes(room.code as string)) {\n return room;\n }\n\n return null;\n }\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { RoomRate, RoomRatePriceInclusion, IRoomRate } from './RoomRate';
1
+ import { IRoomRate, RoomRate, RoomRatePriceInclusion } from './RoomRate';
2
2
  import RoomRateSortable from './RoomRateSortable';
3
3
  import { Serializable } from '../Serializable';
4
4
  export interface IRoom {
@@ -27,9 +27,10 @@ export declare class Room implements RoomRateSortable, Serializable<Room, IRoom>
27
27
  auxiliaryValues?: {
28
28
  [key: string]: any;
29
29
  };
30
- private rates;
31
30
  filteredRates?: RoomRate[];
31
+ private rates;
32
32
  constructor(props?: Partial<IRoom>);
33
+ static fromData(data: any): Room;
33
34
  getShortDescription(trim?: boolean): string | undefined;
34
35
  getLongDescription(): string | undefined;
35
36
  applyData(data: Partial<IRoom>): void;
@@ -42,7 +43,6 @@ export declare class Room implements RoomRateSortable, Serializable<Room, IRoom>
42
43
  getRates(): RoomRate[];
43
44
  getRate(code: string): RoomRate | null;
44
45
  getSortValue(): number;
45
- static fromData(data: any): Room;
46
46
  serialize(): IRoom;
47
47
  unSerialize(data: IRoom): this;
48
48
  }
@@ -19,6 +19,14 @@ class Room {
19
19
  this.applyData(props);
20
20
  }
21
21
  }
22
+ static fromData(data) {
23
+ const room = new this();
24
+ if (!data.images && data.imageUrls) {
25
+ data.images = data.imageUrls;
26
+ }
27
+ room.applyData(data);
28
+ return room;
29
+ }
22
30
  getShortDescription(trim = true) {
23
31
  var _a, _b;
24
32
  let shortDesc = this.shortDescription;
@@ -77,14 +85,6 @@ class Room {
77
85
  getSortValue() {
78
86
  return this.getLowestPrice();
79
87
  }
80
- static fromData(data) {
81
- const room = new this();
82
- if (!data.images && data.imageUrls) {
83
- data.images = data.imageUrls;
84
- }
85
- room.applyData(data);
86
- return room;
87
- }
88
88
  serialize() {
89
89
  const toSerialize = {
90
90
  id: this.id,
@@ -1 +1 @@
1
- {"version":3,"file":"Room.js","sourceRoot":"/","sources":["src/models/Room/Room.ts"],"names":[],"mappings":"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","sourcesContent":["import { RoomRate, RoomRatePriceInclusion, IRoomRate } from '@/models/Room/RoomRate';\nimport RoomRateSortable from '@/models/Room/RoomRateSortable';\nimport { Serializable } from '@/models/Serializable';\n\nexport interface IRoom {\n id: number;\n\n code: string;\n name: string;\n longDescription: string;\n shortDescription: string;\n\n occupancy: number;\n\n images: string[];\n rates: IRoomRate[];\n roomGroupId?: string;\n auxiliaryValues: { [key: string]: any };\n}\n\nexport class Room implements RoomRateSortable, Serializable<Room, IRoom> {\n public id?: number;\n public code?: string;\n public name?: string;\n public longDescription?: string;\n public shortDescription?: string;\n\n public occupancy?: number;\n\n public images: string[];\n public roomGroupId?: string;\n public auxiliaryValues?: { [key: string]: any } = {};\n\n private rates: RoomRate[];\n\n public filteredRates?: RoomRate[];\n\n public constructor(props?: Partial<IRoom>) {\n this.rates = [];\n this.images = [];\n this.auxiliaryValues = {};\n\n if (props) {\n this.applyData(props);\n }\n }\n\n public getShortDescription(trim = true) {\n let shortDesc = this.shortDescription;\n\n if (trim) {\n shortDesc = (this.shortDescription?.length as number) > 97 ? this.shortDescription?.substr(0, 97) + '…' : this.shortDescription;\n }\n\n return shortDesc?.replace(/(<br>\\s*)+$/, '');\n }\n\n public getLongDescription() {\n return this.longDescription?.replace(/(<br>\\s*)+$/, '');\n }\n\n public applyData(data: Partial<IRoom>) {\n Object.keys(data).map((key: any) => {\n (this as any)[key] = (data as any)[key];\n }, this);\n\n this.filteredRates = this.rates;\n }\n\n public getLowestPriceType = (raw = false) => {\n return (\n ((raw ? this.rates : this.filteredRates) as RoomRate[])\n .reduce<RoomRate | null>((sum, rate) => {\n return sum && sum.getAveragePrice() < rate.getAveragePrice() ? sum : rate;\n }, null)\n ?.getPriceType() ?? RoomRatePriceInclusion.IncludingFeesAndTaxes\n );\n };\n\n public getLowestPrice(raw = false, rawPrice = false) {\n return (\n (raw ? this.rates : this.filteredRates)?.reduce<number>((sum: number, rate: RoomRate) => {\n const avrg = rate.getAveragePrice(rawPrice);\n return sum < avrg && sum ? sum : avrg;\n }, 0) ?? 0\n );\n }\n\n public getHighestPrice(raw = false) {\n return (\n (raw ? this.rates : this.filteredRates)?.reduce<number>((sum: number, rate: RoomRate) => (sum > rate.getAveragePrice() && sum ? sum : rate.getAveragePrice()), 0) ?? 0\n );\n }\n\n public addRate(rate: RoomRate) {\n rate.setRoom(this);\n this.rates.push(rate);\n }\n\n public getImages(): string[] {\n if (this.images && this.images.length) {\n return this.images;\n }\n\n return [];\n }\n\n public getOriginalRates(): RoomRate[] {\n return this.rates;\n }\n\n public getRates(): RoomRate[] {\n return (this.filteredRates as RoomRate[]).sort((a, b) => {\n return a.isMemberOnly ? -1 : b.isMemberOnly ? 1 : 0;\n });\n }\n\n public getRate(code: string): RoomRate | null {\n for (const rate in this.rates) {\n if (code === this.rates[rate].code) {\n return this.rates[rate];\n }\n }\n\n return null;\n }\n\n public getSortValue() {\n return this.getLowestPrice();\n }\n\n public static fromData(data: any) {\n const room = new this();\n\n if (!data.images && data.imageUrls) {\n data.images = data.imageUrls;\n }\n\n room.applyData(data);\n\n return room;\n }\n\n public serialize() {\n const toSerialize: IRoom = {\n id: this.id,\n code: this.code,\n images: this.images,\n longDescription: this.longDescription,\n name: this.name,\n occupancy: this.occupancy,\n rates: this.rates.map((rate) => rate.serialize()),\n shortDescription: this.shortDescription,\n roomGroupId: this.roomGroupId,\n auxiliaryValues: this.auxiliaryValues,\n } as IRoom;\n\n return toSerialize;\n }\n\n public unSerialize(data: IRoom) {\n const newRates: RoomRate[] = data.rates?.map((serializedRate) => {\n const roomRate = new RoomRate();\n roomRate.unSerialize(serializedRate);\n\n return roomRate;\n });\n\n this.code = data.code;\n this.id = data.id;\n this.images = data.images;\n this.longDescription = data.longDescription;\n this.name = data.name;\n this.occupancy = data.occupancy;\n this.shortDescription = data.shortDescription;\n this.filteredRates = newRates;\n this.rates = newRates;\n\n this.roomGroupId = data.roomGroupId;\n this.auxiliaryValues = data.auxiliaryValues;\n\n return this;\n }\n}\n"]}
1
+ {"version":3,"file":"Room.js","sourceRoot":"/","sources":["src/models/Room/Room.ts"],"names":[],"mappings":"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","sourcesContent":["import { IRoomRate, RoomRate, RoomRatePriceInclusion } from '@/models/Room/RoomRate';\nimport RoomRateSortable from '@/models/Room/RoomRateSortable';\nimport { Serializable } from '@/models/Serializable';\n\nexport interface IRoom {\n id: number;\n\n code: string;\n name: string;\n longDescription: string;\n shortDescription: string;\n\n occupancy: number;\n\n images: string[];\n rates: IRoomRate[];\n roomGroupId?: string;\n auxiliaryValues: { [key: string]: any };\n}\n\nexport class Room implements RoomRateSortable, Serializable<Room, IRoom> {\n public id?: number;\n public code?: string;\n public name?: string;\n public longDescription?: string;\n public shortDescription?: string;\n\n public occupancy?: number;\n\n public images: string[];\n public roomGroupId?: string;\n public auxiliaryValues?: { [key: string]: any } = {};\n public filteredRates?: RoomRate[];\n private rates: RoomRate[];\n\n public constructor(props?: Partial<IRoom>) {\n this.rates = [];\n this.images = [];\n this.auxiliaryValues = {};\n\n if (props) {\n this.applyData(props);\n }\n }\n\n public static fromData(data: any) {\n const room = new this();\n\n if (!data.images && data.imageUrls) {\n data.images = data.imageUrls;\n }\n\n room.applyData(data);\n\n return room;\n }\n\n public getShortDescription(trim = true) {\n let shortDesc = this.shortDescription;\n\n if (trim) {\n shortDesc = (this.shortDescription?.length as number) > 97 ? this.shortDescription?.substr(0, 97) + '…' : this.shortDescription;\n }\n\n return shortDesc?.replace(/(<br>\\s*)+$/, '');\n }\n\n public getLongDescription() {\n return this.longDescription?.replace(/(<br>\\s*)+$/, '');\n }\n\n public applyData(data: Partial<IRoom>) {\n Object.keys(data).map((key: any) => {\n (this as any)[key] = (data as any)[key];\n }, this);\n\n this.filteredRates = this.rates;\n }\n\n public getLowestPriceType = (raw = false) => {\n return (\n ((raw ? this.rates : this.filteredRates) as RoomRate[])\n .reduce<RoomRate | null>((sum, rate) => {\n return sum && sum.getAveragePrice() < rate.getAveragePrice() ? sum : rate;\n }, null)\n ?.getPriceType() ?? RoomRatePriceInclusion.IncludingFeesAndTaxes\n );\n };\n\n public getLowestPrice(raw = false, rawPrice = false) {\n return (\n (raw ? this.rates : this.filteredRates)?.reduce<number>((sum: number, rate: RoomRate) => {\n const avrg = rate.getAveragePrice(rawPrice);\n return sum < avrg && sum ? sum : avrg;\n }, 0) ?? 0\n );\n }\n\n public getHighestPrice(raw = false) {\n return (\n (raw ? this.rates : this.filteredRates)?.reduce<number>((sum: number, rate: RoomRate) => (sum > rate.getAveragePrice() && sum ? sum : rate.getAveragePrice()), 0) ?? 0\n );\n }\n\n public addRate(rate: RoomRate) {\n rate.setRoom(this);\n this.rates.push(rate);\n }\n\n public getImages(): string[] {\n if (this.images && this.images.length) {\n return this.images;\n }\n\n return [];\n }\n\n public getOriginalRates(): RoomRate[] {\n return this.rates;\n }\n\n public getRates(): RoomRate[] {\n return (this.filteredRates as RoomRate[]).sort((a, b) => {\n return a.isMemberOnly ? -1 : b.isMemberOnly ? 1 : 0;\n });\n }\n\n public getRate(code: string): RoomRate | null {\n for (const rate in this.rates) {\n if (code === this.rates[rate].code) {\n return this.rates[rate];\n }\n }\n\n return null;\n }\n\n public getSortValue() {\n return this.getLowestPrice();\n }\n\n public serialize() {\n const toSerialize: IRoom = {\n id: this.id,\n code: this.code,\n images: this.images,\n longDescription: this.longDescription,\n name: this.name,\n occupancy: this.occupancy,\n rates: this.rates.map((rate) => rate.serialize()),\n shortDescription: this.shortDescription,\n roomGroupId: this.roomGroupId,\n auxiliaryValues: this.auxiliaryValues,\n } as IRoom;\n\n return toSerialize;\n }\n\n public unSerialize(data: IRoom) {\n const newRates: RoomRate[] = data.rates?.map((serializedRate) => {\n const roomRate = new RoomRate();\n roomRate.unSerialize(serializedRate);\n\n return roomRate;\n });\n\n this.code = data.code;\n this.id = data.id;\n this.images = data.images;\n this.longDescription = data.longDescription;\n this.name = data.name;\n this.occupancy = data.occupancy;\n this.shortDescription = data.shortDescription;\n this.filteredRates = newRates;\n this.rates = newRates;\n\n this.roomGroupId = data.roomGroupId;\n this.auxiliaryValues = data.auxiliaryValues;\n\n return this;\n }\n}\n"]}