Loss Prevention Case Handling¶
domain event management
Outcome¶
An item or transaction anomaly is triaged and resolved with policy-controlled intervention and a recorded false-positive outcome where applicable.
Service Flow¶
flowchart LR
S0["Detect Identification Anomaly"]
S1["Detect Transaction Anomaly"]
S0 --> S1
S2["Open Loss Prevention Case"]
S1 --> S2
S3["Resolve Loss Prevention Case"]
S2 --> S3
Capabilities¶
Automated Item Identification Loss Prevention Checkout Payment Processing
Domains¶
inventory store commerce payment
Business Objects¶
| Object | Classification | Domain |
|---|---|---|
| loss-prevention-case | aggregate-root |
store |
| inventory | aggregate-root |
inventory |
| order | aggregate-root |
order |
| payment | aggregate-root |
payment |
| store | aggregate-root |
store |
Business Services¶
detect-identification-anomalydetect-transaction-anomalyopen-loss-prevention-caseresolve-loss-prevention-case
Applications¶
| Application | Classification |
|---|---|
Loss Prevention Service loss-prevention-service |
system-of-intelligence |
POS pos |
system-of-engagement |
Inventory Service inventory-service |
system-of-intelligence |
Payment Hub payment-hub |
platform |
Trigger Event¶
This process is triggered by the
transaction-anomaly-detecteddomain event.
Related Events¶
| Event | Classification | Object | Terminal |
|---|---|---|---|
BasketCheckedOut |
transitioned | basket | ✓ |
BasketCheckoutStarted |
transitioned | basket | — |
PaymentAuthorized |
transitioned | payment | — |
PaymentCaptured |
transitioned | payment | — |
PaymentVoided |
transitioned | payment | ✓ |
PaymentRefunded |
transitioned | payment | — |
PaymentSettled |
transitioned | payment | ✓ |
GiftCardActivated |
transitioned | gift-card | — |
GiftCardRedeemed |
updated | gift-card | — |
GiftCardToppedUp |
updated | gift-card | — |
GiftCardExpired |
transitioned | gift-card | — |
GiftCardCancelled |
transitioned | gift-card | — |
GiftCardRefunded |
transitioned | gift-card | — |
RefundProcessed |
updated | refund | — |
RefundFailed |
transitioned | refund | — |
RefundConvertedToCredit |
transitioned | refund | — |
CheckoutStarted |
transitioned | basket | — |
CheckoutCancelled |
transitioned | basket | — |
ItemIdentified |
updated | inventory | — |
ItemIdentificationAnomalyDetected |
created | loss-prevention-case | — |
TransactionAnomalyDetected |
created | loss-prevention-case | — |
LossPreventionCaseOpened |
transitioned | loss-prevention-case | — |
LossPreventionCaseResolved |
transitioned | loss-prevention-case | ✓ |
Related APIs¶
| Endpoint | Method | Service | Description |
|---|---|---|---|
/payments/authorizations |
POST | authorize-payment |
Submits a payment authorisation request for the order t… |
/payments/authorizations/{id}/capture |
POST | capture-payment |
Captures a previously authorised Payment. Requires paym… |
/payments/authorizations/{id}/void |
POST | void-payment |
Voids a payment authorisation that has not yet been cap… |
/payments/{id}/refunds |
POST | refund-payment |
Initiates a full or partial refund against a captured p… |
/transactions |
POST | checkout-basket |
Opens a new POS transaction, initialising the basket fo… |
/transactions/{id}/payment |
POST | authorize-payment |
Adds a payment tender to an in-progress POS transaction… |
/transactions/{id}/void |
POST | cancel-order |
Voids an in-progress POS transaction before payment com… |
/baskets/{id}/checkout |
POST | checkout-basket |
Converts a validated basket into an order, triggering p… |
Validation Rules¶
| Rule | Type | Severity | Condition |
|---|---|---|---|
loss-prevention-intervention-requires-policy |
pre-condition |
invariant |
loss-prevention-case.evidence-reference is not null AND… |