Files
marka/registry/schema-org/Invoice.schema.json
Max Richter c687eff53d big tings
2025-08-17 15:16:17 +02:00

133 lines
4.6 KiB
JSON

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "schema:Invoice",
"title": "Invoice",
"description": "A statement of the money due for goods or services; a bill.",
"type": "object",
"allOf": [
{
"description": "A utility class that serves as the umbrella for a number of 'intangible' things such as quantities, structured values, etc.",
"$ref": "schema:Intangible"
}
],
"properties": {
"accountId": {
"description": "The identifier for the account the payment will be applied to.",
"type": "string"
},
"billingPeriod": {
"description": "The time interval used to compute the invoice.",
"type": "string",
"$comment": "https://schema.org/Duration"
},
"broker": {
"description": "An entity that arranges for an exchange between a buyer and a seller. In most cases a broker never acquires or releases ownership of a product or service involved in an exchange. If it is not clear whether an entity is a broker, seller, or buyer, the latter two terms are preferred.",
"oneOf": [
{
"anyOf": [
{ "$ref": "schema:Organization" },
{ "$ref": "schema:Person" }
]
},
{
"type": "array",
"items": {
"anyOf": [
{ "$ref": "schema:Organization" },
{ "$ref": "schema:Person" }
]
}
}
]
},
"category": {
"description": "A category for the item. Greater signs or slashes can be used to informally indicate a category hierarchy.",
"oneOf": [
{
"anyOf": [
{ "type": "string", "format": "uri" },
{ "type": "string" },
{ "$ref": "schema:CategoryCode" },
{ "$ref": "schema:PhysicalActivityCategory" },
{ "$ref": "schema:Thing" }
]
},
{
"type": "array",
"items": {
"anyOf": [
{ "type": "string", "format": "uri" },
{ "type": "string" },
{ "$ref": "schema:CategoryCode" },
{ "$ref": "schema:PhysicalActivityCategory" },
{ "$ref": "schema:Thing" }
]
}
}
]
},
"confirmationNumber": {
"description": "A number that confirms the given order or payment has been received.",
"type": "string"
},
"customer": {
"description": "Party placing the order or paying the invoice.",
"anyOf": [{ "$ref": "schema:Organization" }, { "$ref": "schema:Person" }]
},
"minimumPaymentDue": {
"description": "The minimum payment required at this time.",
"anyOf": [
{ "$ref": "schema:MonetaryAmount" },
{ "$ref": "schema:PriceSpecification" }
]
},
"paymentDue": {
"description": "The date that payment is due.",
"type": "string",
"format": "date-time"
},
"paymentDueDate": {
"description": "The date that payment is due.",
"anyOf": [
{ "type": "string", "format": "date" },
{ "type": "string", "format": "date-time" }
]
},
"paymentMethod": {
"description": "The name of the credit card or other method of payment for the order.",
"anyOf": [{ "type": "string" }, { "$ref": "schema:PaymentMethod" }]
},
"paymentMethodId": {
"description": "An identifier for the method of payment used (e.g. the last 4 digits of the credit card).",
"oneOf": [
{ "type": "string" },
{ "type": "array", "items": { "type": "string" } }
]
},
"paymentStatus": {
"description": "The status of payment; whether the invoice has been paid or not.",
"anyOf": [{ "type": "string" }, { "$ref": "schema:PaymentStatusType" }]
},
"provider": {
"description": "The service provider, service operator, or service performer; the goods producer. Another party (a seller) may offer those services or goods on behalf of the provider. A provider may also serve as the seller.",
"anyOf": [{ "$ref": "schema:Organization" }, { "$ref": "schema:Person" }]
},
"referencesOrder": {
"description": "The Order(s) related to this Invoice. One or more Orders may be combined into a single Invoice.",
"$ref": "schema:Order"
},
"scheduledPaymentDate": {
"description": "The date the invoice is scheduled to be paid.",
"type": "string",
"format": "date"
},
"totalPaymentDue": {
"description": "The total amount due.",
"anyOf": [
{ "$ref": "schema:MonetaryAmount" },
{ "$ref": "schema:PriceSpecification" }
]
}
}
}