@aptos-scp/scp-component-store-selling-features-domain-model 1.0.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 (776) hide show
  1. package/LICENSE.md +1 -0
  2. package/README.md +96 -0
  3. package/lib/config/DiTypes.d.ts +6 -0
  4. package/lib/config/DiTypes.js +10 -0
  5. package/lib/config/ErrorCodes.d.ts +10 -0
  6. package/lib/config/ErrorCodes.js +14 -0
  7. package/lib/config/index.d.ts +3 -0
  8. package/lib/config/index.js +9 -0
  9. package/lib/config/inversify/binding-helpers.d.ts +3 -0
  10. package/lib/config/inversify/binding-helpers.js +7 -0
  11. package/lib/config/inversify/index.d.ts +3 -0
  12. package/lib/config/inversify/index.js +9 -0
  13. package/lib/config/inversify/inversify.app.config.d.ts +19 -0
  14. package/lib/config/inversify/inversify.app.config.js +45 -0
  15. package/lib/config/inversify/inversify.terminal.config/index.d.ts +1 -0
  16. package/lib/config/inversify/inversify.terminal.config/index.js +7 -0
  17. package/lib/config/inversify/inversify.terminal.config/transaction-services.config.d.ts +11 -0
  18. package/lib/config/inversify/inversify.terminal.config/transaction-services.config.js +30 -0
  19. package/lib/domain/UIBusinessEventTypes.d.ts +305 -0
  20. package/lib/domain/UIBusinessEventTypes.js +313 -0
  21. package/lib/domain/index.d.ts +5 -0
  22. package/lib/domain/index.js +10 -0
  23. package/lib/domain/model/AddressVerification.d.ts +21 -0
  24. package/lib/domain/model/AddressVerification.js +3 -0
  25. package/lib/domain/model/ApplicationControlTransaction.d.ts +13 -0
  26. package/lib/domain/model/ApplicationControlTransaction.js +47 -0
  27. package/lib/domain/model/AtcudCodePrefixData.d.ts +19 -0
  28. package/lib/domain/model/AtcudCodePrefixData.js +3 -0
  29. package/lib/domain/model/BaseLineDecorator.d.ts +83 -0
  30. package/lib/domain/model/BaseLineDecorator.js +216 -0
  31. package/lib/domain/model/BaseTransactionLine.d.ts +71 -0
  32. package/lib/domain/model/BaseTransactionLine.js +183 -0
  33. package/lib/domain/model/CashDrawerDetail.d.ts +21 -0
  34. package/lib/domain/model/CashDrawerDetail.js +3 -0
  35. package/lib/domain/model/Constants.d.ts +977 -0
  36. package/lib/domain/model/Constants.js +985 -0
  37. package/lib/domain/model/CorruptedTransaction.d.ts +16 -0
  38. package/lib/domain/model/CorruptedTransaction.js +58 -0
  39. package/lib/domain/model/Coupon.d.ts +8 -0
  40. package/lib/domain/model/Coupon.js +3 -0
  41. package/lib/domain/model/CreateEinvoiceLine.d.ts +32 -0
  42. package/lib/domain/model/CreateEinvoiceLine.js +71 -0
  43. package/lib/domain/model/Customer.d.ts +387 -0
  44. package/lib/domain/model/Customer.js +320 -0
  45. package/lib/domain/model/CustomerServiceTransaction.d.ts +12 -0
  46. package/lib/domain/model/CustomerServiceTransaction.js +39 -0
  47. package/lib/domain/model/Department.d.ts +15 -0
  48. package/lib/domain/model/Department.js +3 -0
  49. package/lib/domain/model/EmailVerification.d.ts +24 -0
  50. package/lib/domain/model/EmailVerification.js +35 -0
  51. package/lib/domain/model/Employee.d.ts +80 -0
  52. package/lib/domain/model/Employee.js +73 -0
  53. package/lib/domain/model/EndOfTransactionTenderingSession.d.ts +39 -0
  54. package/lib/domain/model/EndOfTransactionTenderingSession.js +89 -0
  55. package/lib/domain/model/ExchangeRates.d.ts +13 -0
  56. package/lib/domain/model/ExchangeRates.js +8 -0
  57. package/lib/domain/model/FiscalControlTransaction.d.ts +12 -0
  58. package/lib/domain/model/FiscalControlTransaction.js +43 -0
  59. package/lib/domain/model/FulfillmentGroup.d.ts +35 -0
  60. package/lib/domain/model/FulfillmentGroup.js +137 -0
  61. package/lib/domain/model/IAppLocalFeaturesStorage.d.ts +78 -0
  62. package/lib/domain/model/IAppLocalFeaturesStorage.js +3 -0
  63. package/lib/domain/model/ICreateEinvoiceLine.d.ts +9 -0
  64. package/lib/domain/model/ICreateEinvoiceLine.js +3 -0
  65. package/lib/domain/model/IEmployeeDiscount.d.ts +15 -0
  66. package/lib/domain/model/IEmployeeDiscount.js +3 -0
  67. package/lib/domain/model/IFiscalTransactionNumberMaintainer.d.ts +10 -0
  68. package/lib/domain/model/IFiscalTransactionNumberMaintainer.js +8 -0
  69. package/lib/domain/model/IInvoiceOperation.d.ts +10 -0
  70. package/lib/domain/model/IInvoiceOperation.js +8 -0
  71. package/lib/domain/model/ILastRetailTransactionInfo.d.ts +13 -0
  72. package/lib/domain/model/ILastRetailTransactionInfo.js +3 -0
  73. package/lib/domain/model/ILastTransactionStatus.d.ts +5 -0
  74. package/lib/domain/model/ILastTransactionStatus.js +3 -0
  75. package/lib/domain/model/ILoyaltyVoucher.d.ts +28 -0
  76. package/lib/domain/model/ILoyaltyVoucher.js +9 -0
  77. package/lib/domain/model/IPrinterInfo.d.ts +6 -0
  78. package/lib/domain/model/IPrinterInfo.js +3 -0
  79. package/lib/domain/model/ISequence.d.ts +8 -0
  80. package/lib/domain/model/ISequence.js +3 -0
  81. package/lib/domain/model/IServiceResultLine.d.ts +4 -0
  82. package/lib/domain/model/IServiceResultLine.js +3 -0
  83. package/lib/domain/model/ISingleUseCoupon.d.ts +22 -0
  84. package/lib/domain/model/ISingleUseCoupon.js +38 -0
  85. package/lib/domain/model/ITransactionMetadataPersistanceObject.d.ts +12 -0
  86. package/lib/domain/model/ITransactionMetadataPersistanceObject.js +3 -0
  87. package/lib/domain/model/Inventory.d.ts +156 -0
  88. package/lib/domain/model/Inventory.js +78 -0
  89. package/lib/domain/model/ItemHandlingSession.d.ts +40 -0
  90. package/lib/domain/model/ItemHandlingSession.js +131 -0
  91. package/lib/domain/model/LoyaltyMembership.d.ts +153 -0
  92. package/lib/domain/model/LoyaltyMembership.js +23 -0
  93. package/lib/domain/model/MerchandiseTransaction.d.ts +310 -0
  94. package/lib/domain/model/MerchandiseTransaction.js +1299 -0
  95. package/lib/domain/model/MetricsLogs.d.ts +41 -0
  96. package/lib/domain/model/MetricsLogs.js +3 -0
  97. package/lib/domain/model/MunicipalFiscalCode.d.ts +25 -0
  98. package/lib/domain/model/MunicipalFiscalCode.js +3 -0
  99. package/lib/domain/model/NoSaleTransaction.d.ts +13 -0
  100. package/lib/domain/model/NoSaleTransaction.js +49 -0
  101. package/lib/domain/model/Order.d.ts +67 -0
  102. package/lib/domain/model/Order.js +190 -0
  103. package/lib/domain/model/OrderTotals.d.ts +44 -0
  104. package/lib/domain/model/OrderTotals.js +76 -0
  105. package/lib/domain/model/Organization.d.ts +99 -0
  106. package/lib/domain/model/Organization.js +3 -0
  107. package/lib/domain/model/PrepaidTender.d.ts +14 -0
  108. package/lib/domain/model/PrepaidTender.js +3 -0
  109. package/lib/domain/model/ReceiptSession.d.ts +87 -0
  110. package/lib/domain/model/ReceiptSession.js +206 -0
  111. package/lib/domain/model/ReprintReceiptTransaction.d.ts +49 -0
  112. package/lib/domain/model/ReprintReceiptTransaction.js +179 -0
  113. package/lib/domain/model/ResumeTransactionSession.d.ts +22 -0
  114. package/lib/domain/model/ResumeTransactionSession.js +56 -0
  115. package/lib/domain/model/RetailTransaction.d.ts +127 -0
  116. package/lib/domain/model/RetailTransaction.js +556 -0
  117. package/lib/domain/model/Sendsale.d.ts +4 -0
  118. package/lib/domain/model/Sendsale.js +3 -0
  119. package/lib/domain/model/StoreItem.d.ts +175 -0
  120. package/lib/domain/model/StoreItem.js +750 -0
  121. package/lib/domain/model/StoredValueCardSession.d.ts +29 -0
  122. package/lib/domain/model/StoredValueCardSession.js +65 -0
  123. package/lib/domain/model/StoredValueCertificateSession.d.ts +47 -0
  124. package/lib/domain/model/StoredValueCertificateSession.js +153 -0
  125. package/lib/domain/model/SubscriptionTokenSession.d.ts +22 -0
  126. package/lib/domain/model/SubscriptionTokenSession.js +60 -0
  127. package/lib/domain/model/Subscriptions.d.ts +12 -0
  128. package/lib/domain/model/Subscriptions.js +3 -0
  129. package/lib/domain/model/TaxRefundControlTransaction.d.ts +13 -0
  130. package/lib/domain/model/TaxRefundControlTransaction.js +50 -0
  131. package/lib/domain/model/TenderAuthorizationSession.d.ts +102 -0
  132. package/lib/domain/model/TenderAuthorizationSession.js +337 -0
  133. package/lib/domain/model/TenderControlTransaction.d.ts +30 -0
  134. package/lib/domain/model/TenderControlTransaction.js +138 -0
  135. package/lib/domain/model/TenderHandlingSession.d.ts +100 -0
  136. package/lib/domain/model/TenderHandlingSession.js +379 -0
  137. package/lib/domain/model/TenderType.d.ts +161 -0
  138. package/lib/domain/model/TenderType.js +1317 -0
  139. package/lib/domain/model/TerminalControlTransaction.d.ts +14 -0
  140. package/lib/domain/model/TerminalControlTransaction.js +55 -0
  141. package/lib/domain/model/TerminalSession.d.ts +49 -0
  142. package/lib/domain/model/TerminalSession.js +122 -0
  143. package/lib/domain/model/TillControlTransaction.d.ts +20 -0
  144. package/lib/domain/model/TillControlTransaction.js +79 -0
  145. package/lib/domain/model/TillSession.d.ts +67 -0
  146. package/lib/domain/model/TillSession.js +222 -0
  147. package/lib/domain/model/TransactionFlowState.d.ts +26 -0
  148. package/lib/domain/model/TransactionFlowState.js +72 -0
  149. package/lib/domain/model/TransactionReferenceLine.d.ts +112 -0
  150. package/lib/domain/model/TransactionReferenceLine.js +323 -0
  151. package/lib/domain/model/User.d.ts +115 -0
  152. package/lib/domain/model/User.js +210 -0
  153. package/lib/domain/model/UserSession.d.ts +36 -0
  154. package/lib/domain/model/UserSession.js +186 -0
  155. package/lib/domain/model/UserTransaction.d.ts +12 -0
  156. package/lib/domain/model/UserTransaction.js +38 -0
  157. package/lib/domain/model/VoidInterfaces.d.ts +15 -0
  158. package/lib/domain/model/VoidInterfaces.js +23 -0
  159. package/lib/domain/model/cashDrawer/CashDrawerRequestLine.d.ts +17 -0
  160. package/lib/domain/model/cashDrawer/CashDrawerRequestLine.js +50 -0
  161. package/lib/domain/model/cashDrawer/CashDrawerSession.d.ts +67 -0
  162. package/lib/domain/model/cashDrawer/CashDrawerSession.js +211 -0
  163. package/lib/domain/model/cashDrawer/CashDrawerStatusChangeLine.d.ts +30 -0
  164. package/lib/domain/model/cashDrawer/CashDrawerStatusChangeLine.js +86 -0
  165. package/lib/domain/model/cashDrawer/ICashDrawerRequestLine.d.ts +6 -0
  166. package/lib/domain/model/cashDrawer/ICashDrawerRequestLine.js +3 -0
  167. package/lib/domain/model/cashDrawer/ICashDrawerStatusChangeLine.d.ts +13 -0
  168. package/lib/domain/model/cashDrawer/ICashDrawerStatusChangeLine.js +3 -0
  169. package/lib/domain/model/cashDrawer/index.d.ts +5 -0
  170. package/lib/domain/model/cashDrawer/index.js +9 -0
  171. package/lib/domain/model/configuration/ConfigurationUtils.d.ts +3 -0
  172. package/lib/domain/model/configuration/ConfigurationUtils.js +8 -0
  173. package/lib/domain/model/configuration/DataEntryRule.d.ts +31 -0
  174. package/lib/domain/model/configuration/DataEntryRule.js +303 -0
  175. package/lib/domain/model/configuration/I18nReceiptFormattingInterface.d.ts +38 -0
  176. package/lib/domain/model/configuration/I18nReceiptFormattingInterface.js +3 -0
  177. package/lib/domain/model/configuration/I18nTaxFreeConfig.d.ts +11 -0
  178. package/lib/domain/model/configuration/I18nTaxFreeConfig.js +3 -0
  179. package/lib/domain/model/configuration/IAccessPolicyConfig.d.ts +5 -0
  180. package/lib/domain/model/configuration/IAccessPolicyConfig.js +3 -0
  181. package/lib/domain/model/configuration/IAdapterPoliciesConfig.d.ts +24 -0
  182. package/lib/domain/model/configuration/IAdapterPoliciesConfig.js +13 -0
  183. package/lib/domain/model/configuration/IConditionalAttributeBehaviorRuleConfig.d.ts +32 -0
  184. package/lib/domain/model/configuration/IConditionalAttributeBehaviorRuleConfig.js +8 -0
  185. package/lib/domain/model/configuration/ICustomerConfig.d.ts +31 -0
  186. package/lib/domain/model/configuration/ICustomerConfig.js +15 -0
  187. package/lib/domain/model/configuration/IDataEntryRuleConfig.d.ts +66 -0
  188. package/lib/domain/model/configuration/IDataEntryRuleConfig.js +22 -0
  189. package/lib/domain/model/configuration/IDiscountAttributesConfig .d.ts +26 -0
  190. package/lib/domain/model/configuration/IDiscountAttributesConfig .js +8 -0
  191. package/lib/domain/model/configuration/IDiscountBehaviorsConfig.d.ts +27 -0
  192. package/lib/domain/model/configuration/IDiscountBehaviorsConfig.js +21 -0
  193. package/lib/domain/model/configuration/IDonationBehaviorsConfig.d.ts +9 -0
  194. package/lib/domain/model/configuration/IDonationBehaviorsConfig.js +3 -0
  195. package/lib/domain/model/configuration/IFeatureAccessConfig.d.ts +186 -0
  196. package/lib/domain/model/configuration/IFeatureAccessConfig.js +51 -0
  197. package/lib/domain/model/configuration/IFeesConfig.d.ts +109 -0
  198. package/lib/domain/model/configuration/IFeesConfig.js +86 -0
  199. package/lib/domain/model/configuration/IPrinterTypeConfig.d.ts +25 -0
  200. package/lib/domain/model/configuration/IPrinterTypeConfig.js +3 -0
  201. package/lib/domain/model/configuration/IProductInquiryBehaviorsConfig.d.ts +8 -0
  202. package/lib/domain/model/configuration/IProductInquiryBehaviorsConfig.js +8 -0
  203. package/lib/domain/model/configuration/IReasonCodesConfig.d.ts +16 -0
  204. package/lib/domain/model/configuration/IReasonCodesConfig.js +3 -0
  205. package/lib/domain/model/configuration/IReceiptConfig.d.ts +64 -0
  206. package/lib/domain/model/configuration/IReceiptConfig.js +24 -0
  207. package/lib/domain/model/configuration/IReceiptFormattingConfig.d.ts +155 -0
  208. package/lib/domain/model/configuration/IReceiptFormattingConfig.js +27 -0
  209. package/lib/domain/model/configuration/IReceiptStylingConfig.d.ts +52 -0
  210. package/lib/domain/model/configuration/IReceiptStylingConfig.js +18 -0
  211. package/lib/domain/model/configuration/IReserveInventoryConfig.d.ts +4 -0
  212. package/lib/domain/model/configuration/IReserveInventoryConfig.js +8 -0
  213. package/lib/domain/model/configuration/ISelfCheckoutModeBehaviorsConfig.d.ts +14 -0
  214. package/lib/domain/model/configuration/ISelfCheckoutModeBehaviorsConfig.js +3 -0
  215. package/lib/domain/model/configuration/ISequenceConfig.d.ts +44 -0
  216. package/lib/domain/model/configuration/ISequenceConfig.js +26 -0
  217. package/lib/domain/model/configuration/IStoreOperationsBehavior.d.ts +7 -0
  218. package/lib/domain/model/configuration/IStoreOperationsBehavior.js +8 -0
  219. package/lib/domain/model/configuration/IStoreShippingMethodConfig.d.ts +21 -0
  220. package/lib/domain/model/configuration/IStoreShippingMethodConfig.js +3 -0
  221. package/lib/domain/model/configuration/ITaxBehaviorConfig.d.ts +14 -0
  222. package/lib/domain/model/configuration/ITaxBehaviorConfig.js +3 -0
  223. package/lib/domain/model/configuration/ITaxRefundConfig.d.ts +8 -0
  224. package/lib/domain/model/configuration/ITaxRefundConfig.js +3 -0
  225. package/lib/domain/model/configuration/ITendersConfig.d.ts +88 -0
  226. package/lib/domain/model/configuration/ITendersConfig.js +22 -0
  227. package/lib/domain/model/configuration/Ii18n.d.ts +4 -0
  228. package/lib/domain/model/configuration/Ii18n.js +3 -0
  229. package/lib/domain/model/configuration/TaxLottery.d.ts +4 -0
  230. package/lib/domain/model/configuration/TaxLottery.js +8 -0
  231. package/lib/domain/model/configuration/index.d.ts +30 -0
  232. package/lib/domain/model/configuration/index.js +25 -0
  233. package/lib/domain/model/customer/CreateCustomerLine.d.ts +151 -0
  234. package/lib/domain/model/customer/CreateCustomerLine.js +312 -0
  235. package/lib/domain/model/customer/CustomerLine.d.ts +43 -0
  236. package/lib/domain/model/customer/CustomerLine.js +109 -0
  237. package/lib/domain/model/customer/ICreateCustomerLine.d.ts +16 -0
  238. package/lib/domain/model/customer/ICreateCustomerLine.js +3 -0
  239. package/lib/domain/model/customer/ICustomerI18nFormats.d.ts +126 -0
  240. package/lib/domain/model/customer/ICustomerI18nFormats.js +67 -0
  241. package/lib/domain/model/customer/ICustomerLine.d.ts +8 -0
  242. package/lib/domain/model/customer/ICustomerLine.js +3 -0
  243. package/lib/domain/model/customer/ITaxCustomerLine.d.ts +46 -0
  244. package/lib/domain/model/customer/ITaxCustomerLine.js +3 -0
  245. package/lib/domain/model/customer/IUpdateCustomerLine.d.ts +30 -0
  246. package/lib/domain/model/customer/IUpdateCustomerLine.js +3 -0
  247. package/lib/domain/model/customer/TaxCustomerLine.d.ts +105 -0
  248. package/lib/domain/model/customer/TaxCustomerLine.js +252 -0
  249. package/lib/domain/model/customer/UpdateCustomerLine.d.ts +148 -0
  250. package/lib/domain/model/customer/UpdateCustomerLine.js +296 -0
  251. package/lib/domain/model/customer/index.d.ts +9 -0
  252. package/lib/domain/model/customer/index.js +11 -0
  253. package/lib/domain/model/digitalSignature/DigitalSignatureFailureLine.d.ts +11 -0
  254. package/lib/domain/model/digitalSignature/DigitalSignatureFailureLine.js +33 -0
  255. package/lib/domain/model/digitalSignature/index.d.ts +1 -0
  256. package/lib/domain/model/digitalSignature/index.js +7 -0
  257. package/lib/domain/model/discounts/BaseManualDiscountLine.d.ts +119 -0
  258. package/lib/domain/model/discounts/BaseManualDiscountLine.js +435 -0
  259. package/lib/domain/model/discounts/BaseManualDiscountLineDecorator.d.ts +42 -0
  260. package/lib/domain/model/discounts/BaseManualDiscountLineDecorator.js +107 -0
  261. package/lib/domain/model/discounts/BasePromotionCouponLine.d.ts +22 -0
  262. package/lib/domain/model/discounts/BasePromotionCouponLine.js +45 -0
  263. package/lib/domain/model/discounts/BasePromotionCouponLineDecorator.d.ts +15 -0
  264. package/lib/domain/model/discounts/BasePromotionCouponLineDecorator.js +38 -0
  265. package/lib/domain/model/discounts/ExpiredCouponOverrideLine.d.ts +27 -0
  266. package/lib/domain/model/discounts/ExpiredCouponOverrideLine.js +54 -0
  267. package/lib/domain/model/discounts/IManualDiscountLine.d.ts +33 -0
  268. package/lib/domain/model/discounts/IManualDiscountLine.js +3 -0
  269. package/lib/domain/model/discounts/IPromotionCouponLine.d.ts +10 -0
  270. package/lib/domain/model/discounts/IPromotionCouponLine.js +3 -0
  271. package/lib/domain/model/discounts/LoyaltyActivityDiscountLineTotalDecorator.d.ts +15 -0
  272. package/lib/domain/model/discounts/LoyaltyActivityDiscountLineTotalDecorator.js +32 -0
  273. package/lib/domain/model/discounts/LoyaltyDiscountLine.d.ts +52 -0
  274. package/lib/domain/model/discounts/LoyaltyDiscountLine.js +131 -0
  275. package/lib/domain/model/discounts/LoyaltyDiscountLineTotalDecorator.d.ts +26 -0
  276. package/lib/domain/model/discounts/LoyaltyDiscountLineTotalDecorator.js +66 -0
  277. package/lib/domain/model/discounts/ManualDiscountLineModificationDecorator.d.ts +49 -0
  278. package/lib/domain/model/discounts/ManualDiscountLineModificationDecorator.js +143 -0
  279. package/lib/domain/model/discounts/ManualDiscountLineTotalDecorator.d.ts +15 -0
  280. package/lib/domain/model/discounts/ManualDiscountLineTotalDecorator.js +32 -0
  281. package/lib/domain/model/discounts/ManualItemDiscountLine.d.ts +27 -0
  282. package/lib/domain/model/discounts/ManualItemDiscountLine.js +53 -0
  283. package/lib/domain/model/discounts/ManualTransactionDiscountLine.d.ts +22 -0
  284. package/lib/domain/model/discounts/ManualTransactionDiscountLine.js +40 -0
  285. package/lib/domain/model/discounts/ModifyManualDiscountLine.d.ts +29 -0
  286. package/lib/domain/model/discounts/ModifyManualDiscountLine.js +62 -0
  287. package/lib/domain/model/discounts/PromotionCouponLine.d.ts +22 -0
  288. package/lib/domain/model/discounts/PromotionCouponLine.js +59 -0
  289. package/lib/domain/model/discounts/VoidedDiscountLineDecorator.d.ts +15 -0
  290. package/lib/domain/model/discounts/VoidedDiscountLineDecorator.js +38 -0
  291. package/lib/domain/model/discounts/VoidedLoyaltyDiscountLineDecorator.d.ts +18 -0
  292. package/lib/domain/model/discounts/VoidedLoyaltyDiscountLineDecorator.js +46 -0
  293. package/lib/domain/model/discounts/VoidedPromotionCouponLineDecorator.d.ts +13 -0
  294. package/lib/domain/model/discounts/VoidedPromotionCouponLineDecorator.js +32 -0
  295. package/lib/domain/model/discounts/employee/EmployeeDiscountLine.d.ts +17 -0
  296. package/lib/domain/model/discounts/employee/EmployeeDiscountLine.js +43 -0
  297. package/lib/domain/model/discounts/employee/index.d.ts +1 -0
  298. package/lib/domain/model/discounts/employee/index.js +7 -0
  299. package/lib/domain/model/discounts/index.d.ts +19 -0
  300. package/lib/domain/model/discounts/index.js +23 -0
  301. package/lib/domain/model/discounts/lineTypes.d.ts +12 -0
  302. package/lib/domain/model/discounts/lineTypes.js +30 -0
  303. package/lib/domain/model/donation/BaseDonationLineDecorator.d.ts +16 -0
  304. package/lib/domain/model/donation/BaseDonationLineDecorator.js +38 -0
  305. package/lib/domain/model/donation/DonationLine.d.ts +43 -0
  306. package/lib/domain/model/donation/DonationLine.js +102 -0
  307. package/lib/domain/model/donation/IDonationLine.d.ts +9 -0
  308. package/lib/domain/model/donation/IDonationLine.js +3 -0
  309. package/lib/domain/model/donation/VoidedDonationLineDecorator.d.ts +17 -0
  310. package/lib/domain/model/donation/VoidedDonationLineDecorator.js +43 -0
  311. package/lib/domain/model/donation/index.d.ts +4 -0
  312. package/lib/domain/model/donation/index.js +9 -0
  313. package/lib/domain/model/employeeCustomer/BaseEmployeeCustomerLineDecorator.d.ts +13 -0
  314. package/lib/domain/model/employeeCustomer/BaseEmployeeCustomerLineDecorator.js +32 -0
  315. package/lib/domain/model/employeeCustomer/EmployeeCustomerLine.d.ts +39 -0
  316. package/lib/domain/model/employeeCustomer/EmployeeCustomerLine.js +98 -0
  317. package/lib/domain/model/employeeCustomer/IEmployeeCustomerLine.d.ts +8 -0
  318. package/lib/domain/model/employeeCustomer/IEmployeeCustomerLine.js +3 -0
  319. package/lib/domain/model/employeeCustomer/VoidedEmployeeCustomerLineDecorator.d.ts +15 -0
  320. package/lib/domain/model/employeeCustomer/VoidedEmployeeCustomerLineDecorator.js +38 -0
  321. package/lib/domain/model/employeeCustomer/index.d.ts +4 -0
  322. package/lib/domain/model/employeeCustomer/index.js +9 -0
  323. package/lib/domain/model/extensibilityForm/ExtensibilityFormDataLine.d.ts +26 -0
  324. package/lib/domain/model/extensibilityForm/ExtensibilityFormDataLine.js +74 -0
  325. package/lib/domain/model/extensibilityForm/IExtensibilityForm.d.ts +8 -0
  326. package/lib/domain/model/extensibilityForm/IExtensibilityForm.js +3 -0
  327. package/lib/domain/model/extensibilityForm/index.d.ts +2 -0
  328. package/lib/domain/model/extensibilityForm/index.js +7 -0
  329. package/lib/domain/model/fee/BaseFeeLineDecorator.d.ts +68 -0
  330. package/lib/domain/model/fee/BaseFeeLineDecorator.js +194 -0
  331. package/lib/domain/model/fee/FeeLine.d.ts +179 -0
  332. package/lib/domain/model/fee/FeeLine.js +660 -0
  333. package/lib/domain/model/fee/FeeLineBaseTaxAdjustmentDecorator.d.ts +18 -0
  334. package/lib/domain/model/fee/FeeLineBaseTaxAdjustmentDecorator.js +52 -0
  335. package/lib/domain/model/fee/FeeLineChangeQuantityDecorator.d.ts +14 -0
  336. package/lib/domain/model/fee/FeeLineChangeQuantityDecorator.js +35 -0
  337. package/lib/domain/model/fee/FeeLineExtendedAmountDecorator.d.ts +38 -0
  338. package/lib/domain/model/fee/FeeLineExtendedAmountDecorator.js +134 -0
  339. package/lib/domain/model/fee/FeeLineOriginalPricingAdjustmentDecorator.d.ts +22 -0
  340. package/lib/domain/model/fee/FeeLineOriginalPricingAdjustmentDecorator.js +82 -0
  341. package/lib/domain/model/fee/FeeLinePricingExtendedAmountDecorator.d.ts +22 -0
  342. package/lib/domain/model/fee/FeeLinePricingExtendedAmountDecorator.js +82 -0
  343. package/lib/domain/model/fee/FeeLineTaxExemptDecorator.d.ts +24 -0
  344. package/lib/domain/model/fee/FeeLineTaxExemptDecorator.js +67 -0
  345. package/lib/domain/model/fee/FeeLineTaxOverrideDecorator.d.ts +21 -0
  346. package/lib/domain/model/fee/FeeLineTaxOverrideDecorator.js +63 -0
  347. package/lib/domain/model/fee/FeeQuantityChangeLine.d.ts +19 -0
  348. package/lib/domain/model/fee/FeeQuantityChangeLine.js +52 -0
  349. package/lib/domain/model/fee/IFeeLine.d.ts +104 -0
  350. package/lib/domain/model/fee/IFeeLine.js +3 -0
  351. package/lib/domain/model/fee/VoidedFeeLineDecorator.d.ts +15 -0
  352. package/lib/domain/model/fee/VoidedFeeLineDecorator.js +38 -0
  353. package/lib/domain/model/fee/index.d.ts +12 -0
  354. package/lib/domain/model/fee/index.js +17 -0
  355. package/lib/domain/model/fiscalDevice/FiscalDeviceManagementLine.d.ts +34 -0
  356. package/lib/domain/model/fiscalDevice/FiscalDeviceManagementLine.js +69 -0
  357. package/lib/domain/model/fiscalDevice/FiscalDeviceManagementRetryLine.d.ts +15 -0
  358. package/lib/domain/model/fiscalDevice/FiscalDeviceManagementRetryLine.js +45 -0
  359. package/lib/domain/model/fiscalDevice/FiscalDeviceStatusLine.d.ts +35 -0
  360. package/lib/domain/model/fiscalDevice/FiscalDeviceStatusLine.js +87 -0
  361. package/lib/domain/model/fiscalDevice/index.d.ts +3 -0
  362. package/lib/domain/model/fiscalDevice/index.js +9 -0
  363. package/lib/domain/model/foreignCurrency/ExchangeRateManualEntryLine.d.ts +29 -0
  364. package/lib/domain/model/foreignCurrency/ExchangeRateManualEntryLine.js +67 -0
  365. package/lib/domain/model/foreignCurrency/index.d.ts +1 -0
  366. package/lib/domain/model/foreignCurrency/index.js +7 -0
  367. package/lib/domain/model/geoLocation.d.ts +23 -0
  368. package/lib/domain/model/geoLocation.js +3 -0
  369. package/lib/domain/model/giftCard/BalanceInquiryLine.d.ts +34 -0
  370. package/lib/domain/model/giftCard/BalanceInquiryLine.js +86 -0
  371. package/lib/domain/model/giftCard/index.d.ts +1 -0
  372. package/lib/domain/model/giftCard/index.js +7 -0
  373. package/lib/domain/model/index.d.ts +108 -0
  374. package/lib/domain/model/index.js +95 -0
  375. package/lib/domain/model/inventory/ReserveInventoryLine.d.ts +32 -0
  376. package/lib/domain/model/inventory/ReserveInventoryLine.js +76 -0
  377. package/lib/domain/model/inventory/index.d.ts +1 -0
  378. package/lib/domain/model/inventory/index.js +7 -0
  379. package/lib/domain/model/item/BaseItemLineDecorator.d.ts +148 -0
  380. package/lib/domain/model/item/BaseItemLineDecorator.js +400 -0
  381. package/lib/domain/model/item/BasePriceChangeLineDecorator.d.ts +20 -0
  382. package/lib/domain/model/item/BasePriceChangeLineDecorator.js +50 -0
  383. package/lib/domain/model/item/IAllLinePricingAdjustments.d.ts +32 -0
  384. package/lib/domain/model/item/IAllLinePricingAdjustments.js +66 -0
  385. package/lib/domain/model/item/IHardSoftStopItemInfo.d.ts +11 -0
  386. package/lib/domain/model/item/IHardSoftStopItemInfo.js +3 -0
  387. package/lib/domain/model/item/IItemLine.d.ts +313 -0
  388. package/lib/domain/model/item/IItemLine.js +7 -0
  389. package/lib/domain/model/item/ISerializedPriceCalculationResultsWithSource.d.ts +45 -0
  390. package/lib/domain/model/item/ISerializedPriceCalculationResultsWithSource.js +3 -0
  391. package/lib/domain/model/item/ItemLine.d.ts +303 -0
  392. package/lib/domain/model/item/ItemLine.js +1169 -0
  393. package/lib/domain/model/item/ItemLineBaseDiscountDecorator.d.ts +75 -0
  394. package/lib/domain/model/item/ItemLineBaseDiscountDecorator.js +178 -0
  395. package/lib/domain/model/item/ItemLineBaseTaxAdjustmentDecorator.d.ts +19 -0
  396. package/lib/domain/model/item/ItemLineBaseTaxAdjustmentDecorator.js +51 -0
  397. package/lib/domain/model/item/ItemLineCommentReceiptDecorator.d.ts +17 -0
  398. package/lib/domain/model/item/ItemLineCommentReceiptDecorator.js +40 -0
  399. package/lib/domain/model/item/ItemLineExtendedAmountDecorator.d.ts +30 -0
  400. package/lib/domain/model/item/ItemLineExtendedAmountDecorator.js +124 -0
  401. package/lib/domain/model/item/ItemLineExtensibilityFormDataDecorator.d.ts +18 -0
  402. package/lib/domain/model/item/ItemLineExtensibilityFormDataDecorator.js +43 -0
  403. package/lib/domain/model/item/ItemLineGiftIssueDecorator.d.ts +17 -0
  404. package/lib/domain/model/item/ItemLineGiftIssueDecorator.js +53 -0
  405. package/lib/domain/model/item/ItemLineGiftReceiptDecorator.d.ts +15 -0
  406. package/lib/domain/model/item/ItemLineGiftReceiptDecorator.js +37 -0
  407. package/lib/domain/model/item/ItemLineManualDiscountDecorator.d.ts +57 -0
  408. package/lib/domain/model/item/ItemLineManualDiscountDecorator.js +198 -0
  409. package/lib/domain/model/item/ItemLineNonFinancialRewardDecorator.d.ts +40 -0
  410. package/lib/domain/model/item/ItemLineNonFinancialRewardDecorator.js +116 -0
  411. package/lib/domain/model/item/ItemLineOriginalAdjustmentDecorator.d.ts +13 -0
  412. package/lib/domain/model/item/ItemLineOriginalAdjustmentDecorator.js +54 -0
  413. package/lib/domain/model/item/ItemLinePriceChangeDecorator.d.ts +18 -0
  414. package/lib/domain/model/item/ItemLinePriceChangeDecorator.js +47 -0
  415. package/lib/domain/model/item/ItemLinePromotionDecorator.d.ts +45 -0
  416. package/lib/domain/model/item/ItemLinePromotionDecorator.js +142 -0
  417. package/lib/domain/model/item/ItemLineQuantityChangeDecorator.d.ts +18 -0
  418. package/lib/domain/model/item/ItemLineQuantityChangeDecorator.js +57 -0
  419. package/lib/domain/model/item/ItemLineReasonCodeChangeDecorator.d.ts +16 -0
  420. package/lib/domain/model/item/ItemLineReasonCodeChangeDecorator.js +49 -0
  421. package/lib/domain/model/item/ItemLineRegularPriceDecorator.d.ts +21 -0
  422. package/lib/domain/model/item/ItemLineRegularPriceDecorator.js +58 -0
  423. package/lib/domain/model/item/ItemLineReserveInventoryDecorator.d.ts +17 -0
  424. package/lib/domain/model/item/ItemLineReserveInventoryDecorator.js +42 -0
  425. package/lib/domain/model/item/ItemLineRewardDecorator.d.ts +39 -0
  426. package/lib/domain/model/item/ItemLineRewardDecorator.js +115 -0
  427. package/lib/domain/model/item/ItemLineSalePriceDecorator.d.ts +19 -0
  428. package/lib/domain/model/item/ItemLineSalePriceDecorator.js +51 -0
  429. package/lib/domain/model/item/ItemLineSalespersonDecorator.d.ts +17 -0
  430. package/lib/domain/model/item/ItemLineSalespersonDecorator.js +44 -0
  431. package/lib/domain/model/item/ItemLineSendSaleDecorator.d.ts +16 -0
  432. package/lib/domain/model/item/ItemLineSendSaleDecorator.js +39 -0
  433. package/lib/domain/model/item/ItemLineSubscriptionDecorator.d.ts +17 -0
  434. package/lib/domain/model/item/ItemLineSubscriptionDecorator.js +40 -0
  435. package/lib/domain/model/item/ItemLineTaxExemptDecorator.d.ts +21 -0
  436. package/lib/domain/model/item/ItemLineTaxExemptDecorator.js +64 -0
  437. package/lib/domain/model/item/ItemLineTaxOverrideDecorator.d.ts +19 -0
  438. package/lib/domain/model/item/ItemLineTaxOverrideDecorator.js +59 -0
  439. package/lib/domain/model/item/ItemOrderCancellationLine.d.ts +27 -0
  440. package/lib/domain/model/item/ItemOrderCancellationLine.js +65 -0
  441. package/lib/domain/model/item/ItemPriceChangeLine.d.ts +44 -0
  442. package/lib/domain/model/item/ItemPriceChangeLine.js +131 -0
  443. package/lib/domain/model/item/ItemQuantityChangeLine.d.ts +31 -0
  444. package/lib/domain/model/item/ItemQuantityChangeLine.js +93 -0
  445. package/lib/domain/model/item/ReasonCodeChangeLine.d.ts +32 -0
  446. package/lib/domain/model/item/ReasonCodeChangeLine.js +83 -0
  447. package/lib/domain/model/item/ReservedOrderItemLineCancellationDecorator.d.ts +19 -0
  448. package/lib/domain/model/item/ReservedOrderItemLineCancellationDecorator.js +52 -0
  449. package/lib/domain/model/item/VoidedItemLineDecorator.d.ts +28 -0
  450. package/lib/domain/model/item/VoidedItemLineDecorator.js +65 -0
  451. package/lib/domain/model/item/VoidedPriceChangeLineDecorator.d.ts +15 -0
  452. package/lib/domain/model/item/VoidedPriceChangeLineDecorator.js +38 -0
  453. package/lib/domain/model/item/index.d.ts +37 -0
  454. package/lib/domain/model/item/index.js +41 -0
  455. package/lib/domain/model/lottery/TaxLotteryAddLine.d.ts +24 -0
  456. package/lib/domain/model/lottery/TaxLotteryAddLine.js +54 -0
  457. package/lib/domain/model/lottery/TaxLotteryModificationLine.d.ts +26 -0
  458. package/lib/domain/model/lottery/TaxLotteryModificationLine.js +61 -0
  459. package/lib/domain/model/lottery/TaxLotteryVoidLine.d.ts +28 -0
  460. package/lib/domain/model/lottery/TaxLotteryVoidLine.js +66 -0
  461. package/lib/domain/model/lottery/index.d.ts +3 -0
  462. package/lib/domain/model/lottery/index.js +9 -0
  463. package/lib/domain/model/loyaltyMembership/LoyaltyEnrollmentLine.d.ts +46 -0
  464. package/lib/domain/model/loyaltyMembership/LoyaltyEnrollmentLine.js +105 -0
  465. package/lib/domain/model/loyaltyMembership/LoyaltyMembershipLine.d.ts +34 -0
  466. package/lib/domain/model/loyaltyMembership/LoyaltyMembershipLine.js +117 -0
  467. package/lib/domain/model/loyaltyMembership/index.d.ts +2 -0
  468. package/lib/domain/model/loyaltyMembership/index.js +8 -0
  469. package/lib/domain/model/mixedBasket/IMixedBasket.d.ts +4 -0
  470. package/lib/domain/model/mixedBasket/IMixedBasket.js +3 -0
  471. package/lib/domain/model/mixedBasket/MixedBasketSession.d.ts +21 -0
  472. package/lib/domain/model/mixedBasket/MixedBasketSession.js +55 -0
  473. package/lib/domain/model/mixedBasket/index.d.ts +2 -0
  474. package/lib/domain/model/mixedBasket/index.js +7 -0
  475. package/lib/domain/model/noSale/NoSaleLine.d.ts +32 -0
  476. package/lib/domain/model/noSale/NoSaleLine.js +75 -0
  477. package/lib/domain/model/noSale/StartNoSaleLine.d.ts +33 -0
  478. package/lib/domain/model/noSale/StartNoSaleLine.js +75 -0
  479. package/lib/domain/model/noSale/index.d.ts +2 -0
  480. package/lib/domain/model/noSale/index.js +8 -0
  481. package/lib/domain/model/order/IOrderTotalsAccumulator.d.ts +23 -0
  482. package/lib/domain/model/order/IOrderTotalsAccumulator.js +3 -0
  483. package/lib/domain/model/order/OrderDeliveryAssignmentLine.d.ts +20 -0
  484. package/lib/domain/model/order/OrderDeliveryAssignmentLine.js +64 -0
  485. package/lib/domain/model/order/OrderItemReference.d.ts +5 -0
  486. package/lib/domain/model/order/OrderItemReference.js +3 -0
  487. package/lib/domain/model/order/OrderTotalsAccumulator.d.ts +39 -0
  488. package/lib/domain/model/order/OrderTotalsAccumulator.js +48 -0
  489. package/lib/domain/model/order/index.d.ts +4 -0
  490. package/lib/domain/model/order/index.js +8 -0
  491. package/lib/domain/model/paidOperation/PaidOperationLine.d.ts +23 -0
  492. package/lib/domain/model/paidOperation/PaidOperationLine.js +65 -0
  493. package/lib/domain/model/paidOperation/PaidOperationSignatureLine.d.ts +27 -0
  494. package/lib/domain/model/paidOperation/PaidOperationSignatureLine.js +58 -0
  495. package/lib/domain/model/paidOperation/StartPaidOperationLine.d.ts +34 -0
  496. package/lib/domain/model/paidOperation/StartPaidOperationLine.js +75 -0
  497. package/lib/domain/model/paidOperation/index.d.ts +3 -0
  498. package/lib/domain/model/paidOperation/index.js +9 -0
  499. package/lib/domain/model/paymentDevice/IUploadDeviceLogsLine.d.ts +6 -0
  500. package/lib/domain/model/paymentDevice/IUploadDeviceLogsLine.js +3 -0
  501. package/lib/domain/model/paymentDevice/UploadDeviceLogLine.d.ts +28 -0
  502. package/lib/domain/model/paymentDevice/UploadDeviceLogLine.js +57 -0
  503. package/lib/domain/model/paymentDevice/index.d.ts +1 -0
  504. package/lib/domain/model/paymentDevice/index.js +7 -0
  505. package/lib/domain/model/print/PrintStatusLine.d.ts +27 -0
  506. package/lib/domain/model/print/PrintStatusLine.js +55 -0
  507. package/lib/domain/model/print/index.d.ts +1 -0
  508. package/lib/domain/model/print/index.js +7 -0
  509. package/lib/domain/model/receipt/BaseReceiptLineDecorator.d.ts +49 -0
  510. package/lib/domain/model/receipt/BaseReceiptLineDecorator.js +115 -0
  511. package/lib/domain/model/receipt/FiscalReceiptLine.d.ts +63 -0
  512. package/lib/domain/model/receipt/FiscalReceiptLine.js +170 -0
  513. package/lib/domain/model/receipt/GiftReceiptLine.d.ts +17 -0
  514. package/lib/domain/model/receipt/GiftReceiptLine.js +51 -0
  515. package/lib/domain/model/receipt/IPrintRetryLine.d.ts +4 -0
  516. package/lib/domain/model/receipt/IPrintRetryLine.js +3 -0
  517. package/lib/domain/model/receipt/IReceiptLine.d.ts +37 -0
  518. package/lib/domain/model/receipt/IReceiptLine.js +3 -0
  519. package/lib/domain/model/receipt/IReceiptRefundMessage.d.ts +4 -0
  520. package/lib/domain/model/receipt/IReceiptRefundMessage.js +3 -0
  521. package/lib/domain/model/receipt/ItemCommentLine.d.ts +16 -0
  522. package/lib/domain/model/receipt/ItemCommentLine.js +50 -0
  523. package/lib/domain/model/receipt/PrintRetryLine.d.ts +14 -0
  524. package/lib/domain/model/receipt/PrintRetryLine.js +43 -0
  525. package/lib/domain/model/receipt/PrintRetryLineDecorator.d.ts +12 -0
  526. package/lib/domain/model/receipt/PrintRetryLineDecorator.js +28 -0
  527. package/lib/domain/model/receipt/PrinterStatusReceiptLineDecorator.d.ts +12 -0
  528. package/lib/domain/model/receipt/PrinterStatusReceiptLineDecorator.js +38 -0
  529. package/lib/domain/model/receipt/ReceiptDestinationReceiptLineDecorator.d.ts +18 -0
  530. package/lib/domain/model/receipt/ReceiptDestinationReceiptLineDecorator.js +44 -0
  531. package/lib/domain/model/receipt/ReceiptLine.d.ts +88 -0
  532. package/lib/domain/model/receipt/ReceiptLine.js +236 -0
  533. package/lib/domain/model/receipt/ReceiptOptionLine.d.ts +44 -0
  534. package/lib/domain/model/receipt/ReceiptOptionLine.js +107 -0
  535. package/lib/domain/model/receipt/index.d.ts +12 -0
  536. package/lib/domain/model/receipt/index.js +15 -0
  537. package/lib/domain/model/reprint/ReprintTransactionLine.d.ts +30 -0
  538. package/lib/domain/model/reprint/ReprintTransactionLine.js +64 -0
  539. package/lib/domain/model/reprint/index.d.ts +1 -0
  540. package/lib/domain/model/reprint/index.js +7 -0
  541. package/lib/domain/model/salesperson/SalespersonLine.d.ts +27 -0
  542. package/lib/domain/model/salesperson/SalespersonLine.js +60 -0
  543. package/lib/domain/model/salesperson/index.d.ts +1 -0
  544. package/lib/domain/model/salesperson/index.js +7 -0
  545. package/lib/domain/model/sendsale/SendSaleConversionLine.d.ts +25 -0
  546. package/lib/domain/model/sendsale/SendSaleConversionLine.js +50 -0
  547. package/lib/domain/model/sendsale/index.d.ts +1 -0
  548. package/lib/domain/model/sendsale/index.js +7 -0
  549. package/lib/domain/model/shipping/ShippingFeeChangeLine.d.ts +39 -0
  550. package/lib/domain/model/shipping/ShippingFeeChangeLine.js +95 -0
  551. package/lib/domain/model/shipping/ShippingFeeLineChangeDecorator.d.ts +26 -0
  552. package/lib/domain/model/shipping/ShippingFeeLineChangeDecorator.js +81 -0
  553. package/lib/domain/model/shipping/index.d.ts +2 -0
  554. package/lib/domain/model/shipping/index.js +8 -0
  555. package/lib/domain/model/subscription/AddSubscriptionLine.d.ts +31 -0
  556. package/lib/domain/model/subscription/AddSubscriptionLine.js +69 -0
  557. package/lib/domain/model/subscription/ModifySubscriptionLine.d.ts +31 -0
  558. package/lib/domain/model/subscription/ModifySubscriptionLine.js +69 -0
  559. package/lib/domain/model/subscription/RemoveSubscriptionLine.d.ts +25 -0
  560. package/lib/domain/model/subscription/RemoveSubscriptionLine.js +50 -0
  561. package/lib/domain/model/subscription/index.d.ts +3 -0
  562. package/lib/domain/model/subscription/index.js +9 -0
  563. package/lib/domain/model/supervisorOverride/ISupervisorCredentials.d.ts +4 -0
  564. package/lib/domain/model/supervisorOverride/ISupervisorCredentials.js +3 -0
  565. package/lib/domain/model/supervisorOverride/SupervisorOverrideLine.d.ts +24 -0
  566. package/lib/domain/model/supervisorOverride/SupervisorOverrideLine.js +51 -0
  567. package/lib/domain/model/supervisorOverride/index.d.ts +2 -0
  568. package/lib/domain/model/supervisorOverride/index.js +7 -0
  569. package/lib/domain/model/taxExempt/BaseTaxExemptLine.d.ts +53 -0
  570. package/lib/domain/model/taxExempt/BaseTaxExemptLine.js +187 -0
  571. package/lib/domain/model/taxExempt/BaseTaxExemptLineDecorator.d.ts +27 -0
  572. package/lib/domain/model/taxExempt/BaseTaxExemptLineDecorator.js +74 -0
  573. package/lib/domain/model/taxExempt/ITaxExemptLine.d.ts +22 -0
  574. package/lib/domain/model/taxExempt/ITaxExemptLine.js +3 -0
  575. package/lib/domain/model/taxExempt/ItemTaxExemptLine.d.ts +23 -0
  576. package/lib/domain/model/taxExempt/ItemTaxExemptLine.js +47 -0
  577. package/lib/domain/model/taxExempt/ItemTaxExemptLineModificationDecorator.d.ts +32 -0
  578. package/lib/domain/model/taxExempt/ItemTaxExemptLineModificationDecorator.js +91 -0
  579. package/lib/domain/model/taxExempt/ModifyItemTaxExemptLine.d.ts +28 -0
  580. package/lib/domain/model/taxExempt/ModifyItemTaxExemptLine.js +62 -0
  581. package/lib/domain/model/taxExempt/ModifyTransactionTaxExemptLine.d.ts +28 -0
  582. package/lib/domain/model/taxExempt/ModifyTransactionTaxExemptLine.js +62 -0
  583. package/lib/domain/model/taxExempt/TransactionTaxExemptLine.d.ts +23 -0
  584. package/lib/domain/model/taxExempt/TransactionTaxExemptLine.js +47 -0
  585. package/lib/domain/model/taxExempt/TransactionTaxExemptLineModificationDecorator.d.ts +32 -0
  586. package/lib/domain/model/taxExempt/TransactionTaxExemptLineModificationDecorator.js +93 -0
  587. package/lib/domain/model/taxExempt/VoidedItemTaxExemptLineDecorator.d.ts +15 -0
  588. package/lib/domain/model/taxExempt/VoidedItemTaxExemptLineDecorator.js +38 -0
  589. package/lib/domain/model/taxExempt/VoidedTransactionTaxExemptLineDecorator.d.ts +15 -0
  590. package/lib/domain/model/taxExempt/VoidedTransactionTaxExemptLineDecorator.js +38 -0
  591. package/lib/domain/model/taxExempt/index.d.ts +11 -0
  592. package/lib/domain/model/taxExempt/index.js +16 -0
  593. package/lib/domain/model/taxLottery/TaxLotteryLine.d.ts +24 -0
  594. package/lib/domain/model/taxLottery/TaxLotteryLine.js +49 -0
  595. package/lib/domain/model/taxLottery/index.d.ts +1 -0
  596. package/lib/domain/model/taxLottery/index.js +7 -0
  597. package/lib/domain/model/taxOverride/BaseTaxOverrideLine.d.ts +40 -0
  598. package/lib/domain/model/taxOverride/BaseTaxOverrideLine.js +153 -0
  599. package/lib/domain/model/taxOverride/BaseTaxOverrideLineDecorator.d.ts +21 -0
  600. package/lib/domain/model/taxOverride/BaseTaxOverrideLineDecorator.js +54 -0
  601. package/lib/domain/model/taxOverride/ITaxOverrideLine.d.ts +19 -0
  602. package/lib/domain/model/taxOverride/ITaxOverrideLine.js +3 -0
  603. package/lib/domain/model/taxOverride/ModifyTaxOverrideLine.d.ts +31 -0
  604. package/lib/domain/model/taxOverride/ModifyTaxOverrideLine.js +70 -0
  605. package/lib/domain/model/taxOverride/TaxOverrideLine.d.ts +15 -0
  606. package/lib/domain/model/taxOverride/TaxOverrideLine.js +49 -0
  607. package/lib/domain/model/taxOverride/TaxOverrideLineModificationDecorator.d.ts +14 -0
  608. package/lib/domain/model/taxOverride/TaxOverrideLineModificationDecorator.js +39 -0
  609. package/lib/domain/model/taxOverride/VoidedTaxOverrideLineDecorator.d.ts +15 -0
  610. package/lib/domain/model/taxOverride/VoidedTaxOverrideLineDecorator.js +38 -0
  611. package/lib/domain/model/taxOverride/index.d.ts +7 -0
  612. package/lib/domain/model/taxOverride/index.js +12 -0
  613. package/lib/domain/model/taxRecord/ITaxRecordLine.d.ts +90 -0
  614. package/lib/domain/model/taxRecord/ITaxRecordLine.js +3 -0
  615. package/lib/domain/model/taxRecord/TaxRecordLine.d.ts +67 -0
  616. package/lib/domain/model/taxRecord/TaxRecordLine.js +175 -0
  617. package/lib/domain/model/taxRecord/index.d.ts +2 -0
  618. package/lib/domain/model/taxRecord/index.js +7 -0
  619. package/lib/domain/model/taxRefund/ReprintTaxRefundLine.d.ts +30 -0
  620. package/lib/domain/model/taxRefund/ReprintTaxRefundLine.js +64 -0
  621. package/lib/domain/model/taxRefund/StartTaxRefundLine.d.ts +29 -0
  622. package/lib/domain/model/taxRefund/StartTaxRefundLine.js +62 -0
  623. package/lib/domain/model/taxRefund/TaxRefundInterfaces.d.ts +229 -0
  624. package/lib/domain/model/taxRefund/TaxRefundInterfaces.js +36 -0
  625. package/lib/domain/model/taxRefund/TaxRefundLine.d.ts +34 -0
  626. package/lib/domain/model/taxRefund/TaxRefundLine.js +73 -0
  627. package/lib/domain/model/taxRefund/TaxRefundSession.d.ts +84 -0
  628. package/lib/domain/model/taxRefund/TaxRefundSession.js +214 -0
  629. package/lib/domain/model/taxRefund/VoidTaxRefundLine.d.ts +30 -0
  630. package/lib/domain/model/taxRefund/VoidTaxRefundLine.js +71 -0
  631. package/lib/domain/model/taxRefund/index.d.ts +6 -0
  632. package/lib/domain/model/taxRefund/index.js +12 -0
  633. package/lib/domain/model/tender/BaseTenderLineDecorator.d.ts +47 -0
  634. package/lib/domain/model/tender/BaseTenderLineDecorator.js +110 -0
  635. package/lib/domain/model/tender/CancelSubscriptionTokenLine.d.ts +11 -0
  636. package/lib/domain/model/tender/CancelSubscriptionTokenLine.js +32 -0
  637. package/lib/domain/model/tender/ITenderLine.d.ts +45 -0
  638. package/lib/domain/model/tender/ITenderLine.js +3 -0
  639. package/lib/domain/model/tender/OfflineAuthorization.d.ts +17 -0
  640. package/lib/domain/model/tender/OfflineAuthorization.js +47 -0
  641. package/lib/domain/model/tender/RefundedTenderLineDecorator.d.ts +12 -0
  642. package/lib/domain/model/tender/RefundedTenderLineDecorator.js +42 -0
  643. package/lib/domain/model/tender/TenderAuthorizationStatusLine.d.ts +65 -0
  644. package/lib/domain/model/tender/TenderAuthorizationStatusLine.js +220 -0
  645. package/lib/domain/model/tender/TenderChangeCancelLine.d.ts +25 -0
  646. package/lib/domain/model/tender/TenderChangeCancelLine.js +51 -0
  647. package/lib/domain/model/tender/TenderLine.d.ts +113 -0
  648. package/lib/domain/model/tender/TenderLine.js +385 -0
  649. package/lib/domain/model/tender/TenderSignatureLine.d.ts +29 -0
  650. package/lib/domain/model/tender/TenderSignatureLine.js +66 -0
  651. package/lib/domain/model/tender/TenderTaxLineDecorator.d.ts +12 -0
  652. package/lib/domain/model/tender/TenderTaxLineDecorator.js +29 -0
  653. package/lib/domain/model/tender/TenderUtils.d.ts +9 -0
  654. package/lib/domain/model/tender/TenderUtils.js +43 -0
  655. package/lib/domain/model/tender/VoidedTenderLineDecorator.d.ts +13 -0
  656. package/lib/domain/model/tender/VoidedTenderLineDecorator.js +43 -0
  657. package/lib/domain/model/tender/exchange/StartTenderExchangeLine.d.ts +28 -0
  658. package/lib/domain/model/tender/exchange/StartTenderExchangeLine.js +56 -0
  659. package/lib/domain/model/tender/exchange/index.d.ts +1 -0
  660. package/lib/domain/model/tender/exchange/index.js +7 -0
  661. package/lib/domain/model/tender/index.d.ts +16 -0
  662. package/lib/domain/model/tender/index.js +21 -0
  663. package/lib/domain/model/tender/reversals/Interfaces.d.ts +25 -0
  664. package/lib/domain/model/tender/reversals/Interfaces.js +10 -0
  665. package/lib/domain/model/tender/reversals/index.d.ts +1 -0
  666. package/lib/domain/model/tender/reversals/index.js +7 -0
  667. package/lib/domain/model/tender/valueCard/Interfaces.d.ts +84 -0
  668. package/lib/domain/model/tender/valueCard/Interfaces.js +104 -0
  669. package/lib/domain/model/tender/valueCard/index.d.ts +1 -0
  670. package/lib/domain/model/tender/valueCard/index.js +7 -0
  671. package/lib/domain/model/tender/valueCertificate/Interfaces.d.ts +228 -0
  672. package/lib/domain/model/tender/valueCertificate/Interfaces.js +78 -0
  673. package/lib/domain/model/tender/valueCertificate/index.d.ts +1 -0
  674. package/lib/domain/model/tender/valueCertificate/index.js +7 -0
  675. package/lib/domain/model/terminal/FiscalPrinterAbortLineType.d.ts +21 -0
  676. package/lib/domain/model/terminal/FiscalPrinterAbortLineType.js +45 -0
  677. package/lib/domain/model/terminal/FiscalPrinterReportLineType.d.ts +34 -0
  678. package/lib/domain/model/terminal/FiscalPrinterReportLineType.js +85 -0
  679. package/lib/domain/model/terminal/FiscalPrinterStatusLineType.d.ts +24 -0
  680. package/lib/domain/model/terminal/FiscalPrinterStatusLineType.js +55 -0
  681. package/lib/domain/model/terminal/FiscalPrinterSyncLineType.d.ts +28 -0
  682. package/lib/domain/model/terminal/FiscalPrinterSyncLineType.js +67 -0
  683. package/lib/domain/model/terminal/TerminalStateChangeLine.d.ts +27 -0
  684. package/lib/domain/model/terminal/TerminalStateChangeLine.js +61 -0
  685. package/lib/domain/model/terminal/index.d.ts +5 -0
  686. package/lib/domain/model/terminal/index.js +11 -0
  687. package/lib/domain/model/till/StartTillLine.d.ts +58 -0
  688. package/lib/domain/model/till/StartTillLine.js +119 -0
  689. package/lib/domain/model/till/TenderTransferLine.d.ts +33 -0
  690. package/lib/domain/model/till/TenderTransferLine.js +140 -0
  691. package/lib/domain/model/till/TillAdjustmentLine.d.ts +21 -0
  692. package/lib/domain/model/till/TillAdjustmentLine.js +64 -0
  693. package/lib/domain/model/till/TillCountLine.d.ts +27 -0
  694. package/lib/domain/model/till/TillCountLine.js +96 -0
  695. package/lib/domain/model/till/TillFloatLine.d.ts +29 -0
  696. package/lib/domain/model/till/TillFloatLine.js +90 -0
  697. package/lib/domain/model/till/TillStateChangeLine.d.ts +26 -0
  698. package/lib/domain/model/till/TillStateChangeLine.js +78 -0
  699. package/lib/domain/model/till/index.d.ts +6 -0
  700. package/lib/domain/model/till/index.js +12 -0
  701. package/lib/domain/model/transaction/AttachmentLine.d.ts +17 -0
  702. package/lib/domain/model/transaction/AttachmentLine.js +45 -0
  703. package/lib/domain/model/transaction/CloseTransactionLine.d.ts +22 -0
  704. package/lib/domain/model/transaction/CloseTransactionLine.js +44 -0
  705. package/lib/domain/model/transaction/IPostVoidSearchResult.d.ts +7 -0
  706. package/lib/domain/model/transaction/IPostVoidSearchResult.js +4 -0
  707. package/lib/domain/model/transaction/RecordTransactionLine.d.ts +29 -0
  708. package/lib/domain/model/transaction/RecordTransactionLine.js +60 -0
  709. package/lib/domain/model/transaction/SignatureLine.d.ts +30 -0
  710. package/lib/domain/model/transaction/SignatureLine.js +67 -0
  711. package/lib/domain/model/transaction/SuspendTransactionLine.d.ts +24 -0
  712. package/lib/domain/model/transaction/SuspendTransactionLine.js +52 -0
  713. package/lib/domain/model/transaction/TotalTransactionLine.d.ts +26 -0
  714. package/lib/domain/model/transaction/TotalTransactionLine.js +55 -0
  715. package/lib/domain/model/transaction/TransactionResumeCompleteLine.d.ts +22 -0
  716. package/lib/domain/model/transaction/TransactionResumeCompleteLine.js +44 -0
  717. package/lib/domain/model/transaction/TransactionResumeStartLine.d.ts +25 -0
  718. package/lib/domain/model/transaction/TransactionResumeStartLine.js +55 -0
  719. package/lib/domain/model/transaction/TransactionReturnModeLine.d.ts +23 -0
  720. package/lib/domain/model/transaction/TransactionReturnModeLine.js +45 -0
  721. package/lib/domain/model/transaction/fiscal/FiscalTransactionLine.d.ts +27 -0
  722. package/lib/domain/model/transaction/fiscal/FiscalTransactionLine.js +61 -0
  723. package/lib/domain/model/transaction/fiscal/index.d.ts +1 -0
  724. package/lib/domain/model/transaction/fiscal/index.js +7 -0
  725. package/lib/domain/model/transaction/index.d.ts +12 -0
  726. package/lib/domain/model/transaction/index.js +18 -0
  727. package/lib/domain/model/transaction/order/ItemFulfillmentReferenceLine.d.ts +25 -0
  728. package/lib/domain/model/transaction/order/ItemFulfillmentReferenceLine.js +51 -0
  729. package/lib/domain/model/transaction/order/ItemPickupSignatureLine.d.ts +28 -0
  730. package/lib/domain/model/transaction/order/ItemPickupSignatureLine.js +63 -0
  731. package/lib/domain/model/transaction/order/OrderReferenceLine.d.ts +25 -0
  732. package/lib/domain/model/transaction/order/OrderReferenceLine.js +50 -0
  733. package/lib/domain/model/transaction/order/index.d.ts +3 -0
  734. package/lib/domain/model/transaction/order/index.js +9 -0
  735. package/lib/domain/model/user/AuthenticationFailedLine.d.ts +16 -0
  736. package/lib/domain/model/user/AuthenticationFailedLine.js +45 -0
  737. package/lib/domain/model/user/IPasswordExpiration.d.ts +4 -0
  738. package/lib/domain/model/user/IPasswordExpiration.js +3 -0
  739. package/lib/domain/model/user/PasswordExpiration.d.ts +10 -0
  740. package/lib/domain/model/user/PasswordExpiration.js +38 -0
  741. package/lib/domain/model/user/UserLine.d.ts +33 -0
  742. package/lib/domain/model/user/UserLine.js +84 -0
  743. package/lib/domain/model/user/index.d.ts +4 -0
  744. package/lib/domain/model/user/index.js +9 -0
  745. package/lib/domain/model/void/LineVoidLine.d.ts +50 -0
  746. package/lib/domain/model/void/LineVoidLine.js +158 -0
  747. package/lib/domain/model/void/TransactionVoidLine.d.ts +34 -0
  748. package/lib/domain/model/void/TransactionVoidLine.js +86 -0
  749. package/lib/domain/model/void/VoidedLineDecorator.d.ts +10 -0
  750. package/lib/domain/model/void/VoidedLineDecorator.js +40 -0
  751. package/lib/domain/model/void/index.d.ts +3 -0
  752. package/lib/domain/model/void/index.js +9 -0
  753. package/lib/domain/processing/PosBusinessAction.d.ts +9 -0
  754. package/lib/domain/processing/PosBusinessAction.js +55 -0
  755. package/lib/domain/processing/index.d.ts +1 -0
  756. package/lib/domain/processing/index.js +7 -0
  757. package/lib/domain/service/IReceiptFormattingService.d.ts +48 -0
  758. package/lib/domain/service/IReceiptFormattingService.js +3 -0
  759. package/lib/domain/service/ITransactionAccountingService.d.ts +6 -0
  760. package/lib/domain/service/ITransactionAccountingService.js +3 -0
  761. package/lib/domain/service/ITransactionReferenceFormatter.d.ts +4 -0
  762. package/lib/domain/service/ITransactionReferenceFormatter.js +3 -0
  763. package/lib/domain/service/index.d.ts +3 -0
  764. package/lib/domain/service/index.js +3 -0
  765. package/lib/domain/utility/index.d.ts +3 -0
  766. package/lib/domain/utility/index.js +9 -0
  767. package/lib/domain/utility/orderUtils.d.ts +6 -0
  768. package/lib/domain/utility/orderUtils.js +47 -0
  769. package/lib/domain/utility/supervisorOverride.d.ts +28 -0
  770. package/lib/domain/utility/supervisorOverride.js +298 -0
  771. package/lib/domain/utility/utils.d.ts +12 -0
  772. package/lib/domain/utility/utils.js +128 -0
  773. package/lib/index.d.ts +2 -0
  774. package/lib/index.js +8 -0
  775. package/package.json +194 -0
  776. package/types/es-symbol/index.d.ts +4 -0
@@ -0,0 +1,1169 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const scp_component_business_core_1 = require("@aptos-scp/scp-component-business-core");
4
+ const scp_types_commerce_transaction_1 = require("@aptos-scp/scp-types-commerce-transaction");
5
+ const orderUtils_1 = require("../../../domain/utility/orderUtils");
6
+ const BaseTransactionLine_1 = require("../BaseTransactionLine");
7
+ const Constants_1 = require("../Constants");
8
+ const Customer_1 = require("../Customer");
9
+ const Employee_1 = require("../Employee");
10
+ const StoreItem_1 = require("../StoreItem");
11
+ const TenderType_1 = require("../TenderType");
12
+ const FeeLine_1 = require("../../model/fee/FeeLine");
13
+ exports.ITEM_SALE_LINE_TYPE = "ItemSale";
14
+ exports.ITEM_RETURN_LINE_TYPE = "ItemReturn";
15
+ exports.ITEM_ORDER_LINE_TYPE = "ItemOrder";
16
+ exports.ITEM_CANCEL_LINE_TYPE = "ItemCancel";
17
+ class ItemLine extends BaseTransactionLine_1.BaseTransactionLine {
18
+ // Since the constructor is only called from the create methods it is made protected to prevent use by others.
19
+ constructor(lineNumber, lineType, accountingCurrency, lineSavings) {
20
+ super(lineNumber, lineType);
21
+ this._accountingCurrency = accountingCurrency;
22
+ this._lineSavings = lineSavings || new scp_component_business_core_1.Money(0.0, this._accountingCurrency);
23
+ this._totalLineTax = new scp_component_business_core_1.Money(0.0, this._accountingCurrency);
24
+ this._annotationDescription = undefined;
25
+ this._manuallyEnteredPrice = false;
26
+ }
27
+ /**
28
+ * The create method is called by the transaction line factory to create an instance and initialize it from the
29
+ * data collected during the qualification process.
30
+ *
31
+ * @param {number} lineNumber The line number of this line in the transaction
32
+ * @param {string} lineType The type of line
33
+ * @param {UiBusinessEvent} uiBusinessEvent The UI business event that led to the creation of this line
34
+ * @param {Readonly<Map<string, any>>} collectedData The data collected during the qualification process
35
+ *
36
+ * @return {ItemLine}
37
+ */
38
+ // tslint:disable-next-line:cyclomatic-complexity
39
+ // eslint-disable-next-line complexity
40
+ static create(lineNumber, lineType, uiBusinessEvent, collectedData) {
41
+ var _a, _b, _c, _d, _e, _f, _g;
42
+ let accountingCurrency = collectedData.get("accountingCurrency");
43
+ const additionalItemInfo = collectedData.get("additionalItemInfo");
44
+ const authResponse = collectedData.get(Constants_1.CollectedDataKey.TenderAuthResponse);
45
+ const authorizationDeviceId = collectedData.get(Constants_1.CollectedDataKey.AuthorizationDeviceId);
46
+ const tenderType = collectedData.get(Constants_1.CollectedDataKey.TenderType);
47
+ const storeItem = collectedData.get("storeItem");
48
+ const actionType = collectedData.get(Constants_1.CollectedDataKey.ActionType);
49
+ const preferredDisplayKeyType = collectedData.get("preferredDisplayKeyType");
50
+ const fulfillmentGroupId = collectedData.get(Constants_1.CollectedDataKey.FulfillmentGroupId);
51
+ const orderLineReference = collectedData.get(Constants_1.CollectedDataKey.OrderLineReference);
52
+ const lineNumberFromOrder = collectedData.get(Constants_1.CollectedDataKey.LineNumberFromOrder);
53
+ const lineSavings = collectedData.get(Constants_1.CollectedDataKey.LineSavings);
54
+ const sendSaleLine = collectedData.get(Constants_1.CollectedDataKey.SendSaleItem);
55
+ accountingCurrency = (storeItem.price && storeItem.price.amount.currency) || accountingCurrency;
56
+ let itemLine = new ItemLine(lineNumber, lineType, (storeItem.price && storeItem.price.amount.currency) || accountingCurrency, lineSavings);
57
+ if (additionalItemInfo) {
58
+ itemLine._additionalItemInfo = additionalItemInfo;
59
+ }
60
+ if (authResponse) {
61
+ itemLine._authResponse = authResponse;
62
+ }
63
+ if (tenderType) {
64
+ itemLine._tenderType = tenderType;
65
+ }
66
+ if (preferredDisplayKeyType) {
67
+ itemLine._preferredDisplayKeyType = preferredDisplayKeyType;
68
+ }
69
+ if (orderLineReference) {
70
+ itemLine._orderLineReference = orderLineReference;
71
+ }
72
+ if (lineNumberFromOrder) {
73
+ itemLine._lineNumberFromOrder = lineNumberFromOrder;
74
+ }
75
+ if (sendSaleLine) {
76
+ itemLine._sendSale = true;
77
+ }
78
+ itemLine._authorizationDeviceId = authorizationDeviceId;
79
+ itemLine._actionType = actionType;
80
+ itemLine._enteredLookupKey = ItemLine.getEnteredLookupKeyFromCollectedData(collectedData);
81
+ itemLine._item = storeItem;
82
+ itemLine._itemType = storeItem.itemType;
83
+ itemLine._unitPrice = itemLine._item.price;
84
+ itemLine._taxGroupId = itemLine._item && itemLine._item.taxGroupId && `${itemLine._item.taxGroupId}`;
85
+ itemLine._manufacturerSuggestedPrice = itemLine._item.manufacturerSuggestedPrice
86
+ ? itemLine._item.manufacturerSuggestedPrice
87
+ : undefined;
88
+ itemLine._unitCost = itemLine._item.unitCost ? itemLine._item.unitCost : undefined;
89
+ itemLine._pointsEligible = (_a = storeItem.treatmentRules) === null || _a === void 0 ? void 0 : _a.pointsEligible;
90
+ itemLine._fulfillmentGroupId = fulfillmentGroupId;
91
+ itemLine._returnable = !(storeItem.treatmentRules && storeItem.treatmentRules.allowReturn === false);
92
+ itemLine._eligibleForSubscription = (_b = storeItem.treatmentRules) === null || _b === void 0 ? void 0 : _b.eligibleForSubscription;
93
+ itemLine._eligibleForSendSale = (_c = storeItem.treatmentRules) === null || _c === void 0 ? void 0 : _c.eligibleForSendSale;
94
+ itemLine._subscriptionFrequencyCodes = storeItem.subscriptionFrequencyCodes;
95
+ if (collectedData.get(Constants_1.CollectedDataKey.OriginalAlternativeLookupCodesExternalItem)) {
96
+ itemLine._itemLookupKeys = ItemLine.getItemLookupKeyFromCollectedData(collectedData.get(Constants_1.CollectedDataKey.OriginalAlternativeLookupCodesExternalItem));
97
+ }
98
+ if (collectedData.get("price")) {
99
+ itemLine._unitPrice = collectedData.get("price");
100
+ }
101
+ if (collectedData.get(Constants_1.CollectedDataKey.ItemPermanentPrice)) {
102
+ itemLine._itemPermanentPrice = collectedData.get(Constants_1.CollectedDataKey.ItemPermanentPrice);
103
+ }
104
+ if (collectedData.get(Constants_1.CollectedDataKey.ItemPermanentPriceSource)) {
105
+ itemLine._itemPermanentPriceSource = collectedData.get(Constants_1.CollectedDataKey.ItemPermanentPriceSource);
106
+ }
107
+ if (collectedData.get(Constants_1.CollectedDataKey.ItemTemporaryPrice)) {
108
+ itemLine._itemTemporaryPrice = collectedData.get(Constants_1.CollectedDataKey.ItemTemporaryPrice);
109
+ }
110
+ if (collectedData.get(Constants_1.CollectedDataKey.ItemTemporaryPriceSource)) {
111
+ itemLine._itemTemporaryPriceSource = collectedData.get(Constants_1.CollectedDataKey.ItemTemporaryPriceSource);
112
+ }
113
+ if (collectedData.get(Constants_1.CollectedDataKey.ItemSelectedUnitPrice)) {
114
+ itemLine._itemSelectedUnitPrice = collectedData.get(Constants_1.CollectedDataKey.ItemSelectedUnitPrice);
115
+ }
116
+ if (collectedData.get(Constants_1.CollectedDataKey.ItemFullPrice)) {
117
+ itemLine._itemFullPrice = collectedData.get(Constants_1.CollectedDataKey.ItemFullPrice);
118
+ }
119
+ if (collectedData.get(Constants_1.CollectedDataKey.ItemFullPriceSource)) {
120
+ itemLine._itemFullPriceSource = collectedData.get(Constants_1.CollectedDataKey.ItemFullPriceSource);
121
+ }
122
+ if (collectedData.get(Constants_1.CollectedDataKey.ItemEmployeeDiscountPercent)) {
123
+ itemLine._itemEmployeeDiscountPercent = collectedData.get(Constants_1.CollectedDataKey.ItemEmployeeDiscountPercent);
124
+ }
125
+ if (collectedData.get(Constants_1.CollectedDataKey.InputSource)) {
126
+ itemLine._inputSource = collectedData.get(Constants_1.CollectedDataKey.InputSource);
127
+ }
128
+ itemLine._manuallyEnteredPrice = collectedData.get("manuallyEnteredPrice") || false;
129
+ itemLine._salesperson = collectedData.get(Constants_1.CollectedDataKey.Salesperson);
130
+ itemLine._originalTransactionPerformingUser = collectedData.get(Constants_1.CollectedDataKey.OriginalTransactionPerformingUser);
131
+ // Note: A qualifier should always populate the quantity object in the collectedData from UI inputs, and default it
132
+ // (to 1 EA), only if it is not provided.
133
+ itemLine._quantity = ItemLine.determineQuantity(collectedData.get(Constants_1.CollectedDataKey.Quantity), lineType);
134
+ // initial value for sublines, will be replaced when taxes are calculated or decorated by promotion
135
+ itemLine._sublines = [
136
+ {
137
+ quantity: itemLine._quantity.amount,
138
+ adjustments: [],
139
+ taxByAuthority: [],
140
+ },
141
+ ];
142
+ itemLine._unitPriceSourceIndicator = scp_types_commerce_transaction_1.UnitPriceSourceIndicator.StoreItem;
143
+ //TODO: Remove this extended amount calculation as soon as the pricing component always provides it.
144
+ // Currently the base/original line's extended amount is only provided for lines that don't have promotions or sale
145
+ // prices, so without this, new lines that start with a promo/sale price never get their original price set. This
146
+ // causes errors, when converting the transaction to its post-able format.
147
+ itemLine = itemLine.updateExtendedAmount(itemLine._unitPrice.calculateExtendedAmount(itemLine._quantity));
148
+ const sublineFromExternalItem = collectedData.get(Constants_1.CollectedDataKey.OriginalSublineFromExternalItem);
149
+ // return reason info
150
+ if (lineType === exports.ITEM_RETURN_LINE_TYPE) {
151
+ const reasonCode = collectedData.get(Constants_1.CollectedDataKey.ReasonCode);
152
+ const reasonDescription = collectedData.get(Constants_1.CollectedDataKey.ReasonDescription);
153
+ const reasonListType = collectedData.get(Constants_1.CollectedDataKey.ReasonListType);
154
+ const securityAuthStatus = collectedData.get(Constants_1.CollectedDataKey.SecurityAuthorizationStatus);
155
+ const defaultReturnPrice = collectedData.get(Constants_1.CollectedDataKey.DefaultReturnPrice);
156
+ const originalCustomer = collectedData.get(Constants_1.CollectedDataKey.OriginalCustomer);
157
+ const originalExtendedPrice = collectedData.get(Constants_1.CollectedDataKey.OriginalExtendedAmount);
158
+ const originalPriceOverride = collectedData.get(Constants_1.CollectedDataKey.OriginalPriceOverride);
159
+ const originalComments = collectedData.get(Constants_1.CollectedDataKey.OriginalComments);
160
+ const originalLoyaltyInformation = collectedData.get(Constants_1.CollectedDataKey.OriginalLoyaltyInformation);
161
+ const originalCompetitivePriceInformation = collectedData.get(Constants_1.CollectedDataKey.OriginalCompetitivePriceInformation);
162
+ const originalSupervisorOverrideInformation = collectedData.get(Constants_1.CollectedDataKey.OriginalSupervisorOverrideInformation);
163
+ const originalTaxOverride = collectedData.get(Constants_1.CollectedDataKey.OriginalTaxOverride);
164
+ if (originalExtendedPrice &&
165
+ (!sublineFromExternalItem || sublineFromExternalItem.quantity === itemLine._quantity.amount)) {
166
+ itemLine = itemLine.updateExtendedAmount(originalExtendedPrice);
167
+ }
168
+ itemLine._returnReason = { reasonCode, reasonDescription, reasonListType };
169
+ itemLine._securityAuthorizationStatus = securityAuthStatus;
170
+ if (defaultReturnPrice) {
171
+ itemLine._defaultReturnPrice = defaultReturnPrice;
172
+ }
173
+ if (originalCustomer) {
174
+ itemLine._originalCustomer = originalCustomer;
175
+ }
176
+ itemLine._lineNumberFromReturnTransaction = collectedData.get(Constants_1.CollectedDataKey.LineNumberFromReturnTransaction);
177
+ itemLine._sublineIndexFromReturnItem = collectedData.get(Constants_1.CollectedDataKey.SublineIndexFromReturnItem);
178
+ itemLine._lineNumberFromReturnCanonicalTransaction = collectedData.get(Constants_1.CollectedDataKey.LineNumberFromReturnCanonicalTransaction);
179
+ itemLine._lineNumberFromReturnCanonicalSubItem = collectedData.get(Constants_1.CollectedDataKey.LineNumberFromReturnCanonicalSubItem);
180
+ itemLine._originalTransactionSalesperson = collectedData.get(Constants_1.CollectedDataKey.OriginalTransactionSalesperson);
181
+ itemLine._originalEmployeeCustomer = collectedData.get(Constants_1.CollectedDataKey.OriginalEmployeeCustomer);
182
+ if (originalPriceOverride) {
183
+ itemLine._originalPriceOverride = originalPriceOverride;
184
+ }
185
+ if (originalComments) {
186
+ itemLine._originalComments = originalComments;
187
+ }
188
+ if (((_d = originalLoyaltyInformation) === null || _d === void 0 ? void 0 : _d.length) > 0) {
189
+ itemLine._originalLoyaltyInformation = originalLoyaltyInformation;
190
+ }
191
+ if (originalCompetitivePriceInformation) {
192
+ itemLine._originalCompetitivePriceInformation = originalCompetitivePriceInformation;
193
+ }
194
+ if (((_e = originalSupervisorOverrideInformation) === null || _e === void 0 ? void 0 : _e.length) > 0) {
195
+ itemLine._originalSupervisorOverrideInformation = originalSupervisorOverrideInformation;
196
+ }
197
+ if (originalTaxOverride) {
198
+ itemLine._originalTaxOverride = originalTaxOverride;
199
+ itemLine._taxOverride = originalTaxOverride.taxOverride;
200
+ itemLine._preTaxOverrideDetails = originalTaxOverride.preTaxOverrideDetails;
201
+ }
202
+ }
203
+ if (lineType === exports.ITEM_SALE_LINE_TYPE || lineType === exports.ITEM_CANCEL_LINE_TYPE) {
204
+ const originalPriceOverride = collectedData.get(Constants_1.CollectedDataKey.OriginalPriceOverride);
205
+ if (originalPriceOverride) {
206
+ itemLine._originalPriceOverride = originalPriceOverride;
207
+ }
208
+ }
209
+ if (lineType === exports.ITEM_SALE_LINE_TYPE && collectedData.get(Constants_1.CollectedDataKey.OriginalDiscountReason)) {
210
+ itemLine._originalDiscountReason = collectedData.get(Constants_1.CollectedDataKey.OriginalDiscountReason);
211
+ }
212
+ const originalRedemptionLoyaltyTransactionKeys = collectedData.get(Constants_1.CollectedDataKey.OriginalRedemptionLoyaltyTransactionKeys);
213
+ if (((_f = originalRedemptionLoyaltyTransactionKeys) === null || _f === void 0 ? void 0 : _f.length) > 0) {
214
+ itemLine._originalRedemptionLoyaltyTransactionKeys = originalRedemptionLoyaltyTransactionKeys;
215
+ }
216
+ const originalSaleLoyaltyTransactionKeys = collectedData.get(Constants_1.CollectedDataKey.OriginalSaleLoyaltyTransactionKeys);
217
+ if (((_g = originalSaleLoyaltyTransactionKeys) === null || _g === void 0 ? void 0 : _g.length) > 0) {
218
+ itemLine._originalSaleLoyaltyTransactionKeys = originalSaleLoyaltyTransactionKeys;
219
+ }
220
+ const originalTransactionLineReference = collectedData.get(Constants_1.CollectedDataKey.OriginalTransactionLineReference);
221
+ const originalTransactionNumber = collectedData.get(Constants_1.CollectedDataKey.OriginalTransactionNumber);
222
+ if (originalTransactionLineReference) {
223
+ itemLine._originalTransactionLineReference = originalTransactionLineReference;
224
+ }
225
+ if (originalTransactionNumber) {
226
+ itemLine._originalTransactionNumber = originalTransactionNumber;
227
+ }
228
+ itemLine._comments = collectedData.get(Constants_1.CollectedDataKey.Comment);
229
+ itemLine._isFastDiscountItem = collectedData.get(Constants_1.CollectedDataKey.FastDiscount);
230
+ itemLine._markeddownPriceLineSavings = collectedData.get(Constants_1.CollectedDataKey.LineSavings);
231
+ //Amounts from external items that override itemLine fields
232
+ const extendedAmountFromExternalItem = collectedData.get(Constants_1.CollectedDataKey.ExtendedAmountFromExternalItem);
233
+ if (extendedAmountFromExternalItem) {
234
+ itemLine = itemLine.updateExtendedAmountValue(extendedAmountFromExternalItem);
235
+ }
236
+ const extendedAmountExcludingTax = collectedData.get(Constants_1.CollectedDataKey.ExtendedAmountExcludingTaxFromExternalItem);
237
+ if (extendedAmountExcludingTax) {
238
+ itemLine = itemLine.updateExtendedAmountExcludingTaxValue(extendedAmountExcludingTax);
239
+ }
240
+ const extendedAmountIncludingTax = collectedData.get(Constants_1.CollectedDataKey.ExtendedAmountIncludingTaxFromExternalItem);
241
+ if (extendedAmountIncludingTax) {
242
+ itemLine = itemLine.updateExtendedAmountIncludingTaxValue(extendedAmountIncludingTax);
243
+ }
244
+ itemLine._originalUnitPriceFromExternalItem = collectedData.get(Constants_1.CollectedDataKey.OriginalUnitPriceFromExternalItem);
245
+ if (sublineFromExternalItem) {
246
+ itemLine._subLineFromReturnItem = sublineFromExternalItem;
247
+ }
248
+ if (collectedData.get(Constants_1.CollectedDataKey.ExtensibilityFormData)) {
249
+ itemLine._extensibilityFormData = collectedData.get(Constants_1.CollectedDataKey.ExtensibilityFormData);
250
+ }
251
+ const prepaidAmount = collectedData.get(Constants_1.CollectedDataKey.PrepaidAmount);
252
+ if (prepaidAmount) {
253
+ itemLine._prepaidAmount = prepaidAmount;
254
+ }
255
+ else {
256
+ itemLine._prepaidAmount = new scp_component_business_core_1.Money(0, accountingCurrency);
257
+ }
258
+ const prepaidTaxAmount = collectedData.get(Constants_1.CollectedDataKey.PrepaidTaxAmount);
259
+ if (prepaidTaxAmount) {
260
+ itemLine._prepaidTaxAmount = prepaidTaxAmount;
261
+ }
262
+ else {
263
+ itemLine._prepaidTaxAmount = new scp_component_business_core_1.Money(0, accountingCurrency);
264
+ }
265
+ const prepaidSavingsAmount = collectedData.get(Constants_1.CollectedDataKey.PrepaidSavingsAmount);
266
+ if (prepaidSavingsAmount) {
267
+ itemLine._prepaidSavingsAmount = prepaidSavingsAmount;
268
+ }
269
+ else {
270
+ itemLine._prepaidSavingsAmount = new scp_component_business_core_1.Money(0, accountingCurrency);
271
+ }
272
+ return itemLine;
273
+ }
274
+ static getLineSavingsAmount(itemLine, sublineFromExternalItem, accountingCurrency) {
275
+ var _a;
276
+ let lineSavingsAmount = new scp_component_business_core_1.Money(0, accountingCurrency);
277
+ if (orderUtils_1.hasPickupItemFulfillment(itemLine)) {
278
+ lineSavingsAmount = (_a = sublineFromExternalItem.adjustments) === null || _a === void 0 ? void 0 : _a.reduce((adjAmt, current) => current.lineAdjustment
279
+ ? new scp_component_business_core_1.Money(current.lineAdjustment).abs().plus(adjAmt)
280
+ : new scp_component_business_core_1.Money("0.00", accountingCurrency), new scp_component_business_core_1.Money(0, accountingCurrency));
281
+ }
282
+ return lineSavingsAmount;
283
+ }
284
+ static createFromJsonObject(transactionLineJsonObj) {
285
+ const lineNumber = BaseTransactionLine_1.BaseTransactionLine.lineNumberFromJsonObject(transactionLineJsonObj);
286
+ const lineType = BaseTransactionLine_1.BaseTransactionLine.lineTypeFromJsonObject(transactionLineJsonObj);
287
+ // Line saving is always set so it is safe to load it to get the currency
288
+ const accountingCurrency = transactionLineJsonObj._lineSavings.currency;
289
+ const itemLine = new ItemLine(lineNumber, lineType, accountingCurrency);
290
+ itemLine.loadFromJsonObject(transactionLineJsonObj);
291
+ return itemLine;
292
+ }
293
+ get accountingCurrency() {
294
+ return this._accountingCurrency;
295
+ }
296
+ get couldAffectPricing() {
297
+ return true;
298
+ }
299
+ get couldAffectTaxation() {
300
+ if (this._subLineFromReturnItem !== undefined) {
301
+ return true;
302
+ }
303
+ return this.couldAffectPricing;
304
+ }
305
+ get enteredLookupKey() {
306
+ return this._enteredLookupKey;
307
+ }
308
+ get itemLookupKeys() {
309
+ return this._itemLookupKeys;
310
+ }
311
+ get preferredDisplayKeyType() {
312
+ return this._preferredDisplayKeyType;
313
+ }
314
+ get item() {
315
+ return this._item;
316
+ }
317
+ get itemType() {
318
+ return this._itemType;
319
+ }
320
+ get originalTaxGroupId() {
321
+ return this._taxGroupId;
322
+ }
323
+ get taxGroupId() {
324
+ return this._taxGroupId;
325
+ }
326
+ get originalUnitPrice() {
327
+ return this._unitPrice;
328
+ }
329
+ /**
330
+ * Since this is the primary item line, we cannot have a price change. As such, this could return the unit price,
331
+ * but that would suggest that there was a price override. Instead this returns undefined to indicate that there was
332
+ * no price override.
333
+ *
334
+ * @return {Price}
335
+ */
336
+ get unitPriceBeforePriceOverride() {
337
+ return undefined;
338
+ }
339
+ get unitPrice() {
340
+ return this._unitPrice;
341
+ }
342
+ get unitPriceExcludingTransactionDiscounts() {
343
+ return this._unitPrice;
344
+ }
345
+ get originalQuantity() {
346
+ return this._quantity;
347
+ }
348
+ get quantity() {
349
+ return this._quantity;
350
+ }
351
+ get extendedAmountExcludingTransactionDiscounts() {
352
+ return this.extendedAmount;
353
+ }
354
+ get originalExtendedAmount() {
355
+ return this.extendedAmount;
356
+ }
357
+ get extendedAmountAdjustment() {
358
+ if (!this._extendedAmountAdjustment) {
359
+ this._extendedAmountAdjustment = new scp_component_business_core_1.Money(0, this._accountingCurrency);
360
+ }
361
+ return this._extendedAmountAdjustment;
362
+ }
363
+ get originalLineSavings() {
364
+ return this._lineSavings;
365
+ }
366
+ get lineSavings() {
367
+ return this._lineSavings;
368
+ }
369
+ get extendedRegularAmount() {
370
+ if (this._extendedRegularAmount) {
371
+ return this._extendedRegularAmount;
372
+ }
373
+ else {
374
+ return this.extendedAmount;
375
+ }
376
+ }
377
+ get annotationDescription() {
378
+ return this._annotationDescription;
379
+ }
380
+ get manuallyEnteredPrice() {
381
+ return this._manuallyEnteredPrice;
382
+ }
383
+ get taxByAuthority() {
384
+ return this._taxByAuthority;
385
+ }
386
+ get taxExemptDisplayName() {
387
+ return this._taxExemptDisplayName;
388
+ }
389
+ get totalLineTax() {
390
+ return this._totalLineTax;
391
+ }
392
+ get additionalItemInfo() {
393
+ return this._additionalItemInfo;
394
+ }
395
+ get sublines() {
396
+ return this._sublines;
397
+ }
398
+ /**
399
+ * Since this is the primary item line, it cannot be voided. As such, this could return the taxByAuthority,
400
+ * but that would suggest that there was a void. Instead this returns undefined to indicate that there was
401
+ * no void.
402
+ *
403
+ * @return {Price}
404
+ */
405
+ get taxByAuthorityBeforeVoid() {
406
+ return undefined;
407
+ }
408
+ /**
409
+ * Since this is the primary item line, it cannot be voided. As such, this could return the totalLineTax,
410
+ * but that would suggest that there was a void. Instead this returns undefined to indicate that there was
411
+ * no void.
412
+ *
413
+ * @return {Price}
414
+ */
415
+ get totalLineTaxBeforeVoid() {
416
+ return undefined;
417
+ }
418
+ get voided() {
419
+ return false;
420
+ }
421
+ get giftReceipt() {
422
+ return false;
423
+ }
424
+ get comments() {
425
+ return this._comments;
426
+ }
427
+ get voidSource() {
428
+ return undefined;
429
+ }
430
+ get salesperson() {
431
+ return this._salesperson;
432
+ }
433
+ get taxExempt() {
434
+ return this._taxExempt;
435
+ }
436
+ get preTaxExemptDetails() {
437
+ return this._preTaxExemptDetails;
438
+ }
439
+ get taxOverride() {
440
+ return this._taxOverride;
441
+ }
442
+ get preTaxOverrideDetails() {
443
+ return this._preTaxOverrideDetails;
444
+ }
445
+ get authResponse() {
446
+ return this._authResponse;
447
+ }
448
+ get authorizationDeviceId() {
449
+ return this._authorizationDeviceId;
450
+ }
451
+ get isAuthorized() {
452
+ return this.authResponse ? true : false;
453
+ }
454
+ get tenderId() {
455
+ return this.tenderType ? this.tenderType.id : undefined;
456
+ }
457
+ get tenderName() {
458
+ return this.tenderType ? this.tenderType.tenderName : undefined;
459
+ }
460
+ get actionType() {
461
+ return this._actionType;
462
+ }
463
+ get tenderType() {
464
+ return this._tenderType;
465
+ }
466
+ get manufacturerSuggestedPrice() {
467
+ return this._manufacturerSuggestedPrice;
468
+ }
469
+ get unitCost() {
470
+ return this._unitCost;
471
+ }
472
+ get preventsTransactionVoid() {
473
+ return false;
474
+ }
475
+ get allowVoid() {
476
+ return true;
477
+ }
478
+ get pointsEligible() {
479
+ return this._pointsEligible;
480
+ }
481
+ get unitPriceSourceIndicator() {
482
+ return this._unitPriceSourceIndicator;
483
+ }
484
+ get inputSource() {
485
+ return this._inputSource;
486
+ }
487
+ get returnReason() {
488
+ return this._returnReason;
489
+ }
490
+ get securityAuthorizationStatus() {
491
+ return this._securityAuthorizationStatus;
492
+ }
493
+ get isFastDiscountItem() {
494
+ return this._isFastDiscountItem;
495
+ }
496
+ get markeddownPriceLineSavings() {
497
+ return this._markeddownPriceLineSavings;
498
+ }
499
+ get supervisorOverrideLineReference() {
500
+ return this._supervisorOverrideLineReference;
501
+ }
502
+ get originalTransactionLineReference() {
503
+ return this._originalTransactionLineReference;
504
+ }
505
+ get originalTransactionNumber() {
506
+ return this._originalTransactionNumber;
507
+ }
508
+ get lineNumberFromReturnTransaction() {
509
+ return this._lineNumberFromReturnTransaction;
510
+ }
511
+ get sublineIndexFromReturnItem() {
512
+ return this._sublineIndexFromReturnItem;
513
+ }
514
+ get fulfillmentGroupId() {
515
+ return this._fulfillmentGroupId;
516
+ }
517
+ get sendSale() {
518
+ return this._sendSale;
519
+ }
520
+ get subscribed() {
521
+ return this._subscribed;
522
+ }
523
+ get subscriptionQuantity() {
524
+ return this._subscriptionQuantity;
525
+ }
526
+ get subLineFromReturnItem() {
527
+ return this._subLineFromReturnItem;
528
+ }
529
+ get lineNumberFromReturnCanonicalTransaction() {
530
+ return this._lineNumberFromReturnCanonicalTransaction;
531
+ }
532
+ get lineNumberFromReturnCanonicalSubItem() {
533
+ return this._lineNumberFromReturnCanonicalSubItem;
534
+ }
535
+ get returnable() {
536
+ return this._returnable;
537
+ }
538
+ get originalUnitPriceFromExternalItem() {
539
+ return this._originalUnitPriceFromExternalItem;
540
+ }
541
+ get defaultReturnPrice() {
542
+ return this._defaultReturnPrice;
543
+ }
544
+ get originalTransactionPerformingUser() {
545
+ return this._originalTransactionPerformingUser;
546
+ }
547
+ get originalCustomer() {
548
+ return this._originalCustomer;
549
+ }
550
+ get originalTransactionSalesperson() {
551
+ return this._originalTransactionSalesperson;
552
+ }
553
+ get originalEmployeeCustomer() {
554
+ return this._originalEmployeeCustomer;
555
+ }
556
+ get originalPriceOverride() {
557
+ return this._originalPriceOverride;
558
+ }
559
+ get originalDiscountReason() {
560
+ return this._originalDiscountReason;
561
+ }
562
+ get originalLoyaltyInformation() {
563
+ return this._originalLoyaltyInformation;
564
+ }
565
+ get originalRedemptionLoyaltyTransactionKeys() {
566
+ return this._originalRedemptionLoyaltyTransactionKeys;
567
+ }
568
+ get originalSaleLoyaltyTransactionKeys() {
569
+ return this._originalSaleLoyaltyTransactionKeys;
570
+ }
571
+ get originalCompetitivePriceInformation() {
572
+ return this._originalCompetitivePriceInformation;
573
+ }
574
+ get originalSupervisorOverrideInformation() {
575
+ return this._originalSupervisorOverrideInformation;
576
+ }
577
+ get originalComments() {
578
+ return this._originalComments;
579
+ }
580
+ get originalTaxOverride() {
581
+ return this._originalTaxOverride;
582
+ }
583
+ get originalAdjustments() {
584
+ return undefined;
585
+ }
586
+ get eligibleForSubscription() {
587
+ return this._eligibleForSubscription;
588
+ }
589
+ get eligibleForSendSale() {
590
+ return this._eligibleForSendSale;
591
+ }
592
+ get reservedQuantity() {
593
+ return undefined;
594
+ }
595
+ get reservationId() {
596
+ return undefined;
597
+ }
598
+ get itemReservationCode() {
599
+ return undefined;
600
+ }
601
+ get orderLineReference() {
602
+ return this._orderLineReference;
603
+ }
604
+ get lineNumberFromOrder() {
605
+ return this._lineNumberFromOrder;
606
+ }
607
+ get itemPermanentPrice() {
608
+ return this._itemPermanentPrice;
609
+ }
610
+ get itemPermanentPriceSource() {
611
+ return this._itemPermanentPriceSource;
612
+ }
613
+ get itemTemporaryPrice() {
614
+ return this._itemTemporaryPrice;
615
+ }
616
+ get itemTemporaryPriceSource() {
617
+ return this._itemTemporaryPriceSource;
618
+ }
619
+ get itemFullPrice() {
620
+ return this._itemFullPrice;
621
+ }
622
+ get itemFullPriceSource() {
623
+ return this._itemFullPriceSource;
624
+ }
625
+ get itemEmployeeDiscountPercent() {
626
+ return this._itemEmployeeDiscountPercent;
627
+ }
628
+ get itemSelectedUnitPrice() {
629
+ return this._itemSelectedUnitPrice;
630
+ }
631
+ get presentation() {
632
+ return undefined;
633
+ }
634
+ get extendedPresentationAmount() {
635
+ return undefined;
636
+ }
637
+ get subscriptionFrequencyCodes() {
638
+ return this._subscriptionFrequencyCodes;
639
+ }
640
+ get pricingCalculationSourceIndicator() {
641
+ return this._pricingCalculationSourceIndicator;
642
+ }
643
+ get taxationCalculationSourceIndicator() {
644
+ return this._taxationCalculationSourceIndicator;
645
+ }
646
+ get pricingDataSourceIndicator() {
647
+ return this._pricingDataSourceIndicator;
648
+ }
649
+ get taxationDataSourceIndicator() {
650
+ return this._taxationDataSourceIndicator;
651
+ }
652
+ get cancelled() {
653
+ return false;
654
+ }
655
+ get extensibilityFormData() {
656
+ return this._extensibilityFormData;
657
+ }
658
+ get prepaidAmount() {
659
+ if (!this._prepaidAmount) {
660
+ this._prepaidAmount = new scp_component_business_core_1.Money(0, this._accountingCurrency);
661
+ }
662
+ return this._prepaidAmount;
663
+ }
664
+ get prepaidTaxAmount() {
665
+ if (!this._prepaidTaxAmount) {
666
+ this._prepaidTaxAmount = new scp_component_business_core_1.Money(0, this._accountingCurrency);
667
+ }
668
+ return this._prepaidTaxAmount;
669
+ }
670
+ get prepaidSavingsAmount() {
671
+ if (!this._prepaidSavingsAmount) {
672
+ this._prepaidSavingsAmount = new scp_component_business_core_1.Money(0, this._accountingCurrency);
673
+ }
674
+ return this._prepaidSavingsAmount;
675
+ }
676
+ get itemTaxExemptAmount() {
677
+ return undefined;
678
+ }
679
+ get itemTaxAdjustmentAmount() {
680
+ return undefined;
681
+ }
682
+ get extendedAmountAfterTaxAdjustment() {
683
+ return undefined;
684
+ }
685
+ get unitPriceAfterTaxAdjustment() {
686
+ return undefined;
687
+ }
688
+ updateExtendedAmount(amount) {
689
+ amount = adjustSignForLineType(this.lineType, amount);
690
+ return this.updateExtendedAmountValue(amount).setExtendedAmountExcludingAndIncludingTax();
691
+ }
692
+ updateExtendedAmountExcludingTax(amount) {
693
+ amount = adjustSignForLineType(this.lineType, amount);
694
+ return this.updateExtendedAmountExcludingTaxValue(amount);
695
+ }
696
+ updateExtendedAmountIncludingTax(amount) {
697
+ amount = adjustSignForLineType(this.lineType, amount);
698
+ return this.updateExtendedAmountIncludingTaxValue(amount);
699
+ }
700
+ updateUnitPrice(price, unitPriceSourceIndicator) {
701
+ const newLine = this.clone();
702
+ newLine._unitPrice = price;
703
+ if (unitPriceSourceIndicator) {
704
+ newLine._unitPriceSourceIndicator = unitPriceSourceIndicator;
705
+ }
706
+ return newLine;
707
+ }
708
+ setPricingSourceIndicator(calculationSourceIndicator, dataSourceIndicator) {
709
+ const newLine = this.clone();
710
+ if (calculationSourceIndicator) {
711
+ newLine._pricingCalculationSourceIndicator = calculationSourceIndicator;
712
+ }
713
+ if (dataSourceIndicator && !newLine._pricingDataSourceIndicator) {
714
+ newLine._pricingDataSourceIndicator = dataSourceIndicator;
715
+ }
716
+ return newLine;
717
+ }
718
+ setTaxationSourceIndicator(calculationSourceIndicator, dataSourceIndicator) {
719
+ const newLine = this.clone();
720
+ if (calculationSourceIndicator) {
721
+ newLine._taxationCalculationSourceIndicator = calculationSourceIndicator;
722
+ }
723
+ if (dataSourceIndicator && !newLine._taxationDataSourceIndicator) {
724
+ newLine._taxationDataSourceIndicator = dataSourceIndicator;
725
+ }
726
+ return newLine;
727
+ }
728
+ setTransactionLineTaxes(transactionLineTaxes, extendedAmount) {
729
+ const newLine = this.clone();
730
+ newLine._taxByAuthority = transactionLineTaxes.taxByAuthority;
731
+ newLine._totalLineTax = transactionLineTaxes.totalLineTax;
732
+ return newLine.setExtendedAmountExcludingAndIncludingTax(extendedAmount);
733
+ }
734
+ setSublines(sublines) {
735
+ const newLine = this.clone();
736
+ newLine._sublines = sublines;
737
+ return newLine;
738
+ }
739
+ setTaxExemptInformation(taxExemptLine, preTaxExemptDetails) {
740
+ const newLine = this.clone();
741
+ if (taxExemptLine) {
742
+ newLine._taxExempt = {
743
+ taxExemptLineReference: makeTaxExemptLineReference(taxExemptLine.lineNumber),
744
+ taxExemptType: taxExemptLine.taxExemptType,
745
+ reasonCode: taxExemptLine.reasonCode,
746
+ reasonDescription: taxExemptLine.reasonDescription,
747
+ reasonListType: taxExemptLine.reasonListType,
748
+ certificateId: taxExemptLine.certificateId,
749
+ presetRateExemption: taxExemptLine.presetRateExemption,
750
+ presetExemptionCategory: taxExemptLine.presetRateExemption
751
+ ? taxExemptLine.presetExemptionCategory
752
+ : undefined,
753
+ };
754
+ newLine._taxExemptDisplayName = taxExemptLine.displayName;
755
+ }
756
+ else {
757
+ newLine._taxExempt = undefined;
758
+ newLine._taxExemptDisplayName = undefined;
759
+ }
760
+ newLine._preTaxExemptDetails =
761
+ preTaxExemptDetails && preTaxExemptDetails.length > 0 ? preTaxExemptDetails : undefined;
762
+ return newLine;
763
+ }
764
+ setTaxOverrideInformation(taxOverrideLine, preTaxOverrideDetails) {
765
+ var _a;
766
+ const newLine = this.clone();
767
+ //Transaction Tax override not allowed on return with receipt item
768
+ const returnWithTransactionItem = !!(newLine.lineNumberFromReturnTransaction !== undefined && newLine.subLineFromReturnItem !== undefined);
769
+ if (!returnWithTransactionItem) {
770
+ if (taxOverrideLine) {
771
+ newLine._taxOverride = {
772
+ taxOverrideType: taxOverrideLine.taxOverrideType,
773
+ taxRate: taxOverrideLine.newTaxRate,
774
+ taxAmount: (_a = taxOverrideLine.newTaxAmount) === null || _a === void 0 ? void 0 : _a.toIMoney(),
775
+ reasonCode: taxOverrideLine.reasonCode,
776
+ reasonListType: taxOverrideLine.reasonListType,
777
+ reasonDescription: taxOverrideLine.reasonDescription,
778
+ supervisorOverrideLineReference: taxOverrideLine.supervisorOverrideLineReference,
779
+ };
780
+ newLine._preTaxOverrideDetails = preTaxOverrideDetails;
781
+ }
782
+ else {
783
+ newLine._taxOverride = undefined;
784
+ newLine._preTaxOverrideDetails = undefined;
785
+ }
786
+ }
787
+ return newLine;
788
+ }
789
+ setSupervisorOverrideLineReference(supervisorOverrideLineReference) {
790
+ const newLine = this.clone();
791
+ if (supervisorOverrideLineReference) {
792
+ newLine._supervisorOverrideLineReference = supervisorOverrideLineReference;
793
+ }
794
+ else {
795
+ newLine._supervisorOverrideLineReference = undefined;
796
+ }
797
+ return newLine;
798
+ }
799
+ setSecurityAuthorizationStatus(value) {
800
+ const newLine = this.clone();
801
+ newLine._securityAuthorizationStatus = value || undefined;
802
+ return newLine;
803
+ }
804
+ copyLineWithNewLineNumber(newLineNumber) {
805
+ const clonedItem = this.clone();
806
+ return clonedItem.updateLineNumber(newLineNumber);
807
+ }
808
+ setExtendedRegularAmount(amount) {
809
+ const newLine = this.clone();
810
+ newLine._extendedRegularAmount = amount;
811
+ return newLine;
812
+ }
813
+ clone() {
814
+ const newItemLine = super.clone();
815
+ newItemLine._enteredLookupKey = this._enteredLookupKey;
816
+ newItemLine._itemLookupKeys = this._itemLookupKeys;
817
+ newItemLine._item = this._item;
818
+ newItemLine._itemType = this._itemType;
819
+ newItemLine._taxGroupId = this._taxGroupId;
820
+ newItemLine._unitPrice = this._unitPrice;
821
+ newItemLine._quantity = this._quantity;
822
+ newItemLine._lineSavings = this._lineSavings;
823
+ newItemLine._annotationDescription = this._annotationDescription;
824
+ newItemLine._manuallyEnteredPrice = this._manuallyEnteredPrice;
825
+ newItemLine._taxByAuthority = this._taxByAuthority;
826
+ newItemLine._taxExemptDisplayName = this._taxExemptDisplayName;
827
+ newItemLine._totalLineTax = this._totalLineTax;
828
+ newItemLine._additionalItemInfo = this._additionalItemInfo;
829
+ newItemLine._sublines = this._sublines;
830
+ newItemLine._salesperson = this._salesperson;
831
+ newItemLine._authResponse = this._authResponse;
832
+ newItemLine._manufacturerSuggestedPrice = this._manufacturerSuggestedPrice;
833
+ newItemLine._unitCost = this._unitCost;
834
+ newItemLine._authorizationDeviceId = this._authorizationDeviceId;
835
+ newItemLine._actionType = this._actionType;
836
+ newItemLine._tenderType = this.tenderType;
837
+ newItemLine._taxExempt = this._taxExempt;
838
+ newItemLine._preTaxExemptDetails = this._preTaxExemptDetails;
839
+ newItemLine._taxOverride = this._taxOverride;
840
+ newItemLine._preTaxOverrideDetails = this._preTaxOverrideDetails;
841
+ newItemLine._preferredDisplayKeyType = this._preferredDisplayKeyType;
842
+ newItemLine._pointsEligible = this._pointsEligible;
843
+ newItemLine._unitPriceSourceIndicator = this._unitPriceSourceIndicator;
844
+ newItemLine._inputSource = this._inputSource;
845
+ newItemLine._returnReason = this._returnReason;
846
+ newItemLine._securityAuthorizationStatus = this._securityAuthorizationStatus;
847
+ newItemLine._comments = this._comments;
848
+ newItemLine._isFastDiscountItem = this._isFastDiscountItem;
849
+ newItemLine._markeddownPriceLineSavings = this._markeddownPriceLineSavings;
850
+ newItemLine._supervisorOverrideLineReference = this._supervisorOverrideLineReference;
851
+ newItemLine._lineNumberFromReturnTransaction = this._lineNumberFromReturnTransaction;
852
+ newItemLine._sublineIndexFromReturnItem = this._sublineIndexFromReturnItem;
853
+ newItemLine._subLineFromReturnItem = this._subLineFromReturnItem;
854
+ newItemLine._originalTransactionLineReference = this._originalTransactionLineReference;
855
+ newItemLine._originalTransactionNumber = this._originalTransactionNumber;
856
+ newItemLine._lineNumberFromReturnCanonicalTransaction = this._lineNumberFromReturnCanonicalTransaction;
857
+ newItemLine._lineNumberFromReturnCanonicalSubItem = this._lineNumberFromReturnCanonicalSubItem;
858
+ newItemLine._fulfillmentGroupId = this._fulfillmentGroupId;
859
+ newItemLine._sendSale = this._sendSale;
860
+ newItemLine._subscribed = this._subscribed;
861
+ newItemLine._subscriptionQuantity = this._subscriptionQuantity;
862
+ newItemLine._returnable = this._returnable;
863
+ newItemLine._originalUnitPriceFromExternalItem = this._originalUnitPriceFromExternalItem;
864
+ newItemLine._defaultReturnPrice = this._defaultReturnPrice;
865
+ newItemLine._originalTransactionPerformingUser = this._originalTransactionPerformingUser;
866
+ newItemLine._originalCustomer = this._originalCustomer;
867
+ newItemLine._originalTransactionSalesperson = this._originalTransactionSalesperson;
868
+ newItemLine._eligibleForSubscription = this._eligibleForSubscription;
869
+ newItemLine._eligibleForSendSale = this._eligibleForSendSale;
870
+ newItemLine._orderLineReference = this._orderLineReference;
871
+ newItemLine._lineNumberFromOrder = this._lineNumberFromOrder;
872
+ newItemLine._itemPermanentPrice = this._itemPermanentPrice;
873
+ newItemLine._itemPermanentPriceSource = this._itemPermanentPriceSource;
874
+ newItemLine._itemTemporaryPrice = this._itemTemporaryPrice;
875
+ newItemLine._itemTemporaryPriceSource = this._itemTemporaryPriceSource;
876
+ newItemLine._itemFullPrice = this._itemFullPrice;
877
+ newItemLine._itemFullPriceSource = this._itemFullPriceSource;
878
+ newItemLine._itemEmployeeDiscountPercent = this._itemEmployeeDiscountPercent;
879
+ newItemLine._itemSelectedUnitPrice = this._itemSelectedUnitPrice;
880
+ newItemLine._subscriptionFrequencyCodes = this._subscriptionFrequencyCodes;
881
+ newItemLine._pricingCalculationSourceIndicator = this._pricingCalculationSourceIndicator;
882
+ newItemLine._taxationCalculationSourceIndicator = this._taxationCalculationSourceIndicator;
883
+ newItemLine._pricingDataSourceIndicator = this._pricingDataSourceIndicator;
884
+ newItemLine._taxationDataSourceIndicator = this._taxationDataSourceIndicator;
885
+ newItemLine._extensibilityFormData = this._extensibilityFormData;
886
+ newItemLine._originalEmployeeCustomer = this._originalEmployeeCustomer;
887
+ newItemLine._originalPriceOverride = this._originalPriceOverride;
888
+ newItemLine._originalDiscountReason = this._originalDiscountReason;
889
+ newItemLine._originalLoyaltyInformation = this._originalLoyaltyInformation;
890
+ newItemLine._originalCompetitivePriceInformation = this._originalCompetitivePriceInformation;
891
+ newItemLine._originalSupervisorOverrideInformation = this._originalSupervisorOverrideInformation;
892
+ newItemLine._originalComments = this._originalComments;
893
+ newItemLine._originalTaxOverride = this._originalTaxOverride;
894
+ newItemLine._prepaidAmount = this._prepaidAmount;
895
+ newItemLine._prepaidTaxAmount = this._prepaidTaxAmount;
896
+ newItemLine._prepaidSavingsAmount = this._prepaidSavingsAmount;
897
+ newItemLine._extendedRegularAmount = this._extendedRegularAmount;
898
+ newItemLine._originalRedemptionLoyaltyTransactionKeys = this._originalRedemptionLoyaltyTransactionKeys;
899
+ newItemLine._originalSaleLoyaltyTransactionKeys = this._originalSaleLoyaltyTransactionKeys;
900
+ return newItemLine;
901
+ }
902
+ // eslint-disable-next-line complexity
903
+ loadFromJsonObject(transactionLineJsonObj) {
904
+ super.loadFromJsonObject(transactionLineJsonObj);
905
+ this._enteredLookupKey = StoreItem_1.ItemLookupKey.createFromJsonObj(transactionLineJsonObj._enteredLookupKey);
906
+ this._itemLookupKeys = transactionLineJsonObj._itemLookupKeys
907
+ ? transactionLineJsonObj._itemLookupKeys
908
+ : undefined;
909
+ this._item = StoreItem_1.StoreItem.createFromJsonObject(transactionLineJsonObj._item);
910
+ this._itemType = transactionLineJsonObj._itemType
911
+ ? transactionLineJsonObj._itemType
912
+ : scp_types_commerce_transaction_1.ItemType.Merchandise;
913
+ this._taxGroupId = transactionLineJsonObj._taxGroupId;
914
+ this._unitPrice = scp_component_business_core_1.Price.fromJSON(transactionLineJsonObj._unitPrice);
915
+ this._quantity = scp_component_business_core_1.Quantity.fromJSON(transactionLineJsonObj._quantity);
916
+ this._lineSavings = scp_component_business_core_1.Money.fromJSON(transactionLineJsonObj._lineSavings);
917
+ this._annotationDescription = transactionLineJsonObj._annotationDescription;
918
+ this._manuallyEnteredPrice = transactionLineJsonObj._manuallyEnteredPrice;
919
+ this._taxByAuthority = transactionLineJsonObj._taxByAuthority;
920
+ this._taxExemptDisplayName = transactionLineJsonObj._taxExemptDisplayName;
921
+ this._totalLineTax = transactionLineJsonObj._totalLineTax
922
+ ? new scp_component_business_core_1.Money(transactionLineJsonObj._totalLineTax)
923
+ : undefined;
924
+ this._additionalItemInfo = transactionLineJsonObj._additionalItemInfo;
925
+ this._sublines = transactionLineJsonObj._sublines;
926
+ this._salesperson = Employee_1.Employee.createFromJsonObject(transactionLineJsonObj._salesperson);
927
+ this._taxExempt = transactionLineJsonObj._taxExempt;
928
+ this._preTaxExemptDetails = transactionLineJsonObj._preTaxExemptDetails;
929
+ this._taxOverride = transactionLineJsonObj._taxOverride;
930
+ this._preTaxOverrideDetails = transactionLineJsonObj._preTaxOverrideDetails;
931
+ this._authResponse = transactionLineJsonObj._authResponse;
932
+ if (transactionLineJsonObj._authResponse) {
933
+ if (transactionLineJsonObj._authResponse.balance) {
934
+ this._authResponse.balance = new scp_component_business_core_1.Money(transactionLineJsonObj._authResponse.balance);
935
+ }
936
+ if (transactionLineJsonObj._authResponse.amount) {
937
+ this._authResponse.amount = new scp_component_business_core_1.Money(transactionLineJsonObj._authResponse.amount);
938
+ }
939
+ if (transactionLineJsonObj._authResponse.approvedAmount) {
940
+ this._authResponse.approvedAmount = new scp_component_business_core_1.Money(transactionLineJsonObj._authResponse.approvedAmount);
941
+ }
942
+ }
943
+ this._authorizationDeviceId = transactionLineJsonObj._authorizationDeviceId;
944
+ this._actionType = transactionLineJsonObj._actionType;
945
+ this._tenderType = TenderType_1.TenderType.createFromJsonObject(transactionLineJsonObj._tenderType);
946
+ this._manufacturerSuggestedPrice = transactionLineJsonObj._manufacturerSuggestedPrice
947
+ ? scp_component_business_core_1.Price.fromJSON(transactionLineJsonObj._manufacturerSuggestedPrice)
948
+ : undefined;
949
+ this._unitCost = transactionLineJsonObj._unitCost
950
+ ? new scp_component_business_core_1.Money(transactionLineJsonObj._unitCost)
951
+ : undefined;
952
+ this._preferredDisplayKeyType = transactionLineJsonObj._preferredDisplayKeyType;
953
+ this._pointsEligible = transactionLineJsonObj._pointsEligible;
954
+ this._unitPriceSourceIndicator = transactionLineJsonObj._unitPriceSourceIndicator;
955
+ this._inputSource = transactionLineJsonObj._inputSource;
956
+ this._returnReason = transactionLineJsonObj._returnReason;
957
+ this._originalTransactionLineReference = transactionLineJsonObj._originalTransactionLineReference;
958
+ this._originalTransactionNumber = transactionLineJsonObj._originalTransactionNumber;
959
+ this._securityAuthorizationStatus = transactionLineJsonObj._securityAuthorizationStatus;
960
+ this._supervisorOverrideLineReference = transactionLineJsonObj._supervisorOverrideLineReference;
961
+ this._comments = transactionLineJsonObj._comments;
962
+ this._isFastDiscountItem = transactionLineJsonObj._fastDiscountItem;
963
+ this._markeddownPriceLineSavings = transactionLineJsonObj._markeddownPriceLineSavings
964
+ ? new scp_component_business_core_1.Money(transactionLineJsonObj._markeddownPriceLineSavings)
965
+ : undefined;
966
+ this._lineNumberFromReturnTransaction = transactionLineJsonObj._lineNumberFromReturnTransaction;
967
+ this._sublineIndexFromReturnItem = transactionLineJsonObj._sublineIndexFromReturnItem;
968
+ this._subLineFromReturnItem = transactionLineJsonObj._subLineFromReturnItem;
969
+ this._originalPriceOverride = transactionLineJsonObj._originalPriceOverride;
970
+ this._originalLoyaltyInformation = transactionLineJsonObj._originalLoyaltyInformation;
971
+ this._originalCompetitivePriceInformation = transactionLineJsonObj._originalCompetitivePriceInformation;
972
+ this._originalSupervisorOverrideInformation =
973
+ transactionLineJsonObj._originalSupervisorOverrideInformation;
974
+ this._originalComments = transactionLineJsonObj._originalComments;
975
+ this._originalTaxOverride = transactionLineJsonObj._originalTaxOverride;
976
+ this._lineNumberFromReturnCanonicalTransaction =
977
+ transactionLineJsonObj._lineNumberFromReturnCanonicalTransaction;
978
+ this._lineNumberFromReturnCanonicalSubItem = transactionLineJsonObj._lineNumberFromReturnCanonicalSubItem;
979
+ this._fulfillmentGroupId = transactionLineJsonObj._fulfillmentGroupId;
980
+ this._sendSale = transactionLineJsonObj._sendSale;
981
+ this._subscribed = transactionLineJsonObj._subscribed;
982
+ this._subscriptionQuantity = transactionLineJsonObj._subscriptionQuantity;
983
+ this._returnable = transactionLineJsonObj._returnable;
984
+ this._originalUnitPriceFromExternalItem = transactionLineJsonObj._originalUnitPriceFromExternalItem
985
+ ? scp_component_business_core_1.Price.fromJSON(transactionLineJsonObj._originalUnitPriceFromExternalItem)
986
+ : undefined;
987
+ this._defaultReturnPrice = transactionLineJsonObj._defaultReturnPrice
988
+ ? scp_component_business_core_1.Price.fromJSON(transactionLineJsonObj._defaultReturnPrice)
989
+ : undefined;
990
+ this._originalTransactionPerformingUser = transactionLineJsonObj._originalTransactionPerformingUser;
991
+ this._originalCustomer = Customer_1.Customer.createFromJsonObject(transactionLineJsonObj._originalCustomer);
992
+ this._originalTransactionSalesperson = Employee_1.Employee.createFromJsonObject(transactionLineJsonObj._originalTransactionSalesperson);
993
+ this._eligibleForSubscription = transactionLineJsonObj._eligibleForSubscription;
994
+ this._eligibleForSendSale = transactionLineJsonObj._eligibleForSendSale;
995
+ this._orderLineReference = transactionLineJsonObj._orderLineReference;
996
+ this._lineNumberFromOrder = transactionLineJsonObj._lineNumberFromOrder;
997
+ this._itemPermanentPrice = transactionLineJsonObj._itemPermanentPrice
998
+ ? scp_component_business_core_1.Price.fromIPrice(transactionLineJsonObj._itemPermanentPrice)
999
+ : undefined;
1000
+ this._itemPermanentPriceSource = transactionLineJsonObj._itemPermanentPriceSource
1001
+ ? transactionLineJsonObj._itemPermanentPriceSource
1002
+ : undefined;
1003
+ this._itemTemporaryPrice = transactionLineJsonObj._itemTemporaryPrice
1004
+ ? scp_component_business_core_1.Price.fromIPrice(transactionLineJsonObj._itemTemporaryPrice)
1005
+ : undefined;
1006
+ this._itemTemporaryPriceSource = transactionLineJsonObj._itemTemporaryPriceSource
1007
+ ? transactionLineJsonObj._itemTemporaryPriceSource
1008
+ : undefined;
1009
+ this._itemFullPrice = transactionLineJsonObj._itemFullPrice
1010
+ ? scp_component_business_core_1.Price.fromIPrice(transactionLineJsonObj._itemFullPrice)
1011
+ : undefined;
1012
+ this._itemFullPriceSource = transactionLineJsonObj._itemFullPriceSource
1013
+ ? transactionLineJsonObj._itemFullPriceSource
1014
+ : undefined;
1015
+ this._itemEmployeeDiscountPercent = transactionLineJsonObj._itemEmployeeDiscountPercent;
1016
+ this._itemSelectedUnitPrice = transactionLineJsonObj._itemSelectedUnitPrice;
1017
+ this._subscriptionFrequencyCodes = transactionLineJsonObj._subscriptionFrequencyCodes;
1018
+ this._pricingCalculationSourceIndicator = transactionLineJsonObj._pricingCalculationSourceIndicator;
1019
+ this._taxationCalculationSourceIndicator = transactionLineJsonObj._taxationCalculationSourceIndicator;
1020
+ this._pricingDataSourceIndicator = transactionLineJsonObj._pricingDataSourceIndicator;
1021
+ this._taxationDataSourceIndicator = transactionLineJsonObj._taxationDataSourceIndicator;
1022
+ this._extensibilityFormData = transactionLineJsonObj._extensibilityFormData;
1023
+ this._originalEmployeeCustomer = Employee_1.Employee.createFromJsonObject(transactionLineJsonObj._originalEmployeeCustomer);
1024
+ this._prepaidAmount = transactionLineJsonObj._prepaidAmount
1025
+ ? new scp_component_business_core_1.Money(transactionLineJsonObj._prepaidAmount)
1026
+ : new scp_component_business_core_1.Money(0.0, this._accountingCurrency);
1027
+ this._prepaidTaxAmount = transactionLineJsonObj._prepaidTaxAmount
1028
+ ? new scp_component_business_core_1.Money(transactionLineJsonObj._prepaidTaxAmount)
1029
+ : new scp_component_business_core_1.Money(0.0, this._accountingCurrency);
1030
+ this._prepaidSavingsAmount = transactionLineJsonObj._prepaidSavingsAmount
1031
+ ? new scp_component_business_core_1.Money(transactionLineJsonObj._prepaidSavingsAmount)
1032
+ : new scp_component_business_core_1.Money(0.0, this._accountingCurrency);
1033
+ this._extendedRegularAmount = transactionLineJsonObj._extendedRegularAmount
1034
+ ? new scp_component_business_core_1.Money(transactionLineJsonObj._extendedRegularAmount)
1035
+ : undefined;
1036
+ this._originalRedemptionLoyaltyTransactionKeys =
1037
+ transactionLineJsonObj._originalRedemptionLoyaltyTransactionKeys;
1038
+ this._originalSaleLoyaltyTransactionKeys = transactionLineJsonObj._originalSaleLoyaltyTransactionKeys;
1039
+ this._originalDiscountReason = transactionLineJsonObj.originalDiscountReason;
1040
+ }
1041
+ newTransactionLine() {
1042
+ return new ItemLine(this.lineNumber, this.lineType, this._accountingCurrency);
1043
+ }
1044
+ static determineQuantity(quantity, lineType) {
1045
+ if (!quantity) {
1046
+ quantity = new scp_component_business_core_1.Quantity(1);
1047
+ }
1048
+ return quantity;
1049
+ }
1050
+ static getEnteredLookupKeyFromCollectedData(collectedData) {
1051
+ let enteredKeyType = undefined;
1052
+ if (collectedData.has(Constants_1.CollectedDataKey.SearchItemKeyType)) {
1053
+ enteredKeyType = collectedData.get(Constants_1.CollectedDataKey.SearchItemKeyType);
1054
+ }
1055
+ let enteredKeyValue = undefined;
1056
+ if (collectedData.has(Constants_1.CollectedDataKey.SearchItemKey)) {
1057
+ enteredKeyValue = collectedData.get(Constants_1.CollectedDataKey.SearchItemKey);
1058
+ }
1059
+ return enteredKeyType && enteredKeyValue && new StoreItem_1.ItemLookupKey(enteredKeyType, enteredKeyValue);
1060
+ }
1061
+ static getItemLookupKeyFromCollectedData(alternativeLookupCodes) {
1062
+ const itemLookupKeys = [];
1063
+ alternativeLookupCodes.forEach((alternativeLookupCode) => {
1064
+ const lookupKey = this.convertLookupKeyFromCollectedData(alternativeLookupCode.type, alternativeLookupCode.value);
1065
+ if (lookupKey) {
1066
+ itemLookupKeys.push(lookupKey);
1067
+ }
1068
+ });
1069
+ return itemLookupKeys;
1070
+ }
1071
+ static convertLookupKeyFromCollectedData(keyType, keyValue) {
1072
+ return keyType && keyValue && new StoreItem_1.ItemLookupKey(keyType, keyValue);
1073
+ }
1074
+ setExtendedAmountExcludingAndIncludingTax(extendedAmount, totalLineTax) {
1075
+ let itemLine = this.clone();
1076
+ const { extendedAmountExcludingTax, extendedAmountIncludingTax } = getExtendedAmountExcludingAndIncludingTax(itemLine.taxByAuthority, extendedAmount || itemLine.extendedAmount, totalLineTax || itemLine.totalLineTax);
1077
+ itemLine = itemLine.updateExtendedAmountExcludingTax(extendedAmountExcludingTax);
1078
+ itemLine = itemLine.updateExtendedAmountIncludingTax(extendedAmountIncludingTax);
1079
+ return itemLine;
1080
+ }
1081
+ }
1082
+ exports.ItemLine = ItemLine;
1083
+ function makeTaxExemptLineReference(lineNumber) {
1084
+ return { lineNumber };
1085
+ }
1086
+ exports.makeTaxExemptLineReference = makeTaxExemptLineReference;
1087
+ exports.isItemLine = (transactionLine) => {
1088
+ return (transactionLine instanceof ItemLine ||
1089
+ (transactionLine &&
1090
+ (transactionLine.lineType === exports.ITEM_SALE_LINE_TYPE ||
1091
+ transactionLine.lineType === exports.ITEM_RETURN_LINE_TYPE ||
1092
+ transactionLine.lineType === exports.ITEM_ORDER_LINE_TYPE ||
1093
+ transactionLine.lineType === exports.ITEM_CANCEL_LINE_TYPE ||
1094
+ transactionLine.item !== undefined)));
1095
+ };
1096
+ exports.isSaleOrOrderLine = (transactionLine) => {
1097
+ return (transactionLine &&
1098
+ (transactionLine.lineType === exports.ITEM_SALE_LINE_TYPE || transactionLine.lineType === exports.ITEM_ORDER_LINE_TYPE));
1099
+ };
1100
+ exports.isSaleLine = (transactionLine) => {
1101
+ return transactionLine && transactionLine.lineType === exports.ITEM_SALE_LINE_TYPE;
1102
+ };
1103
+ exports.isOrderLine = (transactionLine) => {
1104
+ return transactionLine && transactionLine.lineType === exports.ITEM_ORDER_LINE_TYPE;
1105
+ };
1106
+ exports.isSendSaleLine = (transactionLine) => {
1107
+ return (transactionLine &&
1108
+ transactionLine.lineType === exports.ITEM_SALE_LINE_TYPE &&
1109
+ transactionLine.sendSale);
1110
+ };
1111
+ exports.isFulfillmentLine = (transactionLine) => {
1112
+ return (transactionLine &&
1113
+ transactionLine.lineType === exports.ITEM_SALE_LINE_TYPE &&
1114
+ transactionLine.fulfillmentGroupId > 0 &&
1115
+ !transactionLine.subscribed &&
1116
+ !transactionLine.sendSale &&
1117
+ !transactionLine.voided &&
1118
+ !transactionLine.cancelled);
1119
+ };
1120
+ function getExtendedAmountExcludingAndIncludingTax(taxByAuthorities, extendedAmount, totalLineTax) {
1121
+ var _a;
1122
+ let extendedAmountExcludingTax = extendedAmount;
1123
+ let extendedAmountIncludingTax = extendedAmount;
1124
+ if (extendedAmount && totalLineTax && ((_a = taxByAuthorities) === null || _a === void 0 ? void 0 : _a.length)) {
1125
+ // FIXME: Need to handle the cases of mixed tax type (i.e. both VAT and Non-VAT)
1126
+ const taxIncludedInPrice = taxByAuthorities.some((taxByAuthority) => { var _a, _b; return (_b = (_a = taxByAuthority.taxAuthority) === null || _a === void 0 ? void 0 : _a.taxRule) === null || _b === void 0 ? void 0 : _b.taxIncludedInPrice; });
1127
+ if (taxIncludedInPrice) {
1128
+ extendedAmountExcludingTax = extendedAmount.minus(totalLineTax);
1129
+ }
1130
+ else {
1131
+ extendedAmountIncludingTax = extendedAmount.plus(totalLineTax);
1132
+ }
1133
+ }
1134
+ return { extendedAmountExcludingTax, extendedAmountIncludingTax };
1135
+ }
1136
+ exports.getExtendedAmountExcludingAndIncludingTax = getExtendedAmountExcludingAndIncludingTax;
1137
+ function isReturnLine(transactionLine) {
1138
+ return transactionLine.lineType === exports.ITEM_RETURN_LINE_TYPE;
1139
+ }
1140
+ exports.isReturnLine = isReturnLine;
1141
+ function isCancelLine(transactionLine) {
1142
+ return transactionLine.lineType === exports.ITEM_CANCEL_LINE_TYPE;
1143
+ }
1144
+ exports.isCancelLine = isCancelLine;
1145
+ function adjustSignForLineType(lineType, amount) {
1146
+ if (amount.isPositive()) {
1147
+ amount = amount.times(getPriceSignAdjuster(lineType));
1148
+ }
1149
+ return amount;
1150
+ }
1151
+ exports.adjustSignForLineType = adjustSignForLineType;
1152
+ function getPriceSignAdjuster(lineType) {
1153
+ switch (lineType) {
1154
+ case exports.ITEM_CANCEL_LINE_TYPE:
1155
+ case exports.ITEM_RETURN_LINE_TYPE:
1156
+ case FeeLine_1.ITEM_FEE_REFUND_LINE_TYPE:
1157
+ return -1;
1158
+ default:
1159
+ return 1;
1160
+ }
1161
+ }
1162
+ exports.getPriceSignAdjuster = getPriceSignAdjuster;
1163
+ function isItemPickupOrDeliveryLine(line) {
1164
+ return (line.fulfillmentGroupId > 0 &&
1165
+ !line.subscribed &&
1166
+ !line.sendSale);
1167
+ }
1168
+ exports.isItemPickupOrDeliveryLine = isItemPickupOrDeliveryLine;
1169
+ //# sourceMappingURL=ItemLine.js.map