@trusted-solutions/sdit.models 0.28.0-alpha.8 → 0.28.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 (408) hide show
  1. package/base-data.d.ts +15 -15
  2. package/base-data.js +2 -2
  3. package/constants/client-endpoints.d.ts +7 -7
  4. package/constants/client-endpoints.js +10 -10
  5. package/constants/client-endpoints.js.map +1 -1
  6. package/constants/district-zip.taiwan.d.ts +7 -7
  7. package/constants/district-zip.taiwan.js +499 -499
  8. package/constants/index.d.ts +3 -3
  9. package/constants/index.js +6 -6
  10. package/constants/industry.d.ts +4 -4
  11. package/constants/industry.js +27 -27
  12. package/data-service/config.d.ts +62 -62
  13. package/data-service/config.js +895 -895
  14. package/data-service/enum.d.ts +82 -82
  15. package/data-service/enum.js +101 -101
  16. package/data-service/index.d.ts +4 -4
  17. package/data-service/index.js +7 -7
  18. package/data-service/lambda.d.ts +92 -92
  19. package/data-service/lambda.js +3 -3
  20. package/data-service/model.d.ts +79 -79
  21. package/data-service/model.js +190 -190
  22. package/enums/analysis.d.ts +201 -201
  23. package/enums/analysis.js +213 -213
  24. package/enums/block-storage.d.ts +4 -4
  25. package/enums/block-storage.js +8 -8
  26. package/enums/close-type.d.ts +4 -4
  27. package/enums/close-type.js +8 -8
  28. package/enums/cognito-filter-key.d.ts +14 -14
  29. package/enums/cognito-filter-key.js +19 -19
  30. package/enums/cognito-operator.d.ts +4 -4
  31. package/enums/cognito-operator.js +8 -8
  32. package/enums/company.d.ts +4 -4
  33. package/enums/company.js +8 -8
  34. package/enums/customer.d.ts +23 -23
  35. package/enums/customer.js +29 -29
  36. package/enums/discount-module.d.ts +18 -18
  37. package/enums/discount-module.js +27 -27
  38. package/enums/dynamodb-operator.d.ts +66 -66
  39. package/enums/dynamodb-operator.js +77 -77
  40. package/enums/error-type.d.ts +109 -109
  41. package/enums/error-type.js +145 -145
  42. package/enums/event.d.ts +29 -29
  43. package/enums/event.js +36 -36
  44. package/enums/external.d.ts +3 -3
  45. package/enums/external.js +7 -7
  46. package/enums/filter-keys.d.ts +9 -9
  47. package/enums/filter-keys.js +15 -15
  48. package/enums/import-data.d.ts +3 -3
  49. package/enums/import-data.js +7 -7
  50. package/enums/index.d.ts +41 -41
  51. package/enums/index.js +44 -44
  52. package/enums/inventory.d.ts +7 -7
  53. package/enums/inventory.js +11 -11
  54. package/enums/invoice-carrier-type.d.ts +5 -5
  55. package/enums/invoice-carrier-type.js +9 -9
  56. package/enums/invoice-error-name.d.ts +4 -4
  57. package/enums/invoice-error-name.js +8 -8
  58. package/enums/invoice-provider.d.ts +6 -5
  59. package/enums/invoice-provider.js +10 -9
  60. package/enums/invoice-provider.js.map +1 -1
  61. package/enums/invoice-status-type.d.ts +4 -4
  62. package/enums/invoice-status-type.js +8 -8
  63. package/enums/invoice-type.d.ts +6 -6
  64. package/enums/invoice-type.js +10 -10
  65. package/enums/language.d.ts +4 -4
  66. package/enums/language.js +8 -8
  67. package/enums/number-of-customers-group-type.d.ts +12 -12
  68. package/enums/number-of-customers-group-type.js +16 -16
  69. package/enums/offline-sync-type.d.ts +7 -7
  70. package/enums/offline-sync-type.js +11 -11
  71. package/enums/order-action-name.d.ts +4 -4
  72. package/enums/order-action-name.js +8 -8
  73. package/enums/order-item.d.ts +13 -13
  74. package/enums/order-item.js +18 -18
  75. package/enums/order-source-type.d.ts +5 -5
  76. package/enums/order-source-type.js +9 -9
  77. package/enums/order-status.d.ts +18 -18
  78. package/enums/order-status.js +22 -22
  79. package/enums/payment-parameters.d.ts +18 -18
  80. package/enums/payment-parameters.js +25 -25
  81. package/enums/payment-service-provider.d.ts +28 -28
  82. package/enums/payment-service-provider.js +32 -32
  83. package/enums/payment-type.d.ts +35 -35
  84. package/enums/payment-type.js +39 -39
  85. package/enums/permission-name.d.ts +30 -30
  86. package/enums/permission-name.js +34 -34
  87. package/enums/printer.d.ts +57 -57
  88. package/enums/printer.js +68 -68
  89. package/enums/real-time-switch-type.d.ts +8 -8
  90. package/enums/real-time-switch-type.js +12 -12
  91. package/enums/receipt.d.ts +4 -4
  92. package/enums/receipt.js +8 -8
  93. package/enums/serve-type.d.ts +6 -6
  94. package/enums/serve-type.js +10 -10
  95. package/enums/server-error.d.ts +4 -4
  96. package/enums/server-error.js +8 -8
  97. package/enums/store.d.ts +15 -15
  98. package/enums/store.js +21 -21
  99. package/enums/table-index.d.ts +25 -25
  100. package/enums/table-index.js +32 -32
  101. package/enums/table.d.ts +6 -6
  102. package/enums/table.js +10 -10
  103. package/enums/tax-type.d.ts +5 -5
  104. package/enums/tax-type.js +9 -9
  105. package/enums/user.d.ts +8 -8
  106. package/enums/user.js +13 -13
  107. package/lambda/contract.d.ts +97 -97
  108. package/lambda/contract.js +2 -2
  109. package/lambda/error/create-order-when-item-sold-out.d.ts +6 -6
  110. package/lambda/error/create-order-when-item-sold-out.js +2 -2
  111. package/lambda/error/index.d.ts +1 -1
  112. package/lambda/error/index.js +4 -4
  113. package/lambda/index.d.ts +10 -10
  114. package/lambda/index.js +13 -13
  115. package/lambda/line-notify.d.ts +8 -8
  116. package/lambda/line-notify.js +4 -4
  117. package/lambda/online-integration.d.ts +110 -110
  118. package/lambda/online-integration.js +2 -2
  119. package/lambda/online-ordering.d.ts +290 -280
  120. package/lambda/online-ordering.js +2 -2
  121. package/lambda/override.d.ts +23 -23
  122. package/lambda/override.js +2 -2
  123. package/lambda/pos-integration.d.ts +19 -19
  124. package/lambda/pos-integration.js +2 -2
  125. package/lambda/request/analysis.d.ts +4 -4
  126. package/lambda/request/analysis.js +2 -2
  127. package/lambda/request/chain.d.ts +30 -30
  128. package/lambda/request/chain.js +2 -2
  129. package/lambda/request/closing.d.ts +64 -64
  130. package/lambda/request/closing.js +2 -2
  131. package/lambda/request/common.d.ts +19 -19
  132. package/lambda/request/common.js +2 -2
  133. package/lambda/request/custom-analysis-group.d.ts +19 -19
  134. package/lambda/request/custom-analysis-group.js +2 -2
  135. package/lambda/request/customer.d.ts +19 -19
  136. package/lambda/request/customer.js +2 -2
  137. package/lambda/request/discount-module.d.ts +50 -50
  138. package/lambda/request/discount-module.js +2 -2
  139. package/lambda/request/event.d.ts +9 -9
  140. package/lambda/request/event.js +2 -2
  141. package/lambda/request/import-data.d.ts +15 -15
  142. package/lambda/request/import-data.js +2 -2
  143. package/lambda/request/index.d.ts +20 -20
  144. package/lambda/request/index.js +23 -23
  145. package/lambda/request/invoice.d.ts +96 -93
  146. package/lambda/request/invoice.js +2 -2
  147. package/lambda/request/kiosk.d.ts +15 -15
  148. package/lambda/request/kiosk.js +2 -2
  149. package/lambda/request/menu.d.ts +89 -89
  150. package/lambda/request/menu.js +2 -2
  151. package/lambda/request/offline-sync.d.ts +33 -33
  152. package/lambda/request/offline-sync.js +2 -2
  153. package/lambda/request/order.d.ts +49 -49
  154. package/lambda/request/order.js +2 -2
  155. package/lambda/request/payment.d.ts +19 -19
  156. package/lambda/request/payment.js +2 -2
  157. package/lambda/request/printer.d.ts +42 -42
  158. package/lambda/request/printer.js +2 -2
  159. package/lambda/request/real-time-switch.d.ts +33 -33
  160. package/lambda/request/real-time-switch.js +2 -2
  161. package/lambda/request/receipt.d.ts +5 -5
  162. package/lambda/request/receipt.js +2 -2
  163. package/lambda/request/store.d.ts +77 -77
  164. package/lambda/request/store.js +2 -2
  165. package/lambda/request/user.d.ts +29 -29
  166. package/lambda/request/user.js +2 -2
  167. package/lambda/response/analysis.d.ts +4 -4
  168. package/lambda/response/analysis.js +2 -2
  169. package/lambda/response/chain.d.ts +14 -14
  170. package/lambda/response/chain.js +2 -2
  171. package/lambda/response/closing.d.ts +14 -14
  172. package/lambda/response/closing.js +3 -3
  173. package/lambda/response/common.d.ts +15 -15
  174. package/lambda/response/common.js +2 -2
  175. package/lambda/response/custom-analysis-group.d.ts +14 -14
  176. package/lambda/response/custom-analysis-group.js +7 -7
  177. package/lambda/response/customer.d.ts +12 -12
  178. package/lambda/response/customer.js +2 -2
  179. package/lambda/response/discount-module.d.ts +28 -28
  180. package/lambda/response/discount-module.js +2 -2
  181. package/lambda/response/event.d.ts +4 -4
  182. package/lambda/response/event.js +2 -2
  183. package/lambda/response/index.d.ts +17 -17
  184. package/lambda/response/index.js +20 -20
  185. package/lambda/response/invoice.d.ts +34 -34
  186. package/lambda/response/invoice.js +2 -2
  187. package/lambda/response/kiosk.d.ts +12 -12
  188. package/lambda/response/kiosk.js +2 -2
  189. package/lambda/response/menu.d.ts +54 -54
  190. package/lambda/response/menu.js +2 -2
  191. package/lambda/response/order.d.ts +20 -20
  192. package/lambda/response/order.js +2 -2
  193. package/lambda/response/payment.d.ts +199 -199
  194. package/lambda/response/payment.js +2 -2
  195. package/lambda/response/printer.d.ts +22 -22
  196. package/lambda/response/printer.js +2 -2
  197. package/lambda/response/receipt.d.ts +4 -4
  198. package/lambda/response/receipt.js +2 -2
  199. package/lambda/response/store.d.ts +38 -38
  200. package/lambda/response/store.js +2 -2
  201. package/lambda/response/user.d.ts +17 -17
  202. package/lambda/response/user.js +2 -2
  203. package/lambda/subscription.d.ts +141 -141
  204. package/lambda/subscription.js +9 -9
  205. package/models/analysis-summary.d.ts +23 -23
  206. package/models/analysis-summary.js +2 -2
  207. package/models/analysis.d.ts +56 -56
  208. package/models/analysis.js +2 -2
  209. package/models/appointment.d.ts +18 -18
  210. package/models/appointment.js +2 -2
  211. package/models/array-mutations.d.ts +8 -8
  212. package/models/array-mutations.js +2 -2
  213. package/models/chain.d.ts +5 -5
  214. package/models/chain.js +2 -2
  215. package/models/cognito-filters.d.ts +21 -21
  216. package/models/cognito-filters.js +2 -2
  217. package/models/contract.d.ts +31 -31
  218. package/models/contract.js +2 -2
  219. package/models/csv/customer.d.ts +18 -18
  220. package/models/csv/customer.js +2 -2
  221. package/models/csv/index.d.ts +1 -1
  222. package/models/csv/index.js +4 -4
  223. package/models/custom-analysis-group.d.ts +5 -5
  224. package/models/custom-analysis-group.js +2 -2
  225. package/models/customer.d.ts +33 -32
  226. package/models/customer.js +2 -2
  227. package/models/discount-module/bundle-discount-module.d.ts +9 -9
  228. package/models/discount-module/bundle-discount-module.js +2 -2
  229. package/models/discount-module/discount-module.d.ts +92 -92
  230. package/models/discount-module/discount-module.js +2 -2
  231. package/models/discount-module/entire-order-discount-module.d.ts +6 -6
  232. package/models/discount-module/entire-order-discount-module.js +2 -2
  233. package/models/discount-module/index.d.ts +3 -3
  234. package/models/discount-module/index.js +6 -6
  235. package/models/discount-module/selected-item-discount-module.d.ts +9 -9
  236. package/models/discount-module/selected-item-discount-module.js +2 -2
  237. package/models/dynamodb-filters.d.ts +37 -37
  238. package/models/dynamodb-filters.js +2 -2
  239. package/models/dynamodb-index.d.ts +19 -19
  240. package/models/dynamodb-index.js +2 -2
  241. package/models/error/index.d.ts +11 -11
  242. package/models/error/index.js +6 -6
  243. package/models/error/invoice.d.ts +3 -3
  244. package/models/error/invoice.js +11 -11
  245. package/models/error/order.d.ts +17 -17
  246. package/models/error/order.js +42 -42
  247. package/models/error/store.d.ts +6 -6
  248. package/models/error/store.js +18 -18
  249. package/models/event.d.ts +13 -13
  250. package/models/event.js +2 -2
  251. package/models/external-config.d.ts +10 -10
  252. package/models/external-config.js +2 -2
  253. package/models/filter-request.d.ts +13 -13
  254. package/models/filter-request.js +2 -2
  255. package/models/index.d.ts +40 -40
  256. package/models/index.js +43 -43
  257. package/models/inventory/index.d.ts +5 -5
  258. package/models/inventory/index.js +8 -8
  259. package/models/inventory/inventory-item-record.d.ts +52 -52
  260. package/models/inventory/inventory-item-record.js +2 -2
  261. package/models/inventory/inventory-item.d.ts +38 -38
  262. package/models/inventory/inventory-item.js +2 -2
  263. package/models/inventory/inventory-record.d.ts +40 -40
  264. package/models/inventory/inventory-record.js +2 -2
  265. package/models/inventory/inventory.d.ts +23 -23
  266. package/models/inventory/inventory.js +2 -2
  267. package/models/inventory/relation.d.ts +17 -17
  268. package/models/inventory/relation.js +2 -2
  269. package/models/invoice-config.d.ts +25 -14
  270. package/models/invoice-config.js +2 -2
  271. package/models/invoice.d.ts +83 -83
  272. package/models/invoice.js +2 -2
  273. package/models/json/base-json.d.ts +3 -3
  274. package/models/json/base-json.js +2 -2
  275. package/models/json/index.d.ts +2 -2
  276. package/models/json/index.js +5 -5
  277. package/models/json/product-json.d.ts +16 -16
  278. package/models/json/product-json.js +2 -2
  279. package/models/kiosk.d.ts +4 -4
  280. package/models/kiosk.js +2 -2
  281. package/models/language.d.ts +8 -8
  282. package/models/language.js +2 -2
  283. package/models/menu.d.ts +111 -111
  284. package/models/menu.js +10 -10
  285. package/models/online-integration.d.ts +88 -88
  286. package/models/online-integration.js +59 -59
  287. package/models/online-ordering.d.ts +253 -237
  288. package/models/online-ordering.js +43 -37
  289. package/models/online-ordering.js.map +1 -1
  290. package/models/order-action.d.ts +11 -11
  291. package/models/order-action.js +2 -2
  292. package/models/order.d.ts +452 -451
  293. package/models/order.js +2 -2
  294. package/models/override.d.ts +28 -28
  295. package/models/override.js +14 -14
  296. package/models/payment-config.d.ts +69 -69
  297. package/models/payment-config.js +2 -2
  298. package/models/payment-parameters.d.ts +116 -116
  299. package/models/payment-parameters.js +3 -3
  300. package/models/payment.d.ts +42 -42
  301. package/models/payment.js +2 -2
  302. package/models/permission/index.d.ts +4 -4
  303. package/models/permission/index.js +7 -7
  304. package/models/permission/store-permission.d.ts +9 -9
  305. package/models/permission/store-permission.js +2 -2
  306. package/models/permission/store-role-store-permission.d.ts +5 -5
  307. package/models/permission/store-role-store-permission.js +2 -2
  308. package/models/permission/store-role-store-user.d.ts +5 -5
  309. package/models/permission/store-role-store-user.js +2 -2
  310. package/models/permission/store-role.d.ts +5 -5
  311. package/models/permission/store-role.js +2 -2
  312. package/models/plugin/index.d.ts +5 -5
  313. package/models/plugin/index.js +8 -8
  314. package/models/plugin/intent-handler/index.d.ts +2 -2
  315. package/models/plugin/intent-handler/index.js +5 -5
  316. package/models/plugin/intent-handler/intent-handler-request.d.ts +14 -14
  317. package/models/plugin/intent-handler/intent-handler-request.js +2 -2
  318. package/models/plugin/intent-handler/intent-handler-response.d.ts +7 -7
  319. package/models/plugin/intent-handler/intent-handler-response.js +2 -2
  320. package/models/plugin/payment-machine/index.d.ts +3 -3
  321. package/models/plugin/payment-machine/index.js +6 -6
  322. package/models/plugin/payment-machine/models/fixed-string.model.d.ts +14 -14
  323. package/models/plugin/payment-machine/models/fixed-string.model.js +52 -52
  324. package/models/plugin/payment-machine/models/index.d.ts +5 -5
  325. package/models/plugin/payment-machine/models/index.js +8 -8
  326. package/models/plugin/payment-machine/models/nccc/index.d.ts +3 -3
  327. package/models/plugin/payment-machine/models/nccc/index.js +6 -6
  328. package/models/plugin/payment-machine/models/nccc/payment-machine-d200.model.d.ts +41 -41
  329. package/models/plugin/payment-machine/models/nccc/payment-machine-d200.model.js +140 -140
  330. package/models/plugin/payment-machine/models/nccc/payment-machine-v3p.model.d.ts +42 -42
  331. package/models/plugin/payment-machine/models/nccc/payment-machine-v3p.model.js +621 -621
  332. package/models/plugin/payment-machine/models/nccc/payment-machine-vx520.model.d.ts +21 -21
  333. package/models/plugin/payment-machine/models/nccc/payment-machine-vx520.model.js +28 -28
  334. package/models/plugin/payment-machine/models/payment-machine-minimum.model.d.ts +38 -38
  335. package/models/plugin/payment-machine/models/payment-machine-minimum.model.js +27 -27
  336. package/models/plugin/payment-machine/models/payment-machine-union.model.d.ts +123 -123
  337. package/models/plugin/payment-machine/models/payment-machine-union.model.js +376 -376
  338. package/models/plugin/payment-machine/models/tsb/index.d.ts +1 -1
  339. package/models/plugin/payment-machine/models/tsb/index.js +4 -4
  340. package/models/plugin/payment-machine/models/tsb/payment-machine-d220.model.d.ts +20 -20
  341. package/models/plugin/payment-machine/models/tsb/payment-machine-d220.model.js +27 -27
  342. package/models/plugin/payment-machine/payment-machine-request.d.ts +8 -8
  343. package/models/plugin/payment-machine/payment-machine-request.js +2 -2
  344. package/models/plugin/payment-machine/payment-machine.d.ts +43 -43
  345. package/models/plugin/payment-machine/payment-machine.js +50 -50
  346. package/models/plugin/peripheral.model.d.ts +53 -53
  347. package/models/plugin/peripheral.model.js +38 -38
  348. package/models/plugin/printer/index.d.ts +2 -2
  349. package/models/plugin/printer/index.js +5 -5
  350. package/models/plugin/printer/printer-request.d.ts +20 -20
  351. package/models/plugin/printer/printer-request.js +2 -2
  352. package/models/plugin/printer/printer.d.ts +92 -92
  353. package/models/plugin/printer/printer.js +11 -11
  354. package/models/plugin/serial-port/index.d.ts +2 -2
  355. package/models/plugin/serial-port/index.js +5 -5
  356. package/models/plugin/serial-port/serial-port-request.d.ts +11 -11
  357. package/models/plugin/serial-port/serial-port-request.js +2 -2
  358. package/models/plugin/serial-port/serial-port.d.ts +17 -17
  359. package/models/plugin/serial-port/serial-port.js +22 -22
  360. package/models/printer.d.ts +70 -70
  361. package/models/printer.js +2 -2
  362. package/models/receipt.d.ts +61 -61
  363. package/models/receipt.js +2 -2
  364. package/models/store.d.ts +251 -240
  365. package/models/store.js +3 -3
  366. package/models/table.d.ts +35 -35
  367. package/models/table.js +9 -9
  368. package/models/template-interface/index.d.ts +1 -1
  369. package/models/template-interface/index.js +4 -4
  370. package/models/template-interface/list.d.ts +10 -10
  371. package/models/template-interface/list.js +2 -2
  372. package/models/user.d.ts +31 -31
  373. package/models/user.js +2 -2
  374. package/models/utils/index.d.ts +1 -1
  375. package/models/utils/index.js +4 -4
  376. package/models/utils/utils-data.d.ts +4 -4
  377. package/models/utils/utils-data.js +2 -2
  378. package/package.json +24 -24
  379. package/public-api.d.ts +5 -5
  380. package/public-api.js +8 -8
  381. package/third-party-api/uber-eats/enums/ub-menu.d.ts +24 -24
  382. package/third-party-api/uber-eats/enums/ub-menu.js +32 -32
  383. package/third-party-api/uber-eats/enums/ub-order.d.ts +55 -55
  384. package/third-party-api/uber-eats/enums/ub-order.js +66 -66
  385. package/third-party-api/uber-eats/enums/ub-utils.d.ts +34 -34
  386. package/third-party-api/uber-eats/enums/ub-utils.js +40 -40
  387. package/third-party-api/uber-eats/index.d.ts +13 -13
  388. package/third-party-api/uber-eats/index.js +16 -16
  389. package/third-party-api/uber-eats/models/ub-cancel-order.d.ts +28 -28
  390. package/third-party-api/uber-eats/models/ub-cancel-order.js +17 -17
  391. package/third-party-api/uber-eats/models/ub-cart.d.ts +84 -84
  392. package/third-party-api/uber-eats/models/ub-cart.js +2 -2
  393. package/third-party-api/uber-eats/models/ub-menu-config.d.ts +40 -40
  394. package/third-party-api/uber-eats/models/ub-menu-config.js +2 -2
  395. package/third-party-api/uber-eats/models/ub-menu-item.d.ts +112 -112
  396. package/third-party-api/uber-eats/models/ub-menu-item.js +2 -2
  397. package/third-party-api/uber-eats/models/ub-order.d.ts +59 -59
  398. package/third-party-api/uber-eats/models/ub-order.js +2 -2
  399. package/third-party-api/uber-eats/models/ub-payment.d.ts +59 -59
  400. package/third-party-api/uber-eats/models/ub-payment.js +2 -2
  401. package/third-party-api/uber-eats/models/ub-pos-accept-order.d.ts +39 -39
  402. package/third-party-api/uber-eats/models/ub-pos-accept-order.js +2 -2
  403. package/third-party-api/uber-eats/models/ub-pos-deny-order.d.ts +29 -29
  404. package/third-party-api/uber-eats/models/ub-pos-deny-order.js +17 -17
  405. package/third-party-api/uber-eats/models/ub-quantity-constraint-rules.d.ts +48 -48
  406. package/third-party-api/uber-eats/models/ub-quantity-constraint-rules.js +2 -2
  407. package/third-party-api/uber-eats/models/ub-utils.d.ts +41 -41
  408. package/third-party-api/uber-eats/models/ub-utils.js +2 -2
package/models/order.d.ts CHANGED
@@ -1,451 +1,452 @@
1
- import { PaymentType } from './../enums/payment-type';
2
- import { ServeType } from './../enums/serve-type';
3
- import { PaymentServiceProvider } from './../enums/payment-service-provider';
4
- import { InvoiceStatusType } from './../enums/invoice-status-type';
5
- import { ReceiptStatusType } from '../enums/receipt';
6
- import { InvoiceConfig, Tax } from './invoice-config';
7
- import { InvoiceCarrierType } from './../enums/invoice-carrier-type';
8
- import { OrderStatus } from '../enums/order-status';
9
- import { DiscountModuleTypeEnum, OrderSourceType, CloseType, OrderItemPaidStatus, OrderItemStatus } from '../enums';
10
- import { Receipt, Transaction } from './receipt';
11
- import { Customer } from './customer';
12
- import { Address, Operator } from './store';
13
- import { OnlinePlatformType, OOReasonCode, OnlineOrderMappingWarningCode } from './online-integration';
14
- import { SOEater, SOOperateParty } from './online-ordering';
15
- import { DiscountMethod } from './discount-module';
16
- export interface BaseOrder {
17
- id?: string;
18
- source: OrderSourceType;
19
- customerId?: string;
20
- customer?: Customer;
21
- /** 此訂單來自線上點餐XX平台 */
22
- onlinePlatformType?: OnlinePlatformType;
23
- /** 外部線上點餐平台訂單ID */
24
- onlinePlatformOrderId?: string;
25
- items: OrderItem[];
26
- /** sigma(items.amount) */
27
- subtotal: number;
28
- /** subtotal - sigma(discount.discountReferences.orderItemId === null) */
29
- totalAmount: number;
30
- salesAmountExcludeTax: number;
31
- exemptTaxSalesAmount: number;
32
- zeroTaxSalesAmount: number;
33
- taxAmount: number;
34
- discount?: OrderDiscount;
35
- /** 由KIOSK、線上點餐、..端給定的序號 */
36
- serialNumber: string;
37
- note?: string;
38
- createdAt: number;
39
- multipleReceipts?: Receipt[];
40
- /** 接受時間 */
41
- acceptedAt?: number;
42
- /** 拒絕時間 */
43
- rejectedAt?: number;
44
- /** KIOSK, onlinePlatform 取消時間 */
45
- canceledAt?: number;
46
- /** 拒絕外部訂單操作人 */
47
- rejectedBy?: Operator;
48
- /** 取消外部訂單操作人,若第三方系統取消,則為undefined */
49
- canceledBy?: Operator;
50
- /** 拒絕外部訂單理由 */
51
- rejectedReasonCode?: string;
52
- /** 拒絕外部訂單理由 */
53
- rejectedReason?: string;
54
- /** 取消外部訂單理由 */
55
- canceledReasonCode?: string;
56
- /** 取消外部訂單理由 */
57
- canceledReason?: string;
58
- /**
59
- * 線上訂單。
60
- * 若消費者要打統編,會記錄在這裡
61
- * @deprecated 一律記在 `onlineBuyer.buyerId`
62
- */
63
- buyerId?: string;
64
- /** 線上訂購人 */
65
- onlineBuyer?: SOEater;
66
- /** 訂單取消方 */
67
- canceledByParty?: SOOperateParty;
68
- /**
69
- * 線上點餐、UberEats等等外送平台,線上成功收款後的
70
- * Transaction會暫時存在這個Property,待POS接單後,
71
- * 再將這個Transaction包成Receipt
72
- */
73
- externalPayment?: Transaction;
74
- }
75
- export interface Order extends BaseOrder {
76
- id?: string;
77
- source: OrderSourceType;
78
- status?: OrderStatus;
79
- numberOfCustomers?: number;
80
- customerId?: string;
81
- customer?: Customer;
82
- serveType: ServeType;
83
- tableName: string;
84
- /** If `serveConfig.hasTableEntity === true`, tableId should not be undefined */
85
- tableId?: string;
86
- /** 此訂單來自線上點餐XX平台 */
87
- onlinePlatformType?: OnlinePlatformType;
88
- /** 外部線上點餐平台訂單ID */
89
- onlinePlatformOrderId?: string;
90
- /** 紀錄餐點預計完成時間 */
91
- estimatedReadyForPickupAt?: number;
92
- /** 出單次數,初始為undefined,第一次出單為0,每出單一次+1 */
93
- currentRound?: number;
94
- items: OrderItem[];
95
- /** sigma(items.amount) */
96
- subtotal: number;
97
- /** 外送費 */
98
- deliveryCharge?: number;
99
- /** subtotal - sigma(discount.discountReferences.orderItemId === null) + deliveryCharge */
100
- totalAmount: number;
101
- salesAmountExcludeTax: number;
102
- exemptTaxSalesAmount: number;
103
- zeroTaxSalesAmount: number;
104
- taxAmount: number;
105
- discount?: OrderDiscount;
106
- /** 由KIOSK、線上點餐、..端給定的序號 */
107
- serialNumber: string;
108
- /** 由POS端給定的序號 */
109
- posSerialNumber?: string;
110
- note?: string;
111
- createdAt: number;
112
- multipleReceipts?: Receipt[];
113
- /** Use attachPayment method to add this info */
114
- /** @Deprecated */
115
- payment?: OrderPayment;
116
- /** Use issueInvoice method to add this info */
117
- /** @Deprecated */
118
- invoice?: OrderInvoice;
119
- /** Created by attachPayment method */
120
- /** @Deprecated */
121
- receipt?: OrderReceipt;
122
- /** @Deprecated */
123
- invoiceConfig: InvoiceConfig;
124
- /** Created by aggregateOrderData method */
125
- aggregationInfo?: AggregationInfo;
126
- /** 接受時間 */
127
- acceptedAt?: number;
128
- /** 拒絕時間 */
129
- rejectedAt?: number;
130
- /** 廚房開始準備時間 */
131
- preparingAt?: number;
132
- /** 廚房出餐時間 */
133
- completedAt?: number;
134
- /** 出餐時間 */
135
- confirmedAt?: number;
136
- /** POS刪除時間 */
137
- deletedAt?: number;
138
- /** KIOSK, onlinePlatform 取消時間 */
139
- canceledAt?: number;
140
- /** 顧客離開時間 */
141
- leftAt?: number;
142
- createdBy?: Operator;
143
- deletedBy?: Operator;
144
- /** 拒絕外部訂單操作人 */
145
- rejectedBy?: Operator;
146
- /** 取消外部訂單操作人,若第三方系統取消,則為undefined */
147
- canceledBy?: Operator;
148
- /** 拒絕外部訂單理由 */
149
- rejectedReasonCode?: OOReasonCode;
150
- /** 拒絕外部訂單理由 */
151
- rejectedReason?: string;
152
- /** 取消外部訂單理由 */
153
- canceledReasonCode?: OOReasonCode;
154
- /** 取消外部訂單理由 */
155
- canceledReason?: string;
156
- onlineOrderMappingWarning?: {
157
- code: OnlineOrderMappingWarningCode;
158
- message: string;
159
- }[];
160
- /**
161
- * 線上訂單。
162
- * 若消費者要打統編,會記錄在這裡
163
- * @deprecated 一律記在 `onlineBuyer.buyerId`
164
- */
165
- buyerId?: string;
166
- /** 線上訂購人 */
167
- onlineBuyer?: SOEater;
168
- /** 線上團購所有人 */
169
- onlineBuyers?: SOEater[];
170
- /** 包裝、免洗餐具 */
171
- includeDisposableItems?: boolean;
172
- /** 購買人預期取餐時間 */
173
- expectedPickupAt?: number;
174
- /** 訂單取消方 */
175
- canceledByParty?: SOOperateParty;
176
- /** 外送地址 */
177
- deliveryAddress?: Address;
178
- /**
179
- * 線上點餐、UberEats等等外送平台,線上成功收款後的
180
- * Transaction會暫時存在這個Property,待POS接單後,
181
- * 再將這個Transaction包成Receipt
182
- */
183
- externalPayment?: Transaction;
184
- }
185
- export interface OrderItem {
186
- id?: string;
187
- productCategoryId?: string;
188
- productId?: string;
189
- name: string;
190
- /** amount of single product */
191
- productAmount: number;
192
- productTax: Tax;
193
- attributes: OrderItemAttr[];
194
- /**
195
- * 經由註記調整價格後的一個品項金額
196
- * 原價 `productAmount` + 註記總價 `Sum(attribute.additionalAmount)`
197
- */
198
- subtotal?: number;
199
- /**
200
- * 一個品項的手動折扣方式
201
- */
202
- manualDiscountMethod?: DiscountMethod;
203
- /**
204
- * 一個品項的折扣金額,為`subtotal`與`discountMethod`計算後結果
205
- */
206
- discountAmount?: number;
207
- quantity: number;
208
- /**
209
- * (`subtotal` - `discountAmount`) * `quantity`
210
- */
211
- amount: number;
212
- status?: OrderItemStatus;
213
- /** 所屬第x次出單的品項,初始為undefined,第一次出單為0,每出單一次+1 */
214
- round?: number;
215
- changelogs?: OrderItemChangelog[];
216
- paidStatus?: OrderItemPaidStatus;
217
- /** 建立時間 */
218
- createdAt?: number;
219
- /** 廚房開始準備時間 */
220
- preparingAt?: number;
221
- /** 廚房出餐時間 */
222
- completedAt?: number;
223
- /** 出餐時間 */
224
- confirmedAt?: number;
225
- /** POS刪除時間 */
226
- deletedAt?: number;
227
- note?: string;
228
- createdBy?: Operator;
229
- deletedBy?: Operator;
230
- checkedOutBy?: Operator;
231
- /** 點這個orderItem的人的ID,對應到Order.onlineBuyers */
232
- onlineBuyerId?: string;
233
- }
234
- export interface OrderItemChangelog {
235
- timestamp: number;
236
- quantity?: number;
237
- amount?: number;
238
- attributes?: OrderItemAttr[];
239
- note?: string;
240
- manualDiscountMethod?: DiscountMethod;
241
- discountAmount?: number;
242
- modifiedBy?: Operator;
243
- }
244
- export interface OrderItemAttr {
245
- attributeId?: string;
246
- name: string;
247
- additionalAmount: number;
248
- }
249
- export interface OrderPayment {
250
- paymentServiceProvider: PaymentServiceProvider;
251
- paymentType: PaymentType;
252
- /** Transaction ID provided by third party payment vendor after payment. */
253
- transactionId: string;
254
- /** PaidAt provided by third party payment vendor after payment. */
255
- paidAt: number;
256
- /** Used to record the payment results provided by third-party payment vendor */
257
- detail: any;
258
- /** Used to record info of refund. */
259
- refundPayload?: RefundPayload;
260
- operator?: Operator;
261
- }
262
- /** @Deprecated */
263
- export interface OrderInvoiceRequest {
264
- /** Get from User Input */
265
- buyerId: string;
266
- /** Get from invoice service takeInvoiceNumber */
267
- invoiceNumber: string;
268
- /** Get from User Input */
269
- loveCode: string;
270
- /** Get from User Input */
271
- carrierId: string;
272
- }
273
- export interface OrderInvoice {
274
- buyerId: string;
275
- loveCode: string;
276
- carrierId: string;
277
- invoiceNumber: string;
278
- randomNumber: string;
279
- carrierType: InvoiceCarrierType;
280
- qrCodePassword: string;
281
- status: InvoiceStatusType;
282
- issuedAt: number;
283
- voidedAt: number;
284
- voidReason: string;
285
- /**
286
- * @Deprecated - addressed by event feature
287
- */
288
- uploadStatus: null | 'uploaded' | 'uploadFailed' | 'voided' | 'voidFailed';
289
- uploadAt: number;
290
- uploadDetail?: any;
291
- uploadVoidAt: number;
292
- uploadVoidDetail?: any;
293
- }
294
- export interface OrderReceipt {
295
- id: string;
296
- accountId?: string;
297
- status: ReceiptStatusType;
298
- issuedAt: number;
299
- voidedAt: number;
300
- }
301
- export interface RefundPayload {
302
- accountId?: string;
303
- operator?: Operator;
304
- operationTimestamp: number;
305
- transactionId: string;
306
- success: boolean;
307
- amount: number;
308
- payload: any;
309
- }
310
- export interface ShiftClosingResult {
311
- accountId?: string;
312
- operator?: Operator;
313
- operationTimestamp: number;
314
- startedAt: number;
315
- endedAt: number;
316
- paymentSummary: PaymentSummary[];
317
- /** 淨營收額 (本期收據 收款金額 - 本期收據作廢金額 - 非本期收據作廢金額) */
318
- totalSalesRevenue: number;
319
- /** 本期收據 收款數 */
320
- currentIssuedCount: number;
321
- /** 本期收據 收款金額 */
322
- currentIssuedAmount: number;
323
- /** 本期收據 作廢數 */
324
- currentVoidedCount: number;
325
- /** 本期收據 作廢金額 */
326
- currentVoidedAmount: number;
327
- /** 本期收據 作廢收據編號或發票號碼 */
328
- currentVoidedInvoiceNumbers: string[];
329
- /** 非本期收據 作廢數 */
330
- nonCurrentVoidedCount: number;
331
- /** 非本期收據 作廢金額 */
332
- nonCurrentVoidedAmount: number;
333
- /** 非本期收據 作廢收據編號或發票號碼 */
334
- nonCurrentVoidedInvoiceNumbers: string[];
335
- }
336
- export interface ClosingResult {
337
- id: string;
338
- type: CloseType;
339
- startedAt: number;
340
- endedAt: number;
341
- /** 帳區Id */
342
- accountId: string;
343
- paymentSummary: PaymentSummary[];
344
- /** 淨營收額 (本期收據 收款金額 - 本期收據作廢金額 - 非本期收據作廢金額) */
345
- totalSalesRevenue: number;
346
- /** 本期收據 收款數 */
347
- currentIssuedCount: number;
348
- /** 本期收據 收款金額 */
349
- currentIssuedAmount: number;
350
- /** 本期收據 作廢數 */
351
- currentVoidedCount: number;
352
- /** 本期收據 作廢金額 */
353
- currentVoidedAmount: number;
354
- /** 本期收據 作廢收據編號或發票號碼 */
355
- currentVoidedInvoiceNumbers: string[];
356
- /** 非本期收據 作廢數 */
357
- nonCurrentVoidedCount: number;
358
- /** 非本期收據 作廢金額 */
359
- nonCurrentVoidedAmount: number;
360
- /** 非本期收據 作廢收據編號或發票號碼 */
361
- nonCurrentVoidedInvoiceNumbers: string[];
362
- /** 註銷品項數量 */
363
- cancelledSalesCount?: number;
364
- /** 註銷品項金額 */
365
- cancelledSalesAmount?: number;
366
- /** 註銷品項項目 */
367
- cancelledSalesDetails?: ClosingSalesProductDetail[];
368
- operationTimestamp: number;
369
- operator?: Operator;
370
- }
371
- export interface PaymentSummary {
372
- paymentServiceProvider: PaymentServiceProvider;
373
- paymentType: PaymentType;
374
- /** 自定義支付名稱 */
375
- customName?: string;
376
- disableInventory?: boolean;
377
- /** 收款交易數 */
378
- paymentCount?: number;
379
- /** 收款總金額(正數) */
380
- paymentAmount?: number;
381
- /** 退款交易數 */
382
- refundCount?: number;
383
- /** 退款總金額(正數) */
384
- refundAmount?: number;
385
- /** 總交易數(收款交易數 + 退款交易數) */
386
- count: number;
387
- /** 銷售淨額(收款總金額 - 退款總金額) */
388
- amount: number;
389
- /** 實際金額 */
390
- actualAmount?: number;
391
- /**
392
- * 短溢金額 (實際金額 - 應有金額)
393
- * 應有金額 = 銷售淨額 + 上期留存金額 - 臨時支出
394
- * */
395
- varianceAmount?: number;
396
- /** 短溢原因 */
397
- varianceReason?: string;
398
- }
399
- export interface CashSummary extends PaymentSummary {
400
- paymentServiceProvider: PaymentServiceProvider.none;
401
- paymentType: PaymentType.cash;
402
- /** 現金臨時支出 */
403
- expenditureDetails: Expenditure[];
404
- /** 現金匯出金額 */
405
- withdrawal: number;
406
- /** 上期留存金額 */
407
- initAmount: number;
408
- /** 現金留存金額 (現金實際金額 - 現金匯出金額) */
409
- retained: number;
410
- }
411
- export interface Expenditure {
412
- /** 臨時支出名稱 */
413
- name: string;
414
- /** 臨時支出金額(正數) */
415
- amount: number;
416
- }
417
- export interface AggregationInfo {
418
- aggregatedAt: number;
419
- belongTimePeriod: number;
420
- }
421
- export interface OrderDiscount {
422
- discountReferences: DiscountReference[];
423
- }
424
- export interface DiscountReference {
425
- type: DiscountModuleTypeEnum;
426
- id: string;
427
- name: string;
428
- amount: number;
429
- quantity: number;
430
- discountStartedAt: number;
431
- discountEndedAt: number;
432
- code?: string;
433
- orderItemId?: string;
434
- }
435
- export interface ClosingSalesDetail {
436
- id: string;
437
- startedAt: number;
438
- endedAt: number;
439
- salesCount: number;
440
- salesAmount: number;
441
- /** exclude selected item discount */
442
- salesDiscountAmount: number;
443
- numberOfCustomers: number;
444
- salesDetails: ClosingSalesProductDetail[];
445
- }
446
- export interface ClosingSalesProductDetail {
447
- productId: string;
448
- name: string;
449
- amount: number;
450
- quantity: number;
451
- }
1
+ import { PaymentType } from './../enums/payment-type';
2
+ import { ServeType } from './../enums/serve-type';
3
+ import { PaymentServiceProvider } from './../enums/payment-service-provider';
4
+ import { InvoiceStatusType } from './../enums/invoice-status-type';
5
+ import { ReceiptStatusType } from '../enums/receipt';
6
+ import { InvoiceConfig, Tax } from './invoice-config';
7
+ import { InvoiceCarrierType } from './../enums/invoice-carrier-type';
8
+ import { OrderStatus } from '../enums/order-status';
9
+ import { DiscountModuleTypeEnum, OrderSourceType, CloseType, OrderItemPaidStatus, OrderItemStatus } from '../enums';
10
+ import { Receipt, Transaction } from './receipt';
11
+ import { Customer } from './customer';
12
+ import { Address, Operator } from './store';
13
+ import { OnlinePlatformType, OOReasonCode, OnlineOrderMappingWarningCode } from './online-integration';
14
+ import { SOEater, SOOperateParty } from './online-ordering';
15
+ import { DiscountMethod } from './discount-module';
16
+ export interface BaseOrder {
17
+ id?: string;
18
+ source: OrderSourceType;
19
+ customerId?: string;
20
+ customer?: Customer;
21
+ /** 此訂單來自線上點餐XX平台 */
22
+ onlinePlatformType?: OnlinePlatformType;
23
+ /** 外部線上點餐平台訂單ID */
24
+ onlinePlatformOrderId?: string;
25
+ items: OrderItem[];
26
+ /** sigma(items.amount) */
27
+ subtotal: number;
28
+ /** subtotal - sigma(discount.discountReferences.orderItemId === null) */
29
+ totalAmount: number;
30
+ salesAmountExcludeTax: number;
31
+ exemptTaxSalesAmount: number;
32
+ zeroTaxSalesAmount: number;
33
+ taxAmount: number;
34
+ discount?: OrderDiscount;
35
+ /** 由KIOSK、線上點餐、..端給定的序號 */
36
+ serialNumber: string;
37
+ note?: string;
38
+ createdAt: number;
39
+ multipleReceipts?: Receipt[];
40
+ /** 接受時間 */
41
+ acceptedAt?: number;
42
+ /** 拒絕時間 */
43
+ rejectedAt?: number;
44
+ /** KIOSK, onlinePlatform 取消時間 */
45
+ canceledAt?: number;
46
+ /** 拒絕外部訂單操作人 */
47
+ rejectedBy?: Operator;
48
+ /** 取消外部訂單操作人,若第三方系統取消,則為undefined */
49
+ canceledBy?: Operator;
50
+ /** 拒絕外部訂單理由 */
51
+ rejectedReasonCode?: string;
52
+ /** 拒絕外部訂單理由 */
53
+ rejectedReason?: string;
54
+ /** 取消外部訂單理由 */
55
+ canceledReasonCode?: string;
56
+ /** 取消外部訂單理由 */
57
+ canceledReason?: string;
58
+ /**
59
+ * 線上訂單。
60
+ * 若消費者要打統編,會記錄在這裡
61
+ * @deprecated 一律記在 `onlineBuyer.buyerId`
62
+ */
63
+ buyerId?: string;
64
+ /** 線上訂購人 */
65
+ onlineBuyer?: SOEater;
66
+ /** 訂單取消方 */
67
+ canceledByParty?: SOOperateParty;
68
+ /**
69
+ * 線上點餐、UberEats等等外送平台,線上成功收款後的
70
+ * Transaction會暫時存在這個Property,待POS接單後,
71
+ * 再將這個Transaction包成Receipt
72
+ */
73
+ externalPayment?: Transaction;
74
+ }
75
+ export interface Order extends BaseOrder {
76
+ id?: string;
77
+ source: OrderSourceType;
78
+ status?: OrderStatus;
79
+ numberOfCustomers?: number;
80
+ customerId?: string;
81
+ customer?: Customer;
82
+ serveType: ServeType;
83
+ tableName: string;
84
+ /** If `serveConfig.hasTableEntity === true`, tableId should not be undefined */
85
+ tableId?: string;
86
+ /** 此訂單來自線上點餐XX平台 */
87
+ onlinePlatformType?: OnlinePlatformType;
88
+ /** 外部線上點餐平台訂單ID */
89
+ onlinePlatformOrderId?: string;
90
+ /** 紀錄餐點預計完成時間 */
91
+ estimatedReadyForPickupAt?: number;
92
+ /** 出單次數,初始為undefined,第一次出單為0,每出單一次+1 */
93
+ currentRound?: number;
94
+ items: OrderItem[];
95
+ /** sigma(items.amount) */
96
+ subtotal: number;
97
+ /** 外送費 */
98
+ deliveryCharge?: number;
99
+ /** subtotal - sigma(discount.discountReferences.orderItemId === null) + deliveryCharge */
100
+ totalAmount: number;
101
+ salesAmountExcludeTax: number;
102
+ exemptTaxSalesAmount: number;
103
+ zeroTaxSalesAmount: number;
104
+ taxAmount: number;
105
+ discount?: OrderDiscount;
106
+ /** 由KIOSK、線上點餐、..端給定的序號 */
107
+ serialNumber: string;
108
+ /** 由POS端給定的序號 */
109
+ posSerialNumber?: string;
110
+ note?: string;
111
+ createdAt: number;
112
+ multipleReceipts?: Receipt[];
113
+ /** Use attachPayment method to add this info */
114
+ /** @Deprecated */
115
+ payment?: OrderPayment;
116
+ /** Use issueInvoice method to add this info */
117
+ /** @Deprecated */
118
+ invoice?: OrderInvoice;
119
+ /** Created by attachPayment method */
120
+ /** @Deprecated */
121
+ receipt?: OrderReceipt;
122
+ /** @Deprecated */
123
+ invoiceConfig: InvoiceConfig;
124
+ /** Created by aggregateOrderData method */
125
+ aggregationInfo?: AggregationInfo;
126
+ /** 接受時間 */
127
+ acceptedAt?: number;
128
+ /** 拒絕時間 */
129
+ rejectedAt?: number;
130
+ /** 廚房開始準備時間 */
131
+ preparingAt?: number;
132
+ /** 廚房出餐時間 */
133
+ completedAt?: number;
134
+ /** 出餐時間 */
135
+ confirmedAt?: number;
136
+ /** POS刪除時間 */
137
+ deletedAt?: number;
138
+ /** KIOSK, onlinePlatform 取消時間 */
139
+ canceledAt?: number;
140
+ /** 顧客離開時間 */
141
+ leftAt?: number;
142
+ createdBy?: Operator;
143
+ deletedBy?: Operator;
144
+ /** 拒絕外部訂單操作人 */
145
+ rejectedBy?: Operator;
146
+ /** 取消外部訂單操作人,若第三方系統取消,則為undefined */
147
+ canceledBy?: Operator;
148
+ /** 拒絕外部訂單理由 */
149
+ rejectedReasonCode?: OOReasonCode;
150
+ /** 拒絕外部訂單理由 */
151
+ rejectedReason?: string;
152
+ /** 取消外部訂單理由 */
153
+ canceledReasonCode?: OOReasonCode;
154
+ /** 取消外部訂單理由 */
155
+ canceledReason?: string;
156
+ onlineOrderMappingWarning?: {
157
+ code: OnlineOrderMappingWarningCode;
158
+ message: string;
159
+ }[];
160
+ /**
161
+ * 線上訂單。
162
+ * 若消費者要打統編,會記錄在這裡
163
+ * @deprecated 一律記在 `onlineBuyer.buyerId`
164
+ */
165
+ buyerId?: string;
166
+ /** 線上訂購人 */
167
+ onlineBuyer?: SOEater;
168
+ /** 線上團購所有人 */
169
+ onlineBuyers?: SOEater[];
170
+ /** 包裝、免洗餐具 */
171
+ includeDisposableItems?: boolean;
172
+ /** 購買人預期取餐時間 */
173
+ expectedPickupAt?: number;
174
+ /** 訂單取消方 */
175
+ canceledByParty?: SOOperateParty;
176
+ /** 外送地址 */
177
+ deliveryAddress?: Address;
178
+ /**
179
+ * 線上點餐、UberEats等等外送平台,線上成功收款後的
180
+ * Transaction會暫時存在這個Property,待POS接單後,
181
+ * 再將這個Transaction包成Receipt
182
+ */
183
+ externalPayment?: Transaction;
184
+ }
185
+ export interface OrderItem {
186
+ id?: string;
187
+ productCategoryId?: string;
188
+ productId?: string;
189
+ name: string;
190
+ /** amount of single product */
191
+ productAmount: number;
192
+ productTax: Tax;
193
+ attributes: OrderItemAttr[];
194
+ /**
195
+ * 經由註記調整價格後的一個品項金額
196
+ * 原價 `productAmount` + 註記總價 `Sum(attribute.additionalAmount)`
197
+ */
198
+ subtotal?: number;
199
+ /**
200
+ * 一個品項的手動折扣方式
201
+ */
202
+ manualDiscountMethod?: DiscountMethod;
203
+ /**
204
+ * 一個品項的折扣金額,為`subtotal`與`discountMethod`計算後結果
205
+ */
206
+ discountAmount?: number;
207
+ quantity: number;
208
+ /**
209
+ * (`subtotal` - `discountAmount`) * `quantity`
210
+ */
211
+ amount: number;
212
+ status?: OrderItemStatus;
213
+ /** 所屬第x次出單的品項,初始為undefined,第一次出單為0,每出單一次+1 */
214
+ round?: number;
215
+ changelogs?: OrderItemChangelog[];
216
+ paidStatus?: OrderItemPaidStatus;
217
+ /** 建立時間 */
218
+ createdAt?: number;
219
+ /** 廚房開始準備時間 */
220
+ preparingAt?: number;
221
+ /** 廚房出餐時間 */
222
+ completedAt?: number;
223
+ /** 出餐時間 */
224
+ confirmedAt?: number;
225
+ /** POS刪除時間 */
226
+ deletedAt?: number;
227
+ note?: string;
228
+ createdBy?: Operator;
229
+ deletedBy?: Operator;
230
+ checkedOutBy?: Operator;
231
+ /** 點這個orderItem的人的ID,對應到Order.onlineBuyers */
232
+ onlineBuyerId?: string;
233
+ }
234
+ export interface OrderItemChangelog {
235
+ timestamp: number;
236
+ quantity?: number;
237
+ amount?: number;
238
+ attributes?: OrderItemAttr[];
239
+ note?: string;
240
+ manualDiscountMethod?: DiscountMethod;
241
+ discountAmount?: number;
242
+ modifiedBy?: Operator;
243
+ }
244
+ export interface OrderItemAttr {
245
+ attributeId?: string;
246
+ name: string;
247
+ additionalAmount: number;
248
+ }
249
+ export interface OrderPayment {
250
+ paymentServiceProvider: PaymentServiceProvider;
251
+ paymentType: PaymentType;
252
+ /** Transaction ID provided by third party payment vendor after payment. */
253
+ transactionId: string;
254
+ /** PaidAt provided by third party payment vendor after payment. */
255
+ paidAt: number;
256
+ /** Used to record the payment results provided by third-party payment vendor */
257
+ detail: any;
258
+ /** Used to record info of refund. */
259
+ refundPayload?: RefundPayload;
260
+ operator?: Operator;
261
+ }
262
+ /** @Deprecated */
263
+ export interface OrderInvoiceRequest {
264
+ /** Get from User Input */
265
+ buyerId: string;
266
+ /** Get from invoice service takeInvoiceNumber */
267
+ invoiceNumber: string;
268
+ /** Get from User Input */
269
+ loveCode: string;
270
+ /** Get from User Input */
271
+ carrierId: string;
272
+ }
273
+ export interface OrderInvoice {
274
+ buyerId: string;
275
+ loveCode: string;
276
+ carrierId: string;
277
+ invoiceNumber: string;
278
+ randomNumber: string;
279
+ carrierType: InvoiceCarrierType;
280
+ qrCodePassword: string;
281
+ status: InvoiceStatusType;
282
+ issuedAt: number;
283
+ voidedAt: number;
284
+ voidReason: string;
285
+ remark?: string;
286
+ /**
287
+ * @Deprecated - addressed by event feature
288
+ */
289
+ uploadStatus: null | 'uploaded' | 'uploadFailed' | 'voided' | 'voidFailed';
290
+ uploadAt: number;
291
+ uploadDetail?: any;
292
+ uploadVoidAt: number;
293
+ uploadVoidDetail?: any;
294
+ }
295
+ export interface OrderReceipt {
296
+ id: string;
297
+ accountId?: string;
298
+ status: ReceiptStatusType;
299
+ issuedAt: number;
300
+ voidedAt: number;
301
+ }
302
+ export interface RefundPayload {
303
+ accountId?: string;
304
+ operator?: Operator;
305
+ operationTimestamp: number;
306
+ transactionId: string;
307
+ success: boolean;
308
+ amount: number;
309
+ payload: any;
310
+ }
311
+ export interface ShiftClosingResult {
312
+ accountId?: string;
313
+ operator?: Operator;
314
+ operationTimestamp: number;
315
+ startedAt: number;
316
+ endedAt: number;
317
+ paymentSummary: PaymentSummary[];
318
+ /** 淨營收額 (本期收據 收款金額 - 本期收據作廢金額 - 非本期收據作廢金額) */
319
+ totalSalesRevenue: number;
320
+ /** 本期收據 收款數 */
321
+ currentIssuedCount: number;
322
+ /** 本期收據 收款金額 */
323
+ currentIssuedAmount: number;
324
+ /** 本期收據 作廢數 */
325
+ currentVoidedCount: number;
326
+ /** 本期收據 作廢金額 */
327
+ currentVoidedAmount: number;
328
+ /** 本期收據 作廢收據編號或發票號碼 */
329
+ currentVoidedInvoiceNumbers: string[];
330
+ /** 非本期收據 作廢數 */
331
+ nonCurrentVoidedCount: number;
332
+ /** 非本期收據 作廢金額 */
333
+ nonCurrentVoidedAmount: number;
334
+ /** 非本期收據 作廢收據編號或發票號碼 */
335
+ nonCurrentVoidedInvoiceNumbers: string[];
336
+ }
337
+ export interface ClosingResult {
338
+ id: string;
339
+ type: CloseType;
340
+ startedAt: number;
341
+ endedAt: number;
342
+ /** 帳區Id */
343
+ accountId: string;
344
+ paymentSummary: PaymentSummary[];
345
+ /** 淨營收額 (本期收據 收款金額 - 本期收據作廢金額 - 非本期收據作廢金額) */
346
+ totalSalesRevenue: number;
347
+ /** 本期收據 收款數 */
348
+ currentIssuedCount: number;
349
+ /** 本期收據 收款金額 */
350
+ currentIssuedAmount: number;
351
+ /** 本期收據 作廢數 */
352
+ currentVoidedCount: number;
353
+ /** 本期收據 作廢金額 */
354
+ currentVoidedAmount: number;
355
+ /** 本期收據 作廢收據編號或發票號碼 */
356
+ currentVoidedInvoiceNumbers: string[];
357
+ /** 非本期收據 作廢數 */
358
+ nonCurrentVoidedCount: number;
359
+ /** 非本期收據 作廢金額 */
360
+ nonCurrentVoidedAmount: number;
361
+ /** 非本期收據 作廢收據編號或發票號碼 */
362
+ nonCurrentVoidedInvoiceNumbers: string[];
363
+ /** 註銷品項數量 */
364
+ cancelledSalesCount?: number;
365
+ /** 註銷品項金額 */
366
+ cancelledSalesAmount?: number;
367
+ /** 註銷品項項目 */
368
+ cancelledSalesDetails?: ClosingSalesProductDetail[];
369
+ operationTimestamp: number;
370
+ operator?: Operator;
371
+ }
372
+ export interface PaymentSummary {
373
+ paymentServiceProvider: PaymentServiceProvider;
374
+ paymentType: PaymentType;
375
+ /** 自定義支付名稱 */
376
+ customName?: string;
377
+ disableInventory?: boolean;
378
+ /** 收款交易數 */
379
+ paymentCount?: number;
380
+ /** 收款總金額(正數) */
381
+ paymentAmount?: number;
382
+ /** 退款交易數 */
383
+ refundCount?: number;
384
+ /** 退款總金額(正數) */
385
+ refundAmount?: number;
386
+ /** 總交易數(收款交易數 + 退款交易數) */
387
+ count: number;
388
+ /** 銷售淨額(收款總金額 - 退款總金額) */
389
+ amount: number;
390
+ /** 實際金額 */
391
+ actualAmount?: number;
392
+ /**
393
+ * 短溢金額 (實際金額 - 應有金額)
394
+ * 應有金額 = 銷售淨額 + 上期留存金額 - 臨時支出
395
+ */
396
+ varianceAmount?: number;
397
+ /** 短溢原因 */
398
+ varianceReason?: string;
399
+ }
400
+ export interface CashSummary extends PaymentSummary {
401
+ paymentServiceProvider: PaymentServiceProvider.none;
402
+ paymentType: PaymentType.cash;
403
+ /** 現金臨時支出 */
404
+ expenditureDetails: Expenditure[];
405
+ /** 現金匯出金額 */
406
+ withdrawal: number;
407
+ /** 上期留存金額 */
408
+ initAmount: number;
409
+ /** 現金留存金額 (現金實際金額 - 現金匯出金額) */
410
+ retained: number;
411
+ }
412
+ export interface Expenditure {
413
+ /** 臨時支出名稱 */
414
+ name: string;
415
+ /** 臨時支出金額(正數) */
416
+ amount: number;
417
+ }
418
+ export interface AggregationInfo {
419
+ aggregatedAt: number;
420
+ belongTimePeriod: number;
421
+ }
422
+ export interface OrderDiscount {
423
+ discountReferences: DiscountReference[];
424
+ }
425
+ export interface DiscountReference {
426
+ type: DiscountModuleTypeEnum;
427
+ id: string;
428
+ name: string;
429
+ amount: number;
430
+ quantity: number;
431
+ discountStartedAt: number;
432
+ discountEndedAt: number;
433
+ code?: string;
434
+ orderItemId?: string;
435
+ }
436
+ export interface ClosingSalesDetail {
437
+ id: string;
438
+ startedAt: number;
439
+ endedAt: number;
440
+ salesCount: number;
441
+ salesAmount: number;
442
+ /** exclude selected item discount */
443
+ salesDiscountAmount: number;
444
+ numberOfCustomers: number;
445
+ salesDetails: ClosingSalesProductDetail[];
446
+ }
447
+ export interface ClosingSalesProductDetail {
448
+ productId: string;
449
+ name: string;
450
+ amount: number;
451
+ quantity: number;
452
+ }