Orders API

Order processing and lifecycle

GET/orders

List orders

Query Parameters

locationIdstatusorderTypestartDateendDatepagelimit
GET/orders/{id}

Get order details

POST/orders

Create a new order

Request Body

{
  "orderType": "DINE_IN | TAKEOUT | DELIVERY | BAR_TAB",
  "tableId": "uuid (optional)",
  "customerId": "uuid (optional)",
  "guestCount": "number (optional)",
  "notes": "string (optional)"
}
POST/orders/{id}/items

Add item to order

Request Body

{
  "productId": "uuid",
  "quantity": "number",
  "variantId": "uuid (optional)",
  "modifiers": "array of { modifierOptionId: uuid, name: string, price: number } (optional)",
  "notes": "string (optional)"
}
PUT/orders/{id}/items/{itemId}

Update order item

Request Body

{
  "quantity": "number (optional)",
  "notes": "string (optional)",
  "status": "PENDING | SENT | PREPARING | READY | SERVED | VOIDED (optional)"
}
DELETE/orders/{id}/items/{itemId}

Void order item

Request Body

{
  "reason": "string"
}
POST/orders/{id}/send

Send order to kitchen

POST/orders/{id}/payments

Process payment for order

Request Body

{
  "amount": "number",
  "paymentMethod": "CASH | CARD | GIFT_CARD | LOYALTY | STORE_CREDIT",
  "tipAmount": "number (optional)",
  "processorTransactionId": "string (optional)",
  "cardLastFour": "string (optional)",
  "cardBrand": "string (optional)"
}
POST/orders/{id}/discount

Apply discount to order

Request Body

{
  "discountAmount": "number",
  "discountCode": "string (optional)"
}
POST/orders/{id}/transfer

Transfer order to another table

Request Body

{
  "tableId": "uuid"
}
POST/orders/{id}/complete

Mark order as completed

DELETE/orders/{id}

Cancel order

Request Body

{
  "reason": "string"
}