type Address {
  """
  code INSEE de la commune
  """
  cityCode: String!

  """
  nom de la commune
  """
  cityName: String!

  """
  n° de département
  """
  departmentCode: String

  """
  nom de département
  """
  departmentName: String

  """
  coordonnées géographique
  """
  geometry: GeoJSON

  """
  libellé complet de l’adresse
  """
  label: String!

  """
  code postal
  """
  postalCode: String!

  """
  n° de region
  """
  regionCode: String

  """
  nom de région
  """
  regionName: String

  """
  numéro éventuel et nom de voie ou lieu dit
  """
  streetAddress: String

  """
  nom de voie ou lieu dit
  """
  streetName: String

  """
  numéro avec indice de répétition éventuel (bis, ter, A, B)
  """
  streetNumber: String

  """
  type de résultat trouvé
  """
  type: AddressType!
}

type AddressChamp implements Champ {
  address: Address
  id: ID!

  """
  Libellé du champ.
  """
  label: String!

  """
  La valeur du champ sous forme texte.
  """
  stringValue: String
}

enum AddressType {
  """
  numéro « à la plaque »
  """
  housenumber

  """
  lieu-dit
  """
  locality

  """
  numéro « à la commune »
  """
  municipality

  """
  position « à la voie », placé approximativement au centre de celle-ci
  """
  street
}

type Association {
  dateCreation: ISO8601Date
  dateDeclaration: ISO8601Date
  datePublication: ISO8601Date
  objet: String
  rna: String!
  titre: String!
}

type Avis {
  attachment: File
  claimant: Profile
  dateQuestion: ISO8601DateTime!
  dateReponse: ISO8601DateTime
  expert: Profile
  id: ID!
  instructeur: Profile! @deprecated(reason: "Utilisez le champ claimant à la place.")
  question: String!
  reponse: String
}

"""
Represents non-fractional signed whole numeric values. Since the value may
exceed the size of a 32-bit integer, it's encoded as a string.
"""
scalar BigInt

type CarteChamp implements Champ {
  geoAreas: [GeoArea!]!
  id: ID!

  """
  Libellé du champ.
  """
  label: String!

  """
  La valeur du champ sous forme texte.
  """
  stringValue: String
}

interface Champ {
  id: ID!

  """
  Libellé du champ.
  """
  label: String!

  """
  La valeur du champ sous forme texte.
  """
  stringValue: String
}

type ChampDescriptor {
  """
  Description des champs d’un bloc répétable.
  """
  champDescriptors: [ChampDescriptor!]

  """
  Description du champ.
  """
  description: String
  id: ID!

  """
  Libellé du champ.
  """
  label: String!

  """
  List des options d’un champ avec selection.
  """
  options: [String!]

  """
  Est-ce que le champ est obligatoire ?
  """
  required: Boolean!

  """
  Type de la valeur du champ.
  """
  type: TypeDeChamp!
}

type CheckboxChamp implements Champ {
  id: ID!

  """
  Libellé du champ.
  """
  label: String!

  """
  La valeur du champ sous forme texte.
  """
  stringValue: String
  value: Boolean!
}

enum Civilite {
  """
  Monsieur
  """
  M

  """
  Madame
  """
  Mme
}

type CiviliteChamp implements Champ {
  id: ID!

  """
  Libellé du champ.
  """
  label: String!

  """
  La valeur du champ sous forme texte.
  """
  stringValue: String
  value: Civilite
}

"""
GeoJSON coordinates
"""
scalar Coordinates

"""
Autogenerated input type of CreateDirectUpload
"""
input CreateDirectUploadInput {
  """
  File size (bytes)
  """
  byteSize: Int!

  """
  MD5 file checksum as base64
  """
  checksum: String!

  """
  A unique identifier for the client performing the mutation.
  """
  clientMutationId: String

  """
  File content type
  """
  contentType: String!

  """
  Dossier ID
  """
  dossierId: ID!

  """
  Original file name
  """
  filename: String!
}

"""
Autogenerated return type of CreateDirectUpload
"""
type CreateDirectUploadPayload {
  """
  A unique identifier for the client performing the mutation.
  """
  clientMutationId: String
  directUpload: DirectUpload!
}

type DateChamp implements Champ {
  """
  La valeur du champ formaté en ISO8601 (Date).
  """
  date: ISO8601Date
  id: ID!

  """
  Libellé du champ.
  """
  label: String!

  """
  La valeur du champ sous forme texte.
  """
  stringValue: String

  """
  La valeur du champ formaté en ISO8601 (DateTime).
  """
  value: ISO8601DateTime @deprecated(reason: "Utilisez le champ 'date' ou le fragment 'DatetimeChamp' à la place.")
}

type DatetimeChamp implements Champ {
  """
  La valeur du champ formaté en ISO8601 (DateTime).
  """
  datetime: ISO8601DateTime
  id: ID!

  """
  Libellé du champ.
  """
  label: String!

  """
  La valeur du champ sous forme texte.
  """
  stringValue: String
}

type DecimalNumberChamp implements Champ {
  id: ID!

  """
  Libellé du champ.
  """
  label: String!

  """
  La valeur du champ sous forme texte.
  """
  stringValue: String
  value: Float
}

interface Demandeur {
  id: ID!
}

"""
Une demarche
"""
type Demarche {
  annotationDescriptors: [ChampDescriptor!]!
  champDescriptors: [ChampDescriptor!]!

  """
  Date de la création.
  """
  dateCreation: ISO8601DateTime!

  """
  Date de la dépublication.
  """
  dateDepublication: ISO8601DateTime

  """
  Date de la dernière modification.
  """
  dateDerniereModification: ISO8601DateTime!

  """
  Date de la fermeture.
  """
  dateFermeture: ISO8601DateTime

  """
  Date de la publication.
  """
  datePublication: ISO8601DateTime!

  """
  L’état de dossier pour une démarche déclarative
  """
  declarative: DossierDeclarativeState

  """
  Description de la démarche.
  """
  description: String!

  """
  Liste de tous les dossiers d’une démarche.
  """
  dossiers(
    """
    Returns the elements in the list that come after the specified cursor.
    """
    after: String

    """
    Seulement les dossiers archivés.
    """
    archived: Boolean

    """
    Returns the elements in the list that come before the specified cursor.
    """
    before: String

    """
    Dossiers déposés depuis la date.
    """
    createdSince: ISO8601DateTime

    """
    Returns the first _n_ elements from the list.
    """
    first: Int

    """
    Returns the last _n_ elements from the list.
    """
    last: Int

    """
    Seulement les dossiers pour les révisons avant la révision donnée.
    """
    maxRevision: ID

    """
    Seulement les dossiers pour les révisons après la révision donnée.
    """
    minRevision: ID

    """
    L’ordre des dossiers.
    """
    order: Order = ASC

    """
    Seulement les dossiers pour la révision donnée.
    """
    revision: ID

    """
    Dossiers avec statut.
    """
    state: DossierState

    """
    Dossiers mis à jour depuis la date.
    """
    updatedSince: ISO8601DateTime
  ): DossierConnection!
  draftRevision: Revision!
  groupeInstructeurs: [GroupeInstructeur!]!
  id: ID!

  """
  Le numero de la démarche.
  """
  number: Int!
  publishedRevision: Revision
  revisions: [Revision!]!
  service: Service!

  """
  L’état de la démarche.
  """
  state: DemarcheState!

  """
  Le titre de la démarche.
  """
  title: String!
}

enum DemarcheState {
  """
  Brouillon
  """
  brouillon

  """
  Close
  """
  close

  """
  Depubliee
  """
  depubliee

  """
  Publiée
  """
  publiee
}

"""
Represents direct upload credentials
"""
type DirectUpload {
  """
  Created blob record ID
  """
  blobId: ID!

  """
  HTTP request headers (JSON-encoded)
  """
  headers: String!

  """
  Created blob record signed ID
  """
  signedBlobId: ID!

  """
  Upload URL
  """
  url: String!
}

"""
Un dossier
"""
type Dossier {
  annotations(id: ID): [Champ!]!
  archived: Boolean!

  """
  L’URL de l’attestation au format PDF.
  """
  attestation: File
  avis(id: ID): [Avis!]!
  champs(id: ID): [Champ!]!

  """
  Date de la dernière modification.
  """
  dateDerniereModification: ISO8601DateTime!

  """
  Date de dépôt.
  """
  datePassageEnConstruction: ISO8601DateTime!

  """
  Date de passage en instruction.
  """
  datePassageEnInstruction: ISO8601DateTime

  """
  Date de traitement.
  """
  dateTraitement: ISO8601DateTime
  demandeur: Demandeur!

  """
  L’URL du GeoJSON contenant les données cartographiques du dossier.
  """
  geojson: File
  groupeInstructeur: GroupeInstructeur!
  id: ID!
  instructeurs: [Profile!]!
  messages(id: ID): [Message!]!
  motivation: String
  motivationAttachment: File

  """
  Le numero du dossier.
  """
  number: Int!

  """
  L’URL du dossier au format PDF.
  """
  pdf: File
  revision: Revision!

  """
  L’état du dossier.
  """
  state: DossierState!
  usager: Profile!
}

"""
Autogenerated input type of DossierAccepter
"""
input DossierAccepterInput {
  """
  A unique identifier for the client performing the mutation.
  """
  clientMutationId: String

  """
  Dossier ID
  """
  dossierId: ID!

  """
  Instructeur qui prend la décision sur le dossier.
  """
  instructeurId: ID!
  justificatif: ID
  motivation: String
}

"""
Autogenerated return type of DossierAccepter
"""
type DossierAccepterPayload {
  """
  A unique identifier for the client performing the mutation.
  """
  clientMutationId: String
  dossier: Dossier
  errors: [ValidationError!]
}

"""
Autogenerated input type of DossierArchiver
"""
input DossierArchiverInput {
  """
  A unique identifier for the client performing the mutation.
  """
  clientMutationId: String

  """
  Dossier ID
  """
  dossierId: ID!

  """
  Instructeur qui prend la décision sur le dossier.
  """
  instructeurId: ID!
}

"""
Autogenerated return type of DossierArchiver
"""
type DossierArchiverPayload {
  """
  A unique identifier for the client performing the mutation.
  """
  clientMutationId: String
  dossier: Dossier
  errors: [ValidationError!]
}

"""
Autogenerated input type of DossierChangerGroupeInstructeur
"""
input DossierChangerGroupeInstructeurInput {
  """
  A unique identifier for the client performing the mutation.
  """
  clientMutationId: String

  """
  Dossier ID
  """
  dossierId: ID!

  """
  Group instructeur a affecter
  """
  groupeInstructeurId: ID!
}

"""
Autogenerated return type of DossierChangerGroupeInstructeur
"""
type DossierChangerGroupeInstructeurPayload {
  """
  A unique identifier for the client performing the mutation.
  """
  clientMutationId: String
  dossier: Dossier
  errors: [ValidationError!]
}

"""
Autogenerated input type of DossierClasserSansSuite
"""
input DossierClasserSansSuiteInput {
  """
  A unique identifier for the client performing the mutation.
  """
  clientMutationId: String

  """
  Dossier ID
  """
  dossierId: ID!

  """
  Instructeur qui prend la décision sur le dossier.
  """
  instructeurId: ID!
  justificatif: ID
  motivation: String!
}

"""
Autogenerated return type of DossierClasserSansSuite
"""
type DossierClasserSansSuitePayload {
  """
  A unique identifier for the client performing the mutation.
  """
  clientMutationId: String
  dossier: Dossier
  errors: [ValidationError!]
}

"""
The connection type for Dossier.
"""
type DossierConnection {
  """
  A list of edges.
  """
  edges: [DossierEdge]

  """
  A list of nodes.
  """
  nodes: [Dossier]

  """
  Information to aid in pagination.
  """
  pageInfo: PageInfo!
}

enum DossierDeclarativeState {
  """
  Accepté
  """
  accepte

  """
  En instruction
  """
  en_instruction
}

"""
An edge in a connection.
"""
type DossierEdge {
  """
  A cursor for use in pagination.
  """
  cursor: String!

  """
  The item at the end of the edge.
  """
  node: Dossier
}

"""
Autogenerated input type of DossierEnvoyerMessage
"""
input DossierEnvoyerMessageInput {
  attachment: ID
  body: String!

  """
  A unique identifier for the client performing the mutation.
  """
  clientMutationId: String
  dossierId: ID!
  instructeurId: ID!
}

"""
Autogenerated return type of DossierEnvoyerMessage
"""
type DossierEnvoyerMessagePayload {
  """
  A unique identifier for the client performing the mutation.
  """
  clientMutationId: String
  errors: [ValidationError!]
  message: Message
}

type DossierLinkChamp implements Champ {
  dossier: Dossier
  id: ID!

  """
  Libellé du champ.
  """
  label: String!

  """
  La valeur du champ sous forme texte.
  """
  stringValue: String
}

"""
Autogenerated input type of DossierModifierAnnotationCheckbox
"""
input DossierModifierAnnotationCheckboxInput {
  """
  Annotation ID
  """
  annotationId: ID!

  """
  A unique identifier for the client performing the mutation.
  """
  clientMutationId: String

  """
  Dossier ID
  """
  dossierId: ID!

  """
  Instructeur qui demande la modification.
  """
  instructeurId: ID!
  value: Boolean!
}

"""
Autogenerated return type of DossierModifierAnnotationCheckbox
"""
type DossierModifierAnnotationCheckboxPayload {
  annotation: Champ

  """
  A unique identifier for the client performing the mutation.
  """
  clientMutationId: String
  errors: [ValidationError!]
}

"""
Autogenerated input type of DossierModifierAnnotationDate
"""
input DossierModifierAnnotationDateInput {
  """
  Annotation ID
  """
  annotationId: ID!

  """
  A unique identifier for the client performing the mutation.
  """
  clientMutationId: String

  """
  Dossier ID
  """
  dossierId: ID!

  """
  Instructeur qui demande la modification.
  """
  instructeurId: ID!
  value: ISO8601Date!
}

"""
Autogenerated return type of DossierModifierAnnotationDate
"""
type DossierModifierAnnotationDatePayload {
  annotation: Champ

  """
  A unique identifier for the client performing the mutation.
  """
  clientMutationId: String
  errors: [ValidationError!]
}

"""
Autogenerated input type of DossierModifierAnnotationDatetime
"""
input DossierModifierAnnotationDatetimeInput {
  """
  Annotation ID
  """
  annotationId: ID!

  """
  A unique identifier for the client performing the mutation.
  """
  clientMutationId: String

  """
  Dossier ID
  """
  dossierId: ID!

  """
  Instructeur qui demande la modification.
  """
  instructeurId: ID!
  value: ISO8601DateTime!
}

"""
Autogenerated return type of DossierModifierAnnotationDatetime
"""
type DossierModifierAnnotationDatetimePayload {
  annotation: Champ

  """
  A unique identifier for the client performing the mutation.
  """
  clientMutationId: String
  errors: [ValidationError!]
}

"""
Autogenerated input type of DossierModifierAnnotationIntegerNumber
"""
input DossierModifierAnnotationIntegerNumberInput {
  """
  Annotation ID
  """
  annotationId: ID!

  """
  A unique identifier for the client performing the mutation.
  """
  clientMutationId: String

  """
  Dossier ID
  """
  dossierId: ID!

  """
  Instructeur qui demande la modification.
  """
  instructeurId: ID!
  value: Int!
}

"""
Autogenerated return type of DossierModifierAnnotationIntegerNumber
"""
type DossierModifierAnnotationIntegerNumberPayload {
  annotation: Champ

  """
  A unique identifier for the client performing the mutation.
  """
  clientMutationId: String
  errors: [ValidationError!]
}

"""
Autogenerated input type of DossierModifierAnnotationText
"""
input DossierModifierAnnotationTextInput {
  """
  Annotation ID
  """
  annotationId: ID!

  """
  A unique identifier for the client performing the mutation.
  """
  clientMutationId: String

  """
  Dossier ID
  """
  dossierId: ID!

  """
  Instructeur qui demande la modification.
  """
  instructeurId: ID!
  value: String!
}

"""
Autogenerated return type of DossierModifierAnnotationText
"""
type DossierModifierAnnotationTextPayload {
  annotation: Champ

  """
  A unique identifier for the client performing the mutation.
  """
  clientMutationId: String
  errors: [ValidationError!]
}

"""
Autogenerated input type of DossierPasserEnInstruction
"""
input DossierPasserEnInstructionInput {
  """
  A unique identifier for the client performing the mutation.
  """
  clientMutationId: String

  """
  Dossier ID
  """
  dossierId: ID!

  """
  Instructeur qui prend la décision sur le dossier.
  """
  instructeurId: ID!
}

"""
Autogenerated return type of DossierPasserEnInstruction
"""
type DossierPasserEnInstructionPayload {
  """
  A unique identifier for the client performing the mutation.
  """
  clientMutationId: String
  dossier: Dossier
  errors: [ValidationError!]
}

"""
Autogenerated input type of DossierRefuser
"""
input DossierRefuserInput {
  """
  A unique identifier for the client performing the mutation.
  """
  clientMutationId: String

  """
  Dossier ID
  """
  dossierId: ID!

  """
  Instructeur qui prend la décision sur le dossier.
  """
  instructeurId: ID!
  justificatif: ID
  motivation: String!
}

"""
Autogenerated return type of DossierRefuser
"""
type DossierRefuserPayload {
  """
  A unique identifier for the client performing the mutation.
  """
  clientMutationId: String
  dossier: Dossier
  errors: [ValidationError!]
}

enum DossierState {
  """
  Accepté
  """
  accepte

  """
  En construction
  """
  en_construction

  """
  En instruction
  """
  en_instruction

  """
  Refusé
  """
  refuse

  """
  Sans suite
  """
  sans_suite
}

type Effectif {
  nb: Float!
  periode: String!
}

type Entreprise {
  attestationFiscaleAttachment: File
  attestationSocialeAttachment: File

  """
  capital social de l’entreprise. -1 si inconnu.
  """
  capitalSocial: BigInt
  codeEffectifEntreprise: String
  dateCreation: ISO8601Date!

  """
  effectif moyen d’une année
  """
  effectifAnnuel: Effectif

  """
  effectif pour un mois donné
  """
  effectifMensuel: Effectif
  formeJuridique: String
  formeJuridiqueCode: String
  inlineAdresse: String!
  nom: String
  nomCommercial: String!
  numeroTvaIntracommunautaire: String
  prenom: String
  raisonSociale: String!
  siren: String!
  siretSiegeSocial: String!
}

type File {
  byteSize: Int!
  checksum: String!
  contentType: String!
  filename: String!
  url: URL!
}

interface GeoArea {
  geometry: GeoJSON!
  id: ID!
  source: GeoAreaSource!
}

enum GeoAreaSource {
  """
  Parcelle cadastrale
  """
  cadastre

  """
  Sélection utilisateur
  """
  selection_utilisateur
}

type GeoJSON {
  coordinates: Coordinates!
  type: String!
}

"""
Un groupe instructeur
"""
type GroupeInstructeur {
  id: ID!
  instructeurs: [Profile!]!
  label: String!

  """
  Le numero du groupe instructeur.
  """
  number: Int!
}

"""
Un groupe instructeur avec ces dossiers
"""
type GroupeInstructeurWithDossiers {
  """
  Liste de tous les dossiers d’une démarche.
  """
  dossiers(
    """
    Returns the elements in the list that come after the specified cursor.
    """
    after: String

    """
    Returns the elements in the list that come before the specified cursor.
    """
    before: String

    """
    Dossiers déposés depuis la date.
    """
    createdSince: ISO8601DateTime

    """
    Returns the first _n_ elements from the list.
    """
    first: Int

    """
    Returns the last _n_ elements from the list.
    """
    last: Int

    """
    L’ordre des dossiers.
    """
    order: Order = ASC

    """
    Dossiers avec statut.
    """
    state: DossierState

    """
    Dossiers mis à jour depuis la date.
    """
    updatedSince: ISO8601DateTime
  ): DossierConnection!
  id: ID!
  instructeurs: [Profile!]!
  label: String!

  """
  Le numero du groupe instructeur.
  """
  number: Int!
}

"""
An ISO 8601-encoded date
"""
scalar ISO8601Date

"""
An ISO 8601-encoded datetime
"""
scalar ISO8601DateTime

type IntegerNumberChamp implements Champ {
  id: ID!

  """
  Libellé du champ.
  """
  label: String!

  """
  La valeur du champ sous forme texte.
  """
  stringValue: String
  value: BigInt
}

type LinkedDropDownListChamp implements Champ {
  id: ID!

  """
  Libellé du champ.
  """
  label: String!
  primaryValue: String
  secondaryValue: String

  """
  La valeur du champ sous forme texte.
  """
  stringValue: String
}

type Message {
  attachment: File
  body: String!
  createdAt: ISO8601DateTime!
  email: String!
  id: ID!
}

type MultipleDropDownListChamp implements Champ {
  id: ID!

  """
  Libellé du champ.
  """
  label: String!

  """
  La valeur du champ sous forme texte.
  """
  stringValue: String
  values: [String!]!
}

type Mutation {
  """
  File information required to prepare a direct upload
  """
  createDirectUpload(
    """
    Parameters for CreateDirectUpload
    """
    input: CreateDirectUploadInput!
  ): CreateDirectUploadPayload

  """
  Accepter le dossier.
  """
  dossierAccepter(
    """
    Parameters for DossierAccepter
    """
    input: DossierAccepterInput!
  ): DossierAccepterPayload

  """
  Archiver le dossier.
  """
  dossierArchiver(
    """
    Parameters for DossierArchiver
    """
    input: DossierArchiverInput!
  ): DossierArchiverPayload

  """
  Changer le grope instructeur du dossier.
  """
  dossierChangerGroupeInstructeur(
    """
    Parameters for DossierChangerGroupeInstructeur
    """
    input: DossierChangerGroupeInstructeurInput!
  ): DossierChangerGroupeInstructeurPayload

  """
  Classer le dossier sans suite.
  """
  dossierClasserSansSuite(
    """
    Parameters for DossierClasserSansSuite
    """
    input: DossierClasserSansSuiteInput!
  ): DossierClasserSansSuitePayload

  """
  Envoyer un message à l'usager du dossier.
  """
  dossierEnvoyerMessage(
    """
    Parameters for DossierEnvoyerMessage
    """
    input: DossierEnvoyerMessageInput!
  ): DossierEnvoyerMessagePayload

  """
  Modifier l’annotation au format oui/non.
  """
  dossierModifierAnnotationCheckbox(
    """
    Parameters for DossierModifierAnnotationCheckbox
    """
    input: DossierModifierAnnotationCheckboxInput!
  ): DossierModifierAnnotationCheckboxPayload

  """
  Modifier l’annotation au format date.
  """
  dossierModifierAnnotationDate(
    """
    Parameters for DossierModifierAnnotationDate
    """
    input: DossierModifierAnnotationDateInput!
  ): DossierModifierAnnotationDatePayload

  """
  Modifier l’annotation au format date et heure.
  """
  dossierModifierAnnotationDatetime(
    """
    Parameters for DossierModifierAnnotationDatetime
    """
    input: DossierModifierAnnotationDatetimeInput!
  ): DossierModifierAnnotationDatetimePayload

  """
  Modifier l’annotation au format nombre entier.
  """
  dossierModifierAnnotationIntegerNumber(
    """
    Parameters for DossierModifierAnnotationIntegerNumber
    """
    input: DossierModifierAnnotationIntegerNumberInput!
  ): DossierModifierAnnotationIntegerNumberPayload

  """
  Modifier l’annotation au format text.
  """
  dossierModifierAnnotationText(
    """
    Parameters for DossierModifierAnnotationText
    """
    input: DossierModifierAnnotationTextInput!
  ): DossierModifierAnnotationTextPayload

  """
  Passer le dossier en instruction.
  """
  dossierPasserEnInstruction(
    """
    Parameters for DossierPasserEnInstruction
    """
    input: DossierPasserEnInstructionInput!
  ): DossierPasserEnInstructionPayload

  """
  Refuser le dossier.
  """
  dossierRefuser(
    """
    Parameters for DossierRefuser
    """
    input: DossierRefuserInput!
  ): DossierRefuserPayload
}

enum Order {
  """
  L‘ordre ascendant.
  """
  ASC

  """
  L‘ordre descendant.
  """
  DESC
}

"""
Information about pagination in a connection.
"""
type PageInfo {
  """
  When paginating forwards, the cursor to continue.
  """
  endCursor: String

  """
  When paginating forwards, are there more items?
  """
  hasNextPage: Boolean!

  """
  When paginating backwards, are there more items?
  """
  hasPreviousPage: Boolean!

  """
  When paginating backwards, the cursor to continue.
  """
  startCursor: String
}

type ParcelleCadastrale implements GeoArea {
  codeArr: String!
  codeCom: String!
  codeDep: String!
  feuille: Int!
  geometry: GeoJSON!
  id: ID!
  nomCom: String!
  numero: String!
  section: String!
  source: GeoAreaSource!
  surfaceIntersection: Float!
  surfaceParcelle: Float!
}

type PersonneMorale implements Demandeur {
  address: Address!
  adresse: String! @deprecated(reason: "Utilisez le champ `address.label` à la place.")
  association: Association
  codeInseeLocalite: String! @deprecated(reason: "Utilisez le champ `address.city_code` à la place.")
  codePostal: String! @deprecated(reason: "Utilisez le champ `address.postal_code` à la place.")
  complementAdresse: String @deprecated(reason: "Utilisez le champ `address` à la place.")
  entreprise: Entreprise
  id: ID!
  libelleNaf: String!
  localite: String! @deprecated(reason: "Utilisez le champ `address.city_name` à la place.")
  naf: String!
  nomVoie: String @deprecated(reason: "Utilisez le champ `address.street_name` à la place.")
  numeroVoie: String @deprecated(reason: "Utilisez le champ `address.street_number` à la place.")
  siegeSocial: Boolean!
  siret: String!
  typeVoie: String @deprecated(reason: "Utilisez le champ `address.street_address` à la place.")
}

type PersonnePhysique implements Demandeur {
  civilite: Civilite
  dateDeNaissance: ISO8601Date
  id: ID!
  nom: String!
  prenom: String!
}

type PieceJustificativeChamp implements Champ {
  file: File
  id: ID!

  """
  Libellé du champ.
  """
  label: String!

  """
  La valeur du champ sous forme texte.
  """
  stringValue: String
}

type Profile {
  email: String!
  id: ID!
}

type Query {
  """
  Informations concernant une démarche.
  """
  demarche(
    """
    Numéro de la démarche.
    """
    number: Int!
  ): Demarche!

  """
  Informations sur un dossier d’une démarche.
  """
  dossier(
    """
    Numéro du dossier.
    """
    number: Int!
  ): Dossier!

  """
  Informations sur un groupe instructeur.
  """
  groupeInstructeur(
    """
    Numéro du groupe instructeur.
    """
    number: Int!
  ): GroupeInstructeurWithDossiers!
}

type RepetitionChamp implements Champ {
  champs: [Champ!]!
  id: ID!

  """
  Libellé du champ.
  """
  label: String!

  """
  La valeur du champ sous forme texte.
  """
  stringValue: String
}

type Revision {
  annotationDescriptors: [ChampDescriptor!]!
  champDescriptors: [ChampDescriptor!]!

  """
  Date de la création.
  """
  dateCreation: ISO8601DateTime!
  id: ID!
}

type SelectionUtilisateur implements GeoArea {
  geometry: GeoJSON!
  id: ID!
  source: GeoAreaSource!
}

type Service {
  id: ID!
  nom: String!
  organisme: String!
  typeOrganisme: TypeOrganisme!
}

type SiretChamp implements Champ {
  etablissement: PersonneMorale
  id: ID!

  """
  Libellé du champ.
  """
  label: String!

  """
  La valeur du champ sous forme texte.
  """
  stringValue: String
}

type TextChamp implements Champ {
  id: ID!

  """
  Libellé du champ.
  """
  label: String!

  """
  La valeur du champ sous forme texte.
  """
  stringValue: String
  value: String
}

type TitreIdentiteChamp implements Champ {
  grantType: TitreIdentiteGrantType!
  id: ID!

  """
  Libellé du champ.
  """
  label: String!

  """
  La valeur du champ sous forme texte.
  """
  stringValue: String
}

enum TitreIdentiteGrantType {
  """
  Françe Connect
  """
  france_connect

  """
  Pièce justificative
  """
  piece_justificative
}

enum TypeDeChamp {
  """
  Adresse
  """
  address

  """
  Annuaire de l’éducation
  """
  annuaire_education

  """
  Carte
  """
  carte

  """
  Case à cocher
  """
  checkbox

  """
  Civilité
  """
  civilite

  """
  Communes
  """
  communes

  """
  Date
  """
  date

  """
  Date et Heure
  """
  datetime

  """
  Nombre décimal
  """
  decimal_number

  """
  Départements
  """
  departements

  """
  Lien vers un autre dossier
  """
  dossier_link

  """
  Choix parmi une liste
  """
  drop_down_list

  """
  Email
  """
  email

  """
  Engagement
  """
  engagement

  """
  Explication
  """
  explication

  """
  Titre de section
  """
  header_section

  """
  Iban
  """
  iban

  """
  Nombre entier
  """
  integer_number

  """
  Deux menus déroulants liés
  """
  linked_drop_down_list

  """
  Choix multiples
  """
  multiple_drop_down_list

  """
  Nombre
  """
  number

  """
  Pays
  """
  pays

  """
  Téléphone
  """
  phone

  """
  Pièce justificative
  """
  piece_justificative

  """
  Régions
  """
  regions

  """
  Bloc répétable
  """
  repetition

  """
  SIRET
  """
  siret

  """
  Texte
  """
  text

  """
  Zone de texte
  """
  textarea

  """
  Titre identité
  """
  titre_identite

  """
  Oui/Non
  """
  yes_no
}

enum TypeOrganisme {
  """
  Administration centrale
  """
  administration_centrale

  """
  Association
  """
  association

  """
  Autre
  """
  autre

  """
  Collectivité territoriale
  """
  collectivite_territoriale

  """
  Établissement d’enseignement
  """
  etablissement_enseignement

  """
  Opérateur d’État
  """
  operateur_d_etat

  """
  Service déconcentré de l’État
  """
  service_deconcentre_de_l_etat
}

"""
A valid URL, transported as a string
"""
scalar URL

"""
Éreur de validation
"""
type ValidationError {
  """
  A description of the error
  """
  message: String!
}