Email Integration -- Code Reconciliation Tasks
Tasks identified during documentation reconciliation that require code changes in the operations or common-module repositories.
Operations Repository
Section titled “Operations Repository”Add OTHER to OrderMethod enum
Section titled “Add OTHER to OrderMethod enum”File: src/main/kotlin/cards/arda/operations/reference/item/business/ItemSupply.kt
The OrderMethod enum is missing the OTHER value that is documented in the domain model. Add it as the last value.
enum class OrderMethod { UNKNOWN, PURCHASE_ORDER, EMAIL, PHONE, IN_STORE, ONLINE, RFQ, PRODUCTION, TASK, THIRD_PARTY, OTHER // <-- add}Impact: Low. No existing code paths depend on exhaustive matching of OrderMethod values in a way that would break. Serialization handles unknown enum values gracefully.
Verify totalAmount semantics
Section titled “Verify totalAmount semantics”Context: The documentation specifies totalAmount as a single Money value. The code computes totalAmount as List<Money.Value> (one per currency) to handle multi-currency orders.
Decision needed: The documentation adopts the single-value interpretation per reconciliation guidance. If multi-currency orders are a real requirement, the documentation should be updated instead. Verify whether any tenant data actually uses mixed currencies within a single order.
- The
OrderLineStatusenum in code (NEW,COMMITTED,RECEIVING,COMPLETED,CANCELLED) has been adopted as the documented state model, replacing the previous documentation which described a computed status based on item freshness (BLANK,CURRENT,STALE,INVALID). - The
OrderStatus.ARCHIVEDvalue present in code has been added to the documentation. - Fields added to documentation from code:
expedite,accountingReference,shippingTerms,shipVia(order header);title,description,servicedCards(order line).
Copyright: © Arda Systems 2025-2026, All rights reserved