This document explains, at a product level, how the service handles duplicate leads when transferring between APL and AHL.
The service handles duplicates differently depending on transfer direction:
| Transfer direction | When duplicate is checked | What happens if duplicate exists |
|---|---|---|
| APL to AHL | After LMS says the lead is suitable for AHL, but before transfer | The lead may be blocked as DUPLICATE_EXISTS, or allowed if reapply is possible |
| AHL to APL | During transfer, after APL evaluation | The new APL lead is not transferred; the existing APL lead is reused |
DUPLICATE_EXISTS is a final status. Once a transfer attempt has this status, the normal transfer flow will not continue.
LMS is used during check-suitability. It answers the first product question:
Is this lead suitable for transfer to the target product?
LMS does not make the final duplicate decision in both directions:
In this direction, duplicate detection happens early, during the APL check-suitability step.
The main question is:
Does this borrower already have an AHL loan/lead, and can they reapply?
Product behavior:
DUPLICATE_EXISTS.DUPLICATE_EXISTS, Genesys is updated with the existing AHL Salesforce lead id so the agent can work with the existing lead.In this direction, duplicate detection happens later, during the actual transfer.
The main question is:
When APL evaluates this borrower, does APL say this is a duplicate?
Product behavior:
is_duplicate_reused = true.| Status | Product meaning |
|---|---|
NEW |
Transfer is eligible and has not started yet |
IN_PROGRESS |
Transfer is currently being processed |
SUCCESS |
Transfer completed successfully |
FAILED |
Transfer failed for a non-duplicate reason |
DUPLICATE_EXISTS |
Duplicate was found and normal transfer should not continue |
APL to AHL checks duplicate status before transfer.
AHL to APL checks duplicate status during transfer, after APL evaluation.
That is why duplicates can appear at different points in the user journey depending on transfer direction.