{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "schema:BuyAction",
  "title": "BuyAction",
  "description": "The act of giving money to a seller in exchange for goods or services rendered. An agent buys an object, product, or service from a seller for a price. Reciprocal of SellAction.",
  "type": "object",
  "allOf": [
    {
      "description": "The act of participating in an exchange of goods and services for monetary compensation. An agent trades an object, product or service with a participant in exchange for a one time or periodic payment.",
      "$ref": "schema:TradeAction"
    }
  ],
  "properties": {
    "seller": {
      "description": "An entity which offers (sells / leases / lends / loans) the services / goods.  A seller may also be a provider.",
      "anyOf": [{ "$ref": "schema:Organization" }, { "$ref": "schema:Person" }]
    },
    "vendor": {
      "description": "'vendor' is an earlier term for 'seller'.",
      "oneOf": [
        {
          "anyOf": [
            { "$ref": "schema:Organization" },
            { "$ref": "schema:Person" }
          ]
        },
        {
          "type": "array",
          "items": {
            "anyOf": [
              { "$ref": "schema:Organization" },
              { "$ref": "schema:Person" }
            ]
          }
        }
      ]
    },
    "warrantyPromise": {
      "description": "The warranty promise(s) included in the offer.",
      "$ref": "schema:WarrantyPromise"
    }
  }
}
