openapi: 3.1.1
info:
  title: Catalog
  version: 2.0.0
  description: Schema definition for Catalog in the Beckn Protocol
  license:
    name: CC-BY-NC-SA 4.0 International
  contact:
    name: Beckn Labs
    url: https://beckn.io
components:
  schemas:
    Catalog:
      x-iri: https://schema.nfh.global/Catalog/v2.0
      description: Schema definition for Catalog in the Beckn Protocol
      title: Catalog
      type: object
      properties:
        '@context':
          type: string
          format: uri
          description: JSON-LD context URI for the core Catalog schema
        '@type':
          type: string
          description: Type of the catalog
          example: beckn:Catalog
        beckn:id:
          type: string
          description: Unique identifier for the catalog
          example: catalog-electronics-001
        beckn:descriptor:
          $ref: https://schema.nfh.global/Descriptor/v2.1/attributes.yaml#/components/schemas/Descriptor
        beckn:providerId:
          type: string
          description: Reference to the provider that owns this catalog
          example: tech-store-001
        beckn:bppId:
          type: string
          description: BPP (Beckn Protocol Provider) identifier that publishes this catalog
          example: bpp.example.com
        beckn:bppUri:
          type: string
          format: uri
          description: BPP (Beckn Protocol Provider) URI endpoint
          example: https://bpp.example.com
        beckn:validity:
          $ref: https://schema.nfh.global/TimePeriod/v2.1/attributes.yaml#/components/schemas/TimePeriod
        beckn:isActive:
          type: boolean
          description: Whether the catalog is active
          default: true
        beckn:items:
          type: array
          description: 'Array of beckn core Item entities in this catalog, returned directly without ItemResult wrapper for improved performance and simplified response structure

            '
          items:
            $ref: https://schema.nfh.global/Item/v2.1/attributes.yaml#/components/schemas/Item
        beckn:offers:
          type: array
          items:
            $ref: https://schema.nfh.global/Offer/v2.1/attributes.yaml#/components/schemas/Offer
      required:
      - '@context'
      - '@type'
      - beckn:id
      - beckn:descriptor
      - beckn:bppId
      - beckn:bppUri
      - beckn:items
      additionalProperties: false
