@pisell/pisellos 2.3.42 → 2.3.44

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 (157) hide show
  1. package/dist/modules/Discount/index.d.ts +1 -0
  2. package/dist/modules/Discount/index.js +40 -11
  3. package/dist/modules/Discount/types.d.ts +1 -0
  4. package/dist/modules/Holder/index.d.ts +48 -0
  5. package/dist/modules/Holder/index.js +640 -0
  6. package/dist/modules/Holder/types.d.ts +123 -0
  7. package/dist/modules/Holder/types.js +1 -0
  8. package/dist/modules/Holder/utils.d.ts +13 -0
  9. package/dist/modules/Holder/utils.js +34 -0
  10. package/dist/modules/OpenData/index.js +2 -2
  11. package/dist/modules/Order/index.d.ts +5 -2
  12. package/dist/modules/Order/index.js +127 -53
  13. package/dist/modules/Order/types.d.ts +11 -0
  14. package/dist/modules/Order/utils.d.ts +10 -0
  15. package/dist/modules/Order/utils.js +35 -3
  16. package/dist/modules/Payment/walletpass.d.ts +10 -3
  17. package/dist/modules/Payment/walletpass.js +425 -282
  18. package/dist/modules/Product/types.d.ts +1 -0
  19. package/dist/modules/ProductList/index.js +33 -14
  20. package/dist/modules/Quotation/index.d.ts +1 -1
  21. package/dist/modules/Quotation/index.js +2 -2
  22. package/dist/modules/ResourcePlanner/index.d.ts +24 -0
  23. package/dist/modules/ResourcePlanner/index.js +181 -0
  24. package/dist/modules/ResourcePlanner/planner.d.ts +14 -0
  25. package/dist/modules/ResourcePlanner/planner.js +1069 -0
  26. package/dist/modules/ResourcePlanner/types.d.ts +227 -0
  27. package/dist/modules/ResourcePlanner/types.js +1 -0
  28. package/dist/modules/Rules/index.d.ts +2 -0
  29. package/dist/modules/Rules/index.js +106 -68
  30. package/dist/modules/SalesSummary/index.js +12 -13
  31. package/dist/modules/ScanOrderLogger/index.d.ts +2 -0
  32. package/dist/modules/ScanOrderLogger/index.js +15 -2
  33. package/dist/modules/ScanOrderLogger/providers/feishu.js +45 -27
  34. package/dist/modules/ScanOrderLogger/types.d.ts +1 -0
  35. package/dist/modules/Schedule/index.d.ts +3 -1
  36. package/dist/modules/Schedule/index.js +21 -16
  37. package/dist/modules/Summary/utils.js +38 -13
  38. package/dist/modules/index.d.ts +2 -0
  39. package/dist/modules/index.js +3 -1
  40. package/dist/plugins/window.d.ts +1 -0
  41. package/dist/server/index.d.ts +14 -0
  42. package/dist/server/index.js +772 -657
  43. package/dist/solution/BaseSales/index.d.ts +7 -0
  44. package/dist/solution/BaseSales/index.js +70 -45
  45. package/dist/solution/BaseSales/types.d.ts +3 -1
  46. package/dist/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +6 -3
  47. package/dist/solution/BookingByStep/index.d.ts +17 -2
  48. package/dist/solution/BookingByStep/index.js +294 -215
  49. package/dist/solution/BookingByStep/types.d.ts +2 -1
  50. package/dist/solution/BookingByStep/types.js +3 -1
  51. package/dist/solution/BookingByStep/utils/capacity.js +17 -1
  52. package/dist/solution/BookingByStep/utils/timeslots.d.ts +3 -1
  53. package/dist/solution/BookingByStep/utils/timeslots.js +19 -12
  54. package/dist/solution/BookingTicket/index.js +8 -5
  55. package/dist/solution/BookingTicket/types.d.ts +1 -0
  56. package/dist/solution/BookingTicket/utils/scan/applyGlobalScan.js +3 -3
  57. package/dist/solution/BookingTicket/utils/scan/handleScan.d.ts +3 -1
  58. package/dist/solution/BookingTicket/utils/scan/handleScan.js +10 -2
  59. package/dist/solution/ScanOrder/index.d.ts +26 -14
  60. package/dist/solution/ScanOrder/index.js +1142 -739
  61. package/dist/solution/ScanOrder/types.d.ts +21 -1
  62. package/dist/solution/ScanOrder/utils.d.ts +8 -0
  63. package/dist/solution/ScanOrder/utils.js +66 -25
  64. package/dist/solution/ShopDiscount/index.d.ts +1 -0
  65. package/dist/solution/ShopDiscount/index.js +125 -87
  66. package/dist/solution/UnifiedBookingSales/index.d.ts +183 -0
  67. package/dist/solution/UnifiedBookingSales/index.js +1891 -0
  68. package/dist/solution/UnifiedBookingSales/types.d.ts +143 -0
  69. package/dist/solution/UnifiedBookingSales/types.js +11 -0
  70. package/dist/solution/VenueBooking/index.d.ts +40 -11
  71. package/dist/solution/VenueBooking/index.js +1167 -841
  72. package/dist/solution/VenueBooking/types.d.ts +3 -0
  73. package/dist/solution/VenueBooking/utils/resource.js +1 -0
  74. package/dist/solution/VenueBooking/utils/slotMerge.d.ts +4 -4
  75. package/dist/solution/VenueBooking/utils/slotMerge.js +10 -5
  76. package/dist/solution/index.d.ts +1 -0
  77. package/dist/solution/index.js +2 -1
  78. package/dist/types/index.d.ts +1 -0
  79. package/lib/modules/Discount/index.d.ts +1 -0
  80. package/lib/modules/Discount/index.js +9 -0
  81. package/lib/modules/Discount/types.d.ts +1 -0
  82. package/lib/modules/Holder/index.d.ts +48 -0
  83. package/lib/modules/Holder/index.js +402 -0
  84. package/lib/modules/Holder/types.d.ts +123 -0
  85. package/lib/modules/Holder/types.js +17 -0
  86. package/lib/modules/Holder/utils.d.ts +13 -0
  87. package/lib/modules/Holder/utils.js +71 -0
  88. package/lib/modules/OpenData/index.js +1 -1
  89. package/lib/modules/Order/index.d.ts +5 -2
  90. package/lib/modules/Order/index.js +72 -17
  91. package/lib/modules/Order/types.d.ts +11 -0
  92. package/lib/modules/Order/utils.d.ts +10 -0
  93. package/lib/modules/Order/utils.js +36 -5
  94. package/lib/modules/Payment/walletpass.d.ts +10 -3
  95. package/lib/modules/Payment/walletpass.js +218 -56
  96. package/lib/modules/Product/types.d.ts +1 -0
  97. package/lib/modules/ProductList/index.js +40 -31
  98. package/lib/modules/Quotation/index.d.ts +1 -1
  99. package/lib/modules/Quotation/index.js +2 -2
  100. package/lib/modules/ResourcePlanner/index.d.ts +24 -0
  101. package/lib/modules/ResourcePlanner/index.js +148 -0
  102. package/lib/modules/ResourcePlanner/planner.d.ts +14 -0
  103. package/lib/modules/ResourcePlanner/planner.js +933 -0
  104. package/lib/modules/ResourcePlanner/types.d.ts +227 -0
  105. package/lib/modules/ResourcePlanner/types.js +17 -0
  106. package/lib/modules/Rules/index.d.ts +2 -0
  107. package/lib/modules/Rules/index.js +41 -19
  108. package/lib/modules/SalesSummary/index.js +6 -7
  109. package/lib/modules/ScanOrderLogger/index.d.ts +2 -0
  110. package/lib/modules/ScanOrderLogger/index.js +13 -1
  111. package/lib/modules/ScanOrderLogger/providers/feishu.js +15 -6
  112. package/lib/modules/ScanOrderLogger/types.d.ts +1 -0
  113. package/lib/modules/Schedule/index.d.ts +3 -1
  114. package/lib/modules/Schedule/index.js +10 -8
  115. package/lib/modules/Summary/utils.js +21 -1
  116. package/lib/modules/index.d.ts +2 -0
  117. package/lib/modules/index.js +5 -1
  118. package/lib/plugins/window.d.ts +1 -0
  119. package/lib/server/index.d.ts +14 -0
  120. package/lib/server/index.js +65 -5
  121. package/lib/solution/BaseSales/index.d.ts +7 -0
  122. package/lib/solution/BaseSales/index.js +25 -8
  123. package/lib/solution/BaseSales/types.d.ts +3 -1
  124. package/lib/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +3 -2
  125. package/lib/solution/BookingByStep/index.d.ts +17 -2
  126. package/lib/solution/BookingByStep/index.js +60 -18
  127. package/lib/solution/BookingByStep/types.d.ts +2 -1
  128. package/lib/solution/BookingByStep/types.js +5 -0
  129. package/lib/solution/BookingByStep/utils/capacity.js +20 -1
  130. package/lib/solution/BookingByStep/utils/timeslots.d.ts +3 -1
  131. package/lib/solution/BookingByStep/utils/timeslots.js +19 -11
  132. package/lib/solution/BookingTicket/index.js +11 -2
  133. package/lib/solution/BookingTicket/types.d.ts +1 -0
  134. package/lib/solution/BookingTicket/utils/scan/applyGlobalScan.js +2 -2
  135. package/lib/solution/BookingTicket/utils/scan/handleScan.d.ts +3 -1
  136. package/lib/solution/BookingTicket/utils/scan/handleScan.js +2 -2
  137. package/lib/solution/ScanOrder/index.d.ts +26 -14
  138. package/lib/solution/ScanOrder/index.js +449 -182
  139. package/lib/solution/ScanOrder/types.d.ts +21 -1
  140. package/lib/solution/ScanOrder/utils.d.ts +8 -0
  141. package/lib/solution/ScanOrder/utils.js +31 -0
  142. package/lib/solution/ShopDiscount/index.d.ts +1 -0
  143. package/lib/solution/ShopDiscount/index.js +14 -0
  144. package/lib/solution/UnifiedBookingSales/index.d.ts +183 -0
  145. package/lib/solution/UnifiedBookingSales/index.js +1084 -0
  146. package/lib/solution/UnifiedBookingSales/types.d.ts +143 -0
  147. package/lib/solution/UnifiedBookingSales/types.js +33 -0
  148. package/lib/solution/VenueBooking/index.d.ts +40 -11
  149. package/lib/solution/VenueBooking/index.js +322 -110
  150. package/lib/solution/VenueBooking/types.d.ts +3 -0
  151. package/lib/solution/VenueBooking/utils/resource.js +1 -0
  152. package/lib/solution/VenueBooking/utils/slotMerge.d.ts +4 -4
  153. package/lib/solution/VenueBooking/utils/slotMerge.js +6 -4
  154. package/lib/solution/index.d.ts +1 -0
  155. package/lib/solution/index.js +3 -1
  156. package/lib/types/index.d.ts +1 -0
  157. package/package.json +1 -1
@@ -0,0 +1,227 @@
1
+ export type ResourcePlannerMode = 'appointment' | 'scan_order' | 'venue_grid';
2
+ export type ResourcePlannerProductKind = 'normal' | 'duration' | 'session' | 'venue_slot';
3
+ export type ResourcePlannerResourceType = 'single' | 'multiple' | 'capacity';
4
+ export type ResourcePlannerStatus = 'available' | 'limited' | 'full' | 'conflict' | 'unavailable' | 'past';
5
+ export interface ResourcePlannerTimeRange {
6
+ start_at: string;
7
+ end_at: string;
8
+ }
9
+ export interface ResourcePlannerEvent extends ResourcePlannerTimeRange {
10
+ resourceId?: number | string;
11
+ resource_id?: number | string;
12
+ pax?: number;
13
+ product_uid?: string;
14
+ source?: 'remote' | 'cart' | 'selection';
15
+ [key: string]: any;
16
+ }
17
+ export interface ResourcePlannerResourceRequirement {
18
+ formId?: number | string;
19
+ resourceIds?: Array<number | string>;
20
+ resourceType?: ResourcePlannerResourceType;
21
+ capacityRequired?: number;
22
+ required?: boolean;
23
+ }
24
+ export interface ResourcePlannerProduct {
25
+ id: number | string;
26
+ title?: string;
27
+ kind: ResourcePlannerProductKind;
28
+ durationMinutes?: number;
29
+ schedule?: ResourcePlannerTimeRange[];
30
+ resourceRequirements?: ResourcePlannerResourceRequirement[];
31
+ capacityRequired?: number;
32
+ quantity?: number;
33
+ price?: string | number | null;
34
+ raw?: Record<string, any>;
35
+ }
36
+ export interface ResourcePlannerResource {
37
+ id: number | string;
38
+ formId?: number | string;
39
+ name?: string;
40
+ resourceType: ResourcePlannerResourceType;
41
+ capacity: number;
42
+ times: Array<ResourcePlannerTimeRange & {
43
+ event_list?: ResourcePlannerEvent[];
44
+ [key: string]: any;
45
+ }>;
46
+ childResourceIds?: Array<number | string>;
47
+ raw?: Record<string, any>;
48
+ }
49
+ export interface ResourcePlannerContextInput {
50
+ products?: ResourcePlannerProduct[];
51
+ resources?: ResourcePlannerResource[];
52
+ externalEvents?: ResourcePlannerEvent[];
53
+ slotDurationMinutes?: number;
54
+ businessStartTime?: string;
55
+ businessEndTime?: string;
56
+ }
57
+ export interface ResourcePlannerQuery {
58
+ mode?: ResourcePlannerMode;
59
+ productIds?: Array<number | string>;
60
+ date?: string;
61
+ dateRange?: {
62
+ start: string;
63
+ end: string;
64
+ };
65
+ startTime?: string;
66
+ endTime?: string;
67
+ resourceIds?: Array<number | string>;
68
+ serviceObjectIds?: Array<number | string>;
69
+ holderIds?: Array<number | string>;
70
+ pax?: number;
71
+ slotDurationMinutes?: number;
72
+ }
73
+ export interface ResourcePlannerSelection {
74
+ productIds: Array<number | string>;
75
+ date?: string;
76
+ startTime?: string;
77
+ endTime?: string;
78
+ resourceIds: Array<number | string>;
79
+ assignments: ResourcePlannerAssignment[];
80
+ mode?: ResourcePlannerMode;
81
+ }
82
+ export interface ResourcePlannerSelectionPatch extends Partial<ResourcePlannerSelection> {
83
+ replaceAssignments?: boolean;
84
+ }
85
+ export interface ResourcePlannerDemandInterval {
86
+ id: string;
87
+ productId: number | string;
88
+ source: Extract<ResourcePlannerProductKind, 'duration' | 'session' | 'venue_slot'>;
89
+ date: string;
90
+ start_at: string;
91
+ end_at: string;
92
+ durationMinutes: number;
93
+ quantity: number;
94
+ capacityRequired: number;
95
+ resourceRequirements: ResourcePlannerResourceRequirement[];
96
+ }
97
+ export interface ResourcePlannerConflict {
98
+ type: 'outside_resource_time' | 'remote_event_overlap' | 'cart_overlap' | 'capacity_full' | 'missing_time' | 'missing_resource' | 'missing_assignment' | 'past';
99
+ message: string;
100
+ event?: ResourcePlannerEvent;
101
+ resourceId?: number | string;
102
+ productId?: number | string;
103
+ }
104
+ export interface ResourcePlannerAvailabilityCell {
105
+ key: string;
106
+ productId: number | string;
107
+ resourceId?: number | string;
108
+ date?: string;
109
+ start_at: string;
110
+ end_at: string;
111
+ startTime?: string;
112
+ endTime?: string;
113
+ durationMinutes?: number;
114
+ cellType: 'availability_range' | 'fixed_interval' | 'unavailable';
115
+ status: ResourcePlannerStatus;
116
+ remainingCapacity?: number;
117
+ maxCapacity?: number;
118
+ reasonCodes: string[];
119
+ conflicts: ResourcePlannerConflict[];
120
+ }
121
+ export interface ResourcePlannerProductOption {
122
+ productId: number | string;
123
+ title?: string;
124
+ status: ResourcePlannerStatus;
125
+ reasonCodes: string[];
126
+ }
127
+ export interface ResourcePlannerResourceOption {
128
+ resourceId: number | string;
129
+ resourceName?: string;
130
+ resourceFormId?: number | string;
131
+ resourceType: ResourcePlannerResourceType;
132
+ status: ResourcePlannerStatus;
133
+ remainingCapacity?: number;
134
+ maxCapacity?: number;
135
+ reasonCodes: string[];
136
+ }
137
+ export interface ResourcePlannerDateSummary {
138
+ date: string;
139
+ status: ResourcePlannerStatus;
140
+ availableCount: number;
141
+ totalCount: number;
142
+ }
143
+ export interface ResourcePlannerTimeSlot {
144
+ startTime: string;
145
+ endTime: string;
146
+ status: ResourcePlannerStatus;
147
+ resourceId: number | string;
148
+ productId?: number | string;
149
+ remainingCapacity?: number;
150
+ maxCapacity?: number;
151
+ reasonCodes: string[];
152
+ }
153
+ export interface ResourcePlannerTimeGridRow {
154
+ resourceId: number | string;
155
+ resourceName?: string;
156
+ resourceFormId?: number | string;
157
+ slots: ResourcePlannerTimeSlot[];
158
+ }
159
+ export interface ResourcePlannerTimeGrid {
160
+ date?: string;
161
+ timeLabels: string[];
162
+ resources: ResourcePlannerTimeGridRow[];
163
+ }
164
+ export interface ResourcePlannerProjection {
165
+ query: ResourcePlannerQuery;
166
+ demandIntervals: ResourcePlannerDemandInterval[];
167
+ productOptions: ResourcePlannerProductOption[];
168
+ resourceOptions: ResourcePlannerResourceOption[];
169
+ dateSummary: ResourcePlannerDateSummary[];
170
+ timeGrid: ResourcePlannerTimeGrid;
171
+ cells: ResourcePlannerAvailabilityCell[];
172
+ }
173
+ export interface ResourcePlannerAssignment {
174
+ productId: number | string;
175
+ resourceId: number | string;
176
+ start_at: string;
177
+ end_at: string;
178
+ capacityRequired?: number;
179
+ }
180
+ export interface ResourcePlannerAssignableSlotResource {
181
+ resourceId: number | string;
182
+ resourceName?: string;
183
+ resourceFormId?: number | string;
184
+ resourceType?: ResourcePlannerResourceType;
185
+ capacityRequired?: number;
186
+ remainingCapacity?: number;
187
+ maxCapacity?: number;
188
+ }
189
+ export interface ResourcePlannerAssignableSlot {
190
+ key: string;
191
+ productId: number | string;
192
+ date: string;
193
+ start_at: string;
194
+ end_at: string;
195
+ startTime: string;
196
+ endTime: string;
197
+ durationMinutes: number;
198
+ status: ResourcePlannerStatus;
199
+ resources: ResourcePlannerAssignableSlotResource[];
200
+ assignments: ResourcePlannerAssignment[];
201
+ conflicts: ResourcePlannerConflict[];
202
+ }
203
+ export interface ResourcePlannerAssignableSlotResult {
204
+ projection: ResourcePlannerProjection;
205
+ slots: ResourcePlannerAssignableSlot[];
206
+ conflicts: ResourcePlannerConflict[];
207
+ }
208
+ export interface ResourcePlannerAssignmentResult {
209
+ assignments: ResourcePlannerAssignment[];
210
+ conflicts: ResourcePlannerConflict[];
211
+ }
212
+ export interface ResourcePlannerValidationResult {
213
+ ok: boolean;
214
+ conflicts: ResourcePlannerConflict[];
215
+ }
216
+ export interface ResourcePlannerSnapshot {
217
+ context: Required<ResourcePlannerContextInput>;
218
+ selection: ResourcePlannerSelection;
219
+ projection: ResourcePlannerProjection | null;
220
+ version: number;
221
+ }
222
+ export interface ResourcePlannerState {
223
+ context: Required<ResourcePlannerContextInput>;
224
+ selection: ResourcePlannerSelection;
225
+ projection: ResourcePlannerProjection | null;
226
+ version: number;
227
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -27,6 +27,8 @@ export declare class RulesModule extends BaseModule implements Module, RulesModu
27
27
  }): {
28
28
  isAvailable: boolean;
29
29
  discountList: Discount[];
30
+ /** 完整规则计算后的列表;调用方可用于保留暂时无适用商品的扫码卡券。 */
31
+ evaluatedDiscountList?: Discount[];
30
32
  productList: any[];
31
33
  unavailableReason?: UnavailableReason;
32
34
  };