{
    "retailerId": "{{fluent.retailer.current.id}}",
    "version": "1.0",
    "entityType": "RETURN_ORDER",
    "entitySubtype": "DEFAULT",
    "description": "This workflow defines the end to end process for return orders.",
    "name": "RETURN_ORDER::DEFAULT",
    "rulesets": [
        {
            "name": "CREATE",
            "description": "Create ReturnOrder",
            "type": "RETURN_ORDER",
            "subtype": "DEFAULT",
            "eventType": "NORMAL",
            "rules": [
                {
                    "name": "{{fluent.account.client_id}}.sefeature.AssignRmaToReturnOrder",
                    "props": null
                },
                {
                    "name": "{{fluent.account.client_id}}.sefeature.ValidateReturnOrderItems",
                    "props": {
                        "rejectReturnOrder": "RejectReturnOrder",
                        "confirmReturnOrder": "ConfirmReturnOrder"
                    }
                }
            ],
            "triggers": [
                {
                    "status": "CREATED"
                }
            ],
            "userActions": []
        },
        {
            "name": "ConfirmReturnOrder",
            "description": "Confirms ReturnOrder",
            "type": "RETURN_ORDER",
            "subtype": "DEFAULT",
            "eventType": "NORMAL",
            "rules": [
                {
                    "name": "FLUENTRETAIL.base.SendEventForReturnToOrder",
                    "props": {
                        "eventName": "ReturnOrderCreated"
                    }
                },
                {
                    "name": "{{fluent.account.client_id}}.sefeature.ScheduleEventIfRMAExpirationIsSet",
                    "props": {
                        "eventName": "CancelExpiredReturnOrder"
                    }
                },
                {
                    "name": "{{fluent.account.client_id}}.sefeature.SendEventIfExchangeOrderExistedOrNot",
                    "props": {
                        "eventName": "ProcessStandardReturnOrder",
                        "delay": 1,
                        "exchangeOrderExisted": "FALSE"
                    }
                },
                {
                    "name": "{{fluent.account.client_id}}.sefeature.SendEventIfExchangeOrderExistedOrNot",
                    "props": {
                        "eventName": "ProcessReturnOrderWithExchange",
                        "delay": 1,
                        "exchangeOrderExisted": "TRUE"
                    }
                }
            ],
            "triggers": [
                {
                    "status": "CREATED"
                }
            ],
            "userActions": []
        },
        {
            "name": "ProcessStandardReturnOrder",
            "description": "Process Return Order if it does not have Exchange Order",
            "type": "RETURN_ORDER",
            "subtype": "DEFAULT",
            "eventType": "NORMAL",
            "rules": [
                {
                    "name": "{{fluent.account.client_id}}.commonv2.ChangeStateGQL",
                    "props": {
                        "status": "IN_TRANSITION"
                    }
                },
                {
                    "name": "FLUENTRETAIL.base.SendEventToReturns",
                    "props": {
                        "eventName": "FulfilReturn"
                    }
                },
                {
                    "name": "{{fluent.account.client_id}}.sefeature.SendEventIfExchangeOrderExistedOrNot",
                    "props": {
                        "eventName": "NotifyExchangeOrder",
                        "delay": 1,
                        "exchangeOrderExisted": "TRUE"
                    }
                }
            ],
            "triggers": [
                {
                    "status": "CREATED"
                }
            ],
            "userActions": []
        },
        {
            "name": "ProcessReturnOrderWithExchange",
            "description": "Process Return Order if it has Exchenge Order",
            "type": "RETURN_ORDER",
            "subtype": "DEFAULT",
            "eventType": "NORMAL",
            "rules": [
                {
                    "name": "{{fluent.account.client_id}}.sefeature.SendEventIfReturnOrderIsRMA",
                    "props": {
                        "delay": 1,
                        "eventName": "ProcessRMAReturnOrderWithExchange"
                    }
                },
                {
                    "name": "{{fluent.account.client_id}}.sefeature.SendEventIfReturnOrderIsNotRMA",
                    "props": {
                        "delay": 1,
                        "eventName": "ProcessDefaultReturnOrderWithExchange"
                    }
                }
            ],
            "triggers": [
                {
                    "status": "CREATED"
                }
            ],
            "userActions": []
        },
        {
            "name": "ProcessRMAReturnOrderWithExchange",
            "description": "Process Return Order if it has Exchenge Order",
            "type": "RETURN_ORDER",
            "subtype": "DEFAULT",
            "eventType": "NORMAL",
            "rules": [
                {
                    "name": "{{fluent.account.client_id}}.commonv2.ChangeStateGQL",
                    "props": {
                        "status": "BOOKED"
                    }
                },
                {
                    "name": "FLUENTRETAIL.base.SendEventToReturns",
                    "props": {
                        "eventName": "FulfilReturn"
                    }
                }
            ],
            "triggers": [
                {
                    "status": "CREATED"
                }
            ],
            "userActions": []
        },
        {
            "name": "ProcessDefaultReturnOrderWithExchange",
            "description": "Process Return Order if it has Exchange Order",
            "type": "RETURN_ORDER",
            "subtype": "DEFAULT",
            "eventType": "NORMAL",
            "rules": [
                {
                    "name": "{{fluent.account.client_id}}.commonv2.ChangeStateGQL",
                    "props": {
                        "status": "IN_TRANSITION"
                    }
                },
                {
                    "name": "FLUENTRETAIL.base.SendEventToReturns",
                    "props": {
                        "eventName": "FulfilReturn"
                    }
                },
                {
                    "name": "{{fluent.account.client_id}}.sefeature.SendEventIfExchangeOrderExistedOrNot",
                    "props": {
                        "eventName": "NotifyExchangeOrder",
                        "delay": 1,
                        "exchangeOrderExisted": "TRUE"
                    }
                }
            ],
            "triggers": [
                {
                    "status": "CREATED"
                }
            ],
            "userActions": []
        },
        {
            "name": "RejectReturnOrder",
            "description": "Rejects ReturnOrder",
            "type": "RETURN_ORDER",
            "subtype": "DEFAULT",
            "eventType": "NORMAL",
            "rules": [
                {
                    "name": "{{fluent.account.client_id}}.commonv2.ChangeStateGQL",
                    "props": {
                        "status": "REJECTED"
                    }
                }
            ],
            "triggers": [
                {
                    "status": "CREATED"
                }
            ],
            "userActions": []
        },
        {
            "name": "CREATE",
            "description": "CREATE RETURN_FULFILMENT",
            "type": "RETURN_FULFILMENT",
            "subtype": "DEFAULT",
            "eventType": "NORMAL",
            "rules": [
                {
                    "name": "{{fluent.account.client_id}}.sefeature.SendEventIfReturnFulfilmentAttributeEqualsTo",
                    "props": {
                        "eventName": "CheckIfThereIsExchangeOrder",
                        "attributeName": "RETURN_TYPE",
                        "attributeValue": "RMA"
                    }
                },
                {
                    "name": "{{fluent.account.client_id}}.sefeature.SendEventIfReturnFulfilmentAttributeEqualsTo",
                    "props": {
                        "eventName": "CompleteReturnFulfilment",
                        "attributeName": "RETURN_TYPE",
                        "attributeValue": "DEFAULT"
                    }
                }
            ],
            "triggers": [
                {
                    "status": "CREATED"
                }
            ],
            "userActions": []
        },
        {
            "name": "CheckIfThereIsExchangeOrder",
            "description": "Cheks if there is an Exchange Order for the current Return Order",
            "type": "RETURN_FULFILMENT",
            "subtype": "DEFAULT",
            "eventType": "NORMAL",
            "rules": [
                {
                    "name": "{{fluent.account.client_id}}.sefeature.SendEventIfExchangeOrderExistedOrNot",
                    "props": {
                        "eventName": "AwaitReceipt",
                        "delay": 1,
                        "exchangeOrderExisted": "FALSE"
                    }
                },
                {
                    "name": "{{fluent.account.client_id}}.sefeature.SendEventIfExchangeOrderExistedOrNot",
                    "props": {
                        "eventName": "AwaitShipment",
                        "delay": 1,
                        "exchangeOrderExisted": "TRUE"
                    }
                }
            ],
            "triggers": [
                {
                    "status": "CREATED"
                }
            ],
            "userActions": []
        },
        {
            "name": "AwaitReceipt",
            "description": "Set Return Fulfilment to awaiting receipt",
            "type": "RETURN_FULFILMENT",
            "subtype": "DEFAULT",
            "eventType": "NORMAL",
            "rules": [
                {
                    "name": "{{fluent.account.client_id}}.commonv2.ChangeStateGQL",
                    "props": {
                        "status": "AWAITING_RECEIPT"
                    }
                }
            ],
            "triggers": [
                {
                    "status": "CREATED"
                }
            ],
            "userActions": []
        },
        {
            "name": "AwaitShipment",
            "description": "Set Return Fulfilment to awaiting shipment",
            "type": "RETURN_FULFILMENT",
            "subtype": "DEFAULT",
            "eventType": "NORMAL",
            "rules": [
                {
                    "name": "{{fluent.account.client_id}}.commonv2.ChangeStateGQL",
                    "props": {
                        "status": "AWAITING_CUSTOMER_SHIPMENT"
                    }
                }
            ],
            "triggers": [
                {
                    "status": "CREATED"
                }
            ],
            "userActions": []
        },
        {
            "name": "CompleteReturnFulfilment",
            "description": "Completes RETURN_FULFILMENT",
            "type": "RETURN_FULFILMENT",
            "subtype": "DEFAULT",
            "eventType": "NORMAL",
            "rules": [
                {
                    "name": "{{fluent.account.client_id}}.commonv2.ChangeStateGQL",
                    "props": {
                        "status": "COMPLETE"
                    }
                },
                {
                    "name": "{{fluent.account.client_id}}.sefeature.SendEventToReturnOrderFromFulfilment",
                    "props": {
                        "delay": 1,
                        "eventName": "NotifyReturnOrder"
                    }
                }
            ],
            "triggers": [
                {
                    "status": "CREATED"
                },
                {
                    "status": "AWAITING_VERIFICATION"
                }
            ],
            "userActions": []
        },
        {
            "name": "FulfilReturn",
            "description": "ReturnOrder",
            "type": "RETURN_ORDER",
            "eventType": "NORMAL",
            "rules": [
                {
                    "name": "{{fluent.account.client_id}}.sefeature.CreateReturnFulfilments",
                    "props": null
                },
                {
                    "name": "FLUENTRETAIL.base.SendEventToUpdateOrderItemAttribute",
                    "props": {
                        "eventName": "UpdateReturnableQty"
                    }
                }
            ],
            "triggers": [
                {
                    "status": "BOOKED"
                },
                {
                    "status": "CREATED"
                },
                {
                    "status": "IN_TRANSITION"
                }
            ],
            "userActions": []
        },
        {
            "name": "FinalizeReturnOrderProcessing",
            "description": "Checks if there is an Exchange Order for the current Return Order",
            "type": "RETURN_ORDER",
            "subtype": "DEFAULT",
            "eventType": "NORMAL",
            "rules": [
                {
                    "name": "{{fluent.account.client_id}}.sefeature.SendEventToUpdateInventoryQuantityReturnOrder",
                    "props": {
                        "eventName": "UpdateReturnOrderInventoryQty",
                        "returnConditions": [
                            "GOOD"
                        ],
                        "fulfilmentStatuses": [
                            "COMPLETE"
                        ],
                        "inventoryCatalogueRef": "DEFAULT:{{fluent.retailer.current.id}}"
                    }
                },
                {
                    "name": "{{fluent.account.client_id}}.sefeature.UpdateTotalAmountForReturnOrder",
                    "props": {
                        "status": [
                            "COMPLETE"
                        ]
                    }
                },
                {
                    "name": "{{fluent.account.client_id}}.sefeature.SendEventIfExchangeOrderExistedOrNot",
                    "props": {
                        "eventName": "ProcessRefund",
                        "delay": 1,
                        "exchangeOrderExisted": "FALSE"
                    }
                },
                {
                    "name": "{{fluent.account.client_id}}.sefeature.SendEventIfExchangeOrderExistedOrNot",
                    "props": {
                        "eventName": "CompleteReturnOrderWithoutExchange",
                        "delay": 1,
                        "exchangeOrderExisted": "TRUE"
                    }
                }
            ],
            "triggers": [
                {
                    "status": "BOOKED"
                },
                {
                    "status": "RECEIVED"
                },
                {
                    "status": "IN_TRANSITION"
                }
            ],
            "userActions": []
        },
        {
            "name": "ProcessRefund",
            "description": "ReturnOrder",
            "type": "RETURN_ORDER",
            "eventType": "NORMAL",
            "rules": [
                {
                    "name": "{{fluent.account.client_id}}.commonv2.ChangeStateGQL",
                    "props": {
                        "status": "PENDING_REFUND"
                    }
                },
                {
                    "name": "FLUENTRETAIL.base.SendScheduledEventGQL",
                    "props": {
                        "delay": 5,
                        "eventName": "AssessFulfilmentCharges"
                    }
                }
            ],
            "triggers": [
                {
                    "status": "BOOKED"
                },
                {
                    "status": "RECEIVED"
                },
                {
                    "status": "IN_TRANSITION"
                }
            ],
            "userActions": []
        },
        {
            "name": "AssessFulfilmentCharges",
            "description": "Assess Fulfilment Charges",
            "type": "RETURN_ORDER",
            "eventType": "NORMAL",
            "rules": [
                {
                    "name": "{{fluent.account.client_id}}.sefeature.ApplyFulfilmentCostToReturnOrder",
                    "props": {}
                },
                {
                    "name": "FLUENTRETAIL.base.SendScheduledEventGQL",
                    "props": {
                        "delay": 1,
                        "eventName": "CheckBillingAccount"
                    }
                }
            ],
            "triggers": [
                {
                    "status": "PENDING_REFUND"
                }
            ],
            "userActions": []
        },
        {
            "name": "CheckBillingAccount",
            "description": "BillingAccount",
            "type": "RETURN_ORDER",
            "eventType": "NORMAL",
            "rules": [
                {
                    "name": "{{fluent.account.client_id}}.order.VerifyBillingAccount",
                    "props": {
                        "BillingAccountExistsEventName": "ProcessBillingAccount",
                        "NoBillingAccountExistsEventName": "NewBillingAccount"
                    }
                }
            ],
            "triggers": [
                {
                    "status": "PENDING_REFUND"
                }
            ],
            "userActions": []
        },
        {
            "name": "NewBillingAccount",
            "description": "ReturnOrder",
            "type": "RETURN_ORDER",
            "eventType": "NORMAL",
            "rules": [
                {
                    "name": "{{fluent.account.client_id}}.order.CreateBillingAccount",
                    "props": {
                        "eventName": "ProcessBillingAccount",
                        "billingAccountType": "CUSTOMER"
                    }
                }
            ],
            "triggers": [],
            "userActions": []
        },
        {
            "name": "ProcessBillingAccount",
            "description": "ReturnOrder",
            "type": "RETURN_ORDER",
            "eventType": "NORMAL",
            "rules": [
                {
                    "name": "{{fluent.account.client_id}}.sefeature.CreateInvoiceForReturnOrder",
                    "props": {
                        "status": [
                            "COMPLETE"
                        ]
                    }
                },
                {
                    "name": "{{fluent.account.client_id}}.order.SendEventForReturnToBillingAccount",
                    "props": {
                        "eventName": "ProcessCreditForReturn"
                    }
                }
            ],
            "triggers": [
                {
                    "status": "PENDING_REFUND"
                }
            ],
            "userActions": []
        },
        {
            "name": "CompleteReturnOrderWithoutExchange",
            "description": "Checks if there is an Remain Refund Amount attribute for the current Return Order",
            "type": "RETURN_ORDER",
            "subtype": "DEFAULT",
            "eventType": "NORMAL",
            "rules": [
                {
                    "name": "{{fluent.account.client_id}}.core.IfPropertyIsPresent",
                    "props": {
                        "eventName": "ProcessRefund",
                        "jsonpath": "attributes.byName.REMAIN_REFUND_AMOUNT"
                    }
                },
                {
                    "name": "{{fluent.account.client_id}}.core.IfPropertyIsNotPresent",
                    "props": {
                        "eventName": "CompleteReturnOrderWithoutRefund",
                        "jsonpath": "attributes.byName.REMAIN_REFUND_AMOUNT"
                    }
                }
            ],
            "triggers": [
                {
                    "status": "BOOKED"
                },
                {
                    "status": "RECEIVED"
                },
                {
                    "status": "IN_TRANSITION"
                }
            ],
            "userActions": []
        },
        {
            "name": "CompleteReturnOrderWithoutRefund",
            "description": "ReturnOrder",
            "type": "RETURN_ORDER",
            "subtype": "DEFAULT",
            "eventType": "NORMAL",
            "rules": [
                {
                    "name": "FLUENTRETAIL.base.SendEventForReturnToOrder",
                    "props": {
                        "eventName": "OrderReturnComplete"
                    }
                },
                {
                    "name": "{{fluent.account.client_id}}.commonv2.ChangeStateGQL",
                    "props": {
                        "status": "COMPLETE"
                    }
                }
            ],
            "triggers": [
                {
                    "status": "IN_TRANSITION"
                },
                {
                    "status": "RECEIVED"
                },
                {
                    "status": "BOOKED"
                }
            ],
            "userActions": []
        },
        {
            "name": "RefundComplete",
            "description": "ReturnOrder",
            "type": "RETURN_ORDER",
            "subtype": "DEFAULT",
            "eventType": "NORMAL",
            "rules": [
                {
                    "name": "FLUENTRETAIL.base.SendEventForReturnToOrder",
                    "props": {
                        "eventName": "OrderReturnComplete"
                    }
                },
                {
                    "name": "{{fluent.account.client_id}}.commonv2.ChangeStateGQL",
                    "props": {
                        "status": "COMPLETE"
                    }
                }
            ],
            "triggers": [
                {
                    "status": "PENDING_REFUND"
                }
            ],
            "userActions": []
        },
        {
            "name": "RefundRejected",
            "description": "ReturnOrder",
            "type": "RETURN_ORDER",
            "subtype": "DEFAULT",
            "eventType": "NORMAL",
            "rules": [
                {
                    "name": "{{fluent.account.client_id}}.commonv2.ChangeStateGQL",
                    "props": {
                        "status": "ESCALATED"
                    }
                }
            ],
            "triggers": [
                {
                    "status": "PENDING_REFUND"
                }
            ],
            "userActions": []
        },
        {
            "name": "CancelReturnOrderManually",
            "description": "Cancels Return Order",
            "type": "RETURN_ORDER",
            "subtype": "DEFAULT",
            "eventType": "NORMAL",
            "rules": [
                {
                    "name": "{{fluent.account.client_id}}.commonv2.ChangeStateGQL",
                    "props": {
                        "status": "CANCELLED"
                    }
                },
                {
                    "name": "{{fluent.account.client_id}}.sefeature.SendEventToAllReturnFulfilments",
                    "props": {
                        "eventName": "CancelReturnOrderFulfilment"
                    }
                }
            ],
            "triggers": [
                {
                    "status": "BOOKED"
                },
                {
                    "status": "RECEIVED"
                }
            ],
            "userActions": [
                {
                    "context": [
                        {
                            "label": "Cancel Return Order",
                            "type": "PRIMARY",
                            "modules": [
                                "adminconsole",
                                "servicepoint"
                            ],
                            "confirm": true
                        }
                    ],
                    "attributes": []
                }
            ]
        },
        {
            "name": "CancelReturnOrderFulfilment",
            "description": "Cancels Return Order Fulfilment",
            "type": "RETURN_FULFILMENT",
            "subtype": "DEFAULT",
            "eventType": "NORMAL",
            "rules": [
                {
                    "name": "{{fluent.account.client_id}}.commonv2.ChangeStateGQL",
                    "props": {
                        "status": "CANCELLED"
                    }
                }
            ],
            "triggers": [
                {
                    "status": "AWAITING_RECEIPT"
                },
                {
                    "status": "AWAITING_VERIFICATION"
                }
            ],
            "userActions": []
        },
        {
            "name": "ProcessReturnFulfilmentShipment",
            "description": "Processes Shipment of Return Fulfilment",
            "type": "RETURN_FULFILMENT",
            "subtype": "DEFAULT",
            "eventType": "NORMAL",
            "rules": [
                {
                    "name": "{{fluent.account.client_id}}.commonv2.ChangeStateGQL",
                    "props": {
                        "status": "AWAITING_RECEIPT"
                    }
                },
                {
                    "name": "{{fluent.account.client_id}}.sefeature.SendEventToReturnOrderFromFulfilment",
                    "props": {
                        "delay": 1,
                        "eventName": "NotifyReturnOrder"
                    }
                }
            ],
            "triggers": [
                {
                    "status": "AWAITING_CUSTOMER_SHIPMENT"
                }
            ],
            "userActions": [
                {
                    "context": [
                        {
                            "label": "Mark as Shipped",
                            "type": "PRIMARY",
                            "modules": [
                                "adminconsole",
                                "servicepoint"
                            ],
                            "confirm": true
                        }
                    ],
                    "attributes": []
                }
            ]
        },
        {
            "name": "ProcessReturnFulfilmentReceipt",
            "description": "Processes Receipt of Return Fulfilment",
            "type": "RETURN_FULFILMENT",
            "subtype": "DEFAULT",
            "eventType": "NORMAL",
            "rules": [
                {
                    "name": "{{fluent.account.client_id}}.commonv2.ChangeStateGQL",
                    "props": {
                        "status": "AWAITING_VERIFICATION"
                    }
                },
                {
                    "name": "{{fluent.account.client_id}}.sefeature.SendEventToReturnOrderFromFulfilment",
                    "props": {
                        "delay": 1,
                        "eventName": "NotifyReturnOrder"
                    }
                }
            ],
            "triggers": [
                {
                    "status": "AWAITING_RECEIPT"
                }
            ],
            "userActions": [
                {
                    "context": [
                        {
                            "label": "Mark as Received",
                            "type": "PRIMARY",
                            "modules": [
                                "adminconsole",
                                "servicepoint"
                            ],
                            "confirm": true
                        }
                    ],
                    "attributes": []
                }
            ]
        },
        {
            "name": "ProcessReturnFulfilmentVerification",
            "description": "Processes Verification of Return Fulfilment",
            "type": "RETURN_FULFILMENT",
            "subtype": "DEFAULT",
            "eventType": "NORMAL",
            "rules": [
                {
                    "name": "{{fluent.account.client_id}}.commonv2.ChangeStateGQL",
                    "props": {
                        "status": "COMPLETE"
                    }
                },
                {
                    "name": "{{fluent.account.client_id}}.sefeature.SendEventToReturnOrderFromFulfilment",
                    "props": {
                        "delay": 1,
                        "eventName": "NotifyReturnOrder"
                    }
                }
            ],
            "triggers": [
                {
                    "status": "AWAITING_VERIFICATION"
                }
            ],
            "userActions": [
                {
                    "context": [
                        {
                            "label": "Mark as Verified",
                            "type": "PRIMARY",
                            "modules": [
                                "adminconsole",
                                "servicepoint"
                            ],
                            "confirm": true
                        }
                    ],
                    "attributes": []
                }
            ]
        },
        {
            "name": "ProcessReturnFulfilmentCancellation",
            "description": "Processes Cancellation of Return Fulfilment",
            "type": "RETURN_FULFILMENT",
            "subtype": "DEFAULT",
            "eventType": "NORMAL",
            "rules": [
                {
                    "name": "{{fluent.account.client_id}}.commonv2.ChangeStateGQL",
                    "props": {
                        "status": "CANCELLED"
                    }
                },
                {
                    "name": "{{fluent.account.client_id}}.sefeature.SendEventToReturnOrderFromFulfilment",
                    "props": {
                        "delay": 1,
                        "eventName": "NotifyReturnOrder"
                    }
                }
            ],
            "triggers": [
                {
                    "status": "AWAITING_VERIFICATION"
                }
            ],
            "userActions": [
                {
                    "context": [
                        {
                            "label": "Mark as Cancelled",
                            "type": "SECONDARY",
                            "modules": [
                                "adminconsole",
                                "servicepoint"
                            ],
                            "confirm": true
                        }
                    ],
                    "attributes": []
                }
            ]
        },
        {
            "name": "NotifyReturnOrder",
            "description": "Notifies Return Order",
            "type": "RETURN_ORDER",
            "subtype": "DEFAULT",
            "eventType": "NORMAL",
            "rules": [
                {
                    "name": "{{fluent.account.client_id}}.sefeature.SendEventIfAnyReturnFulfilmentInStatuses",
                    "props": {
                        "status": [
                            "AWAITING_RECEIPT"
                        ],
                        "eventName": "CheckIfReturnOrderIsShipped"
                    }
                },
                {
                    "name": "{{fluent.account.client_id}}.sefeature.SendEventIfAnyReturnFulfilmentInStatuses",
                    "props": {
                        "status": [
                            "AWAITING_VERIFICATION"
                        ],
                        "eventName": "CheckIfReturnOrderIsReceived"
                    }
                },
                {
                    "name": "{{fluent.account.client_id}}.sefeature.SendEventIfAnyReturnFulfilmentInStatuses",
                    "props": {
                        "status": [
                            "COMPLETE"
                        ],
                        "eventName": "CheckIfReturnOrderIsVerified"
                    }
                },
                {
                    "name": "{{fluent.account.client_id}}.sefeature.SendEventIfAllReturnFulfilmentsInStatuses",
                    "props": {
                        "status": [
                            "CANCELLED"
                        ],
                        "eventName": "CancelReturnOrder"
                    }
                }
            ],
            "triggers": [
                {
                    "status": "BOOKED"
                },
                {
                    "status": "RECEIVED"
                },
                {
                    "status": "IN_TRANSITION"
                }
            ],
            "userActions": []
        },
        {
            "name": "CheckIfReturnOrderIsShipped",
            "description": "Checks that Return Order is shipped",
            "type": "RETURN_ORDER",
            "subtype": "DEFAULT",
            "eventType": "NORMAL",
            "rules": [
                {
                    "name": "{{fluent.account.client_id}}.sefeature.SendEventIfAllReturnFulfilmentsInStatuses",
                    "props": {
                        "status": [
                            "AWAITING_RECEIPT",
                            "COMPLETE",
                            "CANCELLED"
                        ],
                        "eventName": "ProcessReturnOrderShipment"
                    }
                }
            ],
            "triggers": [
                {
                    "status": "BOOKED"
                },
                {
                    "status": "IN_TRANSITION"
                }
            ],
            "userActions": []
        },
        {
            "name": "CheckIfReturnOrderIsReceived",
            "description": "Checks that Return Order is received",
            "type": "RETURN_ORDER",
            "subtype": "DEFAULT",
            "eventType": "NORMAL",
            "rules": [
                {
                    "name": "{{fluent.account.client_id}}.sefeature.SendEventIfAllReturnFulfilmentsInStatuses",
                    "props": {
                        "status": [
                            "AWAITING_VERIFICATION",
                            "COMPLETE",
                            "CANCELLED"
                        ],
                        "eventName": "ProcessReturnOrderReceiving"
                    }
                }
            ],
            "triggers": [
                {
                    "status": "BOOKED"
                },
                {
                    "status": "RECEIVED"
                },
                {
                    "status": "IN_TRANSITION"
                }
            ],
            "userActions": []
        },
        {
            "name": "CheckIfReturnOrderIsVerified",
            "description": "Checks that Return Order is verified",
            "type": "RETURN_ORDER",
            "subtype": "DEFAULT",
            "eventType": "NORMAL",
            "rules": [
                {
                    "name": "{{fluent.account.client_id}}.sefeature.SendEventIfAllReturnFulfilmentsInStatuses",
                    "props": {
                        "status": [
                            "COMPLETE",
                            "CANCELLED"
                        ],
                        "eventName": "FinalizeReturnOrderProcessing"
                    }
                }
            ],
            "triggers": [
                {
                    "status": "BOOKED"
                },
                {
                    "status": "RECEIVED"
                },
                {
                    "status": "IN_TRANSITION"
                }
            ],
            "userActions": []
        },
        {
            "name": "ProcessReturnOrderShipment",
            "description": "Processes Shipment of Return Order",
            "type": "RETURN_ORDER",
            "subtype": "DEFAULT",
            "eventType": "NORMAL",
            "rules": [
                {
                    "name": "{{fluent.account.client_id}}.commonv2.ChangeStateGQL",
                    "props": {
                        "status": "IN_TRANSITION"
                    }
                },
                {
                    "name": "{{fluent.account.client_id}}.sefeature.SendEventIfExchangeOrderExistedOrNot",
                    "props": {
                        "eventName": "NotifyExchangeOrder",
                        "delay": 1,
                        "exchangeOrderExisted": "TRUE"
                    }
                }
            ],
            "triggers": [
                {
                    "status": "BOOKED"
                }
            ],
            "userActions": []
        },
        {
            "name": "ProcessReturnOrderReceiving",
            "description": "Processes Receiving of Return Order",
            "type": "RETURN_ORDER",
            "subtype": "DEFAULT",
            "eventType": "NORMAL",
            "rules": [
                {
                    "name": "{{fluent.account.client_id}}.commonv2.ChangeStateGQL",
                    "props": {
                        "status": "RECEIVED"
                    }
                },
                {
                    "name": "{{fluent.account.client_id}}.sefeature.SendEventIfExchangeOrderExistedOrNot",
                    "props": {
                        "eventName": "NotifyExchangeOrder",
                        "delay": 1,
                        "exchangeOrderExisted": "TRUE"
                    }
                }
            ],
            "triggers": [
                {
                    "status": "IN_TRANSITION"
                }
            ],
            "userActions": []
        },
        {
            "name": "CancelReturnOrder",
            "description": "Cancels Return Order if all Fulfilments has been cancelled",
            "type": "RETURN_ORDER",
            "subtype": "DEFAULT",
            "eventType": "NORMAL",
            "rules": [
                {
                    "name": "{{fluent.account.client_id}}.commonv2.ChangeStateGQL",
                    "props": {
                        "status": "CANCELLED"
                    }
                }
            ],
            "triggers": [
                {
                    "status": "BOOKED"
                },
                {
                    "status": "RECEIVED"
                },
                {
                    "status": "IN_TRANSITION"
                }
            ],
            "userActions": []
        },
        {
            "name": "CancelExpiredReturnOrder",
            "description": "Cancels Return Order if it is expired",
            "type": "RETURN_ORDER",
            "subtype": "DEFAULT",
            "eventType": "NORMAL",
            "rules": [
                {
                    "name": "{{fluent.account.client_id}}.commonv2.ChangeStateGQL",
                    "props": {
                        "status": "CANCELLED"
                    }
                },
                {
                    "name": "{{fluent.account.client_id}}.sefeature.SendEventToAllReturnFulfilments",
                    "props": {
                        "eventName": "CancelReturnOrderFulfilment"
                    }
                }
            ],
            "triggers": [
                {
                    "status": "BOOKED"
                },
                {
                    "status": "IN_TRANSITION"
                }
            ],
            "userActions": []
        },
        {
            "name": "NotifyExchangeOrder",
            "description": "Notifies Exchange Order",
            "type": "RETURN_ORDER",
            "subtype": "DEFAULT",
            "eventType": "NORMAL",
            "rules": [
                {
                    "name": "{{fluent.account.client_id}}.sefeature.SendEventToExchangeOrderIfReturnOrderInStatus",
                    "props": {
                        "eventName": "ResumeExchangeOrder",
                        "setting": "EXCHANGE_ORDER_NOTIFICATION_STATUS"
                    }
                }
            ],
            "triggers": [
                {
                    "status": "BOOKED"
                },
                {
                    "status": "IN_TRANSITION"
                },
                {
                    "status": "RECEIVED"
                }
            ],
            "userActions": []
        }
    ],
    "statuses": [
        {
            "name": "CREATED",
            "entityType": "RETURN_ORDER",
            "category": "BOOKING"
        },
        {
            "name": "COMPLETE",
            "entityType": "RETURN_FULFILMENT",
            "category": "DONE"
        },
        {
            "name": "BOOKED",
            "entityType": "RETURN_ORDER",
            "category": "BOOKING"
        },
        {
            "name": "IN_TRANSITION",
            "entityType": "RETURN_ORDER",
            "category": "BOOKING"
        },
        {
            "name": "RECEIVED",
            "entityType": "RETURN_ORDER",
            "category": "FULFILMENT"
        },
        {
            "name": "CANCELLED",
            "entityType": "RETURN_ORDER",
            "category": "DONE"
        },
        {
            "name": "ESCALATED",
            "entityType": "RETURN_ORDER",
            "category": "DELIVERY"
        },
        {
            "name": "COMPLETE",
            "entityType": "RETURN_ORDER",
            "category": "DONE"
        },
        {
            "name": "REJECTED",
            "entityType": "RETURN_ORDER",
            "category": "DONE"
        },
        {
            "name": "CREATED",
            "entityType": "RETURN_FULFILMENT",
            "category": "BOOKING"
        },
        {
            "name": "PENDING_REFUND",
            "entityType": "RETURN_ORDER",
            "category": "DELIVERY"
        },
        {
            "name": "IN_TRANSITION",
            "entityType": "ORDER",
            "category": "BOOKING"
        },
        {
            "name": "CREATED",
            "entityType": "ORDER",
            "category": ""
        },
        {
            "name": "BOOKED",
            "entityType": "ORDER",
            "category": ""
        },
        {
            "name": "",
            "entityType": "BILLING_ACCOUNT",
            "category": "BOOKING"
        },
        {
            "name": "",
            "entityType": "RETURN_ORDER",
            "category": "BOOKING"
        },
        {
            "name": "",
            "entityType": "ORDER",
            "category": "BOOKING"
        },
        {
            "name": "AWAITING_CUSTOMER_SHIPMENT",
            "entityType": "RETURN_FULFILMENT",
            "category": "BOOKING"
        },
        {
            "name": "AWAITING_RECEIPT",
            "entityType": "RETURN_FULFILMENT",
            "category": "FULFILMENT"
        },
        {
            "name": "AWAITING_VERIFICATION",
            "entityType": "RETURN_FULFILMENT",
            "category": "DELIVERY"
        },
        {
            "name": "CANCELLED",
            "entityType": "RETURN_FULFILMENT",
            "category": "DONE"
        },
        {
            "name": "",
            "entityType": "",
            "category": "DONE"
        }
    ],
    "settings": {}
}