{
  "name": "Dangerous goods declaration intake",
  "description": "Extract shipper name, declaration reference, declaration date from declaration. 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": "shipper_name",
      "label": "Shipper Name",
      "type": "string",
      "required": false,
      "description": "Shipper name exactly as printed in this declaration. Preserve identifiers and qualifiers; do not look up or infer missing information."
    },
    {
      "key": "declaration_reference",
      "label": "Declaration Reference",
      "type": "string",
      "required": false,
      "description": "Declaration reference exactly as printed in this declaration. Preserve identifiers and qualifiers; do not look up or infer missing information."
    },
    {
      "key": "declaration_date",
      "label": "Declaration Date",
      "type": "date",
      "required": false,
      "description": "Declaration date explicitly printed in this declaration. Keep it distinct from other dates; leave it empty if no calendar date is stated."
    },
    {
      "key": "dangerous_goods_rows",
      "label": "Dangerous Goods Rows",
      "type": "array",
      "required": false,
      "description": "Every visible dangerous goods rows row in this declaration. Preserve separate rows, labels and qualifiers; do not merge entries or reconstruct missing ones.",
      "items": {
        "type": "object",
        "fields": [
          {
            "key": "un_number",
            "label": "Un Number",
            "type": "string",
            "required": false,
            "description": "Un number exactly as printed in this declaration. Preserve identifiers and qualifiers; do not look up or infer missing information."
          },
          {
            "key": "shipping_name",
            "label": "Shipping Name",
            "type": "string",
            "required": false,
            "description": "Shipping name exactly as printed in this declaration. Preserve identifiers and qualifiers; do not look up or infer missing information."
          },
          {
            "key": "hazard_class",
            "label": "Hazard Class",
            "type": "string",
            "required": false,
            "description": "Hazard class exactly as printed in this declaration. Preserve identifiers and qualifiers; do not look up or infer missing information."
          },
          {
            "key": "packing_group",
            "label": "Packing Group",
            "type": "string",
            "required": false,
            "description": "Packing group exactly as printed in this declaration. Preserve identifiers and qualifiers; do not look up or infer missing information."
          },
          {
            "key": "stated_quantity_text",
            "label": "Stated Quantity Text",
            "type": "string",
            "required": false,
            "description": "Stated quantity text exactly as printed in this declaration. Preserve identifiers and qualifiers; do not look up or infer missing information."
          }
        ]
      }
    },
    {
      "key": "emergency_contact_text",
      "label": "Emergency Contact Text",
      "type": "string",
      "required": false,
      "description": "Emergency contact text exactly as printed in this declaration. Preserve identifiers and qualifiers; do not look up or infer missing information."
    }
  ]
}