{
  "name": "Packing list receiving preparation",
  "description": "Extract shipment reference, supplier name, consignee name from packing list. 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": "shipment_reference",
      "label": "Shipment Reference",
      "type": "string",
      "required": false,
      "description": "Shipment reference exactly as printed in this packing list. 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 packing list. Preserve identifiers and qualifiers; do not look up or infer missing information."
    },
    {
      "key": "consignee_name",
      "label": "Consignee Name",
      "type": "string",
      "required": false,
      "description": "Consignee name exactly as printed in this packing list. Preserve identifiers and qualifiers; do not look up or infer missing information."
    },
    {
      "key": "packing_date",
      "label": "Packing Date",
      "type": "date",
      "required": false,
      "description": "Packing date explicitly printed in this packing list. Keep it distinct from other dates; leave it empty if no calendar date is stated."
    },
    {
      "key": "package_count",
      "label": "Package Count",
      "type": "number",
      "required": false,
      "description": "Package count as reported in this packing list. Preserve the labeled measure and its unit; do not estimate it."
    },
    {
      "key": "packing_rows",
      "label": "Packing Rows",
      "type": "array",
      "required": false,
      "description": "Every visible packing rows row in this packing list. 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 packing list. 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 packing list. 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 packing list. 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 packing list. 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 packing list. Preserve identifiers and qualifiers; do not look up or infer missing information."
          }
        ]
      }
    }
  ]
}