Offer
Description
An offer document is a formal proposal sent by a seller to a potential buyer, detailing the products or services offered, the prices, terms of sale, and the validity period of the proposal. It is the precursor to an order or a contract.
Schema Information
{
"type": "object",
"title": "Offer",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"offerNumber",
"sellerId",
"sellerName",
"buyerId",
"buyerName",
"totalQuotedAmount",
"productCount"
],
"properties": {
"buyer": {
"$ref": "#/definitions/entity"
},
"seller": {
"$ref": "#/definitions/entity"
},
"deliveree": {
"$ref": "#/definitions/entity"
},
"offerDate": {
"type": "string",
"format": "date"
},
"sellerName": {
"type": "string"
},
"validUntil": {
"type": "string",
"format": "date"
},
"offerNumber": {
"type": "string"
},
"productCount": {
"type": "integer"
},
"offerFreeText": {
"type": "string",
"default": ""
},
"additionalFees": {
"type": "number",
"default": 0
},
"totalQuotedAmount": {
"type": "number"
},
"lineItems": {
"type": "array",
"items": {
"type": "object",
"required": [
"productCode",
"productName",
"quantity",
"unit",
"quotedPrice",
"totalAfterDiscount"
],
"properties": {
"gtin": {
"type": "string"
},
"unit": {
"type": "string"
},
"rowNo": {
"type": "string",
"description": "Row number, can be null"
},
"quantity": {
"type": "number"
},
"productCode": {
"type": "string"
},
"productName": {
"type": "string"
},
"quotedPrice": {
"type": "number"
},
"discountAmount": {
"type": "number",
"default": 0
},
"discountPercentage": {
"type": "number",
"default": 0
},
"totalAfterDiscount": {
"type": "number"
},
"additionalProductCodes": {
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false
}
}
},
"definitions": {
"entity": {
"type": "object",
"properties": {
"ID": {
"type": "string"
},
"name": {
"type": "string"
},
"address": {
"$ref": "#/definitions/address"
},
"contact": {
"$ref": "#/definitions/contactInfo"
},
"VATNumber": {
"type": "string"
}
}
},
"address": {
"type": "object",
"properties": {
"city": {
"type": "string"
},
"state": {
"type": "string"
},
"country": {
"type": "string"
},
"postalCode": {
"type": "string"
},
"streetAddress": {
"type": "string"
}
}
},
"contactInfo": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"email": {
"type": "string",
"format": "email"
},
"phone": {
"type": "string"
}
}
}
},
"additionalProperties": false
}