Vortmall使用文档

物流与配送

物流与配送

本文档面向购买并使用 VortMall 电商平台的客户(平台运营方),系统梳理运费模板、运费计算、物流发货与轨迹、同城配送、到店自提及云打印发货单等业务流程。每个流程均配有 Mermaid 图示与分步说明;配送方式枚举 deliveryType1 物流配送、2 自提、3 同城配送、4 无需配送。运费模板按区域定义规则;物流轨迹对接快递 100 类查询接口;O2O 支持可配置半径的同城配送;自提订单生成 pickupSn(自提码) 用于到店核销;云打印(如飞鹅云)可在发货环节自动出单。


运费模板配置流程

说明:平台运营人员在管理端创建并维护运费模板,将计费维度、默认运费、区域差异化规则与包邮策略固化后,供商品维度引用,保证结算侧可复现一致计费。

参与角色:平台运营(管理端)、商品与运费配置服务、区域与规则数据。

flowchart TD
    startNode([进入运费模板管理])
    setName["设置模板名称"]
    chooseMode["选择计费方式: 按件/按重"]
    setDefaultFee["设置默认运费"]
    setRegionRules["按区域设置运费规则"]
    setFreeRule["设置包邮条件"]
    saveTemplate["保存运费模板"]
    bindProduct["关联到商品"]
    finishNode([配置完成])
    startNode --> setName
    setName --> chooseMode
    chooseMode --> setDefaultFee
    setDefaultFee --> setRegionRules
    setRegionRules --> setFreeRule
    setFreeRule --> saveTemplate
    saveTemplate --> bindProduct
    bindProduct --> finishNode

步骤说明

  1. 运营进入管理端「运费模板」模块,新建或编辑模板,首先填写模板名称以便后续在商品侧识别与选择。
  2. 选择计费方式:按件数阶梯计费,或按商品重量(及订单总重)计费,二者决定后续金额计算公式与必填字段。
  3. 配置默认运费:作为未命中任何区域特殊规则时的兜底金额或首重/首件费用(以平台实际字段为准)。
  4. 按收货地区(省市区等粒度)逐条维护运费规则:可包含续重/续件、上限封顶等,形成「区域 → 规则」映射。
  5. 设置包邮条件:例如满额包邮、满件包邮或与指定营销活动叠加,满足条件时该区域/整单运费记为零。
  6. 保存运费模板,校验区域互斥、金额合法性与必填项完整后写入配置。
  7. 在商品发布或编辑页,将模板关联到对应商品(或 SKU),使结算时能加载该模板参与运费试算。

特别说明

  • 运费模板是「按区域定义规则」的核心载体;商品未关联有效模板时,应按平台策略提示运营补全或使用系统默认模板。
  • 计费方式切换可能影响历史已配置数据,变更前建议评估在售商品与草稿商品的引用范围。

运费计算流程详解

说明:用户在结算页或提交订单时,系统按购物车中各店铺、各商品所绑定的运费模板,结合收货地址与计费维度自动计算运费;多店铺场景下各店铺子单运费独立汇总。

参与角色:终端用户、订单与结算服务、运费计算引擎、商品与店铺维度数据。

flowchart TD
    checkoutNode([结算/下单请求])
    matchTemplate["匹配商品运费模板"]
    lookupRegion["按收货地区查找规则"]
    calcByDim["按件数或重量计算基础运费"]
    checkFree["检查是否满足包邮条件"]
    perShopSum["多店铺各自独立计算后汇总"]
    resultNode([返回运费明细])
    checkoutNode --> matchTemplate
    matchTemplate --> lookupRegion
    lookupRegion --> calcByDim
    calcByDim --> checkFree
    checkFree --> perShopSum
    perShopSum --> resultNode

步骤说明

  1. 用户进入结算或提交订单,系统收集收货地址(省市区)、购物车行项目及数量、重量(若按重)与各商品关联的运费模板 ID。
  2. 对每个可配送商品匹配其运费模板;若商品未配置模板,按平台规则选用默认模板或阻断并提示。
  3. 根据收货地区在模板中查找命中规则:优先匹配最细粒度区域配置,未命中则回退默认运费规则。
  4. 按模板所选计费方式计算:按件则按件数阶梯累加;按重则按 SKU 重量与订单维度聚合后套用首重/续重等规则。
  5. 判断是否满足包邮条件(满额、满件、活动标签等);满足则该行或该店铺子单运费置零,否则保留上一步金额。
  6. 多店铺购物车下,对每个店铺分别完成上述计算,再汇总为订单总运费与各店铺分摊,避免跨店混算。

特别说明

  • deliveryType 为物流配送(1)时参与本流程;自提(2)、同城(3)、无需配送(4)按各自规则另行处理,不计入传统快递运费模板路径或仅计同城费。
  • 包邮与优惠券、满减的叠加顺序以平台配置为准,实施与对账时应明确「先算基础运费再判包邮」或「活动后金额参与满额包邮」等策略。

物流发货与跟踪流程

说明:商家在订单履约阶段录入承运商与运单号并确认发货后,系统通过快递 100 类接口拉取物流轨迹,消费者可在订单详情中查看同步更新的物流信息。

参与角色:商家(店铺后台)、物流查询服务(Kuaidi100 风格 API)、终端用户、消息通知(可选)。

flowchart TD
    pickOrder["商家选择待发货订单"]
    chooseCompany["选择物流公司"]
    fillSn["填写物流单号"]
    confirmShip["确认发货"]
    syncTrack["系统查询物流轨迹"]
    userView["消费者查看物流信息"]
    pickOrder --> chooseCompany
    chooseCompany --> fillSn
    fillSn --> confirmShip
    confirmShip --> syncTrack
    syncTrack --> userView

步骤说明

  1. 商家在店铺后台从「待发货」列表中选择订单,核对商品与收货信息。
  2. 选择物流公司:从平台维护的承运商字典中选取,保证与轨迹查询侧编码一致。
  3. 填写物流单号(运单号),必要时可支持子母件等扩展字段(以系统实现为准)。
  4. 确认发货:订单进入已发货/待收货状态,并记录发货时间与物流快照。
  5. 系统按承运商编码与单号调用快递 100 类查询接口,定时或按需拉取最新轨迹节点,落库并去重。
  6. 消费者在订单详情页查看物流时间线与当前状态;异常件、签收等节点可触发站内信或短信(若已配置)。

特别说明

  • 轨迹查询存在第三方延迟与失败重试,展示「最后同步时间」可降低客诉预期。
  • deliveryType=1(物流配送) 与本流程直接对应;若订单为其他配送类型,发货与展示字段可能不同。

同城配送流程

说明:【O2O 版】平台预先配置同城配送服务半径与运费策略;消费者下单时选择同城配送,系统校验收货地址是否在配送范围内并计算同城运费,商家安排骑手或自有配送直至送达。

参与角色:平台运营(范围与运费配置)、终端用户、商家、配送执行方(骑手/门店)、地理围栏与计费服务。

flowchart TD
    configNode["配置同城范围与运费"]
    userChoose["消费者选择同城配送"]
    validateAddr["校验地址是否在配送范围"]
    calcLocalFee["计算同城配送费"]
    merchantDispatch["商家安排配送"]
    deliveredNode([送达完成])
    configNode --> userChoose
    userChoose --> validateAddr
    validateAddr --> calcLocalFee
    calcLocalFee --> merchantDispatch
    merchantDispatch --> deliveredNode

步骤说明

  1. 运营在后台配置同城配送:可设置中心点、服务半径(或电子围栏)、起步价、距离阶梯加价、时段加价等 O2O 参数。
  2. 消费者下单时在配送方式中选择同城配送(deliveryType=3),并填写或确认收货地址。
  3. 系统将地址坐标与店铺服务范围比对:在半径或围栏内则通过;否则提示超出范围或建议选自提/快递。
  4. 通过校验后,按配置的同城计费规则计算配送费,并与商品金额等一并进入应付总额。
  5. 商家接单后安排配送:可对接第三方同城配或人工分派,更新配送中状态。
  6. 货物送达后由用户确认或配送员反馈完成,订单闭环;异常与拒收按售后规则处理。

特别说明

  • O2O 半径与运费模板相互独立:同城费以距离/区域策略为主,勿与跨省快递模板混用。
  • 地图与地理编码准确性直接影响范围判断,建议使用平台推荐的地址组件与坐标纠偏能力。

到店自提流程

说明:消费者下单时选择到店自提,系统生成唯一自提码(pickupSn);用户到店出示自提码,店员通过扫码或手工输入完成核销后订单完结。

参与角色:终端用户、订单服务、门店店员(收银/核销端)、自提点或门店主数据。

flowchart TD
    placeOrder["下单选择自提"]
    genPickupSn["系统生成自提码 pickupSn"]
    arriveStore["消费者到店出示自提码"]
    verifyCode["店员扫码或输入核销"]
    completeOrder([订单完成])
    placeOrder --> genPickupSn
    genPickupSn --> arriveStore
    arriveStore --> verifyCode
    verifyCode --> completeOrder

步骤说明

  1. 用户在结算页选择自提(deliveryType=2),并选定自提点或门店。
  2. 订单支付成功后,系统生成自提码 pickupSn,并在订单详情、消息通知中展示给用户。
  3. 消费者到店向店员出示自提码(二维码或数字串)。
  4. 店员在核销端扫描条码或输入 pickupSn,系统校验订单状态、是否本人取货与是否重复核销。
  5. 核销成功即视为履约完成,订单进入已完成;若支持部分提货,按平台规则拆分或多次核销。

特别说明

  • pickupSn 应具备唯一性与防伪造设计(如短链加密、时效控制),重复核销须拒绝并记录审计日志。
  • 自提不涉及快递轨迹;若误选配送方式,需走订单修改或取消重建流程(依平台规则)。

云打印发货单流程

说明:运营在后台绑定飞鹅云等云打印设备与打印机,订单进入发货环节时自动触发打印任务,输出发货单或电子面单,并回写打印结果便于对账与补打。

参与角色:平台运营(打印配置)、商家、云打印服务商(如飞鹅云)、订单发货事件、门店或仓库终端。

flowchart TD
    setupDevice["配置云打印设备"]
    bindPrinter["绑定打印机"]
    onShip["订单发货触发打印"]
    printDocs["打印发货单或快递面单"]
    feedbackStatus["打印状态反馈"]
    setupDevice --> bindPrinter
    bindPrinter --> onShip
    onShip --> printDocs
    printDocs --> feedbackStatus

步骤说明

  1. 在管理端或店铺端进入云打印配置,录入云服务商账号、门店/终端标识及 API 密钥(按飞鹅云等文档完成授权)。
  2. 将逻辑打印机与实体设备绑定:指定默认打印机用途(发货单、取餐小票、电子面单等)。
  3. 订单执行「确认发货」或进入可打印状态时,系统根据模板组装打印内容并调用云打印 API 下发任务。
  4. 终端出纸:可能为发货明细、拣货单、快递一联单等,版式由模板与承运商要求决定。
  5. 云服务商异步返回打印成功/失败与任务 ID,系统记录状态并支持失败重试或人工补打。

特别说明

  • 网络与设备离线会导致打印失败,应在 UI 提示并保留「重新打印」入口;敏感信息打印须符合隐私与合规要求。
  • 云打印与物流单号录入可并行:建议先确认单号再打面单,避免重打浪费(具体顺序以仓库 SOP 为准)。

物流与配送
Enter search text
Outline
物流与配送
运费模板配置流程
运费计算流程详解
物流发货与跟踪流程
同城配送流程
到店自提流程
云打印发货单流程