Package de.hybris.platform.returns
Interface ReturnService
-
- All Known Implementing Classes:
DefaultReturnService,WarehousingReturnService
public interface ReturnServiceService for handling 'Order Returns'. It offers ...- Configurable "Return Merchandise Authorization" aka "Return Material Authorization" (RMA) handling
- Replacement Order handling
- Refund handling incl. calculation
- Configurable 'is returnable' check
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description voidaddReplacementOrderEntries(ReplacementOrderModel order, java.util.List<ReplacementEntryModel> replacements)AddsReplacementOrderEntryModelentries from the specifiedReplacementEntryModel.RefundEntryModelcreateRefund(ReturnRequestModel request, AbstractOrderEntryModel entry, java.lang.String notes, java.lang.Long expectedQuantity, ReturnAction action, RefundReason reason)Creates a Refund based on the assigned OrderEntry instanceReplacementEntryModelcreateReplacement(ReturnRequestModel request, AbstractOrderEntryModel entry, java.lang.String notes, java.lang.Long expectedQuantity, ReturnAction action, ReplacementReason reason)Creates a Replacement based on the assigned OrderEntry instanceReplacementOrderModelcreateReplacementOrder(ReturnRequestModel request)Creates aReplacementOrderModelReturnRequestModelcreateReturnRequest(OrderModel order)Creates an "return request" object (@link ReturnRequest} for the order to be returned.java.lang.StringcreateRMA(ReturnRequestModel request)creates "Return Merchandise Authorization" aka "Return Material Authorization" (RMA) and assigns it to the assignedReturnRequestModeljava.util.Map<AbstractOrderEntryModel,java.lang.Long>getAllReturnableEntries(OrderModel order)Returns all returnableOrderEntry'sOrderReturnRecordModelgetOrderReturnRecordForOrder(OrderModel order)Gets order return record for a given order.ReplacementOrderModelgetReplacementOrder(java.lang.String rma)Returns theReplacementOrderModelby the specified 'RMA value'java.util.List<ReplacementEntryModel>getReplacements(ReturnRequestModel request)Returns all Replacements for the specified return requestjava.util.List<ReturnEntryModel>getReturnEntries(ProductModel product)Returns the ReturnEntries for the specified productjava.util.List<ReturnEntryModel>getReturnEntry(AbstractOrderEntryModel entry)Returns the ReturnEntries for the specified order entryjava.util.List<ReturnRequestModel>getReturnRequests(java.lang.String orderCode)Returns the "return request" for the specified orderjava.lang.StringgetRMA(ReturnRequestModel request)returns a "Return Merchandise Authorization" aka "Return Material Authorization" (RMA).booleanisReturnable(OrderModel order, AbstractOrderEntryModel entry, long returnQuantity)Determines if the product is 'returnable' by using the injectedReturnableCheckimpl.voidprocessRefundOrder(OrderModel order)Here you have the chance to 'inject' your final Refund order processing.voidprocessReplacementOrder(ReplacementOrderModel order)Here you have the chance to 'inject' your final Replacement order processing.voidprocessReturnEntries(java.util.List<ReturnEntryModel> entries)Here you have the chance to 'inject' your final Return Entry processing.voidrequestManualPaymentReversalForReturnRequest(ReturnRequestModel returnRequest)Request manual payment reversal for the (@link ReturnRequest}.voidrequestManualTaxReversalForReturnRequest(ReturnRequestModel returnRequest)Request manual tax reversal for the (@link ReturnRequest}.
-
-
-
Method Detail
-
createReturnRequest
ReturnRequestModel createReturnRequest(OrderModel order)
Creates an "return request" object (@link ReturnRequest} for the order to be returned.- Parameters:
order- the order which should be returned- Returns:
- ReturnRequest instance, which contains among others the RMA code.
-
getReturnRequests
java.util.List<ReturnRequestModel> getReturnRequests(java.lang.String orderCode)
Returns the "return request" for the specified order- Parameters:
orderCode- code of the order we ask for the "return request"- Returns:
- "return request" of the order
-
getRMA
java.lang.String getRMA(ReturnRequestModel request)
returns a "Return Merchandise Authorization" aka "Return Material Authorization" (RMA).- Parameters:
request- reference of the related ReturnRequest- Returns:
- Return Merchandise Authorization code
-
createRMA
java.lang.String createRMA(ReturnRequestModel request)
creates "Return Merchandise Authorization" aka "Return Material Authorization" (RMA) and assigns it to the assignedReturnRequestModel- Parameters:
request- reference of the related "ReturnRequest" for which this RMA will be created- Returns:
- Return Merchandise Authorization code
-
getReplacementOrder
ReplacementOrderModel getReplacementOrder(java.lang.String rma)
Returns theReplacementOrderModelby the specified 'RMA value'- Parameters:
rma- rma value- Returns:
- replacement order
-
createReplacementOrder
ReplacementOrderModel createReplacementOrder(ReturnRequestModel request)
Creates aReplacementOrderModel- Parameters:
request- the return request to which the order will be assigned- Returns:
- the Replacement Order'
-
addReplacementOrderEntries
void addReplacementOrderEntries(ReplacementOrderModel order, java.util.List<ReplacementEntryModel> replacements)
AddsReplacementOrderEntryModelentries from the specifiedReplacementEntryModel.- Parameters:
order- the replacement orderreplacements- the 'replacement' entries (instances which are on HOLD will be ignored)
-
createReplacement
ReplacementEntryModel createReplacement(ReturnRequestModel request, AbstractOrderEntryModel entry, java.lang.String notes, java.lang.Long expectedQuantity, ReturnAction action, ReplacementReason reason)
Creates a Replacement based on the assigned OrderEntry instance- Parameters:
request- we use this for the verification process (order)entry- the original OrderEntrynotes- some notesexpectedQuantity- the amount of products which the customer wants to return.action- action which indicates if the 'returns process' will be executed immediately or is still on hold (waiting for the article to be send back)reason- reason for the replacement- Returns:
- Replacement Entry instance
-
createRefund
RefundEntryModel createRefund(ReturnRequestModel request, AbstractOrderEntryModel entry, java.lang.String notes, java.lang.Long expectedQuantity, ReturnAction action, RefundReason reason)
Creates a Refund based on the assigned OrderEntry instance- Parameters:
request- we use this for the verification process (order)entry- the original OrderEntrynotes- some notesexpectedQuantity- the amount of products which the customer wants to refund.action- action which indicates if the 'return process' will be executed immediately or is still on hold (waiting for the article to be send back)reason- reason for the refund- Returns:
- Refund entry instance
-
getReturnEntries
java.util.List<ReturnEntryModel> getReturnEntries(ProductModel product)
Returns the ReturnEntries for the specified product- Parameters:
product- the product- Returns:
- the Return entry instance
-
getReturnEntry
java.util.List<ReturnEntryModel> getReturnEntry(AbstractOrderEntryModel entry)
Returns the ReturnEntries for the specified order entry- Parameters:
entry- the OrderEntry- Returns:
- the return entry instance
-
getReplacements
java.util.List<ReplacementEntryModel> getReplacements(ReturnRequestModel request)
Returns all Replacements for the specified return request- Parameters:
request- the ReturnRequestModel- Returns:
- the replacements
-
isReturnable
boolean isReturnable(OrderModel order, AbstractOrderEntryModel entry, long returnQuantity)
Determines if the product is 'returnable' by using the injectedReturnableCheckimpl.- Parameters:
order- the related original orderentry- the ordered product which will be returnedreturnQuantity- the quantity of entries to be returned- Returns:
- true if product is 'returnable'
-
processReturnEntries
void processReturnEntries(java.util.List<ReturnEntryModel> entries)
Here you have the chance to 'inject' your final Return Entry processing. For example for handling consignment creation- Parameters:
entries- the entries to be processed
-
processReplacementOrder
void processReplacementOrder(ReplacementOrderModel order)
Here you have the chance to 'inject' your final Replacement order processing. For example for handling consignment creation- Parameters:
order- the order to be processed
-
processRefundOrder
void processRefundOrder(OrderModel order)
Here you have the chance to 'inject' your final Refund order processing. For example for handling consignment creation or initiating the final payment transaction.- Parameters:
order- the order to be processed
-
getAllReturnableEntries
java.util.Map<AbstractOrderEntryModel,java.lang.Long> getAllReturnableEntries(OrderModel order)
Returns all returnableOrderEntry's- Parameters:
order- the related order- Returns:
- all returnable
OrderEntryand their returnable quantity
-
getOrderReturnRecordForOrder
OrderReturnRecordModel getOrderReturnRecordForOrder(OrderModel order) throws OrderReturnException
Gets order return record for a given order.- Parameters:
order- instance ofOrderModelto get the return record for- Returns:
- order return record for the given order
- Throws:
OrderReturnException- in the case of error during service call
-
requestManualPaymentReversalForReturnRequest
void requestManualPaymentReversalForReturnRequest(ReturnRequestModel returnRequest) throws OrderReturnException
Request manual payment reversal for the (@link ReturnRequest}.- Parameters:
returnRequest- the return request for which payment should be manually reversed- Throws:
OrderReturnException- in the case of error during service call
-
requestManualTaxReversalForReturnRequest
void requestManualTaxReversalForReturnRequest(ReturnRequestModel returnRequest) throws OrderReturnException
Request manual tax reversal for the (@link ReturnRequest}.- Parameters:
returnRequest- the return request for which tax should be manually reversed- Throws:
OrderReturnException- in the case of error during service call
-
-