Reporting API

The normal FireStart API is not properly fit to use with reporting tools/services (e.g. PowerBI). We decided to create a new API with the purpose of providing data in a way in which it can be used properly with such tools/services.

Problem with the existing API

The issue with the existing API is, that recurring objects in the JSON response contain only a reference to the first occurence of this object making it very hard or simply impossible for reporting tools and services to properly use the actual data of such an object.

Here is an example of the issue:

[
  {
    "$id": "1",
    "WorkflowResponsibleId": "1f5f2c52-68f4-43b5-a263-556fead1b025",
    "WorkflowResponsibleDB": {
      "$id": "2",
      "Name": "Max Mustermann",
      ....
    },
    "ModelResponsibleDB": {
      "$ref": "2"
    },
    ....
  },
  ...
]

 

In the example above, the ModelResponsibleDB object references the object with id=2 which is the WorkflowReponsibleDB object.
In order to resolve this, a lot of extra steps need to be taken to receive actual data instead of the ‘$ref’ value and then it only gets this one field. For large models it is common however that there are a lot of these ‘$ref’ occurences; aswell as multiple ones of the same ‘$ref’.
All of these would need to be handled separately!

Solution with the new Reporting API

The main goal of the new Reporting API is to circumvent this issue and instead show the data for every object, even if it already appeared somewhere in the result.

That would imply however that it would be possible for results to have endless loops, which would make it impossible to show any result at all. To prevent this from happening the loop cycle will be stopped once a duplicate object is shown. That means that some data will inevitably be incomplete but at least one data collection which contains all data will be present as this culling applies only to child objects.

Here is a short example of an endless loop:

{
    "Name": "ReportingAPI Model",
    ...
    "SubOperations": [
        {
            "Name": "Task",
            "Successors": [
                {
                    "Name": "Repeat Task?",
                    "Successors": [
                        {
                            "Name": "Repeat",
                            "Successors": [
                                {
                                    "Name": "Task",
                                    "Successors": [
                                        {
                                            "Name": "Repeat Task?",
                                            "Successors": [
                                                {
                                                    "Name": "Repeat",
                                                    "Successors": [
                                                        {
                                                        ...
                                                                                                          
}

Here is how this is solved with the Reporting API:

 {
    "Name": "ReportingAPI Model",
    "SubOperations": [
        {
            "Name": "Task",
            "Successors": [
                {
                    "Name": "Repeat Task?",
                    "Successors": [
                        {
                            "Name": "Repeat",
                            "Successors": [
                                {
                                    "Name": "Task",
                                    "Successors": [],
                                    ...
...
}                                  

How does the new Reporting API look like

As of now the Reporting API contains endpoints for the following entities:

FSreportingapi

The API documentation of this case can be found under https://HOSTNAME/reporting/swagger or if the navigation properties are added to the default Process-Portal URL: PROCESS-PORTAL-URL/reporting/swagger.

 

All of the available entities have 2 endpoints

  • an option to get all models/entities and

  • an option to get a single model/entity by id.

FSreportingapi2

The GetAll endpoint returns mainly metadata for the selected entity (e.g. Process) whereas the GetById endpoint returns the metadata and also includes all elements that are visible if said entity is open in the Client or ProcessPortal.

How do I use the Reporting API?

In order to use any route of the Reporting API, you need to specify a valid personal access token (PAT) as a bearer token.

The bearer token is provided as a request header parameter named ‘Authorization’ like this:

"Authorization": "Bearer TOKEN-VALUE-HERE"

If you want to know how to create your personal access token follow this link: Accessing the API

Here is an example of what the result for /processes/{id} looks like for the following process:

FSreportingapi3

Reporting API result:

 
{
    "Id": "6a076761-ee61-48ce-b00e-b40f9492ee22",
    "TrackingId": "777ffe6d-fcd1-487d-a918-c9e64928b830",
    "Name": "ReportingAPI Model",
    "Description": null,
    "Objective": null,
    "Type": 0,
    "UserInCharge": {
        "Id": "6fe23fd8-3895-40a7-9916-52c23f4531ed",
        "Name": "DEV Admin",
        "LoginName": "devadmin",
        "Email": "dev.admin@firestart.com",
        "Phone": "+43 123 4567890",
        "ExternalIdentifier": "***************",
        "Provider": "Windows",
        "ClientLoginDate": "2023-06-07T09:36:47.6448913Z",
        "PortalLoginDate": "2023-07-21T05:37:15.3195629Z"
    },
    "ExtensionFieldValues": [],
    "SubOperations": [
        {
            "Id": "ed5eb495-b2fa-4a1c-a4eb-17b473c34c9b",
            "TrackingId": "0a5601ed-4bf4-49b5-8f4f-a53564179350",
            "Name": "Start",
            "Description": null,
            "Objective": null,
            "Type": 1,
            "UserInCharge": null,
            "ExtensionFieldValues": null,
            "SubOperations": [],
            "Successors": [
                {
                    "Id": "8585efe5-4622-4e9e-b2f6-930c9582a516",
                    "TrackingId": "91e56d18-fce0-4c6f-9913-8fc8248d3bd5",
                    "Name": "Check Request",
                    "Description": null,
                    "Objective": null,
                    "Type": 0,
                    "UserInCharge": {
                        "Id": "6fe23fd8-3895-40a7-9916-52c23f4531ed",
                        "Name": "DEV Admin",
                        "LoginName": "devadmin",
                        "Email": "dev.admin@firestart.com",
                        "Phone": "+43 123 4567890",
                        "ExternalIdentifier": "***************",
                        "Provider": "Windows",
                        "ClientLoginDate": "2023-06-07T09:36:47.6448913Z",
                        "PortalLoginDate": "2023-07-21T05:37:15.3195629Z"
                    },
                    "ExtensionFieldValues": [],
                    "SubOperations": [],
                    "Successors": [
                        {
                            "Id": "cebf388c-d1cc-4cb0-b598-b1b4e6f3d0ed",
                            "TrackingId": "b88f7ffd-11ad-48be-8f81-9959a7ca3e2b",
                            "Name": "Request approved?",
                            "Description": null,
                            "Objective": null,
                            "Type": 5,
                            "UserInCharge": null,
                            "ExtensionFieldValues": null,
                            "SubOperations": [],
                            "Successors": [],
                            "Predecessors": [],
                            "EscalationSuccessors": [],
                            "EscalationPredecessors": [],
                            "ExceptionSuccessors": [],
                            "ExceptionPredecessors": []
                        }
                    ],
                    "Predecessors": [
                        {
                            "Id": "ed5eb495-b2fa-4a1c-a4eb-17b473c34c9b",
                            "TrackingId": "0a5601ed-4bf4-49b5-8f4f-a53564179350",
                            "Name": "Start",
                            "Description": null,
                            "Objective": null,
                            "Type": 1,
                            "UserInCharge": null,
                            "ExtensionFieldValues": null,
                            "SubOperations": [],
                            "Successors": [],
                            "Predecessors": [],
                            "EscalationSuccessors": [],
                            "EscalationPredecessors": [],
                            "ExceptionSuccessors": [],
                            "ExceptionPredecessors": []
                        }
                    ],
                    "EscalationSuccessors": [],
                    "EscalationPredecessors": [],
                    "ExceptionSuccessors": [],
                    "ExceptionPredecessors": []
                }
            ],
            "Predecessors": [],
            "EscalationSuccessors": [],
            "EscalationPredecessors": [],
            "ExceptionSuccessors": [],
            "ExceptionPredecessors": []
        },
        {
            "Id": "8585efe5-4622-4e9e-b2f6-930c9582a516",
            "TrackingId": "91e56d18-fce0-4c6f-9913-8fc8248d3bd5",
            "Name": "Check Request",
            "Description": null,
            "Objective": null,
            "Type": 0,
            "UserInCharge": null,
            "ExtensionFieldValues": null,
            "SubOperations": [],
            "Successors": [
                {
                    "Id": "cebf388c-d1cc-4cb0-b598-b1b4e6f3d0ed",
                    "TrackingId": "b88f7ffd-11ad-48be-8f81-9959a7ca3e2b",
                    "Name": "Request approved?",
                    "Description": null,
                    "Objective": null,
                    "Type": 5,
                    "UserInCharge": null,
                    "ExtensionFieldValues": [],
                    "SubOperations": [
                        {
                            "Id": "851da7f8-38f2-4f27-b116-89ecc8644e99",
                            "TrackingId": "267527d9-be7f-4d35-b1d9-7c8d1944896c",
                            "Name": "Yes",
                            "Description": null,
                            "Objective": null,
                            "Type": 5,
                            "UserInCharge": null,
                            "ExtensionFieldValues": null,
                            "SubOperations": [],
                            "Successors": [
                                {
                                    "Id": "a452a060-6a37-454b-a401-d3ef686e1014",
                                    "TrackingId": "cf5726cb-147a-4eb0-995e-2d6a71bb8e73",
                                    "Name": "Approve Request",
                                    "Description": null,
                                    "Objective": null,
                                    "Type": 8,
                                    "UserInCharge": null,
                                    "ExtensionFieldValues": [],
                                    "SubOperations": [],
                                    "Successors": [
                                        {
                                            "Id": "408825d0-f5bf-4d1e-831f-f2b020999d0a",
                                            "TrackingId": "f910741e-06c7-49f9-8713-0600362346ac",
                                            "Name": "End",
                                            "Description": null,
                                            "Objective": null,
                                            "Type": 2,
                                            "UserInCharge": null,
                                            "ExtensionFieldValues": null,
                                            "SubOperations": [],
                                            "Successors": [],
                                            "Predecessors": [],
                                            "EscalationSuccessors": [],
                                            "EscalationPredecessors": [],
                                            "ExceptionSuccessors": [],
                                            "ExceptionPredecessors": []
                                        }
                                    ],
                                    "Predecessors": [
                                        {
                                            "Id": "851da7f8-38f2-4f27-b116-89ecc8644e99",
                                            "TrackingId": "267527d9-be7f-4d35-b1d9-7c8d1944896c",
                                            "Name": "Yes",
                                            "Description": null,
                                            "Objective": null,
                                            "Type": 5,
                                            "UserInCharge": null,
                                            "ExtensionFieldValues": null,
                                            "SubOperations": [],
                                            "Successors": [],
                                            "Predecessors": [],
                                            "EscalationSuccessors": [],
                                            "EscalationPredecessors": [],
                                            "ExceptionSuccessors": [],
                                            "ExceptionPredecessors": []
                                        }
                                    ],
                                    "EscalationSuccessors": [],
                                    "EscalationPredecessors": [],
                                    "ExceptionSuccessors": [],
                                    "ExceptionPredecessors": []
                                }
                            ],
                            "Predecessors": [],
                            "EscalationSuccessors": [],
                            "EscalationPredecessors": [],
                            "ExceptionSuccessors": [],
                            "ExceptionPredecessors": []
                        }
                    ],
                    "Successors": [],
                    "Predecessors": [
                        {
                            "Id": "8585efe5-4622-4e9e-b2f6-930c9582a516",
                            "TrackingId": "91e56d18-fce0-4c6f-9913-8fc8248d3bd5",
                            "Name": "Check Request",
                            "Description": null,
                            "Objective": null,
                            "Type": 0,
                            "UserInCharge": null,
                            "ExtensionFieldValues": null,
                            "SubOperations": [],
                            "Successors": [],
                            "Predecessors": [],
                            "EscalationSuccessors": [],
                            "EscalationPredecessors": [],
                            "ExceptionSuccessors": [],
                            "ExceptionPredecessors": []
                        }
                    ],
                    "EscalationSuccessors": [],
                    "EscalationPredecessors": [],
                    "ExceptionSuccessors": [
                        {
                            "Id": "8bbd9a8c-dd73-4a99-8363-f38be81fdcf8",
                            "TrackingId": "f6953b9d-a5b7-4cc4-8e4f-cc4fc86c2f21",
                            "Name": "Reject Request",
                            "Description": null,
                            "Objective": null,
                            "Type": 8,
                            "UserInCharge": null,
                            "ExtensionFieldValues": null,
                            "SubOperations": [],
                            "Successors": [],
                            "Predecessors": [],
                            "EscalationSuccessors": [],
                            "EscalationPredecessors": [],
                            "ExceptionSuccessors": [],
                            "ExceptionPredecessors": []
                        }
                    ],
                    "ExceptionPredecessors": []
                }
            ],
            "Predecessors": [
                {
                    "Id": "ed5eb495-b2fa-4a1c-a4eb-17b473c34c9b",
                    "TrackingId": "0a5601ed-4bf4-49b5-8f4f-a53564179350",
                    "Name": "Start",
                    "Description": null,
                    "Objective": null,
                    "Type": 1,
                    "UserInCharge": null,
                    "ExtensionFieldValues": [],
                    "SubOperations": [],
                    "Successors": [
                        {
                            "Id": "8585efe5-4622-4e9e-b2f6-930c9582a516",
                            "TrackingId": "91e56d18-fce0-4c6f-9913-8fc8248d3bd5",
                            "Name": "Check Request",
                            "Description": null,
                            "Objective": null,
                            "Type": 0,
                            "UserInCharge": null,
                            "ExtensionFieldValues": null,
                            "SubOperations": [],
                            "Successors": [],
                            "Predecessors": [],
                            "EscalationSuccessors": [],
                            "EscalationPredecessors": [],
                            "ExceptionSuccessors": [],
                            "ExceptionPredecessors": []
                        }
                    ],
                    "Predecessors": [],
                    "EscalationSuccessors": [],
                    "EscalationPredecessors": [],
                    "ExceptionSuccessors": [],
                    "ExceptionPredecessors": []
                }
            ],
            "EscalationSuccessors": [],
            "EscalationPredecessors": [],
            "ExceptionSuccessors": [],
            "ExceptionPredecessors": []
        },
        {
            "Id": "a452a060-6a37-454b-a401-d3ef686e1014",
            "TrackingId": "cf5726cb-147a-4eb0-995e-2d6a71bb8e73",
            "Name": "Approve Request",
            "Description": null,
            "Objective": null,
            "Type": 8,
            "UserInCharge": null,
            "ExtensionFieldValues": null,
            "SubOperations": [],
            "Successors": [
                {
                    "Id": "408825d0-f5bf-4d1e-831f-f2b020999d0a",
                    "TrackingId": "f910741e-06c7-49f9-8713-0600362346ac",
                    "Name": "End",
                    "Description": null,
                    "Objective": null,
                    "Type": 2,
                    "UserInCharge": null,
                    "ExtensionFieldValues": [],
                    "SubOperations": [],
                    "Successors": [],
                    "Predecessors": [
                        {
                            "Id": "a452a060-6a37-454b-a401-d3ef686e1014",
                            "TrackingId": "cf5726cb-147a-4eb0-995e-2d6a71bb8e73",
                            "Name": "Approve Request",
                            "Description": null,
                            "Objective": null,
                            "Type": 8,
                            "UserInCharge": null,
                            "ExtensionFieldValues": null,
                            "SubOperations": [],
                            "Successors": [],
                            "Predecessors": [],
                            "EscalationSuccessors": [],
                            "EscalationPredecessors": [],
                            "ExceptionSuccessors": [],
                            "ExceptionPredecessors": []
                        },
                        {
                            "Id": "8bbd9a8c-dd73-4a99-8363-f38be81fdcf8",
                            "TrackingId": "f6953b9d-a5b7-4cc4-8e4f-cc4fc86c2f21",
                            "Name": "Reject Request",
                            "Description": null,
                            "Objective": null,
                            "Type": 8,
                            "UserInCharge": null,
                            "ExtensionFieldValues": null,
                            "SubOperations": [],
                            "Successors": [],
                            "Predecessors": [],
                            "EscalationSuccessors": [],
                            "EscalationPredecessors": [],
                            "ExceptionSuccessors": [],
                            "ExceptionPredecessors": []
                        }
                    ],
                    "EscalationSuccessors": [],
                    "EscalationPredecessors": [],
                    "ExceptionSuccessors": [],
                    "ExceptionPredecessors": []
                }
            ],
            "Predecessors": [
                {
                    "Id": "851da7f8-38f2-4f27-b116-89ecc8644e99",
                    "TrackingId": "267527d9-be7f-4d35-b1d9-7c8d1944896c",
                    "Name": "Yes",
                    "Description": null,
                    "Objective": null,
                    "Type": 5,
                    "UserInCharge": null,
                    "ExtensionFieldValues": [],
                    "SubOperations": [],
                    "Successors": [
                        {
                            "Id": "a452a060-6a37-454b-a401-d3ef686e1014",
                            "TrackingId": "cf5726cb-147a-4eb0-995e-2d6a71bb8e73",
                            "Name": "Approve Request",
                            "Description": null,
                            "Objective": null,
                            "Type": 8,
                            "UserInCharge": null,
                            "ExtensionFieldValues": null,
                            "SubOperations": [],
                            "Successors": [],
                            "Predecessors": [],
                            "EscalationSuccessors": [],
                            "EscalationPredecessors": [],
                            "ExceptionSuccessors": [],
                            "ExceptionPredecessors": []
                        }
                    ],
                    "Predecessors": [],
                    "EscalationSuccessors": [],
                    "EscalationPredecessors": [],
                    "ExceptionSuccessors": [],
                    "ExceptionPredecessors": []
                }
            ],
            "EscalationSuccessors": [],
            "EscalationPredecessors": [],
            "ExceptionSuccessors": [],
            "ExceptionPredecessors": []
        },
        {
            "Id": "cebf388c-d1cc-4cb0-b598-b1b4e6f3d0ed",
            "TrackingId": "b88f7ffd-11ad-48be-8f81-9959a7ca3e2b",
            "Name": "Request approved?",
            "Description": null,
            "Objective": null,
            "Type": 5,
            "UserInCharge": null,
            "ExtensionFieldValues": null,
            "SubOperations": [
                {
                    "Id": "851da7f8-38f2-4f27-b116-89ecc8644e99",
                    "TrackingId": "267527d9-be7f-4d35-b1d9-7c8d1944896c",
                    "Name": "Yes",
                    "Description": null,
                    "Objective": null,
                    "Type": 5,
                    "UserInCharge": null,
                    "ExtensionFieldValues": [],
                    "SubOperations": [],
                    "Successors": [
                        {
                            "Id": "a452a060-6a37-454b-a401-d3ef686e1014",
                            "TrackingId": "cf5726cb-147a-4eb0-995e-2d6a71bb8e73",
                            "Name": "Approve Request",
                            "Description": null,
                            "Objective": null,
                            "Type": 8,
                            "UserInCharge": null,
                            "ExtensionFieldValues": null,
                            "SubOperations": [],
                            "Successors": [],
                            "Predecessors": [],
                            "EscalationSuccessors": [],
                            "EscalationPredecessors": [],
                            "ExceptionSuccessors": [],
                            "ExceptionPredecessors": []
                        }
                    ],
                    "Predecessors": [],
                    "EscalationSuccessors": [],
                    "EscalationPredecessors": [],
                    "ExceptionSuccessors": [],
                    "ExceptionPredecessors": []
                }
            ],
            "Successors": [],
            "Predecessors": [
                {
                    "Id": "8585efe5-4622-4e9e-b2f6-930c9582a516",
                    "TrackingId": "91e56d18-fce0-4c6f-9913-8fc8248d3bd5",
                    "Name": "Check Request",
                    "Description": null,
                    "Objective": null,
                    "Type": 0,
                    "UserInCharge": {
                        "Id": "6fe23fd8-3895-40a7-9916-52c23f4531ed",
                        "Name": "DEV Admin",
                        "LoginName": "devadmin",
                        "Email": "dev.admin@firestart.com",
                        "Phone": "+43 123 456789",
                        "ExternalIdentifier": "***************",
                        "Provider": "Windows",
                        "ClientLoginDate": "2023-06-07T09:36:47.6448913Z",
                        "PortalLoginDate": "2023-07-21T05:37:15.3195629Z"
                    },
                    "ExtensionFieldValues": [],
                    "SubOperations": [],
                    "Successors": [
                        {
                            "Id": "cebf388c-d1cc-4cb0-b598-b1b4e6f3d0ed",
                            "TrackingId": "b88f7ffd-11ad-48be-8f81-9959a7ca3e2b",
                            "Name": "Request approved?",
                            "Description": null,
                            "Objective": null,
                            "Type": 5,
                            "UserInCharge": null,
                            "ExtensionFieldValues": null,
                            "SubOperations": [],
                            "Successors": [],
                            "Predecessors": [],
                            "EscalationSuccessors": [],
                            "EscalationPredecessors": [],
                            "ExceptionSuccessors": [],
                            "ExceptionPredecessors": []
                        }
                    ],
                    "Predecessors": [
                        {
                            "Id": "ed5eb495-b2fa-4a1c-a4eb-17b473c34c9b",
                            "TrackingId": "0a5601ed-4bf4-49b5-8f4f-a53564179350",
                            "Name": "Start",
                            "Description": null,
                            "Objective": null,
                            "Type": 1,
                            "UserInCharge": null,
                            "ExtensionFieldValues": null,
                            "SubOperations": [],
                            "Successors": [],
                            "Predecessors": [],
                            "EscalationSuccessors": [],
                            "EscalationPredecessors": [],
                            "ExceptionSuccessors": [],
                            "ExceptionPredecessors": []
                        }
                    ],
                    "EscalationSuccessors": [],
                    "EscalationPredecessors": [],
                    "ExceptionSuccessors": [],
                    "ExceptionPredecessors": []
                }
            ],
            "EscalationSuccessors": [],
            "EscalationPredecessors": [],
            "ExceptionSuccessors": [
                {
                    "Id": "8bbd9a8c-dd73-4a99-8363-f38be81fdcf8",
                    "TrackingId": "f6953b9d-a5b7-4cc4-8e4f-cc4fc86c2f21",
                    "Name": "Reject Request",
                    "Description": null,
                    "Objective": null,
                    "Type": 8,
                    "UserInCharge": null,
                    "ExtensionFieldValues": [],
                    "SubOperations": [],
                    "Successors": [
                        {
                            "Id": "408825d0-f5bf-4d1e-831f-f2b020999d0a",
                            "TrackingId": "f910741e-06c7-49f9-8713-0600362346ac",
                            "Name": "End",
                            "Description": null,
                            "Objective": null,
                            "Type": 2,
                            "UserInCharge": null,
                            "ExtensionFieldValues": null,
                            "SubOperations": [],
                            "Successors": [],
                            "Predecessors": [],
                            "EscalationSuccessors": [],
                            "EscalationPredecessors": [],
                            "ExceptionSuccessors": [],
                            "ExceptionPredecessors": []
                        }
                    ],
                    "Predecessors": [],
                    "EscalationSuccessors": [],
                    "EscalationPredecessors": [],
                    "ExceptionSuccessors": [],
                    "ExceptionPredecessors": [
                        {
                            "Id": "cebf388c-d1cc-4cb0-b598-b1b4e6f3d0ed",
                            "TrackingId": "b88f7ffd-11ad-48be-8f81-9959a7ca3e2b",
                            "Name": "Request approved?",
                            "Description": null,
                            "Objective": null,
                            "Type": 5,
                            "UserInCharge": null,
                            "ExtensionFieldValues": null,
                            "SubOperations": [],
                            "Successors": [],
                            "Predecessors": [],
                            "EscalationSuccessors": [],
                            "EscalationPredecessors": [],
                            "ExceptionSuccessors": [],
                            "ExceptionPredecessors": []
                        }
                    ]
                }
            ],
            "ExceptionPredecessors": []
        },
        {
            "Id": "8bbd9a8c-dd73-4a99-8363-f38be81fdcf8",
            "TrackingId": "f6953b9d-a5b7-4cc4-8e4f-cc4fc86c2f21",
            "Name": "Reject Request",
            "Description": null,
            "Objective": null,
            "Type": 8,
            "UserInCharge": null,
            "ExtensionFieldValues": null,
            "SubOperations": [],
            "Successors": [
                {
                    "Id": "408825d0-f5bf-4d1e-831f-f2b020999d0a",
                    "TrackingId": "f910741e-06c7-49f9-8713-0600362346ac",
                    "Name": "End",
                    "Description": null,
                    "Objective": null,
                    "Type": 2,
                    "UserInCharge": null,
                    "ExtensionFieldValues": [],
                    "SubOperations": [],
                    "Successors": [],
                    "Predecessors": [
                        {
                            "Id": "a452a060-6a37-454b-a401-d3ef686e1014",
                            "TrackingId": "cf5726cb-147a-4eb0-995e-2d6a71bb8e73",
                            "Name": "Approve Request",
                            "Description": null,
                            "Objective": null,
                            "Type": 8,
                            "UserInCharge": null,
                            "ExtensionFieldValues": null,
                            "SubOperations": [],
                            "Successors": [],
                            "Predecessors": [],
                            "EscalationSuccessors": [],
                            "EscalationPredecessors": [],
                            "ExceptionSuccessors": [],
                            "ExceptionPredecessors": []
                        },
                        {
                            "Id": "8bbd9a8c-dd73-4a99-8363-f38be81fdcf8",
                            "TrackingId": "f6953b9d-a5b7-4cc4-8e4f-cc4fc86c2f21",
                            "Name": "Reject Request",
                            "Description": null,
                            "Objective": null,
                            "Type": 8,
                            "UserInCharge": null,
                            "ExtensionFieldValues": null,
                            "SubOperations": [],
                            "Successors": [],
                            "Predecessors": [],
                            "EscalationSuccessors": [],
                            "EscalationPredecessors": [],
                            "ExceptionSuccessors": [],
                            "ExceptionPredecessors": []
                        }
                    ],
                    "EscalationSuccessors": [],
                    "EscalationPredecessors": [],
                    "ExceptionSuccessors": [],
                    "ExceptionPredecessors": []
                }
            ],
            "Predecessors": [],
            "EscalationSuccessors": [],
            "EscalationPredecessors": [],
            "ExceptionSuccessors": [],
            "ExceptionPredecessors": [
                {
                    "Id": "cebf388c-d1cc-4cb0-b598-b1b4e6f3d0ed",
                    "TrackingId": "b88f7ffd-11ad-48be-8f81-9959a7ca3e2b",
                    "Name": "Request approved?",
                    "Description": null,
                    "Objective": null,
                    "Type": 5,
                    "UserInCharge": null,
                    "ExtensionFieldValues": [],
                    "SubOperations": [
                        {
                            "Id": "851da7f8-38f2-4f27-b116-89ecc8644e99",
                            "TrackingId": "267527d9-be7f-4d35-b1d9-7c8d1944896c",
                            "Name": "Yes",
                            "Description": null,
                            "Objective": null,
                            "Type": 5,
                            "UserInCharge": null,
                            "ExtensionFieldValues": null,
                            "SubOperations": [],
                            "Successors": [
                                {
                                    "Id": "a452a060-6a37-454b-a401-d3ef686e1014",
                                    "TrackingId": "cf5726cb-147a-4eb0-995e-2d6a71bb8e73",
                                    "Name": "Approve Request",
                                    "Description": null,
                                    "Objective": null,
                                    "Type": 8,
                                    "UserInCharge": null,
                                    "ExtensionFieldValues": [],
                                    "SubOperations": [],
                                    "Successors": [
                                        {
                                            "Id": "408825d0-f5bf-4d1e-831f-f2b020999d0a",
                                            "TrackingId": "f910741e-06c7-49f9-8713-0600362346ac",
                                            "Name": "End",
                                            "Description": null,
                                            "Objective": null,
                                            "Type": 2,
                                            "UserInCharge": null,
                                            "ExtensionFieldValues": null,
                                            "SubOperations": [],
                                            "Successors": [],
                                            "Predecessors": [],
                                            "EscalationSuccessors": [],
                                            "EscalationPredecessors": [],
                                            "ExceptionSuccessors": [],
                                            "ExceptionPredecessors": []
                                        }
                                    ],
                                    "Predecessors": [
                                        {
                                            "Id": "851da7f8-38f2-4f27-b116-89ecc8644e99",
                                            "TrackingId": "267527d9-be7f-4d35-b1d9-7c8d1944896c",
                                            "Name": "Yes",
                                            "Description": null,
                                            "Objective": null,
                                            "Type": 5,
                                            "UserInCharge": null,
                                            "ExtensionFieldValues": null,
                                            "SubOperations": [],
                                            "Successors": [],
                                            "Predecessors": [],
                                            "EscalationSuccessors": [],
                                            "EscalationPredecessors": [],
                                            "ExceptionSuccessors": [],
                                            "ExceptionPredecessors": []
                                        }
                                    ],
                                    "EscalationSuccessors": [],
                                    "EscalationPredecessors": [],
                                    "ExceptionSuccessors": [],
                                    "ExceptionPredecessors": []
                                }
                            ],
                            "Predecessors": [],
                            "EscalationSuccessors": [],
                            "EscalationPredecessors": [],
                            "ExceptionSuccessors": [],
                            "ExceptionPredecessors": []
                        }
                    ],
                    "Successors": [],
                    "Predecessors": [
                        {
                            "Id": "8585efe5-4622-4e9e-b2f6-930c9582a516",
                            "TrackingId": "91e56d18-fce0-4c6f-9913-8fc8248d3bd5",
                            "Name": "Check Request",
                            "Description": null,
                            "Objective": null,
                            "Type": 0,
                            "UserInCharge": null,
                            "ExtensionFieldValues": null,
                            "SubOperations": [],
                            "Successors": [],
                            "Predecessors": [],
                            "EscalationSuccessors": [],
                            "EscalationPredecessors": [],
                            "ExceptionSuccessors": [],
                            "ExceptionPredecessors": []
                        }
                    ],
                    "EscalationSuccessors": [],
                    "EscalationPredecessors": [],
                    "ExceptionSuccessors": [
                        {
                            "Id": "8bbd9a8c-dd73-4a99-8363-f38be81fdcf8",
                            "TrackingId": "f6953b9d-a5b7-4cc4-8e4f-cc4fc86c2f21",
                            "Name": "Reject Request",
                            "Description": null,
                            "Objective": null,
                            "Type": 8,
                            "UserInCharge": null,
                            "ExtensionFieldValues": null,
                            "SubOperations": [],
                            "Successors": [],
                            "Predecessors": [],
                            "EscalationSuccessors": [],
                            "EscalationPredecessors": [],
                            "ExceptionSuccessors": [],
                            "ExceptionPredecessors": []
                        }
                    ],
                    "ExceptionPredecessors": []
                }
            ]
        },
        {
            "Id": "408825d0-f5bf-4d1e-831f-f2b020999d0a",
            "TrackingId": "f910741e-06c7-49f9-8713-0600362346ac",
            "Name": "End",
            "Description": null,
            "Objective": null,
            "Type": 2,
            "UserInCharge": null,
            "ExtensionFieldValues": null,
            "SubOperations": [],
            "Successors": [],
            "Predecessors": [
                {
                    "Id": "a452a060-6a37-454b-a401-d3ef686e1014",
                    "TrackingId": "cf5726cb-147a-4eb0-995e-2d6a71bb8e73",
                    "Name": "Approve Request",
                    "Description": null,
                    "Objective": null,
                    "Type": 8,
                    "UserInCharge": null,
                    "ExtensionFieldValues": [],
                    "SubOperations": [],
                    "Successors": [
                        {
                            "Id": "408825d0-f5bf-4d1e-831f-f2b020999d0a",
                            "TrackingId": "f910741e-06c7-49f9-8713-0600362346ac",
                            "Name": "End",
                            "Description": null,
                            "Objective": null,
                            "Type": 2,
                            "UserInCharge": null,
                            "ExtensionFieldValues": null,
                            "SubOperations": [],
                            "Successors": [],
                            "Predecessors": [],
                            "EscalationSuccessors": [],
                            "EscalationPredecessors": [],
                            "ExceptionSuccessors": [],
                            "ExceptionPredecessors": []
                        }
                    ],
                    "Predecessors": [
                        {
                            "Id": "851da7f8-38f2-4f27-b116-89ecc8644e99",
                            "TrackingId": "267527d9-be7f-4d35-b1d9-7c8d1944896c",
                            "Name": "Yes",
                            "Description": null,
                            "Objective": null,
                            "Type": 5,
                            "UserInCharge": null,
                            "ExtensionFieldValues": null,
                            "SubOperations": [],
                            "Successors": [],
                            "Predecessors": [],
                            "EscalationSuccessors": [],
                            "EscalationPredecessors": [],
                            "ExceptionSuccessors": [],
                            "ExceptionPredecessors": []
                        }
                    ],
                    "EscalationSuccessors": [],
                    "EscalationPredecessors": [],
                    "ExceptionSuccessors": [],
                    "ExceptionPredecessors": []
                },
                {
                    "Id": "8bbd9a8c-dd73-4a99-8363-f38be81fdcf8",
                    "TrackingId": "f6953b9d-a5b7-4cc4-8e4f-cc4fc86c2f21",
                    "Name": "Reject Request",
                    "Description": null,
                    "Objective": null,
                    "Type": 8,
                    "UserInCharge": null,
                    "ExtensionFieldValues": [],
                    "SubOperations": [],
                    "Successors": [
                        {
                            "Id": "408825d0-f5bf-4d1e-831f-f2b020999d0a",
                            "TrackingId": "f910741e-06c7-49f9-8713-0600362346ac",
                            "Name": "End",
                            "Description": null,
                            "Objective": null,
                            "Type": 2,
                            "UserInCharge": null,
                            "ExtensionFieldValues": null,
                            "SubOperations": [],
                            "Successors": [],
                            "Predecessors": [],
                            "EscalationSuccessors": [],
                            "EscalationPredecessors": [],
                            "ExceptionSuccessors": [],
                            "ExceptionPredecessors": []
                        }
                    ],
                    "Predecessors": [],
                    "EscalationSuccessors": [],
                    "EscalationPredecessors": [],
                    "ExceptionSuccessors": [],
                    "ExceptionPredecessors": [
                        {
                            "Id": "cebf388c-d1cc-4cb0-b598-b1b4e6f3d0ed",
                            "TrackingId": "b88f7ffd-11ad-48be-8f81-9959a7ca3e2b",
                            "Name": "Request approved?",
                            "Description": null,
                            "Objective": null,
                            "Type": 5,
                            "UserInCharge": null,
                            "ExtensionFieldValues": null,
                            "SubOperations": [],
                            "Successors": [],
                            "Predecessors": [],
                            "EscalationSuccessors": [],
                            "EscalationPredecessors": [],
                            "ExceptionSuccessors": [],
                            "ExceptionPredecessors": []
                        }
                    ]
                }
            ],
            "EscalationSuccessors": [],
            "EscalationPredecessors": [],
            "ExceptionSuccessors": [],
            "ExceptionPredecessors": []
        }
    ],
    "Successors": [],
    "Predecessors": [],
    "EscalationSuccessors": [],
    "EscalationPredecessors": [],
    "ExceptionSuccessors": [],
    "ExceptionPredecessors": []
}