@pisell/pisellos 0.0.567 → 0.0.569

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 (557) hide show
  1. package/dist/core/index.js +6 -9
  2. package/dist/model/strategy/adapter/promotion/evaluator.js +3 -2
  3. package/dist/model/strategy/adapter/walletPass/evaluator.js +0 -2
  4. package/dist/model/strategy/adapter/walletPass/example.js +3 -26
  5. package/dist/model/strategy/adapter/walletPass/utils.js +7 -7
  6. package/dist/model/strategy/strategy-example.js +5 -19
  7. package/dist/modules/BaseModule.d.ts +2 -2
  8. package/dist/modules/BaseModule.js +4 -4
  9. package/dist/modules/BookingContext/index.d.ts +48 -0
  10. package/dist/modules/BookingContext/index.js +566 -0
  11. package/dist/modules/BookingContext/types.d.ts +102 -0
  12. package/dist/modules/BookingContext/types.js +51 -0
  13. package/dist/modules/BookingContext/utils/buildCacheItemFromOrderLine.d.ts +16 -0
  14. package/dist/modules/BookingContext/utils/buildCacheItemFromOrderLine.js +302 -0
  15. package/dist/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.d.ts +8 -0
  16. package/dist/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.js +149 -0
  17. package/dist/modules/BookingContext/utils/cacheItemToBookingInput.d.ts +76 -0
  18. package/dist/modules/BookingContext/utils/cacheItemToBookingInput.js +249 -0
  19. package/dist/modules/BookingContext/utils/flexible.d.ts +28 -0
  20. package/dist/modules/BookingContext/utils/flexible.js +56 -0
  21. package/dist/modules/BookingContext/utils/formatResourceList.d.ts +8 -0
  22. package/dist/modules/BookingContext/utils/formatResourceList.js +38 -0
  23. package/dist/modules/BookingContext/utils/index.d.ts +11 -0
  24. package/dist/modules/BookingContext/utils/index.js +11 -0
  25. package/dist/modules/BookingContext/utils/noResource.d.ts +13 -0
  26. package/dist/modules/BookingContext/utils/noResource.js +77 -0
  27. package/dist/modules/BookingContext/utils/orderLineDisplay.d.ts +1 -0
  28. package/dist/modules/BookingContext/utils/orderLineDisplay.js +36 -0
  29. package/dist/modules/BookingContext/utils/productExtend.d.ts +72 -0
  30. package/dist/modules/BookingContext/utils/productExtend.js +339 -0
  31. package/dist/modules/BookingContext/utils/resourceErrors.d.ts +41 -0
  32. package/dist/modules/BookingContext/utils/resourceErrors.js +74 -0
  33. package/dist/modules/BookingContext/utils/resourceSelection.d.ts +7 -0
  34. package/dist/modules/BookingContext/utils/resourceSelection.js +24 -0
  35. package/dist/modules/BookingContext/utils/resources.d.ts +80 -0
  36. package/dist/modules/BookingContext/utils/resources.js +486 -0
  37. package/dist/modules/BookingContext/utils/serviceTimes.d.ts +55 -0
  38. package/dist/modules/BookingContext/utils/serviceTimes.js +151 -0
  39. package/dist/modules/BookingContext/utils/timeSlices.d.ts +42 -0
  40. package/dist/modules/BookingContext/utils/timeSlices.js +100 -0
  41. package/dist/modules/Cart/index.js +0 -3
  42. package/dist/modules/Cart/utils/cartProduct.js +26 -6
  43. package/dist/modules/Cart/utils/changePrice.js +27 -20
  44. package/dist/modules/Customer/index.d.ts +20 -0
  45. package/dist/modules/Customer/index.js +172 -83
  46. package/dist/modules/Customer/types.d.ts +2 -0
  47. package/dist/modules/Date/index.js +1 -5
  48. package/dist/modules/Discount/index.d.ts +2 -1
  49. package/dist/modules/Discount/index.js +37 -12
  50. package/dist/modules/Discount/types.d.ts +1 -0
  51. package/dist/modules/OpenData/index.d.ts +8 -0
  52. package/dist/modules/OpenData/index.js +35 -17
  53. package/dist/modules/Order/index.d.ts +449 -24
  54. package/dist/modules/Order/index.js +5437 -608
  55. package/dist/modules/Order/types.d.ts +693 -88
  56. package/dist/modules/Order/types.js +68 -1
  57. package/dist/modules/Order/utils/bundleDiscountHydration.d.ts +5 -0
  58. package/dist/modules/Order/utils/bundleDiscountHydration.js +144 -0
  59. package/dist/modules/Order/utils/manualProductDiscount.d.ts +106 -0
  60. package/dist/modules/Order/utils/manualProductDiscount.js +210 -0
  61. package/dist/modules/Order/utils/orderCollectionIdentity.d.ts +53 -0
  62. package/dist/modules/Order/utils/orderCollectionIdentity.js +405 -0
  63. package/dist/modules/Order/utils.d.ts +167 -18
  64. package/dist/modules/Order/utils.js +960 -165
  65. package/dist/modules/Payment/index.d.ts +10 -9
  66. package/dist/modules/Payment/index.js +508 -874
  67. package/dist/modules/Payment/types.d.ts +40 -16
  68. package/dist/modules/Payment/utils.d.ts +1 -1
  69. package/dist/modules/Payment/utils.js +4 -3
  70. package/dist/modules/Payment/walletpass.js +48 -34
  71. package/dist/modules/Product/types.d.ts +29 -7
  72. package/dist/modules/ProductList/index.d.ts +17 -13
  73. package/dist/modules/ProductList/index.js +184 -74
  74. package/dist/modules/ProductList/types.d.ts +17 -0
  75. package/dist/modules/Quotation/index.d.ts +22 -2
  76. package/dist/modules/Quotation/index.js +108 -42
  77. package/dist/modules/Quotation/types.d.ts +19 -0
  78. package/dist/modules/ResourcePlanner/index.d.ts +24 -0
  79. package/dist/modules/ResourcePlanner/index.js +181 -0
  80. package/dist/modules/ResourcePlanner/planner.d.ts +14 -0
  81. package/dist/modules/ResourcePlanner/planner.js +1069 -0
  82. package/dist/modules/ResourcePlanner/types.d.ts +227 -0
  83. package/dist/modules/ResourcePlanner/types.js +1 -0
  84. package/dist/modules/Rules/index.d.ts +8 -10
  85. package/dist/modules/Rules/index.js +219 -114
  86. package/dist/modules/Rules/types.d.ts +14 -3
  87. package/dist/modules/SalesSummary/index.d.ts +23 -26
  88. package/dist/modules/SalesSummary/index.js +152 -46
  89. package/dist/modules/SalesSummary/types.d.ts +9 -1
  90. package/dist/modules/SalesSummary/utils.d.ts +3 -22
  91. package/dist/modules/SalesSummary/utils.js +803 -163
  92. package/dist/modules/Schedule/getDateIsInSchedule.js +14 -7
  93. package/dist/modules/Schedule/index.d.ts +18 -5
  94. package/dist/modules/Schedule/index.js +78 -24
  95. package/dist/modules/Schedule/types.d.ts +2 -0
  96. package/dist/modules/Schedule/utils.js +0 -1
  97. package/dist/modules/Step/index.js +0 -1
  98. package/dist/modules/Summary/index.js +4 -3
  99. package/dist/modules/SurchargeList/index.d.ts +18 -0
  100. package/dist/modules/SurchargeList/index.js +185 -0
  101. package/dist/modules/SurchargeList/types.d.ts +15 -0
  102. package/dist/modules/SurchargeList/types.js +1 -0
  103. package/dist/modules/index.d.ts +3 -0
  104. package/dist/modules/index.js +4 -1
  105. package/dist/plugins/app.d.ts +2 -0
  106. package/dist/plugins/request.d.ts +1 -0
  107. package/dist/plugins/request.js +1 -4
  108. package/dist/plugins/window.js +2 -6
  109. package/dist/server/index.d.ts +462 -8
  110. package/dist/server/index.js +6137 -714
  111. package/dist/server/modules/floor-plan/index.d.ts +39 -0
  112. package/dist/server/modules/floor-plan/index.js +595 -0
  113. package/dist/server/modules/floor-plan/types.d.ts +43 -0
  114. package/dist/server/modules/floor-plan/types.js +13 -0
  115. package/dist/server/modules/index.d.ts +7 -2
  116. package/dist/server/modules/index.js +6 -0
  117. package/dist/server/modules/menu/index.js +32 -41
  118. package/dist/server/modules/order/index.d.ts +207 -14
  119. package/dist/server/modules/order/index.js +2326 -379
  120. package/dist/server/modules/order/types.d.ts +76 -5
  121. package/dist/server/modules/order/types.js +14 -1
  122. package/dist/server/modules/order/utils/filterBookings.d.ts +7 -1
  123. package/dist/server/modules/order/utils/filterBookings.js +118 -11
  124. package/dist/server/modules/order/utils/filterOrders.js +242 -14
  125. package/dist/server/modules/payment/index.d.ts +28 -0
  126. package/dist/server/modules/payment/index.js +305 -0
  127. package/dist/server/modules/payment/types.d.ts +9 -0
  128. package/dist/server/modules/payment/types.js +1 -0
  129. package/dist/server/modules/products/index.d.ts +105 -14
  130. package/dist/server/modules/products/index.js +1397 -540
  131. package/dist/server/modules/products/types.d.ts +34 -1
  132. package/dist/server/modules/products/types.js +4 -0
  133. package/dist/server/modules/quotation/index.d.ts +39 -0
  134. package/dist/server/modules/quotation/index.js +289 -86
  135. package/dist/server/modules/resource/index.d.ts +2 -3
  136. package/dist/server/modules/resource/index.js +105 -84
  137. package/dist/server/modules/schedule/index.d.ts +6 -4
  138. package/dist/server/modules/schedule/index.js +137 -114
  139. package/dist/server/test.json +713 -0
  140. package/dist/server/types.d.ts +2 -0
  141. package/dist/server/utils/product.js +2 -3
  142. package/dist/server/utils/small-ticket.d.ts +71 -0
  143. package/dist/server/utils/small-ticket.js +963 -0
  144. package/dist/solution/BaseSales/index.d.ts +378 -0
  145. package/dist/solution/BaseSales/index.js +4006 -0
  146. package/dist/solution/BaseSales/types.d.ts +394 -0
  147. package/dist/solution/BaseSales/types.js +40 -0
  148. package/dist/solution/BaseSales/utils/cartPromotion.d.ts +287 -0
  149. package/dist/solution/BaseSales/utils/cartPromotion.js +1450 -0
  150. package/dist/solution/BaseSales/utils/parseSalesResponse.d.ts +144 -0
  151. package/dist/solution/BaseSales/utils/parseSalesResponse.js +157 -0
  152. package/dist/solution/BaseSales/utils/quotationPrice.d.ts +18 -0
  153. package/dist/solution/BaseSales/utils/quotationPrice.js +250 -0
  154. package/dist/solution/BaseSales/utils/transformBaseProductToOrderProduct.d.ts +63 -0
  155. package/dist/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +218 -0
  156. package/dist/solution/BaseSales/utils.d.ts +40 -0
  157. package/dist/solution/BaseSales/utils.js +263 -0
  158. package/dist/solution/BookingByStep/index.js +7 -59
  159. package/dist/solution/BookingByStep/utils/capacity.js +1 -11
  160. package/dist/solution/BookingByStep/utils/resources.js +1 -3
  161. package/dist/solution/BookingByStep/utils/timeslots.js +2 -43
  162. package/dist/solution/BookingTicket/index.d.ts +393 -24
  163. package/dist/solution/BookingTicket/index.js +2506 -445
  164. package/dist/solution/BookingTicket/types.d.ts +191 -6
  165. package/dist/solution/BookingTicket/types.js +83 -10
  166. package/dist/solution/BookingTicket/utils/addProductDecision.d.ts +117 -0
  167. package/dist/solution/BookingTicket/utils/addProductDecision.js +346 -0
  168. package/dist/solution/BookingTicket/utils/addTimeAvailability.d.ts +35 -0
  169. package/dist/solution/BookingTicket/utils/addTimeAvailability.js +95 -0
  170. package/dist/solution/BookingTicket/utils/bookingStatus.d.ts +77 -0
  171. package/dist/solution/BookingTicket/utils/bookingStatus.js +136 -0
  172. package/dist/solution/BookingTicket/utils/cartView.d.ts +29 -0
  173. package/dist/solution/BookingTicket/utils/cartView.js +209 -0
  174. package/dist/solution/BookingTicket/utils/exampleData.d.ts +123 -0
  175. package/dist/solution/BookingTicket/utils/exampleData.js +183 -0
  176. package/dist/solution/BookingTicket/utils/orderCustomer.d.ts +4 -0
  177. package/dist/solution/BookingTicket/utils/orderCustomer.js +31 -0
  178. package/dist/solution/BookingTicket/utils/resolveBestAddTimePlan.d.ts +185 -0
  179. package/dist/solution/BookingTicket/utils/resolveBestAddTimePlan.js +438 -0
  180. package/dist/solution/BookingTicket/utils/scan/applyGlobalScan.d.ts +36 -0
  181. package/dist/solution/BookingTicket/utils/scan/applyGlobalScan.js +400 -0
  182. package/dist/solution/BookingTicket/utils/scan/cloudSearch.d.ts +4 -0
  183. package/dist/solution/BookingTicket/utils/scan/cloudSearch.js +41 -1
  184. package/dist/solution/BookingTicket/utils/scan/formatGlobalScan.d.ts +32 -0
  185. package/dist/solution/BookingTicket/utils/scan/formatGlobalScan.js +56 -0
  186. package/dist/solution/BookingTicket/utils/scan/handleScan.d.ts +3 -1
  187. package/dist/solution/BookingTicket/utils/scan/handleScan.js +36 -34
  188. package/dist/solution/BookingTicket/utils/scan/index.d.ts +5 -0
  189. package/dist/solution/BookingTicket/utils/scan/index.js +26 -18
  190. package/dist/solution/BookingTicket/utils/scan/scanProductValues.d.ts +21 -0
  191. package/dist/solution/BookingTicket/utils/scan/scanProductValues.js +150 -0
  192. package/dist/solution/BookingTicket/utils/sessionCatalogStale.d.ts +23 -0
  193. package/dist/solution/BookingTicket/utils/sessionCatalogStale.js +78 -0
  194. package/dist/solution/BuyTickets/index.js +9 -12
  195. package/dist/solution/Checkout/index.d.ts +1 -0
  196. package/dist/solution/Checkout/index.js +199 -277
  197. package/dist/solution/Checkout/utils/index.js +8 -20
  198. package/dist/solution/RegisterAndLogin/config.js +2 -10
  199. package/dist/solution/RegisterAndLogin/index.js +30 -76
  200. package/dist/solution/Sales/index.d.ts +50 -5
  201. package/dist/solution/Sales/index.js +484 -92
  202. package/dist/solution/Sales/types.d.ts +26 -2
  203. package/dist/solution/ScanOrder/index.d.ts +27 -21
  204. package/dist/solution/ScanOrder/index.js +509 -454
  205. package/dist/solution/ScanOrder/types.d.ts +33 -11
  206. package/dist/solution/ScanOrder/types.js +4 -5
  207. package/dist/solution/ScanOrder/utils.d.ts +4 -1
  208. package/dist/solution/ScanOrder/utils.js +109 -34
  209. package/dist/solution/ShopDiscount/index.js +6 -11
  210. package/dist/solution/UnifiedBookingSales/index.d.ts +183 -0
  211. package/dist/solution/UnifiedBookingSales/index.js +1871 -0
  212. package/dist/solution/UnifiedBookingSales/types.d.ts +143 -0
  213. package/dist/solution/UnifiedBookingSales/types.js +11 -0
  214. package/dist/solution/VenueBooking/index.d.ts +34 -20
  215. package/dist/solution/VenueBooking/index.js +630 -505
  216. package/dist/solution/VenueBooking/sales-section-4-annotated.json +0 -2
  217. package/dist/solution/VenueBooking/utils/slotMerge.d.ts +6 -0
  218. package/dist/solution/VenueBooking/utils/slotMerge.js +9 -3
  219. package/dist/solution/index.d.ts +2 -0
  220. package/dist/solution/index.js +3 -1
  221. package/dist/types/index.d.ts +11 -1
  222. package/dist/utils/task.js +15 -18
  223. package/dist/utils/watch.js +0 -1
  224. package/lib/apis/picoding.js +2 -0
  225. package/lib/core/index.js +130 -131
  226. package/lib/effects/index.js +46 -57
  227. package/lib/index.js +92 -53
  228. package/lib/model/index.js +14 -21
  229. package/lib/model/strategy/adapter/dataVariant/adapter.js +38 -50
  230. package/lib/model/strategy/adapter/dataVariant/evaluator.js +162 -236
  231. package/lib/model/strategy/adapter/dataVariant/examples.js +229 -237
  232. package/lib/model/strategy/adapter/dataVariant/index.js +39 -34
  233. package/lib/model/strategy/adapter/dataVariant/type.js +57 -28
  234. package/lib/model/strategy/adapter/index.js +100 -64
  235. package/lib/model/strategy/adapter/itemRule/adapter.js +156 -144
  236. package/lib/model/strategy/adapter/itemRule/evaluator.js +36 -48
  237. package/lib/model/strategy/adapter/itemRule/examples.js +295 -225
  238. package/lib/model/strategy/adapter/itemRule/index.js +83 -57
  239. package/lib/model/strategy/adapter/itemRule/type.js +97 -36
  240. package/lib/model/strategy/adapter/promotion/adapter.js +84 -63
  241. package/lib/model/strategy/adapter/promotion/evaluator.js +383 -232
  242. package/lib/model/strategy/adapter/promotion/examples.js +139 -159
  243. package/lib/model/strategy/adapter/promotion/index.js +1 -49
  244. package/lib/model/strategy/adapter/promotion/type.js +199 -35
  245. package/lib/model/strategy/adapter/type.js +4 -16
  246. package/lib/model/strategy/adapter/walletPass/evaluator.js +180 -152
  247. package/lib/model/strategy/adapter/walletPass/example.js +217 -190
  248. package/lib/model/strategy/adapter/walletPass/index.js +75 -51
  249. package/lib/model/strategy/adapter/walletPass/locales.js +36 -58
  250. package/lib/model/strategy/adapter/walletPass/type.js +4 -16
  251. package/lib/model/strategy/adapter/walletPass/utils.js +654 -402
  252. package/lib/model/strategy/engine.js +270 -168
  253. package/lib/model/strategy/index.js +49 -34
  254. package/lib/model/strategy/strategy-example.js +243 -239
  255. package/lib/model/strategy/type.js +100 -40
  256. package/lib/modules/Account/index.js +39 -53
  257. package/lib/modules/Account/types.js +20 -33
  258. package/lib/modules/AccountList/index.js +116 -154
  259. package/lib/modules/AccountList/types.js +30 -31
  260. package/lib/modules/AccountList/utils.js +18 -30
  261. package/lib/modules/BaseModule.d.ts +2 -2
  262. package/lib/modules/BaseModule.js +26 -49
  263. package/lib/modules/BookingContext/index.d.ts +48 -0
  264. package/lib/modules/BookingContext/index.js +390 -0
  265. package/lib/modules/BookingContext/types.d.ts +102 -0
  266. package/lib/modules/BookingContext/types.js +48 -0
  267. package/lib/modules/BookingContext/utils/buildCacheItemFromOrderLine.d.ts +16 -0
  268. package/lib/modules/BookingContext/utils/buildCacheItemFromOrderLine.js +286 -0
  269. package/lib/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.d.ts +8 -0
  270. package/lib/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.js +148 -0
  271. package/lib/modules/BookingContext/utils/cacheItemToBookingInput.d.ts +76 -0
  272. package/lib/modules/BookingContext/utils/cacheItemToBookingInput.js +242 -0
  273. package/lib/modules/BookingContext/utils/flexible.d.ts +28 -0
  274. package/lib/modules/BookingContext/utils/flexible.js +63 -0
  275. package/lib/modules/BookingContext/utils/formatResourceList.d.ts +8 -0
  276. package/lib/modules/BookingContext/utils/formatResourceList.js +35 -0
  277. package/lib/modules/BookingContext/utils/index.d.ts +11 -0
  278. package/lib/modules/BookingContext/utils/index.js +126 -0
  279. package/lib/modules/BookingContext/utils/noResource.d.ts +13 -0
  280. package/lib/modules/BookingContext/utils/noResource.js +78 -0
  281. package/lib/modules/BookingContext/utils/orderLineDisplay.d.ts +1 -0
  282. package/lib/modules/BookingContext/utils/orderLineDisplay.js +29 -0
  283. package/lib/modules/BookingContext/utils/productExtend.d.ts +72 -0
  284. package/lib/modules/BookingContext/utils/productExtend.js +330 -0
  285. package/lib/modules/BookingContext/utils/resourceErrors.d.ts +41 -0
  286. package/lib/modules/BookingContext/utils/resourceErrors.js +80 -0
  287. package/lib/modules/BookingContext/utils/resourceSelection.d.ts +7 -0
  288. package/lib/modules/BookingContext/utils/resourceSelection.js +24 -0
  289. package/lib/modules/BookingContext/utils/resources.d.ts +80 -0
  290. package/lib/modules/BookingContext/utils/resources.js +419 -0
  291. package/lib/modules/BookingContext/utils/serviceTimes.d.ts +55 -0
  292. package/lib/modules/BookingContext/utils/serviceTimes.js +161 -0
  293. package/lib/modules/BookingContext/utils/timeSlices.d.ts +42 -0
  294. package/lib/modules/BookingContext/utils/timeSlices.js +114 -0
  295. package/lib/modules/Cart/index.js +170 -124
  296. package/lib/modules/Cart/types.js +46 -51
  297. package/lib/modules/Cart/utils/cartAccount.js +40 -39
  298. package/lib/modules/Cart/utils/cartDate.js +56 -61
  299. package/lib/modules/Cart/utils/cartDiscount.js +28 -33
  300. package/lib/modules/Cart/utils/cartNote.js +27 -32
  301. package/lib/modules/Cart/utils/cartProduct.js +331 -244
  302. package/lib/modules/Cart/utils/cartRelationForms.js +29 -35
  303. package/lib/modules/Cart/utils/cartResource.js +72 -78
  304. package/lib/modules/Cart/utils/changePrice.js +37 -67
  305. package/lib/modules/Cart/utils/index.js +106 -48
  306. package/lib/modules/Customer/constants.js +13 -34
  307. package/lib/modules/Customer/index.d.ts +20 -0
  308. package/lib/modules/Customer/index.js +270 -154
  309. package/lib/modules/Customer/types.d.ts +2 -0
  310. package/lib/modules/Customer/types.js +38 -35
  311. package/lib/modules/Date/index.js +116 -115
  312. package/lib/modules/Date/types.js +16 -28
  313. package/lib/modules/Date/utils.js +174 -123
  314. package/lib/modules/Discount/index.d.ts +2 -1
  315. package/lib/modules/Discount/index.js +133 -113
  316. package/lib/modules/Discount/types.d.ts +1 -0
  317. package/lib/modules/Discount/types.js +9 -31
  318. package/lib/modules/Guests/index.js +30 -56
  319. package/lib/modules/Guests/types.js +23 -33
  320. package/lib/modules/Holder/index.js +209 -189
  321. package/lib/modules/Holder/types.js +4 -16
  322. package/lib/modules/Holder/utils.js +20 -49
  323. package/lib/modules/OpenData/index.d.ts +8 -0
  324. package/lib/modules/OpenData/index.js +81 -74
  325. package/lib/modules/OpenData/types.js +4 -16
  326. package/lib/modules/OpenData/utils.js +44 -78
  327. package/lib/modules/Order/index.d.ts +449 -24
  328. package/lib/modules/Order/index.js +3834 -489
  329. package/lib/modules/Order/types.d.ts +693 -88
  330. package/lib/modules/Order/types.js +78 -33
  331. package/lib/modules/Order/utils/bundleDiscountHydration.d.ts +5 -0
  332. package/lib/modules/Order/utils/bundleDiscountHydration.js +106 -0
  333. package/lib/modules/Order/utils/manualProductDiscount.d.ts +106 -0
  334. package/lib/modules/Order/utils/manualProductDiscount.js +207 -0
  335. package/lib/modules/Order/utils/orderCollectionIdentity.d.ts +53 -0
  336. package/lib/modules/Order/utils/orderCollectionIdentity.js +353 -0
  337. package/lib/modules/Order/utils.d.ts +167 -18
  338. package/lib/modules/Order/utils.js +1247 -345
  339. package/lib/modules/Payment/cash.js +20 -33
  340. package/lib/modules/Payment/cashRecommendationAlgorithm.js +145 -76
  341. package/lib/modules/Payment/eftpos.js +16 -30
  342. package/lib/modules/Payment/index.d.ts +10 -9
  343. package/lib/modules/Payment/index.js +542 -502
  344. package/lib/modules/Payment/mx51.js +1 -0
  345. package/lib/modules/Payment/types.d.ts +40 -16
  346. package/lib/modules/Payment/types.js +216 -107
  347. package/lib/modules/Payment/utils.d.ts +1 -1
  348. package/lib/modules/Payment/utils.js +53 -49
  349. package/lib/modules/Payment/walletpass.js +231 -203
  350. package/lib/modules/Product/index.js +51 -46
  351. package/lib/modules/Product/types.d.ts +29 -7
  352. package/lib/modules/Product/types.js +4 -16
  353. package/lib/modules/Product/utils.js +32 -33
  354. package/lib/modules/ProductList/index.d.ts +17 -13
  355. package/lib/modules/ProductList/index.js +160 -118
  356. package/lib/modules/ProductList/types.d.ts +17 -0
  357. package/lib/modules/ProductList/types.js +9 -31
  358. package/lib/modules/Quotation/index.d.ts +22 -2
  359. package/lib/modules/Quotation/index.js +123 -89
  360. package/lib/modules/Quotation/types.d.ts +19 -0
  361. package/lib/modules/Quotation/types.js +4 -16
  362. package/lib/modules/Resource/index.js +27 -59
  363. package/lib/modules/Resource/types.js +22 -32
  364. package/lib/modules/Resource/utils.js +30 -38
  365. package/lib/modules/ResourcePlanner/index.d.ts +24 -0
  366. package/lib/modules/ResourcePlanner/index.js +147 -0
  367. package/lib/modules/ResourcePlanner/planner.d.ts +14 -0
  368. package/lib/modules/ResourcePlanner/planner.js +895 -0
  369. package/lib/modules/ResourcePlanner/types.d.ts +227 -0
  370. package/lib/modules/ResourcePlanner/types.js +5 -0
  371. package/lib/modules/Rules/index.d.ts +8 -10
  372. package/lib/modules/Rules/index.js +1286 -894
  373. package/lib/modules/Rules/types.d.ts +14 -3
  374. package/lib/modules/Rules/types.js +17 -40
  375. package/lib/modules/SalesSummary/index.d.ts +23 -26
  376. package/lib/modules/SalesSummary/index.js +130 -71
  377. package/lib/modules/SalesSummary/types.d.ts +9 -1
  378. package/lib/modules/SalesSummary/types.js +4 -16
  379. package/lib/modules/SalesSummary/utils.d.ts +3 -22
  380. package/lib/modules/SalesSummary/utils.js +738 -250
  381. package/lib/modules/ScanOrderLogger/index.js +59 -79
  382. package/lib/modules/ScanOrderLogger/providers/feishu.js +54 -78
  383. package/lib/modules/ScanOrderLogger/providers/grafana.js +13 -36
  384. package/lib/modules/ScanOrderLogger/types.js +4 -16
  385. package/lib/modules/Schedule/getDateIsInSchedule.js +345 -171
  386. package/lib/modules/Schedule/index.d.ts +18 -5
  387. package/lib/modules/Schedule/index.js +139 -114
  388. package/lib/modules/Schedule/type.js +4 -16
  389. package/lib/modules/Schedule/types.d.ts +2 -0
  390. package/lib/modules/Schedule/types.js +4 -16
  391. package/lib/modules/Schedule/utils.js +433 -291
  392. package/lib/modules/Step/index.js +40 -52
  393. package/lib/modules/Step/tyeps.js +4 -16
  394. package/lib/modules/Summary/index.js +66 -70
  395. package/lib/modules/Summary/types.js +4 -16
  396. package/lib/modules/Summary/utils.js +782 -429
  397. package/lib/modules/SurchargeList/index.d.ts +18 -0
  398. package/lib/modules/SurchargeList/index.js +95 -0
  399. package/lib/modules/SurchargeList/types.d.ts +15 -0
  400. package/lib/modules/SurchargeList/types.js +5 -0
  401. package/lib/modules/index.d.ts +3 -0
  402. package/lib/modules/index.js +245 -57
  403. package/lib/plugins/app.d.ts +2 -0
  404. package/lib/plugins/app.js +4 -16
  405. package/lib/plugins/index.js +36 -25
  406. package/lib/plugins/request.d.ts +1 -0
  407. package/lib/plugins/request.js +137 -126
  408. package/lib/plugins/shopStore.js +4 -16
  409. package/lib/plugins/user.js +4 -16
  410. package/lib/plugins/window.js +171 -179
  411. package/lib/server/index.d.ts +462 -8
  412. package/lib/server/index.js +4668 -713
  413. package/lib/server/modules/floor-plan/index.d.ts +39 -0
  414. package/lib/server/modules/floor-plan/index.js +306 -0
  415. package/lib/server/modules/floor-plan/types.d.ts +43 -0
  416. package/lib/server/modules/floor-plan/types.js +19 -0
  417. package/lib/server/modules/index.d.ts +7 -2
  418. package/lib/server/modules/index.js +106 -59
  419. package/lib/server/modules/menu/index.js +146 -122
  420. package/lib/server/modules/menu/types.js +18 -31
  421. package/lib/server/modules/order/index.d.ts +207 -14
  422. package/lib/server/modules/order/index.js +1463 -316
  423. package/lib/server/modules/order/types.d.ts +76 -5
  424. package/lib/server/modules/order/types.js +117 -32
  425. package/lib/server/modules/order/utils/filterBookings.d.ts +7 -1
  426. package/lib/server/modules/order/utils/filterBookings.js +288 -146
  427. package/lib/server/modules/order/utils/filterOrders.js +318 -64
  428. package/lib/server/modules/payment/index.d.ts +28 -0
  429. package/lib/server/modules/payment/index.js +168 -0
  430. package/lib/server/modules/payment/types.d.ts +9 -0
  431. package/lib/server/modules/payment/types.js +5 -0
  432. package/lib/server/modules/products/index.d.ts +105 -14
  433. package/lib/server/modules/products/index.js +969 -383
  434. package/lib/server/modules/products/types.d.ts +34 -1
  435. package/lib/server/modules/products/types.js +44 -34
  436. package/lib/server/modules/quotation/index.d.ts +39 -0
  437. package/lib/server/modules/quotation/index.js +220 -77
  438. package/lib/server/modules/quotation/types.js +21 -31
  439. package/lib/server/modules/resource/index.d.ts +2 -3
  440. package/lib/server/modules/resource/index.js +269 -214
  441. package/lib/server/modules/resource/types.js +42 -33
  442. package/lib/server/modules/schedule/index.d.ts +6 -4
  443. package/lib/server/modules/schedule/index.js +158 -132
  444. package/lib/server/modules/schedule/types.js +14 -21
  445. package/lib/server/modules/schedule/utils.js +334 -163
  446. package/lib/server/test.json +713 -0
  447. package/lib/server/types.d.ts +2 -0
  448. package/lib/server/types.js +4 -16
  449. package/lib/server/utils/index.js +25 -23
  450. package/lib/server/utils/product.js +197 -140
  451. package/lib/server/utils/schedule.js +34 -41
  452. package/lib/server/utils/small-ticket.d.ts +71 -0
  453. package/lib/server/utils/small-ticket.js +926 -0
  454. package/lib/server/utils/time.js +40 -49
  455. package/lib/solution/BaseSales/index.d.ts +378 -0
  456. package/lib/solution/BaseSales/index.js +2367 -0
  457. package/lib/solution/BaseSales/types.d.ts +394 -0
  458. package/lib/solution/BaseSales/types.js +47 -0
  459. package/lib/solution/BaseSales/utils/cartPromotion.d.ts +287 -0
  460. package/lib/solution/BaseSales/utils/cartPromotion.js +1155 -0
  461. package/lib/solution/BaseSales/utils/parseSalesResponse.d.ts +144 -0
  462. package/lib/solution/BaseSales/utils/parseSalesResponse.js +140 -0
  463. package/lib/solution/BaseSales/utils/quotationPrice.d.ts +18 -0
  464. package/lib/solution/BaseSales/utils/quotationPrice.js +231 -0
  465. package/lib/solution/BaseSales/utils/transformBaseProductToOrderProduct.d.ts +63 -0
  466. package/lib/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +215 -0
  467. package/lib/solution/BaseSales/utils.d.ts +40 -0
  468. package/lib/solution/BaseSales/utils.js +259 -0
  469. package/lib/solution/BookingByStep/index.js +1530 -1343
  470. package/lib/solution/BookingByStep/types.js +40 -99
  471. package/lib/solution/BookingByStep/utils/capacity.js +192 -160
  472. package/lib/solution/BookingByStep/utils/products.js +42 -52
  473. package/lib/solution/BookingByStep/utils/resources.js +527 -330
  474. package/lib/solution/BookingByStep/utils/stock.js +65 -44
  475. package/lib/solution/BookingByStep/utils/timeslots.js +129 -131
  476. package/lib/solution/BookingTicket/index.d.ts +393 -24
  477. package/lib/solution/BookingTicket/index.js +1459 -160
  478. package/lib/solution/BookingTicket/types.d.ts +191 -6
  479. package/lib/solution/BookingTicket/types.js +101 -66
  480. package/lib/solution/BookingTicket/utils/addProductDecision.d.ts +117 -0
  481. package/lib/solution/BookingTicket/utils/addProductDecision.js +353 -0
  482. package/lib/solution/BookingTicket/utils/addTimeAvailability.d.ts +35 -0
  483. package/lib/solution/BookingTicket/utils/addTimeAvailability.js +94 -0
  484. package/lib/solution/BookingTicket/utils/bookingStatus.d.ts +77 -0
  485. package/lib/solution/BookingTicket/utils/bookingStatus.js +136 -0
  486. package/lib/solution/BookingTicket/utils/cartView.d.ts +29 -0
  487. package/lib/solution/BookingTicket/utils/cartView.js +200 -0
  488. package/lib/solution/BookingTicket/utils/exampleData.d.ts +123 -0
  489. package/lib/solution/BookingTicket/utils/exampleData.js +185 -0
  490. package/lib/solution/BookingTicket/utils/orderCustomer.d.ts +4 -0
  491. package/lib/solution/BookingTicket/utils/orderCustomer.js +35 -0
  492. package/lib/solution/BookingTicket/utils/resolveBestAddTimePlan.d.ts +185 -0
  493. package/lib/solution/BookingTicket/utils/resolveBestAddTimePlan.js +387 -0
  494. package/lib/solution/BookingTicket/utils/scan/applyGlobalScan.d.ts +36 -0
  495. package/lib/solution/BookingTicket/utils/scan/applyGlobalScan.js +220 -0
  496. package/lib/solution/BookingTicket/utils/scan/cloudSearch.d.ts +4 -0
  497. package/lib/solution/BookingTicket/utils/scan/cloudSearch.js +85 -80
  498. package/lib/solution/BookingTicket/utils/scan/formatGlobalScan.d.ts +32 -0
  499. package/lib/solution/BookingTicket/utils/scan/formatGlobalScan.js +64 -0
  500. package/lib/solution/BookingTicket/utils/scan/handleScan.d.ts +3 -1
  501. package/lib/solution/BookingTicket/utils/scan/handleScan.js +84 -80
  502. package/lib/solution/BookingTicket/utils/scan/index.d.ts +5 -0
  503. package/lib/solution/BookingTicket/utils/scan/index.js +103 -95
  504. package/lib/solution/BookingTicket/utils/scan/scanCache.js +90 -43
  505. package/lib/solution/BookingTicket/utils/scan/scanProductValues.d.ts +21 -0
  506. package/lib/solution/BookingTicket/utils/scan/scanProductValues.js +115 -0
  507. package/lib/solution/BookingTicket/utils/sessionCatalogStale.d.ts +23 -0
  508. package/lib/solution/BookingTicket/utils/sessionCatalogStale.js +83 -0
  509. package/lib/solution/BuyTickets/index.js +67 -70
  510. package/lib/solution/BuyTickets/types.js +22 -38
  511. package/lib/solution/Checkout/index.d.ts +1 -0
  512. package/lib/solution/Checkout/index.js +1461 -1169
  513. package/lib/solution/Checkout/types.js +91 -61
  514. package/lib/solution/Checkout/utils/index.js +228 -159
  515. package/lib/solution/PlaceOrder/index.js +55 -0
  516. package/lib/solution/RegisterAndLogin/config.js +495 -470
  517. package/lib/solution/RegisterAndLogin/index.js +633 -630
  518. package/lib/solution/RegisterAndLogin/types.js +189 -76
  519. package/lib/solution/RegisterAndLogin/utils.js +183 -125
  520. package/lib/solution/Sales/index.d.ts +50 -5
  521. package/lib/solution/Sales/index.js +495 -220
  522. package/lib/solution/Sales/types.d.ts +26 -2
  523. package/lib/solution/Sales/types.js +27 -33
  524. package/lib/solution/ScanOrder/index.d.ts +27 -21
  525. package/lib/solution/ScanOrder/index.js +908 -904
  526. package/lib/solution/ScanOrder/types.d.ts +33 -11
  527. package/lib/solution/ScanOrder/types.js +33 -34
  528. package/lib/solution/ScanOrder/utils.d.ts +4 -1
  529. package/lib/solution/ScanOrder/utils.js +457 -344
  530. package/lib/solution/ShopDiscount/index.js +230 -236
  531. package/lib/solution/ShopDiscount/types.js +15 -37
  532. package/lib/solution/ShopDiscount/utils.js +309 -172
  533. package/lib/solution/UnifiedBookingSales/index.d.ts +183 -0
  534. package/lib/solution/UnifiedBookingSales/index.js +1050 -0
  535. package/lib/solution/UnifiedBookingSales/types.d.ts +143 -0
  536. package/lib/solution/UnifiedBookingSales/types.js +14 -0
  537. package/lib/solution/VenueBooking/index.d.ts +34 -20
  538. package/lib/solution/VenueBooking/index.js +982 -950
  539. package/lib/solution/VenueBooking/sales-section-4-annotated.json +0 -2
  540. package/lib/solution/VenueBooking/types.js +20 -40
  541. package/lib/solution/VenueBooking/utils/dateSummary.js +22 -54
  542. package/lib/solution/VenueBooking/utils/resource.js +31 -54
  543. package/lib/solution/VenueBooking/utils/slotMerge.d.ts +6 -0
  544. package/lib/solution/VenueBooking/utils/slotMerge.js +96 -108
  545. package/lib/solution/VenueBooking/utils/smartPricing.js +112 -100
  546. package/lib/solution/VenueBooking/utils/timeSlot.js +133 -132
  547. package/lib/solution/VenueBooking/utils.js +130 -67
  548. package/lib/solution/index.d.ts +2 -0
  549. package/lib/solution/index.js +124 -37
  550. package/lib/store/createStore.js +32 -29
  551. package/lib/types/index.d.ts +11 -1
  552. package/lib/types/index.js +4 -16
  553. package/lib/utils/task.js +36 -36
  554. package/lib/utils/watch.js +81 -47
  555. package/package.json +2 -1
  556. package/dist/solution/Checkout/appointmentDemo.json +0 -1
  557. package/lib/solution/Checkout/appointmentDemo.json +0 -1
@@ -1,70 +1,61 @@
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);
1
+ "use strict";
28
2
 
29
- // src/server/utils/time.ts
30
- var time_exports = {};
31
- __export(time_exports, {
32
- extractTimeFromDateTime: () => extractTimeFromDateTime,
33
- sortTimePoints: () => sortTimePoints,
34
- timeStringToMinutes: () => timeStringToMinutes
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
35
5
  });
36
- module.exports = __toCommonJS(time_exports);
37
- var import_dayjs = __toESM(require("dayjs"));
6
+ exports.extractTimeFromDateTime = extractTimeFromDateTime;
7
+ exports.sortTimePoints = sortTimePoints;
8
+ exports.timeStringToMinutes = timeStringToMinutes;
9
+ var _dayjs = _interopRequireDefault(require("dayjs"));
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+ /**
12
+ * 从日期时间字符串中提取时间部分
13
+ * @param dateTime 日期时间字符串,格式如 "2024-01-01 10:00:00"
14
+ * @returns 时间字符串,格式如 "10:00"
15
+ */
38
16
  function extractTimeFromDateTime(dateTime) {
39
- if (!dateTime)
40
- return null;
41
- const date = (0, import_dayjs.default)(dateTime);
17
+ if (!dateTime) return null;
18
+
19
+ // 使用 dayjs 解析日期时间
20
+ const date = (0, _dayjs.default)(dateTime);
42
21
  if (!date.isValid()) {
43
22
  console.warn(`[TimeUtils] 无效的日期时间格式: ${dateTime}`);
44
23
  return null;
45
24
  }
46
- return date.format("HH:mm");
25
+
26
+ // 返回 HH:mm 格式的时间
27
+ return date.format('HH:mm');
47
28
  }
29
+
30
+ /**
31
+ * 将时间字符串转换为分钟数(用于排序)
32
+ * @param timeStr 时间字符串,格式如 "10:00" 或 "14:30"
33
+ * @returns 从00:00开始的分钟数
34
+ */
48
35
  function timeStringToMinutes(timeStr) {
49
- if (!timeStr)
50
- return 0;
51
- const date = (0, import_dayjs.default)(`2000-01-01 ${timeStr}`, "YYYY-MM-DD HH:mm");
36
+ if (!timeStr) return 0;
37
+
38
+ // 使用 dayjs 解析时间字符串
39
+ // 由于只有时间没有日期,我们添加一个固定日期来解析
40
+ const date = (0, _dayjs.default)(`2000-01-01 ${timeStr}`, 'YYYY-MM-DD HH:mm');
52
41
  if (!date.isValid()) {
53
42
  console.warn(`[TimeUtils] 无效的时间格式: ${timeStr}`);
54
43
  return 0;
55
44
  }
45
+
46
+ // 计算从00:00开始的分钟数
56
47
  return date.hour() * 60 + date.minute();
57
48
  }
49
+
50
+ /**
51
+ * 对时间点数组进行排序
52
+ * @param timePoints 时间点数组
53
+ * @returns 排序后的时间点数组
54
+ */
58
55
  function sortTimePoints(timePoints) {
59
56
  return timePoints.sort((a, b) => {
60
57
  const timeA = timeStringToMinutes(a);
61
58
  const timeB = timeStringToMinutes(b);
62
59
  return timeA - timeB;
63
60
  });
64
- }
65
- // Annotate the CommonJS export names for ESM import in node:
66
- 0 && (module.exports = {
67
- extractTimeFromDateTime,
68
- sortTimePoints,
69
- timeStringToMinutes
70
- });
61
+ }
@@ -0,0 +1,378 @@
1
+ import { Module, ModuleOptions, PisellCore } from '../../types';
2
+ import { BaseModule } from '../../modules/BaseModule';
3
+ import { BaseSalesOrderProduct, BaseSalesOrderProductIdentity, BaseSalesPaymentStatus, BaseSalesUpdateOrderProductQuantityParams, BaseSalesCalculateProductBookingPriceParams, BaseSalesPriceRecalculationContextChange, BaseSalesProductBookingPriceResult, BaseSalesQuotationCustomerScopeInfo, BaseSalesScanCodeResult } from './types';
4
+ import { OrderModule } from '../../modules/Order';
5
+ import type { AddProductBookingInput, LoadSalesDetailParams, OrderPaymentData, OrderPaymentSource, SendCustomerPayLinkParams, SyncPaymentsToOrderParams, SyncPaymentsToOrderResult, UpdateTempOrderCustomerInput, UpdateOrderBookingParams, UpdateOrderProductParams, OrderTempOrder, OrderSummary, OrderPromotionEvaluator, OrderGiftSelectResolver, OrderUnfulfilledPromotion, OrderLastGiftActions } from '../../modules/Order/types';
6
+ import type { SubmitPayloadEnhancer } from '../../modules/Order/utils';
7
+ import type { Discount } from '../../modules/Discount/types';
8
+ import { RequestPlugin, WindowPlugin } from '../../plugins';
9
+ export * from './types';
10
+ import { ProductList } from '../../modules/ProductList';
11
+ import { PaymentModule } from '../../modules/Payment';
12
+ import type { PaymentMethod } from '../../modules/Payment/types';
13
+ import type { SalesSummaryModule } from '../../modules/SalesSummary';
14
+ import type { ScheduleModule } from '../../modules/Schedule';
15
+ import { QuotationModule } from '../../modules/Quotation';
16
+ import type { ISalesDetail, ISalesDetailHeader, ISalesBooking, ISalesPayment, ISalesSurcharge } from './utils/parseSalesResponse';
17
+ import { AppPlugin } from '../../plugins/app';
18
+ import { type TransformBaseProductToOrderProductParams } from './utils/transformBaseProductToOrderProduct';
19
+ export interface BaseSalesState {
20
+ order?: OrderModule;
21
+ products?: ProductList;
22
+ payment?: PaymentModule;
23
+ salesSummary?: SalesSummaryModule;
24
+ schedule?: ScheduleModule;
25
+ quotation?: QuotationModule;
26
+ }
27
+ export type BaseSalesPrintLocalOrderReceiptParams = string | number;
28
+ export declare class BaseSalesImpl extends BaseModule implements Module {
29
+ protected defaultName: string;
30
+ protected defaultVersion: string;
31
+ isSolution: boolean;
32
+ protected initializeOptions: ModuleOptions;
33
+ protected logger: any;
34
+ protected appPlugin: AppPlugin;
35
+ protected store: BaseSalesState;
36
+ protected otherParams: Record<string, any>;
37
+ protected cacheId: string | undefined;
38
+ /**
39
+ * window / request 暴露为 public:现存外部工具(如 BookingTicket Scan)通过
40
+ * `solution.window` / `solution.request` 直接访问插件,保持原有契约不破坏。
41
+ */
42
+ window: WindowPlugin;
43
+ request: RequestPlugin;
44
+ protected currentSalesDetail: ISalesDetail | null;
45
+ protected discountConfigCacheKey: string | null;
46
+ protected hasManualDiscountSelection: boolean;
47
+ private readonly reusedSharedSubModuleNames;
48
+ private paymentMethodsCache;
49
+ private queuedAutoPaymentSync;
50
+ private autoPaymentSyncFlushing;
51
+ private autoPaymentSyncTimer;
52
+ private salesDetailLoadInFlightCount;
53
+ private salesDetailLoadSequence;
54
+ private salesDetailHydrateQueue;
55
+ private serverOrderChangeUnsubscribe;
56
+ private serverOrderChangeHydrateInFlight;
57
+ private queuedServerOrderChanges;
58
+ private serverOrderChangeSyncEnabled;
59
+ constructor(name?: string, version?: string);
60
+ /**
61
+ * 子类可覆盖此方法以追加/收敛要注册的子模块。
62
+ * 默认包含通用销售模块:products / order / salesSummary / schedule / payment / quotation。
63
+ */
64
+ protected getRegisteredModuleNames(): readonly string[];
65
+ private getReusableSharedSubModule;
66
+ private isScheduleListLoaded;
67
+ /**
68
+ * 记录信息日志
69
+ */
70
+ private logInfo;
71
+ /**
72
+ * 记录警告日志
73
+ */
74
+ private logWarning;
75
+ /**
76
+ * 记录错误日志
77
+ */
78
+ private logError;
79
+ private isCurrentSalesOrderRecord;
80
+ setServerOrderChangeSyncEnabled(enabled: boolean): void;
81
+ private queueLatestServerOrderChange;
82
+ private drainQueuedServerOrderChanges;
83
+ private syncCurrentSalesDetailFromServerOrderChange;
84
+ private registerServerOrderChangeSync;
85
+ private hydrateLatestLoadedSalesDetail;
86
+ private hydrateOrderPaymentNames;
87
+ get payment(): PaymentModule | undefined;
88
+ private getCurrentOrderCustomerId;
89
+ private normalizePriceContextCustomerId;
90
+ private applyQuotationScheduleResolver;
91
+ private loadQuotationForPriceQuery;
92
+ private getPriceQueryProductId;
93
+ private getPriceQuerySchedule;
94
+ private loadProductsForPriceQuery;
95
+ private loadProductForPriceQuery;
96
+ private getAuthoritativeBundleItems;
97
+ private findAuthoritativeBundleItem;
98
+ private getAuthoritativeBundleUnitPrice;
99
+ private mergeProductForPriceQuery;
100
+ protected getSubmitOrderSalesChannel(): string | undefined;
101
+ /**
102
+ * 工厂入口:根据子模块名实例化对应模块。
103
+ * 默认使用 BookingByStep 公共 `createModule`。子类若需引入额外类型(如 customer),
104
+ * 可覆盖此方法并把未识别的 name 委托给 `super.createSubModule(name)`。
105
+ */
106
+ protected createSubModule(moduleName: string): Module | null;
107
+ protected getSubModuleHooks(moduleName: string): any;
108
+ /**
109
+ * 构造传给 BaseSales 子模块的完整运行态参数,保证初始化和后续同步语义一致。
110
+ *
111
+ * @example
112
+ * const params = this.buildSubModuleOtherParams();
113
+ * this.core.registerModule(orderModule, { otherParams: params });
114
+ */
115
+ protected buildSubModuleOtherParams(): Record<string, any>;
116
+ /**
117
+ * 将父级 otherParams 的变更显式同步给已注册的子模块。
118
+ *
119
+ * @example
120
+ * await this.syncOtherParamsToSubModules({ channel: 'pos' });
121
+ */
122
+ protected syncOtherParamsToSubModules(changedParams: Record<string, any>, { cover }?: {
123
+ cover?: boolean;
124
+ }): Promise<void>;
125
+ /**
126
+ * 读取 sessionStorage[this.name][cacheId],作为子模块 initialState 的来源。
127
+ * sessionStorage 损坏时静默忽略,按空状态注册。
128
+ */
129
+ protected readSessionCacheData(): Record<string, any>;
130
+ protected getAppData<T>(key: string): T | undefined;
131
+ private syncAppDataToTempOrder;
132
+ initialize(core: PisellCore, options?: ModuleOptions): Promise<void>;
133
+ destroy(): Promise<void>;
134
+ /**
135
+ * 加载销售订单到统一 tempOrder 工作区。
136
+ * 统一通过 OrderModule 的 sales detail lookup 加载订单详情。
137
+ *
138
+ * 子类可在 `super.loadSalesDetail` 之后基于返回的 `sales` 做业务侧装配
139
+ * (比如把 `sales.customer` 写入 CustomerModule、emit 业务 hook 等)。
140
+ */
141
+ loadSalesDetail(orderIdOrParams: number | string | LoadSalesDetailParams): Promise<ISalesDetail>;
142
+ /** 获取当前已加载的销售详情(只读快照)。未加载过则返回 null。 */
143
+ getSalesOrder(): ISalesDetail | null;
144
+ /** 获取销售详情顶部业务字段(订单号/状态/金额等通用字段集合)。 */
145
+ getOrderHeader(): ISalesDetailHeader | null;
146
+ /** 获取所有 booking(含 root + children),按服务端原始顺序输出。 */
147
+ getBookings(): ISalesBooking[];
148
+ /** 获取根 booking(is_next === 0 / is_root === 1),多个时取第一个。 */
149
+ getRootBooking(): ISalesBooking | null;
150
+ /** 按 product_uid 反查 booking 列表(用于商品行 ↔ booking 映射)。 */
151
+ getChildBookingsByProductUid(productUid: string): ISalesBooking[];
152
+ /** 获取支付列表(已支付/退款等明细)。 */
153
+ getPayments(): ISalesPayment[];
154
+ /** 获取附加费用(运费/服务费/税费等)。 */
155
+ getSurcharges(): ISalesSurcharge[];
156
+ getTempOrder(): OrderTempOrder | null;
157
+ replaceTempOrder(tempOrder: OrderTempOrder): Promise<OrderTempOrder>;
158
+ getOrderIdentity(): import("../../modules/Order/types").OrderIdentitySnapshot | null;
159
+ getOrderSnapshot(): import("../../modules/Order/types").OrderSnapshot | null;
160
+ getOrderSyncState(): import("../../modules/Order/types").OrderSyncState;
161
+ getOrderAmountSnapshot(): import("../../modules/Order/types").OrderAmountSnapshot | null;
162
+ getTempOrderNote(): string;
163
+ updateTempOrderNote(note: string): string;
164
+ updateTempOrderNote(note: string, sync: true): Promise<string>;
165
+ updateTempOrderNote(note: string, sync: boolean): string | Promise<string>;
166
+ updateRemoteOrderNote(orderId: number | string, note: string): void;
167
+ updateTempOrderShopDiscount(amount: string | number): string;
168
+ updateTempOrderDepositAmount(amount: string | number): OrderSummary;
169
+ updateTempOrderContactsInfo(contactsInfo: Record<string, any> | null): Record<string, any> | null;
170
+ /** @deprecated OrderModule 不再负责 tempOrder localStorage 持久化。 */
171
+ setEnableTempOrderPersist(enabled: boolean): void;
172
+ /** 是否允许 saveDraft 写入 IndexedDB 草稿。 */
173
+ isTempOrderPersistEnabled(): boolean;
174
+ private ensureTempOrder;
175
+ addNewOrder(): Promise<OrderTempOrder>;
176
+ saveDraft(): Promise<void>;
177
+ restoreOrder(): Promise<OrderTempOrder>;
178
+ /**
179
+ * 仅清空 tempOrder 购物车行(products / bookings / discount_list)。
180
+ * 同步清空内存中的 salesDetail 商品/预约视图,避免编辑态仍读到旧 bookings。
181
+ */
182
+ clearOrderCartLines(): Promise<OrderTempOrder>;
183
+ getOrderProducts(): import("../../modules/Order/types").OrderProduct[];
184
+ getSummary(): Promise<OrderSummary>;
185
+ private getHistoricalProductDiscountList;
186
+ private isPersistedOrderProduct;
187
+ private mergeHistoricalDiscountList;
188
+ private shouldSkipAutoApplyFetchedDiscountsInEditMode;
189
+ private mergeCurrentDiscountSelectionState;
190
+ loadDiscountConfig(params?: {
191
+ customerId?: number;
192
+ action?: 'create' | 'edit';
193
+ }): Promise<{
194
+ productList: Record<string, any>[];
195
+ discountList: Discount[];
196
+ availableWalletIds: number[];
197
+ }>;
198
+ getAvailableWalletIds(): number[];
199
+ bestDiscount(cb?: (result: any) => void): Promise<{
200
+ productList: Record<string, any>[];
201
+ discountList: Discount[];
202
+ }>;
203
+ getDiscountList(): Discount[];
204
+ /** 读取 Discount 模块原始券列表(未经过 bookingTime 等过滤)。 */
205
+ getOriginalDiscountList(): Discount[];
206
+ /**
207
+ * 同步写入 Discount 模块的 discountList / originalDiscountList。
208
+ * 供 Holder 补全等场景在 OS store 层更新 machinecode holder 字段。
209
+ */
210
+ replaceDiscountStoreLists(params: {
211
+ discountList: Discount[];
212
+ originalDiscountList?: Discount[];
213
+ }): Promise<void>;
214
+ scanPromotionCode(code: string, customerId?: number): Promise<BaseSalesScanCodeResult>;
215
+ setDiscountSelected(params: {
216
+ discountId: number;
217
+ isSelected: boolean;
218
+ }): Promise<void>;
219
+ applyDiscountCalculationResult(result?: {
220
+ productList?: Record<string, any>[];
221
+ discountList?: Discount[];
222
+ }): Promise<void>;
223
+ submitScanOrder<T = any>(params?: {
224
+ payments?: OrderPaymentSource[];
225
+ paymentStatus?: BaseSalesPaymentStatus;
226
+ smallTicketDataFlag?: number;
227
+ confirmPendingVoucherPayments?: boolean;
228
+ enhancePayload?: SubmitPayloadEnhancer;
229
+ }): Promise<T>;
230
+ /**
231
+ * 提交当前 Sales 订单。
232
+ *
233
+ * PaymentModal 场景通过 smallTicketDataFlag=1 请求 B 端小票数据;
234
+ * payments 会交给 OrderModule 统一映射为 Sales 协议支付项。
235
+ */
236
+ submitSalesOrder<T = any>(params?: {
237
+ payments?: OrderPaymentSource[];
238
+ paymentStatus?: BaseSalesPaymentStatus;
239
+ smallTicketDataFlag?: number;
240
+ confirmPendingVoucherPayments?: boolean;
241
+ enhancePayload?: SubmitPayloadEnhancer;
242
+ }): Promise<T>;
243
+ submitTempOrderAsync<T = any>(params?: {
244
+ payments?: OrderPaymentSource[];
245
+ paymentStatus?: BaseSalesPaymentStatus;
246
+ smallTicketDataFlag?: number;
247
+ confirmPendingVoucherPayments?: boolean;
248
+ enhancePayload?: SubmitPayloadEnhancer;
249
+ }): Promise<T>;
250
+ /**
251
+ * 默认保持 WebPOS 的本地待同步订单模式;需要云端确认后才算成功的渠道可覆盖此策略。
252
+ * otherParams.checkoutSyncTaskEnabled 优先,便于同一 solution 按入口恢复旧行为。
253
+ */
254
+ protected shouldUseCheckoutSyncTask(): boolean;
255
+ /** 可由特定 solution 为真实 checkout 补充默认收据数据请求。 */
256
+ protected getDefaultCheckoutSmallTicketDataFlag(): number | undefined;
257
+ printLocalOrderReceipt<T = any>(lookup?: BaseSalesPrintLocalOrderReceiptParams): Promise<T>;
258
+ private getSubmitPaymentStatus;
259
+ syncPaymentsToOrder<T = any>(params: SyncPaymentsToOrderParams): Promise<SyncPaymentsToOrderResult<T>>;
260
+ /** 读取当前 BaseSales 订单上下文中的 Sales 协议支付项。 */
261
+ getOrderPayments(): OrderPaymentData[];
262
+ /** 覆盖当前订单支付项,内部由 OrderModule 清洗为 Sales 协议字段。 */
263
+ setOrderPayments(payments: OrderPaymentSource[]): OrderPaymentData[];
264
+ private getPaymentStatusForSync;
265
+ private queueLatestAutoPaymentSync;
266
+ private scheduleQueuedAutoPaymentSyncFlush;
267
+ private flushQueuedAutoPaymentSync;
268
+ /** 追加单个支付项到当前订单。 */
269
+ addOrderPayment(payment: OrderPaymentSource): OrderPaymentData[];
270
+ /** 更新当前订单中的指定支付项。 */
271
+ updateOrderPayment(paymentIdentity: string | number, updates: Partial<OrderPaymentData> & Record<string, any>): OrderPaymentData[];
272
+ /** 删除当前订单中的指定支付项。 */
273
+ deleteOrderPayment(paymentIdentity: string | number): OrderPaymentData[];
274
+ /** 覆盖 wallet pass 支付项,同时保留普通支付项。 */
275
+ updateVoucherOrderPayments(payments: OrderPaymentSource[], options?: {
276
+ status?: 'paid' | 'payment_pending';
277
+ }): OrderPaymentData[];
278
+ confirmPendingVoucherPayments(): OrderPaymentData[];
279
+ discardPendingVoucherPayments(): OrderPaymentData[];
280
+ private getWalletProductList;
281
+ initWalletData(params?: {
282
+ order_wait_pay_amount?: number;
283
+ }): Promise<import("../../modules/Payment").WalletInitializationResult>;
284
+ /**
285
+ * 更新当前订单客户字段。
286
+ *
287
+ * 这是 PaymentModal 客户切换的订单事实入口;外部客户模块同步应由
288
+ * 调用方通过 onCustomerChange 回调完成。
289
+ */
290
+ updateOrderCustomer(customer: UpdateTempOrderCustomerInput): {
291
+ customerId: number | null;
292
+ customerName: string;
293
+ phone: string;
294
+ email: string;
295
+ };
296
+ /** 获取可用支付方式列表,供 PaymentModal 渲染支付选项。 */
297
+ getPaymentMethodsAsync(): Promise<PaymentMethod[]>;
298
+ /** 同步读取初始化时缓存的支付方式列表。 */
299
+ getPaymentMethods(): PaymentMethod[];
300
+ /** 轻量舍入能力,供现金支付 UI 计算 rounding_amount。 */
301
+ roundAmount(params: {
302
+ amount: string | number;
303
+ interval?: string | number;
304
+ rule?: 'standard_rounding' | 'standard_down' | 'always_up' | 'always_down' | string;
305
+ }): {
306
+ originalAmount: string;
307
+ roundedAmount: string;
308
+ roundingDifference: string;
309
+ };
310
+ /**
311
+ * 发送支付链接。
312
+ *
313
+ * 如果没有 orderIds 或显式 submitBeforeSend,会先提交当前本地订单到云端;
314
+ * 只有成功拿到远端 order_id 后才调用 OrderModule 发送邮件。
315
+ */
316
+ sendCustomerPayLink<T = any>(params: Omit<SendCustomerPayLinkParams, 'orderIds' | 'order_ids'> & {
317
+ orderIds?: Array<number | string>;
318
+ order_ids?: Array<number | string>;
319
+ submitBeforeSend?: boolean;
320
+ }): Promise<T>;
321
+ transformBaseProductToOrderProduct(params: TransformBaseProductToOrderProductParams): import("./utils/transformBaseProductToOrderProduct").BaseProductOrderProductInput | null;
322
+ calculateProductBookingPrice(params: BaseSalesCalculateProductBookingPriceParams): Promise<BaseSalesProductBookingPriceResult>;
323
+ getQuotationCustomerScopeInfo(): BaseSalesQuotationCustomerScopeInfo;
324
+ shouldRecalculateProductBookingPricesForContextChange(params: BaseSalesPriceRecalculationContextChange): boolean;
325
+ calculateProductBookingPrices(paramsList: BaseSalesCalculateProductBookingPriceParams[]): Promise<BaseSalesProductBookingPriceResult[]>;
326
+ addProductToOrder(product: Partial<BaseSalesOrderProduct> & BaseSalesOrderProductIdentity, booking?: AddProductBookingInput): Promise<import("../../modules/Order/types").OrderProduct[]>;
327
+ updateOrderProduct(params: UpdateOrderProductParams): Promise<import("../../modules/Order/types").OrderProduct[]>;
328
+ updateOrderProducts(paramsList: UpdateOrderProductParams[]): Promise<import("../../modules/Order/types").OrderProduct[]>;
329
+ updateOrderProductQuantity(params: BaseSalesUpdateOrderProductQuantityParams): Promise<import("../../modules/Order/types").OrderProduct[]>;
330
+ updateOrderBooking(params: UpdateOrderBookingParams): any[];
331
+ /**
332
+ * 设置单行商品备注(与整单 `updateTempOrderNote` 区分)。
333
+ * 多行同 SKU 时必须传入与删除/更新一致的 unique_identification_number。
334
+ */
335
+ setOrderProductLineNote(identity: BaseSalesOrderProductIdentity, note: string): Promise<import("../../modules/Order/types").OrderProduct[]>;
336
+ /**
337
+ * 批量删除购物车行,末尾仅一次促销重算。
338
+ *
339
+ * @example
340
+ * await baseSales.removeProductsFromOrder([identityA, identityB]);
341
+ */
342
+ removeProductsFromOrder(identities: BaseSalesOrderProductIdentity[]): Promise<import("../../modules/Order/types").OrderProduct[]>;
343
+ removeProductFromOrder(identity: BaseSalesOrderProductIdentity): Promise<import("../../modules/Order/types").OrderProduct[]>;
344
+ /**
345
+ * 注入促销评估器到底层 OrderModule。
346
+ *
347
+ * @example
348
+ * solution.setPromotionEvaluator(appHelper.utils.promotionEvaluator);
349
+ */
350
+ setPromotionEvaluator(evaluator: OrderPromotionEvaluator | null): void;
351
+ /**
352
+ * 注入赠品选择 resolver。UI 层(SalesSdk)通过 bridge 提供。
353
+ *
354
+ * @example
355
+ * solution.setGiftSelectResolver(async (ctx) => bridge.request(ctx));
356
+ */
357
+ setGiftSelectResolver(resolver: OrderGiftSelectResolver | null): void;
358
+ /**
359
+ * 为商品目录追加促销标签,供 SalesSdkProductProvider 等商品列表入口复用。
360
+ *
361
+ * @example
362
+ * const products = solution.appendPromotionTags(catalogProducts);
363
+ */
364
+ appendPromotionTags<T extends Record<string, any>>(products: T[]): T[];
365
+ /**
366
+ * 主动触发一次促销应用(一般写路径会自动触发,少数场景如客户切换后可手动调)。
367
+ */
368
+ applyPromotion(): Promise<void>;
369
+ /** 最近一次促销计算输出的未满足提示。 */
370
+ getUnfulfilledPromotions(): OrderUnfulfilledPromotion[];
371
+ /** 最近一次促销计算输出的赠品操作 diff。 */
372
+ getLastGiftActions(): OrderLastGiftActions | null;
373
+ getProductList(): Promise<any>;
374
+ getOtherParams(): Record<string, any>;
375
+ setOtherParams(params: Record<string, any>, { cover }?: {
376
+ cover?: boolean;
377
+ }): Promise<void>;
378
+ }