use crate::Request;
use serde::{Deserialize, Serialize};
#[derive(Serialize, Deserialize, Debug, Default)]
pub struct PddTraceSourceUploadPlanInfo {
#[serde(rename = "arrive_time")]
pub arrive_time: Option<String>,
#[serde(rename = "bill_no")]
pub bill_no: Option<String>,
#[serde(rename = "ciq_date")]
pub ciq_date: Option<String>,
#[serde(rename = "ciq_no")]
pub ciq_no: Option<String>,
#[serde(rename = "dealer_org")]
pub dealer_org: Option<String>,
#[serde(rename = "declare_org")]
pub declare_org: Option<String>,
#[serde(rename = "desp_port_name")]
pub desp_port_name: Option<String>,
#[serde(rename = "entry_date")]
pub entry_date: Option<String>,
#[serde(rename = "entry_no")]
pub entry_no: Option<String>,
#[serde(rename = "goods")]
pub goods: Option<Vec<Goods>>,
#[serde(rename = "list_date")]
pub list_date: Option<String>,
#[serde(rename = "list_no")]
pub list_no: Option<String>,
#[serde(rename = "load_port")]
pub load_port: Option<String>,
#[serde(rename = "mall_id")]
pub mall_id: Option<i64>,
#[serde(rename = "mall_name")]
pub mall_name: Option<String>,
#[serde(rename = "plan_active_time")]
pub plan_active_time: Option<String>,
#[serde(rename = "plan_created_time")]
pub plan_created_time: Option<String>,
#[serde(rename = "plan_no")]
pub plan_no: Option<String>,
#[serde(rename = "port")]
pub port: Option<String>,
#[serde(rename = "transport_mode")]
pub transport_mode: Option<String>,
#[serde(rename = "warehouse_name")]
pub warehouse_name: Option<String>,
}
#[derive(Serialize, Deserialize, Debug, Default)]
pub struct Goods {
#[serde(rename = "code_amount")]
pub code_amount: Option<i64>,
#[serde(rename = "end_serial_no")]
pub end_serial_no: Option<String>,
#[serde(rename = "goods_id")]
pub goods_id: Option<i64>,
#[serde(rename = "goods_image_url")]
pub goods_image_url: Option<String>,
#[serde(rename = "goods_name")]
pub goods_name: Option<String>,
#[serde(rename = "goods_origin")]
pub goods_origin: Option<String>,
#[serde(rename = "goods_property")]
pub goods_property: Option<String>,
#[serde(rename = "goods_sku_no")]
pub goods_sku_no: Option<String>,
#[serde(rename = "hs_code")]
pub hs_code: Option<String>,
#[serde(rename = "hs_name")]
pub hs_name: Option<String>,
#[serde(rename = "start_serial_no")]
pub start_serial_no: Option<String>,
}
impl Request for PddTraceSourceUploadPlanInfo {
fn get_type() -> String {
"pdd.trace.source.upload.plan.info".to_string()
}
fn get_response_name() -> String {
"response".to_string()
}
}