{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://api.limblecmms.com/schemas/purchaseorder",
  "title": "PurchaseOrder",
  "description": "Limble CMMS PurchaseOrder object schema",
  "type": "object",
  "properties": {
    "poID": {
      "type": "integer"
    },
    "taskID": {
      "type": "integer"
    },
    "budgetID": {
      "type": "integer"
    },
    "poNumber": {
      "type": "integer"
    },
    "vendorID": {
      "type": "integer"
    },
    "locationID": {
      "type": "integer"
    },
    "userIDStarted": {
      "type": "integer"
    },
    "userID": {
      "type": "integer"
    },
    "teamID": {
      "type": "integer"
    },
    "requestedByUserID": {
      "type": "integer"
    },
    "date": {
      "type": "integer"
    },
    "expectedDate": {
      "type": "null"
    },
    "notesToVendor": {
      "type": "string"
    },
    "billTo": {
      "type": "null"
    },
    "shipTo": {
      "type": "null"
    },
    "status": {
      "type": "integer"
    },
    "customField1": {
      "type": "null"
    },
    "customField2": {
      "type": "null"
    },
    "customField3": {
      "type": "null"
    },
    "customField4": {
      "type": "null"
    },
    "customField5": {
      "type": "null"
    },
    "customField6": {
      "type": "null"
    },
    "lastEdited": {
      "type": "integer"
    },
    "poPrefix": {
      "type": "null"
    },
    "meta": {
      "type": "object",
      "properties": {
        "items": {
          "type": "string"
        },
        "state": {
          "type": "string"
        },
        "stateTransitions": {
          "type": "string"
        },
        "budget": {
          "type": "string"
        },
        "budgetSteps": {
          "type": "string"
        }
      }
    },
    "stateDetails": {
      "type": "object",
      "properties": {
        "current": {
          "type": "object",
          "properties": {
            "number": {
              "type": "integer"
            },
            "name": {
              "type": "string"
            },
            "label": {
              "type": "string"
            },
            "canModify": {
              "type": "boolean"
            }
          }
        },
        "transitions": {
          "type": "object",
          "properties": {
            "available": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "state": {
                    "type": "integer"
                  },
                  "name": {
                    "type": "string"
                  },
                  "label": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "state": {
      "type": "integer"
    }
  }
}