{
  "$id": "https://schema.nfh.global/FulfillmentStage/v2.0",
  "x-iri": "https://schema.nfh.global/FulfillmentStage/v2.0",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "description": "Schema definition for FulfillmentStage in the Beckn Protocol v2.0.1",
  "title": "FulfillmentStage",
  "type": "object",
  "properties": {
    "id": {
      "description": "A unique identifier for this stage of fulfillment",
      "type": "string"
    },
    "instructions": {
      "description": "A set of instructions to follow during this stage of fulfillment",
      "type": "array",
      "items": {
        "$ref": "https://schema.nfh.global/Instruction/v2.0/schema.json"
      }
    },
    "preferences": {
      "description": "A extensible set of attributes that describe the fulfillment preferences",
      "type": "array",
      "items": {
        "$ref": "https://schema.nfh.global/Attributes/v2.0/schema.json"
      }
    },
    "start": {
      "description": "An extensible set of attributes that describe the criteria required to start this stage of fulfillment",
      "$ref": "https://schema.nfh.global/FulfillmentStageEndpoint/v2.0/schema.json"
    },
    "end": {
      "description": "An extensible set of attributes that describe the criteria required to end this stage of fulfillment",
      "$ref": "https://schema.nfh.global/FulfillmentStageEndpoint/v2.0/schema.json"
    },
    "fulfillmentStageAttributes": {
      "description": "An extensible set of attributes that describe this stage of fulfillment",
      "$ref": "https://schema.nfh.global/Attributes/v2.0/schema.json"
    }
  },
  "x-jsonld": {
    "@id": "beckn:fulfillmentStage"
  },
  "required": [
    "id"
  ],
  "additionalProperties": false,
  "x-tags": [
    "common"
  ]
}
