Skip to main content

Enabling fallback Address resolver on Commenda Logical backend

Current Behavior

For each transaction, the system selects only the first available address based on the defined hierarchy and sends it for geocoding. If geocoding fails to resolve this address, the entire transaction fails and is moved to the holding pen, even if other valid addresses are available for the transaction.

Impact

  • Transactions get blocked unnecessarily
  • Valid fallback addresses are ignored
  • Increased manual intervention due to holding-pen accumulation

Expected Behavior

For each transaction, the system should attempt calling a geocoding api using all available addresses in hierarchical order, instead of failing immediately on the first failure.

Address Resolution Logic

  1. Identify all available addresses for the transaction.
  2. Sort them according to the predefined hierarchy
    • Example hierarchy: __Customer Shipping > Invoice Billing > Customer Billing > Card Information __
  3. Attempt geocoding using the highest-priority address.
  4. If geocoding fails:
    • __Do not fail the transaction __
    • Automatically attempt the __next address in the hierarchy __
  5. Mark the transaction as failed only if all available addresses fail to resolve.

Example

Available addresses:
  • Customer Shipping
  • Invoice Billing
__Hierarchy: __ Customer Shipping > Invoice Billing Flow:
  1. Attempt geocoding with Customer Shipping address
  2. If it fails, retry using Invoice Billing address
  3. Transaction proceeds successfully if Invoice Billing resolves
  4. Transaction moves to holding pen only if both addresses fail

Acceptance Criteria

  • System iterates through all available addresses in hierarchical order
  • Transaction does not fail on the first geocoding failure
  • Transaction is sent to holding pen only when no address resolves successfully