{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://modele-donnees-filiere-enquete.insee.fr/specs/2.3.0/Interrogation.json",
  "description": "L’interrogation est une unité d'enquête dans un processus de collecte. C'est aussi l'unité échangée entre les sous-système de la filière d'enquêtes. Elle correspond à une unité d’enquête (survey unit) au sein d’un lot (partition). // The interrogation is the data collection unit exchanged between systems. It corresponds to a survey unit in a partition.",
  "type": "object",
  "additionalProperties": false,
  "title": "Interrogation",
  "properties": {
    "partitionId": {
      "description": "Identifiant du lot au format UUID généré par le CPIE. Correspond à partitionId du fichier de contexte. // Partition identifier to which the interrogation belongs",
      "type": "string",
      "format": "uuid"
    },
    "interrogationId": {
      "description": "Identifiant de l'interrogation au format UUID généré par REM // Technical identifier for the interrogation",
      "type": "string",
      "format": "uuid"
    },
    "technicalSurveyUnitId": {
      "description": "Identifiant filière généré par REM // Survey unit Identifier to which this interrogation relates",
      "type": "string",
      "format": "uuid"
    },
    "originId": {
      "description": "Pour les enquêtes ménage, c'est l'identifiant initial de la base de sondage, pour les enquêtes entreprise, c'est le siren lorsqu'il y en a un, il est alors affiché dans Platine Gestion. // Identifier of the initial supplier of survey unit (Sample frame or directory). It is supplied as is at the end of the collection process.",
      "type": "string"
    },
    "parentId": {
      "description": "lorsqu'il y a éclatement d'une unité d'enquête (survey unit), c'est l'id de l'unité mère. Pour le moment, pas utilisé. // The identifier of the ‘parent’ survey unit following a split.",
      "type": "string",
      "format": "uuid"
    },
    "childIds": {
      "description": "lorsqu'il y a éclatement d'une unité d'enquête (survey unit), c'est l'id de l'unité fille. Pour le moment, pas utilisé. // Identifier of survey units created following a split (SU 'children')",
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      }
    },
    "usualSurveyUnitId": {
      "description": "Identifiant métier. Pour les enquêtes entreprises, ça correspond au siren/siret/num asso. Affiché dans les plateformes de collecte et sur les courriers entreprises. // Business name/identifier that is displayed to users for interrogation. Not necessarily unique. For display.",
      "type": "string"
    },
    "corporateName": {
      "description": "Raison sociale de l'unité enquêtée (pas utilisé dans les enquêtes ménage). Utilisée pour affichage dans Platine et dans les courriers et les mails // Registered name of the surveyed unit (not relevant for household surveys). Used for display in Platine and in letters and emails.",
      "type": "string"
    },
    "unitLabel": {
      "description": "Label de l'unité enquêtée (pas utilisé dans les enquêtes ménage). Utilisée pour affichage dans Platine et dans les courriers et les mails. Exemple : entreprise, établissement, association... // Registered name of the surveyed unit (not relevant for household surveys). Used for display in Platine and in letters and emails.",
      "type": "string"
    },
    "ape": {
      "description": "Code APE (activité principale exercée) de l'unité enquêtée (pas utile pour enquête ménage). Utilisé pour affichage dans Platine // APE code (principal activity carried out) of the surveyed unit (not relevant for household surveys). Used for display in Platine.",
      "type": "string"
    },
    "legalCategory": {
      "description": "Catégorie juridique de l'unité enquêtée (pas utile pour enquête ménage). Utilisé pour affichage dans Platine // Legal category of the surveyed unit (not relevant for household surveys). Used for display in Platine",
      "type": "string"
    },
    "turnover": {
      "description": "Chiffre d'affaires de l'unité enquêtée (pas utile pour enquête ménage). Utilisé pour affichage dans Platine // Turnover of the surveyed unit (not relevant for household surveys). Used for display in Platine",
      "type": "string"
    },
    "workforce": {
      "description": "Effectif de l'unité enquêtée (pas utile pour enquête ménage). Utilisé pour affichage dans Platine // Workforce of the surveyed unit (not relevant for household surveys). Used for display in Platine",
      "type": "string"
    },
    "managementId": {
      "description": "Utilisé pour les enquêtes ménage avec le code OPALE de la DEM. // Identifiers of the ‘manager’/division of managers in charge of the interrogation. For reference.",
      "type": "string"
    },
    "subSampleIdentifier": {
      "description": "Le sous-échantillon est utilisé pour partitionner un lot et faciliter l'organisation des collectes. Il est affiché dans Sabiane collecte. // Used as a subset of the partition in the survey collection organisation, with no impact on the process. For display.",
      "type": "string"
    },
    "clusterIdentifier": {
      "description": "Numéro de grappes (EEC). Affiché dans Sabiane // Number of the cluster to which the interrogation belongs. Cluster survey case.",
      "type": "string"
    },
    "dwellingIdentifier": {
      "description": "Numéro du logement au sein de la grappe. Pas utilisé pour le moment. // Housing number within the cluster",
      "type": "string"
    },
    "comment": {
      "description": "Commentaire de l'enquêteur sur une interrogation. Pas utilisé pour le moment. // Interviewer's comment on the interrogation. Used by interviewers",
      "type": "string"
    },
    "cityCode": {
      "description": "Identifiant technique géographique. Nécessaire pour se rapprocher de nomenclatures géographiques (ex : Opale). Seulement pour les enquêtes ménages. Pas utilisé pour le moment. //Identifier of the city of residence of the interrogation in the geographic code. For reference in the interviewer assignment (Opale).",
      "type": "string"
    },
    "extCoverPageData": {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "type": "object",
      "title": "CoverPageData",
      "description": "Variables présentes sur la page de garde",
      "properties": {
        "whoAnswers1": {
          "description": "Précision de Qui doit répondre sur la page de garde (phrase 1) // Specification of who should respond on the cover page (sentence 1)",
          "type": "string"
        },
        "whoAnswers2": {
          "description": "Précision de Qui doit répondre sur la page de garde (phrase 2) // Specification of who should respond on the cover page (sentence 2)",
          "type": "string"
        },
        "whoAnswers3": {
          "description": "Précision de Qui doit répondre sur la page de garde (phrase 3) // Specification of who should respond on the cover page (sentence 3)",
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "extPostCollectionData": {
      "description": "Fournit des données externes mobilisées dans les traitements post-collecte (Kraftwerk). Pas utilisé pour le moment. // External data used for post-collection processing.",
      "type": "object"
    },
    "extFaData": {
      "description": "Utilisé pour personnaliser les FA papiers - on les garde telles quelles même en réinterro. Pas utilisé pour le moment. // External data used to personalise paper address sheet.",
      "type": "object"
    },
    "questionnaires": {
      "description": "Données ayant trait aux questionnaires // Data relating to the survey questionnaire.",
      "type": "array",
      "minItems": 1,
      "items": {
        "title": "Questionnaire",
        "description": "Données ayant trait au questionnaire // Data relating to the survey questionnaire.",
        "type": "object",
        "required": [
          "collectionInstrumentId",
          "mode"
        ],
        "properties": {
          "collectionInstrumentId": {
            "description": "Identifiant de l'instrument de collecte associé à l’interrogation // Identifier of the collection instrument attached to the interrogation",
            "type": "string"
          },
          "mode": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "title": "Mode",
            "description": "Collect modes",
            "type": "string",
            "enum": [
              "CATI",
              "CAPI",
              "CAWI",
              "PAPI"
            ]
          },
          "data": {
            "description": "Données associées à l'instrument de collecte. Il peut s’agir de données de personnalisation lors du chargement, ou de données recueillies en retour de la collecte // Data associated with the collection instrument. This may be personalization data on loading, or data collected in return for collection.",
            "type": "object"
          }
        },
        "additionalProperties": false
      }
    },
    "personalizedCommunications": {
      "description": "Données utilisées pour personnaliser les communications (envoi d'email et de courriers). Chaque interrogation contient les différentes personnalisations de communication en lien avec un id de communication définit dans meshuggah. Si pour un lot, il y a 2 coms (ouverture et relance), chaque interro doit avoir une personnalisation pour chacune des coms en sortie (json), toutes les coms sont présentes (liste de CommunicationPerso) // Data used to personalise communications",
      "type": "array",
      "items": {
        "title": "PersonalizedCommunication",
        "description": "Données utilisées pour personnaliser les communications (envoi d'email et de courriers) // Data used to personalise communications",
        "type": "object",
        "properties": {
          "communicationId": {
            "description": "Identifiant de la communication // Identifier of communication",
            "type": "string",
            "format": "uuid"
          },
          "extCommunicationData": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "title": "FlexibleKeyValueMap",
            "description": "Un tableau contenant plusieurs FlexibleKeyValueMapEntry",
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "type": "object",
                  "title": "EntryStringVal",
                  "properties": {
                    "key": {
                      "type": "string"
                    },
                    "value": {
                      "type": "string"
                    },
                    "type": {
                      "type": "string",
                      "const": "string"
                    }
                  },
                  "required": [
                    "key",
                    "value",
                    "type"
                  ],
                  "additionalProperties": false
                },
                {
                  "type": "object",
                  "title": "EntryBooleanVal",
                  "properties": {
                    "key": {
                      "type": "string"
                    },
                    "value": {
                      "type": "boolean"
                    },
                    "type": {
                      "type": "string",
                      "const": "boolean"
                    }
                  },
                  "required": [
                    "key",
                    "value",
                    "type"
                  ],
                  "additionalProperties": false
                }
              ],
              "discriminator": {
                "propertyName": "type",
                "mapping": {
                  "string": "#/$defs/EntryStringVal",
                  "boolean": "#/$defs/EntryBooleanVal"
                }
              }
            },
            "$defs": {
              "FlexibleKeyValueMapEntry": {
                "oneOf": [
                  {
                    "type": "object",
                    "title": "EntryStringVal",
                    "properties": {
                      "key": {
                        "type": "string"
                      },
                      "value": {
                        "type": "string"
                      },
                      "type": {
                        "type": "string",
                        "const": "string"
                      }
                    },
                    "required": [
                      "key",
                      "value",
                      "type"
                    ],
                    "additionalProperties": false
                  },
                  {
                    "type": "object",
                    "title": "EntryBooleanVal",
                    "properties": {
                      "key": {
                        "type": "string"
                      },
                      "value": {
                        "type": "boolean"
                      },
                      "type": {
                        "type": "string",
                        "const": "boolean"
                      }
                    },
                    "required": [
                      "key",
                      "value",
                      "type"
                    ],
                    "additionalProperties": false
                  }
                ],
                "discriminator": {
                  "propertyName": "type",
                  "mapping": {
                    "string": "#/$defs/EntryStringVal",
                    "boolean": "#/$defs/EntryBooleanVal"
                  }
                }
              },
              "EntryStringVal": {
                "type": "object",
                "title": "EntryStringVal",
                "properties": {
                  "key": {
                    "type": "string"
                  },
                  "value": {
                    "type": "string"
                  },
                  "type": {
                    "type": "string",
                    "const": "string"
                  }
                },
                "required": [
                  "key",
                  "value",
                  "type"
                ],
                "additionalProperties": false
              },
              "EntryBooleanVal": {
                "type": "object",
                "title": "EntryBooleanVal",
                "properties": {
                  "key": {
                    "type": "string"
                  },
                  "value": {
                    "type": "boolean"
                  },
                  "type": {
                    "type": "string",
                    "const": "boolean"
                  }
                },
                "required": [
                  "key",
                  "value",
                  "type"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "additionalProperties": false
      }
    },
    "address": {
      "title": "Address",
      "description": "L'adresse d'une unité d'enquête (survey unit) et/ou d'un contact. Peut être vide pour un contact. // The address of the survey unit or of a contact. Please note that these fields can be used directly in the composition of letters.",
      "type": "object",
      "properties": {
        "streetNumber": {
          "description": "numéro de voie // street number",
          "type": "string"
        },
        "repetitionIndex": {
          "description": "répétition d'indice // repetition index",
          "type": "string"
        },
        "streetType": {
          "description": "type de voie // street type",
          "type": "string"
        },
        "streetName": {
          "description": "nom de voie // street name",
          "type": "string"
        },
        "addressSupplement": {
          "description": "supplément d'adresse // address supplement",
          "type": "string"
        },
        "cityName": {
          "description": "Nom de la ville // City name",
          "type": "string"
        },
        "zipCode": {
          "description": "Code postal // Zip code",
          "type": "string"
        },
        "businessZipCode": {
          "description": "Code cedex // business zip code",
          "type": "string"
        },
        "businessZipCodeName": {
          "description": " Nom cedex // business zip code name",
          "type": "string"
        },
        "specialDistribution": {
          "description": "Point de distribution spécial // Special distribution",
          "type": "string"
        },
        "countryCode": {
          "description": "Code du pays // Country code",
          "type": "string"
        },
        "countryName": {
          "description": "Nom du pays // Country name",
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "addressComplement": {
      "title": "AddressComplement",
      "description": "Variables de compléments d'adresse // Address complement variables",
      "type": "object",
      "properties": {
        "building": {
          "description": "Batiment // Building",
          "type": "string"
        },
        "floor": {
          "description": "Etage // Floor",
          "type": "string"
        },
        "staircase": {
          "description": "Escalier // Staircase",
          "type": "string"
        },
        "door": {
          "description": "Porte // Door",
          "type": "string"
        },
        "elevator": {
          "description": "Indicatrice de présence d'un ascensseur // Presence or absence of an elevator",
          "type": "boolean"
        },
        "cityPriorityDistrict": {
          "description": "Indicatrice de QPV (quartier prioritaire de la ville) // Housing located in a priority urban district or not",
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "contacts": {
      "description": "Une liste de contacts // A list of contacts associated with the interrogation.",
      "type": "array",
      "items": {
        "title": "Contact",
        "description": "Contact lié à une interrogation // a contact linked to an interrogation",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "contactId": {
            "description": "Identifiant technique du contact. Généré par Platine. // Technical contact identifier. Used for transfers between collection systems.",
            "type": "string",
            "format": "uuid"
          },
          "gender": {
            "description": "Civilité du contact // Contact civility",
            "type": "string",
            "enum": [
              "M",
              "MME",
              ""
            ]
          },
          "firstName": {
            "description": "Prénom // First name",
            "type": "string"
          },
          "lastName": {
            "description": "nom de famille // Last name",
            "type": "string"
          },
          "dateOfBirth": {
            "description": "Date de naissance. Pas utilisé pour le moment. // Date of birth",
            "type": "string"
          },
          "function": {
            "description": "La fonction du contact au sein de l'entreprise (pour la sphère entreprise) // The contact function in a business collection context. For display.",
            "type": "string"
          },
          "businessName": {
            "description": "Nom de l'entreprise // Company Name in a business collection context. For display",
            "type": "string"
          },
          "contactRank": {
            "description": "Le rang du contact. Le rang 1 est le contact principal // Contact Rank, which can be sorted to find out which one is best for which purpose (mail, paper address sheet, etc.).",
            "type": "integer"
          },
          "phoneNumbers": {
            "description": "Liste de numéros de téléphone //The list of telephone numbers attached to the contact. They are typed according to their origin.",
            "type": "array",
            "items": {
              "title": "PhoneNumber",
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "source": {
                  "title": "Source",
                  "description": "Source de la donnée. Donnée administrative, de la Poste ou information qui vient de l'enquêteur. Par défaut ADMINISTRATIVE. // The various sources of contact information. ADMINSTRATIVE when it comes from administrative (tax) sources, DIRECTORY when it comes from a directory, INTERVIEWER when collected by an interviewer.",
                  "type": "string",
                  "enum": [
                    "ADMINISTRATIVE",
                    "DIRECTORY",
                    "INTERVIEWER"
                  ]
                },
                "favorite": {
                  "description": "Indicateur du numéro de téléphone favori // Indicates if a phone number has been marked as a favourite.",
                  "type": "boolean"
                },
                "number": {
                  "description": "numéro de téléphone // Phone number",
                  "type": "string"
                }
              }
            }
          },
          "email": {
            "description": "Email du contact // Contact email",
            "type": "string"
          },
          "address": {
            "title": "Address",
            "description": "L'adresse d'une unité d'enquête (survey unit) et/ou d'un contact. Peut être vide pour un contact. // The address of the survey unit or of a contact. Please note that these fields can be used directly in the composition of letters.",
            "type": "object",
            "properties": {
              "streetNumber": {
                "description": "numéro de voie // street number",
                "type": "string"
              },
              "repetitionIndex": {
                "description": "répétition d'indice // repetition index",
                "type": "string"
              },
              "streetType": {
                "description": "type de voie // street type",
                "type": "string"
              },
              "streetName": {
                "description": "nom de voie // street name",
                "type": "string"
              },
              "addressSupplement": {
                "description": "supplément d'adresse // address supplement",
                "type": "string"
              },
              "cityName": {
                "description": "Nom de la ville // City name",
                "type": "string"
              },
              "zipCode": {
                "description": "Code postal // Zip code",
                "type": "string"
              },
              "businessZipCode": {
                "description": "Code cedex // business zip code",
                "type": "string"
              },
              "businessZipCodeName": {
                "description": " Nom cedex // business zip code name",
                "type": "string"
              },
              "specialDistribution": {
                "description": "Point de distribution spécial // Special distribution",
                "type": "string"
              },
              "countryCode": {
                "description": "Code du pays // Country code",
                "type": "string"
              },
              "countryName": {
                "description": "Nom du pays // Country name",
                "type": "string"
              }
            },
            "additionalProperties": false
          },
          "webConnectionId": {
            "description": "Identifiant de connexion au portail de collecte web. A remplir si connu, sinon, il est créé durant le processus d'intégration. // Web connection identifier.",
            "type": "string"
          }
        }
      }
    }
  },
  "$defs": {
    "Address": {
      "title": "Address",
      "description": "L'adresse d'une unité d'enquête (survey unit) et/ou d'un contact. Peut être vide pour un contact. // The address of the survey unit or of a contact. Please note that these fields can be used directly in the composition of letters.",
      "type": "object",
      "properties": {
        "streetNumber": {
          "description": "numéro de voie // street number",
          "type": "string"
        },
        "repetitionIndex": {
          "description": "répétition d'indice // repetition index",
          "type": "string"
        },
        "streetType": {
          "description": "type de voie // street type",
          "type": "string"
        },
        "streetName": {
          "description": "nom de voie // street name",
          "type": "string"
        },
        "addressSupplement": {
          "description": "supplément d'adresse // address supplement",
          "type": "string"
        },
        "cityName": {
          "description": "Nom de la ville // City name",
          "type": "string"
        },
        "zipCode": {
          "description": "Code postal // Zip code",
          "type": "string"
        },
        "businessZipCode": {
          "description": "Code cedex // business zip code",
          "type": "string"
        },
        "businessZipCodeName": {
          "description": " Nom cedex // business zip code name",
          "type": "string"
        },
        "specialDistribution": {
          "description": "Point de distribution spécial // Special distribution",
          "type": "string"
        },
        "countryCode": {
          "description": "Code du pays // Country code",
          "type": "string"
        },
        "countryName": {
          "description": "Nom du pays // Country name",
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "AddressComplement": {
      "title": "AddressComplement",
      "description": "Variables de compléments d'adresse // Address complement variables",
      "type": "object",
      "properties": {
        "building": {
          "description": "Batiment // Building",
          "type": "string"
        },
        "floor": {
          "description": "Etage // Floor",
          "type": "string"
        },
        "staircase": {
          "description": "Escalier // Staircase",
          "type": "string"
        },
        "door": {
          "description": "Porte // Door",
          "type": "string"
        },
        "elevator": {
          "description": "Indicatrice de présence d'un ascensseur // Presence or absence of an elevator",
          "type": "boolean"
        },
        "cityPriorityDistrict": {
          "description": "Indicatrice de QPV (quartier prioritaire de la ville) // Housing located in a priority urban district or not",
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "Source": {
      "title": "Source",
      "description": "Source de la donnée. Donnée administrative, de la Poste ou information qui vient de l'enquêteur. Par défaut ADMINISTRATIVE. // The various sources of contact information. ADMINSTRATIVE when it comes from administrative (tax) sources, DIRECTORY when it comes from a directory, INTERVIEWER when collected by an interviewer.",
      "type": "string",
      "enum": [
        "ADMINISTRATIVE",
        "DIRECTORY",
        "INTERVIEWER"
      ]
    },
    "Questionnaire": {
      "title": "Questionnaire",
      "description": "Données ayant trait au questionnaire // Data relating to the survey questionnaire.",
      "type": "object",
      "required": [
        "collectionInstrumentId",
        "mode"
      ],
      "properties": {
        "collectionInstrumentId": {
          "description": "Identifiant de l'instrument de collecte associé à l’interrogation // Identifier of the collection instrument attached to the interrogation",
          "type": "string"
        },
        "mode": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "title": "Mode",
          "description": "Collect modes",
          "type": "string",
          "enum": [
            "CATI",
            "CAPI",
            "CAWI",
            "PAPI"
          ]
        },
        "data": {
          "description": "Données associées à l'instrument de collecte. Il peut s’agir de données de personnalisation lors du chargement, ou de données recueillies en retour de la collecte // Data associated with the collection instrument. This may be personalization data on loading, or data collected in return for collection.",
          "type": "object"
        }
      },
      "additionalProperties": false
    },
    "PersonalizedCommunication": {
      "title": "PersonalizedCommunication",
      "description": "Données utilisées pour personnaliser les communications (envoi d'email et de courriers) // Data used to personalise communications",
      "type": "object",
      "properties": {
        "communicationId": {
          "description": "Identifiant de la communication // Identifier of communication",
          "type": "string",
          "format": "uuid"
        },
        "extCommunicationData": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "title": "FlexibleKeyValueMap",
          "description": "Un tableau contenant plusieurs FlexibleKeyValueMapEntry",
          "type": "array",
          "items": {
            "oneOf": [
              {
                "type": "object",
                "title": "EntryStringVal",
                "properties": {
                  "key": {
                    "type": "string"
                  },
                  "value": {
                    "type": "string"
                  },
                  "type": {
                    "type": "string",
                    "const": "string"
                  }
                },
                "required": [
                  "key",
                  "value",
                  "type"
                ],
                "additionalProperties": false
              },
              {
                "type": "object",
                "title": "EntryBooleanVal",
                "properties": {
                  "key": {
                    "type": "string"
                  },
                  "value": {
                    "type": "boolean"
                  },
                  "type": {
                    "type": "string",
                    "const": "boolean"
                  }
                },
                "required": [
                  "key",
                  "value",
                  "type"
                ],
                "additionalProperties": false
              }
            ],
            "discriminator": {
              "propertyName": "type",
              "mapping": {
                "string": "#/$defs/EntryStringVal",
                "boolean": "#/$defs/EntryBooleanVal"
              }
            }
          },
          "$defs": {
            "FlexibleKeyValueMapEntry": {
              "oneOf": [
                {
                  "type": "object",
                  "title": "EntryStringVal",
                  "properties": {
                    "key": {
                      "type": "string"
                    },
                    "value": {
                      "type": "string"
                    },
                    "type": {
                      "type": "string",
                      "const": "string"
                    }
                  },
                  "required": [
                    "key",
                    "value",
                    "type"
                  ],
                  "additionalProperties": false
                },
                {
                  "type": "object",
                  "title": "EntryBooleanVal",
                  "properties": {
                    "key": {
                      "type": "string"
                    },
                    "value": {
                      "type": "boolean"
                    },
                    "type": {
                      "type": "string",
                      "const": "boolean"
                    }
                  },
                  "required": [
                    "key",
                    "value",
                    "type"
                  ],
                  "additionalProperties": false
                }
              ],
              "discriminator": {
                "propertyName": "type",
                "mapping": {
                  "string": "#/$defs/EntryStringVal",
                  "boolean": "#/$defs/EntryBooleanVal"
                }
              }
            },
            "EntryStringVal": {
              "type": "object",
              "title": "EntryStringVal",
              "properties": {
                "key": {
                  "type": "string"
                },
                "value": {
                  "type": "string"
                },
                "type": {
                  "type": "string",
                  "const": "string"
                }
              },
              "required": [
                "key",
                "value",
                "type"
              ],
              "additionalProperties": false
            },
            "EntryBooleanVal": {
              "type": "object",
              "title": "EntryBooleanVal",
              "properties": {
                "key": {
                  "type": "string"
                },
                "value": {
                  "type": "boolean"
                },
                "type": {
                  "type": "string",
                  "const": "boolean"
                }
              },
              "required": [
                "key",
                "value",
                "type"
              ],
              "additionalProperties": false
            }
          }
        }
      },
      "additionalProperties": false
    },
    "Contact": {
      "title": "Contact",
      "description": "Contact lié à une interrogation // a contact linked to an interrogation",
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "contactId": {
          "description": "Identifiant technique du contact. Généré par Platine. // Technical contact identifier. Used for transfers between collection systems.",
          "type": "string",
          "format": "uuid"
        },
        "gender": {
          "description": "Civilité du contact // Contact civility",
          "type": "string",
          "enum": [
            "M",
            "MME",
            ""
          ]
        },
        "firstName": {
          "description": "Prénom // First name",
          "type": "string"
        },
        "lastName": {
          "description": "nom de famille // Last name",
          "type": "string"
        },
        "dateOfBirth": {
          "description": "Date de naissance. Pas utilisé pour le moment. // Date of birth",
          "type": "string"
        },
        "function": {
          "description": "La fonction du contact au sein de l'entreprise (pour la sphère entreprise) // The contact function in a business collection context. For display.",
          "type": "string"
        },
        "businessName": {
          "description": "Nom de l'entreprise // Company Name in a business collection context. For display",
          "type": "string"
        },
        "contactRank": {
          "description": "Le rang du contact. Le rang 1 est le contact principal // Contact Rank, which can be sorted to find out which one is best for which purpose (mail, paper address sheet, etc.).",
          "type": "integer"
        },
        "phoneNumbers": {
          "description": "Liste de numéros de téléphone //The list of telephone numbers attached to the contact. They are typed according to their origin.",
          "type": "array",
          "items": {
            "title": "PhoneNumber",
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "source": {
                "title": "Source",
                "description": "Source de la donnée. Donnée administrative, de la Poste ou information qui vient de l'enquêteur. Par défaut ADMINISTRATIVE. // The various sources of contact information. ADMINSTRATIVE when it comes from administrative (tax) sources, DIRECTORY when it comes from a directory, INTERVIEWER when collected by an interviewer.",
                "type": "string",
                "enum": [
                  "ADMINISTRATIVE",
                  "DIRECTORY",
                  "INTERVIEWER"
                ]
              },
              "favorite": {
                "description": "Indicateur du numéro de téléphone favori // Indicates if a phone number has been marked as a favourite.",
                "type": "boolean"
              },
              "number": {
                "description": "numéro de téléphone // Phone number",
                "type": "string"
              }
            }
          }
        },
        "email": {
          "description": "Email du contact // Contact email",
          "type": "string"
        },
        "address": {
          "title": "Address",
          "description": "L'adresse d'une unité d'enquête (survey unit) et/ou d'un contact. Peut être vide pour un contact. // The address of the survey unit or of a contact. Please note that these fields can be used directly in the composition of letters.",
          "type": "object",
          "properties": {
            "streetNumber": {
              "description": "numéro de voie // street number",
              "type": "string"
            },
            "repetitionIndex": {
              "description": "répétition d'indice // repetition index",
              "type": "string"
            },
            "streetType": {
              "description": "type de voie // street type",
              "type": "string"
            },
            "streetName": {
              "description": "nom de voie // street name",
              "type": "string"
            },
            "addressSupplement": {
              "description": "supplément d'adresse // address supplement",
              "type": "string"
            },
            "cityName": {
              "description": "Nom de la ville // City name",
              "type": "string"
            },
            "zipCode": {
              "description": "Code postal // Zip code",
              "type": "string"
            },
            "businessZipCode": {
              "description": "Code cedex // business zip code",
              "type": "string"
            },
            "businessZipCodeName": {
              "description": " Nom cedex // business zip code name",
              "type": "string"
            },
            "specialDistribution": {
              "description": "Point de distribution spécial // Special distribution",
              "type": "string"
            },
            "countryCode": {
              "description": "Code du pays // Country code",
              "type": "string"
            },
            "countryName": {
              "description": "Nom du pays // Country name",
              "type": "string"
            }
          },
          "additionalProperties": false
        },
        "webConnectionId": {
          "description": "Identifiant de connexion au portail de collecte web. A remplir si connu, sinon, il est créé durant le processus d'intégration. // Web connection identifier.",
          "type": "string"
        }
      }
    }
  }
}