Skip to content

Return

aggregate-root fulfillment


Return request and execution record for merchandise or order value moving back from a customer.

Business Purpose: Coordinate request, authorization, receipt, inspection, acceptance, and payment refund.

Identity

Type Field Description
global return-id Globally unique identifier for the return request, stable across its execution lifecycle.

Attributes

Attribute Description
return-id Return ID Stable return identifier.
order-id Order ID Related order reference.
customer-id Customer ID Related customer reference.
status Status Current return state.
requested-at Requested At Date and time when the return was requested.

Lifecycle

requestedauthorizedreceivedinspectedacceptedrejectedclosed

Invariants

  • stable-return-id — Return ID must remain stable for the lifetime of the return.
  • source-order-reference — A return must reference a source order or transaction.

Relationships

Type Target
references order order
references customer customer
results-in refund refund
located-at store store

Events

Event Classification Terminal
ReturnRequested created
ReturnAuthorized transitioned
ReturnReceived transitioned
ReturnInspected transitioned
ReturnAccepted transitioned

Used by Capabilities

  • returns-management Returns Management

Used by Processes

Used by Applications

  • POS pos
  • OMS oms

Semantic Constraints

Constraint Type Rule
return-belongs-to-order association A Return must reference the original Order it relates to.
return-refund-requires-inspection lifecycle-gate A return cannot be refunded without inspection. Inspection determines …
return-cannot-reopen-rejected lifecycle-gate A rejected return cannot be re-approved in the same return lifecycle. …

Note

Aligned with existing return object and returns-management capability.

Referenced by APIs

Endpoint Method Role Capability
/payments/{id}/refunds POST request-body payment-processing
/returns POST response returns-management

← Back to Fulfillment Domain