{
  "name": "Security deposit ledger intake",
  "description": "Extract property name, tenant name, unit reference from deposit ledger. 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": "property_name",
      "label": "Property Name",
      "type": "string",
      "required": false,
      "description": "Property name exactly as printed in this deposit ledger. Preserve identifiers and qualifiers; do not look up or infer missing information."
    },
    {
      "key": "tenant_name",
      "label": "Tenant Name",
      "type": "string",
      "required": false,
      "description": "Tenant name exactly as printed in this deposit ledger. Preserve identifiers and qualifiers; do not look up or infer missing information."
    },
    {
      "key": "unit_reference",
      "label": "Unit Reference",
      "type": "string",
      "required": false,
      "description": "Unit reference exactly as printed in this deposit ledger. Preserve identifiers and qualifiers; do not look up or infer missing information."
    },
    {
      "key": "period_start",
      "label": "Period Start",
      "type": "date",
      "required": false,
      "description": "Opening date printed for the reporting period, separate from the issue date."
    },
    {
      "key": "period_end",
      "label": "Period End",
      "type": "date",
      "required": false,
      "description": "Closing date printed for the reporting period, separate from payment or posting dates."
    },
    {
      "key": "deposit_entries",
      "label": "Deposit Entries",
      "type": "array",
      "required": false,
      "description": "Every visible deposit entries row in this deposit ledger. Preserve separate rows, labels and qualifiers; do not merge entries or reconstruct missing ones.",
      "items": {
        "type": "object",
        "fields": [
          {
            "key": "entry_date",
            "label": "Entry Date",
            "type": "date",
            "required": false,
            "description": "Entry date explicitly printed in this deposit ledger. Keep it distinct from other dates; leave it empty if no calendar date is stated."
          },
          {
            "key": "reference",
            "label": "Reference",
            "type": "string",
            "required": false,
            "description": "Reference exactly as printed in this deposit ledger. Preserve identifiers and qualifiers; do not look up or infer missing information."
          },
          {
            "key": "entry_type",
            "label": "Entry Type",
            "type": "string",
            "required": false,
            "description": "Entry type exactly as printed in this deposit ledger. 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 deposit ledger. Preserve identifiers and qualifiers; do not look up or infer missing information."
          },
          {
            "key": "debit_amount",
            "label": "Debit Amount",
            "type": "currency",
            "required": false,
            "description": "Debit amount explicitly labeled in this deposit ledger. Preserve its sign and stated currency; do not calculate a missing amount."
          },
          {
            "key": "credit_amount",
            "label": "Credit Amount",
            "type": "currency",
            "required": false,
            "description": "Credit amount explicitly labeled in this deposit ledger. Preserve its sign and stated currency; do not calculate a missing amount."
          }
        ]
      }
    },
    {
      "key": "stated_balance",
      "label": "Stated Balance",
      "type": "currency",
      "required": false,
      "description": "Stated balance explicitly labeled in this deposit ledger. Preserve its sign and stated currency; do not calculate a missing amount."
    }
  ]
}