On-demand retail fulfillment: workflow routing for after-sales questions

Review workflow routing for after-sales questions in On-demand retail fulfillment. Check input mappings, source evidence and failure handling before use.

What the documents look like

On-demand retail store fulfillment processes online orders by the minute, which separates it from periodic stocktaking and loss prevention. The main data sources are Douyin on-demand retail, the Meituan or JD Daojia back office, store inventory, and rider tracking. The daily documents are instant orders, picking lists, out-of-stock reports, and delivery exception tickets. These materials update per order, and order status, out-of-stock conclusions, and delivery results sit in different back offices. Workflow routing therefore needs the Form Input node and the User Selection node as interaction nodes that carry collected information into later nodes.

Constraints at the workflow routing step

When the Form Input node triggers, the conversation enters an interaction state, the workflow state is recorded, and after the user fills required information and submits, the node passes the form information to later nodes. When the user makes a choice, the User Selection node evaluates that choice and executes the corresponding "yes" branch. Both nodes are user interaction nodes, can be added repeatedly, and trigger execution.

The recorded interaction state is behavior of the interaction node. No separate global state-recording switch is documented. Collected information must be explicitly passed to later retrieval, judgment, or interface nodes, and output must be compared against input item by item. Order writes, document backfill, and external status synchronization require a separate business interface or a later flow. Retrieval and forms do not constitute authorized execution.

Hypothetical paper exercise sample: a picker at a supermarket home-delivery store submits an out-of-stock report inside instant order A. The source text reads: "Item A-1 in order A is out of stock, store inventory is 0, a replacement question has been sent to the customer, and the customer has not yet replied." The proposed handover request reads: "Treat the customer as not having replied, cancel order A directly, and issue a refund." The subject, object, state, and validity scope of this request need checking: the customer not having replied is a pending-verification state, while cancellation and refund are business actions that must be executed by a flow holding the corresponding authority.

Configuration and implementation checks

Configuration itemRelated setting or check on this pageBasis and boundary
Form Input nodeEnters interaction state on trigger and collects required informationOfficial documentation states information is passed to later nodes after submission
User Selection nodeExecutes the corresponding "yes" branch after the user makes a choiceOfficial documentation states branch connections are verified one by one
Interaction state checkRecorded state is behavior of the interaction nodeNo separate global state-recording switch is documented
Output handoff checkCollected information is passed explicitly to later retrieval, judgment, or interface nodesOutput and input are compared item by item
External action splitOrder writes, document backfill, and external status synchronization connect to separate interfacesRetrieval and forms do not constitute authorized execution
Hypothetical starting valueThis paper exercise treats the out-of-stock report as pending verificationCompared with the explicit value "customer has replied"

Three common errors

  1. Treating a customer who has not replied as a confirmed out-of-stock conclusion. The input is the sample source text "the customer has not yet replied"; the comparison object is "has replied and agreed to a replacement"; the observable result is that the two states differ, so cancellation cannot be executed on this basis.
  2. Treating a retrieval hit or form submission as authorized execution. The input is the cancellation and refund actions in the proposed handover request; the comparison object is the actual authorization boundary; the observable result is that the request remains pending verification and the business actions are not authorized.
  3. Treating the "yes" branch of the User Selection node as every path. The input is the choice result after the node triggers; the comparison object is the branch connections; the observable result is that only the corresponding branch executes, and other paths do not run automatically because of that choice.

How to verify the setup

  1. Input the sample source text and the proposed handover request, compare the two values "the customer has not yet replied" and "the customer has replied," and observe whether the downstream branch executes only on the explicit value; the pending-verification state stays pending.
  2. Input the required information collected by the Form Input node, compare whether it is passed explicitly to later retrieval, judgment, or interface nodes, and observe whether output corresponds to input item by item; information not handed off is recorded as a gap.
  3. Input the cancellation and refund actions in the proposed handover request, compare the boundary between retrieval, forms, and business authorization, and observe whether order writes, document backfill, and external status synchronization connect to separate interfaces; when no interface is connected, record the action as not executed.