Order Management
Overview
After a merchant connects one of your locations to Stream, they will be able to receive orders from Stream into your POS system via the Handle Order (Stream -> POS) endpoint.
As we process an order, there are multiple actions that may take place before the final fulfillment of the order.
Order Fulfillment Types
There are multiple types of fulfillment that can be submitted through Stream:
delivery: An order that is being delivered to a customermerchant_managed_delivery: An order that is being delivered to a customer by a merchant's employee/dispatch systempickup: An order that is being picked up by a customercurbside: An order that is being picked up by a customer at a curbside locationdrive_thru: An order that is being picked up at a drive thru windowdine_in: An order that is being taken at a dine in location
Order Flow Overview

The typical order flow includes:
- Order Reception: Stream receives order from DSP
- Validation: Order is validated against catalog and business rules
- Acceptance: POS accepts or rejects the order (see Order Acceptance)
- Status Updates: Order status is updated throughout fulfillment (see Stream Order Status Updates)
- Completion: Order is marked as completed or canceled
Related Topics
- Order Acceptance - How orders are accepted and validated
- Order Rejection & Validation - Rejecting orders with validation types and error handling
- Async Order Acceptance - Manual review and deferred acceptance
- Stream Order Status Updates - Stream order updates to the POS
- Order Cancelation - Handling order cancelations
- Order Pricing - Understanding order amounts
- In Store Orders - Understanding in-store order processing
- Example Order Events - Sample order JSON payloads for various scenarios