{
  "name": "Demurrage and detention charge intake",
  "description": "Extract invoice reference, container number, charge period start from charge notice. 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": "invoice_reference",
      "label": "Invoice Reference",
      "type": "string",
      "required": false,
      "description": "Invoice reference exactly as printed in this charge notice. Preserve identifiers and qualifiers; do not look up or infer missing information."
    },
    {
      "key": "container_number",
      "label": "Container Number",
      "type": "string",
      "required": false,
      "description": "Container number exactly as printed in this charge notice. Preserve identifiers and qualifiers; do not look up or infer missing information."
    },
    {
      "key": "charge_period_start",
      "label": "Charge Period Start",
      "type": "date",
      "required": false,
      "description": "Charge period start explicitly printed in this charge notice. Keep it distinct from other dates; leave it empty if no calendar date is stated."
    },
    {
      "key": "charge_period_end",
      "label": "Charge Period End",
      "type": "date",
      "required": false,
      "description": "Charge period end explicitly printed in this charge notice. Keep it distinct from other dates; leave it empty if no calendar date is stated."
    },
    {
      "key": "free_time_end",
      "label": "Free Time End",
      "type": "date",
      "required": false,
      "description": "Free time end explicitly printed in this charge notice. Keep it distinct from other dates; leave it empty if no calendar date is stated."
    },
    {
      "key": "billed_days",
      "label": "Billed Days",
      "type": "number",
      "required": false,
      "description": "Billed days as reported in this charge notice. Preserve the labeled measure and its unit; do not estimate it."
    },
    {
      "key": "charge_rows",
      "label": "Charge Rows",
      "type": "array",
      "required": false,
      "description": "Every visible charge rows row in this charge notice. Preserve separate rows, labels and qualifiers; do not merge entries or reconstruct missing ones.",
      "items": {
        "type": "object",
        "fields": [
          {
            "key": "charge_type",
            "label": "Charge Type",
            "type": "string",
            "required": false,
            "description": "Charge type exactly as printed in this charge notice. Preserve identifiers and qualifiers; do not look up or infer missing information."
          },
          {
            "key": "start_date",
            "label": "Start Date",
            "type": "date",
            "required": false,
            "description": "Start date explicitly printed in this charge notice. Keep it distinct from other dates; leave it empty if no calendar date is stated."
          },
          {
            "key": "end_date",
            "label": "End Date",
            "type": "date",
            "required": false,
            "description": "End date explicitly printed in this charge notice. Keep it distinct from other dates; leave it empty if no calendar date is stated."
          },
          {
            "key": "billed_days",
            "label": "Billed Days",
            "type": "number",
            "required": false,
            "description": "Billed days as reported in this charge notice. Preserve the labeled measure and its unit; do not estimate it."
          },
          {
            "key": "stated_rate",
            "label": "Stated Rate",
            "type": "currency",
            "required": false,
            "description": "Rate printed in the source. Preserve its stated unit or rate basis separately."
          },
          {
            "key": "stated_amount",
            "label": "Stated Amount",
            "type": "currency",
            "required": false,
            "description": "Stated amount explicitly labeled in this charge notice. 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 charge notice. Preserve its sign and stated currency; do not calculate a missing amount."
    }
  ]
}