{
  "name": "Property utility allocation statement capture",
  "description": "Extract property name, tenant name, unit reference from allocation statement. 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 allocation statement. 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 allocation statement. 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 allocation statement. Preserve identifiers and qualifiers; do not look up or infer missing information."
    },
    {
      "key": "billing_period_start",
      "label": "Billing Period Start",
      "type": "date",
      "required": false,
      "description": "Billing period start explicitly printed in this allocation statement. Keep it distinct from other dates; leave it empty if no calendar date is stated."
    },
    {
      "key": "billing_period_end",
      "label": "Billing Period End",
      "type": "date",
      "required": false,
      "description": "Billing period end explicitly printed in this allocation statement. Keep it distinct from other dates; leave it empty if no calendar date is stated."
    },
    {
      "key": "utility_rows",
      "label": "Utility Rows",
      "type": "array",
      "required": false,
      "description": "Every visible utility rows row in this allocation statement. Preserve separate rows, labels and qualifiers; do not merge entries or reconstruct missing ones.",
      "items": {
        "type": "object",
        "fields": [
          {
            "key": "utility_type",
            "label": "Utility Type",
            "type": "string",
            "required": false,
            "description": "Utility type exactly as printed in this allocation statement. Preserve identifiers and qualifiers; do not look up or infer missing information."
          },
          {
            "key": "period_label",
            "label": "Period Label",
            "type": "string",
            "required": false,
            "description": "Period label exactly as printed in this allocation statement. Preserve identifiers and qualifiers; do not look up or infer missing information."
          },
          {
            "key": "metered_units",
            "label": "Metered Units",
            "type": "number",
            "required": false,
            "description": "Metered units as reported in this allocation statement. 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": "allocation_basis",
            "label": "Allocation Basis",
            "type": "string",
            "required": false,
            "description": "Allocation basis exactly as printed in this allocation statement. Preserve identifiers and qualifiers; do not look up or infer missing information."
          },
          {
            "key": "stated_charge",
            "label": "Stated Charge",
            "type": "currency",
            "required": false,
            "description": "Stated charge explicitly labeled in this allocation statement. Preserve its sign and stated currency; do not calculate a missing amount."
          }
        ]
      }
    },
    {
      "key": "stated_total",
      "label": "Stated Total",
      "type": "currency",
      "required": false,
      "description": "Stated total explicitly labeled in this allocation statement. Preserve its sign and stated currency; do not calculate a missing amount."
    }
  ]
}