openapi: 3.0.3
info:
  title: Interface API Gamma Refonte
  description: Interface API Gamma Refonte
  version: 1.0.0
  contact:
    name: DGDDI - Douane Française
    url: https://www.douane.gouv.fr/

paths:
  /mvvdsa:
    post:
      summary: Endpoint de déclenchement d'un message MVV DSA
      description: Endpoint de déclenchement d'un message MVV DSA
      operationId: messageMVVDSA
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MVVDSA'
      parameters:
        - $ref: '../api/headerHttp.yaml#/components/parameters/messageId'
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                type: string
                example: Réponse OK
        '400':
          description: Erreur de validation

components:
  schemas:
    MVVDSA:
      type: object
      properties:
        MVVDSA:
          $ref: '#/components/schemas/MVVDSAType'
      required:
        - MVVDSA

    MVVDSAType:
      type: object
      description: |
        | **Nom de l'élément**              | **Règles**               | **Conditions**                         |
        |-----------------------------------|--------------------------|----------------------------------------|
        | Entete                            |                          |                                        |
        | Circulation                       |                          | FR_RG_C058                             |
        | ReferenceMouvement                |                          |                                        |
        | Annulation                        |                          | FR_RG_C043                             |
        | ReferenceTrajet                   |                          | FR_RG_C059<br>FR_RG_C037               |
        | Destinataire                      | FR_RG_R172<br>FR_RG_R173 | FR_RG_C074                             |
        | LieuLivraison                     |                          | FR_RG_C015<br>FR_RG_C059               |
        | AutoriteCompetenteLieuDestination |                          | FR_RG_C016<br>FR_RG_C019               |
        | BureauExport                      |                          | FR_RG_C015<br>FR_RG_C038               |
        | Expediteur                        | FR_RG_R172<br>FR_RG_R173 | FR_RG_C074                             |
        | LieuExpedition                    |                          | FR_RG_C037                             |
        | AutoriteCompetenteLieuExpedition  |                          | FR_RG_C016                             |
        | ModeTransport                     |                          | FR_RG_C037                             |
        | Transporteur                      |                          | FR_RG_C060                             |
        | DetailsTransport                  |                          | FR_RG_C037                             |
        | Certificat                        |                          | FR_RG_C060                             |
        | Article                           |                          | FR_RG_C059                             |
      properties:
        Entete:
          $ref: '#/components/schemas/EnteteMVVDSA'
        Circulation:
          $ref: '#/components/schemas/CirculationMVVDSA'
        ReferenceMouvement:
          $ref: '#/components/schemas/ReferenceMouvementMVVDSA'
        Annulation:
          $ref: '#/components/schemas/AnnulationMVVDSA'
        ReferenceTrajet:
          $ref: '#/components/schemas/ReferenceTrajetMVVDSA'
        Destinataire:
          $ref: '#/components/schemas/DestinataireMVVDSA'
        LieuLivraison:
          $ref: '#/components/schemas/LieuLivraisonMVVDSA'
        AutoriteCompetenteLieuDestination:
          $ref: '#/components/schemas/AutoriteCompetenteLieuDestinationMVVDSA'
        BureauExport:
          $ref: '#/components/schemas/BureauExportMVVDSA'
        Expediteur:
          $ref: '#/components/schemas/ExpediteurMVVDSA'
        LieuExpedition:
          $ref: '#/components/schemas/LieuExpeditionMVVDSA'
        AutoriteCompetenteLieuExpedition:
          $ref: '#/components/schemas/AutoriteCompetenteLieuExpeditionMVVDSA'
        ModeTransport:
          $ref: '#/components/schemas/ModeTransportMVVDSA'
        Transporteur:
          $ref: '#/components/schemas/TransporteurMVVDSA'
        DetailsTransport:
          type: array
          maxItems: 99
          items:
            $ref: '#/components/schemas/DetailsTransportMVVDSA'
        Certificat:
          type: array
          maxItems: 9
          items:
            $ref: '#/components/schemas/CertificatMVVDSA'
        Article:
          type: array
          maxItems: 999
          items:
            $ref: '#/components/schemas/ArticleMVVDSA'
      required:
        - Entete
        - ReferenceMouvement

    EnteteMVVDSA:
      type: object
      description: |
        | **Nom de l'élément** | **Référentiels** | **Règles** | **Conditions** |
        |----------------------|------------------|------------|----------------|
        | TypeAction           |                  | FR_RG_R170 |                |
        | SIRETPrestataire     |                  |            |                |
      properties:
        TypeAction:
          $ref: '../fr/fr-mvvdsa.yaml#/components/schemas/TypeActionType'
        SIRETPrestataire:
          $ref: '../fr/fr-mvvdsa.yaml#/components/schemas/SIRETPrestataireType'
      required:
        - TypeAction
        - SIRETPrestataire

    CirculationMVVDSA:
      type: object
      description: |
        | **Nom de l'élément** | **Référentiels** | **Règles**               | **Conditions** |
        |----------------------|------------------|--------------------------|----------------|
        | TypeCirculation      |                  | FR_RG_R169<br>FR_RG_R183 |                |
      properties:
        TypeCirculation:
          $ref: '../fr/fr-mvvdsa.yaml#/components/schemas/TypeCirculationType'
      required:
        - TypeCirculation

    ReferenceMouvementMVVDSA:
      type: object
      description: |
        | **Nom de l'élément** | **Référentiels** | **Règles**               | **Conditions** |
        |----------------------|------------------|--------------------------|----------------|
        | TypeDocument         |                  | FR_RG_R191               |                |
        | NumeroDocument       |                  | FR_RG_R175<br>FR_RG_R176 | FR_RG_C022     |
        | NumSeq               |                  | FR_RG_R198               | FR_RG_C065     |
        | Regularisation       |                  | FR_RG_R195               | FR_RG_C041     |
      properties:
        TypeDocument:
          $ref: '../fr/fr-mvvdsa.yaml#/components/schemas/TypeDocumentType'
        NumeroDocument:
          $ref: '../fr/fr-mvvdsa.yaml#/components/schemas/NumeroDocumentType'
        NumSeq:
          $ref: '../ie/types.yaml#/components/schemas/SequenceNumberType'
        Regularisation:
          $ref: '../ie/tcl.yaml#/components/schemas/Flag'
      required:
        - TypeDocument

    AnnulationMVVDSA:
      type: object
      description: |
        | **Nom de l'élément** | **Référentiels** | **Règles** | **Conditions** |
        |----------------------|------------------|------------|----------------|
        | RaisonAnnulation     |                  |            |                |
      properties:
        RaisonAnnulation:
          $ref: '../fr/fr-mvvdsa.yaml#/components/schemas/RaisonAnnulationType'

    ReferenceTrajetMVVDSA:
      type: object
      description: |
        | **Nom de l'élément**   | **Référentiels** | **Règles** | **Conditions**           |
        |------------------------|------------------|------------|--------------------------|
        | LRN                    |                  |            | FR_RG_C012<br>FR_RG_C063 |
        | Nfact                  |                  |            | FR_RG_C012               |
        | DateFact               |                  |            | FR_RG_C012<br>FR_RG_C013 |
        | DateDepartMarchandises |                  | FR_RG_R182 | FR_RG_C001<br>FR_RG_C061 |
        | HeureDepartMarchandise |                  | FR_RG_R182 | FR_RG_C061               |
      properties:
        LRN:
          $ref: '../ie/types.yaml#/components/schemas/LocalReferenceNumberType'
        Nfact:
          $ref: '../ie/types.yaml#/components/schemas/InvoiceNumberType'
        DateFact:
          $ref: '../ie/types.yaml#/components/schemas/DateType'
        DateDepartMarchandises:
          $ref: '../ie/types.yaml#/components/schemas/DateType'
        HeureDepartMarchandise:
          $ref: '../ie/types.yaml#/components/schemas/TimeType'

    DestinataireMVVDSA:
      type: object
      description: |
        | **Nom de l'élément** | **Référentiels** | **Règles**               | **Conditions** |
        |----------------------|------------------|--------------------------|----------------|
        | IDDest               |                  | FR_RG_R172<br>FR_RG_R173 | FR_RG_C017     |
        | TVADest              |                  | FR_RG_R177               | FR_RG_C014     |
        | NomDest              |                  |                          |                |
        | AdrDest              |                  |                          |                |
        | NumAdrDest           |                  |                          |                |
        | CPDest               |                  |                          |                |
        | VilleDest            |                  |                          |                |
        | NumUT                |                  |                          |                |
      properties:
        IDDest:
          $ref: '../ie/types.yaml#/components/schemas/TraderidType'
        TVADest:
          $ref: '../fr/fr-v3.yaml#/components/schemas/TVANumType'
        NomDest:
          $ref: '../ie/types.yaml#/components/schemas/TraderNameType'
        AdrDest:
          $ref: '../ie/types.yaml#/components/schemas/StreetNameType'
        NumAdrDest:
          $ref: '../ie/types.yaml#/components/schemas/StreetNumberType'
        CPDest:
          $ref: '../ie/types.yaml#/components/schemas/PostcodeType'
        VilleDest:
          $ref: '../ie/types.yaml#/components/schemas/CityType'
        NumUT:
          $ref: '../fr/fr-v3.yaml#/components/schemas/UtNumType'
      required:
        - NomDest
        - AdrDest
        - CPDest
        - VilleDest

    LieuLivraisonMVVDSA:
      type: object
      description: |
        | **Nom de l'élément** | **Référentiels** | **Règles** | **Conditions** |
        |----------------------|------------------|------------|----------------|
        | IDOpeLiv             |                  |            |                |
        | NomOpeLiv            |                  |            |                |
        | AdrOpeLiv            |                  |            |                |
        | NumAdrOpeLiv         |                  |            |                |
        | CPOpeLiv             |                  |            |                |
        | VilleOpeLiv          |                  |            |                |
      properties:
        IDOpeLiv:
          $ref: '../ie/types.yaml#/components/schemas/TraderidType'
        NomOpeLiv:
          $ref: '../ie/types.yaml#/components/schemas/TraderNameType'
        AdrOpeLiv:
          $ref: '../ie/types.yaml#/components/schemas/StreetNameType'
        NumAdrOpeLiv:
          $ref: '../ie/types.yaml#/components/schemas/StreetNumberType'
        CPOpeLiv:
          $ref: '../ie/types.yaml#/components/schemas/PostcodeType'
        VilleOpeLiv:
          $ref: '../ie/types.yaml#/components/schemas/CityType'
      required:
        - NomOpeLiv
        - AdrOpeLiv
        - CPOpeLiv
        - VilleOpeLiv

    AutoriteCompetenteLieuDestinationMVVDSA:
      type: object
      description: |
        | **Nom de l'élément** | **Référentiels** | **Règles** | **Conditions**                         |
        |----------------------|------------------|------------|----------------------------------------|
        | CodeBurDest          |                  |            | FR_RG_C053<br>FR_RG_C061<br>FR_RG_C067 |
        | IdAutoriteDestIC     | Ref_83           |            | FR_RG_C067                             |
      properties:
        CodeBurDest:
          $ref: '../fr/fr-v3.yaml#/components/schemas/CodebureauType'
        IdAutoriteDestIC:
          $ref: '../fr/fr-mvvdsa.yaml#/components/schemas/IdAutoriteDestIc'

    BureauExportMVVDSA:
      type: object
      description: |
        | **Nom de l'élément** | **Référentiels** | **Règles** | **Conditions** |
        |----------------------|------------------|------------|----------------|
        | RefBurExport         |                  | FR_RG_R180 |                |
      properties:
        RefBurExport:
          $ref: '../fr/fr-v3.yaml#/components/schemas/CodebureauType'
      required:
        - RefBurExport

    ExpediteurMVVDSA:
      type: object
      description: |
        | **Nom de l'élément** | **Référentiels** | **Règles**               | **Conditions** |
        |----------------------|------------------|--------------------------|----------------|
        | IDExp                |                  | FR_RG_R172<br>FR_RG_R173 |                |
        | TVAExp               |                  |                          | FR_RG_C014     |
        | NomExp               |                  |                          |                |
        | AdrExp               |                  |                          |                |
        | NumAdrExp            |                  |                          |                |
        | CPExp                |                  |                          |                |
        | VilleExp             |                  |                          |                |
      properties:
        IDExp:
          $ref: '../ie/types.yaml#/components/schemas/TraderidType'
        TVAExp:
          $ref: '../fr/fr-v3.yaml#/components/schemas/TVANumFRType'
        NomExp:
          $ref: '../ie/types.yaml#/components/schemas/TraderNameType'
        AdrExp:
          $ref: '../ie/types.yaml#/components/schemas/StreetNameType'
        NumAdrExp:
          $ref: '../ie/types.yaml#/components/schemas/StreetNumberType'
        CPExp:
          $ref: '../ie/types.yaml#/components/schemas/PostcodeType'
        VilleExp:
          $ref: '../ie/types.yaml#/components/schemas/CityType'
      required:
        - IDExp
        - NomExp
        - AdrExp
        - CPExp
        - VilleExp

    LieuExpeditionMVVDSA:
      type: object
      description: |
        | **Nom de l'élément** | **Référentiels** | **Règles** | **Conditions** |
        |----------------------|------------------|------------|----------------|
        | NRefEntrFis          |                  | FR_RG_R187 |                |
        | NomLiExp             |                  |            |                |
        | AdrLiExp             |                  |            |                |
        | NumAdrLiExp          |                  |            |                |
        | CPLiExp              |                  |            |                |
        | VilleLiExp           |                  |            |                |
      properties:
        NRefEntrFis:
          $ref: '../ie/types.yaml#/components/schemas/ReferenceOfTaxWarehouseType'
        NomLiExp:
          $ref: '../ie/types.yaml#/components/schemas/TraderNameType'
        AdrLiExp:
          $ref: '../ie/types.yaml#/components/schemas/StreetNameType'
        NumAdrLiExp:
          $ref: '../ie/types.yaml#/components/schemas/StreetNumberType'
        CPLiExp:
          $ref: '../ie/types.yaml#/components/schemas/PostcodeType'
        VilleLiExp:
          $ref: '../ie/types.yaml#/components/schemas/CityType'
      required:
        - NomLiExp
        - AdrLiExp
        - CPLiExp
        - VilleLiExp

    AutoriteCompetenteLieuExpeditionMVVDSA:
      type: object
      description: |
        | **Nom de l'élément** | **Référentiels** | **Règles** | **Conditions** |
        |----------------------|------------------|------------|----------------|
        | CodeBurExp           |                  | FR_RG_R190 | FR_RG_C061     |
      properties:
        CodeBurExp:
          $ref: '../fr/fr-v3.yaml#/components/schemas/CodebureauType'

    ModeTransportMVVDSA:
      type: object
      description: |
        | **Nom de l'élément** | **Référentiels** | **Règles** | **Conditions** |
        |----------------------|------------------|------------|----------------|
        | Duree                |                  | FR_RG_R174 | FR_RG_C061     |
        | ModeTransp           | Ref_52           |            |                |
        | InfoComplTransp      |                  |            |                |
      properties:
        Duree:
          $ref: '../fr/fr-mvvdsa.yaml#/components/schemas/DureeType'
        ModeTransp:
          $ref: '../ie/types.yaml#/components/schemas/TransportModeCodeType'
        InfoComplTransp:
          $ref: '../ie/types.yaml#/components/schemas/ComplementaryInformationType'

    TransporteurMVVDSA:
      type: object
      description: |
        | **Nom de l'élément** | **Référentiels** | **Règles** | **Conditions** |
        |----------------------|------------------|------------|----------------|
        | NumTVAOrgTransp      |                  |            |                |
        | NomOrgTransp         |                  |            | FR_RG_C061     |
        | AdrOrgTransp         |                  |            | FR_RG_C064     |
        | NumAdrOrgTransp      |                  |            |                |
        | CPOrgTransp          |                  |            | FR_RG_C064     |
        | VilleOrgTransp       |                  |            | FR_RG_C064     |
      properties:
        NumTVAOrgTransp:
          $ref: '../ie/types.yaml#/components/schemas/VatNumberType'
        NomOrgTransp:
          $ref: '../ie/types.yaml#/components/schemas/TraderNameType'
        AdrOrgTransp:
          $ref: '../ie/types.yaml#/components/schemas/StreetNameType'
        NumAdrOrgTransp:
          $ref: '../ie/types.yaml#/components/schemas/StreetNumberType'
        CPOrgTransp:
          $ref: '../ie/types.yaml#/components/schemas/PostcodeType'
        VilleOrgTransp:
          $ref: '../ie/types.yaml#/components/schemas/CityType'

    DetailsTransportMVVDSA:
      type: object
      description: |
        | **Nom de l'élément**  | **Référentiels** | **Règles** | **Conditions** |
        |-----------------------|------------------|------------|----------------|
        | TransportUnitCode     | Ref_53           |            |                |
        | IDUnitTransp          |                  |            | FR_RG_C020     |
        | InfoComplDetailTransp |                  |            | FR_RG_C021     |
      properties:
        TransportUnitCode:
          $ref: '../fr/fr-mvvdsa.yaml#/components/schemas/TransportUnitCodeType'
        IDUnitTransp:
          $ref: '../ie/types.yaml#/components/schemas/IdentityOfTransportUnitsType'
        InfoComplDetailTransp:
          $ref: '../ie/types.yaml#/components/schemas/ComplementaryInformationType'
      required:
        - TransportUnitCode

    CertificatMVVDSA:
      type: object
      description: |
        | **Nom de l'élément** | **Référentiels** | **Règles** | **Conditions** |
        |----------------------|------------------|------------|----------------|
        | TypeCert             |                  |            |                |
        | TitreCert            |                  |            |                |
        | DescCert             |                  |            |                |
        | RefCert              |                  |            |                |
        | Preuve               |                  |            |                |
      properties:
        TypeCert:
          $ref: '../ie/types.yaml#/components/schemas/DocumentTypeType'
        TitreCert:
          $ref: '../ie/types.yaml#/components/schemas/DocumentReferenceType'
        DescCert:
          $ref: '../ie/types.yaml#/components/schemas/DocumentDescriptionType'
        RefCert:
          $ref: '../ie/types.yaml#/components/schemas/ReferenceOfDocumentType'
        Preuve:
          type: string
          format: base64Binary
      required:
        - RefCert

    ArticleMVVDSA:
      type: object
      description: |
        | **Nom de l'élément**        | **Référentiels**              | **Règles**               | **Conditions** |
        |-----------------------------|-------------------------------|--------------------------|----------------|
        | nRefArt                     |                               | FR_RG_R188               |                |
        | TypeProduit                 | Ref_77                        |                          | FR_RG_C023     |
        | ProduitRecipient            |                               |                          | FR_RG_C027     |
        | AppellationOrigine          | Ref_81                        |                          | FR_RG_C028     |
        | AppellationAbregee          | Ref_78                        |                          | FR_RG_C025     |
        | Millesime                   |                               |                          | FR_RG_C029     |
        | Cepage                      | Ref_79                        |                          | FR_RG_C026     |
        | UniteIndiceRefractometrique |                               | FR_RG_R178               | FR_RG_C030     |
        | IndiceRefractometrique      |                               | IC_RG_R232               | FR_RG_C030     |
        | TeneurSucre                 |                               | IC_RG_R232               | FR_RG_C031     |
        | NbRecipient                 |                               | IC_RG_R232               | FR_RG_C036     |
        | Contenance                  |                               | FR_RG_R171<br>IC_RG_R232 | FR_RG_C036     |
        | PoidsBrutRecipient          |                               | FR_RG_R184               | FR_RG_C039     |
        | PoidsNetRecipient           |                               | FR_RG_R184               | FR_RG_C054     |
        | VolumeTotalRecipient        |                               | IC_RG_R232               | FR_RG_C045     |
        | CategorieProduitAccise      | Ref_35                        | FR_RG_R185               | FR_RG_C040     |
        | CnCode                      | Ref_35                        | IC_RG_R232               | FR_RG_C061     |
        | CodeZoneViti                | Ref_80                        |                          | FR_RG_C033     |
        | Prix                        |                               | IC_RG_R232               | FR_RG_C046     |
        | Quantité                    |                               |                          | FR_RG_C024     |
        | PoidsBrut                   |                               | FR_RG_R184               | FR_RG_C024     |
        | PoidsNet                    |                               | FR_RG_R184               | FR_RG_C034     |
        | TenAlc                      |                               | FR_RG_R186<br>FR_RG_R193 | FR_RG_C050     |
        | DegPlat                     |                               | FR_RG_R193               | FR_RG_C052     |
        | MarFisc                     |                               |                          | FR_RG_C049     |
        | TailleProd                  |                               |                          | FR_RG_C046     |
        | Densite                     |                               | IC_RG_R232               | FR_RG_C047     |
        | VolumeTotal                 |                               |                          | FR_RG_C035     |
        | DescCom                     |                               |                          | FR_RG_C046     |
        | NomMarqProd                 |                               |                          | FR_RG_C046     |
        | PeriodeMaturation           |                               |                          | FR_RG_C046     |
        | ManipulationMouts           |                               |                          | FR_RG_C032     |
        | CommentaireManipulationMout |                               |                          | FR_RG_C066     |
        | Conditionnement             |                               |                          | FR_RG_C024     |
        | ProduitVinicole             |                               |                          | FR_RG_C057     |
      properties:
        nRefArt:
          $ref: '../ie/types.yaml#/components/schemas/BodyRecordUniqueReferenceType'
        TypeProduit:
          $ref: '../fr/fr-mvvdsa.yaml#/components/schemas/TypeProduitType'
        ProduitRecipient:
          $ref: '../ie/tcl.yaml#/components/schemas/Flag'
        AppellationOrigine:
          $ref: '../fr/fr-mvvdsa.yaml#/components/schemas/AppellationOrigineType'
        AppellationAbregee:
          $ref: '../fr/fr-mvvdsa.yaml#/components/schemas/AppellationAbregeeType'
        Millesime:
          $ref: '../fr/fr-mvvdsa.yaml#/components/schemas/MillesimeType'
        Cepage:
          $ref: '../fr/fr-mvvdsa.yaml#/components/schemas/CepageType'
        UniteIndiceRefractometrique:
          $ref: '../fr/fr-mvvdsa.yaml#/components/schemas/UniteIndiceRefractometriqueType'
        IndiceRefractometrique:
          $ref: '../fr/fr-mvvdsa.yaml#/components/schemas/IndiceRefractometriqueType'
        TeneurSucre:
          $ref: '../fr/fr-mvvdsa.yaml#/components/schemas/TeneurSucreType'
        NbRecipient:
          $ref: '../fr/fr-mvvdsa.yaml#/components/schemas/NbRecipientType'
        Contenance:
          $ref: '../fr/fr-mvvdsa.yaml#/components/schemas/ContenanceType'
        PoidsBrutRecipient:
          $ref: '../fr/fr-mvvdsa.yaml#/components/schemas/PoidsBrutRecipientType'
        PoidsNetRecipient:
          $ref: '../fr/fr-mvvdsa.yaml#/components/schemas/PoidsNetRecipientType'
        VolumeTotalRecipient:
          $ref: '../fr/fr-mvvdsa.yaml#/components/schemas/VolumeTotalRecipientType'
        CategorieProduitAccise:
          $ref: '../ie/types.yaml#/components/schemas/ExciseProductCodeType'
        CnCode:
          $ref: '../ie/types.yaml#/components/schemas/CnCodeType'
        CodeZoneViti:
          $ref: '../fr/fr-mvvdsa.yaml#/components/schemas/CodeZoneViticoleType'
        Prix:
          $ref: '../fr/fr-v3.yaml#/components/schemas/Prix'
        Quantite:
          $ref: '../fr/fr-mvvdsa.yaml#/components/schemas/QuantiteType'
        PoidsBrut:
          $ref: '../fr/fr-mvvdsa.yaml#/components/schemas/PoidsBrutType'
        PoidsNet:
          $ref: '../fr/fr-mvvdsa.yaml#/components/schemas/PoidsNetType'
        TenAlc:
          $ref: '../ie/types.yaml#/components/schemas/AlcoholicStrengthType'
        DegPlat:
          $ref: '../ie/types.yaml#/components/schemas/DegreePlatoType'
        MarFisc:
          $ref: '../ie/types.yaml#/components/schemas/FiscalMarkType'
        TailleProd:
          $ref: '../ie/types.yaml#/components/schemas/SizeOfProducerType'
        Densite:
          $ref: '../ie/types.yaml#/components/schemas/DensityType'
        VolumeTotal:
          $ref: '../fr/fr-mvvdsa.yaml#/components/schemas/VolumeTotalType'
        DescCom:
          $ref: '../ie/types.yaml#/components/schemas/CommercialDescriptionType'
        NomMarqProd:
          $ref: '../ie/types.yaml#/components/schemas/BrandNameOfProductsType'
        PeriodeMaturation:
          $ref: '../ie/types.yaml#/components/schemas/MaturationPeriodOrAgeOfProductsType'
        ManipulationMouts:
          type: array
          maxItems: 99
          items:
            $ref: '#/components/schemas/ManipulationMoutsMVVDSA'
        CommentaireManipulationMout:
          $ref: '../fr/fr-mvvdsa.yaml#/components/schemas/CommentaireCodeManipulationMoutsType'
        Conditionnement:
          type: array
          maxItems: 99
          items:
            $ref: '#/components/schemas/ConditionnementMVVDSA'
        ProduitVinicole:
          $ref: '#/components/schemas/ProduitVinicoleMVVDSA'
      required:
        - nRefArt

    ManipulationMoutsMVVDSA:
      type: object
      description: |
        | **Nom de l'élément**  | **Référentiels** | **Règles** | **Conditions** |
        |-----------------------|------------------|------------|----------------|
        | CodeManipulationMouts |                  |            |                |
      properties:
        CodeManipulationMouts:
          $ref: '../fr/fr-mvvdsa.yaml#/components/schemas/CodeManipulationMoutsType'
      required:
        - CodeManipulationMouts

    ConditionnementMVVDSA:
      type: object
      description: |
        | **Nom de l'élément** | **Référentiels** | **Règles** | **Conditions** |
        |----------------------|------------------|------------|----------------|
        | TypeCol              | Ref_38           |            |                |
        | NbCol                |                  | IC_RG_R232 | FR_RG_C048     |
      properties:
        TypeCol:
          $ref: '../ie/types.yaml#/components/schemas/KindOfPackagesType'
        NbCol:
          $ref: '../ie/types.yaml#/components/schemas/NumberOfPackagesType'
      required:
        - TypeCol

    ProduitVinicoleMVVDSA:
      type: object
      description: |
        | **Nom de l'élément** | **Référentiels** | **Règles** | **Conditions** |
        |----------------------|------------------|------------|----------------|
        | CategProduitVini     | Ref_05           |            | FR_RG_C061     |
        | WineGrowingZoneCode  | Ref_57           |            | FR_RG_C051     |
        | PaysT                |                  | FR_RG_R189 | FR_RG_C055     |
        | AutreInfo            |                  |            |                |
      properties:
        CategProduitVini:
          $ref: '../ie/tcl.yaml#/components/schemas/CategoryOfWineProduct'
        WineGrowingZoneCode:
          $ref: '../ie/types.yaml#/components/schemas/WineGrowingZoneCodeType'
        PaysT:
          $ref: '../ie/types.yaml#/components/schemas/ThirdCountryOfOriginType'
        AutreInfo:
          $ref: '../ie/types.yaml#/components/schemas/OtherInformationType'
        OperationVinicole:
          type: array
          maxItems: 99
          items:
            $ref: '#/components/schemas/OperationVinicoleMVVDSA'

    OperationVinicoleMVVDSA:
      type: object
      description: |
        | **Nom de l'élément** | **Référentiels** | **Règles** | **Conditions** |
        |----------------------|------------------|------------|----------------|
        | CodeManipu           | Ref_58           |            | FR_RG_C061     |
      properties:
        CodeManipu:
          $ref: '../ie/types.yaml#/components/schemas/WineOperationCodeType'