@freedom_sky/feige-lib 5.22.0 → 5.23.0

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 (165) hide show
  1. package/.eslintignore +2 -2
  2. package/.eslintrc.js +15 -15
  3. package/.prettierrc.js +6 -6
  4. package/AGENTS.md +75 -75
  5. package/CHANGE.md +38 -34
  6. package/azure-pipelines-release.yml +56 -0
  7. package/dist/announcement/enum/announcement.enum.d.ts +11 -11
  8. package/dist/announcement/enum/announcement.enum.js +15 -15
  9. package/dist/buffet/index.d.ts +46 -46
  10. package/dist/buffet/index.js +95 -95
  11. package/dist/const/const.d.ts +372 -370
  12. package/dist/const/const.js +2387 -2374
  13. package/dist/enum/ai-token.enum.d.ts +10 -10
  14. package/dist/enum/ai-token.enum.js +14 -14
  15. package/dist/enum/checkout.enum.d.ts +13 -13
  16. package/dist/enum/checkout.enum.js +17 -17
  17. package/dist/enum/common.enum.d.ts +18 -14
  18. package/dist/enum/common.enum.js +23 -18
  19. package/dist/enum/continent.enum.d.ts +8 -8
  20. package/dist/enum/continent.enum.js +11 -11
  21. package/dist/enum/dish.enum.d.ts +4 -4
  22. package/dist/enum/dish.enum.js +7 -7
  23. package/dist/enum/from.enum.d.ts +14 -14
  24. package/dist/enum/from.enum.js +17 -17
  25. package/dist/enum/member.enum.d.ts +16 -16
  26. package/dist/enum/member.enum.js +21 -21
  27. package/dist/enum/menu-io.enum.d.ts +4 -4
  28. package/dist/enum/menu-io.enum.js +7 -7
  29. package/dist/enum/order.enum.d.ts +7 -7
  30. package/dist/enum/order.enum.js +10 -10
  31. package/dist/enum/pay-company.enum.d.ts +4 -4
  32. package/dist/enum/pay-company.enum.js +7 -7
  33. package/dist/enum/printer.enum.d.ts +36 -36
  34. package/dist/enum/printer.enum.js +45 -45
  35. package/dist/enum/receptionist.enum.d.ts +8 -8
  36. package/dist/enum/receptionist.enum.js +11 -11
  37. package/dist/enum/reservation.enum.d.ts +5 -5
  38. package/dist/enum/reservation.enum.js +8 -8
  39. package/dist/enum/role.enum.d.ts +7 -7
  40. package/dist/enum/role.enum.js +10 -10
  41. package/dist/enum/sms.enum.d.ts +14 -14
  42. package/dist/enum/sms.enum.js +18 -18
  43. package/dist/enum/tax.enum.d.ts +4 -4
  44. package/dist/enum/tax.enum.js +7 -7
  45. package/dist/enum/time-menu.enum.d.ts +4 -4
  46. package/dist/enum/time-menu.enum.js +7 -7
  47. package/dist/enum/timezone.emum.d.ts +33 -33
  48. package/dist/enum/timezone.emum.js +36 -36
  49. package/dist/enum/user-status.enum.d.ts +9 -9
  50. package/dist/enum/user-status.enum.js +12 -12
  51. package/dist/enum/visit-task.enum.d.ts +13 -13
  52. package/dist/enum/visit-task.enum.js +17 -17
  53. package/dist/enum/yeepay.enum.d.ts +22 -22
  54. package/dist/enum/yeepay.enum.js +30 -30
  55. package/dist/index.d.ts +203 -202
  56. package/dist/index.js +564 -562
  57. package/dist/interfaces/common/language.interface.d.ts +13 -13
  58. package/dist/interfaces/common/language.interface.js +2 -2
  59. package/dist/interfaces/member/member-transaction.interface.d.ts +27 -27
  60. package/dist/interfaces/member/member-transaction.interface.js +2 -2
  61. package/dist/interfaces/member/member.interface.d.ts +16 -16
  62. package/dist/interfaces/member/member.interface.js +2 -2
  63. package/dist/interfaces/order/baseOrder.interface.d.ts +84 -84
  64. package/dist/interfaces/order/baseOrder.interface.js +2 -2
  65. package/dist/interfaces/order/buffetOrder.interface.d.ts +13 -13
  66. package/dist/interfaces/order/buffetOrder.interface.js +2 -2
  67. package/dist/interfaces/order/deliveryOrder.interface.d.ts +9 -9
  68. package/dist/interfaces/order/deliveryOrder.interface.js +2 -2
  69. package/dist/interfaces/order/index.d.ts +7 -7
  70. package/dist/interfaces/order/index.js +6 -6
  71. package/dist/interfaces/order/order.interface.d.ts +75 -75
  72. package/dist/interfaces/order/order.interface.js +17 -17
  73. package/dist/interfaces/order/pickupOrder.interface.d.ts +8 -8
  74. package/dist/interfaces/order/pickupOrder.interface.js +2 -2
  75. package/dist/interfaces/order/serialOrder.interface.d.ts +4 -4
  76. package/dist/interfaces/order/serialOrder.interface.js +2 -2
  77. package/dist/interfaces/order/tableOrder.interface.d.ts +7 -7
  78. package/dist/interfaces/order/tableOrder.interface.js +2 -2
  79. package/dist/interfaces/reservation/reservation.interface.d.ts +46 -46
  80. package/dist/interfaces/reservation/reservation.interface.js +2 -2
  81. package/dist/interfaces/store/classification.interface.d.ts +7 -7
  82. package/dist/interfaces/store/classification.interface.js +2 -2
  83. package/dist/interfaces/store/dish.interface.d.ts +18 -18
  84. package/dist/interfaces/store/dish.interface.js +2 -2
  85. package/dist/interfaces/store/dishSnapshot.interface.d.ts +11 -11
  86. package/dist/interfaces/store/dishSnapshot.interface.js +2 -2
  87. package/dist/interfaces/store/member.interface.d.ts +8 -8
  88. package/dist/interfaces/store/member.interface.js +2 -2
  89. package/dist/interfaces/store/menu-export.interface.d.ts +12 -12
  90. package/dist/interfaces/store/menu-export.interface.js +2 -2
  91. package/dist/interfaces/store/specification.interface.d.ts +17 -17
  92. package/dist/interfaces/store/specification.interface.js +2 -2
  93. package/dist/interfaces/store/store.interface.d.ts +300 -300
  94. package/dist/interfaces/store/store.interface.js +2 -2
  95. package/dist/interfaces/store/subscription.interface.d.ts +43 -43
  96. package/dist/interfaces/store/subscription.interface.js +2 -2
  97. package/dist/interfaces/user/user.interface.d.ts +139 -139
  98. package/dist/interfaces/user/user.interface.js +2 -2
  99. package/dist/interfaces/visit-task/visit-task.interface.d.ts +17 -17
  100. package/dist/interfaces/visit-task/visit-task.interface.js +2 -2
  101. package/dist/order/index.d.ts +22 -22
  102. package/dist/order/index.js +58 -58
  103. package/jest.config.js +189 -189
  104. package/josn-hub/orders/tax-have-price-bind-order.ts +381 -381
  105. package/josn-hub/orders/tax-order.ts +371 -371
  106. package/josn-hub/orders//346/225/264/345/215/225/344/273/267/346/240/274/351/203/275/346/230/257/350/264/237/346/225/260/347/232/204/346/203/205/345/206/265.ts +321 -321
  107. package/josn-hub/orders//346/234/211/344/270/200/344/270/252/350/217/234/347/232/204/344/273/267/346/240/274/346/230/257/350/264/237/346/225/260/347/232/204/346/203/205/345/206/265.ts +348 -348
  108. package/josn-hub/orders//347/202/271/344/272/206/344/270/215/345/212/240/344/273/267/345/222/214/345/233/272/345/256/232/345/212/240/345/207/217/344/273/267/350/247/204/346/240/274/347/232/204/350/256/242/345/215/225.ts +350 -350
  109. package/josn-hub/orders//347/202/271/344/272/206/345/233/272/345/256/232/345/212/240/344/273/267-/347/231/276/345/210/206/346/257/224/345/212/240/344/273/267/350/247/204/346/240/274/347/232/204/350/256/242/345/215/225.ts +301 -301
  110. package/josn-hub/orders//347/202/271/344/272/206/346/234/252/345/212/240/344/273/267/350/247/204/346/240/274/347/232/204/350/256/242/345/215/225.ts +321 -321
  111. package/josn-hub/orders//347/202/271/344/272/206/346/234/252/345/212/240/344/273/267/350/247/204/346/240/274/347/232/204/350/256/242/345/215/225/345/271/266/346/234/211/351/205/215/351/200/201/350/264/271.ts +159 -159
  112. package/josn-hub/orders//350/207/252/345/212/251/351/244/220/347/232/204/346/203/205/345/206/265.ts +665 -665
  113. package/josn-hub/orders//351/203/250/345/210/206/351/200/200/350/217/234/347/232/204/346/203/205/345/206/265.ts +73 -73
  114. package/package.json +59 -59
  115. package/src/announcement/enum/announcement.enum.ts +12 -12
  116. package/src/buffet/index.ts +123 -123
  117. package/src/const/const.ts +2407 -2394
  118. package/src/enum/ai-token.enum.ts +10 -10
  119. package/src/enum/checkout.enum.ts +14 -14
  120. package/src/enum/common.enum.ts +20 -15
  121. package/src/enum/continent.enum.ts +8 -8
  122. package/src/enum/dish.enum.ts +4 -4
  123. package/src/enum/from.enum.ts +14 -14
  124. package/src/enum/member.enum.ts +16 -16
  125. package/src/enum/menu-io.enum.ts +4 -4
  126. package/src/enum/order.enum.ts +7 -7
  127. package/src/enum/pay-company.enum.ts +4 -4
  128. package/src/enum/printer.enum.ts +40 -40
  129. package/src/enum/receptionist.enum.ts +8 -8
  130. package/src/enum/reservation.enum.ts +5 -5
  131. package/src/enum/role.enum.ts +7 -7
  132. package/src/enum/sms.enum.ts +14 -14
  133. package/src/enum/tax.enum.ts +4 -4
  134. package/src/enum/time-menu.enum.ts +4 -4
  135. package/src/enum/timezone.emum.ts +33 -33
  136. package/src/enum/user-status.enum.ts +9 -9
  137. package/src/enum/visit-task.enum.ts +14 -14
  138. package/src/enum/yeepay.enum.ts +27 -27
  139. package/src/index.spec.ts +1082 -1082
  140. package/src/index.ts +616 -614
  141. package/src/interfaces/common/language.interface.ts +13 -13
  142. package/src/interfaces/member/member-transaction.interface.ts +32 -32
  143. package/src/interfaces/member/member.interface.ts +16 -16
  144. package/src/interfaces/order/baseOrder.interface.ts +89 -89
  145. package/src/interfaces/order/buffetOrder.interface.ts +14 -14
  146. package/src/interfaces/order/deliveryOrder.interface.ts +10 -10
  147. package/src/interfaces/order/index.ts +7 -7
  148. package/src/interfaces/order/order.interface.ts +84 -84
  149. package/src/interfaces/order/pickupOrder.interface.ts +9 -9
  150. package/src/interfaces/order/serialOrder.interface.ts +5 -5
  151. package/src/interfaces/order/tableOrder.interface.ts +8 -8
  152. package/src/interfaces/reservation/reservation.interface.ts +48 -48
  153. package/src/interfaces/store/classification.interface.ts +7 -7
  154. package/src/interfaces/store/dish.interface.ts +18 -18
  155. package/src/interfaces/store/dishSnapshot.interface.ts +12 -12
  156. package/src/interfaces/store/member.interface.ts +9 -9
  157. package/src/interfaces/store/menu-export.interface.ts +13 -13
  158. package/src/interfaces/store/specification.interface.ts +17 -17
  159. package/src/interfaces/store/store.interface.ts +316 -316
  160. package/src/interfaces/store/subscription.interface.ts +43 -43
  161. package/src/interfaces/user/user.interface.ts +139 -139
  162. package/src/interfaces/visit-task/visit-task.interface.ts +17 -17
  163. package/src/order/currency-settlement.spec.ts +72 -0
  164. package/src/order/index.ts +91 -91
  165. package/tsconfig.json +12 -12
@@ -1,316 +1,316 @@
1
- import { Dish } from './dish.interface';
2
- import { Classification } from './classification.interface';
3
- import { Specification } from './specification.interface';
4
- import { Subscription } from './subscription.interface';
5
- import { MemberSavingRule } from './member.interface';
6
- import { TaxTypeEnum } from '../../enum/tax.enum';
7
- import {
8
- PrinterDeviceTypeEnum,
9
- PrinterWidthEnum,
10
- TagPrinterDeviceTypeEnum,
11
- EncodeTypeEnum,
12
- MultiLangDirectionEnum,
13
- } from '../../enum/printer.enum';
14
- import { TimeMenuLoopMode } from '../../enum/time-menu.enum';
15
- import { WeekEnum } from '../../enum/common.enum';
16
- import { AnnouncementTargetEnum, AnnouncementTypeEnum } from '../../index';
17
-
18
- export interface LangList {
19
- [key: string]: string;
20
- }
21
- export interface BuffetDishItem {
22
- readonly dishId: string;
23
- upperLimit: {
24
- enable: boolean;
25
- adult: number;
26
- child: number;
27
- };
28
- }
29
-
30
- export interface BuffetCombosItems {
31
- readonly _id: string;
32
- names: object;
33
- price: {
34
- adult: number;
35
- child: number;
36
- };
37
- dishes: BuffetDishItem[];
38
- orderingByTurns: {
39
- enable: boolean;
40
- interval: number;
41
- maxOrdersPerRoundPerPerson: number;
42
- maxRounds: number;
43
- };
44
- }
45
-
46
- export interface AllergenItem {
47
- readonly _id: string;
48
- names: object;
49
- img: string;
50
- dishIds: string[];
51
- }
52
-
53
- export interface AnnouncementItem {
54
- readonly _id: string;
55
- enable: boolean;
56
- titles: LangList;
57
- type: AnnouncementTypeEnum;
58
- targets: AnnouncementTargetEnum[];
59
- textContents: LangList;
60
- imageContents: LangList;
61
- }
62
-
63
- export interface Store {
64
- readonly _id: string;
65
- name: string;
66
- readonly names?: object;
67
- readonly auditedNames?: Record<string, string>; //审核后的店铺名, 暂时用于发短信
68
- readonly needAuditNames: boolean; //如果店铺的名字有变化, 这里就要设置为需要重新审核
69
- readonly img: string;
70
- readonly phone?: string;
71
- /**
72
- * Geographic location for the store. Optional — old stores may not have it.
73
- * Set via the manager's map-location picker flow on the App; consumed by
74
- * delivery distance / static-map thumbnails / future routing features.
75
- * Mirrors the server-side Mongoose subdoc shape in
76
- * order-multi-server/src/stores/schemas/store.schema.ts.
77
- */
78
- readonly location?: {
79
- lat: number;
80
- lng: number;
81
- formattedAddress?: string;
82
- placeId?: string;
83
- };
84
- description: string;
85
- readonly descriptions?: object;
86
- readonly type: string;
87
- readonly currency: string;
88
- readonly defaultLang: string;
89
- readonly timeZoneNum: number;
90
- readonly autoClean: boolean;
91
- readonly forceClean: boolean;
92
- readonly userId: string;
93
- readonly close: boolean;
94
- readonly multiLanguage: boolean;
95
- readonly dishes: Dish[];
96
- readonly classifications: Classification[];
97
- readonly specifications: Specification[];
98
- readonly subscription: Subscription;
99
- readonly date: string | Date;
100
- readonly setting: {
101
- autoConfirm: boolean;
102
- clientPay: boolean;
103
- waiterCheckout: boolean;
104
- cashBox: boolean;
105
- openCashBoxWhenPay: boolean;
106
- closeTime: number;
107
- enableTaxes: boolean;
108
- enableBuffet: boolean;
109
- enableAllergens: boolean;
110
- checkoutFirst: boolean;
111
- defalutNoTax: boolean;
112
- taxType?: TaxTypeEnum;
113
- orderReminderInterval: number;
114
- disableAppendInterval: number;
115
- canDeleteOrder: boolean;
116
- tableOrderAutoCheckout: boolean;
117
- tableOrderAutoCleanTime: number;
118
- serialOrderAutoCleanTime: number;
119
- disableSerialOrder: boolean;
120
- mustPayVersion: boolean;
121
- freeVersion: boolean;
122
- proclamationPopUp: boolean;
123
- };
124
- readonly takeoutSetting: {
125
- startingPrice: number;
126
- deliveryFee: number;
127
- payType: string[];
128
- startTime: number;
129
- endTime: number;
130
- open: boolean;
131
- autoConfirm: boolean;
132
- selfPickUp: boolean;
133
- selfPickUpUseDeliveryMenu?: boolean; //自取使用外卖价格, false表示使用堂食价格
134
- enableDelivery: boolean;
135
- autoCheckout?: boolean;
136
- autoCleanTime?: number;
137
- reserveSwitch: boolean;
138
- reserveTimeLow: number;
139
- reserveTimeHigh: number;
140
- nonPaymentSmsVerification: boolean;
141
- smsVerificationAreaCode: string[];
142
- };
143
- readonly buffetSetting: {
144
- enable: boolean;
145
- showDishesOutOfBuffetInClient: boolean;
146
- allowDishNumberExceedSetLimitInClient: boolean;
147
- childStandard: string;
148
- buffetCombos: BuffetCombosItems[];
149
- };
150
- readonly allergenSetting: {
151
- enable: boolean;
152
- allergens: AllergenItem[];
153
- };
154
- readonly announcementSetting: {
155
- announcements: AnnouncementItem[];
156
- };
157
- readonly memberSetting: {
158
- savingRules: MemberSavingRule[];
159
- security: {
160
- paymentVerification: boolean;
161
- paymentVerificationLimit: number;
162
- };
163
- };
164
- readonly smsNum: number;
165
- readonly resource: {
166
- aiToken: number;
167
- };
168
- readonly smsNotificationSetting: {
169
- becomeMember: boolean;
170
- memberSave: boolean;
171
- memberPayout: boolean;
172
- takeoutConfirm: boolean;
173
- takeoutCancel: boolean;
174
- takeoutComplete: boolean;
175
- };
176
- readonly taxes: {
177
- name: string;
178
- rate: number;
179
- dishIds: string[];
180
- }[];
181
- readonly priceHaveTaxBindOrderTaxes: {
182
- name: string;
183
- rate: number;
184
- }[];
185
- readonly receptionPrinters: ReceptionPrinter[];
186
- readonly chefPrinters: ChefPrinter[];
187
- readonly labelPrinters: LabelPrinter[];
188
- readonly timeMenu: {
189
- enable: boolean;
190
- hideDisabledProductions: boolean;
191
- loopMode: TimeMenuLoopMode;
192
- dayLoop: DayLoopItem[];
193
- weekLoop: {
194
- Mon: {
195
- sameAs: WeekEnum;
196
- dayLoop: DayLoopItem[];
197
- };
198
- Tue: {
199
- sameAs: WeekEnum;
200
- dayLoop: DayLoopItem[];
201
- };
202
- Wed: {
203
- sameAs: WeekEnum;
204
- dayLoop: DayLoopItem[];
205
- };
206
- Thu: {
207
- sameAs: WeekEnum;
208
- dayLoop: DayLoopItem[];
209
- };
210
- Fri: {
211
- sameAs: WeekEnum;
212
- dayLoop: DayLoopItem[];
213
- };
214
- Sat: {
215
- sameAs: WeekEnum;
216
- dayLoop: DayLoopItem[];
217
- };
218
- Sun: {
219
- sameAs: WeekEnum;
220
- dayLoop: DayLoopItem[];
221
- };
222
- };
223
- };
224
- readonly customPayment: {
225
- name: string;
226
- enabled: boolean;
227
- }[];
228
- readonly areas: Area[];
229
- readonly cashDenominations: number[];
230
- }
231
-
232
- export interface ReceptionPrinter {
233
- _id: string;
234
- name: string;
235
- type: PrinterDeviceTypeEnum;
236
- address: string;
237
- bluetoothName: string;
238
- printerWidth: PrinterWidthEnum;
239
- printerNum: number;
240
- disabled: boolean;
241
- mergeDishes: boolean;
242
- bigFont: boolean;
243
- isPrepayOrderPrinteWithTotalPrice: boolean;
244
- isAutoPrinteAfterConfirm: boolean;
245
- isAutoPrinteAfterCheckout: boolean;
246
- preferLang?: string;
247
- printChineseAndEnglishAsImg?: boolean;
248
- largeLineHeight?: boolean;
249
- lineBetweenDishes?: boolean;
250
- specificationInNewLine?: boolean;
251
- customInformationAtStart?: string;
252
- customInformationAtEnd?: string;
253
- showWaiterName?: boolean;
254
- showSalesmanName?: boolean;
255
- showUnitPrice?: boolean;
256
- encodeType?: EncodeTypeEnum;
257
- extendedPrintingLangs?: string[];
258
- multiLangDirection?: MultiLangDirectionEnum;
259
- }
260
-
261
- export interface ChefPrinter {
262
- name: string;
263
- type: PrinterDeviceTypeEnum;
264
- address: string;
265
- bluetoothName: string;
266
- printerWidth: PrinterWidthEnum;
267
- printerNum: number;
268
- disabled: boolean;
269
- bigFont: boolean;
270
- dishIds: string[];
271
- mergeDishes: boolean;
272
- isSeparateDishes: boolean;
273
- isSeparateDishesWithTotal: boolean;
274
- preferLang?: string;
275
- printChineseAndEnglishAsImg?: boolean;
276
- largeLineHeight?: boolean;
277
- lineBetweenDishes?: boolean;
278
- specificationInNewLine?: boolean;
279
- countFront?: boolean;
280
- showWaiterName?: boolean;
281
- showSalesmanName?: boolean;
282
- addTableNumBeforeDishName?: boolean;
283
- encodeType?: EncodeTypeEnum;
284
- extendedPrintingLangs?: string[];
285
- multiLangDirection?: MultiLangDirectionEnum;
286
- }
287
-
288
- export interface LabelPrinter {
289
- name: string;
290
- type: TagPrinterDeviceTypeEnum;
291
- address: string;
292
- printerNum: number;
293
- disabled: boolean;
294
- dishIds: string[];
295
- preferLang?: string;
296
- rotate?: boolean;
297
- }
298
-
299
- interface DayLoopItem {
300
- startMinute: number;
301
- endMinute: number;
302
- removeMode: boolean;
303
- dishId: string[];
304
- }
305
-
306
- export interface Area {
307
- readonly _id?: string;
308
- readonly name: string;
309
- readonly tables: Table[];
310
- }
311
-
312
- export interface Table {
313
- readonly _id?: string;
314
- readonly name: string;
315
- readonly seatNum: number;
316
- }
1
+ import { Dish } from './dish.interface';
2
+ import { Classification } from './classification.interface';
3
+ import { Specification } from './specification.interface';
4
+ import { Subscription } from './subscription.interface';
5
+ import { MemberSavingRule } from './member.interface';
6
+ import { TaxTypeEnum } from '../../enum/tax.enum';
7
+ import {
8
+ PrinterDeviceTypeEnum,
9
+ PrinterWidthEnum,
10
+ TagPrinterDeviceTypeEnum,
11
+ EncodeTypeEnum,
12
+ MultiLangDirectionEnum,
13
+ } from '../../enum/printer.enum';
14
+ import { TimeMenuLoopMode } from '../../enum/time-menu.enum';
15
+ import { WeekEnum } from '../../enum/common.enum';
16
+ import { AnnouncementTargetEnum, AnnouncementTypeEnum } from '../../index';
17
+
18
+ export interface LangList {
19
+ [key: string]: string;
20
+ }
21
+ export interface BuffetDishItem {
22
+ readonly dishId: string;
23
+ upperLimit: {
24
+ enable: boolean;
25
+ adult: number;
26
+ child: number;
27
+ };
28
+ }
29
+
30
+ export interface BuffetCombosItems {
31
+ readonly _id: string;
32
+ names: object;
33
+ price: {
34
+ adult: number;
35
+ child: number;
36
+ };
37
+ dishes: BuffetDishItem[];
38
+ orderingByTurns: {
39
+ enable: boolean;
40
+ interval: number;
41
+ maxOrdersPerRoundPerPerson: number;
42
+ maxRounds: number;
43
+ };
44
+ }
45
+
46
+ export interface AllergenItem {
47
+ readonly _id: string;
48
+ names: object;
49
+ img: string;
50
+ dishIds: string[];
51
+ }
52
+
53
+ export interface AnnouncementItem {
54
+ readonly _id: string;
55
+ enable: boolean;
56
+ titles: LangList;
57
+ type: AnnouncementTypeEnum;
58
+ targets: AnnouncementTargetEnum[];
59
+ textContents: LangList;
60
+ imageContents: LangList;
61
+ }
62
+
63
+ export interface Store {
64
+ readonly _id: string;
65
+ name: string;
66
+ readonly names?: object;
67
+ readonly auditedNames?: Record<string, string>; //审核后的店铺名, 暂时用于发短信
68
+ readonly needAuditNames: boolean; //如果店铺的名字有变化, 这里就要设置为需要重新审核
69
+ readonly img: string;
70
+ readonly phone?: string;
71
+ /**
72
+ * Geographic location for the store. Optional — old stores may not have it.
73
+ * Set via the manager's map-location picker flow on the App; consumed by
74
+ * delivery distance / static-map thumbnails / future routing features.
75
+ * Mirrors the server-side Mongoose subdoc shape in
76
+ * order-multi-server/src/stores/schemas/store.schema.ts.
77
+ */
78
+ readonly location?: {
79
+ lat: number;
80
+ lng: number;
81
+ formattedAddress?: string;
82
+ placeId?: string;
83
+ };
84
+ description: string;
85
+ readonly descriptions?: object;
86
+ readonly type: string;
87
+ readonly currency: string;
88
+ readonly defaultLang: string;
89
+ readonly timeZoneNum: number;
90
+ readonly autoClean: boolean;
91
+ readonly forceClean: boolean;
92
+ readonly userId: string;
93
+ readonly close: boolean;
94
+ readonly multiLanguage: boolean;
95
+ readonly dishes: Dish[];
96
+ readonly classifications: Classification[];
97
+ readonly specifications: Specification[];
98
+ readonly subscription: Subscription;
99
+ readonly date: string | Date;
100
+ readonly setting: {
101
+ autoConfirm: boolean;
102
+ clientPay: boolean;
103
+ waiterCheckout: boolean;
104
+ cashBox: boolean;
105
+ openCashBoxWhenPay: boolean;
106
+ closeTime: number;
107
+ enableTaxes: boolean;
108
+ enableBuffet: boolean;
109
+ enableAllergens: boolean;
110
+ checkoutFirst: boolean;
111
+ defalutNoTax: boolean;
112
+ taxType?: TaxTypeEnum;
113
+ orderReminderInterval: number;
114
+ disableAppendInterval: number;
115
+ canDeleteOrder: boolean;
116
+ tableOrderAutoCheckout: boolean;
117
+ tableOrderAutoCleanTime: number;
118
+ serialOrderAutoCleanTime: number;
119
+ disableSerialOrder: boolean;
120
+ mustPayVersion: boolean;
121
+ freeVersion: boolean;
122
+ proclamationPopUp: boolean;
123
+ };
124
+ readonly takeoutSetting: {
125
+ startingPrice: number;
126
+ deliveryFee: number;
127
+ payType: string[];
128
+ startTime: number;
129
+ endTime: number;
130
+ open: boolean;
131
+ autoConfirm: boolean;
132
+ selfPickUp: boolean;
133
+ selfPickUpUseDeliveryMenu?: boolean; //自取使用外卖价格, false表示使用堂食价格
134
+ enableDelivery: boolean;
135
+ autoCheckout?: boolean;
136
+ autoCleanTime?: number;
137
+ reserveSwitch: boolean;
138
+ reserveTimeLow: number;
139
+ reserveTimeHigh: number;
140
+ nonPaymentSmsVerification: boolean;
141
+ smsVerificationAreaCode: string[];
142
+ };
143
+ readonly buffetSetting: {
144
+ enable: boolean;
145
+ showDishesOutOfBuffetInClient: boolean;
146
+ allowDishNumberExceedSetLimitInClient: boolean;
147
+ childStandard: string;
148
+ buffetCombos: BuffetCombosItems[];
149
+ };
150
+ readonly allergenSetting: {
151
+ enable: boolean;
152
+ allergens: AllergenItem[];
153
+ };
154
+ readonly announcementSetting: {
155
+ announcements: AnnouncementItem[];
156
+ };
157
+ readonly memberSetting: {
158
+ savingRules: MemberSavingRule[];
159
+ security: {
160
+ paymentVerification: boolean;
161
+ paymentVerificationLimit: number;
162
+ };
163
+ };
164
+ readonly smsNum: number;
165
+ readonly resource: {
166
+ aiToken: number;
167
+ };
168
+ readonly smsNotificationSetting: {
169
+ becomeMember: boolean;
170
+ memberSave: boolean;
171
+ memberPayout: boolean;
172
+ takeoutConfirm: boolean;
173
+ takeoutCancel: boolean;
174
+ takeoutComplete: boolean;
175
+ };
176
+ readonly taxes: {
177
+ name: string;
178
+ rate: number;
179
+ dishIds: string[];
180
+ }[];
181
+ readonly priceHaveTaxBindOrderTaxes: {
182
+ name: string;
183
+ rate: number;
184
+ }[];
185
+ readonly receptionPrinters: ReceptionPrinter[];
186
+ readonly chefPrinters: ChefPrinter[];
187
+ readonly labelPrinters: LabelPrinter[];
188
+ readonly timeMenu: {
189
+ enable: boolean;
190
+ hideDisabledProductions: boolean;
191
+ loopMode: TimeMenuLoopMode;
192
+ dayLoop: DayLoopItem[];
193
+ weekLoop: {
194
+ Mon: {
195
+ sameAs: WeekEnum;
196
+ dayLoop: DayLoopItem[];
197
+ };
198
+ Tue: {
199
+ sameAs: WeekEnum;
200
+ dayLoop: DayLoopItem[];
201
+ };
202
+ Wed: {
203
+ sameAs: WeekEnum;
204
+ dayLoop: DayLoopItem[];
205
+ };
206
+ Thu: {
207
+ sameAs: WeekEnum;
208
+ dayLoop: DayLoopItem[];
209
+ };
210
+ Fri: {
211
+ sameAs: WeekEnum;
212
+ dayLoop: DayLoopItem[];
213
+ };
214
+ Sat: {
215
+ sameAs: WeekEnum;
216
+ dayLoop: DayLoopItem[];
217
+ };
218
+ Sun: {
219
+ sameAs: WeekEnum;
220
+ dayLoop: DayLoopItem[];
221
+ };
222
+ };
223
+ };
224
+ readonly customPayment: {
225
+ name: string;
226
+ enabled: boolean;
227
+ }[];
228
+ readonly areas: Area[];
229
+ readonly cashDenominations: number[];
230
+ }
231
+
232
+ export interface ReceptionPrinter {
233
+ _id: string;
234
+ name: string;
235
+ type: PrinterDeviceTypeEnum;
236
+ address: string;
237
+ bluetoothName: string;
238
+ printerWidth: PrinterWidthEnum;
239
+ printerNum: number;
240
+ disabled: boolean;
241
+ mergeDishes: boolean;
242
+ bigFont: boolean;
243
+ isPrepayOrderPrinteWithTotalPrice: boolean;
244
+ isAutoPrinteAfterConfirm: boolean;
245
+ isAutoPrinteAfterCheckout: boolean;
246
+ preferLang?: string;
247
+ printChineseAndEnglishAsImg?: boolean;
248
+ largeLineHeight?: boolean;
249
+ lineBetweenDishes?: boolean;
250
+ specificationInNewLine?: boolean;
251
+ customInformationAtStart?: string;
252
+ customInformationAtEnd?: string;
253
+ showWaiterName?: boolean;
254
+ showSalesmanName?: boolean;
255
+ showUnitPrice?: boolean;
256
+ encodeType?: EncodeTypeEnum;
257
+ extendedPrintingLangs?: string[];
258
+ multiLangDirection?: MultiLangDirectionEnum;
259
+ }
260
+
261
+ export interface ChefPrinter {
262
+ name: string;
263
+ type: PrinterDeviceTypeEnum;
264
+ address: string;
265
+ bluetoothName: string;
266
+ printerWidth: PrinterWidthEnum;
267
+ printerNum: number;
268
+ disabled: boolean;
269
+ bigFont: boolean;
270
+ dishIds: string[];
271
+ mergeDishes: boolean;
272
+ isSeparateDishes: boolean;
273
+ isSeparateDishesWithTotal: boolean;
274
+ preferLang?: string;
275
+ printChineseAndEnglishAsImg?: boolean;
276
+ largeLineHeight?: boolean;
277
+ lineBetweenDishes?: boolean;
278
+ specificationInNewLine?: boolean;
279
+ countFront?: boolean;
280
+ showWaiterName?: boolean;
281
+ showSalesmanName?: boolean;
282
+ addTableNumBeforeDishName?: boolean;
283
+ encodeType?: EncodeTypeEnum;
284
+ extendedPrintingLangs?: string[];
285
+ multiLangDirection?: MultiLangDirectionEnum;
286
+ }
287
+
288
+ export interface LabelPrinter {
289
+ name: string;
290
+ type: TagPrinterDeviceTypeEnum;
291
+ address: string;
292
+ printerNum: number;
293
+ disabled: boolean;
294
+ dishIds: string[];
295
+ preferLang?: string;
296
+ rotate?: boolean;
297
+ }
298
+
299
+ interface DayLoopItem {
300
+ startMinute: number;
301
+ endMinute: number;
302
+ removeMode: boolean;
303
+ dishId: string[];
304
+ }
305
+
306
+ export interface Area {
307
+ readonly _id?: string;
308
+ readonly name: string;
309
+ readonly tables: Table[];
310
+ }
311
+
312
+ export interface Table {
313
+ readonly _id?: string;
314
+ readonly name: string;
315
+ readonly seatNum: number;
316
+ }