diff --git a/manifest.json b/manifest.json index 2327682e78d4cf129945283f062ba98b60d4e0e5..03d9deca04c34f736e15486b3a27178e150f5fab 100644 --- a/manifest.json +++ b/manifest.json @@ -433,11 +433,11 @@ }, { "name": "@cef-ebsi/vcdm1.1-vid-natural-person-schema", - "version": "2.0.0", + "version": "3.0.0", "title": "Person Identification Data for the Natural Person", "description": "Reference: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=OJ:L_202402977", - "idBase16": "0xe3e90a1c428ccd10ce9032b36a80a09418d5473ca1360fc74e34c01309e20170", - "idBase58": "zGLfedERtyuyRvhGdWHNE3QGx2u42iqGTecswfg6WdrdM", + "idBase16": "0x17af0f7ed1b62ce4ca985495e59725e3cb90a3a53eaf7b6e6b70eef9c2d1320c", + "idBase58": "z2bTCgjmBDY5kwNWGL3hfSQUZP6d8AZUnLFXe8coTa3zK", "file": "schemas/vcdm1.1/vid/natural-person/schema.json", "vcdm": "1.1", "verification": "Documents", @@ -529,11 +529,11 @@ }, { "name": "@cef-ebsi/vcdm2.0-vid-natural-person-schema", - "version": "2.0.0", + "version": "3.0.0", "title": "Person Identification Data for the Natural Person", "description": "Reference: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=OJ:L_202402977", - "idBase16": "0xa6c60f3f2bca61dda2c4e8ff1b4dd1ad16231663f87bb63bc6392b051f8a30fc", - "idBase58": "zCE1qsru5EFwBp1xCsLJYi5ZkVw7c9CxywxWA6HPw5E51", + "idBase16": "0x1545bf559f8570a0d6789ebdbd29bcd65e3b532b75ac9cf110b30d4b474b085b", + "idBase58": "z2S3FJb44vvWZoD9iqBYJ74jwDCHRx8vzPGghpAVn399C", "file": "schemas/vcdm2.0/vid/natural-person/schema.json", "vcdm": "2.0", "verification": "Documents", diff --git a/schemas/vcdm1.1/vid/natural-person/CHANGELOG.md b/schemas/vcdm1.1/vid/natural-person/CHANGELOG.md index 3792064532611f3da4dc1d96f747129bba1c72eb..069a176eecc3a44b817d235abb633f9ca64aa06e 100644 --- a/schemas/vcdm1.1/vid/natural-person/CHANGELOG.md +++ b/schemas/vcdm1.1/vid/natural-person/CHANGELOG.md @@ -1,5 +1,11 @@ # @cef-ebsi/vcdm1.1-vid-natural-person-schema +## 3.0.0 + +### Major Changes + +- eb64397: Refactor schema properties, align identifiers with https://eur-lex.europa.eu/eli/reg_impl/2024/2977/oj. + ## 2.0.0 ### Major Changes diff --git a/schemas/vcdm1.1/vid/natural-person/README.md b/schemas/vcdm1.1/vid/natural-person/README.md index cf97886d21d56a66357e65711103778930ac47d0..4bd73fd15f5530cec0b8f4837223ef707d6f9f68 100644 --- a/schemas/vcdm1.1/vid/natural-person/README.md +++ b/schemas/vcdm1.1/vid/natural-person/README.md @@ -8,8 +8,8 @@ The schema is published to the [Trusted Schemas Registry](https://hub.ebsi.eu/apis/pilot/trusted-schemas-registry) with the IDs: -- `0xe3e90a1c428ccd10ce9032b36a80a09418d5473ca1360fc74e34c01309e20170` (hexadecimal) -- `zGLfedERtyuyRvhGdWHNE3QGx2u42iqGTecswfg6WdrdM` (multibase base58btc) +- `0x17af0f7ed1b62ce4ca985495e59725e3cb90a3a53eaf7b6e6b70eef9c2d1320c` (hexadecimal) +- `z2bTCgjmBDY5kwNWGL3hfSQUZP6d8AZUnLFXe8coTa3zK` (multibase base58btc) ## Table of Contents @@ -32,642 +32,644 @@ The schema is published to the [Trusted Schemas Registry](https://hub.ebsi.eu/ap }, { "type": "object", - "required": ["expiryDate"], "properties": { - "expiryDate": { - "type": "string", - "format": "date-time", - "description": "Date (and if possible time) when the person identification data will expire." - }, - "documentNumber": { - "type": "string", - "description": "A number for the person identification data, assigned by the provider of person identification data.", - "nullable": true - }, - "issuer": { - "type": "object", - "properties": { - "issuingAuthority": { - "type": "string", - "description": "Name of the administrative authority that issued the person identification data, or the ISO 3166 alpha-2 country code of the respective Member State if there is no separate authority entitled to issue person identification data." - }, - "issuingCountry": { - "type": "string", - "pattern": "^[A-Z]{2}$", - "description": "Alpha-2 country code, as specified in ISO 3166-1, of the country or territory of the provider of the person identification data." - }, - "issuingJurisdiction": { - "type": "string", - "pattern": "^[A-Z]{2}(-[A-Za-z0-9]{1,3})?$", - "description": "Country subdivision code of the jurisdiction that issued the person identification data, as specified in ISO 3166-2:2020, Clause 8. The first part of the code shall be the same as the value for the issuing country.", - "nullable": true - }, - "locationStatus": { - "type": "string", - "description": "The location of validity status information on the person identification data where the providers of person identification data revoke person identification data.", - "nullable": true - } - }, - "required": ["issuingAuthority", "issuingCountry"] - }, "credentialSubject": { "type": "object", "properties": { - "familyName": { - "type": "string", - "description": "Current last name(s) or surname(s) of the user to whom the person identification data relates.", - "minLength": 1 - }, - "givenName": { - "type": "string", - "description": "Current first name(s), including middle name(s) where applicable, of the user to whom the person identification data relates.", - "minLength": 1 - }, - "birthDate": { - "type": "string", - "format": "date", - "description": "Day, month, and year on which the user to whom the person identification data relates was born." - }, - "birthPlace": { - "type": "string", - "description": "The country as an alpha-2 country code as specified in ISO 3166-1, or the state, province, district, or local area or the municipality, city, town, or village where the user to whom the person identification data relates was born." - }, - "nationality": { - "type": "array", - "items": { - "type": "string", - "enum": [ - "AF", - "AX", - "AL", - "DZ", - "AS", - "AD", - "AO", - "AI", - "AQ", - "AG", - "AR", - "AM", - "AW", - "AU", - "AT", - "AZ", - "BS", - "BH", - "BD", - "BB", - "BY", - "BE", - "BZ", - "BJ", - "BM", - "BT", - "BO", - "BQ", - "BA", - "BW", - "BV", - "BR", - "IO", - "BN", - "BG", - "BF", - "BI", - "CV", - "KH", - "CM", - "CA", - "KY", - "CF", - "TD", - "CL", - "CN", - "CX", - "CC", - "CO", - "KM", - "CD", - "CG", - "CK", - "CR", - "CI", - "HR", - "CU", - "CW", - "CY", - "CZ", - "DK", - "DJ", - "DM", - "DO", - "EC", - "EG", - "SV", - "GQ", - "ER", - "EE", - "SZ", - "ET", - "FK", - "FO", - "FJ", - "FI", - "FR", - "GF", - "PF", - "TF", - "GA", - "GM", - "GE", - "DE", - "GH", - "GI", - "GR", - "GL", - "GD", - "GP", - "GU", - "GT", - "GG", - "GN", - "GW", - "GY", - "HT", - "HM", - "VA", - "HN", - "HK", - "HU", - "IS", - "IN", - "ID", - "IR", - "IQ", - "IE", - "IM", - "IL", - "IT", - "JM", - "JP", - "JE", - "JO", - "KZ", - "KE", - "KI", - "KP", - "KR", - "KW", - "KG", - "LA", - "LV", - "LB", - "LS", - "LR", - "LY", - "LI", - "LT", - "LU", - "MO", - "MG", - "MW", - "MY", - "MV", - "ML", - "MT", - "MH", - "MQ", - "MR", - "MU", - "YT", - "MX", - "FM", - "MD", - "MC", - "MN", - "ME", - "MS", - "MA", - "MZ", - "MM", - "NA", - "NR", - "NP", - "NL", - "NC", - "NZ", - "NI", - "NE", - "NG", - "NU", - "NF", - "MK", - "MP", - "NO", - "OM", - "PK", - "PW", - "PS", - "PA", - "PG", - "PY", - "PE", - "PH", - "PN", - "PL", - "PT", - "PR", - "QA", - "RE", - "RO", - "RU", - "RW", - "BL", - "SH", - "KN", - "LC", - "MF", - "PM", - "VC", - "WS", - "SM", - "ST", - "SA", - "SN", - "RS", - "SC", - "SL", - "SG", - "SX", - "SK", - "SI", - "SB", - "SO", - "ZA", - "GS", - "SS", - "ES", - "LK", - "SD", - "SR", - "SJ", - "SE", - "CH", - "SY", - "TW", - "TJ", - "TZ", - "TH", - "TL", - "TG", - "TK", - "TO", - "TT", - "TN", - "TR", - "TM", - "TC", - "TV", - "UG", - "UA", - "AE", - "GB", - "US", - "UM", - "UY", - "UZ", - "VU", - "VE", - "VN", - "VG", - "VI", - "WF", - "EH", - "YE", - "ZM", - "ZW" - ] + "personIdentificationData": { + "type": "object", + "properties": { + "family_name": { + "type": "string", + "description": "Current last name(s) or surname(s) of the user to whom the person identification data relates.", + "minLength": 1 + }, + "given_name": { + "type": "string", + "description": "Current first name(s), including middle name(s) where applicable, of the user to whom the person identification data relates.", + "minLength": 1 + }, + "birth_date": { + "type": "string", + "format": "date", + "description": "Day, month, and year on which the user to whom the person identification data relates was born." + }, + "birth_place": { + "type": "string", + "description": "The country as an alpha-2 country code as specified in ISO 3166-1, or the state, province, district, or local area or the municipality, city, town, or village where the user to whom the person identification data relates was born." + }, + "nationality": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "AF", + "AX", + "AL", + "DZ", + "AS", + "AD", + "AO", + "AI", + "AQ", + "AG", + "AR", + "AM", + "AW", + "AU", + "AT", + "AZ", + "BS", + "BH", + "BD", + "BB", + "BY", + "BE", + "BZ", + "BJ", + "BM", + "BT", + "BO", + "BQ", + "BA", + "BW", + "BV", + "BR", + "IO", + "BN", + "BG", + "BF", + "BI", + "CV", + "KH", + "CM", + "CA", + "KY", + "CF", + "TD", + "CL", + "CN", + "CX", + "CC", + "CO", + "KM", + "CD", + "CG", + "CK", + "CR", + "CI", + "HR", + "CU", + "CW", + "CY", + "CZ", + "DK", + "DJ", + "DM", + "DO", + "EC", + "EG", + "SV", + "GQ", + "ER", + "EE", + "SZ", + "ET", + "FK", + "FO", + "FJ", + "FI", + "FR", + "GF", + "PF", + "TF", + "GA", + "GM", + "GE", + "DE", + "GH", + "GI", + "GR", + "GL", + "GD", + "GP", + "GU", + "GT", + "GG", + "GN", + "GW", + "GY", + "HT", + "HM", + "VA", + "HN", + "HK", + "HU", + "IS", + "IN", + "ID", + "IR", + "IQ", + "IE", + "IM", + "IL", + "IT", + "JM", + "JP", + "JE", + "JO", + "KZ", + "KE", + "KI", + "KP", + "KR", + "KW", + "KG", + "LA", + "LV", + "LB", + "LS", + "LR", + "LY", + "LI", + "LT", + "LU", + "MO", + "MG", + "MW", + "MY", + "MV", + "ML", + "MT", + "MH", + "MQ", + "MR", + "MU", + "YT", + "MX", + "FM", + "MD", + "MC", + "MN", + "ME", + "MS", + "MA", + "MZ", + "MM", + "NA", + "NR", + "NP", + "NL", + "NC", + "NZ", + "NI", + "NE", + "NG", + "NU", + "NF", + "MK", + "MP", + "NO", + "OM", + "PK", + "PW", + "PS", + "PA", + "PG", + "PY", + "PE", + "PH", + "PN", + "PL", + "PT", + "PR", + "QA", + "RE", + "RO", + "RU", + "RW", + "BL", + "SH", + "KN", + "LC", + "MF", + "PM", + "VC", + "WS", + "SM", + "ST", + "SA", + "SN", + "RS", + "SC", + "SL", + "SG", + "SX", + "SK", + "SI", + "SB", + "SO", + "ZA", + "GS", + "SS", + "ES", + "LK", + "SD", + "SR", + "SJ", + "SE", + "CH", + "SY", + "TW", + "TJ", + "TZ", + "TH", + "TL", + "TG", + "TK", + "TO", + "TT", + "TN", + "TR", + "TM", + "TC", + "TV", + "UG", + "UA", + "AE", + "GB", + "US", + "UM", + "UY", + "UZ", + "VU", + "VE", + "VN", + "VG", + "VI", + "WF", + "EH", + "YE", + "ZM", + "ZW" + ] + }, + "description": "One or more alpha-2 country codes as specified in ISO 3166-1, representing the nationality of the user to whom the person identification data relates." + }, + "resident_address": { + "type": "string", + "description": "The full address of the place where the user to whom the person identification data relates currently resides or can be contacted (street name, house number, city etc.)." + }, + "resident_country": { + "type": "string", + "enum": [ + "AF", + "AX", + "AL", + "DZ", + "AS", + "AD", + "AO", + "AI", + "AQ", + "AG", + "AR", + "AM", + "AW", + "AU", + "AT", + "AZ", + "BS", + "BH", + "BD", + "BB", + "BY", + "BE", + "BZ", + "BJ", + "BM", + "BT", + "BO", + "BQ", + "BA", + "BW", + "BV", + "BR", + "IO", + "BN", + "BG", + "BF", + "BI", + "CV", + "KH", + "CM", + "CA", + "KY", + "CF", + "TD", + "CL", + "CN", + "CX", + "CC", + "CO", + "KM", + "CD", + "CG", + "CK", + "CR", + "CI", + "HR", + "CU", + "CW", + "CY", + "CZ", + "DK", + "DJ", + "DM", + "DO", + "EC", + "EG", + "SV", + "GQ", + "ER", + "EE", + "SZ", + "ET", + "FK", + "FO", + "FJ", + "FI", + "FR", + "GF", + "PF", + "TF", + "GA", + "GM", + "GE", + "DE", + "GH", + "GI", + "GR", + "GL", + "GD", + "GP", + "GU", + "GT", + "GG", + "GN", + "GW", + "GY", + "HT", + "HM", + "VA", + "HN", + "HK", + "HU", + "IS", + "IN", + "ID", + "IR", + "IQ", + "IE", + "IM", + "IL", + "IT", + "JM", + "JP", + "JE", + "JO", + "KZ", + "KE", + "KI", + "KP", + "KR", + "KW", + "KG", + "LA", + "LV", + "LB", + "LS", + "LR", + "LY", + "LI", + "LT", + "LU", + "MO", + "MG", + "MW", + "MY", + "MV", + "ML", + "MT", + "MH", + "MQ", + "MR", + "MU", + "YT", + "MX", + "FM", + "MD", + "MC", + "MN", + "ME", + "MS", + "MA", + "MZ", + "MM", + "NA", + "NR", + "NP", + "NL", + "NC", + "NZ", + "NI", + "NE", + "NG", + "NU", + "NF", + "MK", + "MP", + "NO", + "OM", + "PK", + "PW", + "PS", + "PA", + "PG", + "PY", + "PE", + "PH", + "PN", + "PL", + "PT", + "PR", + "QA", + "RE", + "RO", + "RU", + "RW", + "BL", + "SH", + "KN", + "LC", + "MF", + "PM", + "VC", + "WS", + "SM", + "ST", + "SA", + "SN", + "RS", + "SC", + "SL", + "SG", + "SX", + "SK", + "SI", + "SB", + "SO", + "ZA", + "GS", + "SS", + "ES", + "LK", + "SD", + "SR", + "SJ", + "SE", + "CH", + "SY", + "TW", + "TJ", + "TZ", + "TH", + "TL", + "TG", + "TK", + "TO", + "TT", + "TN", + "TR", + "TM", + "TC", + "TV", + "UG", + "UA", + "AE", + "GB", + "US", + "UM", + "UY", + "UZ", + "VU", + "VE", + "VN", + "VG", + "VI", + "WF", + "EH", + "YE", + "ZM", + "ZW" + ], + "description": "The country where the user to whom the person identification data relates currently resides, as an alpha-2 country code as specified in ISO 3166-1." + }, + "resident_state": { + "type": "string", + "description": "The state, province, district, or local area where the user to whom the person identification data relates currently resides." + }, + "resident_city": { + "type": "string", + "description": "The municipality, city, town, or village where the user to whom the person identification data relates currently resides." + }, + "resident_postal_code": { + "type": "string", + "description": "The postal code of the place where the user to whom the person identification data relates currently resides." + }, + "resident_street": { + "type": "string", + "description": "The name of the street where the user to whom the person identification data relates currently resides." + }, + "resident_house_number": { + "type": "string", + "description": "The house number where the user to whom the person identification data relates currently resides, including any affix or suffix." + }, + "personal_administrative_number": { + "type": "string", + "description": "A value assigned to the natural person that is unique among all personal administrative numbers issued by the provider of person identification data. Where Member States opt to include this attribute, they shall describe in their electronic identification schemes under which the person identification data is issued, the policy that they apply to the values of this attribute, including, where applicable, specific conditions for the processing of this value." + }, + "portrait": { + "type": "string", + "description": "Facial image of the wallet user compliant with ISO 19794-5 or ISO 39794 specifications." + }, + "family_name_birth": { + "type": "string", + "description": "Last name(s) or surname(s) of the person identification data user at the time of birth." + }, + "given_name_birth": { + "type": "string", + "description": "First name(s), including middle name(s), of the person identification data user at the time of birth." + }, + "sex": { + "type": "integer", + "enum": [0, 1, 2, 3, 4, 5, 6, 9], + "description": "Sex of the user. Values: 0 = not known, 1 = male, 2 = female, 3 = other, 4 = inter, 5 = diverse, 6 = open, 9 = not applicable. For values 0, 1, 2 and 9, ISO/IEC 5218 applies." + }, + "email_address": { + "type": "string", + "format": "email", + "description": "Electronic mail address of the user to whom the person identification data relates [in conformance with RFC 5322]." + }, + "mobile_phone_number": { + "type": "string", + "pattern": "^\\+\\d+$", + "description": "Mobile telephone number of the user to whom the person identification data relates, starting with the ‘+’ symbol as the international code prefix and the country code, followed by numbers only." + }, + "expiry_date": { + "type": "string", + "format": "date-time", + "description": "Date (and if possible time) when the person identification data will expire." + }, + "document_number": { + "type": "string", + "description": "A number for the person identification data, assigned by the provider of person identification data.", + "nullable": true + }, + "issuing_authority": { + "type": "string", + "description": "Name of the administrative authority that issued the person identification data, or the ISO 3166 alpha-2 country code of the respective Member State if there is no separate authority entitled to issue person identification data." + }, + "issuing_country": { + "type": "string", + "pattern": "^[A-Z]{2}$", + "description": "Alpha-2 country code, as specified in ISO 3166-1, of the country or territory of the provider of the person identification data." + }, + "issuing_jurisdiction": { + "type": "string", + "pattern": "^[A-Z]{2}(-[A-Za-z0-9]{1,3})?$", + "description": "Country subdivision code of the jurisdiction that issued the person identification data, as specified in ISO 3166-2:2020, Clause 8. The first part of the code shall be the same as the value for the issuing country.", + "nullable": true + }, + "location_status": { + "type": "string", + "description": "The location of validity status information on the person identification data where the providers of person identification data revoke person identification data.", + "nullable": true + } }, - "description": "One or more alpha-2 country codes as specified in ISO 3166-1, representing the nationality of the user to whom the person identification data relates." - }, - "residentAddress": { - "type": "string", - "description": "The full address of the place where the user to whom the person identification data relates currently resides or can be contacted (street name, house number, city etc.)." - }, - "residentCountry": { - "type": "string", - "enum": [ - "AF", - "AX", - "AL", - "DZ", - "AS", - "AD", - "AO", - "AI", - "AQ", - "AG", - "AR", - "AM", - "AW", - "AU", - "AT", - "AZ", - "BS", - "BH", - "BD", - "BB", - "BY", - "BE", - "BZ", - "BJ", - "BM", - "BT", - "BO", - "BQ", - "BA", - "BW", - "BV", - "BR", - "IO", - "BN", - "BG", - "BF", - "BI", - "CV", - "KH", - "CM", - "CA", - "KY", - "CF", - "TD", - "CL", - "CN", - "CX", - "CC", - "CO", - "KM", - "CD", - "CG", - "CK", - "CR", - "CI", - "HR", - "CU", - "CW", - "CY", - "CZ", - "DK", - "DJ", - "DM", - "DO", - "EC", - "EG", - "SV", - "GQ", - "ER", - "EE", - "SZ", - "ET", - "FK", - "FO", - "FJ", - "FI", - "FR", - "GF", - "PF", - "TF", - "GA", - "GM", - "GE", - "DE", - "GH", - "GI", - "GR", - "GL", - "GD", - "GP", - "GU", - "GT", - "GG", - "GN", - "GW", - "GY", - "HT", - "HM", - "VA", - "HN", - "HK", - "HU", - "IS", - "IN", - "ID", - "IR", - "IQ", - "IE", - "IM", - "IL", - "IT", - "JM", - "JP", - "JE", - "JO", - "KZ", - "KE", - "KI", - "KP", - "KR", - "KW", - "KG", - "LA", - "LV", - "LB", - "LS", - "LR", - "LY", - "LI", - "LT", - "LU", - "MO", - "MG", - "MW", - "MY", - "MV", - "ML", - "MT", - "MH", - "MQ", - "MR", - "MU", - "YT", - "MX", - "FM", - "MD", - "MC", - "MN", - "ME", - "MS", - "MA", - "MZ", - "MM", - "NA", - "NR", - "NP", - "NL", - "NC", - "NZ", - "NI", - "NE", - "NG", - "NU", - "NF", - "MK", - "MP", - "NO", - "OM", - "PK", - "PW", - "PS", - "PA", - "PG", - "PY", - "PE", - "PH", - "PN", - "PL", - "PT", - "PR", - "QA", - "RE", - "RO", - "RU", - "RW", - "BL", - "SH", - "KN", - "LC", - "MF", - "PM", - "VC", - "WS", - "SM", - "ST", - "SA", - "SN", - "RS", - "SC", - "SL", - "SG", - "SX", - "SK", - "SI", - "SB", - "SO", - "ZA", - "GS", - "SS", - "ES", - "LK", - "SD", - "SR", - "SJ", - "SE", - "CH", - "SY", - "TW", - "TJ", - "TZ", - "TH", - "TL", - "TG", - "TK", - "TO", - "TT", - "TN", - "TR", - "TM", - "TC", - "TV", - "UG", - "UA", - "AE", - "GB", - "US", - "UM", - "UY", - "UZ", - "VU", - "VE", - "VN", - "VG", - "VI", - "WF", - "EH", - "YE", - "ZM", - "ZW" - ], - "description": "The country where the user to whom the person identification data relates currently resides, as an alpha-2 country code as specified in ISO 3166-1." - }, - "residentState": { - "type": "string", - "description": "The state, province, district, or local area where the user to whom the person identification data relates currently resides." - }, - "residentCity": { - "type": "string", - "description": "The municipality, city, town, or village where the user to whom the person identification data relates currently resides." - }, - "residentPostalCode": { - "type": "string", - "description": "The postal code of the place where the user to whom the person identification data relates currently resides." - }, - "residentStreet": { - "type": "string", - "description": "The name of the street where the user to whom the person identification data relates currently resides." - }, - "residentHouseNumber": { - "type": "string", - "description": "The house number where the user to whom the person identification data relates currently resides, including any affix or suffix." - }, - "personalAdministrativeNumber": { - "type": "string", - "description": "A value assigned to the natural person that is unique among all personal administrative numbers issued by the provider of person identification data. Where Member States opt to include this attribute, they shall describe in their electronic identification schemes under which the person identification data is issued, the policy that they apply to the values of this attribute, including, where applicable, specific conditions for the processing of this value." - }, - "portrait": { - "type": "string", - "description": "Facial image of the wallet user compliant with ISO 19794-5 or ISO 39794 specifications." - }, - "familyNameBirth": { - "type": "string", - "description": "Last name(s) or surname(s) of the person identification data user at the time of birth." - }, - "givenNameBirth": { - "type": "string", - "description": "First name(s), including middle name(s), of the person identification data user at the time of birth." - }, - "sex": { - "type": "string", - "enum": ["0", "1", "2", "3", "4", "5", "6", "9"], - "description": "Sex of the user. Values: 0 = not known, 1 = male, 2 = female, 3 = other, 4 = inter, 5 = diverse, 6 = open, 9 = not applicable. For values 0, 1, 2 and 9, ISO/IEC 5218 applies." - }, - "emailAddress": { - "type": "string", - "format": "email", - "description": "Electronic mail address of the user to whom the person identification data relates [in conformance with RFC 5322]." - }, - "mobilePhoneNumber": { - "type": "string", - "pattern": "^\\+\\d+$", - "description": "Mobile telephone number of the user to whom the person identification data relates, starting with the ‘+’ symbol as the international code prefix and the country code, followed by numbers only." + "required": [ + "family_name", + "given_name", + "birth_date", + "birth_place", + "nationality", + "expiry_date", + "issuing_authority", + "issuing_country" + ] } }, - "required": [ - "familyName", - "givenName", - "birthDate", - "birthPlace", - "nationality" - ] + "required": ["personIdentificationData"] } } } @@ -679,13 +681,13 @@ The schema is published to the [Trusted Schemas Registry](https://hub.ebsi.eu/ap ```sh # with npm -npm add @cef-ebsi/vcdm1.1-vid-natural-person-schema@2.0.0 +npm add @cef-ebsi/vcdm1.1-vid-natural-person-schema@3.0.0 # with Yarn -yarn add @cef-ebsi/vcdm1.1-vid-natural-person-schema@2.0.0 +yarn add @cef-ebsi/vcdm1.1-vid-natural-person-schema@3.0.0 # with pnpm -pnpm add @cef-ebsi/vcdm1.1-vid-natural-person-schema@2.0.0 +pnpm add @cef-ebsi/vcdm1.1-vid-natural-person-schema@3.0.0 ``` ## Usage diff --git a/schemas/vcdm1.1/vid/natural-person/examples/example-be.json b/schemas/vcdm1.1/vid/natural-person/examples/example-be.json index cc13ffd36144a1643f151639fda9c27064d0c6f9..02333db5c53bbac7299d5e2c40f13bb0b90947cc 100644 --- a/schemas/vcdm1.1/vid/natural-person/examples/example-be.json +++ b/schemas/vcdm1.1/vid/natural-person/examples/example-be.json @@ -3,30 +3,32 @@ "id": "urn:uuid:7419c109-285a-424d-bb69-0babac6bd444", "type": ["VerifiableCredential", "VerifiableAttestation", "eIDAS2PID"], "issuer": { - "id": "did:ebsi:123", - "issuingAuthority": "", - "issuingCountry": "BE" + "id": "did:ebsi:123" }, "issuanceDate": "2024-01-18T08:13:09Z", "issued": "2024-01-18T08:13:09Z", "validFrom": "2024-01-18T08:13:09Z", - "expiryDate": "2024-08-31T23:59:59Z", "credentialSubject": { "id": "did:key:123", - "familyName": "Dubois", - "givenName": "Sophie", - "birthDate": "1985-05-20", - "birthPlace": "BE", - "nationality": ["BE"], - "residentAddress": "456 Elm Ave, Leuven, VBR 3000, Belgium", - "residentCountry": "BE", - "residentState": "VBR", - "residentCity": "Leuven", - "residentPostalCode": "3000", - "residentStreet": "Elm Ave", - "residentHouseNumber": "456", - "personalAdministrativeNumber": "987654321", - "sex": "2" + "personIdentificationData": { + "family_name": "Dubois", + "given_name": "Sophie", + "birth_date": "1985-05-20", + "birth_place": "BE", + "nationality": ["BE"], + "resident_address": "456 Elm Ave, Leuven, VBR 3000, Belgium", + "resident_country": "BE", + "resident_state": "VBR", + "resident_city": "Leuven", + "resident_postal_code": "3000", + "resident_street": "Elm Ave", + "resident_house_number": "456", + "personal_administrative_number": "987654321", + "sex": 2, + "expiry_date": "2024-08-31T23:59:59Z", + "issuing_authority": "", + "issuing_country": "BE" + } }, "credentialSchema": { "id": "https://api.ebsi.eu/tsr", diff --git a/schemas/vcdm1.1/vid/natural-person/package.json b/schemas/vcdm1.1/vid/natural-person/package.json index c71ff093745fcbb134b6ceb75700fe10ea9ad8ac..2637e3da9fba28f34cfeeed16bac56bc5ebc35a7 100644 --- a/schemas/vcdm1.1/vid/natural-person/package.json +++ b/schemas/vcdm1.1/vid/natural-person/package.json @@ -1,6 +1,6 @@ { "name": "@cef-ebsi/vcdm1.1-vid-natural-person-schema", - "version": "2.0.0", + "version": "3.0.0", "description": "Person Identification Data for the Natural Person (VCDM 1.1)", "license": "EUPL-1.2", "publishConfig": { diff --git a/schemas/vcdm1.1/vid/natural-person/schema.json b/schemas/vcdm1.1/vid/natural-person/schema.json index 76b8e29417f449a372ff99f0f6484ea170bd9b62..f00c5895b7362f4e1a86d033b18d5b1f7236e75e 100644 --- a/schemas/vcdm1.1/vid/natural-person/schema.json +++ b/schemas/vcdm1.1/vid/natural-person/schema.json @@ -9,642 +9,644 @@ }, { "type": "object", - "required": ["expiryDate"], "properties": { - "expiryDate": { - "type": "string", - "format": "date-time", - "description": "Date (and if possible time) when the person identification data will expire." - }, - "documentNumber": { - "type": "string", - "description": "A number for the person identification data, assigned by the provider of person identification data.", - "nullable": true - }, - "issuer": { - "type": "object", - "properties": { - "issuingAuthority": { - "type": "string", - "description": "Name of the administrative authority that issued the person identification data, or the ISO 3166 alpha-2 country code of the respective Member State if there is no separate authority entitled to issue person identification data." - }, - "issuingCountry": { - "type": "string", - "pattern": "^[A-Z]{2}$", - "description": "Alpha-2 country code, as specified in ISO 3166-1, of the country or territory of the provider of the person identification data." - }, - "issuingJurisdiction": { - "type": "string", - "pattern": "^[A-Z]{2}(-[A-Za-z0-9]{1,3})?$", - "description": "Country subdivision code of the jurisdiction that issued the person identification data, as specified in ISO 3166-2:2020, Clause 8. The first part of the code shall be the same as the value for the issuing country.", - "nullable": true - }, - "locationStatus": { - "type": "string", - "description": "The location of validity status information on the person identification data where the providers of person identification data revoke person identification data.", - "nullable": true - } - }, - "required": ["issuingAuthority", "issuingCountry"] - }, "credentialSubject": { "type": "object", "properties": { - "familyName": { - "type": "string", - "description": "Current last name(s) or surname(s) of the user to whom the person identification data relates.", - "minLength": 1 - }, - "givenName": { - "type": "string", - "description": "Current first name(s), including middle name(s) where applicable, of the user to whom the person identification data relates.", - "minLength": 1 - }, - "birthDate": { - "type": "string", - "format": "date", - "description": "Day, month, and year on which the user to whom the person identification data relates was born." - }, - "birthPlace": { - "type": "string", - "description": "The country as an alpha-2 country code as specified in ISO 3166-1, or the state, province, district, or local area or the municipality, city, town, or village where the user to whom the person identification data relates was born." - }, - "nationality": { - "type": "array", - "items": { - "type": "string", - "enum": [ - "AF", - "AX", - "AL", - "DZ", - "AS", - "AD", - "AO", - "AI", - "AQ", - "AG", - "AR", - "AM", - "AW", - "AU", - "AT", - "AZ", - "BS", - "BH", - "BD", - "BB", - "BY", - "BE", - "BZ", - "BJ", - "BM", - "BT", - "BO", - "BQ", - "BA", - "BW", - "BV", - "BR", - "IO", - "BN", - "BG", - "BF", - "BI", - "CV", - "KH", - "CM", - "CA", - "KY", - "CF", - "TD", - "CL", - "CN", - "CX", - "CC", - "CO", - "KM", - "CD", - "CG", - "CK", - "CR", - "CI", - "HR", - "CU", - "CW", - "CY", - "CZ", - "DK", - "DJ", - "DM", - "DO", - "EC", - "EG", - "SV", - "GQ", - "ER", - "EE", - "SZ", - "ET", - "FK", - "FO", - "FJ", - "FI", - "FR", - "GF", - "PF", - "TF", - "GA", - "GM", - "GE", - "DE", - "GH", - "GI", - "GR", - "GL", - "GD", - "GP", - "GU", - "GT", - "GG", - "GN", - "GW", - "GY", - "HT", - "HM", - "VA", - "HN", - "HK", - "HU", - "IS", - "IN", - "ID", - "IR", - "IQ", - "IE", - "IM", - "IL", - "IT", - "JM", - "JP", - "JE", - "JO", - "KZ", - "KE", - "KI", - "KP", - "KR", - "KW", - "KG", - "LA", - "LV", - "LB", - "LS", - "LR", - "LY", - "LI", - "LT", - "LU", - "MO", - "MG", - "MW", - "MY", - "MV", - "ML", - "MT", - "MH", - "MQ", - "MR", - "MU", - "YT", - "MX", - "FM", - "MD", - "MC", - "MN", - "ME", - "MS", - "MA", - "MZ", - "MM", - "NA", - "NR", - "NP", - "NL", - "NC", - "NZ", - "NI", - "NE", - "NG", - "NU", - "NF", - "MK", - "MP", - "NO", - "OM", - "PK", - "PW", - "PS", - "PA", - "PG", - "PY", - "PE", - "PH", - "PN", - "PL", - "PT", - "PR", - "QA", - "RE", - "RO", - "RU", - "RW", - "BL", - "SH", - "KN", - "LC", - "MF", - "PM", - "VC", - "WS", - "SM", - "ST", - "SA", - "SN", - "RS", - "SC", - "SL", - "SG", - "SX", - "SK", - "SI", - "SB", - "SO", - "ZA", - "GS", - "SS", - "ES", - "LK", - "SD", - "SR", - "SJ", - "SE", - "CH", - "SY", - "TW", - "TJ", - "TZ", - "TH", - "TL", - "TG", - "TK", - "TO", - "TT", - "TN", - "TR", - "TM", - "TC", - "TV", - "UG", - "UA", - "AE", - "GB", - "US", - "UM", - "UY", - "UZ", - "VU", - "VE", - "VN", - "VG", - "VI", - "WF", - "EH", - "YE", - "ZM", - "ZW" - ] + "personIdentificationData": { + "type": "object", + "properties": { + "family_name": { + "type": "string", + "description": "Current last name(s) or surname(s) of the user to whom the person identification data relates.", + "minLength": 1 + }, + "given_name": { + "type": "string", + "description": "Current first name(s), including middle name(s) where applicable, of the user to whom the person identification data relates.", + "minLength": 1 + }, + "birth_date": { + "type": "string", + "format": "date", + "description": "Day, month, and year on which the user to whom the person identification data relates was born." + }, + "birth_place": { + "type": "string", + "description": "The country as an alpha-2 country code as specified in ISO 3166-1, or the state, province, district, or local area or the municipality, city, town, or village where the user to whom the person identification data relates was born." + }, + "nationality": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "AF", + "AX", + "AL", + "DZ", + "AS", + "AD", + "AO", + "AI", + "AQ", + "AG", + "AR", + "AM", + "AW", + "AU", + "AT", + "AZ", + "BS", + "BH", + "BD", + "BB", + "BY", + "BE", + "BZ", + "BJ", + "BM", + "BT", + "BO", + "BQ", + "BA", + "BW", + "BV", + "BR", + "IO", + "BN", + "BG", + "BF", + "BI", + "CV", + "KH", + "CM", + "CA", + "KY", + "CF", + "TD", + "CL", + "CN", + "CX", + "CC", + "CO", + "KM", + "CD", + "CG", + "CK", + "CR", + "CI", + "HR", + "CU", + "CW", + "CY", + "CZ", + "DK", + "DJ", + "DM", + "DO", + "EC", + "EG", + "SV", + "GQ", + "ER", + "EE", + "SZ", + "ET", + "FK", + "FO", + "FJ", + "FI", + "FR", + "GF", + "PF", + "TF", + "GA", + "GM", + "GE", + "DE", + "GH", + "GI", + "GR", + "GL", + "GD", + "GP", + "GU", + "GT", + "GG", + "GN", + "GW", + "GY", + "HT", + "HM", + "VA", + "HN", + "HK", + "HU", + "IS", + "IN", + "ID", + "IR", + "IQ", + "IE", + "IM", + "IL", + "IT", + "JM", + "JP", + "JE", + "JO", + "KZ", + "KE", + "KI", + "KP", + "KR", + "KW", + "KG", + "LA", + "LV", + "LB", + "LS", + "LR", + "LY", + "LI", + "LT", + "LU", + "MO", + "MG", + "MW", + "MY", + "MV", + "ML", + "MT", + "MH", + "MQ", + "MR", + "MU", + "YT", + "MX", + "FM", + "MD", + "MC", + "MN", + "ME", + "MS", + "MA", + "MZ", + "MM", + "NA", + "NR", + "NP", + "NL", + "NC", + "NZ", + "NI", + "NE", + "NG", + "NU", + "NF", + "MK", + "MP", + "NO", + "OM", + "PK", + "PW", + "PS", + "PA", + "PG", + "PY", + "PE", + "PH", + "PN", + "PL", + "PT", + "PR", + "QA", + "RE", + "RO", + "RU", + "RW", + "BL", + "SH", + "KN", + "LC", + "MF", + "PM", + "VC", + "WS", + "SM", + "ST", + "SA", + "SN", + "RS", + "SC", + "SL", + "SG", + "SX", + "SK", + "SI", + "SB", + "SO", + "ZA", + "GS", + "SS", + "ES", + "LK", + "SD", + "SR", + "SJ", + "SE", + "CH", + "SY", + "TW", + "TJ", + "TZ", + "TH", + "TL", + "TG", + "TK", + "TO", + "TT", + "TN", + "TR", + "TM", + "TC", + "TV", + "UG", + "UA", + "AE", + "GB", + "US", + "UM", + "UY", + "UZ", + "VU", + "VE", + "VN", + "VG", + "VI", + "WF", + "EH", + "YE", + "ZM", + "ZW" + ] + }, + "description": "One or more alpha-2 country codes as specified in ISO 3166-1, representing the nationality of the user to whom the person identification data relates." + }, + "resident_address": { + "type": "string", + "description": "The full address of the place where the user to whom the person identification data relates currently resides or can be contacted (street name, house number, city etc.)." + }, + "resident_country": { + "type": "string", + "enum": [ + "AF", + "AX", + "AL", + "DZ", + "AS", + "AD", + "AO", + "AI", + "AQ", + "AG", + "AR", + "AM", + "AW", + "AU", + "AT", + "AZ", + "BS", + "BH", + "BD", + "BB", + "BY", + "BE", + "BZ", + "BJ", + "BM", + "BT", + "BO", + "BQ", + "BA", + "BW", + "BV", + "BR", + "IO", + "BN", + "BG", + "BF", + "BI", + "CV", + "KH", + "CM", + "CA", + "KY", + "CF", + "TD", + "CL", + "CN", + "CX", + "CC", + "CO", + "KM", + "CD", + "CG", + "CK", + "CR", + "CI", + "HR", + "CU", + "CW", + "CY", + "CZ", + "DK", + "DJ", + "DM", + "DO", + "EC", + "EG", + "SV", + "GQ", + "ER", + "EE", + "SZ", + "ET", + "FK", + "FO", + "FJ", + "FI", + "FR", + "GF", + "PF", + "TF", + "GA", + "GM", + "GE", + "DE", + "GH", + "GI", + "GR", + "GL", + "GD", + "GP", + "GU", + "GT", + "GG", + "GN", + "GW", + "GY", + "HT", + "HM", + "VA", + "HN", + "HK", + "HU", + "IS", + "IN", + "ID", + "IR", + "IQ", + "IE", + "IM", + "IL", + "IT", + "JM", + "JP", + "JE", + "JO", + "KZ", + "KE", + "KI", + "KP", + "KR", + "KW", + "KG", + "LA", + "LV", + "LB", + "LS", + "LR", + "LY", + "LI", + "LT", + "LU", + "MO", + "MG", + "MW", + "MY", + "MV", + "ML", + "MT", + "MH", + "MQ", + "MR", + "MU", + "YT", + "MX", + "FM", + "MD", + "MC", + "MN", + "ME", + "MS", + "MA", + "MZ", + "MM", + "NA", + "NR", + "NP", + "NL", + "NC", + "NZ", + "NI", + "NE", + "NG", + "NU", + "NF", + "MK", + "MP", + "NO", + "OM", + "PK", + "PW", + "PS", + "PA", + "PG", + "PY", + "PE", + "PH", + "PN", + "PL", + "PT", + "PR", + "QA", + "RE", + "RO", + "RU", + "RW", + "BL", + "SH", + "KN", + "LC", + "MF", + "PM", + "VC", + "WS", + "SM", + "ST", + "SA", + "SN", + "RS", + "SC", + "SL", + "SG", + "SX", + "SK", + "SI", + "SB", + "SO", + "ZA", + "GS", + "SS", + "ES", + "LK", + "SD", + "SR", + "SJ", + "SE", + "CH", + "SY", + "TW", + "TJ", + "TZ", + "TH", + "TL", + "TG", + "TK", + "TO", + "TT", + "TN", + "TR", + "TM", + "TC", + "TV", + "UG", + "UA", + "AE", + "GB", + "US", + "UM", + "UY", + "UZ", + "VU", + "VE", + "VN", + "VG", + "VI", + "WF", + "EH", + "YE", + "ZM", + "ZW" + ], + "description": "The country where the user to whom the person identification data relates currently resides, as an alpha-2 country code as specified in ISO 3166-1." + }, + "resident_state": { + "type": "string", + "description": "The state, province, district, or local area where the user to whom the person identification data relates currently resides." + }, + "resident_city": { + "type": "string", + "description": "The municipality, city, town, or village where the user to whom the person identification data relates currently resides." + }, + "resident_postal_code": { + "type": "string", + "description": "The postal code of the place where the user to whom the person identification data relates currently resides." + }, + "resident_street": { + "type": "string", + "description": "The name of the street where the user to whom the person identification data relates currently resides." + }, + "resident_house_number": { + "type": "string", + "description": "The house number where the user to whom the person identification data relates currently resides, including any affix or suffix." + }, + "personal_administrative_number": { + "type": "string", + "description": "A value assigned to the natural person that is unique among all personal administrative numbers issued by the provider of person identification data. Where Member States opt to include this attribute, they shall describe in their electronic identification schemes under which the person identification data is issued, the policy that they apply to the values of this attribute, including, where applicable, specific conditions for the processing of this value." + }, + "portrait": { + "type": "string", + "description": "Facial image of the wallet user compliant with ISO 19794-5 or ISO 39794 specifications." + }, + "family_name_birth": { + "type": "string", + "description": "Last name(s) or surname(s) of the person identification data user at the time of birth." + }, + "given_name_birth": { + "type": "string", + "description": "First name(s), including middle name(s), of the person identification data user at the time of birth." + }, + "sex": { + "type": "integer", + "enum": [0, 1, 2, 3, 4, 5, 6, 9], + "description": "Sex of the user. Values: 0 = not known, 1 = male, 2 = female, 3 = other, 4 = inter, 5 = diverse, 6 = open, 9 = not applicable. For values 0, 1, 2 and 9, ISO/IEC 5218 applies." + }, + "email_address": { + "type": "string", + "format": "email", + "description": "Electronic mail address of the user to whom the person identification data relates [in conformance with RFC 5322]." + }, + "mobile_phone_number": { + "type": "string", + "pattern": "^\\+\\d+$", + "description": "Mobile telephone number of the user to whom the person identification data relates, starting with the ‘+’ symbol as the international code prefix and the country code, followed by numbers only." + }, + "expiry_date": { + "type": "string", + "format": "date-time", + "description": "Date (and if possible time) when the person identification data will expire." + }, + "document_number": { + "type": "string", + "description": "A number for the person identification data, assigned by the provider of person identification data.", + "nullable": true + }, + "issuing_authority": { + "type": "string", + "description": "Name of the administrative authority that issued the person identification data, or the ISO 3166 alpha-2 country code of the respective Member State if there is no separate authority entitled to issue person identification data." + }, + "issuing_country": { + "type": "string", + "pattern": "^[A-Z]{2}$", + "description": "Alpha-2 country code, as specified in ISO 3166-1, of the country or territory of the provider of the person identification data." + }, + "issuing_jurisdiction": { + "type": "string", + "pattern": "^[A-Z]{2}(-[A-Za-z0-9]{1,3})?$", + "description": "Country subdivision code of the jurisdiction that issued the person identification data, as specified in ISO 3166-2:2020, Clause 8. The first part of the code shall be the same as the value for the issuing country.", + "nullable": true + }, + "location_status": { + "type": "string", + "description": "The location of validity status information on the person identification data where the providers of person identification data revoke person identification data.", + "nullable": true + } }, - "description": "One or more alpha-2 country codes as specified in ISO 3166-1, representing the nationality of the user to whom the person identification data relates." - }, - "residentAddress": { - "type": "string", - "description": "The full address of the place where the user to whom the person identification data relates currently resides or can be contacted (street name, house number, city etc.)." - }, - "residentCountry": { - "type": "string", - "enum": [ - "AF", - "AX", - "AL", - "DZ", - "AS", - "AD", - "AO", - "AI", - "AQ", - "AG", - "AR", - "AM", - "AW", - "AU", - "AT", - "AZ", - "BS", - "BH", - "BD", - "BB", - "BY", - "BE", - "BZ", - "BJ", - "BM", - "BT", - "BO", - "BQ", - "BA", - "BW", - "BV", - "BR", - "IO", - "BN", - "BG", - "BF", - "BI", - "CV", - "KH", - "CM", - "CA", - "KY", - "CF", - "TD", - "CL", - "CN", - "CX", - "CC", - "CO", - "KM", - "CD", - "CG", - "CK", - "CR", - "CI", - "HR", - "CU", - "CW", - "CY", - "CZ", - "DK", - "DJ", - "DM", - "DO", - "EC", - "EG", - "SV", - "GQ", - "ER", - "EE", - "SZ", - "ET", - "FK", - "FO", - "FJ", - "FI", - "FR", - "GF", - "PF", - "TF", - "GA", - "GM", - "GE", - "DE", - "GH", - "GI", - "GR", - "GL", - "GD", - "GP", - "GU", - "GT", - "GG", - "GN", - "GW", - "GY", - "HT", - "HM", - "VA", - "HN", - "HK", - "HU", - "IS", - "IN", - "ID", - "IR", - "IQ", - "IE", - "IM", - "IL", - "IT", - "JM", - "JP", - "JE", - "JO", - "KZ", - "KE", - "KI", - "KP", - "KR", - "KW", - "KG", - "LA", - "LV", - "LB", - "LS", - "LR", - "LY", - "LI", - "LT", - "LU", - "MO", - "MG", - "MW", - "MY", - "MV", - "ML", - "MT", - "MH", - "MQ", - "MR", - "MU", - "YT", - "MX", - "FM", - "MD", - "MC", - "MN", - "ME", - "MS", - "MA", - "MZ", - "MM", - "NA", - "NR", - "NP", - "NL", - "NC", - "NZ", - "NI", - "NE", - "NG", - "NU", - "NF", - "MK", - "MP", - "NO", - "OM", - "PK", - "PW", - "PS", - "PA", - "PG", - "PY", - "PE", - "PH", - "PN", - "PL", - "PT", - "PR", - "QA", - "RE", - "RO", - "RU", - "RW", - "BL", - "SH", - "KN", - "LC", - "MF", - "PM", - "VC", - "WS", - "SM", - "ST", - "SA", - "SN", - "RS", - "SC", - "SL", - "SG", - "SX", - "SK", - "SI", - "SB", - "SO", - "ZA", - "GS", - "SS", - "ES", - "LK", - "SD", - "SR", - "SJ", - "SE", - "CH", - "SY", - "TW", - "TJ", - "TZ", - "TH", - "TL", - "TG", - "TK", - "TO", - "TT", - "TN", - "TR", - "TM", - "TC", - "TV", - "UG", - "UA", - "AE", - "GB", - "US", - "UM", - "UY", - "UZ", - "VU", - "VE", - "VN", - "VG", - "VI", - "WF", - "EH", - "YE", - "ZM", - "ZW" - ], - "description": "The country where the user to whom the person identification data relates currently resides, as an alpha-2 country code as specified in ISO 3166-1." - }, - "residentState": { - "type": "string", - "description": "The state, province, district, or local area where the user to whom the person identification data relates currently resides." - }, - "residentCity": { - "type": "string", - "description": "The municipality, city, town, or village where the user to whom the person identification data relates currently resides." - }, - "residentPostalCode": { - "type": "string", - "description": "The postal code of the place where the user to whom the person identification data relates currently resides." - }, - "residentStreet": { - "type": "string", - "description": "The name of the street where the user to whom the person identification data relates currently resides." - }, - "residentHouseNumber": { - "type": "string", - "description": "The house number where the user to whom the person identification data relates currently resides, including any affix or suffix." - }, - "personalAdministrativeNumber": { - "type": "string", - "description": "A value assigned to the natural person that is unique among all personal administrative numbers issued by the provider of person identification data. Where Member States opt to include this attribute, they shall describe in their electronic identification schemes under which the person identification data is issued, the policy that they apply to the values of this attribute, including, where applicable, specific conditions for the processing of this value." - }, - "portrait": { - "type": "string", - "description": "Facial image of the wallet user compliant with ISO 19794-5 or ISO 39794 specifications." - }, - "familyNameBirth": { - "type": "string", - "description": "Last name(s) or surname(s) of the person identification data user at the time of birth." - }, - "givenNameBirth": { - "type": "string", - "description": "First name(s), including middle name(s), of the person identification data user at the time of birth." - }, - "sex": { - "type": "string", - "enum": ["0", "1", "2", "3", "4", "5", "6", "9"], - "description": "Sex of the user. Values: 0 = not known, 1 = male, 2 = female, 3 = other, 4 = inter, 5 = diverse, 6 = open, 9 = not applicable. For values 0, 1, 2 and 9, ISO/IEC 5218 applies." - }, - "emailAddress": { - "type": "string", - "format": "email", - "description": "Electronic mail address of the user to whom the person identification data relates [in conformance with RFC 5322]." - }, - "mobilePhoneNumber": { - "type": "string", - "pattern": "^\\+\\d+$", - "description": "Mobile telephone number of the user to whom the person identification data relates, starting with the ‘+’ symbol as the international code prefix and the country code, followed by numbers only." + "required": [ + "family_name", + "given_name", + "birth_date", + "birth_place", + "nationality", + "expiry_date", + "issuing_authority", + "issuing_country" + ] } }, - "required": [ - "familyName", - "givenName", - "birthDate", - "birthPlace", - "nationality" - ] + "required": ["personIdentificationData"] } } } diff --git a/schemas/vcdm1.1/vid/natural-person/schema.metadata.json b/schemas/vcdm1.1/vid/natural-person/schema.metadata.json index a0cc04c71b6d86ed4738a8829abe012cb5adb038..e9fcdef87ef9fac001a5fa2896088554b1e6f762 100644 --- a/schemas/vcdm1.1/vid/natural-person/schema.metadata.json +++ b/schemas/vcdm1.1/vid/natural-person/schema.metadata.json @@ -1,8 +1,8 @@ { "vcdm": "1.1", "id": { - "base16": "0xe3e90a1c428ccd10ce9032b36a80a09418d5473ca1360fc74e34c01309e20170", - "multibase_base58btc": "zGLfedERtyuyRvhGdWHNE3QGx2u42iqGTecswfg6WdrdM" + "base16": "0x17af0f7ed1b62ce4ca985495e59725e3cb90a3a53eaf7b6e6b70eef9c2d1320c", + "multibase_base58btc": "z2bTCgjmBDY5kwNWGL3hfSQUZP6d8AZUnLFXe8coTa3zK" }, "verification": "Documents", "context": "General" diff --git a/schemas/vcdm2.0/vid/natural-person/CHANGELOG.md b/schemas/vcdm2.0/vid/natural-person/CHANGELOG.md index 813388385f49a3b9f23332d7d94e54e43658a2fd..0312b5b7e2909aa80eb0810f13f6148dbb8ce2c2 100644 --- a/schemas/vcdm2.0/vid/natural-person/CHANGELOG.md +++ b/schemas/vcdm2.0/vid/natural-person/CHANGELOG.md @@ -1,5 +1,11 @@ # @cef-ebsi/vcdm2.0-vid-natural-person-schema +## 3.0.0 + +### Major Changes + +- eb64397: Refactor schema properties, align identifiers with https://eur-lex.europa.eu/eli/reg_impl/2024/2977/oj. + ## 2.0.0 ### Major Changes diff --git a/schemas/vcdm2.0/vid/natural-person/README.md b/schemas/vcdm2.0/vid/natural-person/README.md index 79617acaf24d4671d4983cd000b3a94376c68fc1..8e495d75d95e38e4ffddff5778930dd896f97f9d 100644 --- a/schemas/vcdm2.0/vid/natural-person/README.md +++ b/schemas/vcdm2.0/vid/natural-person/README.md @@ -8,8 +8,8 @@ The schema is published to the [Trusted Schemas Registry](https://hub.ebsi.eu/apis/pilot/trusted-schemas-registry) with the IDs: -- `0xa6c60f3f2bca61dda2c4e8ff1b4dd1ad16231663f87bb63bc6392b051f8a30fc` (hexadecimal) -- `zCE1qsru5EFwBp1xCsLJYi5ZkVw7c9CxywxWA6HPw5E51` (multibase base58btc) +- `0x1545bf559f8570a0d6789ebdbd29bcd65e3b532b75ac9cf110b30d4b474b085b` (hexadecimal) +- `z2S3FJb44vvWZoD9iqBYJ74jwDCHRx8vzPGghpAVn399C` (multibase base58btc) ## Table of Contents @@ -32,642 +32,644 @@ The schema is published to the [Trusted Schemas Registry](https://hub.ebsi.eu/ap }, { "type": "object", - "required": ["expiryDate"], "properties": { - "expiryDate": { - "type": "string", - "format": "date-time", - "description": "Date (and if possible time) when the person identification data will expire." - }, - "documentNumber": { - "type": "string", - "description": "A number for the person identification data, assigned by the provider of person identification data.", - "nullable": true - }, - "issuer": { - "type": "object", - "properties": { - "issuingAuthority": { - "type": "string", - "description": "Name of the administrative authority that issued the person identification data, or the ISO 3166 alpha-2 country code of the respective Member State if there is no separate authority entitled to issue person identification data." - }, - "issuingCountry": { - "type": "string", - "pattern": "^[A-Z]{2}$", - "description": "Alpha-2 country code, as specified in ISO 3166-1, of the country or territory of the provider of the person identification data." - }, - "issuingJurisdiction": { - "type": "string", - "pattern": "^[A-Z]{2}(-[A-Za-z0-9]{1,3})?$", - "description": "Country subdivision code of the jurisdiction that issued the person identification data, as specified in ISO 3166-2:2020, Clause 8. The first part of the code shall be the same as the value for the issuing country.", - "nullable": true - }, - "locationStatus": { - "type": "string", - "description": "The location of validity status information on the person identification data where the providers of person identification data revoke person identification data.", - "nullable": true - } - }, - "required": ["issuingAuthority", "issuingCountry"] - }, "credentialSubject": { "type": "object", "properties": { - "familyName": { - "type": "string", - "description": "Current last name(s) or surname(s) of the user to whom the person identification data relates.", - "minLength": 1 - }, - "givenName": { - "type": "string", - "description": "Current first name(s), including middle name(s) where applicable, of the user to whom the person identification data relates.", - "minLength": 1 - }, - "birthDate": { - "type": "string", - "format": "date", - "description": "Day, month, and year on which the user to whom the person identification data relates was born." - }, - "birthPlace": { - "type": "string", - "description": "The country as an alpha-2 country code as specified in ISO 3166-1, or the state, province, district, or local area or the municipality, city, town, or village where the user to whom the person identification data relates was born." - }, - "nationality": { - "type": "array", - "items": { - "type": "string", - "enum": [ - "AF", - "AX", - "AL", - "DZ", - "AS", - "AD", - "AO", - "AI", - "AQ", - "AG", - "AR", - "AM", - "AW", - "AU", - "AT", - "AZ", - "BS", - "BH", - "BD", - "BB", - "BY", - "BE", - "BZ", - "BJ", - "BM", - "BT", - "BO", - "BQ", - "BA", - "BW", - "BV", - "BR", - "IO", - "BN", - "BG", - "BF", - "BI", - "CV", - "KH", - "CM", - "CA", - "KY", - "CF", - "TD", - "CL", - "CN", - "CX", - "CC", - "CO", - "KM", - "CD", - "CG", - "CK", - "CR", - "CI", - "HR", - "CU", - "CW", - "CY", - "CZ", - "DK", - "DJ", - "DM", - "DO", - "EC", - "EG", - "SV", - "GQ", - "ER", - "EE", - "SZ", - "ET", - "FK", - "FO", - "FJ", - "FI", - "FR", - "GF", - "PF", - "TF", - "GA", - "GM", - "GE", - "DE", - "GH", - "GI", - "GR", - "GL", - "GD", - "GP", - "GU", - "GT", - "GG", - "GN", - "GW", - "GY", - "HT", - "HM", - "VA", - "HN", - "HK", - "HU", - "IS", - "IN", - "ID", - "IR", - "IQ", - "IE", - "IM", - "IL", - "IT", - "JM", - "JP", - "JE", - "JO", - "KZ", - "KE", - "KI", - "KP", - "KR", - "KW", - "KG", - "LA", - "LV", - "LB", - "LS", - "LR", - "LY", - "LI", - "LT", - "LU", - "MO", - "MG", - "MW", - "MY", - "MV", - "ML", - "MT", - "MH", - "MQ", - "MR", - "MU", - "YT", - "MX", - "FM", - "MD", - "MC", - "MN", - "ME", - "MS", - "MA", - "MZ", - "MM", - "NA", - "NR", - "NP", - "NL", - "NC", - "NZ", - "NI", - "NE", - "NG", - "NU", - "NF", - "MK", - "MP", - "NO", - "OM", - "PK", - "PW", - "PS", - "PA", - "PG", - "PY", - "PE", - "PH", - "PN", - "PL", - "PT", - "PR", - "QA", - "RE", - "RO", - "RU", - "RW", - "BL", - "SH", - "KN", - "LC", - "MF", - "PM", - "VC", - "WS", - "SM", - "ST", - "SA", - "SN", - "RS", - "SC", - "SL", - "SG", - "SX", - "SK", - "SI", - "SB", - "SO", - "ZA", - "GS", - "SS", - "ES", - "LK", - "SD", - "SR", - "SJ", - "SE", - "CH", - "SY", - "TW", - "TJ", - "TZ", - "TH", - "TL", - "TG", - "TK", - "TO", - "TT", - "TN", - "TR", - "TM", - "TC", - "TV", - "UG", - "UA", - "AE", - "GB", - "US", - "UM", - "UY", - "UZ", - "VU", - "VE", - "VN", - "VG", - "VI", - "WF", - "EH", - "YE", - "ZM", - "ZW" - ] + "personIdentificationData": { + "type": "object", + "properties": { + "family_name": { + "type": "string", + "description": "Current last name(s) or surname(s) of the user to whom the person identification data relates.", + "minLength": 1 + }, + "given_name": { + "type": "string", + "description": "Current first name(s), including middle name(s) where applicable, of the user to whom the person identification data relates.", + "minLength": 1 + }, + "birth_date": { + "type": "string", + "format": "date", + "description": "Day, month, and year on which the user to whom the person identification data relates was born." + }, + "birth_place": { + "type": "string", + "description": "The country as an alpha-2 country code as specified in ISO 3166-1, or the state, province, district, or local area or the municipality, city, town, or village where the user to whom the person identification data relates was born." + }, + "nationality": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "AF", + "AX", + "AL", + "DZ", + "AS", + "AD", + "AO", + "AI", + "AQ", + "AG", + "AR", + "AM", + "AW", + "AU", + "AT", + "AZ", + "BS", + "BH", + "BD", + "BB", + "BY", + "BE", + "BZ", + "BJ", + "BM", + "BT", + "BO", + "BQ", + "BA", + "BW", + "BV", + "BR", + "IO", + "BN", + "BG", + "BF", + "BI", + "CV", + "KH", + "CM", + "CA", + "KY", + "CF", + "TD", + "CL", + "CN", + "CX", + "CC", + "CO", + "KM", + "CD", + "CG", + "CK", + "CR", + "CI", + "HR", + "CU", + "CW", + "CY", + "CZ", + "DK", + "DJ", + "DM", + "DO", + "EC", + "EG", + "SV", + "GQ", + "ER", + "EE", + "SZ", + "ET", + "FK", + "FO", + "FJ", + "FI", + "FR", + "GF", + "PF", + "TF", + "GA", + "GM", + "GE", + "DE", + "GH", + "GI", + "GR", + "GL", + "GD", + "GP", + "GU", + "GT", + "GG", + "GN", + "GW", + "GY", + "HT", + "HM", + "VA", + "HN", + "HK", + "HU", + "IS", + "IN", + "ID", + "IR", + "IQ", + "IE", + "IM", + "IL", + "IT", + "JM", + "JP", + "JE", + "JO", + "KZ", + "KE", + "KI", + "KP", + "KR", + "KW", + "KG", + "LA", + "LV", + "LB", + "LS", + "LR", + "LY", + "LI", + "LT", + "LU", + "MO", + "MG", + "MW", + "MY", + "MV", + "ML", + "MT", + "MH", + "MQ", + "MR", + "MU", + "YT", + "MX", + "FM", + "MD", + "MC", + "MN", + "ME", + "MS", + "MA", + "MZ", + "MM", + "NA", + "NR", + "NP", + "NL", + "NC", + "NZ", + "NI", + "NE", + "NG", + "NU", + "NF", + "MK", + "MP", + "NO", + "OM", + "PK", + "PW", + "PS", + "PA", + "PG", + "PY", + "PE", + "PH", + "PN", + "PL", + "PT", + "PR", + "QA", + "RE", + "RO", + "RU", + "RW", + "BL", + "SH", + "KN", + "LC", + "MF", + "PM", + "VC", + "WS", + "SM", + "ST", + "SA", + "SN", + "RS", + "SC", + "SL", + "SG", + "SX", + "SK", + "SI", + "SB", + "SO", + "ZA", + "GS", + "SS", + "ES", + "LK", + "SD", + "SR", + "SJ", + "SE", + "CH", + "SY", + "TW", + "TJ", + "TZ", + "TH", + "TL", + "TG", + "TK", + "TO", + "TT", + "TN", + "TR", + "TM", + "TC", + "TV", + "UG", + "UA", + "AE", + "GB", + "US", + "UM", + "UY", + "UZ", + "VU", + "VE", + "VN", + "VG", + "VI", + "WF", + "EH", + "YE", + "ZM", + "ZW" + ] + }, + "description": "One or more alpha-2 country codes as specified in ISO 3166-1, representing the nationality of the user to whom the person identification data relates." + }, + "resident_address": { + "type": "string", + "description": "The full address of the place where the user to whom the person identification data relates currently resides or can be contacted (street name, house number, city etc.)." + }, + "resident_country": { + "type": "string", + "enum": [ + "AF", + "AX", + "AL", + "DZ", + "AS", + "AD", + "AO", + "AI", + "AQ", + "AG", + "AR", + "AM", + "AW", + "AU", + "AT", + "AZ", + "BS", + "BH", + "BD", + "BB", + "BY", + "BE", + "BZ", + "BJ", + "BM", + "BT", + "BO", + "BQ", + "BA", + "BW", + "BV", + "BR", + "IO", + "BN", + "BG", + "BF", + "BI", + "CV", + "KH", + "CM", + "CA", + "KY", + "CF", + "TD", + "CL", + "CN", + "CX", + "CC", + "CO", + "KM", + "CD", + "CG", + "CK", + "CR", + "CI", + "HR", + "CU", + "CW", + "CY", + "CZ", + "DK", + "DJ", + "DM", + "DO", + "EC", + "EG", + "SV", + "GQ", + "ER", + "EE", + "SZ", + "ET", + "FK", + "FO", + "FJ", + "FI", + "FR", + "GF", + "PF", + "TF", + "GA", + "GM", + "GE", + "DE", + "GH", + "GI", + "GR", + "GL", + "GD", + "GP", + "GU", + "GT", + "GG", + "GN", + "GW", + "GY", + "HT", + "HM", + "VA", + "HN", + "HK", + "HU", + "IS", + "IN", + "ID", + "IR", + "IQ", + "IE", + "IM", + "IL", + "IT", + "JM", + "JP", + "JE", + "JO", + "KZ", + "KE", + "KI", + "KP", + "KR", + "KW", + "KG", + "LA", + "LV", + "LB", + "LS", + "LR", + "LY", + "LI", + "LT", + "LU", + "MO", + "MG", + "MW", + "MY", + "MV", + "ML", + "MT", + "MH", + "MQ", + "MR", + "MU", + "YT", + "MX", + "FM", + "MD", + "MC", + "MN", + "ME", + "MS", + "MA", + "MZ", + "MM", + "NA", + "NR", + "NP", + "NL", + "NC", + "NZ", + "NI", + "NE", + "NG", + "NU", + "NF", + "MK", + "MP", + "NO", + "OM", + "PK", + "PW", + "PS", + "PA", + "PG", + "PY", + "PE", + "PH", + "PN", + "PL", + "PT", + "PR", + "QA", + "RE", + "RO", + "RU", + "RW", + "BL", + "SH", + "KN", + "LC", + "MF", + "PM", + "VC", + "WS", + "SM", + "ST", + "SA", + "SN", + "RS", + "SC", + "SL", + "SG", + "SX", + "SK", + "SI", + "SB", + "SO", + "ZA", + "GS", + "SS", + "ES", + "LK", + "SD", + "SR", + "SJ", + "SE", + "CH", + "SY", + "TW", + "TJ", + "TZ", + "TH", + "TL", + "TG", + "TK", + "TO", + "TT", + "TN", + "TR", + "TM", + "TC", + "TV", + "UG", + "UA", + "AE", + "GB", + "US", + "UM", + "UY", + "UZ", + "VU", + "VE", + "VN", + "VG", + "VI", + "WF", + "EH", + "YE", + "ZM", + "ZW" + ], + "description": "The country where the user to whom the person identification data relates currently resides, as an alpha-2 country code as specified in ISO 3166-1." + }, + "resident_state": { + "type": "string", + "description": "The state, province, district, or local area where the user to whom the person identification data relates currently resides." + }, + "resident_city": { + "type": "string", + "description": "The municipality, city, town, or village where the user to whom the person identification data relates currently resides." + }, + "resident_postal_code": { + "type": "string", + "description": "The postal code of the place where the user to whom the person identification data relates currently resides." + }, + "resident_street": { + "type": "string", + "description": "The name of the street where the user to whom the person identification data relates currently resides." + }, + "resident_house_number": { + "type": "string", + "description": "The house number where the user to whom the person identification data relates currently resides, including any affix or suffix." + }, + "personal_administrative_number": { + "type": "string", + "description": "A value assigned to the natural person that is unique among all personal administrative numbers issued by the provider of person identification data. Where Member States opt to include this attribute, they shall describe in their electronic identification schemes under which the person identification data is issued, the policy that they apply to the values of this attribute, including, where applicable, specific conditions for the processing of this value." + }, + "portrait": { + "type": "string", + "description": "Facial image of the wallet user compliant with ISO 19794-5 or ISO 39794 specifications." + }, + "family_name_birth": { + "type": "string", + "description": "Last name(s) or surname(s) of the person identification data user at the time of birth." + }, + "given_name_birth": { + "type": "string", + "description": "First name(s), including middle name(s), of the person identification data user at the time of birth." + }, + "sex": { + "type": "integer", + "enum": [0, 1, 2, 3, 4, 5, 6, 9], + "description": "Sex of the user. Values: 0 = not known, 1 = male, 2 = female, 3 = other, 4 = inter, 5 = diverse, 6 = open, 9 = not applicable. For values 0, 1, 2 and 9, ISO/IEC 5218 applies." + }, + "email_address": { + "type": "string", + "format": "email", + "description": "Electronic mail address of the user to whom the person identification data relates [in conformance with RFC 5322]." + }, + "mobile_phone_number": { + "type": "string", + "pattern": "^\\+\\d+$", + "description": "Mobile telephone number of the user to whom the person identification data relates, starting with the ‘+’ symbol as the international code prefix and the country code, followed by numbers only." + }, + "expiry_date": { + "type": "string", + "format": "date-time", + "description": "Date (and if possible time) when the person identification data will expire." + }, + "document_number": { + "type": "string", + "description": "A number for the person identification data, assigned by the provider of person identification data.", + "nullable": true + }, + "issuing_authority": { + "type": "string", + "description": "Name of the administrative authority that issued the person identification data, or the ISO 3166 alpha-2 country code of the respective Member State if there is no separate authority entitled to issue person identification data." + }, + "issuing_country": { + "type": "string", + "pattern": "^[A-Z]{2}$", + "description": "Alpha-2 country code, as specified in ISO 3166-1, of the country or territory of the provider of the person identification data." + }, + "issuing_jurisdiction": { + "type": "string", + "pattern": "^[A-Z]{2}(-[A-Za-z0-9]{1,3})?$", + "description": "Country subdivision code of the jurisdiction that issued the person identification data, as specified in ISO 3166-2:2020, Clause 8. The first part of the code shall be the same as the value for the issuing country.", + "nullable": true + }, + "location_status": { + "type": "string", + "description": "The location of validity status information on the person identification data where the providers of person identification data revoke person identification data.", + "nullable": true + } }, - "description": "One or more alpha-2 country codes as specified in ISO 3166-1, representing the nationality of the user to whom the person identification data relates." - }, - "residentAddress": { - "type": "string", - "description": "The full address of the place where the user to whom the person identification data relates currently resides or can be contacted (street name, house number, city etc.)." - }, - "residentCountry": { - "type": "string", - "enum": [ - "AF", - "AX", - "AL", - "DZ", - "AS", - "AD", - "AO", - "AI", - "AQ", - "AG", - "AR", - "AM", - "AW", - "AU", - "AT", - "AZ", - "BS", - "BH", - "BD", - "BB", - "BY", - "BE", - "BZ", - "BJ", - "BM", - "BT", - "BO", - "BQ", - "BA", - "BW", - "BV", - "BR", - "IO", - "BN", - "BG", - "BF", - "BI", - "CV", - "KH", - "CM", - "CA", - "KY", - "CF", - "TD", - "CL", - "CN", - "CX", - "CC", - "CO", - "KM", - "CD", - "CG", - "CK", - "CR", - "CI", - "HR", - "CU", - "CW", - "CY", - "CZ", - "DK", - "DJ", - "DM", - "DO", - "EC", - "EG", - "SV", - "GQ", - "ER", - "EE", - "SZ", - "ET", - "FK", - "FO", - "FJ", - "FI", - "FR", - "GF", - "PF", - "TF", - "GA", - "GM", - "GE", - "DE", - "GH", - "GI", - "GR", - "GL", - "GD", - "GP", - "GU", - "GT", - "GG", - "GN", - "GW", - "GY", - "HT", - "HM", - "VA", - "HN", - "HK", - "HU", - "IS", - "IN", - "ID", - "IR", - "IQ", - "IE", - "IM", - "IL", - "IT", - "JM", - "JP", - "JE", - "JO", - "KZ", - "KE", - "KI", - "KP", - "KR", - "KW", - "KG", - "LA", - "LV", - "LB", - "LS", - "LR", - "LY", - "LI", - "LT", - "LU", - "MO", - "MG", - "MW", - "MY", - "MV", - "ML", - "MT", - "MH", - "MQ", - "MR", - "MU", - "YT", - "MX", - "FM", - "MD", - "MC", - "MN", - "ME", - "MS", - "MA", - "MZ", - "MM", - "NA", - "NR", - "NP", - "NL", - "NC", - "NZ", - "NI", - "NE", - "NG", - "NU", - "NF", - "MK", - "MP", - "NO", - "OM", - "PK", - "PW", - "PS", - "PA", - "PG", - "PY", - "PE", - "PH", - "PN", - "PL", - "PT", - "PR", - "QA", - "RE", - "RO", - "RU", - "RW", - "BL", - "SH", - "KN", - "LC", - "MF", - "PM", - "VC", - "WS", - "SM", - "ST", - "SA", - "SN", - "RS", - "SC", - "SL", - "SG", - "SX", - "SK", - "SI", - "SB", - "SO", - "ZA", - "GS", - "SS", - "ES", - "LK", - "SD", - "SR", - "SJ", - "SE", - "CH", - "SY", - "TW", - "TJ", - "TZ", - "TH", - "TL", - "TG", - "TK", - "TO", - "TT", - "TN", - "TR", - "TM", - "TC", - "TV", - "UG", - "UA", - "AE", - "GB", - "US", - "UM", - "UY", - "UZ", - "VU", - "VE", - "VN", - "VG", - "VI", - "WF", - "EH", - "YE", - "ZM", - "ZW" - ], - "description": "The country where the user to whom the person identification data relates currently resides, as an alpha-2 country code as specified in ISO 3166-1." - }, - "residentState": { - "type": "string", - "description": "The state, province, district, or local area where the user to whom the person identification data relates currently resides." - }, - "residentCity": { - "type": "string", - "description": "The municipality, city, town, or village where the user to whom the person identification data relates currently resides." - }, - "residentPostalCode": { - "type": "string", - "description": "The postal code of the place where the user to whom the person identification data relates currently resides." - }, - "residentStreet": { - "type": "string", - "description": "The name of the street where the user to whom the person identification data relates currently resides." - }, - "residentHouseNumber": { - "type": "string", - "description": "The house number where the user to whom the person identification data relates currently resides, including any affix or suffix." - }, - "personalAdministrativeNumber": { - "type": "string", - "description": "A value assigned to the natural person that is unique among all personal administrative numbers issued by the provider of person identification data. Where Member States opt to include this attribute, they shall describe in their electronic identification schemes under which the person identification data is issued, the policy that they apply to the values of this attribute, including, where applicable, specific conditions for the processing of this value." - }, - "portrait": { - "type": "string", - "description": "Facial image of the wallet user compliant with ISO 19794-5 or ISO 39794 specifications." - }, - "familyNameBirth": { - "type": "string", - "description": "Last name(s) or surname(s) of the person identification data user at the time of birth." - }, - "givenNameBirth": { - "type": "string", - "description": "First name(s), including middle name(s), of the person identification data user at the time of birth." - }, - "sex": { - "type": "string", - "enum": ["0", "1", "2", "3", "4", "5", "6", "9"], - "description": "Sex of the user. Values: 0 = not known, 1 = male, 2 = female, 3 = other, 4 = inter, 5 = diverse, 6 = open, 9 = not applicable. For values 0, 1, 2 and 9, ISO/IEC 5218 applies." - }, - "emailAddress": { - "type": "string", - "format": "email", - "description": "Electronic mail address of the user to whom the person identification data relates [in conformance with RFC 5322]." - }, - "mobilePhoneNumber": { - "type": "string", - "pattern": "^\\+\\d+$", - "description": "Mobile telephone number of the user to whom the person identification data relates, starting with the ‘+’ symbol as the international code prefix and the country code, followed by numbers only." + "required": [ + "family_name", + "given_name", + "birth_date", + "birth_place", + "nationality", + "expiry_date", + "issuing_authority", + "issuing_country" + ] } }, - "required": [ - "familyName", - "givenName", - "birthDate", - "birthPlace", - "nationality" - ] + "required": ["personIdentificationData"] } } } @@ -679,13 +681,13 @@ The schema is published to the [Trusted Schemas Registry](https://hub.ebsi.eu/ap ```sh # with npm -npm add @cef-ebsi/vcdm2.0-vid-natural-person-schema@2.0.0 +npm add @cef-ebsi/vcdm2.0-vid-natural-person-schema@3.0.0 # with Yarn -yarn add @cef-ebsi/vcdm2.0-vid-natural-person-schema@2.0.0 +yarn add @cef-ebsi/vcdm2.0-vid-natural-person-schema@3.0.0 # with pnpm -pnpm add @cef-ebsi/vcdm2.0-vid-natural-person-schema@2.0.0 +pnpm add @cef-ebsi/vcdm2.0-vid-natural-person-schema@3.0.0 ``` ## Usage diff --git a/schemas/vcdm2.0/vid/natural-person/examples/example-be.json b/schemas/vcdm2.0/vid/natural-person/examples/example-be.json index df10b55251ee6405b43a0dfbc18825f5988b634d..b5de05ced82593f5ea3e41e8cd09618d91bbb156 100644 --- a/schemas/vcdm2.0/vid/natural-person/examples/example-be.json +++ b/schemas/vcdm2.0/vid/natural-person/examples/example-be.json @@ -3,29 +3,31 @@ "id": "https://example.com/credentials/456", "type": ["VerifiableCredential", "VerifiableAttestation", "VerifiablePID"], "issuer": { - "id": "did:ebsi:123", - "issuingAuthority": "", - "issuingCountry": "BE" + "id": "did:ebsi:123" }, "validFrom": "2023-09-01T00:00:00Z", "validUntil": "2024-08-31T23:59:59Z", - "expiryDate": "2024-08-31T23:59:59Z", "credentialSubject": { "id": "did:key:123", - "familyName": "Dubois", - "givenName": "Sophie", - "birthDate": "1985-05-20", - "birthPlace": "BE", - "nationality": ["BE"], - "residentAddress": "456 Elm Ave, Leuven, VBR 3000, Belgium", - "residentCountry": "BE", - "residentState": "VBR", - "residentCity": "Leuven", - "residentPostalCode": "3000", - "residentStreet": "Elm Ave", - "residentHouseNumber": "456", - "personalAdministrativeNumber": "987654321", - "sex": "2" + "personIdentificationData": { + "family_name": "Dubois", + "given_name": "Sophie", + "birth_date": "1985-05-20", + "birth_place": "BE", + "nationality": ["BE"], + "resident_address": "456 Elm Ave, Leuven, VBR 3000, Belgium", + "resident_country": "BE", + "resident_state": "VBR", + "resident_city": "Leuven", + "resident_postal_code": "3000", + "resident_street": "Elm Ave", + "resident_house_number": "456", + "personal_administrative_number": "987654321", + "sex": 2, + "expiry_date": "2024-08-31T23:59:59Z", + "issuing_authority": "", + "issuing_country": "BE" + } }, "credentialStatus": { "id": "https://api.ebsi.eu/csl", diff --git a/schemas/vcdm2.0/vid/natural-person/package.json b/schemas/vcdm2.0/vid/natural-person/package.json index fe040a1f6d5441574ac6ffc0083247ae839e354b..d7a22a066fb8aefc1bb33331994a7da2cf0446aa 100644 --- a/schemas/vcdm2.0/vid/natural-person/package.json +++ b/schemas/vcdm2.0/vid/natural-person/package.json @@ -1,6 +1,6 @@ { "name": "@cef-ebsi/vcdm2.0-vid-natural-person-schema", - "version": "2.0.0", + "version": "3.0.0", "description": "Person Identification Data for the Natural Person (VCDM 2.0)", "license": "EUPL-1.2", "publishConfig": { diff --git a/schemas/vcdm2.0/vid/natural-person/schema.json b/schemas/vcdm2.0/vid/natural-person/schema.json index c8a5cb2b5de2a9047b5723821a17ff2506b39776..1350ac949b75a0a8e3005420662d89f5bbc619eb 100644 --- a/schemas/vcdm2.0/vid/natural-person/schema.json +++ b/schemas/vcdm2.0/vid/natural-person/schema.json @@ -9,642 +9,644 @@ }, { "type": "object", - "required": ["expiryDate"], "properties": { - "expiryDate": { - "type": "string", - "format": "date-time", - "description": "Date (and if possible time) when the person identification data will expire." - }, - "documentNumber": { - "type": "string", - "description": "A number for the person identification data, assigned by the provider of person identification data.", - "nullable": true - }, - "issuer": { - "type": "object", - "properties": { - "issuingAuthority": { - "type": "string", - "description": "Name of the administrative authority that issued the person identification data, or the ISO 3166 alpha-2 country code of the respective Member State if there is no separate authority entitled to issue person identification data." - }, - "issuingCountry": { - "type": "string", - "pattern": "^[A-Z]{2}$", - "description": "Alpha-2 country code, as specified in ISO 3166-1, of the country or territory of the provider of the person identification data." - }, - "issuingJurisdiction": { - "type": "string", - "pattern": "^[A-Z]{2}(-[A-Za-z0-9]{1,3})?$", - "description": "Country subdivision code of the jurisdiction that issued the person identification data, as specified in ISO 3166-2:2020, Clause 8. The first part of the code shall be the same as the value for the issuing country.", - "nullable": true - }, - "locationStatus": { - "type": "string", - "description": "The location of validity status information on the person identification data where the providers of person identification data revoke person identification data.", - "nullable": true - } - }, - "required": ["issuingAuthority", "issuingCountry"] - }, "credentialSubject": { "type": "object", "properties": { - "familyName": { - "type": "string", - "description": "Current last name(s) or surname(s) of the user to whom the person identification data relates.", - "minLength": 1 - }, - "givenName": { - "type": "string", - "description": "Current first name(s), including middle name(s) where applicable, of the user to whom the person identification data relates.", - "minLength": 1 - }, - "birthDate": { - "type": "string", - "format": "date", - "description": "Day, month, and year on which the user to whom the person identification data relates was born." - }, - "birthPlace": { - "type": "string", - "description": "The country as an alpha-2 country code as specified in ISO 3166-1, or the state, province, district, or local area or the municipality, city, town, or village where the user to whom the person identification data relates was born." - }, - "nationality": { - "type": "array", - "items": { - "type": "string", - "enum": [ - "AF", - "AX", - "AL", - "DZ", - "AS", - "AD", - "AO", - "AI", - "AQ", - "AG", - "AR", - "AM", - "AW", - "AU", - "AT", - "AZ", - "BS", - "BH", - "BD", - "BB", - "BY", - "BE", - "BZ", - "BJ", - "BM", - "BT", - "BO", - "BQ", - "BA", - "BW", - "BV", - "BR", - "IO", - "BN", - "BG", - "BF", - "BI", - "CV", - "KH", - "CM", - "CA", - "KY", - "CF", - "TD", - "CL", - "CN", - "CX", - "CC", - "CO", - "KM", - "CD", - "CG", - "CK", - "CR", - "CI", - "HR", - "CU", - "CW", - "CY", - "CZ", - "DK", - "DJ", - "DM", - "DO", - "EC", - "EG", - "SV", - "GQ", - "ER", - "EE", - "SZ", - "ET", - "FK", - "FO", - "FJ", - "FI", - "FR", - "GF", - "PF", - "TF", - "GA", - "GM", - "GE", - "DE", - "GH", - "GI", - "GR", - "GL", - "GD", - "GP", - "GU", - "GT", - "GG", - "GN", - "GW", - "GY", - "HT", - "HM", - "VA", - "HN", - "HK", - "HU", - "IS", - "IN", - "ID", - "IR", - "IQ", - "IE", - "IM", - "IL", - "IT", - "JM", - "JP", - "JE", - "JO", - "KZ", - "KE", - "KI", - "KP", - "KR", - "KW", - "KG", - "LA", - "LV", - "LB", - "LS", - "LR", - "LY", - "LI", - "LT", - "LU", - "MO", - "MG", - "MW", - "MY", - "MV", - "ML", - "MT", - "MH", - "MQ", - "MR", - "MU", - "YT", - "MX", - "FM", - "MD", - "MC", - "MN", - "ME", - "MS", - "MA", - "MZ", - "MM", - "NA", - "NR", - "NP", - "NL", - "NC", - "NZ", - "NI", - "NE", - "NG", - "NU", - "NF", - "MK", - "MP", - "NO", - "OM", - "PK", - "PW", - "PS", - "PA", - "PG", - "PY", - "PE", - "PH", - "PN", - "PL", - "PT", - "PR", - "QA", - "RE", - "RO", - "RU", - "RW", - "BL", - "SH", - "KN", - "LC", - "MF", - "PM", - "VC", - "WS", - "SM", - "ST", - "SA", - "SN", - "RS", - "SC", - "SL", - "SG", - "SX", - "SK", - "SI", - "SB", - "SO", - "ZA", - "GS", - "SS", - "ES", - "LK", - "SD", - "SR", - "SJ", - "SE", - "CH", - "SY", - "TW", - "TJ", - "TZ", - "TH", - "TL", - "TG", - "TK", - "TO", - "TT", - "TN", - "TR", - "TM", - "TC", - "TV", - "UG", - "UA", - "AE", - "GB", - "US", - "UM", - "UY", - "UZ", - "VU", - "VE", - "VN", - "VG", - "VI", - "WF", - "EH", - "YE", - "ZM", - "ZW" - ] + "personIdentificationData": { + "type": "object", + "properties": { + "family_name": { + "type": "string", + "description": "Current last name(s) or surname(s) of the user to whom the person identification data relates.", + "minLength": 1 + }, + "given_name": { + "type": "string", + "description": "Current first name(s), including middle name(s) where applicable, of the user to whom the person identification data relates.", + "minLength": 1 + }, + "birth_date": { + "type": "string", + "format": "date", + "description": "Day, month, and year on which the user to whom the person identification data relates was born." + }, + "birth_place": { + "type": "string", + "description": "The country as an alpha-2 country code as specified in ISO 3166-1, or the state, province, district, or local area or the municipality, city, town, or village where the user to whom the person identification data relates was born." + }, + "nationality": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "AF", + "AX", + "AL", + "DZ", + "AS", + "AD", + "AO", + "AI", + "AQ", + "AG", + "AR", + "AM", + "AW", + "AU", + "AT", + "AZ", + "BS", + "BH", + "BD", + "BB", + "BY", + "BE", + "BZ", + "BJ", + "BM", + "BT", + "BO", + "BQ", + "BA", + "BW", + "BV", + "BR", + "IO", + "BN", + "BG", + "BF", + "BI", + "CV", + "KH", + "CM", + "CA", + "KY", + "CF", + "TD", + "CL", + "CN", + "CX", + "CC", + "CO", + "KM", + "CD", + "CG", + "CK", + "CR", + "CI", + "HR", + "CU", + "CW", + "CY", + "CZ", + "DK", + "DJ", + "DM", + "DO", + "EC", + "EG", + "SV", + "GQ", + "ER", + "EE", + "SZ", + "ET", + "FK", + "FO", + "FJ", + "FI", + "FR", + "GF", + "PF", + "TF", + "GA", + "GM", + "GE", + "DE", + "GH", + "GI", + "GR", + "GL", + "GD", + "GP", + "GU", + "GT", + "GG", + "GN", + "GW", + "GY", + "HT", + "HM", + "VA", + "HN", + "HK", + "HU", + "IS", + "IN", + "ID", + "IR", + "IQ", + "IE", + "IM", + "IL", + "IT", + "JM", + "JP", + "JE", + "JO", + "KZ", + "KE", + "KI", + "KP", + "KR", + "KW", + "KG", + "LA", + "LV", + "LB", + "LS", + "LR", + "LY", + "LI", + "LT", + "LU", + "MO", + "MG", + "MW", + "MY", + "MV", + "ML", + "MT", + "MH", + "MQ", + "MR", + "MU", + "YT", + "MX", + "FM", + "MD", + "MC", + "MN", + "ME", + "MS", + "MA", + "MZ", + "MM", + "NA", + "NR", + "NP", + "NL", + "NC", + "NZ", + "NI", + "NE", + "NG", + "NU", + "NF", + "MK", + "MP", + "NO", + "OM", + "PK", + "PW", + "PS", + "PA", + "PG", + "PY", + "PE", + "PH", + "PN", + "PL", + "PT", + "PR", + "QA", + "RE", + "RO", + "RU", + "RW", + "BL", + "SH", + "KN", + "LC", + "MF", + "PM", + "VC", + "WS", + "SM", + "ST", + "SA", + "SN", + "RS", + "SC", + "SL", + "SG", + "SX", + "SK", + "SI", + "SB", + "SO", + "ZA", + "GS", + "SS", + "ES", + "LK", + "SD", + "SR", + "SJ", + "SE", + "CH", + "SY", + "TW", + "TJ", + "TZ", + "TH", + "TL", + "TG", + "TK", + "TO", + "TT", + "TN", + "TR", + "TM", + "TC", + "TV", + "UG", + "UA", + "AE", + "GB", + "US", + "UM", + "UY", + "UZ", + "VU", + "VE", + "VN", + "VG", + "VI", + "WF", + "EH", + "YE", + "ZM", + "ZW" + ] + }, + "description": "One or more alpha-2 country codes as specified in ISO 3166-1, representing the nationality of the user to whom the person identification data relates." + }, + "resident_address": { + "type": "string", + "description": "The full address of the place where the user to whom the person identification data relates currently resides or can be contacted (street name, house number, city etc.)." + }, + "resident_country": { + "type": "string", + "enum": [ + "AF", + "AX", + "AL", + "DZ", + "AS", + "AD", + "AO", + "AI", + "AQ", + "AG", + "AR", + "AM", + "AW", + "AU", + "AT", + "AZ", + "BS", + "BH", + "BD", + "BB", + "BY", + "BE", + "BZ", + "BJ", + "BM", + "BT", + "BO", + "BQ", + "BA", + "BW", + "BV", + "BR", + "IO", + "BN", + "BG", + "BF", + "BI", + "CV", + "KH", + "CM", + "CA", + "KY", + "CF", + "TD", + "CL", + "CN", + "CX", + "CC", + "CO", + "KM", + "CD", + "CG", + "CK", + "CR", + "CI", + "HR", + "CU", + "CW", + "CY", + "CZ", + "DK", + "DJ", + "DM", + "DO", + "EC", + "EG", + "SV", + "GQ", + "ER", + "EE", + "SZ", + "ET", + "FK", + "FO", + "FJ", + "FI", + "FR", + "GF", + "PF", + "TF", + "GA", + "GM", + "GE", + "DE", + "GH", + "GI", + "GR", + "GL", + "GD", + "GP", + "GU", + "GT", + "GG", + "GN", + "GW", + "GY", + "HT", + "HM", + "VA", + "HN", + "HK", + "HU", + "IS", + "IN", + "ID", + "IR", + "IQ", + "IE", + "IM", + "IL", + "IT", + "JM", + "JP", + "JE", + "JO", + "KZ", + "KE", + "KI", + "KP", + "KR", + "KW", + "KG", + "LA", + "LV", + "LB", + "LS", + "LR", + "LY", + "LI", + "LT", + "LU", + "MO", + "MG", + "MW", + "MY", + "MV", + "ML", + "MT", + "MH", + "MQ", + "MR", + "MU", + "YT", + "MX", + "FM", + "MD", + "MC", + "MN", + "ME", + "MS", + "MA", + "MZ", + "MM", + "NA", + "NR", + "NP", + "NL", + "NC", + "NZ", + "NI", + "NE", + "NG", + "NU", + "NF", + "MK", + "MP", + "NO", + "OM", + "PK", + "PW", + "PS", + "PA", + "PG", + "PY", + "PE", + "PH", + "PN", + "PL", + "PT", + "PR", + "QA", + "RE", + "RO", + "RU", + "RW", + "BL", + "SH", + "KN", + "LC", + "MF", + "PM", + "VC", + "WS", + "SM", + "ST", + "SA", + "SN", + "RS", + "SC", + "SL", + "SG", + "SX", + "SK", + "SI", + "SB", + "SO", + "ZA", + "GS", + "SS", + "ES", + "LK", + "SD", + "SR", + "SJ", + "SE", + "CH", + "SY", + "TW", + "TJ", + "TZ", + "TH", + "TL", + "TG", + "TK", + "TO", + "TT", + "TN", + "TR", + "TM", + "TC", + "TV", + "UG", + "UA", + "AE", + "GB", + "US", + "UM", + "UY", + "UZ", + "VU", + "VE", + "VN", + "VG", + "VI", + "WF", + "EH", + "YE", + "ZM", + "ZW" + ], + "description": "The country where the user to whom the person identification data relates currently resides, as an alpha-2 country code as specified in ISO 3166-1." + }, + "resident_state": { + "type": "string", + "description": "The state, province, district, or local area where the user to whom the person identification data relates currently resides." + }, + "resident_city": { + "type": "string", + "description": "The municipality, city, town, or village where the user to whom the person identification data relates currently resides." + }, + "resident_postal_code": { + "type": "string", + "description": "The postal code of the place where the user to whom the person identification data relates currently resides." + }, + "resident_street": { + "type": "string", + "description": "The name of the street where the user to whom the person identification data relates currently resides." + }, + "resident_house_number": { + "type": "string", + "description": "The house number where the user to whom the person identification data relates currently resides, including any affix or suffix." + }, + "personal_administrative_number": { + "type": "string", + "description": "A value assigned to the natural person that is unique among all personal administrative numbers issued by the provider of person identification data. Where Member States opt to include this attribute, they shall describe in their electronic identification schemes under which the person identification data is issued, the policy that they apply to the values of this attribute, including, where applicable, specific conditions for the processing of this value." + }, + "portrait": { + "type": "string", + "description": "Facial image of the wallet user compliant with ISO 19794-5 or ISO 39794 specifications." + }, + "family_name_birth": { + "type": "string", + "description": "Last name(s) or surname(s) of the person identification data user at the time of birth." + }, + "given_name_birth": { + "type": "string", + "description": "First name(s), including middle name(s), of the person identification data user at the time of birth." + }, + "sex": { + "type": "integer", + "enum": [0, 1, 2, 3, 4, 5, 6, 9], + "description": "Sex of the user. Values: 0 = not known, 1 = male, 2 = female, 3 = other, 4 = inter, 5 = diverse, 6 = open, 9 = not applicable. For values 0, 1, 2 and 9, ISO/IEC 5218 applies." + }, + "email_address": { + "type": "string", + "format": "email", + "description": "Electronic mail address of the user to whom the person identification data relates [in conformance with RFC 5322]." + }, + "mobile_phone_number": { + "type": "string", + "pattern": "^\\+\\d+$", + "description": "Mobile telephone number of the user to whom the person identification data relates, starting with the ‘+’ symbol as the international code prefix and the country code, followed by numbers only." + }, + "expiry_date": { + "type": "string", + "format": "date-time", + "description": "Date (and if possible time) when the person identification data will expire." + }, + "document_number": { + "type": "string", + "description": "A number for the person identification data, assigned by the provider of person identification data.", + "nullable": true + }, + "issuing_authority": { + "type": "string", + "description": "Name of the administrative authority that issued the person identification data, or the ISO 3166 alpha-2 country code of the respective Member State if there is no separate authority entitled to issue person identification data." + }, + "issuing_country": { + "type": "string", + "pattern": "^[A-Z]{2}$", + "description": "Alpha-2 country code, as specified in ISO 3166-1, of the country or territory of the provider of the person identification data." + }, + "issuing_jurisdiction": { + "type": "string", + "pattern": "^[A-Z]{2}(-[A-Za-z0-9]{1,3})?$", + "description": "Country subdivision code of the jurisdiction that issued the person identification data, as specified in ISO 3166-2:2020, Clause 8. The first part of the code shall be the same as the value for the issuing country.", + "nullable": true + }, + "location_status": { + "type": "string", + "description": "The location of validity status information on the person identification data where the providers of person identification data revoke person identification data.", + "nullable": true + } }, - "description": "One or more alpha-2 country codes as specified in ISO 3166-1, representing the nationality of the user to whom the person identification data relates." - }, - "residentAddress": { - "type": "string", - "description": "The full address of the place where the user to whom the person identification data relates currently resides or can be contacted (street name, house number, city etc.)." - }, - "residentCountry": { - "type": "string", - "enum": [ - "AF", - "AX", - "AL", - "DZ", - "AS", - "AD", - "AO", - "AI", - "AQ", - "AG", - "AR", - "AM", - "AW", - "AU", - "AT", - "AZ", - "BS", - "BH", - "BD", - "BB", - "BY", - "BE", - "BZ", - "BJ", - "BM", - "BT", - "BO", - "BQ", - "BA", - "BW", - "BV", - "BR", - "IO", - "BN", - "BG", - "BF", - "BI", - "CV", - "KH", - "CM", - "CA", - "KY", - "CF", - "TD", - "CL", - "CN", - "CX", - "CC", - "CO", - "KM", - "CD", - "CG", - "CK", - "CR", - "CI", - "HR", - "CU", - "CW", - "CY", - "CZ", - "DK", - "DJ", - "DM", - "DO", - "EC", - "EG", - "SV", - "GQ", - "ER", - "EE", - "SZ", - "ET", - "FK", - "FO", - "FJ", - "FI", - "FR", - "GF", - "PF", - "TF", - "GA", - "GM", - "GE", - "DE", - "GH", - "GI", - "GR", - "GL", - "GD", - "GP", - "GU", - "GT", - "GG", - "GN", - "GW", - "GY", - "HT", - "HM", - "VA", - "HN", - "HK", - "HU", - "IS", - "IN", - "ID", - "IR", - "IQ", - "IE", - "IM", - "IL", - "IT", - "JM", - "JP", - "JE", - "JO", - "KZ", - "KE", - "KI", - "KP", - "KR", - "KW", - "KG", - "LA", - "LV", - "LB", - "LS", - "LR", - "LY", - "LI", - "LT", - "LU", - "MO", - "MG", - "MW", - "MY", - "MV", - "ML", - "MT", - "MH", - "MQ", - "MR", - "MU", - "YT", - "MX", - "FM", - "MD", - "MC", - "MN", - "ME", - "MS", - "MA", - "MZ", - "MM", - "NA", - "NR", - "NP", - "NL", - "NC", - "NZ", - "NI", - "NE", - "NG", - "NU", - "NF", - "MK", - "MP", - "NO", - "OM", - "PK", - "PW", - "PS", - "PA", - "PG", - "PY", - "PE", - "PH", - "PN", - "PL", - "PT", - "PR", - "QA", - "RE", - "RO", - "RU", - "RW", - "BL", - "SH", - "KN", - "LC", - "MF", - "PM", - "VC", - "WS", - "SM", - "ST", - "SA", - "SN", - "RS", - "SC", - "SL", - "SG", - "SX", - "SK", - "SI", - "SB", - "SO", - "ZA", - "GS", - "SS", - "ES", - "LK", - "SD", - "SR", - "SJ", - "SE", - "CH", - "SY", - "TW", - "TJ", - "TZ", - "TH", - "TL", - "TG", - "TK", - "TO", - "TT", - "TN", - "TR", - "TM", - "TC", - "TV", - "UG", - "UA", - "AE", - "GB", - "US", - "UM", - "UY", - "UZ", - "VU", - "VE", - "VN", - "VG", - "VI", - "WF", - "EH", - "YE", - "ZM", - "ZW" - ], - "description": "The country where the user to whom the person identification data relates currently resides, as an alpha-2 country code as specified in ISO 3166-1." - }, - "residentState": { - "type": "string", - "description": "The state, province, district, or local area where the user to whom the person identification data relates currently resides." - }, - "residentCity": { - "type": "string", - "description": "The municipality, city, town, or village where the user to whom the person identification data relates currently resides." - }, - "residentPostalCode": { - "type": "string", - "description": "The postal code of the place where the user to whom the person identification data relates currently resides." - }, - "residentStreet": { - "type": "string", - "description": "The name of the street where the user to whom the person identification data relates currently resides." - }, - "residentHouseNumber": { - "type": "string", - "description": "The house number where the user to whom the person identification data relates currently resides, including any affix or suffix." - }, - "personalAdministrativeNumber": { - "type": "string", - "description": "A value assigned to the natural person that is unique among all personal administrative numbers issued by the provider of person identification data. Where Member States opt to include this attribute, they shall describe in their electronic identification schemes under which the person identification data is issued, the policy that they apply to the values of this attribute, including, where applicable, specific conditions for the processing of this value." - }, - "portrait": { - "type": "string", - "description": "Facial image of the wallet user compliant with ISO 19794-5 or ISO 39794 specifications." - }, - "familyNameBirth": { - "type": "string", - "description": "Last name(s) or surname(s) of the person identification data user at the time of birth." - }, - "givenNameBirth": { - "type": "string", - "description": "First name(s), including middle name(s), of the person identification data user at the time of birth." - }, - "sex": { - "type": "string", - "enum": ["0", "1", "2", "3", "4", "5", "6", "9"], - "description": "Sex of the user. Values: 0 = not known, 1 = male, 2 = female, 3 = other, 4 = inter, 5 = diverse, 6 = open, 9 = not applicable. For values 0, 1, 2 and 9, ISO/IEC 5218 applies." - }, - "emailAddress": { - "type": "string", - "format": "email", - "description": "Electronic mail address of the user to whom the person identification data relates [in conformance with RFC 5322]." - }, - "mobilePhoneNumber": { - "type": "string", - "pattern": "^\\+\\d+$", - "description": "Mobile telephone number of the user to whom the person identification data relates, starting with the ‘+’ symbol as the international code prefix and the country code, followed by numbers only." + "required": [ + "family_name", + "given_name", + "birth_date", + "birth_place", + "nationality", + "expiry_date", + "issuing_authority", + "issuing_country" + ] } }, - "required": [ - "familyName", - "givenName", - "birthDate", - "birthPlace", - "nationality" - ] + "required": ["personIdentificationData"] } } } diff --git a/schemas/vcdm2.0/vid/natural-person/schema.metadata.json b/schemas/vcdm2.0/vid/natural-person/schema.metadata.json index bdb25d0e4c3ec73d1188fc0cf36035aeabcecdef..67de26ece7c4c3a2b1e32e126163848583397b35 100644 --- a/schemas/vcdm2.0/vid/natural-person/schema.metadata.json +++ b/schemas/vcdm2.0/vid/natural-person/schema.metadata.json @@ -1,8 +1,8 @@ { "vcdm": "2.0", "id": { - "base16": "0xa6c60f3f2bca61dda2c4e8ff1b4dd1ad16231663f87bb63bc6392b051f8a30fc", - "multibase_base58btc": "zCE1qsru5EFwBp1xCsLJYi5ZkVw7c9CxywxWA6HPw5E51" + "base16": "0x1545bf559f8570a0d6789ebdbd29bcd65e3b532b75ac9cf110b30d4b474b085b", + "multibase_base58btc": "z2S3FJb44vvWZoD9iqBYJ74jwDCHRx8vzPGghpAVn399C" }, "verification": "Documents", "context": "General"