{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/buildworkpro-com/json-schema/buildworkpro-com-pay-app-schema.json",
  "title": "PayApp",
  "x-generated": "2026-11-03",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/buildworkpro-com-openapi.json#/components/schemas/PayApp",
  "type": "object",
  "properties": {
    "id": {
      "type": "integer"
    },
    "payAppNumber": {
      "type": "string"
    },
    "projectId": {
      "type": "integer"
    },
    "status": {
      "type": "string"
    },
    "periodStart": {
      "type": [
        "string",
        "null"
      ],
      "format": "date"
    },
    "periodEnd": {
      "type": [
        "string",
        "null"
      ],
      "format": "date"
    },
    "contractSum": {
      "type": [
        "string",
        "null"
      ]
    },
    "changeOrdersTotal": {
      "type": [
        "string",
        "null"
      ]
    },
    "revisedContractSum": {
      "type": [
        "string",
        "null"
      ]
    },
    "previouslyBilled": {
      "type": [
        "string",
        "null"
      ]
    },
    "currentBilled": {
      "type": [
        "string",
        "null"
      ]
    },
    "materialsStored": {
      "type": [
        "string",
        "null"
      ]
    },
    "totalCompleted": {
      "type": [
        "string",
        "null"
      ]
    },
    "retainagePercent": {
      "type": [
        "string",
        "null"
      ]
    },
    "retainageAmount": {
      "type": [
        "string",
        "null"
      ]
    },
    "currentPaymentDue": {
      "type": [
        "string",
        "null"
      ]
    },
    "notes": {
      "type": [
        "string",
        "null"
      ]
    },
    "includeNotary": {
      "type": "boolean",
      "description": "Print the notary acknowledgment block on the pay application PDF. Defaults to true."
    },
    "createdAt": {
      "anyOf": [
        {
          "type": "string",
          "format": "date-time"
        },
        {
          "type": "string"
        }
      ]
    },
    "updatedAt": {
      "anyOf": [
        {
          "type": "string",
          "format": "date-time"
        },
        {
          "type": "string"
        }
      ]
    }
  },
  "required": [
    "id",
    "payAppNumber",
    "projectId",
    "status",
    "periodStart",
    "periodEnd",
    "contractSum",
    "changeOrdersTotal",
    "revisedContractSum",
    "previouslyBilled",
    "currentBilled",
    "materialsStored",
    "totalCompleted",
    "retainagePercent",
    "retainageAmount",
    "currentPaymentDue",
    "createdAt",
    "updatedAt"
  ]
}