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:
  # Chemin facultatif
  /1004:
    post:
      summary: Définition d'un message 1004
      operationId: message1004
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BodyType1004'
      parameters:
        - $ref: '../api/headerHttp.yaml#/components/parameters/messageId'
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                $ref: '../api/retourHttp.yaml#/components/schemas/retour200'

components:
  schemas:
    BodyType1004:
      type: object
      properties:
        SubmittedDraftOfEad1004:
          $ref: '#/components/schemas/SubmittedDraftOfEadType1004'
      required:
        - SubmittedDraftOfEad1004

    SubmittedDraftOfEadType1004:
      type: object
      properties:
        Attributes:
          $ref: '#/components/schemas/AttributesType1004'
        ConsigneeTrader:
          $ref: '#/components/schemas/ConsigneeTraderType1004'
        ComplementConsigneeTrader:
          $ref: '#/components/schemas/ComplementConsigneeTraderType1004'
        ConsignorTrader:
          $ref: '#/components/schemas/ConsignorTraderType1004'
        PlaceOfDispatchTrader:
          $ref: '#/components/schemas/PlaceOfDispatchTraderType1004'
        DeliveryPlaceTrader:
          $ref: '#/components/schemas/DeliveryPlaceTraderType1004'
        DispatchImportOffice:
          $ref: '#/components/schemas/DispatchImportOfficeType1004'
        DeliveryPlaceCustomsOffice:
          $ref: '#/components/schemas/DeliveryPlaceCustomsOfficeType1004'
        TransportArrangerTrader:
          $ref: '#/components/schemas/TransportArrangerTraderType1004'
        FirstTransporterTrader:
          $ref: '#/components/schemas/FirstTransporterTraderType1004'
        TransportDetails:
          type: array
          maxItems: 999
          items:
            $ref: '#/components/schemas/TransportDetailsType1004'
        DocumentCertificate:
          type: array
          maxItems: 9
          items:
            $ref: '#/components/schemas/DocumentCertificateType1004'
        Ead:
          $ref: '#/components/schemas/EadType1004'
        HeaderEad:
          $ref: '#/components/schemas/HeaderEadType1004'
        TransportMode:
          $ref: '#/components/schemas/TransportModeType1004'
        MovementGuarantee:
          $ref: '#/components/schemas/MovementGuaranteeType1004'
        BodyEad:
          type: array
          maxItems: 999
          items:
            $ref: '#/components/schemas/BodyEadType1004'
      required:
        - Attributes
        - ConsignorTrader
        - Ead
        - HeaderEad
        - MovementGuarantee
        - BodyEad

    AttributesType1004:
      type: object
      description: |
        | Nom de l'élément         | Référentiels  | Règles      | Conditions |
        |--------------------------|---------------|-------------|------------|
        | SubmissionMessageType    |               |             | NA         |
        | Deferred Submission flag |               |             | NA         |
      properties:
        SubmissionMessageType:
            $ref: '../ie/tcl.yaml#/components/schemas/SubmissionType'
        DeferredSubmissionFlag:
          $ref: '../ie/tcl.yaml#/components/schemas/Flag'
      required:
        - SubmissionMessageType
        - DeferredSubmissionFlag

    ConsigneeTraderType1004:
      type: object
      description: |
        | Nom de l'élément | Référentiels  | Règles      | Conditions |
        |------------------|---------------|-------------|------------|
        | Traderid         |               | IC_RG_R045  | IC_RG_C010 |
        | TraderName       |               | NA          | NA         |
        | StreetName       |               | NA          | NA         |
        | StreetNumber     |               | NA          | NA         |
        | Postcode         |               | NA          | NA         |
        | City             |               | NA          | NA         |
      properties:
        Traderid:
          $ref: '../ie/types.yaml#/components/schemas/TraderidType'
        TraderName:
          $ref: '../ie/types.yaml#/components/schemas/TraderNameType'
        StreetName:
          $ref: '../ie/types.yaml#/components/schemas/StreetNameType'
        StreetNumber:
          $ref: '../ie/types.yaml#/components/schemas/StreetNumberType'
        Postcode:
          $ref: '../ie/types.yaml#/components/schemas/PostcodeType'
        City:
          $ref: '../ie/types.yaml#/components/schemas/CityType'
        EoriNumber:
          $ref: '../ie/types.yaml#/components/schemas/EoriNumberType'

    ConsignorTraderType1004:
      type: object
      description: |
        | Nom de l'élément   | Référentiels | Règles      | Conditions |
        |--------------------|--------------|-------------|------------|
        | TraderExciseNumber |              | IC_RG_R044  |            |
      properties:
        TraderExciseNumber:
          $ref: '../ie/types.yaml#/components/schemas/ExciseNumberType'
      required:
        - TraderExciseNumber

    PlaceOfDispatchTraderType1004:
      type: object
      description: |
        | Nom de l'élément        | Référentiels | Règles      | Conditions |
        |-------------------------|--------------|-------------|------------|
        | ReferenceOfTaxWarehouse |              | IC_RG_R044  | IC_RG_C208 |
        | TraderName              |              | NA          | IC_RG_C207 |
        | StreetName              |              | NA          | IC_RG_C207 |
        | StreetNumber            |              | NA          | NA         |
        | Postcode                |              | NA          | IC_RG_C207 |
        | City                    |              | NA          | IC_RG_C207 |
      properties:
        ReferenceOfTaxWarehouse:
          $ref: '#/components/schemas/ReferenceOfTaxWarehouseType1004'
        TraderName:
          $ref: '../ie/types.yaml#/components/schemas/TraderNameType'
        StreetName:
          $ref: '../ie/types.yaml#/components/schemas/StreetNameType'
        StreetNumber:
          $ref: '../ie/types.yaml#/components/schemas/StreetNumberType'
        Postcode:
          $ref: '../ie/types.yaml#/components/schemas/PostcodeType'
        City:
          $ref: '../ie/types.yaml#/components/schemas/CityType'

    DispatchImportOfficeType1004:
      type: object
      description: |
        | Nom de l'élément | Référentiels | Règles                     | Conditions |
        |------------------|--------------|----------------------------|------------|
        | ReferenceNumber  |              | IC_RG_R032 et IC_RG_R236   | NA         |
      properties:
        ReferenceNumber:
          $ref: '../ie/types.yaml#/components/schemas/ExciseOfficeCodeType'
    
    DeliveryPlaceTraderType1004:
      type: object
      description: |
        | Nom de l'élément | Référentiels  | Règles     | Conditions |
        |------------------|---------------|------------|------------|
        | TraderId         |               | R045       | C074       |
        | TraderName       |               | NA         | C079       |
        | StreetName       |               | NA         | C078       |
        | StreetNumber     |               | NA         | NA         |
        | Postcode         |               | NA         | C078       |
        | City             |               | NA         | C078       |
      properties:
        Traderid:
          $ref: '../ie/types.yaml#/components/schemas/TraderidType'
        TraderName:
          $ref: '../ie/types.yaml#/components/schemas/TraderNameType'
        StreetName:
          $ref: '../ie/types.yaml#/components/schemas/StreetNameType'
        StreetNumber:
          $ref: '../ie/types.yaml#/components/schemas/StreetNumberType'
        Postcode:
          $ref: '../ie/types.yaml#/components/schemas/PostcodeType'
        City:
          $ref: '../ie/types.yaml#/components/schemas/CityType'

    DeliveryPlaceCustomsOfficeType1004:
      type: object
      description: |
        | Nom de l'élément | Référentiels | Règles | Conditions |
        |------------------|--------------|--------|------------|
        | ReferenceNumber  |              | R032   | NA         |
      properties:
        ReferenceNumber:
          $ref: '../ie/types.yaml#/components/schemas/ExciseOfficeCodeType'
    
    TransportArrangerTraderType1004:
      type: object
      description: |
        | Nom de l'élément | Référentiels  | Règles     | Conditions |
        |------------------|---------------|------------|------------|
        | VatNumber        |               | NA         | NA         |
        | TraderName       |               | NA         | NA         |
        | StreetName       |               | NA         | NA         |
        | StreetNumber     |               | NA         | NA         |
        | Postcode         |               | NA         | NA         |
        | City             |               | NA         | NA         |
      properties:
        VatNumber:
          $ref: '../ie/types.yaml#/components/schemas/VatNumberType'
        TraderName:
          $ref: '../ie/types.yaml#/components/schemas/TraderNameType'
        StreetName:
          $ref: '../ie/types.yaml#/components/schemas/StreetNameType'
        StreetNumber:
          $ref: '../ie/types.yaml#/components/schemas/StreetNumberType'
        Postcode:
          $ref: '../ie/types.yaml#/components/schemas/PostcodeType'
        City:
          $ref: '../ie/types.yaml#/components/schemas/CityType'
      required:
        - TraderName
        - StreetName
        - Postcode
        - City

    FirstTransporterTraderType1004:
      type: object
      description: |
        | Nom de l'élément | Référentiels  | Règles     | Conditions |
        |------------------|---------------|------------|------------|
        | VatNumber        |               | NA         | NA         |
        | TraderName       |               | NA         | NA         |
        | StreetAndNumber  |               | NA         | NA         |
        | StreetNumber     |               | NA         | NA         |
        | Postcode         |               | NA         | NA         |
        | City             |               | NA         | NA         |
      properties:
        VatNumber:
          $ref: '../ie/types.yaml#/components/schemas/VatNumberType'
        TraderName:
          $ref: '../ie/types.yaml#/components/schemas/TraderNameType'
        StreetName:
          $ref: '../ie/types.yaml#/components/schemas/StreetNameType'
        StreetNumber:
          $ref: '../ie/types.yaml#/components/schemas/StreetNumberType'
        Postcode:
          $ref: '../ie/types.yaml#/components/schemas/PostcodeType'
        City:
          $ref: '../ie/types.yaml#/components/schemas/CityType'
      required:
        - TraderName
        - StreetName
        - Postcode
        - City

    TransportDetailsType1004:
      type: object
      description: |
        | Nom de l'élément             | Référentiels  | Règles | Conditions |
        |------------------------------|---------------|--------|------------|
        | TransportUnitCode            | ref_53 (BC35) | R057   | NA         |
        | IdentityOfTransportUnits     |               | NA     | C156       |
        | CommercialSealIdentification |               | NA     | NA         |
        | ComplementaryInformation     |               | NA     | C127       |
        | SealInformation              |               | NA     | NA         |
        | __language                   | ref_28 (BC12) | NA     | C002       |
      properties:
        TransportUnitCode:
          $ref: '../ie/types.yaml#/components/schemas/TransportUnitCodeType'
        IdentityOfTransportUnits:
          $ref: '../ie/types.yaml#/components/schemas/IdentityOfTransportUnitsType'
        CommercialSealIdentification:
          $ref: '../ie/types.yaml#/components/schemas/CommercialSealIdentificationType'
        ComplementaryInformation:
          $ref: '#/components/schemas/LSDComplementaryInformationType1004'
        SealInformation:
          $ref: '#/components/schemas/LSDSealInformationType1004'
        __language:
          $ref: '../ie/types.yaml#/components/schemas/LanguageCodeType'
      required:
        - TransportUnitCode

    DocumentCertificateType1004:
      type: object
      description: |
        | Nom de l'élément    | Référentiels  | Règles     | Conditions |
        |---------------------|---------------|------------|------------|
        | DocumentType        |               | R249       | C006       |
        | DocumentReference   |               | NA         | C202       |
        | DocumentDescription |               | NA         | C006       |
        | ReferenceOfDocument |               | NA         | C006       |
      properties:
        DocumentType:
          $ref: '../ie/types.yaml#/components/schemas/DocumentTypeType'
        DocumentReference:
          $ref: '../ie/types.yaml#/components/schemas/DocumentReferenceType'
        DocumentDescription:
          $ref: '#/components/schemas/LSDDocumentDescriptionType1004'
        ReferenceOfDocument:
          $ref: '#/components/schemas/LSDReferenceOfDocumentType1004'

    EadType1004:
      type: object
      description: |
        | Nom de l'élément     | Référentiels | Règles | Conditions |
        |----------------------|--------------|--------|------------|
        | LocalReferenceNumber |              |        | NA         |
        | InvoiceNumber        |              | NA     | NA         |
        | InvoiceDate          |              | NA     | NA         |
        | OriginTypeCode       |              | R260   | NA         |
        | DateOfDispatch       |              | NA     | NA         |
        | TimeOfDispatch       |              | NA     | NA         |
      properties:
        LocalReferenceNumber:
          $ref: '../ie/types.yaml#/components/schemas/LocalReferenceNumberType'
        InvoiceNumber:
          $ref: '../ie/types.yaml#/components/schemas/InvoiceNumberType'
        InvoiceDate:
          $ref: '../ie/types.yaml#/components/schemas/DateType'
        OriginTypeCode:
          $ref: '../ie/tcl.yaml#/components/schemas/OriginTypeCode'
        DateOfDispatch:
          $ref: '../ie/types.yaml#/components/schemas/DateType'
        TimeOfDispatch:
          $ref: '../ie/types.yaml#/components/schemas/TimeType'
        ImportSad:
          type: array
          minLength: 0
          maxItems: 9
          items:
            $ref: '#/components/schemas/ImportSadTypeType1004'
      required:
        - OriginTypeCode

    ComplementConsigneeTraderType1004:
      type: object
      description: |
        | Nom de l'élément                      | Référentiels       | Règles | Conditions |
        |---------------------------------------|--------------------|--------|------------|
        | MemberStateCode                       | ref_31 (BC11)      |        |            |
        | SerialNumberOfCertificateOfExemption  |                    |        |            |
        | DateNAttConsign                       |                    |        |            |
      properties:
        MemberStateCode:
          $ref: '../ie/types.yaml#/components/schemas/MemberStateCodeType'
        SerialNumberOfCertificateOfExemption:
          $ref: '../ie/types.yaml#/components/schemas/SerialNumberOfCertificateOfExemptionType'
        DateNAttConsign:
          $ref: '../ie/types.yaml#/components/schemas/DateType'
      required:
        - MemberStateCode

    HeaderEadType1004:
      type: object
      description: |
        | Nom de l'élément     | Référentiels  | Règles | Conditions |
        |----------------------|---------------|--------|------------|
        | DestinationTypeCode  | Ref_13 (TC32) | R258   | NA         |
        | JourneyTime          |               | R054   | NA         |
        | TransportArrangement |               |        | NA         |
      properties:
        DestinationTypeCode:
          $ref: '../ie/tcl.yaml#/components/schemas/DestinationTypeCode'
        JourneyTime:
          $ref: '../ie/types.yaml#/components/schemas/JourneyTimeType'
        TransportArrangement:
          $ref: '../ie/tcl.yaml#/components/schemas/TransportArrangement'
      required:
        - DestinationTypeCode

    TransportModeType1004:
      type: object
      description: |
        | Nom de l'élément         | Référentiels  | Règles | Conditions |
        |--------------------------|---------------|--------|------------|
        | TransportModeCode        | ref_52 (BC67) | R056   | NA         |
        | ComplementaryInformation |               | NA     | C127       |
      properties:
        TransportModeCode:
          $ref: '../ie/types.yaml#/components/schemas/TransportModeCodeType'
        ComplementaryInformation:
          $ref: '#/components/schemas/LSDComplementaryInformationType1004'

    MovementGuaranteeType1004:
      type: object
      description: |
        | Nom de l'élément  | Référentiels | Règles | Conditions |
        |-------------------|--------------|--------|------------|
        | GuarantorTypeCode | Ref_26 (TC29)| R161   | R161       |
      properties:
        GuarantorTypeCode:
          $ref: '../ie/tcl.yaml#/components/schemas/GuarantorTypeCode'
        GuarantorTrader:
          type: array
          maxItems: 2
          items:
            $ref: '#/components/schemas/GuarantorTraderType1004'
      required:
        - GuarantorTypeCode

    GuarantorTraderType1004:
      type: object
      description: |
        | **Nom de l'élément** | **Référentiels** | **Règles**               | **Conditions** |
        |----------------------|------------------|--------------------------|----------------|
        | TraderExciseNumber   |                  | IC_RG_R027<br>IC_RG_R271 |                |
        | TraderName           |                  |                          | IC_RG_C101     |
        | StreetName           |                  |                          | IC_RG_C101     |
        | StreetNumber         |                  |                          |                |
        | City                 |                  |                          | IC_RG_C101     |
        | PostCode             |                  |                          | IC_RG_C101     |
        | VatNumber            |                  |                          |                |
      properties:
        TraderExciseNumber:
          $ref: '../ie/types.yaml#/components/schemas/ExciseNumberType'
        TraderName:
          $ref: '../ie/types.yaml#/components/schemas/TraderNameType'
        StreetName:
          $ref: '../ie/types.yaml#/components/schemas/StreetNameType'
        StreetNumber:
          $ref: '../ie/types.yaml#/components/schemas/StreetNumberType'
        City:
          $ref: '../ie/types.yaml#/components/schemas/CityType'
        Postcode:
          $ref: '../ie/types.yaml#/components/schemas/PostcodeType'
        VatNumber:
          $ref: '../ie/types.yaml#/components/schemas/VatNumberType'

    BodyEadType1004:
      type: object
      description: |
        | Nom de l'élément                     | Référentiels  | Règles    | Conditions |
        |--------------------------------------|---------------|-----------|------------|
        | ExciseProductCode                    |               | R049      | NA         |
        | CnCode                               |               | R164/R232 | NA         |
        | CodeCompl                            |               | NA        | NA         |
        | PrixFact                             |               | NA        | NA         |
        | Quantity                             |               | R232      | NA         |
        | GrossMass                            |               | R232      | NA         |
        | NetMass                              |               | R232      | NA         |
        | MaturationPeriodOrAgeOfProducts      |               | M205      |            |
        | AlcoholicStrength                    |               | R232      | NA         |
        | DegreePlato                          |               | R232      | NA         |
        | FiscalMark                           |               | NA        | NA         |
        | DesignationOfOrigin                  |               | NA        | NA         |
        | IndependentSmallProducersDeclaration |               | NA        | NA         |
        | SizeOfProducer                       |               | R232      | NA         |
        | Density                              |               | R232      | NA         |
        | CommercialDescription                |               | NA        | NA         |
        | BrandNameOfProducts                  |               | NA        | NA         |
      properties:
        ExciseProductCode:
          $ref: '../ie/types.yaml#/components/schemas/ExciseProductCodeType'
        CnCode:
          $ref: '../ie/types.yaml#/components/schemas/CnCodeType'
        CodeCompl:
          $ref: '../fr/fr-v3.yaml#/components/schemas/CodeCompl'
        PrixFact:
          $ref: '../fr/fr-v3.yaml#/components/schemas/Prix'
        Quantity:
          $ref: '../ie/types.yaml#/components/schemas/QuantityType'
        GrossMass:
          $ref: '../ie/types.yaml#/components/schemas/GrossMassType'
        NetMass:
          $ref: '../ie/types.yaml#/components/schemas/NetMassType'
        AlcoholicStrengthByVolumeInPercentage:
          $ref: '../ie/types.yaml#/components/schemas/AlcoholicStrengthType'
        DegreePlato:
          $ref: '../ie/types.yaml#/components/schemas/DegreePlatoType'
        FiscalMark:
          $ref: '#/components/schemas/LSDFiscalMarkType1004'
        DesignationOfOrigin:
          $ref: '#/components/schemas/LSDDesignationOfOriginType1004'
        IndependentSmallProducersDeclaration:
          $ref: '#/components/schemas/LSDIndependentSmallProducersDeclarationType1004'
        SizeOfProducer:
          $ref: '../ie/types.yaml#/components/schemas/SizeOfProducerType'
        Density:
          $ref: '../ie/types.yaml#/components/schemas/DensityType'
        CommercialDescription:
          $ref: '#/components/schemas/LSDCommercialDescriptionType1004'
        BrandNameOfProducts:
          $ref: '#/components/schemas/LSDBrandNameOfProductsType1004'
        MaturationPeriodOrAgeOfProducts:
          $ref: '#/components/schemas/LSDMaturationPeriodOrAgeOfProductsType1004'
        Package:
          type: array
          maxItems: 999
          items:
            $ref: '#/components/schemas/PackageType1004'
        WineProduct:
          $ref: '#/components/schemas/WineProductType1004'
      required:
        - ExciseProductCode

    PackageType1004:
      type: object
      description: |
        | Nom de l'élément             | Référentiels  | Règles | Conditions |
        |------------------------------|---------------|--------|------------|
        | KindOfPackages               | Ref_38 (BC17) | NA     | NA         |
        | NumberOfPackages             |               | R251   | C073       |
        | ShippingMarks                |               | NA     | C203       |
        | CommercialSealIdentification |               | NA     | NA         |
        | SealInformation              |               | NA     | NA         |
      properties:
        KindOfPackages:
          $ref: '../ie/types.yaml#/components/schemas/KindOfPackagesType'
        NumberOfPackages:
          $ref: '../ie/types.yaml#/components/schemas/NumberOfPackagesType'
        ShippingMarks:
          $ref: '../ie/types.yaml#/components/schemas/ShippingMarksType'
        CommercialSealIdentification:
          $ref: '../ie/types.yaml#/components/schemas/CommercialSealIdentificationType'
        SealInformation:
          $ref: '#/components/schemas/LSDSealInformationType1004'

    WineProductType1004:
      type: object
      description: |
        | Nom de l'élément          | Référentiels  | Règles | Conditions |
        |---------------------------|---------------|--------|------------|
        | WineProductCategory       | Ref_05 (TC38) | R043   | NA         |
        | WineGrowingZoneCode       | Ref_57 (BC40) |   NA   | NA         |
        | ThirdCountryOfOrigin      |               | R051   | C045       |
        | ThirdCountryOfDestination |               | NA     | NA         |
        | OtherInformation          |               | NA     | NA         |
        | language                  | Ref_28 (BC12) |        | IC_RG_C002 |
      properties:
        WineProductCategory:
          $ref: '../ie/tcl.yaml#/components/schemas/CategoryOfWineProduct'
        WineGrowingZoneCode:
          $ref: '../ie/types.yaml#/components/schemas/WineGrowingZoneCodeType'
        ThirdCountryOfOrigin:
          $ref: '../ie/types.yaml#/components/schemas/ThirdCountryOfOriginType'
        ThirdCountryOfDestination:
          $ref: '../ie/types.yaml#/components/schemas/ThirdCountryOfOriginType'
        OtherInformation:
          $ref: '#/components/schemas/LSDOtherInformationType1004'
        WineOperationCode:
          type: array
          maxItems: 999
          items:
            $ref: '#/components/schemas/WineOperationType1004'
      required:
        - WineProductCategory

    WineOperationType1004:
      type: object
      description: |
        | Nom de l'élément  | Référentiels | Règles | Conditions |
        |-------------------|--------------|--------|------------|
        | WineOperationCode |              | R065   | NA         |
      properties:
        WineOperationCode:
          $ref: '../ie/types.yaml#/components/schemas/WineOperationCodeType'
      required:
        - WineOperationCode

    ImportSadTypeType1004:
      type: object
      description: |
        | Nom de l'élément | Référentiels | Règles | Conditions |
        |------------------|--------------|--------|------------|
        | ImportSadNumber  |              | NA     | NA         |
      properties:
        ImportSadNumber:
          $ref: '../ie/types.yaml#/components/schemas/ImportSadNumberType'
      required:
        - ImportSadNumber

    LSDComplementaryInformationType1004:
      type: object
      properties:
        _content_:
          $ref: '../ie/types.yaml#/components/schemas/ComplementaryInformationType'
        __language:
          $ref: '../ie/types.yaml#/components/schemas/LanguageCodeType'
      required:
        - _content_
        - __language

    LSDFiscalMarkType1004:
      type: object
      properties:
        _content_:
          $ref: '../ie/types.yaml#/components/schemas/FiscalMarkType'
        __language:
          $ref: '../ie/types.yaml#/components/schemas/LanguageCodeType'
      required:
        - __language
        - _content_

    LSDDesignationOfOriginType1004:
      type: object
      properties:
        _content_:
          $ref: '../ie/types.yaml#/components/schemas/DesignationOfOriginType'
        __language:
          $ref: '../ie/types.yaml#/components/schemas/LanguageCodeType'
      required:
        - __language
        - _content_

    LSDCommercialDescriptionType1004:
      type: object
      properties:
        _content_:
          $ref: '../ie/types.yaml#/components/schemas/CommercialDescriptionType'
        __language:
          $ref: '../ie/types.yaml#/components/schemas/LanguageCodeType'
      required:
        - __language
        - _content_

    LSDBrandNameOfProductsType1004:
      type: object
      properties:
        _content_:
          $ref: '../ie/types.yaml#/components/schemas/BrandNameOfProductsType'
        __language:
          $ref: '../ie/types.yaml#/components/schemas/LanguageCodeType'
      required:
        - __language
        - _content_

    LSDMaturationPeriodOrAgeOfProductsType1004:
      type: object
      properties:
        _content_:
          $ref: '../ie/types.yaml#/components/schemas/MaturationPeriodOrAgeOfProductsType'
        __language:
          $ref: '../ie/types.yaml#/components/schemas/LanguageCodeType'
      required:
        - __language
        - _content_

    LSDSealInformationType1004:
      type: object
      properties:
        _content_:
          $ref: '../ie/types.yaml#/components/schemas/SealInformationType'
        __language:
          $ref: '../ie/types.yaml#/components/schemas/LanguageCodeType'
      required:
        - __language
        - _content_

    LSDOtherInformationType1004:
      type: object
      properties:
        _content_:
          $ref: '../ie/types.yaml#/components/schemas/OtherInformationType'
        __language:
          $ref: '../ie/types.yaml#/components/schemas/LanguageCodeType'
      required:
        - __language
        - _content_

    LSDDocumentDescriptionType1004:
      type: object
      properties:
        _content_:
          $ref: '../ie/types.yaml#/components/schemas/DocumentDescriptionType'
        __language:
          $ref: '../ie/types.yaml#/components/schemas/LanguageCodeType'
      required:
        - __language
        - _content_

    LSDReferenceOfDocumentType1004:
      type: object
      properties:
        _content_:
          $ref: '../ie/types.yaml#/components/schemas/ReferenceOfDocumentType'
        __language:
          $ref: '../ie/types.yaml#/components/schemas/LanguageCodeType'
      required:
        - __language
        - _content_

    ReferenceOfTaxWarehouseType1004:
      type: string
      minLength: 10
      maxLength: 13
      pattern : ^([a-zA-Z]{2}[a-zA-Z0-9]{11})|([0-9]{9}[a-zA-Z0-9]{1})$
      description: Reference Of Tax Warehouse

    LSDIndependentSmallProducersDeclarationType1004:
      type: object
      properties:
        _content_:
          $ref: '../ie/types.yaml#/components/schemas/IndependentSmallProducersDeclarationType'
        __language:
          $ref: '../ie/types.yaml#/components/schemas/LanguageCodeType'
      required:
        - __language
        - _content_