{ "$schema": "http://json-schema.org/draft-07/schema#", "$id": "https://github.com/codevasp-lab/IVMS101/edit/main/json-schema.json", "title": "IVMS101 format by CODE travel rule protocol", "type": "object", "properties": { "Originator": { "$ref": "#/definitions/Originator" }, "Beneficiary": { "$ref": "#/definitions/Beneficiary" }, "OriginatingVASP": { "$ref": "#/definitions/OriginatingVASP" }, "BeneficiaryVASP": { "$ref": "#/definitions/BeneficiaryVASP" } }, "required": [ "Originator", "Beneficiary", "OriginatingVASP", "BeneficiaryVASP" ], "definitions": { "LocalNaturalPersonNameId": { "title": "LocalNaturalPersonNameId", "type": "object", "properties": { "primaryIdentifier": { "type": "string", "pattern": "^.{1,100}$" }, "secondaryIdentifier": { "type": "string", "pattern": "^.{0,100}$" }, "nameIdentifierType": { "title": "NaturalPersonNameTypeCode", "type": "string", "enum": [ "ALIA", "BIRT", "MAID", "LEGL", "MISC" ] } } }, "LocalLegalPersonNameId": { "title": "LocalLegalPersonNameId", "type": "object", "properties": { "legalPersonName": { "type": "string", "pattern": "^.{1,100}$" }, "legalPersonNameIdentifierType": { "title": "LegalPersonNameTypeCode", "type": "string", "enum": [ "LEGL", "SHRT", "TRAD" ] } } }, "Address": { "title": "Address", "type": "object", "properties": { "addressType": { "title": "AddressTypeCode", "type": "string", "enum": [ "HOME", "BIZZ", "GEOG" ] }, "department": { "type": "string", "pattern": "^.{1,50}$" }, "subDepartment": { "type": "string", "pattern": "^.{1,70}$" }, "streetName": { "type": "string", "pattern": "^.{1,70}$" }, "buildingNumber": { "type": "string" }, "buildingName": { "type": "string", "pattern": "^.{1,16}$" }, "floor": { "type": "string", "pattern": "^.{1,70}$" }, "postBox": { "type": "string", "pattern": "^.{1,16}$" }, "room": { "type": "string" }, "postCode": { "type": "string", "pattern": "^.{1,16}$" }, "townName": { "type": "string", "pattern": "^.{1,35}$" }, "townLocationName": { "type": "string", "pattern": "^.{1,35}$" }, "districtName": { "type": "string", "pattern": "^.{1,35}$" }, "countrySubDivision": { "type": "string", "pattern": "^.{1,35}$" }, "addressLine": { "type": "array", "items": { "type": "string", "pattern": "^.{1,70}$" } }, "country": { "type": "string", "pattern": "^[A-Z]{2}$" } } }, "NationalIdentification": { "title": "NationalIdentification", "type": "object", "properties": { "nationalIdentifier": { "type": "string", "pattern": "^.{1,35}$" }, "nationalIdentifierType": { "title": "NationalIdentifierTypeCode", "type": "string", "enum": [ "ARNU", "CCPT", "RAID", "DRLC", "FIIN", "TXID", "SOCS", "IDCD", "LEIX", "MISC" ] }, "countryOfIssue": { "type": "string", "pattern": "^[A-Z]{2}$" }, "registrationAuthority": { "type": "string", "pattern": "^RA([0-9]{6})$" } } }, "Person": { "title": "Person", "type": "object", "properties": { "naturalPerson": { "$ref": "#/definitions/NaturalPerson" }, "legalPerson": { "$ref": "#/definitions/LegalPerson" } } }, "NaturalPerson": { "title": "NaturalPerson", "type": "object", "properties": { "name": { "$ref": "#/definitions/NaturalPersonName" }, "geographicAddress": { "type": "array", "items": { "$ref": "#/definitions/Address" } }, "nationalIdentification": { "$ref": "#/definitions/NationalIdentification" }, "customerIdentification": { "type": "string", "pattern": "^.{1,50}$" }, "dateAndPlaceOfBirth": { "$ref": "#/definitions/DateAndPlaceOfBirth" }, "countryOfResidence": { "type": "string", "pattern": "^[A-Z]{2}$" } } }, "NaturalPersonName": { "title": "NaturalPersonName", "type": "object", "properties": { "nameIdentifier": { "type": "array", "items": { "$ref": "#/definitions/NaturalPersonNameId" } }, "localNameIdentifier": { "type": "array", "items": { "$ref": "#/definitions/LocalNaturalPersonNameId" } }, "phoneticNameIdentifier": { "type": "array", "items": { "$ref": "#/definitions/LocalNaturalPersonNameId" } } } }, "NaturalPersonNameId": { "title": "NaturalPersonNameId", "type": "object", "properties": { "primaryIdentifier": { "type": "string" }, "secondaryIdentifier": { "type": "string" }, "nameIdentifierType": { "title": "NaturalPersonNameTypeCode", "type": "string", "enum": [ "ALIA", "BIRT", "MAID", "LEGL", "MISC" ] } } }, "DateAndPlaceOfBirth": { "title": "DateAndPlaceOfBirth", "type": "object", "properties": { "dateOfBirth": { "type": "string", "pattern": "^([0-9]{4})-([0-9]{2})-([0-9]{2})$" }, "placeOfBirth": { "type": "string", "pattern": "^.{1,70}$" } } }, "LegalPerson": { "title": "LegalPerson", "type": "object", "properties": { "name": { "$ref": "#/definitions/LegalPersonName" }, "geographicAddress": { "type": "array", "items": { "$ref": "#/definitions/Address" } }, "customerNumber": { "type": "string", "pattern": "^.{1,50}$" }, "nationalIdentification": { "$ref": "#/definitions/NationalIdentification" }, "countryOfRegistration": { "type": "string", "pattern": "^[A-Z]{2}$" } }, "required": [ "name" ] }, "LegalPersonName": { "title": "LegalPersonName", "type": "object", "properties": { "nameIdentifier": { "type": "array", "items": { "$ref": "#/definitions/LegalPersonNameId" } }, "localNameIdentifier": { "type": "array", "items": { "$ref": "#/definitions/LocalLegalPersonNameId" } }, "phoneticNameIdentifier": { "type": "array", "items": { "$ref": "#/definitions/LocalLegalPersonNameId" } } }, "required": [ "nameIdentifier" ] }, "LegalPersonNameId": { "title": "LegalPersonNameId", "type": "object", "properties": { "legalPersonName": { "type": "string", "pattern": "^.{1,100}$" }, "legalPersonNameIdentifierType": { "title": "LegalPersonNameTypeCode", "type": "string", "enum": [ "LEGL", "SHRT", "TRAD" ] } } }, "Originator": { "title": "Originator", "type": "object", "properties": { "originatorPersons": { "type": "array", "items": { "$ref": "#/definitions/Person" } }, "accountNumber": { "type": "array", "items": { "type": "string" } } }, "required": [ "originatorPersons", "accountNumber" ] }, "Beneficiary": { "title": "Beneficiary", "type": "object", "properties": { "beneficiaryPersons": { "type": "array", "items": { "$ref": "#/definitions/Person" } }, "accountNumber": { "type": "array", "items": { "type": "string" } } }, "required": [ "beneficiaryPersons", "accountNumber" ] }, "OriginatingVASP": { "title": "OriginatingVASP", "type": "object", "properties": { "originatingVASP": { "$ref": "#/definitions/Person" } } }, "BeneficiaryVASP": { "title": "BeneficiaryVASP", "type": "object", "properties": { "beneficiaryVASP": { "$ref": "#/definitions/Person" } } }, "NaturalPersonNameTypeCode": { "title": "NaturalPersonNameTypeCode", "type": "string", "enum": [ "ALIA", "BIRT", "MAID", "LEGL", "MISC" ] }, "LegalPersonNameTypeCode": { "title": "LegalPersonNameTypeCode", "type": "string", "enum": [ "LEGL", "SHRT", "TRAD" ] }, "AddressTypeCode": { "title": "AddressTypeCode", "type": "string", "enum": [ "HOME", "BIZZ", "GEOG" ] }, "NationalIdentifierTypeCode": { "title": "NationalIdentifierTypeCode", "type": "string", "enum": [ "ARNU", "CCPT", "RAID", "DRLC", "FIIN", "TXID", "SOCS", "IDCD", "LEIX", "MISC" ] } } }