openapi: 3.0.1
info:
  title: Specification API
  description: ''
  version: '2.0'
paths:
  /v2/food/additives/{materialId}:
    get:
      tags:
        - Additive
      operationId: Additives_GetById
      parameters:
        - name: materialId
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Returns the material
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/TraceOne.Api.Specification.Application.Library.Materials.Additives.ViewModels.Additive
        '400':
          description: Parameter languageCode is invalid
        '401':
          description: The  authentication credentials are invalid
        '403':
          description: The caller does not have permissions
        '404':
          description: The material was not found
  /v2/food/bought-composites/{compositeId}:
    get:
      tags:
        - Bought Composite
      operationId: BoughtComposites_GetById
      parameters:
        - name: compositeId
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Returns the composite
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/TraceOne.Api.Specification.Application.Library.Materials.Composites.BoughtToThirdParty.ViewModels.BoughtComposite
        '400':
          description: Parameter languageCode is invalid
        '401':
          description: The authentication credentials are invalid
        '403':
          description: The caller does not have permissions
        '404':
          description: The composite was not found
  /v2/food/finished-product-chapters/{chapterId}/smart-document:
    get:
      tags:
        - Finished Product Chapter
      operationId: FinishedProductChapters_SmartDocument
      parameters:
        - name: chapterId
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Returns the chapter smart document
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/TraceOne.Api.Specification.Application.Library.Chapters.ViewModels.ChapterSmartDocument
        '400':
          description: Parameter type is not valid or parameter languageCode is invalid
        '401':
          description: The  authentication credentials are invalid
        '403':
          description: The caller does not have permissions
        '404':
          description: The chapter was not found
  /v2/food/finished-product-chapters/{chapterId}/smart-document-structure:
    get:
      tags:
        - Finished Product Chapter
      operationId: FinishedProductChapters_SmartDocumentStructure
      parameters:
        - name: chapterId
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: languageCode
          in: query
          schema:
            type: string
      responses:
        '200':
          description: Returns the chapter template
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/TraceOne.Api.Specification.Application.Messages.Common.ViewModels.TemplateVersion
        '400':
          description: Parameter type is not valid or parameter languageCode is invalid
        '401':
          description: The  authentication credentials are invalid
        '403':
          description: The caller does not have permissions
        '404':
          description: The chapter was not found
  /v2/food/health-claims/{claimId}:
    get:
      tags:
        - Health Claim
      operationId: HealthClaims_Get
      parameters:
        - name: claimId
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Returns the health claim
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/TraceOne.Api.Specification.Application.Messages.Library.Claims.Health.ViewModels.HealthClaim
        '401':
          description: The authentication credentials are invalid
        '403':
          description: The caller does not have permissions
        '404':
          description: The health claim was not found
  /v2/food/health-claims/regulation/{claimId}:
    get:
      tags:
        - Health Claim
      operationId: HealthClaims_GetRegulatoryClaim
      parameters:
        - name: claimId
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Returns the regulatory health claim
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/TraceOne.Api.Specification.Application.Messages.Library.Claims.Regulation.Health.ViewModels.RegulatoryHealthClaim
        '401':
          description: The authentication credentials are invalid
        '403':
          description: The caller does not have permissions
        '404':
          description: The regulatory health claim was not found
  /v2/food/made-composites/{compositeId}:
    get:
      tags:
        - Made in House Composite
      operationId: MadeComposites_GetById
      parameters:
        - name: compositeId
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Returns the composite
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/TraceOne.Api.Specification.Application.Library.Materials.Composites.MadeInHouse.ViewModels.MadeComposite
        '400':
          description: Parameter languageCode is invalid
        '401':
          description: The  authentication credentials are invalid
        '403':
          description: The caller does not have permissions
        '404':
          description: The composite was not found
  /v2/food/marketing-claims/{claimId}:
    get:
      tags:
        - Marketing Claim
      operationId: MarketingClaims_Get
      parameters:
        - name: claimId
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Returns the marketing claim
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/TraceOne.Api.Specification.Application.Messages.Library.Claims.Marketing.ViewModels.MarketingClaim
        '401':
          description: The authentication credentials are invalid
        '403':
          description: The caller does not have permissions
        '404':
          description: The marketing claim was not found
  /v2/food/nutritional-claims/{nutritionalClaimId}:
    get:
      tags:
        - Nutritional Claim
      operationId: NutritionalClaims_Get
      parameters:
        - name: nutritionalClaimId
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Returns the nutritional claim
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/TraceOne.Api.Specification.Application.Messages.Library.Claims.Regulation.Nutrition.ViewModels.NutritionalClaim
        '401':
          description: The authentication credentials are invalid
        '403':
          description: The caller does not have permissions
        '404':
          description: The nutritional claim was not found
  /v2/food/processing-aids/{materialId}:
    get:
      tags:
        - Processing Aid
      operationId: ProcessingAids_GetById
      parameters:
        - name: materialId
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Returns the  material
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/TraceOne.Api.Specification.Application.Library.Materials.ProcessingAids.ViewModels.ProcessingAid
        '400':
          description: Parameter languageCode is invalid
        '401':
          description: The  authentication credentials are invalid
        '403':
          description: The caller does not have permissions
        '404':
          description: The material was not found
  /v2/food/production-chapters/{chapterId}/smart-document:
    get:
      tags:
        - Production Chapter
      operationId: ProductionChapters_SmartDocument
      parameters:
        - name: chapterId
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Returns the chapter smart document
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/TraceOne.Api.Specification.Application.Library.Chapters.ViewModels.ChapterSmartDocument
        '400':
          description: Parameter type is not valid or parameter languageCode is invalid
        '401':
          description: The  authentication credentials are invalid
        '403':
          description: The caller does not have permissions
        '404':
          description: The chapter was not found
  /v2/food/production-chapters/{chapterId}/smart-document-structure:
    get:
      tags:
        - Production Chapter
      operationId: ProductionChapters_SmartDocumentStructure
      parameters:
        - name: chapterId
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: languageCode
          in: query
          schema:
            type: string
      responses:
        '200':
          description: Returns the chapter template
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/TraceOne.Api.Specification.Application.Messages.Common.ViewModels.TemplateVersion
        '400':
          description: Parameter type is not valid or parameter languageCode is invalid
        '401':
          description: The  authentication credentials are invalid
        '403':
          description: The caller does not have permissions
        '404':
          description: The chapter was not found
  /v2/food/raw-materials/{materialId}:
    get:
      tags:
        - Raw Material
      operationId: RawMaterials_GetById
      parameters:
        - name: materialId
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Returns the raw material
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/TraceOne.Api.Specification.Application.Library.Materials.RawMaterials.ViewModels.RawMaterial
        '400':
          description: Parameter languageCode is invalid
        '401':
          description: The  authentication credentials are invalid
        '403':
          description: The caller does not have permissions
        '404':
          description: The material was not found
  /v2/food/specifications/{specificationId}/documents:
    get:
      tags:
        - Specifications
      operationId: Specifications_Documents
      parameters:
        - name: specificationId
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Fetch the documents associated to the given food specification id
          content:
            application/json:
              schema:
                title: List`1
                type: array
                items:
                  $ref: >-
                    #/components/schemas/TraceOne.Api.Specification.Application.Specifications.Common.ViewModels.SpecificationDocument
        '401':
          description: The authentication credentials are invalid
        '403':
          description: The caller does not have permissions
        '404':
          description: Specification not found
  /v2/food/specifications/{specificationId}/finished-product-chapter:
    get:
      tags:
        - Specifications
      operationId: Specifications_FinishedProductChapter
      parameters:
        - name: specificationId
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Fetch the finished product chapter of the given specification id
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/TraceOne.Api.Specification.Application.Specifications.Common.ViewModels.SpecificationLibraryChapter
        '401':
          description: The authentication credentials are invalid
        '403':
          description: The caller does not have permissions
        '404':
          description: Specification not found
  /v2/food/specifications/{specificationId}/general-chapter/smart-document:
    get:
      tags:
        - Specifications
      operationId: Specifications_GetGeneralSmartDocument
      parameters:
        - name: specificationId
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: >-
            Fetch the general chapter smart document of the given food
            specification
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/TraceOne.Api.Specification.Application.Specifications.Common.ViewModels.SpecificationChapterSmartDocument
        '401':
          description: The  authentication credentials are invalid
        '403':
          description: The caller does not have permissions
        '404':
          description: Specification not found
  /v2/food/specifications/{specificationId}/general-chapter/smart-document-structure:
    get:
      tags:
        - Specifications
      operationId: Specifications_GetGeneralSmartDocumentStructure
      parameters:
        - name: specificationId
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: languageCode
          in: query
          schema:
            type: string
      responses:
        '200':
          description: >-
            Fetch the general chapter smart document structure of the given food
            specification
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/TraceOne.Api.Specification.Application.Messages.Common.ViewModels.TemplateVersion
        '401':
          description: The  authentication credentials are invalid
        '403':
          description: The caller does not have permissions
        '404':
          description: Specification not found
  /v2/food/specifications/{specificationId}/labeling-chapter:
    get:
      tags:
        - Specifications
      operationId: Specifications_GetLabelingChapterBySpecificationId
      parameters:
        - name: specificationId
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Fetch the labeling chapter of the given food specification
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/TraceOne.Api.Specification.Application.Specifications.Food.ViewModels.SpecificationLabelingChapter
        '401':
          description: The  authentication credentials are invalid
        '403':
          description: The caller does not have permissions
        '404':
          description: Specification not found
  /v2/food/specifications/{specificationId}/labeling-chapter/smart-document:
    get:
      tags:
        - Specifications
      operationId: Specifications_GetLabelingSmartDocument
      parameters:
        - name: specificationId
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: >-
            Fetch the labeling chapter smart document of the given food
            specification
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/TraceOne.Api.Specification.Application.Specifications.Common.ViewModels.SpecificationChapterSmartDocument
        '401':
          description: The  authentication credentials are invalid
        '403':
          description: The caller does not have permissions
        '404':
          description: Specification not found
  /v2/food/specifications/{specificationId}/labeling-chapter/smart-document-structure:
    get:
      tags:
        - Specifications
      operationId: Specifications_GetLabelingSmartDocumentStructure
      parameters:
        - name: specificationId
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: languageCode
          in: query
          schema:
            type: string
      responses:
        '200':
          description: >-
            Fetch the labeling chapter smart document structure of the given
            food specification
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/TraceOne.Api.Specification.Application.Messages.Common.ViewModels.TemplateVersion
        '401':
          description: The  authentication credentials are invalid
        '403':
          description: The caller does not have permissions
        '404':
          description: Specification not found
  /v2/food/specifications/{specificationId}/production-chapter:
    get:
      tags:
        - Specifications
      operationId: Specifications_ProductionChapter
      parameters:
        - name: specificationId
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Fetch the production chapters of the given specification id
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/TraceOne.Api.Specification.Application.Specifications.Food.ViewModels.SpecificationProductionChapter
        '401':
          description: The authentication credentials are invalid
        '403':
          description: The caller does not have permissions
        '404':
          description: Specification not found
  /v2/food/specifications/{specificationId}/testing-chapter:
    get:
      tags:
        - Specifications
      operationId: Specifications_TestingChapter
      parameters:
        - name: specificationId
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Fetch the testing chapter of the given specification id
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/TraceOne.Api.Specification.Application.Specifications.Common.ViewModels.SpecificationLibraryChapter
        '401':
          description: The authentication credentials are invalid
        '403':
          description: The caller does not have permissions
        '404':
          description: Specification not found
  /v2/food/specifications/{specificationId}:
    get:
      tags:
        - Specifications
      operationId: Specifications_GetById
      parameters:
        - name: specificationId
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Fetch the specification by id
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/TraceOne.Api.Specification.Application.Specifications.Common.ViewModels.Specification
        '401':
          description: The  authentication credentials are invalid
        '403':
          description: The caller does not have permissions
        '404':
          description: Specification not found
  /v2/food/testing-chapters/{chapterId}/smart-document:
    get:
      tags:
        - Testing Chapter
      operationId: TestingChapters_SmartDocument
      parameters:
        - name: chapterId
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Returns the chapter smart document
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/TraceOne.Api.Specification.Application.Library.Chapters.ViewModels.ChapterSmartDocument
        '400':
          description: Parameter type is not valid or parameter languageCode is invalid
        '401':
          description: The  authentication credentials are invalid
        '403':
          description: The caller does not have permissions
        '404':
          description: The chapter was not found
  /v2/food/testing-chapters/{chapterId}/smart-document-structure:
    get:
      tags:
        - Testing Chapter
      operationId: TestingChapters_SmartDocumentStructure
      parameters:
        - name: chapterId
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: languageCode
          in: query
          schema:
            type: string
      responses:
        '200':
          description: Returns the chapter template
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/TraceOne.Api.Specification.Application.Messages.Common.ViewModels.TemplateVersion
        '400':
          description: Parameter type is not valid or parameter languageCode is invalid
        '401':
          description: The  authentication credentials are invalid
        '403':
          description: The caller does not have permissions
        '404':
          description: The chapter was not found
components:
  schemas:
    TraceOne.Api.Specification.Application.Abstractions.Versioning.ViewModels.ObjectVersion:
      title: ObjectVersion
      type: object
      properties:
        number:
          type: integer
          format: int32
        historyId:
          type: string
          format: uuid
        activeVersion:
          type: boolean
        lastVersion:
          type: boolean
      additionalProperties: false
    TraceOne.Api.Specification.Application.Abstractions.ViewModels.ReferenceListItem:
      title: ReferenceListItem
      type: object
      properties:
        referenceListItemId:
          type: string
          format: uuid
          nullable: true
        referenceListItemCode:
          type: string
          nullable: true
      additionalProperties: false
    TraceOne.Api.Specification.Application.Library.Chapters.ViewModels.ChapterSectionSmartDocument:
      title: ChapterSectionSmartDocument
      type: object
      properties:
        sectionId:
          type: string
          format: uuid
        sectionStatus:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Core.Enums.SpecificationSectionStates
        blocks:
          title: List`1
          type: array
          items:
            $ref: >-
              #/components/schemas/TraceOne.Api.Specification.Application.Library.Chapters.ViewModels.ChapterSectionSmartDocumentViewModel_ChapterBlockSmartDocument
          nullable: true
        validatedByCompanyIds:
          title: List`1
          type: array
          items:
            type: string
            format: uuid
          nullable: true
      additionalProperties: false
    TraceOne.Api.Specification.Application.Library.Chapters.ViewModels.ChapterSectionSmartDocumentViewModel_ChapterBlockSmartDocument:
      title: ChapterBlockSmartDocument
      type: object
      properties:
        blockId:
          type: string
          format: uuid
        json:
          type: string
          nullable: true
        readOnlyFieldIds:
          title: List`1
          type: array
          items:
            type: string
            format: uuid
          nullable: true
      additionalProperties: false
    TraceOne.Api.Specification.Application.Library.Chapters.ViewModels.ChapterSmartDocument:
      title: ChapterSmartDocument
      type: object
      properties:
        chapterId:
          type: string
          format: uuid
        productTypeId:
          type: string
          format: uuid
        chapterType:
          type: string
          nullable: true
        chapterName:
          type: string
          nullable: true
        ownerCompanyId:
          type: string
          format: uuid
        creationDateUtc:
          type: string
          format: date-time
        lastUpdateDateUtc:
          type: string
          format: date-time
        tagIds:
          title: List`1
          type: array
          items:
            type: string
            format: uuid
          nullable: true
        version:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Application.Abstractions.Versioning.ViewModels.ObjectVersion
        chapterStatus:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Core.Enums.LibraryItemStatus
        chapterProgress:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Core.Enums.SpecificationSectionStates
        sections:
          title: List`1
          type: array
          items:
            $ref: >-
              #/components/schemas/TraceOne.Api.Specification.Application.Library.Chapters.ViewModels.ChapterSectionSmartDocument
          nullable: true
        validatedByCompanyIds:
          title: List`1
          type: array
          items:
            type: string
            format: uuid
          nullable: true
      additionalProperties: false
    TraceOne.Api.Specification.Application.Library.Materials.Additives.ViewModels.Additive:
      title: Additive
      type: object
      properties:
        materialId:
          type: string
          format: uuid
        ownerCompanyId:
          type: string
          format: uuid
        materialType:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Core.Enums.MaterialTypes
        version:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Application.Abstractions.Versioning.ViewModels.ObjectVersion
        lastUpdateDateUtc:
          type: string
          format: date-time
        status:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Core.Enums.LibraryItemStatus
        tagIds:
          title: List`1
          type: array
          items:
            type: string
            format: uuid
          nullable: true
        materialName:
          type: string
          nullable: true
        internalCode:
          type: string
          nullable: true
        active:
          type: boolean
        substanceId:
          type: string
          format: uuid
          nullable: true
        suppliers:
          title: List`1
          type: array
          items:
            $ref: >-
              #/components/schemas/TraceOne.Api.Specification.Application.Messages.Library.Materials.ViewModels.Supplier
          nullable: true
        allergenDeclarations:
          title: List`1
          type: array
          items:
            $ref: >-
              #/components/schemas/TraceOne.Api.Specification.Application.Messages.Library.Materials.ViewModels.AllergenDeclaration
          nullable: true
        attachments:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Application.Library.Materials.Common.ViewModels.MaterialAttachments
        characteristics:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Templates.Testing.ViewModels.CharacteristicsSection
        controlPlans:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Templates.Testing.ViewModels.ControlPlansSection
      additionalProperties: false
    TraceOne.Api.Specification.Application.Library.Materials.Common.ViewModels.MaterialAttachments:
      title: MaterialAttachments
      type: object
      properties:
        fileIds:
          title: List`1
          type: array
          items:
            type: string
            format: uuid
          nullable: true
      additionalProperties: false
    TraceOne.Api.Specification.Application.Library.Materials.Common.ViewModels.MaterialCertificates:
      title: MaterialCertificates
      type: object
      properties:
        certificateIds:
          title: List`1
          type: array
          items:
            type: string
            format: uuid
          nullable: true
      additionalProperties: false
    TraceOne.Api.Specification.Application.Library.Materials.Composites.BoughtToThirdParty.ViewModels.BoughtComposite:
      title: BoughtComposite
      type: object
      properties:
        materialId:
          type: string
          format: uuid
        materialName:
          type: string
          nullable: true
        commercialName:
          type: string
          nullable: true
        internalCode:
          type: string
          nullable: true
        ownerCompanyId:
          type: string
          format: uuid
        materialType:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Core.Enums.MaterialTypes
        version:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Application.Abstractions.Versioning.ViewModels.ObjectVersion
        lastUpdateDateUtc:
          type: string
          format: date-time
        status:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Core.Enums.LibraryItemStatus
        tagIds:
          title: List`1
          type: array
          items:
            type: string
            format: uuid
          nullable: true
        active:
          type: boolean
        etag:
          type: string
          nullable: true
        recipe:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Application.Library.Materials.Composites.ViewModels.Recipe
        suppliers:
          title: List`1
          type: array
          items:
            $ref: >-
              #/components/schemas/TraceOne.Api.Specification.Application.Messages.Library.Materials.Composites.ViewModels.CompositeSupplier
          nullable: true
        allergenDeclarations:
          title: List`1
          type: array
          items:
            $ref: >-
              #/components/schemas/TraceOne.Api.Specification.Application.Messages.Library.Materials.Composites.ViewModels.CompositeAllergenDeclaration
          nullable: true
        attachments:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Application.Library.Materials.Common.ViewModels.MaterialAttachments
        certificates:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Application.Library.Materials.Common.ViewModels.MaterialCertificates
        characteristics:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Templates.Testing.ViewModels.CharacteristicsSection
        controlPlans:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Templates.Testing.ViewModels.ControlPlansSection
      additionalProperties: false
    TraceOne.Api.Specification.Application.Library.Materials.Composites.MadeInHouse.ViewModels.MadeComposite:
      title: MadeComposite
      type: object
      properties:
        materialId:
          type: string
          format: uuid
        materialName:
          type: string
          nullable: true
        commercialName:
          type: string
          nullable: true
        internalCode:
          type: string
          nullable: true
        ownerCompanyId:
          type: string
          format: uuid
        materialType:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Core.Enums.MaterialTypes
        version:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Application.Abstractions.Versioning.ViewModels.ObjectVersion
        lastUpdateDateUtc:
          type: string
          format: date-time
        status:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Core.Enums.LibraryItemStatus
        tagIds:
          title: List`1
          type: array
          items:
            type: string
            format: uuid
          nullable: true
        active:
          type: boolean
        etag:
          type: string
          nullable: true
        recipe:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Application.Library.Materials.Composites.ViewModels.Recipe
        suppliers:
          title: List`1
          type: array
          items:
            $ref: >-
              #/components/schemas/TraceOne.Api.Specification.Application.Messages.Library.Materials.Composites.ViewModels.CompositeSupplier
          nullable: true
        allergenDeclarations:
          title: List`1
          type: array
          items:
            $ref: >-
              #/components/schemas/TraceOne.Api.Specification.Application.Messages.Library.Materials.Composites.ViewModels.CompositeAllergenDeclaration
          nullable: true
        attachments:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Application.Library.Materials.Common.ViewModels.MaterialAttachments
        certificates:
          title: List`1
          type: array
          items:
            $ref: >-
              #/components/schemas/TraceOne.Api.Specification.Application.Library.Materials.Composites.ViewModels.CompositeCertificate
          nullable: true
        characteristics:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Templates.Testing.ViewModels.CharacteristicsSection
        controlPlans:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Templates.Testing.ViewModels.ControlPlansSection
      additionalProperties: false
    TraceOne.Api.Specification.Application.Library.Materials.Composites.ViewModels.CompositeCertificate:
      title: CompositeCertificate
      type: object
      properties:
        certificateId:
          type: string
          format: uuid
        ingredientIds:
          title: List`1
          type: array
          items:
            type: string
            format: uuid
          nullable: true
      additionalProperties: false
    TraceOne.Api.Specification.Application.Library.Materials.Composites.ViewModels.Recipe:
      title: Recipe
      type: object
      properties:
        recipeType:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Core.Enums.RecipeTypes
        derivedFromGmo:
          type: boolean
        totalPercentage:
          type: number
          format: double
        ingredients:
          title: List`1
          type: array
          items:
            $ref: >-
              #/components/schemas/TraceOne.Api.Specification.Application.Library.Materials.Composites.ViewModels.RecipeIngredient
          nullable: true
        sortingFilter:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Application.Library.Materials.Composites.ViewModels.RecipeSortingFilter
      additionalProperties: false
    TraceOne.Api.Specification.Application.Library.Materials.Composites.ViewModels.RecipeIngredient:
      title: RecipeIngredient
      type: object
      properties:
        materialId:
          type: string
          format: uuid
          nullable: true
        ingredientId:
          type: string
          format: uuid
        ingredientName:
          type: string
          nullable: true
        functionId:
          type: string
          format: uuid
          nullable: true
        classification:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Application.Abstractions.ViewModels.ReferenceListItem
        percentage:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Application.Messages.Library.Materials.Composites.ViewModels.RecipeIngredientPercentage
        ingredientType:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Application.Messages.Library.Materials.Composites.ViewModels.RecipeIngredientType
        ingredients:
          title: List`1
          type: array
          items:
            $ref: >-
              #/components/schemas/TraceOne.Api.Specification.Application.Library.Materials.Composites.ViewModels.RecipeIngredient
          nullable: true
      additionalProperties: false
    TraceOne.Api.Specification.Application.Library.Materials.Composites.ViewModels.RecipeSortingFilter:
      title: RecipeSortingFilter
      type: object
      properties:
        orderBy:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Core.Enums.RecipeOrderBy
        orderByDescending:
          type: boolean
      additionalProperties: false
    TraceOne.Api.Specification.Application.Library.Materials.ProcessingAids.ViewModels.ProcessingAid:
      title: ProcessingAid
      type: object
      properties:
        materialId:
          type: string
          format: uuid
        ownerCompanyId:
          type: string
          format: uuid
        materialType:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Core.Enums.MaterialTypes
        version:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Application.Abstractions.Versioning.ViewModels.ObjectVersion
        lastUpdateDateUtc:
          type: string
          format: date-time
        status:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Core.Enums.LibraryItemStatus
        tagIds:
          title: List`1
          type: array
          items:
            type: string
            format: uuid
          nullable: true
        materialName:
          type: string
          nullable: true
        internalCode:
          type: string
          nullable: true
        active:
          type: boolean
        substanceId:
          type: string
          format: uuid
          nullable: true
        suppliers:
          title: List`1
          type: array
          items:
            $ref: >-
              #/components/schemas/TraceOne.Api.Specification.Application.Messages.Library.Materials.ViewModels.Supplier
          nullable: true
        allergenDeclarations:
          title: List`1
          type: array
          items:
            $ref: >-
              #/components/schemas/TraceOne.Api.Specification.Application.Messages.Library.Materials.ViewModels.AllergenDeclaration
          nullable: true
        attachments:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Application.Library.Materials.Common.ViewModels.MaterialAttachments
        characteristics:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Templates.Testing.ViewModels.CharacteristicsSection
        controlPlans:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Templates.Testing.ViewModels.ControlPlansSection
      additionalProperties: false
    TraceOne.Api.Specification.Application.Library.Materials.RawMaterials.ViewModels.RawMaterial:
      title: RawMaterial
      type: object
      properties:
        materialId:
          type: string
          format: uuid
        materialName:
          type: string
          nullable: true
        commercialName:
          type: string
          nullable: true
        internalCode:
          type: string
          nullable: true
        tagIds:
          title: List`1
          type: array
          items:
            type: string
            format: uuid
          nullable: true
        active:
          type: boolean
        materialType:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Core.Enums.MaterialTypes
        ownerCompanyId:
          type: string
          format: uuid
        version:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Application.Abstractions.Versioning.ViewModels.ObjectVersion
        lastUpdateDateUtc:
          type: string
          format: date-time
        status:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Core.Enums.LibraryItemStatus
        classification:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Application.Abstractions.ViewModels.ReferenceListItem
        rawMaterialPart:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Application.Abstractions.ViewModels.ReferenceListItem
        ionized:
          type: boolean
        state:
          type: string
          nullable: true
        gmo:
          type: boolean
        suppliers:
          title: List`1
          type: array
          items:
            $ref: >-
              #/components/schemas/TraceOne.Api.Specification.Application.Messages.Library.Materials.ViewModels.Supplier
          nullable: true
        allergenDeclarations:
          title: List`1
          type: array
          items:
            $ref: >-
              #/components/schemas/TraceOne.Api.Specification.Application.Messages.Library.Materials.ViewModels.AllergenDeclaration
          nullable: true
        attachments:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Application.Library.Materials.Common.ViewModels.MaterialAttachments
        certificates:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Application.Library.Materials.Common.ViewModels.MaterialCertificates
        characteristics:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Templates.Testing.ViewModels.CharacteristicsSection
        controlPlans:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Templates.Testing.ViewModels.ControlPlansSection
        acceptSampleStorage:
          type: boolean
        sampleStorage:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Application.Library.Materials.RawMaterials.ViewModels.SampleStorage
      additionalProperties: false
    TraceOne.Api.Specification.Application.Library.Materials.RawMaterials.ViewModels.SampleStorage:
      title: SampleStorage
      type: object
      properties:
        storageId:
          type: string
          format: uuid
          nullable: true
        storageTemperature:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Application.Messages.Common.ViewModels.RangeWithUnit
        humidity:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Application.Messages.Common.ViewModels.Range
        keepAwayFromLight:
          type: boolean
      additionalProperties: false
    TraceOne.Api.Specification.Application.Messages.Common.ViewModels.LocalizedText:
      title: LocalizedText
      required:
        - languageCode
        - text
      type: object
      properties:
        languageCode:
          minLength: 1
          type: string
        text:
          minLength: 1
          type: string
        isDefault:
          type: boolean
      additionalProperties: false
    TraceOne.Api.Specification.Application.Messages.Common.ViewModels.Range:
      title: Range
      type: object
      properties:
        minimumValue:
          type: number
          format: double
          nullable: true
        maximumValue:
          type: number
          format: double
          nullable: true
      additionalProperties: false
    TraceOne.Api.Specification.Application.Messages.Common.ViewModels.RangeWithUnit:
      title: RangeWithUnit
      type: object
      properties:
        unit:
          type: string
          format: uuid
          nullable: true
        minimumValue:
          type: number
          format: double
          nullable: true
        maximumValue:
          type: number
          format: double
          nullable: true
      additionalProperties: false
    TraceOne.Api.Specification.Application.Messages.Common.ViewModels.TemplateVersion:
      title: TemplateVersion
      type: object
      properties:
        sectionId:
          type: string
          format: uuid
          deprecated: true
        chapterName:
          type: string
          nullable: true
        chapterType:
          type: string
          nullable: true
        sections:
          title: List`1
          type: array
          items:
            $ref: >-
              #/components/schemas/TraceOne.Api.Specification.Application.Messages.Common.ViewModels.TemplateVersionViewModel_Section
          nullable: true
      additionalProperties: false
    TraceOne.Api.Specification.Application.Messages.Common.ViewModels.TemplateVersionViewModel_Block:
      title: Block
      type: object
      properties:
        blockId:
          type: string
          format: uuid
        blockCode:
          type: string
          nullable: true
        jsonSchema:
          type: string
          nullable: true
        uiSchema:
          type: string
          nullable: true
      additionalProperties: false
    TraceOne.Api.Specification.Application.Messages.Common.ViewModels.TemplateVersionViewModel_Section:
      title: Section
      type: object
      properties:
        sectionId:
          type: string
          format: uuid
        sectionCode:
          type: string
          nullable: true
        sectionName:
          type: string
          nullable: true
        userGuide:
          type: string
          nullable: true
        blocks:
          title: List`1
          type: array
          items:
            $ref: >-
              #/components/schemas/TraceOne.Api.Specification.Application.Messages.Common.ViewModels.TemplateVersionViewModel_Block
          nullable: true
      additionalProperties: false
    TraceOne.Api.Specification.Application.Messages.Library.Claims.Health.ViewModels.HealthClaim:
      title: HealthClaim
      type: object
      properties:
        claimId:
          type: string
          format: uuid
        ownerCompanyId:
          type: string
          format: uuid
        productTypeId:
          type: string
          format: uuid
        claimType:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Core.Enums.ClaimTypes
        regulatoryClaim:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Application.Messages.Library.Claims.Health.ViewModels.HealthClaimViewModel_RegulatoryClaim
        logo:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Application.Messages.Library.Claims.Marketing.ViewModels.ClaimLogo
        version:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Application.Abstractions.Versioning.ViewModels.ObjectVersion
        lastUpdateDateUtc:
          type: string
          format: date-time
        status:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Core.Enums.LibraryItemStatus
        tagIds:
          title: List`1
          type: array
          items:
            type: string
            format: uuid
          nullable: true
        claimName:
          type: string
          nullable: true
        additionalSentence:
          title: List`1
          type: array
          items:
            $ref: >-
              #/components/schemas/TraceOne.Api.Specification.Application.Messages.Common.ViewModels.LocalizedText
          nullable: true
      additionalProperties: false
    TraceOne.Api.Specification.Application.Messages.Library.Claims.Health.ViewModels.HealthClaimViewModel_RegulatoryClaim:
      title: RegulatoryClaim
      type: object
      properties:
        claimType:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Core.Enums.ClaimTypes
        claimId:
          type: string
          format: uuid
      additionalProperties: false
    TraceOne.Api.Specification.Application.Messages.Library.Claims.Marketing.ViewModels.ClaimLogo:
      title: ClaimLogo
      type: object
      properties:
        fileId:
          type: string
          format: uuid
      additionalProperties: false
    TraceOne.Api.Specification.Application.Messages.Library.Claims.Marketing.ViewModels.MarketingClaim:
      title: MarketingClaim
      type: object
      properties:
        claimId:
          type: string
          format: uuid
        ownerCompanyId:
          type: string
          format: uuid
        productTypeId:
          type: string
          format: uuid
        claimType:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Core.Enums.ClaimTypes
        logo:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Application.Messages.Library.Claims.Marketing.ViewModels.ClaimLogo
        version:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Application.Abstractions.Versioning.ViewModels.ObjectVersion
        lastUpdateDateUtc:
          type: string
          format: date-time
        status:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Core.Enums.LibraryItemStatus
        tagIds:
          title: List`1
          type: array
          items:
            type: string
            format: uuid
          nullable: true
        claimName:
          type: string
          nullable: true
        claimSentence:
          title: List`1
          type: array
          items:
            $ref: >-
              #/components/schemas/TraceOne.Api.Specification.Application.Messages.Common.ViewModels.LocalizedText
          nullable: true
        requiresSupportingDocuments:
          type: boolean
        certificationIds:
          title: List`1
          type: array
          items:
            type: string
            format: uuid
          nullable: true
      additionalProperties: false
    TraceOne.Api.Specification.Application.Messages.Library.Claims.Regulation.Health.ViewModels.RegulatoryHealthClaim:
      title: RegulatoryHealthClaim
      type: object
      properties:
        claimId:
          type: string
          format: uuid
        productTypeId:
          type: string
          format: uuid
        claimType:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Core.Enums.ClaimTypes
        nutrientIds:
          title: List`1
          type: array
          items:
            type: string
            format: uuid
          nullable: true
        substanceIds:
          title: List`1
          type: array
          items:
            type: string
            format: uuid
          nullable: true
        status:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Core.Enums.LibraryItemStatus
        version:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Application.Abstractions.Versioning.ViewModels.ObjectVersion
        lastUpdateDateUtc:
          type: string
          format: date-time
        regulationDomain:
          type: string
          nullable: true
        requiresSupportingDocuments:
          type: boolean
        sentence:
          title: List`1
          type: array
          items:
            $ref: >-
              #/components/schemas/TraceOne.Api.Specification.Application.Messages.Common.ViewModels.LocalizedText
          nullable: true
        conditionOfUse:
          title: List`1
          type: array
          items:
            $ref: >-
              #/components/schemas/TraceOne.Api.Specification.Application.Messages.Common.ViewModels.LocalizedText
          nullable: true
      additionalProperties: false
    TraceOne.Api.Specification.Application.Messages.Library.Claims.Regulation.Nutrition.ViewModels.NutritionalClaim:
      title: NutritionalClaim
      type: object
      properties:
        claimId:
          type: string
          format: uuid
        claimName:
          type: string
          nullable: true
        productTypeId:
          type: string
          format: uuid
        claimType:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Core.Enums.ClaimTypes
        substanceIds:
          title: List`1
          type: array
          items:
            type: string
            format: uuid
          nullable: true
        nutrientIds:
          title: List`1
          type: array
          items:
            type: string
            format: uuid
          nullable: true
        status:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Core.Enums.LibraryItemStatus
        version:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Application.Abstractions.Versioning.ViewModels.ObjectVersion
        lastUpdateDateUtc:
          type: string
          format: date-time
        sentence:
          title: List`1
          type: array
          items:
            $ref: >-
              #/components/schemas/TraceOne.Api.Specification.Application.Messages.Common.ViewModels.LocalizedText
          nullable: true
        requiresSupportingDocuments:
          type: boolean
        conditionOfUse:
          title: List`1
          type: array
          items:
            $ref: >-
              #/components/schemas/TraceOne.Api.Specification.Application.Messages.Common.ViewModels.LocalizedText
          nullable: true
      additionalProperties: false
    TraceOne.Api.Specification.Application.Messages.Library.Materials.Composites.ViewModels.CompositeAllergenDeclaration:
      title: CompositeAllergenDeclaration
      type: object
      properties:
        ingredientIds:
          title: List`1
          type: array
          items:
            type: string
            format: uuid
          nullable: true
        allergenId:
          type: string
          format: uuid
        allergenDeclaration:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Core.Enums.AllergenDeclarationTypes
      additionalProperties: false
    TraceOne.Api.Specification.Application.Messages.Library.Materials.Composites.ViewModels.CompositeSupplier:
      title: CompositeSupplier
      type: object
      properties:
        ingredientIds:
          title: List`1
          type: array
          items:
            type: string
            format: uuid
          nullable: true
        supplierId:
          type: string
          format: uuid
        supplierName:
          type: string
          nullable: true
        supplierCode:
          type: string
          nullable: true
        origins:
          title: List`1
          type: array
          items:
            $ref: >-
              #/components/schemas/TraceOne.Api.Specification.Application.Messages.Library.Materials.ViewModels.SupplierViewModel_Origin
          nullable: true
      additionalProperties: false
    TraceOne.Api.Specification.Application.Messages.Library.Materials.Composites.ViewModels.RecipeIngredientPercentage:
      title: RecipeIngredientPercentage
      type: object
      properties:
        value:
          type: number
          format: double
          nullable: true
        minimum:
          type: number
          format: double
          nullable: true
        maximum:
          type: number
          format: double
          nullable: true
        relativeValue:
          type: number
          format: double
          nullable: true
      additionalProperties: false
    TraceOne.Api.Specification.Application.Messages.Library.Materials.Composites.ViewModels.RecipeIngredientType:
      title: RecipeIngredientType
      type: object
      properties:
        materialType:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Core.Enums.MaterialTypes
        recipeType:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Core.Enums.RecipeTypes
      additionalProperties: false
    TraceOne.Api.Specification.Application.Messages.Library.Materials.ViewModels.AllergenDeclaration:
      title: AllergenDeclaration
      type: object
      properties:
        allergenId:
          type: string
          format: uuid
        allergenDeclaration:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Core.Enums.AllergenDeclarationTypes
      additionalProperties: false
    TraceOne.Api.Specification.Application.Messages.Library.Materials.ViewModels.Supplier:
      title: Supplier
      type: object
      properties:
        supplierId:
          type: string
          format: uuid
        supplierName:
          type: string
          nullable: true
        supplierCode:
          type: string
          nullable: true
        origins:
          title: List`1
          type: array
          items:
            $ref: >-
              #/components/schemas/TraceOne.Api.Specification.Application.Messages.Library.Materials.ViewModels.SupplierViewModel_Origin
          nullable: true
      additionalProperties: false
    TraceOne.Api.Specification.Application.Messages.Library.Materials.ViewModels.SupplierViewModel_Origin:
      title: Origin
      type: object
      properties:
        originType:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Application.Abstractions.ViewModels.ReferenceListItem
        marketId:
          type: string
          format: uuid
          nullable: true
        countryId:
          type: string
          format: uuid
          nullable: true
        regionId:
          type: string
          format: uuid
          nullable: true
        zoneId:
          type: string
          format: uuid
          nullable: true
        fishingZoneIds:
          title: List`1
          type: array
          items:
            type: string
            format: uuid
          nullable: true
      additionalProperties: false
    TraceOne.Api.Specification.Application.Specifications.Common.ViewModels.DocumentSection:
      title: DocumentSection
      type: object
      properties:
        fileIds:
          title: List`1
          type: array
          items:
            type: string
            format: uuid
          nullable: true
        validatedByCompanyIds:
          title: List`1
          type: array
          items:
            type: string
            format: uuid
          nullable: true
      additionalProperties: false
    TraceOne.Api.Specification.Application.Specifications.Common.ViewModels.LibraryChapterAssociation:
      title: LibraryChapterAssociation
      type: object
      properties:
        chapterType:
          type: string
          nullable: true
        chapterId:
          type: string
          format: uuid
        chapterCommercialName:
          type: string
          nullable: true
        chapterPercentage:
          type: number
          format: double
          nullable: true
        validatedByCompanyIds:
          title: List`1
          type: array
          items:
            type: string
            format: uuid
          nullable: true
      additionalProperties: false
    TraceOne.Api.Specification.Application.Specifications.Common.ViewModels.RequirementSection:
      title: RequirementSection
      type: object
      properties:
        requirements:
          title: List`1
          type: array
          items:
            $ref: >-
              #/components/schemas/TraceOne.Api.Specification.Application.Specifications.Common.ViewModels.RequirementSectionViewModel_Requirement
          nullable: true
      additionalProperties: false
    TraceOne.Api.Specification.Application.Specifications.Common.ViewModels.RequirementSectionViewModel_Requirement:
      title: Requirement
      type: object
      properties:
        requirementId:
          type: string
          format: uuid
        requirementType:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Core.Enums.RequirementTypes
        validated:
          type: boolean
      additionalProperties: false
    TraceOne.Api.Specification.Application.Specifications.Common.ViewModels.Specification:
      title: Specification
      type: object
      properties:
        libraryLinkedChapters:
          title: List`1
          type: array
          items:
            $ref: >-
              #/components/schemas/TraceOne.Api.Specification.Application.Specifications.Common.ViewModels.SpecificationViewModel_LibraryLinkedChapter
          nullable: true
        linkedFolderId:
          type: string
          format: uuid
          nullable: true
        specificationId:
          type: string
          format: uuid
        tradeItemId:
          type: string
          format: uuid
        supplierId:
          type: string
          format: uuid
        ownerCompanyId:
          type: string
          format: uuid
        ownerUserId:
          type: string
          format: uuid
        productTypeId:
          type: string
          format: uuid
        languageCode:
          type: string
          nullable: true
        creationDateUtc:
          type: string
          format: date-time
        progression:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Application.Specifications.Common.ViewModels.SpecificationLightViewModel_SpecificationProgression
        signatures:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Application.Specifications.Common.ViewModels.SpecificationLightViewModel_SpecificationSignature
        version:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Application.Abstractions.Versioning.ViewModels.ObjectVersion
      additionalProperties: false
    TraceOne.Api.Specification.Application.Specifications.Common.ViewModels.SpecificationChapterSmartDocument:
      title: SpecificationChapterSmartDocument
      type: object
      properties:
        chapterProgress:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Core.Enums.SpecificationSectionStates
        validatedByCompanyIds:
          title: List`1
          type: array
          items:
            type: string
            format: uuid
          nullable: true
        sections:
          title: List`1
          type: array
          items:
            $ref: >-
              #/components/schemas/TraceOne.Api.Specification.Application.Library.Chapters.ViewModels.ChapterSectionSmartDocument
          nullable: true
        requirementSection:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Application.Specifications.Common.ViewModels.RequirementSection
        documentSection:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Application.Specifications.Common.ViewModels.DocumentSection
      additionalProperties: false
    TraceOne.Api.Specification.Application.Specifications.Common.ViewModels.SpecificationDocument:
      title: SpecificationDocument
      type: object
      properties:
        fileIds:
          title: List`1
          type: array
          items:
            type: string
            format: uuid
          nullable: true
        chapterType:
          type: string
          nullable: true
      additionalProperties: false
    TraceOne.Api.Specification.Application.Specifications.Common.ViewModels.SpecificationLibraryChapter:
      title: SpecificationLibraryChapter
      type: object
      properties:
        chapter:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Application.Specifications.Common.ViewModels.LibraryChapterAssociation
        requirementSection:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Application.Specifications.Common.ViewModels.RequirementSection
        documentSection:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Application.Specifications.Common.ViewModels.DocumentSection
      additionalProperties: false
    TraceOne.Api.Specification.Application.Specifications.Common.ViewModels.SpecificationLightViewModel_ChapterProgression:
      title: ChapterProgression
      type: object
      properties:
        chapterType:
          type: string
          nullable: true
        validatedByRetailerSectionCount:
          type: integer
          format: int32
        validatedBySupplierSectionCount:
          type: integer
          format: int32
        inProgressSectionCount:
          type: integer
          format: int32
        toFillSectionCount:
          type: integer
          format: int32
      additionalProperties: false
    TraceOne.Api.Specification.Application.Specifications.Common.ViewModels.SpecificationLightViewModel_SignerSignature:
      title: SignerSignature
      type: object
      properties:
        signerUserId:
          type: string
          format: uuid
        signatureDateUtc:
          type: string
          format: date-time
          nullable: true
      additionalProperties: false
    TraceOne.Api.Specification.Application.Specifications.Common.ViewModels.SpecificationLightViewModel_SpecificationProgression:
      title: SpecificationProgression
      type: object
      properties:
        percentageOfCompletion:
          maximum: 1
          minimum: 0
          type: number
          description: The percentage of completion of the specification
          format: double
          nullable: true
        lastUpdateDateUtc:
          type: string
          description: The last update date as UTC of the specification
          format: date-time
        status:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Core.Enums.SpecificationStates
        progressionByChapter:
          title: List`1
          type: array
          items:
            $ref: >-
              #/components/schemas/TraceOne.Api.Specification.Application.Specifications.Common.ViewModels.SpecificationLightViewModel_ChapterProgression
          nullable: true
      additionalProperties: false
    TraceOne.Api.Specification.Application.Specifications.Common.ViewModels.SpecificationLightViewModel_SpecificationSignature:
      title: SpecificationSignature
      type: object
      properties:
        signedPdfId:
          type: string
          format: uuid
        digitalSigningCertificateId:
          type: string
          format: uuid
          nullable: true
        ownerSignature:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Application.Specifications.Common.ViewModels.SpecificationLightViewModel_SignerSignature
        supplierSignature:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Application.Specifications.Common.ViewModels.SpecificationLightViewModel_SignerSignature
      additionalProperties: false
    TraceOne.Api.Specification.Application.Specifications.Common.ViewModels.SpecificationViewModel_LibraryLinkedChapter:
      title: LibraryLinkedChapter
      type: object
      properties:
        chapterType:
          type: string
          nullable: true
        chapterId:
          type: string
          format: uuid
      additionalProperties: false
    TraceOne.Api.Specification.Application.Specifications.Food.ViewModels.SpecificationLabelingChapter:
      title: SpecificationLabelingChapter
      type: object
      properties:
        chapterProgress:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Core.Enums.SpecificationSectionStates
        validatedByCompanyIds:
          title: List`1
          type: array
          items:
            type: string
            format: uuid
          nullable: true
        requirementSection:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Application.Specifications.Common.ViewModels.RequirementSection
        documentSection:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Application.Specifications.Common.ViewModels.DocumentSection
        productInformationSection:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Templates.Food.ViewModels.Labeling.ProductInformationSection
        businessNameAndAddressSection:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Templates.Food.ViewModels.Labeling.BusinessNameAndAddressSection
        ingredientListSection:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Templates.Food.ViewModels.Labeling.IngredientListSection
        nutritionDeclarationSection:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Templates.Food.ViewModels.Labeling.NutritionDeclarationSection
        nutriscoreSection:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Templates.Food.ViewModels.Labeling.NutriscoreSection
        additionalMarketingInformationSection:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Templates.Food.ViewModels.Labeling.AdditionalMarketingInformationSection
        consumerInstructionsSection:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Templates.Food.ViewModels.Labeling.ConsumerInstructionsSection
        claimsSection:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Templates.Food.ViewModels.Labeling.ClaimsSection
        sortingInstructionsSection:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Templates.Food.ViewModels.Labeling.SortingInstructionsSection
        gmoRiskAnalysisSection:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Templates.Food.ViewModels.Labeling.GmoRiskAnalysisSection
      additionalProperties: false
    TraceOne.Api.Specification.Application.Specifications.Food.ViewModels.SpecificationProductionChapter:
      title: SpecificationProductionChapter
      type: object
      properties:
        chapters:
          title: List`1
          type: array
          items:
            $ref: >-
              #/components/schemas/TraceOne.Api.Specification.Application.Specifications.Common.ViewModels.LibraryChapterAssociation
          nullable: true
        requirementSection:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Application.Specifications.Common.ViewModels.RequirementSection
        documentSection:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Application.Specifications.Common.ViewModels.DocumentSection
      additionalProperties: false
    TraceOne.Api.Specification.Core.Enums.AllergenDeclarationTypes:
      title: AllergenDeclarationTypes
      enum:
        - present
        - unintentionalPresent
      type: string
    TraceOne.Api.Specification.Core.Enums.ClaimTypes:
      title: ClaimTypes
      enum:
        - marketing
        - health
        - nutrition
      type: string
    TraceOne.Api.Specification.Core.Enums.LibraryItemStatus:
      title: LibraryItemStatus
      enum:
        - draft
        - published
        - locked
      type: string
    TraceOne.Api.Specification.Core.Enums.MaterialTypes:
      title: MaterialTypes
      enum:
        - rawMaterial
        - composite
        - additive
        - processingAid
      type: string
    TraceOne.Api.Specification.Core.Enums.RecipeOrderBy:
      title: RecipeOrderBy
      enum:
        - name
        - type
        - percentage
      type: string
    TraceOne.Api.Specification.Core.Enums.RecipeTypes:
      title: RecipeTypes
      enum:
        - madeInHouse
        - boughtToThirdParty
      type: string
    TraceOne.Api.Specification.Core.Enums.RequirementTypes:
      title: RequirementTypes
      enum:
        - text
        - document
      type: string
    TraceOne.Api.Specification.Core.Enums.SpecificationSectionStates:
      title: SpecificationSectionStates
      enum:
        - none
        - toFill
        - inProgress
        - validated
      type: string
    TraceOne.Api.Specification.Core.Enums.SpecificationStates:
      title: SpecificationStates
      enum:
        - draft
        - inProgress
        - validatedBySupplier
        - validatedByRetailer
        - signedBySupplier
        - signedByRetailer
        - lockedForSupplierSignature
        - lockedForRetailerSignature
        - inRevisionBySupplier
        - inRevisionByRetailer
      type: string
    TraceOne.Api.Specification.Default.Http.V2.Food.Library.Claims.HealthClaimsController_GetCollectionBody:
      title: GetCollectionBody
      required:
        - claimIds
      type: object
      properties:
        claimIds:
          title: List`1
          maxItems: 100
          type: array
          items:
            type: string
            format: uuid
      additionalProperties: false
    TraceOne.Api.Specification.Default.Http.V2.Food.Library.Claims.MarketingClaimsController_GetCollectionBody:
      title: GetCollectionBody
      required:
        - claimIds
      type: object
      properties:
        claimIds:
          title: List`1
          maxItems: 100
          type: array
          items:
            type: string
            format: uuid
      additionalProperties: false
    TraceOne.Api.Specification.Default.Http.V2.Food.Library.Claims.NutritionalClaimsController_GetCollectionBody:
      title: GetCollectionBody
      required:
        - claimIds
      type: object
      properties:
        claimIds:
          title: List`1
          maxItems: 100
          type: array
          items:
            type: string
            format: uuid
      additionalProperties: false
    TraceOne.Api.Specification.Default.Http.V2.Food.Library.Materials.AdditivesController_GetCollectionBody:
      title: GetCollectionBody
      required:
        - materialIds
      type: object
      properties:
        materialIds:
          title: List`1
          maxItems: 500
          type: array
          items:
            type: string
            format: uuid
      additionalProperties: false
    TraceOne.Api.Specification.Default.Http.V2.Food.Library.Materials.BoughtCompositesController_GetCollectionBody:
      title: GetCollectionBody
      required:
        - materialIds
      type: object
      properties:
        materialIds:
          title: List`1
          maxItems: 500
          type: array
          items:
            type: string
            format: uuid
      additionalProperties: false
    TraceOne.Api.Specification.Default.Http.V2.Food.Library.Materials.MadeCompositesController_GetCollectionBody:
      title: GetCollectionBody
      required:
        - materialIds
      type: object
      properties:
        materialIds:
          title: List`1
          maxItems: 500
          type: array
          items:
            type: string
            format: uuid
      additionalProperties: false
    TraceOne.Api.Specification.Default.Http.V2.Food.Library.Materials.ProcessingAidsController_GetCollectionBody:
      title: GetCollectionBody
      required:
        - materialIds
      type: object
      properties:
        materialIds:
          title: List`1
          maxItems: 500
          type: array
          items:
            type: string
            format: uuid
      additionalProperties: false
    TraceOne.Api.Specification.Default.Http.V2.Food.Library.Materials.RawMaterialsController_GetCollectionBody:
      title: GetCollectionBody
      required:
        - materialIds
      type: object
      properties:
        materialIds:
          title: List`1
          maxItems: 500
          type: array
          items:
            type: string
            format: uuid
      additionalProperties: false
    TraceOne.Api.Specification.Default.Http.V2.Specifications.SpecificationsControllerBase_SpecificationCollectionBody:
      title: SpecificationCollectionBody
      required:
        - specificationIds
      type: object
      properties:
        specificationIds:
          title: List`1
          maxItems: 1000
          type: array
          items:
            type: string
            format: uuid
      additionalProperties: false
    TraceOne.Api.Specification.Templates.Food.ViewModels.FinishedProduct.GuaranteedShelfLife:
      title: GuaranteedShelfLife
      type: object
      properties:
        slaughterCatchHarvest:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Templates.Food.ViewModels.FinishedProduct.GuaranteedShelfLifeViewModel_SlaughterCatchHarvest
        production:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Templates.SeedWork.Shared.ViewModels.DoubleWithUnit
        packaging:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Templates.SeedWork.Shared.ViewModels.DoubleWithUnit
        shipping:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Templates.SeedWork.Shared.ViewModels.DoubleWithUnit
        delivery:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Templates.SeedWork.Shared.ViewModels.DoubleWithUnit
      additionalProperties: false
    TraceOne.Api.Specification.Templates.Food.ViewModels.FinishedProduct.GuaranteedShelfLifeViewModel_SlaughterCatchHarvest:
      title: SlaughterCatchHarvest
      type: object
      properties:
        slaughterCatchHarvest:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Templates.SeedWork.Shared.ViewModels.ReferenceListItem
        unitOfMeasureId:
          type: string
          format: uuid
          nullable: true
        value:
          type: number
          format: double
          nullable: true
      additionalProperties: false
    TraceOne.Api.Specification.Templates.Food.ViewModels.Labeling.AdditionalMarketingInformationSection:
      title: AdditionalMarketingInformationSection
      type: object
      properties:
        information:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Templates.Food.ViewModels.Labeling.FieldViewModel`1[[System.String,_System.Private.CoreLib,_Version=8.0.0.0,_Culture=neutral,_PublicKeyToken=7cec85d7bea7798e]]
      additionalProperties: false
    TraceOne.Api.Specification.Templates.Food.ViewModels.Labeling.BusinessNameAndAddressSection:
      title: BusinessNameAndAddressSection
      type: object
      properties:
        consumerServiceInformation:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Templates.Food.ViewModels.Labeling.FieldViewModel`1[[System.String,_System.Private.CoreLib,_Version=8.0.0.0,_Culture=neutral,_PublicKeyToken=7cec85d7bea7798e]]
        additionalInformation:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Templates.Food.ViewModels.Labeling.FieldViewModel`1[[System.String,_System.Private.CoreLib,_Version=8.0.0.0,_Culture=neutral,_PublicKeyToken=7cec85d7bea7798e]]
        healthMarks:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Templates.Food.ViewModels.Labeling.ListField
        packerCodes:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Templates.Food.ViewModels.Labeling.ListField
      additionalProperties: false
    TraceOne.Api.Specification.Templates.Food.ViewModels.Labeling.ClaimsSection:
      title: ClaimsSection
      type: object
      properties:
        claims:
          title: List`1
          type: array
          items:
            $ref: >-
              #/components/schemas/TraceOne.Api.Specification.Templates.Food.ViewModels.Labeling.ClaimsSectionViewModel_Claim
          nullable: true
      additionalProperties: false
    TraceOne.Api.Specification.Templates.Food.ViewModels.Labeling.ClaimsSectionViewModel_Claim:
      title: Claim
      type: object
      properties:
        claimId:
          type: string
          format: uuid
        claimType:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Core.Enums.ClaimTypes
        displayOnPack:
          type: boolean
        supportingDocuments:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Templates.Food.ViewModels.Labeling.ClaimsSectionViewModel_SupportingDocuments
        url:
          type: string
          nullable: true
      additionalProperties: false
    TraceOne.Api.Specification.Templates.Food.ViewModels.Labeling.ClaimsSectionViewModel_SupportingDocuments:
      title: SupportingDocuments
      type: object
      properties:
        fileIds:
          title: List`1
          type: array
          items:
            type: string
            format: uuid
          nullable: true
      additionalProperties: false
    TraceOne.Api.Specification.Templates.Food.ViewModels.Labeling.ConsumerInstructionsSection:
      title: ConsumerInstructionsSection
      type: object
      properties:
        storageAndConservation:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Templates.Food.ViewModels.Labeling.FieldViewModel`1[[System.String,_System.Private.CoreLib,_Version=8.0.0.0,_Culture=neutral,_PublicKeyToken=7cec85d7bea7798e]]
        cookingInstructions:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Templates.Food.ViewModels.Labeling.FieldViewModel`1[[System.String,_System.Private.CoreLib,_Version=8.0.0.0,_Culture=neutral,_PublicKeyToken=7cec85d7bea7798e]]
        codesAndDates:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Templates.Food.ViewModels.Labeling.ConsumerInstructionsSectionViewModel_CodesAndDates
      additionalProperties: false
    TraceOne.Api.Specification.Templates.Food.ViewModels.Labeling.ConsumerInstructionsSectionViewModel_CodesAndDates:
      title: CodesAndDates
      type: object
      properties:
        displayOnPack:
          type: boolean
        guaranteedShelfLife:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Templates.Food.ViewModels.FinishedProduct.GuaranteedShelfLife
        consumerShelfLifeIndications:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Templates.Food.ViewModels.Labeling.ConsumerInstructionsSectionViewModel_LabelingConsumerShelfLifeIndication
      additionalProperties: false
    TraceOne.Api.Specification.Templates.Food.ViewModels.Labeling.ConsumerInstructionsSectionViewModel_LabelingConsumerShelfLifeIndication:
      title: LabelingConsumerShelfLifeIndication
      type: object
      properties:
        consumerShelfLifeDateExpression:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Templates.SeedWork.Shared.ViewModels.ReferenceListItem
        batchLotNumberExpression:
          type: string
          nullable: true
        productionIndications:
          title: List`1
          type: array
          items:
            $ref: >-
              #/components/schemas/TraceOne.Api.Specification.Templates.SeedWork.Shared.ViewModels.ReferenceListItem
          nullable: true
        productOrigins:
          title: List`1
          type: array
          items:
            $ref: >-
              #/components/schemas/TraceOne.Api.Specification.Templates.Food.ViewModels.Labeling.ConsumerInstructionsSectionViewModel_ProductOrigin
          nullable: true
        shelfLifeTesting:
          type: boolean
          nullable: true
        beforeOpeningIndication:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Templates.SeedWork.Shared.ViewModels.ReferenceListItem
        afterOpeningShelfLife:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Templates.SeedWork.Shared.ViewModels.IntegerWithUnit
      additionalProperties: false
    TraceOne.Api.Specification.Templates.Food.ViewModels.Labeling.ConsumerInstructionsSectionViewModel_ProductOrigin:
      title: ProductOrigin
      type: object
      properties:
        originType:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Templates.SeedWork.Shared.ViewModels.ReferenceListItem
        country:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Templates.SeedWork.Shared.ViewModels.ReferenceListItem
        region:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Templates.SeedWork.Shared.ViewModels.ReferenceListItem
        zone:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Templates.SeedWork.Shared.ViewModels.ReferenceListItem
      additionalProperties: false
    TraceOne.Api.Specification.Templates.Food.ViewModels.Labeling.FieldViewModel`1[[System.Double,_System.Private.CoreLib,_Version=8.0.0.0,_Culture=neutral,_PublicKeyToken=7cec85d7bea7798e]]:
      title: FieldViewModel`1
      type: object
      properties:
        value:
          type: number
          format: double
        displayOnPack:
          type: boolean
      additionalProperties: false
    TraceOne.Api.Specification.Templates.Food.ViewModels.Labeling.FieldViewModel`1[[System.String,_System.Private.CoreLib,_Version=8.0.0.0,_Culture=neutral,_PublicKeyToken=7cec85d7bea7798e]]:
      title: FieldViewModel`1
      type: object
      properties:
        value:
          type: string
          nullable: true
        displayOnPack:
          type: boolean
      additionalProperties: false
    TraceOne.Api.Specification.Templates.Food.ViewModels.Labeling.GmoRiskAnalysisSection:
      title: GmoRiskAnalysisSection
      type: object
      properties:
        rawMaterialRisks:
          title: List`1
          type: array
          items:
            $ref: >-
              #/components/schemas/TraceOne.Api.Specification.Templates.Food.ViewModels.Labeling.GmoRiskAnalysisSectionViewModel_RawMaterialRisk
          nullable: true
      additionalProperties: false
    TraceOne.Api.Specification.Templates.Food.ViewModels.Labeling.GmoRiskAnalysisSectionViewModel_RawMaterial:
      title: RawMaterial
      type: object
      properties:
        materialId:
          type: string
          format: uuid
        materialType:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Core.Enums.MaterialTypes
        ingredientId:
          type: string
          format: uuid
          nullable: true
        recipeType:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Core.Enums.RecipeTypes
      additionalProperties: false
    TraceOne.Api.Specification.Templates.Food.ViewModels.Labeling.GmoRiskAnalysisSectionViewModel_RawMaterialRisk:
      title: RawMaterialRisk
      type: object
      properties:
        rawMaterial:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Templates.Food.ViewModels.Labeling.GmoRiskAnalysisSectionViewModel_RawMaterial
        risk:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Templates.SeedWork.Shared.ViewModels.ReferenceListItem
        fileIds:
          title: List`1
          type: array
          items:
            type: string
            format: uuid
          nullable: true
      additionalProperties: false
    TraceOne.Api.Specification.Templates.Food.ViewModels.Labeling.IngredientListSection:
      title: IngredientListSection
      type: object
      properties:
        originalIngredientList:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Templates.Food.ViewModels.Labeling.IngredientListSectionViewModel_OriginalIngredientList
        modifiedIngredientList:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Templates.Food.ViewModels.Labeling.FieldViewModel`1[[System.String,_System.Private.CoreLib,_Version=8.0.0.0,_Culture=neutral,_PublicKeyToken=7cec85d7bea7798e]]
        characteristicIngredients:
          title: List`1
          type: array
          items:
            $ref: >-
              #/components/schemas/TraceOne.Api.Specification.Templates.Food.ViewModels.Labeling.IngredientListSectionViewModel_CharacteristicIngredient
          nullable: true
      additionalProperties: false
    TraceOne.Api.Specification.Templates.Food.ViewModels.Labeling.IngredientListSectionViewModel_CharacteristicIngredient:
      title: CharacteristicIngredient
      type: object
      properties:
        materialId:
          type: string
          format: uuid
        materialType:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Core.Enums.MaterialTypes
        ingredientId:
          type: string
          format: uuid
          nullable: true
        recipeType:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Core.Enums.RecipeTypes
      additionalProperties: false
    TraceOne.Api.Specification.Templates.Food.ViewModels.Labeling.IngredientListSectionViewModel_OriginalIngredientList:
      title: OriginalIngredientList
      type: object
      properties:
        value:
          type: string
          nullable: true
      additionalProperties: false
    TraceOne.Api.Specification.Templates.Food.ViewModels.Labeling.ListField:
      title: ListField
      type: object
      properties:
        values:
          title: List`1
          type: array
          items:
            type: string
          nullable: true
        displayOnPack:
          type: boolean
      additionalProperties: false
    TraceOne.Api.Specification.Templates.Food.ViewModels.Labeling.NutriscoreSection:
      title: NutriscoreSection
      type: object
      properties:
        displayOnPack:
          type: boolean
        productType:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Templates.SeedWork.Shared.ViewModels.ReferenceListItem
        percentageOfFruitsVegetablesAndLegumes:
          type: number
          format: double
          nullable: true
        presenceOfNonNutritiveSweeteners:
          type: boolean
          nullable: true
        nutriscore:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Templates.Food.ViewModels.Labeling.NutriscoreSectionViewModel_Nutriscore
      additionalProperties: false
    TraceOne.Api.Specification.Templates.Food.ViewModels.Labeling.NutriscoreSectionViewModel_NutrientPoint:
      title: NutrientPoint
      type: object
      properties:
        nutrientId:
          type: string
          format: uuid
        score:
          type: integer
          format: int32
        isNegativeScoreComponent:
          type: boolean
      additionalProperties: false
    TraceOne.Api.Specification.Templates.Food.ViewModels.Labeling.NutriscoreSectionViewModel_Nutriscore:
      title: Nutriscore
      type: object
      properties:
        grade:
          type: string
          nullable: true
        totalScore:
          type: integer
          format: int32
        positivePoints:
          type: integer
          format: int32
        negativePoints:
          type: integer
          format: int32
        nutriscorePoints:
          title: List`1
          type: array
          items:
            $ref: >-
              #/components/schemas/TraceOne.Api.Specification.Templates.Food.ViewModels.Labeling.NutriscoreSectionViewModel_NutrientPoint
          nullable: true
        fruitsAndVegetablesPoint:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Templates.Food.ViewModels.Labeling.NutriscoreSectionViewModel_NutriscorePoint
      additionalProperties: false
    TraceOne.Api.Specification.Templates.Food.ViewModels.Labeling.NutriscoreSectionViewModel_NutriscorePoint:
      title: NutriscorePoint
      type: object
      properties:
        score:
          type: integer
          format: int32
        isNegativeScoreComponent:
          type: boolean
      additionalProperties: false
    TraceOne.Api.Specification.Templates.Food.ViewModels.Labeling.NutritionDeclarationSection:
      title: NutritionDeclarationSection
      type: object
      properties:
        nutrients:
          title: List`1
          type: array
          items:
            $ref: >-
              #/components/schemas/TraceOne.Api.Specification.Templates.Food.ViewModels.Labeling.NutritionDeclarationSectionViewModel_NutritionDeclaration
          nullable: true
        servingDefinitions:
          title: List`1
          type: array
          items:
            $ref: >-
              #/components/schemas/TraceOne.Api.Specification.Templates.Food.ViewModels.Labeling.NutritionDeclarationSectionViewModel_NutritionServingDefinition
          nullable: true
        nutritionalAnalysis:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Templates.Food.ViewModels.Labeling.NutritionDeclarationSectionViewModel_NutritionalAnalysis
      additionalProperties: false
    TraceOne.Api.Specification.Templates.Food.ViewModels.Labeling.NutritionDeclarationSectionViewModel_NutritionDeclaration:
      title: NutritionDeclaration
      type: object
      properties:
        displayToConsumer:
          type: boolean
          nullable: true
        servings:
          title: List`1
          type: array
          items:
            $ref: >-
              #/components/schemas/TraceOne.Api.Specification.Templates.Food.ViewModels.Labeling.NutritionDeclarationSectionViewModel_Serving
          nullable: true
        nutrientId:
          type: string
          format: uuid
        unitOfMeasureId:
          type: string
          format: uuid
          nullable: true
      additionalProperties: false
    TraceOne.Api.Specification.Templates.Food.ViewModels.Labeling.NutritionDeclarationSectionViewModel_NutritionServingDefinition:
      title: NutritionServingDefinition
      type: object
      properties:
        servingId:
          type: string
          format: uuid
        name:
          type: string
          nullable: true
        isCustomServing:
          type: boolean
        isAutomaticCalculation:
          type: boolean
        size:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Templates.SeedWork.Shared.ViewModels.DecimalWithUnit
      additionalProperties: false
    TraceOne.Api.Specification.Templates.Food.ViewModels.Labeling.NutritionDeclarationSectionViewModel_NutritionalAnalysis:
      title: NutritionalAnalysis
      type: object
      properties:
        fileIds:
          title: List`1
          type: array
          items:
            type: string
            format: uuid
          nullable: true
      additionalProperties: false
    TraceOne.Api.Specification.Templates.Food.ViewModels.Labeling.NutritionDeclarationSectionViewModel_Serving:
      title: Serving
      type: object
      properties:
        servingId:
          type: string
          format: uuid
        unroundedValue:
          type: number
          format: double
          nullable: true
        unroundedDailyIntake:
          type: number
          format: double
          nullable: true
        roundedValue:
          type: number
          format: double
          nullable: true
        roundedValueString:
          type: string
          nullable: true
        roundedDailyIntake:
          type: number
          format: double
          nullable: true
      additionalProperties: false
    TraceOne.Api.Specification.Templates.Food.ViewModels.Labeling.ProductInformationSection:
      title: ProductInformationSection
      type: object
      properties:
        productName:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Templates.Food.ViewModels.Labeling.ProductInformationSectionViewModel_DisplayOnPack
        productGtin:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Templates.Food.ViewModels.Labeling.ProductInformationSectionViewModel_DisplayOnPack
        netContents:
          title: List`1
          type: array
          items:
            $ref: >-
              #/components/schemas/TraceOne.Api.Specification.Templates.Food.ViewModels.Labeling.ProductInformationSectionViewModel_NetContent
          nullable: true
        eMark:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Templates.Food.ViewModels.Labeling.ProductInformationSectionViewModel_EMark
        volumeOfAlcohol:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Templates.Food.ViewModels.Labeling.FieldViewModel`1[[System.Double,_System.Private.CoreLib,_Version=8.0.0.0,_Culture=neutral,_PublicKeyToken=7cec85d7bea7798e]]
        finalPageProof:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Templates.Food.ViewModels.Labeling.ProductInformationSectionViewModel_FinalPageProof
      additionalProperties: false
    TraceOne.Api.Specification.Templates.Food.ViewModels.Labeling.ProductInformationSectionViewModel_DisplayOnPack:
      title: DisplayOnPack
      type: object
      properties:
        displayOnPack:
          type: boolean
      additionalProperties: false
    TraceOne.Api.Specification.Templates.Food.ViewModels.Labeling.ProductInformationSectionViewModel_EMark:
      title: EMark
      type: object
      properties:
        displayOnPack:
          type: boolean
        unitOfMeasureId:
          type: string
          format: uuid
          nullable: true
        value:
          type: number
          format: double
          nullable: true
      additionalProperties: false
    TraceOne.Api.Specification.Templates.Food.ViewModels.Labeling.ProductInformationSectionViewModel_FinalPageProof:
      title: FinalPageProof
      type: object
      properties:
        fileIds:
          title: List`1
          type: array
          items:
            type: string
            format: uuid
          nullable: true
      additionalProperties: false
    TraceOne.Api.Specification.Templates.Food.ViewModels.Labeling.ProductInformationSectionViewModel_NetContent:
      title: NetContent
      type: object
      properties:
        displayOnPack:
          type: boolean
        unitOfMeasureId:
          type: string
          format: uuid
          nullable: true
        value:
          type: number
          format: double
          nullable: true
      additionalProperties: false
    TraceOne.Api.Specification.Templates.Food.ViewModels.Labeling.SortingInstructionsSection:
      title: SortingInstructionsSection
      type: object
      properties:
        sortingStreams:
          title: List`1
          type: array
          items:
            $ref: >-
              #/components/schemas/TraceOne.Api.Specification.Templates.Food.ViewModels.Labeling.SortingInstructionsSectionViewModel_Stream
          nullable: true
      additionalProperties: false
    TraceOne.Api.Specification.Templates.Food.ViewModels.Labeling.SortingInstructionsSectionViewModel_Country:
      title: Country
      type: object
      properties:
        country:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Templates.SeedWork.Shared.ViewModels.ReferenceListItem
        components:
          type: string
          nullable: true
      additionalProperties: false
    TraceOne.Api.Specification.Templates.Food.ViewModels.Labeling.SortingInstructionsSectionViewModel_Stream:
      title: Stream
      type: object
      properties:
        sortingStream:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Templates.SeedWork.Shared.ViewModels.ReferenceListItem
        countries:
          title: List`1
          type: array
          items:
            $ref: >-
              #/components/schemas/TraceOne.Api.Specification.Templates.Food.ViewModels.Labeling.SortingInstructionsSectionViewModel_Country
          nullable: true
      additionalProperties: false
    TraceOne.Api.Specification.Templates.SeedWork.Shared.ViewModels.DecimalWithUnit:
      title: DecimalWithUnit
      type: object
      properties:
        unitOfMeasureId:
          type: string
          format: uuid
          nullable: true
        value:
          type: number
          format: double
          nullable: true
      additionalProperties: false
    TraceOne.Api.Specification.Templates.SeedWork.Shared.ViewModels.DoubleWithUnit:
      title: DoubleWithUnit
      type: object
      properties:
        unitOfMeasureId:
          type: string
          format: uuid
          nullable: true
        value:
          type: number
          format: double
          nullable: true
      additionalProperties: false
    TraceOne.Api.Specification.Templates.SeedWork.Shared.ViewModels.IntegerWithUnit:
      title: IntegerWithUnit
      type: object
      properties:
        unitOfMeasureId:
          type: string
          format: uuid
          nullable: true
        value:
          type: integer
          format: int32
          nullable: true
      additionalProperties: false
    TraceOne.Api.Specification.Templates.SeedWork.Shared.ViewModels.ReferenceListItem:
      title: ReferenceListItem
      type: object
      properties:
        referenceListItemId:
          type: string
          format: uuid
          nullable: true
        referenceListItemCode:
          type: string
          nullable: true
      additionalProperties: false
    TraceOne.Api.Specification.Templates.Testing.ViewModels.CharacteristicsSection:
      title: CharacteristicsSection
      type: object
      properties:
        characteristics:
          title: List`1
          type: array
          items:
            $ref: >-
              #/components/schemas/TraceOne.Api.Specification.Templates.Testing.ViewModels.CharacteristicsSectionViewModel_Characteristic
          nullable: true
      additionalProperties: false
    TraceOne.Api.Specification.Templates.Testing.ViewModels.CharacteristicsSectionViewModel_Characteristic:
      title: Characteristic
      type: object
      properties:
        characteristicId:
          type: string
          format: uuid
        doesHaveControlPlan:
          type: boolean
        characteristicType:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Templates.SeedWork.Shared.ViewModels.ReferenceListItem
        characteristicName:
          type: string
          nullable: true
        controlPhase:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Templates.SeedWork.Shared.ViewModels.ReferenceListItem
        method:
          type: string
          nullable: true
        legalCriteria:
          type: string
          nullable: true
        quantity:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Templates.SeedWork.Shared.ViewModels.DecimalWithUnit
        target:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Templates.Testing.ViewModels.CharacteristicsSectionViewModel_CharacteristicValueWithRange
        tolerance:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Templates.Testing.ViewModels.CharacteristicsSectionViewModel_CharacteristicValueWithRange
        precision:
          type: string
          nullable: true
        nonConformity:
          type: string
          nullable: true
        acceptedPhotos:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Templates.Testing.ViewModels.CharacteristicsSectionViewModel_CharacteristicPhotos
        rejectedPhotos:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Templates.Testing.ViewModels.CharacteristicsSectionViewModel_CharacteristicPhotos
      additionalProperties: false
    TraceOne.Api.Specification.Templates.Testing.ViewModels.CharacteristicsSectionViewModel_CharacteristicPhotos:
      title: CharacteristicPhotos
      type: object
      properties:
        fileIds:
          title: List`1
          type: array
          items:
            type: string
            format: uuid
          nullable: true
      additionalProperties: false
    TraceOne.Api.Specification.Templates.Testing.ViewModels.CharacteristicsSectionViewModel_CharacteristicValueWithRange:
      title: CharacteristicValueWithRange
      type: object
      properties:
        value:
          type: string
          nullable: true
        lowerValue:
          type: string
          nullable: true
        upperValue:
          type: string
          nullable: true
      additionalProperties: false
    TraceOne.Api.Specification.Templates.Testing.ViewModels.ControlPlansSection:
      title: ControlPlansSection
      type: object
      properties:
        controlPlans:
          title: List`1
          type: array
          items:
            $ref: >-
              #/components/schemas/TraceOne.Api.Specification.Templates.Testing.ViewModels.ControlPlansSectionViewModel_ControlPlan
          nullable: true
      additionalProperties: false
    TraceOne.Api.Specification.Templates.Testing.ViewModels.ControlPlansSectionViewModel_Characteristic:
      title: Characteristic
      type: object
      properties:
        characteristicId:
          type: string
          format: uuid
        characteristicName:
          type: string
          nullable: true
        characteristicType:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Templates.SeedWork.Shared.ViewModels.ReferenceListItem
        characteristicTarget:
          type: string
          nullable: true
        characteristicTolerance:
          type: string
          nullable: true
        characteristicControlPhase:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Templates.SeedWork.Shared.ViewModels.ReferenceListItem
      additionalProperties: false
    TraceOne.Api.Specification.Templates.Testing.ViewModels.ControlPlansSectionViewModel_ControlPlan:
      title: ControlPlan
      type: object
      properties:
        characteristic:
          $ref: >-
            #/components/schemas/TraceOne.Api.Specification.Templates.Testing.ViewModels.ControlPlansSectionViewModel_Characteristic
        controlType:
          type: string
          nullable: true
        method:
          type: string
          nullable: true
        madeBy:
          type: string
          nullable: true
        frequency:
          type: string
          nullable: true
        batchLotSize:
          type: string
          nullable: true
        sampleSize:
          type: string
          nullable: true
        release:
          type: boolean
        registered:
          type: boolean
        criticity:
          type: string
          nullable: true
        precision:
          type: string
          nullable: true
      additionalProperties: false
tags:
  - name: Marketing Claim
  - name: Health Claim
  - name: Nutritional Claim
  - name: Additive
  - name: Processing Aid
  - name: Raw Material
  - name: Bought Composite
  - name: Made in House Composite
  - name: Production Chapter
  - name: Finished Product Chapter
  - name: Testing Chapter
servers:
  - url: https://apis.traceone.com/spec
    description: Production
  - url: https://apis-ppd.traceone.com/spec
    description: Sandbox
