{
  "name": "Subcontractor bid capture",
  "description": "Extract bidder name, project name, trade name from bid proposal. 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": "bidder_name",
      "label": "Bidder Name",
      "type": "string",
      "required": false,
      "description": "Bidder name exactly as printed in this bid proposal. Preserve identifiers and qualifiers; do not look up or infer missing information."
    },
    {
      "key": "project_name",
      "label": "Project Name",
      "type": "string",
      "required": false,
      "description": "Project name exactly as printed in this bid proposal. Preserve identifiers and qualifiers; do not look up or infer missing information."
    },
    {
      "key": "trade_name",
      "label": "Trade Name",
      "type": "string",
      "required": false,
      "description": "Trade name exactly as printed in this bid proposal. Preserve identifiers and qualifiers; do not look up or infer missing information."
    },
    {
      "key": "bid_date",
      "label": "Bid Date",
      "type": "date",
      "required": false,
      "description": "Bid date explicitly printed in this bid proposal. Keep it distinct from other dates; leave it empty if no calendar date is stated."
    },
    {
      "key": "base_bid",
      "label": "Base Bid",
      "type": "currency",
      "required": false,
      "description": "Base bid explicitly labeled in this bid proposal. Preserve its sign and stated currency; do not calculate a missing amount."
    },
    {
      "key": "alternates",
      "label": "Alternates",
      "type": "array",
      "required": false,
      "description": "Every visible alternates row in this bid proposal. Preserve separate rows, labels and qualifiers; do not merge entries or reconstruct missing ones.",
      "items": {
        "type": "object",
        "fields": [
          {
            "key": "alternate_reference",
            "label": "Alternate Reference",
            "type": "string",
            "required": false,
            "description": "Alternate reference exactly as printed in this bid proposal. 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 bid proposal. Preserve identifiers and qualifiers; do not look up or infer missing information."
          },
          {
            "key": "amount",
            "label": "Amount",
            "type": "currency",
            "required": false,
            "description": "Amount explicitly labeled in this bid proposal. Preserve its sign and stated currency; do not calculate a missing amount."
          },
          {
            "key": "direction",
            "label": "Direction",
            "type": "string",
            "required": false,
            "description": "Direction exactly as printed in this bid proposal. Preserve identifiers and qualifiers; do not look up or infer missing information."
          }
        ]
      }
    },
    {
      "key": "exclusions_text",
      "label": "Exclusions Text",
      "type": "string",
      "required": false,
      "description": "Exclusions text exactly as printed in this bid proposal. Preserve identifiers and qualifiers; do not look up or infer missing information."
    }
  ]
}