import { SdkResponse } from './base.js';
/** 出库单状态推送——单个订单状态 */
export interface SaleOrderStatus {
    carrierCode?: string | null;
    carrierProductCode?: string | null;
    selfPickup?: string | null;
    orgCarrier?: string | null;
    orgCarrierProduct?: string | null;
    /** 仓库编码（必填） */
    WarehouseCode: string;
    /** 客户订单号（必填） */
    ErpOrder: string;
    /** ERP 订单类型（可选） */
    ErpOrderType?: string;
    /** 运单号（可选） */
    WayBillNo?: string;
    /** 回单号（可选） */
    DeliveryProof?: string;
    /** 出库单号（可选） */
    ShipmentId?: string;
    /** 波次号（可选） */
    Waves?: string;
    /** 车号（可选） */
    CartNum?: string;
    /** 格号（可选） */
    GridNum?: string;
    /** 平台交易单号（可选） */
    TradeOrder?: string;
    /** 承运商（可选） */
    Carrier?: string;
    /** 承运商产品（可选） */
    CarrierProduct?: string;
    /** 是否已拆单（默认 N） */
    IsSplit?: 'Y' | 'N';
    UserDef1?: string;
    UserDef2?: string;
    UserDef3?: string;
    UserDef4?: string;
    UserDef5?: string;
    UserDef6?: string;
    UserDef7?: string;
    /** 预留字段 */
    UserDef8?: string;
    /** 异常原因说明 */
    OrderExceptionReason?: string;
    /** 异常列表概括 */
    ExceptionList?: string;
    /** 异常代码标记 */
    OrderExceptionFlag?: string;
    /** 系统来源 */
    SysSource?: string;
    /** 拦截原因 */
    InterceptReason?: string;
    /** 拦截原因说明 */
    InterceptReasonRemark?: string;
    /** 订单状态 */
    DataStatus?: string;
    /** 状态推进步骤列表 */
    Step?: Array<{
        orgStatus?: string | null;
        /** 处理时间 (YYYY-MM-DD HH:mm:ss) */
        EventTime?: string;
        /** 处理地点 */
        EventAddress?: string;
        /** 处理状态码 */
        Status?: string;
        /** 描述说明 */
        Note?: string;
        /** 预留字段 */
        UserDef1?: string | null;
        UserDef2?: string | null;
        UserDef3?: string | null;
        UserDef4?: string | null;
        UserDef5?: string | null;
        UserDef6?: string | null;
        UserDef7?: string | null;
        UserDef8?: string | null;
    }>;
    SaleOrderDetail?: string | null;
}
/** 请求报文结构 */
export interface SaleOrderStatusRequest {
    /** 服务码（必填） */
    ServiceCode: string;
    Body: {
        /** 货主编码（必填） */
        CompanyCode: string;
        /** 唯一事务 ID（必填） */
        TransactionId: string;
        /** 订单状态列表（至少一项） */
        SaleOrders: SaleOrderStatus[];
    };
}
/** 响应 Body */
export interface SaleOrderStatusResponseBody {
    /** 1=成功,2=失败（必填） */
    Result: '1' | '2';
    /** 失败备注（可选） */
    Note?: string;
}
/** 出库单状态推送接口响应 */
export type SaleOrderStatusResponse = SdkResponse & SaleOrderStatusResponseBody;
