IdHub/schemas/federation-membership.json

133 lines
4.2 KiB
JSON

{
"$id": "https://idhub.pangea.org/vc_schemas/federation-membership.json",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "Federation membership",
"description": "The federation membership specifies participation of a NGO into a NGO federation, as proposed by Lafede.cat",
"name": [
{
"value": "NGO federation membership",
"lang": "en"
},
{
"value": "Membre de federació ONGs",
"lang": "ca_ES"
},
{
"value": "Miembro de federación de ONGs",
"lang": "es"
}
],
"type": "object",
"allOf": [
{
"$ref": "https://idhub.pangea.org/vc_schemas/ebsi/attestation.json"
},
{
"properties": {
"credentialSubject": {
"description": "Defines additional properties on credentialSubject",
"type": "object",
"properties": {
"id": {
"description": "Defines a unique identifier of the credential subject",
"type": "string",
"minLength": 1
},
"federation": {
"description": "Federation the credential subject is affiliated with",
"type": "string",
"minLength": 1
},
"legalName": {
"description": "Legal name of the affiliated organisation",
"type": "string",
"minLength": 1
},
"shortName": {
"description": "Short name of the organisation of the affiliated organisation",
"type": "string"
},
"registrationIdentifier": {
"description": "Registration identifier of the affiliated organisation",
"type": "string"
},
"publicRegistry": {
"description": "Registry where the affiliated organisation is registered: 'Generalitat de Catalunya', 'Ministerio del interior de España'",
"type": "string"
},
"streetAddress": {
"description": "Postal address of the member organisation: legal address",
"type": "string"
},
"postCode": {
"description": "Postal code of the member organisation",
"type": "string",
"minLength": 1
},
"city": {
"description": "City of the member organisation",
"type": "string",
"minLength": 1
},
"taxReference": {
"description": "Tax reference as VAT registration of the member organisation",
"type": "string"
},
"membershipType": {
"description": "Type of membership: full / observer",
"type": "string",
"minLength": 1
},
"membershipStatus": {
"description": "Type of membership: active / suspended, etc.",
"type": "string"
},
"membershipId": {
"description": "Membership identifier: an internal unique number or code",
"type": "string"
},
"membershipSince": {
"type": "string",
"format": "date",
"minLength": 1
},
"email": {
"type": "string",
"format": "email",
"pattern": "^\\S+@\\S+\\.\\S+$"
},
"phone": {
"type": "string"
},
"website": {
"type": ["string", "null"],
"format": "uri"
},
"evidence": {
"description": "Type of evidence used for attestation",
"type": "string"
},
"certificationDate": {
"type": "string",
"format": "date",
"minLength": 1
}
},
"required": [
"id",
"legalName",
"postCode",
"city",
"membershipType",
"membershipStatus",
"federation",
"membershipSince",
"email",
"certificationDate"
]
}
}
}
]
}