Refactor previous COOPGO Identity service - Initial commit
This commit is contained in:
272
schemas/CMS/civil-status.schema.json
Normal file
272
schemas/CMS/civil-status.schema.json
Normal file
@@ -0,0 +1,272 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "civil-status.schema.json",
|
||||
"title": "Personal Civil Status",
|
||||
"description": "A person's civil status",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"lastName": {
|
||||
"description": "The person's last name",
|
||||
"$ref": "#/$defs/string_field"
|
||||
},
|
||||
"firstName": {
|
||||
"description": "The person's first name",
|
||||
"$ref": "#/$defs/string_field"
|
||||
},
|
||||
"middleNames": {
|
||||
"$comment": "TODO: check if this is the right model",
|
||||
"description": "The person's middle names, separated by spaces",
|
||||
"$ref": "#/$defs/string_field"
|
||||
},
|
||||
"gender": {
|
||||
"$comment": "TODO: validate if it is the right standard to use",
|
||||
"description": "The person's gender",
|
||||
"$ref": "#/$defs/gender_field"
|
||||
},
|
||||
"birthDate": {
|
||||
"description": "The person's birth date",
|
||||
"$ref": "#/$defs/date_field"
|
||||
},
|
||||
"birthPlace": {
|
||||
"description": "The person's birth place / city",
|
||||
"$ref": "#/$defs/city_field"
|
||||
},
|
||||
"birthCountry": {
|
||||
"description": "The person's birth country",
|
||||
"$ref": "#/$defs/country_field"
|
||||
}
|
||||
},
|
||||
"required": [],
|
||||
"additionalProperties": false,
|
||||
"$defs": {
|
||||
"string_field": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": "string"
|
||||
},
|
||||
"source": {
|
||||
"type": "string"
|
||||
},
|
||||
"certificationDate": {
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"value"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
"date_field": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": "string",
|
||||
"format": "date"
|
||||
},
|
||||
"source": {
|
||||
"type": "string"
|
||||
},
|
||||
"certificationDate": {
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"value"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
"email_field": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": "string",
|
||||
"format": "email"
|
||||
},
|
||||
"source": {
|
||||
"type": "string"
|
||||
},
|
||||
"certificationDate": {
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"value"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
"postal_address_field": {
|
||||
"$comment": "Rough implementation of the AFNOR NF Z 10-011 standard",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"line1": {
|
||||
"type": "string",
|
||||
"maxLength": 38
|
||||
},
|
||||
"line2": {
|
||||
"type": "string",
|
||||
"maxLength": 38
|
||||
},
|
||||
"line3": {
|
||||
"type": "string",
|
||||
"maxLength": 38
|
||||
},
|
||||
"line4": {
|
||||
"type": "string",
|
||||
"maxLength": 38
|
||||
},
|
||||
"line5": {
|
||||
"type": "string",
|
||||
"maxLength": 38
|
||||
},
|
||||
"line6": {
|
||||
"type": "string",
|
||||
"maxLength": 38
|
||||
},
|
||||
"line7": {
|
||||
"type": "string",
|
||||
"maxLength": 38
|
||||
}
|
||||
},
|
||||
"$comment": "At least first line is expected to be filled",
|
||||
"required": [
|
||||
"line1"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
"source": {
|
||||
"type": "string"
|
||||
},
|
||||
"certificationDate": {
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"value"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
"phone_number_field": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": "string",
|
||||
"$comment": "E.164 standard",
|
||||
"pattern": "^\\+?[1-9]\\d{1,14}$"
|
||||
},
|
||||
"mobile": {
|
||||
"type": "boolean",
|
||||
"$comment": "if the telephone is mobile, meaning it can receive SMS"
|
||||
},
|
||||
"source": {
|
||||
"type": "string"
|
||||
},
|
||||
"certificationDate": {
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"value",
|
||||
"mobile"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
"gender_field": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": "integer",
|
||||
"$comment": "ISO/IEC 5218",
|
||||
"enum": [0, 1, 2, 9]
|
||||
},
|
||||
"source": {
|
||||
"type": "string"
|
||||
},
|
||||
"certificationDate": {
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"value"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
"city_field": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": "string"
|
||||
},
|
||||
"inseeValue": {
|
||||
"type": "string",
|
||||
"$comment": "French INSEE code for cities",
|
||||
"minLength": 5,
|
||||
"maxLength": 5
|
||||
},
|
||||
"source": {
|
||||
"type": "string"
|
||||
},
|
||||
"certificationDate": {
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
}
|
||||
},
|
||||
"oneOf": [
|
||||
{
|
||||
"required": [
|
||||
"name"
|
||||
]
|
||||
},
|
||||
{
|
||||
"required": [
|
||||
"inseeValue"
|
||||
]
|
||||
}
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
"country_field": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": "string"
|
||||
},
|
||||
"isoValue": {
|
||||
"type": "string",
|
||||
"$comment": "ISO 3166-1 alpha-3",
|
||||
"minLength": 3,
|
||||
"maxLength": 3
|
||||
},
|
||||
"source": {
|
||||
"type": "string"
|
||||
},
|
||||
"certificationDate": {
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
}
|
||||
},
|
||||
"oneOf": [
|
||||
{
|
||||
"required": [
|
||||
"name"
|
||||
]
|
||||
},
|
||||
{
|
||||
"required": [
|
||||
"isoValue"
|
||||
]
|
||||
}
|
||||
],
|
||||
"additionalProperties": false
|
||||
}
|
||||
}
|
||||
}
|
||||
278
schemas/CMS/driving-licence.schema.json
Normal file
278
schemas/CMS/driving-licence.schema.json
Normal file
@@ -0,0 +1,278 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "driving-license.schema.json",
|
||||
"title": "Personal Driving License",
|
||||
"description": "A person's driving license information",
|
||||
"$comment": "TODO: add license type",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"number": {
|
||||
"description": "The person's driving license number",
|
||||
"$ref": "#/$defs/string_field"
|
||||
},
|
||||
"dateOfIssue": {
|
||||
"description": "The person's driving license date of issue",
|
||||
"$ref": "#/$defs/date_field"
|
||||
},
|
||||
"dateOfValidity": {
|
||||
"description": "The person's driving license maximum validity date",
|
||||
"$ref": "#/$defs/date_field"
|
||||
},
|
||||
"issuingCountry": {
|
||||
"description": "The person's driving license issuing country",
|
||||
"$ref": "#/$defs/country_field"
|
||||
}
|
||||
},
|
||||
"required": [],
|
||||
"additionalProperties": false,
|
||||
"$defs": {
|
||||
"boolean_field": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"source": {
|
||||
"type": "string"
|
||||
},
|
||||
"certificationDate": {
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"value"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
"string_field": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": "string"
|
||||
},
|
||||
"source": {
|
||||
"type": "string"
|
||||
},
|
||||
"certificationDate": {
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"value"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
"date_field": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": "string",
|
||||
"format": "date"
|
||||
},
|
||||
"source": {
|
||||
"type": "string"
|
||||
},
|
||||
"certificationDate": {
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"value"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
"email_field": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": "string",
|
||||
"format": "email"
|
||||
},
|
||||
"source": {
|
||||
"type": "string"
|
||||
},
|
||||
"certificationDate": {
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"value"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
"postal_address_field": {
|
||||
"$comment": "Rough implementation of the AFNOR NF Z 10-011 standard",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"line1": {
|
||||
"type": "string",
|
||||
"maxLength": 38
|
||||
},
|
||||
"line2": {
|
||||
"type": "string",
|
||||
"maxLength": 38
|
||||
},
|
||||
"line3": {
|
||||
"type": "string",
|
||||
"maxLength": 38
|
||||
},
|
||||
"line4": {
|
||||
"type": "string",
|
||||
"maxLength": 38
|
||||
},
|
||||
"line5": {
|
||||
"type": "string",
|
||||
"maxLength": 38
|
||||
},
|
||||
"line6": {
|
||||
"type": "string",
|
||||
"maxLength": 38
|
||||
},
|
||||
"line7": {
|
||||
"type": "string",
|
||||
"maxLength": 38
|
||||
}
|
||||
},
|
||||
"$comment": "At least first line is expected to be filled",
|
||||
"required": [
|
||||
"line1"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
"source": {
|
||||
"type": "string"
|
||||
},
|
||||
"certificationDate": {
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"value"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
"phone_number_field": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": "string",
|
||||
"$comment": "E.164 standard",
|
||||
"pattern": "^\\+?[1-9]\\d{1,14}$"
|
||||
},
|
||||
"mobile": {
|
||||
"type": "boolean",
|
||||
"$comment": "if the telephone is mobile, meaning it can receive SMS"
|
||||
},
|
||||
"source": {
|
||||
"type": "string"
|
||||
},
|
||||
"certificationDate": {
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"value",
|
||||
"mobile"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
"gender_field": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": "integer",
|
||||
"$comment": "ISO/IEC 5218",
|
||||
"enum": [0, 1, 2, 9]
|
||||
},
|
||||
"source": {
|
||||
"type": "string"
|
||||
},
|
||||
"certificationDate": {
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"value"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
"city_field": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": "string"
|
||||
},
|
||||
"inseeValue": {
|
||||
"type": "string",
|
||||
"$comment": "French INSEE code for cities",
|
||||
"minLength": 5,
|
||||
"maxLength": 5
|
||||
},
|
||||
"source": {
|
||||
"type": "string"
|
||||
},
|
||||
"certificationDate": {
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
}
|
||||
},
|
||||
"oneOf": [
|
||||
{
|
||||
"required": [
|
||||
"name"
|
||||
]
|
||||
},
|
||||
{
|
||||
"required": [
|
||||
"inseeValue"
|
||||
]
|
||||
}
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
"country_field": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": "string"
|
||||
},
|
||||
"isoValue": {
|
||||
"type": "string",
|
||||
"$comment": "ISO 3166-1 alpha-3",
|
||||
"minLength": 3,
|
||||
"maxLength": 3
|
||||
},
|
||||
"source": {
|
||||
"type": "string"
|
||||
},
|
||||
"certificationDate": {
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
}
|
||||
},
|
||||
"oneOf": [
|
||||
{
|
||||
"required": [
|
||||
"name"
|
||||
]
|
||||
},
|
||||
{
|
||||
"required": [
|
||||
"isoValue"
|
||||
]
|
||||
}
|
||||
],
|
||||
"additionalProperties": false
|
||||
}
|
||||
}
|
||||
}
|
||||
297
schemas/CMS/favorites.schema.json
Normal file
297
schemas/CMS/favorites.schema.json
Normal file
@@ -0,0 +1,297 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "favorites.schema.json",
|
||||
"title": "Personal Routing Favorites",
|
||||
"description": "A person's favorite routing information",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"addresses": {
|
||||
"description": "The person's favorite addresses",
|
||||
"type": "array",
|
||||
"uniqueItems": true,
|
||||
"items": {
|
||||
"$ref": "#/$defs/named_address_field"
|
||||
}
|
||||
},
|
||||
"transportationModes": {
|
||||
"description": "The person's favorite transportation modes",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"pedestrian",
|
||||
"bus",
|
||||
"metro",
|
||||
"trolleybus",
|
||||
"tram",
|
||||
"water",
|
||||
"funicular",
|
||||
"cableway",
|
||||
"car",
|
||||
"bicycle",
|
||||
"taxi",
|
||||
"chauffeur",
|
||||
"scooter",
|
||||
"moped",
|
||||
"motorcycle",
|
||||
"carshare",
|
||||
"train",
|
||||
"coach",
|
||||
"air"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [],
|
||||
"additionalProperties": false,
|
||||
"$defs": {
|
||||
"string_field": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": "string"
|
||||
},
|
||||
"source": {
|
||||
"type": "string"
|
||||
},
|
||||
"certificationDate": {
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"value"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
"date_field": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": "string",
|
||||
"format": "date"
|
||||
},
|
||||
"source": {
|
||||
"type": "string"
|
||||
},
|
||||
"certificationDate": {
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"value"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
"email_field": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": "string",
|
||||
"format": "email"
|
||||
},
|
||||
"source": {
|
||||
"type": "string"
|
||||
},
|
||||
"certificationDate": {
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"value"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
"postal_address_field": {
|
||||
"$comment": "Rough implementation of the AFNOR NF Z 10-011 standard",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"line1": {
|
||||
"type": "string",
|
||||
"maxLength": 38
|
||||
},
|
||||
"line2": {
|
||||
"type": "string",
|
||||
"maxLength": 38
|
||||
},
|
||||
"line3": {
|
||||
"type": "string",
|
||||
"maxLength": 38
|
||||
},
|
||||
"line4": {
|
||||
"type": "string",
|
||||
"maxLength": 38
|
||||
},
|
||||
"line5": {
|
||||
"type": "string",
|
||||
"maxLength": 38
|
||||
},
|
||||
"line6": {
|
||||
"type": "string",
|
||||
"maxLength": 38
|
||||
},
|
||||
"line7": {
|
||||
"type": "string",
|
||||
"maxLength": 38
|
||||
}
|
||||
},
|
||||
"$comment": "At least first line is expected to be filled",
|
||||
"required": [
|
||||
"line1"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
"source": {
|
||||
"type": "string"
|
||||
},
|
||||
"certificationDate": {
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"value"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
"named_address_field": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": "string",
|
||||
"description": "The address name, like Home, Work..."
|
||||
},
|
||||
"value": {
|
||||
"type": "string",
|
||||
"description": "The address",
|
||||
"$ref": "#/$defs/postal_address_field"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"name",
|
||||
"value"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
"phone_number_field": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": "string",
|
||||
"$comment": "E.164 standard",
|
||||
"pattern": "^\\+?[1-9]\\d{1,14}$"
|
||||
},
|
||||
"mobile": {
|
||||
"type": "boolean",
|
||||
"$comment": "if the telephone is mobile, meaning it can receive SMS"
|
||||
},
|
||||
"source": {
|
||||
"type": "string"
|
||||
},
|
||||
"certificationDate": {
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"value",
|
||||
"mobile"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
"gender_field": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": "integer",
|
||||
"$comment": "ISO/IEC 5218",
|
||||
"enum": [0, 1, 2, 9]
|
||||
},
|
||||
"source": {
|
||||
"type": "string"
|
||||
},
|
||||
"certificationDate": {
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"value"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
"city_field": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": "string"
|
||||
},
|
||||
"inseeValue": {
|
||||
"type": "string",
|
||||
"$comment": "French INSEE code for cities",
|
||||
"minLength": 5,
|
||||
"maxLength": 5
|
||||
},
|
||||
"source": {
|
||||
"type": "string"
|
||||
},
|
||||
"certificationDate": {
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
}
|
||||
},
|
||||
"oneOf": [
|
||||
{
|
||||
"required": [
|
||||
"name"
|
||||
]
|
||||
},
|
||||
{
|
||||
"required": [
|
||||
"inseeValue"
|
||||
]
|
||||
}
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
"country_field": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": "string"
|
||||
},
|
||||
"isoValue": {
|
||||
"type": "string",
|
||||
"$comment": "ISO 3166-1 alpha-3",
|
||||
"minLength": 3,
|
||||
"maxLength": 3
|
||||
},
|
||||
"source": {
|
||||
"type": "string"
|
||||
},
|
||||
"certificationDate": {
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
}
|
||||
},
|
||||
"oneOf": [
|
||||
{
|
||||
"required": [
|
||||
"name"
|
||||
]
|
||||
},
|
||||
{
|
||||
"required": [
|
||||
"isoValue"
|
||||
]
|
||||
}
|
||||
],
|
||||
"additionalProperties": false
|
||||
}
|
||||
}
|
||||
}
|
||||
271
schemas/CMS/fr-caf-information.schema.json
Normal file
271
schemas/CMS/fr-caf-information.schema.json
Normal file
@@ -0,0 +1,271 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "fr-caf-information.schema.json",
|
||||
"title": "Personal French CAF information",
|
||||
"description": "A person's French CAF information",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"familyQuotient": {
|
||||
"description": "The person's family quotient",
|
||||
"$ref": "#/$defs/string_field"
|
||||
},
|
||||
"recipientNumber": {
|
||||
"description": "The person's recipient number",
|
||||
"$ref": "#/$defs/string_field"
|
||||
},
|
||||
"address": {
|
||||
"description": "The person's main postal address",
|
||||
"$ref": "#/$defs/postal_address_field"
|
||||
},
|
||||
"lastName": {
|
||||
"description": "The person's last name",
|
||||
"$ref": "#/$defs/string_field"
|
||||
},
|
||||
"firstName": {
|
||||
"description": "The person's first name",
|
||||
"$ref": "#/$defs/string_field"
|
||||
},
|
||||
"middleNames": {
|
||||
"$comment": "TODO: check if this is the right model",
|
||||
"description": "The person's middle names, separated by spaces",
|
||||
"$ref": "#/$defs/string_field"
|
||||
},
|
||||
"birthDate": {
|
||||
"description": "The person's birth date",
|
||||
"$ref": "#/$defs/date_field"
|
||||
}
|
||||
},
|
||||
"required": [],
|
||||
"additionalProperties": false,
|
||||
"$defs": {
|
||||
"string_field": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": "string"
|
||||
},
|
||||
"source": {
|
||||
"type": "string"
|
||||
},
|
||||
"certificationDate": {
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"value"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
"date_field": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": "string",
|
||||
"format": "date"
|
||||
},
|
||||
"source": {
|
||||
"type": "string"
|
||||
},
|
||||
"certificationDate": {
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"value"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
"email_field": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": "string",
|
||||
"format": "email"
|
||||
},
|
||||
"source": {
|
||||
"type": "string"
|
||||
},
|
||||
"certificationDate": {
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"value"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
"postal_address_field": {
|
||||
"$comment": "Rough implementation of the AFNOR NF Z 10-011 standard",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"line1": {
|
||||
"type": "string",
|
||||
"maxLength": 38
|
||||
},
|
||||
"line2": {
|
||||
"type": "string",
|
||||
"maxLength": 38
|
||||
},
|
||||
"line3": {
|
||||
"type": "string",
|
||||
"maxLength": 38
|
||||
},
|
||||
"line4": {
|
||||
"type": "string",
|
||||
"maxLength": 38
|
||||
},
|
||||
"line5": {
|
||||
"type": "string",
|
||||
"maxLength": 38
|
||||
},
|
||||
"line6": {
|
||||
"type": "string",
|
||||
"maxLength": 38
|
||||
},
|
||||
"line7": {
|
||||
"type": "string",
|
||||
"maxLength": 38
|
||||
}
|
||||
},
|
||||
"$comment": "At least first line is expected to be filled",
|
||||
"required": [
|
||||
"line1"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
"source": {
|
||||
"type": "string"
|
||||
},
|
||||
"certificationDate": {
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"value"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
"phone_number_field": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": "string",
|
||||
"$comment": "E.164 standard",
|
||||
"pattern": "^\\+?[1-9]\\d{1,14}$"
|
||||
},
|
||||
"mobile": {
|
||||
"type": "boolean",
|
||||
"$comment": "if the telephone is mobile, meaning it can receive SMS"
|
||||
},
|
||||
"source": {
|
||||
"type": "string"
|
||||
},
|
||||
"certificationDate": {
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"value",
|
||||
"mobile"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
"gender_field": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": "integer",
|
||||
"$comment": "ISO/IEC 5218",
|
||||
"enum": [0, 1, 2, 9]
|
||||
},
|
||||
"source": {
|
||||
"type": "string"
|
||||
},
|
||||
"certificationDate": {
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"value"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
"city_field": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": "string"
|
||||
},
|
||||
"inseeValue": {
|
||||
"type": "string",
|
||||
"$comment": "French INSEE code for cities",
|
||||
"minLength": 5,
|
||||
"maxLength": 5
|
||||
},
|
||||
"source": {
|
||||
"type": "string"
|
||||
},
|
||||
"certificationDate": {
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
}
|
||||
},
|
||||
"oneOf": [
|
||||
{
|
||||
"required": [
|
||||
"name"
|
||||
]
|
||||
},
|
||||
{
|
||||
"required": [
|
||||
"inseeValue"
|
||||
]
|
||||
}
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
"country_field": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": "string"
|
||||
},
|
||||
"isoValue": {
|
||||
"type": "string",
|
||||
"$comment": "ISO 3166-1 alpha-3",
|
||||
"minLength": 3,
|
||||
"maxLength": 3
|
||||
},
|
||||
"source": {
|
||||
"type": "string"
|
||||
},
|
||||
"certificationDate": {
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
}
|
||||
},
|
||||
"oneOf": [
|
||||
{
|
||||
"required": [
|
||||
"name"
|
||||
]
|
||||
},
|
||||
{
|
||||
"required": [
|
||||
"isoValue"
|
||||
]
|
||||
}
|
||||
],
|
||||
"additionalProperties": false
|
||||
}
|
||||
}
|
||||
}
|
||||
384
schemas/CMS/fr-dgfip-information.schema.json
Normal file
384
schemas/CMS/fr-dgfip-information.schema.json
Normal file
@@ -0,0 +1,384 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "fr-dgfip-information.schema.json",
|
||||
"title": "Personal French DGFIP information",
|
||||
"description": "A person's French DGFIP information",
|
||||
"$comment": "TODO: improve information on tax notices, add information of persons attached to declarants",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"declarant1": {
|
||||
"description": "The first declarant information",
|
||||
"$ref": "#/$defs/dgfip_identity_field"
|
||||
},
|
||||
"declarant2": {
|
||||
"description": "The second declarant information",
|
||||
"$ref": "#/$defs/dgfip_identity_field"
|
||||
},
|
||||
"taxNotices": {
|
||||
"description": "Tax notices",
|
||||
"type": "array",
|
||||
"uniqueItems": true,
|
||||
"items": {
|
||||
"$ref": "#/$defs/dgfip_tax_notice_field"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [],
|
||||
"additionalProperties": false,
|
||||
"$defs": {
|
||||
"dgfip_tax_notice_field": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"declarationYear": {
|
||||
"description": "The declaration year",
|
||||
"$ref": "#/$defs/integer_field"
|
||||
},
|
||||
"numberOfShares": {
|
||||
"description": "The number of shares",
|
||||
"$ref": "#/$defs/integer_field"
|
||||
},
|
||||
"grossIncome": {
|
||||
"description": "The overall gross income",
|
||||
"$ref": "#/$defs/number_field"
|
||||
},
|
||||
"taxableIncome": {
|
||||
"description": "The taxable income",
|
||||
"$ref": "#/$defs/number_field"
|
||||
},
|
||||
"referenceTaxIncome": {
|
||||
"description": "The reference tax income",
|
||||
"$ref": "#/$defs/number_field"
|
||||
},
|
||||
"taxAmount": {
|
||||
"description": "The tax amount",
|
||||
"$ref": "#/$defs/number_field"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"value"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
"dgfip_identity_field": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"lastName": {
|
||||
"description": "The person's last name",
|
||||
"$ref": "#/$defs/string_field"
|
||||
},
|
||||
"birthName": {
|
||||
"description": "The person's last name",
|
||||
"$ref": "#/$defs/string_field"
|
||||
},
|
||||
"firstName": {
|
||||
"description": "The person's first name",
|
||||
"$ref": "#/$defs/string_field"
|
||||
},
|
||||
"middleNames": {
|
||||
"$comment": "TODO: check if this is the right model",
|
||||
"description": "The person's middle names, separated by spaces",
|
||||
"$ref": "#/$defs/string_field"
|
||||
},
|
||||
"birthDate": {
|
||||
"description": "The person's birth date",
|
||||
"$ref": "#/$defs/date_field"
|
||||
},
|
||||
"birthPlace": {
|
||||
"description": "The person's birth place / city",
|
||||
"$ref": "#/$defs/city_field"
|
||||
},
|
||||
"birthCountry": {
|
||||
"description": "The person's birth country",
|
||||
"$ref": "#/$defs/country_field"
|
||||
},
|
||||
"email": {
|
||||
"description": "The person's email",
|
||||
"$ref": "#/$defs/email_field"
|
||||
},
|
||||
"primaryPostalAddress": {
|
||||
"description": "The person's primary postal address",
|
||||
"$ref": "#/$defs/postal_address_field"
|
||||
},
|
||||
"secondaryPostalAddress": {
|
||||
"description": "The person's secondary postal address",
|
||||
"$ref": "#/$defs/postal_address_field"
|
||||
},
|
||||
"primaryPhoneNumber": {
|
||||
"description": "The person's primary phone number",
|
||||
"$ref": "#/$defs/phone_number_field"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"value"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
"string_field": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": "string"
|
||||
},
|
||||
"source": {
|
||||
"type": "string"
|
||||
},
|
||||
"certificationDate": {
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"value"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
"date_field": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": "string",
|
||||
"format": "date"
|
||||
},
|
||||
"source": {
|
||||
"type": "string"
|
||||
},
|
||||
"certificationDate": {
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"value"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
"integer_field": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": "integer"
|
||||
},
|
||||
"source": {
|
||||
"type": "string"
|
||||
},
|
||||
"certificationDate": {
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"value"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
"number_field": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": "number"
|
||||
},
|
||||
"source": {
|
||||
"type": "string"
|
||||
},
|
||||
"certificationDate": {
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"value"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
"email_field": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": "string",
|
||||
"format": "email"
|
||||
},
|
||||
"source": {
|
||||
"type": "string"
|
||||
},
|
||||
"certificationDate": {
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"value"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
"postal_address_field": {
|
||||
"$comment": "Rough implementation of the AFNOR NF Z 10-011 standard",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"line1": {
|
||||
"type": "string",
|
||||
"maxLength": 38
|
||||
},
|
||||
"line2": {
|
||||
"type": "string",
|
||||
"maxLength": 38
|
||||
},
|
||||
"line3": {
|
||||
"type": "string",
|
||||
"maxLength": 38
|
||||
},
|
||||
"line4": {
|
||||
"type": "string",
|
||||
"maxLength": 38
|
||||
},
|
||||
"line5": {
|
||||
"type": "string",
|
||||
"maxLength": 38
|
||||
},
|
||||
"line6": {
|
||||
"type": "string",
|
||||
"maxLength": 38
|
||||
},
|
||||
"line7": {
|
||||
"type": "string",
|
||||
"maxLength": 38
|
||||
}
|
||||
},
|
||||
"$comment": "At least first line is expected to be filled",
|
||||
"required": [
|
||||
"line1"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
"source": {
|
||||
"type": "string"
|
||||
},
|
||||
"certificationDate": {
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"value"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
"phone_number_field": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": "string",
|
||||
"$comment": "E.164 standard",
|
||||
"pattern": "^\\+?[1-9]\\d{1,14}$"
|
||||
},
|
||||
"mobile": {
|
||||
"type": "boolean",
|
||||
"$comment": "if the telephone is mobile, meaning it can receive SMS"
|
||||
},
|
||||
"source": {
|
||||
"type": "string"
|
||||
},
|
||||
"certificationDate": {
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"value",
|
||||
"mobile"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
"gender_field": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": "integer",
|
||||
"$comment": "ISO/IEC 5218",
|
||||
"enum": [0, 1, 2, 9]
|
||||
},
|
||||
"source": {
|
||||
"type": "string"
|
||||
},
|
||||
"certificationDate": {
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"value"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
"city_field": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": "string"
|
||||
},
|
||||
"inseeValue": {
|
||||
"type": "string",
|
||||
"$comment": "French INSEE code for cities",
|
||||
"minLength": 5,
|
||||
"maxLength": 5
|
||||
},
|
||||
"source": {
|
||||
"type": "string"
|
||||
},
|
||||
"certificationDate": {
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
}
|
||||
},
|
||||
"oneOf": [
|
||||
{
|
||||
"required": [
|
||||
"name"
|
||||
]
|
||||
},
|
||||
{
|
||||
"required": [
|
||||
"inseeValue"
|
||||
]
|
||||
}
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
"country_field": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": "string"
|
||||
},
|
||||
"isoValue": {
|
||||
"type": "string",
|
||||
"$comment": "ISO 3166-1 alpha-3",
|
||||
"minLength": 3,
|
||||
"maxLength": 3
|
||||
},
|
||||
"source": {
|
||||
"type": "string"
|
||||
},
|
||||
"certificationDate": {
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
}
|
||||
},
|
||||
"oneOf": [
|
||||
{
|
||||
"required": [
|
||||
"name"
|
||||
]
|
||||
},
|
||||
{
|
||||
"required": [
|
||||
"isoValue"
|
||||
]
|
||||
}
|
||||
],
|
||||
"additionalProperties": false
|
||||
}
|
||||
}
|
||||
}
|
||||
285
schemas/CMS/fr-mesri-information.schema.json
Normal file
285
schemas/CMS/fr-mesri-information.schema.json
Normal file
@@ -0,0 +1,285 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "fr-mesri-information.schema.json",
|
||||
"title": "Personal French MESRI information",
|
||||
"description": "A person's French MESRI information",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"student": {
|
||||
"description": "If the person has student status",
|
||||
"$ref": "#/$defs/boolean_field"
|
||||
},
|
||||
"studentStartDate": {
|
||||
"description": "The person's student status start date",
|
||||
"$ref": "#/$defs/date_field"
|
||||
},
|
||||
"studentEndDate": {
|
||||
"description": "The person's student status end date",
|
||||
"$ref": "#/$defs/date_field"
|
||||
},
|
||||
"scholarship": {
|
||||
"description": "If the person has scholarship",
|
||||
"$ref": "#/$defs/boolean_field"
|
||||
},
|
||||
"scholarshipStartDate": {
|
||||
"description": "The person's scholarship start date",
|
||||
"$ref": "#/$defs/date_field"
|
||||
},
|
||||
"scholarshipEndDate": {
|
||||
"description": "The person's scholarship end date",
|
||||
"$ref": "#/$defs/date_field"
|
||||
}
|
||||
},
|
||||
"required": [],
|
||||
"additionalProperties": false,
|
||||
"$defs": {
|
||||
"boolean_field": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"source": {
|
||||
"type": "string"
|
||||
},
|
||||
"certificationDate": {
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"value"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
"string_field": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": "string"
|
||||
},
|
||||
"source": {
|
||||
"type": "string"
|
||||
},
|
||||
"certificationDate": {
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"value"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
"date_field": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": "string",
|
||||
"format": "date"
|
||||
},
|
||||
"source": {
|
||||
"type": "string"
|
||||
},
|
||||
"certificationDate": {
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"value"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
"email_field": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": "string",
|
||||
"format": "email"
|
||||
},
|
||||
"source": {
|
||||
"type": "string"
|
||||
},
|
||||
"certificationDate": {
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"value"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
"postal_address_field": {
|
||||
"$comment": "Rough implementation of the AFNOR NF Z 10-011 standard",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"line1": {
|
||||
"type": "string",
|
||||
"maxLength": 38
|
||||
},
|
||||
"line2": {
|
||||
"type": "string",
|
||||
"maxLength": 38
|
||||
},
|
||||
"line3": {
|
||||
"type": "string",
|
||||
"maxLength": 38
|
||||
},
|
||||
"line4": {
|
||||
"type": "string",
|
||||
"maxLength": 38
|
||||
},
|
||||
"line5": {
|
||||
"type": "string",
|
||||
"maxLength": 38
|
||||
},
|
||||
"line6": {
|
||||
"type": "string",
|
||||
"maxLength": 38
|
||||
},
|
||||
"line7": {
|
||||
"type": "string",
|
||||
"maxLength": 38
|
||||
}
|
||||
},
|
||||
"$comment": "At least first line is expected to be filled",
|
||||
"required": [
|
||||
"line1"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
"source": {
|
||||
"type": "string"
|
||||
},
|
||||
"certificationDate": {
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"value"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
"phone_number_field": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": "string",
|
||||
"$comment": "E.164 standard",
|
||||
"pattern": "^\\+?[1-9]\\d{1,14}$"
|
||||
},
|
||||
"mobile": {
|
||||
"type": "boolean",
|
||||
"$comment": "if the telephone is mobile, meaning it can receive SMS"
|
||||
},
|
||||
"source": {
|
||||
"type": "string"
|
||||
},
|
||||
"certificationDate": {
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"value",
|
||||
"mobile"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
"gender_field": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": "integer",
|
||||
"$comment": "ISO/IEC 5218",
|
||||
"enum": [0, 1, 2, 9]
|
||||
},
|
||||
"source": {
|
||||
"type": "string"
|
||||
},
|
||||
"certificationDate": {
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"value"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
"city_field": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": "string"
|
||||
},
|
||||
"inseeValue": {
|
||||
"type": "string",
|
||||
"$comment": "French INSEE code for cities",
|
||||
"minLength": 5,
|
||||
"maxLength": 5
|
||||
},
|
||||
"source": {
|
||||
"type": "string"
|
||||
},
|
||||
"certificationDate": {
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
}
|
||||
},
|
||||
"oneOf": [
|
||||
{
|
||||
"required": [
|
||||
"name"
|
||||
]
|
||||
},
|
||||
{
|
||||
"required": [
|
||||
"inseeValue"
|
||||
]
|
||||
}
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
"country_field": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": "string"
|
||||
},
|
||||
"isoValue": {
|
||||
"type": "string",
|
||||
"$comment": "ISO 3166-1 alpha-3",
|
||||
"minLength": 3,
|
||||
"maxLength": 3
|
||||
},
|
||||
"source": {
|
||||
"type": "string"
|
||||
},
|
||||
"certificationDate": {
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
}
|
||||
},
|
||||
"oneOf": [
|
||||
{
|
||||
"required": [
|
||||
"name"
|
||||
]
|
||||
},
|
||||
{
|
||||
"required": [
|
||||
"isoValue"
|
||||
]
|
||||
}
|
||||
],
|
||||
"additionalProperties": false
|
||||
}
|
||||
}
|
||||
}
|
||||
278
schemas/CMS/in-case-of-emergency-contacts.schema.json
Normal file
278
schemas/CMS/in-case-of-emergency-contacts.schema.json
Normal file
@@ -0,0 +1,278 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "in-case-of-emergency-contacts.schema.json",
|
||||
"title": "Personal in-case-of-emergency contacts",
|
||||
"description": "A person's in-case-of-emergency contacts",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"contacts": {
|
||||
"description": "The person's in-case-of-emergency contacts",
|
||||
"$comment": "Should be listed in the order of descending contact priority",
|
||||
"type": "array",
|
||||
"uniqueItems": true,
|
||||
"items": {
|
||||
"$ref": "#/$defs/emergency_contact_field"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [],
|
||||
"additionalProperties": false,
|
||||
"$defs": {
|
||||
"string_field": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": "string"
|
||||
},
|
||||
"source": {
|
||||
"type": "string"
|
||||
},
|
||||
"certificationDate": {
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"value"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
"date_field": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": "string",
|
||||
"format": "date"
|
||||
},
|
||||
"source": {
|
||||
"type": "string"
|
||||
},
|
||||
"certificationDate": {
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"value"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
"email_field": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": "string",
|
||||
"format": "email"
|
||||
},
|
||||
"source": {
|
||||
"type": "string"
|
||||
},
|
||||
"certificationDate": {
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"value"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
"postal_address_field": {
|
||||
"$comment": "Rough implementation of the AFNOR NF Z 10-011 standard",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"line1": {
|
||||
"type": "string",
|
||||
"maxLength": 38
|
||||
},
|
||||
"line2": {
|
||||
"type": "string",
|
||||
"maxLength": 38
|
||||
},
|
||||
"line3": {
|
||||
"type": "string",
|
||||
"maxLength": 38
|
||||
},
|
||||
"line4": {
|
||||
"type": "string",
|
||||
"maxLength": 38
|
||||
},
|
||||
"line5": {
|
||||
"type": "string",
|
||||
"maxLength": 38
|
||||
},
|
||||
"line6": {
|
||||
"type": "string",
|
||||
"maxLength": 38
|
||||
},
|
||||
"line7": {
|
||||
"type": "string",
|
||||
"maxLength": 38
|
||||
}
|
||||
},
|
||||
"$comment": "At least first line is expected to be filled",
|
||||
"required": [
|
||||
"line1"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
"source": {
|
||||
"type": "string"
|
||||
},
|
||||
"certificationDate": {
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"value"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
"emergency_contact_field": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"lastName": {
|
||||
"description": "The person's last name",
|
||||
"$ref": "#/$defs/string_field"
|
||||
},
|
||||
"firstName": {
|
||||
"description": "The person's first name",
|
||||
"$ref": "#/$defs/string_field"
|
||||
},
|
||||
"phoneNumber": {
|
||||
"description": "The person's phone number name",
|
||||
"$ref": "#/$defs/phone_number_field"
|
||||
},
|
||||
"email": {
|
||||
"description": "The person's email",
|
||||
"$ref": "#/$defs/phone_number_field"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"lastName",
|
||||
"firstName",
|
||||
"phoneNumber"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
"phone_number_field": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": "string",
|
||||
"$comment": "E.164 standard",
|
||||
"pattern": "^\\+?[1-9]\\d{1,14}$"
|
||||
},
|
||||
"mobile": {
|
||||
"type": "boolean",
|
||||
"$comment": "if the telephone is mobile, meaning it can receive SMS"
|
||||
},
|
||||
"source": {
|
||||
"type": "string"
|
||||
},
|
||||
"certificationDate": {
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"value",
|
||||
"mobile"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
"gender_field": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": "integer",
|
||||
"$comment": "ISO/IEC 5218",
|
||||
"enum": [0, 1, 2, 9]
|
||||
},
|
||||
"source": {
|
||||
"type": "string"
|
||||
},
|
||||
"certificationDate": {
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"value"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
"city_field": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": "string"
|
||||
},
|
||||
"inseeValue": {
|
||||
"type": "string",
|
||||
"$comment": "French INSEE code for cities",
|
||||
"minLength": 5,
|
||||
"maxLength": 5
|
||||
},
|
||||
"source": {
|
||||
"type": "string"
|
||||
},
|
||||
"certificationDate": {
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
}
|
||||
},
|
||||
"oneOf": [
|
||||
{
|
||||
"required": [
|
||||
"name"
|
||||
]
|
||||
},
|
||||
{
|
||||
"required": [
|
||||
"inseeValue"
|
||||
]
|
||||
}
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
"country_field": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": "string"
|
||||
},
|
||||
"isoValue": {
|
||||
"type": "string",
|
||||
"$comment": "ISO 3166-1 alpha-3",
|
||||
"minLength": 3,
|
||||
"maxLength": 3
|
||||
},
|
||||
"source": {
|
||||
"type": "string"
|
||||
},
|
||||
"certificationDate": {
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
}
|
||||
},
|
||||
"oneOf": [
|
||||
{
|
||||
"required": [
|
||||
"name"
|
||||
]
|
||||
},
|
||||
{
|
||||
"required": [
|
||||
"isoValue"
|
||||
]
|
||||
}
|
||||
],
|
||||
"additionalProperties": false
|
||||
}
|
||||
}
|
||||
}
|
||||
223
schemas/CMS/personal-information.schema.json
Normal file
223
schemas/CMS/personal-information.schema.json
Normal file
@@ -0,0 +1,223 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "personal-information.schema.json",
|
||||
"title": "Personal Information",
|
||||
"description": "A person's information",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"email": {
|
||||
"description": "The person's email",
|
||||
"$ref": "#/$defs/email_field"
|
||||
},
|
||||
"primaryPostalAddress": {
|
||||
"description": "The person's primary postal address",
|
||||
"$ref": "#/$defs/postal_address_field"
|
||||
},
|
||||
"secondaryPostalAddress": {
|
||||
"description": "The person's secondary postal address",
|
||||
"$ref": "#/$defs/postal_address_field"
|
||||
},
|
||||
"primaryPhoneNumber": {
|
||||
"description": "The person's primary phone number",
|
||||
"$ref": "#/$defs/phone_number_field"
|
||||
},
|
||||
"secondaryPhoneNumber": {
|
||||
"description": "The person's secondary phone number",
|
||||
"$ref": "#/$defs/phone_number_field"
|
||||
}
|
||||
},
|
||||
"required": [],
|
||||
"additionalProperties": false,
|
||||
"$defs": {
|
||||
"string_field": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": "string"
|
||||
},
|
||||
"source": {
|
||||
"type": "string"
|
||||
},
|
||||
"certificationDate": {
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"value"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
"date_field": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": "string",
|
||||
"format": "date"
|
||||
},
|
||||
"source": {
|
||||
"type": "string"
|
||||
},
|
||||
"certificationDate": {
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"value"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
"email_field": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": "string",
|
||||
"format": "email"
|
||||
},
|
||||
"source": {
|
||||
"type": "string"
|
||||
},
|
||||
"certificationDate": {
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"value"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
"postal_address_field": {
|
||||
"$comment": "Rough implementation of the AFNOR NF Z 10-011 standard",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"line1": {
|
||||
"type": "string",
|
||||
"maxLength": 38
|
||||
},
|
||||
"line2": {
|
||||
"type": "string",
|
||||
"maxLength": 38
|
||||
},
|
||||
"line3": {
|
||||
"type": "string",
|
||||
"maxLength": 38
|
||||
},
|
||||
"line4": {
|
||||
"type": "string",
|
||||
"maxLength": 38
|
||||
},
|
||||
"line5": {
|
||||
"type": "string",
|
||||
"maxLength": 38
|
||||
},
|
||||
"line6": {
|
||||
"type": "string",
|
||||
"maxLength": 38
|
||||
},
|
||||
"line7": {
|
||||
"type": "string",
|
||||
"maxLength": 38
|
||||
}
|
||||
},
|
||||
"$comment": "At least first line is expected to be filled",
|
||||
"required": [
|
||||
"line1"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
"source": {
|
||||
"type": "string"
|
||||
},
|
||||
"certificationDate": {
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"value"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
"phone_number_field": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": "string",
|
||||
"$comment": "E.164 standard",
|
||||
"pattern": "^\\+?[1-9]\\d{1,14}$"
|
||||
},
|
||||
"source": {
|
||||
"type": "string"
|
||||
},
|
||||
"certificationDate": {
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"value"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
"gender_field": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": "integer",
|
||||
"$comment": "ISO/IEC 5218",
|
||||
"enum": [0, 1, 2, 9]
|
||||
},
|
||||
"source": {
|
||||
"type": "string"
|
||||
},
|
||||
"certificationDate": {
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"value"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
"country_field": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": "string"
|
||||
},
|
||||
"isoValue": {
|
||||
"type": "string",
|
||||
"$comment": "ISO 3166-1 alpha-3",
|
||||
"minLength": 3,
|
||||
"maxLength": 3
|
||||
},
|
||||
"source": {
|
||||
"type": "string"
|
||||
},
|
||||
"certificationDate": {
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
}
|
||||
},
|
||||
"oneOf": [
|
||||
{
|
||||
"required": [
|
||||
"name"
|
||||
]
|
||||
},
|
||||
{
|
||||
"required": [
|
||||
"isoValue"
|
||||
]
|
||||
}
|
||||
],
|
||||
"additionalProperties": false
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user