{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "title": "SavePortfolio",
  "description": "Save Portfolio ",
  "type": "object",
  "required": [
    "abbreviation",
    "name"
  ],
  "properties": {
    "abbreviation": {
      "type": "string",
      "description": "Abbreviated name assigned to the portfolio."
    },
    "cashAccrual": {
      "type": "string",
      "description": "Cash or accrual accounting basis.",
      "enum": [
        "COMPANY_DEFAULT",
        "CASH",
        "ACCRUAL"
      ]
    },
    "closingDate": {
      "type": "string",
      "format": "date",
      "description": "Date when the accounting period for the portfolio will close."
    },
    "defaultBankAccountID": {
      "type": "integer",
      "format": "int64",
      "description": "Portfolio Default Bank Account ID"
    },
    "defaultSecdepAccountID": {
      "type": "integer",
      "format": "int64",
      "description": "Portfolio Default Security Deposit Bank Account ID"
    },
    "doNotPayOwnerDraw": {
      "type": "boolean",
      "example": false,
      "description": "Indicates that the owner should not be paid owner draws."
    },
    "maintenanceSpendingLimit": {
      "type": "number",
      "format": "double",
      "description": "Monthly or yearly Maintenance Spending Limit set for the portfolio for maintenance bills created by work orders."
    },
    "maintenanceSpendingLimitTime": {
      "type": "string",
      "description": "Monthly or Yearly Maintenance Spending Limit Time set for the portfolio for maintenance bills created by work orders.",
      "enum": [
        "NO_LIMIT",
        "DOLLAR_PER_MONTH",
        "DOLLAR_PER_YEAR"
      ]
    },
    "name": {
      "type": "string",
      "description": "Name of the portfolio."
    },
    "ownerIds": {
      "type": "array",
      "description": "Portfolio owner Ids",
      "items": {
        "type": "integer",
        "format": "int64"
      }
    },
    "ownerStatementReportID": {
      "type": "integer",
      "format": "int64",
      "description": "Portfolio Owner Statement Report ID"
    },
    "owners": {
      "type": "array",
      "description": "Portfolio owners.",
      "items": {
        "$ref": "#/components/schemas/SaveOwner"
      }
    },
    "stickyNote": {
      "type": "string",
      "description": "Sticky notes. Maximum 500 characters."
    },
    "targetOperatingReserve": {
      "type": "number",
      "format": "double",
      "description": "Minimum balance to be maintained within the portfolio at all times."
    }
  }
}