From 9ae45c70db374bbe06c56292a7b69b44ac140f9b Mon Sep 17 00:00:00 2001 From: dierstein Date: Tue, 11 Feb 2025 15:52:17 +0000 Subject: [PATCH 01/11] Draft cr 103705 subscriber types --- 103705/schema/etsi_types.schema.json | 190 +++++++++++++++++++++++++++ 1 file changed, 190 insertions(+) diff --git a/103705/schema/etsi_types.schema.json b/103705/schema/etsi_types.schema.json index 1854183d..79ef96e0 100644 --- a/103705/schema/etsi_types.schema.json +++ b/103705/schema/etsi_types.schema.json @@ -406,6 +406,196 @@ } } } + }, + "ValidityPeriod" : { + "type" : "object", + "properties": { + "begin": { + "$ref":"ts_103280_2017_07#/$defs/QualifiedMicrosecondDateTime" + }, + "end": { + "$ref":"ts_103280_2017_07#/$defs/QualifiedMicrosecondDateTime" + } + } + }, + "Person" : { + "type" : "object", + "properties" : { + "surname": { + "type":"string" + }, + "givenNames": { + "type":"string" + }, + "dateOfBirth":{ + "$ref":"ts_103280_2017_07#/$defs/QualifiedDateTime" + } + } + }, + "Organisation" : { + "type" : "object", + "properties" : { + "name": { + "type":"string" + }, + "VATNumber": { + "type":"string", + "pattern": "[A-Z]{2}.*", + "description" : "Value Added Tax number, typically starting with a two letter country code according to ISO code 3166 — alpha 2 — that identifies the state of issue" + } + } + }, + "Address" : { + "type" : "object", + "properties" : { + "street" : { + "type" : "string" + }, + "houseNumber" : { + "type" : "string" + }, + "city" : { + "type" : "string" + }, + "postalCode" : { + "type" : "string" + }, + "countryCode" : { + "$ref" : "ts_103280_2017_07#/$defs/ISOCountryCode" + } + } + }, + "IBAN" : { + "type": "string", + "pattern": "[A-Z]{2}[0-9]{2}[A-Z0-9]{1,30}", + "description" : "International Bank Account Number according to ISO 13616-1:2020" + }, + "BankAccount" : { + "type" : "object", + "properties": { + "iBAN" : { + "$ref":"ts_103705_2024_02#/$defs/IBAN" + }, + "accountHolder": { + "type" : "string" + } + } + }, + "PaymentCardNumber" : { + "type": "string", + "pattern": "^\\d{8,19}$" + }, + "PaymentCard" : { + "type" : "object", + "properties" : { + "paymentCardNumber": { + "$ref" : "ts_103705_2024_02#/$defs/PaymentCardNumber" + }, + "cardHolder" : { + "type" : "string" + }, + "type": { + "type" : "string", + "description" : "nature of the card, i.e. VISA" + }, + "dateOfExpiry" : { + "$ref" : "ts_103280_2017_07#/$defs/QualifiedDateTime" + }, + "checkSum" : { + "type" : "integer" + } + } + }, + "Contract" : { + "type" : "object", + "properties" : { + "id": { + "type" : "string" + }, + "begin" : { + "$ref" : "ts_103280_2017_07#/$defs/QualifiedDateTime" + }, + "end": { + "$ref":"ts_103280_2017_07#/$defs/QualifiedDateTime" + }, + "natureOfContract": { + "type" : "string", + "description" : "nature of the contract, i.e. product or service name" + } + } + }, + "ContactDetails" : { + "type" : "object", + "properties" : { + "emailAddress": { + "type": "array", + "items": { + "$ref" : "ts_103280_2017_07#/$defs/EmailAddress" + } + }, + "phoneNumber": { + "type": "array", + "items": { + "$ref" : "ts_103280_2017_07#/$defs/InternationalE164" + } + }, + "address": { + "type": "array", + "items": { + "$ref":"ts_103705_2024_02#/$defs/Address" + } + } + } + }, + "DocumentFile" : { + "type" : "object", + "properties" : { + "fileName": { + "type" : "string" + }, + "mimeType": { + "type" : "string" + }, + "natureOfDocument": { + "type" : "string" + }, + "content" : { + "type" : "string", + "description" : "content of the file base64 encoded" + }, + "checksum": { + "$ref": "ts_103280_2017_07#/$defs/ShortString" + }, + "checksumType": { + "$ref": "ts_103280_2017_07#/$defs/ShortString", + "description": "algorithm used to compute the checksum" + } + } + }, + "Authentification" : { + "type" : "object", + "properties" : { + "typeOfDocument": { + "type" : "string", + "description" : "nature of the authentification document, i.e. identity card" + }, + "documentNumber": { + "type" : "string" + }, + "issuingAuthority" : { + "type" : "string" + }, + "dateOfExpiry" : { + "$ref":"ts_103280_2017_07#/$defs/QualifiedDateTime" + }, + "countryCode" : { + "$ref":"ts_103280_2017_07#/$defs/ISOCountryCode" + }, + "documentFile" : { + "$ref" : "ts_103705_2024_02#/$defs/DocumentFile" + } + } } } } + -- GitLab From 4fbd7e018ccf1ad10aaa18d9b6db3f3c1dc4fab0 Mon Sep 17 00:00:00 2001 From: dierstein Date: Thu, 13 Feb 2025 14:56:45 +0000 Subject: [PATCH 02/11] rename authentification to identity verification, type to cardType, checksum to cardValidationValue --- 103705/schema/etsi_types.schema.json | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/103705/schema/etsi_types.schema.json b/103705/schema/etsi_types.schema.json index 79ef96e0..1f54973e 100644 --- a/103705/schema/etsi_types.schema.json +++ b/103705/schema/etsi_types.schema.json @@ -488,26 +488,27 @@ "PaymentCard" : { "type" : "object", "properties" : { - "paymentCardNumber": { + "cardNumber": { "$ref" : "ts_103705_2024_02#/$defs/PaymentCardNumber" }, "cardHolder" : { "type" : "string" }, - "type": { + "cardType": { "type" : "string", - "description" : "nature of the card, i.e. VISA" + "description" : "nature of the card, e.g. VISA" }, "dateOfExpiry" : { "$ref" : "ts_103280_2017_07#/$defs/QualifiedDateTime" }, - "checkSum" : { - "type" : "integer" + "cardValidationValue" : { + "type" : "integer", + "description" : "security code e.g. CSC, CVC, CVV" } } }, "Contract" : { - "type" : "object", + "type" : "object", "properties" : { "id": { "type" : "string" @@ -572,12 +573,12 @@ } } }, - "Authentification" : { + "IdentityVerification" : { "type" : "object", "properties" : { "typeOfDocument": { "type" : "string", - "description" : "nature of the authentification document, i.e. identity card" + "description" : "nature of the identity verification document, e.g. identity card" }, "documentNumber": { "type" : "string" -- GitLab From c237fcfe2c394d1c80e679b4aab7892e05d3d266 Mon Sep 17 00:00:00 2001 From: wernersa <1040-wernersa@users.noreply.forge.etsi.org> Date: Thu, 20 Feb 2025 19:00:55 +0000 Subject: [PATCH 03/11] Several updates based on feedback received: - updated internal refs - updated order of definitions - added Date type and use Date for dateOfBirth - added descriptions for surname and given names - added initials, salutation and sex - use of InternationalizedEmailAddress instead of EmailAddress - removed cardValidationValue - editorial update of the description for VATnumber --- 103705/schema/etsi_types.schema.json | 128 +++++++++++++++------------ 1 file changed, 71 insertions(+), 57 deletions(-) diff --git a/103705/schema/etsi_types.schema.json b/103705/schema/etsi_types.schema.json index 1f54973e..d79a4588 100644 --- a/103705/schema/etsi_types.schema.json +++ b/103705/schema/etsi_types.schema.json @@ -422,16 +422,34 @@ "type" : "object", "properties" : { "surname": { - "type":"string" + "type":"string", + "description" : "surname, family name, maiden name, married name, main name, and the entire name, in cases where the name cannot be divided into two part" }, "givenNames": { + "type":"string", + "description" : "given names, forenames, familiar names and any other secondary names" + }, + "initials": { + "type":"string" + }, + "salutation": { "type":"string" }, + "sex": { + "type":"string", + "pattern": "[FMX]", + "description" : "F = female; M = male; X = unspecified; according to e.g. ICAO Document 9303" + }, "dateOfBirth":{ - "$ref":"ts_103280_2017_07#/$defs/QualifiedDateTime" + "$ref":"#/$defs/Date" } } }, + "Date" : { + "type":"string", + "pattern": "[0-9]{4}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])", + "description" : "date in format YYYY-MM-DD" + }, "Organisation" : { "type" : "object", "properties" : { @@ -441,55 +459,31 @@ "VATNumber": { "type":"string", "pattern": "[A-Z]{2}.*", - "description" : "Value Added Tax number, typically starting with a two letter country code according to ISO code 3166 — alpha 2 — that identifies the state of issue" + "description" : "Value Added Tax number, typically starting with a two letter country code according to ISO code 3166 - alpha 2 - that identifies the state of issue" } } - }, - "Address" : { - "type" : "object", - "properties" : { - "street" : { - "type" : "string" - }, - "houseNumber" : { - "type" : "string" - }, - "city" : { - "type" : "string" - }, - "postalCode" : { - "type" : "string" - }, - "countryCode" : { - "$ref" : "ts_103280_2017_07#/$defs/ISOCountryCode" - } - } - }, - "IBAN" : { - "type": "string", - "pattern": "[A-Z]{2}[0-9]{2}[A-Z0-9]{1,30}", - "description" : "International Bank Account Number according to ISO 13616-1:2020" }, "BankAccount" : { "type" : "object", "properties": { "iBAN" : { - "$ref":"ts_103705_2024_02#/$defs/IBAN" + "$ref":"#/$defs/IBAN" }, "accountHolder": { "type" : "string" } } }, - "PaymentCardNumber" : { + "IBAN" : { "type": "string", - "pattern": "^\\d{8,19}$" + "pattern": "[A-Z]{2}[0-9]{2}[A-Z0-9]{1,30}", + "description" : "International Bank Account Number according to ISO 13616-1:2020" }, "PaymentCard" : { "type" : "object", "properties" : { "cardNumber": { - "$ref" : "ts_103705_2024_02#/$defs/PaymentCardNumber" + "$ref" : "#/$defs/PaymentCardNumber" }, "cardHolder" : { "type" : "string" @@ -500,13 +494,13 @@ }, "dateOfExpiry" : { "$ref" : "ts_103280_2017_07#/$defs/QualifiedDateTime" - }, - "cardValidationValue" : { - "type" : "integer", - "description" : "security code e.g. CSC, CVC, CVV" - } + } } }, + "PaymentCardNumber" : { + "type": "string", + "pattern": "^\\d{8,19}$" + }, "Contract" : { "type" : "object", "properties" : { @@ -531,7 +525,7 @@ "emailAddress": { "type": "array", "items": { - "$ref" : "ts_103280_2017_07#/$defs/EmailAddress" + "$ref" : "ts_103280_2017_07#/$defs/InternationalizedEmailAddress" } }, "phoneNumber": { @@ -543,33 +537,28 @@ "address": { "type": "array", "items": { - "$ref":"ts_103705_2024_02#/$defs/Address" + "$ref":"#/$defs/Address" } } } }, - "DocumentFile" : { + "Address" : { "type" : "object", "properties" : { - "fileName": { - "type" : "string" - }, - "mimeType": { - "type" : "string" - }, - "natureOfDocument": { + "street" : { "type" : "string" }, - "content" : { - "type" : "string", - "description" : "content of the file base64 encoded" + "houseNumber" : { + "type" : "string" }, - "checksum": { - "$ref": "ts_103280_2017_07#/$defs/ShortString" - }, - "checksumType": { - "$ref": "ts_103280_2017_07#/$defs/ShortString", - "description": "algorithm used to compute the checksum" + "city" : { + "type" : "string" + }, + "postalCode" : { + "type" : "string" + }, + "countryCode" : { + "$ref" : "ts_103280_2017_07#/$defs/ISOCountryCode" } } }, @@ -593,9 +582,34 @@ "$ref":"ts_103280_2017_07#/$defs/ISOCountryCode" }, "documentFile" : { - "$ref" : "ts_103705_2024_02#/$defs/DocumentFile" + "$ref" : "#/$defs/DocumentFile" } } + }, + "DocumentFile" : { + "type" : "object", + "properties" : { + "fileName": { + "type" : "string" + }, + "mimeType": { + "type" : "string" + }, + "natureOfDocument": { + "type" : "string" + }, + "content" : { + "type" : "string", + "description" : "content of the file base64 encoded" + }, + "checksum": { + "$ref": "ts_103280_2017_07#/$defs/ShortString" + }, + "checksumType": { + "$ref": "ts_103280_2017_07#/$defs/ShortString", + "description": "algorithm used to compute the checksum" + } + } } } } -- GitLab From 042ee69c3bf19a379c92ff55a1044fb0fd1b2676 Mon Sep 17 00:00:00 2001 From: wernersa <1040-wernersa@users.noreply.forge.etsi.org> Date: Fri, 21 Feb 2025 12:27:36 +0000 Subject: [PATCH 04/11] specified reference to ICAO document in the field description --- 103705/schema/etsi_types.schema.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/103705/schema/etsi_types.schema.json b/103705/schema/etsi_types.schema.json index d79a4588..6de10211 100644 --- a/103705/schema/etsi_types.schema.json +++ b/103705/schema/etsi_types.schema.json @@ -438,7 +438,7 @@ "sex": { "type":"string", "pattern": "[FMX]", - "description" : "F = female; M = male; X = unspecified; according to e.g. ICAO Document 9303" + "description" : "F = female; M = male; X = unspecified; according to e.g. ICAO Document 9303 part 4 clause 4.1.1" }, "dateOfBirth":{ "$ref":"#/$defs/Date" -- GitLab From 0ff46525c1003dfdab953666c77872c6df2fc160 Mon Sep 17 00:00:00 2001 From: wernersa <1040-wernersa@users.noreply.forge.etsi.org> Date: Tue, 25 Feb 2025 09:30:09 +0000 Subject: [PATCH 05/11] Updated formatting and editorials in the descriptions Changed field name from documentFile to identityFile --- 103705/schema/etsi_types.schema.json | 192 +++++++++++++-------------- 1 file changed, 96 insertions(+), 96 deletions(-) diff --git a/103705/schema/etsi_types.schema.json b/103705/schema/etsi_types.schema.json index 6de10211..8e14c2a0 100644 --- a/103705/schema/etsi_types.schema.json +++ b/103705/schema/etsi_types.schema.json @@ -407,207 +407,207 @@ } } }, - "ValidityPeriod" : { - "type" : "object", + "ValidityPeriod": { + "type": "object", "properties": { "begin": { - "$ref":"ts_103280_2017_07#/$defs/QualifiedMicrosecondDateTime" + "$ref": "ts_103280_2017_07#/$defs/QualifiedMicrosecondDateTime" }, "end": { - "$ref":"ts_103280_2017_07#/$defs/QualifiedMicrosecondDateTime" + "$ref": "ts_103280_2017_07#/$defs/QualifiedMicrosecondDateTime" } } }, - "Person" : { - "type" : "object", - "properties" : { + "Person": { + "type": "object", + "properties": { "surname": { - "type":"string", - "description" : "surname, family name, maiden name, married name, main name, and the entire name, in cases where the name cannot be divided into two part" + "type": "string", + "description": "Surname, family name, maiden name, married name, main name, or the entire name, in cases where the name cannot be divided into two parts" }, "givenNames": { - "type":"string", - "description" : "given names, forenames, familiar names and any other secondary names" + "type": "string", + "description" : "Given names, forenames, familiar names and any other secondary names" }, "initials": { - "type":"string" + "type": "string" }, "salutation": { - "type":"string" + "type": "string" }, "sex": { - "type":"string", + "type": "string", "pattern": "[FMX]", - "description" : "F = female; M = male; X = unspecified; according to e.g. ICAO Document 9303 part 4 clause 4.1.1" + "description": "F = female; M = male; X = unspecified; according to e.g. ICAO Document 9303 part 4 clause 4.1.1" }, - "dateOfBirth":{ - "$ref":"#/$defs/Date" + "dateOfBirth": { + "$ref": "#/$defs/Date" } } }, - "Date" : { - "type":"string", + "Date": { + "type": "string", "pattern": "[0-9]{4}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])", - "description" : "date in format YYYY-MM-DD" + "description": "Date in format YYYY-MM-DD" }, - "Organisation" : { - "type" : "object", + "Organisation": { + "type": "object", "properties" : { "name": { - "type":"string" + "type": "string" }, "VATNumber": { - "type":"string", + "type": "string", "pattern": "[A-Z]{2}.*", - "description" : "Value Added Tax number, typically starting with a two letter country code according to ISO code 3166 - alpha 2 - that identifies the state of issue" + "description": "Value Added Tax number, typically starting with a two letter country code according to ISO code 3166 - alpha 2 - that identifies the state of issue" } } }, - "BankAccount" : { - "type" : "object", + "BankAccount": { + "type": "object", "properties": { - "iBAN" : { - "$ref":"#/$defs/IBAN" + "iBAN": { + "$ref": "#/$defs/IBAN" }, "accountHolder": { - "type" : "string" + "type": "string" } } }, - "IBAN" : { + "IBAN": { "type": "string", "pattern": "[A-Z]{2}[0-9]{2}[A-Z0-9]{1,30}", - "description" : "International Bank Account Number according to ISO 13616-1:2020" + "description": "International Bank Account Number according to ISO 13616-1:2020" }, - "PaymentCard" : { - "type" : "object", - "properties" : { + "PaymentCard": { + "type": "object", + "properties": { "cardNumber": { - "$ref" : "#/$defs/PaymentCardNumber" + "$ref": "#/$defs/PaymentCardNumber" }, "cardHolder" : { - "type" : "string" + "type": "string" }, "cardType": { - "type" : "string", - "description" : "nature of the card, e.g. VISA" + "type": "string", + "description": "Nature of the card, e.g. VISA" }, - "dateOfExpiry" : { - "$ref" : "ts_103280_2017_07#/$defs/QualifiedDateTime" + "dateOfExpiry": { + "$ref": "ts_103280_2017_07#/$defs/QualifiedDateTime" } } }, - "PaymentCardNumber" : { + "PaymentCardNumber": { "type": "string", - "pattern": "^\\d{8,19}$" + "pattern": "^\\d{8,19}$" }, - "Contract" : { - "type" : "object", - "properties" : { + "Contract": { + "type": "object", + "properties": { "id": { - "type" : "string" + "type": "string" }, - "begin" : { - "$ref" : "ts_103280_2017_07#/$defs/QualifiedDateTime" + "begin": { + "$ref": "ts_103280_2017_07#/$defs/QualifiedDateTime" }, "end": { - "$ref":"ts_103280_2017_07#/$defs/QualifiedDateTime" + "$ref": "ts_103280_2017_07#/$defs/QualifiedDateTime" }, - "natureOfContract": { - "type" : "string", - "description" : "nature of the contract, i.e. product or service name" + "natureOfContract": { + "type": "string", + "description": "Nature of the contract, i.e. product or service name" } } }, - "ContactDetails" : { - "type" : "object", - "properties" : { + "ContactDetails": { + "type": "object", + "properties": { "emailAddress": { "type": "array", "items": { - "$ref" : "ts_103280_2017_07#/$defs/InternationalizedEmailAddress" + "$ref": "ts_103280_2017_07#/$defs/InternationalizedEmailAddress" } }, "phoneNumber": { "type": "array", "items": { - "$ref" : "ts_103280_2017_07#/$defs/InternationalE164" + "$ref": "ts_103280_2017_07#/$defs/InternationalE164" } }, "address": { "type": "array", "items": { - "$ref":"#/$defs/Address" + "$ref": "#/$defs/Address" } } } }, - "Address" : { - "type" : "object", - "properties" : { - "street" : { - "type" : "string" + "Address": { + "type": "object", + "properties": { + "street": { + "type": "string" }, - "houseNumber" : { - "type" : "string" + "houseNumber": { + "type": "string" }, - "city" : { - "type" : "string" + "city": { + "type": "string" }, - "postalCode" : { - "type" : "string" + "postalCode": { + "type": "string" }, - "countryCode" : { - "$ref" : "ts_103280_2017_07#/$defs/ISOCountryCode" + "countryCode": { + "$ref": "ts_103280_2017_07#/$defs/ISOCountryCode" } } }, - "IdentityVerification" : { - "type" : "object", - "properties" : { + "IdentityVerification": { + "type": "object", + "properties": { "typeOfDocument": { - "type" : "string", - "description" : "nature of the identity verification document, e.g. identity card" + "type": "string", + "description": "Type of the identity verification document, e.g. identity card" }, "documentNumber": { - "type" : "string" + "type": "string" }, - "issuingAuthority" : { - "type" : "string" + "issuingAuthority": { + "type": "string" }, - "dateOfExpiry" : { - "$ref":"ts_103280_2017_07#/$defs/QualifiedDateTime" + "dateOfExpiry": { + "$ref": "ts_103280_2017_07#/$defs/QualifiedDateTime" }, - "countryCode" : { - "$ref":"ts_103280_2017_07#/$defs/ISOCountryCode" + "countryCode": { + "$ref": "ts_103280_2017_07#/$defs/ISOCountryCode" }, - "documentFile" : { - "$ref" : "#/$defs/DocumentFile" + "identityFile": { + "$ref": "#/$defs/DocumentFile" } } }, - "DocumentFile" : { - "type" : "object", - "properties" : { + "DocumentFile": { + "type": "object", + "properties": { "fileName": { - "type" : "string" + "type": "string" }, "mimeType": { - "type" : "string" + "type": "string" }, "natureOfDocument": { - "type" : "string" + "type": "string" }, - "content" : { - "type" : "string", - "description" : "content of the file base64 encoded" + "content": { + "type": "string", + "description": "Content of the file base64 encoded" }, "checksum": { "$ref": "ts_103280_2017_07#/$defs/ShortString" }, "checksumType": { "$ref": "ts_103280_2017_07#/$defs/ShortString", - "description": "algorithm used to compute the checksum" + "description": "Algorithm used to compute the checksum" } } } -- GitLab From e05fa8af22ae038caffbc2ba1775fc57fbf512f9 Mon Sep 17 00:00:00 2001 From: wernersa <1040-wernersa@users.noreply.forge.etsi.org> Date: Tue, 25 Feb 2025 09:54:33 +0000 Subject: [PATCH 06/11] Changed field names to typeOfIdentityVerificationDocument and identityVerificationDocumentFile Updated description of VATnumber --- 103705/schema/etsi_types.schema.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/103705/schema/etsi_types.schema.json b/103705/schema/etsi_types.schema.json index 8e14c2a0..3f6407fd 100644 --- a/103705/schema/etsi_types.schema.json +++ b/103705/schema/etsi_types.schema.json @@ -459,7 +459,7 @@ "VATNumber": { "type": "string", "pattern": "[A-Z]{2}.*", - "description": "Value Added Tax number, typically starting with a two letter country code according to ISO code 3166 - alpha 2 - that identifies the state of issue" + "description": "Value Added Tax number, typically starting with a two letter country code according to ISO code 3166 - alpha 2 - that identifies the country of issue" } } }, @@ -565,7 +565,7 @@ "IdentityVerification": { "type": "object", "properties": { - "typeOfDocument": { + "typeOfIdentityVerficationDocument": { "type": "string", "description": "Type of the identity verification document, e.g. identity card" }, @@ -581,7 +581,7 @@ "countryCode": { "$ref": "ts_103280_2017_07#/$defs/ISOCountryCode" }, - "identityFile": { + "identityVerficiationDocumentFile": { "$ref": "#/$defs/DocumentFile" } } -- GitLab From 62409699db17b9eafef0fc421b0c061626d4f671 Mon Sep 17 00:00:00 2001 From: wernersa <1040-wernersa@users.noreply.forge.etsi.org> Date: Tue, 25 Feb 2025 12:03:21 +0000 Subject: [PATCH 07/11] Added and updated descriptions and changed field names and order according to feedback received. --- 103705/schema/etsi_types.schema.json | 139 ++++++++++++++++++--------- 1 file changed, 92 insertions(+), 47 deletions(-) diff --git a/103705/schema/etsi_types.schema.json b/103705/schema/etsi_types.schema.json index 3f6407fd..b7c0dcf3 100644 --- a/103705/schema/etsi_types.schema.json +++ b/103705/schema/etsi_types.schema.json @@ -409,17 +409,21 @@ }, "ValidityPeriod": { "type": "object", + "description": "Validity time period", "properties": { "begin": { - "$ref": "ts_103280_2017_07#/$defs/QualifiedMicrosecondDateTime" + "$ref": "ts_103280_2017_07#/$defs/QualifiedMicrosecondDateTime", + "description": "Start of the validity period" }, "end": { - "$ref": "ts_103280_2017_07#/$defs/QualifiedMicrosecondDateTime" + "$ref": "ts_103280_2017_07#/$defs/QualifiedMicrosecondDateTime", + "description": "End of the validity period" } } }, "Person": { "type": "object", + "description": "Natural person", "properties": { "surname": { "type": "string", @@ -430,31 +434,39 @@ "description" : "Given names, forenames, familiar names and any other secondary names" }, "initials": { - "type": "string" + "type": "string", + "description": "Initials of the person" }, "salutation": { - "type": "string" + "type": "string", + "description": "Salutation of the person" }, "sex": { - "type": "string", - "pattern": "[FMX]", + "enum": [ + "F", + "M", + "X" + ], "description": "F = female; M = male; X = unspecified; according to e.g. ICAO Document 9303 part 4 clause 4.1.1" }, "dateOfBirth": { - "$ref": "#/$defs/Date" + "$ref": "#/$defs/Date", + "description": "Date of birth of the person" } } }, "Date": { "type": "string", "pattern": "[0-9]{4}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])", - "description": "Date in format YYYY-MM-DD" + "description": "Date in format YYYY-MM-DD according to ISO 8601" }, "Organisation": { "type": "object", + "description": "Organisation, juridical person", "properties" : { "name": { - "type": "string" + "type": "string", + "description": "Name of the organisation" }, "VATNumber": { "type": "string", @@ -465,12 +477,15 @@ }, "BankAccount": { "type": "object", + "description": "Bank account information", "properties": { "iBAN": { - "$ref": "#/$defs/IBAN" + "$ref": "#/$defs/IBAN", + "description": "International Bank Account Number of the bank account" }, "accountHolder": { - "type": "string" + "type": "string", + "description": "Holder of the bank account" } } }, @@ -481,37 +496,46 @@ }, "PaymentCard": { "type": "object", + "description": "Payment card information", "properties": { "cardNumber": { - "$ref": "#/$defs/PaymentCardNumber" + "$ref": "#/$defs/PaymentCardNumber", + "description": "Number of the payment card, e.g. credit card number" }, "cardHolder" : { - "type": "string" + "type": "string", + "description": "Holder of the payment card" }, "cardType": { "type": "string", - "description": "Nature of the card, e.g. VISA" + "description": "Type of the payment card, e.g. VISA" }, "dateOfExpiry": { - "$ref": "ts_103280_2017_07#/$defs/QualifiedDateTime" + "$ref": "#/$defs/Date", + "description": "Date of expiry of the payment card" } } }, "PaymentCardNumber": { "type": "string", - "pattern": "^\\d{8,19}$" + "pattern": "^\\d{8,19}$", + "description": "Number of a payment card" }, "Contract": { "type": "object", + "description": "Contract information", "properties": { "id": { - "type": "string" + "type": "string", + "description": "Contract number" }, "begin": { - "$ref": "ts_103280_2017_07#/$defs/QualifiedDateTime" + "$ref": "ts_103280_2017_07#/$defs/QualifiedDateTime", + "description": "Start of the contract" }, "end": { - "$ref": "ts_103280_2017_07#/$defs/QualifiedDateTime" + "$ref": "ts_103280_2017_07#/$defs/QualifiedDateTime", + "description": "End of the contract" }, "natureOfContract": { "type": "string", @@ -519,91 +543,112 @@ } } }, - "ContactDetails": { + "ContactDetail": { "type": "object", + "description": "Contact detail information", "properties": { - "emailAddress": { + "emailAddresses": { "type": "array", "items": { "$ref": "ts_103280_2017_07#/$defs/InternationalizedEmailAddress" - } + }, + "description": "Email addresses of the contact" }, - "phoneNumber": { + "phoneNumbers": { "type": "array", "items": { "$ref": "ts_103280_2017_07#/$defs/InternationalE164" - } + }, + "description": "Phone numbers of the contact" }, - "address": { + "addresses": { "type": "array", "items": { "$ref": "#/$defs/Address" - } + }, + "description": "Addresses of the contact" } } }, "Address": { "type": "object", + "description": "Address information", "properties": { "street": { - "type": "string" + "type": "string", + "description": "Street of the address" }, "houseNumber": { - "type": "string" + "type": "string", + "description": "House number of the street and other specific extensions" }, "city": { - "type": "string" + "type": "string", + "description": "City of the address" }, "postalCode": { - "type": "string" + "type": "string", + "description": "Postal code of the address" }, "countryCode": { - "$ref": "ts_103280_2017_07#/$defs/ISOCountryCode" + "$ref": "ts_103280_2017_07#/$defs/ISOCountryCode", + "description": "Country code of the address" } } }, "IdentityVerification": { "type": "object", + "description": "Identity verfication information", "properties": { - "typeOfIdentityVerficationDocument": { + "typeOfDocument": { "type": "string", "description": "Type of the identity verification document, e.g. identity card" }, + "documentFile": { + "$ref": "#/$defs/DocumentFile", + "description": "Document file, e.g. copy of the identity card" + }, "documentNumber": { - "type": "string" + "type": "string", + "description": "Document number of the document used for identity verification, e.g. identity card number" }, "issuingAuthority": { - "type": "string" + "type": "string", + "description": "Issuing authority of the document used for identity verfication, e.g. of the identity card" }, "dateOfExpiry": { - "$ref": "ts_103280_2017_07#/$defs/QualifiedDateTime" + "$ref": "#/$defs/Date", + "description": "Date of expiry of the document used for identity verfication, e.g. of the identity card" }, "countryCode": { - "$ref": "ts_103280_2017_07#/$defs/ISOCountryCode" - }, - "identityVerficiationDocumentFile": { - "$ref": "#/$defs/DocumentFile" - } + "$ref": "ts_103280_2017_07#/$defs/ISOCountryCode", + "description": "Country code where the document used for identify verification (e.g. the identity card) is issued" + } } }, "DocumentFile": { "type": "object", + "description": "Document file", "properties": { + "natureOfDocument": { + "type": "string", + "description": "Nature of the document, e.g. invoice" + }, "fileName": { - "type": "string" + "type": "string", + "description": "File name of the document" }, "mimeType": { - "type": "string" - }, - "natureOfDocument": { - "type": "string" - }, + "type": "string", + "description": "Mime type of the document" + }, "content": { "type": "string", "description": "Content of the file base64 encoded" }, "checksum": { - "$ref": "ts_103280_2017_07#/$defs/ShortString" + "$ref": "ts_103280_2017_07#/$defs/ShortString", + "description": "Checksum computed for the document using the algoritm provided in checksumType" }, "checksumType": { "$ref": "ts_103280_2017_07#/$defs/ShortString", -- GitLab From 526ac168b37556535a896ea7d4035acd974db199 Mon Sep 17 00:00:00 2001 From: dierstein Date: Wed, 26 Feb 2025 14:04:20 +0000 Subject: [PATCH 08/11] add feedback from the group --- 103705/schema/etsi_types.schema.json | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/103705/schema/etsi_types.schema.json b/103705/schema/etsi_types.schema.json index b7c0dcf3..b47fb6e5 100644 --- a/103705/schema/etsi_types.schema.json +++ b/103705/schema/etsi_types.schema.json @@ -413,7 +413,7 @@ "properties": { "begin": { "$ref": "ts_103280_2017_07#/$defs/QualifiedMicrosecondDateTime", - "description": "Start of the validity period" + "description": "Start of the validity period, inclusive" }, "end": { "$ref": "ts_103280_2017_07#/$defs/QualifiedMicrosecondDateTime", @@ -508,7 +508,7 @@ }, "cardType": { "type": "string", - "description": "Type of the payment card, e.g. VISA" + "description": "Type of the payment card, e.g. issuing company/brand" }, "dateOfExpiry": { "$ref": "#/$defs/Date", @@ -518,7 +518,6 @@ }, "PaymentCardNumber": { "type": "string", - "pattern": "^\\d{8,19}$", "description": "Number of a payment card" }, "Contract": { @@ -598,7 +597,7 @@ }, "IdentityVerification": { "type": "object", - "description": "Identity verfication information", + "description": "Identity verification information", "properties": { "typeOfDocument": { "type": "string", @@ -614,11 +613,11 @@ }, "issuingAuthority": { "type": "string", - "description": "Issuing authority of the document used for identity verfication, e.g. of the identity card" + "description": "Issuing authority of the document used for identity verification, e.g. of the identity card" }, "dateOfExpiry": { "$ref": "#/$defs/Date", - "description": "Date of expiry of the document used for identity verfication, e.g. of the identity card" + "description": "Date of expiry of the document used for identity verification, e.g. of the identity card" }, "countryCode": { "$ref": "ts_103280_2017_07#/$defs/ISOCountryCode", @@ -648,7 +647,7 @@ }, "checksum": { "$ref": "ts_103280_2017_07#/$defs/ShortString", - "description": "Checksum computed for the document using the algoritm provided in checksumType" + "description": "Checksum computed for the document using the algorithm provided in checksumType" }, "checksumType": { "$ref": "ts_103280_2017_07#/$defs/ShortString", -- GitLab From 2d9defa1a2200298c1a99ec3bc2cdb412cb6cadd Mon Sep 17 00:00:00 2001 From: vanschelts Date: Wed, 26 Feb 2025 14:29:32 +0000 Subject: [PATCH 09/11] Formatted all TS 103 705 JSON files --- 103705/config.json | 98 +++++------ .../examples/example1/csp_records.schema.json | 53 ++++-- 103705/examples/example1/csp_results.json | 90 +++++----- .../examples/example2/csp_records.schema.json | 51 ++++-- 103705/examples/example2/csp_results.json | 90 +++++----- .../examples/example2/csp_types.schema.json | 28 +-- .../examples/example3/csp_records.schema.json | 51 ++++-- 103705/examples/example3/csp_results.json | 70 ++++---- .../examples/example3/csp_types.schema.json | 70 ++++---- .../examples/example4/csp_records.schema.json | 50 ++++-- 103705/examples/example4/csp_results.json | 66 ++++---- .../examples/example4/csp_types.schema.json | 94 ++++++----- .../examples/example5/csp_records.schema.json | 53 ++++-- 103705/examples/example5/csp_results.json | 59 ++++++- 103705/schema/etsi_types.schema.json | 159 +++++++++--------- 103705/schema/records.schema.json | 46 ++--- 103705/schema/response.schema.json | 36 ++-- 17 files changed, 688 insertions(+), 476 deletions(-) diff --git a/103705/config.json b/103705/config.json index 6d4bac97..b4d534c9 100644 --- a/103705/config.json +++ b/103705/config.json @@ -1,58 +1,60 @@ -[{ - "coreSchema" : "schema/response.schema.json", - "supportingSchemas" : [ - "../103280/TS_103_280.schema.json", - "examples/example1/csp_records.schema.json", - "schema/etsi_types.schema.json" +[ + { + "coreSchema": "schema/response.schema.json", + "supportingSchemas": [ + "../103280/TS_103_280.schema.json", + "examples/example1/csp_records.schema.json", + "schema/etsi_types.schema.json" ], - "exampleFiles" : [ - "examples/example1/csp_results.json" + "exampleFiles": [ + "examples/example1/csp_results.json" ] -}, -{ - "coreSchema" : "schema/response.schema.json", - "supportingSchemas" : [ - "../103280/TS_103_280.schema.json", - "examples/example2/csp_records.schema.json", - "examples/example2/csp_types.schema.json", - "schema/etsi_types.schema.json" + }, + { + "coreSchema": "schema/response.schema.json", + "supportingSchemas": [ + "../103280/TS_103_280.schema.json", + "examples/example2/csp_records.schema.json", + "examples/example2/csp_types.schema.json", + "schema/etsi_types.schema.json" ], - "exampleFiles" : [ - "examples/example2/csp_results.json" + "exampleFiles": [ + "examples/example2/csp_results.json" ] -}, -{ - "coreSchema" : "schema/response.schema.json", - "supportingSchemas" : [ - "../103280/TS_103_280.schema.json", - "examples/example3/csp_records.schema.json", - "examples/example3/csp_types.schema.json", - "schema/etsi_types.schema.json" + }, + { + "coreSchema": "schema/response.schema.json", + "supportingSchemas": [ + "../103280/TS_103_280.schema.json", + "examples/example3/csp_records.schema.json", + "examples/example3/csp_types.schema.json", + "schema/etsi_types.schema.json" ], - "exampleFiles" : [ - "examples/example3/csp_results.json" + "exampleFiles": [ + "examples/example3/csp_results.json" ] -}, -{ - "coreSchema" : "schema/response.schema.json", - "supportingSchemas" : [ - "../103280/TS_103_280.schema.json", - "examples/example4/csp_records.schema.json", - "examples/example4/csp_types.schema.json", - "schema/etsi_types.schema.json" + }, + { + "coreSchema": "schema/response.schema.json", + "supportingSchemas": [ + "../103280/TS_103_280.schema.json", + "examples/example4/csp_records.schema.json", + "examples/example4/csp_types.schema.json", + "schema/etsi_types.schema.json" ], - "exampleFiles" : [ - "examples/example4/csp_results.json" + "exampleFiles": [ + "examples/example4/csp_results.json" ] -}, -{ - "coreSchema" : "schema/response.schema.json", - "supportingSchemas" : [ - "../103280/TS_103_280.schema.json", - "examples/example5/csp_records.schema.json", - "schema/etsi_types.schema.json" + }, + { + "coreSchema": "schema/response.schema.json", + "supportingSchemas": [ + "../103280/TS_103_280.schema.json", + "examples/example5/csp_records.schema.json", + "schema/etsi_types.schema.json" ], - "exampleFiles" : [ - "examples/example5/csp_results.json" + "exampleFiles": [ + "examples/example5/csp_results.json" ] -}] \ No newline at end of file + } +] diff --git a/103705/examples/example1/csp_records.schema.json b/103705/examples/example1/csp_records.schema.json index 344b4e39..e68458c7 100644 --- a/103705/examples/example1/csp_records.schema.json +++ b/103705/examples/example1/csp_records.schema.json @@ -3,23 +3,42 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "title": "CSP Record Schema", "description": "Defines the valid set of Records that may appear in a RecordSet (see ETSI TS 103 705 clause 6.2.4)", - "cspSchemaID" : "csp.example_1", - "cspName" : "csp.example.com", - "dateIssued" : "2024-04-024T09:00:01Z", - "version" : "1.1.1", + "cspSchemaID": "csp.example_1", + "cspName": "csp.example.com", + "dateIssued": "2024-04-024T09:00:01Z", + "version": "1.1.1", "$defs": { - "record" : { - "oneOf" : [{ - "allOf" : [ - { "$ref" : "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/CallRecord" }, - { "properties" : { "type" : { "const" : "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/CallRecord"}}} - ]}, - { - "allOf" : [ - { "$ref" : "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/MessagingRecord" }, - { "properties" : { "type" : { "const" : "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/MessagingRecord"}}} - ]} + "record": { + "oneOf": [ + { + "allOf": [ + { + "$ref": "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/CallRecord" + }, + { + "properties": { + "type": { + "const": "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/CallRecord" + } + } + } ] - } + }, + { + "allOf": [ + { + "$ref": "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/MessagingRecord" + }, + { + "properties": { + "type": { + "const": "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/MessagingRecord" + } + } + } + ] + } + ] + } } -} \ No newline at end of file +} diff --git a/103705/examples/example1/csp_results.json b/103705/examples/example1/csp_results.json index 52dbe6fa..cc407fe5 100644 --- a/103705/examples/example1/csp_results.json +++ b/103705/examples/example1/csp_results.json @@ -1,47 +1,55 @@ { - "recordSetDescription": { - "etsiSchemaId": "urn:etsi:li:103705:response-schema-id:v1.1.1", - "etsiSpecificationVersion": "0.3.0", - "cspName" : "csp.example.com", - "cspSchemaId" : "csp.example_1", - "cspSchemaVersion" : "1.0.0", - "resultSetId": "9a25db0c-d0f3-4ae5-b618-bd1a9a0056c2", - "requestReference": "LDID", - "created": "2024-04-25T09:31:56.000000Z" + "recordSetDescription": { + "etsiSchemaId": "urn:etsi:li:103705:response-schema-id:v1.1.1", + "etsiSpecificationVersion": "0.3.0", + "cspName": "csp.example.com", + "cspSchemaId": "csp.example_1", + "cspSchemaVersion": "1.0.0", + "resultSetId": "9a25db0c-d0f3-4ae5-b618-bd1a9a0056c2", + "requestReference": "LDID", + "created": "2024-04-25T09:31:56.000000Z" + }, + "recordSet": [ + { + "id": "3da91ade-f526-4e55-b5da-0c8178f25c24", + "type": "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/CallRecord", + "timeBegin": "2024-04-20T10:04:00.000000Z", + "timeEnd": "2024-04-20T10:05:00.000000Z", + "endReason": 16, + "parties": [ + { + "identity": { + "phoneNumber": "491713920067" + }, + "role": "originating", + "initialAccessTechnology": "5G" + }, + { + "identity": { + "phoneNumber": "441632960123" + }, + "role": "terminating" + } + ] }, - "recordSet": [ + { + "id": "8be3fc6b-a2dd-4104-9af1-d6b1f70081a0", + "type": "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/MessagingRecord", + "eventTime": "2024-04-18T10:04:00.000000Z", + "parties": [ { - "id": "3da91ade-f526-4e55-b5da-0c8178f25c24", - "type": "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/CallRecord", - "timeBegin": "2024-04-20T10:04:00.000000Z", - "timeEnd": "2024-04-20T10:05:00.000000Z", - "endReason": 16, - "parties": [ - { - "identity": {"phoneNumber": "491713920067"}, - "role": "originating", - "initialAccessTechnology" : "5G" - }, - { - "identity": {"phoneNumber": "441632960123"}, - "role": "terminating" - } - ] + "identity": { + "phoneNumber": "441632960123" + }, + "role": "sender" }, { - "id": "8be3fc6b-a2dd-4104-9af1-d6b1f70081a0", - "type": "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/MessagingRecord", - "eventTime": "2024-04-18T10:04:00.000000Z", - "parties": [ - { - "identity": {"phoneNumber": "441632960123"}, - "role": "sender" - }, - { - "identity": {"phoneNumber": "491713920067"}, - "role": "receiver" - } - ] + "identity": { + "phoneNumber": "491713920067" + }, + "role": "receiver" } - ] -} \ No newline at end of file + ] + } + ] +} diff --git a/103705/examples/example2/csp_records.schema.json b/103705/examples/example2/csp_records.schema.json index e5082c75..5807a286 100644 --- a/103705/examples/example2/csp_records.schema.json +++ b/103705/examples/example2/csp_records.schema.json @@ -3,23 +3,42 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "title": "CSP Record Schema", "description": "Defines the valid set of Records that may appear in a RecordSet (see ETSI TS 103 705 clause 6.2.4)", - "cspSchemaID" : "csp.example_2", - "cspName" : "csp.example.com", - "dateIssued" : "2024-04-024T09:00:01Z", - "version" : "1.1.1", + "cspSchemaID": "csp.example_2", + "cspName": "csp.example.com", + "dateIssued": "2024-04-024T09:00:01Z", + "version": "1.1.1", "$defs": { - "record" : { - "oneOf" : [{ - "allOf" : [ - { "$ref" : "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/CallRecord" }, - { "properties" : { "type" : { "const" : "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/CallRecord"}}} - ]}, + "record": { + "oneOf": [ + { + "allOf": [ { - "allOf" : [ - { "$ref" : "csp_example_types#/$defs/CSPMessagingRecord" }, - { "properties" : { "type" : { "const" : "csp_example_types#/$defs/CSPMessagingRecord"}}} - ]} - ] + "$ref": "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/CallRecord" + }, + { + "properties": { + "type": { + "const": "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/CallRecord" + } + } + } + ] + }, + { + "allOf": [ + { + "$ref": "csp_example_types#/$defs/CSPMessagingRecord" + }, + { + "properties": { + "type": { + "const": "csp_example_types#/$defs/CSPMessagingRecord" + } + } + } + ] } + ] } -} \ No newline at end of file + } +} diff --git a/103705/examples/example2/csp_results.json b/103705/examples/example2/csp_results.json index c4ff7c00..c50ca26c 100644 --- a/103705/examples/example2/csp_results.json +++ b/103705/examples/example2/csp_results.json @@ -1,47 +1,55 @@ { - "recordSetDescription": { - "etsiSchemaId": "urn:etsi:li:103705:response-schema-id:v1.1.1", - "etsiSpecificationVersion": "0.3.0", - "cspName" : "csp.example.com", - "cspSchemaId" : "csp.example_2", - "cspSchemaVersion" : "1.0.0", - "resultSetId": "9a25db0c-d0f3-4ae5-b618-bd1a9a0056c2", - "requestReference": "LDID", - "created": "2024-04-25T09:31:56.000000Z" + "recordSetDescription": { + "etsiSchemaId": "urn:etsi:li:103705:response-schema-id:v1.1.1", + "etsiSpecificationVersion": "0.3.0", + "cspName": "csp.example.com", + "cspSchemaId": "csp.example_2", + "cspSchemaVersion": "1.0.0", + "resultSetId": "9a25db0c-d0f3-4ae5-b618-bd1a9a0056c2", + "requestReference": "LDID", + "created": "2024-04-25T09:31:56.000000Z" + }, + "recordSet": [ + { + "id": "3da91ade-f526-4e55-b5da-0c8178f25c24", + "type": "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/CallRecord", + "timeBegin": "2024-04-20T10:04:00.000000Z", + "timeEnd": "2024-04-20T10:05:00.000000Z", + "endReason": 16, + "parties": [ + { + "identity": { + "phoneNumber": "491713920067" + }, + "role": "originating" + }, + { + "identity": { + "phoneNumber": "441632960123" + }, + "role": "terminating" + } + ] }, - "recordSet": [ + { + "id": "8be3fc6b-a2dd-4104-9af1-d6b1f70081a0", + "type": "csp_example_types#/$defs/CSPMessagingRecord", + "eventTime": "2024-04-18T10:04:00.000000Z", + "parties": [ { - "id": "3da91ade-f526-4e55-b5da-0c8178f25c24", - "type": "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/CallRecord", - "timeBegin": "2024-04-20T10:04:00.000000Z", - "timeEnd": "2024-04-20T10:05:00.000000Z", - "endReason": 16, - "parties": [ - { - "identity": {"phoneNumber": "491713920067"}, - "role": "originating" - }, - { - "identity": {"phoneNumber": "441632960123"}, - "role": "terminating" - } - ] + "identity": { + "phoneNumber": "441632960123" + }, + "role": "sender" }, { - "id": "8be3fc6b-a2dd-4104-9af1-d6b1f70081a0", - "type": "csp_example_types#/$defs/CSPMessagingRecord", - "eventTime": "2024-04-18T10:04:00.000000Z", - "parties": [ - { - "identity": {"phoneNumber": "441632960123"}, - "role": "sender" - }, - { - "identity": {"phoneNumber": "491713920067"}, - "role": "receiver" - } - ], - "CSPMessagingReference" : "0608972c-9080-4bb1-bc30-35b7cb731bbf" + "identity": { + "phoneNumber": "491713920067" + }, + "role": "receiver" } - ] -} \ No newline at end of file + ], + "CSPMessagingReference": "0608972c-9080-4bb1-bc30-35b7cb731bbf" + } + ] +} diff --git a/103705/examples/example2/csp_types.schema.json b/103705/examples/example2/csp_types.schema.json index 4cf437d4..9e70a51f 100644 --- a/103705/examples/example2/csp_types.schema.json +++ b/103705/examples/example2/csp_types.schema.json @@ -1,14 +1,20 @@ { - "$id": "csp_example_types", - "$schema": "https://json-schema.org/draft/2020-12/schema", - "title": "ETSI TS 103 705 Types schema", - "description": "JSON schema for ETSI-defined types (see clause 6.1 and Annex A)", - "$defs": { - "CSPMessagingRecord" : { - "allOf" : [{ "$ref" : "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/MessagingRecord"}], - "properties" : { - "CSPMessagingReference" : { "$ref" : "ts_103280_2017_07#/$defs/UUID"} - } + "$id": "csp_example_types", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title": "ETSI TS 103 705 Types schema", + "description": "JSON schema for ETSI-defined types (see clause 6.1 and Annex A)", + "$defs": { + "CSPMessagingRecord": { + "allOf": [ + { + "$ref": "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/MessagingRecord" } + ], + "properties": { + "CSPMessagingReference": { + "$ref": "ts_103280_2017_07#/$defs/UUID" + } + } } -} \ No newline at end of file + } +} diff --git a/103705/examples/example3/csp_records.schema.json b/103705/examples/example3/csp_records.schema.json index fca8fa5f..35c2613d 100644 --- a/103705/examples/example3/csp_records.schema.json +++ b/103705/examples/example3/csp_records.schema.json @@ -3,23 +3,42 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "title": "CSP Record Schema", "description": "Defines the valid set of Records that may appear in a RecordSet (see ETSI TS 103 705 clause 6.2.4)", - "cspSchemaID" : "csp.example_3", - "cspName" : "csp.example.com", - "dateIssued" : "2024-04-024T09:00:01Z", - "version" : "1.1.1", + "cspSchemaID": "csp.example_3", + "cspName": "csp.example.com", + "dateIssued": "2024-04-024T09:00:01Z", + "version": "1.1.1", "$defs": { - "record" : { - "oneOf" : [{ - "allOf" : [ - { "$ref" : "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/CallRecord" }, - { "properties" : { "type" : { "const" : "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/CallRecord"}}} - ]}, + "record": { + "oneOf": [ + { + "allOf": [ { - "allOf" : [ - { "$ref" : "csp_example_types#/$defs/CSPServiceRecord" }, - { "properties" : { "type" : { "const" : "csp_example_types#/$defs/CSPServiceRecord"}}} - ]} - ] + "$ref": "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/CallRecord" + }, + { + "properties": { + "type": { + "const": "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/CallRecord" + } + } + } + ] + }, + { + "allOf": [ + { + "$ref": "csp_example_types#/$defs/CSPServiceRecord" + }, + { + "properties": { + "type": { + "const": "csp_example_types#/$defs/CSPServiceRecord" + } + } + } + ] } + ] } -} \ No newline at end of file + } +} diff --git a/103705/examples/example3/csp_results.json b/103705/examples/example3/csp_results.json index 8f2f9edb..32317a99 100644 --- a/103705/examples/example3/csp_results.json +++ b/103705/examples/example3/csp_results.json @@ -1,38 +1,42 @@ { - "recordSetDescription": { - "etsiSchemaId": "urn:etsi:li:103705:response-schema-id:v1.1.1", - "etsiSpecificationVersion": "0.3.0", - "cspName" : "csp.example.com", - "cspSchemaId" : "csp.example_3", - "cspSchemaVersion" : "1.0.0", - "resultSetId": "9a25db0c-d0f3-4ae5-b618-bd1a9a0056c2", - "requestReference": "LDID", - "created": "2024-04-25T09:31:56.000000Z" - }, - "recordSet": [ + "recordSetDescription": { + "etsiSchemaId": "urn:etsi:li:103705:response-schema-id:v1.1.1", + "etsiSpecificationVersion": "0.3.0", + "cspName": "csp.example.com", + "cspSchemaId": "csp.example_3", + "cspSchemaVersion": "1.0.0", + "resultSetId": "9a25db0c-d0f3-4ae5-b618-bd1a9a0056c2", + "requestReference": "LDID", + "created": "2024-04-25T09:31:56.000000Z" + }, + "recordSet": [ + { + "id": "3da91ade-f526-4e55-b5da-0c8178f25c24", + "type": "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/CallRecord", + "timeBegin": "2024-04-20T10:04:00.000000Z", + "timeEnd": "2024-04-20T10:05:00.000000Z", + "endReason": 16, + "parties": [ { - "id": "3da91ade-f526-4e55-b5da-0c8178f25c24", - "type": "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/CallRecord", - "timeBegin": "2024-04-20T10:04:00.000000Z", - "timeEnd": "2024-04-20T10:05:00.000000Z", - "endReason": 16, - "parties": [ - { - "identity": {"phoneNumber": "491713920067"}, - "role": "originating" - }, - { - "identity": {"phoneNumber": "441632960123"}, - "role": "terminating" - } - ] + "identity": { + "phoneNumber": "491713920067" + }, + "role": "originating" }, { - "id": "8be3fc6b-a2dd-4104-9af1-d6b1f70081a0", - "type": "csp_example_types#/$defs/CSPServiceRecord", - "timeOfService": "2024-04-18T10:04:00.000000Z", - "numberOfService" : 7, - "serviceEnum" : "Foo" + "identity": { + "phoneNumber": "441632960123" + }, + "role": "terminating" } - ] -} \ No newline at end of file + ] + }, + { + "id": "8be3fc6b-a2dd-4104-9af1-d6b1f70081a0", + "type": "csp_example_types#/$defs/CSPServiceRecord", + "timeOfService": "2024-04-18T10:04:00.000000Z", + "numberOfService": 7, + "serviceEnum": "Foo" + } + ] +} diff --git a/103705/examples/example3/csp_types.schema.json b/103705/examples/example3/csp_types.schema.json index fde0bf8c..17ff73f8 100644 --- a/103705/examples/example3/csp_types.schema.json +++ b/103705/examples/example3/csp_types.schema.json @@ -1,38 +1,38 @@ { - "$id": "csp_example_types", - "$schema": "https://json-schema.org/draft/2020-12/schema", - "title": "ETSI TS 103 705 Types schema", - "description": "JSON schema for ETSI-defined types (see clause 6.1 and Annex A)", - "$defs": { - "CSPServiceRecord" : { - "type" : "object", - "title" : "CSP Service Record", - "description" : "Information about some new fictional service that this CSP provides", - "properties" : { - "timeOfService" : { - "description" : "Time at which something happened (using an ETSI TS 103 280 type)", - "$ref" : "ts_103280_2017_07#/$defs/QualifiedMicrosecondDateTime" - }, - "dataVolumeUsed" : { - "description" : "A data volume associated with this service record (using an ETSI TS 103 705 type) ", - "$ref" : "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/DataVolume" - }, - "numberOfService" : { - "description" : "Some number associated with this service record (using a native JSON type)", - "type" : "integer" - }, - "serviceEnum" : { - "description" : "A field using a type defined elsewhere in this schema", - "$ref" : "#/$defs/CSPDefinedEnum" - } - } + "$id": "csp_example_types", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title": "ETSI TS 103 705 Types schema", + "description": "JSON schema for ETSI-defined types (see clause 6.1 and Annex A)", + "$defs": { + "CSPServiceRecord": { + "type": "object", + "title": "CSP Service Record", + "description": "Information about some new fictional service that this CSP provides", + "properties": { + "timeOfService": { + "description": "Time at which something happened (using an ETSI TS 103 280 type)", + "$ref": "ts_103280_2017_07#/$defs/QualifiedMicrosecondDateTime" }, - "CSPDefinedEnum" : { - "enum" : [ - "Foo", - "Bar", - "Baz" - ] + "dataVolumeUsed": { + "description": "A data volume associated with this service record (using an ETSI TS 103 705 type) ", + "$ref": "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/DataVolume" + }, + "numberOfService": { + "description": "Some number associated with this service record (using a native JSON type)", + "type": "integer" + }, + "serviceEnum": { + "description": "A field using a type defined elsewhere in this schema", + "$ref": "#/$defs/CSPDefinedEnum" } - } -} \ No newline at end of file + } + }, + "CSPDefinedEnum": { + "enum": [ + "Foo", + "Bar", + "Baz" + ] + } + } +} diff --git a/103705/examples/example4/csp_records.schema.json b/103705/examples/example4/csp_records.schema.json index a1786705..f25e3840 100644 --- a/103705/examples/example4/csp_records.schema.json +++ b/103705/examples/example4/csp_records.schema.json @@ -3,22 +3,42 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "title": "CSP Record Schema", "description": "Defines the valid set of Records that may appear in a RecordSet (see ETSI TS 103 705 clause 6.2.4)", - "cspSchemaID" : "csp.example_4", - "cspName" : "csp.example.com", - "dateIssued" : "2024-04-024T09:00:01Z", - "version" : "1.1.1", + "cspSchemaID": "csp.example_4", + "cspName": "csp.example.com", + "dateIssued": "2024-04-024T09:00:01Z", + "version": "1.1.1", "$defs": { - "record" : { - "oneOf" : [{ - "allOf" : [ - { "$ref" : "csp_example_types#/$defs/CSPSubscriberRecord" }, - { "properties" : { "type" : { "const" : "csp_example_types#/$defs/CSPSubscriberRecord"}}} - ]},{ - "allOf" : [ - { "$ref" : "csp_example_types#/$defs/CSPAddressRecord" }, - { "properties" : { "type" : { "const" : "csp_example_types#/$defs/CSPAddressRecord"}}} - ]} + "record": { + "oneOf": [ + { + "allOf": [ + { + "$ref": "csp_example_types#/$defs/CSPSubscriberRecord" + }, + { + "properties": { + "type": { + "const": "csp_example_types#/$defs/CSPSubscriberRecord" + } + } + } + ] + }, + { + "allOf": [ + { + "$ref": "csp_example_types#/$defs/CSPAddressRecord" + }, + { + "properties": { + "type": { + "const": "csp_example_types#/$defs/CSPAddressRecord" + } + } + } ] } + ] } -} \ No newline at end of file + } +} diff --git a/103705/examples/example4/csp_results.json b/103705/examples/example4/csp_results.json index fd290b15..ec067832 100644 --- a/103705/examples/example4/csp_results.json +++ b/103705/examples/example4/csp_results.json @@ -1,31 +1,39 @@ { - "recordSetDescription": { - "etsiSchemaId": "urn:etsi:li:103705:response-schema-id:v1.1.1", - "etsiSpecificationVersion": "0.3.0", - "cspName" : "csp.example.com", - "cspSchemaId" : "csp.example_4", - "cspSchemaVersion" : "1.0.0", - "resultSetId": "9a25db0c-d0f3-4ae5-b618-bd1a9a0056c2", - "requestReference": "LDID", - "created": "2024-04-25T09:31:56.000000Z" + "recordSetDescription": { + "etsiSchemaId": "urn:etsi:li:103705:response-schema-id:v1.1.1", + "etsiSpecificationVersion": "0.3.0", + "cspName": "csp.example.com", + "cspSchemaId": "csp.example_4", + "cspSchemaVersion": "1.0.0", + "resultSetId": "9a25db0c-d0f3-4ae5-b618-bd1a9a0056c2", + "requestReference": "LDID", + "created": "2024-04-25T09:31:56.000000Z" + }, + "recordSet": [ + { + "id": "3da91ade-f526-4e55-b5da-0c8178f25c24", + "type": "csp_example_types#/$defs/CSPSubscriberRecord", + "subscriberName": "Max Mustermann", + "registeredAddress": { + "destination": "8be3fc6b-a2dd-4104-9af1-d6b1f70081a0" + }, + "deliveryAddress": { + "destination": "8be3fc6b-a2dd-4104-9af1-d6b1f70081a0" + }, + "billingAddress": { + "destination": "8be3fc6b-a2dd-4104-9af1-d6b1f70081a0" + }, + "contactAddress": { + "destination": "8be3fc6b-a2dd-4104-9af1-d6b1f70081a0" + } }, - "recordSet": [ - { - "id": "3da91ade-f526-4e55-b5da-0c8178f25c24", - "type": "csp_example_types#/$defs/CSPSubscriberRecord", - "subscriberName" : "Max Mustermann", - "registeredAddress" : { "destination" : "8be3fc6b-a2dd-4104-9af1-d6b1f70081a0" }, - "deliveryAddress" : { "destination" : "8be3fc6b-a2dd-4104-9af1-d6b1f70081a0" }, - "billingAddress" : { "destination" : "8be3fc6b-a2dd-4104-9af1-d6b1f70081a0" }, - "contactAddress" : { "destination" : "8be3fc6b-a2dd-4104-9af1-d6b1f70081a0" } - }, - { - "id": "8be3fc6b-a2dd-4104-9af1-d6b1f70081a0", - "type": "csp_example_types#/$defs/CSPAddressRecord", - "line1" : "First Line Of Address", - "line2" : "Secoond Line Of Address", - "postalCode" : "postal code", - "country" : "country code" - } - ] -} \ No newline at end of file + { + "id": "8be3fc6b-a2dd-4104-9af1-d6b1f70081a0", + "type": "csp_example_types#/$defs/CSPAddressRecord", + "line1": "First Line Of Address", + "line2": "Secoond Line Of Address", + "postalCode": "postal code", + "country": "country code" + } + ] +} diff --git a/103705/examples/example4/csp_types.schema.json b/103705/examples/example4/csp_types.schema.json index 8fee961b..74b7bdc1 100644 --- a/103705/examples/example4/csp_types.schema.json +++ b/103705/examples/example4/csp_types.schema.json @@ -1,46 +1,54 @@ { - "$id": "csp_example_types", - "$schema": "https://json-schema.org/draft/2020-12/schema", - "title": "ETSI TS 103 705 Types schema", - "description": "JSON schema for ETSI-defined types (see clause 6.1 and Annex A)", - "$defs": { - "CSPSubscriberRecord" : { - "type" : "object", - "title" : "CSP Subscriber Record", - "description" : "A CSP's subscriber record. May contain four different addresses, which are often set to the same value", - "properties" : { - "subscriberName" : { - "description" : "Name of subscriber (obviously a real definition would be more complex", - "type" : "string" - }, - "registeredAddress" : { - "description" : "Points to the address registered as part of the service", - "$ref" : "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/Pointer" - }, - "deliveryAddress" : { - "description" : "Points to the address used for delivery", - "$ref" : "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/Pointer" - }, - "billingAddress" : { - "description" : "Points to the address used for billing", - "$ref" : "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/Pointer" - }, - "contactAddress" : { - "description" : "Points to the address used for mailing purposes", - "$ref" : "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/Pointer" - } - } + "$id": "csp_example_types", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title": "ETSI TS 103 705 Types schema", + "description": "JSON schema for ETSI-defined types (see clause 6.1 and Annex A)", + "$defs": { + "CSPSubscriberRecord": { + "type": "object", + "title": "CSP Subscriber Record", + "description": "A CSP's subscriber record. May contain four different addresses, which are often set to the same value", + "properties": { + "subscriberName": { + "description": "Name of subscriber (obviously a real definition would be more complex", + "type": "string" }, - "CSPAddressRecord" : { - "type" : "object", - "title" : "CSP Address Record", - "description" : "A simple address structure (for example purporses - a standard ETSI one is needed, FFS)", - "properties" : { - "line1" : { "type" : "string"}, - "line2" : { "type" : "string"}, - "postalCode" : { "type" : "string"}, - "country" : { "type" : "string"} - } + "registeredAddress": { + "description": "Points to the address registered as part of the service", + "$ref": "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/Pointer" + }, + "deliveryAddress": { + "description": "Points to the address used for delivery", + "$ref": "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/Pointer" + }, + "billingAddress": { + "description": "Points to the address used for billing", + "$ref": "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/Pointer" + }, + "contactAddress": { + "description": "Points to the address used for mailing purposes", + "$ref": "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/Pointer" + } + } + }, + "CSPAddressRecord": { + "type": "object", + "title": "CSP Address Record", + "description": "A simple address structure (for example purporses - a standard ETSI one is needed, FFS)", + "properties": { + "line1": { + "type": "string" + }, + "line2": { + "type": "string" + }, + "postalCode": { + "type": "string" + }, + "country": { + "type": "string" } - } -} \ No newline at end of file + } + } + } +} diff --git a/103705/examples/example5/csp_records.schema.json b/103705/examples/example5/csp_records.schema.json index 0e8ffaf2..bcbfc87e 100644 --- a/103705/examples/example5/csp_records.schema.json +++ b/103705/examples/example5/csp_records.schema.json @@ -3,23 +3,42 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "title": "CSP Record Schema", "description": "Defines the valid set of Records that may appear in a RecordSet (see ETSI TS 103 705 clause 6.2.4)", - "cspSchemaID" : "csp.example_5", - "cspName" : "csp.example.com", - "dateIssued" : "2024-06-20 09:42:37", - "version" : "1.1.1", + "cspSchemaID": "csp.example_5", + "cspName": "csp.example.com", + "dateIssued": "2024-06-20 09:42:37", + "version": "1.1.1", "$defs": { - "record" : { - "oneOf" : [{ - "allOf" : [ - { "$ref" : "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/CallRecord" }, - { "properties" : { "type" : { "const" : "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/CallRecord"}}} - ]}, - { - "allOf" : [ - { "$ref" : "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/MessagingRecord" }, - { "properties" : { "type" : { "const" : "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/MessagingRecord"}}} - ]} + "record": { + "oneOf": [ + { + "allOf": [ + { + "$ref": "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/CallRecord" + }, + { + "properties": { + "type": { + "const": "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/CallRecord" + } + } + } ] - } + }, + { + "allOf": [ + { + "$ref": "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/MessagingRecord" + }, + { + "properties": { + "type": { + "const": "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/MessagingRecord" + } + } + } + ] + } + ] + } } -} \ No newline at end of file +} diff --git a/103705/examples/example5/csp_results.json b/103705/examples/example5/csp_results.json index f8c81d9a..9bbedcf5 100644 --- a/103705/examples/example5/csp_results.json +++ b/103705/examples/example5/csp_results.json @@ -1 +1,58 @@ -{"recordSetDescription": {"etsiSchemaId": "urn:etsi:li:103705:response-schema-id:v1.1.1", "etsiSpecificationVersion": "0.3.0", "cspName" : "csp.example.com", "cspSchemaId": "csp.example_1", "cspSchemaVersion": "1.0.0", "resultSetId": "9a25db0c-d0f3-4ae5-b618-bd1a9a0056c2", "requestReference": "LDID", "created": "2024-04-25T09:31:56.000000Z"}, "recordSet": [{"id": "3da91ade-f526-4e55-b5da-0c8178f25c24", "type": "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/CallRecord", "timeBegin": "2024-04-20T10:04:00.000000Z", "timeEnd": "2024-04-20T10:05:00.000000Z", "endReason": 16, "parties": [{"identity": {"phoneNumber": "491713920067"}, "role": "originating"}, {"identity": {"phoneNumber": "441632960123"}, "role": "terminating"}]}, {"id": "8be3fc6b-a2dd-4104-9af1-d6b1f70081a0", "type": "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/MessagingRecord", "eventTime": "2024-04-18T10:04:00.000000Z", "parties": [{"identity": {"phoneNumber": "441632960123"}, "role": "sender"}, {"identity": {"phoneNumber": "491713920067"}, "role": "receiver"}]}], "Signature": {"protected": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9", "signature": "yvPyjRDAS7dSld9inyVfLpz02En47_AMq0J8cP82BCU"}} +{ + "recordSetDescription": { + "etsiSchemaId": "urn:etsi:li:103705:response-schema-id:v1.1.1", + "etsiSpecificationVersion": "0.3.0", + "cspName": "csp.example.com", + "cspSchemaId": "csp.example_1", + "cspSchemaVersion": "1.0.0", + "resultSetId": "9a25db0c-d0f3-4ae5-b618-bd1a9a0056c2", + "requestReference": "LDID", + "created": "2024-04-25T09:31:56.000000Z" + }, + "recordSet": [ + { + "id": "3da91ade-f526-4e55-b5da-0c8178f25c24", + "type": "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/CallRecord", + "timeBegin": "2024-04-20T10:04:00.000000Z", + "timeEnd": "2024-04-20T10:05:00.000000Z", + "endReason": 16, + "parties": [ + { + "identity": { + "phoneNumber": "491713920067" + }, + "role": "originating" + }, + { + "identity": { + "phoneNumber": "441632960123" + }, + "role": "terminating" + } + ] + }, + { + "id": "8be3fc6b-a2dd-4104-9af1-d6b1f70081a0", + "type": "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/MessagingRecord", + "eventTime": "2024-04-18T10:04:00.000000Z", + "parties": [ + { + "identity": { + "phoneNumber": "441632960123" + }, + "role": "sender" + }, + { + "identity": { + "phoneNumber": "491713920067" + }, + "role": "receiver" + } + ] + } + ], + "Signature": { + "protected": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9", + "signature": "yvPyjRDAS7dSld9inyVfLpz02En47_AMq0J8cP82BCU" + } +} diff --git a/103705/schema/etsi_types.schema.json b/103705/schema/etsi_types.schema.json index b47fb6e5..6cd5e0b2 100644 --- a/103705/schema/etsi_types.schema.json +++ b/103705/schema/etsi_types.schema.json @@ -19,7 +19,7 @@ "title": "Relationship", "description": "Indicates the nature of the relationship. Valid values and their meaning should be provided by the CSP" } - }, + }, "required": [ "destination" ] @@ -29,7 +29,8 @@ "title": "Information about call details", "description": "Details about a record or event related to a call", "required": [ - "timeBegin", "parties" + "timeBegin", + "parties" ], "properties": { "sessionRefId": { @@ -69,7 +70,8 @@ "title": "Information about messaging details", "description": "Details about a record or event related to a message", "required": [ - "eventTime", "parties" + "eventTime", + "parties" ], "properties": { "sessionRefId": { @@ -93,7 +95,8 @@ "title": "Information about email details", "description": "Details about a record or event related to an email", "required": [ - "eventTime", "parties" + "eventTime", + "parties" ], "properties": { "sessionRefId": { @@ -117,7 +120,8 @@ "title": "Data Record", "description": "Information about a data access session (e.g. a mobile data session)", "required": [ - "timeBegin", "parties" + "timeBegin", + "parties" ], "properties": { "sessionRefId": { @@ -145,7 +149,7 @@ }, "CallPartyInformation": { "type": "object", - "description" : "Information about the participants and technologies related to the call", + "description": "Information about the participants and technologies related to the call", "properties": { "identity": { "$ref": "#/$defs/CallPartyId" @@ -228,7 +232,7 @@ "$ref": "#/$defs/DataAccessPartyId" }, "aPNDNN": { - "description" : "APN or DNN associated with the data access", + "description": "APN or DNN associated with the data access", "$ref": "ts_103280_2017_07#/$defs/DNN" }, "initialAccessTechnology": { @@ -413,11 +417,11 @@ "properties": { "begin": { "$ref": "ts_103280_2017_07#/$defs/QualifiedMicrosecondDateTime", - "description": "Start of the validity period, inclusive" + "description": "Start of the validity period, inclusive" }, "end": { "$ref": "ts_103280_2017_07#/$defs/QualifiedMicrosecondDateTime", - "description": "End of the validity period" + "description": "End of the validity period" } } }, @@ -427,31 +431,31 @@ "properties": { "surname": { "type": "string", - "description": "Surname, family name, maiden name, married name, main name, or the entire name, in cases where the name cannot be divided into two parts" + "description": "Surname, family name, maiden name, married name, main name, or the entire name, in cases where the name cannot be divided into two parts" }, "givenNames": { "type": "string", - "description" : "Given names, forenames, familiar names and any other secondary names" + "description": "Given names, forenames, familiar names and any other secondary names" }, "initials": { "type": "string", - "description": "Initials of the person" + "description": "Initials of the person" }, "salutation": { "type": "string", - "description": "Salutation of the person" + "description": "Salutation of the person" }, "sex": { "enum": [ - "F", - "M", + "F", + "M", "X" ], "description": "F = female; M = male; X = unspecified; according to e.g. ICAO Document 9303 part 4 clause 4.1.1" }, "dateOfBirth": { "$ref": "#/$defs/Date", - "description": "Date of birth of the person" + "description": "Date of birth of the person" } } }, @@ -463,37 +467,37 @@ "Organisation": { "type": "object", "description": "Organisation, juridical person", - "properties" : { + "properties": { "name": { - "type": "string", - "description": "Name of the organisation" + "type": "string", + "description": "Name of the organisation" }, "VATNumber": { - "type": "string", + "type": "string", "pattern": "[A-Z]{2}.*", "description": "Value Added Tax number, typically starting with a two letter country code according to ISO code 3166 - alpha 2 - that identifies the country of issue" } } - }, + }, "BankAccount": { - "type": "object", - "description": "Bank account information", - "properties": { - "iBAN": { + "type": "object", + "description": "Bank account information", + "properties": { + "iBAN": { "$ref": "#/$defs/IBAN", - "description": "International Bank Account Number of the bank account" + "description": "International Bank Account Number of the bank account" }, "accountHolder": { "type": "string", "description": "Holder of the bank account" - } + } } }, - "IBAN": { + "IBAN": { "type": "string", "pattern": "[A-Z]{2}[0-9]{2}[A-Z0-9]{1,30}", "description": "International Bank Account Number according to ISO 13616-1:2020" - }, + }, "PaymentCard": { "type": "object", "description": "Payment card information", @@ -502,44 +506,44 @@ "$ref": "#/$defs/PaymentCardNumber", "description": "Number of the payment card, e.g. credit card number" }, - "cardHolder" : { + "cardHolder": { "type": "string", "description": "Holder of the payment card" - }, - "cardType": { + }, + "cardType": { "type": "string", "description": "Type of the payment card, e.g. issuing company/brand" }, - "dateOfExpiry": { + "dateOfExpiry": { "$ref": "#/$defs/Date", - "description": "Date of expiry of the payment card" - } + "description": "Date of expiry of the payment card" + } } }, "PaymentCardNumber": { "type": "string", "description": "Number of a payment card" - }, + }, "Contract": { - "type": "object", + "type": "object", "description": "Contract information", "properties": { "id": { "type": "string", "description": "Contract number" - }, - "begin": { + }, + "begin": { "$ref": "ts_103280_2017_07#/$defs/QualifiedDateTime", - "description": "Start of the contract" + "description": "Start of the contract" }, - "end": { - "$ref": "ts_103280_2017_07#/$defs/QualifiedDateTime", + "end": { + "$ref": "ts_103280_2017_07#/$defs/QualifiedDateTime", "description": "End of the contract" }, - "natureOfContract": { + "natureOfContract": { "type": "string", "description": "Nature of the contract, i.e. product or service name" - } + } } }, "ContactDetail": { @@ -547,24 +551,24 @@ "description": "Contact detail information", "properties": { "emailAddresses": { - "type": "array", - "items": { - "$ref": "ts_103280_2017_07#/$defs/InternationalizedEmailAddress" - }, + "type": "array", + "items": { + "$ref": "ts_103280_2017_07#/$defs/InternationalizedEmailAddress" + }, "description": "Email addresses of the contact" - }, + }, "phoneNumbers": { - "type": "array", - "items": { - "$ref": "ts_103280_2017_07#/$defs/InternationalE164" - }, + "type": "array", + "items": { + "$ref": "ts_103280_2017_07#/$defs/InternationalE164" + }, "description": "Phone numbers of the contact" }, "addresses": { - "type": "array", - "items": { - "$ref": "#/$defs/Address" - }, + "type": "array", + "items": { + "$ref": "#/$defs/Address" + }, "description": "Addresses of the contact" } } @@ -577,19 +581,19 @@ "type": "string", "description": "Street of the address" }, - "houseNumber": { - "type": "string", + "houseNumber": { + "type": "string", "description": "House number of the street and other specific extensions" }, - "city": { - "type": "string", + "city": { + "type": "string", "description": "City of the address" }, - "postalCode": { + "postalCode": { "type": "string", "description": "Postal code of the address" }, - "countryCode": { + "countryCode": { "$ref": "ts_103280_2017_07#/$defs/ISOCountryCode", "description": "Country code of the address" } @@ -602,7 +606,7 @@ "typeOfDocument": { "type": "string", "description": "Type of the identity verification document, e.g. identity card" - }, + }, "documentFile": { "$ref": "#/$defs/DocumentFile", "description": "Document file, e.g. copy of the identity card" @@ -610,11 +614,11 @@ "documentNumber": { "type": "string", "description": "Document number of the document used for identity verification, e.g. identity card number" - }, + }, "issuingAuthority": { "type": "string", "description": "Issuing authority of the document used for identity verification, e.g. of the identity card" - }, + }, "dateOfExpiry": { "$ref": "#/$defs/Date", "description": "Date of expiry of the document used for identity verification, e.g. of the identity card" @@ -622,7 +626,7 @@ "countryCode": { "$ref": "ts_103280_2017_07#/$defs/ISOCountryCode", "description": "Country code where the document used for identify verification (e.g. the identity card) is issued" - } + } } }, "DocumentFile": { @@ -634,27 +638,26 @@ "description": "Nature of the document, e.g. invoice" }, "fileName": { - "type": "string", + "type": "string", "description": "File name of the document" - }, + }, "mimeType": { - "type": "string", - "description": "Mime type of the document" - }, + "type": "string", + "description": "Mime type of the document" + }, "content": { "type": "string", "description": "Content of the file base64 encoded" }, - "checksum": { + "checksum": { "$ref": "ts_103280_2017_07#/$defs/ShortString", - "description": "Checksum computed for the document using the algorithm provided in checksumType" - }, - "checksumType": { + "description": "Checksum computed for the document using the algorithm provided in checksumType" + }, + "checksumType": { "$ref": "ts_103280_2017_07#/$defs/ShortString", - "description": "Algorithm used to compute the checksum" + "description": "Algorithm used to compute the checksum" } } } } } - diff --git a/103705/schema/records.schema.json b/103705/schema/records.schema.json index ab597011..0ae43940 100644 --- a/103705/schema/records.schema.json +++ b/103705/schema/records.schema.json @@ -1,23 +1,31 @@ { - "$id": "urn:etsi:li:103705:record-schema-id:v1.1.1", - "$schema": "https://json-schema.org/draft/2020-12/schema", - "title": "CSP Record Schema", - "description": "Defines the valid set of Records that may appear in a RecordSet (see ETSI TS 103 705 clause 6.2.4)", - "cspName" : "{replace with assigned CSP name - see ETSI TS 103 705 Table 6.2.4-1", - "cspSchemaID" : "{replace with assigned ID - see ETSI TS 103 705 Table 6.2.4-1}", - "dateIssued" : "{replace with date issued - see ETSI TS 103 705 Table 6.2.4-1}", - "cspSchemaVersion" : "{Replace with version - see ETSI TS 103 705 Table 6.2.4-1}", - "$defs": { - "record" : { - "oneOf" : [ - { - "$comment" : "This is an example", - "allOf" : [ - { "$ref" : "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/CallRecord" }, - { "properties" : { "type" : { "const" : "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/CallRecord"}}} - ] + "$id": "urn:etsi:li:103705:record-schema-id:v1.1.1", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title": "CSP Record Schema", + "description": "Defines the valid set of Records that may appear in a RecordSet (see ETSI TS 103 705 clause 6.2.4)", + "cspName": "{replace with assigned CSP name - see ETSI TS 103 705 Table 6.2.4-1", + "cspSchemaID": "{replace with assigned ID - see ETSI TS 103 705 Table 6.2.4-1}", + "dateIssued": "{replace with date issued - see ETSI TS 103 705 Table 6.2.4-1}", + "cspSchemaVersion": "{Replace with version - see ETSI TS 103 705 Table 6.2.4-1}", + "$defs": { + "record": { + "oneOf": [ + { + "$comment": "This is an example", + "allOf": [ + { + "$ref": "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/CallRecord" + }, + { + "properties": { + "type": { + "const": "urn:etsi:li:103705:type-schema-id:v1.1.1#/$defs/CallRecord" } - ] + } + } + ] } + ] } -} \ No newline at end of file + } +} diff --git a/103705/schema/response.schema.json b/103705/schema/response.schema.json index 2d6f8a0e..0fd4ab3c 100644 --- a/103705/schema/response.schema.json +++ b/103705/schema/response.schema.json @@ -12,7 +12,7 @@ "$ref": "#/$defs/recordSet" }, "Signature": { - "$ref" : "#/$defs/Signature" + "$ref": "#/$defs/Signature" } }, "required": [ @@ -26,35 +26,35 @@ "description": "Provides metadata about the records being delivered (see clause 5.2)", "properties": { "etsiSchemaId": { - "description" : "ID of the ETSI JSON schema used by the Response (see clause 5.2.2)", + "description": "ID of the ETSI JSON schema used by the Response (see clause 5.2.2)", "$ref": "#/$defs/schemaId" }, "etsiSpecificationVersion": { - "description" : "Version of ETSI TS 103 705 used by the Response (see clause 5.2.3)", + "description": "Version of ETSI TS 103 705 used by the Response (see clause 5.2.3)", "$ref": "#/$defs/version" }, - "cspName" : { - "description" : "Identifies the CSP generating the Response (see clause 5.2.4)", + "cspName": { + "description": "Identifies the CSP generating the Response (see clause 5.2.4)", "$ref": "#/$defs/schemaId" - }, - "cspSchemaId" : { - "description" : "ID of CSP Record Schema used by the Response (see clause 5.2.5)", + }, + "cspSchemaId": { + "description": "ID of CSP Record Schema used by the Response (see clause 5.2.5)", "$ref": "#/$defs/schemaId" }, - "cspSchemaVersion" : { - "description" : "Version number assigned by the CSP to the CSP Record Schema identified by the cspSchemaId (see clause 5.2.6)", + "cspSchemaVersion": { + "description": "Version number assigned by the CSP to the CSP Record Schema identified by the cspSchemaId (see clause 5.2.6)", "$ref": "#/$defs/version" }, "resultSetId": { - "description" : "Unique identifier for this result set (see clause 5.2.7)", + "description": "Unique identifier for this result set (see clause 5.2.7)", "$ref": "#/$defs/resultSetId" }, "requestReference": { - "description" : "Reference to the original request (see clause 5.2.8)", + "description": "Reference to the original request (see clause 5.2.8)", "$ref": "#/$defs/requestReference" }, "created": { - "description" : "Timestamp showing the creation time of the Response (see clause 5.2.9)", + "description": "Timestamp showing the creation time of the Response (see clause 5.2.9)", "$ref": "ts_103280_2017_07#/$defs/QualifiedMicrosecondDateTime" } }, @@ -73,8 +73,8 @@ "type": "string" }, "version": { - "type" : "string", - "pattern" : "^[0-9]+\\.[0-9]+\\.[0-9]+$" + "type": "string", + "pattern": "^[0-9]+\\.[0-9]+\\.[0-9]+$" }, "resultSetId": { "type": "string" @@ -91,7 +91,11 @@ } }, "record": { - "allOf" : [{ "$ref" : "urn:etsi:li:103705:record-schema-id:v1.1.1#/$defs/record"}], + "allOf": [ + { + "$ref": "urn:etsi:li:103705:record-schema-id:v1.1.1#/$defs/record" + } + ], "type": "object", "title": "Record", "description": "Response record (see clause 5.3)", -- GitLab From d074521fe49c167cff322a5ebf68c6dab258de91 Mon Sep 17 00:00:00 2001 From: wernersa <1040-wernersa@users.noreply.forge.etsi.org> Date: Wed, 26 Feb 2025 15:27:32 +0000 Subject: [PATCH 10/11] Updated based on feedback received. --- 103705/schema/etsi_types.schema.json | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/103705/schema/etsi_types.schema.json b/103705/schema/etsi_types.schema.json index 6cd5e0b2..58b0f861 100644 --- a/103705/schema/etsi_types.schema.json +++ b/103705/schema/etsi_types.schema.json @@ -466,13 +466,13 @@ }, "Organisation": { "type": "object", - "description": "Organisation, juridical person", + "description": "Organisation, e.g. a company", "properties": { "name": { "type": "string", "description": "Name of the organisation" }, - "VATNumber": { + "vATNumber": { "type": "string", "pattern": "[A-Z]{2}.*", "description": "Value Added Tax number, typically starting with a two letter country code according to ISO code 3166 - alpha 2 - that identifies the country of issue" @@ -503,7 +503,7 @@ "description": "Payment card information", "properties": { "cardNumber": { - "$ref": "#/$defs/PaymentCardNumber", + "type": "string", "description": "Number of the payment card, e.g. credit card number" }, "cardHolder": { @@ -520,10 +520,6 @@ } } }, - "PaymentCardNumber": { - "type": "string", - "description": "Number of a payment card" - }, "Contract": { "type": "object", "description": "Contract information", -- GitLab From f3eaba6d80ce941050ef74004b1ee22a42b80648 Mon Sep 17 00:00:00 2001 From: dierstein Date: Thu, 27 Feb 2025 10:35:14 +0000 Subject: [PATCH 11/11] change the description of ValidityPeriod --- 103705/schema/etsi_types.schema.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/103705/schema/etsi_types.schema.json b/103705/schema/etsi_types.schema.json index 58b0f861..b0b8491f 100644 --- a/103705/schema/etsi_types.schema.json +++ b/103705/schema/etsi_types.schema.json @@ -413,11 +413,11 @@ }, "ValidityPeriod": { "type": "object", - "description": "Validity time period", + "description": "Validity time period, inclusive", "properties": { "begin": { "$ref": "ts_103280_2017_07#/$defs/QualifiedMicrosecondDateTime", - "description": "Start of the validity period, inclusive" + "description": "Start of the validity period" }, "end": { "$ref": "ts_103280_2017_07#/$defs/QualifiedMicrosecondDateTime", -- GitLab