{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/lightspeed/main/json-schema/lightspeed-fulfill-line-items-request-schema.json",
  "title": "FulfillLineItemsRequest",
  "x-generated": "2026-10-12",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/lightspeed-fulfillments-api-openapi.yml#/components/schemas/FulfillLineItemsRequest",
  "properties": {
    "line_items": {
      "description": "The line items to be fulfilled",
      "items": {
        "$ref": "#/$defs/FulfillmentLineItemRequest"
      },
      "type": "array"
    },
    "version": {
      "description": "The current version number of the fulfillment.",
      "format": "int32",
      "type": "integer"
    }
  },
  "required": [
    "version",
    "line_items"
  ],
  "type": "object",
  "$defs": {
    "FulfillLineItemSourceBreakdown": {
      "description": "Specifies how a fulfillment quantity should be sourced. When provided, all three fields are required and must sum to the parent quantity.",
      "properties": {
        "quantity_from_not_started": {
          "description": "Quantity to source from the not-started state.",
          "format": "double",
          "type": "number"
        },
        "quantity_from_packed": {
          "description": "Quantity to source from the packed state.",
          "format": "double",
          "type": "number"
        },
        "quantity_from_picked": {
          "description": "Quantity to source from the picked state.",
          "format": "double",
          "type": "number"
        }
      },
      "required": [
        "quantity_from_picked",
        "quantity_from_packed",
        "quantity_from_not_started"
      ],
      "type": "object"
    },
    "FulfillmentLineItemRequest": {
      "properties": {
        "quantity": {
          "description": "The quantity to be fulfilled",
          "format": "double",
          "type": "number"
        },
        "sale_line_item_id": {
          "description": "The unique identifier of the sale line item to be fulfilled.",
          "format": "uuid",
          "type": "string"
        },
        "source_breakdown": {
          "$ref": "#/$defs/FulfillLineItemSourceBreakdown"
        }
      },
      "required": [
        "sale_line_item_id",
        "quantity"
      ],
      "type": "object"
    }
  }
}