Repayment request statuses and return reasons
A repayment request represents a return. It exposes a single RepaymentStatus through RepaymentRequest.status.
Statuses
Typical progression:
The meaning of each status is documented on the RepaymentStatus enum reference. Note the draft status, not part of the flow above: ignore repayment requests in that status.
Return shipping statuses
The return shipping (RepaymentRequest.shipping) uses the same ShippingStatus values documented for order shippings — read them in the context of a return, where the parcel travels from the customer back to the warehouse (e.g. delivered means the returned goods reached the warehouse).
The return shipping also carries a bookingStatus, the state of the booking process that produces the shipping label (waybill) for the return — the same ShippingBookingStatus values as order shippings, null until the booking starts.
Return reasons
Every repayment request carries the reason of the return in causal, a RepaymentCausal object: description is the reason as configured in OMS and refundKind states how that reason is refunded (see RepaymentCausalRefundKind).
The reasons are configured in OMS by Calicantus, shared by every project, and the list can change over time. These are the reasons configured today:
- Defective/Damaged product
- Warehouse error
- returned inventory
- Missing delivery
- Invoice request
- Out of stock
- Customer cancelled
- Partial refund
- Withdrawal right
- Fraud & Chargeback
- System error - Test
- Invoice correction
- return/replacement
- Product trial
- No payment
- Warranty
- Sales note adjustment
- VAT refund
- Sales note request
- Returned empty
- Customs duty refused
If your integration needs to match on a specific reason (for example to trigger an operation of yours), agree on it with Calicantus.