{
  "swagger" : "2.0",
  "info" : {
    "description" : "Create approve individual customer",
    "version" : "v1.0.0",
    "title" : "Individual customer"
  },
  "host" : "api.server.com",
  "basePath" : "/api/v1.0.0/",
  "tags" : [ {
    "name" : "RETAIL"
  } ],
  "schemes" : [ "http", "https" ],
  "security" : [ {
    "basicAuth" : [ ]
  }, {
    "apiKey" : [ ]
  } ],
  "paths" : {
    "/party/pe/customers/" : {
      "post" : {
        "tags" : [ "RETAIL" ],
        "summary" : "Create individual customer with all the basic details such as name, address, nationality etc.",
        "description" : "Create an individual customer",
        "operationId" : "createIndividualCustomer",
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "payload",
          "description" : "body Payload",
          "required" : true,
          "schema" : {
            "$ref" : "#/definitions/IndividualCustomer"
          }
        }, {
          "name" : "validate_only",
          "in" : "query",
          "description" : "The identifier to indicate if it is set to only validate or not.",
          "required" : false,
          "type" : "boolean"
        }, {
          "name" : "credentials",
          "in" : "header",
          "description" : "Username and password to authenticate the API against core-banking.",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "companyId",
          "in" : "header",
          "description" : "Identifier of the lead company of the underlying Entity/Company/Branch for the respective contract for customer data protection purposes. Example US0010001.",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "deviceId",
          "in" : "header",
          "description" : "Identifies the device type",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "userRole",
          "in" : "header",
          "description" : "User who initiated the transaction",
          "required" : false,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "IndividualCustomerResponse",
            "schema" : {
              "$ref" : "#/definitions/IndividualCustomerResponse"
            }
          },
          "default" : {
            "description" : "ScreenErrorResponse",
            "schema" : {
              "$ref" : "#/definitions/ScreenErrorResponse"
            }
          },
          "400" : {
            "description" : "BusinessScreenErrorResponse",
            "schema" : {
              "$ref" : "#/definitions/BusinessScreenErrorResponse"
            }
          },
          "500" : {
            "description" : "SystemScreenErrorResponse",
            "schema" : {
              "$ref" : "#/definitions/SystemScreenErrorResponse"
            }
          }
        }
      }
    },
    "/party/pe/customerApprovals/{customerId}" : {
      "put" : {
        "tags" : [ "RETAIL" ],
        "summary" : "Approve the individual customer which has been created.",
        "description" : "Approve the pending request to create individual customer",
        "operationId" : "approveIndividualCustomer",
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "customerId",
          "in" : "path",
          "required" : true,
          "type" : "string"
        }, {
          "name" : "credentials",
          "in" : "header",
          "description" : "Username and password to authenticate the API against core-banking.",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "companyId",
          "in" : "header",
          "description" : "Identifier of the lead company of the underlying Entity/Company/Branch for the respective contract for customer data protection purposes. Example US0010001.",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "deviceId",
          "in" : "header",
          "description" : "Identifies the device type",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "userRole",
          "in" : "header",
          "description" : "User who initiated the transaction",
          "required" : false,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "IndividualCustomerResponse",
            "schema" : {
              "$ref" : "#/definitions/IndividualCustomerResponse"
            }
          },
          "default" : {
            "description" : "ScreenErrorResponse",
            "schema" : {
              "$ref" : "#/definitions/ScreenErrorResponse"
            }
          },
          "400" : {
            "description" : "BusinessScreenErrorResponse",
            "schema" : {
              "$ref" : "#/definitions/BusinessScreenErrorResponse"
            }
          },
          "500" : {
            "description" : "SystemScreenErrorResponse",
            "schema" : {
              "$ref" : "#/definitions/SystemScreenErrorResponse"
            }
          }
        }
      }
    }
  },
  "securityDefinitions" : {
    "basicAuth" : {
      "type" : "basic"
    },
    "apiKey" : {
      "type" : "apiKey",
      "name" : "Authorization",
      "in" : "header"
    }
  },
  "definitions" : {
    "PayloadHeader" : {
      "properties" : {
        "override" : {
          "type" : "object",
          "properties" : {
            "overrideDetails" : {
              "type" : "array",
              "items" : {
                "type" : "object",
                "properties" : {
                  "id" : {
                    "type" : "string",
                    "description" : "The identifier of the override."
                  },
                  "description" : {
                    "type" : "string",
                    "description" : "The actual override message."
                  },
                  "code" : {
                    "type" : "string",
                    "description" : "The code related to override message."
                  },
                  "responseCode" : {
                    "type" : "string",
                    "description" : "The user input to accept/reject the override."
                  }
                }
              }
            }
          }
        },
        "audit" : {
          "type" : "object",
          "properties" : {
            "versionNumber" : {
              "type" : "string",
              "description" : "The CURR.NO. of the record"
            }
          }
        }
      }
    },
    "IndividualCustomer" : {
      "properties" : {
        "header" : {
          "$ref" : "#/definitions/PayloadHeader"
        },
        "body" : {
          "$ref" : "#/definitions/IndividualCustomerBody"
        }
      },
      "description" : "IndividualCustomer"
    },
    "IndividualCustomerBody" : {
      "type" : "object",
      "required" : [ "accountOfficerId", "dateOfBirth", "educationLevel", "employmentStatus", "exonerateItfTax", "fatherSurname", "firstName", "gender", "industry", "language", "legalDocumentName", "legalId", "motherSurname", "nationalityId", "occupation", "sectorId", "shortName", "smsNumber", "target" ],
      "properties" : {
        "mnemonic" : {
          "type" : "string",
          "description" : "Shortcut code for referring an Entity/Company/Branch.",
          "minLength" : 0,
          "maxLength" : 30
        },
        "firstName" : {
          "type" : "string",
          "description" : "Specifies customer's first name",
          "minLength" : 1,
          "maxLength" : 30
        },
        "customerNameAdditional" : {
          "type" : "string",
          "description" : "Continuation/Extension to the Customer Name.",
          "minLength" : 0,
          "maxLength" : 30
        },
        "fatherSurname" : {
          "type" : "string",
          "description" : "Contains the father surname of the customer",
          "minLength" : 1,
          "maxLength" : 30
        },
        "motherSurname" : {
          "type" : "string",
          "description" : "Contains the mothers surname of the customer",
          "minLength" : 1,
          "maxLength" : 30
        },
        "lastName" : {
          "type" : "string",
          "description" : "The last name of an individual customer",
          "minLength" : 0,
          "maxLength" : 30
        },
        "shortName" : {
          "type" : "string",
          "description" : "Contains the name of the account, basically the short title of the account.",
          "minLength" : 1,
          "maxLength" : 30
        },
        "gender" : {
          "type" : "string",
          "description" : "Gender of the Individual Customer",
          "minLength" : 1,
          "maxLength" : 30
        },
        "maritalStatus" : {
          "type" : "string",
          "description" : "Marital status of the customer",
          "minLength" : 0,
          "maxLength" : 30
        },
        "accountOfficerId" : {
          "type" : "string",
          "description" : "The identifier of the department head or specific account officer responsible for the customer",
          "minLength" : 1,
          "maxLength" : 30
        },
        "sectorId" : {
          "type" : "string",
          "description" : "An institution-defined identifier of the type of customer",
          "minLength" : 1,
          "maxLength" : 30
        },
        "industry" : {
          "type" : "string",
          "description" : "",
          "minLength" : 1,
          "maxLength" : 30
        },
        "target" : {
          "type" : "string",
          "description" : "Specifies how the Customer is considered by the bank and how he fits in with the Account Officer's overall marketing strategy",
          "minLength" : 1,
          "maxLength" : 30
        },
        "language" : {
          "type" : "string",
          "description" : "The language that the contents of the field are displayed in.",
          "minLength" : 1,
          "maxLength" : 30
        },
        "nationalityId" : {
          "type" : "string",
          "description" : "The identifier of the nationality of a customer",
          "minLength" : 1,
          "maxLength" : 30
        },
        "residenceId" : {
          "type" : "string",
          "description" : "The identifier of the country of residence of a customer",
          "minLength" : 0,
          "maxLength" : 30
        },
        "dateOfBirth" : {
          "type" : "string",
          "description" : "The date of birth of an individual customer",
          "minLength" : 1,
          "maxLength" : 30
        },
        "exonerateItfTax" : {
          "type" : "string",
          "description" : "Contains whether the Financial Tranactions Taxes (ITF tax) should be exempted or not. If this property is set to yes, the customer will be exempted from ITF tax for all the transactions.",
          "minLength" : 1,
          "maxLength" : 30
        },
        "customerStatus" : {
          "type" : "string",
          "description" : "The internal bank status of a customer",
          "minLength" : 0,
          "maxLength" : 30
        },
        "addressCountryId" : {
          "type" : "string",
          "description" : "Identifies the country of customer address",
          "minLength" : 0,
          "maxLength" : 30
        },
        "addressLocation" : {
          "type" : "string",
          "description" : "Identifies the nature of the postal address, like primary, secondary or office address",
          "minLength" : 0,
          "maxLength" : 30
        },
        "state" : {
          "type" : "string",
          "description" : "Represents a subdivision of a country such as state, region, country",
          "minLength" : 0,
          "maxLength" : 30
        },
        "locationName" : {
          "type" : "string",
          "description" : "Identifies specific location name with in the country or town",
          "minLength" : 0,
          "maxLength" : 30
        },
        "districtName" : {
          "type" : "string",
          "description" : "Stores the district name of the  Beneficiary Customer.",
          "minLength" : 0,
          "maxLength" : 30
        },
        "postCode" : {
          "type" : "string",
          "description" : "Identifies the address postal code for the customer.",
          "minLength" : 0,
          "maxLength" : 30
        },
        "direction" : {
          "type" : "string",
          "description" : "Indicates the direction of the Direct debit claim for which mandate is received. The claim can be 'Outward' i.e. Claim is sent to the other bank or 'Inward'  i.e. other bank submit their claim to debit our customer's account. ",
          "minLength" : 0,
          "maxLength" : 30
        },
        "street" : {
          "type" : "string",
          "description" : "Contains the first line of customer's base address, example building number, street number etc.",
          "minLength" : 0,
          "maxLength" : 30
        },
        "buildingName" : {
          "type" : "string",
          "description" : "Identifies the name of the building where customer resides",
          "minLength" : 0,
          "maxLength" : 30
        },
        "buildingNumber" : {
          "type" : "string",
          "description" : "Identifies the building number where customer resides",
          "minLength" : 0,
          "maxLength" : 30
        },
        "floorNumber" : {
          "type" : "string",
          "description" : "Contains the floor number of the customer address",
          "minLength" : 0,
          "maxLength" : 30
        },
        "reference" : {
          "type" : "string",
          "description" : "Indicates the transaction reference for which the history of transactions is requested. It is steered by the attribute 'booked' given the start date and end date or the entry from which the history is requested",
          "minLength" : 0,
          "maxLength" : 30
        },
        "updatedAddress" : {
          "type" : "string",
          "description" : "Contains the mother surname",
          "minLength" : 0,
          "maxLength" : 30
        },
        "addressVerifier" : {
          "type" : "string",
          "description" : "Contains the party or service which was used for address confirmation purposes",
          "minLength" : 0,
          "maxLength" : 30
        },
        "phoneNumber" : {
          "type" : "string",
          "description" : "The phone number of the customer or prospect",
          "minLength" : 0,
          "maxLength" : 30
        },
        "smsNumber" : {
          "type" : "string",
          "description" : "The mobile SMS number of the customer",
          "minLength" : 1,
          "maxLength" : 30
        },
        "email" : {
          "type" : "string",
          "description" : "Email Identifier of the Customer",
          "minLength" : 0,
          "maxLength" : 30
        },
        "officePhoneNumber" : {
          "type" : "string",
          "description" : "The office phone number of the customer",
          "minLength" : 0,
          "maxLength" : 30
        },
        "faxId" : {
          "type" : "string",
          "description" : "The fax (facsimile) number of the customer",
          "minLength" : 0,
          "maxLength" : 30
        },
        "contactType" : {
          "type" : "string",
          "description" : "Types of contacts available to users to communicate",
          "minLength" : 0,
          "maxLength" : 30
        },
        "contactData" : {
          "type" : "string",
          "description" : "Indicates the contact data of customer used for communication such as phone or mobile or e-mail address.",
          "minLength" : 0,
          "maxLength" : 30
        },
        "iddPrefixPhone" : {
          "type" : "string",
          "description" : "Identifies the international calling prefix code of the phone or mobile number.",
          "minLength" : 0,
          "maxLength" : 30
        },
        "isSecureMessage" : {
          "type" : "string",
          "description" : "If 'Yes', then the customer will receive a SECURE message.",
          "minLength" : 0,
          "maxLength" : 30
        },
        "legalDocumentName" : {
          "type" : "string",
          "description" : "Name of the legal documents such as passport, driving licence etc., provided as identification proof",
          "minLength" : 1,
          "maxLength" : 30
        },
        "legalId" : {
          "type" : "string",
          "description" : "Unique reference number of the legal documents submitted as identification proof",
          "minLength" : 1,
          "maxLength" : 30
        },
        "holderName" : {
          "type" : "string",
          "description" : "Identifies the Name of the  joint, substantial or beneficial owner",
          "minLength" : 0,
          "maxLength" : 30
        },
        "issuedBy" : {
          "type" : "string",
          "description" : "The issuer of a security or a bond.",
          "minLength" : 0,
          "maxLength" : 30
        },
        "issueDate" : {
          "type" : "string",
          "description" : "The date the item was issued.",
          "minLength" : 0,
          "maxLength" : 30
        },
        "legalExpiredDate" : {
          "type" : "string",
          "description" : "Expiry date of the legal document submitted as proof",
          "minLength" : 0,
          "maxLength" : 30
        },
        "relation" : {
          "type" : "string",
          "description" : "Identifies the inter-relationship between customer with other customers",
          "minLength" : 0,
          "maxLength" : 30
        },
        "jointCustomer" : {
          "type" : "string",
          "description" : "Joint or related customer id",
          "minLength" : 0,
          "maxLength" : 30
        },
        "reverseJointRelationCode" : {
          "type" : "string",
          "description" : "Relationship code for the Related Customer",
          "minLength" : 0,
          "maxLength" : 30
        },
        "jointRelationDeliveryOption" : {
          "type" : "string",
          "description" : "This is used to specify what delivery addressing is to be used for the link customer. ",
          "minLength" : 0,
          "maxLength" : 30
        },
        "role" : {
          "type" : "string",
          "description" : "Indicates the Role of the Customer",
          "minLength" : 0,
          "maxLength" : 30
        },
        "jointRelationRoleId" : {
          "type" : "string",
          "description" : "Role of joint customer with the main customer",
          "minLength" : 0,
          "maxLength" : 30
        },
        "jointRelationRoleNote" : {
          "type" : "string",
          "description" : "Additional notes about the role",
          "minLength" : 0,
          "maxLength" : 30
        },
        "bankRelation" : {
          "type" : "string",
          "description" : "Contains the father surname of the customer",
          "minLength" : 0,
          "maxLength" : 30
        },
        "customerLiability" : {
          "type" : "string",
          "description" : "Indicates the customer consolidation number for credit grouping purposes, within the same branch/country.",
          "minLength" : 0,
          "maxLength" : 30
        },
        "employmentStatus" : {
          "type" : "string",
          "description" : "Identifies the employment status of the customer",
          "minLength" : 1,
          "maxLength" : 30
        },
        "educationLevel" : {
          "type" : "string",
          "description" : "Denotes the clients's education Level.Possible Values : Degree, Diploma, A Level, O Level, Post Graduate, 0 - None, 1 - Not Defined, 2 - High School, 3 - Graduate, 4 - Post Graduate",
          "minLength" : 1,
          "maxLength" : 30
        },
        "occupation" : {
          "type" : "string",
          "description" : "Occupation of the customer",
          "minLength" : 1,
          "maxLength" : 30
        },
        "employerName" : {
          "type" : "string",
          "description" : "Name of the customer's employer",
          "minLength" : 0,
          "maxLength" : 30
        },
        "lineOfBusiness" : {
          "type" : "string",
          "description" : "Contains the line of business in which the activity was performed. If pricing is not determined based on line of business, then this is not significant",
          "minLength" : 0,
          "maxLength" : 30
        },
        "employerAddress" : {
          "type" : "string",
          "description" : "The address of the customer's employer.",
          "minLength" : 0,
          "maxLength" : 30
        },
        "employStartDate" : {
          "type" : "string",
          "description" : "Starting date of the customer's employment",
          "minLength" : 0,
          "maxLength" : 30
        },
        "legalDocumentNameOfEmployer" : {
          "type" : "string",
          "description" : "Contains the mothers surname of the customer",
          "minLength" : 0,
          "maxLength" : 30
        },
        "legalIdOfEmployer" : {
          "type" : "string",
          "description" : "Contains whether the Financial Tranactions Taxes (ITF tax) should be exempted or not. If this property is set to yes, the customer will be exempted from ITF tax for all the transactions.",
          "minLength" : 0,
          "maxLength" : 30
        },
        "interest" : {
          "type" : "string",
          "description" : "Interest amount",
          "minLength" : 0,
          "maxLength" : 30
        },
        "residenceStatus" : {
          "type" : "string",
          "description" : "Residence Status of the Customer for CRM purpose like Owner, Tenant, Householder, Nester etc.",
          "minLength" : 0,
          "maxLength" : 30
        },
        "residenceType" : {
          "type" : "string",
          "description" : "Residence type of the customer like Farmhouse, Independent house, Residential Apartment, Serviced Apartments",
          "minLength" : 0,
          "maxLength" : 30
        },
        "residenceSince" : {
          "type" : "string",
          "description" : "The date since the user has obtained the residence.",
          "minLength" : 0,
          "maxLength" : 30
        },
        "residenceValue" : {
          "type" : "string",
          "description" : "Market Value of the customer's residence",
          "minLength" : 0,
          "maxLength" : 30
        },
        "residenceMortgageValue" : {
          "type" : "string",
          "description" : "Mortgage value of the residence property of the customer",
          "minLength" : 0,
          "maxLength" : 30
        },
        "exitStatus" : {
          "type" : "string",
          "description" : "The field reflects the customer exit status of a customer or prospect",
          "minLength" : 0,
          "maxLength" : 30
        },
        "exitDate" : {
          "type" : "string",
          "description" : "The field reflects the customer exit date of the customer or prospect",
          "minLength" : 0,
          "maxLength" : 30
        },
        "exitReason" : {
          "type" : "string",
          "description" : "The field reflects the customer exit reason of the customer or prospect",
          "minLength" : 0,
          "maxLength" : 30
        },
        "manualRiskClass" : {
          "type" : "string",
          "description" : "Customer's risk class updated manually by the User overriding the risk class calculated by the KYC process",
          "minLength" : 0,
          "maxLength" : 30
        },
        "consentType" : {
          "type" : "string",
          "description" : "Consent Type for which the consent is given",
          "minLength" : 0,
          "maxLength" : 30
        },
        "consentChannel" : {
          "type" : "string",
          "description" : "Contains whether the Financial Tranactions Taxes (ITF tax) should be exempted or not. If this property is set to yes, the customer will be exempted from ITF tax for all the transactions.",
          "minLength" : 0,
          "maxLength" : 30
        }
      }
    },
    "ScreenHeader" : {
      "properties" : {
        "id" : {
          "type" : "string",
          "description" : "The Identifier of the record created"
        },
        "status" : {
          "type" : "string",
          "description" : "Status of the API(success/failed)"
        },
        "transactionStatus" : {
          "type" : "string",
          "description" : "The status of the transaction"
        },
        "uniqueIdentifier" : {
          "type" : "string",
          "description" : "The unique identifier/Message Reference of the record created."
        },
        "audit" : {
          "type" : "object",
          "properties" : {
            "T24_time" : {
              "type" : "integer",
              "format" : "int32",
              "description" : "Time taken to response by Transact"
            },
            "versionNumber" : {
              "type" : "string",
              "description" : "The CURR.NO. of the record"
            },
            "requestParse_time" : {
              "type" : "number",
              "description" : "Time taken to parse the request by IRIS"
            },
            "responseParse_time" : {
              "type" : "number",
              "description" : "Time taken to parse the response by IRIS"
            }
          }
        }
      }
    },
    "IndividualCustomerResponse" : {
      "properties" : {
        "header" : {
          "$ref" : "#/definitions/ScreenHeader"
        },
        "body" : {
          "$ref" : "#/definitions/IndividualCustomerResponseBody"
        }
      },
      "description" : "IndividualCustomerResponse"
    },
    "IndividualCustomerResponseBody" : {
      "type" : "object",
      "properties" : {
        "mnemonic" : {
          "type" : "string",
          "description" : "Shortcut code for referring an Entity/Company/Branch.",
          "minLength" : 0,
          "maxLength" : 30
        },
        "firstName" : {
          "type" : "string",
          "description" : "Specifies customer's first name",
          "minLength" : 1,
          "maxLength" : 30
        },
        "customerNameAdditional" : {
          "type" : "string",
          "description" : "Continuation/Extension to the Customer Name.",
          "minLength" : 0,
          "maxLength" : 30
        },
        "fatherSurname" : {
          "type" : "string",
          "description" : "Contains the father surname of the customer",
          "minLength" : 1,
          "maxLength" : 30
        },
        "motherSurname" : {
          "type" : "string",
          "description" : "Contains the mothers surname of the customer",
          "minLength" : 1,
          "maxLength" : 30
        },
        "lastName" : {
          "type" : "string",
          "description" : "The last name of an individual customer",
          "minLength" : 0,
          "maxLength" : 30
        },
        "shortName" : {
          "type" : "string",
          "description" : "Contains the name of the account, basically the short title of the account.",
          "minLength" : 1,
          "maxLength" : 30
        },
        "gender" : {
          "type" : "string",
          "description" : "Gender of the Individual Customer",
          "minLength" : 1,
          "maxLength" : 30
        },
        "maritalStatus" : {
          "type" : "string",
          "description" : "Marital status of the customer",
          "minLength" : 0,
          "maxLength" : 30
        },
        "accountOfficerId" : {
          "type" : "string",
          "description" : "The identifier of the department head or specific account officer responsible for the customer",
          "minLength" : 1,
          "maxLength" : 30
        },
        "sectorId" : {
          "type" : "string",
          "description" : "An institution-defined identifier of the type of customer",
          "minLength" : 1,
          "maxLength" : 30
        },
        "industry" : {
          "type" : "string",
          "description" : "",
          "minLength" : 1,
          "maxLength" : 30
        },
        "target" : {
          "type" : "string",
          "description" : "Specifies how the Customer is considered by the bank and how he fits in with the Account Officer's overall marketing strategy",
          "minLength" : 1,
          "maxLength" : 30
        },
        "language" : {
          "type" : "string",
          "description" : "The language that the contents of the field are displayed in.",
          "minLength" : 1,
          "maxLength" : 30
        },
        "nationalityId" : {
          "type" : "string",
          "description" : "The identifier of the nationality of a customer",
          "minLength" : 1,
          "maxLength" : 30
        },
        "residenceId" : {
          "type" : "string",
          "description" : "The identifier of the country of residence of a customer",
          "minLength" : 0,
          "maxLength" : 30
        },
        "dateOfBirth" : {
          "type" : "string",
          "description" : "The date of birth of an individual customer",
          "minLength" : 1,
          "maxLength" : 30
        },
        "exonerateItfTax" : {
          "type" : "string",
          "description" : "Contains whether the Financial Tranactions Taxes (ITF tax) should be exempted or not. If this property is set to yes, the customer will be exempted from ITF tax for all the transactions.",
          "minLength" : 1,
          "maxLength" : 30
        },
        "contactDate" : {
          "type" : "string",
          "description" : "Date that first contact was made with the Customer.",
          "minLength" : 0,
          "maxLength" : 30
        },
        "customerStatus" : {
          "type" : "string",
          "description" : "The internal bank status of a customer",
          "minLength" : 0,
          "maxLength" : 30
        },
        "addressCountryId" : {
          "type" : "string",
          "description" : "Identifies the country of customer address",
          "minLength" : 0,
          "maxLength" : 30
        },
        "addressLocation" : {
          "type" : "string",
          "description" : "Identifies the nature of the postal address, like primary, secondary or office address",
          "minLength" : 0,
          "maxLength" : 30
        },
        "state" : {
          "type" : "string",
          "description" : "Represents a subdivision of a country such as state, region, country",
          "minLength" : 0,
          "maxLength" : 30
        },
        "locationName" : {
          "type" : "string",
          "description" : "Identifies specific location name with in the country or town",
          "minLength" : 0,
          "maxLength" : 30
        },
        "districtName" : {
          "type" : "string",
          "description" : "Stores the district name of the  Beneficiary Customer.",
          "minLength" : 0,
          "maxLength" : 30
        },
        "postCode" : {
          "type" : "string",
          "description" : "Identifies the address postal code for the customer.",
          "minLength" : 0,
          "maxLength" : 30
        },
        "direction" : {
          "type" : "string",
          "description" : "Indicates the direction of the Direct debit claim for which mandate is received. The claim can be 'Outward' i.e. Claim is sent to the other bank or 'Inward'  i.e. other bank submit their claim to debit our customer's account. ",
          "minLength" : 0,
          "maxLength" : 30
        },
        "street" : {
          "type" : "string",
          "description" : "Contains the first line of customer's base address, example building number, street number etc.",
          "minLength" : 0,
          "maxLength" : 30
        },
        "buildingName" : {
          "type" : "string",
          "description" : "Identifies the name of the building where customer resides",
          "minLength" : 0,
          "maxLength" : 30
        },
        "buildingNumber" : {
          "type" : "string",
          "description" : "Identifies the building number where customer resides",
          "minLength" : 0,
          "maxLength" : 30
        },
        "floorNumber" : {
          "type" : "string",
          "description" : "Contains the floor number of the customer address",
          "minLength" : 0,
          "maxLength" : 30
        },
        "reference" : {
          "type" : "string",
          "description" : "Indicates the transaction reference for which the history of transactions is requested. It is steered by the attribute 'booked' given the start date and end date or the entry from which the history is requested",
          "minLength" : 0,
          "maxLength" : 30
        },
        "updatedAddress" : {
          "type" : "string",
          "description" : "Contains the mother surname",
          "minLength" : 0,
          "maxLength" : 30
        },
        "addressVerifier" : {
          "type" : "string",
          "description" : "Contains the party or service which was used for address confirmation purposes",
          "minLength" : 0,
          "maxLength" : 30
        },
        "phoneNumber" : {
          "type" : "string",
          "description" : "The phone number of the customer or prospect",
          "minLength" : 0,
          "maxLength" : 30
        },
        "smsNumber" : {
          "type" : "string",
          "description" : "The mobile SMS number of the customer",
          "minLength" : 1,
          "maxLength" : 30
        },
        "email" : {
          "type" : "string",
          "description" : "Email Identifier of the Customer",
          "minLength" : 0,
          "maxLength" : 30
        },
        "officePhoneNumber" : {
          "type" : "string",
          "description" : "The office phone number of the customer",
          "minLength" : 0,
          "maxLength" : 30
        },
        "faxId" : {
          "type" : "string",
          "description" : "The fax (facsimile) number of the customer",
          "minLength" : 0,
          "maxLength" : 30
        },
        "contactType" : {
          "type" : "string",
          "description" : "Types of contacts available to users to communicate",
          "minLength" : 0,
          "maxLength" : 30
        },
        "contactData" : {
          "type" : "string",
          "description" : "Indicates the contact data of customer used for communication such as phone or mobile or e-mail address.",
          "minLength" : 0,
          "maxLength" : 30
        },
        "iddPrefixPhone" : {
          "type" : "string",
          "description" : "Identifies the international calling prefix code of the phone or mobile number.",
          "minLength" : 0,
          "maxLength" : 30
        },
        "isSecureMessage" : {
          "type" : "string",
          "description" : "If 'Yes', then the customer will receive a SECURE message.",
          "minLength" : 0,
          "maxLength" : 30
        },
        "legalDocumentName" : {
          "type" : "string",
          "description" : "Name of the legal documents such as passport, driving licence etc., provided as identification proof",
          "minLength" : 1,
          "maxLength" : 30
        },
        "legalId" : {
          "type" : "string",
          "description" : "Unique reference number of the legal documents submitted as identification proof",
          "minLength" : 1,
          "maxLength" : 30
        },
        "holderName" : {
          "type" : "string",
          "description" : "Identifies the Name of the  joint, substantial or beneficial owner",
          "minLength" : 0,
          "maxLength" : 30
        },
        "issuedBy" : {
          "type" : "string",
          "description" : "The issuer of a security or a bond.",
          "minLength" : 0,
          "maxLength" : 30
        },
        "issueDate" : {
          "type" : "string",
          "description" : "The date the item was issued.",
          "minLength" : 0,
          "maxLength" : 30
        },
        "legalExpiredDate" : {
          "type" : "string",
          "description" : "Expiry date of the legal document submitted as proof",
          "minLength" : 0,
          "maxLength" : 30
        },
        "relation" : {
          "type" : "string",
          "description" : "Identifies the inter-relationship between customer with other customers",
          "minLength" : 0,
          "maxLength" : 30
        },
        "jointCustomer" : {
          "type" : "string",
          "description" : "Joint or related customer id",
          "minLength" : 0,
          "maxLength" : 30
        },
        "reverseJointRelationCode" : {
          "type" : "string",
          "description" : "Relationship code for the Related Customer",
          "minLength" : 0,
          "maxLength" : 30
        },
        "jointRelationDeliveryOption" : {
          "type" : "string",
          "description" : "This is used to specify what delivery addressing is to be used for the link customer. ",
          "minLength" : 0,
          "maxLength" : 30
        },
        "role" : {
          "type" : "string",
          "description" : "Indicates the Role of the Customer",
          "minLength" : 0,
          "maxLength" : 30
        },
        "jointRelationRoleId" : {
          "type" : "string",
          "description" : "Role of joint customer with the main customer",
          "minLength" : 0,
          "maxLength" : 30
        },
        "jointRelationRoleNote" : {
          "type" : "string",
          "description" : "Additional notes about the role",
          "minLength" : 0,
          "maxLength" : 30
        },
        "bankRelation" : {
          "type" : "string",
          "description" : "Contains the father surname of the customer",
          "minLength" : 0,
          "maxLength" : 30
        },
        "customerLiability" : {
          "type" : "string",
          "description" : "Indicates the customer consolidation number for credit grouping purposes, within the same branch/country.",
          "minLength" : 0,
          "maxLength" : 30
        },
        "employmentStatus" : {
          "type" : "string",
          "description" : "Identifies the employment status of the customer",
          "minLength" : 1,
          "maxLength" : 30
        },
        "educationLevel" : {
          "type" : "string",
          "description" : "Denotes the clients's education Level.Possible Values : Degree, Diploma, A Level, O Level, Post Graduate, 0 - None, 1 - Not Defined, 2 - High School, 3 - Graduate, 4 - Post Graduate",
          "minLength" : 1,
          "maxLength" : 30
        },
        "occupation" : {
          "type" : "string",
          "description" : "Occupation of the customer",
          "minLength" : 1,
          "maxLength" : 30
        },
        "employerName" : {
          "type" : "string",
          "description" : "Name of the customer's employer",
          "minLength" : 0,
          "maxLength" : 30
        },
        "lineOfBusiness" : {
          "type" : "string",
          "description" : "Contains the line of business in which the activity was performed. If pricing is not determined based on line of business, then this is not significant",
          "minLength" : 0,
          "maxLength" : 30
        },
        "employerAddress" : {
          "type" : "string",
          "description" : "The address of the customer's employer.",
          "minLength" : 0,
          "maxLength" : 30
        },
        "employStartDate" : {
          "type" : "string",
          "description" : "Starting date of the customer's employment",
          "minLength" : 0,
          "maxLength" : 30
        },
        "legalDocumentNameOfEmployer" : {
          "type" : "string",
          "description" : "Contains the mothers surname of the customer",
          "minLength" : 0,
          "maxLength" : 30
        },
        "legalIdOfEmployer" : {
          "type" : "string",
          "description" : "Contains whether the Financial Tranactions Taxes (ITF tax) should be exempted or not. If this property is set to yes, the customer will be exempted from ITF tax for all the transactions.",
          "minLength" : 0,
          "maxLength" : 30
        },
        "interest" : {
          "type" : "string",
          "description" : "Interest amount",
          "minLength" : 0,
          "maxLength" : 30
        },
        "residenceStatus" : {
          "type" : "string",
          "description" : "Residence Status of the Customer for CRM purpose like Owner, Tenant, Householder, Nester etc.",
          "minLength" : 0,
          "maxLength" : 30
        },
        "residenceType" : {
          "type" : "string",
          "description" : "Residence type of the customer like Farmhouse, Independent house, Residential Apartment, Serviced Apartments",
          "minLength" : 0,
          "maxLength" : 30
        },
        "residenceSince" : {
          "type" : "string",
          "description" : "The date since the user has obtained the residence.",
          "minLength" : 0,
          "maxLength" : 30
        },
        "residenceValue" : {
          "type" : "string",
          "description" : "Market Value of the customer's residence",
          "minLength" : 0,
          "maxLength" : 30
        },
        "residenceMortgageValue" : {
          "type" : "string",
          "description" : "Mortgage value of the residence property of the customer",
          "minLength" : 0,
          "maxLength" : 30
        },
        "exitStatus" : {
          "type" : "string",
          "description" : "The field reflects the customer exit status of a customer or prospect",
          "minLength" : 0,
          "maxLength" : 30
        },
        "exitDate" : {
          "type" : "string",
          "description" : "The field reflects the customer exit date of the customer or prospect",
          "minLength" : 0,
          "maxLength" : 30
        },
        "exitReason" : {
          "type" : "string",
          "description" : "The field reflects the customer exit reason of the customer or prospect",
          "minLength" : 0,
          "maxLength" : 30
        },
        "manualRiskClass" : {
          "type" : "string",
          "description" : "Customer's risk class updated manually by the User overriding the risk class calculated by the KYC process",
          "minLength" : 0,
          "maxLength" : 30
        },
        "consentType" : {
          "type" : "string",
          "description" : "Consent Type for which the consent is given",
          "minLength" : 0,
          "maxLength" : 30
        },
        "consentChannel" : {
          "type" : "string",
          "description" : "Contains whether the Financial Tranactions Taxes (ITF tax) should be exempted or not. If this property is set to yes, the customer will be exempted from ITF tax for all the transactions.",
          "minLength" : 0,
          "maxLength" : 30
        }
      }
    },
    "ErrorHeader" : {
      "properties" : {
        "id" : {
          "type" : "string",
          "description" : "The Identifier of the record created"
        },
        "status" : {
          "type" : "string",
          "description" : "Status of the API(success/failed)"
        },
        "transactionStatus" : {
          "type" : "string",
          "description" : "The status of the transaction"
        },
        "uniqueIdentifier" : {
          "type" : "string",
          "description" : "The unique identifier/Message Reference of the record created."
        },
        "audit" : {
          "type" : "object",
          "properties" : {
            "T24_time" : {
              "type" : "integer",
              "format" : "int32",
              "description" : "Time taken to response by Transact"
            },
            "versionNumber" : {
              "type" : "string",
              "description" : "The CURR.NO. of the record"
            },
            "requestParse_time" : {
              "type" : "number",
              "description" : "Time taken to parse the request by IRIS"
            },
            "responseParse_time" : {
              "type" : "number",
              "description" : "Time taken to parse the response by IRIS"
            }
          }
        }
      }
    },
    "overrideBody" : {
      "properties" : {
        "overrideDetails" : {
          "type" : "array",
          "items" : {
            "type" : "object",
            "properties" : {
              "id" : {
                "type" : "string",
                "description" : "The identifier of the override."
              },
              "description" : {
                "type" : "string",
                "description" : "The actual override message."
              },
              "code" : {
                "type" : "string",
                "description" : "The code related to override message."
              },
              "options" : {
                "type" : "array",
                "description" : "The usable options for the override.",
                "items" : {
                  "type" : "string"
                }
              },
              "type" : {
                "type" : "string",
                "description" : "The type of the override."
              }
            }
          }
        }
      }
    },
    "ScreenErrorResponse" : {
      "properties" : {
        "header" : {
          "$ref" : "#/definitions/ErrorHeader"
        },
        "error" : {
          "$ref" : "#/definitions/ScreenErrorResponseBody"
        },
        "override" : {
          "$ref" : "#/definitions/overrideBody"
        }
      },
      "description" : "ScreenErrorResponse"
    },
    "ScreenErrorResponseBody" : {
      "type" : "object",
      "properties" : {
        "errorDetails" : {
          "type" : "array",
          "items" : {
            "type" : "object",
            "properties" : {
              "fieldName" : {
                "type" : "string",
                "description" : "The name of the field"
              },
              "code" : {
                "type" : "string",
                "description" : "The identifier of the error message"
              },
              "message" : {
                "type" : "string",
                "description" : "The actual Transact error message "
              }
            }
          }
        },
        "type" : {
          "type" : "string",
          "description" : "The identifier of error type: "
        }
      }
    },
    "BusinessScreenErrorResponse" : {
      "properties" : {
        "header" : {
          "$ref" : "#/definitions/ErrorHeader"
        },
        "error" : {
          "$ref" : "#/definitions/BusinessScreenErrorResponseBody"
        },
        "override" : {
          "$ref" : "#/definitions/overrideBody"
        }
      },
      "description" : "BusinessScreenErrorResponse"
    },
    "BusinessScreenErrorResponseBody" : {
      "type" : "object",
      "properties" : {
        "errorDetails" : {
          "type" : "array",
          "items" : {
            "type" : "object",
            "properties" : {
              "fieldName" : {
                "type" : "string",
                "description" : "The name of the field"
              },
              "code" : {
                "type" : "string",
                "description" : "The identifier of the error message"
              },
              "message" : {
                "type" : "string",
                "description" : "The actual Transact error message for bad requests"
              }
            }
          }
        },
        "type" : {
          "type" : "string",
          "description" : "The identifier of error type: Business"
        }
      }
    },
    "SystemScreenErrorResponse" : {
      "properties" : {
        "header" : {
          "$ref" : "#/definitions/ErrorHeader"
        },
        "error" : {
          "$ref" : "#/definitions/SystemScreenErrorResponseBody"
        },
        "override" : {
          "$ref" : "#/definitions/overrideBody"
        }
      },
      "description" : "SystemScreenErrorResponse"
    },
    "SystemScreenErrorResponseBody" : {
      "type" : "object",
      "properties" : {
        "errorDetails" : {
          "type" : "array",
          "items" : {
            "type" : "object",
            "properties" : {
              "fieldName" : {
                "type" : "string",
                "description" : "The name of the field"
              },
              "code" : {
                "type" : "string",
                "description" : "The identifier of the error message"
              },
              "message" : {
                "type" : "string",
                "description" : "The actual Transact error message caused by server"
              }
            }
          }
        },
        "type" : {
          "type" : "string",
          "description" : "The identifier of error type: System"
        }
      }
    }
  }
}