openapi: 3.1.1
info:
  title: SupportCase
  version: 2.0.0
  description: Schema definition for SupportCase in the Beckn Protocol v2.0.1
  license:
    name: CC-BY-NC-SA 4.0 International
  contact:
    name: Beckn Labs
    url: https://beckn.io
components:
  schemas:
    SupportCase:
      x-iri: https://schema.nfh.global/SupportCase/v2.0
      description: A domain-agnostic customer support ticket used to record an issue
        raised between parties — its category, priority, lifecycle status, supporting
        attachments, and support interaction sessions. It is independent of any
        particular domain; domain-specific values are carried via the category
        descriptor and the extensible attribute bags.
      title: SupportCase
      type: object
      properties:
        id:
          description: Stable support case identifier.
          type: string
          example: SUP-2024-00789
        category:
          description: The category of the issue, expressed as a Descriptor whose code
            is defined by the domain (e.g. SHIPMENT_LOST, BILLING_DISPUTE,
            SERVICE_QUALITY).
          $ref: https://schema.nfh.global/Descriptor/v2.1/attributes.yaml#/components/schemas/Descriptor
        description:
          description: Human-readable description of the issue.
          type: string
        priority:
          description: Priority of the support case. Suggested values are P1, P2, P3;
            custom string values are also allowed.
          anyOf:
          - type: string
            enum:
            - P1
            - P2
            - P3
          - type: string
        status:
          description: The lifecycle state of the support case expressed as a Descriptor
            whose code MUST be one of the standard values.
          allOf:
          - $ref: https://schema.nfh.global/Descriptor/v2.1/attributes.yaml#/components/schemas/Descriptor
          - type: object
            properties:
              code:
                enum:
                - UNRESOLVED
                - RESOLVED
                default: UNRESOLVED
        raisedBy:
          description: Identifier of the party who raised the support case.
          type: string
        assignedAgent:
          description: Identifier of the support agent the case is assigned to.
          type: string
        attachments:
          description: Supporting attachments / evidence for the case — documents,
            images, or other artifacts, distinguished by mimeType.
          type: array
          items:
            $ref: https://schema.nfh.global/Document/v2.0/attributes.yaml#/components/schemas/Document
        sessions:
          description: Support interaction sessions associated with this case. Each
            session records the channel used and any media exchanged.
          type: array
          items:
            type: object
            properties:
              id:
                description: Identifier of this session.
                type: string
              supportChannel:
                description: The channel over which this session took place.
                $ref: https://schema.nfh.global/CommunicationChannel/v2.0/attributes.yaml#/components/schemas/CommunicationChannel
              data:
                description: Media captured or exchanged during the session.
                $ref: https://schema.nfh.global/MediaFile/v2.0/attributes.yaml#/components/schemas/MediaFile
            additionalProperties: false
        claimAmount:
          description: Amount claimed in relation to this case, if any.
          type: number
        resolution:
          description: Resolution details, once the case is resolved.
          type: string
        createdAt:
          description: Timestamp at which the case was created.
          type: string
          format: date-time
        resolvedAt:
          description: Timestamp at which the case was resolved.
          type: string
          format: date-time
      required:
      - id
      - category
      additionalProperties: false
      x-tags:
      - common
