{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/Allocation",
  "title": "Allocation",
  "externalDocs": {
    "url": "http://developer.xero.com/documentation/api/prepayments/"
  },
  "properties": {
    "AllocationID": {
      "description": "Xero generated unique identifier",
      "type": "string",
      "format": "uuid"
    },
    "Invoice": {
      "$ref": "#/components/schemas/Invoice"
    },
    "Overpayment": {
      "$ref": "#/components/schemas/Overpayment"
    },
    "Prepayment": {
      "$ref": "#/components/schemas/Prepayment"
    },
    "CreditNote": {
      "$ref": "#/components/schemas/CreditNote"
    },
    "Amount": {
      "description": "the amount being applied to the invoice",
      "type": "number",
      "format": "double",
      "x-is-money": true
    },
    "Date": {
      "description": "the date the allocation is applied YYYY-MM-DD.",
      "type": "string",
      "x-is-msdate": true
    },
    "IsDeleted": {
      "description": "A flag that returns true when the allocation is succesfully deleted",
      "type": "boolean",
      "readOnly": true
    },
    "StatusAttributeString": {
      "description": "A string to indicate if a invoice status",
      "type": "string"
    },
    "ValidationErrors": {
      "description": "Displays array of validation error messages from the API",
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/ValidationError"
      }
    }
  },
  "required": [
    "Amount",
    "Invoice",
    "Date"
  ],
  "type": "object"
}