{
  "$id": "https://schema.nfh.global/Form/v2.0",
  "x-iri": "https://schema.nfh.global/Form/v2.0",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "description": "Describes a form",
  "title": "Form",
  "type": "object",
  "properties": {
    "@context": {
      "type": "string",
      "format": "uri",
      "example": "https://raw.githubusercontent.com/beckn/protocol-specifications-new/refs/heads/main/schema/core/v2/context.jsonld"
    },
    "@type": {
      "type": "string",
      "enum": [
        "beckn:Form"
      ],
      "x-jsonld": {
        "@id": "beckn:Form"
      }
    },
    "url": {
      "description": "The URL from where the form can be fetched. The content fetched from the url must be processed as per the mime_type specified in this object. Once fetched, the rendering platform can choosed to render the form as-is as an embeddable element; or process it further to blend with the theme of the application. In case the interface is non-visual, the the render can process the form data and reproduce it as per the standard specified in the form.",
      "type": "string",
      "format": "uri"
    },
    "data": {
      "description": "The form submission data",
      "type": "object",
      "additionalProperties": {
        "type": "string"
      }
    },
    "mime_type": {
      "description": "This field indicates the nature and format of the form received by querying the url. MIME types are defined and standardized in IETF's RFC 6838.",
      "type": "string",
      "enum": [
        "text/html",
        "application/xml"
      ]
    },
    "submission_id": {
      "type": "string",
      "format": "uuid"
    }
  },
  "required": [
    "@context",
    "@type"
  ]
}
