{ "$schema": "https://json-schema.org/draft/2020-12/schema", "title": "EaterOrder", "description": "An order placed by a customer.", "$id": "https://raw.githubusercontent.com/api-evangelist/otter/refs/heads/main/json-schema/public-api-eater-order-schema.json", "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": "string", "nullable": true, "description": "The date (in UTC) when the order was placed by the customer.", "format": "date-time", "example": "2007-12-03T10:15:30+01:00" }, "orderTotal": { "type": "number", "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": "string", "nullable": true, "description": "Time (in UTC) specified by the provider when the courier or customer is expected to pick up the order.", "format": "date-time", "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" ] }