{
  "name": "Project material delivery intake",
  "description": "Extract project name, supplier name, delivery reference from delivery ticket. Start with an editable schema, inspect JSON and review exceptions before your system handoff.",
  "prompt_additions": "Extract only information explicitly present in this document. Do not infer missing values, verify authenticity, make business decisions, or compare other documents. Preserve identifiers as strings. Return amounts as numbers and dates as YYYY-MM-DD. Review and set required fields for your process before using this schema in production.",
  "fields": [
    {
      "key": "project_name",
      "label": "Project Name",
      "type": "string",
      "required": false,
      "description": "Project name exactly as printed in this delivery ticket. Preserve identifiers and qualifiers; do not look up or infer missing information."
    },
    {
      "key": "supplier_name",
      "label": "Supplier Name",
      "type": "string",
      "required": false,
      "description": "Supplier name exactly as printed in this delivery ticket. Preserve identifiers and qualifiers; do not look up or infer missing information."
    },
    {
      "key": "delivery_reference",
      "label": "Delivery Reference",
      "type": "string",
      "required": false,
      "description": "Delivery reference exactly as printed in this delivery ticket. Preserve identifiers and qualifiers; do not look up or infer missing information."
    },
    {
      "key": "delivery_date",
      "label": "Delivery Date",
      "type": "date",
      "required": false,
      "description": "Delivery date explicitly printed in this delivery ticket. Keep it distinct from other dates; leave it empty if no calendar date is stated."
    },
    {
      "key": "material_rows",
      "label": "Material Rows",
      "type": "array",
      "required": false,
      "description": "Every visible material rows row in this delivery ticket. Preserve separate rows, labels and qualifiers; do not merge entries or reconstruct missing ones.",
      "items": {
        "type": "object",
        "fields": [
          {
            "key": "item_reference",
            "label": "Item Reference",
            "type": "string",
            "required": false,
            "description": "Item reference exactly as printed in this delivery ticket. Preserve identifiers and qualifiers; do not look up or infer missing information."
          },
          {
            "key": "description",
            "label": "Description",
            "type": "string",
            "required": false,
            "description": "Description exactly as printed in this delivery ticket. Preserve identifiers and qualifiers; do not look up or infer missing information."
          },
          {
            "key": "quantity",
            "label": "Quantity",
            "type": "number",
            "required": false,
            "description": "Quantity as reported in this delivery ticket. Preserve the labeled measure and its unit; do not estimate it."
          },
          {
            "key": "unit_of_measure",
            "label": "Unit Of Measure",
            "type": "string",
            "required": false,
            "description": "Printed quantity unit, kept distinct from package type or pricing unit."
          },
          {
            "key": "package_count",
            "label": "Package Count",
            "type": "number",
            "required": false,
            "description": "Package count as reported in this delivery ticket. Preserve the labeled measure and its unit; do not estimate it."
          },
          {
            "key": "lot_reference",
            "label": "Lot Reference",
            "type": "string",
            "required": false,
            "description": "Lot reference exactly as printed in this delivery ticket. Preserve identifiers and qualifiers; do not look up or infer missing information."
          }
        ]
      }
    },
    {
      "key": "received_by_text",
      "label": "Received By Text",
      "type": "string",
      "required": false,
      "description": "Received by text exactly as printed in this delivery ticket. Preserve identifiers and qualifiers; do not look up or infer missing information."
    }
  ]
}