@pisell/pisellos 2.2.244 → 2.2.246

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 (316) hide show
  1. package/dist/model/strategy/adapter/promotion/evaluator.js +3 -2
  2. package/dist/model/strategy/adapter/walletPass/utils.js +7 -4
  3. package/dist/modules/BookingContext/index.d.ts +48 -0
  4. package/dist/modules/BookingContext/index.js +566 -0
  5. package/dist/modules/BookingContext/types.d.ts +102 -0
  6. package/dist/modules/BookingContext/types.js +51 -0
  7. package/dist/modules/BookingContext/utils/buildCacheItemFromOrderLine.d.ts +16 -0
  8. package/dist/modules/BookingContext/utils/buildCacheItemFromOrderLine.js +284 -0
  9. package/dist/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.d.ts +8 -0
  10. package/dist/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.js +148 -0
  11. package/dist/modules/BookingContext/utils/cacheItemToBookingInput.d.ts +76 -0
  12. package/dist/modules/BookingContext/utils/cacheItemToBookingInput.js +218 -0
  13. package/dist/modules/BookingContext/utils/flexible.d.ts +28 -0
  14. package/dist/modules/BookingContext/utils/flexible.js +56 -0
  15. package/dist/modules/BookingContext/utils/formatResourceList.d.ts +8 -0
  16. package/dist/modules/BookingContext/utils/formatResourceList.js +38 -0
  17. package/dist/modules/BookingContext/utils/index.d.ts +11 -0
  18. package/dist/modules/BookingContext/utils/index.js +11 -0
  19. package/dist/modules/BookingContext/utils/noResource.d.ts +13 -0
  20. package/dist/modules/BookingContext/utils/noResource.js +77 -0
  21. package/dist/modules/BookingContext/utils/orderLineDisplay.d.ts +1 -0
  22. package/dist/modules/BookingContext/utils/orderLineDisplay.js +36 -0
  23. package/dist/modules/BookingContext/utils/productExtend.d.ts +72 -0
  24. package/dist/modules/BookingContext/utils/productExtend.js +339 -0
  25. package/dist/modules/BookingContext/utils/resourceErrors.d.ts +41 -0
  26. package/dist/modules/BookingContext/utils/resourceErrors.js +74 -0
  27. package/dist/modules/BookingContext/utils/resourceSelection.d.ts +7 -0
  28. package/dist/modules/BookingContext/utils/resourceSelection.js +24 -0
  29. package/dist/modules/BookingContext/utils/resources.d.ts +80 -0
  30. package/dist/modules/BookingContext/utils/resources.js +486 -0
  31. package/dist/modules/BookingContext/utils/serviceTimes.d.ts +55 -0
  32. package/dist/modules/BookingContext/utils/serviceTimes.js +151 -0
  33. package/dist/modules/BookingContext/utils/timeSlices.d.ts +42 -0
  34. package/dist/modules/BookingContext/utils/timeSlices.js +100 -0
  35. package/dist/modules/Cart/utils/cartProduct.js +24 -3
  36. package/dist/modules/Cart/utils/changePrice.js +11 -11
  37. package/dist/modules/Customer/index.d.ts +20 -0
  38. package/dist/modules/Customer/index.js +172 -83
  39. package/dist/modules/Customer/types.d.ts +2 -0
  40. package/dist/modules/Discount/index.d.ts +1 -1
  41. package/dist/modules/Discount/index.js +13 -6
  42. package/dist/modules/Discount/types.d.ts +1 -0
  43. package/dist/modules/OpenData/index.d.ts +8 -0
  44. package/dist/modules/OpenData/index.js +37 -17
  45. package/dist/modules/Order/index.d.ts +277 -18
  46. package/dist/modules/Order/index.js +3581 -779
  47. package/dist/modules/Order/types.d.ts +286 -31
  48. package/dist/modules/Order/types.js +38 -0
  49. package/dist/modules/Order/utils/manualProductDiscount.d.ts +106 -0
  50. package/dist/modules/Order/utils/manualProductDiscount.js +210 -0
  51. package/dist/modules/Order/utils.d.ts +147 -5
  52. package/dist/modules/Order/utils.js +750 -104
  53. package/dist/modules/Payment/index.d.ts +10 -13
  54. package/dist/modules/Payment/index.js +467 -837
  55. package/dist/modules/Payment/types.d.ts +2 -0
  56. package/dist/modules/Payment/utils.js +2 -1
  57. package/dist/modules/Payment/walletpass.js +41 -25
  58. package/dist/modules/ProductList/index.d.ts +16 -12
  59. package/dist/modules/ProductList/index.js +133 -59
  60. package/dist/modules/ProductList/types.d.ts +14 -0
  61. package/dist/modules/Quotation/index.d.ts +0 -1
  62. package/dist/modules/Quotation/index.js +25 -22
  63. package/dist/modules/Rules/index.d.ts +4 -0
  64. package/dist/modules/Rules/index.js +97 -70
  65. package/dist/modules/Rules/types.d.ts +1 -0
  66. package/dist/modules/SalesSummary/index.d.ts +8 -25
  67. package/dist/modules/SalesSummary/index.js +86 -35
  68. package/dist/modules/SalesSummary/types.d.ts +4 -1
  69. package/dist/modules/SalesSummary/utils.d.ts +2 -25
  70. package/dist/modules/SalesSummary/utils.js +794 -162
  71. package/dist/modules/Schedule/index.d.ts +7 -0
  72. package/dist/modules/Schedule/index.js +24 -2
  73. package/dist/modules/Summary/index.js +4 -3
  74. package/dist/modules/SurchargeList/index.d.ts +16 -0
  75. package/dist/modules/SurchargeList/index.js +162 -0
  76. package/dist/modules/SurchargeList/types.d.ts +11 -0
  77. package/dist/modules/SurchargeList/types.js +1 -0
  78. package/dist/modules/index.d.ts +2 -0
  79. package/dist/modules/index.js +3 -1
  80. package/dist/plugins/request.d.ts +1 -0
  81. package/dist/server/index.d.ts +204 -1
  82. package/dist/server/index.js +3654 -922
  83. package/dist/server/modules/index.d.ts +2 -0
  84. package/dist/server/modules/index.js +2 -0
  85. package/dist/server/modules/order/index.d.ts +120 -3
  86. package/dist/server/modules/order/index.js +1762 -448
  87. package/dist/server/modules/order/types.d.ts +32 -3
  88. package/dist/server/modules/order/types.js +8 -0
  89. package/dist/server/modules/order/utils/filterBookings.js +26 -3
  90. package/dist/server/modules/order/utils/filterOrders.js +23 -8
  91. package/dist/server/modules/payment/index.d.ts +28 -0
  92. package/dist/server/modules/payment/index.js +305 -0
  93. package/dist/server/modules/payment/types.d.ts +9 -0
  94. package/dist/server/modules/payment/types.js +1 -0
  95. package/dist/server/modules/products/index.d.ts +34 -7
  96. package/dist/server/modules/products/index.js +631 -317
  97. package/dist/server/modules/resource/index.d.ts +2 -0
  98. package/dist/server/modules/resource/index.js +29 -3
  99. package/dist/server/modules/schedule/index.d.ts +4 -4
  100. package/dist/server/modules/schedule/index.js +111 -88
  101. package/dist/server/test.json +713 -0
  102. package/dist/server/utils/small-ticket.d.ts +71 -0
  103. package/dist/server/utils/small-ticket.js +840 -0
  104. package/dist/solution/BaseSales/index.d.ts +133 -10
  105. package/dist/solution/BaseSales/index.js +1950 -447
  106. package/dist/solution/BaseSales/types.d.ts +82 -6
  107. package/dist/solution/BaseSales/types.js +5 -4
  108. package/dist/solution/BaseSales/utils/cartPromotion.d.ts +287 -0
  109. package/dist/solution/BaseSales/utils/cartPromotion.js +1438 -0
  110. package/dist/solution/BaseSales/utils/quotationPrice.d.ts +7 -0
  111. package/dist/solution/BaseSales/utils/quotationPrice.js +237 -0
  112. package/dist/solution/BaseSales/utils/transformBaseProductToOrderProduct.d.ts +1 -0
  113. package/dist/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +105 -24
  114. package/dist/solution/BaseSales/utils.d.ts +1 -1
  115. package/dist/solution/BaseSales/utils.js +62 -21
  116. package/dist/solution/BookingByStep/index.d.ts +1 -1
  117. package/dist/solution/BookingTicket/index.d.ts +271 -11
  118. package/dist/solution/BookingTicket/index.js +1777 -242
  119. package/dist/solution/BookingTicket/types.d.ts +118 -1
  120. package/dist/solution/BookingTicket/types.js +41 -2
  121. package/dist/solution/BookingTicket/utils/addProductDecision.d.ts +117 -0
  122. package/dist/solution/BookingTicket/utils/addProductDecision.js +346 -0
  123. package/dist/solution/BookingTicket/utils/addTimeAvailability.d.ts +35 -0
  124. package/dist/solution/BookingTicket/utils/addTimeAvailability.js +95 -0
  125. package/dist/solution/BookingTicket/utils/bookingStatus.d.ts +40 -0
  126. package/dist/solution/BookingTicket/utils/bookingStatus.js +70 -0
  127. package/dist/solution/BookingTicket/utils/cartView.d.ts +9 -1
  128. package/dist/solution/BookingTicket/utils/cartView.js +94 -7
  129. package/dist/solution/BookingTicket/utils/exampleData.d.ts +123 -0
  130. package/dist/solution/BookingTicket/utils/exampleData.js +183 -0
  131. package/dist/solution/BookingTicket/utils/resolveBestAddTimePlan.d.ts +185 -0
  132. package/dist/solution/BookingTicket/utils/resolveBestAddTimePlan.js +438 -0
  133. package/dist/solution/BookingTicket/utils/scan/applyGlobalScan.d.ts +36 -0
  134. package/dist/solution/BookingTicket/utils/scan/applyGlobalScan.js +400 -0
  135. package/dist/solution/BookingTicket/utils/scan/formatGlobalScan.d.ts +32 -0
  136. package/dist/solution/BookingTicket/utils/scan/formatGlobalScan.js +56 -0
  137. package/dist/solution/BookingTicket/utils/scan/index.d.ts +5 -0
  138. package/dist/solution/BookingTicket/utils/scan/index.js +20 -8
  139. package/dist/solution/BookingTicket/utils/scan/scanProductValues.d.ts +21 -0
  140. package/dist/solution/BookingTicket/utils/scan/scanProductValues.js +150 -0
  141. package/dist/solution/BookingTicket/utils/sessionCatalogStale.d.ts +23 -0
  142. package/dist/solution/BookingTicket/utils/sessionCatalogStale.js +78 -0
  143. package/dist/solution/Checkout/index.d.ts +1 -0
  144. package/dist/solution/Checkout/index.js +10 -9
  145. package/dist/solution/RegisterAndLogin/config.js +2 -10
  146. package/dist/solution/ScanOrder/index.d.ts +9 -3
  147. package/dist/solution/ScanOrder/index.js +241 -134
  148. package/dist/solution/ScanOrder/types.d.ts +9 -5
  149. package/dist/solution/ScanOrder/types.js +2 -3
  150. package/dist/solution/ScanOrder/utils.d.ts +1 -1
  151. package/dist/solution/ScanOrder/utils.js +84 -22
  152. package/dist/solution/VenueBooking/index.d.ts +5 -2
  153. package/dist/solution/VenueBooking/index.js +110 -59
  154. package/dist/solution/VenueBooking/sales-section-4-annotated.json +0 -2
  155. package/dist/solution/VenueBooking/utils/slotMerge.d.ts +4 -0
  156. package/dist/solution/VenueBooking/utils/slotMerge.js +10 -0
  157. package/dist/types/index.d.ts +10 -0
  158. package/lib/model/strategy/adapter/promotion/evaluator.js +2 -1
  159. package/lib/model/strategy/adapter/promotion/index.js +49 -0
  160. package/lib/model/strategy/adapter/walletPass/utils.js +3 -2
  161. package/lib/modules/BookingContext/index.d.ts +48 -0
  162. package/lib/modules/BookingContext/index.js +368 -0
  163. package/lib/modules/BookingContext/types.d.ts +102 -0
  164. package/lib/modules/BookingContext/types.js +34 -0
  165. package/lib/modules/BookingContext/utils/buildCacheItemFromOrderLine.d.ts +16 -0
  166. package/lib/modules/BookingContext/utils/buildCacheItemFromOrderLine.js +276 -0
  167. package/lib/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.d.ts +8 -0
  168. package/lib/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.js +154 -0
  169. package/lib/modules/BookingContext/utils/cacheItemToBookingInput.d.ts +76 -0
  170. package/lib/modules/BookingContext/utils/cacheItemToBookingInput.js +201 -0
  171. package/lib/modules/BookingContext/utils/flexible.d.ts +28 -0
  172. package/lib/modules/BookingContext/utils/flexible.js +80 -0
  173. package/lib/modules/BookingContext/utils/formatResourceList.d.ts +8 -0
  174. package/lib/modules/BookingContext/utils/formatResourceList.js +50 -0
  175. package/lib/modules/BookingContext/utils/index.d.ts +11 -0
  176. package/lib/modules/BookingContext/utils/index.js +43 -0
  177. package/lib/modules/BookingContext/utils/noResource.d.ts +13 -0
  178. package/lib/modules/BookingContext/utils/noResource.js +90 -0
  179. package/lib/modules/BookingContext/utils/orderLineDisplay.d.ts +1 -0
  180. package/lib/modules/BookingContext/utils/orderLineDisplay.js +56 -0
  181. package/lib/modules/BookingContext/utils/productExtend.d.ts +72 -0
  182. package/lib/modules/BookingContext/utils/productExtend.js +283 -0
  183. package/lib/modules/BookingContext/utils/resourceErrors.d.ts +41 -0
  184. package/lib/modules/BookingContext/utils/resourceErrors.js +80 -0
  185. package/lib/modules/BookingContext/utils/resourceSelection.d.ts +7 -0
  186. package/lib/modules/BookingContext/utils/resourceSelection.js +46 -0
  187. package/lib/modules/BookingContext/utils/resources.d.ts +80 -0
  188. package/lib/modules/BookingContext/utils/resources.js +377 -0
  189. package/lib/modules/BookingContext/utils/serviceTimes.d.ts +55 -0
  190. package/lib/modules/BookingContext/utils/serviceTimes.js +162 -0
  191. package/lib/modules/BookingContext/utils/timeSlices.d.ts +42 -0
  192. package/lib/modules/BookingContext/utils/timeSlices.js +124 -0
  193. package/lib/modules/Cart/utils/cartProduct.js +20 -3
  194. package/lib/modules/Cart/utils/changePrice.js +12 -20
  195. package/lib/modules/Customer/index.d.ts +20 -0
  196. package/lib/modules/Customer/index.js +64 -11
  197. package/lib/modules/Customer/types.d.ts +2 -0
  198. package/lib/modules/Discount/index.d.ts +1 -1
  199. package/lib/modules/Discount/index.js +9 -1
  200. package/lib/modules/Discount/types.d.ts +1 -0
  201. package/lib/modules/OpenData/index.d.ts +8 -0
  202. package/lib/modules/OpenData/index.js +19 -5
  203. package/lib/modules/Order/index.d.ts +277 -18
  204. package/lib/modules/Order/index.js +2317 -337
  205. package/lib/modules/Order/types.d.ts +286 -31
  206. package/lib/modules/Order/types.js +1 -0
  207. package/lib/modules/Order/utils/manualProductDiscount.d.ts +106 -0
  208. package/lib/modules/Order/utils/manualProductDiscount.js +206 -0
  209. package/lib/modules/Order/utils.d.ts +147 -5
  210. package/lib/modules/Order/utils.js +615 -46
  211. package/lib/modules/Payment/index.d.ts +10 -13
  212. package/lib/modules/Payment/index.js +18 -150
  213. package/lib/modules/Payment/types.d.ts +2 -0
  214. package/lib/modules/Payment/utils.js +2 -1
  215. package/lib/modules/Payment/walletpass.js +16 -3
  216. package/lib/modules/ProductList/index.d.ts +16 -12
  217. package/lib/modules/ProductList/index.js +41 -4
  218. package/lib/modules/ProductList/types.d.ts +14 -0
  219. package/lib/modules/Quotation/index.d.ts +0 -1
  220. package/lib/modules/Quotation/index.js +19 -16
  221. package/lib/modules/Rules/index.d.ts +4 -0
  222. package/lib/modules/Rules/index.js +137 -120
  223. package/lib/modules/Rules/types.d.ts +1 -0
  224. package/lib/modules/SalesSummary/index.d.ts +8 -25
  225. package/lib/modules/SalesSummary/index.js +30 -4
  226. package/lib/modules/SalesSummary/types.d.ts +4 -1
  227. package/lib/modules/SalesSummary/utils.d.ts +2 -25
  228. package/lib/modules/SalesSummary/utils.js +645 -91
  229. package/lib/modules/Schedule/index.d.ts +7 -0
  230. package/lib/modules/Schedule/index.js +17 -1
  231. package/lib/modules/Summary/index.js +5 -4
  232. package/lib/modules/SurchargeList/index.d.ts +16 -0
  233. package/lib/modules/SurchargeList/index.js +89 -0
  234. package/lib/modules/SurchargeList/types.d.ts +11 -0
  235. package/lib/modules/SurchargeList/types.js +17 -0
  236. package/lib/modules/index.d.ts +2 -0
  237. package/lib/modules/index.js +5 -1
  238. package/lib/plugins/request.d.ts +1 -0
  239. package/lib/server/index.d.ts +204 -1
  240. package/lib/server/index.js +1891 -59
  241. package/lib/server/modules/index.d.ts +2 -0
  242. package/lib/server/modules/index.js +3 -0
  243. package/lib/server/modules/order/index.d.ts +120 -3
  244. package/lib/server/modules/order/index.js +887 -94
  245. package/lib/server/modules/order/types.d.ts +32 -3
  246. package/lib/server/modules/order/utils/filterBookings.js +24 -5
  247. package/lib/server/modules/order/utils/filterOrders.js +15 -6
  248. package/lib/server/modules/payment/index.d.ts +28 -0
  249. package/lib/server/modules/payment/index.js +192 -0
  250. package/lib/server/modules/payment/types.d.ts +9 -0
  251. package/lib/server/modules/payment/types.js +17 -0
  252. package/lib/server/modules/products/index.d.ts +34 -7
  253. package/lib/server/modules/products/index.js +189 -54
  254. package/lib/server/modules/resource/index.d.ts +2 -0
  255. package/lib/server/modules/resource/index.js +27 -3
  256. package/lib/server/modules/schedule/index.d.ts +4 -4
  257. package/lib/server/modules/schedule/index.js +47 -40
  258. package/lib/server/test.json +713 -0
  259. package/lib/server/utils/small-ticket.d.ts +71 -0
  260. package/lib/server/utils/small-ticket.js +800 -0
  261. package/lib/solution/BaseSales/index.d.ts +133 -10
  262. package/lib/solution/BaseSales/index.js +1111 -63
  263. package/lib/solution/BaseSales/types.d.ts +82 -6
  264. package/lib/solution/BaseSales/types.js +3 -1
  265. package/lib/solution/BaseSales/utils/cartPromotion.d.ts +287 -0
  266. package/lib/solution/BaseSales/utils/cartPromotion.js +992 -0
  267. package/lib/solution/BaseSales/utils/quotationPrice.d.ts +7 -0
  268. package/lib/solution/BaseSales/utils/quotationPrice.js +277 -0
  269. package/lib/solution/BaseSales/utils/transformBaseProductToOrderProduct.d.ts +1 -0
  270. package/lib/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +106 -18
  271. package/lib/solution/BaseSales/utils.d.ts +1 -1
  272. package/lib/solution/BaseSales/utils.js +54 -10
  273. package/lib/solution/BookingByStep/index.d.ts +1 -1
  274. package/lib/solution/BookingTicket/index.d.ts +271 -11
  275. package/lib/solution/BookingTicket/index.js +922 -29
  276. package/lib/solution/BookingTicket/types.d.ts +118 -1
  277. package/lib/solution/BookingTicket/types.js +11 -0
  278. package/lib/solution/BookingTicket/utils/addProductDecision.d.ts +117 -0
  279. package/lib/solution/BookingTicket/utils/addProductDecision.js +318 -0
  280. package/lib/solution/BookingTicket/utils/addTimeAvailability.d.ts +35 -0
  281. package/lib/solution/BookingTicket/utils/addTimeAvailability.js +125 -0
  282. package/lib/solution/BookingTicket/utils/bookingStatus.d.ts +40 -0
  283. package/lib/solution/BookingTicket/utils/bookingStatus.js +44 -2
  284. package/lib/solution/BookingTicket/utils/cartView.d.ts +9 -1
  285. package/lib/solution/BookingTicket/utils/cartView.js +61 -6
  286. package/lib/solution/BookingTicket/utils/exampleData.d.ts +123 -0
  287. package/lib/solution/BookingTicket/utils/exampleData.js +0 -0
  288. package/lib/solution/BookingTicket/utils/resolveBestAddTimePlan.d.ts +185 -0
  289. package/lib/solution/BookingTicket/utils/resolveBestAddTimePlan.js +254 -0
  290. package/lib/solution/BookingTicket/utils/scan/applyGlobalScan.d.ts +36 -0
  291. package/lib/solution/BookingTicket/utils/scan/applyGlobalScan.js +169 -0
  292. package/lib/solution/BookingTicket/utils/scan/formatGlobalScan.d.ts +32 -0
  293. package/lib/solution/BookingTicket/utils/scan/formatGlobalScan.js +51 -0
  294. package/lib/solution/BookingTicket/utils/scan/index.d.ts +5 -0
  295. package/lib/solution/BookingTicket/utils/scan/index.js +17 -3
  296. package/lib/solution/BookingTicket/utils/scan/scanProductValues.d.ts +21 -0
  297. package/lib/solution/BookingTicket/utils/scan/scanProductValues.js +127 -0
  298. package/lib/solution/BookingTicket/utils/sessionCatalogStale.d.ts +23 -0
  299. package/lib/solution/BookingTicket/utils/sessionCatalogStale.js +85 -0
  300. package/lib/solution/Checkout/index.d.ts +1 -0
  301. package/lib/solution/Checkout/index.js +1 -2
  302. package/lib/solution/RegisterAndLogin/config.js +2 -10
  303. package/lib/solution/ScanOrder/index.d.ts +9 -3
  304. package/lib/solution/ScanOrder/index.js +153 -70
  305. package/lib/solution/ScanOrder/types.d.ts +9 -5
  306. package/lib/solution/ScanOrder/utils.d.ts +1 -1
  307. package/lib/solution/ScanOrder/utils.js +83 -17
  308. package/lib/solution/VenueBooking/index.d.ts +5 -2
  309. package/lib/solution/VenueBooking/index.js +54 -17
  310. package/lib/solution/VenueBooking/sales-section-4-annotated.json +0 -2
  311. package/lib/solution/VenueBooking/utils/slotMerge.d.ts +4 -0
  312. package/lib/solution/VenueBooking/utils/slotMerge.js +10 -0
  313. package/lib/types/index.d.ts +10 -0
  314. package/package.json +1 -1
  315. package/dist/solution/Checkout/appointmentDemo.json +0 -1
  316. package/lib/solution/Checkout/appointmentDemo.json +0 -1
@@ -0,0 +1,206 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ // If the importer is in node compatibility mode or this is not an ESM
21
+ // file that has been converted to a CommonJS file using a Babel-
22
+ // compatible transform (i.e. "__esModule" has not been set), then set
23
+ // "default" to the CommonJS "module.exports" for node compatibility.
24
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
+ mod
26
+ ));
27
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
+
29
+ // src/modules/Order/utils/manualProductDiscount.ts
30
+ var manualProductDiscount_exports = {};
31
+ __export(manualProductDiscount_exports, {
32
+ buildManualProductDiscountItem: () => buildManualProductDiscountItem,
33
+ ensureManualProductDiscountList: () => ensureManualProductDiscountList,
34
+ findManualProductDiscountItem: () => findManualProductDiscountItem,
35
+ hasManualProductDiscountFlag: () => hasManualProductDiscountFlag,
36
+ mergeManualProductDiscountIntoList: () => mergeManualProductDiscountIntoList,
37
+ resolveManualDiscountMessage: () => resolveManualDiscountMessage,
38
+ resolveManualDiscountOriginTotal: () => resolveManualDiscountOriginTotal,
39
+ resolveManualDiscountReasonFromSources: () => resolveManualDiscountReasonFromSources,
40
+ resolveSafeProductNum: () => resolveSafeProductNum,
41
+ shouldBuildManualProductDiscount: () => shouldBuildManualProductDiscount,
42
+ stripManualProductDiscountItems: () => stripManualProductDiscountItems,
43
+ syncManualProductDiscountProductNum: () => syncManualProductDiscountProductNum
44
+ });
45
+ module.exports = __toCommonJS(manualProductDiscount_exports);
46
+ var import_decimal = __toESM(require("decimal.js"));
47
+ function resolveSafeProductNum(num) {
48
+ const parsed = Number(num);
49
+ if (!Number.isFinite(parsed) || parsed <= 0)
50
+ return 1;
51
+ return Math.floor(parsed);
52
+ }
53
+ function syncManualProductDiscountProductNum(discountList, productNum) {
54
+ const quantity = resolveSafeProductNum(productNum);
55
+ return (discountList || []).map((item) => {
56
+ if ((item == null ? void 0 : item.type) !== "product")
57
+ return item;
58
+ return {
59
+ ...item,
60
+ discount: {
61
+ ...item.discount || {},
62
+ product_num: quantity
63
+ }
64
+ };
65
+ });
66
+ }
67
+ function resolveManualDiscountOriginTotal(sources) {
68
+ const candidates = [
69
+ sources.originTotal,
70
+ sources.extendOriginTotal,
71
+ sources.originExtendOriginTotal,
72
+ sources.sourceExtendOriginTotal
73
+ ];
74
+ for (const candidate of candidates) {
75
+ if (candidate === void 0 || candidate === null || candidate === "")
76
+ continue;
77
+ const parsed = Number(candidate);
78
+ if (Number.isFinite(parsed))
79
+ return parsed;
80
+ }
81
+ const unit = Number(sources.catalogUnitPrice);
82
+ const quantity = sources.quantity ?? 1;
83
+ if (Number.isFinite(unit) && unit > 0) {
84
+ return new import_decimal.default(unit).mul(quantity).toNumber();
85
+ }
86
+ return NaN;
87
+ }
88
+ function resolveManualDiscountReasonFromSources(sources) {
89
+ for (const candidate of [
90
+ sources.discountReason,
91
+ sources.extendDiscountReason,
92
+ sources.originExtendDiscountReason
93
+ ]) {
94
+ if (candidate != null && String(candidate).trim() !== "") {
95
+ return String(candidate);
96
+ }
97
+ }
98
+ return "";
99
+ }
100
+ function hasManualProductDiscountFlag(metadata) {
101
+ if (!metadata)
102
+ return false;
103
+ const override = metadata.price_override;
104
+ if (override !== void 0 && override !== null && override !== "") {
105
+ return true;
106
+ }
107
+ return metadata.is_manual_discount === 1 || metadata.is_manual_discount === true;
108
+ }
109
+ function ensureManualProductDiscountList(params) {
110
+ var _a, _b, _c, _d, _e, _f, _g, _h;
111
+ const list = params.discountList || [];
112
+ const quantity = resolveSafeProductNum(params.quantity);
113
+ if (findManualProductDiscountItem(list)) {
114
+ return syncManualProductDiscountProductNum(list, quantity);
115
+ }
116
+ const metadata = params.metadata || {};
117
+ const originalNum = Number(params.originalPrice);
118
+ const sellingNum = Number(params.sellingPrice);
119
+ const hasPriceOverride = hasManualProductDiscountFlag(metadata);
120
+ const shouldBuild = shouldBuildManualProductDiscount({
121
+ hasPriceOverride,
122
+ originTotal: originalNum,
123
+ sellingTotal: sellingNum
124
+ });
125
+ if (!shouldBuild) {
126
+ return list;
127
+ }
128
+ if (!Number.isFinite(originalNum) || !Number.isFinite(sellingNum) || originalNum === sellingNum) {
129
+ return list;
130
+ }
131
+ const message = resolveManualDiscountMessage(
132
+ list,
133
+ resolveManualDiscountReasonFromSources({
134
+ extendDiscountReason: (_b = (_a = metadata.origin) == null ? void 0 : _a._extend) == null ? void 0 : _b.discount_reason,
135
+ originExtendDiscountReason: (_d = (_c = metadata.origin) == null ? void 0 : _c._extend) == null ? void 0 : _d.discount_reason
136
+ })
137
+ );
138
+ return mergeManualProductDiscountIntoList(
139
+ list,
140
+ buildManualProductDiscountItem({
141
+ originTotal: originalNum,
142
+ sellingTotal: sellingNum,
143
+ quantity,
144
+ message,
145
+ discountway: (_f = (_e = metadata.origin) == null ? void 0 : _e._extend) == null ? void 0 : _f.discountway,
146
+ discount_per: (_h = (_g = metadata.origin) == null ? void 0 : _g._extend) == null ? void 0 : _h.discount_per
147
+ })
148
+ );
149
+ }
150
+ function findManualProductDiscountItem(discountList) {
151
+ return (discountList || []).find((item) => (item == null ? void 0 : item.type) === "product");
152
+ }
153
+ function resolveManualDiscountMessage(discountList, fallback) {
154
+ var _a, _b;
155
+ const message = (_b = (_a = findManualProductDiscountItem(discountList)) == null ? void 0 : _a.discount) == null ? void 0 : _b.message;
156
+ if (message != null && String(message).trim() !== "") {
157
+ return String(message);
158
+ }
159
+ return fallback ?? "";
160
+ }
161
+ function stripManualProductDiscountItems(discountList) {
162
+ return (discountList || []).filter((item) => (item == null ? void 0 : item.type) !== "product");
163
+ }
164
+ function buildManualProductDiscountItem(params) {
165
+ const origin = new import_decimal.default(Number(params.originTotal) || 0);
166
+ const selling = new import_decimal.default(Number(params.sellingTotal) || 0);
167
+ const diff = origin.minus(selling);
168
+ const quantity = resolveSafeProductNum(params.quantity);
169
+ return {
170
+ amount: diff.toDecimalPlaces(2).toNumber(),
171
+ type: "product",
172
+ discount: {
173
+ message: params.message ?? "",
174
+ discountway: params.discountway ?? "num",
175
+ product_num: quantity,
176
+ discount_per: params.discount_per ?? "",
177
+ discount_type: diff.isNegative() ? "change_price" : "discount"
178
+ }
179
+ };
180
+ }
181
+ function mergeManualProductDiscountIntoList(discountList, manualItem) {
182
+ const base = stripManualProductDiscountItems(discountList);
183
+ if (!manualItem)
184
+ return base;
185
+ if (manualItem.amount === 0 && !manualItem.discount.message)
186
+ return base;
187
+ return [...base, manualItem];
188
+ }
189
+ function shouldBuildManualProductDiscount(params) {
190
+ return Boolean(params.hasPriceOverride);
191
+ }
192
+ // Annotate the CommonJS export names for ESM import in node:
193
+ 0 && (module.exports = {
194
+ buildManualProductDiscountItem,
195
+ ensureManualProductDiscountList,
196
+ findManualProductDiscountItem,
197
+ hasManualProductDiscountFlag,
198
+ mergeManualProductDiscountIntoList,
199
+ resolveManualDiscountMessage,
200
+ resolveManualDiscountOriginTotal,
201
+ resolveManualDiscountReasonFromSources,
202
+ resolveSafeProductNum,
203
+ shouldBuildManualProductDiscount,
204
+ stripManualProductDiscountItems,
205
+ syncManualProductDiscountProductNum
206
+ });
@@ -1,8 +1,19 @@
1
1
  import Decimal from 'decimal.js';
2
- import { CartItem } from "../Cart";
3
- import type { OrderSubmitPayload, OrderSubmitProduct, OrderSummary, OrderTempOrder } from './types';
2
+ import type { CartItem } from "../Cart";
3
+ import type { OrderProductDiscountItem, OrderProduct, OrderSubmitPayload, OrderSubmitProduct, OrderSummary, OrderTempOrder } from './types';
4
4
  import type { RulesParamsHooks } from '../Rules/types';
5
5
  import type { MapOrderPaymentsOptions, OrderPaymentData, OrderPaymentSource } from './types';
6
+ export interface OrderProductsDepositProtocol {
7
+ id: number;
8
+ title: string;
9
+ }
10
+ export interface OrderProductsDepositSummary {
11
+ total: number;
12
+ totalText: string;
13
+ protocols: OrderProductsDepositProtocol[];
14
+ deposit_policy_ids: number[];
15
+ hasDeposit: boolean;
16
+ }
6
17
  /**
7
18
  * 把"含 option 的主商品单价"与 bundle 合成"单行 composite 单价"。
8
19
  *
@@ -21,21 +32,68 @@ export declare function composeLinePrice(params: {
21
32
  bundle?: Array<{
22
33
  bundle_selling_price?: any;
23
34
  price?: any;
35
+ custom_price?: any;
24
36
  num?: any;
25
37
  quantity?: any;
26
38
  original_price?: any;
27
39
  product_price?: any;
40
+ price_type?: any;
41
+ price_type_ext?: any;
42
+ custom_price_type?: any;
43
+ custom_price_type_ext?: any;
44
+ option?: Array<{
45
+ add_price?: any;
46
+ price?: any;
47
+ num?: any;
48
+ }>;
28
49
  }> | null;
29
50
  useOriginalBundle?: boolean;
30
51
  }): string;
52
+ export declare function normalizeProductSkuOptions(options?: unknown): Record<string, any>[];
53
+ export declare function ensureProductSku(product?: Record<string, any> | null): Record<string, any> & {
54
+ option: Record<string, any>[];
55
+ };
56
+ export declare function getProductSkuOptions(product?: Record<string, any> | null): Record<string, any>[];
31
57
  /**
32
- * 计算 option 单价合计:Σ(option.price × option.num)。
58
+ * 计算 option 单价合计:Σ(option.add_price × option.num)。
59
+ * 兼容入参仍带旧 `price` 的调用方,但运行时归一化后只维护 `add_price`。
33
60
  * 在新语义 v2 下,main_product_original_price = source_product_price + 本函数结果。
34
61
  */
35
62
  export declare function sumOptionUnitPrice(options?: Array<{
63
+ add_price?: any;
36
64
  price?: any;
37
65
  num?: any;
38
66
  }> | null): Decimal;
67
+ /**
68
+ * 仅基于 tempOrder.products 重算整单定金。
69
+ *
70
+ * 对齐 Checkout relation_products 分支:商品定金先按商品规则计算,
71
+ * 再扣减商品券/折扣卡抵扣金额;tempOrder.bookings 不参与这里的计算。
72
+ */
73
+ export declare function calculateOrderProductsDeposit(products?: OrderProduct[], options?: {
74
+ productsByUid?: Record<string, Record<string, any>>;
75
+ }): OrderProductsDepositSummary;
76
+ /**
77
+ * 判定套餐子商品是否为 markdown(减价)类型。
78
+ * 与后端口径一致:price_type='markdown' 且 price_type_ext 非 'product_price'(原价子商品)。
79
+ */
80
+ export declare function isMarkdownBundle(bundle: Record<string, any> | null | undefined): boolean;
81
+ /**
82
+ * 套餐子商品对「行价」的带符号单位贡献(与后端 markdown 口径对齐)。
83
+ *
84
+ * - markdown(减价):净额 = |catalog 毛价| − Σ(option.add_price×num),**取负**(行内减)。
85
+ * catalog 毛价优先 `price`/`custom_price`(避免读已落净额的 `bundle_selling_price` 造成 option 二次扣减);
86
+ * 仅当毛价缺失(历史/hydrate 仅剩净额)时退回 `bundle_selling_price`,且此时不再扣 option。
87
+ * - markup(加价)/原价子商品:维持 `+(bundle_selling_price ?? price)`,行为不变。
88
+ */
89
+ export declare function getBundleSignedUnit(bundle: Record<string, any> | null | undefined, options?: {
90
+ useOriginal?: boolean;
91
+ }): Decimal;
92
+ /**
93
+ * 套餐子商品 `bundle_selling_price` 的存储净额(正值幅度)。
94
+ * markdown 取净额绝对值(3.70);markup/原价维持原值。
95
+ */
96
+ export declare function getBundleSellingMagnitude(bundle: Record<string, any> | null | undefined): Decimal;
39
97
  /**
40
98
  * OrderModule 默认 Rules 钩子工厂。
41
99
  *
@@ -48,7 +106,7 @@ export declare function sumOptionUnitPrice(options?: Array<{
48
106
  * 不含折扣。**权威源**。
49
107
  * - `metadata.main_product_original_price` = source + Σ(option.price × option.num)(含 option、不含折扣)。
50
108
  * - `metadata.main_product_selling_price` = main_original − 主商品券 per-unit amount(含 option、含折扣)。
51
- * - `payment_price`:出站 payload 中由 `selling_price` 派生以兼容后端(composite)。
109
+ * - `payment_price`:出站 payload 中为行 composite 已减整单折扣均摊价(无折扣时与 `selling_price` 同义)。
52
110
  *
53
111
  * Rules 钩子契约(hook_adapt 方案,Rules 内部保持不变):
54
112
  * - `getProduct.price` / `getProduct.original_price` 回传 **source-level 主价**
@@ -65,6 +123,37 @@ export declare function sumOptionUnitPrice(options?: Array<{
65
123
  *
66
124
  * 导出为纯函数方便单测直接驱动钩子,不依赖 OrderModule 实例。
67
125
  */
126
+ /** Rules calcDiscount 用手动价标记;undefined 表示交给 Rules 用 total/origin_total 推断 */
127
+ export declare function resolveRulesManualDiscountFlag(metadata: Record<string, any> | null | undefined): boolean | undefined;
128
+ /**
129
+ * 商品行折扣只保留后端 OrderProductDiscountItem 协议字段。
130
+ * Rules/券计算过程中的 `_num`、`config` 等运行态字段不应进入 tempOrder 或提交 payload。
131
+ */
132
+ export declare function normalizeOrderProductDiscountList(discountList?: unknown[] | null): OrderProductDiscountItem[];
133
+ /**
134
+ * 手动改价(price_override)时行级 original_price(composite 单价):
135
+ * 购物车划线价应对齐 metadata.origin._extend.origin_total(改价前单价 composite,如 40),
136
+ * 而非 bundle 子项 catalog 原价合成的 composedOriginalPrice(如 30)。
137
+ *
138
+ * origin_total 与 SkuDetailModal / cacheItem._extend 一致,为单价语义,不再除以 num。
139
+ */
140
+ export declare function resolveManualOverrideLineOriginalPrice(params: {
141
+ num?: number;
142
+ metadata?: Record<string, any> | null;
143
+ /** 已有行级 original_price(origin 被裁剪时兜底划线价) */
144
+ lineOriginalPrice?: string | number | null;
145
+ }, fallbackCompositeOriginal: string): string;
146
+ /**
147
+ * 计算商品行「每单位有效折扣」:discount_list 合计 + 被 Rules 剥离但仍 inPromotion 的差额。
148
+ *
149
+ * Rules.calcDiscount 会把 type=promotion 从 discount_list 去掉,但 metadata._promotion 仍保留;
150
+ * applyProductDiscountPrices 必须回读 _promotion,否则抬价/降价都会在第二步被 source 原价覆盖。
151
+ *
152
+ * @example
153
+ * resolveEffectivePerUnitDiscount({ metadata: { _promotion: { inPromotion: true, originalPrice: 1, finalPrice: 5 } }, discount_list: [] });
154
+ * // => -4
155
+ */
156
+ export declare function resolveEffectivePerUnitDiscount(product: Record<string, any>): number;
68
157
  export declare function createDefaultOrderRulesHooks(): RulesParamsHooks;
69
158
  /**
70
159
  * 通过 session 类商品的开始时间结束时间生成商品的时长
@@ -118,6 +207,8 @@ export declare function buildSubmitPayload(params: {
118
207
  businessCode?: string;
119
208
  channel?: string;
120
209
  type?: string;
210
+ summary?: OrderSummary | null;
211
+ request_unique_idempotency_token?: string;
121
212
  enhance?: SubmitPayloadEnhancer;
122
213
  }): OrderSubmitPayload;
123
214
  export declare function mapPaymentItemToOrderPayment(paymentItem: OrderPaymentSource): OrderPaymentData;
@@ -131,7 +222,7 @@ export declare function mapPaymentItemsToOrderPayments(paymentItems: OrderPaymen
131
222
  export declare function formatV1Product(products: OrderSubmitProduct[]): {
132
223
  bundle: any[];
133
224
  key: number | null;
134
- option: any;
225
+ option: any[];
135
226
  product_id: number | null;
136
227
  product_variant_id: number;
137
228
  num: number;
@@ -140,4 +231,55 @@ export declare function formatV1Product(products: OrderSubmitProduct[]): {
140
231
  session: null;
141
232
  unique: string;
142
233
  }[];
234
+ /**
235
+ * 判断 holder_id 是否已分配(非空)。
236
+ *
237
+ * @example
238
+ * hasAssignedHolderId(12); // true
239
+ * hasAssignedHolderId([]); // false
240
+ */
241
+ export declare function hasAssignedHolderId(value: unknown): boolean;
242
+ /**
243
+ * 清空 tempOrder 购物车行上的 holder 分配(products / bookings / runtime origin)。
244
+ * 移除或更换下单客户时调用,与 booking 页换客户清 holder 行为对齐。
245
+ *
246
+ * @example
247
+ * clearTempOrderHolderAssignments(tempOrder);
248
+ */
249
+ export declare function clearTempOrderHolderAssignments(tempOrder: OrderTempOrder): boolean;
250
+ /**
251
+ * 读取购物车行的 stable uid(优先 metadata.unique_identification_number)。
252
+ *
253
+ * @example
254
+ * getOrderProductLineUid({ metadata: { unique_identification_number: 'line-1' } }); // 'line-1'
255
+ */
256
+ export declare function getOrderProductLineUid(product: Record<string, any> | null | undefined): string | null;
257
+ /**
258
+ * 判断展示字段是否为空(含 i18n 对象全空)。
259
+ *
260
+ * @example
261
+ * isEmptyOrderProductDisplayValue(''); // true
262
+ * isEmptyOrderProductDisplayValue({ auto: '桌台费' }); // false
263
+ */
264
+ export declare function isEmptyOrderProductDisplayValue(value: unknown): boolean;
265
+ /**
266
+ * calcDiscount / applyDiscount 回写时 Rules 往往不带 product_title 等展示字段;
267
+ * 用旧行补齐,避免编辑态 hydrate 后标题被冲掉。
268
+ *
269
+ * @example
270
+ * mergeOrderProductDisplayFields(
271
+ * { product_title: { auto: '桌台费' }, metadata: { unique_identification_number: 'u1' } },
272
+ * { selling_price: '10.00', metadata: { unique_identification_number: 'u1' } },
273
+ * );
274
+ */
275
+ export declare function mergeOrderProductDisplayFields(previous: Record<string, any>, next: Record<string, any>): Record<string, any>;
276
+ /**
277
+ * 按 uid 索引 tempOrder.products,供 applyDiscount 合并展示字段。
278
+ *
279
+ * @example
280
+ * indexOrderProductsByUid([{ metadata: { unique_identification_number: 'u1' } }]);
281
+ */
282
+ export declare function indexOrderProductsByUid(products: Array<Record<string, any>> | null | undefined): Map<string, Record<string, any>>;
143
283
  export { createEmptySummary } from '../../solution/ScanOrder/utils';
284
+ export { buildManualProductDiscountItem, ensureManualProductDiscountList, findManualProductDiscountItem, mergeManualProductDiscountIntoList, resolveManualDiscountMessage, resolveManualDiscountOriginTotal, resolveManualDiscountReasonFromSources, resolveSafeProductNum, shouldBuildManualProductDiscount, syncManualProductDiscountProductNum, stripManualProductDiscountItems, } from './utils/manualProductDiscount';
285
+ export type { ManualProductDiscountItem } from './utils/manualProductDiscount';