Place confirmed restaurant order
place_orderCreate a REAL restaurant order only after showing the latest validate_cart result and receiving explicit diner confirmation. A venue explicitly marked agentOrdering.sandbox instead returns a no-charge, no-kitchen simulation with sandbox=true and createsProductionOrder=false. Pass that result’s confirmation.token so the server can prove the cart and live quote did not change. The server recalculates all prices. Use a unique idempotency key, show orderNumber and the labeled customerLinks, and poll check_order for payment and fulfillment status. Unpaid online orders expire after 30 minutes.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | The venue slug returned by find_venues. | |
| items | No | ||
| combos | No | ||
| customer | Yes | The diner’s minimum contact details required by the venue. | |
| delivery | No | For delivery, street is required and coordinates may be needed for fees/radius. | |
| confirmed | Yes | Set true only after the diner explicitly confirms the latest validate_cart result. | |
| tip_amount | No | Major currency units. | |
| fulfillment | Yes | ||
| payment_method | No | online | |
| idempotency_key | Yes | Use validate_cart.confirmation.idempotencyKey exactly; reuse it for retries of this confirmed order. | |
| confirmation_token | Yes | The short-lived confirmation.token from the exact validate_cart result shown to the diner. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| message | Yes | ||
| orderId | Yes | Machine-facing private id for check_order. | |
| sandbox | Yes | ||
| trackUrl | Yes | ||
| expiresAt | Yes | ||
| statusUrl | Yes | ||
| friendlyId | Yes | ||
| paymentUrl | Yes | ||
| checkoutUrl | Yes | ||
| orderNumber | Yes | Customer-facing order number. | |
| paymentMode | Yes | ||
| trackingUrl | Yes | ||
| paymentError | Yes | ||
| customerLinks | Yes | ||
| paymentProvider | Yes | ||
| paymentRequired | Yes | ||
| createsProductionOrder | Yes | False for reviewer sandbox receipts. True only when a production order was created. |