# Self-Ship via Aggregators Fynd Konnect now offers a **self-ship** model through third-party (3P) aggregators, allowing brands to use their aggregator-partnered logistics for shipments while keeping their Fynd Seller Portal fully updated. This approach keeps both Fynd and marketplace channels in sync throughout the entire order lifecycle—covering forward orders, customer returns, and courier returns. Identify Self-Ship Orders Aggregator partners can identify self-ship orders by checking the `is_self_ship` flag in any order or returns fetch from Fynd OMS To handle these self-ship orders, we introduce two new APIs compatible with the standard order fulfillment and returns flows: Explore Update AWB API Specification Explore Update Shipment Status API Specification By empowering brands and our aggregator partners to manage logistics independently while syncing shipment data back to us, Fynd Konnect delivers both channel shipping and self-ship options—granting sellers greater flexibility and a consistently enriched end-customer experience. ## Key Highlights - **Aggregator-Partnered Logistics**: Leverage the merchant's logistics solution via partnered aggregator while keeping Fynd OMS synchronized. - **Automated Processes**: End-to-end forward, return, and RTO flows stay up-to-date with minimal interventions. - **Transparent Lifecycle**: Self-ship orders are flagged with `is_self_ship: true`, ensuring accurate monitoring alongside Fynd’s channel shipping options. - **Expanded APIs**: Manage AWB/courier details and update shipment status through specialized endpoints, enabling tracking of important shipment milestones. - **Auto Dispatch**: Eliminate multiple API calls by transitioning the order directly from `dp_assigned` to `bag_picked` on Fynd OMS while pushing courier details. ### Orders Functional Flow Fynd Konnect Self-Ship Forward Sequential Diagram center em Figure 1: Fynd Konnect Self-Ship Forward Orders Flow br 1. **Fetching New Orders**: * Aggregator polls new orders from Fynd using [Fetch Orders](/konnect/channels/erp-wms/api-documentation/orders/get-orders) API. * The aggregator checks if the order has `is_self_ship: true` and manages it separately from the standard flow. 1. **Bag Confirmation and Invoicing**: * The bag is confirmed using the [Order Confirmation](/konnect/channels/erp-wms/api-documentation/orders/post-order-confirmation) API. * The aggregator invoices the order by pushing the invoice series to Fynd using the [Update Invoice](/konnect/channels/erp-wms/api-documentation/orders/post-update-invoice) API. Once invoiced, the aggregator fetches the PDF with the [Customer Invoice](/konnect/channels/erp-wms/api-documentation/orders/post-customer-invoice) API. * If auto-invoicing is enabled on Fynd, Fynd generates the invoice automatically; the aggregator can fetch it directly. Awaiting Shipment Dispatch The aggregator waits until the order is actually shipped from the warehouse (post **DISPATCHED**) before proceeding with further steps. 1. **AWB and Courier Details Update**: * On Fynd’s side, the order remains in `dp_assigned`, waiting for the aggregator to provide AWB and courier name via the [Update AWB](/konnect/channels/erp-wms/api-documentation/orders/put-update-awb) API. After success, Fynd logs the updated courier details on OMS. Forward Self-Ship Order Logs on Fynd OMS center em Figure 2: Forward Self-Ship Order Logs on Fynd OMS br 1. **Order Packing and Dispatch**: * After updating AWB and courier name, the aggregator: - Uses [Order Pack](/konnect/channels/erp-wms/api-documentation/orders/post-order-pack) to mark the order as `bag_packed` on Fynd. - Uses [Order Dispatch](/konnect/channels/erp-wms/api-documentation/orders/post-order-dispatch) to mark the order as `handed_over_to_dg` on Fynd. - Uses [Update Shipment Status](/konnect/channels/erp-wms/api-documentation/orders/put-update-shipment-status) to set the status to `bag_picked` on Fynd. 1. **Order Tracking Updates and Delivery Completion**: * Once the order is delivered, the aggregator updates Fynd with `delivery_done` status via [Update Shipment Status](/konnect/channels/erp-wms/api-documentation/orders/put-update-shipment-status). ### Customer Returns Functional Flow Fynd Konnect Self-Ship Return Sequential Diagram center em Figure 3: Fynd Konnect Self-Ship Return Flow br 1. **Return Request Creation**: * Once a return is created by the customer and captured by Fynd, the aggregator polls new returns using the [Fetch Returns](/konnect/channels/erp-wms/api-documentation/returns/get-returns). * The aggregator identifies if `is_self_ship: true` and manages it under the self-ship return process. Awaiting Return Pickup Aggregator waits until the return is physically picked up by the delivery partner from the customer 1. **AWB and Courier Details Update**: * After pickup, the aggregator updates AWB and courier name with [Update AWB](/konnect/channels/erp-wms/api-documentation/orders/put-update-awb). * The order remains `return_dp_assigned` on Fynd until AWB is received; upon success, Fynd logs the event. Forward Self-Ship Return Logs on Fynd OMS center em Figure 2: Forward Self-Ship Return Logs on Fynd OMS br 1. **Return Shipment Progression**: * After providing courier details, aggregator calls [Update Shipment Status](/konnect/channels/erp-wms/api-documentation/orders/put-update-shipment-status) to move the order from `return_dp_assigned` → `return_bag_in_transit` on Fynd. 1. **Return Delivered**: * Once the shipment arrives at the seller’s location, aggregator transitions it to `return_bag_delivered` on Fynd via [Update Shipment Status](/konnect/channels/erp-wms/api-documentation/orders/put-update-shipment-status). 1. **Return Acceptance and QC**: * The seller performs QC checks and, upon accepting a return, the Aggregators use the Update [Update Return & QC](/konnect/channels/erp-wms/api-documentation/returns/post-update-return-qc) to pass the `return_accepted` call to Fynd 1. **Credit Note Generation**: * Either the aggregator posts a credit note with the [Credit Note](/konnect/channels/erp-wms/api-documentation/returns/post-credit-note) API or relies on Fynd’s auto-generation. * The aggregator may then fetch the credit note PDF using [Customer Invoice](/konnect/channels/erp-wms/api-documentation/orders/post-customer-invoice). ### Courier Returns or RTOs Functional Flow 1. **Forward Journey**: * The order moves from `dp_assigned` → `bag_picked`, signifying the aggregator/courier picked it up. 1. **Conversion to RTO**: * If the forward order cannot be delivered (damage, refusal, etc.), the aggregator returns it to the seller. * It remains in `bag_picked` until physically returned. 1. **RTO Delivered**: * Once returned to the seller, the aggregator calls [Update Shipment Status](/konnect/channels/erp-wms/api-documentation/orders/put-update-shipment-status) with `rto_bag_delivered`. 1. **Credit Note Generation**: * Either aggregator posts via [Credit Note](/konnect/channels/erp-wms/api-documentation/returns/post-credit-note) or Fynd auto-generates. * The aggregator can fetch the PDF with [GET Customer Invoice](/konnect/channels/erp-wms/api-documentation/orders/post-customer-invoice). ## Feature Additions ### Auto Dispatch When self-shipped orders reach the `dp_assigned` status on Fynd, aggregators typically move them step-by-step toward final dispatch. To simplify this process, the **`autoDispatch`** field in the [Update AWB](/konnect/channels/erp-wms/api-documentation/orders/put-update-awb) request allows orders transition directly from `dp_assigned` to `bag_picked` status on Fynd OMS in a single API call. Explore the [Orders Functional Flow](#orders-functional-flow) to know more. - **Without Auto Dispatch** Aggregators must sequentially transition the order through intermediate statuses (like `bag_packed` and `handed_over_to_dg` using Order Pack and Order Dispatch endpoints respectively), and then mark it `bag_picked` using the Update Shipment Status endpoint. - **With Auto Dispatch** A single request to [Update AWB](/konnect/channels/erp-wms/api-documentation/orders/put-update-awb) with `autoDispatch: true` automatically performs these updates behind the scenes, instantly moving the order to `bag_picked` on Fynd. ## Best Practices * **Routine Polling of Orders/Returns:** Schedule periodic fetches (explore the industry-recommended [Cron Polling Intervals](/konnect/channels/erp-wms/best-practices/cron-timings)) to capture orders or returns from Fynd OMS. * **Self-Ship Flag Detection:** Check the `is_self_ship` flag in each order (or return) response to determine which shipments require your custom fulfillment flow versus standard Fynd channel shipping. * **Physical Dispatch Confirmation:** Only invoke the Update AWB endpoint after the order is physically dispatched from the merchant's warehouse. Self-Ship feature in Fynd Konnect does not support multi-carrier hopping or partial AWB assignment. * **Bulk Shipment Limit:** Plan courier details or shipment status updates accordingly to manage up to 20 shipments per request in the self-ship endpoints. This ensures optimal performance and minimal overhead on both systems. * **AutoDispatch in One Step:** Use `autoDispatch: true` to transition an order's status directly from `dp_assigned` to `bag_picked` on Fynd OMS in a single request.