50 lines
1.7 KiB
Markdown

# 06 Orders
Order flow for POS:
- Receive order event
- Fetch full order payload
- Accept/deny
- Resolve fulfillment issues when item(s) cannot be fulfilled
- Ready/handoff updates
- Completion/cancellation reconciliation
Typed routes:
- `GET /api/v1/uber/orders/{orderId}` (order details)
- `POST /api/v1/uber/orders/{orderId}/fulfillment-issues`
- `POST /api/v1/uber/orders/{orderId}/ready`
- `POST /api/v1/uber/orders/{orderId}/action` with action:
- `accept`
- `deny`
- `ready`
- `cancel`
- `resolve`
Retail fulfillment guidance:
- Read customer preference (`REPLACE_FOR_ME`, `SUBSTITUTE_ME`, `REMOVE_ITEM`) from order details.
- Update issue states via fulfillment endpoint (`FOUND_ITEM`, `PARTIAL_AVAILABILITY`, `OUT_OF_ITEM`).
- On `orders.fulfillment_issues.resolved` webhook, fetch latest order and continue resolution.
Order API 1.0.0 coverage (delivery namespace):
- `GET /api/v1/uber/delivery-order/orders/{orderId}`
- `GET /api/v1/uber/delivery-order/stores/{storeId}/orders`
- `POST /api/v1/uber/delivery-order/orders/{orderId}/accept`
- `POST /api/v1/uber/delivery-order/orders/{orderId}/deny`
- `POST /api/v1/uber/delivery-order/orders/{orderId}/cancel`
- `POST /api/v1/uber/delivery-order/orders/{orderId}/ready`
- `POST /api/v1/uber/delivery-order/orders/{orderId}/adjust-price`
- `POST /api/v1/uber/delivery-order/orders/{orderId}/update-ready-time`
- `POST /api/v1/uber/delivery-order/orders/{orderId}/resolve-fulfillment-issues`
- `POST /api/v1/uber/delivery-order/replacement-recommendations`
Delivery Partner API 1.0.0 coverage:
- `POST /api/v1/uber/delivery-partner/orders/{orderId}/partner-count` (Dispatch Multiple Courier)
Delivery BYOC API 1.0.0 coverage:
- `POST /api/v1/uber/delivery-byoc/courier-location` (Ingest Courier Live Location)