Restaurant Orders API
v1.0 • REST • JSON
Full CRUD management for restaurant orders. Each order belongs to a restaurant and contains one or more menu items. Unit prices are taken from the menu, and the order total is calculated by the server.
Quick Reference
/api/restaurant-orders
200 OK
Get All Restaurant Orders
Retrieves a paginated list of all restaurant orders, ordered by ID. Each order includes its line items. Use the pageNumber
and pageSize query parameters to navigate large result sets.
The response envelope includes total count and page metadata.
| Parameter | Type | Default | Description |
|---|---|---|---|
pageNumber |
integer | 1 |
Page number, 1-based index. Values below 1 are treated as 1. |
pageSize |
integer | 10 |
Number of records per page, from 1 to 100. Values outside this range are clamped. |
/api/restaurant-orders/{id}
200 OK
Get Single Restaurant Order
Fetch a specific restaurant order using its numeric ID. Returns the order details, its line items with menu names and line totals, and the order total.
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
integer | Required | Unique restaurant order identifier |
/api/restaurant-orders/{id}
404 Not Found
Restaurant Order Not Found
Returned when the requested restaurant order ID does not exist in the system. Use this example to test error-handling logic and build graceful fallback UI for missing restaurant order resources.
/api/restaurant-orders
201 Created
Create Restaurant Order
Creates a new order for a restaurant. Every item must reference a menu that belongs to the same restaurant. On success, returns the created order including the generated ID, server-calculated prices and total, and timestamps. Invalid input returns 400 Bad Request with validation errors.
| Field | Type | Required | Description |
|---|---|---|---|
restaurantId |
integer | Required | Restaurant id |
customerName |
string | Required | Customer name |
orderType |
string | Required | Order type |
tableNumber |
string | Optional | Table number |
status |
string | Required | Status |
notes |
string | Optional | Notes |
orderedAt |
datetime | Required | Ordered at |
items |
restaurantorderitemdto[] | Optional | Items |
| Field | Type | Required | Description |
|---|---|---|---|
menuId |
integer | Required | Menu id |
quantity |
integer | Required | Quantity |
orderType: DineIn, Takeaway, or Delivery.
status: Pending, Preparing, Ready, Served, Completed, or Cancelled.
quantity must be between 1 and 1000, and at least one item is required.
/api/restaurant-orders/{id}
200 OK
Update Restaurant Order
Fully replaces an existing restaurant order, including all of its items, with the values in the request body. A successful update returns 200 OK with response body.
| Field | Type | Required | Description |
|---|---|---|---|
restaurantId |
integer | Required | Restaurant id |
customerName |
string | Required | Customer name |
orderType |
string | Required | Order type |
tableNumber |
string | Optional | Table number |
status |
string | Required | Status |
notes |
string | Optional | Notes |
orderedAt |
datetime | Required | Ordered at |
items |
restaurantorderitemdto[] | Optional | Items |
| Field | Type | Required | Description |
|---|---|---|---|
menuId |
integer | Required | Menu id |
quantity |
integer | Required | Quantity |
orderType: DineIn, Takeaway, or Delivery.
status: Pending, Preparing, Ready, Served, Completed, or Cancelled.
quantity must be between 1 and 1000, and at least one item is required.
/api/restaurant-orders/{id}
204 No Content
Delete Restaurant Order
Permanently removes a restaurant order by its ID. This action is irreversible. Once deleted, the order and all of its items cannot be recovered through the API.
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
integer | Required | ID of the restaurant order to delete |