Frontend User Orders
POST
Place Order
Place a new order as the currently authenticated frontend user.
POST
/frontend-user/orders
Request Body
JSONRequest Parameters
| Parameter | Type | Required | Validation | Description |
|---|---|---|---|---|
| date | Date | Optional | date, nullable (Y-m-d) | The order date |
| time | Time | Optional | string, nullable (H:i:s) | The order time |
| note | String | Optional | string, nullable | Additional order notes |
| table_uuid | String | Optional | string, nullable, exists:tokens,uuid (status=1) | UUID of an active table/token |
| items | Array | Required | array, required | The order items |
| items.*.product_uuid | String | Required | string, required, exists:products,uuid (status=1) | UUID of an active product |
| items.*.product_variant_uuid | String | Conditional | string, nullable, exists:product_variants,uuid | Required if the product has variants, otherwise must be null |
| items.*.quantity | Decimal | Required | numeric, required, min:0.01 | The quantity to order |
| items.*.unit_price | Decimal | Required | numeric, required, min:0.01 | The unit price of the item |
| items.*.note | String | Optional | string, nullable | Additional note for the item |
| items.*.addons | Array | Optional | array, nullable | The addons for this item |
| items.*.addons.*.addon_id | Integer | Required* | integer, required_with:items.*.addons, exists:addons (status=1, valid for product) | The addon ID (must be active & assigned to the product) |
| items.*.addons.*.quantity | Decimal | Required* | numeric, required_with:items.*.addons, min:0.01 | The addon quantity |
| items.*.addons.*.unit_price | Decimal | Required* | numeric, required_with:items.*.addons, min:0.01 | The unit price of the addon |
| items.*.addons.*.note | String | Optional | string, nullable | Note for the addon |
| items.*.flavors | Array | Optional | array, nullable | The flavors for this item |
| items.*.flavors.*.flavor_id | Integer | Required* | integer, required_with:items.*.flavors, exists:flavors (status=1) | The flavor ID (must be active) |
| items.*.flavors.*.quantity | Decimal | Required* | numeric, required_with:items.*.flavors, min:0.01 | The flavor quantity |
| billing_address | Array | Required | array, required | The Billing Address |
| billing_address.name | String | Required | string, required | Name of the billing address |
| billing_address.email | String | Optional | string, nullable | Email of the billing address |
| billing_address.phone | String | Required | string, required | Phone of the billing address |
| billing_address.address | String | Required | string, required | Address of the billing address |
| billing_address.city | String | Optional | string, nullable | City of the billing address |
| billing_address.zip | String | Optional | string, nullable | Zip code of the billing address |
| billing_address.country | String | Optional | string, nullable | Country of the billing address |
| service_charges | Array | Optional | array, optional | The service charges |
| service_charges.*.name | String | Required* | string, required_with:service_charges | The service charge name |
| service_charges.*.amount | Decimal | Required* | numeric, required_with:service_charges, min:0.01 | The service charge amount |
| service_charges.*.note | String | Optional | string, optional | The service charge note |
Response
200 OKStatus Code
HTTP status code (200)
Message
Human-readable description
Data
Created order details