Contract

Detailed description of configuring the contract service

Overview

The contract service captures work orders or purchase orders. It validates the work order against the estimate(s). Line items from one estimate can be put in a contract. Line items from multiple estimates can be aggregated into one work order as well. The contract service validates the line items from each estimate as part of Create and Update.

Pre-requisites

A running DIGIT platform is needed to deploy the contract service. Specifically, the following dependencies are needed:

  • Estimate

  • Organisation

  • User

  • Workflow

  • IDGen

  • HRMS

  • Notification

  • Persister

  • Indexer

Key Functionalities

This service provides APIs to create, update and search for contracts.

  • Models a real-world work order/contract

  • All line items of a single estimate can be put in a contract.

  • Line items from multiple estimates can also be grouped into a contract.

  • The service validates the estimate line items and ensures no duplication happens in including estimate line items in a contract.

  • Terms and conditions, milestones and payment calendar are WIP

Refer to the functional specifications here for detailed scope and functionality. Low-level technical design is available here.

Code - Contracts

Deployment

The variables below should be configured for the contract service in the Helm environment file before deployment. Click here to find the Helm environment file.

Refer to the sample here.

  • Add configurations for db-host, db-name, db-url, domain, and core platform services (Idgen, workflow, user, etc.) in the YAML file.

  • Search for "contract-service" in the environment YAML file. Add the contract-service environment variables similar to how it’s done in other entries.

  • Add the ‘egov-mdms-service’ related configuration to the respective environment YAML file. Make sure you change the gitsync.branch name.

  • Check the contract-service persister file is added to the egov-persister.perister-yml-path variable. If not, update the values as given here.

  • Make sure to add the DB (Postgres and flyway) username & password in the respective environment secret YAML file. Refer to the details given here.

  • Make sure to add the DIGIT core services-related secrets configured in the respective environment secret file. Refer to the details given here.

Restart egov-mdms-service, egov-persister, egov-indexer, inbox, egov-workflow-v2, egov-accesscontrol and zuul after the above changes are performed.

Configuration

MDMS Configuration

Configure actions, roles and role-action mappings from the table below. Refer to the details available here.

RoleAPIs

WORK_ORDER_CREATOR

/contract/v1/_create

/contract/v1/_update

/contract/v1/_search

/wms/contract/_search

WORK_ORDER_VERIFIER

/contract/v1/_update

/contract/v1/_search

/wms/contract/_search

WORK_ORDER_APPROVER

/contract/v1/_update

/contract/v1/_search

WORK_ORDER_VIEWER

/contract/v1/_search

/wms/contract/_search

EMPLOYEE_COMMON

/inbox/v2/_search

These have to be translated into JSON in the role-action mapping module in MDMS.

Example - available here.

Other masters to be added:

Add the following masters as per the links below:

Master Data Configuration Links

Idgen Configuration

Make sure the id format is configured in the ‘IdFormat.json’ file of the ‘common-masters’ module. The sample is available here.

IDGen Format

{

"format": "WO/[fy:yyyy-yy]/[SEQ_CONTRACT_NUM]",

"idname": "contract.number"

} {

"format": "RW/[fy:yyyy-yy]/[SEQ_CONT_SUPPLEMENT_NUM]",

"idname": "contract.supplement.number"

}

Workflow Configuration

Contract Workflow

The following workflow JSON needs to be put in the request body of the /egov-workflow-v2/egov-wf/businessservice/_create API.

For more information on configuring workflow, refer to the Workflow Service documentation.

"BusinessServices": [
    {
      "tenantId": "pg",
      "businessService": "contract-approval-mukta",
      "business": "contract-service",
      "businessServiceSla": 604800000,
      "states": [
        {
          "sla": null,
          "state": null,
          "applicationStatus": null,
          "docUploadRequired": false,
          "isStartState": true,
          "isTerminateState": false,
          "isStateUpdatable": true,
          "actions": [
            {
              "action": "CREATE",
              "nextState": "PENDING_FOR_VERIFICATION",
              "roles": [
                "WORK_ORDER_CREATOR"
              ]
            }
          ]
        },
        {
          "sla": 172800000,
          "state": "PENDING_FOR_VERIFICATION",
          "applicationStatus": "SUBMITTED",
          "docUploadRequired": false,
          "isStartState": false,
          "isTerminateState": false,
          "isStateUpdatable": true,
          "actions": [
            {
              "action": "VERIFY_AND_FORWARD",
              "nextState": "PENDING_FOR_APPROVAL",
              "roles": [
                "WORK_ORDER_VERIFIER"
              ]
            },
            {
              "action": "SEND_BACK",
              "nextState": "PENDING_FOR_CORRECTION",
              "roles": [
                "WORK_ORDER_VERIFIER"
              ]
            },
            {
              "action": "REJECT",
              "nextState": "REJECTED",
              "roles": [
                "WORK_ORDER_VERIFIER"
              ]
            }
          ]
        },
        {
          "sla": 86400000,
          "state": "PENDING_FOR_APPROVAL",
          "applicationStatus": "VERIFIED",
          "docUploadRequired": false,
          "isStartState": false,
          "isTerminateState": false,
          "isStateUpdatable": true,
          "actions": [
            {
              "action": "APPROVE",
              "nextState": "APPROVED",
              "roles": [
                "WORK_ORDER_APPROVER"
              ]
            },
            {
              "action": "SEND_BACK",
              "nextState": "PENDING_FOR_VERIFICATION",
              "roles": [
                "WORK_ORDER_APPROVER"
              ]
            },
            {
              "action": "REJECT",
              "nextState": "REJECTED",
              "roles": [
                "WORK_ORDER_APPROVER"
              ]
            },
            {
              "action": "SEND_BACK_TO_ORIGINATOR",
              "nextState": "PENDING_FOR_CORRECTION",
              "roles": [
                "WORK_ORDER_APPROVER"
              ]
            }
          ]
        },
        {
          "sla": 604800000,
          "state": "APPROVED",
          "applicationStatus": "APPROVED",
          "docUploadRequired": false,
          "isStartState": false,
          "isTerminateState": false,
          "isStateUpdatable": true,
          "actions": [
            {
              "action": "ACCEPT",
              "nextState": "ACCEPTED",
              "roles": [
                "ORG_ADMIN"
              ]
            },
            {
              "action": "DECLINE",
              "nextState": "PENDING_FOR_REASSIGNMENT",
              "roles": [
                "ORG_ADMIN"
              ]
            },
            {
              "action": "REJECT",
              "nextState": "REJECTED",
              "roles": [
                "ORG_ADMIN"
              ]
            }
          ]
        },
        {
          "sla": 86400000,
          "state": "PENDING_FOR_CORRECTION",
          "applicationStatus": "SENT_BACK",
          "docUploadRequired": false,
          "isStartState": true,
          "isTerminateState": false,
          "isStateUpdatable": true,
          "actions": [
            {
              "action": "EDIT",
              "nextState": "PENDING_FOR_VERIFICATION",
              "roles": [
                "WORK_ORDER_CREATOR"
              ]
            },
            {
              "action": "REJECT",
              "nextState": "REJECTED",
              "roles": [
                "WORK_ORDER_CREATOR"
              ]
            }
          ]
        },
        {
          "sla": 86400000,
          "state": "PENDING_FOR_REASSIGNMENT",
          "applicationStatus": "DECLINED",
          "docUploadRequired": false,
          "isStartState": true,
          "isTerminateState": false,
          "isStateUpdatable": true,
          "actions": [
            {
              "action": "EDIT",
              "nextState": "PENDING_FOR_VERIFICATION",
              "roles": [
                "WORK_ORDER_CREATOR"
              ]
            },
            {
              "action": "REJECT",
              "nextState": "REJECTED",
              "roles": [
                "WORK_ORDER_CREATOR"
              ]
            }
          ]
        },
        {
          "sla": null,
          "state": "ACCEPTED",
          "applicationStatus": "ACCEPTED",
          "docUploadRequired": false,
          "isStartState": false,
          "isTerminateState": true,
          "isStateUpdatable": false,
          "actions": [
          ]
        },
        {
          "sla": null,
          "state": "REJECTED",
          "applicationStatus": "REJECTED",
          "docUploadRequired": false,
          "isStartState": false,
          "isTerminateState": true,
          "isStateUpdatable": false,
          "actions": [
          ]
        }
      ]
    }
  ]

Sample CURL is also included below.

Note that authToken and other requestInfo parameters should be updated as per your environment.

curl --location 'http://localhost:8020/egov-workflow-v2/egov-wf/businessservice/_update' \
--header 'Content-Type: application/json' \
--data '{
    "RequestInfo": {
    "apiId": "estimate",
    "action": "",
    "did": 1,
    "key": "",
    "msgId": "20170310130900|en_IN",
    "requesterId": "",
    "ts": 1513579888683,
    "ver": "1.0.0",
    "authToken": "{{REPLACE THIS}}",
    "userInfo": {
      "uuid": "{{REPLACE WITH VALID USER ID}}"
    }
  },
  "BusinessServices": [
        {
            "tenantId": "pg",
            "uuid": "c798a157-b494-4b61-acb9-6c5923f2fc10",
            "businessService": "mukta-estimate",
            "business": "estimate-service",
            "businessServiceSla": 432000000,
            "states": [
                {
                    "auditDetails": {
                        "createdBy": "7e46e32c-187c-4fb4-9d6b-1ac70fa8f011",
                        "lastModifiedBy": "7e46e32c-187c-4fb4-9d6b-1ac70fa8f011",
                        "createdTime": 1678950370209,
                        "lastModifiedTime": 1678950370209
                    },
                    "uuid": "35fd0feb-319f-4af2-bfa1-faa770ec05cb",
                    "tenantId": "pg",
                    "businessServiceId": "c798a157-b494-4b61-acb9-6c5923f2fc10",
                    "sla": null,
                    "state": null,
                    "applicationStatus": null,
                    "docUploadRequired": false,
                    "isStartState": true,
                    "isTerminateState": false,
                    "isStateUpdatable": true,
                    "actions": [
                        {
                            "auditDetails": {
                                "createdBy": "7e46e32c-187c-4fb4-9d6b-1ac70fa8f011",
                                "lastModifiedBy": "7e46e32c-187c-4fb4-9d6b-1ac70fa8f011",
                                "createdTime": 1678950370209,
                                "lastModifiedTime": 1678950370209
                            },
                            "uuid": "a5689bee-5d02-4311-9ad4-62959bb50e8c",
                            "tenantId": "pg",
                            "currentState": "35fd0feb-319f-4af2-bfa1-faa770ec05cb",
                            "action": "SUBMIT",
                            "nextState": "6cc0eebd-e9f5-485b-94cd-cd28e7733974",
                            "roles": [
                                "ESTIMATE_CREATOR"
                            ],
                            "active": true
                        }
                    ]
                },
                {
                    "auditDetails": {
                        "createdBy": "7e46e32c-187c-4fb4-9d6b-1ac70fa8f011",
                        "lastModifiedBy": "7e46e32c-187c-4fb4-9d6b-1ac70fa8f011",
                        "createdTime": 1678950370209,
                        "lastModifiedTime": 1678950370209
                    },
                    "uuid": "6cc0eebd-e9f5-485b-94cd-cd28e7733974",
                    "tenantId": "pg",
                    "businessServiceId": "c798a157-b494-4b61-acb9-6c5923f2fc10",
                    "sla": 172800000,
                    "state": "PENDINGFORVERIFICATION",
                    "applicationStatus": "SUBMITTED",
                    "docUploadRequired": false,
                    "isStartState": true,
                    "isTerminateState": false,
                    "isStateUpdatable": true,
                    "actions": [
                        {
                            "auditDetails": {
                                "createdBy": "7e46e32c-187c-4fb4-9d6b-1ac70fa8f011",
                                "lastModifiedBy": "7e46e32c-187c-4fb4-9d6b-1ac70fa8f011",
                                "createdTime": 1678950370209,
                                "lastModifiedTime": 1678950370209
                            },
                            "uuid": "381cfe14-296f-4e03-8475-31495341a788",
                            "tenantId": "pg",
                            "currentState": "6cc0eebd-e9f5-485b-94cd-cd28e7733974",
                            "action": "VERIFYANDFORWARD",
                            "nextState": "98a0383d-5367-4f1e-a4f2-82a0b7ad6b9f",
                            "roles": [
                                "ESTIMATE_VERIFIER"
                            ],
                            "active": true
                        },
                        {
                            "auditDetails": {
                                "createdBy": "7e46e32c-187c-4fb4-9d6b-1ac70fa8f011",
                                "lastModifiedBy": "7e46e32c-187c-4fb4-9d6b-1ac70fa8f011",
                                "createdTime": 1678950370209,
                                "lastModifiedTime": 1678950370209
                            },
                            "uuid": "ca298290-42db-47c0-ae1d-f2e1249cc582",
                            "tenantId": "pg",
                            "currentState": "6cc0eebd-e9f5-485b-94cd-cd28e7733974",
                            "action": "SENDBACK",
                            "nextState": "06da8fe1-1d68-4ea8-9409-217182b58846",
                            "roles": [
                                "ESTIMATE_VERIFIER"
                            ],
                            "active": true
                        },
                        {
                            "auditDetails": {
                                "createdBy": "7e46e32c-187c-4fb4-9d6b-1ac70fa8f011",
                                "lastModifiedBy": "7e46e32c-187c-4fb4-9d6b-1ac70fa8f011",
                                "createdTime": 1678950370209,
                                "lastModifiedTime": 1678950370209
                            },
                            "uuid": "8dcacc97-36a4-42f1-8fab-8393cb3171c8",
                            "tenantId": "pg",
                            "currentState": "6cc0eebd-e9f5-485b-94cd-cd28e7733974",
                            "action": "REJECT",
                            "nextState": "37615e97-0eba-4022-be8b-3feaf0bf4441",
                            "roles": [
                                "ESTIMATE_VERIFIER"
                            ],
                            "active": true
                        }
                    ]
                },
                {
                    "auditDetails": {
                        "createdBy": "7e46e32c-187c-4fb4-9d6b-1ac70fa8f011",
                        "lastModifiedBy": "7e46e32c-187c-4fb4-9d6b-1ac70fa8f011",
                        "createdTime": 1678950370209,
                        "lastModifiedTime": 1678950370209
                    },
                    "uuid": "98a0383d-5367-4f1e-a4f2-82a0b7ad6b9f",
                    "tenantId": "pg",
                    "businessServiceId": "c798a157-b494-4b61-acb9-6c5923f2fc10",
                    "sla": 86400000,
                    "state": "PENDINGFORTECHNICALSANCTION",
                    "applicationStatus": "VERIFIED",
                    "docUploadRequired": false,
                    "isStartState": false,
                    "isTerminateState": false,
                    "isStateUpdatable": true,
                    "actions": [
                        {
                            "auditDetails": {
                                "createdBy": "7e46e32c-187c-4fb4-9d6b-1ac70fa8f011",
                                "lastModifiedBy": "7e46e32c-187c-4fb4-9d6b-1ac70fa8f011",
                                "createdTime": 1678950370209,
                                "lastModifiedTime": 1678950370209
                            },
                            "uuid": "bf5e5d56-9662-4077-b08b-fd3a678942d2",
                            "tenantId": "pg",
                            "currentState": "98a0383d-5367-4f1e-a4f2-82a0b7ad6b9f",
                            "action": "TECHNICALSANCTION",
                            "nextState": "c3249e25-9d3b-4b6f-9029-8a69b0b60415",
                            "roles": [
                                "TECHNICAL_SANCTIONER"
                            ],
                            "active": true
                        },
                        {
                            "auditDetails": {
                                "createdBy": "7e46e32c-187c-4fb4-9d6b-1ac70fa8f011",
                                "lastModifiedBy": "7e46e32c-187c-4fb4-9d6b-1ac70fa8f011",
                                "createdTime": 1678950370209,
                                "lastModifiedTime": 1678950370209
                            },
                            "uuid": "bb623a34-015b-4ce2-8167-d5333b5ffbce",
                            "tenantId": "pg",
                            "currentState": "98a0383d-5367-4f1e-a4f2-82a0b7ad6b9f",
                            "action": "SENDBACK",
                            "nextState": "6cc0eebd-e9f5-485b-94cd-cd28e7733974",
                            "roles": [
                                "TECHNICAL_SANCTIONER"
                            ],
                            "active": true
                        },
                        {
                            "auditDetails": {
                                "createdBy": "7e46e32c-187c-4fb4-9d6b-1ac70fa8f011",
                                "lastModifiedBy": "7e46e32c-187c-4fb4-9d6b-1ac70fa8f011",
                                "createdTime": 1678950370209,
                                "lastModifiedTime": 1678950370209
                            },
                            "uuid": "b08b8f1d-6fc6-49ab-98c2-887b90ff5d90",
                            "tenantId": "pg",
                            "currentState": "98a0383d-5367-4f1e-a4f2-82a0b7ad6b9f",
                            "action": "SENDBACKTOORIGINATOR",
                            "nextState": "06da8fe1-1d68-4ea8-9409-217182b58846",
                            "roles": [
                                "TECHNICAL_SANCTIONER"
                            ],
                            "active": true
                        },
                        {
                            "auditDetails": {
                                "createdBy": "7e46e32c-187c-4fb4-9d6b-1ac70fa8f011",
                                "lastModifiedBy": "7e46e32c-187c-4fb4-9d6b-1ac70fa8f011",
                                "createdTime": 1678950370209,
                                "lastModifiedTime": 1678950370209
                            },
                            "uuid": "0dacba16-22bf-44e3-bdc9-8dc54c215cbf",
                            "tenantId": "pg",
                            "currentState": "98a0383d-5367-4f1e-a4f2-82a0b7ad6b9f",
                            "action": "REJECT",
                            "nextState": "37615e97-0eba-4022-be8b-3feaf0bf4441",
                            "roles": [
                                "TECHNICAL_SANCTIONER"
                            ],
                            "active": true
                        }
                    ]
                },
                {
                    "auditDetails": {
                        "createdBy": "7e46e32c-187c-4fb4-9d6b-1ac70fa8f011",
                        "lastModifiedBy": "7e46e32c-187c-4fb4-9d6b-1ac70fa8f011",
                        "createdTime": 1678950370209,
                        "lastModifiedTime": 1678950370209
                    },
                    "uuid": "c3249e25-9d3b-4b6f-9029-8a69b0b60415",
                    "tenantId": "pg",
                    "businessServiceId": "c798a157-b494-4b61-acb9-6c5923f2fc10",
                    "sla": 86400000,
                    "state": "PENDINGFORAPPROVAL",
                    "applicationStatus": "TECHNICALLY SANCTIONED",
                    "docUploadRequired": false,
                    "isStartState": false,
                    "isTerminateState": false,
                    "isStateUpdatable": true,
                    "actions": [
                        {
                            "auditDetails": {
                                "createdBy": "7e46e32c-187c-4fb4-9d6b-1ac70fa8f011",
                                "lastModifiedBy": "7e46e32c-187c-4fb4-9d6b-1ac70fa8f011",
                                "createdTime": 1678950370209,
                                "lastModifiedTime": 1678950370209
                            },
                            "uuid": "bbb05598-8a74-42c4-8e04-b9499c571fda",
                            "tenantId": "pg",
                            "currentState": "c3249e25-9d3b-4b6f-9029-8a69b0b60415",
                            "action": "SENDBACK",
                            "nextState": "98a0383d-5367-4f1e-a4f2-82a0b7ad6b9f",
                            "roles": [
                                "ESTIMATE_APPROVER"
                            ],
                            "active": true
                        },
                        {
                            "auditDetails": {
                                "createdBy": "7e46e32c-187c-4fb4-9d6b-1ac70fa8f011",
                                "lastModifiedBy": "7e46e32c-187c-4fb4-9d6b-1ac70fa8f011",
                                "createdTime": 1678950370209,
                                "lastModifiedTime": 1678950370209
                            },
                            "uuid": "94d39cba-3271-4dae-b014-8eae07657bcc",
                            "tenantId": "pg",
                            "currentState": "c3249e25-9d3b-4b6f-9029-8a69b0b60415",
                            "action": "SENDBACKTOORIGINATOR",
                            "nextState": "06da8fe1-1d68-4ea8-9409-217182b58846",
                            "roles": [
                                "ESTIMATE_APPROVER"
                            ],
                            "active": true
                        },
                        {
                            "auditDetails": {
                                "createdBy": "7e46e32c-187c-4fb4-9d6b-1ac70fa8f011",
                                "lastModifiedBy": "7e46e32c-187c-4fb4-9d6b-1ac70fa8f011",
                                "createdTime": 1678950370209,
                                "lastModifiedTime": 1678950370209
                            },
                            "uuid": "97e550ff-20eb-4fd5-85ae-e395ba9dd358",
                            "tenantId": "pg",
                            "currentState": "c3249e25-9d3b-4b6f-9029-8a69b0b60415",
                            "action": "APPROVE",
                            "nextState": "fcd34bba-9f52-4de6-9a16-2a50315cfb91",
                            "roles": [
                                "ESTIMATE_APPROVER"
                            ],
                            "active": true
                        },
                        {
                            "auditDetails": {
                                "createdBy": "7e46e32c-187c-4fb4-9d6b-1ac70fa8f011",
                                "lastModifiedBy": "7e46e32c-187c-4fb4-9d6b-1ac70fa8f011",
                                "createdTime": 1678950370209,
                                "lastModifiedTime": 1678950370209
                            },
                            "uuid": "eaca07c5-d361-41a2-8d77-0063a075d2f3",
                            "tenantId": "pg",
                            "currentState": "c3249e25-9d3b-4b6f-9029-8a69b0b60415",
                            "action": "REJECT",
                            "nextState": "37615e97-0eba-4022-be8b-3feaf0bf4441",
                            "roles": [
                                "ESTIMATE_APPROVER"
                            ],
                            "active": true
                        }
                    ]
                },
                {
                    "auditDetails": {
                        "createdBy": "7e46e32c-187c-4fb4-9d6b-1ac70fa8f011",
                        "lastModifiedBy": "7e46e32c-187c-4fb4-9d6b-1ac70fa8f011",
                        "createdTime": 1678950370209,
                        "lastModifiedTime": 1678950370209
                    },
                    "uuid": "06da8fe1-1d68-4ea8-9409-217182b58846",
                    "tenantId": "pg",
                    "businessServiceId": "c798a157-b494-4b61-acb9-6c5923f2fc10",
                    "sla": 86400000,
                    "state": "PENDINGFORCORRECTION",
                    "applicationStatus": "SENT BACK",
                    "docUploadRequired": false,
                    "isStartState": false,
                    "isTerminateState": false,
                    "isStateUpdatable": true,
                    "actions": [
                        {
                            "auditDetails": {
                                "createdBy": "7e46e32c-187c-4fb4-9d6b-1ac70fa8f011",
                                "lastModifiedBy": "7e46e32c-187c-4fb4-9d6b-1ac70fa8f011",
                                "createdTime": 1678950370209,
                                "lastModifiedTime": 1678950370209
                            },
                            "uuid": "6228efd7-30c5-4bef-ae67-0c6517707b37",
                            "tenantId": "pg",
                            "currentState": "06da8fe1-1d68-4ea8-9409-217182b58846",
                            "action": "RE-SUBMITTED",
                            "nextState": "6cc0eebd-e9f5-485b-94cd-cd28e7733974",
                            "roles": [
                                "ESTIMATE_CREATOR"
                            ],
                            "active": true
                        },
                        {
                            "auditDetails": {
                                "createdBy": "7e46e32c-187c-4fb4-9d6b-1ac70fa8f011",
                                "lastModifiedBy": "7e46e32c-187c-4fb4-9d6b-1ac70fa8f011",
                                "createdTime": 1678950370209,
                                "lastModifiedTime": 1678950370209
                            },
                            "uuid": "fc711556-4849-4ca1-a47b-54f3facaac79",
                            "tenantId": "pg",
                            "currentState": "06da8fe1-1d68-4ea8-9409-217182b58846",
                            "action": "REJECT",
                            "nextState": "37615e97-0eba-4022-be8b-3feaf0bf4441",
                            "roles": [
                                "ESTIMATE_CREATOR"
                            ],
                            "active": true
                        }
                    ]
                },
                {
                    "auditDetails": {
                        "createdBy": "7e46e32c-187c-4fb4-9d6b-1ac70fa8f011",
                        "lastModifiedBy": "7e46e32c-187c-4fb4-9d6b-1ac70fa8f011",
                        "createdTime": 1678950370209,
                        "lastModifiedTime": 1678950370209
                    },
                    "uuid": "fcd34bba-9f52-4de6-9a16-2a50315cfb91",
                    "tenantId": "pg",
                    "businessServiceId": "c798a157-b494-4b61-acb9-6c5923f2fc10",
                    "sla": null,
                    "state": "APPROVED",
                    "applicationStatus": "APPROVED",
                    "docUploadRequired": false,
                    "isStartState": false,
                    "isTerminateState": true,
                    "isStateUpdatable": false,
                    "actions": null
                },
                {
                    "auditDetails": {
                        "createdBy": "7e46e32c-187c-4fb4-9d6b-1ac70fa8f011",
                        "lastModifiedBy": "7e46e32c-187c-4fb4-9d6b-1ac70fa8f011",
                        "createdTime": 1678950370209,
                        "lastModifiedTime": 1678950370209
                    },
                    "uuid": "37615e97-0eba-4022-be8b-3feaf0bf4441",
                    "tenantId": "pg",
                    "businessServiceId": "c798a157-b494-4b61-acb9-6c5923f2fc10",
                    "sla": null,
                    "state": "REJECTED",
                    "applicationStatus": "REJECTED",
                    "docUploadRequired": false,
                    "isStartState": false,
                    "isTerminateState": true,
                    "isStateUpdatable": false,
                    "actions": null
                }
            ],
            "auditDetails": {
                "createdBy": "7e46e32c-187c-4fb4-9d6b-1ac70fa8f011",
                "lastModifiedBy": "7e46e32c-187c-4fb4-9d6b-1ac70fa8f011",
                "createdTime": 1678950370209,
                "lastModifiedTime": 1678950370209
            }
        }
    ]
}'l

Revised Contract Workflow

"BusinessServices": [
  {
    "tenantId": "pg",
    "businessService": "CONTRACT-REVISION",
    "business": "contract-service",
    "businessServiceSla": 604800000,
    "states": [
      {
        "sla": null,
        "state": null,
        "applicationStatus": null,
        "docUploadRequired": false,
        "isStartState": true,
        "isTerminateState": false,
        "isStateUpdatable": true,
        "actions": [
          {
            "action": "CREATE",
            "nextState": "PENDING_FOR_VERIFICATION",
            "roles":</