Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

Authorization workflow is a module within the Request Modeler that governs the approval process of all the requests that flows through the application.


Once a request reaches the authorization stage, it verifies the inputs provided for the Transaction Amount and Transaction Currency fields. And, based on this, the levels of authorizations required for that specific request is delegated by the Request Modeler. If these fields are not available in the library related to any request, then the first authorization workflow defined will be delegated and the request will flow through it.


The levels of authorizations are classified as follows:

  • None - No authorization is required and the request gets approved directly.
  • Self - When a request is submitted, the initiators need to self-authorize their own request.
  • Four eyes - The request will go through one level of authorization i.e., someone other than the initiator should verify the request and authorize it.
  • Six eyes - The request will go through two levels of authorizations i.e., two users other than the initiator should verify the request and authorize it one after the other.
  • Tree - The request will go through many levels (as required) of authorizations based on the organization's hierarchy defined within the authorization system. It can contain multiple authorization flows or the combination of flows. The delegation of the flow will be based on the role of the approvers, transaction data etc.

Authorization Workflow Example:

{
	"authflow" : [
	{
		"tier" : [
		{
			"type" : "number", 
			"min" : 0,
			"max" : 10,
			"workflow" : {
				"type" : "self",
				"flow" : {
					"completed" : false
				}
			}
		},

		{
			"type" : "number", 
			"min" : 10,
			"max" : 100,
			"workflow" : {
				"type" : "foureye",
				"flow" : {
					"completed" : false 
				}
			}
		}, 

		{
			"type" : "number", 
			"min" : 100,
			"max" : 1000,
			"workflow" : {
				"type" : "sixeye",
				"flow" : {
					"completed" : false 
				}
			}
		},

		{
			"type" : "number", 
			"min" : 1000,
			"max" : 10000,
			"workflow" : {
				"type" : "tree",
					"flow" : {
					"condition" : "OR",
					"completed": false,
					"flow": [
					{
						"completed": false,
						"flow": [
						{
							"role": "A",
							"level": 1,
							"count": 1,
							"completed": true
						},
						{
							"role": "B",
							"level": 2,
							"count": 2,
							"completed": false
						},
						{
							"role": "D",
							"level": 4,
							"count": 1,
							"completed": false
						}
						]
					},
					{	
						"completed": false,
						"flow": [
						{
							"role": "A",
							"level": 1,
							"count": 1,
							"completed": true
						},
						{
							"role": "C",
							"level": 3,
							"count": 1,
							"completed": false
						},
						{
							"role": "D",
							"level": 4,
							"count": 1,
							"completed": false
						}
						]
					},
					{
						"completed": false,
						"flow": [
						{
							"role": "X",
							"level": 2,
							"count": 1,
							"completed": false
						},
						{
							"role": "Y",
							"level": 3,
							"count": 1,
							"completed": true
						}
						]
					},
					{
						"role": "E",
						"level": 5,
						"count": 1,
						"completed": false
					}
					]
				}
			}
		}
		]
	}
]
} 


  • No labels