All returns exist in the context of a ReturnCase, each Order
can have any number of ReturnCases.
The ReturnCase has ReturnCaseItem
s, each of which is associated with an
(an extension to either a ProductLineItem
or a ShippingLineItem
Each ReturnCaseItem defines ReturnCaseItem.getAuthorizedQuantity()
representing the maximum
quantity expected to be returned. The ReturnCaseItem may be associated with
s - ReturnItems are added to the ReturnCaseItem when
s are created.
Either - a ReturnCase may be used as an RMA, in which case they are
created when a customer first shows a wish to return item(s). The customer
then includes the RMA number with the returned item(s). The Return created as
a result is then associated with the existing ReturnCase.
Or - a ReturnCase is automatically created as part of the return
creation, i.e. the customer returns some item(s) leading to a creation of
both a Return and an associated ReturnCase.
The scripting api allows access to the ReturnCases, whether the ReturnCase is an RMA or not,
and the ReturnCase status. Both the ReturnCaseItems and any Returns
associated with the ReturnCase can be accessed.
A ReturnCase has one of these status values:
- NEW - the ReturnCase has been created and can be edited previous to
- CONFIRMED - the ReturnCase is CONFIRMED, can no longer be edited, no
Returns have been associated with it. Only a NEW- ReturnCase can be
- PARTIAL_RETURNED - the ReturnCase has been associated with at least one Return,
but is not yet complete. Only a CONFIRMED- ReturnCase can be set to
- RETURNED - the ReturnCase has been associated with Returns which match
the expected authorized quantity. Only an CONFIRMED- or PARTIAL_RETURNED- return-case
can be set to RETURNED
- CANCELLED - the ReturnCase has been cancelled (only a NEW- or
CONFIRMED- ReturnCase can be cancelled)