EaterOrder is a JSON Structure definition published by Otter, describing 9 properties, of which 2 are required. It conforms to the https://json-structure.org/meta/core/v0/# meta-schema.
{
"$schema": "https://json-structure.org/meta/core/v0/#",
"$id": "https://raw.githubusercontent.com/api-evangelist/otter/refs/heads/main/json-structure/public-api-eater-order-structure.json",
"name": "EaterOrder",
"description": "An order placed by a customer.",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Unique ID for the order that was placed.",
"example": "69f60a06-c335-46d9-b5a1-97f1a211c514"
},
"status": {
"type": "string",
"description": "The status of the order.",
"enum": [
"NEW_ORDER",
"CONFIRMED",
"PICKED_UP",
"CANCELED",
"FULFILLED",
"PREPARED",
"REJECTED",
"UNKNOWN"
],
"example": "NEW_ORDER"
},
"items": {
"type": "array",
"description": "Items ordered.",
"maxItems": 100,
"items": {
"$ref": "https://raw.githubusercontent.com/api-evangelist/otter/refs/heads/main/json-schema/public-api-item-3-schema.json"
}
},
"orderedAt": {
"type": "datetime",
"nullable": true,
"description": "The date (in UTC) when the order was placed by the customer.",
"example": "2007-12-03T10:15:30+01:00"
},
"orderTotal": {
"type": "double",
"nullable": true,
"description": "Order total including everything paid by the customer.",
"example": 19.07
},
"currencyCode": {
"maxLength": 3,
"minLength": 3,
"type": "string",
"description": "The 3-letter currency code (ISO 4217) to use for all monetary values in this order.",
"example": "USD"
},
"pickupTime": {
"type": "datetime",
"nullable": true,
"description": "Time (in UTC) specified by the provider when the courier or customer is expected to pick up the order.",
"example": "2007-12-03T10:15:30+01:00"
},
"store": {
"$ref": "https://raw.githubusercontent.com/api-evangelist/otter/refs/heads/main/json-schema/public-api-store-2-schema.json"
},
"orderAgainUrl": {
"type": "string",
"description": "The link url for reordering.",
"example": "/store/0179860e-8a89-39c2-b9b1-7276683d09f1"
}
},
"required": [
"currencyCode",
"status"
]
}